Panosifierは、フォントでパノースデータを編集するPython 3.6+コマンドラインアプリケーションです。このツールは、Opentype仕様OS/2テーブルパノースフィールドを編集します。
多くの場合、これらの値をタイプデザインソースファイルに定義し、フォントコンパイラに頼ってこれらの値をフォントインスタンスに書き込むことができます。ただし、この動作が明確に定義されておらず、フォントコンパイラ間で異なる状況があります。
例は、変数フォント形式ファイルでパノースデータを書き込むアプローチです。この場合、Opentype仕様はあいまいであり、これらのデータが不可欠である環境は明確に定義されておらず、コンパイラはソースファイルの定義されたパノースデータを異なる方法で処理します。
このツールを使用すると、これらの状況でビルドタイムの決定を変更できます。
pip install panosifier備えたPython 3.6+仮想環境にインストール--panoseコマンドラインオプションを使用して、または利用可能な10個のオペン型パノースフィールドオプションを使用して、カンマ削除パノース値リストでパノース値を定義します( panosifier --help利用可能なオプションのリストについては、ヘルプを参照)詳細については、以下のドキュメントを参照してください。
このプロジェクトには、Python 3.6+インタープリターが必要です。
Python3仮想環境にインストールすることをお勧めします。
次のインストールアプローチのいずれかを使用します。
$ pip3 install panosifier
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install -r requirements.txt .
次のアプローチにより、プロジェクトと関連するオプションの開発者依存関係がインストールされるため、再インストールを必要とせずにソースの変更を利用できます。
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
Panosifierは、1つ以上のコマンドラインで定義されたフォントパスでパノースデータを編集するための2つのコマンドラインアプローチをサポートします。
--panoseオプションを使用して、整数の順序付けられたコンマデリミテッドリストを使用して、10のOpentypeパノースフィールドをすべて定義しますすべてのパノースフィールドを、10個のオペンタイプパノース値すべての順序付けられたコンマ区切りリストを使用して、一度に定義できます。これらは整数値でなければなりません。
フィールドオーダーは次のとおりです。
次の画像は、 --panoseオプション定義Idiomのこの順序を例示しています。この例の値は、フォントに対して有効であることではなく、定義が定義フィールドにどのようにマップするかを示すことを目的としていることに注意してください。

利用可能なOpentypeパノースの定義が10個あります。各パノースフィールドには、Panosifierツールに対応するオプションがあります。これらのオプションを使用すると、各フィールドを個別に定義し、スクリプト化されたビルドワークフローでパノースの定義を明示的にすることができます。これらのオプションを整数値で定義します。
以下の例は、上記のコンマ削除リストセクションで、それぞれ2と9の新しいFamilyTypeと割合の値を含むパノースデータの書き込みを変更します。

panosifier --helpを使用して、利用可能なすべてのオプションを表示します。
注:このツールは、定義の正気チェックを実行せず、フォントで無効な定義を記述するために使用できます。このツールは、これらのパノース値を設定する方法を理解していることを前提としています。詳細な背景については、Panoseドキュメントを参照してください。
Panosifierは、実行の終了時に標準出力ストリームのパノースデータ定義を報告しています。
貢献は温かく歓迎されています。開発者インストールドキュメントを使用して、開発依存環境を編集モードでインストールできます。
標準のGithub Pull Requestアプローチを使用して、ソースの変更を提案してください。
flake8を使用してPythonソースファイルをリントします。詳細については、MakeFile test-lintターゲットを参照してください。
pytest Toolchainを使用したGitHub Actions Serviceで継続的な統合テストが実行されます。テストモジュールは、リポジトリのtestsディレクトリにあります。
リポジトリのルートから実行された次のコマンドを使用して、ローカルPythonインタープリターバージョンのテストを実行します。
$ tox -e [PYTHON INTERPRETER VERSION]
詳細については、 toxドキュメントをご覧ください。
coverageツールでユニットテストカバレッジテストを実行します。詳細については、MakeFile test-coverage Targetを参照してください。
Panosifierは、素晴らしい無料のFonttools Pythonライブラリで構築されています。
Apacheライセンスv2.0