• 検索結果がありません。

LuaTEX 用設定: LuaTEX-ja

ドキュメント内 10 相互参照 目次の類 参考文献 索引 (ページ 143-147)

4162\else\if l\jsEngine

143

■LuaTEX-jaパッケージの読込 luatexjaとともにluatexja-fontspecパッケージを読 み込む。

luatexjaは自前の\zw(これは実際の現在和文フォントに基づく値を返す)を定義する ので、\zwの定義を消しておく。なお、レイアウト定義の「全角幅」は「規定」に基づく

\jsZwであることに注意が必要。

※1.0b版から「graphicsパッケージにpdftex オプションを渡す」処理を行っていたが、

1.4版で廃止された。

4163\let\zw\@undefined

4164\RequirePackage{luatexja}

4165\edef\bxjs@next{%

4166 \noexpand\RequirePackage[scale=\jsScale]{luatexja-fontspec}[2015/08/26]%

4167}\bxjs@next

フォント代替の明示的定義。

4168\DeclareFontShape{JY3}{mc}{m}{it}{<->ssub*mc/m/n}{}

4169\DeclareFontShape{JY3}{mc}{m}{sl}{<->ssub*mc/m/n}{}

4170\DeclareFontShape{JY3}{mc}{m}{sc}{<->ssub*mc/m/n}{}

4171\DeclareFontShape{JY3}{gt}{m}{it}{<->ssub*gt/m/n}{}

4172\DeclareFontShape{JY3}{gt}{m}{sl}{<->ssub*gt/m/n}{}

4173\DeclareFontShape{JY3}{mc}{bx}{it}{<->ssub*gt/m/n}{}

4174\DeclareFontShape{JY3}{mc}{bx}{sl}{<->ssub*gt/m/n}{}

4175\DeclareFontShape{JY3}{gt}{bx}{it}{<->ssub*gt/m/n}{}

4176\DeclareFontShape{JY3}{gt}{bx}{sl}{<->ssub*gt/m/n}{}

4177\DeclareFontShape{JY3}{mc}{b}{n}{<->ssub*mc/bx/n}{}

4178\DeclareFontShape{JY3}{mc}{b}{it}{<->ssub*mc/bx/n}{}

4179\DeclareFontShape{JY3}{mc}{b}{sl}{<->ssub*mc/bx/n}{}

4180\DeclareFontShape{JY3}{gt}{b}{n}{<->ssub*gt/bx/n}{}

4181\DeclareFontShape{JY3}{gt}{b}{it}{<->ssub*gt/bx/n}{}

4182\DeclareFontShape{JY3}{gt}{b}{sl}{<->ssub*gt/bx/n}{}

4183\DeclareFontShape{JT3}{mc}{m}{it}{<->ssub*mc/m/n}{}

4184\DeclareFontShape{JT3}{mc}{m}{sl}{<->ssub*mc/m/n}{}

4185\DeclareFontShape{JT3}{mc}{m}{sc}{<->ssub*mc/m/n}{}

4186\DeclareFontShape{JT3}{gt}{m}{it}{<->ssub*gt/m/n}{}

4187\DeclareFontShape{JT3}{gt}{m}{sl}{<->ssub*gt/m/n}{}

4188\DeclareFontShape{JT3}{mc}{bx}{it}{<->ssub*gt/m/n}{}

4189\DeclareFontShape{JT3}{mc}{bx}{sl}{<->ssub*gt/m/n}{}

4190\DeclareFontShape{JT3}{gt}{bx}{it}{<->ssub*gt/m/n}{}

4191\DeclareFontShape{JT3}{gt}{bx}{sl}{<->ssub*gt/m/n}{}

4192\DeclareFontShape{JT3}{mc}{b}{n}{<->ssub*mc/bx/n}{}

4193\DeclareFontShape{JT3}{mc}{b}{it}{<->ssub*mc/bx/n}{}

4194\DeclareFontShape{JT3}{mc}{b}{sl}{<->ssub*mc/bx/n}{}

4195\DeclareFontShape{JT3}{gt}{b}{n}{<->ssub*gt/bx/n}{}

4196\DeclareFontShape{JT3}{gt}{b}{it}{<->ssub*gt/bx/n}{}

4197\DeclareFontShape{JT3}{gt}{b}{sl}{<->ssub*gt/bx/n}{}

■和 文 フ ォ ン ト 定 義 \jsJaFont が 指 定 さ れ た 場 合 は、 そ の 値 を オ プ シ ョ ン と し て luatexja-presetを読み込む。非指定の場合は、luatexja-presetパッケージのipaex

オプション(IPAexフォント使用)と等価な設定を用いる(luatexja-presetは読み込ま ない)。

4198\bxjs@adjust@jafont{t}

4199\ifx\bxjs@tmpa\bxjs@@noEmbed

4200 \def\bxjs@tmpa{noembed}

4201\fi

4202\let\bxjs@jafont@paren\@gobble

4203\bxjs@resolve@jafont@paren\bxjs@tmpa

4204\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}

4205\ifx\bxjs@tmpa\@empty

4206 \defaultjfontfeatures{ Kerning=Off }

4207 \setmainjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexMincho}

4208 \setsansjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexGothic}

4209\else

4210 \edef\bxjs@next{%

4211 \noexpand\RequirePackage[\bxjs@tmpa]{luatexja-preset}%

4212 }\bxjs@next

4213\fi

欧文総称フォント命令で和文フォントが連動するように修正する。その他の和文フォント 関係の定義を行う。

4214\DeclareRobustCommand\rmfamily

4215 {\not@math@alphabet\rmfamily\mathrm

4216 \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}

4217\DeclareRobustCommand\sffamily

4218 {\not@math@alphabet\sffamily\mathsf

4219 \romanfamily\sfdefault\kanjifamily\gtdefault\selectfont}

4220\DeclareRobustCommand\ttfamily

4221 {\not@math@alphabet\ttfamily\mathtt

4222 \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}

4223\g@addto@macro\bxjs@begin@document@hook{%

4224 \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}

4225 \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}%

4226 \reDeclareMathAlphabet{\mathsf}{\mathsf}{\mathgt}}%

4227\bxjs@if@sf@default{%

4228 \renewcommand\kanjifamilydefault{\gtdefault}}

■和文パラメタの設定

4229% 次の3つは既定値の通り

4230%\ltjsetparameter{prebreakpenalty={`’,10000}}

4231%\ltjsetparameter{postbreakpenalty={`“,10000}}

4232%\ltjsetparameter{prebreakpenalty={`,10000}}

4233\ltjsetparameter{jaxspmode={`!,1}}

4234\ltjsetparameter{jaxspmode={`,2}}

4235\ltjsetparameter{alxspmode={`+,3}}

4236\ltjsetparameter{alxspmode={`\%,3}}

■段落頭でのグルー挿入禁止 基本的に現状のltjs*クラスの処理に合わせる。

145

※\jsInhibitGlueAtParTopは使わない。

\ltjfakeparbegin 現在のLuaTEX-jaで定義されているマクロで、段落中で段落冒頭用の処理を発動する。未

定義である場合にに備えて同等のものを用意する。

4237\ifx\ltjfakeparbegin\@undefined

4238 \protected\def\ltjfakeparbegin{%

4239 \ifhmode

4240 \relax\directlua{%

4241 luatexja.jfmglue.create_beginpar_node()}}

4242 \fi}

4243\fi

ltjs*クラスの定義と同等になるようにパッチを当てる。

4244\unless\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none

4245\begingroup

4246 \let\%\@percentchar \def\@#1{[[\detokenize{#1}]]}

4247 \@gobble\if\def\bxjs@tmpa{\@{\everypar{}\fi}}

4248 \ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat

4249 \@gobble\if\def\bxjs@tmpa{\@{\everypar{\everyparhook}\fi}}\fi

4250 \directlua{

4251 local function patchcmd(cs, code, from, to)

4252 tex.sprint(code:gsub(from:gsub("\%W", "\%\%\%0"), "\%0"..to)

4253 :gsub("macro:", \@\gdef..cs, 1):gsub("->", "{", 1).."}")

4254 end

4255 patchcmd(\@\@xsect, [[\meaning\@xsect]],

4256 \@{\hskip-\@tempskipa}, \@\ltjfakeparbegin)

4257 patchcmd(\@\@item, [[\meaning\@item]],

4258 \bxjs@tmpa, \@\ltjfakeparbegin)}

4259\endgroup

4260\fi

■hyperref対策 unicodeにするべき。

※1.6c版より、固定ではなく既定設定+検証に切り替えた。

4261\ifbxjs@hyperref@enc

4262 \PassOptionsToPackage{unicode}{hyperref}

4263 \bxjs@check@hyperref@unicode{true}

4264\fi

■共通命令の実装

4265\protected\def\autospacing{%

4266 \ltjsetparameter{autospacing=true}}

4267\protected\def\noautospacing{%

4268 \ltjsetparameter{autospacing=false}}

4269\protected\def\autoxspacing{%

4270 \ltjsetparameter{autoxspacing=true}}

4271\protected\def\noautoxspacing{%

4272 \ltjsetparameter{autoxspacing=false}}

4273\def\bxjs@apply@kanjiskip{%

4274 \ltjsetparameter{kanjiskip={\@tempskipa}}}

4275\def\bxjs@apply@xkanjiskip{%

4276 \ltjsetparameter{xkanjiskip={\@tempskipa}}}

\jacharのサブマクロの実装。

4277\def\bxjs@jachar#1{%

4278 \ltjjachar`#1\relax}

\jathinspaceの実装。

4279\ifbxjs@jaspace@cmd

4280 \protected\def\jathinspace{%

4281 \hskip\ltjgetparameter{xkanjiskip}\relax}

4282\fi

■和文数式ファミリ LuaTEX-jaでは和文数式ファミリは常に有効で、既にこの時点で必要 な設定は済んでいる。従って@enablejfamは常に真になる。

4283\ifx f\bxjs@enablejfam

4284 \ClassWarningNoLine\bxjs@clsname

4285 {You cannot use 'enablejfam=false', since the\MessageBreak

4286 LuaTeX-ja always provides Japanese math families}

4287\fi

ドキュメント内 10 相互参照 目次の類 参考文献 索引 (ページ 143-147)