-\ifdefined\newluafunction
- \newluafunction\ltj@@adjust@baseline@inner
- \begingroup\catcode`\~=12
- \directlua{%
- local nulltable = {}
- local t = lua.get_functions_table()
- local getfont, dir_tate = font.getfont, luatexja.dir_table.dir_tate
- local fmt, get_attr = luatexja.jfont.font_metric_table, tex.getattribute
- local setdimen, set_attr = tex.setdimen, tex.setattribute
- local dir = luatexja.unary_pars.direction
- t[\the\ltj@@adjust@baseline@inner] = function()
- local ft = fmt[get_attr('ltj@curtfnt')] or nulltable
- ft = ft and ft.char_type or nulltable
- local fk = ft and ft[0] or nulltable
- local ht, dp, wd = fk.height or 0, fk.depth or 0,
- fk.width or ft.zw or 0
- local fm
- = ((getfont(font.current()) or nulltable)
- .characters or nulltable)[77] or nulltable %% 'M'
- set_attr('ltj@tablshift',
- 0.5*((fm.height or 0)- (fm.depth or 0) - ht+ dp))
- if dir() ~= dir_tate then
- ft = fmt[get_attr('ltj@curjfnt')] or nulltable
- ft = ft and ft.char_type or nulltable
- fk = ft and ft[0] or nulltable
- ht, dp, wd = fk.height or 0, fk.depth or 0,
- fk.width or ft.zw or 0
- end
- setdimen('cht', ht); setdimen('cdp', dp)
- setdimen('cwd', wd); setdimen('chs', wd)
- setdimen('cHT', ht+dp)
+\newluafunction\ltj@@adjust@baseline@inner
+\begingroup\catcode`\~=12
+\directlua{%
+ local nulltable = {}
+ local t = lua.get_functions_table()
+ local getfont, dir_tate = font.getfont, luatexja.dir_table.dir_tate
+ local fmt, get_attr = luatexja.jfont.font_metric_table, tex.getattribute
+ local getcount=tex.getcount
+ local setdimen, set_attr = tex.setdimen, tex.setattribute
+ local dir = luatexja.unary_pars.direction
+ t[\the\ltj@@adjust@baseline@inner] = function()
+ local ft = fmt[get_attr('ltj@curtfnt')] or nulltable
+ ft = ft.char_type or nulltable
+ local fk = ft[0] or nulltable
+ local ht, dp, wd = fk.height or 0, fk.depth or 0,
+ fk.width or ft.zw or 0
+ local fm
+ = ((getfont(font.current()) or nulltable)
+ .characters or nulltable)[77] or nulltable %% 'M'
+ set_attr('ltj@tablshift',
+ tex.round(0.5*((fm.height or 0)- (fm.depth or 0) - ht+ dp)))
+ if dir() ~= dir_tate then
+ ft = fmt[get_attr('ltj@curjfnt')] or nulltable
+ ft = ft.char_type or nulltable
+ fk = ft[0] or nulltable
+ ht, dp, wd = fk.height or 0, fk.depth or 0,
+ fk.width or ft.zw or 0