Le système PANOSE est une méthode pour classer les polices de caractères en fonction de leurs caractéristiques visuelles. Il est utilisé pour identifier une police inconnue d'après sa représentation graphique, ou pour substituer une police à une autre.
Le nom PANOSE est constitué des six lettres représentatives des six groupes de lettres définis à l’origine : P (lettre comportant une partie droite et une arrondie), A (avec diagonale), N (« carrées »), O (« rondes »), S (« semi-rondes »), E (« semi-carrées »).
Il existe des définitions PANOSE pour les polices Latin Text, Latin Script, Latin Decorative, Iconographic, Japanese Text, Cyrillic Text et Hebrew. Le premier système PANOSE a été développé en 1985 par Benjamin Bauermeister ; il consistait en 7 chiffres hexadécimaux (étendus plus tard à 10 digits) pour chaque police. Chaque chiffre était calculé d'après une métrique visuelle, comme le poids de la police ou la présence ou l'absence d'empattements.
Par exemple, les nombres de PANOSE pour le Times New Roman sont:
Family Kind | 2 (Latin text) |
Serif Style | 2 (Cove) |
Weight | 6 (Medium) |
Proportion | 3 (Modern) |
Contrast | 5 (Medium low) |
Stroke variation | 4 (Transitional) |
Arm style | 5 (Straight arms) |
Letterform | 2 (Round) |
Midline | 3 (Standard) |
X-height | 4 (Large) |
PANOSE a été incorporé dans de nombreux font metadata tags en 1992 par ElseWare Corporation. Le système de classification, ses algorithmes de comparaison, ses paramètres de classification etc. ainsi que la marque ont été achetés par Hewlett Packard en 1995. Un moteur de synthèse de polices appelé Infinifont a également été acheté par Hewlett Packard.
En 1996, lors de l'élaboration des brouillons du W3C sur les CSS1, HP a proposé l'extension de syntaxe PANOSE pour la substitution des polices. Elle n'a pas été retenue, en partie à cause de problème de licences.