From 8d2908f1a04842bea2009d2a39553325ea735e83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20Fabian=20Kr=C3=BCger?= Date: Sat, 22 Aug 2026 10:58:20 +0200 Subject: [PATCH] Fix misparse when FontMatrix directly follows ROS in CFF font TopDict --- src/main/java/org/verapdf/pd/font/cff/CFFFontBaseParser.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/verapdf/pd/font/cff/CFFFontBaseParser.java b/src/main/java/org/verapdf/pd/font/cff/CFFFontBaseParser.java index 0f6cd20b..e94f9ae0 100644 --- a/src/main/java/org/verapdf/pd/font/cff/CFFFontBaseParser.java +++ b/src/main/java/org/verapdf/pd/font/cff/CFFFontBaseParser.java @@ -142,7 +142,8 @@ protected void readTopDictUnit() throws IOException { case 7: // FontMatrix fontMatrix = new float[6]; for (int i = 0; i < 6; ++i) { - fontMatrix[i] = this.stack.get(i).getReal(); + fontMatrix[i] = + this.stack.get(this.stack.size() - 6 + i).getReal(); } this.stack.clear(); break; @@ -153,6 +154,7 @@ protected void readTopDictUnit() throws IOException { break; case 30: this.containsROS = true; + this.stack.clear(); break; default: readTopDictTwoByteOps(next);