relfont オプション(和文書体を欧文にも適用する)
基本的に、pxchfon パッケージは和文のフォントを置き換えるためのものであるが、オプション指定により欧文のフォントを置換対象に含めることが可能である。((ipa
等のプリセット指定を用いている場合は noalphabet
が、それ以外の場合は alphabet
が既定の設定となることに注意。また、「TFM を変えずにフォントのマッピングだけを変える」という動作原理のため、等幅での使用に限られる。))
\documentclass[a4paper]{jsarticle} \usepackage[ipa,noalphabet]{pxchfon} %\usepackage[ipa,alphabet]{pxchfon} \begin{document} Loremのipsumは頗るdolorだった。 \end{document}
noalphabet
指定の場合](欧文は CM Roman のまま)alphabet
指定の場合](欧文も IPA 明朝に変わる)0.7 版では、これらに加えて relfont
という設定が使用できる。これは、「欧文を和文のフォントに合わせる」ことを部分的に行うことを目的とした設定で、具体的には、pLaTeX の従属欧文フォント設定において、和文フォントの英数字部分からなる欧文フォント(欧文 TFM、alphabet
設定で用いられるもの)を結び付けている。従属欧文フォント設定機能を知らない人*1のために補足すると、「\userelfont\selectfont
」という命令列を実行すると、欧文が和文と同じフォントに切り替わる。((ただし、和文フォントを切り替えた場合に欧文が自動的に追随する訳ではない。その都度 \userelfont\selectfont
を実行する必要がある。))説明のための単純な使用例を以下に挙げておく。
\documentclass[a4paper]{jsarticle} \usepackage[ipa,relfont]{pxchfon} % relfont を指定した \begin{document} % 欧文は「ipsum」だけ IPA 明朝となる Loremの{\userelfont\selectfont ipsumは}頗るdolorだった。 \end{document}
この機能の有効な用法というのはあまり思いつかないのだが、例えば、縦書きで連数字を縦中横にする際に敢えて和文書体の半角数字を使いたい*2、ということが考えられる。
\documentclass[a4paper]{jsarticle} \usepackage{plext} \usepackage[ipa,relfont]{pxchfon} % 全角文字の配置に合わせた縦中横 \newcommand*{\TCY}[1]{{\setlength{\rensujiskip}{0pt}% \rensuji{\raisebox{0pt}[0.88zw][0.12zw]% {\userelfont\selectfont#1}}}} \begin{document} % "7"は全角数字、2桁を縦中横で \parbox<t>{4zw}{平成\TCY{25}年7月\TCY{15}日}\qquad % 通常の欧文数字(CM Roman) \parbox<y>{4.5zw}{平成25年7月15日}\qquad \end{document}
あと、表組み等で「16 進数を等幅で(でもソースコード書体にせずに)組みたい」という場合に使う手もあるだろう。
\documentclass[a5paper,papersize]{jsarticle} \usepackage[ipa,relfont]{pxchfon} \usepackage{array} \setlength{\extrarowheight}{2pt} \setlength{\doublerulesep}{0pt} \newcolumntype{C}{>{\codefont}c} \newcommand*{\codefont}{\userelfont\selectfont} \begin{document} {\pTeX}の内部ではJIS符号系が使われるので、 入力漢字コードがUTF-8である場合はコード変換が行われる。 JIS~X~0221が定めるものとCP932が定めるものの両方の変換をサポート するため、一部の文字については多対一の対応になっている。 \begin{center}\begin{tabular}{CCCCCc}\hline\hline \sffamily UCS(1) &\sffamily UCS(2) & \sffamily JIS &\sffamily SJIS &\sffamily EUC & \sffamily 文字\\\hline U+301C & U+FF5E & 0x2141 & 0x8160 & 0xA1C1 & 〜\\\hline U+2016 & U+2225 & 0x2142 & 0x8161 & 0xA1C2 & ‖\\\hline U+2212 & U+FF0D & 0x215D & 0x817C & 0xA1DD & −\\\hline U+00A2 & U+FFE0 & 0x2171 & 0x8191 & 0xA1F1 & ¢\\\hline U+00A3 & U+FFE1 & 0x2172 & 0x8192 & 0xA1F2 & £\\\hline U+00AC & U+FFE2 & 0x224C & 0x81CA & 0xA2CC & ¬\\\hline \hline \end{tabular}\end{center} \end{document}