dciwam.de / faq / gute-websites / einheit-pt

Kritik an Punkte (pt) als Maßeinheit für Bildschirmdarstellungen

Punkte (pt) für Bildschirmdarstellungen zu verwenden führt mit Sicherheit dazu, dass viele Benutzer die Schrift nicht lesen können.

8pt sind bei einer Auflösung von 72ppi 8 Pixel gross. Um aber die elementaren Eigenschaften der Buchstaben 'E', ' ', 'g' und 'e' als Beispiel darzustellen, braucht es aber 9 Pixel auf der Y-Achse:

1            # #
2    #####
3    #      #####
4    #      #       ####   ###
5    ###    ###    #   #  #   #
6    #      #      #   #  #####
7    #      #       ####  #
8    #####  #####      #   ####
9                  ####

Eine Schrift mit weniger als 9 Pixeln x-Höhe kann nur dargestellt werden, in dem man die grundlegende Glyphenform zerstört, was die lesbarkeit der Schrift enorm einschränkt.

Ich mag mich ja irren, da ich allmählich anfange mich zu fragen, warum das eigentlich so schwer zu verstehen ist, aber folgendes liegt zugrunde:

1pt ist 1/72 Zoll gross. Um einen Zoll darzustellen, muss das Programm wissen, wieviele Pixel ein Zoll gross ist. Das gibt man durch den ppi (Pixel pro Zoll) Wert an. Dieser ist beim Mac 72. Es werden also 72 Pixel benutzt, um einen Zoll darzustellen, 1/72 davon entspricht also 1pt, 1/72 von 72 ist 1, d.h. um ein pt darzustellen wird ein Pixel benutzt. Die Größe dieses Pixels, wie er auf dem Computerbildschirm letztendlich erscheint, varriert sehr stark:

Mein Monitor als Grundlage hat eine effektive Darstellungsfläche von ungefähr 36x28cm. Angemommen ich benutze jetzt eine Auflösung von 320x200 (Standard VGA), der Monitor sieht leicht verzerrt dann so aus:

36cm
------------------------------------
|              320px               |
|                                  |
|                                  |
|                                  |
|                                  |
|                            200px | 28cm
|                                  |
|                                  |
|                                  |
|                                  |
|                                  |
------------------------------------

Die Breite eines Pixels berechnet sich jetzt aus 36cm/320 = 0,1125cm

Die Höhe eines Pixels berechnet sich jetzt aus 28cm/200 = 0,14cm

ändert sich die Auflösung jetzt zu 1600x1200 ist ein Pixel nur noch 0,0225 x 0,0233cm gross.

Das Problem ist jetzt, dass zwei Systeme kollidieren. Die Größe von 1pt wird _nicht durch die Größe_ eines Pixels berechnet, sondern nur _durch _den Pixel selbst_. Der Umrechnungsfaktor ist dabei die ppi Zahl. ändert sich die Größe eines Pixels, ändert sich auch die Größe eines pts. Das geschieht allerdings nur in der Projektion, für den Computer macht die Projektion keinen Unterschied. Er kann nicht wissen, wie gross ein Pixel letztendlich dargestellt wird.

ändert man jetzt den Umrechnungsfaktor auf z.B. 96ppi ist 1pt immernoch 1/72 Zoll gross, wird aber durch 96 Pixel repräsentiert womit 1pt 1,33 Pixel gross ist. Somit haben wir

Mac ( 72ppi) => 1pt = 1px    => font-size: 9pt =  9px
Win ( 96ppi) => 1pt = 1,33px => font-size: 9pt = 12px
Win (120ppi) => 1pt = 1,66px => font-size: 9pt = 15px

Eine 9pt grosse Schrift wird also durch eine unterschiedliche Zahl Pixel dargestellt, abhängig von der Auflösung der Pixel auf einem Zoll (Pixel pro Zoll => ppi) und nicht abhängig von den realen Ausmassen eines Pixels.

Der Computer kennt die realen Aussmasse eines Pixels nicht. Er weiss nicht, ob da jetzt ein 15" Monitor an der Grafikkarte hängt, oder ein Projektionsgerät dessen Projektionsfläche eine Diagonale von 100" hat oder ein hochauflösendes Notebook oder was auch immer. Daher kann man selber festlegen, wieviele Pixel ein Zoll gross sein soll, und das ist eben diese ppi Zahl.

Ein Drucker hat das anders, der weiss wieviele Punkte er auf einen Zoll drucken kann, das ist dann die dpi Zahl. Wenn ich dem Drucker sage, mach das 1pt gross, dann weiss er, er braucht z.B. 1200 Punkte um einen Zoll auszugeben und druckt also fleissig 1200 Punkte auf das Papier. Daher ist 'pt' durch die Definition 1/72 Zoll sehr sinnvoll zu benutzen.

Ein Drucker weiss aber nicht, wie gross ein Pixel ist. Einige Browser sind ein wenig kaputt in dieser Beziehnung und eine 12px grosse Schrift ist auf einem hochauflösendem Drucker nicht mal mehr Fliegendreck. Die Umrechnungsproblematik kann man aber selber nachlesen.

Wenn ich möchte, dass die Ausgabe eines pts auf meinem Bildschirm der realen Grösse entspricht, muss ich das entsprechend konfigurieren. Bei 1600x1200 auf 36x28cm bräuchte ich dafür ~113ppi (1600/2,54*36), oder ich muss für eine kleinere Auflösung sorgen, oder dafür, dass 1px durch mehrere Pixel dargestellt wird, für den Fall, dass ich einen extrem hochauflösenden Monitor hätte.

Bei Druckern passiert das ja heute schon, ein 1x1px Bild wird auf dem Monitor als 1x1px dargestellt, ein 400dpi Drucker benutzt dafür 16 Punkte.

Man korrigiere mich wo notwendig.

Björn Höhrmann • bjoern@hoehrmann.de • http://www.bjoernsworld.de

Zum Seitenanfang

URL: http://dciwam.de | Letzte Änderung: 21.05.2009 | G. Schneider | Kontakt