[Fontconfig] Re: freetype internals

Patrick Lam plam at MIT.EDU
Tue Dec 20 09:07:59 PST 2005


Keith Packard wrote:
> Yeah, I wouldn't be surprised if Adobe symbol fonts provided Unicode
> mappings for their glyphs. I'm sure there are other custom fonts which
> don't though, like maybe the LaTeX math fonts. I just don't want to skip
> legit fonts, I only want to skip bogus bitmaps.
> 
> Perhaps we can just use the presense of some BDF properties to detect
> BDF-derived non-Unicode bitmap fonts?

Is this perhaps what we want?  Do all fonts have to have PIXELSIZE?  I
couldn't find any way to enumerate all BDF props.

pat

Index: src/fcfreetype.c
===================================================================
RCS file: /cvs/fontconfig/fontconfig/src/fcfreetype.c,v
retrieving revision 1.60.2.10
diff -u -p -r1.60.2.10 fcfreetype.c
--- src/fcfreetype.c    19 Nov 2005 22:32:13 -0000      1.60.2.10
+++ src/fcfreetype.c    20 Dec 2005 17:01:33 -0000
@@ -1555,17 +1555,20 @@ FcFreeTypeQuery (const FcChar8  *file,
     }
 #endif

-#if 0
     /*
      * Skip over PCF fonts that have no encoded characters; they're
      * usually just Unicode fonts transcoded to some legacy encoding
+     * ftglue.c forces us to approximate whether a font is a PCF font
+     * or not by whether it has any BDF properties.  Try PIXELSIZE;
+     * I don't know how to get a list of BDF properties on the font. -PL
      */
     if (FcCharSetCount (cs) == 0)
     {
-       if (!strcmp(FT_MODULE_CLASS(&face->driver->root)->module_name,
"pcf"))
+#if HAVE_FT_GET_BDF_PROPERTY
+       if(FT_Get_BDF_Property(face, "PIXELSIZE", &prop) == 0)
            goto bail2;
-    }
 #endif
+    }

     if (!FcPatternAddCharSet (pat, FC_CHARSET, cs))
        goto bail2;



More information about the Fontconfig mailing list