summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty80
1 files changed, 25 insertions, 55 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
index dd20eeead9f..69c409836df 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
@@ -65,7 +65,7 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja-core}[2015/05/03 Core of LuaTeX-ja]
+ \ProvidesPackage{luatexja-core}[2015/05/17 Core of LuaTeX-ja]
\fi %</LaTeX>
%% Load prerequisite packages.
@@ -263,15 +263,14 @@
\setbox\z@\box\voidb@x
% prebreakpenalty = {<char_code>, <penalty>}
-\define@key[ltj]{japaram}{kcatcode}{%
- \expandafter\ltj@@set@stack#1:{KCAT}{0}{0x7FFFFFFF}}
-\define@key[ltj]{japaram}{prebreakpenalty}{%
- \expandafter\ltj@@set@stack#1:{PRE}{-10000}{10000}}
-\define@key[ltj]{japaram}{postbreakpenalty}{%
- \expandafter\ltj@@set@stack#1:{POST}{-10000}{10000}}
-\def\ltj@@set@stack#1,#2:#3#4#5{%
- \directlua{luatexja.stack.set_stack_perchar(luatexja.stack_table_index.#3,
- \ltj@safe@num@or{nil}{#1},\ltj@safe@num@or{nil}{#2},#4,#5)}}
+\define@key[ltj]{japaram}{kcatcode}{\ltj@@set@stack{KCAT}{0}{0x7FFFFFFF}#1\relax}
+\define@key[ltj]{japaram}{prebreakpenalty}{\ltj@@set@stack{PRE}{-10000}{10000}#1\relax}
+\define@key[ltj]{japaram}{postbreakpenalty}{\ltj@@set@stack{POST}{-10000}{10000}#1\relax}
+\def\ltj@@set@stack#1#2#3{%
+ \directlua{luatexja.stack.set_stack_perchar(luatexja.stack_table_index.#1,#2,#3)}}
+%\def\ltj@@set@stack#1,#2:#3#4#5{%
+% \directlua{luatexja.stack.set_stack_perchar(luatexja.stack_table_index.#3,
+% \ltj@safe@num@or{nil}{#1},\ltj@safe@num@or{nil}{#2},#4,#5)}}
% jatextfont = {<char_code>, <font_cs>}
% only horizontal font is supported
@@ -300,16 +299,16 @@
% yjabaselineshift = <dimen>
\define@key[ltj]{japaram}{yalbaselineshift}{%
\directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@yablshift'], luatexja.token.scan_dimen())}#1}
+ luatexbase.attributes['ltj@yablshift'], luatexja.token.scan_dimen())}#1\relax}
\define@key[ltj]{japaram}{yjabaselineshift}{%
\directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@ykblshift'], luatexja.token.scan_dimen())}#1}
+ luatexbase.attributes['ltj@ykblshift'], luatexja.token.scan_dimen())}#1\relax}
\define@key[ltj]{japaram}{talbaselineshift}{%
\directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@tablshift'], luatexja.token.scan_dimen())}#1}
+ luatexbase.attributes['ltj@tablshift'], luatexja.token.scan_dimen())}#1\relax}
\define@key[ltj]{japaram}{tjabaselineshift}{%
\directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@tkblshift'], luatexja.token.scan_dimen())}#1}
+ luatexbase.attributes['ltj@tkblshift'], luatexja.token.scan_dimen())}#1\relax}
% jaxspmode = {<char_code>, <mode>}
% mode: inhibit, preonly, postonly, allow
@@ -322,25 +321,13 @@
\def\ltj@tempa{preonly}\ifx\ltj@temp\ltj@tempa\def\ltj@temp{1}\fi
\def\ltj@tempa{postonly}\ifx\ltj@temp\ltj@tempa\def\ltj@temp{2}\fi
\def\ltj@tempa{allow}\ifx\ltj@temp\ltj@tempa\def\ltj@temp{3}\fi
- \directlua{luatexja.stack.set_stack_perchar(luatexja.stack_table_index.XSP,
- \ltj@safe@num@or{nil}{#1},
- \ltj@safe@num@or{nil}{\ltj@temp},0,3)}}
-
+ \ltj@@set@stack{XSP}03#1 \ltj@temp}
% alxspmode = {<char_code>, <mode>}
% mode: inhibit, preonly, postonly, allow
% or 0 1 2 3
\define@key[ltj]{japaram}{alxspmode}{% \inhibitxspcode
- \expandafter\ltj@set@alxspmode#1:\relax}
-\def\ltj@set@alxspmode#1,#2:{%
- \lowercase{\edef\ltj@temp{#2}}%
- \def\ltj@tempa{inhibit}\ifx\ltj@temp\ltj@tempa\def\ltj@temp{0}\fi
- \def\ltj@tempa{preonly}\ifx\ltj@temp\ltj@tempa\def\ltj@temp{1}\fi
- \def\ltj@tempa{postonly}\ifx\ltj@temp\ltj@tempa\def\ltj@temp{2}\fi
- \def\ltj@tempa{allow}\ifx\ltj@temp\ltj@tempa\def\ltj@temp{3}\fi
- \directlua{luatexja.stack.set_stack_perchar(luatexja.stack_table_index.XSP,
- \ltj@safe@num@or{nil}{#1},
- \ltj@safe@num@or{nil}{\ltj@temp},0,3)}}
+ \expandafter\ltj@set@jaxspmode#1:\relax}% same code as jaxspmode
% autospacing = <bool> (default: true)
\define@boolkey[ltj]{japaram}{autospacing}[true]{%
@@ -359,8 +346,8 @@
\fi}
% [x]]kanjiskip = <skip>
- \define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip #1}
- \define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip #1}
+ \define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip#1}
+ \define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip#1}
\protected\def\ltjsetkanjiskip{% % SKIP
\directlua{%
local d = luatexja.token.scan_glue()
@@ -374,7 +361,7 @@
% jcharwidowpenalty = <count>
\define@key[ltj]{japaram}{jcharwidowpenalty}{% %COUNT
- \ltj@@set@stack0,#1:{JWP}{-10000}{10000}}
+ \ltj@@set@stack{JWP}{-10000}{10000}\z@#1 }
% differentjfm = { large | small | average | pleft | pright | paverage | both}
\define@choicekey*+[ltj]{japaram}{differentjfm}[\ltj@temp\ltj@tempr]%
@@ -471,18 +458,16 @@
\csname ltj@kcat6\endcsname="7FFFFFFF }%"
\protected\def\ltjjachar{\afterassignment\ltj@@jachar\ltj@tempcnta}
-\def\ltj@@jachar{{\directlua{tex.globaldefs = 0}\ltj@alljachar\ltj@@origchar\ltj@tempcnta}}
+\def\ltj@@jachar{{\directlua{tex.globaldefs=0}\ltj@alljachar\ltj@@origchar\ltj@tempcnta}}
\protected\def\ltjalchar{\afterassignment\ltj@@alchar\ltj@tempcnta}
-\def\ltj@@alchar{{\directlua{tex.globaldefs = 0}\ltj@allalchar\ltj@@origchar\ltj@tempcnta}}
+\def\ltj@@alchar{{\directlua{tex.globaldefs=0}\ltj@allalchar\ltj@@origchar\ltj@tempcnta}}
%%%%%%%% \ltjsetmathletter<number>, \ltjunsetmathletter<number>
\protected\def\ltjsetmathletter#1{%
- \ltj@tempcnta=#1
- \directlua{luatexja.math.is_math_letters[\the\ltj@tempcnta]=true}%
+ \directlua{luatexja.math.is_math_letters[luatexja.token.scan_int()]=true}#1\relax
}
\protected\def\ltjunsetmathletter#1{%
- \ltj@tempcnta=#1
- \directlua{luatexja.math.is_math_letters[\the\ltj@tempcnta]=false}%
+ \directlua{luatexja.math.is_math_letters[luatexja.token.scan_int()]=false}#1\relax
}
%%%%%%%% \ltjdeclarealtfont<base_font_cs><alt_font_cs>{100-200,3000-,5000,...}
@@ -677,24 +662,9 @@
\let\ltjgetwd=\ltj@@getwd\let\ltjgetht=\ltj@@getht\let\ltjgetdp=\ltj@@getdp
%%%%%%%% \ltjsetwd<box_num>=<dimen> etc.
-\protected\def\ltjsetwd{\begingroup
- \ltj@reset@globaldefs\afterassignment\ltj@@setwd@a\ltj@tempcnta}
-\def\ltj@@setwd@a{\afterassignment\ltj@@setwd@b\ltj@tempdima}
-\def\ltj@@setwd@b{%
- \directlua{luatexja.direction.set_box_dim('width')}%
- \ltj@restore@globaldefs\endgroup}
-\protected\def\ltjsetht{\begingroup
- \ltj@reset@globaldefs\afterassignment\ltj@@setht@a\ltj@tempcnta}
-\def\ltj@@setht@a{\afterassignment\ltj@@setht@b\ltj@tempdima}
-\def\ltj@@setht@b{%
- \directlua{luatexja.direction.set_box_dim('height')}%
- \ltj@restore@globaldefs\endgroup}
-\protected\def\ltjsetdp{\begingroup
- \ltj@reset@globaldefs\afterassignment\ltj@@setdp@a\ltj@tempcnta}
-\def\ltj@@setdp@a{\afterassignment\ltj@@setdp@b\ltj@tempdima}
-\def\ltj@@setdp@b{%
- \directlua{luatexja.direction.set_box_dim('depth')}%
- \ltj@restore@globaldefs\endgroup}
+\protected\def\ltjsetwd{\directlua{luatexja.direction.set_box_dim('width')}}
+\protected\def\ltjsetht{\directlua{luatexja.direction.set_box_dim('height')}}
+\protected\def\ltjsetdp{\directlua{luatexja.direction.set_box_dim('depth')}}
%%------------------ Load module for the format