Brzydkie czcionki w Operze – rozwiązanie

12/09/2009 – 23:44

Nie od dziś znany jest problem brzydkich czcionek w Operze na Linuksie, zarówno w wersji QT3 jak i QT4. Sam spotkałem się z tym problemem i znalazłem rozwiązanie, które – akurat w moim przypadku – działa w 100% i nie jest skomplikowane.

Aby mieć lepszy obraz fontów, poniżej przedstawiam jak wygląda u mnie Opera (QT4) z brzydkimi czcionkami:

A oto dobre czcionki w przypadku Firefoksa i Opery (zwróćcie uwagę, że są one takie same, czego nie można powiedzieć o powyższym screenie):

Gdzie leży problem? Wbrew pozorom nie w ustawieniach Opery, ale w ustawieniach QT3/QT4. Niestety, odpowiednich zmian nie można dokonać poprzez aplikację qtconfig. Są tylko dwa wyjścia: konfiguracja fontów poprzez Centrum Sterowania KDE (zarówno seria 3 jak i 4 tego środowiska), bądź poprzez ręczną edycję np. pliku ~/.fonts.conf.

Osobom nie korzystającym z KDE, nie opłaca instalować się całego środowiska tylko po to, aby zmienić wygląd czcionek dla Opery. Jeżeli zaliczasz się do nich, skorzystaj z gotowego ~/.fonts.conf, który podam niżej.

Jakie są konkretne wymagania jeżeli chodzi o czcionki dla Opery? W przypadku nie korzystania z antyaliasingu (ja osobiście korzystam, co widać na wyżej zaprezentowanych zrzutach przeglądarek), ustawienia hintingu są uzależnione od danej czcionki – np. vistowa czcionka Segoe Ui, wymaga pełnego hintingu aby wyglądała ładnie, w przypadku wyłączonego wygładzania; inaczej za to prezentuje się np. Tahoma, której hinting w ogóle nie jest potrzebny.

Co z osobami, które korzystają z antyaliasingu i chcą mieć ładne czcionki w Operze? Najczęściej jest wymagany włączony antyaliasing dla QT3/4 i włączony pełny hinting.

Nie jestem w stanie powiedzieć Ci, jakich ustawień potrzebujesz, ponieważ nie mam zielonego pojęcia, jakich czcionek używasz. Na końcu tego wpisu zaprezentuję kilka przykładowych plików ~/.fonts.conf, które muszą znajdować się w Twoim katalogu domowym. Ich składnia jest dziecinnie prosta, dlatego w przypadku kiedy któryś z nich nie zadziała u Ciebie, będziesz mógł w prosty sposób dokonać odpowiedniej korekty pliku.

Pamiętaj, że w przypadku kiedy nie wybierzesz w konfiguracji swojego środowiska graficznego, opcji odpowiedzialnej za sterowanie czcionkami przez środowisko graficzne, wszystkie fonty będą mieć takie same ustawienia jakie znajdują się w pliku ~/.fonts.conf, co może – ale nie musi – spowodować zmianę wyglądu Twoich dotychczasowych czcionek w niektórych programach.

Przykładowe pliki ~/.fonts.conf:

  1. komentarzy 15 dla “Brzydkie czcionki w Operze – rozwiązanie”

  2. Witam!
    Zainstalowalem opere 10.50 Alfa. Niem mam pojecia z kad ona pobiera czcionki, ale twoja porada nie dzila w tej wersji? http://imagebin.ca/view/hVNlRm.html

    By zomer on Sty 21, 2010

  3. W tej wersji nie testowałem niestety. Jeżeli przetestuję, to opublikuję informacje na blogu (choć wątpię abym znalazł na to czas).

    By Kaka' on Sty 21, 2010

  4. Z tego co zauważyłem, Opera 10.50 nie korzysta z systemowych libów QT, lecz z tych, które są dostarczane wraz z Operą, dlatego mogą występować właśnie problemy z konfiguracją QT.

    Poczekam do wydać RC lub stable i wtedy ewentualnie opublikuję howto dla 10.50.

    By Kaka' on Sty 31, 2010

  5. Witam,

    używam na codzień GNOME (w Ubuntu;-), korzystam w systemie z czcionki Tahoma i mam u siebie wyłączony antyaliasing, czyli korzystam z pliku, który jest podobny do trzeciego, który zaprezentowałeś. Jednak po zainstalowaniu Opery w wersji 10.53 (pobrałem z http://ftp.opera.com/pub/opera/linux/ ;-) po jej odpaleniu byłem w szoku, ponieważ czcionki były wygładzane! Opera nie chciała korzystać z ustawień ~/.fonts.conf. Okazało się, że rozwiązaniem tego problemu jest wyłączenie antyaliasingu w systemie:

    System -> preferencje -> Wygląd -> Czcionki -> Renderowanie: Szczegóły -> Wygładzanie: Brak

    Nigdy tego nie zmieniałem, ponieważ plik ~/.fonts.conf automatycznie wyłączał antyaliasing, jednak w tym wypadku do pełni szczęścia trzeba tego dokonać;-)

    Pozdrawiam!

    By Przemek on Cze 5, 2010

  6. A jeszcze naszła mnie jedna refleksja…

    Jak wyłączyć antyaliasing w GDMie oraz aplikacjach graficznych uruchamianych z prawami root’a (np. aplet aktualizacji oprogramowania)? Niestety pomimo używania pliku ~/.fonts.conf antyaliasing czcionek występuje w powyższych przypadkach…

    Masz może jakiś pomysł?

    Pozdrawiam,
    Przemek.

    By Przemek on Cze 11, 2010

  7. Wrzuć ten plik do katalogu roota.

    By Kaka' on Cze 12, 2010

  8. No faktycznie, powinienem to najpierw sam przetestować… A masz może koncepcje co zrobić z tym GDM’em? Gdzie można skonfigurować czcionki i ich antyaliasing?

    Pozdrawiam.

    By Przemek on Cze 19, 2010

  9. GDM korzysta z GTK2, więc globalne ustawienia czcionek dla GTK2, będą również działać dla GDM’a. Pamiętaj jednak, że GDM jest uruchamiany z prawami roota, nie użytkownika. Czy wrzucenie tego pliku do katalogu roota, poskutkowało dla aplikacji odpalanych z poziomu administratora oraz dla GDM’a?

    By Kaka' on Cze 19, 2010

  10. Poskutkowało dla aplikacji uruchamianych z prawami root’a, niestety GDM dalej ma włączony antyaliasing… Szukałem pakiety w stylu ‚gdmconfig’ ale niestety nic takiego nie znalazłem…

    By Przemek on Cze 19, 2010

  11. Zobacz to: http://fetzig.org/2010/05/30/setting-font-settings-for-gdm/

    Spróbuj via gconfig2. Masz tam podane przykładowe polecenia. Spróbuj nimi wyłączyć antyaliasing.

    By Kaka' on Cze 19, 2010

  12. Dzięki WIELKIE po raz kolejny;-)

    Udało się po ustawieniu zmiennych za pomocą sudo gconf-editor (po zmianie wartości należy kliknąć na nią PPM i wybrać „Ustaw jako wartość obowiązującą”):

    /desktop/gnome/font_rendering/hinting –> full
    /desktop/gnome/font_rendering/antialiasing –> none

    wynik można sprawdzić po wydaniu komendy:

    sudo gconftool-2 -R /desktop/gnome/font_rendering

    następnie należy wpisać:

    sudo chown -R gdm:gdm /var/lib/gdm/.gconf
    sudo restorecon -r /var/lib/gdm

    i antyaliasing zniknął;-)

    Pozdrawiam,
    Przemek.

    By Przemek on Cze 20, 2010

  13. Opera 10.60 nie korzysta z ./fonts.conf a z ./Xdefault. Gdyby kożystała z fonts.conf, nie byłoby najmniejszego problemu, jednak że jest rysowana przez Xy, robi z czcionkami co jej się podoba, przez co jest burdel.

    ps. Twoje przykłady niestety u mnie nie działają i nadal mam np. pogrubione nagłówki, h2

    By Łukasz on Cze 25, 2010

  14. Cześć,

    znowu mam mały problem z czcionkami- tym razem nie w Operze, lecz w systemie… Zainstalowałem sobie nowe Ubuntu 10.10 i pojawił się następujacy problem:

    W poprzednich wersjach, czcionkami domyślnie używanymi przez system były „Sans” i „Monospace”. Jednak nie przepadałem za nimi i używałem „Tahome” oraz „Liberation Mono”- robiłem to w ten sposób, że do pliku /etc/fonts/fonts.conf dodawałem następujace wpisy (zastąpiłem klasyczne znaki „” znakiem „+” ponieważ wpis nie zostałby poprawnie wyświetlony):

    +alias+
    +family+monospace+/family+
    +prefer+ +family+Liberation Mono+/family++/prefer+
    +/alias+
    +alias+
    +family+sans-serif+/family+
    +prefer++family+Tahoma+/family++/prefer+
    +/alias+

    Jednak w nowej wersji systemu, używana jest nowa czcionka- „Ubuntu”. Niestety zastąpienie w powyższych wpisach „sans-serif” poprzez „Ubuntu” lub „ubuntu” nie pomaga… Masz masz moze pomysł jak to rozwiązać?

    Pozdrawiam,
    Przemek.

    By Przemek on Paź 14, 2010

  15. Hmm, nie testowałem najnowszego Ubuntu więc trudno mi ocenić. Być może Ubuntu w tej wersji ignoruje globalną konfigurację czcionek. Próbowałeś po prostu w środowisku graficznym zmienić czcionki?

    By Kaka' on Paź 14, 2010

  16. Jasne, jak zmienię w środowisku graficznym, to wszystko jest ok, tylko myślałem, że może i tym razem uda się to załatwić bez dodatkowej klikaniny.

    No, ale nie ma problemu- jakoś przeżyję;-)

    Pozdrawiam,
    Przemek.

    By Przemek on Paź 14, 2010

Napisz komentarz