[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Devel] Freetype & Ascent
From: |
Ken Hancock |
Subject: |
RE: [Devel] Freetype & Ascent |
Date: |
Thu, 1 Jul 2004 14:35:51 -0500 |
No, no one ever responded. I ended up reading the OS/2 table directly and
doing my own calculations.
> -----Original Message-----
> From: address@hidden
> [mailto:address@hidden On Behalf Of Keith Trummel
> Sent: Monday, June 28, 2004 4:35 PM
> To: 'address@hidden'
> Subject: RE: [Devel] Freetype & Ascent
>
> I was searching my old email to see if anyone responded to
> this, but I couldn't find a response.
>
> I am encountering a similar problem. I have a font where the
> ascender and descender are 0, but in the OS/2 metric table
> they seem to be correct. So I also was wondering why despite
> the comments the code to use the OS/2 info is commented out.
>
> I also noticed that that code appears to be wrong in a couple of ways.
> First, I would think the check should be:
>
> if ( face->os2.version != 0xFFFF && root->ascender == 0 )
>
> instead of:
>
> if ( face->os2.version != 0xFFFFU && root->ascender )
>
> Also I think the root->descender should be set as follows:
>
> root->descender = face->os2.sTypoDescender;
>
> instead of:
>
> root->descender = -face->os2.sTypoDescender;
>
> and then the height computed using the negative of the descender.
>
> Keith Trummel
>
> -----Original Message-----
> From: Ken Hancock [mailto:address@hidden
> Sent: Wednesday, May 19, 2004 3:17 PM
> To: address@hidden
> Subject: [Devel] Freetype & Ascent
>
>
> I noticed the following code in sfobjs.c is commented out:
>
> /* XXX: Computing the ascender/descender/height is
> very different */
> /* from what the specification tells you.
> Apparently, we */
> /* must be careful because
> */
> /*
> */
> /* - not all fonts have an OS/2 table; in this
> case, we take */
> /* the values in the horizontal header.
> However, these */
> /* values very often are not reliable.
> */
> /*
> */
> /* - otherwise, the correct typographic values
> are in the */
> /* sTypoAscender, sTypoDescender &
> sTypoLineGap fields. */
>
> Is sTypoAscender (caps height) exposed anywhere? I would
> think that it's required for proper center justification
> since as far as I can tell diacriticals and decenders are
> normally not taken into account when determining the center
> position of text in a bounding box.
>
> penPos.y = (bounds.bottom - bounds.top) / 2 + //
> center of bounding box
> (pix_height * sTypoAscender / 2) - // move
> down by caps
> height
> (pix_height * face->ascent) // move
> back up to
> top of glyph bounding box
>
> Arial, for example sets the following values:
>
> Ascent: 1854
> Descent: 434
> Em Squre: 2048
> Leading: 67
>
> OS/2 metric table:
> Typographic
> Ascent: 1491 (caps height of 'A')
> Descent: 431
> Line Gap: 307
>
> Windows
> Ascent: 1854
> Descent: 434
>
>
> _______________________________________________
> Devel mailing list
> address@hidden
> http://www.freetype.org/mailman/listinfo/devel
>
> _______________________________________________
> Devel mailing list
> address@hidden
> http://www.freetype.org/mailman/listinfo/devel
>
- RE: [Devel] Freetype & Ascent,
Ken Hancock <=