NAME
Font::TTF::Table - Superclass for tables and used for tables we don't have a class for
DESCRIPTION
Looks after the purely table aspects of a TTF table, such as whether the table has been read before, locating the file pointer, etc. Also copies tables from input to output.
INSTANCE VARIABLES
Instance variables start with a space
- read
-
Flag which indicates that the table has already been read from file.
- dat
-
Allows the creation of unspecific tables. Data is simply output to any font file being created.
- INFILE
-
The read file handle
- OFFSET
-
Location of the file in the input file
- LENGTH
-
Length in the input directory
- CSUM
-
Checksum read from the input file's directory
- PARENT
-
The Font::TTF::Font that table is part of
METHODS
Font::TTF::Table->new(%parms)
Creates a new table or subclass. Table instance variables are passed in at this point as an associative array.
$t->read
Reads the table from the input file. Acts as a superclass to all true tables. This method marks the table as read and then just sets the input file pointer but does not read any data. If the table has already been read, then returns undef
else returns $self
$t->read_dat
Reads the table into the dat
instance variable for those tables which don't know any better
$t->out($fh)
Writes out the table to the font file. If there is anything in the data
instance variable then this is output, otherwise the data is copied from the input file to the output
$t->update
Each table knows how to update itself. This consists of doing whatever work is required to ensure that the memory version of the table is consistent and that other parameters in other tables have been updated accordingly. I.e. by the end of sending update
to all the tables, the memory version of the font should be entirely consistent.
Some tables which do no work indicate to themselves the need to update themselves by setting isDirty above 1. This method resets that accordingly.
BUGS
No known bugs
AUTHOR
Martin Hosken Martin_Hosken@sil.org. See Font::TTF::Font for copyright and licensing.