Com o freezer do OpenType , você pode "congelar" alguns recursos do OpenType em uma fonte.
Esses recursos são então "ligados por padrão"; portanto, os caracteres previamente acessíveis por meio de recursos do OpenType apenas (como pequenos capacões, números antigos ou formulários localizados) agora estarão acessíveis, mesmo em aplicativos que não suportam recursos do OpenType, como LibreOffice, OpenOffice ou em aplicativos que não suportam um recurso específico, como o Microsoft Office, em poucas palavras.
NOTA: Esta ferramenta realmente remonta a tabela cmap da fonte, aplicando os recursos GSUB especificados. Não funcionará para substituições em que nem o Glyph possui entradas cmap . Somente substituições únicas e alternativas são suportadas.
Esta ferramenta vem em duas versões: OtFeatureFreezer : um aplicativo GUI simples (gráfico) para macOS e janelas que você pode baixar e executar sem percações especiais, e PyftFeatFreeze : um aplicativo CLI (linha de comando) que exigia o Python 3.6 ou mais novo a ser instalado no seu computador.
Versão atual: 1.32
Esta ferramenta requer que o Python 3.6 ou superior seja instalado primeiro. Obtenha -o em https://www.python.org ou seu gerenciador de pacotes.
Recomendamos o uso do PIPX para instalar ferramentas de linha de comando Python. O Pipx os coloca bem no seu computador e oferece uma maneira fácil de adicionar, atualizar e remover ferramentas Python em todas as plataformas, sem deixar uma bagunça na instalação do Python.
pipx install opentype-feature-freezer
Instale -o com pip , como qualquer outro pacote 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
Se isso não funcionar, tente:
python3 -m pip install --user --upgrade opentype-feature-freezer
pip install --upgrade git+https://github.com/twardoch/fonttools-opentype-feature-freezer
Se isso não funcionar, use:
python3 -m pip install --user --upgrade git+https://github.com/twardoch/fonttools-opentype-feature-freezer
pip install --upgrade configparser antes de instalar Digamos que você tenha a fonte Charissil-R.TTF (com o nome do menu "Charis Sil"), e essa fonte inclui verdadeiros pequenos painéis acessíveis através dos recursos de layout do OpenType c2sc (para uppercase) e smcp (para minúsculos). Digamos que você gostaria de criar uma segunda fonte, onde as verdadeiras calças pequenas estão disponíveis por padrão. Apenas corra:
pyftfeatfreeze -f 'c2sc,smcp' -S -U SC -R 'Charis SIL/Charix,CharisSIL/Charix' CharisSIL-R.ttf CharixSC-R.ttf
Você receberá uma nova fonte Charissil-R.TTF (com o nome do menu "Charix SC"). Essa fonte terá calças pequenas em vez das letras minúsculas e maiúsculas, disponíveis em todos os aplicativos.
Como a fonte “Charis Sil” é licenciada sob a OFL e usa os nomes de fontes reservados “Charis” e “SIL”, especifiquei a opção -R para substituir o nome Strings Charis SIL e CharisSIL por Charix . Dessa forma, a fonte modificada é compatível com a OFL e eu posso distribuí -la.
O exemplo a seguir remonta a fonte para que os formulários localizados búlgaros estejam disponíveis por padrão em todos os aplicativos (o sufixo "BG" será adicionado ao nome do menu):
pyftfeatfreeze -f 'locl' -s 'cyrl' -l 'BGR ' -S -U BG SomeFont.ttf SomeFontBG.ttf
Nota: Para remapear os recursos de vários scripts ou sistemas de linguagem, execute a ferramenta várias vezes (pegando a saída da execução anterior como entrada). Use a opção -S apenas na execução final.
A seguir, substitui a String Lato por Otal em todos os nomes de fontes internos (no name e nas tabelas CFF ), sem fazer nenhum "congelamento de recursos". Isso pode ser usado para alterar rapidamente alguns nomes de fontes internos:
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
Dica: A opção -n gera uma lista separada por espaço de glifos "congelados". Se você o redirecionar para um arquivo, poderá usar esta lista como entrada para pyftsubset para criar uma pequena fonte que inclua apenas os glifos "congelados".
Para relatar um problema, abra um problema . Você precisa de uma conta do GitHub.
Esta ferramenta é licenciada "como está" sob a licença Apache, versão 2.0. Ao usar a ferramenta, você aceita todas as condições da licença, incluindo a isenção de isenção de garantia e limitação de responsabilidade. Se você usar esta ferramenta, consulte se o EULA da sua fonte permitir modificações. Se a fonte estiver licenciada na OFL e usar o nome da fonte reservada, use a opção -R para alterar o nome da fonte reservada para outra coisa.
Esta ferramenta é escrita para o Python 3.6+ e usa o Fonttools/TTX.
-s (script) para que, se não for fornecido, o remapeamento esteja em todos os scripts.-S (sufixo) para que, se não for fornecida, nenhum sufixo é adicionado e adicionou os aplicativos da GUI.fonttools-utils estão agora em Fonttools-Ttxjson e Mac-OS-X-System-Font-ReplacerPara construir o pacote Python, instale a poesia:
pip install poetry
ou
python3 -m install --user --upgrade poetry
Então, na pasta principal do projeto Run:
poetry build
Para construir o DMG & EXE, você precisa de macOS. Na subpasta do aplicativo, ./macdeploy all