Font::TTF::OldCmap(3) User Contributed Perl Documentation Font::TTF::OldCmap(3)

# [NAME](#NAME)

Font::TTF::OldCmap - Character map table

This module is deprecated

# [DESCRIPTION](#DESCRIPTION)

Looks after the character map. The primary structure used for handling a cmap is the Font::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 Font::TTF::Segarr can work quite happily without it).

# [INSTANCE VARIABLES](#INSTANCE_VARIABLES)

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

[Num](#Num)

Number of subtables in this table

[Tables](#Tables)

An array of subtables (\[0..Num-1])

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

[Platform](#Platform)

The platform number for this subtable

[Encoding](#Encoding)

The encoding number for this subtable

[Format](#Format)

Gives the stored format of this subtable

[Ver](#Ver)

Gives the version (or language) information for this subtable

[val](#val)

This points to a Font::TTF::Segarr which contains the content of the particular subtable.

# [METHODS](#METHODS)

## [$t-&gt;read](#$t)

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-&gt;ms\_lookup($uni)](#$t~2)

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-&gt;find\_ms](#$t~3)

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

## [$t-&gt;out($fh)](#$t~4)

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

## [@map = $t-&gt;reverse(\[$num\])](#@map_=_$t)

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](#BUGS)

•

No support for format 2 tables (MBCS)

# [AUTHOR](#AUTHOR)

Martin Hosken &lt;http://scripts.sil.org/FontUtils&gt;.

# [LICENSING](#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.

2026-09-25 perl v5.44.0

---

Document: Font::TTF::OldCmap(3pm) from perl-font-ttf 1.06-r0 (Chainguard OS)
