Opentype機能フリーザーを使用すると、いくつかのOpenType機能をフォントに「フリーズ」できます。
これらの機能は「デフォルトでオン」になるため、OpenType機能のみを介して以前にアクセスできた文字(SmallCaps、Oldstyle数字、ローカライズされたフォームなど)は、Libreoffice、OpenOffice、またはSmallsoft Officeなどの特定の機能をサポートしないアプリなど、Opentype機能をサポートしていないアプリでもアクセスできるようになりました。
注:このツールは、指定されたGSUB機能を適用して、実際にフォントのcmapテーブルを再マップします。どちらのGlyphにもcmapエントリがない代替では機能しません。単一の代替置換のみがサポートされています。
このツールには2つのバージョンがあります。OTFeatureFreezer:特別なPerparasionなしでダウンロードおよび実行できるMacOSおよびWindows用のシンプルなGUI(グラフィカル)アプリと、 PyftfeatFreeze :Python 3.6または新しいコンピューターにインストールする必要があるCLI(コマンドライン)アプリ。
現在のバージョン: 1.32
このツールでは、最初にインストールするには、Python 3.6以降を必要とします。 https://www.python.orgまたはパッケージマネージャーから入手してください。
PIPXを使用してPythonコマンドラインツールをインストールすることをお勧めします。 PIPXは、コンピューターにきちんと貼り付けられ、Pythonのインストールに混乱を残さずに、すべてのプラットフォームにPythonツールを追加、更新、削除する簡単な方法を提供します。
pipx install opentype-feature-freezer
他のPythonパッケージと同様に、 pipでインストールします。
# 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行う必要がある場合があります。フォントCharissil-R.TTF (メニュー名「Charis Sil」)があるとしましょう。このフォントには、Opentypeレイアウト機能c2sc (大文字用)およびsmcp (小文字用)を介してアクセス可能な真のSmallCapsが含まれています。デフォルトで真のSmallCapsが利用可能な2番目のフォントを作成したいとします。ただ実行:
pyftfeatfreeze -f 'c2sc,smcp' -S -U SC -R 'Charis SIL/Charix,CharisSIL/Charix' CharisSIL-R.ttf CharixSC-R.ttf
新しいフォントCharissil-R.TTF (メニュー名「Charix SC」)が入手できます。このフォントには、すべてのアプリで利用可能な小文字と大文字の代わりにSmallCapsがあります。
「Charis Sil」フォントはOFLの下でライセンスされており、予約されたフォント名「Charis」と「SIL」を使用しているため、名前文字列Charis SILとCharisSIL Charixに置き換える-Rオプションを指定しました。このようにして、変更されたフォントはOFLに準拠しており、配布できます。
次の例は、すべてのアプリでデフォルトでブルガリアのローカライズされたフォームを使用できるようにフォントを再度再編成します(サフィックス「BG」はメニュー名に追加されます):
pyftfeatfreeze -f 'locl' -s 'cyrl' -l 'BGR ' -S -U BG SomeFont.ttf SomeFontBG.ttf
注:複数のスクリプトまたは言語システムから機能を再マップするには、ツールを複数回実行します(前の実行の出力を入力として使用)。最終実行でのみ-Sオプションを使用します。
以下は、「機能フリーズ」を行うことなく、すべての内部フォント名( nameとCFFテーブル)のOtalで文字列Lato置き換えます。これを使用して、いくつかの内部フォント名をすばやく変更できます。
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 (suffix)オプションを変更して、提供されていない場合、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実行します