Dieselben Zahlen, so gesagt, dass sie etwas bedeuten
Ein Farbprofil in einem Dokument mitzunehmen kostet einige hundert Kilobyte, bei jeder Kopie, und es gibt Dokumente, die sich das nicht leisten können: ein Kontoauszug an eine Million Menschen, ein Formular, das über eine schlechte Verbindung geladen wird. Es sieht aus wie eine Wahl zwischen Farbe, die etwas bedeutet, und einer Datei, die klein bleibt, aber das ist sie nicht.
Sie sehen eine Farbreihe und einen Graukeil, jeweils dreimal mit genau denselben Zahlen gemalt. Beim ersten Mal werden die Zahlen so übergeben, wie sie sind: das Kürzeste, was sich schreiben lässt, und jeder Bildschirm und jeder Drucker legt dann selbst fest, wie sie aussehen. Beim zweiten Mal werden sie gegen ein angegebenes Weiß und einen angegebenen Satz Grundfarben angegeben, was festlegt, was sie bedeuten, wer auch immer das Dokument öffnet. Beim dritten Mal sind die Grundfarben ein weiterer Satz, das Schwarz wird ebenfalls gemessen, und dieselben Zahlen erreichen tiefere, lebhaftere Töne. Die Grautöne folgen denselben drei Schritten, einmal nach Messung gleichmäßig verteilt und einmal für das Auge gleichmäßig verteilt — deshalb sehen die beiden Keile nicht gleich aus, obwohl die zehn Zahlen dahinter identisch sind. Eine zweite Seite lässt die Zahlen wieder nackt, und diesmal sagt die Seite selbst, durch welche dieser Beschreibungen sie zu lesen sind, sodass nichts darauf Gemalte eine nennen muss. All das reist in einer Handvoll Zahlen, und es gibt kein Profil zu tragen.
Was dieses Beispiel zeigt
- Sechs Farben in drei Bändern, dieselben drei Zahlen hinter jedem.
- Ein zehnstufiger Grauverlauf in drei Bändern, dieselben zehn Zahlen hinter jedem.
- Unter jedem Band das Weiß und die Grundfarben, gegen die es angegeben wurde.
Der Quellcode, vollständig
Nichts ist weggelassen und nichts vereinfacht: Das ist das Programm genau so, wie es läuft, für den Entwickler, der diese Bibliothek nutzt.
Die dritte ist die Beschreibung selbst: eine schlichte Liste dessen, was die Seite sagen muss, und das wird dem Dienst gesendet.
Den Rust-Quellcode lesen
Den Python-Quellcode lesen
Den JSON-Quellcode lesen
Das Dokument selbst
Das Dokument auf Englisch öffnen
Das Dokument auf Französisch öffnen
Das Dokument auf Deutsch öffnen
Das Dokument auf Spanisch öffnen
Das Dokument auf Italienisch öffnen
Das Dokument auf Portugiesisch öffnen