[Fontconfig] alternate names [was: Two missing features]
Keith Packard
keithp at keithp.com
Fri Oct 17 03:39:37 EST 2003
Around 16 o'clock on Oct 16, Juliusz Chroboczek wrote:
> I suggest a new property of FcFonts that holds an a-list of all the
> alternate names. Naive applications will only get the primary name;
> wiser applications will get all the names.
That will complicate matching semantics quite a bit -- you'll want to
consider matches against either the primary name and the alternate names
as equivalent in matching priority. What I could do is have the existing
FcFontList API return only one name (primary? alternate for current
locale?) and then provide another API to return other names (provide a
language tag? return all names?)
> We also need an API to get a font by another name; scanning all fonts
> and building a database of all alternate names is of course
> prohibitive. I suggest having two variants of the font listing
> interface, one that only considers primary names, one that uses all of
> the names.
If we place all of the names in the FC_FAMILY entry, then the existing
listing code will work correctly as-is. The only question is what values
are returned by FcFontList. I think it would be nice if it returned
localized names by default, but I can see arguments for having it always
return names that can be represented in ASCII (or Latin-1).
> (OT: is there any way the application can find out whether the font
> database has changed since a given date? That would be useful for
> applications wishing to cache font-related information.)
Not directly. You can use FcConfigUptoDate to see if the configuration
needs to be re-read, or you can use FcConfigGetConfigFiles and
FcConfigGetFontDirs to retrieve lists of filenames that encompass the whole
configuration state. Stat'ing those will let you compute when the
configuration may have changed.
> The issue has come up already when we were trying to do all fonts
> localisation (including core fonts) through fontconfig; you want fontconfig
> to provide you with the XLFD name when it cannot be easily derived from the
> fonts real name.
I'm assuming you mean the XLFD-modified family name here, and not the
complete XLFD name. For the complete XLFD name, I'd like to figure out
what additional properties are necessary to accurately compute that string.
> I have no doubt that people will come up with other strange needs.
XLFD is probably the strangest of them...
-keith
More information about the Fontconfig
mailing list