Van egy hagyományos képarányú (5:4) 19"-os TFT monitorom. Ez ugyebár 1280x1024 mellett 86 dpi-t jelent.
Az oprendszer 64 bites Debian 7.0 (vagy akár 8.0) Az X.org láthatóan jól van beállítva:
$ xdpyinfo | egrep (resolution|dimension)
dimensions: 1280x1024 pixels (377x302 millimeters)
resolution: 86x86 dots per inch
illetve:
$ xrandr | grep HDMI1
HDMI1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
illetve:
$ ps ax | grep /usr/bin/X
2255 tty7 Ss+ 3:12 /usr/bin/X -dpi 86 :0 vt7
illetve:
$ xrdb -query | grep dpi
Xft.dpi: 86
Ezek mellett a legtöbb program mérethelyesen jeleníti meg a dokumentumokat. A Firefoxot (aktuálisan: 38.x) (és a Chromeot, de ez utóbbi kevésbé érdekel) azonban képtelen vagyok lebeszélni a 96 dpi-ről.
Amit szeretnék:
- a centiben/hüvelykben/tipográfiai pontokban megadott méretek méretarányosan jelenjenek meg
- a pixelben megadott méretek pixelhelyesen (natívan) jelenjenek meg.
A Firefox wiki azt mondja, hogy a CSS renderer a layout.css.dpi alapján konvertál méreteket pixellé és viszont. Ennek megfelelően, az alábbiakat próbáltam:
layout.css.dpi=0
layout.css.dpi=86
layout.css.dpi=-1
Látszólag a Firefox tökéletesen ignorálja ezeket az értékeket, akármire állítom - semmi nem változik.
A másik pedig, hogy a doksi szerint a CSS dpi-t képernyő dpi-re arányosítást a layout.css.devPixelsPerPx értéke határozza meg, ahol az 1-es szorzó jelenti a CSS natív méretezést, tehát jelen esetben a 96 dpi-t. Ha ezt 86/96-ra (0.9) állítom, akkor a pontban/centiben/hüvelykben megadott értékek végre mérethelyesek lesznek, azonban a pixelben megadott méreteket is leosztja, tehát nem natívban kapom a pixeles elemeket, hanem ocsmányul elmosva, kicsinyítve.
Valami ötlet azon kívül, hogy vegyek egy pont 96 dpi-s monitort?
- 1560 megtekintés
Hozzászólások
The unit in doesn't represent a physical inch on screen, but represents 96px. That means that whatever is the real screen pixel density, it is assumed to be 96dpi. On devices with a greater pixel density, 1in will be smaller than 1 physical inch. Similarly mm, cm, and pt are not absolute length
Fasza, tehát hardkódoltuk a 96 dpi-t, a szomszéd tehene pedig dögöljön meg. De akkor mire szolgál(na) a css.layout.dpi opció? Az ellenségbarátaink megtévesztésére?
UPDATE:
Jó, tehát ha jól értem, a CSS eredetileg mérethű volt, és a CSS 2.1-ben fixálták 96 dpi-re, merthogy sok baj volt az elb.szott weboldalak megjelenítésével. Remek javítás! Hibás implementációhoz igazítunk egy mértékegységet!
Valójában persze nem az inch méretét változtatták meg 96 pixelnyire, hanem bevezették a "virtuális pixelt", ami 1/96 inch.
A css.layout.dpi opció pedig ezáltal valószínűleg csendben kimúlt az évek során, csak a dokumentációk nem jelzik.
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni