X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fluatexja.dtx;h=0f95747b7d6aabb22297d9f946bf43c8d4c5a47f;hb=f702bd7ffe06f376115615e94ecd2527aa8cf34c;hp=b7809c9a2c03001daceca6bf2fbd3f557decd92c;hpb=2530f35ee3fc227da8df0bcfe8839cdf1c4ad505;p=luatex-ja%2Fluatexja.git
diff --git a/doc/luatexja.dtx b/doc/luatexja.dtx
index b7809c9..0f95747 100644
--- a/doc/luatexja.dtx
+++ b/doc/luatexja.dtx
@@ -16,10 +16,36 @@
\makeatletter
%%%%%%%%
\directlua{if jit then jit.on() end}
+\usepackage{metalogo,amsmath,array,tikz,pict2e,multienum,float}
+\usepackage{booktabs,multicol,luatexja-ruby}
+\usepackage[all]{xy}
+\usepackage{lltjext,alltt}
+
+%%%%%%%% fonts
+\usepackage{luatexja-otf}
+\directlua{luatexja.otf.enable_ivs()}
+\usepackage[match]{luatexja-fontspec}
+\usepackage[kozuka-pr6n]{luatexja-preset}
+\usepackage{unicode-math}
+\setmainfont[Ligatures=TeX]{Linux Libertine O}
+\setmonofont[Scale=MatchLowercase, ItalicFont=lmmono10-italic.otf,
+ BoldFont=lmmonolt10-bold.otf, BoldItalicFont=lmmonolt10-boldoblique.otf
+]{lmmono10-regular.otf}
+\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
+%
%<*en>
+\frenchspacing
\usepackage[margin=25mm,lmargin=30mm,rmargin=30mm,footskip=6mm]{geometry}
\usepackage{luatexja-adjust}\ltjdisableadjust
\parskip=\smallskipamount
+\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
@@ -31,11 +57,6 @@
\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
%
-\usepackage{amsmath,array,tikz,pict2e,multienum,float}
-\usepackage{booktabs,multicol,luatexja-ruby}
-\usepackage[all]{xy}
-\usepackage{lltjext,alltt}
-
%%%%%%%% listings
%%%%%%%% IVS
@@ -58,6 +79,7 @@
explpreset={numberstyle=\tiny, numbers=left, numbersep=1em, columns=fixed}
}
% Suppress output from showexpl to stdout.
+\makeatletter
\let\SX@Info\relax
%%%%%%%% colors
@@ -104,26 +126,6 @@
%\newtheorem{defn}{Definition}
%\newtheorem{defn}{å®ç¾©}
-%%%%%%%% fonts
-\usepackage{luatexja-otf}
-%\usepackage{lmodern}
-\directlua{luatexja.otf.enable_ivs()}
-\usepackage[match]{luatexja-fontspec}
-\usepackage[kozuka-pr6n]{luatexja-preset}
-\setmonojfont{KozGoPr6N-Regular.otf}
-%<*ja>
-\def\emph#1{\textbf{\textgt{#1}}}
-\def\headfont{\normalfont\bfseries\gtfamily}
-\usepackage{amssymb}
-%
-%<*en>
-\usepackage{unicode-math}
-\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
-\setsansfont[Scale=0.95,Ligatures=TeX]{TeX Gyre Heros}
-\setmathfont{xits-math.otf}
-\frenchspacing
-%
-
%%%%%%%% logo
\usepackage{metalogo}
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
@@ -133,13 +135,14 @@
\DeclareRobustCommand\upTeX{up\kern-.15em\TeX}
\DeclareRobustCommand\pLaTeX{p\kern-.05em\LaTeX}
\DeclareRobustCommand\pLaTeXe{p\kern-.05em\LaTeXe}
-\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\kern-.125em\pTeX}
+\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,
}
@@ -157,7 +160,8 @@
\vskip\belowcaptionskip}
\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
-\def\cs#1{\texttt{\upshape\textbackslash #1}}
+\def\cs#1{\texttt{\upshape
+ \texorpdfstring{\textbackslash\ltjsetparameter{autoxspacing=false}#1}{\textbackslash#1}}}
%%%%%%%%
\makeatother
@@ -170,9 +174,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}
@@ -269,14 +273,14 @@ scripts for appropriate callbacks.
ãå§ã¾ã£ãããã±ã¼ã¸ã§ããï¼
%
-%\subsection{Major Changes from \pTeX}
+%\subsection{Major changes from \pTeX}
%\subsection{\pTeX ããã®ä¸»ãªå¤æ´ç¹}
\label{ssec:chgptex}
%<*en>
The \LuaTeX-ja package is under much influence of \pTeX\ engine. The initial
-target of development was to implement features of \pTeX. However,
-implementing all feature of \pTeX\ is impossible,
+target of development was to implement features of \pTeX. However,
+implementing all feature of \pTeX\ is impossible,
since all process of \LuaTeX-ja must be implemented only by Lua and \TeX\ macros.
Hence \emph{\LuaTeX-ja is not a just porting of \pTeX; unnatural
specifications/behaviors of \pTeX\ were not adopted}.
@@ -301,7 +305,7 @@ For more detailed information, see Part~\ref{part-imp} or other sections of this
%
%<*en>
-\paragraph{Command names} \pTeX\ addes several primitives, such as \cs{kanjiskip},
+\paragraph{Command names} \pTeX\ addes several primitives, such as \cs{kanjiskip},
\cs{prebreakpenalty},~and,~\cs{ifydir}. They can be used as follows:
%
%<*ja>
@@ -314,7 +318,7 @@ For more detailed information, see Part~\ref{part-imp} or other sections of this
\prebreakpenalty`ã=100
\ifydir ... \fi
\end{verbatim}
-% However, we cannot use them under \LuaTeX-ja.
+% However, we cannot use them under \LuaTeX-ja.
% Instead of them, we have to write as the following.
% ã¯\LuaTeX-jaã«ã¯åå¨ããªãï¼\LuaTeX-jaã§ã¯ä»¥ä¸ã®ããã«è¨è¿°ãããã¨ã«ãªãï¼
\begin{verbatim}
@@ -324,13 +328,13 @@ For more detailed information, see Part~\ref{part-imp} or other sections of this
\ltjsetparameter{prebreakpenalty={`ã,100}}
\ifnum\ltjgetparemeter{direction}=4 ... \fi
\end{verbatim}
-%<*en>
+%<*en>
Note that \pTeX\ adds new two useful units, namely \texttt{zw}~and~\texttt{zh}.
-As shown above, they are changed by \cs{zw}~and\cs{zh} respectively, in \LuaTeX-ja.
+As shown above, they are changed by \cs{zw}~and~\cs{zh} respectively, in \LuaTeX-ja.
%
%<*ja>
-ç¹ã«æ³¨æãã¦ã»ããã®ã¯ï¼\pTeX ã§è¿½å ããã \texttt{zw} 㨠\texttt{zh} ã¨ããåä½ã
-\LuaTeX-ja ã§æ±ãã«ã¯ï¼\cs{zw}, \cs{zh} ã¨å¶å¾¡ç¶´ã®å½¢ã«ããªãã¨ãããªãã¨ããç¹ã§ããï¼
+ç¹ã«æ³¨æãã¦ã»ããã®ã¯ï¼\pTeX ã§è¿½å ããã \texttt{zw} 㨠\texttt{zh} ã¨ããåä½ã¯
+\LuaTeX-ja ã§ã¯ä½¿ç¨ã§ããï¼\cs{zw}, \cs{zh} ã¨å¶å¾¡ç¶´ã®å½¢ã«ããªãã¨ãããªãã¨ããç¹ã§ããï¼
%
%<*en>
@@ -350,7 +354,6 @@ In \pTeX, a line break after Japanese character is ignored (and
%
%<*en>
-
\paragraph{Spaces related to Japanese characters}
The insertion process of glues/kerns between two Japanese
characters and between a Japanese character and other characters
@@ -365,9 +368,9 @@ The insertion process of glues/kerns between two Japanese
\begin{itemize}
%<*en>
-\item As \LuaTeX's internal ligature handling is ``node-based''
+\item As \LuaTeX's internal ligature handling is \emph{node-based}
(\textit{e.g.}, \verb+of{}fice+ doesn't prevent ligatures), the
- insertion process of \textbf{JAglue} is now ``node-based''.
+ insertion process of \textbf{JAglue} is now \emph{node-based}.
%
%<*ja>
\item \LuaTeX ã®å
é¨ã§ã®ååã®æ±ãã¯ããã¼ãããåä½ã¨ãã¦è¡ãããããã«ãªã£ã¦ããï¼ä¾ãã°ï¼
@@ -419,17 +422,19 @@ The insertion process of glues/kerns between two Japanese
%<*en>
\paragraph{Directions}
-From version ********, \LuaTeX-ja supports vertical writing;
-but this feature must \emph{not} be confused with $\Omega$-style direction support of \LuaTeX\
-itself. ...
+From version~20150420.0, \LuaTeX-ja supports vertical writing.
+We implement this feature by using callbacks of \LuaTeX; so it must \emph{not} be confused
+with $\Omega$-style direction support of \LuaTeX\ itself.
+Due to implementation, the dimension returned by \cs{wd},~\cs{ht}, or~\cs{dp} depends
+on the content of the register \emph{only}. This is major difference with \pTeX.
%
%<*ja>
\paragraph{çµæ¹å}
-****çããã¯ï¼ä¸å®å®ãªããã\LuaTeX-ja ã«ããã縦çµã¿ããµãã¼ããã¦ããï¼
-ãªãï¼\LuaTeX æ¬ä½ãï¼$\Omega$æµã®çµæ¹åããµãã¼ããã¦ãããï¼ããã¨ã¯å
¨ãã®å¥ç©ã§ãããã¨
+20150420.0çããã¯ï¼ä¸å®å®ãªããã\LuaTeX-ja ã«ããã縦çµã¿ããµãã¼ããã¦ããï¼
+ãªãï¼\LuaTeX æ¬ä½ã$\Omega$æµã®çµæ¹åããµãã¼ããã¦ãããï¼ããã¨ã¯å
¨ãã®å¥ç©ã§ãããã¨
ã«æ³¨æãã¦ã»ããï¼
-\LuaTeX ã®ã³ã¼ã«ããã¯ãå®è£
ã«ããï¼ç¹ã«ç°ãªã£ãçµæ¹åã®ããã¯ã¹ãæ±ãå ´åã«ã¯
-\cs{wd}, \cs{ht}, \cs{dp}çã®ä»æ§ãç°ãªãã®ã§æ³¨æï¼è©³ç´°ã¯ç¬¬\ref{sec-direction}ç¯ãåç
§ï¼
+ç¹ã«ï¼ç°ãªã£ãçµæ¹åã®ããã¯ã¹ãæ±ãå ´åã«ã¯
+\cs{wd}, \cs{ht}, \cs{dp}çã®ä»æ§ã\pTeX ã¨ç°ãªãã®ã§æ³¨æï¼è©³ç´°ã¯ç¬¬\ref{sec-direction}ç« ãåç
§ï¼
%
%<*en>
@@ -443,7 +448,35 @@ Japanese characters in discretionary break (\cs{discretionary}) is not supported
ãã¦ã使ãããå ´å㯠\cs{hbox} ã§æ¬ããã¨ï¼
%
+%<*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,
+ 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} (and~\Pkg{luatexja-fontspec}) package, these characters are not typeset correctly.
+%
+%<*ja>
+\paragraph{ã®ãªã·ã£æåã»ããªã«æåã¨ISO~8859-1ã®è¨å·}
+æ¨æºã§ã¯ï¼\LuaTeX-jaã¯ã®ãªã·ã£æåãããªã«æåãåæãã©ã³ãã使ã£
+ ã¦çµãï¼ã®ãªã·ã£èªãªã©ãæ¬æ ¼çã«çµããªã©ãã®ç¶æ³ãæã¾ãããªãå ´åï¼
+ ããªã¢ã³ãã«ã«
+\begin{lstlisting}
+ \ltjsetparameter{jacharrange={-2,-3}}
+\end{lstlisting}
+ ãå
¥ããã¨
+ ä¸è¨ç¨®é¡ã®æåã¯æ¬§æãã©ã³ããç¨ãã¦çµã¾ããããã«ãªãï¼
+ 詳ãã説æã¯\ref{ssec-setrange}ç¯ãåç
§ãã¦ã»ããï¼
+ã¾ãï¼\P,~\S ã¨ãã£ãISO~8859-1ã®ä¸ä½é åã¨JIS~X~0208ã®å
±éé¨åã®æåã¯
+ æ¬ãã¼ã¸ã§ã³ããæ¨æºã§æ¬§ææ±ãã¨ãªãï¼\emph{ã½ã¼ã¹ä¸ã«ç´æ¥è¨è¿°ãã¦ã
+ \Pkg{fontspec}ããã±ã¼ã¸ï¼ããã³\Pkg{luatexja-fontspec}ããã±ã¼ã¸ï¼éèªã¿è¾¼ã¿ã®ç¶æ
ã§ã¯åºåãããªããªã£ã}ï¼
+ åææ±ãã§åºåããã«ã¯ \verb+\ltjjachar`§+ ã®ããã« \cs{ltjjachar} å½ä»¤
+ ã使ãã°ããï¼
+%
%\subsection{Notations}
%\subsection{ç¨èªã¨è¨æ³}
@@ -487,21 +520,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>
@@ -513,28 +546,28 @@ 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.
%\paragraph{ããã¸ã§ã¯ãWiki} ããã¸ã§ã¯ãWikiã¯æ§ç¯ä¸ã§ããï¼
%<*en>
\begin{itemize}
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29} (English)
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage} (Japanese)
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28zh%29} (Chinese)
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29} (English)
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage} (Japanese)
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28zh%29} (Chinese)
\end{itemize}
%
%<*ja>
\begin{itemize}
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage}ï¼æ¥æ¬èªï¼
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}ï¼è±èªï¼
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28zh%29}ï¼ä¸å½èªï¼
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage}ï¼æ¥æ¬èªï¼
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29}ï¼è±èªï¼
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28zh%29}ï¼ä¸å½èªï¼
\end{itemize}
%
-%This project is hosted by SourceForge.JP.
-%æ¬ããã¸ã§ã¯ãã¯SourceForge.JPã®ãµã¼ãã¹ãç¨ãã¦éå¶ããã¦ããï¼
+%This project is hosted by OSDN.
+%æ¬ããã¸ã§ã¯ãã¯OSDNã®ãµã¼ãã¹ãç¨ãã¦éå¶ããã¦ããï¼
%\paragraph{Members}\
%\paragraph{éçºã¡ã³ãã¼}\
@@ -565,23 +598,24 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%\subsection{ã¤ã³ã¹ãã¼ã«}
%The following packages are needed for the \LuaTeX-ja\ package.
-%\LuaTeX-jaããã±ã¼ã¸ã«ã¯ï¼æ¬¡ã®ããã±ã¼ã¸é¡ãå¿
è¦ã§ããï¼
+%\LuaTeX-jaããã±ã¼ã¸ã®åä½ã«ã¯æ¬¡ã®ããã±ã¼ã¸é¡ãå¿
è¦ã§ããï¼
\begin{itemize}
-\item \LuaTeX\ snapshot rev~5024 (or later)
+\item \LuaTeX\ beta-0.80.0 (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)
-%\item \emph{IPAex fonts(\url{http://ipafont.ipa.go.jp/})}
+\item \Pkg{fontspec} v2.4
+%\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/})
%\item \emph{IPAexãã©ã³ã(\url{http://ipafont.ipa.go.jp/})}
\end{itemize}
+%In summary, this version of \LuaTeX-ja no longer supports \TeX~Live~2014 (or older version).
+%<*ja>
+è¦ç´ããã¨ï¼æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2014以åã§ã¯åä½ããªã\footnote{%
+ ãã£ã¨ãï¼èªåã§\LuaTeX ã®ãã¤ããªãSubversionãªãã¸ããªãããã«ããã¦ããã°è©±ã¯å¥ã§ããï¼
+}ï¼
+%
%<*en>
-\emph{This version of \LuaTeX-ja no longer supports \TeX~Live~2013 (or older version).
-If you want to use this version with \TeX~Live~2014, you have to build a development
-version of \LuaTeX\ from its source.}
-
-\medskip
-
Now \LuaTeX-ja is available from
CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and
the following distributions:
@@ -593,11 +627,6 @@ the following distributions:
IPAex fonts are also available in these distributions.
%
%<*ja>
-\emph{æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2013以åã§ã¯åä½ããªãï¼\TeX~Live~2014ã§
-ç¨ãããå ´åã¯ï¼èªåã§\LuaTeX éçºçãã½ã¼ã¹ãããã«ãããå¿
è¦ãããï¼}
-
-\medskip
-
ç¾å¨ï¼\LuaTeX-jaã¯CTAN (\texttt{macros/luatex/generic/luatexja})ã«åé²ããã¦ããä»ï¼
以ä¸ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã«ãåé²ããã¦ããï¼
\begin{itemize}
@@ -635,11 +664,11 @@ W32\TeX ã«ããã¦ã¯IPAexãã©ã³ã㯠\texttt{luatexja.tar.xz} å
ã«ã
\begin{itemize}
\item Clone the Git repository:
\begin{lstlisting}
-$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
+$ git clone git://git.osdn.jp/gitroot/luatex-ja/luatexja.git
\end{lstlisting}
\item Download the \texttt{tar.gz} archive of HEAD in the \texttt{master} branch from
\begin{flushleft}
-\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
+\url{http://git.osdn.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
\end{flushleft}
\end{itemize}
@@ -653,15 +682,15 @@ the forefront of development is not the \texttt{master} branch.
\begin{itemize}
\item Gitãªãã¸ããªãã¯ãã¼ã³ããï¼
\begin{lstlisting}
-$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
+$ 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.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
+\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} ã«
åæ ããããã¨ã«ãã¦ããï¼
%
@@ -671,8 +700,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>
@@ -694,9 +723,11 @@ $ lualatex ltjltxdoc.ins
$ luatex ltj-kinsoku_make.tex
\end{lstlisting}
%<*en>
-Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not needed in regular use.
+\emph{Do not forget The last line (processing \texttt{ltj-kinsoku\_make.tex})}.
+\texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} used here are not needed in regular use.
%
%<*ja>
+\emph{æå¾ã® \texttt{ltj-kinsoku\_make.tex} ã®å®è¡ãå¿ããªãããã«æ³¨æ}ï¼
ããã§ä½¿ç¨ãã \texttt{*.\{dtx,ins\}} 㨠\texttt{ltj-kinsoku\_make.tex} ã¯
é常ã®ä½¿ç¨ã«ããã£ã¦ã¯å¿
è¦ãªãï¼
%
@@ -710,7 +741,7 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
instead copying is also good.
%
%<*ja>
-\item \texttt{src}ã®ä¸èº«ãèªåã®\texttt{TEXMF}ããªã¼ã«ã³ãã¼ããï¼
+\item \texttt{src} ã®ä¸èº«ãèªåã® \texttt{TEXMF} ããªã¼ã«ã³ãã¼ããï¼
å ´æã®ä¾ã¨ãã¦ã¯ï¼ä¾ãã°
\begin{quote}
\texttt{TEXMF/tex/luatex/luatexja/}
@@ -723,7 +754,7 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
\item If \texttt{mktexlsr} is needed to update the file name database, make it so.
%
%<*ja>
-\item å¿
è¦ãããã°ï¼\texttt{mktexlsr}ãå®è¡ããï¼
+\item å¿
è¦ãããã°ï¼\texttt{mktexlsr} ãå®è¡ããï¼
%
\end{enumerate}
@@ -738,7 +769,7 @@ For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
%
\begin{itemize}
%<*en>
-\item The encoding of your source file must be UTF-8. No other
+\item The encoding of your source file must be UTF-8. Other
encodings, such as EUC-JP or Shift-JIS, are not supported.
%
%<*ja>
@@ -756,9 +787,10 @@ about 30\% faster than \LuaTeX, but not always.
LuaJIT\TeX ãç¨ããã¨\LuaTeX ã®ã ããã1.3åã®é度ã§åãããã§ãããï¼
IPA mjææãªã©ã®å¤§ãããã©ã³ããç¨ããå ´åã«ã¯\LuaTeX ãããé
ããªããã¨ãããï¼
%
+
\item%
%<*en>
-\textbf{Note for MiK\TeX\ users}\quad
+\textbf{(Outdated) note for MiK\TeX\ users}\quad
\LuaTeX-ja requires that several CMap files%
\footnote{\texttt{UniJIS2004-UTF32-\{H,V\}} and \texttt{Adobe-Japan1-UCS2}.}
must be found from \LuaTeX.
@@ -771,7 +803,7 @@ so you will encounter an error like the following:
\LuaTeX-jaãåä½ããããã«ã¯ï¼\emph{å°å
¥ã»æ´æ°å¾ã®ååèµ·åæã«}
\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}ã¨ãã3ã¤ã®CMapã
\LuaTeX ã«ãã£ã¦è¦ã¤ãããããã¨ãå¿
è¦ã§ããï¼
-ãããMiK\TeX ã§ã¯ãã®ããã«ãªã£ã¦ããªãã®ã§ï¼æ¬¡ã®ã¨ã©ã¼ãçºçããã ããï¼
+ãããå¤ããã¼ã¸ã§ã³ã®MiK\TeX ã§ã¯ãã®ããã«ãªã£ã¦ããªãã®ã§ï¼æ¬¡ã®ã¨ã©ã¼ãçºçããã ããï¼
%
\begin{lstlisting}
! LuaTeX error ...iles (x86)/MiKTeX 2.9/tex/luatex/luatexja/ltj-rmlgbm.lua
@@ -780,16 +812,17 @@ 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)}.
+\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 \LuaTeX-ja in this directory, and finally delete the temporary directory.
+run a test file which loads \LuaTeX-ja in this directory,
+and finally delete the temporary directory.
%
%<*ja>
ãã®ãããªå ´åã«ã¯ï¼
-\href{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{%
+\href{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{%
ããã¸ã§ã¯ãWikiè±èªçããããã¼ã¸}ä¸ã«æ¸ããã¦ããããããã¡ã¤ã«ã
å®è¡ãã¦æ¬²ããï¼ãã®ããããã¡ã¤ã«ã¯ï¼ä½æ¥ç¨ãã£ã¬ã¯ããªã«CMapéã
-ã³ãã¼ãï¼ãã®ä¸ã§\LuaTeX-ja ã®ååèµ·åãè¡ãï¼ä½æ¥ç¨ãã£ã¬ã¯ããªãæ¶ãä½æ¥ããã¦ããï¼
+ã³ãã¼ãï¼ãã®ä¸ã§\LuaTeX-jaã®ååèµ·åãè¡ãï¼ä½æ¥ç¨ãã£ã¬ã¯ããªãæ¶ãä½æ¥ããã¦ããï¼
%
\end{itemize}
@@ -813,7 +846,7 @@ run \LuaTeX-ja in this directory, and finally delete the temporary directory.
\begin{tabular}{cccccc}
\toprule
\textbf{direction}&
-\textbf{classification}&\textbf{font name}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
+\textbf{classification}&\textbf{font name}&\bf ``10\,pt''&\bf``7\,pt''&\bf``5\,pt''\\\midrule
\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&
\emph{mincho}&IPAex Mincho&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
&\emph{gothic}&IPAex Gothic&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
@@ -830,7 +863,7 @@ run \LuaTeX-ja in this directory, and finally delete the temporary directory.
\begin{center}\small
\begin{tabular}{cccccc}
\toprule
-\emph{çµæ¹å}&\emph{åä½}&\emph{ãã©ã³ãå}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
+\emph{çµæ¹å}&\emph{åä½}&\emph{ãã©ã³ãå}&\bf ``10\,pt''&\bf``7\,pt''&\bf``5\,pt''\\\midrule
\smash{\raisebox{-1ex}{横çµ}}&
ææä½&IPAexææ&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
&ã´ã·ãã¯ä½&IPAexã´ã·ãã¯&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
@@ -1006,7 +1039,7 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
ããããªããï¼ä¸è¨ã®è¨å®ã¯æ¥æ¬èªã®ææ¸ã«ã¨ã£ã¦ååã¨ã¯è¨ããªãï¼
æ¥æ¬èªææ¸ãçµçããããã«ã¯ï¼\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} ã§ããï¼
@@ -1033,6 +1066,37 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
%
%%% âã¯è±è¨³ããªã
+%<*en>
+\paragraph{\Pkg{geometry} package and classes for vertical writing}
+It is well-known that the \Pkg{geometry} package produces the following error, when classes for
+vertical writing is used:
+%
+%<*ja>
+\paragraph{縦çµã§ã®\Pkg{geometry}ããã±ã¼ã¸}
+\pLaTeX ã®ç¸¦çµç¨æ¨æºã¯ã©ã¹ãã¡ã¤ã«ã§ã¯\Pkg{geometry}ããã±ã¼ã¸ãå©ç¨ãããã¨ã¯åºæ¥ãï¼
+%
+\begin{lstlisting}
+! Incompatible direction list can't be unboxed.
+\@begindvi ->\unvbox \@begindvibox
+ \global \let \@begindvi \@empty
+\end{lstlisting}
+%<*en>
+Now, \LuaTeX-ja automatically applies the patch \Pkg{lltjp-geometry} to the
+\Pkg{geometry} package, when the direction of the document is \emph{tate} (vertical
+writing).
+This patch \Pkg{lltjp-geometry} also can be used in \pLaTeX; for the detail, please refer
+\url{lltjp-geometry.pdf}~(Japanese).
+%
+%<*ja>
+ã¨ãããããªã¨ã©ã¼ãçºçãããã¨ãç¥ããã¦ããï¼
+\LuaTeX-jaã§ã¯ï¼ \texttt{ltjtarticle.cls} ã¨ãã£ã縦çµã¯ã©ã¹ã®ä¸ã§ã
+\Pkg{geometry}ããã±ã¼ã¸ãå©ç¨ã§ããããã«ããã\Pkg{lltjp-geometry}ããã±ã¼ã¸ãèªåçã«å½ã¦ã¦ããï¼
+
+ãªãï¼\Pkg{lltjp-geometry}ããã±ã¼ã¸ã¯\pTeX ç³»åã§ãæ示çã«èªã¿è¾¼ããã¨ã«ãã£ã¦
+使ç¨å¯è½ã§ããï¼è©³ç´°ã注æäºé
㯠\url{lltjp-geometry.pdf} ãåç
§ã®ãã¨ï¼
+%
+
+
%\section{Changing Fonts}
%\section{ãã©ã³ãã®å¤æ´}
@@ -1055,18 +1119,16 @@ 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>
-\item Commands \cs{fontfamily}, \cs{fontseries},
- \cs{fontshape}, and \cs{selectfont} can be used to change
+\item Commands \cs{fontfamily}, \cs{fontseries}, and \cs{fontshape} can be used to change
attributes of Japanese fonts.
%
%<*ja>
-\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape}, ããã¦
- \cs{selectfont} ãåæãã©ã³ãã®å±æ§ãå¤æ´ããããã«ä½¿ç¨ã§ããï¼
+\item åæãã©ã³ãã®å±æ§ãå¤æ´ããã«ã¯ï¼\cs{fontfamily}, \cs{fontseries}, \cs{fontshape} ã使ç¨ããï¼
+ ãã¡ããï¼ããããå®éã«åæ ãããã«ã¯æå㧠\cs{selectfont} ãå®è¡ããå¿
è¦ãããï¼
%
%<*en>
@@ -1108,7 +1170,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
\verb+\fontencoding{+\verb+}+ changes the encoding of alphabetic fonts
or Japanese fonts depending on the argument. For example,
\verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to
- \texttt{JY3},and \verb+\fontencoding{T1}+ changes the encoding of
+ \texttt{JY3}, and \verb+\fontencoding{T1}+ changes the encoding of
alphabetic fonts to \texttt{T1}.
\cs{fontfamily} also changes the current Japanese font family,
the current alphabetic font family, \emph{or both}.
@@ -1127,14 +1189,16 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
%<*en>
\item For defining a Japanese font family, use
\cs{DeclareKanjiFamily} instead of
- \cs{DeclareFontFamily}. However, in the present implementation,
- using \cs{DeclareFontFamily} doesn't cause any problem.
+ \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}:
%
%<*ja>
\item åæãã©ã³ããã¡ããªã®å®ç¾©ã«ã¯ \cs{DeclareFontFamily} ã®
- 代ããã« \cs{DeclareKanjiFamily} ãç¨ããï¼ãããï¼ç¾å¨ã®
- å®è£
ã§ã¯ \cs{DeclareFontFamily} ãç¨ãã¦ãåé¡ã¯çããªãï¼
+ 代ããã« \cs{DeclareKanjiFamily} ãç¨ããï¼ä»¥åã®
+ å®è£
ã§ã¯ \cs{DeclareFontFamily} ãç¨ãã¦ãåé¡ã¯çããªãã£ããï¼ç¾å¨ã®å®è£
ã§ã¯
+ ããã¯ãããªãï¼
\item åæãã©ã³ãã®ã·ã§ã¤ããå®ç¾©ããã«ã¯ï¼é常㮠\cs{DeclareFontShape} ã使ãã°è¯ãï¼
%
\begin{lstlisting}
@@ -1208,31 +1272,36 @@ 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
-\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}
This \Pkg{luatexja-fontspec} package
automatically loads \Pkg{luatexja} and \Pkg{fontspec}
-package, if needed.
+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>
-In \Pkg{luatexja-fontspec} package, the following seven~commands are defined as
+In the \Pkg{luatexja-fontspec} package, the following seven~commands are defined as
counterparts of original commands in the \Pkg{fontspec} package:
%
%<*ja>
@@ -1280,75 +1349,138 @@ 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}.
-
- \item[pass=]
-Specify options which will be passed to the \Pkg{fontspec} package.
-\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.
-This is because of the compatibility with previous versions of \LuaTeX-ja
-(see \ref{para-kern}).
%
+
%<*ja>
-\Pkg{luatexja-fontspec} ããã±ã¼ã¸ã®ãªãã·ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
-\begin{cslist}
- \item[match]
ãã®ãªãã·ã§ã³ãæå®ãããã¨ï¼ã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãã®ããã«\
\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} çã
欧æãã©ã³ãã ãã§ãªãåæãã©ã³ããå¤æ´ããããã«ãªãï¼
\emph{ãªãï¼\cs{setmonojfont} ã¯ãã® \texttt{match} ãªãã·ã§ã³ã
æå®ãããæã®ã¿å®ç¾©ãããï¼}ãã®å½ä»¤ã¯æ¨æºã®ãã¿ã¤ãã©ã¤ã¿ä½ã«å¯¾å¿ããåæãã©ã³ãããæå®ããï¼
+%
\item[pass=]
-\Pkg{fontspec} ããã±ã¼ã¸ã«æ¸¡ããªãã·ã§ã³ ãæå®ããï¼
+% \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
+(that is, \texttt{kern} feature is set off) by default in these seven (or~eight) commands.
+This is because of the compatibility with previous versions of \LuaTeX-ja
+(see \ref{para-kern}).
+
+Below is an example of \cs{jfontspec}.
+%
+%<*ja>
æ¨æºã§ \cs{setmonojfont} ã³ãã³ããå®ç¾©ãããªãã®ã¯ï¼
åæãã©ã³ãã§ã¯ã»ã¼å
¨ã¦ã®åææåã®ã°ãªããçå¹
ã§ããã®ãä¼çµ±çã§ãã£ããã¨ã«ããï¼
ã¾ãï¼ãããã®åæç¨ã®ã³ãã³ãã§ã¯ãã©ã³ãå
ã®ãã¢ã«ã¼ãã³ã°æ
å ±ã¯æ¨æºã§ã¯ä½¿ç¨ãããªãï¼
è¨ãæããã° \texttt{kern} featureã¯æ¨æºã§ã¯ç¡å¹åã¨ãªã£ã¦ããï¼
ããã¯ä»¥åã®ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¨ã®äºææ§ã®ããã§ããï¼\ref{para-kern}ç¯ãåç
§ï¼ï¼
+
+以ä¸ã«\cs{jfontspec}ã®ä½¿ç¨ä¾ã示ãï¼
%
\begin{LTXexample}[width=0.4\textwidth]
-\fontspec[Numbers=OldStyle]{LMSans10-Regular}
\jfontspec[CJKShape=NLC]{KozMinPr6N-Regular}
-JIS~X~0213:2004âè¾»
-
+JIS~X~0213:2004âè¾»\par
\jfontspec[CJKShape=JIS1990]{KozMinPr6N-Regular}
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 \Pkg{luatexja-preset}
-package with several options. This package provides functions in a part of
-\Pkg{japanese-otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato,
-and loads \Pkg{luatexja-fontspec}, hence \Pkg{fontspec} internally.
+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.
-If you need to pass some options to \Pkg{fontspec}, load \Pkg{fontspec} manually
-before \Pkg{luatexja-preset}:
+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}ï¼å¾ã£ã¦
-\Pkg{fontspec}ãèªã¿è¾¼ãã§ããï¼
+åããããããªæ ¼å¥½ããã¦ããï¼
+
+ãªãã·ã§ã³ã¨ãã¦ï¼æ¬ç¯ã«ãªããã®ãæå®ãããã¨ãã§ãããï¼ãããã¯
+\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]
+%<*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}, you can load \Pkg{fontspec} manually
+before \Pkg{luatexja-preset}:
+%
+%<*ja>
+\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã®æ©è½ãç¨ãã¦åæãã©ã³ããé¸æããï¼
+ããã¯ï¼\Pkg{fontspec}ããã±ã¼ã¸ãèªåã§èªã¿è¾¼ã¾ãããã¨ãæå³ããï¼
+\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
ãã\Pkg{fontspec}ããã±ã¼ã¸ã«ä½ããã®ãªãã·ã§ã³ã渡ãå¿
è¦ããã
\footnote{ä¾ãã°ï¼æ°å¼ãã©ã³ãã¾ã§ç½®æããã¦ãã¾ãï¼\cs{mathit}ã«ãã£ã¦ã®ãªã·ã£æåã®
@@ -1360,9 +1492,40 @@ before \Pkg{luatexja-preset}:
\usepackage[...]{luatexja-preset}
\end{lstlisting}
-%\paragraph{General options}
-%\paragraph{ä¸è¬çãªãªãã·ã§ã³}
-\begin{cslist}[before*=]
+\item[nfssonly]
+%<*en>
+With this option, selecting Japanese fonts won't be performed using the functionality of
+ the \Pkg{fontspec} package, but only standard NFSS2 (hence without
+ \cs{addjfontfeatures} etc.).
+This option is ignored when \Pkg{luatexja-fontspec} package is loaded.
+
+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}
+\end{lstlisting}
+In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fonts.
+%
+%<*ja>
+\LaTeX æ¨æºã®ãã©ã³ãé¸ææ©æ§(NFSS2)ãç¨ãã¦
+\texttt{ltjpm}ï¼ææï¼ï¼\texttt{ltjpg}ï¼ã´ã·ãã¯ï¼ï¼ããã«å¾ã«è¿°ã¹ã \texttt{deluxe} ãªã
+ ã·ã§ã³ãæå®ãããå ´åã«ã¯ \texttt{ltjpmg}ï¼ä¸¸ã´ã·ãã¯ï¼ã¨ãã
+3ã¤ã®åæãã©ã³ããã¡ããªãå®ç¾©ãï¼ããããç¨ããï¼
+
+æ¬ãªãã·ã§ã³æå®æã«ã¯\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]
%<*en>
@@ -1372,7 +1535,7 @@ This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
\emph{This option is enabled by default.}
%
%<*ja>
-\LaTeXe ç°å¢ä¸ã§ã®æ¨æºè¨å®ã®ããã«ï¼ææä½ã»ã´ã·ãã¯ä½ãå1ã¦ã§ã¤ãã§ä½¿ç¨ããï¼
+\LaTeXe ç°å¢ä¸ã®æ¨æºè¨å®ã®ããã«ï¼ææä½ã»ã´ã·ãã¯ä½ãå1ã¦ã§ã¤ãã§ä½¿ç¨ããï¼
ããå
·ä½çã«è¨ãã¨ï¼ãã®è¨å®ã®ä¸ã§ã¯
\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
\verb+\gtfamily\mdseries+ã¯ã¿ãªåããã©ã³ãã¨ãªãï¼
@@ -1386,23 +1549,32 @@ Use \textit{mincho} with two weights (medium~and~bold),
because \textit{rounded gothic} is called \textit{maru gothic} (丸ã´ã·ãã¯) in Japanese.}.
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 (\cs{mdseries}) and
+This is because the \Pkg{fontspec} package can handle only medium (\cs{mdseries}) and
bold (\cs{bfseries}).
%
%<*ja>
ææä½2ã¦ã§ã¤ãã»ã´ã·ãã¯ä½3ã¦ã§ã¤ãã¨ï¼
丸ã´ã·ãã¯ä½ (\cs{mgfamily}, \verb+\textmg{...}+) ã使ç¨å¯è½ã¨ããï¼
-ã´ã·ãã¯ä½ã¯ç´°åã»å¤ªåã»æ¥µå¤ªã®3ã¦ã§ã¤ãããããï¼
-極太ã´ã·ãã¯ä½ã¯ãã¡ããªã®åãæ¿ã (\cs{gtebfamily}, \verb+\textgteb{...}+) %
-ã§å®ç¾ãã¦ããï¼\Pkg{fontspec}ã§ã¯é常 (\cs{mdseries}) ã¨å¤ªå (\cs{bfseries}) ããæ±ããªãããã«
-ãã®ãããªä¸éå端ãªå®è£
ã«ãªã£ã¦ããï¼
+ã´ã·ãã¯ä½ã¯ä¸åã»å¤ªåã»æ¥µå¤ªã®3ã¦ã§ã¤ãããããï¼
+極太ã´ã·ãã¯ä½ã使ãå ´åï¼
+\begin{itemize}
+ \item \cs{gtebfamily}, \verb+\textgteb{...}+
+ \item \cs{ebseries} ï¼å¨å²ãã´ã·ãã¯ä½ã®ã¨ãï¼\texttt{nfssonly} ãªãã·ã§ã³æå®æã®ã¿ï¼
+\end{itemize}
+ã®ãããããç¨ããï¼æ¨æºã§ \cs{ebseries} ãæºåããã¦ããªãã®ã¯ï¼ãã¼ã¸ã§ã³ãå¤ã
+\Pkg{fontspec}ã§ã¯ä¸å(\cs{mdseries})ã¨å¤ªå(\cs{bfseries})ããæ±ããªãã£ãåæ®ã§ããï¼
%
\item[expert]
%<*en>
Use horizontal/vertical kana alternates, and define a command \cs{rubyfamily} to use kana
characters designed for ruby.
%
-%横çµã»ç¸¦çµå°ç¨ä»®åãç¨ããï¼ã¾ãï¼\cs{rubyfamily} ã§ã«ãç¨ä»®åã使ç¨å¯è½ã¨ãªãï¼
+%<*ja>
+横çµã»ç¸¦çµå°ç¨ä»®åãç¨ããï¼ã¾ãï¼\cs{rubyfamily} ã§ã«ãç¨ä»®åã使ç¨å¯è½ã¨ãªã\footnote{%
+ \cs{rubyfamily}ã¨ã¯ããã¤ã¤ï¼å®éã«ã¯ãã©ã³ããã¡ããªãåãæ¿ããã®ã§ã¯ãªãï¼é常ã§ã¯
+ font featureã®è¿½å ï¼\texttt{nfssonly} æå®æã«ã¯ã·ã§ã¤ãã \texttt{rb} ã«åãæ¿ãï¼ï¼
+}ï¼
+%
\item[bold]
%Substitute bold series of \textit{gothic} for bold series of \textit{mincho}.
%ãææã®å¤ªåããã´ã·ãã¯ä½ã®å¤ªåã«ãã£ã¦ä»£æ¿ããï¼
@@ -1438,10 +1610,14 @@ We didn't taken account of when both \texttt{90jis} and \texttt{jis2004} are sp
%<*en>
Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
fonts are specified by font name, not by file name.
+In following tables, starred fonts (e.g.~KozGo\dots-Regular) are used for medium series of \textit{gothic},
+\emph{if and only if \texttt{deluxe} option is specified}.
%
%<*ja>
\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以å¤ã¯ãã©ã³ãã®æå®ã¯
ï¼ãã¡ã¤ã«åã§ãªãï¼ãã©ã³ãåã§è¡ãããï¼
+以ä¸ã®è¡¨ã«ããã¦ï¼*\,ã¤ãã®ãã©ã³ã(e,g,~KozGo\dots-Regular)ã¯ï¼\emph{\texttt{deluxe}ãªãã·ã§ã³æå®æã«}
+ã´ã·ãã¯ä½ä¸åã¨ãã¦ç¨ãããããã®ã示ãã¦ããï¼
%
\begin{cslist}[style=standard]
\item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
@@ -1484,17 +1660,6 @@ There is not rounded gothic family in Kozuka fonts.
\end{tabular}
\end{center}
-%<*en>
-In above table, starred fonts (KozGo\dots-Regular) are used for medium series of \textit{gothic},
-\emph{if and only if \texttt{deluxe} option is specified}.
-%
-%<*ja>
-ä¸ã®è¡¨ã«ããã¦ï¼*ã¤ãã®ãã©ã³ã(KozGo\dots-Regular)ã¯ï¼\emph{\texttt{deluxe}ãªãã·ã§ã³æå®æã«}
-ã´ã·ãã¯ä½ç´°åã¨ãã¦ç¨ããããï¼
-%
-
-%\medskip
-
\item[hiragino-pro] Hiragino Pro (Adobe-Japan1-5) fonts.
% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
@@ -1531,12 +1696,12 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\midrule
%\textit{rounded gothic}
%\gt 丸ã´ã·ãã¯
-&&Hiragino~Maru~Gothic~ProN~W4&Hiragino~Maru~Gothic~ProN~W4\\
+&&Hiragino~Maru~Gothic~Pro~W4&Hiragino~Maru~Gothic~ProN~W4\\
\bottomrule
\end{tabular}
\end{center}
-%\newpage
+%\medskip
\item[morisawa-pro] Morisawa Pro (Adobe-Japan1-4) fonts.
% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
@@ -1596,18 +1761,46 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\end{tabular}
\end{center}
+ \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/} ãããã¦ã³ãã¼ãã§ããï¼
+
+\begin{center}\small
+\begin{tabular}{clll}
+\toprule
+\bf family&\bf series&\bf default, \texttt{90jis}~option&\bf \texttt{jis2004} option\\
+\midrule
+ &medium&Moga90Mincho&MogaMincho\\
+%\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%\smash{\raisebox{1.5ex}{\gt ææ}}%
+ &bold&Moga90Mincho Bold&MogaMincho Bold\\
+\midrule
+ &&Moga90Gothic&MogaGothic\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &Moga90Gothic&MogaGothic\\
+\cmidrule(l){2-4}
+%\textit{gothic}%
+%\gt ã´ã·ãã¯
+ &bold&Moga90Gothic Bold&MogaGothic Bold\\
+ &heavy&Moga90Gothic Bold&MogaGothic Bold\\
+\midrule
+%\textit{rounded gothic}
+%\gt 丸ã´ã·ãã¯
+&&Mobo90Gothic&MoboGothic\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+
\end{cslist}
%\paragraph{Presets for single weight}
%\paragraph{åã¦ã§ã¤ãç¨ããªã»ããä¸è¦§}
%<*en>
Next, we describe settings for using only single weight.
-In four settings below, we use same fonts for medium and bold (and heavy) weights.
-(Hence \verb+\mcfamily\bfseries+ and \verb+\mcfamily\mdseries+ yields same Japanese fonts,
-even if \texttt{deluxe} option is also specified).
%
%<*ja>
-次ã«ï¼åã¦ã§ã¤ãç¨ã®è¨å®ãè¿°ã¹ãï¼ãã®4è¨å®ã§ã¯ãç´°åãã太åãã®åºå¥ã¯ãªãï¼
-ã¾ãï¼ä¸¸ã´ã·ãã¯ä½ã¯ã´ã·ãã¯ä½ã¨åããã©ã³ããç¨ããï¼
+次ã«ï¼åã¦ã§ã¤ãç¨ã®è¨å®ãè¿°ã¹ãï¼ãã®4è¨å®ã§ã¯
+ææä½å¤ªåã»ä¸¸ã´ã·ãã¯ä½ã¯ã´ã·ãã¯ä½ã¨åããã©ã³ããç¨ããããï¼
%
\par\nobreak\medskip
{\centering\small
@@ -1666,11 +1859,11 @@ We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights
\multicolumn{3}{c}{HG Maru Gothic PRO}\\
%
%<*ja>
-\gtfamily ææä½ç´°å
+\gtfamily ææä½ä¸å
&IPAææ&IPAexææ&MSææ\\\midrule
\gtfamily ææä½å¤ªå&
\multicolumn{3}{c}{HGææE}\\\midrule
-\gtfamily ã´ã·ãã¯ä½ç´°å\\
+\gtfamily ã´ã·ãã¯ä½ä¸å\\
ãåã¦ã§ã¤ãæ
&IPAã´ã·ãã¯&IPAexã´ã·ãã¯&MSã´ã·ãã¯\\
ã{\tt jis2004}æå®æ
@@ -1698,7 +1891,6 @@ are internally specified by:
\end{description}
%
%<*ja>
-\newpage
ãªãï¼HGææEã»HGã´ã·ãã¯Eã»HGåµè±è§ã´ã·ãã¯UBã»HG丸ã´ã·ãã¯ä½PROã®4ã¤ã«ã¤ãã¦ã¯ï¼å
é¨ã§
\begin{description}
\item[æ¨æº] ãã©ã³ãåï¼\texttt{HGMinchoE} ãªã©ï¼
@@ -1716,16 +1908,15 @@ are internally specified by:
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
-supports some of functions in \Pkg{japanese-otf} package.
-If you want to use these functions, load \Pkg{luatexja-otf} package.
+supports some of functions in the \Pkg{japanese-otf} package,
+as an external package \Pkg{luatexja-otf}.
%
%<*ja>
\subsection{\cs{CID}, \cs{UTF}ã¨\Pkg{otf}ããã±ã¼ã¸ã®ãã¯ã}
\pLaTeX ã§ã¯ï¼JIS~X~0208ã«ãªãAdobe-Japan1-6ã®æåãåºåããããã«ï¼
é½è¤ä¿®ä¸éæ°ã«ãã\Pkg{otf}ããã±ã¼ã¸ãç¨ãããã¦ããï¼ãã®ããã±ã¼ã¸ã¯
åºãç¨ãããã¦ããããï¼\LuaTeX-jaã«ããã¦ã\Pkg{otf}ããã±ã¼ã¸ã®æ©è½ã®
-ä¸é¨ããµãã¼ããã¦ããï¼ãããã®æ©è½ãç¨ããããã«ã¯\Pkg{luatexja-otf}ããã±ã¼ã¸
-ãèªã¿è¾¼ãã°ããï¼
+ä¸é¨ãï¼\Pkg{luatexja-otf}ã¨ããå¥ã®ããã±ã¼ã¸ã¨ãã¦ï¼å®è£
ããï¼
%
\begin{LTXexample}
@@ -1742,7 +1933,7 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
%<*ja>
\Pkg{otf}ããã±ã¼ã¸ã§ã¯ï¼ãããã次ã®ãããªãªãã·ã§ã³ãåå¨ããï¼
\begin{cslist}
-\item[deluxe] ææä½ã»ã´ã·ãã¯ä½å2ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
+\item[deluxe] ææä½ã»ã´ã·ãã¯ä½å3ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
\item[expert] ä»®åã横çµã»ç¸¦çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åã
\ \cs{rubyfamily}\ ã«ãã£ã¦æ±ããããã«ãªãï¼
\item[bold] ã´ã·ãã¯ä½ãæ¨æºã§å¤ªãã¦ã§ã¤ãã®ãã®ã«è¨å®ããï¼
@@ -1811,11 +2002,11 @@ Ryumin-Light, GothicBBB-Mediumã¨ããååã®éåè¾¼ãã©ã³ããç¨ã
%
-%\section{Changing Parameters}
+%\section{Changing Internal Parameters}
%\section{ãã©ã¡ã¼ã¿ã®å¤æ´}
%<*en>
-There are many parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
+There are many internal 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 \cs{ltjsetparameter} and
@@ -1828,8 +2019,8 @@ parameters, you have to use commands \cs{ltjsetparameter} and
ç¨ããï¼
%
-%\subsection{Editing the Range of \textbf{JAchar}s}
-%\subsection{\textbf{JAchar}ã®ç¯å²ã®è¨å®}
+%\subsection{Range of \textbf{JAchar}s}
+%\subsection{\textbf{JAchar}ã®ç¯å²}
\label{ssec-setrange}
%<*en>
@@ -1848,6 +2039,7 @@ and the character ``æ¼¢'' to the character range~100.
\begin{lstlisting}
\ltjdefcharrange{100}{"20000-"2FFFF,`æ¼¢}
\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,
@@ -1856,18 +2048,18 @@ removed from the range~4.
%
%<*ja>
åæåã¯ãã ä¸ã¤ã®æåç¯å²ã«æå±ãããã¨ãã§ããï¼
-ä¾ãã°ï¼SIPã¯å
¨ã¦\LuaTeX-jaã®ããã©ã«ãã§ã¯4çªã®æåç¯å²ã«
-å±ãã¦ãããï¼ä¸è¨ã®æå®ãè¡ãã°SIPã¯100çªã«å±ãããã«ãªãï¼4çªããã¯é¤ãããï¼
+ä¾ãã°ï¼SIPå
ã®æåã¯å
¨ã¦\LuaTeX-jaã®ããã©ã«ãã§ã¯4çªã®æåç¯å²ã«
+å±ãã¦ãããï¼ä¸è¨ã®æå®ãè¡ãã°SIPå
ã®æåã¯100çªã«å±ãããã«ãªãï¼4çªããã¯é¤ãããï¼
%
%<*en>
-The distinction between \textbf{ALchar} and \textbf{JAchar} is done for character ranges.
+The distinction between \textbf{ALchar} and \textbf{JAchar} is performed by character ranges.
This can be edited by setting the \textsf{jacharrange} parameter.
-For example, this is just the default setting of \LuaTeX-ja, and
+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, and~5 is \textbf{ALchar},
- \item a character which belongs character ranges 2,~3, 6, 7, and~8 is \textbf{JAchar}.
+ \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}.
\end{itemize}
%
%<*ja>
@@ -1875,12 +2067,12 @@ it sets
ããã¯\textsf{jacharrange}ãã©ã¡ã¼ã¿ã«ãã£ã¦ç·¨éã§ããï¼
ä¾ãã°ï¼ä»¥ä¸ã¯\LuaTeX-jaã®åæè¨å®ã§ããï¼æ¬¡ã®å
容ãè¨å®ãã¦ããï¼
\begin{itemize}
- \item 1çªï¼4çªï¼5çªã®æåç¯å²ã«å±ããæåã¯\textbf{ALchar}ï¼
- \item 2çªï¼3çªï¼6çªï¼7çªï¼8çªã®æåç¯å²ã«å±ããæåã¯\textbf{JAchar}ï¼
+ \item 1çªï¼4çªï¼5çªï¼8çªã®æåç¯å²ã«å±ããæåã¯\textbf{ALchar}ï¼
+ \item 2çªï¼3çªï¼6çªï¼7çªã®æåç¯å²ã«å±ããæåã¯\textbf{JAchar}ï¼
\end{itemize}
%
\begin{lstlisting}
-\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
+\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
\end{lstlisting}
%<*en>
The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
@@ -1895,12 +2087,21 @@ and positive integer $+n$ means that ``\dots\ is a \textbf{JAchar}''.
%
%<*en>
-\paragraph{Default setting}
+Note that characters \texttt{U+0000}--\texttt{U+007F} are always treated as an
+\textbf{ALchar} (this cannot be customized).
+%
+%<*ja>
+ãªãï¼\texttt{U+0000}--\texttt{U+007F} ã¯å¸¸ã«\textbf{ALchar}ã¨ãã¦æ±ãããï¼å©ç¨è
ãå¤æ´ã
+ããã¨ã¯åºæ¥ãªãï¼ï¼
+%
+
+%<*en>
+\paragraph{Default character ranges}
\LuaTeX-ja predefines eight character ranges for convenience. They are
determined from the following data:
%
%<*ja>
-\paragraph{åæè¨å®}
+\paragraph{æåç¯å²ã®åæå¤}
\LuaTeX-jaã§ã¯8ã¤ã®æåç¯å²ãäºãå®ç¾©ãã¦ããï¼
ãããã¯ä»¥ä¸ã®ãã¼ã¿ã«åºã¥ãã¦æ±ºå®ãã¦ããï¼
%
@@ -1918,24 +2119,26 @@ 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 equal to or above \texttt{U+0080} which does not belong to
these eight ranges belongs to the character range~217.
%
%<*ja>
以ä¸ã§ã¯ããã8ã¤ã®æåç¯å²ã«ã¤ãã¦è¨è¿°ããï¼æ·»åã®ã¢ã«ãã¡ããããJããAã
-ã¯ï¼ãã®æåç¯å²å
ã®æåã\textbf{JAchar}ã\textbf{ALchar}ãã表ãã¦ããï¼ãããã®è¨å®ã¯
-\texttt{PXbase}ãã³ãã«ã§å®ç¾©ããã¦ãã\texttt{prefercjk}ã¨é¡ä¼¼ã®ãã®ã§ããï¼
+ã¯ï¼ãã®æåç¯å²å
ã®æåã\textbf{JAchar}ã\textbf{ALchar}ãã表ãã¦ããï¼ãããã®åæè¨å®ã¯
+\texttt{PXbase}ãã³ãã«ã§å®ç¾©ããã¦ãã\texttt{prefercjk}ã¨é¡ä¼¼ã®ãã®ã§ãããï¼
+8ããããã©ã³ã使ç¨æã®ãã©ãã«ãé²ãããã« \texttt{U+0080}--\texttt{U+00FF} ã®æåã¯å
¨é¨
+\textbf{ALchar}ã¨ãã¦ããï¼
ãªãï¼\texttt{U+0080} 以éã§ããã8ã¤ã®æåç¯å²ã«å±ããªãæåã¯ï¼217çªã®æåç¯å²ã«å±ãããã¨ã«ãªã£ã¦ããï¼
%
\begin{description}
%<*en>
-\item[Range~8${}^{\text{J}}$] The intersection of the upper half of ISO~8859-1
+\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:
%
%<*ja>
-\item[ç¯å²8${}^{\text{J}}$] ISO~8859-1ã®ä¸ä½é åï¼ã©ãã³1è£å©ï¼ã¨
+\item[ç¯å²8${}^{\text{A}}$] ISO~8859-1ã®ä¸ä½é åï¼ã©ãã³1è£å©ï¼ã¨
JIS~X~0208ã®å
±éé¨åï¼ãã®æåç¯å²ã¯
以ä¸ã®æåã§æ§æãããï¼
%
@@ -1969,18 +2172,19 @@ 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
-\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\
+%\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\
\end{itemize}
\end{multicols}
%<*en>
-\item[Range~2${}^{\text{J}}$] Greek and Cyrillic letters. JIS~X~0208 (hence most of Japanese
+\item[Range~2${}^{\text{\kern.1emJ}}$] Greek and Cyrillic letters. JIS~X~0208 (hence most of Japanese
fonts) has some of these characters.
%
%<*ja>
-\item[ç¯å²2${}^{\text{J}}$] ã®ãªã·ã£æåã¨ããªã«æåï¼JIS~X~0208ï¼ãããã£ã¦ã»ã¨ãã©ã®
- åæãã©ã³ãï¼ã¯ãããã®æåãæã¤ï¼
+\item[ç¯å²2${}^{\text{\kern.1emJ}}$] ã®ãªã·ã£æåã¨ããªã«æåï¼JIS~X~0208ï¼ãããã£ã¦ã»ã¨ãã©ã®
+ åæãã©ã³ãï¼ã«ã¯ï¼ãããã®æåã®ä¸é¨ãå«ã¾ãã¦ããï¼
%
\begin{multicols}{2}
\begin{itemize}
@@ -1991,11 +2195,11 @@ This range consists of the following Unicode ranges, \emph{except characters in
\end{itemize}
\end{multicols}
%<*en>
-\item[Range~3${}^{\text{J}}$] Punctuations and Miscellaneous symbols. The block list is
+\item[Range~3${}^{\text{\kern.1emJ}}$] Punctuations and Miscellaneous symbols. The block list is
indicated in Table~\ref{table-rng3}.
%
%<*ja>
-\item[ç¯å²3${}^{\text{J}}$] å¥èªç¹ã¨è¨å·é¡ï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng3}%
+\item[ç¯å²3${}^{\text{\kern.1emJ}}$] å¥èªç¹ã¨è¨å·é¡ï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng3}%
ã«ç¤ºãã¦ããï¼
%
\begin{table}[!tb]
@@ -2045,8 +2249,8 @@ This range consists of the following Unicode ranges, \emph{except characters in
\end{lstlisting}
%\item[Range~5${}^{\text{A}}$] Surrogates and Supplementary Private Use Areas.
%\item[ç¯å²5${}^{\text{A}}$] 代ç¨ç¬¦å·ã¨è£å©ç§ç¨é åï¼
-%\item[Range~6${}^{\text{J}}$] Characters used in Japanese. The block list is indicated in Table~\ref{table-rng6}.
-%\item[ç¯å²6${}^{\text{J}}$] æ¥æ¬èªã§ç¨ããããæåï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng6}ã«ç¤ºãï¼
+%\item[Range~6${}^{\text{\kern.1emJ}}$] Characters used in Japanese. The block list is indicated in Table~\ref{table-rng6}.
+%\item[ç¯å²6${}^{\text{\kern.1emJ}}$] æ¥æ¬èªã§ç¨ããããæåï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng6}ã«ç¤ºãï¼
\begin{table}[!tb]
%\caption{Unicode blocks in predefined character range~6.}\medskip
%\caption{æåç¯å²6ã«æå®ããã¦ããUnicodeãããã¯ï¼}
@@ -2074,11 +2278,11 @@ This range consists of the following Unicode ranges, \emph{except characters in
\end{tabular}
\end{table}
%<*en>
-\item[Range~7${}^{\text{J}}$] 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-6.
The block list is indicated in Table~\ref{table-rng7}.
%
%<*ja>
-\item[ç¯å²7${}^{\text{J}}$] CJKè¨èªã§ç¨ããããæåã®ãã¡ï¼Adobe-Japan1-6ã«
+\item[ç¯å²7${}^{\text{\kern.1emJ}}$] CJKè¨èªã§ç¨ããããæåã®ãã¡ï¼Adobe-Japan1-6ã«
å«ã¾ãã¦ããªããã®ï¼
ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng7}ã«ç¤ºãï¼
%
@@ -2105,6 +2309,59 @@ The block list is indicated in Table~\ref{table-rng7}.
\end{table}
\end{description}
+%<*en>
+\paragraph{Notes on \texttt{U+0080}--\texttt{U+00FF}}
+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.
+
+For example, the codepoint \cs{textparagraph} which is provided by the \Pkg{textcomp}
+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),
+and \cs{Frowny} produces ``\ltjjachar`§'' (in a Japanese font).
+
+To avoid such situations, the default setting of \LuaTeX-ja is changed in this release
+so that all characters \texttt{U+0080}--\texttt{U+00FF} are treated as \textbf{ALchar}.
+
+If you want to output a character as \textbf{ALchar} and \textbf{JAchar} regardless the range
+setting, you can use \cs{ltjalchar} and \cs{ltjjachar} respectively, as the following example.
+\begin{LTXexample}[width=0.3\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \ltjalchar`¶, \ltjjachar`¶\\ % default: ALchar
+α, \ltjalchar`α, \ltjjachar`α % default: JAchar
+\end{LTXexample}
+%
+%<*ja>
+\paragraph{\texttt{U+0080}--\texttt{U+00FF}ã«ã¤ãã¦ã®æ³¨æ}
+\LuaTeX-jaã§ï¼\Pkg{textcomp}ããã±ã¼ã¸ã\Pkg{marvosym}ããã±ã¼ã¸çï¼Unicodeãã©ã³ãã§ãªã
+ä¼çµ±çãª8ããããã©ã³ããç¨ããå ´åã«ã¯æ³¨æãå¿
è¦ã§ããï¼
+
+ä¾ãã°ï¼\Pkg{textcomp}ããã±ã¼ã¸ã®æä¾ãã \cs{textparagraph} ã¯ï¼
+符å·ä½ç½®ã182ï¼ã¤ã¾ã \texttt{0xB6} ã§ããï¼Unicodeã§ã¯ãã®ç¬¦å·ä½ç½®ã§ã¯\P\ (\text{U+00B6}) ã«å¯¾å¿ããï¼
+ã¾ãï¼\Pkg{marvosym}ããã±ã¼ã¸ã®æä¾ãã \cs{Frowny} ãï¼ç¬¦å·ä½ç½®ã¯167ï¼ã¤ã¾ãUnicodeã«ããã
+\S\ (\text{U+00A7}) ã¨åã符å·ä½ç½®ã«ããï¼
+å³ã¡ï¼ä»¥åã®ãã¼ã¸ã§ã³ã®ããã«ï¼ãåç¯ã®æåç¯å²8å
ã®æåã¯\textbf{JAchar}ãã¨ããè¨å®ã§
+ãã£ãã¨ããã¨ï¼ä¸è¨ã® \cs{textparagraph} ã¯åæãã©ã³ãã§ã\ltjjachar`¶ããåºåãï¼
+ã¾ã \cs{Frowny} ã¯åæãã©ã³ãã§ã\ltjjachar`§ããåºåãããã¨ã«ãªãï¼
+
+ãã®ãããªäºæ
ãé¿ããããã«ï¼æ¬ãã¼ã¸ã§ã³ãã㯠\texttt{U+0080}--\texttt{U+00FF} ã®ç¯å²ã®
+æåã¯å
¨ã¦\textbf{ALchar}ã¨ãªãããã«åæè¨å®ãå¤æ´ãã¦ããï¼
+ç¹ã«å½±é¿ãåããã®ãï¼JIS~X~0208ã®ä¸é¨åã§ããæåç¯å²8å
ã®æåã§ããï¼
+\emph{\Pkg{fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãã ããã¦æ¬§æè¨å·ã¨ãã¦ãããã®æåã®åºåç°å¢ãæ´ã
+ãªãã¨ï¼ã½ã¼ã¹ä¸ã«ç´æ¥è¨è¿°ãã¦ãåºåãããªã}ãã¨ã«ãªãï¼
+
+ãªãï¼æåç¯å²ã®è¨å®ã«é¢ããã1ã¤ã®æåã\textbf{ALchar}, \textbf{JAchar}ã§åºåãããå ´åã«ã¯ï¼
+以ä¸ã®ä¾ã®ããã«ãããã \cs{ltjalchar},~\cs{ltjjachar} ã«è©²å½æåã®æåã³ã¼ãã渡ãã°ããï¼
+\begin{LTXexample}[width=0.3\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \ltjalchar`¶, \ltjjachar`¶\\ % default: ALchar
+α, \ltjalchar`α, \ltjjachar`α % default: JAchar
+\end{LTXexample}
+%
+
%\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%\subsection{\Param{kanjiskip}ã¨\Param{xkanjiskip}}
\label{subs-kskip}
@@ -2114,11 +2371,11 @@ The block list is indicated in Table~\ref{table-rng7}.
\begin{itemize}
%<*en>
\item Glues/kerns specified in JFM. If \cs{inhibitglue} is issued
- around a Japanese character, this glue will not be inserted at the
+ around a \textbf{JAchar}, this glue will not be inserted at the
place.
%
%<*ja>
-\item JFMã§æå®ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼ãã \cs{inhibitglue} ãåææåã®å¨ãã§
+\item JFMã§æå®ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼ãã \cs{inhibitglue} ã\textbf{JAchar}ã®å¨ãã§
çºè¡ããã¦ããã°ï¼ãã®ã°ã«ã¼ã¯æ¿å
¥ãããªãï¼
%
%<*en>
@@ -2188,7 +2445,7 @@ JFMã¯ãæã¾ãã\Param{kanjiskip}ã®å¤ãã
\cs{ltjgetparameter} ã«ãã£ã¦åå¾ãããã¨ã¯ã§ããªãã®ã§æ³¨æãå¿
è¦ã§ããï¼
%
-%\subsection{Insertion Setting of \Param{xkanjiskip}}
+%\subsection{Insertion setting of \Param{xkanjiskip}}
%\subsection{\Param{xkanjiskip} ã®æ¿å
¥è¨å®}
%<*en>
@@ -2284,7 +2541,7 @@ Japanese fonts&\Param{yjabaselineshift}
%
%<*ja>
åæãã©ã³ãã¨æ¬§æãã©ã³ããåãããããã«ã¯ï¼æã
ã©ã¡ããã®ãã¼ã¹ã©ã¤ã³ã®ç§»åã
-å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\cs{ybaselineshift} ãè¨å®ãããã¨ã§
+å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\cs{ybaselineshift}ï¼ã¾ãã¯\cs{tbaselineshift}ï¼ãè¨å®ãããã¨ã§
ãªããã¦ããï¼\textbf{ALchar}ã®ãã¼ã¹ã©ã¤ã³ããã®åã ãä¸ããï¼ï¼ãããï¼æ¥æ¬èªã主ã§ã¯ãªã
ææ¸ã«å¯¾ãã¦ã¯ï¼æ¬§æãã©ã³ãã§ã¯ãªãåæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã移åããæ¹ãããï¼
ãã®ããï¼\LuaTeX-jaã§ã¯æ¬§æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
@@ -2311,7 +2568,7 @@ Here the horizontal line in the below example is the baseline of a line.
ä¸ã®ä¾ã«ããã¦å¼ããã¦ããæ°´å¹³ç·ããã¼ã¹ã©ã¤ã³ã§ããï¼
%
\begin{LTXexample}
-\vrule width 150pt height 0.4pt depth 0pt \hskip-120pt
+\vrule width 150pt height 0.2pt depth 0.2pt \hskip-120pt
\ltjsetparameter{yjabaselineshift=0pt, yalbaselineshift=0pt}abcããã
\ltjsetparameter{yjabaselineshift=5pt, yalbaselineshift=2pt}abcããã
\end{LTXexample}
@@ -2326,29 +2583,33 @@ The following is an example (beware the value is not well tuned):
ç°ãªãæåãä¸å¿ç·ã«æãããã¨ãã§ããï¼
以ä¸ã¯ä¸ã¤ã®ä¾ã§ããï¼å¤ã¯ãã¾ã調æ´ããã¦ããªããã¨ã«æ³¨æï¼ï¼
%
-\begin{LTXexample}
-xyzæ¼¢å
+\begin{LTXexample}[width=0.4\textwidth]
+\vrule width 150pt height4.417pt depth-4.217pt%
+\kern-150pt
+\large xyzæ¼¢å
{\scriptsize
- \ltjsetparameter{yjabaselineshift=-1pt,
- yalbaselineshift=-1pt}
- XYZã²ãããª
-}abcããª
+ \ltjsetparameter{yjabaselineshift=-1.757pt,
+ yalbaselineshift=-1.757pt}
+ æ¼¢åxyzããã
+}ãããabc
\end{LTXexample}
%<*en>
Note that setting positive \Param{yalbaselineshift}~or~\Param{talbaselineshift}
-parameters does not increase the depth of one-letter ``syllable'' $p$ of \textbf{Alchar}, if
+parameters does not increase the depth of one-letter \emph{syllable} $p$ of \textbf{Alchar}, if
its left-protrusion~(\cs{lpcode}) and right-protrusion~(\cs{rpcode}) are both non-zero.
This is because
\begin{itemize}
-\item These two parameters are implemented by setting yoffset field of a
+\item These two parameters are implemented by setting \texttt{yoffset} field of a
glyph node, and this does not increase the depth of the glyph.
\item To cope with the above situation, \LuaTeX-ja automatically supplies
-a rule in every ``syllable''.
-\item However, we cannot use this ``supplying a rule'' method if \dots
+a rule in every syllable.
+\item However, we cannot use this ``supplying a rule'' method if a syllable comprises just
+ one letter whose \cs{lpcode}~and~\cs{rpcode} are both non-zero.
\end{itemize}
-This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselineshift}.
+This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselineshift},
+becuse a \emph{JAchar} is encapsulated by a horizontal box if needed.
%
%<*ja>
ãªãï¼ä»¥ä¸ã®å ´åã«ã¯1æåã®\textbf{ALchar}ãããªããé³ç¯ãã®æ·±ãã¯å¢å ããªããã¨ã«æ³¨æï¼
@@ -2357,6 +2618,7 @@ This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselines
\item ãé³ç¯ããæ§æããå¯ä¸ã®æå$p$ã®
å·¦ä½ç½ã¸ã®çªåºé(\cs{lpcode})ï¼å³ä½ç½ã¸ã®çªåºé(\cs{rpcode})ãã©ã¡ããéé¶ã§ããï¼
\end{itemize}
+\emph{JAchar}ã¯å¿
è¦ã«å¿ãã¦1æåãã¤ããã¯ã¹ã«ã«ãã»ã«åãããããï¼
\Param{yjabaselineshift},~\Param{tjabaselineshift}ãã©ã¡ã¼ã¿ã«ã¤ãã¦ã¯ãã®ãããªåé¡ã¯èµ·ãããªãï¼
%
@@ -2386,20 +2648,20 @@ This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselines
\toprule
\emph{å
¥å}&\vspace*{\dimexpr-\origbaselineskip-\smallskipamount}
\begin{lstlisting}
-æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2\!/2$,
+æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\end{lstlisting}\\
\noalign{\vskip-\origbaselineskip}
\midrule
\emph{\pTeX}&
{\ltjsetparameter{yalbaselineshift=10pt}%
-æ°å¼abc: $ãa\lower10pt\hbox{ã}$, $\int_0^x t\,dt=x^2\!/2$,
+æ°å¼abc: $ãa\lower10pt\hbox{ã}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \lower10pt\hbox{for all}\ x\in A$
\par}\\
\midrule
\emph{\LuaTeX-ja}&
{\ltjsetparameter{yalbaselineshift=10pt}%
-æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2\!/2$,
+æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\par}\\
\noalign{\vskip-\origbaselineskip}
@@ -2408,6 +2670,49 @@ $\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.
+
+OpenType font features are ignored in these parameters.
+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{ç¦åå¦çé¢é£ãã©ã¡ã¼ã¿ã¨OpenTypeã®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}
@@ -2498,7 +2803,7 @@ and \LuaTeX-ja can control these four kinds separately:
\begin{itemize}
\item
\emph{Distinction between \textbf{JAchar} or \textbf{ALchar}}
-is controlled by using the character range, see Subsection~\ref{ssec-setrange}.
+is controlled by the character range, see Subsection~\ref{ssec-setrange}.
\item
\emph{Whether the character can be used in a control word}
is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual.
@@ -2506,7 +2811,7 @@ is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual
\emph{Whether \Param{jcharwidowpenalty} can be inserted before the character}
is controlled by the lowermost bit of the \Param{kcatcode} parameter.
\item
-\emph{Ignoring linebreak after a \textbf{JAchar}} is always ignored.
+\emph{Linebreak after a \textbf{JAchar}} does not produce a space.
\end{itemize}
%
%<*ja>
@@ -2520,25 +2825,26 @@ is controlled by the lowermost bit of the \Param{kcatcode} parameter.
\LuaTeX èªèº«ã® \cs{catcode} ã§ãã
\item[\Param{jcharwidowpenalty}ãæ¿å
¥å¯ã]
\Param{kcatcode}ãã©ã¡ã¼ã¿ã®æä¸ä½ããã
- \item[ç´å¾ã®æ¹è¡ã®ç¡è¦]
-æ¥æ¬èªããæ³å®ãã¦ããªãã®ã§\textbf{JAchar}ã«ã¤ãã¦ã¯ä¸å¾æå¹
+ \item[ç´å¾ã®æ¹è¡]
+æ¥æ¬èªããæ³å®ãã¦ããªãã®ã§ï¼\textbf{JAchar}ç´å¾ã®æ¹è¡ã§åè§ã¹ãã¼ã¹ãæ¿å
¥ããããã¨ã¯ãªãï¼
\end{description}
%
%<*en>
-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).
+Default setting of \cs{catcode} of Unicode characters are located in
+\begin{description}
+ \item[plain \LuaTeX] \texttt{luatex-unicode-letters.tex}, which is based on \texttt{unicode-letters.tex}
+(for \XeTeX).
+ \item[\LuaLaTeX] now included in \LaTeX\ kernel as~\texttt{unicode-letters.def}.
+\end{description}
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
-\cs{catcode} of Kanji and kana characters to 11,
-via setting \cs{XeTeXcharclass}.
+ \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 is simply omitted in
-\texttt{luatex-unicode-letters.tex}, hence
+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.
\end{itemize}
In other words, Kanji nor kana characters cannot be used in
@@ -2553,21 +2859,25 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%<*ja>
ãã¤ãã£ãã«Unicodeå
¨é¨ã®æåãæ±ãã\XeTeX ã\LuaTeX ã§ã¯ï¼
æåãå¶å¾¡ç¶´å
ã§ä½¿ç¨ã§ãããã¯é常ã®æ¬§ææåã¨åãã \cs{catcode}
-ã§æå®ãããã¨ã¨ãªãï¼\XeTeX ã«ããã \cs{catcode} ã®åæè¨å®ã¯\
-\texttt{unicode-letters.tex} ä¸ã«è¨è¿°ããã¦ããï¼\LuaTeX ã§ã¯ããã
+ã§æå®ãããã¨ã¨ãªãï¼plain \XeTeX ã«ããã \cs{catcode} ã®åæè¨å®ã¯\
+\texttt{unicode-letters.tex} ä¸ã«è¨è¿°ããã¦ããï¼plain \LuaTeX ã§ã¯ããã
å
ã«ãã \texttt{luatex-unicode-letters.tex} ãç¨ãã¦ããï¼
+\LaTeX ã§ã¯ \cs{catcode} ã®è¨å®ã¯ã«ã¼ãã«ã« \texttt{unicode-letters.def} ã¨ãã¦çµ±åããï¼
+ãã®ãã¡ã¤ã«ã\XeLaTeX, \LuaLaTeX ã®ä¸¡æ¹ãç¨ãã¦ããï¼
+
ã ãï¼\XeTeX ã«ããã \cs{catcode} ã®åæè¨å®ã¨
\LuaTeX ã«ãããããã¯ä¸è´ãã¦ããªãï¼
\begin{itemize}
\item \texttt{luatex-unicode-letters.tex} ã®å
ã«ãªã£ã\
\texttt{unicode-letters.tex} ãå¤ã
- \item \texttt{unicode-letters.tex} ã®å¾åé¨ã§ã¯
+ \item \texttt{unicode-letters.tex} å¾åé¨ã \texttt{unicode-letters.def} å¾åé¨ã§ã¯
\cs{XeTeXcharclass} ã®è¨å®ãè¡ãªã£ã¦ããï¼
ããã«ãã£ã¦æ¼¢åãä»®åã® \cs{catcode} ã11ã«è¨å®ããã¦ããï¼
ãããï¼\texttt{luatex-unicode-letters.tex} ã§ã¯ãã®ãå¾åé¨ãã
-ã¾ããã¨çç¥ããã¦ããï¼æ¼¢åãä»®åã® \cs{catcode} ã¯12ã®ã¾ã¾ï¼
+ã¾ããã¨çç¥ããã¦ããï¼ã¾ã\LuaLaTeX ã§ã \texttt{unicode-letters.def} å¾åé¨ã¯å®è¡ãããª
+ ãï¼å¾ã£ã¦æ¼¢åãä»®åã® \cs{catcode} ã¯12ã®ã¾ã¾ã«ãªã£ã¦ããï¼
\end{itemize}
è¨ãæããã¨ï¼\LuaTeX ã®åæç¶æ
ã§ã¯æ¼¢åãä»®åãå¶å¾¡ç¶´å
ã«
使ç¨ãããã¨ã¯ã§ããªãï¼
@@ -2592,7 +2902,7 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%&\bf row&\bf col.&\bf \pTeX&\bf \upTeX&\bf\LuaTeX-ja\\
%&\bf åº&\bf ç¹&\bf \pTeX&\bf \upTeX&\fontseries{b}\selectfont\LuaTeX-ja\\
\midrule
-\D 3000&1&1&N&N&Y\\
+%\D 3000&1&1&N&N&Y\\
\D 30FB&1&6&N&Y&N\\
\D 309B&1&11&N&Y&N\\
\D 309C&1&12&N&Y&N\\
@@ -2600,16 +2910,18 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
\D FF3E&1&16&N&N&Y\\
\D FFE3&1&17&N&N&Y\\
\D FF3F&1&18&N&N&Y\\
-\D 30FD&1&19&N&Y&Y\\
-\D 30FE&1&20&N&Y&Y\\
-\D 309D&1&21&N&Y&Y\\
-\D 309E&1&22&N&Y&Y\\
+%\D 30FD&1&19&N&Y&Y\\
+%\D 30FE&1&20&N&Y&Y\\
+%\D 309D&1&21&N&Y&Y\\
+%\D 309E&1&22&N&Y&Y\\
\D 3003&1&23&N&N&Y\\
\D 4EDD&1&24&N&Y&Y\\
\D 3005&1&25&N&N&Y\\
\D 3006&1&26&N&N&Y\\
\D 3007&1&27&N&N&Y\\
\D 30FC&1&28&N&Y&Y\\
+\D FF0F&1&31&N&N&Y\\
+\D FF3C&1&32&N&N&Y\\
\bottomrule
\end{tabular}\qquad
\begin{tabular}{cccccc}
@@ -2617,8 +2929,6 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%&\bf row&\bf col.&\bf \pTeX&\bf \upTeX&\bf\LuaTeX-ja\\
%&\bf åº&\bf ç¹&\bf \pTeX&\bf \upTeX&\fontseries{b}\selectfont\LuaTeX-ja\\
\midrule
-\D FF0F&1&31&N&N&Y\\
-\D FF3C&1&32&N&N&Y\\
\D FF5C&1&35&N&N&Y\\
\D FF0B&1&60&N&N&Y\\
\D FF1D&1&65&N&N&Y\\
@@ -2636,20 +2946,17 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}Cyrillic letters (row 7)}&N&N&Y\\
%\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ã®ãªã·ã£æåï¼6åºï¼}&Y&N&Y\\
%\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ããªã«æåï¼7åºï¼}&N&N&Y\\
-$\vphantom{\D 3000}$\\
\bottomrule
\end{tabular}\hss}\par
\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.
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
-in a control word in \LuaTeX-ja.}
Difference becomes larger, if we consider
non-kanji JIS~X~0213 characters.
@@ -2663,12 +2970,10 @@ For the detail, see \url{https://github.com/h-kitagawa/kct}.
ç°ãªã£ã¦ããã¨ããã ããè¼ããã¨ï¼è¡¨\ref{table-kcat-diff}ã®ããã«ãªãï¼
ãã»ããããããããã ããé¤ãã°ï¼\LuaTeX-jaã§ã¯\upTeX ããå¤ãã®æåã
å¶å¾¡ç¶´ã«ä½¿ç¨å¯è½ã«ãªã£ã¦ããï¼
-\textbf{ç¹ã«éè¦ãªã®ã¯ï¼å
¨è§ç©ºç½(\texttt{U+3000})ã
-\LuaTeX-jaã§ã¯å¶å¾¡ç¶´ä¸ã«ä½¿ç¨å¯è½ã§ãããã¨ã§ããï¼}
JIS~X~0213ã®ç¯å²ã«åºããã¨ï¼å·®ç°ã¯ããã«å¤§ãããªãï¼
詳細ã«ã¤ãã¦ã¯ä¾ãã° \url{https://github.com/h-kitagawa/kct} ä¸ã®\
-\texttt{kct-uni-out.pdf} ãªã©ãåç
§ãããã¨ï¼
+\texttt{kct-out.pdf} ãªã©ãåç
§ãããã¨ï¼
%
@@ -2711,7 +3016,7 @@ implemented vertical writing by rotating \texttt{TLT}-box by 90~degrees.
%<*ja>
\begin{tabular}{>{\bfseries}lcccc}
\toprule
-&横çµ&ç¸¦çµ &\cs{dtou}ãdtouæ¹åã&ãutodæ¹åã\\
+&横çµ&ç¸¦çµ &ãdtouæ¹åã&ãutodæ¹åã\\
\midrule
å½ä»¤&\cs{yoko}&\cs{tate}&\cs{dtou}&\cs{utod}\\
åéãæ¹å&æ°´å¹³å³åãï¼âï¼&åç´ä¸åãï¼âï¼&åç´ä¸åãï¼âï¼&åç´ä¸åãï¼âï¼\\
@@ -2846,7 +3151,7 @@ the direction inside the box and that outside the box differ.
\put(0,0){\vector(1,0){5}} \put(2.5,-0.2){\makebox(0,0)[t]{$h_{\mathrm{T}}$}}
\put(0,0){\vector(-1,0){2}}\put(-1,-0.2){\makebox(0,0)[t]{$d_{\mathrm{T}}$}}
\put(0,0){\vector(0,-1){7}}\put(0.2,-3.5){\makebox(0,0)[l]{$w_{\mathrm{T}}$}}
- \end{picture}}}
+ \end{picture}}}%
}
\def\DTOUeg{%
\hbox{\smash{\begin{picture}(0,0)(-5,0)
@@ -2857,7 +3162,7 @@ the direction inside the box and that outside the box differ.
\put(0,0){\vector(-1,0){5}} \put(-2.5,0.3){\makebox(0,0)[b]{$h_{\mathrm{D}}$}}
\put(0,0){\vector(1,0){2}}\put(1,0.3){\makebox(0,0)[b]{$d_{\mathrm{D}}$}}
\put(0,0){\vector(0,1){7}}\put(-0.2,3.5){\makebox(0,0)[r]{$w_{\mathrm{D}}$}}
- \end{picture}}}
+ \end{picture}}}%
}
\def\YOKOeg{%
\hbox{\smash{\begin{picture}(0,0)
@@ -2868,7 +3173,7 @@ the direction inside the box and that outside the box differ.
\put(0,0){\vector(0,1){5}} \put(0.3,2.5){\makebox(0,0)[l]{$h_{\mathrm{Y}}$}}
\put(0,0){\vector(0,-1){2}}\put(0.3,-1){\makebox(0,0)[l]{$d_{\mathrm{Y}}$}}
\put(0,0){\vector(1,0){7}}\put(3.5,0.2){\makebox(0,0)[b]{$w_{\mathrm{Y}}$}}
- \end{picture}}}
+ \end{picture}}}%
}
\begin{tabular}{ccc}
\toprule
@@ -2974,7 +3279,7 @@ the direction inside the box and that outside the box differ.
\begin{align*}
W_{\mathrm{Y}} &= h_{\mathrm{D}}+d_{\mathrm{D}},\\
H_{\mathrm{Y}} &= w_{\mathrm{D}},\\
- D_{\mathrm{Y}} &= 0\,pt
+ D_{\mathrm{Y}} &= 0\,\mathrm{pt}
\end{align*}%
}&
\parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
@@ -3053,33 +3358,32 @@ To access box dimensions \emph{with respect to current direction},
one have to use the following commands instead of \cs{wd} wtc.
\begin{cslist}
- \item[\cs{ltjgetwd}\{\}\textrm{, }\cs{ltjgetht}\{\}\textrm{, }%
- \cs{ltjgetdp}\{\}]
+ \item[\cs{ltjgetwd}\textrm{, }\cs{ltjgetht}\textrm{, }%
+ \cs{ltjgetdp}]
These commands return \emph{an internal dimension} of \cs{box} with respect to
the current direction. One can use these in \cs{dimexpr} primitive, as the followings.
\begin{lstlisting}
-\dimexpr 2\ltjgetwd{42}-3pt\relax, \the\ltjgetwd{1701}
+\dimexpr 2\ltjgetwd42-3pt\relax, \the\ltjgetwd1701
\end{lstlisting}
-By its implementaion, the argument must be grouped as \verb+\ltjgetwd{42}+,
-if the argument consists of more than one token.
+The following is an example.
\begin{LTXexample}[width=0.3\textwidth]
\parindent0pt
\setbox32767=\hbox{\yoko ãããã¿}
\fboxsep=0mm\fbox{\copy32767}
\vbox{\hsize=20mm
-\yoko YOKO \the\ltjgetwd{32767}, \\
- \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\yoko YOKO \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\vbox{\hsize=20mm\raggedleft
-\tate TATE \the\ltjgetwd{32767}, \\
- \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\tate TATE \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\vbox{\hsize=20mm\raggedleft
-\dtou DTOU \the\ltjgetwd{32767}, \\
- \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\dtou DTOU \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\end{LTXexample}
\item[\cs{ltjsetwd}=\textrm{, }\cs{ltjsetht}=\textrm{, }%
\cs{ltjsetdp}=]
-These commands set the dimension of \cs{box}. Unlike \cs{ltjgetwd}, one does not need
+These commands set the dimension of \cs{box}. One does not need
to group the argument ; four calls of \cs{ltjsetwd} below have the same meaning.
\begin{lstlisting}
\ltjsetwd42 20pt, \ltjsetwd42=20pt, \ltjsetwd=42 20pt, \ltjsetwd=42=20pt
@@ -3111,32 +3415,27 @@ These commands set the dimension of \cs{box}. Unlike \cs{ltjgetwd}, one doe
\begin{cslist}
- \item[\cs{ltjgetwd}\{\}\textrm{, }\cs{ltjgetht}\{\}\textrm{, }%
- \cs{ltjgetdp}\{\}]
+ \item[\cs{ltjgetwd}\textrm{, }\cs{ltjgetht}\textrm{, }%
+ \cs{ltjgetdp}]
ç¾å¨ã®çµæ¹åã«å¿ããããã¯ã¹ã®å¯¸æ³ã®åå¾ãè¡ãï¼çµæã¯å
é¨é·ãã§ããããï¼
\begin{lstlisting}
-\dimexpr 2\ltjgetwd{42}-3pt\relax, \the\ltjgetwd{1701}
+\dimexpr 2\ltjgetwd42-3pt\relax, \the\ltjgetwd1701
\end{lstlisting}
-ã®ããã« \cs{wd} ã®ä»£ããã¨ãã¦æ±ããã¨ãã§ããï¼å¼æ°ã1æ¡ã®å ´åã¯ï¼
-\cs{ltjgetwd3} ã®ããã«å¼æ°ãã°ã«ã¼ãã§æ¬ããªãã¦ãè¯ããï¼ããã§ãªãå ´åã¯
-ï¼é常ã®å½ä»¤ã¸ã®å¼æ°ã®ããã«ï¼\verb+\ltjgetwd{42}+ ã¨ã°ã«ã¼ãã«æ¬ãå¿
è¦ããã%
-\footnote{\cs{afterassignment} ãå©ç¨ãã¦å®è£
ããã°ã°ã«ã¼ãã«æ¬ãå¿
è¦ããªããªãã®ã§ã¯ï¼ã¨æ
- ããããããªããï¼ããã§ã¯æ¬æä¸ã«æ¸ããä¾ã®ããã« \cs{dimexpr} ä¸ã§ä½¿ç¨ã§ã
- ãªããªã£ã¦ãã¾ãï¼}ï¼
+ã®ããã« \cs{wd} ã®ä»£ããã¨ãã¦æ±ããã¨ãã§ããï¼
使ç¨ä¾ã¯ä»¥ä¸ã®éãã§ããï¼
\begin{LTXexample}[width=0.3\textwidth]
\parindent0pt
\setbox32767=\hbox{\yoko ãããã¿}
\fboxsep=0mm\fbox{\copy32767}
\vbox{\hsize=20mm
-\yoko YOKO \the\ltjgetwd{32767}, \\
- \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\yoko YOKO \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\vbox{\hsize=20mm\raggedleft
-\tate TATE \the\ltjgetwd{32767}, \\
- \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\tate TATE \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\vbox{\hsize=20mm\raggedleft
-\dtou DTOU \the\ltjgetwd{32767}, \\
- \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\dtou DTOU \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\end{LTXexample}
\item[\cs{ltjsetwd}=\textrm{, }\cs{ltjsetht}=\textrm{, }%
@@ -3157,7 +3456,7 @@ These commands set the dimension of \cs{box}. Unlike \cs{ltjgetwd}, one doe
%<*en>
\subsection{Getting current direction}
The \Param{direction} parameter returns the current direction, and
-the \Param{boxdir} parameter (with the argumant )
+the \Param{boxdir} parameter (with the argument )
returns the direction of a box register \cs{box}.
The returned value of these parameters are a \emph{string}:
\begin{center}
@@ -3203,7 +3502,7 @@ Returned value&\texttt{4}&\texttt{3}&\texttt{1}&\texttt{11}&\texttt{0}\\
\end{center}
\begin{LTXexample}[width=0.3\textwidth]
-\leavevmode\def\DIR{\ltjgetparameter{ direction}}
+\leavevmode\def\DIR{\ltjgetparameter{direction}}
\hbox{\yoko\DIR}, \hbox{\tate\DIR},
\hbox{\dtou\DIR}, \hbox{\utod\DIR},
\hbox{\tate$\hbox{tate math: \DIR}$}
@@ -3218,7 +3517,7 @@ Returned value&\texttt{4}&\texttt{3}&\texttt{1}&\texttt{11}&\texttt{0}\\
\ifnum\ltjgetparameter{boxdir}{200}=4
\end{lstlisting}
ã®ããã«è¡ããã¨ãã§ããï¼
-\cs{iftdir} ã¯å°ã
é¢åã§ããã
+\cs{iftdir} ã¯å°ã
é¢åã§ãããï¼8ã§å²ã£ãä½ãã3ã§ãããå¦ããå¤æããã°è¯ããã
\begin{lstlisting}
\ifnum\numexpr
\ltjgetparameter{direction}-(\ltjgetparameter{direction}/8)*8=3
@@ -3537,8 +3836,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.
@@ -3553,6 +3852,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} å½ä»¤}
@@ -3614,7 +3943,7 @@ letter-spacing and the width of italic correction are not correct:
ä½ãï¼ä»¥ä¸ã®ä¾ã®3è¡ç®ã«ç¤ºãããã«ï¼æ示çã« \texttt{vert}, \texttt{vrt2}ï¼ã®ããããï¼ã®
æå¹ã»ç¡å¹ãæå®ããå ´åã¯å¥ã§ããï¼
\begin{lstlisting}
-\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujisv
+\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujisv
% vert and vrt2 are automatically activated
\tfont\T=file:KozMinPr6N-Regular.otf:jfm=ujisv;-vert % vert and vrt2 are not activated
\end{lstlisting}
@@ -3738,7 +4067,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:
@@ -3882,20 +4211,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ã¨ä½µç¨
ããã°ï¼ããã«ãã£ã¦ãããã¼ã·ã§ãã«çµãè¡ããã¨ãã§ããï¼
%
@@ -4119,62 +4476,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>
@@ -4189,8 +4606,8 @@ we specify to
%<*ja>
\paragraph{æåã¯ã©ã¹ã®æ±ºå®}
-æåãããã®æåã®å±ããæåã¯ã©ã¹ãç®åºããéç¨ã¯å°ã
è¤éã§ããï¼
-次ã®å
容ãä¸é¨ã«å«ãã \texttt{jfm-test.lua} ãç¨ãã¦èª¬æããï¼
+æåãããã®æåã®å±ããæåã¯ã©ã¹ãç®åºããéç¨ã«ã¤ãã¦ï¼
+次ã®å
容ãå«ãã \texttt{jfm-test.lua} ãç¨ãã¦èª¬æããï¼
%
%<*en>
\paragraph{Character to character classes}
@@ -4234,17 +4651,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
@@ -4252,11 +4669,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.
@@ -4304,7 +4721,7 @@ The following is the list of imaginary characters:
\item['jcharbdd']
%A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
-%åææåã¨ããã®ä»ã®ãã®ãï¼æ¬§ææåï¼glueï¼kernçï¼ã¨ã®å¢çï¼
+%\textbf{JAchar}ã¨ããã®ä»ã®ãã®ãï¼æ¬§ææåï¼glueï¼kernçï¼ã¨ã®å¢çï¼
\item[$-1$]
%The left/right boundary of an inline math formula.
@@ -4370,7 +4787,7 @@ JFMå´ã§ä¸é¨ã®å¯¾å¦ãã§ãããã¨ã«ããï¼\Pkg{jsclasses}ã®ãã
%
-%\subsection{Math Font Family}
+%\subsection{Math font family}
%\subsection{æ°å¼ãã©ã³ããã¡ããª}
\label{ssec-math}
@@ -4524,7 +4941,7 @@ For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose cl
\item \texttt{align} is a number which is determined from \texttt{align}~field in the JFM:
\[
\begin{cases}
- 0&\text{\texttt{'left'} and the default value}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
+ 0&\text{\texttt{'left'} (default)}\\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
@@ -4584,7 +5001,7 @@ glueã§ããã°ï¼\texttt{[$j$]=\{false, , , \}} ã§
\end{itemize}
\item[ascent\textrm{, }descent]
â¦â¦
-\item[chars\_cbcache]
+\item[chars\_cbcache]
â¦â¦
\end{cslist}
%
@@ -4662,7 +5079,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}
@@ -4701,7 +5118,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.
@@ -4724,8 +5141,8 @@ is the position of \verb+hpack_filter+ callback in the source
of \LuaTeX, see Section~\ref{sec-para}.
%
%<*ja>
-å
ã«è¿°ã¹ãããã«ï¼\LuaTeX-jaã®ã»ã¨ãã©ã®å
é¨ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããã«ã¯
-\cs{ltjsetparameter} 㨠\cs{ltjgetparameter} ãç¨ããï¼
+å
ã«è¿°ã¹ãããã«ï¼\LuaTeX-jaã®å
é¨ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããã«ã¯
+\cs{ltjsetparameter}ï¼ã¾ã㯠\cs{ltjglobalsetparameter}ï¼ã¨ \cs{ltjgetparameter} ãç¨ããï¼
\LuaTeX-jaã\pTeX ã®ãããªææ³ï¼ä¾ãã°ï¼\verb+\prebreakpenalty`ï¼=10000+ï¼ã
æ¡ç¨ããªãçç±ã®ä¸ã¤ã¯ï¼\LuaTeX ã®ã½ã¼ã¹ã«ããã \verb+hpack_filter+
ã³ã¼ã«ããã¯ã®ä½ç½®ã«ããï¼\ref{sec-para}ç« ãåç
§ï¼
@@ -4735,24 +5152,19 @@ of \LuaTeX, see Section~\ref{sec-para}.
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} are commands
for assigning parameters. These take one argument which is a
\texttt{=} list.
-The list of allowed keys are described in the next subsection.
-The difference between
-\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} is only the
+The difference between these two commands is the
scope of assignment;
\cs{ltjsetparameter} does a local assignment and
\cs{ltjglobalsetparameter} does a global one.
-They also obey the value of \cs{globaldefs},
-like other assignment.
+They also obey the value of \cs{globaldefs}, like other assignments.
%
%<*ja>
\cs{ltjsetparameter} 㨠\cs{ltjglobalsetparameter} ã¯ãã©ã¡ã¼ã¿ã
-æå®ããããã®å½ä»¤ã§ããï¼ãããã¯\texttt{=}ã®ãªã¹ãã
-å¼æ°ã¨ãã¦ã¨ãï¼è¨±ããããã¼ã®ä¸è¦§ã¯æ¬¡ã®ç¯ã«ããï¼
-\cs{ltjsetparameter} 㨠\cs{ltjglobalsetparameter} ã®éãã¯ã¹ã³ã¼ãã®
-éãã®ã¿ã§ï¼
-\cs{ltjsetparameter} ã¯ãã¼ã«ã«ãªæå®ï¼\cs{ltjglobalsetparameter} ã¯
-ã°ãã¼ãã«ãªæå®ãè¡ãï¼
-ãããã¯ä»ã®ãã©ã¡ã¼ã¿æå®ã¨åæ§ã« \cs{globaldefs} ã®å¤ã«å¾ãï¼
+æå®ããããã®å½ä»¤ã§ï¼\texttt{=}ã®ãªã¹ãã
+å¼æ°ã¨ãã¦ã¨ãï¼ä¸¡è
ã®éãã¯ã¹ã³ã¼ãã§ããï¼
+\cs{ltjsetparameter} ã¯ãã¼ã«ã«ãªè¨å®ãè¡ãã®ã«å¯¾ãï¼
+\cs{ltjglobalsetparameter} ã¯ã°ãã¼ãã«ãªè¨å®ãè¡ãï¼
+ã¾ãï¼ä»ã®ãã©ã¡ã¼ã¿æå®ã¨åæ§ã« \cs{globaldefs} ã®å¤ã«ãå¾ãï¼
%
%<*en>
@@ -4763,7 +5175,7 @@ in \pTeX, and symbols beside each parameter has the following meaning:
%<*ja>
以ä¸ã¯ \cs{ltjsetparameter} ã«æå®ãããã¨ãã§ãããã©ã¡ã¼ã¿ã®ä¸è¦§ã§ããï¼
[\cs{cs}]ã¯\pTeX ã«ããã対å¿ç©ã示ãï¼
-ã¾ãï¼ããããã®ãã©ã¡ã¼ã¿ã®å³ä¸ã«ããè¨å·ã«ã¯æ¬¡ã®æå³ãããï¼
+ã¾ãï¼ããããã®ãã©ã¡ã¼ã¿ã®å³ä¸ã®è¨å·ã«ã¯æ¬¡ã®æå³ãããï¼
%
\begin{itemize}
%<*en>
@@ -4804,7 +5216,7 @@ At the present version, the lowermost bit of indicates
(see the description of \Param{jcharwidowpenalty} above).
%
%<*ja>
-æåã³ã¼ããã®æåãæã¤ä»å çãªå±æ§å¤(attribute)ï¼
+æåã³ã¼ããã®æåãæã¤ä»å çãªå±æ§å¤ï¼
ç¾å¨ã®ãã¼ã¸ã§ã³ã§ã¯ï¼ã®æä¸ä½ããããï¼ãã®æåãå¥èªç¹ã¨
ã¿ãªããããã©ããã表ãã¦ããï¼ä¸ã®\Param{jcharwidowpenalty}ã®è¨è¿°ãåç
§ï¼ï¼
%
@@ -4821,7 +5233,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 ,
@@ -4831,8 +5251,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}]\
@@ -4840,25 +5267,10 @@ by default.
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡æ«ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®å¾ã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
-
-\pTeX ã§ã¯ï¼\cs{prebreakpenalty}, \cs{postbreakpenalty}ã«ããã¦ï¼
-\begin{itemize}
-\item ä¸ã¤ã®æåã«å¯¾ãã¦ï¼pre, postã©ã¡ããä¸ã¤ããæå®ãããã¨ãã§ããªãã£
- ãï¼å¾ããæå®ããæ¹ã§ä¸æ¸ããããï¼ï¼
-\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$]
@@ -4878,7 +5290,7 @@ for the same character.
\item[\DParam{jaxspmode}\,=\{,\}$^\ast$]\
%<*en>
-Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is .
+Set whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is .
The followings are allowed for :
%
%<*ja>
@@ -4906,7 +5318,7 @@ This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not
\item[\DParam{alxspmode}\,=\{,\}$^\ast$] [\cs{xspcode}]\
%<*en>
-Setting whether inserting \Param{xkanjiskip} is allowed before/after a
+Set whether inserting \Param{xkanjiskip} is allowed before/after a
\textbf{ALchar} whose character code is .
The followings are allowed for :
%
@@ -4943,6 +5355,13 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl
ãããï¼èªç¶é·ã \cs{maxdimen} ã®å ´åã¯ï¼ä¾å¤çã«åæãã©ã³ãã®JFMå´ã§æå®ããã¦ãã
å¤ãæ¡ç¨ï¼ãã¡ãã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ï¼ãããã¨ã«ãªã£ã¦ããï¼
%
+%<*en>
+The default glue which inserted between two \textbf{JAchar}s.
+Changing current Japanese font does not alter this parameter, as \pTeX.
+
+If the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
+the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec-jfm-str}).
+%
\item[\DParam{xkanjiskip}\,=$^\ast$] [\cs{xkanjiskip}]\
@@ -4951,6 +5370,14 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl
\Param{kanjiskip}ã¨åãããã«ï¼é常ã§ã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ãã¦å¤ãããã¨ã¯ãªããï¼
èªç¶é·ã \cs{maxdimen} ã®å ´åãä¾å¤ã§ããï¼
%
+%<*en>
+The default glue which inserted between a \textbf{JAchar} and an
+ \textbf{ALchar}.
+Changing current font does not alter this parameter, as \pTeX.
+
+As \Param{kanjiskip}, if the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
+the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec-jfm-str}).
+%
\item[\DParam{differentjfm}\,=$^\dagger$]\
@@ -5002,6 +5429,7 @@ the behavior of this assignment is undefined.
\end{cslist}
+
\subsection{\cs{ltjgetparameter}}
\label{ssec-getpar}
%<*en>
@@ -5021,8 +5449,8 @@ always takes a parameter name as first argument.
%<*en>
\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
+always a string}, which is outputted by \texttt{tex.write()}.
+Hence any character other than space~``\texttt{\char32}''~(\texttt{U+0020}) has the category code
12~(other), while the space has 10~(space).
%
%<*ja>
@@ -5054,7 +5482,7 @@ returns 1 or 0, not
%<*ja>
\verb+\ltjgetparameter{autospacing}+ 㨠\verb+\ltjgetparameter{autoxspacing}+ ã¯ï¼
\texttt{true}ã\texttt{false}ãè¿ãã®\emph{ã§ã¯ãªã}ï¼
-1ã¨0ã®ãããããè¿ããã¨ã«æ³¨æï¼
+1ã0ã®ãããããè¿ããã¨ã«æ³¨æï¼
%
\item
@@ -5063,7 +5491,7 @@ If first argument is one of the
following, an additional argument---a character code, for example---is needed.
%
%<*ja>
-第1å¼æ°ã次ã®ããããã®å ´åã«ã¯ï¼ããã«æåã³ã¼ãã第äºå¼æ°ã¨ãã¦ã¨ãï¼
+第1å¼æ°ã次ã®ããããã®å ´åã«ã¯ï¼ããã«æåã³ã¼ãã第2å¼æ°ã¨ãã¦ã¨ãï¼
%
\begin{quote}
\sffamily
@@ -5172,14 +5600,138 @@ by the following:
\verb+}}+\\\null\hfill\verb+% 0 if JAchar, 1 if ALchar+
\end{quote}
+%<*en>
+\item Because the returned value is string, the following conditionals do not work
+if \Param{kanjiskip} (or~\Param{xkanjiskip}) has the stretch part or the shrink part.
+\begin{lstlisting}
+\ifdim\ltjgetparameter{kanjiskip}>\z@ ... \fi
+\ifdim\ltjgetparameter{xkanjiskip}>\z@ ... \fi
+\end{lstlisting}
+The correct way is using a temporary register.
+\begin{lstlisting}
+\@tempskipa=\ltjgetparameter{kanjiskip} \ifdim\@tempskipa>\z@ ... \fi
+\@tempskipa=\ltjgetparameter{xkanjiskip}\ifdim\@tempskipa>\z@ ... \fi
+\end{lstlisting}
+%
+%<*ja>
+\item è¿ãå¤ãæååã§ãããã¨ããï¼\Param{kanjiskip}ã\Param{xkanjiskip}ãç´æ¥
+\ \cs{ifdim} ã使ã£ã¦æ¯è¼ãããã¨ã¯æã¾ãããªãï¼ä¼¸ã³éã縮ã¿éãæã£ã¦ããæã«ã¯ï¼
+次ã¯ã¨ã©ã¼ãçºçãããï¼
+\begin{lstlisting}
+\ifdim\ltjgetparameter{kanjiskip}>\z@ ... \fi
+\ifdim\ltjgetparameter{xkanjiskip}>\z@ ... \fi
+\end{lstlisting}
+ã¬ã¸ã¹ã¿ã«ä¸æ¦ä»£å
¥ããã®ãè¯ãï¼
+\begin{lstlisting}
+\@tempskipa=\ltjgetparameter{kanjiskip} \ifdim\@tempskipa>\z@ ... \fi
+\@tempskipa=\ltjgetparameter{xkanjiskip}\ifdim\@tempskipa>\z@ ... \fi
+\end{lstlisting}
+%
+
\end{itemize}
+%<*ja>
+\subsection{\cs{ltjsetparameter} ã®ä»£æ¿}
+ååã¨ãã¦å種å
é¨ãã©ã¡ã¼ã¿ã®è¨å®ã«ã¯ \cs{ltjsetparameter} ãããã¯
+\ \cs{ltjglobalsetparameter}\ ãç¨ãããã¨ã«ãªããï¼
+\cs{ltjsetparameter} ã®å®è¡ã«ã¯æéããããã¨ããé£ç¹ãããï¼
+\LuaTeX-ja ã®å
é¨ã§ã¯ããé«éã«å®è¡ã§ããå¥ã®å½¢å¼ãç¨ãã¦ããï¼
+\emph{æ¬ç¯ã¯ä¸è¬å©ç¨è
ããã®å
容ã§ã¯ãªãï¼}
+\paragraph{\Param{kanjiskip}, \Param{xkanjiskip} ã®è¨å®}
+\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ã§ã¯ï¼
+\begin{lstlisting}
+\def\@setfontsize#1#2#3{%
+ ...
+ \kanjiskip=0zw plus .1zw minus .01zw
+ \ifdim\xkanjiskip>\z@
+ \if@slide \xkanjiskip=0.1em \else
+ \xkanjiskip=0.25em plus 0.15em minus 0.06em
+ \fi
+ \fi}
+\end{lstlisting}
+ã¨ï¼ãã©ã³ããµã¤ãºãå¤æ´ãããã¨ã« \cs{kanjiskip}, \cs{xkanjiskip} ãå¤æ´ãã¦ããï¼
+ãã® \cs{@setfontsize} ã¯ææ¸ã®ä¸ã§å¤æ°åå®è¡ãããã®ã§ï¼
+\LuaTeX-ja ç¨ã«ç´ ç´ã«æ¸ãæãã
+\begin{lstlisting}
+ \ltjsetparameter{kanjiskip=0\zw plus .1\zw minus .01\zw}
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetparameter{xkanjiskip=0.1em}
+ \else
+ \ltjsetparameter{xkanjiskip=0.25em plus 0.15em minus 0.06em}
+ \fi
+ \fi
+\end{lstlisting}
+ã¨ããã®ã§ã¯ã¿ã¤ãã»ãããé
ããªã£ã¦ãã¾ãï¼
+ããã§ï¼\cs{ltjsetparameter} ã®ä¸ã§
+\begin{itemize}
+\item \cs{globaldefs} ã®å¤ãèªã¿åã \cs{ltj@setpar@global}
+\item \Param{kanjiskip} ã®è¨å®ãè¡ã \cs{ltjsetkanjiskip}
+\item \Param{xkanjiskip} ã®è¨å®ãè¡ã \cs{ltjsetxkanjiskip}
+\end{itemize}
+ãç¬ç«ããï¼\Pkg{ltjsclasses}ã§ã¯ï¼
+\begin{lstlisting}
+ \ltj@setpar@global
+ \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetxkanjiskip.1em
+ \else
+ \ltjsetxkanjiskip.25em plus .15em minus .06em
+ \fi
+ \fi
+\end{lstlisting}
+ã¨ãã¦ããï¼
+\cs{ltj@setpar@global}ãç´åã«å®è¡ããï¼åç¬ã§
+\cs{ltjsetkanjiskip}, \cs{ltjsetxkanjiskip}ãå®è¡ãããã¨ã¯æ³å®ããã¦ããªãã®ã§æ³¨æï¼
+
+
+
+\paragraph{ãã¼ã¹ã©ã¤ã³è£æ£éã®è¨å®}
+\pLaTeX ã®\Pkg{ascmac}ããã±ã¼ã¸ã§ã¯ï¼ç¸¦çµã®æ¬§æãã¼ã¹ã©ã¤ã³è£æ£éã®ä¸æå¾
é¿ã»å¾©å¸°å¦çã«
+\ \cs{@saveybaselineshift}\ ã¨ãã寸æ³ã¬ã¸ã¹ã¿ãç¨ã
+\begin{lstlisting}
+\@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+...
+\tbaselineshift\@savetbaselineshift
+\end{lstlisting}
+ã¨ããå¦çãè¡ã£ã¦ããï¼
+
+ããã\LuaTeX-ja ç¨ã« \cs{ltjsetparameter} ã使ã£ã¦æ¸ãç´ãã¨ï¼
+\begin{lstlisting}
+\@savetbaselineshift\ltjgetparameter{talbaselineshift}
+\ltjsetparameter{talbaselineshift=\z@}
+...
+\ltjsetparameter{talbaselineshift=\@savetbaselineshift}
+\end{lstlisting}
+ã¨ãªãï¼
+
+ãã¦ï¼ç¸¦çµã®æ¬§æãã¼ã¹ã©ã¤ã³è£æ£é\Param{talbaselineshift}ã¯ï¼
+å®éã«ã¯ \cs{ltj@tablshift} ã¨ããå±æ§ã¬ã¸ã¹ã¿ã«æ ¼ç´ããã¦ãã
+ï¼\ref{sec-para}\nobreak ç¯åç
§ï¼ï¼å±æ§ã¬ã¸ã¹ã¿ã¯é·ãã§ã¯ãªãæ´æ°å¤ãæ ¼ç´ãã\footnote{%
+ å¾ã£ã¦ï¼\texttt{\textbackslash @savetbaselineshift=\textbackslash ltj@tablshift}\
+ ã®ããã«è¨è¿°ãããã¨ã¯ã§ããªãï¼å±æ§ã¬ã¸ã¹ã¿ã \cs{tbaselineshift} ã¨ããå称ã«ããªãã£
+ ãã®ã¯ãã®ããã§ããï¼
+}ãã®ã§ããï¼\cs{ltj@tablshift} ã¯è£æ£éã sp åä½ã§ä¿æãããã¨ããï¼
+ä¸è¨ã®ã³ã¼ãã¨åãå
容ãããéã以ä¸ã®ã³ã¼ãã§å®ç¾ãããã¨ãã§ããï¼
+\begin{lstlisting}
+\@savetbaselineshift\ltj@tablshift sp%
+\ltj@tablshift\z@
+...
+\ltj@tablshift\@savetbaselineshift
+\end{lstlisting}
+ãã®ææ³ã¯ \Pkg{ascmac} ããã±ã¼ã¸ã®\LuaTeX-ja対å¿ããã \Pkg{lltjp-tascmac.sty} ã§
+å®éã«ç¨ãããã¦ããï¼\Pkg{lltjp-tascmac.sty} ã¯èªåçã«èªã¿è¾¼ã¾ããã®ã§ï¼
+ã¦ã¼ã¶ã¯ä½ãæ°ã«ããæ®éã« \Pkg{ascmac} ããã±ã¼ã¸ã \cs{usepackage} ã§èªã¿ããã°è¯ãï¼
+%
%\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>
@@ -5295,7 +5847,7 @@ With the help of this example, we remark the specification of \cs{inhibitglue}:
Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts.
This \cs{ltjdeclarealtfont} uses in the following form:
\begin{quote}
-\ttfamily \textbackslash ltjdeclarealtfont{}
+\ttfamily \textbackslash ltjdeclarealtfont\{\}
\end{quote}
where ~and~ are defined by \cs{jfont}.
Its meaning is
@@ -5303,8 +5855,7 @@ Its meaning is
If the current Japanese font is , characters which belong to
is typeset by another Japanese font , instead of .
\end{quote}
-
- is a comma-separated list of character codes, but also accepts negative integers:
+Here is a comma-separated list of character codes, but also accepts negative integers:
$-n$~($nâ¥1$) means that all characters of character classes~$n$, with respect to JFM used
by . Note that characters which do not exist in are
ignored.
@@ -5328,7 +5879,7 @@ are typeset by \cs{piyo}.
\cs{ltjdeclarealtfont} ã¯ä»¥ä¸ã®æ¸å¼ã§ä½¿ç¨ããï¼
\begin{quote}
-\ttfamily \textbackslash ltjdeclarealtfont{}
+\ttfamily \textbackslash ltjdeclarealtfont\{\}
\end{quote}
ããã¯ãç¾å¨ã®åæãã©ã³ãããã§ããã¨ãï¼
ã«å±ããæåã¯ãç¨ãã¦çµçãããï¼ã¨ããæå³ã§ããï¼
@@ -5356,6 +5907,28 @@ are typeset by \cs{piyo}.
ãã¯ãã®é½åã«ããï¼
%
+%<*ja>
+\subsection{\cs{ltjalchar} 㨠\cs{ltjjachar}}
+æåã³ã¼ãã$\text{}~(\geq 128=\mathtt{0x80})$ã®æåã
+\ \cs{char} ããªããã£ãã使ã \cs{char} ã¨ãã¦åºåãããã¨ï¼
+ãã®æåã®å±ããæåç¯å²ï¼\ref{ssec-setrange}ç¯åç
§ï¼ã«ãã£ã¦
+\textbf{ALchar}ã\textbf{JAchar}ãï¼ã¤ã¾ã欧æãã©ã³ãã§åºåããããåæãã©ã³ãã§åºåãã
+ããã決ã¾ãï¼
+
+æåç¯å²ã®è¨å®ãç¡è¦ãï¼æåã³ã¼ãã$\text{}~(\geq 128=\mathtt{0x80})$ã®æåãå¼·å¶çã«
+\textbf{ALchar}, \textbf{JAchar}ã§åºåããå½ä»¤ããããã
+\ \cs{ltjalchar},~\cs{ltjjachar} ã§ããï¼ä½¿ç¨æ¹æ³ã¯ \cs{char} ã¨åãã
+\ \cs{ltjalchar}, \cs{ltjjachar}ã¨ããã°ããï¼
+ã127以ä¸ã®å ´åã¯ï¼\cs{ltjjachar} ã§ãã£ã¦ã\textbf{ALchar}ã¨ãã¦åºåããããã¨
+ã«æ³¨æï¼
+
+以ä¸ã¯\ref{ssec-setrange}ç¯ã«è¼ããä¾ã«ï¼\cs{char} ã®åä½ã追å ãããã®ã§ããï¼
+\begin{LTXexample}[width=0.25\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \char`¶, \ltjalchar`¶, \ltjjachar`¶\\ % default: ALchar
+α, \char`α, \ltjalchar`α, \ltjjachar`α % default: JAchar
+\end{LTXexample}
+%
%\section{Commands for \LaTeXe}
@@ -5423,18 +5996,18 @@ but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM.
\item[\cs{DeclareTateKanjiEncoding}\{\}\{\}\{\}]
%<*en>
-In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
- and Japanese font families are only made by their
- encodings. For example, encodings OT1 and T1 are for
- alphabetic font families, and a Japanese font family cannot
+In NFSS2 under \LuaTeX-ja, distinction between alphabetic fonts
+ and Japanese fonts are only made by their
+ encodings. For example, encodings OT1 and T1 are encodings for
+ alphabetic fonts, and Japanese fonts cannot
have these encodings. These command define a new encoding
scheme for Japanese font families.
%
%<*ja>
-\LuaTeX-jaã®NFSS2ã«ããã¦ã¯ï¼æ¬§æãã©ã³ããã¡ããªã¨åæãã©ã³ããã¡ããªã¯
+\LuaTeX-jaã®NFSS2ã«ããã¦ã¯ï¼æ¬§æãã©ã³ãã¨åæãã©ã³ãã¯
ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã«ãã£ã¦ã®ã¿åºå¥ãããï¼
-ä¾ãã°ï¼OT1ã¨T1ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯æ¬§æãã©ã³ããã¡ããªã«å¯¾ãããã®ã§ããï¼
-åæãã©ã³ããã¡ããªã¯ãããã®ã¨ã³ã³ã¼ãã£ã³ã°ãæã¤ãã¨ã¯ã§ããªãï¼
+ä¾ãã°ï¼OT1ã¨T1ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯æ¬§æãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã§ããï¼
+åæãã©ã³ãã¯ãããã®ã¨ã³ã³ã¼ãã£ã³ã°ãæã¤ãã¨ã¯ã§ããªãï¼
ãããã³ãã³ãã¯æ¨ªçµç¨ã»ç¸¦çµç¨åæãã©ã³ãã®ããã®æ°ããã¨ã³ã³ã¼ãã£ã³ã°ã
ããããå®ç¾©ããï¼
%
@@ -5451,7 +6024,7 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
%
%<*ja>
-ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã© \cs{DeclareFontEncodingDefaults} ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
+ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã©NFSS2 ã® \cs{DeclareFontEncodingDefaults} ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
%
\item[\cs{reDeclareMathAlphabet}\{\}\{\}\{\}]
@@ -5483,12 +6056,12 @@ The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaul
\item[\cs{DeclareRelationFont}\{\}\{\}\{\}\{\}\\*
\null\hfill\{\}\{\}\{\}\{\}]
%<*en>
-This command sets the ``accompanied'' alphabetic font family (given by the latter 4~arguments)
-with respect to a Japanese font family given by the former 4~arguments.
+This command sets the ``accompanied'' alphabetic font (given by the latter 4~arguments)
+with respect to a Japanese font given by the former 4~arguments.
%
%<*ja>
-ãããããå¾å±æ¬§æããè¨å®ããããã®å½ä»¤ã§ããï¼ååã®4å¼æ°ã§è¡¨ãããåæãã©ã³ããã¡ããªã«å¯¾ãã¦ï¼
-ãã®ãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æãã®ãã©ã³ããã¡ããªãå¾åã®4å¼æ°ã«ããä¸ããï¼
+ãããããå¾å±æ¬§æããè¨å®ããããã®å½ä»¤ã§ããï¼ååã®4å¼æ°ã§è¡¨ãããåæãã©ã³ãã«å¯¾ãã¦ï¼
+ãã®ãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æãã®ãã©ã³ããå¾åã®4å¼æ°ã«ããä¸ããï¼
%
\item[\cs{SetRelationFont}]
%<*en>
@@ -5511,7 +6084,7 @@ Like \cs{fontfamily}, \cs{selectfont} is required to take an effect.
%<*ja>
ç¾å¨ã®æ¬§æãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ï¼ãã¡ããªï¼â¦â¦ ãï¼
\cs{DeclareRelationFont} ã \cs{SetRelationFont} ã§æå®ããã
-ç¾å¨ã®åæãã©ã³ããã¡ããªã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ããã¡ããªã«å¤æ´ããï¼
+ç¾å¨ã®åæãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ãã«å¤æ´ããï¼
\cs{fontfamily} ã®ããã«ï¼æå¹ã«ããããã«ã¯ \cs{selectfont} ãå¿
è¦ã§ããï¼
%
@@ -5525,7 +6098,8 @@ 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.
+In \LuaTeX-ja, this \cs{adjustbaseline} does same task, namely setting the
+ \Param{talbaselineshift} parameter.
%
%<*ja>
\pLaTeXe ã§ã¯ï¼\cs{adjustbaseline} ã¯ç¸¦çµæã«ãMãã¨ãããã®ä¸å¿ç·ãä¸è´ãããããã«ï¼
@@ -5536,72 +6110,22 @@ In \LuaTeX-ja, this \cs{adjustbaseline} does same task.
+ d_{\text{ã}} - d_{\text{M}},
\]
ããã§ï¼$h_{a}$,~$d_{a}$ã¯ããããã$a$ãã®é«ãã»æ·±ãã表ãï¼
-\LuaTeX-jaã«ããã¦ã\cs{adjustbaseline} ã¯åæ§ã®å¦çãè¡ã£ã¦ããï¼
+\LuaTeX-jaã«ããã¦ã\cs{adjustbaseline} ã¯åæ§ã«\Param{talbaselineshift}ãã©ã¡ã¼ã¿ã®èª¿æ´å¦
+ çãè¡ã£ã¦ããï¼
+
+åæã«ï¼ããã\pLaTeXe ã® \cs{adjustbaseline} ã§è¡ããã¦ãããï¼
+ãæ¼¢ãã®å¯¸æ³ãå
ã«ï¼ï¼æ¬ç¯ã®æåã«è¿°ã¹ãï¼å°æåã§å§ã¾ãï¼\cs{cht}, \cs{cwd} ã¨ãã£ãé·ãå¤æ°ãè¨å®ããï¼
%
\item[\cs{fontfamily}\{\}]
%<*en>
As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
-to . Which family will be changed is determined as follows:
+to . See Subsection~\ref{ssec-fontfamilycmd} for detail.
%
%<*ja>
å
ã
ã®\LaTeXe ã«ããããã®ã¨åæ§ã«ï¼ãã®ã³ãã³ãã¯ç¾å¨ã®ãã©ã³ããã¡ããªï¼æ¬§æï¼
-åæï¼\emph{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼
-ã©ã®ãã¡ããªãå¤æ´ããããã¯ä»¥ä¸ã®ããã«ãã¦æ±ºå®ãããï¼
-%
-\begin{itemize}
-%<*en>
-\item Let current encoding scheme for Japanese fonts be
- . Current Japanese font family will be changed to
- , if one of the following two conditions is met:
-%
-%<*ja>
-\item ç¾å¨ã®åæãã©ã³ãã«å¯¾ããã¨ã³ã³ã¼ãã£ã³ã°ãã§ããã¨ãããï¼
- ç¾å¨ã®åæãã©ã³ããã¡ããªã¯ï¼ä»¥ä¸ã®2ã¤ã®æ¡ä»¶ã®ãã¡ã®1ã¤ãæºãããã¦ããã¨ãã«
- ã«å¤æ´ãããï¼
+åæï¼\emph{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼è©³ç´°ã¯\ref{ssec-fontfamilycmd}ç¯ãåç
§ãããã¨ï¼
%
-\begin{itemize}
-%<*en>
-\item The family under the encoding has been already defined by
- \cs{DeclareKanijFamily}.
-%
-%<*ja>
-\item ã¨ã³ã³ã¼ãã£ã³ã°ã«ããããã¡ããªã
-æ¢ã« \cs{DeclareKanjiFamily} ã«ãã£ã¦å®ç¾©ããã¦ããï¼
-%
-%<*en>
-\item A font definition named \texttt{.fd} (the file name is
- all lowercase) exists.
-%
-%<*ja>
-\item ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ããï¼
-%
-\end{itemize}
-%<*en>
-\item Let current encoding scheme for alphabetic fonts be
- . For alphabetic font family, the criterion as above is used.
-%
-%<*ja>
-\item ç¾å¨ã®æ¬§æãã©ã³ãã«å¯¾ããã¨ã³ã³ã¼ãã£ã³ã°ãã¨ããï¼
- 欧æãã©ã³ããã¡ããªã«å¯¾ãã¦ãï¼ä¸è¨ã®åºæºãç¨ããããï¼
-%
-%<*en>
-\item There is a case which none of the above applies, that is, the font
- family named doesn't seem to be defined neither under the
- encoding , nor under .
-In this case, the default family for font substitution is used for
- alphabetic and Japanese fonts. Note that current encoding will not
- be set to , unlike the original implementation in \LaTeX.
-%
-%<*ja>
-\item ä¸è¨ã®ãããããé©ç¨ãããªãï¼ã¤ã¾ããã¨ã®
- ã©ã¡ãã§ãå®ç¾©ãããªããããªå ´åãããï¼
- ãã®å ´åï¼ä»£æ¿ãã©ã³ãã«ç¨ããããããã©ã«ãã®ãã©ã³ããã¡ããªã欧æãã©ã³ãã¨
- åæãã©ã³ãã«ç¨ããããï¼\LaTeX ã®ãªãªã¸ãã«ã®å®è£
ã¨ã¯ç°ãªãï¼
- ç¾å¨ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯ã«ã¯è¨å®ãããªããã¨ã«æ³¨æããï¼
-%
-\end{itemize}%
-%\vspace{-\medskipamount}
\begin{figure}[!tb]
@@ -5678,21 +6202,187 @@ Avant Garde (OT1/pag/m/n) ã«å¤ãã£ã¦ãããã¨ããããï¼
\userelfont\selectfont ãããabc
\end{LTXexample}
+%\subsection{Detail of \cs{fontfamily} command}
+%\subsection{\cs{fontfamily}ã³ãã³ãã®è©³ç´°}
+\label{ssec-fontfamilycmd}
+%<*en>
+In this subsection, we describe when \cs{fontfamily} changes current
+Japanese/alphabetic font family. Basically, current Japanese fotn family is changed to
+ if it is recognized as a Japanese font family, and similar with alphabetic font
+family. There is a case that current Japanese/alphabetic font family are both changed to
+, and another case that isn't recognized as a Japanese/alphabetic font
+family either.
+
+\paragraph{Recognition as Japanese font family}
+First, Whether Japanese font family will be changed is determined in following order.
+This order is very similar to \cs{fontfamily} in \pLaTeXe, but we re-implemented in Lua.
+We use an auxiliary list~$N_{\mathrm{J}}$.
+%
+%<*ja>
+æ¬ç¯ã§ã¯ï¼\cs{fontfamily} ããã¤åæ/欧æãã©ã³ããã¡ããªãå¤æ´ãããã«ã¤ãã¦è§£èª¬
+ããï¼åºæ¬çã«ã¯ï¼ãåæãã©ã³ããã¡ããªã ã¨èªèãããã°åæå´ãï¼æ¬§æãã©ã³ããã¡
+ããªã ã¨èªèãããã°æ¬§æå´ãå¤æ´ãããï¼ã©ã¡ãã¨ãèªèãããã°åæã»æ¬§æã®ä¸¡æ¹ãå¤ããã
+ã¨ã«ãªããï¼å½ç¶ã©ã¡ãã¨ãèªèãããªããã¨ãããï¼
+
+\paragraph{åæãã©ã³ããã¡ããªã¨ãã¦ã®èªè}
+ã¾ãï¼ãåæãã©ã³ããã¡ããªã¨ãã¦èªèããããã¯ä»¥ä¸ã®é åºã§æ±ºå®ãããï¼
+ããã¯\pLaTeXe ã® \cs{fontfamily} ã«ã¨ã¦ãä¼¼ã¦ãããï¼ããã§ã¯Luaã«ãã£ã¦å®è£
ãã¦ããï¼
+è£å©çã«ãåæãã©ã³ããã¡ããªã§ã¯ãªãã¨èªèãããããã¡ããªãæ ¼ç´ãããªã¹ã$N_{\mathrm{J}}$ãç¨ããï¼
+%
+\begin{enumerate}
+%<*en>
+\item If the family~ has been defined already by \cs{DeclareKanjiFamily},
+ is recognized as a Japanese font family.
+ Note that need not be defined under \emph{current} Japanese font encoding.
+%
+%<*ja>
+\item ãã¡ããªãæ¢ã« \cs{DeclareKanjiFamily} ã«ãã£ã¦å®ç¾©ããã¦ããå ´åï¼
+ ã¯åæãã©ã³ããã¡ããªã§ããã¨èªèãããï¼
+ ããã§ï¼ã¯ç¾å¨ã®åæãã©ã³ãã¨ã³ã³ã¼ãã£ã³ã°ã§å®ç¾©ããã¦ããªãã¦ãããï¼
+%
%<*en>
-\section{Addons}
+\item If the family~ has been listed in a list~$N_{\mathrm{J}}$, this means
+ that is not a Japanese font family.
+%
+%<*ja>
+\item ãã¡ããªããªã¹ã$N_{\mathrm{J}}$ã«æ¢ã«å«ã¾ãã¦ããã°ï¼ããã¯
+ ãåæãã©ã³ããã¡ããªã§ã¯ãªããã¨ãæå³ããï¼
+%
+%<*en>
+\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,
+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
+ is appended to the list~$N_{\mathrm{J}}$.
+%
+%<*ja>
+\item ãã\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ã¾ãã¦ããã°ï¼ããã§çµäºã§ããï¼
+ã¯åæãã©ã³ããã¡ããªã¨ãã¦èªèãããªããã¨ã«ãªãï¼
+
+ãã\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ã¾ãã¦ããªããã°ï¼åæã¨ã³ã³ã¼ãã£ã³ã°ã§
+ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ãããããªã
+ ã®ããããã©ããã調ã¹ãï¼
+åå¨ããã°ï¼ã¯åæãã©ã³ããã¡ããªã¨èªèãããï¼ãã©ã³ãå®ç¾©ãã¡ã¤ã«ã¯èªã¿è¾¼ã¾ããª
+ ãï¼ï¼
+åå¨ããªããã°ï¼ã¯åæãã©ã³ããã¡ããªã§ãªãã¨èªèããï¼ãªã¹ã$N_{\mathrm{J}}$ã«ã追å ãããã¨ã§ãããè¨æ¶ããï¼
+
+%
+\end{enumerate}
+
+%<*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}}$,
+%
+%<*ja>
+\paragraph{欧æãã©ã³ããã¡ããªã¨ãã¦ã®èªè}
+åæ§ã«ï¼ãåæãã©ã³ããã¡ããªã¨ãã¦èªèããããã¯ä»¥ä¸ã®é åºã§æ±ºå®ãããï¼
+è£å©çã«ã欧æãã©ã³ããã¡ããªã¨æ¢ã«èªèãããããã¡ããªã®ãªã¹ã$F_{\textrm{A}}$ã¨ï¼
+ã欧æãã©ã³ããã¡ããªã§ã¯ãªãã¨èªèãããããã¡ããªãæ ¼ç´ãããªã¹ã$N_{\mathrm{A}}$ãç¨ããï¼
+%
+
+\begin{enumerate}
+%<*en>
+\item If the family~ has been listed in a list~$F_{\mathrm{A}}$,
+ is recognized as an alphabetic font family.
+%
+%<*ja>
+\item ãã¡ããªããªã¹ã$F_{\mathrm{A}}$ã«æ¢ã«å«ã¾ãã¦ããã°ï¼
+ ã¯æ¬§æãã©ã³ããã¡ããªã¨èªèãããï¼
+%
+%<*en>
+\item If the family~ has been listed in a list~$N_{\mathrm{A}}$, this means
+ that is not an alphabetic font family.
+%
+%<*ja>
+\item ãã¡ããªããªã¹ã$N_{\mathrm{A}}$ã«æ¢ã«å«ã¾ãã¦ããã°ï¼ããã¯
+ ã欧æãã©ã³ããã¡ããªã§ã¯ãªããã¨ãæå³ããï¼
+%
+%<*en>
+\item If there exists an alphabetic font encoding such that the family~ has been
+ defined under it, is recognized as an alphabetic font family, and
+ to memorize this, is appended to the list~$F_{\mathrm{A}}$.
+%
+%<*ja>
+\item ãã欧æãã©ã³ãã¨ã³ã³ã¼ãã£ã³ã°ä¸ã§ãã¡ããªãå®ç¾©ããã¦ããã°ï¼
+ ã¯æ¬§æãã©ã³ããã¡ããªã¨èªèããï¼ãªã¹ã$F_{\mathrm{A}}$ã«ã追å ãããã¨ã§ãã®ãã¨ãè¨æ¶ããï¼
+%
+%<*en>
+\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).
+ If not, current alphabetic font family won't be changed, and
+ is appended to the list~$N_{\mathrm{A}}$.
+%
+%<*ja>
+\item æçµæ®µéã§ã¯ï¼æ¬§æã¨ã³ã³ã¼ãã£ã³ã°ã§
+ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ãããããªã
+ ã®ããããã©ããã調ã¹ãï¼
+åå¨ããã°ï¼ã¯æ¬§æãã©ã³ããã¡ããªã¨èªèãããï¼ãã©ã³ãå®ç¾©ãã¡ã¤ã«ã¯èªã¿è¾¼ã¾ããªãï¼ï¼
+åå¨ããªããã°ï¼ã¯æ¬§æãã©ã³ããã¡ããªã¨èªèãããªãã®ã§ï¼ãªã¹ã$N_{\mathrm{A}}$ã«
+ ã追å ãã¦ãã®ãã¨ãè¨æ¶ããï¼
+%
+\end{enumerate}
+
+%<*en>
+Also, each call of \cs{DeclareFontFamily} \emph{after} loading of \LuaTeX-ja makes
+the second argument (family) is appended to the list~$F_{\mathrm{A}}$.
+%
+%<*ja>
+ã¾ãï¼\cs{DeclareFontFamily}ã\LuaTeX-jaã®èªã¿è¾¼ã¿å¾ã«å®è¡ãããå ´åã¯ï¼
+第2å¼æ°ï¼ãã¡ããªåï¼ãèªåçã«$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,
+hence \LuaTeX-ja does not know calls of \cs{DeclareFontFamily} \emph{before} itself is
+loaded.
+%
+%<*ja>
+以ä¸ã®æ¹éã¯\pLaTeXe ã«ããã \cs{fontfamily} ã«ãã¯ãé¡ä¼¼ãã¦ãããï¼3.ãå ããè¥å¹²è¤éã«ãªã£ã¦ããï¼
+ããã¯\pLaTeXe ããã©ã¼ãããã§ããã®ã«å¯¾ã\LuaTeX-jaã¯ããã§ãªãããï¼
+\LuaTeX-jaã¯èªèº«ãèªã¿è¾¼ã¾ããåã«ã©ããã\cs{DeclareFontFamily}ã®å¼ã³åºãããã£ãã
+ææ¡ã§ããªãããã§ããï¼
+%
+
+%\paragraph{Remarks}
+%\paragraph{注æ}
+%<*en>
+Of course, there is a case that is not recognized as a Japanese font family, nor
+an alphabetic font family.
+In this case, \LuaTeX-ja treats ``the argument is wrong'', so
+set both current alphabetic and Japanese font family to ,
+to use the default family for font substitution.
+%
+%<*ja>
+ãã¦ï¼å¼æ°ã«ãã£ã¦ã¯ï¼ãåæãã©ã³ããã¡ããªã¨ã欧æãã©ã³ããã¡ããªãèªèãããªãã£ãã
+ã¨ããäºæ
ãããå¾ãï¼
+ ãã®å ´åï¼å¼æ°ã¯ä¸æ£ã ã£ãï¼ã¨ãããã¨ã«ãªãã®ã§ï¼
+åæã»æ¬§æã®ä¸¡æ¹ã®ãã©ã³ããã¡ããªãã«è¨å®ãï¼ä»£ç¨ãã©ã³ãã使ãããã«ä»»ãããã¨ã«ããï¼
+%
+
+
+%<*en>
+\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
@@ -5703,12 +6393,11 @@ the following ``font features'' specifications are allowed for
the commands of Japanese version:
%
%<*ja>
-\ref{ssec-fontspec}ç¯ã§è¿°ã¹ãããã«ï¼ãã®è¿½å ããã±ã¼ã¸ã¯\Pkg{fontspec}
+\ref{ssec-fontspec}ç¯ã§è¿°ã¹ãããã«ï¼ãã®è¿½å ããã±ã¼ã¸ã¯\Pkg{fontspec}%
ããã±ã¼ã¸ã§å®ç¾©ããã¦ããã³ãã³ãã«å¯¾å¿ããåæãã©ã³ãç¨ã®ã³ãã³ããæä¾ããï¼
-\emph{以ä¸ã«è¿°ã¹ãåæçã®å½ä»¤ã®èª¬æ㯠\Pkg{fontspec}~v2.4 使ç¨æã«ã®ã¿å½ã¦ã¯ã¾ãï¼}
-\Pkg{fontspec}ããã±ã¼ã¸ã§æå®å¯è½ãªå種font featureã«å ãã¦ï¼åæçã®ã³ãã³ãã«ã¯
-以ä¸ã®``font feature''ãæå®ãããã¨ãã§ããï¼
+\Pkg{fontspec}ããã±ã¼ã¸ã§æå®å¯è½ãªå種OpenTypeæ©è½ã«å ãã¦ï¼åæçã®ã³ãã³ãã«ã¯
+以ä¸ã®ããã©ã³ãæ©è½ããæå®ãããã¨ãã§ããï¼
%
@@ -5750,32 +6439,50 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
%
\begin{figure}[!tb]
-\begin{LTXexample}
+\begin{LTXexample}[width=0.25\textwidth]
\jfontspec[
- YokoFeatures={Color=007F00},
- TateFeatures={Color=00007F},
+ YokoFeatures={Color=007F00}, TateFeatures={Color=00007F},
TateFont=KozGoPr6N-Regular
]{KozMinPr6N-Regular}
-\hbox{\yoko 横çµã®ãã¹ã}
-\hbox{\tate 縦çµã®ãã¹ã}
+\hbox{\yoko 横çµã®ãã¹ã}\hbox{\tate 縦çµã®ãã¹ã}
+\addjfontfeatures{Color=FF0000}
+\hbox{\yoko 横çµ}\hbox{\tate 縦çµ}
\end{LTXexample}
%\caption{\texttt{TateFeatures} çã®ä½¿ç¨ä¾}
%\caption{An example of \texttt{TateFeatures} etc.}
\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>
+The \texttt{TateFeatures} key specifies font features which are only turned~on in
+vertical writing, such as \texttt{Style=VerticalKana}~(\texttt{vkna} feature).
+Similarly, the \texttt{TateFont} key specifies the Japanese font which will be used only
+ in vertical writing.
+A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}.
+%
%<*ja>
-縦çµã«ããã¦ä½¿ç¨ããããã©ã³ããï¼ç¸¦çµã«ããã¦ã®ã¿é©ç¨ãããfeatureéã
+縦çµã«ããã¦ä½¿ç¨ããããã©ã³ããï¼ç¸¦çµã«ããã¦ã®ã¿é©ç¨ããããã©ã³ãæ©è½éã
æå®ããï¼ä½¿ç¨ä¾ã¯å³\ref{fig:yokotate-fontspec}åç
§ï¼
%
\item[YokoFeatures=\{\}]
-% ...
+%<*en>
+The \texttt{YokoFeatures} key specifies font features which are only turned~on in
+horizontal writing,.
+A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}.
+%
%<*ja>
-横çµã«ããã¦ã®ã¿é©ç¨ãããfeatureéã
+åæ§ã«ï¼æ¨ªçµã«ããã¦ã®ã¿é©ç¨ããããã©ã³ãæ©è½éã
æå®ããï¼ä½¿ç¨ä¾ã¯å³\ref{fig:yokotate-fontspec}åç
§ï¼
%
@@ -5810,7 +6517,7 @@ as the following:
%<*ja>
\ref{ssec-altfont}ç¯ã® \cs{ltjdeclarealtfont} ãï¼
\ref{ssec-nfsspat}ç¯ã® \cs{DeclareAlternateKanjiFont} ã¨åæ§ã«ï¼
-ãã®ãã¼ãç¨ããã¨ä¸é¨ã®æåãç°ãªã£ããã©ã³ããfont featureã使ã£ã¦çµããã¨ãã§ããï¼
+ãã®ãã¼ãç¨ããã¨ä¸é¨ã®æåãç°ãªã£ããã©ã³ããæ©è½ãã¡ã使ã£ã¦çµããã¨ãã§ããï¼
\texttt{AltFont} ãã¼ã«æå®ããå¤ã¯ï¼æ¬¡ã®ããã«äºéã®ã³ã³ãåºåããªã¹ãã§ããï¼
%
\begin{lstlisting}[escapechar=\#]
@@ -5863,6 +6570,12 @@ BoldFeatures = {
On the other hand, \texttt{YokoFeatures}, \texttt{TateFeatures} and \texttt{TateFont}
keys can be specified in each list in the \texttt{AltFont} key. Also,
one can specify \texttt{AltFont} inside \texttt{YokoFeatures},~\texttt{TateFeatures}.
+
+Note that features which are specified in \texttt{YokoFeatures}~and~\texttt{TateFeatures}
+are always interpreted \emph{after} other ``direction-independent'' features.
+This explains why \cs{addjfontfeatures} at~line~6 in~Figure~\ref{fig:yokotate-fontspec}
+has no effect, because a color specification is already done in
+\texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
%
%<*ja>
\paragraph{\texttt{AltFont}, \texttt{YokoFeatures}, \texttt{TateFeatures} çã®å¶é}
@@ -5891,10 +6604,17 @@ BoldFeatures = {
\ \texttt{YokoFeatures},~\texttt{TateFeatures} åã³ \texttt{TateFont} ãã¼ã
æå®ãããã¨ã¯å¯è½ã§ããï¼ã¾ã\ \texttt{YokoFeatures},~\texttt{TateFeatures} ãã¼ã®
ä¸èº«ã« \texttt{AltFont} ãæå®ãããã¨ãã§ããï¼
+
+ã¾ãï¼å³\ref{fig:yokotate-fontspec}å¾åé¨ã§ã¯6è¡ç®ã®è²ã®æå®ãå¹ããï¼
+2è¡ç®ã§æå®ãã\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ ã«ããè²ã®æå®ãæå¹ã«ãªã£
+ãã¾ã¾ã§ããï¼ããã¯\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
@@ -5925,16 +6645,24 @@ but please remind remarks below.
%
%<*ja>
æåã³ã¼ããï¼16é²ã§ï¼ã®æåãåºåããï¼
-ãã®ã³ãã³ã㯠\verb+\char"+ã¨ä¼¼ã¦ãããï¼ä¸ã®è¨è¿°ã«æ³¨æãããã¨ï¼%"
+ãã®ã³ãã³ã㯠\verb+\char"+ã¨ä¼¼ã¦ãããï¼ä¸ã®æ³¨æãåç
§ãããã¨ï¼%"
%
\end{cslist}
%<*ja>
-ãã®ããã±ã¼ã¸ã¯ï¼\texttt{ajmacros.sty}ï¼\Pkg{otf}ããã±ã¼ã¸ä»å±ã®ãã¯ãéï¼äºä¸æµ©ä¸æ°ä½ï¼ãã
-æ¼¢åã³ã¼ããUTF8ã«ãããï¼plain \LuaTeX ã§ãå©ç¨å¯è½ã«ããã¨ãã
-ä¿®æ£ãå ãã \texttt{luatexja-ajmacros.sty} ãèªåçã«èªã¿è¾¼ãï¼
-ãã®ããï¼\texttt{ajmacros.sty} ãã¯ãéã«ãã \verb+\ajåè§+ ãªã©ã®ãã¯ãããã®ã¾ã¾ä½¿ç¨å¯è½ã§ããï¼
+ãã®ããã±ã¼ã¸ã¯ï¼ãã¯ãé \texttt{luatexja-ajmacros.sty}\footnote{\Pkg{otf}ããã±ã¼ã¸ä»å±ã®äºä¸æµ©ä¸æ°ã«ãããã¯ãé
+\texttt{ajmacros.sty} ã«å¯¾ãã¦
+æ¼¢åã³ã¼ããUTF-8ã«ãããï¼plain \LuaTeX ã§ãå©ç¨å¯è½ã«ããã¨ãã
+ä¿®æ£ãå ãããã®ã§ããï¼}\ ãèªåçã«èªã¿è¾¼ãï¼
+\texttt{luatexja-ajmacros.sty} ã¯ï¼
+ãã®ããï¼\Pkg{luatexja-otf} ãèªã¿ããã° \texttt{ajmacros.sty} ãã¯ãéã«ãã \cs{ajåè§} ãªã©ã®ãã¯ãããã®ã¾ã¾ä½¿ããã¨ãã§ããï¼
%
+%<*en>
+This package automatically loads \texttt{luatexja-ajmacros.sty}, which is slightly
+modified version of \texttt{ajmacros.sty}\footnote{Useful macros by iNOUE Koich!, for the
+\Pkg{japanese-otf} package.}.
+Hence one can use macros which sre defined in \texttt{ajmacros.sty}, such as~\cs{ajåè§}.
+%
%\paragraph{Remarks}
%\paragraph{注æ}
@@ -5959,7 +6687,7 @@ ordinary characters in the following points:
is not performed to these characters.
%
%<*ja>
-\item OpenType featureï¼ä¾ãã°ã°ãªãç½®æãã«ã¼ãã³ã°ï¼ããµãã¼ãããããã®
+\item OpenTypeæ©è½ï¼ä¾ãã°ã°ãªãç½®æãã«ã¼ãã³ã°ï¼ããµãã¼ãããããã®
\Pkg{luaotfload}ããã±ã¼ã¸ã®ã³ã¼ãã¯ãããã®æåã«ã¯åããªãï¼
%
\end{itemize}
@@ -6036,7 +6764,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} æå®ã§åå½¢ãå¤åããæåã¯
ç°ä½åã»ã¬ã¯ã¿ãç¶ãã¦ããªããè西ãä¸ã®ãèãã®ã¿ã§ããï¼
%
@@ -6061,7 +6789,7 @@ Luaã»\TeX ã³ã¼ããåèã«ãªãã ããï¼
%
-\subsection{\texttt{luatexja-adjust.sty}}
+\subsection{\Pkg{luatexja-adjust}}
\label{ssec-adj}
\begin{figure}[t]
\def\sq{%
@@ -6141,7 +6869,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.
@@ -6245,7 +6973,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} ã§ããï¼
@@ -6364,7 +7092,7 @@ This commands typeset in LR-mode, in direction.
If is positive, the width of the box becomes this .
In this case, will be aligned \dots
-\item[picture\textrm{environment}]
+\item[picture\textrm{\ environment}]
\item[\cs{rensuji}{[]}\{\}\textrm{, }\cs{rensujiskip}]
@@ -6385,7 +7113,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>
@@ -6476,10 +7204,11 @@ The font index of current Japanese font for vertical direction.
\attr{ltj@charclass}
%<*en>
-The character class of Japanese \textit{glyph\_node}.
+The character class of a \textbf{JAchar}. This attribute is only set on a
+ \textit{glyph\_node} which contains a \textbf{JAchar}.
%
%<*ja>
-åææåã®\textit{glyph\_node}ã®æåã¯ã©ã¹ï¼
+\textbf{JAchar}ã®æåã¯ã©ã¹ï¼\textbf{JAchar}ãæ ¼ç´ããã\textit{glyph\_node}ã§ã®ã¿ä½¿ãããï¼
%
\attr{ltj@yablshift}
@@ -6695,7 +7424,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}
@@ -6875,7 +7604,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.
%
@@ -6963,7 +7692,7 @@ as in \Pkg{luatexja-adjust}.
%<*en>
\paragraph{Setting parameters}
-Figure~\ref{fig:setpar-def} shows the ``most outer'' definition of
+Figure~\ref{fig:setpar-def} shows the \emph{most outer} definition of
two commands,
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter}.
Most important part is the last \cs{setkeys},
@@ -7081,7 +7810,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,
@@ -7243,7 +7972,7 @@ process it}, if and only if the following three conditions are satisfied:
\paragraph{Remark}
The following example shows the major difference from the behavior of \pTeX.
\begin{LTXexample}
-\fontspec[Ligatures=TeX]{TeX Gyre Termes}
+\fontspec[Ligatures=TeX]{Linux Libertine O}
\ltjsetparameter{autoxspacing=false}
\ltjsetparameter{jacharrange={-6}}xã
y\ltjsetparameter{jacharrange={+6}}zã
@@ -7303,7 +8032,7 @@ emits a space.
\texttt{lstlisting}ç³»ç°å¢ãªã©ã®æ¥æ¬èªå¯¾å¿ãã¯ããæ¸ããªãã¦ãã¾ããããã®ãã®ã§ããï¼
ããããªããï¼\pTeX ã¨å®å
¨ã«åãæåãå®ç¾ã§ããããã§ã¯ãªãï¼
-次ã®ããã«ï¼åææåã®ç¯å²ãå¤æ´ããã¡ããã©ãã®è¡ã«ããã¦ã¯æåãç°ãªãï¼
+次ã®ããã«ï¼\textbf{JAchar}ã®ç¯å²ãå¤æ´ããã¡ããã©ãã®è¡ã«ããã¦ã¯æåãç°ãªãï¼
\begin{LTXexample}
\fontspec[Ligatures=TeX]{TeX Gyre Termes}
\ltjsetparameter{autoxspacing=false}
@@ -7311,7 +8040,7 @@ emits a space.
y\ltjsetparameter{jacharrange={+6}}zã
u
\end{LTXexample}
-ä¸ã½ã¼ã¹ä¸ã®ãããã¯æ¬§ææåæ±ãã§ããï¼
+ä¸ã½ã¼ã¹ä¸ã®ãããã¯\textbf{ALchar}ï¼æ¬§ææ±ãï¼ã§ããï¼
ããã§ä½¿ç¨ãã¦ãã欧æãã©ã³ã\TeX\ Gyre Termesã¯ããããå«ã¾ãªãï¼
ãã£ã¦ï¼åºåã«ãããã¯ç¾ããªããã¨ã¯ä¸æè°ã§ã¯ãªãï¼
ããã§ãï¼\pTeX ã¨ã¾ã£ããåãæåã示ããªãã°ï¼åºåã¯
@@ -7319,14 +8048,14 @@ u
ä¸ã®ããã«ç°ãªãæåã¨ãªã£ã¦ãããï¼ããã¯ä»¥ä¸ã®çç±ã«ããï¼
\begin{itemize}
\item 3è¡ç®ã \texttt{process\_input\_buffer} ã§å¦çããæç¹ã§ã¯ï¼
- ãããã¯åææåæ±ãã§ããï¼ãã£ã¦3è¡ç®ã¯åææåã§çµãããã¨ã«ãªãï¼
+ ãããã¯\textbf{JAchar}ï¼åææ±ãï¼ã§ããï¼ãã£ã¦3è¡ç®ã¯\textbf{JAchar}ã§çµãããã¨ã«ãªãï¼
ã³ã¡ã³ãæå \texttt{U+FFFFF} ã追å ãããï¼
ãã£ã¦ï¼ç´å¾ã®æ¹è¡æåã¯ç¡è¦ããããã¨ã«ãªãï¼ç©ºç½ã¯å
¥ããªãï¼
\item 4è¡ç®ã \texttt{process\_input\_buffer} ã§å¦çããæç¹ã§ã¯ï¼
- ãããã¯æ¬§ææåæ±ãã§ããï¼ãã£ã¦4è¡ç®ã¯æ¬§ææåã§çµãããã¨ã«ãªãï¼
+ ãããã¯\textbf{ALchar}ã§ããï¼ãã£ã¦4è¡ç®ã¯\textbf{ALchar}ã§çµãããã¨ã«ãªãï¼
ç´å¾ã®æ¹è¡æåã¯ç©ºç½ã«ç½®ãæããï¼
\end{itemize}
-ãã®ããï¼ãã©ãã«ãé¿ããããã«ï¼åææåã®ç¯å²ã\cs{ltjsetparameter}ã§ç·¨éããå ´åï¼
+ãã®ããï¼ãã©ãã«ãé¿ããããã«ï¼\textbf{JAchar}ã®ç¯å²ã\cs{ltjsetparameter}ã§ç·¨éããå ´åï¼
ãã®è¡ã¯ããã§æ¹è¡ããããã«ããæ¹ãããã ããï¼
%
@@ -7491,11 +8220,11 @@ $\mathit{Np}.\mathit{id}$ã®æå³ãè¿°ã¹ãã¨ã¨ãã«ï¼
説æç¨ã«æºåããæ¦å¿µã§ãã£ã¦ï¼å®éã®Luaã³ã¼ãä¸ã«ãã®ããã«æ¸ããã¦ããããã§ã¯ãªããã¨ã«æ³¨æï¼
\begin{description}
-\item[\textit{id\_jglyph}] åææåï¼\\
-$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®åææåã表ãã¦ãã
+\item[\textit{id\_jglyph}] \textbf{JAchar}ï¼åææåï¼ï¼\\
+$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®\textbf{JAchar}ã表ãã¦ãã
\textit{glyph\_node}ãã®ãã®ã§ããï¼
-\item[\textit{id\_glyph}] åææåã表ãã¦ããªã\textit{glyph\_node}~$p$ï¼\\
-å¤ãã®å ´åï¼$p$ã¯æ¬§ææåãæ ¼ç´ãã¦ãããï¼ãffiããªã©ã®ååã«ãã£ã¦ä½ããã
+\item[\textit{id\_glyph}] \textbf{JAchar}ï¼åææåï¼ä»¥å¤ã®ãã®ã表ã\textit{glyph\_node}~$p$ï¼\\
+å¤ãã®å ´åï¼$p$ã¯\textbf{ALchar}ï¼æ¬§ææåï¼ãæ ¼ç´ãã¦ãããï¼ãffiããªã©ã®ååã«ãã£ã¦ä½ããã
\textit{glyph\_node}ã§ããå¯è½æ§ãããï¼
åè
ã®å ´åï¼$\mathit{Np}.\mathit{head}$,~$\mathit{Np}.\mathit{tail} = p$ã§ããï¼
ä¸æ¹ï¼å¾è
ã®å ´åï¼
@@ -7547,15 +8276,15 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®åºã¯ï¼
空ç½çã®å®éã®æ¿å
¥ãè¡ããã¨ã¯åã«æ¸ãããï¼ããã§ã®èª¬æã§ã¯ï¼åé¡ã«ãã¦ããã¯ã©ã¹ã¿\textit{Np}ã¯ãå¾ãå´ãã®ã¯ã©ã¹ã¿ã§ãã
ã¨ããï¼ãåå´ãã®ã¯ã©ã¹ã¿ã«ã¤ãã¦ã¯ï¼ä»¥ä¸ã®èª¬æã§\textit{head}ã\textit{last}ã«ç½®ãæãããã¨ã«æ³¨æãããã¨ï¼
\begin{description}
-\item[åæA] ãªã¹ãä¸ã«ç´æ¥åºç¾ãã¦ããåææåï¼
+\item[åæA] ãªã¹ãä¸ã«ç´æ¥åºç¾ãã¦ãã\textbf{JAchar}ï¼
\textit{id}ã\textit{id\_jglyph}ã§ãããï¼\\
\textit{id}ã\textit{id\_pbox}ã§ãã£ã¦$\mathit{Np}.\mathit{head}$ã\textbf{JAchar}ã§ããã¨ãï¼
-\item[åæB] ãªã¹ãä¸ã®hboxã®ä¸èº«ã®å
é ã¨ãã¦åºç¾ããåææåï¼åæAã¨ã®éãã¯ï¼ããã®åã«
+\item[åæB] ãªã¹ãä¸ã®hboxã®ä¸èº«ã®å
é ã¨ãã¦åºç¾ãã\textbf{JAchar}ï¼åæAã¨ã®éãã¯ï¼ããã®åã«
JFMã°ã«ã¼ã®æ¿å
¥ãè¡ãããªãï¼\Param{xkanjiskip},~\Param{kanjiskip}ã¯å
¥ãå¾ãï¼ãã¨ã§ããï¼\\
\textit{id}ã\textit{id\_hlist}ã\textit{id\_disc}ã§ãã£ã¦$\mathit{Np}.\mathit{head}$ã\textbf{JAchar}ã§ããã¨ãï¼
-\item[欧æ] ãªã¹ãä¸ã«ç´æ¥ï¼hboxã®ä¸èº«ã¨ãã¦åºç¾ãã¦ãã欧ææåï¼æ¬¡ã®3ã¤ã®å ´åã該å½ï¼
+\item[欧æ] ãªã¹ãä¸ã«ç´æ¥ï¼hboxã®ä¸èº«ã¨ãã¦åºç¾ãã¦ããã\textbf{JAchar}以å¤ã®æåãï¼æ¬¡ã®3ã¤ã®å ´åã該å½ï¼
\begin{itemize}
\item \textit{id}ã\textit{id\_glyph}ã§ããï¼
\item \textit{id}ã\textit{id\_math}ã§ããï¼
@@ -7603,7 +8332,7 @@ $g$ã¯ãæåã³ã¼ã \texttt{'boxbdd'} ã®æåãã¨\textit{Np}ã®éã«
ä¸æ¹ï¼åè
ï¼æ®µè½ï¼ã®å ´åã¯ï¼ãªã¹ãã®æ«å°¾ã¯å¸¸ã« \cs{penalty10000} ã¨ï¼
\cs{parfillskip} ç±æ¥ã®ã°ã«ã¼ãåå¨ããï¼%ãã£ã¦ï¼æå¾ã®ã¯ã©ã¹ã¿\textit{Np}ã¯
%ãã® \cs{parfillskip} ç±æ¥ã®ã°ã«ã¼ã¨ãªãï¼å®è³ªçãªä¸èº«ã®æå¾ã¯ãã®1ã¤åã®ã¯ã©ã¹ã¿\textit{Nq}ã¨ãªãï¼
-段è½ã®æå¾ã®ãé常ã®åææå${}+{}$å¥ç¹ããç¬ç«ããè¡ã¨ãªãã®ãé²ãããã«ï¼
+段è½ã®æå¾ã®ãé常ã®\textbf{JAchar}${}+{}$å¥ç¹ããç¬ç«ããè¡ã¨ãªãã®ãé²ãããã«ï¼
\Param{jcharwidowpenalty}ã®å¤ã®åã ãé©åãªå ´æã®ããã«ãã£ãå¢ããï¼
ããã«ãã£éãå¢ããå ´æã¯ï¼\textit{head}ã\textbf{JAchar}ã§ããï¼
@@ -7638,7 +8367,7 @@ $g$ã¯ãæåã³ã¼ã \texttt{'boxbdd'} ã®æåãã¨\textit{Np}ã®éã«
ãã®å ´åãå
¨ã¦ã®å ´åã®åºæ¬ã¨ãªãï¼
\paragraph{ãå³ç©ºç½ãã®ç®åº}
-ã¾ãï¼ãå³ç©ºç½ãã«ãããéãç®åºããï¼é常ã¯ãããï¼é£ãåã£ã2ã¤ã®åææåéã«å
¥ã空ç½éã¨ãªãï¼
+ã¾ãï¼ãå³ç©ºç½ãã«ãããéãç®åºããï¼é常ã¯ãããï¼é£ãåã£ã2ã¤ã®\textbf{JAchar}éã«å
¥ã空ç½éã¨ãªãï¼
\begin{description}
\item[JFMç±æ¥{[M]}] JFMã®æåã¯ã©ã¹æå®ã«ãã£ã¦å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ããï¼ãã®æ®µéã§ç©ºç½éãæªå®ç¾©ï¼æªæå®ï¼ã ã£ãå ´åï¼
ããã©ã«ãå¤\Param{kanjiskip}ãæ¡ç¨ãããã¨ã¨ãªãã®ã§ï¼æ¬¡ã¸ï¼
@@ -7717,14 +8446,14 @@ $q$ã¨$r$ã®éã¯ï¼å®ãã©ã³ããåããªã®ã«ï¼\texttt{jfmvar} ãã¼
\item[\Param{kanjiskip}~{[K]}] ä¸ã®[M]ã«ããã¦ç©ºç½ãå®ã¾ããªãã£ãå ´åï¼
以ä¸ã§å®ããéãå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
ãã®æ®µéã«ããã¦ã¯ï¼\cs{inhibitglue} ã¯å¹åãæããªãããï¼
-çµæã¨ãã¦ï¼2ã¤ã®åææåéã«ã¯å¸¸ã«ä½ããã®ã°ã«ã¼ï¼ã«ã¼ã³ãæ¿å
¥ããããã¨ã¨ãªãï¼
+çµæã¨ãã¦ï¼2ã¤ã®\textbf{JAchar}éã«ã¯å¸¸ã«ä½ããã®ã°ã«ã¼ï¼ã«ã¼ã³ãæ¿å
¥ããããã¨ã¨ãªãï¼
\begin{enumerate}
\item 両ã¯ã©ã¹ã¿ï¼å³å¯ã«ã¯$\mathit{Nq}.\mathit{tail}$ï¼$\mathit{Np}.\mathit{head}$ï¼ã®ä¸èº«ã®æåã³ã¼ãã«å¯¾ãã
\Param{autospacing}ãã©ã¡ã¿ã両æ¹ã¨ãfalseã ã£ãå ´åã¯ï¼é·ã0ã®glueã¨ããï¼
\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}ï¼ã®ã¨ãã¯ï¼ãã¡ãã®ã¯ã©ã¹ã¿ã§ä½¿ããã¦ãã
+ã©ã¡ããçæ¹ã®ã¯ã©ã¹ã¿ã ãã\textbf{JAchar}ï¼\textsf{åæA}ã»\textsf{åæB}ï¼ã®ã¨ãã¯ï¼ãã¡ãã®ã¯ã©ã¹ã¿ã§ä½¿ããã¦ãã
JFMç±æ¥ã®å¤ã ããç¨ããï¼ãã両è
ã§ä½¿ããã¦ããJFMãç°ãªã£ãå ´åã¯ï¼ä¸ã®[M]~3.ã¨åæ§ã®æ¹æ³ãç¨ãã¦èª¿æ´ããï¼
\end{enumerate}
\end{description}
@@ -7846,7 +8575,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\item ç¦åç¨ããã«ãã£ãï¼ä»¥åè¿°ã¹ã\textsf{P-normal~[PN]}ã¨åãã§ããï¼
\end{itemize}
\begin{description}
-\item[Boundary-B~{[\OB]}] åææåã¨ãåæã§ãªããã®ãã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
+\item[Boundary-B~{[\OB]}] \textbf{JAchar}ã¨ã\textbf{JAchar}ã§ãªããã®ãã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
æªå®ç¾©ã§ãªããã°ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
\textsf{JFM-origin~[M]}ã®å¤ç¨®ã¨èãã¦è¯ãï¼
ããã«ãã£ã¦å®ã¾ã空ç½ã®å
¸åä¾ã¯ï¼åæã®éãæ¬å¼§ã¨æ¬§ææåã®éã«å
¥ãåè§ã¢ãã§ããï¼
@@ -7886,7 +8615,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\item ç¦åç¨ããã«ãã£ã¯ï¼ä»¥åè¿°ã¹ã\textsf{P-normal~[PN]}ã¨åãã§ããï¼
\end{itemize}
\begin{description}
-\item[Boundary-A~{[\OA]}] ãåæã§ãªããã®ãã¨åææåã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
+\item[Boundary-A~{[\OA]}] ã\textbf{JAchar}ã§ãªããã®ãã¨\textbf{JAchar}ã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
æªå®ç¾©ã§ãªããã°ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
\textsf{JFM-origin~[M]}ã®å¤ç¨®ã¨èãã¦è¯ãï¼
ããã«ãã£ã¦å®ã¾ã空ç½ã®å
¸åä¾ã¯ï¼æ¬§ææåã¨åæã®éãæ¬å¼§ã¨ã®éã«å
¥ãåè§ã¢ãã§ããï¼
@@ -7971,7 +8700,7 @@ $\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
\paragraph{åæAã¨åæBã®éã}
å
ã«è¿°ã¹ãããã«ï¼\textsf{åæB}ã¯hboxã®ä¸èº«ã®å
é ï¼or æ«å°¾ï¼ã¨ãã¦åºç¾ãã¦ãã
-åææåã§ããï¼ãªã¹ãå
ã«ç´æ¥ãã¼ãã¨ãã¦ç¾ãã¦ããåææåï¼\textsf{åæA}ï¼ã¨ã®éãã¯ï¼
+\textbf{JAchar}ã§ããï¼ãªã¹ãå
ã«ç´æ¥ãã¼ãã¨ãã¦ç¾ãã¦ãã\textbf{JAchar}ï¼\textsf{åæA}ï¼ã¨ã®éãã¯ï¼
\begin{itemize}
\item \textsf{åæB}ã«å¯¾ãã¦ã¯ï¼JFMã®æåã¯ã©ã¹æå®ããå®ã¾ã空ç½
\textsf{JFM-origin~[M]}ï¼\textsf{Boundary-A~[\OA]}ï¼\textsf{Boundary-B~[\OB]}ï¼ã®æ¿å
¥ã¯è¡ãããªãï¼
@@ -8018,10 +8747,10 @@ $\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
ä»®æ³ããã£ã®é«ã$h$ï¼æ·±ã$d$ã«ã¤ãã¦ã¯
\begin{description}
\catcode`\<=12\catcode`\>=12
- \item[$\texttt{yoffset}\geq 0$ã®ã¨ã]
-$h = \max(\texttt{height} + \texttt{yoffset}, 0)$,
-$d = \max(\texttt{depth} - \texttt{yoffset}, 0)$,
- \item[$\texttt{yoffset}<0$ã®ã¨ã]
+ \item[$\texttt{yoffset}\geq 0$ã®ã¨ã]
+$h = \max(\texttt{height} + \texttt{yoffset}, 0)$,
+$d = \max(\texttt{depth} - \texttt{yoffset}, 0)$,
+ \item[$\texttt{yoffset}<0$ã®ã¨ã]
$h = \max(\texttt{height} + \texttt{yoffset}, 0)$, $d=\texttt{depth}$.
\end{description}
ã¨ããä»æ§ã«ãªã£ã¦ããï¼ã¤ã¾ãï¼\texttt{yoffset} ãè² ï¼ã°ãªããä¸ããï¼ã®å ´åã«æ·±ãã¯å¢å ããª
@@ -8063,7 +8792,7 @@ $h = \max(\texttt{height} + \texttt{yoffset}, 0)$, $d=\texttt{depth}$.
\end{itemize}
ã¨ããç¶æ³ã§çµãã å ´åãä¾ã«ã¨ã£ã¦èª¬æãããï¼
-\LuaTeXã»\Pkg{luaotfload}ã«ããã«ã¼ãã³ã°ã»ãã¤ããã¼ã·ã§ã³ãçµãã£ã段éã§ã¯ï¼
+\LuaTeXã»\Pkg{luaotfload}ã«ããã«ã¼ãã³ã°ã»ãã¤ããã¼ã·ã§ã³ãçµãã£ã段éã§ã¯ï¼â¦â¦
@@ -8118,7 +8847,7 @@ then the patch \Pkg{lltjp-listings} is loaded automatically at \verb+\begin{docu
æèããå¿
è¦ã¯ãªãï¼
%
-%\subsection{Notes}
+%\subsection{Notes and additional keys}
%\subsection{注æ}
%<*en>
\paragraph{Escaping to \LaTeX}
@@ -8160,6 +8889,20 @@ instead of ``\verb+\ã»ã+''.
ã\cs{}\IVSA FFFFFãã¨ããcontrol symbolãå®è¡ããããã¨ã«ãªãï¼
%
+%<*en>
+\paragraph{Variation selectors}
+\Pkg{lltjp-listings} add two keys, namely \texttt{vsraw}~and~\texttt{vscmd},
+which specify how variation selectors are treated in
+\texttt{lstlisting} or other enviroments.
+Note that these additional keys are not usable in the preamble,
+since \Pkg{lltjp-listings} is loaded at \verb+\begin{document}+.
+
+\texttt{vsraw} is a key which takes a boolean value, and its default value is
+false.
+\begin{itemize}
+ \item If the \texttt{vsraw} key is true, then
+variation selectors are ``combined'' with the previous character.
+%
%<*ja>
\paragraph{ç°ä½åã»ã¬ã¯ã¿ã®æ±ã}
\texttt{lstlisting} ç°å¢ãªã©ã®å
é¨ã«ããç°ä½åã»ã¬ã¯ã¿ãæ±ãããï¼
@@ -8172,21 +8915,31 @@ instead of ``\verb+\ã»ã+''.
\item trueã®å ´åã¯ï¼ç°ä½åã»ã¬ã¯ã¿ã¯ãç´åã®æåã«ç¶ãã¦ãåºåãããï¼
ãããIVSãµãã¼ãï¼\ref{ssec-ltjotf}ç¯ï¼ãæå¹ã«ãªã£ã¦ããå ´åã¯ï¼
以ä¸ã®ä¾ï¼å·¦å´ã¯å
¥åï¼å³å´ã¯ãã®åºåï¼ã®ããã«ãªãï¼
+%
\begin{LTXexample}
\begin{lstlisting}[vsraw=true]
èó åå¸ï¼èó 飾åºï¼è西
\end{lstlisting}
\end{LTXexample}
+%<*en>
+\item If the \texttt{vsraw} key is false, then
+variation selectors are typeset by an appropriate command, which is specified by
+ the \texttt{vscmd} key.
+The default setting of the \texttt{vscmd} key produces the following.
+%
+%<*ja>
\item falseã®å ´åã¯ï¼ç°ä½åã»ã¬ã¯ã¿ã¯é©å½ãªå½ä»¤ã«ãã£ã¦ãè¦ããå½¢ã§ãåºåãããï¼
ã©ã®ãããªå½¢ã§åºåãããããè¦å®ããã®ã \texttt{vscmd} ãã¼ã§ããï¼
\Pkg{lltjp-listings} ã®æ¨æºè¨å®ã§ã¯ä»¥ä¸ã®ä¾ã®å³å´ã®ããã«åºåãããï¼
+%
\begin{LTXexample}
\begin{lstlisting}[vsraw=false,
vscmd=\ltjlistingsvsstdcmd]
èó åå¸ï¼èó 飾åºï¼è西
\end{lstlisting}
\end{LTXexample}
-ã¡ãªã¿ã«ï¼æ¬ããã¥ã¡ã³ãã§ã¯æ¬¡ã®ããã«ãã¦ããï¼
+% ã¡ãªã¿ã«ï¼æ¬ããã¥ã¡ã³ãã§ã¯æ¬¡ã®ããã«ãã¦ããï¼
+% For example, the following code is the setting of the \texttt{vscmd} key in this document.
\begin{lstlisting}[numbers=left]
\def\IVSA#1#2#3#4#5{%
\textcolor{blue}{\raisebox{3.5pt}{\tt%
@@ -8200,11 +8953,57 @@ instead of ``\verb+\ã»ã+''.
\lstset{vscmd=\IVSB}
\end{lstlisting}
\end{itemize}
-æ¢å®ã®åºåå½ä»¤ã復活ããããå ´åã¯\ \verb+vsraw=\ltjlistingsvsstdcmd+\
+%<*en>
+The default output command of variation selectors is stored in \verb+\ltjlistingsvsstdcmd+.
+%
+%<*ja>
+æ¢å®ã®åºåå½ä»¤ã復活ããããå ´åã¯\ \verb+vscmd=\ltjlistingsvsstdcmd+\
ã¨ããã°è¯ãï¼
%
-%\subsection{Class of Characters}
+%<*en>
+\paragraph{The \texttt{doubleletterspace} key}
+Even the column format is \texttt{[c]fixed}, sometimes characters are not vertically aligned.
+The following example is typeset with \texttt{basewidth=2em}, and
+you'll see the leftmost ``\texttt{H}'' are not vertically aligned.
+\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left]
+:H:
+:HHHH:
+\end{lstlisting}
+
+\Pkg{lltjp-listing} adds the \texttt{doubleletterspace} key (not activated by default, for
+compatibility) to
+improve the situation, namely doubles inter-character space in each output unit.
+With this key, the above input now produces better output.
+\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left, doubleletterspace]
+:H:
+:HHHH:
+\end{lstlisting}
+%
+%<*ja>
+\paragraph{\texttt{doubleletterspace}ãã¼}
+\Pkg{listings}ããã±ã¼ã¸ã§åæãã \texttt{[c]fixed} ã¨ãªã£ã¦ããå ´åã§ãï¼
+å ´åã«ãã£ã¦ã¯æåã縦ã«æããªãå ´åãããï¼
+ä¾ã以ä¸ã«ç¤ºããï¼ããã¯å¼·èª¿ããããã« \texttt{basewidth=2em} ãè¨å®ãã¦ããï¼
+\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left]
+:H:
+:HHHH:
+\end{lstlisting}
+1è¡ç®ã¨2è¡ç®ã®ã\texttt{H}ãã®ä½ç½®ãæã£ã¦ããªããï¼
+ããã¯åºååä½ãã¨ã«ï¼å
é ã»æ«å°¾ã»åæåéã«åãéã®ç©ºç½ãæ¿å
¥ãããã¨ã«ããï¼
+
+\Pkg{lltjp-listing}ã§ã¯ï¼ãã®ãããªçç¶ãæ¹åãããããã« \texttt{doubleletterspace} ãã¼
+ã追å ããï¼æ¨æºã§ã¯äºææ§ã®ããã«ç¡å¹ã«ãªã£ã¦ããï¼ï¼ãã®ãã¼ãæå¹ã«ããã¨ï¼
+åºååä½ä¸ã®åæåéã®ç©ºç½ã2åã«ãããã¨ã§æåãæãããããã¦ããï¼
+ä¸ã¨åããã®ã \texttt{doubleletterspace} ãã¼ãæå¹ã«ãã¦çµãã ãã®ã以ä¸ã§ããï¼
+ãã¡ãã¨ã\texttt{H}ãã®ä½ç½®ãæã£ã¦ãããã¨ãåããï¼
+\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left, doubleletterspace]
+:H:
+:HHHH:
+\end{lstlisting}
+%
+
+%\subsection{Class of characters}
%\subsection{æå種}
%Roughly speaking, the \Pkg{listings} package processes input as follows:
@@ -8325,7 +9124,7 @@ Prev&Kanji&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
\end{itemize}
%<*en>
-Characters above \texttt{U+0080} \emph{except Variation Selectors}
+Characters above or equal to~\texttt{U+0080} \emph{except Variation Selectors}
are classified into above 5~classes by the following rules:
%
%<*ja>
@@ -8333,7 +9132,7 @@ are classified into above 5~classes by the following rules:
Letter, Other, Kanji, Open, Closeã®ã©ãã«å±ãããã¯æ¬¡ã«ãã£ã¦æ±ºã¾ãï¼
%
\begin{itemize}
-%\item \textbf{ALchar}s above \texttt{U+0080} are classified as Letter.
+%\item \textbf{ALchar}s above or equal to~\texttt{U+0080} are classified as Letter.
%\item ï¼\texttt{U+0080}以éã®ï¼\textbf{ALchar}ã¯ï¼ãã¹ã¦Letteræ±ãã§ããï¼
%\item \textbf{JAchar}s are classified in the order as follows:
@@ -8460,7 +9259,7 @@ JFMä¸ã«ããæåã¯ã©ã¹$n$ã®å®ç¾©ã®
\item \Param{kanjiskip}
\end{enumerate}
\begin{enumerate}
- \item è¡æ«ã®åææåã移åãããã¨ã§$\textit{total}=0$ã¨ãªãã°ï¼
+ \item è¡æ«ã®\textbf{JAchar}ã移åãããã¨ã§$\textit{total}=0$ã¨ãªãã°ï¼
調æ´ã®å¿
è¦ã¯ãªãï¼è¡ãæ ¼ç´ããã¦ããhboxã®
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ãåè¨ç®ããã°ããï¼
以éï¼$\textit{total}\neq 0$ã¨ä»®å®ããï¼
@@ -8511,13 +9310,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}
@@ -8545,10 +9344,11 @@ OpenTypeãã©ã³ãã§ãTrueTypeãã©ã³ãã§ãIVSæ
å ±ãæ ¼ç´ããã¦
\texttt{fontloader} ã®å¼ã³åºãã§ããªãæéãæ¶è²»ãããã¨ããï¼
%%% to_table ã使ããªããããã¨ã§ï¼ã¡ã¢ãªä½¿ç¨éã¯æ¸ã£ã
IVSæ
å ±ããã£ãã·ã¥ã«ä¿åãããã¨ã§2åç®ä»¥éã®å®è¡æéãç¯ç´ãã¦ããï¼
+%
+%<*ja>
\section{è¤æ°ãã©ã³ãã®ãåæãï¼æªå®ï¼}
-
\section{\LuaTeX-jaã«ããããã£ãã·ã¥}
\Pkg{luaotfload}ããã±ã¼ã¸ãï¼åTrueTypeã»OpenTypeãã©ã³ãã®æ
å ±ã
ãã£ãã·ã¥ã¨ãã¦ä¿åãã¦ããã®ã¨åæ§ã®æ¹æ³ã§ï¼
@@ -8612,14 +9412,14 @@ CMapãå¿
è¦ã§ããï¼
縦çµæã«ãããå¹
ãæ ¼ç´ãã¦ããï¼æ§é ã¯ä»¥ä¸ã®éãï¼
%
%<*en>
-\subsection{Use of Cache}
+\subsection{Use of cache}
\LuaTeX-ja uses the following cache:
\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
+It is created from three CMaps, \texttt{UniJIS2004-UTF32-\{H,V\}} and
\texttt{Adobe-Japan1-UCS2},
and this is why these two CMaps are needed in the first run of \LuaTeX-ja.
@@ -8632,7 +9432,7 @@ as in Page~\pageref{para-cid}.
This file stores the table which stores the following.
\begin{itemize}
\item unicode variants in a font ``\texttt{***}''
- \item vertical width of glyphs, if it is not equal to the sum of
+ \item vertical width of glyphs, if it is not equal to the sum of
the height of ascender and the depth of descender
\item vertical variants
\end{itemize}
@@ -8649,10 +9449,10 @@ The following is the structure of the that table.
\bf \texttt{cid} key&\bf name of the cache &
\multicolumn{2}{c}{\bf used CMaps}\\
\midrule
-Adobe-Japan1-*<j-cid-auto-adobe-japan1.lua&UniJIS2004-UTF32-H&Adobe-Japan1-UCS2\\
-Adobe-Korea1-*<j-cid-auto-adobe-korea1.lua&UniKS-UTF32-H&Adobe-Korea1-UCS2\\
-Adobe-GB1-*<j-cid-auto-adobe-gb1.lua&UniGB-UTF32-H&Adobe-GB1-UCS2\\
-Adobe-CNS1-*<j-cid-auto-adobe-cns1.lua&UniCNS-UTF32-H&Adobe-CNS1-UCS2\\
+Adobe-Japan1-*<j-cid-auto-adobe-japan1.lua&UniJIS2004-UTF32-*&Adobe-Japan1-UCS2\\
+Adobe-Korea1-*<j-cid-auto-adobe-korea1.lua&UniKS-UTF32-*&Adobe-Korea1-UCS2\\
+Adobe-GB1-*<j-cid-auto-adobe-gb1.lua&UniGB-UTF32-*&Adobe-GB1-UCS2\\
+Adobe-CNS1-*<j-cid-auto-adobe-cns1.lua&UniCNS-UTF32-*&Adobe-CNS1-UCS2\\
\bottomrule
\end{tabular}
\end{table}
@@ -8835,7 +9635,7 @@ direction whatsitã¯ããã¾ã§ãçµæ¹åå¦çã®ããã®è£å©çãªãã¼
\[
\xymatrix{
{}\Node{glyph}{`å¹³'}\ar[r]&{}\Node{glyph}{`æ'}\ar[r]&
- {}\HNode{hlist}{10.00003}{3.02779}{0.0}\ar[r]\ar[d]^{\text{ä¸èº«}}&{}\Node{glyph}{`å¹´'}\\
+ {}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[r]\ar[d]^{\text{ä¸èº«}}&{}\Node{glyph}{`å¹´'}\\
&&{}\Node{whatsit}{\cs{tate}}\ar[r]&{}\Node{glyph}{`2'}\ar[r]&{}\Node{glyph}{`6'}
}
\]
@@ -8849,10 +9649,10 @@ direction whatsitã¯ããã¾ã§ãçµæ¹åå¦çã®ããã®è£å©çãªãã¼
&{}\textcolor{blue}{\Node{penalty}{0}}
\ar`r[d] `[l] `[ddll] `[dl] [dl]
\\
- &&{}\textcolor{red}{\HNode{hlist}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{ä¸èº«}}
+ &&{}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{yoko})}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{ä¸èº«}}
&{}\textcolor{blue}{\Node{penalty}{0}}\ar[r]
&{}\Node{glyph}{`å¹´'}\\
- &&{}\HNode{\textit{dir\_box} (\cs{yoko})}{10.00003}{3.02779}{0.0}\ar[d]^{\text{ä¸èº«}}\\
+ &&{}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[d]^{\text{ä¸èº«}}\\
&&{}\Node{whatsit}{\cs{tate}}\ar[r]&{}\Node{glyph}{`2'}\ar[r]&{}\Node{glyph}{`6'}
}
\]
@@ -8966,7 +9766,7 @@ direction~whatsitå
é¨ã®ãã¼ããªã¹ãã«ï¼\textit{dir\_box}ã¨ãã¦æ ¼
{}\Node{whatsit}{\cs{dtou}}\ar[r]&
{}\Node{glyph}{`a'}\ar[r]&
{}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{dtou})}{20.0}{9.0}{0.0}}\ar[d]_{\text{ä¸èº«}}\\
- &&{}\HNode{hlist}{9.0}{5.0}{2.0}\ar[d]_{\text{ä¸èº«}}\\
+ &&{}\HNode{hbox}{9.0}{5.0}{2.0}\ar[d]_{\text{ä¸èº«}}\\
&&{}\Node{whatsit}{\cs{yoko}}\ar[r]&{}\Node{rule}{}
}
\]
@@ -8988,7 +9788,7 @@ TUG 2013, October 2013.
\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.
%\newblock
%\\\null\hfill
-\url{http://mytexpert.sourceforge.jp/index.php?Listings}
+\url{http://mytexpert.osdn.jp/index.php?Listings}
\bibitem{jlreq} W3C Japanese Layout Task Force~(ed). \newblock
Requirements for Japanese Text Layout (W3C Working Group Note), 2011, 2012. \newblock
\url{http://www.w3.org/TR/jlreq/}%