OSDN Git Service

wip
[luatex-ja/luatexja.git] / doc / luatexja.dtx
index b2c53a8..054470b 100644 (file)
 %%%%%%%% fonts
 \usepackage{luatexja-otf}
 \usepackage[no-math]{fontspec}
-\setmainfont[Ligatures=TeX]{Linux Libertine O}
+\setmainfont[Ligatures=TeX,RawFeature=-notdef]{Linux Libertine O}
 \setmonofont[Scale=MatchLowercase, ItalicFont=lmmono10-italic.otf,
-  BoldFont=lmmonolt10-bold.otf, BoldItalicFont=lmmonolt10-boldoblique.otf
+  BoldFont=lmmonolt10-bold.otf, BoldItalicFont=lmmonolt10-boldoblique.otf,
+  RawFeature=-notdef
 ]{lmmono10-regular.otf}
-\setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Linux Biolinum O}
+\setsansfont[Scale=MatchLowercase,Ligatures=TeX,RawFeature=-notdef]{Linux Biolinum O}
 \usepackage[match]{luatexja-fontspec}
 \usepackage[kozuka-pr6n]{luatexja-preset}
 \usepackage{unicode-math}
@@ -650,11 +651,11 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 %<ja>\LuaTeX-jaパッケージの動作には次のパッケージ類が必要である.
 \begin{itemize}
 \item \LuaTeX\ 1.0.0 (or later)
-\item \Pkg{luaotfload} v2.6 (or later)
+\item recent \Pkg{luaotfload} (v2.98 or later recommended)
 \item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
 \item \Pkg{etoolbox}, \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe)
 \item \Pkg{ltxcmds}, \Pkg{pdftexcmds}, \Pkg{filehook}, \Pkg{atbegshi}
-\item \Pkg{fontspec} v2.5c (or later)
+\item \Pkg{fontspec} v2.7c (or later)
 %<en>\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/})
 %<ja>\item \emph{IPAexフォント(\url{http://ipafont.ipa.go.jp/})}
 \end{itemize}
@@ -813,28 +814,28 @@ For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
 %</ja>
 %<*en>
 \item \LuaTeX-ja is very slower than \pTeX.
-  Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
-  about 30\% faster than \LuaTeX, but not always%
-  \footnote{%
-    LuaJIT has several limitations such as 1\,GB~(or~2\,GB) memory limitation.
-       So typesetting a large source by LuaJIT\TeX may cause an ``out of memory'' error,
-       or failure of loading/saving font cache of \Pkg{luaotfload}.
-  }.
+  Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
+  about 30\% faster than \LuaTeX, but not always%
+  \footnote{%
+    LuaJIT has several limitations such as 1\,GB~(or~2\,GB) memory limitation.
+  %    So typesetting a large source by LuaJIT\TeX may cause an ``out of memory'' error,
+  %    or failure of loading/saving font cache of \Pkg{luaotfload}.
+  }.
 %</en>
 %<*ja>
 \item \LuaTeX-jaは動作が\pTeX に比べて非常に遅い.
 コードを調整して徐々に速くしているが,まだ満足できる速度ではない.
-LuaJIT\TeX を用いると\LuaTeX のだいたい1.3倍の速度で動くようであるが,
-IPA mj明朝などの大きいフォントを用いた場合には\LuaTeX よりも遅くなることもある
-  \footnote{%
-    LuaJITは1\,GB(あるいは2\,GB)のメモリ制限など,いくつかの制限事項があることが知られている.そのため,
-    大きいソースファイルをLuaJIT\TeX でタイプセットするとLuaの側で``out of memory''エラーが発生してしまう.
-    本ドキュメントのように,「各ページごとにLuaで使っているメモリ容量をチェックし,
-    必要なら\texttt{collectgarbage("collect")}でガベージコレクタを実行」すると
-    状況が多少改善されるかもしれない.
-       また,LuaJIT\TeX でIPA mj明朝などの「大きい」フォントを利用した場合はフォントキャッシュの保存に失敗し,
-       毎回フォントを読み込まなければならず結果的に時間がかかることがある.
-  }.
+LuaJIT\TeX を用いると\LuaTeX のだいたい1.3倍の速度で動くようであるが,
+IPA mj明朝などの大きいフォントを用いた場合には\LuaTeX よりも遅くなることもある
+  \footnote{%
+    LuaJITは1\,GB(あるいは2\,GB)のメモリ制限など,いくつかの制限事項があることが知られている.そのため,
+    大きいソースファイルをLuaJIT\TeX でタイプセットするとLuaの側で``out of memory''エラーが発生してしまう.
+    本ドキュメントのように,「各ページごとにLuaで使っているメモリ容量をチェックし,
+    必要なら\texttt{collectgarbage("collect")}でガベージコレクタを実行」すると
+    状況が多少改善されるかもしれない.
+%      また,LuaJIT\TeX でIPA mj明朝などの「大きい」フォントを利用した場合はフォントキャッシュの保存に失敗し,
+%      毎回フォントを読み込まなければならず結果的に時間がかかることがある.
+  }.
 %</ja>
 
 \item%
@@ -1771,7 +1772,7 @@ For example, the code below is just the default setting of \LuaTeX-ja, and
 it sets
 \begin{itemize}
  \item a character which belongs character ranges 1,~4, 5, and~8 is \textbf{ALchar},
- \item a character which belongs character ranges 2,~3, 6, and~7 is \textbf{JAchar}.
+ \item a character which belongs character ranges 2,~3, 6, 7,~and~9 is \textbf{JAchar}.
 \end{itemize}
 %</en>
 %<*ja>
@@ -1780,11 +1781,11 @@ it sets
 例えば,以下は\LuaTeX-jaの初期設定であり,次の内容を設定している:
 \begin{itemize}
  \item 1番,4番,5番,8番の文字範囲に属する文字は\textbf{ALchar}.
- \item 2番,3番,6番,7番の文字範囲に属する文字は\textbf{JAchar}.
+ \item 2番,3番,6番,7番,9番の文字範囲に属する文字は\textbf{JAchar}.
 \end{itemize}
 %</ja>
 \begin{lstlisting}
-\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
+\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}
 \end{lstlisting}
 %<*en>
 The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
@@ -1844,52 +1845,57 @@ these eight ranges belongs to the character range~217.
 %</ja>
 \begin{description}
 %<*en>
-
 \item[Range~8${}^{\text{A}}$] 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:
+        (Latin-1 Supplement) and JIS~X~0208 (a basic character set for Japanese).
+  The character list is indicated in \autoref{tab:rng8}.
 %</en>
 %<*ja>
 \item[範囲8${}^{\text{A}}$] ISO~8859-1の上位領域(ラテン1補助)と
-                             JIS~X~0208の共通部分.この文字範囲は
-                             以下の文字で構成される:
+  JIS~X~0208の共通部分.文字のリストは\autoref{tab:rng8}を参照.
 %</ja>
-\begin{multicols}{2}
-\begin{itemize}
-\def\ch#1#2{\item \char"#1\ (\texttt{U+00#1}, #2)}%"
-\ch{A7}{Section Sign}
-\ch{A8}{Diaeresis}
-\ch{B0}{Degree sign}
-\ch{B1}{Plus-minus sign}
-\ch{B4}{Spacing acute}
-\ch{B6}{Paragraph sign}
-\ch{D7}{Multiplication sign}
-\ch{F7}{Division Sign}
-\end{itemize}
-\end{multicols}
+\begin{table}[!tb]
+%<en>\caption{Characters in predefined character range~8.}\medskip
+%<ja>\caption{文字範囲8に指定されている文字.}
+\label{tab:rng8}
+\centering\footnotesize
+\def\ch#1{\char"#1~(\texttt{U+00#1})}%"
+\begin{tabular}{llll}
+\ch{A7}&{Section Sign}&
+\ch{A8}&{Diaeresis}\\
+\ch{B0}&{Degree sign}&
+\ch{B1}&{Plus-minus sign}\\
+\ch{B4}&{Spacing acute}&
+\ch{B6}&{Paragraph sign}\\
+\ch{D7}&{Multiplication sign}&
+\ch{F7}&{Division Sign}
+\end{tabular}
+\end{table}
 
 %<*en>
-\item[Range~1${}^{\text{A}}$] Latin characters that some of them are included in Adobe-Japan1-6.
-This range consists of the following Unicode ranges, \emph{except characters in the range~8 above}:
+\item[Range~1${}^{\text{A}}$] Latin characters that some of them are included in Adobe-Japan1-7.
+  This range consists of the Unicode ranges indicated in \autoref{tab:rng1},
+  \emph{except characters in the range~8 above}.
 %</en>
 %<*ja>
-\item[範囲1${}^{\text{A}}$] ラテン文字のうち,Adobe-Japan1-6との共通部分があるもの.
-                             この範囲は以下のUnicodeのブロックのうち
-                             \emph{ç¯\84å\9b²8ã\82\92é\99¤ã\81\84ã\81\9f\83¨å\88\86ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bï¼\9a
+\item[範囲1${}^{\text{A}}$] ラテン文字のうち,Adobe-Japan1-7との共通部分があるもの.
+                             この範囲は\autoref{tab:rng1}で示したUnicodeのブロックのうち
+                             \emph{ç¯\84å\9b²8ã\82\92é\99¤ã\81\84ã\81\9f\83¨å\88\86ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bï¼\8e
 %</ja>
-\begin{multicols}{2}
-\begin{itemize}
-\item \texttt{U+0080}--\texttt{U+00FF}: Latin-1 Supplement
-\item \texttt{U+0100}--\texttt{U+017F}: Latin Extended-A
-\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
-%<en>\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
-%<ja>\par\
-\end{itemize}
-\end{multicols}
+\begin{table}[!tb]
+%<en>\caption{Unicode blocks in predefined character range~1.}\medskip
+%<ja>\caption{文字範囲1に指定されているUnicodeブロック.}
+\label{tab:rng1}
+\centering\footnotesize
+\begin{tabular}{llll}
+ \texttt{U+0080}--\texttt{U+00FF}&Latin-1 Supplement&
+ \texttt{U+0100}--\texttt{U+017F}&Latin Extended-A\\
+ \texttt{U+0180}--\texttt{U+024F}& Latin Extended-B&
+ \texttt{U+0250}--\texttt{U+02AF}& IPA Extensions\\
+ \texttt{U+02B0}--\texttt{U+02FF}& Spacing Modifier Letters&
+ \texttt{U+0300}--\texttt{U+036F}& Combining Diacritical Marks\\
+ \texttt{U+1E00}--\texttt{U+1EFF}&Latin Extended Additional
+\end{tabular}
+\end{table}
 %<*en>
 \item[Range~2${}^{\text{\kern.1emJ}}$] Greek and Cyrillic letters. JIS~X~0208 (hence most of Japanese
           fonts) has some of these characters.
@@ -1907,11 +1913,11 @@ This range consists of the following Unicode ranges, \emph{except characters in
 \end{itemize}
 \end{multicols}
 %<*en>
-\item[Range~3${}^{\text{\kern.1emJ}}$] Punctuations and Miscellaneous symbols. The block list is
+\item[Range~3${}^{\text{\kern.1emJ}}$] Miscellaneous symbols. The block list is
           indicated in \autoref{tab:rng3}.
 %</en>
 %<*ja>
-\item[範囲3${}^{\text{\kern.1emJ}}$] 句読点と記号類.ブロックのリストは\autoref{tab:rng3}%
+\item[範囲3${}^{\text{\kern.1emJ}}$] 記号類.ブロックのリストは\autoref{tab:rng3}%
                              に示してある.
 %</ja>
 \begin{table}[!tb]
@@ -1921,7 +1927,6 @@ This range consists of the following Unicode ranges, \emph{except characters in
 \catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
 \centering\footnotesize
 \begin{tabular}{llll}
-"2000--"206F&General Punctuation&
 "2070--"209F&Superscripts and Subscripts\\
 "20A0--"20CF&Currency Symbols&
 "20D0--"20FF&Comb.\ Diacritical Marks for Symbols\\
@@ -1942,23 +1947,77 @@ This range consists of the following Unicode ranges, \emph{except characters in
 \end{tabular}
 \end{table}
 %<*en>
+\item[Range~9${}^{\text{J}}$] The intersection of the ``General Punctuation'' block
+  (\texttt{U+2000}--\texttt{U+206F})
+  and Adobe-Japan1-7 character collection.
+  This character range characters in \sutoref{tab:rng9}.
+%</en>
+%<*ja>
+\item[範囲9${}^{\text{J}}$] Unicodeの「一般句読点」ブロック(\texttt{U+2000}--\texttt{U+206F})と
+  Adobe-Japan1-7の共通部分.
+  この文字範囲は\autoref{tab:rng9}に示した文字で構成される.
+%</ja>
+\begin{table}[!tb]
+%<en>\caption{Characters in predefined character range~9.}\medskip
+%<ja>\caption{文字範囲9に指定されている文字.}
+\label{tab:rng9}
+\centering\footnotesize
+\def\ch#1{\char"20#1~(\texttt{U+20#1})}%"
+% 13: JIS X0213, AJ, Adobe-Japan-1 only
+\begin{tabular}{llllll}
+  \ch{02}&{En space}&AJ&
+  \ch{10}&{Hyphen}&\\
+  \ch{11}&{Non-breaking hyphen}&AJ&
+  \ch{13}&{En dash}&13\\
+  \ch{14}&{Em dash}&&
+  \ch{15}&{Horizontal bar}&\\
+  \ch{16}&{Double vertical line}&&
+  \ch{18}&{Left single quotation mark}&\\
+  \ch{19}&{Right single quotation mark}&&
+  \ch{1A}&{Single low-9 quotation mark}&AJ\\
+  \ch{1C}&{Left double quotation mark}&&
+  \ch{1D}&{Right double quotation mark}&\\
+  \ch{1E}&{Double low-9 quotation mark}&AJ&
+  \ch{20}&{Dagger}&\\
+  \ch{21}&{Double dagger}&&
+  \ch{22}&{Bullet}&13\\
+  \ch{25}&{Two dot leader}&&
+  \ch{26}&{Horizontal ellipsis}&\\
+  \ch{30}&{Per mille sign}&&
+  \ch{32}&{Prime}&\\
+  \ch{33}&{Double prime}&&
+  \ch{39}&{Single left-pointing angle quot.}&AJ\\
+  \ch{3A}&{Single right-pointing angle quot.}&AJ&
+  \ch{3B}&{Reference mark}&\\
+  \ch{3C}&{Double exclamation mark}&13&
+  \ch{3E}&{Overline}&\\
+  \ch{3F}&{Undertie}&13&
+  \ch{42}&{Asterism}&13\\
+  \ch{44}&{Fraction slash}&AJ&
+  \ch{47}&{Double question mark}&13\\
+  \ch{48}&{Question exclamation mark}&13&
+  \ch{49}&{Exclamation question mark}&13\\
+  \ch{51}&{Two asterisks aligned vertically}&13
+\end{tabular}
+\end{table}
+%<*en>
 \item[Range~4${}^{\text{A}}$] Characters usually not in Japanese fonts. This range consists
           of almost all Unicode blocks which are not in other
           predefined ranges. Hence, instead of showing the block list,
-          we put the definition of this range itself:
+          we put the definition of this range itself.
 %</en>
 %<*ja>
 \item[範囲4${}^{\text{A}}$] 通常和文フォントには含まれていない文字.
                              この範囲は他の範囲にないほとんど全てのUnicodeブロック
                              で構成されている.したがって,ブロックのリストを示す
-                             ä»£ã\82\8fã\82\8aã\81«ï¼\8cç¯\84å\9b²ã\81®å®\9a義ã\81\9dã\81®ã\82\82ã\81®ã\82\92示ã\81\99ï¼\9a
+                             ä»£ã\82\8fã\82\8aã\81«ï¼\8cç¯\84å\9b²ã\81®å®\9a義ã\81\9dã\81®ã\82\82ã\81®ã\82\92示ã\81\99ï¼\8e
 %</ja>
 \begin{lstlisting}
 \ltjdefcharrange{4}{%
    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
   "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
   "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
-  "1F300-"1FFFF
+  "1F300-"1FFFF, ... (characters in "2000-"206F which are not in range 9)
 } % non-Japanese
 \end{lstlisting}
 %<en>\item[Range~5${}^{\text{A}}$] Surrogates and Supplementary Private Use Areas.
@@ -1998,11 +2057,11 @@ This range consists of the following Unicode ranges, \emph{except characters in
 \end{tabular}
 \end{table}
 %<*en>
-\item[Range~7${}^{\text{\kern.1emJ}}$] Characters used in CJK languages, but not included in  Adobe-Japan1-6.
+\item[Range~7${}^{\text{\kern.1emJ}}$] Characters used in CJK languages, but not included in  Adobe-Japan1-7.
 The block list is indicated in \autoref{tab:rng7}.
 %</en>
 %<*ja>
-\item[範囲7${}^{\text{\kern.1emJ}}$] CJK言語で用いられる文字のうち,Adobe-Japan1-6
+\item[範囲7${}^{\text{\kern.1emJ}}$] CJK言語で用いられる文字のうち,Adobe-Japan1-7
                             含まれていないもの.
                             ブロックのリストは\autoref{tab:rng7}に示す.
 %</ja>
@@ -3856,7 +3915,7 @@ default Japanese fonts and JFMs for them:
   \item[\cs{ltj@stdyokojfm}]
 %<en>The default JFM for horizontal direction.
 %<ja>標準で用いる横組用JFM.
-  \item[\cs{ltj@stdyokojfm}]
+  \item[\cs{ltj@stdtatejfm}]
 %<en>The default JFM for vertical direction.
 %<ja>標準で用いる縦組用JFM.
 \end{cslist}
@@ -4692,7 +4751,7 @@ as follows:
 %<ja>\paragraph{仮想的な文字}
 %<en>\paragraph{Imaginary characters}
 %<*en>
-As described before, you can specify several \emph{imaginary characters} in
+As described before, you can specify several ``imaginary characters'' in
 \texttt{chars} field. The most of these characters are regarded as the
 characters of class 0 in \pTeX.
 As a result, \LuaTeX-ja can control typesetting finer than \pTeX.
@@ -4711,8 +4770,17 @@ The following is the list of imaginary characters:
 %%<ja>JFMやサイズが異なる2つの\textbf{JAchar}の間の境界として用いられる.
 
 \item['boxbdd']
-%<en>The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
-%<ja>hboxの先頭と末尾,及びインデントされていない(\cs{noindent} で開始された)段落の先頭を表す.
+%<*en>
+The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
+If a hbox~$b$ begins (resp.~ends) a glue or kern between this ``charater'' and a \textbf{JAchar},
+\textbf{JAglue} won't be inserted before(resp.~after) the hbox~$b$.
+\Param{kanjiskip}~and~\Param{xkanjiskip} around a hbox.
+%</en>
+%<*ja>
+hboxの先頭と末尾,及びインデントされていない(\cs{noindent} で開始された)段落の先頭を表す.
+この「文字」との間に設定したグルー・カーンがボックス$b$の先頭(もしくは末尾)に来た場合,
+  そのボックス$b$の直前(もしくは直後)には和文処理グルーは入らない.
+%</ja>
 
 \item['parbdd']
 %<en>The beginning of an (indented) paragraph.
@@ -7260,7 +7328,7 @@ for making the difference obvious.}
 \begin{description}
   \item[\texttt{lineend=[false,true,extended]}]
   行末文字の位置調整の機能を無効化(\texttt{false}),「行分割後に調整」の形で有効化(\texttt{true}),
-  「行分割の仮定で考慮」の形で有効化(\texttt{extended})する.
+  「行分割の過程で考慮」の形で有効化(\texttt{extended})する.
   \item[\texttt{priority=[false,true]}]
   優先順位付きの行長調整を無効化(\texttt{false}),または有効化(\texttt{true}).
   \item[\texttt{profile=[false,true]}]