Hanteringen av pixeltätheten i Mozilla Firefox i unstable verkar
helgalen. Såvitt jag vet har det varit såhär länge, men jag har inte
brytt mig om att undersöka saken närmare tidigare. Kan någon annan
bekräfta detta? Finns det några sätt att kringgå problemet?
- Vare sig text eller andra objekt är så stora som de anges vara när man
använder systemupplösningen.
- När den angivna upplösningen ökar blir objekt med storlek angiven i cm
större (korrekt), medan text krymper (inkorrekt) och vice versa.
Jag har en 21-tumsskärm med 1600x1200 pixlar och följande rader i
xorg.conf:
Section "Monitor"
Identifier "Intergraph 21sd95"
Option "DPMS"
HorizSync 30-95
VertRefresh 50-160
DisplaySize 407 305
EndSection
Baserat på screen-avdelningen kan X beräkna en korrekt upplösning, och
xdpyinfo rapporterar mycket riktigt följande:
$ xdpyinfo | grep -E 'dimensions|resolution'
dimensions: 1600x1200 pixels (411x308 millimeters)
resolution: 99x99 dots per inch
Alla KDE-program fungerar som de ska, och Firefox eget (GTK-renderade?)
gränssnitt ser riktigt ut med rätt teckenstorlek. Problemet ligger
istället med det som renderas av Geckomotorn.
Om man i de avancerade teckensnittsinställningarna i Firefox väljer att
använda den upplösning som anges av systemet, eller anger "0" som värde
för browser.display.screen_resolution i about:config) ger det följande
resultat:
En 10 cmbred ruta är bara 9,4 cm bred när den visas i Firefox. Vad som
ska vara 12 punkters teckenstorlek ser mer ut som 9½ punkter.
Verklighetens 12 punkter ligger närmare vad Firefox tror är 16 punkter.
Om man istället specificerar upplösningen själv genom att mäta en linje
som Firefox presenterar (7,4 cm) räknar Firefox ut att upplösningen är
103 DPI, vilket väl får sägas ligga inom felmarginalen (anger man 7,7
ger 99 DPI). Resultatet är i princip detsamma som om man använder
systeminställningen.
Betydligt intressantare blir det om man specificerar en egen upplösning.
Om man anger 150 DPI växer den 10 cm breda rutan 14 cm bred. Om man har
en skärm som klämmer in fler pixlar per tum så ska Firefox givetvis
använda fler pixlar för att nå upp till ett visst avstånd, så detta är
helt riktigt. Vad som däremot är helknasigt är att texten istället
krymper! Text som ska vara 12 punkter ligger nu närmare 5.
Om man istället ändrar upplösningen till 50 DPI blir resultatet det
motsatta. Den 10 cm breda rutan krymper till 4,8 cm och 12-punktstexten
växer till omkring 16 punkter.
--
Alexander Nordström
http://lx.n3.net/
Skicka inte kopior på uppföljande meddelanden till mig;
jag prenumererar på debian-user-swedish.
Attachment:
pgpaGjQCSI9Km.pgp
Description: PGP signature