[Fontconfig] Early results with multi lingual fontconfig names

Keith Packard keithp at keithp.com
Sat Dec 4 16:58:33 EST 2004


I've gone ahead and added support for multiple family and style names to
fontconfig.  The results are encouraging.  Here's a selection of family
names for fonts which provide multiple families.  Note that the 'familylang'
property is supposd to parallel the family property, and it generally does.

<evo fonts> fc-list : family familylang | grep ,
AR PL Mingti2L Big5,文鼎PL細上海宋:familylang=en,zh-tw
Baekmuk Dotum,백묵 돋움:familylang=en,ko
DFSongStd,華康標準宋體:familylang=en,zh-tw
Graphite Light ATT,Graphite Light CE ATT:familylang=en,pl
Graphite Light Narrow ATT,Graphite Light Narrow CE ATT:familylang=en,pl
GulimChe,굴림체:familylang=en,ko
Kochi Mincho,東風明朝:familylang=xx,ja
SimSun,宋体:familylang=en,zh-cn
MS ゴシック,MS Gothic:familylang=xx,en
MingLiU_HKSCS,細明體_HKSCS:familylang=en,zh-tw
Dotum,돋움:familylang=en,ko
NSimSun,新宋体:familylang=en,zh-cn
Baekmuk Batang,백묵 바탕:familylang=en,ko
Kochi Gothic,東風ゴシック:familylang=xx,ja
AR Mingti Light B5,文鼎細明:familylang=en,zh-tw
Baekmuk Headline,백묵 헤드라인:familylang=en,ko
DotumChe,돋움체:familylang=en,ko
AR PL KaitiM Big5,文鼎PL中楷:familylang=en,zh-tw
extended\-watanabe\-mincho,拡張Watanabe明朝,b畧5:familylang=en,ja,ja
Gulim,굴림:familylang=en,ko
AR PL KaitiM GB,文鼎PL简中楷:familylang=en,zh-cn
Baekmuk Gulim,백묵 굴림:familylang=en,ko
UnBatang,은 바탕:familylang=xx,ko
AR PL SungtiL GB,文鼎PL简报宋:familylang=en,zh-cn

(Interesting that Graphite appears to include Polish names; fontforge, at
least agrees with fontconfig)

And, as discussed, I found all of the MS fonts had *many* representations
for styles:

<evo fc-list> fc-list : family familylang style stylelang | grep 'style=.*,'
...
Courier New:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,Lodi etzana:stylelang=xx,ca,cs,da,de,el,es,fi,fr,hu,it,nl,no,pl,pt,ru,sk,sv,tr,sl,eu
Haettenschweiler:familylang=en:style=Regular,normal,Standard,Normaali,Normale,Standaard:stylelang=en,da,de,fi,it,nl
Trebuchet MS:familylang=en:style=Italic,Cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,Kursywa,Itálico,Курсив,Poševno,İtalik,Etzana:stylelang=en,ca,cs,da,el,fi,fr,hu,it,nl,pl,pt,ru,sk,tr,eu
...

What I haven't done yet is produce a convenience API for looking through
this data to select an entry for presentation to the user.  I'd like a bit
of help figuring out how that should work.  As we discussed, there are
really three values one can present:

 1)	The English name (best for UIs which can't handle “real” text).

 2)	The “natural” name---the one which matches the intended language
 	of the font best. Given my experiences today, I suspect this
	is probably equal to 'the first non-english name', but that
	could well be wrong for some fonts.

 3)	The locale name---the one which matches the current locale
 	(or application provided 'lang' value) best.

Would people like two or three separate APIs?  Can we capture this
information in a single API without too much confusion?

Thanks to everyone for helping push multi lingual names in a reasonable
direction; let's finish up the API and see how well it works in practice.

-keith


-------------- 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/20041203/f7064e79/attachment.pgp


More information about the Fontconfig mailing list