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?)
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
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