[Fontconfig] Localizing font family and style names

Keith Packard keithp at keithp.com
Tue Nov 30 07:52:44 EST 2004

Around 15 o'clock on Nov 29, Owen Taylor wrote:

> I select a font in the font dialog, it's saved in my preferences,
> I change locale and it stops working?

No, the idea was to identify the 'native' name for each font and use that 

> An application uses a font name, the next release of the font adds
> a new translation of the font name into a local language, and 
> the font is no longer found?

That would be possible, but it seems unlikely that a font would suddenly 
sprout a 'native' name when previously it had none.  I suppose this could 
happen is if the font was originally distributed in Type1 format and 
provided only a Postscript name and then was converted to TrueType and had 
the native name added.  However, this is just as likely to result in a 
change in the English family name; Type1 fonts often provide only a full 
face name from which the family must be extracted.

> I strongly believe that fonts should have a canonical "programmatic"
> name that is basically independent of locale. Since this isn't a 
> feature of font formats (well, other than postscript names), we can't
> truly provide this. 

Yes, locale independence is an absolute requirement.  But, that doesn't 
demand that we use the same language for every font.  Identifying the 
'native' name for the font would permit us to have both a canonical name 
and a suitable presentation for the expected target audience.

> But using the ASCII/Latin name as is done currently by FreeType for
> the primary name of the font comes close.

FreeType doesn't really identify the ASCII/Latin names correctly.  
Fontconfig has to grub around in the font to try and identify a suitable 
candidate.  And, Fontconfig currently lacks the ability to transcode names 
from non-Unicode encodings; dealing with localized names will require 
the use of iconv.

> Though I guess the question is "how do Chinese-language web pages
> specify fonts"; if using Chinese language family names in chinese web
> pages is common, then that probably argues that matching against
> non-canonical names is important.

Yes, I've seen this as well.  A canvas of font names used on web pages 
might be useful here to see how prevalent the English names of these fonts 

> > Another possibility is to provide all of the names in the FC_FAMILY pattern
> > element.
> Can you do this in a way that isn't going to break existing applications
> that use the listing APIs? 

I think it's a requirement that we make it work with existing applications 
(unless that proves impossible).  Pattern elements can contain multiple 
values; applications (presumably) examine only the first value in each 
element, so placing the 'right' name in this location should make things 
just work. 

The selection of 'right' is problematic.  While it would be nice to sort
these based upon current locale (or lang tag specification), I'd really
like to leave things in fixed order and provide a convenience function to
extract the 'appropriate' presentation name in each environment.

> > A third possibility is to present each font multiple times
> I'd dislike this one quite a bit. Applications that want to do simple
> things should be able to do them simply. Plus it sounds hard to do
> this without causing further memory-footprint and time overhead.

The appeal here is precisely to avoid the above issue of potential 
incompatibility.   Presenting these fonts multiple times ensures 
compatibility with existing applications while also permitting changes in 
applications that would produce better results.

But, if the effort for making this acceptable to users is greater than the 
effort for using a less compatible mechanism, then I suspect we should 
look elsewhere for a solution.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/fontconfig/attachments/20041129/70d1fbfc/attachment.pgp

More information about the Fontconfig mailing list