Font::TTF::Kern(3pm) User Contributed Perl Documentation Font::TTF::Kern(3pm)NAME
Font::TTF::Kern - Kerning tables
DESCRIPTION
Kerning tables are held as an ordered collection of subtables each giving incremental information regarding the kerning of various pairs of
glyphs.
The basic structure of the kerning data structure is:
$kern = $f->{'kern'}{'tables'}[$tnum]{'kerns'}{$leftnum}{$rightnum};
Due to the possible complexity of some kerning tables the above information is insufficient. Reference also needs to be made to the type of
the table and the coverage field.
INSTANCE VARIABLES
The instance variables for a kerning table are relatively straightforward.
Version
Version number of the kerning table
Num Number of subtables in the kerning table
tables
Array of subtables in the kerning table
Each subtable has a number of instance variables.
kern
A two level hash array containing kerning values. The indexing is left value and then right value. In the case of type 2 tables,
the indexing is via left class and right class. It may seem using hashes is strange, but most tables are not type 2 and this method
saves empty array values.
type
Stores the table type. Only type 0 and type 2 tables are specified for TrueType so far.
coverage
A bit field of coverage information regarding the kerning value. See the TrueType specification for details.
Version
Contains the version number of the table.
Num Number of kerning pairs in this type 0 table.
left
An array indexed by glyph - left_first which returns a class number for the glyph in type 2 tables.
right
An array indexed by glyph - right_first which returns a class number for the glyph in type 2 tables.
left_first
the glyph number of the first element in the left array for type 2 tables.
right_first
the glyph number of the first element in the right array for type 2 tables.
num_left
Number of left classes
num_right
Number of right classes
METHODS
$t->read
Reads the whole kerning table into structures
$t->out($fh)
Outputs the kerning tables to the given file
$t->XML_element($context, $depth, $key, $value)
Handles outputting the kern hash into XML a little more tidily
BUGS
o Only supports kerning table types 0 & 2.
o No real support functions to do anything with the kerning tables yet.
AUTHOR
Martin Hosken Martin_Hosken@sil.org. See Font::TTF::Font for copyright and licensing.
perl v5.10.1 2011-02-25 Font::TTF::Kern(3pm)
Check Out this Related Man Page
Font::TTF::GSUB(3) User Contributed Perl Documentation Font::TTF::GSUB(3)NAME
Font::TTF::GSUB - Module support for the GSUB table in conjunction with TTOpen
DESCRIPTION
Handles the GSUB subtables in relation to Ttopen tables. Due to the variety of different lookup types, the data structures are not all that
straightforward, although I have tried to make life easy for myself when using this!
INSTANCE VARIABLES
The structure of a GSUB table is the same as that given in Font::TTF::Ttopen. Here we give some of the semantics specific to GSUB lookups.
ACTION_TYPE
This is a string taking one of 4 values indicating the nature of the information in the ACTION array of the rule:
g The action contains a string of glyphs to replace the match string by
l The action array contains a list of offsets and lookups to run, in order, on the matched string
a The action array is an unordered set of optional replacements for the matched glyph. The application should make the selection
somehow.
o The action array is empty (in fact there is no rule array for this type of rule) and the ADJUST value should be added to the
glyph id to find the replacement glyph id value
MATCH_TYPE
This indicates which type of information the various MATCH arrays (MATCH, PRE, POST) hold in the rule:
g The array holds a string of glyph ids which should match exactly
c The array holds a sequence of class definitions which each glyph should correspondingly match to
o The array holds offsets to coverage tables
CORRESPONDANCE TO LAYOUT TYPES
The following table gives the values for ACTION_TYPE and MATCH_TYPE for each of the 11 different lookup types found in the GSUB table
definition I have:
1.1 1.2 2 3 4 5.1 5.2 5.3 6.1 6.2 6.3
ACTION_TYPE o g g a g l l l l l l
MATCH_TYPE g g c o g c o
Hopefully, the rest of the uses of the variables should make sense from this table.
METHODS
$t->read_sub($fh, $lookup, $index)
Asked by the superclass to read in from the given file the indexth subtable from lookup number lookup. The file is positioned ready for the
read.
$t->extension
Returns the table type number for the extension table
$t->out_sub($fh, $lookup, $index)
Passed the filehandle to output to, suitably positioned, the lookup and subtable index, this function outputs the subtable to $fh at that
point.
AUTHOR
Martin Hosken Martin_Hosken@sil.org. See Font::TTF::Font for copyright and licensing.
perl v5.16.3 2011-10-13 Font::TTF::GSUB(3)