マクロツイーター

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

pxipamjm パッケージの説明書のような何か

以前の記事で紹介した pxipamjm パッケージの使い方をごく普通に解説する。

用語集
  • MJ番号: 「MJ文字情報一覧表」にあるグリフについて、その「MJ文字図形名」の先頭の「MJ」に続く数字列が表す数値のこと。
  • 異体字番号: IVS における異体字セレクタの VS17〜VS256(符号位置 U+E0100〜E01EF)を 0〜239 の整数値で表したもの。ただし、この開始の番号(「異体字番号基底値」と呼ぶ)は設定で変更することができて、異体字番号基底値を 1 に変更すると、VS17〜VS256 が 1〜240 に対応するようになる。
パッケージの読込
\usepackage[<オプション>]{pxipamjm}

オプションの一覧。

  • highlight\MJI で入力された文字に自動的に色付け(ハイライト)する。
  • nohighlight(既定): highlight の否定。
  • info\MJI での入力の際に、得られた MJ 番号の情報をログに出力する。
  • noinfo(既定): info の否定。
  • ipamjm(既定): ipamjm パッケージを自動的に読み込む。
  • noipamjmipamjm の否定。
機能

文字入力の命令

  • \MJI[<異体字番号>]{<基底文字>} : 指定の異体字番号のグリフを出力する。基底文字は以下の何れかの形式で表す。
    • 文字そのもの。例:\MJI[3]{葛}pTeX では JIS X 0208 の文字しか使えない。upTeX では任意の Unicode 文字が可能。)
    • Unicode 符号値の 16 進表記。例:\MJI[3]{845B}
    • (La)TeX の有効な数値表現。ただし、数字での表記は前項の 16 進表記と見なされるので 10 進表記をする場合は前に + を付ける。例:\MJI[2]{+33883}\MJI[2]{\value{foo}}
    また、異体字番号が数字で表記されている場合は、引数を囲む [ ] を省略できる。例えば、\MJI[3]{葛}\MJI3{葛} とも表記できる。
  • \MJI{<異体字シーケンス>} : 指定の IVS に対するグリフを出力する。異体字セレクタの入力が必要なため upTeX でしか使えない。例:\MJI{葛󠄃} (引数は U+845B U+E0103)
  • \MJI[?]{<基底文字>} : 指定の基底文字がもつ異体字で IPAmj明朝がサポートしているものを列挙する。例:\MJI[?]{葛} (これも [ ] を省略して \MJI?{葛} と書ける。)
  • \MJI*{} : 指定の MJ 番号のグリフを出力する。例:\MJI*{22336} (これは \MJMZM{22336} と等価である。)

ハイライト(highlight オプション)使用時の文字色の指定。引数に指定するのは、color ケージの有効な色名である。ただし引数を空にすることもできて、この場合は色の変更を行わない。

  • \MJcolor{<色名>}\MJI 命令による通常のグリフ出力の色。
  • \MJchoicecolor{<色名>}\MJI[?]{...} による一覧出力の色。
  • \MJfallbakcolor{<色名>}\MJI 命令が何等かの理由で失敗してフォールバック出力を行う場合の色。

その他諸々。

  • \MJindexbase{<整数>}異体字番号基底値を変更する。例えば、異体字セレクタ VS20(U+E0103)に対応する異体字番号は既定では 3 であるが、\MJindexbase{17} を実行すると 20 に変更される。すなわち、IVS の〈845B E0103〉に対応する入力は \MJI20{845B} となる。
フォールバック出力

以下の何れかの原因でグリフの出力に失敗した場合はエラーを出した上でフォールバック出力になる。

  • 引数の指定の書式に誤りがある。
  • 指定された数値が許容される範囲の外にある。
  • 指定の異体字番号に対する IVS が IVD に登録されていない、或いは、IPAmj明朝でサポートされていない。*1

この場合、基底文字の指定が有効だった場合は、その文字を現在の和文フォントで(IPAmj明朝ではない)出力する。((ただし、エンジンが pTeX の場合は少し複雑である。基底文字の指定が文字そのものである場合はそれを(現在フォントで)出力する。指定が 16 進表記の場合でかつ OTF パッケージが読込済の場合は \UTF 命令で出力する。それ以外の場合はゲタ文字になる。))そうでない場合はゲタ文字〈〓〉を出力する。

*1:現状の IPAmj明朝は「汎用電子」(Hanyo_Denshi)のコレクションに属する IVS のみをサポートする。