module('luatexja.jfmglue', package.seeall)
local err, warn, info, log = luatexbase .errwarinf(_NAME)
+luatexja.load_module('base'); local ltjb = luatexja.base
luatexja.load_module('stack'); local ltjs = luatexja.stack
luatexja.load_module('jfont'); local ltjf = luatexja.jfont
local pairs = pairs
end
-- 文字クラスの決定
-local function slow_find_char_class(c, m, oc)
- local xc = c or oc
- local cls = ltjf_find_char_class(oc, m)
- if xc ~= oc and cls==0 then cls = ltjf_find_char_class(-xc, m) end
- return cls, xc
+local slow_find_char_class
+do
+ slow_find_char_class = function (c, m, oc)
+ local cls = ltjf_find_char_class(oc, m)
+ if not c and cls==0 then
+ return ltjf_find_char_class(-c, m), oc
+ else
+ return cls, oc
+ end
+ end
end
local zero_glue = node_new(id_glue)
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjsarticle}
- [2014/03/28 ]
+ [2014/05/14 ]
\RequirePackage{luatexja}
\newif\if@restonecol
\newif\if@titlepage
\parindent=1\zw
\fi
\fi
- \ltjsetparameter{kanjiskip={0\zw plus .1\zw minus .01\zw}}
- \if@slide \ltjsetparameter{xkanjiskip={0.1em}} \else
- \ltjsetparameter{xkanjiskip={0.25em plus 0.15em minus 0.06em}}
+ \ltj@setpar@global
+ \ltjsetkanjiskip{0pt plus .1\zw minus .01\zw}
+ \if@slide
+ \ltjsetxkanjiskip{0.1em}
+ \else
+ \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
\fi}
\emergencystretch 3\zw
\newif\ifnarrowbaselines
\renewcommand\kanjifamilydefault{\gtdefault}
\renewcommand\familydefault{\sfdefault}
\raggedright
- \ltjsetparameter{xkanjiskip={0.1em}}\relax
+ \ltj@setpar@global
+ \ltjsetxkanjiskip{0.1em}\relax
\fi
\endinput
%%
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjsbook}
- [2014/03/28 ]
+ [2014/05/14 ]
\RequirePackage{luatexja}
\newif\if@restonecol
\newif\if@titlepage
\parindent=1\zw
\fi
\fi
- \ltjsetparameter{kanjiskip={0\zw plus .1\zw minus .01\zw}}
- \if@slide \ltjsetparameter{xkanjiskip={0.1em}} \else
- \ltjsetparameter{xkanjiskip={0.25em plus 0.15em minus 0.06em}}
+ \ltj@setpar@global
+ \ltjsetkanjiskip{0pt plus .1\zw minus .01\zw}
+ \if@slide
+ \ltjsetxkanjiskip{0.1em}
+ \else
+ \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
\fi}
\emergencystretch 3\zw
\newif\ifnarrowbaselines
\renewcommand\kanjifamilydefault{\gtdefault}
\renewcommand\familydefault{\sfdefault}
\raggedright
- \ltjsetparameter{xkanjiskip={0.1em}}\relax
+ \ltj@setpar@global
+ \ltjsetxkanjiskip{0.1em}\relax
\fi
\endinput
%%
% -----------------------------------------
%
% \fi
-% \CheckSum{5202}
+% \CheckSum{5203}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%<*driver>
\ProvidesFile{ltjsclasses.dtx}
%</driver>
- [2014/03/28 ]
+ [2014/05/14 ]
%<*driver>
\documentclass{ltjsarticle}
\usepackage{doc}
%
% [2008-02-18] |english| オプションで |\parindent| を 1em にしました。
%
+% [2014-05-14 LTJ] |\ltjsetparameter|の実行は時間がかかるので,
+% |\ltjsetkanjiskip| と |\ltjsetxkanjiskip|(両者とも,
+% 実行前には |\ltj@setpar@global| の実行が必要)にしました.
+%
% \begin{macrocode}
\def\@setfontsize#1#2#3{%
% \@nomath#1%
\parindent=1\zw
\fi
\fi
- \ltjsetparameter{kanjiskip={0\zw plus .1\zw minus .01\zw}}
- \if@slide \ltjsetparameter{xkanjiskip={0.1em}} \else
- \ltjsetparameter{xkanjiskip={0.25em plus 0.15em minus 0.06em}}
+ \ltj@setpar@global
+ \ltjsetkanjiskip{0pt plus .1\zw minus .01\zw}
+ \if@slide
+ \ltjsetxkanjiskip{0.1em}
+ \else
+ \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
\fi}
% \end{macrocode}
% \end{macro}
\renewcommand\kanjifamilydefault{\gtdefault}
\renewcommand\familydefault{\sfdefault}
\raggedright
- \ltjsetparameter{xkanjiskip={0.1em}}\relax
+ \ltj@setpar@global
+ \ltjsetxkanjiskip{0.1em}\relax
\fi
% \end{macrocode}
%
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjskiyou}
- [2014/03/28 ]
+ [2014/05/14 ]
\RequirePackage{luatexja}
\newif\if@restonecol
\newif\if@titlepage
\parindent=1\zw
\fi
\fi
- \ltjsetparameter{kanjiskip={0\zw plus .1\zw minus .01\zw}}
- \if@slide \ltjsetparameter{xkanjiskip={0.1em}} \else
- \ltjsetparameter{xkanjiskip={0.25em plus 0.15em minus 0.06em}}
+ \ltj@setpar@global
+ \ltjsetkanjiskip{0pt plus .1\zw minus .01\zw}
+ \if@slide
+ \ltjsetxkanjiskip{0.1em}
+ \else
+ \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
\fi}
\emergencystretch 3\zw
\newif\ifnarrowbaselines
\renewcommand\kanjifamilydefault{\gtdefault}
\renewcommand\familydefault{\sfdefault}
\raggedright
- \ltjsetparameter{xkanjiskip={0.1em}}\relax
+ \ltj@setpar@global
+ \ltjsetxkanjiskip{0.1em}\relax
\fi
\endinput
%%
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjspf}
- [2014/03/28 ]
+ [2014/05/14 ]
\RequirePackage{luatexja}
\newif\if@restonecol
\newif\if@titlepage
\parindent=1\zw
\fi
\fi
- \ltjsetparameter{kanjiskip={0\zw plus .1\zw minus .01\zw}}
- \if@slide \ltjsetparameter{xkanjiskip={0.1em}} \else
- \ltjsetparameter{xkanjiskip={0.25em plus 0.15em minus 0.06em}}
+ \ltj@setpar@global
+ \ltjsetkanjiskip{0pt plus .1\zw minus .01\zw}
+ \if@slide
+ \ltjsetxkanjiskip{0.1em}
+ \else
+ \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
\fi}
\emergencystretch 3\zw
\newif\ifnarrowbaselines
\renewcommand\kanjifamilydefault{\gtdefault}
\renewcommand\familydefault{\sfdefault}
\raggedright
- \ltjsetparameter{xkanjiskip={0.1em}}\relax
+ \ltj@setpar@global
+ \ltjsetxkanjiskip{0.1em}\relax
\fi
\endinput
%%
\fi}
% [x]]kanjiskip = <dimen>
-\define@key[ltj]{japaram}{kanjiskip}{% % SKIP
+\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)
}}
-\define@key[ltj]{japaram}{xkanjiskip}{% % SKIP
+\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)
}}
+
% jcharwidowpenalty = <count>
\define@key[ltj]{japaram}{jcharwidowpenalty}{% %COUNT
\ltj@@set@stack0,#1:{JWP}{-10000}{10000}}
\else\directlua{luatexja.isglobal=''}\fi
}
\protected\def\ltjsetparameter#1{%
- \ltj@setpar@global\setkeys[ltj]{japaram}{#1}\ignorespaces}
+ \ltj@setpar@global\setkeys[ltj]{japaram}{#1}%
+ \ignorespaces}
\protected\def\ltjglobalsetparameter#1{%
\relax\ifnum\globaldefs<0\directlua{luatexja.isglobal=''}%
\else\directlua{luatexja.isglobal='global'}\fi%
- \setkeys[ltj]{japaram}{#1}\ignorespaces}
+ \setkeys[ltj]{japaram}{#1}%
+ \ignorespaces}
%%%%%%%% \ltjgetparameter
\def\ltj@@decl@array@param#1{%
{\ltj@@getparam@one{#1}}%
}
\def\ltj@@getparam@one#1{%
- \directlua{luatexja.ext_get_parameter_unary('#1')}}%
+ \directlua{luatexja.ext_get_parameter_unary('#1')}%
+}%
\def\ltj@@getparam@two#1#2{%
\directlua{luatexja.ext_get_parameter_binary('#1', \ltj@safe@num@or{nil}{#2})}%
}
\newbox\adjust@box
\newdimen\adjust@dimen
\def\adjustbaseline{%
- \setbox\adjust@box\hbox{\ltjsetparameter{yjabaselineshift=\z@}あ}%
+ \setbox\adjust@box\hbox{\ltj@ykblshift=0あ}%
\cht\ht\adjust@box
\cdp\dp\adjust@box
\cwd\wd\adjust@box