---
name: "Font::TTF::Coverage"
section: "3pm"
platform: "linux"
package: "perl-font-ttf"
version: "1.06-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Font::TTF::Coverage"
---

# Font::TTF::Coverage(3pm)

Opentype coverage and class definition objects

## NAME

Font::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.

- max

  Maximum class value in a class table.

## 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\[, $class\])

Adds a glyph id to the coverage or class table.  Returns the index or class number of the glyphid added.

### $c-\>signature

Returns a vector of all the glyph ids covered by this coverage table or class

### @map=$c-\>sort

Sorts the coverage table so that indexes are in ascending order of glyphid. Returns a map such that `$map`\[$new\_index\]=$old\_index.

### $c-\>out\_xml($context)

Outputs this coverage/class in XML

## AUTHOR

Martin Hosken \<http://scripts.sil.org/FontUtils\>.

## LICENSING

Copyright (c) 1998-2016, SIL International (http://www.sil.org)

This module is released under the terms of the Artistic License 2.0.  For details, see the full text of the license in the file LICENSE.
