From 4122e24ad401dd3028066e330f3cf4a461b20b91 Mon Sep 17 00:00:00 2001 From: Willem Date: Tue, 7 Jan 2025 19:57:31 +0100 Subject: [PATCH] Fixed missing hidden PIE and PIN controls printing --- .../java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java | 8 ++++++++ .../org/x4o/o2o/fc18/FourCornerUnicodeDisplayTest.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java index 21f3479..9c3f140 100644 --- a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java +++ b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java @@ -195,6 +195,14 @@ public class FourCornerUnicodeDisplay { } numberMode = cdc.next(); numberPIE = FCDotCDC1604DashP6.__PIE.ordinal() == cdcPoint; // is false for PIN + if (renderHiddenControls) { + if (numberPIE) { + buf.append(FCDotCDC1604DashP6.escapeSignUnicode(FCDotCDC1604DashP6.__PIE.ordinal())); + } else { + buf.append(FCDotCDC1604DashP6.escapeSignUnicode(FCDotCDC1604DashP6.__PIN.ordinal())); + } + buf.appendCodePoint(FCDotCDC1604DashP6.indexOf(numberMode).codePoints()[0]); + } if (numberMode < FCDotCDC1604DashP6.NX01_A.ordinal()) { cdcPoint = numberMode; // print char numberMode = null; // illegal number mode diff --git a/nx01-x4o-o2o/src/test/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplayTest.java b/nx01-x4o-o2o/src/test/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplayTest.java index 1107adb..f1521da 100644 --- a/nx01-x4o-o2o/src/test/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplayTest.java +++ b/nx01-x4o-o2o/src/test/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplayTest.java @@ -82,7 +82,7 @@ public class FourCornerUnicodeDisplayTest { cdc.add(FCDotCDC1604DashP6.NX15_O); Assertions.assertEquals("ab B␃cD.jklmO", FourCornerUnicodeDisplay.text().renderFromX06(cdc)); - Assertions.assertEquals("ab B␃cD.jklm␃␃O", FourCornerUnicodeDisplay.text(true).renderFromX06(cdc)); + Assertions.assertEquals("␁Za␁Zb B␃cD.␁Zjklm␃␃O", FourCornerUnicodeDisplay.text(true).renderFromX06(cdc)); } @Test