summaryrefslogtreecommitdiff
path: root/source/luametatex/source/tex/texrules.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/tex/texrules.c')
-rw-r--r--source/luametatex/source/tex/texrules.c11
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;