マクロツイーター

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

新しい PXchfon についての何か (1)

PXchfon パッケージの 0.7a 版をリリースした。

ここでは、0.6a 版からの変更点について解説する。なお、0.5 版→ 0.6a 版の変更点については以下の記事を参照。

2004JIS 字形の選択(prefer2004jis オプション)

実フォントとして AJ1 の CID 対応の OpenType フォントを用いた場合、通常は 2000JIS 字形が選択される。ここで、prefer2004jis オプションを指定すると、2004JIS 字形が選択されるようにマップ設定が変更される。元々この機能は 0.5 版で upTeX 専用で追加した後 0.6 版において pTeX(つまり JIS コードの和文 TFM)にも拡張されたものであり、従って前掲の記事で詳しく解説されている。

この機能の pTeX 対応について、0.6b 版で重大な仕様変更が行われた。この機能のために特別な CMap ファイルが必要なのであるが、以前は ttk 氏制作の jishojo パッケージに含まれるファイル(JISX0213-2004-H-V)を用いていたが、新しい版では jfontmaps パッケージ(CTAN)*1の最新版に含まれるファイル(2004-H-V)を用いるようになった。TeX Live 2013 では後者のファイルが既定で利用可能である。しかし、少し古い*2W32TeX においては前者のみが使用可能なのでそちらが使えた方が便利がも知れない。そこで、

\setnewglyphcmapprefix*

という命令を実行すると前者(jishojo の CMap ファイル)が使われるようにした。((\setnewglyphcmapprefix{XXX-} を実行すると「XXX-H」「XXX-V」というファイルが用いられる。))

なお、この prefer2004jis での字形の切替の対象となるフォントは「JIS 符号または Unicode和文フォントのうち OTF パッケージのもの以外」である。OTF パッケージのフォントの字形の切替は OTF パッケージの jis2004 オプションで行う。ただし現状では upTeX ではこのオプションがサポートされてないので、暫定的に、upTeX での直接入力のフォントも prefer2004jis の適応範囲に含めている。

CID 非対応のプリセットにおける prefer2004jis オプションの対応

前述の prefer2004jis オプションは、CMap の切替を利用しているので、原理的には CID 対応フォントにしか適用できない。しかし、一部の CID 非対応フォントでは 2000JIS 字形と 2004JIS 字形のフォントが別に*3用意されていることがある。仕様を一貫させるため、そのようなフォントのプリセットについても prefer2004jis オプションが適用できるようにした。(内部では実フォントを切り替えている。((従って、プリセットでない、すなわちフォントファイルを直接指定する場合には、CID 非対応フォントについて prefer2004jis は効かない。)))現状では、Mobo フォントと Moga フォントがこれに該当する。

\documentclass[a4paper,uplatex]{jsarticle}
\usepackage[deluxe]{otf}
%\usepackage[moga-mobo]{pxchfon}              % 2000JIS字形を指定
\usepackage[moga-mobo,prefer2004jis]{pxchfon} % 2004JIS字形を指定
\begin{document}
\mcfamily 葛餅で蓬餅で、\textbf{かつ煎餅!}\par
\gtfamily 葛餅で蓬餅で、\textbf{かつ煎餅!}\par
\mgfamily 葛餅で蓬餅で、\textbf{かつ煎餅!}\par %\textbfは無効
\end{document}
prefer2004jis 非指定の場合]
prefer2004jis 指定の場合]

*1:TeX Live での updmap で和文フォントのマップを切り替える機能を実現するのに用いられるパッケージ。

*2:本記事に対する ut さんのコメントを参照。

*3:別のフォントファイルとして、或いは同じ TTC ファイルの中の別のフォントとして。