discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why dose art not use fontconfig?


From: Jeff Teunissen
Subject: Re: Why dose art not use fontconfig?
Date: Thu, 23 Aug 2007 01:39:40 -0400
User-agent: Icedove 1.5.0.10 (X11/20070307)

Isaiah Beerbower wrote:
> On 8/22/07, Jeff Teunissen <spamtrap@d2dc.net> wrote:
>> Isaiah Beerbower wrote:
>> > On 8/21/07, Jeff Teunissen <spamtrap@d2dc.net> wrote:
>>
>> ...
>>
>> > I can see how it wouldn't be desirable to have GNUstep use every font
>> > found by fontconfig. Fontconfig and FreeType can provide us with all
>> > the information we need. IMHO nfonts are a pain to *have* to use (as
>> > an option it would be fine). I want to download a font and be able to
>> > install it as is.
>>
>> As I said, it's a nice, fast, simple system that should have been
>> better-supported but wasn't because I didn't want to have to do it. ;)
>>
>> I'm perfectly happy to contribute to a New Font database, I just didn't want
>> to have to run the damn thing. I have quite a few hand-crafted nfonts that
>> could be distributed, and even more that couldn't be (because the fonts
>> themselves can't be -- about a third of the Adobe OpenType font library), but
>> which could easily be put into a database somewhere for people to download 
>> and
>> assemble with their own font collections -- perhaps using a program like Font
>> Manager. You open up "Font Manager", tell it "Package this group of TTFs", it
>> calls out to a site and grabs the FontInfo plist, and chunks the whole thing
>> into an nfont which it then drops into your Fonts library and tells all the
>> running programs to rescan the font dirs.
> 
> The fact that you would have to go to a special font database is part
> of the annoyance. I want users to download fonts from the authors site
> and just install them.

What author's site? There are only a handful of decent, free fonts available
and they all need tweaks to rendering to look decent.

> HOWEVER
> 
> For Font Manager, I had plans of using fontconfig and FreeType to
> generate nfonts without any user, or other, input (other than, of
> course, the font files).

That is...ahh, "wrong-headed"; good nfonts can't be automatically generated.
The "mknfonts" tool was written to spit out a first-run stab at a skeleton
FontInfo.plist file, NOT as something you run on your fonts before installing
them! No automatic tool can do the job right except in the MOST trivial cases,
no matter how much fuzziness you put into it.

We're possibly dealing in two very different worlds here; I'm concerned with
typography here, while you're apparently dealing with a far less demanding
requirement -- "getting stuff into the font panel". The art back-end graphics
target was designed to do everything as perfectly as it could be done, to set
the bar for reference implementations (including font handling).

To compare the result of a tool (any tool) that spits out nfonts with what a
human does, let's take a look at DejaVu:

Given the DejaVu font collection (21 font files), mknfonts (which reads
TrueType info from TTFs and OTFs) would spit out five nfont packages, while
Backbone's has three -- System (DejaVu Sans, DejaVu Sans Condensed), System
Serif (DejaVu Serif, DejaVu Serif Condensed), and System Monospace (DejaVu
Sans Mono).

Why the difference, and why does it matter? Because the TrueType info for the
condensed faces of the three families describes them as being different
families, any automatic system will place them into new categories, using up
two extra slots in the font panel. It matters because reducing the number of
selections in the left side of the font panel makes selecting them faster and
easier for the user, and an automatic system can't tell that the letters
"Condensed", "Cond", "Cnd" always refer to the font face itself and not to the
family -- because they don't, they're just strings. It requires a human being
to do these things.

With only a few fonts on a machine this is not a serious problem, but people
who work with lots of text and need access to lots of fonts (say, in page
layout) will tell you that reducing clutter in their work is a Good Thing(tm);
it can mean the difference between having 80 items to wade through and 600.

For a more extreme example, take Helvetica Neue LT, which contains 52 font
files and shows up as 21 families in fontconfig. In nfont format it takes up
one slot and all of the faces are arranged sanely by weight, width,
outline/normal, and slant. On the disk, the nfont package is 1.6MB with an 11K
font info plist. How many names fit in a standard-sized font panel without
scrolling? You don't want to have to page-down three times to get through a
single font in the family list, do you? :)

Any font that has many uses is the same way, with many faces for different
purposes and desired results. Typography is more than just "Regular, Bold,
Italic, Bold Italic" and it deserves a good system to handle its complexity.
The OpenStep (and by extension, Cocoa) text network is rich enough to handle
the complexity of professional typography, it just needs to be exercised.

Fontconfig is a fine tool for what it is, really it is. It's just not capable
of dealing with anything beyond the basics. To make life easier for real
people, you have to do more. :)

-- 
| Jeff Teunissen -=- Pres., Dusk To Dawn Computing -=- deek at d2dc.net
| GPG: 1024D/9840105A 7102 808A 7733 C2F3 097B 161B 9222 DAB8 9840 105A
| Core developer, The QuakeForge Project     http://www.quakeforge.net/
| Specializing in Debian GNU/Linux           http://www.d2dc.net/~deek/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]