make_volt - Create VOLT code from a TrueType Font
make_volt [-a file] [-l ligtype] [-i file] [-n] infile outfile make_volt -t [-a file] [-l ligtype] [-i file] [-n] infile
Creates a copy of the infile font file adding a VOLT table to it.
-a file Attachment Point database .xml file -b Set un-typed glyphs to type "BASE" -c classfile xml file of class and property information to merge in --classproperties specifies whether classes are made for property values in the classfile -e file A file containing names (1 per line) of glyphs that are known to have no outline (thus shouldn't generate warning). -f level Force value for adding OpenType lookups: 0 create lookups only if not already present [default] 1 re-create lookups even if same named exist 2 don't build any lookups -h print manpage -i fontfile Merge VOLT table from this font or text file -l type How ligatures are built: type = first - class name is first code, contents other codes last - class name is last code, contents other codes firstcomp - treat extensions as part of elements, as first lastcomp - treat extensons as part of elements, as last -m "list" List of anchors that do not imply a MARK glyph (e.g. "_R") -n Add a normalization ligature lookups -o "list" List of AP names to omit -t output volt code to stdout and don't generate a font file -z bitfield Bitfield of various controls: 0 - n/a 1 - normalise even if presentation is only references 2 - n/a
make_volt aims to make the creation of OpenType fonts much easier. It allows for a font designer to make changes and to feed that changed font forward to merge previously created VOLT code without losing that work. It also creates glyph names, key classes and lookups that can save a lot of work in VOLT.
In addition, make_volt has the capability to merge the volt code it creates with existing volt code either in a font or in a text file.
Glyphs are named based on the postscript name of the glyph with variants and illegal characters stripped from the name. Name clashes are simply numbered.
make_volt creates a number of different kind of class. For each attachment point base name (x) a class is created. Class cxDia contains a list of all the glyphs with the attachment point _x. Class cTakesxDia contains all the glyphs with attachment point x. Class cnxDia contains all the glyphs without attachment point _X. And the class cnTakesxDia contains all the glyphs without the x attachment point.
c
Dia
_
cTakes
cn
cnTakes
In addition for each glyph name variant (as labelled in a postscript name for a glyh using .var) a class named cvar is created with all the glyphs with that variant in their name. A class named c_novar is also created containing all the corresponding glyphs without the variant, in direct correspondance, so that the non-variant form may be mapped to the variant form using a single rule, for all the glyphs in the class.
.
c_no
Finally a class is created for ligature components. If a glyph is part of a ligature rule it is either the key glyph for the rule or part of the class for the rule. Thus for a rule keyed of a glyph named x there will be two classese: cl_x which is the ligatures involving x and clno_x which contains all the components that correspond to the ligatures found in the other class. This makes a ligature rule a simple 1:1 mapping from clno_x to cl_x.
cl_
clno_
make_volt has the ability to create ligature mapping lookups. These are controlled by glyph names and follow the approach taken in make_gdl.
make_gdl
ttfbuilder, make_gdl
Martin Hosken http://scripts.sil.org/FontUtils. (see CONTRIBUTORS for other authors).
Copyright (c) 1998-2014, SIL International (http://www.sil.org)
This script is released under the terms of the Artistic License 2.0. For details, see the full text of the license in the file LICENSE.
To install Font::Fret, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Font::Fret
CPAN shell
perl -MCPAN -e shell install Font::Fret
For more information on module installation, please visit the detailed CPAN module installation guide.