[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CFF driver fixed (Re: misalignment with DEC Unix.)
From: |
Tom Kacvinsky |
Subject: |
Re: CFF driver fixed (Re: misalignment with DEC Unix.) |
Date: |
Wed, 28 Jun 2000 11:34:56 -0400 (EDT) |
Well, well, well... This ROCKS! The OpenType CJKV fonts I have
laying around here at the AMS all work very well.
Unfortunately, I am still getting the mis-aligned access messages for
the DEC Unix compile. Note that I don't get a core dump unless I
force it; the kernel normally just spews tons of unaligned access
errors to stderr. Bleah!
Tom
On Wed, 28 Jun 2000, David Turner wrote:
> Hello,
>
> I'm glad to let you know that the CFF driver is now fixed
> and supports CID-keyed fonts correctly :-)
>
> The "unexpected crash" and various misalignment problem came
> from a bug in the CFF parser (namely, the definition of the
> T2_FIELD_DELTA was incorrect).
>
> The "zero advance width" problem was due to a really mundane
> bug too in the glyph loader...
>
> I have only tried it with STSong-Light-Acro, but it seems to
> run well. I welcome any comments :-)
>
> The list of font formats supported by FreeType 2 is now:
>
> - TrueType
> - Type 1
> - Type 1 Multiple Masters
> - Type 1 CID-keyed
> - OpenType/CFF
> - OpenType/CFF CID-keyed
>
> I'll probably add support to pure CFF + the new Adobe SVG "CEF" font
> format soon..
>
> Cheers,
>
> - David
>
>
> PS: For the technicaly inclined, the macro definition now reads:
>
> #undef T2_FIELD_DELTA
> #define T2_FIELD_DELTA( code, name, max ) \
> { \
> t2_kind_delta, \
> code | T2CODE, \
> (FT_UInt)(char*)&T2_REF( T2TYPE, name ), \
> sizeof( T2_REF( T2TYPE, name )[0] ), \
> 0, \
> max, \
> (FT_UInt)(char*)&T2_REF( T2TYPE, num_ ## name ) \
> },
>
> instead of the previous:
>
> #undef T2_FIELD_DELTA
> #define T2_FIELD_DELTA( code, name, max ) \
> { \
> t2_kind_delta, \
> code | T2CODE, \
> (FT_UInt)(char*)&T2_REF( T2TYPE, name ), \
> >>>>>>>> sizeof( T2_REF( T2TYPE, name ) ), \
> 0, \
> max, \
> (FT_UInt)(char*)&T2_REF( T2TYPE, num_ ## name ) \
> },
>
> Pretty stupid things, with causes an invalid pointer typecast
> later..
>
> Tom Kacvinsky a écrit :
> >
> > Well, the Linux crashing bug is fixed, and I am going to attempt
> > a new DEC compile. What was the problem? I couldn't find it...
> >
> > The CFF/CID stuff is coming along nicely. The glyphs still image over one
> > another, but I no longer get invalid subr. # errors. Which is good.
> >
> > Tom
> >
> > On Tue, 27 Jun 2000, David Turner wrote:
> >
> > > Hi Tom,
> > >
> > > >
> > > > 140000190 140000192 140000192 140000194 6
> > > >
> > > > It would appear that I am mistaken. If I change the short to char, I
> > > > get this
> > > > output:
> > > >
> > > > 140000190 140000191 140000191 140000192 3
> > > >
> > > > Silly me. But I know casting is one thnig that can cause mis-alignment.
> > > > I'll try to find an example...
> > > >
> > > Seems normal there. Casting can cause mis-alignment when it is done
> > > incorrectly (which means a bug in the code, rather than a specific
> > > nastiness of 64-bit systems, and I'd say that I prefer that than having
> > > to review all of FreeType's code :-)
> > >
> > > Thanks for the output, I'm still trying to find the bug(s)..
> > >
> > > Cheers,
> > >
> > > - David
> > >
> > > > Tom
> > >
>