3

W8 C ++ / CX DirectXアプリケーションを作成していて、アプリケーション独自のストレージからカスタムフォントファイルを使用しようとしています。IDWriteFactory :: CreateFontFileReferenceを使用してディレクトリからIDWriteFontFileをロードする方法と、そこからIDWriteFontFaceを作成する方法を理解しました。

私が今知らないのは、 IDWriteTextFormatをロードするためにIDWriteFontFaceを使用する方法です。IDWriteFontCollectionを使用してこれを行う必要がありますか?

答えが本当に愚かで些細なものである場合は申し訳ありませんが、私はDirectXを初めて使用し、外出先ですべてを学びます。

4

2 に答える 2

4

実行時に独自のカスタムフォントをロードする方法の必要な高レベルのビューについては、カスタムフォントコレクションに関するMSDNDirectWriteヘルプトピックを参照してください。これを行う方法についてのあなたの推測は間違っていました。

これを行う方法に関する最良のサンプルは、Win7SDKdirectWriteサンプルに直接付属しているようです。DirectWrite \ CustomFontC++サンプルを参照してください。

IDWriteFontFaceこのプロセスには、タイプの取得や使用は含まれません。実際、IDWriteFontFace私が見ることができるのであなたができる唯一のことは決定することglyphindicesです。

代わりに、すべてのdirectX APIと同様に、ファクトリから開始し、次にファクトリで、フォントコレクションとフォントファイルローダーを作成し、そのフォントコレクションを使用してフォントを列挙します。テキスト形式を作成するためのインターフェイスでは、フォントフェースではなく、カスタムフォントコレクションを渡す必要があります。

グリフ情報を取得するためのインターフェイスタイプIDWritefontFaceの正しい使用例は、ここcodeprojectにあります。

于 2014-09-04T17:16:59.030 に答える
0

IDWriteFontFaceを使用してIDWriteTextFormatを作成することはできません。関数IDWriteFactory::CreateTextFormatを使用してIDWriteTextFormatインスタンスを作成できます。IDWriteFontFaceはフォントのプロパティを記述するために使用され、IDWriteTextFormatはテキストのプロパティを記述するために使用されました。

于 2012-11-08T09:22:46.230 に答える