С морозильной камерой OpenType вы можете «заморозить» некоторые функции Opentype в шрифте.
Эти функции затем «включены по умолчанию», поэтому символы, ранее доступные только через функции OpenType (такие как малые кожи, цифры OldStyle или локализованные формы), теперь будут доступны даже в приложениях, которые не поддерживают функции OpenType, такие как LibreOffice, OpenOffice или в приложениях, которые не поддерживают конкретную функцию, такие как офис Microsoft в случае небольших.
ПРИМЕЧАНИЕ. Этот инструмент фактически перемещает таблицу cmap шрифта, применяя указанные функции GSUB . Он не будет работать для замен, где ни у ни у глифа нет никаких записей cmap . Поддерживаются только одиночные и альтернативные замены.
Этот инструмент поставляется в двух версиях: OTFeatureFreezer : простое приложение GUI (графическое) для MacOS и Windows, которое вы можете загрузить и запускать без каких-либо специальных перпейсов, и PyftFeatFreeze : приложение CLI (командная строка), которое требовало Python 3.6 или более новее для установки на вашем компьютере.
Текущая версия: 1.32
Этот инструмент требует сначала Python 3.6 или выше. Получите его от https://www.python.org или вашего менеджера пакетов.
Мы рекомендуем использовать PIPX для установки инструментов командной строки Python. Pipx аккуратно убирает их на вашем компьютере и дает вам простой способ добавить, обновить и удалять инструменты Python на всех платформах, не оставляя беспорядок в установке Python.
pipx install opentype-feature-freezer
Установите его с помощью pip , как любой другой пакет Python.
# This is best done inside a virtual environment, so you don't pollute
# your Python installation and need no special privileges to install anything.
pip install --upgrade opentype-feature-freezer
Если это не работает, попробуйте:
python3 -m pip install --user --upgrade opentype-feature-freezer
pip install --upgrade git+https://github.com/twardoch/fonttools-opentype-feature-freezer
Если это не работает, используйте:
python3 -m pip install --user --upgrade git+https://github.com/twardoch/fonttools-opentype-feature-freezer
pip install --upgrade configparser перед установкой Допустим, у вас есть шрифт carissil-r.ttf (с названием меню «харис sil»), и этот шрифт включает в себя истинные маленькие костюмы, доступные через макет Opentype, функции c2sc (для пропускного отверстия) и smcp (для строчного регистра). Допустим, вы хотели бы сделать второй шрифт, где настоящие Smallcaps доступны по умолчанию. Просто беги:
pyftfeatfreeze -f 'c2sc,smcp' -S -U SC -R 'Charis SIL/Charix,CharisSIL/Charix' CharisSIL-R.ttf CharixSC-R.ttf
Вы получите новый шрифт Charissil-r.ttf (с названием меню «Charix SC»). Этот шрифт будет иметь небольшие кабины вместо строчных и верхних букв, доступных во всех приложениях.
Поскольку шрифт «Харис Силь» лицензирован в OFL и использует зарезервированные имена шрифтов «харис» и «SIL», я указал вариант -R , чтобы заменить строки имени Charis SIL и CharisSIL на Charix . Таким образом, модифицированный шрифт соответствует OFL, и я могу его распределить.
В следующем примере переназначает шрифт так, чтобы болгарские локализованные формы были доступны по умолчанию во всех приложениях (суффикс «BG» будет добавлен в название меню):
pyftfeatfreeze -f 'locl' -s 'cyrl' -l 'BGR ' -S -U BG SomeFont.ttf SomeFontBG.ttf
ПРИМЕЧАНИЕ. Чтобы переназначить функции из нескольких сценариев или языков, запустите инструмент несколько раз (принимая вывод предыдущего прогона в качестве входных данных). Используйте вариант -S только в финальном забеге.
Следующее заменяет строку Lato от Otal во всех внутренних именах шрифтов (в таблицах name и CFF ), не выполняя «замораживание функций». Это можно использовать для быстрого изменения некоторых внутренних имен шрифтов:
pyftfeatfreeze -R 'Lato/Otal' Lato-Regular.ttf Otal-Regular.ttf
usage: pyftfeatfreeze [-h] [-f FEATURES] [-s SCRIPT] [-l LANG] [-z] [-S]
[-U USESUFFIX] [-R REPLACENAMES] [-i] [-r] [-n] [-v]
[-V]
inpath [outpath]
With pyftfeatfreeze you can "freeze" some OpenType features into a font. These
features are then "on by default", even in apps that don't support OpenType
features. Internally, the tool remaps the "cmap" table of the font by applying
the specified GSUB features. Only single and alternate substitutions are
supported.
positional arguments:
inpath input .otf or .ttf font file
outpath output .otf or .ttf font file (optional)
optional arguments:
-h, --help show this help message and exit
options to control feature freezing:
-f FEATURES, --features FEATURES
comma-separated list of OpenType feature tags, e.g.
'smcp,c2sc,onum'
-s SCRIPT, --script SCRIPT
OpenType script tag, e.g. 'cyrl' (default: 'latn')
-l LANG, --lang LANG OpenType language tag, e.g. 'SRB ' (optional)
-z, --zapnames zap glyphnames from the font ('post' table version 3,
.ttf only)
options to control font renaming:
-S, --suffix add a suffix to the font family name (by default, the
suffix will be constructed from the OpenType feature
tags)
-U USESUFFIX, --usesuffix USESUFFIX
use a custom suffix when --suffix is provided
-R REPLACENAMES, --replacenames REPLACENAMES
search for strings in the font naming tables and
replace them, format is
'search1/replace1,search2/replace2,...'
-i, --info update font version string
reporting options:
-r, --report report languages, scripts and features in font
-n, --names output names of remapped glyphs during processing
-v, --verbose print additional information during processing
-V, --version show program's version number and exit
Examples: pyftfeatfreeze -f 'c2sc,smcp' -S -U SC OpenSans.ttf OpenSansSC.ttf
pyftfeatfreeze -R 'Lato/Otal' Lato-Regular.ttf Otal-Regular.ttf
Совет: опция -n выводит разделенный на пробел список «замороженных» глифов. Если вы перенаправляете его в файл, вы можете использовать этот список в качестве входного материала для pyftsubset , чтобы создать небольшой шрифт, который включает только «замороженные» глифы.
Чтобы сообщить о проблеме, откройте проблему . Вам нужна учетная запись GitHub.
Этот инструмент лицензирован «как есть» по лицензии Apache, версия 2.0. Используя инструмент, вы принимаете все условия лицензии, включая отказ от гарантии и ограничения ответственности. Если вы используете этот инструмент, пожалуйста, проконсультируйтесь, если Eula вашего шрифта позволяет модификациям. Если шрифт лицензирован в OFL и использует зарезервированное имя шрифта, используйте опцию -R , чтобы изменить зарезервированное имя шрифта на что -то другое.
Этот инструмент написан для Python 3.6+ и использует Fonttools/TTX.
-s (Script), чтобы, если она не предоставлена, переиздание во всех сценариях.-S (суффикс), чтобы, если она не предоставлена, SUFIX не добавляется, и добавил приложения GUI.fonttools-utils теперь находятся в Fonttools-Ttxjson и Mac-OS-X-System-Font-ReplacerЧтобы построить пакет Python, установите стихи:
pip install poetry
или
python3 -m install --user --upgrade poetry
Затем в основной папке проекта запуска:
poetry build
Чтобы построить DMG & EXE, вам нужен macOS. В подпадке приложения запустите ./macdeploy all