Pango (Παν語と表記される)は、多言語テキストを表示するためのHarfBuzzシェーピングエンジンと連携するテキスト(グリフ)レイアウトエンジンライブラリです。 [ 4 ]
PangoをプラットフォームAPIやUniscribe、FreeTypeなどのサードパーティライブラリと組み合わせてテキストレンダリングのバックエンドとして使用することで、テキストの完全なレンダリング機能とクロスプラットフォーム対応が実現します。Pangoで処理されたテキストは、異なるオペレーティングシステムでも同様に表示されます。
Pango はテキスト専用のライブラリであり、Pango を使用できるCairoのような汎用グラフィック レンダリング ライブラリではありません。Cairo のドキュメントでは、最も単純なテキストの「レンダリング」を除き、Cairo ではなく Pango を使用してテキストを「レンダリング」することを推奨しています。[ 5 ]
パンゴという名前は、ギリシャ語のpan ( παν 、「すべて」)と日本語のgo ( 、「言語」 ) に由来する。[ 6 ]
2000 年 1 月に、GScript と GnomeText プロジェクトの合併により Pango という名前が付けられました。[ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ]

Pango 1.17以降は、同じUnicodeコードポイントに対してローカライズされたグリフを使用できるようにする「locl」機能タグをサポートしています。Verdanaバージョン5.01がインストールされており、latn/ROM(ルーマニア語)スクリプトの「locl」機能をサポートしていると仮定すると、 Linux上での簡単なデモは次のようになります。
for lang in en ro do pango-view \ --font = "Verdana 64" \ --text " $langでの şţ 対 şţ " \ -- language = $lang完了ルーマニア語の置換規則の説明については、こちらの議論を参照してください。
POSIX 環境変数を使用してロケールを設定すると、例えば LANG=ro_RO.UTF-8 のように設定することで、Pango は 'locl' フォント機能を使用するようになります。最後に、 Pango マークアップを使用して同じテキスト内で言語を動的に変更することもできます。例:
pango-view \ --font = "Verdana 24" \ --markup \ --text '同じテキスト内: şţ(en) と <span lang="ro">şţ(ro).</span>'Pangoはバージョン1.37.1以降、OpenType機能の処理を完全にサポートするために属性を追加しました。[ 15 ] [ 16 ] [ 17 ]

Pango はほとんどの Linux ディストリビューションに統合されています。GTK UI ツールキットは、すべてのテキスト レンダリングに Pango を使用しています。[ 18 ] Mozilla Firefoxウェブ ブラウザとMozilla Thunderbirdメール クライアントの Linux 版は、テキストレンダリングに Pango を使用しています。[ 19 ]
{{cite web}}:欠落または空欄|title=(ヘルプ)彼らのプレゼンテーションで最も印象的だったのは、Pango(GScriptとGnomeTextの統合結果)についての議論だった。
プロジェクトはGnomeTextプロジェクトと統合されました。その結果であるPangoについては、https:
//www.pango.org
を参照してください。このサイトにアクセスできない場合は、ミラーサイトがこちらにあります。Owen Taylor著
Taylorはgscriptに取り組んでおり、このインターフェースで説明されている機能と一部重複しています。私たちは2つのAPIを可能な限り統合するよう取り組んでいます。
。 Pango(私のGscriptプロジェクトとRaph LevienのGnomeTextプロジェクトを統合したコードネーム)は、国際テキストのレイアウトとレンダリングを行うためのモジュール式のライブラリセットです。MicrosoftのUniscriptやAppleのATSUIに少し似ています。