+
+\ifdefined\newluafunction
+ \newluafunction\ltj@@adjust@baseline@inner
+ \directlua{%
+ local t = lua.get_functions_table()
+ t[\the\ltj@@adjust@baseline@inner] = function()
+ local ft = luatexja.jfont.font_metric_table[
+ tex.getattribute('ltj@curtfnt')] or {}
+ ft = ft and ft.char_type or {}
+ ft = ft and ft[0] or {}
+ local fm = font.getfont(font.current()).characters[77] or {} %% 'M'
+ tex.setattribute('ltj@tablshift',
+ 0.5*((fm.height or 0)- (fm.depth or 0)
+ - (ft.height or 0)+ (ft.depth or 0)))
+ end
+ }
+ \def\ltj@@adjust@baseline{\luafunction\ltj@@adjust@baseline@inner}
+\else
+ \def\ltj@@adjust@baseline{%
+ \setbox\adjust@box@aux\hbox{\tate\ltj@tkblshift\z@ 漢}%
+ \setbox\adjust@box\hbox{\tate\ltj@tablshift\z@ M}%
+ \adjust@dimen\ht\adjust@box
+ \advance\adjust@dimen\dp\adjust@box
+ \advance\adjust@dimen-\ht\adjust@box@aux
+ \divide\adjust@dimen\tw@
+ \advance\adjust@dimen0.5\dp\adjust@box@aux
+ \advance\adjust@dimen-\dp\adjust@box
+ \ltj@tablshift=\adjust@dimen
+ }
+\fi