freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Devel] Fonts with glyphs containing zero contours


From: Keith Packard
Subject: Re: [Devel] Fonts with glyphs containing zero contours
Date: Thu, 07 Feb 2002 13:47:24 -0800

Around 22 o'clock on Feb 7, =?ISO-8859-1?Q?Detlef_W=FCrkner?= wrote:

> Maybe this font is broken. I have a msmincho.ttc (~9MB) and a
> msmincho.ttf (~5MB) with MS copyright that contain many embedded sfnt
> bitmaps, your version (~3MB) might be generated by a converter that
> stripped the copyright notice and the bitmaps without correcting the
> charmap if no outline was there?

That's more than possible; I don't know frankly recall where this font
came from.  I was under the impression that msmincho.ttf was supposed to
hold bitmaps, but clearly the one I have doesn't.  If it did, would the
system advertise the font as scalable?  And would there be glyphs that were
only available as bitmaps and not outlines?

> While answering to you, can you confirm that the two versions of accelerator
> tables saved in a PCF file never contain *compressed* metrics?

Yes, my recollection is that the accelerator tables never use compressed
metrics.  Reading the X pcf code, I find:

        static Bool
        pcfGetAccel(FontInfoPtr pFontInfo, FontFilePtr file, 
                    PCFTablePtr tables, int ntables, CARD32 type)
        ...
            if (!pcfGetMetric(file, format, &pFontInfo->minbounds))
                goto Bail;
            if (!pcfGetMetric(file, format, &pFontInfo->maxbounds))
                goto Bail;
            if (PCF_FORMAT_MATCH(format, PCF_ACCEL_W_INKBOUNDS)) {
                if (!pcfGetMetric(file, format, &pFontInfo->ink_minbounds))
                    goto Bail;
                if (!pcfGetMetric(file, format, &pFontInfo->ink_maxbounds))
                    goto Bail;
            } else {
                pFontInfo->ink_minbounds = pFontInfo->minbounds;
                pFontInfo->ink_maxbounds = pFontInfo->maxbounds;
            }

> And have you read that the AVERAGE_WIDTH property in some XFree86 BDF fonts
> is a string, not an integer ("144" not 144)?

That's vaguely possible, in any case you should ignore AVERAGE_WIDTH.  It's
an escapement value, not a bounding box value.  For constant escapement
fonts (monospace), the metrics should give you the correct escapement.

Keith Packard        XFree86 Core Team        Compaq Cambridge Research Lab



reply via email to

[Prev in Thread] Current Thread [Next in Thread]