Appendice C : Les notes pour l'implémentation et la mise en œuvre des polices

Contenu

Cet appendice est informatif, et non normatif.

C.1 Un glossaire pour les polices

DocLock™
La technologie DocLock™ de la société Bitstream assure que les ressources TrueDoc PFR ne peuvent être employées que dans le site auquel celles-ci sont destinées. Une ressource TrueDoc PFR déplacée vers un site différent, ou référencée par un autre site, ne fonctionnera pas ;
Signature digitale
Partie d'une technologie d'administration de confiance, employée pour la certification d'une ressource ;
Mise en cache des polices
La mise en cache des polices autorise la copie temporaire d'une police sur le système de l'utilisateur. Ces copies sont souvent stockées sur un disque dur en même temps que d'autres articles mis en cache comme, en particulier, les images pour un agent utilisateur ;
Le dessin d'une police
Un "indicateur" qui se rapporte au dessin particulier d'une police, excluant la taille de celle-ci ;
Correspondance de police
La correspondance de police est un processus de sélection d'une police similaire, fondé sur un ou plusieurs des attributs d'une police primaire. Quelques attributs courants : serif, sans-serif, graisse, hauteur de capitale, hauteur-x, espacement, langue et apparence. La correspondance de police est liée à l'algorithme utilisé et à l'échantillon des polices candidates ;
Sous-ensemble de représentation des glyphes
Le sous-ensemble de représentation des glyphes correspond au processus par lequel on retire les représentations de glyphes non souhaitées (l'information sur leurs mesures environnantes et leur crénage compris) d'une police primaire pour produire un sous-ensemble propre à un document ou un jeu de documents. C'est une opération particulièrement profitable pour les documents avec des écritures idéographiques, le complément des glyphes de la police de base pouvant être très important. La production d'un sous-ensemble de représentations des glyphes pour les documents employant des écritures avec des ligatures, comme pour l'arabe, est difficile si l'on ne connaît pas les règles de formation des ligatures du système d'affichage final ;
Intellifont
La technologie Intellifont, développée par la société Agfa, est le format natif pour les imprimantes de la société Hewlett-Packard et d'autres, celles-ci s'appuyant sur le langage PCL5. C'est également le format natif des ordinateurs de la marque Amiga ;
Infinifont
Une technique de synthèse de police qui, à partir d'un nombre Panose-1 (et, en option, des données supplémentaires décrivant la police), peut générer une copie de la police sans extrapolation des contours d'une police de référence ou sans interpolation entre deux contours, ou plus (voir [INFINIFONT]) ;
Italique
Une classe de formes de lettres pour les écritures latines, ces formes étant plus cursives que celle des lettres romanes, mais moins que celles des lettres manuscrites. Souvent, on dessine une paire de polices pour une utilisation conjointe, une police serif romane et une police italique. On emploie d'autres termes pour décrire cette classe, comme le terme cursive (kursiv pour les écritures cyrilliques). Pour une police sans serif, la police appariée consiste souvent en une variante inclinée ou oblique plutôt que de provenir d'une classe différente.

Formes italiques.   [D]

Crénage
Une modification de l'espacement entre les représentations de glyphes donnés, qui semblerait autrement trop proches ou trop éloignés les uns des autres, pour obtenir un certain équilibre typographique ;

Illustration du crénage   [D]

Police Multiple Master
Une police Multiple Master contient deux polices primaires qui sont traitées par un logiciel de rendu particulier pour donner une interpolation résultante. La société Adobe Systems fournit un mécanisme paramétrable pour contrôler le résultat ou la police interpolée résultante. Ces paramètres décrivant généralement les caractéristiques d'une police originale on parle du résultat "multiple master" comme de la "police synthétisée" ;
OpenType
OpenType est un élargissement du format de police TrueType qui contient des informations supplémentaires, celles-ci augmentant les capacités des polices pour une typographie internationale de qualité. Avec OpenType, on peut associer un seul caractère avec plusieurs représentations de glyphes et, à l'inverse, associer une combinaison de caractères avec une seule représentation de glyphe (la formation d'une ligature). Ce format inclus une information bidimensionnelle qui autorise des fonctions de positionnement et de liaison des glyphes complexes. Les formats TrueType et OpenType contiennent une information explicite sur l'écriture et la langue, de ce fait, une application de traitement de texte peut s'adapter en conséquence (voir [OPENTYPE]) ;
Police de serveur
Une police de serveur est une ressource de polices installée sur un serveur Web, cette ressource étant référencée par la définition d'une PoliceWeb. L'agent utilisateur peut employer celle-ci pour le rendu d'une page ;
Speedo
La technologie de police Speedo, développée par la société Bitstream, est le format de police natif des ordinateurs de marque Atari ST et Falcon. Celle-ci est également employée par certaines plates-formes utilisant le système X Window ;
TrueDoc
La technologie TrueDoc, développée par la société Bitstream, pour la création, le transport et l'illustration d'objets de police variables et indépendants de la plate-forme sur le Web. Ces objets sont créés par l'enregistreur de forme de caractère TrueDoc (Character Shape Recorder) et sont rendus par le lecteur de forme du caractère TrueDoc (Charachter Shape Player). Cette technologie est prévue pour l'affichage et l'impression sur le Web ;
TrueDoc Portable Font Resource
Un objet de police TrueDoc Portable Font Resource (ou PFR), indépendant de la plate-forme, est produit par un enregistreur de forme de caractère. On peut y mettre en entrée des polices TrueType ou Type 1 de toute provenance, que ce soit sur Windows, Macintosh ou Unix. Les ressources produites offrent de bons ratios de compression, sont indépendantes de la plate-forme et, comme elles ne sont pas dans un format natif (TrueType ou Type 1), ne peuvent facilement être installées sur un système ;
TrueType
Le format de police TrueType , développé par la société Apple puis licencié à la société Microsoft. C'est le format de police système natif pour les plates-formes Windows et Macintosh. Celui-ci contient un jeu de tables hiérarchique et des représentations de glyphes. Les caractères peuvent être repérés un à un et selon leur taille exprimées en points, ce qui produit d'excellents résultats pour les résolutions des écrans. Bien que les polices TrueType soient peu différentes entre Windows et Macintosh, celles-ci peuvent l'être suffisamment et empêcher leur usage commun.
TrueType Collection
Le format TrueType Collection (ou TTC), une extension du format TrueType, inclut des tables permettant la réunion de plusieurs polices TrueType dans un seul fichier de police TrueType. Les fichiers de ce type sont encore relativement peu courants ;
Polices TrueType GX
Les polices TrueType GX contiennent des rajouts au format TrueType standard qui permettent certaines variations, de façon similaire aux polices Multiple Master. Celles-ci peuvent varier selon divers paramètres tels la graisse, la hauteur et l'inclinaison. On peut définir ces paramètres pour obtenir pratiquement tous les effets. Le format TrueType GX peut également comporter d'autres représentations de glyphes de substitution pour les ligatures, les formes contextuelles, les fractions, etc. À ce jour, ce format n'est disponible que pour la plate-forme Macintosh (voir [TRUETYPEGX]) ;
Police Type 1
Les polices Type 1, développées par la société Adobe Systems, ont été l'un des premiers formats variables disponibles. Celles-ci contiennent généralement 228 caractères dont les représentations de glyphes sont décrites par des courbes de Bézier du troisième ordre. Les formats sont similaires pour les plates-formes Macintosh, Windows et Unix mais néanmoins séparés ; La société Adobe fournit un logiciel de gestion des polices, Adobe Type Manager, pour ces trois plates-formes. Le format Type1c est la forme de stockage avec une compression non destructive la plus récente pour les représentations de glyphes du Type 1 ;
Attache par URI
Un processus pour lier une ressource de police donnée à un certain site Web, ceci par l'incorporation d'un URI crypté ou d'un certificat digital d'utilisation dans la ressource même de police.

C.2 Le téléchargement des polices

De nombreux formats de police différents sont employés sur diverses plates-formes. Pour la sélection d'un format de police adéquat, on utilise une négociation de contenu transparente (voir [NEGOT]). On peut toujours savoir quand une police n'est plus référencée, car l'URI se trouve dans la description de la police. Une implémentation donnée saura lesquels des formats de polices téléchargeables lui sont connus et évitera ainsi, avec ces indices, de télécharger un format inexploitable.

C.3 La signification des chiffres Panose

Illustration de Panose-1   [D]

Le système d'exploitation Windows95 utilise les informations des rubriques Famille, Style Serif et Proportion pour la sélection et la correspondance d'une police.

On donne ci-après la signification des dix chiffres avec leurs valeurs admises (entre parenthèses), pour le cas le plus courant où le chiffre pour la "famille" est 2 - texte et affichage (quand le premier chiffre a une valeur différente, les neufs chiffres restants prennent un autre sens). Pour des détails supplémentaires sur Panose-1, voir [PANOSE].

Famille
Style des sérifs
Graisse
Proportion
Contraste
Variation du trait
Style des branches
Forme de la lettre
Traits du milieu
Hauteur-x

La spécification Panose-2 (voir [PANOSE2]) offre une classification des polices plus complète et une technologie de correspondance qui ne se limite pas aux polices latines. Par exemple, on peut comparer les caractéristiques des sérifs d'une police latine avec les terminaisons des traits d'une police Kanji.

Illustration de Panose-2

La valeur Panose-2 n'est incorporée à aucun format de police connu, néanmoins on peut la mesurer.

C.4 La déduction des étendues Unicode pour TrueType

C'est une information qui est contenue dans la police et située dans les bits 'ulUnicodeRange de la table 'OS/2' (s'ils existent), ceux-ci contenant une représentation du jeu. Cette table est définie dans la spécification TrueType version corrigée 1.66 de la société Microsoft. En considérant l'information comme étant un jeu, chacun des éléments correspond avec un ensemble de caractères Unicode 1.1, la présence d'un élément donné dans le jeu est une indication que la police a un ou plusieurs glyphes représentés dans cet ensemble. Le jeu comprend 128 éléments décrits plus loin. L'ordre de leur succession suit en général celui du standard Unicode 1.1. On peut utiliser cette table pour convertir l'information contenue dans une police TrueType en un descripteur CSS 'unicode-range'.

BlocAdresseNom de l'ensembleÉtendue Unicode

01Latin de baseU+0-7F
12Supplément Latin-1U+80-FF
24Latin-1 étendu-AU+100-17F
38Latin étendu-BU+180-24F

41Extensions IPAU+250-2AF
52Lettres modifiant l'espacementU+2B0-2FF
64Combinaisons de marques diacritiquesU+300-36F
78GrecU+370-3CF

81Symboles grecs et copteU+3D0-3EF
92CyrilliqueU+400-4FF
104ArménienU+530-58F
118HébreuU+590-5FF

121Hébreu étendu-A
Hébreu étendu-B
Quelles étendues ?
132ArabeU+600-69F
144Arabe étenduU+670-6FF
158DevanagariU+900-97F

161BengaliU+980-9FF
172GurmukhiU+A00-A7F
184GujaratiU+A80-AFF
198OriyaU+B00-B7F

201TamilU+B80-BFF
212TeluguU+C00-C7F
224KannadaU+C80-CFF
238MalayalamU+D00-D7F

241ThaiU+E00-E7F
252LaoU+E80-EFF
264GéorgienU+10A0-10EF
278Georgien étenduU+10F0-10FF ?

281Hangul JamoU+1100-11FF
292Latin étendu supplémentaire-
304Grec étenduU+1F00-1FFF
318Ponctuation généraleU+2000-206F

321Exposants et indices-
332Symboles monétairesU+20A0-20CF
344Combinaisons de marques pour les symbolesU+20D0-20FF
358Symboles avec un aspect de lettreU+2100-214F

361Formes numériquesU+2150-218F
372FlêchesU+2190-21FF
384Opérateurs mathématiquesU+2200-22FF
398Divers techniquesU+2300-23FF

401Dessins de contrôleU+2400-243F
412Reconnaissance optique des caractèresU+2440-245F
424Les alphanumériques inclusU+2460-24FF
438Dessins de boîtesU+2500-257F

441Éléments d'ensembleU+2580-259F
452Formes géométriquesU+25A0-25FF
464Symboles diversU+2600-26FF
478DingbatsU+2700-27BF

481CJK Symboles et ponctuationU+3000-303F
492HiraganaU+3040-309F
504KatakanaU+30A0-30FF
518BopomofoU+3100-312F

521Hangul compatibilité JamoU+3130-318F
532CJK Divers ?
544CJK Lettres et mois inclusU+3200-32FF
558CJK CompatibilitéU+3300-33FF

561HangulU+AC00-D7FF
598CJK Idéogrammes unifiésU+4E00-9FFF

601Aire d'utilisation privéeU+E000-F8FF
612CJK idéogrammes de compatibilitéU+F900-FAFF
624Formes de présentation alphabétiqueU+FB00-FB4F
638Formes-A de présentation arabeU+FB50-FDFF

641Combinaisons de demi-marquesU+FE20-FE2F
652CJK Formes de compatibilitéU+FE30-FE4F
664Petites variantes de formeU+FE50-FE6F
678Formes-B de présentation arabeU+FE70-FEFF

681Formes de demi-largeur et de largeur entièreU+FF00-FFEF
692SpéciauxU+FFF0-FFFD

Le système de champs de bits de TrueType présente l'inconvénient d'être lié à Unicode 1.1 et celui de ne pouvoir accompagner l'évolution de Unicode, ainsi, par exemple, celui-ci ne peut représenter le tibétain ou les autres écritures introduites depuis Unicode 2.0.

C.5 La génération automatique des descripteurs

Les outils de création devraient permettre aux auteurs l'ajout et l'édition des descripteurs de police. Dans certains cas, ces outils peuvent fournir une aide pour l'examen des polices installées localement et pour la génération des descripteurs de police mentionnés dans la feuille de style. Cette fonction peut aussi être accomplie par des outils produisant des sous-ensembles de polices, ou des conversions de police, en vue de leur chargement dynamique.

Cette table suggère, pour les formats de police courants, où trouver ces informations :
DescripteurType 1TrueType et OpenTypeTrueType GX [TRUETYPEGX]
'ascent' dans 'Ascender' dans le fichier AFM/PFMdans 'Ascender' dans la table 'hhea' ou (de préférence) dans 'sTypoAscender' dans la table 'OS/2' dans 'horizontalBefore' dans la table 'fmtx'
'baseline'  dans la table bsln, voir note
'bbox' dans le dictionnaire de police FontBBoxdans les entrées 'xMin', 'xMax', 'yMin' et 'yMax' de la table 'head' 
'cap-height'dans CapHeight dans le fichier AFM/PFM  
'descent' dans 'Descender' dans le fichier AFM/PFM  
'mathline'   dans la table bsln
'font-family' dans FamilyName, le dictionnaire d'information de police dans la table name 
'stemh' dans StdHW, le dictionnaire privé du fichier AFM/PFM  
'stemv' dans /StdVW, le dictionnaire privé dans la table cvt 
'topline'   dans la table bsln
'unicode-range' dans le fichier cmap dans la table OS/2, voir l'appendice C 
'units-per-em' dans FontMatrix, le dictionnaire de police dans unitsPerEm, dans la table head 
'widths'  dans la table hmtx