# FireFox i mikroskopijne czcionki na WWW - ROZWIĄZANIE!

## 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  :Smile:  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

```
/usr/X11R6/bin/startx
```

i zmieniamy linijkę

```
defaultserverargs="-nolisten tcp -br"
```

na

```
defaultserverargs="-dpi 96 -nolisten tcp -br"
```

b) w przypadku użycia KDM edytujemy plik

```
/usr/kde/3.2/share/config/kdm/Xservers
```

aby zawierał mniej więcej coś takiego:

```
:0 local@tty1 /usr/X11R6/bin/X -dpi 96 -nolisten tcp vt7
```

c) w GDM - nie wiem  :Sad: 

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...

----------

## Vrok

A nie prościej ustawić minimalną czcionkę w przeglądarce?  :Wink: 

----------

## mkay

 *Vrok wrote:*   

> A nie prościej ustawić minimalną czcionkę w przeglądarce? 

 

kolega ze slackware - on lubi sie przemeczac  :Wink: 

----------

## 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...   :Rolling Eyes: 

----------

## endel

niezle  :Smile:  albo ctrl+rolka myszy  :Smile: 

----------

## rane

A w operze wystarczy sam "+" no i opcja z minimalnym rozmiarem czcionki też działa bez zarzutu  :Smile: 

----------

## 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

----------

## 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.  :Laughing: 

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

----------

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

----------

## 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,  :Wink:  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 :]

----------

## 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  :Smile: 

POzdrawiam

----------

## 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

----------

## _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  :Wink:  ) i takie ustawienie czcionek daje zdecydowanie wieksze korzysci niz samej minimalnej wartosci.

A propo gdm:

```
vim /etc/X11/gdm/gdm.conf
```

odszukujemy sekcje [server-Standard] i linijke zacznynajaca sie od 'command'

```
command=/usr/X11R6/bin/X -audit 0 -dpi 96
```

lub podobnie zalezy od Waszych pozostalych preferencji. I troszeczke ponizej dalem w sekcji [server-Terminal]

```
command=/usr/X11R6/bin/X -audit 0 -terminate -dpi 96
```

Pozdrawiam,

Przemek

----------

## argasek

Heja.

Dzięki wszystkim za komentarze, tak krytyczne jak i pozytywne  :Smile: 

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ę:

```
Xft.dpi: 96
```

W momencie, gdy wartość jest ustawiona na 75, KDE w niektórych (ale co ciekawe - tylko w niektórych  :Very Happy: ) 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  :Smile:  )

pozdrawiam, cieszę się że mój post komuś się przydał.

ps.: _troll_ - dzięki za uczynienie tego poradnika kompletnym  :Smile: 

----------

## 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  :Laughing:   :Laughing: 

----------

## nelchael

 *Strus wrote:*   

> 
> 
> Nie prościej jest sćiągnąć FF +xft  

 

```
404 Not Found
```

----------

## mkay

 *argasek wrote:*   

> 
> 
> ```
> Xft.dpi: 96
> ```
> ...

 

hmm - to sie chyba na bugsy nadaje (albo nasze albo kde)

----------

## Strus

 *nelchael wrote:*   

> 
> 
> ```
> 404 Not Found
> ```
> ...

 

To musi być tymczasowe. Link pochodzi z Pobieralni MozillaPL.org więc jest pewny.

----------

## 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

----------

## 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ć  :Wink: 

----------

## 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:

 *Quote:*   

> 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.

----------

## argasek

 *aye wrote:*   

>  *argasek wrote:*   
> 
> ```
> Xft.dpi: 96
> ```
> ...

 

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  :Wink: 

----------

## totencham

 *argasek wrote:*   

> b) w przypadku użycia KDM edytujemy plik
> 
> ```
> /usr/kde/3.2/share/config/kdm/Xservers
> ```
> ...

 

Nie mam tego pliku  :Sad:  Pewnie to kwestia przejścia na kde-3.4. Gdzie teraz mogę zmienić rozdzielczość DPI X-serwera?

----------

## Rumil

 *totencham wrote:*   

>  *argasek wrote:*   b) w przypadku użycia KDM edytujemy plik
> 
> ```
> /usr/kde/3.2/share/config/kdm/Xservers
> ```
> ...

 

/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.

----------

## totencham

 *Rumil wrote:*   

>  *totencham wrote:*    *argasek wrote:*   b) w przypadku użycia KDM edytujemy plik
> 
> ```
> /usr/kde/3.2/share/config/kdm/Xservers
> ```
> ...

 

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.

----------

## rampage7

chyba się pozmieniały miejsca configów - heheh - robiłem jakis miesiac temu czarne tło zamiast tego czarno białego przy starcie x i nie pamietam już gdzie dopisywałem :E A napewno było to w dobrym miejscu bo wszystko chodzi - zaraz spróbuję sobie przypomnieć  :Smile: 

Bo w  /usr/kde/3.4/share/config/kdm/ mam ten plik, ale nic z tego, skor mogę sobie w nim napisać co chcę a to i tak nic nie da  :Smile: 

----------

## argasek

Niedługo zemerguję nowe KDE więc postaram się dokopać do tego pliku, a tymczasem, jeśli ktoś by mnie uprzedził to uprzejmie proszę o umieszczenie info tutaj  :Smile: 

----------

## rampage7

no wiec zrobione  :Smile: 

Więc teraz howto dla wszystkich posiadaczy KDE 3.4

Otóż wspomniany wcześniej plik /usr/kde/3.4/share/config/kdm/Xservers moze być, ale z wypowiedzi totencham wynika, ze wcale go być nie musi  :Smile: 

A nie musi go być, ponieważ chyba wszystko co trzeba zawiera się w pliku /usr/kde/3.4/share/config/kdm/kdmrc który imho wreszcie wprowadza jakis porządek i ład.

Tak więc w kdmrc szukamy sobie następujacej sekcji:

```

[X-:*-Core]

AllowNullPasswd=true

AllowShutdown=All

NoPassEnable=false

NoPassUsers=

ServerArgsLocal=-nolisten tcp -br

ServerCmd=/usr/bin/X

```

i dopisujemy do linijki ServerArgsLocal co trzeba:

```

ServerArgsLocal=-dpi 96 -nolisten tcp -br

```

----------

## totencham

Dzięki wielkie, zaraz wypróbuję. Czułem, że to ten plik, ale nie wiedziałem gdzie należy co dopisać  :Embarassed: 

EDIT: działa, a jak że  :Smile: .

----------

## topciofae

Nie wiem czy ktos juz to pisal, bo nie czytalem calego postu  :Razz: 

ale ja mam inne prostsze rozwiazanie na kochanego firefox.

W ustawieniach poprostu ustawiam minimalna czcionke powiedzmy 17 

i mikroskopijne czcionki sie powiekszaja, a i te co sie normalnie wyswietlaly nie 

psuja sie jakosciowo

----------

## psycepa

 *topciofae wrote:*   

> Nie wiem czy ktos juz to pisal, bo nie czytalem calego postu 
> 
> 

 

to sobie lepiej przeczytaj  :Wink: 

jest cala dyskusj na temat bezzasadnosci uzywania set_minimal_font czy jak tam zwal

----------

## BeteNoire

Nigdy nic nie kombinowałem tak jak sugeruje ten wątek, zawsze używam ustawienia minimalnych czcionek w preferencjach Firefoksa i wszystko działa cacy.

Dodam, że nie zależy mi dostosowaniu się do stylów stron narzucanych przez webmasterów, takie rzeczy mają być dostosowane do moich preferencji. Dlatego dla wszystkich stron mam jednakowy kolor, wielkość czcionki itp...

----------

## YANOUSHek

Ja proponuję w xorg.conf dopisać linijkę w Section "Monitor"

```
DisplaySize szerokość wysokość
```

Wtedy Xserver sam przelicza jakie powinno być DPI :].

Oczywiście te wartości można dobrać tak, żeby mieć DPI 96x96, co nie powinno być raczej problemem :]

----------

## joker

a nie wystarczy ustawic w opcjach FF display resolution na 96dpi?

----------

## argasek

joker: o ile pamiętam, u mnie to nie działało. (Nie wiem jak teraz). W sumie cały ten wątek przydałoby się zweryfikować, zaktualizować i sensownie napisać od nowa, dodając obiektywne pro i contra takiej a nie innej metodzie postępowania. Vide: znajdą się ludzie tacy, jak BeteNoire (BeteNoire: nie to, że się Ciebie czepiam, wskazuję po prostu przykład), którzy chcą oglądać strony tak jak im jest wygodniej - OK. Są ludzie, tacy jak ja, którzy jednak wolą oglądać stronę zgodnie z zamierzeniami projektanta danej witryny; dla nich te wskazówki będą przydatne.

Generalnie temat jest dłuższy i bardziej skomplikowany, spróbuję kiedyś przygotować dobrą "kompilację" j.w.

----------

## joker

ustawilem w FF 96dpi i dziala ok  :Smile:  tylko minusem jest to ze czcionka w samym FF (toolbar, tabs) jest teraz dosc spora co mnie sie nie podoba  :Smile:  tak sie zastanawiam jak to zmienic...

----------

## argasek

To też już przechodziłem, tutaj opisałem rozwiązanie.

----------

## Aktyn

Używam

```
qx src1 # equery list mozilla

[ Searching for package 'mozilla' in all categories among: ]

 * installed packages

[I--] [  ] www-client/mozilla-1.7.12-r2 (0)

[I--] [  ] www-client/mozilla-launcher-1.49 (0)
```

I w zasadzie rozdzielczość dpi 96, pomaga na wszystkie czcionki menu w całym systemie, natomiast nic nie dzieje się w sensie wyświetlanych stron www. Moze ten typ tak ma i zawsze wciskałem  "ctr+"

Ale teraz po instalce wine oraz dosbox, zauważyłem że czcionki jakby znormalniały, i nie musze uzywac "ctr+". Widze że sie zemergowały pakiety:

```
media-gfx/fontforge-20050502

app-arch/cabextract-1.1

media-fonts/corefonts-1-r2
```

moze to kwestia fontów, tak tylko jako uwage dodaje.

----------

## szolek

 *joker wrote:*   

> ustawilem w FF 96dpi i dziala ok  tylko minusem jest to ze czcionka w samym FF (toolbar, tabs) jest teraz dosc spora co mnie sie nie podoba  tak sie zastanawiam jak to zmienic...

 

I to jest pomysł. Dogrzebałem sie po Twoim poście do opcji

```
browser.display.screen_resolution
```

 domyślnie ustawionej u mnie na 96. Skoro jest 96 a linux używa 75 wpisałem 75 i wszystko jest jak się należy bez grzebania w innych plikach. Tymbardziej że szukałem sposobu na entrance.  :Laughing: 

Wielkie dzięki!

Pozdrawiam!!!

----------

## karaluch

Temat stary ale po każdej nowej instalacji gentoo wracam do tego samego problemu :) Małe czcionki w FF

Oczywiście krok nr 1: ustawienia na 96DPI i czcionkę domyślną dla menu. Ok menu wygląda przyzwoicie ale nadal jest coś nie tak ze stronami...

Wiec krok nr 2: walka z czcionka minimalna ale do przeczytania tego tekstu, a więc jak pisze autor:

 *Quote:*   

> W pasek adresu wpisujemy about:config. Pole filtr: layout.css.dpi. Prawy przycisk myszy -> modyfikuj. Zamieniamy z -1 na 0. Restartujemy FF.

 

Może ktoś mi wytłumaczyć dlaczego takie ustawienie jest lepsze od wszystkiego co próbowałem -> co ono powoduje.

----------

