---
name: "PDF::API2::Basic::TTF::OldCmap"
section: "3pm"
platform: "linux"
package: "libpdf-api2-perl"
version: "0.73-1"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/PDF::API2::Basic::TTF::OldCmap"
---

# PDF::API2::Basic::TTF::OldCmap(3pm)

Character map table This module is deprecated

## NAME

PDF::API2::Basic::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::Basic::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::Basic::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::Basic::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::Basic::TTF::Font for copyright and licensing.
