From a59f363741851d16e9add26d8779f447a41bb64e Mon Sep 17 00:00:00 2001 From: Sascha Brawer Date: Wed, 1 Nov 2023 23:26:37 +0100 Subject: [PATCH] Add test case for CFF `endchar` command with five arguments Not updating test reports for the native rendering stacks because our C++ codebase cannot be compiled anymore with current clang (15.0.0). This is a separate issue, independent of testing CFF fonts. Fixes https://github.com/unicode-org/text-rendering-tests/issues/77 Related: * https://github.com/foliojs/fontkit/issues/322 * https://github.com/opentypejs/opentype.js/issues/117 --- reports/Allsorts.html | 47 +++++++++++++++++++++++++++++++++- reports/OpenType.js.html | 49 +++++++++++++++++++++++++++++++++-- reports/fontkit.html | 49 +++++++++++++++++++++++++++++++++-- testcases/CFF-3.html | 55 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 195 insertions(+), 5 deletions(-) create mode 100644 testcases/CFF-3.html diff --git a/reports/Allsorts.html b/reports/Allsorts.html index 6b52392..a2c6455 100644 --- a/reports/Allsorts.html +++ b/reports/Allsorts.html @@ -375,7 +375,52 @@

CFF–2: Hexing the Second Last Byte

-

CFF2–1: Variations

+

CFF–3: Endchar With Five Arguments

+
+ In the font for this test case, + the glyphs Agrave and Udieresis pass five arguments + to the endchar command. + For a description of this particular variant of the endchar + operator, see + Adobe PostScript Technical Note #5177, Appendix C, + at the bottom of page 35. See also OpenType.js bug 117 and fontkit bug 322. +
+
+ If the implementation under test works correctly, you should see + the glyphs À and Ü. +
+ + + + + + + + + + + + + + + + +
Expected + + + + + + + + + + + + + +
Observed
Conformance
+

CFF2–1: Variations

The font for this test diff --git a/reports/OpenType.js.html b/reports/OpenType.js.html index 7453cec..b905d79 100644 --- a/reports/OpenType.js.html +++ b/reports/OpenType.js.html @@ -50,7 +50,7 @@

Overview

This report was generated on November 1, 2023 by running Unicode’s test suite for text rendering engines with OpenType.js 1.3.4, NPM 10.2.0 and Node 21.1.0. - Some tests have failed. For details, see AVAR-1, CFF-1, CFF-2, CFF2-1, CMAP-1, CMAP-2, CMAP-3, CVAR-1, CVAR-2, GLYF-1, GPOS-1, GPOS-2, GPOS-3, GPOS-4, GPOS-5, GSUB-1, GSUB-2, GVAR-1, GVAR-2, GVAR-3, GVAR-4, GVAR-5, GVAR-6, GVAR-7, GVAR-8, GVAR-9, HVAR-1, HVAR-2, KERN-1, KERN-2, MORX-1, MORX-2, MORX-3, MORX-4, MORX-5, MORX-6, MORX-7, MORX-8, MORX-9, MORX-10, MORX-11, MORX-12, MORX-13, MORX-14, MORX-16, MORX-17, MORX-18, MORX-19, MORX-20, MORX-21, MORX-22, MORX-23, MORX-25, MORX-26, MORX-27, MORX-28, MORX-29, MORX-30, MORX-31, MORX-32, MORX-33, MORX-35, MORX-37, MORX-38, MORX-39, MORX-40, MORX-41, SFNT-1, SFNT-2, SHARAN-1, SHBALI-1, SHBALI-2, SHBALI-3, SHKNDA-1, SHKNDA-2, SHKNDA-3, SHLANA-1, SHLANA-2, SHLANA-3, SHLANA-4, SHLANA-5, SHLANA-6, SHLANA-7, SHLANA-8, SHLANA-9, and SHLANA-10. + Some tests have failed. For details, see AVAR-1, CFF-1, CFF-2, CFF-3, CFF2-1, CMAP-1, CMAP-2, CMAP-3, CVAR-1, CVAR-2, GLYF-1, GPOS-1, GPOS-2, GPOS-3, GPOS-4, GPOS-5, GSUB-1, GSUB-2, GVAR-1, GVAR-2, GVAR-3, GVAR-4, GVAR-5, GVAR-6, GVAR-7, GVAR-8, GVAR-9, HVAR-1, HVAR-2, KERN-1, KERN-2, MORX-1, MORX-2, MORX-3, MORX-4, MORX-5, MORX-6, MORX-7, MORX-8, MORX-9, MORX-10, MORX-11, MORX-12, MORX-13, MORX-14, MORX-16, MORX-17, MORX-18, MORX-19, MORX-20, MORX-21, MORX-22, MORX-23, MORX-25, MORX-26, MORX-27, MORX-28, MORX-29, MORX-30, MORX-31, MORX-32, MORX-33, MORX-35, MORX-37, MORX-38, MORX-39, MORX-40, MORX-41, SFNT-1, SFNT-2, SHARAN-1, SHBALI-1, SHBALI-2, SHBALI-3, SHKNDA-1, SHKNDA-2, SHKNDA-3, SHLANA-1, SHLANA-2, SHLANA-3, SHLANA-4, SHLANA-5, SHLANA-6, SHLANA-7, SHLANA-8, SHLANA-9, and SHLANA-10.

AVAR–1: Weight Flattening

@@ -375,7 +375,52 @@

CFF–2: Hexing the Second Last Byte

-

CFF2–1: Variations

+

CFF–3: Endchar With Five Arguments

+
+ In the font for this test case, + the glyphs Agrave and Udieresis pass five arguments + to the endchar command. + For a description of this particular variant of the endchar + operator, see + Adobe PostScript Technical Note #5177, Appendix C, + at the bottom of page 35. See also OpenType.js bug 117 and fontkit bug 322. +
+
+ If the implementation under test works correctly, you should see + the glyphs À and Ü. +
+ + + + + + + + + + + + + + + + +
Expected + + + + + + + + + + + + + +
Observed
Conformance
+

CFF2–1: Variations

The font for this test diff --git a/reports/fontkit.html b/reports/fontkit.html index fe0e802..b274c45 100644 --- a/reports/fontkit.html +++ b/reports/fontkit.html @@ -50,7 +50,7 @@

Overview

This report was generated on November 1, 2023 by running Unicode’s test suite for text rendering engines with fontkit 2.0.2, NPM 10.2.0 and Node 21.1.0. - Some tests have failed. For details, see GSUB-3, GVAR-9, MORX-3, MORX-5, MORX-10, MORX-11, MORX-17, MORX-19, MORX-20, MORX-24, MORX-29, MORX-30, MORX-31, MORX-32, MORX-33, MORX-34, MORX-35, MORX-36, MORX-38, MORX-40, MORX-41, SFNT-1, SHLANA-1, SHLANA-2, SHLANA-3, SHLANA-4, SHLANA-5, SHLANA-6, SHLANA-7, SHLANA-8, SHLANA-9, and SHLANA-10. + Some tests have failed. For details, see CFF-3, GSUB-3, GVAR-9, MORX-3, MORX-5, MORX-10, MORX-11, MORX-17, MORX-19, MORX-20, MORX-24, MORX-29, MORX-30, MORX-31, MORX-32, MORX-33, MORX-34, MORX-35, MORX-36, MORX-38, MORX-40, MORX-41, SFNT-1, SHLANA-1, SHLANA-2, SHLANA-3, SHLANA-4, SHLANA-5, SHLANA-6, SHLANA-7, SHLANA-8, SHLANA-9, and SHLANA-10.

AVAR–1: Weight Flattening

@@ -375,7 +375,52 @@

CFF–2: Hexing the Second Last Byte

-

CFF2–1: Variations

+

CFF–3: Endchar With Five Arguments

+
+ In the font for this test case, + the glyphs Agrave and Udieresis pass five arguments + to the endchar command. + For a description of this particular variant of the endchar + operator, see + Adobe PostScript Technical Note #5177, Appendix C, + at the bottom of page 35. See also OpenType.js bug 117 and fontkit bug 322. +
+
+ If the implementation under test works correctly, you should see + the glyphs À and Ü. +
+ + + + + + + + + + + + + + + + +
Expected + + + + + + + + + + + + + +
Observed
Conformance
+

CFF2–1: Variations

The font for this test diff --git a/testcases/CFF-3.html b/testcases/CFF-3.html new file mode 100644 index 0000000..f29ca1f --- /dev/null +++ b/testcases/CFF-3.html @@ -0,0 +1,55 @@ + + + + + + + + +

CFF–3: Endchar With Five Arguments

+
+ In the font for this test case, + the glyphs Agrave and Udieresis pass five arguments + to the endchar command. + For a description of this particular variant of the endchar + operator, see + Adobe PostScript Technical Note #5177, Appendix C, + at the bottom of page 35. See also OpenType.js bug 117 and fontkit bug 322. +
+
+ If the implementation under test works correctly, you should see + the glyphs À and Ü. +
+ + + + + + + + + + + + +
Expected + + + + + + + + + + + + + +
Observed + +
Conformance + +
+ +