Page 1 of 2
FireFox i mikroskopijne czcionki na WWW - ROZWIĄZANIE!
Posted: Tue Jun 01, 2004 4:39 pm
by argasek
Kolejny tekst związany z FireFox który podesłałem na gentoo.pl, może komuś się przyda...
Na pewno wielu z Was gnębi (tak jak i mnie) problem - dlaczego wchodząc na strony takie jak 7thguard.net czy nawet gentoo.pl

FireFox renderuje mikroskopijne czcionki.
Diabeł jak się okazało, tkwi w szczegółach i sam nie umiem powiedzieć, po czyjej stronie leży wina. Z jednej strony jest to pewnego rodzaju sygnał o złym zaprojektowaniu styli kaskadowych w/w serwisów, z drugiej - kwestia ustawień, jak się okazuje, X-serwera!
Dla niecierpliwych proponuję ominąć następny paragraf, natomiast polecam go ciekawskim...
Problem jest następujący: otóż duża część witryn internetowych używa styli kaskadowych (CSS), gdzie rozmiar wyświetlanych fontów określany jest za pomocą wielkości w punktach (pt) a nie pikselach (px). Ostateczna wielkość renderowanych znaków zależeć będzie więc od ich wielkości w pt, ale także od rozdzielczości DPI systemu graficznego którego używamy. I tu rodzi się problem - Windows standardowo pracuje w rozdzielczości 96 DPI, podczas gdy XFree/X.org lubi domyślnie działać w 75 DPI, lub, co gorsza, w DPI dobranym wedle gustu sterownika karty graficznej!... Problemy tego rodzaju na pewno pojawiają się przy zmianie sterowników OpenSource na binarne (sprawa dotyczy zarówno ATi jak i nVidii), a już na pewno przy użyciu opcji IgnoreEDID w pliku konfiguracyjnym X-ów - wówczas DPI jest wymuszana na 75.
Rozwiązanie jest proste - potrzebujemy wystartować X-serwer z rozdzielczością 96 DPI. Jak to zrobić...
a) jeśli uruchamiamy X-y "z palca", edytujemy plik
i zmieniamy linijkę
Code: Select all
defaultserverargs="-nolisten tcp -br"
na
Code: Select all
defaultserverargs="-dpi 96 -nolisten tcp -br"
b) w przypadku użycia KDM edytujemy plik
Code: Select all
/usr/kde/3.2/share/config/kdm/Xservers
aby zawierał mniej więcej coś takiego:
Code: Select all
:0 local@tty1 /usr/X11R6/bin/X -dpi 96 -nolisten tcp vt7
c) w GDM - nie wiem
d) w XDM, sytuacja analogiczna jak w KDM, tylko że edytujemy plik w /etc/X11/xdm .
Nie zapomnijcie zrestartować X-ów po tych zmianach, na początku wszystko będzie wieeeelkie ale kwestia rekonfiguracji KDE / Gnome / tematów GTK i właściwie tyle...
Posted: Tue Jun 01, 2004 5:59 pm
by Vrok
A nie prościej ustawić minimalną czcionkę w przeglądarce?

Posted: Tue Jun 01, 2004 6:33 pm
by mkay
Vrok wrote:A nie prościej ustawić minimalną czcionkę w przeglądarce?

kolega ze slackware - on lubi sie przemeczac

Posted: Wed Jun 02, 2004 6:36 am
by argasek
Vrok wrote:A nie prościej ustawić minimalną czcionkę w przeglądarce?

Gdyby to działało, już dawno bym to zrobił, a nie pisał cały ten post...

Posted: Wed Jun 02, 2004 11:46 am
by endel
niezle

albo ctrl+rolka myszy

ech
Posted: Wed Jun 02, 2004 12:09 pm
by rane
A w operze wystarczy sam "+" no i opcja z minimalnym rozmiarem czcionki też działa bez zarzutu

Posted: Wed Jun 02, 2004 6:36 pm
by mkay
argasek wrote:Vrok wrote:A nie prościej ustawić minimalną czcionkę w przeglądarce?

Gdyby to działało, już dawno bym to zrobił, a nie pisał cały ten post...

to nie moze byc problem x'ow, bo gdyby tak bylo podobne efekty bylyby w operze, OO i innych programach. to raczej mozilla cos skopala
Posted: Thu Jun 03, 2004 10:05 am
by argasek
Po pierwsze: to nie jest problem X-ów. Nie wiem czy próbowałeś przestawić tę opcję; ale generalnie wszystkie (poprawnie napisane) aplikacje X-owe zachowują się tak jak powinny, czyli przy wzroście DPI powiększa się też rozmiar renderowanych glyphów. (Dotyczy to zarówno aplikacji opartych na QT, jak i GTK/GTK2).
Po drugie: akurat przykład OpenOffice i Opery jest bardzo nietrafiony, ponieważ OO ma własny renderer fontów i nie korzysta z "right way", jakim jest korzystanie z X font server, freetype/xtt czy fontconfig-a. Nie wiem z czego korzysta Opera, ale podejrzewam ze problem jest podobny.
Natomiast z Mozillą oczywiście wszystko jest OK, a powiem nawet więcej, jeżeli Opera nie powiela zachowania engine'u Gecko w tym punkcie, to tym gorzej dla niej (przynajmniej w moich oczach), bo w takim razie renderuje style kaskadowe niepoprawnie. Zamiast pisać bzdury, poczytałbyś specyfikację CSS 2.1 na W3.org i sprawdził jaka jest różnica pomiędzy pt i px przy rozmiarach fontów. I owszem, Internet Explorer na pewno interpretuje rozmiary tekstów określone stylami niepoprawnie, nie wiem jak Opera, ale wnioskuję z tego, że też.
Na przyszłość polecam lekturę:
http://www.w3.org/TR/REC-CSS2/syndata.html#length-units
i proszę sobie zobaczyć ile to jest 1 pt. Jeżeli to mało przemawiające, to dodam jeszcze, że DPI = Dots Per Inch, czyli po naszemu, punktów rastrowych na cal.
Miejscem, gdzie leży problem jest fakt, że po prostu nigdzie nikt nie zaznaczył, że ustawienie opcji IgnoreEDID w ustawieniach serwera X może skutkować (bo nie wiem czy tak jest z każdymi sterownikami, ale sprawa na pewno dotyczy binarek nVidii i ATI) wymuszeniem DPI X-serwera na 75, a w konsekwencji innym renderowaniem elementów wizualnych na WWW przez przeglądarki oparte na engine'ach trzymających się standardów ;P
Posted: Thu Jun 03, 2004 5:13 pm
by mkay
argasek wrote:Po pierwsze: to nie jest problem X-ów. Nie wiem czy próbowałeś przestawić tę opcję; ale generalnie wszystkie (poprawnie napisane) aplikacje X-owe zachowują się tak jak powinny, czyli przy wzroście DPI powiększa się też rozmiar renderowanych glyphów. (Dotyczy to zarówno aplikacji opartych na QT, jak i GTK/GTK2).
nie probowalem ale wierze, ze zmiana spowoduje zmiane wielkosci czcionek we wszystkich aplikacjach (co jest zreszta dla mnie oczywiste). chodzi mi o to, ze opisany przez ciebie problem nie wystepuje nigdzie poza mozilla - wiadomo - mozna powiekszyc czcionki systemowo, a pzoniej zmniejszyc wszystkim programom poza mozilla, ale czy to naprawde najlepsze (jedyne) wyjscie?
Natomiast z Mozillą oczywiście wszystko jest OK, a powiem nawet więcej, jeżeli Opera nie powiela zachowania engine'u Gecko w tym punkcie, to tym gorzej dla niej (przynajmniej w moich oczach), bo w takim razie renderuje style kaskadowe niepoprawnie.
argasek wrote:Zamiast pisać bzdury, poczytałbyś specyfikację CSS 2.1 na W3.org i sprawdził jaka jest różnica pomiędzy pt i px przy rozmiarach fontów.
alez ja wiem jaka jest roznica
argasek wrote:
I owszem, Internet Explorer na pewno interpretuje rozmiary tekstów określone stylami niepoprawnie, nie wiem jak Opera, ale wnioskuję z tego, że też.
a moze po prostu w operze (i pewnie tez w tak znienawidzonym przez wszystkich IE) dziala ustawienie minimalnego rozmiaru czcionki z czym jak widac mozilla sobie nie radzi?
Posted: Thu Jun 03, 2004 8:18 pm
by argasek
Może ujmę to inaczej: ominięcie problemu przy użyciu tricków w stylu powiększanie via Ctrl-'+' czy poprzez ustawianie minimalnego rozmiaru fontu to raczej nie jest kompletne rozwiązanie, tylko workaround. Jeśli ktoś lubi stosować półśrodki, to ja mu nie bronię...
Tu korekta. Ustawianie minimalnego rozmiaru czcionki działa, jeśli napisałem coś odwrotnego, musiałem mieć zaciemnienie umysłowe,

natomiast, podkreślę drugi raz, _to nie jest rozwiązanie_. Dlaczego - poniżej:
Chcąc wyświetlić stronę zgodnie z intencjami jej autora, ustawiając parametr taki jak minimalny rozmiar fontu, robimy jedynie coś takiego:
if (rozmiar_fontu < minimalny_rozmiar_fontu)
rozmiar_fontu = minimalny_rozmiar_fontu;
W praktyce: jeżeli autor projektował stronę tak, aby w DPI = 96 fonty wyświetlały się z rozmiarami np. 6,10 i 12 px, a my wymusimy minimalny rozmiar na np. 11 px, to możemy śmiało założyć w 75 DPI rozmiary odpowiednio się przeskalują na mniejsze, więc wyjdzie coś circa (powiedzmy) 4px, 8px, 10px. Jaki będzie efekt?
4px -> 11 px
8px -> 11 px
10px -> 11 px
Słowem, wszystkie rozmiary zleją się nam do jednego, wyświetlając stronę kompletnie nie tak jak zamierzał autor. No chyba że chodzi jedynie o możliwość odczytania, ale mnie zależy jeszcze, choćby w marginalnym stopniu, na doznaniach estetycznych :]
Posted: Sat Jun 26, 2004 11:33 am
by sewi1
Dzieki argasek za ten watek - na reszcie mam jakies sensowne czcionki, bez dodatkowego powiekszania Ctrl +, ani ustawiania minilalnej czcionki w opcjach co wypacza obraz strony

POzdrawiam
Posted: Sat Jun 26, 2004 5:18 pm
by mkay
argasek wrote:
Tu korekta. Ustawianie minimalnego rozmiaru czcionki działa, jeśli napisałem coś odwrotnego, musiałem mieć zaciemnienie umysłowe,

natomiast, podkreślę drugi raz, _to nie jest rozwiązanie_. Dlaczego - poniżej:
z jednej strony moze masz troche racji, ale z drugiej: ustawiajac minimalną wielkosc czcionki, ustawiamy ja tak, zeby byla mozliwie mala, ale dajaca sie latwo czytac. jest to po prostu *minimalna* wartosc, jaka chcemy widziec. jezeli na jakiejs stronie autor ustawil w pewnym miejscu czcionke o wielkosci 4, to sorry, ale moim zdaniem ma to niewielki zwiazek z odczuciami estetycznymi o jakich piszesz
Posted: Sat Jun 26, 2004 5:57 pm
by _troll_
A ja od siebie powiem tak: DZIE-KU-JE-MY!
Zachodzilem w glowe czemu sa takie roznice. Sorry aye, ale argaskowi przyznam racje. Ustawienie minimalnej wielkosci nie zalatwia problemu proporcjonalnosci wyswietlanych czcionek.
Param sie poniekad webmasterstwem (jak to ladnie brzmi

) i takie ustawienie czcionek daje zdecydowanie wieksze korzysci niz samej minimalnej wartosci.
A propo gdm:
odszukujemy sekcje [server-Standard] i linijke zacznynajaca sie od 'command'
Code: Select all
command=/usr/X11R6/bin/X -audit 0 -dpi 96
lub podobnie zalezy od Waszych pozostalych preferencji. I troszeczke ponizej dalem w sekcji [server-Terminal]
Code: Select all
command=/usr/X11R6/bin/X -audit 0 -terminate -dpi 96
Pozdrawiam,
Przemek
Posted: Sat Jul 10, 2004 11:25 am
by argasek
Heja.
Dzięki wszystkim za komentarze, tak krytyczne jak i pozytywne
Po dłuższym czasie walk z paroma jeszcze innymi aplikacjami, dodatkowo polecam w swoim ~ w pliku .Xdefaults (jeśli nie mamy - to tworzymy),
dodać linię:
W momencie, gdy wartość jest ustawiona na 75, KDE w niektórych (ale co ciekawe - tylko w niektórych

) miejscach renderuje fonty pomniejszone. Takie miejsca to:
- okna komunikatów Konquerora (np. z pytaniem o akceptację Cookie)
- napisy w splash screen (tu kolejna ciekawostka: podczas 'podglądu' splasha fonty rysowane są poprawnie

)
pozdrawiam, cieszę się że mój post komuś się przydał.
ps.: _troll_ - dzięki za uczynienie tego poradnika kompletnym

Posted: Sat Jul 10, 2004 12:55 pm
by Strus
argasek wrote:Na pewno wielu z Was gnębi (tak jak i mnie) problem - dlaczego wchodząc na strony takie jak 7thguard.net czy nawet gentoo.pl Smile FireFox renderuje mikroskopijne czcionki.
Nic nie gnębi, poco tak się męczyć jak Ty proponujesz?
Nie prościej jest sćiągnąć
FF +xft

Posted: Sat Jul 10, 2004 12:57 pm
by nelchael
Strus wrote:
Nie prościej jest sćiągnąć
FF +xft

Posted: Sat Jul 10, 2004 12:58 pm
by mkay
argasek wrote:
W momencie, gdy wartość jest ustawiona na 75, KDE w niektórych (ale co ciekawe - tylko w niektórych

) miejscach renderuje fonty pomniejszone. Takie miejsca to:
- okna komunikatów Konquerora (np. z pytaniem o akceptację Cookie)
- napisy w splash screen (tu kolejna ciekawostka: podczas 'podglądu' splasha fonty rysowane są poprawnie

)
hmm - to sie chyba na bugsy nadaje (albo nasze albo kde)
Posted: Sat Jul 10, 2004 1:25 pm
by Strus
To musi być tymczasowe. Link pochodzi z
Pobieralni MozillaPL.org więc jest pewny.
Posted: Sat Jul 10, 2004 5:19 pm
by argasek
Strus wrote:argasek wrote:Na pewno wielu z Was gnębi (tak jak i mnie) problem - dlaczego wchodząc na strony takie jak 7thguard.net czy nawet gentoo.pl Smile FireFox renderuje mikroskopijne czcionki.
Nic nie gnębi, poco tak się męczyć jak Ty proponujesz?
Nie prościej jest sćiągnąć
FF +xft

A jak myślisz, jakiej wersji dotyczył powyższy opis? ;-P
Posted: Sat Jul 10, 2004 7:18 pm
by Strus
No może ja nie dowidzę, ale nie napisałeś. Ja podałem link do 0.9 ale jest też wersja skompilowana przez MozillaPL z xft FF 0.8
A o którą wersję chodzi?
Ja miałem ten sam problem z wersją 0.7 nazywała się wtegy Firebird i po ściągnięciu wersji z xft ten problem zniknął. Kolejne wersje 0.8 i 0.9 ściągałem właśnie z MozillaPL.org i nic nie musiałem więcej robić

Posted: Sun Jul 11, 2004 3:51 pm
by argasek
Faktycznie, nie zaznaczyłem tego. Może ujmę to tak: cały wątek napisałem korzystając z FireFoxa 0.8 PL (build z
www.firefox.pl, z XFT właśnie), ale wierzę, że sprawa nie jest zależna od wersji. Poza tym co ma XFT do tego? Funkcjonalność XFT w Mozilli (poza oczywiście samym renderowanie glyphów) sprowadza się do antyaliasingu, a to nie ma nic wspólnego z tym co opisywałem. Co więcej:
Xft is a simple library designed to interface the FreeType rasterizer with the X Rendering Extension. This manual page barely scratches the surface of this library.
więc jako takie, Xft podpada pod Xy, a tym samym ustawienia DPI X-serwera.
Być może w Twoim konkretnym przypadku problem dotyczył po prostu czegoś innego. A firebird to w sumie już zaszłość. Nie jest też powiedziane, że np. domyślnie Twoje XFree/X.org pracują z DPI = 75, tak jak to było w moim przypadku.
Posted: Wed Aug 25, 2004 10:15 am
by argasek
aye wrote:argasek wrote:
W momencie, gdy wartość jest ustawiona na 75, KDE w niektórych (ale co ciekawe - tylko w niektórych

) miejscach renderuje fonty pomniejszone. Takie miejsca to:
- okna komunikatów Konquerora (np. z pytaniem o akceptację Cookie)
- napisy w splash screen (tu kolejna ciekawostka: podczas 'podglądu' splasha fonty rysowane są poprawnie

)
hmm - to sie chyba na bugsy nadaje (albo nasze albo kde)
Znalazłem rozwiązanie problemu: należało przestawić rozmiar fontu, którego używa Konqueror w ustawieniach Konquerora...
Nie wiem jak 3.2.3 (jeśli znajdę czas to sprawdzę), ale bug to jest, bo wychodzi na to, że ustawienia fontów przy podglądzie splasha brane są skąd innąd, a przy faktycznym jego rysowaniu - z ustawień Konquerora, co trochę mija się z WYSIWIG

Re: FireFox i mikroskopijne czcionki na WWW - ROZWIĄZANIE!
Posted: Sat Apr 09, 2005 7:14 am
by totencham
argasek wrote:b) w przypadku użycia KDM edytujemy plik
Code: Select all
/usr/kde/3.2/share/config/kdm/Xservers
aby zawierał mniej więcej coś takiego:
Code: Select all
:0 local@tty1 /usr/X11R6/bin/X -dpi 96 -nolisten tcp vt7
Nie mam tego pliku

Pewnie to kwestia przejścia na kde-3.4. Gdzie teraz mogę zmienić rozdzielczość DPI X-serwera?
Re: FireFox i mikroskopijne czcionki na WWW - ROZWIĄZANIE!
Posted: Sat Apr 09, 2005 8:24 am
by Rumil
totencham wrote:argasek wrote:b) w przypadku użycia KDM edytujemy plik
Code: Select all
/usr/kde/3.2/share/config/kdm/Xservers
aby zawierał mniej więcej coś takiego:
Code: Select all
:0 local@tty1 /usr/X11R6/bin/X -dpi 96 -nolisten tcp vt7
Nie mam tego pliku

Pewnie to kwestia przejścia na kde-3.4. Gdzie teraz mogę zmienić rozdzielczość DPI X-serwera?
/usr/kde/3.4/share/config/kdm/Xservers . Wystarczy troche pomyslec....
No chyba ze tego tez nie masz, a to znaczy ze po prostu kdma nie zainstalowales.
Re: FireFox i mikroskopijne czcionki na WWW - ROZWIĄZANIE!
Posted: Sat Apr 09, 2005 8:41 am
by totencham
Rumil wrote:totencham wrote:argasek wrote:b) w przypadku użycia KDM edytujemy plik
Code: Select all
/usr/kde/3.2/share/config/kdm/Xservers
aby zawierał mniej więcej coś takiego:
Code: Select all
:0 local@tty1 /usr/X11R6/bin/X -dpi 96 -nolisten tcp vt7
Nie mam tego pliku

Pewnie to kwestia przejścia na kde-3.4. Gdzie teraz mogę zmienić rozdzielczość DPI X-serwera?
/usr/kde/3.4/share/config/kdm/Xservers . Wystarczy troche pomyslec....
No chyba ze tego tez nie masz, a to znaczy ze po prostu kdma nie zainstalowales.
Raczej domyśliłem się, żeby w 3.2 nie szukać, czytam najpierw komendy, nie wklepuję ich "na pałę". Wyrażę się dosłowniej: w katalogu /usr/kde/
3.4/share/config/kdm/ nie mam pliku Xservers.