+
+\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
+ ft = ft and ft[0]
+ local fm = font.getfont(font.current()).characters[77] or {} %% 'M'
+ print('M', fm.height, fm.depth)
+ print('漢', ft.height, ft.depth)
+ tex.setattribute('ltj@tablshift',
+ 0.5*(fm.height - fm.depth - ft.height+ ft.depth))
+ print('tab', tex.getattribute('ltj@tablshift'))
+ end
+ }
+ \def\ltj@@adjust@baseline{\luafunction\ltj@@adjust@baseline@inner}
+\else
+ \newbox\adjust@box@aux
+ \newdimen\adjust@dimen
+ \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
+ \newbox\adjust@box