Seite 1 von 2

Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Mo Sep 27, 2021 6:53 pm
von TheMinefighter
Hallo in die Runde,
wie womöglich bekannt arbeite daran STS in neueren Java Versionen in einen spielbaren Zustand zu bringen.
Dabei besteht aktuell ein Problem: Die Darstellung von Zugnummerndisplays funktioniert nichtmehr so richtig. (vielleicht haben die Entwickler bei ihren Tests schonmal gesehen?)
Bild
Ich hab das ganze in einer Reihe JavaVersionen getestet: Oracle Java 8, 11 und 17 sowie OpenJDK 8, 11 und 16. In allen getesten Versionen außer Oracle Java 8 tritt das Problem auf.
Ich habe dann mal das ganze gedebuggt (ohne Quellcode debuggen macht keinen Spaß) und herausgefunden, dass das Problem an der geänderten Implementation von

Code: Alles auswählen

sun.java2d.SunGraphics2D.drawChars
liegt.
Hierbei werden Informationen in der ttf der verwendeten Schriftart verwendet, die vorher ignoriert wurden, welche zu oben gezeigtem Verhalten führen. Der eigentliche Fehler liegt dabei weder im Stellwerksim noch in der drawChars Implementation, sondern im Export der dafür verwendeten Schriftart, digitalism von Cameron Woodward. Beim Export dieser scheint sich der oben genannte Fehler in die ttf eingeschlichen zu haben.
Ich habe mich nun hingesetzt und in den Ziffer-Glyphen (genaugenommen, bei den Ziffern 2, 6 und 8, beim Rest ist alles richtig) diese fehlerhaften Informationen entfernt. Sonst habe ich nichts an der Schrift verändert. Ich habe dann Stellwerksim dazu gebracht die so entstandene ttf zu nutzen, und habe geprüft das die Fehler damit nichtmehr auftreten. Das hat sich bestätigt. Außerdem habe ich geprüft das die neue ttf auch in Oracle Java 8 (was von dem ursprünglichen Problem nicht betroffen war) funktioniert, dem ist auch so. Nach mehrstündigem Praxistest bin ich davon überzeugt das die veränderte Schrift auch sonst keine neuen Probleme verursacht (wäre auch komisch wenn dem so wäre, aber man weiß ja nie).

Deswegen möchte ich den Entwicklern an dieser Stelle vorschlagen js/java/tools/resources/digitalism.ttf durch die von mir fehlerbereinigte Version (https://theminefighter.github.io/Data/d ... .FIXED.ttf) zu ersetzen.

Grüße Tobias Brohl

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Di Sep 28, 2021 6:04 am
von abrixas
Vielen Dank für deine Mühe, ich werde das mal an die Entwickler weiter geben.

Gruß
abrixas

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Di Sep 28, 2021 6:07 am
von MeldungsRobot
Automatische Meldung vom Bugtracker:

Es existiert bereits ein Case #3543 für diesen Fall: korrigierte Schrift für Displays in Java

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Sa Nov 13, 2021 11:49 am
von TheMinefighter
Hallo in die Runde,
ich wollte mich nach 2 Monaten mal erkundigen, ob noch damit zu rechnen ist, das obiger Vorschlag umgesetzt wird.
Sollte dies nicht geplant sein, würde ich darum bitten mich zu informieren, da ich sonst ein patching-system in meinen STS-Launcher einbauen würde. Dieses würde es mir ermöglichen würde inhaltliche Änderungen unabhängig vom offiziellen STS durchführen zu können, würde aber einen erheblichen Mehraufwand darstellen, und wäre ein Schritt den ich nur ungern gehen würde.
Sollte man sich jedoch von offizieller Seite weigern solche Fehlerbehebungen vorzunehmen, insb. wenn alle Arbeit schon getan wurde, und man nur noch eine Datei austauschen muss, dann sehe ich mich zu diesem Schritt gezwungen, damit ich und andere STS mit funktionierenden Zugnummerndisplays in modernen Java Versionen spielen können.

Grüße
Tobias Brohl

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: So Nov 14, 2021 12:46 pm
von abrixas
Hallo,

im Moment gibt es wegen der Nutzungslizenz sehr viele Bedenken diesen Font in dieser Form zu nutzen. In den Anmerkungen des Urhebers ist Folgendes zu finden:
author note

Font is free for private and personal use. If is for commercial or paid work, a donation would be greatly appreciated. Enjoy :)
Im Netz findet man recht viele Interpretationen solcher Aussagen, zum Beispiel:
- keine kommerzielle Nutzung, also nur Freeware usw (personal use als Gegenteil zu commercial use)
- wirklich rein die persönliche Nutzung, welches somit die Verteilung von Software verbietet
Gerade die zweite Auslegung hält uns davon ab die von dir gepatchte Version einzusetzen.
Wir möchten uns keinen unnötigen Ärger und vielleicht auch noch Kosten einhandeln.

Siehe auch: https://www.onlineprinters.de/magazin/g ... -know-how/

Trotzdem Danke für das Angebot.

Gruß
abrixas

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: So Nov 14, 2021 1:24 pm
von TheMinefighter
Hallo,
erstmal danke für die Info.
Ich halte meine Veränderungen für rechtlich absolut unproblematisch, da ich keinerlei Veränderungen an künstlerischen Entscheidungen getätigt habe, sondern lediglich einen Export-Fehler behoben habe. Ansonsten passt die Erläuterung nicht zu der Aussage des Autors, da dieser die kommerzielle Nutzung eindeutig frei gibt. Davon abgesehen handelt es sich bei STS nicht um eine kommerzielle Nutzung, da der Betriebsverein per Definition ein gemeinnütziger Verein ist und das bereitstellen des Stellwerksim Client dem Vereinszweck dient. Ansonsten gibt es auch Font-Alternativen mit denen man solche Probleme nicht hätte wie z.B. Calculatrix 7 was als public domain veröffentlicht wurde (bei der Verwendung eines solchen Fonts müsste man jedoch im Code die verwendete Schriftgröße anpassen).

LG Tobias

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Mo Nov 15, 2021 6:54 am
von abrixas
Ich halte meine Veränderungen für rechtlich absolut unproblematisch
Das ist deine Auslegung. Ich bin kein Rechtsexperte und die Entscheider im SIM ebenfalls nicht, von daher sind wir eher vorsichtig.
Wenn du einen Font findest der völlig frei in der Nutzung ist könnte man nochmal darüber nachdenken.

Gruß
abrixas

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Mo Nov 15, 2021 10:00 pm
von TheMinefighter
Hallo abrixas,
Wenn du einen Font findest der völlig frei in der Nutzung ist könnte man nochmal darüber nachdenken.
ja, ich habe einen solchen Font gefunden, wie in meinem vorherigen Post geschrieben, denn genau das ist public domain - frei für jegliche Nutzung und Veränderung ohne irgendwelche Einschränkungen.

P.S. ich habe gerade die neue Version gesehen, danke

Grüße
Tobias Brohl

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Mi Nov 17, 2021 12:24 am
von mb1403
Nabend,

also bei mir sehen die Displays aus wie immer:
https://1drv.ms/u/s!AnD4-1oTUmWZga9YyAB ... w?e=5BzH8u

Java 8.301, evtl liegts daran.

Gruß,
Matze

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Mi Nov 17, 2021 8:10 pm
von schyrsivochter
Also, bei mir ist seit ein paar Tagen definitiv eine andere Schriftart in den Displays. Die Ziffern sind ein bisschen kleiner als vorher und die 7 hat den zusätzlichen Strich oben links, den hatte die alte nicht.

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: So Nov 21, 2021 5:05 pm
von DLichti
Ich finde die neue Schrift super. Jetzt kann ich endlich auch mit Linux/OpenJDK alle Zugnummern eindeutig erkennen.

Danke.

David

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: So Nov 21, 2021 8:36 pm
von TrainsAndOtherStuff
Hallo,

bei mir ist es leider umgekehrt: auf dem Mac sind die neuen Zahlen schlechter zu erkennen als vorher.

MfG, TrainsAndOtherStuff

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: So Nov 21, 2021 10:37 pm
von Hotdog83
Auf WIndows 10 genauso, jetzt ist es deutlich schlechter als vorher.

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Mo Nov 22, 2021 12:46 am
von petero
Hotdog83 hat geschrieben: So Nov 21, 2021 10:37 pm Auf WIndows 10 genauso, jetzt ist es deutlich schlechter als vorher.
Aus interresse welche Java Version nutzt du? 11+ oder Java 8?

Re: Zugnummerndisplay Probleme Java Version > Java 8 + Lösung

Verfasst: Mo Nov 22, 2021 11:15 am
von Hotdog83
Um die ständigen Crashs des Editors zu umgehen: 8 update 301