• Font
  • Family
  • Foundry
  • Designer
  • Sample
  • Article
  • Help
Fontke.com>Article>Details

CMap Resource Updates & Change Policies

Date:2012-05-24 13:26:12| News|Browse: 257|Source: Adobe Blogs|Author: Dr. Ken Lunde
  • Follow FontKe on Wechat to get Zcode
  • Scan the Qrcode to participate in the SVIP lottery
IntroductionFor those font developers who are not aware, the official CMap re

For those font developers who are not aware, the official CMap resource repository for our public ROSes is the CMap Resources Forum.

The UTF-16 and UTF-32 CMap resources were introduced in August of 2001, beginning with Adobe-CNS1-4. Those for Adobe-Korea1-2 and Adobe-Japan2-0 followed in January of 2002, followed by those for Adobe-GB1-4 in June of the same year. The UTF-16 and UTF-32 CMap resources for Adobe-Japan1-5 were not released until November of 2002. From that point, the UCS-2 CMap resources were deprecated, and were no longer updated. Clients that used the UCS-2 CMap resources were encouraged to use the UTF-16 or UTF-32 ones instead. For OpenType font development, in terms of building the Unicode (Format 4 and 12) 'cmap' subtables, the UTF-32 CMap resources are recommended.

When the UTF-16 and UTF-32 CMap resources for Adobe-Japan1-5 were developed, the following mappings changed when compared to the now-deprecated UCS-2 versions:

MappingExplanation
U+007C → CID+99Was CID+93; error; swapped with U+00A6; NOTE: CIDs 93 and 99 have the same widths in all Morisawa and Adobe fonts
U+007E → CID+100Was CID+95; error; U+02DC and U+0303 map to CID+95
U+00A6 → CID+93Was CID+99; error; swapped with U+007C; NOTE: CIDs 93 and 99 have the same widths in all Morisawa and Adobe fonts
U+0127 → CID+15816Was CID+12092; primary is U+210F, and maps to CID+12092
U+01C0removedWas CID+99; primary is U+007C, and maps to CID+99
U+0361 → CID+15845Was CID+758; primary is U+2312, and maps to CID+758
U+045BremovedWas CID+12092; primary is U+210F, and maps to CID+12092
U+2018 → CID+98Was CID+670; U+2018 is for Latin text, and CID+98 is better
U+2019 → CID+96Was CID+671; U+2019 is for Latin text, and CID+96 is better
U+201C → CID+108Was CID+672; U+201C is for Latin text, and CID+108 is better
U+201D → CID+122Was CID+673; U+201D is for Latin text, and CID+122 is better
U+203E → CID+226Was CID+325; should have been CID+226 from the beginning
U+20DD → CID+16328Was CID+779; primary is U+25EF, and maps to CID+779
U+2195removedWas CID+12215
U+2225 → CID+15489Was CID+666; primary is U+2016, and maps to CID+666; CID+15489 better matches CID+15490, which maps from U+2226
U+223C → CID+100Was CID+665; primary is U+301C, and maps to CID+665
U+229DremovedWas CID+12186; primary is U+2296, and maps to CID+12186
U+229E → CID+15906Was CID+12190
U+22EEremovedWas CID+7897; vertical variant of U+2026
U+22EFremovedWas CID+668; primary is U+2026, and maps to CID+668
U+2300removedWas CID+12184; primary is U+2205, and maps to CID+12184
U+244AremovedWas CID+12116; error
U+2612 → CID+16233Was CID+12185; primary is U+22A0, and maps to CID+12185
U+2EAC → CID+19130Was CID+2260; primary is U+793A, and maps to CID+2260; U+2F70 also maps to CID+2260
U+5002 → CID+20299Was CID+13383; for JIS X 0213:2000 compatibility
U+51DE → CID+20300Was CID+14352; for JIS X 0213:2000 compatibility
U+5307 → CID+20301Was CID+8404; for JIS X 0213:2000 compatibility
U+5561 → CID+20308Was CID+14393; for JIS X 0213:2000 compatibility
U+5BEC → CID+20302Was CID+8436; for JIS X 0213:2000 compatibility
U+5DB2 → CID+15405Was CID+15269; for JIS X 0213:2000 compatibility
U+5ECB → CID+15390Was CID+14510; for JIS X 0213:2000 compatibility
U+661E → CID+20304Was CID+8476; for JIS X 0213:2000 compatibility
U+6677 → CID+16889Was CID+14609; for JIS X 0213:2000 compatibility
U+6801 → CID+14066Was CID+8494; for JIS X 0213:2000 compatibility
U+69EA → CID+13329Was CID+13679; for JIS X 0213:2000 compatibility
U+6C3A → CID+20309Was CID+14690; for JIS X 0213:2000 compatibility
U+6FF9 → CID+15395Was CID+14741; for JIS X 0213:2000 compatibility
U+704A → CID+20306Was CID+14744; for JIS X 0213:2000 compatibility
U+71B3 → CID+15397Was CID+14766; for JIS X 0213:2000 compatibility
U+7462 → CID+16977Was CID+8561; for JIS X 0213:2000 compatibility
U+7626 → CID+13893Was CID+7725; for JIS X 0213:2000 compatibility
U+7934 → CID+17014Was CID+14904; for JIS X 0213:2000 compatibility
U+7A60 → CID+20310Was CID+14926; for JIS X 0213:2000 compatibility
U+7D5C → CID+17041Was CID+8592; for JIS X 0213:2000 compatibility
U+8803 → CID+20312Was CID+15107; for JIS X 0213:2000 compatibility
U+8FC6 → CID+18759Was CID+15185; for JIS X 0213:2000 compatibility
U+9365 → CID+17168Was CID+15238; for JIS X 0213:2000 compatibility
U+95AB → CID+20313Was CID+15258; for JIS X 0213:2000 compatibility
U+9755 → CID+20314Was CID+8696; for JIS X 0213:2000 compatibility
U+9B2D → CID+17205Was CID+13372; for JIS X 0213:2000 compatibility
U+9C6A → CID+19061Was CID+15346; for JIS X 0213:2000 compatibility
U+F929 → CID+20305Was CID+8489; for JIS X 0213:2000 compatibility
U+F9DC → CID+13393Was CID+8686; for JIS X 0213:2000 compatibility
U+FA10 → CID+7746Was CID+8422; for JIS X 0213:2000 compatibility
U+FA11 → CID+14290Was CID+8443; for JIS X 0213:2000 compatibility
U+FA15 → CID+20307Was CID+8542; for JIS X 0213:2000 compatibility
U+FA24 → CID+18760Was CID+8632; for JIS X 0213:2000 compatibility

Since releasing the UTF-16 and UTF-32 CMap resources, the only changes to existing mappings were the following:

November of 2002: The UniGB-UTF8-H (CMapVersion=13.001), UniGB-UTF16-H (CMapVersion=1.001), and UniGB-UTF32-H (CMapVersion=1.001) CMap resources had the mappings for U+30F8 and U+30F9 swapped. This was a simple matter of error correction.

September of 2003: The UniJIS-UTF8-H (CMapVersion=13.002), UniJIS-UTF16-H (CMapVersion=1.002), UniJIS-UTF32-H (CMapVersion=1.002), and UniJISX0213-UTF32-H (CMapVersion=1.002) CMap resources had the U+02C0 → CID+15897 mapping removed, and the U+02C1 → CID+15897 mapping added. This was a simple matter of error correction.

November of 2003: The UniGB-UTF8-V (CMapVersion=13.001), UniGB-UTF16-V (CMapVersion=1.001), and UniGB-UTF32-V (CMapVersion=1.001) CMap resources had the U+2225 → CID+7708 mapping removed.

December of 2005: The UniJIS-UTF8-V (CMapVersion=13.002), UniJIS-UTF16-V (CMapVersion=1.002), UniJIS-UTF32-V (CMapVersion=1.002), and UniJISX0213-UTF32-V (CMapVersion=1.002) CMap resources had the U+303B → CID+12107 mapping removed.

January of 2007: The UniJIS2004-UTF8-H (CMapVersion=1.001), UniJIS2004-UTF16-H (CMapVersion=1.001), and UniJIS2004-UTF32-H (CMapVersion=1.001) CMap resources introduced the following changes to existing mappings: U+5906 → CID+21371 (was CID+17469), U+609E → CID+21558 (was CID+14541), U+66B5 → CID+21722 (was CID+17755), U+7152 → CID+21933 (was CID+14762), and U+9A4A → CID+22920 (was CID+15319). These changes were for JIS X 0213:2004 compatibility.

As you can see from the above list of changes to existing mappings, they have been done infrequently, with the last one being over five years ago. Our policy is to not change existing mappings unless it is absolutely necessary.

In terms of CMap resource updates, such as for additional mappings, they are usually triggered by new versions of Unicode (a previously unencoded glyph can now be encoded; for example, Unicode Version 6.1 introduced U+9FCC, which maps to Adobe-Japan1-6 CID+20156, and which triggered a CMap resource update) or the definition of a new Supplement.

0
  • Follow FontKe on Wechat to get Zcode
  • Scan the Qrcode to participate in the SVIP lottery
Relevant font designer
Relevant font foundry
CMap Resource Updates & Change Policies Comments
Guest Please obey the rules of this website. Unclear?
CMap Resource Updates & Change Policies Latest comments
No relevant comments