マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

IPA フォントか、IPAex フォントか

pTeX(または upTeX)の標準和文フォント(rml, gbm)の実体のフォントとして割り当てる」という使い方をする場合、IPA フォント(ipam.ttf, ipag.ttf;以下単に「IPA」と呼ぶ)と IPAex フォント(ipaexm.ttf, ipaexg.ttf;以下「IPAex」)はどちらが適当だろうか。

これを考える上の前提知識として、「この使い方をする場合には、実質的に全角幅をもつグリフしか使えなくなる」ということがある。すなわち、和文として用いられる文字のうち全角幅のグリフを持つものがどのくらいあるかが問題になる。

グリフの幅の選択の規準は基本的には

  • IPA: 欧文は半角幅、和文は全角幅
  • IPAex: 欧文はプロポーショナル、和文は全角幅

としているようである。従って、「グリフが全角幅である文字」の集合は両者において大体は等しい。しかし、以下のような点で違いが見られる。

  • 単純に IPAex の方が収録文字が多いのでそちらでのみ使える文字がある。
  • 欧文と和文の区別について、IPAex の方がより実際の使用状況に合わせているようにみえる。
  • IPA は旧来の「JIS X 0208 に相当する文字は全角幅」という慣習に従っているが IPAex はそうでない。

以下で具体的に違いをみていく。

IPAex でのみ使用可能な文字

まず最初に、(A1)「IPA は非収録、IPAex は全角幅」である文字。

  • Spacing Modifier Letters
    ʻ ʼ
  • General Punctuation
      ⁚ ⁝
  • CJK Radicals Supplement
    ⺃ ⺅ ⺇ ⺉ ⺎ ⺏ ⺐ ⺒ ⺓ ⺔ ⺖ ⺗ ⺘ ⺙ ⺛ ⺞ ⺟ ⺠ ⺡ ⺣ ⺤ ⺦ ⺨ ⺪ ⺫ ⺭ ⺲ ⺹ ⺽ ⺾ ⺿ ⻀ ⻁ ⻂ ⻃ ⻄ ⻊ ⻌ ⻍ ⻏ ⻑ ⻒ ⻖ ⻘ ⻞ ⻟ ⻤ ⻨ ⻩ ⻫ ⻭ ⻯ ⻲
  • Kangxi Radicals
    ⼀ ⼁ ⼂ ⼃ ⼄ ⼅ ⼆ ⼇ ⼈ ⼉ ⼊ ⼋ ⼌ ⼍ ⼎ ⼏ ⼐ ⼑ ⼒ ⼓ ⼔ ⼕ ⼖ ⼗ ⼘ ⼙ ⼚ ⼛ ⼜ ⼝ ⼞ ⼟ ⼠ ⼡ ⼢ ⼣ ⼤ ⼥ ⼦ ⼧ ⼨ ⼩ ⼪ ⼫ ⼬ ⼭ ⼮ ⼯ ⼰ ⼱ ⼲ ⼳ ⼴ ⼵ ⼶ ⼷ ⼸ ⼺ ⼻ ⼼ ⼽ ⼾ ⼿ ⽀ ⽁ ⽂ ⽃ ⽄ ⽅ ⽆ ⽇ ⽈ ⽉ ⽊ ⽋ ⽌ ⽍ ⽎ ⽏ ⽐ ⽑ ⽒ ⽓ ⽔ ⽕ ⽖ ⽗ ⽘ ⽙ ⽚ ⽛ ⽜ ⽝ ⽞ ⽟ ⽠ ⽡ ⽢ ⽣ ⽤ ⽥ ⽦ ⽧ ⽨ ⽩ ⽪ ⽫ ⽬ ⽭ ⽮ ⽯ ⽰ ⽱ ⽲ ⽳ ⽴ ⽵ ⽶ ⽷ ⽸ ⽹ ⽺ ⽻ ⽼ ⽽ ⽾ ⽿ ⾀ ⾁ ⾂ ⾃ ⾄ ⾅ ⾆ ⾇ ⾈ ⾉ ⾊ ⾋ ⾌ ⾍ ⾎ ⾏ ⾐ ⾑ ⾒ ⾓ ⾔ ⾕ ⾖ ⾗ ⾘ ⾙ ⾚ ⾛ ⾜ ⾝ ⾞ ⾟ ⾠ ⾡ ⾢ ⾣ ⾤ ⾥ ⾦ ⾧ ⾨ ⾩ ⾪ ⾫ ⾬ ⾭ ⾮ ⾯ ⾰ ⾱ ⾲ ⾳ ⾴ ⾵ ⾶ ⾷ ⾸ ⾹ ⾺ ⾻ ⾼ ⾽ ⾾ ⾿ ⿀ ⿁ ⿂ ⿃ ⿄ ⿅ ⿆ ⿇ ⿈ ⿉ ⿊ ⿋ ⿌ ⿍ ⿎ ⿏ ⿐ ⿑ ⿒ ⿓ ⿔ ⿕
  • CJK Symbols and Punctuation
    〄 〶
  • Enclosed CJK Letters and Months
    ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ ㈪ ㈫ ㈬ ㈭ ㈮ ㈯ ㈰ ㈳ ㈴ ㈵ ㈶ ㈷ ㈸ ㈺ ㈻ ㈼ ㈽ ㈾ ㈿ ㉀ ㉁ ㉂ ㉃ ㊀ ㊁ ㊂ ㊃ ㊄ ㊅ ㊆ ㊇ ㊈ ㊉ ㊊ ㊋ ㊌ ㊍ ㊎ ㊏ ㊐ ㊑ ㊒ ㊓ ㊔ ㊕ ㊖ ㊗ ㊘ ㊙ ㊚ ㊛ ㊜ ㊝ ㊞ ㊟ ㊠ ㊡ ㊢ ㊣ ㊩ ㊪ ㊫ ㊬ ㊭ ㊮ ㊯ ㊰ ㋤ ㋦ ㋧ ㋨ ㋪ ㋫ ㋮ ㋯ ㋰ ㋱ ㋲ ㋳ ㋴ ㋵ ㋶ ㋷ ㋸ ㋹ ㋻ ㋼ ㋽ ㋾
  • CJK Compatibility
    ㌀ ㌁ ㌂ ㌄ ㌅ ㌆ ㌇ ㌈ ㌉ ㌊ ㌋ ㌌ ㌎ ㌏ ㌐ ㌑ ㌒ ㌓ ㌕ ㌖ ㌗ ㌙ ㌚ ㌛ ㌜ ㌝ ㌞ ㌟ ㌠ ㌡ ㌤ ㌥ ㌨ ㌩ ㌪ ㌭ ㌮ ㌯ ㌰ ㌱ ㌲ ㌳ ㌴ ㌵ ㌷ ㌸ ㌹ ㌺ ㌼ ㌽ ㌾ ㌿ ㍀ ㍁ ㍂ ㍃ ㍄ ㍅ ㍆ ㍇ ㍈ ㍋ ㍌ ㍎ ㍏ ㍐ ㍒ ㍓ ㍔ ㍕ ㍖ ㍱ ㍿ ㎅ ㎆ ㎇ ㎈ ㎉ ㎍ ㎐ ㎖ ㎗ ㎘ ㎛ ㎟ ㎠ ㎢ ㎣ ㎤ ㎥ ㎦ ㎰ ㎱ ㎲ ㎳ ㏂ ㏈ ㏔ ㏗ ㏘ ㏚
  • CJK Compatibility Ideographs
    漣 煉 溺
  • Vertical Forms ︐ ︑ ︒ ︙
  • CJK Compatibility Forms
    ︰ ︱ ︲ ︳ ︵ ︶ ︷ ︸ ︹ ︺ ︻ ︼ ︽ ︾ ︿ ﹀ ﹁ ﹂ ﹃ ﹄ ﹇ ﹈
  • CJK Compatibility Ideographs Supplement
    冤 屠 杓 櫛

これらは全て JIS X 0213 に含まれない(だから JIS X 0208 にも含まれない)文字である。(IPA フォントも JIS X 0213 は完全にカバーしているので。)

次に、(A2)「IPA は半角幅、IPAex は全角幅」である文字。

  • © ® ⁂ ℓ ↖ ↗ ↘ ↙ ⇄ ⇦ ⇧ ⇨ ⇩ ▱ ▶ ▷ ◀ ◁ ◉ ◐ ◑ ◒ ◓ ◦ ♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ ♩ ♫ ♬ ♮ ⤴ ⤵ ⧺ ⧻

これらは JIS X 0213 には含まれるが JIS X 0208 には含まれない。

IPA でのみ使用可能な文字

次の「IPA で全角幅、IPAex でプロポーショナル」である文字が該当する(「IPA で全角幅、IPAex で未収録」の文字はない)。

  • (B1) JIS X 0208 に含まれる文字
    ¢ £ ¥ § ¨ ¬ ° ± ´ × ÷ ‐ — ′ ″ ‾ ⇒ ⇔ ∀ ∂ ∃ ∇ ∈ ∋ √ ∝ ∞ ∟ ∠ ∧ ∨ ∩ ∪ ∫ ∬ ∮ ∴ ∵ ∽ ≒ ≠ ≡ ≦ ≧ ≪ ≫ ⊂ ⊃ ⊆ ⊇ ⊥ ⊿
  • (B2) JIS X 0208 に含まれない文字*1
    Ǎ ǎ ǐ Ǒ ǒ ǔ ǖ ǘ ǚ ǜ ∥

これを見ると、ほとんどが(少なくとも横組では)欧文(または数式)として扱われる記号だから、和文としては重要でない。例外といえそうなのが U+2010 HYPHEN〈‐〉と U+2014 EM DASH〈—〉であるが、これも (u)pTeX和文では重要性が低い。なぜなら、和文の U+2010 は本来全角幅であるべきでない文字*2であり、また U+2014(JIS の 1 区 29 点「ダッシュ(全角)」)は Unicode フォントでの出力の際には U+2015 で置き換えられるから*3である。

対策

pTeX の標準和文フォントとして使う場合

pTeX はそもそも JIS X 0208 の文字しか扱えない。また、内部が JIS 系である pTeX の場合は JIS 系の入力漢字コード(sjiseuc)が用いられることが多く、そういう場合は「いわゆる全角文字」は当然使えると考える人が多いと思う。従って、JIS X 0208 の文字が全て使える IPA の方が妥当であろう。

upTeX の標準和文フォントとして使う場合

和文として使いたい文字・記号」という観点では、恐らく(A1)(A2)の方が(B1)(B2)より重要と思う人が多いだろう。もしそうであるなら、IPAex の方を指定するべきである。ただしその時に(B1)にある「馴染みの深い記号」をうっかり和文で使わないように注意する必要がある。

pLaTeX + OTF パッケージ の場合

OTF パッケージで JIS 系の(直接入力)の和文フォントと Unicode 系の和文フォントは内部では別の扱いになっている。*4従って、「JIS 系は IPAUnicode 系は IPAex」という指定が可能で、これが一番使用可能な文字の範囲が広くなる。

試しに、以上の設定をした dvipdfmx のマップファイルを作ってみた。

*1:最後の記号〈∥〉は U+2225 PARALLEL TO。これは CP932 の 1 区 34 点にある文字。

*2:JIS X 4051 の規定では四分幅。

*3:JIS の 01-29、U+2014、U+2015 は AJ1 に写像した時に一緒になってしまい、さらにそれを ToUnicode すると U+2015 になる。

*4:IPA/IPAex が AJ1 の CID アクセス非対応なので、AJ1 系はあまり有用でない。