X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fluatexja.dtx;h=bd1ec5f387546644d8c7ddd3c53ec74d83ce72d0;hb=26c57c7267d540f3e7d56f63461840c877c10e3d;hp=bb3a8cf39d9dcd4d013700803ef647441d2843c8;hpb=ec6db6e5cb650db4e2209f30896e7b2e3ae31c82;p=luatex-ja%2Fluatexja.git diff --git a/doc/luatexja.dtx b/doc/luatexja.dtx index bb3a8cf..bd1ec5f 100644 --- a/doc/luatexja.dtx +++ b/doc/luatexja.dtx @@ -567,7 +567,7 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}. %The following packages are needed for the \LuaTeX-ja\ package. %\LuaTeX-jaパッケージには,次のパッケージ類が必要である. \begin{itemize} -\item \LuaTeX\ snapshot rev~5024 (or later) +\item \LuaTeX\ snapshot rev~5106 (or later) \item \Pkg{luaotfload} v2.5 (or later) \item \Pkg{adobemapping} (Adobe cmap and pdfmapping files) \item \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe) @@ -1086,8 +1086,7 @@ plain \TeX で和文フォントを変更するためには, For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (in \texttt{plfonts.dtx}). % %<*ja> -\LaTeXe については,\LuaTeX-jaではフォント選択システムを\pLaTeXe\ (\texttt{plfonts.dtx}) -の大部分をそのまま採用している. +\LaTeX で用いる際には,\pLaTeXe\ (\texttt{plfonts.dtx})用のフォント選択機構の大部分を流用している. % \begin{itemize} %<*en> @@ -1096,8 +1095,8 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ ( attributes of Japanese fonts. % %<*ja> -\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape}, そして - \cs{selectfont} が和文フォントの属性を変更するために使用できる. +\item 和文フォントの属性を変更するには,\cs{fontfamily}, \cs{fontseries}, \cs{fontshape}, そして + \cs{selectfont} を用いる. % %<*en> @@ -2439,6 +2438,48 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$ \end{table} % +%<*en> +\subsection{\emph{kinsoku} parameters and OpenType features} +Among parameters which related to Japanese word-wrapping process (\emph{kinsoku shori}), +\begin{quote} + \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty}, + \Param{postbreakpenalty}~and~\Param{kcatcode} +\end{quote} +are stored by each character codes. ... + +For example, a fullwidth katakana ``ア'' on line~10 in the below input is replaced to +its halfwidth variant ``ア'', by \verb+hwid+ feature. +However, the penalty inserted after it is 10 which is the \Param{postbreakpenalty} of +``ア'', not 20. +% +%<*ja> +\subsection{禁則処理関連パラメータとfont feature} +禁則処理や \Param{kanjiskip}, \Param{xkanjiskip} の挿入に関連したパラメータのうち +\begin{quote} + \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty}, + \Param{postbreakpenalty}, \Param{kcatcode} +\end{quote} +は,文字コードごとに設定する量である. + +\Pkg{fontspec}パッケージを使う(\ref{ssec-fontspec}節)場合など, +各種のOpenType featureを適用することもあると思うが,前段落に述べたパラメータ類は, +\emph{OpenType featureの適用前の文字コードによって判定される.} +例えば,以下の例において10行目の「ア」は,\verb+hwid+ featureの適用により半角カタカナの「ア」 +に置き換わる.しかし,その直後に挿入される \Param{postbreakpenalty}は,置換前の「ア」に対する値10である. +% + +\begin{LTXexample}[width=0.2\textwidth] +\ltjsetparameter{postbreakpenalty={`ア, 10}} +\ltjsetparameter{postbreakpenalty={`ア, 20}} + +\newcommand\showpostpena[1]{% + \leavevmode\setbox0=\hbox{#1\hbox{}}% + \unhbox0\setbox0=\lastbox\the\lastpenalty} + +\showpostpena{ア}, +\showpostpena{ア}, +{\addjfontfeatures{CharacterWidth=Half}\showpostpena{ア}} +\end{LTXexample} \clearpage %\part{Reference} @@ -4220,8 +4261,8 @@ we specify to %<*ja> \paragraph{文字クラスの決定} -文字からその文字の属する文字クラスを算出する過程は少々複雑である. -次の内容を一部に含んだ \texttt{jfm-test.lua} を用いて説明する. +文字からその文字の属する文字クラスを算出する過程について, +次の内容を含んだ \texttt{jfm-test.lua} を用いて説明する. % %<*en> \paragraph{Character to character classes} @@ -4265,17 +4306,17 @@ applying font features by \Pkg{luaotfload}}. \item JFMによれば,この「ヒ」のグリフの文字クラスは2000である. \item 以上により文字クラス2000とみなされるため,結果として「ヒ」の幅は半角だと認識される. \end{enumerate} -この例は,\emph{文字クラスの決定はfont featureの適用によるグリフ置換の後に行われる}ことを +この例は,\emph{文字クラスの決定はfont featureの適用によるグリフ置換の結果に基づく}ことを 示している. % %<*en> -However, ... -Consider the following input: +However, if the class determined by the glyph after application of features is zero, +\LuaTeX-ja adopts the class determined by the glyph \emph{before} application of features. +The following input is an example. % %<*ja> -但し,JFMによって決まる置換後のグリフの文字クラスが0である場合は, -状況は異なる. +但し,JFMによって決まる置換後のグリフの文字クラスが0である場合は,置換前の文字クラスを採用する. % \begin{LTXexample}[width=0.3\textwidth] \jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+vert @@ -4283,11 +4324,11 @@ Consider the following input: \end{LTXexample} %<*en> Here, the character class of the ideographic full stop ``。''~(\texttt{U+3002}) is determined -as following: +as follows: \begin{enumerate} \item As the case of ``ヒ'', the ideographic full stop ``。'' is converted to its vertical - form ``\char"FE12''~(\texttt{U+FE12}).%" -\item The character class of ``\char"FE12'' is \emph{zero}. + form ``\char"FE12''~(\texttt{U+FE12}) by \verb+vert+ feature.%" +\item The character class of ``\char"FE12'', according to the JFM is \emph{zero}. \item However, \LuaTeX-ja remembers that this ``\char"FE12'' is obtained from ``。'' by font features. The character class of ``。'' is \emph{non-zero value}, namely, 2000. \item Hence the ideographic full stop ``。'' in above belongs the character class~2000. @@ -4755,7 +4796,7 @@ is the position of \verb+hpack_filter+ callback in the source of \LuaTeX, see Section~\ref{sec-para}. % %<*ja> -先に述べたように,\LuaTeX-jaのほとんどの内部パラメータにアクセスするには +先に述べたように,\LuaTeX-jaの内部パラメータにアクセスするには \cs{ltjsetparameter}(または \cs{ltjglobalsetparameter})と \cs{ltjgetparameter} を用いる. \LuaTeX-jaが\pTeX のような文法(例えば,\verb+\prebreakpenalty`)=10000+)を 採用しない理由の一つは,\LuaTeX のソースにおける \verb+hpack_filter+ @@ -4850,7 +4891,15 @@ At the present version, the lowermost bit of indicates \end{lstlisting} と,最大値の10000が標準で指定されている.他にも,小書きのカナなど,絶対禁止とい うわけではないができれば行頭にはきて欲しくない場合に,0と - 10000の間の値を指定するのも有用であろう. + 10000の間の値を指定するのも有用であろう. + +\pTeX では,\cs{prebreakpenalty}, \cs{postbreakpenalty}において, +\begin{itemize} +\item 一つの文字に対して,pre, postどちらか一つしか指定することができない% + \footnote{後から指定した方で上書きされる.} +\item pre, post合わせて256文字分の情報を格納することしかできない +\end{itemize} +という制限があったが,\LuaTeX-jaではこれらの制限は解消されている. % %<*en> Set a penalty which is inserted automatically before the character , @@ -4860,8 +4909,15 @@ with one of closing brackets ``〗'', so \LuaTeX-ja sets \ltjsetparameter{prebreakpenalty={`〙,10000}} \end{lstlisting} by default. -% +\pTeX\ has following restrictions on \cs{prebreakpenalty} and \cs{postbreakpenalty}, +but they don't exist in \LuaTeX-ja: +\begin{itemize} + \item Both \cs{prebreakpenalty} and \cs{postbreakpenalty} cannot be set +for the same character. + \item We can set \cs{prebreakpenalty} and \cs{postbreakpenalty} up to 256~characters. +\end{itemize} +% \item[\DParam{postbreakpenalty}\,=\{,\}$^\ast$] [\cs{postbreakpenalty}]\ @@ -4869,25 +4925,10 @@ by default. %<*ja> 文字コードの\textbf{JAchar}が行末にくることを抑止するために, この文字の後に挿入/追加されるペナルティの量を指定する. - -\pTeX では,\cs{prebreakpenalty}, \cs{postbreakpenalty}において, -\begin{itemize} -\item 一つの文字に対して,pre, postどちらか一つしか指定することができない% - \footnote{後から指定した方で上書きされる.} -\item pre, post合わせて256文字分の情報を格納することしかできない -\end{itemize} -という制限があったが,\LuaTeX-jaではこれらの制限は解消されている. % %<*en> Set a penalty which is inserted automatically after the character , 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 \cs{prebreakpenalty} and \cs{postbreakpenalty} cannot be set -for the same character. - \item We can set \cs{prebreakpenalty} and \cs{postbreakpenalty} up to 256~characters. -\end{itemize} % \item[\DParam{jatextfont}\,=\{,\}$^\ast$]