Этот инструмент добавляет функции Opentype chws , vchw , halt и vhal к шрифтам OpenType/Truetype, когда какая -либо из этих функций отсутствует. Пожалуйста, смотрите в восточно-азиатском интервале для получения подробной информации об этих функциях.
Этот инструмент использует пакет с восточно-азиатским интервалом в качестве основного двигателя и имеет следующие преимущества:
Чтобы добавить новые шрифты в поддерживаемый список шрифтов, см. В разделе «Добавление шрифтов» ниже.
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 ())Этот пакет имеет встроенный список поддерживаемых шрифтов в его конфигурации.
Шрифты не в известном списке по -прежнему обрабатываются с конфигурацией по умолчанию, но в этом пакете отображается предупреждающее сообщение.
При добавлении новых шрифтов в известный список шрифтов рекомендуется:
add-chws с опцией --print-name может распечатать их.Основной целью этого процесса является поиск слишком жестких расстояний или столкновений с глифами, вызванными ядрами.
Этот инструмент имеет эвристические правила для определения применимости пространств с использованием метрик глифа, но предполагает, что глифы пунктуации полной ширины имеют достаточное количество внутренних пространств в соответствии с лингвистическими соглашениями, как в UAX#50 или в Clreq. К сожалению, не все шрифты следуют конвенциям.
Чтобы запустить визуальный тест:
<script> блока tests/test.html .Вот контрольный список и советы:
Другие элементы управления в тесте не являются обязательными, но они могут быть полезны в следующих случаях.
См. Https://googlefonts.github.io/python#make-a.