A JDownloader alkalmazás megjelenésének javítása a Java fontok tekintetében

kimarite képe

A JDownloader alkalmazás Java programnyelven íródott. A Java egyedien kezeli a fontokat, azaz a Java-s alkalmazásokban megjelenő karakterek néha csúnyák, szálkásak, vékonyak, szóval, mondjuk ki: nem szépek.

Látható, hogy a karakterek nem hasonlítanak a rendszer többi alkalmazásában megjelenő karakterre sem, tehát nem ugyanaz a betűtípus van használva itt, hanem a Lucida. Mindez más OS alatt is meglévő jelenség, és nem GNU/Linux vagy Unix sajátosság.
A JDownloader-ről itt írtam (előzmények a válaszokban):
https://linuxmint.hu/blog/2018/12/a-jdownloader-alkalmazas-telepitese
A fontok és a Java programnyelv kapcsolatával foglalkozó weboldalak a leírásban megtalálhatóak, de a blog végén összegzem is.

Megoldás

A jelenséget több bevált módszerrel próbáltam megoldani, kezelni, de végül ez lett a megoldás:

-- három, Java fontokat kezelő alkalmazás telepítése,

sudo apt-get install libfontchooser-java libfonts-java libisfreetype-java

Valójában települ:

Commit Log for Sun Dec 30 02:28:58 2018

A következő csomagok telepítve lettek:
libapache-pom-java (18-1)
libbase-java (1.1.6-2)
libcommons-logging-java (1.2-2)
libcommons-parent-java (43-1)
libfontchooser-java (1.0.0-2)
libfonts-java (1.1.6.dfsg-3)
libisfreetype-java (5.3.20100629-3build1)
libisnativec-java (5.3.20100629+fix-1)
libisrt-java (4.8.20100629-3)
libjcommon-java (1.0.23-1)
libjna-java (4.5.1-1)
libjna-jni (4.5.1-1)
libloader-java (1.1.6.dfsg-4)

-- két változtatás a JDownloader alkalmáson belül: „114” és a „Noto Sans” betű típusra átállítás

A beállítás elérése

Beállítások > Beállítások > Speciális beállítások

Majd a LAF kifejezésre keresve szűkíted a találatokat.

A szerkesztés kiválasztással történik (a szerkesztendő tulajdonságra kattintasz: ilyen például a képernyőképeken látható „114”), szerkeszted azt, majd Enter-t kell ütni az új érték vagy kifejezés beállításához. A változtatás az alkalmazás újraindítása után lép életbe és nem azonnal, de erről tájékoztat a JDownloader. A sárga nyíl jelzik a változtatásokat. Az ezekre kattintással visszaállítod az eredeti értéket: a változtatás szintén az alkalmazás újraindítása után lép életbe.
A Lucida vagy például az Ubuntu betűtipus nekem nem tetszett (az alkalmazásban beállítva). A Linux Mint a Noto karaktereket használja, következésképpen ezt állítottam be. Egész jó a végeredmény.
Mindez számomra azt jelenti, hogy jól össze van rakva a rendszerem, nem kell immár a környezeti változókat, egyéb konfigurációkat szerkeszteni.

Hasznos tudnivalók

Lucida Fonts
https://www.fontseek.com/fonts/lucida.htm#free_lucida
Forrás: https://askubuntu.com/questions/98579/how-do-i-get-lucida-fonts

Make X11 fonts available to Java
http://vietunicode.sourceforge.net/howto/fontlinux.html

Java Runtime Environment Fonts
https://wiki.archlinux.org/index.php/Java_Runtime_Environment_Fonts

Open JDK patched with font fix (már nem fejlesztett Infinality Fonts)
https://github.com/achaphiv/ppa-fonts/blob/master/openjdk-fontfix/README.md

JDownloader - Font size (JDownloader fórum)
https://board.jdownloader.org/showthread.php?t=73752

JDownloader (Arch Linux Wiki)
https://wiki.archlinux.org/index.php/JDownloader

Kapcsolódó témák

A Telegram alkalmazás telepítése, a menü- és a chat karakterek nagyítása
https://linuxmint.hu/blog/2018/12/a-telegram-alkalmazas-telepitese-a-menu-es-a-chat-karakterek-nagyitasa
Hasonló megoldást alkalmaz a Telegram alkalmazás

Qt alkalmazások megjelenése nem KDE asztali környezet alatt
https://linuxmint.hu/blog/2018/05/qt-alkalmazasok-megjelenese-nem-kde-asztali-kornyezet-alatt
Hasonló megoldás a Qt programnyelvben írt alkalmazásokra (VLC)

Enjoy :-)

-----

Az említett dolgok, amikkel próbálkoztam még.

Környezeti változók

A # jelentése: megjegyzés, azaz komment. Segítségképpen, emlékeztetőnek, például a leírás forrására való utalás miatt teszem a konfigurációba: a kettőskereszttel kezdődó sorokat nem veszi figyelembe a rendszer.

  • /etc/environment

Szerkesztés

sudo nano /etc/environment

Új tartalom (a végére, új sorba)

###Java App fonts
#https://wiki.archlinux.org/index.php/Java_Runtime_Environment_Fonts
#https://github.com/achaphiv/ppa-fonts/blob/master/openjdk-fontfix/README.md
#_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=gasp -Dsun.java2d.xrender=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
_JAVA_OPTIONS="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.no"

A JAVA_OPTIONS értéket a Netbeans 8.2 alkalmazásból, a netbeans.conf fájlból vettem át.
https://linuxmint.hu/forum/netbeans-82-nem-ad-lehetoseget-uj-project-keszitesre
És van egy kommentelt (#) sor, az egy próba volt leírások alapján.

  • /home/$USER/.profile

Szerkesztés
(nemcsak a nano-val szerkesztheted, megnyithatod a fájlkezelőből is)

nano /home/$USER/.profile

Új tartalom (a végére, sorközzel)

# http://vietunicode.sourceforge.net/howto/fontlinux.html
JAVA_FONTS=/usr/share/fonts/truetype
export JAVA_FONTS
  • fontconfig.properties.src

Szerkesztés akár a fájlkezelőből nyitva

/home/$USER/jd2/jre/lib/fontconfig.properties.src

Új tartalom (a végére)

# Make X11 fonts available to Java
# http://vietunicode.sourceforge.net/howto/fontlinux.html
appendedfontpath=/usr/share/fonts/truetype

A második és a harmadik sor az új tartalom.

Majd: Mentés más néven!
Az új név: font.properties

Az eredeti fontconfig.properties.src fájl teljes tartalma (a szerkesztés előtt)

#
# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
#

# Version

version=1

# Component Font Mappings

serif.plain.latin-1=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.bold.latin-1=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.latin-1=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.bolditalic.latin-1=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1

sansserif.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1

monospaced.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1

dialog.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1

dialoginput.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1

# Search Sequences

sequence.allfonts=latin-1

# Exclusion Ranges

# Font File Names

# Make X11 fonts available to Java

!Fontos: a változtatások érvényesítése a rendszer újraindítását, vagy legalább ki- és bejelentkezést kíván.

Hozzászólások

kimarite képe

Xfce: Error parsing gtk-icon-sizes string: '' (IconSizes)

Értékelés: 

0
Még nincs értékelve

Az environment fájl tartalma (szerkesztés: sudo nano /etc/environment):

_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"

Frissítés, a változtatás alkalmazása:

source /etc/environment

Hiba jelentkezik (ok: nincs érték megadva az ikon méretekre)

Error parsing gtk-icon-sizes string: ''

a SweetHome3D alkalmazás futtatásakor (terminálban):

_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel" /opt/SweetHome3D-6.3/SweetHome3D

A megoldás (terminálban):

xfconf-query -c xsettings -p /Gtk/IconSizes -s "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48"

A beállítás az Xfce beállításszerkesztő alkalmazásával is elvégezhető grafikusan:

xsettings > Gtk > IconSizes

Az IconSizes elemnél kell megadni:

gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48

-----

Font simítás lehetőségei (-Dawt.useSystemAAFontSettings=settings)

If you don't want to run an xsettings daemon, or the fonts still look ugly, there is also a system property to set anti-aliasing. To do this system-wide, add the following line to /etc/environment:

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting'

Where setting is one of the values:

Setting Description
off, false, default No anti-aliasing
on Full anti-aliasing
gasp Use the font's built-in hinting instructions
lcd, lcd_hrgb Anti-aliasing tuned for many popular LCD monitors
lcd_hbgr, lcd_vrgb, lcd_vbgr Alternative LCD monitor setting

The gasp and lcd settings work well in many instances.