[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [ft-devel] Left bearing in Dynalab DFHsm5.ttc true type font is not
From: |
Boris Letocha |
Subject: |
RE: [ft-devel] Left bearing in Dynalab DFHsm5.ttc true type font is not taken in account |
Date: |
Thu, 10 Jan 2008 14:13:23 +0100 |
Hi mpsuzuki,
Good work.
If you ttfdump this font you will see:
'head' Table - Font Header
--------------------------
Size = 54 bytes (expecting 54 bytes)
'head' version: 1.0
fontRevision: 1.0
checkSumAdjustment: 0xE3E0F883
magicNumber: 0x5F0F3CF5
flags: 0x0003- baseline(y)=0 - lsb(x)=0
So it looks like intentional, but even Arial.ttf has this flag set:
'head' Table - Font Header
--------------------------
Size = 54 bytes (expecting 54 bytes)
'head' version: 1.0
fontRevision: 3.0
checkSumAdjustment: 0xE6E8BAEA
magicNumber: 0x5F0F3CF5
flags: 0x081B- baseline(y)=0 - lsb(x)=0 - int ppem -
nonlin aw
But Arial rendering was not affected by this change.
Description for this flag on
http://www.microsoft.com/typography/otspec/head.htm
Says Bit 1: Left sidebearing point at x=0;. Not very clear to me
Need some time to debug it...
Thanks again,
Boris Letocha
> -----Original Message-----
> From: address@hidden [mailto:address@hidden
> Sent: Thursday, January 10, 2008 10:32 AM
> To: Boris Letocha
> Cc: address@hidden; address@hidden
> Subject: Re: [ft-devel] Left bearing in Dynalab DFHsm5.ttc true type
font
> is not taken in account
>
> Hi,
>
> On Thu, 10 Jan 2008 17:33:47 +0900
> address@hidden wrote:
> >I will start the tracking of the changeset from freetype-2.1.9
> >that causes the wrong behaviour.
>
> The change of src/truetype/ttgload.c on 2005-08-21
> causes this behaviour. The change is following.
> For detail, please check the changeset I downloaded
> from CVS.
>
> diff -u freetype2/src/truetype/ttgload.c:1.147
> freetype2/src/truetype/ttgload.c:1.148
> --- freetype2/src/truetype/ttgload.c:1.147 Sat Aug 20 08:17:44
2005
> +++ freetype2/src/truetype/ttgload.c Mon Aug 22 07:11:31 2005
> @@ -2057,8 +2057,9 @@
> glyph->outline = loader.gloader->base.outline;
> glyph->outline.flags &= ~FT_OUTLINE_SINGLE_PASS;
>
> - /* translate array so that (0,0) is the glyph's origin */
> - if ( loader.pp1.x )
> + /* In case bit 1 of the `flags' field in the `head' table
isn't
> */
> + /* set, translate array so that (0,0) is the glyph's origin.
> */
> + if ( ( face->header.Flags & 2 ) == 0 && loader.pp1.x )
> FT_Outline_Translate( &glyph->outline, -loader.pp1.x, 0 );
> }
>
> If I reverse the change on CVS HEAD, the behaviour will be
> that Boris expected. Werner, could you inform us the buggy
> fonts that the change was written for?
>
> Regards,
> mpsuzuki