Utiliser les polices de caractères d'une calculatrice avec LuaLaTeX ou XeLaTeX

J'avais écrit il y a quelques années une classe LaTeX pour calculatrice Casio, pour pouvoir représenter ses boutons dans mes polycopiés. Si j'avais connu à l'époque la méthode que je propose ici, j'aurais gagné du temps…

La plupart des constructeurs de calculatrice proposent en téléchargement une police de caractères dont chaque lettre est une touche de la calculatrice . Ces polices sont en général au format TrueTypeFont, qui permet une utilisation facile dans les traitements de textes habituels, mais nécessite de petites manipulations en LaTeX.

Avertissement

La méthode décrite ici nécessite l'utilisation de LuaLaTeX ou XeLaTeX ; si vous utilisez LaTeX+dvipdf, ou pdfLaTeX, elle ne fonctionnera pas.

Téléchargement des fichiers de police

Allez sur les sites des constructeurs pour trouver les fichiers qui vous concernent :

Je suppose ici que j'ai téléchargé les fichiers numworks-keys-regular.ttf et numworks-keys-bold.ttf, CASIO MS01.ttf (que j'ai renommé en CASIO_MS01.ttf car je n'arrive pas à charger des polices dont le nom contient une espace), et Ti89____.ttf, et que ces fichiers se trouvent (pour le moment) dans le même dossier que le fichier que je veux compiler.

Chargement de la police

Après avoir chargé le paquet fontspec, il faut définir la police souhaitée.

Numworks

\usepackage{fontspec}

\newfontface\numworksfont{numworks-keys-regular}[
  Extension = .ttf,
  BoldFont = numworks-keys-bold,
]
\newcommand{\numworks}[1]{{\numworksfont #1}}

Casio

\usepackage{fontspec}

\newfontface\casiofont{CASIO_MS01.ttf}
\newcommand{\casio}[1]{{\casiofont #1}}

Texas Instrument

\usepackage{fontspec}

\newfontface\texasfont{Ti89____.ttf}
\newcommand{\texas}[1]{{\texasfont #1}}

Nous pouvons maintenant utiliser les commandes ainsi définies pour afficher les boutons souhaités.

Numworks \numworks{T \textbf{T}}
Casio \casio{t}
TI \texas{} \texas{\symbol{"F05E}}

Notons que là où les polices de Numworks et Casio font correspondrent aux boutons aux caractères « standard » (alphanumériques et ponctuation), Texas Instrument jouent les originaux, et exigent l'utilisation d'emojis, que l'on peut manipuler avec le symbole lui-même, ou avec son code hexadécimal (voir plus haut).

J'obtiens ainsi les boutons souhaités :

Emplacement des polices de caractères

Où placer les fichiers de police .ttf ?

Même dossier

Le plus simple au départ est de les placer dans le même dossier que le fichier .tex à compiler. Mais assez vite, cela devient peu pratique.

Dossier système

Pour une utilisation sur son ordinateur personnel, il est possible d'installer les polices. Sous GNU/Linux, pour installer une police pour l'utilisateur courant uniquement, il suffit de placer les fichiers .ttf dans le dossier ~/.fonts.

Variable d'environnement TEXMFHOME

L'installation de polices fonctionne bien sur son ordinateur, mais j'ai tous mes fichiers de travail sur ma clef USB, que je transporte à la maison et sur tous les ordinateurs du lycée, sur lesquels je ne fais pas ce que je veux.

J'ai sur ma clef USB un dossier latex (le nom importe peu), et lorsque je travaille, la variable d'environnement TEXMFHOME pointe vers ce dossier.

Ensuite, je place les fichiers .ttf dans le sous répertoire fonts/truetype, et LuaLaTeX sait alors les retrouver :

latex
└── fonts
    └── truetype
        ├── numworks-keys-bold.ttf
        ├── numworks-keys-reference.pdf
        └── numworks-keys-regular.ttf

C'est tout !

Happy TeXing!