summaryrefslogtreecommitdiff
path: root/macros/jptex/latex/pxjodel/pxjodel.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/jptex/latex/pxjodel/pxjodel.tex')
-rw-r--r--macros/jptex/latex/pxjodel/pxjodel.tex237
1 files changed, 237 insertions, 0 deletions
diff --git a/macros/jptex/latex/pxjodel/pxjodel.tex b/macros/jptex/latex/pxjodel/pxjodel.tex
new file mode 100644
index 0000000000..861348a669
--- /dev/null
+++ b/macros/jptex/latex/pxjodel/pxjodel.tex
@@ -0,0 +1,237 @@
+% 文字コードは UTF-8
+% uplatex で組版する
+\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
+\usepackage{color}
+\definecolor{myblue}{rgb}{0,0,0.75}
+\definecolor{mygreen}{rgb}{0,0.45,0}
+\usepackage[colorlinks,hyperfootnotes=false]{hyperref}
+\usepackage{pxjahyper}
+\hypersetup{linkcolor=myblue,urlcolor=mygreen}
+\usepackage{bxtexlogo}
+\bxtexlogoimport{*}
+\usepackage{shortvrb}
+\MakeShortVerb{\|}
+\newcommand{\PkgVersion}{0.3}
+\newcommand{\PkgDate}{2020/05/04}
+\newcommand{\Pkg}[1]{\textsf{#1}}
+\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
+\newcommand{\Note}{\par\noindent ※}
+\newcommand{\Means}{:\ }
+\newcommand{\Strong}[1]{\textbf{#1}}
+%-----------------------------------------------------------
+\begin{document}
+\title{\Pkg{pxjodel} パッケージ}
+\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')}
+\date{v\PkgVersion\quad[\PkgDate]}
+\maketitle
+
+\begin{abstract}
+本パッケージは、
+カスタムのメトリックをもつ和文フォントを
+\Pkg{japanese-otf}パッケージの多書体設定に拡張する作業を
+支援する機能を提供する。
+\end{abstract}
+
+%\tableofcontents
+
+%===========================================================
+\section{前提環境}
+\label{sec:Requirement}
+
+\begin{itemize}
+\item {\TeX}フォーマット\Means {\LaTeX}
+\item {\TeX}エンジン\Means {\pTeX}/{\upTeX}(派生も含む)
+\item DVIウェア\Means 和文TFMとVFをサポートするもの
+\item 前提パッケージ\Means
+ \begin{itemize}
+ \item \Pkg{japanese-otf}パッケージ
+ \item \Pkg{ifptex}パッケージ
+ \item \Pkg{xkeyval}パッケージ
+ \end{itemize}
+\end{itemize}
+
+%===========================================================
+\section{何をするのか}
+\label{sec:Basic}
+
+\Pkg{japanese-otf}の和文フォント設定に対して
+「直接入力に対するTFMを特定の接頭辞を付けた名前のものに変更する」
+という変更を加える。
+例えば、ユーザが指定した接頭辞が|foo|である場合、
+|nmlminr-h|というTFMは|foo--nmlminr-h|に置き換えられる。
+
+%===========================================================
+\section{何がしたいのか}
+\label{sec:Objective}
+
+{\pLaTeX}の文書作成において、カスタムのメトリックをもった独自の
+和文VFを用いていたとする。
+
+\begin{itemize}
+\item 横組・明朝体(|JY1/mc/m/n|): |hogemc-h|
+\item 縦組・明朝体(|JT1/mc/m/n|): |hogemc-v|
+\item 横組・ゴシック体(|JY1/gt/m/n|): |hogegt-h|
+\item 縦組・ゴシック体(|JT1/gt/m/n|): |hogegt-v|
+\end{itemize}
+
+\Note これらのVFは{\pTeX}の原メトリックTFM(|rml|/|gbm|)を
+参照しているものとする。
+
+ここで、以下のような理由で\Pkg{japanese-otf}パッケージを
+使いたくなったとする。
+\begin{enumerate}
+\item 今の設定は単ウェイトであるが、多ウェイトの和文フォントの
+設定(太明朝など)を使いたい。\label{itm:mw}
+\item \Pkg{japanese-otf}パッケージのもつ豊富な文字入力機能
+(|\CID|や|\ajMaru|など)を使いたい。\label{itm:ajm}
+\end{enumerate}
+しかし、単純に\Pkg{japanese-otf}パッケージを読みこんだのでは、
+和文VFが\Pkg{japanese-otf}のものに置き換わっってしまうため、
+カスタムのメトリックが維持されない。
+どうすればいいだろうか。
+
+\medskip
+
+もし\Pkg{japanese-otf}を使う目的が\ref{itm:ajm}だけであるなら、
+\Pkg{japanese-otf}の|noreplace|を使えば済む。
+目的が\ref{itm:mw}だけで場合については、
+「元の|hogemc-h|などのVFを用意できる」だけの知識をもつ人であれば
+追加のVFを作って対応できるであろう。
+(そうでないと対応は困難である。)
+しかし、\ref{itm:mw}と\ref{itm:ajm}の両方を満たす必要がある場合は、
+追加のVFの作製はもっと困難になる。
+\Pkg{japanese-otf}の複雑なVFの内部設計に合わせる必要があるからである。
+
+\medskip
+
+本パッケージは、\Pkg{jfmutil}と併用することで、
+\Pkg{japanese-otf}のVFを置き換えるための和文VFの
+設定を支援するものである。具体的には
+\begin{quote}
+カスタムのメトリックをもった横組・縦組の和文VFの組があるときに、
+\Pkg{japanese-otf}をそのメトリックで使えるような設定を作り出す
+\end{quote}
+ための作業を容易にする。
+
+%===========================================================
+\section{実際の手順}
+\label{sec:Procedure}
+
+実際に、前述の例に従って、|hogemc-h|と|hogemc-v|のVFの組
+\footnote{代わりに|hogegt-h|と|hogegt-v|のVFの組を使ってもよい。
+ とにかく入力として使うVFの組みは1つであり、
+ そのメトリックが全部の書体(ファミリ・ウェイト)に対して適用される。}%
+から、そのメトリックを継承した新しい\Pkg{japanese-otf}の
+和文フォント設定を作成するための手順を示す。
+
+使うソフトウェアは次の2つ。
+
+\begin{itemize}
+\item \Pkg{pxjodel}パッケージ(本パッケージ)。
+\item \Pkg{jfmutil}パッケージが提供する|jfmutil|コマンド。
+\end{itemize}
+
+\paragraph{手順1:VFの生成と配置}
+最初に一度だけ行う準備作業。
+
+\begin{enumerate}
+\item 入力となる和文VFのファイル
+ (|hogemc-h.tfm|、|hogemc-h.vf|、|hogemc-v.tfm|、|hogemc-v.vf|)
+ を{\TeX}から見える場所(カレントディレクトリでもよい)に置く。
+ これらのVFが{\TeX}で使えている状態であれば、
+ 既にそうなっているはずである。
+\item 今作ろうとしている設定に対する名前を用意する。
+ これは生成されるVFの名前の接頭辞として使われるので、
+ \Strong{接頭辞}と呼ぶことにする。
+ ここでは“|hoge|”を使うことにする。
+\item 次のコマンドを実行する。
+\begin{quote}\small\begin{verbatim}
+jfmutil jodel hogemc-h hoge
+jfmutil jodel hogemc-v hoge
+\end{verbatim}\end{quote}
+ \Note 最後の引数は「接頭辞」である。
+
+ これで|hoge--|で始まる名前のVF(|*.tfm|と|*.vf|ファイル)が
+ 大量に生成される。
+\item 生成されたVFのファイルを{\TeX}から見える場所に配置する。
+ 例えば\Means
+ \begin{itemize}
+ \item |*.tfm| → |$TEXMFHOME/fonts/tfm/public/jodel-hoge/|
+ \item |*.vf| → |$TEXMFHOME/fonts/vf/public/jodel-hoge/|
+ \end{itemize}
+ \Note 末尾のディレクトリの名前は何でもよい。
+ \Note 必要に応じて |mktexlsr|。
+\end{enumerate}
+
+\paragraph{手順2:新しいVFの適用}
+手順1で作製した新しいVFを
+{\pLaTeX}文書に適用するための手順。
+
+\begin{enumerate}
+\item プレアンブルで\Pkg{japanese-otf}%
+ ({\LaTeX}パッケージ名は|otf|)を読みこんだ後
+ (直後が望ましい)に、\Pkg{pxjodel}パッケージを
+ |prefix=hoge|のオプションを付けて読み込む。
+ 例えば以下のようになる。
+\begin{quote}\small\begin{verbatim}
+\usepackage[deluxe,jis2004]{otf}
+\usepackage[prefix=hoge]{pxjodel}
+\end{verbatim}\end{quote}
+ \Note もちろんこの|hoge|は「接頭辞」である。
+ \Note あるいは次のように2つのパッケージの読込をまとめられる。
+\begin{quote}\small\begin{verbatim}
+\usepackage[deluxe,jis2004,prefix=hoge]{pxjodel}
+\end{verbatim}\end{quote}
+\end{enumerate}
+
+%===========================================================
+\section{注意事項}
+\label{sec:Notice}
+
+\begin{itemize}
+\item 先の例では{\pTeX}のVFを用いたが、{\upTeX}のVFを用いる場合
+ でも手順は全く音字である。
+\item 入力とする和文VFは「{\pTeX}または{\upTeX}の標準の日本語用
+ 原メトリックTFM」(すなわち
+ |rml|(|v|)、|gbm|(|v|)、
+ |uprml-|\{|h|,|hq|,|v|\}、|upgbm-|\{|h|,|hq|,|v|\}
+ の何れか)のみを参照するものでなければならない。
+ \Note ただしこれらのTFMを間接的に(別のVFを挟んで)
+ 参照していてもよい。
+\item |jfmutil jodel|の実行において、入力のVFのエンジン種別
+ および書字方向は自動的に判定され、
+ 出力のVFの種別もそれに応じたものになる。
+ \begin{itemize}
+ \item 例えば、入力のVFが「{\pTeX}横組用」であれば、出力は
+ |hoge--nmlminr-h|のようになり、
+ 入力のVFが「{\upTeX}縦組用」であれば、出力は
+ |hoge--upnmlminr-v|のようになる。
+ \item ただし、参照先のTFMのエンジン種別が混在している場合は、
+ 入力のVFは{\pTeX}用と見なされる。
+ ここで{\upTeX}用として扱いたい場合は
+ |jfmutil jodel|に|--uptex|を付ける必要がある。
+ \end{itemize}
+\item |jfmutil jodel|に|--unicode|を付けることで、
+ 「\Pkg{pxufont}パッケージを併用した場合の和文VF」
+ を作製できる。
+ この場合は|zu-hoge--upnmlminr-h|のような名前のVFが衆力される。
+ ただし入力のVFは{\upTeX}用に限られ、またその参照先のTFMは
+ 全て{\upTeX}用のものでなければならない。
+\item |jfmutil jodel|を使う場合は、\Pkg{japanese-otf}の|expert|指定に
+ 対応する和文VFは作られないため、|expert|を用いることはできない。
+ \Note \Pkg{pxjodel}自体は対応しているので、
+ 自力で|hoge--expminr-h|などのVFを作れば、
+ それを適用させることはできる。
+\end{itemize}
+
+%===========================================================
+\section{ところでjodelって何}
+\label{sec:Jodel}
+
+多分、“\underline{j}apanese \underline{o}tf \underline{del}uxe”
+の略、のはず。
+“yodel”ではないことに注意。
+
+%===========================================================
+\end{document}
+%% EOF