summaryrefslogtreecommitdiff
path: root/language/japanese/pxjodel
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/japanese/pxjodel
Initial commit
Diffstat (limited to 'language/japanese/pxjodel')
-rw-r--r--language/japanese/pxjodel/LICENSE21
-rw-r--r--language/japanese/pxjodel/README.md81
-rw-r--r--language/japanese/pxjodel/pxjodel.pdfbin0 -> 120139 bytes
-rw-r--r--language/japanese/pxjodel/pxjodel.sty188
-rw-r--r--language/japanese/pxjodel/pxjodel.tex227
-rw-r--r--language/japanese/pxjodel/tfm/jodhgothb-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/jodhgotheb-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/jodhgothr-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/jodhmgothe-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/jodhminb-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/jodhminl-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/jodhminr-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/zu-jodhgothb-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/zu-jodhgotheb-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/zu-jodhgothr-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/zu-jodhmgothe-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/zu-jodhminb-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/zu-jodhminl-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/tfm/zu-jodhminr-hq.tfmbin0 -> 172 bytes
-rw-r--r--language/japanese/pxjodel/vf/jodhgothb-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/jodhgotheb-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/jodhgothr-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/jodhmgothe-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/jodhminb-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/jodhminl-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/jodhminr-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/zu-jodhgothb-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/zu-jodhgotheb-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/zu-jodhgothr-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/zu-jodhmgothe-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/zu-jodhminb-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/zu-jodhminl-hq.vfbin0 -> 104 bytes
-rw-r--r--language/japanese/pxjodel/vf/zu-jodhminr-hq.vfbin0 -> 104 bytes
33 files changed, 517 insertions, 0 deletions
diff --git a/language/japanese/pxjodel/LICENSE b/language/japanese/pxjodel/LICENSE
new file mode 100644
index 0000000000..534324b756
--- /dev/null
+++ b/language/japanese/pxjodel/LICENSE
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2019 Takayuki YATO (aka. "ZR")
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/language/japanese/pxjodel/README.md b/language/japanese/pxjodel/README.md
new file mode 100644
index 0000000000..9de5e388bd
--- /dev/null
+++ b/language/japanese/pxjodel/README.md
@@ -0,0 +1,81 @@
+PXjodel Package
+===============
+
+LaTeX: To help change metrics of the fonts of japanese-otf package
+
+This package changes the setup of the japanese-otf package, so that the
+TFMs for direct input are all replaced by new ones with prefixed names;
+for exmaple, `nmlminr-h` will be replaced by `foo--nmlminr-h`, where
+`foo` is the prefix specified by the user.
+
+This function will assist the users who want to use japamese-otf package
+together with tailored TFMs of Japanese fonts.
+
+Note: The “jodel” part of the package name stands for “**j**apanese-**o**tf
+**del**uxe”. Here “deluxe” is the name of japanese-otf’s option for
+employing multi-weight Japanese font families. This option is probably the
+most likely reason for using japanese-otf. So this package is really about
+japanese-otf’s “deluxe” option, hence the name. It is not related to
+yodel singing, although some sense of word-play is intended.
+
+
+### System requirement
+
+ * TeX format: LaTeX.
+ * TeX engine: pTeX / upTeX (including its derivatives).
+ * DVI drivers: Anything that supports JFMs and VFs.
+ * Dependent packages:
+ - japanese-otf
+ - ifptex
+ - xkeyval
+
+### Installation
+
+ - `*.sty` → $TEXMF/tex/platex/pxjodel/
+ - `tfm/*.tfm` → $TEXMF/fonts/tfm/public/pxjodel/
+ - `vf/*.vf` → $TEXMF/fonts/vf/public/pxjodel/
+
+### License
+
+This package is distributed under the MIT License.
+
+
+The pxjodel Package ― main
+---------------------------
+
+Note: The manual [pxjodel.pdf] (in Japanese) describes how to utilize this
+package to customize the metrics of the fonts of japanese-otf package.
+
+### Package Loading
+
+ \usepackage[<option>,...]{pxjodel}
+
+Available options are:
+
+ * `prefix=<string>`: Specifies the prefix for new TFM names, actually
+ the prefix `<string>--` will be prepended to names; `prefix=foo` will
+ replace `nmlminr-h` with `foo--nmlminr-h`.
+ * All other options are passed to japanese-otf. Note that if you use
+ this mechanism, you must not load japanese-otf before this package.
+
+When this package is loaded, japanese-otf will be automatically loaded
+unless it is already loaded. Once the package is loaded, the NFSS settings
+for the fonts of japanese-otf will be redeclared.
+
+### Usage
+
+For present, this package has no public commands. All the settings are
+done through the package option.
+
+
+Revision History
+----------------
+
+ * Version 0.2a 〈2019/02/12〉
+ - Remove unnecessaty files.
+ * Version 0.2 〈2019/02/02〉
+ - The first public version.
+
+--------------------
+Takayuki YATO (aka. "ZR")
+https://github.com/zr-tex8r
diff --git a/language/japanese/pxjodel/pxjodel.pdf b/language/japanese/pxjodel/pxjodel.pdf
new file mode 100644
index 0000000000..147a621040
--- /dev/null
+++ b/language/japanese/pxjodel/pxjodel.pdf
Binary files differ
diff --git a/language/japanese/pxjodel/pxjodel.sty b/language/japanese/pxjodel/pxjodel.sty
new file mode 100644
index 0000000000..b5ba40b71f
--- /dev/null
+++ b/language/japanese/pxjodel/pxjodel.sty
@@ -0,0 +1,188 @@
+%%
+%% This is file 'pxjodel.sty'.
+%%
+%% Copyright (c) 2019 Takayuki YATO (aka. "ZR")
+%% GitHub: https://github.com/zr-tex8r
+%% Twitter: @zr_tex8r
+%%
+%% This package is distributed under the MIT License.
+%%
+
+%% package declaration
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesPackage{pxjodel}[2019/02/12 v0.2a]
+\def\pxjo@pkgname{pxjodel}
+%
+\providecommand\bxDebug[1]{}
+
+%--------------------------------------- general
+
+%% packages
+\RequirePackage{xkeyval}
+\RequirePackage{ifuptex}
+
+%% unique tokens
+\def\pxjo@end{\pxjo@end@}
+\def\pxjo@mt{\pxjo@mt@}
+
+%--------------------------------------- options
+
+%% variables
+\let\pxjo@prefix\@empty
+\@onlypreamble\pxjo@thru
+\let\pxjo@thru\@empty
+
+%% prefix=...
+\define@cmdkey{pxjo}[pxjo@]{prefix}{}
+%% dispatch
+\edef\next{%
+ \noexpand\setkeys*{pxjo}{\@nameuse{opt@\@currname.\@currext}}%
+}\next
+\AtEndOfPackage{\let\@unprocessedoptions\relax}%
+% other options are passed to otf
+\let\pxjo@thru\XKV@rm
+
+%% check
+\ifx\pxjo@prefix\@empty
+ \PackageError\pxjo@pkgname
+ {Option 'prefix' is not given}%
+ {\@ehc}
+\expandafter\endinput\fi\relax
+
+%% load 'otf' package
+\@ifpackageloaded{otf}{%
+ \ifx\pxjo@thru\@empty\else
+ \PackageError\pxjo@pkgname
+ {Package 'otf' is already loaded; the extra options\MessageBreak
+ (\pxjo@thru)\MessageBreak
+ cannot be passed}
+ {\@ehc}
+ \fi
+}{%else
+ \edef\next{%
+ \noexpand\RequirePackage[\pxjo@thru]{otf}%
+ }\next
+}
+
+%=======================================
+% All the code below is executed in a big group.
+\begingroup
+%--------------------------------------- helpers
+
+%% variables
+\let\pxjo@pre\relax
+\let\pxjo@post\relax
+
+%% \pxjo@split{<at>}{<target>}
+\def\pxjo@split#1#2{%
+ \edef\pxjo@tmpx{{#1}{#2}}%
+ \expandafter\pxjo@split@a\pxjo@tmpx}
+\def\pxjo@split@a#1#2{%
+ \def\pxjo@tmpx##1#1##2\pxjo@end{\pxjo@split@b{##1}{##2}}%
+ \pxjo@tmpx#2\pxjo@mt#1\pxjo@end}
+\def\pxjo@split@b#1#2{%
+ \let\pxjo@pre\relax \let\pxjo@post\relax
+ \ifx\pxjo@end#2\pxjo@end\else
+ \pxjo@split@c#2\pxjo@end{#1}%
+ \fi}
+\def\pxjo@split@c#1\pxjo@mt#2\pxjo@end#3{%
+ \def\pxjo@pre{#3}\def\pxjo@post{#1}}
+
+%% \pxjo@JY/\pxjo@JT
+\ifNativeupTeX
+\def\pxjo@JY{JY2}\def\pxjo@JT{JT2}
+\else
+\def\pxjo@JY{JY1}\def\pxjo@JT{JT1}
+\fi
+
+%% \pxjo@reset@size
+\def\pxjo@reset@size{10}
+\ifdim\f@size\p@=10\p@\else
+ \edef\pxjo@reset@size{\pxjo@reset@size,\f@size}
+\fi
+\ifx\jsc@JYn\@undefined\else %jsclasses
+ \begingroup
+ \footnotesize \xdef\@gtempa{\f@size}
+ \endgroup
+ \edef\pxjo@reset@size{\pxjo@reset@size,\@gtempa}
+\fi
+\bxDebug{jodel:reset@size=\pxjo@reset@size}
+
+%--------------------------------------- main process
+
+%% variables
+\let\pxjo@scale\relax
+\let\pxjo@tfm\relax
+\let\pxjo@newtfm\relax
+
+%% \pxjo@parse@spec{E/F/S/S}
+% Sets \pxjo@scale and \pxjo@tfm.
+\edef\pxjo@tmpb{%
+ {\expandafter\string\csname<->s\endcsname*[}{]}{$}}
+\def\pxjo@tmpa#1#2#3{%
+ \def\pxjo@parse@spec##1{%
+ \let\pxjo@scale\relax\let\pxjo@tfm\relax
+ \expandafter\expandafter\expandafter\pxjo@parse@spec@a
+ \csname##1\endcsname}%
+ \def\pxjo@parse@spec@a##1{%
+ \expandafter\pxjo@parse@spec@b\string##1#3#1#2#3\pxjo@end}
+ \def\pxjo@parse@spec@b##1#1##2#2##3#3##4\pxjo@end{%
+ \ifx\pxjo@mt##4\pxjo@mt\else
+ \def\pxjo@scale{##2}\def\pxjo@tfm{##3}%
+ \ifx\pxjodelReplaceExpertTfm\@undefined\else
+ \pxjo@change@tfm
+ \fi
+ \fi}%
+}\expandafter\pxjo@tmpa\pxjo@tmpb
+
+%% \pxjo@change@tfm
+\def\pxjo@tmpb#1/#2/#3/#4\pxjo@end{%
+ \def\pxjo@change@tfm{%
+ \pxjo@change@tfm@a{#2}{#4}%
+ \pxjo@change@tfm@a{#3}{#4}}
+}\def\pxjo@tmpa{/exp/ruby/nml}
+\expandafter\pxjo@tmpb\meaning\pxjo@tmpa\pxjo@end
+\def\pxjo@change@tfm@a#1#2{%
+ \pxjo@split{#1}\pxjo@tfm\ifx\pxjo@pre\relax\else
+ \edef\pxjo@tfm{\pxjo@pre#2\pxjo@post}%
+ \fi}
+
+%% \pxjo@@zu
+\def\pxjo@tmpb#1/#2\pxjo@end{%
+ \def\pxjo@@zu{#2}%
+}\def\pxjo@tmpa{/zu-}
+\expandafter\pxjo@tmpb\meaning\pxjo@tmpa\pxjo@end
+
+%% \pxjo@process@one
+\def\pxjo@process@one#1#2#3#4#5{%
+\bxDebug{jodel:process(#1;#2/#3/#4/#5)}%
+ \pxjo@parse@spec{#2/#3/#4/#5}%
+ \ifx\pxjo@tfm\relax\else
+ \pxjo@split{\pxjo@@zu}{\pxjo@tfm}%
+ \ifx\pxjo@pre\@empty
+ \edef\pxjo@newtfm{\pxjo@@zu\pxjo@prefix--\pxjo@post}%
+ \else
+ \edef\pxjo@newtfm{\pxjo@prefix--\pxjo@tfm}%
+ \fi
+\bxDebug{spec=\pxjo@scale:\pxjo@tfm:\pxjo@newtfm}%
+ \DeclareFontShape{#2}{#3}{#4}{#5}{<->s*[\pxjo@scale]\pxjo@newtfm}{}%
+ \if t#1%
+ \@for\pxjo@tmpa:=\pxjo@reset@size\do{%
+ \global\expandafter\let\csname#2/#3/#4/#5/\pxjo@tmpa
+ \endcsname\relax}%
+ \fi
+ \fi}
+
+%% process
+\@for\pxjo@w:={\pxjo@JY,\pxjo@JT}\do{%
+ \@for\pxjo@x:={hmc,hgt,mg,ruby,rubyg,rubymg}\do{%
+ \@for\pxjo@y:={l,m,bx,eb}\do{%
+ \expandafter\ifx\csname\pxjo@w/\pxjo@x/\pxjo@y/n\endcsname\relax\else
+ \expandafter\let\csname pxjo@DF/\pxjo@x\endcsname=t%
+ \pxjo@process@one{t}\pxjo@w\pxjo@x\pxjo@y{n}%
+ \fi}}}
+
+%--------------------------------------- all done
+\endgroup
+\endinput
+%% EOF
diff --git a/language/japanese/pxjodel/pxjodel.tex b/language/japanese/pxjodel/pxjodel.tex
new file mode 100644
index 0000000000..4090b27543
--- /dev/null
+++ b/language/japanese/pxjodel/pxjodel.tex
@@ -0,0 +1,227 @@
+% 文字コードは 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.2a}
+\newcommand{\PkgDate}{2019/02/12}
+\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}パッケージの
+和文フォント設定に対して
+「直接入力に対するTFMを特定の接頭辞を付けた名前のものに変更する」
+という変更を加える。
+例えば、ユーザが指定した接頭辞が|foo|である場合、
+|nmlminr-h|というTFMは|foo--nmlminr-h|に置き換えられる。
+\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:Objective}
+
+{\pLaTeX}の文書作成において、カスタムのメトリックをもった独自の
+和文VFを用いていたとする。
+
+\begin{itemize}
+\item 横組・明朝体(|JY1/mc/m/n|): |hoge-h|
+\item 縦組・明朝体(|JT1/mc/m/n|): |hoge-v|
+\item 横組・ゴシック体(|JY1/gt/m/n|): |hogeg-h|
+\item 縦組・ゴシック体(|JT1/gt/m/n|): |hogeg-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}だけで場合については、
+「元の|hoge|などのVFを用意できる」人であれば追加のVFを作って
+対応できるであろう。
+(そうでないと対応は困難である。)
+しかし、\ref{itm:mw}と\ref{itm:ajm}の両方を満たす必要がある場合は、
+追加のVFの作製はもっと困難になる。
+\Pkg{japanese-otf}の複雑なVFの内部設計に合わせる必要があるからである。
+
+\medskip
+
+本パッケージは、\Pkg{japanese-otf}のVFを置き換えるための和文VFの
+作成を支援するものである。具体的には
+\begin{quote}
+カスタムのメトリックをもった横組・縦組の和文VFの組があるときに、
+\Pkg{japanese-otf}をそのメトリックで使えるような設定を作り出す
+\end{quote}
+ための作業を容易にする。
+
+%===========================================================
+\section{実際の手順}
+\label{sec:Procedure}
+
+実際に、前述の例に従って、|hoge-h|と|hoge-v|のVFの組
+\footnote{代わりに|hogeg-h|と|hogeg-v|のVFの組を使ってもよい。
+ とにかく入力として使うVFの組みは1つであり、
+ そのメトリックが全部の書体(ウェイト)に対して適用される。}%
+から、そのメトリックを継承した新しい\Pkg{japanese-otf}の
+和文フォント設定を作成するための手順を示す。
+
+使うソフトウェアは次の2つ。
+
+\begin{itemize}
+\item \Pkg{pxjodel}パッケージ(本パッケージ)。
+\item \Pkg{jfmutil}パッケージが提供する|jfmutil|コマンド。
+\end{itemize}
+
+\paragraph{手順}
+最初に一度だけ行う準備作業。
+
+\begin{enumerate}
+\item 入力となる和文VFのファイル
+ (|hoge-h.tfm|、|hoge-h.vf|、|hoge-v.tfm|、|hoge-v.vf|)
+ を{\TeX}から見える場所(カレントディレクトリでもよい)に置く。
+ これらのVFが{\TeX}で使えている状態であれば、
+ 既にそうなっているはずである。
+\item 今作ろうとしている設定に対する名前を用意する。
+ これは生成されるVFの名前の接頭辞として使われるので、
+ \Strong{接頭辞}と呼ぶことにする。
+ ここでは“|hoge|”を使うことにする。
+\item 次のコマンドを実行する。
+\begin{quote}\small\begin{verbatim}
+jfmutil jodel hoge-h hoge
+jfmutil jodel hoge-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}
+
+ここで作製した新しい\Pkg{japanese-otf}の設定を
+{\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
diff --git a/language/japanese/pxjodel/tfm/jodhgothb-hq.tfm b/language/japanese/pxjodel/tfm/jodhgothb-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/jodhgothb-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/jodhgotheb-hq.tfm b/language/japanese/pxjodel/tfm/jodhgotheb-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/jodhgotheb-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/jodhgothr-hq.tfm b/language/japanese/pxjodel/tfm/jodhgothr-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/jodhgothr-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/jodhmgothe-hq.tfm b/language/japanese/pxjodel/tfm/jodhmgothe-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/jodhmgothe-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/jodhminb-hq.tfm b/language/japanese/pxjodel/tfm/jodhminb-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/jodhminb-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/jodhminl-hq.tfm b/language/japanese/pxjodel/tfm/jodhminl-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/jodhminl-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/jodhminr-hq.tfm b/language/japanese/pxjodel/tfm/jodhminr-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/jodhminr-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/zu-jodhgothb-hq.tfm b/language/japanese/pxjodel/tfm/zu-jodhgothb-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/zu-jodhgothb-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/zu-jodhgotheb-hq.tfm b/language/japanese/pxjodel/tfm/zu-jodhgotheb-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/zu-jodhgotheb-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/zu-jodhgothr-hq.tfm b/language/japanese/pxjodel/tfm/zu-jodhgothr-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/zu-jodhgothr-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/zu-jodhmgothe-hq.tfm b/language/japanese/pxjodel/tfm/zu-jodhmgothe-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/zu-jodhmgothe-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/zu-jodhminb-hq.tfm b/language/japanese/pxjodel/tfm/zu-jodhminb-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/zu-jodhminb-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/zu-jodhminl-hq.tfm b/language/japanese/pxjodel/tfm/zu-jodhminl-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/zu-jodhminl-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/tfm/zu-jodhminr-hq.tfm b/language/japanese/pxjodel/tfm/zu-jodhminr-hq.tfm
new file mode 100644
index 0000000000..5b12b8e04f
--- /dev/null
+++ b/language/japanese/pxjodel/tfm/zu-jodhminr-hq.tfm
Binary files differ
diff --git a/language/japanese/pxjodel/vf/jodhgothb-hq.vf b/language/japanese/pxjodel/vf/jodhgothb-hq.vf
new file mode 100644
index 0000000000..910c5ce795
--- /dev/null
+++ b/language/japanese/pxjodel/vf/jodhgothb-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/jodhgotheb-hq.vf b/language/japanese/pxjodel/vf/jodhgotheb-hq.vf
new file mode 100644
index 0000000000..96f737c2e6
--- /dev/null
+++ b/language/japanese/pxjodel/vf/jodhgotheb-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/jodhgothr-hq.vf b/language/japanese/pxjodel/vf/jodhgothr-hq.vf
new file mode 100644
index 0000000000..afc49817e3
--- /dev/null
+++ b/language/japanese/pxjodel/vf/jodhgothr-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/jodhmgothe-hq.vf b/language/japanese/pxjodel/vf/jodhmgothe-hq.vf
new file mode 100644
index 0000000000..9ef80bfe0a
--- /dev/null
+++ b/language/japanese/pxjodel/vf/jodhmgothe-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/jodhminb-hq.vf b/language/japanese/pxjodel/vf/jodhminb-hq.vf
new file mode 100644
index 0000000000..901c137d14
--- /dev/null
+++ b/language/japanese/pxjodel/vf/jodhminb-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/jodhminl-hq.vf b/language/japanese/pxjodel/vf/jodhminl-hq.vf
new file mode 100644
index 0000000000..68831aee78
--- /dev/null
+++ b/language/japanese/pxjodel/vf/jodhminl-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/jodhminr-hq.vf b/language/japanese/pxjodel/vf/jodhminr-hq.vf
new file mode 100644
index 0000000000..a2678235c1
--- /dev/null
+++ b/language/japanese/pxjodel/vf/jodhminr-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/zu-jodhgothb-hq.vf b/language/japanese/pxjodel/vf/zu-jodhgothb-hq.vf
new file mode 100644
index 0000000000..2f02af9ddb
--- /dev/null
+++ b/language/japanese/pxjodel/vf/zu-jodhgothb-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/zu-jodhgotheb-hq.vf b/language/japanese/pxjodel/vf/zu-jodhgotheb-hq.vf
new file mode 100644
index 0000000000..a45cdc6b1b
--- /dev/null
+++ b/language/japanese/pxjodel/vf/zu-jodhgotheb-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/zu-jodhgothr-hq.vf b/language/japanese/pxjodel/vf/zu-jodhgothr-hq.vf
new file mode 100644
index 0000000000..bd147ae68c
--- /dev/null
+++ b/language/japanese/pxjodel/vf/zu-jodhgothr-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/zu-jodhmgothe-hq.vf b/language/japanese/pxjodel/vf/zu-jodhmgothe-hq.vf
new file mode 100644
index 0000000000..a292da6356
--- /dev/null
+++ b/language/japanese/pxjodel/vf/zu-jodhmgothe-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/zu-jodhminb-hq.vf b/language/japanese/pxjodel/vf/zu-jodhminb-hq.vf
new file mode 100644
index 0000000000..f96768e4e6
--- /dev/null
+++ b/language/japanese/pxjodel/vf/zu-jodhminb-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/zu-jodhminl-hq.vf b/language/japanese/pxjodel/vf/zu-jodhminl-hq.vf
new file mode 100644
index 0000000000..01524ad51a
--- /dev/null
+++ b/language/japanese/pxjodel/vf/zu-jodhminl-hq.vf
Binary files differ
diff --git a/language/japanese/pxjodel/vf/zu-jodhminr-hq.vf b/language/japanese/pxjodel/vf/zu-jodhminr-hq.vf
new file mode 100644
index 0000000000..53bf677a74
--- /dev/null
+++ b/language/japanese/pxjodel/vf/zu-jodhminr-hq.vf
Binary files differ