+++ /dev/null
-%
-% lltjfont.sty: derived from plfonts.dtx in pLaTeX.
-%
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2020/03/15 Patch to NFSS2 for LuaTeX-ja]
-
-%% patching \DeclareTextComposite
-\def\ltj@chardef@text@cmd#1{%
- \let\@ifdefinable\@@ifdefinable%
- \edef\ltj@chardef@text@cmd@name{\expandafter\@gobble\string#1}%
- \afterassignment\ltj@chardef@text@cmd@\ltj@tempcnta
-}
-\def\ltj@chardef@text@cmd@{%
- \ifnum\ltj@tempcnta>"7F
- \expandafter\edef\csname \ltj@chardef@text@cmd@name\endcsname{%
- \noexpand\ltjalchar\the\ltj@tempcnta\space
- }%
- \else
- \expandafter\chardef\csname \ltj@chardef@text@cmd@name\endcsname\ltj@tempcnta
- \fi
-}
-\def\DeclareTextSymbol#1#2#3{%
- \@dec@text@cmd\ltj@chardef@text@cmd#1{#2}#3\relax
-}
-
-\let\ltj@temp@DeclareTextComposite=\DeclareTextComposite
-\def\DeclareTextComposite#1#2#3#4{}%
-\input{tuenc.def}
-\let\DeclareTextComposite=\ltj@temp@DeclareTextComposite
-\expandafter\patchcmd\csname TU\string\textasteriskcentered\endcsname{\char}{\ltjalchar}{}{}
-
-
-\let\k@encoding\@empty
-\let\ck@encoding\@empty
-% LuaTeX-ja uses JY3 and JT3 encodings.
-\def\cy@encoding{JY3}\def\ct@encoding{JT3}
-
-\let\k@family\@empty
-\let\k@series\@empty
-\let\k@shape\@empty
-\def\curr@kfontshape{\k@encoding/\k@family/\k@series/\k@shape}
-\def\rel@fontshape{\f@encoding/\f@family/\f@series/\f@shape}
-\ifdefined\Cht\else\newdimen\Cht\fi
-\ifdefined\cht\else\newdimen\cht\fi
-\ifdefined\Cdp\else\newdimen\Cdp\fi
-\ifdefined\cdp\else\newdimen\cdp\fi
-\ifdefined\Cwd\else\newdimen\Cwd\fi
-\ifdefined\cwd\else\newdimen\cwd\fi
-\ifdefined\Cvs\else\newdimen\Cvs\fi
-\ifdefined\cvs\else\newdimen\cvs\fi
-\ifdefined\Chs\else\newdimen\Chs\fi
-\ifdefined\chs\else\newdimen\chs\fi
-\ifdefined\cHT\else\newdimen\cHT\fi
-%\let\afont\font
-
-\let\ystrutbox\strutbox
-\newbox\dstrutbox
-\newbox\tstrutbox
-\newbox\zstrutbox
-\def\strutbox{%
- \ifnum\ltjgetparameter{direction}=1 \dstrutbox % dtou
- \else\ifnum\ltjgetparameter{direction}=4 \ystrutbox % yoko
- \else\tstrutbox % tate and utod
- \fi\fi
-}
-\DeclareRobustCommand\strut{\relax
- \ifnum\ltjgetparameter{direction}=1 % dtou
- \ifmmode\copy\dstrutbox\else\unhcopy\dstrutbox\fi
- \else\ifnum\ltjgetparameter{direction}=4 % yoko
- \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi
- \else % tate and utod
- \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi
- \fi\fi
-}
-
-\DeclareRobustCommand\ystrut{\relax\hbox{\ltj@@orig@yoko
- \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi}}
-\DeclareRobustCommand\tstrut{\relax\hbox{\ltj@@orig@tate
- \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi}}
-\DeclareRobustCommand\dstrut{\relax\hbox{\ltj@@orig@dtou
- \ifmmode\copy\dstrutbox\else\unhcopy\dstrutbox\fi}}
-\DeclareRobustCommand\zstrut{\relax\hbox{\ltj@@orig@utod
- \ifmmode\copy\zstrutbox\else\unhcopy\zstrutbox\fi}}
-
-{%
- \def\cdp@elt#1#2#3#4{%
- \directlua{luatexja.jfont.add_fenc_list('\luatexluaescapestring{#1}')}}%
- \cdp@list%
-}
-
-\def\DeclareFontEncoding{%
- \begingroup
- \nfss@catcodes
- \expandafter\endgroup
- \DeclareFontEncoding@}
-\def\DeclareFontEncoding@#1#2#3{%
- \expandafter
- \ifx\csname T@#1\endcsname\relax
- \def\cdp@elt{\noexpand\cdp@elt}%
- \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
- {\default@family}{\default@series}%
- {\default@shape}}%
- \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
- \directlua{luatexja.jfont.add_fenc_list('\luatexluaescapestring{#1}')}%
- \else
- \@font@info{Redeclaring font encoding #1}%
- \fi
- \global\@namedef{T@#1}{#2}%
- \global\@namedef{M@#1}{\default@M#3}%
- \xdef\LastDeclaredEncoding{#1}%
- }
-\def\DeclareKanjiEncoding#1{%
- \@latex@warning{%
- The \string\DeclareKanjiEncoding\space is obsoleted command. Please use
- \MessageBreak
- the \string\DeclareTateKanjiEncoding\space for `Tate-kumi' encoding, and
- \MessageBreak
- the \string\DeclareYokoKanjiEncoding\space for `Yoko-kumi' encoding.
- \MessageBreak
- I treat the `#1' encoding as `Yoko-kumi'.}
- \DeclareYokoKanjiEncoding{#1}%
-}
-\def\DeclareYokoKanjiEncoding{%
- \begingroup
- \nfss@catcodes
- \expandafter\endgroup
- \DeclareYokoKanjiEncoding@}
-\def\DeclareYokoKanjiEncoding@#1#2#3{%
- \expandafter\ifx\csname T@#1\endcsname\relax
- \def\cdp@elt{\noexpand\cdp@elt}%
- \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
- {\default@k@family}{\default@k@series}%
- {\default@k@shape}}%
- \expandafter\let\csname#1-cmd\endcsname\@changed@kcmd
- \directlua{luatexja.jfont.add_kyenc_list('\luatexluaescapestring{#1}')}%
- \else
- \@font@info{Redeclaring KANJI (yoko) font encoding #1}%
- \fi
- \global\@namedef{T@#1}{#2}%
- \global\@namedef{M@#1}{\default@KM#3}%
- }
-\def\DeclareTateKanjiEncoding{%
- \begingroup
- \nfss@catcodes
- \expandafter\endgroup
- \DeclareTateKanjiEncoding@}
-\def\DeclareTateKanjiEncoding@#1#2#3{%
- \expandafter\ifx\csname T@#1\endcsname\relax
- \def\cdp@elt{\noexpand\cdp@elt}%
- \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
- {\default@k@family}{\default@k@series}%
- {\default@k@shape}}%
- \expandafter\let\csname#1-cmd\endcsname\@changed@kcmd
- \directlua{luatexja.jfont.add_ktenc_list('\luatexluaescapestring{#1}')}%
- \else
- \@font@info{Redeclaring KANJI (tate) font encoding #1}%
- \fi
- \global\@namedef{T@#1}{#2}%
- \global\@namedef{M@#1}{\default@KM#3}%
- }
-\@onlypreamble\DeclareKanjiEncoding
-\@onlypreamble\DeclareYokoKanjiEncoding
-\@onlypreamble\DeclareYokoKanjiEncoding@
-\@onlypreamble\DeclareTateKanjiEncoding
-\@onlypreamble\DeclareTateKanjiEncoding@
-\def\DeclareKanjiEncodingDefaults#1#2{%
- \ifx\relax#1\else
- \ifx\default@KT\@empty\else
- \@font@info{Overwriting KANJI encoding scheme text defaults}%
- \fi
- \gdef\default@KT{#1}%
- \fi
- \ifx\relax#2\else
- \ifx\default@KM\@empty\else
- \@font@info{Overwriting KANJI encoding scheme math defaults}%
- \fi
- \gdef\default@KM{#2}%
- \fi}
-\let\default@KT\@empty
-\let\default@KM\@empty
-\@onlypreamble\DeclareKanjiEncodingDefaults
-\def\DeclareFontFamily#1#2#3{%
- \@ifundefined{T@#1}%
- {\@latex@error{Encoding scheme `#1' unknown}\@eha}%
- {\def\reserved@a{#3}%
- \global
- \expandafter\let\csname #1+#2\expandafter\endcsname
- \ifx \reserved@a\@empty
- \@empty
- \else \reserved@a
- \fi
- \directlua{luatexja.jfont.add_ffam('\luatexluaescapestring{#2}')}%
- }%
-}
-\def\DeclareKanjiFamily#1#2#3{%
- \@ifundefined{T@#1}%
- {\@latex@error{KANJI Encoding scheme `#1' unknown}\@eha}%
- {\def\reserved@a{#3}%
- \global
- \expandafter\let\csname #1+#2\expandafter\endcsname
- \ifx \reserved@a\@empty
- \@empty
- \else \reserved@a
- \fi
- \directlua{luatexja.jfont.add_kfam('\luatexluaescapestring{#2}')}%
- }%
-}
-\def\DeclareKanjiSubstitution#1#2#3#4{%
- \expandafter\ifx\csname T@#1\endcsname\relax
- \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha
- \else
- \begingroup
- \def\reserved@a{#1}%
- \toks@{}%
- \def\cdp@elt##1##2##3##4{%
- \def\reserved@b{##1}%
- \ifx\reserved@a\reserved@b
- \addto@hook\toks@{\cdp@elt{#1}{#2}{#3}{#4}}%
- \else
- \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}%
- \fi}%
- \cdp@list
- \xdef\cdp@list{\the\toks@}%
- \endgroup
- \global\@namedef{D@#1}{\def\default@family{#2}%
- \def\default@series{#3}%
- \def\default@shape{#4}}%
- \fi}
-\@onlypreamble\DeclareKanjiSubstitution
-\def\DeclareErrorKanjiFont#1#2#3#4#5{%
- \xdef\error@kfontshape{%
- \noexpand\expandafter\noexpand\split@name\noexpand\string
- \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
- \noexpand\@nil}%
- \gdef\default@k@family{#2}%
- \gdef\default@k@series{#3}%
- \gdef\default@k@shape{#4}%
- }
-\@onlypreamble\DeclareErrorKanjiFont
-
-\newif\ifltjselectfont@force@define
-\def\DeclareFixedFont#1#2#3#4#5#6{%
- \begingroup
- \math@fontsfalse
- \every@math@size{}%
- \fontsize{#6}\z@
- \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{#2}')}\ifin@%
- \ltjselectfont@force@definetrue
- \usekanji{#2}{#3}{#4}{#5}%
- \global\let#1\getjfont
- \ltjselectfont@force@definefalse
- \else
- \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{#2}')}\ifin@%
- \ltjselectfont@force@definetrue
- \usekanji{#2}{#3}{#4}{#5}%
- \global\let#1\gettfont
- \ltjselectfont@force@definefalse
- \else
- \useroman{#2}{#3}{#4}{#5}%
- \global\expandafter\let\expandafter#1\the\font
- \fi
- \fi
- \endgroup
- }
-\def\DLMfontsw@standard#1#2#3{#1{#2{#3}}}
-\def\reDeclareMathAlphabet#1#2#3{%
- \ifdefined#2
- \@temptokena\expandafter{#2}%
- \else
- \@temptokena{#2}%
- \fi
- \ifdefined#3
- \toks0\expandafter{#3}%
- \else
- \toks0{#3}%
- \fi
- \long\protected\edef#1{%
- \noexpand\DLMfontsw@standard{\the\@temptokena}{\the\toks0}}%
-}
-\@onlypreamble\reDeclareMathAlphabet
-\def\all@shape{all}%
-\def\DeclareRelationFont#1#2#3#4#5#6#7#8{%
- \def\rel@shape{#4}%
- \ifx\rel@shape\@empty
- \global
- \expandafter\def\csname rel@#1/#2/#3/all\endcsname{%
- \romanencoding{#5}\romanfamily{#6}%
- \romanseries{#7}}%
- \else
- \global
- \expandafter\def\csname rel@#1/#2/#3/#4\endcsname{%
- \romanencoding{#5}\romanfamily{#6}%
- \romanseries{#7}\romanshape{#8}}%
- \fi
-}
-\def\SetRelationFont#1#2#3#4#5#6#7#8{%
- \def\rel@shape{#4}%
- \ifx\rel@shape\@empty
- \expandafter\def\csname rel@#1/#2/#3/all\endcsname{%
- \romanencoding{#5}\romanfamily{#6}%
- \romanseries{#7}}%
- \else
- \expandafter\def\csname rel@#1/#2/#3/#4\endcsname{%
- \romanencoding{#5}\romanfamily{#6}%
- \romanseries{#7}\romanshape{#8}}%
- \fi
-}
-\newif\if@knjcmd
-\DeclareRobustCommand\userelfont{\@knjcmdtrue}
-
-
-\RequirePackage{everysel}
-\let\ltj@@EverySelectfont@Init=\@EverySelectfont@Init
-\expandafter\expandafter\expandafter\let
-\expandafter\expandafter\csname ltj@@orig@selectfont\endcsname\csname selectfont\space\endcsname
-\@EverySelectfont@Init
-%\let\ltj@@font@info\@font@info
-%\let\ltj@@font@warning\@font@warning
-\def\@EverySelectfont@Init{%
- \expandafter\let\csname selectfont\space \endcsname \ltj@@orig@selectfont
- \ltj@@EverySelectfont@Init
-}
-\def\ltj@selectfont@tate{%
- \let\k@encoding\ct@encoding
- \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
- \pickup@tfont
- \ifnum\ltjgetparameter{direction}=3 \font@name
- \ltj@@does@alt@set{\curr@kfontshape}{%
- % alt fonts の定義
- \directlua{luatexja.jfont.output_alt_font_cmd('t', '\luatexluaescapestring{\curr@kfontshape}')}%
- % 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする
- \directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}%
- }%
- \fi}
-\def\ltj@selectfont@yoko{%
- \let\k@encoding\cy@encoding
- \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
- \pickup@jfont
- \unless\ifnum\ltjgetparameter{direction}=3 \font@name
- \ltj@@does@alt@set{\curr@kfontshape}{%
- % alt fonts の定義
- \directlua{luatexja.jfont.output_alt_font_cmd('y', '\luatexluaescapestring{\curr@kfontshape}')}%
- % 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする
- \directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}%
- }%
- \fi}
-\def\ltj@selectfont@patch{%
- \directlua{luatexja.base.start_time_measure('selectfont')}%
- \let\tmp@error@fontshape\error@fontshape
- \let\error@fontshape\error@kfontshape
- \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
- \let\cy@encoding\k@encoding
- \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}%
- \else
- \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
- \let\ct@encoding\k@encoding
- \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
- \else
- \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
- \fi
- \fi
- \global\let\ltj@afont@name=\font@name
- \ltj@selectfont@tate\ltj@selectfont@yoko
-%
- \edef\tmp@item{{\k@encoding}}\expandafter\def\expandafter\k@encoding\tmp@item
- \kenc@update
- \global\let\font@name=\ltj@afont@name
- \let\error@fontshape\tmp@error@fontshape
- \if@knjcmd \@knjcmdfalse
- \expandafter\ifx
- \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax
- \expandafter\ifx
- \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax
- \else
- \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\selectfont
- % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
- \fi
- \else
- \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\selectfont
- % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
- \fi
- \fi
- \global\let\font@name=\ltj@afont@name
- \directlua{luatexja.base.stop_time_measure('selectfont')}%
-}
-\EverySelectfont{\ltj@selectfont@patch}
-
-\bgroup
- \def\ltj@@dir@patch#1#2#3{%
- \global\csletcs{ltj@@orig@#1}{#1}%
- \protected\expandafter\xdef\csname #1\endcsname{%
- \csname ltj@@orig@#1\endcsname
- \unexpanded{\ifnum#3<\z@\let\ltj@@protect\protect\set@typeset@protect}%
- \unexpanded{\global\let\ltj@afont@name=\font@name}%
- \expandonce{\csname ltj@selectfont@#2\endcsname}%
- \unexpanded{\global\let\font@name=\ltj@afont@name}%
- \unexpanded{\let\protect\ltj@@protect\fi}%
- }%
- }
- \ltj@@dir@patch{yoko}{yoko}{\ltj@curjfnt}
- \ltj@@dir@patch{tate}{tate}{\ltj@curtfnt}
- \ltj@@dir@patch{utod}{yoko}{\ltj@curjfnt}
- \ltj@@dir@patch{dtou}{yoko}{\ltj@curjfnt}
-\egroup
-
-\def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}}
-\def\set@fontsize#1#2#3{%
- \@defaultunits\@tempdimb#2pt\relax\@nnil
- \edef\f@size{\strip@pt\@tempdimb}%
- \@defaultunits\@tempskipa#3pt\relax\@nnil
- \edef\f@baselineskip{\the\@tempskipa}%
- \edef\f@linespread{#1}%
- \let\baselinestretch\f@linespread
- \def\size@update{%
- \baselineskip\f@baselineskip\relax
- \baselineskip\f@linespread\baselineskip
- \normalbaselineskip\baselineskip
- \adjustbaseline
- \setbox\ystrutbox\hbox{\ltj@@orig@yoko
- \vrule\@width\z@
- \@height.7\baselineskip \@depth.3\baselineskip}%
- \setbox\dstrutbox\hbox{\ltj@@orig@dtou
- \vrule\@width\z@
- \@height.7\baselineskip \@depth.3\baselineskip}%
- \setbox\tstrutbox\hbox{\ltj@@orig@tate
- \vrule\@width\z@
- \@height.5\baselineskip \@depth.5\baselineskip}%
- \setbox\zstrutbox\hbox{\ltj@@orig@utod
- \vrule\@width\z@
- \@height.7\baselineskip \@depth.3\baselineskip}%
- \let\size@update\relax}}
-
-\newluafunction\ltj@@adjust@baseline@inner
-\begingroup\catcode`\~=12
-\directlua{%
- local nulltable = {}
- local t = lua.get_functions_table()
- local getfont, dir_tate = font.getfont, luatexja.dir_table.dir_tate
- local fmt, get_attr = luatexja.jfont.font_metric_table, tex.getattribute
- local getcount=tex.getcount
- local setdimen, set_attr = tex.setdimen, tex.setattribute
- local dir = luatexja.unary_pars.direction
- t[\the\ltj@@adjust@baseline@inner] = function()
- local ft = fmt[get_attr('ltj@curtfnt')] or nulltable
- ft = ft.char_type or nulltable
- local fk = ft[0] or nulltable
- local ht, dp, wd = fk.height or 0, fk.depth or 0,
- fk.width or ft.zw or 0
- local fm
- = ((getfont(font.current()) or nulltable)
- .characters or nulltable)[77] or nulltable %% 'M'
- set_attr('ltj@tablshift',
- tex.round(0.5*((fm.height or 0)- (fm.depth or 0) - ht+ dp)))
- if dir() ~= dir_tate then
- ft = fmt[get_attr('ltj@curjfnt')] or nulltable
- ft = ft.char_type or nulltable
- fk = ft[0] or nulltable
- ht, dp, wd = fk.height or 0, fk.depth or 0,
- fk.width or ft.zw or 0
- end
- setdimen('cht', ht); setdimen('cdp', dp)
- setdimen('cwd', wd); setdimen('chs', wd)
- setdimen('cHT', ht+dp)
- end
-}\endgroup
-\DeclareRobustCommand\adjustbaseline{\luafunction\ltj@@adjust@baseline@inner
- \cvs\normalbaselineskip}
-\DeclareRobustCommand\romanencoding[1]{%
- \expandafter\ifx\csname T@#1\endcsname\relax
- \@latex@error{Encoding scheme `#1' unknown}\@eha
- \else
- \edef\f@encoding{#1}%
- \ifx\cf@encoding\f@encoding
- \let\enc@update\relax
- \else
- \let\enc@update\@@enc@update
- \fi
- \fi
-}
-\DeclareRobustCommand\kanjiencoding[1]{%
- \expandafter\ifx\csname T@#1\endcsname\relax
- \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha
- \else
- \edef\k@encoding{#1}%
- \ifx\ck@encoding\k@encoding
- \let\kenc@update\relax
- \else
- \let\kenc@update\@@kenc@update
- \fi
- \fi
-}
-\DeclareRobustCommand\fontencoding[1]{%
- \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{#1}')}\ifin@%
- \kanjiencoding{#1}\else\romanencoding{#1}\fi}
-\def\@@kenc@update{%
- \default@KT
- \csname T@\k@encoding\endcsname
- \csname D@\k@encoding\endcsname
- \let\kenc@update\relax
- \let\ck@encoding\k@encoding
- \edef\tmp@enc{'\luatexluaescapestring{\k@encoding}'}%
- \directlua{luatexja.jfont.is_kyenc(\tmp@enc)}\ifin@%
- \let\cy@encoding\k@encoding
- \else
- \directlua{luatexja.jfont.is_ktenc(\tmp@enc)}\ifin@%
- \let\ct@encoding\k@encoding
- \else
- \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
- \fi
- \fi
-}
-\let\kenc@update\relax
-\def\@changed@kcmd#1#2{%
- \ifx\protect\@typeset@protect
- \@inmathwarn#1%
- \expandafter\ifx\csname\ck@encoding\string#1\endcsname\relax
- \expandafter\ifx\csname ?\string#1\endcsname\relax
- \expandafter\def\csname ?\string#1\endcsname{%
- \TextSymbolUnavailable#1%
- }%
- \fi
- \global\expandafter\let
- \csname\cf@encoding \string#1\expandafter\endcsname
- \csname ?\string#1\endcsname
- \fi
- \csname\ck@encoding\string#1%
- \expandafter\endcsname
- \else
- \noexpand#1%
- \fi}
-\newif\if@notkfam
-\newif\if@notffam
-\newif\if@tempswz
-\def\@ltj@use@fd{true}
-\DeclareRobustCommand\romanfamily[1]{\edef\f@family{#1}}
-\DeclareRobustCommand\kanjifamily[1]{\edef\k@family{#1}}
-\DeclareRobustCommand\fontfamily[1]{%
- \@notkfamfalse\@notffamfalse
- \edef\tmp@item{'\luatexluaescapestring{#1}'}%
- %
- \directlua{luatexja.jfont.search_kfam(\tmp@item, \@ltj@use@fd)}%
- \ifin@\edef\k@family{#1}\else\@notkfamtrue\fi
- %
- % alphabetic fonts part
- \directlua{luatexja.jfont.is_ffam(\tmp@item)}%
- \ifin@\edef\f@family{#1}\else
- % checking is_stored_ffam is not sufficient,
- % since LuaTeX-ja doesn't know whats fonts are defined before LuaTeX-ja is loaded.
- \ifcsname \f@encoding+#1\endcsname % easy case
- \directlua{luatexja.jfont.add_ffam(\tmp@item)}\edef\f@family{#1}%
- \else
- \@tempswafalse
- \def\cdp@elt##1{\ifcsname ##1+#1\endcsname\@tempswatrue\fi}%
- \directlua{luatexja.jfont.search_ffam_declared()}%
- \if@tempswz
- \directlua{luatexja.jfont.add_ffam(\tmp@item)}\edef\f@family{#1}%
- \else
- % now we search Nffam_list and font definition files.
- \directlua{luatexja.jfont.search_ffam_fd(\tmp@item)}%
- \ifin@\edef\f@family{#1}\else\@notffamtrue\fi
- \fi
- \fi
- \fi
- %
- \if@notkfam\if@notffam
- \edef\k@family{#1}\edef\f@family{#1}%
- \fi\fi
-}
-
-\newcount\ltj@@latex@plv \ltj@@latex@plv=-1
-\ifdefined\@rmfamilyhook
-%%%% LaTeX 2020-02-02
-\newif\if@shape@roman@kanji
-%%%%%% 2020-02-02 patchlevel detection
-\ifx\@forced@seriestrue\@undefined % 2020-02-02 pl0--2
- \@latex@error
- {Please update LaTeX2e!^^J\space\space
- At least LaTeX2e 2020-02-02 patch level 3 is required}
- {LaTeX2e 2020-02-02 patch level 2 (and 4) has a bug.}
-\else
- \ltj@@latex@plv=300
- \unless\ifx\series@maybe@drop@one@m@x\@undefined % pl5 + develop
- \ltj@@latex@plv=501
- \else
- \unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5
- \ltj@@latex@plv=500
- \fi
- \fi
-\fi
-%%%%%%
-
-\def\merge@kanji@series#1{%
- \expandafter\expandafter\expandafter
- \merge@kanji@series@
- \csname series@\k@series @#1\endcsname
- {#1}%
- \@nil
-}
-
-\ifnum\ltj@@latex@plv>500 % !!! pl5 + develop
- \def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \series@maybe@drop@one@m\k@series\k@series
- }
-\else\ifnum\ltj@@latex@plv>300 % !!! pl5
- \def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series
- }
-\else % !!! pl 3, 4
- \def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
- }
-\fi\fi
-
-\def\merge@kanji@series@#1#2#3\@nil{%
- \def\reserved@a{#3}%
- \ifx\reserved@a\@empty
- \set@target@series@kanji{#2}%
- \else
- \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup
- \edef\reserved@a{\k@encoding /\k@family /#1/\k@shape}%
- \ifcsname \reserved@a \endcsname
- \set@target@series@kanji{#1}%
- \else
- \ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname
- \set@target@series@kanji{#2}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \else
- \set@target@series@kanji{#3}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \fi
- \fi
- \fi
-}
-\def\merge@kanji@shape#1{%
- \expandafter\expandafter\expandafter
- \merge@kanji@shape@
- \csname shape@\k@shape @#1\endcsname
- {#1}%
- \@nil
-}
-\def\merge@kanji@shape@#1#2#3\@nil{%
- \def\reserved@a{#3}%
- \ifx\reserved@a\@empty
- \if@shape@roman@kanji
- \set@safe@kanji@shape{#2}{}%
- \else
- \edef\k@shape{#2}%
- \fi
- \else
- \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup
- \edef\reserved@a{\k@encoding /\k@family /\k@series/#1}%
- \ifcsname \reserved@a\endcsname
- \edef\k@shape{#1}%
- \else
- \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname
- \edef\k@shape{#2}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \else
- \if@shape@roman@kanji
- \set@safe@kanji@shape{#3}%
- {{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}}%
- \else
- \edef\k@shape{#3}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \fi
- \fi
- \fi
- \fi
-}
-\def\set@safe@kanji@shape#1#2{%
- \edef\reserved@b{\k@encoding /\k@family /\k@series/#1}%
- \ifcsname \reserved@b\endcsname
- \edef\k@shape{#1}%
- #2%
- \else
- \@font@info{Kanji font shape \reserved@b' undefined\MessageBreak
- No change}%
- \fi
-}
-\ifnum\ltj@@latex@plv=300 % !!! pl3, 4
- \DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}}
- \DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}}
- \DeclareRobustCommand\fontseries[1]{%
- \merge@font@series{#1}\merge@kanji@series{#1}}
- \DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}}
- \DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}}
- \DeclareRobustCommand\fontseriesforce[1]{%
- \edef\f@series{#1}\edef\k@series{#1}}
-\else % !!! pl 5
- \DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}}
- \DeclareRobustCommand\kanjiseries[1]{\@forced@seriesfalse\merge@kanji@series{#1}}
- \DeclareRobustCommand\fontseries[1]{%
- \@forced@seriesfalse\merge@font@series{#1}\merge@kanji@series{#1}}
- \DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue\merge@font@series{#1}}
- \DeclareRobustCommand\kanjiseriesforce[1]{\@forced@seriestrue\merge@kanji@series{#1}}
- \DeclareRobustCommand\fontseriesforce[1]{%
- \@forced@seriestrue\merge@font@series{#1}\merge@kanji@series{#1}}
-\fi
-\DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}}
-\DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}}
-\DeclareRobustCommand\fontshape[1]{%
- \@shape@roman@kanjitrue
- \merge@font@shape{#1}\merge@kanji@shape{#1}%
- \@shape@roman@kanjifalse
-}
-\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}}
-\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}}
-\DeclareRobustCommand\fontshapeforce[1]{\set@safe@kanji@shape{#1}{}\romanshapeforce{#1}}
-\DeclareRobustCommand\usekanji[4]{%
- \kanjiencoding{#1}\edef\k@family{#2}\edef\k@series{#3}\edef\k@shape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\edef\f@family{#2}\edef\f@series{#3}\edef\f@shape{#4}%
- \selectfont\ignorespaces}
-%%%% LaTeX 2020-02-02 END
-\else
-%%%% LaTeX 2019-10-01
-\DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}}
-\DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}}
-\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
-\DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}}
-\DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}}
-\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}}
-\DeclareRobustCommand\usekanji[4]{%
- \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\romanfamily{#2}\romanseries{#3}\romanshape{#4}%
- \selectfont\ignorespaces}
-%%%% LaTeX 2019-10-01 END
-\fi
-%%%%
-\protected\def\usefont#1#2#3#4{%
- \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{#1}')}\ifin@%
- \usekanji{#1}{#2}{#3}{#4}%
- \else\useroman{#1}{#2}{#3}{#4}%
- \fi}
-\DeclareRobustCommand\normalfont{%
- \useroman\encodingdefault\familydefault\seriesdefault\shapedefault
- \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault}
-%
-\let\reset@font\normalfont
-
-\ifdefined\@rmfamilyhook
-%%%% LaTeX 2020-02-02
-\let\prepare@family@series@update@kanji=\prepare@family@series@update
-\patchcmd\prepare@family@series@update{\fontfamily}{\romanfamily}{}{}
-\patchcmd\prepare@family@series@update@kanji{\fontfamily}{\kanjifamily}{}{}
-\patchcmd\prepare@family@series@update@kanji{\update@series@target@value}{\update@series@target@value@kanji}{}{}
-\patchcmd\prepare@family@series@update@kanji{\f@family}{\k@family}{}{}
-\patchcmd\prepare@family@series@update@kanji{\@meta@family@list}{\@meta@family@list@kanji}{}{}
-\patchcmd\prepare@family@series@update@kanji{\fontfamily}{\kanjifamily}{}{}
-\patchcmd\prepare@family@series@update@kanji{\maybe@load@fontshape}
- {\begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup}{}{}
-\patchcmd\prepare@family@series@update@kanji{\f@series}{\k@series}{}{}
-\patchcmd\prepare@family@series@update@kanji{\f@series}{\k@series}{}{}
-\let\update@series@target@value@kanji=\update@series@target@value
-\patchcmd\update@series@target@value@kanji{\f@family}{\k@family}{}{}
-\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
-\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
-\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
-\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
-\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}\@elt{jtt}}
-\DeclareRobustCommand\bfseries{%
- \not@math@alphabet\bfseries\mathbf
- \expand@font@defaults
- \ifx\f@family\rmdef@ult \romanseries\bfseries@rm
- \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf
- \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt
- \else \romanseries\bfdefault
- \fi\fi\fi
- \ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc
- \else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt
- \else\ifx\k@family\jttdef@ult\kanjiseries\bfseries@jtt
- \else \kanjiseries\bfdefault
- \fi\fi\fi
- \selectfont
-}
-\DeclareRobustCommand\mdseries{%
- \not@math@alphabet\mdseries\relax
- \expand@font@defaults
- \ifx\f@family\rmdef@ult \romanseries\mdseries@rm
- \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf
- \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt
- \else \romanseries\mddefault
- \fi\fi\fi
- \ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc
- \else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt
- \else\ifx\k@family\jttdef@ult\kanjiseries\mdseries@jtt
- \else \kanjiseries\mddefault
- \fi\fi\fi
- \selectfont
-}
-\appto\expand@font@defaults{%
- \edef\mcdef@ult{\mcdefault}%
- \edef\gtdef@ult{\gtdefault}%
- \edef\jttdef@ult{\jttdefault}%
- \edef\kanjidef@ult{\kanjifamilydefault}%
-}
-\appto\init@series@setup{%
- \ifx\kanjidef@ult\mcdef@ult \mcfamily
- \else\ifx\kanjidef@ult\gtdef@ult \gtfamily
- \else\ifx\kanjidef@ult\jttdef@ult \jttfamily
- \fi\fi\fi
-}
-\fi
-\ifdefined\prepare@family@series@update@kanji\else
-%%%% LaTeX 2019-10-01
-\def\prepare@family@series@update@kanji#1{\kanjifamily}
-\fi
-
-\DeclareRobustCommand\mcfamily{%
- \unless\ifltj@disablejfam\not@math@alphabet\mcfamily\mathmc\fi
- \prepare@family@series@update@kanji{mc}\mcdefault
- \selectfont}
-\DeclareRobustCommand\gtfamily{%
- \unless\ifltj@disablejfam\not@math@alphabet\gtfamily\mathgt\fi
- \prepare@family@series@update@kanji{gt}\gtdefault
- \selectfont}
-
-
-
-\let\romanprocess@table\process@table
-\def\kanjiprocess@table{%
- \kanjiencoding{\kanjiencodingdefault}%
- \kanjifamily{\kanjifamilydefault}%
- \kanjiseries{\kanjiseriesdefault}%
- \kanjishape{\kanjishapedefault}%
-}
-\def\process@table{%
- \romanprocess@table
- \kanjiprocess@table
-}
-\@onlypreamble\romanprocess@table
-\@onlypreamble\kanjiprocess@table
-
-%%%%%% LuaTeX-ja specific
-
-% #1 の展開結果から encoding 部分をとりだし,それが和文用かどうかの結果を \ifin@ に代入
-\def\ltj@@IsFontJapanese#1{%
- \directlua{luatexja.jfont.is_kenc(string.match(
- '\luatexluaescapestring{#1}', '[^/]+'))}}
-
-
-\let\extract@afont\extract@font
-\def\pickup@jfont{%
- \ifnum
- \unless\ifnum\ltjgetparameter{direction}=3 1\else
- \ifltjselectfont@force@define 1\else 0\fi\fi =1 %
- \expandafter \ifx \font@name \relax
- \let\extract@font\extract@jfont
- \define@newfont
- \let\extract@font\extract@afont
- \fi
- \let\getjfont\font@name
- \else
- \begingroup\escapechar\m@ne
- \ifcsname ltj@@fontjfm/\expandafter\string\font@name\endcsname\else
- \let\extract@font\extract@jfont@onlyjfm
- \define@newfont
- \let\extract@font\extract@afont
- \fi
- \endgroup
- \csname ltj@@fontjfm/\expandafter\expandafter\expandafter\@gobble\expandafter\string\font@name\endcsname
- \fi
-}
-\def\pickup@tfont{%
- \ifnum
- \ifnum\ltjgetparameter{direction}=3 1\else
- \ifltjselectfont@force@define 1\else 0\fi\fi =1 %
- \expandafter \ifx \font@name \relax
- \let\extract@font\extract@tfont
- \define@newfont
- \let\extract@font\extract@afont
- \fi
- \let\gettfont\font@name
- \else
- \begingroup\escapechar\m@ne
- \ifcsname ltj@@fontjfm/\expandafter\string\font@name\endcsname\else
- \let\extract@font\extract@tfont@onlyjfm
- \define@newfont
- \let\extract@font\extract@afont
- \fi
- \endgroup
- \csname ltj@@fontjfm/\expandafter\expandafter\expandafter\@gobble\expandafter\string\font@name\endcsname
- \fi
-}
-
-% 異なる和文 enc/fam/ser/shape からは異なるフォント番号が振られるように
-% わざと「ゴミをつける」
-\def\ltj@@patch@external@font#1 at{%
- \directlua{
- local s = '\luatexluaescapestring{#1}'
- local is_braced, is_quoted
- if s:sub(1,1)=='{' and s:sub(-1)=='}' then is_braced=true; s=s:sub(2,-2) end
- if s:sub(1,1)=='"' and s:sub(-1)=='"' then is_quoted=true; s=s:sub(2,-2) end
- s=s..luatexja.jfont.print_aftl_address()
- if is_braced then s='{'..s..'}' elseif is_quoted then s='"'..s..'"' end
- %print(s, is_quoted, is_braced)
- tex.sprint(-2, s)}%
- \space at%
-}
-\def\extract@jfont{%
- \get@external@font
- \ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}{%
- \edef\external@font{\expandafter\ltj@@patch@external@font\external@font}%
- }%
- \expandafter\globaljfont\font@name\external@font\relax\font@name% ここで時間がかかる
- \csname \f@encoding+\f@family\endcsname
- \csname\curr@fontshape\endcsname}
-\def\extract@tfont{%
- \get@external@font
- \ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}{%
- \edef\external@font{\expandafter\ltj@@patch@external@font\external@font}%
- }%
- \expandafter\globaltfont\font@name\external@font\relax\font@name
- \csname \f@encoding+\f@family\endcsname
- \csname\curr@fontshape\endcsname}
-\def\extract@jfont@onlyjfm{%
- \get@external@font
- \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{%
- \directlua{%
- luatexja.jfont.load_jfmonly('\luatexluaescapestring{\external@font}', 'yoko')
- }%
- }}
-\def\extract@tfont@onlyjfm{%
- \get@external@font
- \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{%
- \directlua{%
- luatexja.jfont.load_jfmonly('\luatexluaescapestring{\external@font}', 'tate')
- }%
- }}
-
-\let\ltj@@al@do@subst@correction=\do@subst@correction
-\def\ltj@@ja@do@subst@correction{%
- \xdef\subst@correction{%
- \font@name
- \global\expandafter\let\csname \curr@fontshape/\f@size\endcsname\font@name%
- \relax}%
- \aftergroup\subst@correction
-}
-\def\do@subst@correction{%
- \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}\ifin@%
- \ltj@@ja@do@subst@correction
- \else
- \ltj@@al@do@subst@correction
- \fi
-}
-\let\@@italiccorr=\/
-
-%%%%%% Japanese font for math mode
-\unless\ifltj@disablejfam
-
-% \M@<enc> から その <enc> が和文用か調べる
-{\catcode`M=12%
-\gdef\ltj@@mathJapaneseFonts#1M#2#3\relax{\ltj@@IsFontJapanese{#3}}}
-
-\let\ltj@@al@getanddefine@fonts=\getanddefine@fonts
-\def\ltj@@ja@getanddefine@fonts#1#2{%
- \csletcs{if@ltj@tempif}{ifltjselectfont@force@define}%
- \ltjselectfont@force@definetrue
- \xdef\font@name{\csname \string#2/\tf@size\endcsname}%
- \pickup@jfont\let\textfont@name\font@name
- \xdef\font@name{\csname \string#2/\sf@size\endcsname}%
- \pickup@jfont\let\scriptfont@name\font@name
- \xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
- \pickup@jfont
- \csletcs{ifltjselectfont@force@define}{if@ltj@tempif}%
- \edef\math@fonts{\math@fonts\ltj@setpar@global%
- \ltj@@set@stackfont#1,\textfont@name:{MJT}%
- \ltj@@set@stackfont#1,\scriptfont@name:{MJS}%
- \ltj@@set@stackfont#1,\font@name:{MJSS}%
- }%
-}
-
-\def\getanddefine@fonts#1#2{%
- \ltj@tempcnta=#1\ltj@@IsFontJapanese{\string#2}%
- \ifin@\let\ltj@temp=\ltj@@ja@getanddefine@fonts%
- \else \let\ltj@temp=\ltj@@al@getanddefine@fonts\fi
- \ltj@temp{#1}{#2}%
-}
-\def\use@mathgroup#1#2{\relax\ifmmode
- \math@bgroup
- \expandafter\ifx\csname M@\f@encoding\endcsname#1\else
- #1\fi\ltj@tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax%
- \ifin@\jfam#2\relax\else\mathgroup#2\relax\fi
- \expandafter\math@egroup\fi}%
-
-\fi
-
-%%%%%% Alternate Japanese Fonts
-%%%% \DeclareAlternateKanjiFont<Benc><Bfam><Bser><Bshape><Aenc><Afam><Aser><Ashape><range>
-% いつも global
-\def\DeclareAlternateKanjiFont#1#2#3#4#5#6#7#8#9{%
- \edef\@temp{#9}%
- \ifx\@temp\@empty\else
- {\def\ltj@temp@bfont{#1/#2/#3/#4}\def\ltj@temp@afont{#5/#6/#7/#8}%
- \expandafter\ltj@@altfont@latex#9,,}\ignorespaces
- \fi}
-\def\ltj@@altfont@latex#1,{\def\ltj@temp{#1}%
- \ifx\ltj@temp\empty\let\@next=\relax\else
- \ltj@@altfont@latexA{#1}\let\@next=\ltj@@altfont@latex\fi\@next}
-\def\ltj@@altfont@latexA#1{\ltj@@altfont@latexB#1--\@nil}
-\def\ltj@@altfont@latexB#1-#2-#3\@nil{\def\ltj@temp{#3}%
- \ifx\ltj@temp\empty
- \ltj@tempcnta=#1\relax\ltj@tempcntb=\ltj@tempcnta
- \else
- \def\ltj@temp{#1}%
- \ifx\ltj@temp\empty\ltj@tempcnta='200\else\ltj@tempcnta=#1\fi\relax
- \def\ltj@temp{#2}%
- \ifx\ltj@temp\empty\ltj@tempcntb="10FFFF\else\ltj@tempcntb=#2\fi\relax%"
- \fi
- \directlua{luatexja.jfont.set_alt_font_latex(
- \the\ltj@tempcnta,\the\ltj@tempcntb,
- '\luatexluaescapestring{\ltj@temp@afont}',
- '\luatexluaescapestring{\ltj@temp@bfont}')}%
- }
-
-%%%% \ClearAlternateKanjiFont<Benc><Bfam><Bser><Bshape>
-% いつも global
-\def\ClearAlternateKanjiFont#1#2#3#4{%
- \directlua{luatexja.jfont.clear_alt_font_latex('\luatexluaescapestring{#1/#2/#3/#4}')}}
-
-\def\ltj@pickup@altfont@auxy#1{%
- \begingroup\edef\font@name{\csname #1/\f@size\endcsname}\pickup@jfont\endgroup%
-}
-\def\ltj@pickup@altfont@auxt#1{%
- \begingroup\edef\font@name{\csname #1/\f@size\endcsname}\pickup@tfont\endgroup%
-}
-\def\ltj@pickup@altfont@copy#1#2{%
- \ltj@@getjfontnumber#1%
- \directlua{luatexja.jfont.pickup_alt_font_b(\the\ltj@tempcntc,'\luatexluaescapestring{#2}')}%
-}
-
-\def\ltj@@does@alt@set#1#2{%
- \directlua{luatexja.jfont.does_alt_set'\luatexluaescapestring{#1}'}{#2}}
-
-%%%% patch \@text@composite because of {y,t}albaselineshift
-
-% %% \pltx@isletter from plfonts.dtx
-% \def\pltx@mark{\pltx@mark@}
-% \let\pltx@scanstop\relax
-% \long\def\pltx@cond#1\fi{%
-% #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
-% \long\def\pltx@isletter#1{%
-% \expandafter\pltx@isletter@i#1\pltx@scanstop}
-% \long\def\pltx@isletter@i#1\pltx@scanstop{%
-% \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi{\@firstoftwo}%
-% {\pltx@isletter@ii\pltx@scanstop#1\pltx@scanstop{}#1\pltx@mark}}
-% \long\def\pltx@isletter@ii#1\pltx@scanstop#{%
-% \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi%
-% {\pltx@isletter@iii}{\pltx@isletter@iv}}
-% \long\def\pltx@isletter@iii#1\pltx@mark{\@secondoftwo}
-% \long\def\pltx@isletter@iv#1#2#3\pltx@mark{%
-% \pltx@cond\ifx\pltx@mark#3\pltx@mark\fi{%
-% \pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi
-% {\@firstoftwo}{\@secondoftwo}%
-% }{\@secondoftwo}}
-%
-% \def\@text@composite@x#1#2{%
-% \ifx#1\relax
-% #2%
-% \else\pltx@isletter{#1}{#1}{%
-% \begingroup
-% \setbox\z@\hbox\bgroup%
-% \ltj@yablshift\z@ \ltj@tablshift\z@
-% #1%
-% \@tempcntb\directlua{luatexja.pltx_composite_last_node_char()}%)
-% \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}%
-% \aftergroup\pltx@composite@temp
-% \egroup
-% \ifnum\ltjgetparameter{direction}=3 %
-% \@tempdima=\ltj@tablshift sp\else\@tempdima=\ltj@yablshift sp\fi
-% \ifnum\@tempcntb<\z@\@tempcnta\z@\else
-% \@tempcnta=\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{\@tempcntb}}\relax
-% \ifnum\@tempcnta=\z@\@tempdima\z@\fi
-% \fi
-% \ifnum\@tempcnta>\z@
-% \ifodd\ltjgetparameter{alxspmode}{\@tempcntb}\else\leavevmode\hbox{}\fi
-% \begingroup\mathsurround\z@$%
-% \hbox{\lower\@tempdima\box\z@}
-% $\endgroup%
-% \ifnum\ltjgetparameter{alxspmode}{\@tempcntb}<2\hbox{}\fi
-% \else
-% \ifdim\@tempdima=\z@{\ltj@yablshift\z@ \ltj@tablshift\z@#1}%
-% \else\lower\@tempdima\box\z@\fi
-% \fi
-% \endgroup}%
-% \fi
-% }
-
-\endinput