# NAME

PDF::API2::TTF::OldCmap - Character map table

This module is deprecated

# DESCRIPTION

Looks after the character map. The primary structure used for handling a cmap is the PDF::API2::TTF::Segarr which handles the segmented arrays of format 4 tables, and in a simpler form for format 0 tables.

Due to the complexity of working with segmented arrays, most of the handling of such arrays is via methods rather than via instance variables.

One important feature of a format 4 table is that it always contains a segment with a final address of 0xFFFF. If you are creating a table from scratch this is important (although PDF::API2::TTF::Segarr can work quite happily without it).

# INSTANCE VARIABLES

The instance variables listed here are not preceeded by a space due to their emulating structural information in the font.

Num
| Number of subtables in this table
Tables
| An array of subtables ([0..Num-1])

Each subtables also has its own instance variables which are, again, not preceeded by a space.

Platform
| The platform number for this subtable
Encoding
| The encoding number for this subtable
Format
| Gives the stored format of this subtable
Ver
| Gives the version (or language) information for this subtable
val
| This points to a PDF::API2::TTF::Segarr which contains the content of the particular subtable.

# METHODS

## $t->read

Reads the cmap into memory. Format 4 subtables read the whole subtable and fill in the segmented array accordingly.

Format 2 subtables are not read at all.

## $t->ms_lookup($uni)

Given a Unicode value in the MS table (Platform 3, Encoding 1) locates that table and looks up the appropriate glyph number from it.

## $t->find_ms

Finds the Microsoft Unicode table and sets the `mstable` instance variable to it if found. Returns the table it finds.

## $t->out($fh)

Writes out a cmap table to a filehandle. If it has not been read, then just copies from input file to output

## @map = $t->reverse([$num])

Returns a reverse map of the table of given number or the Microsoft cmap. I.e. given a glyph gives the Unicode value for it.

# BUGS

*
| No support for format 2 tables (MBCS)

# AUTHOR

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