Fehlende Barrierefreiheit für Menschen mit Sehschwäche
-
@Oceanwaves nur mal zum Probieren eine Frage:
was passiert denn, wenn Du den Skalierfaktor nicht auf 1.5 sondern auf 2.0 setzt?Ich hab seit 20 Jahren kein Suse mehr drauf und kann im Moment nur mit debian, [kx]ubuntu und knoppix dienen.
Was ich bei mir gemacht habe (debian testing @ VMPlayer15.5.1 @ Windows 10 Pro 19.09) ist
ich hab in/opt/MediathekView/MediathekView.vmoptions
einmal 1.0, einmal 1.5 und dann 2.0 eingestellt.Auf die Schnelle gesagt: es gibt bei mir in Debian zwischen Faktor 1.5 und 1.0 keinen sichtbaren Unterschied.
Ich hab den PR zur Erweiterung der Anleitung um .vmoptions / uiScale damals basierend auf unter Windows gemachten Beobachtungen erstellt. In der irrsinnigen Annahme, Java-Programme wären so was wie plattformunabhängig.
Allerdings krieg ich, armer FullHD-Monitor Besitzer mit -5/m Brille, bei uiScale 2.0 einen deutlichen Effekt.Ich schau dann nochmal bei SO usw. ob sich da was zu dem Thema findet.
-
@Oceanwaves also ich hab mal ein wenig gespielt.
Es scheint mir so zu sein:unter Linux
(und wenn ich Linux sage, beziehe ich mich auf Debian Linux und zwar als VM unter VMPlayer unter Windows)
wird derzeit offenbar nur der Vorkomma-Teil von uiScale berücksichtigt mindestens aber 1.
auf gut Deutsch haltactualUiScale = max(1, floor(uiScale))
Die Anzeige ist unter Linux bei uiScale 0 bzw. 0.5 bzw. 1.0 bzw 1.5 bzw. 1.9 identisch.
uiScale Werte von 2.0 bzw. 2.5 liefern jeweils größere Darstellung, aber beide dieselbe.
-Somit, zu Deiner Frage:Q: Wie bekomme ich die Schrift größer?
A: Versuche bitte mal einen uiScale-Wert von 2.0 oder höher. 1.x bringt derzeit nichts.
für den Linux Absatz gilt:
Ich habe das getestet mit AdoptOpenJDK 11 und 13, ZuluOpenJDK 11 und 13, ORACLE JDK 13.
Ich habe es getestet mit MediathekView 13.5 und mit einem anderen Java-Programm mit Swing-GUI (JD-GUI 1.6.5).Ein Test mit MV 13.2.1 unter Java 8 ergibt nicht allzuviel Sinn, da das uiScale offenbar erst nach Java 8 eingeführt wurde.
unter Windows
wird offenbar auch der Nachkomma-Teil von uiScale berücksichtigt, Werte kleiner gleich 0 werden ersetzt durch 1.0
auf gut Deutsch haltactualUiScale = (uiScale > 0.0))? uiScale : 1.0
Für den Windows Absatz gilt:
Ich habe das mit AdoptOpenJDK 11 getestet.
Ich habe es getestet mit MediathekView 13.5 und mit einem anderen Java-Programm mit Swing-GUI (JD-GUI 1.6.5) .unter macOS
…können gerne andere Personen Testergebnisse beitragen.So weit ich auf die Schnelle sehe nutzt das andere Java-Programm (JD-GUI) für die GUI nur Swing, ohne JavaFX-Elemente. Und schon da tritt dasselbe Problem auf: uiScale=1.5 bringt keinen sichtbaren Unterschied.
Für mich weist das darauf hin, dass das Problem nicht an MediathekView liegt.
So wirklich was gefunden habe ich nicht. Aber sun.java2d.uiScale scheint aber unter Linux noch weitere Probleme zu haben… -
@Oceanwaves sagte in Fehlende Barrierefreiheit für Menschen mit Sehschwäche:
habe daher nach der Installation in /opt/MediathekView/MediathekView.vmoptions den Parameter
-Dsun.java2d.uiScale=1.5eingetragen. Ist der einzige aktive Eintrag in der Datei, bewirkt aber leider gar nichts, die Texte sind nach wie vor unleserlich klein
Gnome? KDE?
Es dürften, wie @rubikon schon rausgearbeitet hat, bei gewissen Distros (?)/Windowmanagern (Gnome?) nur ganzzahlige Werte zulässig sein. Zumindest findet man auch bei anderen Programmen solche Hinweise.
Unfortunately it doesn’t seem to be possible to have non-integer scaling, as with KDE which seems more flexible than Gnome WRT scaling
Zu dem liefert google da oder dort den Hinweis, dass zwei Einträge notwendig sein sollen (auch im erwähnten link):
-Dsun.java2d.uiScale=2 -Dsun.java2d.uiScale.enabled=true
-
@DaDirnbocher ok, Danke für den Hinweis beim Verfassen meines Beitrags hatte ich Matschbirne und hatte das Thema Windowmanager komplett nicht auf dem Schirm.
Ich habe vorhin ein wenig probiert:
-debian VM (wmctrl -m
-> KWin,echo $DESKTOP_SESSION
-> plasma, also KDE)
-kubuntu VM (wmctrl -m
-> KWin,echo $DESKTOP_SESSION
-> plasma, also KDE)
-xubuntu VM (wmctrl -m
-> xfwm4,echo $DESKTOP_SESSION
-> xubuntu)
-knoppix nativ (wmctrl -m
-> Compiz,echo $DESKTOP_SESSION
kannte ich damals noch nicht und will jetzt nicht nochmal rebooten. Desktop könnte LXDE sein.)Ich habe bei allen 3 genannten VMs MV 13.5 gestartet und uiScale=1.x bringt bei allen Skalierung 1 (also keine), uiScale=2.0 bringt tatsächlich eine Größenverdoppelung der UI-Elemente.
Unfortunately it doesn’t seem to be possible to have non-integer scaling, as with KDE which seems more flexible than Gnome WRT scaling
Bei meinen VMs ist von dieser besagten höheren Flexibilität bei KDE nix zu spüren.
-Dsun.java2d.uiScale.enabled=true
verändert bei mir nichts.
Unter knoppix konnte ich MV 13.5 zwar installieren, aber ich bekomme das Programm dort nicht gestartet. Will ich jetzt aber nicht vertiefen. Allerdings habe ich auch unter knoppix jd-gui getestet, mit Java 11. Und auch dort ist es so: Faktor 1.x bringt nix, Faktor 2.0 dagegen wohl.
Also für mich sieht es so aus, als ob jemand in der Anleitung einen Hinweis für Linux einbauen könnte, dass einige Desktops nur ganzzahlige Skalierung erlauben.
Rein von der Tradition her könnten viele Linux-Nutzer gegenüber dem Thema “Einstellungen in config-Dateien selbst vornehmen” aufgeschlossener gegenüberstehen als Windows-Nutzer.Ich hatte neulich überlegt, ein kleines JavaFX Programm zur Verfügung zu stellen, das man per Kommandozeile aufruft, welches .vmoptions Dateien per Klicki ändert und ich hab das Programm als JavaFX Fingerübung auch begonnen. GUI hätte ich schon einiges. Aber ich bin unschlüssig, ob in MV per Kommandozeilenaufruf eines Programms (wg. Schreibschutz auf C:\Programme mit Administratorrechten bzw. ähnlich in /opt mit #root-Rechten) tatsächlich ein vernünftiger Ansatz wäre - und ich bin derzeit auch eher faul, was Programmieren in meiner Freizeit betrifft.
-
@rubikon
Ich habe selbst mal etwas mit MV13.5 und Java 11 unter Ubuntu 16.04 rum gespielt und .vmoptions und MediathekView.vmoptions im Programm- und Einstellungen-Verzeichnis angelegt, immer ohne Erfolg. Das liegt sicherlich daran, dass diese Datei nur benutzt wird, wenn MediathekView mittels der mitgelieferten Startprogramme aufgerufen wird und nicht durch einen Konsolenbefehl. Um die generelle Funktion zu testen, habe ich daher erfolgreich die Option zum Kommando hinzu gefügt.
java -Dsun.java2d.uiScale=2 -jar target/MediathekView.jar
Es scheint mit dieser Lösung bei mir auch nur eine ganzzahlige Skalierung möglich zu sein.
Mein Environment: XDG_CURRENT_DESKTOP=Unity, GDMSESSION=ubuntu -
@MenchenSued
Da Du in Deinem Post keine ausdrücklich anderen Angaben machst, nehme ich mal die Angaben aus Deiner Signatur. Ich meine damit konkret: laut Deiner Signatur hast Du das mit Java 8 getestet. Ich hab am Freitag Abend von Tests mit Java 8 ausdrücklich abgesehen.Denn verstehe ich die verlinkte Auflistung der VM-Optionen für Java 8 so: Java 8 kannte diese Option noch gar nicht. Auch an anderer Stelle irgendwo im Netz hab ich glaub ich Hinweise gesehen, dass
sun.java2d.uiScale
erst mit Java 9 eingeführt wurde.Sicher gehen, welches Java im Pfad liegt kann man z.B. mit
java -version
im Terminal / CMD.Ich hab bei mir eben -nur für Spaßß- unter Windows grade MV 13.2.1 mit JRE 8u231 gestartet und dabei uiScale 2.0 angegeben und wie von mir erwartet hat das bei mir: keinen Effekt.
-
@rubikon
Sorry, hier die fehlenden Angaben: Java 11 und MV 13.5.Meine Signatur zeigt meine offizielle Arbeitsumgebung, ich probiere aber auch neuere Versionen aus in der Hoffnung, bald meine Filterprofile wieder zurück zu bekommen. Und natürlich kann ich durch die zeitweise Verwendung der aktuellen Version eventuell auch bei Fragen helfen.
-
@MenchenSued baßt scho :winking_face:
Mit Blick auf die von @DaDirnbocher angesprochene Thematik “Unterschiede verschiedener Desktops wie Gnome, KDE, usw. und Windowmanager unter Linux” könntest ggfs. bitte noch einen weiteren edit spendieren und das Ergebnis von
echo $DESKTOP_SESSION
bzw.wmctrl -m
in Deinem Beitrag einfügen. -
Moin!
Erst mal vielen Dank für die Antworten! Ich habe es jetzt mal mit
-Dsun.java2d.uiScale=2
probiert und dies bringt tatsächlich eine Änderung gegenüber 1.irgendwas. Jetzt ist die Schrift zwar sehr groß, aber immer noch besser als zu klein.
Ich setze SuSE Tumbleweed mit Plasma5 (KWin) ein, Java istopenjdk version "11.0.5" 2019-10-15
.Interessanterweise kann ich bei JDownloader (ebenfalls Java) über die erweiterten Einstellungen mit dem Parameter
LAFSettings: Font Scale Factor
die Schriftgröße in 1%-Schritten einstellen. Ein Wert von 150 zeigt eine kleinere Schrift als z.B. 175.Optimal wäre es natürlich, wenn die Anwendungen einfach den Parameter in den Systemeinstellungen (Anzeige->Skalierung bei KDE/Plasma5) übernehmen würden. Aber dann müsste man wohl Abfragen für alle möglichen Desktops implementieren.
-
@Oceanwaves sagte in Fehlende Barrierefreiheit für Menschen mit Sehschwäche:
Moin!
Erst mal vielen Dank für die Antworten! Ich habe es jetzt mal mit
-Dsun.java2d.uiScale=2
probiert und dies bringt tatsächlich eine Änderung gegenüber 1.irgendwas. Jetzt ist die Schrift zwar sehr groß, aber immer noch besser als zu klein.
Ich setze SuSE Tumbleweed mit Plasma5 (KWin) ein, Java istopenjdk version "11.0.5" 2019-10-15
.Interessanterweise kann ich bei JDownloader (ebenfalls Java) über die erweiterten Einstellungen mit dem Parameter
LAFSettings: Font Scale Factor
die Schriftgröße in 1%-Schritten einstellen. Ein Wert von 150 zeigt eine kleinere Schrift als z.B. 175.Optimal wäre es natürlich, wenn die Anwendungen einfach den Parameter in den Systemeinstellungen (Anzeige->Skalierung bei KDE/Plasma5) übernehmen würden. Aber dann müsste man wohl Abfragen für alle möglichen Desktops implementieren.
Ich hab da ja eigentlich schon oben verlinkt, aber nicht so explizit erwähnt, daher hiner gerne nocheinmal.
Hier gibts eine Fülle an Lösungsmöglichkeiten für das HiDPI-“Problem” in den diversen Linuxsystemen/Programmen unter Linux.
Da ist z.B. auch von einem “Display Scale not integer bug” unter KDE-Plasma die Rede.
Auch die Suchbegriffe “fractal scaling” oder “non integer scaling” in der Suchmaschine Deiner Wahl - wahlweise in Kombination mit Linux und/oder HiDPI - liefern eine Vielzahl an Treffern, die eines zeigen. So ganz trivial ist das Thema nicht. Und es zeigt meines Erachtens auch, dass es eines von Linux bzw. der Distribution bzw. des Windowmanagers bzw. des Desktops - whatever - ist. Aber offensichtlich keines von MV.
Mag sein, dass sich in JDownloader bei Dir kein Problem zeigt (oder eine für Dich passende Problemlösung beinhaltet ist) , ob das allerdings reicht des Problem MV umhängen zu wollen, bezweifle ich.