Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo



Dr. Ken Lunde


CMap resources are used to unidirectionally map character codes, such as a Unicode encoding form, to CIDs (Characters IDs) of a CIDFont resource. CMap resources, like CIDFont resources, include a /CIDSystemInfo dictionary that specifies /Registry and /Ordering strings that must match for compatibility. In other words, a CMap resource can be used with a CIDFont resource only if their /Registry and /Ordering strings match.

Although originally designed for use with CIDFont resources, CMap resources are also used for other purposes, such as by the AFDKO makeotf tool for building 'cmap' tables for OpenType fonts when the source font is a CIDFont resource.

The CMap resources that are available are for the latest character collections, specifically Adobe-Identity-0, Adobe-GB1-5, Adobe-CNS1-6, Adobe-Japan1-6, and Adobe-Korea1-2. All of the CMap resources that are associated with each character collection are included. The CMap resources for the now-deprecated Adobe-Japan2-0 character collection are also provided, along with tables for mapping Adobe-Japan2-0 CIDs to the appropriate Adobe-Japan1-6 CIDs.

A character collection is sometimes referred to as an ROS, which is an abbreviation for the three elements of the /CIDSystemInfo dictionary, specifically the /Registry string, the /Ordering string, and the /Supplement value (an integer). When fully specified, the three elements are separate using single hyphens, such as Adobe-Japan1-6 (broken down into /Registry = Adobe, /Ordering = Japan1, and /Supplement = 6).

CMap Resources Versus 'cmap' Tables

CMap resources should not be confused with 'cmap' tables of sfnt-based fonts, such as OpenType and TrueType. While they are functionally similar, in that both unidirectionally map character codes, a 'cmap' table maps them to GIDs (Glyph IDs). For some fonts, such as OpenType fonts that are based on one of these character collections and include every glyph, CIDs can equal GIDs, but it is not guaranteed, thus the importance of the distinction.


In addition the CMap resources themselves, each set of CMap resources include a cid2code.txt file that provides a database-like form for all of the CMap resources for that character collection. This file is generated each time changes are made to one or more CMap resources.

Update Announcements

Updates to CMap resources are announced in the CMap Resources Discussion Forum.