Une règle au lieu de cent couleurs
Un dégradé du bleu au blanc, une encre d'impression dont vous voulez vingt forces, une courbe qui relève des couleurs sorties trop sombres : dans les trois cas, il n'y a pas une couleur à écrire, il y a une règle qui les fabrique toutes. Écrire les couleurs une par une, c'est des centaines de lignes dans le fichier et un document plus lourd qu'il n'a besoin d'être ; écrire la règle, c'est trois lignes, et le logiciel de lecture calcule le reste. Cette page montre les quatre sortes de règles qu'un PDF sait suivre, avec, imprimée sous chaque panneau, la règle qui l'a tracé.
La première est une table : vous donnez la couleur en sept points du parcours et le logiciel de lecture trace le passage entre eux, ce qu'on veut quand les couleurs viennent d'une mesure et qu'aucune formule ne tomberait dessus. La deuxième est un petit calcul que le logiciel de lecture exécute lui-même, et elle fait ce qu'aucune table ne peut faire — le panneau qu'elle trace découpe la plage en sept bandes plates au lieu de glisser, ce qui rend une carte en aplats lisible d'un coup d'œil. La troisième est ce même calcul appliqué à une seule encre d'impression, de sorte qu'une encre de presse peut être montrée sur un écran qui ne l'a jamais vue. La quatrième est deux des autres mises bout à bout, l'une couvrant la première moitié de la plage et l'autre la seconde, ce qui permet à un dégradé de changer d'avis à mi-chemin sans être coupé en deux formes.
Ce que montre cet exemple
- Les quatre sortes : un tableau de couleurs mesurées, un petit calcul, une règle pour une seule encre, et deux règles mises bout à bout.
- La règle qui a dessiné chaque panneau imprimée dessous, pour lire les deux ensemble.
- Ce sur quoi reposent tous les dégradés et toutes les encres nommées de ce site.
Le code source complet
Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque.
La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.
Voir le code Rust
Voir le code Python
Voir le code JSON
Le document lui-même
Ouvrir le document en anglais
Ouvrir le document en français