Find a file
Adrian Johnson 8887fb3593 Fix PS/PDF Type 1 font embedding when glyph 0 is used
cairo-scaled-fonts-subsets.c reserves position 0 in each subset for
glyph 0 (.notdef) as the font embedding of each font type requires
.notdef as the first glyph. For some reason this was done by reserving
the position then inserting glyph 0 in the collect function instead of
just adding the glyph to the hash table when the subset is
created. The problem this caused was that when an application called
show_glyphs() with glyph 0, the glyph was added to the hash table
(because it was not already there) resulting in two .notdef glyphs in
the subset. This resulted in breakage in the Type 1 subsetting where
the second .notdef was not emitted and all subsequent glyphs were
moved up one place resulting in incorrect font encoding in the PS/PDF
output.

Fix this by adding .notdef to the subset hash table when the subset is
created.

This fixes #13841.
2008-01-20 01:33:56 +10:30
boilerplate [cairo-xlib] Fixup --disable-xlib-xrender 2008-01-15 13:08:53 +00:00
doc Annoying churn of sgml templates 2007-10-30 08:18:55 -07:00
perf [test] Fixup make check for mingw 2008-01-10 17:10:12 +00:00
src Fix PS/PDF Type 1 font embedding when glyph 0 is used 2008-01-20 01:33:56 +10:30
test Add a1-image-sample and a1-traps-sample tests 2008-01-18 12:41:57 -08:00
util [util/malloc-stats.c] Add a public function malloc_stats() 2007-12-10 14:38:48 -05:00
.gitignore [gitignore] Add mkinstalldirs. 2008-01-10 17:59:33 +00:00
acinclude.m4 Use the "-" option (instead of "-a") when calling "strings" 2006-12-30 21:14:14 -08:00
AUTHORS Change of email address. 2007-04-14 15:28:29 +01:00
autogen.sh [autogen.sh] Tolerate tput failure (#12757) 2007-10-15 17:31:50 -04:00
BIBLIOGRAPHY Add references to the skiplist paper 2007-04-08 22:56:30 -04:00
BUGS Add notes on reporting bugs to BUGS file and move bugs listed there to ROADMAP instead. 2006-08-18 15:02:24 -07:00
ChangeLog.mk [ChangeLog.mk] Fix changelog generation rules 2007-10-09 15:54:58 -04:00
CODING_STYLE [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
configure.in Increment version to 1.5.7 after the 1.5.6 snapshot 2008-01-16 10:47:46 -08:00
COPYING Add perceptualdiff program totest/pdiff. 2006-11-29 22:40:28 -08:00
COPYING-LGPL-2.1 Add the MPL as a new license option, in addition to the LGPL. 2004-09-04 06:38:34 +00:00
COPYING-MPL-1.1 Add the MPL as a new license option, in addition to the LGPL. 2004-09-04 06:38:34 +00:00
gtk-doc.make s/dist-hook/dist-hook-local/ 2006-07-28 18:18:50 -04:00
INSTALL Update INSTALL about status of backends 2007-06-19 11:48:43 -07:00
Makefile.am [Makefile.am] Another path massage for lcov. 2008-01-16 23:42:24 +00:00
Makefile.win32 [win32] Update win32 Makefiles 2007-08-28 10:54:18 -07:00
NEWS NEWS: Add notes for cairo 1.5.6 2008-01-16 09:48:54 -08:00
PORTING_GUIDE Update name from "0.5 porting guide" to "1.0 porting guide." 2005-08-24 08:46:02 +00:00
README [README] Remove the Dependencies section as it falls out of date easily 2007-12-01 22:44:54 -05:00
RELEASING [RELEASING] Update GNOME URL to point to 2.19 planning page 2007-05-01 19:20:06 -04:00
ROADMAP ROADMAP: Mark set PS level complete 2007-11-03 16:53:54 +10:30
TODO TODO: Remove PDF encoding issues 2007-10-03 23:10:15 +09:30

Cairo - Multi-platform 2D graphics library
http://cairographics.org

What is cairo
=============
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System, win32, and image buffers, as well as PDF, PostScript, and SVG
file output. Experimental backends include OpenGL (through glitz),
Quartz, XCB, BeOS, OS/2, and DirectFB.

Cairo is designed to produce consistent output on all output media
while taking advantage of display hardware acceleration when available
(for example, through the X Render Extension).

The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo include stroking and filling
cubic Bézier splines, transforming and compositing translucent images,
and antialiased text rendering. All drawing operations can be
transformed by any affine transformation (scale, rotation, shear,
etc.).

Cairo has been designed to let you draw anything you want in a modern
2D graphical user interface.  At the same time, the cairo API has been
designed to be as fun and easy to learn as possible. If you're not
having fun while programming with cairo, then we have failed
somewhere---let us know and we'll try to fix it next time around.

Cairo is free software and is available to be redistributed and/or
modified under the terms of either the GNU Lesser General Public
License (LGPL) version 2.1 or the Mozilla Public License (MPL) version
1.1.

Where to get more information about cairo
=========================================
The primary source of information about cairo is:

	http://cairographics.org/

The latest releases of cairo can be found at:

	http://cairographics.org/releases

Snapshots of in-development versions of cairo:

	http://cairographics.org/snapshots

The programming manual for using cairo:

	http://cairographics.org/manual

Mailing lists for contacting cairo users and developers:

	http://cairographics.org/lists

Answers to some frequently asked questions about cairo:

	http://cairographics.org/FAQ

Compiling
=========
See the INSTALL document for build instructions.

History
=======
Cairo was originally developed by Carl Worth <cworth@cworth.org> and
Keith Packard <keithp@keithp.com>. Many thanks are due to Lyle Ramshaw
without whose patient help our ignorance would be much more apparent.

Since the original development, many more people have contributed to
cairo. See the AUTHORS files for as complete a list as we've been able
to compile so far.