プログラム
>> 15_cff.c
CFF テーブルのデータを表示するプログラムです。
CFF テーブルのデータを表示するプログラムです。
CID フォントでない場合 (欧文フォントなど)
---- Header ---- version: 1.0 hdrSize: 4 offSize: 3 ---- Name INDEX ---- "SourceCodePro-Regular" (21) ---- Top DICT INDEX ---- 1746, [0] 1747, [1] 1748, [12, 0] 1749, [3] 1, [12, 1] -193, -454, 793, 1060, [5] 22652, [15] 60, 86887, [18] 23525, [17] ---- String INDEX ---- SID[391] "Amacron" (7) SID[392] "Abreve" (6) .. SID[1746] "1.0" (3) SID[1747] "Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries." (96) SID[1748] "Copyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved." (69) SID[1749] "Source Code Pro" (15) ---- Charsets ---- (glyphs: 1585) format: 2 GID 1: 1 GID 2-27: 34-59 GID 28-53: 66-91 ... GID 1273: 135 GID 1274-1584: 1435-1745 ---- Private DICT ---- -12, 12, 486, 12, 76, 12, 52, 12, 6, 12, 44, 12, [6] -217, 12, [7] -12, 12, 486, 12, 76, 12, 52, 12, 6, 12, 44, 12, [8] -217, 12, [9] .0625, [12, 9] 0, [12, 11] 67, [10] 85, [11] 67, [12, 12] 85, [12, 13] 600, [20] 60, [19]
Top DICT には、先頭から順に、
「version」「Notice」「Copyright」「FamilyName」の文字列 ID が指定されています。
これらは、String INDEX から文字列を取得できます。
また、String INDEX には、各グリフの名前も定義されています。
CID フォントの場合
---- Header ---- version: 1.0 hdrSize: 4 offSize: 4 ---- Name INDEX ---- "SourceHanSerif-Regular" (22) ---- Top DICT INDEX ---- 391, 392, 0, [12, 30] 393, [1] 394, [2] 395, [3] 388, [4] -150, [12, 3] -997, -1049, 2929, 1809, [5] 1.00100005, [12, 31] 65535, [12, 34] 40502, [15] 40854, [17] 40507, [12, 37] 21281540, [12, 36] ---- String INDEX ---- SID[391] "Adobe" (5) SID[392] "Identity" (8) SID[393] "Copyright 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries." (197) SID[394] "Source Han Serif Regular" (24) SID[395] "Source Han Serif" (16) SID[396] "SourceHanSerif-Regular-Alphabetic" (33) SID[397] "SourceHanSerif-Regular-AlphabeticDigits" (39) SID[398] "SourceHanSerif-Regular-Bopomofo" (31) ... ---- Charsets ---- (glyphs: 65535) format: 2 GID 1-65534: 1-65534 ---- FDSelect ---- format: 3 0, 5 1, 15 102, 3 103, 15 ... ---- Font DICT INDEX ---- ## 0 ## 396, [12, 38] 34, 21281772, [18] << Private DICT >> -18, 18, 527, 18, 203, 17, [6] -278, 0, 10, 0, [7] 42, [10] 79, [11] 42, 25, [12, 12] 53, 26, 13, [12, 13] 1000, [20] 596, [19] ...
Top DICT の先頭には、「ROS (key = 12,30)」があります。
上記の場合、「Adobe-Identity-0」となります。
String INDEX にはグリフ名の定義がなく、代わりに Font DICT の「FontName (key = 12,38)」の文字列があります。
グリフの文字種類ごとに名前が分けられています。
また、FDArray のオフセット位置に、「Font DICT INDEX」データがあります。
INDEX のオブジェクトデータは DICT 構造で、「FontName」と「Private」の値があります。
ここでは、Private DICT の値も表示しています。