local id_whatsit = node.id('whatsit')
local attr_icflag = luatexbase.attributes['ltj@icflag']
local attr_jchar_class = luatexbase.attributes['ltj@charclass']
-local lang_ja = token.create('ltj@@japanese')[2]
+local lang_ja = luatexja.lang_ja
local ltjf_font_metric_table = ltjf.font_metric_table
local spec_zero_glue = ltjj.spec_zero_glue
local id_pbox = 257 -- already processed nodes (by \unhbox)
local id_pbox_w = 258 -- cluster which consists of a whatsit
local sid_user = node.subtype('user_defined')
-local lang_ja = token.create('ltj@@japanese')[2]
+local lang_ja = luatexja.lang_ja
local sid_start_link = node.subtype('pdf_start_link')
local sid_start_thread = node.subtype('pdf_start_thread')
local attr_ykblshift = luatexbase.attributes['ltj@ykblshift']
local attr_tablshift = luatexbase.attributes['ltj@tablshift']
local attr_tkblshift = luatexbase.attributes['ltj@tkblshift']
-local lang_ja = token.create('ltj@@japanese')[2]
+local lang_ja = luatexja.lang_ja
local identifiers = fonts.hashes.identifiers
local ltjf_font_metric_table = ltjf.font_metric_table
local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG
local dir_tate = luatexja.dir_table.dir_tate
-local lang_ja = token.create('ltj@@japanese')[2]
+local lang_ja = luatexja.lang_ja
+
------------------------------------------------------------------------
-- MAIN PROCESS STEP 1: replace fonts
------------------------------------------------------------------------
\fi
\fi
\ltj@setpar@global
- \ifltj@token@avail@scan
- \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip .1em
- \else
- \ltjsetxkanjiskip .25em plus .15em minus .06em
- \fi
- \fi
- \else
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip{.1em}
- \else
- \ltjsetxkanjiskip{.25em plus .15em minus .06em}
- \fi
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetxkanjiskip .1em
+ \else
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
\emergencystretch 3\zw
\fi
\fi
\ltj@setpar@global
- \ifltj@token@avail@scan
- \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip .1em
- \else
- \ltjsetxkanjiskip .25em plus .15em minus .06em
- \fi
- \fi
- \else
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip{.1em}
- \else
- \ltjsetxkanjiskip{.25em plus .15em minus .06em}
- \fi
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetxkanjiskip .1em
+ \else
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
\emergencystretch 3\zw
\fi
\fi
\ltj@setpar@global
- \ifltj@token@avail@scan
- \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip .1em
- \else
- \ltjsetxkanjiskip .25em plus .15em minus .06em
- \fi
- \fi
- \else
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip{.1em}
- \else
- \ltjsetxkanjiskip{.25em plus .15em minus .06em}
- \fi
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetxkanjiskip .1em
+ \else
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
% \end{macrocode}
\fi
\fi
\ltj@setpar@global
- \ifltj@token@avail@scan
- \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip .1em
- \else
- \ltjsetxkanjiskip .25em plus .15em minus .06em
- \fi
- \fi
- \else
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip{.1em}
- \else
- \ltjsetxkanjiskip{.25em plus .15em minus .06em}
- \fi
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetxkanjiskip .1em
+ \else
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
\emergencystretch 3\zw
\fi
\fi
\ltj@setpar@global
- \ifltj@token@avail@scan
- \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip .1em
- \else
- \ltjsetxkanjiskip .25em plus .15em minus .06em
- \fi
- \fi
- \else
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
- \@tempskipa=\ltjgetparameter{xkanjiskip}
- \ifdim\@tempskipa>\z@
- \if@slide
- \ltjsetxkanjiskip{.1em}
- \else
- \ltjsetxkanjiskip{.25em plus .15em minus .06em}
- \fi
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetxkanjiskip .1em
+ \else
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
\emergencystretch 3\zw
\def\sjis{\ltj@code@conv{sjis}}
\def\ucs{\ltj@code@conv{ucs}}
-\ifltj@token@avail@scan %%%%%%%%%%%%%%%%%%%%%%%% new tokenlib
\def\ltj@code@conv#1{%
\directlua{luatexja.compat.from_#1(luatexja.token.scan_int())}%
}
-\else %%%%%%%%%%%%%%%%%%%%%%%% old tokenlib
-\def\ltj@code@conv#1{%
- \directlua{luatexja._cc_next = luatexja.compat.from_#1 }%
- \ltj@code@convA
-}
-\def\ltj@code@convA{%
- \expandafter\expandafter\expandafter
- \ltj@code@convB\ltj@grab@num
-}
-\def\ltj@code@convB#1{%
- \directlua{luatexja._cc_next(\ltj@safe@num@or{nil}{#1}) }%
-}
-\fi %%%%%%%%%%%%%%%%%%%%%%%%
-
-\ifltj@token@avail@scan %%%%%%%%%%%%%%%%%%%%%%%% new tokenlib
\def\kansuji{%
\directlua{luatexja.compat.to_kansuji(luatexja.token.scan_int())}%
}
-\else %%%%%%%%%%%%%%%%%%%%%%%% old tokenlib
-\def\kansuji{%
- \expandafter\expandafter\expandafter
- \ltj@kansujiA\ltj@grab@num
-}
-\def\ltj@kansujiA#1{%
- \directlua{luatexja.compat.to_kansuji(\ltj@safe@num{#1}) }%
-}
-\fi %%%%%%%%%%%%%%%%%%%%%%%%
\define@key[ltj]{japaram}{kansujichar}{%
\expandafter\ltj@@set@stack#1:{KSJ}{0}{0x7FFFFFFF}}
\protected\def\ltj@@q@escapenum{\ltj@@q@escapenum@}
\directlua{%
- luatexja = {}
+ luatexja = {};
+ luatexja.lang_ja = \the\ltj@@japanese;
dofile(assert(kpse.find_file('luatexja.lua', 'tex'),
"File `luatexja.lua' not found"))
}
-
-%%% true if we can use [new]token.scan_int and co.
-\newif\ifltj@token@avail@scan
-\directlua{%
- local bs = string.char(92)
- if luatexja.token then tex.sprint(bs .. 'ltj@token@avail@scantrue') end
-}
-
-
%% \RequireLuaTeXjaSubmodule{name}[date]
% A TeX version of luatexja.load_module(name)
% The second optional argument [date] is simply ignored.
\ltj@restore@globaldefs
}
-\ifltj@token@avail@scan %%%%%%%%%%%%%%%%%%%%%%%% new tokenlib
% {y,t}{ja,al}baselineshift = <dimen>
% yjabaselineshift = <dimen>
\define@key[ltj]{japaram}{yalbaselineshift}{%
\define@key[ltj]{japaram}{tjabaselineshift}{%
\directlua{tex.setattribute(luatexja.isglobal,
luatexbase.attributes['ltj@tkblshift'], luatexja.token.scan_dimen())}#1}
-\else %%%%%%%%%%%%%%%%%%%%%%%% old tokenlib
-% yalbaselineshift = <dimen>
-% yjabaselineshift = <dimen>
-\define@key[ltj]{japaram}{yalbaselineshift}{%
- \directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@yablshift'],
- \ltj@safe@dimen@or\ltj@defdimen{#1})}}
-\define@key[ltj]{japaram}{yjabaselineshift}{%
- \directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@ykblshift'],
- \ltj@safe@dimen@or\ltj@defdimen{#1})}}
-% talbaselineshift = <dimen>
-% tjabaselineshift = <dimen>
-\define@key[ltj]{japaram}{talbaselineshift}{%
- \directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@tablshift'],
- \ltj@safe@dimen@or\ltj@defdimen{#1})}}
-\define@key[ltj]{japaram}{tjabaselineshift}{%
- \directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@tkblshift'],
- \ltj@safe@dimen@or\ltj@defdimen{#1})}}
-\fi %%%%%%%%%%%%%%%%%%%%%%%%
% jaxspmode = {<char_code>, <mode>}
% mode: inhibit, preonly, postonly, allow
\fi}
% [x]]kanjiskip = <skip>
-\ifltj@token@avail@scan %%%%%%%%%%%%%%%%%%%%%%%% new tokenlib
\define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip #1}
\define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip #1}
\protected\def\ltjsetkanjiskip{% % SKIP
local d = luatexja.token.scan_glue()
luatexja.stack.set_stack_skip(luatexja.stack_table_index.XSK, d); node.free(d)
}}
-\else %%%%%%%%%%%%%%%%%%%%%%%% old tokenlib
- \define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip{#1}}
- \define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip{#1}}
- \protected\def\ltjsetkanjiskip#1{% % SKIP
- \directlua{%
- local d = \ltj@safe@glue{#1}
- luatexja.stack.set_stack_skip(luatexja.stack_table_index.KSK, d); node.free(d)
- }\ignorespaces}
- \protected\def\ltjsetxkanjiskip#1{% % SKIP
- \directlua{%
- local d = \ltj@safe@glue{#1}
- luatexja.stack.set_stack_skip(luatexja.stack_table_index.XSK, d); node.free(d)
- }\ignorespaces}
-\else
-\fi %%%%%%%%%%%%%%%%%%%%%%%%
-
% jcharwidowpenalty = <count>
\define@key[ltj]{japaram}{jcharwidowpenalty}{% %COUNT
}
%%%%%%%% \ltjgetwd<box_num> etc.
-\ifltj@token@avail@scan %%%%%%%%%%%%%%%%%%%%%%%% new tokenlib
\def\ltj@@getwd{%
\directlua{luatexja.direction.get_box_dim('width', luatexja.token.scan_int())}}
\def\ltj@@getht{%
\directlua{luatexja.direction.get_box_dim('height', luatexja.token.scan_int())}}
\def\ltj@@getdp{%
\directlua{luatexja.direction.get_box_dim('depth', luatexja.token.scan_int())}}
-\else %%%%%%%%%%%%%%%%%%%%%%%% old tokenlib
-\def\ltj@@getwd#1{%
- \directlua{luatexja.direction.get_box_dim('width', \the\numexpr#1\relax)}}
-\def\ltj@@getht#1{%
- \directlua{luatexja.direction.get_box_dim('height', \the\numexpr#1\relax)}}
-\def\ltj@@getdp#1{%
- \directlua{luatexja.direction.get_box_dim('depth', \the\numexpr#1\relax)}}
-\fi %%%%%%%%%%%%%%%%%%%%%%%%
\let\ltjgetwd=\ltj@@getwd\let\ltjgetht=\ltj@@getht\let\ltjgetdp=\ltj@@getdp
%%%%%%%% \ltjsetwd<box_num>=<dimen> etc.