<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">%&lt;*!showexpl&gt;
%#! lualatex -shell-escape
%% KozMinPr6N-Regular.otf is needed to typeset this document.

%%%%% section ==&gt; ç«&nbsp;
%%%%% subsection =&gt; ç¯€
\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}

%&lt;en&gt;\documentclass[a4paper,titlepage]{article}
%&lt;ja&gt;\documentclass[a4paper,10ptj,titlepage]{ltjsarticle}

%%%%%%%%
\makeatletter
%%%%%%%%
\def\pgfsysdriver{pgfsys-pdftex.def}
\usepackage{metalogo,amsmath,array,tikz,pict2e,multienum,float,mathtools}
\usepackage{booktabs,multicol,luatexja-ruby}
\usepackage[all]{xy}
\usepackage{lltjext,alltt,comment}

%%%%%%%% fonts
\usepackage{luatexja-otf}
\usepackage[no-math]{fontspec}
\setmainfont[Ligatures=TeX,RawFeature=-notdef]{Linux Libertine O}
\setmonofont[RawFeature=-notdef, Ligatures=CommonOff, %CharacterVariant={31,45,61,36},
%&lt;en&gt;  Scale=0.8132073118633364, FakeStretch=1.183236,
%&lt;ja&gt;  Scale=MatchLowercase, FakeStretch=1.137121,
  Contextuals=AlternateOff, Kerning=Off,
  Ligatures={CommonOff,RequiredOff,ContextualOff,RareOff,HistoricOff,TeXOff},
  ItalicFont=Iosevka Slab Oblique,
  BoldFont=Iosevka Slab Bold, BoldItalicFont=Iosevka Slab Bold Oblique,
]{Iosevka Slab}
\setsansfont[Scale=MatchLowercase,Ligatures=TeX,RawFeature=-notdef]{Linux Biolinum O}
\usepackage[match]{luatexja-fontspec}
\usepackage[haranoaji]{luatexja-preset}
\usepackage{unicode-math}
\setmonojfont{HaranoAjiGothic-Regular.otf}
\setmathfont[Scale=MatchLowercase]{XITSMath}
\newjfontface\KOZM{KozMinPr6N-Regular.otf}

\setLaTeXa{\scshape a}
%&lt;*ja&gt;
\def\emph#1{\textbf{\textgt{#1}}}
\def\headfont{\normalfont\bfseries\gtfamily}\normalsize
%&lt;/ja&gt;
%&lt;*en&gt;
\frenchspacing\sloppy
\usepackage[margin=25mm,lmargin=30mm,rmargin=30mm,footskip=6mm]{geometry}
\usepackage{luatexja-adjust}\ltjdisableadjust
\parskip=\smallskipamount
\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
    {3.25ex \@plus1ex \@minus.2ex}%
    {-1em}%
    {\normalfont\normalsize\bfseries\raisebox{.2ex}{$\mdlgblksquare\mkern1mu$}}}
%&lt;/en&gt;
%&lt;*ja&gt;
\usepackage[textwidth=44\zw, lines=41, footskip=6mm]{geometry}
\usepackage{luatexja-adjust}%\ltjdisableadjust
\advance\leftmargini-1\zw
%&lt;/ja&gt;
%&lt;en&gt;\long\def\fakefn#1#2{\par\noindent{\footnotesize\hbox to1.8em{\hss#1}#2\par}}
%&lt;*ja&gt;
\long\def\fakefn#1#2{%
  \par{\footnotesize\advance\leftskip 3\zw\parindent1\zw\noindent
  \llap{#1\hskip.3\zw}#2\par}}
%&lt;/ja&gt;
%%%%%%%% listings

%%%%%%%% IVS

\def\IVS#1{\char\numexpr "E0100+#1\relax}%"
\def\IVSA#1#2#3#4#5{%
  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{0#1#2\crcr#3#4#5\crcr}\hss}}}}\hss}%
}
{\catcode`\%=11
  \gdef\IVSB#1{\expandafter\IVSA\directlua{
    local cat_str = luatexbase.catcodetables['string']
    tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
}}}
\def\UCSA#1#2#3#4{%
  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{#1#2\crcr#3#4\crcr}\hss}}}}\hss}%
}
\def\UCSB#1#2{%
  \hbox to1em{\hss\textcolor{red}{\raisebox{3.5pt}{\normalfont\ttfamily%
    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{\hss#1\hss\crcr\hss#2\hss\crcr}\hss}}}}\hss}%
}

\usepackage{listings,showexpl,enumitem}
\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, columns=fixed},
  morecomment=[l]{\%}, commentstyle=\color{green}
}
% Suppress output from showexpl to stdout.
\makeatletter
\let\SX@Info\relax

%%%%%%%% colors
%% modified from http://jfly.iam.u-tokyo.ac.jp/colorset/
\usepackage{transparent}
\definecolor{red}{rgb}{1, 0.16, 0}
\definecolor{blue}{rgb}{0, 0.25, 1}
\definecolor{gray}{rgb}{.50, .53, .56}
\definecolor{green}{rgb}{.21, .63, .42}
\definecolor{cyan}{rgb}{0.40, .80, 1}
\definecolor{b_gray}{rgb}{0.78, 0.78, 0.80}
\definecolor{b_pink}{rgb}{1, 0.82, 0.82}
\definecolor{b_green}{rgb}{.53, .91, .69}
\definecolor{b_cyan}{rgb}{0.70, .92, 98}

%%%%%%%% hyperref
\usepackage{hyperref,bookmark}
%&lt;*en&gt;
\title{The \LuaTeX-ja package}
\author{The \LuaTeX-ja project team}
\date{\LuaTeXjaversion~(\today)}
%&lt;/en&gt;
%&lt;*ja&gt;
\title{\LuaTeX-jaãƒ‘ãƒƒã‚±ãƒ¼ã‚¸}
\author{\LuaTeX-jaãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆãƒãƒ¼ãƒ&nbsp;}
\date{\LuaTeXjaversionï¼ˆ\todayï¼‰}
%&lt;/ja&gt;
\hypersetup{%
	unicode,
	colorlinks,
	allbordercolors=1 1 1,
	allcolors=blue,
%&lt;*en&gt;
	pdfauthor={The LuaTeX-ja project team},
	pdftitle={The LuaTeX-ja package}
%&lt;/en&gt;
%&lt;*ja&gt;
	pdfauthor={LuaTeX-jaãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆãƒãƒ¼ãƒ&nbsp;},
	pdftitle={LuaTeX-jaãƒ‘ãƒƒã‚±ãƒ¼ã‚¸}
%&lt;/ja&gt;
}
\usepackage{bxghost}
%&lt;*ja&gt;
\def\HyRef@autoref#1#2{%
  \begingroup
    \Hy@safe@activestrue
    \expandafter\HyRef@autosetref\csname r@#2\endcsname{#2}{#1}%
  \endgroup\eghostguarded{}%" æ¬§æ–‡ã‚´ãƒ¼ã‚¹ãƒˆ
}
\def\figureautorefname{å›³}
\def\tableautorefname{è¡¨}
%&lt;/ja&gt;

%%%%%%%% definition env.
\usepackage{amsthm}
\theoremstyle{definition}
%&lt;en&gt;\newtheorem{defn}{Definition}
%&lt;ja&gt;\newtheorem{defn}{å®šç¾©}
\DeclareMathOperator\nint{nint}

%%%%%%%% logo
\usepackage{metalogo}
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
\DeclareRobustCommand\LuaTeX{Lua\TeX}
\DeclareRobustCommand\pdfTeX{pdf\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}-\pTeX}

%%%%%%%% other macros
\newlist{cslist}{description}{2}
\setlist[cslist]{%
    style=nextline,font=\mdseries\ttfamily,
    before*=\def\&lt;{\char`\&lt;}\def\&gt;{\char`\&gt;}\def\{{\char`\{}\def\}{\char`\}},
    topsep=\medskipamount,
%&lt;ja&gt; leftmargin=2\zw,
%&lt;en&gt; leftmargin=2em,
}

\def\labelenumii{(\arabic{enumii})}
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{{\small #1. #2}}%
  \ifdim \wd\@tempboxa &gt;\hsize
    {\small #1. #2}\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}

\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
\def\cs#1{\texttt{\upshape
  \texorpdfstring{\hbox{\ltjsetparameter{autoxspacing=false}\textbackslash#1}}{\textbackslash#1}}}
\ltjsetparameter{alxspmode={`\\,allow}}
\def\text@#1{%
  \ifnum\mathstyle&lt;\scriptstyle
	\mbox{#1}
  \else\ifnum\mathstyle&lt;\scriptscriptstyle
	\mbox{\let\f@size\sf@size\selectfont#1}
  \else
	\mbox{\let\f@size\ssf@size\selectfont#1}
  \fi\fi
}
%%%%%%%%
\makeatother
%%%%%%%%

\def\Node#1#2{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\cr
  #1\mathstrut\cr\noalign{\vskip1pt\hrule height.4pt\vskip1pt}\strut#2\cr}}}}}\,}
\def\HNode#1#2#3#4{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\cr
  #1\mathstrut\cr\noalign{\vskip1pt\hrule height.4pt\vskip1pt}%
  width:\hfill\ #2\cr height:\hfill\ #3\cr depth:\hfill\ #4\cr
  }}}}}\,}
\protected\def\+{\insertxkanjiskip late}
\makeatletter
\def\Param#1{\texorpdfstring{\@Param{#1}}{#1}} % parameter name
\protected\def\@Param#1{\eghostguarded{\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}}}
\protected\def\DParam#1{\eghostguarded{\hypertarget{fld:#1}{\underline{\smash{\textsf{#1}}}}}} % parameter name (definition)
\def\Pkg#1{\texorpdfstring{\textsf{#1}}{#1}} % packages/classes

\begin{document}
\lstset{
  vscmd=\IVSB
}

\def\meta#1{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}}
\maketitle

\tableofcontents
\bigskip

%&lt;*en&gt;
\textbf{This documentation is far from complete. It may have many
grammatical (and contextual) errors.} Also, several parts
are written in Japanese only.
%&lt;/en&gt;

\clearpage
%&lt;en&gt;\part{User's manual}
%&lt;ja&gt;\part{ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚ºãƒžãƒ‹ãƒ¥ã‚¢ãƒ«}

%&lt;en&gt;\section{Introduction}
%&lt;ja&gt;\section{ã¯ã˜ã‚ã«}


%&lt;*en&gt;
The \LuaTeX-ja package is a macro package for typesetting high-quality
Japanese documents when using \LuaTeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯ï¼Œæ¬¡ä¸–ä»£æ¨™æº–\TeX ã§ã‚ã‚‹\LuaTeX ã®ä¸Šã§ï¼Œ\pTeX ã¨åŒç­‰
ï¼ãã‚Œä»¥ä¸Šã®å“è³ªã®æ—¥æœ¬èªžçµ„ç‰ˆã‚’å®Ÿç¾ã•ã›ã‚ˆã†ã¨ã™ã‚‹ãƒžã‚¯ãƒ­ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;en&gt;\subsection{Backgrounds}
%&lt;ja&gt;\subsection{èƒŒæ™¯}

%&lt;*en&gt;
Traditionally, ASCII \pTeX, an extension of \TeX, and its derivatives
are used to typeset Japanese documents in \TeX. \pTeX\ is an engine
extension of \TeX: so it can produce high-quality Japanese documents
without using very complicated macros. But this point is a mixed
blessing: \pTeX\ is left behind from other extensions of \TeX,
especially \eTeX\ and \pdfTeX, and from changes about
Japanese processing in computers (\textit{e.g.}, the UTF-8 encoding).
%&lt;/en&gt;
%&lt;*ja&gt;
å¾“æ¥ï¼Œã€Œ\TeX ã‚’ç”¨ã„ã¦æ—¥æœ¬èªžçµ„ç‰ˆã‚’è¡Œã†ã€ã¨ã„ã£ãŸã¨ãï¼Œã‚¨ãƒ³ã‚¸ãƒ³ã¨ã—ã¦ã¯
ASCII \pTeX ã‚„ãã‚Œã®æ‹¡å¼µç‰©ãŒç”¨ã„ã‚‰ã‚Œã‚‹ã“ã¨ãŒä¸€èˆ¬çš„ã§ã‚ã£ãŸï¼Ž\pTeX ã¯\TeX
ã®ã‚¨ãƒ³ã‚¸ãƒ³æ‹¡å¼µã§ã‚ã‚Šï¼Œï¼ˆå°‘ã€…ä»•æ§˜ä¸Šä¸ä¾¿ãªç‚¹ã¯ã‚ã‚‹ã‚‚ã®ã®ï¼‰å•†æ¥­å°åˆ·ã®åˆ†é‡Žã«
ã‚‚ç”¨ã„ã‚‰ã‚Œã‚‹ã»ã©ã®é«˜å“è³ªãªæ—¥æœ¬èªžçµ„ç‰ˆã‚’å¯èƒ½ã¨ã—ã¦ã„ã‚‹ï¼Žã&nbsp;ãŒï¼Œãã‚Œã¯å¼±ç‚¹ã«
ã‚‚ãªã£ã¦ã—ã¾ã£ãŸï¼Ž\pTeX ã¨ã„ã†ï¼ˆçµ„ç‰ˆçš„ã«ï¼‰æº€è¶³ãªã‚‚ã®ãŒã‚ã£ãŸãŸã‚ï¼Œæµ·å¤–ã§
è¡Œã‚ã‚Œã¦ã„ã‚‹æ•°ã€…ã®\TeX ã®æ‹¡å¼µâ€•â€•ä¾‹ãˆã°\eTeX ã‚„\pdfTeX â€•â€•ã‚„ï¼ŒTrueType,
OpenType, Unicodeã¨ã„ã£ãŸè¨ˆç®—æ©Ÿã§æ—¥æœ¬èªžã‚’æ‰±ã†éš›ã®çŠ¶æ³ã®å¤‰åŒ–ã«è¿½å¾“ã™ã‚‹ã“ã¨
ã‚’æ€&nbsp;ã£ã¦ã—ã¾ã£ãŸã®ã&nbsp;ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
Recently extensions of \pTeX, namely \upTeX\ (Unicode-implementation
of \pTeX) and \epTeX\ (merging of \pTeX\ and
\eTeX\ extension), have developed to fill those gaps to some
extent, but gaps still exist.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã“æ•°å¹´ï¼Œè‹¥å¹²çŠ¶æ³ã¯æ”¹å–„ã•ã‚Œã¦ããŸï¼Žç¾åœ¨æ‰‹ã«å…¥ã‚‹å¤§åŠã®\pTeX ãƒã‚¤ãƒŠãƒªã§ã¯
å¤–éƒ¨UTF-8å…¥åŠ›ãŒåˆ©ç”¨å¯èƒ½ã¨ãªã‚Šï¼Œã•ã‚‰ã«UnicodeåŒ–ã‚’æŽ¨é€²ã—ï¼Œ\pTeX ã®å†…éƒ¨å‡¦ç†
ã¾ã§UnicodeåŒ–ã—ãŸ\upTeX ã‚‚é–‹ç™ºã•ã‚Œã¦ã„ã‚‹ï¼Žã¾ãŸï¼Œ\pTeX ã«\eTeX æ‹¡å¼µã‚’ãƒžãƒ¼
ã‚¸ã—ãŸ\epTeX ã‚‚ç™»å&nbsp;´ã—ï¼Œ\TeX\ Live\ 2011ã§ã¯\pLaTeX ãŒ\epTeX ã®ä¸Šã§å‹•ä½œã™
ã‚‹ã‚ˆã†ã«ãªã£ãŸï¼Žã&nbsp;ãŒï¼Œ\pdfTeX æ‹¡å¼µã®ä¸»è¦éƒ¨åˆ†ï¼ˆPDFç›´æŽ¥å‡ºåŠ›ã‚„micro-typesettingï¼‰ã‚’
\pTeX ã«å¯¾å¿œã•ã›ã‚ˆã†ã¨ã„ã†å‹•ãã¯ãªãï¼Œæµ·å¤–ã¨ã®gapã¯æœªã&nbsp;ã«ã‚ã‚‹ã®ãŒç¾çŠ¶ã§ã‚
ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
However, the appearance of \LuaTeX\ changed the whole situation. With
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ã—ã‹ã—ï¼Œ\LuaTeX ã®ç™»å&nbsp;´ã§ï¼ŒçŠ¶æ³ã¯å¤§ããå¤‰ã‚ã‚‹ã“ã¨ã«ãªã£ãŸï¼ŽLuaã‚³ãƒ¼ãƒ‰ã§
``callback''ã‚’æ›¸ãã“ã¨ã«ã‚ˆã‚Šï¼Œ\LuaTeX ã®å†…éƒ¨å‡¦ç†ã«å‰²ã‚Šè¾¼ã¿ã‚’ã‹ã‘ã‚‹ã“ã¨ãŒå¯
èƒ½ã¨ãªã£ãŸï¼Žã“ã‚Œã¯ï¼Œã‚¨ãƒ³ã‚¸ãƒ³æ‹¡å¼µã¨ã„ã†çœŸä¼¼ã‚’ã—ãªãã¦ã‚‚ï¼ŒLuaã‚³ãƒ¼ãƒ‰ã¨ãã‚Œã«
é–¢ã™ã‚‹\TeX ãƒžã‚¯ãƒ­ã‚’æ›¸ã‘ã°ï¼Œã‚¨ãƒ³ã‚¸ãƒ³æ‹¡å¼µã¨ã»ã¼åŒç¨‹åº¦ã®ã“ã¨ãŒã§ãã‚‹ã‚ˆã†ã«ãªã£
ãŸã¨ã„ã†ã“ã¨ã‚’æ„å‘³ã™ã‚‹ï¼Ž\LuaTeX-jaã¯ï¼Œã“ã®ã‚¢ãƒ—ãƒ­ãƒ¼ãƒã«ã‚ˆã£ã¦Luaã‚³ãƒ¼ãƒ‰ãƒ»
\TeX ãƒžã‚¯ãƒ­ã«ã‚ˆã£ã¦æ—¥æœ¬èªžçµ„ç‰ˆã‚’\LuaTeX ã®ä¸Šã§å®Ÿç¾ã•ã›ã‚ˆã†ã¨ã„ã†ç›®çš„ã§é–‹ç™º
ãŒå§‹ã¾ã£ãŸãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Major changes from \pTeX}
%&lt;ja&gt;\subsection{\pTeX ã‹ã‚‰ã®ä¸»ãªå¤‰æ›´ç‚¹}
\label{ssec:chgptex}

%&lt;*en&gt;
The \LuaTeX-ja package is under much influence of \pTeX\ engine. The initial
target of development was to implement features of \pTeX. However,
implementing all feature of \pTeX\ is impossible,
since all process of \LuaTeX-ja must be implemented only by Lua and \TeX\ macros.
Hence \emph{\LuaTeX-ja is not a just porting of \pTeX; unnatural
specifications/behaviors of \pTeX\ were not adopted}.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã¯ï¼Œ\pTeX ã«å¤šå¤§ãªå½±éŸ¿ã‚’å—ã‘ã¦ã„ã‚‹ï¼ŽåˆæœŸã®é–‹ç™ºç›®æ¨™ã¯ï¼Œ\pTeX ã®æ©Ÿ
èƒ½ã‚’Luaã‚³ãƒ¼ãƒ‰ã«ã‚ˆã‚Šå®Ÿè£…ã™ã‚‹ã“ã¨ã§ã‚ã£ãŸï¼Žã—ã‹ã—ï¼Œï¼ˆ\pTeX ã¯ã‚¨ãƒ³ã‚¸ãƒ³æ‹¡å¼µã§ã‚ã£ãŸã®ã«å¯¾ã—ï¼‰
\LuaTeX-jaã¯Luaã‚³ãƒ¼ãƒ‰ã¨\TeX ãƒžã‚¯ãƒ­ã‚’ç”¨ã„ã¦å…¨ã¦ã‚’å®Ÿè£…ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚‰ãªã„ãŸã‚ï¼Œ\pTeX
ã®å®Œå…¨ãªç§»æ¤ã¯ä¸å¯èƒ½ã§ã‚ã‚Šï¼Œã¾ãŸ\pTeX ã«ãŠã‘ã‚‹å®Ÿè£…ãŒã„ã•ã•ã‹ä¸å¯è§£ã«ãªã£
ã¦ã„ã‚‹ã‚ˆã†ãªçŠ¶æ³ã‚‚ç™ºè¦‹ã•ã‚ŒãŸï¼Žãã®ãŸã‚ï¼Œ\emph{\LuaTeX-jaã¯ï¼Œã‚‚ã¯ã‚„
\pTeX ã®å®Œå…¨ãªç§»æ¤ã¯ç›®æ¨™ã¨ã¯ã—ãªã„ï¼Ž\pTeX ã«ãŠã‘ã‚‹ä¸è‡ªç„¶ãªä»•æ§˜ãƒ»æŒ™å‹•ãŒã‚
ã‚Œã°ï¼Œãã“ã¯ç©æ¥µçš„ã«æ”¹ã‚ã‚‹ï¼Ž}
%&lt;/ja&gt;

%&lt;*en&gt;
The followings are major changes from \pTeX.
For more detailed information, see Part~\ref{part-imp} or other sections of this manual.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»¥ä¸‹ã¯ \pTeX ã‹ã‚‰ã®ä¸»ãªå¤‰æ›´ç‚¹ã§ã‚ã‚‹ï¼Ž
ã‚ˆã‚Šè©³ç´°ã«ã¤ã„ã¦ã¯ç¬¬\ref{part-imp}éƒ¨ãªã©æœ¬æ–‡æ›¸ã®æ®‹ã‚Šã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Command names} \pTeX\ addes several primitives, such as \cs{kanjiskip},
\cs{prebreakpenalty},~and \cs{ifydir}. They can be used as follows:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{å‘½ä»¤ã®åç§°} ä¾‹ãˆã°\pTeX ã§è¿½åŠ&nbsp;ã•ã‚ŒãŸæ¬¡ã®ã‚ˆã†ãªãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–
%&lt;/ja&gt;
\begin{lstlisting}
\kanjiskip=10pt  \dimen0=kanjiskip
\tbaselineshift=0.1zw
\dimen0=\tbaselineshift
\prebreakpenalty`ã=100
\ifydir ... \fi
\end{lstlisting}
%&lt;en&gt; However, we cannot use them under \LuaTeX-ja.
%&lt;en&gt; Instead of them, we have to write as the following.
%&lt;ja&gt; ã¯\LuaTeX-jaã«ã¯å­˜åœ¨ã—ãªã„ï¼Ž\LuaTeX-jaã§ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«è¨˜è¿°ã™ã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž
\begin{lstlisting}
\ltjsetparameter{kanjiskip=10pt}  \dimen0=\ltjgetparameter{kanjiskip}
\ltjsetparameter{talbaselineshift=0.1\zw}
\dimen0=\ltjgetparameter{talbaselineshift}
\ltjsetparameter{prebreakpenalty={`ã,100}}
\ifnum\ltjgetparameter{direction}=4 ... \fi
\end{lstlisting}
%&lt;*en&gt;
Note that \pTeX\ adds new two useful units, namely \texttt{zw}~and~\texttt{zh}.
As shown above, \emph{they are changed to \cs{zw}~and~\cs{zh} respectively} in \LuaTeX-ja.%
\footnote{\LuaTeX-ja 20200127.0 introduces \cs{ltj@zw}~and~\cs{ltj@zh}, which are copy of
  \cs{zw}~and~\cs{zh}.}
%&lt;/en&gt;
%&lt;*ja&gt;
ç‰¹ã«æ³¨æ„ã—ã¦ã»ã—ã„ã®ã¯ï¼Œ\pTeX ã§è¿½åŠ&nbsp;ã•ã‚ŒãŸ\texttt{zw}ã¨\texttt{zh}ã¨ã„ã†å˜ä½ã¯
\LuaTeX-ja ã§ã¯ä½¿ç”¨ã§ããšï¼Œ\emph{\cs{zw}, \cs{zh} ã¨åˆ¶å¾¡ç¶´ã®å½¢ã«ã—ãªã„ã¨ã„ã‘ãªã„}ã¨ã„ã†ç‚¹ã§ã‚ã‚‹
\footnote{%
  åˆ¥ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚„ãƒ¦ãƒ¼ã‚¶ãŒ\cs{zw},~\cs{zh}ã‚’æ›¸ãæ›ãˆã¦ã—ã¾ã†ã“ã¨ã«å¯¾å¿œã™ã‚‹ãŸã‚ï¼Œ
  \LuaTeX-ja 20200127.0ä»¥é™ã§ã¯ï¼Œ\cs{ltj@zw},~\cs{ltj@zh}ãŒãã‚Œãžã‚Œ\cs{zw},~\cs{zh}ã®
  ã‚³ãƒ”ãƒ¼ã¨ã—ã¦å®šç¾©ã•ã‚Œã¦ã„ã‚‹ï¼Ž
}ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Linebreak after a Japanese character}
In \pTeX, a line break after Japanese character is ignored (and
      doesn't yield a space), since line breaks (in source files) are
      permitted almost everywhere in Japanese texts. However, \LuaTeX-ja
      doesn't have this feature completely, because of a specification
      of \LuaTeX. For the detail, see Section~\ref{sec-lbreak}.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{å’Œæ–‡æ–‡å­—ç›´å¾Œã®æ”¹è¡Œ}
æ—¥æœ¬èªžã®æ–‡æ›¸ä¸­ã§ã¯æ”¹è¡Œã¯ã»ã¨ã‚“ã©ã©ã“ã§ã‚‚è¨±ã•ã‚Œã‚‹ã®ã§ï¼Œ\pTeX ã§ã¯å’Œæ–‡æ–‡å­—
      ç›´å¾Œã®æ”¹è¡Œã¯ç„¡è¦–ã•ã‚Œã‚‹ï¼ˆã‚¹ãƒšãƒ¼ã‚¹ãŒå…¥ã‚‰ãªã„ï¼‰ã‚ˆã†ã«ãªã£ã¦ã„ãŸï¼Žã—ã‹ã—ï¼Œ
      \LuaTeX-ja ã§ã¯ \LuaTeX ã®ä»•æ§˜ã®ãŸã‚ã«ã“ã®æ©Ÿèƒ½ã¯å®Œå…¨ã«ã¯å®Ÿè£…ã•ã‚Œã¦ã„ãªã„ï¼Ž
      è©³ã—ãã¯\ref{sec-lbreak}ç«&nbsp;ã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Spaces related to Japanese characters}
The insertion process of glues/kerns between two Japanese
      characters and between a Japanese character and other characters
      (we refer glues/kerns of both kinds as \textbf{JAglue}) is rewritten from
      scratch.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{å’Œæ–‡é–¢é€£ã®ç©ºç™½}
2ã¤ã®å’Œæ–‡æ–‡å­—ã®é–“ã‚„ï¼Œå’Œæ–‡æ–‡å­—ã¨æ¬§æ–‡æ–‡å­—ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³
      ï¼ˆä¸¡è€…ã‚’ã‚ã‚ã›ã¦\textbf{JAglue}ã¨å‘¼ã¶ï¼‰ã®æŒ¿å…¥å‡¦ç†ãŒ0ã‹ã‚‰æ›¸ãç›´ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{itemize}
%&lt;*en&gt;
\item As \LuaTeX's internal ligature handling is \emph{node-based}
      (\textit{e.g.}, \verb+of{}fice+ doesn't prevent ligatures), the
      insertion process of \textbf{JAglue} is now \emph{node-based}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \LuaTeX ã®å†…éƒ¨ã§ã®åˆå­—ã®æ‰±ã„ã¯ã€ŒãƒŽãƒ¼ãƒ‰ã€ã‚’å˜ä½ã¨ã—ã¦è¡Œã‚ã‚Œã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼ˆä¾‹ãˆã°ï¼Œ
      \verb+of{}fice+ ã§åˆå­—ã¯æŠ‘åˆ¶ã•ã‚Œãªã„ï¼‰ï¼Žãã‚Œã«åˆã‚ã›ï¼Œ\textbf{JAglue}ã®æŒ¿å…¥å‡¦ç†ã‚‚
      ãƒŽãƒ¼ãƒ‰å˜ä½ã§å®Ÿè¡Œã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item Furthermore, nodes between two characters which have no effects in
      line break (\textit{e.g.}, \cs{special} node) and kerns from
      italic correction are ignored in the insertion process.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã•ã‚‰ã«ï¼Œ2ã¤ã®æ–‡å­—ã®é–“ã«ã‚ã‚‹è¡Œæœ«ã§ã¯åŠ¹æžœã‚’æŒãŸãªã„ãƒŽãƒ¼ãƒ‰ï¼ˆä¾‹ãˆã° \cs{special} ãƒŽãƒ¼ãƒ‰ï¼‰ã‚„ï¼Œ
  ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ã«ä¼´ã„æŒ¿å…¥ã•ã‚Œã‚‹ã‚«ãƒ¼ãƒ³ã¯æŒ¿å…¥å‡¦ç†ä¸­ã§ã¯ç„¡è¦–ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item \emph{Caution: due to above two points, many methods which did for the
      dividing the process of the insertion of \textbf{JAglue} in \pTeX\ are not
      effective anymore.} In concrete terms, the following two methods are not effective anymore:
%&lt;/en&gt;
%&lt;*ja&gt;
\item \emph{æ³¨æ„ï¼šä¸Šã®2ã¤ã®å¤‰æ›´ã«ã‚ˆã‚Šï¼Œå¾“æ¥\textbf{JAglue}ã®æŒ¿å…¥å‡¦ç†ã‚’åˆ†æ–­ã™ã‚‹ã®ã«
      ä½¿ã‚ã‚Œã¦ã„ãŸã„ãã¤ã‹ã®æ–¹æ³•ã¯ç”¨ã„ã‚‹ã“ã¨ãŒã§ããªã„ï¼Žå…·ä½“çš„ã«ã¯ï¼Œæ¬¡ã®æ–¹æ³•ã¯ã‚‚ã¯ã‚„ç„¡åŠ¹ã§ã‚ã‚‹ï¼š}
%&lt;/ja&gt;
\begin{lstlisting}
ã¡ã‚‡{}ã£ã¨    ã¡ã‚‡\/ã£ã¨
\end{lstlisting}
%&lt;*en&gt;
      If you want to do so, please put an empty horizontal box (hbox) between it instead:
%&lt;/en&gt;
%&lt;*ja&gt;
      ã‚‚ã—åŒã˜ã“ã¨ã‚’ã‚„ã‚ŠãŸã‘ã‚Œã°ï¼Œç©ºã®æ°´å¹³ãƒœãƒƒã‚¯ã‚¹(hbox)ã‚’é–“ã«æŒŸã‚ã°ã‚ˆã„ï¼š
%&lt;/ja&gt;
\begin{lstlisting}
ã¡ã‚‡\hbox{}ã£ã¨
\end{lstlisting}

%&lt;*en&gt;
\item In the process, two Japanese fonts which only differ in their ``real''
      fonts are identified.
%&lt;/en&gt;
%&lt;*ja&gt;
\item å‡¦ç†ä¸­ã§ã¯ï¼Œ2ã¤ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯ï¼Œå®Ÿãƒ•ã‚©ãƒ³ãƒˆãŒç•°ãªã‚‹ã&nbsp;ã‘ã®å&nbsp;´åˆã«ã¯åŒä¸€è¦–
      ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
\paragraph{Directions}
From version~20150420.0, \LuaTeX-ja supports vertical writing.
We implement this feature by using callbacks of \LuaTeX; so it must \emph{not} be confused
with $\Omega$-style direction support of \LuaTeX\ itself.
Due to implementation, the dimension returned by \cs{wd},~\cs{ht}, or~\cs{dp} depends
on the content of the register \emph{only}. This is major difference with \pTeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{çµ„æ–¹å‘}
ãƒãƒ¼ã‚¸ãƒ§ãƒ³20150420.0ã‹ã‚‰ã¯ï¼Œä¸å®‰å®šãªãŒã‚‰ã‚‚\LuaTeX-ja ã«ãŠã‘ã‚‹ç¸¦çµ„ã¿ã‚’ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ï¼Ž
ãªãŠï¼Œ\LuaTeX æœ¬ä½“ã‚‚$\Omega$æµã®çµ„æ–¹å‘ã‚’ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ãŒï¼Œãã‚Œã¨ã¯å…¨ãã®åˆ¥ç‰©ã§ã‚ã‚‹ã“ã¨
ã«æ³¨æ„ã—ã¦ã»ã—ã„ï¼Ž
ç‰¹ã«ï¼Œç•°ãªã£ãŸçµ„æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ã‚’æ‰±ã†å&nbsp;´åˆã«ã¯
\cs{wd}, \cs{ht}, \cs{dp}ç­‰ã®ä»•æ§˜ãŒ\pTeX ã¨ç•°ãªã‚‹ã®ã§æ³¨æ„ï¼Žè©³ç´°ã¯ç¬¬\ref{sec-direction}ç«&nbsp;ã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{\cs{discretionary}}
Japanese characters in discretionary break (\cs{discretionary}) is not supported.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\cs{discretionary}}
 \cs{discretionary} å†…ã«ç›´æŽ¥å’Œæ–‡æ–‡å­—ã‚’è¨˜è¿°ã™ã‚‹ã“ã¨ã¯ï¼Œ\pTeX ã«ãŠã„ã¦ã‚‚æƒ³å®šã•ã‚Œã¦ã„ãªã‹ã£ãŸ
 æ„ŸãŒã‚ã‚‹ãŒï¼Ž\LuaTeX-jaã«ãŠã„ã¦ã‚‚æƒ³å®šã—ã¦ã„ãªã„ï¼Žå’Œæ–‡æ–‡å­—ã‚’ã©ã†
      ã—ã¦ã‚‚ä½¿ã„ãŸã„å&nbsp;´åˆã¯ \cs{hbox} ã§æ‹¬ã‚‹ã“ã¨ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Greek and Cyrillic letters, and ISO~8859-1 symbols}
By default, \LuaTeX-ja uses Japanese fonts to typeset Greek and Cyrillic letters,
      To change this behavior,
      put \verb!\ltjsetparameter{jacharrange={-2,-3}}! in the preamble.
      For the detailed description, see Subsection~\ref{ssec:setrange}.

From version~20150906.0, characters which belongs both ISO~8859-1 and JIS~X~0208,
such as \P~and~\S, are now typeset in alphabetic fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ã‚®ãƒªã‚·ãƒ£æ–‡å­—ãƒ»ã‚­ãƒªãƒ«æ–‡å­—ã¨ISO~8859-1ã®è¨˜å·}
æ¨™æº–ã§ã¯ï¼Œ\LuaTeX-jaã¯ã‚®ãƒªã‚·ãƒ£æ–‡å­—ã‚„ã‚­ãƒªãƒ«æ–‡å­—ã‚’å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’ä½¿ã£
      ã¦çµ„ã‚€ï¼Žã‚®ãƒªã‚·ãƒ£èªžãªã©ã‚’æœ¬æ&nbsp;¼çš„ã«çµ„ã‚€ãªã©ã“ã®çŠ¶æ³ãŒæœ›ã¾ã—ããªã„å&nbsp;´åˆï¼Œ
      ãƒ—ãƒªã‚¢ãƒ³ãƒ–ãƒ«ã«
\begin{lstlisting}
 \ltjsetparameter{jacharrange={-2,-3}}
\end{lstlisting}
      ã‚’å…¥ã‚Œã‚‹ã¨
      ä¸Šè¨˜ç¨®é¡žã®æ–‡å­—ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’ç”¨ã„ã¦çµ„ã¾ã‚Œã‚‹ã‚ˆã†ã«ãªã‚‹ï¼Ž
      è©³ã—ã„èª¬æ˜Žã¯\ref{ssec:setrange}ç¯€ã‚’å‚ç…§ã—ã¦ã»ã—ã„ï¼Ž

ã¾ãŸï¼Œ\P,~\S ã¨ã„ã£ãŸISO~8859-1ã®ä¸Šä½é&nbsp;˜åŸŸã¨JIS~X~0208ã®å…±é€šéƒ¨åˆ†ã®æ–‡å­—ã¯
      ãƒãƒ¼ã‚¸ãƒ§ãƒ³20150906.0ã‹ã‚‰æ¨™æº–ã§æ¬§æ–‡æ‰±ã„ã¨ãªã£ãŸï¼Ž\LaTeXe\ 2017/01/01ä»¥é™ã§ã¯
æ¨™æº–ã§TUã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®Latin Modernãƒ•ã‚©ãƒ³ãƒˆãŒä½¿ã‚ã‚Œã‚‹ã®ã§ï¼Œ
ç‰¹ã«ä½•ã‚‚ã›ãšã‚½ãƒ¼ã‚¹ä¸­ã«ãã®ã¾ã¾è¨˜è¿°ã—ã¦ã‚‚ã“ã‚Œã‚‰ã®æ–‡å­—ãŒå‡ºåŠ›ã•ã‚Œã‚‹ï¼Ž
å’Œæ–‡æ‰±ã„ã§å‡ºåŠ›ã™ã‚‹ã«ã¯ \verb+\ltjjachar`Â§+ ã®ã‚ˆã†ã« \cs{ltjjachar} å‘½ä»¤
ã‚’ä½¿ãˆã°ã‚ˆã„ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Notations}
%&lt;ja&gt;\subsection{ç”¨èªžã¨è¨˜æ³•}

%&lt;*en&gt;
In this document, the following terms and notations are used:
%&lt;/en&gt;
%&lt;*ja&gt;
æœ¬ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§ã¯ï¼Œä»¥ä¸‹ã®ç”¨èªžã¨è¨˜æ³•ã‚’ç”¨ã„ã‚‹ï¼š
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item Characters are classified into following two types.
      Note that the classification can be customized by a user
      (see Subsection~\ref{ssec:setrange}).
%&lt;/en&gt;
%&lt;*ja&gt;
\item æ–‡å­—ã¯æ¬¡ã®2ç¨®é¡žã«åˆ†ã‘ã‚‰ã‚Œã‚‹ï¼Žã“ã®é¡žåˆ¥ã¯å›ºå®šã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã§ã¯ãªãï¼Œãƒ¦ãƒ¼ã‚¶ãŒå¾Œã‹ã‚‰å¤‰æ›´å¯èƒ½ã§ã‚ã‚‹
      ï¼ˆ\ref{ssec:setrange}ç¯€ã‚’å‚ç…§ï¼‰ï¼Ž
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item \textbf{JAchar}: standing for characters which is used in Japanese typesetting,
      such as Hiragana,~Katakana, Kanji, and~other Japanese punctuation marks.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \textbf{JAchar}: ã²ã‚‰ãŒãªï¼Œã‚«ã‚¿ã‚«ãƒŠï¼Œæ¼¢å­—ï¼Œå’Œæ–‡ç”¨ã®ç´„ç‰©ã¨ã„ã£ãŸ
      æ—¥æœ¬èªžçµ„ç‰ˆã«ä½¿ã‚ã‚Œã‚‹æ–‡å­—ã®ã“ã¨ã‚’æŒ‡ã™ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\item \textbf{ALchar}: standing for all other characters like latin alphabets.
%&lt;ja&gt;\item \textbf{ALchar}: ãƒ©ãƒ†ãƒ³ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã‚’å§‹ã‚ã¨ã™ã‚‹ï¼Œãã®ä»–å…¨ã¦ã®æ–‡å­—ã‚’æŒ‡ã™ï¼Ž
\end{itemize}

%&lt;*en&gt;
We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar},
and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%&lt;/en&gt;
%&lt;*ja&gt;
ãã—ã¦ï¼Œ\textbf{ALchar}ã®å‡ºåŠ›ã«ç”¨ã„ã‚‰ã‚Œã‚‹ãƒ•ã‚©ãƒ³ãƒˆã‚’\emph{æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆ}ã¨å‘¼ã³ï¼Œ
\textbf{JAchar}ã®å‡ºåŠ›ã«ç”¨ã„ã‚‰ã‚Œã‚‹ãƒ•ã‚©ãƒ³ãƒˆã‚’\emph{å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆ}ã¨å‘¼ã¶ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item A word in a sans-serif font with underline (like \Param{prebreakpenalty})
      means an internal parameter for Japanese typesetting, and it
      is used as a key in \cs{ltjsetparameter} command.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ä¸‹ç·šã¤ããƒ­ãƒ¼ãƒžãƒ³ä½“ã§æ›¸ã‹ã‚ŒãŸèªžï¼ˆä¾‹ï¼š\Param{prebreakpenalty}ï¼‰ã¯æ—¥æœ¬èªžçµ„ç‰ˆç”¨ã®
      ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’è¡¨ã—ï¼Œã“ã‚Œã‚‰ã¯ \cs{ltjsetparameter} å‘½ä»¤ã®ã‚­ãƒ¼ã¨ã—ã¦
      ç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item A word in a sens-serif font without underline (like \Pkg{fontspec})
      means a package or a class of \LaTeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ä¸‹ç·šãªã—ã‚µãƒ³ã‚»ãƒªãƒ•ä½“ã®èªžï¼ˆä¾‹ï¼š\Pkg{fontspec}ï¼‰ã¯\LaTeX ã®
      ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚„ã‚¯ãƒ©ã‚¹ã‚’è¡¨ã™ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item In this document, natural numbers start from~zero.
  $\omega$ denotes the set of all natural numbers which can be used in \TeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\item æœ¬ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§ã¯ï¼Œè‡ªç„¶æ•°ã¯0ã‹ã‚‰å§‹ã¾ã‚‹ï¼Žï¼ˆ\TeX ã§æ‰±ãˆã‚‹ï¼‰è‡ªç„¶æ•°å…¨ä½“ã®é›†åˆã¯$\omega$ã¨è¡¨è¨˜ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{itemize}

%&lt;en&gt;\subsection{About the project}
%&lt;ja&gt;\subsection{ãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆã«ã¤ã„ã¦}

%&lt;en&gt;\paragraph{Project Wiki} Project Wiki is under construction.
%&lt;ja&gt;\paragraph{ãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆWiki} ãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆWikiã¯æ§‹ç¯‰ä¸­ã§ã‚ã‚‹ï¼Ž
%&lt;*en&gt;
\begin{itemize}
\item \url{https://github.com/luatexja/luatexja/wiki/Home(en)} (English)
\item \url{https://github.com/luatexja/luatexja/wiki} (Japanese)
\item \url{https://github.com/luatexja/luatexja/wiki/Home(zh)} (Chinese)
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{itemize}
\item \url{https://github.com/luatexja/luatexja/wiki}ï¼ˆæ—¥æœ¬èªžï¼‰
\item \url{https://github.com/luatexja/luatexja/wiki/Home(en)}ï¼ˆè‹±èªžï¼‰
\item \url{https://github.com/luatexja/luatexja/wiki/Home(zh)}ï¼ˆä¸­å›½èªžï¼‰
\end{itemize}
%&lt;/ja&gt;

%&lt;en&gt;This project is hosted by GitHub.
%&lt;ja&gt;æœ¬ãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆã¯GitHubã®ã‚µãƒ¼ãƒ“ã‚¹ã‚’ç”¨ã„ã¦é‹å–¶ã•ã‚Œã¦ã„ã‚‹ï¼Ž

%&lt;en&gt;\paragraph{Members}\
%&lt;ja&gt;\clearpage\paragraph{é–‹ç™ºãƒ¡ãƒ³ãƒãƒ¼}\

%&lt;*en&gt;
\begin{multienumerate}
\def\labelenumi{$\bullet$}
\mitemxxx{Hironori KITAGAWA}{Kazuki MAEDA}{Takayuki YATO}
\mitemxxx{Yusuke KUROKI}{Noriyuki ABE}{Munehiro YAMAMOTO}
\mitemxxx{Tomoaki HONDA}{Shuzaburo SAITO}{MA Qiyuan}
\end{multienumerate}
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{multienumerate}
\def\labelenumi{$\bullet$}
\mitemxxx{åŒ—å· å¼˜å…¸}{å‰ç”° ä¸€è²´}{å…«ç™» å´‡ä¹‹}
\mitemxxx{é»’æœ¨ è£•ä»‹}{é˜¿éƒ¨ ç´€è¡Œ}{å±±æœ¬ å®—å®}
\mitemxxx{æœ¬ç”° çŸ¥äº®}{é½‹è—¤ ä¿®ä¸‰éƒŽ}{é¦¬ èµ·åœ’}
\end{multienumerate}
%&lt;/ja&gt;

% \paragraph{Acknowledgments} -- æŒ¿å…¥ã™ã‚‹ãªã‚‰ã“ã“

%&lt;en&gt;\clearpage
%&lt;en&gt;\section{Getting Started}
%&lt;ja&gt;\section{ä½¿ã„æ–¹}
%&lt;en&gt;\subsection{Installation}
%&lt;ja&gt;\subsection{ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«}
\label{ssec:install}
%&lt;en&gt;The following packages are needed for the \LuaTeX-ja\ package.
%&lt;ja&gt;\LuaTeX-jaãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®å‹•ä½œã«ã¯æ¬¡ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸é¡žãŒå¿…è¦ã§ã‚ã‚‹ï¼Ž
\begin{itemize}
\item \href{http://www.luatex.org/}{\LuaTeX}\ 1.10.0 (or later)
%&lt;en&gt;  (DVI output (\cs{outputmode=0} is not supported.)
%&lt;ja&gt;  ï¼ˆDVIå‡ºåŠ›(\cs{outputmode=0})ã¯å¯¾å¿œã—ã¦ã„ãªã„ï¼Žï¼‰
\item recent \href{https://github.com/latex3/luaotfload}{\Pkg{luaotfload}} (v3.1 or later recommended)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
\item \href{https://github.com/josephwright/etoolbox/}{\Pkg{etoolbox}}
%&lt;en&gt;  (if you want to use \LuaTeX-ja with \LaTeXe)
%&lt;ja&gt;  ï¼ˆ\LaTeXe ä¸‹ã§\LuaTeX-jaã‚’ä½¿ã†å&nbsp;´åˆï¼‰
\item \Pkg{ltxcmds}, \Pkg{pdftexcmds}
\item \href{https://github.com/wspr/fontspec/}{\Pkg{fontspec}} v2.7c (or later)
%&lt;*en&gt;
\item \emph{Harano Aji fonts} (\url{https://github.com/trueroad/HaranoAjiFonts})\\
  More specifically, HaranoAjiMincho-Regular~and~HaranoAjiGothic-Medium.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \emph{åŽŸãƒŽå‘³ãƒ•ã‚©ãƒ³ãƒˆ(\url{https://github.com/trueroad/HaranoAjiFonts})}\\
\LuaTeX-jaã®æœ€ä½Žé™ã®å‹•ä½œã«ã¯åŽŸãƒŽå‘³æ˜ŽæœRegular~(HaranoAjiMincho-Regular)ã¨
åŽŸãƒŽå‘³è§’ã‚´ã‚·ãƒƒã‚¯Medium~(HaranoAjiGothic-Medium)ãŒã‚ã‚Œã°ååˆ†ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
Now \LuaTeX-ja is available from
CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and
the following distributions:
  \begin{itemize}
  \item \href{https://www.tug.org/texlive/}{\TeX~Live} (in \texttt{texmf-dist/tex/luatex/luatexja})
  \item MiK\TeX\ (in \texttt{luatexja.tar.xz})
  \end{itemize}
Harano Aji fonts are also available in these distributions
(\texttt{haranoaji} in \TeX~Live and MiK\TeX).
%&lt;/en&gt;
%&lt;*ja&gt;
ç¾åœ¨ï¼Œ\LuaTeX-jaã¯CTAN (\texttt{macros/luatex/generic/luatexja})ã«åŽéŒ²ã•ã‚Œã¦ã„ã‚‹ä»–ï¼Œ
ä»¥ä¸‹ã®ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ãƒ¥ãƒ¼ã‚·ãƒ§ãƒ³ã«ã‚‚åŽéŒ²ã•ã‚Œã¦ã„ã‚‹ï¼š
  \begin{itemize}
  \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
  \item \TeX~Live (\texttt{texmf-dist/tex/luatex/luatexja})
  \end{itemize}
ã“ã‚Œã‚‰ã®ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ãƒ¥ãƒ¼ã‚·ãƒ§ãƒ³ã¯åŽŸãƒŽå‘³ãƒ•ã‚©ãƒ³ãƒˆã‚‚åŽéŒ²ã—ã¦ã„ã‚‹
ï¼ˆ\TeX~Live, MiK\TeX ã§ã¯\texttt{haranoaji}ï¼‰.
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{HarfBuzz~and~\LuaTeX-ja}
Using \LuaTeX-ja with LuaHB\TeX (\LuaTeX\ integrated with
\href{https://github.com/harfbuzz/harfbuzz}{HarfBuzz}) is not well tested.
Maybe documents can typeset without an error,
but with unwanted results (especially, vertical typesetting and \cs{CID}).

Especially,
\emph{We don't recommend defining a Japanese font with HarfBuzz},
by specifying \texttt{Renderer=Harfbuzz}~etc.\ (\Pkg{fontspec}) or~{mode=harf} (otherwise).
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{HarfBuzzã¨\LuaTeX-ja}
ç¾æ™‚ç‚¹ã§ã¯ï¼ŒHarfBuzzã®æ©Ÿèƒ½ã‚’ç”¨ã„ãŸã¨ãã®\LuaTeX-jaã®ä½¿ç”¨ã¯ååˆ†ã«ãƒ†ã‚¹ãƒˆã•ã‚Œã¦ã„ãªã„ï¼Ž
ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã›ãšã«ã‚¿ã‚¤ãƒ—ã‚»ãƒƒãƒˆã§ãã‚‹ã‹ã‚‚ã—ã‚Œãªã„ãŒï¼Œç‰¹ã«ç¸¦çµ„æ™‚ã‚„
\cs{CID}ãªã©ã§æ„å›³ã—ãªã„çµæžœã¨ãªã‚Šã†ã‚‹å¯èƒ½æ€§ãŒå¤§ãã„ï¼Ž
ç‰¹ã«ï¼Œ\emph{\texttt{Renderer=Harfbuzz}ç­‰ï¼ˆ\Pkg{fontspec}ï¼‰ã‚„\texttt{mode=harf}æŒ‡å®šï¼ˆãã‚Œä»¥å¤–ï¼‰ã‚’é€šã˜ã¦
  å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾ã—ã¦HarfBuzzã‚’ç”¨ã„ã‚‹ã“ã¨ã¯æŽ¨å¥¨ã—ãªã„}ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{Manual installation}
%&lt;ja&gt;\paragraph{æ‰‹å‹•ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ–¹æ³•}

\begin{enumerate}
%&lt;*en&gt;
\item Download the source, by one of the following method.
      At the present, \LuaTeX-ja has no \emph{stable} release.

\begin{itemize}
\item Clone the Git repository by
\begin{lstlisting}
$ git clone https://github.com/luatexja/luatexja.git
\end{lstlisting}
\item Download the \texttt{zip} archive of HEAD in the \texttt{master} branch from
\begin{flushleft}
\url{https://github.com/luatexja/luatexja/archive/refs/heads/master.zip}.
\end{flushleft}
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚½ãƒ¼ã‚¹ã‚’ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã®æ–¹æ³•ã§å–å¾—ã™ã‚‹ï¼Žç¾åœ¨å…¬é–‹ã•ã‚Œã¦ã„ã‚‹ã®ã¯ã‚ãã¾ã§ã‚‚
      é–‹ç™ºç‰ˆã§ã‚ã£ã¦ï¼Œå®‰å®šç‰ˆã§ãªã„ã“ã¨ã«æ³¨æ„ï¼Ž

\begin{itemize}
\item Gitãƒªãƒã‚¸ãƒˆãƒªã‚’æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã‚¯ãƒ­ãƒ¼ãƒ³ã™ã‚‹ï¼š
\begin{lstlisting}
$ git clone https://github.com/luatexja/luatexja.git
\end{lstlisting}
\item \texttt{master} ãƒ–ãƒ©ãƒ³ãƒã®ã‚¹ãƒŠãƒƒãƒ—ã‚·ãƒ§ãƒƒãƒˆï¼ˆ\texttt{zip} å½¢å¼ï¼‰ã‚’ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã™ã‚‹ï¼š
\begin{flushleft}
\url{https://github.com/luatexja/luatexja/archive/refs/heads/master.zip}.
\end{flushleft}
\end{itemize}
\texttt{master} ãƒ–ãƒ©ãƒ³ãƒï¼ˆå¾“ã£ã¦ï¼ŒCTANå†…ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã‚‚ï¼‰ã¯ãŸã¾ã«ã—ã‹æ›´æ–°ã•ã‚Œãªã„ã“ã¨ã«æ³¨æ„ï¼Ž
ä¸»ãªé–‹ç™ºã¯\texttt{master}ã®å¤–ã§è¡Œã‚ã‚Œï¼Œæ¯”è¼ƒçš„ã¾ã¨ã¾ã£ã¦ããŸã‚‰ãã‚Œã‚’ \texttt{master} ã«
åæ˜&nbsp;ã•ã›ã‚‹ã“ã¨ã«ã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item Extract the archive. You will see \texttt{src/} and several other sub-directories.
But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã€ŒGitãƒªãƒã‚¸ãƒˆãƒªã‚’ã‚¯ãƒ­ãƒ¼ãƒ³ã€ä»¥å¤–ã®æ–¹æ³•ã§ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã‚’å–å¾—ã—ãŸãªã‚‰ã°ï¼Œãã‚Œã‚’å±•é–‹ã™ã‚‹ï¼Ž
      \texttt{src/} ã‚’ã¯ã˜ã‚ã¨ã—ãŸã„ãã¤ã‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã§ãã‚‹ãŒï¼Œ
      å‹•ä½œã«ã¯ \texttt{src/} ä»¥ä¸‹ã®å†…å®¹ã&nbsp;ã‘ã§ååˆ†ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item If you downloaded this package from CTAN, you have to run following commands
    to generate classes:
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚‚ã—CTANã‹ã‚‰æœ¬ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’å–å¾—ã—ãŸã®ã§ã‚ã‚Œã°ï¼Œæ—¥æœ¬èªžç”¨ã‚¯ãƒ©ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ç”Ÿæˆã™ã‚‹ãŸã‚ã«ï¼Œ
ä»¥ä¸‹ã‚’å®Ÿè¡Œã™ã‚‹å¿…è¦ãŒã‚ã‚‹ï¼š
%&lt;/ja&gt;
\begin{lstlisting}
$ cd src
$ lualatex ltjclasses.ins
$ lualatex ltjsclasses.ins
$ lualatex ltjltxdoc.ins
\end{lstlisting}

%&lt;*en&gt;
\item Copy all the contents of \texttt{src/} into one of your \texttt{TEXMF} tree.
      \texttt{TEXMF/tex/luatex/luatexja/} is an example location.
      If you cloned entire Git repository, making a symbolic link of \texttt{src/}
      instead copying is also good.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \texttt{src} ã®ä¸­èº«ã‚’è‡ªåˆ†ã® \texttt{TEXMF} ãƒ„ãƒªãƒ¼ã«ã‚³ãƒ”ãƒ¼ã™ã‚‹ï¼Ž
      å&nbsp;´æ‰€ã®ä¾‹ã¨ã—ã¦ã¯ï¼Œä¾‹ãˆã°
\begin{quote}
 \texttt{TEXMF/tex/luatex/luatexja/}
\end{quote}
      ãŒã‚ã‚‹ï¼Ž
      ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ãŒåˆ©ç”¨ã§ãã‚‹ç’°å¢ƒã§ï¼Œã‹ã¤ãƒªãƒã‚¸ãƒˆãƒªã‚’ç›´æŽ¥å–å¾—ã—ãŸã®ã§ã‚ã‚Œã°ï¼Œ
      ï¼ˆæ›´æ–°ã‚’å®¹æ˜“ã«ã™ã‚‹ãŸã‚ã«ï¼‰ã‚³ãƒ”ãƒ¼ã§ã¯ãªããƒªãƒ³ã‚¯ã‚’è²¼ã‚‹ã“ã¨ã‚’å‹§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item If \texttt{mktexlsr} is needed to update the file name database, make it so.
%&lt;/en&gt;
%&lt;*ja&gt;
\item å¿…è¦ãŒã‚ã‚Œã°ï¼Œ\texttt{mktexlsr} ã‚’å®Ÿè¡Œã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{enumerate}

%&lt;*en&gt;
\subsection{Cautions}
For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{æ³¨æ„ç‚¹}
\pTeX ã‹ã‚‰ã®å¤‰æ›´ç‚¹ã¨ã—ã¦ï¼Œ\ref{ssec:chgptex}ç¯€ã‚‚ç†Ÿèª­ã™ã‚‹ã®ãŒæœ›ã¾ã—ã„ï¼Ž
ã“ã“ã§ã¯ä¸€èˆ¬çš„ãªæ³¨æ„ç‚¹ã‚’è¿°ã¹ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item The encoding of your source file must be UTF-8. Other
      encodings, such as EUC-JP or Shift-JIS, are not supported.
%&lt;/en&gt;
%&lt;*ja&gt;
\item åŽŸç¨¿ã®ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã¯UTF-8å›ºå®šã§ã‚ã‚‹ï¼Ž
      å¾“æ¥æ—¥æœ¬èªžã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã¨ã—ã¦ç”¨ã„ã‚‰ã‚Œã¦ããŸEUC-JPã‚„Shift-JISã¯ä½¿ç”¨ã§ããªã„ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item \LuaTeX-ja is very slower than \pTeX, and uses a lot of memory.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \LuaTeX-jaã¯å‹•ä½œãŒ\pTeX ã«æ¯”ã¹ã¦éžå¸¸ã«é…ã„ï¼Ž
  ã‚³ãƒ¼ãƒ‰ã‚’èª¿æ•´ã—ã¦å¾ã€…ã«é€Ÿãã—ã¦ã„ã‚‹ãŒï¼Œã¾ã&nbsp;æº€è¶³ã§ãã‚‹é€Ÿåº¦ã§ã¯ãªã„ï¼Ž
  ã¾ãŸï¼Œå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’èª­ã¿è¾¼ã‚€ãŸã‚ã«å¤šé‡ã®ãƒ¡ãƒ¢ãƒªã‚’æ¶ˆè²»ã™ã‚‹ã“ã¨ã«ã‚‚æ³¨æ„ãŒå¿…è¦ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\item
%&lt;*en&gt;
Note that when \LuaTeX-ja is loaded in plain \LuaTeX,
we cannot use color specification on font loading, such as
\begin{lstlisting}
  \font\hoge=lmroman10-regular.otf:color=FF0000 % \font primitive
\end{lstlisting}
This is because codes for shifting baseline in math mode (\LuaTeX-ja) collide with and prevents loading
codes for font color (\Pkg{luaotfload}) in these environments.
\emph{We recommend to use \LaTeX\ 2020-02-02 (or later)}, since we can avoid this collision in there.
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠï¼Œ\LuaTeX-jaã‚’plain~\LuaTeX ã§ç”¨ã„ã‚‹å&nbsp;´åˆï¼Œ
ä»¥ä¸‹ã®ã‚ˆã†ãª\emph{ãƒ•ã‚©ãƒ³ãƒˆèª­ã¿è¾¼ã¿æ™‚ã®è‰²æŒ‡å®š}ï¼ˆ\cs{textcolor}å‘½ä»¤ã§ã¯ãªãï¼ï¼‰\emph{ã¯åˆ©ç”¨ã§ããªã„}ï¼Ž
\begin{lstlisting}
  \font\hoge=lmroman10-regular.otf:color=FF0000 % \font primitive
\end{lstlisting}
ã“ã‚Œã¯ï¼Œ\LuaTeX-jaã«ã‚ˆã‚‹æ•°å¼å†…ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£ï¼ˆ\ref{ssec:baseline}ç¯€ï¼‰ã®ã‚³ãƒ¼ãƒ‰ãŒ
\Pkg{luaotfload}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®ãƒ•ã‚©ãƒ³ãƒˆè‰²å‡¦ç†ã®ã‚³ãƒ¼ãƒ‰ã¨è¡çªã™ã‚‹ãŸã‚ã§ã‚ã‚‹ï¼Ž
\LaTeX\ 2020-02-02ä»¥é™ã§ã¯è¡çªå›žé¿ã®ãŸã‚ã®ä»•çµ„ã¿ãŒå‚™ã‚ã£ã¦ã„ã‚‹ã®ã§ï¼Ž\emph{\LaTeX\ 2020-02-02ä»¥é™ã§ã®ä½¿ç”¨ã‚’å‹§ã‚ã‚‹}ï¼Ž
%&lt;/ja&gt;
\end{itemize}

%&lt;en&gt;\subsection{Using in plain \TeX}
%&lt;ja&gt;\subsection{plain \TeX ã§ä½¿ã†}
\label{ssec:plain}

%&lt;en&gt;To use \LuaTeX-ja in plain \TeX, simply put the following at the beginning of the document:
%&lt;ja&gt;\LuaTeX-jaã‚’ plain \TeX ã§ä½¿ã†ãŸã‚ã«ã¯ï¼Œå˜ã«æ¬¡ã®è¡Œã‚’ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®å†’é&nbsp;­ã«è¿½åŠ&nbsp;ã™ã‚Œã°ã‚ˆã„ï¼š
\begin{lstlisting}
\input luatexja.sty
\end{lstlisting}
%&lt;en&gt;This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese documents:
%&lt;ja&gt;ã“ã‚Œã§ï¼ˆ\texttt{ptex.tex}ã®ã‚ˆã†ã«ï¼‰æ—¥æœ¬èªžçµ„ç‰ˆã®ãŸã‚ã®æœ€ä½Žé™ã®è¨­å®šãŒãªã•ã‚Œã‚‹ï¼š

\begin{itemize}
%&lt;*en&gt;
\item The following 12~Japanese fonts are preloaded:
\begin{center}\small
\begin{tabular}{llllll}
\toprule
\textbf{direction}&amp;
\textbf{classification}&amp;\textbf{font name}&amp;\bfseries ``10\,pt''&amp;\bfseries ``7\,pt''&amp;\bfseries ``5\,pt''\\\midrule
\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&amp;
\emph{mincho}&amp;HaranoAjiMincho-Regular&amp;\cs{tenmin}&amp;\cs{sevenmin}&amp;\cs{fivemin}\\
&amp;\emph{gothic}&amp;HaranoAjiGothic-Medium&amp;\cs{tengt} &amp;\cs{sevengt} &amp;\cs{fivegt}\\
\midrule
\smash{\raisebox{-1ex}{\emph{tate} (vertical)}}&amp;
\emph{mincho}&amp;HaranoAjiMincho-Regular&amp;\cs{tentmin}&amp;\cs{seventmin}&amp;\cs{fivetmin}\\
&amp;\emph{gothic}&amp;HaranoAjiGothic-Medium&amp;\cs{tentgt} &amp;\cs{seventgt} &amp;\cs{fivetgt}\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/en&gt;
%&lt;*ja&gt;
\item ä»¥ä¸‹ã®12å€‹ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒå®šç¾©ã•ã‚Œã‚‹ï¼š
\begin{center}\small
\begin{tabular}{llllll}
\toprule
\emph{çµ„æ–¹å‘}&amp;\emph{å­—ä½“}&amp;\emph{ãƒ•ã‚©ãƒ³ãƒˆå}&amp;\bfseries``10\,pt''&amp;\bfseries``7\,pt''&amp;\bfseries``5\,pt''\\\midrule
\smash{\raisebox{-0.7\zh}{æ¨ªçµ„}}&amp;
æ˜Žæœä½“&amp;åŽŸãƒŽå‘³æ˜ŽæœRegular&amp;\cs{tenmin}&amp;\cs{sevenmin}&amp;\cs{fivemin}\\
&amp;\textgt{ã‚´ã‚·ãƒƒã‚¯ä½“}&amp;åŽŸãƒŽå‘³è§’ã‚´ã‚·ãƒƒã‚¯Medium&amp;\cs{tengt} &amp;\cs{sevengt} &amp;\cs{fivegt}\\
\midrule
\smash{\raisebox{-0.7\zh}{ç¸¦çµ„}}&amp;
æ˜Žæœä½“&amp;åŽŸãƒŽå‘³æ˜ŽæœRegular&amp;\cs{tentmin}&amp;\cs{seventmin}&amp;\cs{fivetmin}\\
&amp;\textgt{ã‚´ã‚·ãƒƒã‚¯ä½“}&amp;åŽŸãƒŽå‘³è§’ã‚´ã‚·ãƒƒã‚¯Medium&amp;\cs{tentgt} &amp;\cs{seventgt} &amp;\cs{fivetgt}\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item The ``default'' Japanese fonts (and~JFMs for them) can be 
  modified by defining \cs{ltj@stdmcfont} etc.\ \emph{before}
  one inputs \texttt{luatexja.sty} (Subsection~\ref{ssec:cfg}).
%&lt;/en&gt;
%&lt;*ja&gt;
\item æ¨™æº–å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚„JFMã‚’åŽŸãƒŽå‘³ãƒ•ã‚©ãƒ³ãƒˆã‹ã‚‰åˆ¥ã®ã‚‚ã®ã«ç½®ãæ›ãˆã‚‹ã«ã¯ï¼Œ
  \cs{ltj@stdmcfont}ç­‰ã‚’\texttt{luatexja.sty}èª­ã¿è¾¼ã¿\emph{å‰}ã«å®šç¾©ã™ã‚Œã°ã‚ˆã„ï¼Ž
  \ref{ssec:cfg}ç¯€ã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item A character in an alphabetic font is generally smaller than a
      Japanese font in the same size. So actual size specification of
      these Japanese fonts is in fact smaller than that of alphabetic
      fonts, namely scaled by 0.962216.
%&lt;/en&gt;
%&lt;*ja&gt;
\item æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®æ–‡å­—ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®æ–‡å­—ã‚ˆã‚Šã‚‚ï¼ŒåŒã˜æ–‡å­—ã‚µã‚¤ã‚ºã§ã‚‚
      ä¸€èˆ¬ã«å°ã•ããƒ‡ã‚¶ã‚¤ãƒ³ã•ã‚Œã¦ã„ã‚‹ï¼Žãã“ã§ï¼Œæ¨™æº–ã§ã¯ã“ã‚Œã‚‰ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®å®Ÿéš›ã®ã‚µã‚¤ã‚ºã¯æŒ‡å®šã•ã‚ŒãŸå€¤ã‚ˆã‚Šã‚‚
      å°ã•ããªã‚‹ã‚ˆã†ã«è¨­å®šã•ã‚Œã¦ãŠã‚Šï¼Œå…·ä½“çš„ã«ã¯æŒ‡å®šã®0.962216å€ã«ã‚¹ã‚±ãƒ¼ãƒ«ã•ã‚Œã‚‹ï¼Ž
      ã“ã®0.962216ã¨ã„ã†æ•°å€¤ã‚‚ï¼Œ\pTeX ã«ãŠã‘ã‚‹ã‚¹ã‚±ãƒ¼ãƒªãƒ³ã‚°ã‚’è¸è¥²ã—ãŸå€¤ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
\item The amount of glue that are inserted between a \textbf{JAchar} and
      an \textbf{ALchar} (the parameter \Param{xkanjiskip}) is set to
%&lt;/en&gt;
%&lt;*ja&gt;
\item \textbf{JAchar}ã¨\textbf{ALchar}ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼(\Param{xkanjiskip})ã®
      é‡ã¯æ¬¡ã®ã‚ˆã†ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ï¼š
%&lt;/ja&gt;
\[
 (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}}.
\]
\end{itemize}

%&lt;en&gt;\subsection{Using in \LaTeX}
%&lt;ja&gt;\subsection{\LaTeX ã§ä½¿ã†}
\label{ssec:ltx}

%&lt;*en&gt;
Using in \LaTeXe\ is basically same. To set up the minimal environment
for Japanese, you only have to load \texttt{luatexja.sty}:
%&lt;/en&gt;
%&lt;*ja&gt;
\LaTeXe ã‚’ç”¨ã„ã‚‹å&nbsp;´åˆã‚‚åŸºæœ¬çš„ã«ã¯åŒã˜ã§ã‚ã‚‹ï¼Žæ—¥æœ¬èªžçµ„ç‰ˆã®ãŸã‚ã®æœ€ä½Žé™ã®ç’°å¢ƒã‚’
è¨­å®šã™ã‚‹ãŸã‚ã«ã¯ï¼Œ\texttt{luatexja.sty}ã‚’èª­ã¿è¾¼ã‚€ã&nbsp;ã‘ã§ã‚ˆã„ï¼š
%&lt;/ja&gt;
\begin{lstlisting}
\usepackage{luatexja}
\end{lstlisting}
%&lt;*en&gt;
It also does minimal settings (counterparts in \pLaTeX\ are \texttt{%
plfonts.dtx} and \texttt{pldefs.ltx}).
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã§\pLaTeX ã®\texttt{plfonts.dtx}ã¨\texttt{pldefs.ltx}ã«ç›¸å½“ã™ã‚‹æœ€ä½Žé™ã®è¨­å®šãŒ
ãªã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{itemize}
%&lt;*en&gt;
\item Font encodings for Japanese fonts are \texttt{JY3}~(for horizontal direction) and
\texttt{JT3}~(for vertical direction).
%&lt;/en&gt;
%&lt;*ja&gt;
\item å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¨ã—ã¦ã¯ï¼Œæ¨ªçµ„ç”¨ã«ã¯ \texttt{JY3}ï¼Œç¸¦çµ„ç”¨ã«ã¯\
\texttt{JT3}ãŒç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item Traditionally, Japanese documents use only two families: \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}&amp;\textbf{commands}&amp;&amp;\textbf{family}\\\midrule
\emph{mincho} (æ˜Žæœä½“)&amp;\verb+\textmc{...}+&amp;\verb+{\mcfamily ...}+&amp;\cs{mcdefault}\\
\emph{gothic} (\textgt{ã‚´ã‚·ãƒƒã‚¯ä½“})&amp;\verb+\textgt{...}+&amp;\verb+{\gtfamily ...}+&amp;\cs{gtdefault}\\
(Japanese counterpart for typewriter font)&amp;---&amp;---&amp;\cs{jttdefault}\\
\bottomrule
\end{tabular}
\end{center}
  Here \cs{jttdefault} specifies the Japanese font family in \cs{verb}~or~\texttt{verbatim}
  environment, and its default value is \cs{mcdefault} (mincho family).%
  \footnote{%
	When \Pkg{ltjsclasses} classes are used, or
	\Pkg{luatexja-fontspec} (or \Pkg{luatexja-preset}) is loaded with \texttt{match} option,
	\cs{ttfamily} changes the current Japanese font amily to \cs{jttdefault}.
	These classes and packages also redefine \cs{jttdefault} to
	\cs{gtdefault} (\emph{gothic}~family).
  } \LuaTeX-ja does not define commands to only switch current Japanese font family to
  \cs{jttdefault}.

\item
By default, the following fonts are used for these two families.
\begin{center}\small
\begin{tabular}{lllll}
\toprule
\textbf{classification}&amp;\textbf{family}&amp;\textbf{\cs{mdseries}}&amp;\textbf{\cs{bfseries}}&amp;\textbf{scale}\\\midrule
\emph{mincho} (æ˜Žæœä½“)&amp;\texttt{mc}&amp;HaranoAjiMincho-Regular&amp;HaranoAjiGothic-Medium&amp;0.962216\\
\emph{gothic} (\textgt{ã‚´ã‚·ãƒƒã‚¯ä½“})&amp;\texttt{gt}&amp;HaranoAjiGothic-Medium&amp;HaranoAjiGothic-Medium&amp;0.962216\\
\bottomrule
\end{tabular}
\end{center}
\item Note that the bold series (series \texttt{bx}~or~\texttt{b}) in both family
     are same as the medium series of gothic family.
     There is no italic nor slanted shape for these \texttt{mc}~and~\texttt{gt}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \pLaTeX ã¨åŒæ§˜ã«ï¼Œæ¨™æº–ã§ã¯ã€Œæ˜Žæœä½“ã€ã€Œã‚´ã‚·ãƒƒã‚¯ä½“ã€ã®2ç¨®é¡žã‚’ç”¨ã„ã‚‹ï¼Ž
\begin{center}\small
\begin{tabular}{llll}
\toprule
\emph{å­—ä½“}&amp;\emph{å‘½ä»¤}&amp;&amp;\emph{ãƒ•ã‚¡ãƒŸãƒªå}\\\midrule
æ˜Žæœä½“&amp;\verb+\textmc{...}+&amp;\verb+{\mcfamily ...}+&amp;\cs{mcdefault}\\
\textgt{ã‚´ã‚·ãƒƒã‚¯ä½“}&amp;\verb+\textgt{...}+&amp;\verb+{\gtfamily ...}+&amp;\cs{gtdefault}\\
ï¼ˆã‚¿ã‚¤ãƒ—ãƒ©ã‚¤ã‚¿ä½“ã¨åˆã‚ã›ã‚‹å’Œæ–‡ï¼‰&amp;---&amp;&amp;\cs{jttdefault}\\
\bottomrule
\end{tabular}
\end{center}
  \cs{jttdefault}ã¯\cs{verb}ã‚„\texttt{verbatim}ç’°å¢ƒä¸­ã®å’Œæ–‡æ–‡å­—ã«ä½¿ã‚ã‚Œã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã‚ã‚Šï¼Œ
  æ¨™æº–å€¤ã¯\cs{mcdefault}ï¼Œã¤ã¾ã‚Šæ˜Žæœä½“ã§ã‚ã‚‹
  \footnote{%
	\Pkg{ltjsclasses}ã‚’ä½¿ç”¨ã—ãŸã‚Šï¼Œã¾ãŸ\Pkg{luatexja-fontspec}ã‚„\Pkg{luatexja-preset}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’
	\texttt{match}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’æŒ‡å®šã—ã¦èª­ã¿è¾¼ã‚“ã&nbsp;ã¨ãã¯ï¼Œå˜ãªã‚‹\cs{ttfamily}ã«ã‚ˆã£ã¦ã‚‚å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒ
	\cs{jttdefault}ã«å¤‰æ›´ã•ã‚Œã‚‹ï¼Žã¾ãŸï¼Œã“ã‚Œã‚‰ã®ã‚¯ãƒ©ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã‚„ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯
	\cs{jttdefault}ã‚’ \cs{gtdefault}ï¼ˆã‚´ã‚·ãƒƒã‚¯ä½“ï¼‰ã«å†å®šç¾©ã™ã‚‹ï¼Ž
  }ï¼Žå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªï¼ˆã®ã¿ï¼‰ã‚’\cs{jttdefault}ã«åˆ‡ã‚Šæ›¿ãˆã‚‹å‘½ä»¤ã¯æº–å‚™ã—ã¦ã„ãªã„ï¼Ž

\item æ¨™æº–ã§ã¯ï¼Œæ¬¡ã®ãƒ•ã‚©ãƒ³ãƒˆãŒç”¨ã„ã‚‰ã‚Œã‚‹ï¼š
\begin{center}\small
\begin{tabular}{lllll}
\toprule
\emph{å­—ä½“}&amp;\emph{ãƒ•ã‚¡ãƒŸãƒª}&amp;\textbf{\cs{mdseries}}&amp;\textbf{\cs{bfseries}}&amp;\emph{ã‚¹ã‚±ãƒ¼ãƒ«}\\\midrule
æ˜Žæœä½“&amp;\texttt{mc}&amp;åŽŸãƒŽå‘³æ˜ŽæœRegular&amp;åŽŸãƒŽå‘³è§’ã‚´ã‚·ãƒƒã‚¯Medium&amp;0.962216\\
\textgt{ã‚´ã‚·ãƒƒã‚¯ä½“}&amp;\texttt{gt}&amp;åŽŸãƒŽå‘³è§’ã‚´ã‚·ãƒƒã‚¯Medium&amp;åŽŸãƒŽå‘³è§’ã‚´ã‚·ãƒƒã‚¯Medium&amp;0.962216\\
\bottomrule
\end{tabular}
\end{center}

æ˜Žæœãƒ»ã‚´ã‚·ãƒƒã‚¯ã©ã¡ã‚‰ã®ãƒ•ã‚¡ãƒŸãƒªã«ãŠã„ã¦ã‚‚ï¼Œå¤ªå­—(\cs{bfseries})ã®ãƒ•ã‚©ãƒ³ãƒˆã¯
ã‚´ã‚·ãƒƒã‚¯ä½“ä¸­å­—(\cs{gtfamily}\cs{mdseries})ã§ä½¿ã‚ã‚Œã‚‹ãƒ•ã‚©ãƒ³ãƒˆã¨åŒã˜ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ï¼Ž
ã¾ãŸï¼Œã©ã¡ã‚‰ã®ãƒ•ã‚¡ãƒŸãƒªã§ã‚‚ã‚¤ã‚¿ãƒªãƒƒã‚¯ä½“ãƒ»ã‚¹ãƒ©ãƒ³ãƒˆä½“ã¯å®šç¾©ã•ã‚Œãªã„ï¼Ž

 \item å’Œæ–‡ã®å¤ªå­—ã‚’è¡¨ã™ã‚·ãƒªãƒ¼ã‚ºåã¯ï¼Œï¼ˆå…ƒã€…ã®Computer ModernãŒ
  å¤ªå­—ã«\texttt{bx}ã‚’ç”¨ã„ã¦ã„ãŸã“ã¨ã‹ã‚‰ï¼‰ä¼çµ±çš„ã«\texttt{bx}~(Bold Extended)ãŒä½¿ã‚ã‚Œã¦ããŸï¼Ž
  ã—ã‹ã—ï¼Œå¤ªå­—ã«ã‚·ãƒªãƒ¼ã‚º\texttt{b}ã‚’ä½¿ã†ãƒ•ã‚©ãƒ³ãƒˆã‚‚å¢—ãˆã¦ããŸãŸã‚ï¼Œ
  ãƒãƒ¼ã‚¸ãƒ§ãƒ³20180616.0ä»¥é™ã§ã¯å’Œæ–‡ã®å¤ªå­—ã¨ã—ã¦\texttt{bx},~\texttt{b}ã®ä¸¡æ–¹ã‚’æ‰±ãˆã‚‹ã‚ˆã†ã«ã—ãŸï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
 \item From version~20181102.0, one can specifies \texttt{disablejfam} option at
  loading \LuaTeX-ja. This option prevents loading a patch for \LaTeX, which are
  needed to support Japanese characters in math mode.

  Without \texttt{disablejfam} option, one can typeset Japanese characters in
  math mode as~\verb+$ã‚$+ (see Page~\pageref{para:jachar_in_math}) as before.
  Japanese characters in math mode are typeset by the font family \texttt{mc}.
%&lt;/en&gt;
%&lt;*ja&gt;
 \item ãƒãƒ¼ã‚¸ãƒ§ãƒ³20181102.0ä»¥é™ã§ã¯ï¼Œ\texttt{disablejfam}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’\LuaTeX-jaèª­ã¿è¾¼ã¿æ™‚ã«
  æŒ‡å®šã§ãã‚‹ã‚ˆã†ã«ãªã£ãŸï¼Žã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯ï¼Œæ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸­ã«ç›´ã«å’Œæ–‡æ–‡å­—ã‚’æ›¸ã‘ã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã®
  \LaTeX ã¸ã®ãƒ‘ãƒƒãƒã‚’èª­ã¿è¾¼ã¾ãªã„ï¼Ž

  \texttt{disablejfam}ã®ãªã„çŠ¶æ³ã§ã¯ï¼Œä»¥å‰ã¨åŒæ§˜ã«å’Œæ–‡æ–‡å­—ã‚’æ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸­ã«
  ç›´ã«æ›¸ãã“ã¨ãŒã§ãã‚‹ï¼ˆä½†ã—\pageref{para:jachar_in_math}ãƒšãƒ¼ã‚¸ã®è¨˜è¿°ã‚‚å‚ç…§ï¼‰ï¼Ž
  ãã®éš›ã«ã¯æ˜Žæœä½“(\texttt{mc})ã§å‡ºåŠ›ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item If you use the \Pkg{beamer} class with the default font theme (which uses sans serif
      fonts) and with \LuaTeX-ja, you might want to change default Japanese fonts to
      the gothic family. The following line  changes  the default Japanese font family
      to it:
%&lt;/en&gt;
%&lt;*ja&gt;
\item \Pkg{beamer}ã‚¯ãƒ©ã‚¹ã‚’æ—¢å®šã®ãƒ•ã‚©ãƒ³ãƒˆè¨­å®šã§ä½¿ã†å&nbsp;´åˆï¼Œæ—¢å®šæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒã‚µãƒ³ã‚»ãƒªãƒ•ãªã®
      ã§ï¼Œæ—¢å®šå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚‚ã‚´ã‚·ãƒƒã‚¯ä½“ã«ã—ãŸã„ã¨æ€ã†ã‹ã‚‚ã—ã‚Œãªã„ï¼Žãã®å&nbsp;´åˆã¯ãƒ—ãƒªã‚¢ãƒ³ãƒ–ãƒ«ã«
æ¬¡ã‚’æ›¸ã‘ã°ã‚ˆã„ï¼š
%&lt;/ja&gt;
\begin{lstlisting}
 \renewcommand{\kanjifamilydefault}{\gtdefault}
\end{lstlisting}

%&lt;*ja&gt;
\item \pLaTeX ã¨åŒæ§˜ã«ï¼Œ\texttt{mc},~\texttt{gt}ä¸¡ãƒ•ã‚¡ãƒŸãƒªã«ã¯ã€Œå¾“å±žæ¬§æ–‡ã€æ›¸ä½“ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚‹ï¼Ž
  ã“ã‚Œã‚‰ã¯\cs{userelfont}ã‚’\cs{selectfont}ï¼ˆã‚„ï¼Œãã®ä»–ã®ã€Œå®Ÿéš›ã«ã€
  ãƒ•ã‚©ãƒ³ãƒˆã‚’å¤‰æ›´ã™ã‚‹å‘½ä»¤ï¼‰ã®å‰ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šä½¿ã†ã“ã¨ãŒã§ãã‚‹ï¼Ž

  \pLaTeX ã§ã¯æ¨™æº–ã®æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯OT1ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®Computer Modern Roman (\texttt{cmr})%
  ã§ã‚ã£ãŸãŒï¼Œ2017å¹´ä»¥é™ã®\LuaLaTeX ã§ã¯TUã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®Latin Modern Roman (\texttt{lmr})%
  ã«å¤‰æ›´ã•ã‚Œã¦ã„ã‚‹ï¼Žãã®ãŸã‚ï¼Œå‰æ®µè½ã§è¿°ã¹ãŸã€Œå¾“å±žæ¬§æ–‡ã€ã‚‚ï¼ŒLatin Modern Romanã«è¨­å®šã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

\end{itemize}

%&lt;*en&gt;
However, above settings are not sufficient for Japanese-based
documents. To typeset Japanese-based documents, you are better to use
class files other than \texttt{article.cls}, \texttt{book.cls}, and so on.  At
the present, \LuaTeX-ja has the counterparts of \Pkg{jclasses} (standard
classes in \pLaTeX) and \Pkg{jsclasses} (classes by Haruhiko
Okumura), namely, \Pkg{ltjclasses}\footnote{%
  \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls},
  \texttt{ltjtarticle.cls}, \texttt{ltjtbook.cls}, \texttt{ltjtreport.cls}.
  The latter \texttt{ltjt*.cls} are for vertically written Japanese documents.
} and \Pkg{ltjsclasses}\footnote{%
  \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls}, \texttt{ltjsreport.cls},~\texttt{ltjskiyou.cls}.}.

Original \Pkg{jsclasses} use \cs{mag}~primitive to set the main document font size.
However, \LuaTeX\ does not support \cs{mag} in PDF~output,
so \Pkg{ltjsclasses} uses the \texttt{nomag*} option\footnote{Same effect as 
  the \Pkg{BXjscls} classes (by Takayuki Yato) and \Pkg{jsclasses}.
  However, these classes uses only \TeX\ code, but \Pkg{ltjsclasses} uses Lua code.}
 by default to set the main font size. If this causes some unexpected behavior, specify
\texttt{nomag} option in \cs{documentclass}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã—ã‹ã—ãªãŒã‚‰ï¼Œä¸Šè¨˜ã®è¨­å®šã¯æ—¥æœ¬èªžã®æ–‡æ›¸ã«ã¨ã£ã¦ååˆ†ã¨ã¯è¨€ãˆãªã„ï¼Ž
æ—¥æœ¬èªžæ–‡æ›¸ã‚’çµ„ç‰ˆã™ã‚‹ãŸã‚ã«ã¯ï¼Œ\texttt{article.cls}, \texttt{book.cls}ã¨ã„ã£ãŸ
æ¬§æ–‡ç”¨ã®ã‚¯ãƒ©ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ãªãï¼Œå’Œæ–‡ç”¨ã®ã‚¯ãƒ©ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ç”¨ã„ãŸæ–¹ãŒã‚ˆã„ï¼Ž
ç¾æ™‚ç‚¹ã§ã¯ï¼Œ\Pkg{jclasses}ï¼ˆ\pLaTeX ã®æ¨™æº–ã‚¯ãƒ©ã‚¹ï¼‰ã¨\Pkg{jsclasses}%
ï¼ˆå¥¥æ‘æ™´å½¦æ°ã«ã‚ˆã‚‹ã€Œ\pLaTeXe æ–°ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã€ï¼‰ã«å¯¾å¿œã™ã‚‹ã‚‚ã®ã¨ã—ã¦ï¼Œ
\Pkg{ltjclasses}\footnote{%
  æ¨ªçµ„ç”¨ã¯ \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls} ã§ã‚ã‚Šï¼Œ
  ç¸¦çµ„ç”¨ã¯ \texttt{ltjtarticle.cls}, \texttt{ltjtbook.cls}, \texttt{ltjtreport.cls} ã§ã‚ã‚‹ï¼Ž
}ï¼Œ
\Pkg{ltjsclasses}\footnote{%
  \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls}, \texttt{ltjsreport.cls},~\texttt{ltjskiyou.cls}.}%
ãŒãã‚Œãžã‚Œ\LuaTeX-jaæ¨™æº–ã§ç”¨æ„ã•ã‚Œã¦ã„ã‚‹ï¼Ž

å…ƒã€…ã®\Pkg{jsclasses}ã§ã¯æœ¬æ–‡ã®ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã‚’è¨­å®šã™ã‚‹ã®ã«\cs{mag}ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ãŒä½¿ã‚ã‚Œã¦ã„ãŸãŒï¼Œ
\LuaTeX ã§ã¯PDFå‡ºåŠ›æ™‚ã®\cs{mag}ã®ã‚µãƒãƒ¼ãƒˆãŒå»ƒæ­¢ã•ã‚ŒãŸï¼Ž
ãã®ãŸã‚ï¼Œ\Pkg{ltjsclasses}ã§ã¯\texttt{nomag*}ã‚ªãƒ—ã‚·ãƒ§ãƒ³
\footnote{\Pkg{jsclasses}ã‚„ï¼Œå…«ç™»å´‡ä¹‹æ°ã«ã‚ˆã‚‹\Pkg{BXjscls}ã‚¯ãƒ©ã‚¹ã«ãŠã‘ã‚‹åŒåã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¨
  åŒã˜ï¼Žä¸Šè¨˜ã‚¯ãƒ©ã‚¹ã¯\TeX ã‚³ãƒ¼ãƒ‰ã®ã¿ã§å®Ÿè£…ã—ã¦ã„ã‚‹ãŒï¼Œ\Pkg{ltjsclasses}ã§ã¯Luaã‚³ãƒ¼ãƒ‰ã‚‚ç”¨ã„ã¦ã„ã‚‹ï¼Ž}ãŒæ¨™æº–ã§
æœ‰åŠ¹ã«ãªã£ã¦ãŠã‚Šï¼Œã“ã‚Œã‚’ä½¿ã£ã¦æœ¬æ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã®è¨­å®šã‚’è¡Œã£ã¦ã„ã‚‹ï¼Ž
ã—ã‹ã—ï¼Œã“ã®\texttt{nomag*}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã§ã¯ï¼ˆãƒãƒ¼ã‚¸ãƒ§ãƒ³20180121.0ã‚ˆã‚Šå‰ã§\Pkg{unicode-math}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ä½¿ç”¨æ™‚ã«èµ·ããŸã‚ˆã†ã«ï¼‰äºˆæƒ³å¤–ã®æ„å›³ã—ãªã„ç¾è±¡ã«é­é‡ã™ã‚‹å±é™ºãŒã‚ã‚‹ï¼Žãã®ã‚ˆã†ãªå&nbsp;´åˆã¯
\cs{documentclass}ã«ãŠã„ã¦\texttt{nomag}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’æŒ‡å®šã—ã¦ã»ã—ã„ï¼Ž
%&lt;/ja&gt;

%&lt;*ja&gt;
\paragraph{è„šæ³¨ã¨ãƒœãƒˆãƒ&nbsp;ãƒ•ãƒ­ãƒ¼ãƒˆã®å‡ºåŠ›é&nbsp;†åº}
ã‚ªãƒªã‚¸ãƒŠãƒ«ã®\LaTeX ã§ã¯è„šæ³¨ã¯ãƒœãƒˆãƒ&nbsp;ãƒ•ãƒ­ãƒ¼ãƒˆã®ä¸Šã«å‡ºåŠ›ã•ã‚Œï¼Œã¾ãŸ\cs{raggedbottom}å‘½ä»¤ã§ãƒšãƒ¼ã‚¸ã®é«˜ã•ãŒä¸æƒã„ã§ã‚ã‚‹ã“ã¨ã‚’è¨±ã—ãŸå&nbsp;´åˆã«ã¯
è„šæ³¨ã®ä¸‹ç«¯ã®åž‚ç›´ä½ç½®ã‚‚ãƒšãƒ¼ã‚¸ã«å¿œã˜ã¦å¤‰ã‚ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž
ä¸€æ–¹ï¼Œæ—¥æœ¬èªžã®çµ„ç‰ˆã§ã¯è„šæ³¨ã¯ãƒœãƒˆãƒ&nbsp;ãƒ•ãƒ­ãƒ¼ãƒˆã®ä¸‹ã«æ¥ã‚‹ã®ãŒä¸€èˆ¬çš„ã§ã‚ã‚‹ã®ã§ï¼Œ
\pLaTeX ã§ã¯ãã®ã‚ˆã†ã«å¤‰æ›´ã•ã‚Œã¦ãŠã‚Šï¼Œ
ã•ã‚‰ã«\cs{raggedbottom}å‘½ä»¤ã‚’å®Ÿè¡Œã—ãŸå¾Œã§ã‚‚è„šæ³¨ã¯å¸¸ã«ãƒšãƒ¼ã‚¸ã®ä¸‹ç«¯ã«å›ºå®šã•ã‚Œã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž

\LuaTeX-jaã§ã¯ã€Œæ¬§æ–‡ã‚¯ãƒ©ã‚¹ã®ä¸­ã«ã¡ã‚‡ã£ã¨ã&nbsp;ã‘æ—¥æœ¬èªžã‚’å…¥ã‚Œã‚‹ã€ã¨ã„ã†åˆ©ç”¨ã‚‚è€ƒæ…®ã—ï¼Œ
è„šæ³¨ã¨ãƒœãƒˆãƒ&nbsp;ãƒ•ãƒ­ãƒ¼ãƒˆã®é&nbsp;†åºï¼ŒåŠã³\cs{raggedbottom}æ™‚ã®è„šæ³¨ã®åž‚ç›´ä½ç½®ã¯\LaTeX é€šã‚Šã¨ã—ãŸï¼Ž
ã“ã‚Œã‚‰ã‚’åˆ¶å¾¡ã™ã‚‹ã«ã¯ä»¥ä¸‹ã®æ‰‹æ®µãŒã‚ã‚‹ï¼š
\begin{itemize}
 \item \pLaTeX ã®ã‚ˆã†ã«ï¼Œè„šæ³¨ã‚’ãƒœãƒˆãƒ&nbsp;ãƒ•ãƒ­ãƒ¼ãƒˆã®ä¸‹ã«çµ„ã‚€å&nbsp;´åˆã«ã¯
  \Pkg{stfloats}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’åˆ©ç”¨ã—ã¦
  \begin{lstlisting}
    \usepackage{stfloats}\fnbelowfloat
  \end{lstlisting}
  ã¨ã™ã‚‹ï¼Žã“ã®çŠ¶æ³ã‹ã‚‰ã€Œè„šæ³¨ã‚’ãƒœãƒˆãƒ&nbsp;ãƒ•ãƒ­ãƒ¼ãƒˆã®ä¸Šã«çµ„ã‚€ã€ã¨ã„ã†\LaTeX ã®æ¨™æº–ã®æŒ™å‹•ã«æˆ»ã—ãŸã‘ã‚Œã°ï¼Œ
  \Pkg{stfloats}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®\cs{fnunderfloat}å‘½ä»¤ã‚’ä½¿ç”¨ã™ã‚‹ï¼Ž
  \item \cs{raggedbottom}æ™‚ã®è„šæ³¨ã®åž‚ç›´ä½ç½®ã¯ï¼Œ\cs{iffnfixbottom}ã¨ã„ã†çœŸå½å€¤ã§åˆ¶å¾¡ã™ã‚‹ï¼Ž
  \begin{description}
    \item[å½(\cs{fnfixbottomfalse})ã®å&nbsp;´åˆ] \LaTeX æ¨™æº–ã¨åŒã˜ãï¼Œæœ¬æ–‡ã¨è„šæ³¨ã®é–“ã®ç©ºç™½ã¯\cs{skip}\cs{footins}ã®ã¿ï¼Ž
    å¾“ã£ã¦è„šæ³¨ã®åž‚ç›´ä½ç½®ã¯ãƒšãƒ¼ã‚¸ã«ã‚ˆã‚Šå¤‰å‹•ã™ã‚‹ï¼Ž
    \item[çœŸ(\cs{fnfixbottomtrue})ã®å&nbsp;´åˆ] \pLaTeX ã‚„\Pkg{footmisc}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’\texttt{bottom}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã§
    èª­ã¿è¾¼ã‚“ã&nbsp;å&nbsp;´åˆã®ã‚ˆã†ã«ï¼Œè„šæ³¨ã¯å¸¸ã«ãƒšãƒ¼ã‚¸ã®ä¸‹ç«¯ã«å›ºå®šã•ã‚Œã‚‹ï¼Ž
  \end{description}
\item ãŸã&nbsp;ã—ï¼Œ\LuaTeX-jaãŒæä¾›ã™ã‚‹ã€Œäº’æ›ã‚¯ãƒ©ã‚¹ã€(\Pkg{ltjclasses}, \Pkg{ltjsclasses})ã§ã¯ï¼Œ
  \pLaTeX ã¨åˆã‚ã›ã‚‹ãŸã‚ã«ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¦ã„ã‚‹ï¼š
  \begin{itemize}
    \item \cs{fnfixbottomtrue}ãŒè‡ªå‹•çš„ã«å®Ÿè¡Œã•ã‚Œã‚‹
    \item \Pkg{stfloats}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒ\LuaTeX ã‹ã‚‰å‚ç…§ã§ãã‚‹å&nbsp;´æ‰€ã«ã‚ã£ãŸå&nbsp;´åˆã¯
    è‡ªå‹•çš„ã«èª­ã¿è¾¼ã¿ï¼Œ\cs{fnbelowfloat}ã‚’å®Ÿè¡Œã™ã‚‹ï¼Ž
  \end{itemize}
\end{itemize}
ãªãŠï¼Œ\Pkg{stfloats}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’ä½¿ã†ä»£ã‚ã‚Šã«ï¼Œ
\Pkg{footmisc}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’ \texttt{bottom}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’æŒ‡å®šã—ã¦èª­ã¿è¾¼ã‚€
ã¨ã„ã†ã€Œè§£æ±ºæ³•ã€ã‚‚ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%%% â†‘ã¯è‹±è¨³ã—ãªã„

%&lt;*en&gt;
\paragraph{\Pkg{geometry} package and classes for vertical writing}
It is well-known that the \Pkg{geometry} package produces the following error, when classes for
vertical writing is used:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ç¸¦çµ„ã§ã®\Pkg{geometry}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸}
\pLaTeX ã®ç¸¦çµ„ç”¨æ¨™æº–ã‚¯ãƒ©ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯\Pkg{geometry}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’åˆ©ç”¨ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ãšï¼Œ
%&lt;/ja&gt;
\begin{lstlisting}
! Incompatible direction list can't be unboxed.
\@begindvi -&gt;\unvbox \@begindvibox
                                   \global \let \@begindvi \@empty
\end{lstlisting}
%&lt;*en&gt;
Now, \LuaTeX-ja automatically applies the patch \Pkg{lltjp-geometry} to the
\Pkg{geometry} package, when the direction of the document is \emph{tate} (vertical
writing).
This patch \Pkg{lltjp-geometry} also can be used in \pLaTeX; for the detail, please refer
\url{lltjp-geometry.pdf}~(Japanese).
%&lt;/en&gt;
%&lt;*ja&gt;
ã¨ã„ã†ã‚ˆã†ãªã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã“ã¨ãŒçŸ¥ã‚‰ã‚Œã¦ã„ã‚‹ï¼Ž
\LuaTeX-jaã§ã¯ï¼Œ \texttt{ltjtarticle.cls} ã¨ã„ã£ãŸç¸¦çµ„ã‚¯ãƒ©ã‚¹ã®ä¸‹ã§ã‚‚
\Pkg{geometry}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒåˆ©ç”¨ã§ãã‚‹ã‚ˆã†ã«ãƒ‘ãƒƒãƒ\Pkg{lltjp-geometry}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’è‡ªå‹•çš„ã«å½“ã¦ã¦ã„ã‚‹ï¼Ž

ãªãŠï¼Œ\Pkg{lltjp-geometry}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯\pTeX ç³»åˆ—ã§ã‚‚æ˜Žç¤ºçš„ã«èª­ã¿è¾¼ã‚€ã“ã¨ã«ã‚ˆã£ã¦
ä½¿ç”¨å¯èƒ½ã§ã‚ã‚‹ï¼Žè©³ç´°ã‚„æ³¨æ„äº‹é&nbsp;…ã¯ \url{lltjp-geometry.pdf} ã‚’å‚ç…§ã®ã“ã¨ï¼Ž
%&lt;/ja&gt;


%&lt;en&gt;\section{Changing Fonts}
%&lt;ja&gt;\section{ãƒ•ã‚©ãƒ³ãƒˆã®å¤‰æ›´}

\subsection{plain \TeX~and~\LaTeXe}
\label{ssec:chgfnt}

\paragraph{plain \TeX}
%&lt;*en&gt;
To change Japanese fonts in plain \TeX, you must use the command
\cs{jfont}~and~\cs{tfont}. So please see Subsection~\ref{ssec:jfont}.
%&lt;/en&gt;
%&lt;*ja&gt;
plain \TeX ã§å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’å¤‰æ›´ã™ã‚‹ãŸã‚ã«ã¯ï¼Œ
\pTeX ã®ã‚ˆã†ã« \cs{jfont} å‘½ä»¤ã‚„ \cs{tfont} å‘½ä»¤ã‚’ç›´æŽ¥ç”¨ã„ã‚‹ï¼Ž
\ref{ssec:jfont}ç¯€ã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;

\paragraph{\LaTeXe\ (NFSS2)}
%&lt;*en&gt;
For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (in \texttt{plfonts.dtx}).
%&lt;/en&gt;
%&lt;*ja&gt;
\LaTeX ã§ç”¨ã„ã‚‹éš›ã«ã¯ï¼Œ\pLaTeXe\ (\texttt{plfonts.dtx})ç”¨ã®ãƒ•ã‚©ãƒ³ãƒˆé¸æŠžæ©Ÿæ§‹ã®å¤§éƒ¨åˆ†ã‚’æµç”¨ã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\begin{center}\small
\begin{tabular}{&gt;{\bfseries}llllll}
\toprule
&amp;\textbf{encoding}&amp;\textbf{family}&amp;\textbf{series}&amp;\textbf{shape}&amp;\textbf{selection}\\\midrule
Alphabetic fonts
&amp;\cs{romanencoding}&amp;\cs{romanfamily}&amp;\cs{romanseries}&amp;\cs{romanshape}
&amp;\cs{useroman}\\
Japanese fonts
&amp;\cs{kanjiencoding}&amp;\cs{kanjifamily}&amp;\cs{kanjiseries}&amp;\cs{kanjishape}
&amp;\cs{usekanji}\\
both&amp;---&amp;--&amp;\cs{fontseries}&amp;\cs{fontshape}$^*$&amp;---\\
auto select&amp;\cs{fontencoding}&amp;\cs{fontfamily}&amp;---&amp;---&amp;\cs{usefont}\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{center}\small
\begin{tabular}{llllll}
\toprule
&amp;\emph{ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°}&amp;\emph{ãƒ•ã‚¡ãƒŸãƒª}&amp;\emph{ã‚·ãƒªãƒ¼ã‚º}&amp;\emph{ã‚·ã‚§ã‚¤ãƒ—}&amp;\emph{é¸æŠž}\\\midrule
\emph{æ¬§æ–‡}
&amp;\cs{romanencoding}&amp;\cs{romanfamily}&amp;\cs{romanseries}&amp;\cs{romanshape}
&amp;\cs{useroman}\\
\emph{å’Œæ–‡}
&amp;\cs{kanjiencoding}&amp;\cs{kanjifamily}&amp;\cs{kanjiseries}&amp;\cs{kanjishape}
&amp;\cs{usekanji}\\
\emph{ä¸¡æ–¹}&amp;---&amp;--&amp;\cs{fontseries}&amp;\cs{fontshape}$^*$&amp;---\\
\emph{è‡ªå‹•é¸æŠž}&amp;\cs{fontencoding}&amp;\cs{fontfamily}&amp;---&amp;---&amp;\cs{usefont}\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/ja&gt;

\begin{itemize}
%&lt;*en&gt;
\item \cs{fontfamily}, \cs{fontseries}, and~\cs{fontshape} try to change
      attributes of Japanese fonts, as well as those of alphabetic fonts.
      Of course, \cs{selectfont} is needed to select current text fonts.

      Note that \cs{fontshape} always changes current alphabetic font shape,
      but it does \emph{not} change current Japanese font shape if
      the target shape is unavailable for current Japanese encoding/family/series.
      For the detail, see Subsection~\ref{ssec:nfsspat}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape} ã¯æ¬§æ–‡ãƒ»å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆä¸¡æ–¹ã®å±žæ€§ã‚’å¤‰æ›´ã—ã‚ˆã†ã¨ã™ã‚‹ï¼Ž
      ã‚‚ã¡ã‚ã‚“ï¼Œãã‚Œã‚‰ã‚’å®Ÿéš›ã«åæ˜&nbsp;ã•ã›ã‚‹ã«ã¯æ‰‹å‹•ã§ \cs{selectfont} ã‚’å®Ÿè¡Œã™ã‚‹å¿…è¦ãŒã‚ã‚‹ï¼Ž

      ãªãŠï¼Œ\cs{fontshape\{\meta{shape}\}}ã¯å¸¸ã«æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚·ã‚§ã‚¤ãƒ—ã‚’è¨­å®šã™ã‚‹ãŒï¼Œ
      ã‚‚ã—ã‚‚ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªãƒ»ã‚·ãƒªãƒ¼ã‚ºã§è¦æ±‚ã•ã‚ŒãŸã‚·ã‚§ã‚¤ãƒ—ãŒåˆ©ç”¨ä¸èƒ½ã&nbsp;ã£ãŸå&nbsp;´åˆã«ã¯ï¼Œå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚·ã‚§ã‚¤ãƒ—ã¯å¤‰æ›´ã—ãªã„ï¼Ž
      è©³ç´°ã¯\ref{ssec:nfsspat}ç¯€ã‚’å‚ç…§ã™ã‚‹ã“ã¨ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item \verb+\fontencoding{+\meta{encoding}\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
      alphabetic fonts to \texttt{T1}.
      \cs{fontfamily} also changes the current Japanese font family,
      the current alphabetic font family, \emph{or both}.
      For the detail, see Subsection~\ref{ssec:nfsspat}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item  ã“ã“ã§ï¼Œ\cs{fontencoding\{\meta{encoding}\}}ã¯ï¼Œå¼•æ•°ã«ã‚ˆã‚Šå’Œæ–‡å´ã‹æ¬§æ–‡
      å´ã‹ã®ã©ã¡ã‚‰ã‹ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’å¤‰æ›´ã™ã‚‹ï¼Žä¾‹ãˆã°ï¼Œ
      \verb+\fontencoding{JY3}+ ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’
      \texttt{JY3}ã«å¤‰æ›´ã—ï¼Œ\verb+\fontencoding{T1}+ ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆå´ã‚’
      \texttt{T1}ã¸ã¨å¤‰æ›´ã™ã‚‹ï¼Ž\cs{fontfamily} ã‚‚å¼•æ•°ã«ã‚ˆã‚Šå’Œæ–‡å´ï¼Œæ¬§æ–‡
      å´ï¼Œ\emph{ã‚ã‚‹ã„ã¯ä¸¡æ–¹}ã®ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’å¤‰æ›´ã™ã‚‹ï¼Žè©³ç´°ã¯
      \ref{ssec:nfsspat}ç¯€ã‚’å‚ç…§ã™ã‚‹ã“ã¨ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item For defining a Japanese font family, use
      \cs{DeclareKanjiFamily} instead of
      \cs{DeclareFontFamily}. (In previous version of \LuaTeX-ja,
      using \cs{DeclareFontFamily} didn't cause any problem. But this no longer applies
      the current version.)
\item Defining a Japanese font shape can be done by usual \cs{DeclareFontShape}:
%&lt;/en&gt;
%&lt;*ja&gt;
\item å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã®å®šç¾©ã«ã¯ \cs{DeclareFontFamily} ã®
      ä»£ã‚ã‚Šã« \cs{DeclareKanjiFamily} ã‚’ç”¨ã„ã‚‹ï¼Žä»¥å‰ã®
      å®Ÿè£…ã§ã¯ \cs{DeclareFontFamily} ã‚’ç”¨ã„ã¦ã‚‚å•é¡Œã¯ç”Ÿã˜ãªã‹ã£ãŸãŒï¼Œç¾åœ¨ã®å®Ÿè£…ã§ã¯
      ãã†ã¯ã„ã‹ãªã„ï¼Ž
\item å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚·ã‚§ã‚¤ãƒ—ã‚’å®šç¾©ã™ã‚‹ã«ã¯ï¼Œé€šå¸¸ã® \cs{DeclareFontShape} ã‚’ä½¿ãˆã°è‰¯ã„ï¼š
%&lt;/ja&gt;
\begin{lstlisting}
\DeclareFontShape{JY3}{mc}{b}{n}{&lt;-&gt; s*HaranoAjiMincho--Bold:jfm=ujis;-kern}{}
    % Harano Aji Mincho Bold
\end{lstlisting}
%&lt;*ja&gt;
ä»®åæ›¸ä½“ã‚’ä½¿ã†å&nbsp;´åˆãªã©ï¼Œè¤‡æ•°ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’çµ„ã¿åˆã‚ã›ã¦ä½¿ã„ãŸã„å&nbsp;´åˆã¯
\ref{ssec:altfont}ç¯€ã® \cs{ltjdeclarealtfont} ã¨ï¼Œãã®\LaTeX ç‰ˆã®\
\cs{DeclareAlternateKanjiFont}ï¼ˆ\ref{ssec:nfsspat}ç¯€ï¼‰ã‚’å‚ç…§ã›ã‚ˆï¼Ž
%&lt;/ja&gt;

\end{itemize}

%&lt;*en&gt;
\paragraph{Japanese characters in math mode}
\label{para:jachar_in_math}

Since \pTeX\ supports Japanese characters in math mode, there are
sources like the following:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{æ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸­ã®å’Œæ–‡æ–‡å­—}
\label{para:jachar_in_math}
  
\pTeX ã§ã¯ï¼Œç‰¹ã«ä½•ã‚‚ã—ãªã„ã§ã‚‚æ•°å¼ä¸­ã«å’Œæ–‡æ–‡å­—ã‚’è¨˜è¿°ã™ã‚‹ã“ã¨ãŒã§ããŸï¼Žãã®ãŸã‚ï¼Œ
ä»¥ä¸‹ã®ã‚ˆã†ãªã‚½ãƒ¼ã‚¹ãŒè¦‹ã‚‰ã‚ŒãŸï¼š
%&lt;/ja&gt;

\begin{LTXexample}
$f_{é«˜æ¸©}$~($f_{\text{high temperature}}$).
\[ y=(x-1)^2+2\quad ã‚ˆã£ã¦\quad y&gt;0 \]
$5\in ç´&nbsp;:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
\end{LTXexample}
%&lt;*en&gt;
We (the project members of \LuaTeX-ja) think that using
Japanese characters in math mode are allowed if and only if these are used as identifiers.
In this point of view,
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆã§ã¯ï¼Œæ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸­ã§ã®å’Œæ–‡æ–‡å­—ã¯ãã‚Œã‚‰ãŒè­˜åˆ¥å­ã¨ã—ã¦ç”¨ã„ã‚‰ã‚Œã‚‹
ã¨ãã®ã¿è¨±ã•ã‚Œã‚‹ã¨è€ƒãˆã¦ã„ã‚‹ï¼Ž
ã“ã®è¦³ç‚¹ã‹ã‚‰ï¼Œ
%&lt;/ja&gt;

\begin{itemize}
%&lt;*en&gt;
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ä¸Šè¨˜æ•°å¼ã®ã†ã¡1, 2è¡Œç›®ã¯æ­£ã—ããªã„ï¼Žãªãœãªã‚‰ã°ã€Œé«˜æ¸©ã€ãŒæ„å‘³ã®ã‚ã‚‹ãƒ©ãƒ™ãƒ«ã¨
      ã—ã¦ï¼Œã€Œã‚ˆã£ã¦ã€ãŒæŽ¥ç¶šè©žã¨ã—ã¦ç”¨ã„ã‚‰ã‚Œã¦ã„ã‚‹ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;en&gt;\item However, the line~3 is correct, since ``ç´&nbsp;'' is used as an identifier.
%&lt;ja&gt;\item ã—ã‹ã—ãªãŒã‚‰ï¼Œ3è¡Œç›®ã¯ã€Œç´&nbsp;ã€ãŒå˜ãªã‚‹è­˜åˆ¥å­ã¨ã—ã¦ç”¨ã„ã‚‰ã‚Œã¦ã„ã‚‹ã®ã§æ­£ã—ã„ï¼Ž
\end{itemize}
%&lt;en&gt;Hence, in our opinion, the above input should be corrected as:
%&lt;ja&gt;ã—ãŸãŒã£ã¦ï¼Œ\LuaTeX-jaãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆã®æ„è¦‹ã¨ã—ã¦ã¯ï¼Œä¸Šè¨˜ã®å…¥åŠ›ã¯æ¬¡ã®ã‚ˆã†ã«ç›´ã•ã‚Œã‚‹ã¹ãã§ã‚ã‚‹ï¼š
\begin{LTXexample}
$f_{\text{é«˜æ¸©}}$~%
($f_{\text{high temperature}}$).
\[ y=(x-1)^2+2\quad
  \mathrel{\mbox{ã‚ˆã£ã¦}}\quad y&gt;0 \]
$5\in ç´&nbsp;:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
\end{LTXexample}

%&lt;*en&gt;
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
this chapter. For the method, please see Subsection~\ref{ssec:math}.

{\emshape When \LuaTeX-ja is loaded with \texttt{disablejfam}~option,
  one cannot write Japanese characters in math mode as~\verb+$ç´&nbsp;$+.
  At that case, one have to use \cs{mbox} (or~\cs{text} in the \Pkg{amsmath} package).
}
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠ\LuaTeX-jaãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆã§ã¯ï¼Œå’Œæ–‡æ–‡å­—ãŒè­˜åˆ¥å­ã¨ã—ã¦ç”¨ã„ã‚‰ã‚Œã‚‹ã“ã¨ã¯ã»ã¨ã‚“ã©ãªã„
ã¨è€ƒãˆã¦ãŠã‚Šï¼Œã—ãŸãŒã£ã¦ã“ã®ç¯€ã§ã¯æ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸­ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’å¤‰æ›´ã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯
è¨˜è¿°ã—ãªã„ï¼Žã“ã®æ–¹æ³•ã«ã¤ã„ã¦ã¯\ref{ssec:math}ç¯€ã‚’å‚ç…§ã®ã“ã¨ï¼Ž

{\gtfamily\bfseries
  æ—¢ã«è¨˜è¿°ã—ãŸé€šã‚Šï¼Œ\texttt{disablejfam}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’æŒ‡å®šã—ã¦\LuaTeX-jaã‚’èª­ã¿è¾¼ã‚“ã&nbsp;å&nbsp;´åˆã¯ï¼Œ
  \verb+$ç´&nbsp;$+ ã®ã‚ˆã†ã«ç›´æŽ¥å’Œæ–‡æ–‡å­—ã‚’æ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸­ã«è¨˜è¿°ã™ã‚‹ã“ã¨ã¯ã§ããªããªã‚‹ï¼Ž
  \cs{mbox}ï¼Œã‚ã‚‹ã„ã¯\Pkg{amsmath}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æä¾›ã™ã‚‹\cs{text}å‘½ä»¤ãªã©ã‚’ä½¿ã†ã“ã¨ã«ãªã‚‹ï¼Ž
}
%&lt;/ja&gt;



%&lt;en&gt;\subsection{\Pkg{luatexja-fontspec} package}
%&lt;ja&gt;\subsection{\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸}
\label{ssec:fontspec}
%&lt;*en&gt;
To use the functionality of the \Pkg{fontspec} package to Japanese fonts,
it is needed to load the \Pkg{luatexja-fontspec} package in the preamble, as follows:
\begin{quote}
\ttfamily \textbackslash usepackage[\meta{options}]\{luatexja-fontspec\}
\end{quote}
This \Pkg{luatexja-fontspec} package
automatically loads \Pkg{luatexja} and \Pkg{fontspec}
packages, if needed.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯ï¼Œ\LuaTeXãƒ»\XeTeX ã«ãŠã„ã¦
TrueTypeãƒ»OpenTypeãƒ•ã‚©ãƒ³ãƒˆã‚’å®¹æ˜“ã«æ‰±ã†ãŸã‚ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã‚ã‚Šï¼Œã“ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’èª­ã¿è¾¼ã‚“ã§ãŠ
ã‘ã°Unicodeã«ã‚ˆã‚‹å„ç¨®è¨˜å·ã®ç›´æŽ¥å…¥åŠ›ã‚‚ã§ãã‚‹ã‚ˆã†ã«ãªã‚‹ï¼Ž
\LuaTeX-jaã§ã¯å’Œæ–‡ã¨æ¬§æ–‡ã‚’åŒºåˆ¥ã—ã¦ã„ã‚‹ãŸã‚ï¼Œ\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æ©Ÿèƒ½ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã«
å¯¾ã—ã¦ã®ã¿æœ‰åŠ¹ãªã‚‚ã®ã¨ãªã£ã¦ã„ã‚‹ï¼Ž

\LuaTeX-jaä¸Šã«ãŠã„ã¦ï¼Œ\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¨åŒæ§˜ã®æ©Ÿèƒ½ã‚’å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾ã—ã¦ã‚‚ç”¨ã„ã‚‹å&nbsp;´
åˆã¯\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’èª­ã¿è¾¼ã‚€ï¼š
\begin{quote}
\ttfamily \textbackslash usepackage[\meta{options}]\{luatexja-fontspec\}
\end{quote}
ã“ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯è‡ªå‹•ã§\Pkg{luatexja}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¨\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’èª­ã¿è¾¼ã‚€ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
In the \Pkg{luatexja-fontspec} package, several commands are defined as
counterparts of original commands in the \Pkg{fontspec} package
(see \autoref{tab:ltj_fntspc}):
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã¯ï¼Œ\autoref{tab:ltj_fntspc}ã®
ã€Œå’Œæ–‡ã€è¡Œã«ç¤ºã—ãŸå‘½ä»¤ã‚’\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®å…ƒã®ã‚³ãƒžãƒ³ãƒ‰ï¼ˆã€Œæ¬§æ–‡ã€è¡Œï¼‰
ã«å¯¾å¿œã™ã‚‹ã‚‚ã®ã¨ã—ã¦å®šç¾©ã—ã¦ã„ã‚‹ï¼š
%&lt;/ja&gt;
%&lt;*en&gt;
\begin{table}
\caption{Commands of \Pkg{luatexja-fontspec}}\label{tab:ltj_fntspc}
\medskip
{\centering\small
\begin{tabular}{&gt;{\bfseries}lllll}
\toprule
Japanese fonts
&amp;\cs{jfontspec}&amp;\cs{setmainjfont}&amp;\cs{setsansjfont}&amp;\cs{setmonojfont}\\
Alphabetic fonts
&amp;\cs{fontspec}&amp;\cs{setmainfont}&amp;\cs{setsansfont}&amp;\cs{setmonofont}\\
\midrule
Japanese fonts
&amp;\cs{newjfontfamily}&amp;\cs{renewjfontfamily}&amp;\cs{setjfontfamily}&amp;\cs{providejfontfamily}\\
Alphabetic fonts
&amp;\cs{newfontfamily}&amp;\cs{renewfontfamily}&amp;\cs{setfontfamily}&amp;\cs{providefontfamily}\\
\midrule
Japanese fonts
&amp;\cs{newjfontface}&amp;\cs{renewjfontface}&amp;\cs{setjfontface}&amp;\cs{providejfontface}\\
Alphabetic fonts
&amp;\cs{newfontface}&amp;\cs{renewfontface}&amp;\cs{setfontface}&amp;\cs{providefontface}\\
\midrule
Japanese fonts
&amp;\cs{defaultjfontfeatures}&amp;\cs{addjfontfeatures}\\
Alphabetic fonts
&amp;\cs{defaultfontfeatures}&amp;\cs{addfontfeatures}\\
\bottomrule
\end{tabular}\par}
\end{table}
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{table}
\caption{\Pkg{luatexja-fontspec}ã§å®šç¾©ã•ã‚Œã‚‹å‘½ä»¤}\label{tab:ltj_fntspc}
\medskip
{\centering\small
\begin{tabular}{lllll}
\toprule
\emph{å’Œæ–‡}
&amp;\cs{jfontspec}&amp;\cs{setmainjfont}&amp;\cs{setsansjfont}&amp;\cs{setmonojfont}\\
\emph{æ¬§æ–‡}
&amp;\cs{fontspec}&amp;\cs{setmainfont}&amp;\cs{setsansfont}&amp;\cs{setmonofont}\\
\midrule
\emph{å’Œæ–‡}
&amp;\cs{newjfontfamily}&amp;\cs{renewjfontfamily}&amp;\cs{setjfontfamily}&amp;\cs{providejfontfamily}\\
\emph{æ¬§æ–‡}
&amp;\cs{newfontfamily}&amp;\cs{renewfontfamily}&amp;\cs{setfontfamily}&amp;\cs{providefontfamily}\\
\midrule
\emph{å’Œæ–‡}
&amp;\cs{newjfontface}&amp;\cs{renewjfontface}&amp;\cs{setjfontface}&amp;\cs{providejfontface}\\
\emph{æ¬§æ–‡}
&amp;\cs{newfontface}&amp;\cs{renewfontface}&amp;\cs{setfontface}&amp;\cs{providefontface}\\
\midrule
\emph{å’Œæ–‡}
&amp;\cs{defaultjfontfeatures}&amp;\cs{addjfontfeatures}\\
\emph{æ¬§æ–‡}
&amp;\cs{defaultfontfeatures}&amp;\cs{addfontfeatures}\\
\bottomrule
\end{tabular}\par}
\end{table}
%&lt;/ja&gt;

%&lt;en&gt; The package option of \Pkg{luatexja-fontspec} are the followings:
%&lt;ja&gt; \Pkg{luatexja-fontspec} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚ã‚‹ï¼š
\begin{cslist}
 \item[match]
%&lt;*en&gt;
If this option is specified, usual family-changing commands such as
\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
%&lt;/en&gt;

%&lt;*ja&gt;
ã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•ã‚Œã‚‹ã¨ï¼Œã€Œ\pLaTeXe æ–°ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã€ã®ã‚ˆã†ã«\
\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} ç­‰ãŒ
æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã&nbsp;ã‘ã§ãªãå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚‚å¤‰æ›´ã™ã‚‹ã‚ˆã†ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;

 \item[pass=\meta{options}]
%&lt;en&gt; \emph{(Obsoleted)}\ Specify options \meta{options} which will be passed to the \Pkg{fontspec} package.
%&lt;ja&gt; \Pkg{fontspec} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«æ¸¡ã™ã‚ªãƒ—ã‚·ãƒ§ãƒ³ \meta{options} ã‚’æŒ‡å®šã™ã‚‹ï¼Žæœ¬ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯æ™‚ä»£é…ã‚Œã§ã‚ã‚‹ï¼Ž

\item[scale=\meta{float}]
%&lt;*en&gt;
Override the ratio of the font size of Japanese fonts to that of alphabetic fonts.
The default value is determined as follows:
  \begin{itemize}
    \item The value of \cs{Cjascale} is used, if this control sequence is already defined.
    \item It is calculated automatically from the current Japanese font at the loading of the
    package, if \cs{Cjascale} is not defined.
  \end{itemize}
\cs{Cjascale} is defined in \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
%&lt;/en&gt;
%&lt;*ja&gt;
æ¬§æ–‡ã«å¯¾ã™ã‚‹å’Œæ–‡ã®æ¯”çŽ‡ã‚’æ‰‹å‹•ã§ä¸Šæ›¸ãã™ã‚‹ã¨ãã«ä½¿ç”¨ã™ã‚‹ï¼Ž
æ¨™æº–ã§ã¯
\begin{itemize}
  \item \cs{Cjascale}ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚‹å&nbsp;´åˆ
  \footnote{\LuaTeX-ja ãŒç”¨æ„ã—ã¦ã„ã‚‹ã‚¯ãƒ©ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«(\Pkg{ltjclasses},~\Pkg{ltjsclasses})ã‚’
  ä½¿ã†å&nbsp;´åˆã¯ã“ã¡ã‚‰ã«å½“ã¦ã¯ã¾ã‚‹ï¼Ž}ã¯ï¼Œãã‚Œã‚’ç”¨ã„ã‚‹ï¼Ž
  \item \cs{Cjascale}ãŒæœªå®šç¾©ã®å&nbsp;´åˆã¯ï¼Œ\Pkg{luatexja-fontspec}èª­ã¿è¾¼ã¿æ™‚ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‹ã‚‰è‡ªå‹•è¨ˆç®—ã•ã‚Œã‚‹ï¼Ž
\end{itemize}
%&lt;/ja&gt;
\end{cslist}

%&lt;*en&gt;
All other options listed above are simply passed to the \Pkg{fontspec} package.
This means that two lines below are equivalent, for example.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šè¨˜ã«ãªã„ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯å…¨ã¦ \Pkg{fontspec} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«æ¸¡ã•ã‚Œã‚‹ï¼Ž
ä¾‹ãˆã°ï¼Œä¸‹ã®2è¡Œã¯åŒã˜æ„å‘³ã«ãªã‚‹ï¼š
%&lt;/ja&gt;
\begin{lstlisting}
\usepackage[no-math]{fontspec}\usepackage{luatexja-fontspec}
\usepackage[no-math]{luatexja-fontspec}
\end{lstlisting}
%&lt;*en&gt;
Note that kerning information in a font is not used
(that is, \texttt{kern} feature is set off) by default in these seven (or~eight) commands.
This is because of the compatibility with previous versions of \LuaTeX-ja
(see \ref{para-kern}).

Below is an example of \cs{jfontspec}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã‚‰ã®å’Œæ–‡ç”¨ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ãƒ•ã‚©ãƒ³ãƒˆå†…ã®ãƒšã‚¢ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°æƒ…å&nbsp;±ã¯æ¨™æº–ã§ã¯ä½¿ç”¨ã•ã‚Œãªã„ï¼Œ
è¨€ã„æ›ãˆã‚Œã° \texttt{kern} featureã¯æ¨™æº–ã§ã¯ç„¡åŠ¹åŒ–ã¨ãªã£ã¦ã„ã‚‹ï¼Ž
ã“ã‚Œã¯ä»¥å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®\LuaTeX-jaã¨ã®äº’æ›æ€§ã®ãŸã‚ã§ã‚ã‚‹ï¼ˆ\ref{para-kern}ç¯€ã‚’å‚ç…§ï¼‰ï¼Ž

ä»¥ä¸‹ã«\cs{jfontspec}ã®ä½¿ç”¨ä¾‹ã‚’ç¤ºã™ï¼Ž
%&lt;/ja&gt;

\begin{LTXexample}[width=0.4\textwidth]
\jfontspec[CJKShape=NLC]{HaranoAjiMincho-Regular}
JIS~X~0213:2004â†’è¾»é¯µ\par
\jfontspec[CJKShape=JIS1990]{HaranoAjiMincho-Regular}
JIS~X~0208-1990â†’è¾»é¯µ\par
\jfontspec[CJKShape=JIS1978]{HaranoAjiMincho-Regular}
JIS~C~6226-1978â†’è¾»é¯µ
\end{LTXexample}

%&lt;en&gt;\subsection{Presets of Japanese fonts}
%&lt;ja&gt;\subsection{å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ—ãƒªã‚»ãƒƒãƒˆè¨­å®š}
\label{ssec:preset-abst}

%&lt;*en&gt;
With \Pkg{luatexja-preset} package, 
one use one of ``preset'' to simplify Japanese font setting.
For details of package options, and those of each presets, please see Subsecion~\ref{ssec:preset}.
The following presets are defined:
%&lt;/en&gt;
%&lt;*ja&gt;
ã‚ˆãä½¿ã‚ã‚Œã¦ã„ã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆè¨­å®šã‚’ä¸€è¡Œã§æŒ‡å®šã§ãã‚‹ã‚ˆã†ã«ã—ãŸã®ãŒ
\Pkg{luatexja-preset}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã‚ã‚‹ï¼Žã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚„å„ãƒ—ãƒªã‚»ãƒƒãƒˆã®è©³ç´°ã«ã¤ã„ã¦ã¯
\ref{ssec:preset}ç¯€ã‚’å‚ç…§ã—ã¦æ¬²ã—ã„ï¼Ž
ç¾æ™‚ç‚¹ã§ã¯ä»¥ä¸‹ã®ãƒ—ãƒªã‚»ãƒƒãƒˆãŒå®šç¾©ã•ã‚Œã¦ã„ã‚‹ï¼š
%&lt;/ja&gt;
\begin{quote}
  \ttfamily
  \hyphenchar\font=-1 \exhyphenchar=-1
  haranoaji, hiragino-pro, hiragino-pron, ipa, ipa-hg, ipaex, ipaex-hg,
  kozuka-pr6, kozuka-pr6n, kozuka-pro, moga-mobo, moga-mobo-ex,
  bizud, morisawa-pr6n, morisawa-pro, ms, ms-hg, noembed, noto-otc, noto-otf, noto, noto-jp, 
  sourcehan, sourcehan-jp, ume, yu-osx, yu-win, yu-win10
\end{quote}

%&lt;ja&gt; ä¾‹ãˆã°ï¼Œæœ¬ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§ã¯\Pkg{luatexja-preset}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’
%&lt;en&gt; For example, this document loads \Pkg{luatexja-preset} package by
\begin{lstlisting}
\usepackage[haranoaji]{luatexja-preset}
\end{lstlisting}
%&lt;ja&gt;ã¨ã—ã¦èª­ã¿è¾¼ã¿ï¼ŒåŽŸãƒŽå‘³ãƒ•ã‚©ãƒ³ãƒˆã‚’ä½¿ã†ã“ã¨ã‚’æŒ‡å®šã—ã¦ã„ã‚‹ï¼Ž
%&lt;en&gt; which means that Harano Aji fonts will be used in this document.


%&lt;*en&gt;
\subsection{\cs{CID}, \cs{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 the \Pkg{japanese-otf} package,
as an external package \Pkg{luatexja-otf}.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{\cs{CID}, \cs{UTF}ã¨\Pkg{otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®ãƒžã‚¯ãƒ­}
\pLaTeX ã§ã¯ï¼ŒJIS~X~0208ã«ãªã„Adobe-Japan1-6ã®æ–‡å­—ã‚’å‡ºåŠ›ã™ã‚‹ãŸã‚ã«ï¼Œ
é½‹è—¤ä¿®ä¸‰éƒŽæ°ã«ã‚ˆã‚‹\Pkg{otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒç”¨ã„ã‚‰ã‚Œã¦ã„ãŸï¼Žã“ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯
åºƒãç”¨ã„ã‚‰ã‚Œã¦ã„ã‚‹ãŸã‚ï¼Œ\LuaTeX-jaã«ãŠã„ã¦ã‚‚\Pkg{otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æ©Ÿèƒ½ã®
ä¸€éƒ¨ã‚’ï¼ˆ\Pkg{luatexja-otf}ã¨ã„ã†åˆ¥ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¨ã—ã¦ï¼‰å®Ÿè£…ã—ãŸï¼Ž
%&lt;/ja&gt;

\begin{LTXexample}[width=0.4\textwidth]
æ£®\UTF{9DD7}å¤–ã¨\CID{13966}ç”°ç™¾\UTF{9592}ã¨ãŒ
\UTF{9AD9}å³¶å±‹ã«\\
\CID{7652}é£¾åŒºã®\CID{13706}é‡Žå®¶ï¼Œ
\CID{1481}åŸŽå¸‚ï¼Œè‘›è¥¿é§…ï¼Œ\\
é«˜å´Žã¨\CID{8705}\UTF{FA11}ï¼Œæ¿±ã¨\ajMayuHama\\
\ajåŠè§’{ã‚«ã‚¿ã‚«ãƒŠ}\ajKakko3\ajMaruYobi{2}%
\ajLig{ä»¤å’Œ}\ajLig{â—‹å•}\ajJIS
\end{LTXexample}

%&lt;*ja&gt;
\Pkg{otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã¯ï¼Œãã‚Œãžã‚Œæ¬¡ã®ã‚ˆã†ãªã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒå­˜åœ¨ã—ãŸï¼š
\begin{cslist}
\item[deluxe] æ˜Žæœä½“ãƒ»ã‚´ã‚·ãƒƒã‚¯ä½“å„3ã‚¦ã‚§ã‚¤ãƒˆã¨ï¼Œä¸¸ã‚´ã‚·ãƒƒã‚¯ä½“ã‚’æ‰±ãˆã‚‹ã‚ˆã†ã«ãªã‚‹ï¼Ž
\item[expert] ä»®åãŒæ¨ªçµ„ãƒ»ç¸¦çµ„å°‚ç”¨ã®ã‚‚ã®ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šï¼Œãƒ«ãƒ“ç”¨ä»®åã‚‚
\ \cs{rubyfamily}\ ã«ã‚ˆã£ã¦æ‰±ãˆã‚‹ã‚ˆã†ã«ãªã‚‹ï¼Ž
\item[bold] ã‚´ã‚·ãƒƒã‚¯ä½“ã‚’æ¨™æº–ã§å¤ªã„ã‚¦ã‚§ã‚¤ãƒˆã®ã‚‚ã®ã«è¨­å®šã™ã‚‹ï¼Ž
\end{cslist}
ã—ã‹ã—ã“ã‚Œã‚‰ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯\Pkg{luatexja-otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«ã¯å­˜åœ¨ã—ãªã„ï¼Ž
\Pkg{otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒæ–‡æ›¸ä¸­ã§ä½¿ç”¨ã™ã‚‹å’Œæ–‡ç”¨TFMã‚’è‡ªå‰ã®ç‰©ã«ç½®ãæ›ãˆã¦ã„ãŸã®ã«å¯¾ã—ï¼Œ
\Pkg{luatexja-otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã¯ï¼Œãã®ã‚ˆã†ãªã“ã¨ã¯è¡Œã‚ãªã„ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž

ã“ã‚Œã‚‰3ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã«ã¤ã„ã¦ã¯ï¼Œ
\Pkg{luatexja-preset} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«ãƒ—ãƒªã‚»ãƒƒãƒˆã‚’ä½¿ã†æ™‚ã«ä¸€ç·’ã«æŒ‡å®šã™ã‚‹ã‹ï¼Œ
ã‚ã‚‹ã„ã¯å¯¾å¿œã™ã‚‹å†…å®¹ã‚’\ref{ssec:chgfnt}ç¯€ï¼Œ\ref{ssec:nfsspat}ç¯€ (NFSS2) ã‚„
\ref{ssec:fontspec}ç¯€ (\Pkg{fontspec}) ã®æ–¹æ³•ã§æ‰‹å‹•ã§æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\section{Changing Internal Parameters}
%&lt;ja&gt;\section{ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å¤‰æ›´}

%&lt;*en&gt;
There are many internal parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
most of them are not stored as internal register of \TeX, but as an
original storage system in \LuaTeX-ja. Hence, to assign or acquire those
parameters, you have to use commands \cs{ltjsetparameter} and
\cs{ltjgetparameter}.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã«ã¯å¤šãã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒå­˜åœ¨ã™ã‚‹ï¼Žãã—ã¦\LuaTeX ã®ä»•æ§˜ã®ãŸã‚ã«ï¼Œ
ãã®å¤šãã¯\TeX ã®ãƒ¬ã‚¸ã‚¹ã‚¿ã«ã§ã¯ãªãï¼Œ\LuaTeX-jaç‹¬è‡ªã®æ–¹æ³•ã§ä¿æŒã•ã‚Œã¦ã„ã‚‹ï¼Ž
ã“ã‚Œã‚‰ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’è¨­å®šãƒ»å–å¾—ã™ã‚‹ãŸã‚ã«ã¯ \cs{ltjsetparameter} ã¨ \cs{ltjgetparameter} ã‚’
ç”¨ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Range of \textbf{JAchar}s}
%&lt;ja&gt;\subsection{\textbf{JAchar}ã®ç¯„å›²}
\label{ssec:setrange}

%&lt;*en&gt;
\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 \cs{ltjdefcharrange}.
The next line adds whole characters in Supplementary Ideographic Plane
and the character ``æ¼¢'' to the character range~100.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã¯ï¼ŒUnicodeã® \texttt{U+0080}--\texttt{U+10FFFF} ã®ç©ºé–“ã‚’
1ç•ªã‹ã‚‰217ç•ªã¾ã§ã®\emph{æ–‡å­—ç¯„å›²}ã«åˆ†å‰²ã—ã¦ã„ã‚‹ï¼Ž
åŒºåˆ†ã‘ã¯ \cs{ltjdefcharrange} ã‚’ç”¨ã„ã‚‹ã“ã¨ã§ï¼ˆã‚°ãƒ­ãƒ¼ãƒãƒ«ã«ï¼‰å¤‰æ›´ã™ã‚‹ã“ã¨ãŒã§ãï¼Œ
ä¾‹ãˆã°ï¼Œæ¬¡ã¯è¿½åŠ&nbsp;æ¼¢å­—é¢(SIP)ã«ã‚ã‚‹å…¨ã¦ã®æ–‡å­—ã¨ã€Œæ¼¢ã€ã‚’ã€Œ100ç•ªã®æ–‡å­—ç¯„å›²ã€ã«è¿½åŠ&nbsp;ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{lstlisting}
\ltjdefcharrange{100}{"20000-"2FFFF,`æ¼¢}
\end{lstlisting}

%&lt;*en&gt;
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 one executes the above line, then SIP will belong to the range~100 and be
removed from the range~4.
%&lt;/en&gt;
%&lt;*ja&gt;
å„æ–‡å­—ã¯ãŸã&nbsp;ä¸€ã¤ã®æ–‡å­—ç¯„å›²ã«æ‰€å±žã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
ä¾‹ãˆã°ï¼ŒSIPå†…ã®æ–‡å­—ã¯å…¨ã¦\LuaTeX-jaã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯4ç•ªã®æ–‡å­—ç¯„å›²ã«
å±žã—ã¦ã„ã‚‹ãŒï¼Œä¸Šè¨˜ã®æŒ‡å®šã‚’è¡Œãˆã°SIPå†…ã®æ–‡å­—ã¯100ç•ªã«å±žã™ã‚ˆã†ã«ãªã‚Šï¼Œ4ç•ªã‹ã‚‰ã¯é™¤ã‹ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
The distinction between \textbf{ALchar} and \textbf{JAchar} is performed by character ranges.
This can be edited by setting the \textsf{jacharrange} parameter.
For example, the code below is just the default setting of \LuaTeX-ja, and
it sets
\begin{itemize}
 \item a character which belongs character ranges 1,~4, 5, and~8 is \textbf{ALchar},
 \item a character which belongs character ranges 2,~3, 6, 7,~and~9 is \textbf{JAchar}.
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
\textbf{ALchar}ã¨\textbf{JAchar}ã®åŒºåˆ¥ã¯æ–‡å­—ç¯„å›²ã”ã¨ã«è¡Œã‚ã‚Œã‚‹ï¼Ž
ã“ã‚Œã¯\textsf{jacharrange}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«ã‚ˆã£ã¦ç·¨é›†ã§ãã‚‹ï¼Ž
ä¾‹ãˆã°ï¼Œä»¥ä¸‹ã¯\LuaTeX-jaã®åˆæœŸè¨­å®šã§ã‚ã‚Šï¼Œæ¬¡ã®å†…å®¹ã‚’è¨­å®šã—ã¦ã„ã‚‹ï¼š
\begin{itemize}
 \item 1ç•ªï¼Œ4ç•ªï¼Œ5ç•ªï¼Œ8ç•ªã®æ–‡å­—ç¯„å›²ã«å±žã™ã‚‹æ–‡å­—ã¯\textbf{ALchar}ï¼Ž
 \item 2ç•ªï¼Œ3ç•ªï¼Œ6ç•ªï¼Œ7ç•ªï¼Œ9ç•ªã®æ–‡å­—ç¯„å›²ã«å±žã™ã‚‹æ–‡å­—ã¯\textbf{JAchar}ï¼Ž
\end{itemize}
%&lt;/ja&gt;
\begin{lstlisting}
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}
\end{lstlisting}
%&lt;*en&gt;
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$ means that ``\dots\ is a \textbf{JAchar}''.
%&lt;/en&gt;
%&lt;*ja&gt;
\textsf{jacharrange}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å¼•æ•°ã¯éžé›¶ã®æ•´æ•°ã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ï¼Ž
ãƒªã‚¹ãƒˆä¸­ã®è²&nbsp;ã®æ•´æ•°$-n$ã¯ã€Œæ–‡å­—ç¯„å›²$n$ã«å±žã™ã‚‹æ–‡å­—ã¯\textbf{ALchar}ã¨ã—ã¦
æ‰±ã†ã€ã“ã¨ã‚’æ„å‘³ã—ï¼Œæ­£ã®æ•´æ•°$+n$ã¯ã€Œ\textbf{JAchar}ã¨ã—ã¦æ‰±ã†ã€ã“ã¨ã‚’æ„å‘³ã™ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
Note that characters \texttt{U+0000}--\texttt{U+007F} are always treated as an
\textbf{ALchar} (this cannot be customized).
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠï¼Œ\texttt{U+0000}--\texttt{U+007F} ã¯å¸¸ã«\textbf{ALchar}ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼ˆåˆ©ç”¨è€…ãŒå¤‰æ›´ã™
ã‚‹ã“ã¨ã¯å‡ºæ¥ãªã„ï¼‰ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Default character ranges}
\LuaTeX-ja predefines nine character ranges for convenience. They are
determined from the following data:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{æ–‡å­—ç¯„å›²ã®åˆæœŸå€¤}
\LuaTeX-jaã§ã¯9ã¤ã®æ–‡å­—ç¯„å›²ã‚’äºˆã‚å®šç¾©ã—ã¦ãŠã‚Šï¼Œ
ã“ã‚Œã‚‰ã¯ä»¥ä¸‹ã®ãƒ‡ãƒ¼ã‚¿ã«åŸºã¥ã„ã¦æ±ºå®šã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{itemize}
%&lt;en&gt;\item Blocks in Unicode~12.0.0.
%&lt;ja&gt;\item Unicode~12.0ã®ãƒ–ãƒ­ãƒƒã‚¯ï¼Ž
%&lt;en&gt;\item The \texttt{Adobe-Japan1-UCS2} mapping between a CID Adobe-Japan1- and Unicode.
%&lt;ja&gt;\item Adobe-Japan1-7ã®CIDã¨Unicodeã®é–“ã®å¯¾å¿œè¡¨\texttt{Adobe-Japan1-UCS2}ï¼Ž
%&lt;en&gt;\item The \Pkg{PXbase} bundle for \upTeX\ by Takayuki Yato.
%&lt;ja&gt;\item å…«ç™»å´‡ä¹‹æ°ã«ã‚ˆã‚‹\upTeX ç”¨ã®\Pkg{PXbase}ãƒãƒ³ãƒ‰ãƒ«ï¼Ž
\end{itemize}

%&lt;*en&gt;
Now we describe these nine 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 equal to or above \texttt{U+0080} which does not belong to
these eight ranges belongs to the character range~217.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»¥ä¸‹ã§ã¯ã“ã‚Œã‚‰9ã¤ã®æ–‡å­—ç¯„å›²ã«ã¤ã„ã¦è¨˜è¿°ã™ã‚‹ï¼Žæ·»å­—ã®ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã€ŒJã€ã€ŒAã€
ã¯ï¼Œãã®æ–‡å­—ç¯„å›²å†…ã®æ–‡å­—ãŒ\textbf{JAchar}ã‹\textbf{ALchar}ã‹ã‚’è¡¨ã—ã¦ã„ã‚‹ï¼Žã“ã‚Œã‚‰ã®åˆæœŸè¨­å®šã¯
\texttt{PXbase}ãƒãƒ³ãƒ‰ãƒ«ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹\texttt{prefercjk}ã¨é¡žä¼¼ã®ã‚‚ã®ã§ã‚ã‚‹ãŒï¼Œ
8ãƒ“ãƒƒãƒˆãƒ•ã‚©ãƒ³ãƒˆä½¿ç”¨æ™‚ã®ãƒˆãƒ©ãƒ–ãƒ«ã‚’é˜²ããŸã‚ã« \texttt{U+0080}--\texttt{U+00FF} ã®æ–‡å­—ã¯å…¨éƒ¨
\textbf{ALchar}ã¨ã—ã¦ã„ã‚‹ï¼Ž
ãªãŠï¼Œ\texttt{U+0080} ä»¥é™ã§ã“ã‚Œã‚‰9ã¤ã®æ–‡å­—ç¯„å›²ã«å±žã•ãªã„æ–‡å­—ã¯ï¼Œ217ç•ªã®æ–‡å­—ç¯„å›²ã«å±žã™ã‚‹ã“ã¨ã«ãªã£ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{description}
%&lt;*en&gt;
\item[Range~8${}^{\text{A}}$] The intersection of the upper half of ISO~8859-1
	 (Latin-1 Supplement) and JIS~X~0208 (a basic character set for Japanese).
  The character list is indicated in \autoref{tab:rng8}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[ç¯„å›²8${}^{\text{A}}$] ISO~8859-1ã®ä¸Šä½é&nbsp;˜åŸŸï¼ˆãƒ©ãƒ†ãƒ³1è£œåŠ©ï¼‰ã¨
  JIS~X~0208ã®å…±é€šéƒ¨åˆ†ï¼Žæ–‡å­—ã®ãƒªã‚¹ãƒˆã¯\autoref{tab:rng8}ã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Characters in predefined character range~8.}\medskip
%&lt;ja&gt;\caption{æ–‡å­—ç¯„å›²8ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹æ–‡å­—ï¼Ž}
\label{tab:rng8}
\centering\footnotesize
\def\ch#1{\char"#1~(\texttt{U+00#1})}%"
\begin{tabular}{llll}
\ch{A7}&amp;{Section Sign}&amp;
\ch{A8}&amp;{Diaeresis}\\
\ch{B0}&amp;{Degree sign}&amp;
\ch{B1}&amp;{Plus-minus sign}\\
\ch{B4}&amp;{Spacing acute}&amp;
\ch{B6}&amp;{Paragraph sign}\\
\ch{D7}&amp;{Multiplication sign}&amp;
\ch{F7}&amp;{Division Sign}
\end{tabular}
\end{table}

%&lt;*en&gt;
\item[Range~1${}^{\text{A}}$] Latin characters that some of them are included in Adobe-Japan1-7.
  This range consists of the Unicode ranges indicated in \autoref{tab:rng1},
  \emph{except characters in the range~8 above}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[ç¯„å›²1${}^{\text{A}}$] ãƒ©ãƒ†ãƒ³æ–‡å­—ã®ã†ã¡ï¼ŒAdobe-Japan1-7ã¨ã®å…±é€šéƒ¨åˆ†ãŒã‚ã‚‹ã‚‚ã®ï¼Ž
                             ã“ã®ç¯„å›²ã¯\autoref{tab:rng1}ã§ç¤ºã—ãŸUnicodeã®ãƒ–ãƒ­ãƒƒã‚¯ã®ã†ã¡
                             \emph{ç¯„å›²8ã‚’é™¤ã„ãŸ}éƒ¨åˆ†ã§æ§‹æˆã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Unicode blocks in predefined character range~1.}\medskip
%&lt;ja&gt;\caption{æ–‡å­—ç¯„å›²1ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹Unicodeãƒ–ãƒ­ãƒƒã‚¯ï¼Ž}
\label{tab:rng1}
\centering\footnotesize
\begin{tabular}{llll}
 \texttt{U+0080}--\texttt{U+00FF}&amp;Latin-1 Supplement&amp;
 \texttt{U+0100}--\texttt{U+017F}&amp;Latin Extended-A\\
 \texttt{U+0180}--\texttt{U+024F}&amp; Latin Extended-B&amp;
 \texttt{U+0250}--\texttt{U+02AF}&amp; IPA Extensions\\
 \texttt{U+02B0}--\texttt{U+02FF}&amp; Spacing Modifier Letters&amp;
 \texttt{U+0300}--\texttt{U+036F}&amp; Combining Diacritical Marks\\
 \texttt{U+1E00}--\texttt{U+1EFF}&amp;Latin Extended Additional
\end{tabular}
\end{table}
%&lt;*en&gt;
\item[Range~2${}^{\text{\kern.1emJ}}$] Greek and Cyrillic letters. JIS~X~0208 (hence most of Japanese
	   fonts) has some of these characters.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[ç¯„å›²2${}^{\text{\kern.1emJ}}$] ã‚®ãƒªã‚·ãƒ£æ–‡å­—ã¨ã‚­ãƒªãƒ«æ–‡å­—ï¼ŽJIS~X~0208ï¼ˆã—ãŸãŒã£ã¦ã»ã¨ã‚“ã©ã®
                             å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆï¼‰ã«ã¯ï¼Œã“ã‚Œã‚‰ã®æ–‡å­—ã®ä¸€éƒ¨ãŒå«ã¾ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{multicols}{2}
\begin{itemize}
\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
\\\
\end{itemize}
\end{multicols}
%&lt;*en&gt;
\item[Range~3${}^{\text{\kern.1emJ}}$] Miscellaneous symbols. The block list is
	   indicated in \autoref{tab:rng3}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[ç¯„å›²3${}^{\text{\kern.1emJ}}$] è¨˜å·é¡žï¼Žãƒ–ãƒ­ãƒƒã‚¯ã®ãƒªã‚¹ãƒˆã¯\autoref{tab:rng3}%
                             ã«ç¤ºã—ã¦ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Unicode blocks in predefined character range~3.}\medskip
%&lt;ja&gt;\caption{æ–‡å­—ç¯„å›²3ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹Unicodeãƒ–ãƒ­ãƒƒã‚¯ï¼Ž}
\label{tab:rng3}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\centering\footnotesize
\begin{tabular}{llll}
"2070--"209F&amp;Superscripts and Subscripts\\
"20A0--"20CF&amp;Currency Symbols&amp;
"20D0--"20FF&amp;Comb.\ Diacritical Marks for Symbols\\
"2100--"214F&amp;Letterlike Symbols&amp;
"2150--"218F&amp;Number Forms\\
"2190--"21FF&amp;Arrows&amp;
"2200--"22FF&amp;Mathematical Operators\\
"2300--"23FF&amp;Miscellaneous Technical&amp;
"2400--"243F&amp;Control Pictures\\
"2500--"257F&amp;Box Drawing&amp;
"2580--"259F&amp;Block Elements\\
"25A0--"25FF&amp;Geometric Shapes&amp;
"2600--"26FF&amp;Miscellaneous Symbols\\
"2700--"27BF&amp;Dingbats&amp;
"2900--"297F&amp;Supplemental Arrows-B\\
"2980--"29FF&amp;Misc.\ Math Symbols-B&amp;
"2B00--"2BFF&amp;Misc.\ Symbols and Arrows
\end{tabular}
\end{table}
%&lt;*en&gt;
\item[Range~9${}^{\text{J}}$] The intersection of the ``General Punctuation'' block
  (\texttt{U+2000}--\texttt{U+206F})
  and Adobe-Japan1-7 character collection.
  This character range characters in \autoref{tab:rng9}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[ç¯„å›²9${}^{\text{J}}$] Unicodeã®ã€Œä¸€èˆ¬å¥èª­ç‚¹ã€ãƒ–ãƒ­ãƒƒã‚¯(\texttt{U+2000}--\texttt{U+206F})ã¨
  Adobe-Japan1-7ã®å…±é€šéƒ¨åˆ†ï¼Ž
  ã“ã®æ–‡å­—ç¯„å›²ã¯\autoref{tab:rng9}ã«ç¤ºã—ãŸæ–‡å­—ã§æ§‹æˆã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Characters in predefined character range~9.}\medskip
%&lt;ja&gt;\caption{æ–‡å­—ç¯„å›²9ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹æ–‡å­—ï¼Ž}
\label{tab:rng9}
\centering\footnotesize
\def\ch#1{%
  {\fboxsep0pt\fcolorbox{b_cyan}{white}%
  {\normalsize\KOZM\UTF{20#1}}}\ (\texttt{U+20#1})} %"
% 13: JIS X0213, AJ, Adobe-Japan-1 only
\begin{tabular}{ll&gt;{\color{white}}lll&gt;{\color{white}}l}
  \ch{02}&amp;{En space}&amp;AJ&amp;
  \ch{10}&amp;{Hyphen}&amp;\\
  \ch{11}&amp;{Non-breaking hyphen}&amp;AJ&amp;
  \ch{13}&amp;{En dash}&amp;13\\
  \ch{14}&amp;{Em dash}&amp;&amp;
  \ch{15}&amp;{Horizontal bar}&amp;\\
  \ch{16}&amp;{Double vertical line}&amp;&amp;
  \ch{18}&amp;{Left single quotation mark}&amp;\\
  \ch{19}&amp;{Right single quotation mark}&amp;&amp;
  \ch{1A}&amp;{Single low-9 quotation mark}&amp;AJ\\
  \ch{1C}&amp;{Left double quotation mark}&amp;&amp;
  \ch{1D}&amp;{Right double quotation mark}&amp;\\
  \ch{1E}&amp;{Double low-9 quotation mark}&amp;AJ&amp;
  \ch{20}&amp;{Dagger}&amp;\\
  \ch{21}&amp;{Double dagger}&amp;&amp;
  \ch{22}&amp;{Bullet}&amp;13\\
  \ch{25}&amp;{Two dot leader}&amp;&amp;
  \ch{26}&amp;{Horizontal ellipsis}&amp;\\
  \ch{30}&amp;{Per mille sign}&amp;&amp;
  \ch{32}&amp;{Prime}&amp;\\
  \ch{33}&amp;{Double prime}&amp;&amp;
  \ch{39}&amp;{Single left-pointing angle quot.}&amp;AJ\\
  \ch{3A}&amp;{Single right-pointing angle quot.}&amp;AJ&amp;
  \ch{3B}&amp;{Reference mark}&amp;\\
  \ch{3C}&amp;{Double exclamation mark}&amp;13&amp;
  \ch{3E}&amp;{Overline}&amp;\\
  \ch{3F}&amp;{Undertie}&amp;13&amp;
  \ch{42}&amp;{Asterism}&amp;13\\
  \ch{44}&amp;{Fraction slash}&amp;AJ&amp;
  \ch{47}&amp;{Double question mark}&amp;13\\
  \ch{48}&amp;{Question exclamation mark}&amp;13&amp;
  \ch{49}&amp;{Exclamation question mark}&amp;13\\
  \ch{51}&amp;{Two asterisks aligned vertically}&amp;13
\end{tabular}
\end{table}
%&lt;*en&gt;
\item[Range~4${}^{\text{A}}$] Characters usually not in Japanese fonts. This range consists
	   of almost all Unicode blocks which are not in other
	   predefined ranges. Hence, instead of showing the block list,
	   we put the definition of this range itself.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[ç¯„å›²4${}^{\text{A}}$] é€šå¸¸å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«ã¯å«ã¾ã‚Œã¦ã„ãªã„æ–‡å­—ï¼Ž
                             ã“ã®ç¯„å›²ã¯ä»–ã®ç¯„å›²ã«ãªã„ã»ã¨ã‚“ã©å…¨ã¦ã®Unicodeãƒ–ãƒ­ãƒƒã‚¯
                             ã§æ§‹æˆã•ã‚Œã¦ã„ã‚‹ï¼Žã—ãŸãŒã£ã¦ï¼Œãƒ–ãƒ­ãƒƒã‚¯ã®ãƒªã‚¹ãƒˆã‚’ç¤ºã™
                             ä»£ã‚ã‚Šã«ï¼Œç¯„å›²ã®å®šç¾©ãã®ã‚‚ã®ã‚’ç¤ºã™ï¼Ž
%&lt;/ja&gt;
\begin{lstlisting}[escapechar=\!]
\ltjdefcharrange{4}{%
   "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
  "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
  "1F300-"1FFFF, ... !\rmfamily (and characters in \texttt{U+2000}--\texttt{U+206F} which are not in range 9)!
} % non-Japanese
\end{lstlisting}
%&lt;en&gt;\item[Range~5${}^{\text{A}}$] Surrogates and Supplementary Private Use Areas.
%&lt;ja&gt;\item[ç¯„å›²5${}^{\text{A}}$] ä»£ç”¨ç¬¦å·ã¨è£œåŠ©ç§ç”¨é&nbsp;˜åŸŸï¼Ž
%&lt;en&gt;\item[Range~6${}^{\text{\kern.1emJ}}$] Characters used in Japanese. The block list is indicated in \autoref{tab:rng6}.
%&lt;ja&gt;\item[ç¯„å›²6${}^{\text{\kern.1emJ}}$] æ—¥æœ¬èªžã§ç”¨ã„ã‚‰ã‚Œã‚‹æ–‡å­—ï¼Žãƒ–ãƒ­ãƒƒã‚¯ã®ãƒªã‚¹ãƒˆã¯\autoref{tab:rng6}ã«ç¤ºã™ï¼Ž
\begin{table}[!tb]
%&lt;en&gt;\caption{Unicode blocks in predefined character range~6.}\medskip
%&lt;ja&gt;\caption{æ–‡å­—ç¯„å›²6ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹Unicodeãƒ–ãƒ­ãƒƒã‚¯ï¼Ž}
\label{tab:rng6}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\centering\footnotesize
\begin{tabular}{llll}
"2460--"24FF&amp;Enclosed Alphanumerics&amp;
"2E80--"2EFF&amp;CJK Radicals Supplement\\
"3000--"303F&amp;CJK Symbols and Punctuation&amp;
"3040--"309F&amp;Hiragana\\
"30A0--"30FF&amp;Katakana&amp;
"3190--"319F&amp;Kanbun\\
"31F0--"31FF&amp;Katakana Phonetic Extensions&amp;
"3200--"32FF&amp;Enclosed CJK Letters and Months\\
"3300--"33FF&amp;CJK Compatibility&amp;
"3400--"4DBF&amp;CJK Unified Ideographs Ext-A\\
"4E00--"9FFF&amp;CJK Unified Ideographs&amp;
"F900--"FAFF&amp;CJK Compatibility Ideographs\\
"FE10--"FE1F&amp;Vertical Forms&amp;
"FE30--"FE4F&amp;CJK Compatibility Forms\\
"FE50--"FE6F&amp;Small Form Variants&amp;
"FF00--"FFEF&amp;Halfwidth and Fullwidth Forms\\
"{1B}000--"{1B}0FF&amp;Kana Supplement&amp;
"{1B}100--"{1B}12F&amp;Kana Extended-A\\
%"{1B}130--"{1B}16F&amp;Small Kana Extension
"{1F}100--"{1F}1FF&amp;Enclosed Alphanumeric Supp.&amp;
"{1F}200--"{1F}2FF&amp;Enclosed Ideographic Supp.\\
"{20}000--"{2F}FFF&amp;(Supp. Ideographic Plane)&amp;
"{30}000--"{3F}FFF&amp;(Tert. Ideographic Plane)\\
"{E0}100--"{E0}1EF&amp;Variation Selectors Supp.
\end{tabular}
\end{table}
%&lt;*en&gt;
\item[Range~7${}^{\text{\kern.1emJ}}$] Characters used in CJK languages, but not included in  Adobe-Japan1-7.
The block list is indicated in \autoref{tab:rng7}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[ç¯„å›²7${}^{\text{\kern.1emJ}}$] CJKè¨€èªžã§ç”¨ã„ã‚‰ã‚Œã‚‹æ–‡å­—ã®ã†ã¡ï¼ŒAdobe-Japan1-7ã«
                            å«ã¾ã‚Œã¦ã„ãªã„ã‚‚ã®ï¼Ž
                            ãƒ–ãƒ­ãƒƒã‚¯ã®ãƒªã‚¹ãƒˆã¯\autoref{tab:rng7}ã«ç¤ºã™ï¼Ž
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Unicode blocks in predefined character range~7.}\medskip
%&lt;ja&gt;\caption{æ–‡å­—ç¯„å›²7ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹Unicodeãƒ–ãƒ­ãƒƒã‚¯ï¼Ž}
\label{tab:rng7}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\centering\small
\begin{tabular}{llll}
"1100--"11FF&amp;Hangul Jamo&amp;
"2F00--"2FDF&amp;Kangxi Radicals\\
"2FF0--"2FFF&amp;Ideographic Description Characters&amp;
"3100--"312F&amp;Bopomofo\\
"3130--"318F&amp;Hangul Compatibility Jamo&amp;
"31A0--"31BF&amp;Bopomofo Extended\\
"31C0--"31EF&amp;CJK Strokes&amp;
"A000--"A48F&amp;Yi Syllables\\
"A490--"A4CF&amp;Yi Radicals&amp;
"A960--"A97F&amp;Hangul Jamo Extended-A\\
"AC00--"D7AF&amp;Hangul Syllables&amp;
"D7B0--"D7FF&amp;Hangul Jamo Extended-B
\end{tabular}
\end{table}
\end{description}

%&lt;*en&gt;
\paragraph{Notes on \texttt{U+0080}--\texttt{U+00FF}}
You should treat characters in \\texttt{U+0080}--\texttt{U+00FF} as \textbf{ALchar},
when you use traditional 8-bit fonts, such as the \Pkg{marvosym} package.

For example, \cs{Frowny} which is provided by the \Pkg{marvosym} package has
the same codepoint as \S\ (\text{U+00A7}).
Hence, as previous versions of \LuaTeX-ja, if these characters are treated as
\text{JAchar}s, then \cs{Frowny} produces ``\ltjjachar`Â§'' (in a Japanese font).

To avoid such situations, the default setting of \LuaTeX-ja is changed in version~20150906.0
so that all characters \texttt{U+0080}--\texttt{U+00FF} are treated as \textbf{ALchar}.

If you want to output a character as \textbf{ALchar} and \textbf{JAchar} regardless the range
setting, you can use \cs{ltjalchar} and \cs{ltjjachar} respectively, as the following example.
\begin{LTXexample}[width=0.3\textwidth]
\gtfamily\large % default, ALchar, JAchar
Â¶, \ltjalchar`Â¶, \ltjjachar`Â¶\\   % default: ALchar
Î±, \ltjalchar`Î±, \ltjjachar`Î±  % default: JAchar
\end{LTXexample}
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\texttt{U+0080}--\texttt{U+00FF}ã«ã¤ã„ã¦ã®æ³¨æ„}
\LuaTeX-jaã§ï¼Œ\Pkg{marvosym}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ç­‰ï¼ŒUnicodeãƒ•ã‚©ãƒ³ãƒˆã§ãªã
ä¼çµ±çš„ãª8ãƒ“ãƒƒãƒˆãƒ•ã‚©ãƒ³ãƒˆã‚’ç”¨ã„ã‚‹å&nbsp;´åˆã«ã¯æ³¨æ„ãŒå¿…è¦ã§ã‚ã‚‹ï¼Ž

ä¾‹ãˆã°ï¼Œ\Pkg{marvosym}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æä¾›ã™ã‚‹ \cs{Frowny} ã‚‚ï¼Œç¬¦å·ä½ç½®ã¯167ï¼Œã¤ã¾ã‚ŠUnicodeã«ãŠã‘ã‚‹
\S\ (\text{U+00A7}) ã¨åŒã˜ç¬¦å·ä½ç½®ã«ã‚ã‚‹ï¼Ž
å³ã¡ï¼Œä»¥å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚ˆã†ã«ï¼Œã€Œå‰ç¯€ã®æ–‡å­—ç¯„å›²8å†…ã®æ–‡å­—ã¯\textbf{JAchar}ã€ã¨ã„ã†è¨­å®šã§
ã‚ã£ãŸã¨ã™ã‚‹ã¨ï¼Œä¸Šè¨˜ã® \cs{Frowny} ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ã€Œ\ltjjachar`Â§ã€ã‚’å‡ºåŠ›ã™ã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž

ã“ã®ã‚ˆã†ãªäº‹æ…‹ã‚’é¿ã‘ã‚‹ãŸã‚ã«ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³20150906.0ã‹ã‚‰ã¯ \texttt{U+0080}--\texttt{U+00FF} ã®ç¯„å›²ã®
æ–‡å­—ã¯å…¨ã¦\textbf{ALchar}ã¨ãªã‚‹ã‚ˆã†ã«åˆæœŸè¨­å®šã‚’å¤‰æ›´ã—ã¦ã„ã‚‹ï¼Ž

ãªãŠï¼Œæ–‡å­—ç¯„å›²ã®è¨­å®šã«é–¢ã‚ã‚‰ãš1ã¤ã®æ–‡å­—ã‚’\textbf{ALchar}, \textbf{JAchar}ã§å‡ºåŠ›ã—ãŸã„å&nbsp;´åˆã«ã¯ï¼Œ
ä»¥ä¸‹ã®ä¾‹ã®ã‚ˆã†ã«ãã‚Œãžã‚Œ \cs{ltjalchar},~\cs{ltjjachar} ã«è©²å½“æ–‡å­—ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã‚’æ¸¡ã›ã°ã‚ˆã„ï¼Ž
\begin{LTXexample}[width=0.3\textwidth]
\gtfamily\large % default, ALchar, JAchar
Â¶, \ltjalchar`Â¶, \ltjjachar`Â¶\\   % default: ALchar
Î±, \ltjalchar`Î±, \ltjjachar`Î±  % default: JAchar
\end{LTXexample}
%&lt;/ja&gt;

%&lt;*ja&gt;
\paragraph{çµµæ–‡å­—ãªã©ï¼Œè¤‡æ•°ã‚³ãƒ¼ãƒ‰ãƒã‚¤ãƒ³ãƒˆã®åˆ—ã§è¡¨ç¾ã•ã‚Œã‚‹å­—å½¢ã‚’ã‚’åˆ©ç”¨ã™ã‚‹å&nbsp;´åˆã®æ³¨æ„}
ï¼ˆ\Pkg{luaotfload}ã«ã‚ˆã‚‹ï¼‰OpenTypeæ©Ÿèƒ½ã‚„åˆå­—ç­‰ã®å‡¦ç†ã¯ï¼Œ\LuaTeX-jaãŒ
æ®µè½ãƒ»æ°´å¹³ãƒœãƒƒã‚¯ã‚¹ã®ä¸­èº«å…¨ä½“ã«å¯¾ã—ã¦ã€Œã“ã®æ–‡å­—ã¯\textbf{JAchar}ã&nbsp;ã‹ã‚‰å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§çµ„ã‚€ã€ã¨
ãƒ•ã‚©ãƒ³ãƒˆã‚’ç½®ãæ›ãˆãŸå¾Œã«é©ç”¨ã•ã‚Œã‚‹ï¼Ž
ãã®ãŸã‚ï¼Œç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ã‚„çµµæ–‡å­—ã¨ã„ã£ãŸè¤‡æ•°ã®ã‚³ãƒ¼ãƒ‰ãƒã‚¤ãƒ³ãƒˆã®åˆ—ã§è¡¨ç¾ã•ã‚Œã‚‹æ–‡å­—ã‚’
çµ„ã‚€å&nbsp;´åˆã«ã¯ï¼Œåˆ—å…¨ä½“ã§\textbf{JAchar}ã®ç¯„å›²ã‹\textbf{ALchar}ã®ç¯„å›²ã‹ãŒ
çµ±ä¸€ã•ã‚Œã¦ã„ãªã„ã¨ã„ã‘ãªã„ï¼Ž

ä¾‹ãˆã°ï¼ŒCJKçµ±åˆæ¼¢å­—ï¼ˆã¨ãã®æ‹¡å¼µé”ï¼‰ã¨
IVSç”¨ã®ç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿(\texttt{U+E0100}--\texttt{U+E01EF})ã¯æ¨™æº–ã§ã¯
ã©ã¡ã‚‰ã‚‚åŒã˜æ–‡å­—ç¯„å›²6ã§ã‚ã‚‹ãŸã‚ï¼Œï¼ˆãƒ•ã‚©ãƒ³ãƒˆãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚Œã°ï¼‰IVSã¯æ­£ã—ãæ©Ÿèƒ½ã™ã‚‹ï¼Ž
ã—ã‹ã—ï¼Œä¸‹ã®ä¾‹ã®ã‚ˆã†ã«ç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ã‚’\textbf{ALchar}ã®æ–‡å­—ç¯„å›²(4)ã«ç§»å‹•ã•ã›ã‚‹ã¨ï¼Œ
IVSã¯æ©Ÿèƒ½ã—ãªããªã‚‹ï¼š
\ltjdefcharrange{4}{"E0100-"E01EF}
\begin{LTXexample}
\ltjdefcharrange{4}{"E0100-"E01EF}
è‘›ó&nbsp;„€åŸŽå¸‚ï¼Œè‘›ó&nbsp;„é£¾åŒºï¼Œè‘›è¥¿
\end{LTXexample}
\ltjdefcharrange{6}{"E0100-"E01EF}

ã¾ãŸï¼Œæ¨™æº–ã§ã¯çµµæ–‡å­—ã¨ã—ã¦ä½¿ã‚ã‚Œã‚‹å¯èƒ½æ€§ãŒå¤§ãã„ä¸€éƒ¨ã®æ–‡å­—ãŒ\textbf{JAchar}ã¨ãªã£ã¦ã„ã‚‹
\footnote{åŒã˜Unicodeãƒ–ãƒ­ãƒƒã‚¯å†…ã«Adobe-Japan1-6ã®æ–‡å­—ãŒã‚ã£ãŸãŸã‚ï¼Ž}ï¼Ž
çµµæ–‡å­—ã‚’ç”¨ã„ã‚‹å&nbsp;´åˆã«ã¯ã“ã®ç‚¹ã«ç•™æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ï¼Ž

\begin{center}
  \begin{minipage}{.5\textwidth}\small\ttfamily
\verb!\ltjsetparameter{jacharrange={+3}}!\\
\verb!\font\nce=NotoColorEmoji.ttf:mode=harf\nce!\\
\IVSA 1F469\UCSB{ZW}{J}\UCSA 2764\UCSB{VS}{16}\UCSB{ZW}J\IVSA 1F48B\UCSB{ZW}J\IVSA 1F468\ 
  \textcolor{green}{\% U+2764: JAchar}\\
\verb!\ltjsetparameter{jacharrange={-3}}!\\
\IVSA 1F469\UCSB{ZW}{J}\UCSA 2764\UCSB{VS}{16}\UCSB{ZW}J\IVSA 1F48B\UCSB{ZW}J\IVSA 1F468\ 
  \textcolor{green}{\% U+2764: ALchar}
  \end{minipage}%
  \begin{minipage}{.5\textwidth}
\ltjsetparameter{jacharrange={+3}}
\font\nce=NotoColorEmoji.ttf:mode=harf\nce
ðŸ‘©â€â¤ï¸â€ðŸ’‹â€ðŸ‘¨
\ltjsetparameter{jacharrange={-3}}
ðŸ‘©â€â¤ï¸â€ðŸ’‹â€ðŸ‘¨
  \end{minipage}
\end{center}
\ltjsetparameter{jacharrange={+3}}
%&lt;/ja&gt;


%&lt;en&gt;\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%&lt;ja&gt;\subsection{\Param{kanjiskip}ã¨\Param{xkanjiskip}}
\label{subs-kskip}

%&lt;en&gt;\textbf{JAglue} is divided into the following three categories:
%&lt;ja&gt;\textbf{JAglue}ã¯ä»¥ä¸‹ã®3ã¤ã®ã‚«ãƒ†ã‚´ãƒªã«åˆ†é¡žã•ã‚Œã‚‹ï¼š
\begin{itemize}
%&lt;*en&gt;
\item Glues/kerns specified in JFM. If \cs{inhibitglue} is issued
      around a \textbf{JAchar}, this glue will not be inserted at the
      place.
%&lt;/en&gt;
%&lt;*ja&gt;
\item JFMã§æŒ‡å®šã•ã‚ŒãŸã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ï¼Žã‚‚ã— \cs{inhibitglue} ãŒ\textbf{JAchar}ã®å‘¨ã‚Šã§
      ç™ºè¡Œã•ã‚Œã¦ã„ã‚Œã°ï¼Œã“ã®ã‚°ãƒ«ãƒ¼ã¯æŒ¿å…¥ã•ã‚Œãªã„ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item The default glue which inserted between two \textbf{JAchar}s (\Param{%
      kanjiskip}).
%&lt;/en&gt;
%&lt;*ja&gt;
\item ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§2ã¤ã®\textbf{JAchar}ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼(\Param{kanjiskip})ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item The default glue which inserted between a \textbf{JAchar} and an
      \textbf{ALchar} (\Param{xkanjiskip}).
%&lt;/en&gt;
%&lt;*ja&gt;
\item ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§\textbf{JAchar}ã¨\textbf{ALchar}ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼(\Param{xkanjiskip})ï¼Ž
%&lt;/ja&gt;
\end{itemize}
%&lt;*en&gt;
The value (a skip) of \Param{kanjiskip} or
\Param{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.
}
%&lt;/en&gt;
%&lt;*ja&gt;
\Param{kanjiskip}ã‚„\Param{xkanjiskip}ã®å€¤
ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¦å¤‰æ›´å¯èƒ½ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{lstlisting}
\ltjsetparameter{kanjiskip={0pt plus 0.4pt minus 0.4pt},
                 xkanjiskip={0.25\zw plus 1pt minus 1pt}}
\end{lstlisting}
%&lt;*en&gt;
Here \cs{zw} is a internal dimension
which stores fullwidth of the current Japanese font.
This \cs{zw} can be used as the unit \texttt{zw} in \pTeX.

The value of these parameter can be get by \cs{ltjgetparameter}.
Note that the result by \cs{ltjgetparameter} is \emph{not} the internal quantities,
but \emph{a string} (hence \cs{the} cannot be prefixed).
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã“ã§ï¼Œ\cs{zw} ã¯ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®å…¨è§’å¹…ã‚’è¡¨ã™é•·ã•ã§ã‚ã‚Šï¼Œ
\pTeX ã«ãŠã‘ã‚‹é•·ã•å˜ä½ \texttt{zw} ã¨åŒã˜ã‚ˆã†ã«ä½¿ç”¨ã§ãã‚‹ï¼Ž

ã“ã‚Œã‚‰ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å€¤ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«å–å¾—ã§ãã‚‹ï¼Ž
æˆ»ã‚Šå€¤ã¯å†…éƒ¨å€¤ã§ã¯ãªã\emph{æ–‡å­—åˆ—}ã§ã‚ã‚‹ï¼ˆ\cs{the} ã¯å‰ç½®ã§ããªã„ï¼‰ã“ã¨ã«æ³¨æ„ã—ã¦ã»ã—ã„ï¼š
%&lt;/ja&gt;
\begin{LTXexample}
kanjiskip: \ltjgetparameter{kanjiskip},\\
xkanjiskip: \ltjgetparameter{xkanjiskip}
\end{LTXexample}

%&lt;*en&gt;
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 \cs{maxdimen}
(these ``ideal width'' cannot be retrived by \cs{ltjgetparameter}).
%&lt;/en&gt;
%&lt;*ja&gt;
JFMã¯ã€Œæœ›ã¾ã—ã„\Param{kanjiskip}ã®å€¤ã€ã‚„
ã€Œæœ›ã¾ã—ã„\Param{xkanjiskip}ã®å€¤ã€ã‚’æŒã£ã¦ã„ã‚‹ã“ã¨ãŒã‚ã‚‹ï¼Ž
ã“ã‚Œã‚‰ã®ãƒ‡ãƒ¼ã‚¿ã‚’ä½¿ã†ãŸã‚ã«ã¯ï¼Œ\Param{kanjiskip}ã‚„%
\Param{xkanjiskip}ã®å€¤ã‚’ \cs{maxdimen} ã®å€¤ã«è¨­å®šã™ã‚Œã°ã‚ˆã„ãŒï¼Œ
\cs{ltjgetparameter} ã«ã‚ˆã£ã¦å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ããªã„ã®ã§æ³¨æ„ãŒå¿…è¦ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Insertion setting of \Param{xkanjiskip}}
%&lt;ja&gt;\subsection{\Param{xkanjiskip} ã®æŒ¿å…¥è¨­å®š}

%&lt;*en&gt;
It is not desirable that \Param{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 ``(\+ã‚'').
\LuaTeX-ja can control whether \Param{xkanjiskip} can be inserted
before/after a character, by changing \Param{jaxspmode} for \textbf{JAchar}s and
\Param{alxspmode} parameters \textbf{ALchar}s respectively.
%&lt;/en&gt;
%&lt;*ja&gt;
\Param{xkanjiskip}ãŒã™ã¹ã¦ã®\textbf{JAchar}ã¨\textbf{ALchar}ã®å¢ƒç•Œã«
æŒ¿å…¥ã•ã‚Œã‚‹ã®ã¯æœ›ã¾ã—ã„ã“ã¨ã§ã¯ãªã„ï¼Žä¾‹ãˆã°ï¼Œ\Param{xkanjiskip}ã¯é–‹ãæ‹¬å¼§ã®
å¾Œã«ã¯æŒ¿å…¥ã•ã‚Œã‚‹ã¹ãã§ã¯ãªã„ï¼ˆã€Œ(ã‚ã€ã¨ã€Œ(\+ã‚ã€ã‚’
æ¯”ã¹ã¦ã¿ã‚ˆï¼‰ï¼Ž
\LuaTeX-jaã§ã¯\Param{xkanjiskip}ã‚’ã‚ã‚‹æ–‡å­—ã®å‰ï¼å¾Œã«æŒ¿å…¥ã™ã‚‹ã‹ã©ã†ã‹ã‚’ï¼Œ
\textbf{JAchar}ã«å¯¾ã—ã¦ã¯\Param{jaxspmode}ã‚’ï¼Œ\textbf{ALchar}ã«å¯¾ã—ã¦ã¯
\Param{alxspmode}ã‚’ãã‚Œãžã‚Œå¤‰ãˆã‚‹ã“ã¨ã§åˆ¶å¾¡ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}
\ltjsetparameter{jaxspmode={`ã‚,preonly}, alxspmode={`\!,postonly}}
pã‚q ã„!ã†
\end{LTXexample}

%&lt;*en&gt;
The second argument \texttt{preonly} means that 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}.
%&lt;/en&gt;
%&lt;*ja&gt;
2ã¤ç›®ã®å¼•æ•°ã® \texttt{preonly}ã¯ã€Œ\Param{xkanjiskip}ã®æŒ¿å…¥ã¯ã“ã®æ–‡å­—ã®
å‰ã§ã®ã¿è¨±ã•ã‚Œï¼Œå¾Œã§ã¯è¨±ã•ãªã„ã€ã“ã¨ã‚’æ„å‘³ã™ã‚‹ï¼Žä»–ã«æŒ‡å®šå¯èƒ½ãªå€¤ã¯
\texttt{postonly}, \texttt{allow}, \texttt{inhibit}ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\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
as follows:
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠï¼Œç¾è¡Œã®
ä»•æ§˜ã§ã¯ï¼Œ\Param{jaxspmode}, \Param{alxspmode}ã¯ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’å…±æœ‰ã—ã¦ãŠã‚Šï¼Œ
ä¸Šã®ã‚³ãƒ¼ãƒ‰ã®1è¡Œç›®ã‚’æ¬¡ã®ã‚ˆã†ã«å¤‰ãˆã¦ã‚‚åŒã˜ã“ã¨ã«ãªã‚‹ï¼š
%&lt;/ja&gt;
\begin{lstlisting}
\ltjsetparameter{alxspmode={`ã‚,preonly}, jaxspmode={`\!,postonly}}
\end{lstlisting}
%&lt;*en&gt;
One can use also numbers to specify these two parameters (see Subsection~\ref{ssec:param}).
%&lt;/en&gt;
%&lt;*ja&gt;
ã¾ãŸï¼Œã“ã‚Œã‚‰2ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«ã¯æ•°å€¤ã§å€¤ã‚’æŒ‡å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã‚‹ï¼ˆ\ref{ssec:param}ç¯€ã‚’å‚ç…§ï¼‰ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
If you want to enable/disable all insertions of \Param{kanjiskip} and
\Param{xkanjiskip}, set \Param{autospacing} and \Param{autoxspacing}
parameters to \texttt{true}/\texttt{false}, respectively.
%&lt;/en&gt;
%&lt;*ja&gt;
ã‚‚ã—å…¨ã¦ã®\Param{kanjiskip}ã¨\Param{xkanjiskip}ã®æŒ¿å…¥ã‚’æœ‰åŠ¹åŒ–ï¼ç„¡åŠ¹åŒ–
ã—ãŸã‘ã‚Œã°ï¼Œãã‚Œãžã‚Œ\Param{autospacing}ã¨\Param{autoxspacing}ã‚’
\texttt{true}/\texttt{false}ã«è¨­å®šã™ã‚Œã°ã‚ˆã„ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Shifting the baseline}
%&lt;ja&gt;\subsection{ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ç§»å‹•}
\label{ssec:baseline}
%&lt;*en&gt;
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 \cs{ybaselineshift} (or \cs{tbaselineshift}) to a non-zero length (the
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
of the baseline of alphabetic fonts and that of Japanese fonts.
\begin{center}
 \small
\begin{tabular}{&gt;{\bfseries}lcc}
\toprule
&amp;\bfseries Horizontal writing (\emph{yoko} direction) etc.
&amp;\bfseries Vertical writing(\emph{tate} direction)\\
\midrule
Alphabetic fonts&amp;\Param{yalbaselineshift}
     parameter&amp;\Param{talbaselineshift} parameter\\
Japanese fonts&amp;\Param{yjabaselineshift}
     parameter&amp;\Param{tjabaselineshift} parameter\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/en&gt;
%&lt;*ja&gt;
å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¨æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’åˆã‚ã›ã‚‹ãŸã‚ã«ã¯ï¼Œæ™‚ã€…ã©ã¡ã‚‰ã‹ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ç§»å‹•ãŒ
å¿…è¦ã«ãªã‚‹ï¼Ž\pTeX ã§ã¯ã“ã‚Œã¯ \cs{ybaselineshift}ï¼ˆã¾ãŸã¯\cs{tbaselineshift}ï¼‰ã‚’è¨­å®šã™ã‚‹ã“ã¨ã§
ãªã•ã‚Œã¦ã„ãŸï¼ˆ\textbf{ALchar}ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ãŒãã®åˆ†ã&nbsp;ã‘ä¸‹ãŒã‚‹ï¼‰ï¼Žã—ã‹ã—ï¼Œæ—¥æœ¬èªžãŒä¸»ã§ã¯ãªã„
æ–‡æ›¸ã«å¯¾ã—ã¦ã¯ï¼Œæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ã¯ãªãå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã‚’ç§»å‹•ã—ãŸæ–¹ãŒã‚ˆã„ï¼Ž
ã“ã®ãŸã‚ï¼Œ\LuaTeX-jaã§ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ã‚·ãƒ•ãƒˆé‡
ã¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ã‚·ãƒ•ãƒˆé‡ã‚’ç‹¬ç«‹ã«è¨­å®šã§ãã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž
\begin{center}
 \small
\begin{tabular}{&gt;{\bfseries}lcc}
\toprule
&amp;\bfseries æ¨ªçµ„ãªã©&amp;\bfseries ç¸¦çµ„\\
\midrule
æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚·ãƒ•ãƒˆé‡&amp;\Param{yalbaselineshift}
     parameter&amp;\Param{talbaselineshift} parameter\\
å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚·ãƒ•ãƒˆé‡&amp;\Param{yjabaselineshift}
     parameter&amp;\Param{tjabaselineshift} parameter\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/ja&gt;

%&lt;*en&gt;
Here the horizontal line in the below example is the baseline of a line.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸‹ã®ä¾‹ã«ãŠã„ã¦å¼•ã‹ã‚Œã¦ã„ã‚‹æ°´å¹³ç·šãŒãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}
\vrule width 150pt height 0.2pt depth 0.2pt \hskip-120pt
\ltjsetparameter{yjabaselineshift=0pt, yalbaselineshift=0pt}abcã‚ã„ã†
\ltjsetparameter{yjabaselineshift=5pt, yalbaselineshift=2pt}abcã‚ã„ã†
\end{LTXexample}

%&lt;*en&gt;
There is an interesting side-effect: characters in different size can be
vertically aligned center in a line, by setting two parameters appropriately.
The following is an example (beware the value is not well tuned):
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®æ©Ÿèƒ½ã«ã¯é¢ç™½ã„ä½¿ã„æ–¹ãŒã‚ã‚‹ï¼š2ã¤ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’é©åˆ‡ã«è¨­å®šã™ã‚‹ã“ã¨ã§ï¼Œã‚µã‚¤ã‚ºã®
ç•°ãªã‚‹æ–‡å­—ã‚’ä¸­å¿ƒç·šã«æƒãˆã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
ä»¥ä¸‹ã¯ä¸€ã¤ã®ä¾‹ã§ã‚ã‚‹ï¼ˆå€¤ã¯ã‚ã¾ã‚Šèª¿æ•´ã•ã‚Œã¦ã„ãªã„ã“ã¨ã«æ³¨æ„ï¼‰ï¼š
%&lt;/ja&gt;
\begin{LTXexample}[width=0.4\textwidth]
\vrule width 150pt height4.417pt depth-4.217pt%
\kern-150pt
\large xyzæ¼¢å­—
{\scriptsize
  \ltjsetparameter{yjabaselineshift=-1.757pt,
    yalbaselineshift=-1.757pt}
  æ¼¢å­—xyzã‚ã„ã†
}ã‚ã„ã†abc
\end{LTXexample}

%&lt;*en&gt;
Note that setting positive \Param{yalbaselineshift}~or~\Param{talbaselineshift}
parameters does not increase the depth of one-letter \emph{syllable} $p$ of \textbf{Alchar}, if
its left-protrusion~(\cs{lpcode}) and right-protrusion~(\cs{rpcode}) are both non-zero.
This is because
\begin{itemize}
\item These two parameters are implemented by setting \texttt{yoffset} field of a
glyph node, and this does not increase the depth of the glyph.
\item To cope with the above situation, \LuaTeX-ja automatically supplies
a rule in every syllable.
\item However, we cannot use this ``supplying a rule'' method if a syllable comprises just
      one letter whose \cs{lpcode}~and~\cs{rpcode} are both non-zero.
\end{itemize}

This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselineshift},
becuse a \emph{JAchar} is encapsulated by a horizontal box if needed.
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠï¼Œä»¥ä¸‹ã®å&nbsp;´åˆã«ã¯1æ–‡å­—ã®\textbf{ALchar}ã‹ã‚‰ãªã‚‹ã€ŒéŸ³ç¯€ã€ã®æ·±ã•ã¯å¢—åŠ&nbsp;ã—ãªã„ã“ã¨ã«æ³¨æ„ï¼Ž
\begin{itemize}
 \item \Param{yalbaselineshift},~\Param{talbaselineshift}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒæ­£ã«ãªã£ã¦ã„ã‚‹ï¼Ž
 \item ã€ŒéŸ³ç¯€ã€ã‚’æ§‹æˆã™ã‚‹å”¯ä¸€ã®æ–‡å­—$p$ã®
å·¦ä½™ç™½ã¸ã®çªå‡ºé‡(\cs{lpcode})ï¼Œå³ä½™ç™½ã¸ã®çªå‡ºé‡(\cs{rpcode})ãŒã©ã¡ã‚‰ã‚‚éžé›¶ã§ã‚ã‚‹ï¼Ž
\end{itemize}
\emph{JAchar}ã¯å¿…è¦ã«å¿œã˜ã¦1æ–‡å­—ãšã¤ãƒœãƒƒã‚¯ã‚¹ã«ã‚«ãƒ—ã‚»ãƒ«åŒ–ã•ã‚Œã‚‹ãŸã‚ï¼Œ
\Param{yjabaselineshift},~\Param{tjabaselineshift}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«ã¤ã„ã¦ã¯ã“ã®ã‚ˆã†ãªå•é¡Œã¯èµ·ã“ã‚‰ãªã„ï¼Ž
%&lt;/ja&gt;

%&lt;*ja&gt;
\paragraph{æ•°å¼ã«ãŠã‘ã‚‹æŒ™å‹•ï¼š\pTeX ã¨ã®é•ã„}
\textbf{ALchar}ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã‚’è£œæ­£ã™ã‚‹\Param{yalbaselineshift}, \Param{talbaselineshift}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã¯
ã»ã¼\pTeX ã«ãŠã‘ã‚‹ \cs{ybaselineshift}, \cs{tbaselineshift} ã«å¯¾å¿œã—ã¦ã„ã‚‹ã‚‚ã®ã§ã‚ã‚‹ãŒï¼Œ
æ•°å¼ä¸­ã®æŒ™å‹•ã¯ç•°ãªã£ã¦ã„ã‚‹ã®ã§æ³¨æ„ãŒå¿…è¦ã§ã‚ã‚‹ï¼ˆ\autoref{tab:math_bsa}å‚ç…§ï¼‰ï¼Ž
\begin{itemize}
 \item ãƒãƒ¼ã‚¸ãƒ§ãƒ³20221002.0ä»¥é™ã§ã¯ï¼Œ
  \pTeX~4.0.0ã¨åŒæ§˜ã«æ•°å¼ãŒ\Param{yalbaselineshift}ã&nbsp;ã‘ã‚·ãƒ•ãƒˆã•ã‚Œã‚‹ï¼Ž

  ã—ã‹ã—ãã‚Œã§ã¯æ•°å¼ä¸­ã«ç›´ã«æ›¸ã‹ã‚ŒãŸ\cs{hbox},~\cs{vbox}ä¸­ã®æ¬§æ–‡ã«ã¯
  \Param{yalbaselineshift}ãŒäºŒé‡ã«é©ç”¨ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ã®ã§ï¼Œ
  æ•°å¼ä¸­ã«ç›´ã«æ›¸ã‹ã‚ŒãŸ\cs{hbox},~\cs{vbox}ã«ã¯
  \Param{yalbaselineshift}ã‚’æ‰“ã¡æ¶ˆã™è£œæ­£ã‚’ã—ã¦ã„ã‚‹ï¼Ž

  ãªãŠï¼Œ\cs{vcenter}ã«ã‚ˆã‚‹ãƒœãƒƒã‚¯ã‚¹ã«ã¯ã“ã®ã€Œæ‰“ã¡æ¶ˆã™è£œæ­£ã€ã¯è¡Œã‚ã‚Œãªã„ã®ã§æ³¨æ„ï¼Ž
\item \pTeX ã§ã¯æ•°å¼ã®ã‚¹ã‚¿ã‚¤ãƒ«ã”ã¨ã«ã€Œæ‰“ã¡æ¶ˆã™è£œæ­£ã€ã®å‰²åˆã‚’\cs{textbaselineshiftfactor},
  \cs{scriptbaselineshiftfactor}, \cs{scriptscriptbaselineshiftfactor}ã§
  æŒ‡å®šã§ãã‚‹ã‚ˆã†ã«ã—ãŸãŒï¼Œ\LuaTeX-jaã§ã¯2ç•ªã®æ•°å¼ãƒ•ã‚¡ãƒŸãƒª(\cs{fam2})ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹ãƒ•ã‚©ãƒ³ãƒˆã®
  å¤§ãã•ã‹ã‚‰è‡ªå‹•ã§è¨ˆç®—ã™ã‚‹ï¼Ž

\item æ•°å¼ä¸­ã«ç›´ã«æ›¸ã‹ã‚ŒãŸå’Œæ–‡æ–‡å­—ï¼ˆ\autoref{tab:math_bsa}ä¸­ã®``ã‚''ï¼‰ã«ã¤ã„ã¦ã¯
  \pTeX ã¨\LuaTeX-jaã§é•ã„ãŒè¦‹ã‚‰ã‚Œã‚‹ï¼Ž
  \pTeX ã§ã¯ï¼Œæ¬§æ–‡æ–‡å­—ã¨å¤‰ã‚ã‚‰ãšæ¬§æ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£(\cs{ybaselineshift})ãŒã‹ã‹ã‚Šï¼Œ
  ã¾ãŸå‘¨å›²ã«å’Œæ¬§æ–‡é–“ç©ºç™½(\cs{xkanjiskip})ãŒå…¥ã‚Šã†ã‚‹ï¼Ž
  ãã®ä¸€æ–¹ï¼Œ\LuaTeX-jaã§ã¯ã€Œå’Œæ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£(\Param{yjabaselineshift})ãŒã‹ã‹ã‚‹ã€è¦‹ãŸç›®ã«
  ãªã‚Šï¼Œã¾ãŸå‘¨å›²ã«å’Œæ¬§æ–‡é–“ç©ºç™½ã¯å…¥ã‚‰ãªã„ï¼Ž
\end{itemize}
\begin{table}
\small\centering
\caption{æ•°å¼é–¢ä¿‚ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£($\Param{yalbaselineshift}=10\,\textrm{pt}$)}
\label{tab:math_bsa}
\newdimen\origbaselineskip
\origbaselineskip=\baselineskip
\begin{tabular}{lp{35\zw}}
\toprule
\emph{å…¥åŠ›}&amp;\vspace*{\dimexpr-\origbaselineskip-\smallskipamount}
\begin{lstlisting}
æ•°å¼abc: $ã‚a\hbox{ã„}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$,
$\sqrt{A}-\underline{X}+\frac{ã‚3}{2ã‚}-\vcenter{\hbox{aãŠ}}$
\end{lstlisting}\\
\noalign{\vskip-\origbaselineskip}
\midrule
\emph{\pTeX~(p4.0.0)}&amp;
{\ltjsetparameter{yalbaselineshift=10pt}%
\protected\def\&gt;{\hskip\ltjgetparameter{xkanjiskip}}
æ•°å¼abc: $\lower10pt\hbox{ã‚}\&gt;a\hbox{ã„}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
$\sqrt{A}-\underline{X}
  +\frac{\lower10pt\hbox{\scalebox{0.7}{ã‚}}\&gt;3}{2\&gt;\lower10pt\hbox{\scalebox{0.7}{ã‚}}}-\vcenter{\hbox{aãŠ}}$
\par}\\\noalign{\vskip-\origbaselineskip}\midrule
\emph{\LuaTeX-ja}&amp;
{\ltjsetparameter{yalbaselineshift=10pt}%
æ•°å¼abc: $ã‚a\hbox{ã„}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$,
$\sqrt{A}-\underline{X}+\frac{ã‚\&gt;3}{2ã‚}-\vcenter{\hbox{aãŠ}}$
\par}\\
\noalign{\vskip-\origbaselineskip}
\bottomrule
\end{tabular}
\end{table}
%&lt;/ja&gt;

%&lt;*en&gt;
\subsection{\emph{kinsoku} parameters and OpenType features}
Among parameters which related to Japanese word-wrapping process (\emph{kinsoku shori}),
\begin{quote}
 \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty},
 \Param{postbreakpenalty}~and~\Param{kcatcode}
\end{quote}
are stored by each character codes.

OpenType font features are ignored in these parameters.
For example, a fullwidth katakana ``ã‚¢'' on line~10 in the below input is replaced to
its halfwidth variant ``ï½±'', by \verb+hwid+ feature.
However, the penalty inserted after it is 10 which is the \Param{postbreakpenalty} of
``ã‚¢'', not 20.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ç¦å‰‡å‡¦ç†é–¢é€£ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã¨OpenTypeæ©Ÿèƒ½}
ç¦å‰‡å‡¦ç†ã‚„ \Param{kanjiskip}, \Param{xkanjiskip} ã®æŒ¿å…¥ã«é–¢é€£ã—ãŸãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®ã†ã¡
\begin{quote}
 \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty},
 \Param{postbreakpenalty}, \Param{kcatcode}
\end{quote}
ã¯ï¼Œæ–‡å­—ã‚³ãƒ¼ãƒ‰ã”ã¨ã«è¨­å®šã™ã‚‹é‡ã§ã‚ã‚‹ï¼Ž

\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’ä½¿ã†ï¼ˆ\ref{ssec:fontspec}ç¯€ï¼‰å&nbsp;´åˆãªã©ï¼Œ
å„ç¨®ã®OpenTypeæ©Ÿèƒ½ã‚’é©ç”¨ã™ã‚‹ã“ã¨ã‚‚ã‚ã‚‹ã¨æ€ã†ãŒï¼Œå‰æ®µè½ã«è¿°ã¹ãŸãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿é¡žã¯ï¼Œ
\emph{OpenTypeæ©Ÿèƒ½ã®é©ç”¨å‰ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã«ã‚ˆã£ã¦é©ç”¨ã•ã‚Œã‚‹ï¼Ž}
ä¾‹ãˆã°ï¼Œä»¥ä¸‹ã®ä¾‹ã«ãŠã„ã¦10è¡Œç›®ã®ã€Œã‚¢ã€ã¯ï¼Œ\verb+hwid+ featureã®é©ç”¨ã«ã‚ˆã‚ŠåŠè§’ã‚«ã‚¿ã‚«ãƒŠã®ã€Œï½±ã€
ã«ç½®ãæ›ã‚ã‚‹ï¼Žã—ã‹ã—ï¼Œãã®ç›´å¾Œã«æŒ¿å…¥ã•ã‚Œã‚‹ \Param{postbreakpenalty}ã¯ï¼Œç½®æ›å‰ã®ã€Œã‚¢ã€ã«å¯¾ã™ã‚‹å€¤10ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{LTXexample}[width=0.2\textwidth]
\ltjsetparameter{postbreakpenalty={`ã‚¢, 10}}
\ltjsetparameter{postbreakpenalty={`ï½±, 20}}

\newcommand\showpostpena[1]{%
  \leavevmode\setbox0=\hbox{#1\hbox{}}%
  \unhbox0\setbox0=\lastbox\the\lastpenalty}

\showpostpena{ã‚¢},
\showpostpena{ï½±},
{\addjfontfeatures{CharacterWidth=Half}\showpostpena{ã‚¢}}
\end{LTXexample}

\clearpage
%&lt;en&gt;\part{Reference}
%&lt;ja&gt;\part{ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹}
\label{part-ref}
\suppressfloats[t]
%&lt;*ja&gt;
\section{\LuaTeX-jaã«ãŠã‘ã‚‹ \cs{catcode}}
\label{sec-catcode}
\subsection{äºˆå‚™çŸ¥è­˜ï¼š\pTeX ã¨\upTeX ã«ãŠã‘ã‚‹ \cs{kcatcode}}
\pTeXï¼Œ\upTeX ã«ãŠã„ã¦ã¯ï¼Œå’Œæ–‡æ–‡å­—ãŒåˆ¶å¾¡ç¶´å†…ã§åˆ©ç”¨ã§ãã‚‹ã‹ã©ã†ã‹
ã¯ \cs{kcatcode} ã®å€¤ã«ã‚ˆã£ã¦æ±ºå®šã•ã‚Œã‚‹ã®ã§ã‚ã£ãŸï¼Ž
è©³ç´°ã¯\autoref{tab:kcat}ã‚’å‚ç…§ã•ã‚ŒãŸã„ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\section{\cs{catcode} in \LuaTeX-ja}
\label{sec-catcode}
\subsection{Preliminaries: \cs{kcatcode} in \pTeX\ and \upTeX}
In \pTeX~and~\upTeX, the value of \cs{kcatcode} determines
whether a Japanese character can be used in a control word.
For the detail, see \autoref{tab:kcat}.
%&lt;/en&gt;

\begin{table}[t]
\small
\caption{\cs{kcatcode} in \upTeX~u1.30}
\label{tab:kcat}
%&lt;en&gt;\medskip

\noindent\hfill
\begin{tabular}{llccc}
\toprule
\bfseries \cs{kcatcode}&amp;
%&lt;*en&gt;
\bfseries meaning&amp;
\bfseries control word&amp;
\bfseries widow penalty&amp;
\bfseries linebreak\\
%&lt;/en&gt;
%&lt;*ja&gt;
\bfseries æ„å›³&amp;
\bfseries åˆ¶å¾¡ç¶´ä¸­ã«ä½¿ç”¨&amp;
\bfseries æ–‡å­—ã‚¦ã‚£ãƒ‰ã‚¦å‡¦ç†&amp;
\bfseries ç›´å¾Œã§ã®æ”¹è¡Œ\\
%&lt;/ja&gt;
\midrule
15&amp;non-cjk&amp;\multicolumn{3}{c}{(treated as usual \LaTeX)}\\
16&amp;kanji&amp;Y&amp;Y&amp;ignored\\
17&amp;kana&amp;Y&amp;Y&amp;ignored\\
18&amp;other&amp;N&amp;N&amp;ignored\\
19&amp;hangul&amp;Y&amp;Y&amp;space\\
\bottomrule
\end{tabular}\hfill\null

\medskip

%&lt;*ja&gt;
æ–‡å­—ã‚¦ã‚£ãƒ‰ã‚¦å‡¦ç†ï¼šã€Œæ¼¢å­—ãŒä¸€æ–‡å­—ã&nbsp;ã‘æ¬¡ã®è¡Œã«è¡Œãã®ã‚’é˜²ãã€
\cs{jcharwidowpenalty} ãŒï¼Œ
ãã®æ–‡å­—ã®ç›´å‰ã«æŒ¿å…¥ã•ã‚Œã†ã‚‹ã‹å¦ã‹ï¼Œã‚’ç¤ºã™ï¼Ž
%&lt;/ja&gt;
\end{table}

%&lt;*en&gt;
\cs{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 \cs{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.
%&lt;/en&gt;
%&lt;*ja&gt;
\pTeX ã§ã¯ \cs{kcatcode} ã¯JIS~X~0208ã®åŒºå˜ä½ï¼Œ
\upTeX ã§ã¯æ¦‚ã­Unicodeãƒ–ãƒ­ãƒƒã‚¯å˜ä½\footnote{%
  \texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)ã¯
  ã€Œå…¨è§’è‹±æ•°å­—ã€ã€ŒåŠè§’ã‚«ãƒŠã€ã€Œãã®ä»–ã€ã¨3ã¤ã«åˆ†å‰²ã•ã‚Œã¦ãŠã‚Šï¼Œ
  ãã‚Œãžã‚Œåˆ¥ã€…ã« \cs{kcatcode} ãŒæŒ‡å®šã§ãã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž
}ã§è¨­å®šå¯èƒ½ã«ãªã£ã¦ã„ã‚‹ï¼Žãã®ãŸã‚ï¼Œ\pTeX ã¨\upTeX ã®åˆæœŸçŠ¶æ…‹ã§ã¯
åˆ¶å¾¡ç¶´å†…ã§ä½¿ç”¨å¯èƒ½ãªæ–‡å­—ãŒå¾®å¦™ã«ç•°ãªã£ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\subsection{Case of \LuaTeX-ja}
The role of \cs{kcatcode} in \pTeX~and~\upTeX\ can 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 the character range, see Subsection~\ref{ssec:setrange}.
 \item
\emph{Whether the character can be used in a control word}
is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual.
 \item
\emph{Whether \Param{jcharwidowpenalty} can be inserted before the character}
is controlled by the lowermost bit of the \Param{kcatcode} parameter.
 \item
\emph{Linebreak after a \textbf{JAchar}} does not produce a space.
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{\LuaTeX-jaã®å&nbsp;´åˆ}
\LuaTeX-jaã§ã¯ï¼Œå¾“æ¥ã®\pTeXãƒ»\upTeX ã«ãŠã‘ã‚‹ \cs{kcatcode} ã®å½¹å‰²ã‚’
åˆ†å‰²ã—ã¦ã„ã‚‹ï¼š
\begin{description}
 \item[æ¬§æ–‡/å’Œæ–‡ã®åŒºåˆ¥ (\upTeX)]
\cs{ltjdefcharrange} ã¨\textsf{jacharrange}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ï¼ˆ\ref{ssec:setrange}ç¯€ï¼‰
 \item[åˆ¶å¾¡ç¶´ä¸­ã«ä½¿ç”¨å¯ã‹]
\LuaTeX è‡ªèº«ã® \cs{catcode} ã§ã‚ˆã„
 \item[\Param{jcharwidowpenalty}ãŒæŒ¿å…¥å¯ã‹]
\Param{kcatcode}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®æœ€ä¸‹ä½ãƒ“ãƒƒãƒˆ
 \item[ç›´å¾Œã®æ”¹è¡Œ]
æ—¥æœ¬èªžã—ã‹æƒ³å®šã—ã¦ã„ãªã„ã®ã§ï¼Œ\textbf{JAchar}ç›´å¾Œã®æ”¹è¡Œã§åŠè§’ã‚¹ãƒšãƒ¼ã‚¹ãŒæŒ¿å…¥ã•ã‚Œã‚‹ã“ã¨ã¯ãªã„ï¼Ž
\end{description}
%&lt;/ja&gt;

%&lt;*en&gt;
Default setting of \cs{catcode} of Unicode characters with \LuaTeX\ is slightly inconvenient
for \pTeX~users to shifting to \LuaTeX-ja,
because several fullwidth characters which can be used in a control word with \pTeX,
such as ``\texttt{ï¼‘}''~(FULLWIDTH DIGIT ONE), cannnot be used in a control word with \LuaTeX.
Hence, \LuaTeX-ja changes the \cs{catcode} of some characters%
---whose line breaking class is ``ID''~(Ideographic) in UAX~\#14---,
to allow these characters in the control word.
%&lt;/en&gt;
%&lt;*ja&gt;
æœ€è¿‘ã®ï¼ˆ2015-10-01ä»¥é™ã®ï¼‰\LuaLaTeX ã§ã¯æ¼¢å­—ã‚„ä»®åã‚’åˆ¶å¾¡ç¶´å†…ã«
ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã‚ã‚‹ãŒï¼Œå…¨è§’è‹±æ•°å­—ã¯ä½¿ç”¨ã§ããªã„ï¼Ž
ã“ã‚Œã§ã¯\pTeX ã§ä½¿ç”¨ã§ããŸ\cs{ï¼‘å¹´ç›®è¥¿æš¦}\footnote{ç§‘ç&nbsp;”è²»\LaTeX ã§ä½¿ç”¨ã•ã‚Œã¦ã„ã‚‹ãã†ã§ã™ï¼Ž}ãªã©ãŒä½¿ãˆãªã„ãŸã‚ï¼Œ
\LuaTeX-jaã¸ã®ç§»è¡Œã§æ‰‹é–“ãŒç”Ÿã˜ã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž

ãã®ãŸã‚ï¼Œ\LuaTeX-jaã§ã¯å…¨è§’è‹±æ•°å­—ãªã©ä¸€éƒ¨ã®æ–‡å­—
\footnote{æ­£ç¢ºã«ã¯ï¼ŒUnicodeã®è¡Œåˆ†å‰²ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ&nbsp;(UAX~\#14)ã§``ID''~(Ideographic)ã¨æŒ‡å®šã•ã‚Œã¦ã„ã‚‹æ–‡å­—ï¼Ž}ã®
\cs{catcode}ã‚’11ã«å¤‰æ›´ã—ï¼Œã“ã‚Œã‚‰ã®æ–‡å­—ã‚’åˆ¶å¾¡ç¶´ä¸­ã§ä½¿ç”¨å¯èƒ½ã«ã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{table}
 \centering\small
%&lt;en&gt;\caption{Difference of the set of non-kanji JIS~X~0208 characters which can be used in a control word}
%&lt;ja&gt;\caption{åˆ¶å¾¡ç¶´ä¸­ã«ä½¿ç”¨å‡ºæ¥ã‚‹JIS~X~0208éžæ¼¢å­—ã®é•ã„}
%&lt;en&gt;\medskip
\label{tab:kcat-diff}
\def\D#1#2#3#4{%
  {\fboxsep0pt\fcolorbox{b_cyan}{white}%
  {\large\char"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})} %"
\leavevmode\hbox to 0pt{\hss\begin{tabular}[t]{cccccc}
\toprule
%&lt;en&gt;&amp;\textbf{row}&amp;\textbf{col.}&amp;\textbf{\pTeX}&amp;\textbf{\upTeX}&amp;\textbf{\LuaTeX-ja}\\
%&lt;ja&gt;&amp;\emph{åŒº}&amp;\emph{ç‚¹}&amp;\emph{\pTeX}&amp;\emph{\upTeX}&amp;\emph{\LuaTeX-ja}\\
\midrule
%\D 3000&amp;1&amp;1&amp;N&amp;N&amp;Y\\
\D 30FB&amp;1&amp;6&amp;N&amp;Y&amp;N\\
\D 309B&amp;1&amp;11&amp;N&amp;Y&amp;N\\
\D 309C&amp;1&amp;12&amp;N&amp;Y&amp;N\\
\D FF40&amp;1&amp;14&amp;N&amp;N&amp;Y\\
\D FF3E&amp;1&amp;16&amp;N&amp;N&amp;Y\\
\D FFE3&amp;1&amp;17&amp;N&amp;N&amp;Y\\
\D FF3F&amp;1&amp;18&amp;N&amp;N&amp;Y\\
\D 30FD&amp;1&amp;19&amp;N&amp;Y&amp;Y\\
\D 30FE&amp;1&amp;20&amp;N&amp;Y&amp;Y\\
\D 309D&amp;1&amp;21&amp;N&amp;Y&amp;Y\\
\D 309E&amp;1&amp;22&amp;N&amp;Y&amp;Y\\
\D 3003&amp;1&amp;23&amp;N&amp;N&amp;Y\\
\D 4EDD&amp;1&amp;24&amp;N&amp;Y&amp;Y\\
\D 3005&amp;1&amp;25&amp;N&amp;N&amp;Y\\
\D 3006&amp;1&amp;26&amp;N&amp;N&amp;Y\\
\D 3007&amp;1&amp;27&amp;N&amp;N&amp;Y\\
\D 30FC&amp;1&amp;28&amp;N&amp;Y&amp;Y\\
\bottomrule
\end{tabular}\qquad
\begin{tabular}[t]{cccccc}
\toprule
%&lt;en&gt;&amp;\textbf{row}&amp;\textbf{col.}&amp;\textbf{\pTeX}&amp;\textbf{\upTeX}&amp;\textbf{\LuaTeX-ja}\\
%&lt;ja&gt;&amp;\emph{åŒº}&amp;\emph{ç‚¹}&amp;\emph{\pTeX}&amp;\emph{\upTeX}&amp;\emph{\LuaTeX-ja}\\
\midrule
\D FF0F&amp;1&amp;31&amp;N&amp;N&amp;Y\\
\D FF3C&amp;1&amp;32&amp;N&amp;N&amp;Y\\
\D FF5E&amp;1&amp;33&amp;N&amp;N&amp;Y\\
\D FF5C&amp;1&amp;35&amp;N&amp;N&amp;Y\\
\D FF0B&amp;1&amp;60&amp;N&amp;N&amp;Y\\
\D FF1D&amp;1&amp;65&amp;N&amp;N&amp;Y\\
\D FF1C&amp;1&amp;67&amp;N&amp;N&amp;Y\\
\D FF1E&amp;1&amp;68&amp;N&amp;N&amp;Y\\
\D FF03&amp;1&amp;84&amp;N&amp;N&amp;Y\\
\D FF06&amp;1&amp;85&amp;N&amp;N&amp;Y\\
\D FF0A&amp;1&amp;86&amp;N&amp;N&amp;Y\\
\D FF20&amp;1&amp;87&amp;N&amp;N&amp;Y\\
\D 3012&amp;2&amp;9&amp;N&amp;N&amp;Y\\
\D 3013&amp;2&amp;14&amp;N&amp;N&amp;Y\\
\D FFE2&amp;2&amp;44&amp;N&amp;N&amp;Y\\
\D 212B&amp;2&amp;82&amp;N&amp;N&amp;Y\\
%&lt;en&gt;\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}Greek letters (row 6)}&amp;Y&amp;N&amp;Y\\
%&lt;en&gt;\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}Cyrillic letters (row 7)}&amp;N&amp;N&amp;Y\\
%&lt;ja&gt;\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ã‚®ãƒªã‚·ãƒ£æ–‡å­—ï¼ˆ6åŒºï¼‰}&amp;Y&amp;N&amp;Y\\
%&lt;ja&gt;\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ã‚­ãƒªãƒ«æ–‡å­—ï¼ˆ7åŒºï¼‰}&amp;N&amp;N&amp;Y\\
\bottomrule
\end{tabular}\hss}\par
\end{table}

%&lt;*en&gt;
\subsection{Non-kanji characters in a control word}
{\def\D#1{%
  {\fboxsep0pt\fcolorbox{b_cyan}{white}{#1}}}%
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.
\autoref{tab:kcat-diff} shows the difference.
Except for three characters \D{ãƒ»},~\D{ã‚›},~and~`\D{ã‚œ},
\LuaTeX-ja admits more characters in a control word than \upTeX.}

Difference becomes larger, if we consider
non-kanji JIS~X~0213 characters.
For the detail, see \url{https://github.com/h-kitagawa/kct}.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{åˆ¶å¾¡ç¶´ä¸­ã«ä½¿ç”¨å‡ºæ¥ã‚‹JISéžæ¼¢å­—ã®é•ã„}

ã‚¨ãƒ³ã‚¸ãƒ³ãŒç•°ãªã‚‹ã®ã§ï¼Œ\pTeX, \upTeX, \LuaTeX-ja
ã«ãŠã„ã¦åˆ¶å¾¡ç¶´ä¸­ã«ä½¿ç”¨å¯èƒ½ãªJIS~X~0208ã®æ–‡å­—ã¯ç•°ãªã‚‹ï¼Ž
ç•°ãªã£ã¦ã„ã‚‹ã¨ã“ã‚ã&nbsp;ã‘ã‚’è¼‰ã›ã‚‹ã¨ï¼Œ\autoref{tab:kcat-diff}ã®ã‚ˆã†ã«ãªã‚‹ï¼Ž
ã€Œãƒ»ã€ã€Œã‚›ã€ã€Œã‚œã€ã‚’é™¤ã‘ã°ï¼Œ\LuaTeX-jaã§ã¯\upTeX ã‚ˆã‚Šå¤šãã®æ–‡å­—ãŒ
åˆ¶å¾¡ç¶´ã«ä½¿ç”¨å¯èƒ½ã«ãªã£ã¦ã„ã‚‹ï¼Ž

JIS~X~0213ã®ç¯„å›²ã«åºƒã’ã‚‹ã¨ï¼Œå·®ç•°ã¯ã•ã‚‰ã«å¤§ãããªã‚‹ï¼Ž
è©³ç´°ã«ã¤ã„ã¦ã¯ä¾‹ãˆã° \url{https://github.com/h-kitagawa/kct} ä¸­ã®\
\texttt{kct-out.pdf} ãªã©ã‚’å‚ç…§ã™ã‚‹ã“ã¨ï¼Ž
%&lt;/ja&gt;


%&lt;*en&gt;
\section{Directions}
\LuaTeX\ supports four $\Omega$-style directions: \texttt{TLT},~\texttt{TRT}, \texttt{RTT}
and \texttt{LTL}.
However, neither directions are not well-suited for typesetting Japanese vertically, hence we
implemented vertical writing by rotating \texttt{TLT}-box by 90~degrees.
%&lt;/en&gt;
%&lt;*ja&gt;
\section{ç¸¦çµ„}
\label{sec-direction}
\LuaTeX æœ¬ä½“ã§ã‚‚ï¼Œ$\Omega$ãƒ»$\aleph$ç”±æ¥ã®æ©Ÿèƒ½ã¨ã—ã¦ï¼Œè¤‡æ•°ã®çµ„æ–¹å‘ã‚’ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ï¼Ž
ã—ã‹ã—ï¼Œ\LuaTeX ãŒã‚µãƒãƒ¼ãƒˆã™ã‚‹ã®ã¯ \texttt{TLT},~\texttt{TRT}, \texttt{RTT},~\texttt{LTL}\
ã®ã¿ã§ã‚ã‚Šï¼Œæ—¥æœ¬èªžã®ç¸¦çµ„ã«ä½¿ã†ã®ã¯æœ›ã¾ã—ããªã„\footnote{%
å’Œæ–‡æ–‡å­—ã&nbsp;ã‘ãªã‚‰ã° \texttt{RTT} ã‚’ä½¿ãˆã°ãªã‚“ã¨ã‹ãªã‚‹ã¨æ€ã†ãŒï¼Œ
æ¬§æ–‡æ–‡å­—ãŒå…¥ã£ã¦ããŸå&nbsp;´åˆã¯ã†ã¾ãã„ã‹ãšï¼Œ\texttt{RTR} ã¨ã„ã†çµ„æ–¹å‘ãŒå¿…è¦ã«ãªã‚‹ï¼Ž
}ï¼Žãã®ãŸã‚ï¼Œ\LuaTeX-jaã§ã¯æ¨ªçµ„(\texttt{TLT})ã§çµ„ã‚“ã&nbsp;ãƒœãƒƒã‚¯ã‚¹ã‚’å›žè»¢ã•ã›ã‚‹æ–¹å¼ã§
ç¸¦çµ„ã‚’å®Ÿè£…ã—ãŸï¼Ž
%&lt;/ja&gt;

%&lt;ja&gt;\subsection{ã‚µãƒãƒ¼ãƒˆã™ã‚‹çµ„æ–¹å‘}
\begin{table}[t]
%&lt;ja&gt;\caption{\LuaTeX-ja ã®ã‚µãƒãƒ¼ãƒˆã™ã‚‹çµ„æ–¹å‘}
%&lt;en&gt;\caption{Directions supported by \LuaTeX-ja}
%&lt;en&gt;\medskip
\label{tab-dir}
\centering\small
\def\obox#1{%
  \setbox0=\hbox{\yoko\hbox{#1%
  \large\ltjsetparameter{talbaselineshift=0pt}%
  \vrule height 25pt width 0.4pt depth 15pt\kern-.2pt%
  \raise25pt\hbox to 0pt{\hss\composite{*r^@{&gt;&gt;}}\hss}%
  \raise-15pt\hbox to 0pt{\hss\composite{*l^@{&gt;|}}\hss}\kern.2pt%
  \vrule height.2pt depth.2pt width 60pt\hbox to 0pt{\hss\composite{*d^@{&gt;}}\hss}\kern-60pt
  \hbox to 60pt{\,éŠ€ã¯ã€Ag\hss}}}%
  \raise\dimexpr 0.5\ltjgetdp0-0.5\ltjgetht0\box0%
}
%&lt;*ja&gt;
\begin{tabular}{&gt;{\bfseries}lcccc}
\toprule
&amp;æ¨ªçµ„&amp;ç¸¦çµ„ &amp;ã€Œdtouæ–¹å‘ã€&amp;ã€Œutodæ–¹å‘ã€\\
\midrule
å‘½ä»¤&amp;\cs{yoko}&amp;\cs{tate}&amp;\cs{dtou}&amp;\cs{utod}\\
å­—é€ã‚Šæ–¹å‘&amp;æ°´å¹³å³å‘ãï¼ˆâ†’ï¼‰&amp;åž‚ç›´ä¸‹å‘ãï¼ˆâ†“ï¼‰&amp;åž‚ç›´ä¸Šå‘ãï¼ˆâ†‘ï¼‰&amp;åž‚ç›´ä¸‹å‘ãï¼ˆâ†“ï¼‰\\
è¡Œé€ã‚Šæ–¹å‘&amp;åž‚ç›´ä¸‹å‘ãï¼ˆâ†“ï¼‰&amp;æ°´å¹³å·¦å‘ãï¼ˆâ†ï¼‰&amp;æ°´å¹³å³å‘ãï¼ˆâ†’ï¼‰&amp;æ°´å¹³å·¦å‘ãï¼ˆâ†ï¼‰\\
ä½¿ç”¨ã™ã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆ&amp;æ¨ªçµ„ç”¨(\cs{jfont})&amp;ç¸¦çµ„ç”¨(\cs{tfont})&amp;
\multicolumn{2}{c}{%
  æ¨ªçµ„ç”¨(\cs{jfont})ã®$90^\circ$å›žè»¢}\\[\smallskipamount]
çµ„ç‰ˆä¾‹\null $^*$ &amp;\obox{\yoko}&amp;\obox{\tate}&amp;\obox{\dtou}&amp;\obox{\utod}\\
\noalign{\medskip}
\bottomrule
\end{tabular}

\medskip\raggedright
\def\R#1{%
  \raise0.38\zw\hbox{%
    \vrule height.2pt  depth.2pt width2\zw%
    \hbox to 0pt{\hss\composite{*d^@{#1}}\hss}%
  }%
}
$^*$\ å¹…(width)ï¼Œé«˜ã•(height)ï¼Œæ·±ã•(depth)ã®å¢—åŠ&nbsp;æ–¹å‘ã‚’ï¼Œ
ãã‚Œãžã‚Œã€Œ\R{&gt;}ã€ï¼Œã€Œ\R{&gt;&gt;}ã€ï¼Œã€Œ\R{&gt;|}ã€ã§è¡¨ã—ã¦ã„ã‚‹ï¼Ž
\raggedright
%&lt;/ja&gt;

%&lt;*en&gt;
\begin{tabular}{&gt;{\bfseries}lcccc}
\toprule
&amp;horizontal (\emph{yoko}~direction)&amp;vertical (\emph{tate}~direction)&amp;%
  \emph{dtou} direction&amp;\emph{utod} direction\\
\midrule
Commands&amp;\cs{yoko}&amp;\cs{tate}&amp;\cs{dtou}&amp;\cs{utod}\\
Beginning of the page&amp;Top&amp;Right&amp;Left&amp;Right\\
Beginning of the line&amp;Left&amp;Top&amp;Bottom&amp;Top\\
Used Japanese font&amp;horizontal (\cs{jfont})&amp;vertical (\cs{tfont})&amp;
\multicolumn{2}{c}{%
  horizontal ($90^\circ$ rotated)}\\[\smallskipamount]
Example&amp;\obox{\yoko}&amp;\obox{\tate}&amp;\obox{\dtou}&amp;\obox{\utod}\\
\noalign{\medskip}
(Notation used in $\Omega$)&amp;TLT&amp;RTR, RTT&amp;LBL&amp;RTR\\
\bottomrule
\end{tabular}

\medskip\raggedright
\def\R#1{%
  \raise0.38\zw\hbox{%
    \vrule height.2pt  depth.2pt width2\zw%
    \hbox to 0pt{\hss\composite{*d^@{#1}}\hss}%
  }%
}
\raggedright
%&lt;/en&gt;
\end{table}

%&lt;*en&gt;
\LuaTeX-ja supports four directions, as shown in \autoref{tab-dir}.
The second column (\emph{yoko} direction) is just horizontal writing,
and the third column (\emph{tate} direction) is vertical writing.
The fourth column (\emph{dtou} direction) is actually a hidden feature of \pTeX.
We implemented this for debugging purpose.
The fifth column (\emph{utod} direction) corresponds the ``\texttt{tate (math) direction}'' of \pTeX.

Directions can be changed by \cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod},
only when the current list is null.
These commands cannot be executed in unrestricted horizontal modes, nor math modes.
The direction of a math formula is changed to
\emph{utod}, when the direction outside the math formula is \emph{tate} (vertical writing).
%&lt;/en&gt;

%&lt;*ja&gt;
\LuaTeX-jaãŒã‚µãƒãƒ¼ãƒˆã™ã‚‹çµ„æ–¹å‘ã¯\autoref{tab-dir}ã«ç¤ºã™4ã¤ã§ã‚ã‚‹ï¼Ž
4åˆ—ç›®ã® \cs{dtou} ã¯èžãæ…£ã‚Œãªã„å‘½ä»¤ã&nbsp;ã¨æ€ã†ãŒï¼Œ
å®Ÿã¯\pTeX ã«åŒåã®å‘½ä»¤ãŒï¼ˆãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ã¯æ›¸ã‹ã‚Œã¦ã„ãªã„ãŒï¼‰å­˜åœ¨ã™ã‚‹ï¼Ž
Down-TO-Upã®æ„å‘³ãªã®ã&nbsp;ã‚ã†ï¼Ž\cs{dtou} ã‚’ä½¿ç”¨ã™ã‚‹æ©Ÿä¼šã¯ãªã„ã&nbsp;ã‚ã†ãŒï¼Œ
\LuaTeX-jaã§ã¯ãƒ‡ãƒãƒƒã‚°ç”¨ã«å®Ÿè£…ã—ã¦ã„ã‚‹ï¼Ž
5åˆ—ç›®ã® \cs{utod} ã¯ï¼Œ\pTeX ã§è¨€ã†ã€Œç¸¦æ•°å¼ãƒ‡ã‚£ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã«ç›¸å½“ã™ã‚‹ã‚‚ã®ã§ã‚ã‚‹ï¼Ž

çµ„æ–¹å‘ã¯ï¼Œ\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod} ã‚’ãã‚Œãžã‚Œä½¿ç”¨ã™ã‚‹ã“ã¨ã§ï¼Œ
ç¾åœ¨ä½œæˆä¸­ã®ãƒªã‚¹ãƒˆã‚„ãƒœãƒƒã‚¯ã‚¹ãŒç©ºã®æ™‚ã«ã®ã¿å¤‰æ›´å¯èƒ½ã§ã‚ã‚‹ï¼Ž
ãŸã&nbsp;ã—ï¼Œç¾åœ¨ã®ãƒ¢ãƒ¼ãƒ‰ãŒéžåˆ¶é™æ°´å¹³ãƒ¢ãƒ¼ãƒ‰ã‚„ï¼ˆæ–‡ä¸­ï¼Œåˆ¥è¡Œç«‹ã¦å•ã‚ãšï¼‰æ•°å¼ãƒ¢ãƒ¼ãƒ‰ã§ã‚ã‚‹ã¨ãã«ã¯
çµ„æ–¹å‘ã‚’å¤‰æ›´ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ãªã„ï¼Ž
ã¾ãŸï¼Œç¸¦çµ„ä¸­ã®æ•°å¼å†…ã®ãƒœãƒƒã‚¯ã‚¹ã¯\pTeX ã¨åŒã˜ã‚ˆã†ã«çµ„æ–¹å‘ãŒ \cs{utod} ã¨ãªã‚‹ï¼Ž

ãªãŠï¼Œ\LaTeX ã®ä¸‹ã§\LuaTeX-jaã‚’ä½¿ç”¨ã™ã‚‹å&nbsp;´åˆï¼Œçµ„æ–¹å‘å¤‰æ›´å‘½ä»¤ã«ã¯
ã€Œæ–°ãŸãªçµ„æ–¹å‘ä¸‹ã§ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’å¿…è¦ãªã‚‰èª­ã¿è¾¼ã¿ï¼ˆãƒ»é¸æŠžã™ã‚‹ï¼‰ã€ã¨ã„ã†
å‡¦ç†ãŒä»˜ã‘åŠ&nbsp;ãˆã‚‰ã‚Œã¦ã„ã‚‹ï¼ˆ\ref{ssec:ltx-jfm}ç¯€å‚ç…§ï¼‰ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\subsection{Boxes in different direction}

As in \pTeX, one can use boxes of different direction in one document.
The below is an example.
\begin{LTXexample}
ã“ã“ã¯æ¨ªçµ„%     yoko
\hbox{\tate %   tate
  \hbox{ç¸¦çµ„}%  tate
  ã®ä¸­ã«
  \hbox{\yoko æ¨ªçµ„ã®å†…å®¹}% yoko
  ã‚’æŒ¿å…¥ã™ã‚‹
}
ã¾ãŸæ¨ªçµ„ã«æˆ»ã‚‹% yoko
\end{LTXexample}

\autoref{tab-diffdir} shows how a box is arranged when
the direction  inside the box and that outside the box differ.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹}

ç¸¦çµ„ã®ä¸­ã«ã€Œ42ã€ãªã©ã®2æ¡ä»¥ä¸Šã®ç®—ç”¨æ•°å­—ã‚’æ¨ªçµ„ã§çµ„ã‚€ãªã©ï¼Œ
ç•°ãªã‚‹çµ„æ–¹å‘ã‚’æ··åœ¨ã•ã›ã‚‹ã“ã¨ãŒã—ã°ã—ã°è¡Œã‚ã‚Œã‚‹ï¼Ž
çµ„æ–¹å‘ã®æ··åœ¨ã‚‚\pTeX ã¨åŒã˜ã‚ˆã†ã«ã§ãã‚‹ï¼š
\begin{LTXexample}
ã“ã“ã¯æ¨ªçµ„%     yoko
\hbox{\tate %   tate
  \hbox{ç¸¦çµ„}%  tate
  ã®ä¸­ã«
  \hbox{\yoko æ¨ªçµ„ã®å†…å®¹}% yoko
  ã‚’æŒ¿å…¥ã™ã‚‹
}
ã¾ãŸæ¨ªçµ„ã«æˆ»ã‚‹% yoko
\end{LTXexample}

ç•°ãªã‚‹çµ„æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ã‚’é…ç½®ã—ãŸå&nbsp;´åˆã«ã©ã†çµ„ã¾ã‚Œã‚‹ã‹ã®ä»•æ§˜ã‚‚ï¼Œ\pTeX ã‚’
è¸è¥²ã—ã¦ã„ã‚‹ï¼Ž\autoref{tab-diffdir}ã«ç¤ºã™ï¼Ž
%&lt;/ja&gt;

\begin{table}[t]
%&lt;ja&gt;\caption{ç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ã®é…ç½®}
%&lt;en&gt;\caption{Boxes in different direction}
%&lt;en&gt;\medskip
\label{tab-diffdir}
 \centering\small\unitlength3mm
 \def\TATEeg{%
   \hbox{\smash{\begin{picture}(0,0)(-2,0)
     \thicklines
     \polyline(-2,0)(-2,-7)(5,-7)(5,0)
     \put(0,0){\circle*{0.3}}
     \put(2.5,-4){\makebox(0,0){\hbox{\tate\bfseries \emph{tate}/\emph{utod}}}}
     \put(0,0){\vector(1,0){5}} \put(2.5,-0.2){\makebox(0,0)[t]{$h_{\mathrm{T}}$}}
     \put(0,0){\vector(-1,0){2}}\put(-1,-0.2){\makebox(0,0)[t]{$d_{\mathrm{T}}$}}
     \put(0,0){\vector(0,-1){7}}\put(0.2,-3.5){\makebox(0,0)[l]{$w_{\mathrm{T}}$}}
   \end{picture}}}%
 }
 \def\DTOUeg{%
   \hbox{\smash{\begin{picture}(0,0)(-5,0)
     \thicklines
     \polyline(-5,0)(-5,7)(2,7)(2,0)
     \put(0,0){\circle*{0.3}}
     \put(-2.5,4){\makebox(0,0){\hbox{\dtou\bfseries \emph{dtou}}}}
     \put(0,0){\vector(-1,0){5}} \put(-2.5,0.3){\makebox(0,0)[b]{$h_{\mathrm{D}}$}}
     \put(0,0){\vector(1,0){2}}\put(1,0.3){\makebox(0,0)[b]{$d_{\mathrm{D}}$}}
     \put(0,0){\vector(0,1){7}}\put(-0.2,3.5){\makebox(0,0)[r]{$w_{\mathrm{D}}$}}
   \end{picture}}}%
 }
 \def\YOKOeg{%
   \hbox{\smash{\begin{picture}(0,0)
     \thicklines
     \polyline(0,5)(7,5)(7,-2)(0,-2)
     \put(4,2.5){\makebox(0,0){\hbox{\yoko\bfseries \emph{yoko}}}}
     \put(0,0){\circle*{0.3}}
     \put(0,0){\vector(0,1){5}} \put(0.3,2.5){\makebox(0,0)[l]{$h_{\mathrm{Y}}$}}
     \put(0,0){\vector(0,-1){2}}\put(0.3,-1){\makebox(0,0)[l]{$d_{\mathrm{Y}}$}}
     \put(0,0){\vector(1,0){7}}\put(3.5,0.2){\makebox(0,0)[b]{$w_{\mathrm{Y}}$}}
   \end{picture}}}%
 }
\begin{tabular}{ccc}
\toprule
%&lt;ja&gt;\emph{æ¨ªçµ„ä¸­ã«é…ç½®}&amp;\emph{ç¸¦çµ„ä¸­ã«é…ç½®}&amp;%
%&lt;ja&gt;\emph{çµ„æ–¹å‘ \cs{dtou} ä¸­ã«é…ç½®}\\
%&lt;en&gt;\textbf{typeset in \emph{yoko} direction}
%&lt;en&gt;&amp;\textbf{typeset in \emph{tate} or \emph{utod} direction}
%&lt;en&gt;&amp;\textbf{typeset in \emph{dtou} direction}\\
\midrule
 \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
   \put(0,0){\line(1,0){3.8}}
   \put(4,7){\TATEeg}
   \put(11.2,0){\line(1,0){3.8}}
%
   \put(2,7){\line(1,0){1.8}}
   \put(3,3.5){\vector(0,1){3.5}\vector(0,-1){3.5}}
   \put(2.8,3.5){\makebox(0,0)[r]{$H_{\mathrm{Y}}$}}
   \put(3,-2){\vector(0,1){2}}
   \put(2.8,-1){\makebox(0,0)[r]{$D_{\mathrm{Y}}$}}
%
   \put(4,7.2){\line(0,1){1.8}}
   \put(11,7.2){\line(0,1){1.8}}
   \put(6,8){\vector(-1,0){2}}
   \put(9,8){\vector(1,0){2}}
   \put(7.5,8){\makebox(0,0){$W_{\mathrm{Y}}$}}
%
 \end{picture}\vspace{-\baselineskip}
   \begin{align*}
   W_{\mathrm{Y}} &amp;= h_{\mathrm{T}}+d_{\mathrm{T}},\\
   H_{\mathrm{Y}} &amp;= w_{\mathrm{T}},\\
   D_{\mathrm{Y}} &amp;=0\,\mathrm{pt}
   \end{align*}%
 }&amp;
 \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
   \put(7.5,-0.2){\line(0,-1){2.8}}
   \put(4,2){\YOKOeg}
   \put(7.5, 7.2){\line(0,1){3.8}}
%
   \put(2,7){\line(1,0){1.8}}
   \put(2,0){\line(1,0){1.8}}
   \put(3,5){\vector(0,1){2}}
   \put(3,2){\vector(0,-1){2}}
   \put(3,3.5){\makebox(0,0){$W_{\mathrm{T}}$}}
%
   \put(4,7.2){\line(0,1){1.8}}
   \put(11,7.2){\line(0,1){1.8}}
   \put(8,8){\vector(-1,0){0.5}}\put(8,8){\vector(1,0){3}}
   \put(7,8){\vector(-1,0){3}}\put(7,8){\vector(1,0){0.5}}
   \put(9.25,8.2){\makebox(0,0)[b]{$H_{\mathrm{T}}$}}
   \put(5.75,8.2){\makebox(0,0)[b]{$D_{\mathrm{T}}$}}
%
 \end{picture}\vspace{-\baselineskip}
   \begin{align*}
   W_{\mathrm{T}} &amp;= h_{\mathrm{Y}}+d_{\mathrm{Y}},\\
   H_{\mathrm{T}} &amp;= w_{\mathrm{Y}}/2,\\
   D_{\mathrm{T}} &amp;= w_{\mathrm{Y}}/2
   \end{align*}%
 }&amp;
 \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
   \put(11,-0.2){\line(0,-1){2.8}}
   \put(4,2){\YOKOeg}
   \put(11, 7.2){\line(0,1){3.8}}
%
   \put(2,7){\line(1,0){1.8}}
   \put(2,0){\line(1,0){1.8}}
   \put(3,5){\vector(0,1){2}}
   \put(3,2){\vector(0,-1){2}}
   \put(3,3.5){\makebox(0,0){$W_{\mathrm{D}}$}}
%
   \put(4,7.2){\line(0,1){1.8}}
   \put(11,7.2){\line(0,1){1.8}}
   \put(7.5,8){\vector(-1,0){3.5}}\put(7.5,8){\vector(1,0){3.5}}
   \put(13,8){\vector(-1,0){2}}
   \put(7.5,8.2){\makebox(0,0)[b]{$H_{\mathrm{D}}$}}
   \put(12,8.2){\makebox(0,0)[b]{$D_{\mathrm{D}}$}}
%
 \end{picture}\vspace{-\baselineskip}
   \begin{align*}
   W_{\mathrm{D}} &amp;= h_{\mathrm{Y}}+d_{\mathrm{Y}},\\
   H_{\mathrm{D}} &amp;= w_{\mathrm{Y}},\\
   D_{\mathrm{D}} &amp;= 0\,\mathrm{pt}
   \end{align*}%
 }%
\\\midrule
 \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
   \put(0,0){\line(1,0){3.8}}
   \put(4,0){\DTOUeg}
   \put(11.2,0){\line(1,0){3.8}}
%
   \put(2,7){\line(1,0){1.8}}
   \put(3,3.5){\vector(0,1){3.5}}\put(3,3.5){\vector(0,-1){3.5}}
   \put(2.8,3.5){\makebox(0,0)[r]{$H_{\mathrm{Y}}$}}
   \put(3,-2){\vector(0,1){2}}
   \put(2.8,-1){\makebox(0,0)[r]{$D_{\mathrm{Y}}$}}
%
   \put(4,7.2){\line(0,1){1.8}}
   \put(11,7.2){\line(0,1){1.8}}
   \put(6,8){\vector(-1,0){2}}
   \put(9,8){\vector(1,0){2}}
   \put(7.5,8){\makebox(0,0){$W_{\mathrm{Y}}$}}
%
 \end{picture}\vspace{-\baselineskip}
   \begin{align*}
   W_{\mathrm{Y}} &amp;= h_{\mathrm{D}}+d_{\mathrm{D}},\\
   H_{\mathrm{Y}} &amp;= w_{\mathrm{D}},\\
   D_{\mathrm{Y}} &amp;= 0\,\mathrm{pt}
   \end{align*}%
 }&amp;
 \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
   \put(9,-0.2){\line(0,-1){2.8}}
   \put(4,0){\DTOUeg}
   \put(9, 7.2){\line(0,1){3.8}}
%
   \put(2,7){\line(1,0){1.8}}
   \put(2,0){\line(1,0){1.8}}
   \put(3,5){\vector(0,1){2}}
   \put(3,2){\vector(0,-1){2}}
   \put(3,3.5){\makebox(0,0){$W_{\mathrm{T}}$}}
%
   \put(4,7.2){\line(0,1){1.8}}
   \put(11,7.2){\line(0,1){1.8}}
   \put(6.5,8){\vector(-1,0){2.5}}\put(6.5,8){\vector(1,0){2.5}}
   \put(10,8){\vector(-1,0){1}}\put(10,8){\vector(1,0){1}}
   \put(10,8.2){\makebox(0,0)[b]{$H_{\mathrm{T}}$}}
   \put(6.5,8.2){\makebox(0,0)[b]{$D_{\mathrm{T}}$}}
%
 \end{picture}\vspace{-\baselineskip}
   \begin{align*}
   W_{\mathrm{T}} &amp;= h_{\mathrm{D}}+d_{\mathrm{D}},\\
   H_{\mathrm{T}} &amp;= d_{\mathrm{D}},\\
   D_{\mathrm{T}} &amp;= h_{\mathrm{D}}
   \end{align*}%
 }&amp;
 \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
   \put(6,-0.2){\line(0,-1){2.8}}
   \put(4,7){\TATEeg}
   \put(6, 7.2){\line(0,1){3.8}}
%
   \put(2,7){\line(1,0){1.8}}
   \put(2,0){\line(1,0){1.8}}
   \put(3,5){\vector(0,1){2}}
   \put(3,2){\vector(0,-1){2}}
   \put(3,3.5){\makebox(0,0){$W_{\mathrm{D}}$}}
%
   \put(4,7.2){\line(0,1){1.8}}
   \put(11,7.2){\line(0,1){1.8}}
   \put(5,8){\vector(-1,0){1}}\put(5,8){\vector(1,0){1}}
   \put(8.5,8){\vector(-1,0){2.5}}\put(8.5,8){\vector(1,0){2.5}}
   \put(5,8.2){\makebox(0,0)[b]{$H_{\mathrm{D}}$}}
   \put(8.5,8.2){\makebox(0,0)[b]{$D_{\mathrm{D}}$}}
%
 \end{picture}\vspace{-\baselineskip}
   \begin{align*}
   W_{\mathrm{D}} &amp;= w_{\mathrm{T}},\\
   H_{\mathrm{D}} &amp;= d_{\mathrm{T}},\\
   D_{\mathrm{D}} &amp;= h_{\mathrm{T}}
   \end{align*}%
 }\\
\bottomrule
\end{tabular}
\end{table}



%&lt;*en&gt;
\paragraph{\cs{wd} and direction}
In \pTeX, \cs{wd},~\cs{ht},~\cs{dp} means the dimensions of a box register
\emph{with respact to the current direction}.
This means that the value of \cs{wd0} etc.\ might differ when the current direction is
different, even if \cs{box0} stores the same box.
However, this no longer applies in \LuaTeX-ja.

\begin{LTXexample}
% yoko direction
\setbox0=\hbox to 20pt{foo}
\the\wd0,~\hbox{\tate\vrule\the\wd0}
\wd0=100pt
\the\wd0,~\hbox{\tate \the\wd0}
\end{LTXexample}

To access box dimensions \emph{with respect to current direction},
one have to use the following commands instead of \cs{wd} wtc.
\begin{cslist}

 \item[\cs{ltjgetwd}\meta{num}\textrm{, }\cs{ltjgetht}\meta{num}\textrm{, }%
  \cs{ltjgetdp}\meta{num}]
These commands return \emph{an internal dimension} of \cs{box\meta{num}} with respect to
the current direction. One can use these in \cs{dimexpr} primitive, as the followings.
\begin{lstlisting}
\dimexpr 2\ltjgetwd42-3pt\relax, \the\ltjgetwd1701
\end{lstlisting}
The following is an example.
\begin{LTXexample}[width=0.3\textwidth]
\parindent0pt
\setbox32767=\hbox{\yoko ã‚ˆã“ãã¿}
\fboxsep=0mm\fbox{\copy32767}
\vbox{\hsize=20mm
\yoko YOKO \the\ltjgetwd32767, \\
  \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\vbox{\hsize=20mm\raggedleft
\tate TATE \the\ltjgetwd32767, \\
  \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\vbox{\hsize=20mm\raggedleft
\dtou DTOU \the\ltjgetwd32767, \\
  \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\end{LTXexample}

 \item[\cs{ltjsetwd}\meta{num}=\meta{dimen}\textrm{, }\cs{ltjsetht}\meta{num}=\meta{dimen}\textrm{, }%
  \cs{ltjsetdp}\meta{num}=\meta{dimen}]
These commands set the dimension of \cs{box\meta{num}}. One does not need
	to group the argument \meta{num}; four calls of \cs{ltjsetwd} below have the same meaning.
\begin{lstlisting}
\ltjsetwd42 20pt,  \ltjsetwd42=20pt,  \ltjsetwd=42 20pt,  \ltjsetwd=42=20pt
\end{lstlisting}

\end{cslist}
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\cs{wd} é”ã¨çµ„æ–¹å‘}
ãƒœãƒƒã‚¯ã‚¹ãƒ¬ã‚¸ã‚¹ã‚¿ \cs{box}\meta{num} ã«ã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã‚‹ãƒœãƒƒã‚¯ã‚¹ã®å¹…ãƒ»é«˜ã•ãƒ»æ·±ã•ã®å–å¾—ã‚„
å¤‰æ›´ã«ã¯ãã‚Œãžã‚Œ \cs{wd},~\cs{ht},~\cs{dp} ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã‚’ç”¨ã„ã‚‹ã®ã§ã‚ã£ãŸï¼Ž
\pTeX ã§ã¯ã“ã‚Œã‚‰ã®ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã¯ï¼Œã€Œç¾åœ¨ã®çµ„æ–¹å‘ã«ãŠã‘ã‚‹ãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã€ã‚’æŒ‡ã™ã‚‚ã®ã§ï¼Œ
åŒã˜ãƒœãƒƒã‚¯ã‚¹ã«å¯¾ã—ã¦ã‚‚ç¾åœ¨ã®çµ„æ–¹å‘ã«ã‚ˆã£ã¦è¿”ã‚‹å€¤ã¯ç•°ãªã‚‹ã‚‚ã®ã§ã‚ã£ãŸï¼Ž

\LuaTeX-jaã«ãŠã„ã¦ã¯çŠ¶æ³ãŒç•°ãªã‚Šï¼Œ\cs{wd},~\cs{ht},~\cs{dp} ãŒè¿”ã™å€¤ã¯
ç¾åœ¨ã®çµ„æ–¹å‘ã«ã¯ä¾å­˜ã—ãªã„ï¼Žä¸‹ã®ä¾‹ã®ã‚ˆã†ã«ï¼Œæ¨ªçµ„ã®ãƒœãƒƒã‚¯ã‚¹ãŒæ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚Œã°
\cs{wd}ç­‰ã¯å¸¸ã«ã€Œæ¨ªçµ„ã«ãŠã‘ã‚‹ãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã€ã‚’æ„å‘³ã™ã‚‹ï¼Ž

\begin{LTXexample}
% yoko direction
\setbox0=\hbox to 20pt{foo}
\the\wd0,~\hbox{\tate\vrule\the\wd0}
\wd0=100pt
\the\wd0,~\hbox{\tate \the\wd0}
\end{LTXexample}

\pTeX ã®ã‚ˆã†ã«ç¾åœ¨ã®çµ„æ–¹å‘ã«å¿œã˜ãŸãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã®å–å¾—ãƒ»è¨­å®šã‚’è¡Œã†ã«ã¯ï¼Œ
ä»£ã‚ã‚Šã«æ¬¡ã®å‘½ä»¤ã‚’ä½¿ç”¨ã™ã‚‹ï¼Ž

\begin{cslist}

 \item[\cs{ltjgetwd}\meta{num}\textrm{, }\cs{ltjgetht}\meta{num}\textrm{, }%
  \cs{ltjgetdp}\meta{num}]
ç¾åœ¨ã®çµ„æ–¹å‘ã«å¿œã˜ãŸãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã®å–å¾—ã‚’è¡Œã†ï¼Žçµæžœã¯å†…éƒ¨é•·ã•ã§ã‚ã‚‹ãŸã‚ï¼Œ
\begin{lstlisting}
\dimexpr 2\ltjgetwd42-3pt\relax, \the\ltjgetwd1701
\end{lstlisting}
ã®ã‚ˆã†ã« \cs{wd}\meta{num} ã®ä»£ã‚ã‚Šã¨ã—ã¦æ‰±ã†ã“ã¨ãŒã§ãã‚‹ï¼Ž
ä½¿ç”¨ä¾‹ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚ã‚‹ï¼Ž
\begin{LTXexample}[width=0.3\textwidth]
\parindent0pt
\setbox32767=\hbox{\yoko ã‚ˆã“ãã¿}
\fboxsep=0mm\fbox{\copy32767}
\vbox{\hsize=20mm
\yoko YOKO \the\ltjgetwd32767, \\
  \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\vbox{\hsize=20mm\raggedleft
\tate TATE \the\ltjgetwd32767, \\
  \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\vbox{\hsize=20mm\raggedleft
\dtou DTOU \the\ltjgetwd32767, \\
  \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
\end{LTXexample}

 \item[\cs{ltjsetwd}\meta{num}=\meta{dimen}\textrm{, }\cs{ltjsetht}\meta{num}=\meta{dimen}\textrm{, }%
  \cs{ltjsetdp}\meta{num}=\meta{dimen}]
ç¾åœ¨ã®çµ„æ–¹å‘ã«å¿œã˜ãŸãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã®è¨­å®šã‚’è¡Œã†ï¼Ž\cs{afterassignment} ã‚’2å›žåˆ©ç”¨ã—ã¦
å®Ÿè£…ã—ã¦ã„ã‚‹ã®ã§ï¼Œæ¬¡ã®4é€šã‚Šã¯å…¨ã¦åŒã˜æ„å‘³ã§ã‚ã‚‹ï¼Ž
\begin{lstlisting}
\ltjsetwd42 20pt,  \ltjsetwd42=20pt,  \ltjsetwd=42 20pt,  \ltjsetwd=42=20pt
\end{lstlisting}

è¨­å®šå€¤ã¯ã€Œæ¨ªçµ„ã€ã€Œç¸¦çµ„ã¾ãŸã¯utodæ–¹å‘ã€ã€Œdtouæ–¹å‘ã€
ã®3ç¨®ã”ã¨ã«ç‹¬ç«‹ã—ã¦è¨˜éŒ²ã•ã‚Œã‚‹ï¼Žå‚è€ƒã¨ã—ã¦ï¼ŒGitãƒªãƒã‚¸ãƒˆãƒªå†…ã®
	      \verb+test/test55-boxdim_diffdir.{tex,pdf}+ ã‚’æŒ™ã’ã¦ãŠãï¼Ž

\end{cslist}
%&lt;/ja&gt;

%&lt;*en&gt;
\subsection{Getting current direction}
The \Param{direction} parameter returns the current direction, and
the \Param{boxdir} parameter (with the argument \meta{num})
returns the direction of a box register \cs{box}\meta{num}.
The returned value of these parameters are a \emph{string}:
\begin{center}
\small
\begin{tabular}{&gt;{\bfseries}lccccc}
\toprule
Direction&amp;\emph{yoko}&amp;\emph{tate}&amp;\emph{dtou}&amp;\emph{utod}&amp;(empty)\\
\midrule
Returned value&amp;\texttt{4}&amp;\texttt{3}&amp;\texttt{1}&amp;\texttt{11}&amp;\texttt{0}\\
\bottomrule
\end{tabular}
\end{center}
\begin{LTXexample}[width=0.3\textwidth]
\leavevmode\def\DIR{\ltjgetparameter{direction}}
\hbox{\yoko \DIR}, \hbox{\tate\DIR},
\hbox{\dtou\DIR}, \hbox{\utod\DIR},
\hbox{\tate$\hbox{tate math: \DIR}$}

\setbox2=\hbox{\tate}\ltjgetparameter{boxdir}{2}
\end{LTXexample}
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{çµ„æ–¹å‘ã®å–å¾—}
ã€Œç¾åœ¨ã®çµ„æ–¹å‘ã€ã‚„ã€Œ\meta{num}ç•ªã®ãƒœãƒƒã‚¯ã‚¹ã®çµ„æ–¹å‘ã€ã¯ï¼Œ
\pTeX ã§ã¯ \cs{ifydir} ã‚„ \cs{ifybox}\meta{num} ã¨ã„ã£ãŸæ¡ä»¶åˆ¤æ–­æ–‡ã‚’ä½¿ã£ã¦
åˆ¤æ–­ã™ã‚‹ã“ã¨ãŒã§ããŸï¼Ž
ã—ã‹ã—ï¼Œ\LuaTeX-jaã¯ã‚ãã¾ã§ã‚‚\TeX ãƒžã‚¯ãƒ­ã¨Luaã‚³ãƒ¼ãƒ‰ã§
è¨˜è¿°ã•ã‚Œã¦ãŠã‚Šï¼Œãã‚Œã§ã¯æ–°ãŸãªæ¡ä»¶åˆ¤æ–­å‘½ä»¤ã‚’ä½œã‚‹ã®ã¯é›£ã—ã„ï¼Ž

\LuaTeX-jaã§ã¯ï¼Œ\Param{direction}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã§ç¾åœ¨ã®çµ„æ–¹å‘ã‚’ï¼Œ
\Param{boxdir}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ï¼ˆã¨è¿½åŠ&nbsp;ã®å¼•æ•°\meta{num}ï¼‰ã«ã‚ˆã£ã¦
\cs{box}\meta{num}ã®çµ„æ–¹å‘ã‚’ãã‚Œãžã‚Œå–å¾—ã§ãã‚‹ã‚ˆã†ã«ã—ãŸï¼Ž
æˆ»ã‚Šå€¤ã¯æ–‡å­—åˆ—ã§ã‚ã‚‹ï¼š
\begin{center}
\small
\begin{tabular}{&gt;{\bfseries}lccccc}
\toprule
çµ„æ–¹å‘&amp;\emph{æ¨ªçµ„}&amp;\emph{tateç¸¦çµ„}&amp;\emph{dtouæ–¹å‘}&amp;\emph{utodæ–¹å‘}&amp;(æœªå‰²ã‚Šå½“ã¦)\\
\midrule
æˆ»ã‚Šå€¤&amp;\texttt{4}&amp;\texttt{3}&amp;\texttt{1}&amp;\texttt{11}&amp;\texttt{0}\\
\bottomrule
\end{tabular}
\end{center}

\begin{LTXexample}[width=0.3\textwidth]
\leavevmode\def\DIR{\ltjgetparameter{direction}}
\hbox{\yoko\DIR}, \hbox{\tate\DIR},
\hbox{\dtou\DIR}, \hbox{\utod\DIR},
\hbox{\tate$\hbox{tate math: \DIR}$}

\setbox2=\hbox{\tate}\ltjgetparameter{boxdir}{2}
\end{LTXexample}

ã“ã‚Œã‚‰ã‚’ç”¨ã„ã‚Œã°ï¼Œä¾‹ãˆã°
\pTeX ã® \cs{ifydir},~\cs{ifybox200} ã¨åŒç­‰ã®æ¡ä»¶åˆ¤æ–­ã‚’
\begin{lstlisting}
\ifnum\ltjgetparameter{direction}=4
\ifnum\ltjgetparameter{boxdir}{200}=4
\end{lstlisting}
ã®ã‚ˆã†ã«è¡Œã†ã“ã¨ãŒã§ãã‚‹ï¼Ž
\cs{iftdir} ã¯å°‘ã€…é¢å€’ã§ã‚ã‚‹ãŒï¼Œ8ã§å‰²ã£ãŸä½™ã‚ŠãŒ3ã§ã‚ã‚‹ã‹å¦ã‹ã‚’åˆ¤æ–­ã™ã‚Œã°è‰¯ã„ã‹ã‚‰
\begin{lstlisting}
\ifnum\numexpr
  \ltjgetparameter{direction}-(\ltjgetparameter{direction}/8)*8=3
\end{lstlisting}
ã¨ã™ã‚Œã°ã‚ˆã„ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\section{Redefined primitives by \LuaTeX-ja}
The following primitives are redefined by \LuaTeX-ja (using~\verb+\protected\def+),
for supporting Japanese typesetting and multiple directions:
\begin{cslist}[style=standard]
 \item[\cs{/}]
 \item[\cs{unhbox}\meta{num}\textrm{, }\cs{unvbox}\meta{num}\textrm{, }\cs{unhcopy}\meta{num}\textrm{, }\cs{unvcopy}\meta{num}]
 \item[\cs{vadjust}\{\meta{material}\}]
 \item[\cs{insert}\meta{number}\{\meta{material}\}]
 \item[\cs{lastbox}]
 \item[\cs{raise}\meta{dimen}\meta{box}\textrm{, }\cs{lower}\meta{dimen}\meta{box}\textrm{, }
   \cs{moveleft}\meta{dimen}\meta{box}\textrm{, }\cs{moveright}\meta{dimen}\meta{box}\textrm{, }]
 \item[\cs{split}\meta{number}to\meta{dimen}\textrm{, }\cs{vcenter}\{\meta{material}\}]
\end{cslist}

On each primitive \cs{\meta{primitive}} in the list above,
its meaning just before loading \LuaTeX-ja is backed up into \cs{ltj@@orig@\meta{primitive}},
and the meaning after redefinition by \LuaTeX-ja is stored in \cs{ltj@@\meta{primitive}}.
For example, \autoref{fig:primitive_meaning} shows the situation of \cs{vadjust} primitive.
%&lt;/en&gt;
%&lt;*ja&gt;
\section{ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã®å†å®šç¾©}
\LuaTeX-jaã§ã¯å’Œæ–‡çµ„ç‰ˆã‚„ç•°ãªã‚‹çµ„æ–¹å‘ã«å¯¾å¿œã™ã‚‹ãŸã‚ã«ï¼Œä»¥ä¸‹ã«æŒ™ã’ã‚‹ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã¯
\ \verb+\protected\def+ ã«ã‚ˆã‚Šå†å®šç¾©ã‚’è¡Œã£ã¦ã„ã‚‹ï¼Ž

\begin{cslist}
 \item[\cs{/}]
 å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾ã™ã‚‹ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ã®ã‚µãƒãƒ¼ãƒˆãŒè¿½åŠ&nbsp;ã•ã‚Œã¦ã„ã‚‹ï¼Ž
 \item[\cs{unhbox}\meta{number}\textrm{, }\cs{unvbox}\meta{number}\textrm{, }\cs{unhcopy}\meta{number}\textrm{, }\cs{unvcopy}\meta{number}]
 ãƒœãƒƒã‚¯ã‚¹ã®çµ„æ–¹å‘ãŒç¾åœ¨ã®ãƒªã‚¹ãƒˆã¨ç•°ãªã‚‹å&nbsp;´åˆã¯äº‹å‰ã«ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å‡ºåŠ›ã™ã‚‹ï¼Ž
 \pTeX ã¨ç•°ãªã‚Šï¼Œã‚¨ãƒ©ãƒ¼ã‚’ç„¡è¦–ã—ã¦ç„¡ç†çŸ¢ç† \cs{unhbox}, \cs{unvbox} ç­‰ã‚’
 ç¶šè¡Œã•ã›ã‚‹ã“ã¨ã‚‚ã§ãã‚‹ãŒï¼Œãã®å&nbsp;´åˆã®çµ„ç‰ˆçµæžœã¯ä¿è¨¼ã—ãªã„ï¼Ž
 \item[\cs{vadjust}\{\meta{material}\}] ä¸€æ—¦ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–æœ¬æ¥ã®æŒ™å‹•ã‚’è¡Œã†ï¼Žãã®å¾Œï¼Œ\meta{material}ã®çµ„æ–¹å‘ãŒ
 å‘¨å›²ã®åž‚ç›´ãƒªã‚¹ãƒˆã®çµ„æ–¹å‘ã¨ä¸€è‡´ã—ãªã„å&nbsp;´åˆã«ã‚¨ãƒ©ãƒ¼ã‚’å‡ºåŠ›ã—ï¼Œ
 è©²å½“ã® \cs{vadjust} ã‚’ç„¡åŠ¹ã«ã™ã‚‹ï¼Ž
 \item[\cs{insert}\meta{number}\{\meta{material}\}]
 ä¸€æ—¦ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–æœ¬æ¥ã®æŒ™å‹•ã‚’è¡Œã„ï¼Œãã®å¾Œ\meta{material}å†…ã®å„ãƒœãƒƒã‚¯ã‚¹ãƒ»ç½«ç·šã®ç›´å‰ã«çµ„æ–¹å‘ã‚’ç¤º
	      ã™direction whatsitã‚’æŒ¿å…¥ã™ã‚‹ï¼Ž
 \item[\cs{lastbox}] ãƒœãƒƒã‚¯ã‚¹ã®ã€Œä¸­èº«ã€ã‚’ç¾åœ¨ã®çµ„æ–¹å‘ã«åˆã‚ã›ã‚‹ãŸã‚ã®ãƒŽãƒ¼ãƒ‰
	      ï¼ˆ\textit{dir\_box}ã¨ã„ã†ï¼‰ã‚’å¿…è¦ãªã‚‰ã°é™¤åŽ»ã—ï¼Œ
 æ­£ã—ãã€Œä¸­èº«ã€ã®ãƒœãƒƒã‚¯ã‚¹ãŒè¿”ã•ã‚Œã‚‹ã‚ˆã†ã«å‰å‡¦ç†ã‚’ã™ã‚‹ï¼Ž
 \item[\cs{raise}\meta{dimen}\meta{box}\textrm{, }\cs{lower}\meta{dimen}\meta{box}\textrm{, }
   \cs{moveleft}\meta{dimen}\meta{box}\textrm{, }\cs{moveright}\meta{dimen}\meta{box}\textrm{, }]
  \leavevmode\vspace{-\baselineskip}
 \item[\cs{split}\meta{number}to\meta{dimen}\textrm{, }\cs{vcenter}\{\meta{material}\}]
 ã“ã‚Œã‚‰ã®ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã«ã¤ã„ã¦ã¯å¿…è¦ã«å¿œã˜ã¦\textit{dir\_box}ã‚’ä½œæˆã™ã‚‹å‰å‡¦ç†ã‚’è¿½åŠ&nbsp;ã—ã¦ã„ã‚‹ï¼Ž
\end{cslist}

ä¸Šè¨˜ã®ä¸€è¦§ä¸­ã«ã‚ã‚‹ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–\cs{\meta{primitive}}ã«ã¤ã„ã¦ã¯ï¼Œ
\LuaTeX-jaèª­ã¿è¾¼ã¿å‰ã®æ„å‘³ãŒ\cs{ltj@@orig@\meta{primitive}}ã«ï¼Œ
ãã—ã¦\LuaTeX-jaã«ã‚ˆã‚‹å†å®šç¾©å¾Œã®æ„å‘³ãŒ\cs{ltj@@\meta{primitive}}ã«ä¿å­˜ã•ã‚Œã‚‹ï¼Ž
ä¾‹ãˆã°ï¼Œ\cs{vadjust}ã«ã¤ã„ã¦ã¯\autoref{fig:primitive_meaning}ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{figure}
\begin{LTXexample}[width=.55\textwidth]
\makeatletter\scriptsize\ttfamily
\meaning\vadjust        \\ % current
\meaning\ltj@@vadjust   \\ % LuaTeX-ja
\meaning\ltj@@orig@vadjust % original
\end{LTXexample}
\caption{Redefining \cs{vadjust} primitive by \LuaTeX-ja}
\label{fig:primitive_meaning}
\end{figure}

%&lt;*en&gt;
\subsection{Suppressing redefinitions}
Sometimes redefining primitives by \LuaTeX-ja causes a problem.
For example, the \Pkg{breqn} package~(v0.98k) assumes that \cs{vadjust}~and~\cs{insert} have
their primitive meanings.
So, this package cannot by loaded after \LuaTeX-ja by default.

\LuaTeX-ja version~20210517.0 has features for that problem. Namely:
\begin{itemize}
  \item Primitives which is listed in \cs{ltj@stop@overwrite@primitive} are 
  retain their meanings at just before loading \LuaTeX-ja.
  \item After loading \LuaTeX-ja,
  one can specify primitives to \cs{ltj@overwrite@primitive}, to redefine them by \LuaTeX-ja.
\end{itemize}
See \autoref{fig:primitive_overwrite} for an example.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{å†å®šç¾©ã®æŠ‘åˆ¶}
å&nbsp;´åˆã«ã‚ˆã£ã¦ã¯\LuaTeX-jaã«ã‚ˆã‚‹ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã®å†å®šç¾©ãŒä¸éƒ½åˆã‚’èµ·ã“ã™ã“ã¨ã‚‚ã‚ã‚‹ï¼Ž
ãŸã¨ãˆã°ï¼Œ\Pkg{breqn}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ï¼ˆå°‘ãªãã¨ã‚‚v0.98k, 2020\nobreakdash-09\nobreakdash-24)ï¼‰ã¯
èª­ã¿è¾¼ã¿æ™‚ã«\cs{vadjust}, \cs{insert}ãŒãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã®ã¾ã¾ã§ã‚ã‚‹ã“ã¨ã‚’è¦è«‹ã™ã‚‹ã®ã§ï¼Œ
ã“ã®ã¾ã¾ã§ã¯\LuaTeX-jaã®å¾Œã§èª­ã¿è¾¼ã‚€ã“ã¨ã¯ã§ããªã„ï¼Ž

ã“ã®çŠ¶æ³ã«å¯¾å¿œã™ã‚‹ãŸã‚ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³20210517.0ä»¥é™ã§ã¯
\begin{itemize}
  \item åˆ¶å¾¡ç¶´\cs{ltj@stop@overwrite@primitive}å†…ã«ä¸¦ã¹ã‚‰ã‚ŒãŸãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã¯ï¼Œ
  \LuaTeX-jaèª­ã¿è¾¼ã¿ç›´å‰æ™‚ã®æ„å‘³ã®ã¾ã¾ã¨ãªã‚‹ï¼Ž
  \item \LuaTeX-jaèª­ã¿è¾¼ã¿å¾Œã«
  \cs{ltj@overwrite@primitive}ã«å¼•æ•°ã¨ã—ã¦ä¸ŽãˆãŸãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã‚’ä¸Žãˆã‚‹ã“ã¨ã§ï¼Œ
  ãã‚Œã‚‰ã‚’ã€Œ\LuaTeX-jaã«ã‚ˆã£ã¦å†å®šç¾©ã™ã‚‹ã€éš›ã®æ„å‘³ã«å†å®šç¾©ã™ã‚‹
\end{itemize}
æ©Ÿèƒ½ã‚’å°Žå…¥ã—ãŸï¼Žä½¿ç”¨ä¾‹ã«ã¤ã„ã¦ã¯\autoref{fig:primitive_overwrite}ã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;
\begin{figure}
\begin{lstlisting}
\makeatletter
\def\ltj@stop@overwrite@primitive{\insert\vadjust\/\unhbox\vcenter\fontseries}
\makeatother
  %% Keep the meaning of \insert, \vadjust, \/, \unhbox and \vcenter.
  %% \fontseries will still be redefined by \LuaTeX-ja, because it is not primitive.
\usepackage{luatexja}
...
\usepackage{breqn}
...
\makeatletter
\ltj@overwrite@primitive\expandafter{\insert\vadjust\/\unhbox\vcenter}
\makeatother
  %% Redefine \insert, \vadjust, \/, \unhbox and \vcenter.
\end{lstlisting}
\caption{\cs{ltj@stop@overwrite@primitive} and \cs{ltj@overwrite@primitive}}
\label{fig:primitive_overwrite}
\end{figure}

%&lt;en&gt;\section{Font Metric and Japanese Font}
%&lt;ja&gt;\section{ãƒ•ã‚©ãƒ³ãƒˆãƒ¡ãƒˆãƒªãƒƒã‚¯ã¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆ}
%&lt;en&gt;\subsection{\cs{jfont}}
%&lt;ja&gt;\subsection{\cs{jfont} å‘½ä»¤}
\label{ssec:jfont}

%&lt;*en&gt;
To load a font as a Japanese font (for horizontal direction), you must use the
\cs{jfont} instead of~\cs{font}, while
\cs{jfont} admits the same syntax used in~\cs{font}.
\LuaTeX-ja automatically loads \Pkg{luaotfload} package,
so TrueType/OpenType fonts with features can be used for Japanese fonts:
%&lt;/en&gt;
%&lt;*ja&gt;
ãƒ•ã‚©ãƒ³ãƒˆã‚’ï¼ˆæ¨ªçµ„ç”¨ï¼‰å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¨ã—ã¦èª­ã¿è¾¼ã‚€ãŸã‚ã«ã¯ï¼Œ\cs{jfont} ã‚’
\ \cs{font} ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã®ä»£ã‚ã‚Šã«ç”¨ã„ã‚‹ï¼Ž
\cs{jfont} ã®æ–‡æ³•ã¯ \cs{font} ã¨åŒã˜ã§ã‚ã‚‹ï¼Ž
\LuaTeX-jaã¯\Pkg{luaotfload}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’è‡ªå‹•çš„ã«èª­ã¿è¾¼ã‚€ã®ã§ï¼Œ
TrueType/OpenTypeãƒ•ã‚©ãƒ³ãƒˆã«featureã‚’æŒ‡å®šã—ãŸã‚‚ã®ã‚’å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¨ã—ã¦ç”¨ã„ã‚‹
ã“ã¨ãŒã§ãã‚‹ï¼š
%&lt;/ja&gt;
\begin{LTXexample}[width=0.25\textwidth]
\jfont\tradmc={IPAexMincho:script=latn;%
  +trad;-kern;jfm=ujis} at 14pt
\tradmc å½“ï¼ä½“ï¼åŒ»ï¼åŒº
\end{LTXexample}

%&lt;*en&gt;
It is required to specify a (horizontal) \emph{JFM} in at each calling of \cs{jfont}.
A JFM is a Lua script which contains
measurements of characters and glues/kerns that are automatically
inserted for Japanese typesetting.
The structure of JFM will be described in the next subsection.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{jfont}å‘½ä»¤ã®å®Ÿè¡Œã”ã¨ã«ã©ã®ï¼ˆæ¨ªçµ„ç”¨ï¼‰JFMã‚’ç”¨ã„ã‚‹ã®ã‹ã‚’æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚‹ï¼Ž
JFMã¯æ–‡å­—ã®å¯¸æ³•æƒ…å&nbsp;±ã¨å’Œæ–‡çµ„ç‰ˆã§è‡ªå‹•çš„ã«æŒ¿å…¥ã•ã‚Œã‚‹
ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã®å¯¸æ³•æƒ…å&nbsp;±ã‚’æŒã£ã¦ã„ã‚‹Luaã‚¹ã‚¯ãƒªãƒ—ãƒˆã§ï¼Œãã®æ§‹é€&nbsp;ã¯æ¬¡ã®ç¯€ã§è¿°ã¹ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
Note that the defined control sequence
(\cs{tradmc} in the example above) using \cs{jfont} is not a
\textit{font\_def} token,  but a macro.
Hence the input like \verb+\fontname\tradmc+
causes a error.  We denote control sequences which are defined in
\cs{jfont} by \meta{jfont\_cs}.
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠï¼Œ\cs{jfont} ã§å®šç¾©ã•ã‚ŒãŸåˆ¶å¾¡ç¶´ï¼ˆä¸Šã®ä¾‹ã&nbsp;ã¨ \cs{tradmc}ï¼‰
ã¯\textit{font\_def}ãƒˆãƒ¼ã‚¯ãƒ³ã§ã¯ãªããƒžã‚¯ãƒ­ã§ã‚ã‚‹ï¼Žå¾“ã£ã¦ï¼Œ\verb+\fontname\tradmc+ã®ã‚ˆã†ãª
å…¥åŠ›ã¯ã‚¨ãƒ©ãƒ¼ã¨ãªã‚‹ï¼Žä»¥ä¸‹ã§ã¯ \cs{jfont} ã§å®šç¾©ã•ã‚ŒãŸ
åˆ¶å¾¡ç¶´ã‚’\meta{jfont\_cs}ã§è¡¨ã™ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{Specifying JFM}
%&lt;ja&gt;\paragraph{JFMã®æŒ‡å®š}
%&lt;en&gt; The general scheme for specifying a JFM is the following:
%&lt;ja&gt; JFMã®ä¸€èˆ¬çš„ãªæŒ‡å®šã¯æ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼š
\begin{quote}
  \cs{jfont}\meta{jfont\_cs}\texttt{=...;jfm=}\meta{JFM name}[\texttt{/\{}\meta{JFM features}\texttt{\}}]%
  \texttt{;...;}[\texttt{jfmvar=}\meta{identifier}]\texttt{;...}
\end{quote}

\begin{figure}
\begin{LTXexample}[width=0.3\textwidth]
\ltjsetparameter{differentjfm=both}
\jfont\F=HaranoAjiMincho-Regular:jfm=ujis
\jfont\G=HaranoAjiGothic-Medium:jfm=ujis
\jfont\H=HaranoAjiGothic-Medium: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}

%&lt;*en&gt;
\begin{description}
\item[\meta{JFM name}]
  The name of a (horizontal) JFM. \LuaTeX-ja searches and loads \texttt{jfm-\meta{JFM name}.lua}
  \footnote{When \LuaTeX-ja (version~20230409 or later)
    is used under \LaTeXe, \LuaTeX-ja searches a JFM also in directories
    which are specified in \cs{input@path}.}.
\item[\meta{JFM features}]
  An optional comma-separated list of JFM options.
  Enclosing braces (\verb+{}+) are optional, but this does not escape any characters.
  The contents of this list can be accessed by a table \texttt{luatexja.jfont.jfm\_feature}
  from a JFM, at its loading. See \autoref{fig:jfmfeat} for an example.

  Note that any JFM files which is shipped with \LuaTeX-ja does not use this feature.
\item[\meta{identifier}]
  An optional string.
\end{description}

LuaTeX-ja ``does not distinguish'' two Japanese fonts which uses same JFM and are the same size.
Here ``uses same JFM'' means that all~of \meta{JFM name}, \meta{JFM features}~and~\meta{identifier} of two fonts
agree.

For example, The first ``ï¼‰'' and ``ã€'' in \autoref{fig:jfmvar} are typeset in different real fonts.
However, because they use the same JFMs and their size are same,
\LuaTeX-ja inserts penalties, glues and kerns as if these two character are typeset in a same font.
Namely, the glue between these characters is halfwidth, as in ``ï¼‰\nobreakã€''.
However, this does not applies with \cs{F}~and~\cs{H} in \autoref{fig:jfmvar},
because their \meta{identifier} are different.
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{description}
\item[\meta{JFM name}]
  ï¼ˆæ¨ªçµ„ç”¨ï¼‰JFMã®åç§°ï¼Ž\LuaTeX-jaã¯\texttt{jfm-\meta{JFM name}.lua}ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚’æŽ¢ç´¢ã—ã¦èª­ã¿è¾¼ã‚€
  \footnote{\LuaTeX-ja 20230409.0ä»¥é™ã§ã¯ï¼Œ\LaTeXe ä¸‹ã§èª­ã¿è¾¼ã¾ã‚ŒãŸå&nbsp;´åˆã«ã¯
    \cs{input@path}ã§æŒ‡å®šã•ã‚ŒãŸç®‡æ‰€ã‚‚åŠ&nbsp;ãˆã¦JFMã‚’æŽ¢ç´¢ã™ã‚‹ï¼Ž}ï¼Ž
\item[\meta{JFM features}]
  çœç•¥å¯èƒ½ãªã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆï¼Žå…¨ä½“ã‚’å›²ã‚€ \verb+{}+ ã¯çœç•¥å¯èƒ½ã§ã‚ã‚‹ãŒï¼Œ
  å›²ã£ãŸã‹ã‚‰ã¨ã„ã£ã¦\meta{JFM features}ã®ä¸­ã§ä½¿ç”¨å¯èƒ½ãªæ–‡å­—ãŒå¢—ãˆã‚‹ã‚ã‘ã§ã¯ãªã„ï¼Ž
  \meta{JFM features}ã§æŒ‡å®šã•ã‚ŒãŸå†…å®¹ã¯ï¼Œãƒ†ãƒ¼ãƒ–ãƒ«\texttt{luatexja.jfont.jfm\_feature}ã¨ã—ã¦
  JFMèª­ã¿è¾¼ã¿æ™‚ã«ï¼ˆJFMã‹ã‚‰ï¼‰ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã§ã‚ã‚‹ï¼Ž\autoref{fig:jfmfeat}ã«ä½¿ç”¨ä¾‹ã‚’è¼‰ã›ãŸï¼Ž

  ãªãŠï¼Œ\LuaTeX-jaãŒæ¨™æº–ã§æä¾›ã™ã‚‹JFMã§ã¯ã“ã®æ©Ÿèƒ½ã¯ç”¨ã„ã‚‰ã‚Œã¦ã„ãªã„ï¼Ž
\item[\meta{identifier}]
  çœç•¥å¯èƒ½ãªæ–‡å­—åˆ—ï¼Ž
\end{description}

\LuaTeX-jaã¯JFMã¨ã‚µã‚¤ã‚ºãŒåŒã˜ã§ï¼Œ
  å®Ÿãƒ•ã‚©ãƒ³ãƒˆã&nbsp;ã‘ãŒç•°ãªã‚‹2ã¤ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯ã€ŒåŒºåˆ¥ã•ã‚Œãªã„ã€ï¼Ž
ã“ã“ã§ã€ŒJFMãŒåŒã˜ã€ã¨ã¯ï¼Œä¸¡ãƒ•ã‚©ãƒ³ãƒˆã®\meta{JFM name}, \meta{JFM features}, \meta{identifier}ãŒ
å…¨ã¦ä¸€è‡´ã™ã‚‹ã“ã¨ã§ã‚ã‚‹ï¼Ž

ä¾‹ãˆã°\autoref{fig:jfmvar}ã«ãŠã„ã¦ï¼Œæœ€åˆã®ã€Œï¼‰ã€ã¨ã€Œã€ã€ã®å®Ÿãƒ•ã‚©ãƒ³ãƒˆã¯ç•°ãªã‚‹ãŒï¼Œ
JFMã‚‚ã‚µã‚¤ã‚ºã‚‚åŒã˜ãªã®ã§ï¼Œæ™®é€šã«ã€Œï¼‰\nobreakã€ã€ã¨å…¥åŠ›ã—ãŸæ™‚ã¨åŒã˜ã‚ˆã†ã«çµ„ã¾ã‚Œã‚‹ï¼Œã¤ã¾ã‚Šä¸¡æ–‡å­—ã®é–“ã¯åŠè§’ç©ºãã¨ãªã‚‹ï¼Ž

ã—ã‹ã—ï¼ŒJFMã¨ã‚µã‚¤ã‚ºãŒåŒã˜ã§ã‚ã£ã¦ã‚‚ï¼Œ\texttt{jfmvar}ã‚­ãƒ¼ã®å€¤\meta{identifier}ã®ç•°ãªã‚‹
2ã¤ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆï¼Œä¾‹ãˆã°\autoref{fig:jfmvar}ã§è¨€ã†\cs{F}ã¨\cs{H}ï¼Œ
ã¯ã€ŒåŒºåˆ¥ã•ã‚Œã‚‹ã€ï¼Žç•°ãªã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«ç•°ãªã‚‹ \texttt{jfmvar}ã‚­ãƒ¼ã‚’å‰²ã‚Šå½“ã¦ï¼Œ
ã‹ã¤\Param{differentjfm}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’\texttt{both}ã«è¨­å®šã™ã‚Œã°ï¼Œ
\pTeX ã¨ä¼¼ãŸçŠ¶æ³ã§çµ„ç‰ˆã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;

\def\T#1{\texttt{#1}}
\def\printjfmfeat#1{%
  \relax\texttt{\string#1}: 
  \directlua{%
    if myjfm then
    for i,v in pairs(myjfm) do
      tex.sprint('[\string\\T{' .. i .. '}]${}={}$')
      if type(v)=='string' then
        tex.sprint('``\string\\T{' .. tostring(v) .. "}'', ")
      else
        tex.sprint(tostring(v) ..', ')
      end
    end
    else tex.sprint('(nil)')
    end
  }\par
}
\begin{figure}
\begin{LTXexample}[pos=t]
\small\ltjsetparameter{differentjfm=both}\tabcolsep=.5\zw
  % \printjfmfeat is defined in the source of this document
\jfont\A=HaranoAjiMincho-Regular:jfm=testf                   at 9pt \printjfmfeat\A
\jfont\B=HaranoAjiMincho-Bold:jfm=testf/kern=0.5,-ps,+kana   at 9pt \printjfmfeat\B
\jfont\C=HaranoAjiGothic-Regular:jfm=testf/kern=0.5,down=0.2 at 9pt \printjfmfeat\C
\jfont\D=HaranoAjiGothic-Bold:jfm=testf/down=0.2,kern=0.5    at 9pt \printjfmfeat\D
\def\TEST#1{\string#1&amp;{#1ã‚æ¼¢}{\A ã‚¤å­—}&amp;{#1ã‚æ¼¢}{\B ã‚¤å­—}&amp;{#1ã‚æ¼¢}{\C ã‚¤å­—}&amp;{#1ã‚æ¼¢}{\D ã‚¤å­—}}
\vspace{-4\baselineskip}\hfill\ttfamily
\begin{tabular}{lllll}
  &amp;\string\A&amp;\string\B&amp;\string\C&amp;\string\D\\\TEST\A\\\TEST\B\\\TEST\C\\\TEST\D\\
\end{tabular}
  % No space between ``æ¼¢'' and ``ã‚¤'' iff two Japanese fonts uses same JFM
\ltjsetparameter{differentjfm=paverage}
\end{LTXexample}

\caption{Example of JFM features}
\label{fig:jfmfeat}
\end{figure}

%&lt;en&gt;\paragraph{Horizontal JFMs}
%&lt;ja&gt;\paragraph{æ¨ªçµ„ç”¨JFM}
\begin{table}[t]
%&lt;en&gt;\caption{Differences between horizontal JFMs shipped with \LuaTeX-ja}
%&lt;ja&gt;\caption{\LuaTeX-ja ã«åŒæ¢±ã•ã‚Œã¦ã„ã‚‹æ¨ªçµ„ç”¨JFMã®é•ã„}
%&lt;en&gt;\medskip
\label{tab-difjfm}
\ltjsetparameter{jacharrange={+3}}
\centering\small
\def\r#1#2{%
  \hbox{\Large\vrule
  \parbox[b]{7\zw}{%
    \addjfontfeatures{YokoFeatures={JFM=#1}}\noindent
	\color{#2}\transparent{0.5}%
    â—†â—†â—†â—†â—†â—†â—†
    ã‚ã‚‹æ—¥ãƒ¢ãƒ¢ã¡ã‚ƒã‚“ãŒãŠä½¿ã„ã§è¿·å­ã«ãªã£ã¦æ³£ãã¾ã—ãŸï¼Ž
  }\vrule}}
\def\s#1#2{%
  \Large
  \parbox[b]{7\zw}{%
    \addjfontfeatures{YokoFeatures={JFM=#1}}\noindent
	\color{#2}\transparent{0.5}
    ã¡ã‚‡ã£ã¨ï¼ä½•
  }}
\def\t#1#2#3{\hbox to 0pt{\hss%
  \setbox0=\hbox{\addjfontfeatures{YokoFeatures={JFM=#1}}\huge #3}%
  \textcolor{#2}{\transparent{0.5}\vrule width 0.4pt height\ht0 depth\dp0}\kern-.2pt\copy0
  \textcolor{#2}{\transparent{0.5}\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}\hss}}
{\Large\tabcolsep0pt
\begin{tabular}{m{8\zw}m{8\zw}m{8\zw}}
\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{jis}{black}&amp;
\leavevmode\hbox to 0pt{\r{jis}{black}\hss}\r{min}{red}&amp;
\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{min}{red}\\
\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{jis}{black}&amp;
\leavevmode\hbox to 0pt{\s{jis}{black}\hss}\s{min}{red}&amp;
\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{min}{red}\\
\leavevmode\qquad\t{ujis}{blue}{æ¼¢}\t{jis}{black}{æ¼¢}\qquad
           \t{ujis}{blue}{ã£}\t{jis}{black}{ã£}&amp;
\leavevmode\qquad\t{jis}{black}{æ¼¢}\t{min}{red}{æ¼¢}\qquad
           \t{jis}{black}{ã£}\t{min}{red}{ã£}&amp;
\leavevmode\qquad\t{ujis}{blue}{æ¼¢}\t{min}{red}{æ¼¢}\qquad
           \t{ujis}{blue}{ã£}\t{min}{red}{ã£}\\
\end{tabular}\par}

(\textcolor{blue}{Blue: \texttt{jfm-ujis.lua}},
\textcolor{black}{Black: \texttt{jfm-jis.lua}},
\textcolor{red}{Red: \texttt{jfm-min.lua}})
\ltjsetparameter{jacharrange={-3}}
\end{table}

%&lt;en&gt; The following horizontal JFMs are shipped with \LuaTeX-ja.
%&lt;ja&gt; ä»¥ä¸‹ã®æ¨ªçµ„ç”¨JFMãŒ\LuaTeX-jaã«ã¯åŒæ¢±ã•ã‚Œã¦ã„ã‚‹ï¼š
\begin{description}
%&lt;*en&gt;
\item[\texttt{jfm-ujis.lua}] A standard horizontal JFM of \LuaTeX-ja. This file is
  based on \verb+upnmlminr-h.tfm+, a metric for UTF/OTF package that
  is used in \upTeX. When you are going to use the \Pkg{luatexja-otf} package, you should use this JFM.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{jfm-ujis.lua}] \LuaTeX-jaã®æ¨™æº–JFMãƒ•ã‚¡ã‚¤ãƒ«ã§ã‚ã‚Šï¼Œã“ã®JFMã¯\upTeX ã§
  ç”¨ã„ã‚‰ã‚Œã‚‹UTF/OTFãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ç”¨ã®å’Œæ–‡ç”¨TFMã§ã‚ã‚‹ \verb+upnmlminr-h.tfm+ ã‚’
  å…ƒã«ã—ã¦ã„ã‚‹ï¼Ž\Pkg{luatexja-otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’ä½¿ã†ã¨ãã¯ã“ã®JFMã‚’æŒ‡å®šã™ã‚‹ã¹ãã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item[\texttt{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
  rectangles.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{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} ã§ã¯æ¨ªé•·ã®é•·æ–¹å½¢çŠ¶ã§ã‚ã‚‹ã“ã¨ã¨ï¼Œ
  \texttt{jfm-ujis.lua} ã§ã¯ã€Œï¼Ÿã€ã€Œï¼ã€ã®ç›´å¾Œã«åŠè§’ç©ºç™½ãŒæŒ¿å…¥ã•ã‚Œã‚‹ã“ã¨ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item[\texttt{jfm-min.lua}] A counterpart for \verb+min10.tfm+, which is one
  of the default Japanese font metric shipped with \pTeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{jfm-min.lua}] \pTeX ã«åŒæ¢±ã•ã‚Œã¦ã„ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å’Œæ–‡ç”¨TFM
(\verb+min10.tfm+)ã«ç›¸å½“ã—ï¼Œè¡Œæœ«ã§æ–‡å­—ãŒæƒã†ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã€Œã£ã€ãªã©ä¸€éƒ¨ã®æ–‡å­—å¹…ãŒå¤‰ã‚ã£
	   ã¦ã„ã‚‹ï¼Ž\verb+min10.tfm+ ã«ã¤ã„ã¦ã¯\cite{min10}ãŒè©³ã—ã„ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item[\texttt{jfm-prop.lua}] A JFM for proportional typesetting.
  This JFM doesn't have any information of character dimension (width, height, depth), nor glues/kerns information.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{jfm-prop.lua}] ãƒ—ãƒ­ãƒãƒ¼ã‚·ãƒ§ãƒŠãƒ«çµ„ç”¨ã®JFMï¼Ž
  æ–‡å­—å¹…ãƒ»é«˜ã•ãƒ»æ·±ã•ã®æƒ…å&nbsp;±ã‚‚è‡ªå‹•æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ãƒ»ã‚«ãƒ¼ãƒ³ã®æƒ…å&nbsp;±ã¯æŒãŸãªã„ï¼ˆã¤ã¾ã‚Šã‚°ãƒªãƒ•ã®æ–‡å­—å¹…ã‚’ãã®ã¾ã¾æŽ¡ç”¨ã™ã‚‹ï¼‰ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item[\texttt{jfm-propw.lua}] Another JFM for proportional typesetting.
  In contrast to \texttt{jfm-prop.lua}, this JFM has informations of character height and depth.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{jfm-propw.lua}] ãƒ—ãƒ­ãƒãƒ¼ã‚·ãƒ§ãƒŠãƒ«çµ„ç”¨ã®ã•ã‚‰ãªã‚‹JFMï¼Ž
  \texttt{jfm-prop.lua}ã¨ç•°ãªã‚Šï¼Œé«˜ã•ãƒ»æ·±ã•ã®æƒ…å&nbsp;±ã¯æŒã£ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{description}
%&lt;*en&gt;
See \autoref{tab-difjfm} for the difference among \texttt{jfm-ujis.lua}, \texttt{jfm-jis.lua},
\texttt{jfm-min.lua}.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{jfm-ujis.lua}, \texttt{jfm-jis.lua},
\texttt{jfm-min.lua}ã®é•ã„ã¯\autoref{tab-difjfm}ã«ç¤ºã—ãŸï¼Žè¡¨ä¸­ã®æ–‡ä¾‹ã®ä¸€éƒ¨ã«ã¯ï¼Œ
\cite{min10}ã®å›³3,~4ã®ã‚‚ã®ã‚’ç”¨ã„ãŸï¼Ž
%&lt;/ja&gt;

\begin{figure}
\begin{LTXexample}[pos=t]
\newcommand\test{\vrule ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãƒ€ã‚¤ã‚¯ãƒž\vrule\\}
\jfont\KMFW = HaranoAjiMincho-Regular:jfm=prop;-kern at 17.28pt
\jfont\KMFK = HaranoAjiMincho-Regular:jfm=prop at 17.28pt % kern is activated
\jfont\KMPW = HaranoAjiMincho-Regular:jfm=prop;script=dflt;+palt;-kern at 17.28pt
\jfont\KMPK = HaranoAjiMincho-Regular:jfm=prop;script=dflt;+palt;+kern at 17.28pt
\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}

%&lt;en&gt;\paragraph{Using kerning information in a font}
%&lt;ja&gt;\paragraph{ãƒšã‚¢ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°æƒ…å&nbsp;±ã®ä½¿ç”¨}
\label{para-kern}
%&lt;*en&gt;
Some fonts have information for inter-glyph spacing.
\LuaTeX-ja 20140324.0 or later treats kerning spaces like an italic correction;
any glue and/or kern from the JFM and a kerning space from the font can coexist.
See \autoref{fig:kern-jfm} for detail.

At version~20220411.0, defaults Japanese fonts which are defined
at the loading of \LuaTeX-ja, \Pkg{ltjclasses},~and~\Pkg{ltjsclasses}
do not insert font-derived kerning spaces by default.
This is because standard JFMs do not expect font-derived kerning spaces
between Japanese characters.

Also note that in \cs{setmainjfont} etc.\ which are provided by \Pkg{luatexja-fontspec}
package, kerning option is set \emph{off} (\texttt{Kerning=Off}) by default.
This means the following two lines have the same meaning:
\begin{lstlisting}
\setmainjfont{HaranoAjiMincho-Regular}
\setmainjfont[Kerning=Off]{HaranoAjiMincho-Regular}
\end{lstlisting}

%&lt;/en&gt;
%&lt;*ja&gt;
ã„ãã¤ã‹ã®ãƒ•ã‚©ãƒ³ãƒˆã¯ã‚°ãƒªãƒ•é–“ã®ã‚¹ãƒšãƒ¼ã‚¹ã«ã¤ã„ã¦ã®æƒ…å&nbsp;±ã‚’æŒã£ã¦ã„ã‚‹ï¼Ž
ã“ã®ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°æƒ…å&nbsp;±ã¯ä»¥å‰ã®\LuaTeX-ja ã¨ã¯ã‚ã¾ã‚Šç›¸æ€§ãŒè‰¯ããªã‹ã£ãŸãŒï¼Œ
ãƒãƒ¼ã‚¸ãƒ§ãƒ³20140324.0ä»¥é™ã§ã¯ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°ã«ã‚ˆã‚‹ç©ºç™½ã¯ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ã¨åŒæ§˜ã«æ‰±ã†ã“ã¨ã«ãªã£ã¦ã„ã‚‹ï¼Ž
ã¤ã¾ã‚Šï¼Œã‚«ãƒ¼ãƒ‹ãƒ³ã‚°ç”±æ¥ã®ç©ºç™½ã¨JFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ãƒ»ã‚«ãƒ¼ãƒ³ã¯åŒæ™‚ã«å…¥ã‚‹ã“ã¨ãŒã‚ã‚‹ï¼Ž
\autoref{fig:kern-jfm}ã‚’å‚ç…§ï¼Ž
\begin{itemize}
 \item \emph{\cs{jfont} ã‚„ï¼ŒNFSS2ç”¨ã®å‘½ä»¤ï¼ˆ\ref{ssec:chgfnt}ç¯€ï¼Œ\ref{ssec:nfsspat}ç¯€ï¼‰ã§ã¯ï¼Œ
ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°æƒ…å&nbsp;±ã‚’ä½¿ç”¨ã™ã‚‹è¨­å®šï¼ˆOpenTypeæ©Ÿèƒ½\texttt{kern}ï¼‰ã¯ã¨ãã«æŒ‡å®šã—ãªãã¦ã‚‚æœ‰åŠ¹ã«ãªã‚‹}ï¼Ž
ã™ãªã‚ã¡ï¼Œä»¥ä¸‹ã®2è¡Œç›®ã¨3è¡Œç›®ï¼Œ5è¡Œç›®ã¨6è¡Œç›®ã¯ãã‚Œãžã‚Œç­‰ä¾¡ã§ã‚ã‚‹ï¼š
\begin{lstlisting}[numbers=left]
\jfont\hoge=hogem:jfm=ujis;-kern at 3.5mm % ==&gt; kern ç„¡åŠ¹ï¼ˆæ˜Žç¤ºï¼‰
\jfont\hoge=hogem:jfm=ujis at 3.5mm       % ==&gt; kern æœ‰åŠ¹ï¼ˆæš—é»™ï¼‰
\jfont\hoge=hogem:jfm=ujis;+kern at 3.5mm % ==&gt; kern æœ‰åŠ¹ï¼ˆæ˜Žç¤ºï¼‰
\DeclareFontShape{JY3}{fuga}{m}{n}{&lt;-&gt; s*hogem:jfm=ujis;-kern}{} % ==&gt; kern ç„¡åŠ¹ï¼ˆæ˜Žç¤ºï¼‰
\DeclareFontShape{JY3}{fuga}{m}{n}{&lt;-&gt; s*hogem:jfm=ujis}{}       % ==&gt; kern æœ‰åŠ¹ï¼ˆæš—é»™ï¼‰
\DeclareFontShape{JY3}{fuga}{m}{n}{&lt;-&gt; s*hogem:jfm=ujis;+kern}{} % ==&gt; kern æœ‰åŠ¹ï¼ˆæ˜Žç¤ºï¼‰
\end{lstlisting}

\item ãƒãƒ¼ã‚¸ãƒ§ãƒ³20220411.0ä»¥é™ã§ã¯ï¼Œ\LuaTeX-jaèª­ã¿è¾¼ã¿æ™‚ã‚„ï¼Œ\Pkg{ltjclasses}, \Pkg{ltjsclasses}ã«ãŠã„ã¦
  å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’
\begin{lstlisting}
\jfont\tenmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 9.62216pt
\DeclareFontShape{JY3}{mc}{m}{n}{&lt;-&gt; s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi]
  \ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm}{}
\end{lstlisting}
  ã¨OpenTypeæ©Ÿèƒ½\texttt{kern}ã‚’æ˜Žç¤ºçš„ã«ç„¡åŠ¹åŒ–ã—ãŸçŠ¶æ…‹ã§å®šç¾©ã™ã‚‹ï¼Ž
  ã“ã‚Œã¯æ¨™æº–JFM\ (\texttt{jfm-ujis.lua}, \texttt{jfm-ujisv.lua})ãŒ
  ãƒ•ã‚©ãƒ³ãƒˆç”±æ¥ã®ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°ãŒå…¥ã‚‹ã“ã¨ã‚’æœŸå¾…ã—ã¦ã„ãªã„ãŸã‚ã§ã‚ã‚‹ï¼Ž

 \item
ä¸€æ–¹ï¼Œ\emph{\Pkg{luatexja-fontspec} ã®æä¾›ã™ã‚‹ \cs{setmainjfont}\
ãªã©ã®å‘½ä»¤ã®æ¨™æº–è¨­å®šã§ã¯ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°æƒ…å&nbsp;±ã¯ä½¿ç”¨ã—ãªã„}(\texttt{Kerning=Off})ï¼Ž
ã™ãªã‚ã¡ï¼Œæ¬¡ã®2è¡Œã¯ç­‰ä¾¡ã§ã‚ã‚‹ï¼š
\begin{lstlisting}
\setmainjfont{HaranoAjiMincho-Regular}
\setmainjfont[Kerning=Off]{HaranoAjiMincho-Regular}
\end{lstlisting}
ã“ã‚Œã¯å‰é&nbsp;…ç›®ã®ç†ç”±ã®ä»–ã«ï¼Œä»¥å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®\LuaTeX-jaã¨ã®äº’æ›æ€§ã®ãŸã‚ã‚‚ã‚ã‚‹ï¼Ž
\end{itemize}
%&lt;/ja&gt;

%&lt;*ja&gt;
\paragraph{\texttt{extend}ã¨\texttt{slant}}
OpenTypeæ©Ÿèƒ½ã¨è¦‹ã‹ã‘ä¸ŠåŒã˜ã‚ˆã†ãªå½¢å¼ã§æŒ‡å®šã§ãã‚‹ã‚‚ã®ã«ï¼Œ
\begin{description}
\item[\texttt{extend=}\meta{extend}] æ¨ªæ–¹å‘ã«\meta{extend}å€æ‹¡å¤§ã™ã‚‹ï¼Ž
\item[\texttt{slant=}\meta{slant}] \meta{slant}ã«æŒ‡å®šã•ã‚ŒãŸå‰²åˆã&nbsp;ã‘å‚¾ã‘ã‚‹ï¼Ž
\end{description}
ã®2ã¤ãŒã‚ã‚‹ï¼Ž
\texttt{extend}ã‚„\texttt{slant}ã‚’æŒ‡å®šã—ãŸå&nbsp;´åˆã¯ï¼Œãã‚Œã«å¿œã˜ãŸJFMã‚’æŒ‡å®šã™ã¹ãã§ã‚ã‚‹%
\footnote{\LuaTeX-jaã§ã¯ï¼Œã“ã‚Œã‚‰ã«å¯¾ã™ã‚‹JFMã‚’ç‰¹ã«æä¾›ã™ã‚‹ã“ã¨ã¯ã—ãªã„äºˆå®šã§ã‚ã‚‹ï¼Ž}ï¼Ž
ä¾‹ãˆã°ï¼Œæ¬¡ã®ä¾‹ã§ã¯ç„¡ç†ã‚„ã‚Šé€šå¸¸ã®JFMã‚’ä½¿ã£ã¦ã„ã‚‹ãŸã‚ã«ï¼Œæ–‡å­—é–“éš”ã‚„ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£é‡ãŒ
æ­£ã—ããªã„ï¼š
%&lt;/ja&gt;
%&lt;*en&gt;
\paragraph{\texttt{extend} and \texttt{slant}}
The following setting can be specified as OpenType font features:
\begin{cslist}[style=standard]
\item[\texttt{extend=}\meta{extend}] expand the font horizontally by \meta{extend}.
\item[\texttt{slant=}\meta{slant}] slant the font.
\end{cslist}
Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
settings; one have to write new JFMs on purpose.
For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence
the letterspacing and the width of italic corrections are not correct:
%&lt;/en&gt;
\begin{LTXexample}[width=0.3\textwidth]
\jfont\E=HaranoAjiMincho-Regular:extend=1.5;jfm=ujis;-kern
\jfont\S=HaranoAjiMincho-Regular:slant=1;jfm=ujis;-kern
\E ã‚ã„ã†ãˆãŠ \S ã‚ã„ã†\/ABC
\end{LTXexample}

%&lt;*ja&gt;
\paragraph{\texttt{ltjksp}ã€Œæ©Ÿèƒ½ã€}
\label{pg:ltjksp}
\LuaTeX-jaæ¨™æº–ã§ã¯ï¼Œ
JFMä¸­ã«ãŠã‘ã‚‹\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\texttt{kanjiskip\_shrink}ã‚­ãƒ¼ï¼ˆ\pageref{pg:ksp_nat}ãƒšãƒ¼ã‚¸ï¼‰ã®ä½¿ç”¨ã«ã‚ˆã£ã¦ï¼Œ
ã€ŒJFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ã®ä»–ã«ï¼Œ\Param{kanjiskip}ã®è‡ªç„¶é•·/ä¼¸ã³é‡/ç¸®ã¿é‡ã®ä¸€éƒ¨ãŒ
åŒã˜å&nbsp;´æ‰€ã«æŒ¿å…¥ã•ã‚Œã‚‹ã€ã¨ã„ã†çŠ¶æ³ãŒèµ·ã“ã‚Šã†ã‚‹ï¼Ž
ã“ã®æ©Ÿèƒ½ã‚’ç„¡åŠ¹åŒ–ã—ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³20150922.0ä»¥å‰ã¨åŒã˜ã‚ˆã†ãªçµ„ç‰ˆã‚’å¾—ã‚‹ãŸã‚ã«ã¯ï¼Œ
ä»–ã®OpenTypeæ©Ÿèƒ½ã¨åŒã˜ã‚ˆã†ã«\&gt;\mbox{\texttt{-ltjksp}}\&gt;æŒ‡å®šã‚’è¡Œãˆã°è‰¯ã„ï¼ˆ\autoref{fig:ltjksp}å‚ç…§ï¼‰ï¼Ž
ãªãŠï¼Œ
\begin{lstlisting}
 \jfont\G=HaranoAjiMincho-Regular:jfm=ujis;-ltjksp;+ltjksp at \zw
\end{lstlisting}
ã®ã‚ˆã†ã«\texttt{+ltjksp}æŒ‡å®šã‚’è¡Œã£ãŸå&nbsp;´åˆã¯ï¼Œ\texttt{kanjiskip\_natural}ãªã©
3ã‚­ãƒ¼ã¯å†ã³æœ‰åŠ¹åŒ–ã•ã‚Œã‚‹ï¼Ž\texttt{-ltjksp}, \texttt{+ltjksp}ã‚’è¤‡æ•°å›žæŒ‡å®šã—ãŸå&nbsp;´åˆã¯ï¼Œ
æœ€å¾Œã«æŒ‡å®šã—ãŸã‚‚ã®ãŒæœ‰åŠ¹ã¨ãªã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\paragraph{\texttt{ltjksp} ``feature''}
\label{pg:ltjksp}
\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\texttt{kanjiskip\_shrink} keys (Page~\pageref{pg:ksp_nat}) makes tha
\LuaTeX-ja inserts not only a glue which is specified by a JFM, and also
the natural width/stretch part/shrink part of \Param{kanjiskip}.
This functionality is disabled by \mbox{\texttt{-ltjksp}} specification,
as shown in~\autoref{fig:ltjksp}.
%&lt;/en&gt;
\begin{figure}
\begin{LTXexample}[width=16\zw]
\leavevmode
\ltjsetparameter{kanjiskip=0pt plus 3\zw}
\vrule\hbox to 15\zw{ã‚ã€Œã„ã€ã†ï¼ŒãˆãŠ}\vrule\\
\jfont\G=HaranoAjiMincho-Regular%
  :jfm=ujis;-ltjksp at \zw
\G\leavevmode%
\vrule\hbox to 15\zw{ã‚ã€Œã„ã€ã†ï¼ŒãˆãŠ}\vrule
\end{LTXexample}
\caption{\texttt{ltjksp} ``feature''}
\label{fig:ltjksp}
\end{figure}

%&lt;*ja&gt;
\paragraph{\texttt{ltjpci}ã€Œæ©Ÿèƒ½ã€}
\label{pg:ltjpci}
\Pkg{luaotfload}~v3.19ä»¥é™ã§ã¯ï¼Œæ¨™æº–ã§Unicodeï¼ˆæ–‡å­—ã‹ã‚‰ä½œã‚‰ã‚Œã‚‹ãƒŽãƒ¼ãƒ‰ãŸã¡ï¼‰ãŒNFCã«æ­£è¦åŒ–ã•ã‚Œã‚‹
ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Žã“ã‚Œã«ã‚ˆã‚Šï¼Œã‚½ãƒ¼ã‚¹ä¸­ã§ãŸã¨ãˆã°ã€Œã‹ã€ã¨åˆæˆç”¨æ¿ç‚¹(\texttt{U+3099})ã‚’ç¶šã‘ã¦å…¥åŠ›ã—ãŸå&nbsp;´åˆï¼Œ
ä¸¡è€…ãã‚Œãžã‚Œã‹ã‚‰ãƒŽãƒ¼ãƒ‰ãŒç”Ÿæˆã•ã‚Œã‚‹ãŒï¼Œçµæžœçš„ã«ã¯ã€ŒãŒã€ã‚’è¡¨ã™1ãƒŽãƒ¼ãƒ‰ã«ãªã‚‹ã‚ã‘ã§ã‚ã‚‹ï¼Ž

ã—ã‹ã—ï¼ŒNFCã«æ­£è¦åŒ–ã™ã‚‹ã“ã¨ã§ï¼Œ
ãŸã¨ãˆã°ã€Œ\UTF{FA19}ã€(\texttt{U+FA19})ãŒã€Œç¥žã€(\texttt{U+795E})ã«ã¨ã„ã†ãµã†ã«ï¼Œ
CJKäº’æ›æ¼¢å­—ãŒCJKçµ±åˆæ¼¢å­—ã«å¤‰æ›ã•ã‚Œã¦ã—ã¾ã†ã¨ã„ã†å•é¡ŒãŒã‚ã‚‹ï¼Ž
ç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ã‚’ç”¨ã„ã‚Œã°ã“ã®ã‚ˆã†ãªã“ã¨ã¯èµ·ããªã„ãŒï¼Œå¤ãã‹ã‚‰ã‚ã‚‹ãƒ•ã‚©ãƒ³ãƒˆã§ã¯ç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ã‚’ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ï¼Ž

ä»¥ä¸Šã®äº‹æƒ…ã«å¯¾å¿œã™ã‚‹ãŸã‚ï¼Œ\LuaTeX-jaã§ã¯ï¼Œæ¨™æº–ã§
\emph{CJKäº’æ›æ¼¢å­—ãƒ»CJKäº’æ›æ¼¢å­—è£œåŠ©ã®æ–‡å­—ã«ã¯\Pkg{luaotfload}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«ã‚ˆã‚‹å‡¦ç†ã¯åƒã‹ãªã„}ã‚ˆã†ã«ã—ã¦ã„ã‚‹ï¼Ž
ã“ã®æ©Ÿèƒ½ã‚’ç„¡åŠ¹åŒ–ã™ã‚‹ã«ã¯ï¼Œä»–ã®OpenTypeæ©Ÿèƒ½ã¨åŒã˜ã‚ˆã†ã«\texttt{-ltjpci}æŒ‡å®šã‚’è¡Œãˆã°è‰¯ã„ï¼ˆ\autoref{fig:ltjpci}å‚ç…§ï¼‰ï¼Ž
\texttt{ltjksp}ã¨åŒæ§˜ã«ï¼Œ\texttt{-ltjpci}, \texttt{+ltjpci}ã‚’è¤‡æ•°å›žæŒ‡å®šã—ãŸå&nbsp;´åˆã¯ï¼Œ
æœ€å¾Œã«æŒ‡å®šã—ãŸã‚‚ã®ãŒæœ‰åŠ¹ã¨ãªã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\paragraph{\texttt{ltjpci} ``feature''}
\label{pg:ltjpci}
By default, The \Pkg{luaotfload} package (since v3.19) normalizes Unicode sequences to NFC.
However, this normalization converts CJK compatibility ideographs to their canonical equivalents,
such as ``\UTF{FA19}''~(\texttt{U+FA19}) to ``ç¥ž''. One can use variation selectors,
but old fonts does not support them.

So, \emph{\LuaTeX-ja now protects CJK compatibility ideographs from processing
 by the \Pkg{luaotfload} package by defualt}.
This functionality is disabled by \mbox{\texttt{-ltjpci}} specification,
as shown in~\autoref{fig:ltjpci}.
%&lt;/en&gt;
\begin{figure}
\begin{LTXexample}[width=12\zw]
\def\TEST{\leavevmode\char"FA10\char"FA12\char"FA15
  \char"FA19.ã‹\char"3099.ã¯\char"309A.\par}
\jfont\A=HaranoAjiMincho-Regular:jfm=ujis; at 15pt
\A\TEST % default
\jfont\G=HaranoAjiMincho-Regular:jfm=ujis;-ltjpci at 15pt
\G\TEST % ltjpci off
\jfont\H=HaranoAjiMincho-Regular:jfm=ujis;-normalize at 15pt
\H\TEST % normalization off
\end{LTXexample}
\caption{\texttt{ltjpci} ``feature''}
\label{fig:ltjpci}
\end{figure}

%&lt;en&gt;\subsection{\cs{tfont}}
%&lt;ja&gt;\subsection{\cs{tfont} å‘½ä»¤}
\label{ssec:tfont}

\begin{comment}
\begin{table}[t]
%&lt;en&gt;\caption{Differences between vertical JFMs shipped with \LuaTeX-ja}
%&lt;ja&gt;\caption{\LuaTeX-ja ã«åŒæ¢±ã•ã‚Œã¦ã„ã‚‹ç¸¦çµ„ç”¨ JFM ã®é•ã„}
%&lt;en&gt;\medskip
\label{tab-difjfm-tate}
\ltjsetparameter{jacharrange={+3}}
\small
\def\r#1#2{%
  \hbox{\tate\Large\vrule
  \parbox{7\zw}{%
    \addjfontfeatures{TateFeatures={JFM=#1}}\noindent
	\color{#2}\transparent{0.5}
    â—†â—†â—†â—†â—†â—†â—†
    ã‚ã‚‹æ—¥ãƒ¢ãƒ¢ã¡ã‚ƒã‚“ãŒã€ŒãŠä½¿ã„ã€ã§è¿·å­ã«ãªã£ã¦æ³£ãã¾ã—ãŸã€‚
  }\vrule}}
\def\s#1#2{%
  \hbox{\tate\Large
  \parbox{7\zw}{%
    \addjfontfeatures{TateFeatures={JFM=#1}}\noindent
	\color{#2}\transparent{0.5}
    ã¡ã‚‡ã£ã¨ï¼ä½•
  }}}
\def\t#1#2#3{\hbox to 0pt{\hss%
  \setbox0=\hbox{\addjfontfeatures{TateFeatures={JFM=#1}}\huge #3}%
  \textcolor{#2}{\transparent{0.5}\vrule width 0.4pt height\ht0 depth\dp0}\kern-.2pt\copy0
  \textcolor{#2}{\transparent{0.5}\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}\hss}}

\begin{minipage}{.7\textwidth}
\centering
\leavevmode\hbox to 0pt{\r{ujisv}{blue}\hss}\r{tmin}{red}\quad
\leavevmode\hbox to 0pt{\s{ujisv}{blue}\hss}\s{tmin}{red}\quad
\raise4\zw\hbox{\tate\Large\t{ujisv}{black}{æ¼¢}\t{tmin}{red}{æ¼¢}\qquad
           \t{ujisv}{black}{ã£}\t{tmin}{red}{ã£}}
\end{minipage}%
\begin{minipage}{.3\textwidth}
\textcolor{blue}{Blue: \texttt{jfm-ujisv.lua}}\\
\textcolor{red}{Red: \texttt{jfm-tmin.lua}}
\end{minipage}
\ltjsetparameter{jacharrange={-3}}
\end{table}
\end{comment}

%&lt;*en&gt;
\cs{tfont} loads a font as a Japanese font for vertical direction.
This command admits the same syntax as in \cs{font}~and~\cs{jfont}.
A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont}:
\begin{itemize}
 \item OpenType Feature~\texttt{vrt2}%
  \footnote{If the font does not define the \texttt{vrt2} feature,
	\texttt{vert} is used instead.} is automatically activated,
  unless \texttt{vert}~and//or~\texttt{vrt2} features are explicitly activated
  or deactivated (as the second line in the example below).
\begin{lstlisting}
\tfont\S=HaranoAjiMincho-Regular:jfm=ujisv % vrt2 is automatically activated
\tfont\T=HaranoAjiMincho-Regular:jfm=ujisv;-vert % vert and vrt2 are not activated
\tfont\U=file:ipaexm.ttf:jfm=ujisv
    % vert is automatically activated, since this font does not have vrt2
\end{lstlisting}
 \item Sometimes \texttt{vert} and/or \texttt{vrt2} are not activated
 while one specified activation of these feature.
 This is because the font does not define these features in current combination of
 script~tag and language~system~identifier.

 In this situation, \LuaTeX-ja performs all replacements which is defined in~\texttt{vert}
 feature for \emph{some} scripts for \emph{some} languages.
 \item \cs{tfont} uses a vertical JFM instead of a horizontal JFM.
\LuaTeX-ja ships following vertical JFMs:
\begin{description}
\item[\texttt{jfm-ujisv.lua}] A standard vertical JFM in \LuaTeX-ja. This JFM is
  based on \verb+upnmlminr-v.tfm+, a metric for UTF/OTF package that
  is used in \upTeX.
\item[\texttt{jfm-tmin.lua}] A counterpart for \verb+tmin10.tfm+, which is one
  of the default Japanese font metric shipped with \pTeX.
\end{description}
\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
\jfont\X=[HaranoAjiMincho-Regular.otf]:jfm=ujis
\tfont\U=[HaranoAjiMincho-Regular.otf]:jfm=ujisv
\tfont\V=[HaranoAjiMincho-Regular.otf]:jfm=ujisv;jpotf
\def\TEST#1#2{\leavevmode\hbox{#1#2\string#2 â€œå¼•ç”¨ï¼Œã¨å¥èª­ç‚¹ï¼Žâ€}}
\ttfamily\centering\TEST\yoko\X \quad \TEST\tate\U \quad \TEST\tate\V
\end{LTXexample}
\caption{\texttt{jpotf} ``feature''}
\label{fig:jpotf}
\end{figure}
  
 \item If \texttt{vert}~and/or~\texttt{vrt2} features are activated,
  one can specify \texttt{jpotf} to additional substitutions.
  By default, it substitutes ideographic comma/period for fullwidth comma/period,
  and double prime quotation marks for double quotation marks
  (See~\autoref{fig:jpotf}).
  One can customize substitutions by lua~function \verb+luatexja.jfont.register_vert_replace+\ %
  (see Japanese version of this manual).
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{tfont} ã¯ãƒ•ã‚©ãƒ³ãƒˆã‚’ç¸¦çµ„ç”¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¨ã—ã¦èª­ã¿è¾¼ã‚€å‘½ä»¤ã§ã‚ã‚Šï¼Œ
\cs{tfont}ã®æ§‹æ–‡ã¯\cs{jfont}ã¨åŒæ§˜ã§ã‚ã‚‹ï¼Ž
\cs{tfont}ã§å®šç¾©ã•ã‚ŒãŸç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯ï¼Œ
ä»¥ä¸‹ã®ç‚¹ãŒ\cs{jfont}ã«ã‚ˆã‚‹æ¨ªçµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¨ã¯ç•°ãªã‚‹ï¼š
\begin{itemize}
 \item æ˜Žç¤ºçš„ã«OpenTypeæ©Ÿèƒ½\texttt{vert}, \texttt{vrt2}ï¼ˆã®ã„ãšã‚Œã‹ï¼‰ã®
  æœ‰åŠ¹ãƒ»ç„¡åŠ¹ã‚’æŒ‡å®šã—ãŸå&nbsp;´åˆã‚’é™¤ãï¼Œè‡ªå‹•çš„ã«OpenTypeæ©Ÿèƒ½\texttt{vrt2}ã®æœ‰åŠ¹åŒ–ãŒ
  æŒ‡å®šã•ã‚ŒãŸã‚‚ã®ã¨ã¿ãªã•ã‚Œã‚‹
 \footnote{ã‚‚ã—ãƒ•ã‚©ãƒ³ãƒˆãŒ\texttt{vrt2}ã‚’å®šç¾©ã—ã¦ã„ãªã‹ã£ãŸå&nbsp;´åˆï¼Œä»£ã‚ã‚Šã«
 \texttt{vert}ã‚’ç”¨ã„ã‚‹ï¼Ž}ï¼Ž
\begin{lstlisting}
\tfont\S=HaranoAjiMincho-Regular:jfm=ujisv % vrt2 is automatically activated
\tfont\T=HaranoAjiMincho-Regular:jfm=ujisv;-vert % vert and vrt2 are not activated
\tfont\U=file:ipaexm.ttf:jfm=ujisv
    % vert is automatically activated, since this font does not have vrt2
\end{lstlisting}
 \item \texttt{vert}, \texttt{vrt2}ã®å°‘ãªãã¨ã‚‚ä¸€ã¤ã®æœ‰åŠ¹ã‚’æŒ‡å®šã—ãŸå&nbsp;´åˆã«ã‚‚é–¢ã‚ã‚‰ãšï¼Œ
  script tagã¨language system identifierã®å€¤ã®çµ„ã¿åˆã‚ã›ã«ã‚ˆã£ã¦
  å®Ÿéš›ã«ã¯æœ‰åŠ¹ã«ãªã‚‰ãªã‹ã£ãŸå&nbsp;´åˆï¼Œ\LuaTeX-jaã¯
 \begin{quote}
   ã©ã‚Œã‹ã®script,~languageã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹\texttt{vert}ã«ã‚ˆã‚‹
   ï¼ˆå˜ä¸€ã‚°ãƒªãƒ•ã‹ã‚‰å˜ä¸€ã‚°ãƒªãƒ•ã¸ã®ï¼‰ç½®æ›ã‚’å…¨éƒ¨é©ç”¨ã™ã‚‹
 \end{quote}
  ã¨ã„ã†æŒ™å‹•ã‚’å–ã‚‹\footnote{%
  ä¾‹ãˆã°ï¼ŒWindows~7ã«ä»˜å±žã—ã¦ã„ã‚‹SimHeiã§ã¯ï¼Œ\texttt{vert}ã¯ScriptãŒ\texttt{hani}ï¼Œ
  LanguageãŒ\texttt{CHN}ã¨ã„ã†çŠ¶æ³ã§ã®ã¿å®šç¾©ã•ã‚Œã¦ã„ã‚‹ï¼Žã—ã‹ã—ï¼Œ\Pkg{luaotfload}ã§ã¯
  ã“ã®script,~languageã®çµ„ã¿åˆã‚ã›ã‚’æŒ‡å®šã™ã‚‹ã“ã¨ã¯ã§ããªã„ã®ã§ï¼Œ
  \Pkg{luaotfload}ãã®ã¾ã¾ã§ã¯\texttt{vert}ã‚’é©ç”¨ã•ã›ã‚‹ã“ã¨ã¯ã§ããªã„ï¼Ž
 }ï¼Ž
 \item ã•ã‚‰ã«ï¼Œç½®æ›å‰ã¨ç½®æ›å¾Œã®ã‚°ãƒªãƒ•ãŒã©ã¡ã‚‰ã‚‚ã€ŒUAX~\#50ã§``r''ã‚‚ã—ãã¯``Tr''ã¨æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã€ã‚‚ã®ã¯90åº¦è‡ªå‹•å›žè»¢ã•ã›ã‚‹ï¼Ž
 \item \ref{ssec:math}ç¯€ã§è¿°ã¹ã‚‹ï¼Œæ•°å¼ä¸­ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«ã¯ç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯æŒ‡å®šã§ããªã„ï¼Ž
 \item \meta{JFM name}ã«ã¯ç¸¦çµ„ç”¨JFMã‚’æŒ‡å®šã™ã‚‹ï¼Ž
ä»¥ä¸‹ã®ç¸¦çµ„ç”¨JFMãŒ\LuaTeX-jaã«ã¯åŒæ¢±ã•ã‚Œã¦ã„ã‚‹ï¼Ž%ãŠã‚Šï¼Œé•ã„ã‚’\autoref{tab-difjfm-tate}ã«ç¤ºã—ãŸï¼Ž
\begin{description}
\item[\texttt{jfm-ujisv.lua}] \LuaTeX-jaã®æ¨™æº–ç¸¦çµ„ç”¨JFMã§ã‚ã‚‹ï¼Žã“ã®JFMã¯\upTeX ã§
  ç”¨ã„ã‚‰ã‚Œã‚‹UTF/OTFãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ç”¨ã®å’Œæ–‡ç”¨TFMã§ã‚ã‚‹ \verb+upnmlminr-v.tfm+ ã‚’
  å…ƒã«ã—ã¦ã„ã‚‹ï¼Ž
\item[\texttt{jfm-tmin.lua}] \pTeX ã«åŒæ¢±ã•ã‚Œã¦ã„ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å’Œæ–‡ç”¨ç¸¦çµ„TFM
  ã§ã‚ã‚‹ \verb+tmin10.tfm+ ã«ç›¸å½“ã—ï¼Œ\texttt{min10.tfm} ã¨åŒæ§˜ã«
  ã€Œã£ã€ãªã©ä¸€éƒ¨ã®æ–‡å­—å¹…ãŒç‹­ã‚ã‚‰ã‚Œã¦ã„ã‚‹ï¼Ž
\end{description}

\begin{figure}[!tb]
\begin{LTXexample}[pos=r,width=.4\textwidth]
\jfont\X=[HaranoAjiMincho-Regular.otf]:jfm=ujis
\tfont\U=[HaranoAjiMincho-Regular.otf]:jfm=ujisv
\tfont\V=[HaranoAjiMincho-Regular.otf]:jfm=ujisv;jpotf
\def\TEST#1#2{\leavevmode
  \hbox{#1#2\string#2 â€œå¼•ç”¨ï¼Œã¨å¥èª­ç‚¹ï¼Žâ€}}
\ttfamily\centering
\TEST\yoko\X\quad \TEST\tate\U\quad
\TEST\tate\V
\end{LTXexample}
\caption{\texttt{jpotf} ``feature''}
\label{fig:jpotf}
\end{figure}
\begin{table}[t]
  \def\D#1#2#3#4{%
	{\fboxsep0pt\fcolorbox{b_cyan}{white}%
    {\large\lower-\cdp\hbox{\tate\ltjjachar"#1#2#3#4}}}\ (\texttt{U+#1#2#3#4})%"
  }
  \caption{\texttt{jpotf}ãŒæŒ‡å®šã•ã‚ŒãŸéš›ã«è¡Œã‚ã‚Œã‚‹è¿½åŠ&nbsp;ã®ç¸¦çµ„å½¢ã¸ã®ç½®æ›}
  \label{tab:vert_replace_jpotf}\small\centering
  \begin{tabular}{*{2}{l@{}&gt;{${}\longmapsto{}$}c@{}l}}
	\toprule
	\D FF0C&amp;&amp;\D 3001&amp;\D FF0E&amp;&amp;\D 3002\\
	\D 201C&amp;&amp;\D 301D&amp;\D 201D&amp;&amp;\D 301F\\
	\bottomrule
  \end{tabular}
\end{table}

 \item \texttt{vert}, \texttt{vrt2}ã®å°‘ãªãã¨ã‚‚ç‰‡æ–¹ãŒï¼ˆæ˜Žç¤ºçš„ãƒ»è‡ªå‹•çš„ã‚’å•ã‚ãšï¼‰
  æœ‰åŠ¹ã«ãªã£ã¦ã„ãŸå&nbsp;´åˆï¼Œã•ã‚‰ã«\texttt{jpotf}ã‚’æŒ‡å®šã™ã‚‹ã“ã¨ã§
  ã€Œé€šå¸¸ã§ã¯è¡Œã‚ãªã„ç¸¦çµ„ç”¨å­—å½¢ã¸ã®ç½®æ›ã€ã‚’è¡Œã†ã“ã¨ãŒã§ãã‚‹ï¼Ž
  
  æ¨™æº–ã§ã¯ï¼Œ\autoref{tab:vert_replace_jpotf}ã«ç¤ºã—ãŸç½®æ›ãŒç™»éŒ²ã•ã‚Œã¦ã„ã‚‹
  \footnote{%
	\texttt{jpotf}ã¨ã„ã†åå‰ã«ã—ãŸã®ã¯ï¼Œ
	OTFãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®ç¸¦çµ„ç”¨å’Œæ–‡TFMã§ã»ã¼åŒã˜ã®å‡¦ç†ï¼ˆãã¡ã‚‰ã§ã¯ã•ã‚‰ã«ä¸€é‡å¼•ç”¨ç¬¦ã‚’
	ã€Œã‚·ãƒ³ã‚°ãƒ«ãƒŸãƒ‹ãƒ¥ãƒ¼ãƒˆã€ã«ç½®æ›ã™ã‚‹æ©Ÿèƒ½ã‚‚ã‚ã£ãŸï¼‰ã‚’è¡Œã£ã¦ã„ãŸã“ã¨ã«ç”±æ¥ã™ã‚‹ï¼Ž
  }ï¼Žå®Ÿè¡Œä¾‹ã¯\autoref{fig:jpotf}ã‚’å‚ç…§ï¼Ž

  ãƒ¦ãƒ¼ã‚¶å´ã§ã€Œç½®æ›ã€ã‚’ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã—ãŸã„å&nbsp;´åˆï¼Œ
  \verb+luatexja.jfont.register_vert_replace+é–¢æ•°ã«å¤‰æ›´å†…å®¹ã‚’è¨˜ã—ãŸãƒ†ãƒ¼ãƒ–ãƒ«ã‚’æ¸¡ã™ï¼Ž
  ä¾‹ãˆã°ç½®æ›$i_1\longmapsto v_1$, $i_2\longmapsto v_2$,~$\dots$ã‚’ç™»éŒ²ã™ã‚‹å&nbsp;´åˆã¯
	\begin{lstlisting}[escapechar=\!]
\directlua{luatexja.jfont.register_vert_replace{[!$i_1$!]=!$v_1$!, [!$i_2$!]=!$v_2$!, ...}}
	\end{lstlisting}
  ã‚’å®Ÿè¡Œã™ã‚‹ï¼Ž
  \verb+luatexja.jfont.register_vert_replace+ã«ã‚ˆã‚‹å¤‰æ›´ã¯ã“ã®é–¢æ•°ã®\emph{å®Ÿè¡Œå¾Œ}ã«å®šç¾©ã•ã‚Œã‚‹
  ãƒ•ã‚©ãƒ³ãƒˆã«ã¤ã„ã¦ã®ã¿æœ‰åŠ¹ã§ã‚ã‚‹ï¼Ž
  
\end{itemize}

ãªãŠï¼Œ\pTeX ã§ã¯ï¼Œ\cs{font},~\cs{jfont},~\cs{tfont}ã®ã©ã‚Œã§ã‚‚æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ»æ¨ªçµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³
ãƒˆãƒ»ç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®å®šç¾©ãŒå¯èƒ½ã§ã‚ã£ãŸãŒï¼Œ\LuaTeX-jaã§ã¯ãã†ã§ãªã„ã®ã§æ³¨æ„ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Default Japanese fonts and JFMs}
%&lt;ja&gt;\subsection{æ¨™æº–å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ»JFMã®å¤‰æ›´}
\label{ssec:cfg}
%&lt;*en&gt;
If following commands are defined at loading \LuaTeX-ja package, these change
default Japanese fonts and JFMs for them:
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹å‰ã«ä»¥ä¸‹ã®å‘½ä»¤ãŒå®šç¾©ã•ã‚Œã¦ã„ãŸå&nbsp;´åˆã¯ï¼Œ
ãã‚Œã‚‰ãŒæ¨™æº–å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚„ãã‚Œã‚‰ã«ç”¨ã„ã‚‹JFMã¨ã—ã¦ä½¿ã‚ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{cslist}[style=standard]
  \item[\cs{ltj@stdmcfont}] 
%&lt;en&gt;The default Japanese font for the mincho family.
%&lt;ja&gt;æ˜Žæœä½“ã¨ã—ã¦ç”¨ã„ã‚‹ãƒ•ã‚©ãƒ³ãƒˆï¼Ž
  \item[\cs{ltj@stdgtfont}]
%&lt;en&gt;The default Japanese font for the gothic family.
%&lt;ja&gt;ã‚´ã‚·ãƒƒã‚¯ä½“ã¨ã—ã¦ç”¨ã„ã‚‹ãƒ•ã‚©ãƒ³ãƒˆï¼Ž
  \item[\cs{ltj@stdyokojfm}]
%&lt;en&gt;The default JFM for horizontal direction.
%&lt;ja&gt;æ¨™æº–ã§ç”¨ã„ã‚‹æ¨ªçµ„ç”¨JFMï¼Ž
  \item[\cs{ltj@stdtatejfm}]
%&lt;en&gt;The default JFM for vertical direction.
%&lt;ja&gt;æ¨™æº–ã§ç”¨ã„ã‚‹ç¸¦çµ„ç”¨JFMï¼Ž
\end{cslist}

%&lt;*en&gt;
For example,
\begin{lstlisting}
\def\ltj@stdmcfont{IPAMincho}
\def\ltj@stdgtfont{IPAGothic}
\end{lstlisting}
makes that IPA~Mincho and IPA~Gothic will be used as default Japanese fonts, instead of
Harano Aji fonts.
%IPAex~Mincho and IPAex~Gothic.

This feature is intended for classes which use special JFMs%
\footnote{This is because commands has \texttt{@} in their names.}.
It is recommended to use \cs{luatexja-preset}~or~\cs{luatexja-fontspec} package
to select standard fonts in ordinary \LaTeX\ sources.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¾‹ãˆã°
\begin{lstlisting}
\def\ltj@stdmcfont{IPAMincho}
\def\ltj@stdgtfont{IPAGothic}
\end{lstlisting}
ã¨è¨˜è¿°ã—ã¦ãŠã‘ã°ï¼Œæ¨™æº–å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒIPAæ˜Žæœãƒ»IPAã‚´ã‚·ãƒƒã‚¯ã¸ã¨å¤‰
æ›´ã•ã‚Œã‚‹ï¼Ž

ã“ã®æ©Ÿèƒ½ã¯ï¼Œç‰¹åˆ¥ã®JFMã‚’ç”¨ã„ã‚‹ã‚¯ãƒ©ã‚¹
\footnote{ä¾‹ãˆã°é˜¿éƒ¨ç´€è¡Œæ°ã«ã‚ˆã‚‹jlreqãŒãã‚Œã«ã‚ãŸã‚‹ï¼Ž}%
ãªã©ã§ã®ä½¿ç”¨ã‚’æ„å›³ã—ã¦ãŠã‚Šï¼Œå‘½ä»¤åã«\texttt{@}ãŒå«ã¾ã‚Œã‚‹ã“ã¨ã‹ã‚‰
é€šå¸¸ã®\TeX/\LaTeX æ–‡æ›¸ã§ã®ä½¿ç”¨ã¯æ„å›³ã—ã¦ã„ãªã„ï¼Ž
é€šå¸¸ã®\LaTeX æ–‡æ›¸ã§ã¯\Pkg{luatexja-preset}ã‚„\Pkg{luatexja-fontspec}ãªã©ã§
ä½¿ç”¨ãƒ•ã‚©ãƒ³ãƒˆã‚’é¸æŠžã™ã‚‹ã“ã¨ã‚’æŽ¨å¥¨ã™ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
For compatibility with earlier versions,
\LuaTeX-ja reads  \texttt{luatexja.cfg} automatically if it is found by \LuaTeX.
One should not overuse this \texttt{luatexja.cfg}; it will overwrite
the definition of \cs{ltj@stdmcfont} and others.
%&lt;/en&gt;
%&lt;*ja&gt;
æ—§ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨ã®äº’æ›æ€§ã®ãŸã‚ï¼Œ
\LuaTeX ã‹ã‚‰è¦‹ãˆã‚‹ä½ç½®ã«\texttt{luatexja.cfg}ãŒã‚ã‚Œã°ï¼Œ\LuaTeX-jaã¯ãã‚Œã‚’èª­ã¿è¾¼ã‚€ï¼Ž
ã—ã‹ã—ï¼Œ\texttt{luatexja.cfg}å†…ã§\cs{ltj@stdmcfont}ç­‰ãŒå®šç¾©ã•ã‚Œã¦ã„ãŸå&nbsp;´åˆã¯ãã¡ã‚‰ãŒ
å„ªå…ˆã•ã‚Œã‚‹ã®ã§ï¼Œã‚‚ã¯ã‚„\texttt{luatexja.cfg}ã¯ä½¿ã‚ãªã„ã»ã†ãŒè‰¯ã„ã&nbsp;ã‚ã†ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Prefix \texttt{psft}}
%&lt;ja&gt;\subsection{\texttt{psft}ãƒ—ãƒªãƒ•ã‚£ãƒƒã‚¯ã‚¹}
\label{ssec:psft}
%&lt;*en&gt;
Besides ``\texttt{file}''\ and ``\texttt{name}''\ prefixes which
are introduced in the \Pkg{luaotfload} package,
\LuaTeX-ja adds ``\texttt{psft}''\ prefix in \cs{jfont} (and~\cs{font}),
to specify a ``name-only'' Japanese font which
will not be embedded to PDF.
Note that these non-embedded fonts under current \LuaTeX\ has Identity-H encoding,
and this violates the standard ISO32000-1:2008~(\cite{pdfstd}).

\emph{OpenType font features, such as ``\texttt{+jp90}'',
have no meaning in name-only fonts using ``\texttt{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.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luaotfload}ã§ä½¿ç”¨å¯èƒ½ã«ãªã£ãŸ
\texttt{file}\ ã¨ \texttt{name}\ ã®ãƒ—ãƒªãƒ•ã‚£ãƒƒã‚¯ã‚¹ã«åŠ&nbsp;ãˆã¦ï¼Œ
\cs{jfont}ï¼ˆã¨ \cs{font} ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ï¼‰ã§ã¯
\texttt{psft}\ ãƒ—ãƒªãƒ•ã‚£ãƒƒã‚¯ã‚¹ã‚’ç”¨ã„ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
ã“ã®ãƒ—ãƒªãƒ•ã‚£ãƒƒã‚¯ã‚¹ã‚’ç”¨ã„ã‚‹ã“ã¨ã§ï¼ŒPDFã«ã¯åŸ‹ã‚è¾¼ã¾ã‚Œãªã„ã€Œåå‰ã&nbsp;ã‘ã®ã€
å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
ãªãŠï¼Œç¾è¡Œã®\LuaTeX ã§éžåŸ‹ã‚è¾¼ã¿ãƒ•ã‚©ãƒ³ãƒˆã‚’ä½œæˆã™ã‚‹ã¨PDFå†…ã§ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãŒ
Identity-Hã¨ãªã‚Šï¼ŒPDFã®æ¨™æº–è¦æ&nbsp;¼ISO32000-1:2008~(\cite{pdfstd})ã«éžæº–æ‹&nbsp;ã«ãªã£ã¦ã—ã¾ã†
ã®ã§æ³¨æ„ã—ã¦ã»ã—ã„ï¼Ž

\emph{\texttt{psft} ãƒ—ãƒªãƒ•ã‚£ãƒƒã‚¯ã‚¹ã®ä¸‹ã§ã¯
\texttt{+jp90} ãªã©ã®OpenTypeæ©Ÿèƒ½ã®åŠ¹åŠ›ã¯ãªã„ï¼Ž
éžåŸ‹è¾¼ãƒ•ã‚©ãƒ³ãƒˆã‚’PDFã«ä½¿ç”¨ã™ã‚‹ã¨ï¼Œå®Ÿéš›ã«ã©ã®ã‚ˆã†ãªãƒ•ã‚©ãƒ³ãƒˆãŒ
è¡¨ç¤ºã«ç”¨ã„ã‚‰ã‚Œã‚‹ã‹äºˆæ¸¬ã§ããªã„ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž}\
\texttt{extend} ã¨ \texttt{slant} æŒ‡å®šã¯å˜ãªã‚‹å¤‰å½¢ã®ãŸã‚
\texttt{psft} ãƒ—ãƒªãƒ•ã‚£ãƒƒã‚¯ã‚¹ã§ã‚‚ä½¿ç”¨å¯èƒ½ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{\texttt{cid} key}
%&lt;ja&gt;\paragraph{\texttt{cid}ã‚­ãƒ¼}
\label{para-cid}

%&lt;*en&gt;
The default font defined by using \texttt{psft} prefix is for Japanese typesetting;
it is Adobe-Japan1-7 CID-keyed font.
One can specify \texttt{cid} key to use other CID-keyed non-embedded fonts
for Chinese or Korean typesetting.
%&lt;/en&gt;
%&lt;*ja&gt;
æ¨™æº–ã§\texttt{psft}\ ãƒ—ãƒªãƒ•ã‚£ãƒƒã‚¯ã‚¹ã§å®šç¾©ã•ã‚Œã‚‹ãƒ•ã‚©ãƒ³ãƒˆã¯æ—¥æœ¬èªžç”¨ã®ã‚‚ã®ã§
ã‚ã‚Šï¼ŒAdobe-Japan1-7ã®CIDã«å¯¾å¿œã—ãŸã‚‚ã®ã¨ãªã‚‹ï¼Žã—ã‹ã—ï¼Œ\LuaTeX-jaã¯ä¸­å›½èªž
ã®çµ„ç‰ˆã«ã‚‚å¨åŠ›ã‚’ç™ºæ®ã™ã‚‹ã“ã¨ãŒåˆ†ã‹ã‚Šï¼Œæ—¥æœ¬èªžãƒ•ã‚©ãƒ³ãƒˆã§ãªã„éžåŸ‹è¾¼ãƒ•ã‚©ãƒ³ãƒˆ
ã®å¯¾å¿œã‚‚å¿…è¦ã¨ãªã£ãŸï¼Žãã®ãŸã‚ã«è¿½åŠ&nbsp;ã•ã‚ŒãŸã®ãŒ\texttt{cid}ã‚­ãƒ¼ã§ã‚ã‚‹ï¼Ž

\texttt{cid}ã‚­ãƒ¼ã«å€¤ã‚’æŒ‡å®šã™ã‚‹ã¨ï¼Œãã®CIDã‚’æŒã£ãŸéžåŸ‹è¾¼ãƒ•ã‚©ãƒ³ãƒˆã‚’å®šç¾©ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼š
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left]
\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-7;jfm=jis}    % Japanese
\jfont\testD={psft:Ryumin-Light:jfm=jis}                       % default: Adobe-Japan1-7
\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-7;jfm=jis}% Traditional Chinese
\jfont\testG={psft:SimSun:cid=Adobe-GB1-6;jfm=jis}             % Simplified Chinese
\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis}          % Korean
\jfont\testKR={psft:SourceHanSerifAKR9:cid=Adobe-KR-9;jfm=jis} % Korean
\end{lstlisting}
%&lt;*en&gt;
Note that the code above specifies \texttt{jfm-jis.lua}, which is for Japanese fonts,
as JFM for Chinese and Korean fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šã®ã‚³ãƒ¼ãƒ‰ã§ã¯ä¸­å›½èªžãƒ»éŸ“å›½èªžç”¨ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾ã—ã¦ã‚‚JFMã«
æ—¥æœ¬èªžç”¨ã®\texttt{jfm-jis.lua}ã‚’æŒ‡å®šã—ã¦ã„ã‚‹ã®ã§æ³¨æ„ã•ã‚ŒãŸã„ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
At present, \LuaTeX-ja supports only 5 values written in the sample code above.
Specifying other values, e.g.,
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Šã®ã¨ã“ã‚ï¼Œ\LuaTeX-jaã¯ä¸Šã®ã‚µãƒ³ãƒ—ãƒ«ã‚³ãƒ¼ãƒ‰ä¸­ã«æ›¸ã„ãŸ5ã¤ã®å€¤ã—ã‹ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ï¼Ž
%&lt;/ja&gt;
\begin{lstlisting}
\jfont\test={psft:Ryumin-Light:cid=Adobe-Japan2;jfm=jis}
\end{lstlisting}
%&lt;*en&gt;
produces the following error:
%&lt;/en&gt;
%&lt;*ja&gt;
ã®ã‚ˆã†ã«ãã‚Œã‚‰ä»¥å¤–ã®å€¤ã‚’æŒ‡å®šã™ã‚‹ã¨ï¼Œã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ï¼š
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left]
! Package luatexja Error: bad cid key `Adobe-Japan2'.

See the luatexja package documentation for explanation.
Type  H &lt;return&gt;  for immediate help.
&lt;to be read again&gt;
                   \par
l.78

? h
I couldn't find any non-embedded font information for the CID
`Adobe-Japan2'. For now, I'll use `Adobe-Japan1-6'.
Please contact the LuaTeX-ja project team.
?
\end{lstlisting}

%&lt;en&gt;\subsection{Structure of a JFM file}
%&lt;ja&gt;\subsection{JFMãƒ•ã‚¡ã‚¤ãƒ«ã®æ§‹é€&nbsp;}
\label{ssec:jfm-str}
%&lt;en&gt;A JFM file is a Lua script which has only one function call:
%&lt;ja&gt;JFMãƒ•ã‚¡ã‚¤ãƒ«ã¯ãŸã&nbsp;ä¸€ã¤ã®é–¢æ•°å‘¼ã³å‡ºã—ã‚’å«ã‚€Luaã‚¹ã‚¯ãƒªãƒ—ãƒˆã§ã‚ã‚‹ï¼š
\begin{lstlisting}
luatexja.jfont.define_jfm { ... }
\end{lstlisting}
%&lt;*en&gt;
Real data are stored in the table which indicated above by
\verb+{ ... }+.  So, the rest of this subsection are devoted to describe the
structure of this table.  Note that all lengths in a JFM file are
floating-point numbers in design-size unit.
%&lt;/en&gt;
%&lt;*ja&gt;
å®Ÿéš›ã®ãƒ‡ãƒ¼ã‚¿ã¯ä¸Šã§ \verb+{ ... }+ ã§ç¤ºã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ãƒ«ã®ä¸­ã«æ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹ï¼Ž
ä»¥ä¸‹ã§ã¯ã“ã®ãƒ†ãƒ¼ãƒ–ãƒ«ã®æ§‹é€&nbsp;ã«ã¤ã„ã¦è¨˜ã™ï¼Ž
ãªãŠï¼ŒJFMãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®é•·ã•ã¯å…¨ã¦design sizeã‚’å˜ä½ã¨ã™ã‚‹æµ®å‹•å°æ•°ç‚¹æ•°ã§ã‚ã‚‹ã“ã¨ã«
æ³¨æ„ã™ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{cslist}[style=standard]

\item[version=\meta{version}]
%&lt;en&gt;(optional, default value is~1)
%&lt;ja&gt;ï¼ˆä»»æ„ï¼Œæ—¢å®šå€¤ã¯1ï¼‰

%&lt;*en&gt;
The version JFM. Currently 1,~2,~and,~3 are supported
%&lt;/en&gt;
%&lt;*ja&gt;
JFMã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼Ž1,~2,~3ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
  
\item[dir=\meta{direction}]
%&lt;en&gt;(required)
%&lt;ja&gt;ï¼ˆå¿…é&nbsp;ˆï¼‰

%&lt;*en&gt;
The direction of JFM. \texttt{'yoko'}~(horizontal)
or \texttt{'tate'}~(vertical) are supported.
%&lt;/en&gt;
%&lt;*ja&gt;
JFMã®æ›¸å­—æ–¹å‘ï¼Ž\texttt{'yoko'}ï¼ˆæ¨ªçµ„ï¼‰ã¨ \texttt{'tate'}ï¼ˆç¸¦çµ„ï¼‰ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\item[zw=\meta{length}]
%&lt;en&gt;(required)
%&lt;ja&gt;ï¼ˆå¿…é&nbsp;ˆï¼‰

%&lt;en&gt;The amount of the length of the ``full-width''.
%&lt;*ja&gt;
ã€Œå…¨è§’å¹…ã€ã®é•·ã•ï¼Žã“ã®é‡ãŒ \cs{zw} ã®é•·ã•ã¨ãªã‚‹ï¼Ž\pTeX ã§ã¯
ã€Œå…¨è§’å¹…ã€\texttt{1zw} ã¯ã€Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã®æ–‡å­—ã€ã®å¹…ã¨æ±ºã‚ã‚‰ã‚Œã¦ã„ãŸãŒï¼Œ
\LuaTeX-jaã§ã¯ã“ã“ã§æŒ‡å®šã™ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[zh=\meta{length}]
%&lt;en&gt;(required)
%&lt;ja&gt;ï¼ˆå¿…é&nbsp;ˆï¼‰

%&lt;en&gt;The amount of the ``full-height'' (height + depth).
%&lt;*ja&gt;
ã€Œå…¨è§’é«˜ã•ã€(height + depth)ã®é•·ã•ï¼Žé€šå¸¸ã¯å…¨è§’å¹…ã¨åŒã˜é•·ã•ã«ãªã‚‹ã&nbsp;ã‚ã†ï¼Ž
\pTeX ã§ã¯ ã€Œå…¨è§’é«˜ã•ã€\texttt{1zh} ã¯ã€Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã®æ–‡å­—ã€ã®é«˜ã•ã¨æ·±ã•ã®å’Œã¨æ±ºã‚ã‚‰ã‚Œã¦ã„ãŸãŒï¼Œ
\LuaTeX-jaã§ã¯ã“ã“ã§æŒ‡å®šã™ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[kanjiskip=\{\meta{natural}, \meta{stretch}, \meta{shrink}\}]
%&lt;en&gt;(optional)
%&lt;ja&gt;ï¼ˆä»»æ„ï¼‰

%&lt;*en&gt;
This field specifies the ``ideal'' amount of \Param{kanjiskip}. As noted
	     in Subsection~\ref{subs-kskip}, if the parameter
	     \Param{kanjiskip} is \cs{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 \meta{stretch} and \meta{shrink}
	     fields are in design-size unit too.
%&lt;/en&gt;
%&lt;*ja&gt;
ç†æƒ³çš„ãª\Param{kanjiskip}ã®é‡ã‚’æŒ‡å®šã™ã‚‹ï¼Ž\ref{subs-kskip}ç¯€ã§è¿°ã¹ãŸã‚ˆã†ã«ï¼Œ
ã‚‚ã—\Param{kanjiskip}ãŒ \cs{maxdimen} ã®å€¤ãªã‚‰ã°ï¼Œã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã§æŒ‡å®šã•ã‚ŒãŸ
å€¤ãŒå®Ÿéš›ã«ã¯ç”¨ã„ã‚‰ã‚Œã‚‹ï¼ˆæŒ‡å®šãªã—ã¯0\,ptã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼‰ï¼Ž\meta{stretch}ã¨\meta{shrink}ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚‚design size
ãŒå˜ä½ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã›ã‚ˆï¼Ž
%&lt;/ja&gt;

\item[xkanjiskip=\{\meta{natural}, \meta{stretch}, \meta{shrink}\}]
%&lt;en&gt;(optional)
%&lt;ja&gt;ï¼ˆä»»æ„ï¼‰

%&lt;*en&gt;
Like the \texttt{kanjiskip} field, this field specifies the ``ideal''
	     amount of \Param{xkanjiskip}.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{kanjiskip}ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¨åŒæ§˜ã«ï¼Œ\Param{xkanjiskip}ã®ç†æƒ³çš„ãªé‡ã‚’
æŒ‡å®šã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{cslist}

%&lt;*en&gt;
\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 \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:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{æ–‡å­—ã‚¯ãƒ©ã‚¹}
ä¸Šè¨˜ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«åŠ&nbsp;ãˆã¦ï¼ŒJFMãƒ•ã‚¡ã‚¤ãƒ«ã¯ãã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒè‡ªç„¶æ•°ã§ã‚ã‚‹ã„ãã¤ã‹ã®
ã‚µãƒ–ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’æŒã¤ï¼Žã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒ$i\in\omega$ã§ã‚ã‚‹ãƒ†ãƒ¼ãƒ–ãƒ«ã¯\emph{æ–‡å­—ã‚¯ãƒ©ã‚¹}$i$ã®
æƒ…å&nbsp;±ã‚’æ&nbsp;¼ç´ã™ã‚‹ï¼Žå°‘ãªãã¨ã‚‚ï¼Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã¯å¸¸ã«å­˜åœ¨ã™ã‚‹ã®ã§ï¼ŒJFMãƒ•ã‚¡ã‚¤ãƒ«ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹
ãŒ\texttt{[0]}ã®ã‚µãƒ–ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’æŒãŸãªã‘ã‚Œã°ãªã‚‰ãªã„ï¼Žãã‚Œãžã‚Œã®ã‚µãƒ–ãƒ†ãƒ¼ãƒ–ãƒ«
ï¼ˆãã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’$i$ã§è¡¨ã‚ã™ï¼‰ã¯ä»¥ä¸‹ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’æŒã¤ï¼š
%&lt;/ja&gt;

\begin{cslist}[style=standard]
\item[chars=\{\meta{character}, ...\}]
%&lt;en&gt;(required except character class~0)
%&lt;ja&gt;ï¼ˆæ–‡å­—ã‚¯ãƒ©ã‚¹0ã‚’é™¤ã„ã¦å¿…é&nbsp;ˆï¼‰

%&lt;*en&gt;
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 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, 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}
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯æ–‡å­—ã‚¯ãƒ©ã‚¹$i$ã«å±žã™ã‚‹æ–‡å­—ã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ï¼Žã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯$i=0$ã®
å&nbsp;´åˆã«ã¯ä»»æ„ã§ã‚ã‚‹ï¼ˆæ–‡å­—ã‚¯ãƒ©ã‚¹0ã«ã¯ï¼Œ0ä»¥å¤–ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã«å±žã™ã‚‹ã‚‚ã®ã‚’
é™¤ã„ãŸå…¨ã¦ã®\textbf{JAchar}ãŒå±žã™ã‚‹ã‹ã‚‰ï¼‰ï¼Žã“ã®ãƒªã‚¹ãƒˆä¸­ã§æ–‡å­—ã‚’æŒ‡å®šã™ã‚‹ã«ã¯ï¼Œä»¥ä¸‹ã®æ–¹æ³•ãŒã‚ã‚‹ï¼š
\begin{itemize}
\item Unicode ã«ãŠã‘ã‚‹ã‚³ãƒ¼ãƒ‰ç•ªå·
\item ã€Œ\hbox{\ltjsetparameter{autoxspacing=false}\verb+'ã‚'+}ã€ã®ã‚ˆã†ãªï¼Œæ–‡å­—ãã‚Œè‡ªä½“
\item ã€Œ\hbox{\ltjsetparameter{autoxspacing=false}\verb+'ã‚*'+}ã€ã®ã‚ˆã†ãªï¼Œæ–‡å­—ãã‚Œè‡ªä½“ã®å¾Œã«ã‚¢ã‚¹ã‚¿ãƒªã‚¹ã‚¯ã‚’ã¤ã‘ãŸã‚‚ã®
\item ã„ãã¤ã‹ã®ã€Œä»®æƒ³çš„ãªæ–‡å­—ã€ï¼ˆå¾Œã«èª¬æ˜Žã™ã‚‹ï¼‰
\end{itemize}
%&lt;/ja&gt;

\item[width=\meta{length}, height=\meta{length}, depth=\meta{length}, italic=\meta{length}]
%&lt;en&gt;(required)
%&lt;ja&gt;ï¼ˆå¿…é&nbsp;ˆï¼‰

%&lt;*en&gt;
\begin{table}[t]
 \centering
\begin{tabular}{llr}
\toprule
Direction of JFM&amp;\textbf{\texttt{'yoko'} (horizontal)}&amp;\multicolumn{1}{l}{\textbf{\texttt{'tate'} (vertical)}}\\
\midrule
\texttt{width} field&amp;\multicolumn{2}{c}{the width of the ``real'' glyph}\\
\texttt{height} field&amp;the height of the ``real'' glyph&amp;0.0\\
\texttt{depth} field&amp;the depth of the ``real'' glyph&amp;0.0\\
\midrule
\texttt{italic} field&amp;\multicolumn{2}{c}{0.0}\\
\bottomrule
\end{tabular}
\caption{Default values of \texttt{width} field and other fields}
\label{tab-wid}
\end{table}
Specify the width of characters in character class~$i$, the height, the depth and
the amount of italic correction. All characters in character class~$i$ are regarded that its width, height, and depth are
as values of these fields. The default values are shown in \autoref{tab-wid}.
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{table}[t]
 \centering
\begin{tabular}{llr}
\toprule
JFMæ›¸å­—æ–¹å‘&amp;\emph{\texttt{'yoko'}ï¼ˆæ¨ªçµ„ï¼‰}&amp;\multicolumn{1}{l}{\emph{\texttt{'tate'}ï¼ˆç¸¦çµ„ï¼‰}}\\
\midrule
\texttt{width}&amp;\multicolumn{2}{c}{ã€Œå®Ÿéš›ã®ã‚°ãƒªãƒ•ã€ã®å¹…}\\
\texttt{height}&amp;ã€Œå®Ÿéš›ã®ã‚°ãƒªãƒ•ã€ã®é«˜ã•&amp;0.0\\
\texttt{depth}&amp;ã€Œå®Ÿéš›ã®ã‚°ãƒªãƒ•ã€ã®æ·±ã•&amp;0.0\\
\midrule
\texttt{italic}&amp;\multicolumn{2}{c}{0.0}\\
\bottomrule
\end{tabular}
\caption{\texttt{width} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ç­‰ã®æ¨™æº–å€¤}
\label{tab-wid}
\end{table}
æ–‡å­—ã‚¯ãƒ©ã‚¹$i$ã«å±žã™ã‚‹æ–‡å­—ã®å¹…ï¼Œé«˜ã•ï¼Œæ·±ã•ï¼Œã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ã®é‡ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
æ–‡å­—ã‚¯ãƒ©ã‚¹$i$ã«å±žã™ã‚‹å…¨ã¦ã®æ–‡å­—ã¯ï¼Œãã®å¹…ï¼Œé«˜ã•ï¼Œæ·±ã•ãŒã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã§æŒ‡å®šã—ãŸ
å€¤ã§ã‚ã‚‹ã‚‚ã®ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼Žçœç•¥æ™‚ã‚„ï¼Œæ•°ã§ãªã„å€¤ã‚’æŒ‡å®šã—ãŸæ™‚ã«ã¯è¡¨\nobreak\ref{tab-wid}ã«
	     ç¤ºã•ã‚Œã¦ã„ã‚‹å€¤ã‚’ç”¨ã„ã‚‹ï¼Žä¾‹ãˆã°ï¼Œæ¨ªçµ„ç”¨JFMã§ \texttt{width} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ã¯æ•°å€¤ä»¥å¤–ã®å€¤ã‚’æŒ‡
	     å®šã—ãŸå&nbsp;´åˆï¼Œæ–‡å­—ã®å¹…ã¯ãã®ã€Œå®Ÿéš›ã®ã€ã‚°ãƒªãƒ•ã®å¹…ã¨ãªã‚‹ï¼ŽOpenTypeã® \texttt{prop} featureã¨ä½µç”¨
	     ã™ã‚Œã°ï¼Œã“ã‚Œã«ã‚ˆã£ã¦ãƒ—ãƒ­ãƒãƒ¼ã‚·ãƒ§ãƒŠãƒ«çµ„ã‚’è¡Œã†ã“ã¨ãŒã§ãã‚‹ï¼Ž
%&lt;/ja&gt;

\item[left=\meta{length}, down=\meta{length}, align=\meta{align}]\

%&lt;*en&gt;
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
	     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
\autoref{fig:pos}~and~\autoref{fig:pos-tate}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã‚‰ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯å®Ÿéš›ã®ã‚°ãƒªãƒ•ã®ä½ç½®ã‚’èª¿æ•´ã™ã‚‹ãŸã‚ã«ã‚ã‚‹ï¼Ž
\texttt{align} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«æŒ‡å®šã§ãã‚‹å€¤ã¯ \texttt{'left'}, \texttt{'middle'},
\texttt{'right'} ã®ã„ãšã‚Œã‹ã§ã‚ã‚‹ï¼Žã‚‚ã—ã“ã‚Œã‚‰3ã¤ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®ã†ã¡ã®1ã¤ãŒçœã‹ã‚ŒãŸ
å&nbsp;´åˆï¼Œ\texttt{left} ã¨ \texttt{down} ã¯0ï¼Œ\texttt{align} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯
\ \texttt{'left'} ã§ã‚ã‚‹ã‚‚ã®ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼Ž
ã“ã‚Œã‚‰3ã¤ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æ„å‘³ã«ã¤ã„ã¦ã¯\autoref{fig:pos}ï¼ˆæ¨ªçµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆï¼‰ï¼Œ
\autoref{fig:pos-tate}ï¼ˆç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆï¼‰ã§èª¬æ˜Žã™ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
In most cases, \texttt{left} and \texttt{down} fields are~0, while
it is not uncommon that the \texttt{align} field is \texttt{'middle'} or \texttt{'right'}.
For example, setting the \texttt{align} field to \texttt{'right'} is practically needed
when the current character class is the class for opening delimiters'.
%&lt;/en&gt;
%&lt;*ja&gt;
å¤šãã®å&nbsp;´åˆï¼Œ\texttt{left}ã¨\texttt{down}ã¯0ã§ã‚ã‚‹ä¸€æ–¹ï¼Œ
\texttt{align}ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ãŒ\texttt{'middle'}ã‚„\texttt{'right'}ã§ã‚ã‚‹ã“ã¨ã¯
çã—ã„ã“ã¨ã§ã¯ãªã„ï¼Ž
ä¾‹ãˆã°ï¼Œ\texttt{align}ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’\texttt{'right'}ã«æŒ‡å®šã™ã‚‹ã“ã¨ã¯ï¼Œ
æ–‡å­—ã‚¯ãƒ©ã‚¹ãŒé–‹ãæ‹¬å¼§é¡žã§ã‚ã‚‹ã¨ãã«å®Ÿéš›å¿…è¦ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{figure}[!tb]
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\begin{picture}(15,12)(-1,-4)
\color{b_gray}% jfm
\put(0,0){\vrule width 12\unitlength height 8\unitlength depth 3\unitlength}

\color{b_pink}% step1
\put(-1,-1.5){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}

\color{red}% real glyph
\thicklines
\put(-1,-1.5){\vector(0,1){7}\vector(0,-1){2.5}\vector(1,0){6}}
\put(5,-1.5){\line(0,1){7}\line(0,-1){2.5}}
\put(-1,5.5){\line(1,0){6}}
\put(-1,-4){\line(1,0){6}}

\color{b_green}% real glyph
\put(3,0){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}

\color{black}% jfm
\thicklines
\put(0,0){\vector(0,1){8}\line(0,-1){3}\vector(1,0){12}}
\put(12,0){\line(0,1){8}\vector(0,-1){3}}
\put(0,8){\line(1,0){12}}
\put(0,-3){\line(1,0){12}}
\put(0.2,4){\makebox(0,0)[l]{\texttt{height}}}
\put(12.2,-1.5){\makebox(0,0)[l]{\texttt{depth}}}
\put(6,0.2){\makebox(0,0)[b]{\texttt{width}}}

\color{green}% step1
\thicklines
\put(3,0){\vector(0,1){7}\vector(0,-1){2.5}\vector(1,0){6}}
\put(9,0){\line(0,1){7}\line(0,-1){2.5}}
\put(3,7){\line(1,0){6}}
\put(3,-2.5){\line(1,0){6}}
\newsavebox{\eqdist}
\savebox{\eqdist}(0,0)[b]{%
  \thinlines
  \put(-0.08,0.2){\line(0,-1){0.4}}%
  \put(0.08,0.2){\line(0,-1){0.4}}}
\put(1.5,0){\usebox{\eqdist}}
\put(10.5,0){\usebox{\eqdist}}

\color{blue}% shifted
\thicklines
\put(3,-1.5){\vector(-1,0){4}}
\put(1,-1.7){\makebox(0,0)[t]{\texttt{left}}}
\put(3,0){\vector(0,-1){1.5}}
\put(3.2,-0.75){\makebox(0,0)[l]{\texttt{down}}}
\end{picture}
\end{center}
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
%&lt;*en&gt;
Consider a  Japanese character node which belongs to
a character class whose the \texttt{align}
field is \texttt{'middle'}.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{align}ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å€¤ãŒ \texttt{'middle'} ã§ã‚ã‚‹ã‚ˆã†ãªæ–‡å­—ã‚¯ãƒ©ã‚¹ã«å±žã™ã‚‹
å’Œæ–‡æ–‡å­—ãƒŽãƒ¼ãƒ‰ã‚’è€ƒãˆã‚ˆã†ï¼Ž
%&lt;/ja&gt;
\begin{itemize}
\item
%&lt;*en&gt;
The black rectangle is the imaginary body of the node.
Its width, height, and depth are specified by JFM.
%&lt;/en&gt;
%&lt;*ja&gt;
é»’è‰²ã®é•·æ–¹å½¢ã¯ãƒŽãƒ¼ãƒ‰ã®æž&nbsp;ã§ã‚ã‚Šï¼Œ
ãã®å¹…ï¼Œé«˜ã•ï¼Œæ·±ã•ã¯JFMã«ã‚ˆã£ã¦æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\item
%&lt;*en&gt;
Since the \texttt{align} field is \texttt{'middle'},
the ``real'' glyph is centered horizontally (the green rectangle) first.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{align}ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯ \texttt{'middle'} ãªã®ã§ï¼Œ
å®Ÿéš›ã®ã‚°ãƒªãƒ•ã®ä½ç½®ã¯ã¾ãšæ°´å¹³æ–¹å‘ã«ä¸­å¤®æƒãˆã—ãŸã‚‚ã®ã¨ãªã‚‹ï¼ˆç·‘è‰²ã®é•·æ–¹å½¢ï¼‰ï¼Ž
%&lt;/ja&gt;
\item
%&lt;*en&gt;
Furthermore, the glyph is shifted according to values of fields
      \texttt{left} and \texttt{down}. The ultimate position of the real
      glyph is indicated by the red rectangle.
%&lt;/en&gt;
%&lt;*ja&gt;
ã•ã‚‰ã«ï¼Œã‚°ãƒªãƒ•ã¯ \texttt{left} ã¨ \texttt{down} ã®å€¤ã«å¾“ã£ã¦ã‚·ãƒ•ãƒˆã•ã‚Œã‚‹ï¼Ž
æœ€çµ‚çš„ãªå®Ÿéš›ã®ã‚°ãƒªãƒ•ã®ä½ç½®ã¯èµ¤è‰²ã®é•·æ–¹å½¢ã§ç¤ºã•ã‚ŒãŸä½ç½®ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;
\end{itemize}
\end{minipage}
\medskip

\caption{%
%&lt;en&gt;The position of the real glyph (horizontal Japanese fonts)
%&lt;ja&gt;æ¨ªçµ„å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«ãŠã‘ã‚‹ã€Œå®Ÿéš›ã®ã€ã‚°ãƒªãƒ•ã®ä½ç½®
}
\label{fig:pos}
\end{figure}
\begin{figure}[!tb]
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\begin{picture}(15,12)(-6,0)
\color{b_gray}% jfm
\put(-6,0){\vrule width 12\unitlength height 11\unitlength}

\color{b_pink}% real glyph
\put(-6.5,5.5){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}

\color{red}% real glyph
\thicklines
\put(-6.5,5.5){\vector(0,1){6}\vector(0,-1){3}\vector(1,0){8}}
\put( 1.5,5.5){\line(0,1){6}\line(0,-1){3}}
\put(-6.5,11.5){\line(1,0){8}}
\put(-6.5,2.5){\line(1,0){8}}

\color{b_green}% step1
\put(-4,3){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}

\color{black}% jfm
\thicklines
\put(0,11){\vector(1,0){6}\vector(-1,0){6}\vector(0,-1){11}}
\put(0,0){\line(1,0){6}\line(-1,0){6}}
\put(-6,0){\line(0,1){11}}
\put( 6,0){\line(0,1){11}}
\put( 3,10.8){\makebox(0,0)[t]{\texttt{height}}}
\put(-3,10.8){\makebox(0,0)[t]{\texttt{depth}}}
\put(0.2,5.5){\makebox(0,0)[l]{\texttt{width}}}

\color{green}% step1
\thicklines
\put(-4,3){\vector(0,1){6}\vector(0,-1){3}\vector(1,0){8}}
\put( 4,3){\line(0,1){6}\line(0,-1){3}}
\put(-4,9){\line(1,0){8}}
\put(-4,0){\line(1,0){8}}
\savebox{\eqdist}(0,0)[b]{%
  \thinlines
  \put(-0.08,0.2){\line(0,-1){0.4}}%
  \put(0.08,0.2){\line(0,-1){0.4}}}
\put(2,9){\usebox{\eqdist}}
\put(-2,9){\usebox{\eqdist}}


\color{blue}% shifted
\thicklines
\put(-4,3){\vector(0,1){2.5}}
\put(-3.8,4.25){\makebox(0,0)[l]{\texttt{left}}}
\put(-4,5.5){\vector(-1,0){2.5}}
\put(-5.,5.7){\makebox(0,0)[b]{\texttt{down}}}
\end{picture}
\end{center}
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
%&lt;*en&gt;
(\dots)
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{align}ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å€¤ãŒ \texttt{'right'} ã§ã‚ã‚‹ã‚ˆã†ãªæ–‡å­—ã‚¯ãƒ©ã‚¹ã«å±žã™ã‚‹
å’Œæ–‡æ–‡å­—ã‚’è€ƒãˆã‚ˆã†ï¼Ž
\begin{itemize}
\item
å®Ÿéš›ã®ã‚°ãƒªãƒ•ã®ã€Œåž‚ç›´ä½ç½®ã€ã¯ï¼Œã¾ãšãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ãŒæ–‡å­—ã®ç‰©ç†çš„ãªå·¦å³æ–¹å‘ã®ä¸­å¤®ã‚’é€šã‚‹
ä½ç½®ã¨ãªã‚‹ï¼Ž
\item
ã¾ãŸï¼Œã“ã®å&nbsp;´åˆ \texttt{align} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯ \texttt{'right'} ãªã®ã§ï¼Œ
ã€Œæ°´å¹³ä½ç½®ã€ã¯å­—é€ã‚Šæ–¹å‘ã«ã€Œå³å¯„ã›ã€ã—ãŸã‚‚ã®ã¨ãªã‚‹ï¼ˆç·‘è‰²ã®é•·æ–¹å½¢ï¼‰ï¼Ž
\item
ãã®å¾Œã•ã‚‰ã« \texttt{left} ã¨ \texttt{down} ã®å€¤ã«å¾“ã£ã¦ã‚·ãƒ•ãƒˆã•ã‚Œã‚‹
ã®ã¯æ¨ªçµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¨å¤‰ã‚ã‚‰ãªã„ï¼Ž
\end{itemize}
%&lt;/ja&gt;
\end{minipage}
\medskip

\caption{%
%&lt;en&gt;The position of the real glyph (vertical Japanese fonts)
%&lt;ja&gt;ç¸¦çµ„å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«ãŠã‘ã‚‹ã€Œå®Ÿéš›ã®ã€ã‚°ãƒªãƒ•ã®ä½ç½®
}
\label{fig:pos-tate}
\end{figure}

\item[kern={\{[$j$]=\meta{kern}, [$j'$]=\{\meta{kern}, [ratio=\meta{ratio}]\}, ...\}}]
\nopagebreak
\item[glue={\{[$j$]=\{\meta{width}, \meta{stretch}, \meta{shrink}, [ratio=\meta{ratio}, ...]\}, ...\}}]\leavevmode
%&lt;*ja&gt;

æ–‡å­—ã‚¯ãƒ©ã‚¹$i$ã®æ–‡å­—ã¨$j$ã®æ–‡å­—ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚«ãƒ¼ãƒ³ã‚„ã‚°ãƒ«ãƒ¼ã®é‡ã‚’æŒ‡å®šã™ã‚‹ï¼Ž

\meta{ratio}ã¯ï¼Œã‚°ãƒ«ãƒ¼ã®è‡ªç„¶é•·ã®ã†ã¡ã©ã‚Œã&nbsp;ã‘ã®å‰²åˆãŒã€Œå¾Œã®æ–‡å­—ã€ç”±æ¥ã‹ã‚’ç¤ºã™é‡ã§ï¼Œ
$0$ã‹ã‚‰$+1$ã®å®Ÿæ•°å€¤ã‚’ã¨ã‚‹ï¼Žçœç•¥æ™‚ã®å€¤ã¯$0.5$ã§ã‚ã‚‹ï¼Ž
ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å€¤ã¯\Param{differentjfm}ã®å€¤ãŒ
\texttt{pleft},~\texttt{pright},~\texttt{paverage}ã®å€¤ã®ã¨ãã®ã¿å®Ÿéš›ã«ç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž

ä¾‹ãˆã°ï¼Œ\cite{x4051}ã§ã¯ï¼Œå¥ç‚¹ã¨ä¸­ç‚¹ã®é–“ã«ã¯ï¼Œ
å¥ç‚¹ç”±æ¥ã®äºŒåˆ†ç©ºãã¨ä¸­ç‚¹ç”±æ¥ã®å››åˆ†ç©ºããŒæŒ¿å…¥ã•ã‚Œã‚‹ãŒï¼Œã“ã®å&nbsp;´åˆã«ã¯
\begin{itemize}
\item \meta{width}ã«ã¯$0.5+0.25=0.75$ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
\item \meta{ratio}ã«ã¯$0.25/(0.5+0.25)=1/3$ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
\end{itemize}
%&lt;/ja&gt;
%&lt;*en&gt;
\

Specifies the amount of kern or glue which will be inserted
between characters in character class~$i$ and those in character class~$j$.

\meta{ratio} specifies how much the glue is originated in the ``right'' character.
It is a real number between 0 and 1, and treated as 0.5 if omitted. For example,
The width of a glue between an ideographic full stop ``ã€‚''
and a fullwidth middle dot ``ãƒ»'' is three-fourth of fullwidth,
namely halfwidth from the ideographic full stop, and
quarter-width from the fullwidth middle dot.  In this case,
we specify \meta{ratio} to $0.25/(0.5+0.25)=1/3$.
%&lt;/en&gt;

%&lt;*ja&gt;
ã‚°ãƒ«ãƒ¼ã®æŒ‡å®šã«ãŠã„ã¦ã¯ï¼Œä¸Šè¨˜ã«åŠ&nbsp;ãˆã¦å„ \texttt{[$j$]} ã®å„ã‚µãƒ–ãƒ†ãƒ¼ãƒ–ãƒ«å†…ã«
æ¬¡ã®ã‚­ãƒ¼ã‚’æŒ‡å®šã§ãã‚‹ï¼Œ
\begin{cslist}[style=standard]
\item[priority=\meta{priority}]
             \Pkg{luatexja-adjust}ã«ã‚ˆã‚‹å„ªå…ˆé&nbsp;†ä½ä»˜ã
	     è¡Œé•·èª¿æ•´ï¼ˆ\ref{ssec:adj}ç¯€ï¼‰ã«ãŠã„ã¦ï¼Œã“ã®ã‚°ãƒ«ãƒ¼ã®å„ªå…ˆåº¦ã‚’æŒ‡å®šã™ã‚‹ï¼Žè¨±ã•ã‚Œã‚‹å€¤ã¯ä»¥ä¸‹ã®é€šã‚Šï¼š
  \begin{description}
    \item[ãƒãƒ¼ã‚¸ãƒ§ãƒ³1] $-4$ã‹ã‚‰$+3$ã®é–“ã®æ•´æ•°
    \item[ãƒãƒ¼ã‚¸ãƒ§ãƒ³2ä»¥é™] $-4$ã‹ã‚‰$+3$ã®é–“ã®æ•´æ•°ã®2ã¤çµ„\texttt{\{\meta{stretch}, \meta{shrink}\}}ã‹ï¼Œ
    ã¾ãŸã¯$-4$ã‹ã‚‰$+3$ã®é–“ã®æ•´æ•°ï¼Ž\meta{stretch}, \meta{shrink}ã¯ãã‚Œãžã‚Œã“ã®ã‚°ãƒ«ãƒ¼ãŒä¼¸ã³ã‚‹ã¨ãã®å„ªå…ˆåº¦ï¼Œç¸®ã‚€ã¨ãã®
    å„ªå…ˆåº¦ã§ã‚ã‚Šï¼Œå˜ã«æ•´æ•°$i$ãŒæŒ‡å®šã•ã‚ŒãŸå&nbsp;´åˆã¯\texttt{\{$i$, $i$\}}ã§ã‚ã‚‹ã¨è§£é‡ˆã•ã‚Œã‚‹ï¼Ž
  \end{description}
  ã“ã“ã§æŒ‡å®šã™ã‚‹å€¤ã¯ï¼Œå¤§ãã„å€¤ã»ã©ã€Œå…ˆã«ä¼¸ã°ã•ã‚Œã‚‹ã€ã€Œå…ˆã«ç¸®ã¾ã›ã‚‹ã€ã“ã¨ã‚’æ„å‘³ã—ã¦ãŠã‚Šï¼Œçœç•¥æ™‚ã®å€¤
             ã¯0ã§ã‚ã‚‹ï¼Žç¯„å›²å¤–ã®å€¤ãŒæŒ‡å®šã•ã‚ŒãŸã¨ãã®å‹•ä½œã¯æœªå®šç¾©ã§ã‚ã‚‹ï¼Ž
\item[kanjiskip\_natural=\meta{num}\textrm{, }%
  kanjiskip\_stretch=\meta{num}\textrm{, }kanjiskip\_shrink=\meta{num}]\leavevmode
  \label{pg:ksp_nat}

JFMã«ã‚ˆã£ã¦æœ¬æ¥æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã®ä»–ã«
\Param{kanjiskip}åˆ†ã®ç©ºç™½ã‚’è‡ªç„¶é•·(\texttt{kanjiskip\_natural})ï¼Œä¼¸ã³é‡(\texttt{kanjiskip\_stretch})ï¼Œ
ç¸®ã¿é‡(\texttt{kanjiskip\_shrink})ã”ã¨ã«æŒ¿å…¥ã™ã‚‹
%  \footnote{æœ¬æ¥\Param{xkanjiskip}ãŒæŒ¿å…¥ã•ã‚Œã‚‹å&nbsp;´æ‰€ã«ãŠã„ã¦ã¯\Param{xkanjiskip}åˆ†ã®ç©ºç™½ã‚’è‡ªç„¶é•·ãƒ»ä¼¸ã³é‡ãƒ»ç¸®ã¿é‡ã”ã¨ã«}%
ãŸã‚ã®æŒ‡å®šã§ã‚ã‚‹ï¼Žã„ãšã‚Œã‚‚çœç•¥ã•ã‚ŒãŸå&nbsp;´åˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯0ï¼ˆè¿½åŠ&nbsp;ã—ãªã„ï¼‰ã§ã‚ã‚‹ï¼Ž

ä¾‹ãˆã°ï¼Œ\LuaTeX-jaã®æ¨ªçµ„æ¨™æº–JFMã® \texttt{jfm-ujis.lua} ã§ã¯ï¼Œ
\begin{itemize}
 \item é€šå¸¸ã®æ–‡å­—ã€Œã‚ã€ã¨é–‹ãæ‹¬å¼§é¡žã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ã¯ï¼Œè‡ªç„¶é•·ãƒ»ç¸®ã¿é‡åŠè§’ï¼Œä¼¸ã³é‡0ã®ã‚°ãƒ«ãƒ¼
ã¨ãªã£ã¦ã„ã‚‹ãŒï¼Œã•ã‚‰ã«\Param{kanjiskip}ã®ä¼¸ã³é‡ã« \texttt{kanjiskip\_stretch}ï¼ˆã“ã“ã§ã¯1ï¼‰ã‚’æŽ›ã‘
       ãŸåˆ†ã&nbsp;ã‘ä¼¸ã³ã‚‹ã“ã¨ãŒè¨±ã•ã‚Œã‚‹ï¼Ž
 \item åŒæ§˜ã«ï¼Œé–‰ã˜æ‹¬å¼§é¡žï¼ˆå…¨è§’ã‚³ãƒ³ãƒžã€Œï¼Œã€ã‚‚å«ã‚€ï¼‰ã¨å’Œæ–‡æ–‡å­—ã€Œã†ã€ã€Œãˆã€ï¼Œ
  é–‰ã˜æ‹¬å¼§é¡žã¨ã€Œfã€ã®é–“ã‚‚è‡ªç„¶é•·ãƒ»ç¸®ã¿é‡åŠè§’ï¼Œä¼¸ã³é‡0ã®ã‚°ãƒ«ãƒ¼
ã¨ãªã£ã¦ã„ã‚‹ãŒï¼Œã•ã‚‰ã«\Param{kanjiskip}ã®ä¼¸ã³é‡ã« \texttt{kanjiskip\_stretch}ï¼ˆã“ã“ã§ã¯1ï¼‰ã‚’æŽ›ã‘
       ãŸåˆ†ã&nbsp;ã‘ä¼¸ã³ã‚‹ã“ã¨ãŒè¨±ã•ã‚Œã‚‹ï¼Ž
 \item ä¸€æ–¹ï¼Œé–‹ãæ‹¬å¼§é¡žã¨é€šå¸¸ã®æ–‡å­—ã®é–“ï¼Œã¾ãŸé€šå¸¸ã®æ–‡å­—ã¨é–‰ã˜æ‹¬å¼§é¡žã®é–“ã¯
  è‡ªç„¶é•·ãƒ»ç¸®ã¿é‡ãƒ»ä¼¸ã³é‡0ã®ã‚°ãƒ«ãƒ¼ã&nbsp;ãŒï¼Œ\Param{kanjiskip}ã®ç¸®ã¿é‡ã«
  \texttt{kanjiskip\_shrink}ï¼ˆã“ã“ã§ã¯1ï¼‰ã‚’æŽ›ã‘ãŸåˆ†ã&nbsp;ã‘ç¸®ã‚€ã“ã¨ãŒè¨±ã•ã‚Œã‚‹ï¼Ž
\end{itemize}
ã¨ãªã£ã¦ã„ã‚‹ï¼Žå¾“ã£ã¦ï¼Œä»¥ä¸‹ã®ã‚ˆã†ãªçµ„ç‰ˆçµæžœã‚’å¾—ã‚‹ï¼Ž

\medskip
\begin{LTXexample}[width=18\zw]
\leavevmode\let\V=\vrule
\ltjsetparameter{kanjiskip=0pt plus 5\zw}
\ltjsetparameter{xkanjiskip=0pt plus 0.5\zw}
\V\hbox spread 7\zw{aã‚ã€Œã„ã€ã†ï¼ŒãˆãŠã€f}\V

\vrule\hbox{ã‚ã‚ã€Œã„ã€ã†ï¼ŒãˆãŠã€f}\V\par
\ltjsetparameter{kanjiskip=0pt minus \zw}
\V\hbox spread -2.5\zw{aã‚ã€Œã„ã€ã†ï¼ŒãˆãŠã€f}\V
\end{LTXexample}
\end{cslist}
%&lt;/ja&gt;
%&lt;*en&gt;
In case of glue, one can specify following additional keys in each \texttt{[$j$]}
	     subtable:
\begin{cslist}[style=standard]
\item[priority=\meta{priority}]
An integer in $[-4,3]$ (treated as 0 if omitted), or
a pair of these integers \texttt{\{\meta{stretch}, \meta{shrink}\}} (version 2~or~later).
This is
used only in line adjustment with priority by \Pkg{luatexja-adjust}
(see Subsection~\ref{ssec:adj}). Higher value means the glue is easy to stretch,
and is also easy to shrink. 
\item[kanjiskip\_natural=\meta{num}\textrm{, }%
  kanjiskip\_stretch=\meta{num}\textrm{, }kanjiskip\_shrink=\meta{num}]\leavevmode

These keys specifies the amount of the natural width of \Param{kanjiskip}%
(the stretch/shrink part, respectively) which will be inserted
in addition to the original JFM glue. Default values of them are all 0.

As an example, in \texttt{jfm-ujis.lua}, the standard JFM in horizontal writing, we have
\begin{itemize}
 \item Between an ordinal letter ``ã‚'' and an ideographic opening bracket, we have
a glue whose natural part and shrink part are both half-width, while its stretch part is
       zero. However, this glue also can be stretched
       as much as the stretch part of \Param{kanjiskip} times the value of
       \texttt{kanjiskip\_stretch} key (1 in this case).
 \item Between an ideographic closeing brackets (including the ideographic comma ``ï¼Œ'')
       and an ordinal letter (including an \textbf{ALchar} ``f\/''), we have the same glue.
       Again, this glue also can be stretched
       as much as the stretch part of \Param{kanjiskip} times the value of
       \texttt{kanjiskip\_stretch} key (1 in this case).
 \item Between an ideographic opening bracket and an ordinal letter
  and between an ordinal letter and an ideographic closing bracket,
  we have a glue whose natural part and stretch part are both zero, while its shrink part as much as
  the shrink part of \Param{kanjiskip}.
\end{itemize}
Hence we have the following result:

\medskip
\begin{LTXexample}[width=18\zw]
\leavevmode\let\V=\vrule
\ltjsetparameter{kanjiskip=0pt plus 5\zw}
\ltjsetparameter{xkanjiskip=0pt plus 0.5\zw}
\V\hbox spread 7\zw{aã‚ã€Œã„ã€ã†ï¼ŒãˆãŠã€f}\V

\vrule\hbox{aã‚ã€Œã„ã€ã†ï¼ŒãˆãŠã€f}\V\par
\ltjsetparameter{kanjiskip=0pt minus \zw}
\V\hbox spread -2.5\zw{aã‚ã€Œã„ã€ã†ï¼ŒãˆãŠã€f}\V
\end{LTXexample}

\end{cslist}
%&lt;/en&gt;
  
\item[end\_stretch=\meta{kern}, end\_shrink=\meta{kern}]
%&lt;*ja&gt;
ï¼ˆä»»æ„ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³1ã®ã¿ï¼‰

å„ªå…ˆé&nbsp;†ä½ä»˜ãè¡Œé•·èª¿æ•´ãŒæœ‰åŠ¹ã§ã‚ã‚Šï¼Œã‹ã¤ç¾åœ¨ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã®æ–‡å­—ãŒè¡Œ
	     æœ«ã«æ¥ãŸæ™‚ã«ï¼Œè¡Œé•·ã‚’è©°ã‚ã‚‹èª¿æ•´ãƒ»ä¼¸ã°ã™èª¿æ•´ã®ãŸ
             ã‚ã«ã“ã®æ–‡å­—ã¨è¡Œæœ«ã®é–“ã«æŒ¿å…¥å¯èƒ½ãªã‚«ãƒ¼ãƒ³ã®å¤§ãã•ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
(optional, version~1 only)
%&lt;/en&gt;

  \item[end\_adjust=\{\meta{kern}, \meta{kern}, ...\}]
%&lt;*ja&gt;
ï¼ˆä»»æ„ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³2ä»¥é™ï¼‰

  è¡Œæœ«æ–‡å­—ã®ä½ç½®èª¿æ•´ãŒæœ‰åŠ¹ã§ã‚ã‚Šï¼Œã‹ã¤ç¾åœ¨ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã®æ–‡å­—ãŒ
  è¡Œæœ«ã«æ¥ãŸæ™‚ã«ï¼Œã“ã®æ–‡å­—ã¨è¡Œæœ«ã®é–“ã«ã¯æŒ‡å®šã•ã‚ŒãŸå€¤ã®ã„ãšã‚Œã‹ã®å¤§ãã•ã®ã‚«ãƒ¼ãƒ³ãŒ
  æŒ¿å…¥ã•ã‚Œã‚‹ï¼ˆ\autoref{ssec:adj}å‚ç…§ï¼‰ï¼Ž

ãƒãƒ¼ã‚¸ãƒ§ãƒ³1ã«ãŠã‘ã‚‹
\begin{lstlisting}[escapechar=\$]
    end_stretch = $a$, end_shrink = $b$
\end{lstlisting}
ã¨ã„ã†æŒ‡å®šã¯ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³2ä»¥é™ã§ã¯æ¬¡ã®æŒ‡å®šã¨åŒã˜ã«ãªã‚‹ï¼Ž
\begin{lstlisting}[escapechar=\$]
    end_adjust = {$-b$, 0.0, $a$}
\end{lstlisting}
ã‚‚ã—çœŸã‚“ä¸­ã® \texttt{0.0} ãŒãªã„å&nbsp;´åˆã¯ï¼Œ$a$ã‹$-b$ã‹ã„ãšã‚Œã‹ã®ã‚«ãƒ¼ãƒ³ãŒå¸¸ã«è¡Œæœ«ã«è¿½åŠ&nbsp;ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
(optional, version~2 or~later)
%&lt;/en&gt;

  \item[round\_threshold=\meta{float}]
%&lt;*ja&gt;
ï¼ˆä»»æ„ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³3ä»¥é™ï¼Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã®ã¿ï¼‰

ã€Œå®Ÿéš›ã®ã‚°ãƒªãƒ•ã®å¹…ã«åˆã‚ã›ã¦æ–‡å­—å¹…ã‚’æ•´æ•°å€ã™ã‚‹ã€éš›ã®ã—ãã„å€¤ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
ã‚ˆã‚Šæ­£ç¢ºã«è¿°ã¹ã‚‹ã¨ï¼Œæ¬¡ã®ã‚ˆã†ã«ãªã‚‹ï¼Žã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«æ­£ã®æ•°$r$ãŒæŒ‡å®šã•ã‚Œã¦ã„ãŸã¨ã—ï¼Œ
JFMä¸­ã§ã€Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã®æ–‡å­—å¹…ã€ã¨æŒ‡å®šã•ã‚Œã¦ã„ã‚‹å€¤ãŒ$w$ï¼Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã«å±žã™ã‚‹æ–‡å­—ã®ã‚ã‚‹ã‚°ãƒªãƒ•ã®å®Ÿéš›ã®å¹…ãŒ$w'$ã§ã‚ã£ãŸã¨ã™ã‚‹ï¼Ž
$n=\nint(w'/w)$ã¨ã—ãŸ
\footnote{ã“ã“ã§ï¼Œ$\nint(a)=\lfloor a+0.5\rfloor$ã¯$a$ã«ã€Œã‚‚ã£ã¨ã‚‚è¿‘ã„æ•´æ•°ã€ã‚’è¡¨ã™ï¼Ž}
ã¨ãï¼Œã‚‚ã—$w'&gt;w$ã‹ã¤$\lvert w'/w-n\rvert \char`&lt;r$ã§ã‚ã‚Œã°ï¼ŒJFMã§æ–‡å­—å¹…$nw$ãŒæŒ‡å®šã•ã‚ŒãŸã‚‚ã®ã¨ã—ã¦æ‰±ã†ï¼Ž

ã“ã®æ©Ÿèƒ½ã¯ï¼Œã»ã¨ã‚“ã©æºãƒŽæ˜Žæœãƒ»æºãƒŽè§’ã‚´ã‚·ãƒƒã‚¯ã«ãŠã‘ã‚‹2å€è§’ãƒ»3å€è§’ãƒ€ãƒƒã‚·ãƒ¥ã®åˆå­—ã®ãŸã‚ã«å®Ÿè£…ã•ã‚ŒãŸã¨
è¨€ã£ã¦ã‚‚ã‚ˆã„ï¼ˆã“ã®å&nbsp;´åˆ$w'=2$,~$3$ã§ã‚ã‚‹ï¼‰ï¼Žã“ã‚Œã‚‰ã®ã‚°ãƒªãƒ•ã¯\LuaTeX å†…éƒ¨ã§ã¯Unicodeã®ç§ç”¨é&nbsp;˜åŸŸã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã‚‹ã®ã§ï¼Œ
JFMå´ã§ç•ªå·ã‚’æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ããªã„ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
(optional, version~3 or~later, only available in character class~0)
%&lt;/en&gt;


\end{cslist}

%&lt;*ja&gt;
\paragraph{æ–‡å­—ã‚¯ãƒ©ã‚¹ã®æ±ºå®š}
æ–‡å­—ã‹ã‚‰ãã®æ–‡å­—ã®å±žã™ã‚‹æ–‡å­—ã‚¯ãƒ©ã‚¹ã‚’ç®—å‡ºã™ã‚‹éŽç¨‹ã«ã¤ã„ã¦ï¼Œ
æ¬¡ã®å†…å®¹ã‚’å«ã‚“ã&nbsp; \texttt{jfm-test.lua} ã‚’ç”¨ã„ã¦èª¬æ˜Žã™ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\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:
%&lt;/en&gt;
\begin{lstlisting}
   [0] = {
      chars = { 'æ¼¢' },
      align = 'left', left = 0.0, down = 0.0,
      width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
   },
   [2000] = {
      chars = { 'ã€‚', 'ï¾‹' },
      align = 'left', left = 0.0, down = 0.0,
      width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
   },
\end{lstlisting}
%&lt;ja&gt;ã“ã“ã§ï¼Œæ¬¡ã®ã‚ˆã†ãªå…¥åŠ›ã¨ãã®å®Ÿè¡Œçµæžœã‚’è€ƒãˆã‚‹ï¼š
%&lt;en&gt;Now consider the following input/output:
\begin{LTXexample}[width=0.3\textwidth]
\jfont\a=IPAexMincho:jfm=test;+hwid
\setbox0\hbox{\a ãƒ’æ¼¢}\the\wd0
\end{LTXexample}
%&lt;*en&gt;
Now we look why the above source outputs 15\,pt.
\begin{enumerate}
\item The character ``ãƒ’'' is converted to its half width  form ``ï¾‹'' by \verb+hwid+ feature.
\item According to the JFM, the character class of ``ï¾‹'' is 2000, hence its width is halfwidth.
\item The character class of ``æ¼¢'' is zero,  hence its width is fullwidth.
\item Hence the width of \cs{hbox} equals to 15\,pt.
\end{enumerate}
This example shows that the character class of a character is generally determined \emph{after
applying font features by \Pkg{luaotfload}}.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šè¨˜ã®å‡ºåŠ›çµæžœãŒï¼Œ15\,ptã¨ãªã£ã¦ã„ã‚‹ã®ã¯ç†ç”±ã«ã‚ˆã‚‹ã‚‚ã®ã§ã‚ã‚‹ï¼š
\begin{enumerate}
\item \verb+hwid+ featureã«ã‚ˆã£ã¦ã€Œãƒ’ã€ãŒåŠè§’å¹…ã®ã‚°ãƒªãƒ•ã€Œï¾‹ã€ã¨ç½®ãæ›ã‚ã‚‹ï¼ˆ\Pkg{luaotfload} ã«ã‚ˆã‚‹å‡¦ç†ï¼‰ï¼Ž
\item JFMã«ã‚ˆã‚Œã°ï¼Œã“ã®ã€Œï¾‹ã€ã®ã‚°ãƒªãƒ•ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã¯2000ã§ã‚ã‚‹ï¼Ž
\item ä»¥ä¸Šã«ã‚ˆã‚Šæ–‡å­—ã‚¯ãƒ©ã‚¹2000ã¨ã¿ãªã•ã‚Œã‚‹ãŸã‚ï¼Œçµæžœã¨ã—ã¦ã€Œï¾‹ã€ã®å¹…ã¯åŠè§’ã&nbsp;ã¨èªè­˜ã•ã‚Œã‚‹ï¼Ž
\end{enumerate}
ã“ã®ä¾‹ã¯ï¼Œ\emph{æ–‡å­—ã‚¯ãƒ©ã‚¹ã®æ±ºå®šã¯OpenTypeæ©Ÿèƒ½ã®é©ç”¨ã«ã‚ˆã‚‹ã‚°ãƒªãƒ•ç½®æ›ã®çµæžœã«åŸºã¥ã}ã“ã¨ã‚’
ç¤ºã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
However, if the class determined by the glyph after application of features is zero,
\LuaTeX-ja adopts the class determined by the glyph \emph{before} application of features.
The following input is an example.
%&lt;/en&gt;
%&lt;*ja&gt;
ä½†ã—ï¼ŒJFMã«ã‚ˆã£ã¦æ±ºã¾ã‚‹ç½®æ›å¾Œã®ã‚°ãƒªãƒ•ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ãŒ0ã§ã‚ã‚‹å&nbsp;´åˆã¯ï¼Œç½®æ›å‰ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã‚’æŽ¡ç”¨ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\jfont\a=HaranoAjiMincho-Regular:jfm=test;+vert
\a æ¼¢ã€‚\inhibitglue æ¼¢
\end{LTXexample}
%&lt;*en&gt;
Here, the character class of the ideographic full stop ``ã€‚''~(\texttt{U+3002}) is determined
as follows:
\begin{enumerate}
\item As the case of ``ãƒ’'', 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'', according to the JFM  is \emph{zero}.
\item However, \LuaTeX-ja remembers that this ``\char"FE12'' is obtained from ``ã€‚'' by
      font features. The character class of ``ã€‚'' is \emph{non-zero value}, namely, 2000.
\item Hence the ideographic full stop ``ã€‚'' in above belongs the character class~2000.
\end{enumerate}
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã“ã§ï¼Œå¥ç‚¹ã€Œã€‚ã€(\texttt{U+3002})ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã¯ï¼Œä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¦æ±ºã¾ã‚‹ï¼Ž
\begin{enumerate}
\item \Pkg{luaotfload}ã«ã‚ˆã£ã¦ç¸¦çµ„ç”¨å¥ç‚¹ã®ã‚°ãƒªãƒ•ã«ç½®ãæ›ã‚ã‚‹ï¼Ž
\item ç½®æ›å¾Œã®ã‚°ãƒªãƒ•ã¯ \texttt{U+FE12} ã§ã‚ã‚Šï¼ŒJFMã«å¾“ãˆã°æ–‡å­—ã‚¯ãƒ©ã‚¹ã¯\emph{0}ã¨åˆ¤å®šã•ã‚Œã‚‹ï¼Ž
\item ã“ã®å&nbsp;´åˆï¼Œç½®æ›å‰ã®æ¨ªçµ„ç”¨å¥ç‚¹ã®ã‚°ãƒªãƒ•ã«ã‚ˆã£ã¦æ–‡å­—ã‚¯ãƒ©ã‚¹ã‚’åˆ¤å®šã™ã‚‹ï¼Ž
\item çµæžœã¨ã—ã¦ï¼Œä¸Šã®å‡ºåŠ›ä¾‹ä¸­ã®å¥ç‚¹ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã¯2000ã¨ãªã‚‹ï¼Ž
\end{enumerate}
%&lt;/ja&gt;


%&lt;ja&gt;\paragraph{ä»®æƒ³çš„ãªæ–‡å­—}
%&lt;en&gt;\paragraph{Imaginary characters}
%&lt;*en&gt;
As described before, one can specify several ``imaginary characters'' in
\texttt{chars} field. The most of these characters are regarded as the
characters of class 0 in \pTeX.
As a result, \LuaTeX-ja can control typesetting finer than \pTeX.
The following is the list of imaginary characters:
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šã§èª¬æ˜Žã—ãŸé€šã‚Šï¼Œ\texttt{chars}ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ä¸­ã«ã¯ã„ãã¤ã‹ã®ã€Œç‰¹æ®Šæ–‡å­—ã€ã‚‚
æŒ‡å®šå¯èƒ½ã§ã‚ã‚‹ï¼Žã“ã‚Œã‚‰ã¯ï¼Œå¤§åŠãŒ\pTeX ã®JFMã‚°ãƒ«ãƒ¼ã®æŒ¿å…¥å‡¦ç†ã§ã¯ã¿ãªã€Œæ–‡å­—
ã‚¯ãƒ©ã‚¹0ã®æ–‡å­—ã€ã¨ã—ã¦æ‰±ã‚ã‚Œã¦ã„ãŸæ–‡å­—ã§ã‚ã‚Šï¼Œãã®çµæžœã¨ã—ã¦\pTeX ã‚ˆã‚Šç´°ã‹
ã„çµ„ç‰ˆèª¿æ•´ãŒã§ãã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Žä»¥ä¸‹ã§ãã®ä¸€è¦§ã‚’è¿°ã¹ã‚‹ï¼š
%&lt;/ja&gt;

\begin{cslist}
%%\item['diffmet']
%%&lt;en&gt;Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
%%&lt;ja&gt;JFMã‚„ã‚µã‚¤ã‚ºãŒç•°ãªã‚‹2ã¤ã®\textbf{JAchar}ã®é–“ã®å¢ƒç•Œã¨ã—ã¦ç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž

\item['boxbdd']
%&lt;*en&gt;
The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
If a hbox~$b$ begins (resp.~ends) a glue or kern between this ``charater'' and a \textbf{JAchar},
\textbf{JAglue} won't be inserted before(resp.~after) the hbox~$b$.
\Param{kanjiskip}~and~\Param{xkanjiskip} around a hbox.
%&lt;/en&gt;
%&lt;*ja&gt;
hboxã®å…ˆé&nbsp;­ã¨æœ«å°¾ï¼ŒåŠã³ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆã•ã‚Œã¦ã„ãªã„ï¼ˆ\cs{noindent} ã§é–‹å§‹ã•ã‚ŒãŸï¼‰æ®µè½ã®å…ˆé&nbsp;­ã‚’è¡¨ã™ï¼Ž
ã“ã®ã€Œæ–‡å­—ã€ã¨ã®é–“ã«è¨­å®šã—ãŸã‚°ãƒ«ãƒ¼ãƒ»ã‚«ãƒ¼ãƒ³ãŒãƒœãƒƒã‚¯ã‚¹$b$ã®å…ˆé&nbsp;­ï¼ˆã‚‚ã—ãã¯æœ«å°¾ï¼‰ã«æ¥ãŸå&nbsp;´åˆï¼Œ
  ãã®ãƒœãƒƒã‚¯ã‚¹$b$ã®ç›´å‰ï¼ˆã‚‚ã—ãã¯ç›´å¾Œï¼‰ã«ã¯å’Œæ–‡å‡¦ç†ã‚°ãƒ«ãƒ¼ã¯å…¥ã‚‰ãªã„ï¼Ž
%&lt;/ja&gt;

\item['parbdd']
%&lt;en&gt;The beginning of an (indented) paragraph.
%&lt;ja&gt;é€šå¸¸ã®ï¼ˆ\cs{noindent} ã§é–‹å§‹ã•ã‚Œã¦ã„ãªã„ï¼‰æ®µè½ã®å…ˆé&nbsp;­ï¼Ž

\item['jcharbdd']
%&lt;en&gt;A boundary between \textbf{JAchar} and anything else.
%&lt;*ja&gt;
\textbf{JAchar}ã¨ã€Œãã®ä»–ã®ã‚‚ã®ã€ã¨ã®å¢ƒç•Œï¼Ž

ãƒãƒ¼ã‚¸ãƒ§ãƒ³2ä»¥å‰ã§ã¯\textbf{ALchar}ï¼Œç®±ï¼Œç½«ç·š(rule)ï¼Œglue,~kernãªã©ã„ã‚ã„ã‚ãªã‚‚ã®ã¨\textbf{JAchar}ã®å¢ƒç•Œã«å¯¾ã—ã¦
æœ¬ç‰¹æ®Šæ–‡å­—ãŒç”¨ã„ã‚‰ã‚Œã¦ã„ãŸãŒï¼Œ
ãƒãƒ¼ã‚¸ãƒ§ãƒ³3ä»¥é™ã§ã¯\ \texttt{'jcharbdd'}, \texttt{'alchar'}, \texttt{'nox\_alchar'},
\texttt{'glue'} ã¨ç´°åˆ†åŒ–ã•ã‚Œï¼Œ
\texttt{'jcharbdd'} ã¯ä¸»ã«\textbf{JAchar}ã¨ãƒœãƒƒã‚¯ã‚¹ã‚„ç½«ç·š(rule)ã¨ã®å¢ƒç•Œã«ä½¿ã‚ã‚Œã‚‹ã‚ˆã†ã«ãªã£ãŸï¼Ž
%&lt;/ja&gt;
  
\item['alchar', 'nox\_alchar']
%&lt;*en&gt;
(version 3~or~later) A boundary between \textbf{JAchar} and \textbf{ALchar}.
%&lt;/en&gt;
%&lt;*ja&gt;
ï¼ˆãƒãƒ¼ã‚¸ãƒ§ãƒ³3ä»¥é™ï¼‰\textbf{JAchar}ã¨\textbf{ALchar}ã¨ã®å¢ƒç•Œï¼Ž
\textbf{JAchar}ã¨\textbf{ALchar}ã®é–“ã«\Param{xkanjiskip}ãŒå…¥ã‚‹ã“ã¨ãŒå¯èƒ½ãªå&nbsp;´åˆã¯
\ \texttt{'alchar'}\ ãŒï¼Œãã†ã§ãªã„å&nbsp;´åˆã¯\ \texttt{'nox\_alchar'}\ ãŒç”¨ã„ã‚‰ã‚Œã‚‹
ï¼ˆã“ã®åŒºåˆ¥ã¯\textbf{ALchar}å´ã®\Param{alxspmode}ã®å€¤ã«ã‚ˆã£ã¦ã®ã¿è¡Œã‚ã‚Œã‚‹ï¼‰ï¼Ž
%&lt;/ja&gt;

\item['glue']
%&lt;en&gt;(version 3~or~later) A boundary between \textbf{JAchar}, and, a glue or kern.
%&lt;ja&gt;ï¼ˆãƒãƒ¼ã‚¸ãƒ§ãƒ³3ä»¥é™ï¼‰\textbf{JAchar}ã¨glueï¼Œkernã¨ã®å¢ƒç•Œï¼Ž

\item[$-1$]
%&lt;en&gt;The left/right boundary of an inline math formula.
%&lt;ja&gt;è¡Œä¸­æ•°å¼ã¨åœ°ã®æ–‡ã¨ã®å¢ƒç•Œï¼Ž
\end{cslist}

%&lt;en&gt;\paragraph{Porting JFM from \pTeX}
%&lt;ja&gt;\paragraph{\pTeX ç”¨å’Œæ–‡ç”¨TFMã®ç§»æ¤}

% ToDo: English version.

%&lt;*en&gt;
See Japanese version of this manual.
%&lt;/en&gt;

%&lt;*ja&gt;
ä»¥ä¸‹ã«ï¼Œ\pTeX ç”¨ã«ä½œã‚‰ã‚ŒãŸå’Œæ–‡ç”¨TFMã‚’\LuaTeX-jaç”¨ã«ç§»æ¤ã™ã‚‹å&nbsp;´åˆã®æ³¨æ„ç‚¹ã‚’æŒ™ã’ã¦ãŠãï¼Ž
\begin{itemize}
\item å®Ÿéš›ã«å‡ºåŠ›ã•ã‚Œã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚µã‚¤ã‚ºãŒdesign sizeã¨ãªã‚‹ï¼Ž
ã“ã®ãŸã‚ï¼Œä¾‹ãˆã°$1\,\textrm{zw}$ãŒdesign sizeã®0.962216å€ã§ã‚ã‚‹JISãƒ•ã‚©ãƒ³
      ãƒˆãƒ¡ãƒˆãƒªãƒƒã‚¯ç­‰ã‚’ç§»æ¤ã™ã‚‹å&nbsp;´åˆã¯ï¼Œæ¬¡ã®ã‚ˆã†ã«ã™ã‚‹ã¹ãã§ã‚ã‚‹ï¼š
\begin{itemize}
\item JFMä¸­ã®å…¨ã¦ã®æ•°å€¤ã‚’$1/0.962216$å€ã—ã¦ãŠãï¼Ž
\item \TeX ã‚½ãƒ¼ã‚¹ä¸­ã§ä½¿ç”¨ã™ã‚‹ã¨ã“ã‚ã§ï¼Œã‚µã‚¤ã‚ºæŒ‡å®šã‚’0.962216å€ã«ã™ã‚‹ï¼Ž
      \LaTeX ã§ã®ãƒ•ã‚©ãƒ³ãƒˆå®£è¨€ãªã‚‰ï¼Œä¾‹ãˆã°æ¬¡ã®ã‚ˆã†ã«ï¼š
\begin{lstlisting}
\DeclareFontShape{JY3}{mc}{m}{n}{&lt;-&gt; s*[0.962216] psft:Ryumin-Light:jfm=jis}{}
\end{lstlisting}
\end{itemize}
\item ä¸Šã«è¿°ã¹ãŸç‰¹æ®Šæ–‡å­—ã¯ï¼Œ\texttt{'boxbdd'}ã‚’é™¤ãæ–‡å­—ã‚¯ãƒ©ã‚¹ã‚’å…¨éƒ¨0ã¨ã™ã‚‹
      ï¼ˆJFMä¸­ã«å˜ã«æ›¸ã‹ãªã‘ã‚Œã°ã‚ˆã„ï¼‰ï¼Ž
\item \texttt{'boxbdd'}ã«ã¤ã„ã¦ã¯ï¼Œãã‚Œã®ã¿ã§ä¸€ã¤ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã‚’å½¢æˆã—ï¼Œãã®
      æ–‡å­—ã‚¯ãƒ©ã‚¹ã«é–¢ã—ã¦ã¯ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã®è¨­å®šã¯ã—ãªã„ï¼Ž

ã“ã‚Œã¯ï¼Œ\pTeX ã§ã¯ï¼Œ
      hboxã®å…ˆé&nbsp;­ãƒ»æœ«å°¾ã¨ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆã•ã‚Œã¦ã„ãªã„ï¼ˆ\cs{noindent} ã§é–‹å§‹ã•
      ã‚ŒãŸï¼‰æ®µè½ã®å…ˆé&nbsp;­ã«ã¯JFMã‚°ãƒ«ãƒ¼ã¯å…¥ã‚‰ãªã„ã¨ã„ã†ä»•æ§˜ã‚’å®Ÿç¾ã•ã›ã‚‹ãŸã‚ã§ã‚ã‚‹ï¼Ž
\item \pTeX ã®çµ„ç‰ˆã‚’å†ç¾ã•ã›ã‚ˆã†ã¨ã„ã†ã®ãŒç›®çš„ã§ã‚ã‚Œã°ä»¥ä¸Šã®æ³¨æ„ã‚’å®ˆã‚Œã°ååˆ†ã§ã‚ã‚‹ï¼Ž

ã¨ã“ã‚ã§ï¼Œ\pTeX ã§ã¯é€šå¸¸ã®æ®µè½ã®å…ˆé&nbsp;­ã«JFMã‚°ãƒ«ãƒ¼ãŒæ®‹ã‚‹ã¨ã„ã†ä»•æ§˜ãŒã‚ã‚‹ã®ã§ï¼Œ
      æ®µè½å…ˆé&nbsp;­ã®é–‹ãæ‹¬å¼§ã¯å…¨è§’äºŒåˆ†ä¸‹ãŒã‚Šã«ãªã‚‹ï¼Žå…¨è§’ä¸‹ãŒã‚Šã‚’å®Ÿç¾ã•ã›ã‚‹ã«
      ã¯ï¼Œæ®µè½ã®æœ€åˆã«æ‰‹å‹•ã§ \cs{inhibitglue} ã‚’è¿½åŠ&nbsp;ã™ã‚‹ã‹ï¼Œã‚ã‚‹ã„ã¯
      \ \cs{everypar} ã®ãƒãƒƒã‚¯ã‚’è¡Œã„ï¼Œãã‚Œã‚’è‡ªå‹•åŒ–ã•ã›ã‚‹ã—ã‹ãªã‹ã£ãŸï¼Ž

ä¸€æ–¹ï¼Œ\LuaTeX-jaã§ã¯ï¼Œ\texttt{'parbdd'}ã«ã‚ˆã£ã¦ï¼Œãã‚ŒãŒJFMå´ã§èª¿æ•´ã§ãã‚‹ã‚ˆ
ã†ã«ãªã£ãŸï¼Žä¾‹ãˆã°ï¼Œ\LuaTeX-jaåŒæ¢±ã®JFMã®ã‚ˆã†ã«ï¼Œ\texttt{'boxbdd'}ã¨åŒã˜æ–‡å­—ã‚¯ãƒ©ã‚¹ã«
\texttt{'parbdd'}ã‚’å…¥ã‚Œã‚Œã°å…¨è§’ä¸‹ãŒã‚Šã¨ãªã‚‹ï¼Ž

\begin{LTXexample}[width=0.4\textwidth]
\jfont\g=HaranoAjiMincho-Regular:jfm=test \g
\parindent1\zw\noindent{}â—†â—†â—†â—†â—†
\par ã€Œâ—†â—†â†äºŒåˆ†ä¸‹ãŒã‚Š
\par ã€â—†â—†â†å…¨è§’ä¸‹ãŒã‚Š
\par ã€”â—†â—†â†å…¨è§’äºŒåˆ†ä¸‹ãŒã‚Š
\end{LTXexample}
\end{itemize}

ä½†ã—ï¼Œ\cs{everypar} ã‚’åˆ©ç”¨ã—ã¦ã„ã‚‹å&nbsp;´åˆã«ã¯ã“ã®ä»•çµ„ã¿ã¯æ­£ã—ãå‹•ã‹ãªã„ï¼Ž
ãã®ã‚ˆã†ãªä¾‹ã¨ã—ã¦ã¯ç®‡æ¡æ›¸ãä¸­ã® \cs{item} ã§å§‹ã¾ã‚‹æ®µè½ãŒã‚ã‚Šï¼Œ\Pkg{ltjsclasses}ã§ã¯
äººå·¥çš„ã«ã€Œ\texttt{'parbdd'}ã®æ„å‘³ã‚’æŒã¤ã€whatsitãƒŽãƒ¼ãƒ‰ã‚’ä½œã‚‹ã“ã¨ã«ã‚ˆã£ã¦å¯¾å‡¦ã—ã¦ã„ã‚‹%
\footnote{\texttt{ltjsclasses.dtx} ã‚’å‚ç…§ã•ã‚ŒãŸã„ï¼Ž
JFMå´ã§ä¸€éƒ¨ã®å¯¾å‡¦ãŒã§ãã‚‹ã“ã¨ã«ã‚ˆã‚Šï¼Œ\Pkg{jsclasses}ã®ã‚ˆã†ã«ifæ–‡ã®åˆ¤å®šã¯ã—ã¦ã„ãªã„ï¼Ž}ï¼Ž
%&lt;/ja&gt;


%&lt;en&gt;\subsection{Math font family}
%&lt;ja&gt;\subsection{æ•°å¼ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒª}
\label{ssec:math}

%&lt;*en&gt;
\TeX\ handles fonts in math formulas by 16~font families\footnote{Omega,
Aleph, \LuaTeX~and $\varepsilon$-\kern-.125em(u)\pTeX\ can handles 256~families, but
an external package is needed to support this in plain \TeX\ and
\LaTeX.}, and each family has three fonts:
\cs{textfont}, \cs{scriptfont} and \cs{scriptscriptfont}.
%&lt;/en&gt;
%&lt;*ja&gt;
\TeX\ ã¯æ•°å¼ãƒ•ã‚©ãƒ³ãƒˆã‚’16ã®ãƒ•ã‚¡ãƒŸãƒª\footnote{Omega, Aleph, \LuaTeXï¼Œãã—ã¦
  $\varepsilon$-\kern-.125em(u)\pTeX\ ã§ã¯256ã®æ•°å¼ãƒ•ã‚¡ãƒŸãƒªã‚’æ‰±ã†ã“ã¨ãŒã§ãã‚‹ãŒï¼Œ
  ã“ã‚Œã‚’ã‚µãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã«plain \TeX ã¨\LaTeX ã§ã¯å¤–éƒ¨ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’èª­ã¿è¾¼ã‚€å¿…è¦ãŒ
  ã‚ã‚‹ï¼Ž}ã§ç®¡ç†ã—ï¼Œãã‚Œãžã‚Œã®ãƒ•ã‚¡ãƒŸãƒªã¯3ã¤ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’æŒã£ã¦ã„ã‚‹ï¼š
\cs{textfont}, \cs{scriptfont} ãã—ã¦ \cs{scriptscriptfont} ã§ã‚ã‚‹.
%&lt;/ja&gt;

%&lt;*en&gt;
\LuaTeX-ja's handling of Japanese fonts in math formulas is similar;
\autoref{tab-math} shows counterparts to \TeX's primitives for math
font families. There is no relation between the value of
\cs{fam} and that of \cs{jfam}; with appropriate settings,
one can set both \cs{fam} and \cs{jfam} to the same value.
Here \meta{jfont\_cs} in the argument of \Param{jatextfont} etc.\ is
a control sequence which is defined by \cs{jfont}, i.e.,
a \emph{horizontal} Japanese font.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã®æ•°å¼ä¸­ã§ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®æ‰±ã„ã‚‚åŒæ§˜ã§ã‚ã‚‹ï¼Ž
\autoref{tab-math}ã¯æ•°å¼ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã«å¯¾ã™ã‚‹ \TeX ã®ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã¨å¯¾å¿œã™ã‚‹
ã‚‚ã®ã‚’ç¤ºã—ã¦ã„ã‚‹ï¼Ž\cs{fam} ã¨ \cs{jfam} ã®å€¤ã®é–“ã«ã¯é–¢ä¿‚ã¯ãªãï¼Œ
é©åˆ‡ãªè¨­å®šã®ä¸‹ã§ã¯ \cs{fam} ã¨ \cs{jfam} ã®ä¸¡æ–¹ã«åŒã˜å€¤ã‚’è¨­å®šã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
\Param{jatextfont} ä»–ã®ç¬¬2å¼•æ•°\meta{jfont\_cs}ã¯ï¼Œ\cs{jfont} ã§å®šç¾©ã•ã‚ŒãŸ
\emph{æ¨ªçµ„ç”¨}å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ã‚ã‚‹ï¼Ž\cs{tfont} ã§å®šç¾©ã•ã‚ŒãŸ
\emph{ç¸¦çµ„ç”¨}å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’æŒ‡å®šã™ã‚‹ã“ã¨ã¯æƒ³å®šã—ã¦ã„ãªã„ï¼Ž
%&lt;/ja&gt;

\begin{table}[!tb]
%&lt;en&gt;\caption{Commands for Japanese math fonts}
%&lt;ja&gt;\caption{å’Œæ–‡æ•°å¼ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾ã™ã‚‹å‘½ä»¤}
\label{tab-math}
%&lt;en&gt;\medskip
\centering
\def\{{\char`\{}\def\}{\char`\}}\small
\begin{tabular}{ll}
\toprule
%&lt;en&gt;\bf Japanese fonts&amp;\bf alphabetic fonts\\
%&lt;ja&gt;\bf å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆ&amp;\bf æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆ\\
\midrule
\cs{jfam}${}\in [0,256)$&amp;\cs{fam}\\
\ttfamily\Param{jatextfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&amp;\ttfamily\cs{textfont}\meta{fam}=\meta{font\_cs}\\
\ttfamily\Param{jascriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&amp;\ttfamily\cs{scriptfont}\meta{fam}=\meta{font\_cs}\\
\ttfamily\Param{jascriptscriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&amp;\ttfamily\cs{scriptscriptfont}\meta{fam}=\meta{font\_cs}\\
\bottomrule
\end{tabular}
\end{table}

%&lt;en&gt;\subsection{Callbacks}
%&lt;ja&gt;\subsection{ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯}

%&lt;*en&gt;
\LuaTeX-ja also has several callbacks. These callbacks can
be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other callbacks.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX è‡ªä½“ã®ã‚‚ã®ã«åŠ&nbsp;ãˆã¦ï¼Œ\LuaTeX-jaã‚‚ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’æŒã£ã¦ã„ã‚‹ï¼Ž
ã“ã‚Œã‚‰ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã«ã¯ï¼Œä»–ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¨åŒæ§˜ã« \verb+luatexbase.add_to_callback+
é–¢æ•°ãªã©ã‚’ç”¨ã„ã‚‹ã“ã¨ã§ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{description}[font=\bfseries, style=nextline]
%&lt;en&gt;\item[\texttt{luatexja.load\_jfm} callback]
%&lt;ja&gt;\item[\texttt{luatexja.load\_jfm}ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯]
%&lt;*en&gt;
With this callback, one can overwrite JFMs.
This callback is called when a new JFM is loaded.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’ç”¨ã„ã‚‹ã“ã¨ã§JFMã‚’ä¸Šæ›¸ãã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¯æ–°ã—ã„JFMãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹ã¨ãã«å‘¼ã³å‡ºã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{lstlisting}[numbers=left]
function (&lt;table&gt; jfm_info, &lt;string&gt; jfm_name)
  return &lt;table&gt; new_jfm_info
end
\end{lstlisting}

%&lt;*en&gt;
The argument \verb+jfm_info+ contains a table similar to the table in a JFM file, except
this argument has \texttt{chars} field which contains character codes
	     whose character class is not~0.
%&lt;/en&gt;
%&lt;*ja&gt;
å¼•æ•° \verb+jfm_info+ ã¯JFMãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ†ãƒ¼ãƒ–ãƒ«ã¨ä¼¼ãŸã‚‚ã®ãŒæ&nbsp;¼ç´ã•ã‚Œã‚‹ãŒï¼Œ
ã‚¯ãƒ©ã‚¹0ã‚’é™¤ã„ãŸæ–‡å­—ã®ã‚³ãƒ¼ãƒ‰ã‚’å«ã‚“ã&nbsp;\texttt{chars}ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’æŒã¤ç‚¹ãŒç•°ãªã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã®ä½¿ç”¨ä¾‹ã¯\texttt{ltjarticle}ã‚¯ãƒ©ã‚¹ã«ã‚ã‚Šï¼Œ
\texttt{jfm-min.lua}ä¸­ã®\texttt{'parbdd'}ã‚’å¼·åˆ¶çš„ã«ã‚¯ãƒ©ã‚¹0ã«å‰²ã‚Šå½“ã¦ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\item[\texttt{luatexja.define\_jfont} callback]
%&lt;ja&gt;\item[\texttt{luatexja.define\_jfont}ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯]
%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¨æ¬¡ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¯çµ„ã‚’ãªã—ã¦ãŠã‚Šï¼ŒUnicodeä¸­ã«å›ºå®šã•ã‚ŒãŸæ–‡å­—ã‚³ãƒ¼ãƒ‰
ç•ªå·ã‚’æŒãŸãªã„æ–‡å­—ã‚’éžé›¶ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã«å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¯æ–°ã—ã„å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒèª­ã¿è¾¼ã¾ã‚ŒãŸã¨ãã«å‘¼ã³å‡ºã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{lstlisting}[numbers=left]
function (&lt;table&gt; jfont_info, &lt;number&gt; font_number)
  return &lt;table&gt; new_jfont_info
end
\end{lstlisting}
%&lt;*en&gt;
\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 \cs{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 \cs{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=\{\meta{character}, ...\}} in the JFM will be  stored in this
	   field as \texttt{chars=\{[\meta{character}]=\,$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*}
  1&amp;(\texttt{'right'} in JFM),\\
  0.5&amp;(\texttt{'middle'} in JFM),\\
  0&amp;(otherwise).
 \end{cases*}
\]
\end{itemize}
For $i$,~$j\in \omega$, \texttt{char\_type[$i$][$j$]} stores a kern or a glue which will be inserted
between character class~$i$ and class~$j$.
\end{description}
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+jfont_info+ ã¯æœ€ä½Žé™ä»¥ä¸‹ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’æŒã¤ãŒï¼Œã“ã‚Œã‚‰ã‚’æ›¸ãæ›ãˆã¦ã¯ãªã‚‰ãªã„ï¼š
\begin{cslist}
\item[size]
å®Ÿéš›ã«ä½¿ã‚ã‚Œã‚‹ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºï¼ˆspå˜ä½ï¼‰ï¼Ž$1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$ï¼Ž
\item[zw\textrm{, }zh\textrm{, }kanjiskip\textrm{, }xkanjiskip]
JFMãƒ•ã‚¡ã‚¤ãƒ«ã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ãã‚Œãžã‚Œã®å€¤ã‚’ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã«åˆã‚ã›ã¦ã‚¹ã‚±ãƒ¼ãƒªãƒ³ã‚°ã—ãŸã‚‚ã®ã‚’
spå˜ä½ã§æ&nbsp;¼ç´ã—ã¦ã„ã‚‹ï¼Ž
\item[jfm]
åˆ©ç”¨ã•ã‚Œã¦ã„ã‚‹JFMã‚’è­˜åˆ¥ã™ã‚‹ãŸã‚ã®ç•ªå·ï¼Ž
\item[var]
\cs{jfont},~\cs{tfont} ã§æŒ‡å®šã•ã‚ŒãŸ \texttt{jfmvar} ã‚­ãƒ¼ã®å€¤ï¼ˆæœªæŒ‡å®šã®ã¨ãã¯ç©ºæ–‡å­—åˆ—ï¼‰ï¼Ž
\item[chars]
æ–‡å­—ã‚³ãƒ¼ãƒ‰ã‹ã‚‰æ–‡å­—ã‚¯ãƒ©ã‚¹ã¸ã®å¯¾å¿œãŒè¨˜è¿°ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ãƒ«ï¼Ž\\
JFMå†…ã® \texttt{[i].chars=\{\meta{character}, ...\}} ã¨ã„ã†æŒ‡å®šã¯\
\texttt{chars=\{[\meta{character}]=\,$i$, ...\}} ã¨ã„ã†å½¢å¼ã«å¤‰æ›ã•ã‚Œã¦ã„ã‚‹ï¼Ž
\item[char\_type]
$i\in\omega$ã«å¯¾ã—ã¦ï¼Œ\texttt{char\_type[$i$]} ã¯æ–‡å­—ã‚¯ãƒ©ã‚¹$i$ã®æ–‡å­—ã®å¯¸æ³•ã‚’æ&nbsp;¼ç´ã—ã¦ãŠã‚Šï¼Œ
ä»¥ä¸‹ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’æŒã¤ï¼Ž
\begin{itemize}
 \item \texttt{width},~\texttt{height}, \texttt{depth},
  \texttt{italic}, \texttt{down},~\texttt{left}\ ã¯
JFMã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ãã‚Œãžã‚Œã®å€¤ã‚’ã‚¹ã‚±ãƒ¼ãƒªãƒ³ã‚°ã—ãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž
 \item \texttt{align} ã¯JFMã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹å€¤ã«ã‚ˆã£ã¦ï¼Œ
\[
 \begin{cases*}
  1&amp;(\texttt{'right'} in JFM),\\
  0.5&amp;(\texttt{'middle'} in JFM),\\
  0&amp;(otherwise).
 \end{cases*}
\]
ã®ã„ãšã‚Œã‹ã®å€¤ã‚’ã¨ã‚‹ï¼Ž
\end{itemize}
$i$,~$j\in \omega$ã«å¯¾ã—ã¦ï¼Œ\texttt{char\_type[$i$][$j$]} ã¯
æ–‡å­—ã‚¯ãƒ©ã‚¹$i$ã®æ–‡å­—ã¨$j$ã®æ–‡å­—ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã‚„ã‚«ãƒ¼ãƒ³ã®æƒ…å&nbsp;±ã‚’æ&nbsp;¼ç´ã—ã¦ã„ã‚‹ï¼Ž

é–“ã«å…¥ã‚‹ã‚‚ã®ãŒã‚«ãƒ¼ãƒ³ã§ã‚ã‚Œã°ï¼Œã“ã®å€¤ã¯%
\texttt{[$j$]=\{\meta{kern}, ratio=\meta{ratio}\}}ã§ã‚ã‚Šï¼Œ
\meta{kern}ã¯ã‚«ãƒ¼ãƒ³ã®å€¤ã‚’spå˜ä½ã§è¡¨ã—ãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž
  
ä¸€æ–¹ï¼Œé–“ã«å…¥ã‚‹ã‚‚ã®ãŒã‚°ãƒ«ãƒ¼ã§ã‚ã‚Œã°ï¼Œã“ã®å€¤ã¯ä»¥ä¸‹ã®ã‚­ãƒ¼ã‚’æŒã¤ãƒ†ãƒ¼ãƒ–ãƒ«ã§ã‚ã‚‹ï¼Ž
\begin{description}
  \item[{[1], [2], [3]}]
  ã‚°ãƒ«ãƒ¼ã®ãã‚Œãžã‚Œè‡ªç„¶é•·ï¼Œä¼¸ã³é‡ï¼Œç¸®ã¿é‡ã‚’spå˜ä½ã§è¡¨ã—ãŸã‚‚ã®ï¼Ž
  \item[\texttt{priority}] ï¼ˆãƒãƒ¼ã‚¸ãƒ§ãƒ³2ä»¥é™ã®ï¼‰JFMã§ã®æŒ‡å®š \texttt{\{\meta{stretch},\meta{shrink}\}} ã‚’
  \[
    (\text{\meta{stretch}}+4)\cdot 8+\text{\meta{shrink}}+4
  \]
  ã¨ã—ã¦0--63ã®æ•´æ•°ã«ãƒ‘ãƒƒã‚¯ã—ãŸã‚‚ã®ï¼Ž
  \item[\texttt{ratio}, \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch}, \texttt{kanjiskip\_shrink}]
  JFMä¸­ã®åŒåã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å€¤ãŒãã®ã¾ã¾ä½¿ã‚ã‚Œã¦ã„ã‚‹ï¼Ž
\end{description}
\item[chars\_cbcache]
æ–‡å­—ã‚¯ãƒ©ã‚¹æ±ºå®šã®å‡¦ç†ã§ï¼Žã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¨ã—ã¦ä½¿ã‚ã‚Œã‚‹ï¼Ž
\end{cslist}
%&lt;/ja&gt;

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
æˆ»ã‚Šå€¤ã® \verb+new_jfont_info+ ãƒ†ãƒ¼ãƒ–ãƒ«ã‚‚ä¸Šã«è¿°ã¹ãŸãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’ãã®ã¾ã¾å«ã¾ãªã‘ã‚Œã°ãªã‚‰ãªã„ãŒï¼Œ
ãã‚Œä»¥å¤–ã«ãƒ¦ãƒ¼ã‚¶ãŒå‹æ‰‹ã«ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’ä»˜ã‘åŠ&nbsp;ãˆã‚‹ã“ã¨ã¯è‡ªç”±ã§ã‚ã‚‹ï¼Ž
\verb+font_number+ ã¯ãƒ•ã‚©ãƒ³ãƒˆç•ªå·ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
A good example of this and the next callbacks is the \Pkg{luatexja-otf}
	     package, supporting \verb+"AJ1-xxx"+ form for Adobe-Japan1
	     CID characters in a JFM. This callback doesn't replace any
	     code of \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã¨æ¬¡ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã®è‰¯ã„ä½¿ç”¨ä¾‹ã¯\Pkg{luatexja-otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã‚ã‚Šï¼Œ
JFMä¸­ã§Adobe-Japan1 CIDã®æ–‡å­—ã‚’ \verb+"AJ1-xxx"+ ã®å½¢ã§æŒ‡å®šã™ã‚‹ãŸã‚ã«
ç”¨ã„ã‚‰ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\item[\texttt{luatexja.find\_char\_class} callback]
%&lt;ja&gt;\item[\texttt{luatexja.find\_char\_class}ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯]
%&lt;*en&gt;
This callback is called just when \LuaTeX-ja is trying to determine which
	     character class a character \verb+chr_code+ belongs.
A function used in this callback should be in the following form:
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¯\LuaTeX-jaãŒ \verb+chr_code+ ã®æ–‡å­—ãŒã©ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã«
å±žã™ã‚‹ã‹ã‚’æ±ºå®šã—ã‚ˆã†ã¨ã™ã‚‹éš›ã«å‘¼ã³å‡ºã•ã‚Œã‚‹ï¼Ž
ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã§å‘¼ã³å‡ºã•ã‚Œã‚‹é–¢æ•°ã¯æ¬¡ã®å½¢ã‚’ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚‰ãªã„ï¼š
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left]
function (&lt;number&gt; char_class, &lt;table&gt; jfont_info, &lt;number&gt; char_code)
  if char_class~=0 then return char_class
  else
    ....
    return (&lt;number&gt; new_char_class or 0)
  end
end
\end{lstlisting}

%&lt;*en&gt;
The argument \verb+char_class+ is the result of \LuaTeX-ja's default
	     routine or previous function calls in this callback, hence
	     this argument may not be 0. Moreover, the returned
	     \verb+new_char_class+ should be as same as \verb+char_class+ when \verb+char_class+
	     is not~0, otherwise you will overwrite the \LuaTeX-ja's
	     default routine.
%&lt;/en&gt;
%&lt;*ja&gt;
å¼•æ•° \verb+char_class+ ã¯\LuaTeX-jaã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ«ãƒ¼ãƒãƒ³ã‹ï¼Œã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã®
ç›´å‰ã®é–¢æ•°å‘¼ã³å‡ºã—ã®çµæžœã‚’å«ã‚“ã§ãŠã‚Šï¼Œã—ãŸãŒã£ã¦ã“ã®å€¤ã¯0ã§ã¯ãªã„ã‹ã‚‚ã—ã‚Œãªã„ï¼Ž
ã•ã‚‰ã«ï¼Œæˆ»ã‚Šå€¤ã® \verb+new_char_class+ ã¯ \verb+char_class+ ãŒéžé›¶ã®ã¨ãã«ã¯
\verb+char_class+ ã®å€¤ã¨åŒã˜ã§ã‚ã‚‹ã¹ãã§ï¼Œãã†ã§ãªã„ã¨ãã¯\LuaTeX-jaã®
ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ«ãƒ¼ãƒãƒ³ã‚’æ›¸ãæ›ãˆã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\item[\texttt{luatexja.set\_width} callback]
%&lt;ja&gt;\item[\texttt{luatexja.set\_width}ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯]
%&lt;*en&gt;
This callback is called when \LuaTeX-ja is trying to encapsule a
	     \textbf{JAchar} \textit{glyph\_node}, to adjust its
	     dimension and position.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¯\LuaTeX-jaãŒ\textbf{JAchar}ã®å¯¸æ³•ã¨ä½ç½®ã‚’èª¿ç¯€ã™ã‚‹ãŸã‚ã«
ãã®\textit{glyph\_node}ã‚’ã‚«ãƒ—ã‚»ãƒ«åŒ–ã—ã‚ˆã†ã¨ã™ã‚‹éš›ã«å‘¼ã³å‡ºã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left]
function (&lt;table&gt; shift_info, &lt;table&gt; jfont_info, &lt;table&gt; char_type)
  return &lt;table&gt; new_shift_info
end
\end{lstlisting}

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
å¼•æ•° \verb+shift_info+ ã¨æˆ»ã‚Šå€¤ã® \verb+new_shift_info+ ã¯
\texttt{down}ã¨\texttt{left}ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’æŒã¡ï¼Œã“ã‚Œã‚‰ã®å€¤ã¯
æ–‡å­—ã®ä¸‹ï¼å·¦ã¸ã®ã‚·ãƒ•ãƒˆé‡ï¼ˆspå˜ä½ï¼‰ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
A good example is \Pkg{test/valign.lua}.
After loading this file, the vertical position of glyphs is automatically
adjusted; the ratio $(\hbox{height}:\hbox{depth})$ of glyphs is adjusted
to be that of letters in the character class~0. For example, suppose that
\begin{itemize}
\item The setting of the JFM: $(\hbox{height})=88x$, $(\hbox{depth})=12x$
  (the standard values of Japanese OpenType fonts);
\item The value of the real font: $(\hbox{height})=28y$, $(\hbox{depth})=5y$
  (the standard values of Japanese TrueType fonts).
\end{itemize}
Then, the position of glyphs is shifted up by
%&lt;/en&gt;
%&lt;*ja&gt;
è‰¯ã„ä¾‹ãŒ\Pkg{test/valign.lua}ã§ã‚ã‚‹ï¼Žã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒèª­ã¿è¾¼ã¾ã‚ŒãŸçŠ¶æ…‹ã§ã¯ï¼Œ
	     JFMå†…ã§è¦å®šã•ã‚ŒãŸæ–‡å­—ã‚¯ãƒ©ã‚¹0ã®æ–‡å­—ã«ãŠã‘ã‚‹$(\hbox{é«˜
	     ã•}):(\hbox{æ·±ã•})$ã®æ¯”ã«ãªã‚‹ã‚ˆã†ã«ï¼Œå®Ÿéš›ã®ãƒ•ã‚©ãƒ³ãƒˆã®å‡ºåŠ›ä¸Š
	     ä¸‹ä½ç½®ãŒè‡ªå‹•èª¿æ•´ã•ã‚Œã‚‹ï¼Žä¾‹ãˆã°ï¼Œ
\begin{itemize}
\item JFMå´ã®è¨­å®šï¼š$(\hbox{é«˜ã•})=88x$, $(\hbox{æ·±ã•})=12x$%
ï¼ˆå’Œæ–‡OpenTypeãƒ•ã‚©ãƒ³ãƒˆã®æ¨™æº–å€¤ï¼‰
\item å®Ÿãƒ•ã‚©ãƒ³ãƒˆå´ã®æ•°å€¤ï¼š$(\hbox{é«˜ã•})=28y$, $(\hbox{æ·±ã•})=5y$ï¼ˆå’Œæ–‡TrueTypeãƒ•ã‚©ãƒ³ãƒˆã®æ¨™æº–å€¤ï¼‰
\end{itemize}
ã¨ãªã£ã¦ã„ãŸã¨ã™ã‚‹ï¼Žã™ã‚‹ã¨ï¼Œå®Ÿéš›ã®æ–‡å­—ã®å‡ºåŠ›ä½ç½®ã¯ï¼Œä»¥ä¸‹ã®é‡ã&nbsp;ã‘ä¸Šã«ãšã‚‰ã•ã‚Œã‚‹ã“ã¨ã¨ãªã‚‹ï¼š
%&lt;/ja&gt;
\[
 \frac{88x}{88x+12x} (28y+5y) - 28y = \frac{26}{25}y= 1.04y.
\]
\end{description}

%&lt;en&gt;\section{Parameters}
%&lt;ja&gt;\section{ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿}
\subsection{\cs{ltjsetparameter}}
\label{ssec:param}

%&lt;*en&gt;
As described before, \cs{ltjsetparameter} and \cs{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
of \LuaTeX, see Section~\ref{sec-para}.
%&lt;/en&gt;
%&lt;*ja&gt;
å…ˆã«è¿°ã¹ãŸã‚ˆã†ã«ï¼Œ\LuaTeX-jaã®å†…éƒ¨ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯
\cs{ltjsetparameter}ï¼ˆã¾ãŸã¯ \cs{ltjglobalsetparameter}ï¼‰ã¨ \cs{ltjgetparameter} ã‚’ç”¨ã„ã‚‹ï¼Ž
\LuaTeX-jaãŒ\pTeX ã®ã‚ˆã†ãªæ–‡æ³•ï¼ˆä¾‹ãˆã°ï¼Œ\verb+\prebreakpenalty`ï¼‰=10000+ï¼‰ã‚’
æŽ¡ç”¨ã—ãªã„ç†ç”±ã®ä¸€ã¤ã¯ï¼Œ\LuaTeX ã®ã‚½ãƒ¼ã‚¹ã«ãŠã‘ã‚‹ \verb+hpack_filter+
ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã®ä½ç½®ã«ã‚ã‚‹ï¼Ž\ref{sec-para}ç«&nbsp;ã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} are commands
for assigning parameters. These take one argument which is a key-value list.
The difference between these two commands is the
scope of assignment;
\cs{ltjsetparameter} does a local assignment and
\cs{ltjglobalsetparameter} does a global one by default.
They also obey the value of \cs{globaldefs}, like other assignments.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{ltjsetparameter} ã¨ \cs{ltjglobalsetparameter} ã¯ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’
æŒ‡å®šã™ã‚‹ãŸã‚ã®å‘½ä»¤ã§ï¼Œkey-valueãƒªã‚¹ãƒˆã‚’
å¼•æ•°ã¨ã—ã¦ã¨ã‚‹ï¼Žä¸¡è€…ã®é•ã„ã¯ã‚¹ã‚³ãƒ¼ãƒ—ã§ã‚ã‚Šï¼Œæ¨™æº–ã§ã¯
\cs{ltjsetparameter} ã¯ãƒ­ãƒ¼ã‚«ãƒ«ãªè¨­å®šã‚’è¡Œã†ã®ã«å¯¾ã—ï¼Œ
\cs{ltjglobalsetparameter} ã¯ã‚°ãƒ­ãƒ¼ãƒãƒ«ãªè¨­å®šã‚’è¡Œã†ï¼Ž
ã¾ãŸï¼Œä»–ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿æŒ‡å®šã¨åŒæ§˜ã« \cs{globaldefs} ã®å€¤ã«ã‚‚å¾“ã†ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
The following is the list of parameters which can be specified by the
\cs{ltjsetparameter} command. [\cs{cs}] indicates the counterpart
in \pTeX, and symbols beside each parameter has the following meaning:
%&lt;/en&gt;
%&lt;*ja&gt;
ä»¥ä¸‹ã¯ \cs{ltjsetparameter} ã«æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®ä¸€è¦§ã§ã‚ã‚‹ï¼Ž
[\cs{cs}]ã¯\pTeX ã«ãŠã‘ã‚‹å¯¾å¿œç‰©ã‚’ç¤ºã™ï¼Ž
ã¾ãŸï¼Œãã‚Œãžã‚Œã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å³ä¸Šã®è¨˜å·ã«ã¯æ¬¡ã®æ„å‘³ãŒã‚ã‚‹ï¼š
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item ``$\ast$'' : values at the end of a paragraph or a hbox are
adopted in the whole paragraph or the whole hbox.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ``$\ast$''ï¼šæ®µè½ã‚„hboxã®çµ‚ç«¯ã§ã®å€¤ãŒãã®æ®µè½ï¼hboxå…¨ä½“ã§ç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item ``\dagger'': assignments are always global.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ``\dagger''ï¼šæŒ‡å®šã¯å¸¸ã«ã‚°ãƒ­ãƒ¼ãƒãƒ«ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;
\end{itemize}

\begin{cslist}[style=standard]
\item[\DParam{jcharwidowpenalty}\,=\meta{penalty}$^\ast$] [\cs{jcharwidowpenalty}]\

%&lt;*en&gt;
Penalty value for suppressing orphans. This penalty is inserted just
	     after the last \textbf{JAchar} which is not regarded as a
	     (Japanese) punctuation mark.
%&lt;/en&gt;
%&lt;*ja&gt;
ãƒ‘ãƒ©ã‚°ãƒ©ãƒ•ã®æœ€å¾Œã®å­—ãŒå­¤ç«‹ã—ã¦æ”¹è¡Œã•ã‚Œã‚‹ã®ã‚’é˜²ããŸã‚ã®ãƒšãƒŠãƒ«ãƒ†ã‚£ã®å€¤ï¼Ž
ã“ã®ãƒšãƒŠãƒ«ãƒ†ã‚£ã¯ï¼ˆæ—¥æœ¬èªžã®ï¼‰å¥èª­ç‚¹ã¨ã—ã¦æ‰±ã‚ã‚Œãªã„æœ€å¾Œã®\textbf{JAchar}ã®ç›´å¾Œã«
æŒ¿å…¥ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\DParam{kcatcode}\,=\{\meta{char\_code},\meta{natural number}\}$^\ast$]\

%&lt;*en&gt;
An additional attributes which each character whose character code is \meta{char\_code} has.
At version~20120506.0 or later, the lowermost bit of \meta{natural number} indicates
	     whether the character is considered as a punctuation mark
	     (see the description of \Param{jcharwidowpenalty} above).
%&lt;/en&gt;
%&lt;*ja&gt;
æ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ\meta{char\_code}ã®æ–‡å­—ãŒæŒã¤ä»˜åŠ&nbsp;çš„ãªå±žæ€§å€¤ï¼Ž
ãƒãƒ¼ã‚¸ãƒ§ãƒ³20120506.0ä»¥é™ã§ã¯ï¼Œ\meta{natural number}ã®æœ€ä¸‹ä½ãƒ“ãƒƒãƒˆãŒï¼Œãã®æ–‡å­—ãŒå¥èª­ç‚¹ã¨
ã¿ãªã•ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’è¡¨ã—ã¦ã„ã‚‹ï¼ˆä¸Šã®\Param{jcharwidowpenalty}ã®è¨˜è¿°ã‚’å‚ç…§ï¼‰ï¼Ž
%&lt;/ja&gt;

\item[\DParam{prebreakpenalty}\,=\{\meta{char\_code},\meta{penalty}\}$^\ast$] [\cs{prebreakpenalty}]\

%&lt;*ja&gt;
æ–‡å­—ã‚³ãƒ¼ãƒ‰\meta{char\_code}ã®\textbf{JAchar}ãŒè¡Œé&nbsp;­ã«ãã‚‹ã“ã¨ã‚’æŠ‘æ­¢ã™ã‚‹ãŸã‚ã«ï¼Œ
	     ã“ã®æ–‡å­—ã®å‰ã«æŒ¿å…¥/è¿½åŠ&nbsp;ã•ã‚Œã‚‹ãƒšãƒŠãƒ«ãƒ†ã‚£ã®é‡ã‚’æŒ‡å®šã™ã‚‹ï¼Ž

ä¾‹ãˆã°é–‰ã˜æ‹¬å¼§ã€Œã€—ã€ã¯çµ¶å¯¾ã«è¡Œé&nbsp;­ã«ãã¦ã¯ãªã‚‰ãªã„ã®ã§ï¼Œ
\begin{lstlisting}
\ltjsetparameter{prebreakpenalty={`ã€™,10000}}
\end{lstlisting}
ã¨ï¼Œæœ€å¤§å€¤ã®10000ãŒæ¨™æº–ã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ï¼Žä»–ã«ã‚‚ï¼Œå°æ›¸ãã®ã‚«ãƒŠãªã©ï¼Œçµ¶å¯¾ç¦æ­¢ã¨ã„
	     ã†ã‚ã‘ã§ã¯ãªã„ãŒã§ãã‚Œã°è¡Œé&nbsp;­ã«ã¯ãã¦æ¬²ã—ããªã„å&nbsp;´åˆã«ï¼Œ0ã¨
	     10000ã®é–“ã®å€¤ã‚’æŒ‡å®šã™ã‚‹ã®ã‚‚æœ‰ç”¨ã§ã‚ã‚ã†ï¼Ž

\pTeX ã§ã¯ï¼Œ\cs{prebreakpenalty}, \cs{postbreakpenalty}ã«ãŠã„ã¦ï¼Œ
\begin{itemize}
\item ä¸€ã¤ã®æ–‡å­—ã«å¯¾ã—ã¦ï¼Œpre, postã©ã¡ã‚‰ã‹ä¸€ã¤ã—ã‹æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ããªã„%
  \footnote{å¾Œã‹ã‚‰æŒ‡å®šã—ãŸæ–¹ã§ä¸Šæ›¸ãã•ã‚Œã‚‹ï¼Ž}
\item pre, poståˆã‚ã›ã¦256æ–‡å­—åˆ†ã®æƒ…å&nbsp;±ã‚’æ&nbsp;¼ç´ã™ã‚‹ã“ã¨ã—ã‹ã§ããªã„
\end{itemize}
ã¨ã„ã†åˆ¶é™ãŒã‚ã£ãŸãŒï¼Œ\LuaTeX-jaã§ã¯ã“ã‚Œã‚‰ã®åˆ¶é™ã¯è§£æ¶ˆã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
Set a penalty which is inserted automatically before the character \meta{char\_code},
to prevent a line starts from this character. For example, a line cannot started
with one of closing brackets ``ã€—'', so \LuaTeX-ja sets
\begin{lstlisting}
\ltjsetparameter{prebreakpenalty={`ã€™,10000}}
\end{lstlisting}
by default.

\pTeX\ has following restrictions on \cs{prebreakpenalty} and \cs{postbreakpenalty},
but they don't exist in \LuaTeX-ja:
\begin{itemize}
 \item Both \cs{prebreakpenalty} and \cs{postbreakpenalty} cannot be set
for the same character.
 \item We can set \cs{prebreakpenalty} and \cs{postbreakpenalty} up to 256~characters.
\end{itemize}
%&lt;/en&gt;

\item[\DParam{postbreakpenalty}\,=\{\meta{char\_code},\meta{penalty}\}$^\ast$]
	   [\cs{postbreakpenalty}]\

%&lt;*ja&gt;
æ–‡å­—ã‚³ãƒ¼ãƒ‰\meta{char\_code}ã®\textbf{JAchar}ãŒè¡Œæœ«ã«ãã‚‹ã“ã¨ã‚’æŠ‘æ­¢ã™ã‚‹ãŸã‚ã«ï¼Œ
	     ã“ã®æ–‡å­—ã®å¾Œã«æŒ¿å…¥/è¿½åŠ&nbsp;ã•ã‚Œã‚‹ãƒšãƒŠãƒ«ãƒ†ã‚£ã®é‡ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
Set a penalty which is inserted automatically after the character \meta{char\_code},
to prevent a line ends with this character.
%&lt;/en&gt;

\item[\DParam{jatextfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$]
%&lt;en&gt;[\cs{textfont} in \TeX]
%&lt;ja&gt;[\TeX ã® \cs{textfont}]
\item[\DParam{jascriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$]
%&lt;en&gt;[\cs{scriptfont} in \TeX]
%&lt;ja&gt;[\TeX ã® \cs{scriptfont}]
\item[\DParam{jascriptscriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$]
%&lt;en&gt;[\cs{scriptscriptfont} in \TeX]
%&lt;ja&gt;[\TeX ã® \cs{scriptscriptfont}]
\item[\DParam{yjabaselineshift}\,=\meta{dimen}]\
\item[\DParam{yalbaselineshift}\,=\meta{dimen}] [\cs{ybaselineshift}]
\item[\DParam{tjabaselineshift}\,=\meta{dimen}]\
\item[\DParam{talbaselineshift}\,=\meta{dimen}] [\cs{tbaselineshift}]

\item[\DParam{jaxspmode}\,=\{\meta{char\_code},\meta{mode}\}$^\ast$]\

%&lt;*en&gt;
Set whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is \meta{char\_code}.
The followings are allowed for \meta{mode}:
%&lt;/en&gt;
%&lt;*ja&gt;
æ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ\meta{char\_code}ã®\textbf{JAchar}ã®å‰ï¼å¾Œã‚ã«\Param{xkanjiskip}ã®
æŒ¿å…¥ã‚’è¨±ã™ã‹ã©ã†ã‹ã®è¨­å®šï¼Ž
ä»¥ä¸‹ã®\meta{mode}ãŒè¨±ã•ã‚Œã‚‹ï¼š
%&lt;/ja&gt;
\begin{description}
%&lt;en&gt;\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
%&lt;ja&gt;\item[0, \texttt{inhibit}] \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æ–‡å­—ã®å‰ï¼å¾Œã‚ã®ã„ãšã‚Œã§ã‚‚ç¦æ­¢ã•ã‚Œã‚‹ï¼Ž
%&lt;en&gt;\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
%&lt;ja&gt;\item[1, \texttt{preonly}] \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æ–‡å­—ã®å‰ã§ã¯è¨±ã•ã‚Œã‚‹ãŒï¼Œå¾Œã‚ã§ã¯è¨±ã•ã‚Œãªã„ï¼Ž
%&lt;en&gt;\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
%&lt;ja&gt;\item[2, \texttt{postonly}] \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æ–‡å­—ã®å¾Œã‚ã§ã¯è¨±ã•ã‚Œã‚‹ãŒï¼Œå‰ã§ã¯è¨±ã•ã‚Œãªã„ï¼Ž
%&lt;en&gt;\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed both before the character and after the character. This is the default value.
%&lt;ja&gt;\item[3, \texttt{allow}] \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æ–‡å­—ã®å‰ï¼å¾Œã‚ã®ã„ãšã‚Œã§ã‚‚è¨±ã•ã‚Œã‚‹ï¼Žã“ã‚ŒãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å€¤ã§ã‚ã‚‹ï¼Ž
\end{description}
%&lt;*en&gt;
This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not compatible with \cs{inhibitxspcode}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã¯\pTeX ã® \cs{inhibitxspcode} ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã¨ä¼¼ã¦ã„ã‚‹ãŒï¼Œ
äº’æ›æ€§ã¯ãªã„ï¼Ž
%&lt;/ja&gt;
\item[\DParam{alxspmode}\,=\{\meta{char\_code},\meta{mode}\}$^\ast$] [\cs{xspcode}]\

%&lt;*en&gt;
Set whether inserting \Param{xkanjiskip} is allowed before/after a
	     \textbf{ALchar} whose character code is \meta{char\_code}.
             The followings are allowed for \meta{mode}:
%&lt;/en&gt;
%&lt;*ja&gt;
æ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ\meta{char\_code}ã®\textbf{ALchar}ã®å‰ï¼å¾Œã‚ã«\Param{xkanjiskip}ã®
æŒ¿å…¥ã‚’è¨±ã™ã‹ã©ã†ã‹ã®è¨­å®šï¼Ž
ä»¥ä¸‹ã®\meta{mode}ãŒè¨±ã•ã‚Œã‚‹ï¼š
%&lt;/ja&gt;
\begin{description}
%&lt;en&gt;\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
%&lt;ja&gt;\item[0, \texttt{inhibit}] \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æ–‡å­—ã®å‰ï¼å¾Œã‚ã®ã„ãšã‚Œã§ã‚‚ç¦æ­¢ã•ã‚Œã‚‹ï¼Ž
%&lt;en&gt;\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
%&lt;ja&gt;\item[1, \texttt{preonly}] \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æ–‡å­—ã®å‰ã§ã¯è¨±ã•ã‚Œã‚‹ãŒï¼Œå¾Œã‚ã§ã¯è¨±ã•ã‚Œãªã„ï¼Ž
%&lt;en&gt;\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
%&lt;ja&gt;\item[2, \texttt{postonly}] \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æ–‡å­—ã®å¾Œã‚ã§ã¯è¨±ã•ã‚Œã‚‹ãŒï¼Œå‰ã§ã¯è¨±ã•ã‚Œãªã„ï¼Ž
%&lt;en&gt;\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed before the character and after the character. This is the default value.
%&lt;ja&gt;\item[3, \texttt{allow}] \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æ–‡å­—ã®å‰ï¼å¾Œã‚ã®ã„ãšã‚Œã§ã‚‚è¨±ã•ã‚Œã‚‹ï¼Žã“ã‚ŒãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å€¤ã§ã‚ã‚‹ï¼Ž
\end{description}
%&lt;*en&gt;
Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common table, hence these two parameters are synonyms of each other.
%&lt;/en&gt;
%&lt;*ja&gt;
\Param{jaxspmode}ã¨\Param{alxspmode}ã¯å…±é€šã®ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’ç”¨ã„ã¦ã„ã‚‹ãŸã‚ï¼Œ
ã“ã‚Œã‚‰2ã¤ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã¯äº’ã„ã®åˆ¥åã¨ãªã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã™ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\DParam{autospacing}\,=\meta{bool}] [\cs{autospacing}]
\item[\DParam{autoxspacing}\,=\meta{bool}] [\cs{autoxspacing}]
\item[\DParam{kanjiskip}\,=\meta{skip}$^\ast$] [\cs{kanjiskip}]\

%&lt;*ja&gt;
ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§2ã¤ã®\textbf{JAchar}ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã§ã‚ã‚‹ï¼Ž
é€šå¸¸ã§ã¯ï¼Œ\pTeX ã¨åŒã˜ã‚ˆã†ã«ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã«æ¯”ä¾‹ã—ã¦å¤‰ã‚ã‚‹ã“ã¨ã¯ãªã„ï¼Ž
ã—ã‹ã—ï¼Œè‡ªç„¶é•·ãŒ \cs{maxdimen} ã®å&nbsp;´åˆã¯ï¼Œä¾‹å¤–çš„ã«å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®JFMå´ã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹
å€¤ã‚’æŽ¡ç”¨ï¼ˆã“ã¡ã‚‰ã¯ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã«æ¯”ä¾‹ï¼‰ã™ã‚‹ã“ã¨ã«ãªã£ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
The default glue which inserted between two \textbf{JAchar}s.
Changing current Japanese font does not alter this parameter, as \pTeX.

If the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec:jfm-str}).
%&lt;/en&gt;

\item[\DParam{xkanjiskip}\,=\meta{skip}$^\ast$] [\cs{xkanjiskip}]\

%&lt;*ja&gt;
ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§\textbf{JAchar}ã¨\textbf{ALchar}ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã§ã‚ã‚‹ï¼Ž
\Param{kanjiskip}ã¨åŒã˜ã‚ˆã†ã«ï¼Œé€šå¸¸ã§ã¯ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã«æ¯”ä¾‹ã—ã¦å¤‰ã‚ã‚‹ã“ã¨ã¯ãªã„ãŒï¼Œ
è‡ªç„¶é•·ãŒ \cs{maxdimen} ã®å&nbsp;´åˆãŒä¾‹å¤–ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
The default glue which inserted between a \textbf{JAchar} and an
      \textbf{ALchar}.
Changing current font does not alter this parameter, as \pTeX.

As \Param{kanjiskip}, if the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec:jfm-str}).
%&lt;/en&gt;


\item[\DParam{differentjfm}\,=\meta{mode}$^\dagger$]\

%&lt;*en&gt;
Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
The allowed arguments are the followings:
%&lt;/en&gt;
%&lt;*ja&gt;
JFMï¼ˆã‚‚ã—ãã¯ã‚µã‚¤ã‚ºï¼‰ãŒç•°ãªã‚‹2ã¤ã®\textbf{JAchar}ã®é–“ã«ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã‚’ã©ã®ã‚ˆã†ã«
å…¥ã‚Œã‚‹ã‹ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
è¨±ã•ã‚Œã‚‹å€¤ã¯ä»¥ä¸‹ã®é€šã‚Šï¼š
%&lt;/ja&gt;
\begin{quote}
\texttt{average},
\texttt{both},
\texttt{large},
\texttt{small},
\texttt{pleft},
\texttt{pright},
\texttt{paverage}
\end{quote}
%&lt;*en&gt;
The default value is \texttt{paverage}. \dots
%&lt;/en&gt;
%&lt;*ja&gt;
ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ \texttt{paverage} ã§ã‚ã‚‹ï¼Ž
å„ã€…ã®å€¤ã«ã‚ˆã‚‹å·®ç•°ã®è©³ç´°ã¯\ref{ssec:cluster-wa}ç¯€ã®ã€Œã€Žå³ç©ºç™½ã€ã®ç®—å‡ºã€ã‚’å‚ç…§ã—ã¦ã»ã—ã„ï¼Ž
%&lt;/ja&gt;

\item[\DParam{jacharrange}\,=\meta{ranges}]
\item[\DParam{kansujichar}\,=\{\meta{digit}, \meta{char\_code}\}$^\ast$] [\cs{kansujichar}]

\item[\DParam{direction}\,=\meta{dir}\ \hbox{\normalfont\rmfamily (always local)}]\

%&lt;*en&gt;
Assigning to this parameter has the same effect as
\cs{yoko}~(if $\hbox{\meta{dir}}=4$), \cs{tate}~(if $\hbox{\meta{dir}}=3$),
\cs{dtou}~(if $\hbox{\meta{dir}}=1$) or \cs{utod}~(if $\hbox{\meta{dir}}=11$).
If the argument \meta{dir} is not one of 4,~3, 1~nor~11,
the behavior of this assignment is undefined.
%&lt;/en&gt;
%&lt;*ja&gt;
çµ„æ–¹å‘ã‚’å¤‰æ›´ã™ã‚‹ \cs{yoko}~(if $\hbox{\meta{dir}}=4$), \cs{tate}~(if $\hbox{\meta{dir}}=3$),
\cs{dtou}~(if $\hbox{\meta{dir}}=1$), \cs{utod}~(if $\hbox{\meta{dir}}=11$) ã¨åŒã˜å½¹å‰²ã‚’æŒã¤ï¼Ž
åˆ©ç”¨å¯èƒ½ãªçŠ¶æ³ã‚‚ã“ã‚Œã‚‰4å‘½ä»¤ã¨åŒä¸€ã§ã‚ã‚‹ï¼Žå¼•æ•°\meta{dir}ãŒ4,~3, 1,~11ã®ã„ãšã‚Œã§ã‚‚ç„¡ã„ã¨ãã®
å‹•ä½œã¯æœªå®šç¾©ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\end{cslist}


\subsection{\cs{ltjgetparameter}}
\label{ssec:getpar}
%&lt;*en&gt;
\cs{ltjgetparameter} is a control sequence for acquiring parameters. It
always takes a parameter name as first argument.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{ltjgetparameter} ã¯ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å€¤ã‚’å–å¾—ã™ã‚‹ãŸã‚ã®å‘½ä»¤ã§ã‚ã‚Šï¼Œ
å¸¸ã«ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®åå‰ã‚’ç¬¬ä¸€å¼•æ•°ã«ã¨ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}
\ltjgetparameter{differentjfm},
\ltjgetparameter{autospacing},
\ltjgetparameter{kanjiskip},
\ltjgetparameter{prebreakpenalty}{`ï¼‰}.
\end{LTXexample}

%&lt;*en&gt;
\emph{The return value of\/ \cs{ltjgetparameter} is
always a string}, which is outputted by \texttt{tex.write()}.
Hence any character other than space~``\texttt{\char32}''~(\texttt{U+0020}) has the category code
12~(other), while the space has 10~(space).
%&lt;/en&gt;
%&lt;*ja&gt;
\emph{\cs{ltjgetparameter} ã®æˆ»ã‚Šå€¤ã¯å¸¸ã«æ–‡å­—åˆ—ã§ã‚ã‚‹ï¼Ž}
ã“ã‚Œã¯\texttt{tex.write()}ã«ã‚ˆã£ã¦å‡ºåŠ›ã—ã¦ã„ã‚‹ãŸã‚ã§ï¼Œç©ºç™½ã€Œ\texttt{\char32}ã€
(\texttt{U+0020})ã‚’é™¤ã„ãŸæ–‡å­—ã®ã‚«ãƒ†ã‚´ãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ã¯å…¨ã¦12~(other)ã¨ãªã‚‹ï¼Ž
ä¸€æ–¹ï¼Œç©ºç™½ã®ã‚«ãƒ†ã‚´ãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ã¯10~(space)ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{itemize}
\item
%&lt;*en&gt;
If first argument is one of the
following, no  additional argument is needed.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¬¬1å¼•æ•°ãŒæ¬¡ã®ã„ãšã‚Œã‹ã®å&nbsp;´åˆã«ã¯ï¼Œè¿½åŠ&nbsp;ã®å¼•æ•°ã¯å¿…è¦ãªã„ï¼Ž
%&lt;/ja&gt;
\begin{quote}
\sffamily
jcharwidowpenalty, yjabaselineshift, yalbaselineshift, autospacing, autoxspacing,\\
kanjiskip, xkanjiskip, differentjfm, direction
\end{quote}
%&lt;*en&gt;
Note that \verb+\ltjgetparameter{autospacing}+~and~\verb+\ltjgetparameter{autoxspacing}+
returns 1 or 0, not
\texttt{true}~nor~\texttt{false}.
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{autospacing}+ ã¨ \verb+\ltjgetparameter{autoxspacing}+ ã¯ï¼Œ
\texttt{true}ã‚„\texttt{false}ã‚’è¿”ã™ã®\emph{ã§ã¯ãªã}ï¼Œ
1ã‹0ã®ã„ãšã‚Œã‹ã‚’è¿”ã™ã“ã¨ã«æ³¨æ„ï¼Œ
%&lt;/ja&gt;

\item
%&lt;*en&gt;
If first argument is one of the
following, an additional argument---a character code, for example---is needed.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¬¬1å¼•æ•°ãŒæ¬¡ã®ã„ãšã‚Œã‹ã®å&nbsp;´åˆã«ã¯ï¼Œã•ã‚‰ã«æ–‡å­—ã‚³ãƒ¼ãƒ‰ã‚’ç¬¬2å¼•æ•°ã¨ã—ã¦ã¨ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{quote}
\sffamily
kcatcode, prebreakpenalty, postbreakpenalty, jaxspmode, alxspmode
\end{quote}
%&lt;*en&gt;
\verb+\ltjgetparameter{jaxspmode}{...}+~and~\verb+\ltjgetparameter{alxspmode}{...}+
returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc.
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{jaxspmode}{...}+ ã‚„ \verb+\ltjgetparameter{alxspmode}{...}+\
ã¯ï¼Œ\texttt{preonly} ãªã©ã¨ã„ã£ãŸæ–‡å­—åˆ—ã§ã¯ãªãï¼Œ0ã‹ã‚‰3ã¾ã§ã®å€¤ã‚’è¿”ã™ï¼Ž
%&lt;/ja&gt;

\item
%&lt;*en&gt;
\verb+\ltjgetparameter{jacharrange}{+\meta{range}\verb+}+ returns \texttt{0}
if ``characters which belong to the character range~\meta{range} are \textbf{JAchar}'',
\texttt{1} if ``\dots~are \textbf{ALchar}''.
Although there is no character range~$-1$, specifying $-1$ to \meta{range} does not cause an
      error (returns 1).
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{jacharrange}{+\meta{range}\verb+}+ ã¯ï¼Œ\meta{range}ãŒ\textbf{JAchar}é”ã®
ç¯„å›²ãªã‚‰ã°0ã‚’ï¼Œãã†ã§ãªã‘ã‚Œã°1ã‚’è¿”ã™ï¼Žã€Œ$-1$ç•ªã®æ–‡å­—ç¯„å›²ã€ã¯å­˜åœ¨ã—ãªã„ãŒï¼Œ\meta{range}ã«$-1$ã‚’
æŒ‡å®šã—ã¦ã‚‚ã‚¨ãƒ©ãƒ¼ã¯ç™ºç”Ÿã—ãªã„ï¼ˆ1ã‚’è¿”ã™ï¼‰ï¼Ž
%&lt;/ja&gt;

\item
%&lt;*en&gt;
For an integer~\meta{digit} between 0~and~9,
     \verb+\ltjgetparameter{kansujichar}{+\meta{digit}\verb+}+ returns the character code
of the result of \cs{kansuji}\meta{digit}.
%&lt;/en&gt;
%&lt;*ja&gt;
0--9ã®æ•°\meta{digit}ã«å¯¾ã—ã¦ï¼Œ
\verb+\ltjgetparameter{kansujichar}{+\meta{digit}\verb+}+ ã¯ï¼Œ\cs{kansuji}\meta{digit}ã§å‡ºåŠ›ã•ã‚Œ
     ã‚‹æ–‡å­—ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã™ï¼Ž
%&lt;/ja&gt;

\item
%&lt;*en&gt;
\verb+\ltjgetparameter{adjustdir}+ returns a integer which represents
the direction of the surrounding vertical list.
As \Param{direction}, the return value 1 means \emph{dtou} direction,
3 means \emph{tate} direction (vertical typesetting),
and 4 means \emph{yoko} direction (horizontal typesetting).
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{adjustdir}+ ã¯ï¼Œå‘¨å›²ã®vboxã®çµ„æ–¹å‘ï¼ˆè¨€ã„æ›ãˆã‚Œã°ï¼Œ
\cs{vadjust} ã§ç”¨ã„ã‚‰ã‚Œã‚‹çµ„æ–¹å‘ï¼‰ã‚’è¡¨ã™æ•°å€¤ã‚’è¿”ã™ï¼Ž
\Param{direction}ã¨åŒæ§˜ã«ï¼Œ1ã¯ \cs{dtou} æ–¹å‘ã‚’ï¼Œ
3ã¯ç¸¦çµ„ã¿ã‚’ï¼Œ4ã¯æ¨ªçµ„ã¿ã‚’è¡¨ã™ï¼Ž
%&lt;/ja&gt;

\item
%&lt;*en&gt;
For an integer~\meta{register} between 0~and~65535,
\verb+\ltjgetparameter{boxdir}{+\meta{register}\verb+}+ returns the direction of
\cs{box}\meta{register}. If this box register is void, the returned value is zero.
%&lt;/en&gt;
%&lt;*ja&gt;
0--65535ã®æ•°\meta{register}ã«å¯¾ã—ã¦ï¼Œ
\verb+\ltjgetparameter{boxdir}{+\meta{register}\verb+}+ ã¯ï¼Œ\cs{box}\meta{register}ã«
æ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹ãƒœãƒƒã‚¯ã‚¹ã®çµ„æ–¹å‘ã‚’è¡¨ã™ï¼Žã‚‚ã—ã“ã®ãƒ¬ã‚¸ã‚¹ã‚¿ãŒç©ºã®å&nbsp;´åˆã¯ï¼Œ0ãŒè¿”ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\item
%&lt;*en&gt;
The following parameter names \emph{cannot be specified} in \cs{ltjgetparameter}.
%&lt;/en&gt;
%&lt;*ja&gt;
æ¬¡ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿åã‚’ \cs{ltjgetparameter} ã«æŒ‡å®šã™ã‚‹ã“ã¨ã¯ã§ããªã„ï¼Ž
%&lt;/ja&gt;
\begin{quote}
\sffamily
jatextfont, jascriptfont, jascriptscriptfont, jacharrange
\end{quote}

\item
%&lt;*en&gt;
\verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+ returns
the range number which \meta{char\_code} belongs to
(although there is no parameter named ``chartorange'').

If \meta{char\_code} is between 0 and 127, this \meta{char\_code} does not belong to
any character range. In this case,
      \verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+
returns $-1$.

Hence, one can know whether \meta{char\_code} is \textbf{JAchar} or not
by the following:
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+ ã«ã‚ˆã£ã¦
\meta{char\_code}ã®å±žã™ã‚‹æ–‡å­—ç¯„å›²ã®ç•ªå·ã‚’çŸ¥ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž

\meta{char\_code}ã«0--127ã®å€¤ã‚’æŒ‡å®šã—ãŸå&nbsp;´åˆï¼ˆã“ã®ã¨ãï¼Œ\meta{char\_code}ãŒå±žã™ã‚‹
æ–‡å­—ç¯„å›²ã¯å­˜åœ¨ã—ãªã„ï¼‰ã¯$-1$ãŒè¿”ã‚‹ï¼Ž

ãã®ãŸã‚ï¼Œ\meta{char\_code}ãŒ\textbf{JAchar}ã‹\textbf{ALchar}ã‹ã¯
æ¬¡ã§çŸ¥ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼š
%&lt;/ja&gt;
\begin{quote}
\ttfamily \verb+\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{+%
  \meta{char\_code}\verb+}}+\\\null\hfill\verb+% 0 if JAchar, 1 if ALchar+
\end{quote}

%&lt;*en&gt;
\item Because the returned value is string, the following conditionals do not work
if \Param{kanjiskip} (or~\Param{xkanjiskip}) has the stretch part or the shrink part.
\begin{lstlisting}
\ifdim\ltjgetparameter{kanjiskip}&gt;\z@ ... \fi
\ifdim\ltjgetparameter{xkanjiskip}&gt;\z@ ... \fi
\end{lstlisting}
The correct way is using a temporary register.
\begin{lstlisting}
\@tempskipa=\ltjgetparameter{kanjiskip} \ifdim\@tempskipa&gt;\z@ ... \fi
\@tempskipa=\ltjgetparameter{xkanjiskip}\ifdim\@tempskipa&gt;\z@ ... \fi
\end{lstlisting}
%&lt;/en&gt;
%&lt;*ja&gt;
\item è¿”ã‚Šå€¤ãŒæ–‡å­—åˆ—ã§ã‚ã‚‹ã“ã¨ã‹ã‚‰ï¼Œ\Param{kanjiskip}ã‚„\Param{xkanjiskip}ã‚’ç›´æŽ¥
\ \cs{ifdim} ã‚’ä½¿ã£ã¦æ¯”è¼ƒã™ã‚‹ã“ã¨ã¯æœ›ã¾ã—ããªã„ï¼Žä¼¸ã³é‡ã‚„ç¸®ã¿é‡ã‚’æŒã£ã¦ã„ã‚‹æ™‚ã«ã¯ï¼Œ
æ¬¡ã¯ã‚¨ãƒ©ãƒ¼ã‚’ç™ºç”Ÿã•ã›ã‚‹ï¼š
\begin{lstlisting}
\ifdim\ltjgetparameter{kanjiskip}&gt;\z@ ... \fi
\ifdim\ltjgetparameter{xkanjiskip}&gt;\z@ ... \fi
\end{lstlisting}
ãƒ¬ã‚¸ã‚¹ã‚¿ã«ä¸€æ—¦ä»£å…¥ã™ã‚‹ã®ãŒè‰¯ã„ï¼š
\begin{lstlisting}
\@tempskipa=\ltjgetparameter{kanjiskip} \ifdim\@tempskipa&gt;\z@ ... \fi
\@tempskipa=\ltjgetparameter{xkanjiskip}\ifdim\@tempskipa&gt;\z@ ... \fi
\end{lstlisting}
%&lt;/ja&gt;

\end{itemize}


%&lt;*en&gt;
\subsection{Alternative Commands to \cs{ltjsetparameter}}
The basic method to set parameters of \LuaTeX-ja is to use
\cs{ltjsetparameter}~or~\cs{ltjglobalsetparameter}.
However, these commands are slow, because they parse a key-value list,
so several alternative commands are used in \LuaTeX-ja.
\emph{This subsection is not for general \LuaTeX-ja users.}

\paragraph{Setting \Param{kanjiskip}~or~\Param{xkanjiskip}}
In \Pkg{ltjsclasses}, every size-changing command such as \cs{Large}
changes \cs{kanjiskip}~and~\cs{xkanjiskip}.
But a simple implementation, as the code below, is slow since
two key-value lists are parsed by \cs{ltjsetparameter}:
\begin{lstlisting}
  \ltjsetparameter{kanjiskip=0\zw plus .1\zw minus .01\zw}
  \@tempskipa=\ltjgetparameter{xkanjiskip}
  \ifdim\@tempskipa&gt;\z@
    \if@slide
      \ltjsetparameter{xkanjiskip=0.1em}
    \else
      \ltjsetparameter{xkanjiskip=0.25em plus 0.15em minus 0.06em}
    \fi
  \fi
\end{lstlisting}

Hence, \LuaTeX-ja defines more primitive commands, namely \cs{ltj@setpar@global},
\cs{ltjsetkanjiskip}, and~\cs{ltjsetxkanjiskip}. Here
\begin{quote}
  \lstinline+\ltj@setpar@global\ltjsetkanjiskip 10pt+
\end{quote}
and \lstinline+\ltjsetparameter{kanjiskip=10pt}+ has the same effect.
The actual code of \Pkg{ltjsclasses} is shown below:
\begin{lstlisting}
  \ltj@setpar@global
  \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
  \@tempskipa=\ltjgetparameter{xkanjiskip}
  \ifdim\@tempskipa&gt;\z@
    \if@slide
      \ltjsetxkanjiskip.1em
    \else
      \ltjsetxkanjiskip.25em plus .15em minus .06em
    \fi
  \fi
\end{lstlisting}

Note that using \cs{ltjsetkanjiskip}~or~\cs{ltjsetxkanjiskip} alone,
that is, without executing \cs{ltj@setpar@global} in advance, is \emph{not} supported.
%&lt;/en&gt;

%&lt;*ja&gt;
\subsection{\cs{ltjsetparameter} ã®ä»£æ›¿}
åŽŸå‰‡ã¨ã—ã¦å„ç¨®å†…éƒ¨ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®è¨­å®šã«ã¯ \cs{ltjsetparameter} ã‚‚ã—ãã¯
\ \cs{ltjglobalsetparameter}\ ã‚’ç”¨ã„ã‚‹ã“ã¨ã«ãªã‚‹ãŒï¼Œ
\cs{ltjsetparameter} ã®å®Ÿè¡Œã«ã¯æ™‚é–“ãŒã‹ã‹ã‚‹ã¨ã„ã†é›£ç‚¹ãŒã‚ã‚Šï¼Œ
\LuaTeX-ja ã®å†…éƒ¨ã§ã¯ã‚ˆã‚Šé«˜é€Ÿã«å®Ÿè¡Œã§ãã‚‹åˆ¥ã®å½¢å¼ã‚’ç”¨ã„ã¦ã„ã‚‹ï¼Ž
\emph{æœ¬ç¯€ã¯ä¸€èˆ¬åˆ©ç”¨è€…ã‚€ã‘ã®å†…å®¹ã§ã¯ãªã„ï¼Ž}

\paragraph{\Param{kanjiskip}, \Param{xkanjiskip}ã®è¨­å®š}
\pLaTeXe æ–°ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã§ã¯ï¼Œ
\begin{lstlisting}
\def\@setfontsize#1#2#3{%
  ...
  \kanjiskip=0zw plus .1zw minus .01zw
  \ifdim\xkanjiskip&gt;\z@
    \if@slide \xkanjiskip=0.1em \else
      \xkanjiskip=0.25em plus 0.15em minus 0.06em
    \fi
  \fi}
\end{lstlisting}
ã¨ï¼Œãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã‚’å¤‰æ›´ã™ã‚‹ã”ã¨ã« \cs{kanjiskip}, \cs{xkanjiskip} ã‚’å¤‰æ›´ã—ã¦ã„ã‚‹ï¼Ž
ã“ã® \cs{@setfontsize} ã¯æ–‡æ›¸ã®ä¸­ã§å¤šæ•°å›žå®Ÿè¡Œã•ã‚Œã‚‹ã®ã§ï¼Ž
\LuaTeX-ja ç”¨ã«ç´&nbsp;ç›´ã«æ›¸ãæ›ãˆãŸ
\begin{lstlisting}
  \ltjsetparameter{kanjiskip=0\zw plus .1\zw minus .01\zw}
  \@tempskipa=\ltjgetparameter{xkanjiskip}
  \ifdim\@tempskipa&gt;\z@
    \if@slide
      \ltjsetparameter{xkanjiskip=0.1em}
    \else
      \ltjsetparameter{xkanjiskip=0.25em plus 0.15em minus 0.06em}
    \fi
  \fi
\end{lstlisting}
ã¨ã—ãŸã®ã§ã¯ã‚¿ã‚¤ãƒ—ã‚»ãƒƒãƒˆãŒé…ããªã£ã¦ã—ã¾ã†ï¼Ž
ãã“ã§ï¼Œ\cs{ltjsetparameter} ã®ä¸­ã§
\begin{itemize}
\item \cs{globaldefs} ã®å€¤ã‚’èª­ã¿å–ã‚‹ \cs{ltj@setpar@global}
\item \Param{kanjiskip} ã®è¨­å®šã‚’è¡Œã† \cs{ltjsetkanjiskip}
\item \Param{xkanjiskip} ã®è¨­å®šã‚’è¡Œã† \cs{ltjsetxkanjiskip}
\end{itemize}
ã‚’ç‹¬ç«‹ã•ã›ï¼Œ\Pkg{ltjsclasses}ã§ã¯ï¼Œ
\begin{lstlisting}
  \ltj@setpar@global
  \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
  \@tempskipa=\ltjgetparameter{xkanjiskip}
  \ifdim\@tempskipa&gt;\z@
    \if@slide
      \ltjsetxkanjiskip.1em
    \else
      \ltjsetxkanjiskip.25em plus .15em minus .06em
    \fi
  \fi
\end{lstlisting}
ã¨ã—ã¦ã„ã‚‹ï¼Ž
\cs{ltj@setpar@global}ã‚’ç›´å‰ã«å®Ÿè¡Œã›ãšï¼Œå˜ç‹¬ã§
\cs{ltjsetkanjiskip}, \cs{ltjsetxkanjiskip}ã‚’å®Ÿè¡Œã™ã‚‹ã“ã¨ã¯æƒ³å®šã•ã‚Œã¦ã„ãªã„ã®ã§æ³¨æ„ï¼Ž

%&lt;/ja&gt;


%&lt;en&gt;\section{Other Commands for plain \TeX\ and \LaTeXe}
%&lt;ja&gt;\section{plainã§ã‚‚\LaTeX ã§ã‚‚åˆ©ç”¨å¯èƒ½ãªãã®ä»–ã®å‘½ä»¤}
%&lt;en&gt;\subsection{Commands for compatibility with \pTeX}
%&lt;ja&gt;\subsection{\pTeX äº’æ›ç”¨å‘½ä»¤}

%&lt;*en&gt;
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 \cs{kansuji} converts an integer into its Chinese numerals.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»¥ä¸‹ã®å‘½ä»¤ã¯\pTeX ã¨ã®äº’æ›æ€§ã®ãŸã‚ã«å®Ÿè£…ã•ã‚Œã¦ã„ã‚‹ï¼Žãã®ãŸã‚ï¼ŒJIS~X~0213ã«ã¯å¯¾å¿œã›ãšï¼Œ
\pTeX ã¨åŒã˜ã‚ˆã†ã«JIS~X~0208ã®ç¯„å›²ã—ã‹ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ï¼Ž
%&lt;/ja&gt;
\begin{center}
\cs{kuten}, \cs{jis}, \cs{euc}, \cs{sjis}, \cs{ucs}, \cs{kansuji}
\end{center}
%&lt;*en&gt;
These six commands takes an internal integer, and returns a \emph{string}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã‚‰6å‘½ä»¤ã¯å†…éƒ¨æ•´æ•°ã‚’å¼•æ•°ã¨ã™ã‚‹ãŒï¼Œå®Ÿè¡Œçµæžœã¯\textbf{æ–‡å­—åˆ—}ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}
\newcount\hoge
\hoge="2423 %"
\the\hoge, \kansuji\hoge\\
\jis\hoge, \char\jis\hoge\\
\kansuji1701
\end{LTXexample}

%&lt;*en&gt;
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}
%&lt;/en&gt;


\subsection{\cs{inhibitglue}, \cs{disinhibitglue}}
%&lt;*en&gt;
\cs{inhibitglue} suppresses the insertion of a glue/kern soecified in JFM at the place.
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~``ã‚¦''.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{inhibitglue} ã¯ç™ºè¡Œç®‡æ‰€ã§ã®JFMç”±æ¥ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã®æŒ¿å…¥ã‚’æŠ‘åˆ¶ã™ã‚‹ï¼Ž
ä»¥ä¸‹ã¯ï¼Œãƒœãƒƒã‚¯ã‚¹ã®å§‹ã‚ã¨ã€Œã‚ã€ã®é–“ï¼Œã€Œã‚ã€ã€Œã‚¦ã€ã®é–“ã«ã‚°ãƒ«ãƒ¼ãŒå…¥ã‚‹ç‰¹åˆ¥ãªJFMã‚’ç”¨ã„ãŸä¾‹ã§
ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{LTXexample}[width=0.4\textwidth]
\jfont\g=HaranoAjiMincho-Regular:jfm=test \g
\fbox{\hbox{ã‚ã‚¦ã‚\inhibitglue ã‚¦}}
\inhibitglue\par\noindent ã‚1
\par\inhibitglue\noindent ã‚2
\par\noindent\inhibitglue ã‚3
\par ï¼‰4ï¼‰\inhibitglue 5
\par\hrule\noindent ã‚off\inhibitglue ice
\end{LTXexample}

%&lt;*en&gt;
With the help of this example, we remark the specification of \cs{inhibitglue}:
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ä¾‹ã‚’æ´ç”¨ã—ã¦ï¼Œ\cs{inhibitglue} ã®ä»•æ§˜ã«ã¤ã„ã¦è¿°ã¹ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item The call of \cs{inhibitglue} in the (internal) vertical mode is
      simply ignored.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \emph{\cs{inhibitglue} ã®åž‚ç›´ãƒ¢ãƒ¼ãƒ‰ä¸­ã§ã®å‘¼ã³å‡ºã—ã¯æ„å‘³ã‚’æŒãŸãªã„}\footnote{%
  ã“ã®ç‚¹ã¯\TeX~Live~2014ã§ã®\pTeX ã«ãŠã‘ã‚‹ \cs{inhibitglue} ã®ä»•æ§˜å¤‰æ›´ã¨åŒã˜ã§ã‚ã‚‹ï¼Ž
}ï¼Ž
4è¡Œç›®ã®å…¥åŠ›ã§æœ‰åŠ¹ã«ãªã‚‰ãªã„ã®ã¯ï¼Œ\cs{inhibitglue} ã®æ™‚ç‚¹ã§ã¯åž‚ç›´ãƒ¢ãƒ¼ãƒ‰ã§ã‚ã‚Šï¼Œ
\cs{noindent} ã®æ™‚ç‚¹ã§æ°´å¹³ãƒ¢ãƒ¼ãƒ‰ã«ãªã‚‹ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item \cs{inhibitglue} does \emph{not} suppress \Param{kanjiskip} or \cs{xkanjiskip}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \cs{inhibitglue}ã¯\Param{kanjiskip}, \Param{xkanjiskip}ã®æŒ¿å…¥ã¯æŠ‘åˆ¶ã—ãªã„ï¼Ž
  ä¾‹ãˆã°ä¸Šã®ä¾‹ã®6è¡Œç›®ã§ã¯ï¼Œã€Œï¼‰ã€ã¨ã€Œ5ã€ã®é–“ã«ã¯æœ¬æ¥ã¯JFMç”±æ¥ã®åŠè§’ç©ºããŒæŒ¿å…¥ã•ã‚Œã‚‹ã¯ãšã&nbsp;ãŒï¼Œ
  ãã‚ŒãŒ\cs{inhibitglue}ã§ç„¡åŠ¹ã«ãªã£ãŸãŸã‚ï¼Œ\Param{xkanjiskip}ãŒä»£ã‚ã‚Šã«æŒ¿å…¥ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item The call of \cs{inhibitglue} in the (restricted) horizontal
      mode is only effective on the spot; does not get over boundary of
      paragraphs. Moreover, \cs{inhibitglue} cancels ligatures and
      kernings, as shown in the last line of above example.
%&lt;/en&gt;i
%&lt;*ja&gt;
\item \cs{inhibitglue} ã®ï¼ˆåˆ¶é™ã•ã‚ŒãŸï¼‰æ°´å¹³ãƒ¢ãƒ¼ãƒ‰ä¸­ã§ã®å‘¼ã³å‡ºã—ã¯ãã®å&nbsp;´ã§ã®ã¿
  æœ‰åŠ¹ã§ã‚ã‚Šï¼Œæ®µè½ã®å¢ƒç•Œã‚’ä¹—ã‚Šè¶Šãˆãªã„ï¼Ž
  ã•ã‚‰ã«ï¼Œ\cs{inhibitglue} ã¯ä¸Šã®ä¾‹ã®æœ€çµ‚è¡Œã®ã‚ˆã†ã«ï¼ˆæ¬§æ–‡ã«ãŠã‘ã‚‹ï¼‰ãƒªã‚¬ãƒãƒ£ã¨ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°ã‚’
  æ‰“ã¡æ¶ˆã™ï¼Žã“ã‚Œã¯ï¼Œ\cs{inhibitglue} ãŒå†…éƒ¨çš„ã«ã¯ã€Œç¾åœ¨ã®ãƒªã‚¹ãƒˆä¸­ã«whatsitãƒŽãƒ¼ãƒ‰ã‚’
  è¿½åŠ&nbsp;ã™ã‚‹ã€ã“ã¨ã‚’è¡Œãªã£ã¦ã„ã‚‹ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item The call of \cs{inhibitglue} in math mode is just ignored.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \cs{inhibitglue} ã‚’æ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸­ã§å‘¼ã³å‡ºã—ãŸå&nbsp;´åˆã¯ãŸã&nbsp;ç„¡è¦–ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*ja&gt;
\item \LaTeX ã§\LuaTeX-ja ã‚’ä½¿ç”¨ã™ã‚‹å&nbsp;´åˆã¯ï¼Œ
\cs{inhibitglue} ã®ä»£ã‚ã‚Šã¨ã—ã¦ \verb+\&lt;+ ã‚’ä½¿ã†ã“ã¨ãŒã§ãã‚‹ï¼Ž
æ—¢ã« \verb+\&lt;+ ãŒå®šç¾©ã•ã‚Œã¦ã„ãŸå&nbsp;´åˆã¯ï¼Œ\LuaTeX-ja ã®èª­ã¿è¾¼ã¿ã§å¼·åˆ¶çš„ã«ä¸Šæ›¸ãã•ã‚Œã‚‹ã®ã§
æ³¨æ„ã™ã‚‹ã“ã¨ï¼Ž
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
\cs{disinhibitglue} suppresses the effect of \cs{inhbitglue}.
In other words, \cs{disinhibitglue} allows the insertion of a glue/kern specified by JFM.
If \cs{inhibitglue}~and~\cs{disinhibitglue} both specified at the same time,
the latest one is effective.
This commans is added in the version 20201224.0.

Note that \cs{disinhibitglue} also cancels ligatures and kernings.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{disinhibitglue}ã¯\cs{inhibitglue}ã®åŠ¹æžœã‚’ç„¡åŠ¹åŒ–ã™ã‚‹ï¼Ž
è¨€ã„æ›ãˆã‚Œã°ï¼Œï¼ˆ\cs{inhibitglue}ã§æŠ‘åˆ¶ã•ã‚ŒãŸã¯ãšã®ï¼‰ï¼‰JFMç”±æ¥ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã®æŒ¿å…¥ã‚’è¨±å¯ã™ã‚‹ï¼Ž
åŒã˜ç®‡æ‰€ã«\cs{inhibitglue}ã¨\cs{disinhibitglue}ãŒä¸¡æ–¹ã‚ã‚‹å&nbsp;´åˆã¯ï¼Œå¾Œã‚ã®æŒ‡å®šãŒæœ‰åŠ¹ã«ãªã‚‹ï¼Ž
ã“ã®å‘½ä»¤ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³20201224.0ã§è¿½åŠ&nbsp;ã•ã‚ŒãŸï¼Ž

ãªãŠï¼Œ\cs{disinhibitglue}ã‚‚ãƒªã‚¬ãƒãƒ£ã‚„ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°ã‚’æ‰“ã¡æ¶ˆã™ã“ã¨ã«æ³¨æ„ã•ã‚ŒãŸã„ï¼Žã“ã‚Œã¯
ï¼ˆ\cs{inhibitglue}ã¨åŒæ§˜ã«ï¼‰whatsitãƒŽãƒ¼ãƒ‰ã‚’ä½¿ã£ã¦å®Ÿè£…ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã«ã‚ˆã‚‹ï¼Ž
%&lt;/ja&gt;

\subsection{\cs{ltjfakeboxbdd}, \cs{ltjfakeparbegin}}
%&lt;*en&gt;
Sometimes \texttt{'parbdd'}~and~\texttt{'boxbdd'} specifications~look like ``fail'',
especially in paragraphs inside list environments.
This is because \cs{everypar} inserts some nodes such as boxes and kerns, so
the ``first letter'' in a paragraph is in fact not the first letter.
%&lt;/en&gt;
%&lt;*ja&gt;
ãƒªã‚¹ãƒˆç’°å¢ƒå†…ã§ã®\cs{item}ã§å§‹ã¾ã‚‹å„é&nbsp;…ç›®ãªã©ã§ã¯ï¼Œ
ã€Œæ®µè½æœ€åˆã®éµæ‹¬å¼§ãŒä½™è¨ˆã«åŠè§’å­—ä¸‹ã’ã•ã‚Œã‚‹ã€ãªã©ï¼Œ
JFMã«ã‚ã‚‹\texttt{'parbdd'}, \texttt{'boxbdd'}ã®æŒ‡å®šãŒè¦‹ã‹ã‘ä¸Šç&nbsp;´ç¶»ã—ã¦ã„ã‚‹ã“ã¨ãŒã‚ã‚‹ï¼Ž

ã“ã‚Œã¯\TeX ãŒ\cs{everypar}ã‚’ç”¨ã„ã¦æ®µè½é–‹å§‹æ™‚ã«è¨˜å·é¡žã‚„ç©ºç™½ãªã©ã‚’æŒ¿å…¥ã—ã¦ã—ã¾ã£ã¦ã„ã‚‹ãŸã‚ï¼Œ
æ®µè½æœ€åˆã®éµæ‹¬å¼§ãŒå®Ÿéš›ã«ã¯æ®µè½æœ€åˆã®ãƒŽãƒ¼ãƒ‰ã§ã¯ãªã„ã“ã¨ã«èµ·å›&nbsp;ã™ã‚‹ï¼Žä»¥ä¸‹ã«ä¾‹ã‚’ç¤ºã—ãŸï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\parindent1\zw
\noindent ã‚ã‚ã‚ã‚ã‚ã‚ã‚ã‚\par % for comparison
ã€Œã‚ã‚ã‚ã‚ã‚ã‚ \par            % normal paragraph

\everypar{\null}
ã€Œã‚ã‚ã‚ã‚ã‚ã‚ \par            % ???
\end{LTXexample}
%&lt;*en&gt;
\cs{ltjfakeboxbdd}~and~\cs{ltjfakeparbegin} primitives resolve this situation.
\begin{itemize}
  \item \cs{ltjfakeparbegin} creates a node which indicates
  ``beginning of an indented paragraph'' to the insertion process of \textbf{JAglue}.
 \item \cs{ltjfakeboxbdd} creates a node which indicates
  ``beginning/ending of a box'' to the insertion process of \textbf{JAglue}.
\end{itemize}
As an example, the example above can be improved as follows:
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{ltjfakeboxbdd}, \cs{ltjfakeparbegin}ã¯ã“ã®çŠ¶æ³ã‚’æ”¹å–„ã™ã‚‹å‘½ä»¤ã§ã‚ã‚‹ï¼Ž
å®Ÿéš›ã«ã¯\cs{everypar}ã®æœ«å°¾ã«ã“ã‚Œã‚‰ã‚’è¿½åŠ&nbsp;ã™ã‚‹ã¨ã„ã†ä½¿ã„æ–¹ãŒã»ã¨ã‚“ã©ã«ãªã‚‹ã&nbsp;ã‚ã†ï¼Ž
\begin{itemize}
  \item \cs{ltjfakeparbegin}ã¯ï¼Œå®Ÿè¡Œã•ã‚ŒãŸç®‡æ‰€ãŒã€Œã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆã‚ã‚Šæ®µè½ã®é–‹å§‹ã€ã§ã‚ã‚‹ã¨\LuaTeX-jaã®
  å’Œæ–‡å‡¦ç†ã‚°ãƒ«ãƒ¼æŒ¿å…¥å‡¦ç†ã«èªè­˜ã•ã›ã‚‹ï¼Žã“ã®å‘½ä»¤ã®ç›´å‰ã«\textbf{JAchar}ãŒã‚ã£ãŸå&nbsp;´åˆï¼Œ
  ã“ã®æ–‡å­—ã®å¾Œã‚ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ç­‰ã®å‡¦ç†ã«ã¤ã„ã¦ã¯æœªå®šç¾©ã§ã‚ã‚‹
  \footnote{%
    ã“ã®å‘½ä»¤ã¨åŒç­‰ã®å†…å®¹ã¯ï¼Œ\cs{dirrctlua}ã®å½¢ã§\Pkg{ltjsclasses}å†…ã§ä»¥å‰ã‹ã‚‰ä½¿ã‚ã‚Œã¦ã„ãŸï¼Ž
    ä¸€èˆ¬ãƒ¦ãƒ¼ã‚¶ã§ã‚‚åˆ©ç”¨ã—ã‚„ã™ãã™ã‚‹ãŸã‚ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³20170505.0ã§æ–°ãŸã«å‘½ä»¤ã¨ã—ã¦å®šç¾©ã—ãŸï¼Ž
  }ï¼Ž
  \item \cs{ltjfakeboxbdd}ã¯ï¼Œå®Ÿè¡Œã•ã‚ŒãŸç®‡æ‰€ãŒã€Œãƒœãƒƒã‚¯ã‚¹ã®å…ˆé&nbsp;­ã¨æœ«å°¾ã€ã§ã‚ã‚‹ã¨\LuaTeX-jaã®
  å’Œæ–‡å‡¦ç†ã‚°ãƒ«ãƒ¼æŒ¿å…¥å‡¦ç†ã«èªè­˜ã•ã›ã‚‹ï¼Ž
\end{itemize}
ä¾‹ãˆã°ï¼Œå…ˆã»ã©ã®ä¾‹ã«å¯¾ã—ã¦é©ç”¨ã™ã‚‹ã¨ï¼Œæ¬¡ã®ã‚ˆã†ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\parindent1\zw
\noindent ã‚ã‚ã‚ã‚ã‚ã‚ã‚ã‚\par % for comparison
ã€Œã‚ã‚ã‚ã‚ã‚ã‚ \par            % normal paragraph

\everypar{\null\ltjfakeparbegin}
ã€Œã‚ã‚ã‚ã‚ã‚ã‚ \par
\end{LTXexample}


\subsection{\cs{insertxkanjiskip}, \cs{insertkanjiskip}}
%&lt;*en&gt;
There are some situations which one wants to insert \Param{xkanjiskip} manually.
A simple approach is to use \cs{hskip}\cs{ltjgetparameter\{xkanjiskip\}}, but this approach has
several weak points. To cope with these weak points, \LuaTeX-ja defines a command \cs{insertxkanjiskip} which
inserts \Param{xkanjiskip} glue manually, from the version 20201224.0.
\begin{itemize}
  \item ``\cs{insertxkanjiskip}'' (without any keyword) uses the value of \Param{xkanjiskip} at the place.
  \item ``\cs{insertxkanjiskip late}'' (with ``\texttt{late}''~keyword) uses the value of \Param{xkanjiskip}
  at the end of a paragraph/hbox.
\end{itemize}
See the example below.
%&lt;/en&gt;
%&lt;*ja&gt;
\TeX ã§æ—¥æœ¬èªžã®æ–‡ç«&nbsp;ã‚’ä½œæˆã—ã¦ã„ã‚‹ã¨ï¼Œ
ã—ã°ã—ã°ã€Œæ‰‹å‹•ã§å’Œæ¬§æ–‡é–“ç©ºç™½\Param{xkanjiskip}ã‚’æŒ¿å…¥ã—ãŸã„ã€ã¨ã„ã†çŠ¶æ³ã«é­é‡ã™ã‚‹ï¼Ž
ã“ã®ã‚ˆã†ãªå&nbsp;´åˆï¼Œ\cs{hskip}\cs{ltjgetparameter\{xkanjiskip\}}\+ã¨ã™ã‚‹ã®ãŒã‚ˆãã‚ã‚‹å¯¾å¿œã§ã‚ã£ãŸãŒï¼Œã“ã‚Œã‚‰ã«ã¯
æ¬¡ã®ã‚ˆã†ãªé›£ç‚¹ãŒã‚ã‚‹ï¼š
\begin{itemize}
  \item \cs{xkanjiskip}ã¯ã€Œæ®µè½ã‚„hboxã§ã®çµ‚ç«¯ã§ã®å€¤ãŒãã®æ®µè½ï¼hboxå…¨ä½“ã§ç”¨ã„ã‚‰ã‚Œã‚‹ã€ã¨ãªã£ã¦ã„ã‚‹ãŸã‚ï¼Œ
  \cs{hskip}\cs{ltjgetparameter\{xkanjiskip\}}\+ä»¥é™ã«\Param{xkanjiskip}ã®å€¤ãŒå¤‰ã‚ã‚‹å&nbsp;´åˆã«å¯¾å¿œã§ããªã„ï¼Ž
  \item \LuaTeX-jaã§ã¯ï¼Œ\cs{xkanjiskip}ã®è‡ªç„¶é•·ãŒ$\cs{maxdimen}=(2^{30}-1)\,\mbox{sp}$ã§ã‚ã£ãŸå&nbsp;´åˆï¼Œ
  JFMã§æŒ‡å®šã•ã‚ŒãŸå€¤ã‚’å®Ÿéš›ã«åˆ©ç”¨ã™ã‚‹ã“ã¨ã«ãªã£ã¦ã„ã‚‹ãŒï¼Œãã‚Œã«å¯¾å¿œã§ãã¦ã„ãªã„ï¼Ž
  \item \Pkg{luatexja-adjust}ï¼ˆ\ref{ssec:adj}ç¯€ï¼‰ã«ã‚ˆã‚‹å„ªå…ˆåº¦è¡Œé•·èª¿æ•´ã§ã¯ï¼Œ
  \cs{hskip}\cs{ltjgetparameter\{xkanjiskip\}}\+ã¯æ‰‹å‹•ã§æŒ¿å…¥ã—ãŸã‚°ãƒ«ãƒ¼ã§ã‚ã‚‹ã‹ã‚‰ï¼Œ
  è‡ªå‹•ã§æŒ¿å…¥ã•ã‚ŒãŸ\Param{xkanjiskip}ã¨ã¯
  ä¼¸ç¸®ã®å„ªå…ˆé&nbsp;†åºãŒç•°ãªã£ã¦ã—ã¾ã†ï¼Ž
\end{itemize}

ã“ã‚Œã‚‰ã®é›£ç‚¹ã«å¯¾å‡¦ã—ãŸï¼Œ\Param{xkanjiskip}ã‚’ã‚°ãƒ«ãƒ¼ã¨ã—ã¦æ‰‹å‹•æŒ¿å…¥ã™ã‚‹å‘½ä»¤ãŒ\cs{insertxkanjiskip}ã§ã‚ã‚‹ï¼Ž
ã“ã‚Œã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³20201224.0ã§è¿½åŠ&nbsp;ã•ã‚ŒãŸï¼Ž
ä»¥ä¸‹ã®å®Ÿè¡Œä¾‹ã«ç¤ºã™ã‚ˆã†ã«ï¼Œ
\begin{itemize}
  \item å˜ç‹¬ã§\cs{insertxkanjiskip}ã¨ã—ãŸå&nbsp;´åˆã¯ï¼Œãã®æ™‚ç‚¹ã§ã®\Param{xkanjiskip}ã®å€¤ã‚’ä½¿ç”¨ã™ã‚‹
  \item ã€Œ\cs{insertxkanjiskip~late}ã€ã¨\texttt{late}ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’å¾Œç½®ã—ãŸå&nbsp;´åˆã¯ï¼Œ
  æ®µè½ï¼hboxçµ‚äº†æ™‚ã«ãã®ã¨ãã®\Param{xkanjiskip}ã®å€¤ã«è‡ªå‹•è¨­å®šã•ã‚Œã‚‹
  ï¼ˆæ®µè½ï¼hboxé€”ä¸­ã§ã®å€¤ã¯æœªå®šç¾©ï¼‰
  \item ã©ã¡ã‚‰ã§ã‚ã£ã¦ã‚‚ï¼Œå®Ÿè¡Œç®‡æ‰€ã«æœ¬æ¥ãªã‚‰è‡ªå‹•æŒ¿å…¥ã•ã‚Œã‚‹ã¯ãšã®JFMç”±æ¥ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã¯æŒ¿å…¥ã•ã‚Œãªã„
\end{itemize}
ã¨ãªã£ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3333\textwidth]
\ltjsetparameter{xkanjiskip=0.25\zw}
ã‚ï¼ˆ%                        0.5\zw  (from JFM)
ã‚\insertxkanjiskip ï¼ˆ%      0.25\zw (xkanjiskip at here)
ã‚\insertxkanjiskip late ï¼ˆ% 0.25\zw (xkanjiskip at EOP)
ã‚a%                         1.25\zw (xkanjiskip at EOP)
\\%
\ltjsetparameter{xkanjiskip=1.25\zw}
ã‚\insertxkanjiskip ï¼ˆ%      1.25\zw (xkanjiskip at here)
ã‚a%                         1.25\zw (xkanjiskip at EOP)
%% At the end of the paragraph (EOP), xkanjiskip is 1.25\zw.
\end{LTXexample}

%&lt;*en&gt;
There is a similar command \cs{insertkanjiskip} (\Param{kanjiskip} instead~of \Param{xkanjiskip}) is also defined.
Note that any shorthand form of \cs{insert}[\texttt{x}]\texttt{kanjiskip} are not defined by \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{insertxkanjiskip}ï¼ˆã¾ãŸã¯\texttt{late}ã¤ãï¼‰ã®çŸ­ç¸®å½¢
\footnote{ã¡ã‚‡ã†ã©\cs{inhibitglue}ã®çŸ­ç¸®å½¢\cs{\ltjalchar`\&lt;}\+ã«å¯¾å¿œã™ã‚‹ã‚‚ã®ï¼Ž}ã¯
\LuaTeX-jaã§ã¯å®šç¾©ã—ã¦ã„ãªã„ï¼ŽçŸ­ç¸®å½¢ã‚’ä½¿ã„ãŸã„äººã¯ï¼Œé¢å€’ã§ã‚‚å„è‡ªã§
\begin{lstlisting}
 \protected\def\+{\insertxkanjiskip late}
\end{lstlisting}
ãªã©ã¨å®šç¾©ã—ã¦ã»ã—ã„ï¼Ž

æœ€å¾Œã«ãªã‚‹ãŒï¼Œä»¥ä¸Šã®èª¬æ˜Žã®\Param{xkanjiskip}ã‚’ã™ã¹ã¦æ¨™æº–ã®å’Œæ–‡é–“ç©ºç™½\Param{kanjiskip}ã«ç½®ãæ›ãˆãŸ
\cs{insertkanjiskip}å‘½ä»¤ã‚‚æº–å‚™ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

\subsection{\cs{ltjdeclarealtfont}}
\label{ssec:altfont}
%&lt;*en&gt;
Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts.
This \cs{ltjdeclarealtfont} uses in the following form:
\begin{quote}
\ttfamily \textbackslash ltjdeclarealtfont\meta{base\_font\_cs}\meta{alt\_font\_cs}\{\meta{range}\}
\end{quote}
where  \meta{base\_font\_cs}~and~\meta{alt\_font\_cs} are defined by \cs{jfont}.
Its meaning is
\begin{quote}
If the current Japanese font is \meta{base\_font\_cs}, characters which belong to \meta{range}
is typeset by another Japanese font \meta{alt\_font\_cs}, instead of \meta{base\_font\_cs}.
\end{quote}
Here \meta{range} 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 \meta{base\_font\_cs}. Note that characters which do not exist in \meta{alt\_font\_cs} are
ignored.

For example, if \cs{hoge} uses \texttt{jfm-ujis.lua}, the standard JFM of \LuaTeX-ja,
then
\begin{lstlisting}
\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
\end{lstlisting}
does
\begin{quote}
If the current Japanese font is \cs{hoge}, \texttt{U+3000}--\texttt{U+30FF}
and characters in class~1 (ideographic opening brackets)
are typeset by \cs{piyo}.
\end{quote}

Note that specifying negative numbers needs specification like \verb+{-1}-{-1}+,
because simple ``\texttt{-1}'' is treated as the range between 0~and~1.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{jfont} ã®æ›¸å¼ã‚’è¦‹ã‚Œã°ã‚ã‹ã‚‹ã‚ˆã†ã«ï¼ŒåŸºæœ¬çš„ã«ã¯\LuaTeX-jaã«ãŠã‘ã‚‹1ã¤ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«
ä½¿ç”¨å‡ºæ¥ã‚‹ã€Œå®Ÿéš›ã®ãƒ•ã‚©ãƒ³ãƒˆã€ã¯1ã¤ã§ã‚ã‚‹ï¼Ž
ã—ã‹ã—ï¼Œ\cs{ltjdeclarealtfont} ã‚’ç”¨ã„ã‚‹ã¨ï¼Œã“ã®åŽŸå‰‡ã‹ã‚‰å¤–ã‚Œã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž

\cs{ltjdeclarealtfont} ã¯ä»¥ä¸‹ã®æ›¸å¼ã§ä½¿ç”¨ã™ã‚‹ï¼š
\begin{quote}
\ttfamily \textbackslash ltjdeclarealtfont\meta{base\_font\_cs}\meta{alt\_font\_cs}\{\meta{range}\}
\end{quote}
ã“ã‚Œã¯ã€Œç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã€ãŒ\meta{base\_font\_cs}ã§ã‚ã‚‹ã¨ãï¼Œ
\meta{range}ã«å±žã™ã‚‹æ–‡å­—ã¯\meta{alt\_font\_cs}ã‚’ç”¨ã„ã¦çµ„ç‰ˆã•ã‚Œã‚‹ï¼Œã¨ã„ã†æ„å‘³ã§ã‚ã‚‹ï¼Ž
\begin{itemize}
 \item \meta{base\_font\_cs}, \meta{alt\_font\_cs}ã¯
\cs{jfont} ã«ã‚ˆã£ã¦å®šç¾©ã•ã‚ŒãŸå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ã‚ã‚‹ï¼Ž
 \item \meta{range}ã¯æ–‡å­—ã‚³ãƒ¼ãƒ‰ã®ç¯„å›²ã‚’è¡¨ã™ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ãŒï¼Œ
   ä¾‹å¤–ã¨ã—ã¦è²&nbsp;æ•°$-n$ã¯ã€Œ\meta{base\_font\_cs}ã®JFMã®æ–‡å­—ã‚¯ãƒ©ã‚¹$n$ã«å±žã™ã‚‹å…¨ã¦ã®æ–‡å­—ã€
   ã‚’æ„å‘³ã™ã‚‹ï¼Ž

\meta{range}ä¸­ã«\meta{alt\_font\_cs}ä¸­ã«å®Ÿéš›ã«ã¯å­˜åœ¨ã—ãªã„æ–‡å­—ãŒæŒ‡å®šã•ã‚ŒãŸå&nbsp;´åˆã¯ï¼Œ
ãã®æ–‡å­—ã«å¯¾ã™ã‚‹è¨­å®šã¯ç„¡è¦–ã•ã‚Œã‚‹ï¼Ž
\end{itemize}

ä¾‹ãˆã°ï¼Œ\cs{hoge} ã®JFMãŒ\LuaTeX-jaæ¨™æº–ã®
\ \texttt{jfm-ujis.lua} ã§ã‚ã£ãŸå&nbsp;´åˆï¼Œ
\begin{lstlisting}
\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
\end{lstlisting}
ã¯ã€Œ\cs{hoge} ã‚’åˆ©ç”¨ã—ã¦ã„ã‚‹ã¨ãï¼Œ
\texttt{U+3000}--\texttt{U+30FF}ã¨
æ–‡å­—ã‚¯ãƒ©ã‚¹1ï¼ˆé–‹ãæ‹¬å¼§é¡žï¼‰ä¸­ã®æ–‡å­—ã&nbsp;ã‘ã¯ \cs{piyo} ã‚’ç”¨ã„ã‚‹ã€
ã“ã¨ã‚’è¨­å®šã™ã‚‹ï¼Ž\verb+{-1}-{-1}+ ã¨ã„ã†å¤‰ã‚ã£ãŸæŒ‡å®šã®ä»•æ–¹ã‚’ã—ã¦ã„ã‚‹ã®ã¯ï¼Œ
æ™®é€šã« \texttt{-1} ã¨æŒ‡å®šã—ãŸã®ã§ã¯æ­£ã—ã$-1$ã¨èª­ã¿å–ã‚‰ã‚Œãªã„ã¨ã„ã†
ãƒžã‚¯ãƒ­ã®éƒ½åˆã«ã‚ˆã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*ja&gt;
\subsection{\cs{ltjalchar} ã¨ \cs{ltjjachar}}
æ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ$\text{\meta{char\_code}}~(\geq 128=\mathtt{0x80})$ã®æ–‡å­—ã‚’
\ \cs{char} ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ã‚’ä½¿ã„ \cs{char}\meta{char\_code} ã¨ã—ã¦å‡ºåŠ›ã•ã›ã‚‹ã¨ï¼Œ
ãã®æ–‡å­—ã®å±žã™ã‚‹æ–‡å­—ç¯„å›²ï¼ˆ\ref{ssec:setrange}ç¯€å‚ç…§ï¼‰ã«ã‚ˆã£ã¦
\textbf{ALchar}ã‹\textbf{JAchar}ã‹ï¼Œã¤ã¾ã‚Šæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã§å‡ºåŠ›ã•ã‚Œã‚‹ã‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§å‡ºåŠ›ã•ã‚Œ
ã‚‹ã‹ãŒæ±ºã¾ã‚‹ï¼Ž

æ–‡å­—ç¯„å›²ã®è¨­å®šã‚’ç„¡è¦–ã—ï¼Œæ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ\meta{char\_code}ã®æ–‡å­—ã‚’å¼·åˆ¶çš„ã«
\textbf{ALchar}, \textbf{JAchar}ã§å‡ºåŠ›ã™ã‚‹å‘½ä»¤ãŒãã‚Œãžã‚Œ
\ \cs{ltjalchar},~\cs{ltjjachar} ã§ã‚ã‚‹ï¼Žä½¿ç”¨æ–¹æ³•ã¯ \cs{char} ã¨åŒã˜ã
\ \cs{ltjalchar}\meta{char\_code}, \cs{ltjjachar}\meta{char\_code}ã¨ã™ã‚Œã°ã‚ˆã„ï¼Ž
\LuaTeX-ja~20190926.0ã‹ã‚‰ï¼Œ\meta{char\_code}ãŒ127ä»¥ä¸‹ã®å&nbsp;´åˆã§ã‚‚\cs{ltjjachar}\meta{char\_code}ãŒ
\textbf{JAchar}ã¨ã—ã¦å‡ºåŠ›ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž

ä»¥ä¸‹ã¯\ref{ssec:setrange}ç¯€ã«è¼‰ã›ãŸä¾‹ã«ï¼Œ\cs{char} ã®å‹•ä½œãªã©ã‚’è¿½åŠ&nbsp;ã—ãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.25\textwidth]
\gtfamily\large
Â¶,\char`Â¶,\ltjalchar`Â¶,\ltjjachar`Â¶\\     % default: ALchar
Î±,\char`Î±,\ltjalchar`Î±,\ltjjachar`Î±\\ % default: JAchar
g,\char`g,\ltjalchar`g,\ltjjachar`g       % ALchar unless \ltjjachar
\end{LTXexample}

%&lt;en&gt;\section{Commands for \LaTeXe}
%&lt;ja&gt;\section{\LaTeXe ç”¨ã®å‘½ä»¤}

%&lt;*en&gt;
\subsection{Loading Japanese fonts in \LaTeXe}
\label{ssec:ltx-jfm}
From version~20190107, 
\emph{\LuaTeX-ja does not load Japanese fonts for horizontal direction and
  that for vertical direction at same time},
to reduce the number of loaded fonts.
This will save time for typesetting and memory consumption of Lua side (\cite{tc18ltja})ï¼Ž

\begin{itemize}
  \item \cs{selectfont} loads (and chooses) only the Japanese font for the current direction,
  and does not load the Japanese font for other direction
  (\LuaTeX-ja only detects its size and JFM, to calculate the amount of shifting the baseline).

  \item Direction changing commands (\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod}) are patched to
  include the following process:
  \begin{quote}
	If the Japanese font for new direction is not loaded,
	\LuaTeX-ja loads it automatically.
  \end{quote}
  Original commands are saved as \cs{ltj@@orig@yoko} etc.
  
  \item Specifying Japanese font command which is
  defined by \cs{jfont},~\cs{tfont}, or~\cs{DeclareFixedFont} directly
  actually loads (and selects) the Japanese font.
  For example, \textbf{JAchar}s in \cs{box0} will be typeset in \cs{HOGE},
  in the following code:
\begin{lstlisting}
  % in horizontal direction (\yoko)
  \DeclareFixedFont\HOGE{JT3}{gt}{m}{n}{12} % JT3: for vertical direction
  \HOGE
  \setbox0=\hbox{\tate ã‚ã„ã†}
\end{lstlisting}
  \end{itemize}
%&lt;/en&gt;

%&lt;*ja&gt;
\subsection{\LaTeXe ä¸‹ã§ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®èª­ã¿è¾¼ã¿}
\label{ssec:ltx-jfm}
ãƒãƒ¼ã‚¸ãƒ§ãƒ³20190107ä»¥é™ã§ã¯ï¼Œ\LaTeXe ã®ä¸‹ã§\LuaTeX-jaã‚’ä½¿ç”¨ã—ãŸéš›ã«ï¼Œ
\emph{æ¨ªçµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¨ç¸¦çµ„ã¿ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’ä¸¡æ–¹ä¸€åº¦ã«èª­ã¿è¾¼ã¿ãƒ»é¸æŠžã›ãšã«ï¼Œ
  å®Ÿéš›ã«ãã‚Œãžã‚Œã‚’ä½¿ã†çµ„æ–¹å‘ã«ãªã£ãŸã¨ãã«è¡Œã†}ã¨ã„ã†æ–¹é‡ã«ã—ãŸï¼Ž
ã“ã‚Œã¯å®Ÿéš›ã«èª­ã¿è¾¼ã‚€ãƒ•ã‚©ãƒ³ãƒˆæ•°ã‚’å‰Šæ¸›ã™ã‚‹ã“ã¨ã§ï¼Œ
ã‚¿ã‚¤ãƒ—ã‚»ãƒƒãƒˆã«ã‹ã‹ã‚‹æ™‚é–“ã¨ï¼ˆä¸»ã«Luaã®ï¼‰ãƒ¡ãƒ¢ãƒªæ¶ˆè²»ã‚’å‰Šæ¸›ã™ã‚‹ãŸã‚ã§ã‚ã‚‹(\cite{tc18ltja})ï¼Ž

\begin{itemize}
  \item \cs{selectfont}ã¯æ¨ªçµ„ç”¨ãƒ»ç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã†ã¡ï¼Œç¾åœ¨ã®çµ„æ–¹å‘ã§ä½¿ã†æ–¹ã‚’
  å®Ÿéš›ã«èª­ã¿è¾¼ã¿ï¼ˆãƒ»é¸æŠžã—ï¼‰ï¼Œãã†ã§ãªã„æ–¹ã¯ã€Œãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã¨JFMã®ã¿\LuaTeX-jaãŒæŠŠæ¡ã—ã¦ã„ã‚‹çŠ¶æ…‹ã€
  ï¼ˆä»¥ä¸‹ï¼Œ\emph{JFMæŠŠæ¡çŠ¶æ…‹}ï¼‰ã¨ã™ã‚‹ï¼Ž

  \item çµ„æ–¹å‘å¤‰æ›´å‘½ä»¤\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod}ã«ã¯
  \begin{quote}
	æ–°ãŸãªçµ„æ–¹å‘ã§ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒèª­ã¿è¾¼ã¾ã‚Œã¦ã„ãªã„ï¼ˆJFMæŠŠæ¡çŠ¶æ…‹ï¼‰ãªã‚‰ã°ï¼Œ
	ç¾åœ¨ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãƒ»ãƒ•ã‚¡ãƒŸãƒªãƒ»ã‚·ãƒªãƒ¼ã‚ºãƒ»ã‚·ã‚§ã‚¤ãƒ—ã‹ã‚‰æ”¹ã‚ã¦èª­ã¿è¾¼ã‚€ï¼ˆã¾ãŸã¯é¸æŠžã™ã‚‹ï¼‰
  \end{quote}
  å‡¦ç†ãŒä»˜ã‘åŠ&nbsp;ãˆã‚‰ã‚Œã¦ã„ã‚‹ï¼Ž
  ã‚‚ã¨ã®ã€Œçµ„æ–¹å‘ã‚’å¤‰æ›´ã™ã‚‹ã&nbsp;ã‘ã€ã®å‘½ä»¤ã¯\cs{ltj@@orig@yoko}ã®ã‚ˆã†ã«\texttt{ltj@@orig@}ãŒå‰ã«ã¤ã„ãŸ
  å‘½ä»¤ã«ä¿å­˜ã•ã‚Œã¦ã„ã‚‹ï¼Ž
  
  \item \cs{jfont},~\cs{tfont},~\cs{DeclareFixedFont}ã§å®šç¾©ã•ã‚ŒãŸå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯
  ãã®æ™‚ç‚¹ã§å®Ÿéš›ã«ãƒ•ã‚©ãƒ³ãƒˆãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹ï¼Žã™ãªã‚ã¡ï¼Œä»¥ä¸‹ã®ã‚³ãƒ¼ãƒ‰ã«ãŠã„ã¦ï¼Œ
  \cs{box0}ä¸­ã®\textbf{JAchar}ã¯\cs{HOGE}ã§ã‚¿ã‚¤ãƒ—ã‚»ãƒƒãƒˆã•ã‚Œã‚‹ï¼Ž
\begin{lstlisting}
  % in horizontal direction (\yoko)
  \DeclareFixedFont\HOGE{JT3}{gt}{m}{n}{12} % JT3: for vertical direction
  \HOGE
  \setbox0=\hbox{\tate ã‚ã„ã†}
\end{lstlisting}
  \end{itemize}
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Patch for NFSS2}
%&lt;ja&gt;\subsection{NFSS2ã¸ã®ãƒ‘ãƒƒãƒ}
\label{ssec:nfsspat}

%&lt;*en&gt;
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã®NFSS2ã¸ã®æ—¥æœ¬èªžãƒ‘ãƒƒãƒã¯
\pLaTeXe ã§åŒæ§˜ã®å½¹å‰²ã‚’æžœãŸã™ \texttt{plfonts.dtx} ã‚’ãƒ™ãƒ¼ã‚¹ã«ï¼Œ
å’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®ç®¡ç†ç­‰ã‚’Luaã§æ›¸ããªãŠã—ãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž
ã“ã“ã§ã¯\ref{ssec:chgfnt}ç¯€ã§è¿°ã¹ã¦ã„ãªã‹ã£ãŸå‘½ä»¤ã«ã¤ã„ã¦
è¨˜è¿°ã—ã¦ãŠãï¼Ž
%&lt;/ja&gt;

\begin{cslist}%
\item[\normalfont\bfseries %
%&lt;ja&gt;è¿½åŠ&nbsp;ã®é•·ã•å¤‰æ•°é”
%&lt;en&gt;additonal dimensions
]
%&lt;*en&gt;
Like \pLaTeXe, \LuaTeX-ja defines the following dimensions
for information of current Japanese font:
%&lt;/en&gt;
%&lt;*ja&gt;
\pLaTeXe ã¨åŒæ§˜ã«ï¼Œ\LuaTeX-jaã¯ã€Œç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®æƒ…å&nbsp;±ã€ã‚’æ&nbsp;¼ç´ã™ã‚‹é•·ã•å¤‰æ•°
%&lt;/ja&gt;
\begin{quote}
 \cs{cht}~(height), \cs{cdp}~(depth), \cs{cHT}~(sum of former two),\\
 \cs{cwd}~(width), \cs{cvs}~(lineskip), \cs{chs}~(equals to \cs{cwd})
\end{quote}
%&lt;en&gt;and its \cs{normalsize} version:
%&lt;ja&gt;ã¨ï¼Œãã® \cs{normalsize} ç‰ˆã§ã‚ã‚‹
\begin{quote}
 \cs{Cht}~(height), \cs{Cdp}~(depth),
 \cs{Cwd}~(width), \\\cs{Cvs}~(equals to \cs{baselineskip}),
 \cs{Chs}~(equals to \cs{cwd})%
%&lt;en&gt;.
\end{quote}
%&lt;*ja&gt;
ã‚’å®šç¾©ã—ã¦ã„ã‚‹ï¼ŽãªãŠï¼Œ\cs{cwd} ã¨ \cs{zw}ï¼Œã¾ãŸ
\cs{cHT} ã¨ \cs{zh} ã¯ä¸€è‡´ã—ãªã„å¯èƒ½æ€§ãŒã‚ã‚‹ï¼Žãªãœãªã‚‰ï¼Œ
\cs{cwd},~\cs{cHT} ã¯æ–‡å­—ã‚¯ãƒ©ã‚¹0ã®å’Œæ–‡æ–‡å­—ã®å¯¸æ³•ã‹ã‚‰æ±ºå®šã•ã‚Œã‚‹ã®ã«å¯¾ã—ï¼Œ
\cs{zw} ã¨ \cs{zh} ã¯JFMã«æŒ‡å®šã•ã‚ŒãŸå€¤ã«éŽãŽãªã„ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
Note that \cs{cwd}~and~\cs{cHT} may  differ from \cs{zw}~and~\cs{zh}
respectively.
On the one hand the former dimensions are determined from
a character whose character class is zero,
but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM.
%&lt;/en&gt;


\item[\cs{DeclareYokoKanjiEncoding}\{\meta{encoding}\}\{\meta{text-settings}\}\{\meta{math-settings}\}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
\item[\cs{DeclareTateKanjiEncoding}\{\meta{encoding}\}\{\meta{text-settings}\}\{\meta{math-settings}\}]

%&lt;*en&gt;
In NFSS2 under \LuaTeX-ja, distinction between alphabetic fonts
	     and Japanese fonts are only made by their
	     encodings. For example, encodings OT1 and T1 are encodings for
	     alphabetic fonts, and Japanese fonts cannot
	     have these encodings. These command define a new encoding
	     scheme for Japanese font families.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã®NFSS2ã«ãŠã„ã¦ã¯ï¼Œæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯
ãã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã«ã‚ˆã£ã¦ã®ã¿åŒºåˆ¥ã•ã‚Œã‚‹ï¼Ž
ä¾‹ãˆã°ï¼ŒOT1ã¨T1ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§ã‚ã‚Šï¼Œ
å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯ã“ã‚Œã‚‰ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’æŒã¤ã“ã¨ã¯ã§ããªã„ï¼Ž
ã“ã‚Œã‚‰ã‚³ãƒžãƒ³ãƒ‰ã¯æ¨ªçµ„ç”¨ãƒ»ç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãŸã‚ã®æ–°ã—ã„ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’
ãã‚Œãžã‚Œå®šç¾©ã™ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\cs{DeclareKanjiEncodingDefaults}\{\meta{text-settings}\}\{\meta{math-settings}\}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
\item[\cs{DeclareKanjiSubstitution}\{\meta{encoding}\}\{\meta{family}\}\{\meta{series}\}\{\meta{shape}\}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
\item[\cs{DeclareErrorKanjiFont}\{\meta{encoding}\}\{\meta{family}\}\{\meta{series}\}\{\meta{shape}\}\{\meta{size}\}]

%&lt;*en&gt;
The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šè¨˜3ã¤ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã¡ã‚‡ã†ã©NFSS2 ã® \cs{DeclareFontEncodingDefaults} ãªã©ã«å¯¾å¿œã™ã‚‹ã‚‚ã®ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\cs{reDeclareMathAlphabet}\{\meta{unified-cmd}\}\{\meta{al-cmd}\}\{\meta{ja-cmd}\}]

% ToDo: en
%&lt;*ja&gt;
å’Œæ–‡ãƒ»æ¬§æ–‡ã®æ•°å¼ç”¨ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’ä¸€åº¦ã«å¤‰æ›´ã™ã‚‹å‘½ä»¤ã‚’ä½œæˆã™ã‚‹ï¼Ž
å…·ä½“çš„ã«ã¯ï¼Œæ¬§æ–‡æ•°å¼ç”¨ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªå¤‰æ›´ã®å‘½ä»¤\meta{al-cmd}ï¼ˆ\cs{mathrm} ç­‰ï¼‰ã¨ï¼Œå’Œæ–‡æ•°å¼ç”¨ãƒ•ã‚©
	     ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªå¤‰æ›´ã®å‘½ä»¤\meta{ja-cmd}ï¼ˆ\cs{mathmc} ç­‰ï¼‰ã®2ã¤ã‚’åŒæ™‚ã«è¡Œã†å‘½ä»¤ã¨ã—ã¦
	     \meta{unified-cmd}ã‚’ï¼ˆå†ï¼‰å®šç¾©ã™ã‚‹ï¼Žå®Ÿéš›ã®ä½¿ç”¨ã§ã¯\meta{unified-cmd}ã¨
	     \meta{al-cmd}ã«åŒã˜ã‚‚ã®ã‚’æŒ‡å®šã™ã‚‹ï¼Œã™ãªã‚ã¡ï¼Œ\meta{al-cmd}ã§å’Œæ–‡å´ã‚‚å¤‰
	     æ›´ã•ã›ã‚‹ã‚ˆã†ã«ã™ã‚‹ã®ãŒä¸€èˆ¬çš„ã¨æ€ã‚ã‚Œã‚‹ï¼Ž

æœ¬å‘½ä»¤ã¯
\begin{center}
\meta{unified-cmd}\texttt{\{}\meta{arg}\texttt{\}}\quad$\longrightarrow$\quad
(\meta{al-cmd}ã®1æ®µå±•é–‹çµæžœ)\texttt{\{}\meta{ja-cmd}ã®1æ®µå±•é–‹çµæžœ)\texttt{\{\meta{arg}\}\}}
\end{center}
ã¨å®šç¾©ã‚’è¡Œã†ã®ã§ï¼Œä½¿ç”¨ã«ã¯æ³¨æ„ãŒå¿…è¦ã§ã‚ã‚‹ï¼š
%&lt;en&gt;\vspace{-\medskipamount}
\begin{itemize}
\item \meta{al-cmd},~\meta{ja-cmd}ã¯æ—¢ã«å®šç¾©ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚‰ãªã„ï¼Ž
      \cs{reDeclareMathAlphabet}\\ã®å¾Œã«
ä¸¡å‘½ä»¤ã®å†…å®¹ã‚’å†å®šç¾©ã—ã¦ã‚‚ï¼Œ\meta{unified-cmd}ã®å†…å®¹ã«ãã‚Œã¯åæ˜&nbsp;ã•ã‚Œãªã„ï¼Ž
\item \meta{al-cmd},~\meta{ja-cmd}ã«\verb+\@mathrm+ãªã©ã¨ \texttt{@} ã‚’ã¤ã‘ãŸå‘½ä»¤ã‚’æŒ‡å®šã—ãŸæ™‚ã®å‹•ä½œã¯ä¿è¨¼ã§ããªã„ï¼Ž
\end{itemize}
%&lt;/ja&gt;

\item[\cs{DeclareRelationFont}\{\meta{ja-encoding}\}\{\meta{ja-family}\}\{\meta{ja-series}\}\{\meta{ja-shape}\}\\*
  \null\hfill\{\meta{al-encoding}\}\{\meta{al-family}\}\{\meta{al-series}\}\{\meta{al-shape}\}]
%&lt;*en&gt;
This command sets the ``accompanied'' alphabetic font (given by the latter 4~arguments)
with respect to a Japanese font given by the former 4~arguments.
%&lt;/en&gt;
%&lt;*ja&gt;
ã„ã‚ã‚†ã‚‹ã€Œå¾“å±žæ¬§æ–‡ã€ã‚’è¨­å®šã™ã‚‹ãŸã‚ã®å‘½ä»¤ã§ã‚ã‚‹ï¼Žå‰åŠã®4å¼•æ•°ã§è¡¨ã•ã‚Œã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾ã—ã¦ï¼Œ
ãã®ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾å¿œã™ã‚‹ã€Œå¾“å±žæ¬§æ–‡ã€ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’å¾ŒåŠã®4å¼•æ•°ã«ã‚ˆã‚Šä¸Žãˆã‚‹ï¼Ž
%&lt;/ja&gt;
\item[\cs{SetRelationFont}]
%&lt;*en&gt;
This command is almost same as \cs{DeclareRelationFont}, except that this command does a local
assignment, where \cs{DeclareRelationFont} does a global assignment.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ \cs{DeclareRelationFont} ã¨ãƒ­ãƒ¼ã‚«ãƒ«ãªæŒ‡å®šã§ã‚ã‚‹ã“ã¨ã‚’é™¤ã„ã¦
ã»ã¨ã‚“ã©åŒã˜ã§ã‚ã‚‹ï¼ˆ\cs{DeclareRelationFont} ã¯ã‚°ãƒ­ãƒ¼ãƒãƒ«ï¼‰ï¼Ž
%&lt;/ja&gt;

\item[\cs{userelfont}]
%&lt;*en&gt;
(Only)~at the next call of \cs{selectfont},
  change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
  font family with respect to current Japanese font family,
  which was set by
  \cs{DeclareRelationFont} or \cs{SetRelationFont}.

  The following is an example of \cs{SetRelationFont} and \cs{userelfont}:
%&lt;/en&gt;
%&lt;*ja&gt;
æ¬¡å›žï¼ˆã®ã¿ï¼‰ã®\cs{selectfont}ã®å®Ÿè¡Œæ™‚ã«ï¼Œç¾åœ¨ã®æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ï¼ãƒ•ã‚¡ãƒŸãƒªï¼â€¦â€¦ ã‚’ï¼Œ
\cs{DeclareRelationFont} ã‹ \cs{SetRelationFont} ã§æŒ‡å®šã•ã‚ŒãŸ
ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾å¿œã™ã‚‹ã€Œå¾“å±žæ¬§æ–‡ã€ãƒ•ã‚©ãƒ³ãƒˆã«å¤‰æ›´ã™ã‚‹ï¼Ž

  ä»¥ä¸‹ã« \cs{SetRelationFont} ã¨ \cs{userelfont} ã®ä¾‹ã‚’
ç´¹ä»‹ã—ã¦ãŠã“ã†ï¼Ž\cs{userelfont} ã®ä½¿ç”¨ã«ã‚ˆã£ã¦ï¼Œã€Œabcã€ã®éƒ¨åˆ†ã®ãƒ•ã‚©ãƒ³ãƒˆãŒ
Latin Modern Sans Serif (TU/lmss/m/n) ã«å¤‰ã‚ã£ã¦ã„ã‚‹ã“ã¨ãŒã‚ã‹ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\makeatletter
\SetRelationFont{JY3}{\k@family}{m}{n}{TU}{lmss}{m}{n}
  % \k@family: current Japanese font family
\userelfont\selectfont ã‚ã„ã†abc
\end{LTXexample}

\item[\cs{adjustbaseline}]
%&lt;*en&gt;
In \pLaTeXe, \cs{adjustbaseline} sets \cs{tbaselineshift}
to match the vertical center of ``M'' and that of ``æ¼¢''  in vertical typesetting:
\[
\text{\cs{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.
In \LuaTeX-ja, this \cs{adjustbaseline} does similar task, namely setting the
	     \Param{talbaselineshift} parameter
(a Japanese character whose character class is zero is used, instead of `æ¼¢' ).
%&lt;/en&gt;
%&lt;*ja&gt;
\pLaTeXe ã§ã¯ï¼Œ\cs{adjustbaseline} ã¯ç¸¦çµ„æ™‚ã«ã€ŒMã€ã¨ã€Œæ¼¢ã€ã®ä¸­å¿ƒç·šã‚’ä¸€è‡´ã•ã›ã‚‹ãŸã‚ã«ï¼Œ
\cs{tbaselineshift} ã‚’è¨­å®šã™ã‚‹å½¹å‰²ã‚’æŒã£ã¦ã„ã‚‹ï¼š
\[
\text{\cs{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ã«ãŠã„ã¦ã‚‚ï¼ŒåŒã˜ã‚ˆã†ã«\cs{adjustbaseline}ã¯\Param{talbaselineshift}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®èª¿æ•´å‡¦
	     ç†ã‚’è¡Œã£ã¦ã„ã‚‹ï¼ˆä½†ã—ã€Œæ¼¢ã€ã§ãªãã€Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã®å’Œæ–‡æ–‡å­—ã€ã‚’ç”¨ã„ã‚‹ï¼‰ï¼Ž

\pLaTeXe ã§ã¯ï¼Œ\cs{adjustbaseline}ã§ï¼ˆæœ¬ç¯€ã®æœ€åˆã«è¿°ã¹ãŸï¼Œå°æ–‡å­—ã§å§‹ã¾ã‚‹ï¼‰\cs{cht}, \cs{cwd}%ã®
  è¨­å®šå‡¦ç†ã‚‚è¡Œã£ã¦ã„ãŸãŒï¼Œ\LuaTeX-jaã§ã‚‚å…¨ãåŒæ§˜ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\cs{fontfamily}\{\meta{family}\}]
%&lt;*en&gt;
As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
to \meta{family}. See Subsection~\ref{ssec:fontfamilycmd} for detail.
%&lt;/en&gt;
%&lt;*ja&gt;
å…ƒã€…ã®\LaTeXe ã«ãŠã‘ã‚‹ã‚‚ã®ã¨åŒæ§˜ã«ï¼Œã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç¾åœ¨ã®ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªï¼ˆæ¬§æ–‡ï¼Œ
å’Œæ–‡ï¼Œ\emph{ã‚‚ã—ãã¯ä¸¡æ–¹}ï¼‰ã‚’\meta{family}ã«å¤‰æ›´ã™ã‚‹ï¼Žè©³ç´°ã¯\ref{ssec:fontfamilycmd}ç¯€ã‚’å‚ç…§ã™ã‚‹ã“ã¨ï¼Ž
%&lt;/ja&gt;

\item[\cs{fontshape}\{\meta{shape}\}\textrm{, }\cs{fontshapeforce}\{\meta{shape}\}]
%&lt;*en&gt;
As in \LaTeXe, this command changes current alphabetic font shape
according to shape change rules.

Traditionally, \cs{fontshape} changes also current Japanese font shape always.
However, this leads a lot of \LaTeX\ font warning like
\begin{verbatim}
    Font shape `JY3/mc/m/it' undefined
    using `JY3/mc/m/n' instead on ....
\end{verbatim}
when \cs{itshape} is called,
because almost all Japanese fonts only have shape ``\texttt{n}'', and \cs{itshape} calls \cs{fontshape}.

\LuaTeX-ja~20200323.0 change the behavior. Namely,
\cs{fontshape\{\meta{shape}\}}~and~\cs{fontshapeforce\{\meta{shape}\}} change current Japanese font shape, only if
the required shape (according to shape changing rules) or \meta{shape} is avaliable in current Japanese font family/series.
When this is not the case, an info such as
\begin{verbatim}
    Kanji font shape JY3/mc/m/it' undefined
    No change on ...
\end{verbatim}
is issued instead of a warning.
%&lt;/en&gt;
%&lt;*ja&gt;
å…ƒã€…ã®\LaTeXe ã«ãŠã‘ã‚‹ã‚‚ã®ã¨åŒæ§˜ã«ï¼Œã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç¾åœ¨ã®æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚·ã‚§ã‚¤ãƒ—ã‚’
\cs{DeclareFontShapeChangeRule}ã«ã‚ˆã‚‹ã‚·ã‚§ã‚¤ãƒ—æ›´æ–°è¦å‰‡ã«ã‚ˆã£ã¦å¤‰æ›´ã™ã‚‹ï¼Ž

ä¼çµ±çš„ã«ã¯ï¼Œ\cs{fontshape}ã¯ç„¡æ¡ä»¶ã«å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚·ã‚§ã‚¤ãƒ—ã‚‚å¤‰æ›´ã—ãŸï¼Žã—ã‹ã—ï¼Œä¾‹ãˆã°å¤šãã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯
ã‚·ã‚§ã‚¤ãƒ—ãŒ``\texttt{n}''ã—ã‹æŒãŸãªã„ã“ã¨ã¨\cs{itshape}ãŒ\cs{fontshape}ã‚’å‘¼ã³å‡ºã™ã“ã¨ã‹ã‚‰ï¼Œ
\begin{verbatim}
    Font shape `JY3/mc/m/it' undefined
    using `JY3/mc/m/n' instead on ....
\end{verbatim}
ã¨ã„ã£ãŸè­¦å‘Šã‚’ã‚‚ãŸã‚‰ã—ã¦ã—ã¾ã£ã¦ã„ãŸï¼Ž

ä¸€æ–¹ï¼Œ\LuaTeX-ja 20200323.0ä»¥é™ã§ã¯ï¼Œ
\cs{fontshape\{\meta{shape}\}}, \cs{fontshapeforce\{\meta{shape}\}}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚·ã‚§ã‚¤ãƒ—ã‚’æ›´æ–°ã™ã‚‹ã®ã¯ï¼Œ
ã‚·ã‚§ã‚¤ãƒ—æ›´æ–°è¦å‰‡ã«åŸºã¥ã„ãŸå€¤ã‚„\meta{shape}ã®å°‘ãªãã¨ã‚‚ä¸€ã¤ãŒç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªãƒ»ã‚·ãƒªãƒ¼ã‚ºã§åˆ©ç”¨å¯èƒ½ãªã¨ãã«é™ã‚‰ã‚Œã‚‹ï¼Ž
ã©ã¡ã‚‰ã§ã‚‚ãªãï¼Œå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚·ã‚§ã‚¤ãƒ—ãŒå¤‰æ›´ã•ã‚Œãªã‹ã£ãŸå&nbsp;´åˆã«ã¯
\begin{verbatim}
    Kanji font shape JY3/mc/m/it' undefined
    No change on ...
\end{verbatim}
ã¨ã„ã†infoï¼ˆè­¦å‘Šã§ãªãï¼‰ã‚’å‡ºåŠ›ã™ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\cs{kanjishape}\{\meta{shape}\}\textrm{, }\cs{kanjishapeforce}\{\meta{shape}\}]
%&lt;*en&gt;
\cs{kanjishape\{\meta{shape}\}} changes current Japanese font shape according to shape change rules, and
\cs{kanjishapeforce\{\meta{shape}\}} changes current Japanese font shape to \meta{shape}, regardless of the rules.
Hence \cs{kanjishape\{it\}} produces a warning
\begin{verbatim}
    Font shape `JY3/mc/m/it' undefined
    using `JY3/mc/m/n' instead on ....
\end{verbatim}
which is not produced by \cs{fontshape\{it\}}.
%&lt;/en&gt;
%&lt;*ja&gt;
  ...
%&lt;/ja&gt;


\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
\DeclareKanjiFamily{JY3}{edm}{}
\DeclareFontShape{JY3}{edm}{m}{n}   {&lt;-&gt; s*HaranoAjiMincho-Regular:jfm=ujis}{}
\DeclareFontShape{JY3}{edm}{m}{fb}  {&lt;-&gt; s*HaranoAjiGothic-Regular:jfm=ujis;color=003FFF}{}
\DeclareFontShape{JY3}{edm}{m}{fb2} {&lt;-&gt; s*HaranoAjiGothic-Regular:jfm=ujis;color=FF1900}{}
\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{fb}{ "4E00-"67FF,{-2}-{-2}}
\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{fb2}{"6800-"9FFF}
{\kanjifamily{edm}\selectfont
æ—¥æœ¬å›½æ°‘ã¯ã€æ­£å½“ã«é¸æŒ™ã•ã‚ŒãŸå›½ä¼šã«ãŠã‘ã‚‹ä»£è¡¨è€…ã‚’é€šã˜ã¦è¡Œå‹•ã—ã€â€¦â€¦}
\end{LTXexample}
%&lt;ja&gt;\caption{\cs{DeclareAlternateKanjiFont} ã®ä½¿ç”¨ä¾‹}
%&lt;en&gt;\caption{An example of \cs{DeclareAlternateKanjiFont}}
\label{fig:altkanji}
\end{figure}

\item[\cs{DeclareAlternateKanjiFont}\\
  \{\meta{base-encoding}\}\{\meta{base-family}\}\{\meta{base-series}\}\{\meta{base-shape}\}\\
  \{\meta{alt-encoding}\}\{\meta{alt-family}\}\{\meta{alt-series}\}\{\meta{alt-shape}\}\{\meta{range}\}]
%&lt;*ja&gt;
\ref{ssec:altfont}ç¯€ã®\
\cs{ltjdeclarealtfont} ã¨åŒæ§˜ã«ï¼Œå‰åŠã®4å¼•æ•°ã®
å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆï¼ˆåŸºåº•ãƒ•ã‚©ãƒ³ãƒˆï¼‰ã®ã†ã¡\meta{range}ä¸­ã®æ–‡å­—ã‚’
ç¬¬5ã‹ã‚‰ç¬¬8å¼•æ•°ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’ä½¿ã£ã¦çµ„ã‚€ã‚ˆã†ã«æŒ‡ç¤ºã™ã‚‹ï¼Ž
ä½¿ç”¨ä¾‹ã‚’å›³\nobreak\ref{fig:altkanji}ã«è¼‰ã›ãŸï¼Ž

\begin{itemize}
 \item
\cs{ltjdeclarealtfont} ã§ã¯åŸºåº•ãƒ•ã‚©ãƒ³ãƒˆãƒ»ç½®ãæ›ãˆå…ˆå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯ã‚ã‚‰ã‹ã˜ã‚å®šç¾©ã•ã‚Œã¦ã„
	     ãªã„ã¨ã„ã‘ãªã„ï¼ˆãã®ä»£ã‚ã‚Šå³æ™‚ç™ºåŠ¹ï¼‰ãŸãŒï¼Œ
\cs{DeclareAlternateKanjiFont} ã®è¨­å®šãŒ
å®Ÿéš›ã«åŠ¹åŠ›ãŒç™ºæ®ã™ã‚‹ã®ã¯ï¼Œæ›¸ä½“å¤‰æ›´ã‚„ã‚µã‚¤ã‚ºå¤‰æ›´ã‚’è¡Œã£ãŸæ™‚ï¼Œ
ã‚ã‚‹ã„ã¯ï¼ˆã“ã‚Œã‚‰ã‚’å«ã‚€ãŒï¼‰\cs{selectfont} ãŒå®Ÿè¡Œã•ã‚ŒãŸæ™‚ã§ã‚ã‚‹ï¼Ž
 \item
æ®µè½ã‚„hboxã®æœ€å¾Œã§ã®è¨­å®šå€¤ãŒæ®µè½ï¼hboxå…¨ä½“ã«ã‚ãŸã£ã¦é€šç”¨ã™ã‚‹ç‚¹ã‚„ï¼Œ
\meta{range}ã«è²&nbsp;æ•°$-n$ã‚’æŒ‡å®šã—ãŸå&nbsp;´åˆï¼Œãã‚ŒãŒã€ŒåŸºåº•ãƒ•ã‚©ãƒ³ãƒˆã®æ–‡å­—ã‚¯ãƒ©ã‚¹$n$ã«å±žã™ã‚‹æ–‡å­—å…¨ä½“ã€
ã¨è§£é‡ˆã•ã‚Œã‚‹ã®ã¯ \cs{ltjdeclarealtfont} ã¨åŒã˜ã§ã‚ã‚‹ï¼Ž
\end{itemize}%
%&lt;/ja&gt;
%&lt;*en&gt;
As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec:altfont}),
characters in \meta{range} 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 \autoref{fig:altkanji}.

\begin{itemize}
 \item
In \cs{ltjdeclarealtfont}, the base font and the alternate font must be already defined.
But this \cs{DeclareAlternateKanjiFont} is not so.
In other words, \cs{DeclareAlternateKanjiFont} is effective only after
current Japanese font is changed, or only after \cs{selectfont} is executed.
 \item \dots
\end{itemize}%
\vspace{-\medskipamount}
%&lt;/en&gt;
\end{cslist}


%&lt;*en&gt;
Furthermore, \LuaTeX-ja applies patches which enables NFSS2 commands,
such~as \cs{DeclareSymbolFont}~and~\cs{SetSymbolFont}, to specify
Japanee fonts as math fonts.

Specifying \texttt{disablejfam} option in \cs{usepackage} prevents
applying these patches.
Hence one cannot write Japanese Characters in math mode directly
if \texttt{disablejfam} option is specified.
The code below does not work either:
\begin{lstlisting}
\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
\DeclareSymbolFontAlphabet{\mathmc}{mincho}
\end{lstlisting}
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ä»–ã«ã‚‚ï¼Œæ¨™æº–ã§ã¯
\cs{DeclareSymbolFont}, \cs{SetSymbolFont} ãªã©ã®å‘½ä»¤ã§
ï¼ˆNFSS2ã®æž&nbsp;çµ„ã¿ã§ï¼‰æ•°å¼ãƒ•ã‚©ãƒ³ãƒˆã¨ã—ã¦æ—¥æœ¬èªžãƒ•ã‚©ãƒ³ãƒˆã‚’ä½¿ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã®ãƒ‘ãƒƒãƒã‚’å½“ã¦ã¦ã„ã‚‹ï¼Ž

ä¸€æ–¹ï¼Œ\texttt{disablejfam}ã‚ªãƒ—ã‚·ãƒ§ãƒ³æŒ‡å®šæ™‚ã«ã¯ï¼Œã“ã‚Œã‚‰ã®ãƒ‘ãƒƒãƒã‚’å½“ã¦ãªã„ã®ã§
\begin{lstlisting}
\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
\DeclareSymbolFontAlphabet{\mathmc}{mincho}
\end{lstlisting}
ã®ã‚ˆã†ã«è¨­å®šã—ã¦ã‚‚ï¼Œæ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸­ã«ç›´ã«æ—¥æœ¬èªžã‚’è¨˜è¿°ã™ã‚‹ã“ã¨ã¯ã§ããªã„ï¼Ž
\verb|$\mathmc{ã‚}$| ã®ã‚ˆã†ã« \cs{mathmc} ã§å›²ã‚“ã§ã‚‚ã§ããªã„ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Detail of \cs{fontfamily} command}
%&lt;ja&gt;\subsection{\cs{fontfamily}ã‚³ãƒžãƒ³ãƒ‰ã®è©³ç´°}
\label{ssec:fontfamilycmd}
%&lt;*en&gt;
In this subsection, we describe when \cs{fontfamily}\meta{family} changes current
Japanese/alphabetic font family. Basically, current Japanese fotn family is changed to
\meta{family} if it is recognized as a Japanese font family, and similar with alphabetic font
family. There is a case that current Japanese/alphabetic font family are both changed to
\meta{family}, and another case that \meta{family} isn't recognized as a Japanese/alphabetic font
family either.

\paragraph{Recognition as Japanese font family}
First, Whether Japanese font family will be changed is determined in following order.
This order is very similar to \cs{fontfamily} in \pLaTeXe, but we re-implemented in Lua.
We use an auxiliary list~$N_{\mathrm{J}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
æœ¬ç¯€ã§ã¯ï¼Œ\cs{fontfamily}\meta{family} ãŒã„ã¤å’Œæ–‡/æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’å¤‰æ›´ã™ã‚‹ã‹ã«ã¤ã„ã¦è§£èª¬
ã™ã‚‹ï¼ŽåŸºæœ¬çš„ã«ã¯ï¼Œ\meta{family}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã&nbsp;ã¨èªè­˜ã•ã‚Œã‚Œã°å’Œæ–‡å´ãŒï¼Œæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡
ãƒŸãƒªã&nbsp;ã¨èªè­˜ã•ã‚Œã‚Œã°æ¬§æ–‡å´ãŒå¤‰æ›´ã•ã‚Œã‚‹ï¼Žã©ã¡ã‚‰ã¨ã‚‚èªè­˜ã•ã‚Œã‚Œã°å’Œæ–‡ãƒ»æ¬§æ–‡ã®ä¸¡æ–¹ãŒå¤‰ã‚ã‚‹ã“
ã¨ã«ãªã‚‹ã—ï¼Œå½“ç„¶ã©ã¡ã‚‰ã¨ã‚‚èªè­˜ã•ã‚Œãªã„ã“ã¨ã‚‚ã‚ã‚‹ï¼Ž

\paragraph{å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦ã®èªè­˜}
ã¾ãšï¼Œ\meta{family}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè­˜ã•ã‚Œã‚‹ã‹ã¯ä»¥ä¸‹ã®é&nbsp;†åºã§æ±ºå®šã•ã‚Œã‚‹ï¼Ž
ã“ã‚Œã¯\pLaTeXe ã® \cs{fontfamily} ã«ã¨ã¦ã‚‚ä¼¼ã¦ã„ã‚‹ãŒï¼Œã“ã“ã§ã¯Luaã«ã‚ˆã£ã¦å®Ÿè£…ã—ã¦ã„ã‚‹ï¼Ž
è£œåŠ©çš„ã«ã€Œå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã¨èªè­˜ã•ã‚ŒãŸã€ãƒ•ã‚¡ãƒŸãƒªã‚’æ&nbsp;¼ç´ã—ãŸãƒªã‚¹ãƒˆ$N_{\mathrm{J}}$ã‚’ç”¨ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{enumerate}
%&lt;*en&gt;
\item If the family~\meta{family} has been defined already by \cs{DeclareKanjiFamily},
      \meta{family} is recognized as a  Japanese font family.
      Note that \meta{family} need not be defined under \emph{current} Japanese font encoding.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ãƒ•ã‚¡ãƒŸãƒª\meta{family}ãŒæ—¢ã« \cs{DeclareKanjiFamily} ã«ã‚ˆã£ã¦å®šç¾©ã•ã‚Œã¦ã„ã‚‹å&nbsp;´åˆï¼Œ
      \meta{family}ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã‚ã‚‹ã¨èªè­˜ã•ã‚Œã‚‹ï¼Ž
      ã“ã“ã§ï¼Œ\meta{family}ã¯ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§å®šç¾©ã•ã‚Œã¦ã„ãªãã¦ã‚‚ã‚ˆã„ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item If the family~\meta{family} has been listed in a list~$N_{\mathrm{J}}$, this means
      that \meta{family} is not a Japanese font family.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ãƒ•ã‚¡ãƒŸãƒª\meta{family}ãŒãƒªã‚¹ãƒˆ$N_{\mathrm{J}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œãã‚Œã¯
      \meta{family}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã“ã¨ã‚’æ„å‘³ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item If the \Pkg{luatexja-fontspec} package is loaded, we stop here, and \meta{family} is not
      recognized as a Japanese font family.

      If the \Pkg{luatexja-fontspec} package is \emph{not} loaded,
now \LuaTeX-ja looks whether there exists a Japanese font encoding~\meta{enc} such that
      a font definition named \texttt{\meta{enc}\meta{family}.fd} (the file name is
      all lowercase) exists. If so, \meta{family} is recognized as a  Japanese font family (the font definition file won't be loaded here).
      If not, \meta{family} is not a Japanese font family, and
      \meta{family} is appended to the list~$N_{\mathrm{J}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚‚ã—\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒèª­ã¿è¾¼ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œã“ã“ã§çµ‚äº†ã§ã‚ã‚Šï¼Œ
\meta{family}ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè­˜ã•ã‚Œãªã„ã“ã¨ã«ãªã‚‹ï¼Ž

ã‚‚ã—\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒèª­ã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘ã‚Œã°ï¼Œå’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°\meta{enc}ã§
ãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«\texttt{\meta{enc}\meta{family}.fd}ï¼ˆãƒ•ã‚¡ã‚¤ãƒ«åã¯å…¨ã¦å°æ–‡å­—ï¼‰ãŒå­˜åœ¨ã™ã‚‹ã‚ˆã†ãªã‚‚
      ã®ãŒã‚ã‚‹ã‹ã©ã†ã‹ã‚’èª¿ã¹ã‚‹ï¼Ž
å­˜åœ¨ã™ã‚Œã°ï¼Œ\meta{family}ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè­˜ã•ã‚Œã‚‹ï¼ˆãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã¯èª­ã¿è¾¼ã¾ã‚Œãª
      ã„ï¼‰ï¼Ž
å­˜åœ¨ã—ãªã‘ã‚Œã°ï¼Œ\meta{family}ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ãªã„ã¨èªè­˜ã•ã‚Œï¼Œãƒªã‚¹ãƒˆ$N_{\mathrm{J}}$ã«\meta{family}ã‚’è¿½åŠ&nbsp;ã™ã‚‹ã“ã¨ã§ãã‚Œã‚’è¨˜æ†¶ã™ã‚‹ï¼Ž

%&lt;/ja&gt;
\end{enumerate}

%&lt;*en&gt;
\paragraph{Recognition as alphabetic font family}
Next, whether alphabetic font family will be changed is determined in following order.
We use auxiliary lists $F_{\mathrm{A}}$~and~$N_{\mathrm{A}}$,
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦ã®èªè­˜}
åŒæ§˜ã«ï¼Œ\meta{family}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè­˜ã•ã‚Œã‚‹ã‹ã¯ä»¥ä¸‹ã®é&nbsp;†åºã§æ±ºå®šã•ã‚Œã‚‹ï¼Ž
è£œåŠ©çš„ã«ã€Œæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨æ—¢ã«èªè­˜ã•ã‚ŒãŸã€ãƒ•ã‚¡ãƒŸãƒªã®ãƒªã‚¹ãƒˆ$F_{\textrm{A}}$ã¨ï¼Œ
ã€Œæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã¨èªè­˜ã•ã‚ŒãŸã€ãƒ•ã‚¡ãƒŸãƒªã‚’æ&nbsp;¼ç´ã—ãŸãƒªã‚¹ãƒˆ$N_{\mathrm{A}}$ã‚’ç”¨ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{enumerate}
%&lt;*en&gt;
\item If the family~\meta{family} has been listed in a list~$F_{\mathrm{A}}$,
      \meta{family} is recognized as an alphabetic font family.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ãƒ•ã‚¡ãƒŸãƒª\meta{family}ãŒãƒªã‚¹ãƒˆ$F_{\mathrm{A}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œ
      \meta{family}ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè­˜ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item If the family~\meta{family} has been listed in a list~$N_{\mathrm{A}}$, this means
      that \meta{family} is not  an alphabetic font family.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ãƒ•ã‚¡ãƒŸãƒª\meta{family}ãŒãƒªã‚¹ãƒˆ$N_{\mathrm{A}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œãã‚Œã¯
      \meta{family}ãŒæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã“ã¨ã‚’æ„å‘³ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item If there exists an alphabetic font encoding such that the family~\meta{family} has been
      defined under it, \meta{family} is recognized as an alphabetic font family, and
      to memorize this, \meta{family} is appended to the list~$F_{\mathrm{A}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚ã‚‹æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ä¸‹ã§ãƒ•ã‚¡ãƒŸãƒª\meta{family}ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚Œã°ï¼Œ
      \meta{family}ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè­˜ã•ã‚Œï¼Œãƒªã‚¹ãƒˆ$F_{\mathrm{A}}$ã«\meta{family}ã‚’è¿½åŠ&nbsp;ã™ã‚‹ã“ã¨ã§ã“ã®ã“ã¨ã‚’è¨˜æ†¶ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item Now \LuaTeX-ja looks whether there exists an alphabetic font encoding~\meta{enc} such that
      a font definition named \texttt{\meta{enc}\meta{family}.fd} (the file name is
      all lowercase) exists. If so, current alphabetic font family will be changed to
      \meta{family}~(the font definition file won't be loaded here).
      If not, current alphabetic font family won't be changed, and
      \meta{family} is appended to the list~$N_{\mathrm{A}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item æœ€çµ‚æ®µéšŽã§ã¯ï¼Œæ¬§æ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°\meta{enc}ã§
ãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«\texttt{\meta{enc}\meta{family}.fd}ï¼ˆãƒ•ã‚¡ã‚¤ãƒ«åã¯å…¨ã¦å°æ–‡å­—ï¼‰ãŒå­˜åœ¨ã™ã‚‹ã‚ˆã†ãªã‚‚
      ã®ãŒã‚ã‚‹ã‹ã©ã†ã‹ã‚’èª¿ã¹ã‚‹ï¼Ž
å­˜åœ¨ã™ã‚Œã°ï¼Œ\meta{family}ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè­˜ã•ã‚Œã‚‹ï¼ˆãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã¯èª­ã¿è¾¼ã¾ã‚Œãªã„ï¼‰ï¼Ž
å­˜åœ¨ã—ãªã‘ã‚Œã°ï¼Œ\meta{family}ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè­˜ã•ã‚Œãªã„ã®ã§ï¼Œãƒªã‚¹ãƒˆ$N_{\mathrm{A}}$ã«
      \meta{family}ã‚’è¿½åŠ&nbsp;ã—ã¦ãã®ã“ã¨ã‚’è¨˜æ†¶ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{enumerate}

%&lt;*en&gt;
Also, each call of \cs{DeclareFontFamily} \emph{after} loading of \LuaTeX-ja makes
the second argument (family) is appended to the list~$F_{\mathrm{A}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
ã¾ãŸï¼Œ\cs{DeclareFontFamily}ãŒ\LuaTeX-jaã®èª­ã¿è¾¼ã¿å¾Œã«å®Ÿè¡Œã•ã‚ŒãŸå&nbsp;´åˆã¯ï¼Œ
ç¬¬2å¼•æ•°ï¼ˆãƒ•ã‚¡ãƒŸãƒªåï¼‰ãŒè‡ªå‹•çš„ã«$F_{\mathrm{A}}$ã«è¿½åŠ&nbsp;ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
The above order is very similar to \cs{fontfamily} in \pLaTeXe, but more complicated (clause~3.).
This is because  \pLaTeXe\ is a \emph{format} however \LuaTeX-ja is not,
hence \LuaTeX-ja does not know calls of \cs{DeclareFontFamily} \emph{before} itself is
loaded.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»¥ä¸Šã®æ–¹é‡ã¯\pLaTeXe ã«ãŠã‘ã‚‹ \cs{fontfamily} ã«ã‚„ã¯ã‚Šé¡žä¼¼ã—ã¦ã„ã‚‹ãŒï¼Œ3.ãŒåŠ&nbsp;ã‚ã‚Šè‹¥å¹²è¤‡é›‘ã«ãªã£ã¦ã„ã‚‹ï¼Ž
ãã‚Œã¯\pLaTeXe ãŒãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã§ã‚ã‚‹ã®ã«å¯¾ã—\LuaTeX-jaã¯ãã†ã§ãªã„ãŸã‚ï¼Œ
\LuaTeX-jaã¯è‡ªèº«ãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹å‰ã«ã©ã†ã„ã†\cs{DeclareFontFamily}ã®å‘¼ã³å‡ºã—ãŒã‚ã£ãŸã‹
æŠŠæ¡ã§ããªã„ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{Remarks}
%&lt;ja&gt;\paragraph{æ³¨æ„}
%&lt;*en&gt;
Of course, there is a case that \meta{family} is not recognized as a Japanese font family,  nor
an alphabetic font family.
In this case, \LuaTeX-ja treats ``the argument \meta{family} is wrong'', so
set both current alphabetic and Japanese font family to \meta{family},
to use the default family for font substitution.
%&lt;/en&gt;
%&lt;*ja&gt;
ã•ã¦ï¼Œå¼•æ•°ã«ã‚ˆã£ã¦ã¯ï¼Œã€Œå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã‚‚æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚‚èªè­˜ã•ã‚Œãªã‹ã£ãŸã€
ã¨ã„ã†äº‹æ…‹ã‚‚ã‚ã‚Šå¾—ã‚‹ï¼Ž
  ã“ã®å&nbsp;´åˆï¼Œå¼•æ•°\meta{family}ã¯ä¸æ­£ã&nbsp;ã£ãŸï¼Œã¨ã„ã†ã“ã¨ã«ãªã‚‹ã®ã§ï¼Œ
å’Œæ–‡ãƒ»æ¬§æ–‡ã®ä¸¡æ–¹ã®ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’\meta{family}ã«è¨­å®šã—ï¼Œä»£ç”¨ãƒ•ã‚©ãƒ³ãƒˆãŒä½¿ã‚ã‚Œã‚‹ã«ä»»ã›ã‚‹ã“ã¨ã«ã™ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\subsection{Notes on \cs{DeclareTextSymbol}}
From \LaTeX~2017/01/01, the standard encoding of \LuaLaTeX\ is changed to the \texttt{TU}
encoding. This menas that symbols defined by \texttt{T1}~and~\texttt{TS1} encodings can be used
without loading any package. To produces these symbols in alphabetic fonts in \LuaTeX-ja,
\LuaTeX-ja patches \cs{DeclareTextSymbol}, and reloads \texttt{tuenc.def}.

Under original definition of \cs{DeclareTextSymbol},
internal commands which is defined by \cs{DeclareTextSymbol} (such as \cs{T1\cs{textquotedblleft}})
are \textit{chardef} tokens. However, this no longer holds in \LuaTeX-ja;
for example, the meaning of \cs{TU\cs{textquotedblleft}} is \cs{ltjalchar8220\ltjalchar"2423 }.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{\cs{DeclareTextSymbol}ä½¿ç”¨æ™‚ã®æ³¨æ„}
\LaTeX~(2017/01/01)ä»¥é™ã§ã¯ï¼Œ\texttt{TU}ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãŒæ¨™æº–ã¨ãªã‚Šï¼Œç‰¹ã«ä½•ã‚‚ã—ãªãã¦ã‚‚
\texttt{T1},~\texttt{TS1}ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§å®šç¾©ã•ã‚Œã¦ã„ãŸè¨˜å·é¡žãŒ
ä½¿ãˆã‚‹ã‚ˆã†ã«ãªã£ãŸï¼Ž\LuaTeX-jaã§ã¯ã“ã‚Œã‚‰ã®å‘½ä»¤ã«ã‚ˆã£ã¦è¨˜å·ãŒæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã§å‡ºåŠ›ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ï¼Œ
\cs{DeclareTextSymbol}å‘½ä»¤ã‚’æ”¹å¤‰ã—ï¼Œãã—ã¦\texttt{TU}ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®å®šç¾©ã§ã‚ã‚‹
\texttt{tuenc.def}ã‚’å†èª­è¾¼ã—ã¦ã„ã‚‹ï¼Ž

å¾“æ¥ã¯ \cs{DeclareTextSymbol} ã§å†…éƒ¨çš„ã«å®šç¾©ã•ã‚ŒãŸ\cs{T1\cs{textquotedblleft}}ã¨ã„ã£ãŸå‘½ä»¤ã¯
\textit{chardef}ãƒˆãƒ¼ã‚¯ãƒ³ã§ã‚ã£ãŸï¼Žã—ã‹ã—å‰æ®µè½ã§è¿°ã¹ãŸæ”¹å¤‰ã«ã‚ˆã‚Šã‚‚ã¯ã‚„ãã†ã§ã¯ãªããªã£ã¦ãŠã‚Šï¼Œä¾‹ãˆã°
\cs{TU\cs{textquotedblleft}}ã¯ \cs{ltjalchar8220\ltjalchar"2423 } ã¨ã„ã†å®šç¾©ã«ãªã£ã¦ã„ã‚‹ï¼Ž%"
%&lt;/ja&gt;

\begin{table}[t]
  \centering\small
  \caption{strut}\label{tab:strutbox}\medskip
  \begin{tabular}{llcccl}
    \toprule
    \textbf{box}&amp;\textbf{direction}&amp;\textbf{width}&amp;\textbf{height}&amp;\textbf{depth}
    &amp;\textbf{user command}\\
    \midrule
  \cs{ystrutbox}&amp;yoko&amp;0&amp;0.7\cs{baselineskip}&amp;0.3\cs{baselineskip}&amp;\cs{ystrut}\\\midrule
  \cs{tstrutbox}&amp;tate, utod&amp;0&amp;0.5\cs{baselineskip}&amp;0.5\cs{baselineskip}&amp;\cs{tstrut}\\\midrule
  \cs{dstrutbox}&amp;dtou&amp;0&amp;0.7\cs{baselineskip}&amp;0.3\cs{baselineskip}&amp;\cs{dstrut}\\\midrule
  \cs{zstrutbox}&amp;---&amp;0&amp;0.7\cs{baselineskip}&amp;0.3\cs{baselineskip}&amp;\cs{zstrut}\\\bottomrule
  \end{tabular}
\end{table}
%&lt;*en&gt;
\subsection{\cs{strutbox}}
As \pLaTeX~(2017/04/08 or later), \cs{strutbox} is \emph{a macro} which is expanded to one of
\cs{ystrutbox},~\cs{tstrutbox},~and~\cs{dstrutbox}
(all of them are shown in \autoref{tab:strutbox}), according to the current direction.
Similarly, \cs{strut} now uses one of these boxes.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{\cs{strutbox}}
\pLaTeX~2017/04/08ä»¥é™ã¨åŒã˜ã‚ˆã†ã«ï¼Œ
\cs{strutbox}ã¯ç¾åœ¨ã®çµ„æ–¹å‘ã«ã‚ˆã£ã¦\cs{ystrutbox}, \cs{tstrutbox}, \cs{dstrutbox}ã®
ã„ãšã‚Œã‹ã«å±•é–‹ã•ã‚Œã‚‹\emph{ãƒžã‚¯ãƒ­}ã¨ãªã£ã¦ã„ã‚‹ï¼ˆã“ã‚Œã‚‰ã«ã¤ã„ã¦ã¯\autoref{tab:strutbox}å‚ç…§ï¼‰ï¼Ž
åŒæ§˜ã«\cs{strut}ã‚‚ã“ã®3\nobreak ãƒœãƒƒã‚¯ã‚¹ã®ã„ãšã‚Œã‹ã‚’çµ„æ–¹å‘ã«ã‚ˆã£ã¦ä½¿ã„åˆ†ã‘ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž

\cs{zstrutbox}ã¯utodæ–¹å‘ï¼ˆ\pTeX ã§ã„ã†ç¸¦æ•°å¼ãƒ‡ã‚£ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ï¼‰ã§ä½¿ã‚ã‚Œã‚‹æ”¯æŸ±ãƒœãƒƒã‚¯ã‚¹ã§ã‚ã‚‹ãŒï¼Œ
å®Ÿéš›ã«ä½¿ã‚ã‚Œã‚‹ã®ã¯\cs{zstrut}ãŒæ˜Žç¤ºçš„ã«ç™ºè¡Œã•ã‚ŒãŸæ™‚ï¼Œãã—ã¦
\Pkg{lltjext}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§è¿½åŠ&nbsp;ã•ã‚Œã‚‹çµ„æ–¹å‘æŒ‡å®šã§ \texttt{&lt;u&gt;} ã‚’æŒ‡å®šã—ãŸæ™‚ï¼ŒãŠã‚ˆã³
å‘¨å›²ãŒç¸¦çµ„ã®çŠ¶æ³ã§ \texttt{&lt;z&gt;} ã‚’æŒ‡å®šã—ãŸæ™‚ã«é™ã‚‰ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\section{expl3 interface}
This section describes expl3 interfaces provided by \LuaTeX-ja.
All of them belong to te \texttt{platex} module, since they are provided for compatibility with Japanese \pLaTeX.
Note that commands which are marked with dagger (``\dagger'') are additions by \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
\section{expl3å½¢å¼ã®å‘½ä»¤}
expl3ã®æ–‡æ³•ã«æ²¿ã£ãŸçµ„æ–¹å‘å¤‰æ›´å‘½ä»¤ã‚„çµ„æ–¹å‘ã«ã‚ˆã‚‹æ¡ä»¶åˆ¤æ–­æ–‡ã§ã‚ã‚‹ï¼Ž
ã“ã‚Œã‚‰ã¯\pLaTeX ã¨ã®äº’æ›æ€§ã®ç‚ºã«ç”¨æ„ã•ã‚Œã¦ã„ã‚‹ã®ã§ï¼Œ\texttt{platex}ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã—ã¦å®šç¾©ã•ã‚Œã¦ã„ã‚‹ï¼Ž
ãªãŠï¼Œ``\dagger''ãŒã¤ã„ã¦ã„ã‚‹å‘½ä»¤ã¯\LuaTeX-jaç‹¬è‡ªã®ã‚‚ã®ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{cslist}
  \item[\cs{platex\_direction\_yoko:}\textrm{, }\cs{platex\_direction\_tate:}\textrm{, }\cs{platex\_direction\_dtou:}]
%&lt;ja&gt;  ãã‚Œãžã‚Œ\cs{yoko},~\cs{tate},~\cs{dtou}ã¨åŒç¾©ï¼Ž
%&lt;en&gt;  Synonyms for \cs{yoko},~\cs{tate}~and~\cs{dtou}, respectively.
  \item[\cs{platex\_if\_direction\_yoko\_p:}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_yoko:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ç¾åœ¨ã®çµ„æ–¹å‘ãŒæ¨ªçµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the current direction is \emph{yoko} (horizontal writing).
  \item[\cs{platex\_if\_direction\_tate\_nomath\_p:}$^\dagger$]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_tate\_nomath:\underline{\textsl{TF}}}$^\dagger$ \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ç¾åœ¨ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the current direction is \emph{tate} (vertical writing).
  \item[\cs{platex\_if\_direction\_tate\_math\_p:}$^\dagger$]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_tate\_math:\underline{\textsl{TF}}}$^\dagger$ \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ç¾åœ¨ã®çµ„æ–¹å‘ãŒutodæ–¹å‘ï¼ˆ\pTeX ã§ã„ã†ã€Œç¸¦æ•°å¼ãƒ‡ã‚£ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ï¼‰ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the current direction is \emph{utod}.
  \item[\cs{platex\_if\_direction\_tate\_p:}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_tate:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ç¾åœ¨ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã¾ãŸã¯utodæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the current direction is \emph{tate}~or~\emph{utod}.
  \item[\cs{platex\_if\_direction\_dtou\_p:}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_dtou:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ç¾åœ¨ã®çµ„æ–¹å‘ãŒdtouæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the current direction is \emph{dtou}.
  \item[\cs{platex\_if\_box\_yoko\_p:N} \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_box\_yoko:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ãƒœãƒƒã‚¯ã‚¹\meta{box}ã®çµ„æ–¹å‘ãŒæ¨ªçµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{yoko}.
  \item[\cs{platex\_if\_box\_tate\_nomath\_p:N}$^\dagger$ \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_box\_tate\_nomath:N\underline{\textsl{TF}}}$^\dagger$ \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ãƒœãƒƒã‚¯ã‚¹\meta{box}ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{tate}.
  \item[\cs{platex\_if\_box\_tate\_math\_p:N}$^\dagger$ \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_box\_tate\_math:N\underline{\textsl{TF}}}$^\dagger$ \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ãƒœãƒƒã‚¯ã‚¹\meta{box}ã®çµ„æ–¹å‘ãŒutodæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{utod}.
  \item[\cs{platex\_if\_box\_tate\_p:N} \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_box\_tate:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ãƒœãƒƒã‚¯ã‚¹\meta{box}ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã¾ãŸã¯utodæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{tate}~or~\emph{utod}.
  \item[\cs{platex\_if\_box\_dtou\_p:N} \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
\item[\cs{platex\_if\_box\_dtou:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;    ãƒœãƒƒã‚¯ã‚¹\meta{box}ã®çµ„æ–¹å‘ãŒdtouæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’ãƒ†ã‚¹ãƒˆã™ã‚‹ï¼Ž
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{dtou}.
\end{cslist}


%&lt;*en&gt;
\section{Addon packages}
\LuaTeX-ja has several addon packages.
These addons are written as \LaTeX\ packages, but
\Pkg{luatexja-otf} and~\Pkg{luatexja-adjust} can be loaded in plain \LuaTeX\
by \cs{input}.
%&lt;/en&gt;
%&lt;*ja&gt;
\section{æ‹¡å¼µãƒ‘ãƒƒã‚±ãƒ¼ã‚¸}
\LuaTeX-jaã«ã¯ï¼ˆå‹•ä½œã«ã¯å¿…é&nbsp;ˆã§ã¯ãªã„ãŒï¼‰è‡ªç”±ã«èª­ã¿è¾¼ã‚ã‚‹æ‹¡å¼µãŒä»˜å±žã—ã¦ã„ã‚‹ï¼Ž
ã“ã‚Œã‚‰ã¯\LaTeX ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¨ã—ã¦åˆ¶ä½œã—ã¦ã„ã‚‹ãŒï¼Œ
\Pkg{luatexja-otf}ã¨\Pkg{luatexja-adjust}ã«ã¤ã„ã¦ã¯plain \LuaTeX ã§ã‚‚\
\cs{input} ã§èª­ã¿è¾¼ã¿å¯èƒ½ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\subsection{\Pkg{luatexja-fontspec}}
\label{ssec:fontspec2}
%&lt;*en&gt;
As described in Subsection~\ref{ssec:fontspec}, this optional package
provides the counterparts for several commands defined in the
\Pkg{fontspec} package (requires \Pkg{fontspec}~v2.4).
In addition to OpenType font features in the original \Pkg{fontspec},
the following ``font features'' specifications are allowed for
the commands of Japanese version:
%&lt;/en&gt;
%&lt;*ja&gt;
\ref{ssec:fontspec}ç¯€ã§è¿°ã¹ãŸã‚ˆã†ã«ï¼Œã“ã®è¿½åŠ&nbsp;ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯\Pkg{fontspec}%
ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã«å¯¾å¿œã™ã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆç”¨ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’æä¾›ã™ã‚‹ï¼Ž

\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§æŒ‡å®šå¯èƒ½ãªå„ç¨®OpenTypeæ©Ÿèƒ½ã«åŠ&nbsp;ãˆã¦ï¼Œå’Œæ–‡ç‰ˆã®ã‚³ãƒžãƒ³ãƒ‰ã«ã¯
ä»¥ä¸‹ã®ã€Œãƒ•ã‚©ãƒ³ãƒˆæ©Ÿèƒ½ã€ã‚’æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼š
%&lt;/ja&gt;


\begin{cslist}
\item[CID=\meta{name}\textrm{, }JFM=\meta{name}\textrm{, }JFM-var=\meta{name}]

%&lt;*en&gt;
These 3 keys correspond to \texttt{cid}, \texttt{jfm} and
\texttt{jfmvar} keys for \cs{jfont}~and~\cs{tfont} respectively.
See Subsections~\ref{ssec:jfont} and \ref{ssec:psft} for details
 of \texttt{cid}, \texttt{jfm} and
\texttt{jfmvar} keys.

The \texttt{CID} key is effective only when with \texttt{NoEmbed}
described below. The same JFM cannot be used in both horizontal Japanese fonts and
	     vertical Japanese fonts, hence the \texttt{JFM} key
will be actually used in \texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã‚‰3ã¤ã®ã‚­ãƒ¼ã¯ãã‚Œãžã‚Œ \cs{jfont},~\cs{tfont}ã«å¯¾ã™ã‚‹
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ã‚­ãƒ¼ã¨ãã‚Œãžã‚Œå¯¾å¿œã™ã‚‹ï¼Ž
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ã‚­ãƒ¼ã®è©³ç´°ã¯\ref{ssec:jfont}ç¯€
	     ã¨\ref{ssec:psft}ç¯€ã‚’å‚ç…§ï¼Ž

\texttt{CID} ã‚­ãƒ¼ã¯ä¸‹ã® \texttt{NoEmbed} ã¨åˆã‚ã›ã¦ç”¨ã„ã‚‰ã‚ŒãŸã¨ãã®ã¿æœ‰åŠ¹ã§ã‚ã‚‹ï¼Ž
ã¾ãŸï¼Œæ¨ªçµ„ç”¨JFMã¨ç¸¦çµ„ç”¨JFMã¯å…±ç”¨ã§ããªã„ãŸã‚ï¼Œå®Ÿéš›ã« \texttt{JFM} ã‚­ãƒ¼ã‚’ç”¨ã„ã‚‹éš›ã¯
å¾Œã«è¿°ã¹ã‚‹\ \texttt{YokoFeatures} ã‚­ãƒ¼ã‚„ \texttt{TateFeatures}\ ã®ä¸­ã§ç”¨ã„ã‚‹
ã“ã¨ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;

\item[NoEmbed]
%&lt;*en&gt;
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã‚’æŒ‡å®šã™ã‚‹ã“ã¨ã§ï¼ŒPDFã«åŸ‹ã‚è¾¼ã¾ã‚Œãªã„ã€Œåå‰ã&nbsp;ã‘ã€ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’æŒ‡å®šã™ã‚‹ã“ã¨ãŒ
ã§ãã‚‹ï¼Ž\ref{ssec:psft}ç¯€ã‚’å‚ç…§ï¼Ž
%&lt;/ja&gt;

\begin{figure}[!tb]
\begin{LTXexample}[width=0.25\textwidth]
\jfontspec[
  YokoFeatures={Color=FF1900}, TateFeatures={Color=003FFF},
  TateFont=HaranoAjiGothic-Regular
]{HaranoAjiMincho-Regular}
\hbox{\yoko æ¨ªçµ„ã®ãƒ†ã‚¹ãƒˆ}\hbox{\tate ç¸¦çµ„ã®ãƒ†ã‚¹ãƒˆ}
\addjfontfeatures{Color=00AF00}
\hbox{\yoko æ¨ªçµ„}\hbox{\tate ç¸¦çµ„}
\end{LTXexample}
%&lt;ja&gt;\caption{\texttt{TateFeatures} ç­‰ã®ä½¿ç”¨ä¾‹}
%&lt;en&gt;\caption{An example of \texttt{TateFeatures} etc.}
\label{fig:yokotate-fontspec}
\end{figure}

\item[Kanjiskip=\meta{bool}]
%&lt;*ja&gt;
\pageref{pg:ltjksp}ãƒšãƒ¼ã‚¸ã§èª¬æ˜Žã—ãŸ \verb+\jfont+ ä¸­ã§ã® \texttt{ltjksp} æŒ‡å®šã¨
åŒä¸€ã®åŠ¹åŠ›ã‚’æŒã¡ï¼Œ
JFMä¸­ã«ãŠã‘ã‚‹ \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\texttt{kanjiskip\_shrink}ã‚­ãƒ¼ï¼ˆ\pageref{pg:ksp_nat}ãƒšãƒ¼ã‚¸ï¼‰ã®æœ‰åŠ¹/ç„¡åŠ¹ã‚’åˆ‡ã‚Šæ›¿ãˆã‚‹ï¼Ž
æ¨™æº–å€¤ã¯ \texttt{true} ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[TateFeatures=\{\meta{features}\}\textrm{, }TateFont=\meta{font}]
%&lt;*en&gt;
The \texttt{TateFeatures} key specifies font features which are only turned~on in
vertical writing, such as \texttt{Style=VerticalKana}~(\texttt{vkna} feature).
Similarly, the \texttt{TateFont} key specifies the Japanese font which will be used only
	     in vertical writing.
A demonstrarion is shown in \autoref{fig:yokotate-fontspec}.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¸¦çµ„ã«ãŠã„ã¦ä½¿ç”¨ã•ã‚Œã‚‹ãƒ•ã‚©ãƒ³ãƒˆã‚„ï¼Œç¸¦çµ„ã«ãŠã„ã¦ã®ã¿é©ç”¨ã•ã‚Œã‚‹ãƒ•ã‚©ãƒ³ãƒˆæ©Ÿèƒ½é”ã‚’
æŒ‡å®šã™ã‚‹ï¼Žä½¿ç”¨ä¾‹ã¯\autoref{fig:yokotate-fontspec}å‚ç…§ï¼Ž
%&lt;/ja&gt;

\item[YokoFeatures=\{\meta{features}\}]
%&lt;*en&gt;
The \texttt{YokoFeatures} key specifies font features which are only turned~on in
horizontal writing,.
A demonstrarion is shown in \autoref{fig:yokotate-fontspec}.
%&lt;/en&gt;
%&lt;*ja&gt;
åŒæ§˜ã«ï¼Œæ¨ªçµ„ã«ãŠã„ã¦ã®ã¿é©ç”¨ã•ã‚Œã‚‹ãƒ•ã‚©ãƒ³ãƒˆæ©Ÿèƒ½é”ã‚’
æŒ‡å®šã™ã‚‹ï¼Žä½¿ç”¨ä¾‹ã¯\autoref{fig:yokotate-fontspec}å‚ç…§ï¼Ž
%&lt;/ja&gt;


\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
\jfontspec[
  AltFont={
    {Range="4E00-"67FF, Font=HaranoAjiGothic-Regular, Color=003FFF},
    {Range="6800-"9EFF, Color=FF1900},
    {Range="3040-"306F, Font=HaranoAjiGothic-Regular, Color=35A16B},
  }
]{HaranoAjiMincho-Regular}
æ—¥æœ¬å›½æ°‘ã¯ã€æ­£å½“ã«é¸æŒ™ã•ã‚ŒãŸå›½ä¼šã«ãŠã‘ã‚‹ä»£è¡¨è€…ã‚’é€šã˜ã¦è¡Œå‹•ã—ã€ã‚ã‚Œã‚‰ã¨ã‚ã‚Œã‚‰ã®å­å­«ã®ãŸã‚ã«ã€
è«¸å›½æ°‘ã¨ã®å”å’Œã«ã‚ˆã‚‹æˆæžœã¨ã€ã‚ãŒå›½å…¨åœŸã«ã‚ãŸã¤ã¦è‡ªç”±ã®ã‚‚ãŸã‚‰ã™æµæ²¢ã‚’ç¢ºä¿ã—ã€â€¦â€¦
\end{LTXexample}
%&lt;ja&gt;\caption{\texttt{AltFont} ã®ä½¿ç”¨ä¾‹}
%&lt;en&gt;\caption{An example of \texttt{AltFont}}
\label{fig:altkanji-fontspec}
\end{figure}

\item[AltFont]

%&lt;*en&gt;
As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec:altfont}) and
\cs{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:
%&lt;/en&gt;
%&lt;*ja&gt;
\ref{ssec:altfont}ç¯€ã® \cs{ltjdeclarealtfont} ã‚„ï¼Œ
\ref{ssec:nfsspat}ç¯€ã® \cs{DeclareAlternateKanjiFont} ã¨åŒæ§˜ã«ï¼Œ
ã“ã®ã‚­ãƒ¼ã‚’ç”¨ã„ã‚‹ã¨ä¸€éƒ¨ã®æ–‡å­—ã‚’ç•°ãªã£ãŸãƒ•ã‚©ãƒ³ãƒˆã‚„æ©Ÿèƒ½ãŸã¡ã‚’ä½¿ã£ã¦çµ„ã‚€ã“ã¨ãŒã§ãã‚‹ï¼Ž
\texttt{AltFont} ã‚­ãƒ¼ã«æŒ‡å®šã™ã‚‹å€¤ã¯ï¼Œæ¬¡ã®ã‚ˆã†ã«äºŒé‡ã®ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã§ã‚ã‚‹ï¼š
%&lt;/ja&gt;
\begin{lstlisting}[escapechar=\#]
AltFont = {
  ...
  { Range=#\meta{range}#, #\meta{features}#},
  { Range=#\meta{range}#, Font=#\meta{font~name}#, #\meta{features}# },
  { Range=#\meta{range}#, Font=#\meta{font~name}&gt;# },
  ...
}
\end{lstlisting}
%&lt;*en&gt;
Each sublist should have the \texttt{Range} key
(sublist which does not contain \texttt{Range} key is simply ignored).
A demonstrarion is shown in \autoref{fig:altkanji-fontspec}.
%&lt;/en&gt;
%&lt;*ja&gt;
å„éƒ¨åˆ†ãƒªã‚¹ãƒˆã«ã¯ \texttt{Range} ã‚­ãƒ¼ãŒå¿…é&nbsp;ˆã§ã‚ã‚‹ï¼ˆå«ã¾ã‚Œãªã„éƒ¨åˆ†ãƒªã‚¹ãƒˆã¯
å˜ç´”ã«ç„¡è¦–ã•ã‚Œã‚‹ï¼‰ï¼ŽæŒ‡å®šä¾‹ã¯\autoref{fig:altkanji-fontspec}ã«ç¤ºã—ãŸï¼Ž
%&lt;/ja&gt;
\end{cslist}

%&lt;*ja&gt;
ãªãŠï¼Œ\Pkg{luatexja-fontspec} èª­ã¿è¾¼ã¿æ™‚ã«ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«%
\texttt{\meta{ja-enc}\meta{family}.fd}ã¯å…¨ãå‚ç…§ã•ã‚Œãªããªã‚‹ï¼Ž
%&lt;/ja&gt;


%&lt;*en&gt;
\paragraph{Remark on \texttt{AltFont}, \texttt{YokoFeatures}, \texttt{TateFeatures} keys}
\leavevmode\par
In \texttt{AltFont},~\texttt{YokoFeatures},~\texttt{TateFeatures} keys,
one cannot specify per-shape settings such as \texttt{BoldFeatures}.
For example,
\begin{lstlisting}
AltFont = {
  { Font=HogeraMin-Light, BoldFont=HogeraMin-Bold,
    Range="3000-"30FF, BoldFeatures={Color=FF1900} }
}
\end{lstlisting}
does \emph{not} work. Instead, one have to write
\begin{lstlisting}
UprightFeatures = {
  AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
},
BoldFeatures = {
  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=FF1900 } },
}
\end{lstlisting}

On the other hand, \texttt{YokoFeatures}, \texttt{TateFeatures} and  \texttt{TateFont}
keys can be specified in each list in the \texttt{AltFont} key. Also,
one can specify \texttt{AltFont} inside \texttt{YokoFeatures},~\texttt{TateFeatures}.

Note that features which are specified in \texttt{YokoFeatures}~and~\texttt{TateFeatures}
are always interpreted \emph{after} other ``direction-independent'' features.
This explains why \cs{addjfontfeatures} at~line~6 in~\autoref{fig:yokotate-fontspec}
has no effect, because a color specification is already done in
\texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\texttt{AltFont}, \texttt{YokoFeatures}, \texttt{TateFeatures} ç­‰ã®åˆ¶é™}
\texttt{AltFont},~\texttt{YokoFeatures},~\texttt{TateFeatures}ã®å„ã‚­ãƒ¼ã¯
ã‚·ã‚§ã‚¤ãƒ—åˆ¥ã«æŒ‡å®šã•ã‚Œã‚‹ã¹ãã‚‚ã®ã§ã‚ã‚Šï¼Œ
å†…éƒ¨ã§ã¯ \texttt{BoldFeatures} ãªã©ã®ã‚·ã‚§ã‚¤ãƒ—åˆ¥ã®æŒ‡å®šã¯è¡Œã†ã“ã¨ãŒå‡ºæ¥ãªã„ï¼Ž
ä¾‹ãˆã°ï¼Ž
\begin{lstlisting}
AltFont = {
  { Font=HogeraMin-Light, BoldFont=HogeraMin-Bold,
    Range="3000-"30FF, BoldFeatures={Color=FF1900} }
}
\end{lstlisting}
ã®ã‚ˆã†ã«æŒ‡å®šã™ã‚‹ã“ã¨ã¯å‡ºæ¥ãšï¼Œ
\begin{lstlisting}
UprightFeatures = {
  AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
},
BoldFeatures = {
  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=FF1900 } },
}
\end{lstlisting}
ã®ã‚ˆã†ã«æŒ‡å®šã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ï¼Ž

ä¸€æ–¹ï¼Œ\texttt{AltFont} ã‚­ãƒ¼å†…ã®å„ãƒªã‚¹ãƒˆã§ã¯
\ \texttt{YokoFeatures},~\texttt{TateFeatures} åŠã³ \texttt{TateFont} ã‚­ãƒ¼ã‚’
æŒ‡å®šã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã‚ã‚Šï¼Žã¾ãŸ\ \texttt{YokoFeatures},~\texttt{TateFeatures} ã‚­ãƒ¼ã®
ä¸­èº«ã« \texttt{AltFont} ã‚’æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž

ã¾ãŸï¼Œ\autoref{fig:yokotate-fontspec}å¾ŒåŠéƒ¨ã§ã¯6è¡Œç›®ã®ç–‘ä¼¼å¤ªå­—ç„¡åŠ¹åŒ–ã®æŒ‡å®šãŒåŠ¹ã‹ãšï¼Œ
2è¡Œç›®ã§æŒ‡å®šã—ãŸ\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ ã«ã‚ˆã‚‹ç–‘ä¼¼å¤ªå­—ã®æŒ‡å®šãŒæœ‰åŠ¹ã«ãªã£
ãŸã¾ã¾ã§ã‚ã‚‹ï¼Žã“ã‚Œã¯\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ ã«ã‚ˆã‚‹
OpenTypeæ©Ÿèƒ½æŒ‡å®šã¯
çµ„æ–¹å‘ã«ä¾å­˜ã—ãªã„OpenTypeæ©Ÿèƒ½ã®æŒ‡å®šã‚ˆã‚Šå¾Œã«è§£é‡ˆã•ã‚Œã‚‹}ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž

%&lt;/ja&gt;


\subsection{\Pkg{luatexja-otf}}
\label{ssec:ltjotf}
%&lt;*en&gt;
This optional package supports typesetting glyphs
by specifying a CID number.
The package \Pkg{luatexja-otf} offers the following 2~low-level
commands:
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®è¿½åŠ&nbsp;ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯CIDç•ªå·ã«ã‚ˆã‚‹æ–‡å­—ã®å‡ºåŠ›ã‚’ã‚µãƒãƒ¼ãƒˆã™ã‚‹ï¼Ž
\Pkg{luatexja-otf}ã¯ä»¥ä¸‹ã®2ã¤ã®ä½Žãƒ¬ãƒ™ãƒ«ã‚³ãƒžãƒ³ãƒ‰ã‚’æä¾›ã™ã‚‹ï¼š
%&lt;/ja&gt;
\begin{cslist}
\item[\cs{CID}\{\meta{number}\}]
%&lt;*en&gt;
Typeset a glyph whose CID number is \meta{number}.
If the Japanese font is neither Adobe-Japan1,~Adobe-GB1, Adobe-CNS1,
Adobe-Korea1,~nor~Adobe-KR CID-keyed font,
\LuaTeX-ja treats that \meta{number} is a CID number of Adobe-Japan1 character collection,
and tries to typeset a ``most suitable glyph''.

Note that if the Japanese font is loaded using the HarfBuzz library, this \cs{CID}
command does not work.
%&lt;/en&gt;
%&lt;*ja&gt;
CIDç•ªå·ãŒ\meta{number}ã®æ–‡å­—ã‚’å‡ºåŠ›ã™ã‚‹ï¼Ž
ã‚‚ã—ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒAdobe-Japan1,~Adobe-GB1, Adobe-CNS1, Adobe-Korea1,~Adobe-KRã®
  ã„ãšã‚Œã®CID-keyed fontã§ã‚‚ãªã„å&nbsp;´åˆï¼Œ\meta{number}ã¯Adobe-Japan1ã®CIDç•ªå·ã§ã‚ã‚‹ã¨è§£é‡ˆã—
  ã€Œé©åˆ‡ãªã‚°ãƒªãƒ•ã€\footnote{%
  ç‰¹ã«ç¸¦çµ„ç”¨ã‚°ãƒªãƒ•ã®CIDç•ªå·ã‚’æŒ‡å®šã—ãŸå&nbsp;´åˆã¯ï¼ˆLuaTeX-ja 20190504.0ä»¥é™ã§ã¯è‹¥å¹²æ”¹è‰¯ã•ã‚Œã¦ã„ã‚‹ãŒï¼‰
  æ„å›³ã—ãªã„çµæžœã«ãªã‚‹å¯èƒ½æ€§ãŒé«˜ã„ï¼Ž
  ãªãŠï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³20190708.0ä»¥é™ã§ã¯ï¼ŒCIDã‹ã‚‰ã‚°ãƒªãƒ•ã¸ã®é¸æŠžã«ã‚°ãƒªãƒ•åã®æƒ…å&nbsp;±ã‚’ä½¿ç”¨ã—ã¦ã„ãªã„ï¼Ž
  ã¾ãŸï¼Œãƒ•ã‚©ãƒ³ãƒˆã«Adobe-Japan1ã®IVSãŒå«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œãã®æƒ…å&nbsp;±ã‚’ç”¨ã„ã¦
  ã‚°ãƒªãƒ•ã‚’é¸æŠžã™ã‚‹ï¼Ž
}ã‚’å‡ºåŠ›ã™ã‚‹ï¼Ž

ãªãŠï¼Œç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒHarfBuzzã‚’ç”¨ã„ã¦èª­ã¿è¾¼ã¾ã‚ŒãŸå&nbsp;´åˆã«ã¯ï¼Œ\cs{CID}ã¯æ­£ã—ãå‹•ä½œã—ãªã„ï¼Ž
%&lt;/ja&gt;

\item[\cs{UTF}\{\meta{hex\_number}\}]
%&lt;*en&gt;
Typeset a character whose character code is \meta{hex\_number} (in hexadecimal).
This command is similar to \verb+\char"+\meta{hex\_number},\ %"
but please remind remarks below.
%&lt;/en&gt;
%&lt;*ja&gt;
æ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒï¼ˆ16é€²ã§ï¼‰\meta{hex\_number}ã®æ–‡å­—ã‚’å‡ºåŠ›ã™ã‚‹ï¼Ž
ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ \verb+\char"+\meta{hex\_number}ã¨ä¼¼ã¦ã„ã‚‹ãŒï¼Œä¸‹ã®æ³¨æ„ã‚’å‚ç…§ã™ã‚‹ã“ã¨ï¼Ž%"
%&lt;/ja&gt;
\end{cslist}

%&lt;*ja&gt;
ã“ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯ï¼Œãƒžã‚¯ãƒ­é›† \texttt{luatexja-ajmacros.sty}\footnote{\Pkg{otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ä»˜å±žã®äº•ä¸Šæµ©ä¸€æ°ã«ã‚ˆã‚‹ãƒžã‚¯ãƒ­é›†
\texttt{ajmacros.sty} ã«å¯¾ã—ã¦
æ¼¢å­—ã‚³ãƒ¼ãƒ‰ã‚’UTF-8ã«ã—ãŸã‚Šï¼Œplain \LuaTeX ã§ã‚‚åˆ©ç”¨å¯èƒ½ã«ã™ã‚‹ã¨ã„ã†
ä¿®æ­£ã‚’åŠ&nbsp;ãˆãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž}\ ã‚‚è‡ªå‹•çš„ã«èª­ã¿è¾¼ã‚€ï¼Ž
\texttt{luatexja-ajmacros.sty} ã¯ï¼Œ
ãã®ãŸã‚ï¼Œ\Pkg{luatexja-otf} ã‚’èª­ã¿ã“ã‚ã° \texttt{ajmacros.sty} ãƒžã‚¯ãƒ­é›†ã«ã‚ã‚‹ \cs{ajåŠè§’} ãªã©ã®ãƒžã‚¯ãƒ­ã‚‚ãã®ã¾ã¾ä½¿ã†ã“ã¨ãŒã§ãã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
This package automatically loads \texttt{luatexja-ajmacros.sty}, which is slightly
modified version of \texttt{ajmacros.sty}\footnote{Useful macros by iNOUE Koich!, for the
\Pkg{japanese-otf} package.}.
Hence one can use macros which sre defined in \texttt{ajmacros.sty}, such as~\cs{ajåŠè§’}.
%&lt;/en&gt;

%&lt;en&gt;\paragraph{Remarks}
%&lt;ja&gt;\paragraph{æ³¨æ„}
%&lt;*en&gt;
Characters by \cs{CID} and \cs{UTF} commands are different from
ordinary characters in the following points:
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{CID} ã¨ \cs{UTF} ã‚³ãƒžãƒ³ãƒ‰ã«ã‚ˆã£ã¦å‡ºåŠ›ã•ã‚Œã‚‹æ–‡å­—ã¯
ä»¥ä¸‹ã®ç‚¹ã§é€šå¸¸ã®æ–‡å­—ã¨ç•°ãªã‚‹ï¼š
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item Always treated as \textbf{JAchar}s.
%&lt;/en&gt;
%&lt;*ja&gt;
\item å¸¸ã«\textbf{JAchar}ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item In vertical direction, \texttt{vert}/\texttt{vrt2} feature are automatically applied to
      characters by \cs{UTF}, regardless these feature are not activated in current Japanese font.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ç¸¦çµ„æ™‚ã«ã¯ï¼Œç¾åœ¨ã®ç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ \texttt{vert}/\texttt{vrt2} æ©Ÿèƒ½ãŒ
  æœ‰åŠ¹ã‹ç„¡åŠ¹ã‹ã‚’å•ã‚ãšï¼Œ\cs{UTF} ã§å‡ºåŠ›ã•ã‚Œã‚‹æ–‡å­—ã«ã¯ã“ã‚Œã‚‰ã®OpenTypeæ©Ÿèƒ½ãŒåƒã„ãŸå­—å½¢ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item Processes for supporting other OpenType features (for example,
      glyph replacement and kerning) by the \Pkg{luaotfload} package
      is not performed to these characters.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ãã®ä»–ã®OpenTypeæ©Ÿèƒ½ï¼ˆä¾‹ãˆã°ã‚°ãƒªãƒ•ç½®æ›ã‚„ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°ï¼‰ã‚’ã‚µãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã®
  \Pkg{luaotfload}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«ã‚ˆã‚‹å‡¦ç†ã¯ã“ã‚Œã‚‰ã®æ–‡å­—ã«ã¯åƒã‹ãªã„ï¼Ž
%&lt;/ja&gt;
\end{itemize}

%&lt;en&gt;\paragraph{Additional syntax of JFM}
%&lt;ja&gt;\paragraph{JFMã¸ã®è¨˜æ³•ã®è¿½åŠ&nbsp;}

%&lt;*en&gt;
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 extended notation is used in the standard JFM \texttt{jfm-ujis.lua}
to typeset halfwidth Hiragana glyphs (CID~516--598) in halfwidth.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luatexja-otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’èª­ã¿è¾¼ã‚€ã¨ï¼Œ
JFMã®\texttt{chars}ãƒ†ãƒ¼ãƒ–ãƒ«ã®ã‚¨ãƒ³ãƒˆãƒªã¨ã—ã¦ \verb+'AJ1-xxx'+ ã®å½¢ã®æ–‡å­—åˆ—ãŒ
ä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚‹ï¼Žã“ã‚Œã¯Adobe-Japan1ã«ãŠã‘ã‚‹CIDç•ªå·ãŒ \verb+xxx+ ã®æ–‡å­—ã‚’è¡¨ã™ï¼Ž

ã“ã®æ‹¡å¼µè¨˜æ³•ã¯ï¼Œæ¨™æº–JFM~\texttt{jfm-ujis.lua}ã§ï¼ŒåŠè§’ã²ã‚‰ãŒãªã®ã‚°ãƒªãƒ•ï¼ˆCID~516--598ï¼‰ã‚’
æ­£ã—ãåŠè§’å¹…ã§çµ„ã‚€ãŸã‚ã«åˆ©ç”¨ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

\subsection{\Pkg{luatexja-adjust}}
\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{%
  â–&nbsp;\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{b_cyan}{\copy\gridbox}\hskip-20\zw%
  \vbox{\hsize=20\zw\noindent\leftskip0pt\rightskip0pt\parfillskip0pt#1}\vrule}%
}}

{\centering
\begin{tabular}{lc}
\toprule
no adjustment&amp;\outbox{ä»¥ä¸Šã®åŽŸç†ã¯ï¼Œã€ŒåŒ…é™¤åŽŸç†ã€ã¨ã‚ˆãå‘¼ã°ã‚Œã‚‹ãŒ\hskip-.5\zw\null}\\
without priority&amp;%
\ltjdisableadjust
\outbox{ä»¥ä¸Šã®åŽŸç†ã¯ï¼Œã€ŒåŒ…é™¤åŽŸç†ã€ã¨ã‚ˆãå‘¼ã°ã‚Œã‚‹ãŒ}%
\ltjenableadjust\\
with priority&amp;%
\outbox{ä»¥ä¸Šã®åŽŸç†ã¯ï¼Œã€ŒåŒ…é™¤åŽŸç†ã€ã¨ã‚ˆãå‘¼ã°ã‚Œã‚‹ãŒ}
%&lt;en&gt;\ltjdisableadjust
\\
\bottomrule
\end{tabular}\par}
\medskip

\fakefn{}{The value of
\Param{kanjiskip} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
for making the difference obvious.}
%&lt;ja&gt;\caption{è¡Œé•·èª¿æ•´}\label{fig:adj}
%&lt;en&gt;\caption{Line adjustment}\label{fig:adj}
\end{figure}


%&lt;*en&gt;
(see Japanese version of this manual)
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®è¿½åŠ&nbsp;ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯ä»¥ä¸‹ã®æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹ï¼Žè©³ç´°ãªä»•æ§˜ã«ã¤ã„ã¦ã¯\ref{sec-adjspec}ç«&nbsp;ã‚’å‚ç…§ã—ã¦ã»ã—ã„ï¼Ž
\begin{description}
 \item[è¡Œæœ«æ–‡å­—ã®ä½ç½®èª¿æ•´]
  \pTeX ã§ã¯ï¼Œï¼ˆæ˜¯éžã¯ã¨ã‚‚ã‹ãï¼‰ã€Œè¡Œæœ«ã®èª­ç‚¹ã¯ã¶ã‚‰ä¸‹ã’ã‹äºŒåˆ†å–ã‚Šã‹å…¨è§’å–ã‚Šã®ã„ãšã‚Œã‹ã«ã€ã®ã‚ˆã†ã«
  è¡Œæœ«æ–‡å­—ã¨å®Ÿéš›ã®è¡Œæœ«ã®ä½ç½®é–¢ä¿‚ã‚’2é€šã‚Šä»¥ä¸Šã«ã™ã‚‹ã“ã¨ã¯é¢å€’ã§ã‚ã£ãŸï¼Ž
  å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ¡ãƒˆãƒªãƒƒã‚¯ã&nbsp;ã‘ã§ã¯ã€Œå¸¸ã«è¡Œæœ«ã®èª­ç‚¹ã¯ã¶ã‚‰ä¸‹ã’ã€ã¨ã„ã£ãŸã“ã¨ã—ã‹ã§ããšï¼Œ
  å‰ã®æ–‡ã«æ›¸ã„ãŸã“ã¨ã‚’å®Ÿç¾ã™ã‚‹ã«ã¯
  \begin{lstlisting}
\def\ã€‚{%
  \penalty10000 % ç¦å‰‡ãƒšãƒŠãƒ«ãƒ†ã‚£
  \hbox to0pt{ã€‚\hss}\penalty0 % ã¶ã‚‰ä¸‹ã’ã®å&nbsp;´åˆ
  \kern.5\zw\penalty0 % äºŒåˆ†å–ã‚Šã®å&nbsp;´åˆ
  \kern.5\zw\penalty0 % å…¨è§’å–ã‚Šã®å&nbsp;´åˆ
}
\end{lstlisting}
  ã®ã‚ˆã†ãªå‘½ä»¤ã‚’å®šç¾©ã—ï¼Œæ–‡ä¸­ã®å…¨ã¦ã®å¥ç‚¹ã‚’ \lstinline+\ã€‚+ ã§æ›¸ãã“ã¨ãŒå¿…è¦ã&nbsp;ã£ãŸï¼Ž

  \Pkg{luatexja-adjust}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯ï¼Œä¸Šã§è¿°ã¹ãŸè¡Œæœ«æ–‡å­—ã¨å®Ÿéš›ã®è¡Œæœ«ã¨ã®ä½ç½®é–¢ä¿‚ã‚’
  2é€šã‚Šä»¥ä¸Šã‹ã‚‰è‡ªå‹•çš„ã«é¸æŠžã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹ï¼Ž
  \pdfTeX ã¨åŒã˜ã‚ˆã†ã«ï¼Œã€Œ\TeX ã«ã‚ˆã‚‹è¡Œåˆ†å‰²ã®å¾Œã§è¡Œæœ«æ–‡å­—ã®ä½ç½®ã‚’è£œæ­£ã™ã‚‹ã€æ–¹æ³•ã¨
  ã€Œè¡Œåˆ†å‰²ã®éŽç¨‹ã§è¡Œæœ«æ–‡å­—ã®ä½ç½®ã‚’è€ƒæ…®ã«å…¥ã‚Œã‚‹ã€æ–¹æ³•ã‚’é¸ã¹ã‚‹ã‚ˆã†ã«ã—ãŸ
  ï¼ˆ\Pkg{luatexja-adjust}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æ—¢å®šã§ã¯å‰è€…ï¼‰ï¼Ž
  
 \item[å„ªå…ˆé&nbsp;†ä½ä»˜ãã®è¡Œé•·èª¿æ•´]
  \pTeX ã§ã¯ï¼Œè¡Œé•·èª¿æ•´ã«ãŠã„ã¦å„ªå…ˆåº¦ã®æ¦‚å¿µãŒå­˜åœ¨ã—ãªã‹ã£ãŸãŸã‚ï¼Œå›³
  \ref{fig:adj}ä¸Šæ®µã«ãŠã‘ã‚‹åŠè§’åˆ†ã®åŠç«¯ã¯ï¼Œ\autoref{fig:adj}ä¸­æ®µã®ã‚ˆã†ã«ï¼Œéµ
  æ‹¬å¼§å‘¨è¾ºã®ç©ºç™½ã¨å’Œæ–‡é–“ç©ºç™½(\Param{kanjiskip})ã®ä¸¡æ–¹ã«ã‚ˆã£ã¦è²&nbsp;æ‹…ã•ã‚Œã‚‹ï¼Žã—
  ã‹ã—ï¼Œã€Œæ—¥æœ¬èªžçµ„ç‰ˆå‡¦ç†ã®è¦ä»¶ã€\cite{jlreq}ã‚„JIS~X~4051~\cite{x4051}ã«ãŠã„
  ã¦ã¯ï¼Œã“ã®ã‚ˆã†ãªçŠ¶æ³ã§ã¯åŠç«¯ã¯éµæ‹¬å¼§å‘¨è¾ºã®ç©ºç™½ã®ã¿ã§è²&nbsp;æ‹…ã—ï¼Œãã®ä»–ã®å’Œæ–‡
  æ–‡å­—ã¯ãƒ™ã‚¿çµ„ã§çµ„ã¾ã‚Œã‚‹ï¼ˆ\autoref{fig:adj}ä¸‹æ®µï¼‰ã“ã¨ã«ãªã£ã¦ã„ã‚‹ï¼Ž
  \Pkg{luatexja-adjust}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æä¾›ã™ã‚‹ç¬¬2ã®æ©Ÿèƒ½ã¯ï¼Œ
  \cite{jlreq}ã‚„\cite{x4051}ã«ãŠã‘ã‚‹è¦å®šã®ã‚ˆã†ãªï¼Œå„ªå…ˆé&nbsp;†ä½ä»˜ã
  ã®è¡Œé•·èª¿æ•´ã§ã‚ã‚‹ï¼Ž
  \begin{itemize}
   \item å„ªå…ˆåº¦ä»˜ãè¡Œé•·èª¿æ•´ã¯ï¼Œæ®µè½ã‚’è¡Œåˆ†å‰²ã—ãŸå¾Œã«å€‹ã€…ã®è¡Œã«ã¤ã„ã¦è¡Œã‚ã‚Œã‚‹ã‚‚ã®ã§ã‚ã‚‹ï¼Ž
	ãã®ãŸã‚ï¼Œè¡Œåˆ†å‰²ã®ä½ç½®ã¯å¤‰åŒ–ã™ã‚‹ã“ã¨ã¯ãªã„ï¼Ž
	
	\verb+\hbox{...}+ ã¨ã„ã£ãŸã€Œé€”ä¸­ã§æ”¹è¡Œã§ããªã„æ°´å¹³ãƒœãƒƒã‚¯ã‚¹ã€ã§ã¯ï¼ˆãŸã¨ãˆå¹…ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¦ã‚‚ï¼‰ç„¡åŠ¹ã§ã‚ã‚‹ï¼Ž
   \item å„ªå…ˆåº¦ä»˜ãè¡Œé•·èª¿æ•´ã‚’è¡Œã†ã¨ï¼Œå’Œæ–‡å‡¦ç†ã‚°ãƒ«ãƒ¼ã®è‡ªç„¶é•·ã¯å¤‰åŒ–ã—ãªã„ãŒï¼Œä¼¸ã³é‡ã‚„ç¸®ã¿é‡ã¯
	ä¸€èˆ¬ã«å¤‰åŒ–ã™ã‚‹ï¼Žãã®ãŸã‚ï¼Œæ—¢ã«çµ„ã¾ã‚ŒãŸæ®µè½ã‚’ \cs{unhbox} ãªã©ã‚’åˆ©ç”¨ã—ã¦çµ„ã¿ç›´ã™å‡¦ç†ã‚’
	è¡Œã†å&nbsp;´åˆã«ã¯æ³¨æ„ãŒå¿…è¦ã§ã‚ã‚‹ï¼Ž
  \end{itemize}
  
 \item[ã€Œä¸­èº«ã¾ã§ã¿ãŸã€è¡Œé€ã‚Šè¨ˆç®—]
  è¤‡æ•°è¡Œã«æ¸¡ã‚‹æ–‡ç«&nbsp;ã‚’çµ„ç‰ˆã™ã‚‹ã¨ãã«ã¯è¡Œé–“ã«ç©ºããŒå…¥ã‚‹ã“ã¨ãŒæ™®é€šã§ã‚ã‚‹ï¼Ž
  \TeX ã§ã¯å„è¡ŒãŒä¸€ã¤ãšã¤ã®æ°´å¹³ãƒœãƒƒã‚¯ã‚¹ã‚’ãªã—ã¦ã„ã‚‹ã“ã¨ã‚’æ€ã„å‡ºã™ã¨ï¼Œéš£ã‚Šåˆã£ãŸ
  2\nobreak ã¤ã®è¡Œï¼ˆã¤ã¾ã‚Šæ°´å¹³ãƒœãƒƒã‚¯ã‚¹ï¼‰ã®é–“ã®ç©ºãã¯æ¬¡ã®ã‚ˆã†ã«ã—ã¦æ±ºã¾ã‚‹ã®ã&nbsp;ã£ãŸï¼š
  \begin{itemize}
   \item ã€Œé€šå¸¸ã«çµ„ã‚“ã&nbsp;ã¨ãã®è¡Œé–“ã€$d$ã‚’ï¼Œ\cs{baselineskip}ã‹ã‚‰
	ã€Œå‰ã®è¡Œã€ã®æ·±ã•ã¨ã€Œæ¬¡ã®è¡Œã€ã®é«˜ã•ã‚’åŠ&nbsp;ãˆãŸã‚‚ã®ã‚’å¼•ã„ãŸå€¤ã¨ã™ã‚‹ï¼Ž
   \item $d\ge\cs{lineskiplimit}$ã®å&nbsp;´åˆï¼Œ
	æ¨™æº–ã®è¡Œé€ã‚Š\cs{baselineskip}ã§çµ„ã‚“ã§ã‚‚ååˆ†ãªé–“éš”ãŒã‚ã‚‹ã¨åˆ¤æ–­ã•ã‚Œï¼Œ
	2è¡Œã®é–“ã«ã¯é•·ã•$d$ã®ç©ºç™½ãŒæŒ¿å…¥ã•ã‚Œã‚‹ï¼Žã¤ã¾ã‚Šè¡Œé€ã‚Šã¯\cs{baselineskip}ï¼Ž
   \item $d&lt;\cs{lineskiplimit}$ã®å&nbsp;´åˆï¼Œ
	2è¡Œã®é–“ã«ã¯é•·ã•\cs{lineskip}ã®ç©ºç™½ãŒæŒ¿å…¥ã•ã‚Œã‚‹ï¼Ž
	ãã®ãŸã‚ï¼ˆè¨­å®šå€¤ã«ã‚ˆã‚‹ãŒï¼Œå¤šãã®å&nbsp;´åˆï¼‰è¡Œé€ã‚Šã¯\cs{baselineskip}ã‚ˆã‚ŠåºƒãŒã‚‹ï¼Ž
  \end{itemize}

  \begin{figure}[t]
	\noindent\centering
	\begin{minipage}[b]{18\zw}
	  \ltjenableadjust[profile=false, linestep=false]
	  â€¦â€¦ã&nbsp;ã‹ã‚‰ï¼Œâ‘&nbsp;ã‚ˆã‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ï¼Ž\\
	  ã‚ˆã£ã¦$b=\dfrac{1-\sqrt{5}}2$ã§ã‚ã‚‹ï¼Ž\\
	  ã“ã‚Œã‚’â‘¡å¼ã«ä»£å…¥ã™ã‚‹ã¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (a)}
	\end{minipage}%
	\kern2\zw
	\begin{minipage}[b]{18\zw}
	  \ltjenableadjust[profile]
	  â€¦â€¦ã&nbsp;ã‹ã‚‰ï¼Œâ‘&nbsp;ã‚ˆã‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ï¼Ž\\
	  ã‚ˆã£ã¦$b=\dfrac{1-\sqrt{5}}2$ã§ã‚ã‚‹ï¼Ž\\
	  ã“ã‚Œã‚’â‘¡å¼ã«ä»£å…¥ã™ã‚‹ã¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (b)}
	\end{minipage}\par
	  \caption{é«˜ã„è¡ŒãŒé€£ç¶šã—ãŸã¨ãã®çŠ¶æ³}\label{fig:linegap1}
  \end{figure}

  ã“ã“ã§ï¼Œ\TeX ã¯è¡Œé€ã‚Šã®æ±ºå®šã§ã€Œé«˜ã•ãƒ»æ·±ã•ã‚’å–ã£ã¦ã„ã‚‹ã‚‚ã®ãŒ
  è¡Œã®ã©ã®æ°´å¹³ä½ç½®ã«ã‚ã‚‹ã‹ã€ã¯ä¸€åˆ‡è€ƒæ…®ã—ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ã»ã—ã„ï¼Žãã®ãŸã‚ï¼Œ
  \autoref{fig:linegap1}~(a)ã®ã‚ˆã†ã«ã€Œå¿…è¦ä»¥ä¸Šã«è¡Œé–“ãŒç©ºã„ã¦è¦‹ãˆã‚‹ã€çŠ¶æ³ãŒèµ·ã“ã‚‹ã“ã¨ãŒã‚ã‚‹ï¼Ž

  \Pkg{luatexja-adjust}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã¯ï¼Œã€Œé€šå¸¸ã«çµ„ã‚“ã&nbsp;ã¨ãã®è¡Œé–“ã€$d$ã‚’
  å„è¡Œã®ä¸­èº«ã®æ–‡å­—ãƒ»ã‚°ãƒ«ãƒ¼ãƒ»ãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã‚’å‹˜æ¡ˆã—ã¦è¨ˆç®—ã™ã‚‹ã¨ã„ã†æ–¹æ³•ã‚’
  åˆ©ç”¨ã§ãã‚‹ã‚ˆã†ã«ã—ãŸï¼Žã“ã®æ©Ÿèƒ½ã‚’ä½¿ã†ã¨ï¼Œ\autoref{fig:linegap1}~(b)ã®ã‚ˆã†ã«
  è¡Œé–“ã®ç©ºããŒå¿…è¦ä»¥ä¸Šã«å¤§ãããªã‚‹ã“ã¨ã‚’é¿ã‘ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
  \begin{itemize}
	\item æ®µè½ä¸­ã®éš£ã‚Šåˆã£ãŸäºŒè¡Œã&nbsp;ã‘ã§ãªãï¼Œè¡Œé–“ã®ç©ºãã¯
	æ–°ãŸã«æ°´å¹³ãƒœãƒƒã‚¯ã‚¹$h$ã‚’ï¼ˆå†…éƒ¨ãƒ»å¤–éƒ¨å•ã‚ãšï¼‰åž‚ç›´ãƒ¢ãƒ¼ãƒ‰ã§è¿½åŠ&nbsp;ã—ãŸæ™‚ã«ã‚‚è‡ªå‹•ã§æŒ¿å…¥ã•ã‚Œã‚‹ï¼Ž
	ãã®å&nbsp;´åˆã«ã¯ï¼Œå‰æ®µè½ã§è¿°ã¹ãŸã€Œä¸­èº«ã¾ã§ã¿ã‚‹ã€å‡¦ç†ã¯
	\begin{itemize}
	 \item ç¾åœ¨ã®ãƒªã‚¹ãƒˆã«ãŠã‘ã‚‹æœ€å¾Œã®ãƒŽãƒ¼ãƒ‰
	  \footnote{æœ€å¾Œã®ãƒŽãƒ¼ãƒ‰ãŒ\cs{parskip}ã«ã‚ˆã‚‹ã‚°ãƒ«ãƒ¼ã§ã‚ã£ãŸå&nbsp;´åˆã®ã¿
		ã•ã‚‰ã«ä¸€ã¤å‰ã®ãƒŽãƒ¼ãƒ‰ã‚’å‚ç…§ã™ã‚‹ï¼Ž}ãŒæ°´å¹³ãƒœãƒƒã‚¯ã‚¹$h'$ã§ã‚ã‚Šï¼Œã‹ã¤
	  \item \cs{prevdepth}ã®å€¤ã¨ãã®$h'$ã®æ·±ã•ã®å€¤ãŒä¸€è‡´ã—ã¦ã„ã‚‹
	\end{itemize}
	å&nbsp;´åˆã«ã®ã¿ç™ºå‹•ã™ã‚‹ã‚ˆã†ã«ã—ã¦ã„ã‚‹ï¼Ž
	\item è¡Œã®ä¸­èº«ã«æ°´å¹³ãƒœãƒƒã‚¯ã‚¹$h''$ãŒå…¥ã£ã¦ãã‚‹ã“ã¨ã‚‚ã‚ã‚‹ãŒï¼Œãã®å&nbsp;´åˆã¯$h''$ã®ä¸­èº«ã®é«˜ã•ãƒ»æ·±ã•ã¾ã§ã¯
	å‚ç…§ã›ãšï¼Œã‚ãã¾ã§ã‚‚$h''$è‡ªèº«ã®é«˜ã•ãƒ»æ·±ã•ã®ã¿ã‚’å‚ç…§ã™ã‚‹ï¼Ž
	å‚ç…§ã™ã‚‹ã‚ˆã†ã«ã—ã¦ã—ã¾ã†ã¨ï¼Œ\cs{smash}ãªã©æ‰‹å‹•ã§è¡Œã£ãŸé«˜ã•ãƒ»æ·±ã•èª¿æ•´ã®æ„å‘³ãŒãªããªã£ã¦ã—ã¾ã†ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž
  \end{itemize}
  ãªãŠï¼Œç¾åœ¨ã®å®Ÿè£…ã§ã¯ï¼Œã€Œä¸­èº«ã¾ã§ã¿ã‚‹è¡Œé–“èª¿æ•´ã€ã¯ï¼Œå¤–éƒ¨åž‚ç›´ãƒ¢ãƒ¼ãƒ‰ã«ãŠã‘ã‚‹
  å‰ã®æ®µè½ã®æœ€çµ‚è¡Œã¨æ¬¡ã®æ®µè½ã®å…ˆé&nbsp;­è¡Œã¨ã®é–“ã§ã¯
  æº€è¶³ã«å‹•ä½œã—ãªã„ã“ã¨ãŒã‚ã‚‹ï¼Žã“ã‚Œã«ã¤ã„ã¦ã¯ä»Šå¾Œã®èª²é¡Œã§ã‚ã‚‹ï¼Ž

  \begin{figure}[t]
	\noindent\centering
	\begin{minipage}[b]{16\zw}
	  \ltjenableadjust[profile]
	  â€¦â€¦ã&nbsp;ã‹ã‚‰ï¼Œâ‘&nbsp;ã‚ˆã‚Š$\dfrac{a^2}{b}= \dfrac{1+\sqrt{5}}2$ï¼Ž\\
	  ã‚ˆã£ã¦$b=\dfrac{1-\sqrt{5}}2$ã§ã‚ã‚‹ï¼Ž\\
	  ã“ã‚Œã‚’â‘¡å¼ã«ä»£å…¥ã™ã‚‹ã¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (a): ç„¡åŠ¹}
	\end{minipage}%
	\kern2\zw
	\begin{minipage}[b]{16\zw}
	  \ltjsetparameter{linestep_factor=0.25}
	  \ltjenableadjust[profile, linestep]
	  â€¦â€¦ã&nbsp;ã‹ã‚‰ï¼Œâ‘&nbsp;ã‚ˆã‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ï¼Ž\\
	  ã‚ˆã£ã¦$b=\dfrac{1-\sqrt{5}}2$ã§ã‚ã‚‹ï¼Ž\\
	  ã“ã‚Œã‚’â‘¡å¼ã«ä»£å…¥ã™ã‚‹ã¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (b): $0.25$\cs{baselineskip}åˆ»ã¿}
	\end{minipage}\par\medskip
	\begin{minipage}[b]{16\zw}
	  \ltjsetparameter{linestep_factor=0.5}
	  \ltjenableadjust[profile, linestep]
	  â€¦â€¦ã&nbsp;ã‹ã‚‰ï¼Œâ‘&nbsp;ã‚ˆã‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ï¼Ž\\
	  ã‚ˆã£ã¦$b=\dfrac{1-\sqrt{5}}2$ã§ã‚ã‚‹ï¼Ž\\
	  ã“ã‚Œã‚’â‘¡å¼ã«ä»£å…¥ã™ã‚‹ã¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (c): 0.5\cs{baselineskip}åˆ»ã¿}
	\end{minipage}%
	\kern2\zw
	\begin{minipage}[b]{16\zw}
	  \ltjsetparameter{linestep_factor=1}
	  \ltjenableadjust[profile, linestep]
	  â€¦â€¦ã&nbsp;ã‹ã‚‰ï¼Œâ‘&nbsp;ã‚ˆã‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ï¼Ž\\
	  ã‚ˆã£ã¦$b=\dfrac{1-\sqrt{5}}2$ã§ã‚ã‚‹ï¼Ž\\
	  ã“ã‚Œã‚’â‘¡å¼ã«ä»£å…¥ã™ã‚‹ã¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (d): \cs{baselineskip}åˆ»ã¿}
	\end{minipage}\par
	  \caption{æ®µéšŽçš„ãªè¡Œé€ã‚Šå¢—åŠ&nbsp;}\label{fig:linegap2}
  \end{figure}

 \item[æ®µéšŽçš„ãªè¡Œé€ã‚Šèª¿æ•´]
  æ—¢ã«è¿°ã¹ãŸã‚ˆã†ã«ï¼Œ
  ã€Œé€šå¸¸ã«çµ„ã‚“ã&nbsp;ã¨ãã®è¡Œé–“ã€$d$ãŒ\cs{lineskiplimit}ã‚ˆã‚Šå°ã•ã„å&nbsp;´åˆï¼Œ\TeX æ¨™æº–ã§ã¯
  è¡Œé–“ã¯\cs{lineskip}ã¨ãªã‚‹ã®ã&nbsp;ã£ãŸï¼Ž
  ã“ã®ã¨ãè¡Œé€ã‚Šã¯ã€Œå‰ã®è¡Œã®æ·±ã•ã€ï¼Œã€Œæ¬¡ã®è¡Œã®é«˜ã•ã€ï¼Œ\cs{lineskip}ã®3ã¤ã®å’Œã«ãªã‚‹ã‚ã‘ã&nbsp;ãŒï¼Œ
  å&nbsp;´åˆã«ã‚ˆã£ã¦ã¯è¡Œé€ã‚Šã‚’ã€Œ\cs{baselineskip}ã®æ•´æ•°å€ã€ãªã©ã¨åˆ‡ã‚Šã®ã„ã„å€¤ã«æƒãˆãŸã„ã¨ã„ã†çŠ¶æ³ãŒ
  è€ƒãˆã‚‰ã‚Œãªãã‚‚ãªã„ï¼Ž
  
  \Pkg{luatexja-adjust}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã¯ï¼Œ$d&lt;\cs{lineskiplimit}$ã®ã¨ãã«
  è¡Œé€ã‚Šã‚’\cs{baselineskip}ã®\Param{linestep\_factor}å€ãšã¤å¢—æ¸›ã•ã›ã¦
  \begin{quote}
	è¡Œé–“ãŒ\cs{lineskip}ä»¥ä¸Šã¨ãªã‚‹ã‚ˆã†ãªï¼Œ
	æœ€å°ã®$(1+k\cdot \Param{linestep\_factor})\cs{baselineskip}$ï¼ˆ$k$ã¯æ•´æ•°ï¼‰ã®å€¤
  \end{quote}
  ã¨ã™ã‚‹æ©Ÿèƒ½ã‚’åˆ©ç”¨ã§ãã‚‹ã‚ˆã†ã«ã—ãŸï¼Ž
  \autoref{fig:linegap2}ã®(a)ãŒã“ã®æ©Ÿèƒ½ã‚’ç„¡åŠ¹ã«ã—ãŸçŠ¶æ³ã§ï¼Œ(b),~(c),~(d)ãŒ
  ãã‚Œãžã‚Œ\Param{linestep\_factor}ã‚’0.25,~0.5,~1ã¨ã—ãŸçŠ¶æ³ã§ã‚ã‚‹ï¼Ž

  ãªãŠï¼Œã“ã®æ©Ÿèƒ½ã¯è¡¨çµ„æ™‚(\cs{halign},~\cs{valign})ã«ã¯ç„¡åŠ¹ã§ã‚ã‚‹ï¼Ž
  \LaTeX ã«ãŠã‘ã‚‹è¡¨çµ„ç’°å¢ƒï¼ˆtabular, arrayãªã©ï¼‰ã§ã¯ï¼Œ\cs{baselineskip},~\cs{lineskip}ã¯ã©ã¡ã‚‰ã‚‚0ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã®ã§
  ï¼ˆä»£ã‚ã‚Šã«å„è¡Œã«\cs{@arstrut}ã¨ã„ã†æ”¯æŸ±ãŒå…¥ã‚‹ï¼‰ãŸã‚ã«æ„å‘³ãŒãªã„ã“ã¨ã¨ï¼Œ
  æ•°å¼ã‚’å†…éƒ¨ã§è¡¨çµ„ã‚’ä½¿ã£ã¦çµ„ã‚€alignç’°å¢ƒãªã©ã§ã¯ã‹ãˆã£ã¦è¡Œé–“ãŒä¸æƒã„ã«ãªã£ã¦ã—ã¾ã†ã‹ã‚‰ã§ã‚ã‚‹ï¼Ž
\end{description}

\Pkg{luatexja-adjust}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯ï¼Œä¸Šè¨˜ã§è¿°ã¹ãŸ4æ©Ÿèƒ½ã‚’æœ‰åŠ¹åŒ–/ç„¡åŠ¹åŒ–ã™ã‚‹ãŸã‚ã®
ä»¥ä¸‹ã®å‘½ä»¤ã‚’æä¾›ã™ã‚‹ï¼Žã“ã‚Œã‚‰ã¯ã™ã¹ã¦ã‚°ãƒ­ãƒ¼ãƒãƒ«ã«åŠ¹åŠ›ã‚’ç™ºæ®ã™ã‚‹ï¼Ž

\begin{cslist}
\item[\cs{ltjenableadjust[...]}]
\verb+...+ ã«æŒ‡å®šã—ãŸkey-valueãƒªã‚¹ãƒˆã«å¾“ã„ï¼Œã€Œè¡Œæœ«æ–‡å­—ã®ä½ç½®èª¿æ•´ã€ã€Œå„ªå…ˆé&nbsp;†ä½ä»˜ãã®è¡Œé•·èª¿æ•´ã€
  ã€Œã€Žä¸­èº«ã¾ã§ã¿ãŸã€è¡Œé€ã‚Šè¨ˆç®—ã€ã€Œæ®µéšŽçš„ãªè¡Œé€ã‚Šèª¿æ•´ã€%ã€Œæ¿ç‚¹ãƒ»åŠæ¿ç‚¹ä»˜ãä»®åæ–‡å­—ã®æ­£è¦åŒ–ã€
  ã‚’æœ‰åŠ¹åŒ–/ç„¡åŠ¹åŒ–ã™ã‚‹ï¼Ž
æŒ‡å®šã§ãã‚‹ã‚­ãƒ¼ã¯ä»¥ä¸‹ã®é€šã‚Šï¼Ž
\begin{description}
  \item[\texttt{lineend=[false,true,extended]}]
  è¡Œæœ«æ–‡å­—ã®ä½ç½®èª¿æ•´ã®æ©Ÿèƒ½ã‚’ç„¡åŠ¹åŒ–(\texttt{false})ï¼Œã€Œè¡Œåˆ†å‰²å¾Œã«èª¿æ•´ã€ã®å½¢ã§æœ‰åŠ¹åŒ–(\texttt{true})ï¼Œ
  ã€Œè¡Œåˆ†å‰²ã®éŽç¨‹ã§è€ƒæ…®ã€ã®å½¢ã§æœ‰åŠ¹åŒ–(\texttt{extended})ã™ã‚‹ï¼Ž
  \item[\texttt{priority=[false,true]}]
  å„ªå…ˆé&nbsp;†ä½ä»˜ãã®è¡Œé•·èª¿æ•´ã‚’ç„¡åŠ¹åŒ–(\texttt{false})ï¼Œã¾ãŸã¯æœ‰åŠ¹åŒ–(\texttt{true})ï¼Ž
  \item[\texttt{profile=[false,true]}]
  ã€Œä¸­èº«ã¾ã§ã¿ãŸã€è¡Œé€ã‚Šè¨ˆç®—ã‚’ç„¡åŠ¹åŒ–(\texttt{false})ï¼Œã¾ãŸã¯æœ‰åŠ¹åŒ–(\texttt{true})ï¼Ž
  \item[\texttt{linestep=[false,true]}]
  æ®µéšŽçš„ãªè¡Œé€ã‚Šèª¿æ•´ã‚’ç„¡åŠ¹åŒ–(\texttt{false})ï¼Œã¾ãŸã¯æœ‰åŠ¹åŒ–(\texttt{true})ï¼Ž
%  \item[\texttt{composekana=[false,true]}]
%  æ¿ç‚¹ãƒ»åŠæ¿ç‚¹ä»˜ãä»®åæ–‡å­—ã®æ­£è¦åŒ–ã‚’ç„¡åŠ¹åŒ–(\texttt{false})ï¼Œã¾ãŸã¯æœ‰åŠ¹åŒ–(\texttt{true})ï¼Ž
\end{description}
ã©ã®ã‚­ãƒ¼ã¨ã‚‚ã‚­ãƒ¼åã®ã¿ã‚’æŒ‡å®šã—ãŸå&nbsp;´åˆã¯å€¤ã¨ã—ã¦\texttt{true}ãŒæŒ‡å®šã•ã‚ŒãŸã‚‚ã®ã¨æ‰±ã‚ã‚Œã‚‹ï¼Ž

äº’æ›æ€§ã®ç‚ºï¼Œã‚ªãƒ—ã‚·ãƒ§ãƒ³ç„¡ã—ã§ãŸã&nbsp;\cs{ltjenableadjust}ãŒå‘¼ã³å‡ºã•ã‚ŒãŸå&nbsp;´åˆã¯ï¼Œ
\begin{lstlisting}
\ltjenableadjust[lineend=true,priority=true]
\end{lstlisting}
ã¨æ‰±ã‚ã‚Œã‚‹ï¼Ž
  
\item[\cs{ltjdisableadjust}]
\Pkg{luatexja-adjust}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æ©Ÿèƒ½ã‚’ç„¡åŠ¹åŒ–ã™ã‚‹ï¼Ž
\begin{lstlisting}
\ltjenableadjust[lineend=false,priority=false,profile=false,linestep=false]
\end{lstlisting}
ã¨åŒç¾©ï¼Ž
\end{cslist}

ã¾ãŸï¼Œæ¬¡ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒ\cs{ltjsetparameter}å†…ã§
è¿½åŠ&nbsp;ã•ã‚Œã‚‹ï¼Žã„ãšã‚Œã‚‚ã‚°ãƒ­ãƒ¼ãƒãƒ«ã«åŠ¹åŠ›ã‚’ç™ºæ®ã™ã‚‹ï¼Ž
\begin{cslist}[style=standard]
\item[\DParam{stretch\_priority}\,=\{\meta{list}\}]
\Param{kanjiskip}, \Param{xkanjiskip}ï¼ŒãŠã‚ˆã³ã€Œ\textbf{JAglue}ä»¥å¤–ã®ã‚°ãƒ«ãƒ¼ã€ã‚’ï¼Œ
ã€Œè¡Œã‚’è‡ªç„¶é•·ã‚ˆã‚Šä¼¸ã°ã™ã€å&nbsp;´åˆã®èª¿æ•´ã«ç”¨ã„ã‚‹å„ªå…ˆåº¦ã‚’æŒ‡å®šã™ã‚‹ï¼Ž

æŒ‡å®šæ–¹æ³•ã¯ï¼Œ\meta{list}ã®ä¸­ã«key-value listã®å½¢ã§
\begin{lstlisting}
stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50}
\end{lstlisting}
ã®ã‚ˆã†ã«ã—ã¦è¡Œã†ï¼Žã‚­ãƒ¼å\texttt{kanjiskip},~\texttt{xkanjiskip}ã«ã¤ã„ã¦ã¯
ãã®ã¾ã¾ã®æ„å‘³ã§ã‚ã‚Šï¼Œ
\texttt{others}ã‚­ãƒ¼ãŒã€Œ\textbf{JAglue}ä»¥å¤–ã®ã‚°ãƒ«ãƒ¼ã€ã‚’è¡¨ã™ï¼Ž
å„ã‚­ãƒ¼ã®å€¤ã¯ï¼ŒJFMã‚°ãƒ«ãƒ¼ã«ãŠã‘ã‚‹ã€Œå„ªå…ˆåº¦$i$ã€ã‚’$10i$ã«å¯¾å¿œã•ã›ãŸæ•´æ•°å€¤ã§ã‚ã‚Šï¼Œ
  å¤§ãã„æ–¹ãŒå…ˆã«ä¼¸ã°ã•ã‚Œã‚‹ã“ã¨ã‚’æ„å‘³ã—ã¦ã„ã‚‹ï¼Ž
  åˆæœŸå€¤ã¯
\begin{lstlisting}
{kanjiskip=-35,xkanjiskip=-25,others=50}
\end{lstlisting}
ã§ã‚ã‚Šï¼Œã€Œå„ªå…ˆåº¦$-4$ã€ã¨æŒ‡å®šã•ã‚Œã¦ã„ã‚‹JFMã‚°ãƒ«ãƒ¼ãŒæœ€ã‚‚ä¼¸ã³ã«ãã„ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž

\item[\DParam{shrink\_priority}\,=\{\meta{list}\}]
åŒæ§˜ã«ï¼Œã€Œè¡Œã‚’è‡ªç„¶é•·ã‚ˆã‚Šç¸®ã‚ã‚‹ã€å&nbsp;´åˆã®èª¿æ•´ã«ç”¨ã„ã‚‹å„ªå…ˆåº¦ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
ãã‚Œä»¥å¤–ã¯\Param{stretch\_priority}ã¨æŒ‡å®šã®å½¢å¼ã¯å¤‰ã‚ã‚‰ãªã„ï¼ˆåˆæœŸå€¤ã‚‚å¤‰ã‚ã‚‰ãªã„ï¼‰ï¼Ž

 \item[\DParam{linestep\_factor}\,=\meta{float}]
  æ®µéšŽçš„ãªè¡Œé€ã‚Šèª¿æ•´ã®éš›ï¼Œ\cs{baselineskip}ã®è‡ªç„¶é•·ã®ä½•å€å˜ä½ã§è¡Œé€ã‚Šã‚’å¤‰ãˆã‚‹ã‹ã‚’æŒ‡å®šã™ã‚‹ï¼Ž
  0ã‚’æŒ‡å®šã™ã‚‹ã¨ç„¡åŠ¹ã«ãªã‚‹ã®ã¨å¤‰ã‚ã‚‰ãªã„ï¼Žã¾ãŸè²&nbsp;æ•°ã‚’æŒ‡å®šã™ã‚‹ã¨ï¼Œ
  ãã®çµ¶å¯¾å€¤ãŒæŒ‡å®šã•ã‚ŒãŸã‹ã®ã‚ˆã†ã«æ‰±ã‚ã‚Œã‚‹ï¼Ž
  åˆæœŸå€¤ã¯0.5ï¼ˆã¤ã¾ã‚ŠåŠè¡Œå˜ä½ï¼‰ã§ã‚ã‚‹ï¼Ž

  \item[\DParam{profile\_hgap\_factor}\,=\meta{float}]
  ã€Œä¸­èº«ã¾ã§è¦‹ãŸã€è¡Œé€ã‚Šè¨ˆç®—ã®éš›ï¼Œ
  å‰ã®è¡Œã«ã‚ã‚‹æ·±ã•ãŒå¤§ãã„ã‚‚ã®ã¨æ¬¡ã®è¡Œã«ã‚ã‚‹é«˜ã•ãŒå¤§ãã„ã‚‚ã®ãŒ
  æ°´å¹³æ–¹å‘ã«ã©ã‚Œã&nbsp;ã‘é›¢ã‚Œã¦ã„ãªã„ã¨ã„ã‘ãªã„ã‹ã‚’
  ã€Œ\cs{lineskip}ã®è‡ªç„¶é•·ã®ä½•å€ã‹ã€ã§æŒ‡å®šã™ã‚‹ï¼Ž
  è²&nbsp;æ•°ã‚’æŒ‡å®šã™ã‚‹ã¨ï¼Œãã®çµ¶å¯¾å€¤ãŒæŒ‡å®šã•ã‚ŒãŸã‹ã®ã‚ˆã†ã«æ‰±ã‚ã‚Œã‚‹ï¼Ž
  åˆæœŸå€¤ã¯1ï¼ˆã¤ã¾ã‚Š\cs{lineskip}ï¼ˆã®è‡ªç„¶é•·ï¼‰ï¼‰ã§ã‚ã‚‹ï¼Ž
\end{cslist}

ã•ã‚‰ã«ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³20220211.0ä»¥é™ã§ã¯æ¬¡ã®å‘½ä»¤ãŒæä¾›ã•ã‚Œã‚‹ï¼Ž
\begin{cslist}
  \item[\cs{ltjghostbeforejachar}]
  \LuaTeX-jaæœ¬ä½“ãŒæä¾›ã—ã¦ã„ã‚‹\cs{ltjfakeparbegin}, \cs{ltjfakeboxbdd}ã¨é¡žä¼¼ã®å‘½ä»¤ã§ã‚ã‚‹ï¼Ž
  å®Ÿè¡Œã•ã‚ŒãŸç®‡æ‰€ãŒï¼ˆé™å®šãƒ»éžé™å®šã‚’å•ã‚ãšï¼‰æ°´å¹³ãƒ¢ãƒ¼ãƒ‰ã§ã‚ã£ãŸå&nbsp;´åˆã«ï¼Œå®Ÿè¡Œã•ã‚ŒãŸç®‡æ‰€ã¯
  ã€Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã®\textbf{JAchar}ã€ã®ç›´å‰ã§ã‚ã‚‹ã¨ï¼Œ
  \LuaTeX-jaã®å’Œæ–‡å‡¦ç†ã‚°ãƒ«ãƒ¼æŒ¿å…¥å‡¦ç†ã«èªè­˜ã•ã›ã‚‹ï¼Žä»¥ä¸‹ã®å®Ÿè¡Œä¾‹ã‚’å‚ç…§ï¼Ž

\medskip
\begin{LTXexample}[width=18\zw]
\ltjsetparameter{kanjiskip=14pt,xkanjiskip=50pt}
\let\LG=\ltjghostbeforejachar
A\LG  B   \par% ==&gt; ALchar--(xkanjiskip)--\LG
A\LG  å­—  \par% ==&gt; ALchar--(xkanjiskip)--\LG
æ¼¢\LG B   \par% ==&gt; JAchar--(kanjiskip)--\LG
æ¼¢\LG å­—  \par% ==&gt; JAchar--(kanjiskip)--\LG
\end{LTXexample}

  \item[\cs{ltjghostafterjachar}]
  \cs{ltjghostbeforejachar}ã¨å¯¾ã‚’æˆã™å‘½ä»¤ã§ï¼Œå®Ÿè¡Œã•ã‚ŒãŸç®‡æ‰€ã¯
  ã€Œæ–‡å­—ã‚¯ãƒ©ã‚¹0ã®\textbf{JAchar}ã€ã®ç›´å¾Œã§ã‚ã‚‹ã¨ï¼Œ
  \LuaTeX-jaã®å’Œæ–‡å‡¦ç†ã‚°ãƒ«ãƒ¼æŒ¿å…¥å‡¦ç†ã«èªè­˜ã•ã›ã‚‹ï¼Žä»¥ä¸‹ã®å®Ÿè¡Œä¾‹ã‚’å‚ç…§ï¼Ž

\medskip
\begin{LTXexample}[width=18\zw]
\ltjsetparameter{kanjiskip=14pt,xkanjiskip=50pt}
\let\LG=\ltjghostafterjachar
A\LG  B   \par% ==&gt; \LG--(xkanjiskip)--ALchar
æ¼¢\LG B   \par% ==&gt; \LG--(xkanjiskip)--ALchar
A\LG  å­—  \par% ==&gt; \LG--(kanjiskip)--JAchar
æ¼¢\LG å­—  \par% ==&gt; \LG--(kanjiskip)--JAchar
\end{LTXexample}
\end{cslist}
ãªãŠï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³20220207.0ã§è¿½åŠ&nbsp;ã•ã‚ŒãŸ\cs{ltjghostjachar}ã¯å®Ÿè£…ã«ãƒã‚°ãŒã‚ã£ãŸã®ã¨ã€Œä¸¡å´ã€
ã¨ã„ã†ç‚¹ãŒæ‰±ã„ã¥ã‚‰ã‹ã£ãŸã®ã§ï¼Œå°†æ¥ã¯å‰Šé™¤ã™ã‚‹äºˆå®šã§ã‚ã‚‹ï¼Ž

ä¸¡å‘½ä»¤ã®ä¸»ãªä»•æ§˜ç”¨é€”ã¯å’Œæ–‡ã‚´ãƒ¼ã‚¹ãƒˆã§ã®ä½¿ç”¨ã§ã‚ã‚‹ï¼Ž\Pkg{BXghost}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸(\cite{bxghost})ãªã©ã§ã¯
ä¼çµ±çš„ã«å…¨è§’ç©ºç™½(\texttt{U+3000})ã¨\verb+\kern-1\zw+ã‚’çµ„ã¿åˆã‚ã›ãŸæ–¹æ³•ãŒä½¿ã‚ã‚Œã¦ããŸãŒï¼Œ
\LuaTeX-jaã§ã¯å…¨è§’ç©ºç™½ã‚’ä½¿ã£ãŸã&nbsp;ã‘ã§ã¯ã†ã¾ãã„ã‹ãªã„å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ï¼Œæ–°ãŸã«å‘½ä»¤ãŒç”¨æ„ã•ã‚ŒãŸï¼Ž

%&lt;/ja&gt;

\subsection{\Pkg{luatexja-ruby}}
%&lt;*en&gt;
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}.)
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®è¿½åŠ&nbsp;ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯ï¼Œ\LuaTeX-jaã®æ©Ÿèƒ½ã‚’åˆ©ç”¨ã—ãŸãƒ«ãƒ“ï¼ˆæŒ¯ã‚Šä»®åï¼‰ã®çµ„ç‰ˆæ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹ï¼Ž
å‰å¾Œã®æ–‡å­—ç¨®ã«å¿œã˜ãŸå‰å¾Œã¸ã®è‡ªå‹•é€²å…¥ã‚„ï¼Œ
è¡Œé&nbsp;­å½¢ãƒ»è¡Œä¸­å½¢ãƒ»è¡Œæœ«å½¢ã®è‡ªå‹•çš„ãªä½¿ã„åˆ†ã‘ãŒç‰¹å¾´ã§ã‚ã‚‹ï¼Ž

ãƒ«ãƒ“çµ„ç‰ˆã«è¨­å®šå¯èƒ½ãªé&nbsp;…ç›®ã‚„æ³¨æ„äº‹é&nbsp;…ãŒå¤šã„ãŸã‚ï¼Œæœ¬è¿½åŠ&nbsp;ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®è©³ç´°ãªèª¬æ˜Žã¯
ä½¿ç”¨ä¾‹ã¨å…±ã« \url{luatexja-ruby.pdf}\ ã¨ã„ã†åˆ¥ãƒ•ã‚¡ã‚¤ãƒ«ã«è¼‰ã›ã¦ã„ã‚‹ï¼Ž
ã“ã®ç¯€ã§ã¯ç°¡å˜ãªä½¿ç”¨æ–¹æ³•ã®ã¿è¿°ã¹ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{description}
%&lt;*en&gt;
 \item[Group-ruby]
By default, ruby characters (the second argument of \cs{ruby})
are attached to base characters (the first argument), as one object.
This type of ruby is called \emph{group-ruby}.
%&lt;/en&gt;
%&lt;*ja&gt;
 \item[ã‚°ãƒ«ãƒ¼ãƒ—ãƒ«ãƒ“] æ¨™æº–ã§ã¯ã‚°ãƒ«ãƒ¼ãƒ—ãƒ«ãƒ“ã®å½¢ã§çµ„ã¾ã‚Œã‚‹ï¼Žç¬¬1å¼•æ•°ã«è¦ªæ–‡å­—ï¼Œ
ç¬¬2å¼•æ•°ã«ãƒ«ãƒ“ã‚’è¨˜è¿°ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
æ±è¥¿ç·š\ruby{å¦™å…¸}{ã¿ã‚ˆã†ã§ã‚“}é§…ã¯â€¦â€¦\\
æ±è¥¿ç·šã®\ruby{å¦™å…¸}{ã¿ã‚ˆã†ã§ã‚“}é§…ã¯â€¦â€¦\\
æ±è¥¿ç·šã®\ruby{å¦™å…¸}{ã¿ã‚ˆã†ã§ã‚“}ã¨ã„ã†é§…â€¦â€¦\\
æ±è¥¿ç·š\ruby{è‘›è¥¿}{ã‹ã•ã„}é§…ã¯â€¦â€¦
\end{LTXexample}
%&lt;*en&gt;
As the above example, ruby hangover is allowed on the Hiragana before/after
its base characters.
%&lt;/en&gt;
%&lt;ja&gt; ã“ã®ä¾‹ã®ã‚ˆã†ã«ï¼Œæ¨™æº–ã§ã¯å‰å¾Œã®å¹³ä»®åã«ãƒ«ãƒ“å…¨è§’ã¾ã§ã‹ã‹ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž

%&lt;*en&gt;
\item[Mono-ruby]
To attach ruby characters to each base characters (\emph{mono-ruby}),
one should use \cs{ruby} multiple times:
%&lt;/en&gt;
%&lt;*ja&gt;
 \item[ãƒ¢ãƒŽãƒ«ãƒ“] è¦ªæ–‡å­—ã‚’1æ–‡å­—ã«ã™ã‚‹ã¨ãƒ¢ãƒŽãƒ«ãƒ“ã¨ãªã‚‹ï¼Ž
2æ–‡å­—ä»¥ä¸Šã®ç†Ÿèªžã‚’ãƒ¢ãƒŽãƒ«ãƒ“ã®å½¢ã§çµ„ã¿ãŸã„å&nbsp;´åˆã¯ï¼Œé¢å€’ã§ã‚‚
ãã®æ•°ã&nbsp;ã‘ \cs{ruby} ã‚’æ›¸ãå¿…è¦ãŒã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
æ±è¥¿ç·šã®\ruby{å¦™}{ã¿ã‚ˆã†}\ruby{å…¸}{ã§ã‚“}é§…ã¯â€¦â€¦
\end{LTXexample}

%&lt;*en&gt;
 \item[Jukugo-ruby]
Vertical bar~\verb+|+ denotes a boundary of \emph{groups}.
%&lt;/en&gt;
%&lt;*ja&gt;
 \item[ç†Ÿèªžãƒ«ãƒ“] å¼•æ•°å†…ã®ç¸¦æ£’ \verb+|+ ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã®åŒºåˆ‡ã‚Šã‚’è¡¨ã—ï¼Œ
è¤‡æ•°ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ«ãƒ“ã¯ç†Ÿèªžãƒ«ãƒ“ã¨ã—ã¦çµ„ã¾ã‚Œã‚‹ï¼Ž
\cite{x4051}ã«ã‚ã‚‹ã‚ˆã†ã«ï¼Œ
ã©ã®ã‚°ãƒ«ãƒ¼ãƒ—ã§ã‚‚ã€Œè¦ªæ–‡å­—ã€ãŒå¯¾å¿œã™ã‚‹ãƒ«ãƒ“ä»¥ä¸Šã®é•·ã•ã®å&nbsp;´åˆã¯
å„ã‚°ãƒ«ãƒ¼ãƒ—ã”ã¨ã«ï¼Œãã†ã§ãªã„ã¨ãã¯å…¨ä½“ã‚’ã¾ã¨ã‚ã¦1ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ãƒ«ãƒ“ã¨ã—ã¦çµ„ã¾ã‚Œã‚‹ï¼Ž
\cite{jlreq}ã§è¦å®šã•ã‚Œã¦ã„ã‚‹çµ„ã¿æ–¹ã¨ã¯ç•°ãªã‚‹ã®ã§æ³¨æ„ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}
\ruby{å¦™|å…¸}{ã¿ã‚ˆã†|ã§ã‚“}\
\ruby{è‘›|è¥¿}{ã‹|ã•ã„}\
\ruby{ç¥žæ¥½|å‚}{ã‹ãã‚‰|ã–ã‹}
\end{LTXexample}
%&lt;*en&gt;
If there are multiple groups in one \cs{ruby} call,
A linebreak between two groups is allowed.
%&lt;/en&gt;
%&lt;ja&gt; è¤‡æ•°ãƒ«ãƒ“ã§ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã®é–“ã§æ”¹è¡ŒãŒå¯èƒ½ã§ã‚ã‚‹ï¼Ž
\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}

%&lt;*en&gt;
If the width of ruby characters are longer than that of base characters,
\cs{ruby} automatically selects the appropriate form
among the line-head form, the line-middle form, and the line-end form.
%&lt;/en&gt;
%&lt;*ja&gt;
ã¾ãŸï¼Œãƒ«ãƒ“æ–‡å­—ã®ã»ã†ãŒè¦ªæ–‡å­—ã‚ˆã‚Šã‚‚é•·ã„å&nbsp;´åˆã¯ï¼Œè‡ªå‹•çš„ã«
è¡Œé&nbsp;­å½¢ãƒ»è¡Œä¸­å½¢ãƒ»è¡Œæœ«å½¢ã®ã„ãšã‚Œã‹é©åˆ‡ãªã‚‚ã®ã‚’é¸æŠžã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\vbox{\hsize=8\zw\noindent
\null\kern3\zw â€¦â€¦ã‚’\ruby{æ‰¿}{ã†ã‘ãŸã¾ã‚}ã‚‹
     \kern1\zw â€¦â€¦ã‚’\ruby{æ‰¿}{ã†ã‘ãŸã¾ã‚}ã‚‹\\
\null\kern5\zw â€¦â€¦ã‚’\ruby{æ‰¿}{ã†ã‘ãŸã¾ã‚}ã‚‹
}
\end{LTXexample}


%&lt;*ja&gt;
\subsection{\Pkg{lltjext}}
\pLaTeX ã§ã¯ç¸¦çµ„ç”¨ã®æ‹¡å¼µã¨ã—ã¦ \Pkg{plext} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒç”¨æ„ã•ã‚Œã¦ã„ãŸãŒï¼Œ
ãã‚Œã‚’\LuaTeX-jaç”¨ã«æ›¸ããªãŠã—ãŸã‚‚ã®ãŒæœ¬è¿½åŠ&nbsp;ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ \Pkg{lltjext} ã§ã‚ã‚‹ï¼Ž

å¾“æ¥ã® \Pkg{plext} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¨ã®é•ã„ã¯ï¼Œ
\begin{itemize}
 \item çµ„æ–¹å‘ã‚ªãƒ—ã‚·ãƒ§ãƒ³ \texttt{&lt;y&gt;}ï¼ˆæ¨ªçµ„ï¼‰ï¼Œ\texttt{&lt;t&gt;}ï¼ˆç¸¦çµ„ï¼‰ï¼Œ
\texttt{&lt;z&gt;}\ ã®ä»–ã«\ \texttt{&lt;d&gt;}ï¼ˆdtouæ–¹å‘ï¼‰ï¼Œ\texttt{&lt;u&gt;}ï¼ˆutodæ–¹å‘ï¼‰ã‚’è¿½åŠ&nbsp;ã—ãŸï¼Ž
\texttt{&lt;z&gt;} ã¨ \texttt{&lt;u&gt;} ã®é•ã„ã¯ï¼Œ\texttt{&lt;z&gt;} ãŒï¼ˆ\Pkg{plext} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¨åŒæ§˜ã«ï¼‰
å‘¨å›²ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã®ã¨ãã«ã—ã‹æ„å‘³ã‚’æŒãŸãªã„
  \footnote{%
    å‘¨å›²ã®çµ„æ–¹å‘ãŒç¸¦çµ„ä»¥å¤–ã®ã¨ãã¯ï¼Œ\texttt{&lt;z&gt;} ã‚’æŒ‡å®šã—ã¦ã‚‚ä¸­èº«ã®çµ„æ–¹å‘ã¯å‘¨å›²ã®çµ„æ–¹å‘ã¨å¤‰ã‚ã‚‰ãªã„ï¼Ž
  }%
ã®ã«å¯¾ã—ï¼Œ\texttt{&lt;u&gt;} ã«ã¯ãã®ã‚ˆã†ãªåˆ¶é™ãŒãªã„ã“ã¨ã§ã‚ã‚‹ï¼Ž
 \item é€£æ•°å­—ç”¨å‘½ä»¤ \cs{rensuji} ã«ãŠã‘ã‚‹ä½ç½®åˆã‚ã›ã‚ªãƒ—ã‚·ãƒ§ãƒ³ \texttt{[l]}, \texttt{[c]},
       \texttt{[r]} ã®æŒ™å‹•ã‚’è‹¥å¹²å¤‰æ›´ã—ãŸï¼Ž
\end{itemize}

%&lt;/ja&gt;
%&lt;*en&gt;
\subsection{\texttt{lltjext.sty}}
\pLaTeX\ supplies additional macros for vertical writing in the \Pkg{plext} package.
The \Pkg{lltjext} package which we want to describe here is the \LuaTeX-ja
counterpart of the \Pkg{plext} package.
%&lt;/en&gt;

%&lt;*ja&gt;
å¿µã®ç‚ºï¼Œæœ¬ \Pkg{lltjext} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§è¿½åŠ&nbsp;ãƒ»å¤‰æ›´ã—ã¦ã„ã‚‹å‘½ä»¤ã®ä¸€è¦§ã‚’è¼‰ã›ã¦ãŠãï¼Ž
\begin{cslist}
\item[tabular\textrm{, }array\textrm{, }minipageç’°å¢ƒ]
ã“ã‚Œã‚‰ã®ç’°å¢ƒã¯ï¼Œ
\begin{lstlisting}
\begin{tabular}&lt;dir&gt;[pos]{table spec} ... \end{tabular}
\begin{array}&lt;dir&gt;[pos]{table spec}   ... \end{array}
\begin{minipage}&lt;dir&gt;[pos]{width}     ... \end{minipage}
\end{lstlisting}
ã®ã‚ˆã†ã«ï¼Œçµ„æ–¹å‘ã‚ªãƒ—ã‚·ãƒ§ãƒ³ \texttt{\&lt;dir\&gt;} ãŒæ‹¡å¼µã•ã‚Œã¦ã„ã‚‹ï¼Ž
æ—¢ã«è¿°ã¹ãŸã‚ˆã†ã«ï¼Œçµ„æ–¹å‘ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã«æŒ‡å®šã§ãã‚‹å€¤ã¯ä»¥ä¸‹ã®5ã¤ã§ã‚ã‚Šï¼Œ
ãã‚Œä»¥å¤–ã‚’æŒ‡å®šã—ãŸæ™‚ã‚„ç„¡æŒ‡å®šæ™‚ã¯å‘¨å›²ã®çµ„æ–¹å‘ã¨åŒã˜çµ„æ–¹å‘ã«ãªã‚‹ï¼Ž
\begin{description}
 \item[y] æ¨ªçµ„(\cs{yoko})
 \item[t] ç¸¦çµ„(\cs{tate})
 \item[z] å‘¨å›²ãŒç¸¦çµ„ã®æ™‚ã¯utodæ–¹å‘ï¼Œãã‚Œä»¥å¤–ã¯ãã®ã¾ã¾
 \item[d] dtouæ–¹å‘
 \item[u] utodæ–¹å‘
\end{description}
\item[\cs{parbox}&lt;\meta{dir}&gt;{[\meta{pos}]}\{\meta{width}\}\{\meta{contents}\}]
\cs{parbox} å‘½ä»¤ã‚‚åŒæ§˜ã«ï¼Œçµ„æ–¹å‘ã®æŒ‡å®šãŒã§ãã‚‹ã‚ˆã†ã«æ‹¡å¼µã•ã‚Œã¦ã„ã‚‹ï¼Ž

\item[\cs{pbox}&lt;\meta{dir}&gt;{[\meta{width}][\meta{pos}]}\{\meta{contents}\}]
çµ„æ–¹å‘\meta{dir}ã§\meta{contents}ã®ä¸­èº«ã‚’LRãƒ¢ãƒ¼ãƒ‰ã§çµ„ã‚€å‘½ä»¤ã§ã‚ã‚‹ï¼Ž
\meta{width}ãŒæ­£ã®å€¤ã§ã‚ã‚‹ã¨ãã¯ï¼Œãƒœãƒƒã‚¯ã‚¹å…¨ä½“ã®å¹…ãŒãã®å€¤ã¨ãªã‚‹ï¼Ž
ãã®éš›ï¼Œä¸­èº«ã¯\meta{pos}ã®å€¤ã«å¾“ã„ï¼Œå·¦å¯„ã›(\texttt{l})ï¼Œå³æƒãˆ(\texttt{r})ï¼Œ
ä¸­å¤®æƒãˆï¼ˆãã‚Œä»¥å¤–ï¼‰ã•ã‚Œã‚‹ï¼Ž
\item[pictureç’°å¢ƒ]
å›³è¡¨ä½œæˆã«ç”¨ã„ã‚‹\texttt{picture}ç’°å¢ƒã‚‚ï¼Œ
\begin{lstlisting}
\begin{picture}&lt;dir&gt;(x_size, y_size)(x_offset,y_offset)
  ...
\end{picture}
\end{lstlisting}
ã¨çµ„æ–¹å‘ãŒæŒ‡å®šã§ãã‚‹ã‚ˆã†ã«æ‹¡å¼µã•ã‚Œã¦ã„ã‚‹ï¼Ž
$x$æˆåˆ†ã®å¢—åŠ&nbsp;æ–¹å‘ã¯å­—é€ã‚Šæ–¹å‘ï¼Œ$y$æˆåˆ†ã®å¢—åŠ&nbsp;æ–¹å‘ã¯è¡Œé€ã‚Šæ–¹å‘ã®\emph{åå¯¾æ–¹å‘}ã¨ãªã‚‹ï¼Ž
\Pkg{plext} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¨åŒæ§˜ã«
å†…éƒ¨ã§ã¯ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£ï¼ˆ\Param{yalbaselineshift}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãªã©ï¼‰ã®å½±éŸ¿ã‚’å—ã‘ãªã„ã‚ˆã†ã«ï¼Œ
\cs{put},~\cs{line}, \cs{vector}, \cs{dashbox}, \cs{oval},~\cs{circle}ã‚‚
ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£ã‚’å—ã‘ãªã„ã‚ˆã†ã«å†å®šç¾©ã•ã‚Œã¦ã„ã‚‹ï¼Ž

\item[\cs{rensuji}{[\meta{pos}]}\{\meta{contents}\}\textrm{, }\cs{rensujiskip}]

\item[\cs{Kanji}\{\meta{counter\_name}\}]

\item[\cs{kasen}\{\meta{contents}\}\textrm{, }\cs{bou}\{\meta{contents}\}\textrm{,
		     }\cs{boutenchar}]

\item[å‚ç…§ç•ªå·]
\end{cslist}
%&lt;/ja&gt;
%&lt;*en&gt;
\begin{cslist}
\item[tabular\textrm{, }array\textrm{, }minipage\textrm{ environments}]
These environments are extended by \texttt{\&lt;dir\&gt;}, which specifies the direction,
as follows:
\begin{lstlisting}
\begin{tabular}&lt;dir&gt;[pos]{table spec} ... \end{tabular}
\begin{array}&lt;dir&gt;[pos]{table spec}   ... \end{array}
\begin{minipage}&lt;dir&gt;[pos]{width}     ... \end{minipage}
\end{lstlisting}
This option permits one of the following five values. If none of them is specified,
the direction inside the environment is same as that outside the enviromnent.
\begin{description}
 \item[y] \emph{yoko} direction (horizontal writing)
 \item[t] \emph{tate} direction (vertical writing)
 \item[z] \emph{utod} direction if direction outside the env.\ is \emph{tate}.
 \item[d] \emph{dtou} direction
 \item[u] \emph{utod} direction
\end{description}
\item[\cs{parbox}&lt;\meta{dir}&gt;{[\meta{pos}]}\{\meta{width}\}\{\meta{contents}\}]
\cs{parbox} command is also extended by \texttt{&lt;\meta{dir}&gt;}.

\item[\cs{pbox}&lt;\meta{dir}&gt;{[\meta{width}][\meta{pos}]}\{\meta{contents}\}]
This commands typeset \meta{contents} in LR-mode, in \meta{dir} direction.
If \meta{width} is positive, the width of the box becomes this \meta{width}.
In this case, \meta{contents} will be aligned to left (when \meta{pos} is \texttt{l}),
center (\texttt{c}), or~right (\texttt{r}).
  
\item[picture\textrm{\ environment}]
\texttt{picture} environment also extended by \texttt{&lt;\meta{dir}&gt;}, as follows:
\begin{lstlisting}
\begin{picture}&lt;dir&gt;(x_size, y_size)(x_offset,y_offset)
  ...
\end{picture}
\end{lstlisting}

\item[\cs{rensuji}{[\meta{pos}]}\{\meta{contents}\}\textrm{, }\cs{rensujiskip}]

\item[\cs{Kanji}\{\meta{counter\_name}\}]

\item[\cs{kasen}\{\meta{contents}\}\textrm{, }\cs{bou}\{\meta{contents}\}\textrm{,
		     }\cs{boutenchar}]

\item[å‚ç…§ç•ªå·]
\end{cslist}
%&lt;/en&gt;

%&lt;*ja&gt;
\paragraph{è¡¨çµ„ä»–ã®æƒãˆä½ç½®}
è¡¨çµ„ï¼ˆ\texttt{array}, \texttt{tabular}ç’°å¢ƒï¼‰ï¼Œ\cs{parbox}å‘½ä»¤ï¼Œ\cs{minipage}ç’°å¢ƒã®
æƒãˆä½ç½®ã«ã¤ã„ã¦ã¯\autoref{tab:lltjext_dir}ã‚’å‚ç…§ï¼Ž\pLaTeX~2017-07-29ã¨
ã§ãã‚‹ã&nbsp;ã‘åŒã˜æŒ™å‹•ã«ãªã‚‹ã‚ˆã†ã«ã—ã¦ã„ã‚‹ï¼Ž\autoref{tab:lltjext_dir}ä¸­ã®A--Dã®æ„å‘³ã¯æ¬¡ã®é€šã‚Šï¼Ž

\begin{table}
  \caption{\Pkg{lltjext}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«ãŠã‘ã‚‹è¡¨çµ„ãƒ»\cs{parbox}å‘½ä»¤ä»–ã®æƒãˆä½ç½®}
  \label{tab:lltjext_dir}
  {\centering
    \begin{tabular}{lcccc}
      \toprule
      â†“ä¸­èº«ï¼¼å‘¨å›²â†’&amp;\cs{yoko}&amp;\cs{tate}&amp;\cs{utod}&amp;\cs{dtou}\\
      \midrule
      \cs{yoko}&amp;A&amp;B&amp;B&amp;B\\
      \cs{tate}&amp;B&amp;A&amp;D&amp;C\\
      \cs{utod}&amp;B&amp;D&amp;A&amp;C\\
      \cs{dtou}&amp;B&amp;C&amp;C&amp;A\\
      \bottomrule
    \end{tabular}\par}
\end{table}

\begin{description}
 \item[A] å‘¨å›²ã®çµ„æ–¹å‘ã¨ä¸­èº«ã®çµ„æ–¹å‘ãŒåŒã˜å&nbsp;´åˆï¼Ž
  \begin{itemize}
   \item \texttt{[t]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®å…ˆé&nbsp;­è¡Œã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ãŒå‘¨å›²ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
    è¡¨çµ„ã§å…ˆé&nbsp;­è¡Œã®ä¸Šã«ç½«ç·šãŒã‚ã£ãŸå&nbsp;´åˆã¯ï¼Œãã‚ŒãŒãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ä½ç½®
    \footnote{\LuaTeX-jaã§ã¯å’Œæ–‡å´ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ä½ç½®ã‚‚ä¸Šä¸‹ç§»å‹•ã§ãã‚‹ã“ã¨ã«æ³¨æ„ï¼Ž
      ãã®ãŸã‚ã€Œå’Œæ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã€ã®ä½ç½®ã«æ¥ã‚‹ã¨ã¯é™ã‚‰ãªã„ï¼Ž}ã¨ãªã‚‹ï¼Ž
   \item \texttt{[c]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®ä¸Šä¸‹ã®ä¸­å¿ƒãŒå‘¨å›²ã®æ•°å¼ã®è»¸ã‚’é€šã‚‹ï¼Ž
   \item \texttt{[b]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®æœ€çµ‚è¡Œã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ãŒå‘¨å›²ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
    è¡¨çµ„ã§æœ€çµ‚è¡Œã®ä¸‹ã«ç½«ç·šãŒã‚ã£ãŸå&nbsp;´åˆã¯ï¼Œãã‚ŒãŒãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ä½ç½®ã¨ãªã‚‹ï¼Ž
  \end{itemize}
 \item[B] å‘¨å›²ã®çµ„æ–¹å‘ã¨ä¸­èº«ã®çµ„æ–¹å‘ãŒ90åº¦ãšã‚Œã¦ã„ã‚‹å&nbsp;´åˆï¼Ž
  \begin{itemize}
   \item \texttt{[t]}æŒ‡å®šã®ã¨ãï¼š
    è¡¨çµ„ã«ãŠã„ã¦ã¯ï¼Œä¸Šç«¯ãŒå‘¨å›²ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
    \cs{parbox}ã‚„\cs{minipage}ç’°å¢ƒã«ãŠã„ã¦ã¯ï¼Œä¸Šç«¯ãŒå‘¨å›²ã®å’Œæ–‡æ–‡å­—ã®ä¸Šç«¯ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
   \item \texttt{[c]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®ä¸Šä¸‹ã®ä¸­å¿ƒãŒå‘¨å›²ã®æ•°å¼ã®è»¸ã‚’é€šã‚‹ï¼Ž
   \item \texttt{[b]}æŒ‡å®šã®ã¨ãï¼š
    è¡¨çµ„ã«ãŠã„ã¦ã¯ï¼Œä¸‹ç«¯ãŒå‘¨å›²ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
    \cs{parbox}ã‚„\cs{minipage}ç’°å¢ƒã«ãŠã„ã¦ã¯ï¼Œä¸‹ç«¯ãŒå‘¨å›²ã®å’Œæ–‡æ–‡å­—ã®ä¸‹ç«¯ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
  \end{itemize}
 \item[C] å‘¨å›²ã®çµ„æ–¹å‘ã¨ä¸­èº«ã®çµ„æ–¹å‘ãŒ180åº¦ãšã‚Œã¦ã„ã‚‹å&nbsp;´åˆï¼Ž
  \cs{parbox}ã‚„\cs{minipage}ç’°å¢ƒã«ãŠã„ã¦ã¯ï¼Œä¸Šã®Bã®å&nbsp;´åˆã¨åŒã˜æŒ™å‹•ã§ã‚ã‚‹ï¼Žè¡¨çµ„ã«ãŠã„ã¦ã¯ï¼Œ
  Aã§\texttt{[t]}ã¨\texttt{[b]}ã‚’å…¥ã‚Œæ›¿ãˆãŸ
  \begin{itemize}
   \item \texttt{[t]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®æœ€çµ‚è¡Œã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ãŒå‘¨å›²ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
    æœ€çµ‚è¡Œã®ä¸‹ã«ç½«ç·šãŒã‚ã£ãŸå&nbsp;´åˆã¯ï¼Œãã‚ŒãŒãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ä½ç½®ã¨ãªã‚‹ï¼Ž
   \item \texttt{[c]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®ä¸Šä¸‹ã®ä¸­å¿ƒãŒå‘¨å›²ã®æ•°å¼ã®è»¸ã‚’é€šã‚‹ï¼Ž
   \item \texttt{[b]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®å…ˆé&nbsp;­è¡Œã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ãŒå‘¨å›²ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
    è¡¨çµ„ã§å…ˆé&nbsp;­è¡Œã®ä¸Šã«ç½«ç·šãŒã‚ã£ãŸå&nbsp;´åˆã¯ï¼Œãã‚ŒãŒãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ä½ç½®ã¨ãªã‚‹ï¼Ž
  \end{itemize}
 \item[D] é€šå¸¸ã®ç¸¦çµ„(\cs{tate})ã¨ã€Œç¸¦æ•°å¼ãƒ‡ã‚£ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã«ç›¸å½“ã™ã‚‹\cs{utod}æ–¹å‘ãŒçµ¡ã‚“ã&nbsp;å&nbsp;´åˆï¼Ž
  \cs{parbox}ã‚„\cs{minipage}ç’°å¢ƒã«ãŠã„ã¦ã¯ï¼Œä¸Šã®Bã®å&nbsp;´åˆã¨åŒã˜æŒ™å‹•ã§ã‚ã‚‹ï¼Žè¡¨çµ„ã«ãŠã„ã¦ã¯ï¼Œ
  \begin{itemize}
   \item \texttt{[t]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®å…ˆé&nbsp;­è¡Œã®æ¬§æ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ãŒå‘¨å›²ã®æ¬§æ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
   \item \texttt{[c]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®ä¸Šä¸‹ã®ä¸­å¿ƒãŒå‘¨å›²ã®æ•°å¼ã®è»¸ã‚’é€šã‚‹ï¼Ž
   \item \texttt{[b]}æŒ‡å®šã®ã¨ãï¼š
    ä¸­èº«ã®æœ€çµ‚è¡Œã®æ¬§æ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ãŒå‘¨å›²ã®æ¬§æ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã¨ä¸€è‡´ã™ã‚‹ï¼Ž
  \end{itemize}
\end{description}
%&lt;/ja&gt;

\subsection{\Pkg{luatexja-preset}}
\label{ssec:preset}

%&lt;*en&gt;
As described in Subsection~\ref{ssec:preset-abst},
One can load the \Pkg{luatexja-preset}
package to use several ``presets'' of Japanese fonts.
This package provides functions in a part of \Pkg{japanese-otf} package (changing fonts)
and a part of \Pkg{PXchfon} package (presets) by Takayuki Yato.

Options which are given in \cs{usepackage} but not described in this~subsection
are simply passed to the \Pkg{luatexja-fontspec}\footnote{if \texttt{nfssonly} option is
\emph{not} specified; in this case these options are simply ignored.}.
For example, the line~5 in below example is equivalent to lines 1--3.
%&lt;/en&gt;
%&lt;*ja&gt;
\ref{ssec:preset-abst}ç¯€ã§è¿°ã¹ãŸã‚ˆã†ã«ï¼Œã‚ˆãä½¿ã‚ã‚Œã¦ã„ã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆè¨­å®šã‚’ä¸€è¡Œã§æŒ‡å®šã§ãã‚‹ã‚ˆã†ã«ã—ãŸã®ãŒ
\Pkg{luatexja-preset}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã‚ã‚‹ï¼Žã“ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯ï¼Œ
\Pkg{otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®ä¸€éƒ¨ï¼ˆå¤šæ›¸ä½“åŒ–ï¼‰ã¨å…«ç™»å´‡ä¹‹æ°ã«ã‚ˆã‚‹\Pkg{PXchfon}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®ä¸€éƒ¨ï¼ˆãƒ—ãƒªã‚»ãƒƒãƒˆæŒ‡å®šï¼‰
ã¨ã‚’åˆã‚ã›ãŸã‚ˆã†ãªæ&nbsp;¼å¥½ã‚’ã—ã¦ã„ã‚‹ï¼Ž

ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸èª­ã¿è¾¼ã¿æ™‚ã«æ¸¡ã•ã‚ŒãŸã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®ã†ã¡ï¼Œ
æœ¬ç¯€ã«ãªã„ã‚‚ã®ã‚’æŒ‡å®šã—ãŸå&nbsp;´åˆï¼Œãã‚Œã‚‰ã¯ãã®ã¾ã¾
\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«æ¸¡ã•ã‚Œã‚‹\footnote{\texttt{nfssonly} ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒ
æŒ‡å®šã•ã‚Œã¦ã„ãŸå&nbsp;´åˆã¯ï¼Œ\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯èª­ã¿è¾¼ã¾ã‚Œãªã„ã®ã§å˜ç´”ã«ç„¡è¦–ã•ã‚Œ
ã‚‹ï¼Ž}ï¼Žä¾‹ãˆã°ï¼Œä¸‹ã®1--3è¡Œç›®ã¯5è¡Œç›®ã®ã‚ˆã†ã«ä¸€è¡Œã«ã¾ã¨ã‚ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{lstlisting}
\usepackage[no-math]{fontspec}
\usepackage[match]{luatexja-fontspec}
\usepackage[kozuka-pr6n]{luatexja-preset}
%%--------
\usepackage[no-math,match,kozuka-pr6n]{luatexja-preset}
\end{lstlisting}

%&lt;en&gt;\subsubsection{General Options}
%&lt;ja&gt;\subsubsection{ä¸€èˆ¬çš„ãªã‚ªãƒ—ã‚·ãƒ§ãƒ³}
\label{sssec:ltjpreset-general}

\begin{cslist}[before*=]
\item[fontspec%
%&lt;en&gt;\textrm{~(enabled by default)}
%&lt;ja&gt;\emph{\gtfamily ï¼ˆæ—¢å®šï¼‰}
]
%&lt;*en&gt;
With this option, Japanese fonts are selected using functionality of
the \Pkg{luatexja-fontspec} package. This means that the \Pkg{fontspec} package is
	     automatically loaded by this package.

If you need to pass some options to \Pkg{fontspec}, you can load \Pkg{fontspec} manually
before \Pkg{luatexja-preset}:
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æ©Ÿèƒ½ã‚’ç”¨ã„ã¦å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’é¸æŠžã™ã‚‹ï¼Ž
ã“ã‚Œã¯ï¼Œ\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒè‡ªå‹•ã§èª­ã¿è¾¼ã¾ã‚Œã‚‹ã“ã¨ã‚’æ„å‘³ã™ã‚‹ï¼Ž

ã‚‚ã—\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã«ä½•ã‚‰ã‹ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’æ¸¡ã™å¿…è¦ãŒã‚ã‚‹
\footnote{ä¾‹ãˆã°ï¼Œæ•°å¼ãƒ•ã‚©ãƒ³ãƒˆã¾ã§ç½®æ›ã•ã‚Œã¦ã—ã¾ã„ï¼Œ\cs{mathit}ã«ã‚ˆã£ã¦ã‚®ãƒªã‚·ãƒ£æ–‡å­—ã®
æ–œä½“å¤§æ–‡å­—ãŒå‡ºãªããªã‚‹ï¼Œãªã©ï¼Ž}å&nbsp;´åˆã¯ï¼Œ
æ¬¡ã®ã‚ˆã†ã«\Pkg{luatexja-preset}ã®å‰ã«\Pkg{fontspec}ã‚’æ‰‹å‹•ã§èª­ã¿ã“ã‚ã°è‰¯ã„ï¼š
%&lt;/ja&gt;
\begin{lstlisting}
\usepackage[no-math]{fontspec}
\usepackage[...]{luatexja-preset}
\end{lstlisting}

\item[nfssonly]
%&lt;*en&gt;
With this option, selecting Japanese fonts won't be performed using the functionality of
	     the \Pkg{fontspec} package, but only standard NFSS2 (hence without
	     \cs{addjfontfeatures} etc.).
This option is ignored when \Pkg{luatexja-fontspec} package is loaded.

When this option is specified, \Pkg{fontspec}~and~\Pkg{luatexja-fontspec} are
\emph{not} loaded by default. Nevertheless,
the package\Pkg{fontspec} can coexist with the option, as the following:
\begin{lstlisting}
\usepackage{fontspec}
\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
\end{lstlisting}
In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
\LaTeX æ¨™æº–ã®ãƒ•ã‚©ãƒ³ãƒˆé¸æŠžæ©Ÿæ§‹(NFSS2)ã‚’ç”¨ã„ã¦
\texttt{ltjpm}$n$ï¼ˆæ˜Žæœï¼‰ï¼Œ\texttt{ltjpg}$n$ï¼ˆã‚´ã‚·ãƒƒã‚¯ï¼‰ï¼Œ
ãã‚Œã«å¾Œã«è¿°ã¹ã‚‹\texttt{deluxe}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•ã‚ŒãŸå&nbsp;´åˆã«ã¯
\texttt{ltjpmg}$n$ï¼ˆä¸¸ã‚´ã‚·ãƒƒã‚¯ï¼‰ã¨ã„ã†
å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’å®šç¾©%
\footnote{%
  $n$ã¯è‡ªç„¶æ•°ã§ã‚ã‚Šï¼Œ\cs{ltjapplypreset}ã®å®Ÿè¡Œï¼ˆã“ã®å‘½ä»¤ã¯\Pkg{luatexja-preset}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸
  èª­ã¿è¾¼ã¿æ™‚ã«è‡ªå‹•çš„ã«å®Ÿè¡Œã•ã‚Œã‚‹ï¼‰ã”ã¨ã«å¢—åŠ&nbsp;ã—ã¦ã„ãï¼Ž
}ã—ï¼Œã“ã‚Œã‚‰ã‚’ç”¨ã„ã‚‹ï¼Ž

æœ¬ã‚ªãƒ—ã‚·ãƒ§ãƒ³æŒ‡å®šæ™‚ã«ã¯\Pkg{fontspec}ãƒ»\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¯
è‡ªå‹•ã§ã¯èª­ã¿è¾¼ã¾ã‚Œãªã„ï¼Œã—ã‹ã—ï¼Œ
\begin{lstlisting}
\usepackage{fontspec}
\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
\end{lstlisting}
ã®ã‚ˆã†ã«ã™ã‚Œã°ï¼Œã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’æŒ‡å®šã™ã‚Œã°
æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’\Pkg{fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æ©Ÿèƒ½ã‚’ä½¿ã£ã¦æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã‚‹ï¼Ž

ä¸€æ–¹ï¼Œ\Pkg{luatexja-preset}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸èª­ã¿è¾¼ã¿æ™‚ã«
æ—¢ã«\Pkg{luatexja-fontspec}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒèª­ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹å&nbsp;´åˆã¯
\texttt{nfssonly}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯ç„¡è¦–ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\item[match]
%&lt;*en&gt;
If this option is specified, usual family-changing commands such as
\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
This option is passed to \Pkg{luatexja-fontspec}, if \texttt{fontspec}
option is specifed.
%&lt;/en&gt;

%&lt;*ja&gt;
ã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•ã‚Œã‚‹ã¨ï¼Œã€Œ\pLaTeXe æ–°ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã€ã®ã‚ˆã†ã«\
\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} ç­‰ãŒ
æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã&nbsp;ã‘ã§ãªãå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚‚å¤‰æ›´ã™ã‚‹ã‚ˆã†ã«ãªã‚‹ï¼Ž
\ \texttt{fontspec}\
ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹å&nbsp;´åˆã¯ï¼Œã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯ \Pkg{luatexja-fontspec} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¸ã¨æ¸¡ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;


\item[nodeluxe%
%&lt;en&gt;\textrm{~(enabled by default)}
%&lt;ja&gt;\emph{\gtfamily ï¼ˆæ—¢å®šï¼‰}
]
%&lt;*en&gt;
The nagation of \texttt{deluxe} option.
Use one-weighted \textit{mincho} and \textit{gothic} font families.
This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
\verb+\gtfamily\mdseries+ use the same font.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{deluxe}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®å¦å®šï¼Ž
\LaTeXe ç’°å¢ƒä¸‹ã®æ¨™æº–è¨­å®šã®ã‚ˆã†ã«ï¼Œæ˜Žæœä½“ãƒ»ã‚´ã‚·ãƒƒã‚¯ä½“ã‚’å„1ã‚¦ã‚§ã‚¤ãƒˆã§ä½¿ç”¨ã™ã‚‹ï¼Ž
ã‚ˆã‚Šå…·ä½“çš„ã«è¨€ã†ã¨ï¼Œã“ã®è¨­å®šã®ä¸‹ã§ã¯
\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
\verb+\gtfamily\mdseries+ã¯ã¿ãªåŒã˜ãƒ•ã‚©ãƒ³ãƒˆã¨ãªã‚‹ï¼Ž
%&lt;/ja&gt;
\item[deluxe]
%&lt;*en&gt;
Use the mincho family with three weights (light, medium, and~bold),
the gothic family with three weights (medium, bold, and extra~bold), and \textit{rounded gothic}%
\footnote{Provided by \cs{mgfamily} and \cs{textmg},
because ``rounded gothic'' is called \textit{maru gothic} (ä¸¸ã‚´ã‚·ãƒƒã‚¯) in Japanese.}.
Mincho light and gothic extra~bold can be by
\cs{mcfamily}\cs{ltseries}~and~\cs{gtfamily}\cs{ebseries}, respectively.

\begin{itemize}
 \item Some presets do not have the light weight of mincho.
  In this case, we substitute the medium weight for the light weight.
 \item \Pkg{luatexja-preset} does not produce an error (only produces a warning), even if
  (one of) fonts for \cs{mcfamily}\cs{ltseries}, \cs{gtfamily}\cs{ebseries}, \cs{mgfamily}
  do not exist.
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
æ˜Žæœä½“ãƒ»ã‚´ã‚·ãƒƒã‚¯ä½“å„3ã‚¦ã‚§ã‚¤ãƒˆã¨ï¼Œ
ä¸¸ã‚´ã‚·ãƒƒã‚¯ä½“ (\cs{mgfamily}, \verb+\textmg{...}+) ã‚’åˆ©ç”¨å¯èƒ½ã«ã™ã‚‹ï¼Ž
æ˜Žæœä½“ã¯ç´°å­—ãƒ»ä¸­å­—ãƒ»å¤ªå­—ã®3ã‚¦ã‚§ã‚¤ãƒˆãŒã‚ã‚Šï¼Œ
æ˜Žæœä½“ã®ç´°å­—ã¯ \cs{mcfamily}\cs{ltseries} ã§åˆ©ç”¨ã§ãã‚‹ï¼Ž
ã¾ãŸï¼Œã‚´ã‚·ãƒƒã‚¯ä½“ã¯ä¸­å­—ãƒ»å¤ªå­—ãƒ»æ¥µå¤ªã®3ã‚¦ã‚§ã‚¤ãƒˆãŒã‚ã‚Šï¼Œ
ã‚´ã‚·ãƒƒã‚¯ä½“ã®æ¥µå¤ªã¯ \cs{gtfamily}\cs{ebseries} ã§åˆ©ç”¨ã§ãã‚‹%
\footnote{éŽåŽ»ã¨ã®äº’æ›æ€§ã®ãŸã‚ï¼Œ\cs{gtebfamily}, \cs{textgteb\{...\}} ã‚‚
 ä¾ç„¶ã¨ã—ã¦åˆ©ç”¨å¯èƒ½ã§ã‚ã‚‹ï¼Ž}ï¼Ž

\begin{itemize}
  \item ãƒ—ãƒªã‚»ãƒƒãƒˆè¨­å®šã«ã‚ˆã£ã¦ã¯æ˜Žæœä½“ç´°å­—ãŒç”¨æ„ã•ã‚Œã¦ã„ãªã„ã‚‚ã®ã‚‚ã‚ã‚‹ï¼Žãã®å&nbsp;´åˆã¯
  æ˜Žæœä½“ä¸­å­—ãŒä»£ç”¨ã•ã‚Œã‚‹ï¼Ž
  \item æ˜Žæœä½“ç´°å­—ï¼Œã‚´ã‚·ãƒƒã‚¯ä½“æ¥µå¤ªï¼Œä¸¸ã‚´ã‚·ãƒƒã‚¯ä½“ã®3ãƒ•ã‚©ãƒ³ãƒˆã«ã¤ã„ã¦ã¯
  å®Ÿéš›ã«ãƒ•ã‚©ãƒ³ãƒˆã‚’ãƒ­ãƒ¼ãƒ‰ã™ã‚‹å‰ã«å­˜åœ¨ã™ã‚‹ã‹ãƒã‚§ãƒƒã‚¯ã‚’è¡Œã†ï¼Ž
  å­˜åœ¨ã—ãªã‹ã£ãŸã‚‚ã®ã«ã¤ã„ã¦ã¯è­¦å‘Šã‚’ç™ºã—ï¼Œ
  ãã‚Œãžã‚Œæ˜Žæœä½“ä¸­å­—ï¼Žã‚´ã‚·ãƒƒã‚¯ä½“å¤ªå­—ï¼Œã‚´ã‚·ãƒƒã‚¯ä½“å¤ªå­—ã§ä»£ç”¨ã™ã‚‹ï¼Ž
\end{itemize}
%&lt;/ja&gt;
\item[expert]
%&lt;*en&gt;
Use horizontal/vertical kana alternates, and define a command \cs{rubyfamily} to use kana
characters designed for ruby.
%&lt;/en&gt;
%&lt;*ja&gt;
æ¨ªçµ„ãƒ»ç¸¦çµ„å°‚ç”¨ä»®åã‚’ç”¨ã„ã‚‹ï¼Žã¾ãŸï¼Œ\cs{rubyfamily} ã§ãƒ«ãƒ“ç”¨ä»®åãŒä½¿ç”¨å¯èƒ½ã¨ãªã‚‹\footnote{%
  \cs{rubyfamily}ã¨ã¯ã„ã„ã¤ã¤ï¼Œå®Ÿéš›ã«ã¯ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’åˆ‡ã‚Šæ›¿ãˆã‚‹ã®ã§ã¯ãªã„ï¼ˆé€šå¸¸ã§ã¯
  OpenTypeæ©Ÿèƒ½ã®æœ‰åŠ¹åŒ–ã§ã‚ã‚Šï¼Œ\texttt{nfssonly} æŒ‡å®šæ™‚ã«ã¯ã‚·ã‚§ã‚¤ãƒ—ã‚’ \texttt{rb} ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ï¼‰ï¼Ž
}ï¼Ž
%&lt;/ja&gt;
\item[bold]
%&lt;*en&gt;
Substitute bold series of gothic for medium series of gothic and bold series of mincho.
If \texttt{nodeluxe} option is enabled, medium series of gothic is also changed,
since we use same font for both series of gothic.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{nodeluxe}ã‚ªãƒ—ã‚·ãƒ§ãƒ³æŒ‡å®šæ™‚ã«ã¯ï¼Œã€Œæ˜Žæœã®å¤ªå­—ã€ã‚’ã‚´ã‚·ãƒƒã‚¯ä½“ã¨åŒã˜ãƒ•ã‚©ãƒ³ãƒˆã«ã™ã‚‹ï¼Ž
\texttt{deluxe}ã‚ªãƒ—ã‚·ãƒ§ãƒ³æŒ‡å®šæ™‚ã«ã¯ï¼Œã€Œæ˜Žæœã®å¤ªå­—ã€ã€Œã‚´ã‚·ãƒƒã‚¯ä½“ã®ä¸­å­—ã€ã‚’ã‚´ã‚·ãƒƒã‚¯ä½“ã®å¤ªå­—ã¨åŒã˜ãƒ•ã‚©ãƒ³ãƒˆã«ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\item[jis90\textrm{,~}90jis]
%&lt;en&gt;Use JIS~X~0208:1990 glyph variants if possible.
%&lt;ja&gt;å‡ºæ¥ã‚‹é™ã‚ŠJIS~X~0208:1990ã®å­—å½¢ã‚’ä½¿ã†ï¼Ž
\item[jis2004\textrm{,~}2004jis]
%&lt;en&gt;Use JIS~X~0213:2004 glyph variants if possible.
%&lt;ja&gt;å‡ºæ¥ã‚‹é™ã‚ŠJIS~X~0213:2004ã®å­—å½¢ã‚’ä½¿ã†ï¼Ž
\item[jfm\_yoko=\meta{jfm}]
%&lt;*en&gt;
Use the JFM \texttt{jfm-\meta{jfm}.lua} for horizontal direction, instead of \texttt{jfm-ujis.lua}~(default JFM).
%&lt;/en&gt;
%&lt;*ja&gt;
æ¨ªçµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ç”¨ã„ã‚‹JFMã‚’\texttt{jfm-\meta{jfm}.lua}ã«ã™ã‚‹ï¼Žã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒãªã„æ™‚ã¯
\LuaTeX\nobreakdash -jaæ¨™æº–ã®\texttt{jfm-ujis.lua}ãŒç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
\item[jfm\_tate=\meta{jfm}]
%&lt;*en&gt;
Use the JFM \texttt{jfm-\meta{jfm}.lua} for vertical direction, instead of \texttt{jfm-ujisv.lua}~(default JFM).
%&lt;/en&gt;
%&lt;*ja&gt;
ç¸¦ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ç”¨ã„ã‚‹JFMã‚’\texttt{jfm-\meta{jfm}.lua}ã«ã™ã‚‹ï¼Žã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒãªã„æ™‚ã¯
\LuaTeX-jaæ¨™æº–ã®\texttt{jfm-ujisv.lua}ãŒç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\item[jis]
%&lt;en&gt;Same as \texttt{jfm\_yoko=jis}.
%&lt;ja&gt;\texttt{jfm\_yoko=jis}ã¨åŒã˜ï¼Žã“ã“ã§ç”¨ã„ã‚‹JFM~\texttt{jfm-jis.lua}ã¯JISãƒ•ã‚©ãƒ³ãƒˆãƒ¡ãƒˆãƒªãƒƒã‚¯ã‚’å…ƒã«ã—ãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž

\end{cslist}
%&lt;*en&gt;
Note that \texttt{jis90},~\texttt{90jis}, \texttt{jis2004}~and~\texttt{2004jis} only affect with mincho,
gothic (and, possibly rounded gothic) families defined by this package.
We didn't taken account of when more than one options among them are specified.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{jis90},~\texttt{90jis}, \texttt{jis2004},~\texttt{2004jis}ã«ã¤ã„ã¦ã¯æœ¬ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§å®šç¾©ã•ã‚ŒãŸ
æ˜Žæœä½“ãƒ»ã‚´ã‚·ãƒƒã‚¯ä½“ï¼ˆãƒ»ä¸¸ã‚´ã‚·ãƒƒã‚¯ä½“ï¼‰ã«ã®ã¿æœ‰åŠ¹ã§ã‚ã‚‹ï¼Ž
ã“ã‚Œã‚‰4ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®ã†ã¡è¤‡æ•°ãŒåŒæ™‚ã«æŒ‡å®šã•ã‚ŒãŸå&nbsp;´åˆã®å‹•ä½œã«ã¤ã„ã¦ã¯å…¨ãè€ƒæ…®ã—ã¦ã„ãªã„ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsubsection{Presets which support multi weights}
%&lt;ja&gt;\subsubsection{å¤šã‚¦ã‚§ã‚¤ãƒˆç”¨ãƒ—ãƒªã‚»ãƒƒãƒˆã®ä¸€è¦§}
\label{sssec:ltjpreset-multi}

%&lt;*en&gt;
Besides \texttt{bizud}, \texttt{haranoaji}, \texttt{morisawa-pro},~and~\texttt{morisawa-pr6n} presets,
fonts are specified by font name, not by file name.
In following tables, starred fonts (e.g.~KozGo\dots-Regular) are used for medium series of \textit{gothic},
\emph{if and only if \texttt{deluxe} option is specified}.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{bizud}, \texttt{haranoaji}, \texttt{morisawa-pro}, \texttt{morisawa-pr6n}ä»¥å¤–ã¯ãƒ•ã‚©ãƒ³ãƒˆã®æŒ‡å®šã¯
ï¼ˆãƒ•ã‚¡ã‚¤ãƒ«åã§ãªãï¼‰ãƒ•ã‚©ãƒ³ãƒˆåã§è¡Œã‚ã‚Œã‚‹ï¼Ž
ä»¥ä¸‹ã®è¡¨ã«ãŠã„ã¦ï¼Œ*\,ã¤ãã®ãƒ•ã‚©ãƒ³ãƒˆ(e.g.,~KozGo\dots-Regular)ã¯ï¼Œ\emph{\texttt{deluxe}ã‚ªãƒ—ã‚·ãƒ§ãƒ³æŒ‡å®šæ™‚ã«}
ã‚´ã‚·ãƒƒã‚¯ä½“ä¸­å­—ã¨ã—ã¦ç”¨ã„ã‚‰ã‚Œã‚‹ã‚‚ã®ã‚’ç¤ºã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{cslist}[style=standard]
 \item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[kozuka-pr6] Kozuka Pr6 (Adobe-Japan1-6)  fonts.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[kozuka-pr6n] Kozuka Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.

%&lt;*en&gt;
Kozuka Pro/Pr6N fonts are bundled with Adobe's software, such as Adobe~InDesign.
There is not rounded gothic family in Kozuka fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
å°å¡šProæ›¸ä½“ãƒ»Pr6Næ›¸ä½“ã¯Adobe InDesignç­‰ã®Adobeè£½å“ã«ãƒãƒ³ãƒ‰ãƒ«ã•ã‚Œã¦ã„ã‚‹ï¼Ž
ã€Œå°å¡šä¸¸ã‚´ã‚·ãƒƒã‚¯ã€ã¯å­˜åœ¨ã—ãªã„ã®ã§ï¼Œä¾¿å®œçš„ã«å°å¡šã‚´ã‚·ãƒƒã‚¯Hã«ã‚ˆã£ã¦ä»£ç”¨ã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{center}\small
\begin{tabular}{lllll}
\toprule
\bfseries family&amp;\bfseries series&amp;\ttfamily kozuka-pro&amp;\ttfamily kozuka-pr6&amp;\ttfamily kozuka-pr6n\\
\midrule
 &amp;light&amp;KozMinPro-Light&amp;KozMinProVI-Light&amp;KozMinPr6N-Light\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{æ˜Žæœ}%
 &amp;medium&amp;KozMinPro-Regular&amp;KozMinProVI-Regular&amp;KozMinPr6N-Regular\\
 &amp;bold&amp;KozMinPro-Bold&amp;KozMinProVI-Bold&amp;KozMinPr6N-Bold\\
\midrule
 &amp;&amp;KozGoPro-Regular*&amp;KozGoProVI-Regular*&amp;KozGoPr6N-Regular*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;KozGoPro-Medium&amp;KozGoProVI-Medium&amp;KozGoPr6N-Medium\\
\cmidrule(l){2-5}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ã‚´ã‚·ãƒƒã‚¯}}}%
 &amp;bold&amp;KozGoPro-Bold&amp;KozGoProVI-Bold&amp;KozGoPr6N-Bold\\
 &amp;extra bold&amp;KozGoPro-Heavy&amp;KozGoProVI-Heavy&amp;KozGoPr6N-Heavy\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;KozGoPro-Heavy&amp;KozGoProVI-Heavy&amp;KozGoPr6N-Heavy\\
\bottomrule
\end{tabular}
\end{center}

 \item[hiragino-pro]  Hiragino Pro (Adobe-Japan1-5) fonts.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.

%&lt;*en&gt;
Hiragino fonts (except Hiragino~Mincho~W2) are bundled with Mac OS~X 10.5 or later.
Note that fonts for gothic extra~bold (HiraKakuStd[N]-W8) only contains characters in
Adobe-Japan1-3 character collection, while others contains those in
Adobe-Japan1-5 character collection.
%&lt;/en&gt;
%&lt;*ja&gt;
æ¥µå¤ªã‚´ã‚·ãƒƒã‚¯ä½“ã¨ã—ã¦ç”¨ã„ã‚‹ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´W8ã¯ï¼ŒAdobe-Japan1-3ã®ç¯„å›²ã—ã‹ã‚«ãƒãƒ¼ã—ã¦ã„ãªã„
Std/StdNãƒ•ã‚©ãƒ³ãƒˆã§ã‚ã‚Šï¼Œãã®ä»–ã¯Adobe-Japan1-5å¯¾å¿œã§ã‚ã‚‹ï¼Ž

ãªãŠï¼Œæ˜Žæœä½“ç´°å­—ã¨ã—ã¦ç”¨ã„ã‚‹ãƒ’ãƒ©ã‚®ãƒŽæ˜Žæœä½“W2ã¯OS~Xã«ã¯ãƒãƒ³ãƒ‰ãƒ«ã•ã‚Œã¦ãŠã‚‰ãšï¼Œ
åˆ¥é€”è³¼å…¥ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{center}\small
\begin{tabular}{llll}
\toprule
\bf family&amp;\bf series&amp;\tt hiragino-pro&amp;\tt hiragino-pron\\
\midrule
 &amp;light&amp;Hiragino~Mincho~Pro~W2&amp;Hiragino~Mincho~ProN~W2\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{æ˜Žæœ}%
 &amp;medium&amp;Hiragino~Mincho~Pro~W3&amp;Hiragino~Mincho~ProN~W3\\
 &amp;bold&amp;Hiragino~Mincho~Pro~W6&amp;Hiragino~Mincho~ProN~W6\\
\midrule
 &amp;&amp;Hiragino~Kaku~Gothic~Pro~W3*&amp;Hiragino~Kaku~Gothic~ProN~W3*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;Hiragino~Kaku~Gothic~Pro~W6&amp;Hiragino~Kaku~Gothic~ProN~W6\\
\cmidrule(l){2-4}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ã‚´ã‚·ãƒƒã‚¯}}}%
 &amp;bold&amp;Hiragino~Kaku~Gothic~Pro~W6&amp;Hiragino~Kaku~Gothic~ProN~W6\\
 &amp;extra bold&amp;Hiragino~Kaku~Gothic~Std~W8&amp;Hiragino~Kaku~Gothic~StdN~W8\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;Hiragino~Maru~Gothic~Pro~W4&amp;Hiragino~Maru~Gothic~ProN~W4\\
\bottomrule
\end{tabular}
\end{center}

\item[bizud] BIZ UD fonts (by Morisawa Inc.) bundled with
  Windows~10 October 2018 Update.
\begin{center}\small
\begin{tabular}{ll&gt;{\ttfamily}l}
\toprule
\textbf{family}&amp;\textbf{series}\\
\midrule
%&lt;en&gt;\textit{mincho}
%&lt;ja&gt;\textgt{æ˜Žæœ}%
 &amp;&amp;BIZ-UDMinchoM.ttc\\
\midrule
 &amp;medium&amp;BIZ-UDGothicR.ttc\\
\cmidrule(l){2-3}
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ã‚´ã‚·ãƒƒã‚¯}
 &amp;bold&amp;BIZ-UDGothicB.ttc\\
 &amp;extra bold&amp;BIZ-UDGothicB.ttc\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;BIZ-UDGothicB.ttc\\
\bottomrule
\end{tabular}
\end{center}

%&lt;en&gt;\newpage

 \item[morisawa-pro]  Morisawa Pro (Adobe-Japan1-4) fonts.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[morisawa-pr6n]  Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
\begin{center}\footnotesize
\begin{tabular}{ll&gt;{\tt}l&gt;{\tt}l}
\toprule
\bf family&amp;\bf series&amp;morisawa-pro&amp;morisawa-pr6n\\
\midrule
 &amp;medium&amp;A-OTF-RyuminPro-Light.otf&amp;A-OTF-RyuminPr6N-Light.otf\\
%&lt;en&gt;\smash{\raisebox{1.5ex}{\textit{mincho}}}%
%&lt;ja&gt;\smash{\raisebox{1.5ex}{\textgt{æ˜Žæœ}}}%
 &amp;bold&amp;A-OTF-FutoMinA101Pro-Bold.otf&amp;A-OTF-FutoMinA101Pr6N-Bold.otf\\
\midrule
 &amp;medium
 &amp;A-OTF-GothicBBBPro-Medium.otf&amp;A-OTF-GothicBBBPr6N-Medium.otf\\
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ã‚´ã‚·ãƒƒã‚¯}
 &amp;bold&amp;A-OTF-FutoGoB101Pro-Bold.otf&amp;A-OTF-FutoGoB101Pr6N-Bold.otf\\
 &amp;extra bold&amp;A-OTF-MidashiGoPro-MB31.otf&amp;A-OTF-MidashiGoPr6N-MB31.otf\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;A-OTF-Jun101Pro-Light.otf&amp;A-OTF-ShinMGoPr6N-Light.otf\\
\bottomrule
\end{tabular}
\end{center}


 \item[yu-win]  Yu fonts bundled with Windows~8.1.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[yu-win10]  Yu fonts bundled with Windows~10.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[yu-osx]  Yu fonts bundled with OSX~Mavericks.
\begin{center}\small
\begin{tabular}{lllll}
\toprule
\bf family&amp;\bf series&amp;\texttt{yu-win}&amp;\texttt{yu-win10}&amp;\texttt{yu-osx}\\
\midrule
 &amp;light&amp;YuMincho-Light&amp;YuMincho-Light&amp;(YuMincho~Medium)\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{æ˜Žæœ}%
 &amp;medium&amp;YuMincho-Regular&amp;YuMincho-Regular&amp;YuMincho~Medium\\
 &amp;bold&amp;YuMincho-Demibold&amp;YuMincho-Demibold&amp;YuMincho~Demibold\\
\midrule
 &amp;&amp;YuGothic-Regular*&amp;YuGothic-Regular*&amp;YuGothic~Medium*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}%
        &amp;YuGothic-Regular&amp;YuGothic-Medium&amp;YuGothic~Medium\\
\cmidrule(l){2-5}
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ã‚´ã‚·ãƒƒã‚¯}
 &amp;bold&amp;YuGothic-Bold&amp;YuGothic-Bold&amp;YuGothic~Bold\\
 &amp;extra bold&amp;YuGothic-Bold&amp;YuGothic-Bold&amp;YuGothic~Bold\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;YuGothic-Bold&amp;YuGothic-Bold&amp;YuGothic~Bold\\
\bottomrule
\end{tabular}
\end{center}

\item[moga-mobo]  MogaMincho, MogaGothic, and MoboGothic.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[moga-mobo-ex]  MogaExMincho, MogaExGothic, and MoboExGothic.
%&lt;en&gt;\par These fonts can be downloaded from \url{http://yozvox.web.fc2.com/}.
%&lt;ja&gt;ã“ã‚Œã‚‰ã®ãƒ•ã‚©ãƒ³ãƒˆã¯ \url{http://yozvox.web.fc2.com/} ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã§ãã‚‹ï¼Ž
\begin{center}\small
\begin{tabular}{llll}
\toprule
\bf family&amp;\bf series&amp;\bf default, \texttt{90jis}~option&amp;\bf \texttt{jis2004} option\\
\midrule
 &amp;medium&amp;Moga90Mincho&amp;MogaMincho\\
%&lt;en&gt;\smash{\raisebox{1.5ex}{\textit{mincho}}}%
%&lt;ja&gt;\smash{\raisebox{1.5ex}{\textgt{æ˜Žæœ}}}%
 &amp;bold&amp;Moga90Mincho Bold&amp;MogaMincho Bold\\
\midrule
 &amp;medium&amp;Moga90Gothic&amp;MogaGothic\\
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ã‚´ã‚·ãƒƒã‚¯}
 &amp;bold&amp;Moga90Gothic Bold&amp;MogaGothic Bold\\
 &amp;extra bold&amp;Moga90Gothic Bold&amp;MogaGothic Bold\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;Mobo90Gothic&amp;MoboGothic\\
\bottomrule
\end{tabular}
\end{center}
%&lt;en&gt;When \texttt{moga-mobo-ex} is specified, the font ``MogaEx90Mincho'' etc.\ are used.
%&lt;ja&gt;\texttt{moga-mobo-ex}ã‚ªãƒ—ã‚·ãƒ§ãƒ³æŒ‡å®šæ™‚ã«ã¯MogaEx90Minchoãªã©ã®ExãŒåå‰ã«ã¤ã„ãŸãƒ•ã‚©ãƒ³ãƒˆãŒä½¿ã‚ã‚Œã‚‹ï¼Ž

\item[ume]  Ume Mincho and Ume Gothic.
%&lt;en&gt;\par These fonts can be downloaded from\\\hfill \url{https://ja.osdn.net/projects/ume-font/wiki/FrontPage}.
%&lt;ja&gt;ã“ã‚Œã‚‰ã®ãƒ•ã‚©ãƒ³ãƒˆã¯ \url{https://ja.osdn.net/projects/ume-font/wiki/FrontPage} ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã§ãã‚‹ï¼Ž
\begin{center}\small
\begin{tabular}{lll}
\toprule
\bf family&amp;\bf series&amp;\bf default\\
\midrule
 &amp;medium&amp;Ume Mincho\\
%&lt;en&gt;\smash{\raisebox{1.5ex}{\textit{mincho}}}%
%&lt;ja&gt;\smash{\raisebox{1.5ex}{\textgt{æ˜Žæœ}}}%
 &amp;bold&amp;Ume Mincho\\
\midrule
 &amp;&amp;Ume Gothic*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}&amp;Ume Gothic O5\\
\cmidrule(l){2-3}
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ã‚´ã‚·ãƒƒã‚¯}
 &amp;bold&amp;Ume Gothic O5\\
 &amp;extra bold&amp;Ume Gothic O5\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;Ume Gothic O5\\
\bottomrule
\end{tabular}
\end{center}

%&lt;en&gt;\newpage
 \item[sourcehan]  Source Han Serif and Source Han Sans fonts (Language-specific OTF \textit{or} OTC)
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[sourcehan-jp]  Source Han Serif JP and Source Han Sans JP fonts (Region-specific Subset OTF)
\begin{center}\small
\def\AD#1#2{Source Han #1 #2&amp;Source Han #1 JP #2}%
\begin{tabular}{lllll}
\toprule
\bf family&amp;\bf series&amp;\texttt{sourcehan}&amp;\texttt{sourcehan-jp}\\
\midrule
 &amp;light&amp;\AD{Serif}{Light}\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{æ˜Žæœ}%
 &amp;medium&amp;\AD{Serif}{Regular}\\
 &amp;bold&amp;\AD{Serif}{Bold}\\
\midrule
 &amp;&amp;\AD{Sans}{Regular*}\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;\AD{Sans}{Medium}\\
\cmidrule(l){2-4}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ã‚´ã‚·ãƒƒã‚¯}}}%
 &amp;bold&amp;\AD{Sans}{Bold}\\
 &amp;extra bold&amp;\AD{Sans}{Heavy}\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;\AD{Sans}{Medium}\\
\bottomrule
\end{tabular}
\end{center}


 \item[noto-otc]  Noto Serif CJK and Noto Sans CJK fonts (OTC)
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[noto-otf\textrm{, }noto]  Noto Serif CJK and Noto Sans CJK fonts (Language-specific OTF)
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[noto-jp]  Noto Serif CJK and Noto Sans CJK fonts (Region-specific subset OTF)
\begin{center}\small
\def\AD#1#2{Noto #1 CJK #2&amp;Noto #1 CJK JP #2&amp;Noto #1 JP #2}%
\begin{tabular}{lllll}
\toprule
\bf family&amp;\bf series&amp;\texttt{noto-otc}&amp;\texttt{noto-otf}, \texttt{noto}&amp;\texttt{noto-jp}\\
\midrule
 &amp;light&amp;\AD{Serif}{Light}\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{æ˜Žæœ}%
 &amp;medium&amp;\AD{Serif}{Regular}\\
 &amp;bold&amp;\AD{Serif}{Bold}\\
\midrule
 &amp;&amp;\AD{Sans}{Regular*}\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;\AD{Sans}{Medium}\\
\cmidrule(l){2-5}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ã‚´ã‚·ãƒƒã‚¯}}}%
 &amp;bold&amp;\AD{Sans}{Bold}\\
 &amp;extra bold&amp;\AD{Sans}{Black}\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;\AD{Sans}{Medium}\\
\bottomrule
\end{tabular}
\end{center}

\item[haranoaji]  Harano Aji Fonts.
%&lt;en&gt;\par These fonts can be downloaded from\\\hfill \url{https://github.com/trueroad/HaranoAjiFonts}.
%&lt;ja&gt;ã“ã‚Œã‚‰ã®ãƒ•ã‚©ãƒ³ãƒˆã¯ \url{https://github.com/trueroad/HaranoAjiFonts} ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã§ãã‚‹ï¼Ž
%&lt;*en&gt;
There is not rounded gothic family in Harano Aji Fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
ã€ŒåŽŸãƒŽå‘³ä¸¸ã‚´ã‚·ãƒƒã‚¯ã€ã¯å­˜åœ¨ã—ãªã„ã®ã§ï¼Œä¾¿å®œçš„ã«åŽŸãƒŽå‘³è§’ã‚´ã‚·ãƒƒã‚¯Heavyã«ã‚ˆã£ã¦ä»£ç”¨ã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{center}\small
\begin{tabular}{lll}
\toprule
\bf family&amp;\bf series&amp;\texttt{haranoaji}\\
\midrule
 &amp;light&amp;HaranoAjiMincho-Light.otf\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{æ˜Žæœ}%
 &amp;medium&amp;HaranoAjiMincho-Regular.otf\\
 &amp;bold&amp;HaranoAjiMincho-Bold.otf\\
\midrule
 &amp;&amp;HaranoAjiGothic-Regular.otf*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;HaranoAjiGothic-Medium.otf\\
\cmidrule(l){2-3}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ã‚´ã‚·ãƒƒã‚¯}}}%
 &amp;bold&amp;HaranoAjiGothic-Bold.otf\\
 &amp;extra bold&amp;HaranoAjiGothic-Heavy.otf\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}
&amp;&amp;HaranoAjiGothic-Medium.otf\\
\bottomrule
\end{tabular}
\end{center}
\end{cslist}

%&lt;en&gt;\subsubsection{Presets which do not support multi weights}
%&lt;ja&gt;\subsubsection{å˜ã‚¦ã‚§ã‚¤ãƒˆç”¨ãƒ—ãƒªã‚»ãƒƒãƒˆä¸€è¦§}
\label{sssec:ltjpreset-single}

%&lt;*en&gt;
Next, we describe settings for using only single weight.
%&lt;/en&gt;
%&lt;*ja&gt;
æ¬¡ã«ï¼Œå˜ã‚¦ã‚§ã‚¤ãƒˆç”¨ã®è¨­å®šã‚’è¿°ã¹ã‚‹ï¼Žã“ã®4è¨­å®šã§ã¯
æ˜Žæœä½“å¤ªå­—ãƒ»ä¸¸ã‚´ã‚·ãƒƒã‚¯ä½“ã¯ã‚´ã‚·ãƒƒã‚¯ä½“ã¨åŒã˜ãƒ•ã‚©ãƒ³ãƒˆãŒç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
\par\nobreak\medskip
{\centering\small
\begin{tabular}{lllll}
\toprule
&amp;\tt noembed&amp;\tt ipa&amp;\tt ipaex&amp;\tt ms\\
\midrule
%&lt;*en&gt;
\it mincho&amp;Ryumin-Light (non-embedded)
&amp;IPA Mincho&amp;IPAex Mincho&amp;MS Mincho\\
\it gothic&amp;GothicBBB-Medium (non-embedded)
&amp;IPA Gothic&amp;IPAex Gothic&amp;MS Gothic\\
%&lt;/en&gt;
%&lt;*ja&gt;
\gtfamily æ˜Žæœ&amp;Ryumin-Lightï¼ˆéžåŸ‹è¾¼ï¼‰
&amp;IPAæ˜Žæœ&amp;IPAexæ˜Žæœ&amp;MSæ˜Žæœ\\
\gtfamily ã‚´ã‚·ãƒƒã‚¯&amp;GothicBBB-Mediumï¼ˆéžåŸ‹è¾¼ï¼‰
&amp;IPAã‚´ã‚·ãƒƒã‚¯&amp;IPAexã‚´ã‚·ãƒƒã‚¯&amp;MSã‚´ã‚·ãƒƒã‚¯\\
%&lt;/ja&gt;
\bottomrule
\end{tabular}\par\medskip}

%&lt;en&gt;\subsubsection{Presets which use HG fonts}
%&lt;ja&gt;\subsubsection{HGãƒ•ã‚©ãƒ³ãƒˆã‚’ä½¿ã†ãƒ—ãƒªã‚»ãƒƒãƒˆ}
\label{sssec:ltjpreset-hg}
%&lt;*en&gt;
We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights.
In the table below, starred fonts (e.g., IPA~Gothic*) are used
only if \texttt{jis2004} or \texttt{nodeluxe} option is spefified.
%&lt;/en&gt;
%&lt;*ja&gt;
ã™ãå‰ã«æ›¸ã„ãŸå˜ã‚¦ã‚§ã‚¤ãƒˆç”¨è¨­å®šã‚’ï¼ŒMicrosoft Officeç­‰ã«ä»˜å±žã™ã‚‹HGãƒ•ã‚©ãƒ³ãƒˆã‚’ä½¿ã£ã¦
å¤šã‚¦ã‚§ã‚¤ãƒˆåŒ–ã—ãŸè¨­å®šã‚‚ã‚ã‚‹ï¼Žä»¥ä¸‹ã®è¡¨ã§ã¯ï¼Œ*~ä»˜ãã®ãƒ•ã‚©ãƒ³ãƒˆï¼ˆä¾‹ï¼šIPAã‚´ã‚·ãƒƒã‚¯*ï¼‰ã¯
\texttt{jis2004}ã¨\texttt{nodeluxe}ã®ã„ãšã‚Œã‹ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ã¨ãã«ä½¿ã‚ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
\par\nobreak\medskip
{\centering\small
\begin{tabular}{lllll}
\toprule
\textbf{family}&amp;\textbf{series}&amp;\tt ipa-hg&amp;\tt ipaex-hg&amp;\tt ms-hg\\
\midrule
%&lt;*en&gt;
&amp;medium&amp;IPA Mincho&amp;IPAex Mincho&amp;MS Mincho\\
\smash{\raisebox{1.5ex}{\textit{mincho}}}%
&amp;bold&amp;HG Mincho E&amp;HG Mincho E&amp;HG Mincho E\\\midrule
&amp;&amp;IPA Gothic*&amp;IPAex Gothic*&amp;MS Gothic*\\
&amp;\smash{\raisebox{1.5ex}{medium}}%
&amp;HG Gothic M&amp;HG Gothic M&amp;HG Gothic M\\\cmidrule{2-5}
\textit{gothic}&amp;bold&amp;HG Gothic E&amp;HG Gothic E&amp;HG Gothic E\\\cmidrule{2-5}
&amp;extra bold&amp;HG Soei Kaku Gothic UB&amp;HG Soei Kaku Gothic UB&amp;HG Soei Kaku Gothic UB\\\midrule
\textit{rounded gothic}&amp;&amp;
HG MaruGothic M PRO&amp;HG MaruGothic M PRO&amp;HG MaruGothic M PRO\\
%&lt;/en&gt;
%&lt;*ja&gt;
&amp;medium&amp;IPAæ˜Žæœ&amp;IPAexæ˜Žæœ&amp;MSæ˜Žæœ\\
\smash{\raisebox{1.5ex}{\textgt{æ˜Žæœ}}}%
&amp;bold&amp;HGæ˜ŽæœE&amp;HGæ˜ŽæœE&amp;HGæ˜ŽæœE\\\midrule
&amp;&amp;IPAã‚´ã‚·ãƒƒã‚¯*&amp;IPAexã‚´ã‚·ãƒƒã‚¯*&amp;MSã‚´ã‚·ãƒƒã‚¯*\\
&amp;\smash{\raisebox{1.5ex}{medium}}%
&amp;HGã‚´ã‚·ãƒƒã‚¯M&amp;HGã‚´ã‚·ãƒƒã‚¯M&amp;HGã‚´ã‚·ãƒƒã‚¯M\\\cmidrule{2-5}
\textgt{ã‚´ã‚·ãƒƒã‚¯}&amp;bold&amp;HGã‚´ã‚·ãƒƒã‚¯E&amp;HGã‚´ã‚·ãƒƒã‚¯E&amp;HGã‚´ã‚·ãƒƒã‚¯E\\\cmidrule{2-5}
&amp;extra bold&amp;HGå‰µè‹±è§’ã‚´ã‚·ãƒƒã‚¯UB&amp;HGå‰µè‹±è§’ã‚´ã‚·ãƒƒã‚¯UB&amp;HGå‰µè‹±è§’ã‚´ã‚·ãƒƒã‚¯UB\\\midrule
\textgt{ä¸¸ã‚´ã‚·ãƒƒã‚¯}&amp;&amp;
HGä¸¸ã‚´ã‚·ãƒƒã‚¯M-PRO&amp;HGä¸¸ã‚´ã‚·ãƒƒã‚¯M-PRO&amp;HGä¸¸ã‚´ã‚·ãƒƒã‚¯M-PRO\\
%&lt;/ja&gt;
\bottomrule
\end{tabular}\par\medskip}

%&lt;*en&gt;
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.).
\item[\texttt{jis90}, \texttt{90jis}] by file name (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
\item[\texttt{jis2004}, \texttt{2004jis}] by file name (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
\end{description}
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠï¼ŒHGæ˜ŽæœEãƒ»HGã‚´ã‚·ãƒƒã‚¯Eãƒ»HGå‰µè‹±è§’ã‚´ã‚·ãƒƒã‚¯UBãƒ»HGä¸¸ã‚´ã‚·ãƒƒã‚¯ä½“PROã®4ã¤ã«ã¤ã„ã¦ã¯ï¼Œå†…éƒ¨ã§
\begin{description}
\item[æ¨™æº–] ãƒ•ã‚©ãƒ³ãƒˆåï¼ˆ\texttt{HGMinchoE} ãªã©ï¼‰
\item[\texttt{jis90}, \texttt{90jis}æŒ‡å®šæ™‚] ãƒ•ã‚¡ã‚¤ãƒ«å (%
\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf})
\item[\texttt{jis2004}, \texttt{2004jis}æŒ‡å®šæ™‚] ãƒ•ã‚¡ã‚¤ãƒ«å (%
\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf})
\end{description}
ã¨ã—ã¦æŒ‡å®šã‚’è¡Œã£ã¦ã„ã‚‹ã®ã§æ³¨æ„ã™ã‚‹ã“ã¨ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsubsection{Define/Use Custom Presets}
%&lt;ja&gt;\subsubsection{æ–°ãŸãªãƒ—ãƒªã‚»ãƒƒãƒˆã®å®šç¾©}

%&lt;*ja&gt;
ãƒãƒ¼ã‚¸ãƒ§ãƒ³20170904.0ä»¥é™ã§ã¯ï¼Œè‡ªåˆ†ã§æ–°ãŸãªãƒ—ãƒªã‚»ãƒƒãƒˆã‚’å®šç¾©ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã‚ˆã†ã«ãªã£ãŸï¼Ž
ä»¥ä¸‹ã«èª¬æ˜Žã™ã‚‹2å‘½ä»¤ã¯ãƒ—ãƒªã‚¢ãƒ³ãƒ–ãƒ«ã§ã—ã‹å®Ÿè¡Œã§ããªã„ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
From version~20170904.0, one can define new presets using \cs{ltjnewpreset},
and use them by \cs{ltjapplypreset}. These two commands can only be used in the preamble.
%&lt;/en&gt;
\begin{cslist}
 \item[\cs{ltjnewpreset}\{\meta{name}\}\{\meta{specification}\}]
%&lt;*ja&gt;
  æ–°ãŸã«\meta{name}ã¨ã„ã†åç§°ã®ãƒ—ãƒªã‚»ãƒƒãƒˆã‚’å®šç¾©ã™ã‚‹ï¼Žã“ã®åç§°ã¯ï¼Œ
  ã™ã§ã«å®šç¾©ã•ã‚Œã¦ã„ã‚‹ãƒ—ãƒªã‚»ãƒƒãƒˆåã‚„ï¼Œ
  \ref{sssec:ltjpreset-general}ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ã‚ªãƒ—ã‚·ãƒ§ãƒ³ï¼Œã•ã‚‰ã«
  æ¬¡ã®13å€‹ã¨é‡è¤‡ã—ã¦ã¯ãªã‚‰ãªã„ï¼Ž
  \begin{quote}
	\ttfamily
	mc mc-l mc-m mc-b mc-bx gt gt-u gt-d gt-m gt-b gt-bx gt-eb mg-m
  \end{quote}

  \meta{specification}ã¯ï¼Œãƒ—ãƒªã‚»ãƒƒãƒˆåã‚„ä»¥ä¸‹ã®ã‚­ãƒ¼é”ã®ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã‚’æŒ‡å®šã™ã‚‹ï¼š
  \begin{description}
   \item[\ttfamily mc-l=\meta{font}] æ˜Žæœä½“ç´°å­—(\cs{mcfamily}\cs{ltseries})
   \item[\ttfamily mc-m=\meta{font}] æ˜Žæœä½“ä¸­å­—(\cs{mcfamily}\cs{mdseries})
   \item[\ttfamily mc-b=\meta{font}] æ˜Žæœä½“å¤ªå­—(\cs{mcfamily}\cs{bfseries})
   \item[\ttfamily mc-bx=\meta{font}] \texttt{mc-b=\meta{font}}ã¨åŒç¾©ï¼Ž
   \item[\ttfamily gt-u=\meta{font}] \texttt{deluxe}ã‚ªãƒ—ã‚·ãƒ§ãƒ³æœªæŒ‡å®šæ™‚ã®ã‚´ã‚·ãƒƒã‚¯ä½“(\cs{gtfamily})ãƒ»æ˜Žæœä½“å¤ªå­—
   \item[\ttfamily gt-d=\meta{font}] \texttt{deluxe}ã‚ªãƒ—ã‚·ãƒ§ãƒ³æŒ‡å®šæ™‚ã®ã‚´ã‚·ãƒƒã‚¯ä½“ä¸­å­—(\cs{gtfamily}\cs{mdseries})
   \item[\ttfamily gt-m=\meta{font}] \texttt{deluxe}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æŒ‡å®šã®æœ‰ç„¡ã«é–¢ä¿‚ãªã
    ã‚´ã‚·ãƒƒã‚¯ä½“ä¸­å­—(\cs{gtfamily}\cs{mdseries})ã‚’æŒ‡å®šã™ã‚‹ï¼Žã€Œ\texttt{gt-u=\meta{font}, gt-d\meta{font}}ã€ã¨åŒç¾©ï¼Ž
   \item[\ttfamily gt-b=\meta{font}] ã‚´ã‚·ãƒƒã‚¯ä½“å¤ªå­—(\cs{gtfamily}\cs{bfseries})\\
    ãªãŠï¼Œãƒ‘ãƒƒã‚±ãƒ¼ã‚¸èª­ã¿è¾¼ã¿æ™‚ã«\texttt{bold}ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•ã‚ŒãŸå&nbsp;´åˆã¯ï¼Œ\texttt{mc-b=\meta{font}}ã‚’æŒ‡å®šã—ãŸã“ã¨ã«ã‚‚ãªã‚‹ï¼Ž
   \item[\ttfamily gt-bx=\meta{font}] \texttt{gt-b=\meta{font}}ã¨åŒç¾©ï¼Ž
   \item[\ttfamily gt-eb=\meta{font}] ã‚´ã‚·ãƒƒã‚¯ä½“å¤ªå­—(\cs{gtfamily}\cs{ebseries})
   \item[\ttfamily mg-m=\meta{font}] ä¸¸ã‚´ã‚·ãƒƒã‚¯ä½“(\cs{mgfamily})
   \item[\ttfamily mc=\meta{font}] æ˜Žæœä½“ã®ç´°å­—ãƒ»ä¸­å­—ãƒ»å¤ªå­—å…¨éƒ¨ã‚’è¨­å®šï¼Ž
	ä»¥ä¸‹ã‚’æŒ‡å®šã—ãŸã“ã¨ã¨åŒã˜ã§ã‚ã‚‹ï¼š
	\begin{quote}
	  \ttfamily mc-l=\meta{font}, mc-m=\meta{font}, mc-b=\meta{font}
	\end{quote}
   \item[\ttfamily gt=\meta{font}] ã‚´ã‚·ãƒƒã‚¯ä½“ã®ä¸­å­—ãƒ»å¤ªå­—ãƒ»æ¥µå¤ªå…¨éƒ¨ã‚’è¨­å®šï¼Ž
	ä»¥ä¸‹ã‚’æŒ‡å®šã—ãŸã“ã¨ã¨åŒã˜ã§ã‚ã‚‹ï¼š
	\begin{quote}
	  \ttfamily gt-u=\meta{font}, gt-d=\meta{font}, gt-b=\meta{font}, gt-eb=\meta{font}
	\end{quote}
  \end{description}
%&lt;/ja&gt;
%&lt;*en&gt;
  Define new preset~\meta{name}. This &lt;name&gt; cannot be same as other presets,
  options described in Subsubsection~\ref{sssec:ltjpreset-general}, nor
  following 13~strings:
  \begin{quote}
	\ttfamily
	mc mc-l mc-m mc-b mc-bx gt gt-u gt-d gt-m gt-b gt-bx gt-eb mg-m
  \end{quote}

  \meta{specification} is a comma-separated list which consists of
  other presets and/or the following keys:
  \begin{description}
   \item[\ttfamily mc-l=\meta{font}] mincho light
   \item[\ttfamily mc-m=\meta{font}] mincho medium
   \item[\ttfamily mc-b=\meta{font}] mincho bold
   \item[\ttfamily mc-bx=\meta{font}] synonym for \texttt{mc-b=\meta{font}}
   \item[\ttfamily gt-u=\meta{font}] gothic, when \texttt{deluxe}~option is not specified.
   \item[\ttfamily gt-d=\meta{font}] gothic medium, when \texttt{deluxe}~option is specified.
   \item[\ttfamily gt-m=\meta{font}] gothic medium. This key is equivalent to ``\texttt{gt-u=\meta{font}, gt-d\meta{font}}''.
   \item[\ttfamily gt-b=\meta{font}] gothic bold\\
    Note that this key also specifies mincho bold if \texttt{bold} option is specified.
   \item[\ttfamily gt-bx=\meta{font}] synonym for \texttt{gt-b=\meta{font}}
   \item[\ttfamily gt-eb=\meta{font}] gothic extra~bold
   \item[\ttfamily mg-m=\meta{font}] rounded gothic
   \item[\ttfamily mc=\meta{font}] Equivalent to
	\begin{quote}
	  \ttfamily mc-l=\meta{font}, mc-m=\meta{font}, mc-b=\meta{font}
	\end{quote}
   \item[\ttfamily gt=\meta{font}] Equivalent to
	\begin{quote}
	  \ttfamily gt-u=\meta{font}, gt-d=\meta{font}, gt-b=\meta{font}, gt-eb=\meta{font}
	\end{quote}
  \end{description}
%&lt;/en&gt;
 \item[\cs{ltjnewpreset}*\{\meta{name}\}\{\meta{specification}\}]
%&lt;*ja&gt;
  \cs{ltjnewpreset}ã¨ã»ã¼åŒã˜ã§ã‚ã‚‹ãŒï¼Œã“ã¡ã‚‰ã¯ã™ã§ã«å®šç¾©ã•ã‚Œã¦ã„ã‚‹ãƒ—ãƒªã‚»ãƒƒãƒˆå
  ã‚’\meta{name}ã«æŒ‡å®šã—ãŸå&nbsp;´åˆã«ã¯ã‚¨ãƒ©ãƒ¼ã‚’å‡ºã•ãšã«å®šç¾©ã‚’ç½®ãæ›ãˆã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
  Almost same as \cs{ltjnewpreset}. However, if \meta{name} matches a preset which already defined,
  this command simply overwrite it.
%&lt;/en&gt;
 \item[\cs{ltjapplypreset}\{\meta{name}\}]
%&lt;ja&gt; \meta{name}ã§æŒ‡å®šã•ã‚ŒãŸãƒ—ãƒªã‚»ãƒƒãƒˆã‚’ä½¿ã£ã¦å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’è¨­å®šã™ã‚‹ï¼Ž
%&lt;en&gt; Set Japanese font families using preset~\meta{name}.
\end{cslist}

%&lt;*ja&gt;
ãªãŠï¼Œ\cs{ltjnewpreset}ã®ç¬¬äºŒå¼•æ•°\meta{specification}ã«å«ã¾ã‚Œã‚‹
ãƒ—ãƒªã‚»ãƒƒãƒˆåã¯\cs{ltjnewpreset}ã®æ™‚ç‚¹ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹å¿…è¦ã¯ãªãï¼Œ
\cs{ltjapplypreset}ã§å®Ÿéš›ã«ä½¿ã†ã¨ãã«å®šç¾©ã•ã‚Œã¦ã„ã‚Œã°è‰¯ã„ï¼Ž
ãã®ãŸã‚ï¼Œæ¬¡ã®ã‚ˆã†ãªè¨˜è¿°ã‚‚å¯èƒ½ã§ã‚ã‚‹ï¼š
\begin{lstlisting}
  \ltjnewpreset{hoge}{piyo,mc-b=HiraMinProN-W6}
  \ltjnewpreset{piyo}{mg-m=HiraMaruProN-W4}
  \ltjapplypreset{hoge}
\end{lstlisting}

\paragraph{æ³¨æ„}
\cs{ltjnewpreset}ã§å®šç¾©ã—ãŸãƒ—ãƒªã‚»ãƒƒãƒˆã«ã¯ä»¥ä¸‹ã®åˆ¶é™ãŒã‚ã‚‹ï¼Ž
\begin{itemize}
  \item éžåŸ‹ã‚è¾¼ã¿ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’æŒ‡å®šã™ã‚‹ã“ã¨ã¯ã§ããªã„ï¼Ž
  \item \texttt{ipa-hg}ãªã©ã®ã„ãã¤ã‹ã®ãƒ—ãƒªã‚»ãƒƒãƒˆã§ã¯
  ã€Œ\texttt{90jis}, \texttt{jis2004}ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã‹å¦ã‹ã§ãƒ•ã‚©ãƒ³ãƒˆã®æŒ‡å®šã‚’å¤‰ãˆã‚‹ã€å‡¦ç†ãŒ
  è¡Œã‚ã‚Œã¦ã„ãŸãŒï¼Œ\cs{ltjnewpreset}ã§å®šç¾©ã—ãŸãƒ—ãƒªã‚»ãƒƒãƒˆã§ã¯ã“ã®å‡¦ç†ã¯åƒã‹ãªã„ï¼Ž
  HGãƒ•ã‚©ãƒ³ãƒˆã‚„ãƒ¢ã‚¬æ˜Žæœãªã©ã‚’ä½¿ã†ãƒ—ãƒªã‚»ãƒƒãƒˆã‚’å®šç¾©ã™ã‚‹å&nbsp;´åˆã«ã¯æ³¨æ„ã™ã‚‹ã“ã¨ï¼Ž
\end{itemize}
%&lt;/ja&gt;
%&lt;*en&gt;
Note that \cs{ltjnewpreset} does not ``expand'' the definition to define a preset.
This means that one can write as the following:
\begin{lstlisting}
  \ltjnewpreset{hoge}{piyo,mc-b=HiraMinProN-W6}
  \ltjnewpreset{piyo}{mg-m=HiraMaruProN-W4}
  \ltjapplypreset{hoge}
\end{lstlisting}

\paragraph{Restrictions}
Presets which are defined by \cs{ltjnewpreset} have following restrictions:
\begin{itemize}
  \item One cannot specify non-embedded fonts (such as Ryumin-Light).
  \item Some presets, such as \texttt{ipa-hg}, have a feature that
  fonts are changed according to whether \texttt{90jis}~or~\texttt{jis2004} is speified.
  This feature is not usable in presets which are defined by \cs{ltjnewpreset}.
\end{itemize}
%&lt;/en&gt;


\clearpage
%&lt;en&gt;\part{Implementations}
%&lt;ja&gt;\part{å®Ÿè£…}
\label{part-imp}
%&lt;en&gt;\section{Storing Parameters}
%&lt;ja&gt;\section{ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®ä¿æŒ}
\label{sec-para}
%&lt;en&gt;\subsection{Used dimensions, attributes and whatsit nodes}
%&lt;ja&gt;\subsection{\LuaTeX-jaã§ç”¨ã„ã‚‰ã‚Œã‚‹ãƒ¬ã‚¸ã‚¹ã‚¿ã¨whatsitãƒŽãƒ¼ãƒ‰}

%&lt;*en&gt;
Here the following is the list of dimensions and attributes which are used in \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»¥ä¸‹ã¯\LuaTeX-jaã§ç”¨ã„ã‚‰ã‚Œã‚‹å¯¸æ³•ãƒ¬ã‚¸ã‚¹ã‚¿(dimension)ï¼Œå±žæ€§ãƒ¬ã‚¸ã‚¹ã‚¿(attribute)ã®
ãƒªã‚¹ãƒˆã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{list}{}{%
\def\makelabel{\ttfamily}\advance\leftmargin1\zw
\def\dim#1{\item[\textbackslash #1\ \textrm{(dimension)}]}
\def\cnt#1{\item[\textbackslash #1\ \textrm{(counter)}]}
\def\attr#1{\item[\textbackslash #1\ \textrm{(attribute)}]}
}

\dim{jQ}
%&lt;*en&gt;
\cs{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.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{jQ} ã¯å†™æ¤ã§ç”¨ã„ã‚‰ã‚ŒãŸ$1\,\textrm{Q}=0.25\,\textrm{mm}$%
ï¼ˆã€Œç´šã€ã¨ã‚‚æ›¸ã‹ã‚Œã‚‹ï¼‰ã«ç­‰ã—ã„ï¼Žã—ãŸãŒã£ã¦ï¼Œ
ã“ã®å¯¸æ³•ãƒ¬ã‚¸ã‚¹ã‚¿ã®å€¤ã‚’å¤‰æ›´ã—ã¦ã¯ãªã‚‰ãªã„ï¼Ž
%&lt;/ja&gt;

\dim{jH}
%&lt;*en&gt;
There is also a unit called ``æ­¯'' which equals to $0.25\,\textrm{mm}$ and
                         used in Japanese phototypesetting.
This \cs{jH} is the same \cs{dimen} register as \cs{jQ}.
%&lt;/en&gt;
%&lt;*ja&gt;
åŒã˜ãå†™æ¤ã§ç”¨ã„ã‚‰ã‚Œã¦ã„ãŸå˜ä½ã¨ã—ã¦ã€Œæ­¯ã€ãŒã‚ã‚Šï¼Œã“ã‚Œã‚‚$0.25\,\textrm{mm}$ã¨
ç­‰ã—ã„ï¼Žã“ã® \cs{jH} ã¯ \cs{jQ} ã¨åŒã˜å¯¸æ³•ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’æŒ‡ã™ï¼Ž
%&lt;/ja&gt;

\dim{ltj@dimen@zw}
%&lt;*en&gt;
A temporal register for the ``full-width'' of current Japanese font.
The command \cs{zw} sets this register to the correct value, and
``return'' this register itself.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã€Œå…¨è§’å¹…ã€ã‚’ä¿æŒã™ã‚‹ä¸€æ™‚ãƒ¬ã‚¸ã‚¹ã‚¿ï¼Ž
\cs{zw} å‘½ä»¤ã¯ï¼Œã“ã®ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’é©åˆ‡ãªå€¤ã«è¨­å®šã—ãŸå¾Œï¼Œ
ã€Œã“ã®ãƒ¬ã‚¸ã‚¹ã‚¿è‡ªä½“ã‚’è¿”ã™ã€ï¼Ž
%&lt;/ja&gt;

\dim{ltj@dimen@zh}
%&lt;*en&gt;
A temporal register for the ``full-height'' (usually the sum of height of imaginary body and its depth) of current Japanese font.
The command \cs{zh} sets this register to the correct value, and
``return'' this register itself.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã€Œå…¨è§’é«˜ã•ã€ï¼ˆé€šå¸¸ï¼Œé«˜ã•ã¨æ·±ã•ã®å’Œï¼‰ã‚’ä¿æŒã™ã‚‹ä¸€æ™‚ãƒ¬ã‚¸ã‚¹ã‚¿ï¼Ž
\cs{zh} å‘½ä»¤ã¯ï¼Œã“ã®ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’é©åˆ‡ãªå€¤ã«è¨­å®šã—ãŸå¾Œï¼Œ
ã€Œã“ã®ãƒ¬ã‚¸ã‚¹ã‚¿è‡ªä½“ã‚’è¿”ã™ã€ï¼Ž
%&lt;/ja&gt;

\attr{jfam}
%&lt;*en&gt;
Current number of Japanese font family for math formulas.
%&lt;/en&gt;
%&lt;*ja&gt;
æ•°å¼ç”¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã®ç¾åœ¨ã®ç•ªå·ï¼Ž
%&lt;/ja&gt;

\attr{ltj@curjfnt}
%&lt;*en&gt;
If this attribute is a positive number, it stores the font number of current Japanese font for horizontal direction.
If this attribute is negative, it means that the Japanese font for horizontal direction is
not loaded---\LuaTeX-ja only knows its size and JFM.
%&lt;/en&gt;
%&lt;*ja&gt;
åŸºæœ¬çš„ã«ã¯ç¾åœ¨ã®æ¨ªçµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ•ã‚©ãƒ³ãƒˆç•ªå·ã‚’æ&nbsp;¼ç´ã—ã¦ã„ã‚‹ãŒï¼Œ
\LaTeX ä¸‹ã§ä½¿ç”¨ã™ã‚‹å&nbsp;´åˆã¯ï¼ˆ$-2$ä»¥ä¸‹ã®ï¼‰è²&nbsp;æ•°ã¨ãªã‚‹ã“ã¨ãŒã‚ã‚‹ï¼Ž
  è²&nbsp;æ•°ã®å&nbsp;´åˆã¯ã€Œæ¨ªçµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯å®Ÿéš›ã«ã¯èª­ã¿è¾¼ã¾ã‚Œã¦ãŠã‚‰ãšï¼Œãã®ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã¨JFMã&nbsp;ã‘ãŒ
  \LuaTeX-jaãŒæŠŠæ¡ã—ã¦ã„ã‚‹ã€çŠ¶æ…‹ã‚’è¡¨ã™ï¼Ž
%&lt;/ja&gt;

\attr{ltj@curtfnt}
%&lt;*en&gt;
Similar to \cs{ltj@curjfnt}, but with current Japanese font for vertical direction.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«é–¢ã™ã‚‹\cs{ltj@curjfnt}ã¨åŒæ§˜ã®å€¤ï¼Ž
%&lt;/ja&gt;

\attr{ltj@charclass}
%&lt;*en&gt;
The character class of a \textbf{JAchar}. This attribute is only set on a
			 \textit{glyph\_node} which contains a \textbf{JAchar}.
%&lt;/en&gt;
%&lt;*ja&gt;
\textbf{JAchar}ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ï¼Ž\textbf{JAchar}ãŒæ&nbsp;¼ç´ã•ã‚ŒãŸ\textit{glyph\_node}ã§ã®ã¿ä½¿ã‚ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

\attr{ltj@yablshift}
%&lt;*en&gt;
The amount of shifting the baseline of alphabetic fonts in scaled point ($2^{-16}\,\textrm{pt}$).
``unset'' means zero.
%&lt;/en&gt;
%&lt;*ja&gt;
ã‚¹ã‚±ãƒ¼ãƒ«ãƒ‰ãƒ»ãƒã‚¤ãƒ³ãƒˆ($2^{-16}\,\textrm{pt}$)ã‚’å˜ä½ã¨ã—ãŸæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ç§»å‹•é‡ï¼Ž
ã“ã®å±žæ€§ãŒã€Œæœªè¨­å®šã€(\texttt{-"7FFFFFFF})ã®ã¨ãã¯0ã§ã‚ã‚‹ã¨ã¿ãªã•ã‚Œã‚‹ï¼Ž\cs{ltj@ykblshift}ä»–ã‚‚åŒæ§˜ï¼Ž
%&lt;/ja&gt;

\attr{ltj@ykblshift}
%&lt;*en&gt;
The amount of shifting the baseline of Japanese fonts in scaled point ($2^{-16}\,\textrm{pt}$).
%&lt;/en&gt;
%&lt;*ja&gt;
ã‚¹ã‚±ãƒ¼ãƒ«ãƒ‰ãƒ»ãƒã‚¤ãƒ³ãƒˆ($2^{-16}\,\textrm{pt}$)ã‚’å˜ä½ã¨ã—ãŸå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ç§»å‹•é‡ï¼Ž
%&lt;/ja&gt;

\attr{ltj@tablshift}
\attr{ltj@tkblshift}

\attr{ltj@autospc}
%&lt;*en&gt;
Whether the auto insertion of \Param{kanjiskip} is allowed at the node.
0 means ``not allowed'', and the other value (including ``unset'') means ``allowed''.
%&lt;/en&gt;
%&lt;*ja&gt;
ãã®ãƒŽãƒ¼ãƒ‰ã§\Param{kanjiskip}ã®è‡ªå‹•æŒ¿å…¥ãŒè¨±ã•ã‚Œã‚‹ã‹ã©ã†ã‹ï¼Ž
0ã¯ã€Œè¨±å¯ã—ãªã„ã€ï¼Œ0ä»¥å¤–ã®å€¤ï¼ˆã€Œæœªè¨­å®šã€ã‚‚å«ã‚€ï¼‰ã¯ã€Œè¨±å¯ã™ã‚‹ã€ï¼Ž
%&lt;/ja&gt;

\attr{ltj@autoxspc}
%&lt;*en&gt;
Whether the auto insertion of \Param{xkanjiskip} is allowed at the node.
0 means ``not allowed'', and the other value (including ``unset'') means ``allowed''.
%&lt;/en&gt;
%&lt;*ja&gt;
ãã®ãƒŽãƒ¼ãƒ‰ã§\Param{xkanjiskip}ã®è‡ªå‹•æŒ¿å…¥ãŒè¨±ã•ã‚Œã‚‹ã‹ã©ã†ã‹ï¼Ž
0ã¯ã€Œè¨±å¯ã—ãªã„ã€ï¼Œ0ä»¥å¤–ã®å€¤ï¼ˆã€Œæœªè¨­å®šã€ã‚‚å«ã‚€ï¼‰ã¯ã€Œè¨±å¯ã™ã‚‹ã€ï¼Ž
%&lt;/ja&gt;

\attr{ltj@icflag}
%&lt;*en&gt;
An attribute for distinguishing ``kinds'' of a node. One of the following value is
assigned to this attribute:
%&lt;/en&gt;
%&lt;*ja&gt;
ãƒŽãƒ¼ãƒ‰ã®ã€Œç¨®é¡žã€ã‚’åŒºåˆ¥ã™ã‚‹ãŸã‚ã®å±žæ€§ï¼Žä»¥ä¸‹ã®ã†ã¡ã®ã²ã¨ã¤ãŒå€¤ã¨ã—ã¦å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã‚‹ï¼š
%&lt;/ja&gt;
\begin{description}
\item[\textit{italic} (1)]
%&lt;*en&gt;
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 \cs{kern}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£(\verb+\/+)ã«ã‚ˆã‚‹ã‚«ãƒ¼ãƒ³ï¼Œ
ã¾ãŸã¯ \Pkg{luaotfload} ã«ã‚ˆã£ã¦æŒ¿å…¥ã•ã‚ŒãŸãƒ•ã‚©ãƒ³ãƒˆã®ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°æƒ…å&nbsp;±ç”±æ¥ã®ã‚«ãƒ¼ãƒ³ï¼Ž
ã“ã‚Œã‚‰ã®ã‚«ãƒ¼ãƒ³ã¯é€šå¸¸ã® \cs{kern} ã¨ã¯ç•°ãªã‚Šï¼Œ
\textbf{JAglue}ã®æŒ¿å…¥å‡¦ç†ã«ãŠã„ã¦ã¯é€éŽã™ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\textit{packed} (2)]

\item[\textit{kinsoku} (3)]
%&lt;*en&gt;
Penalties inserted for the word-wrapping process (\emph{kinsoku shori}) of Japanese characters.
%&lt;/en&gt;
%&lt;ja&gt;ç¦å‰‡å‡¦ç†ã®ãŸã‚ã«æŒ¿å…¥ã•ã‚ŒãŸãƒšãƒŠãƒ«ãƒ†ã‚£ï¼Ž
\item[\mathversion{bold}$\textit{from\_jfm}$--$(\textit{from\_jfm}+63)$~(4--67)]
%&lt;en&gt;Glues/kerns from JFM.
%&lt;ja&gt;JFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ï¼Ž
\item[\textit{kanji\_skip}~(68), \textit{kanji\_skip\_jfm}~(69)]
%&lt;en&gt;Glues from \Param{kanjiskip}.
%&lt;ja&gt;å’Œæ–‡é–“ç©ºç™½\Param{kanjiskip}ã‚’è¡¨ã™ã‚°ãƒ«ãƒ¼ï¼Ž
\item[\textit{xkanji\_skip}~(70), \textit{xkanji\_skip\_jfm}~(71)]
%&lt;en&gt;Glues from \Param{xkanjiskip}.
%&lt;ja&gt;å’Œæ¬§æ–‡é–“ç©ºç™½\Param{xkanjiskip}ã‚’è¡¨ã™ã‚°ãƒ«ãƒ¼ï¼Ž
\item[\textit{processed} (73)]
%&lt;en&gt;Nodes which is already processed by \ldots.
%&lt;ja&gt;\LuaTeX-ja ã®å†…éƒ¨å‡¦ç†ã«ã‚ˆã£ã¦æ—¢ã«å‡¦ç†ã•ã‚ŒãŸãƒŽãƒ¼ãƒ‰ï¼Ž
\item[\textit{ic\_processed} (74)]
%&lt;*en&gt;
Glues from an italic correction, but already processed in the insertion process of \textbf{JAglue}s.
%&lt;/en&gt;
%&lt;ja&gt;ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ã«ç”±æ¥ã™ã‚‹ã‚°ãƒ«ãƒ¼ã§ã‚ã£ã¦ï¼Œæ—¢ã« \textbf{JAglue} æŒ¿å…¥å‡¦ç†ã«ã‹ã‹ã£ãŸã‚‚ã®ï¼Ž
\item[\textit{boxbdd} (75)]
%&lt;en&gt;Glues/kerns that inserted just the beginning or the ending of an hbox or a paragraph.
%&lt;ja&gt;hboxã‹æ®µè½ã®æœ€åˆã‹æœ€å¾Œã«æŒ¿å…¥ã•ã‚ŒãŸã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ï¼Ž
\item[\textit{special\_jaglue} (76)]
%&lt;en&gt;Glues from \cs{insert}[\texttt{x}]\texttt{kanjiskip}.
%&lt;ja&gt;\cs{insert}[\texttt{x}]\texttt{kanjiskip}ç”±æ¥ã®ã‚°ãƒ«ãƒ¼ï¼Ž
\end{description}

%&lt;*ja&gt;
ã¾ãŸï¼ŒæŒ¿å…¥å‡¦ç†ã®çµæžœã§ã‚ã‚‹ãƒªã‚¹ãƒˆã®æœ€åˆã®ãƒŽãƒ¼ãƒ‰ã§ã¯ï¼Œ\verb+\ltj@icflag+ ã®å€¤ã«
\textit{processed\_begin\_flag}~(4096)ãŒè¿½åŠ&nbsp;ã•ã‚Œã‚‹ï¼Žã“ã‚Œã«ã‚ˆã£ã¦ï¼Œ\cs{unhbox} ãŒ
é€£ç¶šã—ãŸå&nbsp;´åˆã§ã‚‚ã€Œãƒœãƒƒã‚¯ã‚¹ã®å¢ƒç•Œã€ãŒè­˜åˆ¥ã§ãã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

\attr{ltj@kcat\,$i$}
%&lt;*en&gt;
Where $i$~is a natural number which is less than~7.
These 7~attributes store bit~vectors indicating which character block is regarded as a block of \textbf{JAchar}s.
%&lt;/en&gt;
%&lt;*ja&gt;
$i$ã¯7ã‚ˆã‚Šå°ã•ã„è‡ªç„¶æ•°ï¼Ž
ã“ã‚Œã‚‰7ã¤ã®å±žæ€§ãƒ¬ã‚¸ã‚¹ã‚¿ã¯ï¼Œã©ã®æ–‡å­—ãƒ–ãƒ­ãƒƒã‚¯ãŒ\textbf{JAchar}ã®ãƒ–ãƒ­ãƒƒã‚¯ã¨ã—ã¦
æ‰±ã‚ã‚Œã‚‹ã‹ã‚’ç¤ºã™ãƒ“ãƒƒãƒˆãƒ™ã‚¯ãƒˆãƒ«ã‚’æ&nbsp;¼ç´ã™ã‚‹ï¼Ž
%&lt;/ja&gt;

\attr{ltj@dir}
%&lt;*ja&gt;
\textit{direction}~whatsitï¼ˆå¾Œè¿°ï¼‰ã«ãŠã„ã¦çµ„æ–¹å‘ã‚’ç¤ºã™ãŸã‚ã«ï¼Œã‚ã‚‹ã„ã¯\textit{dir\_box}ã®
			 çµ„æ–¹å‘ã‚’ç”¨ã„ã‚‹ï¼Ž\textit{direction}~whatsitã«ãŠã„ã¦ã¯å€¤ã¯
\begin{quote}
 \textit{dir\_dtou} (1), \textit{dir\_tate} (3),
 \textit{dir\_yoko} (4), \textit{dir\_utod} (11)
\end{quote}
ã®ã„ãšã‚Œã‹ã§ã‚ã‚Šï¼Œ\textit{dir\_box}ã§ã¯ã“ã‚Œã‚‰ã«æ¬¡ã‚’åŠ&nbsp;ãˆãŸå€¤ã‚’ã¨ã‚‹ï¼ˆ\ref{sec-dir-imp}ç«&nbsp;å‚ç…§ï¼‰ï¼Ž
%&lt;/ja&gt;
\begin{description}
\item[\textit{dir\_node\_auto} (128)]
%&lt;ja&gt; ç•°ãªã‚‹çµ„æ–¹å‘ã«é…ç½®ã™ã‚‹ãŸã‚ã«è‡ªå‹•çš„ã«ä½œã‚‰ã‚ŒãŸãƒœãƒƒã‚¯ã‚¹ï¼Ž
\item[\textit{dir\_node\_manual} (256)]
%&lt;ja&gt; \cs{ltjsetwd} ã«ã‚ˆã£ã¦ã€Œãƒœãƒƒã‚¯ã‚¹ã®æœ¬æ¥ã®çµ„æ–¹å‘ã¨ã¯ç•°ãªã‚‹çµ„æ–¹å‘ã§ã®å¯¸æ³•ã€ã‚’
%&lt;ja&gt; è¨­å®šã—ãŸã¨ãã«ï¼Œãã‚Œã‚’è¨˜éŒ²ã™ã‚‹ãŸã‚ã®ãƒœãƒƒã‚¯ã‚¹ï¼Ž
\end{description}
%&lt;ja&gt; \TeX å´ã‹ã‚‰è¦‹ãˆã‚‹å€¤ï¼Œã¤ã¾ã‚Š \verb+\the\ltj@dir+ ã®å€¤ã¯å¸¸ã«0ã§ã‚ã‚‹ï¼Ž

\cnt{ltjlineendcomment}
%&lt;*ja&gt;
  \LuaTeX-jaã¯\textbf{JAchar}ã§å…¥åŠ›è¡ŒãŒçµ‚äº†ã—ãŸå&nbsp;´åˆï¼Œãã®ç›´å¾Œã«ã‚³ãƒ¡ãƒ³ãƒˆæ–‡å­—ã‚’
  ãŠãã“ã¨ã§ä½™è¨ˆãªç©ºç™½ãŒæŒ¿å…¥ã•ã‚Œã‚‹ã“ã¨ã‚’é˜²ã„ã§ã„ã‚‹ï¼Ž
  \cs{ltjlineendcomment}ã¯ãã®éš›ã®ã‚³ãƒ¡ãƒ³ãƒˆæ–‡å­—ã®Unicodeã«ãŠã‘ã‚‹ç¬¦å·ä½ç½®ã‚’æŒ‡å®šã™ã‚‹
  ï¼ˆè©³ç´°ã¯\ref{ssec:lineend}ç¯€ã‚’å‚ç…§ï¼‰ï¼Ž

  \LuaTeX-jaã«ãŠã‘ã‚‹æ—¢å®šå€¤ã¯$\texttt{"FFFFF}=1048575$ã§ã‚ã‚Šï¼Œ
  ãƒ¦ãƒ¼ã‚¶ã¯å†…éƒ¨å‹•ä½œã‚’ç†ŸçŸ¥ã—ã¦ã„ãªã„é™ã‚Šã“ã®ã‚«ã‚¦ãƒ³ã‚¿ã®å€¤ã‚’å¤‰æ›´ã—ã¦ã¯ãªã‚‰ãªã„ï¼Ž
  \cs{ltjlineendcomment}ã®å€¤ãŒUnicodeã®ç¯„å›²å¤–ï¼ˆè²&nbsp;ã‚„ï¼Œ$\texttt{"10FFFF}=1114111$ã‚’è¶…ãˆãŸå&nbsp;´åˆï¼‰
  ã«ãã‚‹ã“ã¨ã¯æƒ³å®šã•ã‚Œã¦ã„ãªã„ï¼Ž
%&lt;/ja&gt;
\end{list}

%&lt;*en&gt;
Furthermore, \LuaTeX-ja uses several user-defined whatsit nodes for
internal processing. All those nodes except \emph{direction} whatsits
store a natural number (hence its \texttt{type} is 100).
\emph{direction} whatsits store a node list, hence its \texttt{type} is 110.
Their \texttt{user\_id} (used for distinguish user-defined whatsits)
are allocated by \texttt{luatexbase.newuserwhatsitid}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã•ã‚‰ã«ï¼Œ\LuaTeX-jaã¯ã„ãã¤ã‹ã®user-defined whatsit nodeã‚’å†…éƒ¨å‡¦ç†ã«ç”¨ã„ã‚‹ï¼Ž
\textit{direction} whatsitã¯ãƒŽãƒ¼ãƒ‰ãƒªã‚¹ãƒˆã‚’æ&nbsp;¼ç´ã™ã‚‹ãŒï¼Œ
ãã‚Œä»¥å¤–ã®whatsitãƒŽãƒ¼ãƒ‰ã® \texttt{type} ã¯100ã§ã‚ã‚Šï¼ŒãƒŽãƒ¼ãƒ‰ã¯è‡ªç„¶æ•°ã‚’æ&nbsp;¼ç´ã—ã¦ã„ã‚‹ï¼Ž
user-defined whatsitã‚’è­˜åˆ¥ã™ã‚‹ãŸã‚ã® \texttt{user\_id} ã¯\
\texttt{luatexbase.newuserwhatsitid} ã«ã‚ˆã‚Šç¢ºä¿ã•ã‚Œã¦ãŠã‚Šï¼Œ
ä¸‹ã®è¦‹å‡ºã—ã¯å˜ãªã‚‹è­˜åˆ¥ç”¨ã§ã—ã‹ãªã„ï¼Ž
%&lt;/ja&gt;
\begin{description}
\item[\textit{inhibitglue}]
%&lt;*en&gt;
Nodes for indicating that \cs{inhibitglue} is
	   specified. The \texttt{value} field of these nodes doesn't matter.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{inhibitglue} ãŒæŒ‡å®šã•ã‚ŒãŸã“ã¨ã‚’ç¤ºã™ãƒŽãƒ¼ãƒ‰ï¼Žã“ã‚Œã‚‰ã®ãƒŽãƒ¼ãƒ‰ã®\
\texttt{value} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯æ„å‘³ã‚’æŒãŸãªã„ï¼Ž
%&lt;/ja&gt;

\item[\textit{stack\_marker}]
%&lt;*en&gt;
Nodes for \LuaTeX-ja's stack system (see the next
	   subsection). The \texttt{value} field of these nodes is
	   current group level.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã®ã‚¹ã‚¿ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ&nbsp;ï¼ˆæ¬¡ã®ç¯€ã‚’å‚ç…§ï¼‰ã®ãŸã‚ã®ãƒŽãƒ¼ãƒ‰ï¼Ž
ã“ã‚Œã‚‰ã®ãƒŽãƒ¼ãƒ‰ã® \texttt{value} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯ç¾åœ¨ã®ã‚°ãƒ«ãƒ¼ãƒ—ãƒã‚¹ãƒˆãƒ¬ãƒ™ãƒ«ã‚’è¡¨ã™ï¼Ž
%&lt;/ja&gt;

\item[\textit{char\_by\_cid}]
%&lt;*en&gt;
Nodes for \textbf{JAchar} which processes by \Pkg{luaotfload} won't be applied,
       and the character code is
	   stored in the \texttt{value} field. Each node of this type are
           converted to a \textit{glyph\_node} \emph{after}
	   processes by luaotfload.
Nodes of this type is used in \cs{CID}~and~\cs{UTF}.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luaotfload}ã«ã‚ˆã‚‹å‡¦ç†ãŒé©ç”¨ã•ã‚Œãªã„\textbf{JAchar}ã®ãŸã‚ã®ãƒŽãƒ¼ãƒ‰ã§ï¼Œ
\texttt{value} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«æ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒæ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹ï¼Ž
ã“ã®ç¨®é¡žã®ãƒŽãƒ¼ãƒ‰ã¯ãã‚Œãžã‚ŒãŒ\Pkg{luaotfload}ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã®å‡¦ç†ã®
\emph{å¾Œã§}\textit{glyph\_node}ã«å¤‰æ›ã•ã‚Œã‚‹ï¼Ž
\cs{CID}, \cs{UTF}ã§ã“ã®ç¨®é¡žã®ãƒŽãƒ¼ãƒ‰ãŒåˆ©ç”¨ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\textit{replace\_vs}]
%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šã®\textit{char\_by\_cid}ã¨åŒæ§˜ã«ï¼Œ
ã“ã‚Œã‚‰ã®ãƒŽãƒ¼ãƒ‰ã¯\Pkg{luaotfload}ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã«ã‚ˆã‚‹å‡¦ç†ãŒé©ç”¨ã•ã‚Œãªã„\textbf{ALchar}ã®ãŸ
	   ã‚ã‚‚ã®ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\item[\textit{begin\_par}]
%&lt;*en&gt;
Nodes for indicating beginning of a paragraph.
A paragraph which is started by \cs{item} in list-like environments has a horizontal box
for its label before the actual contents. So \dots
%&lt;/en&gt;
%&lt;*ja&gt;
ã€Œæ®µè½ã®é–‹å§‹ã€ã‚’æ„å‘³ã™ã‚‹ãƒŽãƒ¼ãƒ‰ï¼Ž
\texttt{list}ç’°å¢ƒï¼Œ\texttt{itemize}ç’°å¢ƒãªã©ã«ãŠã„ã¦ï¼Œ\cs{item} ã§å§‹ã¾ã‚‹å„é&nbsp;…ç›®ã¯â€¦â€¦
%&lt;/ja&gt;

\item[\textit{direction}]

\end{description}

%&lt;*en&gt;
These whatsits will be removed during the process of inserting \textbf{JAglue}s.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã‚‰ã®whatsitãƒŽãƒ¼ãƒ‰ã¯\textbf{JAglue}ã®æŒ¿å…¥å‡¦ç†ã®é–“ã«å–ã‚Šé™¤ã‹ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Stack system of \LuaTeX-ja}
%&lt;ja&gt;\subsection{\LuaTeX-jaã®ã‚¹ã‚¿ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ&nbsp;}
\label{ssec:stack}

%&lt;en&gt;\paragraph{Background}
%&lt;ja&gt;\paragraph{èƒŒæ™¯}
%&lt;*en&gt;
\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
source:
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã¯ç‹¬è‡ªã®ã‚¹ã‚¿ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ&nbsp;ã‚’æŒã¡ï¼Œ\LuaTeX-jaã®ã»ã¨ã‚“ã©ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã¯
ã“ã‚Œã‚’ç”¨ã„ã¦ä¿æŒã•ã‚Œã¦ã„ã‚‹ï¼Žãã®ç†ç”±ã‚’æ˜Žã‚‰ã‹ã«ã™ã‚‹ãŸã‚ã«ï¼Œ
\Param{kanjiskip}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒã‚¹ã‚­ãƒƒãƒ—ãƒ¬ã‚¸ã‚¹ã‚¿ã§ä¿æŒã•ã‚Œã¦ã„ã‚‹ã¨ã—ï¼Œ
ä»¥ä¸‹ã®ã‚³ãƒ¼ãƒ‰ã‚’è€ƒãˆã¦ã¿ã‚ˆã†ï¼š
%&lt;/ja&gt;
\begin{LTXexample}
\ltjsetparameter{kanjiskip=0pt}ãµãŒãµãŒ.%
\setbox0=\hbox{%
  \ltjsetparameter{kanjiskip=5pt}ã»ã’ã»ã’}
\box0.ã´ã‚ˆã´ã‚ˆ\par
\end{LTXexample}

%&lt;*en&gt;
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:
%&lt;/en&gt;
%&lt;*ja&gt;
\ref{ssec:param}ç¯€ã§è¿°ã¹ãŸã‚ˆã†ã«ï¼Œã‚ã‚‹hboxã®ä¸­ã§åŠ¹åŠ›ã‚’æŒã¤
\Param{kanjiskip}ã®å€¤ã¯æœ€å¾Œã«ç¾ã‚ŒãŸå€¤ã®ã¿ã§ã‚ã‚Šï¼Œã—ãŸãŒã£ã¦ãƒœãƒƒã‚¯ã‚¹å…¨ä½“ã«é©ç”¨ã•ã‚Œã‚‹
\Param{kanjiskip}ã¯5\,ptã§ã‚ã‚‹ã¹ãã§ã‚ã‚‹ï¼Žã—ã‹ã—ï¼Œ\LuaTeX ã®å®Ÿ
è£…ã‚’è¦³å¯Ÿã™ã‚‹ã¨ï¼Œã“ã®5\,ptã¨ã„ã†é•·ã•ã¯ã©ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‹ã‚‰ã‚‚çŸ¥ã‚‹ã“ã¨ã¯ã§ããªã„ã“ã¨ãŒã‚ã‹ã‚‹ï¼Ž
\LuaTeX ã®ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®1ã¤ \texttt{tex/packaging.w} ã®ä¸­ã«ï¼Œ
ä»¥ä¸‹ã®ã‚³ãƒ¼ãƒ‰ãŒã‚ã‚‹ï¼š
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left,firstnumber=1226]
void package(int c)
{
    scaled h;                   /* height of box */
    halfword p;                 /* first node in a box */
    scaled d;                   /* max depth */
    int grp;
    grp = cur_group;
    d = box_max_depth;
    unsave();
    save_ptr -= 4;
    if (cur_list.mode_field == -hmode) {
        cur_box = filtered_hpack(cur_list.head_field,
                                 cur_list.tail_field, saved_value(1),
                                 saved_level(1), grp, saved_level(2));
        subtype(cur_box) = HLIST_SUBTYPE_HBOX;
\end{lstlisting}
%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{unsave()} ãŒ \texttt{filtered\_hpack()}ï¼ˆã“ã‚Œã¯ \texttt{hpack\_filter} ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ãŒ
å®Ÿè¡Œã•ã‚Œã‚‹ã¨ã“ã‚ã§ã‚ã‚‹ï¼‰ã®\emph{å‰ã«}å®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã™ã‚‹ï¼Ž
ã—ãŸãŒã£ã¦ï¼Œä¸Šè¨˜ã‚½ãƒ¼ã‚¹ä¸­ã§5\,ptã¯ \texttt{unsave()} ã®ã¨ã“ã‚ã§æ¨ã¦ã‚‰ã‚Œï¼Œ
\texttt{hpack\_filter} ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‹ã‚‰ã¯ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ããªã„ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{Implementation}
%&lt;ja&gt;\paragraph{è§£æ±ºæ³•}

%&lt;*en&gt;
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.}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã‚¹ã‚¿ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ&nbsp;ã®ã‚³ãƒ¼ãƒ‰ã¯Dev-luatexãƒ¡ãƒ¼ãƒªãƒ³ã‚°ãƒªã‚¹ãƒˆã®ã‚ã‚‹æŠ•ç¨¿\footnote{%
\texttt{[Dev-luatex] tex.currentgrouplevel}: Jonathan Sauerã«ã‚ˆã‚‹2008/8/19ã®æŠ•ç¨¿ï¼Ž}ã‚’
ãƒ™ãƒ¼ã‚¹ã«ã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
These are two \TeX\ count registers for maintaining information:
\verb+\ltj@@stack+ for the stack level, and \verb+\ltj@@group@level+ for
the \TeX's group level when the last assignment was done.  Parameters
are stored in one big table named \texttt{charprop\_stack\_table}, where
\texttt{charprop\_stack\_table[$i$]} stores data of stack level~$i$. If
a new stack level is created by \cs{ltjsetparameter}, all data of the
previous level is copied.
%&lt;/en&gt;
%&lt;*ja&gt;
æƒ…å&nbsp;±ã‚’ä¿æŒã™ã‚‹ãŸã‚ã«ï¼Œ2ã¤ã®\TeX ã®æ•´æ•°ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’ç”¨ã„ã¦ã„ã‚‹ï¼š
\verb+\ltj@@stack+ ã«ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ï¼Œ\verb+\ltj@@group@level+ ã«æœ€å¾Œã®ä»£å…¥ãŒ
ãªã•ã‚ŒãŸæ™‚ç‚¹ã§ã®\TeX ã®ã‚°ãƒ«ãƒ¼ãƒ—ãƒ¬ãƒ™ãƒ«ã‚’ä¿æŒã—ã¦ã„ã‚‹ï¼Ž
ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã¯\texttt{charprop\_stack\_table}ã¨ã„ã†åå‰ã®ã²ã¨ã¤ã®å¤§ããªãƒ†ãƒ¼ãƒ–ãƒ«ã«
æ&nbsp;¼ç´ã•ã‚Œã‚‹ï¼Žã“ã“ã§ï¼Œ\texttt{charprop\_stack\_table[$i$]}ã¯ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«$i$ã®
ãƒ‡ãƒ¼ã‚¿ã‚’æ&nbsp;¼ç´ã—ã¦ã„ã‚‹ï¼Žã‚‚ã—æ–°ã—ã„ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ãŒ \cs{ltjsetparameter} ã«ã‚ˆã£ã¦
ç”Ÿæˆã•ã‚ŒãŸã‚‰ï¼Œå‰ã®ãƒ¬ãƒ™ãƒ«ã®å…¨ã¦ã®ãƒ‡ãƒ¼ã‚¿ãŒã‚³ãƒ”ãƒ¼ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
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}),
\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:
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šã®ã€ŒèƒŒæ™¯ã€ã§è¿°ã¹ãŸå•é¡Œã‚’è§£æ±ºã™ã‚‹ãŸã‚ã«ï¼Œ\LuaTeX-jaã§ã¯æ¬¡ã®æ‰‹æ³•ã‚’ç”¨ã„ã‚‹ï¼š
ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ãŒå¢—åŠ&nbsp;ã™ã‚‹ã™ã‚‹ã¨ãï¼Œtype, subtype, valueãŒãã‚Œãžã‚Œ
44~(\textit{user\_defined}), \textit{stack\_marker}ï¼Œãã—ã¦ç¾åœ¨ã®ã‚°ãƒ«ãƒ¼ãƒ—ãƒ¬ãƒ™ãƒ«ã§ã‚ã‚‹whatsitãƒŽãƒ¼ãƒ‰
ã‚’ç¾åœ¨ã®ãƒªã‚¹ãƒˆã«ä»˜ã‘åŠ&nbsp;ãˆã‚‹ï¼ˆã“ã®ãƒŽãƒ¼ãƒ‰ã‚’\textit{stack\_flag}ã¨ã™ã‚‹ï¼‰ï¼Ž
ã“ã‚Œã«ã‚ˆã‚Šï¼Œã‚ã‚‹hboxã®ä¸­ã§ä»£å…¥ãŒãªã•ã‚ŒãŸã‹ã©ã†ã‹ã‚’çŸ¥ã‚‹ã“ã¨ãŒå¯èƒ½
ã¨ãªã‚‹ï¼Žã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ã‚’$s$ï¼Œãã®hbox groupã®ç›´å¾Œã®\TeX ã®ã‚°ãƒ«ãƒ¼ãƒ—ãƒ¬ãƒ™ãƒ«ã‚’
$t$ã¨ã™ã‚‹ã¨ï¼š
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\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$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚‚ã—ãã®hboxã®ä¸­èº«ã‚’è¡¨ã™ãƒªã‚¹ãƒˆã®ä¸­ã«\textit{stack\_flag}ãƒŽãƒ¼ãƒ‰ãŒãªã‘ã‚Œã°ï¼Œ
  hboxã®ä¸­ã§ã¯ä»£å…¥ã¯èµ·ã“ã‚‰ãªã‹ã£ãŸã¨ã„ã†ã“ã¨ã«ãªã‚‹ï¼Ž
  ã—ãŸãŒã£ã¦ï¼Œãã®hboxã®çµ‚ã‚ã‚Šã«ãŠã‘ã‚‹ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å€¤ã¯ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«$s$ã«
  æ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item If there is a \textit{stack\_flag} node whose value is~$t+1$, then
      an assignment was occurred just inside the hbox group. Hence
      values of parameters at the end of the hbox are stored in the
      stack level~$s+1$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚‚ã—å€¤ãŒ$t+1$ã®\textit{stack\_flag}ãƒŽãƒ¼ãƒ‰ãŒã‚ã‚Œã°ï¼Œãã®
  hboxã®ä¸­ã§ä»£å…¥ãŒèµ·ã“ã£ãŸã“ã¨ã«ãªã‚‹ï¼Ž
  ã—ãŸãŒã£ã¦ï¼Œhboxã®çµ‚ã‚ã‚Šã«ãŠã‘ã‚‹ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å€¤ã¯ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«$s+1$ã«
  æ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\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 in more internal group. Hence values of
      parameters at the end of the hbox are stored in the stack
      level~$s$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚‚ã—\textit{stack\_flag}ãƒŽãƒ¼ãƒ‰ãŒã‚ã‚‹ãŒãã‚Œã‚‰ã®å€¤ãŒå…¨ã¦$t+1$ã‚ˆã‚Šå¤§ãã„
  å&nbsp;´åˆï¼Œãã®ãƒœãƒƒã‚¯ã‚¹ã®ä¸­ã§ä»£å…¥ãŒèµ·ã“ã£ãŸãŒï¼Œãã‚Œã¯ã€Œã‚ˆã‚Šå†…éƒ¨ã®ã€ã‚°ãƒ«ãƒ¼ãƒ—ã§
  èµ·ã“ã£ãŸã¨ã„ã†ã“ã¨ã«ãªã‚‹ï¼Žã—ãŸãŒã£ã¦ï¼Œhboxã®çµ‚ã‚ã‚Šã§ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®
  å€¤ã¯ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«$s$ã«æ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
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 \cs{globaldefs}.
To solve this problem, we use another trick: the assignment
\hbox{\verb+\directlua{tex.globaldefs=0}+} is always local.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®ãƒˆãƒªãƒƒã‚¯ã‚’æ­£ã—ãåƒã‹ã›ã‚‹ãŸã‚ã«ã¯ï¼Œ\verb+\ltj@@stack+ ã¨ \verb+\ltj@@group@level+ ã¸ã®
ä»£å…¥ã¯ \cs{globaldefs} ã®å€¤ã«ã‚ˆã‚‰ãšå¸¸ã«ãƒ­ãƒ¼ã‚«ãƒ«ã§ãªã‘ã‚Œã°ãªã‚‰ãªã„ã“ã¨ã«æ³¨æ„ã™ã‚‹ï¼Ž
ã“ã®å•é¡Œã¯ \hbox{\verb+\directlua{tex.globaldefs=0}+}ï¼ˆã“ã®ä»£å…¥ã¯å¸¸ã«ãƒ­ãƒ¼ã‚«ãƒ«ï¼‰ã‚’
ç”¨ã„ã‚‹ã“ã¨ã§è§£æ±ºã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ã‚¹ã‚¿ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ&nbsp;ã§ä½¿ç”¨ã•ã‚Œã‚‹é–¢æ•°}
æœ¬ç¯€ã§ã¯ï¼Œãƒ¦ãƒ¼ã‚¶ãŒ\LuaTeX-jaã®ã‚¹ã‚¿ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ&nbsp;ã‚’ä½¿ç”¨ã—ã¦ï¼Œ
\TeX ã®ã‚°ãƒ«ãƒ¼ãƒ”ãƒ³ã‚°ã«å¾“ã†ã‚ˆã†ãª
ç‹¬è‡ªã®ãƒ‡ãƒ¼ã‚¿ã‚’å–ã‚Šæ‰±ã†æ–¹æ³•ã‚’è¿°ã¹ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
The following function can be used to store data into a stack:
\begin{lstlisting}
luatexja.stack.set_stack_table(index, &lt;any&gt; data)
\end{lstlisting}
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'}).
%&lt;/en&gt;
%&lt;*ja&gt;
ã‚¹ã‚¿ãƒƒã‚¯ã«å€¤ã‚’è¨­å®šã™ã‚‹ã«ã¯ï¼Œä»¥ä¸‹ã®Luaé–¢æ•°ã‚’å‘¼ã³å‡ºã›ã°è‰¯ã„ï¼š
\begin{lstlisting}
luatexja.stack.set_stack_table(&lt;any&gt; index, &lt;any&gt; data)
\end{lstlisting}
ç›´æ„Ÿçš„ã«ã¯ï¼Œã‚¹ã‚¿ãƒƒã‚¯ãƒ†ãƒ¼ãƒ–ãƒ«ä¸­ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\textit{index}ã®å€¤ã‚’\textit{data}ã«ã™ã‚‹ï¼Œã¨ã„ã†æ„å‘³ã§ã‚ã‚‹ï¼Ž
\textit{index}ã®å€¤ã¨ã—ã¦ã¯ \texttt{nil} ã¨NaNä»¥å¤–ã®ä»»æ„ã®å€¤ã‚’ä½¿ãˆã‚‹ãŒï¼Œ
è‡ªç„¶æ•°ã¯\LuaTeX-jaãŒä½¿ç”¨ã™ã‚‹ï¼ˆå°†æ¥ã®æ‹¡å¼µç”¨ã‚‚å«ã‚€ï¼‰ã®ã§ï¼Œ
ãƒ¦ãƒ¼ã‚¶ãŒä½¿ç”¨ã™ã‚‹å&nbsp;´åˆã¯è²&nbsp;ã®æ•´æ•°å€¤ã‹æ–‡å­—åˆ—ã®å€¤ã«ã™ã‚‹ã“ã¨ãŒæœ›ã¾ã—ã„ï¼Ž
ã¾ãŸï¼Œãƒ­ãƒ¼ã‚«ãƒ«ã«è¨­å®šã•ã‚Œã‚‹ã‹ã‚°ãƒ­ãƒ¼ãƒãƒ«ã«è¨­å®šã•ã‚Œã‚‹ã‹ã¯ï¼Œ\texttt{luatexja.isglobal} ã®å€¤ã«ä¾å­˜ã™ã‚‹
ï¼ˆã‚°ãƒ­ãƒ¼ãƒãƒ«ã«è¨­å®šã•ã‚Œã‚‹ã®ã¯ï¼Œ\texttt{luatexja.isglobal == 'global'} ã§ã‚ã‚‹ã¡ã‚‡ã†ã©ãã®æ™‚ï¼‰ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
Stored data can be obtained as the return value of
\begin{lstlisting}
luatexja.stack.get_stack_table(index, &lt;any&gt; default, &lt;number&gt; level)
\end{lstlisting}
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã‚¹ã‚¿ãƒƒã‚¯ã®å€¤ã¯ï¼Œ
\begin{lstlisting}
luatexja.stack.get_stack_table(&lt;any&gt; index, &lt;any&gt; default, &lt;number&gt; level)
\end{lstlisting}
ã®æˆ»ã‚Šå€¤ã§å–å¾—ã§ãã‚‹ï¼Ž\textit{level}ã¯ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ã§ã‚ã‚Šï¼Œ
é€šå¸¸ã¯ \verb+\ltj@@stack+ ã®å€¤ã‚’æŒ‡å®šã™ã‚‹ã“ã¨ã«ãªã‚‹ã&nbsp;ã‚ã†ï¼Ž
\textit{default}ã¯ãƒ¬ãƒ™ãƒ«\textit{level}ã®ã‚¹ã‚¿ãƒƒã‚¯ã«å€¤ãŒè¨­å®šã•ã‚Œã¦ã„ãªã‹ã£ãŸå&nbsp;´åˆã«
è¿”ã™ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{figure}[tb]
\begin{lstlisting}[numbers=left, firstnumber=380]
\protected\def\ltj@setpar@global{%
  \relax\ifnum\globaldefs&gt;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&lt;0\directlua{luatexja.isglobal=''}%
    \else\directlua{luatexja.isglobal='global'}\fi%
  \setkeys[ltj]{japaram}{#1}\ignorespaces}
\end{lstlisting}
%&lt;ja&gt;\caption{ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿è¨­å®šå‘½ä»¤ã®å®šç¾©}
%&lt;en&gt;\caption{Definiton of parameter setting commands}
\label{fig:setpar-def}
\end{figure}

%&lt;*en&gt;
\subsection{Extending Parameters}
Keys for \cs{ltjsetparameter}~and~\cs{ltjgetparameter} can be extended,
as in \Pkg{luatexja-adjust}.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®æ‹¡å¼µ}
ã“ã“ã§ã¯ï¼Œ\Pkg{luatexja-adjust}ã§è¡Œãªã£ã¦ã„ã‚‹ã‚ˆã†ã«ï¼Œ
\cs{ltjsetparameter},~\cs{ltjgetparameter}ã«æŒ‡å®šå¯èƒ½ãªã‚­ãƒ¼ã‚’è¿½åŠ&nbsp;ã™ã‚‹æ–¹æ³•
ã‚’è¿°ã¹ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Setting parameters}
\autoref{fig:setpar-def} shows the \emph{most outer} definition of
two commands,
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter}.
Most important part is the last \cs{setkeys},
which is offered by the \Pkg{xkeyval} package.

Hence, to add a key in \cs{ltjsetparameter}, one only have to add a key
whose prefix is \texttt{ltj} and whose family is \texttt{japaram}, as the following.
\begin{lstlisting}
\define@key[ltj]{japaram}{...}{...}
\end{lstlisting}

\cs{ltjsetparameter}~and~\cs{ltjglobalsetparameter} automatically sets
\texttt{luatexja.isglobal}. Its meaning is the following.
\begin{align}
 \texttt{luatexja.isglobal} =
\begin{cases*}
 \texttt{'global'}&amp;(global assignment),\\
 \texttt{''}&amp;(local assignment).
\end{cases*}
\end{align}
This is determined not only by command name
(\cs{ltjsetparameter}~or~\cs{ltjglobalsetparameter}),
but also by the value of \cs{globaldefs}.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®è¨­å®š}
\cs{ltjsetparameter}ã¨ï¼Œ\cs{ltjglobalsetparameter}ã®å®šç¾©ã¯\autoref{fig:setpar-def}ã®
ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž
æœ¬è³ªçš„ãªã®ã¯æœ€å¾Œã®\cs{setkeys}ã§ï¼Œã“ã‚Œã¯\Pkg{xkeyval}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æä¾›ã™ã‚‹å‘½ä»¤ã§ã‚ã‚‹ï¼Ž

ã“ã®ãŸã‚ï¼Œ\cs{ltjsetparameter}ã«æŒ‡å®šå¯èƒ½ãªãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’è¿½åŠ&nbsp;ã™ã‚‹ã«ã¯ï¼Œ
\meta{prefix}ã‚’\texttt{ltj}ï¼Œ\meta{family}ã‚’\texttt{japaram}ã¨ã—ãŸã‚­ãƒ¼ã‚’
\begin{lstlisting}
\define@key[ltj]{japaram}{...}{...}
\end{lstlisting}
ã®ã‚ˆã†ã«å®šç¾©ã™ã‚Œã°è‰¯ã„ã&nbsp;ã‘ã§ã‚ã‚‹ï¼Ž
ãªãŠï¼Œãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿æŒ‡å®šãŒã‚°ãƒ­ãƒ¼ãƒãƒ«ã‹ãƒ­ãƒ¼ã‚«ãƒ«ã‹ã©ã†ã‹ã‚’ç¤ºã™\texttt{luatexja.isglobal}ãŒï¼Œ
\begin{align}
 \texttt{luatexja.isglobal} =
\begin{cases*}
 \texttt{'global'}&amp;ï¼ˆãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿è¨­å®šã¯ã‚°ãƒ­ãƒ¼ãƒãƒ«ï¼‰ï¼Œ\\
 \texttt{''}&amp;ï¼ˆãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿è¨­å®šã¯ãƒ­ãƒ¼ã‚«ãƒ«ï¼‰ï¼Ž
\end{cases*}
\end{align}
ã¨ã—ã¦è‡ªå‹•çš„ã«ã‚»ãƒƒãƒˆã•ã‚Œã‚‹\footnote{å‘½ä»¤ãŒ\cs{ltjglobalsetparameter}ã‹ã©ã†ã‹ã&nbsp;ã‘ã§ã¯
ãªãï¼Œå®Ÿè¡Œæ™‚ã®\cs{globaldefs}ã®å€¤ã«ã‚‚ä¾å­˜ã—ã¦å®šã¾ã‚‹ï¼Ž}ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Getting parameters}
\cs{ltjgetparameter} is implemented by a Lua script.

For parameters that do not need additional arguments, one only have to
define a function in the table \verb+luatexja.unary_pars+.
For example, with the following function,
\verb+\ltjgetparameter{hoge}+ returns a \emph{string} \texttt{42}.
\begin{lstlisting}[numbers=left]
function luatexja.unary_pars.hoge (t)
  return 42
end
\end{lstlisting}
Here the argument of \verb+luatexja.unary_pars.hoge+ is
the stack level of \LuaTeX-ja's stack system (see Subsection~\ref{ssec:stack}).

On the other hand, for parameters that need an additional argument
(this must be an integer), one have to define a function in
\verb+luatexja.binary_pars+ first. For example,
\begin{lstlisting}[numbers=left]
function luatexja.binary_pars.fuga (c, t)
  return tostring(c) .. ', ' .. tostring(42)
end
\end{lstlisting}
Here the first argument $t$ is the stack level, as before.
The second argument $c$ is just the second argument of \cs{ltjgetparameter}.

For parameters that need an additional argument, one also have to
execute the \TeX\ code like
\begin{lstlisting}
\ltj@@decl@array@param{fuga}
\end{lstlisting}
to indicate that ``the parameter \texttt{fuga} needs an additional argument''.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å–å¾—}
ä¸€æ–¹ï¼Œ\cs{ltjgetparameter} ã¯Luaã‚¹ã‚¯ãƒªãƒ—ãƒˆã«ã‚ˆã£ã¦å®Ÿè£…ã•ã‚Œã¦ã„ã‚‹ï¼Ž
å€¤ã‚’å–å¾—ã™ã‚‹ã®ã«è¿½åŠ&nbsp;å¼•æ•°ã®è¦ã‚‰ãªã„ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«ã¤ã„ã¦ã¯ï¼Œ\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ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ&nbsp;ã«ãŠã‘ã‚‹ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ã§ã‚ã‚‹ï¼Ž
æˆ»ã‚Šå€¤ã¯ã„ã‹ãªã‚‹å€¤ã§ã‚ã£ã¦ã‚‚ï¼Œæœ€çµ‚çš„ã«ã¯æ–‡å­—åˆ—ã¨ã—ã¦å‡ºåŠ›ã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„ï¼Ž

ä¸€æ–¹ï¼Œè¿½åŠ&nbsp;å¼•æ•°ï¼ˆ\emph{æ•°å€¤ã—ã‹è¨±å®¹ã—ãªã„}ï¼‰ãŒå¿…è¦ãªãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«ã¤ã„ã¦ã¯ï¼Œ
ã¾ãšLuaã‚¹ã‚¯ãƒªãƒ—ãƒˆã§å‡¦ç†å†…å®¹ã®æœ¬ä½“ã‚’è¨˜è¿°ã—ã¦ãŠãï¼š
\begin{lstlisting}[numbers=left]
function luatexja.binary_pars.fuga (c, t)
  return tostring(c) .. ', ' .. tostring(42)
end
\end{lstlisting}
å¼•æ•°$t$ã¯ï¼Œå…ˆã«è¿°ã¹ãŸé€šã‚Šã®ã‚¹ã‚¿ãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ã§ã‚ã‚‹ï¼Žä¸€æ–¹ï¼Œå¼•æ•°$c$ã¯\
\cs{ltjgetparameter} ã®ç¬¬2å¼•æ•°ã‚’è¡¨ã™æ•°å€¤ã§ã‚ã‚‹ï¼Ž
ã—ã‹ã—ã“ã‚Œã&nbsp;ã‘ã§ã¯é§„ç›®ã§ï¼Œ
\begin{lstlisting}
\ltj@@decl@array@param{fuga}
\end{lstlisting}
ã‚’å®Ÿè¡Œã—ï¼Œ\TeX ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹å´ã«
ã€Œ\verb+\ltjgetparameter{fuga}+ ã¯è¿½åŠ&nbsp;å¼•æ•°ãŒå¿…è¦ã€ã¨ã„ã†ã“ã¨ã‚’é€šçŸ¥ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\section{Linebreak after a Japanese Character}
%&lt;ja&gt;\section{å’Œæ–‡æ–‡å­—ç›´å¾Œã®æ”¹è¡Œ}
\label{sec-lbreak}
%&lt;en&gt;\subsection{Reference: behavior in \pTeX}
%&lt;ja&gt;\subsection{å‚è€ƒï¼š\pTeX ã®å‹•ä½œ}
%&lt;*en&gt;
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,
this feature isn't fully implemented in \LuaTeX-ja due to the
specification of callbacks in~\LuaTeX. To clarify the difference between
\pTeX~and~\LuaTeX, We briefly describe the handling of a line break in~\pTeX, in
this subsection.

\pTeX's input processor can be described in terms of a finite state
automaton, as that of~\TeX\ in~Section~2.5 of~\cite{texbytopic}. The
internal states are as follows:
\begin{itemize}
\item State~$N$: new line
\item State~$S$: skipping spaces
\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
processor.  State~$K$ is similar to state~$M$, and is entered after
Japanese characters.  The diagram of state transitions are indicated in
\autoref{fig:ptexipro}.  Note that \pTeX\ doesn't leave state~$K$
after ``beginning/ending of a group'' characters.
%&lt;/en&gt;

%&lt;*ja&gt;
æ¬§æ–‡ã§ã¯æ–‡ç«&nbsp;ã®æ”¹è¡Œã¯å˜èªžé–“ã§ã—ã‹è¡Œã‚ãªã„ï¼Žãã®ãŸã‚ï¼Œ\TeX ã§ã¯ï¼Œï¼ˆæ–‡å­—ã®ç›´å¾Œã®ï¼‰æ”¹è¡Œã¯
ç©ºç™½æ–‡å­—ã¨åŒã˜æ‰±ã„ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼Žä¸€æ–¹ï¼Œå’Œæ–‡ã§ã¯ã»ã¨ã‚“ã©ã©ã“ã§ã‚‚æ”¹è¡ŒãŒå¯èƒ½ãªãŸã‚ï¼Œ
\pTeX ã§ã¯å’Œæ–‡æ–‡å­—ã®ç›´å¾Œã®æ”¹è¡Œã¯å˜ç´”ã«ç„¡è¦–ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž

ã“ã®ã‚ˆã†ãªå‹•ä½œã¯ï¼Œ\pTeX ãŒ\TeX ã‹ã‚‰ã‚¨ãƒ³ã‚¸ãƒ³ã¨ã—ã¦æ‹¡å¼µã•ã‚ŒãŸã“ã¨ã«ã‚ˆã£ã¦å¯èƒ½ã«ãªã£ãŸã“ã¨ã§ã‚ã‚‹ï¼Ž
\pTeX ã®å…¥åŠ›å‡¦ç†éƒ¨ã¯ï¼Œ\TeX ã«ãŠã‘ã‚‹ãã‚Œã¨åŒã˜ã‚ˆã†ã«ï¼Œæœ‰é™ã‚ªãƒ¼ãƒˆãƒžãƒˆãƒ³ã¨ã—ã¦è¨˜è¿°ã™ã‚‹ã“ã¨ãŒã§ãï¼Œ
ä»¥ä¸‹ã«è¿°ã¹ã‚‹ã‚ˆã†ãª4çŠ¶æ…‹ã‚’æŒã£ã¦ã„ã‚‹ï¼Ž

\begin{itemize}
\item State~$N$: è¡Œã®é–‹å§‹ï¼Ž
\item State~$S$: ç©ºç™½èª­ã¿é£›ã°ã—ï¼Ž
\item State~$M$: è¡Œä¸­ï¼Ž
\item State~$K$: è¡Œä¸­ï¼ˆå’Œæ–‡æ–‡å­—ã®å¾Œï¼‰ï¼Ž
\end{itemize}
ã¾ãŸï¼ŒçŠ¶æ…‹é·ç§»ã¯ï¼Œ\autoref{fig:ptexipro}ã®ã‚ˆã†ã«ãªã£ã¦ãŠã‚Šï¼Œå›³ä¸­ã®æ•°å­—ã¯
ã‚«ãƒ†ã‚´ãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’è¡¨ã—ã¦ã„ã‚‹ï¼Žæœ€åˆã®3çŠ¶æ…‹ã¯\TeX ã®å…¥åŠ›å‡¦ç†éƒ¨ã¨åŒã˜ã§ã‚ã‚Šï¼Œ
å›³ä¸­ã‹ã‚‰çŠ¶æ…‹$K$ã¨ã€Œ$j$ã€ã¨æ›¸ã‹ã‚ŒãŸçŸ¢å°ã‚’å–ã‚Šé™¤ã‘ã°ï¼Œ\TeX ã®å…¥åŠ›å‡¦ç†éƒ¨ã¨åŒ
ã˜ã‚‚ã®ã«ãªã‚‹ï¼Ž

ã“ã®å›³ã‹ã‚‰åˆ†ã‹ã‚‹ã“ã¨ã¯ï¼Œ
\begin{quote}
è¡ŒãŒå’Œæ–‡æ–‡å­—ï¼ˆã¨ã‚°ãƒ«ãƒ¼ãƒ—å¢ƒç•Œæ–‡å­—ï¼‰ã§çµ‚ã‚ã£ã¦ã„ã‚Œã°ï¼Œæ”¹è¡Œã¯ç„¡è¦–ã•ã‚Œã‚‹
\end{quote}
ã¨ã„ã†ã“ã¨ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

\begin{figure}[!tb]
\let\sp\textvisiblespace\small
\begin{minipage}{.6\textwidth}%
\begin{center}
\unitlength=6.5mm\sf\mathversion{bold}
\begin{tikzpicture}[
  -&gt;, auto, shorten &gt;=1pt
]
\node [shape=rectangle, font=\scriptsize] (init) at (2,7) {start};
\node [shape=circle,draw, fill=b_cyan] (newline) at (4,7) {$N$};
\node [shape=circle,draw, fill=b_cyan] (midline) at (4,4) {$M$};
\node [shape=circle,draw, fill=b_cyan] (skipspc) at (8,7) {$S$};
\node [shape=circle,draw, fill=b_pink]  (kanji) at (8,4) {$K$};
\node [shape=rectangle,draw, fill=b_green] (scanacs) at (6,8) {scan a c.s.};
\node (endk) at (8,2.5) {} ;
\node (endm) at (4,2.5) {} ;
\node (ends) at (8,8.5) {} ;
\node (endn) at (4,8.5) {} ;
\begin{scope}[font=\scriptsize]
\path (newline) edge [bend right]    node [left]{G, O} (midline)
      (init)    edge                 node {} (newline)
      (midline) edge [bend right=10] node {10} (skipspc)
      (skipspc) edge [bend right]    node [left,right=10,above=7]{G, O} (midline)
      (skipspc) edge [loop right]    node {10} (skipspc)
      (newline) edge [loop right]    node {10} (newline)
      (scanacs) edge [bend left]     node [left=3,below]{$(*)$} (skipspc)
      (scanacs) edge [bend right]    node [right=30,above=20]{$(*)$} (midline)
      (midline) edge                 node {5\ [\sp]} (endm)
      (midline) edge [loop left]     node {G, O} (midline)
      (skipspc) edge                 node [right] {5} (ends)
      (newline) edge                 node {5 [\cs{par}]} (endn);
\begin{scope}[red]
\path (newline) edge [bend right]    node [right=25,below=3]{J} (kanji)
      (midline) edge                 node [below]{J} (kanji)
      (kanji)   edge [bend left]     node {O} (midline)
      (kanji)   edge                 node {10} (skipspc)
      (kanji)   edge [loop right]    node {G, J} (kanji)
      (skipspc) edge [bend left]     node {J} (kanji)
      (kanji)   edge                 node {5} (endk)
;
\end{scope}
\end{scope}
\end{tikzpicture}
\end{center}
\end{minipage}%
\begin{minipage}{.4\textwidth}
\begin{description}
\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+^+\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{[\cs{par}]}]
emits a space, or~\cs{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+^+\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
to State~$M$ (middle of line) sometimes.
\end{itemize}
%&lt;en&gt;\caption{State transitions of \pTeX's input processor}
%&lt;ja&gt;\caption{\pTeX ã®å…¥åŠ›å‡¦ç†éƒ¨ã®çŠ¶æ…‹é·ç§»}
\label{fig:ptexipro}
\end{figure}


%&lt;en&gt;\subsection{Behavior in \LuaTeX-ja}
%&lt;ja&gt;\subsection{\LuaTeX-jaã®å‹•ä½œ}
  \label{ssec:lineend}
%&lt;*en&gt;
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
\verb+process_input_buffer+ and \verb+token_filter+ callbacks for to
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~(\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 whose character code is \cs{ltjlineendcomment}%
\footnote{Its default value is \texttt{"FFFFF}, so  \texttt{U+FFFFF} is used.
The category code of \texttt{U+FFFFF} is set to 14~(\textit{comment}) by
\LuaTeX-ja.} is appended to an input line, \emph{before \LuaTeX\ actually
process it}, if and only if the following three conditions are satisfied:
\begin{enumerate}
\item The category code of \cs{endlinechar}%
\footnote{Usually, it is $\langle$\textit{return}$\rangle$
      (whose character code is 13).} is 5~(\textit{end-of-line}).
\item The category code of \cs{ltjlineendcomment} itself is 14~(\textit{comment}).
\item The input line matches the following ``regular expression'':
\[
  (\text{any char})^*
  \Bigl(\textbf{JAchar}\cap\bigl(\{\text{catcode}=11\}\cup\{\text{catcode}=12\}\bigr)\Bigr)
  \bigl(\{\text{catcode}=1\}\cup\{\text{catcode}=2\}\bigr)^*
\]
\end{enumerate}
\end{quote}

\paragraph{Remark}
The following example shows the major difference from the behavior of \pTeX.
\begin{LTXexample}
\fontspec[Ligatures=TeX]{Linux Libertine O}
\ltjsetparameter{autoxspacing=false}
\ltjsetparameter{jacharrange={-6}}xã‚
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 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 (whose character code is \cs{ltjlineendcomment}) is appended to this line,
and hence the linebreak immediately after this line is ignored.
\item When line~4 is processed by \texttt{process\_input\_buffer} callback,
``ã„'' is considered as an \textbf{ALchar}.
Since  line~4 ends with an \textbf{ALchar}, the linebreak immediately after this line
emits a space.
\end{itemize}
%&lt;/en&gt;

%&lt;*ja&gt;
\LuaTeX ã®å…¥åŠ›å‡¦ç†éƒ¨ã¯\TeX ã®ãã‚Œã¨å…¨ãåŒã˜ã§ã‚ã‚Šï¼Œã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã«ã‚ˆã‚Šãƒ¦ãƒ¼ã‚¶ãŒ
ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã™ã‚‹ã“ã¨ã¯ã§ããªã„ï¼Žã“ã®ãŸã‚ï¼Œæ”¹è¡ŒæŠ‘åˆ¶ã®ç›®çš„ã§ãƒ¦ãƒ¼ã‚¶ãŒåˆ©ç”¨ã§
ããã†ãªã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¨ã—ã¦ã¯ï¼Œ\verb+process_input_buffer+ã‚„
\verb+token_filter+ã«é™ã‚‰ã‚Œã¦ã—ã¾ã†ï¼Žã—ã‹ã—ï¼Œ\TeX ã®å…¥åŠ›å‡¦ç†éƒ¨ã‚’ã‚ˆãè¦‹ã‚‹
ã¨ï¼Œå¾Œè€…ã‚‚å½¹ã«ã¯çµŒãŸãªã„ã“ã¨ãŒåˆ†ã‹ã‚‹ï¼šæ”¹è¡Œæ–‡å­—ã¯ï¼Œå…¥åŠ›å‡¦ç†éƒ¨ã«ã‚ˆã£ã¦ãƒˆãƒ¼
ã‚¯ãƒ³åŒ–ã•ã‚Œã‚‹æ™‚ã«ï¼Œã‚«ãƒ†ã‚´ãƒªãƒ¼ã‚³ãƒ¼ãƒ‰10ã®32ç•ªæ–‡å­—ã¸ã¨ç½®ãæ›ãˆã‚‰ã‚Œã¦ã—ã¾ã†ãŸ
ã‚ï¼Œ\verb+token_filter+ã§éžæ¨™æº–ãªãƒˆãƒ¼ã‚¯ãƒ³èª­ã¿å‡ºã—ã‚’è¡ŒãŠã†ã¨ã—ã¦ã‚‚ï¼Œç©ºç™½æ–‡
å­—ç”±æ¥ã®ãƒˆãƒ¼ã‚¯ãƒ³ã¨ï¼Œæ”¹è¡Œæ–‡å­—ç”±æ¥ã®ãƒˆãƒ¼ã‚¯ãƒ³ã¯åŒºåˆ¥ã§ããªã„ã®ã&nbsp;ï¼Ž

ã™ã‚‹ã¨ï¼Œæˆ‘ã€…ã®ã¨ã‚Œã‚‹é“ã¯ï¼Œ\verb+process_input_buffer+ã‚’ç”¨ã„ã¦
\LuaTeX ã®å…¥åŠ›å‡¦ç†éƒ¨ã«å¼•ãæ¸¡ã•ã‚Œã‚‹å‰ã«å…¥åŠ›æ–‡å­—åˆ—ã‚’ç·¨é›†ã™ã‚‹ã¨ã„ã†ã‚‚ã®ã—ã‹ãªã„ï¼Ž
ä»¥ä¸Šã‚’è¸ã¾ãˆï¼Œ\LuaTeX-jaã«ãŠã‘ã‚‹ã€Œå’Œæ–‡æ–‡å­—ç›´å¾Œã®æ”¹è¡ŒæŠ‘åˆ¶ã€ã®å‡¦ç†ã¯ï¼Œæ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼š

\begin{quote}
å„å…¥åŠ›è¡Œã«å¯¾ã—ï¼Œ\emph{ãã®å…¥åŠ›è¡ŒãŒèª­ã¾ã‚Œã‚‹å‰ã®å†…éƒ¨çŠ¶æ…‹ã§}
ä»¥ä¸‹ã®3æ¡ä»¶ãŒæº€ãŸã•ã‚Œã¦ã„ã‚‹å&nbsp;´åˆï¼Œ\LuaTeX-jaã¯\cs{ltjlineendcomment}ç•ªã®æ–‡å­—
\footnote{\cs{ltjlineendcomment}ã®æ—¢å®šå€¤ã¯\texttt{"FFFFF}ã§ã‚ã‚‹ã®ã§ï¼Œ
  æ—¢å®šã§ã¯\texttt{U+FFFFF}ãŒä½¿ã‚ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ï¼Žã“ã®æ–‡å­—ã¯ã‚³ãƒ¡ãƒ³ãƒˆæ–‡å­—ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ã‚ˆã†ã«
  \LuaTeX-jaå†…éƒ¨ã§è¨­å®šã‚’ã—ã¦ã„ã‚‹ï¼Ž}%
ã‚’æœ«å°¾ã«è¿½åŠ&nbsp;ã™ã‚‹ï¼Žã‚ˆã£ã¦ï¼Œãã®å&nbsp;´åˆã«æ”¹è¡Œã¯ç©ºç™½ã¨ã¯è¦‹åšã•ã‚Œãªã„ã“ã¨ã¨ãªã‚‹ï¼Ž
\begin{enumerate}
\item \cs{endlinechar}ã®æ–‡å­—\footnote{æ™®é€šã¯ï¼Œæ”¹è¡Œæ–‡å­—ï¼ˆæ–‡å­—ã‚³ãƒ¼ãƒ‰13ç•ªï¼‰ã§ã‚ã‚‹ï¼Ž}
ã®ã‚«ãƒ†ã‚´ãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ãŒ5~(\textit{end-of-line})ã§ã‚ã‚‹ï¼Ž
\item \cs{ltjlineendcomment}ã®ã‚«ãƒ†ã‚´ãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ãŒ14~(\textit{comment})ã§ã‚ã‚‹ï¼Ž
\item å…¥åŠ›è¡Œã¯æ¬¡ã®ã€Œæ­£è¦è¡¨ç¾ã€ã«ãƒžãƒƒãƒã—ã¦ã„ã‚‹ï¼š
\[
  (\text{any char})^*
  \Bigl(\textbf{JAchar}\cap\bigl(\{\text{catcode}=11\}\cup\{\text{catcode}=12\}\bigr)\Bigr)
  \bigl(\{\text{catcode}=1\}\cup\{\text{catcode}=2\}\bigr)^*
\]
\end{enumerate}
\end{quote}

ã“ã®ä»•æ§˜ã¯ï¼Œå‰ç¯€ã§è¿°ã¹ãŸ\pTeX ã®ä»•æ§˜ã«ã§ãã‚‹ã&nbsp;ã‘è¿‘ã¥ã‘ãŸã‚‚ã®ã¨ãªã£ã¦ã„ã‚‹ï¼Žæ¡ä»¶1.ã¯ï¼Œ
\texttt{lstlisting}ç³»ç’°å¢ƒãªã©ã®æ—¥æœ¬èªžå¯¾å¿œãƒžã‚¯ãƒ­ã‚’æ›¸ã‹ãªãã¦ã™ã¾ã›ã‚‹ãŸã‚ã®ã‚‚ã®ã§ã‚ã‚‹ï¼Ž

ã—ã‹ã—ãªãŒã‚‰ï¼Œ\pTeX ã¨å®Œå…¨ã«åŒã˜æŒ™å‹•ãŒå®Ÿç¾ã§ããŸã‚ã‘ã§ã¯ãªã„ï¼Ž
æ¬¡ã®ã‚ˆã†ã«ï¼Œ\textbf{JAchar}ã®ç¯„å›²ã‚’å¤‰æ›´ã—ãŸã¡ã‚‡ã†ã©ãã®è¡Œã«ãŠã„ã¦ã¯æŒ™å‹•ãŒç•°ãªã‚‹ï¼š
\begin{LTXexample}
\fontspec[Ligatures=TeX]{TeX Gyre Termes}
\ltjsetparameter{autoxspacing=false}
\ltjsetparameter{jacharrange={-6}}xã‚
y\ltjsetparameter{jacharrange={+6}}zã„
u
\end{LTXexample}
ä¸Šã‚½ãƒ¼ã‚¹ä¸­ã®ã€Œã‚ã€ã¯\textbf{ALchar}ï¼ˆæ¬§æ–‡æ‰±ã„ï¼‰ã§ã‚ã‚Šï¼Ž
ã“ã“ã§ä½¿ç”¨ã—ã¦ã„ã‚‹æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆ\TeX\ Gyre Termesã¯ã€Œã‚ã€ã‚’å«ã¾ãªã„ï¼Ž
ã‚ˆã£ã¦ï¼Œå‡ºåŠ›ã«ã€Œã‚ã€ã¯ç¾ã‚Œãªã„ã“ã¨ã¯ä¸æ€è­°ã§ã¯ãªã„ï¼Ž
ãã‚Œã§ã‚‚ï¼Œ\pTeX ã¨ã¾ã£ãŸãåŒã˜æŒ™å‹•ã‚’ç¤ºã™ãªã‚‰ã°ï¼Œå‡ºåŠ›ã¯
ã€Œ\hbox{\ltjsetparameter{autoxspacing=false}x yzã„u}ã€ã¨ãªã‚‹ã¯ãšã§ã‚ã‚‹ï¼Žã—ã‹ã—ï¼Œå®Ÿéš›ã«ã¯
ä¸Šã®ã‚ˆã†ã«ç•°ãªã‚‹æŒ™å‹•ã¨ãªã£ã¦ã„ã‚‹ãŒï¼Œãã‚Œã¯ä»¥ä¸‹ã®ç†ç”±ã«ã‚ˆã‚‹ï¼š
\begin{itemize}
\item 3è¡Œç›®ã‚’ \texttt{process\_input\_buffer} ã§å‡¦ç†ã™ã‚‹æ™‚ç‚¹ã§ã¯ï¼Œ
      ã€Œã‚ã€ã¯\textbf{JAchar}ï¼ˆå’Œæ–‡æ‰±ã„ï¼‰ã§ã‚ã‚‹ï¼Žã‚ˆã£ã¦3è¡Œç›®ã¯\textbf{JAchar}ã§çµ‚ã‚ã‚‹ã“ã¨ã«ãªã‚Šï¼Œ
      \cs{ltjlineendcomment}ç•ªã®ã‚³ãƒ¡ãƒ³ãƒˆæ–‡å­—ãŒè¿½åŠ&nbsp;ã•ã‚Œã‚‹ï¼Ž
      ã‚ˆã£ã¦ï¼Œç›´å¾Œã®æ”¹è¡Œæ–‡å­—ã¯ç„¡è¦–ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚Šï¼Œç©ºç™½ã¯å…¥ã‚‰ãªã„ï¼Ž
\item 4è¡Œç›®ã‚’ \texttt{process\_input\_buffer} ã§å‡¦ç†ã™ã‚‹æ™‚ç‚¹ã§ã¯ï¼Œ
      ã€Œã„ã€ã¯\textbf{ALchar}ã§ã‚ã‚‹ï¼Žã‚ˆã£ã¦4è¡Œç›®ã¯\textbf{ALchar}ã§çµ‚ã‚ã‚‹ã“ã¨ã«ãªã‚Šï¼Œ
      ç›´å¾Œã®æ”¹è¡Œæ–‡å­—ã¯ç©ºç™½ã«ç½®ãæ›ã‚ã‚‹ï¼Ž
\end{itemize}
ã“ã®ãŸã‚ï¼Œãƒˆãƒ©ãƒ–ãƒ«ã‚’é¿ã‘ã‚‹ãŸã‚ã«ï¼Œ\textbf{JAchar}ã®ç¯„å›²ã‚’\cs{ltjsetparameter}ã§ç·¨é›†ã—ãŸå&nbsp;´åˆï¼Œ
ãã®è¡Œã¯ãã“ã§æ”¹è¡Œã™ã‚‹ã‚ˆã†ã«ã—ãŸæ–¹ãŒã„ã„ã&nbsp;ã‚ã†ï¼Ž
%&lt;/ja&gt;

%&lt;*ja&gt;
\subsection{æ¿ç‚¹ãƒ»åŠæ¿ç‚¹ä»˜ãä»®åã®æ­£è¦åŒ–â†’\Pkg{luaotfload}~v3.19ä»¥é™ã§ã¯ãã¡ã‚‰ã§}
\TeX~Live~2016ä»¥é™ã®(u)\pTeX ã§ã¯ï¼Œåˆæˆç”¨æ¿ç‚¹(\texttt{U+3099})ãƒ»åˆæˆç”¨åŠæ¿ç‚¹(\texttt{U+309A})ã‚’ç”¨ã„ã¦
è¡¨ç¾ã•ã‚ŒãŸå¹³ä»®åãƒ»ç‰‡ä»®åã‚’åˆæˆæ¸ˆã¿æ–‡å­—ã«å¤‰æ›ã™ã‚‹ã¨ã„ã†å‡¦ç†ã‚’è¡Œã£ã¦ã„ã‚‹ï¼Ž
ã“ã®å‡¦ç†ã‚’è¡Œã£ã¦ã„ã‚‹è¦å›&nbsp;ã¨ã—ã¦ã¯ï¼Œ
\begin{itemize}
  \item ç„¡ç”¨ãªãƒˆãƒ©ãƒ–ãƒ«ã‚’é¿ã‘ã‚‹ãŸã‚ï¼Ž
  æ¿ç‚¹ãƒ»åŠæ¿ç‚¹ä»˜ãã®ä»®åæ–‡å­—ãŒã€Œåˆæˆç”¨æ¿ç‚¹ãƒ»åŠæ¿ç‚¹ã‚’ä½¿ã£ã¦å…¥åŠ›ã•ã‚Œã¦ã„ã‚‹ã‹ã€ã€Œæœ€åˆã‹ã‚‰åˆæˆæ¸ˆã¿æ–‡å­—ã§å…¥åŠ›ã•ã‚Œã¦ã„ã‚‹ã‹ã€ã‚’
  è¦‹ãŸç›®ã‹ã‚‰åˆ¤åˆ¥ã™ã‚‹ã“ã¨ã¯é›£ã—ã„ï¼Ž
  \item \pTeX ã¨ã®äº’æ›æ€§ã®ãŸã‚ï¼Ž\pTeX ã¯å†…éƒ¨ã‚³ãƒ¼ãƒ‰ãŒJIS~X~0208ã®ç¯„å›²ã«é™ã‚‰ã‚Œã‚‹ãŸã‚ï¼Œ
  åˆæˆç”¨æ¿ç‚¹ãƒ»åŠæ¿ç‚¹ã¯åˆ©ç”¨ã§ããªã„ï¼Žãã®ãŸã‚ä¸Šè¨˜ã®å¤‰æ›å‡¦ç†ã¯ã•ã‚‰ã«å‰ã‹ã‚‰è¡Œã‚ã‚Œã¦ã„ãŸï¼Ž
\end{itemize}

\LuaTeX(-ja)ã§ã¯å…¥åŠ›ã®å¤‰æ›ã¯åŸºæœ¬çš„ã«è¡Œã‚ãšï¼Œ
æ–‡å­—ã®åˆæˆã¯ä½¿ç”¨ã—ã¦ã„ã‚‹ãƒ•ã‚©ãƒ³ãƒˆã®OpenTypeæ©Ÿèƒ½ã«å§”ã­ã‚‹ã¨ã„ã†ç«‹å&nbsp;´ã§ã‚ã£ãŸãŒï¼Œ
\Pkg{luaotfload}~v3.19ä»¥é™ã§ã¯ï¼Œæ¨™æº–ã§NFCã¸ã®Unicodeæ­£è¦åŒ–ã‚’è¡Œã£ã¦ã„ã‚‹ï¼Ž
ãã®ãŸã‚ï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³2023****.0ä»¥é™ã§ã¯ï¼Œ\LuaTeX-jaã«ã‚ˆã‚‹è‡ªå‰ã®å¤‰æ›\footnote{ãƒãƒ¼ã‚¸ãƒ§ãƒ³20220103.0ã§å®Ÿè£…ã—ãŸï¼Ž}ã¯
è¡Œã‚ãªã„ã‚ˆã†ã«ã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*ja&gt;
%&lt;en&gt;\section{Insertion of JFM glues, \Param{kanjiskip} and \Param{xkanjiskip}}
%&lt;ja&gt;\section{JFMã‚°ãƒ«ãƒ¼ã®æŒ¿å…¥ï¼Œ\Param{kanjiskip}ã¨\Param{xkanjiskip}}
\label{sec-jfmglue}
%&lt;en&gt;\subsection{Overview}
%&lt;ja&gt;\subsection{æ¦‚è¦}

\LuaTeX-jaã«ãŠã‘ã‚‹ \textbf{JAglue} ã®æŒ¿å…¥æ–¹æ³•ã¯ï¼Œ\pTeX ã®ãã‚Œã¨ã¯å…¨ãç•°ãªã‚‹ï¼Ž
\pTeX ã§ã¯æ¬¡ã®ã‚ˆã†ãªä»•æ§˜ã§ã‚ã£ãŸï¼š
\begin{itemize}
\item JFMã‚°ãƒ«ãƒ¼ã®æŒ¿å…¥ã¯ï¼Œå’Œæ–‡æ–‡å­—ã‚’è¡¨ã™ãƒˆãƒ¼ã‚¯ãƒ³ã‚’å…ƒã«æ°´å¹³ãƒªã‚¹ãƒˆã«ï¼ˆæ–‡å­—ã‚’è¡¨ã™ï¼‰\meta{char\_node}ã‚’
è¿½åŠ&nbsp;ã™ã‚‹éŽç¨‹ã§è¡Œã‚ã‚Œã‚‹ï¼Ž
\item \Param{xkanjiskip}ã®æŒ¿å…¥ã¯ï¼Œhboxã¸ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãƒ³ã‚°ã‚„è¡Œåˆ†å‰²å‰ã«è¡Œã‚ã‚Œã‚‹ï¼Ž
\item \Param{kanjiskip}ã¯ãƒŽãƒ¼ãƒ‰ã¨ã—ã¦ã¯æŒ¿å…¥ã•ã‚Œãªã„ï¼Žãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãƒ³ã‚°ã‚„è¡Œåˆ†å‰²ã®è¨ˆç®—æ™‚ã«
ã€Œå’Œæ–‡æ–‡å­—ã‚’è¡¨ã™2ã¤ã®\meta{char\_node}ã®é–“ã«ã¯\Param{kanjiskip}ãŒã‚ã‚‹ã€ã‚‚ã®ã¨ã¿ãªã•ã‚Œã‚‹ï¼Ž
\end{itemize}
ã—ã‹ã—ï¼Œ\LuaTeX-jaã§ã¯ï¼Œhboxã¸ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãƒ³ã‚°ã‚„è¡Œåˆ†å‰²å‰ã«å…¨ã¦ã®
\textbf{JAglue}ï¼Œå³ã¡JFMã‚°ãƒ«ãƒ¼ãƒ»\Param{xkanjiskip}ãƒ»\Param{kanjiskip}ã®
3ç¨®é¡žã‚’ä¸€åº¦ã«æŒ¿å…¥ã™ã‚‹ã“ã¨ã«ãªã£ã¦ã„ã‚‹ï¼Žã“ã‚Œã¯ï¼Œ\LuaTeX ã«ãŠã„ã¦æ¬§æ–‡ã®åˆå­—ãƒ»
ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°å‡¦ç†ãŒãƒŽãƒ¼ãƒ‰ãƒ™ãƒ¼ã‚¹ã«ãªã£ãŸã“ã¨ã«å¯¾å¿œã™ã‚‹å¤‰æ›´ã§ã‚ã‚‹ï¼Ž

\LuaTeX-jaã«ãŠã‘ã‚‹\textbf{JAglue}æŒ¿å…¥å‡¦ç†ã§ã¯ï¼Œæ¬¡ç¯€ã§å®šç¾©ã™ã‚‹
ã€Œã‚¯ãƒ©ã‚¹ã‚¿ã€ã‚’å˜ä½ã«ã—ã¦è¡Œã‚ã‚Œã‚‹ï¼Žå¤§é›‘æŠŠã«ã„ã†ã¨ï¼Œã€Œã‚¯ãƒ©ã‚¹ã‚¿ã€ã¯æ–‡å­—ã¨ãã‚Œã«ä»˜éšã™
ã‚‹ãƒŽãƒ¼ãƒ‰é”ï¼ˆã‚¢ã‚¯ã‚»ãƒ³ãƒˆä½ç½®è£œæ­£ç”¨ã®ã‚«ãƒ¼ãƒ³ã‚„ï¼Œã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ï¼‰ã‚’ã¾ã¨ã‚ãŸã‚‚ã®
ã§ã‚ã‚Šï¼Œ2ã¤ã®ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã«ã¯ï¼ŒãƒšãƒŠãƒ«ãƒ†ã‚£ï¼Œ\cs{vadjust}ï¼Œwhatsitãªã©ï¼Œè¡Œçµ„ç‰ˆ
ã«ã¯é–¢ä¿‚ã—ãªã„ã‚‚ã®ãŒã‚ã‚‹ï¼Ž


%&lt;en&gt;\subsection{Definition of a Cluster}
%&lt;ja&gt;\subsection{ã€Œã‚¯ãƒ©ã‚¹ã‚¿ã€ã®å®šç¾©}

\def\OA{$\text{\sf O}_{\text{\sf A}}$}
\def\OB{$\text{\sf O}_{\text{\sf B}}$}
\def\NA{$\text{\sf N}_{\text{\sf A}}$}
\def\NB{$\text{\sf N}_{\text{\sf B}}$}
\begin{defn}
%&lt;*en&gt;
A \emph{cluster} is consecutive nodes in one of the following forms,
with the \textit{id} of it:
%&lt;/en&gt;
%&lt;*ja&gt;
\emph{ã‚¯ãƒ©ã‚¹ã‚¿}ã¯ä»¥ä¸‹ã®å½¢ã®ã†ã¡ã®ã©ã‚Œã‹ã²ã¨ã¤ã‚’ã¨ã‚‹ãƒŽãƒ¼ãƒ‰ã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ï¼š
%&lt;/ja&gt;
\begin{enumerate}
%&lt;*en&gt;
\item Nodes whose value of\ \verb+\ltj@icflag+ is in $[3,15)$.  These
      nodes come from a hbox which is already packaged, by unpackaging
      (\cs{unhbox}).
      The \textit{id} of the cluster is \textit{id\_pbox}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ãã® \verb+\ltj@icflag+ ã®å€¤ãŒ$[3,15)$ã«å…¥ã‚‹ãƒŽãƒ¼ãƒ‰ã®ãƒªã‚¹ãƒˆï¼Ž
  ã“ã‚Œã‚‰ã®ãƒŽãƒ¼ãƒ‰ã¯ã‚ã‚‹æ—¢ã«ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãƒ³ã‚°ã•ã‚ŒãŸhboxã‹ã‚‰ \cs{unhbox} ã§
  ã‚¢ãƒ³ãƒ‘ãƒƒã‚¯ã•ã‚ŒãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž
  ã“ã®å&nbsp;´åˆï¼Œã‚¯ãƒ©ã‚¹ã‚¿ã®\textit{id}ã¯\textit{id\_pbox}ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item A inline math formula, including two \textit{math\_node}s at the boundary of it.
      The \textit{id} of the cluster is \textit{id\_math}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³æ•°å¼ã§ãã®å¢ƒç•Œã«2ã¤ã®\textit{math\_node}ã‚’å«ã‚€ã‚‚ã®ï¼Ž
  ã“ã®å&nbsp;´åˆï¼Œã‚¯ãƒ©ã‚¹ã‚¿ã®\textit{id}ã¯\textit{id\_math}ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item A \textit{glyph\_node}~$p$, which represents a \textbf{JAchar}, with nodes which relate with it:
%&lt;/en&gt;
%&lt;*ja&gt;
\item \textbf{JAchar}ã‚’è¡¨ã™\textit{glyph\_node}~$p$ã¨ãã‚Œã«é–¢ä¿‚ã™ã‚‹ãƒŽãƒ¼ãƒ‰ï¼š
%&lt;/ja&gt;
\begin{enumerate}
%&lt;*en&gt;
\item[(a)] A kern for the italic correction of~$p$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[(a)] $p$ã®ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ã®ãŸã‚ã®ã‚«ãƒ¼ãƒ³ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item[(b)] An accent attached to $p$ by \cs{accent}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[(b)] \cs{accent} ã«ã‚ˆã‚‹$p$ã«ä»˜éšã—ãŸã‚¢ã‚¯ã‚»ãƒ³ãƒˆï¼Ž
%&lt;/ja&gt;
\end{enumerate}
\[
\overbrace{%
 \Node{kern}{$\mathit{subtype}=2$}\longrightarrow
\left\{\begin{array}{c}
\Node{glyph}{accent}\\\noalign{\medskip}
\Node{hbox}{accent (shifted vert.)}
\end{array}\right\}\longrightarrow
\Node{kern}{$\mathit{subtype}=2$}}^{\text{(b)}}
\longrightarrow
\Node{glyph}{$p$}\longrightarrow
\overbrace{%
\Node{kern}{italic corr.}}^{\text{(a)}}
\]

%&lt;*en&gt;
In this case, the \textit{id} is \textit{id\_jglyph}.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã®å&nbsp;´åˆã®\textit{id}ã¯\textit{id\_jglyph}ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item A list which begins from a \textit{glyph\_node} which represents a \textbf{ALchar},
      and consists of \textbf{ALchar} \textit{glyph\_node}s,
      kerns for adjusting accents~(its subtype is 2), kerns for italic corrections and
      kerns which are automatically inserted by \LuaTeX~or~luaotfload.
      In this case, the \textit{id} is \textit{id\_glyph}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \textbf{ALchar}ã‚’è¡¨ã™\textit{glyph\_node}ï¼Œ\cs{accent} ã«ã‚ˆã‚‹ã‚¢ã‚¯ã‚»ãƒ³ãƒˆä½ç½®è£œæ­£ç”¨ã®
      ã‚«ãƒ¼ãƒ³(subtypeãŒ2)ï¼Œãã—ã¦ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ãƒ»ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°ã«ã‚ˆã£ã¦æŒ¿å…¥ã•ã‚ŒãŸã‚«ãƒ¼ãƒ³é”ãŒé€£ç¶š
      ã—ãŸã‚‚ã®ï¼Žã“ã®å&nbsp;´åˆã®\textit{id}ã¯\textit{id\_glyph}ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item An box-like node, that is, an hbox, a vbox, a rule (\cs{vrule}) and an \textit{unset\_node}.
The \textit{id} of the cluster is \textit{id\_hlist} if the node is an
      hbox which is not shifted vertically, or \textit{id\_box\_like}
      otherwise.
%&lt;/en&gt;
%&lt;*ja&gt;
\item æ°´å¹³ãƒœãƒƒã‚¯ã‚¹(hbox)ï¼Œåž‚ç›´ãƒœãƒƒã‚¯ã‚¹ï¼Œç½«ç·š (\cs{vrule})ï¼Œ
  ãã—ã¦\textit{unset\_node}ï¼Ž
  ã‚¯ãƒ©ã‚¹ã‚¿ã®\textit{id}ã¯åž‚ç›´ã«ç§»å‹•ã—ã¦ã„ãªã„hboxãªã‚‰ã°\textit{id\_hlist}ï¼Œ
  ãã†ã§ãªã‘ã‚Œã°\textit{id\_box\_like}ã¨ãªã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\item A glue, a kern whose subtype is not 2~(\textit{accent}), and a discretionary break.
The \textit{id} of the cluster is \textit{id\_glue}, \textit{id\_kern}
      and \textit{id\_disc}, respectively.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã‚°ãƒ«ãƒ¼ï¼ŒsubtypeãŒ 2~(\textit{accent})ã§ã¯ãªã„ã‚«ãƒ¼ãƒ³ï¼Œãã—ã¦discretionary breakï¼Ž
  ãã®\textit{id} of the clusterã¯ãã‚Œãžã‚Œ\textit{id\_glue}, \textit{id\_kern}ï¼Œãã—ã¦
  \textit{id\_disc}ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{enumerate}
%&lt;*en&gt;
We use \textit{Np}, \textit{Nq} and \textit{Nr} to denote a cluster.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»¥ä¸‹ã§ã¯\textit{Np}, \textit{Nq}, \textit{Nr}ã§ã‚¯ãƒ©ã‚¹ã‚¿ã‚’è¡¨ã™ï¼Ž
%&lt;/ja&gt;
\end{defn}

\paragraph{\textit{id}ã®æ„å‘³}
$\mathit{Np}.\mathit{id}$ã®æ„å‘³ã‚’è¿°ã¹ã‚‹ã¨ã¨ã‚‚ã«ï¼Œ
ã€Œå…ˆé&nbsp;­ã®æ–‡å­—ã€ã‚’è¡¨ã™\textit{glyph\_node}~$\mathit{Np}.\mathit{head}$ã¨ï¼Œ
ã€Œæœ€å¾Œã®æ–‡å­—ã€ã‚’è¡¨ã™\textit{glyph\_node}~$\mathit{Np}.\mathit{tail}$ã‚’æ¬¡ã®ã‚ˆã†ã«å®šç¾©ã™ã‚‹ï¼Ž
ç›´æ„Ÿçš„ã«è¨€ã†ã¨ï¼Œ\textit{Np}ã¯$\mathit{Np}.\mathit{head}$ã§å§‹ã¾ã‚Š$\mathit{Np}.\mathit{tail}$ã§çµ‚ã‚ã‚‹ã‚ˆã†ãªå˜èªžï¼Œ
ã¨è¦‹åšã™ã“ã¨ãŒã§ãã‚‹ï¼Žã“ã‚Œã‚‰$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯
èª¬æ˜Žç”¨ã«æº–å‚™ã—ãŸæ¦‚å¿µã§ã‚ã£ã¦ï¼Œå®Ÿéš›ã®Luaã‚³ãƒ¼ãƒ‰ä¸­ã«ãã®ã‚ˆã†ã«æ›¸ã‹ã‚Œã¦ã„ã‚‹ã‚ã‘ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ï¼Ž

\begin{description}
\item[\textit{id\_jglyph}] \textbf{JAchar}ï¼ˆå’Œæ–‡æ–‡å­—ï¼‰ï¼Ž\\
$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼Œãã®\textbf{JAchar}ã‚’è¡¨ã—ã¦ã„ã‚‹
\textit{glyph\_node}ãã®ã‚‚ã®ã§ã‚ã‚‹ï¼Ž
\item[\textit{id\_glyph}] \textbf{JAchar}ï¼ˆå’Œæ–‡æ–‡å­—ï¼‰ä»¥å¤–ã®ã‚‚ã®ã‚’è¡¨ã™\textit{glyph\_node}~$p$ï¼Ž\\
å¤šãã®å&nbsp;´åˆï¼Œ$p$ã¯\textbf{ALchar}ï¼ˆæ¬§æ–‡æ–‡å­—ï¼‰ã‚’æ&nbsp;¼ç´ã—ã¦ã„ã‚‹ãŒï¼Œã€Œffiã€ãªã©ã®åˆå­—ã«ã‚ˆã£ã¦ä½œã‚‰ã‚ŒãŸ
\textit{glyph\_node}ã§ã‚ã‚‹å¯èƒ½æ€§ã‚‚ã‚ã‚‹ï¼Ž
å‰è€…ã®å&nbsp;´åˆï¼Œ$\mathit{Np}.\mathit{head}$,~$\mathit{Np}.\mathit{tail} = p$ã§ã‚ã‚‹ï¼Ž
ä¸€æ–¹ï¼Œå¾Œè€…ã®å&nbsp;´åˆï¼Œ
\begin{itemize}
\item $\mathit{Np}.\mathit{head}$ã¯ï¼Œ
åˆå­—ã®æ§‹æˆè¦ç´&nbsp;ã®å…ˆé&nbsp;­â†’ï¼ˆãã®\textit{glyph\_node}ã«ãŠã‘ã‚‹ï¼‰åˆå­—ã®æ§‹æˆè¦ç´&nbsp;ã®å…ˆé&nbsp;­â†’â€¦â€¦
ã¨å†å¸°çš„ã«æ¤œç´¢ã—ã¦ã„ã£ã¦ãŸã©ã‚Šç€ã„ãŸ\textit{glyph\_node}ã§ã‚ã‚‹ï¼Ž
\item $\mathit{Np}.\mathit{last}$ã¯ï¼ŒåŒæ§˜ã«æœ«å°¾â†’æœ«å°¾â†’ã¨æ¤œç´¢ã—ã¦ãŸã©ã‚Šç€ã„ãŸ\textit{glyph\_node}ã§ã‚ã‚‹ï¼Ž
\end{itemize}
\item[\textit{id\_math}] ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³æ•°å¼ï¼Ž\\
ä¾¿å®œçš„ã«ï¼Œ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¨ã‚‚ã«
ã€Œæ–‡å­—ã‚³ãƒ¼ãƒ‰$-1$ã®æ¬§æ–‡æ–‡å­—ã€ã¨ãŠãï¼Ž
\item[\textit{id\_hlist}] ç¸¦æ–¹å‘ã«ã‚·ãƒ•ãƒˆã•ã‚Œã¦ã„ãªã„hboxï¼Ž\\
ã“ã®å&nbsp;´åˆï¼Œ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ãã‚Œãžã‚Œ$p$ã®å†…å®¹ã‚’è¡¨ã™ãƒªã‚¹ãƒˆã®ï¼Œ
å…ˆé&nbsp;­ãƒ»æœ«å°¾ã®ãƒŽãƒ¼ãƒ‰ã§ã‚ã‚‹ï¼Ž
\medskip
\begin{itemize}
\item çŠ¶æ³ã«ã‚ˆã£ã¦ã¯ï¼Œ\TeX ã‚½ãƒ¼ã‚¹ã§è¨€ã†ã¨
\begin{lstlisting}
\hbox{\hbox{abc}...\hbox{\lower1pt\hbox{xyz}}}
\end{lstlisting}
ã®ã‚ˆã†ã«ï¼Œ$p$ã®å†…å®¹ãŒåˆ¥ã®hboxã§é–‹å§‹ãƒ»çµ‚äº†ã—ã¦ã„ã‚‹å¯èƒ½æ€§ã‚‚ååˆ†ã‚ã‚Šå¾—ã‚‹ï¼Žãã®ã‚ˆã†ãªå&nbsp;´åˆï¼Œ
$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®—å‡ºã¯ï¼Œ
\emph{åž‚ç›´æ–¹å‘ã«ã‚·ãƒ•ãƒˆã•ã‚Œã¦ã„ãªã„}hboxã®
å&nbsp;´åˆã&nbsp;ã‘å†…éƒ¨ã‚’å†å¸°çš„ã«æŽ¢ç´¢ã™ã‚‹ï¼Žä¾‹ãˆã°ä¸Šã®ä¾‹ã§ã¯ï¼Œ$\mathit{Np}.\mathit{head}$ã¯æ–‡å­—ã€Œaã€ã‚’è¡¨ã™ãƒŽãƒ¼ãƒ‰ã§ã‚ã‚Šï¼Œ
ä¸€æ–¹$\mathit{Np}.\mathit{tail}$ã¯åž‚ç›´æ–¹å‘ã«ã‚·ãƒ•ãƒˆã•ã‚ŒãŸhboxï¼Œ
\verb+\lower1pt\hbox{xyz}+ ã«å¯¾å¿œã™ã‚‹ãƒŽãƒ¼ãƒ‰ã§ã‚ã‚‹ï¼Ž
\item ã¾ãŸï¼Œå…ˆé&nbsp;­ã«ã‚¢ã‚¯ã‚»ãƒ³ãƒˆä»˜ãã®æ–‡å­—ãŒããŸã‚Šï¼Œæœ«å°¾ã«ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ­£ç”¨ã®ã‚«ãƒ¼ãƒ³ãŒ
æ¥ã‚‹ã“ã¨ã‚‚ã‚ã‚Šå¾—ã‚‹ï¼Žã“ã®å&nbsp;´åˆã¯ï¼Œã‚¯ãƒ©ã‚¹ã‚¿ã®å®šç¾©ã®ã¨ã“ã‚ã«ã‚‚ã‚ã£ãŸã‚ˆã†ã«ï¼Œãã‚Œã‚‰ã¯ç„¡è¦–ã—ã¦ç®—å‡ºã‚’è¡Œã†ï¼Ž
\item æœ€åˆãƒ»æœ€å¾Œã®ãƒŽãƒ¼ãƒ‰ãŒåˆå­—ã«ã‚ˆã£ã¦ä½œã‚‰ã‚ŒãŸ\textit{glyph\_node}ã®ã¨ãã¯ï¼Œãã‚Œãžã‚Œã«å¯¾ã—ã¦\textit{id\_glyph}%
ã¨åŒæ§˜ã«å†å¸°çš„ã«æ§‹æˆè¦ç´&nbsp;ã‚’ãŸã©ã£ã¦ã„ãï¼Ž
\end{itemize}
\item[\textit{id\_pbox}] ã€Œæ—¢ã«å‡¦ç†ã•ã‚ŒãŸã€ãƒŽãƒ¼ãƒ‰ã®ãƒªã‚¹ãƒˆã§ã‚ã‚Šï¼Œã“ã‚Œã‚‰ã®ãƒŽãƒ¼ãƒ‰ãŒäºŒåº¦å‡¦ç†ã‚’å—ã‘ãªã„ãŸã‚ã«
ã¾ã¨ã‚ã¦1ã¤ã®ã‚¯ãƒ©ã‚¹ã‚¿ã¨ã—ã¦å–ã‚Šæ‰±ã†ã&nbsp;ã‘ã§ã‚ã‚‹ï¼Ž
\textit{id\_hlist}ã¨åŒã˜æ–¹æ³•ã§$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã‚’ç®—å‡ºã™ã‚‹ï¼Œ
\item[\textit{id\_disc}] discretionary break (\verb+\discretionary{pre}{post}{nobreak}+).\\
\textit{id\_hlist}ã¨åŒã˜æ–¹æ³•ã§$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã‚’ç®—å‡ºã™ã‚‹ãŒï¼Œ
ç¬¬3å¼•æ•°ã® \texttt{nobreak}ï¼ˆè¡Œåˆ†å‰²ãŒè¡Œã‚ã‚Œãªã„æ™‚ã®å†…å®¹ï¼‰ã‚’ä½¿ã†ï¼Žè¨€ã„æ›ãˆã‚Œã°ï¼Œã“ã“ã§è¡Œåˆ†å‰²ãŒç™ºç”Ÿã—ãŸæ™‚ã®çŠ¶æ³ã¯
å…¨ãè€ƒæ…®ã«å…¥ã‚Œãªã„ï¼Ž
\item[\textit{id\_box\_like}] \textit{id\_hlist}ã¨ãªã‚‰ãªã„boxã‚„ï¼Œruleï¼Ž\\
ã“ã®å&nbsp;´åˆã¯ï¼Œ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ãƒ‡ãƒ¼ã‚¿ã¯åˆ©ç”¨ã•ã‚Œãªã„ã®ã§ï¼Œ2ã¤ã®ç®—å‡ºã¯ç„¡æ„å‘³ã§ã‚ã‚‹ï¼Ž
æ•¢ãˆã¦æ˜Žç¤ºã™ã‚‹ãªã‚‰ã°ï¼Œ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯å…±ã«nilå€¤ã§ã‚ã‚‹ï¼Ž
\item[ä»–] ä»¥ä¸Šã«ãªã„\textit{id}ã«å¯¾ã—ã¦ã‚‚ï¼Œ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®—å‡ºã¯ç„¡æ„å‘³ï¼Ž
\end{description}

\paragraph{ã‚¯ãƒ©ã‚¹ã‚¿ã®åˆ¥ã®åˆ†é¡ž}
ã•ã‚‰ã«ï¼ŒJFMã‚°ãƒ«ãƒ¼æŒ¿å…¥å‡¦ç†ã®å®Ÿéš›ã®èª¬æ˜Žã«ã‚ˆã‚Šä¾¿åˆ©ãªã‚ˆã†ã«ï¼Œ\textit{id}ã¨ã¯åˆ¥ã®ã‚¯ãƒ©ã‚¹ã‚¿ã®åˆ†é¡žã‚’è¡Œã£ã¦ãŠãï¼Ž
æŒ¿å…¥å‡¦ç†ã§ã¯2ã¤ã®éš£ã‚Šåˆã£ãŸã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã«
ç©ºç™½ç­‰ã®å®Ÿéš›ã®æŒ¿å…¥ã‚’è¡Œã†ã“ã¨ã¯å‰ã«æ›¸ã„ãŸãŒï¼Œã“ã“ã§ã®èª¬æ˜Žã§ã¯ï¼Œå•é¡Œã«ã—ã¦ã„ã‚‹ã‚¯ãƒ©ã‚¹ã‚¿\textit{Np}ã¯ã€Œå¾Œã‚å´ã€ã®ã‚¯ãƒ©ã‚¹ã‚¿ã§ã‚ã‚‹
ã¨ã™ã‚‹ï¼Žã€Œå‰å´ã€ã®ã‚¯ãƒ©ã‚¹ã‚¿ã«ã¤ã„ã¦ã¯ï¼Œä»¥ä¸‹ã®èª¬æ˜Žã§\textit{head}ãŒ\textit{last}ã«ç½®ãæ›ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã™ã‚‹ã“ã¨ï¼Ž
\begin{description}
\item[å’Œæ–‡A] ãƒªã‚¹ãƒˆä¸­ã«ç›´æŽ¥å‡ºç¾ã—ã¦ã„ã‚‹\textbf{JAchar}ï¼Ž
\textit{id}ãŒ\textit{id\_jglyph}ã§ã‚ã‚‹ã‹ï¼Œ\\
\textit{id}ãŒ\textit{id\_pbox}ã§ã‚ã£ã¦$\mathit{Np}.\mathit{head}$ãŒ\textbf{JAchar}ã§ã‚ã‚‹ã¨ãï¼Ž

\item[å’Œæ–‡B] ãƒªã‚¹ãƒˆä¸­ã®hboxã®ä¸­èº«ã®å…ˆé&nbsp;­ã¨ã—ã¦å‡ºç¾ã—ãŸ\textbf{JAchar}ï¼Žå’Œæ–‡Aã¨ã®é•ã„ã¯ï¼Œã“ã‚Œã®å‰ã«
JFMã‚°ãƒ«ãƒ¼ã®æŒ¿å…¥ãŒè¡Œã‚ã‚Œãªã„ï¼ˆ\Param{xkanjiskip},~\Param{kanjiskip}ã¯å…¥ã‚Šå¾—ã‚‹ï¼‰ã“ã¨ã§ã‚ã‚‹ï¼Ž\\
\textit{id}ãŒ\textit{id\_hlist}ã‹\textit{id\_disc}ã§ã‚ã£ã¦$\mathit{Np}.\mathit{head}$ãŒ\textbf{JAchar}ã§ã‚ã‚‹ã¨ãï¼Ž

\item[æ¬§æ–‡] ãƒªã‚¹ãƒˆä¸­ã«ç›´æŽ¥ï¼hboxã®ä¸­èº«ã¨ã—ã¦å‡ºç¾ã—ã¦ã„ã‚‹ã€Œ\textbf{JAchar}ä»¥å¤–ã®æ–‡å­—ã€ï¼Žæ¬¡ã®3ã¤ã®å&nbsp;´åˆãŒè©²å½“ï¼š
\begin{itemize}
\item \textit{id}ãŒ\textit{id\_glyph}ã§ã‚ã‚‹ï¼Ž
\item \textit{id}ãŒ\textit{id\_math}ã§ã‚ã‚‹ï¼ˆã¤ã¾ã‚Šã“ã®ã‚¯ãƒ©ã‚¹ã‚¿ã¯1ã¤ã®æ–‡ä¸­æ•°å¼ã‚’ãªã™ï¼‰ï¼Ž
\item \textit{id}ãŒ\textit{id\_pbox}ã‹\textit{id\_hlist}ã‹\textit{id\_disc}ã§ã‚ã£ã¦ï¼Œ$\mathit{Np}.\mathit{head}$ãŒ\textbf{ALchar}ï¼Ž
\end{itemize}
\item[ç®±] boxï¼Œã¾ãŸã¯ãã‚Œã«é¡žä¼¼ã™ã‚‹ã‚‚ã®ï¼Žæ¬¡ã®2ã¤ãŒè©²å½“ï¼š
\begin{itemize}
\item \textit{id}ãŒ\textit{id\_pbox}ã‹\textit{id\_hlist}ã‹\textit{id\_disc}ã§ã‚ã£ã¦ï¼Œ$\mathit{Np}.\mathit{head}$ãŒ\textit{glyph\_node}ã§ãªã„ï¼Ž
\item \textit{id}ãŒ\textit{id\_box\_like}ã§ã‚ã‚‹ï¼Ž
\end{itemize}

\end{description}

\subsection{æ®µè½ï¼hboxã®å…ˆé&nbsp;­ã‚„æœ«å°¾}
\paragraph{å…ˆé&nbsp;­éƒ¨ã®å‡¦ç†}
ã¾ãšï¼Œæ®µè½ï¼hboxã®ä¸€ç•ªæœ€åˆã«ã‚ã‚‹ã‚¯ãƒ©ã‚¹ã‚¿\textit{Np}ã‚’æŽ¢ç´¢ã™ã‚‹ï¼Ž
hboxã®å&nbsp;´åˆã¯ä½•ã®å•é¡Œã‚‚ãªã„ãŒï¼Œæ®µè½ã®å&nbsp;´åˆã§ã¯ä»¥ä¸‹ã®ãƒŽãƒ¼ãƒ‰é”ã‚’äº‹å‰ã«èª­ã¿é£›ã°ã—ã¦ãŠãï¼š
\begin{itemize}
\item \cs{parindent} ç”±æ¥ã®hbox($\mathit{subtype}=3$)
\item \textit{subtype}ãŒ44~(\textit{user\_defined})ã§ãªã„ã‚ˆã†ãªwhatsit
\end{itemize}
ã“ã‚Œã¯ï¼Œ\cs{parindent}ç”±æ¥ã®hboxãŒã‚¯ãƒ©ã‚¹ã‚¿ã‚’æ§‹æˆã—ãªã„ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã§ã‚ã‚‹ï¼Ž

æ¬¡ã«ï¼Œ\textit{Np}ã®ç›´å‰ã«ç©ºç™½$g$ã‚’å¿…è¦ãªã‚‰æŒ¿å…¥ã™ã‚‹ï¼š
\begin{enumerate}
\item ã“ã®å‡¦ç†ãŒåƒãã‚ˆã†ãª\textit{Np}ã¯\textsf{å’Œæ–‡A}ã§ã‚ã‚‹ï¼Ž
\item å•é¡Œã®ãƒªã‚¹ãƒˆãŒå­—ä¸‹ã’ã‚ã‚Šã®æ®µè½ï¼ˆ\cs{parindent} ç”±æ¥ã®hboxã‚ã‚Šï¼‰ã®å&nbsp;´åˆã¯ï¼Œ
ã“ã®ç©ºç™½$g$ã¯ã€Œæ–‡å­—ã‚³ãƒ¼ãƒ‰ \texttt{'parbdd'} ã®æ–‡å­—ã€ã¨\textit{Np}ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã§ã‚ã‚‹ï¼Ž
\item ãã†ã§ãªã„ã¨ãï¼ˆ\verb+noindent+ ã§é–‹å§‹ã•ã‚ŒãŸæ®µè½ã‚„hboxï¼‰ã¯ï¼Œ
$g$ã¯ã€Œæ–‡å­—ã‚³ãƒ¼ãƒ‰ \texttt{'boxbdd'} ã®æ–‡å­—ã€ã¨\textit{Np}ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã§ã‚ã‚‹ï¼Ž
\end{enumerate}
ãŸã&nbsp;ã—ï¼Œã‚‚ã—$g$ãŒglueã§ã‚ã£ãŸå&nbsp;´åˆï¼Œã“ã®æŒ¿å…¥ã«ã‚ˆã£ã¦\textit{Np}ã«ã‚ˆã‚‹è¡Œåˆ†å‰²ãŒæ–°ãŸã«å¯èƒ½ã«ãªã‚‹ã¹ãã§ã¯ãªã„ï¼Ž
ãã“ã§ï¼Œä»¥ä¸‹ã®å&nbsp;´åˆã«ã¯ï¼Œ$g$ã®ç›´å‰ã« \cs{penalty10000} ã‚’æŒ¿å…¥ã™ã‚‹ï¼š
\begin{itemize}
\item å•é¡Œã«ã—ã¦ã„ã‚‹ãƒªã‚¹ãƒˆãŒæ®µè½ã§ã‚ã‚Šï¼Œã‹ã¤
\item \textit{Np}ã®å‰ã«ã¯äºˆã‚ãƒšãƒŠãƒ«ãƒ†ã‚£ãŒãªãï¼Œ$g$ã¯glueï¼Ž
\end{itemize}

\paragraph{æœ«å°¾ã®å‡¦ç†}
æœ«å°¾ã®å‡¦ç†ã¯ï¼Œå•é¡Œã®ãƒªã‚¹ãƒˆãŒæ®µè½ã®ã‚‚ã®ã‹hboxã®ã‚‚ã®ã‹ã«ã‚ˆã£ã¦ç•°ãªã‚‹ï¼Ž
å¾Œè€…ã®å&nbsp;´åˆã¯å®¹æ˜“ã„ï¼šæœ€å¾Œã®ã‚¯ãƒ©ã‚¹ã‚¿ã‚’\textit{Nq}ã¨ãŠãã¨ï¼Œ\textit{Nq}ã¨ã€Œæ–‡å­—ã‚³ãƒ¼ãƒ‰\
\texttt{'boxbdd'} ã®æ–‡å­—ã€ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã‚’ï¼Œ
\textit{Nq}ã®ç›´å¾Œã«æŒ¿å…¥ã™ã‚‹ã®ã¿ã§ã‚ã‚‹ï¼Ž

ä¸€æ–¹ï¼Žå‰è€…ï¼ˆæ®µè½ï¼‰ã®å&nbsp;´åˆã¯ï¼Œãƒªã‚¹ãƒˆã®æœ«å°¾ã¯å¸¸ã« \cs{penalty10000} ã¨ï¼Œ
\cs{parfillskip} ç”±æ¥ã®ã‚°ãƒ«ãƒ¼ãŒå­˜åœ¨ã™ã‚‹ï¼Ž%ã‚ˆã£ã¦ï¼Œæœ€å¾Œã®ã‚¯ãƒ©ã‚¹ã‚¿\textit{Np}ã¯
%ã“ã® \cs{parfillskip} ç”±æ¥ã®ã‚°ãƒ«ãƒ¼ã¨ãªã‚Šï¼Œå®Ÿè³ªçš„ãªä¸­èº«ã®æœ€å¾Œã¯ãã®1ã¤å‰ã®ã‚¯ãƒ©ã‚¹ã‚¿\textit{Nq}ã¨ãªã‚‹ï¼Ž
æ®µè½ã®æœ€å¾Œã®ã€Œé€šå¸¸ã®\textbf{JAchar}${}+{}$å¥ç‚¹ã€ãŒç‹¬ç«‹ã—ãŸè¡Œã¨ãªã‚‹ã®ã‚’é˜²ããŸã‚ã«ï¼Œ
\Param{jcharwidowpenalty}ã®å€¤ã®åˆ†ã&nbsp;ã‘é©åˆ‡ãªå&nbsp;´æ‰€ã®ãƒšãƒŠãƒ«ãƒ†ã‚£ã‚’å¢—ã‚„ã™ï¼Ž

ãƒšãƒŠãƒ«ãƒ†ã‚£é‡ã‚’å¢—ã‚„ã™å&nbsp;´æ‰€ã¯ï¼Œ\textit{head}ãŒ\textbf{JAchar}ã§ã‚ã‚Šï¼Œ
ã‹ã¤ãã®æ–‡å­—ã®\Param{kcatcode}ãŒå¶æ•°ã§ã‚ã‚‹ã‚ˆã†ãª
æœ€å¾Œã®ã‚¯ãƒ©ã‚¹ã‚¿ã®ç›´å‰ã«ã‚ã‚‹ã‚‚ã®ãŸã¡ã§ã‚ã‚‹%
\footnote{å¤§é›‘æŠŠã«è¨€ãˆã°ï¼Œ\Param{kcatcode}ãŒå¥‡æ•°ã§ã‚ã‚‹ã‚ˆã†ãª\textbf{JAchar}%
ã‚’ç´„ç‰©ã¨ã—ã¦è€ƒãˆã¦ã„ã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž
\Param{kcatcode}ã®æœ€ä¸‹ä½ãƒ“ãƒƒãƒˆã¯ã“ã®\Param{jcharwidowpenalty}ç”¨ã«ã®ã¿åˆ©ç”¨ã•ã‚Œã‚‹ï¼Ž}ï¼Ž

\subsection{æ¦‚è¦³ã¨å…¸åž‹ä¾‹ï¼š2ã¤ã®ã€Œå’Œæ–‡Aã€ã®å&nbsp;´åˆ}
\label{ssec:cluster-wa}
å…ˆã«è¿°ã¹ãŸã‚ˆã†ã«ï¼Œ2ã¤ã®éš£ã‚Šåˆã£ãŸã‚¯ãƒ©ã‚¹ã‚¿ï¼Œ\textit{Nq}ã¨\textit{Np}ã®é–“ã«ã¯ï¼Œ
ãƒšãƒŠãƒ«ãƒ†ã‚£ï¼Œ\cs{vadjust}ï¼Œwhatsitãªã©ï¼Œè¡Œçµ„ç‰ˆã«ã¯é–¢ä¿‚ã—ãªã„ã‚‚ã®ãŒã‚ã‚‹ï¼Žæ¨¡å¼çš„ã«è¡¨ã™ã¨ï¼Œ
\[
 \Node{cluster}{\textit{Nq}}\longrightarrow
\overbrace{
\Node{penalty}{$p$}\longrightarrow \cdots\longrightarrow \Node{whatsit}{}}^{\textrm{(a)}}
\longrightarrow \Node{cluster}{\textit{Np}}
\]
ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Žé–“ã®(a)ã«ç›¸å½“ã™ã‚‹éƒ¨åˆ†ã«ã¯ï¼Œä½•ã®ãƒŽãƒ¼ãƒ‰ã‚‚ãªã„å&nbsp;´åˆã‚‚ã‚‚ã¡ã‚ã‚“ã‚ã‚Šå¾—ã‚‹ï¼Ž
ãã†ã—ã¦ï¼ŒJFMã‚°ãƒ«ãƒ¼æŒ¿å…¥å¾Œã«ã¯ï¼Œã“ã®2ã‚¯ãƒ©ã‚¹ã‚¿é–“ã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚‹ï¼š
\[
 \Node{cluster}{\textit{Nq}}\longrightarrow%\Node{kern}{å·¦ç©ºç™½}\longrightarrow
\overbrace{
\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow
\Node{whatsit}{}}^{\textrm{(a)}}\longrightarrow
\Node{glue or kern}{\raisebox{-.2\zw}{å³ç©ºç™½}}\longrightarrow
\Node{cluster}{\textit{Np}}
\]

ä»¥å¾Œï¼Œ\emph{å…¸åž‹çš„ãªä¾‹ã¨ã—ã¦ï¼Œã‚¯ãƒ©ã‚¹ã‚¿\textit{Nq}ã¨\textit{Np}ãŒå…±ã«\textsf{\textmd{å’Œæ–‡A}}ã§ã‚ã‚‹å&nbsp;´åˆã‚’è¦‹ã¦ã„ã“ã†ï¼Œ}
ã“ã®å&nbsp;´åˆãŒå…¨ã¦ã®å&nbsp;´åˆã®åŸºæœ¬ã¨ãªã‚‹ï¼Ž

\paragraph{ã€Œå³ç©ºç™½ã€ã®ç®—å‡º}
ã¾ãšï¼Œã€Œå³ç©ºç™½ã€ã«ã‚ãŸã‚‹é‡ã‚’ç®—å‡ºã™ã‚‹ï¼Žé€šå¸¸ã¯ã“ã‚ŒãŒï¼Œéš£ã‚Šåˆã£ãŸ2ã¤ã®\textbf{JAchar}é–“ã«å…¥ã‚‹ç©ºç™½é‡ã¨ãªã‚‹ï¼Ž
\begin{description}
\item[JFMç”±æ¥{[M]}] JFMã®æ–‡å­—ã‚¯ãƒ©ã‚¹æŒ‡å®šã«ã‚ˆã£ã¦å…¥ã‚‹ç©ºç™½ã‚’ä»¥ä¸‹ã«ã‚ˆã£ã¦æ±‚ã‚ã‚‹ï¼Žã“ã®æ®µéšŽã§ç©ºç™½é‡ãŒæœªå®šç¾©ï¼ˆæœªæŒ‡å®šï¼‰ã&nbsp;ã£ãŸå&nbsp;´åˆï¼Œ
      ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤\Param{kanjiskip}ã‚’æŽ¡ç”¨ã™ã‚‹ã“ã¨ã¨ãªã‚‹ã®ã§ï¼Œæ¬¡ã¸ï¼Ž
\begin{enumerate}
\item ã‚‚ã—ä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã§ \cs{inhibitglue} ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ãŸå&nbsp;´åˆï¼ˆè¨¼ã¨ã—ã¦whatsitãƒŽãƒ¼ãƒ‰ãŒè‡ªå‹•æŒ¿å…¥ã•ã‚Œã‚‹ï¼‰ï¼Œ
      ä»£ã‚ã‚Šã«\Param{kanjiskip}ãŒæŒ¿å…¥ã•ã‚Œã‚‹ã“ã¨ã¨ãªã‚‹ï¼Žæ¬¡ã¸ï¼Ž
\item \textit{Nq}ã¨\textit{Np}ãŒåŒã˜JFMãƒ»åŒã˜\texttt{jfmvar}ã‚­ãƒ¼ãƒ»åŒã˜ã‚µã‚¤ã‚ºã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ã‚ã£ãŸãªã‚‰ã°ï¼Œ
      å…±é€šã«ä½¿ã£ã¦ã„ã‚‹JFMå†…ã§æŒ¿å…¥ã•ã‚Œã‚‹ç©ºç™½ï¼ˆã‚°ãƒ«ãƒ¼ã‹ã‚«ãƒ¼ãƒ³ï¼‰ãŒæ±ºã¾ã£ã¦ã„ã‚‹ã‹èª¿ã¹ï¼Œæ±ºã¾ã£ã¦ã„ã‚Œã°ãã‚Œã‚’æŽ¡ç”¨ï¼Ž
\item 1.ã§ã‚‚2.ã§ã‚‚ãªã„å&nbsp;´åˆã¯ï¼ŒJFMãƒ»\texttt{jfmvar}ãƒ»ã‚µã‚¤ã‚ºã®3ã¤çµ„ã¯\textit{Nq}ã¨\textit{Np}ã§ç•°ãªã‚‹ï¼Ž
ã“ã®å&nbsp;´åˆï¼Œã¾ãš
\[
\vcenter{\halign{\hfil$#:={}$&amp;\inhibitglue#\inhibitglue\cr
gb&amp;(\textit{Nq}ã¨ã€Œä½¿ç”¨ãƒ•ã‚©ãƒ³ãƒˆãŒ\textit{Nq}ã®ãã‚Œã¨åŒã˜ã§ï¼Œ\hfil\cr
\omit&amp;\quad æ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ\textit{Np}ã®ãã‚Œã®æ–‡å­—ã€ã¨ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³)\hfil\cr
ga&amp;(\inhibitglue ã€Œä½¿ç”¨ãƒ•ã‚©ãƒ³ãƒˆãŒ\textit{Np}ã®ãã‚Œã¨åŒã˜ã§ï¼Œ\hfil\cr
\omit&amp;\quad æ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ\textit{Nq}ã®ãã‚Œã®æ–‡å­—ã€ã¨\textit{Np}ã¨ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³)\hfil\cr
}}
\]
ã¨ã—ã¦ï¼Œå‰å´ã®æ–‡å­—ã®JFMã‚’ä½¿ã£ãŸæ™‚ã®ç©ºç™½ï¼ˆã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ï¼‰ã¨ï¼Œå¾Œå´ã®æ–‡å­—ã®JFMã‚’ä½¿ã£ãŸæ™‚ã®ãã‚Œã‚’æ±‚ã‚ã‚‹ï¼Ž

$\mathit{gb}$,~$\mathit{ga}$ãã‚Œãžã‚Œã«å¯¾ã™ã‚‹\meta{ratio}ã®å€¤ã‚’$d_b$,~$d_a$ã¨ã™ã‚‹ï¼Ž
\begin{itemize}
\item
$\mathit{ga}$ã¨$\mathit{gb}$ã®ä¸¡æ–¹ãŒæœªå®šç¾©ã§ã‚ã‚‹ãªã‚‰ã°ï¼ŒJFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ã¯æŒ¿å…¥ã•ã‚Œãšï¼Œ
\Param{kanjiskip}ã‚’æŽ¡ç”¨ã™ã‚‹ã“ã¨ã¨ãªã‚‹ï¼Ž
ã©ã¡ã‚‰ã‹ç‰‡æ–¹ã®ã¿ãŒæœªå®šç¾©ã§ã‚ã‚‹ãªã‚‰ã°ï¼Œæ¬¡ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ãã®æœªå®šç¾©ã®æ–¹ã¯é•·ã•0ã®kernã§ï¼Œ\meta{ratio}ã®å€¤ã¯0ã§ã‚ã‚‹ã‹ã®ã‚ˆã†ã«æ‰±ã‚ã‚Œã‚‹ï¼Ž
\item
\Param{diffrentjfm}ã®å€¤ãŒ \texttt{pleft}, \texttt{pright},
      \texttt{paverage} ã®ã¨ãï¼Œ
\meta{ratio}ã®æŒ‡å®šã«å¾“ã£ã¦æ¯”ä¾‹é…åˆ†ã‚’è¡Œã†ï¼Ž
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{dcases*}
x&amp;($\Param{diffrentjfm}=\texttt{pleft}$),\\
y&amp;($\Param{diffrentjfm}=\texttt{pright}$),\\
\frac{x+y}2&amp;($\Param{diffrentjfm}=\texttt{paverage}$).
\end{dcases*}
\]
\item
\Param{differentjfm}ãŒãã‚Œä»¥å¤–ã®å€¤ã®æ™‚ã¯ï¼Œ\meta{ratio}ã®å€¤ã¯ç„¡è¦–ã•ã‚Œï¼ŒJFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã¯ä»¥ä¸‹ã®å€¤ã¨ãªã‚‹ï¼š
\[
 f(\textit{gb},\textit{ga})
\]
ã“ã“ã§ï¼Ž$f(x,y)$ã¯
\[
 f(x,y)=\begin{dcases*}
\min(x,y)&amp;($\Param{diffrentjfm}=\texttt{small}$),\\
\max(x,y)&amp;($\Param{diffrentjfm}=\texttt{large}$),\\
\frac{x+y}2&amp;($\Param{diffrentjfm}=\texttt{average}$),\\
x+y&amp;($\Param{diffrentjfm}=\texttt{both}$).
\end{dcases*}
\]
\end{itemize}
\end{enumerate}

ä¾‹ãˆã°ï¼Œ
\begin{lstlisting}
\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{lstlisting}
ã¨ã„ã†3ãƒ•ã‚©ãƒ³ãƒˆã‚’è€ƒãˆï¼Œ
\[
 \overbrace{\Node{glyph}{\cs{ foo}, `ã‚'}}^{p}
\longrightarrow \overbrace{\Node{glyph}{\cs{bar}, `ã„'}}^{q}
\longrightarrow \overbrace{\Node{glyph}{\cs{baz}, `ã†'}}^{r}
\]
ã¨ã„ã†3ãƒŽãƒ¼ãƒ‰ã‚’è€ƒãˆã‚‹ï¼ˆãã‚Œãžã‚Œå˜ç‹¬ã§ã‚¯ãƒ©ã‚¹ã‚¿ã‚’ãªã™ï¼‰ï¼Ž
ã“ã®å&nbsp;´åˆï¼Œ$p$ã¨$q$ã®é–“ã¯ï¼Œå®Ÿãƒ•ã‚©ãƒ³ãƒˆãŒç•°ãªã‚‹ã«ã‚‚ã‹ã‹ã‚ã‚‰ãš2.ã®çŠ¶æ³ã¨ãªã‚‹ä¸€æ–¹ã§ï¼Œ
$q$ã¨$r$ã®é–“ã¯ï¼ˆå®Ÿãƒ•ã‚©ãƒ³ãƒˆãŒåŒã˜ãªã®ã«ï¼‰\texttt{jfmvar} ã‚­ãƒ¼ã®å†…å®¹ãŒç•°ãªã‚‹ã®ã§3.ã®çŠ¶æ³ã¨ãªã‚‹ï¼Ž

  ãªãŠï¼ŒJFMã§\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\texttt{kanjiskip\_shrink}ã‚­ãƒ¼ãŒæŒ‡å®šã•ã‚Œã¦ã„ãŸå&nbsp;´åˆã¯ï¼Œâ€¦â€¦
  
\item[\Param{kanjiskip}~{[K]}] ä¸Šã®[M]ã«ãŠã„ã¦ç©ºç™½ãŒå®šã¾ã‚‰ãªã‹ã£ãŸå&nbsp;´åˆï¼Œ
ä»¥ä¸‹ã§å®šã‚ãŸé‡ã€Œå³ç©ºç™½ã€ã¨ã—ã¦æŽ¡ç”¨ã™ã‚‹ï¼Ž
ã“ã®æ®µéšŽã«ãŠã„ã¦ã¯ï¼Œ\cs{inhibitglue} ã¯åŠ¹åŠ›ã‚’æŒãŸãªã„ãŸã‚ï¼Œ
çµæžœã¨ã—ã¦ï¼Œ2ã¤ã®\textbf{JAchar}é–“ã«ã¯å¸¸ã«ä½•ã‚‰ã‹ã®ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ãŒæŒ¿å…¥ã•ã‚Œã‚‹ã“ã¨ã¨ãªã‚‹ï¼Ž
\begin{enumerate}
\item ä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ï¼ˆåŽ³å¯†ã«ã¯$\mathit{Nq}.\mathit{tail}$ï¼Œ$\mathit{Np}.\mathit{head}$ï¼‰ã®ä¸­èº«ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã«å¯¾ã™ã‚‹
\Param{autospacing}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒä¸¡æ–¹ã¨ã‚‚falseã&nbsp;ã£ãŸå&nbsp;´åˆã¯ï¼Œé•·ã•0ã®glueã¨ã™ã‚‹ï¼Ž
\item ãƒ¦ãƒ¼ã‚¶å´ã‹ã‚‰è¦‹ãŸ\Param{kanjiskip}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®è‡ªç„¶é•·ãŒ$\cs{maxdimen}=(2^{30}-1)\,\mbox{sp}$ã§
ãªã‘ã‚Œã°ï¼Œ\Param{kanjiskip}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å€¤ã‚’æŒã¤glueã‚’æŽ¡ç”¨ã™ã‚‹ï¼Ž
\item 2.ã§ãªã„å&nbsp;´åˆã¯ï¼Œ\textit{Nq}, \textit{Np}ã§ä½¿ã‚ã‚Œã¦ã„ã‚‹JFMã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹\Param{kanjiskip}ã®å€¤ã‚’ç”¨ã„ã‚‹ï¼Ž
ã©ã¡ã‚‰ã‹ç‰‡æ–¹ã®ã‚¯ãƒ©ã‚¹ã‚¿ã&nbsp;ã‘ãŒ\textbf{JAchar}ï¼ˆ\textsf{å’Œæ–‡A}ãƒ»\textsf{å’Œæ–‡B}ï¼‰ã®ã¨ãã¯ï¼Œãã¡ã‚‰ã®ã‚¯ãƒ©ã‚¹ã‚¿ã§ä½¿ã‚ã‚Œã¦ã„ã‚‹
JFMç”±æ¥ã®å€¤ã&nbsp;ã‘ã‚’ç”¨ã„ã‚‹ï¼Žã‚‚ã—ä¸¡è€…ã§ä½¿ã‚ã‚Œã¦ã„ã‚‹JFMãŒç•°ãªã£ãŸå&nbsp;´åˆã¯ï¼Œä¸Šã®[M]~3.ã¨åŒæ§˜ã®æ–¹æ³•ã‚’ç”¨ã„ã¦èª¿æ•´ã™ã‚‹ï¼Ž
\end{enumerate}
\end{description}
%\paragraph{ã€Œå·¦ç©ºç™½ã€ã®ç®—å‡ºã¨ãã‚Œã«ä¼´ã†è£œæ­£}
%ã€Œå·¦ç©ºç™½ã€ã¯éŽåŽ»ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯å®šç¾©ã—ã¦ã„ãŸãŒï¼Œã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯
%æŒ¿å…¥ã¯ä¸€åˆ‡è¡Œã‚ã‚Œãªã„ï¼ˆæ©Ÿèƒ½è‡ªä½“å‰Šé™¤ã—ã¦ã„ã‚‹ï¼‰ï¼Ž
%ã—ã‹ã—ï¼Œä»•æ§˜ã¯æµå‹•çš„ã§ã‚ã‚Šï¼Œå°†æ¥å¾©æ´»ã™ã‚‹å¯èƒ½æ€§ã‚‚ã‚ã‚‹ãŸã‚ï¼Œãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ä¸­ã®è¨˜è¿°ã¯ä»Šã®ã¨ã“ã‚æ¥µåŠ›å¤‰æ›´ã—ãªã„ï¼Ž
\paragraph{ç¦å‰‡ç”¨ãƒšãƒŠãƒ«ãƒ†ã‚£ã®æŒ¿å…¥}
ã¾ãšï¼Œ
\[
 a:=(\text{\textit{Nq}{\footnotemark}ã®æ–‡å­—ã«å¯¾ã™ã‚‹\Param{postbreakpenalty}ã®å€¤})
+(\text{\textit{Np}{\footnotemark}ã®æ–‡å­—ã«å¯¾ã™ã‚‹\Param{prebreakpenalty}ã®å€¤})
\]
ã¨ãŠã\footnotetext{åŽ³å¯†ã«ã¯ãã‚Œãžã‚Œ$\mathit{Nq}.\mathit{tail}$ï¼Œ$\mathit{Np}.\mathit{head}$ï¼Ž}ï¼Ž
ãƒšãƒŠãƒ«ãƒ†ã‚£ã¯é€šå¸¸$[-10000,10000]$ã®æ•´æ•°å€¤ã‚’ã¨ã‚Šï¼Œã¾ãŸ$\pm 10000$ã¯æ­£è²&nbsp;ã®ç„¡é™å¤§ã‚’æ„å‘³ã™ã‚‹ã“ã¨ã«ãªã£ã¦ã„ã‚‹ãŒï¼Œã“ã®$a$ã®
ç®—å‡ºã§ã¯å˜ç´”ãªæ•´æ•°ã®åŠ&nbsp;æ¸›ç®—ã‚’è¡Œã†ï¼Ž

$a$ã¯ç¦å‰‡å‡¦ç†ç”¨ã«\textit{Nq}ã¨\textit{Np}ã®é–“ã«åŠ&nbsp;ãˆã‚‰ã‚Œã‚‹ã¹ããƒšãƒŠãƒ«ãƒ†ã‚£é‡ã§ã‚ã‚‹ï¼Ž
\begin{description}
\item[P-normal~{[PN]}]
\textit{Nq}ã¨\textit{Np}ã®é–“ã®(a)éƒ¨åˆ†ã«ãƒšãƒŠãƒ«ãƒ†ã‚£(\textit{penalty\_node})ãŒã‚ã‚Œã°å‡¦ç†ã¯ç°¡å˜ã§ã‚ã‚‹ï¼š
ãã‚Œã‚‰ã®å„ãƒŽãƒ¼ãƒ‰ã«ãŠã„ã¦ï¼ŒãƒšãƒŠãƒ«ãƒ†ã‚£å€¤ã‚’ï¼ˆ$\pm 10000$ã‚’ç„¡é™å¤§ã¨ã—ã¦æ‰±ã„ã¤ã¤ï¼‰$a$ã&nbsp;ã‘å¢—åŠ&nbsp;ã•ã›ã‚Œã°ã‚ˆã„ï¼Ž
ã¾ãŸï¼Œ$10000 + (-10000) = 0$ã¨ã—ã¦ã„ã‚‹ï¼Ž

å°‘ã€…å›°ã‚‹ã®ã¯ï¼Œ(a)éƒ¨åˆ†ã«ãƒšãƒŠãƒ«ãƒ†ã‚£ãŒå­˜åœ¨ã—ã¦ã„ãªã„å&nbsp;´åˆã§ã‚ã‚‹ï¼Ž
ç›´æ„Ÿçš„ã«ï¼Œè£œæ­£ã™ã¹ãé‡$a$ãŒ0ã§ãªã„ã¨ãï¼Œãã®å€¤ã‚’ã‚‚ã¤\textit{penalty\_node}ã‚’ä½œã£ã¦
ã€Œå³ç©ºç™½ã€ã®ï¼ˆã‚‚ã—æœªå®šç¾©ãªã‚‰\textit{Np}ã®ï¼‰ç›´å‰ã«æŒ¿å…¥â€¦â€¦
ã¨ã„ã†ã“ã¨ã«ãªã‚‹ãŒï¼Œå®Ÿéš›ã«ã¯åƒ…ã‹ã«ã“ã‚Œã‚ˆã‚Šè¤‡é›‘ã§ã‚ã‚‹ï¼Ž
\begin{itemize}
\item ã€Œå³ç©ºç™½ã€ãŒã‚«ãƒ¼ãƒ³ã§ã‚ã‚‹ã¨ãï¼Œ
ãã‚Œã¯ã€Œ\textit{Nq}ã¨\textit{Np}ã®é–“ã§æ”¹è¡Œã¯è¨±ã•ã‚Œãªã„ã€ã“ã¨ã‚’æ„å›³ã—ã¦ã„ã‚‹ï¼Žãã®ãŸã‚ï¼Œ
ã“ã®å&nbsp;´åˆã¯$a\neq 0$ã§ã‚ã£ã¦ã‚‚ãƒšãƒŠãƒ«ãƒ†ã‚£ã®æŒ¿å…¥ã¯ã—ãªã„ï¼Ž
\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 4\zw{\hss#2\hss}}{\hbox{#3}}$}
\begin{table}[t]
%&lt;en&gt;\caption{Summary of JFM glues}
%&lt;ja&gt;\caption{JFM ã‚°ãƒ«ãƒ¼ã®æ¦‚è¦}
\label{tab-jfmglue}
%&lt;en&gt;\medskip
\begin{center}
\small
\begin{tabular}{c|cccccc}
\toprule
{\bf\textit{Np}}â†“&amp;\sf å’Œæ–‡A&amp;\sf å’Œæ–‡B&amp;\sf æ¬§æ–‡&amp;\sf ç®±&amp;\sf glue&amp;\sf kern\\\midrule
\sf å’Œæ–‡A&amp;
\gkf{E}{Mâ†’K}{PN}&amp;
\gkf{---}{\OA â†’K}{PN}&amp;
\gkf{---}{\NA â†’X}{PN}&amp;
\gkf{---}{\OA}{PA}&amp;
\gkf{---}{\OA}{PN}&amp;
\gkf{---}{\OA}{PS}\\
\sf å’Œæ–‡B&amp;
\gkf{E}{\OBâ†’K}{PA}&amp;
\gkf{---}{K}{PS}&amp;
\gkf{---}{X}{PS}\\
\sf æ¬§æ–‡&amp;
\gkf{E}{\NB â†’X}{PA}&amp;
\gkf{---}{X}{PS}\cr
\sf ç®±&amp;\gkf{E}{\OB}{PA}\\
\sf glue&amp;\gkf{E}{\OB}{PN}\\
\sf kern&amp;\gkf{E}{\OB}{PS}\\
\bottomrule
\end{tabular}
\end{center}
\begin{quote}
%&lt;*en&gt;
In the table above, {\small\gkf{E}{Mâ†’K}{PN}} means that
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šã®è¡¨ã«ãŠã„ã¦ï¼Œ{\small\gkf{E}{Mâ†’K}{PN}}ã¯æ¬¡ã®æ„å‘³ã§ã‚ã‚‹ï¼š
%&lt;/ja&gt;
\begin{enumerate}
%&lt;*en&gt;
\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]}''.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ã€Œå³ç©ºç™½ã€ã‚’æ±ºã‚ã‚‹ãŸã‚ã«ï¼Œ\LuaTeX-ja ã¯ã¾ãšã€ŒJFMç”±æ¥{[M]}ã€ã®æ–¹æ³•ã‚’è©¦ã¿ã‚‹ï¼Ž
  ã“ã‚ŒãŒå¤±æ•—ã—ãŸã‚‰ï¼Œ\LuaTeX-ja ã¯ã€Œ\Param{kanjiskip}~{[K]}ã€ã®æ–¹æ³•ã‚’è©¦ã¿ã‚‹ï¼Ž
%&lt;/ja&gt;

% %&lt;*en&gt;
% \item The ``left space'' between \textit{Nq}~and~\textit{Np} is
%   determined by the method ``\textsf{line-end~[E]}''.
% %&lt;/en&gt;
% %&lt;*ja&gt;
% \item \textit{Nq} ã¨ \textit{Np} ã®é–“ã®ã€Œå·¦ç©ºç™½ã€ã¯ã€Œ\textsf{line-end~[E]}ã€ã®
%   æ–¹æ³•ã§æ±ºå®šã•ã‚Œã‚‹ï¼Ž
% %&lt;/ja&gt;

%&lt;*en&gt;
\item \LuaTeX-ja adopts the method ``\textsf{P-normal~[PN]}'' to adjust the penalty
  between two clusters for \emph{kinsoku shori}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \LuaTeX-jaã¯2ã¤ã®ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã®ç¦å‰‡å‡¦ç†ç”¨ã®ãƒšãƒŠãƒ«ãƒ†ã‚£ã‚’è¨­å®šã™ã‚‹ãŸã‚ã«ã€Œ\textsf{P-normal~[PN]}ã€ã®æ–¹æ³•ã‚’æŽ¡ç”¨ã™ã‚‹ï¼Ž
%&lt;/ja&gt;
\end{enumerate}
\end{quote}
\end{table}

\subsection{ãã®ä»–ã®å&nbsp;´åˆ}
æœ¬ç¯€ã®å†…å®¹ã¯\autoref{tab-jfmglue}ã«ã¾ã¨ã‚ã¦ã‚ã‚‹ï¼Ž

\paragraph{å’Œæ–‡Aã¨æ¬§æ–‡ã®é–“}
\textit{Nq}ãŒ\textsf{å’Œæ–‡A}ã§ï¼Œ\textit{Np}ãŒ\textsf{æ¬§æ–‡}ã®å&nbsp;´åˆï¼ŒJFMã‚°ãƒ«ãƒ¼æŒ¿å…¥å‡¦ç†ã¯æ¬¡ã®ã‚ˆã†ã«ã—ã¦è¡Œã‚ã‚Œã‚‹ï¼Ž
\begin{itemize}
\item ã€Œå³ç©ºç™½ã€ã«ã¤ã„ã¦ã¯ï¼Œã¾ãšä»¥ä¸‹ã«è¿°ã¹ã‚‹\textsf{æ¬§æ–‡å¢ƒç•ŒB~[\NB]}ã«ã‚ˆã‚Šç©ºç™½ã‚’æ±ºå®šã—ã‚ˆã†ã¨è©¦ã¿ã‚‹ï¼Ž
ãã‚ŒãŒå¤±æ•—ã—ãŸå&nbsp;´åˆã¯ï¼Œ\textsf{\Param{xkanjiskip}~[X]}ã«ã‚ˆã£ã¦å®šã‚ã‚‹ï¼Ž
%\item ã€Œå·¦ç©ºç™½ã€ã«ã¤ã„ã¦ã¯ï¼Œæ—¢ã«è¿°ã¹ãŸ\textsf{line-end~[E]}ã‚’ãã®ã¾ã¾æŽ¡ç”¨ã™ã‚‹ï¼Žãã‚Œã«ä¼´ã†ã€Œå³ç©ºç™½ã€ã®è£œæ­£ã‚‚%åŒã˜ï¼Ž
\item ç¦å‰‡ç”¨ãƒšãƒŠãƒ«ãƒ†ã‚£ã‚‚ï¼Œä»¥å‰è¿°ã¹ãŸ\textsf{P-normal~[PN]}ã¨åŒã˜ã§ã‚ã‚‹ï¼Ž
\end{itemize}
\begin{description}
\item[æ¬§æ–‡å¢ƒç•ŒB~{[\NB]}] ä»¥ä¸‹ã§æ±‚ã‚ãŸé‡ã‚’ã€Œå³ç©ºç™½ã€ã¨ã—ã¦æŽ¡ç”¨ã™ã‚‹ï¼Ž
ã“ã®å‡¦ç†ã¯\textsf{JFM-origin~[M]}ã®å¤‰ç¨®ã¨è€ƒãˆã¦è‰¯ãï¼Œ
å…¸åž‹ä¾‹ã¯ã€Œå’Œæ–‡ã®é–‰ã˜æ‹¬å¼§ã¨æ¬§æ–‡æ–‡å­—ã®é–“ã«å…¥ã‚‹åŠè§’ã‚¢ã‚­ã€ã§ã‚ã‚‹ï¼Ž
\begin{enumerate}
\item ã‚‚ã—ä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã§ \cs{inhibitglue} ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ãŸå&nbsp;´åˆ%
ï¼ˆè¨¼ã¨ã—ã¦whatsitãƒŽãƒ¼ãƒ‰ãŒè‡ªå‹•æŒ¿å…¥ã•ã‚Œã‚‹ï¼‰ï¼Œæœªå®šç¾©ï¼Ž
\item ãã†ã§ãªã‘ã‚Œã°ï¼Œ
\textit{Nq}ã¨ã€Œæ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ$x$ã®æ–‡å­—ã€ã¨ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã¨ã™ã‚‹ï¼Ž
ã“ã®$x$ã¯æ¬¡ã®å&nbsp;´åˆåˆ†ã‘ã«ã‚ˆã‚‹ï¼š
  \begin{itemize}
    \item $\mathit{Np}.\mathit{id}$ãŒ\textit{id\_math}ã®ã¨ãï¼ˆã¤ã¾ã‚Šã‚¯ãƒ©ã‚¹ã‚¿\textit{Np}ãŒæ–‡ä¸­æ•°å¼ã‚’è¡¨ã™ï¼‰
    ã¨ãã¯ï¼Œ$x=-1$ï¼Ž
    \item \textit{Np}ã®ä¸­èº«ã®ä¸­èº«ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã«ã¤ã„ã¦ï¼Œã€Œç›´å‰ã¸ã®\Param{xkanjiskip}ã®æŒ¿å…¥ã€ãŒç¦æ­¢ã•ã‚Œã¦ã„ã‚‹
ï¼ˆã¤ã¾ã‚Šï¼Œ\Param{jaxspmode}~(or \Param{alxspmode})ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒå¶æ•°ï¼‰ã¨ãã¯ï¼Œ
    $x=\text{\texttt{'nox\_alchar'}}$ï¼Ž
    \item ä»¥ä¸Šã®ã„ãšã‚Œã§ã‚‚ãªã„ã¨ãã¯ï¼Œ$x=\text{\texttt{'alchar'}}$ï¼Ž
  \end{itemize}
\end{enumerate}
\item[\Param{xkanjiskip}~{[X]}]
ã“ã®æ®µéšŽã§ã¯ï¼Œ\textsf{\Param{kanjiskip}~[K]}ã®ã¨ãã¨åŒã˜ã‚ˆã†ã«ï¼Œ
ä»¥ä¸‹ã§å®šã‚ãŸé‡ã‚’ã€Œå³ç©ºç™½ã€ã¨ã—ã¦æŽ¡ç”¨ã™ã‚‹ï¼Ž
\cs{inhibitglue} ã¯åŠ¹åŠ›ã‚’æŒãŸãªã„ï¼Ž
\begin{enumerate}
\item ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã®å&nbsp;´åˆã¯ï¼Œ\Param{xkanjiskip}ã®æŒ¿å…¥ã¯æŠ‘æ­¢ã•ã‚Œã‚‹ï¼Žã—ã‹ã—ï¼Œå®Ÿéš›ã«ã¯è¡Œåˆ†å‰²ã‚’è¨±å®¹ã™ã‚‹ãŸã‚ã«ï¼Œé•·ã•0ã®glueã‚’æŽ¡ç”¨ã™ã‚‹ï¼š
\begin{itemize}
\item ä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ã«ãŠã„ã¦ï¼Œãã‚Œã‚‰ã®ä¸­èº«ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã«å¯¾ã™ã‚‹\Param{autoxspacing}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒå…±ã«falseã§ã‚ã‚‹ï¼Ž
\item \textit{Nq}ã®ä¸­èº«ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã«ã¤ã„ã¦ï¼Œã€Œç›´å¾Œã¸ã®\Param{xkanjiskip}ã®æŒ¿å…¥ã€ãŒç¦æ­¢ã•ã‚Œã¦ã„ã‚‹
ï¼ˆã¤ã¾ã‚Šï¼Œ\Param{jaxspmode}~(or \Param{alxspmode})ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒ2ä»¥ä¸Šï¼‰ï¼Ž
\item \textit{Np}ã®ä¸­èº«ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã«ã¤ã„ã¦ï¼Œã€Œç›´å‰ã¸ã®\Param{xkanjiskip}ã®æŒ¿å…¥ã€ãŒç¦æ­¢ã•ã‚Œã¦ã„ã‚‹
ï¼ˆã¤ã¾ã‚Šï¼Œ\Param{jaxspmode}~(or \Param{alxspmode})ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒå¶æ•°ï¼‰ï¼Ž
\end{itemize}
\item ãƒ¦ãƒ¼ã‚¶å´ã‹ã‚‰è¦‹ãŸ\Param{xkanjiskip}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®è‡ªç„¶é•·ãŒ$\cs{maxdimen}=(2^{30}-1)\,\textrm{sp}$ã§
ãªã‘ã‚Œã°ï¼Œ\Param{xkanjiskip}ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®å€¤ã‚’æŒã¤glueã‚’æŽ¡ç”¨ã™ã‚‹ï¼Ž
\item 2.ã§ãªã„å&nbsp;´åˆã¯ï¼Œ\textit{Nq}, \textit{Np}ï¼ˆ\textsf{å’Œæ–‡A}/\textsf{å’Œæ–‡B}ãªã®ã¯ç‰‡æ–¹ã&nbsp;ã‘ï¼‰
ã§ä½¿ã‚ã‚Œã¦ã„ã‚‹JFMã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹\Param{xkanjiskip}ã®å€¤ã‚’ç”¨ã„ã‚‹ï¼Ž
\end{enumerate}
\end{description}

\paragraph{æ¬§æ–‡ã¨å’Œæ–‡Aã®é–“}
\textit{Nq}ãŒ\textsf{æ¬§æ–‡}ã§ï¼Œ\textit{Np}ãŒ\textsf{å’Œæ–‡A}ã®å&nbsp;´åˆï¼ŒJFMã‚°ãƒ«ãƒ¼æŒ¿å…¥å‡¦ç†ã¯ä¸Šã®å&nbsp;´åˆã¨ã»ã¼åŒã˜ã§ã‚ã‚‹ï¼Ž
\textsf{å’Œæ–‡A}ã®ã‚¯ãƒ©ã‚¹ã‚¿ãŒé€†ã«ãªã‚‹ã®ã§ï¼Œ\textsf{æ¬§æ–‡å¢ƒç•ŒB~[\NB]}ã®éƒ¨åˆ†ãŒå¤‰ã‚ã‚‹ã&nbsp;ã‘ã§ã‚ã‚‹ï¼Ž
\begin{itemize}
\item ã€Œå³ç©ºç™½ã€ã«ã¤ã„ã¦ã¯ï¼Œã¾ãšä»¥ä¸‹ã«è¿°ã¹ã‚‹\textsf{æ¬§æ–‡å¢ƒç•ŒA~[\OA]}ã«ã‚ˆã‚Šç©ºç™½ã‚’æ±ºå®šã—ã‚ˆã†ã¨è©¦ã¿ã‚‹ï¼Ž
ãã‚ŒãŒå¤±æ•—ã—ãŸå&nbsp;´åˆã¯ï¼Œ\textsf{\Param{xkanjiskip}~[X]}ã«ã‚ˆã£ã¦å®šã‚ã‚‹ï¼Ž
%\item \textit{Nq}ãŒå’Œæ–‡ã§ãªã„ã®ã§ï¼Œã€Œå·¦ç©ºç™½ã€ã¯ç®—å‡ºã•ã‚Œãªã„ï¼Ž
\item ç¦å‰‡ç”¨ãƒšãƒŠãƒ«ãƒ†ã‚£ã¯ï¼Œä»¥å‰è¿°ã¹ãŸ\textsf{P-normal~[PN]}ã¨åŒã˜ã§ã‚ã‚‹ï¼Ž
\end{itemize}
\begin{description}
\item[æ¬§æ–‡å¢ƒç•ŒA~{[\NA]}] ã“ã‚Œã¯\textsf{æ¬§æ–‡å¢ƒç•ŒB~[\NB]}ã§\textit{Np}ã¨\textit{Nq}ã®å½¹å‰²ãŒ
  äº¤æ›ã•ã‚ŒãŸã‚‚ã®ã¨æ€ãˆã°è‰¯ã„ï¼Ž
  ã“ã®å‡¦ç†ã§å®šã¾ã‚‹ç©ºç™½ã®å…¸åž‹ä¾‹ã¯ï¼Œæ¬§æ–‡æ–‡å­—ã¨å’Œæ–‡ã®é–‹ãæ‹¬å¼§ã¨ã®é–“ã«å…¥ã‚‹åŠè§’ã‚¢ã‚­ã§ã‚ã‚‹ï¼Ž
\begin{enumerate}
\item ã‚‚ã—ä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã§ \cs{inhibitglue} ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ãŸå&nbsp;´åˆï¼ˆè¨¼ã¨ã—ã¦whatsitãƒŽãƒ¼ãƒ‰ãŒè‡ªå‹•æŒ¿å…¥ã•ã‚Œã‚‹ï¼‰ï¼Œ
  æœªå®šç¾©ï¼Ž
\item ãã†ã§ãªã‘ã‚Œã°ï¼Œ
ã€Œæ–‡å­—ã‚³ãƒ¼ãƒ‰ãŒ$x$ã®æ–‡å­—ã€ã¨\textit{Np}ã¨ã®é–“ã«å…¥ã‚‹ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã¨å®šã‚ã‚‹ï¼Ž
$x$ã¯\textit{Nq}ã‹ã‚‰\textsf{æ¬§æ–‡å¢ƒç•ŒB~[\NB]}ã«ãŠã‘ã‚‹ãã‚Œã¨åŒã˜æ–¹æ³•ã§å®šã‚ã‚‹ãŒï¼Œ
\texttt{'nox\_alchar'}ã‹\texttt{'alchar'}ã¯
\begin{quote}
  \textit{Nq}ã®ä¸­èº«ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰ã«ã¤ã„ã¦ï¼Œã€Œç›´å¾Œã¸ã®\Param{xkanjiskip}ã®æŒ¿å…¥ã€ãŒç¦æ­¢ã•ã‚Œã¦ã„ã‚‹
ï¼ˆã¤ã¾ã‚Šï¼Œ\Param{jaxspmode}~(or \Param{alxspmode})ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒ2ä»¥ä¸Šï¼‰ï¼Ž
\end{quote}
  ã‹å¦ã‹ã§åˆ¤æ–­ã™ã‚‹ï¼Ž
\end{enumerate}
\end{description}

\paragraph{å’Œæ–‡Aã¨ç®±ãƒ»ã‚°ãƒ«ãƒ¼ãƒ»ã‚«ãƒ¼ãƒ³ã®é–“}
\textit{Nq}ãŒ\textsf{å’Œæ–‡A}ã§ï¼Œ\textit{Np}ãŒ\textsf{ç®±}ãƒ»ã‚°ãƒ«ãƒ¼ãƒ»ã‚«ãƒ¼ãƒ³ã®ã„ãšã‚Œã‹ã§ã‚ã£ãŸå&nbsp;´åˆï¼Œ
ä¸¡è€…ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹JFMã‚°ãƒ«ãƒ¼ã«ã¤ã„ã¦ã¯åŒã˜å‡¦ç†ã§ã‚ã‚‹ï¼Žã—ã‹ã—ï¼Œãã“ã§ã®è¡Œåˆ†å‰²ã«å¯¾ã™ã‚‹ä»•æ§˜ãŒç•°ãªã‚‹ã®ã§ï¼Œ
ãƒšãƒŠãƒ«ãƒ†ã‚£ã®æŒ¿å…¥å‡¦ç†ã¯è‹¥å¹²ç•°ãªã£ãŸã‚‚ã®ã¨ãªã£ã¦ã„ã‚‹ï¼Ž
\begin{itemize}
\item ã€Œå³ç©ºç™½ã€ã«ã¤ã„ã¦ã¯ï¼Œä»¥ä¸‹ã«è¿°ã¹ã‚‹\textsf{Boundary-B~[\OB]}ã«ã‚ˆã‚Šç©ºç™½ã‚’æ±ºå®šã—ã‚ˆã†ã¨è©¦ã¿ã‚‹ï¼Ž
ãã‚ŒãŒå¤±æ•—ã—ãŸå&nbsp;´åˆã¯ï¼Œã€Œå³ç©ºç™½ã€ã¯æŒ¿å…¥ã•ã‚Œãªã„ï¼Ž
%\item ã€Œå·¦ç©ºç™½ã€ã«ã¤ã„ã¦ã¯ï¼Œæ—¢ã«è¿°ã¹ãŸ\textsf{line-end~[E]}ã®ç®—å‡ºæ–¹æ³•ã‚’ãã®ã¾ã¾æŽ¡ç”¨ã™ã‚‹ï¼Žãã‚Œã«ä¼´ã†ã€Œå³ç©ºç™½ã€ã®è£œæ­£ã‚‚åŒã˜ï¼Ž
\item ç¦å‰‡ç”¨ãƒšãƒŠãƒ«ãƒ†ã‚£ã®å‡¦ç†ã¯ï¼Œå¾Œã‚ã®ã‚¯ãƒ©ã‚¹ã‚¿\textit{Np}ã®ç¨®é¡žã«ã‚ˆã£ã¦ç•°ãªã‚‹ï¼Ž
ãªãŠï¼Œ$\mathit{Np}.\mathit{head}$ã¯ç„¡æ„å‘³ã§ã‚ã‚‹ã‹ã‚‰ï¼Œ
ã€Œ$\mathit{Np}.\mathit{head}$ã«å¯¾ã™ã‚‹\Param{prebreakpenalty}ã®å€¤ã€ã¯0ã¨ã¿ãªã•ã‚Œã‚‹ï¼Žè¨€ã„æ›ãˆã‚Œã°ï¼Œ
\[
 a:=(\text{\textit{Nq}ã®æ–‡å­—ã«å¯¾ã™ã‚‹\Param{postbreakpenalty}ã®å€¤}).
\]
\begin{description}
\item[ç®±] \textit{Np}ãŒ\textsf{ç®±}ã§ã‚ã£ãŸå&nbsp;´åˆã¯ï¼Œä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã§ã®è¡Œåˆ†å‰²ã¯
ï¼ˆæ˜Žç¤ºçš„ã«ä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã« \cs{penalty10000} ãŒã‚ã£ãŸå&nbsp;´åˆã‚’é™¤ãï¼‰ã„ã¤ã‚‚è¨±å®¹ã•ã‚Œã‚‹ï¼Žãã®ãŸã‚ï¼Œ
ãƒšãƒŠãƒ«ãƒ†ã‚£å‡¦ç†ã¯ï¼Œå¾Œã«è¿°ã¹ã‚‹\textsf{P-allow~[PA]}ãŒ\textsf{P-normal~[PN]}ã®ä»£ã‚ã‚Šã«ç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
\item[ã‚°ãƒ«ãƒ¼] \textit{Np}ãŒã‚°ãƒ«ãƒ¼ã®å&nbsp;´åˆï¼ŒãƒšãƒŠãƒ«ãƒ†ã‚£å‡¦ç†ã¯\textsf{P-normal~[PN]}ã‚’ç”¨ã„ã‚‹ï¼Ž
\item[ã‚«ãƒ¼ãƒ³] \textit{Np}ãŒã‚«ãƒ¼ãƒ³ã§ã‚ã£ãŸå&nbsp;´åˆã¯ï¼Œä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã§ã®è¡Œåˆ†å‰²ã¯
ï¼ˆæ˜Žç¤ºçš„ã«ä¸¡ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã«ãƒšãƒŠãƒ«ãƒ†ã‚£ãŒã‚ã£ãŸå&nbsp;´åˆã‚’é™¤ãï¼‰è¨±å®¹ã•ã‚Œãªã„ï¼Ž
ãƒšãƒŠãƒ«ãƒ†ã‚£å‡¦ç†ã¯ï¼Œå¾Œã«è¿°ã¹ã‚‹\textsf{P-suppress~[PS]}ã‚’ä½¿ã†ï¼Ž
\end{description}
ã“ã‚Œã‚‰ã®\textsf{P-normal~[PN]}ï¼Œ\textsf{P-allow~[PA]}ï¼Œ\textsf{P-suppress~[PS]}ã®é•ã„ã¯ï¼Œ
\textit{Nq}ã¨\textit{Np}ã®é–“ï¼ˆä»¥å‰ã®å›³ã&nbsp;ã¨(a)ã®éƒ¨åˆ†ï¼‰ã«ãƒšãƒŠãƒ«ãƒ†ã‚£ãŒå­˜åœ¨ã—ãªã„å&nbsp;´åˆã«ã®ã¿å­˜åœ¨ã™ã‚‹ï¼Ž
\end{itemize}

\begin{description}
\item[Boundary-B~{[\OB]}] ã“ã®å‡¦ç†ã¯\textsf{æ¬§æ–‡å¢ƒç•ŒB~[\NB]}ã¨åŒæ§˜ã§ã‚ã‚Šï¼Œ
  $x$ãŒæ¬¡ã«ã‚ˆã£ã¦æ±ºã¾ã‚‹ã“ã¨ã®ã¿ãŒç•°ãªã‚‹ï¼š
  \begin{itemize}
    \item \textit{Np}ãŒã‚°ãƒ«ãƒ¼ã‚„ã‚«ãƒ¼ãƒ³ã®ã¨ãã¯ï¼Œ$x=\text{\texttt{'glue'}}$ï¼Ž
    \item ãã†ã§ãªã„ï¼ˆ\textit{Np}ãŒ\textsf{ç®±}ï¼‰ã¨ãã¯ï¼Œ$x=\text{\texttt{'jcharbdd'}}$ï¼Ž
  \end{itemize}
\item[P-allow~{[PA]}]
\textit{Nq}ã¨\textit{Np}ã®é–“ã®(a)éƒ¨åˆ†ã«ãƒšãƒŠãƒ«ãƒ†ã‚£ãŒã‚ã‚Œã°ï¼Œ\textsf{P-normal~[PN]}ã¨åŒæ§˜ã«ï¼Œ
ãã‚Œã‚‰ã®å„ãƒŽãƒ¼ãƒ‰ã«ãŠã„ã¦ãƒšãƒŠãƒ«ãƒ†ã‚£å€¤ã‚’$a$ã&nbsp;ã‘å¢—åŠ&nbsp;ã•ã›ã‚‹ï¼Ž

(a)éƒ¨åˆ†ã«ãƒšãƒŠãƒ«ãƒ†ã‚£ãŒå­˜åœ¨ã—ã¦ã„ãªã„å&nbsp;´åˆï¼Œ
\LuaTeX-ja ã¯\textit{Nq}ã¨\textit{Np}ã®é–“ã®è¡Œåˆ†å‰²ã‚’å¯èƒ½ã«ã—ã‚ˆã†ã¨ã™ã‚‹ï¼Ž
ãã®ãŸã‚ã«ï¼Œä»¥ä¸‹ã®ã„ãšã‚Œã‹ã®å&nbsp;´åˆã«$a$ã‚’ã‚‚ã¤\textit{penalty\_node}ã‚’ä½œã£ã¦
ã€Œå³ç©ºç™½ã€ã®ï¼ˆã‚‚ã—æœªå®šç¾©ãªã‚‰\textit{Np}ã®ï¼‰ç›´å‰ã«æŒ¿å…¥ã™ã‚‹ï¼š
\begin{itemize}
\item ã€Œå³ç©ºç™½ã€ãŒã‚°ãƒ«ãƒ¼ã§ãªã„ï¼ˆã‚«ãƒ¼ãƒ³ã‹æœªå®šç¾©ï¼‰ã§ã‚ã‚‹ã¨ãï¼Ž
\item $a\neq 0$ã®ã¨ãã¯ï¼Œã€Œå³ç©ºç™½ã€ãŒã‚°ãƒ«ãƒ¼ã§ã‚ã£ã¦ã‚‚\textit{penalty\_node}ã‚’ä½œã‚‹ï¼Ž
\end{itemize}

\item[P-suppress~{[PS]}]
\textit{Nq}ã¨\textit{Np}ã®é–“ã®(a)éƒ¨åˆ†ã«ãƒšãƒŠãƒ«ãƒ†ã‚£ãŒã‚ã‚Œã°ï¼Œ\textsf{P-normal~[PN]}ã¨åŒæ§˜ã«ï¼Œ
ãã‚Œã‚‰ã®å„ãƒŽãƒ¼ãƒ‰ã«ãŠã„ã¦ãƒšãƒŠãƒ«ãƒ†ã‚£å€¤ã‚’$a$ã&nbsp;ã‘å¢—åŠ&nbsp;ã•ã›ã‚‹ï¼Ž

(a)éƒ¨åˆ†ã«ãƒšãƒŠãƒ«ãƒ†ã‚£ãŒå­˜åœ¨ã—ã¦ã„ãªã„å&nbsp;´åˆï¼Œ
\textit{Nq}ã¨\textit{Np}ã®é–“ã®è¡Œåˆ†å‰²ã¯å…ƒã€…ä¸å¯èƒ½ã®ã¯ãšã&nbsp;ã£ãŸã®ã§ã‚ã‚‹ãŒï¼Œ
\LuaTeX-ja ã¯ãã‚Œã‚’ã‚ã–ã‚ã–è¡Œåˆ†å‰²å¯èƒ½ã«ã¯ã—ãªã„ï¼Ž
ãã®ãŸã‚ï¼Œã€Œå³ç©ºç™½ã€ãŒglueã§ã‚ã‚Œã°ï¼Œãã®ç›´å‰ã« \cs{penalty10000} ã‚’æŒ¿å…¥ã™ã‚‹ï¼Ž
\end{description}

\paragraph{ç®±ãƒ»ã‚°ãƒ«ãƒ¼ãƒ»ã‚«ãƒ¼ãƒ³ã¨å’Œæ–‡Aã®é–“}
\textit{Np}ãŒ\textsf{ç®±}ãƒ»ã‚°ãƒ«ãƒ¼ãƒ»ã‚«ãƒ¼ãƒ³ã®ã„ãšã‚Œã‹ã§ï¼Œ\textit{Np}ãŒ\textsf{å’Œæ–‡A}ã§ã‚ã£ãŸå&nbsp;´åˆã¯ï¼Œ
ã™ãä¸Šã®ï¼ˆ\textit{Nq}ã¨\textit{Np}ã®é&nbsp;†åºãŒé€†ã«ãªã£ã¦ã„ã‚‹ï¼‰å&nbsp;´åˆã¨åŒã˜ã§ã‚ã‚‹ï¼Ž
%ãŒï¼Œã€Œå·¦ç©ºç™½ã€ãŒãªããªã‚‹ã“ã¨ã«ã®ã¿æ³¨æ„ï¼Ž
\begin{itemize}
\item ã€Œå³ç©ºç™½ã€ã«ã¤ã„ã¦ã¯ï¼Œä»¥ä¸‹ã«è¿°ã¹ã‚‹\textsf{Boundary-A~[\OA]}ã«ã‚ˆã‚Šç©ºç™½ã‚’æ±ºå®šã—ã‚ˆã†ã¨è©¦ã¿ã‚‹ï¼Ž
ãã‚ŒãŒå¤±æ•—ã—ãŸå&nbsp;´åˆã¯ï¼Œã€Œå³ç©ºç™½ã€ã¯æŒ¿å…¥ã•ã‚Œãªã„ï¼Ž
%\item \textit{Nq}ãŒå’Œæ–‡ã§ãªã„ã®ã§ï¼Œã€Œå·¦ç©ºç™½ã€ã¯ç®—å‡ºã•ã‚Œãªã„ï¼Ž
\item ç¦å‰‡ç”¨ãƒšãƒŠãƒ«ãƒ†ã‚£ã®å‡¦ç†ã¯ï¼Œ\textit{Nq}ã®ç¨®é¡žã«ã‚ˆã£ã¦ç•°ãªã‚‹ï¼Ž
$\mathit{Nq}.\mathit{tail}$ã¯ç„¡æ„å‘³ãªã®ã§ï¼Œ
\[
 a:=(\text{\textit{Np}ã®æ–‡å­—ã«å¯¾ã™ã‚‹\Param{prebreakpenalty}ã®å€¤}).
\]
\begin{description}
\item[ç®±] \textit{Nq}ãŒ\textsf{ç®±}ã®å&nbsp;´åˆã¯ï¼Œ\textsf{P-allow~[PA]}ã‚’ç”¨ã„ã‚‹ï¼Ž
\item[ã‚°ãƒ«ãƒ¼] \textit{Nq}ãŒã‚°ãƒ«ãƒ¼ã®å&nbsp;´åˆã¯ï¼Œ\textsf{P-normal~[PN]}ã‚’ç”¨ã„ã‚‹ï¼Ž
\item[ã‚«ãƒ¼ãƒ³] \textit{Nq}ãŒã‚«ãƒ¼ãƒ³ã®å&nbsp;´åˆã¯ï¼Œ\textsf{P-suppress~[PS]}ã‚’ç”¨ã„ã‚‹ï¼Ž
\end{description}
\end{itemize}

\begin{description}
\item[Boundary-A~{[\OA]}] ã“ã®å‡¦ç†ã¯\textsf{æ¬§æ–‡å¢ƒç•ŒA~[\NA]}ã¨åŒæ§˜ã§ã‚ã‚Šï¼Œ
  $x$ãŒæ¬¡ã«ã‚ˆã£ã¦æ±ºã¾ã‚‹ã“ã¨ã®ã¿ãŒç•°ãªã‚‹ï¼š
  \begin{itemize}
    \item \textit{Nq}ãŒã‚°ãƒ«ãƒ¼ã‚„ã‚«ãƒ¼ãƒ³ã®ã¨ãã¯ï¼Œ$x=\text{\texttt{'glue'}}$ï¼Ž
    \item ãã†ã§ãªã„ï¼ˆ\textit{Nq}ãŒ\textsf{ç®±}ï¼‰ã¨ãã¯ï¼Œ$x=\text{\texttt{'jcharbdd'}}$ï¼Ž
  \end{itemize}
\end{description}

\paragraph{å’Œæ–‡Aã¨å’Œæ–‡Bã®é•ã„}
å…ˆã«è¿°ã¹ãŸã‚ˆã†ã«ï¼Œ\textsf{å’Œæ–‡B}ã¯hboxã®ä¸­èº«ã®å…ˆé&nbsp;­ï¼ˆor æœ«å°¾ï¼‰ã¨ã—ã¦å‡ºç¾ã—ã¦ã„ã‚‹
\textbf{JAchar}ã§ã‚ã‚‹ï¼Žãƒªã‚¹ãƒˆå†…ã«ç›´æŽ¥ãƒŽãƒ¼ãƒ‰ã¨ã—ã¦ç¾ã‚Œã¦ã„ã‚‹\textbf{JAchar}ï¼ˆ\textsf{å’Œæ–‡A}ï¼‰ã¨ã®é•ã„ã¯ï¼Œ
\begin{itemize}
\item \textsf{å’Œæ–‡B}ã«å¯¾ã—ã¦ã¯ï¼ŒJFMã®æ–‡å­—ã‚¯ãƒ©ã‚¹æŒ‡å®šã‹ã‚‰å®šã¾ã‚‹ç©ºç™½
ï¼ˆ\textsf{JFMç”±æ¥[M]}ï¼Œ\textsf{Boundary-A~[\OA]}ãªã©ï¼‰ã®æŒ¿å…¥ã¯è¡Œã‚ã‚Œãªã„ï¼Ž
%ã€Œå·¦ç©ºç™½ã€ã®ç®—å‡ºã‚‚è¡Œã‚ã‚Œãªã„ï¼Ž
ä¾‹ãˆã°ï¼Œ
\begin{itemize}
\item ç‰‡æ–¹ãŒ\textsf{å’Œæ–‡A}ï¼Œã‚‚ã†ç‰‡æ–¹ãŒ\textsf{å’Œæ–‡B}ã®ã‚¯ãƒ©ã‚¹ã‚¿ã®å&nbsp;´åˆï¼Œ
\textsf{Boundary-A~[\OA]}ã¾ãŸã¯\textsf{Boundary-B~[\OB]}ã®æŒ¿å…¥ã‚’è©¦ã¿ï¼Œãã‚ŒãŒãƒ€ãƒ¡ãªã‚‰
\Param{kanjiskip}~\textsf{[K]}ã®æŒ¿å…¥ã‚’è¡Œã†ï¼Ž
\item \textsf{å’Œæ–‡B}ã®2ã¤ã®ã‚¯ãƒ©ã‚¹ã‚¿ã®é–“ã«ã¯ï¼Œ\Param{kanjiskip}~\textsf{[K]}ãŒè‡ªå‹•çš„ã«å…¥ã‚‹ï¼Ž
\end{itemize}
\item \textsf{å’Œæ–‡B}ã¨ç®±ãƒ»ã‚°ãƒ«ãƒ¼ãƒ»ã‚«ãƒ¼ãƒ³ãŒéš£æŽ¥ã—ãŸã¨ãï¼ˆã©ã¡ã‚‰ãŒå‰ã‹ã¯é–¢ä¿‚ãªã„ï¼‰ï¼Œé–“ã«JFMã‚°ãƒ«ãƒ¼ãƒ»ãƒšãƒŠãƒ«ãƒ†ã‚£ã®æŒ¿å…¥ã¯ä¸€åˆ‡ã—ãªã„ï¼Ž
\item \textsf{å’Œæ–‡B}ã¨\textsf{å’Œæ–‡B}ï¼Œã¾ãŸ\textsf{å’Œæ–‡B}ã¨\textsf{æ¬§æ–‡}ã¨ãŒéš£æŽ¥ã—ãŸæ™‚ã¯ï¼Œç¦å‰‡ç”¨ãƒšãƒŠãƒ«ãƒ†ã‚£æŒ¿å…¥å‡¦ç†ã¯
\textsf{P-suppress~[PS]}ãŒç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
\item \textsf{å’Œæ–‡B}ã®æ–‡å­—ã«å¯¾ã™ã‚‹\Param{prebreakpenalty},~\Param{postbreakpenalty}ã®å€¤ã¯ä½¿ã‚ã‚Œãšï¼Œ0ã¨ã—ã¦è¨ˆç®—ã•ã‚Œã‚‹ï¼Ž
\end{itemize}


æ¬¡ãŒå…·ä½“ä¾‹ã§ã‚ã‚‹ï¼š
\begin{LTXexample}
ã‚ï¼Ž\inhibitglue A\\
\hbox{ã‚ï¼Ž}A\\
ã‚ï¼ŽA
\end{LTXexample}
\begin{itemize}
\item 1è¡Œç›®ã®\cs{inhibitglue}ã¯\textsf{æ¬§æ–‡å¢ƒç•ŒB~[\NB]}ã®å‡¦ç†ã®ã¿ã‚’æŠ‘æ­¢ã™ã‚‹ã®ã§ï¼Œãƒ”ãƒªã‚ªãƒ‰ã¨ã€ŒAã€ã®é–“ã«ã¯
\Param{xkanjiskip}ï¼ˆå››åˆ†ã‚¢ã‚­ï¼‰ãŒå…¥ã‚‹ã“ã¨ã«æ³¨æ„ï¼Ž
\item 2è¡Œç›®ã®ãƒ”ãƒªã‚ªãƒ‰ã¨ã€ŒAã€ã®é–“ã«ãŠã„ã¦ã¯ï¼Œå‰è€…ãŒ\textsf{å’Œæ–‡B}ã¨ãªã‚‹ï¼ˆhboxã®ä¸­èº«ã®æœ«å°¾ã¨ã—ã¦ç™»å&nbsp;´ã—ã¦ã„ã‚‹ã‹ã‚‰ï¼‰ã®ã§ï¼Œ
ãã‚‚ãã‚‚\textsf{æ¬§æ–‡å¢ƒç•ŒB~[\NB]}ã®å‡¦ç†ã¯è¡Œã‚ã‚Œãªã„ï¼Žã‚ˆã£ã¦ï¼Œ\Param{xkanjiskip}ãŒå…¥ã‚‹ã“ã¨ã¨ãªã‚‹ï¼Ž
\item 3è¡Œç›®ã§ã¯ï¼Œãƒ”ãƒªã‚ªãƒ‰ã®å±žã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚¿ã¯\textsf{å’Œæ–‡A}ã§ã‚ã‚‹ï¼Žã“ã‚Œã«ã‚ˆã£ã¦ï¼Œ
ãƒ”ãƒªã‚ªãƒ‰ã¨ã€ŒAã€ã®é–“ã«ã¯\textsf{æ¬§æ–‡å¢ƒç•ŒB~[\NB]}ç”±æ¥ã®åŠè§’ã‚¢ã‚­ãŒå…¥ã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž
\end{itemize}
%&lt;/ja&gt;

%&lt;*ja&gt;
\section{ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£ã®æ–¹æ³•}
\subsection{\texttt{yoffset} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰}
\Param{yalbaselineshift}ç­‰ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£ã¯ï¼ŒåŸºæœ¬çš„ã«ã¯å¯¾è±¡ã¨ãªã£ã¦ã„ã‚‹
\textit{glyph\_node}ã® \texttt{yoffset} ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å€¤ã‚’å¢—æ¸›ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦
å®Ÿè£…ã•ã‚Œã¦ã„ã‚‹ï¼ŽãªãŠï¼Œ\texttt{yoffset} ã®å€¤ã¯ä¸Šæ–¹å‘ã¸ã®ç§»å‹•é‡ã§ã‚ã‚‹ã®ã«å¯¾ã—ï¼Œ
\Param{yalbaselineshift}ãªã©ã¯ä¸‹æ–¹å‘ã¸ã®ç§»å‹•é‡ã§ã‚ã‚‹ï¼Ž

ã•ã¦ï¼Œ\texttt{yoffset} ã®å¢—æ¸›ã«ã‚ˆã£ã¦è¦‹ã‹ã‘ã®ã‚°ãƒªãƒ•ä½ç½®ã¯ä¸Šä¸‹ã«ç§»å‹•ã™ã‚‹ãŒï¼Œ
ä»®æƒ³ãƒœãƒ‡ã‚£ã®é«˜ã•$h$ï¼Œæ·±ã•$d$ã«ã¤ã„ã¦ã¯
\begin{description}
 \item[$\texttt{yoffset}\geq 0$ã®ã¨ã]
$h = \max(\texttt{height} + \texttt{yoffset}, 0)$,
$d = \max(\texttt{depth} - \texttt{yoffset}, 0)$,
 \item[$\texttt{yoffset}&lt;0$ã®ã¨ã]
$h = \max(\texttt{height} + \texttt{yoffset}, 0)$, $d=\texttt{depth}$.
\end{description}
ã¨ã„ã†ä»•æ§˜ã«ãªã£ã¦ã„ã‚‹ï¼Žã¤ã¾ã‚Šï¼Œ\texttt{yoffset} ãŒè²&nbsp;ï¼ˆã‚°ãƒªãƒ•ã‚’ä¸‹ã‘ã‚‹ï¼‰ã®å&nbsp;´åˆã«æ·±ã•ã¯å¢—åŠ&nbsp;ã—ãª
ã„ï¼ˆ\autoref{tab:yoffset_and_im}å‚ç…§ï¼‰ï¼Ž

\begin{table}[t]
\caption{\texttt{yoffset} and imaginary body}
\label{tab:yoffset_and_im}
\centering\small
\fboxsep0pt
\def\T#1#2{\fcolorbox{blue}{white}{%
  \setbox0=\hbox{\LARGE #1%
    \directlua{
      local p = tex.nest[tex.nest.ptr].tail
      p.yoffset = #2 * 65536
    }%
  }%
  \copy0\kern-\wd0\smash{\color{red}\vrule width \wd0 height 0.2pt depth 0.2pt}%
}}
\begin{tabular}{&gt;{\bfseries}lccccc}
\toprule
\texttt{yoffset}&amp;10\,pt&amp;5\,pt&amp;0&amp;$-5$\,pt&amp;$-10$\,pt\\
\midrule
ä»®æƒ³ãƒœãƒ‡ã‚£&amp;\T{y}{10}, \T{H}{10}&amp;\T{y}{5}, \T{H}{5}&amp;\T{y}{0}, \T{H}{0}%
&amp;\T{y}{-5}, \T{H}{-5}&amp;\T{y}{-10}, \T{H}{-10}\\[10pt]
\bottomrule
\end{tabular}
\end{table}

\subsection{\textbf{ALchar}ã®è£œæ­£}
ä¸Šè¨˜ã®å•é¡Œã«ã¤ã„ã¦ï¼Œ\textbf{ALchar}ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ­£ã§ã¯
ã€Œæ­£ã—ã„æ·±ã•ã€ã‚’æŒã£ãŸç½«ç·š(rule)ã‚’è£œã†ã¨ã„ã†å¯¾å¿œç­–ã‚’ã¨ã£ãŸï¼Ž
ã“ã®ç½«ç·šã«ã‚ˆã‚‹è£œæ­£ã¯ï¼Œ\textit{id}ãŒ\textit{id\_glyph}ã§ã‚ã‚‹ã‚¯ãƒ©ã‚¹ã‚¿å˜ä½ï¼Œ
å¤§é›‘æŠŠã«è¨€ãˆã°éŸ³ç¯€å˜ä½ã§è¡Œã‚ã‚Œã‚‹ï¼Ž
æ–‡å­—åˆ—``Typeset''ã‚’
\begin{itemize}
 \item ãƒ•ã‚©ãƒ³ãƒˆã¯Latin Modern Roman (\texttt{lmroman10-regular.otf}) 10\,pt
 \item \Param{yalbaselineshift}ã¯5\,pt
\end{itemize}
ã¨ã„ã†çŠ¶æ³ã§çµ„ã‚“ã&nbsp;å&nbsp;´åˆã‚’ä¾‹ã«ã¨ã£ã¦èª¬æ˜Žã—ã‚ˆã†ï¼Ž

\LuaTeXãƒ»\Pkg{luaotfload}ã«ã‚ˆã‚‹ã‚«ãƒ¼ãƒ‹ãƒ³ã‚°ãƒ»ãƒã‚¤ãƒ•ãƒãƒ¼ã‚·ãƒ§ãƒ³ãŒçµ‚ã‚ã£ãŸæ®µéšŽã§ã¯ï¼Œâ€¦â€¦



%&lt;/ja&gt;

%&lt;en&gt;\section{Patch for the \Pkg{listings} Package}
%&lt;ja&gt;\section{\Pkg{listings} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¸ã®å¯¾å¿œ}

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{listings} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒï¼Œãã®ã¾ã¾ã§ã¯æ—¥æœ¬èªžã‚’ã¾ã¨ã‚‚ã«å‡ºåŠ›ã§ããªã„ã“ã¨
ã¯ã‚ˆãçŸ¥ã‚‰ã‚Œã¦ã„ã‚‹ï¼Žãã¡ã‚“ã¨æ•´å½¢ã—ã¦å‡ºåŠ›ã™ã‚‹ãŸã‚ã«ï¼Œ\Pkg{listings}ãƒ‘ãƒƒã‚±ãƒ¼
ã‚¸ã¯å†…éƒ¨ã§ã€Œã»ã¨ã‚“ã©ã®æ–‡å­—ã€ã‚’ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ã—ï¼Œå„æ–‡å­—ã«å¯¾ã—ã¦ãã®æ–‡å­—ã®å‡º
åŠ›å‘½ä»¤ã‚’å‰²ã‚Šå½“ã¦ã¦ã„ã‚‹(\cite{listings})ï¼Ž
ã—ã‹ã—ï¼Œãã“ã§ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ã™ã‚‹æ–‡å­—ã®ä¸­ã«ï¼Œå’Œæ–‡æ–‡
å­—ãŒãªã„ãŸã‚ã§ã‚ã‚‹ï¼Ž\pTeX ç³»åˆ—ã§ã¯ï¼Œå’Œæ–‡æ–‡å­—ã‚’ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ã™ã‚‹æ‰‹æ³•ãŒãªãï¼Œ
\Pkg{jlisting.sty} ã¨ã„ã†ãƒ‘ãƒƒãƒ(\cite{jlisting})ã‚’ç”¨ã„ã‚‹ã“ã¨ã§ç„¡ç†ã‚„ã‚Šè§£æ±ºã—ã¦ã„ãŸï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
In \LuaTeX-ja, the problem is resolved by using the \verb+process_input_buffer+ callback.
The callback function inserts the output command (active character \cs{ltjlineendcomment})
before each letter above \texttt{U+0080}.
This method can omits the process to make all Japanese characters active
(most of the activated characters are not used in many cases).
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaã§ã¯ï¼Œ\verb+process_input_buffer+ ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’åˆ©ç”¨ã™ã‚‹ã“ã¨ã§ï¼Œ
ã€Œå„è¡Œã«å‡ºç¾ã™ã‚‹\texttt{U+0080}ä»¥é™ã®æ–‡å­—ã«å¯¾ã—ã¦ï¼Œãã‚Œã‚‰ã®å‡ºåŠ›å‘½ä»¤ã‚’å‰ç½®ã™ã‚‹ã€
ã¨ã„ã†æ–¹æ³•ã‚’ã¨ã£ã¦ã„ã‚‹ï¼Žå‡ºåŠ›å‘½ä»¤ã¨ã—ã¦ã¯ï¼Œã‚¢ã‚¯ãƒ†ã‚£ãƒ–æ–‡å­—åŒ–ã—ãŸ\cs{ltjlineendcomment}ã‚’ç”¨ã„ã¦ã„ã‚‹ï¼Ž
ã“ã‚Œã«ã‚ˆã‚Šï¼Œï¼ˆå…¥åŠ›ã«ã¯ä½¿ç”¨ã•ã‚Œã¦ã„ãªã„ã‹ã‚‚ã—ã‚Œãªã„ï¼‰å’Œæ–‡æ–‡å­—ã‚’ã‚‚ã™ã¹ã¦ã‚¢ã‚¯ãƒ†ã‚£ãƒ–åŒ–ã™ã‚‹æ‰‹é–“ã‚‚ãªãï¼Œ
è¦‹é€šã—ãŒè‰¯ã„å®Ÿè£…ã«ãªã£ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;


%&lt;*en&gt;
If the \Pkg{listings} package  and \LuaTeX-ja were loaded,
then the patch \Pkg{lltjp-listings} is loaded automatically at \verb+\begin{document}+.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-ja ã§åˆ©ç”¨ã•ã‚Œã‚‹ \Pkg{listings} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã¸ã®ãƒ‘ãƒƒãƒ \Pkg{lltjp-listings} ã¯ï¼Œ
\Pkg{listings} ã¨\LuaTeX-jaã‚’èª­ã¿è¾¼ã‚“ã§ãŠã‘ã°ï¼Œ
\verb+\begin{document}+ ã®ç®‡æ‰€ã«ãŠã„ã¦è‡ªå‹•çš„ã«èª­ã¿è¾¼ã¾ã‚Œã‚‹ã®ã§ï¼Œé€šå¸¸ã¯ã‚ã¾ã‚Š
æ„è­˜ã™ã‚‹å¿…è¦ã¯ãªã„ï¼Ž
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Notes and additional keys}
%&lt;ja&gt;\subsection{æ³¨æ„}
% %&lt;*en&gt;
% \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:
% %&lt;/en&gt;
% %&lt;*ja&gt;
% \paragraph{\LaTeX ã¸ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—}
% æ—¥æœ¬èªžå¯¾å¿œã‚’è¡Œã†ãŸã‚ã« \verb+process_input_buffer+ ã‚’ä½¿ç”¨ã—ãŸã“ã¨ã§ï¼Œ
% \texttt{texcl},~\texttt{escapeinside}ã¨ã„ã£ãŸ\emph{ã€Œ\LaTeX ã¸ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã€ä¸­ã§ã¯ï¼Œ
% \textbf{JAchar}ã‚’åç§°ã®ä¸€éƒ¨ã«å«ã‚€åˆ¶å¾¡ç¶´ã¯ä½¿ç”¨ä¸å¯èƒ½}ã§ã‚ã‚‹ï¼Ž
% ä¾‹ãˆã°æ¬¡ã®ã‚ˆã†ãªå…¥åŠ›ã‚’è€ƒãˆã‚ˆã†ï¼š
% %&lt;/ja&gt;
% \begin{lstlisting}[showspaces][escapechar=\!]
% !\cs{begin}!{lstlisting}[escapechar=\#]
% #\ã»ã’ xã´ã‚ˆ#
% !\cs{end}!{lstlisting}
% \end{lstlisting}
% %&lt;en&gt;The line~2 is transformed by the callback to
% %&lt;ja&gt;ã“ã“ã§ï¼Œ2è¡Œç›®ã¯ \verb+process_input_buffer+ ã®ä½œç”¨ã«ã‚ˆã‚Šï¼Œ
% \begin{lstlisting}[showspaces, escapechar=\!]
% #\!\IVSA FFFFF!ã»!\IVSA FFFFF!ã’ x!\IVSA FFFFF!ã´!\IVSA FFFFF!ã‚ˆ#
% \end{lstlisting}
% %&lt;*en&gt;
% before the line is actually processed.
% In the escape (between the character ``\verb+#+''),
% the category code of \texttt{U+FFFFF} is set to 9~(\emph{ignored}).
% Hence the control symbol ``\cs{}\IVSA FFFFF'' will be executed,
% instead of ``\verb+\ã»ã’+''.
% %&lt;/en&gt;
% %&lt;*ja&gt;
% ã¨å¤‰æ›ã•ã‚Œã¦ã‹ã‚‰ï¼Œå®Ÿéš›ã®å‡¦ç†ã«å›žã•ã‚Œã‚‹ï¼Ž
% ã€Œ\verb+#+ã€ã§æŒŸã¾ã‚ŒãŸã€Œ\LaTeX ã¸ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã€ä¸­ã§ã¯\
% \texttt{U+FFFFF} ã®ã‚«ãƒ†ã‚´ãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ã¯9~(\textit{ignored})ã¨ãªã‚‹ã®ã§ï¼Œ
% çµå±€ã€Œ\verb+\ã»ã’+ã€ã®ä»£ã‚ã‚Šã«
% ã€Œ\cs{}\IVSA FFFFFã€ã¨ã„ã†control symbolãŒå®Ÿè¡Œã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž
% %&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Variation selectors}
\Pkg{lltjp-listings} add two keys, namely \texttt{vsraw}~and~\texttt{vscmd},
which specify how variation selectors are treated in
\texttt{lstlisting} or other enviroments.
Note that these additional keys are not usable in the preamble,
since \Pkg{lltjp-listings} is loaded at \verb+\begin{document}+.

\texttt{vsraw} is a key which takes a boolean value, and its default value is
false.
\begin{itemize}
 \item If the \texttt{vsraw} key is true, then
variation selectors are ``combined'' with the previous character.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ã®æ‰±ã„}
\texttt{lstlisting} ç’°å¢ƒãªã©ã®å†…éƒ¨ã«ã‚ã‚‹ç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ã‚’æ‰±ã†ãŸã‚ï¼Œ
\Pkg{lltjp-listings} ã§ã¯ \texttt{vsraw} ã¨ \texttt{vscmd} ã¨ã„ã†2ã¤ã®ã‚­ãƒ¼ã‚’è¿½åŠ&nbsp;ã—ãŸï¼Ž
ã—ã‹ã—ï¼Œ\Pkg{lltjp-listings} ãŒå®Ÿéš›ã«èª­ã¿è¾¼ã¾ã‚Œã‚‹ã®ã¯ \verb+\begin{document}+\
ã®ã¨ã“ã‚ã§ã‚ã‚‹ã®ã§ï¼Œãƒ—ãƒªã‚¢ãƒ³ãƒ–ãƒ«å†…ã§ã¯ã“ã‚Œã‚‰ã®è¿½åŠ&nbsp;ã‚­ãƒ¼ã¯ä½¿ç”¨ã§ããªã„ï¼Ž

\texttt{vsraw}ã¯ï¼Œãƒ–ãƒ¼ãƒ«å€¤ã®å€¤ã‚’ã¨ã‚‹ã‚­ãƒ¼ã§ã‚ã‚Šï¼Œæ¨™æº–ã§ã¯falseã§ã‚ã‚‹ï¼Ž
\begin{itemize}
 \item trueã®å&nbsp;´åˆã¯ï¼Œç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ã¯ã€Œç›´å‰ã®æ–‡å­—ã«ç¶šã‘ã¦ã€å‡ºåŠ›ã•ã‚Œã‚‹ãŸã‚ï¼Œ
ä¾‹ãˆã°ä»¥ä¸‹ã®ä¾‹ï¼ˆå·¦å´ã¯å…¥åŠ›ï¼Œå³å´ã¯ãã®å‡ºåŠ›ï¼‰ã®ã‚ˆã†ã«ãªã‚‹ï¼Ž
%&lt;/ja&gt;
%%%% [preset=...]: workaround for lstlisting inside LTXexample
\begin{LTXexample}[preset=\expandafter\def\csname @captype\endcsname{lstlisting}]
\begin{lstlisting}[vsraw=true]
è‘›ó&nbsp;„€åŸŽå¸‚ï¼Œè‘›ó&nbsp;„é£¾åŒºï¼Œè‘›è¥¿
\end{lstlisting}
\end{LTXexample}
%&lt;*en&gt;
\item If the \texttt{vsraw} key is false, then
variation selectors are typeset by an appropriate command, which is specified by
      the \texttt{vscmd} key.
The default setting of the \texttt{vscmd} key produces the following.
%&lt;/en&gt;
%&lt;*ja&gt;
\item falseã®å&nbsp;´åˆã¯ï¼Œç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ã¯é©å½“ãªå‘½ä»¤ã«ã‚ˆã£ã¦ã€Œè¦‹ãˆã‚‹å½¢ã§ã€å‡ºåŠ›ã•ã‚Œã‚‹ï¼Ž
ã©ã®ã‚ˆã†ãªå½¢ã§å‡ºåŠ›ã•ã‚Œã‚‹ã‹ã‚’è¦å®šã™ã‚‹ã®ãŒ \texttt{vscmd} ã‚­ãƒ¼ã§ã‚ã‚Šï¼Œ
\Pkg{lltjp-listings} ã®æ¨™æº–è¨­å®šã§ã¯ä»¥ä¸‹ã®ä¾‹ã®å³å´ã®ã‚ˆã†ã«å‡ºåŠ›ã•ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
\begin{LTXexample}[preset=\expandafter\def\csname @captype\endcsname{lstlisting}]
\begin{lstlisting}[vsraw=false,
   vscmd=\ltjlistingsvsstdcmd]
è‘›ó&nbsp;„€åŸŽå¸‚ï¼Œè‘›ó&nbsp;„é£¾åŒºï¼Œè‘›è¥¿
\end{lstlisting}
\end{LTXexample}
%&lt;ja&gt; ã¡ãªã¿ã«ï¼Œæœ¬ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§ã¯æ¬¡ã®ã‚ˆã†ã«ã—ã¦ã„ã‚‹ï¼š
%&lt;en&gt; For example, the following code is the setting of the \texttt{vscmd} key in this document.
\begin{lstlisting}[numbers=left]
\def\IVSA#1#2#3#4#5{%
  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{0#1#2\crcr#3#4#5\crcr}\hss}}}}\hss}%
}
{\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}
%&lt;*en&gt;
The default output command of variation selectors is stored in \verb+\ltjlistingsvsstdcmd+.
%&lt;/en&gt;
%&lt;*ja&gt;
æ—¢å®šã®å‡ºåŠ›å‘½ä»¤ã‚’å¾©æ´»ã•ã›ãŸã„å&nbsp;´åˆã¯\ \verb+vscmd=\ltjlistingsvsstdcmd+\
ã¨ã™ã‚Œã°è‰¯ã„ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{The \texttt{doubleletterspace} key}
Even the column format is \texttt{[c]fixed}, sometimes characters are not vertically aligned.
The following example  is typeset with \texttt{basewidth=2em}, and
you'll see the leftmost ``\texttt{H}'' are not vertically aligned.
\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left]
:H:
:HHHH:
\end{lstlisting}

\Pkg{lltjp-listing} adds the \texttt{doubleletterspace} key (not activated by default, for
compatibility) to
improve the situation, namely doubles inter-character space in each output unit.
With this key, the above input now produces better output.
\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left, doubleletterspace]
:H:
:HHHH:
\end{lstlisting}
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\texttt{doubleletterspace}ã‚­ãƒ¼}
\Pkg{listings}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§åˆ—æƒãˆãŒ \texttt{[c]fixed} ã¨ãªã£ã¦ã„ã‚‹å&nbsp;´åˆã§ã‚‚ï¼Œ
å&nbsp;´åˆã«ã‚ˆã£ã¦ã¯æ–‡å­—ãŒç¸¦ã«æƒã‚ãªã„å&nbsp;´åˆã‚‚ã‚ã‚‹ï¼Ž
ä¾‹ã‚’ä»¥ä¸‹ã«ç¤ºãã†ï¼Žã“ã‚Œã¯å¼·èª¿ã™ã‚‹ãŸã‚ã« \texttt{basewidth=2em} ã‚’è¨­å®šã—ã¦ã„ã‚‹ï¼Ž
\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left]
:H:
:HHHH:
\end{lstlisting}
1è¡Œç›®ã¨2è¡Œç›®ã®ã€Œ\texttt{H}ã€ã®ä½ç½®ãŒæƒã£ã¦ã„ãªã„ãŒï¼Œ
ã“ã‚Œã¯å‡ºåŠ›å˜ä½ã”ã¨ã«ï¼Œå…ˆé&nbsp;­ãƒ»æœ«å°¾ãƒ»å„æ–‡å­—é–“ã«åŒã˜é‡ã®ç©ºç™½ã‚’æŒ¿å…¥ã™ã‚‹ã“ã¨ã«ã‚ˆã‚‹ï¼Ž

\Pkg{lltjp-listing}ã§ã¯ï¼Œã“ã®ã‚ˆã†ãªç—‡çŠ¶ã‚’æ”¹å–„ã•ã›ã‚‹ãŸã‚ã« \texttt{doubleletterspace} ã‚­ãƒ¼
ã‚’è¿½åŠ&nbsp;ã—ãŸï¼ˆæ¨™æº–ã§ã¯äº’æ›æ€§ã®ãŸã‚ã«ç„¡åŠ¹ã«ãªã£ã¦ã„ã‚‹ï¼‰ï¼Žã“ã®ã‚­ãƒ¼ã‚’æœ‰åŠ¹ã«ã™ã‚‹ã¨ï¼Œ
å‡ºåŠ›å˜ä½ä¸­ã®å„æ–‡å­—é–“ã®ç©ºç™½ã‚’2å€ã«ã™ã‚‹ã“ã¨ã§æ–‡å­—ã‚’æƒã„ã‚„ã™ãã—ã¦ã„ã‚‹ï¼Ž
ä¸Šã¨åŒã˜ã‚‚ã®ã‚’ \texttt{doubleletterspace} ã‚­ãƒ¼ã‚’æœ‰åŠ¹ã«ã—ã¦çµ„ã‚“ã&nbsp;ã‚‚ã®ãŒä»¥ä¸‹ã§ã‚ã‚Šï¼Œ
ãã¡ã‚“ã¨ã€Œ\texttt{H}ã€ã®ä½ç½®ãŒæƒã£ã¦ã„ã‚‹ã“ã¨ãŒåˆ†ã‹ã‚‹ï¼Ž
\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left, doubleletterspace]
:H:
:HHHH:
\end{lstlisting}
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Class of characters}
%&lt;ja&gt;\subsection{æ–‡å­—ç¨®}

%&lt;en&gt;Roughly speaking, the \Pkg{listings} package processes input as follows:
%&lt;ja&gt;\Pkg{listings} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®å†…éƒ¨ã§ã¯ï¼Œå¤§é›‘æŠŠã«è¨€ã†ã¨
\begin{enumerate}
%&lt;en&gt;\item Collects \textit{letters} and \textit{digits}, which can be used for the name of identifiers.
%&lt;ja&gt;\item è­˜åˆ¥å­ã¨ã—ã¦ä½¿ãˆã‚‹æ–‡å­— (``letter'',~``digit'') ãŸã¡ã‚’é›†ã‚ã‚‹ï¼Ž
%&lt;en&gt;\item When reading an \textit{other}, outputs the collected character string (with modification, if needed).
%&lt;ja&gt;\item letterã§ã‚‚digitã§ã‚‚ãªã„æ–‡å­—ãŒç¾ã‚ŒãŸæ™‚ã«ï¼ŒåŽé›†ã—ãŸæ–‡å­—åˆ—ã‚’ï¼ˆå¿…è¦ãªã‚‰ä¿®é£¾ã—ã¦ï¼‰å‡ºåŠ›ã™ã‚‹ï¼Ž
%&lt;en&gt;\item Collects \textit{others}.
%&lt;ja&gt;\item ä»Šåº¦ã¯é€†ã«ï¼Œletterã§ãªã„æ–‡å­—ãŸã¡ã‚’letterãŒç¾ã‚Œã‚‹ã¾ã§é›†ã‚ã‚‹ï¼Ž
%&lt;en&gt;\item When reading a \textit{letter} or a \textit{digit}, outputs the collected character string.
%&lt;ja&gt;\item letterãŒå‡ºç¾ã—ãŸã‚‰é›†ã‚ãŸæ–‡å­—åˆ—ã‚’å‡ºåŠ›ã™ã‚‹ï¼Ž
%&lt;en&gt;\item Turns back to 1.
%&lt;ja&gt;\item 1.ã«æˆ»ã‚‹ï¼Ž
\end{enumerate}
%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ã¨ã„ã†å‡¦ç†ãŒè¡Œã‚ã‚Œã¦ã„ã‚‹ï¼Žã“ã‚Œã«ã‚ˆã‚Šï¼Œè­˜åˆ¥å­ã®é€”ä¸­ã§ã¯è¡Œåˆ†å‰²ãŒè¡Œã‚ã‚Œãªã„ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž
ç›´å‰ã®æ–‡å­—ãŒè­˜åˆ¥å­ã¨ã—ã¦ä½¿ãˆã‚‹ã‹å¦ã‹ã¯ \verb+\lst@ifletter+ ã¨ã„ã†ãƒ•ãƒ©ã‚°ã«æ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
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:
%&lt;/en&gt;
%&lt;*ja&gt;
ã•ã¦ï¼Œæ—¥æœ¬èªžã®å‡¦ç†ã§ã‚ã‚‹ï¼Žæ®†ã©ã®å’Œæ–‡æ–‡å­—ã®å‰å¾Œã§ã¯è¡Œåˆ†å‰²ãŒå¯èƒ½ã§ã‚ã‚‹ãŒï¼Œãã®ä¸€æ–¹ã§
æ‹¬å¼§é¡žã‚„éŸ³å¼•ããªã©ã§ã¯ç¦å‰‡å‡¦ç†ãŒå¿…è¦ãªã“ã¨ã‹ã‚‰ï¼Œ\Pkg{lltjp-listings} ã§ã¯ï¼Œ
ç›´å‰ãŒå’Œæ–‡æ–‡å­—ã§ã‚ã‚‹ã‹ã‚’ç¤ºã™ãƒ•ãƒ©ã‚° \verb+\lst@ifkanji+ ã‚’æ–°ãŸã«å°Žå…¥ã—ãŸï¼Ž
ä»¥é™ï¼Œèª¬æ˜Žã®ãŸã‚ã«ä»¥ä¸‹ã®ã‚ˆã†ã«æ–‡å­—ã‚’åˆ†é¡žã™ã‚‹ï¼š
%&lt;/ja&gt;
%&lt;*ja&gt;
\begin{center}
\small
\begin{tabular}{llllll}
\toprule
&amp;\emph{Letter}&amp;\emph{Other}&amp;\emph{Kanji}&amp;\emph{Open}&amp;\emph{Close}\\\midrule
\verb+\lst@ifletter+&amp;T&amp;F&amp;T&amp;F&amp;T\\
\verb+\lst@ifkanji+&amp;F&amp;F&amp;T&amp;T&amp;F\\
\emph{æ„å›³}&amp;è­˜åˆ¥å­ä¸­ã®æ–‡å­—&amp;ãã®ä»–æ¬§æ–‡æ–‡å­—&amp;æ®†ã©ã®å’Œæ–‡æ–‡å­—&amp;é–‹ãæ‹¬å¼§é¡ž&amp;é–‰ã˜æ‹¬å¼§é¡ž\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/ja&gt;
%&lt;*en&gt;
\begin{center}
\small
\begin{tabular}{llll}
\toprule
&amp;\textbf{Letter}&amp;\textbf{Other}&amp;\\\midrule
\verb+\lst@ifletter+&amp;T&amp;F&amp;\\
\verb+\lst@ifkanji+&amp;F&amp;F&amp;\\
\textbf{Meaning}&amp;char in an identifier&amp;other alphabet&amp;\\
  \midrule
&amp;\textbf{Kanji}&amp;\textbf{Open}&amp;\textbf{Close}\\\midrule
\verb+\lst@ifletter+&amp;T&amp;F&amp;T\\
\verb+\lst@ifkanji+&amp;T&amp;T&amp;F\\
\textbf{Meaning}&amp;most of Japanese char&amp;opening brackets&amp;closing brackets\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/en&gt;
%&lt;*en&gt;
Note that \textit{digits} in the \Pkg{listings} package can be Letter or
Other according to circumstances.
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠï¼Œæœ¬æ¥ã®\Pkg{listings} ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã§ã®åˆ†é¡ž``digit''ã¯ï¼Œ
å‡ºç¾çŠ¶æ³ã«ã‚ˆã£ã¦ï¼Œä¸Šã®è¡¨ã®Letterã¨Otherã®ã©ã¡ã‚‰ã«ã‚‚ãªã‚Šã†ã‚‹ï¼Ž
ã¾ãŸï¼ŒKanjiã¨Closeã¯ \verb+\lst@ifletter+ ã¨ \verb+\lst@ifkanji+ ã®å€¤ãŒä¸€è‡´ã—ã¦ã„ã‚‹ãŒï¼Œ
ã“ã‚Œã¯é–“é•ã„ã§ã¯ãªã„ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¾‹ãˆã°ï¼ŒLetterã®ç›´å¾Œã«OpenãŒæ¥ãŸå&nbsp;´åˆã‚’è€ƒãˆã‚‹ï¼Ž
æ–‡å­—ç¨®Openã¯å’Œæ–‡é–‹ãæ‹¬å¼§é¡žã‚’æƒ³å®šã—ã¦ã„ã‚‹ã®ã§ï¼ŒLetterã®ç›´å¾Œã§ã¯è¡Œåˆ†å‰²ãŒå¯èƒ½ã§ã‚ã‚‹ã“ã¨ãŒæœ›ã¾ã—ã„ï¼Ž
ãã®ãŸã‚ï¼Œã“ã®å&nbsp;´åˆã§ã¯ï¼Œã™ã§ã«åŽé›†ã•ã‚Œã¦ã„ã‚‹æ–‡å­—åˆ—ã‚’å‡ºåŠ›ã™ã‚‹ã“ã¨ã§è¡Œåˆ†å‰²ã‚’è¨±å®¹ã™ã‚‹ã‚ˆã†ã«ã—ãŸï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
The following table summarizes $5\times 5=25$ cases:
%&lt;/en&gt;
%&lt;*ja&gt;
åŒã˜ã‚ˆã†ã«ï¼Œ$5\times 5=25$é€šã‚Šå…¨ã¦ã«ã¤ã„ã¦æ›¸ãã¨ï¼Œæ¬¡ã®ã‚ˆã†ã«ãªã‚‹ï¼š
%&lt;/ja&gt;
\begin{center}
\small
\begin{tabular}{lllllll}
\toprule
%&lt;*en&gt;
&amp;&amp;\multicolumn{4}{c}{\textbf{Next}}\\\cmidrule(lr){3-7}
&amp;&amp;\hbox to 4em{Letter\hss}&amp;\hbox to 4em{Other\hss}
&amp;\hbox to 4em{Kanji\hss}&amp;\hbox to 4em{Open\hss}&amp;Close\\\midrule
&amp;Letter&amp;collects&amp;\multicolumn{3}{c}{\hrulefill \ outputs\ \hrulefill}&amp;collects\\
&amp;Other&amp;outputs&amp;collects&amp;\multicolumn{2}{c}{\hrulefill \ outputs\ \hrulefill}&amp;collects\\
\textbf{Prev}&amp;Kanji&amp;\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&amp;collects\\
&amp;Open&amp;\multicolumn{5}{c}{\hrulefill \ collects\ \hrulefill}\\
&amp;Close&amp;\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&amp;collects\\
%&lt;/en&gt;
%&lt;*ja&gt;
&amp;&amp;\multicolumn{4}{c}{\textbf{å¾Œå´æ–‡å­—ç¨®}}\\\cmidrule(lr){3-7}
&amp;&amp;\hbox to 4em{Letter\hss}&amp;\hbox to 4em{Other\hss}
&amp;\hbox to 4em{Kanji\hss}&amp;\hbox to 4em{Open\hss}&amp;Close\\\midrule
\emph{ç›´}&amp;Letter&amp;åŽé›†&amp;\multicolumn{3}{c}{\hrulefill \ å‡ºåŠ›\ \hrulefill}&amp;åŽé›†\\
\emph{å‰}&amp;Other&amp;å‡ºåŠ›&amp;åŽé›†&amp;\multicolumn{2}{c}{\hrulefill \ å‡ºåŠ›\ \hrulefill}&amp;åŽé›†\\
\emph{æ–‡}&amp;Kanji&amp;\multicolumn{4}{c}{\hrulefill \ å‡ºåŠ›\ \hrulefill}&amp;åŽé›†\\
\emph{å­—}&amp;Open&amp;\multicolumn{5}{c}{\hrulefill \ åŽé›†\ \hrulefill}\\
\emph{ç¨®}&amp;Close&amp;\multicolumn{4}{c}{\hrulefill \ å‡ºåŠ›\ \hrulefill}&amp;åŽé›†\\
%&lt;/ja&gt;
\bottomrule
\end{tabular}
\end{center}
%&lt;en&gt;In the above table,
%&lt;ja&gt;ä¸Šã®è¡¨ã«ãŠã„ã¦ï¼Œ
\begin{itemize}
%&lt;en&gt;\item ``outputs'' means to output the collected character string (i.e., line breaking is permitted there).
%&lt;ja&gt;\item ã€Œå‡ºåŠ›ã€ã¯ï¼Œãã‚Œã¾ã§ã«é›†ã‚ãŸæ–‡å­—åˆ—ã‚’å‡ºåŠ›ï¼ˆâ‰’ã“ã“ã§è¡Œåˆ†å‰²å¯èƒ½ï¼‰ã‚’æ„å‘³ã™ã‚‹ï¼Ž

%&lt;en&gt;\item ``collects'' means to append the next character to the collected character string (i.e., line breaking is prohibited there).
%&lt;ja&gt;\item ã€ŒåŽé›†ã€ã¯ï¼Œå¾Œå´ã®æ–‡å­—ã‚’ï¼Œç¾åœ¨åŽé›†ã•ã‚ŒãŸæ–‡å­—åˆ—ã«è¿½åŠ&nbsp;ï¼ˆè¡Œåˆ†å‰²ä¸å¯ï¼‰ã‚’æ„å‘³ã™ã‚‹ï¼Ž
\end{itemize}

%&lt;*en&gt;
Characters above or equal to~\texttt{U+0080} \emph{except Variation Selectors}
are classified into above 5~classes by the following rules:
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{U+0080}ä»¥é™ã®\emph{ç•°ä½“å­—ã‚»ãƒ¬ã‚¯ã‚¿ä»¥å¤–ã®}å„æ–‡å­—ãŒ
Letter, Other, Kanji, Open, Closeã®ã©ã‚Œã«å±žã™ã‚‹ã‹ã¯æ¬¡ã«ã‚ˆã£ã¦æ±ºã¾ã‚‹ï¼š
%&lt;/ja&gt;
\begin{itemize}
%&lt;en&gt;\item \textbf{ALchar}s above or equal to~\texttt{U+0080} are classified as Letter.
%&lt;ja&gt;\item \&lt;ï¼ˆ\texttt{U+0080}ä»¥é™ã®ï¼‰\textbf{ALchar}ã¯ï¼Œã™ã¹ã¦Letteræ‰±ã„ã§ã‚ã‚‹ï¼Ž

%&lt;en&gt;\item \textbf{JAchar}s are classified in the order as follows:
%&lt;ja&gt;\item \textbf{JAchar}ã«ã¤ã„ã¦ã¯ï¼Œä»¥ä¸‹ã®é&nbsp;†åºã«å¾“ã£ã¦æ–‡å­—ç¨®ã‚’æ±ºã‚ã‚‹ï¼š
\begin{enumerate}
%&lt;en&gt;\item Characters whose \Param{prebreakpenalty} is greater than or equal to 0 are classified as Open.
%&lt;ja&gt;\item \Param{prebreakpenalty}ãŒ0ä»¥ä¸Šã®æ–‡å­—ã¯Openæ‰±ã„ã§ã‚ã‚‹ï¼Ž

%&lt;en&gt;\item Characters whose \Param{postbreakpenalty} is greater than or equal to 0 are classified as Close.
%&lt;ja&gt;\item \Param{postbreakpenalty}ãŒ0ä»¥ä¸Šã®æ–‡å­—ã¯Closeæ‰±ã„ã§ã‚ã‚‹ï¼Ž

%&lt;en&gt;\item Characters that don't satisfy the above two conditions are classified as Kanji.
%&lt;ja&gt;\item ä¸Šã®3æ¡ä»¶ã®ã©ã¡ã‚‰ã«ã‚‚å½“ã¦ã¯ã¾ã‚‰ãªã‹ã£ãŸæ–‡å­—ã¯ï¼ŒKanjiæ‰±ã„ã§ã‚ã‚‹ï¼Ž
\end{enumerate}
\end{itemize}

%&lt;*en&gt;
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
ãªãŠï¼ŒåŠè§’ã‚«ãƒŠ(U+FF61--U+FF9F)ä»¥å¤–ã®\textbf{JAchar}ã¯æ¬§æ–‡æ–‡å­—2æ–‡å­—åˆ†ã®å¹…ã‚’ã¨ã‚‹ã‚‚ã®ã¨ã¿ãªã•ã‚Œã‚‹ï¼Ž
åŠè§’ã‚«ãƒŠã¯æ¬§æ–‡æ–‡å­—1æ–‡å­—åˆ†ã®å¹…ã¨ãªã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*en&gt;
This classification process is executed every time a character appears in
the \texttt{lstlisting} environment or other environments/commands.
%&lt;/en&gt;
%&lt;*ja&gt;
ã“ã‚Œã‚‰ã®æ–‡å­—ç¨®æ±ºå®šã¯ï¼Œå®Ÿéš›ã« \texttt{lstlisting} ç’°å¢ƒãªã©ã®å†…éƒ¨ã§æ–‡å­—ãŒå‡ºã¦ãã‚‹ãŸã³ã«è¡Œã‚ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;

%&lt;*ja&gt;
\section{å’Œæ–‡ã®è¡Œé•·è£œæ­£æ–¹æ³•}
\label{sec-adjspec}
\Pkg{luatexja-adjust}ã§æä¾›ã•ã‚Œã‚‹å„ªå…ˆé&nbsp;†ä½ä»˜ãã®è¡Œé•·èª¿æ•´ã®è©³ç´°ã‚’å¤§ã¾ã‹ã«è¿°ã¹ã‚‹ã¨ï¼Œæ¬¡ã®ã‚ˆã†ã«ãªã‚‹ï¼Ž
\begin{itemize}
\item ï¼ˆ\texttt{lineend=extended}ã®å&nbsp;´åˆï¼‰\textbf{JAglue}ã®æŒ¿å…¥å‡¦ç†ã®ã¨ã“ã‚ã§ï¼Œ
  â€¦â€¦
\item é€šå¸¸ã®\TeX ã®è¡Œåˆ†å‰²æ–¹æ³•ã«å¾“ã£ã¦ï¼Œæ®µè½ã‚’è¡Œåˆ†å‰²ã™ã‚‹ï¼Žã“ã®æ®µéšŽã§ã¯ï¼Œè¡Œ
      é•·ã«åŠç«¯ãŒå‡ºãŸå&nbsp;´åˆï¼Œãã®åŠç«¯åˆ†ã¯\textbf{JAglue}ï¼ˆ\Param{xkanjiskip}ï¼Œ
      \Param{kanjiskip}ï¼ŒJFMã‚°ãƒ«ãƒ¼ï¼‰ã¨
      ãã‚Œä»¥å¤–ã®ã‚°ãƒ«ãƒ¼ã®å…¨ã¦ã§ï¼ˆå„ªå…ˆé&nbsp;†ä½ãªãï¼‰è²&nbsp;æ‹…ã•ã‚Œã‚‹ï¼Ž
\item ãã®å¾Œï¼Œ\texttt{post\_linebreak\_filter} callbackã‚’ä½¿ã„ï¼Œ\emph{æ®µ
      è½ä¸­ã®å„è¡Œã”ã¨ã«}ï¼Œè¡Œæœ«æ–‡å­—ã®ä½ç½®ã‚’èª¿æ•´ï¼ˆ\texttt{lineend=true}ã®å&nbsp;´åˆï¼‰ã—ãŸã‚Šï¼Œå„ªå…ˆåº¦ä»˜ãã®è¡Œé•·èª¿æ•´
      ã‚’å®Ÿç¾ã™ã‚‹ãŸã‚ã«ã‚°ãƒ«ãƒ¼ã®ä¼¸ç¸®åº¦ã‚’èª¿æ•´ã™ã‚‹ï¼Ž
      ãã®å‡¦ç†ã«ãŠã„ã¦ã¯ï¼Œã‚°ãƒ«ãƒ¼ã®è‡ªç„¶é•·ã¨\textbf{JAglue}ä»¥å¤–ã®
      ã‚°ãƒ«ãƒ¼ã®ä¼¸ã³é‡ãƒ»ç¸®ã¿é‡ã¯å¤‰æ›´ã›ãšï¼Œå¿…è¦ã«å¿œã˜ã¦\textbf{JAglue}ã®ä¼¸ã³é‡ãƒ»ç¸®ã¿é‡ã®ã¿ã‚’
      å¤‰æ›´ã™ã‚‹è¨­è¨ˆã¨ã—ãŸï¼Ž
\end{itemize}
ã“ã®ç«&nbsp;ã®æ®‹ã‚Šã§ã¯å„å‡¦ç†ã«ã¤ã„ã¦è§£èª¬ã™ã‚‹ï¼Ž

\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ã‚°ãƒ«ãƒ¼ã«ã¯$-4$ã‹ã‚‰3ã¾ã§ã®å„ªå…ˆåº¦ãŒã¤ã„ã¦ã„ã‚‹ï¼Žå&nbsp;´åˆã«ã‚ˆã£ã¦ã¯
  ä¼¸ã³ã¨ç¸®ã¿ã§ç•°ãªã‚‹å„ªå…ˆåº¦ãŒä»˜ã„ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ï¼Ž}%
åˆ¥ã«ã¾ã¨ã‚ã‚‰ã‚Œã‚‹ï¼‰
\item å’Œæ¬§æ–‡é–“ç©ºç™½(\Param{xkanjiskip})
\item å’Œæ–‡é–“ç©ºç™½(\Param{kanjiskip})
\end{itemize}
ã®$1+1+8+1=10$ã¤ã«é¡žåˆ¥ã™ã‚‹ï¼Ž
ãã—ã¦è¨±å®¹ã•ã‚Œã¦ã„ã‚‹ä¼¸ã³é‡ï¼ˆ\texttt{stretch}ã®å€¤ï¼‰ã®åˆè¨ˆã‚’
ç„¡é™ã®ãƒ¬ãƒ™ãƒ«ã”ã¨ã«
\begin{align*}
 T^{+}_{l}&amp;:= \sum_{\text{$\texttt{stretch\_order}(p) = l$}} \texttt{stretch}(p),&amp;
 l\in \{\text{(finite)}, \texttt{fi}, \texttt{fil}, \texttt{fill}, \texttt{filll}\}
\end{align*}
ã¨è¨ˆç®—ã™ã‚‹ï¼Žã•ã‚‰ã«ï¼Œ
\begin{align*}
T^{+}&amp;:=T^{+}_{L^+},&amp;L^{+} = \max \{l\in
 \{\text{(finite)}, \texttt{fi}, \texttt{fil}, \texttt{fill}, \texttt{filll}\}:
 T^{+}_l\neq 0\}
\end{align*}
ã¨ãŠãï¼Žæœ‰é™ã®ä¼¸ã³é‡ã«ã¤ã„ã¦ã¯ï¼Œä¸Šè¨˜ã®8ç¨®é¡žã®é¡žåˆ¥ã”ã¨ã«ã‚‚åˆè¨ˆã‚’è¨ˆç®—ã™ã‚‹ï¼Ž
ã•ã‚‰ã«ç¸®ã¿é‡ï¼ˆ\texttt{shrink}ã®å€¤ï¼‰ã«ã¤ã„ã¦ã‚‚åŒæ§˜ã®å‡¦ç†ã‚’è¡Œã„ï¼Œ$T^{-}$ã‚’è¨ˆç®—ã™ã‚‹ï¼Ž

ã¾ãŸï¼Œè¡Œé•·ã‹ã‚‰è‡ªç„¶é•·ã‚’å¼•ã„ãŸå€¤ã‚’\textit{total}ã¨ãŠãï¼Ž

\subsection{è¡Œæœ«æ–‡å­—ã®ä½ç½®èª¿æ•´ï¼ˆè¡Œåˆ†å‰²å¾Œã®å&nbsp;´åˆï¼‰}
è¡Œæœ«ãŒ\textbf{JAchar}ã§ã‚ã‚Šï¼Œã“ã®æ–‡å­—ã®å±žã™ã‚‹æ–‡å­—ã‚¯ãƒ©ã‚¹ã§ã¯
\begin{quote}
  \texttt{end\_adjust = \{$a_{1}$, $a_{2}$, ..., $a_{n}$\}}
\end{quote}
ã§ã‚ã£ãŸã¨ã™ã‚‹ï¼Ž
ã“ã®ã¨ãï¼Œä»¥ä¸‹ã®æ¡ä»¶ã‚’æº€ãŸã—ãŸå&nbsp;´åˆï¼Œ
ã“ã®æ–‡å­—ã‚¯ãƒ©ã‚¹ã«å¯¾ã™ã‚‹\texttt{end\_adjust}ã®å€¤ã®ã„ãšã‚Œã‹ã&nbsp;ã‘ã“ã®æ–‡å­—ã®ä½ç½®ã‚’ç§»å‹•ã•ã›ã‚‹ï¼Ž
\begin{description}
  \item[æœ€çµ‚è¡Œä»¥å¤–] è¡Œé•·èª¿æ•´ã«ç„¡é™å¤§ã®ä¼¸ç¸®åº¦ãŒç”¨ã„ã‚‰ã‚Œã¦ã„ãªã„ï¼Ž
  ã™ãªã‚ã¡ï¼Œ$\textit{total}&gt;0$ãªã‚‰ã°$L^{+}=(\text{finite})$ã§ã‚ã‚Šï¼Œ
  $\textit{total}&gt;0$ãªã‚‰ã°$L^{-}=(\text{finite})$ã§ã‚ã‚‹ï¼Ž
  \item[æœ€çµ‚è¡Œ] è¡Œé•·èª¿æ•´ã«ç„¡é™å¤§ã«ä¼¸ã³ç¸®ã¿ã™ã‚‹ã‚°ãƒ«ãƒ¼ãŒç”¨ã„ã‚‰ã‚ŒãŸãªã‚‰ï¼Œãã‚Œã¯\cs{parfillskip}ã®ã¿ã§ã‚ã‚Šï¼Œ
    ã‹ã¤ï¼Œæ¬¡ã®ä¸ç­‰å¼ãŒæˆç«‹ã™ã‚‹ï¼š
  \[
   \min\{0,a_{1}\}\text{\cs{zw}}\leq (\text{\cs{parfillskip}ã®å®Ÿéš›ã®é•·ã•}) \leq \max\{0,a_{n}\}\text{\cs{zw}}
  \]
\end{description}

å„$1\leq i\leq n$ã«å¯¾ã—ã¦ï¼Œ
ã€Œè¡Œæœ«ã«$a_{i}$å…¨è§’ã&nbsp;ã‘ã®ã‚«ãƒ¼ãƒ³ã‚’è¿½åŠ&nbsp;ã—ãŸæ™‚ã®ï¼Œ\textit{glue\_set}ã®å€¤ã€ã‚’
$b_{i}$ã¨ãŠãï¼Žå¼ã§æ›¸ãã¨ï¼Œ
\[
b_{i} = \begin{dcases*}
  \frac{\lvert\textit{total}-a_{i}\text{\cs{zw}}\rvert}{T^{+}}
	  &amp;($\textit{total}-a_{i}\text{\cs{zw}}\geq 0$),\\
  \frac{\lvert\textit{total}-a_{i}\text{\cs{zw}}\rvert}{T^{-}}
	  &amp;($\textit{total}-a_{i}\text{\cs{zw}}&lt;0$).
\end{dcases*}
\]
$b_{i}$é”ã®æœ€å°å€¤ã‚’ä¸Žãˆã‚‹ã‚ˆã†ãª$i$ã‚’$j$ã¨ã—ãŸã¨ã\footnote{%
  ãã®ã‚ˆã†ãª$i$ãŒ2ã¤ä»¥ä¸Šã‚ã‚‹ã¨ãã¯ï¼Œ$|\textit{total}-a_{i}\cdot \text{\cs{zw}}|$,
  $|a_{i}|$, $a_i$ã®é&nbsp;†ã§æ¯”è¼ƒã—ã¦ä¸€ç•ªå°ã•ããªã‚‹ã‚‚ã®ãŒé¸ã°ã‚Œã‚‹ï¼Ž
}ï¼Œ
è¡Œæœ«ã«å¤§ãã•$a_{j}$ã®ã‚«ãƒ¼ãƒ³ã‚’è¿½åŠ&nbsp;ã™ã‚‹ï¼Ž
\textit{total}ã‹ã‚‰$a_{j}$å…¨è§’ã®å¤§ãã•ã&nbsp;ã‘å¼•ã„ã¦ãŠãï¼Ž

\subsection{è¡Œæœ«æ–‡å­—ã®ä½ç½®èª¿æ•´ï¼ˆè¡Œåˆ†å‰²ã§ã®è€ƒæ…®ï¼‰}
\texttt{lineend=extended}ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å&nbsp;´åˆï¼Œ\TeX ã«ã‚ˆã‚‹è¡Œåˆ†å‰²ãŒè¡Œã‚ã‚Œã‚‹å‰ã«
å„\textbf{JAchar}ã®ç›´å¾Œã«ï¼Œãã®æ–‡å­—ãŒè¡Œæœ«ã«æ¥ãŸã¨ãã®ä½ç½®è£œæ­£ç”¨ã®ãƒŽãƒ¼ãƒ‰ã‚’æŒ¿å…¥ã—ã¦ã„ãï¼Ž

\ref{sec-jfmglue}ç«&nbsp;ã®ç”¨èªžã‚’ä½¿ã£ã¦è¿°ã¹ã‚‹ï¼Ž
å‰å´ã®ã‚¯ãƒ©ã‚¹ã‚¿\textit{Nq}ãŒã€Œå’Œæ–‡Aã€ã€Œå’Œæ–‡Bã€ã§ã‚ã‚Šï¼Œ
JFMã«ã‚ˆã£ã¦\texttt{end\_adjust}ã®å€¤ãŒ
\begin{quote}
  \texttt{end\_adjust = \{$a_{1}$, $a_{2}$, ..., $a_{n}$\}}
\end{quote}
ã§ã‚ã£ãŸã¨ã™ã‚‹ï¼Žã“ã®ã¨ãï¼Œæ¬¡ã®ã‚¯ãƒ©ã‚¹ã‚¿\textit{Np}ã®ç›´å‰ã«ä»¥ä¸‹ã®ãƒŽãƒ¼ãƒ‰åˆ—ã‚’æŒ¿å…¥ã™ã‚‹ï¼Ž
\textbf{JAglue}ã®æŒ¿å…¥éŽç¨‹ã§ç¦å‰‡å‡¦ç†ã®ãŸã‚ã«ã€Œ\textit{Nq}ã¨\textit{Np}ã®é–“ã®ãƒšãƒŠãƒ«ãƒ†ã‚£å€¤ã‚’å¢—ã‚„ã™ã€ã“ã¨ãŒ
è¡Œã‚ã‚Œã‚‹ã“ã¨ãŒã‚ã‚‹ãŒï¼Œä»¥ä¸‹ã§è¿°ã¹ã‚‰ã‚Œã¦ã„ã‚‹$(n+1)$å€‹ã®ãƒšãƒŠãƒ«ãƒ†ã‚£ã¯ã¿ãªãã®å‡¦ç†å¯¾è±¡ã«ãªã£ã¦ã„ã‚‹ï¼Ž
\begin{align*}
  \Node{kern}{$a_{1}\text{\cs{zw}}$}
  &amp;\longrightarrow \Node{penalty}{$0$} \longrightarrow\Node{kern}{$(a_{2}-a_{1})\text{\cs{zw}}$}
  \longrightarrow \Node{penalty}{$0$} \longrightarrow\Node{kern}{$(a_{3}-a_{2})\text{\cs{zw}}$}\\
  &amp;\longrightarrow
  \cdots \longrightarrow\Node{penalty}{$0$} \longrightarrow
  \Node{kern}{$(a_{n}-a_{n-1})\text{\cs{zw}}$}
  \longrightarrow \Node{penalty}{$0$} \longrightarrow
  \Node{kern}{$-a_{n}\text{\cs{zw}}$} \longrightarrow \Node{penalty}{$10000$}
\end{align*}
$n$å€‹ã‚ã‚‹ãƒšãƒŠãƒ«ãƒ†ã‚£ã®ç®‡æ‰€ãŒæ”¹è¡Œå¯èƒ½ç®‡æ‰€ã§ã‚ã‚‹ï¼Žã„ãšã‚Œã‹ã§æ”¹è¡Œã•ã‚ŒãŸå&nbsp;´åˆã¯ï¼Œ
ãã®å‰ã«ã‚ã‚‹ã‚«ãƒ¼ãƒ³ï¼ˆ$n$ç®‡æ‰€ã®ã†ã¡ã©ã“ã§æ”¹è¡Œã—ã¦ã‚‚ï¼Œåˆè¨ˆã®é•·ã•ã¯$a_{i}$ã®å½¢ï¼‰ã¯è¡Œæœ«ã«æ®‹ã‚‹ãŒï¼Œ
å¾Œã‚ã®ãƒšãƒŠãƒ«ãƒ†ã‚£ãƒ»ã‚«ãƒ¼ãƒ³ã¯é™¤åŽ»ã•ã‚Œã‚‹ï¼ŽãªãŠï¼Œ$a_1=0$ã®ã¨ãã¯æœ€åˆã®å¹…ãŒ$a_{1}\text{\cs{zw}}$ã®ã‚«ãƒ¼ãƒ³ã¯ä¸è¦ãªã®ã§æŒ¿å…¥ã•ã‚Œãšï¼Œ
ã•ã‚‰ã«ã‹ã¤$n=1$ã§ã‚ã£ãŸå&nbsp;´åˆã¯å¾Œã‚ã®ãƒšãƒŠãƒ«ãƒ†ã‚£ã‚‚æŒ¿å…¥ã•ã‚Œãªã„ï¼Ž

ãªãŠï¼Œæ®µè½ã®æœ«å°¾ã«ã¯\cs{penalty10000}ã¨\cs{parfillskip}ç”±æ¥ã®ã‚°ãƒ«ãƒ¼ãŒè‡ªå‹•çš„ã«å…¥ã‚‹ãŒï¼Œ
ã“ã‚Œã‚‰ã¨ã®å…¼ã­åˆã„ã®ãŸã‚\emph{æœ€å¾Œã®ã‚¯ãƒ©ã‚¹ã‚¿ã«ã¤ã„ã¦ã¯ä¸Šè¨˜ã®ãƒŽãƒ¼ãƒ‰æŒ¿å…¥å‡¦ç†ã¯è¡Œã‚ã‚Œãªã„}ï¼Ž
æ®µè½æœ€çµ‚è¡Œã®è¡Œæœ«æ–‡å­—ã®ä½ç½®èª¿æ•´ã¯ï¼Œã™ã§ã«è¿°ã¹ãŸã€Œè¡Œåˆ†å‰²å¾Œã®å&nbsp;´åˆã€ã«ãŠã‘ã‚‹æœ€çµ‚è¡Œã®å‡¦ç†ã‚’æµç”¨ã—ã¦ã„ã‚‹ãŒï¼Œ
ãã®ã¾ã¾ã§ã¯ã€Œæ®µè½æœ«å°¾ã‚’ã¶ã‚‰ä¸‹ã’çµ„($a_1=-0.5$)ã«ã™ã‚‹ã€ã“ã¨ãŒã§ããªã„
\footnote{é€šå¸¸æ™‚ã¯\cs{parfillskip}ã®å†…å®¹ã¯\texttt{0pt plus 1fil}ã§ã‚ã‚‹ãŸã‚ï¼Œ
  è²&nbsp;ã®é•·ã•ã«ãªã‚‹ã“ã¨ã¯ãªã„ï¼Žã“ã‚Œã«ä¼´ã£ã¦ï¼Œã€Œæ®µè½æœ«å°¾ã¯ã¶ã‚‰ä¸‹ã’çµ„ãŒæœ›ã¾ã—ã„ã€çŠ¶æ³ã§ã‚ã£ã¦ã‚‚ï¼Œ
  å®Ÿéš›ã«ã¯æœ«å°¾ã®å¥ç‚¹ï¼ˆã¨ãã®å‰ã®æ•°æ–‡å­—ï¼‰ãŒã¾ã¨ã‚ã¦æ¬¡ã®è¡Œã«è¿½ã„å‡ºã•ã‚Œã¦ã—ã¾ã†ï¼Ž}ãŸã‚ï¼Œ
\begin{itemize}
  \item æ®µè½æœ«å°¾ã®\cs{penalty10000}\cs{parfillskip}ã®ç›´å‰ã«ï¼Œ$a_1\text{\cs{zw}}$ã®ã‚«ãƒ¼ãƒ³ã‚’æŒ¿å…¥ã™ã‚‹
  \item è¡Œåˆ†å‰²å¾Œï¼Œè¡Œæœ«æ–‡å­—ã®ä½ç½®èª¿æ•´ã‚’è¡Œã†å‰ã«ï¼Œãã®ã‚«ãƒ¼ãƒ³ã‚’å‰Šé™¤ã™ã‚‹
\end{itemize}
ã¨ã„ã†å‰å‡¦ç†ã‚’è¿½åŠ&nbsp;ã—ã¦ã„ã‚‹ï¼Ž

\subsection{ã‚°ãƒ«ãƒ¼ã®èª¿æ•´}
$|\textit{total}|$ã®åˆ†ã&nbsp;ã‘ãŒï¼Œè¡Œä¸­ã®ã‚°ãƒ«ãƒ¼ã®ä¼¸ã³é‡ï¼Œã‚ã‚‹ã„ã¯ç¸®ã¿é‡ã«å¿œã˜ã¦è²&nbsp;æ‹…ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž
ä»¥ä¸‹ï¼Œ$\textit{total}\geq 0$ã§ã‚ã‚‹ã¨ä»®å®šã—ã¦è©±ã‚’é€²ã‚ã‚‹ãŒï¼Œè²&nbsp;ã®ã¨ãã‚‚åŒæ§˜ã§ã‚ã‚‹ï¼Ž
\Pkg{luatexja-adjust}ã®åˆæœŸå€¤ã§ã¯ä»¥ä¸‹ã®é&nbsp;†ã«ä¼¸ã³é‡ã‚’è²&nbsp;æ‹…ã™ã‚‹ã‚ˆã†ã«ãªã£ã¦ãŠã‚Šï¼Œ
ï¼ˆå„ªå…ˆåº¦$-4$ã®JFMã‚°ãƒ«ãƒ¼ã¯ä¾‹å¤–ã¨ã—ã¦ï¼‰ã§ãã‚‹ã&nbsp;ã‘\Param{kanjiskip}ã‚’è‡ªç„¶é•·ã®ã¾ã¾ã«ã™ã‚‹ã“ã¨ã‚’
è©¦ã¿ã¦ã„ã‚‹ï¼Žã“ã®é&nbsp;†ç•ªã¯\Param{stretch\_priority}ï¼ˆç¸®ã¿é‡ã«ã¤ã„ã¦ã¯\Param{shrink\_priority}ï¼‰
ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã§å¤‰æ›´å¯èƒ½ã§ã‚ã‚‹ï¼Ž
\begin{enumerate}\def\labelenumi{(\Alph{enumi})}
 \item \textbf{JAglue}ä»¥å¤–ã®ã‚°ãƒ«ãƒ¼
 \item å„ªå…ˆåº¦3ã®JFMã‚°ãƒ«ãƒ¼
 \item å„ªå…ˆåº¦2ã®JFMã‚°ãƒ«ãƒ¼
 \item å„ªå…ˆåº¦1ã®JFMã‚°ãƒ«ãƒ¼
 \item å„ªå…ˆåº¦0ã®JFMã‚°ãƒ«ãƒ¼
 \item å„ªå…ˆåº¦$-1$ã®JFMã‚°ãƒ«ãƒ¼
 \item å„ªå…ˆåº¦$-2$ã®JFMã‚°ãƒ«ãƒ¼
 \item \Param{xkanjiskip}
 \item å„ªå…ˆåº¦$-3$ã®JFMã‚°ãƒ«ãƒ¼
 \item \Param{kanjiskip}
 \item å„ªå…ˆåº¦$-4$ã®JFMã‚°ãƒ«ãƒ¼
\end{enumerate}
\begin{enumerate}
 \item è¡Œæœ«ã®\textbf{JAchar}ã‚’ç§»å‹•ã—ãŸã“ã¨ã§$\textit{total}=0$ã¨ãªã‚Œã°ï¼Œ
èª¿æ•´ã®å¿…è¦ã¯ãªãï¼Œè¡ŒãŒæ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹hboxã®
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ã‚’å†è¨ˆç®—ã™ã‚Œã°ã‚ˆã„ï¼Ž
ä»¥é™ï¼Œ$\textit{total}\neq 0$ã¨ä»®å®šã™ã‚‹ï¼Ž
 \item \textit{total}ãŒã€Œ\textbf{JAglue}ä»¥å¤–ã®ã‚°ãƒ«ãƒ¼ã®ä¼¸ã³é‡ã®åˆè¨ˆã€ï¼ˆä»¥ä¸‹ï¼Œ(A)ã®ä¼¸ã³é‡ã®
       åˆè¨ˆï¼Œã¨ç§°ã™ï¼‰ã‚ˆã‚Šã‚‚å°ã•ã‘ã‚Œã°ï¼Œ
ãã‚Œã‚‰ã®ã‚°ãƒ«ãƒ¼ã«\textit{total}ã‚’è²&nbsp;æ‹…ã•ã›ï¼Œ\textbf{JAglue}é”è‡ªèº«ã¯è‡ªç„¶é•·ã§çµ„ã‚€ã“ã¨ãŒã§ãã‚‹ï¼Ž
ã‚ˆã£ã¦ï¼Œä»¥ä¸‹ã®å‡¦ç†ã‚’è¡Œã†ï¼š
\begin{enumerate}
\item å„\textbf{JAglue}ã®ä¼¸ã³é‡ã‚’0ã¨ã™ã‚‹ï¼Ž
\item è¡ŒãŒæ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹hboxã®
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ã‚’å†è¨ˆç®—ã™ã‚‹ï¼Ž
ã“ã‚Œã«ã‚ˆã£ã¦ï¼Œ\textit{total}ã¯\textbf{JAglue}ä»¥å¤–ã®ã‚°ãƒ«ãƒ¼ã«ã‚ˆã£ã¦è²&nbsp;æ‹…ã•ã‚Œã‚‹ï¼Ž
\end{enumerate}
\item \textit{total}ãŒã€Œ(A)ã®ä¼¸ã³é‡ã®åˆè¨ˆã€ä»¥ä¸Šãªã‚‰ã°ï¼Œ(A)--(K)ã®ã©ã“ã¾ã§è²&nbsp;æ‹…ã™ã‚Œã°
\textit{total}ä»¥ä¸Šã«ãªã‚‹ã‹ã‚’è¨ˆç®—ã™ã‚‹ï¼Ž
ä¾‹ãˆã°ï¼Œ
\[
 \textit{total} = (\text{(A)--(B)ã®ä¼¸ã³é‡ã®åˆè¨ˆ}) + p\cdot (\text{(C)ã®ä¼¸ã³é‡ã®åˆè¨ˆ}),
 \qquad 0\le p&lt;1
\]
ã§ã‚ã£ãŸå&nbsp;´åˆï¼Œå„ã‚°ãƒ«ãƒ¼ã¯æ¬¡ã®ã‚ˆã†ã«çµ„ã¾ã‚Œã‚‹ï¼š
\begin{itemize}
 \item (A),~(B)ã«å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ã¯å„ã‚°ãƒ«ãƒ¼ã§è¨±ã•ã‚ŒãŸä¼¸ã³é‡ã¾ã§ä¼¸ã°ã™ï¼Ž
 \item (C)ã«å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ã¯ãã‚Œãžã‚Œ$p\times (\text{ä¼¸ã³é‡})$ã&nbsp;ã‘ä¼¸ã³ã‚‹ï¼Ž
 \item (D)--(K)ã«å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ã¯è‡ªç„¶é•·ã®ã¾ã¾ï¼Ž
\end{itemize}
å®Ÿéš›ã«ã¯ï¼Œå‰ã«è¿°ã¹ãŸã€Œè¨­è¨ˆã€ã«å¾“ã„ï¼Œæ¬¡ã®ã‚ˆã†ã«å‡¦ç†ã—ã¦ã„ã‚‹ï¼š
\begin{enumerate}
\item (C)ã«å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ã®ä¼¸ã³é‡ã‚’$p$å€ã™ã‚‹ï¼Ž
\item (D)--(K)ã«å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ã®ä¼¸ã³é‡ã‚’0ã¨ã™ã‚‹ï¼Ž
\item è¡ŒãŒæ&nbsp;¼ç´ã•ã‚Œã¦ã„ã‚‹hboxã®
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ã‚’å†è¨ˆç®—ã™ã‚‹ï¼Ž
ã“ã‚Œã«ã‚ˆã£ã¦ï¼Œ\textit{total}ã¯\textbf{JAglue}ä»¥å¤–ã®ã‚°ãƒ«ãƒ¼ã«ã‚ˆã£ã¦è²&nbsp;æ‹…ã•ã‚Œã‚‹ï¼Ž
\end{enumerate}
\item \textit{total}ãŒ(A)--(K)ã®ä¼¸ã³é‡ã®åˆè¨ˆã‚ˆã‚Šã‚‚å¤§ãã„å&nbsp;´åˆï¼Œã©ã†ã—ã‚ˆã†ã‚‚ãªã„ã®ã§
      \verb+^^;+ä½•ã‚‚ã—ãªã„ï¼Ž
\end{enumerate}

%&lt;/ja&gt;

%&lt;*ja&gt;
\section{è¤‡æ•°ãƒ•ã‚©ãƒ³ãƒˆã®ã€Œåˆæˆã€ï¼ˆæœªå®Œï¼‰}
\section{\LuaTeX-jaã«ãŠã‘ã‚‹ã‚­ãƒ£ãƒƒã‚·ãƒ¥}
\Pkg{luaotfload}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒï¼Œå„TrueTypeãƒ»OpenTypeãƒ•ã‚©ãƒ³ãƒˆã®æƒ…å&nbsp;±ã‚’
ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¨ã—ã¦ä¿å­˜ã—ã¦ã„ã‚‹ã®ã¨åŒæ§˜ã®æ–¹æ³•ã§ï¼Œ
\LuaTeX-jaã‚‚ã„ãã¤ã‹ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ä½œæˆã™ã‚‹ã‚ˆã†ã«ãªã£ãŸï¼Ž
\begin{itemize}
 \item é€šå¸¸ï¼Œã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¯ \texttt{\$TEXMFVAR/luatexja/} ä»¥ä¸‹ã«ä¿å­˜ã•ã‚Œï¼Œ
ãã“ã‹ã‚‰èª­ã¿è¾¼ã¿ãŒè¡Œã‚ã‚Œã‚‹ï¼Ž
 \item ã€Œé€šå¸¸ã®ã€ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ï¼ˆæ‹¡å¼µå­ã¯ \texttt{.lua.gz}ï¼Œgzipåœ§ç¸®ã•ã‚Œã¦ã„ã‚‹ãŸã‚ï¼‰ä»¥å¤–ã«ã‚‚ï¼Œ
ãã‚Œã‚’ãƒã‚¤ãƒŠãƒªå½¢å¼ï¼ˆãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰ï¼‰ã«å¤‰æ›ã—ãŸã‚‚ã®ã‚‚ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ï¼Ž
\begin{itemize}
 \item ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’èª­ã¿è¾¼ã‚€æ™‚ï¼ŒåŒåã®ãƒã‚¤ãƒŠãƒªã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒã‚ã‚Œã°ï¼Œ
ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã®ã‚‚ã®ã‚ˆã‚Šãã¡ã‚‰ã‚’å„ªå…ˆã—ã¦èª­ã¿è¾¼ã‚€ï¼Ž
 \item ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒæ›´æ–°/ä½œæˆã•ã‚Œã‚‹éš›ã¯ï¼Œãã®ãƒã‚¤ãƒŠãƒªç‰ˆã‚‚
åŒæ™‚ã«æ›´æ–°ã•ã‚Œã‚‹ï¼Ž
ã¾ãŸï¼Œï¼ˆãƒã‚¤ãƒŠãƒªç‰ˆãŒè¦‹ã¤ã‹ã‚‰ãšï¼‰ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥å´ãŒèª­ã¿è¾¼ã¾ã‚ŒãŸã¨ãã¯ï¼Œ
\LuaTeX-jaã¯ãƒã‚¤ãƒŠãƒªã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’ä½œæˆã™ã‚‹ï¼Ž
æœªåœ§ç¸®ã®ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥(\texttt{hoge.lua})ã¯20200802.0ä»¥é™ã§ã¯åˆ©ç”¨ã—ãªã„ï¼Ž
\end{itemize}
\end{itemize}
%&lt;/ja&gt;
%&lt;*en&gt;
\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 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.gz}'',
because they are compressed by gzip),
caches of the \emph{binary}~(bytecode) form are supported.
\begin{itemize}
 \item In loading a cache, the binary cache precedes
the text form.
 \item When \LuaTeX-ja updates a compressed text cache \texttt{hoge.lua.gz},
its binary version is also updated.
\end{itemize}
\end{itemize}
%&lt;/en&gt;

%&lt;*ja&gt;
\subsection{ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®ä½¿ç”¨ç®‡æ‰€}

\LuaTeX-ja ã§ã¯ä»¥ä¸‹ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’ä½¿ç”¨ã—ã¦ã„ã‚‹ï¼š
\begin{cslist}
\item[ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}]
Ryumin-Lightã®ã‚ˆã†ãªéžåŸ‹ã‚è¾¼ã¿ãƒ•ã‚©ãƒ³ãƒˆã®æƒ…å&nbsp;±ã‚’æ&nbsp;¼ç´ã—ã¦ãŠã‚Šï¼Œ
ï¼ˆãã‚Œã‚‰ãŒ\LuaTeX-jaã®æ¨™æº–å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãªã®ã§ï¼‰\LuaTeX-jaã®èª­ã¿è¾¼ã¿æ™‚ã«è‡ªå‹•ã§èª­ã¾ã‚Œã‚‹ï¼Ž
ç”Ÿæˆã«ã¯\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}ã¨ã„ã†3ã¤ã®
CMapãŒå¿…è¦ã§ã‚ã‚‹ï¼Ž

\pageref{para-cid}ãƒšãƒ¼ã‚¸ã§è¿°ã¹ãŸã‚ˆã†ã«ï¼Œ\texttt{cid}ã‚­ãƒ¼ã‚’ä½¿ã£ã¦
éžåŸ‹ã‚è¾¼ã¿ã®ä¸­å›½èªžãƒ»éŸ“å›½èªžãƒ•ã‚©ãƒ³ãƒˆã‚’å®šç¾©ã™ã‚‹å&nbsp;´åˆï¼ŒåŒæ§˜ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒç”Ÿæˆã•ã‚Œã‚‹ï¼Ž
ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®åç§°ï¼Œå¿…è¦ã¨ãªã‚‹CMapã«ã¤ã„ã¦ã¯\autoref{tab:cid-cache}ã‚’å‚ç…§ã—ã¦æ¬²ã—ã„ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\subsection{Use of cache}

\LuaTeX-ja uses the following cache:
\begin{cslist}
\item[ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}]
The font table of a CID-keyed non-embedded Japanese font.
This is loaded in every run.
It is created from three CMaps, \texttt{UniJIS2004-UTF32-\{H,V\}} and
	     \texttt{Adobe-Japan1-UCS2},
and this is why these two CMaps are needed in the first run of \LuaTeX-ja.

Similar caches are created as \autoref{tab:cid-cache},
if you specified \texttt{cid} key in \cs{jfont}
to use other CID-keyed non-embedded fonts for Chinese or Korean,
as in Page~\pageref{para-cid}.
%&lt;/en&gt;

\begin{table}[!tb]
 \centering\small
\caption{\texttt{cid} key and corresponding files}
\label{tab:cid-cache}
\vspace*{\medskipamount}
\begin{tabular}{&gt;{\tt}l&gt;{\tt}l&gt;{\tt}l&gt;{\tt}l}
\toprule
\bf \texttt{cid} key&amp;\bf name of the cache &amp;
\multicolumn{2}{c}{\bf used CMaps}\\
\midrule
Adobe-Japan1-*&amp;ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}&amp;UniJIS2004-UTF32-*&amp;Adobe-Japan1-UCS2\\
Adobe-Korea1-*&amp;ltj-cid-auto-adobe-korea1.\{lua.gz,luc\}&amp;UniKS-UTF32-*&amp;Adobe-Korea1-UCS2\\
Adobe-KR-*&amp;ltj-cid-auto-adobe-kr.\{lua.gz,luc\}&amp;UniAKR-UTF32-*&amp;Adobe-KR-UCS2\\
Adobe-GB1-*&amp;ltj-cid-auto-adobe-gb1.\{lua.gz,luc\}&amp;UniGB-UTF32-*&amp;Adobe-GB1-UCS2\\
Adobe-CNS1-*&amp;ltj-cid-auto-adobe-cns1.\{lua.gz,luc\}&amp;UniCNS-UTF32-*&amp;Adobe-CNS1-UCS2\\
\bottomrule
\end{tabular}
\end{table}

%&lt;*ja&gt;
\item[ltj-kinsoku\_default.\{lua.gz,luc\}]
ç¦å‰‡å‡¦ç†ï¼Œ\Param{kansujichar}ãªã©ã®æ¨™æº–è¨­å®šãŒæ&nbsp;¼ç´ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã§ã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item[ltj-kinsoku.luc]
The bytecode cache which default \textit{kinsoku} parameters are stored.
%&lt;/en&gt;

%&lt;*ja&gt;
\item[ltj-jisx0208.luc]
\LuaTeX-jaé…å¸ƒä¸­ã®\texttt{ltj-jisx0208.lua}ã‚’ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰åŒ–ã—ãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž
ã“ã‚Œã¯JIS~X~0208ã¨Unicodeã¨ã®å¤‰æ›ãƒ†ãƒ¼ãƒ–ãƒ«ã§ã‚ã‚Šï¼Œ
\pTeX ã¨ã®äº’æ›ç›®çš„ã®æ–‡å­—ã‚³ãƒ¼ãƒ‰å¤‰æ›å‘½ä»¤ã§ç”¨ã„ã‚‰ã‚Œã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item[ltj-jisx0208.luc]
The bytecode 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.
%&lt;/en&gt;

%&lt;*ja&gt;
\item[ltj-ivd\_aj1.luc]
\LuaTeX-jaé…å¸ƒä¸­ã®\texttt{ltj-ivd\_aj1.lua}ã‚’ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰åŒ–ã—ãŸã‚‚ã®ã§ã‚ã‚‹ï¼Ž
ã“ã‚Œã¯Unicodeã®æ¼¢å­—ç•°ä½“å­—ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®Adobe-Japan1ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®å†…å®¹ã‚’
  æ&nbsp;¼ç´ã—ãŸãƒ†ãƒ¼ãƒ–ãƒ«ã§ã‚ã‚Šï¼Œ\Pkg{luatexja-otf}ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®\cs{CID}å‘½ä»¤ã§ä½¿ã‚ã‚Œã‚‹ã“ã¨ãŒã‚ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item[ltj-ivd\_aj1.luc]
The bytecode version of \texttt{ltj-ivd\_aj1.lua}.
%&lt;/en&gt;

%&lt;*ja&gt;
\item[extra\_***.\{lua.gz,luc\}]
ãƒ•ã‚©ãƒ³ãƒˆ``\texttt{***}''ã«ãŠã‘ã‚‹ï¼Œã‚°ãƒªãƒ•ç•ªå·ã‹ã‚‰Unicodeå€¤ã¸ã®å¤‰æ›ãƒ†ãƒ¼ãƒ–ãƒ«ï¼Œç¸¦çµ„æ™‚ã®ã‚°ãƒªãƒ•å›žè»¢ã®æœ‰ç„¡ã‚’æ&nbsp;¼ç´ã—ãŸãƒ†ãƒ¼ãƒ–ãƒ«ï¼Œ
åŠã³ç¸¦çµ„æ™‚ã«ãŠã‘ã‚‹ã‚°ãƒªãƒ•ã®åŽŸç‚¹ä½ç½®ãƒ»é«˜ã•ã®ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’æ&nbsp;¼ç´ã—ã¦ã„ã‚‹ï¼Ž
%&lt;/ja&gt;
%&lt;*en&gt;
\item[extra\_***.\{lua.gz,luc\}]
This file conains some information (especially for vertical typesetting) about the font `\texttt{***}''.
%&lt;/en&gt;
\end{cslist}

%&lt;*en&gt;
\subsection{Internal}
Cache management system of \LuaTeX-ja is stored in \texttt{luatexja.base}
(\texttt{ltj-base.lua}).
There are four public functions for cache management in \texttt{luatexja.base},
where \meta{filename} stands for the file name \emph{without suffix}:
\begin{cslist}
\item[save\_cache(\meta{filename}, \meta{data})]
Save a non-nil table \meta{data} into a cache \meta{filename}.
Both the compressed text form \meta{filename}\texttt{.lua.gz} and its binary version
are created or updated.

\item[save\_cache\_luc(\meta{filename}, \meta{data}{[, \meta{serialized\_data}]})]

Same as \texttt{save\_cache}, except that only the binary cache is updated.
The third argument \meta{serialized\_data} is not usually given.
But if this is given, it is treated as a string representation of \meta{data}.

\item[load\_cache(\meta{filename}, \meta{outdate})]
Load the cache \meta{filename}.
\meta{outdate} 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 \meta{filename}\texttt{.luc}.
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 compressed text form \meta{filename}\texttt{.lua.gz}.
Hence, the return value of \texttt{load\_cache} is non-nil,
if and only if the updated cache is found.

\item[remove\_cache(\meta{filename})]
Remove the cahce \meta{filename}.
\end{cslist}
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{å†…éƒ¨å‘½ä»¤}
\LuaTeX-jaã«ãŠã‘ã‚‹ã‚­ãƒ£ãƒƒã‚·ãƒ¥ç®¡ç†ã¯ï¼Œ\texttt{luatexja.base}~(\texttt{ltj-base.lua})ã«
å®Ÿè£…ã—ã¦ãŠã‚Šï¼Œä»¥ä¸‹ã®é–¢æ•°ãŒå…¬é–‹ã•ã‚Œã¦ã„ã‚‹ï¼Ž
ã“ã“ã§ï¼Œ\meta{filename}ã¯ä¿å­˜ã™ã‚‹ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚’\emph{æ‹¡å¼µå­ãªã—ã§}æŒ‡å®šã™ã‚‹ï¼Ž
\begin{cslist}
\item[save\_cache(\meta{filename}, \meta{data})]
nilã§ãªã„\meta{data}ã‚’ã‚­ãƒ£ãƒƒã‚·ãƒ¥\meta{filename}ã«ä¿å­˜ã™ã‚‹ï¼Ž
ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã®\meta{filename}\texttt{.lua.gz}\footnote{æ‹¡å¼µå­ã‹ã‚‰ã‚ã‹ã‚‹é€šã‚Šï¼Œå®Ÿéš›ã«ã¯gzipåœ§ç¸®ã•ã‚Œã‚‹ï¼Ž}ã®ã¿ãªã‚‰ãšï¼Œ
ãã®ãƒã‚¤ãƒŠãƒªå½¢å¼ã‚‚ä½œæˆãƒ»æ›´æ–°ã•ã‚Œã‚‹ï¼Ž

\item[save\_cache\_luc(\meta{filename}, \meta{data}{[, \meta{serialized\_data}]})]

\texttt{save\_cache}ã¨åŒæ§˜ã&nbsp;ãŒï¼Œãƒã‚¤ãƒŠãƒªã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®ã¿ãŒæ›´æ–°ã•ã‚Œã‚‹ï¼Ž
ç¬¬3å¼•æ•°\meta{serialized\_data}ãŒä¸Žãˆã‚‰ã‚ŒãŸå&nbsp;´åˆï¼Œãã‚Œã‚’
\meta{data}ã®æ–‡å­—åˆ—åŒ–è¡¨ç¾ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ï¼Ž
ãã®ãŸã‚ï¼Œ\meta{serialized\_data}ã¯æ™®é€šã¯æŒ‡å®šã—ãªã„ã“ã¨ã«ãªã‚‹ã&nbsp;ã‚ã†ï¼Ž

\item[load\_cache(\meta{filename}, \meta{outdate})]
ã‚­ãƒ£ãƒƒã‚·ãƒ¥\meta{filename}ã‚’èª­ã¿è¾¼ã‚€ï¼Ž
\meta{outdate}ã¯1å¼•æ•°ï¼ˆã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®ä¸­èº«ï¼‰ã‚’ã¨ã‚‹é–¢æ•°ã§ã‚ã‚Šï¼Œ
ãã®æˆ»ã‚Šå€¤ã¯ã€Œã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®æ›´æ–°ãŒå¿…è¦ã€ã‹ã©ã†ã‹ã‚’ç¤ºã™ãƒ–ãƒ¼ãƒ«å€¤ã§ãªã„ã¨ã„ã‘ãªã„ï¼Ž

\texttt{load\_cache}ã¯ï¼Œã¾ãšãƒã‚¤ãƒŠãƒªã‚­ãƒ£ãƒƒã‚·ãƒ¥\meta{filename}\texttt{.luc}ã‚’
èª­ã¿ã“ã‚€ï¼Žã‚‚ã—ãã®å†…å®¹ãŒã€Œæ–°ã—ã„ã€ï¼Œã¤ã¾ã‚Š\meta{outdate}ã®è©•ä¾¡çµæžœãŒ \texttt{false} ãªã‚‰
\texttt{load\_cache}ã¯ã“ã®ãƒã‚¤ãƒŠãƒªã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®ä¸­èº«ã‚’è¿”ã™ï¼Ž
ã‚‚ã—ãƒã‚¤ãƒŠãƒªã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸã‹ï¼Œã€Œå¤ã™ãŽã‚‹ã€ãªã‚‰ã°ï¼ˆgzipåœ§ç¸®ã•ã‚ŒãŸï¼‰ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã®
	     \meta{filename}\texttt{.lua.gz}ã‚’èª­ã¿è¾¼ã¿ï¼Œ\meta{outdate}ã§å†åº¦è©•ä¾¡ã™ã‚‹ï¼Ž

ä»¥ä¸Šã‚ˆã‚Šï¼Œ\texttt{load\_cache}è‡ªä½“ãŒnilã§ãªã„å€¤ã‚’è¿”ã™ã®ã¯ï¼Œã¡ã‚‡ã†ã©ã€Œæ–°ã—ã„ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒ
è¦‹ã¤ã‹ã£ãŸå&nbsp;´åˆã§ã‚ã‚‹ï¼Ž

\item[remove\_cache(\meta{filename})]
ã‚­ãƒ£ãƒƒã‚·ãƒ¥\meta{filename}ã‚’å‰Šé™¤ã™ã‚‹ï¼Žãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ï¼ˆgzipåœ§ç¸®ã•ã‚Œã¦ã„ã‚‹ã‹å¦ã‹ã‚’å•ã‚ãšï¼‰ã‚‚
ãƒã‚¤ãƒŠãƒªå½¢å¼ã‚‚ã¾ã¨ã‚ã¦å‰Šé™¤ã™ã‚‹ï¼Ž
\end{cslist}
%&lt;/ja&gt;


%&lt;*ja&gt;
\section{ç¸¦çµ„ã®å®Ÿè£…}
\label{sec-dir-imp}
\ref{sec-direction}ç«&nbsp;ã®æœ€åˆã§ã‚‚è¿°ã¹ãŸã‚ˆã†ã«ï¼Œ
\LuaTeX-jaã¯æ¨ªçµ„(\texttt{TLT})ã§çµ„ã‚“ã&nbsp;ãƒœãƒƒã‚¯ã‚¹ã‚’å›žè»¢ã•ã›ã‚‹æ–¹å¼ã§
ç¸¦çµ„ã‚’å®Ÿè£…ã—ã¦ã„ã‚‹ï¼Ž

\LuaTeX-jaã«ãŠã‘ã‚‹ç¸¦çµ„ã®å®Ÿè£…ã¯
\pTeX ã«ãŠã‘ã‚‹å®Ÿè£…(\cite{ptexdoc,ptextug})ã‚’ãƒ™ãƒ¼ã‚¹ã«ã—ã¦ã„ã‚‹ï¼Ž

\subsection{direction~whatsit}
\textit{direction}~whatsitã¨ã¯ï¼Œ\textit{direction}ã¨ã„ã†ç‰¹å®šã® \verb+user_id+ ã‚’æŒã¤
whatsitã®ã“ã¨ã§ã‚ã‚Šï¼Œä»¥ä¸‹ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã§ä½œã‚‰ã‚Œã‚‹ï¼Ž
\begin{itemize}
 \item çµ„æ–¹å‘ã‚’ \cs{tate} ç­‰ã§å¤‰æ›´ã—ãŸã¨ãï¼Ž
 \item \cs{hbox}, \cs{vbox}, \cs{vtop} ã«ã‚ˆã‚‹æ˜Žç¤ºçš„ãªãƒœãƒƒã‚¯ã‚¹ã®é–‹å§‹æ™‚ï¼Ž\\
\verb+\hbox{}+, \verb+\vbox{}+ ã¨ã„ã£ãŸï¼Œ
\begin{itemize}
 \item \cs{tate} ç­‰ã«ã‚ˆã‚Šãƒœãƒƒã‚¯ã‚¹å†…éƒ¨ã®çµ„æ–¹å‘ã‚’å¤‰æ›´ã—ã¦ã„ãªã„
 \item ãƒœãƒƒã‚¯ã‚¹ã®ä¸­èº«ã®ãƒªã‚¹ãƒˆãŒç©ºã§ã‚ã‚‹
\end{itemize}
å&nbsp;´åˆã¯ï¼Œ\LuaTeX ã® \verb+hpack_filter+, \verb+vpack_filter+ ã¨ã„ã£ãŸ
callbackã«å‡¦ç†ãŒå›žã‚‰ãªã„ï¼Žãã“ã§ï¼Œ\LuaTeX-ja ã§ã¯ï¼Œ\cs{everyhbox}, \cs{everyvbox} ã‚’åˆ©ç”¨ã™
       ã‚‹ã“ã¨ã§å„ãƒœãƒƒã‚¯ã‚¹ã®å…ˆé&nbsp;­ã«ç¢ºå®Ÿã«è¿½åŠ&nbsp;ã™ã‚‹ã‚ˆã†ã«ã—ã¦ã„ã‚‹\footnote{%
  å•é¡Œã¯ \cs{hbox to 25pt\{\}} ã¨ã„ã†çŠ¶æ³ã§ã‚ã‚‹ï¼Žå®Ÿéš›ã®ã“ã®ãƒœãƒƒã‚¯ã‚¹ã®ä¸­èº«ã¯ç©ºã§ãªã„ï¼ˆå°‘ãª
       ãã¨ã‚‚direction whatsitãŒã‚ã‚‹ï¼‰ãŸã‚ï¼Œä½•ã‚‚å¯¾ç­–ã‚’ã—ãªã‘ã‚Œã°hpackæ™‚ã«Underfillè­¦å‘ŠãŒç™º
       ç”Ÿã—ã¦ã—ã¾ã†ã“ã¨ã«ãªã‚‹ï¼Ž\LuaTeX-jaã§ã¯ãã†ãªã‚‰ãªã„ã‚ˆã†ã«ã€Œ\cs{hbadness},
       \cs{vbadness} ã‚’ä¸€æ™‚çš„ã«10000ã«å¤‰æ›´ã—ï¼Œhpack, vpackå¾Œã«å…ƒã®å€¤ã«æˆ»ã™ã€å‡¦ç†ã‚’è¡Œã£ã¦ã„
       ã‚‹ï¼Ž
}ï¼Ž
 \item \cs{vsplit}ã«ã‚ˆã£ã¦vboxã‚’åˆ†å‰²ã—ãŸæ™‚ã®ã€Œæ®‹ã‚Šã€ã®å…ˆé&nbsp;­ï¼Ž
 \item \LuaTeX-jaèª­ã¿è¾¼ã¿å‰ã«ä½œæˆã—ãŸãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã‚’ \cs{ltjsetwd} ç­‰ã«ã‚ˆã£ã¦å¤‰æ›´ã—ãŸæ™‚ï¼Ž
 \item \cs{insert} ã«ã‚ˆã‚‹insertionã§ã¯ï¼Œä¸­èº«ã®å…ˆé&nbsp;­ã«\textit{direction}~whatsitã¯ä½œã‚‰ã‚Œãšï¼Œ
ãã®ä»£ã‚ã‚Šã«ä¸­èº«ã®å„ãƒœãƒƒã‚¯ã‚¹ãƒ»ç½«ç·šã®ç›´å‰ã«ä½œã‚‰ã‚Œã‚‹\footnote{%
 ã“ã‚Œã¯ï¼Œãƒšãƒ¼ã‚¸åˆ†å‰²ã®éŽç¨‹ã§insertionãŒåˆ†å‰²ã•ã‚Œã‚‹æ™‚ï¼Œã€Œç¾åœ¨ã®ãƒšãƒ¼ã‚¸ã§å‡ºåŠ›ã•ã‚Œã‚‹éƒ¨åˆ†ã€ãŒç©ºã¨
       ãªã‚‹ã“ã¨ãŒã‚ã‚‹ã“ã¨ã«ã‚ˆã‚‹ï¼Žå…ˆé&nbsp;­ã«whatsitã‚’ç½®ãã¨ï¼Œæœ€æ‚ªã§ã‚‚ã€Œç¾åœ¨ã®ãƒšãƒ¼ã‚¸ã«whatsitãŒ
       æ®‹ã‚‹ã€ã“ã¨ã«ãªã£ã¦ã—ã¾ã†ï¼Ž}ï¼Ž
\end{itemize}
ãªãŠï¼Œ\verb+\vtop{...}+ ã®å&nbsp;´åˆã¯ï¼Œå…ˆé&nbsp;­ã«direction whatsitã‚’ç½®ãã¨
ãƒœãƒƒã‚¯ã‚¹ã®é«˜ã•ãŒå¸¸ã«0\,ptã«ãªã‚‹ã¨ã„ã†å•é¡ŒãŒç™ºç”Ÿã™ã‚‹ï¼Žãã®ãŸã‚ï¼Œã“ã®å&nbsp;´åˆã«é™ã£ã¦ã¯
vpackæ™‚ã«direction whatsitã‚’ãƒªã‚¹ãƒˆã®2ç•ªç›®ã«ç§»å‹•ã•ã›ã¦ã„ã‚‹ï¼Ž

direction whatsitã¯ã‚ãã¾ã§ã‚‚çµ„æ–¹å‘å‡¦ç†ã®ãŸã‚ã®è£œåŠ©çš„ãªãƒŽãƒ¼ãƒ‰ã§ã‚ã‚‹ã®ã§ï¼Œ
\cs{unhbox}, \cs{unhcopy} ã«ã‚ˆã£ã¦ãƒœãƒƒã‚¯ã‚¹ã®ä¸­èº«ãŒå±•é–‹ã•ã‚Œã‚‹æ™‚ã«ã¯å±•é–‹ç›´å‰ã«å‰Šé™¤ã•ã‚Œã‚‹ï¼Ž
ã“ã‚Œã¯
\begin{lstlisting}
 % yoko direction
\setbox0=\hbox{\tate B}
\noindent % æ°´å¹³ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚‹ï¼Žã“ã®æ™‚ç‚¹ã§ã®ãƒªã‚¹ãƒˆã®ä¸­èº«ã¯ç©º
\unhbox0 A
\end{lstlisting}
ã¨ã„ã£ãŸå&nbsp;´åˆã«ï¼Œæ®µè½ãŒç¸¦çµ„ã§çµ„ã¾ã‚ŒãŸã‚Šï¼Œã‚ã‚‹ã„ã¯
\begin{lstlisting}
\setbox0=\hbox{}
\leavevmode \hbox{A}\unhbox0
\setbox1=\lastbox % \box1 ã¯ã©ã†ãªã‚‹ï¼Ÿ
\end{lstlisting}
ã§ \cs{box1} ãŒ \cs{hbox\{A\}} ã§ãªãç©ºã«ãªã£ã¦ã—ã¾ã†ã“ã¨ã‚’é˜²ããŸã‚ã§ã‚ã‚‹ï¼Ž


\subsection{\textit{dir\_box}}
ç¸¦ä¸­æ¨ªãªã©ç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ã‚’é…ç½®ã™ã‚‹å&nbsp;´åˆã«ï¼Œå‘¨å›²ã®çµ„æ–¹å‘ã¨å¤§ãã•ã‚’æ•´åˆã•ã›ã‚‹ãŸã‚ï¼Œ
\LuaTeX-jaã§ã¯ \verb+\ltj@dir+ ãŒ128ä»¥é™ã®\textit{hlist\_node}, \textit{vlist\_node}ã‚’
ç”¨ã„ã‚‹ï¼Žã“ã‚Œã‚‰ã¯\pTeX ã«ãŠã‘ã‚‹\textit{dir\_node}ã®å½¹å‰²ã¨åŒã˜æžœãŸã—ã¦ãŠã‚Šï¼Œ
ã“ã®æ–‡ç«&nbsp;ä¸­ã§ã¯\textit{dir\_box}ã¨å‘¼ç§°ã™ã‚‹ï¼Ž

\subsubsection{ç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ã®æ•´åˆ}
\textit{dir\_box}ã®ç¬¬ä¸€ã®ä½¿ç”¨ç›®çš„ã¯ï¼Œç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ã®å¤§ãã•ã‚’æ•´åˆã•ã›ã‚‹ã“ã¨ã§ã‚ã‚‹ï¼Ž
ä¾‹ãˆã°ï¼Œ
\begin{lstlisting}
 % yoko direction
å¹³æˆ\hbox{\tate 26}å¹´
\end{lstlisting}
ã¯æ®µè½ä¸­ã§
\[
 \xymatrix{
   {}\Node{glyph}{`å¹³'}\ar[r]&amp;{}\Node{glyph}{`æˆ'}\ar[r]&amp;
   {}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[r]\ar[d]^{\text{ä¸­èº«}}&amp;{}\Node{glyph}{`å¹´'}\\
   &amp;&amp;{}\Node{whatsit}{\cs{tate}}\ar[r]&amp;{}\Node{glyph}{`2'}\ar[r]&amp;{}\Node{glyph}{`6'}
 }
\]
ã¨ã„ã†ãƒªã‚¹ãƒˆã‚’ä½œã‚‹ï¼Žãã®å¾Œï¼Œã“ã®æ®µè½ãŒçµ‚äº†ã—ãŸã¨ãã«ï¼Œ
\LuaTeX-jaã®\textbf{JAglue}æŒ¿å…¥å‡¦ç†ãŒè¡Œã‚ã‚Œ
\[
 \xymatrix{
   {}\Node{glyph}{`å¹³'}\ar[r]
  &amp;{}\textcolor{blue}{\Node{glue}{\Param{xkanjiskip}}}\ar[r]
  &amp;{}\Node{glyph}{`æˆ'}\ar[r]
  &amp;{}\textcolor{blue}{\Node{penalty}{0}}
    \ar`r[d] `[l] `[ddll] `[dl] [dl]
  \\
  &amp;&amp;{}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{yoko})}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{ä¸­èº«}}
  &amp;{}\textcolor{blue}{\Node{penalty}{0}}\ar[r]
  &amp;{}\Node{glyph}{`å¹´'}\\
  &amp;&amp;{}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[d]^{\text{ä¸­èº«}}\\
  &amp;&amp;{}\Node{whatsit}{\cs{tate}}\ar[r]&amp;{}\Node{glyph}{`2'}\ar[r]&amp;{}\Node{glyph}{`6'}
 }
\]
ã®ã‚ˆã†ã«ãªã‚‹ï¼ˆé’å­—ã¯\textbf{JAglue}ï¼Œèµ¤å­—ãŒæ•´åˆå‡¦ç†ã®ãŸã‚ã®\textit{dir\_box}ã§ã‚ã‚‹ï¼‰ï¼Ž
\TeX ã® \cs{showbox} å½¢å¼ã§æ›¸ã‘ã°

\medskip{\narrowbaselines\ttfamily\obeylines\parindent0pt
\catcode`\@=0 @catcode`@\=12
.\tenmin å¹³
@textcolor{blue}{.\glue 0.0 plus 0.4 minus 0.4}
.\tenmin æˆ
@textcolor{blue}{.\penalty 0}
@textcolor{red}{.\hbox(10.00003+0.0)x3.02779, direction TLT}
..\hbox(3.02779+0.0)x10.00003, direction TLT
...\whatsit4=[]
...\tenrm 2
...\tenrm 6
@textcolor{blue}{.\penalty 0}
.\tenmin å¹´
}\medskip

\noindent ã§ã‚ã‚‹ï¼Ž

ãªãŠï¼Œ\cs{raise},~\cs{lower}, \cs{moveleft},~\cs{moveright} ã¨ã„ã£ãŸãƒœãƒƒã‚¯ã‚¹ç§»å‹•å‘½ä»¤ã§ã¯ï¼Ž
ç§»å‹•ã‚’æ­£ã—ãè¡¨ç¾ã™ã‚‹ãŸã‚ã«æ®µè½ã‚„ãƒœãƒƒã‚¯ã‚¹ã®é€”ä¸­ã§ã‚‚ç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ã¯\textit{dir\_box}ã«ã‚«
ãƒ—ã‚»ãƒ«åŒ–ã—ã¦ã„ã‚‹ï¼Ž
ä¾‹ãˆã°
\begin{lstlisting}
 % yoko direction
å¹³æˆ\raise1pt\hbox{\tate 26}å¹´\showlists
\end{lstlisting}
ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªçµæžœã‚’å¾—ã‚‹ï¼Ž

\medskip{\narrowbaselines\ttfamily\obeylines\parindent0pt
\catcode`\@=0 @catcode`@\=12
ï¼ˆå‰ç•¥ï¼‰
\tenrm å¹³
\tenrm æˆ
@textcolor{red}{\hbox(10.00003+0.0)x3.02779, shifted -1.0, direction TLT}
.\hbox(3.02779+0.0)x10.00003, direction TLT
..\whatsit4=[]
..\tenrm 2
..\tenrm 6
\tenrm å¹´
}\medskip

ã¾ãŸï¼Œãƒ¡ã‚¤ãƒ³ã®åž‚ç›´ãƒªã‚¹ãƒˆã«ç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ãŒè¿½åŠ&nbsp;ã•ã‚Œã‚‹å&nbsp;´åˆã«ã‚‚åŒæ§˜ã«å³åº§ã«
\textit{dir\_box}ã«ã‚«ãƒ—ã‚»ãƒ«åŒ–ã—ã¦ã„ã‚‹ï¼Žãƒšãƒ¼ã‚¸åˆ†å‰²ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã‚’æ­£
ã—ã\TeX ãŒåˆ¤æ–­ã™ã‚‹ãŸã‚ã§ã‚ã‚‹ï¼Ž
\cs{lastbox} ã«ã‚ˆã‚‹ãƒœãƒƒã‚¯ã‚¹ã®å–å¾—ã§ã¯ï¼Œ\textit{dir\_box}ã¯å‰Šé™¤ã•ã‚Œã‚‹ï¼Ž

\subsubsection{ç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹å¯¸æ³•ã®æ&nbsp;¼ç´}
ç¬¬äºŒã®ä½¿ç”¨ç›®çš„ã¯ï¼Œç¾åœ¨ã®çµ„æ–¹å‘ãŒãƒœãƒƒã‚¯ã‚¹æœ¬æ¥ã®çµ„æ–¹å‘ã¨ã¯ç•°ãªã‚‹çŠ¶æ³ã§ï¼Œ
\cs{ltjsetwd} ã«ã‚ˆã£ã¦ãƒœãƒƒã‚¯ã‚¹å¯¸æ³•ã‚’è¨­å®šã•ã‚ŒãŸã“ã¨ã‚’è¨˜éŒ²ã™ã‚‹ã“ã¨ã§ã‚ã‚‹ï¼Ž

ä¾‹ãˆã°
\begin{lstlisting}[numbers=left]
\setbox0=\hbox{\vrule width 10pt height 5pt depth 2pt}
\setbox1=\hbox{\tate\ltjsetwd0=20pt}
\wd0=9pt
\setbox1=\hbox{\dtou\ltjsetwd0=20pt}
\setbox0=\hbox{\dtou a\box0}
\end{lstlisting}
ã¨ã„ã†ã‚³ãƒ¼ãƒ‰ã‚’è€ƒãˆã‚‹ï¼Ž1è¡Œç›®ã§ \cs{box0} ã«ã¯æ¨ªçµ„ã®
å¹…10\,ptï¼Œé«˜ã•5\,ptï¼Œæ·±ã•2\,ptã®ãƒœãƒƒã‚¯ã‚¹ãŒä»£å…¥ã•ã‚Œã‚‹ï¼Ž
ã‚ˆã£ã¦ï¼Œ
\begin{itemize}
 \item ç¸¦çµ„ä¸‹ã§ã¯ \cs{box0} ã¯å¹…7\,ptï¼Œé«˜ã•ãƒ»æ·±ã•5\,ptã®ãƒœãƒƒã‚¯ã‚¹ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼Ž
 \item \cs{dtou} ä¸‹ã§ã¯ \cs{box0} ã¯å¹…7\,ptï¼Œé«˜ã•10\,ptï¼Œæ·±ã•0\,ptã®ãƒœãƒƒã‚¯ã‚¹ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼Ž
\end{itemize}
ã“ã®ã¨ãï¼Œ\cs{box0} ã®\emph{ä¸­èº«}ã¯
\[
 \xymatrix{
   {}\Node{whatsit}{\cs{yoko}}\ar[r]&amp;{}\Node{rule}{}
 }
\]
ã§ã‚ã‚‹ï¼Ž

ã•ã¦ï¼Œ2è¡Œç›®ã§ç¸¦çµ„æ™‚ã® \cs{box0} ã®å¹…ãŒ20\,ptã«è¨­å®šã•ã‚Œã‚‹ï¼Žã“ã®æƒ…å&nbsp;±ãŒ
direction~whatsitå†…éƒ¨ã®ãƒŽãƒ¼ãƒ‰ãƒªã‚¹ãƒˆã«ï¼Œ\textit{dir\_box}ã¨ã—ã¦æ&nbsp;¼ç´ã•ã‚Œã‚‹ï¼š
\[
 \xymatrix{
   {}\Node{whatsit}{\cs{yoko}}\ar[r]\ar[d]_{\text{ä¸­èº«}}&amp;{}\Node{rule}{}\\
   {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{tate})}{20.0}{5.0}{5.0}}
 }
\]

æ¬¡ã«ï¼Œ3è¡Œç›®ã§ã¯æ¨ªçµ„æ™‚ã®ï¼Œã¤ã¾ã‚Š \cs{box0} æœ¬æ¥ã®çµ„æ–¹å‘ã§ã®æ·±ã•ãŒ9\,ptã«å¤‰æ›´ã•ã‚Œã‚‹ï¼Ž
ã“ã®ã¨ãï¼Œ\cs{box0} ã¯
\begin{itemize}
 \item ç¸¦çµ„ä¸‹ã§ã¯å¯¸æ³•ä»£å…¥ãŒæ—¢ã«è¡Œã‚ã‚Œã¦ã„ã‚‹ã®ã§ï¼Œ2è¡Œç›®ã§ä½œæˆã•ã‚ŒãŸ\textit{dir\_box}ã®é€šã‚Š
       ã«å¹…20\,ptï¼Œé«˜ã•ãƒ»æ·±ã•5\,ptã®ãƒœãƒƒã‚¯ã‚¹ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼Ž
 \item \cs{dtou} ä¸‹ã§ã¯ã¾ã&nbsp;å¯¸æ³•ä»£å…¥ãŒè¡Œã‚ã‚Œã¦ã„ãªã„ã®ã§ï¼Œ
\cs{box0} ã®å¯¸æ³•å¤‰æ›´ã«è¿½å¾“ã—ï¼Œå¹…7\,ptï¼Œé«˜ã•9\,ptï¼Œæ·±ã•0\,ptã®ãƒœãƒƒã‚¯ã‚¹ã¨ã—ã¦æ‰±ã‚ã‚Œã‚‹ï¼Ž
\end{itemize}

4è¡Œç›®ã§ã¯ \cs{dtou} ä¸‹ã§ã®\cs{box0} ã®å¹…ãŒ20\,ptã«è¨­å®šã•ã‚Œã‚‹ã®ã§ï¼Œ2è¡Œç›®ã¨åŒã˜ã‚ˆã†ã«
\[
 \xymatrix{
   {}\Node{whatsit}{\cs{yoko}}\ar[r]\ar[d]_{\text{ä¸­èº«}}&amp;{}\Node{rule}{}\\
   {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{dtou})}{20.0}{9.0}{0.0}}\ar[r]&amp;
   {}\HNode{\textit{dir\_box} (\cs{tate})}{20.0}{5.0}{5.0}
 }
\]
ã¨\textit{dir\_box}ãŒä½œæˆã•ã‚Œã‚‹ï¼Ž

ã“ã®ã‚ˆã†ã«å¯¸æ³•ä»£å…¥ã«ã‚ˆã£ã¦ã¤ãã‚‰ã‚ŒãŸ\textit{dir\_box}ã¯ï¼Œå‰ç¯€ã®æ•´åˆéŽç¨‹ã®ã¨ãã«å†åˆ©ç”¨ã•ã‚Œ
ã‚‹ï¼Žä¸Šè¨˜ã®ä¾‹ã§ã„ãˆã°ï¼Œ5è¡Œç›®ã‚’å®Ÿè¡Œã—ãŸå¾Œã® \cs{box0} ã®å†…å®¹ã¯
\[
 \xymatrix{
   {}\Node{whatsit}{\cs{dtou}}\ar[r]&amp;
   {}\Node{glyph}{`a'}\ar[r]&amp;
   {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{dtou})}{20.0}{9.0}{0.0}}\ar[d]_{\text{ä¸­èº«}}\\
   &amp;&amp;{}\HNode{hbox}{9.0}{5.0}{2.0}\ar[d]_{\text{ä¸­èº«}}\\
   &amp;&amp;{}\Node{whatsit}{\cs{yoko}}\ar[r]&amp;{}\Node{rule}{}
 }
\]
ã®ã‚ˆã†ã«ãªã‚‹ï¼Ž

\subsection{ç¸¦çµ„ç”¨å­—å½¢ã®å–å¾—}
ç¸¦çµ„æ™‚ã«ã¯ï¼Œã€Œ\hbox to \zw{ã€}ã€(\texttt{U+3001})ã‹ã‚‰ã€Œ\ltjjachar"FE11ã€(\texttt{U+FE11})%"
ã®ã‚ˆã†ã«ç¸¦çµ„ç”¨å­—å½¢ã¸ã®ç½®ãæ›ãˆã«é–¢ä¿‚ã™ã‚‹å‡¦ç†ã¯ï¼Œä»¥ä¸‹ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ï¼Ž


\begin{table}[t]
  \def\D#1#2#3#4{%
	{\fboxsep0pt\fcolorbox{cyan}{white}%
    {\large\KOZM\ltjjachar"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%"
  }
  \def\DH#1#2#3#4{%
	{\fboxsep0pt\fcolorbox{cyan}{white}%
    {\large\ltjjachar"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%"
  }
  \caption{\LuaTeX-jaæ¨™æº–ã§è¡Œã‚ã‚Œã‚‹ç¸¦çµ„å½¢ã¸ã®ç½®æ›}
  \label{tab:vert_replace}\small\centering
  \begin{tabular}{*{3}{l@{}&gt;{${}\longmapsto{}$}c@{}l}}
	\toprule
	\D 3001&amp;&amp;\D FE11&amp;\D 3002&amp;&amp;\D FE12&amp;\D 3016&amp;&amp;\DH FE17\\
	\D 3017&amp;&amp;\DH FE18&amp;\D 2026&amp;&amp;\D FE19&amp;\D 2025&amp;&amp;\D FE30\\
	\D 2014&amp;&amp;\D FE31&amp;\D 2013&amp;&amp;\D FE32&amp;\D FF3F&amp;&amp;\D FE33\\
	\D FF08&amp;&amp;\D FE35&amp;\D FF09&amp;&amp;\D FE36&amp;\D FF5B&amp;&amp;\D FE37\\
	\D FF5D&amp;&amp;\D FE38&amp;\D 3014&amp;&amp;\D FE39&amp;\D 3015&amp;&amp;\D FE3A\\
	\D 3010&amp;&amp;\D FE3B&amp;\D 3011&amp;&amp;\D FE3C&amp;\D 300A&amp;&amp;\D FE3D\\
	\D 300B&amp;&amp;\D FE3E&amp;\D 3008&amp;&amp;\D FE3F&amp;\D 3009&amp;&amp;\D FE40\\
	\D 300C&amp;&amp;\D FE41&amp;\D 300D&amp;&amp;\D FE42&amp;\D 300E&amp;&amp;\D FE43\\
	\D 300F&amp;&amp;\D FE44&amp;\D FF3B&amp;&amp;\D FE47&amp;\D FF3D&amp;&amp;\D FE48\\
	\bottomrule
  \end{tabular}
\end{table}
\begin{itemize}
	\item å„ç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯èª­ã¿è¾¼ã¿æ™‚ã«ä»¥ä¸‹ã®å±žæ€§ãŒè¨­å®šã•ã‚Œã‚‹ï¼š
	\begin{description}
	  \item[\textit{vert\_activated}] çœŸã¨ãªã‚‹ã®ã¯ï¼Œ
	  æ˜Žç¤ºçš„ã« \texttt{-vert} ã‚‚ \texttt{-vrt2} ã®ã„ãšã‚Œã‚‚æŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¡ã‚‡ã†ã©ãã®æ™‚ï¼Ž
	  \item[\textit{auto\_enable\_vrt2}] çœŸã¨ãªã‚‹ã®ã¯ï¼Œ
	  \texttt{vert}, \texttt{vrt2}ã®ã„ãšã‚Œã«ã¤ã„ã¦ã‚‚æœ‰åŠ¹ãƒ»ç„¡åŠ¹ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¡ã‚‡ã†ã©ãã®æ™‚ï¼Ž
	\end{description}
	\textit{vert\_activated}ã«ã¤ã„ã¦ã¯\texttt{luatexja.define\_jfont}ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã§æ¸¡ã•ã‚Œã‚‹å¼•æ•°
	\texttt{jfont\_info}ã‹ã‚‰å–å¾—å¯èƒ½ã§ã‚ã‚‹ï¼Ž

	\item \textit{auto\_enable\_vrt2}ãŒçœŸã®å&nbsp;´åˆã¯ï¼Œç¾åœ¨ã®script tagã¨language system identifierã®å€¤ã§
	\texttt{vrt2}æ©Ÿèƒ½ãŒåˆ©ç”¨å¯èƒ½ã‹èª¿ã¹ã‚‹ï¼Žåˆ©ç”¨å¯èƒ½ãªã‚‰ã°\texttt{vrt2}ã‚’ï¼Œãã†ã§ãªã‘ã‚Œã°
	\texttt{vert}ã‚’æœ‰åŠ¹åŒ–ã™ã‚‹ï¼Ž
	\item ã¾ãŸï¼Œå„å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆèª­ã¿è¾¼ã¿æ™‚ã«ã¯ï¼Œ
	ã€ŒOpenTypeæ©Ÿèƒ½ã«ã‚ˆã‚‹ç½®æ›ä»¥å‰ã«è¡Œã†ç¸¦çµ„å½¢ã¸ã®ç½®æ›ã€ã‚’æ&nbsp;¼ç´ã—ãŸãƒ†ãƒ¼ãƒ–ãƒ«\textit{vform}ã‚‚ä½œæˆã™ã‚‹ï¼Ž
	\begin{enumerate}
	  \item \autoref{tab:vert_replace}ã«ç¤ºã—ãŸå„ç½®æ›$i\longmapsto v$ã«å¯¾ã—ï¼Œ
	  ç½®æ›å…ˆ$v$ãŒãƒ•ã‚©ãƒ³ãƒˆå†…ã«å­˜åœ¨ã™ã‚‹æ–‡å­—ã‚³ãƒ¼ãƒ‰ã§ã‚ã‚‹ãªã‚‰ã°ï¼Œ$i\longmapsto v$ã‚’\textit{vform}ã«ç™»éŒ²ã™ã‚‹ï¼Ž
	  \item \ref{ssec:tfont}ç¯€ã«ã‚ã‚‹\texttt{jpotf}ãŒæŒ‡å®šã•ã‚ŒãŸå&nbsp;´åˆï¼Œ
	  \LuaTeX-jaå†…éƒ¨ã®åˆ¥ã®ãƒ†ãƒ¼ãƒ–ãƒ«\textit{vert\_jpotf\_table}ã«ç™»éŒ²ã•ã‚Œã¦ã„ã‚‹å„ç½®æ›$i\longmapsto v$ã«å¯¾ã—ã¦
	  ç½®æ›å…ˆ$v$ãŒãƒ•ã‚©ãƒ³ãƒˆå†…ã«å­˜åœ¨ã™ã‚‹æ–‡å­—ã‚³ãƒ¼ãƒ‰ã§ã‚ã‚‹ãªã‚‰ã°ï¼Œ$i\longmapsto v$ã‚’\textit{vform}ã«ç™»éŒ²ã™ã‚‹ï¼Ž
	  \item ã‚‚ã—\texttt{vert}ã‚‚\texttt{vrt2}ã‚‚ç¾åœ¨ã®script, languageã§ã¯æœ‰åŠ¹ã«ã§ããªã„å&nbsp;´åˆï¼Œ
	  ã©ã“ã‹ã®script, languageã«ãŠã‘ã‚‹\texttt{vert}ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹
	  ç½®æ›$i\longmapsto v$ã‚’ã™ã¹ã¦\textit{vform}ã«ç™»éŒ²ã™ã‚‹ï¼Ž
	\end{enumerate}

	ã‚ã¨ã§èª¬æ˜Žã™ã‚‹ã‚ˆã†ã«ï¼Œ\textit{vform}ã¯\textit{vert\_activated}ãŒçœŸã§ã‚ã‚‹ã‚ˆã†ãªç¸¦çµ„ç”¨å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ã—ã‹
	åˆ©ç”¨ã•ã‚Œãªã„ï¼Ž
	
	\item ã€Œç¾åœ¨ã®æ°´å¹³ãƒªã‚¹ãƒˆã€å†…ã®\textbf{JAchar}ã‚’ï¼ˆæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã‹ã‚‰ï¼‰å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¸ç½®ãæ›ãˆã‚‹å‡¦ç†ã«ãŠã„ã¦ï¼Œ
    ãã®æ™‚ç‚¹ã§ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã§ã‚ã‚Šï¼Œã‹ã¤å‡¦ç†å¯¾è±¡ã®å„ãƒŽãƒ¼ãƒ‰ã®ç¸¦çµ„ç”¨ãƒ•ã‚©ãƒ³ãƒˆã§
	\textit{vert\_activated}ãŒçœŸã§ã‚ã‚‹å&nbsp;´åˆï¼Œ\textit{vform}ã«å¾“ã„ã‚°ãƒªãƒ•ãŒç½®ãæ›ãˆã‚‰ã‚Œã‚‹ï¼Ž

	\Pkg{luaotfload}ãŒè¡Œã†ï¼ŒOpenTypeæ©Ÿèƒ½ã«æ²¿ã£ãŸã‚°ãƒªãƒ•ç½®æ›ã¯ã“ã®å¾Œã®å‡¦ç†ã¨ãªã‚‹ï¼Ž
  \end{itemize}
%&lt;/ja&gt;

\newpage
\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
\url{http://tug.org/tug2013/slides/TUG2013_upTeX.pdf}
\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.\newblock
\url{http://mytexpert.osdn.jp/index.php?Listings}
\bibitem{jlreq}  W3C Japanese Layout Task Force~(ed). \newblock
Requirements for Japanese Text Layout (W3C Working Group Note), 2011, 2012. \newblock
\url{http://www.w3.org/TR/jlreq/}%
%&lt;ja&gt; \\æ—¥æœ¬èªžè¨³ã®æ›¸ç±ç‰ˆï¼šW3Cæ—¥æœ¬èªžçµ„ç‰ˆã‚¿ã‚¹ã‚¯ãƒ•ã‚©ãƒ¼ã‚¹ï¼ˆç·¨ï¼‰ï¼Œã€ŽW3CæŠ€è¡“ãƒŽãƒ¼ãƒˆ æ—¥æœ¬èªžçµ„ç‰ˆå‡¦ç†ã®è¦ä»¶ã€ï¼Œæ±äº¬é›»æ©Ÿå¤§å­¦å‡ºç‰ˆå±€ï¼Œ2012ï¼Ž
\bibitem{min10} ä¹™éƒ¨åŽ³å·±ï¼Žã€Œmin10ãƒ•ã‚©ãƒ³ãƒˆã«ã¤ã„ã¦ã€\newblock
\url{http://argent.shinshu-u.ac.jp/~otobe/tex/files/min10.pdf}
\bibitem{x4051} æ—¥æœ¬å·¥æ¥­è¦æ&nbsp;¼(Japanese Industrial Standard). ã€ŒJIS~X~4051,
æ—¥æœ¬èªžæ–‡æ›¸ã®çµ„ç‰ˆæ–¹æ³•(Formatting rules for Japanese documents)ã€, 1993, 1995, 2004.
\bibitem{ptexdoc} æ¿±é‡Žå°šäººï¼Œç”°æ‘æ˜Žå²ï¼Œå€‰æ²¢è‰¯ä¸€ï¼Žã€Œ\TeX ã®å‡ºç‰ˆã¸ã®å¿œç”¨â€”ç¸¦çµ„ã¿æ©Ÿèƒ½ã®çµ„ã¿è¾¼ã¿â€”ã€ï¼Ž
\newblock\texttt{.../texmf-dist/doc/ptex/base/ptexdoc.pdf}
\bibitem{ptextug} Hisato Hamano. \newblock
\textit{Vertical Typesetting with \TeX}, TUGBoat~\textbf{11}(3), 346--352, 1990.
\bibitem{pdfstd} International Organization for Standardization. \newblock
ISO 32000-1:2008, \textit{Document management -- Portable document format -- Part 1: PDF
      1.7}, 2008. \newblock
\url{http://www.iso.org/iso/iso\_catalogue/catalogue_tc/catalogue\_detail.htm?csnumber=51502}
\bibitem{tc18ltja} åŒ—å·å¼˜å…¸ï¼Žã€Œ\LuaTeX-jaã®è¿‘æ³ã€ï¼Œ\TeX Conf~2018ï¼Ž
  \url{https://raw.githubusercontent.com/h-kitagawa/presentations/main/tc18ltja.pdf}
\bibitem{bxghost} Takuto ASAKURA. \newblock The \textsf{BXghost} Package. \url{https://github.com/wtsnjp/BXghost}
\end{thebibliography}

\makeatletter
\let\ltj@@end=\@@end
{\catcode`\%=12\relax\catcode`\~=12\relax
\protected\gdef\@@end{%
\typeout{attributes:}
\directlua{
  for i=0,65535 do
    local a = tex.getattribute(i)
    if a~=-0x7FFFFFFF then
      texio.write_nl('term and log',
        string.format('attr %6d, %d', i, a))
    end
    tex.setbox('global', i, nil)
  end
  print('IC', luatexja.inherit_na_count )
}\ltj@@end}}
\end{document}
%&lt;/!showexpl&gt;
%&lt;*showexpl&gt;
%%
%% config file for showexpl.sty
%%
%% Copyright The LuaTeX-ja project team, 2012
%%
\ProvidesFile{showexpl.cfg}
  [2012/05/20 v0.01 Definitions for the showexpl package (luatexja)]
\lstset{}
\def\SX@Info{}
\endinput
%&lt;/*showexpl&gt;
</pre></body></html>