Ruby font installer library

These files should help you (a programmer) to create a font installer for TeX.

The library is currently in alpha state. The interface might change, but a lot of basic classes and methods are available. See the example programs in the examples directory on how to use the library. Also take a look at the Kpathsea and ENC classes on how to make use of these.

Roadmap

Accessing Encodings

See the ENC class to read and write .enc-files.

Accessing TFM/VF files

Use the TFM and VF classes to read and write TeX font metrics and virtual fonts.

Accessing font metrics

See the FontMetric class and the subclass AFM to read and write the font metric files.

Installing a font(set)

See below for examples.

Example programs

You might find the examples shipped with RFIL useful.

afm2tfm.rb

Install a single font. As with afm2tfm (the program shipped with dvips), you can reencode a font and fake caps.

afminfo

Give information about an afm file (metrics, glyph information).

encodingtable

Print out a table with encodings/glyphnames/slots

pldiff

Compare two metric files and output all differences.

plinfo

Show information about a TeX metric file.

rfont

Simple installer that handles a family of fonts (reguar, italic, bold…)

rfii

Yet another installer, work in progress.

Example usage of the RFI Library

Example usage to install a single font:

font=Font.new
font.load_variant("savorg__.afm")
font.texenc=["ec","texnansi"]
font.mapenc=["8r"]
font.write_files

This will create virtual fonts for ec and texnansi encoding that map to 8r encoding, tfm files for the raw fonts and a map-file.

Synthesize small caps

Create a second variant, synthesize small caps and copy the relevant part to the main font.

f=Font.new
f.texenc="ec"
f.load_variant("savorg__.afm")
fc = f.load_variant("savorg__.afm")
f.fake_caps(fc,0.8)
f.copy(fc,:lowercase,:ligkern=>true)
f.defaultfm.chars.apply_ligkern_instructions(RFI::STDLIGKERN)
f.write_files

Installation

Run ruby setup.rb config and afterwards ruby setup.rb install to install the library files in your system. You might need to be superuser/root for that. Now you should be able to use the examples. Perhaps start with afminfo or rfont.

Creating the documentation

Run rake rdoc in order to create the documentation in the subdirectory doc/. Open doc/index.html in your browser and voila, see all classes and methods documented. If you don’t have Rake installed, go to the homepage (see below) and read the online documentation.

Other Stuff

Author

Patrick Gundlach <[email protected]>

Project Page

foundry.supelec.fr/projects/rfil

Homepage

(Documentation) rfil.groups.foundry.supelec.fr

License

Copyright © 2005 Patrick Gundlach. Released under the terms of the GNU General Public License