Addresses this issue: https://bugs.winehq.org/show_bug.cgi?id=53985#add_comment
This is done by adding three characters into Tahoma that are missing. I achieved this by replacing the characters with similar shape from within the same font (e.g. + for U+FF0B) or by getting the font from a font that had an open source license (liberation2) in the case of U+25BC.
Once I had that done, I regenerated the font by running the following command:
``` fontforge -script fonts/genttf.ff fonts/tahoma.sfd fonts/tahoma.ttf ```
The image below shows the issue as reported by gatlibs:
![before](/uploads/06b12db8b9cea75361ba4d7a5973a1e8/before.JPG)
The image below shows the fix:
![after](/uploads/258659f6b6d06ea97511015b8bb50286/after.JPG)
From: Joan sam@roque-worcel.com
--- fonts/tahoma.sfd | 215 ++++++++++++++++++++++++++++++++++++----------- fonts/tahoma.ttf | Bin 143884 -> 145776 bytes 2 files changed, 166 insertions(+), 49 deletions(-)
diff --git a/fonts/tahoma.sfd b/fonts/tahoma.sfd index 466f2504963..06b4b05a796 100644 --- a/fonts/tahoma.sfd +++ b/fonts/tahoma.sfd @@ -1,4 +1,4 @@ -SplineFontDB: 3.0 +SplineFontDB: 3.2 FontName: WineTahoma FullName: Tahoma FamilyName: Tahoma @@ -13,6 +13,7 @@ UnderlinePosition: -170 UnderlineWidth: 130 Ascent: 1638 Descent: 410 +InvalidEm: 0 LayerCount: 2 Layer: 0 0 "Back" 1 Layer: 1 0 "Fore" 0 @@ -21,6 +22,8 @@ FSType: 0 OS2Version: 2 OS2_WeightWidthSlopeOnly: 0 OS2_UseTypoMetrics: 1 +CreationTime: 1711961299 +ModificationTime: 1712137035 PfmFamily: 33 TTFWeight: 400 TTFWidth: 5 @@ -52,23 +55,23 @@ OS2StrikeYSize: 130 OS2StrikeYPos: 689 OS2FamilyClass: 2048 OS2Vendor: 'Wine' -Lookup: 4 0 1 "'liga' Standard Ligatures in Latin lookup 0" {"'liga' Standard Ligatures in Latin lookup 0 subtable" } ['liga' ('latn' <'dflt' > ) ] -Lookup: 4 0 0 "'frac' Diagonal Fractions in Latin lookup 1" {"'frac' Diagonal Fractions in Latin lookup 1 subtable" } ['frac' ('latn' <'dflt' > ) ] -Lookup: 1 9 0 "'fina' Terminal Forms in Arabic lookup 8" {"'fina' Terminal Forms in Arabic lookup 8 subtable" } ['fina' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 1 9 0 "'medi' Medial Forms in Arabic lookup 10" {"'medi' Medial Forms in Arabic lookup 10 subtable" } ['medi' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 1 9 0 "'init' Initial Forms in Arabic lookup 12" {"'init' Initial Forms in Arabic lookup 12 subtable" } ['init' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 4 1 1 "'rlig' Required Ligatures in Arabic lookup 13" {"'rlig' Required Ligatures in Arabic lookup 13 subtable" } ['rlig' ('arab' <'KUR ' 'dflt' > ) ] -Lookup: 4 1 1 "'rlig' Required Ligatures in Arabic lookup 14" {"'rlig' Required Ligatures in Arabic lookup 14 subtable" } ['rlig' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 4 9 1 "'rlig' Required Ligatures in Arabic lookup 15" {"'rlig' Required Ligatures in Arabic lookup 15 subtable" } ['rlig' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 4 9 1 "'liga' Standard Ligatures in Arabic lookup 16" {"'liga' Standard Ligatures in Arabic lookup 16 subtable" } ['liga' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 4 1 1 "'liga' Standard Ligatures in Arabic lookup 18" {"'liga' Standard Ligatures in Arabic lookup 18 subtable" } ['liga' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 258 0 0 "'kern' Horizontal Kerning in Latin lookup 0" {"'kern' Horizontal Kerning in Latin lookup 0 subtable" } ['kern' ('latn' <'dflt' > ) ] -Lookup: 262 1 0 "'mkmk' Mark to Mark in Arabic lookup 0" {"'mkmk' Mark to Mark in Arabic lookup 0 subtable" } ['mkmk' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 262 1 0 "'mkmk' Mark to Mark in Arabic lookup 1" {"'mkmk' Mark to Mark in Arabic lookup 1 subtable" } ['mkmk' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] -Lookup: 260 1 0 "'mark' Mark Positioning lookup 9" {"'mark' Mark Positioning lookup 9 subtable" } ['mark' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > 'hebr' <'dflt' > 'nko ' <'dflt' > ) ] -Lookup: 260 1 0 "'mark' Mark Positioning lookup 6" {"'mark' Mark Positioning lookup 6 subtable" } ['mark' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > 'hebr' <'dflt' > 'nko ' <'dflt' > ) ] -Lookup: 261 1 0 "'mark' Mark Positioning lookup 8" {"'mark' Mark Positioning lookup 8 subtable" } ['mark' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > 'hebr' <'dflt' > 'nko ' <'dflt' > ) ] -Lookup: 261 1 0 "'mark' Mark Positioning lookup 5" {"'mark' Mark Positioning lookup 5 subtable" } ['mark' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > 'hebr' <'dflt' > 'nko ' <'dflt' > ) ] +Lookup: 4 0 1 "'liga' Standard Ligatures in Latin lookup 0" { "'liga' Standard Ligatures in Latin lookup 0 subtable" } ['liga' ('latn' <'dflt' > ) ] +Lookup: 4 0 0 "'frac' Diagonal Fractions in Latin lookup 1" { "'frac' Diagonal Fractions in Latin lookup 1 subtable" } ['frac' ('latn' <'dflt' > ) ] +Lookup: 1 9 0 "'fina' Terminal Forms in Arabic lookup 8" { "'fina' Terminal Forms in Arabic lookup 8 subtable" } ['fina' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 1 9 0 "'medi' Medial Forms in Arabic lookup 10" { "'medi' Medial Forms in Arabic lookup 10 subtable" } ['medi' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 1 9 0 "'init' Initial Forms in Arabic lookup 12" { "'init' Initial Forms in Arabic lookup 12 subtable" } ['init' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 4 1 1 "'rlig' Required Ligatures in Arabic lookup 13" { "'rlig' Required Ligatures in Arabic lookup 13 subtable" } ['rlig' ('arab' <'KUR ' 'dflt' > ) ] +Lookup: 4 1 1 "'rlig' Required Ligatures in Arabic lookup 14" { "'rlig' Required Ligatures in Arabic lookup 14 subtable" } ['rlig' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 4 9 1 "'rlig' Required Ligatures in Arabic lookup 15" { "'rlig' Required Ligatures in Arabic lookup 15 subtable" } ['rlig' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 4 9 1 "'liga' Standard Ligatures in Arabic lookup 16" { "'liga' Standard Ligatures in Arabic lookup 16 subtable" } ['liga' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 4 1 1 "'liga' Standard Ligatures in Arabic lookup 18" { "'liga' Standard Ligatures in Arabic lookup 18 subtable" } ['liga' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 258 0 0 "'kern' Horizontal Kerning in Latin lookup 0" { "'kern' Horizontal Kerning in Latin lookup 0 subtable" } ['kern' ('latn' <'dflt' > ) ] +Lookup: 262 1 0 "'mkmk' Mark to Mark in Arabic lookup 0" { "'mkmk' Mark to Mark in Arabic lookup 0 subtable" } ['mkmk' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 262 1 0 "'mkmk' Mark to Mark in Arabic lookup 1" { "'mkmk' Mark to Mark in Arabic lookup 1 subtable" } ['mkmk' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > ) ] +Lookup: 260 1 0 "'mark' Mark Positioning lookup 9" { "'mark' Mark Positioning lookup 9 subtable" } ['mark' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > 'hebr' <'dflt' > 'nko ' <'dflt' > ) ] +Lookup: 260 1 0 "'mark' Mark Positioning lookup 6" { "'mark' Mark Positioning lookup 6 subtable" } ['mark' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > 'hebr' <'dflt' > 'nko ' <'dflt' > ) ] +Lookup: 261 1 0 "'mark' Mark Positioning lookup 8" { "'mark' Mark Positioning lookup 8 subtable" } ['mark' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > 'hebr' <'dflt' > 'nko ' <'dflt' > ) ] +Lookup: 261 1 0 "'mark' Mark Positioning lookup 5" { "'mark' Mark Positioning lookup 5 subtable" } ['mark' ('arab' <'KUR ' 'SND ' 'URD ' 'dflt' > 'hebr' <'dflt' > 'nko ' <'dflt' > ) ] DEI: 91125 ShortTable: cvt 2 68 @@ -111,7 +114,7 @@ NameList: Adobe Glyph List DisplaySize: 10 AntiAlias: 1 FitToEm: 1 -WinInfo: 760 40 14 +WinInfo: 9900 90 23 BeginPrivate: 10 BlueValues 27 [-30 0 1120 1177 1522 1522] OtherBlues 11 [-426 -426] @@ -126,7 +129,7 @@ ExpansionFactor 4 0.06 EndPrivate TeXData: 1 0 0 327680 163840 109226 571904 -1048576 109226 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144 AnchorClass2: "Anchor-6" "'mark' Mark Positioning lookup 5 subtable" "Anchor-9" "'mark' Mark Positioning lookup 8 subtable" "Anchor-7" "'mark' Mark Positioning lookup 6 subtable" "Anchor-10" "'mark' Mark Positioning lookup 9 subtable" "Anchor-1" "'mkmk' Mark to Mark in Arabic lookup 1 subtable" "Anchor-0" "'mkmk' Mark to Mark in Arabic lookup 0 subtable" -BeginChars: 65676 986 +BeginChars: 65676 989
StartChar: .notdef Encoding: 65536 -1 0 @@ -8540,7 +8543,7 @@ SplineSet 1071 1489 l 1 1071 178.5 l 1 1585.5 177 l 17 -1071 175 m 25 +1071 175 m 1049 EndSplineSet EndChar
@@ -8570,7 +8573,7 @@ SplineSet 1071 1489 l 1 1071 178.5 l 1 1586.5 177 l 17xf0 -1071 175 m 25 +1071 175 m 1049 EndSplineSet EndChar
@@ -8596,7 +8599,7 @@ SplineSet 350 1489 l 1 152 1489 l 1 152 0 l 1xe0 -350 175 m 25 +350 175 m 1049 EndSplineSet EndChar
@@ -10337,7 +10340,7 @@ SplineSet 1001 1120 l 1 1001 0 l 1 941.25 0 l 1xf4 -817.276 0 m 0 +817.276 0 m 1024 EndSplineSet EndChar
@@ -10574,23 +10577,23 @@ VStem: 152 198<0 775 824 1489> 1016 188<-336 1> LayerCount: 2 Fore SplineSet -1204 -336 m 5,0,-1 -152 0 m 1,1,-1 - 152 1489 l 1,2,-1 - 350 1489 l 1,3,-1 - 350 824 l 1,4,-1 - 960 1489 l 1,5,-1 - 1201 1489 l 1,6,-1 - 586 824 l 1,7,-1 - 1060 168 l 5,8,-1 - 1204 168 l 5,9,-1 - 1204 -336 l 5,10,-1 - 1016 -336 l 5,11,-1 - 1016 1 l 5,12,-1 - 926 1 l 5,13,-1 - 350 775 l 1,14,-1 - 350 0 l 1,15,-1 - 152 0 l 1,1,-1 +1204 -336 m 1029 +152 0 m 1 + 152 1489 l 1 + 350 1489 l 1 + 350 824 l 1 + 960 1489 l 1 + 1201 1489 l 1 + 586 824 l 1 + 1060 168 l 5 + 1204 168 l 5 + 1204 -336 l 5 + 1016 -336 l 5 + 1016 1 l 5 + 926 1 l 5 + 350 775 l 1 + 350 0 l 1 + 152 0 l 1 EndSplineSet EndChar
@@ -20288,8 +20291,74 @@ Refer: 455 1615 N 1 0 0 1 0 500 2 Ligature2: "'rlig' Required Ligatures in Arabic lookup 14 subtable" uni064F uni0654 Ligature2: "'rlig' Required Ligatures in Arabic lookup 14 subtable" uni0654 uni064F EndChar + +StartChar: uniFF0B +Encoding: 65291 65291 986 +Width: 1491 +Flags: W +HStem: 572 155<158 662 830 1334> +VStem: 662 168<67 572 727 1237> +LayerCount: 2 +Fore +SplineSet +662 1237 m 1 + 830 1237 l 1 + 830 727 l 1 + 1334 732 l 1 + 1334 572 l 1 + 830 572 l 1 + 829 67 l 1 + 662 67 l 1 + 662 572 l 1 + 158 572 l 1 + 158 732 l 1 + 662 727 l 1 + 662 1237 l 1 +EndSplineSet +EndChar + +StartChar: triagdn +Encoding: 9660 9660 987 +Width: 1491 +Flags: HW +HStem: 572 155<158 662 830 1334> +VStem: 662 168<67 572 727 1237> +LayerCount: 2 +Fore +SplineSet +1342 1171 m 1 + 744 -27 l 1 + 144 1171 l 1 + 1342 1171 l 1 +EndSplineSet +EndChar + +StartChar: uni2715 +Encoding: 10005 10005 988 +Width: 1014 +Flags: W +HStem: 0 21G<15 232 796 1013> 1100 20G<10 227> +VStem: 10 1003<1117 1120> +LayerCount: 2 +Fore +SplineSet +796 1117 m 1 + 1013 1117 l 1 + 633 575 l 1 + 1013 0 l 1 + 796 0 l 1 + 516 440 l 1 + 232 0 l 1 + 15 0 l 1 + 408 586 l 1 + 10 1120 l 1 + 227 1120 l 1 + 524 721 l 1 + 796 1117 l 1 +EndSplineSet +EndChar EndChars -BitmapFont: 8 987 6 2 1 +BitmapFont: 8 990 6 2 1 BDFChar: 0 65536 8 1 7 0 6 IY*0'JqAFO BDFChar: 1 32 2 0 0 0 0 @@ -21186,8 +21255,14 @@ BDFChar: 446 1210 4 1 4 0 5 J=uCnOH9GB BDFChar: 447 1211 4 1 4 0 4 J=r!cO8o7\ +BDFChar: 986 65291 6 1 5 1 4 ++S['% +BDFChar: 987 9660 6 1 5 1 4 ++S['% +BDFChar: 988 10005 4 0 2 0 3 +TKkc8 EndBitmapFont -BitmapFont: 9 987 7 2 1 +BitmapFont: 9 990 7 2 1 BDFChar: 0 65536 9 1 7 0 6 rdo`RJqEt% BDFChar: 1 32 3 0 0 0 0 @@ -22084,8 +22159,14 @@ BDFChar: 446 1210 5 0 3 0 5 J:QR>OH9GB BDFChar: 447 1211 5 0 3 0 4 J:QR>O8o7\ +BDFChar: 986 65291 7 1 5 0 4 ++<^G%+92BA +BDFChar: 987 9660 7 1 5 0 4 ++<^G%+92BA +BDFChar: 988 10005 4 0 2 0 4 +TV+QCTE"rl EndBitmapFont -BitmapFont: 10 987 8 2 1 +BitmapFont: 10 990 8 2 1 BDFChar: 0 65536 10 1 8 0 7 s+,`PJUrCP BDFChar: 1 32 3 0 0 0 0 @@ -22982,8 +23063,14 @@ BDFChar: 446 1210 6 0 4 0 6 J:R-FLkpie BDFChar: 447 1211 6 0 4 0 6 J:R-FLkpie +BDFChar: 986 65291 7 1 5 1 5 ++<^G%+92BA +BDFChar: 987 9660 7 0 6 2 5 +rd6[: +BDFChar: 988 10005 5 0 3 0 4 +OC2I(O8o7\ EndBitmapFont -BitmapFont: 11 987 9 2 1 FontForge +BitmapFont: 11 990 9 2 1 FontForge BDFStartProperties: 36 FONT 1 "-FontForge-Tahoma-Normal-R-Normal--11-80-96-96-P-62-ISO10646-1" FONTBOUNDINGBOX 1 "15 11 0 -2" @@ -23915,8 +24002,14 @@ BDFChar: 446 1210 6 0 4 0 7 J:N0SaG>Y. BDFChar: 447 1211 6 0 4 0 6 J:N1>Lkpie +BDFChar: 986 65291 8 0 6 0 6 +&.fEP&.fBQ +BDFChar: 987 9660 8 0 6 0 6 +&.fEP&.fBQ +BDFChar: 988 10005 6 0 4 0 5 +Leo3::l#)O EndBitmapFont -BitmapFont: 12 987 10 2 1 FontForge +BitmapFont: 12 990 10 2 1 FontForge BDFStartProperties: 36 FONT 1 "-FontForge-Tahoma-Normal-R-Normal--12-90-96-96-P-70-ISO10646-1" FONTBOUNDINGBOX 1 "16 12 0 -2" @@ -24648,8 +24741,14 @@ BDFChar: 446 1210 7 0 5 0 8 J:N0[`.WesKE(uP BDFChar: 447 1211 7 0 5 0 7 J:N0[`.Wes +BDFChar: 986 65291 8 0 6 0 6 +&.fEP&.fBQ +BDFChar: 987 9660 8 0 6 0 6 +&.fEP&.fBQ +BDFChar: 988 10005 6 0 4 0 6 +Lepnj:f)rJ EndBitmapFont -BitmapFont: 13 987 10 3 1 FontForge +BitmapFont: 13 990 10 3 1 FontForge BDFStartProperties: 36 FONT 1 "-FontForge-Tahoma-Normal-R-Normal--13-100-96-96-P-73-ISO10646-1" FONTBOUNDINGBOX 1 "15 13 0 -3" @@ -25381,8 +25480,14 @@ BDFChar: 446 1210 7 0 5 0 8 J:N0[`.WesKE(uP BDFChar: 447 1211 7 0 5 0 7 J:N0[`.Wes +BDFChar: 986 65291 8 0 6 1 7 +&.fEP&.fBQ +BDFChar: 987 9660 8 0 6 1 7 +&.fEP&.fBQ +BDFChar: 988 10005 6 0 4 0 6 +Lepnj:f)rJ EndBitmapFont -BitmapFont: 15 987 12 3 1 FontForge +BitmapFont: 15 990 12 3 1 FontForge BDFStartProperties: 36 FONT 1 "-FontForge-Tahoma-Normal-R-Normal--15-110-96-96-P-85-ISO10646-1" FONTBOUNDINGBOX 1 "19 15 0 -3" @@ -26114,8 +26219,14 @@ BDFChar: 446 1210 8 0 6 0 10 J:N0#]Y]8PJqARS BDFChar: 447 1211 8 0 6 0 9 J:N0#]Y]8PJq<t& +BDFChar: 986 65291 11 1 9 0 8 +#QP,1#QP,1s*t@T#QP,1#QOi) +BDFChar: 987 9660 11 1 9 0 8 +#QP,1#QP,1s*t@T#QP,1#QOi) +BDFChar: 988 10005 8 0 6 0 7 +Jj_!u&1Bqu EndBitmapFont -BitmapFont: 16 987 13 3 1 FontForge +BitmapFont: 16 990 13 3 1 FontForge BDFStartProperties: 36 FONT 1 "-FontForge-Tahoma-Normal-R-Normal--16-120-96-96-P-93-ISO10646-1" FONTBOUNDINGBOX 1 "21 16 0 -3" @@ -26847,5 +26958,11 @@ BDFChar: 446 1210 9 0 7 0 11 J:N0#J@raMJUrB' BDFChar: 447 1211 9 0 6 0 9 J:N0#\AWuNJq<t& +BDFChar: 986 65291 12 1 9 1 9 +#QP,1#QP,1s*t@T#QP,1#QOi) +BDFChar: 987 9660 12 1 9 1 9 +#QP,1#QP,1s*t@T#QP,1#QOi) +BDFChar: 988 10005 8 0 6 0 8 +Jj_"8&1AqpJcGcN EndBitmapFont EndSplineFont diff --git a/fonts/tahoma.ttf b/fonts/tahoma.ttf index 8bee8ad35c8e8b1f71b97c8117e1c57282b233ce..d483366c4d739df97b0f8e25b66c11d11651875b 100644 GIT binary patch delta 18360 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 X&G#zKEEyYa)IOl-D!-cjmoong=E)en
delta 16717 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
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=144597
Your paranoid android.
=== debian11b (64 bit WoW report) ===
dwrite: font.c:2260: Test failed: lineGap 59 font.c:2277: Test failed: lineGap 59 font.c:2296: Test failed: lineGap 59 font.c:2313: Test failed: hasTypographicMetrics 1 font.c:2324: Test failed: lineGap 59 font.c:2341: Test failed: hasTypographicMetrics 1 layout.c:4762: Test failed: got 9.521484, baseline 9.175781 layout.c:4780: Test failed: 1: got 9.500000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 1: got 9.500000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 1: got 9.500000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 1: got 9.500000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 1: got 9.500000, expected 9.000000, baseline 9.175781 layout.c:4780: Test failed: 2: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 2: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 2: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 2: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 2: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4780: Test failed: 3: got 10.000000, expected 8.888889, baseline 9.175781 layout.c:4794: Test failed: 3: got 10.000000, expected 8.888889, baseline 9.175781 layout.c:4794: Test failed: 3: got 10.000000, expected 8.888889, baseline 9.175781 layout.c:4794: Test failed: 3: got 10.000000, expected 8.888889, baseline 9.175781 layout.c:4794: Test failed: 3: got 10.000000, expected 8.888889, baseline 9.175781 layout.c:4780: Test failed: 4: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 4: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 4: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 4: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 4: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4780: Test failed: 5: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 5: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 5: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 5: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 5: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4780: Test failed: 6: got 9.700000, expected 8.700000, baseline 9.175781 layout.c:4794: Test failed: 6: got 9.700000, expected 8.700000, baseline 9.175781 layout.c:4794: Test failed: 6: got 9.700000, expected 8.700000, baseline 9.175781 layout.c:4794: Test failed: 6: got 9.700000, expected 8.700000, baseline 9.175781 layout.c:4794: Test failed: 6: got 9.700000, expected 8.700000, baseline 9.175781 layout.c:4780: Test failed: 7: got 9.500000, expected 9.200000, baseline 9.175781 layout.c:4794: Test failed: 7: got 9.500000, expected 9.200000, baseline 9.175781 layout.c:4794: Test failed: 7: got 9.500000, expected 9.200000, baseline 9.175781 layout.c:4794: Test failed: 7: got 9.500000, expected 9.200000, baseline 9.175781 layout.c:4794: Test failed: 7: got 9.500000, expected 9.200000, baseline 9.175781 layout.c:4780: Test failed: 8: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4794: Test failed: 8: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4794: Test failed: 8: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4794: Test failed: 8: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4794: Test failed: 8: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4780: Test failed: 9: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 9: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 9: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 9: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 9: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4780: Test failed: 11: got 10.400000, expected 8.400000, baseline 9.175781 layout.c:4794: Test failed: 11: got 10.400000, expected 8.400000, baseline 9.175781 layout.c:4794: Test failed: 11: got 10.400000, expected 8.400000, baseline 9.175781 layout.c:4794: Test failed: 11: got 10.400000, expected 8.400000, baseline 9.175781 layout.c:4794: Test failed: 11: got 10.400000, expected 8.400000, baseline 9.175781 layout.c:4780: Test failed: 12: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 12: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 12: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 12: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 12: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4780: Test failed: 13: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 13: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 13: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 13: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 13: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4780: Test failed: 14: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 14: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 14: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 14: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 14: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4780: Test failed: 15: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 15: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 15: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 15: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4794: Test failed: 15: got 9.521484, expected 9.175781, baseline 9.175781 layout.c:4780: Test failed: 16: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4794: Test failed: 16: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4794: Test failed: 16: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4794: Test failed: 16: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4794: Test failed: 16: got 9.520000, expected 9.180000, baseline 9.175781 layout.c:4780: Test failed: 19: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 19: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 19: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 19: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 19: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4780: Test failed: 20: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 20: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 20: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 20: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 20: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4780: Test failed: 21: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 21: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 21: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 21: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 21: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4780: Test failed: 23: got 9.570000, expected 9.170000, baseline 9.175781 layout.c:4794: Test failed: 23: got 9.570000, expected 9.170000, baseline 9.175781 layout.c:4794: Test failed: 23: got 9.570000, expected 9.170000, baseline 9.175781 layout.c:4794: Test failed: 23: got 9.570000, expected 9.170000, baseline 9.175781 layout.c:4794: Test failed: 23: got 9.570000, expected 9.170000, baseline 9.175781 layout.c:4780: Test failed: 24: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 24: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 24: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 24: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4794: Test failed: 24: got 9.800000, expected 8.800000, baseline 9.175781 layout.c:4780: Test failed: 25: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 25: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 25: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 25: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4794: Test failed: 25: got 10.000000, expected 9.000000, baseline 9.175781 layout.c:4780: Test failed: 26: got 9.526000, expected 9.166000, baseline 9.175781 layout.c:4794: Test failed: 26: got 9.526000, expected 9.166000, baseline 9.175781 layout.c:4794: Test failed: 26: got 9.526000, expected 9.166000, baseline 9.175781 layout.c:4794: Test failed: 26: got 9.526000, expected 9.166000, baseline 9.175781 layout.c:4794: Test failed: 26: got 9.526000, expected 9.166000, baseline 9.175781 layout.c:4780: Test failed: 27: got 9.522000, expected 9.182000, baseline 9.175781 layout.c:4794: Test failed: 27: got 9.522000, expected 9.182000, baseline 9.175781 layout.c:4794: Test failed: 27: got 9.522000, expected 9.182000, baseline 9.175781 layout.c:4794: Test failed: 27: got 9.522000, expected 9.182000, baseline 9.175781 layout.c:4794: Test failed: 27: got 9.522000, expected 9.182000, baseline 9.175781
user32: win.c:10345: Test failed: Timed out waiting for the child process
I don't see 0xFF0B or 0x2715 available in Tahoma font on Windows.
On Wed Apr 3 20:52:54 2024 +0000, Nikolay Sivov wrote:
I don't see 0xFF0B or 0x2715 available in Tahoma font on Windows.
Correct! In Windows, these are missing in Tahoma, but are present in MS Gothic.
Things I considered doing:
- I attempted to find a suitable, metric-compatible font capable of replacing MS Gothic but it is very particular, and nothing fits the bill - I thought about creating a metric compatible font, but I'm not sure that this approach would be the best as it is very time consuming. - I thought about creating a bare-bones font and shipping it with Wine, which contains only these three glyphs. This would potentially break Wine for users who have installed Microsoft's font, depending of the order of precedence in font loading (I'm not sure about this one)
So as a workaround, I added them to Tahoma which doesn't have any of those disadvantages. If you can suggest a better approach though please let me know and I will look into it.