[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Font names, revisited...
Even though my font tools for TeX currently having to take a back seat
to the actual work I'm supposed to be doing, I have begun to write a
`FontName' Perl module that will grok Karl Berry's font naming scheme,
NFSS's, and PostScript font names of various kinds. However, as I began
I notice some pretty ugly mismatches between Karl's scheme and LaTeX's.
For example, when it comes to weights we have:
NFSS KB Full Name
el j ExtraLight
l l Light
m m Medium
sb s Semibold
b b Bold
eb x ExtraBold
In the KB scheme, the same letter is used for different words, and
sometimes, what appear to me to be quite different weights (ExtraBold
and ExtraBlack). Also, multiple letters seem to be used for what are in
effect the same weight ('r' and 'm' get used for Regular, Roman and
Medium, which in most cases are the same weight).
Also, in the NFSS scheme, there are some weights clearly missing, most
notably 'Demi'. SemiBold and Demi are not the same (generally we have
pairs of Light/SemiBold, Book/Demi, Regular/Bold, and we can easily
imagine a font providing both the first two pairs, or all three -- so
it would not be okay to say that Demi and SemiBold are equivalent).
Similarly, for widths we have:
NFSS KB Full Name
uc o UltraCondensed
ec q ExtraCondensed
c c Condensed
m r Medium
x e Expanded
ex v ExtraExpanded
Here, perhaps the NFSS scheme isn't as problematic, especially as the
LaTeX companion also gives expansion/contraction percentages so that
one can know what the terms are supposed to mean (I am litte surprised
at its preference for the term `Expanded' though, since I always thought
that `bx' stood for Bold Extended).
However, again here we have a pretty poor correspondence between the
KB names and the NFSS names.
Ideally, what I'd like would be to have a set of canonical terms that subsumes
both naming schemes (although likely skipping unnecessary synonyms and rarely used weights).
I'm thinking along the lines of the following weights:
... and the perhaps sticking with the NFSS widths, but using Extended
instead of Expanded.
To re-iterate, I'm going to use some kind of `Canonical Name' internal
name both NFSS names and Karl Berry names. In the process of trying
to fathom the requirements, it seems like I've turned up weaknesses
in both the NFSS naming scheme and the Karl Berry scheme.
P.S. I've tried to put the names in order; if I've got the sequence
wrong, please do let me know.