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
- Homepage
-
(Documentation) rfil.groups.foundry.supelec.fr
- License
-
Copyright © 2005 Patrick Gundlach. Released under the terms of the GNU General Public License