PDF::API3::Compat::API2::Basic::TTF::Loca - the Locations table, which is
intimately tied to the glyf table
The location table holds the directory of locations of each glyph within the
glyf table. Due to this relationship and the unimportance of the actual
locations when it comes to holding glyphs in memory, reading the location
table results in the creation of glyph objects for each glyph and stores them
here. So if you are looking for glyphs, don't look in the
"glyf" table, look here instead.
Things get complicated if you try to change the glyph list within
the one table. The recommendation is to create another clean location object
to replace this table in the font, ensuring that the old table is read first
and to transfer or copy glyphs across from the read table to the new
table.
The instance variables do not start with a space
- glyphs
- An array of glyph objects for each glyph.
- glyphtype
- A string containing the class name to create for each new glyph. If empty,
defaults to PDF::API3::Compat::API2::Basic::TTF::Glyph.
Creates a new location table making sure it has a glyphs array
Reads the location table creating glyph objects
(PDF::API3::Compat::API2::Basic::TTF::Glyph) for each glyph allowing their
later reading.
Writes the location table out to $fh. Notice that not
having read the location table implies that the glyf table has not been read
either, so the numbers in the location table are still valid. Let's hope that
"maxp/numGlyphs" and
"head/indexToLocFmt" haven't changed
otherwise we are in big trouble.
The function uses the OUTLOC location in the glyph calculated when
the glyf table was attempted to be output.
No need to output a loca table, this is dynamically generated
Calls func for each glyph in this location table in numerical order:
&func($glyph, $glyph_num)
Martin Hosken Martin_Hosken@sil.org. See
PDF::API3::Compat::API2::Basic::TTF::Font for copyright and licensing.