# TITLE

PDF::API2::TTF::Coverage - Opentype coverage and class definition objects

# DESCRIPTION

Coverage tables and class definition objects are virtually identical concepts in OpenType. Their difference comes purely in their storage. Therefore we can say that a coverage table is a class definition in which the class definition for each glyph is the corresponding index in the coverage table. The resulting data structure is that a Coverage table has the following fields:

cover

A boolean to indicate whether this table is a coverage table (TRUE) or a class definition (FALSE)

val

A hash of glyph ids against values (either coverage index or class value)

fmt

The storage format used is given here, but is recalculated when the table is written out.

count

A count of the elements in a coverage table for use with add. Each subsequent addition is added with the current count and increments the count.

# METHODS

## new($isCover [, vals])

Creates a new coverage table or class definition table, depending upon the value of $isCover. if $isCover then vals may be a list of glyphs to include in order. If no $isCover, then vals is a hash of glyphs against class values.

## read($fh)

Reads the coverage/class table from the given file handle

## out($fh, $state)

Writes the coverage/class table to the given file handle. If $state is 1 then the output string is returned rather than being output to a filehandle.

## $c->add($glyphid)

Adds a glyph id to the coverage table incrementing the count so that each subsequent addition has the next sequential number. Returns the index number of the glyphid added

## $c->out_xml($context)

Outputs this coverage/class in XML

# AUTHOR

Martin Hosken Martin_Hosken@sil.org. See PDF::API2::TTF::Font for copyright and licensing.