Keith Packard
2005-Nov-21 08:51 UTC
[Fontconfig] Early results with multi lingual fontconfig names
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,????????: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 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,??????:familylang=en,zh-tw extended\-watanabe\-mincho,??Watanabe??,b?5:familylang=en,ja,ja Gulim,??:familylang=en,ko AR PL KaitiM GB,???????:familylang=en,zh-cn Baekmuk Gulim,?? ??:familylang=en,ko UnBatang,? ??:familylang=xx,ko AR PL SungtiL GB,???????: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