diff options
Diffstat (limited to 'source/luametatex/source/tex/texrules.c')
-rw-r--r-- | source/luametatex/source/tex/texrules.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/source/luametatex/source/tex/texrules.c b/source/luametatex/source/tex/texrules.c index 768f640b1..1d272f89e 100644 --- a/source/luametatex/source/tex/texrules.c +++ b/source/luametatex/source/tex/texrules.c @@ -187,15 +187,14 @@ void tex_aux_check_text_strut_rule(halfword rule, halfword style) halfword fnt = tex_get_rule_font(rule, style); halfword chr = rule_character(rule); if (fnt > 0 && chr && tex_char_exists(fnt, chr)) { + scaledwhd whd = tex_char_whd_from_font(fnt, chr); if (ht == null_flag) { - ht = tex_char_height_from_font(fnt, chr); + rule_height(rule) = whd.ht; } if (dp == null_flag) { - dp = tex_char_depth_from_font(fnt, chr); + rule_depth(rule) = whd.dp; } } - rule_height(rule) = ht; - rule_depth(rule) = dp; } } } @@ -203,7 +202,7 @@ void tex_aux_check_text_strut_rule(halfword rule, halfword style) halfword tex_get_rule_font(halfword n, halfword style) { halfword fnt = rule_font(n); - if (fnt > rule_font_fam_offset) { + if (fnt >= rule_font_fam_offset) { halfword fam = fnt - rule_font_fam_offset; if (fam_par_in_range(fam)) { fnt = tex_fam_fnt(fam, tex_size_of_style(style)); @@ -219,7 +218,7 @@ halfword tex_get_rule_font(halfword n, halfword style) halfword tex_get_rule_family(halfword n) { halfword fnt = rule_font(n); - if (fnt > rule_font_fam_offset) { + if (fnt >= rule_font_fam_offset) { halfword fam = fnt - rule_font_fam_offset; if (fam_par_in_range(fam)) { return fam; |