X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Faddons%2Fluatexja-adjust.sty;h=d357799f36fff8f02aaa8c626d2c7489b89db4f2;hb=ae77474c1513fdada9dde1a239c0c11fc9c112c0;hp=cdfad90572bc593cc2a372c8c56fdb509b15c216;hpb=ea79dea334a110317b0d43a697a3403f55f8abfa;p=luatex-ja%2Fluatexja.git diff --git a/src/addons/luatexja-adjust.sty b/src/addons/luatexja-adjust.sty index cdfad90..d357799 100644 --- a/src/addons/luatexja-adjust.sty +++ b/src/addons/luatexja-adjust.sty @@ -64,13 +64,14 @@ \expandafter\let\csname ifltj@in@latex\expandafter\endcsname \csname iftrue\endcsname \NeedsTeXFormat{LaTeX2e} - \ProvidesPackage{luatexja-adjust}[2013/05/14] + \ProvidesPackage{luatexja-adjust}[2016/05/15] \fi % % Load core module if not yet. +% xkeyval.sty is already required in luatexja.sty. \ifx\luatexjacoreLoaded\@undefined \ifltj@in@latex %<*LaTeX> - \RequirePackage{luatexja}[2013/05/14] + \RequirePackage{luatexja}[2016/05/15] \else %<*!LaTeX> \input luatexja.sty % \fi % @@ -82,35 +83,49 @@ \expandafter\endinput\fi\relax %%------------------ + %! Main part of luatexja-adjust -\RequireLuaTeXjaSubmodule{adjust} +\ifnum\luatexversion>90 + \RequireLuaTeXjaSubmodule{adjust} +\else + \RequireLuaTeXjaSubmodule{adjust_85} +\fi % enable/disable ``advanced'' line adjustment -\protected\def\ltjdisableadjust{\directlua{luatexja.adjust.disable_cb()}} -\protected\def\ltjenableadjust{\directlua{luatexja.adjust.enable_cb()}} +% 1: lineend (aw_step1) +% 2: priority (aw_step2) +% 3: all + +\newcount\ltjadj@status +\define@key[ltj]{adjust}{all}[]{\ltjadj@status=3 } +\define@boolkey[ltj]{adjust}{lineend}[true]{% + \ifltj@adjust@lineend + \ifodd\ltjadj@status\else\advance\ltjadj@status\@ne\fi + \else + \ifodd\ltjadj@status\advance\ltjadj@status\m@ne\fi + \fi\relax} +\define@boolkey[ltj]{adjust}{priority}[true]{% + \ifltj@adjust@priority + \ifnum\ltjadj@status>1\else\advance\ltjadj@status2\fi + \else + \ifnum\ltjadj@status>1\advance\ltjadj@status-2\fi + \fi\relax} +\protected\def\@@ltjenableadjust[#1]{% + \setkeys[ltj]{adjust}{#1}% + \directlua{luatexja.adjust.enable_cb(\the\ltjadj@status)}\ignorespaces +} +\protected\def\ltjdisableadjust{\ltjenableadjust*[]} +\protected\def\ltjenableadjust{% + \ltx@ifnextchar*{\ltjadj@status\z@\ltx@firstoftwo{\@ltjenableadjust}}{\@ltjenableadjust}} +\protected\def\@ltjenableadjust{% + \ltx@ifnextchar[{\@@ltjenableadjust}{\@@ltjenableadjust[all]}}%] + \ltjenableadjust % there is also a key for \ltjsetparameter, for same effect \define@boolkey[ltj]{japaram}{adjust}[true]{% - \ifltj@japaram@adjust\ltjenableadjust\else\ltjdisableadjust\fi + \ifltj@japaram@adjust\ltjenableadjust\else\ltjdisableadjust\fi\relax } -\ifltj@in@latex - \RequirePackage{expl3} - \ExplSyntaxOn - \cs_new:Nn \ltj_adjust_inittable: { - % To be filled... - } - \cs_new:Nn \ltj_adjust_appendtable:n { - % To be filled - } - \clist_new:N \l_ltj_adjust_priority - \define@key[ltj]{japaram}{adjustpriority}{% COMMA LIST - \clist_set:Nx \l_ltj_adjust_priority {#1} - \ltj_adjust_inittable: - \clist_map_function:NN \l_ltj_adjust_priority \ltj_adjust_appendtable:n - } - \ExplSyntaxOff -\fi %%------------------ all done \ltj@adjust@AtEnd