X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fluatexja.dtx;h=9a0084258eecd62d34cc042f6872faf99eac7b56;hb=e1343bf2291644df8cef878601833b4868a3fd4d;hp=eef7a5c425095672ec63ea0b7877ce9a38656642;hpb=41dc71148c7a06461a127919039e73adade893ce;p=luatex-ja%2Fluatexja.git diff --git a/doc/luatexja.dtx b/doc/luatexja.dtx index eef7a5c..9a00842 100644 --- a/doc/luatexja.dtx +++ b/doc/luatexja.dtx @@ -8,6 +8,7 @@ %%%%% section ==> 章 %%%%% subsection => 節 +\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{} %\documentclass[a4paper,titlepage]{article} %\documentclass[a4paper,titlepage]{ltjsarticle} @@ -16,8 +17,7 @@ \makeatletter %%%%%%%% \directlua{if jit then jit.on() end} - -\usepackage{amsmath,array,tikz,pict2e,multienum,float} +\usepackage{metalogo,amsmath,array,tikz,pict2e,multienum,float} \usepackage{booktabs,multicol,luatexja-ruby} \usepackage[all]{xy} \usepackage{lltjext,alltt} @@ -25,16 +25,19 @@ %%%%%%%% fonts \usepackage{luatexja-otf} \directlua{luatexja.otf.enable_ivs()} -\usepackage[match]{luatexja-fontspec} -\usepackage[kozuka-pr6n]{luatexja-preset} -\usepackage{unicode-math} +\usepackage[no-math]{fontspec} \setmainfont[Ligatures=TeX]{Linux Libertine O} \setmonofont[Scale=MatchLowercase, ItalicFont=lmmono10-italic.otf, BoldFont=lmmonolt10-bold.otf, BoldItalicFont=lmmonolt10-boldoblique.otf ]{lmmono10-regular.otf} +\setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Linux Biolinum O} +\usepackage[match]{luatexja-fontspec} +\usepackage[kozuka-pr6n]{luatexja-preset} +\usepackage{unicode-math} \setmonojfont{KozGoPr6N-Regular.otf} \setmathfont[Scale=MatchLowercase]{xits-math.otf} -\setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Linux Biolinum O} + +\setLaTeXa{\scshape a} %<*ja> \def\emph#1{\textbf{\textgt{#1}}} \def\headfont{\normalfont\bfseries\gtfamily}\normalsize @@ -137,10 +140,11 @@ \DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\pTeX} %%%%%%%% other macros -\newlist{cslist}{description}{1} +\newlist{cslist}{description}{2} \setlist[cslist]{% style=nextline,font=\mdseries\ttfamily, before*=\def\<{\char`\<}\def\>{\char`\>}\def\{{\char`\{}\def\}{\char`\}}, + topsep=\medskipamount, % leftmargin=2\zw, % leftmargin=2em, } @@ -172,9 +176,9 @@ width:\hfill\ #2\cr height:\hfill\ #3\cr depth:\hfill\ #4\cr }}}}}\,} -\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 +\protected\def\Param#1{\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}} % parameter name +\protected\def\DParam#1{\hypertarget{fld:#1}{\underline{\smash{\textsf{#1}}}}} % parameter name (definition) +\protected\def\Pkg#1{\textsf{#1}} % packages/classes \begin{document} @@ -271,7 +275,7 @@ scripts for appropriate callbacks. が始まったパッケージである. % -%\subsection{Major Changes from \pTeX} +%\subsection{Major changes from \pTeX} %\subsection{\pTeX からの主な変更点} \label{ssec:chgptex} @@ -449,13 +453,13 @@ Japanese characters in discretionary break (\cs{discretionary}) is not supported %<*en> \paragraph{Greek and Cyrillic letters, and ISO~8859-1 symbols} By default, \LuaTeX-ja uses Japanese fonts to typeset Greek and Cyrillic letters, - To change this behavior, + To change this behavior, put \verb!\ltjsetparameter{jacharrange={-2,-3}}! in the preamble. For the detailed description, see Subsection~\ref{ssec-setrange}. From this version, characters which belongs both ISO~8859-1 and JIS~X~0208, such as \P~and~\S, are now typeset in alphabetic fonts. This means that - without the \cs{fontspec} package, these characters are not typeset correctly. + without the \cs{fontspec} (and~\Pkg{luatexja-fontspec}) package, these characters are not typeset correctly. % %<*ja> \paragraph{ギリシャ文字・キリル文字とISO~8859-1の記号} @@ -471,7 +475,7 @@ From this version, characters which belongs both ISO~8859-1 and JIS~X~0208, また,\P,~\S といったISO~8859-1の上位領域とJIS~X~0208の共通部分の文字は 本バージョンから標準で欧文扱いとなり,\emph{ソース中に直接記述しても - \Pkg{fontspec}パッケージ非読み込みの状態では出力されなくなった}. + \Pkg{fontspec}パッケージ(および\Pkg{luatexja-fontspec}パッケージ)非読み込みの状態では出力されなくなった}. 和文扱いで出力するには \verb+\ltjjachar`§+ のように \cs{ltjjachar} 命令 を使えばよい. % @@ -518,21 +522,21 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}. \textbf{JAchar}の出力に用いられるフォントを\emph{和文フォント}と呼ぶ. % %<*en> -\item A word in a sans-serif font (like \Param{prebreakpenalty}) +\item A word in a sans-serif font with underline (like \Param{prebreakpenalty}) means an internal parameter for Japanese typesetting, and it is used as a key in \cs{ltjsetparameter} command. % %<*ja> -\item サンセリフ体で書かれた語(例:\Param{prebreakpenalty})は日本語組版用の +\item 下線つきローマン体で書かれた語(例:\Param{prebreakpenalty})は日本語組版用の パラメータを表し,これらは \cs{ltjsetparameter} 命令のキーとして 用いられる. % %<*en> -\item A word in typewriter font with underline (like \Pkg{fontspec}) +\item A word in a sens-serif font without underline (like \Pkg{fontspec}) means a package or a class of \LaTeX. % %<*ja> -\item 下線付きタイプライタ体の語(例:\Pkg{fontspec})は\LaTeX の +\item 下線なしサンセリフ体の語(例:\Pkg{fontspec})は\LaTeX の パッケージやクラスを表す. % %<*en> @@ -544,7 +548,7 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}. % \end{itemize} -%\subsection{About the Project} +%\subsection{About the project} %\subsection{プロジェクトについて} %\paragraph{Project Wiki} Project Wiki is under construction. @@ -682,13 +686,13 @@ the forefront of development is not the \texttt{master} branch. \begin{lstlisting} $ git clone git://git.osdn.jp/gitroot/luatex-ja/luatexja.git \end{lstlisting} -\item \texttt{master}ブランチのスナップショット(\texttt{tar.gz}形式)をダウンロードする. +\item \texttt{master} ブランチのスナップショット(\texttt{tar.gz} 形式)をダウンロードする. \begin{flushleft} \url{http://git.osdn.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}. \end{flushleft} \end{itemize} -\texttt{master}ブランチ(従って,CTAN内のアーカイブも)はたまにしか更新されないことに注意. -主な開発は\texttt{master}の外で行われ,比較的まとまってきたらそれを\texttt{master}に +\texttt{master} ブランチ(従って,CTAN内のアーカイブも)はたまにしか更新されないことに注意. +主な開発は\texttt{master}の外で行われ,比較的まとまってきたらそれを \texttt{master} に 反映させることにしている. % @@ -698,8 +702,8 @@ But only the contents in \texttt{src/} are needed to work \LuaTeX-ja. % %<*ja> \item 「Gitリポジトリをクローン」以外の方法でアーカイブを取得したならば,それを展開する. - \texttt{src/}をはじめとしたいくつかのディレクトリができるが, - 動作には\texttt{src/}以下の内容だけで十分. + \texttt{src/} をはじめとしたいくつかのディレクトリができるが, + 動作には \texttt{src/} 以下の内容だけで十分. % %<*en> @@ -739,7 +743,7 @@ $ luatex ltj-kinsoku_make.tex instead copying is also good. % %<*ja> -\item \texttt{src}の中身を自分の\texttt{TEXMF}ツリーにコピーする. +\item \texttt{src} の中身を自分の \texttt{TEXMF} ツリーにコピーする. 場所の例としては,例えば \begin{quote} \texttt{TEXMF/tex/luatex/luatexja/} @@ -812,7 +816,7 @@ bad argument #1 to 'open' (string expected, got nil) If so, please execute a batch file which is written on \href{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{ the Project Wiki (English)}. This batch file creates a temporary directory, copy CMaps in it, -run a test file which loads \LuaTeX-ja in this directory, +run a test file which loads \LuaTeX-ja in this directory, and finally delete the temporary directory. % %<*ja> @@ -820,7 +824,7 @@ and finally delete the temporary directory. \href{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{% プロジェクトWiki英語版トップページ}中に書かれているバッチファイルを 実行して欲しい.このバッチファイルは,作業用ディレクトリにCMap達を -コピーし,その中で\LuaTeX-ja の初回起動を行い,作業用ディレクトリを消す作業をしている. +コピーし,その中で\LuaTeX-jaの初回起動を行い,作業用ディレクトリを消す作業をしている. % \end{itemize} @@ -1001,6 +1005,28 @@ Note that the bold series in both family are same as the medium series of \emph{ %\item Japanese characters in math mode are typeset by the font family \texttt{mc}. %\item 数式モード中の和文文字は明朝体(\texttt{mc})で出力される. +%<*en> + \item \cs{jttdefault}% + \footnote{% + When \Pkg{ltjsclasses} classes are used, or + \Pkg{luatexja-fontspec} (or \Pkg{luatexja-preset}) is loaded with \texttt{match} option, + \cs{ttfamily} changes the current Japanese font amily to \cs{jttdefault}. + These classes and packages also redefine \cs{jttdefault} to + \cs{gtdefault} (\emph{gothic}~family). + } specifies the Japanese font family in \cs{verb}~or~\texttt{verbatim} environment. + The default value of \cs{jttdefault} is \cs{mcdefault}, so \emph{mincho} family is used. +% +%<*ja> + \item \cs{verb} や \texttt{verbatim} 環境中の和文文字に使われる和文フォントファミリは + \ \cs{jttdefault} で指定する% + \footnote{% + \Pkg{ltjsclasses}を使用したり,あるいは \texttt{match} オプションを指定して\Pkg{luatexja-fontspec}% + や\Pkg{luatexja-preset}パッケージを読み込んだときは,単なる \cs{ttfamily} によっても和文フォントが + \ \cs{jttdefault}\ に変更される.また,これらのクラスファイルやパッケージは + \ \cs{jttdefault}\ を \cs{gtdefault}(ゴシック体)に再定義する. + }.標準値は \cs{mcdefault},つまり明朝体として用いるのと + 同じフォントファミリである. +% %<*en> \item If you use the \Pkg{beamer} class with the default font theme (which uses sans serif @@ -1032,12 +1058,18 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{% The latter \texttt{ltjt*.cls} are for vertically writtened Japanese documents. } and \Pkg{ltjsclasses}\footnote{% \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls},~\texttt{ltjskiyou.cls}.}. + +Original \Pkg{jsclasses} use \cs{mag}~primitive to set the main document font size. +However, \LuaTeX\ beta-0.87.0~or~later does not support \cs{mag} in PDF~output, +so \Pkg{ltjsclasses} use different method% +\footnote{Similar to \texttt{magstyle=real} in the \Pkg{BXjscls} classes (by Takayuki Yato).} +to set the main document font size. % %<*ja> しかしながら,上記の設定は日本語の文書にとって十分とは言えない. 日本語文書を組版するためには,\texttt{article.cls}, \texttt{book.cls}といった 欧文用のクラスファイルではなく,和文用のクラスファイルを用いた方がよい. -現時点では,\Pkg{jclasses}(\pLaTeX の標準クラス)と\Pkg{jsclasses} +現時点では,\Pkg{jclasses}(\pLaTeX の標準クラス)と\Pkg{jsclasses}% (奥村晴彦氏による「\pLaTeXe 新ドキュメントクラス」)に対応するものとして, \Pkg{ltjclasses}\footnote{% 横組用は \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls} であり, @@ -1046,6 +1078,12 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{% \Pkg{ltjsclasses}\footnote{% \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls},~\texttt{ltjskiyou.cls}.}% がそれぞれ用意されている. + +元々の\Pkg{ltjsclasses}ではフォントサイズを指定するのに\cs{mag}プリミティブが使われていたが, +\LuaTeX~beta-0.87.0以降ではPDF出力時の\cs{mag}のサポートが廃止された. +そのため,\Pkg{ltjsclasses}では別の方法 +\footnote{八登崇之氏による\Pkg{BXjscls}クラスにおける\texttt{magstyle=real}指定時と類似している.}で +フォントサイズを指定することにしている. % %<*ja> @@ -1187,7 +1225,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\ %<*en> \item For defining a Japanese font family, use \cs{DeclareKanjiFamily} instead of - \cs{DeclareFontFamily}. (In previous version of \LuaTeX-ja, + \cs{DeclareFontFamily}. (In previous version of \LuaTeX-ja, using \cs{DeclareFontFamily} didn't cause any problem. But this no longer applies the current version.) \item Defining a Japanese font shape can be done by usual \cs{DeclareFontShape}: @@ -1270,12 +1308,12 @@ this chapter. For the method, please see Subsection~\ref{ssec-math}. 記述しない.この方法については\ref{ssec-math}節を参照のこと. % - -\subsection{fontspec} +%\subsection{\Pkg{luatexja-fontspec} package} +%\subsection{\Pkg{luatexja-fontspec}パッケージ} \label{ssec-fontspec} %<*en> -To coexist with the \Pkg{fontspec} package, it is needed to load -the \Pkg{luatexja-fontspec} package in the preamble, as follows: +To use the functionality of the \Pkg{fontspec} package to Japanese fonts, +it is needed to load the \Pkg{luatexja-fontspec} package in the preamble, as follows: \begin{quote} \ttfamily \textbackslash usepackage[]\{luatexja-fontspec\} \end{quote} @@ -1284,13 +1322,18 @@ automatically loads \Pkg{luatexja} and \Pkg{fontspec} packages, if needed. % %<*ja> -\Pkg{fontspec}パッケージと同様の機能を和文フォントに対しても用いる場合, -\Pkg{luatexja-fontspec}パッケージを読み込めばよい. +\Pkg{fontspec}パッケージは,\LuaTeX・\XeTeX において +TrueType・OpenTypeフォントを容易に扱うためのパッケージであり,このパッケージを読み込んでお +けばUnicodeによる各種記号の直接入力もできるようになる. +\LuaTeX-jaでは和文と欧文を区別しているため,\Pkg{fontspec}パッケージの機能は欧文フォントに +対してのみ有効なものとなっている. + +\LuaTeX-ja上において,\Pkg{fontspec}パッケージと同様の機能を和文フォントに対しても用いる場 +合は\Pkg{luatexja-fontspec}パッケージを読み込む: \begin{quote} \ttfamily \textbackslash usepackage[]\{luatexja-fontspec\} \end{quote} -このパッケージ -は必要ならば自動で\Pkg{luatexja}パッケージと\Pkg{fontspec}パッケージを読み込む. +このパッケージは自動で\Pkg{luatexja}パッケージと\Pkg{fontspec}パッケージを読み込む. % %<*en> @@ -1342,19 +1385,60 @@ alphabetic fonts \end{tabular} \end{center} % -%<*en> -The package option of \Pkg{luatexja-fontspec} are the followings: + +% The package option of \Pkg{luatexja-fontspec} are the followings: +% \Pkg{luatexja-fontspec} パッケージのオプションは以下の通りである: \begin{cslist} \item[match] +%<*en> 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{\cs{setmonojfont} is defined if and only if this \texttt{\textup{match}} option is specified}. +% + +%<*ja> +このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\ +\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が +欧文フォントだけでなく和文フォントも変更するようになる. + +\emph{なお,\cs{setmonojfont} はこの \texttt{match} オプションが +指定された時のみ定義される.}この命令は標準の「タイプライタ体に対応する和文フォント」を指定する. +% \item[pass=] -Specify options which will be passed to the \Pkg{fontspec} package. +% \emph{(Obsoleted)}\ Specify options which will be passed to the \Pkg{fontspec} package. +% \Pkg{fontspec} パッケージに渡すオプション を指定する.本オプションは時代遅れである. + +\item[scale=] +%<*en> +Override the ratio of the font size of Japanese fonts to that of alphabetic fonts. +The default value is calculated automatically (for~example, about~0.924865 when + the \Pkg{ltjsarticle} class is used). +% +%<*ja> +欧文に対する和文の比率は,標準では \Pkg{luatexja-fontspec}読み込み時の和欧文比率から +自動計算される(例えば,\Pkg{ltjsarticle}クラス使用時には和文は欧文の約0.924865倍となる)が, +それを手動で上書きするときに使用する. +% \end{cslist} + +%<*en> +All other options listed above are simply passed to the \Pkg{fontspec} package. +This means that two lines below are equivalent, for example. +% +%<*ja> +上記にないオプションは全て \Pkg{fontspec} パッケージに渡される. +例えば,下の2行は同じ意味になる: +% +\begin{lstlisting} +\usepackage[no-math]{fontspec}\usepackage{luatexja-fontspec} +\usepackage[no-math]{luatexja-fontspec} +\end{lstlisting} + + +%<*en> 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 @@ -1365,19 +1449,6 @@ This is because of the compatibility with previous versions of \LuaTeX-ja Below is an example of \cs{jfontspec}. % %<*ja> -\Pkg{luatexja-fontspec} パッケージのオプションは以下の通りである: -\begin{cslist} - \item[match] -このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\ -\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が -欧文フォントだけでなく和文フォントも変更するようになる. - -\emph{なお,\cs{setmonojfont} はこの \texttt{match} オプションが -指定された時のみ定義される.}この命令は標準の「タイプライタ体に対応する和文フォント」を指定する. - - \item[pass=] -\Pkg{fontspec} パッケージに渡すオプション を指定する. -\end{cslist} 標準で \cs{setmonojfont} コマンドが定義されないのは, 和文フォントではほぼ全ての和文文字のグリフが等幅であるのが伝統的であったことによる. また,これらの和文用のコマンドではフォント内のペアカーニング情報は標準では使用されない, @@ -1394,40 +1465,58 @@ JIS~X~0213:2004→辻\par JIS~X~0208:1990→辻 \end{LTXexample} -%\subsection{Presets} -%\subsection{プリセット設定} +%\subsection{Presets of Japanese fonts} +%\subsection{和文フォントのプリセット設定} \label{ssec-preset} %<*en> -To use standard Japanese font settings easily, one can load the \Pkg{luatexja-preset} -package with several options. This package provides functions in a part of +One can load the \Pkg{luatexja-preset} +package to use several ``presets'' of Japanese fonts. +This package provides functions in a part of \Pkg{japanese-otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato. + +One can specified other options other than listed in this subsection. +These are simply passed to the \Pkg{luatexja-fontspec}\footnote{if \texttt{nfssonly} option is +\emph{not} specified; in this case these options are simply ignored.}. +For example, the line~5 in below example is eqivalent to lines 1--3. % %<*ja> よく使われている和文フォント設定を一行で指定できるようにしたのが \Pkg{luatexja-preset}パッケージである.このパッケージは, \Pkg{otf}パッケージの一部機能と八登崇之氏による\Pkg{PXchfon}パッケージの一部機能とを 合わせたような格好をしている. + +オプションとして,本節にないものも指定することができるが,それらは +\Pkg{luatexja-fontspec}パッケージに渡される\footnote{\texttt{nfssonly} オプションが +指定されていた場合は,\Pkg{luatexja-fontspec}パッケージは読み込まれないので単純に無視され +る.}.例えば,下の1--3行目は5行目のように一行にまとめることができる. % +\begin{lstlisting} +\usepackage[no-math]{fontspec} +\usepackage[match]{luatexja-fontspec} +\usepackage[kozuka-pr6n]{luatexja-preset} +%%-------- +\usepackage[no-math,match,kozuka-pr6n]{luatexja-preset} +\end{lstlisting} %\paragraph{General options} %\paragraph{一般的なオプション} \begin{cslist}[before*=] - -\item[fontspec] +\item[fontspec% +%\textrm{~(enabled by default)} +%\emph{\gtfamily (既定)} +] %<*en> With this option, Japanese fonts are selected using functionality of the \Pkg{luatexja-fontspec} package. This means that the \Pkg{fontspec} package is automatically loaded by this package. -\emph{This option is enabled by default.} -If you need to pass some options to \Pkg{fontspec}, load \Pkg{fontspec} manually +If you need to pass some options to \Pkg{fontspec}, you can load \Pkg{fontspec} manually before \Pkg{luatexja-preset}: % %<*ja> \Pkg{luatexja-fontspec}パッケージの機能を用いて和文フォントを選択する. これは,\Pkg{fontspec}パッケージが自動で読み込まれることを意味する. -\emph{このオプションは標準で有効になっている.} もし\Pkg{fontspec}パッケージに何らかのオプションを渡す必要がある \footnote{例えば,数式フォントまで置換されてしまい,\cs{mathit}によってギリシャ文字の @@ -1446,7 +1535,9 @@ With this option, selecting Japanese fonts won't be performed using the function \cs{addjfontfeatures} etc.). This option is ignored when \Pkg{luatexja-fontspec} package is loaded. -Note that the \Pkg{fontspec} can coexist with the option as the following: +When this option is specified, \Pkg{fontspec}~and~\Pkg{luatexja-fontspec} are +\emph{not} loaded by default. Nevertheless, +the package\Pkg{fontspec} can coexist with the option, as the following: \begin{lstlisting} \usepackage{fontspec} \usepackage[hiragino-pron,nfssonly]{luatexja-preset} @@ -1459,29 +1550,52 @@ In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fon ションが指定された場合には \texttt{ltjpmg}(丸ゴシック)という 3つの和文フォントファミリを定義し,これらを用いる. -欧文フォントの指定で\Pkg{fontspec}パッケージを読み込んでいる場合でも +本オプション指定時には\Pkg{fontspec}・\Pkg{luatexja-fontspec}パッケージは +自動では読み込まれない,しかし, \begin{lstlisting} \usepackage{fontspec} \usepackage[hiragino-pron,nfssonly]{luatexja-preset} \end{lstlisting} -のようにこのオプションを指定することは可能である.一方, +のようにすれば,このオプションを指定すれば +欧文フォントを\Pkg{fontspec}パッケージの機能を使って指定することができる. +一方, パッケージ読み込み時に既に\Pkg{luatexja-fontspec}パッケージが読み込まれて いる場合は \texttt{nfssonly} オプションは無視される. % -\item[nodeluxe] +\item[match] %<*en> +If this option is specified, usual family-changing commands such as +\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family. +This option is passed to \Pkg{luatexja-fontspec}, if \texttt{fontspec} +option is specifed. +% + +%<*ja> +このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\ +\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が +欧文フォントだけでなく和文フォントも変更するようになる. +\ \texttt{fontspec}\ +オプションが有効になっている場合は,このオプションは \Pkg{luatexja-fontspec} パッケージへと渡される. +% + + +\item[nodeluxe% +%\textrm{~(enabled by default)} +%\emph{\gtfamily (既定)} +] +%<*en> +The nagation of \texttt{deluxe} option. Use one-weighted \textit{mincho} and \textit{gothic} font families. This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and \verb+\gtfamily\mdseries+ use the same font. -\emph{This option is enabled by default.} % %<*ja> +\texttt{deluxe}オプションの否定. \LaTeXe 環境下の標準設定のように,明朝体・ゴシック体を各1ウェイトで使用する. より具体的に言うと,この設定の下では \ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+, \verb+\gtfamily\mdseries+はみな同じフォントとなる. -\emph{このオプションは標準で有効になっている.} % \item[deluxe] %<*en> @@ -1518,8 +1632,17 @@ characters designed for ruby. }. % \item[bold] -%Substitute bold series of \textit{gothic} for bold series of \textit{mincho}. -%「明朝の太字」をゴシック体の太字によって代替する. +%<*en> +Substitute bold series of \textit{gothic} for bold series of \textit{mincho}. +If \texttt{nodeluxe} option is enabled, medium series of \textit{gothic} is also changed, +since we use same font for both series of \textit{gothic}. +% +%<*ja> +「明朝の太字」をゴシック体の太字によって代替する. +もし\texttt{nodeluxe}オプションが指定されている場合は,ゴシック体は1ウェイトしか使用されな + いため, +「ゴシック体の中字」も同時に変更されることになる. +% \item[90jis] %Use 90JIS glyph variants if possible. %出来る限り90JISの字形を使う. @@ -1535,6 +1658,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}が用いられる. % + \end{cslist} %<*en> Note that \texttt{90jis} and \texttt{jis2004} only affect with \textit{mincho}, @@ -1543,8 +1667,8 @@ We didn't taken account of when both \texttt{90jis} and \texttt{jis2004} are sp % %<*ja> \texttt{90jis}と\texttt{jis2004}については本パッケージで定義された -明朝体・ゴシック体(・丸ゴシック体)にのみ有効である.両オプションが -同時に指定された場合の動作については全く考慮していない. +明朝体・ゴシック体(・丸ゴシック体)にのみ有効である. +両オプションが同時に指定された場合の動作については全く考慮していない. % %\paragraph{Presets for multi weight} @@ -1643,7 +1767,7 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である. \end{tabular} \end{center} -%\medskip +%\newpage \item[morisawa-pro] Morisawa Pro (Adobe-Japan1-4) fonts. % \\*[-\dimexpr\medskipamount+\baselineskip\relax] @@ -1703,7 +1827,8 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である. \end{tabular} \end{center} - \item[moga-mobo] MogaMincho, MogaGothic, and MoboGothic. +%\newpage +\item[moga-mobo] MogaMincho, MogaGothic, and MoboGothic. %These fonts can be downloaded from\\\hfill \url{http://yozvox.web.fc2.com/}. %これらのフォントは \url{http://yozvox.web.fc2.com/} からダウンロードできる. @@ -1717,9 +1842,9 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である. %\smash{\raisebox{1.5ex}{\gt 明朝}}% &bold&Moga90Mincho Bold&MogaMincho Bold\\ \midrule - &&Moga90Gothic&MogaGothic\\ + &&Moga90Gothic*&MogaGothic*\\ &\smash{\raisebox{1.5ex}{medium}} - &Moga90Gothic&MogaGothic\\ + &Moga90Gothic Bold&MogaGothic Bold\\ \cmidrule(l){2-4} %\textit{gothic}% %\gt ゴシック @@ -2114,7 +2239,7 @@ This range consists of the following Unicode ranges, \emph{except characters in \item \texttt{U+0180}--\texttt{U+024F}: Latin Extended-B \item \texttt{U+0250}--\texttt{U+02AF}: IPA Extensions \item \texttt{U+02B0}--\texttt{U+02FF}: Spacing Modifier Letters -%\par\ +%\par\ \item \texttt{U+0300}--\texttt{U+036F}: \\*\null\hfill Combining Diacritical Marks \item \texttt{U+1E00}--\texttt{U+1EFF}: \\*\null\hfill Latin Extended Additional %\par\ @@ -2253,7 +2378,7 @@ The block list is indicated in Table~\ref{table-rng7}. %<*en> \paragraph{Notes on \texttt{U+0080}--\texttt{U+00FF}} -You should treat characters in \\texttt{U+0080}--\texttt{U+00FF} as \textbf{ALchar}, +You should treat characters in \\texttt{U+0080}--\texttt{U+00FF} as \textbf{ALchar}, when you use traditional 8-bit fonts, such as the \Pkg{textcomp} package or the \Pkg{marvosym} package. @@ -2262,7 +2387,7 @@ package is 182. This codepoint corresponds \P\ (\text{U+00B6}) in Unicode. Similarly, \cs{Frowny} which is provided by the \Pkg{marvosym} package has the same codepoint as \S\ (\text{U+00A7}). Hence, as previous versions of \LuaTeX-ja, if these characters are treated as -\text{JAchar}s, then \cs{textparagraph} produces ``ltjjachar`¶'' (in a Japanese font), +\text{JAchar}s, then \cs{textparagraph} produces ``ltjjachar`¶'' (in a Japanese font), and \cs{Frowny} produces ``\ltjjachar`§'' (in a Japanese font). To avoid such situations, the default setting of \LuaTeX-ja is changed in this release @@ -2387,7 +2512,7 @@ JFMは「望ましい\Param{kanjiskip}の値」や \cs{ltjgetparameter} によって取得することはできないので注意が必要である. % -%\subsection{Insertion Setting of \Param{xkanjiskip}} +%\subsection{Insertion setting of \Param{xkanjiskip}} %\subsection{\Param{xkanjiskip} の挿入設定} %<*en> @@ -2628,7 +2753,7 @@ However, the penalty inserted after it is 10 which is the \Param{postbreakpenalt ``ア'', not 20. % %<*ja> -\subsection{禁則処理関連パラメータとfont feature} +\subsection{禁則処理関連パラメータとOpenTypeのfont feature} 禁則処理や \Param{kanjiskip}, \Param{xkanjiskip} の挿入に関連したパラメータのうち \begin{quote} \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty}, @@ -2691,13 +2816,13 @@ For the detail, see Table~\ref{table-kcat}. %<*en> \bfseries meaning& \bfseries control word& -\bfseries widow penalty\hbox{}$^*$& +\bfseries widow penalty& \bfseries linebreak\\ % %<*ja> \bfseries 意図& \bfseries 制御綴中に使用& -\bfseries 文字ウィドウ処理\hbox{}$^*$& +\bfseries 文字ウィドウ処理& \bfseries 直後での改行\\ % \midrule @@ -2712,7 +2837,7 @@ For the detail, see Table~\ref{table-kcat}. \medskip %<*ja> -文字ウィドウ処理\hbox{}$^*$: 「漢字が一文字だけ次の行に行くのを防ぐ」\ +文字ウィドウ処理:「漢字が一文字だけ次の行に行くのを防ぐ」 \cs{jcharwidowpenalty} が, その文字の直前に挿入されうるか否か,を示す. % @@ -2784,17 +2909,22 @@ between \XeTeX\ and \LuaTeX, by the following reasons: \begin{itemize} \item (plain format) \texttt{luatex-unicode-letters.tex} is based on old \texttt{unicode-letters.tex}. \item The latter half of \texttt{unicode-letters.tex}~and~\texttt{unicode-letters.def} -sets\cs{catcode} of Kanji and kana characters to 11, via setting \cs{XeTeXcharclass}. - -However, this latter half does not exist (plain case), or not executed (\LaTeX~case) in \LuaTeX, hence -\cs{catcode} of Kanji and kana characters remains 12 in \LuaTeX. +sets\cs{catcode} of several characters to 11, via setting \cs{XeTeXcharclass}. +However, this latter half does not exist (plain case), or not executed (\LaTeX~case) in \LuaTeX. \end{itemize} -In other words, Kanji nor kana characters cannot be used in -a control word, in the default setting of \LuaTeX. +In other words, +\begin{description} +\item[plain \LuaTeX] +Kanji nor kana characters cannot be used in +a control word, in the default setting of plain \LuaTeX. +\item[\LuaLaTeX] +In recent (2015-10-01 or later) \LuaLaTeX, Kanji and kana characters in a control word is supported (these catcode are 11), +but not fullwidth alphanumerics and several other characters. +\end{description} 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. +since several control words containing Kanji or other fullwidth characters, such as +\verb+\西暦+~or~\verb+\1年目西暦+ are used in \pTeX. Hence, \LuaTeX-ja have a counterpart of \texttt{unicode-letters.tex} for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.} % @@ -2807,7 +2937,6 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.} \LaTeX では \cs{catcode} の設定はカーネルに \texttt{unicode-letters.def} として統合され. このファイルを\XeLaTeX, \LuaLaTeX の両方が用いている. - だが,\XeTeX における \cs{catcode} の初期設定と \LuaTeX におけるそれは一致していない: \begin{itemize} @@ -2815,16 +2944,20 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.} \texttt{unicode-letters.tex} が古い \item \texttt{unicode-letters.tex} 後半部や \texttt{unicode-letters.def} 後半部では \cs{XeTeXcharclass} の設定を行なっており, -それによって漢字や仮名の \cs{catcode} が11に設定されている. - +それによって漢字や仮名,および全角英数字の \cs{catcode} が11に設定されている. しかし,\texttt{luatex-unicode-letters.tex} ではこの「後半部」が まるごと省略されており,また\LuaLaTeX でも \texttt{unicode-letters.def} 後半部は実行されな - い.従って漢字や仮名の \cs{catcode} は12のままになっている. + い. \end{itemize} -言い換えると,\LuaTeX の初期状態では漢字や仮名を制御綴内に +言い換えると, +\begin{description} + \item[plain \LuaTeX] 漢字や仮名を制御綴内に 使用することはできない. - -これでは \pTeX で使用できた \verb+\西暦+ などが使えないこととなり, + \item[\LuaLaTeX] 最近の(2015-10-01以降の) +\LuaLaTeX では漢字や仮名を制御綴内に +使用することが可能になったが,全角英数字は相変わらず使用できない, +\end{description} +これでは \pTeX で使用できた \verb+\1年目西暦+\footnote{科研費\LaTeX で使用されているそうです.}などが使えないこととなり, \LuaTeX-jaへの移行で手間が生じる.そのため,\LuaTeX-jaでは \texttt{unicode-letters.tex} の後半部にあたる内容を自前でパッチし, 結果として\textbf{\XeTeX における初期設定と同じになるようにしている.} @@ -2893,7 +3026,7 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.} \end{table} %<*en> -\subsection{Non-kanji Characters in a Control Word} +\subsection{Non-kanji characters in a control word} 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. @@ -3778,8 +3911,8 @@ OpenType font featureと見かけ上同じような形式で指定できるも \paragraph{\texttt{extend} and \texttt{slant}} The following setting can be specified as OpenType font features: \begin{cslist}[style=standard] -\item[\cs{extend=}] expand the font horizontally by . -\item[\cs{slant=}] slant the font. +\item[\texttt{extend=}] expand the font horizontally by . +\item[\texttt{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. @@ -3794,6 +3927,36 @@ letter-spacing and the width of italic correction are not correct: \S あいう\/ABC \end{LTXexample} +%<*ja> +\paragraph{\texttt{ltjksp} 指定} +\label{pg:ltjksp} +\LuaTeX-ja標準では, +JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ +\texttt{kanjiskip\_shrink}キー(\pageref{pg:ksp_nat}ページ)の使用によって, +「JFM由来のグルーの他に,\Param{kanjiskip}の自然長/伸び量/縮み量の一部が +同じ場所に挿入される」という状況が起こりうる. +この機能を無効化し,20150922.0版以前と同じような組版を得るためには +他のOpenType機能と同じように\ \texttt{-ltjksp}\ 指定を行えば良い. +\begin{LTXexample}[width=16\zw] +\leavevmode +\ltjsetparameter{kanjiskip=0pt plus 3\zw} +\vrule\hbox to 15\zw{あ「い」う,えお}\vrule + +\jfont\G=file:KozMinPr6N-Regular.otf% + :jfm=ujis;-ltjksp at 9.2487pt +\G\leavevmode% +\vrule\hbox to 15\zw{あ「い」う,えお}\vrule +\end{LTXexample} +なお, +\begin{lstlisting} + \jfont\G=file:KozMinPr6N-Regular.otf:jfm=ujis;-ltjksp;+ltjksp at 9.2487pt +\end{lstlisting} +のように \texttt{+ltjksp} 指定を行った場合は,\texttt{kanjiskip\_natural} など +3キーは再び有効化される.\texttt{-ltjksp}, \texttt{+ltjksp} を複数回指定した場合は, +最後に指定したものが有効となる. +% + + %\subsection{\cs{tfont}} %\subsection{\cs{tfont} 命令} @@ -3806,13 +3969,12 @@ letter-spacing and the width of italic correction are not correct: \catcode`\<=12\catcode`\>=12 \ltjsetparameter{jacharrange={+3}} \small - \def\r#1#2{% \hbox{\tate\Large\vrule \parbox{7\zw}{% \addjfontfeatures{TateFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent ◆◆◆◆◆◆◆ - ある日モモちゃんがお使いで迷子になって泣きました. + ある日モモちゃんが「お使い」で迷子になって泣きました。 }\vrule}} \def\s#1#2{% \hbox{\tate\Large @@ -3979,7 +4141,7 @@ Please contact the LuaTeX-ja project team. ? \end{lstlisting} -%\subsection{Structure of a JFM File} +%\subsection{Structure of a JFM file} %\subsection{JFMファイルの構造} \label{ssec-jfm-str} %A JFM file is a Lua script which has only one function call: @@ -4123,20 +4285,48 @@ This field is a list of characters which are in this character %(必須) %<*en> +\begin{table}[t] + \centering +\begin{tabular}{llr} +\toprule +Direction of JFM&\textbf{\texttt{'yoko'} (horizontal)}&\multicolumn{1}{l}{\textbf{\texttt{'tate'} (vertical)}}\\ +\midrule +\texttt{width} field&the width of the ``real'' glyph&1.0~(full-width)\\ +\texttt{height} field&the height of the ``real'' glyph&0.5~(half-width)\\ +\texttt{depth} field&the depth of the ``real'' glyph&0.5~(half-width)\\ +\midrule +\texttt{italic} field&\multicolumn{2}{c}{0.0}\\ +\bottomrule +\end{tabular} +\caption{Default values of \texttt{width} field and other fields} +\label{tab-wid} +\end{table} 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'}. -This means that width of a character becomes that of its ``real'' glyph. +as values of these fields. The default values are shown in Table~\ref{tab-wid}. % %<*ja> +\begin{table}[t] + \centering +\begin{tabular}{llr} +\toprule +JFM書字方向&\emph{\texttt{'yoko'}(横組)}&\multicolumn{1}{l}{\emph{\texttt{'tate'}(縦組)}}\\ +\midrule +\texttt{width}&「実際のグリフ」の幅&1.0(全角)\\ +\texttt{height}&「実際のグリフ」の高さ&0.5(二分)\\ +\texttt{depth}&「実際のグリフ」の深さ&0.5(二分)\\ +\midrule +\texttt{italic}&\multicolumn{2}{c}{0.0}\\ +\bottomrule +\end{tabular} +\caption{\texttt{width} フィールド等の標準値} +\label{tab-wid} +\end{table} 文字クラス$i$に属する文字の幅,高さ,深さ,イタリック補正の量を指定する. 文字クラス$i$に属する全ての文字は,その幅,高さ,深さがこのフィールドで指定した -値であるものとして扱われる. - -例外として,\emph{\texttt{width} フィールドには数値以外に \texttt{'prop'} が指定可能である}. -この場合,文字の幅はその「実際の」グリフの幅となる.OpenTypeの \texttt{prop} featureと併用 +値であるものとして扱われる.省略時や,数でない値を指定した時には表\nobreak\ref{tab-wid}に + 示されている値を用いる.例えば,横組用JFMで \texttt{width} フィールドには数値以外の値を指 + 定した場合,文字の幅はその「実際の」グリフの幅となる.OpenTypeの \texttt{prop} featureと併用 すれば,これによってプロポーショナル組を行うことができる. % @@ -4360,62 +4550,122 @@ Furthermore, the glyph is shifted according to values of fields \label{fig-pos-tate} \end{figure} -\item[kern={\{[$j$]=, [$j'$]=\{, []\}, ...\}}] - -\item[glue={\{[$j$]=\{, , , [], []\}, ...\}}]\ +\item[kern={\{[$j$]=, [$j'$]=\{, [ratio=]\}, ...\}}] +\nopagebreak +\item[glue={\{[$j$]=\{, , , [ratio=, ...]\}, ...\}}]\leavevmode %<*ja> -文字クラス$i$の文字と$j$の文字の間に挿入されるkernやglueの量を指定する. +文字クラス$i$の文字と$j$の文字の間に挿入されるカーンやグルーの量を指定する. - は \Pkg{luatexja-adjust} による優先順位付き - 行長調整(\ref{ssec-adj}節)が有効なときのみ意味を持つ. -このフィールドは省略可能であり,行調整処理におけるこのglueの優先 - 度を$-2$から$+2$の間の整数で指定する.大きい値ほど「伸びやすく,縮みやすい」 - ことを意味する.省略時の値 - は0であり,範囲外の値が指定されたときの動作は未定義である. - -も省略可能フィールドであり,$-1$から$+1$の実数値をとる.省略時の値は0である. -\begin{itemize} -\item $-1$はこのグルーが「前の文字」由来であることを示す. -\item $+1$はこのグルーが「後の文字」由来であることを示す. -\item それ以外の値は,「前の文字」由来のグルーと「後の文字」由来の -グルーが混合されていることを示す. -\end{itemize} -なお,このフィールドの値は\Param{differentjfm}の値が +は,グルーの自然長のうちどれだけの割合が「後の文字」由来かを示す量で, +$0$から$+1$の実数値をとる.省略時の値は$0.5$である. +このフィールドの値は\Param{differentjfm}の値が \texttt{pleft},~\texttt{pright},~\texttt{paverage}の値のときのみ実際に用いられる. 例えば,\cite{x4051}では,句点と中点の間には, 句点由来の二分空きと中点由来の四分空きが挿入されるが,この場合には \begin{itemize} \item には$0.5+0.25=0.75$を指定する. -\item には次の値を指定する. -\[ - -1\cdot \frac{0.5}{0.5+0.25} + 1 \cdot \frac{0.25}{0.5+0.25} = -\frac13 -\] +\item には$0.25/(0.5+0.25)=1/3$を指定する. \end{itemize} % %<*en> \ -Specifies the width of kern or glue which will be inserted +Specifies the amount of kern or glue which will be inserted between characters in character class~$i$ and those in character class~$j$. - is an integer in $[-2,2]$ (treated as 0 if omitted), and this is -used only in line adjustment with priority by \Pkg{luatexja-adjust} -(see Subsection~\ref{ssec-adj}). Higher value means the glue is easy to shretch, -and is also easy to shrink. - - is also an optional value between $-1$ and 1. For example, + specifies how much the glue is originated in the ``right'' character. +It is a real number between 0 and 1, and treated as 0.5 if omitted. For example, 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, -we specify to -\[ - -1\cdot \frac{0.5}{0.5+0.25} + 1 \cdot \frac{0.25}{0.5+0.25} = -\frac13. -\] +we specify to $0.25/(0.5+0.25)=1/3$. % +%<*ja> +グルーの指定においては,上記に加えて各 \texttt{[$j$]} の各サブテーブル内に +次のキーを指定できる, +\begin{cslist}[style=standard] +\item[priority=] + \Pkg{luatexja-adjust} による優先順位付き + 行長調整(\ref{ssec-adj}節)の際に使われる値であり, +行調整処理におけるこのglueの優先 + 度を$-2$から$+2$の間の整数で指定する.大きい値ほど「伸びやすく,縮みやすい」 + ことを意味する.省略時の値 + は0であり,範囲外の値が指定されたときの動作は未定義である. +\item[kanjiskip\_natural=\textrm{, }% + kanjiskip\_stretch=\textrm{, }kanjiskip\_shrink=]\leavevmode + \label{pg:ksp_nat} + +JFMによって本来挿入されるグルーの他に +\Param{kanjiskip}分の空白を自然長(\texttt{kanjiskip\_natural}),伸び量(\texttt{kanjiskip\_stretch}), +縮み量(\texttt{kanjiskip\_shrink})ごとに挿入する\footnote{本来\Param{xkanjiskip}が挿入される場所においては + \Param{xkanjiskip}分の空白を自然長・伸び量・縮み量ごとに.追加できる.}% +ための指定である.いずれも省略された場合のデフォルト値は0(追加しない)である. + +例えば,\LuaTeX-jaの横組標準JFMの \texttt{jfm-ujis.lua} では, +\begin{itemize} + \item 通常の文字「あ」と開き括弧類の間に入るグルーは,自然長・縮み量半角,伸び量0のグルー +となっているが,さらに\Param{kanjiskip}の伸び量に \texttt{kanjiskip\_stretch}(ここでは1)を掛け + た分だけ伸びることが許される. + \item 同様に,閉じ括弧類(全角コンマ「,」も含む)と通常の文字「う」「え」の間にも +自然長・縮み量半角,伸び量0のグルー +となっているが,さらに\Param{kanjiskip}の伸び量に \texttt{kanjiskip\_stretch}(ここでは1)を掛け + た分だけ伸びることが許される. +\end{itemize} +となっている.従って,以下のような組版結果を得る. + +\medskip +\begin{LTXexample}[width=16\zw] +\leavevmode +\ltjsetparameter{kanjiskip=0pt plus 3\zw} +\vrule\hbox to 15\zw{あ「い」う,えお}\vrule +\end{LTXexample} + +\end{cslist} +% +%<*en> +In case of glue, one can specify following additional keys in each \texttt{[$j$]} + subtable: +\begin{cslist}[style=standard] +\item[priority=] +An integer in $[-2,2]$ (treated as 0 if omitted), and this is +used only in line adjustment with priority by \Pkg{luatexja-adjust} +(see Subsection~\ref{ssec-adj}). Higher value means the glue is easy to stretch, +and is also easy to shrink. +\item[kanjiskip\_natural=\textrm{, }% + kanjiskip\_stretch=\textrm{, }kanjiskip\_shrink=]\leavevmode + +These keys specifies the amount of the natural width of \Param{kanjiskip} +(the stretch/shrink part, respectively) which will be inserted +in addition to the original JFM glue. Default values of them are all 0. + +As an example, in \texttt{jfm-ujis.lua}, the standard JFM in horizontal writing, we have +\begin{itemize} + \item Between an ordinal letter ``あ'' and an ideographic opening bracket, we have +a glue whose natural part and shrink part are both half-width, while its stretch part is + zero. However, this glue also can be stretched + as much as the stretch part of \Param{kanjiskip} times the value of + \texttt{kanjiskip\_stretch} key (1 in this case). + \item Between an ideographic closeing brackets (the ideographic comma ``,'' + is included) and an ordinal letter, we have the same glue. + Again, this glue also can be stretched + as much as the stretch part of \Param{kanjiskip} times the value of + \texttt{kanjiskip\_stretch} key (1 in this case). +\end{itemize} +Hence we have the following result: + +\medskip +\begin{LTXexample}[width=16\zw] +\leavevmode +\ltjsetparameter{kanjiskip=0pt plus 3\zw} +\vrule\hbox to 15\zw{あ「い」う,えお}\vrule +\end{LTXexample} + +\end{cslist} +% \item[end\_stretch=, end\_shrink=] %<*ja> @@ -4611,7 +4861,7 @@ JFM側で一部の対処ができることにより,\Pkg{jsclasses}のよう % -%\subsection{Math Font Family} +%\subsection{Math font family} %\subsection{数式フォントファミリ} \label{ssec-math} @@ -4903,7 +5153,7 @@ This callback is called when \LuaTeX-ja is trying to encapsule a その\textit{glyph\_node}をカプセル化しようとする際に呼び出される. % \begin{lstlisting}[numbers=left] -function ( shift_info,
jfont_info, char_class) +function (
shift_info,
jfont_info,
char_type) return
new_shift_info end \end{lstlisting} @@ -4942,7 +5192,7 @@ Then, the position of glyphs is shifted up by (和文OpenTypeフォントの標準値) \item 実フォント側の数値:$(\hbox{高さ})=28y$, $(\hbox{深さ})=5y$(和文TrueTypeフォントの標準値) \end{itemize} -となっていたとする.すると,実際の文字の出力位置は,以下の量だけ上にぜらされることとなる: +となっていたとする.すると,実際の文字の出力位置は,以下の量だけ上にずらされることとなる: % \[ \frac{88x}{88x+12x} (28y+5y) - 28y = \frac{26}{25}y= 1.04y. @@ -5003,11 +5253,11 @@ in \pTeX, and symbols beside each parameter has the following meaning: % \begin{itemize} %<*en> -\item ``\ast'' : values at the end of a paragraph or a hbox are +\item ``$\ast$'' : values at the end of a paragraph or a hbox are adopted in the whole paragraph or the whole hbox. % %<*ja> -\item ``\ast'':段落やhboxの終端での値がその段落/hbox全体で用いられる. +\item ``$\ast$'':段落やhboxの終端での値がその段落/hbox全体で用いられる. % %<*en> \item ``\dagger'': assignments are always global. @@ -5555,7 +5805,7 @@ The correct way is using a temporary register. %\section{Other Commands for plain \TeX\ and \LaTeXe} %\section{plainでも\LaTeX でも利用可能なその他の命令} -%\subsection{Commands for Compatibility with \pTeX} +%\subsection{Commands for compatibility with \pTeX} %\subsection{\pTeX 互換用命令} %<*en> @@ -5922,8 +6172,10 @@ to match the vertical center of ``M'' and that of ``あ'' in vertical typesetti + d_{\text{あ}} - d_{\text{M}}, \] where $h_{a}$~and~$d_{a}$ denote the height of ``$a$'' and the depth, respectively. -In \LuaTeX-ja, this \cs{adjustbaseline} does same task, namely setting the +In \LuaTeX-ja, this \cs{adjustbaseline} does similar task, namely setting the \Param{talbaselineshift} parameter. +If the \LaTeX\ is 2015/10/01 release or later, \LuaTeX-ja use a Japanese +character whose character class is zero, instead of `あ'. % %<*ja> \pLaTeXe では,\cs{adjustbaseline} は縦組時に「M」と「あ」の中心線を一致させるために, @@ -5937,8 +6189,12 @@ In \LuaTeX-ja, this \cs{adjustbaseline} does same task, namely setting the \LuaTeX-jaにおいても\cs{adjustbaseline} は同様に\Param{talbaselineshift}パラメータの調整処 理を行っている. -同時に,これも\pLaTeXe の \cs{adjustbaseline} で行われていたが, -「漢」の寸法を元に,(本節の最初に述べた,小文字で始まる)\cs{cht}, \cs{cwd} といった長さ変数を設定する. +同時に,これも\pLaTeXe の \cs{adjustbaseline} で同様の処理が行われていたが, +「漢」の寸法を元に(本節の最初に述べた,小文字で始まる)\cs{cht}, \cs{cwd} +といった長さ変数を設定する. + +なお,\LaTeX が2015/10/01 版以降の場合は,「あ」「漢」の代わりに +「文字クラス0の和文文字」を用いる. % \item[\cs{fontfamily}\{\}] @@ -6026,8 +6282,8 @@ Avant Garde (OT1/pag/m/n) に変わっていることがわかる. \userelfont\selectfont あいうabc \end{LTXexample} -%\subsection{\cs{fontfamily}} -%\subsection{\cs{fontfamily}} +%\subsection{Detail of \cs{fontfamily} command} +%\subsection{\cs{fontfamily}コマンドの詳細} \label{ssec-fontfamilycmd} %<*en> In this subsection, we describe when \cs{fontfamily} changes current @@ -6076,11 +6332,11 @@ We use an auxiliary list~$N_{\mathrm{J}}$. \item If the \Pkg{luatexja-fontspec} package is loaded, we stop here, and is not recognized as a Japanese font family. - If the \Pkg{luatexja-fontspec} package is \emph{not} loaded, + If the \Pkg{luatexja-fontspec} package is \emph{not} loaded, now \LuaTeX-ja looks whether there exists a Japanese font encoding~ such that a font definition named \texttt{.fd} (the file name is - all lowercase) exists. If so, is recognized as a Japanese font family (the font definition file won't be loaded here). - If not, is not a Japanese font family, and + all lowercase) exists. If so, is recognized as a Japanese font family (the font definition file won't be loaded here). + If not, is not a Japanese font family, and is appended to the list~$N_{\mathrm{J}}$. % %<*ja> @@ -6100,7 +6356,7 @@ now \LuaTeX-ja looks whether there exists a Japanese font encoding~ such th %<*en> \paragraph{Recognition as alphabetic font family} Next, whether alphabetic font family will be changed is determined in following order. -We use auxiliary lists $F_{\mathrm{A}}$~and~$N_{\mathrm{A}}$, +We use auxiliary lists $F_{\mathrm{A}}$~and~$N_{\mathrm{A}}$, % %<*ja> \paragraph{欧文フォントファミリとしての認識} @@ -6111,7 +6367,7 @@ We use auxiliary lists $F_{\mathrm{A}}$~and~$N_{\mathrm{A}}$, \begin{enumerate} %<*en> -\item If the family~ has been listed in a list~$F_{\mathrm{A}}$, +\item If the family~ has been listed in a list~$F_{\mathrm{A}}$, is recognized as an alphabetic font family. % %<*ja> @@ -6139,7 +6395,7 @@ We use auxiliary lists $F_{\mathrm{A}}$~and~$N_{\mathrm{A}}$, \item Now \LuaTeX-ja looks whether there exists an alphabetic font encoding~ such that a font definition named \texttt{.fd} (the file name is all lowercase) exists. If so, current alphabetic font family will be changed to - ~(the font definition file won't be loaded here). + ~(the font definition file won't be loaded here). If not, current alphabetic font family won't be changed, and is appended to the list~$N_{\mathrm{A}}$. % @@ -6164,7 +6420,7 @@ the second argument (family) is appended to the list~$F_{\mathrm{A}}$. %<*en> The above order is very similar to \cs{fontfamily} in \pLaTeXe, but more complicated (clause~3.). -This is because \pLaTeXe\ is a \emph{format} however \LuaTeX-ja is not, +This is because \pLaTeXe\ is a \emph{format} however \LuaTeX-ja is not, hence \LuaTeX-ja does not know calls of \cs{DeclareFontFamily} \emph{before} itself is loaded. % @@ -6193,20 +6449,20 @@ to use the default family for font substitution. %<*en> -\section{Addons} +\section{Addon packages} \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 \cs{input}. % %<*ja> -\section{拡張} +\section{拡張パッケージ} \LuaTeX-jaには(動作には必須ではないが)自由に読み込める拡張が付属している. これらは\LaTeX のパッケージとして制作しているが, \Pkg{luatexja-otf}と\Pkg{luatexja-adjust}についてはplain \LuaTeX でも\ \cs{input} で読み込み可能である. % -\subsection{\texttt{luatexja-fontspec.sty}} +\subsection{\Pkg{luatexja-fontspec}} \label{ssec-fontspec2} %<*en> As described in Subsection~\ref{ssec-fontspec}, this optional package @@ -6220,8 +6476,8 @@ the commands of Japanese version: \ref{ssec-fontspec}節で述べたように,この追加パッケージは\Pkg{fontspec}% パッケージで定義されているコマンドに対応する和文フォント用のコマンドを提供する. -\Pkg{fontspec}パッケージで指定可能な各種font featureに加えて,和文版のコマンドには -以下の``font feature''を指定することができる: +\Pkg{fontspec}パッケージで指定可能な各種OpenType機能に加えて,和文版のコマンドには +以下の「フォント機能」を指定することができる: % @@ -6277,6 +6533,14 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}. \label{fig:yokotate-fontspec} \end{figure} +\item[Kanjiskip=] +%<*ja> +\pageref{pg:ltjksp}ページで説明した \verb+\jfont+ 中での \texttt{ltjksp} 指定と +同一の効力を持ち, +JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ +\texttt{kanjiskip\_shrink}キー(\pageref{pg:ksp_nat}ページ)の有効/無効を切り替える. +標準値は \texttt{true} である. +% \item[TateFeatures=\{\}\textrm{, }TateFont=] %<*en> @@ -6287,7 +6551,7 @@ Similarly, the \texttt{TateFont} key specifies the Japanese font which will be u A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}. % %<*ja> -縦組において使用されるフォントや,縦組においてのみ適用されるfeature達を +縦組において使用されるフォントや,縦組においてのみ適用されるフォント機能達を 指定する.使用例は図\ref{fig:yokotate-fontspec}参照. % @@ -6298,7 +6562,7 @@ horizontal writing,. A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}. % %<*ja> -同様に,横組においてのみ適用されるfeature達を +同様に,横組においてのみ適用されるフォント機能達を 指定する.使用例は図\ref{fig:yokotate-fontspec}参照. % @@ -6333,7 +6597,7 @@ as the following: %<*ja> \ref{ssec-altfont}節の \cs{ltjdeclarealtfont} や, \ref{ssec-nfsspat}節の \cs{DeclareAlternateKanjiFont} と同様に, -このキーを用いると一部の文字を異なったフォントやfont featureを使って組むことができる. +このキーを用いると一部の文字を異なったフォントや機能たちを使って組むことができる. \texttt{AltFont} キーに指定する値は,次のように二重のコンマ区切りリストである: % \begin{lstlisting}[escapechar=\#] @@ -6423,13 +6687,14 @@ BoldFeatures = { また,図\ref{fig:yokotate-fontspec}後半部では6行目の色の指定が効かず, 2行目で指定した\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ による色の指定が有効になっ -たままである.これは\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ によるfeature指定は -組方向に依存しないfeature指定より後に解釈される}からである. +たままである.これは\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ による +OpenType機能指定は +組方向に依存しないOpenType機能の指定より後に解釈される}からである. % -\subsection{\texttt{luatexja-otf.sty}} +\subsection{\Pkg{luatexja-otf}} \label{ssec-ltjotf} %<*en> This optional package supports typesetting characters in @@ -6502,7 +6767,7 @@ ordinary characters in the following points: is not performed to these characters. % %<*ja> -\item OpenType feature(例えばグリフ置換やカーニング)をサポートするための +\item OpenType機能(例えばグリフ置換やカーニング)をサポートするための \Pkg{luaotfload}パッケージのコードはこれらの文字には働かない. % \end{itemize} @@ -6533,7 +6798,8 @@ JFMの\texttt{chars}テーブルのエントリとして \verb+'AJ1-xxx'+ の形 Recent fonts support Ideographic Variation Selector (IVS). It seems that \Pkg{luaotfload} and \Pkg{fontspec} packages do not support IVS, so we implemented IVS support in \Pkg{luatexja-otf}. -\emph{IVS support is experimental; if you want to enable this, load +\emph{IVS support by the \Pkg{luatexja-otf} package is experimental. +If you want to enable IVS support, load \Pkg{luatexja-otf} and execute the following:} % %<*ja> @@ -6548,8 +6814,9 @@ IVSに対応してはいないようである.これらのパッケージで \medskip -\emph{IVS対応は試験的なものである. -有効にするには,\Pkg{luatexja-otf}パッケージを読み込んだ上で以下の命令を実行する% +\emph{\Pkg{luatexja-otf}によるIVS対応は試験的なものである. +有効にするには, +\Pkg{luatexja-otf}パッケージを読み込んだ上で以下の命令を実行する% \footnote{この命令を2回以上実行しても意味がない.}:} % \begin{lstlisting} @@ -6579,7 +6846,7 @@ For example, only ``葛'' in ``葛西'' is changed by font features \texttt{jp78}~or~\texttt{jp90}, which does not followed by any variation selector. % %<*ja> -また,IVSによる字形指定は,font featureによるそれに優先されることとした. +また,IVSによる字形指定は,OpenType機能によるそれに優先されることとした. 下の例において,\texttt{jp78}, \texttt{jp90} 指定で字形が変化した文字は 異体字セレクタが続いていない「葛西」中の「葛」のみである. % @@ -6604,7 +6871,7 @@ Lua・\TeX コードが参考になるだろう. % -\subsection{\texttt{luatexja-adjust.sty}} +\subsection{\Pkg{luatexja-adjust}} \label{ssec-adj} \begin{figure}[t] \def\sq{% @@ -6684,7 +6951,7 @@ for making the difference obvious. \end{cslist} % -\subsection{\texttt{luatexja-ruby.sty}} +\subsection{\Pkg{luatexja-ruby}} %<*en> This addon package provides functionality of ``ruby'' (\emph{furigana}) annotations using callbacks of \LuaTeX-ja. @@ -6788,7 +7055,7 @@ among the line-head form, the line-middle form, and the line-end form. %<*ja> -\subsection{\texttt{lltjext.sty}} +\subsection{\Pkg{lltjext}} \pLaTeX では縦組用の拡張として \Pkg{plext} パッケージが用意されていたが, それを\LuaTeX-ja用に書きなおしたものが本追加パッケージ \Pkg{lltjext} である. @@ -6928,7 +7195,7 @@ In this case, will be aligned \dots %\section{Storing Parameters} %\section{パラメータの保持} \label{sec-para} -%\subsection{Used Dimensions, Attributes and Whatsit Nodes} +%\subsection{Used dimensions, attributes and whatsit nodes} %\subsection{\LuaTeX-jaで用いられるレジスタとwhatsitノード} %<*en> @@ -7148,6 +7415,18 @@ $i$は7より小さい自然数. \end{description} % \TeX 側から見える値,つまり \verb+\the\ltj@dir+ の値は常に0である. +\cnt{ltjlineendcomment} +%<*ja> + \LuaTeX-jaは\textbf{JAchar}で入力行が終了した場合,その直後にコメント文字を + おくことで余計な空白が挿入されることを防いでいる. + \cs{ltjlineendcomment}はその際のコメント文字のUnicodeにおける符号位置を指定する + (詳細は\ref{ssec:lineend}節を参照). + + \LuaTeX-jaにおける既定値は$\texttt{"FFFFF}=1048575$であり, + ユーザは内部動作を熟知していない限りこのカウンタの値を変更してはならない. + \cs{ltjlineendcomment}の値がUnicodeの範囲外(負や,$\texttt{"10FFFF}=1114111$を超えた場合) + にくることは想定されていない. +% \end{list} %<*en> @@ -7239,7 +7518,7 @@ These whatsits will be removed during the process of inserting \textbf{JAglue}s. これらのwhatsitノードは\textbf{JAglue}の挿入処理の間に取り除かれる. % -%\subsection{Stack System of \LuaTeX-ja} +%\subsection{Stack system of \LuaTeX-ja} %\subsection{\LuaTeX-jaのスタックシステム} \label{ssec-stack} @@ -7419,7 +7698,7 @@ To solve this problem, we use another trick: the assignment % %<*en> -\subsection{Lua Functions of the Stack System} +\subsection{Lua functions of the stack system} In this subsection, we will see how a user use \LuaTeX-ja's stack system to store some data which obeys the grouping of \TeX. % @@ -7625,7 +7904,7 @@ end %\section{Linebreak after a Japanese Character} %\section{和文文字直後の改行} \label{sec-lbreak} -%\subsection{Reference: Behavior in \pTeX} +%\subsection{Reference: behavior in \pTeX} %\subsection{参考:\pTeX の動作} %<*en> In~\pTeX, a line break after a Japanese character doesn't emit a space, @@ -7754,6 +8033,7 @@ to State~$M$ (middle of line) sometimes. %\subsection{Behavior in \LuaTeX-ja} %\subsection{\LuaTeX-jaの動作} + \label{ssec:lineend} %<*en> States in the input processor of \LuaTeX\ is the same as that of \TeX, and they can't be customized by any callbacks. Hence, we can only use @@ -7768,14 +8048,16 @@ space must be done \emph{just before} an input line is read. Considering these situations, handling of an end-of-line in \LuaTeX-ja are as follows: \begin{quote} -A character \texttt{U+FFFFF} (its category code is set to 14~(\textit{comment}) by -\LuaTeX-ja) is appended to an input line, \emph{before \LuaTeX\ actually +A character whose character code is \cs{ltjlineendcomment}% +\footnote{Its default value is \texttt{"FFFFF}, so \texttt{U+FFFFF} is used. +The category code of \texttt{U+FFFFF} is set to 14~(\textit{comment}) by +\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 \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}). +\item The category code of \cs{ltjlineendcomment} itself is 14~(\textit{comment}). \item The input line matches the following ``regular expression'': \[ (\text{any char})^*(\textbf{JAchar}) @@ -7803,7 +8085,7 @@ there is a space before ``u''. This follows from following reasons: \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}, -the comment character \texttt{U+FFFFF} is appended to this line, +the comment character (whose character code is \cs{ltjlineendcomment}) 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, ``い'' is considered as an \textbf{ALchar}. @@ -7828,13 +8110,15 @@ emits a space. \begin{quote} 各入力行に対し,\emph{その入力行が読まれる前の内部状態で} -以下の3条件が満たされている場合,\LuaTeX-jaは\texttt{U+FFFFF}の文字 -\footnote{この文字はコメント文字として扱われるように\LuaTeX-ja内部で設定をしている.} +以下の3条件が満たされている場合,\LuaTeX-jaは\cs{ltjlineendcomment}番の文字 +\footnote{\cs{ltjlineendcomment}の既定値は\texttt{"FFFFF}であるので, + 既定では\texttt{U+FFFFF}が使われることになる.この文字はコメント文字として扱われるように + \LuaTeX-ja内部で設定をしている.}% を末尾に追加する.よって,その場合に改行は空白とは見做されないこととなる. \begin{enumerate} \item \cs{endlinechar}の文字\footnote{普通は,改行文字(文字コード13番)である.} のカテゴリーコードが5~(\textit{end-of-line})である. -\item \texttt{U+FFFFF}のカテゴリーコードが14~(\textit{comment})である. +\item \cs{ltjlineendcomment}のカテゴリーコードが14~(\textit{comment})である. \item 入力行は次の「正規表現」にマッチしている: \[ (\text{any char})^*(\textbf{JAchar}) @@ -7864,7 +8148,7 @@ u \begin{itemize} \item 3行目を \texttt{process\_input\_buffer} で処理する時点では, 「あ」は\textbf{JAchar}(和文扱い)である.よって3行目は\textbf{JAchar}で終わることになり, - コメント文字 \texttt{U+FFFFF} が追加される. + \cs{ltjlineendcomment}番のコメント文字が追加される. よって,直後の改行文字は無視されることになり,空白は入らない. \item 4行目を \texttt{process\_input\_buffer} で処理する時点では, 「い」は\textbf{ALchar}である.よって4行目は\textbf{ALchar}で終わることになり, @@ -8637,7 +8921,7 @@ a patch \Pkg{jlisting.sty}~(\cite{jlisting}) resolves the problem forcibly. %<*en> In \LuaTeX-ja, the problem is resolved by using the \verb+process_input_buffer+ callback. -The callback function inserts the output command (active character \texttt{U+FFFFF}) +The callback function inserts the output command (active character \cs{ltjlineendcomment}) before each letter above \texttt{U+0080}. This method can omits the process to make all Japanese characters active (most of the activated characters are not used in many cases). @@ -8645,7 +8929,7 @@ This method can omits the process to make all Japanese characters active %<*ja> \LuaTeX-jaでは,\verb+process_input_buffer+ コールバックを利用することで, 「各行に出現する\texttt{U+0080}以降の文字に対して,それらの出力命令を前置する」 -という方法をとっている.出力命令としては,アクティブ文字化した \texttt{U+FFFFF} を用いている. +という方法をとっている.出力命令としては,アクティブ文字化した\cs{ltjlineendcomment}を用いている. これにより,(入力には使用されていないかもしれない)和文文字をもすべてアクティブ化する手間もなく, 見通しが良い実装になっている. % @@ -8664,45 +8948,45 @@ then the patch \Pkg{lltjp-listings} is loaded automatically at \verb+\begin{docu %\subsection{Notes and additional keys} %\subsection{注意} -%<*en> -\paragraph{Escaping to \LaTeX} -We used the \verb+process_input_buffer+ callback to output \textbf{JAchar}s. -But it has a drawback; any commands whose name contains a \textbf{JAchar} -cannot be used in any ``escape to \LaTeX''. +% %<*en> +% \paragraph{Escaping to \LaTeX} +% We used the \verb+process_input_buffer+ callback to output \textbf{JAchar}s. +% But it has a drawback; any commands whose name contains a \textbf{JAchar} +% cannot be used in any ``escape to \LaTeX''. -Consider the following input: -% -%<*ja> -\paragraph{\LaTeX へのエスケープ} -日本語対応を行うために \verb+process_input_buffer+ を使用したことで, -\texttt{texcl},~\texttt{escapeinside}といった\emph{「\LaTeX へのエスケープ」中では, -\textbf{JAchar}を名称の一部に含む制御綴は使用不可能}である. -例えば次のような入力を考えよう: -% -\begin{verbatim*} -\begin{lstlisting}[escapechar=\#] -#\ほげ xぴよ# -\end{lstlisting} -\end{verbatim*} -%The line~2 is transformed by the callback to -%ここで,2行目は \verb+process_input_buffer+ の作用により, -\begin{lstlisting}[showspaces, escapechar=\!] -#\!\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+#+''), -the category code of \texttt{U+FFFFF} is set to 9~(\emph{ignored}). -Hence the control symbol ``\cs{}\IVSA FFFFF'' will be executed, -instead of ``\verb+\ほげ+''. -% -%<*ja> -と変換されてから,実際の処理に回される. -「\verb+#+」で挟まれた「\LaTeX へのエスケープ」中では\ -\texttt{U+FFFFF} のカテゴリーコードは9~(\textit{ignored})となるので, -結局「\verb+\ほげ+」の代わりに -「\cs{}\IVSA FFFFF」というcontrol symbolが実行されることになる. -% +% Consider the following input: +% % +% %<*ja> +% \paragraph{\LaTeX へのエスケープ} +% 日本語対応を行うために \verb+process_input_buffer+ を使用したことで, +% \texttt{texcl},~\texttt{escapeinside}といった\emph{「\LaTeX へのエスケープ」中では, +% \textbf{JAchar}を名称の一部に含む制御綴は使用不可能}である. +% 例えば次のような入力を考えよう: +% % +% \begin{verbatim*} +% \begin{lstlisting}[escapechar=\#] +% #\ほげ xぴよ# +% \end{lstlisting} +% \end{verbatim*} +% %The line~2 is transformed by the callback to +% %ここで,2行目は \verb+process_input_buffer+ の作用により, +% \begin{lstlisting}[showspaces, escapechar=\!] +% #\!\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+#+''), +% the category code of \texttt{U+FFFFF} is set to 9~(\emph{ignored}). +% Hence the control symbol ``\cs{}\IVSA FFFFF'' will be executed, +% instead of ``\verb+\ほげ+''. +% % +% %<*ja> +% と変換されてから,実際の処理に回される. +% 「\verb+#+」で挟まれた「\LaTeX へのエスケープ」中では\ +% \texttt{U+FFFFF} のカテゴリーコードは9~(\textit{ignored})となるので, +% 結局「\verb+\ほげ+」の代わりに +% 「\cs{}\IVSA FFFFF」というcontrol symbolが実行されることになる. +% % %<*en> \paragraph{Variation selectors} @@ -8818,7 +9102,7 @@ With this key, the above input now produces better output. \end{lstlisting} % -%\subsection{Class of Characters} +%\subsection{Class of characters} %\subsection{文字種} %Roughly speaking, the \Pkg{listings} package processes input as follows: @@ -8948,7 +9232,7 @@ Letter, Other, Kanji, Open, Closeのどれに属するかは次によって決 % \begin{itemize} %\item \textbf{ALchar}s above or equal to~\texttt{U+0080} are classified as Letter. -%\item (\texttt{U+0080}以降の)\textbf{ALchar}は,すべてLetter扱いである. +%\item \<(\texttt{U+0080}以降の)\textbf{ALchar}は,すべてLetter扱いである. %\item \textbf{JAchar}s are classified in the order as follows: %\item \textbf{JAchar}については,以下の順序に従って文字種を決める: @@ -9125,13 +9409,13 @@ JFM中にある文字クラス$n$の定義の が連続した場合に,$p$のフォントに対応したが持つ「異体字情報」に従って出力するグリフを変える. しかし,単に$p.\textit{char}$を変更するだけでは,後から -font featureの適用(すぐ下)により置換される可能性がある.そのため, +OpenType機能の適用(すぐ下)により置換される可能性がある.そのため, \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}に変換する.この処理は,\cs{CID}, \cs{UTF}やIVSによる置換が, -font featureの適用で上書きされてしまうのを防止するためである. +OpenType機能の適用で上書きされてしまうのを防止するためである. \item[\tt ltj.main\_process] \textbf{JAglue}の挿入処理(\ref{sec-jfmglue}章)と, JFMの指定に従って各\textbf{JAchar}の「寸法を補正」することを行う. \end{description} @@ -9227,7 +9511,7 @@ CMapが必要である. 縦組時における幅を格納している.構造は以下の通り: % %<*en> -\subsection{Use of Cache} +\subsection{Use of cache} \LuaTeX-ja uses the following cache: \begin{cslist}