[cairo] Re: [cairo-commit] 5 commits - src/cairo-pdf-surface.c
src/cairo-ps-surface.c
src/cairo-scaled-font-subsets-private.h src/cairo-truetype-subset.c
src/cairo-type1-fallback.c src/cairo-type1-subset.c
Adrian Johnson
ajohnson at redneon.com
Mon Oct 16 15:44:42 PDT 2006
Behdad Esfahbod wrote:
> On Sun, 2006-10-15 at 09:57 -0400, Adrian Johnson wrote:
>> diff-tree 753763ff258760688ef5a594a204fa8f2be7e4a4 (from
>> 216c759d463ca407e1baea4090c782074567cbe2)
>> Author: Adrian Johnson <ajohnson at redneon.com>
>> Date: Sun Oct 15 23:09:35 2006 +0930
>>
>> Type1 subsetting: Don't put .notdef in Encoding when there are 256
>> glyphs
>>
>> Type1 subsetting adds the .notdef glyph to the subset because the
>> Type 1
>> spec requires that it be defined. However if the subset already
>> has
>> 256 glyphs, this will cause the Encoding vector to have 257
>> entries
>> which ghostscript does not like.
>
> Hi Adrian,
>
> How does it compare to the PS standard? Shouldn't every font have
> a .notdef glyph?
>
The .notdef charstring is still defined in the font as required. .notdef
is only required in unused positions in the Encoding array.
The Encoding array is initialized to .notdef
0 1 255 {1 index exch /.notdef put} for
followed by a put for each glyph
dup 0 /A put
dup 1 /B put
dup 2 /C put
...
dup 256 /.notdef put
My patch removes the last .notdef put.
More information about the cairo
mailing list