TeX fonts, part one [Was: Re: [Fedora-packaging] Proposed amendment to general packaging guidelines: no bundling of fonts in other packages]

Vasile Gaburici vgaburici at gmail.com
Sun Jul 27 14:54:31 UTC 2008


I need to digest this a bit more, but a quick note regarding the
(in)abilities of the automated TeX font tools is in order. Some
important TeX fonts like Latin Modern (also from GUST), cannot be be
currently correctly installed by autoinst. There are two obstacles:
- lack of optical size info in the Latin Modern OTFs (no OpenType 'size' tag)
- lack of support for optical sizes in autoinst. There's another tool
called otfinst (also a wrapper for lcdf-typetools) that can handle
optical size info if it is present in the OTF. But otfinst lacks a
bunch of other features that autoinst has (no .fd generation, no TTF
flavor of OpenType support). At some point I hope to port the opical
size support to autoinst, but these tools are written in different
languages, so it will take a while.

So, Fedora would still have to ship TeX font files separately (for
some fonts) until the tool set and upstream OTF packaging matures. But
for mundane OTF fonts, which don't have optical sizes, I don't see
serious show stoppers for the proposal to (i) generate their .tfm TeX
metrics automatically, and (ii) convert them to type 1 on the user's
machine. These to jobs could be handled by a simple invocation of
autoinst (with some parameters, like telling it if the font is serif
or not). So, for most fonts the foo-font-tex package could be just
some emtpy dirs and a %post invocation of autoinst. This method needs
some testing with various fonts before we commit to it.

TrueType fonts can be used used without conversion by pdftex, but TeX
metrics still have to be generated. Other TeX drivers, like dvips and
dvipdfm, can use TrueType fonts only if they are converted to bitmaps;
I don't think this is worth the hassle since the output would suck on
screen.

Btw, if you've never heard of Latin Modern -- it is the Computer
Modern extension to non-English western alphabets. XeTeX, since it
supports only UTF-8 input, uses Latin Modern as default font. There's
another package, called cm-super, that attempts the same feat, but it
uses autotraced fonts, so it's generally considered of inferior
quality. The guys from GUST wrote a tool called METATYPE1 which allows
them to compile METAPOST into type 1 fonts without autotracing. Latin
Modern is written in METATYPE1. Don't ask me if they had permission
from Knuth to do this...

On Sun, Jul 27, 2008 at 4:20 PM, Jonathan Underwood
<jonathan.underwood at gmail.com> wrote:
> 2008/7/27 Vasile Gaburici <vgaburici at gmail.com>:
>> The TeXNaming draft guidelines
>> [https://fedoraproject.org/wiki/PackagingDrafts/TeXNaming] seem to
>> indicate that "tex" should go before the package name. E.g.
>> tex-foo-fonts, and perhaps latex-foo-fonts as well. I don't know if
>> ConTeXt needs any special bits for fonts, but in Fedora it gets
>> packaged separately as texlive-context. The only bit that surely
>> doesn't need anything special is texlive-xetex, which can use the
>> system fonts.
>>
>> A minor issue: dvipdfm and dvipdfmx don't have a tex prefix in their
>> package names, even though both put files in the system texmf tree. I
>> don't know if they're usable without TeX installed, but I kinda doubt
>> it...
>>
>
> Yes, that should maybe be fixed up, and one could also make the same
> argument for xdvik, I suppose. The notion of prefixing with tex- was
> really meant for addon class file packages for tex, rather than binary
> programs. But I see your point entirely.
>
>> There draft guidelines say that there are several ways to specify the
>> "Requires:" for TeX. But on a recent review, I got this:
>> ? MUST: The package must meet the Packaging Guidelines .
>> The Requires for texlive-latex should be replaced with Requires: tex(latex)
>>
>> The sooner this gets sorted out the better...
>>
>
> Yes, it's a mess, and now it's starting to impact progress with
> resolving the font issues. I had started to make some headway with
> packaging guidelines a while back, and Patrice had also tackled it,
> but between us we've dropped the ball.
>
> In actual fact, the reason that I had made little headway is that when
> you start to look at the problem carefully you start to realize that
> it's a bit of a mistake for Fedora to be repackaging the texlive
> distribution rather than packaging the individual upstream projects.
> However, texlive does provide some really handy package integration
> that we rely on, so we need to make use of that work. We've slowly
> been making some progress splitting things out, but there's not many
> packagers who seem to care much about TeX, alas.
>
> Anyway, here's some things I see as a bit of a priority:
>
> 1) Form a TeX SIG.
> 2) Get some TeX packaging guidelines in place
> 3) Work with the fonts SIG to resolve the fonts mess.
>
>
> Regarding 3, it seems to me that there's in principle nothing
> technically stopping us moving in the direction that Nicholas paints
> as desireable regarding proper system integration of the fonts (and
> Nicholas is right to push for this). The approach I could imagine
> working is roughly this:
>
> For each font, create a standalone package which installs the font in
> the system fonts directory, foo-fonts. During package building that
> package would create and install the necessary symlinks and auxillary
> files needed by tex (font metric files etc) and package them in a
> subpackage, tex-foo-fonts (or maybe foo-fonts-tex). The
> texlive-texmf-fonts package would then just require all of these
> tex-foo-fonts packages. The tex-fontools will be really usefully for
> taking care of this at package build time, so I am really glad that
> Vasile Gaburici is moving that forward (and the lcdf-typetools
> packaging). I think this is a better approach than using scriplets to
> do the same thing at font install time if tex is installed.
>
> Of course, until we actually try implementing such an approach, it'll
> not become clear what the complications are. I have to admit, I'm not
> massively familiar with the font packaging process in Fedora, but have
> been reading through the wiki pages and looking at packages this
> weekend - in fact I hadn't really wanted to raise a proposal until I
> had a better and more complete understanding of the problem space, but
> Nicholas' email has spurred me on a bit.
>
> What do folks think? And I guess, more importantly, who's up for some work? :)
>
> Jonathan.
>
>




More information about the Fedora-packaging mailing list