[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] Some PDF embedded CFF fonts loading broken
From: |
Tor Andersson |
Subject: |
Re: [ft-devel] Some PDF embedded CFF fonts loading broken |
Date: |
Mon, 5 Jul 2010 00:29:29 +0200 |
Werner,
The CFF fonts in question have been generated with FontForge.
One of the fonts that exhibits these errors is:
http://mupdf.com/repos/mupdf/fonts/NimbusSanL-Regu.cff
If there is a flaw in the font file, I'd be more than happy to
regenerate them with a different version of fontforge.
On Sun, Jul 4, 2010 at 11:53 PM, Werner LEMBERG <address@hidden> wrote:
>>> However, the constant `3' is probably wrong. Please try this line
>>> instead:
>>>
>>> if ( ( ip + 1 + ( ( decoder->num_hints + 7 ) >> 3 ) ) >= limit )
>>
>> Yes that works.. (FWIW the "ip + 3..." is exactly limit in this case)
>
> Thanks for testing. As a final check, could you determine the next
> instruction after `hintmask' (or `cntrmask') and its data bytes?
> Theoretically, it must be `return'.
>
> Otherwise, it's getting hairy. FreeType always assumes that operators
> are atomic. This holds for `hintmask' and `ctrlmask' also; however,
> both instructions can have a variable number of bytes *following* the
> instruction (contrary to normal instructions which expect its
> arguments already on the stack). Adobe's Type 2 technical note
> doesn't mention whether it is possible to have, say,
>
> in subroutine:
> ctrlmask
> return
>
> after returning:
> data byte 1 for ctrlmask
> data byte 2 for ctrlmask
> ...
>
>
> Werner
>
> _______________________________________________
> Freetype-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/freetype-devel
>
>