# adobe-type-tools/cmap-resources architecture

> Architecture diagram of the GitHub repository adobe-type-tools/cmap-resources, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/adobe-type-tools/cmap-resources
- Repository: https://github.com/adobe-type-tools/cmap-resources

## Overview

This repository is a data distribution of Adobe character-map resources, not an application runtime. A consumer selects a collection’s CMap for its character encoding; the map converts character codes to CIDs for a compatible CIDFont, whose Registry and Ordering must match. Collections also provide tabular CID-to-code mappings, and Japan1 includes mappings for JIS standards. The README documents these uses and compatibility rules; no source excerpts were provided, so the graph shows documented relationships only.

Main entry points: [`Adobe-Japan1-7/CMap`](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Japan1-7/CMap) (Japan1-7 CMaps), [`Adobe-CNS1-7/CMap`](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-CNS1-7/CMap) (CNS1-7 CMaps), [`Adobe-GB1-6/CMap`](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-GB1-6/CMap) (GB1-6 CMaps), [`deprecated/Adobe-Japan2-0/CMap`](https://github.com/adobe-type-tools/cmap-resources/tree/master/deprecated/Adobe-Japan2-0/CMap) (Deprecated Japan2-0)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_chinese["Chinese collections"]
  node_cns["CNS1-7 CMaps"]
  node_cns_table["CNS1 CID mappings<br/>[cid2code.txt]"]
  node_gb["GB1-6 CMaps"]
  node_gb_table["GB1 CID mappings<br/>[cid2code.txt]"]
end

subgraph group_japanese["Japanese collections"]
  node_japan["Japan1-7 CMaps"]
  node_japan_table["Japan1 CID mappings<br/>[cid2code.txt]"]
  node_japan_jis["Japan1 JIS mappings"]
  node_japan2["Deprecated Japan2-0"]
  node_japan2_table["Japan2 CID mappings<br/>[cid2code.txt]"]
end

subgraph group_korean["Korean collections"]
  node_korea["Korea1-2 CMaps"]
  node_korea_table["Korea1 CID mappings<br/>[cid2code.txt]"]
  node_kr["Adobe-KR-9 CMaps"]
  node_kr_table["Adobe-KR CID mappings<br/>[cid2code.txt]"]
end

subgraph group_other["Other collections"]
  node_identity["Identity CMaps"]
  node_manga["Manga1-0 CMaps"]
  node_manga_table["Manga CID mappings<br/>[cid2code.txt]"]
end

node_consumer(("CMap consumer"))
node_codes["Character codes"]
node_cidfont["Compatible CIDFont"]

node_consumer -->|"selects map"| node_cns
node_consumer -->|"selects map"| node_gb
node_consumer -->|"selects map"| node_japan
node_consumer -->|"selects map"| node_japan2
node_consumer -->|"selects map"| node_korea
node_consumer -->|"selects map"| node_kr
node_consumer -->|"selects map"| node_identity
node_consumer -->|"selects map"| node_manga
node_codes -->|"maps to CIDs"| node_cns
node_codes -->|"maps to CIDs"| node_gb
node_codes -->|"maps to CIDs"| node_japan
node_codes -->|"maps to CIDs"| node_japan2
node_codes -->|"maps to CIDs"| node_korea
node_codes -->|"maps to CIDs"| node_kr
node_codes -->|"maps to CIDs"| node_identity
node_codes -->|"maps to CIDs"| node_manga
node_cns -->|"requires matching ROS"| node_cidfont
node_gb -->|"requires matching ROS"| node_cidfont
node_japan -->|"requires matching ROS"| node_cidfont
node_japan2 -->|"requires matching ROS"| node_cidfont
node_korea -->|"requires matching ROS"| node_cidfont
node_kr -->|"requires matching ROS"| node_cidfont
node_identity -->|"requires matching ROS"| node_cidfont
node_manga -->|"requires matching ROS"| node_cidfont
node_japan -->|"includes mappings"| node_japan_jis

click node_cns "https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-CNS1-7/CMap"
click node_cns_table "https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-CNS1-7/cid2code.txt"
click node_gb "https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-GB1-6/CMap"
click node_gb_table "https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-GB1-6/cid2code.txt"
click node_japan "https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Japan1-7/CMap"
click node_japan_table "https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-Japan1-7/cid2code.txt"
click node_japan_jis "https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Japan1-7"
click node_japan2 "https://github.com/adobe-type-tools/cmap-resources/tree/master/deprecated/Adobe-Japan2-0/CMap"
click node_japan2_table "https://github.com/adobe-type-tools/cmap-resources/blob/master/deprecated/Adobe-Japan2-0/cid2code.txt"
click node_korea "https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Korea1-2/CMap"
click node_korea_table "https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-Korea1-2/cid2code.txt"
click node_kr "https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-KR-9/CMap"
click node_kr_table "https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-KR-9/cid2code.txt"
click node_identity "https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Identity-0/CMap"
click node_manga "https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Manga1-0/CMap"
click node_manga_table "https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-Manga1-0/cid2code.txt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cns,node_cns_table,node_gb,node_gb_table toneBlue
class node_japan,node_japan_table,node_japan_jis,node_japan2,node_japan2_table toneAmber
class node_korea,node_korea_table,node_kr,node_kr_table toneMint
class node_identity,node_manga,node_manga_table toneRose
class node_consumer,node_codes,node_cidfont toneIndigo
```

## Components

### Chinese collections

- [CNS1-7 CMaps](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-CNS1-7/CMap): `Adobe-CNS1-7/CMap`
- [CNS1 CID mappings](https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-CNS1-7/cid2code.txt): `Adobe-CNS1-7/cid2code.txt`
- [GB1-6 CMaps](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-GB1-6/CMap): `Adobe-GB1-6/CMap`
- [GB1 CID mappings](https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-GB1-6/cid2code.txt): `Adobe-GB1-6/cid2code.txt`

### Japanese collections

- [Japan1-7 CMaps](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Japan1-7/CMap): `Adobe-Japan1-7/CMap`
- [Japan1 CID mappings](https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-Japan1-7/cid2code.txt): `Adobe-Japan1-7/cid2code.txt`
- [Japan1 JIS mappings](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Japan1-7): `Adobe-Japan1-7`
- [Deprecated Japan2-0](https://github.com/adobe-type-tools/cmap-resources/tree/master/deprecated/Adobe-Japan2-0/CMap): `deprecated/Adobe-Japan2-0/CMap`
- [Japan2 CID mappings](https://github.com/adobe-type-tools/cmap-resources/blob/master/deprecated/Adobe-Japan2-0/cid2code.txt): `deprecated/Adobe-Japan2-0/cid2code.txt`

### Korean collections

- [Korea1-2 CMaps](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Korea1-2/CMap): `Adobe-Korea1-2/CMap`
- [Korea1 CID mappings](https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-Korea1-2/cid2code.txt): `Adobe-Korea1-2/cid2code.txt`
- [Adobe-KR-9 CMaps](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-KR-9/CMap): `Adobe-KR-9/CMap`
- [Adobe-KR CID mappings](https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-KR-9/cid2code.txt): `Adobe-KR-9/cid2code.txt`

### Other collections

- [Identity CMaps](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Identity-0/CMap): `Adobe-Identity-0/CMap`
- [Manga1-0 CMaps](https://github.com/adobe-type-tools/cmap-resources/tree/master/Adobe-Manga1-0/CMap): `Adobe-Manga1-0/CMap`
- [Manga CID mappings](https://github.com/adobe-type-tools/cmap-resources/blob/master/Adobe-Manga1-0/cid2code.txt): `Adobe-Manga1-0/cid2code.txt`

### Other components

- **CMap consumer**
- **Character codes**
- **Compatible CIDFont**

## Connections

- CMap consumer → CNS1-7 CMaps: selects map (evidence: `README.md`)
- CMap consumer → GB1-6 CMaps: selects map (evidence: `README.md`)
- CMap consumer → Japan1-7 CMaps: selects map (evidence: `README.md`)
- CMap consumer → Deprecated Japan2-0: selects map (evidence: `README.md`)
- CMap consumer → Korea1-2 CMaps: selects map (evidence: `README.md`)
- CMap consumer → Adobe-KR-9 CMaps: selects map (evidence: `README.md`)
- CMap consumer → Identity CMaps: selects map (evidence: `README.md`)
- CMap consumer → Manga1-0 CMaps: selects map (evidence: `README.md`)
- Character codes → CNS1-7 CMaps: maps to CIDs (evidence: `README.md`)
- Character codes → GB1-6 CMaps: maps to CIDs (evidence: `README.md`)
- Character codes → Japan1-7 CMaps: maps to CIDs (evidence: `README.md`)
- Character codes → Deprecated Japan2-0: maps to CIDs (evidence: `README.md`)
- Character codes → Korea1-2 CMaps: maps to CIDs (evidence: `README.md`)
- Character codes → Adobe-KR-9 CMaps: maps to CIDs (evidence: `README.md`)
- Character codes → Identity CMaps: maps to CIDs (evidence: `README.md`)
- Character codes → Manga1-0 CMaps: maps to CIDs (evidence: `README.md`)
- CNS1-7 CMaps → Compatible CIDFont: requires matching ROS (evidence: `README.md`)
- GB1-6 CMaps → Compatible CIDFont: requires matching ROS (evidence: `README.md`)
- Japan1-7 CMaps → Compatible CIDFont: requires matching ROS (evidence: `README.md`)
- Deprecated Japan2-0 → Compatible CIDFont: requires matching ROS (evidence: `README.md`)
- Korea1-2 CMaps → Compatible CIDFont: requires matching ROS (evidence: `README.md`)
- Adobe-KR-9 CMaps → Compatible CIDFont: requires matching ROS (evidence: `README.md`)
- Identity CMaps → Compatible CIDFont: requires matching ROS (evidence: `README.md`)
- Manga1-0 CMaps → Compatible CIDFont: requires matching ROS (evidence: `README.md`)
- Japan1-7 CMaps → Japan1 JIS mappings: includes mappings (evidence: `README.md`)
