summaryrefslogtreecommitdiff
path: root/support/rfil/README
diff options
context:
space:
mode:
Diffstat (limited to 'support/rfil/README')
-rw-r--r--support/rfil/README77
1 files changed, 77 insertions, 0 deletions
diff --git a/support/rfil/README b/support/rfil/README
new file mode 100644
index 0000000000..50630a60d2
--- /dev/null
+++ b/support/rfil/README
@@ -0,0 +1,77 @@
+= 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 <tt>.enc</tt>-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 <em>8r</em> 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 <tt>ruby setup.rb config</tt> and afterwards <tt>ruby setup.rb
+install</tt> 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 <tt>afminfo</tt> or <tt>rfont</tt>.
+
+== Creating the documentation
+
+Run <tt>rake rdoc</tt> in order to create the documentation in the
+subdirectory <tt>doc/</tt>. Open <tt>doc/index.html</tt> in your
+browser and voila, see all classes and methods documented. If you
+don't have <tt>Rake</tt> installed, go to the homepage (see below) and
+read the online documentation.
+
+==Other Stuff
+
+Author:: Patrick Gundlach <patrick@gundla.ch>
+Project Page:: https://foundry.supelec.fr/projects/rfil
+Homepage:: (Documentation) https://rfil.groups.foundry.supelec.fr
+License:: Copyright (c) 2005 Patrick Gundlach.
+ Released under the terms of the GNU General Public License
+