3. Principes de fonctionnement
Internationalisation et caractères régionaux
Les fonctions affichant du texte supportent les caractères internationaux (lettres accentuées,
alphabets spéciaux) pour les langues qui remplissent les caractéristiques suivantes:
• jeu de caractères sur 8 bits
• mots écrits de gauche à droite
Pour les jeux de caractères nécessitant plus de 8 bits (par exemple les polices chinoises) et les
langages s'écrivant de droite à gauche, la seule solution consiste à construire une image bitmap
dans l'ordinateur hôte à l'aide des fonctions du système, et de l'afficher avec la primitive
.
drawBitmap
Pour tous les autres langages, il suffit d'utiliser la même page de localisation pour la police de
caractères et dans le programme pour que les caractères accentués s'affichent correctement. Les
polices de caractères préchargées sur les modules correspondent à la locale
appelée
iso-latin-1
l'Europe, mais vous pouvez facilement générer des polices équivalentes utilisant la locale de votre
ordinateur à l'aide du petit utilitaire fourni dans la librairie Delphi, dans le répertoire Examples
\Display-font-generator.
En pratique, pour les langages qui supportent intrinsèquement un encodage Unicode (16bit, UTF8
ou autre) comme Python, C#, VB ou Java, vous configurez dans l'API la page de localisation qui doit
être utilisée pour ramener les chaînes de caractères à 8 bits. La valeur par défaut est
puisque c'est celle qui correspond aux polices préchargées dans le module.
Pour les autres langages comme Delphi, C++ où PHP où c'est la page de localisation du fichier
source qui détermine implicitement l'interprétation des chaînes de caractères immédiates, et où les
conversions sont sous le contrôle direct du programmeur, vous n'avez qu'à vous assurer de passer à
l'API de chaînes compatibles avec la police de caractères que vous utilisez sur votre écran. L'erreur
la plus fréquence consiste à utiliser un format UTF-8 sans s'en rendre compte (parce que c'est le
format utilisé par de nombreux éditeurs modernes) et d'omettre de convertir la chaîne en
avant de la passer en argument à la fonction
iso-8859-*
voyez s'afficher deux lettres bizarres à la place de chaque caractère accentué, c'est que vous êtes
dans ce cas de figure.
3.6. Format des fichiers de fontes
Votre Yocto-MaxiDisplay contient quelques fontes intégrées, mais il a été conçu pour que vous
puissiez créer vos propres fontes aussi facilement que possible. Un fichier de fonte pour votre Yocto-
MaxiDisplay est essentiellement un gros bitmap où tous les caractères sont dessinés dans l'ordre de
leur code ASCII, les un derrière les autres. En plus du bitmap, ces fichiers incluent un header
contenant quelques informations annexe ainsi qu'une liste des positions de la dernière colonne de
chaque caractère. Le format est le suivant:
offset
type
Taille (bytes) signification
0x00
U16
2
0x02
U8
1
0x03
U8
1
0x04
U16
2
0x06
U8
1
0x09
U8
1
0x07
U8
1
0x08
U8
1
0x0A
U16[] 2*N
0x0A +2*N U8[]
H* W / 16
14
ou
) permettant l'affichage des pays de l'ouest de
Windows-1252
Signature ("YF" 0x4659, little endian )
Version = 1
Bits par pixel =1
W la largeur du bitmap, little endian,
(doit être un multiple de 16)
H la hauteur du bitmap
Base line (en partant du bas)
Premier caractère défini
Dernier caractère défini
coordonnées de la dernière colonne de
chaque caractère (little endian)
Données du bitmap
iso-8859-1
ou
drawText
consoleOut
(aussi
,
iso-8859-1
. Si vous
www.yoctopuce.com