LWN.net Logo

Advertisement

Front, Kernel, Security, Distributions, Development. See your byline here on LWN.net.

Advertise here

Linux Libertine Could Rule!

Linux Libertine Could Rule!

Posted Jan 22, 2009 21:31 UTC (Thu) by spitzak (guest, #4593)
In reply to: Linux Libertine Could Rule! by nim-nim
Parent article: Finding and using free fonts

Yes it is possible to "mix" fonts, but the current way fontconfig/pango/etc does it is pretty useless and makes Linux as bad as Windows and considerably worse than OS/X.

Users think of choosing a single "font" and the font is called some SHORT and PORTABLE (to Windows) name like "Times", and the existence is controlled by the existence of a single file called "Times.ttf" on their computer. And if some Chinese glyph is not in that font, the user does NOT think this means "draw that glyph as a box". They want it to mean "draw the default version of that Chinese glyph".

Instead fontconfig should take a single name for a font. All glyphs not in that font file are instead taken from the "fallback set" of font files. This fallback set could be defined with some enormously complex config file (it likely also defines how to compose letters from the selected font, and might make decisions about obliqueing any letters if the chosen font is italic, etc). But this complexity is hidden from users as they never change it, they just choose fonts from the nice list of short string names.

In addition programmers do NOT want to use Pango and define "font sets" just so they can have a reasonable chance of printing a large number of Unicode glyphs. A "font set" is not portable and does not cleanly store in a small string that can be shown to the user or work cross-platform! Fontconfig/Xft and the Cairo "toy" interface should be fixed so that a font can be chosen with a small and reasonably-portable string and all glyphs appear (from the above font fallback) ALL THE TIME!


(Log in to post comments)

Linux Libertine Could Rule!

Posted Jan 22, 2009 22:03 UTC (Thu) by ncm (subscriber, #165) [Link]

Yes, spitzak has elaborated clearly on what I had in mind. It might not actually help sasha, for the case of cyrillic characters, because Libertine actually has those characters, and sasha dislikes them. It's easy to imagine complicated ways to satisfy him, but complicated ways are unsatisfactory. It would be better all around for fonts to include only attractively rendered glyphs, and for fonts to have consistent, attractive glyphs for as many code points as possible. Perhaps this means Philipp should pull the cyrillic glyphs from his releases until they can be brought to match the (superb!) quality of his roman-based glyphs. (I am not myself equipped to evaluate the quality of his cyrillic glyphs.) Then sasha would see, under spitzak's scheme, whatever he chose as the default for those code points.

Linux Libertine Could Rule!

Posted Jan 23, 2009 10:27 UTC (Fri) by nim-nim (subscriber, #34454) [Link]

"This fallback set could be defined with some enormously complex config file"

You decided to ignore the army of fairies that would be required to maintain such a config file. This kind of static aliasing design only ever works when your font offering is static and limited, which is not the case on modern systems.

I want a pony too.

PS: pango and fontconfig have been heavily inspired by the CSS font resolution mechanism, so your "toy" interface is what powers the web today. 1:1 fontname <=> font file selection just does not scale

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds