このツールは、これらの機能のいずれかが欠落している場合、Opentype/TrueTypeフォントにOpentype chws 、 vchw 、 halt 、およびvhal機能を追加します。これらの機能の詳細については、東アジア間隔を参照してください。
このツールは、東アジア間隔パッケージをコアエンジンとして使用し、次の利点があります。
サポートされているフォントリストに新しいフォントを追加するには、以下の追加フォントセクションを参照してください。
pip install chws-tool開発パッケージを使用して編集モードでクローンとインストールを行う場合は、
git clone https://github.com/googlefonts/chws_tool.git
cd chws_tool
pip install -e ' .[dev] ' 次の例では、 input.otfに機能を追加し、 buildディレクトリに保存します。引数がディレクトリである場合、ツールはディレクトリ内のすべてのフォントに再帰的に展開します。
add-chws input.otf -oオプションを使用して、出力ディレクトリ、またはオプションの完全なリストの--helpオプションを変更します。
add-chws input_dir -o output_dir次の例では、機能が適用される場合は、「 build 」ディレクトリに機能を備えたフォントを作成します。
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" )既存のフォントを上書きする場合は、出力ディレクトリを省略できます。
import chws_tool
def main ():
chws_tool . add_chws ( "fonts/input.otf" )プログラムが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 ())このパッケージには、その構成にサポートされているフォントの組み込みリストがあります。
既知のリストにないフォントは、デフォルトの構成でまだ処理されますが、このパッケージには警告メッセージが表示されます。
既知のフォントリストに新しいフォントを追加する場合、次のプロセスが推奨されます。
--print-nameオプションを使用してadd-chwsを実行すると印刷できます。このプロセスの主な目的は、Kerningsによって引き起こされたあまりにも厳しい間隔またはグリフの衝突を見つけることです。
このツールには、Glyphメトリックを使用して間隔の適用性を判断するためのヒューリスティックルールがありますが、全幅の句読点グリフには、UAX#50またはCLREQのように言語規則に従って十分な内部間隔があると想定しています。残念ながら、すべてのフォントが慣習に従うわけではありません。
視覚テストを実行するには:
tests/test.htmlのトップ<script>ブロックのフォントリストにテストフォントを追加します。これがチェックリストとヒントです:
テストの他のコントロールは必須ではありませんが、以下の場合に役立つ場合があります。
https://googlefonts.github.io/python#make-a-releaseを参照してください。