On 5/21/07, <b class="gmail_sendername">Nicolas Spalinger</b> &lt;<a href="mailto:nicolas@spalinger.org">nicolas@spalinger.org</a>&gt; wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; There has been some confusion and dissatisfaction over the treatment of<br>&gt; fonts in Ubuntu for a some time now, and no common understanding of how to<br>&gt; improve the situation.&nbsp;&nbsp;I spent a little time thinking about this today, and
<br>&gt; would like to present some questions whose answers I hope will help us to<br>&gt; make some progress.<br>&gt;<br>&gt; Please correct me where I&#39;ve misunderstood, as I&#39;ve only done some cursory<br>&gt; research here.
<br><br>Hi Matt and everyone,<br><br>Thanks for raising these key issues. Here are some initial thoughts and<br>pointers from my perspective.<br><br>&gt; We seem to have:<br>&gt;<br>&gt; - Loads of fonts, in various formats (TrueType, Type-1/PostScript, PCF
<br>&gt;&nbsp;&nbsp; bitmap, Metafont, others?) supporting various character sets, of varying<br>&gt;&nbsp;&nbsp; quality<br>&gt;<br>&gt; - fontconfig, a font management framework which seems to be used by of the<br>&gt;&nbsp;&nbsp; applications we care about in one way or another.&nbsp;&nbsp;It catalogues the fonts
<br>&gt;&nbsp;&nbsp; on the system and is independent of any window system, font rasterizer,<br>&gt;&nbsp;&nbsp; etc.&nbsp;&nbsp;It just knows about fonts and provides an API to find a font based<br>&gt;&nbsp;&nbsp; on complicated matching criteria.<br>&gt;<br>
&gt; - DeFoMa, which attempts to allow packages to register fonts with whatever<br>&gt;&nbsp;&nbsp; font management frameworks might exist.<br>&gt;<br>&gt; - TeX.&nbsp;&nbsp;Enough said.<br><br>It&#39;s worth pointing out that with the new texlive2007 in Debian
<br>unstable, it&#39;s also possible to access TrueType/OpenType fonts from TeX<br>(including smart fonts) via extensions like Xetex:<br><a href="http://packages.debian.org/unstable/tex/texlive-xetex">http://packages.debian.org/unstable/tex/texlive-xetex
</a><br>(hats off to the Debian Tex task force!)<br><br>&gt; - freetype, a font rasterization engine which also has some font management<br>&gt;&nbsp;&nbsp; capabilities, also used by most applications we care about.&nbsp;&nbsp;Knows how to<br>
&gt;&nbsp;&nbsp; take fonts and strings and create bitmaps.<br>&gt;<br>&gt; - Xfont, which provides font services (including selection and rendering)<br>&gt;&nbsp;&nbsp; through the X server.&nbsp;&nbsp;This is basically obsolete in favour of client-side
<br>&gt;&nbsp;&nbsp; fonts.<br>&gt;<br>&gt; - Xft, a font API for X applications which uses freetype and supports<br>&gt;&nbsp;&nbsp; Xrender or plain X drawing to put text on a display.<br>&gt;<br>&gt; I don&#39;t know:<br>&gt;<br>&gt; - Exactly which pieces are used by GTK, Qt, XUL, etc. and how applications
<br>&gt;&nbsp;&nbsp; using those APIs ask for a font specification</blockquote><div><br>So gnome/kde have pretty much settled on using fontconfig+freetype+xft&nbsp; exclusively for their fonts (and rendering it client-side).&nbsp; There&#39;s very little new gui code now that doesn&#39;t use xft et al via some widget library dependency.
<br></div><br>Note that fontconfig, freetype and xft are different libraries designed to work together - and listing them as separate font pieces like thats a problem is a bit inaccurate.<br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; - Which applications ask for which font specifications, and where that&#39;s<br>&gt;&nbsp;&nbsp; configured (sometimes in the application itself, as in Firefox)<br><br>There&#39;s unification happening via the TextLayout summits bringing
<br>together the key font experts in the community:<br><a href="http://www.freedesktop.org/wiki/TextLayout">http://www.freedesktop.org/wiki/TextLayout</a><br><a href="http://live.gnome.org/Boston2006/TextLayout">http://live.gnome.org/Boston2006/TextLayout
</a><br><br>Some blog entries on these meetings:<br><a href="http://labs.trolltech.com/blogs/2007/03/30/working-towards-a-unified-text-layout-engine-for-the-free-desktop-software-stack/">http://labs.trolltech.com/blogs/2007/03/30/working-towards-a-unified-text-layout-engine-for-the-free-desktop-software-stack/
</a><br><a href="http://rants.scribus.net/2006/10/31/boston-text-layout-summit/">http://rants.scribus.net/2006/10/31/boston-text-layout-summit/</a><br><a href="http://mces.blogspot.com/2007/04/metrics-hinting-and-kerning-do-mix.html">
http://mces.blogspot.com/2007/04/metrics-hinting-and-kerning-do-mix.html</a><br><br>The next one will be hosted by Akademy 2007 and there will be a report<br>during GUADEC 2007:<br><a href="http://www.guadec.org/node/659">
http://www.guadec.org/node/659</a><br><br><br>&gt; - Which fonts are any good, and for which languages (no easy answer here)<br><br>Yes, we need an ongoing review and it&#39;s no easy task.<br><br>Some initial work has been started here:
<br><a href="http://www.freedesktop.org/wiki/Software/Fonts">http://www.freedesktop.org/wiki/Software/Fonts</a><br><a href="http://wiki.debian.org/DebianInstaller/GUIFonts">http://wiki.debian.org/DebianInstaller/GUIFonts</a>
<br><a href="http://unifont.org/fontguide/">http://unifont.org/fontguide/</a><br><br>And there are various ITPs underway for these fonts.<br><br>I really think the current selection of fonts in a default install needs<br>
some serious fixing. Certain packages need to be split, renamed, others<br>need to be moved back to universe as they are more decorative. The way<br>they tie in with langpacks probably also needs review.<br><br>&gt; - Which criteria are important for selecting which font to use in which
<br>&gt;&nbsp;&nbsp; context (language, character set, ...)<br><br>I&#39;d say license freeness, unicode coverage, glyph quality, availability<br>of smarts. We probably need a large-scale poll among translators,<br>LocoTeams and users. Although at this stage - but I hope everything is
<br>getting in place for a change - for some locales a less than beautiful<br>and feature-rich font is always better than nothing.<br><br>This is why engaging (funding?) more artists and script experts to<br>design fonts for Debian/Ubuntu is important. The more fonts are
<br>available the better the various font-related elements in the free<br>desktop stack can get tested.<br><br>At the LGM (Libre Graphics Meeting in Montréal) at the beginning of the<br>month there was discussion about setting up a common font QA website
<br>between projects like scribus, OOo, OFLB, fontconfig and fontforge. A<br>central place to report troubles with fonts.<br><br>&gt; - Whether fontconfig requires adjustments in order to respect those criteria<br><br>One key aspect is having a saner font menu by default along with the
<br>ability to do more granular font management based on the font metadata.<br><br>Some of the thinking on this is available on<br><a href="https://wiki.ubuntu.com/FontManagement">https://wiki.ubuntu.com/FontManagement</a>
<br><br>This fontconfig bug on glyph blacklisting is probably relevant to the<br>language contexts:<br><a href="https://bugs.freedesktop.org/show_bug.cgi?id=7528">https://bugs.freedesktop.org/show_bug.cgi?id=7528</a><br><br>
Also the fontconfig snippets should go upstream to reduce the deltas<br>with other distributions.<br><br>&gt; - Whether we still need all these horrible bitmap fonts<br><br>You mean the fonts available in the x-fonts* packages?
<br>I would suggest a poll on usage and possible demotion to universe or<br>specific langpacks. Might be different for CJK fonts.<br><br>&gt; - Whether we still need server-side fonts for anything<br><br>At the LGM we organized a font BoF and Keith Packard (
<a href="http://X.org">X.org</a> and<br>fontconfig) said that an elegant solution might be to redirect the<br>server-side calls to fontconfig until the few remaning apps are fixed.</blockquote><div><br>You&#39;re going to need this for a long time yet - unless you plan on dropping support for Xaw apps, X11 apps displayed remotely from other unices, etc.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; - Whether we need DeFoMa<br><br>Yes, I&#39;m also wondering what role DeFoMa should play.
<br>Given the trend to unify the layout rendering engine across the free<br>desktop, the growing availability of quality truetype/opentype fonts<br>under a good license, and the growing quality of the free toolset to do<br>
font design (inkscape, fontforge, fonts:ttf), do we still need DeFoMa&#39;s<br>approach? Is DeFoMa really maintained?</blockquote><div><br>So I&#39;m the current &#39;maintainer&#39; for defoma.&nbsp; It hasn&#39;t been developed for years (I wasn&#39;t the original developer), although I am still rolling in any patches people submit to bts, etc.&nbsp; So it *is* &quot;maintained&quot;, but that isn&#39;t what you were asking..
<br></div><br>I&#39;d like to see everything new using fontconfig.&nbsp; Some things (like TeX) will require massively invasive changes before that ever happens (likewise, fontconfig will probably never deal with metafont, etc font formats), and /some/ path for integrating with the old world would be nice..&nbsp; I took on defoma maintenance because it filled a hole that nothing else did - unfortunately the implementation is some quite horrific perl.
<br><br></div>-- <br> - Gus