From b2dbd21c0ce431f9970460bcb06fb74490907149 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 23 Jan 2026 17:41:29 +1000 Subject: [PATCH 1/4] Do not use pedantic hinting. --- .../TrueType/Hinting/TrueTypeInterpreter.cs | 29 ++++---- .../Test_Issue_493_MgOpenCanonic-.png | 3 + .../ReferenceOutput/Test_Issue_493_Ogham-.png | 3 + .../ReferenceOutput/Test_Issue_493_Runic-.png | 3 + .../Fonts/NotoSansOgham-Regular.ttf | Bin 0 -> 47312 bytes .../Fonts/NotoSansRunic-Regular.ttf | Bin 0 -> 55528 bytes .../Fonts/mgopencanonicaregular.ttf | Bin 0 -> 281580 bytes .../Issues/Issues_493.cs | 63 ++++++++++++++++++ tests/SixLabors.Fonts.Tests/TestFonts.cs | 6 ++ 9 files changed, 90 insertions(+), 17 deletions(-) create mode 100644 tests/Images/ReferenceOutput/Test_Issue_493_MgOpenCanonic-.png create mode 100644 tests/Images/ReferenceOutput/Test_Issue_493_Ogham-.png create mode 100644 tests/Images/ReferenceOutput/Test_Issue_493_Runic-.png create mode 100644 tests/SixLabors.Fonts.Tests/Fonts/NotoSansOgham-Regular.ttf create mode 100644 tests/SixLabors.Fonts.Tests/Fonts/NotoSansRunic-Regular.ttf create mode 100644 tests/SixLabors.Fonts.Tests/Fonts/mgopencanonicaregular.ttf create mode 100644 tests/SixLabors.Fonts.Tests/Issues/Issues_493.cs diff --git a/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs b/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs index 76a83a33..6088e4f2 100644 --- a/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs +++ b/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs @@ -66,7 +66,7 @@ internal class TrueTypeInterpreter private const int MaxCallStack = 128; private const float Epsilon = 0.000001F; - private readonly List debugList = new(); + private readonly List debugList = []; public TrueTypeInterpreter(int maxStack, int maxStorage, int maxFunctions, int maxInstructionDefs, int maxTwilightPoints) { @@ -77,7 +77,7 @@ public TrueTypeInterpreter(int maxStack, int maxStorage, int maxFunctions, int m this.state = default; this.cvtState = default; this.twilight = new Zone(maxTwilightPoints, isTwilight: true); - this.controlValueTable = Array.Empty(); + this.controlValueTable = []; this.contours = Array.Empty(); } @@ -97,7 +97,6 @@ public void SetControlValueTable(short[]? cvt, float scale, float ppem, byte[]? this.controlValueTable = new float[cvt.Length]; } - // TODO: How about SIMD here? Will the JIT vectorize this? for (int i = 0; i < cvt.Length; i++) { this.controlValueTable[i] = cvt[i] * scale; @@ -227,7 +226,7 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF // ==== STORAGE MANAGEMENT ==== case OpCode.RS: { - int loc = CheckIndex(this.stack.Pop(), this.storage.Length); + int loc = IndexOrZero(this.stack.Pop(), this.storage.Length); this.stack.Push(this.storage[loc]); } @@ -235,7 +234,7 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF case OpCode.WS: { int value = this.stack.Pop(); - int loc = CheckIndex(this.stack.Pop(), this.storage.Length); + int loc = IndexOrZero(this.stack.Pop(), this.storage.Length); this.storage[loc] = value; } @@ -245,7 +244,7 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF case OpCode.WCVTP: { float value = this.stack.PopFloat(); - int loc = CheckIndex(this.stack.Pop(), this.controlValueTable.Length); + int loc = IndexOrZero(this.stack.Pop(), this.controlValueTable.Length); this.controlValueTable[loc] = value; } @@ -253,7 +252,7 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF case OpCode.WCVTF: { int value = this.stack.Pop(); - int loc = CheckIndex(this.stack.Pop(), this.controlValueTable.Length); + int loc = IndexOrZero(this.stack.Pop(), this.controlValueTable.Length); this.controlValueTable[loc] = value * this.scale; } @@ -316,7 +315,7 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF { int y = this.stack.Pop(); int x = this.stack.Pop(); - var vec = Vector2.Normalize(new Vector2(F2Dot14ToFloat(x), F2Dot14ToFloat(y))); + Vector2 vec = Vector2.Normalize(new Vector2(F2Dot14ToFloat(x), F2Dot14ToFloat(y))); if (opcode == OpCode.SFVFS) { this.state.Freedom = vec; @@ -1379,8 +1378,8 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF amount *= 1 << (6 - this.state.DeltaShift); // update the CVT - CheckIndex(cvtIndex, this.controlValueTable.Length); - this.controlValueTable[cvtIndex] += F26Dot6ToFloat(amount); + int loc = IndexOrZero(cvtIndex, this.controlValueTable.Length); + this.controlValueTable[loc] += F26Dot6ToFloat(amount); } } } @@ -1504,13 +1503,9 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF } } - private static int CheckIndex(int index, int length) - { - Guard.MustBeBetweenOrEqualTo(index, 0, length - 1, nameof(index)); - return index; - } + private static int IndexOrZero(int index, int length) => (uint)index < (uint)length ? index : 0; - private float ReadCvt() => this.controlValueTable[CheckIndex(this.stack.Pop(), this.controlValueTable.Length)]; + private float ReadCvt() => this.controlValueTable[IndexOrZero(this.stack.Pop(), this.controlValueTable.Length)]; private void OnVectorsUpdated() { @@ -2474,7 +2469,7 @@ public Zone(ControlPoint[] controlPoints, bool isTwilight) this.IsTwilight = isTwilight; this.Current = controlPoints; - var original = new ControlPoint[controlPoints.Length]; + ControlPoint[] original = new ControlPoint[controlPoints.Length]; controlPoints.AsSpan().CopyTo(original); this.Original = original; this.TouchState = new TouchState[controlPoints.Length]; diff --git a/tests/Images/ReferenceOutput/Test_Issue_493_MgOpenCanonic-.png b/tests/Images/ReferenceOutput/Test_Issue_493_MgOpenCanonic-.png new file mode 100644 index 00000000..217753fd --- /dev/null +++ b/tests/Images/ReferenceOutput/Test_Issue_493_MgOpenCanonic-.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc4d764fe27b31153083435bc7c6c7e3c2d1d2d2cd6fc03aa104be0cc560a63a +size 9139 diff --git a/tests/Images/ReferenceOutput/Test_Issue_493_Ogham-.png b/tests/Images/ReferenceOutput/Test_Issue_493_Ogham-.png new file mode 100644 index 00000000..b9715129 --- /dev/null +++ b/tests/Images/ReferenceOutput/Test_Issue_493_Ogham-.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adfc3d6a63f859fc558ac3ef92a229b8b2b63166abb45b33ec2757d10f5b23d1 +size 3887 diff --git a/tests/Images/ReferenceOutput/Test_Issue_493_Runic-.png b/tests/Images/ReferenceOutput/Test_Issue_493_Runic-.png new file mode 100644 index 00000000..f007d2ff --- /dev/null +++ b/tests/Images/ReferenceOutput/Test_Issue_493_Runic-.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:784587ae7db9954498074624648af849391ee3e9652a02368e155cf49e340759 +size 4734 diff --git a/tests/SixLabors.Fonts.Tests/Fonts/NotoSansOgham-Regular.ttf b/tests/SixLabors.Fonts.Tests/Fonts/NotoSansOgham-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4ac99980ca191411895e7b1f4b79e0e56634dbdf GIT binary patch literal 47312 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�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 SVP|-r5uE*CfJEY35dIe!gs~|A literal 0 HcmV?d00001 diff --git a/tests/SixLabors.Fonts.Tests/Fonts/NotoSansRunic-Regular.ttf b/tests/SixLabors.Fonts.Tests/Fonts/NotoSansRunic-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d99c098aeec9ab5900399082c469438794fa2b4e GIT binary patch literal 55528 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

}t&?G0q( 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%0Dm;PB7p+tvCJ4+s6twkY8@Jcs_ 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%0D5Kqe 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 T@bk2XH?O})dtqm4>TLM`on)P# literal 0 HcmV?d00001 diff --git a/tests/SixLabors.Fonts.Tests/Issues/Issues_493.cs b/tests/SixLabors.Fonts.Tests/Issues/Issues_493.cs new file mode 100644 index 00000000..4bffc622 --- /dev/null +++ b/tests/SixLabors.Fonts.Tests/Issues/Issues_493.cs @@ -0,0 +1,63 @@ +// Copyright (c) Six Labors. +// Licensed under the Six Labors Split License. + +namespace SixLabors.Fonts.Tests.Issues; + +public class Issues_493 +{ + [Fact] + public void Test_Issue_493_Ogham() + { + const string text = + """ + Ogham + ᚛ᚐᚅᚋᚐᚇᚐᚅᚈᚐ᚜ + """; + + FontCollection fontCollection = new(); + string name = fontCollection.Add(TestFonts.NotoSansOghamRegular).Name; + + FontFamily mainFontFamily = fontCollection.Get(name); + Font mainFont = mainFontFamily.CreateFont(30, FontStyle.Regular); + + TextOptions options = new(mainFont) { HintingMode = HintingMode.Standard }; + + TextLayoutTestUtilities.TestLayout(text, options); + } + + [Fact] + public void Test_Issue_493_Runic() + { + const string text = + """ + Runic + ᚦᛖᚱᛅᛈᛁᛑᛒᚱᚢᚾᚠᛅᚢᛋ + """; + + FontCollection fontCollection = new(); + string name = fontCollection.Add(TestFonts.NotoSansRunicRegular).Name; + + FontFamily mainFontFamily = fontCollection.Get(name); + Font mainFont = mainFontFamily.CreateFont(30, FontStyle.Regular); + + TextOptions options = new(mainFont) { HintingMode = HintingMode.Standard }; + + TextLayoutTestUtilities.TestLayout(text, options); + } + + [Fact] + public void Test_Issue_493_MgOpenCanonic() + { + const string text = "the quick brown fox jumps over the lazy dog"; + + FontCollection fontCollection = new(); + string name = fontCollection.Add(TestFonts.NotoSansRunicRegular).Name; + + FontFamily mainFontFamily = fontCollection.Get(name); + Font mainFont = mainFontFamily.CreateFont(30, FontStyle.Regular); + + TextOptions options = new(mainFont) { HintingMode = HintingMode.Standard }; + + TextLayoutTestUtilities.TestLayout(text, options); + } +} diff --git a/tests/SixLabors.Fonts.Tests/TestFonts.cs b/tests/SixLabors.Fonts.Tests/TestFonts.cs index 8665356b..ffa61072 100644 --- a/tests/SixLabors.Fonts.Tests/TestFonts.cs +++ b/tests/SixLabors.Fonts.Tests/TestFonts.cs @@ -305,6 +305,12 @@ public static class TestFonts public static string MyanmarSansRegular => GetFullPath("NotoSansMyanmar-Regular.ttf"); + public static string NotoSansOghamRegular => GetFullPath("NotoSansOgham-Regular.ttf"); + + public static string NotoSansRunicRegular => GetFullPath("NotoSansRunic-Regular.ttf"); + + public static string MgOpenCanonicRegular => GetFullPath("mgopencanonicaregular.ttf"); + public static Stream TwemojiMozillaData() => OpenStream(TwemojiMozillaFile); public static Stream SegoeuiEmojiData() => OpenStream(SegoeuiEmojiFile); From 28ca2e07157f78bca35cd15f836964f3992d1624 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 23 Jan 2026 18:31:26 +1000 Subject: [PATCH 2/4] Push 0 not zero index --- .../TrueType/Hinting/TrueTypeInterpreter.cs | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs b/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs index 6088e4f2..448032d6 100644 --- a/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs +++ b/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs @@ -226,16 +226,19 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF // ==== STORAGE MANAGEMENT ==== case OpCode.RS: { - int loc = IndexOrZero(this.stack.Pop(), this.storage.Length); - this.stack.Push(this.storage[loc]); + int loc = this.stack.Pop(); + this.stack.Push((uint)loc < (uint)this.storage.Length ? this.storage[loc] : 0); } break; case OpCode.WS: { int value = this.stack.Pop(); - int loc = IndexOrZero(this.stack.Pop(), this.storage.Length); - this.storage[loc] = value; + int loc = this.stack.Pop(); + if ((uint)loc < (uint)this.storage.Length) + { + this.storage[loc] = value; + } } break; @@ -244,16 +247,22 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF case OpCode.WCVTP: { float value = this.stack.PopFloat(); - int loc = IndexOrZero(this.stack.Pop(), this.controlValueTable.Length); - this.controlValueTable[loc] = value; + int loc = this.stack.Pop(); + if ((uint)loc < (uint)this.controlValueTable.Length) + { + this.controlValueTable[loc] = value; + } } break; case OpCode.WCVTF: { int value = this.stack.Pop(); - int loc = IndexOrZero(this.stack.Pop(), this.controlValueTable.Length); - this.controlValueTable[loc] = value * this.scale; + int loc = this.stack.Pop(); + if ((uint)loc < (uint)this.controlValueTable.Length) + { + this.controlValueTable[loc] = value * this.scale; + } } break; @@ -1378,8 +1387,10 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF amount *= 1 << (6 - this.state.DeltaShift); // update the CVT - int loc = IndexOrZero(cvtIndex, this.controlValueTable.Length); - this.controlValueTable[loc] += F26Dot6ToFloat(amount); + if ((uint)cvtIndex < (uint)this.controlValueTable.Length) + { + this.controlValueTable[cvtIndex] += F26Dot6ToFloat(amount); + } } } } @@ -1503,9 +1514,13 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF } } - private static int IndexOrZero(int index, int length) => (uint)index < (uint)length ? index : 0; - - private float ReadCvt() => this.controlValueTable[IndexOrZero(this.stack.Pop(), this.controlValueTable.Length)]; + private float ReadCvt() + { + int index = this.stack.Pop(); + return (uint)index < (uint)this.controlValueTable.Length + ? this.controlValueTable[index] + : 0F; + } private void OnVectorsUpdated() { From e13d2559ad8586d05600596c6e964722b4482269 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sat, 24 Jan 2026 14:43:32 +1000 Subject: [PATCH 3/4] Use a combination of exception handling and compatibility lists for tricky fonts --- .../Tables/TrueType/Glyphs/GlyphVector.cs | 9 +- .../TrueType/Hinting/TrueTypeInterpreter.cs | 221 ++++++++++++------ ...TrueTypeGlyphMetrics.CompatibilityLists.cs | 111 +++++++++ .../Tables/TrueType/TrueTypeGlyphMetrics.cs | 4 +- .../Test_Hinting_Robustness_-Arial-.png | 4 +- ...Test_Hinting_Robustness_-OpenSansFile-.png | 4 +- .../Test_Hinting_Robustness_-Tahoma-.png | 4 +- .../Test_Issue_493_MgOpenCanonic-.png | 4 +- .../ReferenceOutput/Test_Issue_493_Ogham-.png | 4 +- .../ReferenceOutput/Test_Issue_493_Runic-.png | 4 +- .../Issues/Issues_493.cs | 2 +- 11 files changed, 284 insertions(+), 87 deletions(-) create mode 100644 src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs diff --git a/src/SixLabors.Fonts/Tables/TrueType/Glyphs/GlyphVector.cs b/src/SixLabors.Fonts/Tables/TrueType/Glyphs/GlyphVector.cs index ea05cecd..efca7c72 100644 --- a/src/SixLabors.Fonts/Tables/TrueType/Glyphs/GlyphVector.cs +++ b/src/SixLabors.Fonts/Tables/TrueType/Glyphs/GlyphVector.cs @@ -92,11 +92,12 @@ public static void Hint( controlPoints[i] = glyph.ControlPoints[i]; } - interpreter.HintGlyph(controlPoints, glyph.EndPoints, glyph.Instructions, glyph.IsComposite); - - for (int i = 0; i < glyph.ControlPoints.Count; i++) + if (interpreter.TryHintGlyph(controlPoints, glyph.EndPoints, glyph.Instructions, glyph.IsComposite)) { - glyph.ControlPoints[i] = controlPoints[i]; + for (int i = 0; i < glyph.ControlPoints.Count; i++) + { + glyph.ControlPoints[i] = controlPoints[i]; + } } } diff --git a/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs b/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs index 448032d6..f08e2406 100644 --- a/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs +++ b/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs @@ -41,6 +41,7 @@ internal class TrueTypeInterpreter private readonly ExecutionStack stack; private readonly InstructionStream[] functions; private readonly InstructionStream[] instructionDefs; + private float[] baseControlValueTable; private float[] controlValueTable; private readonly int[] storage; private IReadOnlyList contours; @@ -66,7 +67,9 @@ internal class TrueTypeInterpreter private const int MaxCallStack = 128; private const float Epsilon = 0.000001F; +#if DEBUG private readonly List debugList = []; +#endif public TrueTypeInterpreter(int maxStack, int maxStorage, int maxFunctions, int maxInstructionDefs, int maxTwilightPoints) { @@ -78,6 +81,7 @@ public TrueTypeInterpreter(int maxStack, int maxStorage, int maxFunctions, int m this.cvtState = default; this.twilight = new Zone(maxTwilightPoints, isTwilight: true); this.controlValueTable = []; + this.baseControlValueTable = []; this.contours = Array.Empty(); } @@ -129,9 +133,36 @@ public void SetControlValueTable(short[]? cvt, float scale, float ppem, byte[]? this.cvtState.Loop = 1; } } + + if (this.controlValueTable.Length > 0) + { + if (this.baseControlValueTable.Length != this.controlValueTable.Length) + { + this.baseControlValueTable = new float[this.controlValueTable.Length]; + } + + Array.Copy(this.controlValueTable, this.baseControlValueTable, this.controlValueTable.Length); + } + else + { + this.baseControlValueTable = []; + } } - public void HintGlyph( + ///

+ /// Attempts to apply TrueType hinting instructions to the specified glyph outline. + /// + /// + /// Hinting will not be applied if the instructions buffer is empty or if grid fitting is + /// inhibited by the current interpreter state. If the instructions are malformed or an error occurs during + /// execution, the method returns and the glyph outline remains unhinted. + /// + /// An array of control points representing the glyph's outline to be hinted. + /// A read-only list of indices indicating the end points of each contour in the glyph. + /// A read-only memory buffer containing the TrueType hinting instructions to execute. + /// Indicates whether the glyph is a composite glyph. Set to for composite glyphs; otherwise, . + /// if hinting was successfully applied; otherwise, . + public bool TryHintGlyph( ControlPoint[] controlPoints, IReadOnlyList endPoints, ReadOnlyMemory instructions, @@ -139,41 +170,105 @@ public void HintGlyph( { if (instructions.Length == 0) { - return; + return false; } - // check if the CVT program disabled hinting + // Check if the CVT program disabled hinting if ((this.state.InstructionControl & InstructionControlFlags.InhibitGridFitting) != 0) { - return; + return false; } - // save contours and points - this.contours = endPoints; - this.zp0 = this.zp1 = this.zp2 = this.points = new Zone(controlPoints, isTwilight: false); + try + { + // Save contours and points + this.contours = endPoints; + this.zp0 = this.zp1 = this.zp2 = this.points = new Zone(controlPoints, isTwilight: false); + + // reset all of our shared state + this.state = this.cvtState; + this.callStackSize = 0; - // reset all of our shared state - this.state = this.cvtState; - this.callStackSize = 0; - this.debugList.Clear(); - this.stack.Clear(); - this.OnVectorsUpdated(); - this.iupXCalled = false; - this.iupYCalled = false; - this.isComposite = isComposite; + // FreeType's interpreter treats the storage area and glyph-level CVT modifications as non-persistent. + // Reset storage and restore the baseline CVT state for each glyph. + Array.Clear(this.storage); - // normalize the round state settings - switch (this.state.RoundState) + if (this.baseControlValueTable.Length > 0) + { + if (this.controlValueTable.Length != this.baseControlValueTable.Length) + { + this.controlValueTable = new float[this.baseControlValueTable.Length]; + } + + Array.Copy(this.baseControlValueTable, this.controlValueTable, this.baseControlValueTable.Length); + } + else + { + this.controlValueTable = []; + } + + this.ResetTwilightZone(); + +#if DEBUG + this.debugList.Clear(); +#endif + + this.stack.Clear(); + this.OnVectorsUpdated(); + this.iupXCalled = false; + this.iupYCalled = false; + this.isComposite = isComposite; + + // normalize the round state settings + switch (this.state.RoundState) + { + case RoundMode.Super: + this.SetSuperRound(1.0f); + break; + case RoundMode.Super45: + this.SetSuperRound(Sqrt2Over2); + break; + } + + this.Execute(new StackInstructionStream(instructions, 0), false, false); + return true; + } + catch (Exception) { - case RoundMode.Super: - this.SetSuperRound(1.0f); - break; - case RoundMode.Super45: - this.SetSuperRound(Sqrt2Over2); - break; + // TODO: Is there a general Reset I can call? + // The interpreter can fail for malformed instructions; in that case we skip hinting. + Array.Clear(this.points.TouchState, 0, this.points.TouchState.Length); + + // Reset interpreter state so nothing leaks if the caller catches. + this.stack.Clear(); + this.callStackSize = 0; + this.contours = Array.Empty(); + this.zp0 = this.zp1 = this.zp2 = this.points = default; + + this.state = this.cvtState; + this.OnVectorsUpdated(); + this.iupXCalled = false; + this.iupYCalled = false; + this.isComposite = false; + return false; + } + } + + private void ResetTwilightZone() + { + // In FreeType, twilight points are defined to have original coordinates at (0,0). + // Reset both original and current coordinates, and clear touch state, to avoid state leaking between glyphs. + ControlPoint[] twCurrent = this.twilight.Current; + ControlPoint[] twOriginal = this.twilight.Original; + + int len = twCurrent.Length; + for (int i = 0; i < len; i++) + { + twCurrent[i].Point = default; + twOriginal[i].Point = default; } - this.Execute(new StackInstructionStream(instructions, 0), false, false); + Array.Clear(this.twilight.TouchState); } private void Execute(StackInstructionStream stream, bool inFunction, bool allowFunctionDefs) @@ -182,7 +277,10 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF while (!stream.Done) { OpCode opcode = stream.NextOpCode(); + +#if DEBUG this.debugList.Add(opcode); +#endif switch (opcode) { // ==== PUSH INSTRUCTIONS ==== @@ -226,19 +324,16 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF // ==== STORAGE MANAGEMENT ==== case OpCode.RS: { - int loc = this.stack.Pop(); - this.stack.Push((uint)loc < (uint)this.storage.Length ? this.storage[loc] : 0); + int loc = CheckIndex(this.stack.Pop(), this.storage.Length); + this.stack.Push(this.storage[loc]); } break; case OpCode.WS: { int value = this.stack.Pop(); - int loc = this.stack.Pop(); - if ((uint)loc < (uint)this.storage.Length) - { - this.storage[loc] = value; - } + int loc = CheckIndex(this.stack.Pop(), this.storage.Length); + this.storage[loc] = value; } break; @@ -247,22 +342,16 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF case OpCode.WCVTP: { float value = this.stack.PopFloat(); - int loc = this.stack.Pop(); - if ((uint)loc < (uint)this.controlValueTable.Length) - { - this.controlValueTable[loc] = value; - } + int loc = CheckIndex(this.stack.Pop(), this.controlValueTable.Length); + this.controlValueTable[loc] = value; } break; case OpCode.WCVTF: { int value = this.stack.Pop(); - int loc = this.stack.Pop(); - if ((uint)loc < (uint)this.controlValueTable.Length) - { - this.controlValueTable[loc] = value * this.scale; - } + int loc = CheckIndex(this.stack.Pop(), this.controlValueTable.Length); + this.controlValueTable[loc] = value * this.scale; } break; @@ -661,7 +750,7 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF case OpCode.SHC1: { Vector2 displacement = this.ComputeDisplacement((int)opcode, out Zone zone, out int point); - TouchState touch = this.GetTouchState(); + int contour = this.stack.Pop(); int start = contour == 0 ? 0 : this.contours[contour - 1] + 1; int count = this.zp2.IsTwilight ? this.zp2.Current.Length : this.contours[contour] + 1; @@ -673,8 +762,8 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF // Don't move the reference point if (zone.Current != current || point != i) { - current[i].Point += displacement; - states[i] |= touch; + current[i].Point.Y += displacement.Y; + states[i] |= TouchState.Y; } } } @@ -700,7 +789,7 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF // Don't move the reference point if (zone.Current != current || point != i) { - current[i].Point += displacement; + current[i].Point.Y += displacement.Y; } } } @@ -1387,10 +1476,8 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF amount *= 1 << (6 - this.state.DeltaShift); // update the CVT - if ((uint)cvtIndex < (uint)this.controlValueTable.Length) - { - this.controlValueTable[cvtIndex] += F26Dot6ToFloat(amount); - } + CheckIndex(cvtIndex, this.controlValueTable.Length); + this.controlValueTable[cvtIndex] += F26Dot6ToFloat(amount); } } } @@ -1514,14 +1601,14 @@ private void Execute(StackInstructionStream stream, bool inFunction, bool allowF } } - private float ReadCvt() + private static int CheckIndex(int index, int length) { - int index = this.stack.Pop(); - return (uint)index < (uint)this.controlValueTable.Length - ? this.controlValueTable[index] - : 0F; + Guard.MustBeBetweenOrEqualTo(index, 0, length - 1, nameof(index)); + return index; } + private float ReadCvt() => this.controlValueTable[CheckIndex(this.stack.Pop(), this.controlValueTable.Length)]; + private void OnVectorsUpdated() { this.fdotp = Vector2.Dot(this.state.Freedom, this.state.Projection); @@ -1860,20 +1947,18 @@ private void ShiftPoints(Vector2 displacement) private void MovePoint(Zone zone, int index, float distance) { - if (this.isComposite) - { - Vector2 point = zone.GetCurrent(index) + (distance * this.state.Freedom / this.fdotp); - TouchState touch = this.GetTouchState(); - zone.Current[index].Point = point; - zone.TouchState[index] |= touch; - } - else + // Copy FreeType Interpreter V40 and ignore instructions on the x-axis. + // This increases resolution on the x-axis and prevents glyph explosions on legacy fonts. + // https://github.com/freetype/freetype/blob/3ab1875cd22536b3d715b3b104b7fb744b9c25c5/src/truetype/ttinterp.h#L298 + Vector2 cur = zone.GetCurrent(index); + + // V40: ignore x movement, apply only the Y component. + float dy = distance * this.state.Freedom.Y / this.fdotp; + + // Only mark Y as touched if Y actually changed. + if (dy != 0F) { - // Copy FreeType Interpreter V40 and ignore instructions on the x-axis. - // This increases resolution on the x-axis and prevents glyph explosions on legacy fonts. - // https://github.com/freetype/freetype/blob/3ab1875cd22536b3d715b3b104b7fb744b9c25c5/src/truetype/ttinterp.h#L298 - Vector2 point = zone.GetCurrent(index) + (distance * this.state.Freedom / this.fdotp); - zone.Current[index].Point.Y = point.Y; + zone.Current[index].Point.Y = cur.Y + dy; zone.TouchState[index] |= TouchState.Y; } } diff --git a/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs b/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs new file mode 100644 index 00000000..2510f21c --- /dev/null +++ b/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs @@ -0,0 +1,111 @@ +// Copyright (c) Six Labors. +// Licensed under the Six Labors Split License. + +namespace SixLabors.Fonts.Tables.TrueType; + +/// +/// Contains compatibility lists for tricky fonts. +/// +public partial class TrueTypeGlyphMetrics +{ + /// + /// Represents a set of font family names that require font hinting to render correctly. + /// Base on the Freetype list in ttobjs.c + /// + private static readonly HashSet MustHintFonts = + new(StringComparer.Ordinal) + { + "cpop", + "DFGirl-W6-WIN-BF", + "DFGothic-EB", + "DFGyoSho-Lt", + "DFHei", + "DFHSGothic-W5", + "DFHSMincho-W3", + "DFHSMincho-W7", + "DFKaiSho-SB", + "DFKaiShu", + "DFKai-SB", + "DFMing", + "DLC", + "HuaTianKaiTi?", + "HuaTianSongTi?", + "Ming(for ISO10646)", + "MingLiU", + "MingMedium", + "PMingLiU", + "MingLi43", + }; + + /// + /// Contains the set of font family names that should never be suggested as font hints. + /// Based on community reports of rendering issues. + /// + private static readonly HashSet NeverHint = + new(StringComparer.Ordinal) + { + "MgOpen Canonica", + "MgOpenCanonica", + }; + + /// + /// Determines the effective hinting mode for the current font based on its name and the specified mode. + /// + /// + /// If the font name matches an entry in the internal 'NeverHint' list, hinting is disabled + /// regardless of the requested mode. If the font name matches an entry in the 'MustHintFonts' list, standard + /// hinting is enforced. Otherwise, the provided mode is used. This method ensures consistent rendering for certain + /// fonts that require special handling. + /// + /// The requested hinting mode to use if no font-specific override applies. + /// + /// A value indicating the hinting mode to apply. Returns a font-specific override if the font name matches a + /// configured pattern; otherwise, returns the specified mode. + /// + private HintingMode GetHintingMode(HintingMode mode) + { + ReadOnlySpan faceName = SkipPdfFontRandomTag(this.FontMetrics.Description.FontNameInvariantCulture); + + // We use partial matching here since some platforms/face collections may include additional style or + // foundry-specific information in the face name. + foreach (string needle in NeverHint) + { + if (faceName.Contains(needle, StringComparison.Ordinal)) + { + return HintingMode.None; + } + } + + foreach (string needle in MustHintFonts) + { + if (faceName.Contains(needle, StringComparison.Ordinal)) + { + return HintingMode.Standard; + } + } + + return mode; + } + + private static ReadOnlySpan SkipPdfFontRandomTag(string name) + { + // Fonts embedded in PDFs are sometimes made unique by prepending a randomization prefix to their names. + // As defined in the PDF Reference ("Font Subsets"), it consists of 6 uppercase letters followed by '+'. + // For safety, we only skip prefixes that conform to this rule. + if (name.Length > 7 + && IsAsciiUpper(name[0]) + && IsAsciiUpper(name[1]) + && IsAsciiUpper(name[2]) + && IsAsciiUpper(name[3]) + && IsAsciiUpper(name[4]) + && IsAsciiUpper(name[5]) + && name[6] == '+') + { + return name.AsSpan(7); + } + + return name; + + static bool IsAsciiUpper(char c) => (uint)(c - 'A') <= ('Z' - 'A'); + } +} diff --git a/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.cs b/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.cs index 315649e7..e5dddd61 100644 --- a/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.cs +++ b/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.cs @@ -12,7 +12,7 @@ namespace SixLabors.Fonts.Tables.TrueType; /// /// Represents a glyph metric from a particular TrueType font face. /// -public class TrueTypeGlyphMetrics : GlyphMetrics +public partial class TrueTypeGlyphMetrics : GlyphMetrics { private static readonly Vector2 YInverter = new(1, -1); private readonly GlyphVector vector; @@ -145,7 +145,7 @@ internal override void RenderTo( GlyphVector.TransformInPlace(ref clone, matrix); float pixelSize = scaledPPEM / 72F; - this.FontMetrics.ApplyTrueTypeHinting(options.HintingMode, this, ref clone, scale, pixelSize); + this.FontMetrics.ApplyTrueTypeHinting(this.GetHintingMode(options.HintingMode), this, ref clone, scale, pixelSize); // Rotation must happen after hinting. GlyphVector.TransformInPlace(ref clone, rotation); diff --git a/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-Arial-.png b/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-Arial-.png index e163c78e..472e5d9c 100644 --- a/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-Arial-.png +++ b/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-Arial-.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:427453b8e698998850955582fccf1362bf9501cbfdd81c1530094f62185c7396 -size 593953 +oid sha256:18ec50b2f24c44b3408fd236b742fa2b0649b3e5fbdc86e7951c51e834d8d2ff +size 590884 diff --git a/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-OpenSansFile-.png b/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-OpenSansFile-.png index 0a78d7bd..f7950afa 100644 --- a/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-OpenSansFile-.png +++ b/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-OpenSansFile-.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:984d06c028a10b7576561fb8374cc07a7adbb0a6f4c3b90b6e731dc0154e458b -size 614364 +oid sha256:8c55f62413ed1ffb5c318d40d269f03a81b8503010a15e3b52925c36c310eed4 +size 615756 diff --git a/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-Tahoma-.png b/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-Tahoma-.png index 6f2789c6..7fec6be3 100644 --- a/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-Tahoma-.png +++ b/tests/Images/ReferenceOutput/Test_Hinting_Robustness_-Tahoma-.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:029ec203353022183b429a53af31eb2a62f03f751746390b4e4aaf4cd6374f95 -size 580804 +oid sha256:14c3e8a8e8c41cf665a4824da06d0d21924b3764328c7f9ec219cf937e69240f +size 577280 diff --git a/tests/Images/ReferenceOutput/Test_Issue_493_MgOpenCanonic-.png b/tests/Images/ReferenceOutput/Test_Issue_493_MgOpenCanonic-.png index 217753fd..7c7b89c6 100644 --- a/tests/Images/ReferenceOutput/Test_Issue_493_MgOpenCanonic-.png +++ b/tests/Images/ReferenceOutput/Test_Issue_493_MgOpenCanonic-.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc4d764fe27b31153083435bc7c6c7e3c2d1d2d2cd6fc03aa104be0cc560a63a -size 9139 +oid sha256:d01d807fbc5fcc5760d1e94fae814d92e9bbbd57e129655eef608cb4c7541fe9 +size 8101 diff --git a/tests/Images/ReferenceOutput/Test_Issue_493_Ogham-.png b/tests/Images/ReferenceOutput/Test_Issue_493_Ogham-.png index b9715129..95bc3dea 100644 --- a/tests/Images/ReferenceOutput/Test_Issue_493_Ogham-.png +++ b/tests/Images/ReferenceOutput/Test_Issue_493_Ogham-.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:adfc3d6a63f859fc558ac3ef92a229b8b2b63166abb45b33ec2757d10f5b23d1 -size 3887 +oid sha256:ebbe3ebfe42f873addd1ebb057bb6c7fae4f5644fc5a664002dc4157f512504f +size 3809 diff --git a/tests/Images/ReferenceOutput/Test_Issue_493_Runic-.png b/tests/Images/ReferenceOutput/Test_Issue_493_Runic-.png index f007d2ff..3e1adc7e 100644 --- a/tests/Images/ReferenceOutput/Test_Issue_493_Runic-.png +++ b/tests/Images/ReferenceOutput/Test_Issue_493_Runic-.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:784587ae7db9954498074624648af849391ee3e9652a02368e155cf49e340759 -size 4734 +oid sha256:67ef7ce5faa1c02afa1938c75bc58b1282dbcf95c485cf177a4bb86d4dc2bb0d +size 4696 diff --git a/tests/SixLabors.Fonts.Tests/Issues/Issues_493.cs b/tests/SixLabors.Fonts.Tests/Issues/Issues_493.cs index 4bffc622..ad1720ca 100644 --- a/tests/SixLabors.Fonts.Tests/Issues/Issues_493.cs +++ b/tests/SixLabors.Fonts.Tests/Issues/Issues_493.cs @@ -51,7 +51,7 @@ public void Test_Issue_493_MgOpenCanonic() const string text = "the quick brown fox jumps over the lazy dog"; FontCollection fontCollection = new(); - string name = fontCollection.Add(TestFonts.NotoSansRunicRegular).Name; + string name = fontCollection.Add(TestFonts.MgOpenCanonicRegular).Name; FontFamily mainFontFamily = fontCollection.Get(name); Font mainFont = mainFontFamily.CreateFont(30, FontStyle.Regular); From a9d3b67cc51ace7f0849bc18869fdbaedb3b8d0b Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sat, 24 Jan 2026 14:55:45 +1000 Subject: [PATCH 4/4] Cleanup --- .../Tables/TrueType/Hinting/TrueTypeInterpreter.cs | 9 ++++----- .../TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs b/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs index f08e2406..91ec160e 100644 --- a/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs +++ b/src/SixLabors.Fonts/Tables/TrueType/Hinting/TrueTypeInterpreter.cs @@ -82,7 +82,7 @@ public TrueTypeInterpreter(int maxStack, int maxStorage, int maxFunctions, int m this.twilight = new Zone(maxTwilightPoints, isTwilight: true); this.controlValueTable = []; this.baseControlValueTable = []; - this.contours = Array.Empty(); + this.contours = []; } public void InitializeFunctionDefs(byte[] instructions) @@ -191,7 +191,7 @@ public bool TryHintGlyph( // FreeType's interpreter treats the storage area and glyph-level CVT modifications as non-persistent. // Reset storage and restore the baseline CVT state for each glyph. - Array.Clear(this.storage); + Array.Clear(this.storage, 0, this.storage.Length); if (this.baseControlValueTable.Length > 0) { @@ -235,14 +235,13 @@ public bool TryHintGlyph( } catch (Exception) { - // TODO: Is there a general Reset I can call? // The interpreter can fail for malformed instructions; in that case we skip hinting. Array.Clear(this.points.TouchState, 0, this.points.TouchState.Length); // Reset interpreter state so nothing leaks if the caller catches. this.stack.Clear(); this.callStackSize = 0; - this.contours = Array.Empty(); + this.contours = []; this.zp0 = this.zp1 = this.zp2 = this.points = default; this.state = this.cvtState; @@ -268,7 +267,7 @@ private void ResetTwilightZone() twOriginal[i].Point = default; } - Array.Clear(this.twilight.TouchState); + Array.Clear(this.twilight.TouchState, 0, this.twilight.TouchState.Length); } private void Execute(StackInstructionStream stream, bool inFunction, bool allowFunctionDefs) diff --git a/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs b/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs index 2510f21c..528197a8 100644 --- a/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs +++ b/src/SixLabors.Fonts/Tables/TrueType/TrueTypeGlyphMetrics.CompatibilityLists.cs @@ -10,7 +10,7 @@ public partial class TrueTypeGlyphMetrics { /// /// Represents a set of font family names that require font hinting to render correctly. - /// Base on the Freetype list in ttobjs.c + /// Based on the FreeType list in ttobjs.c /// private static readonly HashSet MustHintFonts = new(StringComparer.Ordinal)