5-3. 共通グリフセットの詳細

目次

CID解説

 2020年8月更新分より、錦明朝およびその派生の錦源明朝、そして霧ゴシック霧明朝はCIDの並びが共通化されてAdobe-Japan1-7の上位互換となっています。ただしAdobe-Japan1は独自拡張を認めていないことから、ROSはAdobe-Japan1を名乗らず現時点ではAdobe-Identity-0にしてあります。将来的には独自のROS名にする可能性もあります。
 このグリフ集合の関連情報を以下にまとめました。

CID+0~CID+23059の補説

 この範囲は前述したフォントすべてでAdobe-Japan1-7に準拠したCIDの並びになっていますが、現時点ではどのフォントもCID+0からCID+23059までをフルサポートはしていません。
 グリフがないCID番号はUnicode値との紐付けを解除して、対応していない文字が空白で表示されたり豆腐に化けたりせぬようにしてあります。

仮名グリフと縦書き

 Adobe-Japan1-7に含まれている仮名文字用グリフは、次の8種類に分類されます:1) 既定のもの、2) 縦書き用の小さな仮名(「っゃゅょ」など。横書き用は下のほうへ寄せてあるのに対して縦書き用は右のほうへ寄せてある)、3) 横書き専用デザインのもの、4) 縦書き専用デザインのもの、5) プロポーショナルな横書き専用、6) プロポーショナルな縦書き専用、7) ルビ用(縮小されることを見越してあらかじめ太めに作ってある)、8) 半角。
 このうち 1), 2), 8) の3種類がもっとも古くからあるもので、他は後にSupplementとして追加されたものです。

 Adobeが提供しているAdobe-Japan1用のGSUBテーブルにおいて、縦書き時に既定のグリフが自動的に縦書き用グリフへと切り替わるよう指示されているのは小さな仮名のみです。つまり 1) → 2) という置換のみが「義務的」です。それ以外の仮名文字では、縦専用グリフの使用は任意となっていて、4) に置換するにはvknaや、hkna+vert/vrt2を使って明示的に切り替える必要があります。

 これに対して源ノ角ゴシック・源ノ明朝では、仮名文字用グリフは a) 既定兼横書き用、b) 縦書き用、c) 半角の3種類に整理されていて、プロポーショナルなグリフは a) または b) の両端の余白をpalt(横書き時)ないしvpal(縦書き時)でカットすることによって実現しています。
 そして縦書き時には、vert/vrt2によってすべての仮名文字が常に縦書き用グリフへと自動的に置換されるようになっています。

 霧ゴシック・霧明朝ともに、派生元である源ノ角ゴシック・源ノ明朝の仕様を受け継ぎつつAdobe-Japan1の仕様にも合わせるため、仮名グリフについては次のように処理しました。

  1. 「a) 既定兼横書き用のグリフ」は「1) 既定のもの」のCIDを割り当てる。
  2. 「b) 縦書き用仮名グリフ」は「4) 縦書き専用」のCIDを割り当てる。ただし小さな仮名に限っては「2) 縦書き用の小さな仮名」のCIDも割り当てて、同じものが 2) と 4) とに重出している状態にする。
  3. 縦書きの際、小さな仮名は 1) → 2) へと置換されるようにし、それ以外の仮名は 1) → 4) へと置換されるようにする。この置換はvert/vrt2を使い、縦書き時には常に適用されるようにする。

 即ち 1), 2), 4) にはすべてグリフが割り当てられていて、逆に 3), 5), 6), 7) は空っぽの状態です。このうち 3) は a) を流用することで、そして 5), 6) についてもpalt, vpalの情報を使ってグリフを作り出すことで、それぞれ埋めることも一応可能ではありますが、デザインに差異がない以上、同じグリフを複数のCIDに割り当てても単にフォントサイズを膨らませる結果にしかなりませんので、現時点では見送ってあります。

 2020年8月現在、CID+23058~23059 (U+32FF) は霧ゴシックにのみグリフが入っています。源ノ明朝でこの字を含む版がリリースされ次第、霧明朝、錦源明朝にも含める予定です。

CID+23060~CID+23192

 Adobe-Japan1-7の続きの部分です。主に語学や音声学に関するものが入っています。この範囲は前記4フォントファミリーすべてで対応しています。
 詳細は次の通りです。

CID+23060~CID+23192
CID値: Unicode値 解説
23060: 0114
23061: 0115
23062: 012C
23063: 012D
23064: 014E
23065: 014F

CID23060-23065

 それぞれ E/e, I/i, O/o の上にブレヴェ (breve) と呼ばれる記号を乗せたものです。母音にブレヴェを乗せたグリフのうち、A/aとU/uとはAdobe-Japan1に含まれていますが、E/e, I/i, O/oは含まれていません。
 母音字+ブレヴェはラテン語を綴る際に使われることがあります。

 なお最後の2字、O/o の上にブレヴェを乗せたものだけは、源ノ角ゴシック (Source Han Sans) と源ノ明朝 (Source Han Serif) にも含まれています。

23066: 0059+0306
23067: 0079+0306
23068: 0232
23069: 0233

CID23066-23069

 それぞれ Y/y の上にブレヴェ、マクロン (macron) と呼ばれる記号を乗せたものです。ラテン語では Y/y は母音字であることから、長短の区別を示す際にこれらの記号が付与されることもあります。
 他の母音字にマクロンを乗せたものは既にAdobe-Japan1に含まれています (CID+9361~9370)。

23070: 0100+0306
23071: 0101+0306
23072: 0112+0306
23073: 0113+0306
23074: 012A+0306
23075: 012B+0306
23076: 014C+0306
23077: 014D+0306
23078: 016A+0306
23079: 016B+0306
23080: 0232+0306
23081: 0233+0306

CID23070-23081

 それぞれ A/a, E/e, I/i, O/o, U/u, Y/y の上にマクロン (U+0304) を乗せ、さらにその上にブレヴェ (U+0306) を乗せたものです。ラテン語を綴る際、「長母音としても短母音としても発音される」ことを示すのに使われます。

23082: 01FC
23083: 0152+0301
23084: 0153+0301

CID23082-23084

 それぞれ Æ (U+00C6), Œ, œ の上に鋭アクセント(アクサンテギュ)を乗せたものです。こちらもラテン語(主に教会ラテン語・中世ラテン語)で使われることがあるので収録しました。
 Ǽの小文字ǽ (U+01FD) のほうは既にAdobe-Japan1に含まれています (CID+9421)。

 ラテン語用グリフはここまでです。

23085: 01C0
23086: 01C1

CID23085-23086

 ここからはIPA記号です。
 大半のIPA記号はAdobe-Japan1-7に含まれていますが、漏れてしまっている記号もわずかながら存在します。九割方揃っていて少しだけ欠けているというのも勿体ないので、IPAの公式チャートに載っている記号は一通りグリフを収録しました。

 IPA公式サイトにあるUnicode値付きのチャートの2段目、CONSONANTS (NON-PULMONIC) という表の左の列には、吸着音 (Clicks) と呼ばれる記号が5つ縦に並んでいます。このうち1番上のU+0298と、下からの2番目のU+01C2とはAdobe-Japan1-7に収録済みです(それぞれCID+15820、CID+15821)。
 そして真ん中のU+01C3は、U+0021 (CID+2) とまったく同じグリフですので、CMapに追記するだけで対応できます。

 残ったU+01C0とU+01C1とについては、それぞれ | (U+007C) および‖(U+2016) のグリフを流用することも検討しましたが、これらのグリフはステムの幅や高さがU+01C2と著しく異なっていて並べた時に統一感がないことから、U+01C0とU+01C1とには別CIDを割り当てました。

23087: 029B

CID23087

 JIS X 0213が正しく対応し損ねたと思われる文字その1です。JIS X 0213の表では大文字のGをベースとしたグリフで示されていることもあり(1面11区9点)、大半のフォントではƓ (U+0193) にマッピングされています。

  • JIS X 0213の1面11区9点付近(大文字のGベース)
    JIS X 0213の1面11区9点付近

 しかし同表でこの付近(1面11区)に配置されている文字はいずれもIPA記号であることを踏まえますと、JIS X 0213が本当にサポートしたかったのはIPA記号のU+029B(グリフの高さがx-height相当のもの≒スモールキャピタルのGがベースであるグリフ)であったのではないかと推察されます。

  • IPA表の該当部分(グリフの高さがx-height相当≒スモールキャピタルのGベース)
    IPAチャートの一部

 IPAの公式チャートに載っている記号は一通り対応するという方針の下、このU+029Bも不足分を補うため収録しました。

23088: 02E4

CID23088

 こちらはAdobe-Japan1が正しく対応し損ねたと思われる文字です。Adobe-Japan1の表でCID+15897は次のようなグリフで示され、かつCMapではU+02C1と結びつけられています。

  • Adobe-Japan1のCID+15897(中央の文字)付近
    Adobe-Japan1のCID+15897付近

 しかしこのCID+15897のグリフのように、縦ステムの底部に下駄のようなものがあるのは、Unicodeの表ではU+02C1ではなくU+02E4のほうです。

  • UnicodeチャートのU+02C1とU+02E4
    02C1のグリフ 02E4のグリフ

 Unicodeの表でU+02E4は「Additions based on 1989 IPA」という見出しの下にあり、IPA記号であることが分かります。対してU+02C1は「Miscellaneous phonetic modifiers」という見出しの下にあり、「IPA記号風の何か」に過ぎぬらしいことが分かります。
 グリフで判断すべきかマッピングで判断すべきか迷いましたが、ひとまずマッピングのほうを重視して「Adobe-Japan1にはU+02E4が欠けている」と見なすこととし、U+02E4を新規に追加しました。

23089: 02E7+02E5
23090: 02E9+02E7
23091: 02E7+02E6+02E8
23092: 1DC4
23093: 1DC5
23094: 1DC8

CID23089-23094

 IPAのトーン記号です。それぞれ high rising, low rising, rising-falling を表すdiacriticsおよび音調曲線です。JIS X 0213に入らなかった経緯は不明です。1989年版のIPAチャートにも掲載されていますので(右下)、少なくとも規格策定当時まだなかったという理由ではなさそうです。

23095: 2C71

CID23095

 2005年に追加されたIPA記号です。JIS X 0213やAdobe-Japan1-6制定時にはまだなかったためどちらにも入っていません。

23096: A71B
23097: A71C

CID23096-23097

 再びIPAのトーン記号です。

23098: 0251+0301
23099: 0251+0300
23100: 025B+0301
23101: 025B+0300

CID23098-23101

 JIS X 0213が正しく対応し損ねたと思われる文字群その2です。1面11区38-39点および48-49点は、ほとんどの日本語フォントでそれぞれギリシア文字のU+1F70, U+1F71, U+1F72, U+1F73にマッピングされています。しかしこの付近の文字は基本的にIPA記号ですので、本当にサポートしたかったのはIPA記号であるU+0251とU+025Bとの上に、それぞれU+0301とU+0300とを乗せたものであったのではないかと判断し、これらを改めて追加しました。

 CID+9419~9420、CID+9433~9434を再利用して多重マッピングにしなかったのは、ラテン文字ベースのIPA記号とギリシア文字とでは、グリフのデザインが微妙に異なっているケースも少なくないためです(特にU+0251のɑとU+03B1のα)。

23102: 0300
23103: 0301
23104: 0302
23105: 0303
23106: 0304
23107: 030A

CID23102-23107

 Adobe-Japan1では幅ありのdiacritics (U+02B0~U+02FF他) と、合成を前提とした0幅のdiacritics (U+0300~U+036F) とで同じグリフを共有しているケースがあります。例えばCID+65のグリフは、「U+0060, U+02CB, U+0300」という3つのコードポイントと結びつけられています。
 そのため「A (CID+34), U+0300 (CID+65)」という並びが À (CID+164) に置き換わるよう置換指示データをフォントに書き込みますと、「A, ` (U+0060)」や「A, U+02CB」という並びまでもが À に置き換わってしまいます。

 この状態が少し気になりましたので、「IPA表に掲載されているもの」に限って先のような包摂を解除し、合成を前提とした0幅のdiacritics (U+0300~U+036F) のほうには別CIDを割り当てました。
 対象となったのは次の6グリフです。

  • CID+65: U+0060, U+02CB, U+0300.
  • CID+127: U+02CA, U+0301.
  • CID+128: U+02C6, U+0302.
  • CID+95: U+02DC, U+0303.
  • CID+129: U+00AF, U+02C9, U+0304.
  • CID+133: U+02DA, U+030A.

 なおこれに関連して、Adobe-Japan1のチャートでは「幅ありグリフ」で例示されているCIDでも、それが0幅文字(U+0300~U+036Fの範囲)にのみマッピングされている場合は、独自に0幅グリフに置換しました。具体的には次のものが該当します。

  • CID+130: U+0306
  • CID+131: U+0307
  • CID+132: U+0308
  • CID+135: U+030B
  • CID+136: U+0328
  • CID+137: U+030C
  • CID+15850: U+030F

 Adobe-Japan1において幅ありのdiacriticsと、0幅のdiacriticsとがグリフを共有している例は他にもありますが、「IPA表に掲載されているもの」という条件を満たさないものについては今回は何もしませんでした。

23108: 035C

CID23108

 JIS X 0213が正しく対応し損ねたように思われる文字その3です。JIS X 0213の1面11区56点(音符のタイのような記号)は大抵の場合、U+203Fに結びつけられていますが、この文字は「1面11区50点(=U+0361)とペアをなしているようであること」「この付近はIPA記号が集まっていること」を踏まえますと、本当はU+035Cとマッピングされるべきものであったのではないかと考え、新規に追加しました。

 IPA記号の補完はここまでです。

23109: 017F

CID23109

 小文字のsを縦に引き伸ばした文字です。OCRでは誤ってfとして読み取られてしまっているのをよく見かけます。
 特にはっきりとした用途が念頭にあったわけでもないのですが、個人的に見かける機会が多いのでフォントに入れました。

23110: 1B000
23111: 1B001

𛀀と𛀁

 当サイトのメインです。

23112: 3089+309A
23113: 308A+309A
23114: 308B+309A
23115: 308C+309A
23116: 308D+309A
23117: 30E9+309A
23118: 30EA+309A
23119: 30EB+309A
23120: 30EC+309A
23121: 30ED+309A

ら゚り゚る゚れ゚ろ゚ラ゚リ゚ル゚レ゚ロ゚

 それぞれ「らりるれろラリルレロ」に合成用半濁点 (U+309A) を重ねたものです。外来語のL音を表記するために考案されたもので、国会図書館のデジタルコレクションの中にちょくちょく用例が見つかります。 例1a1b例2例3例4a4b例5例6(ひらがな)

 いわば外来語表記用に考案された仮名として「ヴ」ほどには世間に浸透せず、いつしか忘れられてしまったものとも言えます。同じように忘れられてしまった仮名としては濁点付ワヰヱヲというものもありますが、こちらはAdobe-Japan1に収録されています(CID+8313から8316)。
 もっともこちらの半濁点付きラリルレロは、今もラテン語聖歌集の中で使われています(下図)。またミサがラテン語のみだった頃は典礼聖歌集の中でも見られたようです:解説用例

  • ラ゚行仮名の用例
    ラ゚行仮名の用例1 ラ゚行仮名の用例2

 もう少し日の目を見てほしいと思いフォントに収録しました。

23122-23171

CID23122-23171

 ここからは縦書き時に使用されることを意図したグリフです。
 CID+23122から23171までは、それぞれCID+23060から23109までの50グリフを90度時計周りに回転させたものです。23060-23109→23122-23171はvrt2で紐付けされています。

23172-23173

CID23172-23173

 合成用の濁点 (U+3099, CID+16326) および同半濁点 (U+309A, CID+16327) の縦書き時用グリフです。
 源ノ角ゴシック・源ノ明朝ともこれらの既定兼横書き用グリフは、座標原点 (0,0) の左側に濁点または半濁点を置いた上でadvance width(送り幅)を0にすることにより、直前の(左隣の)グリフに重ねて描画されるように作られています(下図。中央下のTが原点)。
合成用濁点および半濁点の既定兼横書き用グリフ

 それに対して上の縦書き用グリフは、グリフのadvance height(「送り幅」ならぬ「送り高さ」)を0にした上でVORGを-120に設定することにより、直前の(真上の)グリフに重ねて描画されるように作ってあります。

 源ノ角ゴシック・源ノ明朝ではGPOSとvertとを組み合わせ、既定兼横書き用グリフを直接右上へ移動させることで縦書きに対応させようとしています。しかしこのようなvertの使い方はOpenType仕様書に記載がなく、期待通りの動作をする環境は少ないのではないかと思われますので、従来からあって仕様書にも載っているGSUBを使った方法で適切なグリフに切り替わるようにすべくCIDを割り当てました。

 これらのグリフを利用した合成は、直前の文字が何であれ濁点や半濁点を打つことが出来るというメリットがある反面、あくまで機械的に重ね描きするだけであることから、既に線が描画されているところに濁点や半濁点を描いてしまうことも起こり得るというデメリットがあります。そのため合成済みのグリフが用意されていない組み合わせ限定で使われるようにしてあります。

23174-23185

𛀀と𛀁、ら゚行、ラ゚行仮名の縦書き用グリフ

 CID+23110から23121までの12グリフの縦書き版です。

 錦明朝(派生の錦源明朝も含む)は小さな仮名(「っゃゅょ」など)を除いて、縦書き専用の仮名グリフというものを現時点では持っていません。そのためこの範囲にも何も入っていません。

23186: FFF9
23187: FFFA
23188: FFFB
23189: FDD0
23190: FDD1
23191: FDD2
23192: FDD3

 拙作のSolstitiumに渡すテキストを編集する際、これらのコードポイントにグリフがあると便利なことからフォントに入れてあります。

 最初の3つはそれぞれ「ルビ対象文字列開始」「ルビ開始」「ルビ終了」を表します。
 U+FDD0からU+FDEFまでは「プログラム内部で自由に使って良いコードポイント領域」です。

CID+23193~CID+23290

 2020年秋に増補した部分です。この範囲のグリフは現時点では霧ゴシックと霧明朝のみがサポートしています。ただもし時間と気力の都合が付くようであれば、いつか錦明朝および錦源明朝にも含められたら良いなと思い、あえて次のブロックとは切り離して配置してあります。
 詳細は次の通りです。

CID+23193~CID+23290
CID値: Unicode値 解説
23193: 0123

CID23193

 ここまでの追加により、結果として Latin Extended-Aブロック(U+0100~U+017F)で対応していないのはこの文字だけになったこと、そして対となる大文字 (U+0122, Ģ) は既にSupplement 6 (CID+20336) で追加されていることとを踏まえてこの字も含めました。
 Adobe-Japan1で小文字のほうだけ欠落している理由は不明です。

23194-23216

CID23194-23216

 CID+23060~CID+23082のイタリックグリフです。
 Adobe-Japan1-4以降、ラテン文字はイタリック体にも別途CIDが割り当てるのが慣例になっています。それに倣ったものです。

23217

CID23217

 U+01FD/ǽ (CID+9421) のイタリックグリフです。1つ前、CID+23216の小文字に相当するものです。
 Adobe-Japan1では、ラテン文字でもIPA記号と見なされたものにはイタリック体グリフが用意されていません。しかし当集合ではこの文字はラテン語表記用と見なしていることから、イタリックグリフを用意しました。

23218-23219

CID23218-23219

 CID+23083~CID+23084のイタリックグリフです。
 ローマン体はCID+23060~CID+23084で一続きになっているのですが、イタリック体ではCID+23217を挟んだためこの2文字だけ分断された格好になってしまっています。

23220-23223

CID23220-23223

 それぞれ U+0123/ģ (CID+23193), U+0127/ħ (CID+15816), U+014B/ŋ (CID+9436), U+017F/ſ (CID+23109) のイタリック体グリフです。ここまでの追加により、Latin Extended-Aブロック(U+0100~U+017F)でイタリック体グリフがないのはこれら4文字のみとなったので含めることにしたものです。
 Adobe-Japan1にU+014B/ŋのイタリック体グリフがないのは、おそらくIPA記号と見なされたためと思われます。
 一方U+0127のほうがない理由は不明です。

23224-23229

CID23224-23229

 それぞれCID+23102~CID+23107(U+0300~0304, 030A)のイタリック体グリフです。
 合成を前提とした文字にも単体のイタリックグリフが要るかは悩ましいところですが、幅ありグリフとの包摂を解除したせいでイタリック体グリフが使えなくなったという状態は好ましくないと判断し、一応これらにも追加することにしました。

23230-23266

CID23230-23266

 ここまでに出てきたCID+23193~CID+23229の縦書き用グリフです。

23267-23269

CID23267-23269

 それぞれ U+0268/ɨ (CID+15827)、U+029D/ʝ (CID+15811)、U+012F/į (CID+20357) の上部の点を取ったものです。i (CID+00074)、j (CID+00075) から点を取ったものは既にAdobe-Japan1に含まれています(それぞれCID+00146、CID+09435)。
 マクロンなど点以外のdiacritic記号と組み合わせることを意図したグリフです。

23270-23271

CID23270-23271

 それぞれ U+0237/ȷ (CID+09435)、CID+23269のイタリック体グリフです。U+0131/ı (CID+00146) のイタリック体グリフは既にAdobe-Japan1に含まれています (CID+09589)。

 上のCID+23267~23268については、IPA記号にはイタリック体グリフを用意しないというAdobe-Japan1の慣例に従って現時点ではイタリック体グリフを含めてありません。

23272-23276

CID23272-23276

 CID+23267~CID+23271までの縦書き用グリフです。

23277-23278

CID23277-23278

 それぞれ合成用の囲み白丸 (CID+16328, U+20DD) と白い四角形 (CID+11035, U+20DE) の縦書き用グリフです。合成用濁点・半濁点と同じ理由により、縦書き用グリフを別途用意してCIDを割り当てました。

23279: 301A
23280: 301B

CID23279-23280

 U+301AとU+301Bとです。

23285-23286

CID23285-23286

 CID+23279~CID+23280の縦書き用グリフです。

23281-23284
23287-23290

 この範囲は意図的に空けてあります。

CID+23291~CID+23714

 この範囲のグリフは霧ゴシックと霧明朝のみがサポートしています。
 それぞれの派生元である源ノ角ゴシック、源ノ明朝ともに収録している文字のうち、Adobe-Japan1-7になく、かつここまでの表にも含まれていないものをこの範囲にまとめて配置しました。ただし両フォントに含まれているグリフでも、日本向けではないと思われるものは除外しました。

 詳細は次の通りです。濁点付きひらがなや康煕部首、ARIB記号と思われるものなどが主です。

CID+23291~CID+23714
CID値 解説
23293-23312
23315-23714

 グリフ数が多いのでCIDとUnicode値との対応表は別ファイルにしてあります。
 同じ理由から画像も縮小してありますが、クリックすると本来の大きさの画像が新規のタブウィンドウで表示されます。

  • CID23293-23714

 何が配置されているかは次のマッピング表でも確認できます。

 特記事項のあるグリフのみこの下で別途取り上げます。

23291: 3031
23292: 3032

CID23291-23292

 それぞれU+3033/U+3034とU+3035とを結合済みの状態にしたものです。
 バウンディングボックスが大きなグリフは、環境によっては行間が開きすぎるなどのトラブルを引き起こすこともあるため、将来的にこの2つは削除するかもしれません。

23313-23314

CID23313-23314

 それぞれ〆 (CID+658, U+3006)、ゟ (CID+12181, U+309F) の縦書き用グリフです。Adobe-Japan1ではこれらに対して縦書きグリフ用のCIDを割り当てていないよう(プロポーショナルならあり)でしたので、ここに配置しました。

備考

リソース

HTML5