X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Faddons%2Fluatexja-adjust.sty;h=d357799f36fff8f02aaa8c626d2c7489b89db4f2;hb=ae77474c1513fdada9dde1a239c0c11fc9c112c0;hp=397dede22d7274aa4be8c0b02c0a055b18595a1b;hpb=5c9ea8c9be123d8242a69e5ee94ee3ca1104f056;p=luatex-ja%2Fluatexja.git diff --git a/src/addons/luatexja-adjust.sty b/src/addons/luatexja-adjust.sty index 397dede..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}[2012/10/01 v0.1] + \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}[2012/04/20] + \RequirePackage{luatexja}[2016/05/15] \else %<*!LaTeX> \input luatexja.sty % \fi % @@ -82,12 +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 +% 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]}}%] -\protected\def\ltjdisableadjust{\directlua{luatexja.adjust.disable_cb()}} -\protected\def\ltjenableadjust{\directlua{luatexja.adjust.enable_cb()}} \ltjenableadjust +% there is also a key for \ltjsetparameter, for same effect +\define@boolkey[ltj]{japaram}{adjust}[true]{% + \ifltj@japaram@adjust\ltjenableadjust\else\ltjdisableadjust\fi\relax +} + %%------------------ all done \ltj@adjust@AtEnd