マクロツイーター

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

ipaex-type1 が新しくなった(v0.4)

IPAex フォントを CJK パッケージ用に変換した Type1 フォント群を収めた ipaex-type1 パッケージを更新した。

IPAex フォント Ver.003.01 に対応

従来は、変換元として Ver.002.01 を使っていたが、0.4 版では、2015 年 10 月にリリースされた Ver.003.01 の IPAex フォントから変換を行った。*1

BMP の文字に対応

IPAex フォントは JIS X 0213 対応のフォントなので BMP 外にある漢字(〈𡈽〉(U+2123D)など)を多数収録している。従来の版では BMP の範囲内のサブフォントのみを提供していたが、0.4 版では BMP 外の範囲に対するサブフォント(ipxm-r-u0200.pfb 等)が追加された。

現在の CJK パッケージは BMP 外範囲に対応しているので、ipaex-type1 のファミリを利用して BMP 外の文字を文書中に普通に書くことが可能になっている。

% pdfLaTeX 文書, UTF-8
\documentclass[a4paper]{article}
\usepackage{CJKutf8,CJKspace,CJKpunct}
\begin{document}
Now you can use non-BMP kanji:\par
\begin{CJK*}{UTF8}{ipxm}%
% 𡈽=U+2123D; 𠀋=U+2000B; 𠮟=U+20B9F
𡈽屋𠀋二さんが𠮟られた。
\end{CJK*}
\end{document}

LaTeX パッケージを提供

主な目的が CJK パッケージの枠組で使うことであり必要性があまり高くない((例えば「\CJKfamily{ipxg}」でファミリを切り替えられるので、それ以上に簡単にする必要はないだろう。))ため、今までは特に“便利なインタフェース”のための LaTeX パッケージは用意していなかった。しかし今回の 0.4 版では新たに LaTeX パッケージ(ipaex-type1 パッケージ)を提供することにした。

パッケージの読込はいつもの通りで、オプションはない。

\usepackage{ipaex-type1}

次のような命令が提供される。

  • \ipxmfamily\ipxgfamily : 欧文と和文のファミリを ipxm(IPAex明朝)/ipxg(IPAexゴシック)に切替。
  • \textipxm{...}\textipxg{...} : 前項のテキスト命令版。
  • \CJKipxmfamily\CJKipxgfamily和文のファミリを ipxm/ipxg に切替。
  • \textCJKipxm{...}\textCJKipxg{...} : 前項のテキスト命令版。
% pdfLaTeX 文書, UTF-8
\documentclass[a4paper]{article}
\usepackage{CJKutf8}
\usepackage{ipaex-type1}
\begin{document}
Here's an example:\par
\begin{CJK}{UTF8}{ipxm}\CJKtilde
{\TeX}~はアレ                % 和文=IPAex明朝, 欧文=CM Roman
\textipxm{{\TeX}~はアレ}     % 和文=欧文=IPAex明朝
\textipxg{{\TeX}~はアレ}     % 和文=欧文=IPAexゴシック
\textCJKipxg{{\TeX}~はアレ}  % 和文=IPAexゴシック, 欧文=CM Roman
\end{CJK}
\end{document}

CJK 環境の外、およびそもそも CJK パッケージを使わない場合は、欧文に対する指定のみが有効になる。

% pdfLaTeX 文書, UTF-8
\documentclass[a4paper]{article}
% CJK パッケージ無し!
\usepackage{ipaex-type1}
\begin{document}
% 欧文ファミリを切り替える
CM Roman, \textipxm{IPAex Mincho}, \textipxg{IPAex Gothic},
and again CM Roman.

That command does \textCJKipxg{nothing}. % "和文"はないので無意味
\end{document}

ただしこの原則には一つ例外がある。以下で説明する。

\textCJKipxm/\textCJKipxg 命令

CJK パッケージが読込済でかつ CJK 環境の外で \textCJKipxm\textCJKipxg 命令を使った場合、引数のテキストが自動的に CJK* 環境の中に入れられる。「欧文文書で時々日本語の語句を含める」というような場合に、CJK* 環境の短縮形として使用することができる。

% pdfLaTeX 文書, UTF-8
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{CJKutf8}
\usepackage{ipaex-type1}
\begin{document}
I believe in {\TeX}, because it is \textCJKipxm{アレ}.
\end{document}
\ipxmsymbol/\ipxgsymbol 命令
\ipxmsymbol{符号値}\ipxgsymbol{符号値} で、当該の Unicode 符号値をもつ文字を出力できる。例えば、\ipxmsymbol{"2603} で〈☃〉(U+2603)が出力される((〈"〉は 16 進表記を表す。))。これらの命令は CJK パッケージを使用しない場合でも使用できる。

% pdfLaTeX 文書, UTF-8
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{CJKutf8}
\usepackage{ipaex-type1}
\begin{document}
I like \ipxmsymbol{"26C4}, but I like \ipxmsymbol{"2603} better.
\end{document}

*1:ただし、この「元の IPAex フォントの更新」に関する機能的な差異はほとんどない。