# NAME

PDF::API2::TTF::Gdef - Opentype GDEF table support

# DESCRIPTION

The GDEF table contains various global lists of information which are apparantly used in other places in an OpenType renderer. But precisely where is open to speculation...

# INSTANCE VARIABLES

There are 4 tables in the GDEF table, each with their own structure:

GLYPH
| This is an PDF::API2::TTF::Coverage Class Definition table containing information as to what type each glyph is.
ATTACH
| The attach table consists of a coverage table and then attachment points for each glyph in the coverage table:
COVERAGE
| This is a coverage table
POINTS
| This is an array of point elements. Each element is an array of curve points corresponding to the attachment points on that glyph. The order of the curve points in the array corresponds to the attachment point number specified in the MARKS coverage table (see below).
LIG
| This contains the ligature caret positioning information for ligature glyphs
COVERAGE
| A coverage table to say which glyphs are ligatures
LIGS
| An array of elements for each ligature. Each element is an array of information for each caret position in the ligature (there being number of components - 1 of these, generally)
FMT
| This is the format of the information and is important to provide the semantics for the value. This value must be set correctly before output
VAL
| The value which has meaning according to FMT
DEVICE
| For FMT = 3, a device table is also referenced which is stored here
MARKS
| Due to confusion in the GDEF specification, this field is currently withdrawn until the confusion is resolved. That way, perhaps this stuff will work! This class definition table stores the mark attachment point numbers for each attachment mark, to indicate which attachment point the mark attaches to on its base glyph.

# METHODS

## $t->read

Reads the table into the data structure

## $t->out($fh)

Writes out this table.