![画像](https://habrastorage.org/getpro/habr/post_images/af5/cdb/fb1/af5cdbfb127bfcd3126f99e44b1738af.jpg)
長い間、FreeTypeでは、フォントの組み込みバイトコードを介したTrueTypeファイルの正しいヒントのサポートがデフォルトで無効にされていました。これは、この技術がAppleの特許に該当するためです。 特許を回避するために、FreeTypeアセンブリは、デフォルトで非特許の自動ヒンティングアルゴリズムを使用しました。 2010年5月、特許は失効し、バージョン2.4.0以降、FreeTypeはデフォルトでフォントバイトコードインタープリターを介した正しいヒントを使用します。
もっともっと。 2012年後半、資金調達キャンペーンが発表されました 。 そして、2013年6月に資金調達キャンペーンが正常に完了し 、プロジェクトに2万ドルをもたらしました。 一方、 アドビ (以前は特許の技術的進歩を妨げていました!)とGoogleは共同で多くの改善を行い、特に、プロジェクトでサポートされるすべてのプラットフォームで記憶に残るヒントのパフォーマンスを大幅に改善しました。 他のいくつかの改善とともに、これは新しいバージョンFreeType 2.5のリリースにつながりました。
リリース機能
2.4.12と2.5の間の変更
I.重要なバグ修正
-キャッシュマネージャー関数 `FTC_Manager_Reset 'はフラッシュしませんでした
キャッシュ。
II。 重要な変更
-Behdad Esfahbod(Googleを代表)は、
カラー埋め込みビットマップ(カラー絵文字など)。
新しいロードフラグFT_LOAD_COLORは、FreeTypeをロードカラーにします
このドラフト仕様に準拠した埋め込みビットマップ
color-emoji.googlecode.com/git/specification/v1.html
2つの新しいSFNTテーブル、「CBDT 'and` CBLC'(名前と
それぞれ「EBDT」と「EBLC」をモデルにしています)。 色
ビットマップは新しいFT_PIXEL_MODE_BGRA形式で保存されます
BGRA事前乗算sRGBイメージを表します。 PNGサポートが
利用可能、同じ提案で定義されているPNGカラー画像
仕様もサポートされています。
クライアントがカラービットマップをグレースケールに変換することに注意してください
色を求めませんでした。
-前のリリースで発表されたように、古いFreeType CFF
エンジンはデフォルトで無効になりました。 条件付きにすることができます
構成マクロを定義してコンパイル
CFF_CONFIG_OPTION_OLD_ENGINE。
-前のリリースで発表されたように、マクロに関連するすべてのコード
FT_CONFIG_OPTION_OLD_INTERNALSは削除されたため、
時代遅れ。
III。 その他
-プロパティAPI( `FT_Property_Get 'and` FT_Property_Set')は
安定版として宣言されました。
ただし、実験的な自動ヒンターは例外です
プロパティ `glyph-to-script-map 'and` fallback-script'は
今後のリリースで変更される可能性があります。
-`ftview 'は、カラー埋め込みビットマップをサポートするように更新されました。 それ
キー「c」でオンとオフを切り替えることができます。 小さなキャッシュの切り替え
現在はキー「K」です。
-TrueTypeのバージョンを制御できるようになりました
新しい「インタープリターバージョン」プロパティを使用したヒントエンジン
「truetype」モジュール:バージョン35および38(デフォルト)は
サポートされます。これは、無効化と有効化にほぼ対応します
それぞれサブピクセルヒンティングサポート。
`ftview 'と` ftdiff'の両方で、2つを切り替える
バージョンは、キー「H」で実行できます。 「ftbench」デモで
プログラム、コマンドラインオプション `-H 'が有効になるように拡張されました
デフォルト以外のインタープリターのバージョン。
-「ttdebug」プログラムがさらに改善されました。 特に、
ヒンティングを選択するための新しいコマンドラインオプション `-H 'を受け入れます。
エンジン。
-TrueTypeサブピクセルのヒント修正の別のラウンド。
-「apinames」ツールは、NetWareのインポートファイルを作成できるようになりました。
-新しいCFFエンジンの64ビットコンパイルにはバグがありました。
-メモリ不足の状況での堅牢性を改善するためのいくつかの修正。
I.重要なバグ修正
-キャッシュマネージャー関数 `FTC_Manager_Reset 'はフラッシュしませんでした
キャッシュ。
II。 重要な変更
-Behdad Esfahbod(Googleを代表)は、
カラー埋め込みビットマップ(カラー絵文字など)。
新しいロードフラグFT_LOAD_COLORは、FreeTypeをロードカラーにします
このドラフト仕様に準拠した埋め込みビットマップ
color-emoji.googlecode.com/git/specification/v1.html
2つの新しいSFNTテーブル、「CBDT 'and` CBLC'(名前と
それぞれ「EBDT」と「EBLC」をモデルにしています)。 色
ビットマップは新しいFT_PIXEL_MODE_BGRA形式で保存されます
BGRA事前乗算sRGBイメージを表します。 PNGサポートが
利用可能、同じ提案で定義されているPNGカラー画像
仕様もサポートされています。
クライアントがカラービットマップをグレースケールに変換することに注意してください
色を求めませんでした。
-前のリリースで発表されたように、古いFreeType CFF
エンジンはデフォルトで無効になりました。 条件付きにすることができます
構成マクロを定義してコンパイル
CFF_CONFIG_OPTION_OLD_ENGINE。
-前のリリースで発表されたように、マクロに関連するすべてのコード
FT_CONFIG_OPTION_OLD_INTERNALSは削除されたため、
時代遅れ。
III。 その他
-プロパティAPI( `FT_Property_Get 'and` FT_Property_Set')は
安定版として宣言されました。
ただし、実験的な自動ヒンターは例外です
プロパティ `glyph-to-script-map 'and` fallback-script'は
今後のリリースで変更される可能性があります。
-`ftview 'は、カラー埋め込みビットマップをサポートするように更新されました。 それ
キー「c」でオンとオフを切り替えることができます。 小さなキャッシュの切り替え
現在はキー「K」です。
-TrueTypeのバージョンを制御できるようになりました
新しい「インタープリターバージョン」プロパティを使用したヒントエンジン
「truetype」モジュール:バージョン35および38(デフォルト)は
サポートされます。これは、無効化と有効化にほぼ対応します
それぞれサブピクセルヒンティングサポート。
`ftview 'と` ftdiff'の両方で、2つを切り替える
バージョンは、キー「H」で実行できます。 「ftbench」デモで
プログラム、コマンドラインオプション `-H 'が有効になるように拡張されました
デフォルト以外のインタープリターのバージョン。
-「ttdebug」プログラムがさらに改善されました。 特に、
ヒンティングを選択するための新しいコマンドラインオプション `-H 'を受け入れます。
エンジン。
-TrueTypeサブピクセルのヒント修正の別のラウンド。
-「apinames」ツールは、NetWareのインポートファイルを作成できるようになりました。
-新しいCFFエンジンの64ビットコンパイルにはバグがありました。
-メモリ不足の状況での堅牢性を改善するためのいくつかの修正。
1。
![画像](https://habrastorage.org/getpro/habr/post_images/37f/14e/e03/37f14ee037f4ced8ea3da26f4e4c793e.png)
2。
![画像](https://habrastorage.org/getpro/habr/post_images/eeb/b87/c0b/eebb87c0b7debd24a9762332144f7c68.png)
古い自動CFFラスタライザとライト自動ヒントを使用したFreeType(最も一般的な設定)
![画像](https://habrastorage.org/getpro/habr/post_images/fba/3ab/87e/fba3ab87ee4e1197a981ebed801922b1.png)
FreeType Adobe CFF Rasterizerの使用(現在はデフォルトのCFF Rasterizer)
奇妙なことに、この場合、ReactOSが最も優れており、無料で高度なフォントエンジンを受け取りました。