ipamjm パッケージ(齋藤修三郎 氏作製)が改版されて upTeX に対応したらしい。ということで早速試してみる。
\documentclass[a4paper,uplatex]{jsarticle} \usepackage[scale=0.86]{geometry} \usepackage{ipamjm} \begin{document} \begin{quote}\fontsize{43}{43}\selectfont \MJMZM{26190}\MJMZM{26191}\MJMZM{26192}\MJMZM{26194}\MJMZM{26194}\MJMZM{26206}\MJMZM{26207}\MJMZM{58869}\MJMZM{58870}\MJMZM{60232}\\ \MJMZM{26195}\MJMZM{26196}\MJMZM{26197}\MJMZM{26199}\MJMZM{26200}\MJMZM{60235}\MJMZM{60236}\MJMZM{60237}\MJMZM{60238}\MJMZM{60248}\\ \MJMZM{26201}\MJMZM{26205}\MJMZM{26203}\MJMZM{26204}\MJMZM{26202}\MJMZM{60240}\MJMZM{60241}\MJMZM{60242}\MJMZM{60232}\MJMZM{60234} \end{quote} \end{document}
素晴らしい!!
でも IVS したいね
……なんだけど、これは新しい一太郎と同じ機能を実現しているのかというと、ちょっと違う。一太郎(の先の記事で謳われている機能)は IVS を使って異体字を入力するが、ipamjm パッケージでは「文字情報基盤整備事業」が定めている番号(ここでは仮に「MJ番号」と呼ぶことにする*1)で指定している。後者はそれなりの利点をもつが、*2IVS で表現できた方が都合がいい場合もあるだろう。
で、作ってみた。
- PXipamjm パッケージ(GitHub/zr-tex8r)
これを使うと上の画像と同じものを次のように表すことができる。
% 文字コードはUTF-8 \documentclass[a4paper,uplatex]{jsarticle} \usepackage[scale=0.86]{geometry} \usepackage{pxipamjm} \begin{document} \begin{quote}\fontsize{43}{43}\selectfont \MJI15{邉}\MJI25{邉}\MJI27{邉}\MJI26{邉}\MJI26{邉}\MJI16{邊}\MJI18{邊}\MJI2{2B7EA}\MJI17{邊}\MJI*{60232}\\ \MJI28{邉}\MJI29{邉}\MJI23{邉}\MJI15{邊}\MJI8{邊}\MJI20{邉}\MJI24{邉}\MJI19{邉}\MJI18{邉}\MJI16{邉}\\ \MJI14{邊}\MJI10{邊}\MJI12{邊}\MJI11{邊}\MJI13{邊}\MJI9{邊}\MJI0{2B7EA}\MJI1{2B7EA}\MJI*{60243}\MJI21{邉} \end{quote} \end{document}
ただし、ここでは本物の IVS の制御文字(異体字セレクタ)は用いずに、代わりに各セレクタに対応する番号(「異体字番号」と呼ぶことにする)で指定する方式をとっている。すなわち、IVS 用のセレクタ(VS17〜VS256、符号位置は U+E0100〜E01EF)に 0〜239 の番号を対応させていて、上図の左上の字形は「〈邉〉の 15 番(符号値は U+9089 U+E010F)」なので、\MJI15{邉}
と表記する。((LaTeX の文法に厳密に従った \MJI[15]{邉}
という書き方もできるが、異体字番号が数字で書き表されている場合は [ ]
を省略できる。))IVS はプレーンテキストでも扱える(そのことに存在意義がある)のであるが、それが満足に扱える(入力できる)環境が普及しているとはまだ言い難い状況のため、一種の代替表記としてこの入力法を用意した。pxipamjm は内部で ipamjm を読み込んでいて、IPAmj明朝の字形の出力はそちらに任せている。
基底文字({ }
の中)は直接漢字を書く代わりに、\MJI2{2B7EA}
のように Unicode 符号値の 16 進数で指定することもできて、この方法だと pTeX でも任意の Unicode 漢字を指定できる。\MJI*{60232}
のように * 付にした場合は、MJ番号を直接指定したことになる(つまり、\MJI*
は \MJMZM
と同じ)。
「本物の IVS じゃなじゃヤダ!」という人も大丈夫で、\MJI
に番号を指定せずに代わりに引数に IVS を書くことも可能である(この場合は upTeX が必要)。
% 文字コードは当然 UTF-8 \documentclass[a4paper,uplatex]{jsarticle} \usepackage[info]{pxipamjm} \begin{document} 渡\MJI{邉󠄏}さんとか% { } の中は U+9089 U+E010F 渡\MJI{𫟪󠄂}さんとか。% { } の中は U+2B7EA U+E0102 \end{document}
異体字の一覧表示
\MJI?{<基底文字>}
とすると、その文字に対する(IPAmj明朝でサポートされている)異体字が列挙して出力される。*3GUI のツールほど便利ではないが、最低限の入力支援にはなるだろう。
\documentclass[a4paper,dvipdfmx]{jsarticle} % highlight オプションを付けると一覧表示が色付きになる. % (color パッケージの読込が必要.) \usepackage{color} \usepackage[highlight]{pxipamjm} \begin{document} こんにちは、渡\MJI?{邉}さん。 \end{document}
*1:正式には、"MJ" の後に「MJ 番号」を 6 桁で繋げたもの(例えば「MJ026190」)が識別子であり、これは「MJ文字図形名」と呼ばれる。
*2:図に挙げた字形はほとんどが〈邉〉と〈邊〉(この 2 つは Unicode でも別の字)の何れかの異体字であるが、右上の字形は現在登録されている Unicode 漢字の何れとも統合されない「別の(未登録な)字」なので(現状では)IVS では表せない。
*3:なお、例の出力で異体字番号が 15 から始まっているのは、0〜14 は IPAmj明朝でサポートされていないからである。IVS の登録は「Adobe-Japan1」と「汎用電子」の 2 系統があり、〈邉〉では前者が 0〜14 を、後者が 15〜29 を使用している。そして、IPAmj明朝は「汎用電子」のみをサポートしている。