Des couleurs identiques sur tous les appareils
Des nombres sur une page ne deviennent une couleur précise qu'une fois nommé l'appareil pour lequel ils ont été choisis. Un document d'archivage transporte le profil de cet appareil à l'intérieur de lui.
Résumé
Une couleur, dans un PDF, c'est une suite de nombres. Seuls, ils ne veulent rien dire de précis : les mêmes nombres donnent un rouge à l'écran, un autre sur papier brillant, un autre encore sur papier journal. Ce qui en fait une couleur, c'est un petit fichier qui décrit un appareil — un écran de référence, une presse, un papier. Ce fichier s'appelle un profil de couleur, et un document gardé longtemps contient celui pour lequel ses couleurs ont été choisies.
Pour un document destiné à être lu à l'écran, il n'y a rien à décider : le moteur écrit tout seul le profil de l'écran ordinaire, et le document est complet. Pour un document qui part à l'imprimerie, remettez-lui le profil de cette presse, et les mêmes nombres veulent alors dire l'encre que cette presse dépose.
Techniquement
Cette indication s'appelle l'intention de sortie : un profil embarqué, le nom court sous lequel sa condition est connue, et une phrase qu'une personne lit. Elle est écrite dès que le document déclare la norme, si bien qu'un fichier d'archivage ne part jamais sans elle.
Le moteur ne contient aucun fichier de profil et n'en va chercher aucun. Là où le client n'en déclare pas, le moteur construit lui-même le profil d'écran ordinaire à partir de la colorimétrie publiée — le point blanc, les trois primaires adaptées à l'illuminant de référence et une courbe de tonalité —, si bien qu'aucun document client ne dépend de la licence d'un tiers. Un profil que le client fournit, lui, est écrit une seule fois dans le document, quel que soit le nombre de fois où l'on peint à travers lui.
Un profil est accepté comme intention de sortie quand il décrit une imprimante ou un écran ; un profil qui décrit un scanner ou un appareil photo est refusé à l'appel, et non à l'écriture. L'équipe a fait passer vingt-six conditions de référence par toute la chaîne : trois ont été refusées à l'appel, avant d'écrire le moindre octet, et un vérificateur a accepté les vingt-trois qui ont été écrites. La page sur les profils de couleur les énumère.
Article par article
Le moteur écrit toujours cette déclaration, si bien qu'aucune clause n'a à signaler son absence. Ce qu'il vérifie, c'est que ce qui est peint s'accorde avec la déclaration. Chaque couleur qu'une page donne en nombres bruts est lue : dans son contenu, dans les images, les dégradés, les motifs et les lettres qu'elle pose, dans le groupe de transparence où elle est composée, et dans l'apparence de ses annotations. Le gris s'accorde avec n'importe quelle déclaration. Les trois couleurs d'écran demandent un profil d'écran, et les quatre encres un profil de presse.
Deux autres choses donnent leur sens aux nombres bruts. Un espace de couleur par défaut du même genre, nommé dans les ressources avec lesquelles la couleur est peinte, se lit à la place de la déclaration. Sous la partie 4 seulement, une page peut déclarer sa propre intention de sortie, lue à la place de celle du document, et une page ou un formulaire composé dans un espace calibré ou fondé sur un profil du même genre n'a besoin de rien de plus.
Une couleur à laquelle rien ne donne de sens est signalée page par page, avec la page et celle des trois dont il s'agit : dans le rapport demandé avant l'écriture, et dans la vérification d'un fichier lu d'ailleurs, où la partie d'une page qui ne se lit pas est nommée comme non vérifiée. Un document qui déclare la norme est refusé au lieu d'être écrit, et le refus nomme la première couleur trouvée, pas la page où elle se trouve. Une page peinte dans les quatre encres sous le profil d'écran ordinaire, sans rien d'autre pour dire ce que valent ces encres, est donc refusée.
Ce que le moteur fait tout seul
Le moteur fait tout cela dès qu'un document déclare la norme, quoi que demande par ailleurs le programme appelant.
- Écrit une intention de sortie dans tout document qui déclare la norme, qu'on en ait déclaré une ou non.
- Fabrique lui-même le profil de l'écran ordinaire, à partir des chiffres publiés, si bien que rien n'est à télécharger ni à acheter.
- N'embarque qu'un seul exemplaire d'un profil, quel que soit le nombre de fois où le document peint aussi à travers lui.
- Refuse, dès l'appel, un profil qui ne décrit ni une imprimante ni un écran.
- Lit chaque couleur qu'une page peint en regard de la déclaration, et refuse le document quand une page peint en couleurs d'écran ou dans les quatre encres sans rien pour dire ce qu'elles valent.
Ce que vous fournissez
Le moteur déclare ce qu'on lui a donné et n'invente rien d'autre : à défaut, il refuse le document au lieu de choisir une valeur à votre place.
- Le profil de l'appareil pour lequel les couleurs ont réellement été choisies, dès que ce n'est pas l'écran ordinaire.
- Le nom court sous lequel la condition est connue, et la phrase qu'une personne lit pour distinguer une condition d'une autre.
Les textes publiés qui fondent ces règles
| Texte publié | Ce qu'il demande |
|---|---|
ISO 19005-1 6.2.3.3 |
Une couleur donnée en nombres bruts a un sens : un espace de couleur par défaut du même genre, ou une intention de sortie qui décrit ce genre d'appareil — n'importe quelle intention de sortie, pour le gris. |
ISO 19005-2 6.2.4.3 |
La même chose, pour la partie 2. |
ISO 19005-3 6.2.4.3 |
La même chose, pour la partie 3. |
ISO 19005-4 6.2.4.3 |
La même chose, pour la partie bâtie sur PDF 2.0, où comptent aussi une intention de sortie que la page déclare pour elle-même, et un espace calibré ou fondé sur un profil dans lequel la page ou un formulaire est composé. |
Les autres familles d'exigences
Quelle partie de la norme d'archivage déclarer Chaque police du document est incorporée au fichier Une page qui sort pareille pour tout le monde Le document dit ce que veulent dire ses marques Un document qui transporte d'autres fichiers à l'intérieur Ce que le fichier dit de lui-même Vérifier la déclaration, avant et après