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.