X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fluatexja.dtx;h=ed343fefb84d78727519ec40731c93ff7280f25d;hb=ad5ab423c468a7b55785fc540c1b5e09766aed4f;hp=cf2ebe2a0d6b45678acbd71e95cb153ebe55759b;hpb=0d66310d41b591cba98da098118350901cf947a4;p=luatex-ja%2Fluatexja.git
diff --git a/doc/luatexja.dtx b/doc/luatexja.dtx
index cf2ebe2..ed343fe 100644
--- a/doc/luatexja.dtx
+++ b/doc/luatexja.dtx
@@ -1,9 +1,16 @@
%<*!showexpl>
%#! lualatex -shell-escape
-% \documentclass[a4paper,titlepage]{article}
-% \documentclass[a4paper,titlepage]{ltjsarticle}
-% \documentclass[a4paper,titlepage]{ltjsarticle}
+% To typeset this manual, you need following two fonts:
+% - KozMinPr6N-Regular.otf
+% - KozGoPr6N-Medium.otf
+% - KozGoPr6N-Regular.otf
+
+%%%%% section ==> ç«
+%%%%% subsection => ç¯
+
+%\documentclass[a4paper,titlepage]{article}
+%\documentclass[a4paper,titlepage]{ltjsarticle}
%%%%%%%%
\makeatletter
@@ -25,71 +32,49 @@
\let\@listfiles\empty
%<*en>
-\usepackage[margin=25mm,footskip=6mm]{geometry}
+\usepackage[margin=25mm,lmargin=30mm,rmargin=30mm,footskip=6mm]{geometry}
+\usepackage{luatexja-adjust}\ltjdisableadjust
\parskip=\smallskipamount
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries\raisebox{.2ex}{$\mdlgblksquare\mkern1mu$}}}
%
%<*ja>
\usepackage[textwidth=45\zw, lines=45, footskip=6mm]{geometry}
+\usepackage{luatexja-adjust}%\ltjdisableadjust
\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
%
-%<*zh>
-\usepackage[textwidth=45\zw, lines=45, footskip=6mm]{geometry}
-\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
-\def\postpartname{ç¼}
-\DeclareYokoKanjiEncoding{ZH}{}{}
-\DeclareKanjiEncodingDefaults{}{}
-\DeclareErrorKanjiFont{ZH}{song}{m}{n}{10}
-\DeclareKanjiSubstitution{ZH}{song}{m}{n}
-\newcommand\songdefault{song}
-\newcommand\heidefault{hei}
-\newcommand\minchodefault{mincho}
-\renewcommand\kanjiencodingdefault{ZH}
-\renewcommand\kanjifamilydefault{\songdefault}
-\renewcommand\kanjiseriesdefault{\mddefault}
-\renewcommand\kanjishapedefault{\updefault}
-\DeclareKanjiFamily{ZH}{song}{}
-\DeclareFontShape{ZH}{song}{m}{n}{<->name:AdobeSongStd-Light:jfm=jis}{}
-\DeclareFontShape{ZH}{song}{m}{it}{<->ssub*song/m/n}{}
-\DeclareFontShape{ZH}{song}{bx}{n}{<->ssub*hei/m/n}{}
-\DeclareKanjiFamily{ZH}{hei}{}
-\DeclareFontShape{ZH}{hei}{m}{n}{<->name:SimHei:jfm=jis}{}
-\DeclareFontShape{ZH}{hei}{bx}{n}{<->ssub*hei/m/n}{}
-\DeclareKanjiFamily{ZH}{mincho}{}
-\DeclareFontShape{ZH}{mincho}{m}{n}{<->psft:KozMinPr6N-Regular:cid=Adobe-Japan1-6;jfm=jis}{}
-\fontencoding{ZH}\selectfont
-\DeclareTextFontCommand{\textsong}{\songfamily}
-\DeclareTextFontCommand{\texthei}{\heifamily}
-\DeclareTextFontCommand{\textmincho}{\minchofamily}
-\DeclareOldFontCommand{\song}{\normalfont\songfamily}{}
-\DeclareOldFontCommand{\hei}{\normalfont\heifamily}{}
-\DeclareOldFontCommand{\mincho}{\normalfont\minchofamily}{}
-\DeclareSymbolFont{songti}{ZH}{song}{m}{n}
-\jfam\symsongti
-\SetSymbolFont{songti}{bold}{ZH}{hei}{m}{n}
-\DeclareSymbolFontAlphabet{\mathsong}{songti}
-\DeclareMathAlphabet{\mathhei}{ZH}{hei}{m}{n}
-\DeclareRobustCommand\songfamily{\not@math@alphabet\songfamily\mathsong\kanjifamily\songdefault\selectfont}
-\DeclareRobustCommand\heifamily{\not@math@alphabet\heifamily\mathhei\kanjifamily\heidefault\selectfont}
-\DeclareRobustCommand\minchofamily{\not@math@alphabet\minchofamily\mathhei\kanjifamily\minchodefault\selectfont}
-\DeclareRobustCommand\rmfamily{\not@math@alphabet\rmfamily\mathrm\romanfamily\rmdefault\kanjifamily\songdefault\selectfont}
-\DeclareRobustCommand\sffamily{\not@math@alphabet\sffamily\mathsf\romanfamily\sfdefault\kanjifamily\heidefault\selectfont}
-%
-
-\usepackage{amsmath,tikz,pict2e,multienum,float}
-\usepackage{booktabs,multicol}
+
+\usepackage{amsmath,array,tikz,pict2e,multienum,float}
+\usepackage{booktabs,multicol,luatexja-ruby}
%%%%%%%% listings
+
+%%%%%%%% IVS
+
+\def\IVS#1{\char\numexpr "E0100+#1\relax}%"
+\def\IVSA#1#2#3#4#5{%
+ \textcolor{blue}{\raisebox{3.5pt}{\tt%
+ \fboxsep=0.5pt\fbox{\tiny \oalign{0#1#2\crcr#3#4#5\crcr}}}}%
+}
+{\catcode`\%=11
+ \gdef\IVSB#1{\expandafter\IVSA\directlua{
+ local cat_str = luatexbase.catcodetables['string']
+ tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
+}}}
+
\usepackage{listings,showexpl}
\lstset{
basicstyle=\ttfamily\small, pos=r, breaklines=true,
numbers=none, rframe={}, basewidth=0.5em, numberstyle=\tiny, numbersep=0.5em,
- explpreset={numberstyle=\tiny, numbers=left, numbersep=1em}
+ explpreset={numberstyle=\tiny, numbers=left, numbersep=1em, columns=fixed}
}
% Suppress output from showexpl to stdout.
\let\SX@Info\relax
%%%%%%%% hyperref
-\usepackage{hyperref}
+\usepackage{hyperref,bookmark}
%<*en>
\title{The \LuaTeX-ja package}
\author{The \LuaTeX-ja project team}
@@ -98,10 +83,6 @@
\title{\LuaTeX-jaããã±ã¼ã¸}
\author{\LuaTeX-jaããã¸ã§ã¯ããã¼ã }
%
-%<*zh>
-\title{\LuaTeX-jaå®å
}
-\author{\LuaTeX-ja项ç®å¢é}
-%
\hypersetup{%
unicode,
colorlinks,
@@ -115,10 +96,6 @@
pdfauthor={LuaTeX-jaããã¸ã§ã¯ããã¼ã },
pdftitle={LuaTeX-jaããã±ã¼ã¸}
%
-%<*zh>
- pdfauthor={LuaTeX-ja项ç®å¢é},
- pdftitle={LuaTeX-jaå®å
}
-%
}
%%%%%%%% definition env.
@@ -126,16 +103,23 @@
\theoremstyle{definition}
%\newtheorem{defn}{Definition}
%\newtheorem{defn}{å®ç¾©}
-%\newtheorem{defn}{å®ä¹}
%%%%%%%% fonts
\usepackage{luatexja-otf}
-\usepackage[jis2004]{luatexja-preset}
-%\usepackage{amssymb}
+%\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[Ligatures=TeX]{TeX Gyre Heros}
+\setsansfont[Scale=0.95,Ligatures=TeX]{TeX Gyre Heros}
\setmathfont{xits-math.otf}
\frenchspacing
%
@@ -145,19 +129,24 @@
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
\DeclareRobustCommand\LuaTeX{Lua\TeX}
\DeclareRobustCommand\pdfTeX{pdf\TeX}
-\DeclareRobustCommand\pTeX{p\kern-.05em\TeX}
-\DeclareRobustCommand\upTeX{up\kern-.05em\TeX}
+\DeclareRobustCommand\pTeX{p\kern-.15em\TeX}
+\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}
%%%%%%%% other macros
\newenvironment{cslist}{%
- \leftskip2em\parindent=0pt\def\makelabel##1{{\tt\char92##1}}
+% \leftskip2\zw
+% \leftskip2em
+ \parindent=0pt\def\makelabel##1{{\tt\textbackslash ##1}}
\def\{{\char`\{}\def\}{\char`\}}
\let\origitem=\item
\def\item[##1]{\par\smallskip\par\hskip-\leftskip\makelabel{##1}\par}
-}{}
+ \@totalleftmargin\leftskip
+}{\par%
+%\medskip
+}
\def\labelenumii{(\arabic{enumii})}
\long\def\@makecaption#1#2{%
@@ -171,6 +160,8 @@
\fi
\vskip\belowcaptionskip}
+\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
+
%%%%%%%%
\makeatother
%%%%%%%%
@@ -183,8 +174,13 @@
\begin{document}
+\lstset{
+ vscmd=\IVSB
+}
+
\catcode`\<=13
-\def<#1>{{\normalfont\rm\itshape$\langle$#1$\rangle$}}
+\def<#1>{{\normalfont\rm\itshape$\langle$#1\/$\rangle$}}
+\let\LARG=<
\maketitle
\tableofcontents
@@ -193,23 +189,18 @@
%<*en>
\textbf{This documentation is far from complete. It may have many
grammatical (and contextual) errors.} Also, several parts
-(especially, Section~\ref{sec-jfmglue}) are written in Japanese only.
+are written in Japanese only.
%
%<*ja>
-\textbf{\large æ¬ããã¥ã¡ã³ãã¯ã¾ã ã¾ã æªå®æã§ãï¼}
+\emph{\large æ¬ããã¥ã¡ã³ãã¯ã¾ã ã¾ã æªå®æã§ãï¼}
%
-%<*zh>
-\textbf{\large æ¬ææ¡£å°æªå®æã}
-%
\clearpage
%\part{User's manual}
%\part{ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«}
-%\part{ç¨æ·æå}
%\section{Introduction}
%\section{ã¯ããã«}
-%\section{å¼è¨}
%<*en>
@@ -220,14 +211,8 @@ Japanese documents when using \LuaTeX.
\LuaTeX-jaããã±ã¼ã¸ã¯ï¼æ¬¡ä¸ä»£æ¨æº\TeX ã§ãã\LuaTeX ã®ä¸ã§ï¼\pTeX ã¨åç
ï¼ãã以ä¸ã®å質ã®æ¥æ¬èªçµçãå®ç¾ããããã¨ãããã¯ãããã±ã¼ã¸ã§ããï¼
%
-%<*zh>
-\LuaTeX-jaå®å
æ¯åºç¨äºä¸ä¸ä»£æ å\TeX å¼æ亦å³\LuaTeX å¼æä¸çé«è´¨éæ¥è¯ææ¡£æçå®å
ã
-%
-
%\subsection{Backgrounds}
%\subsection{èæ¯}
-%\section{èæ¯}
-
%<*en>
Traditionally, ASCII \pTeX, an extension of \TeX, and its derivatives
@@ -248,13 +233,6 @@ ASCII \pTeX ãããã®æ¡å¼µç©ãç¨ãããããã¨ãä¸è¬çã§ãã£
OpenType, Unicodeã¨ãã£ãè¨ç®æ©ã§æ¥æ¬èªãæ±ãéã®ç¶æ³ã®å¤åã«è¿½å¾ãããã¨
ãæ ã£ã¦ãã¾ã£ãã®ã ï¼
%
-%<*zh>
-ä¸è¬æ
åµä¸ï¼\TeX ä¸çæ¥è¯ææ¡£è¾åºï¼æ¯ASCII \pTeXï¼\TeX çä¸ä¸ªæ©å±ï¼åå
¶è¡ç
-软件æ¥å®æçã\pTeX ä½ä¸º\TeX çä¸ä¸ªæ©å±å¼æï¼å¨çæé«è´¨éçæ¥è¯ææ¡£æ¶ï¼è§é¿
-äºç¹æçå®ç¼åãä½æ¯å¨ååæ¶æçå¼æç¸æ¯ä¹ä¸ï¼\pTeX çå¤å¢æªå
æäºå°´å°¬ï¼\pTeX
-å·²ç»è¿è¿è½åäº\eTeX åpdf\TeXï¼æ¤å¤ä¹æ²¡æè·ä¸è®¡ç®æºä¸å¯¹æ¥æå¤ççæ¼è¿ï¼æ¯å¦ï¼
-UTF-8ç¼ç ï¼TrueTypeåä½ï¼OpenTypeåä½ï¼ã
-%
%<*en>
Recently extensions of \pTeX, namely \upTeX\ (Unicode-implementation
@@ -271,36 +249,27 @@ extent, but gaps still exist.
\pTeX ã«å¯¾å¿ããããã¨ããåãã¯ãªãï¼æµ·å¤ã¨ã®gapã¯æªã ã«ããã®ãç¾ç¶ã§ã
ãï¼
%
-%<*zh>
-æè¿å¼åç\pTeX æ©å±ï¼å³\upTeXï¼Unicodeä¸ç\pTeX å®ç°ï¼å\epTeXï¼\pTeX å
-\eTeX çèåçæ¬ï¼ï¼è½ç¶å¨é¨åæ
åµä¸å¼¥è¡¥äºä¸è¿°çå·®è·ï¼ä½æ¯å·®è·ä¾ç¶åå¨ã
-%
%<*en>
However, the appearance of \LuaTeX\ changed the whole situation. With
-using Lua `callbacks', users can customize the internal processing of
+using Lua ``callbacks'', users can customize the internal processing of
\LuaTeX. So there is no need to modify sources of engines to
support Japanese typesetting: to do this, we only have to write Lua
scripts for appropriate callbacks.
%
%<*ja>
ãããï¼\LuaTeX ã®ç»å ´ã§ï¼ç¶æ³ã¯å¤§ããå¤ãããã¨ã«ãªã£ãï¼Luaã³ã¼ãã§
-`callback'ãæ¸ããã¨ã«ããï¼\LuaTeX ã®å
é¨å¦çã«å²ãè¾¼ã¿ãããããã¨ãå¯
+``callback''ãæ¸ããã¨ã«ããï¼\LuaTeX ã®å
é¨å¦çã«å²ãè¾¼ã¿ãããããã¨ãå¯
è½ã¨ãªã£ãï¼ããã¯ï¼ã¨ã³ã¸ã³æ¡å¼µã¨ããçä¼¼ãããªãã¦ãï¼Luaã³ã¼ãã¨ããã«
é¢ãã\TeX ãã¯ããæ¸ãã°ï¼ã¨ã³ã¸ã³æ¡å¼µã¨ã»ã¼åç¨åº¦ã®ãã¨ãã§ããããã«ãªã£
ãã¨ãããã¨ãæå³ããï¼\LuaTeX-jaã¯ï¼ãã®ã¢ããã¼ãã«ãã£ã¦Luaã³ã¼ãã»
\TeX ãã¯ãã«ãã£ã¦æ¥æ¬èªçµçã\LuaTeX ã®ä¸ã§å®ç¾ããããã¨ããç®çã§éçº
ãå§ã¾ã£ãããã±ã¼ã¸ã§ããï¼
%
-%<*zh>
-ä¸è¿ï¼\LuaTeX çåºç°æ¹åäºæ´ä¸ªç¶åµãç¨æ·å¯ä»¥éè¿ä½¿ç¨Luaè¯è¨çâcallbackâæ¥
-è°æ´\LuaTeX çå
é¨å¤çæºå¶ãæ以ï¼æ²¡æå¿
è¦å»éè¿ä¿®æ¹å¼æçæºä»£ç æ¥æ¯ææ¥æ
-æçï¼ç¸åï¼æ们éè¦åçä»
ä»
æ¯ç¼åå
¶å½å¤çcallbackçLuaèæ¬ã
-%
%\subsection{Major Changes from \pTeX}
%\subsection{\pTeX ããã®ä¸»ãªå¤æ´ç¹}
-%\subsection{ä¸\pTeX çå·®å¼æå¨}
+\label{ssec:chgptex}
%<*en>
The \LuaTeX-ja package is under much influence of \pTeX\ engine. The initial
@@ -312,14 +281,10 @@ specifications/behaviors of \pTeX\ were not adopted}.
\LuaTeX-jaã¯ï¼\pTeX ã«å¤å¤§ãªå½±é¿ãåãã¦ããï¼åæã®éçºç®æ¨ã¯ï¼\pTeX ã®æ©
è½ãLuaã³ã¼ãã«ããå®è£
ãããã¨ã§ãã£ãï¼ãããï¼éçºãé²ãã«ã¤ãï¼\pTeX
ã®å®å
¨ãªç§»æ¤ã¯ä¸å¯è½ã§ããï¼ã¾ã\pTeX ã«ãããå®è£
ãããããä¸å¯è§£ã«ãªã£
-ã¦ãããããªç¶æ³ãçºè¦ãããï¼ãã®ããï¼\textbf{\LuaTeX-jaã¯ï¼ãã¯ã
+ã¦ãããããªç¶æ³ãçºè¦ãããï¼ãã®ããï¼\emph{\LuaTeX-jaã¯ï¼ãã¯ã
\pTeX ã®å®å
¨ãªç§»æ¤ã¯ç®æ¨ã¨ã¯ããªãï¼\pTeX ã«ãããä¸èªç¶ãªä»æ§ã»æåãã
ãã°ï¼ããã¯ç©æ¥µçã«æ¹ããï¼}
%
-%<*zh>
-\LuaTeX-jaå®å
å¨è®¾è®¡ä¸ï¼å\pTeX å½±åå¾å¤§ãæåå¼åç主è¦è®®é¢æ¯å®ç°\pTeX çç¹æ§ã
-ä¸è¿ï¼{\bf\LuaTeX-jaä¸æ¯ç®ç®ååç移æ¤\pTeXï¼å¾å¤ä¸èªç¶çç¹å¾åç°è±¡é½è¢«ç§»åºäºã}
-%
%<*en>
The followings are major changes from \pTeX:
@@ -327,27 +292,18 @@ The followings are major changes from \pTeX:
%<*ja>
以ä¸ã¯ \pTeX ããã®ä¸»ãªå¤æ´ç¹ã§ããï¼
%
-%<*zh>
-ä¸é¢å举åºäºä¸äºå\pTeX çå·®å¼ï¼
-%
\begin{itemize}
%<*en>
-\item A Japanese font is a tuple of a `real' font, a Japanese font
- metric (\textbf{JFM}, for short), and an optional string called
- `variation'.
+\item A Japanese font is a tuple of a ``real'' font, a Japanese font
+ metric (\emph{JFM}, for short).
%
%<*ja>
\item åæãã©ã³ãã¯ï¼å°å¡ææï¼IPAææãªã©ã®ï¼å®éã®ãã©ã³ãï¼åæãã©ã³
ãã¡ããªãã¯ï¼JFMã¨å¼ã¶\footnote{æ··ä¹±ãé²ãããï¼p\TeX ã®æå³ã§ã®
- JFM (\texttt{min10.tfm}) ãªã©ã¯æ¬ããã¥ã¡ã³ãã§ã¯\textbf{åæç¨
- TFM}ã¨ãã¶ãã¨ã«ããï¼}ï¼ï¼ããã¦`variation'ã¨å¼ã°ããæååã®çµã§
- ããï¼
+ JFM (\texttt{min10.tfm}) ãªã©ã¯æ¬ããã¥ã¡ã³ãã§ã¯\emph{åæç¨
+ TFM}ã¨ãã¶ãã¨ã«ããï¼}ï¼ã®çµã§ããï¼
%
-%<*zh>
-\item ä¸ä¸ªæ¥æåä½æ¯ç±ä¸é¨åææçå
ç»ï¼å®é
çåä½ï¼å¦å°å¡æ
- æï¼IPAææï¼ï¼æ¥æåä½æµåº¦ï¼\textbf{JFM}ï¼ååä½å串ã
-%
%<*en>
\item In \pTeX, a line break after Japanese character is ignored (and
@@ -361,40 +317,29 @@ The followings are major changes from \pTeX:
ç´å¾ã®æ¹è¡ã¯ç¡è¦ãããï¼ã¹ãã¼ã¹ãå
¥ããªãï¼ããã«ãªã£ã¦ããï¼ãããï¼
\LuaTeX-ja ã§ã¯ \LuaTeX ã®ä»æ§ã®ããã«ãã®æ©è½ã¯å®å
¨ã«ã¯å®è£
ããã¦ããªãï¼
%
-%<*zh>
-\item \pTeX ä¸ï¼æ¥æå符ä¹åçæè¡å¹¶ä¸å
许ï¼ä¹ä¸äº§çç©ºæ ¼ï¼ï¼å
¶ä»å¨æºç ä¸çæè¡
- æ¯å¯ä»¥éå¤å
许çãä¸è¿ï¼å 为\LuaTeX çç¹æ®å
³ç³»ï¼\LuaTeX-ja并没æè¿ä¸ªåè½ã
-%
%<*en>
\item The insertion process of glues/kerns between two Japanese
characters and between a Japanese character and other characters
- (we refer these glues/kerns as \textbf{JAglue}) is rewritten from
+ (we refer glues/kerns of both kinds as \textbf{JAglue}) is rewritten from
scratch.
%
%<*ja>
-\item 2ã¤ã®åææåã®éï¼åææåã¨æ¬§ææåã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³
- ï¼\textbf{JAglue}ã¨å¼ã¶ï¼ã®æ¿å
¥å¦çã0ããæ¸ãç´ããã¦ããï¼
+\item 2ã¤ã®åææåã®éãï¼åææåã¨æ¬§ææåã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³
+ ï¼ä¸¡è
ããããã¦\textbf{JAglue}ã¨å¼ã¶ï¼ã®æ¿å
¥å¦çã0ããæ¸ãç´ããã¦ããï¼
%
-%<*zh>
-\item æå¨æ¥æå符åå
¶ä»å符è¨ä¹é´çè¶/åºæ ¼ï¼æ们å°æ¤ç§°ä¸º\textbf{JAglue}ï¼æ¯éæ°å®ç°çã
-%
\begin{itemize}
%<*en>
-\item As \LuaTeX's internal character handling is `node-based'
+\item As \LuaTeX's internal ligature handling is ``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 ``node-based''.
%
%<*ja>
-\item \LuaTeX ã®å
é¨ã§ã®æåã®æ±ããããã¼ããã¼ã¹ãã«ãªã£ã¦ããããã«ï¼ä¾ãã°ï¼
- \verb+of{}fice+ ã§ååã¯æå¶ãããªãï¼ï¼\textbf{JAglue}ã®æ¿å
¥å¦çã
- ããã¼ããã¼ã¹ãã§ããï¼
+\item \LuaTeX ã®å
é¨ã§ã®ååã®æ±ãã¯ããã¼ãããåä½ã¨ãã¦è¡ãããããã«ãªã£ã¦ããï¼ä¾ãã°ï¼
+ \verb+of{}fice+ ã§ååã¯æå¶ãããªãï¼ï¼ããã«åããï¼\textbf{JAglue}ã®æ¿å
¥å¦çã
+ ãã¼ãåä½ã§å®è¡ãããï¼
%
-%<*zh>
-\item å¨\LuaTeX ä¸ï¼å
é¨çå符å¤çæ¯âåºäºnodeçâï¼ä¾å¦ï¼\verb!of{}fice!ä¸ä¼é¿å
ååï¼ï¼
- \textbf{JAglue}çæå
¥å¤çï¼ç°å¨ä¹æ¯âåºäºnodeçâã
-%
%<*en>
\item Furthermore, nodes between two characters which have no effects in
@@ -405,10 +350,6 @@ The followings are major changes from \pTeX:
\item ããã«ï¼2ã¤ã®æåã®éã«ããè¡æ«ã§ã¯å¹æãæããªããã¼ãï¼ä¾ãã° \verb+\special+ ãã¼ãï¼ãï¼
ã¤ã¿ãªãã¯è£æ£ã«ä¼´ãæ¿å
¥ãããã«ã¼ã³ã¯æ¿å
¥å¦çä¸ã§ã¯ç¡è¦ãããï¼
%
-%<*zh>
-\item æ¤å¤ï¼ä¸¤ä¸ªå符ä¹é´çnodeå¨æè¡æ¶ä¸èµ·ä½ç¨çï¼ä¾å¦ï¼\verb!\special!nodeï¼ï¼è¿æ
- æ大å©ä½æ ¡æ£å¸¦æ¥çåºæ ¼å¨æå
¥å¤çä¸ä¹æ¯è¢«å¿½ç¥çã
-%
%<*en>
\item \emph{Caution: due to above two points, many methods which did for the
@@ -416,41 +357,31 @@ The followings are major changes from \pTeX:
effective anymore.} In concrete terms, the following two methods are not effective anymore:
%
%<*ja>
-\item \textbf{注æï¼ä¸ã®2ã¤ã®å¤æ´ã«ããï¼å¾æ¥\textbf{JAglue}ã®æ¿å
¥å¦çãåæããã®ã«
+\item \emph{注æï¼ä¸ã®2ã¤ã®å¤æ´ã«ããï¼å¾æ¥\textbf{JAglue}ã®æ¿å
¥å¦çãåæããã®ã«
使ããã¦ããããã¤ãã®æ¹æ³ã¯ç¨ãããã¨ãã§ããªãï¼å
·ä½çã«ã¯ï¼æ¬¡ã®æ¹æ³ã¯ãã¯ãç¡å¹ã§ããï¼}
%
-%<*zh>
-\item \textbf{è¦åï¼é´äºä»¥ä¸ä¸¤ç¹ï¼å¨\pTeX ä¸åå²\textbf{JAglue}å¤ççå¤ç§æ¹æ³ä¸åçæã}
- æç¡®å°è¯´ï¼ä¸å两ç§æ¹æ³ä¸åçæï¼
-%
\begin{verbatim}
-ããã¡ã{}ã£ã¨ããã¡ã\/ã£ã¨
+ã¡ã{}ã£ã¨ ã¡ã\/ã£ã¨
\end{verbatim}
%<*en>
- If you want to do so, please put an empty hbox between it instead:
+ If you want to do so, please put an empty horizontal box (hbox) between it instead:
%
%<*ja>
- ããåããã¨ããããããã°ï¼ç©ºã®æ°´å¹³ããã¯ã¹ãéã«æãã°ããï¼
+ ããåããã¨ããããããã°ï¼ç©ºã®æ°´å¹³ããã¯ã¹(hbox)ãéã«æãã°ããï¼
%
-%<*zh>
- å¦ææ³å¾å°æ¤ç§ç»æï¼è¯·ä½¿ç¨ç©ºçåæ¿ä»£ï¼
-%
\begin{verbatim}
-ããã¡ã\hbox{}ã£ã¨
+ã¡ã\hbox{}ã£ã¨
\end{verbatim}
%<*en>
-\item In the process, two Japanese fonts which only differ in their `real'
- fonts are identified.
+\item In the process, two Japanese fonts which only differ in their ``real''
+ fonts are identified.
%
%<*ja>
-\item å¦çä¸ã§ã¯ï¼2ã¤ã®åæãã©ã³ãã¯ï¼ãå®éã®ããã©ã³ãã®ã¿ãç°ãªãå ´åã«åä¸è¦
+\item å¦çä¸ã§ã¯ï¼2ã¤ã®åæãã©ã³ãã¯ï¼å®ãã©ã³ããç°ãªãã ãã®å ´åã«ã¯åä¸è¦
ãããï¼
%
-%<*zh>
-\item å¤çè¿ç¨ä¸ï¼ä¸¤ä¸ªå¨âçå®âåä½ä¸å
·åºå«çæ¥æåä½å¯ä»¥è¢«è¯å«åºæ¥ã
-%
\end{itemize}
%<*ja>
@@ -466,10 +397,6 @@ The followings are major changes from \pTeX:
%<*ja>
\item ç¾æç¹ã§ã¯ï¼ç¸¦æ¸ãã¯\LuaTeX-jaã§ã¯ãµãã¼ãããã¦ããªãï¼
%
-%<*zh>
-\item å½ä¸ï¼\LuaTeX-ja并ä¸æ¯æç´è¡æçã
-%
-
\end{itemize}
%<*en>
@@ -478,14 +405,9 @@ For detailed information, see Part~\ref{part-imp}.
%<*ja>
詳細ã«ã¤ãã¦ã¯ç¬¬\ref{part-imp}é¨ãåç
§ï¼
%
-%<*zh>
-详ç»çæè¿°ï¼è¯·åè§ç¬¬\ref{part-imp}ç¼ã
-%
%\subsection{Notations}
%\subsection{ç¨èªã¨è¨æ³}
-%\subsection{ä¸äºçº¦å®}
-
%<*en>
In this document, the following terms and notations are used:
@@ -493,71 +415,48 @@ In this document, the following terms and notations are used:
%<*ja>
æ¬ããã¥ã¡ã³ãã§ã¯ï¼ä»¥ä¸ã®ç¨èªã¨è¨æ³ãç¨ããï¼
%
-%<*zh>
-å¨æ¬ææ¡£ä¸ï¼æä¸é¢ä¸äºçº¦å®ï¼
-%
-
\begin{itemize}
%<*en>
-\item Characters are divided into two types:
+\item Characters are classified into following two types.
+ Note that the classification can be customized by a user
+ (see Subsection~\ref{ssec-setrange}).
%
%<*ja>
-\item æåã¯2種é¡ã«åããããï¼
+\item æåã¯æ¬¡ã®2種é¡ã«åããããï¼ãã®é¡å¥ã¯ã¦ã¼ã¶ãå¾ããå¤æ´å¯è½ã§ãã
+ ï¼\ref{ssec-setrange}ç¯ãåç
§ï¼ï¼
%
-%<*zh>
-\item å符被å为两ç§ç±»åï¼
-%
\begin{itemize}
%<*en>
-\item \textbf{JAchar}: standing for Japanese characters such as
- Hiragana, Katakana, Kanji and other punctuation marks for
- Japanese.
+\item \textbf{JAchar}: standing for characters which used in Japanese typesetting,
+ such as Hiragana,~Katakana, Kanji, and~other Japanese punctuation marks.
%
%<*ja>
-\item \textbf{JAchar}: ã²ãããªï¼ã«ã¿ã«ãï¼æ¼¢åï¼åæç¨ã®ç´ç©ã¨ãã£ãåææåã®
- ãã¨ãæãï¼
+\item \textbf{JAchar}: ã²ãããªï¼ã«ã¿ã«ãï¼æ¼¢åï¼åæç¨ã®ç´ç©ã¨ãã£ã
+ æ¥æ¬èªçµçã«ä½¿ãããæåã®ãã¨ãæãï¼
%
-%<*zh>
-\item \textbf{JAchar}ï¼è¡¨ç¤ºæ¥æå符ï¼å¦å¹³ååï¼çååï¼æ±åï¼æ¥ææ ç¹ã
-%
-%<*en>
-\item \textbf{ALchar}: standing for all other characters like alphabets.
-%
-%<*ja>
-\item \textbf{ALchar}: ã¢ã«ãã¡ããããå§ãã¨ããï¼ãã®ä»å
¨ã¦ã®æåãæãï¼
-%
-%<*zh>
-\item \textbf{ALchar}ï¼ä»£è¡¨å
¶ä»åæ¯å符ã
-%
+%\item \textbf{ALchar}: standing for all other characters like latin alphabets.
+%\item \textbf{ALchar}: ã©ãã³ã¢ã«ãã¡ããããå§ãã¨ããï¼ãã®ä»å
¨ã¦ã®æåãæãï¼
\end{itemize}
%<*en>
-We say `alphabetic fonts' for fonts used in \textbf{ALchar}, and `Japanese fonts' for fonts used in \textbf{JAchar}.
+We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar},
+and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%
%<*ja>
-ããã¦ï¼\textbf{ALchar}ã®åºåã«ç¨ãããããã©ã³ããã欧æãã©ã³ããã¨å¼ã³ï¼
-\textbf{JAchar}ã®åºåã«ç¨ãããããã©ã³ãããåæãã©ã³ããã¨å¼ã¶ï¼
+ããã¦ï¼\textbf{ALchar}ã®åºåã«ç¨ãããããã©ã³ãã\emph{欧æãã©ã³ã}ã¨å¼ã³ï¼
+\textbf{JAchar}ã®åºåã«ç¨ãããããã©ã³ãã\emph{åæãã©ã³ã}ã¨å¼ã¶ï¼
%
-%<*zh>
-æ们å°ç¨äº\textbf{ALchar}çåä½ç§°ä¸ºâåæ¯åä½âï¼ç¨äº\textbf{JAchar}çåä½ç§°ä¸ºâæ¥æåä½âã
-%
-
%<*en>
-\item A word in a sans-serif font (like \Param{prebreakpenalty})
+\item A word in a sans-serif font (like \Param{\hyperlink{fld:prebp}{prebreakpenalty}})
means an internal parameter for Japanese typesetting, and it
is used as a key in \verb+\ltjsetparameter+ command.
%
%<*ja>
-\item ãµã³ã»ãªãä½ã§æ¸ãããèªï¼ä¾ï¼\Param{prebreakpenalty}ï¼ã¯æ¥æ¬èªçµçç¨ã®
+\item ãµã³ã»ãªãä½ã§æ¸ãããèªï¼ä¾ï¼\Param{\hyperlink{fld:prebp}{prebreakpenalty}}ï¼ã¯æ¥æ¬èªçµçç¨ã®
ãã©ã¡ã¼ã¿ã表ãï¼ããã㯠\verb+\ltjsetparameter+ ã³ãã³ãã®ãã¼ã¨ãã¦
ç¨ããããï¼
%
-%<*zh>
-\item ç¨æ 衬线åä½è¡¨ç¤ºçè¯ï¼å¦ï¼\Param{prebreakpenalty}ï¼è¡¨ç¤º
- æ¥ææçä¸çå
é¨ä¾¿å©iangï¼å¹¶ç¨å\verb!\ltjsetparameter!å½ä»¤ä¸ä¸ªé®ã
-%
-
%<*en>
\item A word in typewriter font with underline (like \Pkg{fontspec})
means a package or a class of \LaTeX.
@@ -566,48 +465,20 @@ We say `alphabetic fonts' for fonts used in \textbf{ALchar}, and `Japanese fonts
\item ä¸ç·ä»ãã¿ã¤ãã©ã¤ã¿ä½ã®èªï¼ä¾ï¼\Pkg{fontspec}ï¼ã¯\LaTeX ã®
ããã±ã¼ã¸ãã¯ã©ã¹ã表ãï¼
%
-%<*zh>
-\item ç¨ä¸å线表示çè¯ï¼å¦ï¼\Pkg{fontspec}ï¼è¡¨ç¤º\LaTeX çå®å
æè
æ档类ã
-%
-
-%<*en>
-\item The word `primitive' is used not only for primitives in \LuaTeX,
- but also for control sequences that defined in the core module of
- \LuaTeX-ja.
-%
-%<*ja>
-\item ãããªããã£ããã¨ããèªãï¼\LuaTeX ã®ããªããã£ãã ãã§ã¯ãªã \LuaTeX-ja
- ã®ã³ã¢ã¢ã¸ã¥ã¼ã«ã§å®ç¾©ãããã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ã«å¯¾ãã¦ãç¨ããï¼
-%
-%<*zh>
-\item âprimitiveâï¼è¯¥è¯å¨æ¬ææ¡£ä¸ä¸ä»
表示\LuaTeX çåºæ¬æ§å¶å½ä»¤ï¼ä¹å
æ¬\LuaTeX-jaçç¸å
³çåºæ¬æ§å¶å½ä»¤
-%
-
%<*en>
-\item In this document, natural numbers start from~0.
+\item In this document, natural numbers start from~zero.
+ $\omega$ denotes the set of all natural numbers.
%
%<*ja>
-\item æ¬ããã¥ã¡ã³ãã§ã¯ï¼èªç¶æ°ã¯0ããå§ã¾ãï¼
+\item æ¬ããã¥ã¡ã³ãã§ã¯ï¼èªç¶æ°ã¯0ããå§ã¾ãï¼èªç¶æ°å
¨ä½ã®éåã¯$\omega$ã¨è¡¨è¨ããï¼
%
-%<*zh>
-\item ææçèªç¶æ°ä»0å¼å§
-%
\end{itemize}
-%\subsection{About the project}
+%\subsection{About the Project}
%\subsection{ããã¸ã§ã¯ãã«ã¤ãã¦}
-%\subsection{å
³äºæ¬é¡¹ç®}
-
-%<*en>
-\paragraph{Project Wiki} Project Wiki is under construction.
-%
-%<*ja>
-\paragraph{ããã¸ã§ã¯ãWiki} ããã¸ã§ã¯ãWikiã¯æ§ç¯ä¸ã§ããï¼
-%
-%<*zh>
-\paragraph{项ç®wiki} æ¬é¡¹ç®wikiæ£å¨ç¼åä¸ã
-%
+%\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)
@@ -622,26 +493,12 @@ We say `alphabetic fonts' for fonts used in \textbf{ALchar}, and `Japanese fonts
\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28zh%29}ï¼ä¸å½èªï¼
\end{itemize}
%
-%<*zh>
-\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}ï¼æ±è¯ï¼
-\end{itemize}
-%
-%<*en>
-This project is hosted by SourceForge.JP.
-%
-%<*ja>
-æ¬ããã¸ã§ã¯ãã¯SourceForge.JPã®ãµã¼ãã¹ãç¨ãã¦éå¶ããã¦ããï¼
-%
-%<*zh>
-æ¬é¡¹ç®ç±SourceForge.JPæ管ã
-%
+
+%This project is hosted by SourceForge.JP.
+%æ¬ããã¸ã§ã¯ãã¯SourceForge.JPã®ãµã¼ãã¹ãç¨ãã¦éå¶ããã¦ããï¼
%\paragraph{Members}\
%\paragraph{éçºã¡ã³ãã¼}\
-%\paragraph{å¼åè
}\
%<*en>
\begin{multienumerate}
@@ -659,82 +516,70 @@ This project is hosted by SourceForge.JP.
\mitemxxx{æ¬ç° ç¥äº®}{é½è¤ ä¿®ä¸é}{馬 èµ·å}
\end{multienumerate}
%
-%<*zh>
-\begin{multienumerate}
-\def\labelenumi{$\bullet$}
-\mitemxxx{åå· å¼å
¸}{åç° ä¸è´µ}{å
«ç» å´ä¹}
-\mitemxxx{é»æ¨ è£ä»}{é¿é¨ 纪è¡}{å±±æ¬ å®å®}
-\mitemxxx{æ¬ç° ç¥äº®}{æè¤ ä¿®ä¸é}{马 èµ·å}
-\end{multienumerate}
-%
% \paragraph{Acknowledgments} -- æ¿å
¥ãããªããã
\clearpage
%\section{Getting Started}
%\section{使ãæ¹}
-%\section{使ç¨}
%\subsection{Installation}
%\subsection{ã¤ã³ã¹ãã¼ã«}
-%\subsection{å®è£
}
-%<*en>
-To install the \LuaTeX-ja\ package, you will need:
-%
-%<*ja>
-\LuaTeX-jaããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ã«ã¯ï¼æ¬¡ã®ãã®ãå¿
è¦ã§ããï¼
-%
-%<*zh>
-å®è£
\LuaTeX-jaä¹åï¼éè¦å¦ä¸ï¼
-%
+%To install the \LuaTeX-ja\ package, you will need:
+%\LuaTeX-jaããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ã«ã¯ï¼æ¬¡ã®ãã®ãå¿
è¦ã§ããï¼
\begin{itemize}
-%<*en>
-\item \LuaTeX\ (version 0.65.0-beta or later) and its supporting packages.\\
-If you are using \TeX~Live~2011 or current W32\TeX, you don't have to worry.
-%
-%<*ja>
-\item \LuaTeXï¼ãã¼ã¸ã§ã³ 0.65.0-beta 以éï¼ã¨ãã®æ¯æ´ããã±ã¼ã¸ï¼
- \TeX~Live~2011ãW32\TeX ã®ææ°çãªãã°åé¡ãªãï¼
-%
-%<*zh>
-\item \LuaTeXï¼çæ¬å·ä¸ºå¤§äº0.65ï¼åç¸å
³æ¯æå®å
ã\\
-å¦æç¨æ·ä½¿ç¨çæ¯\TeX Live2011以åææ°çæ¬çW32\TeXï¼å¯ä¸èèæ¤é¡¹ã
-%
-%<*en>
-\item The source archive of \LuaTeX-ja, of course\texttt{:)}
-%
-%<*ja>
-\item \LuaTeX-jaã®ã½ã¼ã¹ã¢ã¼ã«ã¤ãï¼ãã¡ãã\texttt{:)}ï¼ï¼
-%
-%<*zh>
-\item \LuaTeX-jaçæºç ï¼å½ç¶å½\texttt{:)}ï¼ã
-%
-%<*en>
-\item The \Pkg{xunicode} package, which version is \emph{just v0.981 (2011/09/09)}.\\
-If you have the \Pkg{fontspec} package, this \Pkg{xunicode} package must be exist.
-But be careful about the version; other versions may not work correctly with \LuaTeX-ja.
-%
-%<*ja>
-\item \Pkg{xunicode}ããã±ã¼ã¸(\textbf{2011/09/09,~v0.981})ï¼\\
-\Pkg{fontspec}ããã±ã¼ã¸ãå°å
¥ããã¦ããã°ãã®ããã±ã¼ã¸ãå°å
¥ããã¦ããã¯ãã§ãããï¼
-ãã®v0.981以å¤ã®ãã¼ã¸ã§ã³ã§ã¯\LuaTeX-jaä¸ã§æ£ããåä½ããªãå±éºæ§ãããï¼
-%
-%<*zh>
-\Pkg{xunicode}å®å
ï¼å½åçæ¬å¿
须为\textit{v0.981(2011/09/09)}ã\\
-å¦æä½ ä½¿ç¨\Pkg{fontspec}å®å
ï¼\Pkg{xunicode}å°±å¿
é¡»åå¨ãä½æ¯è¯·æ³¨æ该å
ç
-çæ¬ï¼å
¶ä»çæ¬å¯è½ä¸ä¼æ£å¸¸å·¥ä½ã
-%
+\item \LuaTeX\ beta-0.74.0 (or later)
+\item \Pkg{luaotfload} v2.2 (or later)
+\item \Pkg{luatexbase} v0.6
+\item \Pkg{xunicode} v0.981~(2011/09/09)
+\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
\end{itemize}
%<*en>
-The installation methods are as follows:
+\emph{This version of \LuaTeX-ja no longer supports \TeX~Live~2012 (or older version),
+since \LuaTeX\ binary and \Pkg{luaotfload} is updated in
+\TeX~Live~2013.}
+
+\medskip
+
+Now \LuaTeX-ja is available from the following archive and distributions:
+ \begin{itemize}
+ \item CTAN (in the \texttt{macros/luatex/generic/luatexja} directory)
+ \item MiK\TeX\ (in \texttt{luatexja.tar.lzma}); see the next subsection
+ \item \TeX\ Live (in \texttt{texmf-dist/tex/luatex/luatexja})
+ \item W32\TeX\ (in \texttt{luatexja.tar.xz})
+ \end{itemize}
+
+If you are using \TeX~Live~2013, you can install \LuaTeX-ja
+from \TeX~Live manager (\texttt{tlmgr}):
+\begin{verbatim}
+$ tlmgr install luatexja
+\end{verbatim}
%
%<*ja>
-ã¤ã³ã¹ãã¼ã«æ¹æ³ã¯ä»¥ä¸ã®ããã«ãªãï¼
+\emph{æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2012以åã§ã¯åä½ããªãï¼}
+ããã¯ï¼\LuaTeX ã¨\Pkg{luaotfload}ã\TeX~Live~2013ã«ããã¦æ´æ°ããããã¨ã«ããï¼
+
+\medskip
+
+ç¾å¨ï¼\LuaTeX-jaã¯ä»¥ä¸ã®ã¢ã¼ã«ã¤ãï¼ããã³ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã«åé²ããã¦ããï¼
+ \begin{itemize}
+ \item CTAN (\texttt{macros/luatex/generic/luatexja})
+ \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
+ \item \TeX\ Live (\texttt{texmf-dist/tex/luatex/luatexja})
+ \item W32\TeX\ (\texttt{luatexja.tar.xz})
+ \end{itemize}
+
+ä¾ãã°\TeX~Live~2013ãå©ç¨ãã¦ãããªãï¼\LuaTeX-jaã¯\TeX~Live manager (\texttt{tlmgr})ã
+使ã£ã¦ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ããï¼
+\begin{verbatim}
+$ tlmgr install luatexja
+\end{verbatim}
%
-%<*zh>
-å®è£
æ¹æ³å¦ä¸ï¼
-%
+
+%\paragraph{Manual installation}
+%\paragraph{æåã¤ã³ã¹ãã¼ã«æ¹æ³}
+
\begin{enumerate}
%<*en>
\item Download the source archive, by one of the following method.
@@ -749,15 +594,7 @@ $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
\begin{flushleft}
\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
\end{flushleft}
-\item Now \LuaTeX-ja is available from the following archive and distributions:
- \begin{itemize}
- \item CTAN (in the \texttt{macros/luatex/generic/luatexja} directory)
- \item MiK\TeX\ (in \texttt{luatexja.tar.lzma})
- \item \TeX\ Live (in \texttt{texmf-dist/tex/luatex/luatexja})
- \item W32\TeX\ (in \texttt{luatexja.tar.xz})
- \end{itemize}
- These are based on the \texttt{master} branch.
-\end{itemize}
+\end{itemize}
Note that the \texttt{master} branch, and hence the archive in CTAN, are not updated frequently;
the forefront of development is not the \texttt{master} branch.
@@ -775,45 +612,11 @@ $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
\begin{flushleft}
\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
\end{flushleft}
-\item ä»ãï¼\LuaTeX-jaã¯ä»¥ä¸ã®ã¢ã¼ã«ã¤ãï¼ããã³ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã«ãåé²ããã¦ããï¼
- \begin{itemize}
- \item CTAN (\texttt{macros/luatex/generic/luatexja})
- \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
- \item \TeX\ Live (\texttt{texmf-dist/tex/luatex/luatexja})
- \item W32\TeX\ (\texttt{luatexja.tar.xz})
- \end{itemize}
- ãããã¯\texttt{master}ãã©ã³ãã®å
容ãå
ã«ãã¦ããï¼
\end{itemize}
-
\texttt{master}ãã©ã³ãï¼å¾ã£ã¦ï¼CTANå
ã®ã¢ã¼ã«ã¤ããï¼ã¯ãã¾ã«ããæ´æ°ãããªããã¨ã«æ³¨æï¼
主ãªéçºã¯\texttt{master}ã®å¤ã§è¡ããï¼æ¯è¼çã¾ã¨ã¾ã£ã¦ãããããã\texttt{master}ã«
åæ ããããã¨ã«ãã¦ããï¼
%
-%<*zh>
-\item æç
§å¦ä¸æ¹æ³ä¸è½½æºç å½æ¡£ãç°å¨ï¼\LuaTeX-ja没æ稳å®çæ¬ã
-
-\begin{itemize}
-\item å¤å¶Gitä»åºï¼
-\begin{verbatim}
-$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
-\end{verbatim}
-\item ä¸è½½\texttt{master} HEADçæ¬ç\texttt{tar.gz}å½æ¡£ï¼
-\begin{flushleft}
-\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
-\end{flushleft}
-\item ç°å¨\LuaTeX-jaå¯ä»¥å¨ä¸åä»åºååè¡çä¸è·åï¼:
- \begin{itemize}
- \item CTAN ( \texttt{macros/luatex/generic/luatexja}ï¼
- \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
- \item \TeX\ Live ï¼\texttt{texmf-dist/tex/luatex/luatexja}ï¼
- \item W32\TeX\ ï¼\texttt{luatexja.tar.xz}ï¼
- \end{itemize}
- è¿äºçæ¬é½åºäº\texttt{master}åæ¯ã
-\end{itemize}
-
-注æ\texttt{master}åæ¯åCTANä»åºä¸ççæ¬ï¼å级并ä¸é¢ç¹ã
-å段å¼å并æªå¨\texttt{master}åæ¯ã
-%
%<*en>
\item Extract the archive. You will see \texttt{src/} and several other sub-directories.
@@ -824,10 +627,34 @@ But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
\texttt{src/}ãã¯ããã¨ããããã¤ãã®ãã£ã¬ã¯ããªãã§ãããï¼
åä½ã«ã¯\texttt{src/}以ä¸ã®å
容ã ãã§ååï¼
%
-%<*zh>
-\item 解åå½æ¡£ãä½ ä¼çå°\texttt{src/}åå
¶ä»ç¸å
³æ件夹ã
-ä½æ¯åªæ\texttt{src/}æ件夹ä¸çç¸å
³æ件æ¯\LuaTeX-jaè¿è¡æå¿
é¡»çã
-%
+
+%<*en>
+\item If you downloaded this package from CTAN, you have to run following commands
+ to generate classes
+ and \texttt{ltj-kinsoku.lua} (the file which stores default ``\textit{kinsoku}'' parameters):
+%
+%<*ja>
+\item ããCTANããæ¬ããã±ã¼ã¸ãåå¾ããã®ã§ããã°ï¼æ¥æ¬èªç¨ã¯ã©ã¹ãã¡ã¤ã«ã
+æ¨æºã®ç¦åå¦çç¨ãã©ã¡ã¼ã¿ã
+æ ¼ç´ãã \texttt{ltj-kinsoku.lua} ãçæããããã«ï¼
+以ä¸ãå®è¡ããå¿
è¦ãããï¼
+%
+\begin{verbatim}
+$ cd src
+$ lualatex ltjclasses.ins
+$ lualatex ltjsclasses.ins
+$ lualatex ltjltxdoc.ins
+$ luatex ltj-kinsoku_make.tex
+\end{verbatim}
+%<*en>
+Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not needed in regular use.
+%
+%<*ja>
+ããã§ä½¿ç¨ãã \texttt{*.\{dtx,ins\}} 㨠\texttt{ltj-kinsoku\_make.tex} ã¯
+é常ã®ä½¿ç¨ã«ããã£ã¦ã¯å¿
è¦ãªãï¼
+%
+
+
%<*en>
\item Copy all the contents of \texttt{src/} into one of your \texttt{TEXMF} tree.
@@ -836,32 +663,21 @@ But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
instead copying is also good.
%
%<*ja>
-\item \texttt{src/}ã®ä¸èº«ãèªåã®\texttt{TEXMF}ããªã¼ã«ã³ãã¼ããï¼
+\item \texttt{src}ã®ä¸èº«ãèªåã®\texttt{TEXMF}ããªã¼ã«ã³ãã¼ããï¼
å ´æã®ä¾ã¨ãã¦ã¯ï¼ä¾ãã°\texttt{TEXMF/tex/luatex/luatexja/}ãããï¼
ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ã§ããç°å¢ã§ï¼ãã¤ãªãã¸ããªãç´æ¥åå¾ããã®ã§ããã°ï¼
ï¼æ´æ°ã容æã«ããããã«ï¼ã³ãã¼ã§ã¯ãªããªã³ã¯ãè²¼ããã¨ãå§ããï¼
%
-%<*zh>
-\item å¤å¶\texttt{src/}æ件夹ä¸å
容è³\texttt{TEXMF}æ°ä¸ã
-\texttt{TEXMF/tex/luatex/luatexja/}为ä¾ã
-å¦æä½ å¤å¶äºæ´ä¸ªGitä»åºï¼ä¸º\texttt{src/}å¶ä½è½¯é¾æ¥æ¥æ¿ä»£å¤å¶ä¹æ¯å¯ä»¥çã
-%
-
%<*en>
\item If \texttt{mktexlsr} is needed to update the file name database, make it so.
%
%<*ja>
\item å¿
è¦ãããã°ï¼\texttt{mktexlsr}ãå®è¡ããï¼
%
-%<*zh>
-\item å¦æå¿
è¦ï¼æ§è¡\texttt{mktexlsr}ã
-%
\end{enumerate}
%\subsection{Cautions}
%\subsection{注æç¹}
-%\subsection{注æ}
-
\begin{itemize}
%<*en>
@@ -872,37 +688,66 @@ But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
\item å稿ã®ã½ã¼ã¹ãã¡ã¤ã«ã®æåã³ã¼ãã¯UTF-8åºå®ã§ããï¼
å¾æ¥æ¥æ¬èªã®æåã³ã¼ãã¨ãã¦ç¨ãããã¦ããEUC-JPãShift-JISã¯ä½¿ç¨ã§ããªãï¼
%
-%<*zh>
-\item æºææ¡£ç¼ç å¿
é¡»æ¯UTF-8ãå
¶ä»çç¼ç ï¼å¦EUC-JPåShift-JISé½ä¸è¢«æ¯æã
-%
-\end{itemize}
-
-%\subsection{Using in plain \TeX}
-%\subsection{plain \TeX ã§ä½¿ã}
-%\subsection{plain \TeX ä¸ä½¿ç¨}
-\label{ssec-plain}
-
%<*en>
-To use \LuaTeX-ja in plain \TeX, simply put the following at the beginning of the document:
+\item \LuaTeX-ja is very slower than \pTeX.
+Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
+about 30\% faster than \LuaTeX, but not always.
%
%<*ja>
-\LuaTeX-jaã plain \TeX ã§ä½¿ãããã«ã¯ï¼åã«æ¬¡ã®è¡ãã½ã¼ã¹ãã¡ã¤ã«ã®åé ã«è¿½å ããã°ããï¼
+\item \LuaTeX-jaã¯åä½ã\pTeX ã«æ¯ã¹ã¦é常ã«é
ãï¼
+ã³ã¼ãã調æ´ãã¦å¾ã
ã«éããã¦ãããï¼ã¾ã æºè¶³ã§ããé度ã§ã¯ãªãï¼
+LuaJIT\TeX ãç¨ããã¨\LuaTeX ã®ã ããã1.3åã®é度ã§åãããã§ãããï¼
+IPA mjææãªã©ã®å¤§ãããã©ã³ããç¨ããå ´åã«ã¯\LuaTeX ãããé
ããªããã¨ãããï¼
+%
+\item%
+%<*en>
+\textbf{Note for MiK\TeX\ users}\quad
+\LuaTeX-ja requires that several CMap files%
+\footnote{\texttt{UniJIS2004-UTF32-H} and \texttt{Adobe-Japan1-UCS2}.}
+must be found from \LuaTeX.
+Strictly speaking, those CMaps are needed
+only in the first run of \LuaTeX-ja after installing or updating.
+But it seems that MiK\TeX\ does not satisfy this condition,
+so you will encounter an error like the following:
+%
+%<*ja>
+\LuaTeX-jaãåä½ããããã«ã¯ï¼\emph{å°å
¥ã»æ´æ°å¾ã®ååèµ·åæã«}
+\texttt{UniJIS2004-UTF32-H}, \texttt{Adobe-Japan1-UCS2}ã¨ãã2ã¤ã®CMapã
+\LuaTeX ã«ãã£ã¦è¦ã¤ãããããã¨ãå¿
è¦ã§ããï¼
+ãããMiK\TeX ã§ã¯ãã®ããã«ãªã£ã¦ããªãã®ã§ï¼æ¬¡ã®ã¨ã©ã¼ãçºçããã ããï¼
%
-%<*zh>
-å¨plain \TeX ä¸ä½¿ç¨\LuaTeX-jaç¸å½ç®æï¼å¨ææ¡£å¼å¤´æ¾ç½®ä¸è¡ï¼
-%
\begin{verbatim}
-\input luatexja.sty
+! LuaTeX error ...iles (x86)/MiKTeX 2.9/tex/luatex/luatexja/ltj-rmlgbm.lua
+bad argument #1 to 'open' (string expected, got nil)
\end{verbatim}
+
%<*en>
-This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese documents:
+If so, please execute a batch file which is written on
+\href{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{ the Project Wiki (English)}.
+This batch file creates a temporaly directory, copy CMaps in it,
+run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
%
%<*ja>
-ããã§ï¼\texttt{ptex.tex}ã®ããã«ï¼æ¥æ¬èªçµçã®ããã®æä½éã®è¨å®ããªãããï¼
+ãã®ãããªå ´åã«ã¯ï¼
+\href{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{%
+ ããã¸ã§ã¯ãWikiè±èªçããããã¼ã¸}ä¸ã«æ¸ããã¦ããããããã¡ã¤ã«ã
+å®è¡ãã¦æ¬²ããï¼ãã®ããããã¡ã¤ã«ã¯ï¼ä½æ¥ç¨ãã£ã¬ã¯ããªã«CMapéã
+ã³ãã¼ãï¼ãã®ä¸ã§\LuaTeX-ja ã®ååèµ·åãè¡ãï¼ä½æ¥ç¨ãã£ã¬ã¯ããªãæ¶ãä½æ¥ããã¦ããï¼
%
-%<*zh>
-è¿éååºäºåå°çæ¥æææ¡£æç设å®ï¼å¦\texttt{ptex.tex}ï¼ï¼
-%
+
+\end{itemize}
+
+%\subsection{Using in plain \TeX}
+%\subsection{plain \TeX ã§ä½¿ã}
+\label{ssec-plain}
+
+%To use \LuaTeX-ja in plain \TeX, simply put the following at the beginning of the document:
+%\LuaTeX-jaã plain \TeX ã§ä½¿ãããã«ã¯ï¼åã«æ¬¡ã®è¡ãã½ã¼ã¹ãã¡ã¤ã«ã®åé ã«è¿½å ããã°ããï¼
+\begin{verbatim}
+\input luatexja.sty
+\end{verbatim}
+%This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese documents:
+%ããã§ï¼\texttt{ptex.tex}ã®ããã«ï¼æ¥æ¬èªçµçã®ããã®æä½éã®è¨å®ããªãããï¼
\begin{itemize}
%<*en>
@@ -922,45 +767,28 @@ This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese doc
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
-\textbf{åä½}&\textbf{ãã©ã³ãå}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
+\emph{åä½}&\emph{ãã©ã³ãå}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
ææä½&Ryumin-Light &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
ã´ã·ãã¯ä½&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
\bottomrule
\end{tabular}
\end{center}
%
-%<*zh>
-\item æåå è½½äºå
ç§æ¥æåä½ï¼å¦ä¸ï¼
-\begin{center}\small
-\begin{tabular}{ccccc}
-\toprule
-\textbf{åä½}&\textbf{åä½å}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-ææä½&Ryumin-Light &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
-å¥ç¹ä½&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
-\bottomrule
-\end{tabular}
-\end{center}
-%
\begin{itemize}
%<*en>
-\item It is widely accepted that the font `Ryumin-Light' and
- `GothicBBB-Medium' aren't embedded into PDF files, and PDF reader
+\item It is widely accepted that fonts ``Ryumin-Light'' and
+ ``GothicBBB-Medium'' aren't embedded into PDF files, and a PDF reader
substitute them by some external Japanese fonts (\textit{e.g.},
- Kozuka Mincho is used for Ryumin-Light in Adobe Reader). We adopt this custom to
- the default setting.
+ Ryumin-Light is substituted with Kozuka Mincho in Adobe Reader).
+ We adopt this custom to the default setting.
%
%<*ja>
-\item `Ryumin-Light'ã¨`GothicBBB-Medium'ã¯PDFãã¡ã¤ã«ã«åãè¾¼ã¾ãã«
+\item ``Ryumin-Light''ã¨``GothicBBB-Medium''ã¯PDFãã¡ã¤ã«ã«åãè¾¼ã¾ãã«
åååç
§ã®ã¿ã§ç¨ãããã¨ãåºãåãå
¥ãããã¦ããï¼ãã®å ´åPDFãªã¼ãã¼ã
é©åãªå¤é¨ãã©ã³ãã§ä»£ç¨ããï¼ä¾ãã°ï¼Adobe Readerã§ã¯Ryumin-Lightã¯
å°å¡ææã§ä»£æ¿ãããï¼ï¼ããã§ï¼ããããå¼ãç¶ãããã©ã«ãã®ãã©ã³ãã¨
ãã¦æ¡ç¨ããï¼
%
-%<*zh>
-\item 广为æ¥åçâRyumin-LightâåâGothicBBB-Mediumâåä½ä¸åµå
¥PDFæ件ï¼
-èPDFé
读å¨åä¼ä½¿ç¨å¤é¨æ¥æåä½æ¿ä»£ï¼ä¾å¦ï¼å¨Adobe Readerä¸ä½¿ç¨
-Kozuka Minchoåä½æ¿ä»£Ryumin-Lightï¼ãæ们使ç¨é»è®¤è®¾å®ã
-%
%<*en>
\item A character in an alphabetic font is generally smaller than a
@@ -974,23 +802,16 @@ Kozuka Minchoåä½æ¿ä»£Ryumin-Lightï¼ãæ们使ç¨é»è®¤è®¾å®ã
å°ãããªãããã«è¨å®ããã¦ããï¼å
·ä½çã«ã¯æå®ã®0.962216åã«ã¹ã±ã¼ã«ãããï¼
ãã®0.962216ã¨ããæ°å¤ãï¼\pTeX ã«ãããã¹ã±ã¼ãªã³ã°ãè¸è¥²ããå¤ã§ããï¼
%
-%<*zh>
-\item ä¸è¬æ
åµä¸ï¼ç¸å大å°æ¥æåä½æ¯è¥¿æåä½è¦å¤§ä¸ä¸ãæ以å®é
çæ¥æåä½å°ºå¯¸éåå°äºè¥¿æå
-ä½ï¼å³ä½¿ç¨ä¸ä¸ªç¼©æ¾çï¼0.962216ã
-%
\end{itemize}
%<*en>
\item The amount of glue that are inserted between a \textbf{JAchar} and
- an \textbf{ALchar} (the parameter \Param{xkanjiskip}) is set to
+ an \textbf{ALchar} (the parameter \Param{\hyperlink{fld:xks}{xkanjiskip}}) is set to
%
%<*ja>
-\item \textbf{JAchar}ã¨\textbf{ALchar}ã®éã«å
¥ãã°ã«ã¼(\Param{xkanjiskip})ã®
+\item \textbf{JAchar}ã¨\textbf{ALchar}ã®éã«å
¥ãã°ã«ã¼(\Param{\hyperlink{fld:xks}{xkanjiskip}})ã®
éã¯æ¬¡ã®ããã«è¨å®ããã¦ããï¼
%
-%<*zh>
-\item å¨\textbf{JAchar}å\textbf{ALchar}ä¹é´æå
¥çè¶ï¼\textsf{xkanjiskip}åæ°ï¼å¤§å°ä¸ºï¼
-%
\[
(0.25\cdot 0.962216\cdot 10\,\mathrm{pt})^{+1\,\text{pt}}_{-1\,\text{pt}}
= 2.40554\,\mathrm{pt}^{+1\,\text{pt}}_{-1\,\text{pt}}.
@@ -999,7 +820,6 @@ Kozuka Minchoåä½æ¿ä»£Ryumin-Lightï¼ãæ们使ç¨é»è®¤è®¾å®ã
%\subsection{Using in \LaTeX}
%\subsection{\LaTeX ã§ä½¿ã}
-%\subsection{\LaTeX ä¸ä½¿ç¨}
\label{ssec-ltx}
\paragraph{\LaTeXe}
@@ -1012,23 +832,17 @@ for Japanese, you only have to load \texttt{luatexja.sty}:
\LaTeXe ãç¨ããå ´åãåºæ¬çã«ã¯åãã§ããï¼æ¥æ¬èªçµçã®ããã®æä½éã®ç°å¢ã
è¨å®ããããã«ã¯ï¼\texttt{luatexja.sty}ãèªã¿è¾¼ãã ãã§ããï¼
%
-%<*zh>
-å¨\LaTeXe ä¸ä½¿ç¨åºæ¬ç¸åã设å®æ¥æçæå°ç¯å¢ï¼ä½ åªéå è½½\texttt{luatexja.sty}ï¼
-%
\begin{verbatim}
\usepackage{luatexja}
\end{verbatim}
%<*en>
-It also does minimal settings (counterparts in \pLaTeX\ are \texttt{
+It also does minimal settings (counterparts in \pLaTeX\ are \texttt{%
plfonts.dtx} and \texttt{pldefs.ltx}):
%
%<*ja>
ããã§\pLaTeX ã®\texttt{plfonts.dtx}ã¨\texttt{pldefs.ltx}ã«ç¸å½ããæä½éã®è¨å®ã
ãªãããï¼
%
-%<*zh>
-è¿äºåäºæå°ç设å®ï¼ä½ç¨ç¸å½äº\pLaTeX ä¸ç\texttt{plfonts.dtx}å\texttt{pldefs.ltx}ï¼ï¼
-%
\begin{itemize}
%<*en>
@@ -1040,67 +854,67 @@ When vertical typesetting is supported by \LuaTeX-ja in the future, \texttt{JT3}
å°æ¥çã«ï¼\LuaTeX-jaã§ç¸¦æ¸ãããµãã¼ããããéã«ã¯ï¼\texttt{JT3}ã縦æ¸ãç¨ã¨ãã¦
ç¨ããäºå®ã§ããï¼
%
-%<*zh>
-\item \texttt{JY3}æ¯æ¥æåä½ç¼ç ï¼å¨æ°´å¹³æ¹åï¼ã\\
-å¨å°æ¥\LuaTeX-jaè¦æ¯æç´è¡æççæ¶åï¼\texttt{JT3}ä¼ç¨äºç´è¡åä½ã
-%
%<*en>
-\item Two font families \texttt{mc} and \texttt{gt} are defined:
+\item Traditionally, Japanese documents use two typeface category: \emph{mincho}~(ææä½) and
+ \emph{gothic}~(\textgt{ã´ã·ãã¯ä½}). \emph{mincho} is used in the main text, while \emph{gothic}
+ is used in the headings or for emphasis.
+\begin{center}\small
+\begin{tabular}{lllc}
+\toprule
+\textbf{classification}&&&\textbf{family name}\\\midrule
+\emph{mincho} (ææä½)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\verb+\mcdefault+\\
+\emph{gothic} (\textgt{ã´ã·ãã¯ä½})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\verb+\gtdefault+\\
+\bottomrule
+\end{tabular}
+\end{center}
+\item
+By default, the following fonts are used for \emph{mincho} and \emph{gothic}:
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
-\textbf{classification}&\textbf{family}&\verb+\mdseries+&\verb+\bfseries+&\textbf{scale}\\\midrule
-\emph{mincho}&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
-\emph{gothic}&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
+\textbf{classification}&\textbf{family name}&\verb+\mdseries+&\verb+\bfseries+&\textbf{scale}\\\midrule
+\emph{mincho} (ææä½)&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
+\emph{gothic} (\textgt{ã´ã·ãã¯ä½})&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
\bottomrule
\end{tabular}
\end{center}
-Remark that the bold series in both family are same as the medium series of \emph{gothic} family.
-This is a convention in \pLaTeX. This is a trace that there were only 2~fonts (these are Ryumin-Light
-and GothicBBB-Medium) in early years of DTP.
+Note that the bold series in both family are same as the medium series of \emph{gothic} family.
+This is a convention in \pLaTeX. This is trace that there were only 2~fonts (these are Ryumin-Light
+and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shape for
+ these \texttt{mc}~and~\texttt{gt}.
%
%<*ja>
-\item 2ã¤ã®ãã©ã³ããã¡ããª\texttt{mc}ã¨\texttt{gt}ãå®ç¾©ããã¦ããï¼
+\item \pLaTeX ã¨åæ§ã«ï¼æ¨æºã§ã¯ãææä½ããã´ã·ãã¯ä½ãã®2種é¡ãç¨ããï¼
+\begin{center}\small
+\begin{tabular}{cllc}
+\toprule
+\emph{åä½}&&&\emph{ãã¡ããªå}\\\midrule
+ææä½&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\verb+\mcdefault+\\
+\textgt{ã´ã·ãã¯ä½}&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\verb+\gtdefault+\\
+\bottomrule
+\end{tabular}
+\end{center}
+\item æ¨æºã§ã¯ï¼æ¬¡ã®ãã©ã³ããã¡ããªãç¨ããããï¼
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
-\textbf{åä½}&\textbf{ãã¡ããª}&\verb+\mdseries+&\verb+\bfseries+&\textbf{ã¹ã±ã¼ã«}\\\midrule
+\emph{åä½}&\emph{ãã¡ããª}&\verb+\mdseries+&\verb+\bfseries+&\emph{ã¹ã±ã¼ã«}\\\midrule
ææä½&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
ã´ã·ãã¯ä½&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
\bottomrule
\end{tabular}
\end{center}
-ã©ã¡ãã®ãã¡ããªã«ããã¦ãï¼ãã®boldã·ãªã¼ãºã¯ã´ã·ãã¯ä½ã®mediumã·ãªã¼ãºã§
-ãããã¨ã«æ³¨æï¼ããã¯åæã®DTPã«ããã¦åæãã©ã³ãã2ã¤ï¼ãããã¡ããã©\
+ã©ã¡ãã®ãã¡ããªã«ããã¦ãï¼ãã®boldã·ãªã¼ãºã§ä½¿ããããã©ã³ãã¯
+ã´ã·ãã¯ä½ã®mediumã·ãªã¼ãºã§ä½¿ããããã©ã³ãã¨åããããã¨ã«æ³¨æï¼
+ããã¯åæã®DTPã«ããã¦åæãã©ã³ãã2ã¤ï¼ãããã¡ããã©\
Ryumin-Light, GothicBBB-Mediumã ã£ãï¼ããå©ç¨ã§ããªãã£ãæã®åæ®ã§ããï¼\pLaTeX{}
ã§ã®æ¨æºè¨å®ã¨ãåãã§ããï¼
%
-%<*zh>
-\item å®ä¹äºä¸¤ä¸ªåä½æï¼\texttt{mc}!å\texttt{gt}ï¼\\
-\begin{center}\small
- \begin{tabular}{ccccc}
- \hline
- \textbf{åä½}&\textbf{åä½æ}&\verb!\mdseries!&\verb!\bfseries!&缩æ¾ç\\
- \hline
- \textit{mincho}&\verb!mc!&Ryumin-Light&GothicBBB-Medium&0.962216\\
- \textit{gothic}&\verb!gt!&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
- \hline
- \end{tabular}
-\end{center}
-注æçæ¯ä¸¤ä¸ªåä½æçç²ä½ç³»åå为ä¸çç³»åç\textbf{å¥ç¹}æãè¿\pLaTeX ä¸çè§å®ãå¨è¿äºå¹´
-ä¸çDTPå®å¡ä¸æä»
使ç¨2个åä½çè¶åï¼æ¯ä¸ºRyumin-LightåGothicBBB-Mediumï¼ã
-%
-%<*en>
-\item Japanese characters in math mode are typeset by the font family \texttt{mc}.
-%
-%<*ja>
-\item æ°å¼ã¢ã¼ãä¸ã®åææåã¯\texttt{mc}ãã¡ããªã§åºåãããï¼
-%
-%<*zh>
-\item å¨æ°å¦æ¨¡å¼ä¸ï¼æ¥æå符使ç¨\verb!mc!åä½ææ¥æå°ã
-%
+
+%\item Japanese characters in math mode are typeset by the font family \texttt{mc}.
+%\item æ°å¼ã¢ã¼ãä¸ã®åææåã¯ææä½(\texttt{mc})ã§åºåãããï¼
\end{itemize}
%<*en>
@@ -1116,35 +930,25 @@ Okumura), namely, \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
æ¥æ¬èªææ¸ãçµçããããã«ã¯ï¼\texttt{article.cls}, \texttt{book.cls}ã¨ãã£ã
欧æç¨ã®ã¯ã©ã¹ãã¡ã¤ã«ã§ã¯ãªãï¼åæç¨ã®ã¯ã©ã¹ãã¡ã¤ã«ãç¨ããæ¹ãããï¼
ç¾æç¹ã§ã¯ï¼\Pkg{jclasses}ï¼\pLaTeX ã®æ¨æºã¯ã©ã¹ï¼ã¨\Pkg{jsclasses}
-ï¼å¥¥ææ´å½¦æ°ã«ããã¯ã©ã¹ãã¡ã¤ã«ï¼ã«å¯¾å¿ãããã®ã¨ãã¦ï¼\Pkg{ltjclasses}ï¼
+ï¼å¥¥ææ´å½¦æ°ã«ããã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãï¼ã«å¯¾å¿ãããã®ã¨ãã¦ï¼\Pkg{ltjclasses}ï¼
\Pkg{ltjsclasses}ãããããç¨æããã¦ããï¼
%
-%<*zh>
-ä¸è¿ï¼ä¸è¿°è®¾å®å¹¶ä¸è½æ»¡è¶³æçåºäºæ¥æçææ¡£ã为äºæå°åºäºæ¥æçæ
-æ¡£ï¼ä½ æ好ä¸è¦ä½¿ç¨\texttt{article.cls}ï¼\texttt{book.cls}çæ档类æ件ã
-ç°å¨ï¼æ们æç¸å½äº\Pkg{jclasses}ï¼\pLaTeX æ åæ档类ï¼å\Pkg{jsclasses}
-ï¼å¥¥ææ´å½¦ï¼çæ档类ï¼å³\Pkg{ltjclasses}å\Pkg{ltjsclasses}ã
-%
%\section{Changing Fonts}
%\section{ãã©ã³ãã®å¤æ´}
-%\section{åä½æ´æ¹}
\subsection{plain \TeX~and~\LaTeXe}
-\label{ssub-chgfnt}
+\label{ssec-chgfnt}
\paragraph{plain \TeX}
%<*en>
-To change Japanese fonts in plain \TeX, you must use the primitive
+To change Japanese fonts in plain \TeX, you must use the command
\verb+\jfont+. So please see Subsection~\ref{ssec-jfont}.
%
%<*ja>
-plain \TeX ã§åæãã©ã³ããå¤æ´ããããã«ã¯ï¼\verb+\jfont+ ããªããã£ããç´æ¥ç¨ããï¼
+plain \TeX ã§åæãã©ã³ããå¤æ´ããããã«ã¯ï¼\pTeX ã®ããã« \verb+\jfont+ å½ä»¤ãç´æ¥ç¨ããï¼
\ref{ssec-jfont}ç¯ãåç
§ï¼
%
-%<*zh>
-å¨plain \TeX ä¸æ¹åæ¥æåä½ï¼ä½ å¿
须使ç¨åºæ¬è¯å¥\verb!\jfont!ã请åè§\ref{ssec-jfont}ã
-%
\paragraph{\LaTeXe\ (NFSS2)}
%<*en>
@@ -1154,37 +958,16 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (
\LaTeXe ã«ã¤ãã¦ã¯ï¼\LuaTeX-jaã§ã¯ãã©ã³ãé¸æã·ã¹ãã ã\pLaTeXe\ (\texttt{plfonts.dtx})
ã®å¤§é¨åããã®ã¾ã¾æ¡ç¨ãã¦ããï¼
%
-%<*zh>
-对äº\LaTeXeï¼\LuaTeX-jaéç¨äº\pLaTeXe ä¸ï¼å³\texttt{plfonts.dtx}ï¼å¤§é¨ååä½éæ©ç³»ç»ã
-%
\begin{itemize}
%<*en>
-\item Two control sequences \verb+\mcdefault+ and \verb+\gtdefault+ are
- used to specify the default font families for \emph{mincho} and
- \emph{gothic}, respectively. Default values: \texttt{mc} for
- \verb+\mcdefault+ and \texttt{gt} for \verb+\gtdefault+.
-%
-%<*ja>
-\item 2ã¤ã®ã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ \verb+\mcdefault+ 㨠\verb+\gtdefault+ ãããã
- ãææä½ã¨ã´ã·ãã¯ä½ã®ããã©ã«ãã®ãã©ã³ããã¡ããªãæå®ããããã«ç¨ããããï¼
- åæå¤ï¼\verb+\mcdefault+ ã¯\texttt{mc}ï¼\verb+\gtdefault+ ã¯\texttt{gt}ï¼
-%
-%<*zh>
-\item \verb!\mcdefault!å\verb!\gtdefault!æ§å¶è¯å¥ç¨æ¥åå«æ§å¶é»è®¤ç\textit{mincho}å\textit{gothic}åä½æã
- é»è®¤å¼ï¼\texttt{mc}ç¨äº\verb!\mcdefault!ï¼\texttt{gt}ç¨äº\verb!\gtdefault!ã
-%
-%<*en>
\item Commands \verb+\fontfamily+, \verb+\fontseries+,
- \verb+\fontshape+ and \verb+\selectfont+ can be used to change
+ \verb+\fontshape+, and \verb+\selectfont+ can be used to change
attributes of Japanese fonts.
%
%<*ja>
\item \verb+\fontfamily+, \verb+\fontseries+, \verb+\fontshape+, ããã¦
\verb+\selectfont+ ãåæãã©ã³ãã®å±æ§ãå¤æ´ããããã«ä½¿ç¨ã§ããï¼
%
-%<*zh>
-\item å½ä»¤\verb!\fontfamily!ï¼\verb!\fontseries!ï¼\verb!\fontshape!个\verb!\selectfont!ç¨æ¥æ¹åæ¥æåä½å±æ§ã
-%
%<*en>
\begin{center}\small
@@ -1207,7 +990,7 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
\begin{center}\small
\begin{tabular}{cccccc}
\toprule
-&\textbf{ã¨ã³ã³ã¼ãã£ã³ã°}&\textbf{ãã¡ããª}&\textbf{ã·ãªã¼ãº}&\textbf{ã·ã§ã¼ã}&\textbf{é¸æ}\\\midrule
+&\emph{ã¨ã³ã³ã¼ãã£ã³ã°}&\emph{ãã¡ããª}&\emph{ã·ãªã¼ãº}&\emph{ã·ã§ã¼ã}&\emph{é¸æ}\\\midrule
欧æ
&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
&\verb+\useroman+\\
@@ -1220,69 +1003,53 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
\end{tabular}
\end{center}
%
-%<*zh>
-\begin{center}\small
-\begin{tabular}{cccccc}
-\toprule
-&\textbf{ç¼ç }&\textbf{æ}&\textbf{ç³»å}&\textbf{å½¢ç¶}&\textbf{éæ©}\\\midrule
-西æåä½
-&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
-&\verb+\useroman+\\
-æ¥æåä½
-&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
-&\verb+\usekanji+\\
-两è
&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
-èªå¨éæ©&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
-\bottomrule
-\end{tabular}
-\end{center}
-%
%<*en>
- \verb+\fontencoding{}+ changes the encoding of alphabetic fonts
+ \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}.
- \verb+\fontfamily+ also changes the family of Japanese fonts, alphabetic
- fonts, \emph{or both}. For detail, see Subsection~\ref{ssub-nfsspat}.
+ \verb+\fontfamily+ also changes the current Japanese font family,
+ the current alphabetic font family, \emph{or both}.
+ For the detail, see Subsection~\ref{ssec-nfsspat}.
%
%<*ja>
- ããã§ï¼\verb+\fontencoding{}+ ã¯ï¼å¼æ°ã«ããåæå´ã欧æ
+ ããã§ï¼\verb+\fontencoding{+\verb+}+ ã¯ï¼å¼æ°ã«ããåæå´ã欧æ
å´ãã®ã©ã¡ããã®ã¨ã³ã³ã¼ãã£ã³ã°ãå¤æ´ããï¼ä¾ãã°ï¼
\verb+\fontencoding{JY3}+ ã¯åæãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã
\texttt{JY3}ã«å¤æ´ãï¼\verb+\fontencoding{T1}+ ã¯æ¬§æãã©ã³ãå´ã
\texttt{T1}ã¸ã¨å¤æ´ããï¼\verb+\fontfamily+ ãå¼æ°ã«ããåæå´ï¼æ¬§æ
- å´ï¼\textbf{ãããã¯ä¸¡æ¹}ã®ãã©ã³ããã¡ããªãå¤æ´ããï¼è©³ç´°ã¯
- \ref{ssub-nfsspat}ç¯ãåç
§ãããã¨ï¼
+ å´ï¼\emph{ãããã¯ä¸¡æ¹}ã®ãã©ã³ããã¡ããªãå¤æ´ããï¼è©³ç´°ã¯
+ \ref{ssec-nfsspat}ç¯ãåç
§ãããã¨ï¼
%
-%<*zh>
- \verb!\fontencoding{}!ä¾èµäºåæ°ä»¥æ¹å西æåä½æè
æ¥æåä½ã
- ä¾å¦ï¼\verb!\fontencoding{JY3}!æ¹åå½åæ¥æåä½è³\texttt{JY3}ï¼
- \verb!\fontencoding{T1}!æ¹å西æåä½è³\texttt{T1}ã
- \verb!\fontfamily!ä¹ä¼æ¹åæ¥æåä½æ西æåä½çæï¼ææäºè
ã
- ç»è详è§\ref{ssub-nfsspat}ã
-%
%<*en>
\item For defining a Japanese font family, use
\verb+\DeclareKanjiFamily+ instead of
\verb+\DeclareFontFamily+. However, in the present implementation,
using \verb+\DeclareFontFamily+ doesn't cause any problem.
+\item Defining a Japanese font shape can be done by usual \verb+\DeclareFontShape+:
%
%<*ja>
\item åæãã©ã³ããã¡ããªã®å®ç¾©ã«ã¯ \verb+\DeclareFontFamily+ ã®
代ããã« \verb+\DeclareKanjiFamily+ ãç¨ããï¼ãããï¼ç¾å¨ã®
å®è£
ã§ã¯ \verb+\DeclareFontFamily+ ãç¨ãã¦ãåé¡ã¯çããªãï¼
+\item åæãã©ã³ãã®ã·ã§ã¤ããå®ç¾©ããã«ã¯ï¼é常㮠\verb+\DeclareFontShape+ ã使ãã°è¯ãï¼
+%
+\begin{verbatim}
+\DeclareFontShape{JY3}{mc}{bx}{n}{<-> s*KozMinPr6N-Bold:jfm=ujis;-kern}{}
+ % Kozuka Mincho Pr6N Bold
+\end{verbatim}
+%<*ja>
+ä»®åæ¸ä½ã使ãå ´åãªã©ï¼è¤æ°ã®åæãã©ã³ããçµã¿åããã¦ä½¿ãããå ´åã¯
+\ref{ssec-altfont}ç¯ã® \verb+\ltjdeclarealtfont+ ã¨ï¼ãã®\LaTeX çã®\
+\verb+\DeclareAlternateKanjiFont+ï¼\ref{ssec-nfsspat}ç¯ï¼ãåç
§ããï¼
%
-%<*zh>
-\item 对äºå®ä¹æ¥æåä½æï¼ä½¿ç¨\verb!\DeclareKanjiFamily!代æ¿\verb!\DeclareFontFamily!ã
- ä¸è¿ï¼å¨ç°å¨çå®ç°ä¸ï¼ä½¿ç¨\verb!\DeclareFontFamily!ä¸ä¼å¼èµ·ä»»ä½é®é¢ã
-%
\end{itemize}
%<*en>
-\paragraph{Remark: Japanese Characters in Math Mode}
+\paragraph{Remark: Japanese characters in math mode}
Since \pTeX\ supports Japanese characters in math mode, there are
sources like the following:
%
@@ -1291,10 +1058,6 @@ sources like the following:
\pTeX ã§ã¯ï¼ç¹ã«ä½ãããªãã§ãæ°å¼ä¸ã«åææåãè¨è¿°ãããã¨ãã§ããï¼ãã®ããï¼
以ä¸ã®ãããªã½ã¼ã¹ãè¦ãããï¼
%
-%<*zh>
-\paragraph{注记ï¼æ°å¦æ¨¡å¼ä¸çæ¥æå符}
-\pTeX æ¯æå¨æ°å¦æ¨¡å¼ä¸çæ¥æå符ï¼å¦ä»¥ä¸æºç ï¼
-%
\begin{LTXexample}
$f_{é«æ¸©}$~($f_{\text{high temperature}}$).
@@ -1311,41 +1074,21 @@ In this point of view,
ã¨ãã®ã¿è¨±ãããã¨èãã¦ããï¼
ãã®è¦³ç¹ããï¼
%
-%<*zh>
-æ们ï¼\LuaTeX-ja项ç®æåï¼è®¤ä¸ºå¨æ°å¦æ¨¡å¼ä¸ä½¿ç¨æ¥æå符ï¼åªæå¨è¿äºå符å
å½æ è¯ç¬¦æ¶ææ¯æ£ç¡®çãå¨è¿ç¹ä¸ï¼
-%
+
\begin{itemize}
%<*en>
-\item The lines 1~and~2 above are not correct, since `é«æ¸©' in above is used as a textual label, and
-`ãã£ã¦' is used as a conjunction.
-%
-%<*ja>
-\item ä¸è¨æ°å¼ã®ãã¡1, 2è¡ç®ã¯æ£ãããªãï¼ãªããªãã°`é«æ¸©'ãæå³ã®ããã©ãã«ã¨
- ãã¦ï¼`ãã£ã¦'ãæ¥ç¶è©ã¨ãã¦ç¨ãããã¦ããããã§ããï¼
-%
-%<*zh>
-\item 第1è¡å第2è¡æ¯ä¸æ£ç¡®çï¼å 为âé«æ¸©âçä½ç¨ä¸ºææ¬æ ç¾ï¼âãã£ã¦âç¨ä½ä¸ºè¿è¯ã
-%
-%<*en>
-\item However, the line~3 is correct, since `ç´ ' is used as an identifier.
+\item The lines 1~and~2 above are not correct, since ``é«æ¸©'' in above is used as a textual label, and
+``ãã£ã¦'' is used as a conjunction.
%
%<*ja>
-\item ããããªããï¼3è¡ç®ã¯`ç´ 'ãèå¥åã¨ãã¦ç¨ãããã¦ããã®ã§æ£ããï¼
+\item ä¸è¨æ°å¼ã®ãã¡1, 2è¡ç®ã¯æ£ãããªãï¼ãªããªãã°ãé«æ¸©ããæå³ã®ããã©ãã«ã¨
+ ãã¦ï¼ããã£ã¦ããæ¥ç¶è©ã¨ãã¦ç¨ãããã¦ããããã§ããï¼
%
-%<*zh>
-\item ä¸è¿ï¼ç¬¬3è¡æ¯æ£ç¡®çï¼å 为âç´ âæ¯ä½ä¸ºæ è¯ç¬¦çã
-%
+%\item However, the line~3 is correct, since ``ç´ '' is used as an identifier.
+%\item ããããªããï¼3è¡ç®ã¯ãç´ ããåãªãèå¥åã¨ãã¦ç¨ãããã¦ããã®ã§æ£ããï¼
\end{itemize}
-%<*en>
-Hence, in our opinion, the above input should be corrected as:
-%
-%<*ja>
-ãããã£ã¦ï¼\LuaTeX-jaããã¸ã§ã¯ãã®æè¦ã¨ãã¦ã¯ï¼ä¸è¨ã®å
¥åã¯æ¬¡ã®ããã«ç´ãããã¹ã
-ã§ããï¼
-%
-%<*zh>
-é£ä¹ï¼æ ¹æ®æ们çè§ç¹ï¼ä¸è¿°è¾å
¥åºå½æ ¡æ£ä¸ºï¼
-%
+%Hence, in our opinion, the above input should be corrected as:
+%ãããã£ã¦ï¼\LuaTeX-jaããã¸ã§ã¯ãã®æè¦ã¨ãã¦ã¯ï¼ä¸è¨ã®å
¥åã¯æ¬¡ã®ããã«ç´ãããã¹ãã§ããï¼
\begin{LTXexample}
$f_{\text{é«æ¸©}}$~%
($f_{\text{high temperature}}$).
@@ -1353,7 +1096,6 @@ $f_{\text{é«æ¸©}}$~%
\mathrel{\text{ãã£ã¦}}\quad y>0 \]
$5\in ç´ :=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
\end{LTXexample}
-%BUG?: \{\}ããªããã°ãç´ ããã§ãªãï¼ä¸ã®æ®µè½ã®ããã£ã¦ããã§ã¦ãªãï¼
%<*en>
We also believe that using Japanese characters as identifiers is rare,
hence we don't describe how to change Japanese fonts in math mode in
@@ -1364,53 +1106,53 @@ this chapter. For the method, please see Subsection~\ref{ssec-math}.
ã¨èãã¦ããï¼ãããã£ã¦ãã®ç¯ã§ã¯æ°å¼ã¢ã¼ãä¸ã®åæãã©ã³ããå¤æ´ããæ¹æ³ã«ã¤ãã¦ã¯
è¨è¿°ããªãï¼ãã®æ¹æ³ã«ã¤ãã¦ã¯\ref{ssec-math}ç¯ãåç
§ã®ãã¨ï¼
%
-%<*zh>
-æ们ä¹è®¤ä¸ºä½¿ç¨æ¥æå符ä½ä¸ºæ è¯ç¬¦çæ
åµæ为å°è§ï¼æ以æ们ä¸å¨æ¤ç« èæè¿°å¦ä½å¨æ°å¦æ¨¡å¼ä¸æ¹åæ¥æåä½ã
-å
³äºæ¤æ¹æ³ï¼è¯·åè§\ref{ssec-math}ã
-%
+
\subsection{fontspec}
\label{ssec-fontspec}
%<*en>
To coexist with the \Pkg{fontspec} package, it is needed to load
-\Pkg{luatexja-fontspec} package in the preamble. This additional
-package automatically loads \Pkg{luatexja} and \Pkg{fontspec}
+\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.
%
%<*ja>
-\Pkg{fontspec}ããã±ã¼ã¸ã¨åæ§ã®æ©è½ãåæãã©ã³ãã«å¯¾ãã¦ãç¨ããããã«ã¯ï¼
-\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãããªã¢ã³ãã«ã§èªã¿è¾¼ãå¿
è¦ãããï¼ãã®ããã±ã¼ã¸
+\Pkg{fontspec}ããã±ã¼ã¸ã¨åæ§ã®æ©è½ãåæãã©ã³ãã«å¯¾ãã¦ãç¨ããå ´åï¼
+\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãï¼
+\begin{quote}
+\ttfamily \textbackslash usepackage[]\{luatexja-fontspec\}
+\end{quote}
+ãã®ããã±ã¼ã¸
ã¯å¿
è¦ãªãã°èªåã§\Pkg{luatexja}ããã±ã¼ã¸ã¨\Pkg{fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãï¼
%
-%<*zh>
-为ä¸\Pkg{fontspec}å®å
å
±åï¼éè¦å¨å¯¼è¨åºä¸ä½¿ç¨\Pkg{luatexja-fontspec}å®å
ã
-è¿ä¸ªéå å®å
ä¼èªå¨å è½½\Pkg{luatexja}å\Pkg{fontspec}ã
-%
%<*en>
-In \Pkg{luatexja-fontspec} package, the following 7~commands are defined as
+In \Pkg{luatexja-fontspec} package, the following seven~commands are defined as
counterparts of original commands in the \Pkg{fontspec} package:
%
%<*ja>
\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã§ã¯ï¼ä»¥ä¸ã®7ã¤ã®ã³ãã³ãã\Pkg{fontspec}
ããã±ã¼ã¸ã®å
ã®ã³ãã³ãã«å¯¾å¿ãããã®ã¨ãã¦å®ç¾©ãã¦ããï¼
%
-%<*zh>
-å¨\Pkg{luatexja-fontspec}ä¸ï¼å®ä¹äºå¦ä¸ä¸æ¡å½ä»¤ï¼è¿äºå½ä»¤å\Pkg{fontspec}çç¸å
³å½ä»¤å¯¹æ¯å¦ä¸ï¼
-%
%<*en>
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
Japanese fonts
-&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+&\verb+\newjfontfamily+\\
+&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+&\verb+\setmonojfont+$^*$\\
alphabetic fonts
-&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+&\verb+\newfontfamily+\\
+&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+&\verb+\setmonofont+\\
\midrule
Japanese fonts
-&\verb+\newjfontface+&\verb+\defaultjfontfeatures+&\verb+\addjfontfeatures+\\
+&\verb+\newjfontfamily+&\verb+\newjfontface+
+&\verb+\defaultjfontfeatures+&\verb+\addjfontfeatures+\\
alphabetic fonts
-&\verb+\newfontface+&\verb+\defaultfontfeatures+&\verb+\addfontfeatures+\\
+&\verb+\newfontfamily+&\verb+\newfontface+
+&\verb+\defaultfontfeatures+&\verb+\addfontfeatures+\\
\bottomrule
\end{tabular}
\end{center}
@@ -1437,317 +1179,365 @@ alphabetic fonts
\end{tabular}
\end{center}
%
-%<*zh>
-\begin{center}\small
-\begin{tabular}{ccccc}
-\toprule
-æ¥æåä½&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+&\verb+\newjfontfamily+\\
-西æåä½&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+&\verb+\newfontfamily+\\
-\midrule
-æ¥æåä½&\verb+\newjfontface+&\verb+\defaultjfontfeatures+&\verb+\addjfontfeatures+&\\
-西æåä½&\verb+\newfontface+&\verb+\defaultfontfeatures+&\verb+\addfontfeatures+&\\
-\bottomrule
-\end{tabular}
-\end{center}
-%
+%<*en>
+The package option of \Pkg{luatexja-fontspec} are the followings:
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+ \item[match] If this option is specified, usual family-changing commands such as
+\verb+\rmfamily+,~\verb+\textrm+, \verb+\sffamily+,~\dots\ also change Japanese font family.
-\begin{LTXexample}
+Note that \emph{\texttt{\textup{\textbackslash 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{list}
+The reason that \verb+\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{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+ \item[match] ãã®ãªãã·ã§ã³ãæå®ãããã¨ï¼ã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãã®ããã«\
+\verb+\rmfamily+, \verb+\textrm{...}+, \verb+\sffamily+ çã
+欧æãã©ã³ãã ãã§ãªãåæãã©ã³ããå¤æ´ããããã«ãªãï¼
+
+\emph{ãªãï¼{\tt \textbackslash setmonojfont} ã¯ãã® \texttt{match} ãªãã·ã§ã³ã
+æå®ãããæã®ã¿å®ç¾©ãããï¼}ãã®å½ä»¤ã¯æ¨æºã®ãã¿ã¤ãã©ã¤ã¿ä½ã«å¯¾å¿ããåæãã©ã³ãããæå®ããï¼
+
+ \item[pass=]
+\Pkg{fontspec} ããã±ã¼ã¸ã«æ¸¡ããªãã·ã§ã³ ãæå®ããï¼
+\end{list}
+æ¨æºã§ \verb+\setmonojfont+ ã³ãã³ããå®ç¾©ãããªãã®ã¯ï¼
+åæãã©ã³ãã§ã¯ã»ã¼å
¨ã¦ã®åææåã®ã°ãªããçå¹
ã§ããã®ãä¼çµ±çã§ãã£ããã¨ã«ããï¼
+ã¾ãï¼ãããã®åæç¨ã®ã³ãã³ãã§ã¯ãã©ã³ãå
ã®ãã¢ã«ã¼ãã³ã°æ
å ±ã¯æ¨æºã§ã¯ä½¿ç¨ãããªãï¼
+è¨ãæããã° \texttt{kern} featureã¯æ¨æºã§ã¯ç¡å¹åã¨ãªã£ã¦ããï¼
+ããã¯ä»¥åã®ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¨ã®äºææ§ã®ããã§ããï¼\ref{para-kern}ç¯ãåç
§ï¼ï¼
+%
+
+\begin{LTXexample}[width=0.4\textwidth]
\fontspec[Numbers=OldStyle]{LMSans10-Regular}
-\jfontspec{IPAexMincho}
+\jfontspec[CJKShape=NLC]{KozMinPr6N-Regular}
JIS~X~0213:2004âè¾»
-\addjfontfeatures{CJKShape=JIS1990}
+\jfontspec[CJKShape=JIS1990]{KozMinPr6N-Regular}
JIS~X~0208:1990âè¾»
\end{LTXexample}
-%<*en>
-Note that there is no command named \verb+\setmonojfont+, since it is
-popular for Japanese fonts that nearly all Japanese glyphs have same
-widths. Also note that the kerning feature is set off by default in
-these 7~commands, since this feature and \textbf{JAglue} will clash (see
-\ref{para-kern}).
-%
-%<*ja>
-åæãã©ã³ãã«ã¤ãã¦ã¯å
¨ã¦ã®åææåã®ã°ãªããã»ã¼çå¹
ã§ããã®ãæ®éã§ããããï¼
-\verb+\setmonojfont+ ã³ãã³ãã¯åå¨ããªããã¨ã«æ³¨æï¼ã¾ãï¼ãããã®åæç¨ã®7ã¤ã®ã³ã
-ã³ãã§ã¯Kerning featureã¯ããã©ã«ãã§ã¯offã¨ãªã£ã¦ããï¼ããã¯ãã®
-featureã\textbf{JAglue}ã¨è¡çªããããã§ããï¼\ref{para-kern}ç¯ãåç
§ï¼ï¼
-%
-%<*zh>
-请注æ并没æ\verb!\setmonofont!å½ä»¤ï¼å 为æµè¡çæ¥æåä½å ä¹å
¨é¨æ¯ç宽çã
-å¦æ³¨æï¼åºæ ¼ç¹æ§å¨è¿7个å½ä»¤ä¸é»è®¤å
³éï¼å 为æ¤ç¹æ§ä¼ä¸\textbf{JAglue}å²çªï¼åè§\ref{para-kern}ï¼ã
-%
-
-%\subsection{Preset}
+%\subsection{Presets}
%\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{otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato,
-and loads \Pkg{luatexja-fontspec} internally.
+\Pkg{japanese-otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato,
+and loads \Pkg{luatexja-fontspec}, hence \Pkg{fontspec} internally.
+
+If you need to pass some options to \Pkg{fontspec}, load \Pkg{fontspec} manually
+before \Pkg{luatexja-preset}:
%
%<*ja>
ãã使ããã¦ããåæãã©ã³ãè¨å®ãä¸è¡ã§æå®ã§ããããã«ããã®ã
\Pkg{luatexja-preset}ããã±ã¼ã¸ã§ããï¼ãã®ããã±ã¼ã¸ã¯ï¼
\Pkg{otf}ããã±ã¼ã¸ã®ä¸é¨æ©è½ã¨å
«ç»å´ä¹æ°ã«ãã\Pkg{PXchfon}ããã±ã¼ã¸ã®ä¸é¨æ©è½ã¨ã
-åããããããªæ ¼å¥½ããã¦ããï¼å
é¨ã§\Pkg{luatexja-fontspec}ãèªã¿è¾¼ãã§ããï¼
+åããããããªæ ¼å¥½ããã¦ããï¼å
é¨ã§\Pkg{luatexja-fontspec}ï¼å¾ã£ã¦
+\Pkg{fontspec}ãèªã¿è¾¼ãã§ããï¼
+
+ãã\Pkg{fontspec}ããã±ã¼ã¸ã«ä½ããã®ãªãã·ã§ã³ã渡ãå¿
è¦ããã
+\footnote{ä¾ãã°ï¼æ°å¼ãã©ã³ãã¾ã§ç½®æããã¦ãã¾ãï¼\texttt{\textbackslash mathit}ã«ãã£ã¦ã®ãªã·ã£æåã®
+æä½å¤§æåãåºãªããªãï¼ãªã©ï¼}å ´åã¯ï¼
+次ã®ããã«\Pkg{luatexja-preset}ã®åã«\Pkg{fontspec}ãæåã§èªã¿ããã°è¯ãï¼
%
+\begin{verbatim}
+\usepackage[no-math]{fontspec}
+\usepackage[...]{luatexja-preset}
+\end{verbatim}
%\paragraph{General options}
%\paragraph{ä¸è¬çãªãªãã·ã§ã³}
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\item[nodeluxe]
+%<*en>
+Use one-weighted \textit{mincho} and \textit{gothic} font families.
+This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
+\verb+\gtfamily\mdseries+ use the same font.
+\emph{This option is enabled by default.}
+%
+%<*ja>
+\LaTeXe ç°å¢ä¸ã§ã®æ¨æºè¨å®ã®ããã«ï¼ææä½ã»ã´ã·ãã¯ä½ãå1ã¦ã§ã¤ãã§ä½¿ç¨ããï¼
+ããå
·ä½çã«è¨ãã¨ï¼ãã®è¨å®ã®ä¸ã§ã¯
+\verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+, \verb+\gtfamily\mdseries+ã¯
+ã¿ãªåããã©ã³ãã¨ãªãï¼\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
+%
\item[deluxe]
%<*en>
-Specifying this option enables us to use \textit{mincho} with two weights (medium~and~bold),
-\textit{gothic} with three weights (medium,~bold and~heavy), and \textit{rounded gothic}%
-\footnote{Provided by \texttt{\char92mgfamily},
+Use \textit{mincho} with two weights (medium~and~bold),
+\textit{gothic} with three weights (medium, bold~and~heavy), and \textit{rounded gothic}%
+\footnote{Provided by \texttt{\textbackslash mgfamily} and \texttt{\textbackslash textmg\{...\}},
because \textit{rounded gothic} is called \textit{maru gothic} (丸ã´ã·ãã¯) in Japanese.}.
-The heavy weight of \textit{gothic} can be used by ``changing the family'' \verb+\gtebfamily+.
+The heavy weight of \textit{gothic} can be used by ``changing the family'' \verb+\gtebfamily+,
+or \verb+\textgteb{...}+.
This is because \Pkg{fontspec} package can handle only medium (\verb+\mdseries+) and
bold (\verb+\bfseries+).
%
%<*ja>
ææä½2ã¦ã§ã¤ãã»ã´ã·ãã¯ä½3ã¦ã§ã¤ãã¨ï¼
-丸ã´ã·ãã¯ä½ (\verb+\mgfamily+) ã使ç¨å¯è½ã¨ããï¼
-ã´ã·ãã¯ä½ã¯ç´°åã»å¤ªåã»æ¥µå¤ªã®3ã¦ã§ã¤ãããããï¼æ¥µå¤ªã´ã·ãã¯ä½ã¯ãã¡ããªã®åãæ¿ã (\verb+\gtebfamily+) %
+丸ã´ã·ãã¯ä½ (\verb+\mgfamily+, \verb+\textmg{...}+) ã使ç¨å¯è½ã¨ããï¼
+ã´ã·ãã¯ä½ã¯ç´°åã»å¤ªåã»æ¥µå¤ªã®3ã¦ã§ã¤ãããããï¼
+極太ã´ã·ãã¯ä½ã¯ãã¡ããªã®åãæ¿ã (\verb+\gtebfamily+, \verb+\textgteb{...}+) %
ã§å®ç¾ãã¦ããï¼\Pkg{fontspec}ã§ã¯é常 (\verb+\mdseries+) ã¨å¤ªå (\verb+\bfseries+) ããæ±ããªãããã«
ãã®ãããªä¸éå端ãªå®è£
ã«ãªã£ã¦ããï¼
%
\item[expert]
%<*en>
-Use horizontal kana alternates, and define a control sequence \verb+\rubyfamily+ to use kana
+Use horizontal kana alternates, and define a command \verb+\rubyfamily+ to use kana
characters designed for ruby.
%
-%<*ja>
-横çµå°ç¨ä»®åãç¨ããï¼ã¾ãï¼\verb+\rubyfamily+ ã§ã«ãç¨ä»®åã使ç¨å¯è½ã¨ãªãï¼
-%
+%横çµå°ç¨ä»®åãç¨ããï¼ã¾ãï¼\verb+\rubyfamily+ ã§ã«ãç¨ä»®åã使ç¨å¯è½ã¨ãªãï¼
\item[bold]
-%<*en>
-Use bold gothic as bold mincho.
-%
-%<*ja>
-ææã®å¤ªåãã´ã·ãã¯ä½ã®å¤ªåã¨ããï¼
-%
+%Substitute bold series of \textit{gothic} for bold series of \textit{mincho}.
+%ãææã®å¤ªåããã´ã·ãã¯ä½ã®å¤ªåã«ãã£ã¦ä»£æ¿ããï¼
\item[90jis]
+%Use 90JIS glyph variants if possible.
+%åºæ¥ãéã90JISã®åå½¢ã使ãï¼
+\item[jis2004]
+%Use JIS2004 glyph variants if possible.
+%åºæ¥ãéãJIS2004ã®åå½¢ã使ãï¼
+\item[jis]
%<*en>
-Use 90JIS glyphs if possible.
+Use the JFM \texttt{jfm-jis.lua}, instead of \texttt{jfm-ujis.lua}, which is the default JFM of
+\LuaTeX-ja.
%
%<*ja>
-åºæ¥ãéã90JISã®åå½¢ã使ãï¼
+ç¨ããJFMãï¼JISãã©ã³ãã¡ããªãã¯é¡ä¼¼ã®ï¼\texttt{jfm-jis.lua}ã«ããï¼ãã®ãªãã·ã§ã³ããªãæã¯
+\LuaTeX-jaæ¨æºã®\texttt{jfm-ujis.lua}ãç¨ããããï¼
%
-\item[jis2004]
+\end{list}
%<*en>
-Use JIS2004 glyphs if possible.
+Note that \texttt{90jis} and \texttt{jis2004} only affect with \textit{mincho},
+\textit{gothic} (and possibly \textit{rounded gothic}) defined by this package.
+We didn't taken account of when both \texttt{90jis} and \texttt{jis2004} are specified.
%
%<*ja>
-åºæ¥ãéãJIS2004ã®åå½¢ã使ãï¼
+\texttt{90jis}ã¨\texttt{jis2004}ã«ã¤ãã¦ã¯æ¬ããã±ã¼ã¸ã§å®ç¾©ããã
+ææä½ã»ã´ã·ãã¯ä½ï¼ã»ä¸¸ã´ã·ãã¯ä½ï¼ã«ã®ã¿æå¹ã§ããï¼ä¸¡ãªãã·ã§ã³ã
+åæã«æå®ãããå ´åã®åä½ã«ã¤ãã¦ã¯å
¨ãèæ
®ãã¦ããªãï¼
%
-\item[jis]
+
+%\paragraph{Presets for multi weight}
+%\paragraph{å¤ã¦ã§ã¤ãç¨ããªã»ããã®ä¸è¦§}
%<*en>
-Use the JFM \texttt{jfm-jis.lua}, instead of the default JFM of
-\LuaTeX-ja, \texttt{jfm-ujis.lua}.
+Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
+fonts are specified by fontname, not by filename.
%
%<*ja>
-ç¨ããJFMã\texttt{jfm-jis.lua}ã¨ããï¼ãã®ãªãã·ã§ã³ããªãæã¯
-\LuaTeX-jaæ¨æºã®\texttt{jfm-ujis.lua}ãç¨ããããï¼
+\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以å¤ã¯ãã©ã³ãã®æå®ã¯
+ï¼ãã¡ã¤ã«åã§ãªãï¼ãã©ã³ãåã§è¡ãããï¼
%
-\end{list}
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+ \item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
+% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[kozuka-pr6] Kozuka Pr6 (Adobe-Japan1-6) fonts.
+% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[kozuka-pr6n] Kozuka Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
-%\paragraph{Kozuka fonts}
-%\paragraph{å°å¡ãã©ã³ã}
%<*en>
-When using single weight, we adopt Kozuka~Gothic~M as \textit{gothic},
-because we think that Kozuka~Gothic~R looks thin.
-There is not `Kozuka Maru Gothic', therefore Kozuka~Gothic~H is used
-as a substitute for \textit{rounded gothic}.
+Kozuka Pro/Pr6N fonts are bundled with Adobe's software, such as Adobe~InDesign.
+There is not rounded gothic family in Kozuka fonts.
%
%<*ja>
-ã¾ãï¼å°å¡ãã©ã³ããç¨ããè¨å®ãè¿°ã¹ãï¼
-åã¦ã§ã¤ãæã®ã´ã·ãã¯ä½ã¯å°å¡ã´ã·ãã¯Rã§ã¯ç´°ãããã«æããã®ã§ï¼
-å°å¡ã´ã·ãã¯Mã«å¤æ´ãã¦ããï¼
-ããã«ï¼ä¸¸ã´ã·ãã¯ä½ã¯ãªãã®ã§ä¾¿å®ä¸å°å¡ã´ã·ãã¯Hã§ä»£ç¨ãã¦ããï¼
+å°å¡Proæ¸ä½ã»Pr6Næ¸ä½ã¯Adobe InDesignçã®Adobe製åã«ãã³ãã«ããã¦ããï¼
+ãå°å¡ä¸¸ã´ã·ãã¯ãã¯åå¨ããªãã®ã§ï¼ä¾¿å®çã«å°å¡ã´ã·ãã¯Hã«ãã£ã¦ä»£ç¨ãã¦ããï¼
%
\begin{center}\small
-\begin{tabular}{llll}
+\begin{tabular}{cllll}
\toprule
-&\tt kozuka4&\tt kozuka6&\tt kozuka6n\\
-\midrule
-%<*en>
-\bf mincho medium&Kozuka Mincho Pro R&Kozuka Mincho ProVI R&Kozuka Mincho Pr6N R\\
-\bf mincho bold&Kozuka Mincho Pro B&Kozuka Mincho ProVI B&Kozuka Mincho Pr6N B\\
-\midrule
-\bf gothic medium\\
- without \texttt{deluxe}
-&Kozuka Gothic Pro M&Kozuka Gothic ProVI M&Kozuka Gothic Pr6N M\\
- multiple weights
-&Kozuka Gothic Pro R&Kozuka Gothic ProVI R&Kozuka Gothic Pr6N R\\
+\bf family&\bf series&\tt kozuka-pro&\tt kozuka-pr6&\tt kozuka-pr6n\\
\midrule
-\bf gothic bold
-&Kozuka Gothic Pro B&Kozuka Gothic ProVI B&Kozuka Gothic Pr6N B\\
-\bf gothic heavy
-&Kozuka Gothic Pro H&Kozuka Gothic ProVI H&Kozuka Gothic Pr6N H\\
-(rounded gothic)
-&Kozuka Gothic Pro H&Kozuka Gothic ProVI H&Kozuka Gothic Pr6N H\\
-%
-%<*ja>
-\gt ææä½ç´°å&å°å¡ææPro~R&å°å¡ææProVI~R&å°å¡ææPr6N~R\\
-\gt ææä½å¤ªå&å°å¡ææPro~B&å°å¡ææProVI~B&å°å¡ææPr6N~B\\
+ &medium&KozMinPro-Regular&KozMinProVI-Regular&KozMinPr6N-Regular\\
+%\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%\smash{\raisebox{1.5ex}{\gt ææ}}%
+ &bold&KozMinPro-Bold&KozMinProVI-Bold&KozMinPr6N-Bold\\
\midrule
-\gt ã´ã·ãã¯ä½ç´°å\\
-ãåã¦ã§ã¤ãæ
-&å°å¡ã´ã·ãã¯Pro~M&å°å¡ã´ã·ãã¯ProVI~M&å°å¡ã´ã·ãã¯Pr6N~M\\
-ãå¤ã¦ã§ã¤ãæ
-&å°å¡ã´ã·ãã¯Pro~R&å°å¡ã´ã·ãã¯ProVI~R&å°å¡ã´ã·ãã¯Pr6N~R\\
+ &&KozGoPro-Regular*&KozGoProVI-Regular*&KozGoPr6N-Regular*\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &KozGoPro-Medium&KozGoProVI-Medium&KozGoPr6N-Medium\\
+\cmidrule(l){2-5}
+%\smash{\raisebox{2ex}{\textit{gothic}}}%
+%\smash{\raisebox{2ex}{\gt ã´ã·ãã¯}}%
+ &bold&KozGoPro-Bold&KozGoProVI-Bold&KozGoPr6N-Bold\\
+ &heavy&KozGoPro-Heavy&KozGoProVI-Heavy&KozGoPr6N-Heavy\\
\midrule
-\gt ã´ã·ãã¯ä½å¤ªå
-&å°å¡ã´ã·ãã¯Pro~B&å°å¡ã´ã·ãã¯ProVI~B&å°å¡ã´ã·ãã¯Pr6N~B\\
-\gt ã´ã·ãã¯ä½æ¥µå¤ª
-&å°å¡ã´ã·ãã¯Pro~H&å°å¡ã´ã·ãã¯ProVI~H&å°å¡ã´ã·ãã¯Pr6N~H\\
-\inhibitglueï¼ä¸¸ã´ã·ãã¯ä½ï¼\inhibitglue
-&å°å¡ã´ã·ãã¯Pro~H&å°å¡ã´ã·ãã¯ProVI~H&å°å¡ã´ã·ãã¯Pr6N~H\\
-%
+%\textit{rounded gothic}
+%\gt 丸ã´ã·ãã¯
+&&KozGoPro-Heavy&KozGoProVI-Heavy&KozGoPr6N-Heavy\\
\bottomrule
\end{tabular}
\end{center}
-%\paragraph{Hiragino and Morisawa}
-%\paragraph{ãã©ã®ãã»ã¢ãªãµã¯}
%<*en>
-Settings for Hiragino fonts:
+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.
+
+%<*en>
+Hiragino fonts are bundled with Mac OS~X 10.5 or later.
+Some editions of a Japanese word-processor ``ä¸å¤ªé2012'' includes Hiragino ProN fonts.
+Note that the heavy weight of \textit{gothic} family only supports
+Adobe-Japan1-3 character collection (Std/StdN).
+%
+%<*ja>
+ãã©ã®ããã©ã³ãã¯ï¼Mac OS~X以å¤ã«ãï¼ä¸å¤ªé2012ã®ä¸ä½ã¨ãã£ã·ã§ã³ã«ããã³ãã«ããã¦ããï¼
+極太ã´ã·ãã¯ã¨ãã¦ç¨ãããã©ã®ãè§ã´W8ã¯ï¼Adobe-Japan1-3ã®ç¯å²ããã«ãã¼ãã¦ããªã
+Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
%
-% ãããã¯æã£ã¦ããããã§ã¯ãªãã®ã§ï¼ãã©ã³ãåã
-% ç°ãªã£ã¦ããããããã¾ããï¼ç¢ºèªãé¡ããã¾ãï¼
\begin{center}\small
-\begin{tabular}{lll}
+\begin{tabular}{clll}
\toprule
-&\tt hiragino&\tt hiraginon\\
+\bf family&\bf series&\tt hiragino-pro&\tt hiragino-pron\\
\midrule
-%<*en>
-\bf mincho medium&
-Hiragino Mincho Pro W3&Hiragino Mincho Pr6N W3\\
-\bf mincho bold&
-Hiragino Mincho Pro W6&Hiragino Mincho Pr6N W6\\
-\bf gothic medium&
-Hiragino Kaku Gothic Pro W3&Hiragino Kaku Gothic ProN W3\\
-\bf gothic bold&
-Hiragino Kaku Gothic Pro W6&Hiragino Kaku Gothic ProN W6\\
-\bf gothic heavy&
-Hiragino Kaku Gothic Std W8&Hiragino Kaku Gothic StdN W8\\
-\bf rounded gothic&
-Hiragino Maru Gothic Pro W4&Hiragino Maru Gothic ProN W4\\
-%
-%<*ja>
-\gt ææä½ç´°å&
-ãã©ã®ãææä½Pro~W3&ãã©ã®ãææä½Pr6N~W3\\
-\gt ææä½å¤ªå&
-ãã©ã®ãææä½Pro~W6&ãã©ã®ãææä½Pr6N~W6\\
-\gt ã´ã·ãã¯ä½ç´°å&
-ãã©ã®ãè§ã´Pro~W3&ãã©ã®ãè§ã´ProN~W3\\
-\gt ã´ã·ãã¯ä½å¤ªå&
-ãã©ã®ãè§ã´Pro~W6&ãã©ã®ãè§ã´ProN~W6\\
-\gt ã´ã·ãã¯ä½æ¥µå¤ª&
-ãã©ã®ãè§ã´Std~W8&ãã©ã®ãè§ã´StdN~W8\\
-\gt 丸ã´ã·ãã¯ä½&
-ãã©ã®ã丸ã´Pro~W4&ãã©ã®ã丸ã´ProN~W4\\
-%
+ &medium&Hiragino~Mincho~Pro~W3&Hiragino~Mincho~ProN~W3\\
+%\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%\smash{\raisebox{1.5ex}{\gt ææ}}%
+ &bold&Hiragino~Mincho~Pro~W6&Hiragino~Mincho~ProN~W6\\
+\midrule
+ &&Hiragino~Kaku~Gothic~Pro~W3*&Hiragino~Kaku~Gothic~ProN~W3*\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &Hiragino~Kaku~Gothic~Pro~W6&Hiragino~Kaku~Gothic~ProN~W6\\
+\cmidrule(l){2-4}
+%\smash{\raisebox{2ex}{\textit{gothic}}}%
+%\smash{\raisebox{2ex}{\gt ã´ã·ãã¯}}%
+ &bold&Hiragino~Kaku~Gothic~Pro~W6&Hiragino~Kaku~Gothic~ProN~W6\\
+ &heavy&Hiragino~Kaku~Gothic~Std~W8&Hiragino~Kaku~Gothic~StdN~W8\\
+\midrule
+%\textit{rounded gothic}
+%\gt 丸ã´ã·ãã¯
+&&Hiragino~Maru~Gothic~ProN~W4&Hiragino~Maru~Gothic~ProN~W4\\
\bottomrule
\end{tabular}
\end{center}
-%<*en>
-Settings for Morisawa fonts:
-%
-%<*ja>
-次ã¯ã¢ãªãµã¯ãã©ã³ããç¨ããè¨å®ã§ããï¼
-%
+
+%\medskip
+
+ \item[morisawa-pro] Morisawa Pro (Adobe-Japan1-4) fonts.
+% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[morisawa-pr6n] Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
\begin{center}\small
-\begin{tabular}{lll}
+\begin{tabular}{cl>{\tt}l>{\tt}l}
\toprule
-&\tt morisawa4&\tt morisawa6n\\
+\bf family&\bf series&morisawa-pro&morisawa-pr6n\\
\midrule
-%<*en>
-\bf mincho medium&
-Ryumin Pro L-KL&Ryumin Pr6N L-KL\\
-\bf mincho bold&
-Futo Min A101 Pro Bold&Futo Min A101 Pr6N Bold\\
-\bf gothic medium&
-Chu Gothic BBB Pro Med&Chu Gothic BBB Pr6N Med\\
-\bf gothic bold&
-Futo Go B101 Pro Bold&Futo Go B101 Pr6N Bold\\
-\bf gothic heavy&
-Midashi Go Pro MB31&Midashi Go Pr6N MB31\\
-\bf rounded gothic&
-Jun Pro 101&Jun Pr6N 101\\
-%
-%<*ja>
-\gt ææä½ç´°å&
-ãªã¥ã¦ãã³Pro~L-KL&ãªã¥ã¦ãã³Pr6N~L-KL\\
-\gt ææä½å¤ªå&
-太ãã³A101~Pro~Bold&太ãã³A101~Pr6N~Bold\\
-\gt ã´ã·ãã¯ä½ç´°å&
-ä¸ã´ã·ãã¯BBB~Pro~Med&ä¸ã´ã·ãã¯BBB~Pr6N~Med\\
-\gt ã´ã·ãã¯ä½å¤ªå&
-太ã´B101~Pro~Bold&太ã´B101~Pr6N~Bold\\
-\gt ã´ã·ãã¯ä½æ¥µå¤ª&
-è¦åºã´Pro~MB31&è¦åºã´Pr6N~MB31\\
-\gt 丸ã´ã·ãã¯ä½&
-ãã
ãPro 101&ãã
ãPr6N 101\\
-%
+ &medium&A-OTF-RyuminPro-Light.otf&A-OTF-RyuminPr6N-Light.otf\\
+%\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%\smash{\raisebox{1.5ex}{\gt ææ}}%
+ &bold&A-OTF-FutoMinA101Pro-Bold.otf&A-OTF-FutoMinA101Pr6N-Bold.otf\\
+\midrule
+ &medium
+ &A-OTF-GothicBBBPro-Medium.otf&A-OTF-GothicBBBPr6N-Medium.otf\\
+%\textit{gothic}%
+%\gt ã´ã·ãã¯
+ &bold&A-OTF-FutoGoB101Pro-Bold.otf&A-OTF-FutoGoB101Pr6N-Bold.otf\\
+ &heavy&A-OTF-MidashiGoPro-MB31.otf&A-OTF-MidashiGoPr6N-MB31.otf\\
+\midrule
+%\textit{rounded gothic}
+%\gt 丸ã´ã·ãã¯
+&&A-OTF-Jun101Pro-Light.otf&A-OTF-ShinMGoPr6N-Light.otf\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+ \item[yu-win] Yu fonts bundled with Windows~8.1.
+% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[yu-osx] Yu fonts bundled with OSX~Mavericks.
+\begin{center}\small
+\begin{tabular}{clll}
+\toprule
+\bf family&\bf series&\tt yu-win&\tt yu-osx\\
+\midrule
+ &medium&YuMincho-Regular&YuMincho~Medium\\
+%\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%\smash{\raisebox{1.5ex}{\gt ææ}}%
+ &bold&YuMincho-Demibold&YuMincho~Demibold\\
+\midrule
+ &&YuGothic-Regular*&YuGothic~Medium*\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &YuGothic-Bold&YuGothic~Bold\\
+\cmidrule(l){2-4}
+%\textit{gothic}%
+%\gt ã´ã·ãã¯
+ &bold&YuGothic-Bold&YuGothic~Bold\\
+ &heavy&YuGothic-Bold&YuGothic~Bold\\
+\midrule
+%\textit{rounded gothic}
+%\gt 丸ã´ã·ãã¯
+&&YuGothic-Bold&YuGothic~Bold\\
\bottomrule
\end{tabular}
\end{center}
-%\paragraph{Settings for single weight}
-%\paragraph{åã¦ã§ã¤ãç¨è¨å®}
+\end{list}
+%\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,
-if \texttt{deluxe} option is also specified).
+(Hence \verb+\mcfamily\bfseries+ and \verb+\mcfamily\mdseries+ yields same Japanese fonts,
+even if \texttt{deluxe} option is also specified).
%
%<*ja>
次ã«ï¼åã¦ã§ã¤ãç¨ã®è¨å®ãè¿°ã¹ãï¼ãã®4è¨å®ã§ã¯ãç´°åãã太åãã®åºå¥ã¯ãªãï¼
ã¾ãï¼ä¸¸ã´ã·ãã¯ä½ã¯ã´ã·ãã¯ä½ã¨åããã©ã³ããç¨ããï¼
%
-\begin{center}\small
+\par\nobreak\medskip
+{\centering\small
\begin{tabular}{lllll}
\toprule
&\tt noembed&\tt ipa&\tt ipaex&\tt ms\\
\midrule
%<*en>
-\bf mincho&Ryumin-Light (non-embedded)
+\it mincho&Ryumin-Light (non-embedded)
&IPAMincho&IPAexMincho&MS Mincho\\
-\bf gothic&GothicBBB-Medium (non-embedded)
+\it gothic&GothicBBB-Medium (non-embedded)
&IPAGothic&IPAexGothic&MS Gothic\\
%
%<*ja>
-\gt ææä½&Ryumin-Lightï¼éåè¾¼ï¼
+\gtfamily ææä½&Ryumin-Lightï¼éåè¾¼ï¼
&IPAææ&IPAexææ&MSææ\\
-\gt ã´ã·ãã¯ä½&GothicBBB-Mediumï¼éåè¾¼ï¼
+\gtfamily ã´ã·ãã¯ä½&GothicBBB-Mediumï¼éåè¾¼ï¼
&IPAã´ã·ãã¯&IPAexã´ã·ãã¯&MSã´ã·ãã¯\\
%
\bottomrule
-\end{tabular}
-\end{center}
+\end{tabular}\par\medskip}
+
%\paragraph{Using HG fonts}
%\paragraph{HGãã©ã³ãã®å©ç¨}
%<*en>
-We can use HG~fonts bundled with Microsoft Office for realizing multiple weights in Japanese fonts.
+We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights.
%
%<*ja>
ããåã«æ¸ããåã¦ã§ã¤ãç¨è¨å®ãï¼Microsoft Officeçã«ä»å±ããHGãã©ã³ãã使ã£ã¦
å¤ã¦ã§ã¤ãåããè¨å®ãããï¼
%
-\begin{center}\small
+\par\nobreak\medskip
+{\centering\small
\begin{tabular}{llll}
\toprule
-&\tt ipa-dx&\tt ipaex-dx&\tt ms-dx\\
+&\tt ipa-hg&\tt ipaex-hg&\tt ms-hg\\
\midrule
%<*en>
\bf mincho medium
@@ -1770,11 +1560,11 @@ We can use HG~fonts bundled with Microsoft Office for realizing multiple weights
\multicolumn{3}{c}{HG Maru Gothic PRO}\\
%
%<*ja>
-\gt ææä½ç´°å
+\gtfamily ææä½ç´°å
&IPAææ&IPAexææ&MSææ\\\midrule
-\gt ææä½å¤ªå&
+\gtfamily ææä½å¤ªå&
\multicolumn{3}{c}{HGææE}\\\midrule
-\gt ã´ã·ãã¯ä½ç´°å\\
+\gtfamily ã´ã·ãã¯ä½ç´°å\\
ãåã¦ã§ã¤ãæ
&IPAã´ã·ãã¯&IPAexã´ã·ãã¯&MSã´ã·ãã¯\\
ã{\tt jis2004}æå®æ
@@ -1782,18 +1572,18 @@ We can use HG~fonts bundled with Microsoft Office for realizing multiple weights
\cmidrule(lr){1-4}
ããã以å¤ã®æ&
\multicolumn{3}{c}{HGã´ã·ãã¯M}\\\midrule
-\gt ã´ã·ãã¯ä½å¤ªå&
+\gtfamily ã´ã·ãã¯ä½å¤ªå&
\multicolumn{3}{c}{HGã´ã·ãã¯E}\\\midrule
-\gt ã´ã·ãã¯ä½æ¥µå¤ª&
+\gtfamily ã´ã·ãã¯ä½æ¥µå¤ª&
\multicolumn{3}{c}{HGåµè±è§ã´ã·ãã¯UB}\\\midrule
-\gt 丸ã´ã·ãã¯ä½&
+\gtfamily 丸ã´ã·ãã¯ä½&
\multicolumn{3}{c}{HG丸ã´ã·ãã¯ä½PRO}\\
%
\bottomrule
-\end{tabular}
-\end{center}
+\end{tabular}\par\medskip}
+
%<*en>
-Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB and HG Maru Gothic PRO
+Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB, and HG Maru Gothic PRO
are internally specified by:
\begin{description}
\item[default] by font name (\texttt{HGMinchoE}, etc.).
@@ -1815,40 +1605,32 @@ are internally specified by:
%<*en>
-\subsection{\texttt{\char92 CID}, \texttt{\char92 UTF} and macros in \Pkg{otf} package}
-Under \pLaTeX, \Pkg{otf} package (developed by Shuzaburo Saito) is
+\subsection{\texttt{\textbackslash CID}, \texttt{\textbackslash UTF}, and macros in \Pkg{japanese-otf} package}
+Under \pLaTeX, \Pkg{japanese-otf} package (developed by Shuzaburo Saito) is
used for typesetting characters which is in Adobe-Japan1-6 CID but not
in JIS~X~0208. Since this package is widely used, \LuaTeX-ja
-supports some of functions in \Pkg{otf} package.
+supports some of functions in \Pkg{japanese-otf} package.
If you want to use these functions, load \Pkg{luatexja-otf} package.
%
%<*ja>
-\subsection{\texttt{\char92 CID}, \texttt{\char92 UTF}ã¨\Pkg{otf}ããã±ã¼ã¸ã®ãã¯ã}
+\subsection{\texttt{\textbackslash CID}, \texttt{\textbackslash UTF}ã¨\Pkg{otf}ããã±ã¼ã¸ã®ãã¯ã}
\pLaTeX ã§ã¯ï¼JIS~X~0208ã«ãªãAdobe-Japan1-6ã®æåãåºåããããã«ï¼
é½è¤ä¿®ä¸éæ°ã«ãã\Pkg{otf}ããã±ã¼ã¸ãç¨ãããã¦ããï¼ãã®ããã±ã¼ã¸ã¯
åºãç¨ãããã¦ããããï¼\LuaTeX-jaã«ããã¦ã\Pkg{otf}ããã±ã¼ã¸ã®æ©è½ã®
ä¸é¨ããµãã¼ããã¦ããï¼ãããã®æ©è½ãç¨ããããã«ã¯\Pkg{luatexja-otf}ããã±ã¼ã¸
ãèªã¿è¾¼ãã°ããï¼
%
-%<*zh>
-\subsection{\Pkg{otf}å
ä¸ç\texttt{\char92CID}ï¼\texttt{\char92UTF}åå
¶ä»å®}
-\pLaTeX ä¸ï¼\underline{\texttt{otf}}å®å
ï¼æè¤ä¿®ä¸éå¼åï¼æ¯ç¨æ¥æå°åå¨
-äºAdobe-Japan1-6ä½ä¸åå¨äºJIS X 0208ä¸çå符ã
-该å
å·²ç»å¹¿æ³ä½¿ç¨ï¼\LuaTeX-jaæ¯æé¨å\Pkg{otf}å
ä¸çé¨ååè½ã
-å¦æä½ æ³ä½¿ç¨è¿äºåè½ï¼å è½½\Pkg{luatexja-otf}å®å
ã
-\bgroup
-\fontencoding{JY3}\selectfont
-%
\begin{LTXexample}
+\jfontspec{KozMinPr6N-Regular.otf}
森\UTF{9DD7}å¤ã¨å
ç°ç¾\UTF{9592}ã¨ã\UTF{9AD9}島å±ã«è¡ãã
\CID{7652}飾åºã®\CID{13706}é家ï¼
-è飾åºã®åé家
+\CID{1481}åå¸ï¼è西é§
ï¼
+é«å´ã¨\CID{8705}\UTF{FA11}
+
+\ajåè§{ã¯ãããã«ã¿ã«ã}
\end{LTXexample}
-%<*zh>
-\egroup
-%
%<*ja>
\Pkg{otf}ããã±ã¼ã¸ã§ã¯ï¼ãããã次ã®ãããªãªãã·ã§ã³ãåå¨ããï¼
@@ -1863,13 +1645,13 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
ããã3ãªãã·ã§ã³ã«ã¤ãã¦ã¯ï¼
\Pkg{luatexja-preset} ããã±ã¼ã¸ã«ããªã»ããã使ãæã«ä¸ç·ã«æå®ãããï¼
-ãããã¯å¯¾å¿ããå
容ã\ref{ssub-chgfnt}ç¯ (NFSS2) ã
+ãããã¯å¯¾å¿ããå
容ã\ref{ssec-chgfnt}ç¯ï¼\ref{ssec-nfsspat}ç¯ (NFSS2) ã
\ref{ssec-fontspec}ç¯ (\Pkg{fontspec}) ã®æ¹æ³ã§æåã§æå®ããå¿
è¦ãããï¼
%
+
%\section{Changing Parameters}
%\section{ãã©ã¡ã¼ã¿ã®å¤æ´}
-%\section{åéæ´æ¹}
%<*en>
There are many parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
@@ -1881,183 +1663,123 @@ parameters, you have to use commands \verb+\ltjsetparameter+ and
%<*ja>
\LuaTeX-jaã«ã¯å¤ãã®ãã©ã¡ã¼ã¿ãåå¨ããï¼ããã¦\LuaTeX ã®ä»æ§ã®ããã«ï¼
ãã®å¤ãã¯\TeX ã®ã¬ã¸ã¹ã¿ã«ã§ã¯ãªãï¼\LuaTeX-jaç¬èªã®æ¹æ³ã§ä¿æããã¦ããï¼
-ãã®ããï¼ãããã®ãã©ã¡ã¼ã¿ãè¨å®ã»åå¾ããããã«ã¯ \verb+\ltjsetparameter+ 㨠\verb+\ltjgetparameter+ ã
-ç¨ããå¿
è¦ãããï¼
+ãããã®ãã©ã¡ã¼ã¿ãè¨å®ã»åå¾ããããã«ã¯ \verb+\ltjsetparameter+ 㨠\verb+\ltjgetparameter+ ã
+ç¨ããï¼
%
-%<*zh>
-\LuaTeX-jaå
å«å¤§éçåæ°ï¼ä»¥æ§å¶æçç»èã
-设å®è¿äºåæ°éè¦ä½¿ç¨å½ä»¤ï¼\verb!\ltjsetparameter!å\verb!\ltjgetparameter!å½ä»¤ã
-%
-%\subsection{Editing the range of \textbf{JAchar}s}
+%\subsection{Editing the Range of \textbf{JAchar}s}
%\subsection{\textbf{JAchar}ã®ç¯å²ã®è¨å®}
-%\subsection{\textbf{JAchar}èå´è®¾å®}
-
+\label{ssec-setrange}
%<*en>
-To edit the range of \textbf{JAchar}s, you have to assign a non-zero
-natural number which is less than 217 to the character range first. This
-can be done by using \verb+\ltjdefcharrange+ primitive. For example, the
-next line assigns whole characters in Supplementary Ideographic Plane
-and the character `æ¼¢' to the range number~100.
+\LuaTeX-ja divides the Unicode codespace \texttt{U+0080}--\texttt{U+10FFFF}
+into \emph{character ranges},
+numbered 1 to 217. The grouping can be (globally) customized by \verb+\ltjdefcharrange+.
+The next line adds whole characters in Supplementary Ideographic Plane
+and the character ``æ¼¢'' to the character range~100.
%
%<*ja>
-\textbf{JAchar}ã®ç¯å²ãè¨å®ããããã«ã¯ï¼ã¾ãåæåã«0ãã大ãã217ããå°ããindexã
-å²ãå½ã¦ãå¿
è¦ãããï¼ããã«ã¯ \verb+\ltjdefcharrange+ ããªããã£ããç¨ããï¼
-ä¾ãã°ï¼æ¬¡ã®ããã«æ¸ããã¨ã§è¿½å æ¼¢åé¢(SIP)ã«ããå
¨ã¦ã®æåã¨`æ¼¢'ã
-ã100çªã®æåç¯å²ãã«å±ããããã«è¨å®ãããï¼
+\LuaTeX-jaã¯ï¼Unicodeã® \texttt{U+0080}--\texttt{U+10FFFF} ã®ç©ºéã
+1çªãã217çªã¾ã§ã®\emph{æåç¯å²}ã«åå²ãã¦ããï¼
+åºåã㯠\verb+\ltjdefcharrange+ ãç¨ãããã¨ã§ï¼ã°ãã¼ãã«ã«ï¼å¤æ´ãããã¨ãã§ãï¼
+ä¾ãã°ï¼æ¬¡ã¯è¿½å æ¼¢åé¢(SIP)ã«ããå
¨ã¦ã®æåã¨ãæ¼¢ããã100çªã®æåç¯å²ãã«è¿½å ããï¼
%
-%<*zh>
-å¨è®¾å®\textbf{JAchar}ä¹åï¼éè¦åé
ä¸ä¸ªå°äº217çèªç¶æ°ã
-è¿ä¸ªå¯ä»¥ç±\verb!\ltjdefcharrange!åºæ¬è¯å¥æ¥å®æãä¾å¦ï¼
-ä¸é¢å°±åé
äºæ´ä¸ªè¡¨ææåè¡¥å
å¹³é¢åæ±åâæ¼¢â为100ã
-%
\begin{lstlisting}
-\ltjdefcharrange{100}{"10000-"1FFFF,`æ¼¢}
+\ltjdefcharrange{100}{"20000-"2FFFF,`æ¼¢}
\end{lstlisting}
%<*en>
-This assignment of numbers to ranges are always global, so you should
-not do this in the middle of a document.
-%
-%<*ja>
-ãã®æåç¯å²ã®å²ãå½ã¦ã¯å¸¸ã«ã°ãã¼ãã«ã§ããï¼ãããã£ã¦ææ¸ã®éä¸ã§
-ãã®æä½ãããã¹ãã§ã¯ãªãï¼
-%
-%<*zh>
-èå´æ°çåé
æ¯å
¨å±çï¼æ
ä½ ä¸å¯å¨ææ¡£ä¸ä½¿ç¨ã
-%
-
-%<*en>
-If some character has been belonged to some non-zero numbered range,
-this will be overwritten by the new setting. For example, whole SIP
-belong to the range~4 in the default setting of \LuaTeX-ja, and if you
-specify the above line, then SIP will belong to the range~100 and be
+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,
+and if you execute the above line, then SIP will belong to the range~100 and be
removed from the range~4.
%
%<*ja>
-ããæå®ãããããæåãããéé¶çªå·ã®ç¯å²ã«å±ãã¦ãããªãã°ï¼ããã¯æ°ããè¨å®ã§
-ä¸æ¸ããããï¼ä¾ãã°ï¼SIPã¯å
¨ã¦\LuaTeX-jaã®ããã©ã«ãã§ã¯4çªã®æåç¯å²ã«
+åæåã¯ãã ä¸ã¤ã®æåç¯å²ã«æå±ãããã¨ãã§ããï¼
+ä¾ãã°ï¼SIPã¯å
¨ã¦\LuaTeX-jaã®ããã©ã«ãã§ã¯4çªã®æåç¯å²ã«
å±ãã¦ãããï¼ä¸è¨ã®æå®ãè¡ãã°SIPã¯100çªã«å±ãããã«ãªãï¼4çªããã¯é¤ãããï¼
%
-%<*zh>
-å¦ææäºå符被æ¹å为æ°çéé¶æ°èå´ï¼å°ä¼è¢«æ°è®¾å®éåã
-ä¾å¦ï¼æ´ä¸ªSIPå¨\LuaTeX-jaé»è®¤è®¾å®ä¸å±äºèå´4ï¼å¦æä½ ä½¿ç¨å¦ä¸è®¾å®ï¼
-SIPå°ä¼è¢«è®¾å®ä¸ºèå´100ï¼ä¸ä»èå´4ç§ç§»é¤ã
-%
%<*en>
-After assigning numbers to ranges, the \textsf{jacharrange} parameter can
-be used to customize which character range will be treated as ranges of
-\textbf{JAchar}s, as the following line (this is just the default
-setting of \LuaTeX-ja):
+The distinction between \textbf{ALchar} and \textbf{JAchar} is done for character ranges.
+This can be edited by setting the \textsf{jacharrange} parameter.
+For example, this 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}.
+\end{itemize}
%
%<*ja>
-æåç¯å²ã«çªå·ãå²ãå½ã¦ãå¾ã¯ï¼\textsf{jacharrange}ãã©ã¡ã¼ã¿ã\textbf{JAchar}ã¨
-ãã¦æ±ãããæåã®ç¯å²ãè¨å®ããããã«ç¨ããããï¼ä¾ãã°ï¼ä»¥ä¸ã¯\LuaTeX-jaã®
-åæè¨å®ã§ããï¼
+\textbf{ALchar}ã¨\textbf{JAchar}ã®åºå¥ã¯æåç¯å²ãã¨ã«è¡ãããï¼
+ããã¯\textsf{jacharrange}ãã©ã¡ã¼ã¿ã«ãã£ã¦ç·¨éã§ããï¼
+ä¾ãã°ï¼ä»¥ä¸ã¯\LuaTeX-jaã®åæè¨å®ã§ããï¼æ¬¡ã®å
容ãè¨å®ãã¦ããï¼
+\begin{itemize}
+ \item 1çªï¼4çªï¼5çªã®æåç¯å²ã«å±ããæåã¯\textbf{ALchar}ï¼
+ \item 2çªï¼3çªï¼6çªï¼7çªï¼8çªã®æåç¯å²ã«å±ããæåã¯\textbf{JAchar}ï¼
+\end{itemize}
%
-%<*zh>
-åé
äºèå´æ°ä¹åï¼\textsf{jacharrange}åæ°å°ç¨äºè®¾å®å符èå´ä¸º\textbf{JAchar}ï¼
-å¦ä¸ï¼ä¸º\LuaTeX-jaé»è®¤è®¾å®ï¼ï¼
-%
\begin{verbatim}
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
\end{verbatim}
%<*en>
-The argument to \textsf{jacharrange} parameter is a list of integer.
-Negative integer $-n$ in the list means that `the characters that belong to
-range~$n$ are treated as \textbf{ALchar}', and positive integer $+n$ means
-that `the characters that belong to range~$n$ are treated as \textbf{JAchar}'.
+The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
+Negative integer $-n$ in the list means that ``each character in the range~$n$ is an
+\textbf{ALchar}'',
+and positive integer $+n$ meansthat ``\dots\ is a \textbf{JAchar}''.
%
%<*ja>
-\textsf{jacharrange}ãã©ã¡ã¼ã¿ã«ã¯æ´æ°ã®ãªã¹ããä¸ããï¼
+\textsf{jacharrange}ãã©ã¡ã¼ã¿ã®å¼æ°ã¯éé¶ã®æ´æ°ã®ãªã¹ãã§ããï¼
ãªã¹ãä¸ã®è² ã®æ´æ°$-n$ã¯ãæåç¯å²$n$ã«å±ããæåã¯\textbf{ALchar}ã¨ãã¦
-æ±ãããããã¨ãæå³ãï¼æ£ã®æ´æ°$+n$ã¯\textbf{JAchar}ã¨ãã¦æ±ããã¨ãæå³ããï¼
+æ±ãããã¨ãæå³ãï¼æ£ã®æ´æ°$+n$ã¯ã\textbf{JAchar}ã¨ãã¦æ±ãããã¨ãæå³ããï¼
%
-%<*zh>
-\textsf{jacharrange}åæ°çåéæªæ´æ°æ°ç»ã
-è´æ°$-n$å¨æ°ç»ä¸è¡¨ç¤ºâå符èå´$n$ä¸çå符被è§ä½\textbf{ALchar}âï¼
-æ£æ°$+n$å表示âå符èå´$n$被è§ä½\textbf{JAchar}âã
-%
%<*en>
-\paragraph{Default Setting}
+\paragraph{Default setting}
\LuaTeX-ja predefines eight character ranges for convenience. They are
determined from the following data:
%
%<*ja>
\paragraph{åæè¨å®}
-\LuaTeX-jaã§ã¯8ã¤ã®æåç¯å²ãè¨å®ãã¦ããï¼ãããã¯ä»¥ä¸ã®ãã¼ã¿ã«åºã¥ãã¦æ±ºå®ãã¦
-ããï¼
+\LuaTeX-jaã§ã¯8ã¤ã®æåç¯å²ãäºãå®ç¾©ãã¦ããï¼
+ãããã¯ä»¥ä¸ã®ãã¼ã¿ã«åºã¥ãã¦æ±ºå®ãã¦ããï¼
%
-%<*zh>
-\paragraph{é»è®¤è®¾å®}
-\LuaTeX-jaé»è®¤è®¾å®äº8个å符èå´ãå¦ä¸è®¾å®ï¼
-%
\begin{itemize}
-%<*en>
-\item Blocks in Unicode~6.0.
-%
-%<*ja>
-\item Unicode~6.0ã®ãããã¯ï¼
-%
-%<*zh>
-\item Unicode~6.0åºå
-%
-%<*en>
-\item The \texttt{Adobe-Japan1-UCS2} mapping between a CID Adobe-Japan1-6 and Unicode.
-%
-%<*ja>
-\item \texttt{Adobe-Japan1-UCS2}ã«ããAdobe-Japan1-6ã®CIDã¨Unicodeã®éã®
- ãããã³ã°ï¼
-%
-%<*zh>
-\item å¨CID Adobe-Japan1-6åUnicodeä¹é´çæ å°\texttt{Adobe-Japan1-UCS2}ã
-%
-%<*en>
-\item The \Pkg{PXbase} bundle for \upTeX\ by Takayuki Yato.
-%
-%<*ja>
-\item å
«ç»å´ä¹æ°ã«ãã\upTeX ç¨ã®\Pkg{PXbase}ãã³ãã«ï¼
-%
-%<*zh>
-\item å
«ç»å´ä¹ç\Pkg{PXbase}å®å
ï¼\upTeX ä¸ä½¿ç¨ï¼ã
-%
+%\item Blocks in Unicode~6.0.
+%\item Unicode~6.0ã®ãããã¯ï¼
+%\item The \texttt{Adobe-Japan1-UCS2} mapping between a CID Adobe-Japan1-6 and Unicode.
+%\item Adobe-Japan1-6ã®CIDã¨Unicodeã®éã®å¯¾å¿è¡¨\texttt{Adobe-Japan1-UCS2}ï¼
+%\item The \Pkg{PXbase} bundle for \upTeX\ by Takayuki Yato.
+%\item å
«ç»å´ä¹æ°ã«ãã\upTeX ç¨ã®\Pkg{PXbase}ãã³ãã«ï¼
\end{itemize}
%<*en>
-Now we describe these eight ranges. The alphabet `J' or `A' after the
-number shows whether characters in the range is treated as
+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
+these eight ranges belongs to the character range~217.
%
%<*ja>
-以ä¸ã§ã¯ããã8ã¤ã®æåç¯å²ã«ã¤ãã¦è¨è¿°ããï¼çªå·ã®ãã¨ã®ã¢ã«ãã¡ããã`J'ã¨`A'
-ã¯ããã©ã«ãã§\textbf{JAchar}ã\textbf{ALchar}ãã表ãã¦ããï¼ãããã®è¨å®ã¯
+以ä¸ã§ã¯ããã8ã¤ã®æåç¯å²ã«ã¤ãã¦è¨è¿°ããï¼æ·»åã®ã¢ã«ãã¡ããããJããAã
+ã¯ï¼ãã®æåç¯å²å
ã®æåã\textbf{JAchar}ã\textbf{ALchar}ãã表ãã¦ããï¼ãããã®è¨å®ã¯
\texttt{PXbase}ãã³ãã«ã§å®ç¾©ããã¦ãã\texttt{prefercjk}ã¨é¡ä¼¼ã®ãã®ã§ããï¼
+ãªãï¼\texttt{U+0080} 以éã§ããã8ã¤ã®æåç¯å²ã«å±ããªãæåã¯ï¼217çªã®æåç¯å²ã«å±ãããã¨ã«ãªã£ã¦ããï¼
%
-%<*zh>
-ç°å¨æ们æè¿°8个å符èå´ãå¨æ°ååçâJâåâAâ表æ代表\textbf{JAchar}æè
æªè·éé»è®¤è®¾å®ã
-è¿äºè®¾å®ç±»ä¼¼äº\texttt{PXbase}ä¸ç\texttt{prefercjk}设å®ã
-%
\begin{description}
%<*en>
-\item[Range~8${}^{\text{J}}$] Symbols in the intersection of the upper half of ISO~8859-1
+\item[Range~8${}^{\text{J}}$] The intersection of the upper half of ISO~8859-1
(Latin-1 Supplement) and JIS~X~0208 (a basic character set for Japanese). This character range
consists of the following characters:
%
%<*ja>
\item[ç¯å²8${}^{\text{J}}$] ISO~8859-1ã®ä¸ä½é åï¼ã©ãã³1è£å©ï¼ã¨
- JIS~X~0208ã®å
±éé¨åã«ããè¨å·ï¼ãã®æåç¯å²ã¯
+ JIS~X~0208ã®å
±éé¨åï¼ãã®æåç¯å²ã¯
以ä¸ã®æåã§æ§æãããï¼
%
-%<*zh>
-\item[èå´8${}^\text{J}$] ISO 8859-1ï¼Latin-1è¡¥å
ï¼çä¸åé¨åJIS X 0208ï¼æ¥æåºæ¬å符éï¼çéå é¨åï¼å
å«ä¸åå符ï¼
-%
\begin{multicols}{2}
\begin{itemize}
\def\ch#1#2{\item \char"#1\ (\texttt{U+00#1}, #2)}%"
-%<*en>
\ch{A7}{Section Sign}
\ch{A8}{Diaeresis}
\ch{B0}{Degree sign}
@@ -2066,72 +1788,27 @@ number shows whether characters in the range is treated as
\ch{B6}{Paragraph sign}
\ch{D7}{Multiplication sign}
\ch{F7}{Division Sign}
-%
-%<*ja>
-\ch{A7}{ç¯è¨å·}
-\ch{A8}{ãã¬ã}
-\ch{B0}{度}
-\ch{B1}{æ£åã¯è² 符å·}
-\ch{B4}{ã¢ãã¥ã¼ãã»ã¢ã¯ã»ã³ã}
-\ch{B6}{段è½è¨å·}
-\ch{D7}{ä¹ç®è¨å·}
-\ch{F7}{é¤ç®è¨å·}
-%
-%<*zh>
-\ch{A7}{åè符}
-\ch{A8}{åé³ç¬¦}
-\ch{B0}{温度符å·}
-\ch{B1}{å å符å·}
-\ch{B4}{ç½®ä½å°é³}
-\ch{B6}{段è½ç¬¦å·}
-\ch{D7}{ä¹å·}
-\ch{F7}{é¤å·}
-%
\end{itemize}
\end{multicols}
%<*en>
\item[Range~1${}^{\text{A}}$] Latin characters that some of them are included in Adobe-Japan1-6.
-This range consist of the following Unicode ranges, \emph{except characters in the range~8 above}:
+This range consists of the following Unicode ranges, \emph{except characters in the range~8 above}:
%
%<*ja>
-\item[ç¯å²1${}^{\text{A}}$] ã©ãã³æåï¼ä¸é¨ã¯Adobe-Japan1-6ã«ãå«ã¾ãã¦ããï¼
- ãã®ç¯å²ã¯ä»¥ä¸ã®Unicodeã®ãããã¯ããæ§æããã¦ããï¼
- \textbf{ãã ãï¼ç¯å²8ã¯é¤ãï¼}
+\item[ç¯å²1${}^{\text{A}}$] ã©ãã³æåã®ãã¡ï¼Adobe-Japan1-6ã¨ã®å
±éé¨åããããã®ï¼
+ ãã®ç¯å²ã¯ä»¥ä¸ã®Unicodeã®ãããã¯ã®ãã¡
+ \emph{ç¯å²8ãé¤ãã}é¨åã§æ§æããã¦ããï¼
%
-%<*zh>
-\item[èå´1${}^\text{A}$] å
å«äºAdobe-Japan1-6ä¸çæä¸å符ï¼æ¤èå´å
å«ä¸å
- Unicodeåºåï¼ä½\textbf{ä¸å
æ¬ä¸è¿°æå°è¿çèå´8}ï¼
-%
\begin{multicols}{2}
\begin{itemize}
-%<*en>
\item \texttt{U+0080}--\texttt{U+00FF}: Latin-1 Supplement
\item \texttt{U+0100}--\texttt{U+017F}: Latin Extended-A
\item \texttt{U+0180}--\texttt{U+024F}: Latin Extended-B
\item \texttt{U+0250}--\texttt{U+02AF}: IPA Extensions
\item \texttt{U+02B0}--\texttt{U+02FF}: Spacing Modifier Letters
-\item \texttt{U+0300}--\texttt{U+036F}: Combining Diacritical Marks
-\item \texttt{U+1E00}--\texttt{U+1EFF}: Latin Extended Additional
-%
-%<*ja>
-\item \texttt{U+0080}--\texttt{U+00FF}: ã©ãã³1è£å©
-\item \texttt{U+0100}--\texttt{U+017F}: ã©ãã³æåæ¡å¼µA
-\item \texttt{U+0180}--\texttt{U+024F}: ã©ãã³æåæ¡å¼µB
-\item \texttt{U+0250}--\texttt{U+02AF}: IPAæ¡å¼µï¼å½éé³å£°è¨å·ï¼
-\item \texttt{U+02B0}--\texttt{U+02FF}: åé²ãä¼´ã修飾æå
-\item \texttt{U+0300}--\texttt{U+036F}: ãã¤ã¢ã¯ãªãã£ã«ã«ãã¼ã¯ï¼åæå¯è½ï¼
-\item \texttt{U+1E00}--\texttt{U+1EFF}: ã©ãã³æåæ¡å¼µè¿½å
-%
-%<*zh>
-\item \texttt{U+0080}--\texttt{U+00FF}: æä¸åæ¯è¡¥å
-1
-\item \texttt{U+0100}--\texttt{U+017F}: æä¸åæ¯æ©å
-A
-\item \texttt{U+0180}--\texttt{U+024F}: æä¸åæ¯æ©å
-B
-\item \texttt{U+0250}--\texttt{U+02AF}: å½é
é³æ æ©å
-\item \texttt{U+02B0}--\texttt{U+02FF}: è¿æ ¼ä¿®é¥°ç¬¦å
-\item \texttt{U+0300}--\texttt{U+036F}: ç»åé³æ éå 符å·
-\item \texttt{U+1E00}--\texttt{U+1EFF}: æä¸åæ¯æ©å
éå
-%
+\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}
@@ -2140,29 +1817,14 @@ This range consist of the following Unicode ranges, \emph{except characters in t
fonts) has some of these characters.
%
%<*ja>
-\item[ç¯å²2${}^{\text{J}}$] ã®ãªã·ã£æåã¨ããªã«æåï¼JIS~X~0208ï¼ãããã£ã¦å¤ãã®
+\item[ç¯å²2${}^{\text{J}}$] ã®ãªã·ã£æåã¨ããªã«æåï¼JIS~X~0208ï¼ãããã£ã¦ã»ã¨ãã©ã®
åæãã©ã³ãï¼ã¯ãããã®æåãæã¤ï¼
%
-%<*zh>
-\item[èå´2${}^\text{J}$] å¸è
æå西éå°åæ¯ï¼ä½¿ç¨JIS X 0208ç大é¨åæ¥æåä½å
å«è¿äºå符ï¼
-%
\begin{multicols}{2}
\begin{itemize}
-%<*en>
\item \texttt{U+0370}--\texttt{U+03FF}: Greek and Coptic
\item \texttt{U+0400}--\texttt{U+04FF}: Cyrillic
\item \texttt{U+1F00}--\texttt{U+1FFF}: Greek Extended
-%
-%<*ja>
-\item \texttt{U+0370}--\texttt{U+03FF}: ã®ãªã·ã¢æååã³ã³ããæå
-\item \texttt{U+0400}--\texttt{U+04FF}: ããªã«æå
-\item \texttt{U+1F00}--\texttt{U+1FFF}: ããªã«æåè£å©
-%
-%<*zh>
-\item \texttt{U+0370}--\texttt{U+03FF}: å¸è
åæ¯
-\item \texttt{U+0400}--\texttt{U+04FF}: 西éå°åæ¯
-\item \texttt{U+1F00}--\texttt{U+1FFF}: å¸è
ææ©å
-%
\\\
\end{itemize}
\end{multicols}
@@ -2174,24 +1836,13 @@ This range consist of the following Unicode ranges, \emph{except characters in t
\item[ç¯å²3${}^{\text{J}}$] å¥èªç¹ã¨è¨å·é¡ï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng3}%
ã«ç¤ºãã¦ããï¼
%
-%<*zh>
-\item[èå´3${}^\text{J}$] æ ç¹ä»¥åæ项符å·ï¼åè§è¡¨\ref{table-rng3}ã
-%
\begin{table}[!tb]
-%<*en>
-\caption{Unicode blocks in predefined character range~3.}
-%
-%<*ja>
-\caption{æåç¯å²3ã«æå®ããã¦ããUnicodeãããã¯ï¼}
-%
-%<*zh>
-\caption{å符èå´3å®ä¹çUnicodeèå´}
-%
+%\caption{Unicode blocks in predefined character range~3.}
+%\caption{æåç¯å²3ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng3}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
-\begin{center}\small
+\centering\small
\begin{tabular}{llll}
-%<*en>
"2000--"206F&General Punctuation&
"2070--"209F&Superscripts and Subscripts\\
"20A0--"20CF&Currency Symbols&
@@ -2209,53 +1860,8 @@ This range consist of the following Unicode ranges, \emph{except characters in t
"2700--"27BF&Dingbats&
"2900--"297F&Supplemental Arrows-B\\
"2980--"29FF&Misc.\ Mathematical Symbols-B&
-"2B00--"2BFF&Miscellaneous Symbols and Arrows\\
-"E000--"F8FF&Private Use Area&
-%
-%<*ja>
-"2000--"206F&ä¸è¬å¥èªç¹&
-"2070--"209F&ä¸ä»ãã»ä¸ä»ã\\
-"20A0--"20CF&é貨è¨å·&
-"20D0--"20FF&è¨å·ç¨ãã¤ã¢ã¯ãªãã£ã«ã«ãã¼ã¯ï¼åæå¯è½ï¼\\
-"2100--"214F&æåæ§è¨å·&
-"2150--"218F&æ°åã«æºãããã®\\
-"2190--"21FF&ç¢å°&
-"2200--"22FF&æ°å¦è¨å·ï¼æ¼ç®åï¼\\
-"2300--"23FF&ãã®ä»ã®æè¡ç¨è¨å·&
-"2400--"243F&å¶å¾¡æ©è½ç¨è¨å·\\
-"2500--"257F&罫ç·ç´ ç&
-"2580--"259F&ãããã¯è¦ç´ \\
-"25A0--"25FF&å¹¾ä½å¦æ¨¡æ§&
-"2600--"26FF&ãã®ä»ã®è¨å·\\
-"2700--"27BF&è£
飾è¨å·&
-"2900--"297F&è£å©ç¢å°B\\
-"2980--"29FF&ãã®ä»ã®æ°å¦è¨å·B&
-"2B00--"2BFF&ãã®ä»ã®è¨å·åã³ç¢å°\\
-"E000--"F8FF&ç§ç¨é åï¼å¤åé åï¼&
-%
-%<*zh>
-"2000--"206F&ä¸è¬æ ç¹ç¬¦å·&
-"2070--"209F&ä¸æ åä¸æ \\
-"20A0--"20CF&è´§å¸ç¬¦å·&
-"20D0--"20FF& 符å·ç¨ç»åéå 符å·\\
-"2100--"214F&ç±»åæ¯ç¬¦å·&
-"2150--"218F&æ°åå½¢å¼\\
-"2190--"21FF&ç®å¤´ç¬¦å·&
-"2200--"22FF&æ°å¦è¿ç®ç¬¦å·\\
-"2300--"23FF&æ项ææ¯ç¬¦å·&
-"2400--"243F&æ§å¶å¾å\\
-"2500--"257F&å¶è¡¨ç¬¦&
-"2580--"259F&åºåå
ç´ \\
-"25A0--"25FF&å ä½å½¢ç¶&
-"2600--"26FF&æ项符å·\\
-"2700--"27BF&ä»é¦ç¬¦å·&
-"2900--"297F&è¡¥å
æ§ç®å¤´-B\\
-"2980--"29FF&æ··åæ°å¦ç¬¦å·-B&
-"2B00--"2BFF&æ项符å·åç®å¤´ç¬¦å·\\
-"E000--"F8FF&ç§ç¨åºå&
-%
+"2B00--"2BFF&Miscellaneous Symbols and Arrows
\end{tabular}
-\end{center}
\end{table}
%<*en>
\item[Range~4${}^{\text{A}}$] Characters usually not in Japanese fonts. This range consists
@@ -2269,50 +1875,23 @@ This range consist of the following Unicode ranges, \emph{except characters in t
ã§æ§æããã¦ããï¼ãããã£ã¦ï¼ãããã¯ã®ãªã¹ãã示ã
代ããã«ï¼ç¯å²ã®å®ç¾©ãã®ãã®ã示ãï¼
%
-%<*zh>
-\item[èå´4${}^\text{A}$] é常æ
åµä¸ä¸å
å«äºæ¥æåä½çé¨åãæ¬èå´å
å«æå
¶ä»
-èå´å°æªæ¶µçé¨åãæ
ï¼æ们ç´æ¥ç»åºå®ä¹ï¼
-%
\begin{lstlisting}
\ltjdefcharrange{4}{%
"500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
- "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB50-"FE0F,
- "FE20-"FE2F, "FE70-"FEFF, "FB00-"FB4F, "10000-"1FFFF} % non-Japanese
+ "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
+ "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese
\end{lstlisting}
-%<*en>
-\item[Range~5${}^{\text{A}}$] Surrogates and Supplementary Private Use Areas.
-%
-%<*ja>
-\item[ç¯å²5${}^{\text{A}}$] 代ç¨ç¬¦å·ã¨è£å©ç§ç¨é åï¼
-%
-%<*zh>
-\item[èå´5${}^\text{A}$] 代æ¿ä»¥åè¡¥å
ç§æ使ç¨åºåã
-%
-%<*en>
-\item[Range~6${}^{\text{J}}$] Characters used in Japanese. The block list is indicated in Table~\ref{table-rng6}.
-%
-%<*ja>
-\item[ç¯å²6${}^{\text{J}}$] æ¥æ¬èªã§ç¨ããããæåï¼ãããã¯ã®ãªã¹ãã¯
- 表\ref{table-rng6}ã«ç¤ºãï¼
-%
-%<*zh>
-\item[èå´6${}^\text{J}$] æ¥æå符ã
-%
+%\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}ã«ç¤ºãï¼
\begin{table}[!tb]
-%<*en>
-\caption{Unicode blocks in predefined character range~6.}
-%
-%<*ja>
-\caption{æåç¯å²6ã«æå®ããã¦ããUnicodeãããã¯ï¼}
-%
-%<*zh>
-\caption{å符èå´6å®ä¹çUnicodeèå´}
-%
+%\caption{Unicode blocks in predefined character range~6.}
+%\caption{æåç¯å²6ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng6}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
-\begin{center}\small
+\centering\small
\begin{tabular}{llll}
-%<*en>
"2460--"24FF&Enclosed Alphanumerics&
"2E80--"2EFF&CJK Radicals Supplement\\
"3000--"303F&CJK Symbols and Punctuation&
@@ -2328,46 +1907,9 @@ This range consist of the following Unicode ranges, \emph{except characters in t
"FE10--"FE1F&Vertical Forms&
"FE30--"FE4F&CJK Compatibility Forms\\
"FE50--"FE6F&Small Form Variants&
-"{20}000--"{2F}FFF&(Supplementary Ideographic Plane)
-%
-%<*ja>
-"2460--"24FF&å²ã¿è±æ°å&
-"2E80--"2EFF&CJKé¨é¦è£å©\\
-"3000--"303F&CJKã®è¨å·åã³å¥èªç¹&
-"3040--"309F&平仮å\\
-"30A0--"30FF&çä»®å&
-"3190--"319F&æ¼¢æç¨è¨å·ï¼è¿ãç¹ï¼\\
-"31F0--"31FF&çä»®åæ¡å¼µ&
-"3200--"32FF&å²ã¿CJKæåã»æ\\
-"3300--"33FF&CJKäºæç¨æå&
-"3400--"4DBF&CJKçµ±åæ¼¢åæ¡å¼µA\\
-"4E00--"9FFF&CJKçµ±åæ¼¢å&
-"F900--"FAFF&CJKäºææ¼¢å\\
-"FE10--"FE1F&縦æ¸ãå½¢&
-"FE30--"FE4F&CJKäºæå½¢\\
-"FE50--"FE6F&å°åå½¢&
-"{20}000--"{2F}FFF&ï¼è¿½å æ¼¢åé¢ï¼
-%
-%<*zh>
-"2460--"24FF&åç¶åæ¯æ°å&
-"2E80--"2EFF&CJKé¨é¦è¡¥å
\\
-"3000--"303F&CJKæ ç¹ç¬¦å·&
-"3040--"309F&å¹³åå\\
-"30A0--"30FF&çåå&
-"3190--"319F&æ±ææ 注å·\\
-"31F0--"31FF&çååé³æ è¡¥å
&
-"3200--"32FF&åç¶CJKåæ¯åæ份\\
-"3300--"33FF&CJKå
¼å®¹&
-"3400--"4DBF&CJKç»ä¸è¡¨ææåæ©å
A\\
-"4E00--"9FFF&CJKç»ä¸è¡¨ææå&
-"F900--"FAFF&CJKå
¼å®¹è¡¨ææå\\
-"FE10--"FE1F&ç´è¡æ ç¹&
-"FE30--"FE4F&CJKå
¼å®¹å½¢å¼\\
-"FE50--"FE6F&å°ååä½&
-"{20}000--"{2F}FFF&ï¼è¡¥å
å符ï¼
-%
+"{20}000--"{2F}FFF&(Supplementary Ideographic Plane)\\
+"{E0}100--"{E0}1EF&Variation Selectors Supplement
\end{tabular}
-\end{center}
\end{table}
%<*en>
\item[Range~7${}^{\text{J}}$] Characters used in CJK languages, but not included in Adobe-Japan1-6.
@@ -2378,24 +1920,13 @@ The block list is indicated in Table~\ref{table-rng7}.
å«ã¾ãã¦ããªããã®ï¼
ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng7}ã«ç¤ºãï¼
%
-%<*zh>
-\item[èå´7${}^\text{J}$] ä¸å
å«äºAdobe-Japan1-6çCJKå符ï¼åè§è¡¨\ref{table-rng7}ã
-%
\begin{table}[!tb]
-%<*en>
-\caption{Unicode blocks in predefined character range~7.}
-%
-%<*ja>
-\caption{æåç¯å²7ã«æå®ããã¦ããUnicodeãããã¯ï¼}
-%
-%<*zh>
-\caption{å符èå´7å®ä¹çUnicodeèå´}
-%
+%\caption{Unicode blocks in predefined character range~7.}
+%\caption{æåç¯å²7ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng7}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
-\begin{center}\small
+\centering\small
\begin{tabular}{llll}
-%<*en>
"1100--"11FF&Hangul Jamo&
"2F00--"2FDF&Kangxi Radicals\\
"2FF0--"2FFF&Ideographic Description Characters&
@@ -2408,55 +1939,17 @@ The block list is indicated in Table~\ref{table-rng7}.
"A830--"A83F&Common Indic Number Forms\\
"AC00--"D7AF&Hangul Syllables&
"D7B0--"D7FF&Hangul Jamo Extended-B
-%
-%<*ja>
-"1100--"11FF&ãã³ã°ã«åæ¯&
-"2F00--"2FDF&康çé¨é¦\\
-"2FF0--"2FFF&æ¼¢åæ§æè¨è¿°æå&
-"3100--"312F&注é³åæ¯ ï¼æ³¨é³ç¬¦å·ï¼\\
-"3130--"318F&ãã³ã°ã«äºæåæ¯&
-"31A0--"31BF&注é³åæ¯æ¡å¼µ\\
-"31C0--"31EF&CJKã®çç»&
-"A000--"A48F&ã¤æå\\
-"A490--"A4CF&ã¤æåé¨é¦&
-"A830--"A83F&å
±éã¤ã³ãæ°åã«æºãããã®\\
-"AC00--"D7AF&ãã³ã°ã«é³ç¯æå&
-"D7B0--"D7FF&ãã³ã°ã«åæ¯æ¡å¼µB
-%
-%<*zh>
-"1100--"11FF&è°æåæ¯&
-"2F00--"2FDF&康çé¨é¦\\
-"2FF0--"2FFF&æ±åç»ææè¿°å符&
-"3100--"312F&注é³åæ¯\\
-"3130--"318F&è°æå
¼å®¹åæ¯&
-"31A0--"31BF&注é³åæ¯æ©å
\\
-"31C0--"31EF&CJKç¬å&
-"A000--"A48F&å½æé³è\\
-"A490--"A4CF&å½æåæ¯&
-"A830--"A83F&ä¸è¬å°åº¦æ°å\\
-"AC00--"D7AF&è°æé³è&
-"D7B0--"D7FF&è°æåæ¯æ©å
-B
-%
\end{tabular}
-\end{center}
\end{table}
\end{description}
%\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%\subsection{\Param{kanjiskip}ã¨\Param{xkanjiskip}}
-%\subsection{\Param{kanjiskip}å\Param{xkanjiskip}}
\label{subs-kskip}
-%<*en>
-\textbf{JAglue} is divided into the following three categories:
-%
-%<*ja>
-\textbf{JAglue}ã¯ä»¥ä¸ã®3ã¤ã®ã«ãã´ãªã«åé¡ãããï¼
-%
-%<*zh>
-\textbf{JAglue}å为以ä¸ä¸ä¸ªèç´ï¼
-%
+%\textbf{JAglue} is divided into the following three categories:
+%\textbf{JAglue}ã¯ä»¥ä¸ã®3ã¤ã®ã«ãã´ãªã«åé¡ãããï¼
\begin{itemize}
%<*en>
\item Glues/kerns specified in JFM. If \verb+\inhibitglue+ is issued
@@ -2467,114 +1960,97 @@ The block list is indicated in Table~\ref{table-rng7}.
\item JFMã§æå®ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼ãã \verb+\inhibitglue+ ãåææåã®å¨ãã§
çºè¡ããã¦ããã°ï¼ãã®ã°ã«ã¼ã¯æ¿å
¥ãããªãï¼
%
-%<*zh>
-\item JFM设å®çè¶æåºæ ¼å¼ãå¦æå¨ä¸ä¸ªæ¥æå符éè¿ä½¿ç¨\verb!\inhibitglue!ï¼åè¶ä¾¿ä¸ä¼æå
¥ã
-%
%<*en>
\item The default glue which inserted between two \textbf{JAchar}s (\Param{%
kanjiskip}).
%
%<*ja>
-\item ããã©ã«ãã§2ã¤ã®\textbf{JAchar}ã®éã«æ¿å
¥ãããã°ã«ã¼(\Param{kanjiskip})ï¼
+\item ããã©ã«ãã§2ã¤ã®\textbf{JAchar}ã®éã«æ¿å
¥ãããã°ã«ã¼(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})ï¼
%
-%<*zh>
-\item 两个\textbf{JAchar}ä¹é´é»è®¤æå
¥çè¶ï¼\Param{kanjiskip}ï¼ã
-%
%<*en>
\item The default glue which inserted between a \textbf{JAchar} and an
- \textbf{ALchar} (\Param{xkanjiskip}).
+ \textbf{ALchar} (\Param{\hyperlink{fld:xks}{xkanjiskip}}).
%
%<*ja>
-\item ããã©ã«ãã§\textbf{JAchar}ã¨\textbf{ALchar}ã®éã«æ¿å
¥ãããã°ã«ã¼(\Param{xkanjiskip})ï¼
+\item ããã©ã«ãã§\textbf{JAchar}ã¨\textbf{ALchar}ã®éã«æ¿å
¥ãããã°ã«ã¼(\Param{\hyperlink{fld:xks}{xkanjiskip}})ï¼
%
-%<*zh>
-\item \textbf{JAchar}å\textbf{ALchar}ä¹é´é»è®¤æå
¥çè¶ï¼\Param{xkanjiskip}ï¼ã
-%
\end{itemize}
%<*en>
-The value (a skip) of \Param{kanjiskip} or \Param{xkanjiskip} can be
-changed as the following.
+The value (a skip) of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} or
+\Param{\hyperlink{fld:xks}{xkanjiskip}} can be changed as the following.
+Note that only their values \emph{at the end of a paragraph or a hbox are
+adopted in the whole paragraph or the whole hbox.
+}
%
%<*ja>
-\Param{kanjiskip}ã\Param{xkanjiskip}ã®å¤ã¯ä»¥ä¸ã®ããã«ãã¦å¤æ´å¯è½ã§ãã.
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®å¤
+ã¯ä»¥ä¸ã®ããã«ãã¦å¤æ´å¯è½ã§ããï¼
%
-%<*zh>
-\Param{kanjiskip}å\Param{xkanjiskip}ç设å®å¦ä¸æ示ï¼
-%
\begin{lstlisting}
\ltjsetparameter{kanjiskip={0pt plus 0.4pt minus 0.4pt},
xkanjiskip={0.25\zw plus 1pt minus 1pt}}
\end{lstlisting}
-
%<*en>
-It may occur that JFM contains the data of `ideal width of \Param{kanjiskip}'
-and/or `ideal width of \Param{xkanjiskip}'.
-To use these data from JFM, set the value of \Param{kanjiskip} or
-\Param{xkanjiskip} to \verb+\maxdimen+.
+Here \verb+\zw+ is a internal dimension
+which stores fullwidth of the current Japanese font.
+This \verb+\zw+ can be used as the unit \texttt{zw} in \pTeX.
+
+It may occur that JFM contains the data of ``ideal width of
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}''
+and/or ``ideal width of \Param{\hyperlink{fld:xks}{xkanjiskip}}''.
+To use these data from JFM, set the value of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} or
+\Param{\hyperlink{fld:xks}{xkanjiskip}} to \verb+\maxdimen+.
%
%<*ja>
-JFMã¯ãæã¾ãã\Param{kanjiskip}ã®å¤ãããæã¾ãã\Param{xkanjiskip}ã®å¤ãã
-æã£ã¦ãããã¨ãããï¼
-ãããã®ãã¼ã¿ã使ãããã«ã¯ï¼\Param{kanjiskip}ã\Param{xkanjiskip}ã®
-å¤ã \verb+\maxdimen+ ã®å¤ã«è¨å®ããã°ããï¼
+ããã§ï¼\verb+\zw+ ã¯ç¾å¨ã®åæãã©ã³ãã®å
¨è§å¹
ã表ãé·ãã§ããï¼
+\pTeX ã«ãããé·ãåä½ \texttt{zw} ã¨åãããã«ä½¿ç¨ã§ããï¼
+
+JFMã¯ãæã¾ãã\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã®å¤ãã
+ãæã¾ãã\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®å¤ããæã£ã¦ãããã¨ãããï¼
+ãããã®ãã¼ã¿ã使ãããã«ã¯ï¼\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã%
+\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®å¤ã \verb+\maxdimen+ ã®å¤ã«è¨å®ããã°ããï¼
%
-%<*zh>
-å½JFMå
å«â\Param{kanjiskip}çæ³å®½åº¦âå/æâ\Param{xkanjiskip}çæ³å®½åº¦âæ°æ®æ¶ï¼
-ä¸è¿°è®¾å®äº§çä½ç¨ãå¦ææ³ç¨JFMä¸çæ°æ®ï¼è¯·è®¾å®\Param{kanjiskip}æ\textsf{xkanjiskip}为\verb!\maxdimen!ã
-%
%\subsection{Insertion Setting of \Param{xkanjiskip}}
%\subsection{\Param{xkanjiskip} ã®æ¿å
¥è¨å®}
-%\subsection{\Param{xkanjiskip}æå
¥è®¾å®}
%<*en>
-It is not desirable that \Param{xkanjiskip} is inserted into every
+It is not desirable that \Param{\hyperlink{fld:xks}{xkanjiskip}} is inserted into every
boundary between \textbf{JAchar}s and \textbf{ALchar}s. For example,
-\Param{xkanjiskip} should not be inserted after opening parenthesis
-(\textit{e.g.}, compare `(ã' and `(\hskip\ltjgetparameter{xkanjiskip}ã').
-\LuaTeX-ja can control whether \Param{xkanjiskip} can be inserted
+\Param{\hyperlink{fld:xks}{xkanjiskip}} should not be inserted after opening parenthesis
+(\textit{e.g.}, compare ``(ã'' and ``(\hskip\ltjgetparameter{xkanjiskip}ã'').
+\LuaTeX-ja can control whether \Param{\hyperlink{fld:xks}{xkanjiskip}} can be inserted
before/after a character, by changing \Param{jaxspmode} for \textbf{JAchar}s and
\Param{alxspmode} parameters \textbf{ALchar}s respectively.
%
%<*ja>
-\Param{xkanjiskip}ããã¹ã¦ã®\textbf{JAchar}ã¨\textbf{ALchar}ã®å¢çã«
-æ¿å
¥ãããã®ã¯æã¾ãããã¨ã§ã¯ãªãï¼ä¾ãã°ï¼\Param{xkanjiskip}ã¯éãæ¬å¼§ã®
-å¾ã«ã¯æ¿å
¥ãããã¹ãã§ã¯ãªãï¼`(ã'ã¨`(\hskip\ltjgetparameter{xkanjiskip}ã'ã
+\Param{\hyperlink{fld:xks}{xkanjiskip}}ããã¹ã¦ã®\textbf{JAchar}ã¨\textbf{ALchar}ã®å¢çã«
+æ¿å
¥ãããã®ã¯æã¾ãããã¨ã§ã¯ãªãï¼ä¾ãã°ï¼\Param{\hyperlink{fld:xks}{xkanjiskip}}ã¯éãæ¬å¼§ã®
+å¾ã«ã¯æ¿å
¥ãããã¹ãã§ã¯ãªãï¼ã(ããã¨ã(\hskip\ltjgetparameter{xkanjiskip}ããã
æ¯ã¹ã¦ã¿ãï¼ï¼
-\LuaTeX-jaã§ã¯\Param{xkanjiskip}ãããæåã®åï¼å¾ã«æ¿å
¥ãããã©ãããï¼
+\LuaTeX-jaã§ã¯\Param{\hyperlink{fld:xks}{xkanjiskip}}ãããæåã®åï¼å¾ã«æ¿å
¥ãããã©ãããï¼
\textbf{JAchar}ã«å¯¾ãã¦ã¯\Param{jaxspmode}ãï¼\textbf{ALchar}ã«å¯¾ãã¦ã¯
\Param{alxspmode}ãããããå¤ãããã¨ã§å¶å¾¡ãããã¨ãã§ããï¼
%
-%<*zh>
-并ä¸æ¯å¨ææç\textbf{JAchar}å\textbf{ALchar}å¨å´æå
¥\textsf{xkanjiskip}é½æ¯åéçã
-æ¯å¦ï¼å¨å¼æ ç¹ä¹åæå
¥\Param{xkanjiskip}并ä¸åé[å¦ï¼æ¯è¾â(ãâåâ(\hskip\ltjgetparameter{xkanjiskip}ãâ]ã
-\LuaTeX-jaå¯ä»¥éè¿è®¾å®\textbf{JAchar}ç\Param{jaxspmode}以å\textbf{ALchar}ç\Param{alxspmode}æ¥æ§å¶
-\Param{xkanjiskip}å¨å符ååçæå
¥ã
-%
\begin{LTXexample}
\ltjsetparameter{jaxspmode={`ã,preonly}, alxspmode={`\!,postonly}}
pãq ã!ã
\end{LTXexample}
%<*en>
-The second argument \texttt{preonly} means `the insertion of
-\Param{xkanjiskip} is allowed before this character, but not after'.
-the other possible values are \texttt{postonly}, \texttt{allow} and \texttt{
-inhibit}.
+The second argument \texttt{preonly} means that the insertion of
+\Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before this character, but not after.
+the other possible values are \texttt{postonly}, \texttt{allow}, and \texttt{inhibit}.
%
%<*ja>
-2ã¤ç®ã®å¼æ°ã® \texttt{preonly}ã¯ã\Param{xkanjiskip}ã®æ¿å
¥ã¯ãã®æåã®
+2ã¤ç®ã®å¼æ°ã® \texttt{preonly}ã¯ã\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯ãã®æåã®
åã§ã®ã¿è¨±ããï¼å¾ã§ã¯è¨±ããªãããã¨ãæå³ããï¼ä»ã«æå®å¯è½ãªå¤ã¯
\texttt{postonly}, \texttt{allow}, \texttt{inhibit}ã§ããï¼
%
-%<*zh>
-第äºä¸ªåæ°\textsf{preonly}表示çå«ä¹ä¸ºâå
许å¨è¯¥å符åæå
¥\textsf{xkanjiskip}ï¼ä½ä¸å
许å¨è¯¥å符ä¹åæå
¥âã
-å
¶ä»åæ°è¿æ\textsf{postonly}ï¼\textsf{allow}å\textsf{inhibit}ã
-%
%<*en>
\Param{jaxspmode} and \Param{alxspmode} use a same table to store the parameters
-on the current version. Therefore, line 1 in the code above can be rewritten
+on the current version. Therefore, line~1 in the code above can be rewritten
as follows:
%
%<*ja>
@@ -2582,10 +2058,6 @@ as follows:
ä»æ§ã§ã¯ï¼\Param{jaxspmode}, \Param{alxspmode}ã¯ãã¼ãã«ãå
±æãã¦ããï¼
ä¸ã®ã³ã¼ãã®1è¡ç®ã次ã®ããã«å¤ãã¦ãåããã¨ã«ãªãï¼
%
-%<*zh>
-å½åçæ¬ç\Param{jaxspmode}å\Param{alxspmode}使ç¨ç¸åçç表ä¿ååæ°ã
-å æ¤ï¼ä¸ä¸è¡å¯è¢«åä½ï¼
-%
\begin{verbatim}
\ltjsetparameter{alxspmode={`ã,preonly}, jaxspmode={`\!,postonly}}
\end{verbatim}
@@ -2595,33 +2067,25 @@ One can use also numbers to specify these two parameters (see Subsection~\ref{ss
%<*ja>
ã¾ãï¼ããã2ãã©ã¡ã¼ã¿ã«ã¯æ°å¤ã§å¤ãæå®ãããã¨ãã§ããï¼\ref{ssec-param}ç¯ãåç
§ï¼ï¼
%
-%<*zh>
-ä½ ä¹å¯ä»¥ä½¿ç¨æ°åæ¥å®ä¹ä¸¤ä¸ªåæ°ï¼åè§\ref{ssec-param}ï¼ã
-%
%<*en>
-If you want to enable/disable all insertions of \Param{kanjiskip} and
-\Param{xkanjiskip}, set \Param{autospacing} and \Param{autoxspacing}
+If you want to enable/disable all insertions of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} and
+\Param{\hyperlink{fld:xks}{xkanjiskip}}, set \Param{autospacing} and \Param{autoxspacing}
parameters to \texttt{true}/\texttt{false}, respectively.
%
%<*ja>
-ããå
¨ã¦ã®\Param{kanjiskip}ã¨\Param{xkanjiskip}ã®æ¿å
¥ãæå¹åï¼ç¡å¹å
+ããå
¨ã¦ã®\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã¨\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ãæå¹åï¼ç¡å¹å
ããããã°ï¼ãããã\Param{autospacing}ã¨\Param{autoxspacing}ã
\texttt{true}/\texttt{false}ã«è¨å®ããã°ããï¼
%
-%<*zh>
-å¦æä½ æ³è¦å¯ç¨/å±è½ææç\Param{kanjiskip}å\Param{xkanjiskip}æå
¥ï¼è®¾å®
-\Param{autospacing}å\Param{autoxspcing}为\texttt{ture}/\texttt{false}å³å¯ã
-%
-%\subsection{Shifting Baseline}
+%\subsection{Shifting the baseline}
%\subsection{ãã¼ã¹ã©ã¤ã³ã®ç§»å}
-%\subsection{åºçº¿æµ®å¨}
%<*en>
To make a match between a Japanese font and an alphabetic font, sometimes
shifting of the baseline of one of the pair is needed. In \pTeX, this is achieved
by setting \verb+\ybaselineshift+ to a non-zero length (the
-baseline of alphabetic fonts is shifted below). However, for documents
+baseline of \textbf{ALchar} is shifted below). However, for documents
whose main language is not Japanese, it is good to shift the baseline of
Japanese fonts, but not that of alphabetic fonts.
Because of this, \LuaTeX-ja can independently set the shifting amount
@@ -2631,22 +2095,16 @@ parameter).
%
%<*ja>
åæãã©ã³ãã¨æ¬§æãã©ã³ããåãããããã«ã¯ï¼æã
ã©ã¡ããã®ãã¼ã¹ã©ã¤ã³ã®ç§»åã
-å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\verb+\ybaselineshift+ ãéé¶ã®é·ãã«è¨å®ãããã¨ã§
-ãªããã¦ããï¼æ¬§æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ãä¸ããï¼ï¼ãããï¼æ¥æ¬èªã主ã§ã¯ãªã
+å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\verb+\ybaselineshift+ ãè¨å®ãããã¨ã§
+ãªããã¦ããï¼\textbf{ALchar}ã®ãã¼ã¹ã©ã¤ã³ããã®åã ãä¸ããï¼ï¼ãããï¼æ¥æ¬èªã主ã§ã¯ãªã
ææ¸ã«å¯¾ãã¦ã¯ï¼æ¬§æãã©ã³ãã§ã¯ãªãåæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã移åããæ¹ãããï¼
ãã®ããï¼\LuaTeX-jaã§ã¯æ¬§æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
ï¼\Param{yalbaselineshift}ãã©ã¡ã¼ã¿ï¼ã¨åæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
ï¼\Param{yjabaselineshift}ãã©ã¡ã¼ã¿ï¼ãç¬ç«ã«è¨å®ã§ããããã«ãªã£ã¦ããï¼
%
-%<*zh>
-为äºç¡®ä¿æ¥æåä½å西æåä½è½å¤å¯¹å
¶ï¼ææ¶éè¦æµ®å¨å
¶ä¸ä¸è
çåºçº¿ã
-å¨\pTeX ä¸ï¼æ¤é¡¹è®¾å®ç±è®¾å®\verb!\yabaselineshift!为éé¶é¿åº¦ï¼è¥¿æåä½åºçº¿åºåä¸æµ®å¨ï¼ã
-ä¸è¿ï¼å¦æææ¡£çä¸ä¸»è¦è¯è¨ä¸æ¯æ¥æï¼é£ä¹æ好ä¸æµ®æ¥æåä½çåºçº¿ï¼è¥¿æåä½ä¸åã
-å¦ä¸æè¿°ï¼\LuaTeX-jaå¯ä»¥ç¬ç«è®¾å®è¥¿æåä½çåºçº¿ï¼\Param{yabaselineshift}åæ°ï¼åæ¥æåä½çåºçº¿ï¼\Param{yjabaselineshift}åæ°ï¼ã
-%
\begin{LTXexample}
-\vrule width 150pt height 0.4pt depth 0pt\hskip-120pt
+\vrule width 150pt height 0.4pt depth 0pt \hskip-120pt
\ltjsetparameter{yjabaselineshift=0pt, yalbaselineshift=0pt}abcããã
\ltjsetparameter{yjabaselineshift=5pt, yalbaselineshift=2pt}abcããã
\end{LTXexample}
@@ -2656,9 +2114,6 @@ Here the horizontal line in above is the baseline of a line.
%<*ja>
ä¸ã®ä¾ã«ããã¦å¼ããã¦ããæ°´å¹³ç·ããã¼ã¹ã©ã¤ã³ã§ããï¼
%
-%<*zh>
-ä¸è¿°æ°´å¹³çº¿ä¸ºæ¤è¡åºçº¿ã
-%
%<*en>
There is an interesting side-effect: characters in different size can be
@@ -2667,13 +2122,9 @@ The following is an example (beware the value is not well tuned):
%
%<*ja>
ãã®æ©è½ã«ã¯é¢ç½ã使ãæ¹ãããï¼2ã¤ã®ãã©ã¡ã¼ã¿ãé©åã«è¨å®ãããã¨ã§ï¼ãµã¤ãºã®
-ç°ãªãæåãä¸å¿ç·ã«æãããã¨ãã§ããã®ã ï¼
+ç°ãªãæåãä¸å¿ç·ã«æãããã¨ãã§ããï¼
以ä¸ã¯ä¸ã¤ã®ä¾ã§ããï¼å¤ã¯ãã¾ã調æ´ããã¦ããªããã¨ã«æ³¨æï¼ï¼
%
-%<*zh>
-è¿éè¿æä¸ä¸ªæ趣çå¯ä½ç¨ï¼ä¸å大å°çå符å¯ä»¥éè¿éå½è°æ´è¿ä¸¤ä¸ªåæ°èå¨ä¸è¡ä¸åç´å±
ä¸ã
-ä¸é¢æ¯ä¸ä¸ªä¾åï¼æ³¨æï¼åæ°å¼å¹¶æ²¡æå»æè°æ´ï¼ï¼
-%
\begin{LTXexample}
xyzæ¼¢å
{\scriptsize
@@ -2684,133 +2135,408 @@ xyzæ¼¢å
\end{LTXexample}
-%\subsection{Cropmark}
-%\subsection{ãã³ã}
-%\subsection{è£åªæ¡æ è®°}
+%<*ja>
+\paragraph{æ°å¼ã«ãããæåï¼\pTeX ã¨ã®éã}
+\textbf{ALchar}ã®ãã¼ã¹ã©ã¤ã³ãè£æ£ãã \Param{yalbaselineshift} ãã©ã¡ã¼ã¿ã¯
+ã»ã¼\pTeX ã«ããã \verb+\ybaselineshift+ ã«å¯¾å¿ãã¦ãããã®ã§ãããï¼
+æ°å¼ä¸ã®æåã¯ç°ãªã£ã¦ããã®ã§æ³¨æãå¿
è¦ã§ããï¼
+ä¾ãã°ï¼è¡¨\ref{tab:math_bsa}ã®ããã«ï¼æ°å¼ä¸ã«æ示çã«ç¾ãã \verb+\hbox+ ã¯ï¼
+\begin{itemize}
+ \item \pTeX ã§ã¯ï¼ããã¯ã¹å
¨ä½ã \verb+\ybaselineshift+ ã ã¨ã·ãããããã®ã§ï¼
+ 表\ref{tab:math_bsa}ä¸ã®``ã''ã®ããã«ï¼ããã¯ã¹ä¸ã®åææåã¯
+ \verb+\ybaselineshift+ã ãã·ããããï¼ä¸æ¹ï¼``for all''ã®ããã«ï¼
+ ããã¯ã¹å
ã®æ¬§ææåã¯2éã«ã·ããããããã¨ã«ãªãï¼
+ \item ä¸æ¹ï¼\LuaTeX-jaã§ã¯ãã®ãããªãã¨ã¯ããããï¼
+ æ°å¼ä¸ã«æ示çã«ç¾ãã \verb+\hbox+ ã¯ã·ããããªãï¼ãã®ããï¼
+ 表\ref{tab:math_bsa}ä¸ã®``ã''ã``for all''ãï¼ããããæ¬æä¸ã«
+ æ¸ãããã¨ãã¨åãä¸ä¸ä½ç½®ã«çµã¾ããï¼
+\end{itemize}
+\begin{table}
+\small\centering
+\caption{æ°å¼é¢ä¿ã®ãã¼ã¹ã©ã¤ã³è£æ£($\Param{yalbaselineshift}=10\,\textrm{pt}$)}
+\label{tab:math_bsa}
+\newdimen\origbaselineskip
+\origbaselineskip=\baselineskip
+\begin{tabular}{lp{30\zw}}
+\toprule
+\emph{å
¥å}&\vspace*{\dimexpr-\origbaselineskip-\smallskipamount}
+\begin{verbatim}
+æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2\!/2$,
+$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
+\end{verbatim}\\
+\noalign{\vskip-\origbaselineskip}
+\midrule
+\emph{\pTeX}&
+{\ltjsetparameter{yalbaselineshift=10pt}%
+æ°å¼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$,
+$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
+\par}\\
+\noalign{\vskip-\origbaselineskip}
+\bottomrule
+\end{tabular}
+\end{table}
+%
+
+%\part{Reference}
+%\part{ãªãã¡ã¬ã³ã¹}
+\label{part-ref}
+
+%<*ja>
+\section{\LuaTeX-jaã«ããã \texttt{\textbackslash catcode}}
+\subsection{äºåç¥èï¼\pTeX ã¨\upTeX ã«ããã \texttt{\textbackslash kcatcode}}
+\pTeXï¼\upTeX ã«ããã¦ã¯ï¼åææåãå¶å¾¡ç¶´å
ã§å©ç¨ã§ãããã©ãã
+㯠\verb+\kcatcode+ ã®å¤ã«ãã£ã¦æ±ºå®ãããã®ã§ãã£ãï¼
+詳細ã¯è¡¨\ref{table-kcat}ãåç
§ããããï¼
+%
+%<*en>
+\section{\texttt{\textbackslash catcode} in \LuaTeX-ja}
+\subsection{Preliminaries: \texttt{\textbackslash kcatcode} in \pTeX\ and \upTeX}
+In \pTeX~and~\upTeX, the value of \verb+\kcatcode+ determines
+whether a Japanese character can be used in a control word.
+For the detail, see Table~\ref{table-kcat}.
+%
+
+\begin{table}[t]
+\small
+\caption{\texttt{\textbackslash kcatcode} in \upTeX}
+\label{table-kcat}
+%\medskip
+\noindent\hfill
+\begin{tabular}{ccccc}
+\toprule
+\bfseries \verb+\kcatcode+&
%<*en>
-Cropmark is a mark for indicating 4~corners and horizontal/vertical
-center of the paper. In Japanese, we call cropmark as tombo(w).
-\pLaTeX\ and this \LuaTeX-ja support `tombow' by their kernel.
-The following steps are needed to typeset cropmark:
+\bfseries meaning&
+\bfseries control word&
+\bfseries widow penalty\hbox{}$^*$&
+\bfseries linebreak\\
%
%<*ja>
-ãã³ãã¯ç¨ç´ã®åã¤è§ã¨æ°´å¹³ï¼åç´æ¹åã®ä¸å¿ã表ãå°ã§ããï¼
-\pLaTeX 㨠\LuaTeX-jaã§ã¯ãã³ãã®åºåããµãã¼ããã¦ããï¼
-ãã³ããåºåããããã«ã¯ä»¥ä¸ã®æé ãå¿
è¦ã§ããï¼
+\bfseries æå³&
+\bfseries å¶å¾¡ç¶´ä¸ã«ä½¿ç¨&
+\bfseries æåã¦ã£ãã¦å¦ç\hbox{}$^*$&
+\bfseries ç´å¾ã§ã®æ¹è¡\\
+%
+\midrule
+15&non-cjk&\multicolumn{3}{c}{(treated as usual \LaTeX)}\\
+16&kanji&Y&Y&ignored\\
+17&kana&Y&Y&ignored\\
+18&other&N&N&ignored\\
+19&hangul&Y&Y&space\\
+\bottomrule
+\end{tabular}\hfill\null
+
+\medskip
+
+%<*ja>
+æåã¦ã£ãã¦å¦ç\hbox{}$^*$: ãæ¼¢åãä¸æåã ã次ã®è¡ã«è¡ãã®ãé²ãã\
+\texttt{\textbackslash jcharwidowpenalty} ãï¼
+ãã®æåã®ç´åã«æ¿å
¥ãããããå¦ãï¼ã示ãï¼
%
-%<*zh>
-è£åªæ¡æ è®°æ¯å¨ä¸é¡µçåè§åæ°´å¹³/åç´ä¸å¤®æ¾ç½®çæ è®°ãå¨æ¥æä¸ï¼è£åªæ¡è¢«ç§°ä¸ºâãã³ãâã
-\pLaTeX å\LuaTeX-jaåå¨åºå±æ¯æè£åªæ¡æ è®°ãéè¦ä¸åæ¥éª¤æ¥å®ç°ï¼
-%
+\end{table}
-\begin{enumerate}
%<*en>
-\item First, define the banner which will be printed at the upper left
- of the paper. This is done by assigning a token list to
- \verb+\@bannertoken+.
-
-For example, the following sets banner as `\texttt{filename (YYYY-MM-DD hh:mm)}':
+\verb+\kcatcode+ can be set by a row of JIS~X~0208 in \pTeX,
+and generally by a Unicode block\footnote{%
+ \upTeX\ divides \texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)
+ into three subblocks, and \texttt{\textbackslash kcatcode} can be set by a subblock.
+}
+in \upTeX. So characters which can be used in a control word
+slightly differ between \pTeX~and~\upTeX.
%
%<*ja>
-\item ã¾ãï¼ç¨ç´ã®å·¦ä¸ã«å°å·ãããããã¼ãå®ç¾©ããï¼ãã㯠\verb+\@bannertoken+
- ã«ãã¼ã¯ã³ãªã¹ããä¸ãããã¨ã§ãªãããï¼
+\pTeX ã§ã¯ \verb+\kcatcode+ ã¯JIS~X~0208ã®åºåä½ï¼
+\upTeX ã§ã¯æ¦ãUnicodeãããã¯åä½\footnote{%
+ \texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)ã¯
+ ãå
¨è§è±æ°åããåè§ã«ããããã®ä»ãã¨3ã¤ã«åå²ããã¦ããï¼
+ ããããå¥ã
ã« \texttt{\textbackslash kcatcode} ãæå®ã§ããããã«ãªã£ã¦ããï¼
+}ã§è¨å®å¯è½ã«ãªã£ã¦ããï¼ãã®ããï¼\pTeX ã¨\upTeX ã®åæç¶æ
ã§ã¯
+å¶å¾¡ç¶´å
ã§ä½¿ç¨å¯è½ãªæåãå¾®å¦ã«ç°ãªã£ã¦ããï¼
+%
-ä¾ãã°ï¼ä»¥ä¸ã¯ããã¼ã¨ãã¦`\texttt{filename (YYYY-MM-DD hh:mm)}'ãè¨å®ãã:
+%<*en>
+\subsection{Case of \LuaTeX-ja}
+The role of \verb+\kcatcode+ in \pTeX~and~\upTeX\ caan be
+divided into the following four kinds,
+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}.
+ \item
+\emph{Whether the character can be used in a control word}
+is controlled by setting \verb+\catcode+ to 11~(enabled) or 12~(disabled), as usual.
+ \item
+\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.
+\end{itemize}
+%
+%<*ja>
+\subsection{\LuaTeX-jaã®å ´å}
+\LuaTeX-jaã§ã¯ï¼å¾æ¥ã®\pTeXã»\upTeX ã«ããã \verb+\kcatcode+ ã®å½¹å²ã
+åå²ãã¦ããï¼
+\begin{description}
+ \item[欧æ/åæã®åºå¥ (\upTeX)]
+\verb+\ltjdefcharrange+ ã¨\textsf{jacharrange}ãã©ã¡ã¼ã¿ï¼\ref{ssec-setrange}ç¯ï¼
+ \item[å¶å¾¡ç¶´ä¸ã«ä½¿ç¨å¯ã]
+\LuaTeX èªèº«ã® \verb+\catcode+ ã§ãã
+ \item[\Param{jcharwidowpenalty}ãæ¿å
¥å¯ã]
+\Param{kcatcode}ãã©ã¡ã¼ã¿ã®æä¸ä½ããã
+ \item[ç´å¾ã®æ¹è¡ã®ç¡è¦]
+æ¥æ¬èªããæ³å®ãã¦ããªãã®ã§\textbf{JAchar}ã«ã¤ãã¦ã¯ä¸å¾æå¹
+\end{description}
%
-%<*zh>
-\item é¦å
ï¼é¦å
å®ä¹é¡µé¢å·¦ä¸è§å°ä¼åºç°ç注记ãè¿ç±å\verb!@bannertoken!åé
ä¸ä¸ªtokenåå®æã\\
-ä¾å¦ï¼ä¸åæ示å°ä¼è®¾å®æ³¨è®°ä¸ºâ\textsf{filename (YYYY-MM-DD hh:mm)}â:
-%
-\begin{verbatim}
-\makeatletter
+%<*en>
+Default setting of \verb+\catcode+ of \LuaTeX\ can be found
+in \texttt{luatex-unicode-letters.tex},
+which is based on \texttt{unicode-letters.tex} (for \XeTeX).
+However, the default setting of \verb+\catcode+ differs
+between \XeTeX\ and \LuaTeX, by the following reasons:
+\begin{itemize}
+ \item \texttt{luatex-unicode-letters.tex} is based on old \texttt{unicode-letters.tex}.
+ \item The latter half of \texttt{unicode-letters.tex} sets
+\verb+\catcode+ of Kanji and kana characters to 11,
+via setting \verb+\XeTeXcharclass+.
+
+However, this latter half is simply omitted in
+\texttt{luatex-unicode-letters.tex}, hence
+\verb+\catcode+ of Kanji and kana characters remains 12 in \LuaTeX.
+\end{itemize}
+In other words, Kanji nor kana characters cannot be used in
+a control word, in the default setting of \LuaTeX.
-\hour\time \divide\hour by 60 \@tempcnta\hour \multiply\@tempcnta 60\relax
-\minute\time \advance\minute-\@tempcnta
-\@bannertoken{%
- \jobname\space(\number\year-\two@digits\month-\two@digits\day
- \space\two@digits\hour:\two@digits\minute)}%
-\end{verbatim}
+This would be inconvenient for \pTeX~users to shifting to \LuaTeX-ja,
+since several control words containing Kanji, such as \verb+\西æ¦+,
+are used in \pTeX.
+Hence, \LuaTeX-ja have a counterpart of \texttt{unicode-letters.tex}
+for \LuaTeX, \emph{to match the \texttt{\textbackslash catcode} setting with that of \XeTeX.}
+%
+%<*ja>
+ãã¤ãã£ãã«Unicodeå
¨é¨ã®æåãæ±ãã\XeTeX ã\LuaTeX ã§ã¯ï¼
+æåãå¶å¾¡ç¶´å
ã§ä½¿ç¨ã§ãããã¯é常ã®æ¬§ææåã¨åãã \verb+\catcode+
+ã§æå®ãããã¨ã¨ãªãï¼\XeTeX ã«ããã \verb+\catcode+ ã®åæè¨å®ã¯\
+\texttt{unicode-letters.tex} ä¸ã«è¨è¿°ããã¦ããï¼\LuaTeX ã§ã¯ããã
+å
ã«ãã \texttt{luatex-unicode-letters.tex} ãç¨ãã¦ããï¼
-\item ...
-\end{enumerate}
+ã ãï¼\XeTeX ã«ããã \verb+\catcode+ ã®åæè¨å®ã¨
+\LuaTeX ã«ãããããã¯ä¸è´ãã¦ããªãï¼
+\begin{itemize}
+ \item \texttt{luatex-unicode-letters.tex} ã®å
ã«ãªã£ã\
+\texttt{unicode-letters.tex} ãå¤ã
+ \item \texttt{unicode-letters.tex} ã®å¾åé¨ã§ã¯
+\verb+\XeTeXcharclass+ ã®è¨å®ãè¡ãªã£ã¦ããï¼
+ããã«ãã£ã¦æ¼¢åãä»®åã® \verb+\catcode+ ã11ã«è¨å®ããã¦ããï¼
+
+ãããï¼\texttt{luatex-unicode-letters.tex} ã§ã¯ãã®ãå¾åé¨ãã
+ã¾ããã¨çç¥ããã¦ããï¼æ¼¢åãä»®åã® \verb+\catcode+ ã¯12ã®ã¾ã¾ï¼
+\end{itemize}
+è¨ãæããã¨ï¼\LuaTeX ã®åæç¶æ
ã§ã¯æ¼¢åãä»®åãå¶å¾¡ç¶´å
ã«
+使ç¨ãããã¨ã¯ã§ããªãï¼
+
+ããã§ã¯ \pTeX ã§ä½¿ç¨ã§ãã \verb+\西æ¦+ ãªã©ã使ããªããã¨ã¨ãªãï¼
+\LuaTeX-jaã¸ã®ç§»è¡ã§æéãçããï¼ãã®ããï¼\LuaTeX-jaã§ã¯
+\texttt{unicode-letters.tex} ã®å¾åé¨ã«ãããå
容ãèªåã§ããããï¼
+çµæã¨ãã¦\textbf{\XeTeX ã«ãããåæè¨å®ã¨åãã«ãªãããã«ãã¦ããï¼}
+%
+
+\begin{table}
+ \centering\small
+%\caption{Difference of the set of non-kanji JIS~X~0208 characters which can be used in a control word}
+%\caption{å¶å¾¡ç¶´ä¸ã«ä½¿ç¨åºæ¥ãJIS~X~0208éæ¼¢åã®éã}
+%\medskip
+\label{table-kcat-diff}
+\def\D#1#2#3#4{%
+ {\fboxsep0pt\fcolorbox{cyan}{white}%
+ {\large\char"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})} %"
+\leavevmode\hbox to 0pt{\hss\begin{tabular}{cccccc}
+\toprule
+%&\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 30FB&1&6&N&Y&N\\
+\D 309B&1&11&N&Y&N\\
+\D 309C&1&12&N&Y&N\\
+\D FF40&1&14&N&N&Y\\
+\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 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\\
+\bottomrule
+\end{tabular}\qquad
+\begin{tabular}{cccccc}
+\toprule
+%&\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\\
+\D FF1C&1&67&N&N&Y\\
+\D FF1E&1&68&N&N&Y\\
+\D FF03&1&84&N&N&Y\\
+\D FF06&1&85&N&N&Y\\
+\D FF0A&1&86&N&N&Y\\
+\D FF20&1&87&N&N&Y\\
+\D 3012&2&9&N&N&Y\\
+\D 3013&2&14&N&N&Y\\
+\D FFE2&2&44&N&N&Y\\
+\D 212B&2&82&N&N&Y\\
+%\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}Greek letters (row 6)}&Y&N&Y\\
+%\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}
+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.
+For the detail, see \url{https://github.com/h-kitagawa/kct}.
+%
+%<*ja>
+\subsection{å¶å¾¡ç¶´ä¸ã«ä½¿ç¨åºæ¥ãJISéæ¼¢åã®éã}
+
+ã¨ã³ã¸ã³ãç°ãªãã®ã§ï¼\pTeX, \upTeX, \LuaTeX-ja
+ã«ããã¦å¶å¾¡ç¶´ä¸ã«ä½¿ç¨å¯è½ãªJIS~X~0208ã®æåã¯ç°ãªãï¼
+ç°ãªã£ã¦ããã¨ããã ããè¼ããã¨ï¼è¡¨\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} ãªã©ãåç
§ãããã¨ï¼
+%
-%\part{Reference}
-%\part{ãªãã¡ã¬ã³ã¹}
-%\part{åèæå}
-\label{part-ref}
%\section{Font Metric and Japanese Font}
%\section{ãã©ã³ãã¡ããªãã¯ã¨åæãã©ã³ã}
-%\section{åä½æµåº¦åæ¥æåä½}
-%\subsection{\texttt{\char92jfont} primitive}
-%\subsection{\texttt{\char92jfont}ããªããã£ã}
-%\subsection{\texttt{\char92jfont}åºæ¬è¯å¥}
+%\subsection{\texttt{\textbackslash jfont}}
+%\subsection{\texttt{\textbackslash jfont} å½ä»¤}
\label{ssec-jfont}
%<*en>
To load a font as a Japanese font, you must use the
-\verb+\jfont+ primitive instead of~\verb+\font+, while
+\verb+\jfont+ instead of~\verb+\font+, while
\verb+\jfont+ admits the same syntax used in~\verb+\font+.
\LuaTeX-ja automatically loads \Pkg{luaotfload} package,
so TrueType/OpenType fonts with features can be used for Japanese fonts:
%
%<*ja>
-ãã©ã³ããåæãã©ã³ãã¨ãã¦èªã¿è¾¼ãããã«ã¯ï¼\verb+\jfont+ ããªããã£ãã
+ãã©ã³ããåæãã©ã³ãã¨ãã¦èªã¿è¾¼ãããã«ã¯ï¼\verb+\jfont+ ã
\verb+\font+ ããªããã£ãã®ä»£ããã«ç¨ããï¼
-\verb+\jfont+ ããªããã£ãã®ææ³ã¯ \verb+\font+ ã¨åãã§ããï¼
+\verb+\jfont+ ã®ææ³ã¯ \verb+\font+ ã¨åãã§ããï¼
\LuaTeX-jaã¯\Pkg{luaotfload}ããã±ã¼ã¸ãèªåçã«èªã¿è¾¼ãã®ã§ï¼
TrueType/OpenTypeãã©ã³ãã«featureãæå®ãããã®ãåæãã©ã³ãã¨ãã¦ç¨ãã
ãã¨ãã§ããï¼
%
-%<*zh>
-为äºå è½½æ¥æåä½ï¼éè¦ä½¿ç¨\verb!\jfont!åºæ¬è¯å¥æ¿ä»£\verb!\font!ï¼åè
æ¯æåè
ææç¸åå¥æ³ã
-\LuaTeX-jaèªå¨å è½½\Pkg{luaotfload}å®å
ï¼æ
TrueType/OpenTypeåä½çç¹æ§å¯ä»¥ä½¿ç¨äºæ¥æåä½ï¼
-%
-\begin{LTXexample}
-\jfont\tradgt={file:ipaexg.ttf:script=latn;%
+\begin{LTXexample}[width=0.3\textwidth]
+\jfont\tradgt={file:KozMinPr6N-Regular.otf:script=latn;%
+trad;-kern;jfm=ujis} at 14pt
-\tradgt{}å½ï¼ä½ï¼å»ï¼åº
+\tradgt å½ï¼ä½ï¼å»ï¼åº
\end{LTXexample}
%<*en>
Note that the defined control sequence
(\verb+\tradgt+ in the example above) using \verb+\jfont+ is not a
-\textit{font\_def} token, hence the input like \verb+\fontname\tradgt+
+\textit{font\_def} token, but a macro.
+Hence the input like \verb+\fontname\tradgt+
causes a error. We denote control sequences which are defined in
\verb+\jfont+ by .
%
%<*ja>
-ãªãï¼\verb+\jfont+ ã§å®ç¾©ãããã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ï¼ä¸ã®ä¾ã 㨠\verb+\tradgt+ï¼
-ã¯\textit{font\_def}ãã¼ã¯ã³ã§ã¯ãªãã®ã§ï¼\verb+\fontname\tradgt+ ã®ãããª
-å
¥åã¯ã¨ã©ã¼ã¨ãªããã¨ã«æ³¨æããï¼ä»¥ä¸ã§ã¯ \verb+\jfont+ ã§å®ç¾©ããã
-ã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ãã§è¡¨ãï¼
+ãªãï¼\verb+\jfont+ ã§å®ç¾©ãããå¶å¾¡ç¶´ï¼ä¸ã®ä¾ã 㨠\verb+\tradgt+ï¼
+ã¯\textit{font\_def}ãã¼ã¯ã³ã§ã¯ãªããã¯ãã§ããï¼å¾ã£ã¦ï¼\verb+\fontname\tradgt+ ã®ãããª
+å
¥åã¯ã¨ã©ã¼ã¨ãªãï¼ä»¥ä¸ã§ã¯ \verb+\jfont+ ã§å®ç¾©ããã
+å¶å¾¡ç¶´ãã§è¡¨ãï¼
%
-%<*zh>
-注æå®ä¹çæ§å¶åºåï¼ä¸ä¾ä¸ç\verb!\tradgt!ï¼ä½¿ç¨ç\verb!\jfont!并ä¸æ¯ä¸ä¸ª\textit{font\_def}æ è®°ï¼
-æ
类似\verb!\fontname\tradgt!è¾å
¥ä¼å¼èµ·é误ã
-æ们å°å®ä¹\verb!\jfont!éç¨ã
-%
\paragraph{JFM}
%<*en>
As noted in Introduction, a JFM has measurements of characters and
glues/kerns that are automatically inserted for Japanese
typesetting. The structure of JFM will be described in the next
-subsection. At the calling of \verb+\jfont+ primitive, you must specify
+subsection. At the calling of \verb+\jfont+, you must specify
which JFM will be used for this font by the following keys:
%
%<*ja>
ãã¯ããã«ãã®ç¯ã§è¿°ã¹ãããã«ï¼JFMã¯æåã¨åæçµçã§èªåçã«æ¿å
¥ããã
-ã°ã«ã¼ï¼ã«ã¼ã³ã®å¯¸æ³æ
å ±ãæã£ã¦ããï¼JFMã®æ§é ã¯æ¬¡ã®å°ç¯ã§è¿°ã¹ãï¼
-\verb+\jfont+ ããªããã£ãã®å¼ã³åºãã®éã«ã¯ï¼ã©ã®JFMãç¨ããã®ãã以ä¸ã®ãã¼ã§
+ã°ã«ã¼ï¼ã«ã¼ã³ã®å¯¸æ³æ
å ±ãæã£ã¦ããï¼JFMã®æ§é ã¯æ¬¡ã®ç¯ã§è¿°ã¹ãï¼
+\verb+\jfont+ å½ä»¤ã®å¼ã³åºãã®éã«ã¯ï¼ã©ã®JFMãç¨ããã®ãã以ä¸ã®ãã¼ã§
æå®ããå¿
è¦ãããï¼
%
-%<*zh>
-å¨å¼è¨ä¸å·²æåæ¤é¡¹ï¼æè°JFMæ¯å符亮度åæ¥ææçä¸èªå¨æå
¥çè¶/åºæ ¼ã
-JFMçç»æå°å¨ä¸èè¿è¡æè¿°ãå¨ä½¿ç¨\verb!\jfont!åºæ¬è¯å¥æ¶ï¼å¿
须设å®JFMå¦ä¸ä¸¤ä¸ªé®ï¼
-%
+
+
+\begin{table}[t]
+%\caption{Differences between JFMs shipped with \LuaTeX-ja}
+%\caption{\LuaTeX-ja ã«å梱ããã¦ãã JFM ã®éã}
+%\medskip
+\label{tab-difjfm}
+\ltjsetparameter{jacharrange={+3}}
+\centering\small
+\def\r#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 14.43324pt \g
+\setbox0=\vtop{\hsize=7\zw\noindent âââââââ
+ããæ¥ã¢ã¢ã¡ãããã使ãã§è¿·åã«ãªã£ã¦æ³£ãã¾ããï¼}\copy0
+\vrule height 0pt depth \dp0}}
+\def\s#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 14.43324pt \g
+\setbox0=\vtop{\hsize=7\zw\noindent ã¡ãã£ã¨ï¼ä½}\copy0}}
+\def\t#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 19.24432pt \g
+\setbox0=\hbox{æ¼¢}%
+\vrule width 0.4pt height\ht0 depth\dp0\kern-.2pt\copy0
+\kern-\wd0\vrule width\wd0height .2pt depth .2pt
+\kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+\kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+\kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}}
+\begin{tabular}{rccc}
+\toprule
+&\tt jfm-ujis.lua&\tt jfm-jis.lua&\tt jfm-min.lua\\
+\midrule
+%Example~1\cite{min10}
+%ä¾1\cite{min10}
+&\r{ujis}&\r{jis}&\r{min}\\
+%Example~2
+%ä¾2
+&\s{ujis}&\s{jis}&\s{min}\\
+Bounding Box&\t{ujis}&\t{jis}&\t{min}\\
+\bottomrule
+\end{tabular}
+\ltjsetparameter{jacharrange={-3}}
+\end{table}
+
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[jfm=]
@@ -2822,15 +2548,8 @@ The following JFMs are shipped with \LuaTeX-ja:
%
%<*ja>
JFMã®ååãæå®ããï¼ãã以åã«æå®ãããJFMãèªã¿è¾¼ã¾ãã¦ããªããã°ï¼
-\texttt{jfm-.lua}ãèªã¿è¾¼ãï¼
-
-以ä¸ã®JFMã\LuaTeX-jaã«ã¯å梱ããã¦ããï¼
+\texttt{jfm-.lua}ãèªã¿è¾¼ãï¼ä»¥ä¸ã®JFMã\LuaTeX-jaã«ã¯å梱ããã¦ããï¼
%
-%<*zh>
-设å®JFMå称ã设å®çJFMå¦æªå è½½ï¼\LuaTeX-jaä¼æ寻并å è½½ä¸ä¸ªå½å为\texttt{jfm-}<\textit{name}>\texttt{.lua}çæ件ã
-
-\LuaTeX-jaæä¾å¦ä¸JFMï¼
-%
\begin{description}
%<*en>
\item[\tt jfm-ujis.lua] A standard JFM in \LuaTeX-ja. This JFM is
@@ -2842,13 +2561,9 @@ JFMã®ååãæå®ããï¼ãã以åã«æå®ãããJFMãèªã¿è¾¼ã¾
ç¨ããããUTF/OTFããã±ã¼ã¸ç¨ã®åæç¨TFMã§ãã \verb+upnmlminr-h.tfm+ ã
å
ã«ãã¦ããï¼\Pkg{luatexja-otf}ããã±ã¼ã¸ã使ãã¨ãã¯ãã®JFMãæå®ããã¹ãã§ããï¼
%
-%<*zh>
-\item[\tt jfm-ujis.lua] \LuaTeX-jaæ åJFMã次JFMåºäº\upTeX 使ç¨çUTF/OTFå®å
ç\verb!upnmlminr-h.tfm!ã
-å¦æä½ ä½¿ç¨\Pkg{luatexja-otf}å®å
ï¼ä½ å°ä¼ç¨å°æ¤JFMã
-%
%<*en>
-\item[\tt jfm-jis.lua] A counterpart for \verb+jis.tfm+, `JIS font
- metric' which is widely used in \pTeX. A major difference of
+\item[\tt jfm-jis.lua] A counterpart for \verb+jis.tfm+, ``JIS font
+ metric'' which is widely used in \pTeX. A major difference between
\texttt{jfm-ujis.lua} and this \texttt{jfm-jis.lua} is that
most characters under \texttt{jfm-ujis.lua} are square-shaped,
while that under \texttt{jfm-jis.lua} are horizontal
@@ -2856,156 +2571,184 @@ JFMã®ååãæå®ããï¼ãã以åã«æå®ãããJFMãèªã¿è¾¼ã¾
%
%<*ja>
\item[\tt jfm-jis.lua] \pTeX ã§åºãç¨ãããã¦ãããJISãã©ã³ãã¡ããªãã¯ã
- \verb+jis.tfm+ ã«ç¸å½ããJFMã§ããï¼\texttt{jfm-ujis.lua}ã¨ãã®
- \texttt{jfm-jis.lua}ã®ä¸»ãªéãã¯ï¼\texttt{jfm-ujis.lua}ã§ã¯ã»ã¨ãã©ã®æåã
- æ£æ¹å½¢ç¶ã§ããã®ã«å¯¾ãï¼\texttt{jfm-jis.lua}ã§ã¯æ¨ªé·ã®é·æ¹å½¢ç¶ã§ããï¼
+ \verb+jis.tfm+ ã«ç¸å½ããJFMã§ããï¼\texttt{jfm-ujis.lua} ã¨ãã®
+ \texttt{jfm-jis.lua} ã®ä¸»ãªéãã¯ï¼\texttt{jfm-ujis.lua} ã§ã¯ã»ã¨ãã©ã®æåã
+ æ£æ¹å½¢ç¶ã§ããã®ã«å¯¾ãï¼\texttt{jfm-jis.lua} ã§ã¯æ¨ªé·ã®é·æ¹å½¢ç¶ã§ãããã¨ã¨ï¼
+ \texttt{jfm-ujis.lua} ã§ã¯ãï¼ããï¼ãã®ç´å¾ã«åè§ç©ºç½ãæ¿å
¥ããããã¨ã§ããï¼
%
-%<*zh>
-\item[\tt jfm-jis.lua] ç¸å½äº\pTeX 使ç¨ç\verb!jis.tfm!ï¼âJIS font metricâï¼ã
- \texttt{jfm-ujis.lua}å\texttt{jfm-jis.lua}主è¦åºå«æ¯ï¼
- \texttt{jfm-ujis.lua}ä¸ç大é¨åå符æ¯æ¹å½¢ï¼
- \texttt{jfm-jis.lua}ä¸å为é¿æ¹å½¢ã
-%
%<*en>
\item[\tt jfm-min.lua] A counterpart for \verb+min10.tfm+, which is one
- of the default Japanese font metric shipped with \pTeX. There
- are notable difference between this JFM and other 2~JFMs, as
- shown in Table~\ref{tab-difjfm}.
+ of the default Japanese font metric shipped with \pTeX.
%
-%<*ja>
+%<*ja>
\item[\tt jfm-min.lua] \pTeX ã«å梱ããã¦ããããã©ã«ãã®åæç¨TFM
- ã§ãã \verb+min10.tfm+ ã«ç¸å½ããJFMã§ããï¼ãã®JFMã¨ä»ã®2ã¤ã®JFMã®éã«ã¯
- 表\ref{tab-difjfm}ã«ç¤ºããããªç¹çãã¹ãéããããï¼
+ ã§ãã \verb+min10.tfm+ ã«ç¸å½ããï¼
%
-%<*zh>
-\item[\tt jfm-min.lua] ç¸å½äº\pTeX ä¸é»è®¤ç\verb!min10.tfm!ã
- è¿ä¸ªJFMä¸å
¶ä»2个JFMçåºå«å¦è¡¨\ref{tab-difjfm}æ示ã
-%
\end{description}
+%<*en>
+The difference among these three~JFMs is shown in Table~\ref{tab-difjfm}.
+%
+%<*ja>
+ããã3ã¤ã®JFMã®éãã¯è¡¨\ref{tab-difjfm}ã«ç¤ºããï¼
+%
+
+\begin{figure}
+\begin{LTXexample}[width=0.3\textwidth]
+\ltjsetparameter{differentjfm=both}
+\jfont\F=file:KozMinPr6N-Regular.otf:jfm=ujis
+\jfont\G=file:KozGoPr6N-Medium.otf:jfm=ujis
+\jfont\H=file:KozGoPr6N-Medium.otf:jfm=ujis;jfmvar=hoge
+\F ï¼{\G ãã}ï¼ % halfwidth space
+ ï¼{\H ãã}ï¼ % fullwidth space
+
+ã»ãï¼{\G ãã»ãã}ï¼ã»ãï¼\par
+ã»ãï¼{\H ãã»ãã}ï¼ã»ãï¼% pTeX-like
+
+\ltjsetparameter{differentjfm=paverage}
+\end{LTXexample}
+\caption{Example of \texttt{jfmvar} key}
+\label{fig:jfmvar}
+\end{figure}
+%<*en>
\item[jfmvar=] Sometimes there is a need that \ldots.
+%
+%<*ja>
+\item[jfmvar=] æ¨æºã§ã¯ï¼JFMã¨ãµã¤ãºãåãã§ï¼
+ å®ãã©ã³ãã ããç°ãªã2ã¤ã®åæãã©ã³ãã¯ãåºå¥ãããªããï¼ä¾ãã°
+å³\ref{fig:jfmvar}ã«ããã¦ï¼æåã®ãï¼ãã¨ãããã®å®ãã©ã³ãã¯ç°ãªããï¼
+JFMããµã¤ãºãåããªã®ã§ï¼æ®éã«ãï¼ããã¨å
¥åããæã¨åãããã«åè§ç©ºãã¨ãªãï¼
+
+ãããï¼JFMã¨ãµã¤ãºãåãã§ãã£ã¦ãï¼\texttt{jfmvar} ãã¼ã®ç°ãªã
+2ã¤ã®åæãã©ã³ãï¼ä¾ãã°å³\ref{fig:jfmvar}ã§è¨ã \verb+\F+ 㨠\verb+\H+ï¼
+ã¯ãåºå¥ããããï¼ç°ãªãåæãã©ã³ãã«ç°ãªã \texttt{jfmvar} ãã¼ãå²ãå½ã¦ï¼
+ãã¤\Param{differentjfm}ãã©ã¡ã¼ã¿ã \texttt{both} ã«è¨å®ããã°ï¼
+\pTeX ã¨ä¼¼ãç¶æ³ã§çµçããããã¨ã«ãªãï¼
+%
\end{list}
-\begin{table}[t]
-%\caption{Differences between JFMs shipped with \LuaTeX-ja}
-%\caption{\LuaTeX-ja ã«å梱ããã¦ãã JFM ã®éã}
-%\caption{\LuaTeX-jaä¸ä¸åJFM表ç°}
-\label{tab-difjfm}
-\ltjsetparameter{jacharrange={+3}}
-\begin{center}\small
-\def\r#1{{\jfont\g=psft:Ryumin-Light:jfm=#1 at 14.43324pt \g
-\setbox0=\vtop{\hsize=7\zw\noindent âââââââ
-ããæ¥ã¢ã¢ã¡ãããã使ãã§è¿·åã«ãªã£ã¦æ³£ãã¾ããï¼}\copy0
-\vrule height 0pt depth \dp0}}
-\def\s#1{{\jfont\g=psft:Ryumin-Light:jfm=#1 at 14.43324pt \g
-\setbox0=\vtop{\hsize=7\zw\noindent ã¡ãã£ã¨ï¼ä½}\copy0}}
-\def\t#1{{\jfont\g=psft:Ryumin-Light:jfm=#1 at 19.24432pt \g
-\setbox0=\hbox{æ¼¢}%
-\vrule width 0.4pt height\ht0 depth\dp0\kern-.2pt\copy0
-\kern-\wd0\vrule width\wd0height .2pt depth .2pt
-\kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
-\kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
-\kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}}
-\begin{tabular}{rccc}
-\toprule
-&\tt jfm-ujis.lua&\tt jfm-jis.lua&\tt jfm-min.lua\\
-\midrule
-%Example~1\footnotemark
-%ä¾1\footnotemark
-%ä¾1\footnotemark
-&\r{ujis}&\r{jis}&\r{min}\\
-%Example~2
-%ä¾2
-%ä¾2
-&\s{ujis}&\s{jis}&\s{min}\\
-Bounding Box&\t{ujis}&\t{jis}&\t{min}\\
-\bottomrule
-\end{tabular}
-\end{center}
-\ltjsetparameter{jacharrange={-3}}
-\end{table}
-\footnotetext{from: ä¹é¨å³å·±, min10ãã©ã³ãã«ã¤ãã¦.
-\texttt{http://argent.shinshu-u.ac.jp/\~{\ }otobe/tex/files/min10.pdf}.}
+\begin{figure}
+\begin{LTXexample}[pos=t]
+\newcommand\test{\vrule ãã¤ãããã¯ãã¤ã¯ã\vrule\\}
+\jfont\KMFW = KozMinPr6N-Regular:jfm=prop;-kern at 17pt
+\jfont\KMFK = KozMinPr6N-Regular:jfm=prop at 17pt % kern is activated
+\jfont\KMPW = KozMinPr6N-Regular:jfm=prop;script=dflt;+pwid;-kern at 17pt
+\jfont\KMPK = KozMinPr6N-Regular:jfm=prop;script=dflt;+pwid;+kern at 17pt
+\begin{multicols}{2}
+\ltjsetparameter{kanjiskip=0pt}
+{\KMFW\test \KMFK\test \KMPW\test \KMPK\test}
+
+\ltjsetparameter{kanjiskip=3pt}
+{\KMFW\test \KMFK\test \KMPW\test \KMPK\test}
+\end{multicols}
+\end{LTXexample}
+\caption{Kerning information and \Param{kanjiskip}}
+\label{fig:kern-jfm}
+\end{figure}
-%\paragraph{Note: kern feature}
-%\paragraph{注æï¼kern feature}
-%\paragraph{注æï¼kern feature}
+%\paragraph{Using kerning information in a font}
+%\paragraph{ãã¢ã«ã¼ãã³ã°æ
å ±ã®ä½¿ç¨}
\label{para-kern}
%<*en>
-Some fonts have information for inter-glyph spacing. However, this
-information is not well-compatible with \LuaTeX-ja. More concretely,
-this kerning space from this information are inserted \emph{before} the
-insertion process of \textbf{JAglue}, and this causes incorrect spacing
-between two characters when both a glue/kern from the data in the font
-and it from JFM are present.
-%
-%<*ja>
-ããã¤ãã®ãã©ã³ãã¯ã°ãªãéã®ã¹ãã¼ã¹ã«ã¤ãã¦ã®æ
å ±ãæã£ã¦ããï¼ãããï¼
-ãã®æ
å ±ã¯\LuaTeX-ja ã¨ã¯ãã¾ãç¸æ§ããããªãï¼å
·ä½çã«ã¯ï¼ãã®æ
å ±ã«åºã¥ãã¦æ¿å
¥
-ãããã«ã¼ãã³ã°ã¹ãã¼ã¹ã¯\textbf{JAglue}ã®æ¿å
¥éç¨ã®\textbf{åã«}æ¿å
¥ããï¼
-JFMã«åºã¥ãã°ã«ã¼ï¼ã«ã¼ã³ãæ¿å
¥ãããå ´åã«ã¯2æåéã®æå³ããªãã¹ãã¼ã¹ã®åå ã¨
-ãªãï¼
-%
-%<*zh>
-ä¸äºåä½å
·æå
é¨åå½¢é´è·ä¿¡æ¯ãä½æ¯ï¼è¿äºä¿¡æ¯å¨\LuaTeX-jaä¸å¹¶ä¸è¯å¥½å
¼å®¹ã
-ä»ç»äºè¯´ï¼åºæ ¼é´è·æ¯å¨\textbf{JAglue}æå
¥\textbf{ä¹å}èå
è¡æå
¥çï¼
-è¿å°±é æäºåä½æ°æ®ä¸åJFMä¸çè¶/åºæ ¼å¨ä¸¤ä¸ªå符é´æå
¥åºéã
-%
-\begin{itemize}
-%<*en>
-\item You should specify \texttt{-kern} in
- \verb+jfont+ primitive, when you want to use other font features,
- such as \texttt{script=...}\,.
+Some fonts have information for inter-glyph spacing.
+This version of \LuaTeX-ja treats kerning spaces like an italic correction;
+any glue and/or kern from the JFM and a kerning space can coexist.
+See Figure~\ref{fig:kern-jfm} for detail.
+
+Note that in \verb+\setmainjfont+ etc.\ which are provided by \Pkg{luatexja-fontspec}
+package, kerning option is set \emph{off} (\texttt{Kerning=Off}) by default,
+because of the compatibility with previous versions of \LuaTeX-ja.
%
%<*ja>
-\item \texttt{script=...}ã¨ãã£ãfeatureã使ãããå ´åã«ã¯ï¼\verb+\jfont+
- ããªããã£ãã«\texttt{-kern}ãæå®ããã¹ãã§ããï¼
+ããã¤ãã®ãã©ã³ãã¯ã°ãªãéã®ã¹ãã¼ã¹ã«ã¤ãã¦ã®æ
å ±ãæã£ã¦ããï¼
+ãã®ã«ã¼ãã³ã°æ
å ±ã¯ä»¥åã®\LuaTeX-ja ã¨ã¯ãã¾ãç¸æ§ãè¯ããªãã£ããï¼
+æ¬ãã¼ã¸ã§ã³ã§ã¯ã«ã¼ãã³ã°ã«ãã空ç½ã¯ã¤ã¿ãªãã¯è£æ£ã¨åæ§ã«æ±ããã¨ã«ãªã£ã¦ããï¼
+ã¤ã¾ãï¼ã«ã¼ãã³ã°ç±æ¥ã®ç©ºç½ã¨JFMç±æ¥ã®ã°ã«ã¼ã»ã«ã¼ã³ã¯åæã«å
¥ãããï¼
+å³\ref{fig:kern-jfm}ãåç
§ï¼
+\begin{itemize}
+ \item \emph{\texttt{\textbackslash jfont} ãï¼
+NFSS2ç¨ã®å½ä»¤ï¼\ref{ssec-chgfnt}ç¯ï¼\ref{ssec-nfsspat}ç¯ï¼ã«ãããæå®ã§ã¯
+ã«ã¼ãã³ã°æ
å ±ã¯æ¨æºã§ä½¿ç¨ãã}ãã¨ã«ãªã£ã¦ããããã§ããï¼
+è¨ãæããã°ï¼ã«ã¼ãã³ã°æ
å ±ã使ç¨ããªãè¨å®ã«ããã«ã¯ï¼é¢åã§ã
+\begin{verbatim}
+\jfont\hoge=KozMinPr6N-Regular:jfm=ujis;-kern at 3.5mm
+\DeclareFontShape{JY3}{fuga}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;-kern}{}
+\end{verbatim}
+ã®ããã«ï¼\texttt{-kern} ã¨ããæå®ãèªåã§è¿½æ¶ããªããã°ãããªãï¼
+ \item
+ä¸æ¹ï¼\emph{\Pkg{luatexja-fontspec} ã®æä¾ãã \texttt{\textbackslash setmainjfont}\
+ãªã©ã®å½ä»¤ã®æ¨æºè¨å®ã§ã¯ã«ã¼ãã³ã°æ
å ±ã¯ä½¿ç¨ããªã}ï¼\texttt{Kerning=Off}ï¼
+ãã¨ã«ãªã£ã¦ããï¼ããã¯ä»¥åã®ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¨ã®äºææ§ã®ããã§ããï¼
+\end{itemize}
%
-%<*zh>
-\item å½ä½ æ³ä½¿ç¨å
¶ä»åä½ç¹æ§å¦\texttt{script=...}çæ¶åï¼å¯ä»¥å¨\verb!jfont!åºæ¬è¯å¥ä¸è®¾ç½®\texttt{-kern}
-%
-%<*en>
-\item If you want to use Japanese fonts in proportional width, and use
- information from this font, use \texttt{jfm-prop.lua} for its JFM, and\ldots.
-%
+
%<*ja>
-\item ãããããã¼ã·ã§ãã«å¹
ã®åæãã©ã³ãããã®ãã©ã³ãã®æ
å ±ã«åºã¥ãã¦ä½¿ããã
- ãªãã°ï¼\texttt{jfm-prop.lua}ãJFMã¨ãã¦æå®ãï¼â¦â¦
-%
-%<*zh>
-\item å¦æä½ æ³ä½¿ç¨æ¯ä¾å®½åº¦çæ¥æåä½ï¼å¹¶ä¸ä½¿ç¨æ¤åä½ä¿¡æ¯ï¼ä½¿ç¨\texttt{jfm-prop.lua}为å
¶JFMï¼â¦â¦
-%
-TODO: kanjiskip?
-\end{itemize}
+\paragraph{\texttt{extend}ã¨\texttt{slant}}
+OpenType font featureã¨è¦ããä¸åããããªå½¢å¼ã§æå®ã§ãããã®ã«ï¼
+\begin{description}
+\item[\texttt{extend=}] 横æ¹åã«åæ¡å¤§ããï¼
+\item[\texttt{slant=}] ã«æå®ãããå²åã ãå¾ããï¼
+\end{description}
+ã®2ã¤ãããï¼
+\texttt{extend}ã\texttt{slant}ãæå®ããå ´åã¯ï¼ããã«å¿ããJFMãæå®ãã¹ãã§ãã%
+\footnote{\LuaTeX-jaã§ã¯ï¼ãããã«å¯¾ããJFMãç¹ã«æä¾ãããã¨ã¯ããªãäºå®ã§ããï¼}ï¼
+ä¾ãã°ï¼æ¬¡ã®ä¾ã§ã¯ç¡çããé常ã®JFMã使ã£ã¦ããããã«ï¼æåééãã¤ã¿ãªãã¯è£æ£éã
+æ£ãããªãï¼
+%
+%<*en>
+\paragraph{\texttt{extend} and \texttt{slant}}
+The following setting can be specified as OpenType font features:
+\begin{description}
+\item[\texttt{extend=}] expand the font horizontally by .
+\item[\texttt{slant=}] slant the font.
+\end{description}
+Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
+settings; you have to write new JFMs on purpose.
+For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence
+letter-spacing and the width of italic correction are not correct:
+%
+\begin{LTXexample}[width=0.3\textwidth]
+\jfont\E=file:KozMinPr6N-Regular.otf:extend=1.5;jfm=ujis;-kern
+\E ããããã
+\jfont\S=file:KozMinPr6N-Regular.otf:slant=1;jfm=ujis;-kern
+\S ããã\/ABC
+\end{LTXexample}
%\subsection{Prefix \texttt{psft}}
%\subsection{\texttt{psft}ããªãã£ãã¯ã¹}
-%\subsection{\texttt{psft}åç¼}
\label{ssec-psft}
%<*en>
-Besides \texttt{file:}\ and \texttt{name:}\ prefixes, one can use \texttt{psft:}\
-prefix in \verb+\jfont+ (and~\verb+\font+) primitive,
-to specify a `name-only' Japanese font which
+Besides ``\texttt{file:}''\ and ``\texttt{name:}''\ prefixes which
+are introduced in the \Pkg{luaotfload} package,
+\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \verb+\jfont+ (and~\verb+\font+),
+to specify a ``name-only'' Japanese font which
will not be embedded to PDF. Typical use of this prefix is to specify
-the `standard' Japanese fonts, namely, `Ryumin-Light' and
-`GothicBBB-Medium'.
+standard, non-embedded Japanese fonts, namely, ``Ryumin-Light'' and
+``GothicBBB-Medium''.
+
+\emph{OpenType font features, such as ``{\tt +jp90}'',
+have no meaning in name-only fonts using ``{\tt psft:}''\ prefix,
+because we can't expect what fonts are actually used by the PDF reader.}
+Note that \texttt{extend}~and~\texttt{slant} settings (see~above) are supported
+with \texttt{psft} prefix, because they are only simple linear transformations.
%
%<*ja>
-\texttt{file:}ã¨\texttt{name:}ã®ããªãã£ãã¯ã¹ã«å ãã¦ï¼
-\verb+\jfont+ ããªããã£ãï¼ã¨ \verb+\font+ ããªããã£ãï¼ã§ã¯
+\Pkg{luaotfload}ã§ä½¿ç¨å¯è½ã«ãªã£ã
+\texttt{file:}\ 㨠\texttt{name:}\ ã®ããªãã£ãã¯ã¹ã«å ãã¦ï¼
+\verb+\jfont+ï¼ã¨ \verb+\font+ ããªããã£ãï¼ã§ã¯
\texttt{psft:}ããªãã£ãã¯ã¹ãç¨ãããã¨ãã§ããï¼
ãã®ããªãã£ãã¯ã¹ãç¨ãããã¨ã§ï¼PDFã«ã¯åãè¾¼ã¾ããªããååã ãã®ã
-åæãã©ã³ããæå®ãããã¨ãã§ããï¼ãæ¨æºçãªãåæãã©ã³ãï¼
-ã¤ã¾ã`Ryumin-Light'ã¨`GothicBBB-Medium'ã®æå®ã§ãã®ããªãã£ãã¯ã¹ã使ãããï¼
+åæãã©ã³ããæå®ãããã¨ãã§ããï¼ãæ¨æºçãªãéåãè¾¼ã¿åæãã©ã³ãï¼
+ã¤ã¾ããRyumin-LightããGothicBBB-Mediumãã®æå®ã§ãã®ããªãã£ãã¯ã¹ã使ãããï¼
+
+\emph{\texttt{psft} ããªãã£ãã¯ã¹ã®ä¸ã§ã¯
+\texttt{+jp90} ãªã©ã®OpenType font featureã®å¹åã¯ãªãï¼
+éåè¾¼ãã©ã³ããPDFã«ä½¿ç¨ããã¨ï¼å®éã«ã©ã®ãããªãã©ã³ãã
+表示ã«ç¨ãããããäºæ¸¬ã§ããªãããã§ããï¼}\
+\texttt{extend} 㨠\texttt{slant} æå®ã¯åãªãå¤å½¢ã®ãã
+\texttt{psft} ããªãã£ãã¯ã¹ã§ã使ç¨å¯è½ã§ããï¼
%
-%<*zh>
-é¤ä½¿ç¨\texttt{file:}å\texttt{name:}å¤ï¼æ们è¿å¯ä»¥å¨\verb!\jfont!ï¼ä»¥å\verb!\font!ï¼
-ä¸ä½¿ç¨\texttt{psft:}æ¥è®¾å®ä¸ä¸ªâåä¹ä¸âç并ä¸åµå
¥PDFä¸çæ¥æåä½ã
-æ¤åç¼çå
¸å使ç¨æ¯å®ä¹âæ åâæ¥æåä½ï¼å³âRyumin-LightâåâGothicBBB-Mediumâã
-\paragraph{\texttt{cid}é®} é»è®¤ä½¿ç¨\texttt{psft:}åç¼å®ä¹çåä½æ¯ä¸ºAdobe-Japan1-6 CIDåä½ã
-ä¹å¯ä»¥ä½¿ç¨\texttt{cid}é®æ¥ä½¿ç¨å
¶ä»çCIDåä½ï¼å¦ä¸æåé©æã
-%
%\paragraph{\texttt{cid} key}
%\paragraph{\texttt{cid}ãã¼}
@@ -3016,15 +2759,6 @@ The default font defined by using \texttt{psft:} prefix is for Japanese typesett
it is Adobe-Japan1-6 CID-keyed font.
One can specify \texttt{cid} key to use other CID-keyed non-embedded fonts
for Chinese or Korean typesetting.
-\begin{lstlisting}[numbers=left]
-\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-6;jfm=jis} % Japanese
-\jfont\testD={psft:Ryumin-Light:jfm=jis} % default value is Adobe-Japan1-6
-\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-5;jfm=jis} % Traditional Chinese
-\jfont\testG={psft:SimSun:cid=Adobe-GB1-5;jfm=jis} % Simplified Chinese
-\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis} % Korean
-\end{lstlisting}
-Note that the code above specifies \texttt{jfm-jis.lua}, which is for Japanese fonts,
-as JFM for Chinese and Korean fonts.
%
%<*ja>
æ¨æºã§\texttt{psft:}ããªãã£ãã¯ã¹ã§å®ç¾©ããããã©ã³ãã¯æ¥æ¬èªç¨ã®ãã®ã§
@@ -3033,13 +2767,19 @@ as JFM for Chinese and Korean fonts.
ã®å¯¾å¿ãå¿
è¦ã¨ãªã£ãï¼ãã®ããã«è¿½å ãããã®ã\texttt{cid}ãã¼ã§ããï¼
\texttt{cid}ãã¼ã«å¤ãæå®ããã¨ï¼ãã®CIDãæã£ãéåè¾¼ãã©ã³ããå®ç¾©ãããã¨ãã§ããï¼
+%
\begin{lstlisting}[numbers=left]
-\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-6;jfm=jis} % æ¥æ¬èª
-\jfont\testD={psft:Ryumin-Light:jfm=jis} % ç¡æå®æ㯠Adobe-Japan1-6
-\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-5;jfm=jis} % ä¸å½èªç¹ä½å
-\jfont\testG={psft:SimSun:cid=Adobe-GB1-5;jfm=jis} % ä¸å½èªç°¡ä½å
-\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis} % éå½èª
+\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-6;jfm=jis} % Japanese
+\jfont\testD={psft:Ryumin-Light:jfm=jis} % default value is Adobe-Japan1-6
+\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-6;jfm=jis} % Traditional Chinese
+\jfont\testG={psft:SimSun:cid=Adobe-GB1-5;jfm=jis} % Simplified Chinese
+\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis} % Korean
\end{lstlisting}
+%<*en>
+Note that the code above specifies \texttt{jfm-jis.lua}, which is for Japanese fonts,
+as JFM for Chinese and Korean fonts.
+%
+%<*ja>
ä¸ã®ã³ã¼ãã§ã¯ä¸å½èªã»éå½èªç¨ãã©ã³ãã«å¯¾ãã¦ãJFMã«
æ¥æ¬èªç¨ã®\texttt{jfm-jis.lua}ãæå®ãã¦ããã®ã§æ³¨æããããï¼
%
@@ -3055,10 +2795,10 @@ Specifying other values, e.g.,
\jfont\test={psft:Ryumin-Light:cid=Adobe-Japan2;jfm=jis}
\end{lstlisting}
%<*en>
-occurs the following error:
+produces the following error:
%
%<*ja>
-ã®ããã«ããã以å¤ã®å¤ãæå®ããã¨ï¼
+ã®ããã«ããã以å¤ã®å¤ãæå®ããã¨ï¼ã¨ã©ã¼ãçºçããï¼
%
\begin{lstlisting}[numbers=left]
! Package luatexja Error: bad cid key `Adobe-Japan2'.
@@ -3075,23 +2815,12 @@ I couldn't find any non-embedded font information for the CID
Please contact the LuaTeX-ja project team.
?
\end{lstlisting}
-%<*ja>
-ã¨ããã¨ã©ã¼ãåºãï¼
-%
-%\subsection{Structure of JFM file}
+%\subsection{Structure of a JFM File}
%\subsection{JFMãã¡ã¤ã«ã®æ§é }
-%\subsection{JFMç»æ}
-
-%<*en>
-A JFM file is a Lua script which has only one function call:
-%
-%<*ja>
-JFMãã¡ã¤ã«ã¯ãã ä¸ã¤ã®é¢æ°å¼ã³åºããå«ãLuaã¹ã¯ãªããã§ããï¼
-%
-%<*zh>
-JFMæ件为ä¸åå½æ°è°ç¨çLuaèæ¬ï¼
-%
+\label{ssec-jfm-str}
+%A JFM file is a Lua script which has only one function call:
+%JFMãã¡ã¤ã«ã¯ãã ä¸ã¤ã®é¢æ°å¼ã³åºããå«ãLuaã¹ã¯ãªããã§ããï¼
\begin{verbatim}
luatexja.jfont.define_jfm { ... }
\end{verbatim}
@@ -3107,90 +2836,68 @@ floating-point numbers in design-size unit.
ãªãï¼JFMãã¡ã¤ã«ä¸ã®é·ãã¯å
¨ã¦design-sizeãåä½ã¨ããæµ®åå°æ°ç¹æ°ã§ãããã¨ã«
注æããï¼
%
-%<*zh>
-å®é
çæ°æ®ä¿åå¨è¡¨ä¸ï¼å³å¦ä¸ç\verb!{ ... }!ã
-以ä¸é¨åæ述表ç»æã
-请注æï¼å¨JFMä¸çææé¿åº¦é½æ¯æç
§ä»¥design-size为åä½çæµ®ç¹æ°ã
-%
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[dir=]
%(required)
%ï¼å¿
é ï¼
-%ï¼å¿
é¡»ï¼
%The direction of JFM. At the present, only \texttt{'yoko'} is supported.
-%JFMã®æ¸åæ¹åï¼ç¾æç¹ã§ã¯\texttt{'yoko'}ã®ã¿ããµãã¼ããããï¼
-%JFMçæ¹åï¼ç°å¨åªæ¯æ\texttt{yoko}ï¼æ°´å¹³ï¼ã
+%JFMã®æ¸åæ¹åï¼ç¾æç¹ã§ã¯æ¨ªæ¸ã(\texttt{'yoko'})ã®ã¿ããµãã¼ããããï¼
\item[zw=]
%(required)
%ï¼å¿
é ï¼
-%ï¼å¿
é¡»ï¼
-%The amount of the length of the `full-width'.
+%The amount of the length of the ``full-width''.
%ãå
¨è§å¹
ãã®é·ãï¼
-%âå
¨è§âé¿åº¦ã
\item[zh=]
%(required)
%ï¼å¿
é ï¼
-%ï¼å¿
é¡»ï¼
-%The amount of the length of the `full-height' (height + depth).
-%ãå
¨è§é«ãã(height + depth)ã®é·ãï¼
-%âå
¨è§é«åº¦âï¼height + depthï¼é¿åº¦ã
+%The amount of the ``full-height'' (height + depth).
+%ãå
¨è§é«ãã(height + depth)ã®é·ãï¼é常ã¯å
¨è§å¹
ã¨åãé·ãã«ãªãã ããï¼
\item[kanjiskip=\{, , \}]
%(optional)
%ï¼ä»»æï¼
-%ï¼å¯éï¼
%<*en>
-This field specifies the `ideal' amount of \Param{kanjiskip}. As noted
+This field specifies the ``ideal'' amount of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}. As noted
in Subsection~\ref{subs-kskip}, if the parameter
- \Param{kanjiskip} is \verb+\maxdimen+, the value specified
+ \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is \verb+\maxdimen+, the value specified
in this field is actually used (if this field is not specified in
JFM, it is regarded as 0\,pt). Note that and
fields are in design-size unit too.
%
%<*ja>
-ãçæ³çãªã\Param{kanjiskip}ã®éãæå®ããï¼\ref{subs-kskip}ç¯ã§è¿°ã¹ãããã«ï¼
-ãã\Param{kanjiskip}ã \verb+\maxdimen+ ã®å¤ãªãã°ï¼ãã®ãã£ã¼ã«ãã§æå®ããã
-å¤ãå®éã«ã¯ç¨ããããï¼ãããã®ãã£ã¼ã«ããJFMã§æå®ããã¦ããªããã°ï¼
-0\,ptã§ãããã®ã¨ãã¦æ±ãããï¼ï¼ã¨ã®ãã£ã¼ã«ããdesign-size
+çæ³çãª\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã®éãæå®ããï¼\ref{subs-kskip}ç¯ã§è¿°ã¹ãããã«ï¼
+ãã\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã \verb+\maxdimen+ ã®å¤ãªãã°ï¼ãã®ãã£ã¼ã«ãã§æå®ããã
+å¤ãå®éã«ã¯ç¨ããããï¼æå®ãªãã¯0\,ptã¨ãã¦æ±ãããï¼ï¼ã¨ã®ãã£ã¼ã«ããdesign-size
ãåä½ã§ãããã¨ã«æ³¨æããï¼
%
-%<*zh>
-è¿é¨å为âçæ³é¿åº¦â\Param{kanjiskip}ã\ref{subs-kskip}èæ详述ï¼å¦æåæ°\Param{kanjiskip}
-为\verb!\maxdimen!ï¼åå¼è®¾å®å°ä¼è¢«ä½¿ç¨ï¼è¥åJFMä¸æªè®¾å®ï¼å被è§ä¸º0\,ptï¼ã
-请注æï¼åçé¿åº¦å为design-sizeåä½ã
-%
\item[xkanjiskip=\{, , \}]
%(optional)
%ï¼ä»»æï¼
-%ï¼å¯éï¼
%<*en>
-Like the \Param{kanjiskip} field, this field specifies the `ideal'
- amount of \Param{xkanjiskip}.
+Like the \texttt{kanjiskip} field, this field specifies the ``ideal''
+ amount of \Param{\hyperlink{fld:xks}{xkanjiskip}}.
%
%<*ja>
-\Param{kanjiskip}ãã£ã¼ã«ãã¨åæ§ã«ï¼\Param{xkanjiskip}ã®ãçæ³çãªãéã
+\texttt{kanjiskip}ãã£ã¼ã«ãã¨åæ§ã«ï¼\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®çæ³çãªéã
æå®ããï¼
%
-%<*zh>
-å\Param{kanjiskip}类似ï¼æ¤é¨å设å®\Param{xkanjiskip}çâçæ³é¿åº¦âã
-%
\end{list}
%<*en>
\paragraph{Character classes}
Besides from above fields, a JFM file have several sub-tables those
indices are natural numbers. The table indexed by~$i\in\omega$ stores
-information of `character class'~$i$. At least, the character class~0 is
+information of \emph{character class}~$i$. At least, the character class~0 is
always present, so each JFM file must have a sub-table whose index is
\texttt{[0]}. Each sub-table (its numerical index is denoted by $i$) has
the following fields:
@@ -3198,34 +2905,30 @@ the following fields:
%<*ja>
\paragraph{æåã¯ã©ã¹}
ä¸è¨ã®ãã£ã¼ã«ãã«å ãã¦ï¼JFMãã¡ã¤ã«ã¯ãã®ã¤ã³ããã¯ã¹ãèªç¶æ°ã§ããããã¤ãã®
-ãµããã¼ãã«ãæã¤ï¼ã¤ã³ããã¯ã¹ã$i\in\omega$ã§ãããã¼ãã«ã¯ãæåã¯ã©ã¹ã$i$ã®
+ãµããã¼ãã«ãæã¤ï¼ã¤ã³ããã¯ã¹ã$i\in\omega$ã§ãããã¼ãã«ã¯\emph{æåã¯ã©ã¹}$i$ã®
æ
å ±ãæ ¼ç´ããï¼å°ãªãã¨ãï¼æåã¯ã©ã¹0ã¯å¸¸ã«åå¨ããã®ã§ï¼JFMãã¡ã¤ã«ã¯ã¤ã³ããã¯ã¹
ã\texttt{[0]}ã®ãµããã¼ãã«ãæããªããã°ãªããªãï¼ããããã®ãµããã¼ãã«
ï¼ãã®ã¤ã³ããã¯ã¹ã$i$ã§è¡¨ããï¼ã¯ä»¥ä¸ã®ãã£ã¼ã«ããæã¤ï¼
%
-%<*zh>
-\paragraph{Character classes}
-é¤äºä¸é¢æ¶åå°çå
容ï¼JFMæ件ä¸è¿æå 个以èªç¶æ°è¿è¡å£°æç次级表ã
-è¿äºè¡¨ä¾é 满足$i\in\omega$çâå符类â$i$æ¥ç´¢å¼ã
-ä¸è¬ï¼æå°éè¦çæ¯å符类0ï¼æ
æ¯ä¸ä¸ªJFMæ件å¿
é¡»æ次级表索å¼ä¸º\texttt{[0]}ã
-%
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[chars=\{, ...\}]
%(required except character class~0)
%ï¼æåã¯ã©ã¹0ãé¤ãã¦å¿
é ï¼
-%ï¼å符类0å¤å¿
é¡»ï¼
%<*en>
This field is a list of characters which are in this character
type~$i$. This field is optional if $i=0$, since all
- \textbf{JAchar} which are not in any character class other
+ \textbf{JAchar} which do not belong any character classes other
than 0 are in the character class 0
(hence, the character class~0 contains most of
- \textbf{JAchar}s). In the list, a character can be
- specified by its code number, or by the character itself
- (as a string of length~1). Moreover, there are `imaginary
- characters' which can be specified in the list. We will describe these later.
+ \textbf{JAchar}s). In the list, character(s) can be specified in the following form:
+\begin{itemize}
+\item a Unicode code point
+\item the character itself (as a Lua string, like \hbox{\ltjsetparameter{autoxspacing=false}\verb+'ã'+})
+\item a string like \hbox{\ltjsetparameter{autoxspacing=false}\verb+'ã*'+} (the character followed by an asterisk)
+\item several ``imaginary'' characters (We will describe these later.)
+\end{itemize}
%
%<*ja>
ãã®ãã£ã¼ã«ãã¯æåã¯ã©ã¹$i$ã«å±ããæåã®ãªã¹ãã§ããï¼ãã®ãã£ã¼ã«ãã¯$i=0$ã®
@@ -3233,67 +2936,53 @@ This field is a list of characters which are in this character
é¤ããå
¨ã¦ã®\textbf{JAchar}ãå±ããããï¼ï¼ãã®ãªã¹ãä¸ã§æåãæå®ããã«ã¯ï¼ä»¥ä¸ã®æ¹æ³ãããï¼
\begin{itemize}
\item Unicode ã«ãããã³ã¼ãçªå·
-\item ã\verb+'ã'+ãã®ãããªï¼æåããèªä½
-\item ã\verb+'ã*'+ãã®ãããªï¼æåããèªä½ã®å¾ã«ã¢ã¹ã¿ãªã¹ã¯ãã¤ãããã®
+\item ã\hbox{\ltjsetparameter{autoxspacing=false}\verb+'ã'+}ãã®ãããªï¼æåããèªä½
+\item ã\hbox{\ltjsetparameter{autoxspacing=false}\verb+'ã*'+}ãã®ãããªï¼æåããèªä½ã®å¾ã«ã¢ã¹ã¿ãªã¹ã¯ãã¤ãããã®
\item ããã¤ãã®ãä»®æ³çãªæåãï¼å¾ã«èª¬æããï¼
\end{itemize}
%
-%<*zh>
-è¿é¨å为å符é$i$çå符å表ãå½$i=0$æ¶ä¸éè¦è®¾å®æ¤é¨åï¼å 为ä¸å¨å符é0ç§ç\textbf{JAchar}
-å符é½å
å«å¨å符é0ä¸ï¼ä¹å°±æ¯å符é0å
å«å¤§å¤æ°ç\textbf{JAchar}ï¼ãå¨è¿ä¸ªå符å表ä¸ï¼æ¯ä¸ä¸ª
-å符æ®å¯ä»¥ä½¿ç¨å
¶ç¼ç ï¼æè
å符æ¬èº«ï¼é¿åº¦ä¸º1çå符串ï¼ãå¦å¤è¿æé¨åâåæ³å符âå¯å¨æ¤å表ä¸
-使ç¨ãæ们ä¼å¨ä¸é¢æè¿°ã
-%
\item[width=, height=, depth=, italic=]
%(required)
%ï¼å¿
é ï¼
-%ï¼å¿
é¡»ï¼
%<*en>
-Specify width of characters in character class~$i$, height, depth and
-the amount of italic correction. All characters in character class~$i$ are regarded that its width, height and depth are
+Specifythe 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: if \texttt{'prop'} is specified in \texttt{width} field, width of a character becomes that of its `real' glyph
+
+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.
%
%<*ja>
æåã¯ã©ã¹$i$ã«å±ããæåã®å¹
ï¼é«ãï¼æ·±ãï¼ã¤ã¿ãªãã¯è£æ£ã®éãæå®ããï¼
æåã¯ã©ã¹$i$ã«å±ããå
¨ã¦ã®æåã¯ï¼ãã®å¹
ï¼é«ãï¼æ·±ãããã®ãã£ã¼ã«ãã§æå®ãã
å¤ã§ãããã®ã¨ãã¦æ±ãããï¼
-ãããï¼ä¾å¤ãä¸ã¤ããï¼ãã\texttt{'prop'}ã\texttt{width}ãã£ã¼ã«ãã«
-æå®ãããå ´åï¼æåã®å¹
ã¯ãã®ãå®éã®ãã°ãªãã®å¹
ã¨ãªãï¼
+
+ä¾å¤ã¨ãã¦ï¼\emph{\texttt{width} ãã£ã¼ã«ãã«ã¯æ°å¤ä»¥å¤ã« \texttt{'prop'} ãæå®å¯è½ã§ãã}ï¼
+ãã®å ´åï¼æåã®å¹
ã¯ãã®ãå®éã®ãã°ãªãã®å¹
ã¨ãªãï¼OpenTypeã® \texttt{prop} featureã¨ä½µç¨
+ ããã°ï¼ããã«ãã£ã¦ãããã¼ã·ã§ãã«çµãè¡ããã¨ãã§ããï¼
%
-%<*zh>
-设å®å符类$i$ç宽度ï¼é«åº¦å深度以åæ大å©ä½æ ¡æ£ãå¨å符é$i$ä¸ï¼ææå符ç宽度ï¼é«åº¦
-å深度çå¼ä¸ºä¸è¿°è®¾å®ä¹å¼ãä¸è¿è¿æä¾å¤ï¼å¦æ\texttt{'prop'}设å®äº\texttt{width}é¨åï¼é£ä¹
-å符ç宽度å为å
¶âçå®âå形宽度ã
-%
\item[left=, down=, align=]\
%<*en>
-These fields are for adjusting the position of the `real' glyph. Legal
+These fields are for adjusting the position of the ``real'' glyph. Legal
values of \texttt{align} field are \texttt{'left'},
- \texttt{'middle'} and \texttt{'right'}. If one of these
+ \texttt{'middle'}, and \texttt{'right'}. If one of these
3~fields are omitted, \texttt{left} and \texttt{down} are
treated as~0, and \texttt{align} field is treated as
\texttt{'left'}.
The effects of these 3~fields are indicated in Figure~\ref{fig-pos}.
%
%<*ja>
-ãããã®ãã£ã¼ã«ãã¯ãå®éã®ãã°ãªãã®ä½ç½®ã調æ´ããããã«ããï¼
-\texttt{align}ãã£ã¼ã«ãã«æå®ã§ããå¤ã¯\texttt{'left'}, \texttt{'middle'},
-\texttt{'right'}ã®ããããã§ããï¼ããããã3ã¤ã®ãã£ã¼ã«ãã®ãã¡ã®1ã¤ãçããã
-å ´åï¼\texttt{left}ã¨\texttt{down}ã¯0ï¼\texttt{align}ãã£ã¼ã«ãã¯
-\texttt{'left'}ã§ãããã®ã¨ãã¦æ±ãããï¼
+ãããã®ãã£ã¼ã«ãã¯å®éã®ã°ãªãã®ä½ç½®ã調æ´ããããã«ããï¼
+\texttt{align} ãã£ã¼ã«ãã«æå®ã§ããå¤ã¯ \texttt{'left'}, \texttt{'middle'},
+\texttt{'right'} ã®ããããã§ããï¼ããããã3ã¤ã®ãã£ã¼ã«ãã®ãã¡ã®1ã¤ãçããã
+å ´åï¼\texttt{left} 㨠\texttt{down} ã¯0ï¼\texttt{align} ãã£ã¼ã«ãã¯
+\ \texttt{'left'} ã§ãããã®ã¨ãã¦æ±ãããï¼
ããã3ã¤ã®ãã£ã¼ã«ãã®æå³ã«ã¤ãã¦ã¯å³\ref{fig-pos}ã§èª¬æããï¼
%
-%<*zh>
-æ¤é¨å为âçå®âå形对é½ä½ç½®ã\texttt{align}çåæ³å¼ä¸º\texttt{'left'}ï¼
-\texttt{'middle'}å\texttt{'right'}ãå¦æ¤ä¸é¡¹è¢«çç¥ï¼å\texttt{left}å
-\texttt{down}被è§ä½0ï¼\texttt{align}被è§ä½\texttt{'left'}ã
-æ¤é¨åä¸ä¸ªåçä½ç¨ï¼è¯·åè§å¾\ref{fig-pos}ã
-%
%<*en>
In most cases, \texttt{left} and \texttt{down} fields are~0, while
@@ -3308,11 +2997,7 @@ when the current character class is the class for opening delimiters'.
ä¾ãã°ï¼\texttt{align}ãã£ã¼ã«ãã\texttt{'right'}ã«æå®ãããã¨ã¯ï¼
æåã¯ã©ã¹ãéãæ¬å¼§é¡ã§ããã¨ãã«å®éå¿
è¦ã§ããï¼
%
-%<*zh>
-å¨å¤§å¤æ°æ
åµä¸ï¼\texttt{left}å\texttt{down}å为0ï¼ä½æ¯å¨\texttt{align}å为
-\texttt{'middle'}æè
\texttt{'right'}æ¶åæ¯ä¸æ£å¸¸çãä¾å¦ï¼å¿
须设å®\texttt{align}
-为\texttt{'right'}æ¶ï¼åå½åå符类å¿
须为å¼å®ç符ã
-%
+
\begin{figure}[!tb]
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
@@ -3375,34 +3060,25 @@ field is \texttt{'middle'}.
\texttt{align}ãã£ã¼ã«ãã®å¤ã\texttt{'middle'}ã§ããåææåãå«ããã¼ãã
èãããï¼
%
-%<*zh>
-åå®ä¸ä¸ªnodeå
å«æ¥è¯å符ï¼ä¸å
¶å¼ä¸º\texttt{align}ç\texttt{'middle'}ã
-%
\begin{itemize}
\item
%<*en>
The black rectangle is a frame of the node.
-Its width, height and depth are specified by JFM.
+Its width, height, and depth are specified by JFM.
%
%<*ja>
é»è²ã®é·æ¹å½¢ã¯ãã¼ãã®æ ã§ããï¼
ãã®å¹
ï¼é«ãï¼æ·±ãã¯JFMã«ãã£ã¦æå®ãããï¼
%
-%<*zh>
-é»è²é¿æ¹å½¢ä¸ºnodeæ¡ãå
¶å®½åº¦ï¼é«åº¦ï¼æ·±åº¦å为JFMæ设å®ã
-%
\item
%<*en>
Since the \texttt{align} field is \texttt{'middle'},
-the `real' glyph is centered horizontally (the green rectangle).
+the ``real'' glyph is centered horizontally (the green rectangle).
%
%<*ja>
-\texttt{align}ãã£ã¼ã«ãã¯\texttt{middle}ãªã®ã§ï¼ãå®éã®ãã°ãªãã¯
+\texttt{align}ãã£ã¼ã«ãã¯\texttt{middle}ãªã®ã§ï¼å®éã®ã°ãªãã¯
æ°´å¹³æ¹åã®ä¸å¿ã«é
ç½®ãããï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
%
-%<*zh>
-å \texttt{align}被设å®ä¸º\texttt{middle}ï¼æ
âçå®âå形为水平å±
ä¸ï¼ç»¿é¿æ¹å½¢ä¸ï¼ã
-%
\item
%<*en>
Furthermore, the glyph is shifted according to values of fields
@@ -3413,35 +3089,97 @@ Furthermore, the glyph is shifted according to values of fields
ããã«ï¼ã°ãªãã¯\texttt{left}ã¨\texttt{down}ã®å¤ã«å¾ã£ã¦ã·ãããããï¼
æçµçãªå®éã®ã°ãªãã®ä½ç½®ã¯èµ¤è²ã®é·æ¹å½¢ã§ç¤ºãããä½ç½®ã«ãªãï¼
%
-%<*zh>
-æ¤å¤ï¼å形移ä½ç±\texttt{left}å\texttt{down}å³å®ãæç»åå½¢ä½ç½®ä¸ºçº¢é¿æ¹å½¢æ示ã
-%
\end{itemize}
\end{minipage}
\medskip
\caption{%
-%The position of the `real' glyph.
-%ãå®éã®ãã°ãªãã®ä½ç½®ï¼
-%âçå®âåå½¢ä½ç½®
+%The position of the real glyph
+%ãå®éã®ãã°ãªãã®ä½ç½®
}
\label{fig-pos}
\end{figure}
-\item[kern={\{[$j$]=, ...\}}]
+\item[kern={\{[$j$]=, [$j'$]=\{, []\}, ...\}}]
+
+\item[glue={\{[$j$]=\{, , , [], []\}, ...\}}]
+%<*ja>
+æåã¯ã©ã¹$i$ã®æåã¨$j$ã®æåã®éã«æ¿å
¥ãããkernãglueã®éãæå®ããï¼
+
+ 㯠\Pkg{luatexja-adjust} ã«ããåªå
é ä½ä»ã
+ è¡é·èª¿æ´ï¼\ref{ssec-adj}ç¯ï¼ãæå¹ãªã¨ãã®ã¿æå³ãæã¤ï¼
+ãã®ãã£ã¼ã«ãã¯çç¥å¯è½ã§ããï¼è¡èª¿æ´å¦çã«ããããã®glueã®åªå
+ 度ã$-2$ãã$+2$ã®éã®æ´æ°ã§æå®ããï¼å¤§ããå¤ã»ã©ã伸ã³ãããï¼ç¸®ã¿ãããã
+ ãã¨ãæå³ããï¼çç¥æã®å¤
+ ã¯0ã§ããï¼ç¯å²å¤ã®å¤ãæå®ãããã¨ãã®åä½ã¯æªå®ç¾©ã§ããï¼
+
+ãçç¥å¯è½ãã£ã¼ã«ãã§ããï¼$-1$ãã$+1$ã®å®æ°å¤ãã¨ãï¼çç¥æã®å¤ã¯0ã§ããï¼
+\begin{itemize}
+\item $-1$ã¯ãã®ã°ã«ã¼ããåã®æåãç±æ¥ã§ãããã¨ã示ãï¼
+\item $+1$ã¯ãã®ã°ã«ã¼ããå¾ã®æåãç±æ¥ã§ãããã¨ã示ãï¼
+\item ãã以å¤ã®å¤ã¯ï¼ãåã®æåãç±æ¥ã®ã°ã«ã¼ã¨ãå¾ã®æåãç±æ¥ã®
+ã°ã«ã¼ãæ··åããã¦ãããã¨ã示ãï¼
+\end{itemize}
+ãªãï¼ãã®ãã£ã¼ã«ãã®å¤ã¯\Param{\hyperlink{fld:diffjfm}{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
+\]
+\end{itemize}
+%
+%<*en>
+\
+
+Specifies the width 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,
+Thw 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.
+\]
+%
-\item[glue={\{[$j$]=\{, , \}, ...\}}]
-\end{list}
+\item[end\_stretch=]
+\item[end\_shrink=]
%<*ja>
-\paragraph{æåã¯ã©ã¹ã®æ±ºå®}
-æåã¯ã©ã¹ã®æ±ºå®ã¯å°ã
è¤éã§ããï¼ããã§ã¯ä¾ãç¨ãã¦èª¬æãããï¼
+ãããã®ãã£ã¼ã«ãã¯çç¥å¯è½ã§ããï¼
+åªå
é ä½ä»ãè¡é·èª¿æ´ãæå¹ã§ããï¼ãã¤ç¾å¨ã®æåã¯ã©ã¹ã®æåãè¡
+ æ«ã«æ¥ãæã«ï¼è¡é·ãè©°ãã調æ´ã»ä¼¸ã°ã調æ´ã®ã
+ ãã«ãã®æåã¨è¡æ«ã®éã«æ¿å
¥å¯è½ãªã«ã¼ã³ã®å¤§ãããæå®ããï¼
+%
+\end{list}
-ãã¨ãã°ï¼æ¬¡ã®å
容ãä¸é¨ã«å«ãã \texttt{jfm-test.lua} ãèãããï¼
+%<*ja>
+\paragraph{æåã¯ã©ã¹ã®æ±ºå®}
+æåãããã®æåã®å±ããæåã¯ã©ã¹ãç®åºããéç¨ã¯å°ã
è¤éã§ããï¼
+次ã®å
容ãä¸é¨ã«å«ãã \texttt{jfm-test.lua} ãç¨ãã¦èª¬æããï¼
+%
+%<*en>
+\paragraph{Character to character classes}
+We explain how the character class of a character is determined,
+using \texttt{jfm-test.lua} which contains the following:
+%
\begin{lstlisting}
[0] = {
- chars = { 'æ¼¢', 'ã*' },
+ chars = { 'æ¼¢', 'ã*' },
align = 'left', left = 0.0, down = 0.0,
width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
},
@@ -3451,54 +3189,92 @@ Furthermore, the glyph is shifted according to values of fields
width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
},
\end{lstlisting}
-å¥ç¹ãããã®å¹
ã¯äºåã§ããã®ã§
-\begin{LTXexample}
-\jfont\a=psft:Ryumin-Light:jfm=test;+vert
+%å¥ç¹ãããã®å¹
ã¯äºåã§ããã®ã§
+%Now consider the following input/output:
+\begin{LTXexample}[width=0.3\textwidth]
+\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+vert
\setbox0\hbox{\a ã\inhibitglue æ¼¢}
\the\wd0
\end{LTXexample}
-ã§ã¯ï¼å
¨è§äºå(15.0\,pt)ã¨ãªããªããã°ãããããï¼ä¸ã®å®è¡çµæã§ã¯20\,ptã¨ãªã£ã¦ããï¼
+%<*en>
+Now we look why the above source outputs 20\,pt, not 15\,pt.
+\begin{enumerate}
+\item The ideographic full stop ``ã'' is converted to its vertical form ``\char"FE12''~(\texttt{U+FE12}), %"
+by \verb+vert+ feature.
+\item The character class of ``\char"FE12'' is zero, hence its width is fullwidth.%"
+\item The character class of ``æ¼¢'', hence its width is fullwidth.
+\item \verb+\inhibitglue+ makes that no glue will be inserted between ``ã'' and ``æ¼¢''.
+\item Hence the width of \verb+\hbox+ equals to 20\,pt.
+\end{enumerate}
+This example shows that the character class of a character is determined \emph{after
+applying font features by \Pkg{luaotfload}}.
+%
+%<*ja>
+ã§ã¯ï¼å
¨è§äºå(15.0\,pt)ã¨ãªãã®ãèªç¶â¦â¦ã¨æããããããªããï¼ä¸ã®å®è¡çµæã§ã¯20\,ptã¨ãªã£ã¦ããï¼
ããã¯ä»¥ä¸ã®äºæ
ã«ãããã®ã§ããï¼
\begin{enumerate}
-\item \verb+vert+ featureã«ãã£ã¦å¥ç¹ã縦æ¸ãç¨ã®ã°ãªãã¨ç½®ãæããï¼\Pkg{luaotfload} ã«ããå¦çï¼ï¼
-\item ããããã®ã°ãªãã¯ãæåã³ã¼ããU+F0000以éã¨ã¿ãªããã¦ãã
-ï¼å®éã«ãããã«ãªããã¯ï¼ãã©ã³ãã«ãã£ã¦ç°ãªãï¼ï¼
-\item ãã£ã¦ï¼æåã¯ã©ã¹0ã¨ã¿ãªãããããï¼çµæã¨ãã¦ãããã®å¹
ã¯å
¨è§ã ã¨èªèããã¦ãã¾ãï¼
+\item \verb+vert+ featureã«ãã£ã¦å¥ç¹(\texttt{U+3002})ã縦æ¸ãç¨ã®ã°ãªãã¨ç½®ãæããï¼\Pkg{luaotfload} ã«ããå¦çï¼ï¼
+\item ãã®ç¸¦æ¸ãç¨å¥ç¹ã®ã°ãªã㯠\texttt{U+FE12} ã§ããããï¼ãã®æåã¯ã©ã¹ã¯0ã¨ãªãï¼
+\item 以ä¸ã«ããæåã¯ã©ã¹0ã¨ã¿ãªãããããï¼çµæã¨ãã¦ãããã®å¹
ã¯å
¨è§ã ã¨èªèããã¦ãã¾ãï¼
\end{enumerate}
+ãã®ä¾ã¯ï¼\emph{æåã¯ã©ã¹ã®æ±ºå®ã¯font featureã®é©ç¨ã«ããã°ãªãç½®æã®å¾ã«è¡ããã}ãã¨ã
+示ãã¦ããï¼
+%
-ä¸æ¹ï¼ã\texttt{'ã*'}ãã®ããã«ã¢ã¹ã¿ãªã¹ã¯ã¤ãã®æå®ãããã¨ï¼
-ç¶æ³ã¯ç°ãªã£ã¦ããï¼
-\begin{LTXexample}
-\jfont\a=psft:Ryumin-Light:jfm=test;+vert
+%<*en>
+However, a starred specificaion like ``\texttt{'ã*'}'' changes the rule.
+Consider the following input:
+%
+%<*ja>
+ä½ãï¼ã\texttt{'ã*'}ãã®ããã«ã¢ã¹ã¿ãªã¹ã¯ã¤ãã®æå®ãããã¨ï¼
+ç¶æ³ã¯ç°ãªãï¼
+%
+\begin{LTXexample}[width=0.3\textwidth]
+\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+vert
\a æ¼¢ã\inhibitglue æ¼¢
\end{LTXexample}
-ããã§ï¼èªç¹ãããã®æåã¯ã©ã¹ã¯ï¼ä»¥ä¸ã®ããã«ãã¦æ±ºã¾ãï¼
+%<*en>
+Here, the character class of the ideographic comma ``ã''~(\texttt{U+3001}) is determined
+as following:
+\begin{enumerate}
+\item As the case of ``ã'', the ideographic comma ``ã'' is converted to its vertical
+ form ``\char"FE11''~(\texttt{U+FE11}).%"
+\item The character class of ``\char"FE11'' is zero.
+\item However, \LuaTeX-ja remembers that this ``\char"FE11'' is obtained from ``ã'' by
+ font features. The character class of ``ã'' is \emph{non-zero value}, namely, 2000.
+\item Hence the ideographic comma ``ã'' in above belongs the character class~2000.
+\end{enumerate}
+%
+%<*ja>
+ããã§ï¼èªç¹ããã(\texttt{U+3001})ã®æåã¯ã©ã¹ã¯ï¼ä»¥ä¸ã®ããã«ãã¦æ±ºã¾ãï¼
\begin{enumerate}
\item ã¨ããããå¥ç¹ã®æã¨åãããã«ï¼\Pkg{luaotfload} ã«ãã£ã¦ç¸¦æ¸ãç¨èªç¹ã®ã°ãªãã«ç½®ãæããï¼
-\item ç½®æå¾ã®ã°ãªãã®ãæåã³ã¼ããã¯U+F0000以éã§ããï¼
-ãã®ã¾ã¾ã§ã¯æåã¯ã©ã¹ã¯0ã¨å¤å®ãããï¼
-\item ã¨ãããï¼JFMã«ã¯ã\texttt{'ã*'}ãæå®ãããã®ã§ï¼ç½®æåã®æ¨ªæ¸ãç¨èªç¹ã®ã°ãªããããï¼æåã³ã¼ãã¯U+3001ï¼ã«ãã£ã¦æåã¯ã©ã¹ãå¤å®ããï¼
+\item ç½®æå¾ã®ã°ãªã㯠\texttt{U+FE11} ã§ããï¼ãã®ã¾ã¾ã§ã¯æåã¯ã©ã¹ã¯0ã¨å¤å®ãããï¼
+\item ã¨ãããï¼JFMã«ã¯ã\texttt{'ã*'}ãæå®ãããã®ã§ï¼ç½®æåã®æ¨ªæ¸ãç¨èªç¹ã®ã°ãªãã«ãã£ã¦æåã¯ã©ã¹ãå¤å®ããï¼
\item çµæã¨ãã¦ï¼ä¸ã®åºåä¾ä¸ã®èªç¹ã®æåã¯ã©ã¹ã¯2000ã¨ãªãï¼
\end{enumerate}
+%
-ãªãï¼ç½®æå¾ã®ã°ãªãã§å¤å®ããæåã¯ã©ã¹ã®å¤ã0ã§ãªããã°ï¼ãã¡ãããã®ã¾ã¾ä½ç¨ããï¼
-\begin{LTXexample}
-\jfont\a=psft:Ryumin-Light:jfm=test;+hwid
-\a æ¼¢ï¾ã²
+%<*ja>
+ãªãï¼ã\texttt{'\hbox{}ã*'}ãã®ããã«ã¢ã¹ã¿ãªã¹ã¯ã¤ãã®æå®ããã£ã¦ãï¼
+ç½®æå¾ã®ã°ãªãã§å¤å®ããæåã¯ã©ã¹ã®å¤ã0ã§ãªããã°ï¼ãã¡ãããã®ã¾ã¾ä½ç¨ããï¼
+\begin{LTXexample}[width=0.3\textwidth]
+\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+hwid
+\a æ¼¢ãã²
\end{LTXexample}
ä¸ã®ä¾ã§ã¯ï¼
\texttt{hwid} featureã«ããï¼ããããåè§ã®ãï¾ãã«ç½®ãæãããï¼
-æåã¯ã©ã¹ã¯ãããã®å±ãã0\textbf{ã§ã¯ãªã}ï¼ãï¾ãã®å±ãã2000ã¨ãªãï¼
+æåã¯ã©ã¹ã¯ãããã®å±ãã0\emph{ã§ã¯ãªã}ï¼ãï¾ãã®å±ãã2000ã¨ãªãï¼
%
%\paragraph{ä»®æ³çãªæå}
-%\paragraph{Imaginary characters}
+%\paragraph{Imaginary characters}
%<*en>
-As described before, you can specify several `imaginary characters' in
+As described before, you can specify several \emph{imaginary characters} in
\texttt{chars} field. The most of these characters are regarded as the
characters of class 0 in \pTeX.
As a result, \LuaTeX-ja can control typesetting finer than \pTeX.
-The following is the list of `imaginary characters':
+The following is the list of imaginary characters:
%
%<*ja>
ä¸ã§èª¬æããéãï¼\texttt{chars}ãã£ã¼ã«ãä¸ã«ã¯ããã¤ãã®ãç¹æ®æåãã
@@ -3506,51 +3282,36 @@ The following is the list of `imaginary characters':
ã¯ã©ã¹0ã®æåãã¨ãã¦æ±ããã¦ããæåã§ããï¼ãã®çµæã¨ãã¦\pTeX ããç´°ã
ãçµç調æ´ãã§ããããã«ãªã£ã¦ããï¼ä»¥ä¸ã§ãã®ä¸è¦§ãè¿°ã¹ãï¼
%
-%<*zh>
-å¦ä¸æè¿°ï¼ä½ å¯ä»¥å¨\texttt{chars}ä¸è®¾å®å¤ä¸ªâåæ³å符âãè¿äºå符ä¸çå¤æ°å符å¨
-\pTeX ä¸å¼è¢«è§ä½å符é0ä¸å符ãæ
æ¤ï¼\LuaTeX-jaå¯ä»¥æ¯\pTeX åå¾æ´å¥½ã
-ä¸å为âåæ³å符âå表ï¼
-%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item['lineend']
-%An ending of a line.
-%è¡ã®çµç«¯ã表ãï¼
-%è¡å°¾ç»æå符ã
-\item['diffmet']
-%Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
-%JFMããµã¤ãºãç°ãªã2ã¤ã®\textbf{JAchar}ã®éã®å¢çã¨ãã¦ç¨ããããï¼
-%ç¨äºä¸¤ä¸ªä¸å大å°æä¸åJFMç两个\textbf{JAchar}é´è¾¹çã
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+%%\item['diffmet']
+%%Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
+%%JFMããµã¤ãºãç°ãªã2ã¤ã®\textbf{JAchar}ã®éã®å¢çã¨ãã¦ç¨ããããï¼
\item['boxbdd']
-%The beginning/ending of a horizontal box, and the beginning of a noindented paragraph.
-%æ°´å¹³ããã¯ã¹ã®å
é ã¨æ«å°¾ï¼åã³ã¤ã³ãã³ãããã¦ããªãï¼\verb+\noindent+ ã§éå§ãããï¼æ®µè½ã®å
é ã表ãï¼
-%æ°´å¹³ååç»ææç»å°¾ï¼ä»¥åæªç¼©è¿æ®µè½å¼å¤´ã
+%The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \verb+\noindent+) paragraph.
+%hboxã®å
é ã¨æ«å°¾ï¼åã³ã¤ã³ãã³ãããã¦ããªãï¼\verb+\noindent+ ã§éå§ãããï¼æ®µè½ã®å
é ã表ãï¼
\item['parbdd']
%The beginning of an (indented) paragraph.
%é常ã®ï¼\verb+\noindent+ ã§éå§ããã¦ããªãï¼æ®µè½ã®å
é ï¼
-%缩è¿æ®µè½å¼å¤´ã
\item['jcharbdd']
%A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
%åææåã¨ããã®ä»ã®ãã®ãï¼æ¬§ææåï¼glueï¼kernçï¼ã¨ã®å¢çï¼
-%æ¥æå符åå
¶ä»ï¼å¦\textbf{ALchar}ï¼è¶ï¼åºæ ¼çï¼è¾¹çã
\item[$-1$]
%The left/right boundary of an inline math formula.
%è¡ä¸æ°å¼ã¨å°ã®æã¨ã®å¢çï¼
-%è¡ä¸æ°å¦å¼çå·¦/å³è¾¹çã
\end{list}
%\paragraph{Porting JFM from \pTeX}
%\paragraph{\pTeX ç¨åæç¨TFMã®ç§»æ¤}
-%\paragraph{\pTeX ä¸ä½¿ç¨çTFM移æ¤}
% ToDo: English version.
%<*en>
-\ldots
+See Japanese version of this manual.
%
%<*ja>
@@ -3558,7 +3319,7 @@ The following is the list of `imaginary characters':
\begin{itemize}
\item å®éã«åºåãããåæãã©ã³ãã®ãµã¤ãºãdesign sizeã¨ãªãï¼
ãã®ããï¼ä¾ãã°$1\,\textrm{zw}$ãdesign sizeã®0.962216åã§ããJISãã©ã³
- ãã¡ããªãã¯çã移æ¤ããå ´åã¯ï¼
+ ãã¡ããªãã¯çã移æ¤ããå ´åã¯ï¼æ¬¡ã®ããã«ããã¹ãã§ããï¼
\begin{itemize}
\item JFMä¸ã®å
¨ã¦ã®æ°å¤ã$1/0.962216$åãã¦ããï¼
\item \TeX ã½ã¼ã¹ä¸ã§ä½¿ç¨ããã¨ããã§ï¼ãµã¤ãºæå®ã0.962216åã«ããï¼
@@ -3573,7 +3334,7 @@ The following is the list of `imaginary characters':
æåã¯ã©ã¹ã«é¢ãã¦ã¯ã°ã«ã¼ï¼ã«ã¼ã³ã®è¨å®ã¯ããªãï¼
ããã¯ï¼\pTeX ã§ã¯ï¼
- æ°´å¹³ããã¯ã¹ã®å
é ã»æ«å°¾ã¨ã¤ã³ãã³ãããã¦ããªãï¼\verb+\noindent+ ã§éå§ã
+ hboxã®å
é ã»æ«å°¾ã¨ã¤ã³ãã³ãããã¦ããªãï¼\verb+\noindent+ ã§éå§ã
ããï¼æ®µè½ã®å
é ã«ã¯JFMã°ã«ã¼ã¯å
¥ããªãã¨ããä»æ§ãå®ç¾ãããããã§ããï¼
\item \pTeX ã®çµçãåç¾ããããã¨ããã®ãç®çã§ããã°ä»¥ä¸ã®æ³¨æãå®ãã°ååã§ããï¼
@@ -3586,8 +3347,8 @@ The following is the list of `imaginary characters':
ãã«ãªã£ãï¼ä¾ãã°ï¼\LuaTeX-jaå梱ã®JFMã®ããã«ï¼\texttt{'boxbdd'}ã¨åãæåã¯ã©ã¹ã«
\texttt{'parbdd'}ãå
¥ããã°å
¨è§ä¸ããã¨ãªãï¼
-\begin{LTXexample}
-\jfont\g=psft:Ryumin-Light:jfm=test \g
+\begin{LTXexample}[width=0.4\textwidth]
+\jfont\g=KozMinPr6N-Regular:jfm=test \g
\parindent1\zw\noindent{}âââââ
\par ãâââäºåä¸ãã
\par ãâââå
¨è§ä¸ãã
@@ -3598,17 +3359,13 @@ The following is the list of `imaginary characters':
ä½ãï¼\verb+\everypar+ ãå©ç¨ãã¦ããå ´åã«ã¯ãã®ä»çµã¿ã¯æ£ããåããªãï¼
ãã®ãããªä¾ã¨ãã¦ã¯ç®æ¡æ¸ãä¸ã® \verb+\item+ ã§å§ã¾ã段è½ãããï¼\Pkg{ltjsclasses}ã§ã¯
人工çã«ã\texttt{'parbdd'}ã®æå³ãæã¤ãwhatsitãã¼ããä½ããã¨ã«ãã£ã¦å¯¾å¦ãã¦ãã%
-\footnote{\texttt{no\_runtime/ltjsclasses.dtx} ãåç
§ããããï¼
-JFMå´ã§ä¸é¨ã®å¯¾å¦ãã§ãããã¨ã«ããï¼\Pkg{jsclasses}ã®ããã«ifæã®å¤å®ã¯ãã¦ããªãï¼}
+\footnote{\texttt{ltjsclasses.dtx} ãåç
§ããããï¼
+JFMå´ã§ä¸é¨ã®å¯¾å¦ãã§ãããã¨ã«ããï¼\Pkg{jsclasses}ã®ããã«ifæã®å¤å®ã¯ãã¦ããªãï¼}ï¼
%
-%<*zh>
-ä¸é¢ï¼ç»åºç¨äº\pTeX 使ç¨çJFM移æ¤å°\LuaTeX-jaè¿ç¨ä¸éè¦æ³¨æçå ç¹ã
-%
%\subsection{Math Font Family}
%\subsection{æ°å¼ãã©ã³ããã¡ããª}
-%\subsection{æ°å¦åä½æ}
\label{ssec-math}
%<*en>
@@ -3622,7 +3379,8 @@ an external package is needed to support this in plain \TeX\ and
\TeX\ ã¯æ°å¼ãã©ã³ãã16ã®ãã¡ããª\footnote{Omega, Aleph, \LuaTeXï¼ããã¦
$\varepsilon$-\kern-.125em(u)\pTeX\ ã§ã¯256ã®æ°å¼ãã¡ããªãæ±ããã¨ãã§ãããï¼
ããããµãã¼ãããããã«plain \TeX ã¨\LaTeX ã§ã¯å¤é¨ããã±ã¼ã¸ãèªã¿è¾¼ãå¿
è¦ã
- ããï¼}ã§ç®¡çãï¼ããããã®ãã¡ããªã¯3ã¤ã®ãã©ã³ããæã£ã¦ããï¼\verb+\textfont+, \verb+\scriptfont+ ãã㦠\verb+\scriptscriptfont+ ã§ãã.
+ ããï¼}ã§ç®¡çãï¼ããããã®ãã¡ããªã¯3ã¤ã®ãã©ã³ããæã£ã¦ããï¼
+\verb+\textfont+, \verb+\scriptfont+ ãã㦠\verb+\scriptscriptfont+ ã§ãã.
%
%<*en>
@@ -3640,17 +3398,16 @@ you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
%
\begin{table}[!tb]
-%\caption{Primitives for Japanese math fonts.}
-%\caption{åææ°å¼ãã©ã³ãã«å¯¾ããããªããã£ãï¼}
-%\caption{æ¥è¯æ°å¦åä½åºæ¬è¯å¥}
+%\caption{Commands for Japanese math fonts}
+%\caption{åææ°å¼ãã©ã³ãã«å¯¾ããå½ä»¤}
\label{tab-math}
-\begin{center}
+%\medskip
+\centering
\def\{{\char`\{}\def\}{\char`\}}\small
\begin{tabular}{ll}
\toprule
%\bf Japanese fonts&\bf alphabetic fonts\\
%\bf åæãã©ã³ã&\bf 欧æãã©ã³ã\\
-%\bf æ¥æåä½&\bf 西æåä½\\
\midrule
\verb+\jfam+${}\in [0,256)$&\verb+\fam+\\
\tt\Param{jatextfont}\,=\{,\}&\tt\verb+\textfont+=\\
@@ -3658,15 +3415,13 @@ you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
\tt\Param{jascriptscriptfont}\,=\{,\}&\tt\verb+\scriptscriptfont+=\\
\bottomrule
\end{tabular}
-\end{center}
\end{table}
%\subsection{Callbacks}
%\subsection{ã³ã¼ã«ããã¯}
-%\subsection{åè°}
%<*en>
-Like \LuaTeX\ itself, \LuaTeX-ja also has callbacks. These callbacks can
+\LuaTeX-ja also has several callbacks. These callbacks can
be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other callbacks.
%
%<*ja>
@@ -3678,7 +3433,6 @@ be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other c
{\def\makelabel#1{\bfseries#1}}
%\item[\texttt{luatexja.load\_jfm} callback]
%\item[\texttt{luatexja.load\_jfm}ã³ã¼ã«ããã¯]
-%\item[\texttt{luatexja.load\_jfm}åè°]
%<*en>
With this callback you can overwrite JFMs.
This callback is called when a new JFM is loaded.
@@ -3707,21 +3461,18 @@ this argument has \texttt{chars} field which contains character codes
%<*en>
An example of this callback is the \texttt{ltjarticle} class, with
forcefully assigning character class~0 to \texttt{'parbdd'}
- in the JFM \texttt{jfm-min.lua}. This callback doesn't
- replace any code of \LuaTeX-ja.
+ in the JFM \texttt{jfm-min.lua}.
%
%<*ja>
ãã®ã³ã¼ã«ããã¯ã®ä½¿ç¨ä¾ã¯\texttt{ltjarticle}ã¯ã©ã¹ã«ããï¼
\texttt{jfm-min.lua}ä¸ã®\texttt{'parbdd'}ãå¼·å¶çã«ã¯ã©ã¹0ã«å²ãå½ã¦ã¦ããï¼
-ãã®ã³ã¼ã«ããã¯ã¯\LuaTeX-jaã®ã³ã¼ããæ¸ãæããªãï¼
%
-%\item[\texttt{luatexja.define\_font} callback]
-%\item[\texttt{luatexja.define\_font}ã³ã¼ã«ããã¯]
-%\item[\texttt{luatexja.define\_font}åè°]
+%\item[\texttt{luatexja.define\_jfont} callback]
+%\item[\texttt{luatexja.define\_jfont}ã³ã¼ã«ããã¯]
%<*en>
-This callback and the next callback form a pair, and you can assign letters which don't have
- fixed code points in Unicode to non-zero character classes.
+This callback and the next callback form a pair, and you can assign characters
+ which do not have fixed code points in Unicode to non-zero character classes.
This \texttt{luatexja.define\_font} callback is called just when new Japanese font is loaded.
%
%<*ja>
@@ -3735,36 +3486,102 @@ function ( jfont_info, font_number)
return new_jfont_info
end
\end{lstlisting}
-
%<*en>
-You may assume that \verb+jfont_info+ has the following fields:
+\verb+jfont_info+ has the following fields,
+\emph{which may not overwritten by a user}:
+\begin{description}
+\item[\texttt{size}]
+The font size specified at \verb+\jfont+ in scaled points ($1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$).
+\item[\texttt{zw}, \texttt{zh}, \texttt{kanjiskip}, \texttt{xkanjiskip}]
+These are scaled value of those specified by the JFM, by the font size.
+\item[\texttt{jfm}]
+The internal number of the JFM.
+\item[\texttt{var}]
+The value of \texttt{jfmvar}~key, which is specified at \verb+\jfont+.
+The default value is the empty string.
+\item[\texttt{chars}]
+The mapping table from character codes to its character classes.\\
+The specification \texttt{[i].chars=\{, ...\}} in the JFM will be stored in this
+ field as \texttt{chars=\{[]=\,$i$, ...\}}.
+\item[\texttt{char\_type}]
+For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose class is
+ $i$, and has the following fields:
+\begin{itemize}
+ \item \texttt{width},~\texttt{height}, \texttt{depth},
+ \texttt{italic}, \texttt{down},~\texttt{left}\ are just
+ scaled value of those specified by the JFM, by the font size.
+ \item \texttt{align} is a number which is determined from \texttt{align}~field in the JFM:
+\[
+ \begin{cases}
+ 0&\text{\texttt{'left'} and the default value}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
+ \end{cases}
+\]
+\item For $j\in \omega$, \texttt{[$j$]} stores a kern or a glue which will be inserted
+between character class~$i$ and class~$j$.
+
+If a kern will be inserted, the value of this field is \texttt{[$j$]=\{false, , \}},
+where is a node\footnote{%
+ This version of \LuaTeX-ja uses ``direct access
+ model'' for accessing nodes, if possible. }.
+If a glue will be inserted, we have \texttt{[$j$]=\{false, , , \}},
+where is also a node, and $\text{}=\textit{from\_jfm}+\text{}$.
+\end{itemize}
+\end{description}
%
%<*ja>
-\verb+jfont_info+ ã¯ä»¥ä¸ã®ãã£ã¼ã«ããæã¤ï¼
-%
+\verb+jfont_info+ ã¯æä½é以ä¸ã®ãã£ã¼ã«ããæã¤ãï¼ããããæ¸ãæãã¦ã¯ãªããªãï¼
\begin{description}
-\item[\tt jfm]
-%The index number of JFM.
-%JFMã®ã¤ã³ããã¯ã¹çªå·ï¼
-%JFMç´¢å¼ç¼å·ã
-
-\item[\tt size]
-%Font size in a scaled point (${}=2^{-16}\,\textrm{pt}$).
-%ã¹ã±ã¼ã«ãã»ãã¤ã³ã(${}=2^{-16}\,\textrm{pt}$)ãåä½ã¨ãããã©ã³ãã®ãµã¤ãºï¼
-%以åç
§ç¹(${}=2^{-16}\,\textrm{pt}$)为ç¹ä½çåä½å¤§å°ã
-
-\item[\tt var]
-%The value specified in \texttt{jfmvar=...} at a call of \verb+\jfont+.
-%\verb+\jfont+ ã®å¼ã³åºãã®éã«\texttt{jfmvar=...}ã§æå®ãããå¤ï¼
-%\verb!\jfont!è°ç¨ç\texttt{jfmvar=...}å¼ã
+\item[\texttt{size}]
+å®éã«ä½¿ããããã©ã³ããµã¤ãºï¼spåä½ï¼ï¼$1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$ï¼
+\item[\texttt{zw}, \texttt{zh}, \texttt{kanjiskip}, \texttt{xkanjiskip}]
+JFMãã¡ã¤ã«ã§æå®ããã¦ããããããã®å¤ããã©ã³ããµã¤ãºã«åããã¦ã¹ã±ã¼ãªã³ã°ãããã®ã
+spåä½ã§æ ¼ç´ãã¦ããï¼
+\item[\texttt{jfm}]
+å©ç¨ããã¦ããJFMãèå¥ããããã®çªå·ï¼
+\item[\texttt{var}]
+\verb+\jfont+ã§æå®ããã \texttt{jfmvar} ãã¼ã®å¤ï¼æªæå®ã®ã¨ãã¯ç©ºæååï¼ï¼
+\item[\texttt{chars}]
+æåã³ã¼ãããæåã¯ã©ã¹ã¸ã®å¯¾å¿ãè¨è¿°ããããã¼ãã«ï¼\\
+JFMå
ã® \texttt{[i].chars=\{, ...\}} ã¨ããæå®ã¯\
+\texttt{chars=\{[]=\,$i$, ...\}} ã¨ããå½¢å¼ã«å¤æããã¦ããï¼
+\item[\texttt{char\_type}]
+$i\in\omega$ã«å¯¾ãã¦ï¼\texttt{char\_type[$i$]} ã¯æåã¯ã©ã¹$i$ã®æåã®å¯¸æ³ãæ ¼ç´ãã¦ããï¼
+以ä¸ã®ãã£ã¼ã«ããæã¤ï¼
+\begin{itemize}
+ \item \texttt{width},~\texttt{height}, \texttt{depth},
+ \texttt{italic}, \texttt{down},~\texttt{left}\ ã¯
+JFMã§æå®ããã¦ããããããã®å¤ãã¹ã±ã¼ãªã³ã°ãããã®ã§ããï¼
+ \item \texttt{align} ã¯JFMã§æå®ããã¦ããå¤ã«ãã£ã¦ï¼
+\[
+ \begin{cases}
+ 0&\text{\texttt{'left'}ãçç¥æ}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
+ \end{cases}
+\]
+ã®ããããã®å¤ãã¨ãï¼
+\item $j\in \omega$ã«å¯¾ãã¦ï¼\texttt{[$j$]} ã¯æåã¯ã©ã¹$i$ã®æåã¨$j$ã®æåã®éã«æ¿å
¥ãããkern
+ ãglueãæ ¼ç´ãã¦ããï¼
+éã«å
¥ããã®ãkernã§ããã°ï¼ãã®ãã£ã¼ã«ãã®å¤ã¯\
+\texttt{[$j$]=\{false, , \}} ã§ããï¼
+ã¯kernã表ããã¼ããã®ãã®ã§ãã\footnote{%
+æ¬ãã¼ã¸ã§ã³ã§ã¯å©ç¨å¯è½ãªãã°ãã¼ãã®ã¢ã¯ã»ã¹ææ³ã«direct access
+ modelãç¨ãã¦ããï¼ãã®ããï¼ä¾ãã°\LuaTeX\ beta-0.78.2ã§ã¯ï¼åãªãèªç¶æ°ã®ããã«ã
+ ãè¦ããªããã¨ã«æ³¨æï¼
+}ï¼
+glueã§ããã°ï¼\texttt{[$j$]=\{false, , , \}} ã§ããï¼
+ã¯glueã®é·ãã表ããã¼ããã®ãã®ã§ããï¼
+ $\text{}=\textit{from\_jfm}+\text{}$ã§ããï¼
+\end{itemize}
\end{description}
+%
%<*en>
-The returned table \verb+new_jfont_info+ also should include these three fields.
+The returned table \verb+new_jfont_info+ also should include these fields, but
+you are free to add more fields (to use them in the \texttt{luatexja.find\_char\_class} callback).
The \verb+font_number+ is a font number.
%
%<*ja>
-æ»ãå¤ã® \verb+new_jfont_info+ ãã¼ãã«ãããã3ã¤ã®ãã£ã¼ã«ããå«ã¾ãªããã°ãªããªãï¼
+æ»ãå¤ã® \verb+new_jfont_info+ ãã¼ãã«ãä¸ã«è¿°ã¹ããã£ã¼ã«ãããã®ã¾ã¾å«ã¾ãªããã°ãªããªããï¼
+ãã以å¤ã«ã¦ã¼ã¶ãåæã«ãã£ã¼ã«ããä»ãå ãããã¨ã¯èªç±ã§ããï¼
\verb+font_number+ ã¯ãã©ã³ãçªå·ã§ããï¼
%
@@ -3778,12 +3595,10 @@ A good example of this and the next callbacks is the \Pkg{luatexja-otf}
ããã¨æ¬¡ã®ã³ã¼ã«ããã¯ã®è¯ã使ç¨ä¾ã¯\Pkg{luatexja-otf}ããã±ã¼ã¸ã§ããï¼
JFMä¸ã§Adobe-Japan1 CIDã®æåã \verb+"AJ1-xxx"+ ã®å½¢ã§æå®ããããã«
ç¨ãããã¦ããï¼
-ãã®ã³ã¼ã«ããã¯ã¯\LuaTeX-jaã®ã³ã¼ããæ¸ãæããªãï¼
%
%\item[\texttt{luatexja.find\_char\_class} callback]
%\item[\texttt{luatexja.find\_char\_class}ã³ã¼ã«ããã¯]
-%\item[\texttt{luatexja.find\_char\_class}åè°]
%<*en>
This callback is called just when \LuaTeX-ja is trying to determine which
character class a character \verb+chr_code+ belongs.
@@ -3820,19 +3635,8 @@ The argument \verb+char_class+ is the result of \LuaTeX-ja's default
ããã©ã«ãã«ã¼ãã³ãæ¸ãæãããã¨ã«ãªãï¼
%
-%<*en>
-This callback doesn't replace any code of \LuaTeX-ja.
-%
-%<*ja>
-ãã®ã³ã¼ã«ããã¯ã¯\LuaTeX-jaã®ã³ã¼ããæ¸ãæããªãï¼
-%
-%<*zh>
-æ¤åè°ä¸ä¼æ¿æ¢\LuaTeX-jaä¸ä»»ä½ä»£ç ã
-%
-
%\item[\texttt{luatexja.set\_width} callback]
%\item[\texttt{luatexja.set\_width}ã³ã¼ã«ããã¯]
-%\item[\texttt{luatexja.set\_width}åè°]
%<*en>
This callback is called when \LuaTeX-ja is trying to encapsule a
\textbf{JAchar} \textit{glyph\_node}, to adjust its
@@ -3851,12 +3655,12 @@ end
%<*en>
The argument \verb+shift_info+ and the returned \verb+new_shift_info+ have
\texttt{down} and \texttt{left} fields, which are the amount of shifting
- down/left the character in a scaled-point.
+ down/left the character in a scaled point.
%
%<*ja>
å¼æ° \verb+shift_info+ ã¨æ»ãå¤ã® \verb+new_shift_info+ ã¯
\texttt{down}ã¨\texttt{left}ã®ãã£ã¼ã«ããæã¡ï¼ãããã®å¤ã¯
-æåã®ä¸ï¼å·¦ã¸ã®ã·ããéï¼ã¹ã±ã¼ã«ãã»ãã¤ã³ãåä½ï¼ã§ããï¼
+æåã®ä¸ï¼å·¦ã¸ã®ã·ããéï¼spåä½ï¼ã§ããï¼
%
%<*en>
@@ -3871,9 +3675,6 @@ to be that of letters in the character class~0. For example, suppose that
(the standard values of Japanese TrueType fonts).
\end{itemize}
Then, the position of glyphs is shifted up by
-\[
- \frac{88x}{88x+12x} (28y+5y) - 28y = \frac{26}{25}y= 1.04y.
-\]
%
%<*ja>
è¯ãä¾ã\Pkg{test/valign.lua}ã§ããï¼ãã®ãã¡ã¤ã«ãèªã¿è¾¼ã¾ããç¶æ
ã§ã¯ï¼
@@ -3885,26 +3686,23 @@ 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.
\]
-ã ãä¸ã«ããããããã¨ã«ãªãï¼
-%
\end{list}
%\section{Parameters}
%\section{ãã©ã¡ã¼ã¿}
-%\section{åæ°}
-%\subsection{\texttt{\char92 ltjsetparameter} primitive}
-%\subsection{\texttt{\char92 ltjsetparameter}ããªããã£ã}
-%\subsection{\texttt{\char92 ltjsetparameter}åºæ¬åæ°}
+\subsection{\texttt{\textbackslash ltjsetparameter}}
+\label{ssec-param}
%<*en>
-As noted before, \verb+\ltjsetparameter+ and \verb+\ltjgetparameter+ are
-primitives for accessing most parameters of \LuaTeX-ja. One of the main
+As described before, \verb+\ltjsetparameter+ and \verb+\ltjgetparameter+ are
+commands for accessing most parameters of \LuaTeX-ja. One of the main
reason that \LuaTeX-ja didn't adopted the syntax similar to that of \pTeX\
(\textit{e.g.},~\verb+\prebreakpenalty`ï¼=10000+)
is the position of \verb+hpack_filter+ callback in the source
@@ -3912,17 +3710,17 @@ of \LuaTeX, see Section~\ref{sec-para}.
%
%<*ja>
å
ã«è¿°ã¹ãããã«ï¼\verb+\ltjsetparameter+ 㨠\verb+\ltjgetparameter+ ã¯
-\LuaTeX-jaã®ã»ã¨ãã©ã®ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããããã®ããªããã£ãã§ããï¼
+\LuaTeX-jaã®ã»ã¨ãã©ã®ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããããã®å½ä»¤ã§ããï¼
\LuaTeX-jaã\pTeX ã®ãããªææ³ï¼ä¾ãã°ï¼\verb+\prebreakpenalty`ï¼=10000+ï¼ã
æ¡ç¨ããªãçç±ã®ä¸ã¤ã¯ï¼\LuaTeX ã®ã½ã¼ã¹ã«ããã \verb+hpack_filter+
-ã³ã¼ã«ããã¯ã®ä½ç½®ã«ããï¼\ref{sec-para}ç¯ãåç
§ï¼
+ã³ã¼ã«ããã¯ã®ä½ç½®ã«ããï¼\ref{sec-para}ç« ãåç
§ï¼
%
%<*en>
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ are primitives
+\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ are commands
for assigning parameters. These take one argument which is a
-\texttt{=} list. Allowed keys are described in the next
-subsection.
+\texttt{=} list.
+The list of allowed keys are described in the next subsection.
The difference between
\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ is only the
scope of assignment;
@@ -3933,48 +3731,16 @@ like other assignment.
%
%<*ja>
\verb+\ltjsetparameter+ 㨠\verb+\ltjglobalsetparameter+ ã¯ãã©ã¡ã¼ã¿ã
-æå®ããããã®ããªããã£ãã§ããï¼ãããã¯\texttt{=}ã®ãªã¹ãã
-å¼æ°ã¨ãã¦ã¨ãï¼è¨±ããããã¼ã¯æ¬¡ã®ç¯ã«è¨è¿°ããï¼
+æå®ããããã®å½ä»¤ã§ããï¼ãããã¯\texttt{=}ã®ãªã¹ãã
+å¼æ°ã¨ãã¦ã¨ãï¼è¨±ããããã¼ã®ä¸è¦§ã¯æ¬¡ã®ç¯ã«ããï¼
\verb+\ltjsetparameter+ 㨠\verb+\ltjglobalsetparameter+ ã®éãã¯ã¹ã³ã¼ãã®
-éãã®ã¿ã§ããï¼
+éãã®ã¿ã§ï¼
\verb+\ltjsetparameter+ ã¯ãã¼ã«ã«ãªæå®ï¼\verb+\ltjglobalsetparameter+ ã¯
ã°ãã¼ãã«ãªæå®ãè¡ãï¼
ãããã¯ä»ã®ãã©ã¡ã¼ã¿æå®ã¨åæ§ã« \verb+\globaldefs+ ã®å¤ã«å¾ãï¼
%
%<*en>
-\verb+\ltjgetparameter+ is the primitive for acquiring parameters. It
-always takes a parameter name as first argument, and also takes the
-additional argument---a character code, for example---in some cases.
-%
-%<*ja>
-\verb+\ltjgetparameter+ ã¯ãã©ã¡ã¼ã¿ã®å¤ãåå¾ããããã®ããªããã£ãã§ããï¼
-常ã«ãã©ã¡ã¼ã¿ã®ååã第ä¸å¼æ°ã«ã¨ãï¼
-ããã¦ï¼ããã¤ãã®å ´åã«ã¯å ãã¦ããã«å¼æ°ï¼ä¾ãã°æåã³ã¼ãï¼ãã¨ãï¼
-%
-\begin{LTXexample}
-\ltjgetparameter{differentjfm},
-\ltjgetparameter{autospacing},
-\ltjgetparameter{prebreakpenalty}{`ï¼}.
-\end{LTXexample}
-%<*en>
-\emph{The return value of\/ {\normalfont\tt\char92ltjgetparameter} is
-always a string}. This is outputted by \texttt{tex.write()}, so any
-character other than space~`\texttt{\char32}'~(U+0020) has the category code
-12~(other), while the space has 10~(space).
-%
-%<*ja>
-\textbf{{\normalfont\tt\char92ltjgetparameter}ã®æ»ãå¤ã¯å¸¸ã«æååã§ããï¼}
-ããã¯\texttt{tex.write()}ã«ãã£ã¦åºåãã¦ããããã§ï¼ã¹ãã¼ã¹`\texttt{\char32}'~(U+0020)ãé¤ããæåã®ã«ãã´ãªã¼ã³ã¼ãã¯å
¨ã¦12~(other)ã¨ãªãï¼
-ä¸æ¹ï¼ã¹ãã¼ã¹ã®ã«ãã´ãªã¼ã³ã¼ãã¯10~(space)ã§ããï¼
-%
-
-%\subsection{List of Parameters}
-%\subsection{ãã©ã¡ã¼ã¿ä¸è¦§}
-%\subsection{åæ°ä¸è§}
-\label{ssec-param}
-
-%<*en>
The following is the list of parameters which can be specified by the
\verb+\ltjsetparameter+ command. [\verb+\cs+] indicates the counterpart
in \pTeX, and symbols beside each parameter has the following meaning:
@@ -3985,32 +3751,23 @@ in \pTeX, and symbols beside each parameter has the following meaning:
ã¾ãï¼ããããã®ãã©ã¡ã¼ã¿ã®å³ä¸ã«ããè¨å·ã«ã¯æ¬¡ã®æå³ãããï¼
%
\begin{itemize}
-%<*zh>
-\item % avoiding from error ``Something's wrong--perhaps a missing \item.''.
-%
-%<*en>
-\item No mark: values at the end of the paragraph or the hbox are
- adopted in the whole paragraph/hbox.
-%
-%<*ja>
-\item è¨å·ãªãï¼æ®µè½ãæ°´å¹³ããã¯ã¹ã®çµç«¯ã§ã®å¤ããã®æ®µè½ï¼æ°´å¹³ããã¯ã¹å
¨ä½ã§ç¨ããããï¼
-%
%<*en>
-\item `\ast' : local parameters, which can change everywhere inside a paragraph/hbox.
+\item ``\ast'' : values at the end of a paragraph or a hbox are
+adopted in the whole paragraph or the whole hbox.
%
%<*ja>
-\item `\ast'ï¼ãã¼ã«ã«ãªãã©ã¡ã¼ã¿ã§ããï¼æ®µè½ï¼æ°´å¹³ããã¯ã¹å
ã®ã©ãã§ã§ãå¤ãå¤ãããã¨ãã§ããï¼
+\item ``\ast''ï¼æ®µè½ãhboxã®çµç«¯ã§ã®å¤ããã®æ®µè½ï¼hboxå
¨ä½ã§ç¨ããããï¼
%
%<*en>
-\item `\dagger': assignments are always global.
+\item ``\dagger'': assignments are always global.
%
%<*ja>
-\item `\dagger'ï¼æå®ã¯å¸¸ã«ã°ãã¼ãã«ã«ãªãï¼
+\item ``\dagger''ï¼æå®ã¯å¸¸ã«ã°ãã¼ãã«ã«ãªãï¼
%
\end{itemize}
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\Param{jcharwidowpenalty}\,=] [\verb+\jcharwidowpenalty+]
+\item[\Param{jcharwidowpenalty}\,=$^\ast$] [\verb+\jcharwidowpenalty+]
%<*en>
Penalty value for suppressing orphans. This penalty is inserted just
after the last \textbf{JAchar} which is not regarded as a
@@ -4022,7 +3779,7 @@ Penalty value for suppressing orphans. This penalty is inserted just
æ¿å
¥ãããï¼
%
-\item[\Param{kcatcode}\,=\{,\}]\
+\item[\Param{kcatcode}\,=\{,\}$^\ast$]\
%<*en>
An additional attributes which each character whose character code is has.
At the present version, the lowermost bit of indicates
@@ -4035,25 +3792,31 @@ At the present version, the lowermost bit of indicates
ã¿ãªããããã©ããã表ãã¦ããï¼ä¸ã®\Param{jcharwidowpenalty}ã®è¨è¿°ãåç
§ï¼ï¼
%
-\item[\Param{prebreakpenalty}\,=\{,\}] [\verb+\prebreakpenalty+]\
+\item[\Param{\hypertarget{fld:prebp}{prebreakpenalty}}\,=\{,\}$^\ast$] [\verb+\prebreakpenalty+]\
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡é ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®åã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
-ä¾ãã°éãæ¬å¼§ãããã¯çµ¶å¯¾ã«è¡é ã«ãã¦ã¯ãªããªãã®ã§ï¼æ¨æºã§èªã¿è¾¼ã¾ãã
- \texttt{luatexja-kinsoku.tex}ã«ããã¦
+ä¾ãã°éãæ¬å¼§ãããã¯çµ¶å¯¾ã«è¡é ã«ãã¦ã¯ãªããªãã®ã§ï¼
\begin{verbatim}
\ltjsetparameter{prebreakpenalty={`ã,10000}}
\end{verbatim}
-ã¨ï¼æ大å¤ã®10000ãæå®ããã¦ããï¼ä»ã«ãï¼å°æ¸ãã®ã«ããªã©ï¼çµ¶å¯¾ç¦æ¢ã¨ã
+ã¨ï¼æ大å¤ã®10000ãæ¨æºã§æå®ããã¦ããï¼ä»ã«ãï¼å°æ¸ãã®ã«ããªã©ï¼çµ¶å¯¾ç¦æ¢ã¨ã
ãããã§ã¯ãªããã§ããã°è¡é ã«ã¯ãã¦æ¬²ãããªãå ´åã«ï¼0ã¨
10000ã®éã®å¤ãæå®ããã®ãæç¨ã§ããã.
+%
+%<*en>
+Set a penalty which is inserted automatically before the character ,
+to prevent a line starts from this character. For example, a line cannot started
+with one of closing brackets ``ã'', so \LuaTeX-ja sets
\begin{verbatim}
-\ltjsetparameter{prebreakpenalty={`ã,150}}
+\ltjsetparameter{prebreakpenalty={`ã,10000}}
\end{verbatim}
-%
+by default.
+%
+
-\item[\Param{postbreakpenalty}\,=\{,\}] [\verb+\postbreakpenalty+]
+\item[\Param{\hypertarget{fld:postbp}{postbreakpenalty}}\,=\{,\}$^\ast$] [\verb+\postbreakpenalty+]
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡æ«ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®å¾ã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
@@ -4066,46 +3829,50 @@ At the present version, the lowermost bit of indicates
\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 \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+,
+but they don't exist in \LuaTeX-ja:
+\begin{itemize}
+ \item Both \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+ cannot be set
+for the same character.
+ \item We can set \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+ up to 256~characters.
+\end{itemize}
+%
-\item[\Param{jatextfont}\,=\{,\}]
+\item[\Param{jatextfont}\,=\{,\}$^\ast$]
%[\verb+\textfont+ in \TeX]
%[\TeX ã® \verb+\textfont+]
-%[\TeX ç\verb+\textfont+]
-\item[\Param{jascriptfont}\,=\{,\}]
+\item[\Param{jascriptfont}\,=\{,\}$^\ast$]
%[\verb+\scriptfont+ in \TeX]
%[\TeX ã® \verb+\scriptfont+]
-%[\TeX ä¸ç\verb+\scriptfont+]
-\item[\Param{jascriptscriptfont}\,=\{,\}]
+\item[\Param{jascriptscriptfont}\,=\{,\}$^\ast$]
%[\verb+\scriptscriptfont+ in \TeX]
%[\TeX ã® \verb+\scriptscriptfont+]
-%[\TeX ä¸ç\verb+\scriptscriptfont+]
-\item[\Param{yjabaselineshift}\,=$^\ast$]\
-\item[\Param{yalbaselineshift}\,=$^\ast$] [\verb+\ybaselineshift+]
+\item[\Param{yjabaselineshift}\,=]\
+\item[\Param{yalbaselineshift}\,=] [\verb+\ybaselineshift+]
-\item[\Param{jaxspmode}\,=\{,\}]
+\item[\Param{jaxspmode}\,=\{,\}$^\ast$]
%<*en>
-Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is .
+Setting whether inserting \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before/after a \textbf{JAchar} whose character code is .
The followings are allowed for :
%
%<*ja>
-æåã³ã¼ããã®\textbf{JAchar}ã®åï¼å¾ãã«\Param{xkanjiskip}ã®
+æåã³ã¼ããã®\textbf{JAchar}ã®åï¼å¾ãã«\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®
æ¿å
¥ã許ããã©ããã®è¨å®ï¼
以ä¸ã®ã許ãããï¼
%
\begin{description}
-%\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
-%\item[0, \texttt{inhibit}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ãç¦æ¢ãããï¼
-%\item[0, \texttt{inhibit}] æå
¥æåå/åç\Param{xkanjiskip}å被ç¦æ¢ã
-%\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
-%\item[1, \texttt{preonly}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åã§ã¯è¨±ããããï¼å¾ãã§ã¯è¨±ãããªãï¼
-%\item[1, \texttt{preonly}] æååå
许æå
¥\Param{xkanjiskip}ï¼ä½å
¶åä¸å
许æå
¥ã
-%\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
-%\item[2, \texttt{postonly}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®å¾ãã§ã¯è¨±ããããï¼åã§ã¯è¨±ãããªãï¼
-%\item[2, \texttt{postonly}] æååå
许æå
¥\Param{xkanjiskip}ï¼ä½ä¹åä¸å
许æå
¥ã
-%\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed both before the character and after the character. This is the default value.
-%\item[3, \texttt{allow}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ã許ãããï¼ãããããã©ã«ãã®å¤ã§ããï¼
-%\item[3, \texttt{allow}] æååååå¯æå
¥\Param{xkanjiskip}ãæ¤ä¸ºé»è®¤å¼ã
+%\item[0, \texttt{inhibit}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is inhibited before the character, nor after the character.
+%\item[0, \texttt{inhibit}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ãç¦æ¢ãããï¼
+%\item[1, \texttt{preonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character, but not after.
+%\item[1, \texttt{preonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åã§ã¯è¨±ããããï¼å¾ãã§ã¯è¨±ãããªãï¼
+%\item[2, \texttt{postonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed after the character, but not before.
+%\item[2, \texttt{postonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®å¾ãã§ã¯è¨±ããããï¼åã§ã¯è¨±ãããªãï¼
+%\item[3, \texttt{allow}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed both before the character and after the character. This is the default value.
+%\item[3, \texttt{allow}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ã許ãããï¼ãããããã©ã«ãã®å¤ã§ããï¼
\end{description}
%<*en>
This parameter is similar to the \verb+\inhibitxspcode+ primitive of \pTeX, but not compatible with \verb+\inhibitxspcode+.
@@ -4114,52 +3881,55 @@ This parameter is similar to the \verb+\inhibitxspcode+ primitive of \pTeX, but
ãã®ãã©ã¡ã¼ã¿ã¯\pTeX ã® \verb+\inhibitxspcode+ ããªããã£ãã¨ä¼¼ã¦ãããï¼
äºææ§ã¯ãªãï¼
%
-%<*zh>
-æ¤åæ°ç±»ä¼¼\pTeX åºæ¬è¯å¥\verb!\inhibitxspcode!ï¼ä½æ¯å\verb!\inhibitxspcode!ä¸å
¼å®¹ã
-%
-\item[\Param{alxspmode}\,=\{,\}] [\verb+\xspcode+]
+\item[\Param{alxspmode}\,=\{,\}$^\ast$] [\verb+\xspcode+]
%<*en>
-Setting whether inserting \Param{xkanjiskip} is allowed before/after a
+Setting whether inserting \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before/after a
\textbf{ALchar} whose character code is .
The followings are allowed for :
%
%<*ja>
-æåã³ã¼ããã®\textbf{ALchar}ã®åï¼å¾ãã«\Param{xkanjiskip}ã®
+æåã³ã¼ããã®\textbf{ALchar}ã®åï¼å¾ãã«\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®
æ¿å
¥ã許ããã©ããã®è¨å®ï¼
以ä¸ã®ã許ãããï¼
%
\begin{description}
-%\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
-%\item[0, \texttt{inhibit}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ãç¦æ¢ãããï¼
-%\item[0, \texttt{inhibit}] æå
¥æåå/åç\Param{xkanjiskip}å被ç¦æ¢ã
-%\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
-%\item[1, \texttt{preonly}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åã§ã¯è¨±ããããï¼å¾ãã§ã¯è¨±ãããªãï¼
-%\item[1, \texttt{preonly}] æååå
许æå
¥\Param{xkanjiskip}ï¼ä½å
¶åä¸å
许æå
¥ã
-%\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
-%\item[2, \texttt{postonly}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®å¾ãã§ã¯è¨±ããããï¼åã§ã¯è¨±ãããªãï¼
-%\item[2, \texttt{postonly}] æååå
许æå
¥\Param{xkanjiskip}ï¼ä½ä¹åä¸å
许æå
¥ã
-%\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed before the character and after the character. This is the default value.
-%\item[3, \texttt{allow}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ã許ãããï¼ãããããã©ã«ãã®å¤ã§ããï¼
-%\item[3, \texttt{allow}] æååååå¯æå
¥\Param{xkanjiskip}ãæ¤ä¸ºé»è®¤å¼ã
+%\item[0, \texttt{inhibit}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is inhibited before the character, nor after the character.
+%\item[0, \texttt{inhibit}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ãç¦æ¢ãããï¼
+%\item[1, \texttt{preonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character, but not after.
+%\item[1, \texttt{preonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åã§ã¯è¨±ããããï¼å¾ãã§ã¯è¨±ãããªãï¼
+%\item[2, \texttt{postonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed after the character, but not before.
+%\item[2, \texttt{postonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®å¾ãã§ã¯è¨±ããããï¼åã§ã¯è¨±ãããªãï¼
+%\item[3, \texttt{allow}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character and after the character. This is the default value.
+%\item[3, \texttt{allow}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ã許ãããï¼ãããããã©ã«ãã®å¤ã§ããï¼
\end{description}
%<*en>
-Note that parameters \Param{jaxspmode} and \Param{alxspmode} use a common table, hence these two parameters are synonyms of each other.
+Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common table, hence these two parameters are synonyms of each other.
%
%<*ja>
\Param{jaxspmode}ã¨\Param{alxspmode}ã¯å
±éã®ãã¼ãã«ãç¨ãã¦ããããï¼
ããã2ã¤ã®ãã©ã¡ã¼ã¿ã¯äºãã®ç°åã¨ãªã£ã¦ãããã¨ã«æ³¨æããï¼
%
-%<*zh>
-注æåæ°\Param{jaxspmode}å\Param{alxspmode}å
¬ç¨ä¸ä¸ªè¡¨ï¼æ
è¿ä¸¤ä¸ªåæ°äºä¸ºåä¹è¯ã
-%
-\item[\Param{autospacing}\,=$^\ast$] [\verb+\autospacing+]
-\item[\Param{autoxspacing}\,=$^\ast$] [\verb+\autoxspacing+]
-\item[\Param{kanjiskip}\,=] [\verb+\kanjiskip+]
-\item[\Param{xkanjiskip}\,=] [\verb+\xkanjiskip+]
+\item[\Param{autospacing}\,=] [\verb+\autospacing+]
+\item[\Param{autoxspacing}\,=] [\verb+\autoxspacing+]
+\item[\Param{\hypertarget{fld:kanjiskip}{kanjiskip}}\,=$^\ast$] [\verb+\kanjiskip+]
+%<*ja>
+ããã©ã«ãã§2ã¤ã®\textbf{JAchar}ã®éã«æ¿å
¥ãããã°ã«ã¼ã§ããï¼
+é常ã§ã¯ï¼\pTeX ã¨åãããã«ãã©ã³ããµã¤ãºã«æ¯ä¾ãã¦å¤ãããã¨ã¯ãªãï¼
+ãããï¼èªç¶é·ã \verb+\maxdimen+ ã®å ´åã¯ï¼ä¾å¤çã«åæãã©ã³ãã®JFMå´ã§æå®ããã¦ãã
+å¤ãæ¡ç¨ï¼ãã¡ãã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ï¼ãããã¨ã«ãªã£ã¦ããï¼
+%
+
+\item[\Param{\hypertarget{fld:xks}{xkanjiskip}}\,=$^\ast$] [\verb+\xkanjiskip+]
+%<*ja>
+ããã©ã«ãã§\textbf{JAchar}ã¨\textbf{ALchar}ã®éã«æ¿å
¥ãããã°ã«ã¼ã§ããï¼
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã¨åãããã«ï¼é常ã§ã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ãã¦å¤ãããã¨ã¯ãªããï¼
+èªç¶é·ã \verb+\maxdimen+ ã®å ´åãä¾å¤ã§ããï¼
+%
+
-\item[\Param{differentjfm}\,=$^\dagger$]
+\item[\Param{\hypertarget{fld:diffjfm}{differentjfm}}\,=$^\dagger$]
%<*en>
Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
@@ -4167,148 +3937,441 @@ The allowed arguments are the followings:
%
%<*ja>
JFMï¼ãããã¯ãµã¤ãºï¼ãç°ãªã2ã¤ã®\textbf{JAchar}ã®éã«ã°ã«ã¼ï¼ã«ã¼ã³ãã©ã®ããã«
-å
¥ããããæå®ããï¼
+å
¥ããããæå®ããï¼
許ãããå¤ã¯ä»¥ä¸ã®éãï¼
%
-%<*zh>
-对äºå¤çä¸å大å°æè
JFMç两ç§\textbf{JAchar}ä¹é´çè¶/åºæ ¼ã
-æä¸ååæ°ï¼
-%
-\begin{description}
-\item[\texttt{average}]
-\item[\texttt{both}]
-\item[\texttt{large}]
-\item[\texttt{small}]
-\end{description}
-
-\item[\Param{jacharrange}\,=$^\ast$]
-\item[\Param{kansujichar}\,=\{, \}] [\verb+\kansujichar+]
-\end{list}
-
-
-%\section{Other Primitives}
-%\section{ãã®ä»ã®ããªããã£ã}
-%\section{å
¶ä»åºæ¬è¯å¥}
-%\subsection{Primitives for Compatibility}
-%\subsection{äºæããªããã£ã}
-%\subsection{åºæ¬è¯å¥å
¼å®¹æ§}
-
+\begin{quote}
+\texttt{average},
+\texttt{both},
+\texttt{large},
+\texttt{small},
+\texttt{pleft},
+\texttt{pright},
+\texttt{paverage}
+\end{quote}
%<*en>
-The following primitives are implemented for compatibility with \pTeX:
+The default value is \texttt{paverage}. \dots
%
%<*ja>
-以ä¸ã®ããªããã£ãã¯\pTeX ã¨ã®äºææ§ã®ããã«å®è£
ããã¦ããï¼
+ããã©ã«ãå¤ã¯ \texttt{paverage} ã§ããï¼
+åã
ã®å¤ã«ããå·®ç°ã®è©³ç´°ã¯\ref{ssec-cluster-wa}ç¯ã®ããå³ç©ºç½ãã®ç®åºããåç
§ãã¦ã»ããï¼
%
-%<*zh>
-ä¸ååºæ¬è¯å¥çå®ç°ä¸\pTeX å
¼å®¹ï¼
-%
-\begin{list}{}{\def\makelabel{\ttfamily\char92 }\advance\leftmargin1\zw}
-\item[kuten]
-\item[jis]
-\item[euc]
-\item[sjis]
-\item[ucs]
-\item[kansuji]
+
+\item[\Param{jacharrange}\,=]
+\item[\Param{kansujichar}\,=\{, \}$^\ast$] [\verb+\kansujichar+]
\end{list}
-%\subsection{\texttt{\char92 inhibitglue} primitive}
-%\subsection{\texttt{\char92 inhibitglue}ããªããã£ã}
-%\subsection{\texttt{\char92 inhibitglue}åºæ¬è¯å¥}
+\subsection{\texttt{\textbackslash ltjgetparameter}}
+\label{ssec-getpar}
%<*en>
-The primitive \verb+\inhibitglue+ suppresses the insertion of \textbf{JAglue}.
-The following is an example, using a special JFM that there will be a glue between
-the beginning of a box and `ã', and also between `ã' and `ã¦'.
+\verb+\ltjgetparameter+ is a conteol sequence for acquiring parameters. It
+always takes a parameter name as first argument.
%
%<*ja>
-\verb+\inhibitglue+ ããªããã£ãã¯\textbf{JAglue}ã®æ¿å
¥ãæå¶ããï¼
-以ä¸ã¯ï¼ããã¯ã¹ã®å§ãã¨`ã'ã®éï¼`ã'ã¨`ã¦'ã®éã«ã°ã«ã¼ãå
¥ãç¹å¥ãªJFMãç¨ããä¾ã§
-ããï¼
+\verb+\ltjgetparameter+ ã¯ãã©ã¡ã¼ã¿ã®å¤ãåå¾ããããã®å½ä»¤ã§ããï¼
+常ã«ãã©ã¡ã¼ã¿ã®ååã第ä¸å¼æ°ã«ã¨ãï¼
%
-%<*zh>
-åºæ¬è¯å¥\verb!\inhibitglue!ä¼å缩\textbf{JAchar}çæå
¥ã
-ä¸é¢çä¾å使ç¨äºç¹æ®çJFMãå¨ä¸ä¸ªçååâãâä¹é´ï¼ä»¥åâãâåâã¦âä¹é´åå¨è¶ã
-%
-
\begin{LTXexample}
-\jfont\g=psft:Ryumin-Light:jfm=test \g
-\fbox{\hbox{ãã¦ã\inhibitglue ã¦}}
-\inhibitglue\par\noindent ã1
-\par\inhibitglue\noindent ã2
-\par\noindent\inhibitglue ã3
-\par\hrule\noindent ãoff\inhibitglue ice
+\ltjgetparameter{differentjfm},
+\ltjgetparameter{autospacing},
+\ltjgetparameter{kanjiskip},
+\ltjgetparameter{prebreakpenalty}{`ï¼}.
\end{LTXexample}
%<*en>
-With the help of this example, we remark the specification of \verb+\inhibitglue+:
+\emph{The return value of\/ {\normalfont\tt\textbackslash ltjgetparameter} is
+always a string}. This is outputted by \texttt{tex.write()}, so any
+character other than space~``\texttt{\char32}''~(\texttt{U+0020}) has the category code
+12~(other), while the space has 10~(space).
%
%<*ja>
-ãã®ä¾ãæ´ç¨ãã¦ï¼\verb+\inhibitglue+ ã®ä»æ§ã«ã¤ãã¦è¿°ã¹ãï¼
+\emph{{\normalfont\tt\textbackslash ltjgetparameter}ã®æ»ãå¤ã¯å¸¸ã«æååã§ããï¼}
+ããã¯\texttt{tex.write()}ã«ãã£ã¦åºåãã¦ããããã§ï¼ç©ºç½ã\texttt{\char32}ã
+(\texttt{U+0020})ãé¤ããæåã®ã«ãã´ãªã¼ã³ã¼ãã¯å
¨ã¦12~(other)ã¨ãªãï¼
+ä¸æ¹ï¼ç©ºç½ã®ã«ãã´ãªã¼ã³ã¼ãã¯10~(space)ã§ããï¼
%
-%<*zh>
-å¦ä¸ä¾åï¼æ们注æå°\verb!\inhibtglue!çç¨æ³ã
-%
+
\begin{itemize}
-%<*zh>
-\item
-%
+\item
%<*en>
-\item The call of \verb+\inhibitglue+ in the (internal) vertical mode is
- simply ignored.
+If first argument is one of the
+following, no additional argument is needed.
%
%<*ja>
-\item \verb+\inhibitglue+ ã®åç´ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯æå³ãæããªãï¼
-4è¡ç®ã®å
¥åã§æå¹ã«ãªããªãã®ã¯ï¼\verb+\inhibitglue+ ã®æç¹ã§ã¯åç´ã¢ã¼ãã§ããï¼
-\verb+\noindent+ ã®æç¹ã§æ°´å¹³ã¢ã¼ãã«ãªãããã§ããï¼
+第1å¼æ°ã次ã®ããããã®å ´åã«ã¯ï¼è¿½å ã®å¼æ°ã¯å¿
è¦ãªãï¼
%
-
+\begin{quote}
+\sffamily
+jcharwidowpenalty, yjabaselineshift, yalbaselineshift, autospacing, autoxspacing,\\
+kanjiskip, xkanjiskip, differentjfm
+\end{quote}
%<*en>
-\item The call of \verb+\inhibitglue+ in the (restricted) horizontal
- mode is only effective on the spot; does not get over boundary of
- paragraphs. Moreover, \verb+\inhibitglue+ cancels ligatures and
- kernings, as shown in the last line of above example.
+Note that \verb+\ltjgetparameter{autospacing}+~and~\verb+\ltjgetparameter{autoxspacing}+
+returns 1 or 0, not
+\texttt{true}~nor~\texttt{false}.
%
%<*ja>
-\item \verb+\inhibitglue+ ã®ï¼å¶éãããï¼æ°´å¹³ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯ãã®å ´ã§ã®ã¿
- æå¹ã§ããï¼æ®µè½ã®å¢çãä¹ãè¶ããªãï¼
- ããã«ï¼\verb+\inhibitglue+ ã¯ä¸ã®ä¾ã®æçµè¡ã®ããã«ãªã¬ãã£ã¨ã«ã¼ãã³ã°ã
- æã¡æ¶ãï¼
+\verb+\ltjgetparameter{autospacing}+ 㨠\verb+\ltjgetparameter{autoxspacing}+ ã¯ï¼
+\texttt{true}ã\texttt{false}ãè¿ãã®\emph{ã§ã¯ãªã}ï¼
+1ã¨0ã®ãããããè¿ããã¨ã«æ³¨æï¼
%
+\item
%<*en>
-\item The call of \verb+\inhibitglue+ in math mode is just ignored.
+If first argument is one of the
+following, an additional argument---a character code, for example---is needed.
%
%<*ja>
-\item \verb+\inhibitglue+ ãæ°å¼ã¢ã¼ãä¸ã§å¼ã³åºããå ´åã¯ãã ç¡è¦ãããï¼
+第1å¼æ°ã次ã®ããããã®å ´åã«ã¯ï¼ããã«æåã³ã¼ãã第äºå¼æ°ã¨ãã¦ã¨ãï¼
+%
+\begin{quote}
+\sffamily
+kcatcode, prebreakpenalty, postbreakpenalty, jaxspmode, alxspmode
+\end{quote}
+%<*en>
+\verb+\ltjgetparameter{jaxspmode}{...}+~and~\verb+\ltjgetparameter{alxspmode}{...}+
+returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc.
+%
+%<*ja>
+\verb+\ltjgetparameter{jaxspmode}{...}+ ã \verb+\ltjgetparameter{alxspmode}{...}+\
+ã¯ï¼\texttt{preonly} ãªã©ã¨ãã£ãæååã§ã¯ãªãï¼0ãã3ã¾ã§ã®å¤ãè¿ãï¼
%
-\end{itemize}
-
-%\section{Control Sequences for \LaTeXe}
-%\section{\LaTeXe ç¨ã®ã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹}
-%\section{\LaTeXe ä¸ä½¿ç¨çæ§å¶åºå}
-%\subsection{Patch for NFSS2}
-%\subsection{NFSS2ã¸ã®ããã}
-%\subsection{NFSS2è¡¥ä¸}
-\label{ssub-nfsspat}
+\item
+%<*en>
+\verb+\ltjgetparameter{jacharrange}{+\verb+}+ returns \texttt{0}
+if ``characters which belong to the character range~ are \textbf{JAchar}'',
+\texttt{1} if ``\dots are \textbf{ALchar}''.
+Although there is no character range~$-1$, specifying $-1$ to does not cause an
+ error (returns 1).
+%
+%<*ja>
+\verb+\ltjgetparameter{jacharrange}{+\verb+}+ ã¯ï¼ã\textbf{JAchar}éã®
+ç¯å²ãªãã°0ãï¼ããã§ãªããã°1ãè¿ãï¼ã$-1$çªã®æåç¯å²ãã¯åå¨ããªããï¼ã«$-1$ã
+æå®ãã¦ãã¨ã©ã¼ã¯çºçããªãï¼1ãè¿ãï¼ï¼
+%
+\item
%<*en>
-As described in Subsection~\ref{ssec-ltx}, \LuaTeX-ja simply adopted
-\texttt{plfonts.dtx} in \pLaTeXe\ for the Japanese patch for NFSS2.
-For an convenience, we will describe
-commands which are not described in Subsection~\ref{ssub-chgfnt}.
+For an integer~ between 0~and~9,
+ \verb+\ltjgetparameter{kansujichar}{+\verb+}+ returns the character code
+of the result of \verb+\kansuji+.
%
%<*ja>
-\ref{ssec-ltx}ç¯ã§è¿°ã¹ãããã«ï¼\LuaTeX-jaã¯NFSS2ã¸ã®æ¥æ¬èªãããã§ãã
-\pLaTeXe ã®\texttt{plfonts.dtx}ãåç´ã«åãå
¥ãã¦ããï¼
-便å®ã®ããï¼ããã§ã¯\ref{ssub-chgfnt}ç¯ã§è¿°ã¹ã¦ããªãã£ãã³ãã³ãã«ã¤ãã¦
-è¨è¿°ãã¦ããï¼
+0--9ã®æ°ã«å¯¾ãã¦ï¼
+\verb+\ltjgetparameter{kansujichar}{+\verb+}+ ã¯ï¼\verb+\kansuji+ã§åºåãã
+ ãæåã®æåã³ã¼ããè¿ãï¼
%
-\begin{cslist}%
-\item[DeclareYokoKanjiEncoding\{\}\{\}\{\}]
+\item
%<*en>
-In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
+The following parameter names \emph{cannot be specified} in \verb+\ltjgetparameter+.
+%
+%<*ja>
+次ã®ãã©ã¡ã¼ã¿åã \verb+\ltjgetparameter+ ã«æå®ãããã¨ã¯ã§ããªãï¼
+%
+\begin{quote}
+\sffamily
+jatextfont, jascriptfont, jascriptscriptfont, jacharrange
+\end{quote}
+
+\item
+%<*en>
+\verb+\ltjgetparameter{chartorange}{+\verb+}+ returns
+the range number which belongs to
+(although there is no parameter named ``chartorange'').
+
+If is between 0 and 127, this does not belong to
+any character range. In this case,
+ \verb+\ltjgetparameter{chartorange}{+\verb+}+
+returns $-1$.
+
+Hence, one can know whether is \textbf{JAchar} or not
+by the following:
+%
+%<*ja>
+\verb+\ltjgetparameter{chartorange}{+\verb+}+ ã«ãã£ã¦
+ã®å±ããæåç¯å²ã®çªå·ãç¥ããã¨ãã§ããï¼
+
+ã«0--127ã®å¤ãæå®ããå ´åï¼ãã®ã¨ãï¼ãå±ãã
+æåç¯å²ã¯åå¨ããªãï¼ã¯$-1$ãè¿ãï¼
+
+ãã®ããï¼ã\textbf{JAchar}ã\textbf{ALchar}ãã¯
+次ã§ç¥ããã¨ãã§ããï¼
+%
+\begin{quote}
+\ttfamily \verb+\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{+%
+ \verb+}}+\\\null\hfill\verb+% 0 if JAchar, 1 if ALchar+
+\end{quote}
+
+\end{itemize}
+
+
+
+
+%\section{Other Commands for plain \TeX\ and \LaTeXe}
+%\section{plainã§ã\LaTeX ã§ãå©ç¨å¯è½ãªãã®ä»ã®å½ä»¤}
+%\subsection{Commands for Compatibility with \pTeX}
+%\subsection{\pTeX äºæç¨å½ä»¤}
+
+%<*en>
+The following commands are implemented for compatibility with \pTeX.
+Note that the former five commands don't support JIS~X~0213, but only JIS~X~0208.
+The last \verb+\kansuji+ converts an integer into its Chinese numerals.
+%
+%<*ja>
+以ä¸ã®å½ä»¤ã¯\pTeX ã¨ã®äºææ§ã®ããã«å®è£
ããã¦ããï¼ãã®ããï¼JIS~X~0213ã«ã¯å¯¾å¿ããï¼
+\pTeX ã¨åãããã«JIS~X~0208ã®ç¯å²ãããµãã¼ããã¦ããªãï¼
+%
+\begin{center}
+\verb+\kuten+, \verb+\jis+, \verb+\euc+, \verb+\sjis+, \verb+\jis+, \verb+\kansuji+
+\end{center}
+%<*en>
+These six commands takes an internal integer, and returns a \emph{string}.
+%
+%<*ja>
+ããã6å½ä»¤ã¯å
é¨æ´æ°ãå¼æ°ã¨ãããï¼å®è¡çµæã¯\textbf{æåå}ã§ãããã¨ã«æ³¨æï¼
+%
+\begin{LTXexample}
+\newcount\hoge
+\hoge="2423 %"
+\the\hoge, \kansuji\hoge\\
+\jis\hoge, \char\jis\hoge\\
+\kansuji1701
+\end{LTXexample}
+
+%<*en>
+To change characters of Chinese numerals for each digit, set \Param{kansujichar} parameter:
+\begin{LTXexample}
+\ltjsetparameter{kansujichar={1,`壹}}
+\ltjsetparameter{kansujichar={7,`æ¼}}
+\ltjsetparameter{kansujichar={0,`é¶}}
+\kansuji1701
+\end{LTXexample}
+%
+
+
+%\subsection{\texttt{\textbackslash inhibitglue}}
+%\subsection{\texttt{\textbackslash inhibitglue}}
+%<*en>
+\verb+\inhibitglue+ suppresses the insertion of \textbf{JAglue}.
+The following is an example, using a special JFM that there will be a glue between
+the beginning of a box and ``ã'', and also between ``ã''~and~``ã¦''.
+%
+%<*ja>
+\verb+\inhibitglue+ ã¯\textbf{JAglue}ã®æ¿å
¥ãæå¶ããï¼
+以ä¸ã¯ï¼ããã¯ã¹ã®å§ãã¨ãããã®éï¼ããããã¦ãã®éã«ã°ã«ã¼ãå
¥ãç¹å¥ãªJFMãç¨ããä¾ã§
+ããï¼
+%
+
+\begin{LTXexample}[width=0.4\textwidth]
+\jfont\g=file:KozMinPr6N-Regular.otf:jfm=test \g
+\fbox{\hbox{ãã¦ã\inhibitglue ã¦}}
+\inhibitglue\par\noindent ã1
+\par\inhibitglue\noindent ã2
+\par\noindent\inhibitglue ã3
+\par\hrule\noindent ãoff\inhibitglue ice
+\end{LTXexample}
+
+%<*en>
+With the help of this example, we remark the specification of \verb+\inhibitglue+:
+%
+%<*ja>
+ãã®ä¾ãæ´ç¨ãã¦ï¼\verb+\inhibitglue+ ã®ä»æ§ã«ã¤ãã¦è¿°ã¹ãï¼
+%
+\begin{itemize}
+%<*en>
+\item The call of \verb+\inhibitglue+ in the (internal) vertical mode is
+ simply ignored.
+%
+%<*ja>
+\item \verb+\inhibitglue+ ã®åç´ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯æå³ãæããªãï¼
+4è¡ç®ã®å
¥åã§æå¹ã«ãªããªãã®ã¯ï¼\verb+\inhibitglue+ ã®æç¹ã§ã¯åç´ã¢ã¼ãã§ããï¼
+\verb+\noindent+ ã®æç¹ã§æ°´å¹³ã¢ã¼ãã«ãªãããã§ããï¼
+%
+
+%<*en>
+\item The call of \verb+\inhibitglue+ in the (restricted) horizontal
+ mode is only effective on the spot; does not get over boundary of
+ paragraphs. Moreover, \verb+\inhibitglue+ cancels ligatures and
+ kernings, as shown in the last line of above example.
+%
+%<*ja>
+\item \verb+\inhibitglue+ ã®ï¼å¶éãããï¼æ°´å¹³ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯ãã®å ´ã§ã®ã¿
+ æå¹ã§ããï¼æ®µè½ã®å¢çãä¹ãè¶ããªãï¼
+ ããã«ï¼\verb+\inhibitglue+ ã¯ä¸ã®ä¾ã®æçµè¡ã®ããã«ï¼æ¬§æã«ãããï¼ãªã¬ãã£ã¨ã«ã¼ãã³ã°ã
+ æã¡æ¶ãï¼ããã¯ï¼\verb+\inhibitglue+ ãå
é¨çã«ã¯ãç¾å¨ã®ãªã¹ãä¸ã«whatsitãã¼ãã
+ 追å ããããã¨ãè¡ãªã£ã¦ããããã§ããï¼
+%
+
+%<*en>
+\item The call of \verb+\inhibitglue+ in math mode is just ignored.
+%
+%<*ja>
+\item \verb+\inhibitglue+ ãæ°å¼ã¢ã¼ãä¸ã§å¼ã³åºããå ´åã¯ãã ç¡è¦ãããï¼
+%
+
+%<*ja>
+\item \LaTeX ã§\LuaTeX-ja ã使ç¨ããå ´åã¯ï¼
+\verb+\inhibitglue+ ã®ä»£ããã¨ã㦠\verb+\<+ ã使ããã¨ãã§ããï¼
+æ¢ã« \verb+\<+ ãå®ç¾©ããã¦ããå ´åã¯ï¼\LuaTeX-ja ã®èªã¿è¾¼ã¿ã§å¼·å¶çã«ä¸æ¸ããããã®ã§
+注æãããã¨ï¼
+%
+\end{itemize}
+
+
+\subsection{\texttt{\textbackslash ltjdeclarealtfont}}
+\label{ssec-altfont}
+%<*en>
+Using \verb+\ltjdeclarealtfont+, one can ``compose'' more than one Japanese fonts.
+This \verb+\ltjdeclarealtfont+ uses in the following form:
+\begin{quote}
+\ttfamily \textbackslash ltjdeclarealtfont{}
+\end{quote}
+where ~and~ are defined by \verb+\jfont+.
+Its meaning is
+\begin{quote}
+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:
+$-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.
+
+For example, if \verb+\hoge+ uses \texttt{jfm-ujis.lua}, the standard JFM of \LuaTeX-ja,
+then
+\begin{verbatim}
+\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
+\end{verbatim}
+does
+\begin{quote}
+If the current Japanese font is \verb+\hoge+, \texttt{U+3000}--\texttt{U+30FF}
+and characters in class~1 (ideographic opening brackets)
+are typeset by \verb+\piyo+.
+\end{quote}
+%
+%<*ja>
+\verb+\jfont+ ã®æ¸å¼ãè¦ãã°ãããããã«ï¼åºæ¬çã«ã¯\LuaTeX-jaã«ããã1ã¤ã®åæãã©ã³ãã«
+使ç¨åºæ¥ããå®éã®ãã©ã³ããã¯1ã¤ã§ããï¼
+ãããï¼\verb+\ltjdeclarealtfont+ ãç¨ããã¨ï¼ãã®ååããå¤ãããã¨ãã§ããï¼
+
+\verb+\ltjdeclarealtfont+ ã¯ä»¥ä¸ã®æ¸å¼ã§ä½¿ç¨ããï¼
+\begin{quote}
+\ttfamily \textbackslash ltjdeclarealtfont{}
+\end{quote}
+ããã¯ãç¾å¨ã®åæãã©ã³ãããã§ããã¨ãï¼
+ã«å±ããæåã¯ãç¨ãã¦çµçãããï¼ã¨ããæå³ã§ããï¼
+\begin{itemize}
+ \item , ã¯
+\verb+\jfont+ ã«ãã£ã¦å®ç¾©ãããåæãã©ã³ãã§ããï¼
+ \item ã¯æåã³ã¼ãã®ç¯å²ã表ãã³ã³ãåºåãã®ãªã¹ãã§ãããï¼
+ ä¾å¤ã¨ãã¦è² æ°$-n$ã¯ãã®JFMã®æåã¯ã©ã¹$n$ã«å±ããå
¨ã¦ã®æåã
+ ãæå³ããï¼
+
+ä¸ã«ä¸ã«å®éã«ã¯åå¨ããªãæåãæå®ãããå ´åã¯ï¼
+ãã®æåã«å¯¾ããè¨å®ã¯ç¡è¦ãããï¼
+\end{itemize}
+
+ä¾ãã°ï¼\verb+\hoge+ ã®JFMã\LuaTeX-jaæ¨æºã®
+\ \texttt{jfm-ujis.lua} ã§ãã£ãå ´åï¼
+\begin{verbatim}
+\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
+\end{verbatim}
+ã¯ã\verb+\hoge+ ãå©ç¨ãã¦ããã¨ãï¼
+\texttt{U+3000}--\texttt{U+30FF}ã¨
+æåã¯ã©ã¹1ï¼éãæ¬å¼§é¡ï¼ä¸ã®æåã ã㯠\verb+\piyo+ ãç¨ããã
+ãã¨ãè¨å®ããï¼\verb+{-1}-{-1}+ ã¨ããå¤ãã£ãæå®ã®ä»æ¹ããã¦ããã®ã¯ï¼
+æ®éã« \texttt{-1} ã¨æå®ããã®ã§ã¯æ£ãã$-1$ã¨èªã¿åãããªãã¨ãã
+ãã¯ãã®é½åã«ããï¼
+%
+
+
+
+%\section{Commands for \LaTeXe}
+%\section{\LaTeXe ç¨ã®å½ä»¤}
+
+%\subsection{Patch for NFSS2}
+%\subsection{NFSS2ã¸ã®ããã}
+\label{ssec-nfsspat}
+
+\begin{figure}[!tb]
+\begin{LTXexample}[pos=b]
+\DeclareKanjiFamily{JY3}{edm}{}
+\DeclareFontShape{JY3}{edm}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;}{}
+\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*KozMinPr6N-Regular:jfm=ujis;color=007F00}{}
+\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*KozMinPr6N-Regular:jfm=ujis;color=0000FF}{}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
+{\kanjifamily{edm}\selectfont
+æ¥æ¬å½æ°ã¯ãæ£å½ã«é¸æãããå½ä¼ã«ããã代表è
ãéãã¦è¡åããâ¦â¦}
+\end{LTXexample}
+%\caption{\texttt{\textbackslash DeclareAlternateKanjiFont} ã®ä½¿ç¨ä¾}
+%\caption{An example of \texttt{\textbackslash DeclareAlternateKanjiFont}}
+\label{fig:altkanji}
+\end{figure}
+
+%<*en>
+Japanese patch for NFSS2 in \LuaTeX-ja
+is based on \texttt{plfonts.dtx} which plays the same role in \pLaTeXe.
+We will describe
+commands which are not described in Subsection~\ref{ssec-chgfnt}.
+%
+%<*ja>
+\LuaTeX-jaã®NFSS2ã¸ã®æ¥æ¬èªãããã¯
+\pLaTeXe ã§åæ§ã®å½¹å²ãæãã \texttt{plfonts.dtx} ããã¼ã¹ã«ï¼
+åæã¨ã³ã³ã¼ãã£ã³ã°ã®ç®¡ççãLuaã§æ¸ããªããããã®ã§ããï¼
+ããã§ã¯\ref{ssec-chgfnt}ç¯ã§è¿°ã¹ã¦ããªãã£ãå½ä»¤ã«ã¤ãã¦
+è¨è¿°ãã¦ããï¼
+%
+
+\begin{cslist}%
+\par\smallskip\par\hskip-\leftskip{\bfseries%
+%追å ã®é·ãå¤æ°é
+%additonal dimensions
+}\par
+
+%<*en>
+Like \pLaTeXe, \LuaTeX-ja defines the following dimensions
+for information of current Japanese font:
+%
+%<*ja>
+\pLaTeXe ã¨åæ§ã«ï¼\LuaTeX-jaã¯ãç¾å¨ã®åæãã©ã³ãã®æ
å ±ããæ ¼ç´ããé·ãå¤æ°
+%
+{\let\item=\origitem
+\begin{quote}
+ \verb+\cht+~(height), \verb+\cdp+~(depth), \verb+\cHT+~(sum of former two),\\
+ \verb+\cwd+~(width), \verb+\cvs+~(lineskip), \verb+\chs+~(equals to \verb+\cwd+)
+\end{quote}}
+%and its \verb+\normalsize+ version:
+%ã¨ï¼ãã® \verb+\normalsize+ çã§ãã
+{\let\item=\origitem
+\begin{quote}
+ \verb+\Cht+~(height), \verb+\Cdp+~(depth),
+ \verb+\Cwd+~(width), \\\verb+\Cvs+~(equals to \verb+\baselineskip+),
+ \verb+\Chs+~(equals to \verb+\cwd+)%
+%.
+\end{quote}}
+%<*ja>
+ãå®ç¾©ãã¦ããï¼ãªãï¼\verb+\cwd+ 㨠\verb+\zw+ï¼ã¾ã
+\verb+\cHT+ 㨠\verb+\zh+ ã¯ä¸è´ããªãå¯è½æ§ãããï¼ãªããªãï¼
+\verb+\cwd+,~\verb+\cHT+ ã¯ãããã®å¯¸æ³ãã決å®ãããã®ã«å¯¾ãï¼
+\verb+\zw+ 㨠\verb+\zh+ ã¯JFMã«æå®ãããå¤ã«éããªãããã§ããï¼
+%
+%<*en>
+Note that \verb+\cwd+~and~\verb+\cHT+ may differ from \verb+\zw+~and~\verb+\zh+
+respectively.
+On the one hand the former dimensions are determined from the character ``ã'',
+but on the other hand \verb+\zw+~and~\verb+\zh+ are specified by JFM.
+%
+
+
+\item[DeclareYokoKanjiEncoding\{\}\{\}\{\}]
+
+%<*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
@@ -4317,10 +4380,10 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
%
%<*ja>
\LuaTeX-jaã®NFSS2ã«ããã¦ã¯ï¼æ¬§æãã©ã³ããã¡ããªã¨åæãã©ã³ããã¡ããªã¯
-ãã®ã¨ã³ã³ã¼ãã£ã³ã°ããã®ã¿ä½ãããï¼
+ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã«ãã£ã¦ã®ã¿åºå¥ãããï¼
ä¾ãã°ï¼OT1ã¨T1ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯æ¬§æãã©ã³ããã¡ããªã«å¯¾ãããã®ã§ããï¼
åæãã©ã³ããã¡ããªã¯ãããã®ã¨ã³ã³ã¼ãã£ã³ã°ãæã¤ãã¨ã¯ã§ããªãï¼
-ãã®ã³ãã³ãã¯åæãã©ã³ããã¡ããªï¼æ¨ªæ¸ãç¨ï¼ã®ããã®æ°ããã¨ã³ã³ã¼ãã£ã³ã°ã
+ãã®ã³ãã³ãã¯æ¨ªæ¸ãç¨åæãã©ã³ãã®ããã®æ°ããã¨ã³ã³ã¼ãã£ã³ã°ã
å®ç¾©ããï¼
%
@@ -4329,10 +4392,10 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
\item[DeclareErrorKanjiFont\{\}\{\}\{\}\{\}\{\}]
%<*en>
-The above 3~commands are just the counterparts for \verb+DeclareFontEncodingDefaults+ and~others.
+The above 3~commands are just the counterparts for \verb+\DeclareFontEncodingDefaults+ and~others.
%
%<*ja>
-ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã© \verb+DeclareFontEncodingDefaults+ ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
+ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã© \verb+\DeclareFontEncodingDefaults+ ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
%
\item[reDeclareMathAlphabet\{\}\{\}\{\}]
@@ -4346,29 +4409,33 @@ The above 3~commands are just the counterparts for \verb+DeclareFontEncodingDefa
ã«åããã®ãæå®ããï¼ããªãã¡ï¼ã§åæå´ãå¤
æ´ãããããã«ããã®ãä¸è¬çã¨æãããï¼
-{\let\item=\origitem
æ¬å½ä»¤ã¯
+{\let\item=\origitem
\begin{center}\tt
\{\}\quad$\longrightarrow$\quad
-(ã1段å±éãããã®)\{ã1段å±éãããã®)\{\}\}
+(ã®1段å±éçµæ)\{ã®1段å±éçµæ)\{\}\}
\end{center}
ã¨å®ç¾©ãè¡ãã®ã§ï¼ä½¿ç¨ã«ã¯æ³¨æãå¿
è¦ã§ããï¼
+\vspace{-\medskipamount}
+%\advance\linewidth-2em
+%\advance\linewidth-2\zw
\begin{itemize}
-\item ,~ã¯æ¢ã«å®ç¾©ããã¦ããªããã°ãªããªãï¼\verb+\reDeclareMathAlphabet+å¾ã«
+\item ,~ã¯æ¢ã«å®ç¾©ããã¦ããªããã°ãªããªãï¼
+ \verb+\reDeclareMathAlphabet+\\ã®å¾ã«
両å½ä»¤ã®å
容ãåå®ç¾©ãã¦ãï¼ã®å
容ã«ããã¯åæ ãããªãï¼
-\item ,~ã«\verb+\@mathrm+ãªã©ã¨\texttt{@}ãã¤ããå½ä»¤ãæå®ããæã®åä½ã¯ä¿è¨¼ã§ããªãï¼
+\item ,~ã«\verb+\@mathrm+ãªã©ã¨ \texttt{@} ãã¤ããå½ä»¤ãæå®ããæã®åä½ã¯ä¿è¨¼ã§ããªãï¼
\end{itemize}}
%
-\item[DeclareRelationFont\{\}\{\}\{\}\{\}\\
- \hfill\{\}\{\}\{\}\{\}]
+\item[DeclareRelationFont\{\}\{\}\{\}\{\}\\*
+ \null\hfill\{\}\{\}\{\}\{\}]
%<*en>
-This command sets the `accompanied' alphabetic font family (given by the latter 4~arguments)
+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.
%
%<*ja>
ãããããå¾å±æ¬§æããè¨å®ããããã®å½ä»¤ã§ããï¼ååã®4å¼æ°ã§è¡¨ãããåæãã©ã³ããã¡ããªã«å¯¾ãã¦ï¼
-ãã®ãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ããã¡ããªãå¾åã®4å¼æ°ã«ããä¸ããï¼
+ãã®ãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æãã®ãã©ã³ããã¡ããªãå¾åã®4å¼æ°ã«ããä¸ããï¼
%
\item[SetRelationFont]
%<*en>
@@ -4389,30 +4456,55 @@ Change current alphabetic font encoding/family/\dots\ to the `accompanied' alpha
Like \verb+\fontfamily+, \verb+\selectfont+ is required to take an effect.
%
%<*ja>
-ç¾å¨ã®æ¬§æãã©ã³ãã¨ã³ã³ã¼ãã£ã³ã°ï¼ãã¡ããªï¼â¦â¦ ãï¼
+ç¾å¨ã®æ¬§æãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ï¼ãã¡ããªï¼â¦â¦ ãï¼
\verb+\DeclareRelationFont+ ã \verb+\SetRelationFont+ ã§æå®ããã
ç¾å¨ã®åæãã©ã³ããã¡ããªã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ããã¡ããªã«å¤æ´ããï¼
\verb+\fontfamily+ ã®ããã«ï¼æå¹ã«ããããã«ã¯ \verb+\selectfont+ ãå¿
è¦ã§ããï¼
%
\item[adjustbaseline]
-\ldots
+%<*en>
+In \pLaTeXe, \verb+\adjustbaseline+ sets \verb+\tbaselineshift+
+to match the vertical center of ``M'' and that of ``ã'' in vertical typesetting:
+\[
+\text{\ttfamily \textbackslash tbaselineshift} \leftarrow
+\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{ã}}+d_{\text{ã}})}2
+ + d_{\text{ã}} - d_{\text{M}},
+\]
+where $h_{a}$~and~$d_{a}$ denote the height of ``$a$'' and the depth, respectively.
+
+Current \LuaTeX-ja does not support vertical typesetting, so
+this \verb+\adjustbaseline+ has almost no effect.
+%
+%<*ja>
+\pLaTeXe ã§ã¯ï¼\verb+\adjustbaseline+ ã¯ç¸¦æ¸æã«ãMãã¨ãããã®ä¸å¿ç·ãä¸è´ãããããã«ï¼
+\verb+\tbaselineshift+ ãè¨å®ããå½¹å²ãæã£ã¦ããï¼
+\[
+\text{\ttfamily \textbackslash tbaselineshift} \leftarrow
+\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{ã}}+d_{\text{ã}})}2
+ + d_{\text{ã}} - d_{\text{M}},
+\]
+ããã§ï¼$h_{a}$,~$d_{a}$ã¯ããããã$a$ãã®é«ãã»æ·±ãã表ãï¼
+
+ç¾å¨ã®\LuaTeX-jaã¯ç¸¦æ¸ãããµãã¼ããã¦ããªãã®ã§ï¼ãã® \verb+\adjustbaseline+ ã¯
+ã»ã¨ãã©ä½ããã¦ããªãï¼
+%
\item[fontfamily\{\}]
-{\let\item\origitem
%<*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:
%
%<*ja>
å
ã
ã®\LaTeXe ã«ããããã®ã¨åæ§ã«ï¼ãã®ã³ãã³ãã¯ç¾å¨ã®ãã©ã³ããã¡ããªï¼æ¬§æï¼
-åæï¼\textbf{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼
+åæï¼\emph{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼
ã©ã®ãã¡ããªãå¤æ´ããããã¯ä»¥ä¸ã®ããã«ãã¦æ±ºå®ãããï¼
%
+{\let\item\origitem
+%\advance\linewidth-2em
+%\advance\linewidth-2\zw
+\vspace{-\medskipamount}
\begin{itemize}
-%<*zh>
-\item
-%
%<*en>
\item Let current encoding scheme for Japanese fonts be
. Current Japanese font family will be changed to
@@ -4425,21 +4517,18 @@ to . Which family will be changed is determined as follows:
%
\begin{itemize}
%<*en>
-\item The family under the encoding has been already defined by
+\item The family under the encoding has been already defined by
\verb+\DeclareKanijFamily+.
%
%<*ja>
-\item ã¨ã³ã³ã¼ãã£ã³ã°ã«ããããã¡ããªãæ¢ã« \verb+\DeclareKanjiFamily+ ã«ãã£ã¦å®ç¾©ããã¦ããï¼
+\item ã¨ã³ã³ã¼ãã£ã³ã°ã«ããããã¡ããªãæ¢ã« \verb+\DeclareKanjiFamily+ ã«ãã£ã¦å®ç¾©ããã¦ããï¼
%
%<*en>
-\item A font definition named \texttt{.fd} (the file name is
+\item A font definition named \texttt{.fd} (the file name is
all lowercase) exists.
%
-%<*zh>
-\item
-%
%<*ja>
-\item ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ããï¼
+\item ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ããï¼
%
\end{itemize}
%<*en>
@@ -4465,8 +4554,58 @@ In this case, the default family for font substitution is used for
åæãã©ã³ãã«ç¨ããããï¼\LaTeX ã®ãªãªã¸ãã«ã®å®è£
ã¨ã¯ç°ãªãï¼
ç¾å¨ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯ã«ã¯è¨å®ãããªããã¨ã«æ³¨æããï¼
%
-\end{itemize}
+\end{itemize}%
+%\vspace{-\medskipamount}
+}
+
+\item[DeclareAlternateKanjiFont\{\}\{\}\{\}\{\}\\
+ \null\hfill\{\}\{\}\{\}\{\}\{\}]
+%<*ja>
+\ref{ssec-altfont}ç¯ã®\
+\verb+\ltjdeclarealtfont+ ã¨åæ§ã«ï¼ååã®4å¼æ°ã®åæãã©ã³ãï¼åºåºãã©ã³ãï¼ã®ãã¡ä¸ã®æåã
+第5--第8å¼æ°ã®åæãã©ã³ãã使ã£ã¦çµãããã«æ示ããï¼ä½¿ç¨ä¾ãå³\ref{fig:altkanji}ã«è¼ããï¼
+
+{\let\item\origitem
+%\advance\linewidth-2em
+%\advance\linewidth-2\zw
+\vspace{-\medskipamount}
+\begin{itemize}
+ \item
+\verb+\ltjdeclarealtfont+ ã§ã¯åºåºãã©ã³ãã»ç½®ãæãå
åæãã©ã³ãã¯ãããããå®ç¾©ããã¦ã
+ ãªãã¨ãããªãï¼ãã®ä»£ããå³æçºå¹ï¼ã§ãã£ããï¼
+\verb+\DeclareAlternateKanjiFont+ ã®è¨å®ã
+å®éã«å¹åãçºæ®ããã®ã¯ï¼æ¸ä½å¤æ´ããµã¤ãºå¤æ´ãè¡ã£ãæï¼
+ãããã¯ï¼ããããå«ããï¼\verb+\selectfont+ ãå®è¡ãããæã§ããï¼
+ \item
+段è½ãhboxã®æå¾ã§ã®è¨å®å¤ã段è½ï¼hboxå
¨ä½ã«ããã£ã¦éç¨ããç¹ãï¼
+ã«è² æ°$-n$ãæå®ããå ´åï¼ããããåºåºãã©ã³ãã®æåã¯ã©ã¹$n$ã«å±ããæåå
¨ä½ã
+ã¨è§£éãããã®ã¯ \verb+\ltjdeclarealtfont+ ã¨åãã§ããï¼
+\end{itemize}%
}
+%
+%<*en>
+As \verb+\ltjdeclarealtfont+~(Subsection~\ref{ssec-altfont}),
+characters in of the Japanese font (we say the \emph{base font})
+which specified by first 4 arguments are typeset
+by the Japanese font which specified by fifth to eighth arguments
+(we say the \emph{alternate font}).
+An example is shown in Figure~\ref{fig:altkanji}.
+
+{\let\item\origitem
+%\advance\linewidth-2em
+%\advance\linewidth-2\zw
+\vspace{-\medskipamount}
+\begin{itemize}
+ \item
+In \verb+\ltjdeclarealtfont+, the base font and the alternate font must be already defined.
+But this \verb+\DeclareAlternateKanjiFont+ is not so.
+In other words, \verb+\DeclareAlternateKanjiFont+ is effective only after
+current Japanese font is changed, or only after \verb+\selectfont+ is executed.
+ \item \dots
+\end{itemize}%
+\vspace{-\medskipamount}
+}
+%
\end{cslist}
%<*en>
@@ -4475,36 +4614,45 @@ As closing this subsection, we shall introduce an example of
%
%<*ja>
ãã®ç¯ã®çµããã«ï¼\verb+\SetRelationFont+ 㨠\verb+\userelfont+ ã®ä¾ã
-ç´¹ä»ãã¦ãããï¼
+ç´¹ä»ãã¦ãããï¼\verb+\userelfont+ ã®ä½¿ç¨ã«ãã£ã¦ï¼ãabcãã®é¨åã®ãã©ã³ãã
+Avant Garde (OT1/pag/m/n) ã«å¤ãã£ã¦ãããã¨ããããï¼
%
-\begin{LTXexample}
-\gtfamily{}ãããabc
-\SetRelationFont{JY3}{gt}{m}{n}{OT1}{pag}{m}{n}
-\userelfont\selectfont{}ãããabc
+\begin{LTXexample}[width=0.3\textwidth]
+\makeatletter
+\SetRelationFont{JY3}{\k@family}{m}{n}{OT1}{pag}{m}{n}
+ % \k@family: current Japanese font family
+\userelfont\selectfont ãããabc
\end{LTXexample}
-
-%\subsection{Cropmark/`tombow'}
-%\subsection{ãã³ã}
-% ToDo
-
-%\section{Extensions}
-%\section{æ¡å¼µ}
+%<*en>
+\section{Addons}
+\LuaTeX-ja has several addon packages.
+These addons are written as \LaTeX\ packages, but
+\Pkg{luatexja-otf} and~\Pkg{luatexja-adjust} can be loaded in plain \LuaTeX\
+by \verb+\input+.
+%
+%<*ja>
+\section{æ¡å¼µ}
+\LuaTeX-jaã«ã¯ï¼åä½ã«ã¯å¿
é ã§ã¯ãªããï¼èªç±ã«èªã¿è¾¼ããæ¡å¼µãä»å±ãã¦ããï¼
+ãããã¯\LaTeX ã®ããã±ã¼ã¸ã¨ãã¦å¶ä½ãã¦ãããï¼
+\Pkg{luatexja-otf}ã¨\Pkg{luatexja-adjust}ã«ã¤ãã¦ã¯plain \LuaTeX ã§ã\
+\verb+\input+ ã§èªã¿è¾¼ã¿å¯è½ã§ããï¼
+%
\subsection{\texttt{luatexja-fontspec.sty}}
-
+\label{ssec-fontspec2}
%<*en>
As described in Subsection~\ref{ssec-fontspec}, this optional package
provides the counterparts for several commands defined in the
\Pkg{fontspec} packageï¼
-In addition to `font features' in the original \Pkg{fontspec},
-the following `font features' specifications are allowed for
+In addition to OpenType font features in the original \Pkg{fontspec},
+the following ``font features'' specifications are allowed for
the commands of Japanese version:
%
%<*ja>
\ref{ssec-fontspec}ç¯ã§è¿°ã¹ãããã«ï¼ãã®è¿½å ããã±ã¼ã¸ã¯\Pkg{fontspec}
ããã±ã¼ã¸ã§å®ç¾©ããã¦ããã³ãã³ãã«å¯¾å¿ããåæãã©ã³ãç¨ã®ã³ãã³ããæä¾ããï¼
-ãªãªã¸ãã«ã®\Pkg{fontspec}ã§ã®`font feature'ã«å ãã¦ï¼åæçã®ã³ãã³ãã«ã¯
-以ä¸ã®`font feature'ãæå®ãããã¨ãã§ããï¼
+\Pkg{fontspec}ããã±ã¼ã¸ã§æå®å¯è½ãªå種font featureã«å ãã¦ï¼åæçã®ã³ãã³ãã«ã¯
+以ä¸ã®``font feature''ãæå®ãããã¨ãã§ããï¼
%
@@ -4514,43 +4662,108 @@ the commands of Japanese version:
\item[JFM-var=] \
%<*en>
-These 3 font features correspond to \texttt{cid}, \texttt{jfm} and
-\texttt{jfmvar} keys for \verb+\jfont+ primitive, respectively.
+These 3 keys correspond to \texttt{cid}, \texttt{jfm} and
+\texttt{jfmvar} keys for \verb+\jfont+ respectively.
\texttt{CID} is effective only when with \texttt{NoEmbed}
described below.
See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details.
%
%<*ja>
-ããã3ã¤ã®ãã¼ã¯ãããã \verb+\jfont+ ããªããã£ãã«å¯¾ãã
+ããã3ã¤ã®ãã¼ã¯ãããã \verb+\jfont+ ã«å¯¾ãã
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ãã¼ã¨ãããã対å¿ããï¼
\texttt{CID} ã¯ä¸ã® \texttt{NoEmbed} ã¨åããã¦ç¨ããããã¨ãã®ã¿æå¹ã§ããï¼
-詳細ã¯\ref{ssec-jfont}ç¯ã¨\ref{ssec-psft}ç¯ãåç
§ï¼
+\verb+\jfont+ ããªããã£ãã«å¯¾ãã
+\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ãã¼ã®è©³ç´°ã¯\ref{ssec-jfont}ç¯
+ ã¨\ref{ssec-psft}ç¯ãåç
§ï¼
%
\item[NoEmbed]
%<*en>
-By specifying this font feature, one can use `name-only' Japanese font which
+By specifying this key, one can use ``name-only'' Japanese font which
will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
%
%<*ja>
ãããæå®ãããã¨ã§ï¼PDFã«åãè¾¼ã¾ããªããååã ããã®ãã©ã³ããæå®ãããã¨ã
ã§ããï¼\ref{ssec-psft}ç¯ãåç
§ï¼
%
+
+
+\begin{figure}[!tb]
+\begin{LTXexample}[pos=b]
+\jfontspec[
+ AltFont={
+ {Range="4E00-"67FF, Color=007F00},
+ {Range="6800-"9EFF, Color=0000FF},
+ {Range="3040-"306F, Font=KozGoPr6N-Regular},
+ }
+]{KozMinPr6N-Regular}
+æ¥æ¬å½æ°ã¯ãæ£å½ã«é¸æãããå½ä¼ã«ããã代表è
ãéãã¦è¡åãããããã¨ãããã®åå«ã®ããã«ã
+諸å½æ°ã¨ã®ååã«ããææã¨ãããå½å
¨åã«ããã¤ã¦èªç±ã®ããããæµæ²¢ã確ä¿ããâ¦â¦
+\end{LTXexample}
+%\caption{\texttt{AltFont} ã®ä½¿ç¨ä¾}
+%\caption{An example of \texttt{AltFont}}
+\label{fig:altkanji-fontspec}
+\end{figure}
+
+\item[AltFont]\
+
+%<*en>
+As \verb+\ltjdeclarealtfont+~(Subsection~\ref{ssec-altfont}) and
+\verb+\DeclareAlternateKanjiFont+~(Subsection~\ref{ssec-nfsspat}),
+with this key, one can typeset some Japanese characters
+by a different font and/or using different features.
+The \texttt{AltFont} feature takes a comma-separated list of comma-separated lists,
+as the following:
+%
+%<*ja>
+\ref{ssec-altfont}ç¯ã® \verb+\ltjdeclarealtfont+ ãï¼
+\ref{ssec-nfsspat}ç¯ã® \verb+\DeclareAlternateKanjiFont+ ã¨åæ§ã«ï¼
+ãã®ãã¼ãç¨ããã¨ä¸é¨ã®æåãç°ãªã£ããã©ã³ããfont featureã使ã£ã¦çµããã¨ãã§ããï¼
+\texttt{AltFont} ã«æå®ããå¤ã¯ï¼æ¬¡ã®ããã«äºéã®ã³ã³ãåºåããªã¹ãã§ããï¼
+%
+\begin{lstlisting}[escapechar=\#]
+AltFont = {
+ ...
+ { Range=#\LARG range>#, #\LARG features>#},
+ { Range=#\LARG range>#, Font=#\LARG font~name>#, #\LARG features># },
+ { Range=#\LARG range>#, Font=#\LARG font~name># },
+ ...
+}
+\end{lstlisting}
+%<*en>
+Each sublist should have the \texttt{Range} key
+(sublist which does not contain \texttt{Range} key is simply ignored).
+A demonstrartion is shown in Figure~\ref{fig:altkanji-fontspec}.
+%
+%<*ja>
+åé¨åãªã¹ãã«ã¯ \texttt{Range} ãã¼ãå¿
é ã§ããï¼å«ã¾ããªãé¨åãªã¹ãã¯
+åç´ã«ç¡è¦ãããï¼ï¼
+æå®ä¾ã¯å³\ref{fig:altkanji-fontspec}ã«ç¤ºããï¼
+%
\end{list}
-\subsection{\texttt{luatexja-otf.sty}}
+%<*ja>
+ãªãï¼\Pkg{luatexja-fontspec} èªã¿è¾¼ã¿æã«ã¯åæãã©ã³ãå®ç¾©ãã¡ã¤ã«%
+\texttt{.fd}ã¯å
¨ãåç
§ãããªããªãï¼
+%
+
+\subsection{\texttt{luatexja-otf.sty}}
+\label{ssec-ltjotf}
%<*en>
This optional package supports typesetting characters in
-Adobe-Japan1. \texttt{luatexja-otf.sty} offers the following 2~low-level
+Adobe-Japan1 character collection
+(or other CID character collecton, if the font is supported).
+The package \Pkg{luatexja-otf} offers the following 2~low-level
commands:
%
%<*ja>
-ãã®è¿½å ããã±ã¼ã¸ã¯Adobe-Japan1ã®æåã®åºåããµãã¼ãããï¼
-\texttt{luatexja-otf.sty}ã¯ä»¥ä¸ã®2ã¤ã®ä½ã¬ãã«ã³ãã³ããæä¾ããï¼
+ãã®è¿½å ããã±ã¼ã¸ã¯Adobe-Japan1ï¼ãã©ã³ãèªèº«ãæã£ã¦ããã°ï¼
+å¥ã®CIDæåã»ããã§ãå¯ï¼ã®æåã®åºåããµãã¼ãããï¼
+\Pkg{luatexja-otf}ã¯ä»¥ä¸ã®2ã¤ã®ä½ã¬ãã«ã³ãã³ããæä¾ããï¼
%
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\char92CID\{\}]
+\item[\textbackslash CID\{\}]
%<*en>
Typeset a character whose CID number is .
%
@@ -4558,7 +4771,7 @@ Typeset a character whose CID number is .
CIDçªå·ãã®æåãåºåããï¼
%
-\item[\char92UTF\{\}]
+\item[\textbackslash UTF\{\}]
%<*en>
Typeset a character whose character code is (in hexadecimal).
This command is similar to \verb+\char"+,\ %"
@@ -4570,6 +4783,13 @@ but please remind remarks below.
%
\end{list}
+%<*ja>
+ãã®ããã±ã¼ã¸ã¯ï¼\texttt{ajmacros.sty}ï¼\Pkg{otf}ããã±ã¼ã¸ä»å±ã®ãã¯ãéï¼äºä¸æµ©ä¸æ°ä½ï¼ãã
+æ¼¢åã³ã¼ããUTF8ã«ãããï¼plain \LuaTeX ã§ãå©ç¨å¯è½ããã¨ãã
+ä¿®æ£ãå ãã \texttt{luatexja-ajmacros.sty} ãèªåçã«èªã¿è¾¼ãï¼
+ãã®ããï¼ãã¯ãéã«ãã \verb+\ajåè§+ ãªã©ã®ãã¯ãããã®ã¾ã¾ä½¿ç¨å¯è½ã§ããï¼
+%
+
%\paragraph{Remarks}
%\paragraph{注æ}
%<*en>
@@ -4581,9 +4801,6 @@ ordinary characters in the following points:
以ä¸ã®ç¹ã§é常ã®æåã¨ç°ãªãï¼
%
\begin{itemize}
-%<*zh>
-\item
-%
%<*en>
\item Always treated as \textbf{JAchar}s.
%
@@ -4601,21 +4818,289 @@ ordinary characters in the following points:
%
\end{itemize}
-
-%\paragraph{Additional Syntax of JFM}
+%\paragraph{Additional syntax of JFM}
%\paragraph{JFMã¸ã®è¨æ³ã®è¿½å }
%<*en>
-\texttt{luatexja-otf.sty} extends the syntax of JFM; the entries of \texttt{
+The package \Pkg{luatexja-otf} extends the syntax of JFM; the entries of \texttt{
chars} table in JFM now allows a string in the form
\verb+'AJ1-xxx'+, which stands for the character
whose CID number in Adobe-Japan1 is \verb+xxx+.
+
+This extened notation is used in the standard JFM \texttt{jfm-ujis.lua}
+to typeset halfwidth Hiragana glyphs (CID~516--598) in halfwidth.
%
%<*ja>
-\texttt{luatexja-otf.sty}ã¯JFMã®è¨æ³ãæ¡å¼µããï¼
+\Pkg{luatexja-otf}ããã±ã¼ã¸ãèªã¿è¾¼ãã¨ï¼
JFMã®\texttt{chars}ãã¼ãã«ã®ã¨ã³ããªã¨ã㦠\verb+'AJ1-xxx'+ ã®å½¢ã®æååã
使ããããã«ãªãï¼ããã¯Adobe-Japan1ã«ãããCIDçªå·ã \verb+xxx+ ã®æåã表ãï¼
+
+ãã®æ¡å¼µè¨æ³ã¯ï¼æ¨æºJFM~\texttt{jfm-ujis.lua}ã§ï¼åè§ã²ãããªã®ã°ãªãï¼CID~516--598ï¼ã
+æ£ããåè§å¹
ã§çµãããã«å©ç¨ããã¦ããï¼
+%
+
+%<*en>
+\paragraph{IVS support}
+Recent fonts support Ideographic Variation Selector (IVS).
+It seems that \Pkg{luaotfload} and \Pkg{fontspec} packages do not support
+IVS, so we implemented IVS support in \Pkg{luatexja-otf}.
+\emph{IVS support is experimental; if you want to enable this, load
+\Pkg{luatexja-otf} and execute the following:}
+%
+%<*ja>
+\paragraph{IVSãµãã¼ã}
+æè¿ã®OpenTypeãã©ã³ããTrueTypeãã©ã³ãã«ã¯ï¼
+\texttt{U+E0100}--\texttt{U+E01EF}ã®ç¯å²ã®ãæåã
+ï¼æ¼¢åç¨ç°ä½åã»ã¬ã¯ã¿ï¼ãå¾ç½®ãããã¨ã«ãã£ã¦
+åå½¢ãæå®ããä»çµã¿(IVS)ãå«ã¾ãã¦ããï¼
+å·çæç¹ã®2013å¹´12æã§ã¯ï¼\Pkg{luaotfload}ã\Pkg{fontspec}ããã±ã¼ã¸é¡ã¯
+IVSã«å¯¾å¿ãã¦ã¯ããªãããã§ããï¼ãããã®ããã±ã¼ã¸ã§å¯¾å¿ãã¦ãããã®ãçæ³çã ãï¼
+ããã¾ã§ã®ã¤ãªãã¨ãã¦ï¼\Pkg{luatexja-otf}ããã±ã¼ã¸å
ã«IVS対å¿ãä»è¾¼ãã§ãããï¼
+
+\medskip
+
+\emph{IVS対å¿ã¯è©¦é¨çãªãã®ã§ããï¼
+æå¹ã«ããã«ã¯ï¼\Pkg{luatexja-otf}ããã±ã¼ã¸ãèªã¿è¾¼ãã ä¸ã§ä»¥ä¸ã®å½ä»¤ãå®è¡ãã%
+\footnote{ãã®å½ä»¤ã2å以ä¸å®è¡ãã¦ãæå³ããªãï¼}ï¼}
+%
+\begin{verbatim}
+\directlua{luatexja.otf.enable_ivs()}
+\end{verbatim}
+% ããã¨ï¼ä¸ã®å½ä»¤ãå®è¡ããç®æ以éã§ã¯ï¼ä»¥ä¸ã®ããã«IVSã«ããåå½¢æå®ãæå¹ã¨ãªãï¼
+% After executing the command above, you can use IVS like the following:
+\begin{LTXexample}
+\Large
+\jfontspec{KozMinPr6N-Regular}
+å¥è¯çèó åå¸ã¨ï¼æ±äº¬é½èó 飾åºï¼\\
+ããã«ã¡ã¯ï¼æ¸¡
+éó éó éó éó éó
+éó
éó éó éó éó
+éó éó éó éó éó
+ããï¼
+\end{LTXexample}
+%<*ja>
+å·¦ä¸å´ã®å
¥åã«ããã¦ã¯ï¼æ¼¢åç¨ç°ä½åã»ã¬ã¯ã¿ãæ示ããããï¼
+ä¾ãã°Variation~Selector~18 (\texttt{U+E0101})ã\IVSB{18}ã®ããã«è¡¨è¨ãã¦ããï¼
+%
+\medskip
+
+%<*en>
+Specifying glyph variants by IVS precedes glyph replacement by font features.
+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ã«ããããã«åªå
ããããã¨ã¨ããï¼
+ä¸ã®ä¾ã«ããã¦ï¼\texttt{jp78}, \texttt{jp90} æå®ã§åå½¢ãå¤åããæåã¯
+ç°ä½åã»ã¬ã¯ã¿ãç¶ãã¦ããªããè西ãä¸ã®ãèãã®ã¿ã§ããï¼
+%
+\begin{LTXexample}
+ \def\TEST#1{%
+ {\jfontspec[#1]{KozMinPr6N-Regular}%
+ èó åå¸ï¼èó 飾åºï¼è西}\\}
+ æå®ãªãï¼\TEST{}
+ \texttt{jp78}ï¼\TEST{CJKShape=JIS1978}
+ \texttt{jp90}ï¼\TEST{CJKShape=JIS1990}
+\end{LTXexample}
+
+%<*ja>
+ç¾ç¶ã§ã¯ï¼\TeX å´ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¨ãªã \Pkg{luatexja-otf.sty} ã¯ä¸åå¤æ´ãã¦ããªã
+ã®ã§ï¼ZRããã«ãã\Pkg{PXipamjm}ããã±ã¼ã¸%
+\footnote{\url{https://github.com/zr-tex8r/PXipamjm}. 説æã¯å½¼ã®ããã°è¨äº
+ãpxipamjm ããã±ã¼ã¸ã®èª¬ææ¸ã®ãããªä½ã(\url{http://d.hatena.ne.jp/zrbabbler/20131221})ã
+ã«ããï¼}
+ã«ãããããªæ°ã®å©ããå½ä»¤ã¯ã¾ã ãªãï¼
+ç°ä½åã®ä¸è¦§è¡¨ç¤ºãè¡ãããå ´åã¯ï¼gitãªãã¸ããªå
ã® \texttt{test/test19-ivs.tex} ä¸ã«ãã
+Luaã»\TeX ã³ã¼ããåèã«ãªãã ããï¼
+%
+
+
+\subsection{\texttt{luatexja-adjust.sty}}
+\label{ssec-adj}
+\begin{figure}[t]
+\def\sq{%
+ \hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{%
+ ã\hskip\dimexpr-.5\zw-.2pt\vrule width.4pt height.08\zw depth.12\zw%
+ \hskip\dimexpr.5\zw-.2pt\relax}\hss}}
+\def\sb{\hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{%
+ â \hskip\dimexpr-.5\zw-.2pt\vrule width.4pt height.08\zw depth.12\zw%
+ \hskip\dimexpr.5\zw-.2pt\relax}\hss}}
+\newbox\gridbox
+\def\outbox#1{{\Large%
+ \ltjsetparameter{kanjiskip=0pt plus .2\zw minus .2\zw}%
+ \setbox\gridbox=\hbox to 20\zw{\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb}%
+ \hbox{\textcolor{cyan!50!white}{\copy\gridbox}\hskip-20\zw%
+ \vbox{\hsize=20\zw\noindent\leftskip0pt\rightskip0pt\parfillskip0pt#1}\vrule}%
+}}
+
+{\centering
+\begin{tabular}{lc}
+\toprule
+no adjustment&\outbox{以ä¸ã®åçã¯ï¼ãå
é¤åçãã¨ããå¼ã°ããã\hskip-.5\zw\null}\\
+without priority&%
+\ltjdisableadjust
+\outbox{以ä¸ã®åçã¯ï¼ãå
é¤åçãã¨ããå¼ã°ããã}%
+\ltjenableadjust\\
+with priority&%
+\outbox{以ä¸ã®åçã¯ï¼ãå
é¤åçãã¨ããå¼ã°ããã}
+%\ltjdisableadjust
+\\
+\bottomrule
+\end{tabular}\par}
+\smallskip
+
+Note: the value of
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
+for making the difference obvious.
+%\caption{è¡é·èª¿æ´}\label{fig-adj}
+%\caption{Line adjustment}\label{fig-adj}
+\end{figure}
+
+
+%<*en>
+(see Japanese version of this manual)
+%
+%<*ja>
+\pTeX ã§ã¯ï¼è¡é·èª¿æ´ã«ããã¦åªå
度ã®æ¦å¿µãåå¨ããªãã£ãããï¼å³
+\ref{fig-adj}ä¸æ®µã«ãããåè§åã®å端ã¯ï¼å³\ref{fig-adj}ä¸æ®µã®ããã«ï¼éµ
+æ¬å¼§å¨è¾ºã®ç©ºç½ã¨åæé空ç½(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})ã®ä¸¡æ¹ã«ãã£ã¦è² æ
ãããï¼ã
+ããï¼ãæ¥æ¬èªçµçå¦çã®è¦ä»¶ã\cite{jlreq}ãJIS~X~4051~\cite{x4051}ã«ãã
+ã¦ã¯ï¼ãã®ãããªç¶æ³ã§ã¯å端ã¯éµæ¬å¼§å¨è¾ºã®ç©ºç½ã®ã¿ã§è² æ
ãï¼ãã®ä»ã®åæ
+æåã¯ãã¿çµã§çµã¾ããï¼å³\ref{fig-adj}ä¸æ®µï¼ãã¨ã«ãªã£ã¦ããï¼ãã®è¿½å
+ããã±ã¼ã¸ã¯\cite{jlreq}ã\cite{x4051}ã«ãããè¦å®ã®ãããªï¼åªå
é ä½ä»ã
+ã®è¡é·èª¿æ´ãæä¾ããï¼è©³ç´°ãªä»æ§ã«ã¤ãã¦ã¯\ref{sec-adjspec}ç« ãåç
§ãã¦ã»ããï¼
+\begin{itemize}
+ \item åªå
度ä»ãè¡é·èª¿æ´ã¯ï¼æ®µè½ãè¡åå²ããå¾ã«åã
ã®è¡ã«ã¤ãã¦è¡ããããã®ã§ããï¼
+ãã®ããï¼è¡åå²ã®ä½ç½®ã¯å¤åãããã¨ã¯ãªãï¼
+
+ã¾ãï¼\verb+\hbox to ... {...}+ ã®ãããªãå¹
ãæå®ãããhboxãã§ã¯ç¡å¹ã§ããï¼
+ \item åªå
度ä»ãè¡é·èª¿æ´ãè¡ãã¨ï¼åæå¦çã°ã«ã¼ã®èªç¶é·ã¯å¤åããªããï¼ä¼¸ã³éã縮ã¿éã¯
+ä¸è¬ã«å¤åããï¼ãã®ããï¼æ¢ã«çµã¾ãã段è½ã \verb+\unhbox+ ãªã©ãå©ç¨ãã¦çµã¿ç´ãå¦çã
+è¡ãå ´åã«ã¯æ³¨æãå¿
è¦ã§ããï¼
+\end{itemize}
+
+
+\Pkg{luatexja-adjust} ã¯ï¼ä»¥ä¸ã®å½ä»¤ãæä¾ããï¼ãããã¯ãã¹ã¦ã°ãã¼ãã«ã«å¹åãçºæ®ããï¼
+
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\item[\textbackslash ltjdisableadjust]
+åªå
é ä½ä»ãã®è¡é·èª¿æ´ãç¡å¹åããï¼
+
+\item[\textbackslash ltjenableadjust]
+åªå
é ä½ä»ãã®è¡é·èª¿æ´ãæå¹åããï¼
+
+\item[\textsf{adjust}\,=] \verb+\ltjsetparameter+ ã§æå®å¯è½ãªè¿½å ãã©ã¡ã¼ã¿ã§ããï¼
+ã\textit{true}ãªã \verb+\ltjenableadjust+ ãï¼
+ããã§ãªããã° \verb+\ltjdisableadjust+ ãå®è¡ããï¼
+\end{list}
+%
+
+\subsection{\texttt{luatexja-ruby.sty}}
+%<*en>
+This addon package provides functionality of ``ruby'' (\emph{furigana}) annotations
+using callbacks of \LuaTeX-ja.
+There is no detailed manual of \Pkg{luatexja-ruby.sty} in English.
+(Japanese manual is another PDF file, \url{luatexja-ruby.pdf}.)
+%
+%<*ja>
+ãã®è¿½å ããã±ã¼ã¸ã¯ï¼\LuaTeX-jaã®æ©è½ãå©ç¨ããã«ãï¼æ¯ãä»®åï¼ã®çµçæ©è½ãæä¾ããï¼
+åå¾ã®æå種ã«å¿ããåå¾ã¸ã®èªåé²å
¥ãï¼
+è¡é å½¢ã»è¡ä¸å½¢ã»è¡æ«å½¢ã®èªåçãªä½¿ãåããç¹å¾´ã§ããï¼
+
+ã«ãçµçã«è¨å®å¯è½ãªé
ç®ã注æäºé
ãå¤ãããï¼æ¬è¿½å ããã±ã¼ã¸ã®è©³ç´°ãªèª¬æã¯
+使ç¨ä¾ã¨å
±ã« \url{luatexja-ruby.pdf}\ ã¨ããå¥ãã¡ã¤ã«ã«è¼ãã¦ããï¼
+ãã®ç¯ã§ã¯ç°¡åãªä½¿ç¨æ¹æ³ã®ã¿è¿°ã¹ãï¼
+%
+
+\begin{description}
+%<*en>
+ \item[Group-ruby]
+By default, ruby characters (the second argument of \verb+\ruby+)
+are attached to base characters (the first argument), as one object.
+This type of ruby is called \emph{group-ruby}.
+%
+%<*ja>
+ \item[ã°ã«ã¼ãã«ã] æ¨æºã§ã¯ã°ã«ã¼ãã«ãã®å½¢ã§çµã¾ããï¼ç¬¬1å¼æ°ã«è¦ªæåï¼
+第2å¼æ°ã«ã«ããè¨è¿°ããï¼
%
+\begin{LTXexample}[width=0.3\textwidth]
+æ±è¥¿ç·\ruby{å¦å
¸}{ã¿ããã§ã}é§
ã¯â¦â¦\\
+æ±è¥¿ç·ã®\ruby{å¦å
¸}{ã¿ããã§ã}é§
ã¯â¦â¦\\
+æ±è¥¿ç·ã®\ruby{å¦å
¸}{ã¿ããã§ã}ã¨ããé§
â¦â¦\\
+æ±è¥¿ç·\ruby{è西}{ããã}é§
ã¯â¦â¦
+\end{LTXexample}
+%<*en>
+As the above example, ruby hangover is allowed on the Hiragana before/after
+its base characters.
+%
+% ãã®ä¾ã®ããã«ï¼æ¨æºã§ã¯åå¾ã®å¹³ä»®åã«ã«ãå
¨è§ã¾ã§ãããããã«ãªã£ã¦ããï¼
+
+%<*en>
+\item[Mono-ruby]
+To attach ruby characters to each base characters (\emph{mono-ruby}),
+one should use \verb+\ruby+ multiple times:
+%
+%<*ja>
+ \item[ã¢ãã«ã] 親æåã1æåã«ããã¨ã¢ãã«ãã¨ãªãï¼
+2æå以ä¸ã®çèªãã¢ãã«ãã®å½¢ã§çµã¿ããå ´åã¯ï¼é¢åã§ã
+ãã®æ°ã ã \verb+\ruby+ ãæ¸ãå¿
è¦ãããï¼
+%
+\begin{LTXexample}[width=0.3\textwidth]
+æ±è¥¿ç·ã®\ruby{å¦}{ã¿ãã}\ruby{å
¸}{ã§ã}é§
ã¯â¦â¦
+\end{LTXexample}
+
+%<*en>
+ \item[Jukugo-ruby]
+Vertical bar~\verb+|+ denotes a boundary of \emph{groups}.
+%
+%<*ja>
+ \item[çèªã«ã] å¼æ°å
ã®ç¸¦æ£ \verb+|+ ã¯ã°ã«ã¼ãã®åºåãã表ãï¼
+è¤æ°ã°ã«ã¼ãã®ã«ãã¯çèªã«ãã¨ãã¦çµã¾ããï¼
+\cite{x4051}ã«ããããã«ï¼
+ã©ã®ã°ã«ã¼ãã§ãã親æåãã対å¿ããã«ã以ä¸ã®é·ãã®å ´åã¯
+åã°ã«ã¼ããã¨ã«ï¼ããã§ãªãã¨ãã¯å
¨ä½ãã¾ã¨ãã¦1ã¤ã®ã°ã«ã¼ãã«ãã¨ãã¦çµã¾ããï¼
+\cite{jlreq}ã§è¦å®ããã¦ããçµã¿æ¹ã¨ã¯ç°ãªãã®ã§æ³¨æï¼
+%
+\begin{LTXexample}
+\ruby{å¦|å
¸}{ã¿ãã|ã§ã}\
+\ruby{è|西}{ã|ãã}\
+\ruby{ç¥æ¥½|å}{ããã|ãã}
+\end{LTXexample}
+%<*en>
+If there are multiple groups in one \verb+\ruby+ call,
+A linebreak between two groups is allowed.
+%
+% è¤æ°ã«ãã§ã¯ã°ã«ã¼ãã¨ã°ã«ã¼ãã®éã§æ¹è¡ãå¯è½ã§ããï¼
+\begin{LTXexample}[width=0.3\textwidth]
+\vbox{\hsize=6\zw\noindent
+ \hbox to 2.5\zw{}\ruby{京|æ¥|è²|ç°}{ãã|ããã|ãã¾|ã}
+ \hbox to 2.5\zw{}\ruby{京|æ¥|è²|ç°}{ãã|ããã|ãã¾|ã}
+ \hbox to 3\zw{}\ruby{京|æ¥|è²|ç°}{ãã|ããã|ãã¾|ã}
+}
+\end{LTXexample}
+\end{description}
+
+%<*en>
+If the width of ruby characters are longer than that of base characters,
+\verb+\ruby+ automatically selects the appropriate form
+among the line-head form, the line-middle form, and the line-end form.
+%
+%<*ja>
+ã¾ãï¼ã«ãæåã®ã»ãã親æåãããé·ãå ´åã¯ï¼èªåçã«
+è¡é å½¢ã»è¡ä¸å½¢ã»è¡æ«å½¢ã®ããããé©åãªãã®ãé¸æããï¼
+%
+\begin{LTXexample}[width=0.3\textwidth]
+\vbox{\hsize=8\zw\noindent
+\null\kern3\zw â¦â¦ã\ruby{æ¿}{ãããã¾ã}ã
+ \kern1\zw â¦â¦ã\ruby{æ¿}{ãããã¾ã}ã\\
+\null\kern5\zw â¦â¦ã\ruby{æ¿}{ãããã¾ã}ã
+}
+\end{LTXexample}
+
+
+
+
+
%\part{Implementations}
%\part{å®è£
}
@@ -4623,8 +5108,8 @@ JFMã®\texttt{chars}ãã¼ãã«ã®ã¨ã³ããªã¨ã㦠\verb+'AJ1-xxx'+ ã®å½¢
%\section{Storing Parameters}
%\section{ãã©ã¡ã¼ã¿ã®ä¿æ}
\label{sec-para}
-%\subsection{Used Dimensions, Attributes and whatsit nodes}
-%\subsection{\LuaTeX-jaã§ç¨ãããã寸æ³ã¬ã¸ã¹ã¿ï¼å±æ§ã¬ã¸ã¹ã¿ï¼whatsitãã¼ã}
+%\subsection{Used Dimensions, Attributes and Whatsit Nodes}
+%\subsection{\LuaTeX-jaã§ç¨ããããã¬ã¸ã¹ã¿ã¨whatsitãã¼ã}
%<*en>
Here the following is the list of dimensions and attributes which are used in \LuaTeX-ja.
@@ -4635,47 +5120,56 @@ Here the following is the list of dimensions and attributes which are used in \L
%
\begin{list}{}{%
\def\makelabel{\ttfamily}\advance\leftmargin1\zw
-\def\dim#1{\item[\char92 #1\ \textrm{(dimension)}]}
-\def\attr#1{\item[\char92 #1\ \textrm{(attribute)}]}
+\def\dim#1{\item[\textbackslash #1\ \textrm{(dimension)}]}
+\def\attr#1{\item[\textbackslash #1\ \textrm{(attribute)}]}
}
\dim{jQ}
%<*en>
\verb+\jQ+ is equal to
- $1\,\textrm{Q}=0.25\,\textrm{mm}$, where `Q'~(also called `ç´') is
- a unit used in Japanese phototypesetting. So one should not change the value of this dimension.
+ $1\,\textrm{Q}=0.25\,\textrm{mm}$, where ``Q''~(also called ``ç´'') is
+ a unit used in Japanese phototypesetting.
+So one should not change the value of this dimension.
%
%<*ja>
-\verb+\jQ+ ã¯$1\,\textrm{Q}=0.25\,\textrm{mm}$
-ã¨çããï¼ããã§ï¼`Q'ï¼ãããã¯ãç´ãï¼ã¯æ¥æ¬ã®åæ¤ã§ç¨ããããåä½ã§ããï¼ãããã£ã¦ï¼
+\verb+\jQ+ ã¯åæ¤ã§ç¨ãããã$1\,\textrm{Q}=0.25\,\textrm{mm}$%
+ï¼ãç´ãã¨ãæ¸ãããï¼ã«çããï¼ãããã£ã¦ï¼
ãã®å¯¸æ³ã¬ã¸ã¹ã¿ã®å¤ãå¤æ´ãã¦ã¯ãªããªãï¼
%
\dim{jH}
%<*en>
-There is also a unit called `æ¯' which equals to $0.25\,\textrm{mm}$ and
- used in Japanese phototypesetting. This
- \verb+\jH+ is a synonym of \verb+\jQ+.
+There is also a unit called ``æ¯'' which equals to $0.25\,\textrm{mm}$ and
+ used in Japanese phototypesetting.
+This \verb+\jH+ is the same \verb+\dimen+ register as \verb+\jQ+.
%
%<*ja>
åããåæ¤ã§ç¨ãããã¦ããåä½ã¨ãã¦ãæ¯ããããï¼ããã$0.25\,\textrm{mm}$ã¨
-çããï¼\verb+\jH+ 㯠\verb+\jQ+ ã®å¥åã§ããï¼
+çããï¼ãã® \verb+\jH+ 㯠\verb+\jQ+ ã¨åã寸æ³ã¬ã¸ã¹ã¿ãæãï¼
%
\dim{ltj@zw}
%<*en>
-A temporal register for the `full-width' of current Japanese font.
+A temporal register for the ``full-width'' of current Japanese font.
+The command \verb+\zw+ sets this register to the correct value, and
+``return'' this register itself.
%
%<*ja>
ç¾å¨ã®åæãã©ã³ãã®ãå
¨è§å¹
ããä¿æããä¸æã¬ã¸ã¹ã¿ï¼
+\verb+\zw+ å½ä»¤ã¯ï¼ãã®ã¬ã¸ã¹ã¿ãé©åãªå¤ã«è¨å®ããå¾ï¼
+ããã®ã¬ã¸ã¹ã¿èªä½ãè¿ããï¼
%
\dim{ltj@zh}
%<*en>
-A temporal register for the `full-height' (usually the sum of height of imaginary body and its depth) of current Japanese font.
+A temporal register for the ``full-height'' (usually the sum of height of imaginary body and its depth) of current Japanese font.
+The command \verb+\zh+ sets this register to the correct value, and
+``return'' this register itself.
%
%<*ja>
ç¾å¨ã®åæãã©ã³ãã®ãå
¨è§é«ããï¼é常ï¼é«ãã¨æ·±ãã®åï¼ãä¿æããä¸æã¬ã¸ã¹ã¿ï¼
+\verb+\zh+ å½ä»¤ã¯ï¼ãã®ã¬ã¸ã¹ã¿ãé©åãªå¤ã«è¨å®ããå¾ï¼
+ããã®ã¬ã¸ã¹ã¿èªä½ãè¿ããï¼
%
\attr{jfam}
@@ -4720,23 +5214,23 @@ The amount of shifting the baseline of Japanese fonts in scaled point ($2^{-16}\
\attr{ltj@autospc}
%<*en>
-Whether the auto insertion of \Param{kanjiskip} is allowed at the node.
+Whether the auto insertion of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is allowed at the node.
%
%<*ja>
-ãã®ãã¼ãã§\Param{kanjiskip}ã®èªåæ¿å
¥ã許ããããã©ããï¼
+ãã®ãã¼ãã§\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã®èªåæ¿å
¥ã許ããããã©ããï¼
%
\attr{ltj@autoxspc}
%<*en>
-Whether the auto insertion of \Param{xkanjiskip} is allowed at the node.
+Whether the auto insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed at the node.
%
%<*ja>
-ãã®ãã¼ãã§\Param{xkanjiskip}ã®èªåæ¿å
¥ã許ããããã©ããï¼
+ãã®ãã¼ãã§\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®èªåæ¿å
¥ã許ããããã©ããï¼
%
\attr{ltj@icflag}
%<*en>
-An attribute for distinguishing `kinds' of a node. One of the following value is
+An attribute for distinguishing ``kinds'' of a node. One of the following value is
assigned to this attribute:
%
%<*ja>
@@ -4745,84 +5239,52 @@ assigned to this attribute:
\begin{description}
\item[\textit{italic} (1)]
%<*en>
-Glues from an italic correction
- (\verb+\/+). This distinction of origins of glues
- (from explicit \verb+\kern+, or from \verb+\/+)
- is needed in the insertion process of \Param{xkanjiskip}.
+Kerns from italic correction (\verb+\/+), or from kerning information of a Japanese font.
+These kerns are ``ignored'' in the insertion process of \textbf{JAglue},
+unlike explicit \verb+\kern+.
%
%<*ja>
-ã¤ã¿ãªãã¯è£æ£(\verb+\/+)ã«ããã°ã«ã¼ï¼ãã®ã°ã«ã¼ã®ç±æ¥ã®åºå¥ï¼\verb+\kern+ ã
-\verb+\/+ ãï¼ã¯\Param{xkanjiskip}ã®æ¿å
¥éç¨ã«ããã¦å¿
è¦ã«ãªãï¼
+ã¤ã¿ãªãã¯è£æ£(\verb+\/+)ã«ããã«ã¼ã³ï¼
+ã¾ã㯠\Pkg{luaotfload} ã«ãã£ã¦æ¿å
¥ããããã©ã³ãã®ã«ã¼ãã³ã°æ
å ±ç±æ¥ã®ã«ã¼ã³ï¼
+ãããã®ã«ã¼ã³ã¯é常㮠\verb+\kern+ ã¨ã¯ç°ãªãï¼
+\textbf{JAglue}ã®æ¿å
¥å¦çã«ããã¦ã¯ééããï¼
%
\item[\textit{packed} (2)]
\item[\textit{kinsoku} (3)]
%<*en>
-Penalties inserted for the word-wrapping process of Japanese characters (\emph{kinsoku}).
-%
-%<*ja>
-åææåã®ã¯ã¼ãã©ããéç¨ã«ããã¦æ¿å
¥ãããããã«ãã£(\emph{kinsoku})ï¼
-%
-
-\item[\textit{from\_jfm} (4)]
-%<*en>
-Glues/kerns from JFM.
-%
-%<*ja>
-JFMç±æ¥ã®ã°ã«ã¼ï¼ã«ã¼ã³ï¼
-%
-
-\item[\textit{line\_end} (5)]
-%<*en>
-Kerns for \ldots
-%
-%<*ja>
-åææåãè¡æ«ã«ããã¨ãï¼è¡æ«ã¨ã®éã«æ¿å
¥ãããã«ã¼ã³ã§ããï¼
-% ã¶ãä¸ãçµã¸ã®å¿ç¨
-%
-
-\item[\textit{kanji\_skip} (6)]
-%<*en>
-Glues for \Param{kanjiskip}.
-%
-%<*ja>
-\Param{kanjiskip}ã®ã°ã«ã¼ï¼
-%
-
-\item[\textit{xkanji\_skip} (7)]
-%<*en>
-Glues for \Param{xkanjiskip}.
-%
-%<*ja>
-\Param{xkanjiskip}ã®ã°ã«ã¼ï¼
-%
-
-\item[\textit{processed} (8)]
-%<*en>
-Nodes which is already processed by \ldots.
-%
-%<*ja>
-\LuaTeX-ja ã®å
é¨å¦çã«ãã£ã¦æ¢ã«å¦çããããã¼ãï¼
-%
+Penalties inserted for the word-wrapping process (\emph{kinsoku shori}) of Japanese characters.
+%
+%ç¦åå¦çã®ããã«æ¿å
¥ãããããã«ãã£ï¼
+\item[\mathversion{bold}$(\textit{from\_jfm}-2)$--$(\textit{from\_jfm}+2)$~(4--8)]
+%Glues/kerns from JFM.
+%JFMç±æ¥ã®ã°ã«ã¼ï¼ã«ã¼ã³ï¼
+\item[\textit{kanji\_skip}~(9), \textit{kanji\_skip\_jfm}~(10)]
+%Glues from \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}.
+%åæé空ç½\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã表ãã°ã«ã¼ï¼
+\item[\textit{xkanji\_skip}~(11), \textit{xkanji\_skip\_jfm}~(12)]
+%Glues from \Param{\hyperlink{fld:xks}{xkanjiskip}}.
+%å欧æé空ç½\Param{\hyperlink{fld:xks}{xkanjiskip}}ã表ãã°ã«ã¼ï¼
+\item[\textit{processed} (13)]
+%Nodes which is already processed by \ldots.
+%\LuaTeX-ja ã®å
é¨å¦çã«ãã£ã¦æ¢ã«å¦çããããã¼ãï¼
+\item[\textit{ic\_processed} (14)]
+%<*en>
+Glues from an italic correction, but already processed in the insertion process of \textbf{JAglue}s.
+%
+%ã¤ã¿ãªãã¯è£æ£ã«ç±æ¥ããã°ã«ã¼ã§ãã£ã¦ï¼æ¢ã« \textbf{JAglue} æ¿å
¥å¦çã«ããã£ããã®ï¼
+\item[\textit{boxbdd} (15)]
+%Glues/kerns that inserted just the beginning or the ending of an hbox or a paragraph.
+%hboxã段è½ã®æåãæå¾ã«æ¿å
¥ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼
+\end{description}
-\item[\textit{ic\_processed} (9)]
-%<*en>
-Glues from an italic correction, but also already processed.
-%
%<*ja>
-ã¤ã¿ãªãã¯è£æ£ã«ç±æ¥ããã°ã«ã¼ã§ãããï¼ã¾ã å¦çããã¦ããªããã®ï¼
+ã¾ãï¼æ¿å
¥å¦çã®çµæã§ãããªã¹ãã®æåã®ãã¼ãã§ã¯ï¼\verb+\ltj@icflag+ ã®å¤ã«
+\textit{processed\_begin\_flag}~(128)ã追å ãããï¼ããã«ãã£ã¦ï¼\verb+\unhbox+ ã
+é£ç¶ããå ´åã§ããããã¯ã¹ã®å¢çããèå¥ã§ããããã«ãªã£ã¦ããï¼
%
-\item[\textit{boxbdd} (15)]
-%<*en>
-Glues/kerns that inserted just the beginning or the ending of an hbox or a paragraph.
-%
-%<*ja>
-ããæ°´å¹³ããã¯ã¹ã段è½ã®æåãæå¾ã«æ¿å
¥ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼
-%
-\end{description}
-
\attr{ltj@kcat$i$}
%<*en>
Where $i$~is a natural number which is less than~7.
@@ -4836,59 +5298,82 @@ $i$ã¯7ããå°ããèªç¶æ°ï¼
\end{list}
%<*en>
-Furthermore, \LuaTeX-ja uses several `user-defined' whatsit nodes for
+Furthermore, \LuaTeX-ja uses several user-defined whatsit nodes for
inrernal processing. All those nodes store a natural number (hence the node's
-\texttt{type} is 100). The following \verb+user_id+s are used:
+\texttt{type} is 100).
+Their \texttt{user\_id} (used for distinguish user-defined whatsits)
+are allocated by \texttt{luatexbase.newuserwhatsitid}.
%
%<*ja>
-ããã«ï¼\LuaTeX-jaã¯ããã¤ãã®ãã¦ã¼ã¶å®ç¾©ã®ãwhatsit ãã¼ããå
é¨å¦çã«ç¨ããï¼
-ãããã®å
¨ã¦ã®ãã¼ãã¯èªç¶æ°ãæ ¼ç´ãã¦ããï¼ãããã£ã¦ãã¼ãã®\texttt{type}ã¯
-100ã§ããï¼ï¼æ¬¡ã® \verb+user_id+ ã使ç¨ãããï¼
+ããã«ï¼\LuaTeX-jaã¯ããã¤ãã®user-defined whatsit nodeãå
é¨å¦çã«ç¨ããï¼
+ãããã®whatsitãã¼ãã® \texttt{type} ã¯100ã§ããï¼ãã¼ãã¯èªç¶æ°ãæ ¼ç´ãã¦ããï¼
+user-defined whatsitãèå¥ããããã® \texttt{user\_id} ã¯\
+\texttt{luatexbase.newuserwhatsitid} ã«ãã確ä¿ããã¦ããï¼
+ä¸ã®è¦åºãã¯åãªãèå¥ç¨ã§ãããªãï¼
%
\begin{description}
-\item[30111]
+\item[\textit{inhibitglue}]
%<*en>
Nodes for indicating that \verb+\inhibitglue+ is
specified. The \texttt{value} field of these nodes doesn't matter.
%
%<*ja>
-\verb+\inhibitglue+ ãæå®ããããã¨ã示ããã¼ãï¼ãããã®ãã¼ãã®
-\texttt{value}ãã£ã¼ã«ãã¯æå³ãæããªãï¼
+\verb+\inhibitglue+ ãæå®ããããã¨ã示ããã¼ãï¼ãããã®ãã¼ãã®\
+\texttt{value} ãã£ã¼ã«ãã¯æå³ãæããªãï¼
%
-\item[30112]
+\item[\textit{stack\_marker}]
%<*en>
Nodes for \LuaTeX-ja's stack system (see the next
subsection). The \texttt{value} field of these nodes is
- current group.
+ current group level.
%
%<*ja>
\LuaTeX-jaã®ã¹ã¿ãã¯ã·ã¹ãã ï¼æ¬¡ã®ç¯ãåç
§ï¼ã®ããã®ãã¼ãï¼
-ãããã®ãã¼ãã®\texttt{value}ãã£ã¼ã«ãã¯ç¾å¨ã®ã°ã«ã¼ãã表ãï¼
+ãããã®ãã¼ãã® \texttt{value} ãã£ã¼ã«ãã¯ç¾å¨ã®ã°ã«ã¼ããã¹ãã¬ãã«ã表ãï¼
%
-\item[30113]
+\item[\textit{char\_by\_cid}]
%<*en>
-Nodes for Japanese Characters which the callback process of
+Nodes for \textbf{JAchar} which the callback process of
\Pkg{luaotfload} won't be applied, and the character code is
- stored in the \texttt{value} field. Each node having this
- \verb+user_id+ is converted to a `glyph\_node' \emph{after}
+ stored in the \texttt{value} field. Each node of this type are
+ converted to a \textit{glyph\_node} \emph{after}
the callback process of luaotfload.
- This \verb+user_id+ is only used by the \Pkg{luatexja-otf} package.
+Nodes of this type is used in \verb+\CID+, \verb+\UTF+ and IVS support.
%
%<*ja>
-\Pkg{luaotfload}ã®ã³ã¼ã«ããã¯ã«ããå¦çãé©ç¨ãããªãåææåã®ããã®ãã¼ãã§ï¼
-\texttt{value}ãã£ã¼ã«ãã«ãã®æåã®ã³ã¼ããæ ¼ç´ããã¦ããï¼
-ãã® \verb+user_id+ ãæã¤ãã¼ãã¯ããããã\Pkg{luaotfload}ã®ã³ã¼ã«ããã¯ã®å¦çã®
-\textbf{å¾ã§}`glyph\_node'ã«å¤æãããï¼ãã® \verb+user_id+ 㯠%
-\Pkg{luatexja-otf} ããã±ã¼ã¸ã§ã®ã¿ä½¿ç¨ãããï¼
+\Pkg{luaotfload}ã®ã³ã¼ã«ããã¯ã«ããå¦çãé©ç¨ãããªã\textbf{JAchar}ã®ããã®ãã¼ãã§ï¼
+\texttt{value} ãã£ã¼ã«ãã«æåã³ã¼ããæ ¼ç´ããã¦ããï¼
+ãã®ç¨®é¡ã®ãã¼ãã¯ããããã\Pkg{luaotfload}ã®ã³ã¼ã«ããã¯ã®å¦çã®
+\emph{å¾ã§}\textit{glyph\_node}ã«å¤æãããï¼
+\verb+\CID+, \verb+\UTF+ãIVS対å¿å¦çã§ãã®ç¨®é¡ã®ãã¼ããå©ç¨ããã¦ããï¼
%
-\item[30114]
+\item[\textit{replace\_vs}]
+%<*en>
+Similar to \textit{char\_by\_cid} whatsits above.
+These nodes are for \textbf{ALchar} which the callback process of
+ \Pkg{luaotfload} won't be applied.
+%
+%<*ja>
+ä¸ã®\textit{char\_by\_cid}ã¨åæ§ã«ï¼
+ãããã®ãã¼ãã¯\Pkg{luaotfload}ã®ã³ã¼ã«ããã¯ã«ããå¦çãé©ç¨ãããªã\textbf{ALchar}ã®ã
+ ããã®ã§ããï¼
+%
+
+\item[\textit{begin\_par}]
+%<*en>
Nodes for indicating beginning of a paragraph.
A paragraph which is started by \verb+\item+ in list-like environments has a horizontal box
for its label before the actual contents. So \dots
+%
+%<*ja>
+ã段è½ã®éå§ããæå³ãããã¼ãï¼
+listç°å¢ï¼itemizeç°å¢ãªã©ã«ããã¦ï¼\verb+\item+ ã§å§ã¾ãåé
ç®ã¯â¦â¦
+%
\end{description}
+
%<*en>
These whatsits will be removed during the process of inserting \textbf{JAglue}s.
%
@@ -4905,38 +5390,39 @@ These whatsits will be removed during the process of inserting \textbf{JAglue}s.
%<*en>
\LuaTeX-ja has its own stack system, and most parameters of \LuaTeX-ja
are stored in it. To clarify the reason, imagine the parameter
-\Param{kanjiskip} is stored by a skip, and consider the following
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is stored by a skip, and consider the following
source:
%
%<*ja>
\LuaTeX-jaã¯ç¬èªã®ã¹ã¿ãã¯ã·ã¹ãã ãæã¡ï¼\LuaTeX-jaã®ã»ã¨ãã©ã®ãã©ã¡ã¼ã¿ã¯
ãããç¨ãã¦ä¿æããã¦ããï¼ãã®çç±ãæããã«ããããã«ï¼
-\Param{kanjiskip}ãã©ã¡ã¼ã¿ãã¹ãããã¬ã¸ã¹ã¿ã§ä¿æããã¦ããã¨ãï¼
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ãã©ã¡ã¼ã¿ãã¹ãããã¬ã¸ã¹ã¿ã§ä¿æããã¦ããã¨ãï¼
以ä¸ã®ã³ã¼ããèãã¦ã¿ããï¼
%
\begin{LTXexample}
\ltjsetparameter{kanjiskip=0pt}ãµããµã.%
-\setbox0=\hbox{\ltjsetparameter{kanjiskip=5pt}ã»ãã»ã}
+\setbox0=\hbox{%
+ \ltjsetparameter{kanjiskip=5pt}ã»ãã»ã}
\box0.ã´ãã´ã\par
\end{LTXexample}
%<*en>
As described in Subsection~\ref{ssec-param}, the only effective value of
-\Param{kanjiskip} in an hbox is the latest value, so the value of
-\Param{kanjiskip} which applied in the entire hbox should be 5\,pt.
-However, by the implementation method of \LuaTeX, this `5\,pt' cannot be
-known from any callbacks. In the \texttt{tex/packaging.w} (which is a
-file in the source of \LuaTeX), there are the following codes:
-%
-%<*ja>
-\ref{ssec-param}ç¯ã§è¿°ã¹ãããã«ï¼ããæ°´å¹³ããã¯ã¹ã®ä¸ã§å¹åãæã¤
-\Param{kanjiskip}ã®å¤ã¯æå¾ã«ç¾ããå¤ã®ã¿ã§ããï¼ãããã£ã¦ããã¯ã¹å
¨ä½ã«é©ç¨ããã
-\Param{kanjiskip}ã¯5\,ptã§ããã¹ãã§ããï¼ãããï¼\LuaTeX ã®å®è£
ã®ããã«ï¼
-ãã®`5\,pt'ã¯ã©ã®ã³ã¼ã«ããã¯ãããç¥ããã¨ã¯ã§ããªãï¼
-\texttt{tex/packaging.w}ï¼ããã¯\LuaTeX ã®ã½ã¼ã¹ãã¡ã¤ã«ã§ããï¼ã®ä¸ã«ï¼
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} in an hbox is the latest value, so the value of
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} which applied in the entire hbox should be 5\,pt.
+However, by the implementation method of \LuaTeX, this ``5\,pt'' cannot be
+known from any callbacks. In the \texttt{tex/packaging.w}, which is a
+file in the source of \LuaTeX, there are the following codes:
+%
+%<*ja>
+\ref{ssec-param}ç¯ã§è¿°ã¹ãããã«ï¼ããhboxã®ä¸ã§å¹åãæã¤
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã®å¤ã¯æå¾ã«ç¾ããå¤ã®ã¿ã§ããï¼ãããã£ã¦ããã¯ã¹å
¨ä½ã«é©ç¨ããã
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã¯5\,ptã§ããã¹ãã§ããï¼ãããï¼\LuaTeX ã®å®
+è£
ã観å¯ããã¨ï¼ãã®5\,ptã¨ããé·ãã¯ã©ã®ã³ã¼ã«ããã¯ãããç¥ããã¨ã¯ã§ããªããã¨ããããï¼
+\LuaTeX ã®ã½ã¼ã¹ãã¡ã¤ã«ã®1㤠\texttt{tex/packaging.w} ã®ä¸ã«ï¼
以ä¸ã®ã³ã¼ããããï¼
%
-\begin{lstlisting}
+\begin{lstlisting}[numbers=left,firstnumber=1226]
void package(int c)
{
scaled h; /* height of box */
@@ -4954,29 +5440,29 @@ void package(int c)
subtype(cur_box) = HLIST_SUBTYPE_HBOX;
\end{lstlisting}
%<*en>
-Notice that \verb+unsave+ is executed \emph{before}
-\verb+filtered_hpack+ (this is where \verb+hpack_filter+ callback is
-executed): so `5\,pt' in the above source is orphaned at
-\verb+unsave+, and hence it can't be accessed from \verb+hpack_filter+
+Notice that \texttt{unsave()} is executed \emph{before}
+\texttt{filtered\_hpack()}, where \texttt{hpack\_filter} callback is
+executed) here. So ``5\,pt'' in the above source is orphaned at
+\texttt{unsave()}, and hence it can't be accessed from \texttt{hpack\_filter}
callback.
%
%<*ja>
-\verb+unsave+ ã \verb+filtered_hpack+ï¼ãã㯠\verb+hpack_filter+ ã³ã¼ã«ããã¯ã
-å®è¡ãããã¨ããã§ããï¼ã®\textbf{åã«}å®è¡ããã¦ãããã¨ã«æ³¨æããï¼
-ãããã£ã¦ï¼ä¸è¨ã½ã¼ã¹ä¸ã§`5\,pt'㯠\verb+unsave+ ã®ã¨ããã§æ¨ã¦ããï¼
-\verb+hpack_filter+ ããã¯ã¢ã¯ã»ã¹ãããã¨ãã§ããªãï¼
+\texttt{unsave()} ã \texttt{filtered\_hpack()}ï¼ãã㯠\texttt{hpack\_filter} ã³ã¼ã«ããã¯ã
+å®è¡ãããã¨ããã§ããï¼ã®\emph{åã«}å®è¡ããã¦ãããã¨ã«æ³¨æããï¼
+ãããã£ã¦ï¼ä¸è¨ã½ã¼ã¹ä¸ã§5\,pt㯠\texttt{unsave()} ã®ã¨ããã§æ¨ã¦ããï¼
+\texttt{hpack\_filter} ã³ã¼ã«ããã¯ããã¯ã¢ã¯ã»ã¹ãããã¨ãã§ããªãï¼
%
-%\paragraph{The method}
+%\paragraph{Implementation}
%\paragraph{解決æ³}
-%\paragraph{解å³æ¹æ³}
%<*en>
The code of stack system is based on that in a post of Dev-luatex mailing list\footnote{%
\texttt{[Dev-luatex] tex.currentgrouplevel}, a post at 2008/8/19 by Jonathan Sauer.}.
%
%<*ja>
-ã¹ã¿ãã¯ã·ã¹ãã ã®ã³ã¼ãã¯Dev-luatexã¡ã¼ãªã³ã°ãªã¹ãã®ããæ稿\footnote{\texttt{[Dev-luatex] tex.currentgrouplevel}: Jonathan Sauerã«ãã2008/8/19ã®æ稿ï¼}ã
+ã¹ã¿ãã¯ã·ã¹ãã ã®ã³ã¼ãã¯Dev-luatexã¡ã¼ãªã³ã°ãªã¹ãã®ããæ稿\footnote{%
+\texttt{[Dev-luatex] tex.currentgrouplevel}: Jonathan Sauerã«ãã2008/8/19ã®æ稿ï¼}ã
ãã¼ã¹ã«ãã¦ããï¼
%
@@ -4991,7 +5477,7 @@ previous level is copied.
%
%<*ja>
æ
å ±ãä¿æããããã«ï¼2ã¤ã®\TeX ã®æ´æ°ã¬ã¸ã¹ã¿ãç¨ãã¦ããï¼
-\verb+\ltj@@stack+ ã§ã¹ã¿ãã¯ã¬ãã«ï¼\verb+\ltj@@group@level+ ã§æå¾ã®ä»£å
¥ã
+\verb+\ltj@@stack+ ã«ã¹ã¿ãã¯ã¬ãã«ï¼\verb+\ltj@@group@level+ ã«æå¾ã®ä»£å
¥ã
ãªãããæç¹ã§ã®\TeX ã®ã°ã«ã¼ãã¬ãã«ãä¿æãã¦ããï¼
ãã©ã¡ã¼ã¿ã¯\texttt{charprop\_stack\_table}ã¨ããååã®ã²ã¨ã¤ã®å¤§ããªãã¼ãã«ã«
æ ¼ç´ãããï¼ããã§ï¼\texttt{charprop\_stack\_table[$i$]}ã¯ã¹ã¿ãã¯ã¬ãã«$i$ã®
@@ -5000,38 +5486,35 @@ previous level is copied.
%
%<*en>
-To resolve the problem mentioned in `Background' above, \LuaTeX-ja uses
-another thing: When a new stack level is about to be created, a whatsit
+To resolve the problem mentioned in above paragraph ``Background'', \LuaTeX-ja uses
+another trick. When the stack level is about to be increased, a whatsit
node whose type, subtype and value are 44~(\textit{user\_defined}),
-30112, and current group level respectively is appended to the current
+\textit{stack\_marker} and the current group level respectively is appended to the current
list (we refer this node by \textit{stack\_flag}). This enables us to
know whether assignment is done just inside a hbox. Suppose that the
stack level is~$s$ and the \TeX's group level is~$t$ just after the hbox
group, then:
%
%<*ja>
-ä¸ã®ãèæ¯ãã§è¿°ã¹ãåé¡ã解決ããããã«ï¼\LuaTeX-jaã§ã¯ããä¸ã¤ã®ææ³ãå°å
¥ããï¼
-æ°ããã¹ã¿ãã¯ã¬ãã«ãçæããããã¨ããã¨ãï¼type, subtype, valueããããã
-44~(\textit{user\_defined}), 30112ï¼ããã¦ç¾å¨ã®ã°ã«ã¼ãã¬ãã«ã§ããwhatsitãã¼ã
+ä¸ã®ãèæ¯ãã§è¿°ã¹ãåé¡ã解決ããããã«ï¼\LuaTeX-jaã§ã¯æ¬¡ã®ææ³ãç¨ããï¼
+ã¹ã¿ãã¯ã¬ãã«ãå¢å ããããã¨ãï¼type, subtype, valueããããã
+44~(\textit{user\_defined}), \textit{stack\_marker}ï¼ããã¦ç¾å¨ã®ã°ã«ã¼ãã¬ãã«ã§ããwhatsitãã¼ã
ãç¾å¨ã®ãªã¹ãã«ä»ãå ããï¼ãã®ãã¼ãã\textit{stack\_flag}ã¨ããï¼ï¼
-ããã«ããï¼ããæ°´å¹³ããã¯ã¹ã®ä¸ã§ä»£å
¥ããªããããã©ãããç¥ããã¨ãå¯è½
-ã¨ãªãï¼ã¹ã¿ãã¯ã¬ãã«ã$s$ï¼ãã®æ°´å¹³ããã¯ã¹ã°ã«ã¼ãã®ç´å¾ã®\TeX ã®ã°ã«ã¼ãã¬ãã«ã
+ããã«ããï¼ããhboxã®ä¸ã§ä»£å
¥ããªããããã©ãããç¥ããã¨ãå¯è½
+ã¨ãªãï¼ã¹ã¿ãã¯ã¬ãã«ã$s$ï¼ãã®hbox groupã®ç´å¾ã®\TeX ã®ã°ã«ã¼ãã¬ãã«ã
$t$ã¨ããã¨ï¼
%
\begin{itemize}
-%<*zh>
-\item
-%
%<*en>
-\item If there is no \textit{stack\_flag} node in the list of the hbox, then
+\item If there is no \textit{stack\_flag} node in the list of the contents of the hbox, then
no assignment was occurred inside the hbox. Hence values of
parameters at the end of the hbox are stored in the stack
level~$s$.
%
%<*ja>
-\item ãããã®æ°´å¹³ããã¯ã¹ã®ãªã¹ãã®ä¸ã«\textit{stack\_flag}ãã¼ãããªããã°ï¼
- æ°´å¹³ããã¯ã¹ã®ä¸ã§ã¯ä»£å
¥ã¯èµ·ãããªãã£ãã¨ãããã¨ã«ãªãï¼
- ãããã£ã¦ï¼ãã®æ°´å¹³ããã¯ã¹ã®çµããã«ããããã©ã¡ã¼ã¿ã®å¤ã¯ã¹ã¿ãã¯ã¬ãã«$s$ã«
+\item ãããã®hboxã®ä¸èº«ã表ããªã¹ãã®ä¸ã«\textit{stack\_flag}ãã¼ãããªããã°ï¼
+ hboxã®ä¸ã§ã¯ä»£å
¥ã¯èµ·ãããªãã£ãã¨ãããã¨ã«ãªãï¼
+ ãããã£ã¦ï¼ãã®hboxã®çµããã«ããããã©ã¡ã¼ã¿ã®å¤ã¯ã¹ã¿ãã¯ã¬ãã«$s$ã«
æ ¼ç´ããã¦ããï¼
%
@@ -5043,47 +5526,215 @@ $t$ã¨ããã¨ï¼
%
%<*ja>
\item ããå¤ã$t+1$ã®\textit{stack\_flag}ãã¼ããããã°ï¼ãã®
- æ°´å¹³ããã¯ã¹ã°ã«ã¼ãã®ä¸ã§ä»£å
¥ãèµ·ãã£ããã¨ã«ãªãï¼
- ãããã£ã¦ï¼æ°´å¹³ããã¯ã¹ã®çµããã«ããããã©ã¡ã¼ã¿ã®å¤ã¯ã¹ã¿ãã¯ã¬ãã«$s+1$ã«
+ hboxã®ä¸ã§ä»£å
¥ãèµ·ãã£ããã¨ã«ãªãï¼
+ ãããã£ã¦ï¼hboxã®çµããã«ããããã©ã¡ã¼ã¿ã®å¤ã¯ã¹ã¿ãã¯ã¬ãã«$s+1$ã«
æ ¼ç´ããã¦ããï¼
%
%<*en>
\item If there are \textit{stack\_flag} nodes but all of their values
are more than~$t+1$, then an assignment was occurred in the box,
- but it is done is `more internal' group. Hence values of
+ but it is done in more internal group. Hence values of
parameters at the end of the hbox are stored in the stack
level~$s$.
%
%<*ja>
\item ãã\textit{stack\_flag}ãã¼ããããããããã®å¤ãå
¨ã¦$t+1$ãã大ãã
å ´åï¼ãã®ããã¯ã¹ã®ä¸ã§ä»£å
¥ãèµ·ãã£ããï¼ããã¯ãããå
é¨ã®ãã°ã«ã¼ãã§
- èµ·ãã£ãã¨ãããã¨ã«ãªãï¼ãããã£ã¦ï¼æ°´å¹³ããã¯ã¹ã®çµããã§ã®ãã©ã¡ã¼ã¿ã®
+ èµ·ãã£ãã¨ãããã¨ã«ãªãï¼ãããã£ã¦ï¼hboxã®çµããã§ã®ãã©ã¡ã¼ã¿ã®
å¤ã¯ã¹ã¿ãã¯ã¬ãã«$s$ã«æ ¼ç´ããã¦ããï¼
%
-\end{itemize}
+\end{itemize}
+
+%<*en>
+Note that to work this trick correctly, assignments to
+\verb+\ltj@@stack+ and \verb+\ltj@@group@level+ have to be local always,
+regardless the value of \verb+\globaldefs+.
+To solve this problem, we use another trick: the assignment
+\hbox{\verb+\directlua{tex.globaldefs=0}+} is always local.
+%
+%<*ja>
+ãã®ããªãã¯ãæ£ããåãããããã«ã¯ï¼\verb+\ltj@@stack+ 㨠\verb+\ltj@@group@level+ ã¸ã®
+代å
¥ã¯ \verb+\globaldefs+ ã®å¤ã«ããã常ã«ãã¼ã«ã«ã§ãªããã°ãªããªããã¨ã«æ³¨æããï¼
+ãã®åé¡ã¯ \hbox{\verb+\directlua{tex.globaldefs=0}+}ï¼ãã®ä»£å
¥ã¯å¸¸ã«ãã¼ã«ã«ï¼ã
+ç¨ãããã¨ã§è§£æ±ºãã¦ããï¼
+%
+
+%<*en>
+\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.
+%
+%<*ja>
+\subsection{ã¹ã¿ãã¯ã·ã¹ãã ã§ä½¿ç¨ãããé¢æ°}
+æ¬ç¯ã§ã¯ï¼ã¦ã¼ã¶ã\LuaTeX-jaã®ã¹ã¿ãã¯ã·ã¹ãã ã使ç¨ãã¦ï¼
+\TeX ã®ã°ã«ã¼ãã³ã°ã«å¾ããããª
+ç¬èªã®ãã¼ã¿ãåãæ±ãæ¹æ³ãè¿°ã¹ãï¼
+%
+
+%<*en>
+The following function can be used to store data into a stack:
+\begin{verbatim}
+luatexja.stack.set_stack_table(index, data)
+\end{verbatim}
+Any values which except \texttt{nil}~and~NaN are usable as \textit{index}.
+However, a user should use only negative integers or strings as \textit{index},
+since natural numbers are used by \LuaTeX-ja itself.
+Also, whether \textit{data} is stored locally or globally
+is determined by \texttt{luatexja.isglobal}
+(stored globally if and only if \texttt{luatexja.isglobal == 'global'}).
+%
+%<*ja>
+ã¹ã¿ãã¯ã«å¤ãè¨å®ããã«ã¯ï¼ä»¥ä¸ã®Luaé¢æ°ãå¼ã³ã ãã°è¯ãï¼
+\begin{verbatim}
+luatexja.stack.set_stack_table( index, data)
+\end{verbatim}
+ç´æçã«ã¯ï¼ã¹ã¿ãã¯ãã¼ãã«ä¸ã®ã¤ã³ããã¯ã¹\textit{index}ã®å¤ã\textit{data}ã«ããï¼ã¨ããæå³ã§ããï¼
+\textit{index}ã®å¤ã¨ãã¦ã¯ \texttt{nil} ã¨NaN以å¤ã®ä»»æã®å¤ã使ãããï¼
+èªç¶æ°ã¯\LuaTeX-jaã使ç¨ããï¼å°æ¥ã®æ¡å¼µç¨ãå«ãï¼ã®ã§ï¼
+ã¦ã¼ã¶ã使ç¨ããå ´åã¯è² ã®æ´æ°å¤ãæååã®å¤ã«ãããã¨ãæã¾ããï¼
+ã¾ãï¼ãã¼ã«ã«ã«è¨å®ããããã°ãã¼ãã«ã«è¨å®ããããã¯ï¼\texttt{luatexja.isglobal} ã®å¤ã«ä¾åãã
+ï¼ã°ãã¼ãã«ã«è¨å®ãããã®ã¯ï¼\texttt{luatexja.isglobal == 'global'} ã§ããã¡ããã©ãã®æï¼ï¼
+%
+
+%<*en>
+Stored data can be obtained as the return value of
+\begin{verbatim}
+luatexja.stack.get_stack_table(index, default, level)
+\end{verbatim}
+where \textit{level} is the stack level, which is usually the value of \verb+\ltj@@stack+,
+and \textit{default} is the default value which will be returned if no values are stored
+in the stack table whose level is \textit{level}.
+%
+%<*ja>
+ã¹ã¿ãã¯ã®å¤ã¯ï¼
+\begin{verbatim}
+luatexja.stack.get_stack_table( index, default, level)
+\end{verbatim}
+ã®æ»ãå¤ã§åå¾ã§ããï¼\textit{level}ã¯ã¹ã¿ãã¯ã¬ãã«ã§ããï¼
+é常㯠\verb+\ltj@@stack+ ã®å¤ãæå®ãããã¨ã«ãªãã ããï¼
+\textit{default}ã¯ã¬ãã«\textit{level}ã®ã¹ã¿ãã¯ã«å¤ãè¨å®ããã¦ããªãã£ãå ´åã«
+è¿ãããã©ã«ãå¤ã§ããï¼
+%
+
+\begin{figure}[tb]
+\begin{lstlisting}[numbers=left, firstnumber=380]
+\protected\def\ltj@setpar@global{%
+ \relax\ifnum\globaldefs>0\directlua{luatexja.isglobal='global'}%
+ \else\directlua{luatexja.isglobal=''}\fi
+}
+\protected\def\ltjsetparameter#1{%
+ \ltj@setpar@global\setkeys[ltj]{japaram}{#1}\ignorespaces}
+\protected\def\ltjglobalsetparameter#1{%
+ \relax\ifnum\globaldefs<0\directlua{luatexja.isglobal=''}%
+ \else\directlua{luatexja.isglobal='global'}\fi%
+ \setkeys[ltj]{japaram}{#1}\ignorespaces}
+\end{lstlisting}
+%\caption{ãã©ã¡ã¼ã¿è¨å®å½ä»¤ã®å®ç¾©}
+%\caption{Definiton of parameter setting commands}
+\label{fig:setpar-def}
+\end{figure}
%<*en>
-Note that to work this trick correctly, assignments to
-\verb+\ltj@@stack+ and \verb+\ltj@@group@level+ have to be local always,
-regardless the value of \verb+\globaldefs+.
-This problem is resolved by using
-\hbox{\verb+\directlua{tex.globaldefs=0}+} (this assignment is local).
+\subsection{Extending Parameters}
+Keys for \verb+\ltjsetparameter+~and~\verb+\ltjgetparameter+ can be extended,
+as in \Pkg{luatexja-adjust}.
%
%<*ja>
-ãã®ããªãã¯ãæ£ããåãããããã«ã¯ï¼\verb+\ltj@@stack+ 㨠\verb+\ltj@@group@level+ ã¸ã®
-代å
¥ã¯ \verb+\globaldefs+ ã®å¤ã«ããã常ã«ãã¼ã«ã«ã§ãªããã°ãªããªããã¨ã«æ³¨æããï¼
-ãã®åé¡ã¯ \hbox{\verb+\directlua{tex.globaldefs=0}+}ï¼ãã®ä»£å
¥ã¯å¸¸ã«ãã¼ã«ã«ï¼ã
-ç¨ãããã¨ã§è§£æ±ºãã¦ããï¼
+\subsection{ãã©ã¡ã¼ã¿ã®æ¡å¼µ}
+ããã§ã¯ï¼\Pkg{luatexja-adjust}ã§è¡ãªã£ã¦ããããã«ï¼
+\verb+\ltjsetparameter+,~\verb+\ltjgetparameter+ã«æå®å¯è½ãªãã¼ã追å ããæ¹æ³
+ãè¿°ã¹ãï¼
+%
+
+%<*en>
+\paragraph{Setting parameters}
+Figure~\ref{fig:setpar-def} shows the ``most outer'' definition of
+two commands,
+\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+.
+Most important part is the last \verb+\setkeys+,
+which is offered by the \Pkg{xkeyval} package.
+
+Hence, to add a key in \verb+\ltjsetparameter+, one only have to add a key
+whose prefix is \texttt{ltj} and whose family is \texttt{japaram}, as the following.
+\begin{verbatim}
+\define@key[ltj]{japaram}{...}{...}
+\end{verbatim}
+
+\verb+\ltjsetparameter+~and~\verb+\ltjglobalsetparameter+ automatically sets
+\texttt{luatexja.isglobal}. Its meaning is the following.
+\begin{align}
+ \texttt{luatexja.isglobal} =
+\begin{cases}
+ \texttt{'global'}&\text{global}\\
+ \texttt{''}&\text{local}
+\end{cases}
+\end{align}
+This is determined not only by command name
+(\verb+\ltjsetparameter+~or~\verb+\ltjglobalsetparameter+),
+but also by the value of \verb+\globaldefs+.
+%
+%<*ja>
+\paragraph{ãã©ã¡ã¼ã¿ã®è¨å®}
+\verb+\ltjsetparameter+ ã¨ï¼\verb+\ltjglobalsetparameter+ ã®å®ç¾©ã¯å³\ref{fig:setpar-def}ã®
+ã®ããã«ãªã£ã¦ããï¼
+æ¬è³ªçãªã®ã¯æå¾ã® \verb+\setkeys+ ã§ï¼ããã¯\Pkg{xkeyval}ããã±ã¼ã¸ã®æä¾ããå½ä»¤ã§ããï¼
+
+ãã®ããï¼\verb+\ltjsetparameter+ ã«æå®å¯è½ãªãã©ã¡ã¼ã¿ã追å ããã«ã¯ï¼
+ã \texttt{ltj}ï¼ã \texttt{japaram} ã¨ãããã¼ã
+\begin{verbatim}
+\define@key[ltj]{japaram}{...}{...}
+\end{verbatim}
+ã®ããã«å®ç¾©ããã°è¯ãã ãã§ããï¼
+ãªãï¼ãã©ã¡ã¼ã¿æå®ãã°ãã¼ãã«ããã¼ã«ã«ãã©ããã示ã \texttt{luatexja.isglobal} ãï¼
+\begin{align}
+ \texttt{luatexja.isglobal} =
+\begin{cases}
+ \texttt{'global'}&\text{ãã©ã¡ã¼ã¿è¨å®ã¯ã°ãã¼ãã«}\\
+ \texttt{''}&\text{ãã©ã¡ã¼ã¿è¨å®ã¯ãã¼ã«ã«}
+\end{cases}
+\end{align}
+ã¨ãã¦èªåçã«ã»ããããã\footnote{å½ä»¤ã \texttt{\textbackslash ltjglobalsetparameter} ãã©ããã ãã§ã¯
+ãªãï¼å®è¡æã® \texttt{\textbackslash globaldefs} ã®å¤ã«ãä¾åãã¦å®ã¾ãï¼}ï¼
+%
+
+%<*ja>
+\paragraph{ãã©ã¡ã¼ã¿ã®åå¾}
+ä¸æ¹ï¼\verb+\ltjgetparameter+ ã¯Luaã¹ã¯ãªããã«ãã£ã¦å®è£
ããã¦ããï¼
+å¤ãåå¾ããã®ã«è¿½å å¼æ°ã®è¦ããªããã©ã¡ã¼ã¿ã«ã¤ãã¦ã¯ï¼\verb+luatexja.unary_pars+\
+å
ã«å¦çå
容ãè¨è¿°ããé¢æ°ãå®ç¾©ããã°è¯ãï¼ä¾ãã°ï¼Luaã¹ã¯ãªããã§
+\begin{lstlisting}[numbers=left]
+function luatexja.unary_pars.hoge (t)
+ return 42
+end
+\end{lstlisting}
+ãå®è¡ããã¨ï¼\verb+\ltjgetparameter{hoge}+ 㯠\texttt{42} ã¨ãã\emph{æåå}ãè¿ãï¼
+é¢æ° \verb+luatexja.unary_pars.hoge+ ã®å¼æ°$t$ã¯ï¼\ref{ssec-stack}ç¯ã§è¿°ã¹ã
+\LuaTeX-jaã®ã¹ã¿ãã¯ã·ã¹ãã ã«ãããã¹ã¿ãã¯ã¬ãã«ã§ããï¼
+æ»ãå¤ã¯ãããªãå¤ã§ãã£ã¦ãï¼æçµçã«ã¯æååã¨ãã¦åºåããããã¨ã«æ³¨æï¼
+
+ä¸æ¹ï¼è¿½å å¼æ°ï¼\emph{æ°å¤ãã許容ããªã}ï¼ãå¿
è¦ãªãã©ã¡ã¼ã¿ã«ã¤ãã¦ã¯ï¼
+ã¾ãLuaã¹ã¯ãªããã§å¦çå
容ã®æ¬ä½ãè¨è¿°ãã¦ããï¼
+\begin{lstlisting}[numbers=left]
+function luatexja.binary_pars.fuga (c, t)
+ return tostring(c) .. ', ' .. tostring(42)
+end
+\end{lstlisting}
+å¼æ°$t$ã¯ï¼å
ã«è¿°ã¹ãéãã®ã¹ã¿ãã¯ã¬ãã«ã§ããï¼ä¸æ¹ï¼å¼æ°$c$ã¯\
+\verb+\ltjgetparameter+ ã®ç¬¬2å¼æ°ã表ãæ°å¤ã§ããï¼
+ãããããã ãã§ã¯é§ç®ã§ï¼
+\begin{verbatim}
+\ltj@@decl@array@param{fuga}
+\end{verbatim}
+ãå®è¡ãï¼\TeX ã¤ã³ã¿ã¼ãã§ã¼ã¹å´ã«
+ã\verb+\ltjgetparameter{fuga}+ ã¯è¿½å å¼æ°ãå¿
è¦ãã¨ãããã¨ãéç¥ããå¿
è¦ãããï¼
%
-%\section{Linebreak after Japanese Character}
+%\section{Linebreak after a Japanese Character}
%\section{åææåç´å¾ã®æ¹è¡}
-%\section{æ¥æå符åæè¡}
\label{sec-lbreak}
%\subsection{Reference: Behavior in \pTeX}
%\subsection{åèï¼\pTeX ã®åä½}
-%\subsection{åè: \pTeX è¡ä¸º}
%<*en>
In~\pTeX, a line break after a Japanese character doesn't emit a space,
since words are not separated by spaces in Japanese writings. However,
@@ -5101,11 +5752,11 @@ internal states are as follows:
\item State~$M$: middle of line
\item State~$K$: after a Japanese character
\end{itemize}
-The first three states---$N$, $S$~and~$M$---are as same as \TeX's input
+The first three states---$N$,~$S$, and~$M$---are as same as \TeX's input
processor. State~$K$ is similar to state~$M$, and is entered after
Japanese characters. The diagram of state transitions are indicated in
Figure~\ref{fig-ptexipro}. Note that \pTeX\ doesn't leave state~$K$
-after `beginning/ending of a group' characters.
+after ``beginning/ending of a group'' characters.
%
%<*ja>
@@ -5165,7 +5816,7 @@ after `beginning/ending of a group' characters.
(midline) edge node {5\ [\sp]} (endm)
(midline) edge [loop left] node {G, O} (midline)
(skipspc) edge node [right] {5} (ends)
- (newline) edge node {5 [{\tt\char92par}]} (endn);
+ (newline) edge node {5 [{\tt\textbackslash par}]} (endn);
\begin{scope}[red]
\path (newline) edge [bend right] node [right=25,below=3]{J} (kanji)
(midline) edge node [below]{J} (kanji)
@@ -5185,33 +5836,32 @@ after `beginning/ending of a group' characters.
\item[\textsf{G}] Beginning of group (usually \verb+{+)\\
and ending of group (usually \verb+}+).
\item[\textsf{J}] Japanese characters.
-\item[\textsf{5}] \textit{end-of-line} (usually \verb+^^J+).
+\item[\textsf{5}] \textit{end-of-line} (usually \verb+^+\verb+^J+).
\item[\textsf{10}] space (usually \sp).
\item[\textsf{O}] other characters, whose category code is in $\{3,4,6,7,8,11,12,13\}$.
-\item[\textsf{[\sp]}, \textsf{[{\tt\char92par}]}]
+\item[\textsf{[\sp]}, \textsf{[{\tt\textbackslash par}]}]
emits a space, or~\verb+\par+.
\end{description}
\end{minipage}
\begin{itemize}
-\item We omitted about category codes
-9~(\textit{ignored}), 14~(\textit{comment})~and~15~(\textit{invalid})
-from the above diagram. We also ignored the input like `\verb+^^A+' or `\verb+^+\verb+^df+'.
-\item When a character whose category code is 0 (\textit{escape character}) is seen by \TeX,
-the input processor scans a control sequence (\textsf{scan a c.s.}).
+\item We omitted about category codes
+9~(\textit{ignored}), 14~(\textit{comment}), and~15~(\textit{invalid})
+from the above diagram. We also ignored the input like ``\verb+^+\verb+^A+'' or ``\verb+^+\verb+^df+''.
+\item When a character whose category code is 0 (\textit{escape character}) is seen by \TeX,
+the input processor scans a control sequence (\textsf{scan a c.s.}).
These paths are not shown in the above diagram.
-After that, the state is changed to State~$S$ (skipping blanks) in most cases, but
+After that, the state is changed to State~$S$ (skipping blanks) in most cases, but
to State~$M$ (middle of line) sometimes.
\end{itemize}
-%\caption{State transitions of \pTeX's input processor.}
-%\caption{\pTeX ã®å
¥åå¦çé¨ã®ç¶æ
é·ç§»ï¼}
+%\caption{State transitions of \pTeX's input processor}
+%\caption{\pTeX ã®å
¥åå¦çé¨ã®ç¶æ
é·ç§»}
\label{fig-ptexipro}
\end{figure}
%\subsection{Behavior in \LuaTeX-ja}
%\subsection{\LuaTeX-jaã®åä½}
-%\subsection{\LuaTeX-jaè¡ä¸º}
%<*en>
States in the input processor of \LuaTeX\ is the same as that of \TeX,
and they can't be customized by any callbacks. Hence, we can only use
@@ -5219,22 +5869,22 @@ and they can't be customized by any callbacks. Hence, we can only use
suppress a space by a line break which is after Japanese characters.
However, \verb+token_filter+ callback cannot be used either, since a
-character in category code 5~(end-of-line) is converted into an space
+character in category code 5~(\textit{end-of-line}) is converted into an space
token \emph{in the input processor}. So we can use only the
\verb+process_input_buffer+ callback. This means that suppressing a
space must be done \emph{just before} an input line is read.
Considering these situations, handling of an end-of-line in \LuaTeX-ja are as follows:
\begin{quote}
-A character U+FFFFF (its category code is set to 14~(comment) by
+A character \texttt{U+FFFFF} (its category code is set to 14~(\textit{comment}) by
\LuaTeX-ja) is appended to an input line, \emph{before \LuaTeX\ actually
process it}, if and only if the following three conditions are satisfied:
\begin{enumerate}
\item The category code of \verb+\endlinechar+%
-\footnote{Usually, it is $\langle${return}$\rangle$
- (whose character code is 13).} is 5~(end-of-line).
-\item The category code of U+FFFFF itself is 14~(comment).
-\item The input line matches the following `regular expression':
+\footnote{Usually, it is $\langle$\textit{return}$\rangle$
+ (whose character code is 13).} is 5~(\textit{end-of-line}).
+\item The category code of \texttt{U+FFFFF} itself is 14~(\textit{comment}).
+\item The input line matches the following ``regular expression'':
\[
(\text{any char})^*(\textbf{JAchar})
\bigl(\{\text{catcode}=1\}\cup\{\text{catcode}=2\}\bigr)^*
@@ -5243,19 +5893,30 @@ process it}, if and only if the following three conditions are satisfied:
\end{quote}
\paragraph{Remark}
-The following example shows the major difference from the behavior of \pTeX:
+The following example shows the major difference from the behavior of \pTeX.
\begin{LTXexample}
+\fontspec[Ligatures=TeX]{TeX Gyre Termes}
\ltjsetparameter{autoxspacing=false}
\ltjsetparameter{jacharrange={-6}}xã
-y\ltjsetparameter{jacharrange={+6}}zã
+y\ltjsetparameter{jacharrange={+6}}zã
u
\end{LTXexample}
+It is not strange that ``ã'' does not printed in the above output.
+This is because \TeX\ Gyre\ Termes does not contain ``ã'', and because
+``ã'' in line~3 is considered as an \textbf{ALchar}.
+
+Note that there is no space before ``y'' in the output, but
+there is a space before ``u''. This follows from following reasons:
\begin{itemize}
-\item There is no space between `x' and `y', since the line~2 ends with a \textbf{JAchar} `ã'
-(this `ã' considered as an \textbf{JAchar} at the ending of line~1).
-\item There is no space between `ã' (in the line~3) and `u', since the
- line~3 ends with an \textbf{ALchar}
-(the letter `ã' considered as an \textbf{ALchar} at the ending of line~2).
+\item When line~3 is processed by \texttt{process\_input\_buffer} callback,
+``ã'' is considered as an \textbf{JAchar}.
+Since line~3 ends with an \textbf{JAchar},
+the comment character \texttt{U+FFFFF} is appended to this line,
+and hence the linebreak immediately after this line is ignored.
+\item When line~4 is processed by \texttt{process\_input\_buffer} callback,
+``ã'' is considered as an \textbf{ALchar}.
+Since line~4 ends with an \textbf{ALchar}, the linebreak immediately after this line
+emits a space.
\end{itemize}
%
@@ -5274,14 +5935,14 @@ u
以ä¸ãè¸ã¾ãï¼\LuaTeX-jaã«ããããåææåç´å¾ã®æ¹è¡æå¶ãã®å¦çã¯ï¼æ¬¡ã®ããã«ãªã£ã¦ããï¼
\begin{quote}
-åå
¥åè¡ã«å¯¾ãï¼\textbf{ãã®å
¥åè¡ãèªã¾ããåã®å
é¨ç¶æ
ã§}
-以ä¸ã®3æ¡ä»¶ãæºãããã¦ããå ´åï¼\LuaTeX-jaã¯U+FFFFFçªã®æå
+åå
¥åè¡ã«å¯¾ãï¼\emph{ãã®å
¥åè¡ãèªã¾ããåã®å
é¨ç¶æ
ã§}
+以ä¸ã®3æ¡ä»¶ãæºãããã¦ããå ´åï¼\LuaTeX-jaã¯\texttt{U+FFFFF}ã®æå
\footnote{ãã®æåã¯ã³ã¡ã³ãæåã¨ãã¦æ±ãããããã«\LuaTeX-jaå
é¨ã§è¨å®ããã¦ããï¼}
ãæ«å°¾ã«è¿½å ããï¼ãã£ã¦ï¼ãã®å ´åã«æ¹è¡ã¯ç©ºç½ã¨ã¯è¦åãããªããã¨ã¨ãªãï¼
\begin{enumerate}
\item \verb+\endlinechar+ã®æå\footnote{æ®éã¯ï¼æ¹è¡æåï¼æåã³ã¼ã13çªï¼ã§ããï¼}
-ã®ã«ãã´ãªã¼ã³ã¼ãã5~(end-of-line)ã§ããï¼
-\item U+FFFFFã®ã«ãã´ãªã¼ã³ã¼ãã14~(comment)ã§ããï¼
+ã®ã«ãã´ãªã¼ã³ã¼ãã5~(\textit{end-of-line})ã§ããï¼
+\item \texttt{U+FFFFF}ã®ã«ãã´ãªã¼ã³ã¼ãã14~(\textit{comment})ã§ããï¼
\item å
¥åè¡ã¯æ¬¡ã®ãæ£è¦è¡¨ç¾ãã«ããããã¦ããï¼
\[
(\text{any char})^*(\textbf{JAchar})
@@ -5290,49 +5951,56 @@ u
\end{enumerate}
\end{quote}
-ãã®ä»æ§ã¯ï¼åç¯ã§è¿°ã¹ã\pTeX ã®ä»æ§ã«ã§ããã ãè¿ã¥ãããã®ã¨ãªã£ã¦ããï¼æåã®æ¡ä»¶ã¯ï¼
+ãã®ä»æ§ã¯ï¼åç¯ã§è¿°ã¹ã\pTeX ã®ä»æ§ã«ã§ããã ãè¿ã¥ãããã®ã¨ãªã£ã¦ããï¼æ¡ä»¶1.ã¯ï¼
\texttt{verbatim}ç³»ç°å¢ãªã©ã®æ¥æ¬èªå¯¾å¿ãã¯ããæ¸ããªãã¦ãã¾ããããã®ãã®ã§ããï¼
-ããããªããï¼å®å
¨ã«åãæåãå®ç¾ã§ããããã§ã¯ãªãï¼
-å·®ç°ã¯ï¼æ¬¡ã®ä¾ã示ãããã«ï¼åææåã®ç¯å²ãå¤æ´ããè¡ã®æ¹è¡ã«ããã¦è¦ãããï¼
+
+ããããªããï¼\pTeX ã¨å®å
¨ã«åãæåãå®ç¾ã§ããããã§ã¯ãªãï¼
+次ã®ããã«ï¼åææåã®ç¯å²ãå¤æ´ããã¡ããã©ãã®è¡ã«ããã¦ã¯æåãç°ãªãï¼
\begin{LTXexample}
+\fontspec[Ligatures=TeX]{TeX Gyre Termes}
\ltjsetparameter{autoxspacing=false}
\ltjsetparameter{jacharrange={-6}}xã
-y\ltjsetparameter{jacharrange={+6}}zã
+y\ltjsetparameter{jacharrange={+6}}zã
u
\end{LTXexample}
-ãã\pTeX ã¨ã¾ã£ããåãæåã示ããªãã°ï¼åºåã¯
-ã\hbox{\ltjsetparameter{autoxspacing=false}x yzãu}ãã¨ãªãã¹ãã§ããï¼ãããï¼å®éã«ã¯
-ä¸ã®ããã«ç°ãªãæåã¨ãªã£ã¦ããï¼
+ä¸ã½ã¼ã¹ä¸ã®ãããã¯æ¬§ææåæ±ãã§ããï¼
+ããã§ä½¿ç¨ãã¦ãã欧æãã©ã³ã\TeX\ Gyre Termesã¯ããããå«ã¾ãªãï¼
+ãã£ã¦ï¼åºåã«ãããã¯ç¾ããªããã¨ã¯ä¸æè°ã§ã¯ãªãï¼
+ããã§ãï¼\pTeX ã¨ã¾ã£ããåãæåã示ããªãã°ï¼åºåã¯
+ã\hbox{\ltjsetparameter{autoxspacing=false}x yzãu}ãã¨ãªãã¯ãã§ããï¼ãããï¼å®éã«ã¯
+ä¸ã®ããã«ç°ãªãæåã¨ãªã£ã¦ãããï¼ããã¯ä»¥ä¸ã®çç±ã«ããï¼
\begin{itemize}
-\item 2è¡ç®ã¯ãããã¨ããåææåã§çµããï¼2è¡ç®ãå¦çããåã®æç¹ã§ã¯ï¼
- ãããã¯åææåæ±ãã§ããï¼ããï¼ç´å¾ã®æ¹è¡æåã¯ç¡è¦ãããï¼
-\item 3è¡ç®ã¯ãããã¨ãã欧ææåã§çµããï¼2è¡ç®ãå¦çããåã®æç¹ã§ã¯ï¼
- ãããã¯æ¬§ææåæ±ãã§ããï¼ããï¼ç´å¾ã®æ¹è¡æåã¯ç©ºç½ã«ç½®ãæããï¼
+\item 3è¡ç®ã \texttt{process\_input\_buffer} ã§å¦çããæç¹ã§ã¯ï¼
+ ãããã¯åææåæ±ãã§ããï¼ãã£ã¦3è¡ç®ã¯åææåã§çµãããã¨ã«ãªãï¼
+ ã³ã¡ã³ãæå \texttt{U+FFFFF} ã追å ãããï¼
+ ãã£ã¦ï¼ç´å¾ã®æ¹è¡æåã¯ç¡è¦ããããã¨ã«ãªãï¼ç©ºç½ã¯å
¥ããªãï¼
+\item 4è¡ç®ã \texttt{process\_input\_buffer} ã§å¦çããæç¹ã§ã¯ï¼
+ ãããã¯æ¬§ææåæ±ãã§ããï¼ãã£ã¦4è¡ç®ã¯æ¬§ææåã§çµãããã¨ã«ãªãï¼
+ ç´å¾ã®æ¹è¡æåã¯ç©ºç½ã«ç½®ãæããï¼
\end{itemize}
ãã®ããï¼ãã©ãã«ãé¿ããããã«ï¼åææåã®ç¯å²ã\verb+\ltjsetparameter+ã§ç·¨éããå ´åï¼
ãã®è¡ã¯ããã§æ¹è¡ããããã«ããæ¹ãããã ããï¼
%
+%<*ja>
%\section{Insertion of JFM glues, \Param{kanjiskip} and \Param{xkanjiskip}}
%\section{JFMã°ã«ã¼ã®æ¿å
¥ï¼\Param{kanjiskip}ã¨\Param{xkanjiskip}}
-%\section{JFMçè¶æå
¥ï¼\Param{kanjiskip}å\Param{xkanjiskip}}
\label{sec-jfmglue}
%\subsection{Overview}
%\subsection{æ¦è¦}
-%\subsection{æ¦è¦}
-\LuaTeX-jaã«ãããåæå¦çã°ã«ã¼ã®æ¿å
¥æ¹æ³ã¯ï¼\pTeX ã®ããã¨ã¯å
¨ãç°ãªãï¼
+\LuaTeX-jaã«ããã \textbf{JAglue} ã®æ¿å
¥æ¹æ³ã¯ï¼\pTeX ã®ããã¨ã¯å
¨ãç°ãªãï¼
\pTeX ã§ã¯æ¬¡ã®ãããªä»æ§ã§ãã£ãï¼
\begin{itemize}
\item JFMã°ã«ã¼ã®æ¿å
¥ã¯ï¼åææåã表ããã¼ã¯ã³ãå
ã«æ°´å¹³ãªã¹ãã«ï¼æåã表ãï¼ã
追å ããéç¨ã§è¡ãããï¼
-\item \Param{xkanjiskip}ã®æ¿å
¥ã¯ï¼æ°´å¹³ããã¯ã¹ã¸ã®ããã±ã¼ã¸ã³ã°ãè¡åå²åã«è¡ãããï¼
-\item \Param{kanjiskip}ã¯ãã¼ãã¨ãã¦ã¯æ¿å
¥ãããªãï¼ããã±ã¼ã¸ã³ã°ãè¡åå²ã®è¨ç®æã«
-ãåææåã表ã2ã¤ã®ã®éã«ã¯\Param{kanjiskip}ãããããã®ã¨ã¿ãªãããï¼
+\item \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯ï¼hboxã¸ã®ããã±ã¼ã¸ã³ã°ãè¡åå²åã«è¡ãããï¼
+\item \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã¯ãã¼ãã¨ãã¦ã¯æ¿å
¥ãããªãï¼ããã±ã¼ã¸ã³ã°ãè¡åå²ã®è¨ç®æã«
+ãåææåã表ã2ã¤ã®ã®éã«ã¯\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ãããããã®ã¨ã¿ãªãããï¼
\end{itemize}
-ãããï¼\LuaTeX-jaã§ã¯ï¼æ°´å¹³ããã¯ã¹ã¸ã®ããã±ã¼ã¸ã³ã°ãè¡åå²åã«å
¨ã¦ã®
-\textbf{JAglue}ï¼å³ã¡JFMã°ã«ã¼ã»\Param{xkanjiskip}ã»\Param{kanjiskip}ã®
+ãããï¼\LuaTeX-jaã§ã¯ï¼hboxã¸ã®ããã±ã¼ã¸ã³ã°ãè¡åå²åã«å
¨ã¦ã®
+\textbf{JAglue}ï¼å³ã¡JFMã°ã«ã¼ã»\Param{\hyperlink{fld:xks}{xkanjiskip}}ã»\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã®
3種é¡ãä¸åº¦ã«æ¿å
¥ãããã¨ã«ãªã£ã¦ããï¼ããã¯ï¼\LuaTeX ã«ããã¦æ¬§æã®ååã»
ã«ã¼ãã³ã°å¦çããã¼ããã¼ã¹ã«ãªã£ããã¨ã«å¯¾å¿ããå¤æ´ã§ããï¼
@@ -5343,9 +6011,8 @@ u
ã«ã¯é¢ä¿ããªããã®ãããï¼
-%\subsection{definition of a `cluster'}
+%\subsection{Definition of a Cluster}
%\subsection{ãã¯ã©ã¹ã¿ãã®å®ç¾©}
-%\subsection{âclusterâå®ä¹}
\def\OA{$\text{\sf O}_{\text{\sf A}}$}
\def\OB{$\text{\sf O}_{\text{\sf B}}$}
@@ -5355,7 +6022,7 @@ A \emph{cluster} is a list of consecutive nodes in one of the following forms,
with the \textit{id} of it:
%
%<*ja>
-\textbf{ã¯ã©ã¹ã¿}ã¯ä»¥ä¸ã®å½¢ã®ãã¡ã®ã©ããã²ã¨ã¤ãã¨ãé£ç¶çãªãã¼ãã®ãªã¹ãã§ããï¼
+\emph{ã¯ã©ã¹ã¿}ã¯ä»¥ä¸ã®å½¢ã®ãã¡ã®ã©ããã²ã¨ã¤ãã¨ãé£ç¶çãªãã¼ãã®ãªã¹ãã§ããï¼
%
\begin{enumerate}
%<*en>
@@ -5366,7 +6033,7 @@ with the \textit{id} of it:
%
%<*ja>
\item ãã® \verb+\ltj@icflag+ ã®å¤ã$[3,15)$ã«å
¥ããã¼ãã®ãªã¹ãï¼
- ãããã®ãã¼ãã¯ããæ¢ã«ããã±ã¼ã¸ã³ã°ãããæ°´å¹³ããã¯ã¹ãã \verb+\unhbox+ ã§
+ ãããã®ãã¼ãã¯ããæ¢ã«ããã±ã¼ã¸ã³ã°ãããhboxãã \verb+\unhbox+ ã§
ã¢ã³ããã¯ããããã®ã§ããï¼
ãã®\textit{id}ã¯\textit{id\_pbox}ã§ããï¼
%
@@ -5434,7 +6101,7 @@ The \textit{id} is \textit{id\_hlist} if the node is an
%<*ja>
\item ããã¯ã¹æ§ã®ãã¼ãï¼ã¤ã¾ãæ°´å¹³ããã¯ã¹ï¼åç´ããã¯ã¹ï¼ç½«ç· (\verb+\vrule+)ï¼
ããã¦\textit{unset\_node}ï¼
- ãã®\textit{id}ã¯åç´ã«ç§»åãã¦ããªãæ°´å¹³ããã¯ã¹ãªãã°\textit{id\_hlist}ï¼
+ ãã®\textit{id}ã¯åç´ã«ç§»åãã¦ããªãhboxãªãã°\textit{id\_hlist}ï¼
ããã§ãªããã°\textit{id\_box\_like}ã¨ãªãï¼
%
@@ -5470,7 +6137,7 @@ $\mathit{Np}.\mathit{id}$ã®æå³ãè¿°ã¹ãã¨ã¨ãã«ï¼
$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®åææåã表ãã¦ãã
\textit{glyph\_node}ãã®ãã®ã§ããï¼
\item[\textit{id\_glyph}] åææåã表ãã¦ããªã\textit{glyph\_node}~$p$ï¼\\
-å¤ãã®å ´åï¼$p$ã¯æ¬§ææåãæ ¼ç´ãã¦ãããï¼`ffi'ãªã©ã®ååã«ãã£ã¦ä½ããã
+å¤ãã®å ´åï¼$p$ã¯æ¬§ææåãæ ¼ç´ãã¦ãããï¼ãffiããªã©ã®ååã«ãã£ã¦ä½ããã
\textit{glyph\_node}ã§ããå¯è½æ§ãããï¼
åè
ã®å ´åï¼$\mathit{Np}.\mathit{head}$,~$\mathit{Np}.\mathit{tail} = p$ã§ããï¼
ä¸æ¹ï¼å¾è
ã®å ´åï¼
@@ -5483,7 +6150,7 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®åææå
\item[\textit{id\_math}] ã¤ã³ã©ã¤ã³æ°å¼ï¼\\
便å®çã«ï¼$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¨ãã«
ãæåã³ã¼ã$-1$ã®æ¬§ææåãã¨ããï¼
-\item[\textit{id\_hlist}] 縦æ¹åã«ã·ããããã¦ããªãæ°´å¹³ããã¯ã¹ï¼\\
+\item[\textit{id\_hlist}] 縦æ¹åã«ã·ããããã¦ããªãhboxï¼\\
ãã®å ´åï¼$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ãããã$p$ã®å
容ã表ããªã¹ãã®ï¼
å
é ã»æ«å°¾ã®ãã¼ãã§ããï¼
\begin{itemize}
@@ -5491,10 +6158,12 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®åææå
\begin{verbatim}
\hbox{\hbox{abc}...\hbox{\lower1pt\hbox{xyz}}}
\end{verbatim}
-ã®ããã«ï¼$p$ã®å
容ãå¥ã®æ°´å¹³ããã¯ã¹ã§éå§ã»çµäºãã¦ããå¯è½æ§ãååããå¾ãï¼ãã®ãããªå ´åï¼
-$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®åºã¯ï¼\textbf{åç´æ¹åã«ã·ããããã¦ããªã}æ°´å¹³ããã¯ã¹ã®
+ã®ããã«ï¼$p$ã®å
容ãå¥ã®hboxã§éå§ã»çµäºãã¦ããå¯è½æ§ãååããå¾ãï¼ãã®ãããªå ´åï¼
+$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®åºã¯ï¼
+\emph{åç´æ¹åã«ã·ããããã¦ããªã}hboxã®
å ´åã ãå
é¨ãå帰çã«æ¢ç´¢ããï¼ä¾ãã°ä¸ã®ä¾ã§ã¯ï¼$\mathit{Np}.\mathit{head}$ã¯æåãaãã表ããã¼ãã§ããï¼
-ä¸æ¹$\mathit{Np}.\mathit{tail}$ã¯åç´æ¹åã«ã·ãããããæ°´å¹³ããã¯ã¹ï¼\verb+\lower1pt\hbox{xyz}+ã«å¯¾å¿ãããã¼ãã§ããï¼
+ä¸æ¹$\mathit{Np}.\mathit{tail}$ã¯åç´æ¹åã«ã·ãããããhboxï¼
+\verb+\lower1pt\hbox{xyz}+ ã«å¯¾å¿ãããã¼ãã§ããï¼
\item ã¾ãï¼å
é ã«ã¢ã¯ã»ã³ãä»ãã®æåããããï¼æ«å°¾ã«ã¤ã¿ãªãã¯è£æ£ç¨ã®ã«ã¼ã³ã
æ¥ããã¨ãããå¾ãï¼ãã®å ´åã¯ï¼ã¯ã©ã¹ã¿ã®å®ç¾©ã®ã¨ããã«ããã£ãããã«ï¼ãããã¯ç¡è¦ãã¦ç®åºãè¡ãï¼
\item æåã»æå¾ã®ãã¼ããååã«ãã£ã¦ä½ããã\textit{glyph\_node}ã®ã¨ãã¯ï¼ããããã«å¯¾ãã¦\textit{id\_glyph}%
@@ -5523,11 +6192,11 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®åºã¯ï¼\textbf{
\textit{id}ã\textit{id\_jglyph}ã§ãããï¼\\
\textit{id}ã\textit{id\_pbox}ã§ãã£ã¦$\mathit{Np}.\mathit{head}$ã\textbf{JAchar}ã§ããã¨ãï¼
-\item[åæB] ãªã¹ãä¸ã®æ°´å¹³ããã¯ã¹ã®ä¸èº«ã®å
é ã¨ãã¦åºç¾ããåææåï¼åæAã¨ã®éãã¯ï¼ããã®åã«
-JFMã°ã«ã¼ã®æ¿å
¥ãè¡ãããªãï¼\Param{xkanjiskip},~\Param{kanjiskip}ã¯å
¥ãå¾ãï¼ãã¨ã§ããï¼\\
+\item[åæB] ãªã¹ãä¸ã®hboxã®ä¸èº«ã®å
é ã¨ãã¦åºç¾ããåææåï¼åæAã¨ã®éãã¯ï¼ããã®åã«
+JFMã°ã«ã¼ã®æ¿å
¥ãè¡ãããªãï¼\Param{\hyperlink{fld:xks}{xkanjiskip}},~\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã¯å
¥ãå¾ãï¼ãã¨ã§ããï¼\\
\textit{id}ã\textit{id\_hlist}ã\textit{id\_disc}ã§ãã£ã¦$\mathit{Np}.\mathit{head}$ã\textbf{JAchar}ã§ããã¨ãï¼
-\item[欧æ] ãªã¹ãä¸ã«ç´æ¥ï¼æ°´å¹³ããã¯ã¹ã®ä¸èº«ã¨ãã¦åºç¾ãã¦ãã欧ææåï¼æ¬¡ã®3ã¤ã®å ´åã該å½ï¼
+\item[欧æ] ãªã¹ãä¸ã«ç´æ¥ï¼hboxã®ä¸èº«ã¨ãã¦åºç¾ãã¦ãã欧ææåï¼æ¬¡ã®3ã¤ã®å ´åã該å½ï¼
\begin{itemize}
\item \textit{id}ã\textit{id\_glyph}ã§ããï¼
\item \textit{id}ã\textit{id\_math}ã§ããï¼
@@ -5541,141 +6210,174 @@ JFMã°ã«ã¼ã®æ¿å
¥ãè¡ãããªãï¼\Param{xkanjiskip},~\Param{kanjiskip}
\end{description}
-\subsection{段è½ï¼æ°´å¹³ããã¯ã¹ã®å
é ãæ«å°¾}
+\subsection{段è½ï¼hboxã®å
é ãæ«å°¾}
\paragraph{å
é é¨ã®å¦ç}
-ã¾ãï¼æ®µè½ï¼æ°´å¹³ããã¯ã¹ã®ä¸çªæåã«ããã¯ã©ã¹ã¿\textit{Np}ãæ¢ç´¢ããï¼
-æ°´å¹³ããã¯ã¹ã®å ´åã¯ä½ã®åé¡ããªããï¼æ®µè½ã®å ´åã§ã¯ä»¥ä¸ã®ãã¼ãéãäºåã«èªã¿é£ã°ãã¦ããï¼
-\begin{center}
-\verb+\parindent+ç±æ¥ã®æ°´å¹³ããã¯ã¹ ($\mathit{subtype}=3$)ï¼åã³\textit{subtype}ã44~(\textit{user\_defined})ã§ãªã
-ãããªwhatsitï¼
-\end{center}
-ããã¯ï¼\verb+\parindent+ç±æ¥ã®æ°´å¹³ããã¯ã¹ãã¯ã©ã¹ã¿ãæ§æããªãããã«ããããã§ããï¼
+ã¾ãï¼æ®µè½ï¼hboxã®ä¸çªæåã«ããã¯ã©ã¹ã¿\textit{Np}ãæ¢ç´¢ããï¼
+hboxã®å ´åã¯ä½ã®åé¡ããªããï¼æ®µè½ã®å ´åã§ã¯ä»¥ä¸ã®ãã¼ãéãäºåã«èªã¿é£ã°ãã¦ããï¼
+\begin{itemize}
+\item \verb+\parindent+ ç±æ¥ã®hbox($\mathit{subtype}=3$)
+\item \textit{subtype}ã44~(\textit{user\_defined})ã§ãªããããªwhatsit
+\end{itemize}
+ããã¯ï¼\verb+\parindent+ç±æ¥ã®hboxãã¯ã©ã¹ã¿ãæ§æããªãããã«ããããã§ããï¼
次ã«ï¼\textit{Np}ã®ç´åã«ç©ºç½$g$ãå¿
è¦ãªãæ¿å
¥ããï¼
\begin{enumerate}
\item ãã®å¦çãåããããª\textit{Np}ã¯\textsf{åæA}ã§ããï¼
-\item åé¡ã®ãªã¹ããåä¸ãããã®æ®µè½ï¼\verb+\parindent+ç±æ¥ã®æ°´å¹³ããã¯ã¹ããï¼ã®å ´åã¯ï¼
-ãã®ç©ºç½$g$ã¯ãæåã³ã¼ã\texttt{'parbdd'}ã®æåãã¨\textit{Np}ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ã§ããï¼
-\item ããã§ãªãã¨ãï¼\verb+noindent+ã§éå§ããã段è½ãæ°´å¹³ããã¯ã¹ï¼ã¯ï¼
-$g$ã¯ãæåã³ã¼ã\texttt{'boxbdd'}ã®æåãã¨\textit{Np}ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ã§ããï¼
+\item åé¡ã®ãªã¹ããåä¸ãããã®æ®µè½ï¼\verb+\parindent+ ç±æ¥ã®hboxããï¼ã®å ´åã¯ï¼
+ãã®ç©ºç½$g$ã¯ãæåã³ã¼ã \texttt{'parbdd'} ã®æåãã¨\textit{Np}ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ã§ããï¼
+\item ããã§ãªãã¨ãï¼\verb+noindent+ ã§éå§ããã段è½ãhboxï¼ã¯ï¼
+$g$ã¯ãæåã³ã¼ã \texttt{'boxbdd'} ã®æåãã¨\textit{Np}ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ã§ããï¼
\end{enumerate}
ãã ãï¼ãã$g$ãglueã§ãã£ãå ´åï¼ãã®æ¿å
¥ã«ãã£ã¦\textit{Np}ã«ããè¡åå²ãæ°ãã«å¯è½ã«ãªãã¹ãã§ã¯ãªãï¼
-ããã§ï¼ä»¥ä¸ã®å ´åã«ã¯ï¼$g$ã®ç´åã«\verb+\penalty10000+ãæ¿å
¥ããï¼
+ããã§ï¼ä»¥ä¸ã®å ´åã«ã¯ï¼$g$ã®ç´åã« \verb+\penalty10000+ ãæ¿å
¥ããï¼
\begin{itemize}
\item åé¡ã«ãã¦ãããªã¹ãã段è½ã§ããï¼ãã¤
\item \textit{Np}ã®åã«ã¯äºãããã«ãã£ããªãï¼$g$ã¯glueï¼
\end{itemize}
\paragraph{æ«å°¾ã®å¦ç}
-æ«å°¾ã®å¦çã¯ï¼åé¡ã®ãªã¹ãã段è½ã®ãã®ãæ°´å¹³ããã¯ã¹ã®ãã®ãã«ãã£ã¦ç°ãªãï¼
-å¾è
ã®å ´åã¯å®¹æãï¼æå¾ã®ã¯ã©ã¹ã¿ã\textit{Nq}ã¨ããã¨ï¼\textit{Nq}ã¨ãæåã³ã¼ã\texttt{'boxbdd'}ã®æåãã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ãï¼
+æ«å°¾ã®å¦çã¯ï¼åé¡ã®ãªã¹ãã段è½ã®ãã®ãhboxã®ãã®ãã«ãã£ã¦ç°ãªãï¼
+å¾è
ã®å ´åã¯å®¹æãï¼æå¾ã®ã¯ã©ã¹ã¿ã\textit{Nq}ã¨ããã¨ï¼\textit{Nq}ã¨ãæåã³ã¼ã\
+\texttt{'boxbdd'} ã®æåãã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ãï¼
\textit{Nq}ã®ç´å¾ã«æ¿å
¥ããã®ã¿ã§ããï¼
-ä¸æ¹ï¼åè
ï¼æ®µè½ï¼ã®å ´åã¯ï¼ãªã¹ãã®æ«å°¾ã¯å¸¸ã«\verb+\penalty10000+ã¨ï¼
-\verb+\parfillskip+ç±æ¥ã®ã°ã«ã¼ãåå¨ããï¼ãã£ã¦ï¼æå¾ã®ã¯ã©ã¹ã¿\textit{Np}ã¯
-ãã®\verb+\parfillskip+ç±æ¥ã®ã°ã«ã¼ã¨ãªãï¼å®è³ªçãªä¸èº«ã®æå¾ã¯ãã®1ã¤åã®ã¯ã©ã¹ã¿\textit{Nq}ã¨ãªãï¼
-\begin{enumerate}
-\item ã¾ã\textit{Nq}ã®ç´å¾ã«ï¼å¾ã«è¿°ã¹ãï¼\textsf{line-end~[E]}ã«ãã£ã¦å®ã¾ã空ç½ãæ¿å
¥ããï¼
-\item 次ã«ï¼æ®µè½ã®æå¾ã®ãé常ã®åææå${}+{}$å¥ç¹ããç¬ç«ããè¡ã¨ãªãã®ãé²ãããã«ï¼
+ä¸æ¹ï¼åè
ï¼æ®µè½ï¼ã®å ´åã¯ï¼ãªã¹ãã®æ«å°¾ã¯å¸¸ã« \verb+\penalty10000+ ã¨ï¼
+\verb+\parfillskip+ ç±æ¥ã®ã°ã«ã¼ãåå¨ããï¼%ãã£ã¦ï¼æå¾ã®ã¯ã©ã¹ã¿\textit{Np}ã¯
+%ãã® \verb+\parfillskip+ ç±æ¥ã®ã°ã«ã¼ã¨ãªãï¼å®è³ªçãªä¸èº«ã®æå¾ã¯ãã®1ã¤åã®ã¯ã©ã¹ã¿\textit{Nq}ã¨ãªãï¼
+段è½ã®æå¾ã®ãé常ã®åææå${}+{}$å¥ç¹ããç¬ç«ããè¡ã¨ãªãã®ãé²ãããã«ï¼
\Param{jcharwidowpenalty}ã®å¤ã®åã ãé©åãªå ´æã®ããã«ãã£ãå¢ããï¼
-ããã«ãã£éãå¢ããå ´æã¯ï¼\textit{head}ã\textbf{JAchar}ã§ããï¼ãã¤ãã®æåã®\Param{kcatcode}ãå¶æ°ã§ãããããª
-æå¾ã®ã¯ã©ã¹ã¿ã®ç´åã«ãããã®ãã¡ã§ãã\footnote{大éæã«è¨ãã°ï¼\Param{kcatcode}ãå¥æ°ã§ãããããª\textbf{JAchar}
-ãç´ç©ã¨ãã¦èãã¦ãããã¨ã«ãªãï¼\Param{kcatcode}ã®æä¸ä½ãããã¯ãã®\Param{jcharwidowpenalty}ç¨ã«ã®ã¿å©ç¨ãããï¼}ï¼
-\end{enumerate}
+ããã«ãã£éãå¢ããå ´æã¯ï¼\textit{head}ã\textbf{JAchar}ã§ããï¼
+ãã¤ãã®æåã®\Param{kcatcode}ãå¶æ°ã§ãããããª
+æå¾ã®ã¯ã©ã¹ã¿ã®ç´åã«ãããã®ãã¡ã§ãã%
+\footnote{大éæã«è¨ãã°ï¼\Param{kcatcode}ãå¥æ°ã§ãããããª\textbf{JAchar}%
+ãç´ç©ã¨ãã¦èãã¦ãããã¨ã«ãªãï¼
+\Param{kcatcode}ã®æä¸ä½ãããã¯ãã®\Param{jcharwidowpenalty}ç¨ã«ã®ã¿å©ç¨ãããï¼}ï¼
\subsection{æ¦è¦³ã¨å
¸åä¾ï¼2ã¤ã®ãåæAãã®å ´å}
+\label{ssec-cluster-wa}
å
ã«è¿°ã¹ãããã«ï¼2ã¤ã®é£ãåã£ãã¯ã©ã¹ã¿ï¼\textit{Nq}ã¨\textit{Np}ã®éã«ã¯ï¼
ããã«ãã£ï¼\verb+\vadjust+ï¼whatsitãªã©ï¼è¡çµçã«ã¯é¢ä¿ããªããã®ãããï¼æ¨¡å¼çã«è¡¨ãã¨ï¼
\[
\Node{cluster}{\textit{Nq}}\longrightarrow
\overbrace{
-\Node{penalty}{$p$}\longrightarrow \cdots\longrightarrow \Node{whatsit}{}}^{(a)}
+\Node{penalty}{$p$}\longrightarrow \cdots\longrightarrow \Node{whatsit}{}}^{\textrm{(a)}}
\longrightarrow \Node{cluster}{\textit{Np}}
\]
ã®ããã«ãªã£ã¦ããï¼éã®(a)ã«ç¸å½ããé¨åã«ã¯ï¼ä½ã®ãã¼ãããªãå ´åããã¡ããããå¾ãï¼
ãããã¦ï¼JFMã°ã«ã¼æ¿å
¥å¾ã«ã¯ï¼ãã®2ã¯ã©ã¹ã¿éã¯æ¬¡ã®ããã«ãªãï¼
\[
- \Node{cluster}{\textit{Nq}}\longrightarrow\Node{kern}{左空ç½}\longrightarrow
+ \Node{cluster}{\textit{Nq}}\longrightarrow%\Node{kern}{左空ç½}\longrightarrow
\overbrace{
-\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow \Node{whatsit}{}}^{(a)}
-\longrightarrow \Node{glue or kern}{å³ç©ºç½}\longrightarrow \Node{cluster}{\textit{Np}}
+\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow
+\Node{whatsit}{}}^{\textrm{(a)}}\longrightarrow
+\Node{glue or kern}{\raisebox{-.2\zw}{å³ç©ºç½}}\longrightarrow
+\Node{cluster}{\textit{Np}}
\]
-以å¾ï¼\textbf{å
¸åçãªä¾ã¨ãã¦ï¼ã¯ã©ã¹ã¿\textit{Nq}ã¨\textit{Np}ãå
±ã«\textsf{\textmd{åæA}}ã§ããå ´åãè¦ã¦ãããï¼}
+以å¾ï¼\emph{å
¸åçãªä¾ã¨ãã¦ï¼ã¯ã©ã¹ã¿\textit{Nq}ã¨\textit{Np}ãå
±ã«\textsf{\textmd{åæA}}ã§ããå ´åãè¦ã¦ãããï¼}
ãã®å ´åãå
¨ã¦ã®å ´åã®åºæ¬ã¨ãªãï¼
\paragraph{ãå³ç©ºç½ãã®ç®åº}
ã¾ãï¼ãå³ç©ºç½ãã«ãããéãç®åºããï¼é常ã¯ãããï¼é£ãåã£ã2ã¤ã®åææåéã«å
¥ã空ç½éã¨ãªãï¼
\begin{description}
\item[JFMç±æ¥{[M]}] JFMã®æåã¯ã©ã¹æå®ã«ãã£ã¦å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ããï¼ãã®æ®µéã§ç©ºç½éãæªå®ç¾©ï¼æªæå®ï¼ã ã£ãå ´åï¼
- ããã©ã«ãå¤\Param{kanjiskip}ãæ¡ç¨ãããã¨ã¨ãªãã®ã§ï¼æ¬¡ã¸ï¼
+ ããã©ã«ãå¤\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ãæ¡ç¨ãããã¨ã¨ãªãã®ã§ï¼æ¬¡ã¸ï¼
\begin{enumerate}
-\item ãã両ã¯ã©ã¹ã¿ã®éã§\verb+\inhibitglue+ãå®è¡ããã¦ããå ´åï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼
- 代ããã«\Param{kanjiskip}ãæ¿å
¥ããããã¨ã¨ãªãï¼æ¬¡ã¸ï¼
+\item ãã両ã¯ã©ã¹ã¿ã®é㧠\verb+\inhibitglue+ ãå®è¡ããã¦ããå ´åï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼
+ 代ããã«\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ãæ¿å
¥ããããã¨ã¨ãªãï¼æ¬¡ã¸ï¼
\item \textit{Nq}ã¨\textit{Np}ãåãJFMã»åã\texttt{jfmvar}ãã¼ã»åããµã¤ãºã®åæãã©ã³ãã§ãã£ããªãã°ï¼
- å
±éã«ä½¿ã£ã¦ããJFMå
ã§æ¿å
¥ããã空ç½ï¼ã°ã«ã¼ãã«ã¼ã³ï¼ã決ã¾ã£ã¦ããã調ã¹ãï¼
-\item 1.ã§ã2.ã§ããªãå ´åã¯ï¼\textit{Nq}ã¨\textit{Np}ãéãJFM/\texttt{jfmvar}/ãµã¤ãºã§ããï¼
+ å
±éã«ä½¿ã£ã¦ããJFMå
ã§æ¿å
¥ããã空ç½ï¼ã°ã«ã¼ãã«ã¼ã³ï¼ã決ã¾ã£ã¦ããã調ã¹ï¼æ±ºã¾ã£ã¦ããã°ãããæ¡ç¨ï¼
+\item 1.ã§ã2.ã§ããªãå ´åã¯ï¼JFMã»\texttt{jfmvar}ã»ãµã¤ãºã®3ã¤çµã¯\textit{Nq}ã¨\textit{Np}ã§ç°ãªãï¼
ãã®å ´åï¼ã¾ã
\[
-\vcenter{\halign{\hfil$#:={}$&(\inhibitglue#\inhibitglue)\cr
-gb&\textit{Nq}ã¨ãæåã³ã¼ãã{\tt'diffmet'}ã®æåãã¨ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³\cr
-ga&ãæåã³ã¼ãã{\tt'diffmet'}ã®æåãã¨\textit{Np}ã¨ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³\cr
+\vcenter{\halign{\hfil$#:={}$&\inhibitglue#\inhibitglue\cr
+gb&(\textit{Nq}ã¨ã使ç¨ãã©ã³ãã\textit{Nq}ã®ããã¨åãã§ï¼\hfil\cr
+\omit&\quad æåã³ã¼ãã\textit{Np}ã®ããã®æåãã¨ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³)\hfil\cr
+ga&(\inhibitglue ã使ç¨ãã©ã³ãã\textit{Np}ã®ããã¨åãã§ï¼\hfil\cr
+\omit&\quad æåã³ã¼ãã\textit{Nq}ã®ããã®æåãã¨\textit{Np}ã¨ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³)\hfil\cr
}}
\]
-ã¨ãã¦ï¼å·¦å´ç±æ¥ã»å³å´ç±æ¥ã®ç©ºç½ï¼ã°ã«ã¼ï¼ã«ã¼ã³ï¼ãï¼ããããã®JFMããï¼æ±ããï¼
-$\mathit{ga}$ã¨$\mathit{gb}$ã®ã©ã¡ããçæ¹ãæªå®ç¾©ã§ãããªãã°ï¼å®ç¾©ããã¦ããå´ã®å¤ããã®ã¾ã¾æ¡ç¨ããï¼
-ãã$\mathit{ga}$ã¨$\mathit{gb}$ã両æ¹æ±ºã¾ã£ã¦ãããªãã°ï¼ä¸¡è
ã®å¤ãå¹³å\footnote{\Param{differentjfm}ãã©ã¡ã¿ã®
-å¤ã«ãã£ã¦ï¼ã大ããæ¹ããå°ããæ¹ããåè¨ãã«å¤ãããã¨ãã§ããï¼}ããå¤ãæ¡ç¨ããï¼
+ã¨ãã¦ï¼åå´ã®æåã®JFMã使ã£ãæã®ç©ºç½ï¼ã°ã«ã¼ï¼ã«ã¼ã³ï¼ã¨ï¼å¾å´ã®æåã®JFMã使ã£ãæã®ãããæ±ããï¼
+
+$\mathit{gb}$,~$\mathit{ga}$ããããã«å¯¾ããã®å¤ã$d_b$,~$d_a$ã¨ããï¼
+\begin{itemize}
+\item
+$\mathit{ga}$ã¨$\mathit{gb}$ã®ä¸¡æ¹ãæªå®ç¾©ã§ãããªãã°ï¼JFMç±æ¥ã®ã°ã«ã¼ã¯æ¿å
¥ãããï¼
+\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ãæ¡ç¨ãããã¨ã¨ãªãï¼
+ã©ã¡ããçæ¹ã®ã¿ãæªå®ç¾©ã§ãããªãã°ï¼æ¬¡ã®ã¹ãããã§ãã®æªå®ç¾©ã®æ¹ã¯é·ã0ã®kernã§ï¼ã®å¤ã¯0ã§ãããã®ããã«æ±ãããï¼
+\item
+\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}ã®å¤ã \texttt{pleft}, \texttt{pright},
+ \texttt{paverage} ã®ã¨ãï¼
+ã®æå®ã«å¾ã£ã¦æ¯ä¾é
åãè¡ãï¼
+JFMç±æ¥ã®ã°ã«ã¼ï¼ã«ã¼ã³ã¯ä»¥ä¸ã®å¤ã¨ãªãï¼
+\[
+ f\left(\frac{1-d_b}2\textit{gb} + \frac{1+d_b}2\textit{ga},
+\frac{1-d_a}2\textit{gb} + \frac{1+d_a}2\textit{ga}\right)
+\]
+ããã§ï¼$f(x,y)$ã¯
+\[
+ f(x,y)=\begin{cases}
+x&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{pleft};\\
+y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{pright};\\
+(x+y)/2&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{paverage};
+\end{cases}.
+\]
+\item
+\Param{differentjfm}ããã以å¤ã®å¤ã®æã¯ï¼ã®å¤ã¯ç¡è¦ããï¼JFMç±æ¥ã®ã°ã«ã¼ï¼ã«ã¼ã³ã¯ä»¥ä¸ã®å¤ã¨ãªãï¼
+\[
+ f(\textit{gb},\textit{ga})
+\]
+ããã§ï¼$f(x,y)$ã¯
+\[
+ f(x,y)=\begin{cases}
+\min(x,y)&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{small};\\
+\max(x,y)&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{large};\\
+(x+y)/2&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{average};\\
+x+y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{both};
+\end{cases}.
+\]
+\end{itemize}
\end{enumerate}
ä¾ãã°ï¼
\begin{verbatim}
-\jfont\foo=psft:Ryumin-Light:jfm=ujis
-\jfont\bar=psft:GothicBBB-Medium:jfm=ujis
-\jfont\baz=psft:GothicBBB-Medium:jfm=ujis;jfmvar=piyo
+\jfont\foo=psft:Ryumin-Light:jfm=ujis;-kern
+\jfont\bar=psft:GothicBBB-Medium:jfm=ujis;-kern
+\jfont\baz=psft:GothicBBB-Medium:jfm=ujis;jfmvar=piyo;-kern
\end{verbatim}
ã¨ãã3ãã©ã³ããèãï¼
\[
- \overbrace{\Node{glyph}{{\tt\char92 foo}, `ã'}}^{p}
-\longrightarrow \overbrace{\Node{glyph}{{\tt\char92 bar}, `ã'}}^{q}
-\longrightarrow \overbrace{\Node{glyph}{{\tt\char92 baz}, `ã'}}^{r}
+ \overbrace{\Node{glyph}{{\tt\textbackslash foo}, `ã'}}^{p}
+\longrightarrow \overbrace{\Node{glyph}{{\tt\textbackslash bar}, `ã'}}^{q}
+\longrightarrow \overbrace{\Node{glyph}{{\tt\textbackslash baz}, `ã'}}^{r}
\]
ã¨ãã3ãã¼ããèããï¼ããããåç¬ã§ã¯ã©ã¹ã¿ããªãï¼ï¼
-ãã®å ´åï¼$p$ã¨$q$ã®éã¯ï¼å®ãã©ã³ããç°ãªãã«ãããããã(2)ã®ç¶æ³ã¨ãªãä¸æ¹ã§ï¼
-$q$ã¨$r$ã®éã¯ï¼å®ãã©ã³ããåããªã®ã«ï¼\texttt{jfmvar}ãã¼ã®å
容ãç°ãªãã®ã§(3)ã®ç¶æ³ã¨ãªãï¼
+ãã®å ´åï¼$p$ã¨$q$ã®éã¯ï¼å®ãã©ã³ããç°ãªãã«ãããããã2.ã®ç¶æ³ã¨ãªãä¸æ¹ã§ï¼
+$q$ã¨$r$ã®éã¯ï¼å®ãã©ã³ããåããªã®ã«ï¼\texttt{jfmvar} ãã¼ã®å
容ãç°ãªãã®ã§3.ã®ç¶æ³ã¨ãªãï¼
\item[\Param{kanjiskip}~{[K]}] ä¸ã®[M]ã«ããã¦ç©ºç½ãå®ã¾ããªãã£ãå ´åï¼
-\Param{kanjiskip}ã®å¤ã以ä¸ã§å®ãï¼ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
-ãã®æ®µéã«ããã¦ã¯ï¼\verb+\inhibitglue+ã¯å¹åãæããªãããï¼
+以ä¸ã§å®ããéãå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
+ãã®æ®µéã«ããã¦ã¯ï¼\verb+\inhibitglue+ ã¯å¹åãæããªãããï¼
çµæã¨ãã¦ï¼2ã¤ã®åææåéã«ã¯å¸¸ã«ä½ããã®ã°ã«ã¼ï¼ã«ã¼ã³ãæ¿å
¥ããããã¨ã¨ãªãï¼
\begin{enumerate}
\item 両ã¯ã©ã¹ã¿ï¼å³å¯ã«ã¯$\mathit{Nq}.\mathit{tail}$ï¼$\mathit{Np}.\mathit{head}$ï¼ã®ä¸èº«ã®æåã³ã¼ãã«å¯¾ãã
\Param{autospacing}ãã©ã¡ã¿ã両æ¹ã¨ãfalseã ã£ãå ´åã¯ï¼é·ã0ã®glueã¨ããï¼
-\item ã¦ã¼ã¶å´ããè¦ã\Param{kanjiskip}ãã©ã¡ã¿ã®èªç¶é·ã${\tt \char92 maxdimen}=(2^{30}-1)\,{\rm sp}$ã§
-ãªããã°ï¼\Param{kanjiskip}ãã©ã¡ã¿ã®å¤ãæã¤glueãæ¡ç¨ããï¼
-\item 2.ã§ãªãå ´åã¯ï¼\textit{Nq}, \textit{Np}ã§ä½¿ããã¦ããJFMã«æå®ããã¦ãã\Param{kanjiskip}ã®å¤ãç¨ããï¼
+\item ã¦ã¼ã¶å´ããè¦ã\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ãã©ã¡ã¿ã®èªç¶é·ã${\tt \textbackslash maxdimen}=(2^{30}-1)\,{\rm sp}$ã§
+ãªããã°ï¼\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ãã©ã¡ã¿ã®å¤ãæã¤glueãæ¡ç¨ããï¼
+\item 2.ã§ãªãå ´åã¯ï¼\textit{Nq}, \textit{Np}ã§ä½¿ããã¦ããJFMã«æå®ããã¦ãã\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã®å¤ãç¨ããï¼
ã©ã¡ããçæ¹ã®ã¯ã©ã¹ã¿ã ããåææåï¼\textsf{åæA}ã»\textsf{åæB}ï¼ã®ã¨ãã¯ï¼ãã¡ãã®ã¯ã©ã¹ã¿ã§ä½¿ããã¦ãã
JFMç±æ¥ã®å¤ã ããç¨ããï¼ãã両è
ã§ä½¿ããã¦ããJFMãç°ãªã£ãå ´åã¯ï¼ä¸ã®[M]~3.ã¨åæ§ã®æ¹æ³ãç¨ãã¦èª¿æ´ããï¼
\end{enumerate}
\end{description}
-\paragraph{ã左空ç½ãã®ç®åºã¨ããã«ä¼´ãè£æ£}
-次ã«ï¼ã左空ç½ãã«ãããéãç®åºããï¼
-\begin{description}
-\item[line-end~{[E]}]
-\textit{Nq}ã¨\textit{Np}ã®éã§è¡åå²ãèµ·ããã¨ãã«ï¼
-\textit{Nq}ã¨è¡æ«ã®éã«å
¥ã空ç½ã§ããï¼ã¶ãä¸ãçµã®çµçãªã©ã«ç¨ãããããã¨ãæå¾
ãã¦ããï¼
-\begin{enumerate}
-\item æ¢ã«ç®åºãããå³ç©ºç½ããã«ã¼ã³ã§ããå ´åã¯ï¼ã左空ç½ãã¯æ¿å
¥ãããªãï¼
-\item ãå³ç©ºç½ããglueãæªå®ç¾©ï¼é·ã0ã®glueã¨ã¿ãªãï¼ã®å ´åã¯ï¼ã左空ç½ãã¯
-\textit{Nq}ã¨ãæåã³ã¼ã\texttt{'lineend'}ã®æåãã¨ã®éã«å
¥ãã«ã¼ã³ã¨ãã¦ï¼JFMãã決å®ãããï¼
-\item 2.ã§æ±ºã¾ã£ãã左空ç½ãã®é·ãã0ã§ãªããã°ï¼ãã®åã ãå
ã»ã©ç®åºãããå³ç©ºç½ãã®èªç¶é·ãå¼ãï¼
-\end{enumerate}
-\end{description}
+%\paragraph{ã左空ç½ãã®ç®åºã¨ããã«ä¼´ãè£æ£}
+%ã左空ç½ãã¯éå»ã®ãã¼ã¸ã§ã³ã§ã¯å®ç¾©ãã¦ãããï¼ãã®ãã¼ã¸ã§ã³ã§ã¯
+%æ¿å
¥ã¯ä¸åè¡ãããªãï¼æ©è½èªä½åé¤ãã¦ããï¼ï¼
+%ãããï¼ä»æ§ã¯æµåçã§ããï¼å°æ¥å¾©æ´»ããå¯è½æ§ãããããï¼ããã¥ã¢ã«ä¸ã®è¨è¿°ã¯ä»ã®ã¨ãã極åå¤æ´ããªãï¼
\paragraph{ç¦åç¨ããã«ãã£ã®æ¿å
¥}
ã¾ãï¼
\[
- a:=(\text{\textit{Nq}{\footnotemark}ã®æåã«å¯¾ãã\Param{postbreakpenalty}ã®å¤})
-+(\text{\textit{Np}{\footnotemark}ã®æåã«å¯¾ãã\Param{prebreakpenalty}ã®å¤})
+ a:=(\text{\textit{Nq}{\footnotemark}ã®æåã«å¯¾ãã\Param{\hyperlink{fld:postbp}{postbreakpenalty}}ã®å¤})
++(\text{\textit{Np}{\footnotemark}ã®æåã«å¯¾ãã\Param{\hyperlink{fld:prebp}{prebreakpenalty}}ã®å¤})
\]
ã¨ãã\footnotetext{å³å¯ã«ã¯ãããã$\mathit{Nq}.\mathit{tail}$ï¼$\mathit{Np}.\mathit{head}$ï¼}ï¼
ããã«ãã£ã¯é常$[-10000,10000]$ã®æ´æ°å¤ãã¨ãï¼ã¾ã$\pm 10000$ã¯æ£è² ã®ç¡é大ãæå³ãããã¨ã«ãªã£ã¦ãããï¼ãã®$a$ã®
@@ -5696,20 +6398,21 @@ $a$ã¯ç¦åå¦çç¨ã«\textit{Nq}ã¨\textit{Np}ã®éã«å ããããã¹ã
\item ãå³ç©ºç½ããã«ã¼ã³ã§ããã¨ãï¼
ããã¯ã\textit{Nq}ã¨\textit{Np}ã®éã§æ¹è¡ã¯è¨±ãããªãããã¨ãæå³ãã¦ããï¼ãã®ããï¼
ãã®å ´åã¯$a\neq 0$ã§ãã£ã¦ãããã«ãã£ã®æ¿å
¥ã¯ããªãï¼
-\item ã左空ç½ããã«ã¼ã³ã¨ãã¦ãã£ã¡ãå®ç¾©ããã¦ããæï¼ãã®ã¨ãï¼ãå³ç©ºç½ãã¯ã«ã¼ã³ã§ãªãï¼ï¼
-ãã®ã左空ç½ãã®ç´å¾ã§ã®è¡åå²ã許容ããªãã¨ãããªãã®ã§ï¼$a=0$ã§ãã£ã¦ã
-\textit{penalty\_node}ãä½ã£ã¦æ¿å
¥ããï¼
-\item 以ä¸ã®ã©ãã§ããªãã¨ãã¯ï¼$a\neq 0$ãªãã°\textit{penalty\_node}ãä½ã£ã¦æ¿å
¥ããï¼
+\item ããã§ãªããªãã¨ãã¯ï¼$a\neq 0$ãªãã°\textit{penalty\_node}ãä½ã£ã¦æ¿å
¥ããï¼
+%\item ã左空ç½ããã«ã¼ã³ã¨ãã¦ãã£ã¡ãå®ç¾©ããã¦ããæï¼ãã®ã¨ãï¼ãå³ç©ºç½ãã¯ã«ã¼ã³ã§ãªãï¼ï¼
+%ãã®ã左空ç½ãã®ç´å¾ã§ã®è¡åå²ã許容ããªãã¨ãããªãã®ã§ï¼$a=0$ã§ãã£ã¦ã
+%\textit{penalty\_node}ãä½ã£ã¦æ¿å
¥ããï¼
+%\item 以ä¸ã®ã©ãã§ããªãã¨ãã¯ï¼$a\neq 0$ãªãã°\textit{penalty\_node}ãä½ã£ã¦æ¿å
¥ããï¼
\end{itemize}
\end{description}
\def\gkf#1#2#3{\sf$\displaystyle\vphantom{\Bigg(}%
- \frac{\hbox to 1\zw{#1}\hbox to 4.5\zw{\hss #2}}{\hbox{#3}}$}
+ \frac{\hbox to 4\zw{\hss#2\hss}}{\hbox{#3}}$}
\begin{table}[t]
-%\caption{Summary of JFM glues.}
-%\caption{JFM ã°ã«ã¼ã®æ¦è¦ï¼}
-%\caption{JFMè¶æ»ç»ã}
+%\caption{Summary of JFM glues}
+%\caption{JFM ã°ã«ã¼ã®æ¦è¦}
\label{tab-jfmglue}
+%\medskip
\begin{center}
\small
\begin{tabular}{c|cccccc}
@@ -5737,34 +6440,36 @@ $a$ã¯ç¦åå¦çç¨ã«\textit{Nq}ã¨\textit{Np}ã®éã«å ããããã¹ã
\end{center}
\begin{quote}
%<*en>
-Here {\small\gkf{E}{MâK}{PN}} means that
+In the table above, {\small\gkf{E}{MâK}{PN}} means that
%
%<*ja>
-ãã㧠{\small\gkf{E}{MâK}{PN}} ã¯æ¬¡ã®æå³ã§ããï¼
+ä¸ã®è¡¨ã«ããã¦ï¼{\small\gkf{E}{MâK}{PN}}ã¯æ¬¡ã®æå³ã§ããï¼
%
\begin{enumerate}
%<*en>
-\item To determine the `right-space', \LuaTeX-ja first attempts by the method `\textsf{JFM-origin~[M]}'.
-If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}'.
+\item To determine the ``right-space'', \LuaTeX-ja first attempts by the method ``\textsf{JFM-origin~[M]}''.
+If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]}''.
%
%<*ja>
\item ãå³ç©ºç½ãã決ããããã«ï¼\LuaTeX-ja ã¯ã¾ããJFMç±æ¥{[M]}ãã®æ¹æ³ã試ã¿ãï¼
ããã失æãããï¼\LuaTeX-ja ã¯ã\Param{kanjiskip}~{[K]}ãã®æ¹æ³ã試ã¿ãï¼
%
-%<*en>
-\item The `left space' between \textit{Nq}~and~\textit{Np} is determined by the method `\textsf{line-end~[E]}'.
-%
-%<*ja>
-\item \textit{Nq} 㨠\textit{Np} ã®éã®ã左空ç½ãã¯ã\textsf{line-end~[E]}ãã®
- æ¹æ³ã§æ±ºå®ãããï¼
-%
+% %<*en>
+% \item The ``left space'' between \textit{Nq}~and~\textit{Np} is
+% determined by the method ``\textsf{line-end~[E]}''.
+% %
+% %<*ja>
+% \item \textit{Nq} 㨠\textit{Np} ã®éã®ã左空ç½ãã¯ã\textsf{line-end~[E]}ãã®
+% æ¹æ³ã§æ±ºå®ãããï¼
+% %
%<*en>
-\item \LuaTeX-ja adopts the method `\textsf{P-normal~[PN]}' to adjust the penalty between two clusters for \emph{kinsoku shori}.
+\item \LuaTeX-ja adopts the method ``\textsf{P-normal~[PN]}'' to adjust the penalty
+ between two clusters for \emph{kinsoku shori}.
%
%<*ja>
-\item \LuaTeX-jaã¯2ã¤ã®ã¯ã©ã¹ã¿ã®éã®ç¦åå¦çç¨ã®ããã«ãã£ã調ç¯ããããã«ã\textsf{P-normal~[PN]}ãã®æ¹æ³ãæ¡ç¨ããï¼
+\item \LuaTeX-jaã¯2ã¤ã®ã¯ã©ã¹ã¿ã®éã®ç¦åå¦çç¨ã®ããã«ãã£ãè¨å®ããããã«ã\textsf{P-normal~[PN]}ãã®æ¹æ³ãæ¡ç¨ããï¼
%
\end{enumerate}
\end{quote}
@@ -5777,8 +6482,8 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
\textit{Nq}ã\textsf{åæA}ã§ï¼\textit{Np}ã\textsf{欧æ}ã®å ´åï¼JFMã°ã«ã¼æ¿å
¥å¦çã¯æ¬¡ã®ããã«ãã¦è¡ãããï¼
\begin{itemize}
\item ãå³ç©ºç½ãã«ã¤ãã¦ã¯ï¼ã¾ã以ä¸ã«è¿°ã¹ã\textsf{Boundary-B~[\OB]}ã«ãã空ç½ã決å®ãããã¨è©¦ã¿ãï¼
-ããã失æããå ´åã¯ï¼\textsf{\Param{xkanjiskip}~[X]}ã«ãã£ã¦å®ããï¼
-\item ã左空ç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{line-end~[E]}ããã®ã¾ã¾æ¡ç¨ããï¼ããã«ä¼´ããå³ç©ºç½ãã®è£æ£ãåãï¼
+ããã失æããå ´åã¯ï¼\textsf{\Param{\hyperlink{fld:xks}{xkanjiskip}}~[X]}ã«ãã£ã¦å®ããï¼
+%\item ã左空ç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{line-end~[E]}ããã®ã¾ã¾æ¡ç¨ããï¼ããã«ä¼´ããå³ç©ºç½ãã®è£æ£ã%åãï¼
\item ç¦åç¨ããã«ãã£ãï¼ä»¥åè¿°ã¹ã\textsf{P-normal~[PN]}ã¨åãã§ããï¼
\end{itemize}
\begin{description}
@@ -5787,27 +6492,28 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
\textsf{JFM-origin~[M]}ã®å¤ç¨®ã¨èãã¦è¯ãï¼
ããã«ãã£ã¦å®ã¾ã空ç½ã®å
¸åä¾ã¯ï¼åæã®éãæ¬å¼§ã¨æ¬§ææåã®éã«å
¥ãåè§ã¢ãã§ããï¼
\begin{enumerate}
-\item ãã両ã¯ã©ã¹ã¿ã®éã§\verb+\inhibitglue+ãå®è¡ããã¦ããå ´åï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼æ¬¡ã¸ï¼
+\item ãã両ã¯ã©ã¹ã¿ã®é㧠\verb+\inhibitglue+ ãå®è¡ããã¦ããå ´å%
+ï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼ãå³ç©ºç½ãã¯æªå®ç¾©ï¼
\item ããã§ãªããã°ï¼
-\textit{Nq}ã¨ãæåã³ã¼ãã{\tt'jcharbdd'}ã®æåãã¨ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ã¨ãã¦å®ã¾ãï¼
+\textit{Nq}ã¨ãæåã³ã¼ãã {\tt'jcharbdd'} ã®æåãã¨ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ã¨ãã¦å®ã¾ãï¼
\end{enumerate}
\item[\Param{xkanjiskip}~{[X]}]
ãã®æ®µéã§ã¯ï¼\textsf{\Param{kanjiskip}~[K]}ã®ã¨ãã¨åãããã«ï¼
-\Param{xkanjiskip}ã®å¤ã以ä¸ã§å®ãï¼ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
-ãã®æ®µéã§\verb+\inhibitglue+ã¯å¹åãæããªãã®ãåãã§ããï¼
+以ä¸ã§å®ããéããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
+\verb+\inhibitglue+ ã¯å¹åãæããªãï¼
\begin{enumerate}
-\item 以ä¸ã®ããããã®å ´åã¯ï¼\Param{xkanjiskip}ã®æ¿å
¥ã¯ææ¢ãããï¼ãããï¼å®éã«ã¯è¡åå²ã許容ããããã«ï¼é·ã0ã®glueãæ¡ç¨ããï¼
+\item 以ä¸ã®ããããã®å ´åã¯ï¼\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯ææ¢ãããï¼ãããï¼å®éã«ã¯è¡åå²ã許容ããããã«ï¼é·ã0ã®glueãæ¡ç¨ããï¼
\begin{itemize}
\item 両ã¯ã©ã¹ã¿ã«ããã¦ï¼ãããã®ä¸èº«ã®æåã³ã¼ãã«å¯¾ãã\Param{autoxspacing}ãã©ã¡ã¿ãå
±ã«falseã§ããï¼
-\item \textit{Nq}ã®ä¸èº«ã®æåã³ã¼ãã«ã¤ãã¦ï¼ãç´å¾ã¸ã®\Param{xkanjiskip}ã®æ¿å
¥ããç¦æ¢ããã¦ãã
+\item \textit{Nq}ã®ä¸èº«ã®æåã³ã¼ãã«ã¤ãã¦ï¼ãç´å¾ã¸ã®\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ããç¦æ¢ããã¦ãã
ï¼ã¤ã¾ãï¼\Param{jaxspmode}~(or \Param{alxspmode})ãã©ã¡ã¿ã2以ä¸ï¼ï¼
-\item \textit{Np}ã®ä¸èº«ã®æåã³ã¼ãã«ã¤ãã¦ï¼ãç´åã¸ã®\Param{xkanjiskip}ã®æ¿å
¥ããç¦æ¢ããã¦ãã
+\item \textit{Np}ã®ä¸èº«ã®æåã³ã¼ãã«ã¤ãã¦ï¼ãç´åã¸ã®\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ããç¦æ¢ããã¦ãã
ï¼ã¤ã¾ãï¼\Param{jaxspmode}~(or \Param{alxspmode})ãã©ã¡ã¿ãå¶æ°ï¼ï¼
\end{itemize}
-\item ã¦ã¼ã¶å´ããè¦ã\Param{xkanjiskip}ãã©ã¡ã¿ã®èªç¶é·ã${\tt \char92 maxdimen}=(2^{30}-1)\,{\rm sp}$ã§
-ãªããã°ï¼\Param{xkanjiskip}ãã©ã¡ã¿ã®å¤ãæã¤glueãæ¡ç¨ããï¼
+\item ã¦ã¼ã¶å´ããè¦ã\Param{\hyperlink{fld:xks}{xkanjiskip}}ãã©ã¡ã¿ã®èªç¶é·ã${\tt \textbackslash maxdimen}=(2^{30}-1)\,{\rm sp}$ã§
+ãªããã°ï¼\Param{\hyperlink{fld:xks}{xkanjiskip}}ãã©ã¡ã¿ã®å¤ãæã¤glueãæ¡ç¨ããï¼
\item 2.ã§ãªãå ´åã¯ï¼\textit{Nq}, \textit{Np}ï¼\textsf{åæA}/\textsf{åæB}ãªã®ã¯çæ¹ã ãï¼
-ã§ä½¿ããã¦ããJFMã«æå®ããã¦ãã\Param{xkanjiskip}ã®å¤ãç¨ããï¼
+ã§ä½¿ããã¦ããJFMã«æå®ããã¦ãã\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®å¤ãç¨ããï¼
\end{enumerate}
\end{description}
@@ -5816,8 +6522,8 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
\textsf{åæA}ã®ã¯ã©ã¹ã¿ãéã«ãªãã®ã§ï¼\textsf{Boundary-A~[\OA]}ã®é¨åãå¤ããã ãï¼
\begin{itemize}
\item ãå³ç©ºç½ãã«ã¤ãã¦ã¯ï¼ã¾ã以ä¸ã«è¿°ã¹ã\textsf{Boundary-A~[\OA]}ã«ãã空ç½ã決å®ãããã¨è©¦ã¿ãï¼
-ããã失æããå ´åã¯ï¼\textsf{\Param{xkanjiskip}~[X]}ã«ãã£ã¦å®ããï¼
-\item \textit{Nq}ãåæã§ãªãã®ã§ï¼ã左空ç½ãã¯ç®åºãããªãï¼
+ããã失æããå ´åã¯ï¼\textsf{\Param{\hyperlink{fld:xks}{xkanjiskip}}~[X]}ã«ãã£ã¦å®ããï¼
+%\item \textit{Nq}ãåæã§ãªãã®ã§ï¼ã左空ç½ãã¯ç®åºãããªãï¼
\item ç¦åç¨ããã«ãã£ã¯ï¼ä»¥åè¿°ã¹ã\textsf{P-normal~[PN]}ã¨åãã§ããï¼
\end{itemize}
\begin{description}
@@ -5826,9 +6532,9 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
\textsf{JFM-origin~[M]}ã®å¤ç¨®ã¨èãã¦è¯ãï¼
ããã«ãã£ã¦å®ã¾ã空ç½ã®å
¸åä¾ã¯ï¼æ¬§ææåã¨åæã®éãæ¬å¼§ã¨ã®éã«å
¥ãåè§ã¢ãã§ããï¼
\begin{enumerate}
-\item ãã両ã¯ã©ã¹ã¿ã®éã§\verb+\inhibitglue+ãå®è¡ããã¦ããå ´åï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼æ¬¡ã¸ï¼
+\item ãã両ã¯ã©ã¹ã¿ã®é㧠\verb+\inhibitglue+ ãå®è¡ããã¦ããå ´åï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼æ¬¡ã¸ï¼
\item ããã§ãªããã°ï¼
-ãæåã³ã¼ãã{\tt'jcharbdd'}ã®æåãã¨\textit{Np}ã¨ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ã¨ãã¦å®ã¾ãï¼
+ãæåã³ã¼ãã {\tt'jcharbdd'} ã®æåãã¨\textit{Np}ã¨ã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³ã¨ãã¦å®ã¾ãï¼
\end{enumerate}
\end{description}
@@ -5840,16 +6546,16 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
\begin{itemize}
\item ãå³ç©ºç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{Boundary-B~[\OB]}ã«ãã空ç½ã決å®ãããã¨è©¦ã¿ãï¼
ããã失æããå ´åã¯ï¼ãå³ç©ºç½ãã¯æ¿å
¥ãããªãï¼
-\item ã左空ç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{line-end~[E]}ã®ç®åºæ¹æ³ããã®ã¾ã¾æ¡ç¨ããï¼ããã«ä¼´ããå³ç©ºç½ãã®è£æ£ãåãï¼
+%\item ã左空ç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{line-end~[E]}ã®ç®åºæ¹æ³ããã®ã¾ã¾æ¡ç¨ããï¼ããã«ä¼´ããå³ç©ºç½ãã®è£æ£ãåãï¼
\item ç¦åç¨ããã«ãã£ã®å¦çã¯ï¼å¾ãã®ã¯ã©ã¹ã¿\textit{Np}ã®ç¨®é¡ã«ãã£ã¦ç°ãªãï¼
ãªãï¼$\mathit{Np}.\mathit{head}$ã¯ç¡æå³ã§ããããï¼
-ã$\mathit{Np}.\mathit{head}$ã«å¯¾ãã\Param{prebreakpenalty}ã®å¤ãã¯0ã¨ã¿ãªãããï¼è¨ãæããã°ï¼
+ã$\mathit{Np}.\mathit{head}$ã«å¯¾ãã\Param{\hyperlink{fld:prebp}{prebreakpenalty}}ã®å¤ãã¯0ã¨ã¿ãªãããï¼è¨ãæããã°ï¼
\[
- a:=(\text{\textit{Nq}{\footnotemark}ã®æåã«å¯¾ãã\Param{postbreakpenalty}ã®å¤}).
+ a:=(\text{\textit{Nq}ã®æåã«å¯¾ãã\Param{\hyperlink{fld:postbp}{postbreakpenalty}}ã®å¤}).
\]
\begin{description}
\item[ç®±] \textit{Np}ã\textsf{ç®±}ã§ãã£ãå ´åã¯ï¼ä¸¡ã¯ã©ã¹ã¿ã®éã§ã®è¡åå²ã¯
-ï¼æ示çã«ä¸¡ã¯ã©ã¹ã¿ã®éã«\verb+\penalty10000+ããã£ãå ´åãé¤ãï¼ãã¤ã許容ãããï¼ãã®ããï¼
+ï¼æ示çã«ä¸¡ã¯ã©ã¹ã¿ã®éã« \verb+\penalty10000+ ããã£ãå ´åãé¤ãï¼ãã¤ã許容ãããï¼ãã®ããï¼
ããã«ãã£å¦çã¯ï¼å¾ã«è¿°ã¹ã\textsf{P-allow~[PA]}ã\textsf{P-normal~[PN]}ã®ä»£ããã«ç¨ããããï¼
\item[ã°ã«ã¼] \textit{Np}ãã°ã«ã¼ã®å ´åï¼ããã«ãã£å¦çã¯\textsf{P-normal~[PN]}ãç¨ããï¼
\item[ã«ã¼ã³] \textit{Np}ãã«ã¼ã³ã§ãã£ãå ´åã¯ï¼ä¸¡ã¯ã©ã¹ã¿ã®éã§ã®è¡åå²ã¯
@@ -5871,7 +6577,7 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
ãå³ç©ºç½ãã®ï¼ããæªå®ç¾©ãªã\textit{Np}ã®ï¼ç´åã«æ¿å
¥ããï¼
\begin{itemize}
\item ãå³ç©ºç½ããã°ã«ã¼ã§ãªãï¼ã«ã¼ã³ãæªå®ç¾©ï¼ã§ããã¨ãï¼
-\item ã左空ç½ããã«ã¼ã³ã¨ãã¦ãã£ã¡ãå®ç¾©ããã¦ããæï¼
+%\item ã左空ç½ããã«ã¼ã³ã¨ãã¦ãã£ã¡ãå®ç¾©ããã¦ããæï¼
\end{itemize}
\item[P-suppress~{[PS]}]
@@ -5881,15 +6587,15 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
(a)é¨åã«ããã«ãã£ãåå¨ãã¦ããªãå ´åï¼
\textit{Nq}ã¨\textit{Np}ã®éã®è¡åå²ã¯å
ã
ä¸å¯è½ã®ã¯ãã ã£ãã®ã§ãããï¼
\LuaTeX-ja ã¯ãããããããè¡åå²å¯è½ã«ã¯ããªãï¼
-ãã®ããï¼ãå³ç©ºç½ããglueã§ããã°ï¼ãã®ç´åã«\verb+\penalty10000+ãæ¿å
¥ããï¼
+ãã®ããï¼ãå³ç©ºç½ããglueã§ããã°ï¼ãã®ç´åã« \verb+\penalty10000+ ãæ¿å
¥ããï¼
\end{description}
-ãªãï¼ãå³ç©ºç½ãã¯ã«ã¼ã³ï¼ã左空ç½ãã¯æªå®ç¾©ã®
+ãªãï¼ãå³ç©ºç½ãã¯ã«ã¼ã³ã®%ï¼ã左空ç½ãã¯æªå®ç¾©ã®
\[
\overbrace{\Node{glyph}{`ã'}}^{\mathit{Nq}}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
\]
ã®ãããªç¶æ³ãèããï¼
-ãã®ã¨ãï¼$a$ï¼å³ã¡ãããã®\Param{postbreakpenalty}ããããªãå¤ã§ãã£ã¦ãï¼
+ãã®ã¨ãï¼$a$ï¼å³ã¡ãããã®\Param{\hyperlink{fld:postbp}{postbreakpenalty}}ããããªãå¤ã§ãã£ã¦ãï¼
ãã®2ã¯ã©ã¹ã¿éã¯æçµçã«
\begin{equation}
\overbrace{\Node{glyph}{`ã'}}^{\mathit{Nq}}\longrightarrow
@@ -5897,7 +6603,7 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
\label{eq-gref}
\end{equation}
ã¨ãªãï¼$a$åã®ããã«ãã£ã¯æ¿å
¥ãããªããã¨ã«æ³¨æãã¦æ¬²ããï¼
-\Param{postbreakpenalty}ã¯ï¼$a$ã¯ï¼æ®ã©ã®å ´åãéè² ã®å¤ã¨èãããï¼ãã®ãããªå ´åã§ã¯
+\Param{\hyperlink{fld:postbp}{postbreakpenalty}}ã¯ï¼$a$ã¯ï¼æ®ã©ã®å ´åãéè² ã®å¤ã¨èãããï¼ãã®ãããªå ´åã§ã¯
\eqref{eq-gref}ã¨
\[
\overbrace{\Node{glyph}{`ã'}}^{\mathit{Nq}}\longrightarrow
@@ -5910,15 +6616,16 @@ If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}
\paragraph{ç®±ã»ã°ã«ã¼ã»ã«ã¼ã³ã¨åæAã®é}
\textit{Np}ã\textsf{ç®±}ã»ã°ã«ã¼ã»ã«ã¼ã³ã®ããããã§ï¼\textit{Np}ã\textsf{åæA}ã§ãã£ãå ´åã¯ï¼
-ããä¸ã®ï¼\textit{Nq}ã¨\textit{Np}ã®é åºãéã«ãªã£ã¦ããï¼å ´åã¨ã»ã¼åãã§ãããï¼ã左空ç½ãããªããªããã¨ã«ã®ã¿æ³¨æï¼
+ããä¸ã®ï¼\textit{Nq}ã¨\textit{Np}ã®é åºãéã«ãªã£ã¦ããï¼å ´åã¨åãã§ããï¼
+%ãï¼ã左空ç½ãããªããªããã¨ã«ã®ã¿æ³¨æï¼
\begin{itemize}
\item ãå³ç©ºç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{Boundary-A~[\OA]}ã«ãã空ç½ã決å®ãããã¨è©¦ã¿ãï¼
ããã失æããå ´åã¯ï¼ãå³ç©ºç½ãã¯æ¿å
¥ãããªãï¼
-\item \textit{Nq}ãåæã§ãªãã®ã§ï¼ã左空ç½ãã¯ç®åºãããªãï¼
+%\item \textit{Nq}ãåæã§ãªãã®ã§ï¼ã左空ç½ãã¯ç®åºãããªãï¼
\item ç¦åç¨ããã«ãã£ã®å¦çã¯ï¼\textit{Nq}ã®ç¨®é¡ã«ãã£ã¦ç°ãªãï¼
$\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
\[
- a:=(\text{\textit{Np}{\footnotemark}ã®æåã«å¯¾ãã\Param{prebreakpenalty}ã®å¤}).
+ a:=(\text{\textit{Np}ã®æåã«å¯¾ãã\Param{\hyperlink{fld:prebp}{prebreakpenalty}}ã®å¤}).
\]
\begin{description}
\item[ç®±] \textit{Nq}ã\textsf{ç®±}ã®å ´åã¯ï¼\textsf{P-allow~[PA]}ãç¨ããï¼
@@ -5928,12 +6635,13 @@ $\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
\end{itemize}
\paragraph{åæAã¨åæBã®éã}
-å
ã«è¿°ã¹ãããã«ï¼\textsf{åæB}ã¯æ°´å¹³ããã¯ã¹ã®ä¸èº«ã®å
é ï¼or æ«å°¾ï¼ã¨ãã¦åºç¾ãã¦ãã
+å
ã«è¿°ã¹ãããã«ï¼\textsf{åæB}ã¯hboxã®ä¸èº«ã®å
é ï¼or æ«å°¾ï¼ã¨ãã¦åºç¾ãã¦ãã
åææåã§ããï¼ãªã¹ãå
ã«ç´æ¥ãã¼ãã¨ãã¦ç¾ãã¦ããåææåï¼\textsf{åæA}ï¼ã¨ã®éãã¯ï¼
\begin{itemize}
\item \textsf{åæB}ã«å¯¾ãã¦ã¯ï¼JFMã®æåã¯ã©ã¹æå®ããå®ã¾ã空ç½
\textsf{JFM-origin~[M]}ï¼\textsf{Boundary-A~[\OA]}ï¼\textsf{Boundary-B~[\OB]}ï¼ã®æ¿å
¥ã¯è¡ãããªãï¼
-ã左空ç½ãã®ç®åºãè¡ãããªãï¼ä¾ãã°ï¼
+%ã左空ç½ãã®ç®åºãè¡ãããªãï¼
+ä¾ãã°ï¼
\begin{itemize}
\item çæ¹ã\textsf{åæA}ï¼ããçæ¹ã\textsf{åæB}ã®ã¯ã©ã¹ã¿ã®å ´åï¼
\textsf{Boundary-A~[\OA]}ã¾ãã¯\textsf{Boundary-B~[\OB]}ã®æ¿å
¥ã試ã¿ï¼ããããã¡ãªã
@@ -5943,7 +6651,7 @@ $\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
\item \textsf{åæB}ã¨ç®±ã»ã°ã«ã¼ã»ã«ã¼ã³ãé£æ¥ããã¨ãï¼ã©ã¡ããåãã¯é¢ä¿ãªãï¼ï¼éã«JFMã°ã«ã¼ã»ããã«ãã£ã®æ¿å
¥ã¯ä¸åããªãï¼
\item \textsf{åæB}ã¨\textsf{åæB}ï¼ã¾ã\textsf{åæB}ã¨\textsf{欧æ}ã¨ãé£æ¥ããæã¯ï¼ç¦åç¨ããã«ãã£æ¿å
¥å¦çã¯
\textsf{P-suppress~[PS]}ãç¨ããããï¼
-\item \textsf{åæB}ã®æåã«å¯¾ãã\Param{prebreakpenalty},~\Param{postbreakpenalty}ã®å¤ã¯ä½¿ãããï¼0ã¨ãã¦è¨ç®ãããï¼
+\item \textsf{åæB}ã®æåã«å¯¾ãã\Param{\hyperlink{fld:prebp}{prebreakpenalty}},~\Param{\hyperlink{fld:postbp}{postbreakpenalty}}ã®å¤ã¯ä½¿ãããï¼0ã¨ãã¦è¨ç®ãããï¼
\end{itemize}
@@ -5955,181 +6663,724 @@ $\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
\end{LTXexample}
\begin{itemize}
\item 1è¡ç®ã®\verb+\inhibitglue+ã¯\textsf{Boundary-B~[\OB]}ã®å¦çã®ã¿ãææ¢ããã®ã§ï¼ããªãªãã¨ãAãã®éã«ã¯
-\Param{xkanjiskip}ï¼ååã¢ãï¼ãå
¥ããã¨ã«æ³¨æï¼
-\item 2è¡ç®ã®ããªãªãã¨ãAãã®éã«ããã¦ã¯ï¼åè
ã\textsf{åæB}ã¨ãªãï¼æ°´å¹³ããã¯ã¹ã®ä¸èº«ã®æ«å°¾ã¨ãã¦ç»å ´ãã¦ããããï¼ã®ã§ï¼
-ãããã\textsf{Boundary-B~[\OB]}ã®å¦çã¯è¡ãããªãï¼ãã£ã¦ï¼\Param{xkanjiskip}ãå
¥ããã¨ã¨ãªãï¼
+\Param{\hyperlink{fld:xks}{xkanjiskip}}ï¼ååã¢ãï¼ãå
¥ããã¨ã«æ³¨æï¼
+\item 2è¡ç®ã®ããªãªãã¨ãAãã®éã«ããã¦ã¯ï¼åè
ã\textsf{åæB}ã¨ãªãï¼hboxã®ä¸èº«ã®æ«å°¾ã¨ãã¦ç»å ´ãã¦ããããï¼ã®ã§ï¼
+ãããã\textsf{Boundary-B~[\OB]}ã®å¦çã¯è¡ãããªãï¼ãã£ã¦ï¼\Param{\hyperlink{fld:xks}{xkanjiskip}}ãå
¥ããã¨ã¨ãªãï¼
\item 3è¡ç®ã§ã¯ï¼ããªãªãã®å±ããã¯ã©ã¹ã¿ã¯\textsf{åæA}ã§ããï¼ããã«ãã£ã¦ï¼
ããªãªãã¨ãAãã®éã«ã¯\textsf{Boundary-B~[\OB]}ç±æ¥ã®åè§ã¢ããå
¥ããã¨ã«ãªãï¼
\end{itemize}
+%
-\section{psft}
+%\section{Patch for the \Pkg{listings} Package}
+%\section{\Pkg{listings} ããã±ã¼ã¸ã¸ã®å¯¾å¿}
-\begin{thebibliography}{99}
- \addcontentsline{toc}{section}{\refname}
-\bibitem{texbytopic}
-Victor Eijkhout, \emph{\TeX\ by Topic, A \TeX nician's Reference}, Addison-Wesley, 1992.
-\end{thebibliography}
+%<*en>
+It is well-known that the \Pkg{listings} package outputs weird results
+for Japanese input.
+The \Pkg{listings} package makes most of letters active and assigns
+output command for each letter~(\cite{listings}).
+But Japanese characters are not included in these activated letters.
+For \pTeX{} series, there is no method to make Japanese characters active;
+a patch \Pkg{jlisting.sty}~(\cite{jlisting}) resolves the problem forcibly.
+%
+%<*ja>
+\Pkg{listings} ããã±ã¼ã¸ãï¼ãã®ã¾ã¾ã§ã¯æ¥æ¬èªãã¾ã¨ãã«åºåã§ããªããã¨
+ã¯ããç¥ããã¦ããï¼ãã¡ãã¨æ´å½¢ãã¦åºåããããã«ï¼\Pkg{listings}ããã±ã¼
+ã¸ã¯å
é¨ã§ãã»ã¨ãã©ã®æåããã¢ã¯ãã£ãã«ãï¼åæåã«å¯¾ãã¦ãã®æåã®åº
+åå½ä»¤ãå²ãå½ã¦ã¦ãã(\cite{listings})ï¼
+ãããï¼ããã§ã¢ã¯ãã£ãã«ããæåã®ä¸ã«ï¼åææ
+åããªãããã§ããï¼\pTeX ç³»åã§ã¯ï¼åææåãã¢ã¯ãã£ãã«ããææ³ããªãï¼
+\Pkg{jlisting.sty} ã¨ããããã(\cite{jlisting})ãç¨ãããã¨ã§ç¡çãã解決ãã¦ããï¼
+%
-\newpage
-\appendix
+%<*en>
+In \LuaTeX-ja, the problem is resolved by using the \verb+process_input_buffer+ callback.
+The callback function inserts the output command (active character \texttt{U+FFFFF})
+before each letter above \texttt{U+0080}.
+This method can omits the process to make all Japanese characters active
+(most of the activated characters are not used in many cases).
+%
+%<*ja>
+\LuaTeX-jaã§ã¯ï¼\verb+process_input_buffer+ ã³ã¼ã«ããã¯ãå©ç¨ãããã¨ã§ï¼
+ãåè¡ã«åºç¾ãã\texttt{U+0080}以éã®æåã«å¯¾ãã¦ï¼ãããã®åºåå½ä»¤ãåç½®ããã
+ã¨ããæ¹æ³ãã¨ã£ã¦ããï¼åºåå½ä»¤ã¨ãã¦ã¯ï¼ã¢ã¯ãã£ãæååãã \texttt{U+FFFFF} ãç¨ãã¦ããï¼
+ããã«ããï¼ï¼å
¥åã«ã¯ä½¿ç¨ããã¦ããªããããããªãï¼åææåãããã¹ã¦ã¢ã¯ãã£ãåããæéããªãï¼
+è¦éããè¯ãå®è£
ã«ãªã£ã¦ããï¼
+%
+
+
+%<*en>
+If the \Pkg{listings} package and \LuaTeX-ja were loaded,
+then the patch \Pkg{lltjp-listings} is loaded automatically at \verb+\begin{document}+.
+%
+%<*ja>
+\LuaTeX-ja ã§å©ç¨ããã \Pkg{listings} ããã±ã¼ã¸ã¸ã®ããã \Pkg{lltjp-listings} ã¯ï¼
+\Pkg{listings} ã¨\LuaTeX-jaãèªã¿è¾¼ãã§ããã°ï¼
+\verb+\begin{document}+ ã®ç®æã«ããã¦èªåçã«èªã¿è¾¼ã¾ããã®ã§ï¼é常ã¯ãã¾ã
+æèããå¿
è¦ã¯ãªãï¼
+%
+
+%\subsection{Notes}
+%\subsection{注æ}
+%<*en>
+\paragraph{Escaping to \LaTeX}
+We used the \verb+process_input_buffer+ callback to output \textbf{JAchar}s.
+But it has a drawback; any commands whose name contains a \textbf{JAchar}
+cannot be used in any ``escape to \LaTeX''.
+
+Consider the following input:
+%
+%<*ja>
+\paragraph{\LaTeX ã¸ã®ã¨ã¹ã±ã¼ã}
+æ¥æ¬èªå¯¾å¿ãè¡ãããã« \verb+process_input_buffer+ ã使ç¨ãããã¨ã§ï¼
+\texttt{texcl},~\texttt{escapeinside}ã¨ãã£ã\emph{ã\LaTeX ã¸ã®ã¨ã¹ã±ã¼ããä¸ã§ã¯ï¼
+\textbf{JAchar}ãå称ã®ä¸é¨ã«å«ãå¶å¾¡ç¶´ã¯ä½¿ç¨ä¸å¯è½}ã§ããï¼
+ä¾ãã°æ¬¡ã®ãããªå
¥åãèãããï¼
+%
+\begin{verbatim*}
+\begin{lstlisting}[escapechar=\#]
+#\ã»ã xã´ã#
+\end{lstlisting}
+\end{verbatim*}
+%The line~2 is transformed by the callback to
+%ããã§ï¼2è¡ç®ã¯ \verb+process_input_buffer+ ã®ä½ç¨ã«ããï¼
+\begin{lstlisting}[showspaces, escapechar=\!]
+#\!\IVSA FFFFF!ã»!\IVSA FFFFF !ã x!\IVSA FFFFF !ã´!\IVSA FFFFF !ã#
+\end{lstlisting}
+%<*en>
+before the line is actually processed.
+In the escape (between the character ``\verb+#+''),
+the category code of \texttt{U+FFFFF} is set to 9~(\emph{ignored}).
+Hence the control symbol ``\verb+\+\IVSA FFFFF'' will be executed,
+instead of ``\verb+\ã»ã+''.
+%
+%<*ja>
+ã¨å¤æããã¦ããï¼å®éã®å¦çã«åãããï¼
+ã\verb+#+ãã§æã¾ããã\LaTeX ã¸ã®ã¨ã¹ã±ã¼ããä¸ã§ã¯\
+\texttt{U+FFFFF} ã®ã«ãã´ãªã¼ã³ã¼ãã¯9~(\textit{ignored})ã¨ãªãã®ã§ï¼
+çµå±ã\verb+\ã»ã+ãã®ä»£ããã«
+ã\verb+\+\IVSA FFFFFãã¨ããcontrol symbolãå®è¡ããããã¨ã«ãªãï¼
+%
+
+%<*ja>
+\paragraph{ç°ä½åã»ã¬ã¯ã¿ã®æ±ã}
+\texttt{lstlisting} ç°å¢ãªã©ã®å
é¨ã«ããç°ä½åã»ã¬ã¯ã¿ãæ±ãããï¼
+\Pkg{lltjp-listings} ã§ã¯ \texttt{vsraw} 㨠\texttt{vscmd} ã¨ãã2ã¤ã®ãã¼ã追å ããï¼
+ãããï¼\Pkg{lltjp-listings} ãå®éã«ãã¼ããããã®ã¯ \verb+\begin{document}+\
+ã®ã¨ããã§ããã®ã§ï¼ããªã¢ã³ãã«å
ã§ã¯ãããã®è¿½å ãã¼ã¯ä½¿ç¨ã§ããªãï¼
+
+\texttt{vsraw}ã¯ï¼ãã¼ã«å¤ã®å¤ãã¨ããã¼ã§ããï¼æ¨æºã§ã¯falseã§ããï¼
+\begin{itemize}
+ \item trueã®å ´åã¯ï¼ç°ä½åã»ã¬ã¯ã¿ã¯ãç´åã®æåã«ç¶ãã¦ãåºåãããï¼
+ãããIVSãµãã¼ãï¼\ref{ssec-ltjotf}ç¯ï¼ãæå¹ã«ãªã£ã¦ããå ´åã¯ï¼
+以ä¸ã®ä¾ï¼å·¦å´ã¯å
¥åï¼å³å´ã¯ãã®åºåï¼ã®ããã«ãªãï¼
+\begin{LTXexample}
+\begin{lstlisting}[vsraw=true]
+èó åå¸ï¼èó 飾åºï¼è西
+\end{lstlisting}
+\end{LTXexample}
+\item falseã®å ´åã¯ï¼ç°ä½åã»ã¬ã¯ã¿ã¯é©å½ãªå½ä»¤ã«ãã£ã¦ãè¦ããå½¢ã§ãåºåãããï¼
+ã©ã®ãããªå½¢ã§åºåãããããè¦å®ããã®ã \texttt{vscmd} ãã¼ã§ããï¼
+\Pkg{lltjp-listings} ã®æ¨æºè¨å®ã§ã¯ä»¥ä¸ã®ä¾ã®å³å´ã®ããã«åºåãããï¼
+\begin{LTXexample}
+\begin{lstlisting}[vsraw=false,
+ vscmd=\ltjlistingsvsstdcmd]
+èó åå¸ï¼èó 飾åºï¼è西
+\end{lstlisting}
+\end{LTXexample}
+ã¡ãªã¿ã«ï¼æ¬ããã¥ã¡ã³ãã§ã¯æ¬¡ã®ããã«ãã¦ããï¼
+\begin{lstlisting}[numbers=left]
+\def\IVSA#1#2#3#4#5{%
+ \textcolor{blue}{\raisebox{3.5pt}{\tt%
+ \fboxsep=0.5pt\fbox{\tiny \oalign{0#1#2\crcr#3#4#5\crcr}}}}%
+}
+{\catcode`\%=11
+ \gdef\IVSB#1{\expandafter\IVSA\directlua{
+ local cat_str = luatexbase.catcodetables['string']
+ tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
+}}}
+\lstset{vscmd=\IVSB}
+\end{lstlisting}
+\end{itemize}
+æ¢å®ã®åºåå½ä»¤ã復活ããããå ´åã¯\ \verb+vsraw=\ltjlistingsvsstdcmd+\
+ã¨ããã°è¯ãï¼
+%
+
+%\subsection{Class of Characters}
+%\subsection{æå種}
+
+%Roughly speaking, the \Pkg{listings} package processes input as follows:
+%\Pkg{listings} ããã±ã¼ã¸ã®å
é¨ã§ã¯ï¼å¤§éæã«è¨ãã¨
+\begin{enumerate}
+%\item Collects \textit{letters} and \textit{digits}, which can be used for the name of identifiers.
+%\item èå¥åã¨ãã¦ä½¿ããæå (``letter'',~``digit'') ãã¡ãéããï¼
+%\item When reading an \textit{other}, outputs the collected character string (with modification, if needed).
+%\item letterã§ãdigitã§ããªãæåãç¾ããæã«ï¼åéããæååãï¼å¿
è¦ãªã修飾ãã¦ï¼åºåããï¼
+%\item Collects \textit{others}.
+%\item ä»åº¦ã¯éã«ï¼letterã§ãªãæåãã¡ãletterãç¾ããã¾ã§éããï¼
+%\item When reading a \textit{letter} or a \textit{digit}, outputs the collected character string.
+%\item letterãåºç¾ãããéããæååãåºåããï¼
+%\item Turns back to 1.
+%\item 1.ã«æ»ãï¼
+\end{enumerate}
+%<*en>
+By the above process, line breaks inside of an identifier are blocked.
+A flag \verb+\lst@ifletter+ indicates whether the previous character can be used
+for the name of identifiers or not.
+%
+%<*ja>
+ã¨ããå¦çãè¡ããã¦ããï¼ããã«ããï¼èå¥åã®éä¸ã§ã¯è¡åå²ãè¡ãããªãããã«ãªã£ã¦ããï¼
+ç´åã®æåãèå¥åã¨ãã¦ä½¿ãããå¦ã㯠\verb+\lst@ifletter+ ã¨ãããã©ã°ã«æ ¼ç´ããã¦ããï¼
+%
+
+%<*en>
+For Japanese characters, line breaks are permitted on both sides
+except for brackets, dashes, etc.
+Hence the patch \Pkg{lltjp-listings} introduces
+a new flag \verb+\lst@ifkanji+, which indicates
+whether the previous character is a Japanese character or not.
+For illustration, we introduce following classes of characters:
+%
+%<*ja>
+ãã¦ï¼æ¥æ¬èªã®å¦çã§ããï¼æ®ã©ã®åææåã®åå¾ã§ã¯è¡åå²ãå¯è½ã§ãããï¼ãã®ä¸æ¹ã§
+æ¬å¼§é¡ãé³å¼ããªã©ã§ã¯ç¦åå¦çãå¿
è¦ãªãã¨ããï¼\Pkg{lltjp-listings} ã§ã¯ï¼
+ç´åãåææåã§ãããã示ããã©ã° \verb+\lst@ifkanji+ ãæ°ãã«å°å
¥ããï¼
+以éï¼èª¬æã®ããã«ä»¥ä¸ã®ããã«æåãåé¡ããï¼
+%
+\begin{center}
+\small
+\begin{tabular}{lccccc}
+\toprule
+&Letter&Other&Kanji&Open&Close\\\midrule
+\verb+\lst@ifletter+&T&F&T&F&T\\
+\verb+\lst@ifkanji+&F&F&T&T&F\\
+%Meaning&char in an identifier&other alphabet&%
+%most of Japanese char&opening brackets&closing brackets\\
+%æå³&èå¥åä¸ã®æå&ãã®ä»æ¬§ææå&æ®ã©ã®åææå&éãæ¬å¼§é¡&éãæ¬å¼§é¡\\
+\bottomrule
+\end{tabular}
+\end{center}
+%<*en>
+Note that \textit{digits} in the \Pkg{listings} package can be Letter or
+Other according to circumstances.
+%
+%<*ja>
+ãªãï¼æ¬æ¥ã®\Pkg{listings} ããã±ã¼ã¸ã§ã®åé¡``digit''ã¯ï¼
+åºç¾ç¶æ³ã«ãã£ã¦ï¼ä¸ã®è¡¨ã®Letterã¨Otherã®ã©ã¡ãã«ããªãããï¼
+ã¾ãï¼Kanjiã¨Close㯠\verb+\lst@ifletter+ 㨠\verb+\lst@ifkanji+ ã®å¤ãä¸è´ãã¦ãããï¼
+ããã¯ééãã§ã¯ãªãï¼
+%
+
+%<*en>
+For example, let us consider the case an Open comes after a Letter.
+Since an Open represents Japanese open brackets,
+it is preferred to be permitted to insert line break after the Letter.
+Therefore, the collected character string is output in this case.
+%
+%<*ja>
+ä¾ãã°ï¼Letterã®ç´å¾ã«Openãæ¥ãå ´åãèããï¼
+æå種Openã¯åæéãæ¬å¼§é¡ãæ³å®ãã¦ããã®ã§ï¼Letterã®ç´å¾ã§ã¯è¡åå²ãå¯è½ã§ãããã¨ãæã¾ããï¼
+ãã®ããï¼ãã®å ´åã§ã¯ï¼ãã§ã«åéããã¦ããæååãåºåãããã¨ã§è¡åå²ã許容ããããã«ããï¼
+%
+
+%<*en>
+The following table summarizes $5\times 5=25$ cases:
+%
+%<*ja>
+åãããã«ï¼$5\times 5=25$éãå
¨ã¦ã«ã¤ãã¦æ¸ãã¨ï¼æ¬¡ã®ããã«ãªãï¼
+%
+\begin{center}
+\small
+\begin{tabular}{llccccc}
+\toprule
+%<*en>
+&&\multicolumn{4}{c}{Next}\\\cmidrule(lr){3-7}
+&&\hbox to 4em{\hss Letter\hss}&\hbox to 4em{\hss Other\hss}
+&\hbox to 4em{\hss Kanji\hss}&\hbox to 4em{\hss Open\hss}&Close\\\midrule
+&Letter&collects&\multicolumn{3}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
+&Other&outputs&collects&\multicolumn{2}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
+Prev&Kanji&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
+&Open&\multicolumn{5}{c}{\hrulefill \ collects\ \hrulefill}\\
+&Close&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
+%
+%<*ja>
+&&\multicolumn{4}{c}{å¾ãå´ã®æå}\\\cmidrule(lr){3-7}
+&&\hbox to 4em{\hss Letter\hss}&\hbox to 4em{\hss Other\hss}
+&\hbox to 4em{\hss Kanji\hss}&\hbox to 4em{\hss Open\hss}&Close\\\midrule
+ç´&Letter&åé&\multicolumn{3}{c}{\hrulefill \ åºå\ \hrulefill}&åé\\
+å&Other&åºå&åé&\multicolumn{2}{c}{\hrulefill \ åºå\ \hrulefill}&åé\\
+æ&Kanji&\multicolumn{4}{c}{\hrulefill \ åºå\ \hrulefill}&åé\\
+å&Open&\multicolumn{5}{c}{\hrulefill \ åé\ \hrulefill}\\
+種&Close&\multicolumn{4}{c}{\hrulefill \ åºå\ \hrulefill}&åé\\
+%
+\bottomrule
+\end{tabular}
+\end{center}
+%In the above table,
+%ä¸ã®è¡¨ã«ããã¦ï¼
+\begin{itemize}
+%\item ``outputs'' means to output the collected character string (i.e., line breaking is permitted there).
+%\item ãåºåãã¯ï¼ããã¾ã§ã«éããæååãåºåï¼âããã§è¡åå²å¯è½ï¼ãæå³ããï¼
+
+%\item ``collects'' means to append the next character to the collected character string (i.e., line breaking is prohibited there).
+%\item ãåéãã¯ï¼å¾å´ã®æåãï¼ç¾å¨åéãããæååã«è¿½å ï¼è¡åå²ä¸å¯ï¼ãæå³ããï¼
+\end{itemize}
+
+%<*en>
+Charatcers above \texttt{U+0080} \emph{except Variation Selectors}
+are classified into above 5~classes by the following rules:
+%
+%<*ja>
+\texttt{U+0080}以éã®\emph{ç°ä½åã»ã¬ã¯ã¿ä»¥å¤ã®}åæåã
+Letter, Other, Kanji, Open, Closeã®ã©ãã«å±ãããã¯æ¬¡ã«ãã£ã¦æ±ºã¾ãï¼
+%
+\begin{itemize}
+%\item \textbf{ALchar}s above \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:
+%\item \textbf{JAchar}ã«ã¤ãã¦ã¯ï¼ä»¥ä¸ã®é åºã«å¾ã£ã¦æå種ã決ããï¼
+\begin{enumerate}
+%\item Characters whose \Param{\hyperlink{fld:prebp}{prebreakpenalty}} is greater than or equal to 0 are classified as Open.
+%\item \Param{\hyperlink{fld:prebp}{prebreakpenalty}}ã0以ä¸ã®æåã¯Openæ±ãã§ããï¼
+
+%\item Characters whose \Param{\hyperlink{fld:postbp}{postbreakpenalty}} is greater than or equal to 0 are classified as Close.
+%\item \Param{\hyperlink{fld:postbp}{postbreakpenalty}}ã0以ä¸ã®æåã¯Closeæ±ãã§ããï¼
+
+%\item Characters that don't satisfy the above two conditions are classified as Kanji.
+%\item ä¸ã®3æ¡ä»¶ã®ã©ã¡ãã«ãå½ã¦ã¯ã¾ããªãã£ãæåã¯ï¼Kanjiæ±ãã§ããï¼
+\end{enumerate}
+\end{itemize}
+
+%<*en>
+The width of halfwidth kana (\texttt{U+FF61}--\texttt{U+FF9F})
+is same as the width of \textbf{ALchar};
+the width of the other \textbf{JAchar}s is double the width of \textbf{ALchar}.
+%
+%<*ja>
+ãªãï¼åè§ã«ã(U+FF61--U+FF9F)以å¤ã®\textbf{JAchar}ã¯æ¬§ææå2æååã®å¹
ãã¨ããã®ã¨ã¿ãªãããï¼
+åè§ã«ãã¯æ¬§ææå1æååã®å¹
ã¨ãªãï¼
+%
+
+%<*en>
+This classification process is executed every time a character appears in
+the \texttt{lstlisting} environment or other environments/commands.
+%
+%<*ja>
+ãããã®æå種決å®ã¯ï¼å®éã« \texttt{lstlisting} ç°å¢ãªã©ã®å
é¨ã§æåãåºã¦ãããã³ã«è¡ãããï¼
+%
+
+%<*ja>
+\section{åæã®è¡é·è£æ£æ¹æ³}
+\label{sec-adjspec}
+\Pkg{luatexja-adjust} ã§æä¾ãããåªå
é ä½ä»ãã®è¡é·èª¿æ´ã®è©³ç´°ãè¿°
+ã¹ãï¼å¤§ã¾ãã«è¿°ã¹ãã¨ï¼æ¬¡ã®ããã«ãªãï¼
+\begin{itemize}
+\item é常ã®\TeX ã®è¡åå²æ¹æ³ã«å¾ã£ã¦ï¼æ®µè½ãè¡åå²ããï¼ãã®æ®µéã§ã¯ï¼è¡
+ é·ã«å端ãåºãå ´åï¼ãã®å端åã¯\textbf{JAglue}ï¼\Param{\hyperlink{fld:xks}{xkanjiskip}}ï¼
+ \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ï¼JFMã°ã«ã¼ï¼ã¨
+ ãã以å¤ã®ã°ã«ã¼ã®å
¨ã¦ã§ï¼åªå
é ä½ãªãï¼è² æ
ãããï¼
+\item ãã®å¾ï¼\texttt{post\_linebreak\_filter} callbackã使ãï¼\emph{段
+ è½ä¸ã®åè¡ãã¨ã«}ï¼è¡æ«æåã®ä½ç½®ã調æ´ãããï¼åªå
度ä»ãã®è¡é·èª¿æ´
+ ãå®ç¾ããããã«ã°ã«ã¼ã®ä¼¸ç¸®åº¦ã調æ´ããï¼
+ ãã®å¦çã«ããã¦ã¯ï¼ã°ã«ã¼ã®èªç¶é·ã¨\textbf{JAglue}以å¤ã®
+ ã°ã«ã¼ã®ä¼¸ã³éã»ç¸®ã¿éã¯å¤æ´ããï¼å¿
è¦ã«å¿ãã¦\textbf{JAglue}ã®ä¼¸ã³éã»ç¸®ã¿éã®ã¿ã
+ å¤æ´ããè¨è¨ã¨ããï¼
+
+\Pkg{luatexja-adjust} ã®ä½ç¨ã¯ï¼ãã®å¦çãè¡ãcallbackã追å ããã ãã§ããï¼
+ ãã®ç« ã®æ®ãã§ã¯callbackã§ã®å¦çã«ã¤ãã¦è§£èª¬ããï¼
+\end{itemize}
+
+\paragraph{æºåï¼åè¨ä¼¸ç¸®éã®è¨ç®}
+ã°ã«ã¼ã®ä¼¸ç¸®åº¦ï¼\texttt{plus} ã \texttt{minus} ã§æå®ããã¦ããå¤ï¼ã«ã¯ï¼
+æéå¤ã®ä»ã«ï¼\texttt{fi}ï¼\texttt{fil}ï¼\texttt{fill}ï¼\texttt{filll}ã¨
+ãã4ã¤ã®ç¡é大ã¬ãã«ï¼å¾ãã®æ¹ã»ã©å¤§ããï¼ãããï¼è¡ã®èª¿æ´ã«
+\texttt{fi} ãªã©ã®\emph{ç¡é大ã¬ãã«ã®ä¼¸ç¸®åº¦ãç¨ãããã¦ããå ´åã¯ï¼ã
+ã®è¡ã«å¯¾ãã¦ã®å¦çãä¸æ¢}ããï¼
+
+ãã£ã¦ï¼ä»¥éï¼åé¡ã«ãã¦ããè¡ã®è¡é·èª¿æ´ã¯ä¼¸ç¸®åº¦ãæéé·ã®ã°ã«ã¼ãç¨ãã¦
+è¡ããã¦ããã¨ãã¦è¯ãï¼ããã«ï¼ç°¡åã®ããï¼ãã®è¡ã¯ã°ã«ã¼ãåºãããã¦ãã
+ï¼èªç¶é·ã§çµãã¨æã¾ããè¡é·ããã®çãï¼å ´åããæ±ããªãï¼
+
+ã¾ãï¼æ®µè½ä¸ã®è¡ä¸ã®ã°ã«ã¼ã
+\begin{itemize}
+\item \textbf{JAglue}ã§ã¯ãªãã°ã«ã¼
+\item JFMã°ã«ã¼ï¼åªå
度\footnote{%
+ \ref{ssec-jfm-str}ç¯ã«ããããã«ï¼
+ åJFMã°ã«ã¼ã«ã¯$-2$ãã2ã¾ã§ã®åªå
度ãã¤ãã¦ããï¼}%
+å¥ã«ã¾ã¨ããããï¼
+\item å欧æé空ç½(\Param{\hyperlink{fld:xks}{xkanjiskip}})
+\item åæé空ç½(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})
+\end{itemize}
+ã®$1+1+5+1=8$ã¤ã«é¡å¥ãï¼ããããã®ç¨®å¥ãã¨ã«
+許容ããã¦ãã伸ã³éï¼\texttt{stretch}ã®å¤ï¼ã®åè¨ãè¨ç®ããï¼
+ã¾ãï¼è¡é·ã¨èªç¶é·ã¨ã®å·®ã\textit{total}ã¨ããï¼
+
+
+\subsection{è¡æ«æåã®ä½ç½®èª¿æ´}
+è¡æ«ãæåã¯ã©ã¹$n$ã®\textbf{JAchar}ã§ãã£ãå ´åï¼
+ãããåãããã¨ã«ãã£ã¦ï¼\textit{total}ã®ãã¡
+\textbf{JAglue}ãè² æ
ããåãå°ãªããããã¨ããï¼
+ãã®è¡æ«æåã®å·¦å³ã®ç§»åå¯è½éã¯ï¼
+JFMä¸ã«ããæåã¯ã©ã¹$n$ã®å®ç¾©ã®
+\texttt{end\_stretch},~\texttt{end\_shrink}ãã£ã¼ã«ãã«
+å
¨è§åä½ã®å¤ã¨ãã¦è¨è¿°ããã¦ããï¼
+
+ä¾ãã°ï¼è¡æ«æåãå¥ç¹ãããã§ããï¼ããã§ç¨ãããã¦ããJFMä¸ã«
+\begin{verbatim}
+ [2] = {
+ chars = { 'ã', ... }, width = 0.5, ...,
+ end_stretch = 0.5, end_shrink = 0.5,
+ },
+\end{verbatim}
+ã¨ããæå®ããã£ãå ´åï¼ãã®è¡æ«ã®å¥ç¹ã¯
+\begin{itemize}
+\item é常ã®\TeX ã®è¡åå²å¦çã§ãåè§ä»¥ä¸ã®è©°ãããè¡ããã¦ããå ´åï¼
+ãã®è¡ä¸ã®\textbf{JAglue}ã®è² æ
ã軽æ¸ããããï¼
+è¡æ«ã®å¥ç¹ãåè§ã ãå³ã«ç§»åããï¼ã¶ãä¸ãçµãè¡ãï¼ï¼
+\item é常ã®\TeX ã®è¡åå²å¦çã§ãåè§ä»¥ä¸ã®ç©ºãããè¡ããã¦ããå ´åï¼
+éã«è¡æ«å¥ç¹ãåè§å·¦ã«ç§»åãããï¼è¦ãç®çã«å
¨è§åãã¨ãªãï¼ï¼
+\item 以ä¸ã®ã©ã¡ãã§ããªãå ´åï¼è¡æ«å¥ç¹ã®ä½ç½®èª¿æ´ã¯è¡ããªãï¼
+\end{itemize}
+ã¨ãªãï¼
+
+è¡æ«æåã移åããå ´åï¼ãã®åã ã\textit{total}ã®å¤ãå¼ãã¦ããï¼
+
+\subsection{ã°ã«ã¼ã®èª¿æ´}
+\textit{total}ã®åã ããï¼è¡ä¸ã®ã°ã«ã¼ã®ä¼¸ã³éã«å¿ãã¦è² æ
ããããã¨ã«ãªãï¼
+è² æ
ããã°ã«ã¼ã®åªå
度ã¯ä»¥ä¸ã®é ã§ããï¼
+ã§ããã ã\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ãèªç¶é·ã®ã¾ã¾ã«ãããã¨ã
+試ã¿ã¦ããï¼
+\begin{enumerate}\def\labelenumi{(\Alph{enumi})}
+ \item \textbf{JAglue}以å¤ã®ã°ã«ã¼
+ \item åªå
度2ã®JFMã°ã«ã¼
+ \item åªå
度1ã®JFMã°ã«ã¼
+ \item åªå
度0ã®JFMã°ã«ã¼
+ \item åªå
度$-1$ã®JFMã°ã«ã¼
+ \item åªå
度$-2$ã®JFMã°ã«ã¼
+ \item \Param{\hyperlink{fld:xks}{xkanjiskip}}
+ \item \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}
+\end{enumerate}
+\begin{enumerate}
+ \item è¡æ«ã®åææåã移åãããã¨ã§$\textit{total}=0$ã¨ãªãã°ï¼
+調æ´ã®å¿
è¦ã¯ãªãï¼è¡ãæ ¼ç´ããã¦ããhboxã®
+\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ãåè¨ç®ããã°ããï¼
+以éï¼$\textit{total}\neq 0$ã¨ä»®å®ããï¼
+ \item \textit{total}ãã\textbf{JAglue}以å¤ã®ã°ã«ã¼ã®ä¼¸ã³éã®åè¨ãï¼ä»¥ä¸ï¼(A)ã®ä¼¸ã³éã®
+ åè¨ï¼ã¨ç§°ãï¼ãããå°ãããã°ï¼
+ãããã®ã°ã«ã¼ã«\textit{total}ãè² æ
ããï¼\textbf{JAglue}éèªèº«ã¯èªç¶é·ã§çµããã¨ãã§ããï¼
+ãã£ã¦ï¼ä»¥ä¸ã®å¦çãè¡ãï¼
+\begin{enumerate}
+\item å\textbf{JAglue}ã®ä¼¸ã³éã0ã¨ããï¼
+\item è¡ãæ ¼ç´ããã¦ããhboxã®
+\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ãåè¨ç®ããï¼
+ããã«ãã£ã¦ï¼\textit{total}ã¯\textbf{JAglue}以å¤ã®ã°ã«ã¼ã«ãã£ã¦è² æ
ãããï¼
+\end{enumerate}
+\item \textit{total}ãã(A)ã®ä¼¸ã³éã®åè¨ã以ä¸ãªãã°ï¼(A)--(H)ã®ã©ãã¾ã§è² æ
ããã°
+\textit{total}以ä¸ã«ãªãããè¨ç®ããï¼
+ä¾ãã°ï¼
+\[\catcode`\<=12
+ \textit{total} = (\text{(A)--(B)ã®ä¼¸ã³éã®åè¨}) + p\cdot (\text{(C)ã®ä¼¸ã³éã®åè¨}),
+ \qquad 0\le p<1
+\]
+ã§ãã£ãå ´åï¼åã°ã«ã¼ã¯æ¬¡ã®ããã«çµã¾ããï¼
+\begin{itemize}
+ \item (A),~(B)ã«å±ããã°ã«ã¼ã¯åã°ã«ã¼ã§è¨±ããã伸ã³éã¾ã§ä¼¸ã°ãï¼
+ \item (C)ã«å±ããã°ã«ã¼ã¯ãããã$p\times (\text{伸ã³é})$ã ã伸ã³ãï¼
+ \item (D)--(H)ã«å±ããã°ã«ã¼ã¯èªç¶é·ã®ã¾ã¾ï¼
+\end{itemize}
+å®éã«ã¯ï¼åã«è¿°ã¹ããè¨è¨ãã«å¾ãï¼æ¬¡ã®ããã«å¦çãã¦ããï¼
+\begin{enumerate}
+\item (C)ã«å±ããã°ã«ã¼ã®ä¼¸ã³éã$p$åããï¼
+\item (D)--(H)ã«å±ããã°ã«ã¼ã®ä¼¸ã³éã0ã¨ããï¼
+\item è¡ãæ ¼ç´ããã¦ããhboxã®
+\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ãåè¨ç®ããï¼
+ããã«ãã£ã¦ï¼\textit{total}ã¯\textbf{JAglue}以å¤ã®ã°ã«ã¼ã«ãã£ã¦è² æ
ãããï¼
+\end{enumerate}
+\item \textit{total}ã(A)--(H)ã®ä¼¸ã³éã®åè¨ããã大ããå ´åï¼ã©ããããããªãã®ã§
+ \verb+^^;+ä½ãããªãï¼
+\end{enumerate}
+
+%
%<*ja>
-\section{\LuaTeX-jaã«ãããJIS~X~0208:1990éæ¼¢åã®catcode}
+\section{IVS対å¿}
+\verb+luatexja.otf.enable_ivs()+ ãå®è¡ãï¼IVS対å¿ãæå¹ã«ããç¶æ
ã§ã¯ï¼
+\verb+pre_linebreak_filter+ ã \verb+hpack_filter+ ã³ã¼ã«ããã¯ã«ã¯
+次ã®4ã¤ãé ã«å®è¡ãããç¶æ
ã¨ãªã£ã¦ããï¼
+\begin{description}
+\item[\tt ltj.do\_ivs] \textit{glyph\_node}~$p$ã®ç´å¾ã«ï¼ç°ä½åã»ã¬ã¯ã¿ï¼ã表ã\textit{glyph\_node}ï¼
+ãé£ç¶ããå ´åã«ï¼$p$ã®ãã©ã³ãã«å¯¾å¿ãããæã¤ãç°ä½åæ
å ±ãã«å¾ã£ã¦åºåããã°ãªããå¤ããï¼
+
+ãããï¼åã«$p.\textit{char}$ãå¤æ´ããã ãã§ã¯ï¼å¾ãã
+font featureã®é©ç¨ï¼ããä¸ï¼ã«ããç½®æãããå¯è½æ§ãããï¼ãã®ããï¼
+\verb+\CID+ ã \verb+\UTF+ ã¨åãããã«ï¼\textit{glyph\_node}~$p$ã®ä»£ããã«
+\texttt{user\_id} ã\textit{char\_by\_cid}ã§ãããããªuser-defined whatsitãç¨ãã¦ããï¼
+\item[ï¼\Pkg{luaotfload} ã«ããfont featureã®é©ç¨ï¼]
+\item[\tt ltj.otf] \texttt{user\_id} ã\textit{char\_by\_cid}ã§ãããããªuser-defined whatsitã
+ãã¡ãã¨\textit{glyph\_node}ã«å¤æããï¼ãã®å¦çã¯ï¼\verb+\CID+, \verb+\UTF+ãIVSã«ããç½®æãï¼
+font featureã®é©ç¨ã§ä¸æ¸ãããã¦ãã¾ãã®ãé²æ¢ããããã§ããï¼
+\item[\tt ltj.main\_process] \textbf{JAglue}ã®æ¿å
¥å¦çï¼\ref{sec-jfmglue}ç« ï¼ã¨ï¼
+JFMã®æå®ã«å¾ã£ã¦å\textbf{JAchar}ã®ã寸æ³ãè£æ£ããããã¨ãè¡ãï¼
+\end{description}
-ããã§ã¯ï¼JIS~X~0208:1990ã®éæ¼¢åé¨åï¼ç¬¬1åºã第8åºï¼ã®ãã¡ï¼
-ã©ã®æåã(u)p\TeX ã\LuaTeX-jaã§å¶å¾¡ç¶´å
ã«ä½¿ç¨å¯è½ãã表ã«ãã¦ã¾ã¨ããï¼
-åæåã¯
+åé¡ã¯åãã©ã³ãã®æã£ã¦ããIVSæ
å ±ãã©ã®ããã«åå¾ãããï¼ã§ããï¼
+\Pkg{luaotfload} ã¯ãã©ã³ãçªå·ã®æ
å ±ã\
+\texttt{fonts.hashes.identifiers[]} 以ä¸ã«æ ¼ç´ãã¦ããï¼
+ãããï¼OpenTypeãã©ã³ãã®IVSæ
å ±ã¯æ ¼ç´ããã¦ããªãããã§ãã%
+\footnote{TrueTypeãã©ã³ãã«é¢ãã¦ã¯ï¼
\begin{center}
-\tt\fboxsep=1pt\fbox{\hbox to \zw{\gt ã\hss}}\,\scriptsize LUP
+\texttt{fonts.hashes.idenfiers[]%
+ .resources.variants[][]}
\end{center}
-ã®ããã«è¡¨ç¤ºãã¦ããï¼åæåã¯æ¬¡ã®æå³ãæã£ã¦ããï¼
-ãã®è¡¨ã®çæã¯\verb+\jis+å½ä»¤ã使ã£ã¦è¡ãªã£ã¦ããï¼
+ã«ï¼çªã®æåã®å¾ã«ç°ä½åã»ã¬ã¯ã¿ãç¶ããå ´åã«
+åºåãã¹ãã°ãªããæ¸ããã¦ããï¼}ï¼
+%ä¾ãã°ï¼å°å¡ææPr6N~Rã§ã¯ï¼
+
+ä¸æ¹ï¼\LuaTeX å
é¨ã® \texttt{fontloader} ã®è¿ããã¼ãã«ã«ã¯
+OpenTypeãã©ã³ãã§ãTrueTypeãã©ã³ãã§ãIVSæ
å ±ãæ ¼ç´ããã¦ããï¼
+å
·ä½çã«ã¯â¦â¦
+
+ãã®ããï¼\LuaTeX-jaã®IVS対å¿ã«ããã¦ã¯ï¼\LuaTeX å
é¨ã®\
+\texttt{fontloader} ãç´æ¥ç¨ãããã¨ã§ï¼ãã©ã³ãã®IVSæ
å ±ãåå¾ãã¦ããï¼
+20140114.0以éã§ãã£ãã·ã¥ãç¨ããããã«ããè¦å ã¯ããã«ããï¼
+\texttt{fontloader} ã®å¼ã³åºãã§ããªãæéãæ¶è²»ãããã¨ããï¼
+%%% to_table ã使ããªããããã¨ã§ï¼ã¡ã¢ãªä½¿ç¨éã¯æ¸ã£ã
+IVSæ
å ±ããã£ãã·ã¥ã«ä¿åãããã¨ã§2åç®ä»¥éã®å®è¡æéãç¯ç´ãã¦ããï¼
+
+
+\section{è¤æ°ãã©ã³ãã®ãåæãï¼æªå®ï¼}
+
+\section{\LuaTeX-jaã«ããããã£ãã·ã¥}
+\Pkg{luaotfload}ããã±ã¼ã¸ãï¼åTrueTypeã»]OpenTypeãã©ã³ãã®æ
å ±ã
+ãã£ãã·ã¥ã¨ãã¦ä¿åãã¦ããã®ã¨åæ§ã®æ¹æ³ã§ï¼
+\LuaTeX-jaãããã¤ãã®ãã£ãã·ã¥ãã¡ã¤ã«ãä½æããããã«ãªã£ãï¼
+\begin{itemize}
+ \item é常ï¼ãã£ãã·ã¥ã¯\texttt{\$TEXMFVAR/luatexja/}以ä¸ã«ä¿åããï¼
+ããããèªã¿è¾¼ã¿ãè¡ãããï¼
+ \item ãé常ã®ãããã¹ãå½¢å¼ã®ãã£ãã·ã¥ï¼æ¡å¼µå㯠\texttt{.lua}ï¼ä»¥å¤ã«ãï¼
+ããããã¤ããªå½¢å¼ï¼ãã¤ãã³ã¼ãï¼ã«å¤æãããã®ããµãã¼ããã¦ããï¼
+\begin{itemize}
+ \item \LuaTeX ã¨LuaJIT\TeX ã§ã¯ãã¤ãã³ã¼ãã®å½¢å¼ãç°ãªãããï¼ãã¤ããªå½¢å¼ã®
+ãã£ãã·ã¥ã¯å
±æã§ããªãï¼\LuaTeX ç¨ã®ãã¤ããªãã£ãã·ã¥ã¯ \texttt{.luc}ï¼
+LuaJIT\TeX ç¨ã®ã¯ \texttt{.lub} ã¨æ¡å¼µåãå¤ãããã¨ã§å¯¾å¿ãã¦ããï¼
+ \item ãã£ãã·ã¥ãèªã¿è¾¼ãæï¼ååã®ãã¤ããªãã£ãã·ã¥ãããã°ï¼
+ããã¹ãå½¢å¼ã®ãã®ãããã¡ããåªå
ãã¦èªã¿è¾¼ãï¼
+ \item ããã¹ãå½¢å¼ã®ãã£ãã·ã¥ãæ´æ°/ä½æãããéã¯ï¼ãã®ãã¤ããªçã
+åæã«æ´æ°ãããï¼
+ã¾ãï¼ï¼ãã¤ããªçãè¦ã¤ãããï¼ããã¹ãå½¢å¼ã®ãã£ãã·ã¥å´ãèªã¿è¾¼ã¾ããã¨ãã¯ï¼
+\LuaTeX-jaã¯ãã¤ããªãã£ãã·ã¥ãä½æããï¼
+\end{itemize}
+\end{itemize}
+%
+%<*en>
+\section{Cache Management of \LuaTeX-ja}
+\LuaTeX-ja creates some cache files to reduce the loading time.
+in a similar way to the \Pkg{luaotfload} package:
\begin{itemize}
-\item{\tt L}ï¼\XeTeX ã\LuaTeX-jaã«ããã¦ãã®æåãå¶å¾¡ç¶´å
ã«ä½¿ç¨å¯è½ï¼catcodeã¯11ï¼ï¼
-\item{\tt U}ï¼\upTeX ã«ããã¦ãã®æåãå¶å¾¡ç¶´å
ã«ä½¿ç¨å¯è½ï¼kcatcodeã¯16,~17ï¼ï¼
-\item{\tt P}ï¼\pTeX ã«ããã¦ãã®æåãå¶å¾¡ç¶´å
ã«ä½¿ç¨å¯è½ï¼kcatcodeã¯16,~17ï¼ï¼
+ \item Cache files are usually stored in (and loaded from)
+\texttt{\$TEXMFVAR/luatexja/}.
+ \item In addition to caches of the text form (the extension is ``\texttt{.lua}''),
+caches of the \emph{binary}, precompiled form are supported.
+\begin{itemize}
+ \item We cannot share same binary cache for \LuaTeX\ and LuaJIT\TeX.
+Hence we distinguish them by their extension, ``\texttt{.luc}'' for \LuaTeX\
+and ``\texttt{.lub}'' for LuaJIT\TeX.
+ \item In loading a cache, the binary cache precedes
+the text form.
+ \item When \LuaTeX-ja updates a cache \texttt{hoge.lua},
+its binary version is also updated.
+\end{itemize}
\end{itemize}
+%
+%<*ja>
+\subsection{ãã£ãã·ã¥ã®ä½¿ç¨ç®æ}
-\makeatletter
-\def\uplist{%
- \@elt {8486}\@elt {8491}\@elt {8492}\@elt {8499}\@elt {8500}\@elt {8501}%
- \@elt {8502}\@elt {8504}\@elt {8508}\@elt {9008}\@elt {9009}\@elt {9010}%
- \@elt {9011}\@elt {9012}\@elt {9013}\@elt {9014}\@elt {9015}\@elt {9016}%
- \@elt {9017}\@elt {9025}\@elt {9026}\@elt {9027}\@elt {9028}\@elt {9029}%
- \@elt {9030}\@elt {9031}\@elt {9032}\@elt {9033}\@elt {9034}\@elt {9035}%
- \@elt {9036}\@elt {9037}\@elt {9038}\@elt {9039}\@elt {9040}\@elt {9041}%
- \@elt {9042}\@elt {9043}\@elt {9044}\@elt {9045}\@elt {9046}\@elt {9047}%
- \@elt {9048}\@elt {9049}\@elt {9050}\@elt {9057}\@elt {9058}\@elt {9059}%
- \@elt {9060}\@elt {9061}\@elt {9062}\@elt {9063}\@elt {9064}\@elt {9065}%
- \@elt {9066}\@elt {9067}\@elt {9068}\@elt {9069}\@elt {9070}\@elt {9071}%
- \@elt {9072}\@elt {9073}\@elt {9074}\@elt {9075}\@elt {9076}\@elt {9077}%
- \@elt {9078}\@elt {9079}\@elt {9080}\@elt {9081}\@elt {9082}\@elt {9249}%
- \@elt {9250}\@elt {9251}\@elt {9252}\@elt {9253}\@elt {9254}\@elt {9255}%
- \@elt {9256}\@elt {9257}\@elt {9258}\@elt {9259}\@elt {9260}\@elt {9261}%
- \@elt {9262}\@elt {9263}\@elt {9264}\@elt {9265}\@elt {9266}\@elt {9267}%
- \@elt {9268}\@elt {9269}\@elt {9270}\@elt {9271}\@elt {9272}\@elt {9273}%
- \@elt {9274}\@elt {9275}\@elt {9276}\@elt {9277}\@elt {9278}\@elt {9279}%
- \@elt {9280}\@elt {9281}\@elt {9282}\@elt {9283}\@elt {9284}\@elt {9285}%
- \@elt {9286}\@elt {9287}\@elt {9288}\@elt {9289}\@elt {9290}\@elt {9291}%
- \@elt {9292}\@elt {9293}\@elt {9294}\@elt {9295}\@elt {9296}\@elt {9297}%
- \@elt {9298}\@elt {9299}\@elt {9300}\@elt {9301}\@elt {9302}\@elt {9303}%
- \@elt {9304}\@elt {9305}\@elt {9306}\@elt {9307}\@elt {9308}\@elt {9309}%
- \@elt {9310}\@elt {9311}\@elt {9312}\@elt {9313}\@elt {9314}\@elt {9315}%
- \@elt {9316}\@elt {9317}\@elt {9318}\@elt {9319}\@elt {9320}\@elt {9321}%
- \@elt {9322}\@elt {9323}\@elt {9324}\@elt {9325}\@elt {9326}\@elt {9327}%
- \@elt {9328}\@elt {9329}\@elt {9330}\@elt {9331}\@elt {9505}\@elt {9506}%
- \@elt {9507}\@elt {9508}\@elt {9509}\@elt {9510}\@elt {9511}\@elt {9512}%
- \@elt {9513}\@elt {9514}\@elt {9515}\@elt {9516}\@elt {9517}\@elt {9518}%
- \@elt {9519}\@elt {9520}\@elt {9521}\@elt {9522}\@elt {9523}\@elt {9524}%
- \@elt {9525}\@elt {9526}\@elt {9527}\@elt {9528}\@elt {9529}\@elt {9530}%
- \@elt {9531}\@elt {9532}\@elt {9533}\@elt {9534}\@elt {9535}\@elt {9536}%
- \@elt {9537}\@elt {9538}\@elt {9539}\@elt {9540}\@elt {9541}\@elt {9542}%
- \@elt {9543}\@elt {9544}\@elt {9545}\@elt {9546}\@elt {9547}\@elt {9548}%
- \@elt {9549}\@elt {9550}\@elt {9551}\@elt {9552}\@elt {9553}\@elt {9554}%
- \@elt {9555}\@elt {9556}\@elt {9557}\@elt {9558}\@elt {9559}\@elt {9560}%
- \@elt {9561}\@elt {9562}\@elt {9563}\@elt {9564}\@elt {9565}\@elt {9566}%
- \@elt {9567}\@elt {9568}\@elt {9569}\@elt {9570}\@elt {9571}\@elt {9572}%
- \@elt {9573}\@elt {9574}\@elt {9575}\@elt {9576}\@elt {9577}\@elt {9578}%
- \@elt {9579}\@elt {9580}\@elt {9581}\@elt {9582}\@elt {9583}\@elt {9584}%
- \@elt {9585}\@elt {9586}\@elt {9587}\@elt {9588}\@elt {9589}\@elt {9590}%
-}
-\def\plist{%
- \@elt {8993}\@elt {8994}\@elt {8995}\@elt {8996}\@elt {8997}\@elt {8998}%
- \@elt {8999}\@elt {9000}\@elt {9001}\@elt {9002}\@elt {9003}\@elt {9004}%
- \@elt {9005}\@elt {9006}\@elt {9007}\@elt {9008}\@elt {9009}\@elt {9010}%
- \@elt {9011}\@elt {9012}\@elt {9013}\@elt {9014}\@elt {9015}\@elt {9016}%
- \@elt {9017}\@elt {9018}\@elt {9019}\@elt {9020}\@elt {9021}\@elt {9022}%
- \@elt {9023}\@elt {9024}\@elt {9025}\@elt {9026}\@elt {9027}\@elt {9028}%
- \@elt {9029}\@elt {9030}\@elt {9031}\@elt {9032}\@elt {9033}\@elt {9034}%
- \@elt {9035}\@elt {9036}\@elt {9037}\@elt {9038}\@elt {9039}\@elt {9040}%
- \@elt {9041}\@elt {9042}\@elt {9043}\@elt {9044}\@elt {9045}\@elt {9046}%
- \@elt {9047}\@elt {9048}\@elt {9049}\@elt {9050}\@elt {9051}\@elt {9052}%
- \@elt {9053}\@elt {9054}\@elt {9055}\@elt {9056}\@elt {9057}\@elt {9058}%
- \@elt {9059}\@elt {9060}\@elt {9061}\@elt {9062}\@elt {9063}\@elt {9064}%
- \@elt {9065}\@elt {9066}\@elt {9067}\@elt {9068}\@elt {9069}\@elt {9070}%
- \@elt {9071}\@elt {9072}\@elt {9073}\@elt {9074}\@elt {9075}\@elt {9076}%
- \@elt {9077}\@elt {9078}\@elt {9079}\@elt {9080}\@elt {9081}\@elt {9082}%
- \@elt {9083}\@elt {9084}\@elt {9085}\@elt {9086}\@elt {9249}\@elt {9250}%
- \@elt {9251}\@elt {9252}\@elt {9253}\@elt {9254}\@elt {9255}\@elt {9256}%
- \@elt {9257}\@elt {9258}\@elt {9259}\@elt {9260}\@elt {9261}\@elt {9262}%
- \@elt {9263}\@elt {9264}\@elt {9265}\@elt {9266}\@elt {9267}\@elt {9268}%
- \@elt {9269}\@elt {9270}\@elt {9271}\@elt {9272}\@elt {9273}\@elt {9274}%
- \@elt {9275}\@elt {9276}\@elt {9277}\@elt {9278}\@elt {9279}\@elt {9280}%
- \@elt {9281}\@elt {9282}\@elt {9283}\@elt {9284}\@elt {9285}\@elt {9286}%
- \@elt {9287}\@elt {9288}\@elt {9289}\@elt {9290}\@elt {9291}\@elt {9292}%
- \@elt {9293}\@elt {9294}\@elt {9295}\@elt {9296}\@elt {9297}\@elt {9298}%
- \@elt {9299}\@elt {9300}\@elt {9301}\@elt {9302}\@elt {9303}\@elt {9304}%
- \@elt {9305}\@elt {9306}\@elt {9307}\@elt {9308}\@elt {9309}\@elt {9310}%
- \@elt {9311}\@elt {9312}\@elt {9313}\@elt {9314}\@elt {9315}\@elt {9316}%
- \@elt {9317}\@elt {9318}\@elt {9319}\@elt {9320}\@elt {9321}\@elt {9322}%
- \@elt {9323}\@elt {9324}\@elt {9325}\@elt {9326}\@elt {9327}\@elt {9328}%
- \@elt {9329}\@elt {9330}\@elt {9331}\@elt {9332}\@elt {9333}\@elt {9334}%
- \@elt {9335}\@elt {9336}\@elt {9337}\@elt {9338}\@elt {9339}\@elt {9340}%
- \@elt {9341}\@elt {9342}\@elt {9505}\@elt {9506}\@elt {9507}\@elt {9508}%
- \@elt {9509}\@elt {9510}\@elt {9511}\@elt {9512}\@elt {9513}\@elt {9514}%
- \@elt {9515}\@elt {9516}\@elt {9517}\@elt {9518}\@elt {9519}\@elt {9520}%
- \@elt {9521}\@elt {9522}\@elt {9523}\@elt {9524}\@elt {9525}\@elt {9526}%
- \@elt {9527}\@elt {9528}\@elt {9529}\@elt {9530}\@elt {9531}\@elt {9532}%
- \@elt {9533}\@elt {9534}\@elt {9535}\@elt {9536}\@elt {9537}\@elt {9538}%
- \@elt {9539}\@elt {9540}\@elt {9541}\@elt {9542}\@elt {9543}\@elt {9544}%
- \@elt {9545}\@elt {9546}\@elt {9547}\@elt {9548}\@elt {9549}\@elt {9550}%
- \@elt {9551}\@elt {9552}\@elt {9553}\@elt {9554}\@elt {9555}\@elt {9556}%
- \@elt {9557}\@elt {9558}\@elt {9559}\@elt {9560}\@elt {9561}\@elt {9562}%
- \@elt {9563}\@elt {9564}\@elt {9565}\@elt {9566}\@elt {9567}\@elt {9568}%
- \@elt {9569}\@elt {9570}\@elt {9571}\@elt {9572}\@elt {9573}\@elt {9574}%
- \@elt {9575}\@elt {9576}\@elt {9577}\@elt {9578}\@elt {9579}\@elt {9580}%
- \@elt {9581}\@elt {9582}\@elt {9583}\@elt {9584}\@elt {9585}\@elt {9586}%
- \@elt {9587}\@elt {9588}\@elt {9589}\@elt {9590}\@elt {9591}\@elt {9592}%
- \@elt {9593}\@elt {9594}\@elt {9595}\@elt {9596}\@elt {9597}\@elt {9598}%
- \@elt {9761}\@elt {9762}\@elt {9763}\@elt {9764}\@elt {9765}\@elt {9766}%
- \@elt {9767}\@elt {9768}\@elt {9769}\@elt {9770}\@elt {9771}\@elt {9772}%
- \@elt {9773}\@elt {9774}\@elt {9775}\@elt {9776}\@elt {9777}\@elt {9778}%
- \@elt {9779}\@elt {9780}\@elt {9781}\@elt {9782}\@elt {9783}\@elt {9784}%
- \@elt {9785}\@elt {9786}\@elt {9787}\@elt {9788}\@elt {9789}\@elt {9790}%
- \@elt {9791}\@elt {9792}\@elt {9793}\@elt {9794}\@elt {9795}\@elt {9796}%
- \@elt {9797}\@elt {9798}\@elt {9799}\@elt {9800}\@elt {9801}\@elt {9802}%
- \@elt {9803}\@elt {9804}\@elt {9805}\@elt {9806}\@elt {9807}\@elt {9808}%
- \@elt {9809}\@elt {9810}\@elt {9811}\@elt {9812}\@elt {9813}\@elt {9814}%
- \@elt {9815}\@elt {9816}\@elt {9817}\@elt {9818}\@elt {9819}\@elt {9820}%
- \@elt {9821}\@elt {9822}\@elt {9823}\@elt {9824}\@elt {9825}\@elt {9826}%
- \@elt {9827}\@elt {9828}\@elt {9829}\@elt {9830}\@elt {9831}\@elt {9832}%
- \@elt {9833}\@elt {9834}\@elt {9835}\@elt {9836}\@elt {9837}\@elt {9838}%
- \@elt {9839}\@elt {9840}\@elt {9841}\@elt {9842}\@elt {9843}\@elt {9844}%
- \@elt {9845}\@elt {9846}\@elt {9847}\@elt {9848}\@elt {9849}\@elt {9850}%
- \@elt {9851}\@elt {9852}\@elt {9853}\@elt {9854}%
-}
-\newcount\cntA
-\newcount\cntB
-\newcount\flag
-\def\chk@in@#1#2{{\global\flag=0 %
- \def\@elt##1{\ifnum#2=##1 \global\flag=1\fi }%
- #1}}
-
-\def\outi{%
-\cntB=\jis\cntA{}\ifnum\cntB=0 \else
- \fbox{\hbox to 1\zw{\gt\hss ã\char\cntB ã\hss}}\,\scriptsize%
- \ifnum\catcode\cntB=11 L\else~\fi%
- \chk@in@{\uplist}{\cntA}\ifnum\flag=1 U\else~\fi%
- \chk@in@{\plist}{\cntA}\ifnum\flag=1 P\else~\fi%
-\fi\global\advance\cntA1 }
-
-\def\out#1#2{%
-\midrule\global\cntA=\numexpr 8192+#1*256+#2*16\relax
-"#2{}x&\ifnum#2=2\global\advance\cntA1\else\outi\fi&\outi&\outi&\outi&\outi&\outi&\outi&\outi%"
-&\outi&\outi&\outi&\outi&\outi&\outi&\outi&\ifnum#2=7\global\advance\cntA1\else\outi\fi\\
-}
+\LuaTeX-ja ã§ã¯ä»¥ä¸ã®3種é¡ã®ãã£ãã·ã¥ã使ç¨ãã¦ããï¼
+\begin{list}{}%
+{\def\makelabel#1{\ttfamily#1}}
+\item[ltj-cid-auto-adobe-japan1.lua]
+Ryumin-Lightã®ãããªéåãè¾¼ã¿ãã©ã³ãã®æ
å ±ãæ ¼ç´ãã¦ããï¼
+ï¼ãããã\LuaTeX-jaã®æ¨æºåæãã©ã³ããªã®ã§ï¼\LuaTeX-jaã®èªã¿è¾¼ã¿æã«èªåã§èªã¾ããï¼
+çæã«ã¯\texttt{UniJIS2004-UTF32-H}, \texttt{Adobe-Japan1-UCS2}ã¨ãã2ã¤ã®
+CMapãå¿
è¦ã§ããï¼
+
+\pageref{para-cid}ãã¼ã¸ã§è¿°ã¹ãããã«ï¼\texttt{cid}ãã¼ã使ã£ã¦
+éåãè¾¼ã¿ã®ä¸å½èªã»éå½èªãã©ã³ããå®ç¾©ããå ´åï¼åæ§ã®ãã£ãã·ã¥ãçæãããï¼
+ãã£ãã·ã¥ã®å称ï¼å¿
è¦ã¨ãªãCMapã«ã¤ãã¦ã¯è¡¨\ref{tab:cid-cache}ãåç
§ãã¦æ¬²ããï¼
+
+\item[ivs\_***.lua]
+ãã©ã³ã``\texttt{***}''ã«ãããç°ä½åæ
å ±ãæ ¼ç´ãã¦ããï¼æ§é ã¯ä»¥ä¸ã®éãï¼
+%
+%<*en>
+\subsection{Use of Cache}
+
+\LuaTeX-ja uses the following cache:
+\begin{list}{}%
+{\def\makelabel#1{\ttfamily#1}}
+\item[ltj-cid-auto-adobe-japan1.lua]
+The font table of a CID-keyed non-embedded Japanese font.
+This is loaded in every run.
+It is created from two CMaps, \texttt{UniJIS2004-UTF32-H} and
+ \texttt{Adobe-Japan1-UCS2},
+and this is why these two CMaps are needed in the first run of \LuaTeX-ja.
+
+Similar caches are created as Table~\ref{tab:cid-cache},
+if you specified \texttt{cid} key in \verb+\jfont+
+to use other CID-keyed non-embedded fonts for Chinese or Korean,
+as in Page~\pageref{para-cid}.
+
+\item[ivs\_***.lua]
+This file stores the table of Unicode variants in a font ``\texttt{***}''.
+The structure of the table is the following:
+%
-\def\test#1{{%
-\subsection*{第#1åº}\tt\small\fboxsep=1pt\centering\tabcolsep=0.25\zw
-\begin{tabular}{ccccccccccccccccc}\toprule&"0&"1&"2&"3&"4&"5&"6&"7&"8&"9&"A&"B&"C&"D&"E&"F\\
-\out{#1}{2}\out{#1}{3}\out{#1}{4}\out{#1}{5}\out{#1}{6}\out{#1}{7}\bottomrule
-\end{tabular}\par}\medskip}
+\begin{table}[!tb]
+ \centering\small
+\caption{\texttt{cid} key and corresponding files}
+\label{tab:cid-cache}
+\vspace*{\medskipamount}
+\begin{tabular}{>{\tt}l>{\tt}l>{\tt}l>{\tt}l}
+\toprule
+\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\\
+\bottomrule
+\end{tabular}
+\end{table}
-\test{1}\test{2}\test{3}\test{4}\test{5}\test{6}\test{7}\test{8}
+\begin{lstlisting}
+return {
+ {
+ [10955]={ -- U+2ACB "Subset Of Above Not Equal To"
+ [65024]=983879, -- <2ACB FE00>
+ },
+ [37001]={ -- U+9089 "é"
+ [0]=37001, -- <9089 E0100>
+ 991049, -- <9089 E0101>
+ ...
+ },
+ ...
+ },
+ ["chksum"]="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", -- checksum of the fontfile
+ ["version"]=4, -- version of the cache
+}
+\end{lstlisting}
+%<*ja>
+\item[ltj-jisx0208.\{luc|lub\}]
+\LuaTeX-jaé
å¸ä¸ã®\texttt{ltj-jisx0208.lua}ããã¤ããªåãããã®ã§ããï¼
+ããã¯JIS~X~0208ã¨Unicodeã¨ã®å¤æãã¼ãã«ã§ããï¼
+\pTeX ã¨ã®äºæç®çã®æåã³ã¼ãå¤æå½ä»¤ã§ç¨ããããï¼
+%
+%<*en>
+\item[ltj-jisx0208.\{luc|lub\}]
+The binary version of \texttt{ltj-jisx0208.lua}.
+This is the conversion table between JIS~X~0208 and Unicode
+which is used in Kanji-code conversion commands for compatibility with \pTeX.
+%
+\end{list}
+%<*en>
+\subsection{Internal}
+Cache management system of \LuaTeX-ja is stored in \texttt{luatexja.base}
+(\texttt{ltj-base.lua}).
+There are three public functions for cache management in \texttt{luatexja.base},
+where stands for the filename \emph{without suffix}:
+\begin{list}{}%
+{\def\makelabel#1{\ttfamily#1}}
+\item[save\_cache(, )]
+Save a non-nil table into a cache .
+Both the text form \texttt{.lua} and its binary version
+are created or updated.
+
+\item[save\_cache\_luc(, {[, ]})]\
+
+Same as \texttt{save\_cache}, except that only the binary cache is updated.
+The third argument is not usually given.
+But if this is given, it is treated as a string representation of .
+
+\item[load\_cache(, )]
+Load the cache .
+ is a function which takes one argument (the contents of the cache),
+and its return value is whether the cache is outdated.
+
+\texttt{load\_cache} first tries to
+read the binary cache \texttt{.\{luc|lub\}}.
+If its contents is up-to-date, \texttt{load\_cache} returns the contents.
+If the binary cache is not found or
+its contents is outdated, \texttt{load\_cache} tries to
+read the text form \texttt{.lua}.
+Hence, the return value of \texttt{load\_cache} is non-nil,
+if and only if the updated cache is found.
+\end{list}
+%
+%<*ja>
+\subsection{å
é¨å½ä»¤}
+\LuaTeX-jaã«ããããã£ãã·ã¥ç®¡çã¯ï¼\texttt{luatexja.base}~(\texttt{ltj-base.lua})ã«
+å®è£
ãã¦ããï¼ä»¥ä¸ã®3é¢æ°ãå
¬éããã¦ããï¼
+ããã§ï¼ã¯ä¿åãããã£ãã·ã¥ã®ãã¡ã¤ã«åã\emph{æ¡å¼µåãªãã§}æå®ããï¼
+\begin{list}{}%
+{\def\makelabel#1{\ttfamily#1}}
+\item[save\_cache(, )]
+nilã§ãªãããã£ãã·ã¥ã«ä¿åããï¼
+ããã¹ãå½¢å¼ã®\texttt{.lua}ã®ã¿ãªããï¼
+ãã®ãã¤ããªçãä½æ/æ´æ°ãããï¼
+
+\item[save\_cache\_luc(, {[, ]})]\
+
+\texttt{save\_cache}ã¨åæ§ã ãï¼ãã¤ããªãã£ãã·ã¥ã®ã¿ãæ´æ°ãããï¼
+第3å¼æ°ãä¸ããããå ´åï¼ããã
+ã®æååå表ç¾ã¨ãã¦ä½¿ç¨ããï¼
+ãã®ããï¼ã¯æ®éã¯æå®ããªããã¨ã«ãªãã ããï¼
+
+\item[load\_cache(, )]
+ãã£ãã·ã¥ãèªã¿è¾¼ãï¼
+ã¯1å¼æ°ï¼ãã£ãã·ã¥ã®ä¸èº«ï¼ãã¨ãé¢æ°ã§ããï¼
+ãã®æ»ãå¤ã¯ããã£ãã·ã¥ã®æ´æ°ãå¿
è¦ããã©ããã示ããã¼ã«å¤ã§ãªãã¨ãããªãï¼
+
+\texttt{load\_cache}ã¯ï¼ã¾ããã¤ããªãã£ãã·ã¥\texttt{.\{luc|lub\}}ã
+èªã¿ããï¼ãããã®å
容ããæ°ãããï¼ã¤ã¾ãã®è©ä¾¡çµæã \texttt{false} ãªã
+\texttt{load\_cache}ã¯ãã®ãã¤ããªãã£ãã·ã¥ã®ä¸èº«ãè¿ãï¼
+ãããã¤ããªãã£ãã·ã¥ãè¦ã¤ãããªãã£ããï¼ãå¤ãããããªãã°ããã¹ãç
+ \texttt{.lua}ãèªã¿è¾¼ã¿ï¼ãã®å¤ãè¿ãï¼
+
+以ä¸ããï¼\texttt{load\_cache}èªä½ãnilã§ãªãå¤ãè¿ãã®ã¯ï¼ã¡ããã©ãæ°ããããã£ãã·ã¥ã
+è¦ã¤ãã£ãå ´åã§ããï¼
+\end{list}
%
+\begin{thebibliography}{99}
+ \addcontentsline{toc}{section}{\refname}
+\bibitem{texbytopic}
+Victor Eijkhout. \newblock \textit{\TeX\ by Topic, A \TeX nician's Reference}, Addison-Wesley, 1992.
+\bibitem{listings} C.\ Heinz, B.\ Moses. \newblock The \textsf{Listings} Package.
+\bibitem{uptex} Takuji Tanaka. \newblock
+upTeX---Unicode version of pTeX with CJK extensions,
+TUG 2013, October 2013.
+%\newblock
+%\\\null\hfill
+\url{http://tug.org/tug2013/slides/TUG2013_upTeX.pdf}
+\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.
+%\newblock
+%\\\null\hfill
+\url{http://mytexpert.sourceforge.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/}%
+% \\æ¥æ¬èªè¨³ã®æ¸ç±çï¼W3Cæ¥æ¬èªçµçã¿ã¹ã¯ãã©ã¼ã¹ï¼ç·¨ï¼ï¼ãW3Cæè¡ãã¼ã æ¥æ¬èªçµçå¦çã®è¦ä»¶ãï¼æ±äº¬é»æ©å¤§å¦åºçå±ï¼2012ï¼
+\bibitem{min10} ä¹é¨å³å·±ï¼min10ãã©ã³ãã«ã¤ãã¦ï¼\\\null\hfill
+\url{http://argent.shinshu-u.ac.jp/~otobe/tex/files/min10.pdf}
+\bibitem{x4051} æ¥æ¬å·¥æ¥è¦æ ¼(Japanese Industrial Standard), JIS~X~4051,
+æ¥æ¬èªææ¸ã®çµçæ¹æ³(Formatting rules for Japanese documents), 1993, 1995, 2004.
+\end{thebibliography}
+
+\newpage
+\appendix
\section{Package versions used in this document}
This document was typeset using the following packages:
@@ -6157,7 +7408,7 @@ This document was typeset using the following packages:
%%
%% config file for showexpl.sty
%%
-%% Copyright The LuaTeX-ja project team, 2005
+%% Copyright The LuaTeX-ja project team, 2012
%%
\ProvidesFile{showexpl.cfg}
[2012/05/20 v0.01 Definitions for the showexpl package (luatexja)]