Allsortsは、オペンタイプ、Woff、およびWoff2用のフォントパーサー、シェーピングエンジン、およびSubsetterです。プリンスから抽出されました。プリンスは、HTMLおよびCSSドキュメントをPDFに入植およびレイズするツールから抽出されました。
Allsorts Shaping Engineは、Opentypeフォントシェーピング動作を指定することを目的とするOpentypeシェーピングの仕様と組み合わせて開発されました。
glyf 、 CFF 、 CFF2 )、WOFF、およびWOFF2ファイル。フォントシェーピングは、Unicode CodePointsとFontの形でテキストを取得し、テキストに従ってフォントからグリフをレイアウトするプロセスです。これには、フォントによって指定されたカーニング、結紮、および置換を称えることが含まれます。一部の言語では、これは比較的簡単です。インドのスクリプトなど、他の人にとっては非常に複雑です。シェーピング後、PathfinderやFreetypeなどの別のライブラリがグリフのレンダリングを担当します。テキストレンダリングの詳細については、Andrea CognolatoにはLinuxの最新のFont Rendingの概要があります。概念は他のプラットフォームでも同様です。
AllSortsフォントの解析、シェーピング、およびサブセットを行使する一連のツールについては、Allsortsツールリポジトリを参照してください。
私たちは現在サポートしていません:
既知の制限:
Allsortsはまだアクティブな開発中ですが、2019年にプリンス13に含めることで、最初のリリースマイルストーンに達しました。プリンスでは、すべてのフォントロードとフォントシェーピングを担当しています。
現在、フォント解析コードは手書きです。宣言的なデータ定義言語プロジェクトを介して、最終的にこれをマシン生成コードに置き換えることが計画されています。
AllSorts CIは、Linux、MacOS、およびWindowsでテストを実行します。プリンス経由では、FreeBSD用にも構築されています。
最小サポートされた錆バージョン: 1.66.0
木枠を構築するには、Rust 1.66.0または新しいインストールがあることを確認してください。
cargo buildでビルドし、 cargo testでテストを実行します。
| 特徴 | 説明 | デフォルトが有効になっています | 余分な依存関係 |
|---|---|---|---|
outline | グリフのアウトラインにアクセスするためのコードを有効にします | ✅ | |
flate2_zlib | Zlibバックエンドを使用してFlate2を使用します | ✅ | zlib |
flate2_rust | rustバックエンドを使用してFlate2を使用します | miniz_oxide | |
prince | プリンス固有のテストとコードを有効にします | ||
specimen | HTMLフォント試料を生成するためのモジュールを有効にします | upon 、 unicode-blocks |
注:テストでは、 zlib flate2バックエンドはより速くなりましたが、WASMまたは同様にコンパイルするときは、純粋な錆溶液の錆バックエンドを好むかもしれません。
貢献を歓迎します。詳細については、寄付文書を参照してください。
私たちは、さびコミュニティの基準を維持することを目指しています:
私たちは、性別、性的指向、障害、民族性、宗教、または同様の個人的な特徴に関係なく、すべての人に友好的で安全で歓迎の環境を提供することを約束しています。
錆の行動規範に従います。
Allsortsは、Apacheライセンスの条件(バージョン2.0)の条件の下で配布されます。
詳細については、ライセンスを参照してください。