summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-09-07 01:48:55 +0000
committerKarl Berry <karl@freefriends.org>2014-09-07 01:48:55 +0000
commit35d45ab2551e2abe29f6f9c61bbb43bf1507a255 (patch)
treed8c9f1e4c63f849a69efc2a4eede9e4515065532 /Master/texmf-dist/doc
parentdcab4e9ed6f42f12615b9026353870a071b4f9b1 (diff)
luatexja (6sep14)
git-svn-id: svn://tug.org/texlive/trunk@35119 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/README8
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdfbin365271 -> 376712 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdfbin731379 -> 739421 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx2063
4 files changed, 1087 insertions, 984 deletions
diff --git a/Master/texmf-dist/doc/luatex/luatexja/README b/Master/texmf-dist/doc/luatex/luatexja/README
index 2bebe5b1ad7..1a512476d8c 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/README
+++ b/Master/texmf-dist/doc/luatex/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20140621.1
+The LuaTeX-ja Package 20140906.0
--------------------------------
Copyright (c) 2011--2014 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -33,9 +33,9 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20140621.1 in the Git repository by
+ or tagged as 20140906.0 in the Git repository by
<http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20140621.1;sf=tgz>
+ ;a=snapshot;h=refs/tags/20140906.0;sf=tgz>
b1. Extract the archive and process following three files by LuaLaTeX
to generate classes for Japanese typesetting:
@@ -80,4 +80,4 @@ Notes
* src/*.{ins.dtx} and src/ltj-kinsoku_make.tex are not needed in regular use.
-Last commit date: Sat Jun 21 21:42:39 2014 +0900
+Last commit date: Sat Sep 6 17:20:21 2014 +0900
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
index b30d16fc26b..11dae1c3d06 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
index 746adb84246..f1d26f67b62 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
index 69fc7e16ab5..b0d7a89baae 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
@@ -48,6 +48,7 @@
\usepackage{amsmath,array,tikz,pict2e,multienum,float}
\usepackage{booktabs,multicol,luatexja-ruby}
+\usepackage{xy}
%%%%%%%% listings
@@ -64,7 +65,7 @@
tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
}}}
-\usepackage{listings,showexpl}
+\usepackage{listings,showexpl,enumitem}
\lstset{
basicstyle=\ttfamily\small, pos=r, breaklines=true,
numbers=none, rframe={}, basewidth=0.5em, numberstyle=\tiny, numbersep=0.5em,
@@ -73,6 +74,19 @@
% Suppress output from showexpl to stdout.
\let\SX@Info\relax
+%%%%%%%% colors
+%% modified from http://jfly.iam.u-tokyo.ac.jp/colorset/
+\usepackage{transparent}
+\definecolor{red}{rgb}{1, 0.16, 0}
+\definecolor{blue}{rgb}{0, 0.25, 1}
+\definecolor{gray}{rgb}{.50, .53, .56}
+\definecolor{green}{rgb}{.21, .63, .42}
+\definecolor{cyan}{rgb}{0.40, .80, 1}
+\definecolor{b_gray}{rgb}{0.78, 0.78, 0.80}
+\definecolor{b_pink}{rgb}{1, 0.82, 0.82}
+\definecolor{b_green}{rgb}{.53, .91, .69}
+\definecolor{b_cyan}{rgb}{0.70, .92, 98}
+
%%%%%%%% hyperref
\usepackage{hyperref,bookmark}
%<*en>
@@ -136,16 +150,12 @@
\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\kern-.125em\pTeX}
%%%%%%%% other macros
-\newenvironment{cslist}{%
-%<ja> \leftskip2\zw
-%<en> \leftskip2em
- \parindent=0pt\def\makelabel##1{{\tt\textbackslash ##1}}
- \def\{{\char`\{}\def\}{\char`\}}
- \let\origitem=\item
- \def\item[##1]{\par\smallskip\par\hskip-\leftskip\makelabel{##1}\par\nobreak}
- \@totalleftmargin\leftskip
-}{\par%
-%<en>\medskip
+\newlist{cslist}{description}{1}
+\setlist[cslist]{%
+ style=nextline,font=\mdseries\ttfamily,
+ before*=\def\<{\char`\<}\def\>{\char`\>}\def\{{\char`\{}\def\}{\char`\}},
+%<ja> leftmargin=2\zw,
+%<en> leftmargin=2em,
}
\def\labelenumii{(\arabic{enumii})}
@@ -161,6 +171,7 @@
\vskip\belowcaptionskip}
\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
+\def\cs#1{\texttt{\upshape\textbackslash #1}}
%%%%%%%%
\makeatother
@@ -169,7 +180,8 @@
\def\Node#1#2{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\cr
#1\mathstrut\cr\noalign{\hrule height.4pt}\strut#2\cr}}}}\,}}
-\protected\def\Param#1{\textsf{#1}} % parameter name
+\protected\def\Param#1{\hyperlink{fld:#1}{\textsf{#1}}} % parameter name
+\protected\def\DParam#1{\hypertarget{fld:#1}{\textsf{#1}}} % parameter name (definition)
\protected\def\Pkg#1{\underline{\smash{\texttt{#1}}}} % packages/classes
@@ -343,11 +355,11 @@ The followings are major changes from \pTeX:
%<*en>
\item Furthermore, nodes between two characters which have no effects in
- line break (\textit{e.g.}, \verb+\special+ node) and kerns from
+ line break (\textit{e.g.}, \cs{special} node) and kerns from
italic correction are ignored in the insertion process.
%</en>
%<*ja>
-\item さらに,2つの文字の間にある行末では効果を持たないノード(例えば \verb+\special+ ノード)や,
+\item さらに,2つの文字の間にある行末では効果を持たないノード(例えば \cs{special} ノード)や,
イタリック補正に伴い挿入されるカーンは挿入処理中では無視される.
%</ja>
@@ -376,7 +388,7 @@ The followings are major changes from \pTeX:
%<*en>
\item In the process, two Japanese fonts which only differ in their ``real''
- fonts are identified.
+ fonts are identified.
%</en>
%<*ja>
\item 処理中では,2つの和文フォントは,実フォントが異なるだけの場合には同一視
@@ -386,17 +398,10 @@ The followings are major changes from \pTeX:
%<*ja>
\item \LuaTeX-jaでは,\pTeX と同様に漢字・仮名を制御綴内に用いることができ,
-\verb+\西暦+ などが正しく動作するようにしている.
+\cs{西暦} などが正しく動作するようにしている.
但し,制御綴中に使える和文文字が\pTeX・\upTeX と全く同じではないことに注意すること.
%</ja>
-%<*en>
-\item At the present, vertical typesetting (\emph{tategaki}), is not
- supported in \LuaTeX-ja.
-%</en>
-%<*ja>
-\item 現時点では,縦書きは\LuaTeX-jaではサポートされていない.
-%</ja>
\end{itemize}
%<*en>
@@ -440,7 +445,7 @@ In this document, the following terms and notations are used:
\end{itemize}
%<*en>
-We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar},
+We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar},
and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%</en>
%<*ja>
@@ -448,13 +453,13 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
\textbf{JAchar}の出力に用いられるフォントを\emph{和文フォント}と呼ぶ.
%</ja>
%<*en>
-\item A word in a sans-serif font (like \Param{\hyperlink{fld:prebp}{prebreakpenalty}})
+\item A word in a sans-serif font (like \Param{prebreakpenalty})
means an internal parameter for Japanese typesetting, and it
- is used as a key in \verb+\ltjsetparameter+ command.
+ is used as a key in \cs{ltjsetparameter} command.
%</en>
%<*ja>
-\item サンセリフ体で書かれた語(例:\Param{\hyperlink{fld:prebp}{prebreakpenalty}})は日本語組版用の
- パラメータを表し,これらは \verb+\ltjsetparameter+ コマンドのキーとして
+\item サンセリフ体で書かれた語(例:\Param{prebreakpenalty})は日本語組版用の
+ パラメータを表し,これらは \cs{ltjsetparameter} 命令のキーとして
用いられる.
%</ja>
%<*en>
@@ -534,6 +539,7 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
\item \Pkg{everysel} v1.2 (or later)
\item \Pkg{xunicode} v0.981~(2011/09/09)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
+\item \Pkg{everysel}
\end{itemize}
%<*en>
@@ -551,7 +557,7 @@ Now \LuaTeX-ja is available from the following archive and distributions:
\item W32\TeX\ (in \texttt{luatexja.tar.xz})
\end{itemize}
-If you are using \TeX~Live~2014, you can install \LuaTeX-ja
+If you are using \TeX~Live~2014, you can install \LuaTeX-ja
from \TeX~Live manager (\texttt{tlmgr}):
\begin{verbatim}
$ tlmgr install luatexja
@@ -595,7 +601,7 @@ $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
\begin{flushleft}
\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
\end{flushleft}
-\end{itemize}
+\end{itemize}
Note that the \texttt{master} branch, and hence the archive in CTAN, are not updated frequently;
the forefront of development is not the \texttt{master} branch.
@@ -631,7 +637,7 @@ But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
%<*en>
\item If you downloaded this package from CTAN, you have to run following commands
- to generate classes
+ to generate classes
and \texttt{ltj-kinsoku.lua} (the file which stores default ``\textit{kinsoku}'' parameters):
%</en>
%<*ja>
@@ -690,8 +696,8 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
従来日本語の文字コードとして用いられてきたEUC-JPやShift-JISは使用できない.
%</ja>
%<*en>
-\item \LuaTeX-ja is very slower than \pTeX.
-Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
+\item \LuaTeX-ja is very slower than \pTeX.
+Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
about 30\% faster than \LuaTeX, but not always.
%</en>
%<*ja>
@@ -704,16 +710,16 @@ IPA mj明朝などの大きいフォントを用いた場合には\LuaTeX より
%<*en>
\textbf{Note for MiK\TeX\ users}\quad
\LuaTeX-ja requires that several CMap files%
-\footnote{\texttt{UniJIS2004-UTF32-H} and \texttt{Adobe-Japan1-UCS2}.}
+\footnote{\texttt{UniJIS2004-UTF32-\{H,V\}} and \texttt{Adobe-Japan1-UCS2}.}
must be found from \LuaTeX.
-Strictly speaking, those CMaps are needed
+Strictly speaking, those CMaps are needed
only in the first run of \LuaTeX-ja after installing or updating.
-But it seems that MiK\TeX\ does not satisfy this condition,
+But it seems that MiK\TeX\ does not satisfy this condition,
so you will encounter an error like the following:
%</en>
%<*ja>
\LuaTeX-jaが動作するためには,\emph{導入・更新後の初回起動時に}
-\texttt{UniJIS2004-UTF32-H}, \texttt{Adobe-Japan1-UCS2}という2つのCMapが
+\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}という3つのCMapが
\LuaTeX によって見つけられることが必要である.
しかしMiK\TeX ではそのようになっていないので,次のエラーが発生するだろう:
%</ja>
@@ -725,8 +731,8 @@ bad argument #1 to 'open' (string expected, got nil)
%<*en>
If so, please execute a batch file which is written on
\href{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{ the Project Wiki (English)}.
-This batch file creates a temporaly directory, copy CMaps in it,
-run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
+This batch file creates a temporary directory, copy CMaps in it,
+run \LuaTeX-ja in this directory, and finally delete the temporary directory.
%</en>
%<*ja>
そのような場合には,
@@ -752,25 +758,28 @@ run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
\begin{itemize}
%<*en>
-\item The following 6~Japanese fonts are preloaded:
+\item The following 12~Japanese fonts are preloaded:
\begin{center}\small
-\begin{tabular}{ccccc}
+\begin{tabular}{cccccc}
\toprule
+\textbf{direction}&
\textbf{classification}&\textbf{font name}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-\emph{mincho}&Ryumin-Light &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
-\emph{gothic}&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
+\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&
+\emph{mincho}&Ryumin-Light &\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+&\emph{gothic}&GothicBBB-Medium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
\bottomrule
\end{tabular}
\end{center}
%</en>
%<*ja>
-\item 以下の6つの和文フォントが定義される:
+\item 以下の12個の和文フォントが定義される:
\begin{center}\small
-\begin{tabular}{ccccc}
+\begin{tabular}{cccccc}
\toprule
-\emph{字体}&\emph{フォント名}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-明朝体&Ryumin-Light &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
-ゴシック体&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
+&\emph{字体}&\emph{フォント名}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
+&
+明朝体&Ryumin-Light &\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+&ゴシック体&GothicBBB-Medium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
\bottomrule
\end{tabular}
\end{center}
@@ -780,7 +789,7 @@ run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
\item It is widely accepted that fonts ``Ryumin-Light'' and
``GothicBBB-Medium'' aren't embedded into PDF files, and a PDF reader
substitute them by some external Japanese fonts (\textit{e.g.},
- Ryumin-Light is substituted with Kozuka Mincho in Adobe Reader).
+ Ryumin-Light is substituted with Kozuka Mincho in Adobe Reader).
We adopt this custom to the default setting.
%</en>
%<*ja>
@@ -807,10 +816,10 @@ run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
%<*en>
\item The amount of glue that are inserted between a \textbf{JAchar} and
- an \textbf{ALchar} (the parameter \Param{\hyperlink{fld:xks}{xkanjiskip}}) is set to
+ an \textbf{ALchar} (the parameter \Param{xkanjiskip}) is set to
%</en>
%<*ja>
-\item \textbf{JAchar}と\textbf{ALchar}の間に入るグルー(\Param{\hyperlink{fld:xks}{xkanjiskip}})の
+\item \textbf{JAchar}と\textbf{ALchar}の間に入るグルー(\Param{xkanjiskip})の
量は次のように設定されている:
%</ja>
\[
@@ -847,34 +856,34 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
\begin{itemize}
%<*en>
-\item \texttt{JY3} is the font encoding for Japanese fonts (in horizontal direction).\\
+\item The font encoding for Japanese fonts is \texttt{JY3}~(for horizontal direction).
When vertical typesetting is supported by \LuaTeX-ja in the future, \texttt{JT3} will be used for vertical fonts.
%</en>
%<*ja>
-\item \texttt{JY3}は和文フォント用のフォントエンコーディングである(横書き用).\\
-将来的に,\LuaTeX-jaで縦書きがサポートされる際には,\texttt{JT3}を縦書き用として
+\item 和文フォントのエンコーディングとしては,\texttt{JY3} が用いられる.
+将来的に,\LuaTeX-jaで縦組がサポートされる際には,\texttt{JT3}を縦組用として
用いる予定である.
%</ja>
%<*en>
-\item Traditionally, Japanese documents use two typeface category: \emph{mincho}~(明朝体) and
+\item Traditionally, Japanese documents use two typeface categories: \emph{mincho}~(明朝体) and
\emph{gothic}~(\textgt{ゴシック体}). \emph{mincho} is used in the main text, while \emph{gothic}
is used in the headings or for emphasis.
\begin{center}\small
\begin{tabular}{lllc}
\toprule
\textbf{classification}&&&\textbf{family name}\\\midrule
-\emph{mincho} (明朝体)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\verb+\mcdefault+\\
-\emph{gothic} (\textgt{ゴシック体})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\verb+\gtdefault+\\
+\emph{mincho} (明朝体)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
+\emph{gothic} (\textgt{ゴシック体})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
\bottomrule
\end{tabular}
\end{center}
-\item
+\item
By default, the following fonts are used for \emph{mincho} and \emph{gothic}:
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
-\textbf{classification}&\textbf{family name}&\verb+\mdseries+&\verb+\bfseries+&\textbf{scale}\\\midrule
+\textbf{classification}&\textbf{family name}&\cs{mdseries}&\cs{bfseries}&\textbf{scale}\\\midrule
\emph{mincho} (明朝体)&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
\emph{gothic} (\textgt{ゴシック体})&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
\bottomrule
@@ -891,8 +900,8 @@ and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shap
\begin{tabular}{cllc}
\toprule
\emph{字体}&&&\emph{ファミリ名}\\\midrule
-明朝体&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\verb+\mcdefault+\\
-\textgt{ゴシック体}&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\verb+\gtdefault+\\
+明朝体&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
+\textgt{ゴシック体}&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
\bottomrule
\end{tabular}
\end{center}
@@ -900,7 +909,7 @@ and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shap
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
-\emph{字体}&\emph{ファミリ}&\verb+\mdseries+&\verb+\bfseries+&\emph{スケール}\\\midrule
+\emph{字体}&\emph{ファミリ}&\cs{mdseries}&\cs{bfseries}&\emph{スケール}\\\midrule
明朝体&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
ゴシック体&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
\bottomrule
@@ -924,15 +933,23 @@ documents. To typeset Japanese-based documents, you are better to use
class files other than \texttt{article.cls}, \texttt{book.cls}, and so on. At
the present, we have the counterparts of \Pkg{jclasses} (standard
classes in \pLaTeX) and \Pkg{jsclasses} (classes by Haruhiko
-Okumura), namely, \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
+Okumura), namely, \Pkg{ltjclasses}\footnote{%
+ \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls}.
+} and \Pkg{ltjsclasses}\footnote{%
+ \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls},~\texttt{ltjskiyou.cls}.}.
%</en>
%<*ja>
しかしながら,上記の設定は日本語の文書にとって十分とは言えない.
日本語文書を組版するためには,\texttt{article.cls}, \texttt{book.cls}といった
欧文用のクラスファイルではなく,和文用のクラスファイルを用いた方がよい.
現時点では,\Pkg{jclasses}(\pLaTeX の標準クラス)と\Pkg{jsclasses}
-(奥村晴彦氏による「\pLaTeXe 新ドキュメントクラス」)に対応するものとして,\Pkg{ltjclasses},
-\Pkg{ltjsclasses}がそれぞれ用意されている.
+(奥村晴彦氏による「\pLaTeXe 新ドキュメントクラス」)に対応するものとして,
+\Pkg{ltjclasses}\footnote{%
+ \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls}.
+},
+\Pkg{ltjsclasses}\footnote{%
+ \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls},~\texttt{ltjskiyou.cls}.}%
+がそれぞれ用意されている.
%</ja>
%<en>\section{Changing Fonts}
@@ -944,10 +961,11 @@ Okumura), namely, \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
\paragraph{plain \TeX}
%<*en>
To change Japanese fonts in plain \TeX, you must use the command
-\verb+\jfont+. So please see Subsection~\ref{ssec-jfont}.
+\cs{jfont}. So please see Subsection~\ref{ssec-jfont}.
%</en>
%<*ja>
-plain \TeX で和文フォントを変更するためには,\pTeX のように \verb+\jfont+ 命令を直接用いる.
+plain \TeX で和文フォントを変更するためには,
+\pTeX のように \cs{jfont} 命令を直接用いる.
\ref{ssec-jfont}節を参照.
%</ja>
@@ -961,13 +979,13 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (
%</ja>
\begin{itemize}
%<*en>
-\item Commands \verb+\fontfamily+, \verb+\fontseries+,
- \verb+\fontshape+, and \verb+\selectfont+ can be used to change
+\item Commands \cs{fontfamily}, \cs{fontseries},
+ \cs{fontshape}, and \cs{selectfont} can be used to change
attributes of Japanese fonts.
%</en>
%<*ja>
-\item \verb+\fontfamily+, \verb+\fontseries+, \verb+\fontshape+, そして
- \verb+\selectfont+ が和文フォントの属性を変更するために使用できる.
+\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape}, そして
+ \cs{selectfont} が和文フォントの属性を変更するために使用できる.
%</ja>
%<*en>
@@ -976,13 +994,13 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (
\toprule
&\textbf{encoding}&\textbf{family}&\textbf{series}&\textbf{shape}&\textbf{selection}\\\midrule
alphabetic fonts
-&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
-&\verb+\useroman+\\
+&\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
+&\cs{useroman}\\
Japanese fonts
-&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
-&\verb+\usekanji+\\
-both&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
-auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
+&\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
+&\cs{usekanji}\\
+both&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
\bottomrule
\end{tabular}
\end{center}
@@ -993,13 +1011,13 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
\toprule
&\emph{エンコーディング}&\emph{ファミリ}&\emph{シリーズ}&\emph{シェープ}&\emph{選択}\\\midrule
欧文
-&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
-&\verb+\useroman+\\
+&\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
+&\cs{useroman}\\
和文
-&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
-&\verb+\usekanji+\\
-両方&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
-自動選択&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
+&\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
+&\cs{usekanji}\\
+両方&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+自動選択&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
\bottomrule
\end{tabular}
\end{center}
@@ -1011,8 +1029,8 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
\verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to
\texttt{JY3},and \verb+\fontencoding{T1}+ changes the encoding of
alphabetic fonts to \texttt{T1}.
- \verb+\fontfamily+ also changes the current Japanese font family,
- the current alphabetic font family, \emph{or both}.
+ \cs{fontfamily} also changes the current Japanese font family,
+ the current alphabetic font family, \emph{or both}.
For the detail, see Subsection~\ref{ssec-nfsspat}.
%</en>
%<*ja>
@@ -1020,23 +1038,23 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
側かのどちらかのエンコーディングを変更する.例えば,
\verb+\fontencoding{JY3}+ は和文フォントのエンコーディングを
\texttt{JY3}に変更し,\verb+\fontencoding{T1}+ は欧文フォント側を
- \texttt{T1}へと変更する.\verb+\fontfamily+ も引数により和文側,欧文
+ \texttt{T1}へと変更する.\cs{fontfamily} も引数により和文側,欧文
側,\emph{あるいは両方}のフォントファミリを変更する.詳細は
\ref{ssec-nfsspat}節を参照すること.
%</ja>
%<*en>
\item For defining a Japanese font family, use
- \verb+\DeclareKanjiFamily+ instead of
- \verb+\DeclareFontFamily+. However, in the present implementation,
- using \verb+\DeclareFontFamily+ doesn't cause any problem.
-\item Defining a Japanese font shape can be done by usual \verb+\DeclareFontShape+:
+ \cs{DeclareKanjiFamily} instead of
+ \cs{DeclareFontFamily}. However, in the present implementation,
+ using \cs{DeclareFontFamily} doesn't cause any problem.
+\item Defining a Japanese font shape can be done by usual \cs{DeclareFontShape}:
%</en>
%<*ja>
-\item 和文フォントファミリの定義には \verb+\DeclareFontFamily+ の
- 代わりに \verb+\DeclareKanjiFamily+ を用いる.しかし,現在の
- 実装では \verb+\DeclareFontFamily+ を用いても問題は生じない.
-\item 和文フォントのシェイプを定義するには,通常の \verb+\DeclareFontShape+ を使えば良い:
+\item 和文フォントファミリの定義には \cs{DeclareFontFamily} の
+ 代わりに \cs{DeclareKanjiFamily} を用いる.しかし,現在の
+ 実装では \cs{DeclareFontFamily} を用いても問題は生じない.
+\item 和文フォントのシェイプを定義するには,通常の \cs{DeclareFontShape} を使えば良い:
%</ja>
\begin{verbatim}
\DeclareFontShape{JY3}{mc}{bx}{n}{<-> s*KozMinPr6N-Bold:jfm=ujis;-kern}{}
@@ -1044,8 +1062,8 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
\end{verbatim}
%<*ja>
仮名書体を使う場合など,複数の和文フォントを組み合わせて使いたい場合は
-\ref{ssec-altfont}節の \verb+\ltjdeclarealtfont+ と,その\LaTeX 版の\
-\verb+\DeclareAlternateKanjiFont+(\ref{ssec-nfsspat}節)を参照せよ.
+\ref{ssec-altfont}節の \cs{ltjdeclarealtfont} と,その\LaTeX 版の\
+\cs{DeclareAlternateKanjiFont}(\ref{ssec-nfsspat}節)を参照せよ.
%</ja>
\end{itemize}
@@ -1117,7 +1135,7 @@ To coexist with the \Pkg{fontspec} package, it is needed to load
\begin{quote}
\ttfamily \textbackslash usepackage[<options>]\{luatexja-fontspec\}
\end{quote}
-This \Pkg{luatexja-fontspec} package
+This \Pkg{luatexja-fontspec} package
automatically loads \Pkg{luatexja} and \Pkg{fontspec}
package, if needed.
%</en>
@@ -1144,16 +1162,16 @@ counterparts of original commands in the \Pkg{fontspec} package:
\begin{tabular}{ccccc}
\toprule
Japanese fonts
-&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+&\verb+\setmonojfont+$^*$\\
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}$^*$\\
alphabetic fonts
-&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+&\verb+\setmonofont+\\
+&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
\midrule
Japanese fonts
-&\verb+\newjfontfamily+&\verb+\newjfontface+
-&\verb+\defaultjfontfeatures+&\verb+\addjfontfeatures+\\
+&\cs{newjfontfamily}&\cs{newjfontface}
+&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
alphabetic fonts
-&\verb+\newfontfamily+&\verb+\newfontface+
-&\verb+\defaultfontfeatures+&\verb+\addfontfeatures+\\
+&\cs{newfontfamily}&\cs{newfontface}
+&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}
\end{center}
@@ -1163,36 +1181,37 @@ alphabetic fonts
\begin{tabular}{cccc}
\toprule
和文
-&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+\\
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}\\
欧文
-&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+\\
+&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}\\
\midrule
和文
-&\verb+\newjfontfamily+&\verb+\newjfontface+&\verb+\defaultjfontfeatures+\\
+&\cs{newjfontfamily}&\cs{newjfontface}&\cs{defaultjfontfeatures}\\
欧文
-&\verb+\newfontfamily+&\verb+\newfontface+&\verb+\defaultfontfeatures+\\
+&\cs{newfontfamily}&\cs{newfontface}&\cs{defaultfontfeatures}\\
\midrule
和文
-&\verb+\addjfontfeatures+\\
+&\cs{addjfontfeatures}\\
欧文
-&\verb+\addfontfeatures+\\
+&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}
\end{center}
%</ja>
%<*en>
The package option of \Pkg{luatexja-fontspec} are the followings:
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
- \item[match] If this option is specified, usual family-changing commands such as
-\verb+\rmfamily+,~\verb+\textrm+, \verb+\sffamily+,~\dots\ also change Japanese font family.
+\begin{cslist}
+ \item[match]
+If this option is specified, usual family-changing commands such as
+\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
-Note that \emph{\texttt{\textup{\textbackslash setmonojfont}} is defined
+Note that \emph{\cs{setmonojfont} is defined
if and only if this \texttt{\textup{match}} option is specified}.
- \item[pass=<opts>]
+ \item[pass=<opts>]
Specify options <opts> which will be passed to the \Pkg{fontspec} package.
-\end{list}
-The reason that \verb+\setmonojfont+ is not defined by default is that
+\end{cslist}
+The reason that \cs{setmonojfont} is not defined by default is that
it is popular for Japanese fonts that nearly all Japanese glyphs have same
widths. Also note that kerning information in a font is not used
(that is, \texttt{kern} feature is set off) by default in these seven (or~eight) commands.
@@ -1201,18 +1220,19 @@ This is because of the compatibility with previous versions of \LuaTeX-ja
%</en>
%<*ja>
\Pkg{luatexja-fontspec} パッケージのオプションは以下の通りである:
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
- \item[match] このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\
-\verb+\rmfamily+, \verb+\textrm{...}+, \verb+\sffamily+ 等が
+\begin{cslist}
+ \item[match]
+このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\
+\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が
欧文フォントだけでなく和文フォントも変更するようになる.
-\emph{なお,{\tt \textbackslash setmonojfont} はこの \texttt{match} オプションが
+\emph{なお,\cs{setmonojfont} はこの \texttt{match} オプションが
指定された時のみ定義される.}この命令は標準の「タイプライタ体に対応する和文フォント」を指定する.
- \item[pass=<opts>]
+ \item[pass=<opts>]
\Pkg{fontspec} パッケージに渡すオプション <opts> を指定する.
-\end{list}
-標準で \verb+\setmonojfont+ コマンドが定義されないのは,
+\end{cslist}
+標準で \cs{setmonojfont} コマンドが定義されないのは,
和文フォントではほぼ全ての和文文字のグリフが等幅であるのが伝統的であったことによる.
また,これらの和文用のコマンドではフォント内のペアカーニング情報は標準では使用されない,
言い換えれば \texttt{kern} featureは標準では無効化となっている.
@@ -1249,7 +1269,7 @@ before \Pkg{luatexja-preset}:
\Pkg{fontspec}を読み込んでいる.
もし\Pkg{fontspec}パッケージに何らかのオプションを渡す必要がある
-\footnote{例えば,数式フォントまで置換されてしまい,\texttt{\textbackslash mathit}によってギリシャ文字の
+\footnote{例えば,数式フォントまで置換されてしまい,\cs{mathit}によってギリシャ文字の
斜体大文字が出なくなる,など.}場合は,
次のように\Pkg{luatexja-preset}の前に\Pkg{fontspec}を手動で読みこめば良い:
%</ja>
@@ -1260,45 +1280,47 @@ before \Pkg{luatexja-preset}:
%<en>\paragraph{General options}
%<ja>\paragraph{一般的なオプション}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[]
+
\item[nodeluxe]
%<*en>
Use one-weighted \textit{mincho} and \textit{gothic} font families.
-This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
+This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
\verb+\gtfamily\mdseries+ use the same font.
\emph{This option is enabled by default.}
%</en>
%<*ja>
\LaTeXe 環境下での標準設定のように,明朝体・ゴシック体を各1ウェイトで使用する.
より具体的に言うと,この設定の下では
-\verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+, \verb+\gtfamily\mdseries+は
-みな同じフォントとなる.\emph{このオプションは標準で有効になっている.}
+\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
+\verb+\gtfamily\mdseries+はみな同じフォントとなる.
+\emph{このオプションは標準で有効になっている.}
%</ja>
\item[deluxe]
%<*en>
Use \textit{mincho} with two weights (medium~and~bold),
\textit{gothic} with three weights (medium, bold~and~heavy), and \textit{rounded gothic}%
-\footnote{Provided by \texttt{\textbackslash mgfamily} and \texttt{\textbackslash textmg\{...\}},
+\footnote{Provided by \cs{mgfamily} and \cs{textmg},
because \textit{rounded gothic} is called \textit{maru gothic} (丸ゴシック) in Japanese.}.
-The heavy weight of \textit{gothic} can be used by ``changing the family'' \verb+\gtebfamily+,
+The heavy weight of \textit{gothic} can be used by ``changing the family'' \cs{gtebfamily},
or \verb+\textgteb{...}+.
-This is because \Pkg{fontspec} package can handle only medium (\verb+\mdseries+) and
-bold (\verb+\bfseries+).
+This is because \Pkg{fontspec} package can handle only medium (\cs{mdseries}) and
+bold (\cs{bfseries}).
%</en>
%<*ja>
明朝体2ウェイト・ゴシック体3ウェイトと,
-丸ゴシック体 (\verb+\mgfamily+, \verb+\textmg{...}+) を使用可能とする.
+丸ゴシック体 (\cs{mgfamily}, \verb+\textmg{...}+) を使用可能とする.
ゴシック体は細字・太字・極太の3ウェイトがあるが,
-極太ゴシック体はファミリの切り替え (\verb+\gtebfamily+, \verb+\textgteb{...}+) %
-で実現している.\Pkg{fontspec}では通常 (\verb+\mdseries+) と太字 (\verb+\bfseries+) しか扱えないために
+極太ゴシック体はファミリの切り替え (\cs{gtebfamily}, \verb+\textgteb{...}+) %
+で実現している.\Pkg{fontspec}では通常 (\cs{mdseries}) と太字 (\cs{bfseries}) しか扱えないために
このような中途半端な実装になっている.
%</ja>
\item[expert]
%<*en>
-Use horizontal kana alternates, and define a command \verb+\rubyfamily+ to use kana
+Use horizontal kana alternates, and define a command \cs{rubyfamily} to use kana
characters designed for ruby.
%</en>
-%<ja>横組専用仮名を用いる.また,\verb+\rubyfamily+ でルビ用仮名が使用可能となる.
+%<ja>横組専用仮名を用いる.また,\cs{rubyfamily} でルビ用仮名が使用可能となる.
\item[bold]
%<en>Substitute bold series of \textit{gothic} for bold series of \textit{mincho}.
%<ja>「明朝の太字」をゴシック体の太字によって代替する.
@@ -1317,7 +1339,7 @@ Use the JFM \texttt{jfm-jis.lua}, instead of \texttt{jfm-ujis.lua}, which is the
用いるJFMを(JISフォントメトリック類似の)\texttt{jfm-jis.lua}にする.このオプションがない時は
\LuaTeX-ja標準の\texttt{jfm-ujis.lua}が用いられる.
%</ja>
-\end{list}
+\end{cslist}
%<*en>
Note that \texttt{90jis} and \texttt{jis2004} only affect with \textit{mincho},
\textit{gothic} (and possibly \textit{rounded gothic}) defined by this package.
@@ -1329,21 +1351,22 @@ We didn't taken account of when both \texttt{90jis} and \texttt{jis2004} are sp
同時に指定された場合の動作については全く考慮していない.
%</ja>
+\newpage
%<en>\paragraph{Presets for multi weight}
%<ja>\paragraph{多ウェイト用プリセットの一覧}
%<*en>
Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
-fonts are specified by fontname, not by filename.
+fonts are specified by font name, not by file name.
%</en>
%<*ja>
\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以外はフォントの指定は
(ファイル名でなく)フォント名で行われる.
%</ja>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
-%<en> \\[-\dimexpr\medskipamount+\baselineskip\relax]
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[kozuka-pr6] Kozuka Pr6 (Adobe-Japan1-6) fonts.
-%<en> \\[-\dimexpr\medskipamount+\baselineskip\relax]
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[kozuka-pr6n] Kozuka Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
%<*en>
@@ -1392,7 +1415,7 @@ In above table, starred fonts (KozGo\dots-Regular) are used for medium series of
%<ja>\medskip
\item[hiragino-pro] Hiragino Pro (Adobe-Japan1-5) fonts.
-%<en> \\[-\dimexpr\medskipamount+\baselineskip\relax]
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
%<*en>
@@ -1435,8 +1458,9 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
%<ja>\medskip
\item[morisawa-pro] Morisawa Pro (Adobe-Japan1-4) fonts.
-%<en> \\[-\dimexpr\medskipamount+\baselineskip\relax]
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[morisawa-pr6n] Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
+
\begin{center}\small
\begin{tabular}{cl>{\tt}l>{\tt}l}
\toprule
@@ -1461,9 +1485,11 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
\end{tabular}
\end{center}
- \item[yu-win] Yu fonts bundled with Windows~8.1.
-%<en> \\[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[yu-osx] Yu fonts bundled with OSX~Mavericks.
+\newpage
+ \item[yu-win] Yu fonts bundled with Windows~8.1.
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[yu-osx] Yu fonts bundled with OSX~Mavericks.
+
\begin{center}\small
\begin{tabular}{clll}
\toprule
@@ -1490,7 +1516,7 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
\end{tabular}
\end{center}
-\end{list}
+\end{cslist}
%<en>\paragraph{Presets for single weight}
%<ja>\paragraph{単ウェイト用プリセット一覧}
%<*en>
@@ -1588,8 +1614,8 @@ Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB, and HG Maru Gothic P
are internally specified by:
\begin{description}
\item[default] by font name (\texttt{HGMinchoE}, etc.).
-\item[{\tt 90jis}] by filename (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
-\item[{\tt jis2004}] by filename (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
+\item[{\tt 90jis}] by file name (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
+\item[{\tt jis2004}] by file name (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
\end{description}
%</en>
%<*ja>
@@ -1606,7 +1632,7 @@ are internally specified by:
%<*en>
-\subsection{\texttt{\textbackslash CID}, \texttt{\textbackslash UTF}, and macros in \Pkg{japanese-otf} package}
+\subsection{\cs{CID}, \cs{UTF}, and macros in \Pkg{japanese-otf} package}
Under \pLaTeX, \Pkg{japanese-otf} package (developed by Shuzaburo Saito) is
used for typesetting characters which is in Adobe-Japan1-6 CID but not
in JIS~X~0208. Since this package is widely used, \LuaTeX-ja
@@ -1614,7 +1640,7 @@ supports some of functions in \Pkg{japanese-otf} package.
If you want to use these functions, load \Pkg{luatexja-otf} package.
%</en>
%<*ja>
-\subsection{\texttt{\textbackslash CID}, \texttt{\textbackslash UTF}と\Pkg{otf}パッケージのマクロ}
+\subsection{\cs{CID}, \cs{UTF}と\Pkg{otf}パッケージのマクロ}
\pLaTeX では,JIS~X~0208にないAdobe-Japan1-6の文字を出力するために,
齋藤修三郎氏による\Pkg{otf}パッケージが用いられていた.このパッケージは
広く用いられているため,\LuaTeX-jaにおいても\Pkg{otf}パッケージの機能の
@@ -1635,11 +1661,12 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
%<*ja>
\Pkg{otf}パッケージでは,それぞれ次のようなオプションが存在した:
-\begin{description}
-\item[\texttt{deluxe}] 明朝体・ゴシック体各2ウェイトと,丸ゴシック体を扱えるようになる.
-\item[\texttt{expert}] 仮名が横組・縦組専用のものに切り替わり,ルビ用仮名も扱えるようになる.
-\item[\texttt{bold}] ゴシック体を標準で太いウェイトのものに設定する.
-\end{description}
+\begin{cslist}
+\item[deluxe] 明朝体・ゴシック体各2ウェイトと,丸ゴシック体を扱えるようになる.
+\item[expert] 仮名が横組専用のものに切り替わり,ルビ用仮名も
+\ \cs{rubyfamily}\ によって扱えるようになる.
+\item[bold] ゴシック体を標準で太いウェイトのものに設定する.
+\end{cslist}
しかしこれらのオプションは\Pkg{luatexja-otf}パッケージには存在しない.
\Pkg{otf}パッケージが文書中で使用する和文用TFMを自前の物に置き換えていたのに対し,
\Pkg{luatexja-otf}パッケージでは,そのようなことは行わないからである.
@@ -1658,13 +1685,13 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
There are many parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
most of them are not stored as internal register of \TeX, but as an
original storage system in \LuaTeX-ja. Hence, to assign or acquire those
-parameters, you have to use commands \verb+\ltjsetparameter+ and
-\verb+\ltjgetparameter+.
+parameters, you have to use commands \cs{ltjsetparameter} and
+\cs{ltjgetparameter}.
%</en>
%<*ja>
\LuaTeX-jaには多くのパラメータが存在する.そして\LuaTeX の仕様のために,
その多くは\TeX のレジスタにではなく,\LuaTeX-ja独自の方法で保持されている.
-これらのパラメータを設定・取得するためには \verb+\ltjsetparameter+ と \verb+\ltjgetparameter+ を
+これらのパラメータを設定・取得するためには \cs{ltjsetparameter} と \cs{ltjgetparameter} を
用いる.
%</ja>
@@ -1674,15 +1701,15 @@ parameters, you have to use commands \verb+\ltjsetparameter+ and
%<*en>
\LuaTeX-ja divides the Unicode codespace \texttt{U+0080}--\texttt{U+10FFFF}
-into \emph{character ranges},
-numbered 1 to 217. The grouping can be (globally) customized by \verb+\ltjdefcharrange+.
+into \emph{character ranges},
+numbered 1 to 217. The grouping can be (globally) customized by \cs{ltjdefcharrange}.
The next line adds whole characters in Supplementary Ideographic Plane
and the character ``漢'' to the character range~100.
%</en>
%<*ja>
\LuaTeX-jaは,Unicodeの \texttt{U+0080}--\texttt{U+10FFFF} の空間を
1番から217番までの\emph{文字範囲}に分割している.
-区分けは \verb+\ltjdefcharrange+ を用いることで(グローバルに)変更することができ,
+区分けは \cs{ltjdefcharrange} を用いることで(グローバルに)変更することができ,
例えば,次は追加漢字面(SIP)にある全ての文字と「漢」を「100番の文字範囲」に追加する.
%</ja>
\begin{lstlisting}
@@ -1690,7 +1717,7 @@ and the character ``漢'' to the character range~100.
\end{lstlisting}
%<*en>
A character can belong to only one character range.
-For example, whole SIP belong to the range~4 in the default setting of \LuaTeX-ja,
+For example, whole SIP belong to the range~4 in the default setting of \LuaTeX-ja,
and if you execute the above line, then SIP will belong to the range~100 and be
removed from the range~4.
%</en>
@@ -1725,8 +1752,8 @@ it sets
%<*en>
The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
Negative integer $-n$ in the list means that ``each character in the range~$n$ is an
-\textbf{ALchar}'',
-and positive integer $+n$ meansthat ``\dots\ is a \textbf{JAchar}''.
+\textbf{ALchar}'',
+and positive integer $+n$ means that ``\dots\ is a \textbf{JAchar}''.
%</en>
%<*ja>
\textsf{jacharrange}パラメータの引数は非零の整数のリストである.
@@ -1758,7 +1785,7 @@ Now we describe these eight ranges. The superscript ``J'' or ``A'' after the
number shows whether each character in the range is treated as
\textbf{JAchar}s or not by default. These settings are similar to the
\texttt{prefercjk} settings defined in \texttt{PXbase} bundle.
-Any characters above \texttt{U+0080} which does not belong to
+Any characters above \texttt{U+0080} which does not belong to
these eight ranges belongs to the character range~217.
%</en>
%<*ja>
@@ -1769,6 +1796,7 @@ these eight ranges belongs to the character range~217.
%</ja>
\begin{description}
%<*en>
+\newpage
\item[Range~8${}^{\text{J}}$] The intersection of the upper half of ISO~8859-1
(Latin-1 Supplement) and JIS~X~0208 (a basic character set for Japanese). This character range
consists of the following characters:
@@ -1838,7 +1866,7 @@ This range consists of the following Unicode ranges, \emph{except characters in
に示してある.
%</ja>
\begin{table}[!tb]
-%<en>\caption{Unicode blocks in predefined character range~3.}
+%<en>\caption{Unicode blocks in predefined character range~3.}\medskip
%<ja>\caption{文字範囲3に指定されているUnicodeブロック.}
\label{table-rng3}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1887,7 +1915,7 @@ This range consists of the following Unicode ranges, \emph{except characters in
%<en>\item[Range~6${}^{\text{J}}$] Characters used in Japanese. The block list is indicated in Table~\ref{table-rng6}.
%<ja>\item[範囲6${}^{\text{J}}$] 日本語で用いられる文字.ブロックのリストは表\ref{table-rng6}に示す.
\begin{table}[!tb]
-%<en>\caption{Unicode blocks in predefined character range~6.}
+%<en>\caption{Unicode blocks in predefined character range~6.}\medskip
%<ja>\caption{文字範囲6に指定されているUnicodeブロック.}
\label{table-rng6}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1922,7 +1950,7 @@ The block list is indicated in Table~\ref{table-rng7}.
ブロックのリストは表\ref{table-rng7}に示す.
%</ja>
\begin{table}[!tb]
-%<en>\caption{Unicode blocks in predefined character range~7.}
+%<en>\caption{Unicode blocks in predefined character range~7.}\medskip
%<ja>\caption{文字範囲7に指定されているUnicodeブロック.}
\label{table-rng7}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1945,7 +1973,7 @@ The block list is indicated in Table~\ref{table-rng7}.
\end{description}
-%<en>\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
+%<en>\newpage\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%<ja>\subsection{\Param{kanjiskip}と\Param{xkanjiskip}}
\label{subs-kskip}
@@ -1953,12 +1981,12 @@ The block list is indicated in Table~\ref{table-rng7}.
%<ja>\textbf{JAglue}は以下の3つのカテゴリに分類される:
\begin{itemize}
%<*en>
-\item Glues/kerns specified in JFM. If \verb+\inhibitglue+ is issued
+\item Glues/kerns specified in JFM. If \cs{inhibitglue} is issued
around a Japanese character, this glue will not be inserted at the
place.
%</en>
%<*ja>
-\item JFMで指定されたグルー/カーン.もし \verb+\inhibitglue+ が和文文字の周りで
+\item JFMで指定されたグルー/カーン.もし \cs{inhibitglue} が和文文字の周りで
発行されていれば,このグルーは挿入されない.
%</ja>
%<*en>
@@ -1966,25 +1994,25 @@ The block list is indicated in Table~\ref{table-rng7}.
kanjiskip}).
%</en>
%<*ja>
-\item デフォルトで2つの\textbf{JAchar}の間に挿入されるグルー(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}).
+\item デフォルトで2つの\textbf{JAchar}の間に挿入されるグルー(\Param{kanjiskip}).
%</ja>
%<*en>
\item The default glue which inserted between a \textbf{JAchar} and an
- \textbf{ALchar} (\Param{\hyperlink{fld:xks}{xkanjiskip}}).
+ \textbf{ALchar} (\Param{xkanjiskip}).
%</en>
%<*ja>
-\item デフォルトで\textbf{JAchar}と\textbf{ALchar}の間に挿入されるグルー(\Param{\hyperlink{fld:xks}{xkanjiskip}}).
+\item デフォルトで\textbf{JAchar}と\textbf{ALchar}の間に挿入されるグルー(\Param{xkanjiskip}).
%</ja>
\end{itemize}
%<*en>
-The value (a skip) of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} or
-\Param{\hyperlink{fld:xks}{xkanjiskip}} can be changed as the following.
+The value (a skip) of \Param{kanjiskip} or
+\Param{xkanjiskip} can be changed as the following.
Note that only their values \emph{at the end of a paragraph or a hbox are
adopted in the whole paragraph or the whole hbox.
}
%</en>
%<*ja>
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}や\Param{\hyperlink{fld:xks}{xkanjiskip}}の値
+\Param{kanjiskip}や\Param{xkanjiskip}の値
は以下のようにして変更可能である.
%</ja>
\begin{lstlisting}
@@ -1992,44 +2020,60 @@ adopted in the whole paragraph or the whole hbox.
xkanjiskip={0.25\zw plus 1pt minus 1pt}}
\end{lstlisting}
%<*en>
-Here \verb+\zw+ is a internal dimension
+Here \cs{zw} is a internal dimension
which stores fullwidth of the current Japanese font.
-This \verb+\zw+ can be used as the unit \texttt{zw} in \pTeX.
+This \cs{zw} can be used as the unit \texttt{zw} in \pTeX.
-It may occur that JFM contains the data of ``ideal width of
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}''
-and/or ``ideal width of \Param{\hyperlink{fld:xks}{xkanjiskip}}''.
-To use these data from JFM, set the value of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} or
-\Param{\hyperlink{fld:xks}{xkanjiskip}} to \verb+\maxdimen+.
+The value of these parameter can be get by \cs{ltjgetparameter}.
+Note that the result by \cs{ltjgetparameter} is \emph{not} the internal quantities,
+but \emph{a string} (hence \cs{the} cannot be prefixed).
%</en>
%<*ja>
-ここで,\verb+\zw+ は現在の和文フォントの全角幅を表す長さであり,
+ここで,\cs{zw} は現在の和文フォントの全角幅を表す長さであり,
\pTeX における長さ単位 \texttt{zw} と同じように使用できる.
-JFMは「望ましい\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の値」や
-「望ましい\Param{\hyperlink{fld:xks}{xkanjiskip}}の値」を持っていることがある.
-これらのデータを使うためには,\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}や%
-\Param{\hyperlink{fld:xks}{xkanjiskip}}の値を \verb+\maxdimen+ の値に設定すればよい.
+これらのパラメータの値は以下のように取得できる.
+戻り値は内部値ではなく\emph{文字列}である(\cs{the} は前置できない)ことに注意してほしい:
+%</ja>
+\begin{LTXexample}
+kanjiskip: \ltjgetparameter{kanjiskip},\\
+xkanjiskip: \ltjgetparameter{xkanjiskip}
+\end{LTXexample}
+
+%<*en>
+It may occur that JFM contains the data of ``ideal width of
+\Param{kanjiskip}''
+and/or ``ideal width of \Param{xkanjiskip}''.
+To use these data from JFM, set the value of \Param{kanjiskip} or
+\Param{xkanjiskip} to \cs{maxdimen}
+(these ``ideal width'' cannot be retrived by \cs{ltjgetparameter}).
+%</en>
+%<*ja>
+JFMは「望ましい\Param{kanjiskip}の値」や
+「望ましい\Param{xkanjiskip}の値」を持っていることがある.
+これらのデータを使うためには,\Param{kanjiskip}や%
+\Param{xkanjiskip}の値を \cs{maxdimen} の値に設定すればよいが,
+\cs{ltjgetparameter} によって取得することはできないので注意が必要である.
%</ja>
%<en>\subsection{Insertion Setting of \Param{xkanjiskip}}
%<ja>\subsection{\Param{xkanjiskip} の挿入設定}
%<*en>
-It is not desirable that \Param{\hyperlink{fld:xks}{xkanjiskip}} is inserted into every
+It is not desirable that \Param{xkanjiskip} is inserted into every
boundary between \textbf{JAchar}s and \textbf{ALchar}s. For example,
-\Param{\hyperlink{fld:xks}{xkanjiskip}} should not be inserted after opening parenthesis
+\Param{xkanjiskip} should not be inserted after opening parenthesis
(\textit{e.g.}, compare ``(あ'' and ``(\hskip\ltjgetparameter{xkanjiskip}あ'').
-\LuaTeX-ja can control whether \Param{\hyperlink{fld:xks}{xkanjiskip}} can be inserted
+\LuaTeX-ja can control whether \Param{xkanjiskip} can be inserted
before/after a character, by changing \Param{jaxspmode} for \textbf{JAchar}s and
\Param{alxspmode} parameters \textbf{ALchar}s respectively.
%</en>
%<*ja>
-\Param{\hyperlink{fld:xks}{xkanjiskip}}がすべての\textbf{JAchar}と\textbf{ALchar}の境界に
-挿入されるのは望ましいことではない.例えば,\Param{\hyperlink{fld:xks}{xkanjiskip}}は開き括弧の
+\Param{xkanjiskip}がすべての\textbf{JAchar}と\textbf{ALchar}の境界に
+挿入されるのは望ましいことではない.例えば,\Param{xkanjiskip}は開き括弧の
後には挿入されるべきではない(「(あ」と「(\hskip\ltjgetparameter{xkanjiskip}あ」を
比べてみよ).
-\LuaTeX-jaでは\Param{\hyperlink{fld:xks}{xkanjiskip}}をある文字の前/後に挿入するかどうかを,
+\LuaTeX-jaでは\Param{xkanjiskip}をある文字の前/後に挿入するかどうかを,
\textbf{JAchar}に対しては\Param{jaxspmode}を,\textbf{ALchar}に対しては
\Param{alxspmode}をそれぞれ変えることで制御することができる.
%</ja>
@@ -2040,11 +2084,11 @@ pあq い!う
%<*en>
The second argument \texttt{preonly} means that the insertion of
-\Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before this character, but not after.
+\Param{xkanjiskip} is allowed before this character, but not after.
the other possible values are \texttt{postonly}, \texttt{allow}, and \texttt{inhibit}.
%</en>
%<*ja>
-2つ目の引数の \texttt{preonly}は「\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入はこの文字の
+2つ目の引数の \texttt{preonly}は「\Param{xkanjiskip}の挿入はこの文字の
前でのみ許され,後では許さない」ことを意味する.他に指定可能な値は
\texttt{postonly}, \texttt{allow}, \texttt{inhibit}である.
%</ja>
@@ -2070,12 +2114,12 @@ One can use also numbers to specify these two parameters (see Subsection~\ref{ss
%</ja>
%<*en>
-If you want to enable/disable all insertions of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} and
-\Param{\hyperlink{fld:xks}{xkanjiskip}}, set \Param{autospacing} and \Param{autoxspacing}
+If you want to enable/disable all insertions of \Param{kanjiskip} and
+\Param{xkanjiskip}, set \Param{autospacing} and \Param{autoxspacing}
parameters to \texttt{true}/\texttt{false}, respectively.
%</en>
%<*ja>
-もし全ての\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}と\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入を有効化/無効化
+もし全ての\Param{kanjiskip}と\Param{xkanjiskip}の挿入を有効化/無効化
したければ,それぞれ\Param{autospacing}と\Param{autoxspacing}を
\texttt{true}/\texttt{false}に設定すればよい.
%</ja>
@@ -2085,36 +2129,36 @@ parameters to \texttt{true}/\texttt{false}, respectively.
%<*en>
To make a match between a Japanese font and an alphabetic font, sometimes
shifting of the baseline of one of the pair is needed. In \pTeX, this is achieved
-by setting \verb+\ybaselineshift+ to a non-zero length (the
+by setting \cs{ybaselineshift} (or \cs{tbaselineshift}) to a non-zero length (the
baseline of \textbf{ALchar} is shifted below). However, for documents
whose main language is not Japanese, it is good to shift the baseline of
Japanese fonts, but not that of alphabetic fonts.
Because of this, \LuaTeX-ja can independently set the shifting amount
-of the baseline of alphabetic fonts (\Param{yalbaselineshift}
-parameter) and that of Japanese fonts (\Param{yjabaselineshift}
-parameter).
+of the baseline of alphabetic fonts (\Param{yalbaselineshift} parameter)
+and that of Japanese fonts (\Param{yjabaselineshift} parameter).
%</en>
%<*ja>
和文フォントと欧文フォントを合わせるためには,時々どちらかのベースラインの移動が
-必要になる.\pTeX ではこれは \verb+\ybaselineshift+ を設定することで
+必要になる.\pTeX ではこれは \cs{ybaselineshift} を設定することで
なされていた(\textbf{ALchar}のベースラインがその分だけ下がる).しかし,日本語が主ではない
文書に対しては,欧文フォントではなく和文フォントのベースラインを移動した方がよい.
-このため,\LuaTeX-jaでは欧文フォントのベースラインのシフト量
-(\Param{yalbaselineshift}パラメータ)と和文フォントのベースラインのシフト量
-(\Param{yjabaselineshift}パラメータ)を独立に設定できるようになっている.
+このため,\LuaTeX-jaでは
+欧文フォントのベースラインのシフト量(\Param{yalbaselineshift}パラメータ)
+と和文フォントのベースラインのシフト量(\Param{yjabaselineshift}パラメータ)を
+独立に設定できるようになっている.
%</ja>
+%<*en>
+Here the horizontal line in the below example is the baseline of a line.
+%</en>
+%<*ja>
+下の例において引かれている水平線がベースラインである.
+%</ja>
\begin{LTXexample}
\vrule width 150pt height 0.4pt depth 0pt \hskip-120pt
\ltjsetparameter{yjabaselineshift=0pt, yalbaselineshift=0pt}abcあいう
\ltjsetparameter{yjabaselineshift=5pt, yalbaselineshift=2pt}abcあいう
\end{LTXexample}
-%<*en>
-Here the horizontal line in above is the baseline of a line.
-%</en>
-%<*ja>
-上の例において引かれている水平線がベースラインである.
-%</ja>
%<*en>
There is an interesting side-effect: characters in different size can be
@@ -2138,7 +2182,7 @@ xyz漢字
%<*en>
Note that setting a positive value to \Param{yalbaselineshift} does not
increase the depth of \textbf{ALchar}, as shown below.
-This is because \Param{yalbaselineshift} is implemented by setting \verb+xoffset+
+This is because \Param{yalbaselineshift} is implemented by setting \verb+yoffset+
field of a glyph node, and this does not increase the depth of the glyph.
This problem does not apply for \Param{yjabaselineshift}, since
\Param{yjabaselineshift} uses a different implementation method.
@@ -2146,6 +2190,8 @@ This problem does not apply for \Param{yjabaselineshift}, since
%<*ja>
なお,\Param{yalbaselineshift}パラメータに正の値を指定しても,
下の例のように\textbf{ALchar}の深さは増加しないことに注意.
+これは,\Param{yalbaselineshift} はglyph~nodeの\verb+yoffset+を使って
+実装しているためである.
\Param{yjabaselineshift}パラメータは別の方法を使って実装しているので,
このような問題は起こらない.
%</ja>
@@ -2166,16 +2212,16 @@ This problem does not apply for \Param{yjabaselineshift}, since
%<*ja>
\paragraph{数式における挙動:\pTeX との違い}
\textbf{ALchar}のベースラインを補正する \Param{yalbaselineshift} パラメータは
-ほぼ\pTeX における \verb+\ybaselineshift+ に対応しているものであるが,
+ほぼ\pTeX における \cs{ybaselineshift} に対応しているものであるが,
数式中の挙動は異なっているので注意が必要である.
-例えば,表\ref{tab:math_bsa}のように,数式中に明示的に現れた \verb+\hbox+ は,
+例えば,表\ref{tab:math_bsa}のように,数式中に明示的に現れた \cs{hbox} は,
\begin{itemize}
- \item \pTeX では,ボックス全体が \verb+\ybaselineshift+ だとシフトされるので,
+ \item \pTeX では,ボックス全体が \cs{ybaselineshift} だとシフトされるので,
表\ref{tab:math_bsa}中の``い''のように,ボックス中の和文文字は
- \verb+\ybaselineshift+だけシフトされ,一方,``for all''のように,
+ \ \cs{ybaselineshift} だけシフトされ,一方,``for all''のように,
ボックス内の欧文文字は2重にシフトされることになる.
\item 一方,\LuaTeX-jaではそのようなことはおこらず,
- 数式中に明示的に現れた \verb+\hbox+ はシフトしない.そのため,
+ 数式中に明示的に現れた \cs{hbox} はシフトしない.そのため,
表\ref{tab:math_bsa}中の``い''も``for all''も,それぞれ本文中に
書かれたときと同じ上下位置に組まれる.
\end{itemize}
@@ -2207,39 +2253,40 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\par}\\
\noalign{\vskip-\origbaselineskip}
\bottomrule
-\end{tabular}
+\end{tabular}
\end{table}
%</ja>
+\clearpage
%<en>\part{Reference}
%<ja>\part{リファレンス}
\label{part-ref}
-
+\suppressfloats[t]
%<*ja>
-\section{\LuaTeX-jaにおける \texttt{\textbackslash catcode}}
-\subsection{予備知識:\pTeX と\upTeX における \texttt{\textbackslash kcatcode}}
+\section{\LuaTeX-jaにおける \cs{catcode}}
+\subsection{予備知識:\pTeX と\upTeX における \cs{kcatcode}}
\pTeX,\upTeX においては,和文文字が制御綴内で利用できるかどうか
-は \verb+\kcatcode+ の値によって決定されるのであった.
+は \cs{kcatcode} の値によって決定されるのであった.
詳細は表\ref{table-kcat}を参照されたい.
%</ja>
%<*en>
-\section{\texttt{\textbackslash catcode} in \LuaTeX-ja}
-\subsection{Preliminaries: \texttt{\textbackslash kcatcode} in \pTeX\ and \upTeX}
-In \pTeX~and~\upTeX, the value of \verb+\kcatcode+ determines
+\section{\cs{catcode} in \LuaTeX-ja}
+\subsection{Preliminaries: \cs{kcatcode} in \pTeX\ and \upTeX}
+In \pTeX~and~\upTeX, the value of \cs{kcatcode} determines
whether a Japanese character can be used in a control word.
For the detail, see Table~\ref{table-kcat}.
%</en>
\begin{table}[t]
\small
-\caption{\texttt{\textbackslash kcatcode} in \upTeX}
+\caption{\cs{kcatcode} in \upTeX}
\label{table-kcat}
%<en>\medskip
\noindent\hfill
\begin{tabular}{ccccc}
\toprule
-\bfseries \verb+\kcatcode+&
+\bfseries \cs{kcatcode}&
%<*en>
\bfseries meaning&
\bfseries control word&
@@ -2264,35 +2311,35 @@ For the detail, see Table~\ref{table-kcat}.
\medskip
%<*ja>
-文字ウィドウ処理\hbox{}$^*$: 「漢字が一文字だけ次の行に行くのを防ぐ」\
-\texttt{\textbackslash jcharwidowpenalty} が,
+文字ウィドウ処理\hbox{}$^*$: 「漢字が一文字だけ次の行に行くのを防ぐ」\
+\cs{jcharwidowpenalty} が,
その文字の直前に挿入されうるか否か,を示す.
%</ja>
-\end{table}
+\end{table}
%<*en>
-\verb+\kcatcode+ can be set by a row of JIS~X~0208 in \pTeX,
+\cs{kcatcode} can be set by a row of JIS~X~0208 in \pTeX,
and generally by a Unicode block\footnote{%
\upTeX\ divides \texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)
- into three subblocks, and \texttt{\textbackslash kcatcode} can be set by a subblock.
+ into three subblocks, and \cs{kcatcode} can be set by a subblock.
}
-in \upTeX. So characters which can be used in a control word
+in \upTeX. So characters which can be used in a control word
slightly differ between \pTeX~and~\upTeX.
%</en>
%<*ja>
-\pTeX では \verb+\kcatcode+ はJIS~X~0208の区単位,
+\pTeX では \cs{kcatcode} はJIS~X~0208の区単位,
\upTeX では概ねUnicodeブロック単位\footnote{%
\texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)は
「全角英数字」「半角カナ」「その他」と3つに分割されており,
- それぞれ別々に \texttt{\textbackslash kcatcode} が指定できるようになっている.
+ それぞれ別々に \cs{kcatcode} が指定できるようになっている.
}で設定可能になっている.そのため,\pTeX と\upTeX の初期状態では
制御綴内で使用可能な文字が微妙に異なっている.
%</ja>
%<*en>
\subsection{Case of \LuaTeX-ja}
-The role of \verb+\kcatcode+ in \pTeX~and~\upTeX\ caan be
-divided into the following four kinds,
+The role of \cs{kcatcode} in \pTeX~and~\upTeX\ can be
+divided into the following four kinds,
and \LuaTeX-ja can control these four kinds separately:
\begin{itemize}
\item
@@ -2300,7 +2347,7 @@ and \LuaTeX-ja can control these four kinds separately:
is controlled by using the character range, see Subsection~\ref{ssec-setrange}.
\item
\emph{Whether the character can be used in a control word}
-is controlled by setting \verb+\catcode+ to 11~(enabled) or 12~(disabled), as usual.
+is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual.
\item
\emph{Whether \Param{jcharwidowpenalty} can be inserted before the character}
is controlled by the lowermost bit of the \Param{kcatcode} parameter.
@@ -2310,13 +2357,13 @@ is controlled by the lowermost bit of the \Param{kcatcode} parameter.
%</en>
%<*ja>
\subsection{\LuaTeX-jaの場合}
-\LuaTeX-jaでは,従来の\pTeX・\upTeX における \verb+\kcatcode+ の役割を
+\LuaTeX-jaでは,従来の\pTeX・\upTeX における \cs{kcatcode} の役割を
分割している:
\begin{description}
- \item[欧文/和文の区別 (\upTeX)]
-\verb+\ltjdefcharrange+ と\textsf{jacharrange}パラメータ(\ref{ssec-setrange}節)
+ \item[欧文/和文の区別 (\upTeX)]
+\cs{ltjdefcharrange} と\textsf{jacharrange}パラメータ(\ref{ssec-setrange}節)
\item[制御綴中に使用可か]
-\LuaTeX 自身の \verb+\catcode+ でよい
+\LuaTeX 自身の \cs{catcode} でよい
\item[\Param{jcharwidowpenalty}が挿入可か]
\Param{kcatcode}パラメータの最下位ビット
\item[直後の改行の無視]
@@ -2325,48 +2372,48 @@ is controlled by the lowermost bit of the \Param{kcatcode} parameter.
%</ja>
%<*en>
-Default setting of \verb+\catcode+ of \LuaTeX\ can be found
+Default setting of \cs{catcode} of \LuaTeX\ can be found
in \texttt{luatex-unicode-letters.tex},
which is based on \texttt{unicode-letters.tex} (for \XeTeX).
-However, the default setting of \verb+\catcode+ differs
+However, the default setting of \cs{catcode} differs
between \XeTeX\ and \LuaTeX, by the following reasons:
\begin{itemize}
\item \texttt{luatex-unicode-letters.tex} is based on old \texttt{unicode-letters.tex}.
\item The latter half of \texttt{unicode-letters.tex} sets
-\verb+\catcode+ of Kanji and kana characters to 11,
-via setting \verb+\XeTeXcharclass+.
+\cs{catcode} of Kanji and kana characters to 11,
+via setting \cs{XeTeXcharclass}.
However, this latter half is simply omitted in
\texttt{luatex-unicode-letters.tex}, hence
-\verb+\catcode+ of Kanji and kana characters remains 12 in \LuaTeX.
+\cs{catcode} of Kanji and kana characters remains 12 in \LuaTeX.
\end{itemize}
-In other words, Kanji nor kana characters cannot be used in
+In other words, Kanji nor kana characters cannot be used in
a control word, in the default setting of \LuaTeX.
-This would be inconvenient for \pTeX~users to shifting to \LuaTeX-ja,
-since several control words containing Kanji, such as \verb+\西暦+,
+This would be inconvenient for \pTeX~users to shifting to \LuaTeX-ja,
+since several control words containing Kanji, such as \verb+\西暦+,
are used in \pTeX.
Hence, \LuaTeX-ja have a counterpart of \texttt{unicode-letters.tex}
-for \LuaTeX, \emph{to match the \texttt{\textbackslash catcode} setting with that of \XeTeX.}
+for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%</en>
%<*ja>
ネイティブにUnicode全部の文字を扱える\XeTeX や\LuaTeX では,
-文字が制御綴内で使用できるかは通常の欧文文字と同じく \verb+\catcode+
-で指定することとなる.\XeTeX における \verb+\catcode+ の初期設定は\
+文字が制御綴内で使用できるかは通常の欧文文字と同じく \cs{catcode}
+で指定することとなる.\XeTeX における \cs{catcode} の初期設定は\
\texttt{unicode-letters.tex} 中に記述されており,\LuaTeX ではそれを
元にした \texttt{luatex-unicode-letters.tex} を用いている.
-だが,\XeTeX における \verb+\catcode+ の初期設定と
+だが,\XeTeX における \cs{catcode} の初期設定と
\LuaTeX におけるそれは一致していない:
\begin{itemize}
- \item \texttt{luatex-unicode-letters.tex} の元になった\
+ \item \texttt{luatex-unicode-letters.tex} の元になった\
\texttt{unicode-letters.tex} が古い
\item \texttt{unicode-letters.tex} の後半部では
-\verb+\XeTeXcharclass+ の設定を行なっており,
-それによって漢字や仮名の \verb+\catcode+ が11に設定されている.
+\cs{XeTeXcharclass} の設定を行なっており,
+それによって漢字や仮名の \cs{catcode} が11に設定されている.
しかし,\texttt{luatex-unicode-letters.tex} ではこの「後半部」が
-まるごと省略されており,漢字や仮名の \verb+\catcode+ は12のまま.
+まるごと省略されており,漢字や仮名の \cs{catcode} は12のまま.
\end{itemize}
言い換えると,\LuaTeX の初期状態では漢字や仮名を制御綴内に
使用することはできない.
@@ -2445,12 +2492,12 @@ $\vphantom{\D 3000}$\\
Because the engine differ, so non-kanji JIS~X~0208 characters
which can be used in a control word differ in \pTeX, in \upTeX,~and~in \LuaTeX-ja.
Table~\ref{table-kcat-diff} shows the difference.
-Except for four characters ``・'',~``゛'', ``゜'',~``゠'',
+Except for four characters ``・'',~``゛'', ``゜'',~``゠'',
\LuaTeX-ja admits more characters in a control word than \upTeX.
-\emph{Note that the ideographic space~\texttt{U+3000} can be used
+\emph{Note that the ideographic space~\texttt{U+3000} can be used
in a control word in \LuaTeX-ja.}
-Difference becomes larger, if we consider
+Difference becomes larger, if we consider
non-kanji JIS~X~0213 characters.
For the detail, see \url{https://github.com/h-kitagawa/kct}.
%</en>
@@ -2466,28 +2513,27 @@ For the detail, see \url{https://github.com/h-kitagawa/kct}.
\LuaTeX-jaでは制御綴中に使用可能であることである.}
JIS~X~0213の範囲に広げると,差異はさらに大きくなる.
-詳細については例えば \url{https://github.com/h-kitagawa/kct} 中の\
+詳細については例えば \url{https://github.com/h-kitagawa/kct} 中の\
\texttt{kct-uni-out.pdf} などを参照すること.
%</ja>
-
%<en>\section{Font Metric and Japanese Font}
%<ja>\section{フォントメトリックと和文フォント}
-%<en>\subsection{\texttt{\textbackslash jfont}}
-%<ja>\subsection{\texttt{\textbackslash jfont} 命令}
+%<en>\subsection{\cs{jfont}}
+%<ja>\subsection{\cs{jfont} 命令}
\label{ssec-jfont}
%<*en>
-To load a font as a Japanese font, you must use the
-\verb+\jfont+ instead of~\verb+\font+, while
-\verb+\jfont+ admits the same syntax used in~\verb+\font+.
+To load a font as a Japanese font (for horizontal direction), you must use the
+\cs{jfont} instead of~\cs{font}, while
+\cs{jfont} admits the same syntax used in~\cs{font}.
\LuaTeX-ja automatically loads \Pkg{luaotfload} package,
so TrueType/OpenType fonts with features can be used for Japanese fonts:
%</en>
%<*ja>
-フォントを和文フォントとして読み込むためには,\verb+\jfont+ を
-\verb+\font+ プリミティブの代わりに用いる.
-\verb+\jfont+ の文法は \verb+\font+ と同じである.
+フォントを(横組用)和文フォントとして読み込むためには,\cs{jfont} を
+\ \cs{font} プリミティブの代わりに用いる.
+\cs{jfont} の文法は \cs{font} と同じである.
\LuaTeX-jaは\Pkg{luaotfload}パッケージを自動的に読み込むので,
TrueType/OpenTypeフォントにfeatureを指定したものを和文フォントとして用いる
ことができる:
@@ -2500,16 +2546,16 @@ TrueType/OpenTypeフォントにfeatureを指定したものを和文フォン
%<*en>
Note that the defined control sequence
-(\verb+\tradgt+ in the example above) using \verb+\jfont+ is not a
+(\cs{tradgt} in the example above) using \cs{jfont} is not a
\textit{font\_def} token, but a macro.
Hence the input like \verb+\fontname\tradgt+
causes a error. We denote control sequences which are defined in
-\verb+\jfont+ by <jfont\_cs>.
+\cs{jfont} by <jfont\_cs>.
%</en>
%<*ja>
-なお,\verb+\jfont+ で定義された制御綴(上の例だと \verb+\tradgt+)
+なお,\cs{jfont} で定義された制御綴(上の例だと \cs{tradgt})
は\textit{font\_def}トークンではなくマクロである.従って,\verb+\fontname\tradgt+ のような
-入力はエラーとなる.以下では \verb+\jfont+ で定義された
+入力はエラーとなる.以下では \cs{jfont} で定義された
制御綴を<jfont\_cs>で表す.
%</ja>
@@ -2518,65 +2564,78 @@ causes a error. We denote control sequences which are defined in
As noted in Introduction, a JFM has measurements of characters and
glues/kerns that are automatically inserted for Japanese
typesetting. The structure of JFM will be described in the next
-subsection. At the calling of \verb+\jfont+, you must specify
+subsection. At the calling of \cs{jfont}, you must specify
which JFM will be used for this font by the following keys:
%</en>
%<*ja>
「はじめに」の節で述べたように,JFMは文字と和文組版で自動的に挿入される
グルー/カーンの寸法情報を持っている.JFMの構造は次の節で述べる.
-\verb+\jfont+ 命令の呼び出しの際には,どのJFMを用いるのかを以下のキーで
+\cs{jfont} 命令の呼び出しの際には,どのJFMを用いるのかを以下のキーで
指定する必要がある:
%</ja>
\begin{table}[t]
-%<en>\caption{Differences between JFMs shipped with \LuaTeX-ja}
-%<ja>\caption{\LuaTeX-ja に同梱されている JFM の違い}
+%<en>\caption{Differences between horizontal JFMs shipped with \LuaTeX-ja}
+%<ja>\caption{\LuaTeX-ja に同梱されている横組用JFMの違い}
%<en>\medskip
\label{tab-difjfm}
\ltjsetparameter{jacharrange={+3}}
\centering\small
-\def\r#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 14.43324pt \g
-\setbox0=\vtop{\hsize=7\zw\noindent ◆◆◆◆◆◆◆
-ある日モモちゃんがお使いで迷子になって泣きました.}\copy0
-\vrule height 0pt depth \dp0}}
-\def\s#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 14.43324pt \g
-\setbox0=\vtop{\hsize=7\zw\noindent ちょっと!何}\copy0}}
-\def\t#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 19.24432pt \g
-\setbox0=\hbox{漢}%
-\vrule width 0.4pt height\ht0 depth\dp0\kern-.2pt\copy0
-\kern-\wd0\vrule width\wd0height .2pt depth .2pt
-\kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
-\kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
-\kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}}
-\begin{tabular}{rccc}
-\toprule
-&\tt jfm-ujis.lua&\tt jfm-jis.lua&\tt jfm-min.lua\\
-\midrule
-%<en>Example~1\cite{min10}
-%<ja>例1\cite{min10}
-&\r{ujis}&\r{jis}&\r{min}\\
-%<en>Example~2
-%<ja>例2
-&\s{ujis}&\s{jis}&\s{min}\\
-Bounding Box&\t{ujis}&\t{jis}&\t{min}\\
-\bottomrule
-\end{tabular}
+\def\r#1#2{%
+ \hbox{\Large\vrule
+ \parbox[b]{7\zw}{%
+ \addjfontfeatures{Opacity=0.5, Color=#2, JFM=#1}\noindent
+ ◆◆◆◆◆◆◆
+ ある日モモちゃんがお使いで迷子になって泣きました.
+ }\vrule}}
+\def\s#1#2{%
+ \Large
+ \parbox[b]{7\zw}{%
+ \addjfontfeatures{Opacity=0.5, Color=#2, JFM=#1}\noindent
+ ちょっと!何
+ }}
+\def\t#1#2#3{\hbox to 0pt{\hss%
+ \setbox0=\hbox{\addjfontfeatures{JFM=#1}\huge #3}%
+ \textcolor{#2}{\transparent{0.5}\vrule width 0.4pt height\ht0 depth\dp0}\kern-.2pt\copy0
+ \textcolor{#2}{\transparent{0.5}\kern-\wd0\vrule width\wd0height .2pt depth .2pt
+ \kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+ \kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+ \kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}\hss}}
+{\Large\tabcolsep0pt
+\begin{tabular}{m{8\zw}m{8\zw}m{8\zw}}
+\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{jis}{black}&
+\leavevmode\hbox to 0pt{\r{jis}{black}\hss}\r{min}{red}&
+\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{min}{red}\\
+\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{jis}{black}&
+\leavevmode\hbox to 0pt{\s{jis}{black}\hss}\s{min}{red}&
+\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{min}{red}\\
+\leavevmode\qquad\t{ujis}{blue}{漢}\t{jis}{black}{漢}\qquad
+ \t{ujis}{blue}{っ}\t{jis}{black}{っ}&
+\leavevmode\qquad\t{jis}{black}{漢}\t{min}{red}{漢}\qquad
+ \t{jis}{black}{っ}\t{min}{red}{っ}&
+\leavevmode\qquad\t{ujis}{blue}{漢}\t{min}{red}{漢}\qquad
+ \t{ujis}{blue}{っ}\t{min}{red}{っ}\\
+\end{tabular}\par}
+
+(\textcolor{blue}{Blue: \texttt{jfm-ujis.lua}},
+\textcolor{black}{Black: \texttt{jfm-jis.lua}},
+\textcolor{red}{Red: \texttt{jfm-min.lua}})
\ltjsetparameter{jacharrange={-3}}
\end{table}
-
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}
\item[jfm=<name>]
%<*en>
-Specify the name of JFM. If specified JFM has not been loaded, \LuaTeX-ja search and load
+Specify the name of (horizontal) JFM.
+If specified JFM has not been loaded, \LuaTeX-ja search and load
a file named \texttt{jfm-<name>.lua}.
The following JFMs are shipped with \LuaTeX-ja:
%</en>
%<*ja>
-JFMの名前を指定する.もし以前に指定されたJFMが読み込まれていなければ,
-\texttt{jfm-<name>.lua}を読み込む.以下のJFMが\LuaTeX-jaには同梱されている:
+用いる(横組用)JFMの名前を指定する.もし以前に指定されたJFMが読み込まれていなければ,
+\texttt{jfm-<name>.lua}を読み込む.以下の横組用JFMが\LuaTeX-jaには同梱されている:
%</ja>
\begin{description}
%<*en>
@@ -2606,18 +2665,20 @@ JFMの名前を指定する.もし以前に指定されたJFMが読み込ま
%</ja>
%<*en>
\item[\tt jfm-min.lua] A counterpart for \verb+min10.tfm+, which is one
- of the default Japanese font metric shipped with \pTeX.
+ of the default Japanese font metric shipped with \pTeX.
%</en>
-%<*ja>
+%<*ja>
\item[\tt jfm-min.lua] \pTeX に同梱されているデフォルトの和文用TFM
- である \verb+min10.tfm+ に相当する.
+(\verb+min10.tfm+)に相当し,行末で文字が揃うようにするために「っ」など一部の文字幅が変わっ
+ ている.\verb+min10.tfm+ については\cite{min10}が詳しい.
%</ja>
\end{description}
%<*en>
The difference among these three~JFMs is shown in Table~\ref{tab-difjfm}.
%</en>
%<*ja>
-これら3つのJFMの違いは表\ref{tab-difjfm}に示した.
+これら3つのJFMの違いは表\ref{tab-difjfm}に示した.表中の文例の一部には,
+\cite{min10}の図3,~4のものを用いた.
%</ja>
\begin{figure}
@@ -2639,21 +2700,23 @@ The difference among these three~JFMs is shown in Table~\ref{tab-difjfm}.
\end{figure}
%<*en>
-\item[jfmvar=<string>] Sometimes there is a need that \ldots.
+\item[jfmvar=<string>]
+Sometimes there is a need that \ldots.
%</en>
%<*ja>
-\item[jfmvar=<string>] 標準では,JFMとサイズが同じで,
+\item[jfmvar=<string>]
+標準では,JFMとサイズが同じで,
実フォントだけが異なる2つの和文フォントは「区別されない」.例えば
図\ref{fig:jfmvar}において,最初の「)」と「【」の実フォントは異なるが,
JFMもサイズも同じなので,普通に「)【」と入力した時と同じように半角空きとなる.
しかし,JFMとサイズが同じであっても,\texttt{jfmvar} キーの異なる
-2つの和文フォント,例えば図\ref{fig:jfmvar}で言う \verb+\F+ と \verb+\H+,
+2つの和文フォント,例えば図\ref{fig:jfmvar}で言う \cs{F} と \cs{H},
は「区別される」.異なる和文フォントに異なる \texttt{jfmvar} キーを割り当て,
かつ\Param{differentjfm}パラメータを \texttt{both} に設定すれば,
\pTeX と似た状況で組版されることになる.
%</ja>
-\end{list}
+\end{cslist}
\begin{figure}
\begin{LTXexample}[pos=t]
@@ -2678,12 +2741,12 @@ JFMもサイズも同じなので,普通に「)【」と入力した時と
%<ja>\paragraph{ペアカーニング情報の使用}
\label{para-kern}
%<*en>
-Some fonts have information for inter-glyph spacing.
+Some fonts have information for inter-glyph spacing.
This version of \LuaTeX-ja treats kerning spaces like an italic correction;
any glue and/or kern from the JFM and a kerning space can coexist.
See Figure~\ref{fig:kern-jfm} for detail.
-Note that in \verb+\setmainjfont+ etc.\ which are provided by \Pkg{luatexja-fontspec}
+Note that in \cs{setmainjfont} etc.\ which are provided by \Pkg{luatexja-fontspec}
package, kerning option is set \emph{off} (\texttt{Kerning=Off}) by default,
because of the compatibility with previous versions of \LuaTeX-ja.
%</en>
@@ -2694,7 +2757,7 @@ because of the compatibility with previous versions of \LuaTeX-ja.
つまり,カーニング由来の空白とJFM由来のグルー・カーンは同時に入りうる.
図\ref{fig:kern-jfm}を参照.
\begin{itemize}
- \item \emph{\texttt{\textbackslash jfont} や,
+ \item \emph{\cs{jfont} や,
NFSS2用の命令(\ref{ssec-chgfnt}節,\ref{ssec-nfsspat}節)における指定では
カーニング情報は標準で使用する}ことになっているようである.
言い換えれば,カーニング情報を使用しない設定にするには,面倒でも
@@ -2702,9 +2765,9 @@ NFSS2用の命令(\ref{ssec-chgfnt}節,\ref{ssec-nfsspat}節)における
\jfont\hoge=KozMinPr6N-Regular:jfm=ujis;-kern at 3.5mm
\DeclareFontShape{JY3}{fuga}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;-kern}{}
\end{verbatim}
-のように,\texttt{-kern} という指定を自分で追架しなければいけない.
- \item
-一方,\emph{\Pkg{luatexja-fontspec} の提供する \texttt{\textbackslash setmainjfont}\
+のように,\texttt{-kern} という指定を自分で追加しなければいけない.
+ \item
+一方,\emph{\Pkg{luatexja-fontspec} の提供する \cs{setmainjfont}\
などの命令の標準設定ではカーニング情報は使用しない}(\texttt{Kerning=Off})
ことになっている.これは以前のバージョンの\LuaTeX-jaとの互換性のためである.
\end{itemize}
@@ -2716,7 +2779,7 @@ OpenType font featureと見かけ上同じような形式で指定できるも
\begin{description}
\item[\texttt{extend=}<extend>] 横方向に<extend>倍拡大する.
\item[\texttt{slant=}<slant>] <slant>に指定された割合だけ傾ける.
-\end{description}
+\end{description}
の2つがある.
\texttt{extend}や\texttt{slant}を指定した場合は,それに応じたJFMを指定すべきである%
\footnote{\LuaTeX-jaでは,これらに対するJFMを特に提供することはしない予定である.}.
@@ -2726,20 +2789,20 @@ OpenType font featureと見かけ上同じような形式で指定できるも
%<*en>
\paragraph{\texttt{extend} and \texttt{slant}}
The following setting can be specified as OpenType font features:
-\begin{description}
-\item[\texttt{extend=}<extend>] expand the font horizontally by <extend>.
-\item[\texttt{slant=}<slant>] slant the font.
-\end{description}
+\begin{cslist}[style=standard]
+\item[\cs{extend=}<extend>] expand the font horizontally by <extend>.
+\item[\cs{slant=}<slant>] slant the font.
+\end{cslist}
Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
-settings; you have to write new JFMs on purpose.
+settings; you have to write new JFMs on purpose.
For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence
letter-spacing and the width of italic correction are not correct:
%</en>
\begin{LTXexample}[width=0.3\textwidth]
-\jfont\E=file:KozMinPr6N-Regular.otf:extend=1.5;jfm=ujis;-kern
+\jfont\E=KozMinPr6N-Regular:extend=1.5;jfm=ujis;-kern
\E あいうえお
-\jfont\S=file:KozMinPr6N-Regular.otf:slant=1;jfm=ujis;-kern
+\jfont\S=KozMinPr6N-Regular:slant=1;jfm=ujis;-kern
\S あいう\/ABC
\end{LTXexample}
@@ -2748,14 +2811,14 @@ letter-spacing and the width of italic correction are not correct:
\label{ssec-psft}
%<*en>
Besides ``\texttt{file:}''\ and ``\texttt{name:}''\ prefixes which
-are introduced in the \Pkg{luaotfload} package,
-\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \verb+\jfont+ (and~\verb+\font+),
+are introduced in the \Pkg{luaotfload} package,
+\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \cs{jfont} (and~\cs{font}),
to specify a ``name-only'' Japanese font which
will not be embedded to PDF. Typical use of this prefix is to specify
standard, non-embedded Japanese fonts, namely, ``Ryumin-Light'' and
``GothicBBB-Medium''.
-\emph{OpenType font features, such as ``{\tt +jp90}'',
+\emph{OpenType font features, such as ``{\tt +jp90}'',
have no meaning in name-only fonts using ``{\tt psft:}''\ prefix,
because we can't expect what fonts are actually used by the PDF reader.}
Note that \texttt{extend}~and~\texttt{slant} settings (see~above) are supported
@@ -2764,7 +2827,7 @@ with \texttt{psft} prefix, because they are only simple linear transformations.
%<*ja>
\Pkg{luaotfload}で使用可能になった
\texttt{file:}\ と \texttt{name:}\ のプリフィックスに加えて,
-\verb+\jfont+(と \verb+\font+ プリミティブ)では
+\cs{jfont}(と \cs{font} プリミティブ)では
\texttt{psft:}プリフィックスを用いることができる.
このプリフィックスを用いることで,PDFには埋め込まれない「名前だけの」
和文フォントを指定することができる.「標準的な」非埋め込み和文フォント,
@@ -2865,27 +2928,33 @@ floating-point numbers in design-size unit.
注意する.
%</ja>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[dir=<direction>]
%<en>(required)
%<ja>(必須)
-%<en>The direction of JFM. At the present, only \texttt{'yoko'} is supported.
-%<ja>JFMの書字方向.現時点では横書き(\texttt{'yoko'})のみがサポートされる.
+%<*en>
+The direction of JFM. Only \texttt{'yoko'}~(horizontal) is supported.
+%</en>
+%<*ja>
+JFMの書字方向.現時点では \texttt{'yoko'}(横組)のみがサポートされる.
+将来的に\LuaTeX-ja における縦組がサポートされた際には, \texttt{'tate'} を
+用いることになる予定である.
+%</ja>
\item[zw=<length>]
%<en>(required)
%<ja>(必須)
%<en>The amount of the length of the ``full-width''.
-%<ja>「全角幅」の長さ.
+%<ja>「全角幅」の長さ.この量が \cs{zw} の長さを決定する.
\item[zh=<length>]
%<en>(required)
%<ja>(必須)
-%<en>The amount of the ``full-height'' (height + depth).
+%<en>The amount of the ``full-height'' (height + depth).
%<ja>「全角高さ」(height + depth)の長さ.通常は全角幅と同じ長さになるだろう.
\item[kanjiskip=\{<natural>, <stretch>, <shrink>\}]
@@ -2893,16 +2962,16 @@ floating-point numbers in design-size unit.
%<ja>(任意)
%<*en>
-This field specifies the ``ideal'' amount of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}. As noted
+This field specifies the ``ideal'' amount of \Param{kanjiskip}. As noted
in Subsection~\ref{subs-kskip}, if the parameter
- \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is \verb+\maxdimen+, the value specified
+ \Param{kanjiskip} is \cs{maxdimen}, the value specified
in this field is actually used (if this field is not specified in
JFM, it is regarded as 0\,pt). Note that <stretch> and <shrink>
fields are in design-size unit too.
%</en>
%<*ja>
-理想的な\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の量を指定する.\ref{subs-kskip}節で述べたように,
-もし\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}が \verb+\maxdimen+ の値ならば,このフィールドで指定された
+理想的な\Param{kanjiskip}の量を指定する.\ref{subs-kskip}節で述べたように,
+もし\Param{kanjiskip}が \cs{maxdimen} の値ならば,このフィールドで指定された
値が実際には用いられる(指定なしは0\,ptとして扱われる).<stretch>と<shrink>のフィールドもdesign-size
が単位であることに注意せよ.
%</ja>
@@ -2913,13 +2982,13 @@ This field specifies the ``ideal'' amount of \Param{\hyperlink{fld:kanjiskip}{ka
%<*en>
Like the \texttt{kanjiskip} field, this field specifies the ``ideal''
- amount of \Param{\hyperlink{fld:xks}{xkanjiskip}}.
+ amount of \Param{xkanjiskip}.
%</en>
%<*ja>
-\texttt{kanjiskip}フィールドと同様に,\Param{\hyperlink{fld:xks}{xkanjiskip}}の理想的な量を
+\texttt{kanjiskip}フィールドと同様に,\Param{xkanjiskip}の理想的な量を
指定する.
%</ja>
-\end{list}
+\end{cslist}
%<*en>
\paragraph{Character classes}
@@ -2939,7 +3008,7 @@ the following fields:
(そのインデックスを$i$で表わす)は以下のフィールドを持つ:
%</ja>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[chars=\{<character>, ...\}]
%<en>(required except character class~0)
%<ja>(文字クラス0を除いて必須)
@@ -2968,18 +3037,18 @@ This field is a list of characters which are in this character
\item 「\hbox{\ltjsetparameter{autoxspacing=false}\verb+'あ*'+}」のような,文字それ自体の後にアスタリスクをつけたもの
\item いくつかの「仮想的な文字」(後に説明する)
\end{itemize}
-%</ja>
+%</ja>
\item[width=<length>, height=<length>, depth=<length>, italic=<length>]
%<en>(required)
%<ja>(必須)
%<*en>
-Specifythe width of characters in character class~$i$, the height, the depth and
+Specify the width of characters in character class~$i$, the height, the depth and
the amount of italic correction. All characters in character class~$i$ are regarded that its width, height, and depth are
as values of these fields.
-But there is one exception: \texttt{width} field can be \texttt{'prop'}.
+But there is one exception: \texttt{width} field can be \texttt{'prop'}.
This means that width of a character becomes that of its ``real'' glyph.
%</en>
%<*ja>
@@ -3001,7 +3070,8 @@ These fields are for adjusting the position of the ``real'' glyph. Legal
3~fields are omitted, \texttt{left} and \texttt{down} are
treated as~0, and \texttt{align} field is treated as
\texttt{'left'}.
-The effects of these 3~fields are indicated in Figure~\ref{fig-pos}.
+The effects of these 3~fields are indicated in
+Figures \ref{fig-pos}.
%</en>
%<*ja>
これらのフィールドは実際のグリフの位置を調整するためにある.
@@ -3009,7 +3079,7 @@ The effects of these 3~fields are indicated in Figure~\ref{fig-pos}.
\texttt{'right'} のいずれかである.もしこれら3つのフィールドのうちの1つが省かれた
場合,\texttt{left} と \texttt{down} は0,\texttt{align} フィールドは
\ \texttt{'left'} であるものとして扱われる.
-これら3つのフィールドの意味については図\ref{fig-pos}で説明する.
+これら3つのフィールドの意味については図\ref{fig-pos}(横組用和文フォント)で説明する.
%</ja>
%<*en>
@@ -3030,10 +3100,10 @@ when the current character class is the class for opening delimiters'.
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\begin{picture}(15,12)(-1,-4)
-\color{black!10!white}% real glyph :step1
+\color{b_gray}% jfm
\put(0,0){\vrule width 12\unitlength height 8\unitlength depth 3\unitlength}
-\color{red!20!white}% real glyph :step1
+\color{b_pink}% step1
\put(-1,-1.5){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}
\color{red}% real glyph
@@ -3043,10 +3113,10 @@ when the current character class is the class for opening delimiters'.
\put(-1,5.5){\line(1,0){6}}
\put(-1,-4){\line(1,0){6}}
-\color{green!20!white}% real glyph :step1
+\color{b_green}% real glyph
\put(3,0){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}
-\color{black}% real glyph :step1
+\color{black}% jfm
\thicklines
\put(0,0){\vector(0,1){8}\line(0,-1){3}\vector(1,0){12}}
\put(12,0){\line(0,1){8}\vector(0,-1){3}}
@@ -3056,7 +3126,7 @@ when the current character class is the class for opening delimiters'.
\put(12.2,-1.5){\makebox(0,0)[l]{\texttt{depth}}}
\put(6,0.2){\makebox(0,0)[b]{\texttt{width}}}
-\color{green!50!black}% real glyph :step1
+\color{green}% step1
\thicklines
\put(3,0){\vector(0,1){7}\vector(0,-1){2.5}\vector(1,0){6}}
\put(9,0){\line(0,1){7}\line(0,-1){2.5}}
@@ -3081,31 +3151,32 @@ when the current character class is the class for opening delimiters'.
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
%<*en>
-Consider a node containing Japanese character whose value of the \texttt{align}
+Consider a Japanese character node which belongs to
+a character class whose the \texttt{align}
field is \texttt{'middle'}.
%</en>
%<*ja>
-\texttt{align}フィールドの値が\texttt{'middle'}である和文文字を含むノードを
-考えよう.
+\texttt{align}フィールドの値が \texttt{'middle'} であるような文字クラスに属する
+和文文字ノードを考えよう.
%</ja>
\begin{itemize}
\item
%<*en>
-The black rectangle is a frame of the node.
+The black rectangle is the imaginary body of the node.
Its width, height, and depth are specified by JFM.
%</en>
%<*ja>
-黒色の長方形はノードの枠である.
-その幅,高さ,深さはJFMによって指定される.
+黒色の長方形はノードの枠であり,
+その幅,高さ,深さはJFMによって指定されている.
%</ja>
\item
%<*en>
Since the \texttt{align} field is \texttt{'middle'},
-the ``real'' glyph is centered horizontally (the green rectangle).
+the ``real'' glyph is centered horizontally (the green rectangle) first.
%</en>
%<*ja>
-\texttt{align}フィールドは\texttt{middle}なので,実際のグリフは
-水平方向の中心に配置される(緑色の長方形).
+\texttt{align}フィールドは \texttt{'middle'} なので,
+実際のグリフの位置はまず水平方向に中央揃えしたものとなる(緑色の長方形).
%</ja>
\item
%<*en>
@@ -3114,7 +3185,7 @@ Furthermore, the glyph is shifted according to values of fields
glyph is indicated by the red rectangle.
%</en>
%<*ja>
-さらに,グリフは\texttt{left}と\texttt{down}の値に従ってシフトされる.
+さらに,グリフは \texttt{left} と \texttt{down} の値に従ってシフトされる.
最終的な実際のグリフの位置は赤色の長方形で示された位置になる.
%</ja>
\end{itemize}
@@ -3122,16 +3193,17 @@ Furthermore, the glyph is shifted according to values of fields
\medskip
\caption{%
-%<en>The position of the real glyph
-%<ja>「実際の」グリフの位置
+%<en>The position of the real glyph (horizontal Japanese fonts)
+%<ja>横組和文フォントにおける「実際の」グリフの位置
}
\label{fig-pos}
\end{figure}
\item[kern={\{[$j$]=<kern>, [$j'$]=\{<kern>, [<ratio>]\}, ...\}}]
-\item[glue={\{[$j$]=\{<width>, <stretch>, <shrink>, [<priority>], [<ratio>]\}, ...\}}]
+\item[glue={\{[$j$]=\{<width>, <stretch>, <shrink>, [<priority>], [<ratio>]\}, ...\}}]\
%<*ja>
+
文字クラス$i$の文字と$j$の文字の間に挿入されるkernやglueの量を指定する.
<priority>は \Pkg{luatexja-adjust} による優先順位付き
@@ -3148,7 +3220,7 @@ Furthermore, the glyph is shifted according to values of fields
\item それ以外の値は,「前の文字」由来のグルーと「後の文字」由来の
グルーが混合されていることを示す.
\end{itemize}
-なお,このフィールドの値は\Param{\hyperlink{fld:diffjfm}{differentjfm}}の値が
+なお,このフィールドの値は\Param{differentjfm}の値が
\texttt{pleft},~\texttt{pright},~\texttt{paverage}の値のときのみ実際に用いられる.
例えば,\cite{x4051}では,句点と中点の間には,
@@ -3162,9 +3234,9 @@ Furthermore, the glyph is shifted according to values of fields
\end{itemize}
%</ja>
%<*en>
-\
+\
-Specifies the width of kern or glue which will be inserted
+Specifies the width of kern or glue which will be inserted
between characters in character class~$i$ and those in character class~$j$.
<priority> is an integer in $[-2,2]$ (treated as 0 if omitted), and this is
@@ -3173,7 +3245,7 @@ used only in line adjustment with priority by \Pkg{luatexja-adjust}
and is also easy to shrink.
<ratio> is also an optional value between $-1$ and 1. For example,
-Thw width of a glue between an ideographic full stop ``。''
+The width of a glue between an ideographic full stop ``。''
and a fullwidth middle dot ``・'' is three-fourth of fullwidth,
namely halfwidth from the ideographic full stop, and
quarter-width from the fullwidth middle dot. In this case,
@@ -3184,16 +3256,16 @@ we specify <ratio> to
%</en>
-\item[end\_stretch=<kern>]
-\item[end\_shrink=<kern>]
+\item[end\_stretch=<kern>, end\_shrink=<kern>]
%<*ja>
-これらのフィールドは省略可能である.
+(任意)
+
優先順位付き行長調整が有効であり,かつ現在の文字クラスの文字が行
末に来た時に,行長を詰める調整・伸ばす調整のた
めにこの文字と行末の間に挿入可能なカーンの大きさを指定する.
%</ja>
-\end{list}
+\end{cslist}
%<*ja>
\paragraph{文字クラスの決定}
@@ -3231,8 +3303,8 @@ Now we look why the above source outputs 20\,pt, not 15\,pt.
by \verb+vert+ feature.
\item The character class of ``\char"FE12'' is zero, hence its width is fullwidth.%"
\item The character class of ``漢'', hence its width is fullwidth.
-\item \verb+\inhibitglue+ makes that no glue will be inserted between ``。'' and ``漢''.
-\item Hence the width of \verb+\hbox+ equals to 20\,pt.
+\item \cs{inhibitglue} makes that no glue will be inserted between ``。'' and ``漢''.
+\item Hence the width of \cs{hbox} equals to 20\,pt.
\end{enumerate}
This example shows that the character class of a character is determined \emph{after
applying font features by \Pkg{luaotfload}}.
@@ -3241,8 +3313,8 @@ applying font features by \Pkg{luaotfload}}.
では,全角二分(15.0\,pt)となるのが自然……と思うかもしれないが,上の実行結果では20\,ptとなっている.
それは以下の事情によるものである:
\begin{enumerate}
-\item \verb+vert+ featureによって句点(\texttt{U+3002})が縦書き用のグリフと置き換わる(\Pkg{luaotfload} による処理).
-\item この縦書き用句点のグリフは \texttt{U+FE12} であるため,その文字クラスは0となる.
+\item \verb+vert+ featureによって句点(\texttt{U+3002})が縦組用のグリフと置き換わる(\Pkg{luaotfload} による処理).
+\item この縦組用句点のグリフは \texttt{U+FE12} であるため,その文字クラスは0となる.
\item 以上により文字クラス0とみなされるため,結果として「。」の幅は全角だと認識されてしまう.
\end{enumerate}
この例は,\emph{文字クラスの決定はfont featureの適用によるグリフ置換の後に行われる}ことを
@@ -3250,7 +3322,7 @@ applying font features by \Pkg{luaotfload}}.
%</ja>
%<*en>
-However, a starred specificaion like ``\texttt{'、*'}'' changes the rule.
+However, a starred specification like ``\texttt{'、*'}'' changes the rule.
Consider the following input:
%</en>
%<*ja>
@@ -3276,9 +3348,9 @@ as following:
%<*ja>
ここで,読点「、」(\texttt{U+3001})の文字クラスは,以下のようにして決まる.
\begin{enumerate}
-\item とりあえず句点の時と同じように,\Pkg{luaotfload} によって縦書き用読点のグリフに置き換わる.
+\item とりあえず句点の時と同じように,\Pkg{luaotfload} によって縦組用読点のグリフに置き換わる.
\item 置換後のグリフは \texttt{U+FE11} であり,そのままでは文字クラスは0と判定される.
-\item ところが,JFMには「\texttt{'、*'}」指定があるので,置換前の横書き用読点のグリフによって文字クラスを判定する.
+\item ところが,JFMには「\texttt{'、*'}」指定があるので,置換前の横組用読点のグリフによって文字クラスを判定する.
\item 結果として,上の出力例中の読点の文字クラスは2000となる.
\end{enumerate}
%</ja>
@@ -3311,18 +3383,18 @@ The following is the list of imaginary characters:
い組版調整ができるようになっている.以下でその一覧を述べる:
%</ja>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}
%%\item['diffmet']
%%<en>Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
%%<ja>JFMやサイズが異なる2つの\textbf{JAchar}の間の境界として用いられる.
\item['boxbdd']
-%<en>The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \verb+\noindent+) paragraph.
-%<ja>hboxの先頭と末尾,及びインデントされていない(\verb+\noindent+ で開始された)段落の先頭を表す.
+%<en>The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
+%<ja>hboxの先頭と末尾,及びインデントされていない(\cs{noindent} で開始された)段落の先頭を表す.
\item['parbdd']
%<en>The beginning of an (indented) paragraph.
-%<ja>通常の(\verb+\noindent+ で開始されていない)段落の先頭.
+%<ja>通常の(\cs{noindent} で開始されていない)段落の先頭.
\item['jcharbdd']
%<en>A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
@@ -3331,7 +3403,7 @@ The following is the list of imaginary characters:
\item[$-1$]
%<en>The left/right boundary of an inline math formula.
%<ja>行中数式と地の文との境界.
-\end{list}
+\end{cslist}
%<en>\paragraph{Porting JFM from \pTeX}
%<ja>\paragraph{\pTeX 用和文用TFMの移植}
@@ -3362,14 +3434,14 @@ See Japanese version of this manual.
文字クラスに関してはグルー/カーンの設定はしない.
これは,\pTeX では,
- hboxの先頭・末尾とインデントされていない(\verb+\noindent+ で開始さ
+ hboxの先頭・末尾とインデントされていない(\cs{noindent} で開始さ
れた)段落の先頭にはJFMグルーは入らないという仕様を実現させるためである.
\item \pTeX の組版を再現させようというのが目的であれば以上の注意を守れば十分である.
ところで,\pTeX では通常の段落の先頭にJFMグルーが残るという仕様があるので,
段落先頭の開き括弧は全角二分下がりになる.全角下がりを実現させるに
- は,段落の最初に手動で \verb+\inhibitglue+ を追加するか,あるいは
- \ \verb+\everypar+ のハックを行い,それを自動化させるしかなかった.
+ は,段落の最初に手動で \cs{inhibitglue} を追加するか,あるいは
+ \ \cs{everypar} のハックを行い,それを自動化させるしかなかった.
一方,\LuaTeX-jaでは,\texttt{'parbdd'}によって,それがJFM側で調整できるよ
うになった.例えば,\LuaTeX-ja同梱のJFMのように,\texttt{'boxbdd'}と同じ文字クラスに
@@ -3384,8 +3456,8 @@ See Japanese version of this manual.
\end{LTXexample}
\end{itemize}
-但し,\verb+\everypar+ を利用している場合にはこの仕組みは正しく動かない.
-そのような例としては箇条書き中の \verb+\item+ で始まる段落があり,\Pkg{ltjsclasses}では
+但し,\cs{everypar} を利用している場合にはこの仕組みは正しく動かない.
+そのような例としては箇条書き中の \cs{item} で始まる段落があり,\Pkg{ltjsclasses}では
人工的に「\texttt{'parbdd'}の意味を持つ」whatsitノードを作ることによって対処している%
\footnote{\texttt{ltjsclasses.dtx} を参照されたい.
JFM側で一部の対処ができることにより,\Pkg{jsclasses}のようにif文の判定はしていない.}.
@@ -3401,28 +3473,33 @@ JFM側で一部の対処ができることにより,\Pkg{jsclasses}のよう
Aleph, \LuaTeX~and $\varepsilon$-\kern-.125em(u)\pTeX\ can handles 256~families, but
an external package is needed to support this in plain \TeX\ and
\LaTeX.}, and each family has three fonts:
-\verb+\textfont+, \verb+\scriptfont+ and \verb+\scriptscriptfont+.
+\cs{textfont}, \cs{scriptfont} and \cs{scriptscriptfont}.
%</en>
%<*ja>
\TeX\ は数式フォントを16のファミリ\footnote{Omega, Aleph, \LuaTeX,そして
$\varepsilon$-\kern-.125em(u)\pTeX\ では256の数式ファミリを扱うことができるが,
これをサポートするためにplain \TeX と\LaTeX では外部パッケージを読み込む必要が
ある.}で管理し,それぞれのファミリは3つのフォントを持っている:
-\verb+\textfont+, \verb+\scriptfont+ そして \verb+\scriptscriptfont+ である.
+\cs{textfont}, \cs{scriptfont} そして \cs{scriptscriptfont} である.
%</ja>
%<*en>
\LuaTeX-ja's handling of Japanese fonts in math formulas is similar;
Table~\ref{tab-math} shows counterparts to \TeX's primitives for math
font families. There is no relation between the value of
-\verb+\fam+ and that of \verb+\jfam+; with appropriate settings,
-you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
+\cs{fam} and that of \cs{jfam}; with appropriate settings,
+you can set both \cs{fam} and \cs{jfam} to the same value.
+Here <jfont\_cs> in the argument of \Param{jatextfont} etc.\ is
+a control sequence which is defined by \cs{jfont}, i.e.,
+a \emph{horizontal} Japanese font.
%</en>
%<*ja>
\LuaTeX-jaの数式中での和文フォントの扱いも同様である.
表\ref{tab-math}は数式フォントファミリに対する \TeX のプリミティブと対応する
-ものを示している.\verb+\fam+ と \verb+\jfam+ の値の間には関係はなく,
-適切な設定の下では \verb+\fam+ と \verb+\jfam+ の両方に同じ値を設定することができる.
+ものを示している.\cs{fam} と \cs{jfam} の値の間には関係はなく,
+適切な設定の下では \cs{fam} と \cs{jfam} の両方に同じ値を設定することができる.
+\Param{jatextfont} 他の第2引数<jfont\_cs>は,\cs{jfont} で定義された
+\emph{横組用}和文フォントである.
%</ja>
\begin{table}[!tb]
@@ -3437,10 +3514,10 @@ you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
%<en>\bf Japanese fonts&\bf alphabetic fonts\\
%<ja>\bf 和文フォント&\bf 欧文フォント\\
\midrule
-\verb+\jfam+${}\in [0,256)$&\verb+\fam+\\
-\tt\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\textfont+<fam>=<font\_cs>\\
-\tt\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\scriptfont+<fam>=<font\_cs>\\
-\tt\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\scriptscriptfont+<fam>=<font\_cs>\\
+\cs{jfam}${}\in [0,256)$&\cs{fam}\\
+\tt\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{textfont}<fam>=<font\_cs>\\
+\tt\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{scriptfont}<fam>=<font\_cs>\\
+\tt\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{scriptscriptfont}<fam>=<font\_cs>\\
\bottomrule
\end{tabular}
\end{table}
@@ -3457,8 +3534,7 @@ be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other c
これらのコールバックには,他のコールバックと同様に \verb+luatexbase.add_to_callback+
関数などを用いることでアクセスすることができる.
%</ja>
-\begin{list}{}%
-{\def\makelabel#1{\bfseries#1}}
+\begin{description}[font=\bfseries, style=nextline]
%<en>\item[\texttt{luatexja.load\_jfm} callback]
%<ja>\item[\texttt{luatexja.load\_jfm}コールバック]
%<*en>
@@ -3500,8 +3576,8 @@ An example of this callback is the \texttt{ltjarticle} class, with
%<ja>\item[\texttt{luatexja.define\_jfont}コールバック]
%<*en>
This callback and the next callback form a pair, and you can assign characters
- which do not have fixed code points in Unicode to non-zero character classes.\\
-This \texttt{luatexja.define\_jfont} callback is called just when new Japanese font is loaded.
+ which do not have fixed code points in Unicode to non-zero character classes.
+This \texttt{luatexja.define\_font} callback is called just when new Japanese font is loaded.
%</en>
%<*ja>
このコールバックと次のコールバックは組をなしており,Unicode中に固定された文字コード
@@ -3519,13 +3595,13 @@ end
\emph{which may not overwritten by a user}:
\begin{description}
\item[\texttt{size}]
-The font size specified at \verb+\jfont+ in scaled points ($1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$).
+The font size specified at \cs{jfont} in scaled points ($1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$).
\item[\texttt{zw}, \texttt{zh}, \texttt{kanjiskip}, \texttt{xkanjiskip}]
These are scaled value of those specified by the JFM, by the font size.
\item[\texttt{jfm}]
The internal number of the JFM.
\item[\texttt{var}]
-The value of \texttt{jfmvar}~key, which is specified at \verb+\jfont+.
+The value of \texttt{jfmvar}~key, which is specified at \cs{jfont}.
The default value is the empty string.
\item[\texttt{chars}]
The mapping table from character codes to its character classes.\\
@@ -3535,8 +3611,8 @@ The specification \texttt{[i].chars=\{<character>, ...\}} in the JFM will be st
For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose class is
$i$, and has the following fields:
\begin{itemize}
- \item \texttt{width},~\texttt{height}, \texttt{depth},
- \texttt{italic}, \texttt{down},~\texttt{left}\ are just
+ \item \texttt{width},~\texttt{height}, \texttt{depth},
+ \texttt{italic}, \texttt{down},~\texttt{left}\ are just
scaled value of those specified by the JFM, by the font size.
\item \texttt{align} is a number which is determined from \texttt{align}~field in the JFM:
\[
@@ -3544,7 +3620,7 @@ For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose cl
0&\text{\texttt{'left'} and the default value}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
\end{cases}
\]
-\item For $j\in \omega$, \texttt{[$j$]} stores a kern or a glue which will be inserted
+\item For $j\in \omega$, \texttt{[$j$]} stores a kern or a glue which will be inserted
between character class~$i$ and class~$j$.
If a kern will be inserted, the value of this field is \texttt{[$j$]=\{false, <kern\_node>, <ratio>\}},
@@ -3558,25 +3634,25 @@ where <spec\_node> is also a node, and $\text{<icflag>}=\textit{from\_jfm}+\text
%</en>
%<*ja>
\verb+jfont_info+ は最低限以下のフィールドを持つが,これらを書き換えてはならない:
-\begin{description}
-\item[\texttt{size}]
+\begin{cslist}
+\item[size]
実際に使われるフォントサイズ(sp単位).$1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$.
-\item[\texttt{zw}, \texttt{zh}, \texttt{kanjiskip}, \texttt{xkanjiskip}]
+\item[zw\textrm{, }zh\textrm{, }kanjiskip\textrm{, }xkanjiskip]
JFMファイルで指定されているそれぞれの値をフォントサイズに合わせてスケーリングしたものを
sp単位で格納している.
-\item[\texttt{jfm}]
+\item[jfm]
利用されているJFMを識別するための番号.
-\item[\texttt{var}]
-\verb+\jfont+で指定された \texttt{jfmvar} キーの値(未指定のときは空文字列).
-\item[\texttt{chars}]
+\item[var]
+\cs{jfont},~\cs{tfont} で指定された \texttt{jfmvar} キーの値(未指定のときは空文字列).
+\item[chars]
文字コードから文字クラスへの対応が記述されたテーブル.\\
-JFM内の \texttt{[i].chars=\{<character>, ...\}} という指定は\
+JFM内の \texttt{[i].chars=\{<character>, ...\}} という指定は\
\texttt{chars=\{[<character>]=\,$i$, ...\}} という形式に変換されている.
-\item[\texttt{char\_type}]
+\item[char\_type]
$i\in\omega$に対して,\texttt{char\_type[$i$]} は文字クラス$i$の文字の寸法を格納しており,
以下のフィールドを持つ.
\begin{itemize}
- \item \texttt{width},~\texttt{height}, \texttt{depth},
+ \item \texttt{width},~\texttt{height}, \texttt{depth},
\texttt{italic}, \texttt{down},~\texttt{left}\ は
JFMで指定されているそれぞれの値をスケーリングしたものである.
\item \texttt{align} はJFMで指定されている値によって,
@@ -3588,7 +3664,7 @@ JFMで指定されているそれぞれの値をスケーリングしたもの
のいずれかの値をとる.
\item $j\in \omega$に対して,\texttt{[$j$]} は文字クラス$i$の文字と$j$の文字の間に挿入されるkern
やglueを格納している.
-間に入るものがkernであれば,このフィールドの値は\
+間に入るものがkernであれば,このフィールドの値は\
\texttt{[$j$]=\{false, <kern\_node>, <ratio>\}} である.
<kern\_node>はkernを表すノードそのものである\footnote{%
本バージョンでは利用可能ならばノードのアクセス手法にdirect access
@@ -3599,7 +3675,7 @@ glueであれば,\texttt{[$j$]=\{false, <spec\_node>, <ratio>, <icflag>\}} で
<spec\_node>はglueの長さを表すノードそのものであり,
$\text{<icflag>}=\textit{from\_jfm}+\text{<priority>}$である.
\end{itemize}
-\end{description}
+\end{cslist}
%</ja>
%<*en>
@@ -3719,17 +3795,17 @@ Then, the position of glyphs is shifted up by
\[
\frac{88x}{88x+12x} (28y+5y) - 28y = \frac{26}{25}y= 1.04y.
\]
-\end{list}
+\end{description}
%<en>\section{Parameters}
%<ja>\section{パラメータ}
-\subsection{\texttt{\textbackslash ltjsetparameter}}
+\subsection{\cs{ltjsetparameter}}
\label{ssec-param}
%<*en>
-As described before, \verb+\ltjsetparameter+ and \verb+\ltjgetparameter+ are
+As described before, \cs{ltjsetparameter} and \cs{ltjgetparameter} are
commands for accessing most parameters of \LuaTeX-ja. One of the main
reason that \LuaTeX-ja didn't adopted the syntax similar to that of \pTeX\
(\textit{e.g.},~\verb+\prebreakpenalty`)=10000+)
@@ -3737,45 +3813,45 @@ is the position of \verb+hpack_filter+ callback in the source
of \LuaTeX, see Section~\ref{sec-para}.
%</en>
%<*ja>
-先に述べたように,\verb+\ltjsetparameter+ と \verb+\ltjgetparameter+ は
-\LuaTeX-jaのほとんどのパラメータにアクセスするための命令である.
+先に述べたように,\LuaTeX-jaのほとんどの内部パラメータにアクセスするには
+\cs{ltjsetparameter} と \cs{ltjgetparameter} を用いる.
\LuaTeX-jaが\pTeX のような文法(例えば,\verb+\prebreakpenalty`)=10000+)を
採用しない理由の一つは,\LuaTeX のソースにおける \verb+hpack_filter+
コールバックの位置にある.\ref{sec-para}章を参照.
%</ja>
%<*en>
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ are commands
+\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} are commands
for assigning parameters. These take one argument which is a
-\texttt{<key>=<value>} list.
+\texttt{<key>=<value>} list.
The list of allowed keys are described in the next subsection.
The difference between
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ is only the
+\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} is only the
scope of assignment;
-\verb+\ltjsetparameter+ does a local assignment and
-\verb+\ltjglobalsetparameter+ does a global one.
-They also obey the value of \verb+\globaldefs+,
+\cs{ltjsetparameter} does a local assignment and
+\cs{ltjglobalsetparameter} does a global one.
+They also obey the value of \cs{globaldefs},
like other assignment.
%</en>
%<*ja>
-\verb+\ltjsetparameter+ と \verb+\ltjglobalsetparameter+ はパラメータを
+\cs{ltjsetparameter} と \cs{ltjglobalsetparameter} はパラメータを
指定するための命令である.これらは\texttt{<key>=<value>}のリストを
引数としてとる.許されるキーの一覧は次の節にある.
-\verb+\ltjsetparameter+ と \verb+\ltjglobalsetparameter+ の違いはスコープの
+\cs{ltjsetparameter} と \cs{ltjglobalsetparameter} の違いはスコープの
違いのみで,
-\verb+\ltjsetparameter+ はローカルな指定,\verb+\ltjglobalsetparameter+ は
+\cs{ltjsetparameter} はローカルな指定,\cs{ltjglobalsetparameter} は
グローバルな指定を行う.
-これらは他のパラメータ指定と同様に \verb+\globaldefs+ の値に従う.
+これらは他のパラメータ指定と同様に \cs{globaldefs} の値に従う.
%</ja>
%<*en>
The following is the list of parameters which can be specified by the
-\verb+\ltjsetparameter+ command. [\verb+\cs+] indicates the counterpart
+\cs{ltjsetparameter} command. [\cs{cs}] indicates the counterpart
in \pTeX, and symbols beside each parameter has the following meaning:
%</en>
%<*ja>
-以下は \verb+\ltjsetparameter+ に指定することができるパラメータの一覧である.
-[\verb+\cs+]は\pTeX における対応物を示す.
+以下は \cs{ltjsetparameter} に指定することができるパラメータの一覧である.
+[\cs{cs}]は\pTeX における対応物を示す.
また,それぞれのパラメータの右上にある記号には次の意味がある:
%</ja>
\begin{itemize}
@@ -3794,8 +3870,9 @@ adopted in the whole paragraph or the whole hbox.
%</ja>
\end{itemize}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\Param{jcharwidowpenalty}\,=<penalty>$^\ast$] [\verb+\jcharwidowpenalty+]
+\begin{cslist}[style=standard]
+\item[\DParam{jcharwidowpenalty}\,=<penalty>$^\ast$] [\cs{jcharwidowpenalty}]\
+
%<*en>
Penalty value for suppressing orphans. This penalty is inserted just
after the last \textbf{JAchar} which is not regarded as a
@@ -3807,7 +3884,8 @@ Penalty value for suppressing orphans. This penalty is inserted just
挿入される.
%</ja>
-\item[\Param{kcatcode}\,=\{<chr\_code>,<natural number>\}$^\ast$]\
+\item[\DParam{kcatcode}\,=\{<chr\_code>,<natural number>\}$^\ast$]\
+
%<*en>
An additional attributes which each character whose character code is <chr\_code> has.
At the present version, the lowermost bit of <natural number> indicates
@@ -3820,7 +3898,8 @@ At the present version, the lowermost bit of <natural number> indicates
みなされるかどうかを表している(上の\Param{jcharwidowpenalty}の記述を参照).
%</ja>
-\item[\Param{\hypertarget{fld:prebp}{prebreakpenalty}}\,=\{<chr\_code>,<penalty>\}$^\ast$] [\verb+\prebreakpenalty+]\
+\item[\DParam{prebreakpenalty}\,=\{<chr\_code>,<penalty>\}$^\ast$] [\cs{prebreakpenalty}]\
+
%<*ja>
文字コード<chr\_code>の\textbf{JAchar}が行頭にくることを抑止するために,
この文字の前に挿入/追加されるペナルティの量を指定する.
@@ -3844,12 +3923,14 @@ by default.
%</en>
-\item[\Param{\hypertarget{fld:postbp}{postbreakpenalty}}\,=\{<chr\_code>,<penalty>\}$^\ast$] [\verb+\postbreakpenalty+]
+\item[\DParam{postbreakpenalty}\,=\{<chr\_code>,<penalty>\}$^\ast$]
+ [\cs{postbreakpenalty}]\
+
%<*ja>
文字コード<chr\_code>の\textbf{JAchar}が行末にくることを抑止するために,
この文字の後に挿入/追加されるペナルティの量を指定する.
-\pTeX では,\verb+\prebreakpenalty+, \verb+\postbreakpenalty+において,
+\pTeX では,\cs{prebreakpenalty}, \cs{postbreakpenalty}において,
\begin{itemize}
\item 一つの文字に対して,pre, postどちらか一つしか指定することができなかっ
た(後から指定した方で上書きされる).
@@ -3859,105 +3940,107 @@ by default.
%</ja>
%<*en>
Set a penalty which is inserted automatically after the character <chr\_code>,
-to prevent a line ends with this character.
-\pTeX\ has following restrictions on \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+,
+to prevent a line ends with this character.
+\pTeX\ has following restrictions on \cs{prebreakpenalty} and \cs{postbreakpenalty},
but they don't exist in \LuaTeX-ja:
\begin{itemize}
- \item Both \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+ cannot be set
+ \item Both \cs{prebreakpenalty} and \cs{postbreakpenalty} cannot be set
for the same character.
- \item We can set \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+ up to 256~characters.
+ \item We can set \cs{prebreakpenalty} and \cs{postbreakpenalty} up to 256~characters.
\end{itemize}
%</en>
-\item[\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
-%<en>[\verb+\textfont+ in \TeX]
-%<ja>[\TeX の \verb+\textfont+]
-\item[\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
-%<en>[\verb+\scriptfont+ in \TeX]
-%<ja>[\TeX の \verb+\scriptfont+]
-\item[\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
-%<en>[\verb+\scriptscriptfont+ in \TeX]
-%<ja>[\TeX の \verb+\scriptscriptfont+]
-\item[\Param{yjabaselineshift}\,=<dimen>]\
-\item[\Param{yalbaselineshift}\,=<dimen>] [\verb+\ybaselineshift+]
+\item[\DParam{jatextfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
+%<en>[\cs{textfont} in \TeX]
+%<ja>[\TeX の \cs{textfont}]
+\item[\DParam{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
+%<en>[\cs{scriptfont} in \TeX]
+%<ja>[\TeX の \cs{scriptfont}]
+\item[\DParam{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
+%<en>[\cs{scriptscriptfont} in \TeX]
+%<ja>[\TeX の \cs{scriptscriptfont}]
+\item[\DParam{yjabaselineshift}\,=<dimen>]\
+\item[\DParam{yalbaselineshift}\,=<dimen>] [\cs{ybaselineshift}]
-\item[\Param{jaxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$]
+\item[\DParam{jaxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$]\
%<*en>
-Setting whether inserting \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before/after a \textbf{JAchar} whose character code is <chr\_code>.
+Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is <chr\_code>.
The followings are allowed for <mode>:
%</en>
%<*ja>
-文字コードが<chr\_code>の\textbf{JAchar}の前/後ろに\Param{\hyperlink{fld:xks}{xkanjiskip}}の
+文字コードが<chr\_code>の\textbf{JAchar}の前/後ろに\Param{xkanjiskip}の
挿入を許すかどうかの設定.
以下の<mode>が許される:
%</ja>
\begin{description}
-%<en>\item[0, \texttt{inhibit}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is inhibited before the character, nor after the character.
-%<ja>\item[0, \texttt{inhibit}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前/後ろのいずれでも禁止される.
-%<en>\item[1, \texttt{preonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character, but not after.
-%<ja>\item[1, \texttt{preonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前では許されるが,後ろでは許されない.
-%<en>\item[2, \texttt{postonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed after the character, but not before.
-%<ja>\item[2, \texttt{postonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の後ろでは許されるが,前では許されない.
-%<en>\item[3, \texttt{allow}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed both before the character and after the character. This is the default value.
-%<ja>\item[3, \texttt{allow}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
+%<en>\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
+%<ja>\item[0, \texttt{inhibit}] \Param{xkanjiskip}の挿入は文字の前/後ろのいずれでも禁止される.
+%<en>\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
+%<ja>\item[1, \texttt{preonly}] \Param{xkanjiskip}の挿入は文字の前では許されるが,後ろでは許されない.
+%<en>\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
+%<ja>\item[2, \texttt{postonly}] \Param{xkanjiskip}の挿入は文字の後ろでは許されるが,前では許されない.
+%<en>\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed both before the character and after the character. This is the default value.
+%<ja>\item[3, \texttt{allow}] \Param{xkanjiskip}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
\end{description}
%<*en>
-This parameter is similar to the \verb+\inhibitxspcode+ primitive of \pTeX, but not compatible with \verb+\inhibitxspcode+.
+This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not compatible with \cs{inhibitxspcode}.
%</en>
%<*ja>
-このパラメータは\pTeX の \verb+\inhibitxspcode+ プリミティブと似ているが,
+このパラメータは\pTeX の \cs{inhibitxspcode} プリミティブと似ているが,
互換性はない.
%</ja>
-\item[\Param{alxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$] [\verb+\xspcode+]
+\item[\DParam{alxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$] [\cs{xspcode}]\
%<*en>
-Setting whether inserting \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before/after a
+Setting whether inserting \Param{xkanjiskip} is allowed before/after a
\textbf{ALchar} whose character code is <chr\_code>.
The followings are allowed for <mode>:
%</en>
%<*ja>
-文字コードが<chr\_code>の\textbf{ALchar}の前/後ろに\Param{\hyperlink{fld:xks}{xkanjiskip}}の
+文字コードが<chr\_code>の\textbf{ALchar}の前/後ろに\Param{xkanjiskip}の
挿入を許すかどうかの設定.
以下の<mode>が許される:
%</ja>
\begin{description}
-%<en>\item[0, \texttt{inhibit}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is inhibited before the character, nor after the character.
-%<ja>\item[0, \texttt{inhibit}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前/後ろのいずれでも禁止される.
-%<en>\item[1, \texttt{preonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character, but not after.
-%<ja>\item[1, \texttt{preonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前では許されるが,後ろでは許されない.
-%<en>\item[2, \texttt{postonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed after the character, but not before.
-%<ja>\item[2, \texttt{postonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の後ろでは許されるが,前では許されない.
-%<en>\item[3, \texttt{allow}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character and after the character. This is the default value.
-%<ja>\item[3, \texttt{allow}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
+%<en>\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
+%<ja>\item[0, \texttt{inhibit}] \Param{xkanjiskip}の挿入は文字の前/後ろのいずれでも禁止される.
+%<en>\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
+%<ja>\item[1, \texttt{preonly}] \Param{xkanjiskip}の挿入は文字の前では許されるが,後ろでは許されない.
+%<en>\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
+%<ja>\item[2, \texttt{postonly}] \Param{xkanjiskip}の挿入は文字の後ろでは許されるが,前では許されない.
+%<en>\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed before the character and after the character. This is the default value.
+%<ja>\item[3, \texttt{allow}] \Param{xkanjiskip}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
\end{description}
%<*en>
Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common table, hence these two parameters are synonyms of each other.
%</en>
%<*ja>
\Param{jaxspmode}と\Param{alxspmode}は共通のテーブルを用いているため,
-これら2つのパラメータは互いの異名となっていることに注意する.
+これら2つのパラメータは互いの別名となっていることに注意する.
%</ja>
-\item[\Param{autospacing}\,=<bool>] [\verb+\autospacing+]
-\item[\Param{autoxspacing}\,=<bool>] [\verb+\autoxspacing+]
-\item[\Param{\hypertarget{fld:kanjiskip}{kanjiskip}}\,=<skip>$^\ast$] [\verb+\kanjiskip+]
+\item[\DParam{autospacing}\,=<bool>] [\cs{autospacing}]
+\item[\DParam{autoxspacing}\,=<bool>] [\cs{autoxspacing}]
+\item[\DParam{kanjiskip}\,=<skip>$^\ast$] [\cs{kanjiskip}]\
+
%<*ja>
デフォルトで2つの\textbf{JAchar}の間に挿入されるグルーである.
通常では,\pTeX と同じようにフォントサイズに比例して変わることはない.
-しかし,自然長が \verb+\maxdimen+ の場合は,例外的に和文フォントのJFM側で指定されている
+しかし,自然長が \cs{maxdimen} の場合は,例外的に和文フォントのJFM側で指定されている
値を採用(こちらはフォントサイズに比例)することになっている.
%</ja>
-\item[\Param{\hypertarget{fld:xks}{xkanjiskip}}\,=<skip>$^\ast$] [\verb+\xkanjiskip+]
+\item[\DParam{xkanjiskip}\,=<skip>$^\ast$] [\cs{xkanjiskip}]\
+
%<*ja>
デフォルトで\textbf{JAchar}と\textbf{ALchar}の間に挿入されるグルーである.
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}と同じように,通常ではフォントサイズに比例して変わることはないが,
-自然長が \verb+\maxdimen+ の場合が例外である.
+\Param{kanjiskip}と同じように,通常ではフォントサイズに比例して変わることはないが,
+自然長が \cs{maxdimen} の場合が例外である.
%</ja>
-\item[\Param{\hypertarget{fld:diffjfm}{differentjfm}}\,=<mode>$^\dagger$]
+\item[\DParam{differentjfm}\,=<mode>$^\dagger$]\
%<*en>
Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
@@ -3969,12 +4052,12 @@ JFM(もしくはサイズ)が異なる2つの\textbf{JAchar}の間にグル
許される値は以下の通り:
%</ja>
\begin{quote}
-\texttt{average},
-\texttt{both},
-\texttt{large},
-\texttt{small},
-\texttt{pleft},
-\texttt{pright},
+\texttt{average},
+\texttt{both},
+\texttt{large},
+\texttt{small},
+\texttt{pleft},
+\texttt{pright},
\texttt{paverage}
\end{quote}
%<*en>
@@ -3985,18 +4068,19 @@ The default value is \texttt{paverage}. \dots
各々の値による差異の詳細は\ref{ssec-cluster-wa}節の「『右空白』の算出」を参照してほしい.
%</ja>
-\item[\Param{jacharrange}\,=<ranges>]
-\item[\Param{kansujichar}\,=\{<digit>, <chr\_code>\}$^\ast$] [\verb+\kansujichar+]
-\end{list}
+\item[\DParam{jacharrange}\,=<ranges>]
+\item[\DParam{kansujichar}\,=\{<digit>, <chr\_code>\}$^\ast$] [\cs{kansujichar}]
-\subsection{\texttt{\textbackslash ltjgetparameter}}
+\end{cslist}
+
+\subsection{\cs{ltjgetparameter}}
\label{ssec-getpar}
%<*en>
-\verb+\ltjgetparameter+ is a conteol sequence for acquiring parameters. It
+\cs{ltjgetparameter} is a control sequence for acquiring parameters. It
always takes a parameter name as first argument.
%</en>
%<*ja>
-\verb+\ltjgetparameter+ はパラメータの値を取得するための命令であり,
+\cs{ltjgetparameter} はパラメータの値を取得するための命令であり,
常にパラメータの名前を第一引数にとる.
%</ja>
\begin{LTXexample}
@@ -4007,20 +4091,20 @@ always takes a parameter name as first argument.
\end{LTXexample}
%<*en>
-\emph{The return value of\/ {\normalfont\tt\textbackslash ltjgetparameter} is
+\emph{The return value of\/ \cs{ltjgetparameter} is
always a string}. This is outputted by \texttt{tex.write()}, so any
character other than space~``\texttt{\char32}''~(\texttt{U+0020}) has the category code
12~(other), while the space has 10~(space).
%</en>
%<*ja>
-\emph{{\normalfont\tt\textbackslash ltjgetparameter}の戻り値は常に文字列である.}
+\emph{\cs{ltjgetparameter} の戻り値は常に文字列である.}
これは\texttt{tex.write()}によって出力しているためで,空白「\texttt{\char32}」
(\texttt{U+0020})を除いた文字のカテゴリーコードは全て12~(other)となる.
一方,空白のカテゴリーコードは10~(space)である.
%</ja>
\begin{itemize}
-\item
+\item
%<*en>
If first argument is one of the
following, no additional argument is needed.
@@ -4029,13 +4113,13 @@ following, no additional argument is needed.
第1引数が次のいずれかの場合には,追加の引数は必要ない.
%</ja>
\begin{quote}
-\sffamily
+\sffamily
jcharwidowpenalty, yjabaselineshift, yalbaselineshift, autospacing, autoxspacing,\\
-kanjiskip, xkanjiskip, differentjfm
+kanjiskip, xkanjiskip, differentjfm, direction
\end{quote}
%<*en>
Note that \verb+\ltjgetparameter{autospacing}+~and~\verb+\ltjgetparameter{autoxspacing}+
-returns 1 or 0, not
+returns 1 or 0, not
\texttt{true}~nor~\texttt{false}.
%</en>
%<*ja>
@@ -4044,7 +4128,7 @@ returns 1 or 0, not
1と0のいずれかを返すことに注意,
%</ja>
-\item
+\item
%<*en>
If first argument is one of the
following, an additional argument---a character code, for example---is needed.
@@ -4053,15 +4137,15 @@ following, an additional argument---a character code, for example---is needed.
第1引数が次のいずれかの場合には,さらに文字コードを第二引数としてとる.
%</ja>
\begin{quote}
-\sffamily
+\sffamily
kcatcode, prebreakpenalty, postbreakpenalty, jaxspmode, alxspmode
-\end{quote}
+\end{quote}
%<*en>
\verb+\ltjgetparameter{jaxspmode}{...}+~and~\verb+\ltjgetparameter{alxspmode}{...}+
returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc.
%</en>
%<*ja>
-\verb+\ltjgetparameter{jaxspmode}{...}+ や \verb+\ltjgetparameter{alxspmode}{...}+\
+\verb+\ltjgetparameter{jaxspmode}{...}+ や \verb+\ltjgetparameter{alxspmode}{...}+\
は,\texttt{preonly} などといった文字列ではなく,0から3までの値を返す.
%</ja>
@@ -4069,7 +4153,7 @@ returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc.
%<*en>
\verb+\ltjgetparameter{jacharrange}{+<range>\verb+}+ returns \texttt{0}
if ``characters which belong to the character range~<range> are \textbf{JAchar}'',
-\texttt{1} if ``\dots are \textbf{ALchar}''.
+\texttt{1} if ``\dots~are \textbf{ALchar}''.
Although there is no character range~$-1$, specifying $-1$ to <range> does not cause an
error (returns 1).
%</en>
@@ -4083,32 +4167,31 @@ Although there is no character range~$-1$, specifying $-1$ to <range> does not c
%<*en>
For an integer~<digit> between 0~and~9,
\verb+\ltjgetparameter{kansujichar}{+<digit>\verb+}+ returns the character code
-of the result of \verb+\kansuji+<digit>.
+of the result of \cs{kansuji}<digit>.
%</en>
%<*ja>
0--9の数<digit>に対して,
-\verb+\ltjgetparameter{kansujichar}{+<digit>\verb+}+ は,\verb+\kansuji+<digit>で出力され
+\verb+\ltjgetparameter{kansujichar}{+<digit>\verb+}+ は,\cs{kansuji}<digit>で出力され
る文字の文字コードを返す.
%</ja>
-
-\item
+\item
%<*en>
-The following parameter names \emph{cannot be specified} in \verb+\ltjgetparameter+.
+The following parameter names \emph{cannot be specified} in \cs{ltjgetparameter}.
%</en>
%<*ja>
-次のパラメータ名を \verb+\ltjgetparameter+ に指定することはできない.
+次のパラメータ名を \cs{ltjgetparameter} に指定することはできない.
%</ja>
\begin{quote}
-\sffamily
+\sffamily
jatextfont, jascriptfont, jascriptscriptfont, jacharrange
\end{quote}
-\item
+\item
%<*en>
-\verb+\ltjgetparameter{chartorange}{+<chr\_code>\verb+}+ returns
+\verb+\ltjgetparameter{chartorange}{+<chr\_code>\verb+}+ returns
the range number which <chr\_code> belongs to
-(although there is no parameter named ``chartorange'').
+(although there is no parameter named ``chartorange'').
If <chr\_code> is between 0 and 127, this <chr\_code> does not belong to
any character range. In this case,
@@ -4196,14 +4279,14 @@ have the same meaning.
%<*en>
The following commands are implemented for compatibility with \pTeX.
Note that the former five commands don't support JIS~X~0213, but only JIS~X~0208.
-The last \verb+\kansuji+ converts an integer into its Chinese numerals.
+The last \cs{kansuji} converts an integer into its Chinese numerals.
%</en>
%<*ja>
以下の命令は\pTeX との互換性のために実装されている.そのため,JIS~X~0213には対応せず,
\pTeX と同じようにJIS~X~0208の範囲しかサポートしていない.
%</ja>
\begin{center}
-\verb+\kuten+, \verb+\jis+, \verb+\euc+, \verb+\sjis+, \verb+\jis+, \verb+\kansuji+
+\cs{kuten}, \cs{jis}, \cs{euc}, \cs{sjis}, \cs{jis}, \cs{kansuji}
\end{center}
%<*en>
These six commands takes an internal integer, and returns a \emph{string}.
@@ -4230,15 +4313,14 @@ To change characters of Chinese numerals for each digit, set \Param{kansujichar}
%</en>
-%<en>\subsection{\texttt{\textbackslash inhibitglue}}
-%<ja>\subsection{\texttt{\textbackslash inhibitglue}}
+\subsection{\cs{inhibitglue}}
%<*en>
-\verb+\inhibitglue+ suppresses the insertion of \textbf{JAglue}.
+\cs{inhibitglue} suppresses the insertion of \textbf{JAglue}.
The following is an example, using a special JFM that there will be a glue between
the beginning of a box and ``あ'', and also between ``あ''~and~``ウ''.
%</en>
%<*ja>
-\verb+\inhibitglue+ は\textbf{JAglue}の挿入を抑制する.
+\cs{inhibitglue} は\textbf{JAglue}の挿入を抑制する.
以下は,ボックスの始めと「あ」の間,「あ」「ウ」の間にグルーが入る特別なJFMを用いた例で
ある.
%</ja>
@@ -4253,61 +4335,61 @@ the beginning of a box and ``あ'', and also between ``あ''~and~``ウ''.
\end{LTXexample}
%<*en>
-With the help of this example, we remark the specification of \verb+\inhibitglue+:
+With the help of this example, we remark the specification of \cs{inhibitglue}:
%</en>
%<*ja>
-この例を援用して,\verb+\inhibitglue+ の仕様について述べる.
+この例を援用して,\cs{inhibitglue} の仕様について述べる.
%</ja>
\begin{itemize}
%<*en>
-\item The call of \verb+\inhibitglue+ in the (internal) vertical mode is
+\item The call of \cs{inhibitglue} in the (internal) vertical mode is
simply ignored.
%</en>
%<*ja>
-\item \verb+\inhibitglue+ の垂直モード中での呼び出しは意味を持たない.
-4行目の入力で有効にならないのは,\verb+\inhibitglue+ の時点では垂直モードであり,
-\verb+\noindent+ の時点で水平モードになるからである.
+\item \cs{inhibitglue} の垂直モード中での呼び出しは意味を持たない.
+4行目の入力で有効にならないのは,\cs{inhibitglue} の時点では垂直モードであり,
+\cs{noindent} の時点で水平モードになるからである.
%</ja>
%<*en>
-\item The call of \verb+\inhibitglue+ in the (restricted) horizontal
+\item The call of \cs{inhibitglue} in the (restricted) horizontal
mode is only effective on the spot; does not get over boundary of
- paragraphs. Moreover, \verb+\inhibitglue+ cancels ligatures and
+ paragraphs. Moreover, \cs{inhibitglue} cancels ligatures and
kernings, as shown in the last line of above example.
%</en>
%<*ja>
-\item \verb+\inhibitglue+ の(制限された)水平モード中での呼び出しはその場でのみ
+\item \cs{inhibitglue} の(制限された)水平モード中での呼び出しはその場でのみ
有効であり,段落の境界を乗り越えない.
- さらに,\verb+\inhibitglue+ は上の例の最終行のように(欧文における)リガチャとカーニングを
- 打ち消す.これは,\verb+\inhibitglue+ が内部的には「現在のリスト中にwhatsitノードを
+ さらに,\cs{inhibitglue} は上の例の最終行のように(欧文における)リガチャとカーニングを
+ 打ち消す.これは,\cs{inhibitglue} が内部的には「現在のリスト中にwhatsitノードを
追加する」ことを行なっているからである.
%</ja>
%<*en>
-\item The call of \verb+\inhibitglue+ in math mode is just ignored.
+\item The call of \cs{inhibitglue} in math mode is just ignored.
%</en>
%<*ja>
-\item \verb+\inhibitglue+ を数式モード中で呼び出した場合はただ無視される.
+\item \cs{inhibitglue} を数式モード中で呼び出した場合はただ無視される.
%</ja>
%<*ja>
\item \LaTeX で\LuaTeX-ja を使用する場合は,
-\verb+\inhibitglue+ の代わりとして \verb+\<+ を使うことができる.
+\cs{inhibitglue} の代わりとして \verb+\<+ を使うことができる.
既に \verb+\<+ が定義されていた場合は,\LuaTeX-ja の読み込みで強制的に上書きされるので
注意すること.
%</ja>
\end{itemize}
-\subsection{\texttt{\textbackslash ltjdeclarealtfont}}
+\subsection{\cs{ltjdeclarealtfont}}
\label{ssec-altfont}
%<*en>
-Using \verb+\ltjdeclarealtfont+, one can ``compose'' more than one Japanese fonts.
-This \verb+\ltjdeclarealtfont+ uses in the following form:
+Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts.
+This \cs{ltjdeclarealtfont} uses in the following form:
\begin{quote}
\ttfamily \textbackslash ltjdeclarealtfont<base\_font\_cs><alt\_font\_cs>{<range>}
\end{quote}
-where <base\_font\_cs>~and~<alt\_font\_cs> are defined by \verb+\jfont+.
+where <base\_font\_cs>~and~<alt\_font\_cs> are defined by \cs{jfont}.
Its meaning is
\begin{quote}
If the current Japanese font is <base\_font\_cs>, characters which belong to <range>
@@ -4319,24 +4401,24 @@ $-n$~($n≥1$) means that all characters of character classes~$n$, with respect
by <base\_font\_cs>. Note that characters which do not exist in <alt\_font\_cs> are
ignored.
-For example, if \verb+\hoge+ uses \texttt{jfm-ujis.lua}, the standard JFM of \LuaTeX-ja,
-then
+For example, if \cs{hoge} uses \texttt{jfm-ujis.lua}, the standard JFM of \LuaTeX-ja,
+then
\begin{verbatim}
\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
\end{verbatim}
does
\begin{quote}
-If the current Japanese font is \verb+\hoge+, \texttt{U+3000}--\texttt{U+30FF}
-and characters in class~1 (ideographic opening brackets)
-are typeset by \verb+\piyo+.
+If the current Japanese font is \cs{hoge}, \texttt{U+3000}--\texttt{U+30FF}
+and characters in class~1 (ideographic opening brackets)
+are typeset by \cs{piyo}.
\end{quote}
%</en>
%<*ja>
-\verb+\jfont+ の書式を見ればわかるように,基本的には\LuaTeX-jaにおける1つの和文フォントに
+\cs{jfont} の書式を見ればわかるように,基本的には\LuaTeX-jaにおける1つの和文フォントに
使用出来る「実際のフォント」は1つである.
-しかし,\verb+\ltjdeclarealtfont+ を用いると,この原則から外れることができる.
+しかし,\cs{ltjdeclarealtfont} を用いると,この原則から外れることができる.
-\verb+\ltjdeclarealtfont+ は以下の書式で使用する:
+\cs{ltjdeclarealtfont} は以下の書式で使用する:
\begin{quote}
\ttfamily \textbackslash ltjdeclarealtfont<base\_font\_cs><alt\_font\_cs>{<range>}
\end{quote}
@@ -4344,7 +4426,7 @@ are typeset by \verb+\piyo+.
<range>に属する文字は<alt\_font\_cs>を用いて組版される,という意味である.
\begin{itemize}
\item <base\_font\_cs>, <alt\_font\_cs>は
-\verb+\jfont+ によって定義された和文フォントである.
+\cs{jfont} によって定義された和文フォントである.
\item <range>は文字コードの範囲を表すコンマ区切りのリストであるが,
例外として負数$-n$は「<base\_font\_cs>のJFMの文字クラス$n$に属する全ての文字」
を意味する.
@@ -4353,14 +4435,14 @@ are typeset by \verb+\piyo+.
その文字に対する設定は無視される.
\end{itemize}
-例えば,\verb+\hoge+ のJFMが\LuaTeX-ja標準の
+例えば,\cs{hoge} のJFMが\LuaTeX-ja標準の
\ \texttt{jfm-ujis.lua} であった場合,
\begin{verbatim}
\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
\end{verbatim}
-は「\verb+\hoge+ を利用しているとき,
+は「\cs{hoge} を利用しているとき,
\texttt{U+3000}--\texttt{U+30FF}と
-文字クラス1(開き括弧類)中の文字だけは \verb+\piyo+ を用いる」
+文字クラス1(開き括弧類)中の文字だけは \cs{piyo} を用いる」
ことを設定する.\verb+{-1}-{-1}+ という変わった指定の仕方をしているのは,
普通に \texttt{-1} と指定したのでは正しく$-1$と読み取られないという
マクロの都合による.
@@ -4375,22 +4457,6 @@ are typeset by \verb+\piyo+.
%<ja>\subsection{NFSS2へのパッチ}
\label{ssec-nfsspat}
-\begin{figure}[!tb]
-\begin{LTXexample}[pos=b]
-\DeclareKanjiFamily{JY3}{edm}{}
-\DeclareFontShape{JY3}{edm}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;}{}
-\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*KozMinPr6N-Regular:jfm=ujis;color=007F00}{}
-\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*KozMinPr6N-Regular:jfm=ujis;color=0000FF}{}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
-{\kanjifamily{edm}\selectfont
-日本国民は、正当に選挙された国会における代表者を通じて行動し、……}
-\end{LTXexample}
-%<ja>\caption{\texttt{\textbackslash DeclareAlternateKanjiFont} の使用例}
-%<en>\caption{An example of \texttt{\textbackslash DeclareAlternateKanjiFont}}
-\label{fig:altkanji}
-\end{figure}
-
%<*en>
Japanese patch for NFSS2 in \LuaTeX-ja
is based on \texttt{plfonts.dtx} which plays the same role in \pLaTeXe.
@@ -4406,47 +4472,44 @@ commands which are not described in Subsection~\ref{ssec-chgfnt}.
%</ja>
\begin{cslist}%
-\par\smallskip\par\hskip-\leftskip{\bfseries%
+\item[\normalfont\bfseries %
%<ja>追加の長さ変数達
%<en>additonal dimensions
-}\par\nobreak
-
+]
%<*en>
-Like \pLaTeXe, \LuaTeX-ja defines the following dimensions
+Like \pLaTeXe, \LuaTeX-ja defines the following dimensions
for information of current Japanese font:
%</en>
%<*ja>
\pLaTeXe と同様に,\LuaTeX-jaは「現在の和文フォントの情報」を格納する長さ変数
%</ja>
-{\let\item=\origitem
\begin{quote}
- \verb+\cht+~(height), \verb+\cdp+~(depth), \verb+\cHT+~(sum of former two),\\
- \verb+\cwd+~(width), \verb+\cvs+~(lineskip), \verb+\chs+~(equals to \verb+\cwd+)
-\end{quote}}
-%<en>and its \verb+\normalsize+ version:
-%<ja>と,その \verb+\normalsize+ 版である
-{\let\item=\origitem
+ \cs{cht}~(height), \cs{cdp}~(depth), \cs{cHT}~(sum of former two),\\
+ \cs{cwd}~(width), \cs{cvs}~(lineskip), \cs{chs}~(equals to \cs{cwd})
+\end{quote}
+%<en>and its \cs{normalsize} version:
+%<ja>と,その \cs{normalsize} 版である
\begin{quote}
- \verb+\Cht+~(height), \verb+\Cdp+~(depth),
- \verb+\Cwd+~(width), \\\verb+\Cvs+~(equals to \verb+\baselineskip+),
- \verb+\Chs+~(equals to \verb+\cwd+)%
+ \cs{Cht}~(height), \cs{Cdp}~(depth),
+ \cs{Cwd}~(width), \\\cs{Cvs}~(equals to \cs{baselineskip}),
+ \cs{Chs}~(equals to \cs{cwd})%
%<en>.
-\end{quote}}
+\end{quote}
%<*ja>
-を定義している.なお,\verb+\cwd+ と \verb+\zw+,また
-\verb+\cHT+ と \verb+\zh+ は一致しない可能性がある.なぜなら,
-\verb+\cwd+,~\verb+\cHT+ は「あ」の寸法から決定されるのに対し,
-\verb+\zw+ と \verb+\zh+ はJFMに指定された値に過ぎないからである.
+を定義している.なお,\cs{cwd} と \cs{zw},また
+\cs{cHT} と \cs{zh} は一致しない可能性がある.なぜなら,
+\cs{cwd},~\cs{cHT} は「あ」の寸法から決定されるのに対し,
+\cs{zw} と \cs{zh} はJFMに指定された値に過ぎないからである.
%</ja>
%<*en>
-Note that \verb+\cwd+~and~\verb+\cHT+ may differ from \verb+\zw+~and~\verb+\zh+
+Note that \cs{cwd}~and~\cs{cHT} may differ from \cs{zw}~and~\cs{zh}
respectively.
On the one hand the former dimensions are determined from the character ``あ'',
-but on the other hand \verb+\zw+~and~\verb+\zh+ are specified by JFM.
+but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM.
%</en>
-\item[DeclareYokoKanjiEncoding\{<encoding>\}\{<text-settings>\}\{<math-settings>\}]
+\item[\cs{DeclareYokoKanjiEncoding}\{<encoding>\}\{<text-settings>\}\{<math-settings>\}]
%<*en>
In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
@@ -4454,58 +4517,59 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
encodings. For example, encodings OT1 and T1 are for
alphabetic font families, and a Japanese font family cannot
have these encodings. This command defines a new encoding
- scheme for Japanese font family (in horizontal direction).
+ scheme for Japanese font families.
%</en>
%<*ja>
\LuaTeX-jaのNFSS2においては,欧文フォントファミリと和文フォントファミリは
そのエンコーディングによってのみ区別される.
例えば,OT1とT1のエンコーディングは欧文フォントファミリに対するものであり,
和文フォントファミリはこれらのエンコーディングを持つことはできない.
-このコマンドは横書き用和文フォントのための新しいエンコーディングを
-定義する.
+このコマンドは横組用和文フォントのための新しいエンコーディングを
+それぞれ定義する.
%</ja>
-\item[DeclareKanjiEncodingDefaults\{<text-settings>\}\{<math-settings>\}]
-\item[DeclareKanjiSubstitution\{<encoding>\}\{<family>\}\{<series>\}\{<shape>\}]
-\item[DeclareErrorKanjiFont\{<encoding>\}\{<family>\}\{<series>\}\{<shape>\}\{<size>\}]
+\item[\cs{DeclareKanjiEncodingDefaults}\{<text-settings>\}\{<math-settings>\}]
+%<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
+%<ja>\ \\[\dimexpr-2\baselineskip\relax]
+\item[\cs{DeclareKanjiSubstitution}\{<encoding>\}\{<family>\}\{<series>\}\{<shape>\}]
+%<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
+%<ja>\ \\[\dimexpr-2\baselineskip\relax]
+\item[\cs{DeclareErrorKanjiFont}\{<encoding>\}\{<family>\}\{<series>\}\{<shape>\}\{<size>\}]
%<*en>
-The above 3~commands are just the counterparts for \verb+\DeclareFontEncodingDefaults+ and~others.
+The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
%</en>
%<*ja>
-上記3つのコマンドはちょうど \verb+\DeclareFontEncodingDefaults+ などに対応するものである.
+上記3つのコマンドはちょうど \cs{DeclareFontEncodingDefaults} などに対応するものである.
%</ja>
-\item[reDeclareMathAlphabet\{<unified-cmd>\}\{<al-cmd>\}\{<ja-cmd>\}]
+\item[\cs{reDeclareMathAlphabet}\{<unified-cmd>\}\{<al-cmd>\}\{<ja-cmd>\}]
% ToDo: en
%<*ja>
和文・欧文の数式用フォントファミリを一度に変更する命令を作成する.
-具体的には,欧文数式用フォントファミリ変更の命令<al-cmd>(\verb+\mathrm+ 等)と,和文数式用フォ
- ントファミリ変更の命令<ja-cmd>(\verb+\mathmc+ 等)の2つを同時に行う命令として
+具体的には,欧文数式用フォントファミリ変更の命令<al-cmd>(\cs{mathrm} 等)と,和文数式用フォ
+ ントファミリ変更の命令<ja-cmd>(\cs{mathmc} 等)の2つを同時に行う命令として
<unified-cmd>を(再)定義する.実際の使用では<unified-cmd>と
<al-cmd>に同じものを指定する,すなわち,<al-cmd>で和文側も変
更させるようにするのが一般的と思われる.
本命令は
-{\let\item=\origitem
\begin{center}\tt
<unified-cmd>\{<arg>\}\quad$\longrightarrow$\quad
(<al-cmd>の1段展開結果)\{<ja-cmd>の1段展開結果)\{<arg>\}\}
\end{center}
と定義を行うので,使用には注意が必要である:
-\vspace{-\medskipamount}
-%<en>\advance\linewidth-2em
-%<ja>\advance\linewidth-2\zw
+%<en>\vspace{-\medskipamount}
\begin{itemize}
\item <al-cmd>,~<ja-cmd>は既に定義されていなければならない.
- \verb+\reDeclareMathAlphabet+\\の後に
+ \cs{reDeclareMathAlphabet}\\の後に
両命令の内容を再定義しても,<unified-cmd>の内容にそれは反映されない.
\item <al-cmd>,~<ja-cmd>に\verb+\@mathrm+などと \texttt{@} をつけた命令を指定した時の動作は保証できない.
-\end{itemize}}
+\end{itemize}
%</ja>
-\item[DeclareRelationFont\{<ja-encoding>\}\{<ja-family>\}\{<ja-series>\}\{<ja-shape>\}\\*
+\item[\cs{DeclareRelationFont}\{<ja-encoding>\}\{<ja-family>\}\{<ja-series>\}\{<ja-shape>\}\\*
\null\hfill\{<al-encoding>\}\{<al-family>\}\{<al-series>\}\{<al-shape>\}]
%<*en>
This command sets the ``accompanied'' alphabetic font family (given by the latter 4~arguments)
@@ -4515,60 +4579,58 @@ with respect to a Japanese font family given by the former 4~arguments.
いわゆる「従属欧文」を設定するための命令である.前半の4引数で表される和文フォントファミリに対して,
そのフォントに対応する「従属欧文」のフォントファミリを後半の4引数により与える.
%</ja>
-\item[SetRelationFont]
+\item[\cs{SetRelationFont}]
%<*en>
-This command is almost same as \verb+\DeclareRelationFont+, except that this command does a local
-assignment, where \verb+\DeclareRelationFont+ does a global assignment.
+This command is almost same as \cs{DeclareRelationFont}, except that this command does a local
+assignment, where \cs{DeclareRelationFont} does a global assignment.
%</en>
%<*ja>
-このコマンドは \verb+\DeclareRelationFont+ とローカルな指定であることを除いて
-ほとんど同じである(\verb+\DeclareRelationFont+ はグローバル).
+このコマンドは \cs{DeclareRelationFont} とローカルな指定であることを除いて
+ほとんど同じである(\cs{DeclareRelationFont} はグローバル).
%</ja>
-\item[userelfont]
+\item[\cs{userelfont}]
%<*en>
Change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
font family with respect to current Japanese font family,
which was set by
- \verb+\DeclareRelationFont+ or \verb+\SetRelationFont+.
-Like \verb+\fontfamily+, \verb+\selectfont+ is required to take an effect.
+ \cs{DeclareRelationFont} or \cs{SetRelationFont}.
+Like \cs{fontfamily}, \cs{selectfont} is required to take an effect.
%</en>
%<*ja>
現在の欧文フォントのエンコーディング/ファミリ/…… を,
-\verb+\DeclareRelationFont+ か \verb+\SetRelationFont+ で指定された
+\cs{DeclareRelationFont} か \cs{SetRelationFont} で指定された
現在の和文フォントファミリに対応する「従属欧文」フォントファミリに変更する.
-\verb+\fontfamily+ のように,有効にするためには \verb+\selectfont+ が必要である.
+\cs{fontfamily} のように,有効にするためには \cs{selectfont} が必要である.
%</ja>
-\item[adjustbaseline]
+\item[\cs{adjustbaseline}]
%<*en>
-In \pLaTeXe, \verb+\adjustbaseline+ sets \verb+\tbaselineshift+
+In \pLaTeXe, \cs{adjustbaseline} sets \cs{tbaselineshift}
to match the vertical center of ``M'' and that of ``あ'' in vertical typesetting:
\[
-\text{\ttfamily \textbackslash tbaselineshift} \leftarrow
+\text{\cs{tbaselineshift}} \leftarrow
\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{あ}}+d_{\text{あ}})}2
+ d_{\text{あ}} - d_{\text{M}},
\]
where $h_{a}$~and~$d_{a}$ denote the height of ``$a$'' and the depth, respectively.
-
-Current \LuaTeX-ja does not support vertical typesetting, so
-this \verb+\adjustbaseline+ has almost no effect.
+In \LuaTeX-ja, this \cs{adjustbaseline} does same task.
%</en>
%<*ja>
-\pLaTeXe では,\verb+\adjustbaseline+ は縦書時に「M」と「あ」の中心線を一致させるために,
-\verb+\tbaselineshift+ を設定する役割を持っていた:
+\pLaTeXe では,\cs{adjustbaseline} は縦組時に「M」と「あ」の中心線を一致させるために,
+\cs{tbaselineshift} を設定する役割を持っていた:
\[
-\text{\ttfamily \textbackslash tbaselineshift} \leftarrow
+\text{\cs{tbaselineshift}} \leftarrow
\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{あ}}+d_{\text{あ}})}2
+ d_{\text{あ}} - d_{\text{M}},
\]
ここで,$h_{a}$,~$d_{a}$はそれぞれ「$a$」の高さ・深さを表す.
-現在の\LuaTeX-jaは縦書きをサポートしていないので,この \verb+\adjustbaseline+ は
+現在の\LuaTeX-jaは縦組をサポートしていないので,この \verb+\adjustbaseline+ は
ほとんど何もしていない.
%</ja>
-\item[fontfamily\{<family>\}]
+\item[\cs{fontfamily}\{<family>\}]
%<*en>
As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
to <family>. Which family will be changed is determined as follows:
@@ -4578,10 +4640,6 @@ to <family>. Which family will be changed is determined as follows:
和文,\emph{もしくは両方})を<family>に変更する.
どのファミリが変更されるかは以下のようにして決定される:
%</ja>
-{\let\item\origitem
-%<en>\advance\linewidth-2em
-%<ja>\advance\linewidth-2\zw
-\vspace{-\medskipamount}
\begin{itemize}
%<*en>
\item Let current encoding scheme for Japanese fonts be
@@ -4596,10 +4654,11 @@ to <family>. Which family will be changed is determined as follows:
\begin{itemize}
%<*en>
\item The family <family> under the encoding <ja-enc> has been already defined by
- \verb+\DeclareKanijFamily+.
+ \cs{DeclareKanijFamily}.
%</en>
%<*ja>
-\item エンコーディング<ja-enc>におけるファミリ<family>が既に \verb+\DeclareKanjiFamily+ によって定義されている.
+\item エンコーディング<ja-enc>におけるファミリ<family>が
+既に \cs{DeclareKanjiFamily} によって定義されている.
%</ja>
%<*en>
\item A font definition named \texttt{<ja-enc><family>.fd} (the file name is
@@ -4634,65 +4693,73 @@ In this case, the default family for font substitution is used for
%</ja>
\end{itemize}%
%<en>\vspace{-\medskipamount}
-}
-\item[DeclareAlternateKanjiFont\{<base-encoding>\}\{<base-family>\}\{<base-series>\}\{<base-shape>\}\\
+
+\begin{figure}[!tb]
+\begin{LTXexample}[pos=b]
+\DeclareKanjiFamily{JY3}{edm}{}
+\DeclareFontShape{JY3}{edm}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;}{}
+\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*KozMinPr6N-Regular:jfm=ujis;color=007F00}{}
+\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*KozMinPr6N-Regular:jfm=ujis;color=0000FF}{}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
+{\kanjifamily{edm}\selectfont
+日本国民は、正当に選挙された国会における代表者を通じて行動し、……}
+\end{LTXexample}
+%<ja>\caption{\cs{DeclareAlternateKanjiFont} の使用例}
+%<en>\caption{An example of \cs{DeclareAlternateKanjiFont}}
+\label{fig:altkanji}
+\end{figure}
+
+\item[\cs{DeclareAlternateKanjiFont}\{<base-encoding>\}\{<base-family>\}\{<base-series>\}\{<base-shape>\}\\
\null\hfill\{<alt-encoding>\}\{<alt-family>\}\{<alt-series>\}\{<alt-shape>\}\{<range>\}]
%<*ja>
\ref{ssec-altfont}節の\
-\verb+\ltjdeclarealtfont+ と同様に,前半の4引数の和文フォント(基底フォント)のうち<range>中の文字を
-第5--第8引数の和文フォントを使って組むように指示する.使用例を図\ref{fig:altkanji}に載せた.
+\cs{ltjdeclarealtfont} と同様に,前半の4引数の
+和文フォント(基底フォント)のうち<range>中の文字を
+第5から第8引数の和文フォントを使って組むように指示する.
+使用例を図\nobreak\ref{fig:altkanji}に載せた.
-{\let\item\origitem
-%<en>\advance\linewidth-2em
-%<ja>\advance\linewidth-2\zw
-\vspace{-\medskipamount}
\begin{itemize}
- \item
-\verb+\ltjdeclarealtfont+ では基底フォント・置き換え先和文フォントはあらかじめ定義されてい
+ \item
+\cs{ltjdeclarealtfont} では基底フォント・置き換え先和文フォントはあらかじめ定義されてい
ないといけない(その代わり即時発効)であったが,
-\verb+\DeclareAlternateKanjiFont+ の設定が
+\cs{DeclareAlternateKanjiFont} の設定が
実際に効力が発揮するのは,書体変更やサイズ変更を行った時,
-あるいは(これらを含むが)\verb+\selectfont+ が実行された時である.
- \item
+あるいは(これらを含むが)\cs{selectfont} が実行された時である.
+ \item
段落やhboxの最後での設定値が段落/hbox全体にわたって通用する点や,
<range>に負数$-n$を指定した場合,それが「基底フォントの文字クラス$n$に属する文字全体」
-と解釈されるのは \verb+\ltjdeclarealtfont+ と同じである.
+と解釈されるのは \cs{ltjdeclarealtfont} と同じである.
\end{itemize}%
-}
%</ja>
%<*en>
-As \verb+\ltjdeclarealtfont+~(Subsection~\ref{ssec-altfont}),
+As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec-altfont}),
characters in <range> of the Japanese font (we say the \emph{base font})
-which specified by first 4 arguments are typeset
+which specified by first 4 arguments are typeset
by the Japanese font which specified by fifth to eighth arguments
(we say the \emph{alternate font}).
An example is shown in Figure~\ref{fig:altkanji}.
-{\let\item\origitem
-%<en>\advance\linewidth-2em
-%<ja>\advance\linewidth-2\zw
-\vspace{-\medskipamount}
\begin{itemize}
- \item
-In \verb+\ltjdeclarealtfont+, the base font and the alternate font must be already defined.
-But this \verb+\DeclareAlternateKanjiFont+ is not so.
-In other words, \verb+\DeclareAlternateKanjiFont+ is effective only after
-current Japanese font is changed, or only after \verb+\selectfont+ is executed.
+ \item
+In \cs{ltjdeclarealtfont}, the base font and the alternate font must be already defined.
+But this \cs{DeclareAlternateKanjiFont} is not so.
+In other words, \cs{DeclareAlternateKanjiFont} is effective only after
+current Japanese font is changed, or only after \cs{selectfont} is executed.
\item \dots
\end{itemize}%
\vspace{-\medskipamount}
-}
%</en>
\end{cslist}
%<*en>
As closing this subsection, we shall introduce an example of
-\verb+\SetRelationFont+ and \verb+\userelfont+:
+\cs{SetRelationFont} and \cs{userelfont}:
%</en>
%<*ja>
-この節の終わりに,\verb+\SetRelationFont+ と \verb+\userelfont+ の例を
-紹介しておこう.\verb+\userelfont+ の使用によって,「abc」の部分のフォントが
+この節の終わりに,\cs{SetRelationFont} と \cs{userelfont} の例を
+紹介しておこう.\cs{userelfont} の使用によって,「abc」の部分のフォントが
Avant Garde (OT1/pag/m/n) に変わっていることがわかる.
%</ja>
\begin{LTXexample}[width=0.3\textwidth]
@@ -4704,24 +4771,24 @@ Avant Garde (OT1/pag/m/n) に変わっていることがわかる.
%<*en>
\section{Addons}
-\LuaTeX-ja has several addon packages.
-These addons are written as \LaTeX\ packages, but
+\LuaTeX-ja has several addon packages.
+These addons are written as \LaTeX\ packages, but
\Pkg{luatexja-otf} and~\Pkg{luatexja-adjust} can be loaded in plain \LuaTeX\
-by \verb+\input+.
+by \cs{input}.
%</en>
%<*ja>
\section{拡張}
\LuaTeX-jaには(動作には必須ではないが)自由に読み込める拡張が付属している.
これらは\LaTeX のパッケージとして制作しているが,
-\Pkg{luatexja-otf}と\Pkg{luatexja-adjust}についてはplain \LuaTeX でも\
-\verb+\input+ で読み込み可能である.
+\Pkg{luatexja-otf}と\Pkg{luatexja-adjust}についてはplain \LuaTeX でも\
+\cs{input} で読み込み可能である.
%</ja>
\subsection{\texttt{luatexja-fontspec.sty}}
\label{ssec-fontspec2}
%<*en>
As described in Subsection~\ref{ssec-fontspec}, this optional package
provides the counterparts for several commands defined in the
-\Pkg{fontspec} package.
+\Pkg{fontspec} package (requires \Pkg{fontspec}~v2.4).
In addition to OpenType font features in the original \Pkg{fontspec},
the following ``font features'' specifications are allowed for
the commands of Japanese version:
@@ -4729,30 +4796,33 @@ the commands of Japanese version:
%<*ja>
\ref{ssec-fontspec}節で述べたように,この追加パッケージは\Pkg{fontspec}
パッケージで定義されているコマンドに対応する和文フォント用のコマンドを提供する.
+\emph{以下に述べる和文版の命令の説明は \Pkg{fontspec}~v2.4 使用時にのみ当てはまる.}
+
\Pkg{fontspec}パッケージで指定可能な各種font featureに加えて,和文版のコマンドには
以下の``font feature''を指定することができる:
%</ja>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[CID=<name>]
-\item[JFM=<name>]
-\item[JFM-var=<name>] \
+\begin{cslist}
+\item[CID=<name>\textrm{, }JFM=<name>\textrm{, }JFM-var=<name>]
%<*en>
These 3 keys correspond to \texttt{cid}, \texttt{jfm} and
-\texttt{jfmvar} keys for \verb+\jfont+ respectively.
-\texttt{CID} is effective only when with \texttt{NoEmbed}
-described below.
-See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details.
+\texttt{jfmvar} keys for \cs{jfont}~and~\cs{tfont} respectively.
+See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details
+ of \texttt{cid}, \texttt{jfm} and
+\texttt{jfmvar} keys.
+
+The \texttt{CID} key is effective only when with \texttt{NoEmbed}
+described below.
%</en>
%<*ja>
-これら3つのキーはそれぞれ \verb+\jfont+ に対する
+これら3つのキーはそれぞれ \cs{jfont},~\cs{tfont}に対する
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}キーとそれぞれ対応する.
-\texttt{CID} は下の \texttt{NoEmbed} と合わせて用いられたときのみ有効である.
-\verb+\jfont+ プリミティブに対する
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}キーの詳細は\ref{ssec-jfont}節
と\ref{ssec-psft}節を参照.
+
+\texttt{CID} キーは下の \texttt{NoEmbed} と合わせて用いられたときのみ有効である.
%</ja>
\item[NoEmbed]
@@ -4765,7 +4835,6 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
できる.\ref{ssec-psft}節を参照.
%</ja>
-
\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
\jfontspec[
@@ -4783,21 +4852,21 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
\label{fig:altkanji-fontspec}
\end{figure}
-\item[AltFont]\
+\item[AltFont]
%<*en>
-As \verb+\ltjdeclarealtfont+~(Subsection~\ref{ssec-altfont}) and
-\verb+\DeclareAlternateKanjiFont+~(Subsection~\ref{ssec-nfsspat}),
-with this key, one can typeset some Japanese characters
+As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec-altfont}) and
+\cs{DeclareAlternateKanjiFont}~(Subsection~\ref{ssec-nfsspat}),
+with this key, one can typeset some Japanese characters
by a different font and/or using different features.
The \texttt{AltFont} feature takes a comma-separated list of comma-separated lists,
as the following:
%</en>
%<*ja>
-\ref{ssec-altfont}節の \verb+\ltjdeclarealtfont+ や,
-\ref{ssec-nfsspat}節の \verb+\DeclareAlternateKanjiFont+ と同様に,
+\ref{ssec-altfont}節の \cs{ltjdeclarealtfont} や,
+\ref{ssec-nfsspat}節の \cs{DeclareAlternateKanjiFont} と同様に,
このキーを用いると一部の文字を異なったフォントやfont featureを使って組むことができる.
-\texttt{AltFont} に指定する値は,次のように二重のコンマ区切りリストである:
+\texttt{AltFont} キーに指定する値は,次のように二重のコンマ区切りリストである:
%</ja>
\begin{lstlisting}[escapechar=\#]
AltFont = {
@@ -4811,27 +4880,25 @@ AltFont = {
%<*en>
Each sublist should have the \texttt{Range} key
(sublist which does not contain \texttt{Range} key is simply ignored).
-A demonstrartion is shown in Figure~\ref{fig:altkanji-fontspec}.
+A demonstrarion is shown in Figure~\ref{fig:altkanji-fontspec}.
%</en>
%<*ja>
各部分リストには \texttt{Range} キーが必須である(含まれない部分リストは
-単純に無視される).
-指定例は図\ref{fig:altkanji-fontspec}に示した.
+単純に無視される).指定例は図\ref{fig:altkanji-fontspec}に示した.
%</ja>
-\end{list}
+\end{cslist}
%<*ja>
なお,\Pkg{luatexja-fontspec} 読み込み時には和文フォント定義ファイル%
\texttt{<ja-enc><family>.fd}は全く参照されなくなる.
%</ja>
-
\subsection{\texttt{luatexja-otf.sty}}
\label{ssec-ltjotf}
%<*en>
This optional package supports typesetting characters in
-Adobe-Japan1 character collection
-(or other CID character collecton, if the font is supported).
+Adobe-Japan1 character collection
+(or other CID character collection, if the font is supported).
The package \Pkg{luatexja-otf} offers the following 2~low-level
commands:
%</en>
@@ -4840,8 +4907,8 @@ commands:
別のCID文字セットでも可)の文字の出力をサポートする.
\Pkg{luatexja-otf}は以下の2つの低レベルコマンドを提供する:
%</ja>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\textbackslash CID\{<number>\}]
+\begin{cslist}
+\item[\cs{CID}\{<number>\}]
%<*en>
Typeset a character whose CID number is <number>.
%</en>
@@ -4849,7 +4916,7 @@ Typeset a character whose CID number is <number>.
CID番号が<number>の文字を出力する.
%</ja>
-\item[\textbackslash UTF\{<hex\_number>\}]
+\item[\cs{UTF}\{<hex\_number>\}]
%<*en>
Typeset a character whose character code is <hex\_number> (in hexadecimal).
This command is similar to \verb+\char"+<hex\_number>,\ %"
@@ -4859,23 +4926,23 @@ but please remind remarks below.
文字コードが(16進で)<hex\_number>の文字を出力する.
このコマンドは \verb+\char"+<hex\_number>と似ているが,下の記述に注意すること.%"
%</ja>
-\end{list}
+\end{cslist}
%<*ja>
このパッケージは,\texttt{ajmacros.sty}(\Pkg{otf}パッケージ付属のマクロ集,井上浩一氏作)から
-漢字コードをUTF8にしたり,plain \LuaTeX でも利用可能するという
+漢字コードをUTF8にしたり,plain \LuaTeX でも利用可能にするという
修正を加えた \texttt{luatexja-ajmacros.sty} も自動的に読み込む.
-そのため,マクロ集にある \verb+\aj半角+ などのマクロもそのまま使用可能である.
+そのため,\texttt{ajmacros.sty} マクロ集にある \verb+\aj半角+ などのマクロもそのまま使用可能である.
%</ja>
%<en>\paragraph{Remarks}
%<ja>\paragraph{注意}
%<*en>
-Characters by \verb+\CID+ and \verb+\UTF+ commands are different from
+Characters by \cs{CID} and \cs{UTF} commands are different from
ordinary characters in the following points:
%</en>
%<*ja>
-\verb+\CID+ と \verb+\UTF+ コマンドによって出力される文字は
+\cs{CID} と \cs{UTF} コマンドによって出力される文字は
以下の点で通常の文字と異なる:
%</ja>
\begin{itemize}
@@ -4905,7 +4972,7 @@ chars} table in JFM now allows a string in the form
\verb+'AJ1-xxx'+, which stands for the character
whose CID number in Adobe-Japan1 is \verb+xxx+.
-This extened notation is used in the standard JFM \texttt{jfm-ujis.lua}
+This extended notation is used in the standard JFM \texttt{jfm-ujis.lua}
to typeset halfwidth Hiragana glyphs (CID~516--598) in halfwidth.
%</en>
%<*ja>
@@ -5007,7 +5074,7 @@ Lua・\TeX コードが参考になるだろう.
\def\outbox#1{{\Large%
\ltjsetparameter{kanjiskip=0pt plus .2\zw minus .2\zw}%
\setbox\gridbox=\hbox to 20\zw{\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb}%
- \hbox{\textcolor{cyan!50!white}{\copy\gridbox}\hskip-20\zw%
+ \hbox{\textcolor{cyan}{\copy\gridbox}\hskip-20\zw%
\vbox{\hsize=20\zw\noindent\leftskip0pt\rightskip0pt\parfillskip0pt#1}\vrule}%
}}
@@ -5027,8 +5094,8 @@ with priority&%
\end{tabular}\par}
\smallskip
-Note: the value of
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
+Note: the value of
+\Param{kanjiskip} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
for making the difference obvious.
%<ja>\caption{行長調整}\label{fig-adj}
%<en>\caption{Line adjustment}\label{fig-adj}
@@ -5041,7 +5108,7 @@ for making the difference obvious.
%<*ja>
\pTeX では,行長調整において優先度の概念が存在しなかったため,図
\ref{fig-adj}上段における半角分の半端は,図\ref{fig-adj}中段のように,鍵
-括弧周辺の空白と和文間空白(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})の両方によって負担される.し
+括弧周辺の空白と和文間空白(\Param{kanjiskip})の両方によって負担される.し
かし,「日本語組版処理の要件」\cite{jlreq}やJIS~X~4051~\cite{x4051}におい
ては,このような状況では半端は鍵括弧周辺の空白のみで負担し,その他の和文
文字はベタ組で組まれる(図\ref{fig-adj}下段)ことになっている.この追加
@@ -5053,32 +5120,32 @@ for making the difference obvious.
また,\verb+\hbox to ... {...}+ のような「幅が指定されたhbox」では無効である.
\item 優先度付き行長調整を行うと,和文処理グルーの自然長は変化しないが,伸び量や縮み量は
-一般に変化する.そのため,既に組まれた段落を \verb+\unhbox+ などを利用して組み直す処理を
+一般に変化する.そのため,既に組まれた段落を \cs{unhbox} などを利用して組み直す処理を
行う場合には注意が必要である.
\end{itemize}
\Pkg{luatexja-adjust} は,以下の命令を提供する.これらはすべてグローバルに効力を発揮する.
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\textbackslash ltjdisableadjust]
+\begin{cslist}
+\item[\cs{ltjdisableadjust}]
優先順位付きの行長調整を無効化する.
-\item[\textbackslash ltjenableadjust]
+\item[\cs{ltjenableadjust}]
優先順位付きの行長調整を有効化する.
-\item[\textsf{adjust}\,=<bool>] \verb+\ltjsetparameter+ で指定可能な追加パラメータであり,
-<bool>が\textit{true}なら \verb+\ltjenableadjust+ を,
-そうでなければ \verb+\ltjdisableadjust+ を実行する.
-\end{list}
+\item[\textsf{adjust}\,=<bool>] \cs{ltjsetparameter} で指定可能な追加パラメータであり,
+<bool>が\textit{true}なら \cs{ltjenableadjust} を,
+そうでなければ \cs{ltjdisableadjust} を実行する.
+\end{cslist}
%</ja>
\subsection{\texttt{luatexja-ruby.sty}}
%<*en>
-This addon package provides functionality of ``ruby'' (\emph{furigana}) annotations
-using callbacks of \LuaTeX-ja.
+This addon package provides functionality of ``ruby'' (\emph{furigana}) annotations
+using callbacks of \LuaTeX-ja.
There is no detailed manual of \Pkg{luatexja-ruby.sty} in English.
-(Japanese manual is another PDF file, \url{luatexja-ruby.pdf}.)
+(Japanese manual is another PDF file, \url{luatexja-ruby.pdf}.)
%</en>
%<*ja>
この追加パッケージは,\LuaTeX-jaの機能を利用したルビ(振り仮名)の組版機能を提供する.
@@ -5093,7 +5160,7 @@ There is no detailed manual of \Pkg{luatexja-ruby.sty} in English.
\begin{description}
%<*en>
\item[Group-ruby]
-By default, ruby characters (the second argument of \verb+\ruby+)
+By default, ruby characters (the second argument of \cs{ruby})
are attached to base characters (the first argument), as one object.
This type of ruby is called \emph{group-ruby}.
%</en>
@@ -5107,8 +5174,8 @@ This type of ruby is called \emph{group-ruby}.
東西線の\ruby{妙典}{みようでん}という駅……\\
東西線\ruby{葛西}{かさい}駅は……
\end{LTXexample}
-%<*en>
-As the above example, ruby hangover is allowed on the Hiragana before/after
+%<*en>
+As the above example, ruby hangover is allowed on the Hiragana before/after
its base characters.
%</en>
%<ja> この例のように,標準では前後の平仮名にルビ全角までかかるようになっている.
@@ -5116,12 +5183,12 @@ its base characters.
%<*en>
\item[Mono-ruby]
To attach ruby characters to each base characters (\emph{mono-ruby}),
-one should use \verb+\ruby+ multiple times:
+one should use \cs{ruby} multiple times:
%</en>
%<*ja>
\item[モノルビ] 親文字を1文字にするとモノルビとなる.
2文字以上の熟語をモノルビの形で組みたい場合は,面倒でも
-その数だけ \verb+\ruby+ を書く必要がある.
+その数だけ \cs{ruby} を書く必要がある.
%</ja>
\begin{LTXexample}[width=0.3\textwidth]
東西線の\ruby{妙}{みよう}\ruby{典}{でん}駅は……
@@ -5145,7 +5212,7 @@ Vertical bar~\verb+|+ denotes a boundary of \emph{groups}.
\ruby{神楽|坂}{かぐら|ざか}
\end{LTXexample}
%<*en>
-If there are multiple groups in one \verb+\ruby+ call,
+If there are multiple groups in one \cs{ruby} call,
A linebreak between two groups is allowed.
%</en>
%<ja> 複数ルビではグループとグループの間で改行が可能である.
@@ -5160,7 +5227,7 @@ A linebreak between two groups is allowed.
%<*en>
If the width of ruby characters are longer than that of base characters,
-\verb+\ruby+ automatically selects the appropriate form
+\cs{ruby} automatically selects the appropriate form
among the line-head form, the line-middle form, and the line-end form.
%</en>
%<*ja>
@@ -5176,10 +5243,6 @@ among the line-head form, the line-middle form, and the line-end form.
\end{LTXexample}
-
-
-
-
%<en>\part{Implementations}
%<ja>\part{実装}
\label{part-imp}
@@ -5199,18 +5262,19 @@ Here the following is the list of dimensions and attributes which are used in \L
\begin{list}{}{%
\def\makelabel{\ttfamily}\advance\leftmargin1\zw
\def\dim#1{\item[\textbackslash #1\ \textrm{(dimension)}]}
+\def\cnt#1{\item[\textbackslash #1\ \textrm{(counter)}]}
\def\attr#1{\item[\textbackslash #1\ \textrm{(attribute)}]}
}
\dim{jQ}
%<*en>
-\verb+\jQ+ is equal to
+\cs{jQ} is equal to
$1\,\textrm{Q}=0.25\,\textrm{mm}$, where ``Q''~(also called ``級'') is
- a unit used in Japanese phototypesetting.
+ a unit used in Japanese phototypesetting.
So one should not change the value of this dimension.
%</en>
%<*ja>
-\verb+\jQ+ は写植で用いられた$1\,\textrm{Q}=0.25\,\textrm{mm}$%
+\cs{jQ} は写植で用いられた$1\,\textrm{Q}=0.25\,\textrm{mm}$%
(「級」とも書かれる)に等しい.したがって,
この寸法レジスタの値を変更してはならない.
%</ja>
@@ -5218,35 +5282,35 @@ So one should not change the value of this dimension.
\dim{jH}
%<*en>
There is also a unit called ``歯'' which equals to $0.25\,\textrm{mm}$ and
- used in Japanese phototypesetting.
-This \verb+\jH+ is the same \verb+\dimen+ register as \verb+\jQ+.
+ used in Japanese phototypesetting.
+This \cs{jH} is the same \cs{dimen} register as \cs{jQ}.
%</en>
%<*ja>
同じく写植で用いられていた単位として「歯」があり,これも$0.25\,\textrm{mm}$と
-等しい.この \verb+\jH+ は \verb+\jQ+ と同じ寸法レジスタを指す.
+等しい.この \cs{jH} は \cs{jQ} と同じ寸法レジスタを指す.
%</ja>
\dim{ltj@zw}
%<*en>
A temporal register for the ``full-width'' of current Japanese font.
-The command \verb+\zw+ sets this register to the correct value, and
+The command \cs{zw} sets this register to the correct value, and
``return'' this register itself.
%</en>
%<*ja>
現在の和文フォントの「全角幅」を保持する一時レジスタ.
-\verb+\zw+ 命令は,このレジスタを適切な値に設定した後,
+\cs{zw} 命令は,このレジスタを適切な値に設定した後,
「このレジスタ自体を返す」.
%</ja>
\dim{ltj@zh}
%<*en>
A temporal register for the ``full-height'' (usually the sum of height of imaginary body and its depth) of current Japanese font.
-The command \verb+\zh+ sets this register to the correct value, and
+The command \cs{zh} sets this register to the correct value, and
``return'' this register itself.
%</en>
%<*ja>
現在の和文フォントの「全角高さ」(通常,高さと深さの和)を保持する一時レジスタ.
-\verb+\zh+ 命令は,このレジスタを適切な値に設定した後,
+\cs{zh} 命令は,このレジスタを適切な値に設定した後,
「このレジスタ自体を返す」.
%</ja>
@@ -5260,10 +5324,10 @@ Current number of Japanese font family for math formulas.
\attr{ltj@curjfnt}
%<*en>
-The font index of current Japanese font.
+The font index of current Japanese font for horizontal direction.
%</en>
%<*ja>
-現在の和文フォントのフォント番号.
+現在の横組用和文フォントのフォント番号.
%</ja>
\attr{ltj@charclass}
@@ -5290,20 +5354,23 @@ The amount of shifting the baseline of Japanese fonts in scaled point ($2^{-16}\
スケールド・ポイント($2^{-16}\,\textrm{pt}$)を単位とした和文フォントのベースラインの移動量.
%</ja>
+\attr{ltj@tablshift}
+\attr{ltj@tkblshift}
+
\attr{ltj@autospc}
%<*en>
-Whether the auto insertion of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is allowed at the node.
+Whether the auto insertion of \Param{kanjiskip} is allowed at the node.
%</en>
%<*ja>
-そのノードで\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の自動挿入が許されるかどうか.
+そのノードで\Param{kanjiskip}の自動挿入が許されるかどうか.
%</ja>
\attr{ltj@autoxspc}
%<*en>
-Whether the auto insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed at the node.
+Whether the auto insertion of \Param{xkanjiskip} is allowed at the node.
%</en>
%<*ja>
-そのノードで\Param{\hyperlink{fld:xks}{xkanjiskip}}の自動挿入が許されるかどうか.
+そのノードで\Param{xkanjiskip}の自動挿入が許されるかどうか.
%</ja>
\attr{ltj@icflag}
@@ -5319,12 +5386,12 @@ assigned to this attribute:
%<*en>
Kerns from italic correction (\verb+\/+), or from kerning information of a Japanese font.
These kerns are ``ignored'' in the insertion process of \textbf{JAglue},
-unlike explicit \verb+\kern+.
+unlike explicit \cs{kern}.
%</en>
%<*ja>
イタリック補正(\verb+\/+)によるカーン,
または \Pkg{luaotfload} によって挿入されたフォントのカーニング情報由来のカーン.
-これらのカーンは通常の \verb+\kern+ とは異なり,
+これらのカーンは通常の \cs{kern} とは異なり,
\textbf{JAglue}の挿入処理においては透過する.
%</ja>
@@ -5339,11 +5406,11 @@ Penalties inserted for the word-wrapping process (\emph{kinsoku shori}) of Japan
%<en>Glues/kerns from JFM.
%<ja>JFM由来のグルー/カーン.
\item[\textit{kanji\_skip}~(9), \textit{kanji\_skip\_jfm}~(10)]
-%<en>Glues from \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}.
-%<ja>和文間空白\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}を表すグルー.
+%<en>Glues from \Param{kanjiskip}.
+%<ja>和文間空白\Param{kanjiskip}を表すグルー.
\item[\textit{xkanji\_skip}~(11), \textit{xkanji\_skip\_jfm}~(12)]
-%<en>Glues from \Param{\hyperlink{fld:xks}{xkanjiskip}}.
-%<ja>和欧文間空白\Param{\hyperlink{fld:xks}{xkanjiskip}}を表すグルー.
+%<en>Glues from \Param{xkanjiskip}.
+%<ja>和欧文間空白\Param{xkanjiskip}を表すグルー.
\item[\textit{processed} (13)]
%<en>Nodes which is already processed by \ldots.
%<ja>\LuaTeX-ja の内部処理によって既に処理されたノード.
@@ -5359,11 +5426,11 @@ Glues from an italic correction, but already processed in the insertion process
%<*ja>
また,挿入処理の結果であるリストの最初のノードでは,\verb+\ltj@icflag+ の値に
-\textit{processed\_begin\_flag}~(128)が追加される.これによって,\verb+\unhbox+ が
+\textit{processed\_begin\_flag}~(128)が追加される.これによって,\cs{unhbox} が
連続した場合でも「ボックスの境界」が識別できるようになっている.
%</ja>
-\attr{ltj@kcat$i$}
+\attr{ltj@kcat\,$i$}
%<*en>
Where $i$~is a natural number which is less than~7.
These 7~attributes store bit~vectors indicating which character block is regarded as a block of \textbf{JAchar}s.
@@ -5373,30 +5440,31 @@ $i$は7より小さい自然数.
これら7つの属性レジスタは,どの文字ブロックが\textbf{JAchar}のブロックとして
扱われるかを示すビットベクトルを格納する.
%</ja>
+
\end{list}
%<*en>
Furthermore, \LuaTeX-ja uses several user-defined whatsit nodes for
-inrernal processing. All those nodes store a natural number (hence the node's
-\texttt{type} is 100).
-Their \texttt{user\_id} (used for distinguish user-defined whatsits)
+internal processing. All those nodes
+store a natural number (hence its \texttt{type} is 100).
+Their \texttt{user\_id} (used for distinguish user-defined whatsits)
are allocated by \texttt{luatexbase.newuserwhatsitid}.
%</en>
%<*ja>
さらに,\LuaTeX-jaはいくつかのuser-defined whatsit nodeを内部処理に用いる.
-これらのwhatsitノードの \texttt{type} は100であり,ノードは自然数を格納している.
-user-defined whatsitを識別するための \texttt{user\_id} は\
+これらwhatsitノードの \texttt{type} は100であり,ノードは自然数を格納している.
+user-defined whatsitを識別するための \texttt{user\_id} は\
\texttt{luatexbase.newuserwhatsitid} により確保されており,
下の見出しは単なる識別用でしかない.
%</ja>
\begin{description}
\item[\textit{inhibitglue}]
%<*en>
-Nodes for indicating that \verb+\inhibitglue+ is
+Nodes for indicating that \cs{inhibitglue} is
specified. The \texttt{value} field of these nodes doesn't matter.
%</en>
%<*ja>
-\verb+\inhibitglue+ が指定されたことを示すノード.これらのノードの\
+\cs{inhibitglue} が指定されたことを示すノード.これらのノードの\
\texttt{value} フィールドは意味を持たない.
%</ja>
@@ -5415,17 +5483,17 @@ Nodes for \LuaTeX-ja's stack system (see the next
%<*en>
Nodes for \textbf{JAchar} which the callback process of
\Pkg{luaotfload} won't be applied, and the character code is
- stored in the \texttt{value} field. Each node of this type are
+ stored in the \texttt{value} field. Each node of this type are
converted to a \textit{glyph\_node} \emph{after}
the callback process of luaotfload.
-Nodes of this type is used in \verb+\CID+, \verb+\UTF+ and IVS support.
+Nodes of this type is used in \cs{CID}, \cs{UTF} and IVS support.
%</en>
%<*ja>
\Pkg{luaotfload}のコールバックによる処理が適用されない\textbf{JAchar}のためのノードで,
\texttt{value} フィールドに文字コードが格納されている.
この種類のノードはそれぞれが\Pkg{luaotfload}のコールバックの処理の
\emph{後で}\textit{glyph\_node}に変換される.
-\verb+\CID+, \verb+\UTF+やIVS対応処理でこの種類のノードが利用されている.
+\cs{CID}, \cs{UTF}やIVS対応処理でこの種類のノードが利用されている.
%</ja>
\item[\textit{replace\_vs}]
@@ -5443,13 +5511,14 @@ These nodes are for \textbf{ALchar} which the callback process of
\item[\textit{begin\_par}]
%<*en>
Nodes for indicating beginning of a paragraph.
-A paragraph which is started by \verb+\item+ in list-like environments has a horizontal box
+A paragraph which is started by \cs{item} in list-like environments has a horizontal box
for its label before the actual contents. So \dots
%</en>
%<*ja>
「段落の開始」を意味するノード.
-list環境,itemize環境などにおいて,\verb+\item+ で始まる各項目は……
+list環境,itemize環境などにおいて,\cs{item} で始まる各項目は……
%</ja>
+
\end{description}
%<*en>
@@ -5468,13 +5537,13 @@ These whatsits will be removed during the process of inserting \textbf{JAglue}s.
%<*en>
\LuaTeX-ja has its own stack system, and most parameters of \LuaTeX-ja
are stored in it. To clarify the reason, imagine the parameter
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is stored by a skip, and consider the following
+\Param{kanjiskip} is stored by a skip, and consider the following
source:
%</en>
%<*ja>
\LuaTeX-jaは独自のスタックシステムを持ち,\LuaTeX-jaのほとんどのパラメータは
これを用いて保持されている.その理由を明らかにするために,
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}パラメータがスキップレジスタで保持されているとし,
+\Param{kanjiskip}パラメータがスキップレジスタで保持されているとし,
以下のコードを考えてみよう:
%</ja>
\begin{LTXexample}
@@ -5486,16 +5555,16 @@ source:
%<*en>
As described in Subsection~\ref{ssec-param}, the only effective value of
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} in an hbox is the latest value, so the value of
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} which applied in the entire hbox should be 5\,pt.
+\Param{kanjiskip} in an hbox is the latest value, so the value of
+\Param{kanjiskip} which applied in the entire hbox should be 5\,pt.
However, by the implementation method of \LuaTeX, this ``5\,pt'' cannot be
known from any callbacks. In the \texttt{tex/packaging.w}, which is a
file in the source of \LuaTeX, there are the following codes:
%</en>
%<*ja>
\ref{ssec-param}節で述べたように,あるhboxの中で効力を持つ
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の値は最後に現れた値のみであり,したがってボックス全体に適用される
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}は5\,ptであるべきである.しかし,\LuaTeX の実
+\Param{kanjiskip}の値は最後に現れた値のみであり,したがってボックス全体に適用される
+\Param{kanjiskip}は5\,ptであるべきである.しかし,\LuaTeX の実
装を観察すると,この5\,ptという長さはどのコールバックからも知ることはできないことがわかる.
\LuaTeX のソースファイルの1つ \texttt{tex/packaging.w} の中に,
以下のコードがある:
@@ -5550,7 +5619,7 @@ These are two \TeX\ count registers for maintaining information:
the \TeX's group level when the last assignment was done. Parameters
are stored in one big table named \texttt{charprop\_stack\_table}, where
\texttt{charprop\_stack\_table[$i$]} stores data of stack level~$i$. If
-a new stack level is created by \verb+\ltjsetparameter+, all data of the
+a new stack level is created by \cs{ltjsetparameter}, all data of the
previous level is copied.
%</en>
%<*ja>
@@ -5559,7 +5628,7 @@ previous level is copied.
なされた時点での\TeX のグループレベルを保持している.
パラメータは\texttt{charprop\_stack\_table}という名前のひとつの大きなテーブルに
格納される.ここで,\texttt{charprop\_stack\_table[$i$]}はスタックレベル$i$の
-データを格納している.もし新しいスタックレベルが \verb+\ltjsetparameter+ によって
+データを格納している.もし新しいスタックレベルが \cs{ltjsetparameter} によって
生成されたら,前のレベルの全てのデータがコピーされる.
%</ja>
@@ -5627,13 +5696,13 @@ $t$とすると:
%<*en>
Note that to work this trick correctly, assignments to
\verb+\ltj@@stack+ and \verb+\ltj@@group@level+ have to be local always,
-regardless the value of \verb+\globaldefs+.
-To solve this problem, we use another trick: the assignment
+regardless the value of \cs{globaldefs}.
+To solve this problem, we use another trick: the assignment
\hbox{\verb+\directlua{tex.globaldefs=0}+} is always local.
%</en>
%<*ja>
このトリックを正しく働かせるためには,\verb+\ltj@@stack+ と \verb+\ltj@@group@level+ への
-代入は \verb+\globaldefs+ の値によらず常にローカルでなければならないことに注意する.
+代入は \cs{globaldefs} の値によらず常にローカルでなければならないことに注意する.
この問題は \hbox{\verb+\directlua{tex.globaldefs=0}+}(この代入は常にローカル)を
用いることで解決している.
%</ja>
@@ -5655,15 +5724,15 @@ The following function can be used to store data into a stack:
\begin{verbatim}
luatexja.stack.set_stack_table(index, <any> data)
\end{verbatim}
-Any values which except \texttt{nil}~and~NaN are usable as \textit{index}.
-However, a user should use only negative integers or strings as \textit{index},
+Any values which except \texttt{nil}~and~NaN are usable as \textit{index}.
+However, a user should use only negative integers or strings as \textit{index},
since natural numbers are used by \LuaTeX-ja itself.
-Also, whether \textit{data} is stored locally or globally
+Also, whether \textit{data} is stored locally or globally
is determined by \texttt{luatexja.isglobal}
(stored globally if and only if \texttt{luatexja.isglobal == 'global'}).
%</en>
%<*ja>
-スタックに値を設定するには,以下のLua関数を呼びだせば良い:
+スタックに値を設定するには,以下のLua関数を呼び出せば良い:
\begin{verbatim}
luatexja.stack.set_stack_table(<any> index, <any> data)
\end{verbatim}
@@ -5680,8 +5749,8 @@ Stored data can be obtained as the return value of
\begin{verbatim}
luatexja.stack.get_stack_table(index, <any> default, <number> level)
\end{verbatim}
-where \textit{level} is the stack level, which is usually the value of \verb+\ltj@@stack+,
-and \textit{default} is the default value which will be returned if no values are stored
+where \textit{level} is the stack level, which is usually the value of \verb+\ltj@@stack+,
+and \textit{default} is the default value which will be returned if no values are stored
in the stack table whose level is \textit{level}.
%</en>
%<*ja>
@@ -5707,7 +5776,7 @@ luatexja.stack.get_stack_table(<any> index, <any> default, <number> level)
\relax\ifnum\globaldefs<0\directlua{luatexja.isglobal=''}%
\else\directlua{luatexja.isglobal='global'}\fi%
\setkeys[ltj]{japaram}{#1}\ignorespaces}
-\end{lstlisting}
+\end{lstlisting}
%<ja>\caption{パラメータ設定命令の定義}
%<en>\caption{Definiton of parameter setting commands}
\label{fig:setpar-def}
@@ -5715,50 +5784,50 @@ luatexja.stack.get_stack_table(<any> index, <any> default, <number> level)
%<*en>
\subsection{Extending Parameters}
-Keys for \verb+\ltjsetparameter+~and~\verb+\ltjgetparameter+ can be extended,
+Keys for \cs{ltjsetparameter}~and~\cs{ltjgetparameter} can be extended,
as in \Pkg{luatexja-adjust}.
%</en>
%<*ja>
\subsection{パラメータの拡張}
ここでは,\Pkg{luatexja-adjust}で行なっているように,
-\verb+\ltjsetparameter+,~\verb+\ltjgetparameter+に指定可能なキーを追加する方法
+\cs{ltjsetparameter},~\cs{ltjgetparameter}に指定可能なキーを追加する方法
を述べる.
%</ja>
%<*en>
\paragraph{Setting parameters}
-Figure~\ref{fig:setpar-def} shows the ``most outer'' definition of
-two commands,
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+.
-Most important part is the last \verb+\setkeys+,
+Figure~\ref{fig:setpar-def} shows the ``most outer'' definition of
+two commands,
+\cs{ltjsetparameter} and \cs{ltjglobalsetparameter}.
+Most important part is the last \cs{setkeys},
which is offered by the \Pkg{xkeyval} package.
-Hence, to add a key in \verb+\ltjsetparameter+, one only have to add a key
+Hence, to add a key in \cs{ltjsetparameter}, one only have to add a key
whose prefix is \texttt{ltj} and whose family is \texttt{japaram}, as the following.
\begin{verbatim}
\define@key[ltj]{japaram}{...}{...}
\end{verbatim}
-\verb+\ltjsetparameter+~and~\verb+\ltjglobalsetparameter+ automatically sets
+\cs{ltjsetparameter}~and~\cs{ltjglobalsetparameter} automatically sets
\texttt{luatexja.isglobal}. Its meaning is the following.
\begin{align}
- \texttt{luatexja.isglobal} =
+ \texttt{luatexja.isglobal} =
\begin{cases}
\texttt{'global'}&\text{global}\\
\texttt{''}&\text{local}
\end{cases}
\end{align}
This is determined not only by command name
-(\verb+\ltjsetparameter+~or~\verb+\ltjglobalsetparameter+),
-but also by the value of \verb+\globaldefs+.
+(\cs{ltjsetparameter}~or~\cs{ltjglobalsetparameter}),
+but also by the value of \cs{globaldefs}.
%</en>
%<*ja>
\paragraph{パラメータの設定}
-\verb+\ltjsetparameter+ と,\verb+\ltjglobalsetparameter+ の定義は図\ref{fig:setpar-def}の
+\cs{ltjsetparameter} と,\cs{ltjglobalsetparameter} の定義は図\ref{fig:setpar-def}の
のようになっている.
-本質的なのは最後の \verb+\setkeys+ で,これは\Pkg{xkeyval}パッケージの提供する命令である.
+本質的なのは最後の \cs{setkeys} で,これは\Pkg{xkeyval}パッケージの提供する命令である.
-このため,\verb+\ltjsetparameter+ に指定可能なパラメータを追加するには,
+このため,\cs{ltjsetparameter} に指定可能なパラメータを追加するには,
<prefix>を \texttt{ltj},<family>を \texttt{japaram} としたキーを
\begin{verbatim}
\define@key[ltj]{japaram}{...}{...}
@@ -5766,22 +5835,56 @@ but also by the value of \verb+\globaldefs+.
のように定義すれば良いだけである.
なお,パラメータ指定がグローバルかローカルかどうかを示す \texttt{luatexja.isglobal} が,
\begin{align}
- \texttt{luatexja.isglobal} =
+ \texttt{luatexja.isglobal} =
\begin{cases}
\texttt{'global'}&\text{パラメータ設定はグローバル}\\
\texttt{''}&\text{パラメータ設定はローカル}
\end{cases}
\end{align}
-として自動的にセットされる\footnote{命令が \texttt{\textbackslash ltjglobalsetparameter} かどうかだけでは
-なく,実行時の \texttt{\textbackslash globaldefs} の値にも依存して定まる.}.
+として自動的にセットされる\footnote{命令が \cs{ltjglobalsetparameter} かどうかだけでは
+なく,実行時の \cs{globaldefs} の値にも依存して定まる.}.
%</ja>
+%<*en>
+\paragraph{Getting parameters}
+\cs{ltjgetparameter} is implemented by a Lua script.
+
+For parameters that do not need additional arguments, one only have to
+define a function in the table \verb+luatexja.unary_pars+.
+For example, with the following function,
+\verb+\ltjgetparameter{hoge}+ returns a \emph{string} \texttt{42}.
+\begin{lstlisting}[numbers=left]
+function luatexja.unary_pars.hoge (t)
+ return 42
+end
+\end{lstlisting}
+Here the argument of \verb+luatexja.unary_pars.hoge+ is
+the stack level of \LuaTeX-ja's stack system (see Subsection~\ref{ssec-stack}).
+
+On the other hand, for parameters that need an additional argument
+(this must be an integer), one have to define a function in
+\verb+luatexja.binary_pars+ first. For example,
+\begin{lstlisting}[numbers=left]
+function luatexja.binary_pars.fuga (c, t)
+ return tostring(c) .. ', ' .. tostring(42)
+end
+\end{lstlisting}
+Here the first argument $t$ is the stack level, as before.
+The second argument $c$ is just the second argument of \cs{ltjgetparameter}.
+
+For parameters that need an additional argument, one also have to
+execute the \TeX\ code like
+\begin{verbatim}
+\ltj@@decl@array@param{fuga}
+\end{verbatim}
+to indicate that ``the parameter \texttt{fuga} needs an additional argument''.
+%</en>
%<*ja>
\paragraph{パラメータの取得}
-一方,\verb+\ltjgetparameter+ はLuaスクリプトによって実装されている.
-値を取得するのに追加引数の要らないパラメータについては,\verb+luatexja.unary_pars+\
+一方,\cs{ltjgetparameter} はLuaスクリプトによって実装されている.
+値を取得するのに追加引数の要らないパラメータについては,\verb+luatexja.unary_pars+\
内に処理内容を記述した関数を定義すれば良い.例えば,Luaスクリプトで
-\begin{lstlisting}[numbers=left]
+\begin{lstlisting}[numbers=left]
function luatexja.unary_pars.hoge (t)
return 42
end
@@ -5793,13 +5896,13 @@ end
一方,追加引数(\emph{数値しか許容しない})が必要なパラメータについては,
まずLuaスクリプトで処理内容の本体を記述しておく:
-\begin{lstlisting}[numbers=left]
+\begin{lstlisting}[numbers=left]
function luatexja.binary_pars.fuga (c, t)
return tostring(c) .. ', ' .. tostring(42)
end
\end{lstlisting}
-引数$t$は,先に述べた通りのスタックレベルである.一方,引数$c$は\
-\verb+\ltjgetparameter+ の第2引数を表す数値である.
+引数$t$は,先に述べた通りのスタックレベルである.一方,引数$c$は\
+\cs{ltjgetparameter} の第2引数を表す数値である.
しかしこれだけでは駄目で,
\begin{verbatim}
\ltj@@decl@array@param{fuga}
@@ -5873,11 +5976,11 @@ after ``beginning/ending of a group'' characters.
->, auto, shorten >=1pt
]
\node [shape=rectangle, font=\scriptsize] (init) at (2,7) {start};
-\node [shape=circle,draw, fill=blue!20] (newline) at (4,7) {$N$};
-\node [shape=circle,draw, fill=blue!20] (midline) at (4,4) {$M$};
-\node [shape=circle,draw, fill=blue!20] (skipspc) at (8,7) {$S$};
-\node [shape=circle,draw, fill=red!20] (kanji) at (8,4) {$K$};
-\node [shape=rectangle,draw, fill=green!20] (scanacs) at (6,8) {scan a c.s.};
+\node [shape=circle,draw, fill=b_cyan] (newline) at (4,7) {$N$};
+\node [shape=circle,draw, fill=b_cyan] (midline) at (4,4) {$M$};
+\node [shape=circle,draw, fill=b_cyan] (skipspc) at (8,7) {$S$};
+\node [shape=circle,draw, fill=b_pink] (kanji) at (8,4) {$K$};
+\node [shape=rectangle,draw, fill=b_green] (scanacs) at (6,8) {scan a c.s.};
\node (endk) at (8,2.5) {} ;
\node (endm) at (4,2.5) {} ;
\node (ends) at (8,8.5) {} ;
@@ -5894,7 +5997,7 @@ after ``beginning/ending of a group'' characters.
(midline) edge node {5\ [\sp]} (endm)
(midline) edge [loop left] node {G, O} (midline)
(skipspc) edge node [right] {5} (ends)
- (newline) edge node {5 [{\tt\textbackslash par}]} (endn);
+ (newline) edge node {5 [\cs{par}]} (endn);
\begin{scope}[red]
\path (newline) edge [bend right] node [right=25,below=3]{J} (kanji)
(midline) edge node [below]{J} (kanji)
@@ -5917,8 +6020,8 @@ after ``beginning/ending of a group'' characters.
\item[\textsf{5}] \textit{end-of-line} (usually \verb+^+\verb+^J+).
\item[\textsf{10}] space (usually \sp).
\item[\textsf{O}] other characters, whose category code is in $\{3,4,6,7,8,11,12,13\}$.
-\item[\textsf{[\sp]}, \textsf{[{\tt\textbackslash par}]}]
-emits a space, or~\verb+\par+.
+\item[\textsf{[\sp]}, \textsf{[\cs{par}]}]
+emits a space, or~\cs{par}.
\end{description}
\end{minipage}
\begin{itemize}
@@ -5958,7 +6061,7 @@ A character \texttt{U+FFFFF} (its category code is set to 14~(\textit{comment})
\LuaTeX-ja) is appended to an input line, \emph{before \LuaTeX\ actually
process it}, if and only if the following three conditions are satisfied:
\begin{enumerate}
-\item The category code of \verb+\endlinechar+%
+\item The category code of \cs{endlinechar}%
\footnote{Usually, it is $\langle$\textit{return}$\rangle$
(whose character code is 13).} is 5~(\textit{end-of-line}).
\item The category code of \texttt{U+FFFFF} itself is 14~(\textit{comment}).
@@ -5980,7 +6083,7 @@ y\ltjsetparameter{jacharrange={+6}}zい
u
\end{LTXexample}
It is not strange that ``あ'' does not printed in the above output.
-This is because \TeX\ Gyre\ Termes does not contain ``あ'', and because
+This is because \TeX\ Gyre\ Termes does not contain ``あ'', and because
``あ'' in line~3 is considered as an \textbf{ALchar}.
Note that there is no space before ``y'' in the output, but
@@ -5988,7 +6091,7 @@ there is a space before ``u''. This follows from following reasons:
\begin{itemize}
\item When line~3 is processed by \texttt{process\_input\_buffer} callback,
``あ'' is considered as an \textbf{JAchar}.
-Since line~3 ends with an \textbf{JAchar},
+Since line~3 ends with an \textbf{JAchar},
the comment character \texttt{U+FFFFF} is appended to this line,
and hence the linebreak immediately after this line is ignored.
\item When line~4 is processed by \texttt{process\_input\_buffer} callback,
@@ -6018,7 +6121,7 @@ emits a space.
\footnote{この文字はコメント文字として扱われるように\LuaTeX-ja内部で設定をしている.}
を末尾に追加する.よって,その場合に改行は空白とは見做されないこととなる.
\begin{enumerate}
-\item \verb+\endlinechar+の文字\footnote{普通は,改行文字(文字コード13番)である.}
+\item \cs{endlinechar}の文字\footnote{普通は,改行文字(文字コード13番)である.}
のカテゴリーコードが5~(\textit{end-of-line})である.
\item \texttt{U+FFFFF}のカテゴリーコードが14~(\textit{comment})である.
\item 入力行は次の「正規表現」にマッチしている:
@@ -6056,7 +6159,7 @@ u
「い」は欧文文字扱いである.よって4行目は欧文文字で終わることになり,
直後の改行文字は空白に置き換わる.
\end{itemize}
-このため,トラブルを避けるために,和文文字の範囲を\verb+\ltjsetparameter+で編集した場合,
+このため,トラブルを避けるために,和文文字の範囲を\cs{ltjsetparameter}で編集した場合,
その行はそこで改行するようにした方がいいだろう.
%</ja>
@@ -6073,19 +6176,19 @@ u
\begin{itemize}
\item JFMグルーの挿入は,和文文字を表すトークンを元に水平リストに(文字を表す)<char\_node>を
追加する過程で行われる.
-\item \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は,hboxへのパッケージングや行分割前に行われる.
-\item \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}はノードとしては挿入されない.パッケージングや行分割の計算時に
-「和文文字を表す2つの<char\_node>の間には\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}がある」ものとみなされる.
+\item \Param{xkanjiskip}の挿入は,hboxへのパッケージングや行分割前に行われる.
+\item \Param{kanjiskip}はノードとしては挿入されない.パッケージングや行分割の計算時に
+「和文文字を表す2つの<char\_node>の間には\Param{kanjiskip}がある」ものとみなされる.
\end{itemize}
しかし,\LuaTeX-jaでは,hboxへのパッケージングや行分割前に全ての
-\textbf{JAglue},即ちJFMグルー・\Param{\hyperlink{fld:xks}{xkanjiskip}}・\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の
+\textbf{JAglue},即ちJFMグルー・\Param{xkanjiskip}・\Param{kanjiskip}の
3種類を一度に挿入することになっている.これは,\LuaTeX において欧文の合字・
カーニング処理がノードベースになったことに対応する変更である.
\LuaTeX-jaにおける\textbf{JAglue}挿入処理では,次節で定義する
「クラスタ」を単位にして行われる.大雑把にいうと,「クラスタ」は文字とそれに付随す
るノード達(アクセント位置補正用のカーンや,イタリック補正)をまとめたもの
-であり,2つのクラスタの間には,ペナルティ,\verb+\vadjust+,whatsitなど,行組版
+であり,2つのクラスタの間には,ペナルティ,\cs{vadjust},whatsitなど,行組版
には関係しないものがある.
@@ -6106,12 +6209,12 @@ with the \textit{id} of it:
%<*en>
\item Nodes whose value of\ \verb+\ltj@icflag+ is in $[3,15)$. These
nodes come from a hbox which is already packaged, by unpackaging
- (\verb+\unhbox+).
+ (\cs{unhbox}).
The \textit{id} is \textit{id\_pbox}.
%</en>
%<*ja>
\item その \verb+\ltj@icflag+ の値が$[3,15)$に入るノードのリスト.
- これらのノードはある既にパッケージングされたhboxから \verb+\unhbox+ で
+ これらのノードはある既にパッケージングされたhboxから \cs{unhbox} で
アンパックされたものである.
その\textit{id}は\textit{id\_pbox}である.
%</ja>
@@ -6140,10 +6243,10 @@ with the \textit{id} of it:
%</ja>
%<*en>
-\item An accent attached to $p$ by \verb+\accent+.
+\item An accent attached to $p$ by \cs{accent}.
%</en>
%<*ja>
-\item \verb+\accent+ による$p$に付随したアクセント.
+\item \cs{accent} による$p$に付随したアクセント.
%</ja>
\end{enumerate}
\[
@@ -6171,13 +6274,13 @@ represents a Japanese character or not.
%</ja>
%<*en>
-\item An box-like node, that is, an hbox, a vbox, a rule (\verb+\vrule+) and an \textit{unset\_node}.
+\item An box-like node, that is, an hbox, a vbox, a rule (\cs{vrule}) and an \textit{unset\_node}.
The \textit{id} is \textit{id\_hlist} if the node is an
hbox which is not shifted vertically, or \textit{id\_box\_like}
otherwise.
%</en>
%<*ja>
-\item ボックス様のノード,つまり水平ボックス,垂直ボックス,罫線 (\verb+\vrule+),
+\item ボックス様のノード,つまり水平ボックス,垂直ボックス,罫線 (\cs{vrule}),
そして\textit{unset\_node}.
その\textit{id}は垂直に移動していないhboxならば\textit{id\_hlist},
そうでなければ\textit{id\_box\_like}となる.
@@ -6271,7 +6374,7 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$の算出は,
\textit{id}が\textit{id\_pbox}であって$\mathit{Np}.\mathit{head}$が\textbf{JAchar}であるとき.
\item[和文B] リスト中のhboxの中身の先頭として出現した和文文字.和文Aとの違いは,これの前に
-JFMグルーの挿入が行われない(\Param{\hyperlink{fld:xks}{xkanjiskip}},~\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}は入り得る)ことである.\\
+JFMグルーの挿入が行われない(\Param{xkanjiskip},~\Param{kanjiskip}は入り得る)ことである.\\
\textit{id}が\textit{id\_hlist}か\textit{id\_disc}であって$\mathit{Np}.\mathit{head}$が\textbf{JAchar}であるとき.
\item[欧文] リスト中に直接/hboxの中身として出現している欧文文字.次の3つの場合が該当:
@@ -6293,21 +6396,21 @@ JFMグルーの挿入が行われない(\Param{\hyperlink{fld:xks}{xkanjiskip}
まず,段落/hboxの一番最初にあるクラスタ\textit{Np}を探索する.
hboxの場合は何の問題もないが,段落の場合では以下のノード達を事前に読み飛ばしておく:
\begin{itemize}
-\item \verb+\parindent+ 由来のhbox($\mathit{subtype}=3$)
+\item \cs{parindent} 由来のhbox($\mathit{subtype}=3$)
\item \textit{subtype}が44~(\textit{user\_defined})でないようなwhatsit
\end{itemize}
-これは,\verb+\parindent+由来のhboxがクラスタを構成しないようにするためである.
+これは,\cs{parindent}由来のhboxがクラスタを構成しないようにするためである.
次に,\textit{Np}の直前に空白$g$を必要なら挿入する:
\begin{enumerate}
\item この処理が働くような\textit{Np}は\textsf{和文A}である.
-\item 問題のリストが字下げありの段落(\verb+\parindent+ 由来のhboxあり)の場合は,
+\item 問題のリストが字下げありの段落(\cs{parindent} 由来のhboxあり)の場合は,
この空白$g$は「文字コード \texttt{'parbdd'} の文字」と\textit{Np}の間に入るグルー/カーンである.
\item そうでないとき(\verb+noindent+ で開始された段落やhbox)は,
$g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に入るグルー/カーンである.
\end{enumerate}
ただし,もし$g$がglueであった場合,この挿入によって\textit{Np}による行分割が新たに可能になるべきではない.
-そこで,以下の場合には,$g$の直前に \verb+\penalty10000+ を挿入する:
+そこで,以下の場合には,$g$の直前に \cs{penalty10000} を挿入する:
\begin{itemize}
\item 問題にしているリストが段落であり,かつ
\item \textit{Np}の前には予めペナルティがなく,$g$はglue.
@@ -6315,13 +6418,13 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
\paragraph{末尾の処理}
末尾の処理は,問題のリストが段落のものかhboxのものかによって異なる.
-後者の場合は容易い:最後のクラスタを\textit{Nq}とおくと,\textit{Nq}と「文字コード\
+後者の場合は容易い:最後のクラスタを\textit{Nq}とおくと,\textit{Nq}と「文字コード\
\texttt{'boxbdd'} の文字」の間に入るグルー/カーンを,
\textit{Nq}の直後に挿入するのみである.
-一方.前者(段落)の場合は,リストの末尾は常に \verb+\penalty10000+ と,
-\verb+\parfillskip+ 由来のグルーが存在する.%よって,最後のクラスタ\textit{Np}は
-%この \verb+\parfillskip+ 由来のグルーとなり,実質的な中身の最後はその1つ前のクラスタ\textit{Nq}となる.
+一方.前者(段落)の場合は,リストの末尾は常に \cs{penalty10000} と,
+\cs{parfillskip} 由来のグルーが存在する.%よって,最後のクラスタ\textit{Np}は
+%この \cs{parfillskip} 由来のグルーとなり,実質的な中身の最後はその1つ前のクラスタ\textit{Nq}となる.
段落の最後の「通常の和文文字${}+{}$句点」が独立した行となるのを防ぐために,
\Param{jcharwidowpenalty}の値の分だけ適切な場所のペナルティを増やす.
@@ -6335,7 +6438,7 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
\subsection{概観と典型例:2つの「和文A」の場合}
\label{ssec-cluster-wa}
先に述べたように,2つの隣り合ったクラスタ,\textit{Nq}と\textit{Np}の間には,
-ペナルティ,\verb+\vadjust+,whatsitなど,行組版には関係しないものがある.模式的に表すと,
+ペナルティ,\cs{vadjust},whatsitなど,行組版には関係しないものがある.模式的に表すと,
\[
\Node{cluster}{\textit{Nq}}\longrightarrow
\overbrace{
@@ -6347,8 +6450,8 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
\[
\Node{cluster}{\textit{Nq}}\longrightarrow%\Node{kern}{左空白}\longrightarrow
\overbrace{
-\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow
-\Node{whatsit}{}}^{\textrm{(a)}}\longrightarrow
+\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow
+\Node{whatsit}{}}^{\textrm{(a)}}\longrightarrow
\Node{glue or kern}{\raisebox{-.2\zw}{右空白}}\longrightarrow
\Node{cluster}{\textit{Np}}
\]
@@ -6360,10 +6463,10 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
まず,「右空白」にあたる量を算出する.通常はこれが,隣り合った2つの和文文字間に入る空白量となる.
\begin{description}
\item[JFM由来{[M]}] JFMの文字クラス指定によって入る空白を以下によって求める.この段階で空白量が未定義(未指定)だった場合,
- デフォルト値\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}を採用することとなるので,次へ.
+ デフォルト値\Param{kanjiskip}を採用することとなるので,次へ.
\begin{enumerate}
-\item もし両クラスタの間で \verb+\inhibitglue+ が実行されていた場合(証としてwhatsitノードが自動挿入される),
- 代わりに\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}が挿入されることとなる.次へ.
+\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合(証としてwhatsitノードが自動挿入される),
+ 代わりに\Param{kanjiskip}が挿入されることとなる.次へ.
\item \textit{Nq}と\textit{Np}が同じJFM・同じ\texttt{jfmvar}キー・同じサイズの和文フォントであったならば,
共通に使っているJFM内で挿入される空白(グルーかカーン)が決まっているか調べ,決まっていればそれを採用.
\item 1.でも2.でもない場合は,JFM・\texttt{jfmvar}・サイズの3つ組は\textit{Nq}と\textit{Np}で異なる.
@@ -6380,12 +6483,12 @@ ga&(\inhibitglue 「使用フォントが\textit{Np}のそれと同じで,\hfi
$\mathit{gb}$,~$\mathit{ga}$それぞれに対する<ratio>の値を$d_b$,~$d_a$とする.
\begin{itemize}
-\item
+\item
$\mathit{ga}$と$\mathit{gb}$の両方が未定義であるならば,JFM由来のグルーは挿入されず,
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}を採用することとなる.
+\Param{kanjiskip}を採用することとなる.
どちらか片方のみが未定義であるならば,次のステップでその未定義の方は長さ0のkernで,<ratio>の値は0であるかのように扱われる.
-\item
-\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}の値が \texttt{pleft}, \texttt{pright},
+\item
+\Param{diffrentjfm}の値が \texttt{pleft}, \texttt{pright},
\texttt{paverage} のとき,
<ratio>の指定に従って比例配分を行う.
JFM由来のグルー/カーンは以下の値となる:
@@ -6396,12 +6499,12 @@ JFM由来のグルー/カーンは以下の値となる:
ここで.$f(x,y)$は
\[
f(x,y)=\begin{cases}
-x&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{pleft};\\
-y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{pright};\\
-(x+y)/2&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{paverage};
+x&\text{if\ }\Param{diffrentjfm}=\texttt{pleft};\\
+y&\text{if\ }\Param{diffrentjfm}=\texttt{pright};\\
+(x+y)/2&\text{if\ }\Param{diffrentjfm}=\texttt{paverage};
\end{cases}.
\]
-\item
+\item
\Param{differentjfm}がそれ以外の値の時は,<ratio>の値は無視され,JFM由来のグルー/カーンは以下の値となる:
\[
f(\textit{gb},\textit{ga})
@@ -6409,10 +6512,10 @@ y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{pright};\\
ここで.$f(x,y)$は
\[
f(x,y)=\begin{cases}
-\min(x,y)&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{small};\\
-\max(x,y)&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{large};\\
-(x+y)/2&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{average};\\
-x+y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{both};
+\min(x,y)&\text{if\ }\Param{diffrentjfm}=\texttt{small};\\
+\max(x,y)&\text{if\ }\Param{diffrentjfm}=\texttt{large};\\
+(x+y)/2&\text{if\ }\Param{diffrentjfm}=\texttt{average};\\
+x+y&\text{if\ }\Param{diffrentjfm}=\texttt{both};
\end{cases}.
\]
\end{itemize}
@@ -6426,23 +6529,23 @@ x+y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{both};
\end{verbatim}
という3フォントを考え,
\[
- \overbrace{\Node{glyph}{{\tt\textbackslash foo}, `あ'}}^{p}
-\longrightarrow \overbrace{\Node{glyph}{{\tt\textbackslash bar}, `い'}}^{q}
-\longrightarrow \overbrace{\Node{glyph}{{\tt\textbackslash baz}, `う'}}^{r}
+ \overbrace{\Node{glyph}{\cs{ foo}, `あ'}}^{p}
+\longrightarrow \overbrace{\Node{glyph}{\cs{bar}, `い'}}^{q}
+\longrightarrow \overbrace{\Node{glyph}{\cs{baz}, `う'}}^{r}
\]
という3ノードを考える(それぞれ単独でクラスタをなす).
この場合,$p$と$q$の間は,実フォントが異なるにもかかわらず2.の状況となる一方で,
$q$と$r$の間は(実フォントが同じなのに)\texttt{jfmvar} キーの内容が異なるので3.の状況となる.
\item[\Param{kanjiskip}~{[K]}] 上の[M]において空白が定まらなかった場合,
以下で定めた量「右空白」として採用する.
-この段階においては,\verb+\inhibitglue+ は効力を持たないため,
+この段階においては,\cs{inhibitglue} は効力を持たないため,
結果として,2つの和文文字間には常に何らかのグルー/カーンが挿入されることとなる.
\begin{enumerate}
\item 両クラスタ(厳密には$\mathit{Nq}.\mathit{tail}$,$\mathit{Np}.\mathit{head}$)の中身の文字コードに対する
\Param{autospacing}パラメタが両方ともfalseだった場合は,長さ0のglueとする.
-\item ユーザ側から見た\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}パラメタの自然長が${\tt \textbackslash maxdimen}=(2^{30}-1)\,{\rm sp}$で
-なければ,\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}パラメタの値を持つglueを採用する.
-\item 2.でない場合は,\textit{Nq}, \textit{Np}で使われているJFMに指定されている\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の値を用いる.
+\item ユーザ側から見た\Param{kanjiskip}パラメタの自然長が$\cs{maxdimen}=(2^{30}-1)\,{\rm sp}$で
+なければ,\Param{kanjiskip}パラメタの値を持つglueを採用する.
+\item 2.でない場合は,\textit{Nq}, \textit{Np}で使われているJFMに指定されている\Param{kanjiskip}の値を用いる.
どちらか片方のクラスタだけが和文文字(\textsf{和文A}・\textsf{和文B})のときは,そちらのクラスタで使われている
JFM由来の値だけを用いる.もし両者で使われているJFMが異なった場合は,上の[M]~3.と同様の方法を用いて調整する.
\end{enumerate}
@@ -6454,8 +6557,8 @@ JFM由来の値だけを用いる.もし両者で使われているJFMが異
\paragraph{禁則用ペナルティの挿入}
まず,
\[
- a:=(\text{\textit{Nq}{\footnotemark}の文字に対する\Param{\hyperlink{fld:postbp}{postbreakpenalty}}の値})
-+(\text{\textit{Np}{\footnotemark}の文字に対する\Param{\hyperlink{fld:prebp}{prebreakpenalty}}の値})
+ a:=(\text{\textit{Nq}{\footnotemark}の文字に対する\Param{postbreakpenalty}の値})
++(\text{\textit{Np}{\footnotemark}の文字に対する\Param{prebreakpenalty}の値})
\]
とおく\footnotetext{厳密にはそれぞれ$\mathit{Nq}.\mathit{tail}$,$\mathit{Np}.\mathit{head}$.}.
ペナルティは通常$[-10000,10000]$の整数値をとり,また$\pm 10000$は正負の無限大を意味することになっているが,この$a$の
@@ -6534,7 +6637,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
%</ja>
% %<*en>
-% \item The ``left space'' between \textit{Nq}~and~\textit{Np} is
+% \item The ``left space'' between \textit{Nq}~and~\textit{Np} is
% determined by the method ``\textsf{line-end~[E]}''.
% %</en>
% %<*ja>
@@ -6543,7 +6646,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
% %</ja>
%<*en>
-\item \LuaTeX-ja adopts the method ``\textsf{P-normal~[PN]}'' to adjust the penalty
+\item \LuaTeX-ja adopts the method ``\textsf{P-normal~[PN]}'' to adjust the penalty
between two clusters for \emph{kinsoku shori}.
%</en>
%<*ja>
@@ -6560,7 +6663,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\textit{Nq}が\textsf{和文A}で,\textit{Np}が\textsf{欧文}の場合,JFMグルー挿入処理は次のようにして行われる.
\begin{itemize}
\item 「右空白」については,まず以下に述べる\textsf{Boundary-B~[\OB]}により空白を決定しようと試みる.
-それが失敗した場合は,\textsf{\Param{\hyperlink{fld:xks}{xkanjiskip}}~[X]}によって定める.
+それが失敗した場合は,\textsf{\Param{xkanjiskip}~[X]}によって定める.
%\item 「左空白」については,既に述べた\textsf{line-end~[E]}をそのまま採用する.それに伴う「右空白」の補正も%同じ.
\item 禁則用ペナルティも,以前述べた\textsf{P-normal~[PN]}と同じである.
\end{itemize}
@@ -6570,7 +6673,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\textsf{JFM-origin~[M]}の変種と考えて良い.
これによって定まる空白の典型例は,和文の閉じ括弧と欧文文字の間に入る半角アキである.
\begin{enumerate}
-\item もし両クラスタの間で \verb+\inhibitglue+ が実行されていた場合%
+\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合%
(証としてwhatsitノードが自動挿入される),「右空白」は未定義.
\item そうでなければ,
\textit{Nq}と「文字コードが {\tt'jcharbdd'} の文字」との間に入るグルー/カーンとして定まる.
@@ -6578,20 +6681,20 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\item[\Param{xkanjiskip}~{[X]}]
この段階では,\textsf{\Param{kanjiskip}~[K]}のときと同じように,
以下で定めた量を「右空白」として採用する.
-\verb+\inhibitglue+ は効力を持たない.
+\cs{inhibitglue} は効力を持たない.
\begin{enumerate}
-\item 以下のいずれかの場合は,\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は抑止される.しかし,実際には行分割を許容するために,長さ0のglueを採用する:
+\item 以下のいずれかの場合は,\Param{xkanjiskip}の挿入は抑止される.しかし,実際には行分割を許容するために,長さ0のglueを採用する:
\begin{itemize}
\item 両クラスタにおいて,それらの中身の文字コードに対する\Param{autoxspacing}パラメタが共にfalseである.
-\item \textit{Nq}の中身の文字コードについて,「直後への\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入」が禁止されている
+\item \textit{Nq}の中身の文字コードについて,「直後への\Param{xkanjiskip}の挿入」が禁止されている
(つまり,\Param{jaxspmode}~(or \Param{alxspmode})パラメタが2以上).
-\item \textit{Np}の中身の文字コードについて,「直前への\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入」が禁止されている
+\item \textit{Np}の中身の文字コードについて,「直前への\Param{xkanjiskip}の挿入」が禁止されている
(つまり,\Param{jaxspmode}~(or \Param{alxspmode})パラメタが偶数).
\end{itemize}
-\item ユーザ側から見た\Param{\hyperlink{fld:xks}{xkanjiskip}}パラメタの自然長が${\tt \textbackslash maxdimen}=(2^{30}-1)\,{\rm sp}$で
-なければ,\Param{\hyperlink{fld:xks}{xkanjiskip}}パラメタの値を持つglueを採用する.
+\item ユーザ側から見た\Param{xkanjiskip}パラメタの自然長が$\cs{maxdimen}=(2^{30}-1)\,{\rm sp}$で
+なければ,\Param{xkanjiskip}パラメタの値を持つglueを採用する.
\item 2.でない場合は,\textit{Nq}, \textit{Np}(\textsf{和文A}/\textsf{和文B}なのは片方だけ)
-で使われているJFMに指定されている\Param{\hyperlink{fld:xks}{xkanjiskip}}の値を用いる.
+で使われているJFMに指定されている\Param{xkanjiskip}の値を用いる.
\end{enumerate}
\end{description}
@@ -6600,7 +6703,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\textsf{和文A}のクラスタが逆になるので,\textsf{Boundary-A~[\OA]}の部分が変わるだけ.
\begin{itemize}
\item 「右空白」については,まず以下に述べる\textsf{Boundary-A~[\OA]}により空白を決定しようと試みる.
-それが失敗した場合は,\textsf{\Param{\hyperlink{fld:xks}{xkanjiskip}}~[X]}によって定める.
+それが失敗した場合は,\textsf{\Param{xkanjiskip}~[X]}によって定める.
%\item \textit{Nq}が和文でないので,「左空白」は算出されない.
\item 禁則用ペナルティは,以前述べた\textsf{P-normal~[PN]}と同じである.
\end{itemize}
@@ -6610,7 +6713,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\textsf{JFM-origin~[M]}の変種と考えて良い.
これによって定まる空白の典型例は,欧文文字と和文の開き括弧との間に入る半角アキである.
\begin{enumerate}
-\item もし両クラスタの間で \verb+\inhibitglue+ が実行されていた場合(証としてwhatsitノードが自動挿入される),次へ.
+\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合(証としてwhatsitノードが自動挿入される),次へ.
\item そうでなければ,
「文字コードが {\tt'jcharbdd'} の文字」と\textit{Np}との間に入るグルー/カーンとして定まる.
\end{enumerate}
@@ -6627,13 +6730,13 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
%\item 「左空白」については,既に述べた\textsf{line-end~[E]}の算出方法をそのまま採用する.それに伴う「右空白」の補正も同じ.
\item 禁則用ペナルティの処理は,後ろのクラスタ\textit{Np}の種類によって異なる.
なお,$\mathit{Np}.\mathit{head}$は無意味であるから,
-「$\mathit{Np}.\mathit{head}$に対する\Param{\hyperlink{fld:prebp}{prebreakpenalty}}の値」は0とみなされる.言い換えれば,
+「$\mathit{Np}.\mathit{head}$に対する\Param{prebreakpenalty}の値」は0とみなされる.言い換えれば,
\[
- a:=(\text{\textit{Nq}の文字に対する\Param{\hyperlink{fld:postbp}{postbreakpenalty}}の値}).
+ a:=(\text{\textit{Nq}の文字に対する\Param{postbreakpenalty}の値}).
\]
\begin{description}
\item[箱] \textit{Np}が\textsf{箱}であった場合は,両クラスタの間での行分割は
-(明示的に両クラスタの間に \verb+\penalty10000+ があった場合を除き)いつも許容される.そのため,
+(明示的に両クラスタの間に \cs{penalty10000} があった場合を除き)いつも許容される.そのため,
ペナルティ処理は,後に述べる\textsf{P-allow~[PA]}が\textsf{P-normal~[PN]}の代わりに用いられる.
\item[グルー] \textit{Np}がグルーの場合,ペナルティ処理は\textsf{P-normal~[PN]}を用いる.
\item[カーン] \textit{Np}がカーンであった場合は,両クラスタの間での行分割は
@@ -6651,11 +6754,11 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
(a)部分にペナルティが存在していない場合,
\LuaTeX-ja は\textit{Nq}と\textit{Np}の間の行分割を可能にしようとする.
-そのために,以下の場合に$a$をもつ\textit{penalty\_node}を作って
+そのために,以下のいずれかの場合に$a$をもつ\textit{penalty\_node}を作って
「右空白」の(もし未定義なら\textit{Np}の)直前に挿入する:
\begin{itemize}
\item 「右空白」がグルーでない(カーンか未定義)であるとき.
-%\item 「左空白」がカーンとしてきっちり定義されている時.
+\item $a\neq 0$のときは,「右空白」がグルーであっても\textit{penalty\_node}を作る.
\end{itemize}
\item[P-suppress~{[PS]}]
@@ -6665,7 +6768,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
(a)部分にペナルティが存在していない場合,
\textit{Nq}と\textit{Np}の間の行分割は元々不可能のはずだったのであるが,
\LuaTeX-ja はそれをわざわざ行分割可能にはしない.
-そのため,「右空白」がglueであれば,その直前に \verb+\penalty10000+ を挿入する.
+そのため,「右空白」がglueであれば,その直前に \cs{penalty10000} を挿入する.
\end{description}
なお,「右空白」はカーンの%,「左空白」は未定義の
@@ -6673,7 +6776,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
\]
のような状況を考える.
-このとき,$a$,即ち「あ」の\Param{\hyperlink{fld:postbp}{postbreakpenalty}}がいかなる値であっても,
+このとき,$a$,即ち「あ」の\Param{postbreakpenalty}がいかなる値であっても,
この2クラスタ間は最終的に
\begin{equation}
\overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow
@@ -6681,7 +6784,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\label{eq-gref}
\end{equation}
となり,$a$分のペナルティは挿入されないことに注意して欲しい.
-\Param{\hyperlink{fld:postbp}{postbreakpenalty}}は($a$は)殆どの場合が非負の値と考えられ,そのような場合では
+\Param{postbreakpenalty}は($a$は)殆どの場合が非負の値と考えられ,そのような場合では
\eqref{eq-gref}と
\[
\overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow
@@ -6703,7 +6806,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\item 禁則用ペナルティの処理は,\textit{Nq}の種類によって異なる.
$\mathit{Nq}.\mathit{tail}$は無意味なので,
\[
- a:=(\text{\textit{Np}の文字に対する\Param{\hyperlink{fld:prebp}{prebreakpenalty}}の値}).
+ a:=(\text{\textit{Np}の文字に対する\Param{prebreakpenalty}の値}).
\]
\begin{description}
\item[箱] \textit{Nq}が\textsf{箱}の場合は,\textsf{P-allow~[PA]}を用いる.
@@ -6729,7 +6832,7 @@ $\mathit{Nq}.\mathit{tail}$は無意味なので,
\item \textsf{和文B}と箱・グルー・カーンが隣接したとき(どちらが前かは関係ない),間にJFMグルー・ペナルティの挿入は一切しない.
\item \textsf{和文B}と\textsf{和文B},また\textsf{和文B}と\textsf{欧文}とが隣接した時は,禁則用ペナルティ挿入処理は
\textsf{P-suppress~[PS]}が用いられる.
-\item \textsf{和文B}の文字に対する\Param{\hyperlink{fld:prebp}{prebreakpenalty}},~\Param{\hyperlink{fld:postbp}{postbreakpenalty}}の値は使われず,0として計算される.
+\item \textsf{和文B}の文字に対する\Param{prebreakpenalty},~\Param{postbreakpenalty}の値は使われず,0として計算される.
\end{itemize}
@@ -6740,10 +6843,10 @@ $\mathit{Nq}.\mathit{tail}$は無意味なので,
あ.A
\end{LTXexample}
\begin{itemize}
-\item 1行目の\verb+\inhibitglue+は\textsf{Boundary-B~[\OB]}の処理のみを抑止するので,ピリオドと「A」の間には
-\Param{\hyperlink{fld:xks}{xkanjiskip}}(四分アキ)が入ることに注意.
+\item 1行目の\cs{inhibitglue}は\textsf{Boundary-B~[\OB]}の処理のみを抑止するので,ピリオドと「A」の間には
+\Param{xkanjiskip}(四分アキ)が入ることに注意.
\item 2行目のピリオドと「A」の間においては,前者が\textsf{和文B}となる(hboxの中身の末尾として登場しているから)ので,
-そもそも\textsf{Boundary-B~[\OB]}の処理は行われない.よって,\Param{\hyperlink{fld:xks}{xkanjiskip}}が入ることとなる.
+そもそも\textsf{Boundary-B~[\OB]}の処理は行われない.よって,\Param{xkanjiskip}が入ることとなる.
\item 3行目では,ピリオドの属するクラスタは\textsf{和文A}である.これによって,
ピリオドと「A」の間には\textsf{Boundary-B~[\OB]}由来の半角アキが入ることになる.
\end{itemize}
@@ -6823,13 +6926,13 @@ Consider the following input:
%<en>The line~2 is transformed by the callback to
%<ja>ここで,2行目は \verb+process_input_buffer+ の作用により,
\begin{lstlisting}[showspaces, escapechar=\!]
-#\!\IVSA FFFFF!ほ!\IVSA FFFFF !げ x!\IVSA FFFFF !ぴ!\IVSA FFFFF !よ#
+#\!\IVSA FFFFF!ほ!\IVSA FFFFF!げ x!\IVSA FFFFF!ぴ!\IVSA FFFFF!よ#
\end{lstlisting}
%<*en>
before the line is actually processed.
-In the escape (between the character ``\verb+#+''),
+In the escape (between the character ``\verb+#+''),
the category code of \texttt{U+FFFFF} is set to 9~(\emph{ignored}).
-Hence the control symbol ``\verb+\+\IVSA FFFFF'' will be executed,
+Hence the control symbol ``\cs{}\IVSA FFFFF'' will be executed,
instead of ``\verb+\ほげ+''.
%</en>
%<*ja>
@@ -6837,14 +6940,14 @@ instead of ``\verb+\ほげ+''.
「\verb+#+」で挟まれた「\LaTeX へのエスケープ」中では\
\texttt{U+FFFFF} のカテゴリーコードは9~(\textit{ignored})となるので,
結局「\verb+\ほげ+」の代わりに
-「\verb+\+\IVSA FFFFF」というcontrol symbolが実行されることになる.
+「\cs{}\IVSA FFFFF」というcontrol symbolが実行されることになる.
%</ja>
%<*ja>
\paragraph{異体字セレクタの扱い}
\texttt{lstlisting} 環境などの内部にある異体字セレクタを扱うため,
\Pkg{lltjp-listings} では \texttt{vsraw} と \texttt{vscmd} という2つのキーを追加した.
-しかし,\Pkg{lltjp-listings} が実際にロードされるのは \verb+\begin{document}+\
+しかし,\Pkg{lltjp-listings} が実際に読み込まれるのは \verb+\begin{document}+\
のところであるので,プリアンブル内ではこれらの追加キーは使用できない.
\texttt{vsraw}は,ブール値の値をとるキーであり,標準ではfalseである.
@@ -6861,7 +6964,7 @@ instead of ``\verb+\ほげ+''.
どのような形で出力されるかを規定するのが \texttt{vscmd} キーであり,
\Pkg{lltjp-listings} の標準設定では以下の例の右側のように出力される.
\begin{LTXexample}
-\begin{lstlisting}[vsraw=false,
+\begin{lstlisting}[vsraw=false,
vscmd=\ltjlistingsvsstdcmd]
葛󠄀城市,葛󠄁飾区,葛西
\end{lstlisting}
@@ -6880,7 +6983,7 @@ instead of ``\verb+\ほげ+''.
\lstset{vscmd=\IVSB}
\end{lstlisting}
\end{itemize}
-既定の出力命令を復活させたい場合は\ \verb+vsraw=\ltjlistingsvsstdcmd+\
+既定の出力命令を復活させたい場合は\ \verb+vsraw=\ltjlistingsvsstdcmd+\
とすれば良い.
%</ja>
@@ -6914,7 +7017,7 @@ for the name of identifiers or not.
%<*en>
For Japanese characters, line breaks are permitted on both sides
except for brackets, dashes, etc.
-Hence the patch \Pkg{lltjp-listings} introduces
+Hence the patch \Pkg{lltjp-listings} introduces
a new flag \verb+\lst@ifkanji+, which indicates
whether the previous character is a Japanese character or not.
For illustration, we introduce following classes of characters:
@@ -7004,8 +7107,8 @@ Prev&Kanji&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
%<ja>\item 「収集」は,後側の文字を,現在収集された文字列に追加(行分割不可)を意味する.
\end{itemize}
-%<*en>
-Charatcers above \texttt{U+0080} \emph{except Variation Selectors}
+%<*en>
+Characters above \texttt{U+0080} \emph{except Variation Selectors}
are classified into above 5~classes by the following rules:
%</en>
%<*ja>
@@ -7019,11 +7122,11 @@ Letter, Other, Kanji, Open, Closeのどれに属するかは次によって決
%<en>\item \textbf{JAchar}s are classified in the order as follows:
%<ja>\item \textbf{JAchar}については,以下の順序に従って文字種を決める:
\begin{enumerate}
-%<en>\item Characters whose \Param{\hyperlink{fld:prebp}{prebreakpenalty}} is greater than or equal to 0 are classified as Open.
-%<ja>\item \Param{\hyperlink{fld:prebp}{prebreakpenalty}}が0以上の文字はOpen扱いである.
+%<en>\item Characters whose \Param{prebreakpenalty} is greater than or equal to 0 are classified as Open.
+%<ja>\item \Param{prebreakpenalty}が0以上の文字はOpen扱いである.
-%<en>\item Characters whose \Param{\hyperlink{fld:postbp}{postbreakpenalty}} is greater than or equal to 0 are classified as Close.
-%<ja>\item \Param{\hyperlink{fld:postbp}{postbreakpenalty}}が0以上の文字はClose扱いである.
+%<en>\item Characters whose \Param{postbreakpenalty} is greater than or equal to 0 are classified as Close.
+%<ja>\item \Param{postbreakpenalty}が0以上の文字はClose扱いである.
%<en>\item Characters that don't satisfy the above two conditions are classified as Kanji.
%<ja>\item 上の3条件のどちらにも当てはまらなかった文字は,Kanji扱いである.
@@ -7031,7 +7134,7 @@ Letter, Other, Kanji, Open, Closeのどれに属するかは次によって決
\end{itemize}
%<*en>
-The width of halfwidth kana (\texttt{U+FF61}--\texttt{U+FF9F})
+The width of halfwidth kana (\texttt{U+FF61}--\texttt{U+FF9F})
is same as the width of \textbf{ALchar};
the width of the other \textbf{JAchar}s is double the width of \textbf{ALchar}.
%</en>
@@ -7055,8 +7158,8 @@ the \texttt{lstlisting} environment or other environments/commands.
べる.大まかに述べると,次のようになる.
\begin{itemize}
\item 通常の\TeX の行分割方法に従って,段落を行分割する.この段階では,行
- 長に半端が出た場合,その半端分は\textbf{JAglue}(\Param{\hyperlink{fld:xks}{xkanjiskip}},
- \Param{\hyperlink{fld:kanjiskip}{kanjiskip}},JFMグルー)と
+ 長に半端が出た場合,その半端分は\textbf{JAglue}(\Param{xkanjiskip},
+ \Param{kanjiskip},JFMグルー)と
それ以外のグルーの全てで(優先順位なく)負担される.
\item その後,\texttt{post\_linebreak\_filter} callbackを使い,\emph{段
落中の各行ごとに},行末文字の位置を調整したり,優先度付きの行長調整
@@ -7087,8 +7190,8 @@ the \texttt{lstlisting} environment or other environments/commands.
\ref{ssec-jfm-str}節にあるように,
各JFMグルーには$-2$から2までの優先度がついている.}%
別にまとめられる)
-\item 和欧文間空白(\Param{\hyperlink{fld:xks}{xkanjiskip}})
-\item 和文間空白(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})
+\item 和欧文間空白(\Param{xkanjiskip})
+\item 和文間空白(\Param{kanjiskip})
\end{itemize}
の$1+1+5+1=8$つに類別し,それぞれの種別ごとに
許容されている伸び量(\texttt{stretch}の値)の合計を計算する.
@@ -7109,7 +7212,7 @@ JFM中にある文字クラス$n$の定義の
[2] = {
chars = { '。', ... }, width = 0.5, ...,
end_stretch = 0.5, end_shrink = 0.5,
- },
+ },
\end{verbatim}
という指定があった場合,この行末の句点は
\begin{itemize}
@@ -7127,7 +7230,7 @@ JFM中にある文字クラス$n$の定義の
\subsection{グルーの調整}
\textit{total}の分だけが,行中のグルーの伸び量に応じて負担されることになる.
負担するグルーの優先度は以下の順であり,
-できるだけ\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}を自然長のままにすることを
+できるだけ\Param{kanjiskip}を自然長のままにすることを
試みている.
\begin{enumerate}\def\labelenumi{(\Alph{enumi})}
\item \textbf{JAglue}以外のグルー
@@ -7136,8 +7239,8 @@ JFM中にある文字クラス$n$の定義の
\item 優先度0のJFMグルー
\item 優先度$-1$のJFMグルー
\item 優先度$-2$のJFMグルー
- \item \Param{\hyperlink{fld:xks}{xkanjiskip}}
- \item \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}
+ \item \Param{xkanjiskip}
+ \item \Param{kanjiskip}
\end{enumerate}
\begin{enumerate}
\item 行末の和文文字を移動したことで$\textit{total}=0$となれば,
@@ -7192,18 +7295,18 @@ JFM中にある文字クラス$n$の定義の
しかし,単に$p.\textit{char}$を変更するだけでは,後から
font featureの適用(すぐ下)により置換される可能性がある.そのため,
-\verb+\CID+ や \verb+\UTF+ と同じように,\textit{glyph\_node}~$p$の代わりに
+\cs{CID} や \cs{UTF} と同じように,\textit{glyph\_node}~$p$の代わりに
\texttt{user\_id} が\textit{char\_by\_cid}であるようなuser-defined whatsitを用いている.
\item[(\Pkg{luaotfload} によるfont featureの適用)]
\item[\tt ltj.otf] \texttt{user\_id} が\textit{char\_by\_cid}であるようなuser-defined whatsitを
-きちんと\textit{glyph\_node}に変換する.この処理は,\verb+\CID+, \verb+\UTF+やIVSによる置換が,
+きちんと\textit{glyph\_node}に変換する.この処理は,\cs{CID}, \cs{UTF}やIVSによる置換が,
font featureの適用で上書きされてしまうのを防止するためである.
\item[\tt ltj.main\_process] \textbf{JAglue}の挿入処理(\ref{sec-jfmglue}章)と,
JFMの指定に従って各\textbf{JAchar}の「寸法を補正」することを行う.
\end{description}
問題は各フォントの持っているIVS情報をどのように取得するか,である.
-\Pkg{luaotfload} はフォント番号<font\_number>の情報を\
+\Pkg{luaotfload} はフォント番号<font\_number>の情報を\
\texttt{fonts.hashes.identifiers[<font\_number>]} 以下に格納している.
しかし,OpenTypeフォントのIVS情報は格納されていないようである%
\footnote{TrueTypeフォントに関しては,
@@ -7219,7 +7322,7 @@ JFMの指定に従って各\textbf{JAchar}の「寸法を補正」すること
OpenTypeフォントでもTrueTypeフォントでもIVS情報が格納されている.
具体的には……
-そのため,\LuaTeX-jaのIVS対応においては,\LuaTeX 内部の\
+そのため,\LuaTeX-jaのIVS対応においては,\LuaTeX 内部の\
\texttt{fontloader} を直接用いることで,フォントのIVS情報を取得している.
20140114.0以降でキャッシュを用いるようにした要因はここにあり,
\texttt{fontloader} の呼び出しでかなり時間を消費することから,
@@ -7230,7 +7333,7 @@ IVS情報をキャッシュに保存することで2回目以降の実行時間
\section{複数フォントの「合成」(未完)}
\section{\LuaTeX-jaにおけるキャッシュ}
-\Pkg{luaotfload}パッケージが,各TrueType・]OpenTypeフォントの情報を
+\Pkg{luaotfload}パッケージが,各TrueType・OpenTypeフォントの情報を
キャッシュとして保存しているのと同様の方法で,
\LuaTeX-jaもいくつかのキャッシュファイルを作成するようになった.
\begin{itemize}
@@ -7253,7 +7356,7 @@ LuaJIT\TeX 用のは \texttt{.lub} と拡張子を変えることで対応して
%</ja>
%<*en>
\section{Cache Management of \LuaTeX-ja}
-\LuaTeX-ja creates some cache files to reduce the loading time.
+\LuaTeX-ja creates some cache files to reduce the loading time.
in a similar way to the \Pkg{luaotfload} package:
\begin{itemize}
\item Cache files are usually stored in (and loaded from)
@@ -7264,9 +7367,9 @@ caches of the \emph{binary}, precompiled form are supported.
\item We cannot share same binary cache for \LuaTeX\ and LuaJIT\TeX.
Hence we distinguish them by their extension, ``\texttt{.luc}'' for \LuaTeX\
and ``\texttt{.lub}'' for LuaJIT\TeX.
- \item In loading a cache, the binary cache precedes
+ \item In loading a cache, the binary cache precedes
the text form.
- \item When \LuaTeX-ja updates a cache \texttt{hoge.lua},
+ \item When \LuaTeX-ja updates a cache \texttt{hoge.lua},
its binary version is also updated.
\end{itemize}
\end{itemize}
@@ -7276,12 +7379,11 @@ its binary version is also updated.
\subsection{キャッシュの使用箇所}
\LuaTeX-ja では以下の3種類のキャッシュを使用している:
-\begin{list}{}%
-{\def\makelabel#1{\ttfamily#1}}
-\item[ltj-cid-auto-adobe-japan1.lua]
+\begin{cslist}
+\item[ltj-cid-auto-adobe-japan1.lua]
Ryumin-Lightのような非埋め込みフォントの情報を格納しており,
(それらが\LuaTeX-jaの標準和文フォントなので)\LuaTeX-jaの読み込み時に自動で読まれる.
-生成には\texttt{UniJIS2004-UTF32-H}, \texttt{Adobe-Japan1-UCS2}という2つの
+生成には\texttt{UniJIS2004-UTF32-\{H, V\}}, \texttt{Adobe-Japan1-UCS2}という3つの
CMapが必要である.
\pageref{para-cid}ページで述べたように,\texttt{cid}キーを使って
@@ -7295,22 +7397,21 @@ CMapが必要である.
\subsection{Use of Cache}
\LuaTeX-ja uses the following cache:
-\begin{list}{}%
-{\def\makelabel#1{\ttfamily#1}}
-\item[ltj-cid-auto-adobe-japan1.lua]
+\begin{cslist}
+\item[ltj-cid-auto-adobe-japan1.lua]
The font table of a CID-keyed non-embedded Japanese font.
This is loaded in every run.
It is created from two CMaps, \texttt{UniJIS2004-UTF32-H} and
- \texttt{Adobe-Japan1-UCS2},
+ \texttt{Adobe-Japan1-UCS2},
and this is why these two CMaps are needed in the first run of \LuaTeX-ja.
-Similar caches are created as Table~\ref{tab:cid-cache},
-if you specified \texttt{cid} key in \verb+\jfont+
+Similar caches are created as Table~\ref{tab:cid-cache},
+if you specified \texttt{cid} key in \cs{jfont}
to use other CID-keyed non-embedded fonts for Chinese or Korean,
as in Page~\pageref{para-cid}.
\item[ivs\_***.lua]
-This file stores the table of Unicode variants in a font ``\texttt{***}''.
+This file stores the table of Unicode variants in a font ``\texttt{***}''.
The structure of the table is the following:
%</en>
@@ -7357,28 +7458,27 @@ return {
%</ja>
%<*en>
\item[ltj-jisx0208.\{luc|lub\}]
-The binary version of \texttt{ltj-jisx0208.lua}.
+The binary version of \texttt{ltj-jisx0208.lua}.
This is the conversion table between JIS~X~0208 and Unicode
which is used in Kanji-code conversion commands for compatibility with \pTeX.
%</en>
-\end{list}
+\end{cslist}
%<*en>
\subsection{Internal}
Cache management system of \LuaTeX-ja is stored in \texttt{luatexja.base}
(\texttt{ltj-base.lua}).
-There are three public functions for cache management in \texttt{luatexja.base},
-where <filename> stands for the filename \emph{without suffix}:
-\begin{list}{}%
-{\def\makelabel#1{\ttfamily#1}}
+There are three public functions for cache management in \texttt{luatexja.base},
+where <filename> stands for the file name \emph{without suffix}:
+\begin{cslist}
\item[save\_cache(<filename>, <data>)]
Save a non-nil table <data> into a cache <filename>.
-Both the text form <filename>\texttt{.lua} and its binary version
+Both the text form <filename>\texttt{.lua} and its binary version
are created or updated.
-\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]\
+\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]
-Same as \texttt{save\_cache}, except that only the binary cache is updated.
+Same as \texttt{save\_cache}, except that only the binary cache is updated.
The third argument <serialized\_data> is not usually given.
But if this is given, it is treated as a string representation of <data>.
@@ -7387,29 +7487,28 @@ Load the cache <filename>.
<outdate> is a function which takes one argument (the contents of the cache),
and its return value is whether the cache is outdated.
-\texttt{load\_cache} first tries to
+\texttt{load\_cache} first tries to
read the binary cache <filename>\texttt{.\{luc|lub\}}.
If its contents is up-to-date, \texttt{load\_cache} returns the contents.
-If the binary cache is not found or
-its contents is outdated, \texttt{load\_cache} tries to
+If the binary cache is not found or
+its contents is outdated, \texttt{load\_cache} tries to
read the text form <filename>\texttt{.lua}.
Hence, the return value of \texttt{load\_cache} is non-nil,
if and only if the updated cache is found.
-\end{list}
+\end{cslist}
%</en>
%<*ja>
\subsection{内部命令}
\LuaTeX-jaにおけるキャッシュ管理は,\texttt{luatexja.base}~(\texttt{ltj-base.lua})に
実装しており,以下の3関数が公開されている.
ここで,<filename>は保存するキャッシュのファイル名を\emph{拡張子なしで}指定する.
-\begin{list}{}%
-{\def\makelabel#1{\ttfamily#1}}
+\begin{cslist}
\item[save\_cache(<filename>, <data>)]
nilでない<data>をキャッシュ<filename>に保存する.
テキスト形式の<filename>\texttt{.lua}のみならず,
そのバイナリ版も作成/更新される.
-\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]\
+\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]
\texttt{save\_cache}と同様だが,バイナリキャッシュのみが更新される.
第3引数<serialized\_data>が与えられた場合,それを
@@ -7429,7 +7528,7 @@ nilでない<data>をキャッシュ<filename>に保存する.
以上より,\texttt{load\_cache}自体がnilでない値を返すのは,ちょうど「新しい」キャッシュが
見つかった場合である.
-\end{list}
+\end{cslist}
%</ja>
\begin{thebibliography}{99}
@@ -7438,12 +7537,12 @@ nilでない<data>をキャッシュ<filename>に保存する.
Victor Eijkhout. \newblock \textit{\TeX\ by Topic, A \TeX nician's Reference}, Addison-Wesley, 1992.
\bibitem{listings} C.\ Heinz, B.\ Moses. \newblock The \textsf{Listings} Package.
\bibitem{uptex} Takuji Tanaka. \newblock
-upTeX---Unicode version of pTeX with CJK extensions,
+upTeX---Unicode version of pTeX with CJK extensions,
TUG 2013, October 2013.
%<ja>\newblock
%<en>\\\null\hfill
\url{http://tug.org/tug2013/slides/TUG2013_upTeX.pdf}
-\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.
+\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.
%<en>\newblock
%<ja>\\\null\hfill
\url{http://mytexpert.sourceforge.jp/index.php?Listings}
@@ -7451,10 +7550,14 @@ TUG 2013, October 2013.
Requirements for Japanese Text Layout (W3C Working Group Note), 2011, 2012. \newblock
\url{http://www.w3.org/TR/jlreq/}%
%<ja> \\日本語訳の書籍版:W3C日本語組版タスクフォース(編),『W3C技術ノート 日本語組版処理の要件』,東京電機大学出版局,2012.
-\bibitem{min10} 乙部厳己,min10フォントについて.\\\null\hfill
+\bibitem{min10} 乙部厳己.min10フォントについて.\\\null\hfill
\url{http://argent.shinshu-u.ac.jp/~otobe/tex/files/min10.pdf}
-\bibitem{x4051} 日本工業規格(Japanese Industrial Standard), JIS~X~4051,
+\bibitem{x4051} 日本工業規格(Japanese Industrial Standard). JIS~X~4051,
日本語文書の組版方法(Formatting rules for Japanese documents), 1993, 1995, 2004.
+\bibitem{ptexdoc} 濱野尚人,田村明史,倉沢良一.\TeX の出版への応用—縦組み機能の組み込み—.
+\\\null\hfill\texttt{.../texmf-dist/doc/ptex/base/ptexdoc.pdf}
+\bibitem{ptextug} Hisato Hamano. \newblock
+\textit{Vertical Typesetting with \TeX}, TUGBoat~\textbf{11}(3), 346--352, 1990.
\end{thebibliography}
\newpage