Compare commits

..

2 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
194b53ef9d QFontMetrics::xHeight() is not always the ascent of 'x'
Use the real ascent of glyph 'x' as LyX 2.3.x did.
It can make a difference at least on Windows with many fonts.

Fixes bug #13100.
2024-09-23 21:11:49 +02:00
Jean-Marc Lasgouttes
edf56d644d Do not use big characters for some unicode points
This modifies LOGICAL AND, LOGICAL OR, INTERSECTION and UNION.

Fixes bug #13099.
2024-09-23 19:42:29 +02:00
2 changed files with 7 additions and 6 deletions

View File

@ -2332,10 +2332,10 @@
0x2224 "" "" "force!=utf8x" "\\nmid" "" # DOES NOT DIVIDE # or "\\notdivides" "mathabx"
0x2225 "" "" "force!=utf8x" "\\parallel" "" # PARALLEL TO
0x2226 "" "" "force!=utf8x" "\\nparallel" "amssymb" # NOT PARALLEL TO
0x2227 "" "" "force!=utf8x" "\\bigwedge" "" # LOGICAL AND
0x2228 "" "" "force!=utf8x" "\\bigvee" "" # LOGICAL OR
0x2229 "" "" "force!=utf8x" "\\bigcap" # INTERSECTION
0x222a "" "" "force!=utf8x" "\\bigcup" "" # UNION
0x2227 "" "" "force!=utf8x" "\\wedge" "" # LOGICAL AND
0x2228 "" "" "force!=utf8x" "\\vee" "" # LOGICAL OR
0x2229 "" "" "force!=utf8x" "\\cap" # INTERSECTION
0x222a "" "" "force!=utf8x" "\\cup" "" # UNION
0x222b "" "" "force!=utf8x" "\\int" "esint" # INTEGRAL
0x222c "" "" "force!=utf8x" "\\iint" "esint|amsmath" # DOUBLE INTEGRAL
0x222d "" "" "force!=utf8x" "\\iiint" "esint|amsmath" # TRIPLE INTEGRAL

View File

@ -114,7 +114,7 @@ inline QChar const ucs4_to_qchar(char_type const ucs4)
GuiFontMetrics::GuiFontMetrics(QFont const & font)
: font_(font), metrics_(font, 0), xheight_(metrics_.xHeight()),
: font_(font), metrics_(font, 0), xheight_(-metrics_.boundingRect('x').top()),
strwidth_cache_(strwidth_cache_max_cost),
breakstr_cache_(breakstr_cache_max_cost),
qtextlayout_cache_(qtextlayout_cache_max_size)
@ -163,7 +163,8 @@ int GuiFontMetrics::em() const
int GuiFontMetrics::xHeight() const
{
// LATTEST(metrics_.xHeight() == ascent('x'));
// This is not alays true on Windows (see #13100).
// LATTEST(metrics_.xHeight() == ascent('x'));
return xheight_;
}