-- not used in current LuaTeX-ja
do
--! ixbase.counter と同じ
- counter = {}
+ local counter = {}
local mt_counter = {}
setmetatable(counter, mt_counter)
"resetting exclusive callback: " .. name)
luatexbase.reset_callback(name)
end
- local saved_callback={},ff,dd
+ local saved_callback={}
for k,v in ipairs(luatexbase.callback_descriptions(name)) do
if k >= priority then
- ff,dd= luatexbase.remove_from_callback(name, v)
+ local ff,dd = luatexbase.remove_from_callback(name, v)
saved_callback[#saved_callback+1]={ff,dd}
end
end
local function get_asc_des(id)
local t, v = getfont(id), font_metric_table[id]
local a, d
- if t and t.shared then
+ if t and t.shared and t.shared.rawdata then
local u = t.units
local t2 = t.shared.rawdata.metadata
if t2 then
a, d = t2.ascender and t2.ascender/u, t2.descender and -t2.descender/u
end
- -- HARF h_extents() returns "too large" value...?
- -- rawdata.metadata.horizontalmetrics is same
+ elseif t.hb then -- HARF
+ local hbfont, u = t.hb.shared.font, t.hb.shared.upem
+ local h = hbfont:get_h_extents()
+ if h and u then
+ a, d = h.ascender and h.ascender/u, h.descender and -h.descender/u
+ end
end
v.ascender, v.descender = (a or 0.88)*t.size, (d or 0.12)*t.size
end
%
-% lltjp-fontspec.sty 2018-08-24
+% lltjp-fontspec.sty 2019-10-21
%
\NeedsTeXFormat{LaTeX2e}
\fi
%%%%%%%% fontspec v2.5c overwrites \rmfamily etc. in \setmainfont
-\@ifpackagelater{fontspec}{2018/07/29}{ %% 2.6h or later
+\@ifpackagelater{fontspec}{2019/10/19}{ %% 2.7d or later
+\cs_set:Nn \__fontspec_main_setmainfont:nn
+ {
+ \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
+ \tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
+ \use:x
+ {
+ \exp_not:n { \DeclareRobustCommand \rmfamily }
+ {
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \exp_not:N \rmdefault }
+ \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq:eeT {\familydefault} {\rmdefault}
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
+ \__fontspec_setmainfont_hook:nn {#1} {#2}
+ \normalfont
+ }
+\cs_set:Nn \__fontspec_main_setsansfont:nn
+ {
+ \fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
+ \tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
+ \use:x
+ {
+ \exp_not:n { \DeclareRobustCommand \sffamily }
+ {
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \exp_not:N \sfdefault }
+ \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq:eeT {\familydefault} {\sfdefault}
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
+ \__fontspec_setsansfont_hook:nn {#1} {#2}
+ \normalfont
+ }
+\cs_set:Nn \__fontspec_main_setmonofont:nn
+ {
+ \fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
+ \tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
+ \use:x
+ {
+ \exp_not:n { \DeclareRobustCommand \ttfamily }
+ {
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \exp_not:N \ttdefault }
+ \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq:eeT {\familydefault} {\ttdefault}
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
+ \__fontspec_setmonofont_hook:nn {#1} {#2}
+ \normalfont
+ }
+}{\@ifpackagelater{fontspec}{2018/07/29}{ %% 2.6h <= and <= 2.7c
\cs_set:Nn \__fontspec_main_setmainfont:nn
{
\fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
\normalfont
\ignorespaces
}
-}
+}}
\cs_set:Nn \fontspec_visible_space:
{