Comment puis-je combiner deux polices automatiquement, de sorte que les glyphes qui ne sont pas disponibles dans la première police, mais qui sont disponibles dans la seconde, puissent être fusionnés dans la première police ?
Réponses
Trop de publicités?C'est une tâche facile avec fontforge .
Addendum aux commentaires : Avant de fusionner, cliquez d'abord sur Élément > Info police... dans les deux polices pour voir si les valeurs telles que la taille em correspondent. Sinon, mettez à jour l'une ou l'autre pour qu'elle corresponde aux valeurs de l'autre police. Cela permet d'éviter des problèmes tels que des tailles de caractères différentes. Cette information devrait probablement être ajoutée à la réponse. - Cristan
Tout d'abord, vous devez ouvrir la police contenant les glyphes manquants et sélectionner Element -> Merge Fonts
. Dans cet exemple, les glyphes pour E
y F
sont ceux qui manquent.
Sélectionnez la police dont vous souhaitez extraire les glyphes. Il vous sera demandé si vous souhaitez conserver le crénage existant. No
ici, mais si vous obtenez des résultats étranges, fermez fontforge et réessayez avec Yes
.
Les glyphes manquants devraient être ajoutés dans quelques instants :
Enfin, faites File -> Generate Fonts
et exporter votre police à l'endroit souhaité.
Jetez également un coup d'œil sur le site de Google Police Google Noto et de leur Noto Tools
merge_fonts.py script.
Ou merge.py du projet FontTools.
Pour des informations plus approfondies sur la création et l'ajout de polices de caractères dans Windows, consultez mon autre réponse これ .
-
Installer FontForge
-
Il est généralement installé à l'adresse suivante
C:\Program Files (x86)\FontForgeBuilds\bin
ajoutez-la à votre variable environnementale path (uniquement pour les utilisateurs de Windows). -
Collez le code ci-dessous dans un fichier nommé
mergefonts.ff
!/usr/local/bin/fontforge
Open($1) SelectAll() ScaleToEm(Strtol($3)) Generate("1.ttf") Close() Open($2) SelectAll() ScaleToEm(Strtol($3)) Generate("2.ttf") Close() Open("1.ttf") MergeFonts("2.ttf") Generate($4) Close()
-
mergefonts.ff script Utilisation :
fontforge -lang=ff -script mergefonts.ff <font1> <font2> <font_size_in_em> <output_merged_font>
Beispiel:
fontforge -lang=ff -script mergefonts.ff font1.ttf font2.ttf 1000 mergedfont.ttf