From eae0e6fb9006dd144bf7a058afaf76204e30a20f Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Mon, 25 Sep 2023 11:25:20 +0200 Subject: [PATCH 1/2] Fix wrong output encoding on Windows with JDK >= 19 JDK 19 has changed the system properties used for System.out and System.err encoding, see https://www.oracle.com/java/technologies/javase/19-relnote-issues.html#JDK-8283620 --- src/main/java/org/fusesource/jansi/AnsiConsole.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/fusesource/jansi/AnsiConsole.java b/src/main/java/org/fusesource/jansi/AnsiConsole.java index 3b7b0032..9ce1b9a3 100644 --- a/src/main/java/org/fusesource/jansi/AnsiConsole.java +++ b/src/main/java/org/fusesource/jansi/AnsiConsole.java @@ -237,7 +237,10 @@ private static AnsiPrintStream ansiStream(boolean stdout) { FileDescriptor descriptor = stdout ? FileDescriptor.out : FileDescriptor.err; final OutputStream out = new FastBufferedOutputStream(new FileOutputStream(descriptor)); - String enc = System.getProperty(stdout ? "sun.stdout.encoding" : "sun.stderr.encoding"); + String enc = System.getProperty(stdout ? "stdout.encoding" : "stderr.encoding"); + if (enc == null) { + enc = System.getProperty(stdout ? "sun.stdout.encoding" : "sun.stderr.encoding"); + } final boolean isatty; boolean isAtty; From d45bae95f663ead8acc0d3b6f83d226d5ae47668 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Tue, 26 Sep 2023 16:45:42 +0200 Subject: [PATCH 2/2] Fix bad background in logo and add output encoding system properties --- src/main/java/org/fusesource/jansi/AnsiMain.java | 4 ++++ src/main/resources/org/fusesource/jansi/jansi.txt | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/fusesource/jansi/AnsiMain.java b/src/main/java/org/fusesource/jansi/AnsiMain.java index c2a845d6..197c7978 100644 --- a/src/main/java/org/fusesource/jansi/AnsiMain.java +++ b/src/main/java/org/fusesource/jansi/AnsiMain.java @@ -85,6 +85,10 @@ public static void main(String... args) throws IOException { + "os.version= " + System.getProperty("os.version") + ", " + "os.arch= " + System.getProperty("os.arch")); System.out.println("file.encoding= " + System.getProperty("file.encoding")); + System.out.println("sun.stdout.encoding= " + System.getProperty("sun.stdout.encoding") + ", " + + "sun.stderr.encoding= " + System.getProperty("sun.stderr.encoding")); + System.out.println("stdout.encoding= " + System.getProperty("stdout.encoding") + ", " + "stderr.encoding= " + + System.getProperty("stderr.encoding")); System.out.println("java.version= " + System.getProperty("java.version") + ", " + "java.vendor= " + System.getProperty("java.vendor") + "," + " java.home= " + System.getProperty("java.home")); diff --git a/src/main/resources/org/fusesource/jansi/jansi.txt b/src/main/resources/org/fusesource/jansi/jansi.txt index 247afd25..a62a6f40 100644 --- a/src/main/resources/org/fusesource/jansi/jansi.txt +++ b/src/main/resources/org/fusesource/jansi/jansi.txt @@ -1,5 +1,5 @@ -[?7h -┌──┐┌─────┐ ┌─────┐ ┌──────┬──┐ +[?7h +┌──┐┌─────┐ ┌─────┐ ┌──────┬──┐ │██├┘█████└┬┘█████└┬┘██████│▐▌│ ┌──┐ │██│██▄▄▄██│██┌─┐██│██▄▄▄▄ │▄▄│ │▒▒└─┘▒█│▒█┌─┐▒█│▒█│ │▒█│ ▀▀▀▀▒█│▒█│