Lecture de données informationnelles Polices/Fontes OTF & TTF
Publié : dim. 25/févr./2024 14:36
Nouvelle version avec les améliorations suivantes :
• Prise en charge des fichiers TTC (Collection de fontes)
• Détection si une police est de type variable (Différentes variations d"une fonte dans un même fichier)
• Lecture des données Panose (Informations diverses sur les caractéristiques de la fonte)
• Lecture des données recensant les plages Unicode implémentées dans la fonte
⚠ Important : Après plusieurs tests sur différentes fontes, il semble que ces données ne soient pas toujours correctement encodées.
Je n'en connais pas la cause réelle mais j'ai constaté qu'après une recompilation de ces fontes avec la version de FontForge la plus récente,
ces données étaient après coup correctement encodées.
J'en conclus que ces fontes ont peut-être été compilées avec une version d'un logiciel qui ne gérait pas convenablement ce type d'informations.
Partie 1/3 : Assignations et déclarations (Partie 1)
• Prise en charge des fichiers TTC (Collection de fontes)
• Détection si une police est de type variable (Différentes variations d"une fonte dans un même fichier)
• Lecture des données Panose (Informations diverses sur les caractéristiques de la fonte)
• Lecture des données recensant les plages Unicode implémentées dans la fonte
⚠ Important : Après plusieurs tests sur différentes fontes, il semble que ces données ne soient pas toujours correctement encodées.
Je n'en connais pas la cause réelle mais j'ai constaté qu'après une recompilation de ces fontes avec la version de FontForge la plus récente,
ces données étaient après coup correctement encodées.
J'en conclus que ces fontes ont peut-être été compilées avec une version d'un logiciel qui ne gérait pas convenablement ce type d'informations.
Partie 1/3 : Assignations et déclarations (Partie 1)
Code : Tout sélectionner
EnableExplicit
DebugLevel 4 ; 5 Pour plus de détails
;
; ╔══════════════════════════════════════════════════════════════════════════════════════════════════════╗
; ║ PLUGINS - STRUCTURES - ENUMERATIONS - MAPS - CONSTANTES - VARIABLES GLOBALES - DECLARATIONS - MACROS ║
; ╚══════════════════════════════════════════════════════════════════════════════════════════════════════╝
;{ ════ STRUCTURES ════
;- ════ STRUCTURES ════
Structure ENTETETTC ;{
VersionMaj.u
VersionMin.u
NbFontes.u
Array DecalagesBlocsFontes.q(0)
EndStructure ;}
Structure DESCRIPTEURTABLE ;{
NomTable.l
SommeControle.l
Decalage.l
Taille.l
EndStructure ;}
Structure ENTETEBLOCTABLENAME ;{
Version.u
NbDonnees.u
Offset.u
EndStructure ;}
Structure DESCRIPTEURTABLENAME ;{
IDPlateforme.u ; Tableau Plateformes()
IDEncodage.u ; Tableaux Encodages(),EncodagesMAC(),EncodagesWIN()
IDLangue.u ; Tableau LanguesMAC() et Map LanguesWIN()
IDNom.u ; Tableau NomsID
Taille.u
Offset.u
Donnee.s
EndStructure ;}
Structure DONNEESPANOSE ;{
Famille.s
Style.s
Graisse.s
Proportion.s
Contraste.s
VariationFut.s
Jambage.s
FormeFonte.s
Mediane.s
HauteurX.s
EndStructure ;}
Structure DONNEESTABLEOS2 ;{
Version.a
Panose.a[10]
Unicode.q[4]
Graisse.u
Chasse.a
Style.u
IDVendeur.s ; https://learn.microsoft.com/fr-fr/typography/vendors/
EndStructure ;}
Structure DONNEESTABLES ;{
Revision.f
DateCreat.q
DateModif.q
LongDecalage.a
Variable.a
Proportionnelle.a
Fixe.a
NbGlyphes.l
List DonneesTableName.DESCRIPTEURTABLENAME()
DonneesTableOS2.DONNEESTABLEOS2
EndStructure ;}
Structure DONNEESPOLICE ;{
DossierRelatif.s
Copyright.s
Famille.s ; Nom
SousFamille.s ; Style
Identifiant.s
FamilleComplet.s
Version.s
NomPostScript.s
MarqueDeposee.s
Vendeur.s
Createur.s
Description.s
URLVendeur.s
URLCreateur.s
Licence.s
URLLicence.s
FamilleTypo.s
SousFamilleTypo.s
Compatibilite.s
ExampleTexte.s
CIDPostScript.s
FamilleWWS.s
SousFamilleWWS.s
PaletteClaire.s
PaletteSombre.s
PrefixePostScript.s
Graisse.u
GraisseInt.s
Chasse.a
ChasseInt.s
Style.u
StyleInt.s
IDVendeur.s
Revision.f
DateCreat.q
DateModif.q
Variable.a
Proportionnelle.a
Fixe.a
NbGlyphes.l
Panose.a[10]
PanoseInt.s[10]
PlagesUnicode.q[4]
Map PlagesUnicodeInt.s()
EndStructure ;}
;}
;{ ════ ENUMERATIONS ════
;- ════ ENUMERATIONS ════
Enumeration Fichiers
#FIC_POLICE
EndEnumeration
;}
;{ ════ CONSTANTES ════
;- ════ CONSTANTES ════
#ALIGT_INTEL=$4949 ; 'II'
#ALIGT_MOTOROLA=$4D4D ; 'MM'
#ALIGT_BYTE=$FF
;
#FORMAT_DATE="%dd/%mm/%yyyy %hh:%ii:%ss"
#LANGUE=$40C ; Langue choisie pour la récupération, si absente : Anglais USA
#CHOIXOS=3 ; Choix Plateforme données récupérés : 0 = Mac, 1 = Linux, 3 = Windows
;}
;{ ════ TABLEAUX, LISTES, MAPS ════
;- ════ TABLEAUX, LISTES, MAPS ════
Global Dim Plateformes.s(3) ;{
Plateformes(0)="Unicode"
Plateformes(1)="Mac"
Plateformes(3)="Windows"
;}
Global Dim Encodages.s(4) ;{
Encodages(0)="Unicode 1.0 semantics—déprécié"
Encodages(1)="Unicode 1.1 semantics—déprécié"
Encodages(2)="ISO/IEC 10646 semantics—déprécié"
Encodages(3)="Unicode 2.0 And onwards semantics, Unicode BMP only"
Encodages(4)="Unicode 2.0 And onwards semantics, Unicode full repertoire"
;}
Global Dim EncodagesMAC.s(32) ;{
EncodagesMAC(0)="Latin"
EncodagesMAC(1)="Japonais"
EncodagesMAC(2)="Chinois traditionnel"
EncodagesMAC(3)="Coréen"
EncodagesMAC(4)="Arabe"
EncodagesMAC(5)="Hébreu"
EncodagesMAC(6)="Grec"
EncodagesMAC(7)="Russe"
EncodagesMAC(8)="RSymbol"
EncodagesMAC(9)="Dévanagari"
EncodagesMAC(10)="Gourmoukhî"
EncodagesMAC(11)="Goudjarati"
EncodagesMAC(12)="Odia"
EncodagesMAC(13)="Bengali"
EncodagesMAC(14)="Tamoul"
EncodagesMAC(15)="Télougou"
EncodagesMAC(16)="Kannada"
EncodagesMAC(17)="Malayalam"
EncodagesMAC(18)="Cingalais"
EncodagesMAC(19)="Birman"
EncodagesMAC(20)="Khmer"
EncodagesMAC(21)="Thaï"
EncodagesMAC(22)="Laotien"
EncodagesMAC(23)="Géorgien"
EncodagesMAC(24)="Arménien"
EncodagesMAC(25)="Chinois simplifié"
EncodagesMAC(26)="Tibétain"
EncodagesMAC(27)="Mongol"
EncodagesMAC(28)="Guèze"
EncodagesMAC(29)="Slavon"
EncodagesMAC(30)="Vietnamien"
EncodagesMAC(31)="Sindhi"
EncodagesMAC(32)="Non-interprété"
;}
Global Dim LanguesMAC.s(150) ;{
LanguesMAC(0)="Anglais" ; English
LanguesMAC(1)="Français" ; French
LanguesMAC(2)="Allemand" ; German
LanguesMAC(3)="Italien" ; Italian
LanguesMAC(4)="Néerlandais" ; Dutch
LanguesMAC(5)="Suédois" ; Swedish
LanguesMAC(6)="Espagnol" ; Spanish
LanguesMAC(7)="Danois" ; Danish
LanguesMAC(8)="Portugais" ; Portuguese
LanguesMAC(9)="Norvégien" ; Norwegian
LanguesMAC(10)="Hébreu" ; Hebrew
LanguesMAC(11)="Japonais" ; Japanese
LanguesMAC(12)="Arabe" ; Arabic
LanguesMAC(13)="Finnois" ; Finnish
LanguesMAC(14)="Grec" ; Greek
LanguesMAC(15)="Islandais" ; Icelandic
LanguesMAC(16)="Maltais" ; Maltese
LanguesMAC(17)="Turc" ; Turkish
LanguesMAC(18)="Croate" ; Croatian
LanguesMAC(19)="Chinois traditionnel" ; Chinese (Traditional)
LanguesMAC(20)="Ourdou" ; Urdu
LanguesMAC(21)="Hindi" ; Hindi
LanguesMAC(22)="Thaï" ; Thai
LanguesMAC(23)="Coréen" ; Korean
LanguesMAC(24)="Lituanien" ; Lithuanian
LanguesMAC(25)="Polonais" ; Polish
LanguesMAC(26)="Hongrois" ; Hungarian
LanguesMAC(27)="Estonien" ; Estonian
LanguesMAC(28)="Letton" ; Latvian
LanguesMAC(29)="Sami" ; Sami
LanguesMAC(30)="Féroïen" ; Faroese
LanguesMAC(31)="Farsi/Perse" ; Farsi/Persian
LanguesMAC(32)="Russe" ; Russian
LanguesMAC(33)="Chinois simplifié" ; Chinese (Simplified)
LanguesMAC(34)="Flamand" ; Flemish
LanguesMAC(35)="Irlandais" ; Irish
LanguesMAC(36)="Albanais" ; Albanian
LanguesMAC(37)="Roumain" ; Romanian
LanguesMAC(38)="Tchèque" ; Czech
LanguesMAC(39)="Slovaque" ; Slovak
LanguesMAC(40)="Slovénien" ; Slovenian
LanguesMAC(41)="Yiddish" ; Yiddish
LanguesMAC(42)="Serbe" ; Serbian
LanguesMAC(43)="Macédonien" ; Macedonian
LanguesMAC(44)="Bulgare" ; Bulgarian
LanguesMAC(45)="Ukrainien" ; Ukrainian
LanguesMAC(46)="Biélorusse" ; Byelorussian
LanguesMAC(47)="Ouzbek" ; Uzbek
LanguesMAC(48)="Kazakh" ; Kazakh
LanguesMAC(49)="Azerbaïdjanais (Cyrillique)" ; Azerbaijani (Cyrillic script)
LanguesMAC(50)="Azerbaïdjanais (Arabe)" ; Azerbaijani (Arabic script)
LanguesMAC(51)="Arménien" ; Armenian
LanguesMAC(52)="Géorgien" ; Georgian
LanguesMAC(53)="Roumain (Moldave)" ; Romanian (Moldova)
LanguesMAC(54)="Kirghiz" ; Kirghiz
LanguesMAC(55)="Tadjik" ; Tajiki
LanguesMAC(56)="Turkmène" ; Turkmen
LanguesMAC(57)="Mongol" ; Mongolian (Mongolian script)
LanguesMAC(58)="Mongol (Cyrillique)" ; Mongolian (Cyrillic script)
LanguesMAC(59)="Pachto" ; Pashto
LanguesMAC(60)="Kurde" ; Kurdish
LanguesMAC(61)="Cachemiri" ; Kashmiri
LanguesMAC(62)="Sindhi" ; Sindhi
LanguesMAC(63)="Tibétain" ; Tibetan
LanguesMAC(64)="Népalais" ; Nepali
LanguesMAC(65)="Sanskrit" ; Sanskrit
LanguesMAC(66)="Marathi" ; Marathi
LanguesMAC(67)="Bengali" ; Bangla
LanguesMAC(68)="Assamais" ; Assamese
LanguesMAC(69)="Goudjarati" ; Gujarati
LanguesMAC(70)="Pendjabi" ; Punjabi
LanguesMAC(71)="Odia" ; Odia
LanguesMAC(72)="Malayalam" ; Malayalam
LanguesMAC(73)="Kannada" ; Kannada
LanguesMAC(74)="Tamoul" ; Tamil
LanguesMAC(75)="Télougou" ; Telugu
LanguesMAC(76)="Cingalais" ; Sinhalese
LanguesMAC(77)="Birman" ; Burmese
LanguesMAC(78)="Khmer" ; Khmer
LanguesMAC(79)="Laotien" ; Lao
LanguesMAC(80)="Vietnamien" ; Vietnamese
LanguesMAC(81)="Indonésien" ; Indonesian
LanguesMAC(82)="Tagalog" ; Tagalog
LanguesMAC(83)="Malais (Romain)" ; Malay (Roman script)
LanguesMAC(84)="Malais (Arabe)" ; Malay (Arabic script)
LanguesMAC(85)="Amharique" ; Amharic
LanguesMAC(86)="Tigrigna" ; Tigrinya
LanguesMAC(87)="Galla" ; Galla
LanguesMAC(88)="Somali" ; Somali
LanguesMAC(89)="Swahili" ; Swahili
LanguesMAC(90)="Kinyarwanda (Rwanda)" ; Kinyarwanda/Ruanda
LanguesMAC(91)="Rwanda-Rundi" ; Rundi
LanguesMAC(92)="Chewa" ; Nyanja/Chewa
LanguesMAC(93)="Malgache" ; Malagasy
LanguesMAC(94)="Esperanto" ; Esperanto
LanguesMAC(128)="Gallois" ; Welsh
LanguesMAC(129)="Basque" ; Basque
LanguesMAC(130)="Catalan" ; Catalan
LanguesMAC(131)="Latin" ; Latin
LanguesMAC(132)="Quechua" ; Quechua
LanguesMAC(133)="Guarani" ; Guarani
LanguesMAC(134)="Aymara" ; Aymara
LanguesMAC(135)="Tatar" ; Tatar
LanguesMAC(136)="Ouïghour" ; Uighur
LanguesMAC(137)="Dzongkha" ; Dzongkha
LanguesMAC(138)="Javanais (Romain)" ; Javanese (Roman script)
LanguesMAC(139)="Soudanais (Romain)" ; Sundanese (Roman script)
LanguesMAC(140)="Galicien" ; Galician
LanguesMAC(141)="Afrikaans" ; Afrikaans
LanguesMAC(142)="Breton" ; Breton
LanguesMAC(143)="Inuktitut" ; Inuktitut
LanguesMAC(144)="Gaélique écossais" ; Scottish Gaelic
LanguesMAC(145)="Mannois" ; Manx
LanguesMAC(146)="Irlandais (avec point diacritique)" ; Irish (with dot above)
LanguesMAC(147)="Tongien" ; Tongan
LanguesMAC(148)="Grec (Polytonique)" ; Greek (polytonic)
LanguesMAC(149)="Groenlandais" ; Greenlandic
LanguesMAC(150)="Azerbaïdjanais (Romain)" ; Azerbaijani (Roman script)
;}
Global Dim EncodagesWIN.s(32) ;{
EncodagesWIN(0)="Symbol"
EncodagesWIN(1)="Unicode BMP"
EncodagesWIN(2)="ShiftJIS"
EncodagesWIN(3)="PRC"
EncodagesWIN(4)="Big5"
EncodagesWIN(5)="Wansung"
EncodagesWIN(6)="Johab"
EncodagesWIN(7)="Réservé"
EncodagesWIN(8)="Réservé"
EncodagesWIN(9)="Réservé"
EncodagesWIN(10)="Unicode Répertoire total"
;}
Global NewMap Graisses.s() ;{
Graisses("5")="Contours"
Graisses("7")="Contours"
Graisses(Str(#FW_THIN))="Fin"
Graisses(Str(#FW_EXTRALIGHT))="Ultra-léger"
Graisses("250")="Ultra-léger"
Graisses("275")="Ultra-léger"
Graisses(Str(#FW_LIGHT))="Léger"
Graisses("350")="Semi-léger"
Graisses(Str(#FW_NORMAL))="Normal"
Graisses(Str(#FW_MEDIUM))="Moyen"
Graisses(Str(#FW_SEMIBOLD))="Semi-gras"
Graisses(Str(#FW_BOLD))="Gras"
Graisses(Str(#FW_EXTRABOLD))="Très gras"
Graisses(Str(#FW_BLACK))="Très noir"
;}
Global NewMap Chasses.s() ;{
Chasses("1")="Ultra-condensé"
Chasses("2")="Extra-condensé"
Chasses("3")="Condensé"
Chasses("4")="Semi-condensé"
Chasses("5")="Medium (Normal)"
Chasses("6")="Semi-étendu"
Chasses("7")="Étendu"
Chasses("8")="Extra-étendu"
Chasses("9")="Ultra-étendu"
;}
Global NewMap LanguesWIN.s() ;{
LanguesWIN("1025")="Arabe (Arabie-Saoudite)" ; $0401 - Arabic/Saudi Arabia
LanguesWIN("1026")="Bulgare (Biulgarie)" ; $0402 - Bulgarian/Bulgaria
LanguesWIN("1027")="Catalan (Espagne)" ; $0403 - Catalan/Catalan
LanguesWIN("1028")="Chinois (Taïwan)" ; $0404 - Chinese/Taiwan
LanguesWIN("1029")="Tchèque (Tchéquie)" ; $0405 - Czech/Czech Republic
LanguesWIN("1030")="Danois (Danemark)" ; $0406 - Danish/Denmark
LanguesWIN("1031")="Allemand (Allemagne)" ; $0407 - German/Germany
LanguesWIN("1032")="Grec (Grèce)" ; $0408 - Greek/Greece
LanguesWIN("1033")="Anglais (Etats-Unis)" ; $0409 - English/United States
LanguesWIN("1040")="Italien (Italie)" ; $0410 - Italian/Italy
LanguesWIN("1041")="Japonais (Japon)" ; $0411 - Japanese/Japan
LanguesWIN("1042")="Coréen (Corée)" ; $0412 - Korean/Korea
LanguesWIN("1043")="Néerlandais (Pays-Bas)" ; $0413 - Dutch/Netherlands
LanguesWIN("1044")="Bokmål (Norvège)" ; $0414 - Norwegian (Bokmal)/Norway
LanguesWIN("1045")="Polonais (Pologne)" ; $0415 - Polish/Poland
LanguesWIN("1046")="Portugais (Brésil)" ; $0416 - Portuguese/Brazil
LanguesWIN("1047")="Romanche (Suisse)" ; $0417 - Romansh/Switzerland
LanguesWIN("1048")="Roumain (Roumanie)" ; $0418 - Romanian/Romania
LanguesWIN("1049")="Russe (Russie)" ; $0419 - Russian/Russia
LanguesWIN("1056")="Ourdou (Pakistan)" ; $0420 - Urdu/Islamic Republic of Pakistan
LanguesWIN("1057")="Indonésien (Indonésie)" ; $0421 - Indonesian/Indonesia
LanguesWIN("1058")="Ukrainien (Ukraine)" ; $0422 - Ukrainian/Ukraine
LanguesWIN("1059")="Biélorusse (Biélorussie)" ; $0423 - Belarusian/Belarus
LanguesWIN("1060")="Slovénien (Slovénie)" ; $0424 - Slovenian/Slovenia
LanguesWIN("1061")="Estonien (Estonie)" ; $0425 - Estonian/Estonia
LanguesWIN("1062")="Letton (Lettonie)" ; $0426 - Latvian/Latvia
LanguesWIN("1063")="Lituanien (Lituanie)" ; $0427 - Lithuanian/Lithuania
LanguesWIN("1064")="Tadjik (Cyrillique) (Tadjikistan)" ; $0428 - Tajik (Cyrillic)/Tajikistan
LanguesWIN("1074")="Tswana (Afrique du Sud)" ; $0432 - Setswana/South Africa
LanguesWIN("1076")="Xhosa (Afrique du Sud)" ; $0434 - isiXhosa/South Africa
LanguesWIN("1077")="Zoulou (Afrique du Sud)" ; $0435 - isiZulu/South Africa
LanguesWIN("1078")="Afrikaans (Afrique du Sud)" ; $0436 - Afrikaans/South Africa
LanguesWIN("1079")="Géorgien (Géorgie)" ; $0437 - Georgian/Georgia
LanguesWIN("1080")="Féroïen (Iles Féroé)" ; $0438 - Faroese/Faroe Islands
LanguesWIN("1081")="Hindi (Inde)" ; $0439 - Hindi/India
LanguesWIN("1088")="Kirghize (Kirghizistan)" ; $0440 - Kyrgyz/Kyrgyzstan
LanguesWIN("1089")="Kiswahili (Kenya)" ; $0441 - Kiswahili/Kenya
LanguesWIN("1090")="Turkmène (Turkménistan)" ; $0442 - Turkmen/Turkmenistan
LanguesWIN("1091")="Ouzbek (Latin) (Ouzbékistan)" ; $0443 - Uzbek (Latin)/Uzbekistan
LanguesWIN("1092")="Tatar (Russie)" ; $0444 - Tatar/Russia
LanguesWIN("1093")="Bengali (Inde)" ; $0445 - Bangla/India
LanguesWIN("1094")="Pendjabi (Inde)" ; $0446 - Punjabi/India
LanguesWIN("1095")="Goudjarati (Inde)" ; $0447 - Gujarati/India
LanguesWIN("1096")="Odia (Inde)" ; $0448 - Odia/India
LanguesWIN("1097")="Tamoul (Inde)" ; $0449 - Tamil/India
LanguesWIN("1104")="Mongol (Cyrillique) (Mongolie)" ; $0450 - Mongolian (Cyrillic)/Mongolia
LanguesWIN("1105")="Tibétain (Chine)" ; $0451 - Tibetan/PRC
LanguesWIN("1106")="Gallois (Royaume-Uni)" ; $0452 - Welsh/United Kingdom
LanguesWIN("1107")="Khmer (Cambodge)" ; $0453 - Khmer/Cambodia
LanguesWIN("1108")="Laotien (Laos)" ; $0454 - Lao/Lao P.D.R.
LanguesWIN("1110")="Galicien (Galice)" ; $0456 - Galician/Galician
LanguesWIN("1111")="Konkani (Inde)" ; $0457 - Konkani/India
LanguesWIN("1121")="Népalais (Népal)" ; $0461 - Nepali/Nepal
LanguesWIN("1122")="Frison (Pays-Bas)" ; $0462 - Frisian/Netherlands
LanguesWIN("1123")="Pachto (Afghanistan)" ; $0463 - Pashto/Afghanistan
LanguesWIN("1124")="Philippin (Philippines)" ; $0464 - Filipino/Philippines
LanguesWIN("1125")="Dhivehi (Maldives)" ; $0465 - Divehi/Maldives
LanguesWIN("1128")="Haoussa (Nigeria)" ; $0468 - Hausa (Latin)/Nigeria
LanguesWIN("1136")="Igbo (Nigeria)" ; $0470 - Igbo/Nigeria
LanguesWIN("1144")="Yi (Chine)" ; $0478 - Yi/PRC
LanguesWIN("1152")="Ouïghour (Chine)" ; $0480 - Uighur/PRC
LanguesWIN("1153")="Maori (Nouvelle-Zélande)" ; $0481 - Maori/New Zealand
LanguesWIN("1154")="Occitan (France)" ; $0482 - Occitan/France
LanguesWIN("1155")="Corse (France)" ; $0483 - Corsican/France
LanguesWIN("1156")="Alsacien (France)" ; $0484 - Alsatian/France
LanguesWIN("1157")="Yakoute (Russie)" ; $0485 - Sakha/Russia
LanguesWIN("1158")="Quiché (Guatemala)" ; $0486 - K’iche/Guatemala
LanguesWIN("1159")="Kinyarwanda (Rwanda)" ; $0487 - Kinyarwanda/Rwanda
LanguesWIN("1160")="Wolof (Sénégal)" ; $0488 - Wolof/Senegal
LanguesWIN("2049")="Arabe (Irak)" ; $0801 - Arabic/Iraq
LanguesWIN("2052")="Chinois (Chine)" ; $0804 - Chinese/People’s Republic of China
LanguesWIN("2055")="Allemand (Suisse)" ; $0807 - German/Switzerland
LanguesWIN("2057")="Anglais (Royaume-Uni)" ; $0809 - English/United Kingdom
LanguesWIN("2064")="Italien (Italie)" ; $0810 - Italian/Switzerland
LanguesWIN("2067")="Néerlandais (Belgique)" ; $0813 - Dutch/Belgium
LanguesWIN("2068")="Nynorsk (Norvège)" ; $0814 - Norwegian (Nynorsk)/Norway
LanguesWIN("2070")="Portugais (Portugal)" ; $0816 - Portuguese/Portugal
LanguesWIN("2115")="Ouzbek (Cyrillique) (Ouzbékistan)" ; $0843 - Uzbek (Cyrillic)/Uzbekistan
LanguesWIN("2117")="Bengali (Bangladesh)" ; $0845 - Bangla/Bangladesh
LanguesWIN("2128")="Mongol (Mongolie)" ; $0850 - Mongolian (Traditional)/People’s Republic of China
LanguesWIN("4097")="Arabe (Libye)" ; $1001 - Arabic/Libya
LanguesWIN("4100")="Chinois (Singapour)" ; $1004 - Chinese/Singapore
LanguesWIN("4103")="Allemand (Luxembourg)" ; $1007 - German/Luxembourg
LanguesWIN("4105")="Anglais (Canada)" ; $1009 - English/Canada
LanguesWIN("5121")="Arabe (Algérie)" ; $1401 - Arabic/Algeria
LanguesWIN("5124")="Chinois (Macao)" ; $1404 - Chinese/Macao SAR
LanguesWIN("5127")="Allemand (Liechtenstein)" ; $1407 - German/Liechtenstein
LanguesWIN("5129")="Anglais (Nouvelle-Zélande)" ; $1409 - English/New Zealand
LanguesWIN("6145")="Arabe (Maroc)" ; $1801 - Arabic/Morocco
LanguesWIN("6153")="Anglais (Irlande)" ; $1809 - English/Ireland
LanguesWIN("8193")="Arabe (Oman)" ; $2001 - Arabic/Oman
LanguesWIN("8201")="Anglais (Jamaïque)" ; $2009 - English/Jamaica
LanguesWIN("9217")="Arabe (Yémen)" ; $2401 - Arabic/Yemen
LanguesWIN("9225")="Anglais (Caraïbes)" ; $2409 - English/Caribbean
LanguesWIN("10241")="Arabe (Syrie)" ; $2801 - Arabic/Syria
LanguesWIN("10249")="Anglais (Bélize)" ; $2809 - English/Belize
LanguesWIN("12289")="Arabe (Liban)" ; $3001 - Arabic/Lebanon
LanguesWIN("12297")="Anglais (Zimbabwe)" ; $3009 - English/Zimbabwe
LanguesWIN("13313")="Arabe (Koweït)" ; $3401 - Arabic/Kuwait
LanguesWIN("13321")="Anglais (Philippines)" ; $3409 - English/Republic of the Philippines
LanguesWIN("14337")="Arabe (Émirats arabes unis)" ; $3801 - Arabic/U.A.E.
LanguesWIN("16385")="Arabe (Qatar)" ; $4001 - Arabic/Qatar
LanguesWIN("16393")="Anglais (Inde)" ; $4009 - English/India
LanguesWIN("17417")="Anglais (Malaisie)" ; $4409 - English/Malaysia
LanguesWIN("18441")="Anglais (Singapour)" ; $4809 - English/Singapore
LanguesWIN("1034")="Espagnol (Traditionnel) (Espagne)" ; $040A - Spanish (Traditional Sort)/Spain
LanguesWIN("1035")="Finnois (Finlande)" ; $040B - Finnish/Finland
LanguesWIN("1036")="Français (France)" ; $040C - French/France
LanguesWIN("1037")="Hébreu (Israël)" ; $040D - Hebrew/Israel
LanguesWIN("1038")="Hongrois (Hongrie)" ; $040E - Hungarian/Hungary
LanguesWIN("1039")="Islandais (Islande)" ; $040F - Icelandic/Iceland
LanguesWIN("1050")="Croate (Croatie)" ; $041A - Croatian/Croatia
LanguesWIN("1051")="Slovaque (Slovaquie)" ; $041B - Slovak/Slovakia
LanguesWIN("1052")="Albanais (Albanie)" ; $041C - Albanian/Albania
LanguesWIN("1053")="Suédois (Suède)" ; $041D - Swedish/Sweden
LanguesWIN("1054")="Thaï (ThaIlande)" ; $041E - Thai/Thailand
LanguesWIN("1055")="Turc (Turquie)" ; $041F - Turkish/Türkiye
LanguesWIN("1066")="Vietnamien (Vietnam)" ; $042A - Vietnamese/Vietnam
LanguesWIN("1067")="Arménien (Arménie)" ; $042B - Armenian/Armenia
LanguesWIN("1068")="Azerbaïdjanais (Arabe) (Azerbaïdjan)" ; $042C - Azerbaijani (Latin)/Azerbaijan
LanguesWIN("1069")="Basque (France)" ; $042D - Basque/Basque
LanguesWIN("1070")="Haut-sorabe (Allemagne)" ; $042E - Upper Sorbian/Germany
LanguesWIN("1071")="Macédonien (Macédoine)" ; $042F - Macedonian/North Macedonia
LanguesWIN("1082")="Maltais (Malte)" ; $043A - Maltese/Malta
LanguesWIN("1083")="Same (Nord) (Norvège)" ; $043B - Sami (Northern)/Norway
LanguesWIN("1086")="Malais (Malaisie)" ; $043E - Malay/Malaysia
LanguesWIN("1087")="Kazakh (Kazakhstan)" ; $043F - Kazakh/Kazakhstan
LanguesWIN("1098")="Télougou (Inde)" ; $044A - Telugu/India
LanguesWIN("1099")="Kannada (Inde)" ; $044B - Kannada/India
LanguesWIN("1100")="Malayalam (Inde)" ; $044C - Malayalam/India
LanguesWIN("1101")="Assamais (Inde)" ; $044D - Assamese/India
LanguesWIN("1102")="Marathi (Inde)" ; $044E - Marathi/India
LanguesWIN("1103")="Sanskrit (Sanskritie)" ; $044F - Sanskrit/India
LanguesWIN("1114")="Syriaque (Syrie)" ; $045A - Syriac/Syria
LanguesWIN("1115")="Cingalais (Sri Lanka)" ; $045B - Sinhala/Sri Lanka
LanguesWIN("1117")="Inuktitut (Canada)" ; $045D - Inuktitut/Canada
LanguesWIN("1118")="Amharique (Éthiopie)" ; $045E - Amharic/Ethiopia
LanguesWIN("1130")="Yoruba (Nigeria)" ; $046A - Yoruba/Nigeria
LanguesWIN("1131")="Quechua (Bolivie)" ; $046B - Quechua/Bolivia
LanguesWIN("1132")="Sotho du Nord (Afrique du Sud)" ; $046C - Sesotho sa Leboa/South Africa
LanguesWIN("1133")="Russe (Russie)" ; $046D - Bashkir/Russia
LanguesWIN("1134")="Luxembourgeois (Luxembourg)" ; $046E - Luxembourgish/Luxembourg
LanguesWIN("1135")="Groenlandais (Groenland)" ; $046F - Greenlandic/Greenland
LanguesWIN("1146")="Mapudungun (Chili)" ; $047A - Mapudungun/Chile
LanguesWIN("1148")="Mohawk (Canada/USA)" ; $047C - Mohawk/Mohawk
LanguesWIN("1150")="Breton (France)" ; $047E - Breton/France
LanguesWIN("1164")="Dari (Afghanistan)" ; $048C - Dari/Afghanistan
LanguesWIN("2058")="Espagnol (Mexique)" ; $080A - Spanish/Mexico
LanguesWIN("2060")="Français (Belgique)" ; $080C - French/Belgium
LanguesWIN("2074")="Serbe (Latin) (Serbie)" ; $081A - Serbian (Latin)/Serbia
LanguesWIN("2077")="Suédois (Finlande)" ; $081D - Swedish/Finland
LanguesWIN("2092")="Azerbaïdjanais (Cyrillique) (Azerbaïdjan)" ; $082C - Azerbaijani (Cyrillic)/Azerbaijan
LanguesWIN("2094")="Bas-sorabe (Allemagne)" ; $082E - Lower Sorbian/Germany
LanguesWIN("2107")="Same (Nord) (Suède)" ; $083B - Sami (Northern)/Sweden
LanguesWIN("2108")="Irlandais (Irlande)" ; $083C - Irish/Ireland
LanguesWIN("2110")="Malais (Brunei)" ; $083E - Malay/Brunei Darussalam
LanguesWIN("2141")="Inuktitut (Latin) (Canada)" ; $085D - Inuktitut (Latin)/Canada
LanguesWIN("2143")="Tamazight (Latin) (Algérie)" ; $085F - Tamazight (Latin)/Algeria
LanguesWIN("2155")="Quechua (Quechuaie)" ; $086B - Quechua/Ecuador
LanguesWIN("3073")="Arabe (Égypte)" ; $0C01 - Arabic/Egypt
LanguesWIN("3076")="Chinois (Hong-Kong)" ; $0C04 - Chinese/Hong Kong SAR
LanguesWIN("3079")="Allemand (Autriche)" ; $0C07 - German/Austria
LanguesWIN("3081")="Anglais (Australie)" ; $0C09 - English/Australia
LanguesWIN("3082")="Espagnol (Moderne) (Espagne)" ; $0C0A - Spanish (Modern Sort)/Spain
LanguesWIN("3084")="Français (Canada)" ; $0C0C - French/Canada
LanguesWIN("3098")="Serbe (Cyrillique) (Serbie)" ; $0C1A - Serbian (Cyrillic)/Serbia
LanguesWIN("3131")="Same (Nord) (Finlande)" ; $0C3B - Sami (Northern)/Finland
LanguesWIN("3179")="Quechua (Pérou)" ; $0C6B - Quechua/Peru
LanguesWIN("4106")="Espagnol (Guatemala)" ; $100A - Spanish/Guatemala
LanguesWIN("4108")="Français (Suisse)" ; $100C - French/Switzerland
LanguesWIN("4122")="Croate (Latin) (Bosnie-Herzégovine)" ; $101A - Croatian (Latin)/Bosnia and Herzegovina
LanguesWIN("4155")="Same (Lule) (Norvège)" ; $103B - Sami (Lule)/Norway
LanguesWIN("5130")="Espagnol (Costa Rica)" ; $140A - Spanish/Costa Rica
LanguesWIN("5132")="Français (Luxembourg)" ; $140c - French/Luxembourg
LanguesWIN("5146")="Azerbaïdjanais (Arabe) (Bosnie-Herzégovine)" ; $141A - Bosnian (Latin)/Bosnia and Herzegovina
LanguesWIN("5179")="Same (Lule) (Suède)" ; $143B - Sami (Lule)/Sweden
LanguesWIN("6154")="Espagnol (Panama)" ; $180A - Spanish/Panama
LanguesWIN("6156")="Français (Monaco)" ; $180C - French/Principality of Monaco
LanguesWIN("6170")="Serbe (Latin) (Bosnie-Herzégovine)" ; $181A - Serbian (Latin)/Bosnia and Herzegovina
LanguesWIN("6203")="Same (Sud) (Norvège)" ; $183B - Sami (Southern)/Norway
LanguesWIN("7169")="Arabe (Tunisie)" ; $1C01 - Arabic/Tunisia
LanguesWIN("7177")="Anglais (Afrique du Sud)" ; $1C09 - English/South Africa
LanguesWIN("7178")="Espagnol (République dominicaine)" ; $1C0A - Spanish/Dominican Republic
LanguesWIN("7194")="Serbe (Cyrillique) (Bosnie-Herzégovine)" ; $1C1A - Serbian (Cyrillic)/Bosnia and Herzegovina
LanguesWIN("7227")="Same (Sud) (Suède)" ; $1C3B - Sami (Southern)/Sweden
LanguesWIN("8202")="Espagnol (Espagne)" ; $200A - Spanish/Venezuela
LanguesWIN("8218")="Bosnien (Cyrillique) (Bosnie-Herzégovine)" ; $201A - Bosnian (Cyrillic)/Bosnia and Herzegovina
LanguesWIN("8251")="Same (Skolt) (Finlande)" ; $203B - Sami (Skolt)/Finland
LanguesWIN("9226")="Espagnol (Colombie)" ; $240A - Spanish/Colombia
LanguesWIN("9275")="Same (Inari) (Finlande)" ; $243B - Sami (Inari)/Finland
LanguesWIN("10250")="Espagnol (Pérou)" ; $280A - Spanish/Peru
LanguesWIN("11265")="Arabe (Jordanie)" ; $2C01 - Arabic/Jordan
LanguesWIN("11273")="Anglais (Trinité-et-Tobago)" ; $2C09 - English/Trinidad and Tobago
LanguesWIN("11274")="Espagnol (Argentine)" ; $2C0A - Spanish/Argentina
LanguesWIN("12298")="Espagnol (Équateur)" ; $300A - Spanish/Ecuador
LanguesWIN("13322")="Espagnol (Chili)" ; $340A - Spanish/Chile
LanguesWIN("14346")="Espagnol (Espagne)" ; $380A - Spanish/Uruguay
LanguesWIN("15361")="Arabe (Bahreïn)" ; $3C01 - Arabic/Bahrain
LanguesWIN("15370")="Espagnol (Paraguay)" ; $3C0A - Spanish/Paraguay
LanguesWIN("16394")="Espagnol (Bolivie)" ; $400A - Spanish/Bolivia
LanguesWIN("17418")="Espagnol (Salvador)" ; $440A - Spanish/El Salvador
LanguesWIN("18442")="Espagnol (Honduras)" ; $480A - Spanish/Honduras
LanguesWIN("19466")="Espagnol (Nicaragua)" ; $4C0A - Spanish/Nicaragua
LanguesWIN("20490")="Espagnol (Porto-Rico)" ; $500A - Spanish/Puerto Rico
LanguesWIN("21514")="Espagnol (USA)" ; $540A - Spanish/United States
;}
Global NewMap NomsID.s() ;{
NomsID("0")="Copyright"
NomsID("1")="Famille"
NomsID("2")="Sous-famille"
NomsID("3")="Identifiant unique"
NomsID("4")="Nom complet"
NomsID("5")="Version"
NomsID("6")="Nom PostScript"
NomsID("7")="Marque déposée"
NomsID("8")="Vendeur"
NomsID("9")="Créateur"
NomsID("10")="Description"
NomsID("11")="URL Vendeur"
NomsID("12")="URL Créateur"
NomsID("13")="Licence"
NomsID("14")="URL Licence"
NomsID("15")="Réservé"
NomsID("16")="Famille typographique"
NomsID("17")="Sous-famille typographique"
NomsID("18")="Compatibilité totale"
NomsID("19")="Example texte"
NomsID("20")="CID PostScript"
NomsID("21")="Famille WWS"
NomsID("22")="Sous-famille WWS"
NomsID("23")="Palette arrière-plan clair"
NomsID("24")="Palette arrière-plan sombre"
NomsID("25")="Préfixe nom PostScript"
;}