PicoPixel

Travailler avec les polices

Découvrez pourquoi les polices LVGL doivent être converties, comment en créer une à partir d'une police intégrée ou importée, configurer des écritures de droite à gauche comme l'arabe et l'hébreu, gérer les grandes polices CJK, et supprimer celles dont vous n'avez plus besoin.

EDEd
fontpicopixellvgl
MIS À JOUR2026-05-29
01/07

Vue d'ensemble

Les polices d’un appareil embarqué ne fonctionnent pas comme celles d’un ordinateur. Ce guide explique leur conversion, puis vous accompagne dans leur création avec PicoPixel : choix d’une police intégrée ou importée, prise en charge de l’arabe et de l’hébreu, maîtrise de la taille des polices chinoises, japonaises et coréennes. Vous apprendrez aussi à supprimer les polices inutilisées après vos essais.

Des libellés en cyrillique, thaï, chinois, grec, coréen, japonais et arabe sur le canevas PicoPixel, avec dix polices dans le panneau de gauche et les propriétés d’un libellé à droite.
▸ Chaque libellé utilise une police adaptée à sa langue. PicoPixel prend en charge de nombreux systèmes d’écriture.
02/07

Pourquoi les polices doivent-elles être converties ?

Sur un ordinateur, un fichier de police .ttf ou .otf décrit les caractères à l’aide de courbes mathématiques. La machine dispose de suffisamment de mémoire et de puissance pour les dessiner avec netteté à la taille demandée.

Un petit appareil (un ESP32, une puce de montre connectée, un minuscule contrôleur d'affichage) ne peut généralement pas faire cela. Il n'a pas la mémoire ni la puissance de traitement nécessaires pour redessiner des courbes à la volée. LVGL adopte donc une approche différente : au lieu de courbes, il stocke chaque lettre sous forme de petite image prédessinée (un bitmap) à une taille fixe. C'est bien plus léger à gérer pour l'appareil.

PicoPixel effectue cette conversion pour vous. À partir du fichier d’origine, il génère les images bitmap nécessaires à LVGL pour les caractères et les tailles que vous avez choisis.

NOTE

Comme chaque lettre est prédessinée à une taille fixe, une police LVGL convertie est verrouillée à la taille choisie. Une police de 16px ne peut pas être étirée à 32px et rester nette. Si vous avez besoin de texte à deux tailles différentes, créez la police aux deux tailles (voir Créer une police ci-dessous, où vous pouvez choisir plusieurs tailles à la fois).

C'est aussi pourquoi les polices ont un coût réel sur un appareil : chaque lettre, à chaque taille, occupe un peu d'espace en mémoire. La majeure partie de ce guide vise à maintenir ce coût faible, en n'incluant que les caractères et les tailles réellement utilisés.

03/07

Polices intégrées et vos propres polices

Lorsque vous créez une police, vous avez deux points de départ :

  • Polices intégrées : une sélection de polices courantes et testées, comme Noto Sans, Roboto, Open Sans, Montserrat, Poppins, Inter, Lato, Nunito et Source Sans 3. Elles constituent un bon point de départ.
  • Polices importées : utilisez votre propre fichier .ttf ou .otf, par exemple pour respecter une identité visuelle ou couvrir une langue absente des polices intégrées.
TIP

Si vous importez votre propre police, utilisez un fichier de police statique (par exemple Roboto-Regular.ttf) plutôt qu'un fichier de police « variable » (comme Roboto-VariableFont.ttf). Les fichiers statiques se convertissent bien plus fiablement. Les fichiers .ttf simples fonctionnent généralement le mieux.

Dans les deux cas, saisissez votre texte dans l’aperçu pour vérifier le rendu avant de créer la police.

04/07

Créer une police

Ouvrez le panneau Create Font. Voici comment remplir les champs :

Le panneau Create Font affiche Doto Regular dans l’onglet Bundled, un aperçu Hello World Test!, les tailles 16 et 48, Letters réglé sur Standard et les options Advanced : Bits per Pixel à 4 bpp, Ranges et Symbols.
▸ Choisissez une police, testez votre texte, sélectionnez les tailles et ajustez si nécessaire les caractères et les bits par pixel.
  1. Choisissez votre police : sélectionnez une police intégrée et sa graisse, par exemple Regular ou Bold, ou importez votre propre fichier depuis l’onglet d’import.
  2. Nom de la police : choisissez un nom facile à reconnaître dans la liste du projet, surtout si vous utilisez plusieurs polices.
  3. Taille (px) : sélectionnez une ou plusieurs tailles. Des préréglages comme 16, 22 et 32 sont accessibles en un clic. Chaque taille est générée séparément ; ne conservez que celles dont vous avez besoin.
  4. Letters : choisissez les caractères à inclure, par exemple Standard pour l’anglais de base, Latin, Greek, Cyrillic, Hebrew, Arabic ou Thai.
  5. Asian : ce menu regroupe le chinois, le japonais et le coréen, dont les particularités sont expliquées plus bas.

La section Advanced propose des réglages plus précis. Bits per Pixel définit le nombre de nuances de gris utilisées pour les caractères : une valeur élevée améliore le lissage mais augmente la taille du fichier ; 4 convient dans la plupart des cas. Les champs de plages de caractères et de symboles permettent de choisir exactement ce qui sera inclus.

TIP

Toutes les polices ne comprennent pas toutes les langues. Si vous choisissez une écriture non latin et que votre aperçu affiche des cases vides au lieu de lettres, cette police ne le couvre pas — passez à une police intégrée conçue pour cette écriture, ou importez-en une qui le fait. PicoPixel vous avertira lorsque vous choisissez une écriture que toutes les polices ne prennent pas en charge.

05/07

Écritures de droite à gauche : arabe et hébreu

L’arabe et l’hébreu s’écrivent de droite à gauche et demandent une prise en charge particulière. Vous pouvez la préparer directement dans le panneau Create Font.

  1. Dans le menu déroulant Letters, choisissez Arabic ou Hebrew. C'est l'étape importante : elle indique à PicoPixel d'inclure le bon jeu de caractères pour cette écriture (les caractères anglais de base sont incluses aussi, de sorte que les chiffres et le texte latin fonctionnent toujours).
  2. PicoPixel suggérera une police adaptée à cette écriture, par exemple Noto Sans Arabic. Utilisez la suggestion (ou une autre police adaptée à cette écriture) plutôt qu'une police latine simple qui ne contiendra pas les lettres.
  3. Vérifiez l'aperçu en direct. Si les lettres s'affichent correctement, c'est bon. Si vous voyez des cases, la police choisie ne prend pas en charge l’écriture — choisissez-en une autre.
NOTE

Les lettres arabes changent de forme selon leur position dans le mot, et le texte se lit de droite à gauche. À l’export, PicoPixel détecte le texte arabe, persan ou hébreu et active les paramètres LVGL nécessaires, notamment pour la liaison des lettres. Vous n’avez pas à modifier les fichiers de configuration manuellement.

WARNING

L'essentiel à retenir : choisir Arabic ou Hebrew dans le menu déroulant Letters lors de la création de la police est ce qui inclut ces caractères. Si vous créez d'abord une police normale et n'ajoutez du texte de droite à gauche que plus tard, les caractères manqueront — créez la police avec le bon système d’écriture sélectionné dès le départ.

06/07

Chinois, japonais et coréen

La boîte de dialogue CJK Font Setup explique comment choisir une police compatible et coller le texte de l’interface dans Symbols pour inclure uniquement les caractères nécessaires.
▸ La configuration CJK vous aide à limiter la taille des polices chinoises, japonaises et coréennes.

CJK est l'abréviation courante pour le chinois, le japonais et le coréen. Ces langues sont particulières car elles possèdent beaucoup de caractères — le coréen en a environ 11 000 et le chinois bien plus de 20 000. Rappelez-vous que chaque caractère est prédessiné et stocké sur l'appareil. Inclure une police CJK complète pourrait ajouter des mégaoctets, ce qui ne tiendra tout simplement pas sur la plupart des appareils embarqués.

Pour réduire la taille de la police, n’incluez que les caractères réellement affichés. Une interface n’en utilise souvent qu’une centaine, bien moins qu’une police complète.

Voici comment procéder :

  1. Dans le menu déroulant Asian, choisissez Korean, Chinese ou Japanese.
  2. Trouvez le champ Symbols (dans la section Advanced) et collez le texte réel que votre interface affichera — chaque libellé, bouton et message. PicoPixel n'inclut un glyphe que pour chaque caractère qu'il trouve là.
    • Pour vous aider à démarrer, PicoPixel pré-remplit ce champ avec des mots d'interface courants (comme « Paramètres », « Confirmer », « Annuler », etc.) dans la langue choisie. Ajoutez votre propre texte.

Ainsi, une police qui aurait pu peser plusieurs mégaoctets ne pèse plus que quelques centaines de kilo-octets.

WARNING

Seuls les caractères que vous listez dans Symbols sont inclus. Si votre interface affiche ultérieurement un caractère que vous n'avez pas ajouté, il apparaîtra comme une case vide. Lorsque votre texte change, revenez et mettez à jour le champ Symbols, puis recréez la police.

TIP

Pour le CJK, importer la police spécifique que vous souhaitez (plutôt que de vous fier à une police générale) vous donne le plus de contrôle, et coller une copie complète et définitive du texte de votre interface garantit que rien n'est oublié.

La section Advanced avec Korean sélectionné et le champ Symbols rempli de textes d’interface coréens, afin de n’inclure que ces caractères dans la police.
▸ Collez tout le texte de votre interface dans Symbols. Seuls les caractères indiqués seront inclus.
07/07

Nettoyage : supprimer les polices inutilisées

Les essais de tailles de police peuvent vite encombrer le projet. Si vous créez une police en 16px et en 22px pour comparer, seule la taille retenue reste utile.

Dans la section Fonts de vos ressources, cliquez sur Remove unused fonts. PicoPixel vérifie tous les widgets et supprime en un clic les polices qui ne sont plus utilisées, pour libérer de l’espace.

TIP

C'est la façon facile d'expérimenter avec les tailles. Créez quelques tailles, voyez laquelle s'intègre le mieux dans votre design, puis cliquez sur Remove unused fonts pour nettoyer le reste. Chaque police de la liste affiche sa taille et ses paramètres de qualité, il est donc facile de voir d'un coup d'œil ce que vous avez.

NOTE

« Remove unused fonts » ne supprime que les polices auxquelles aucun widget ne fait référence, votre design ne changera donc pas. Vous pouvez également supprimer une seule police vous-même en faisant un clic droit dessus dans la liste. Si vous supprimez quelque chose par accident, annuler le rétablit immédiatement.

À LIRE ENSUITE

Pour aller plus loin.

Comment utiliser les mascottes dans PicoPixel thumbnail
PICOPIXEL

Comment utiliser les mascottes dans PicoPixel

Les mascottes sont des sprites animés prêts à l'emploi avec plusieurs modes que vous pouvez déclencher selon n'importe quelle condition. Choisissez-en un dans le répertoire, ajoutez-le à votre projet et connectez-le pour qu'il réagisse à ce que fait votre appareil : récupération de données, surchauffe, revue de code, et bien plus encore.

pets · sprites · picopixel
Comment utiliser les modèles, kits d'interface et applications complètes PicoPixel thumbnail
PICOPIXEL

Comment utiliser les modèles, kits d'interface et applications complètes PicoPixel

Trouvez des modèles PicoPixel, des kits d'interface, des exemples, des sprites, des widgets et des fichiers d'applications complètes, puis ouvrez, téléchargez, importez, personnalisez et exportez-les en code C LVGL pour votre appareil.

templates · ui-kits · full-apps
PicoPixel LVGL MCP Server Setup Guide thumbnail
PICOPIXEL

PicoPixel LVGL MCP Server Setup Guide

Set up the PicoPixel LVGL MCP server for Claude, ChatGPT, Codex, or Cursor. Learn agent settings, reusable components, colors, fonts, and assets.

LVGL MCP · MCP server setup · AI UI design