Cet outil ajoute les fonctionnalités OpenType chws , vchw , halt et vhal aux polices OpenType / TrueType lorsque l'une de ces fonctionnalités manque. Veuillez consulter l'espacement de l'Est-Asie pour plus de détails sur ces fonctionnalités.
Cet outil utilise le package d'espacement oriental comme son moteur de base et présente les avantages suivants:
Pour ajouter de nouvelles polices à la liste des polices prises en charge, veuillez consulter la section Ajout de polices ci-dessous.
pip install chws-toolSi vous souhaitez cloner et installer en mode modifiable avec les packages de développement:
git clone https://github.com/googlefonts/chws_tool.git
cd chws_tool
pip install -e ' .[dev] ' L'exemple suivant ajoute les fonctionnalités à input.otf et l'enregistre au répertoire build . Si l'argument est un répertoire, l'outil l'étend à toutes les polices du répertoire récursivement.
add-chws input.otf Utilisez l'option -o pour modifier le répertoire de sortie, ou l'option --help pour la liste complète des options.
add-chws input_dir -o output_dir L'exemple suivant crée une police avec les fonctionnalités du répertoire " build " si les fonctionnalités sont applicables:
import chws_tool
def main ():
output_path = chws_tool . add_chws ( "fonts/input.otf" , "build" )
if output_path :
print ( f"Success! saved to { output_path } " )
else :
print ( "Skipped" )Si vous préférez écraser les polices existantes, vous pouvez omettre le répertoire de sortie.
import chws_tool
def main ():
chws_tool . add_chws ( "fonts/input.otf" )Si votre programme utilise Asyncio:
import asyncio
import chws_tool
async def main_async ():
output_path = await chws_tool . add_chws_async ( "fonts/input.otf" , "build" )
if output_path :
print ( f"Success! saved to { output_path } " )
else :
print ( "Skipped" )
asyncio . run ( main_async ())Ce package a une liste intégrée de polices prises en charge dans sa configuration.
Les polices qui ne sont pas dans la liste connue sont toujours traitées avec la configuration par défaut, mais ce package affiche un message d'avertissement.
Lors de l'ajout de nouvelles polices à la liste des polices connues, le processus suivant est recommandé:
add-chws avec --print-name peut les imprimer.L'objectif principal de ce processus est de trouver des espacements trop serrés ou des collisions de glyphes causées par les grains.
Cet outil a des règles heuristiques pour déterminer l'applicabilité des espacements à l'aide des métriques des glyphes, mais suppose que les glyphes de ponctuation pleine largeur ont suffisamment d'espace interne en fonction des conventions linguistiques comme dans UAX # 50 ou dans CLREQ. Malheureusement, toutes les polices ne suivent pas les conventions.
Pour exécuter le test visuel:
<script> supérieur de tests/test.html .Voici la liste des chèques et les conseils:
Les autres contrôles du test ne sont pas obligatoires, mais ils peuvent être utiles dans les cas suivants.
Voir https://googlefonts.github.io/python#make-a-release.