2016-04-02 29 views
4

FT_New_Face機能は私が探しているようですが、フォントファイルへのパスが必要です。私はパスを提供することなく、 "Times New Roman"のようなフォントを開きたいと思っています。どうやってやるの?フォントのパスを使用する必要がありますか?

+0

パスではなくフォント名を受け入れる関数にFT_New_Faceをラップすることができます。この関数は、フォントが見つかる可能性のある検索パスを示す設定ファイルから読み取るパスです。パスを何度も読みたくないので、関数をファンクタ(オーバーロードされたオブジェクト)にするなどしてステートフルにしてください。 FontFinderクラス –

+1

"Times New Roman"はフォント* name *ですが、フォント*ファイル*の名前ではありません。名前文字列は、フォントファイル内にあります。それで、FreeTypeはあなたが名前だけを与えるときにどのフォントファイルを選択すべきかを知っていますか?あなたのコードでは、フォント名からフォントファイル*への変換が必要です。 – usr2564301

+1

@JacquesdeHooge:ディスク上のフォントを見つけるには?私はUbuntuのインストールで '/ usr/share/fonts'にあるいくつかのフォントを見ています。システムのデフォルトフォントを調べるにはどうしたらいいですか? –

答えて

5
ほとんどのUNIXベースのシステムでは、検索パラメータ(姓、バリエーション、体重など)のセットから最良のマッチングフォントファイルを取得するには、このために Fontconfigを使用

fontconfigはフォントアクセスを設定し、カスタマイズするためのライブラリです。

のFontconfigことができます:自動的にインストールするとき

  • は、構成上の問題の共通 ソースを削除し、新しいフォントを発見。
  • フォント名の置換を実行するので、フォントがない場合は適切な代替フォントを選択できます。
  • は、言語のセット を完全にカバーするために必要なフォントのセットを特定します。
  • XMLベースの設定ファイルを使用してGUI設定ツールを構築しています(ただし、自動検出では、 はこの必要性が最小限に抑えられています)。
  • は、効率的かつ迅速にフォントあなたを見つける 、インストールしたフォントのセットの中で必要性を、メモリ使用量をminimzingながらあなたは、フォントの インストールされ、数千を持っている場合でも。
  • Xレンダリングエクステンションとフリータイプと連携して、高品質のアンチエイリアス処理されたサブピクセルのテキストをディスプレイに表示することができます。

Fontconfigのはありません:

  • フォントそのもの(これは、FreeTypeのか、他の レンダリングメカニズムに任されている)
  • をレンダリングするには任意の方法でX Windowシステムに依存するので、 ことプリンタのみのアプリケーションは、そのような依存性を持たない。

fontconfigは、比較的ポータブルおよびシステムのさまざまな使用であるしかしOSXは、同様の機能を持っているCoreTextを持っており、WindowsがDirectWrite

はFontconfigの使用方法についてのヘルプはthis質問を参照してください持っています。

関連する問題