From a02274810ecc6253ecbb37dd4ccb322416fa98f9 Mon Sep 17 00:00:00 2001 From: Hironori Kitagawa Date: Wed, 26 Jul 2017 08:53:55 +0900 Subject: [PATCH] lltjext.sty: baselineshift of JAchar may be not zero --- src/lltjext.sty | 13 ++++++++----- src/luatexja.lua | 17 +++++++++++------ 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/lltjext.sty b/src/lltjext.sty index 78ca61d..31d218c 100644 --- a/src/lltjext.sty +++ b/src/lltjext.sty @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjext}[2017/07/17 v1.2g-ltj-6 Macros for vertical writing] +\ProvidesPackage{lltjext}[2017/07/26 v1.2g-ltj-7 Macros for vertical writing] \RequirePackage{luatexja} \newcount\ltj@ext@dir {\catcode`\*=11 @@ -389,12 +389,15 @@ \def\@end@parbox{\m@th$\null}% \fi \fi\fi} +\def\lltjext@getjablshift{% + \ifnum\ltj@ext@dir=3 \ltjgetparameter{tjabaselineshift}\else + \ltjgetparameter{yjabaselineshift}\fi} \def\fork@parbox@option@@B#1{% \if #1t\relax - \def\@begin@parbox{\raise\cht\vtop\bgroup\kern\z@\vbox}% + \def\@begin@parbox{\raise\dimexpr\cht-\lltjext@getjablshift\vtop\bgroup\kern\z@\vbox}% \let\@end@parbox\egroup \else\if #1b\relax - \def\@begin@parbox{\lower\cdp\vbox\bgroup\vbox}% + \def\@begin@parbox{\lower\dimexpr\cdp+\lltjext@getjablshift\vbox\bgroup\vbox}% \def\@end@parbox{\kern\z@\egroup}% \else \ifmmode @@ -720,7 +723,7 @@ %%%%%%%%%%%%%%%% LuaTeX-ja original -\define@key[ltj]{japaram}{autouprightnum}{% %COUNT - \ltj@@set@stack{AURN}{0}{10000}\z@#1 } +%%\define@key[ltj]{japaram}{autouprightnum}{% %COUNT +%% \ltj@@set@stack{AURN}{0}{10000}\z@#1 } \endinput diff --git a/src/luatexja.lua b/src/luatexja.lua index 3aae0c9..d6d83e6 100644 --- a/src/luatexja.lua +++ b/src/luatexja.lua @@ -177,18 +177,23 @@ end -- EXT: print parameters that don't need arguments do + local tex_getattr = tex.getattribute + local function getattr(a) + local r = tex.getattribute(a) + return (r==-0x7FFFFFFF) and 0 or r + end luatexja.unary_pars = { yalbaselineshift = function(t) - return print_scaled(tex.getattribute('ltj@yablshift'))..'pt' + return print_scaled(getattr('ltj@yablshift'))..'pt' end, yjabaselineshift = function(t) - return print_scaled(tex.getattribute('ltj@ykblshift'))..'pt' + return print_scaled(getattr('ltj@ykblshift'))..'pt' end, talbaselineshift = function(t) - return print_scaled(tex.getattribute('ltj@tablshift'))..'pt' + return print_scaled(getattr('ltj@tablshift'))..'pt' end, tjabaselineshift = function(t) - return print_scaled(tex.getattribute('ltj@tkblshift'))..'pt' + return print_scaled(getattr('ltj@tkblshift'))..'pt' end, kanjiskip = function(t) return print_spec(ltjs.get_stack_skip(stack_table_index.KSK, t)) @@ -200,10 +205,10 @@ do return ltjs.get_stack_table(stack_table_index.JWP, 0, t) end, autospacing = function(t) - return tex.getattribute('ltj@autospc') + return getattr('ltj@autospc') end, autoxspacing = function(t) - return tex.getattribute('ltj@autoxspc') + return getattr('ltj@autoxspc') end, differentjfm = function(t) local f, r = luatexja.jfmglue.diffmet_rule, '???' -- 2.11.0