Win32 API 日本語リファレンス
ホームGraphics.DirectWrite › IDWriteFontFaceReference

IDWriteFontFaceReference

COM
IID5e7fa7ca-dde3-424c-89f0-9fcd6fed58cd継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

フォントフェイスへの参照を表します。

メソッド 14

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT CreateFontFace(IDWriteFontFace3** fontFace)

レイアウト、シェーピング、またはレンダリングで使用するためのフォントフェイスを、この参照から作成します。

fontFaceIDWriteFontFace3**out新しく作成されたフォントフェイスオブジェクト。失敗した場合は nullptr。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

フォントがローカルにない場合、この関数は DWRITE_E_REMOTEFONT で失敗することがあります。

vtbl 4 HRESULT CreateFontFaceWithSimulations(DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags, IDWriteFontFace3** fontFace)

代替のフォントシミュレーションを指定してフォントフェイスを作成します。たとえば、通常のバリアントから太字のフォントフェイスを明示的にシミュレートする場合に使用します。

fontFaceSimulationFlagsDWRITE_FONT_SIMULATIONSinアルゴリズムによる太字化および斜体化のためのフォントフェイスシミュレーションフラグ。
fontFaceIDWriteFontFace3**out新しく作成されたフォントフェイスオブジェクト。失敗した場合は nullptr。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

フォントがローカルにない場合、この関数は DWRITE_E_REMOTEFONT で失敗することがあります。

vtbl 5 BOOL Equals(IDWriteFontFaceReference* fontFaceReference)
fontFaceReferenceIDWriteFontFaceReference*in等価判定の比較対象とするフォントフェイス参照。
vtbl 6 DWORD GetFontFaceIndex()

フォントファイル内のフォントフェイスの0から始まるインデックスを取得します。フォントファイルに単一のフェイスしか含まれていない場合、戻り値は0です。

戻り値

型: UINT32

フォントファイル内のフォントフェイスの0から始まるインデックス。フォントファイルに単一のフェイスしか含まれていない場合、 戻り値は0です。

vtbl 7 DWRITE_FONT_SIMULATIONS GetSimulations()

フォントフェイスのアルゴリズムによるスタイルシミュレーションフラグを取得します。(IDWriteFontFaceReference.GetSimulations)

戻り値

型: DWRITE_FONT_SIMULATIONS

フォントフェイスのアルゴリズムによるスタイルシミュレーションフラグを返します。

vtbl 8 HRESULT GetFontFile(IDWriteFontFile** fontFile)

フォントフェイスを表すフォントファイルを取得します。

fontFileIDWriteFontFile**out

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 9 ULONGLONG GetLocalFileSize()

フォントフェイスのローカルサイズをバイト単位で取得します。この値は常に GetFullSize 以下になります。ローカリティがリモートの場合、この値は0です。完全にローカルの場合、この値は GetFileSize と等しくなります。

戻り値

型: UINT64

フォントフェイスのローカルサイズ(バイト単位)。この値は常に GetFullSize 以下になります。ローカリティがリモートの場合、この 値は0です。完全にローカルの場合、この値は GetFileSize と等しくなります。

vtbl 10 ULONGLONG GetFileSize()

フォントフェイスの合計サイズをバイト単位で取得します。

戻り値

型: UINT64

フォントフェイスの合計サイズをバイト単位で返します。ローカリティがリモートの場合、この値は不明であり0になります。

vtbl 11 HRESULT GetFileTime(FILETIME* lastWriteTime)

最終更新日時を取得します。

lastWriteTimeFILETIME*out最終更新日時を返します。フォントファイルローダーがファイル時刻を公開していない場合、時刻は0になることがあります。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 12 DWRITE_LOCALITY GetLocality()

このフォントフェイス参照のローカリティを取得します。

戻り値

型: DWRITE_LOCALITY

このフォントフェイス参照のローカリティを返します。

解説(Remarks)

完全にローカルなフォントからは、常に正常に フォントフェイスを作成できます。リモートまたは部分的にローカルなフォントに対して フォントフェイスを作成しようとすると、DWRITE_E_REMOTEFONT で失敗することがあります。 この関数は、バックグラウンドのダウンロードやキャッシュされたデータの有効期限切れに応じて、 呼び出しごとに結果が変わることがあります。

vtbl 13 HRESULT EnqueueFontDownloadRequest()

フォントダウンロードキュー(IDWriteFontDownloadQueue)に要求を追加します。(IDWriteFontFaceReference.EnqueueFontDownloadRequest)

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 14 HRESULT EnqueueCharacterDownloadRequest(LPWSTR characters, DWORD characterCount)

フォントダウンロードキュー(IDWriteFontDownloadQueue)に要求を追加します。(IDWriteFontFaceReference.EnqueueCharacterDownloadRequest)

charactersLPWSTRinダウンロードする文字の配列。
characterCountDWORDin文字配列内の要素数。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

文字のダウンロードには、フォントテーブル(cmap、GSUB、COLR、glyf)を介して直接または間接的に依存するすべてのグリフのダウンロードが含まれます。

vtbl 15 HRESULT EnqueueGlyphDownloadRequest(WORD* glyphIndices, DWORD glyphCount)

フォントダウンロードキュー(IDWriteFontDownloadQueue)に要求を追加します。(IDWriteFontFaceReference.EnqueueGlyphDownloadRequest)

glyphIndicesWORD*inダウンロードするグリフインデックスの配列。
glyphCountDWORDinグリフインデックス配列内の要素数。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

グリフのダウンロードには、フォントテーブル(GSUB、COLR、glyf)から依存する他のグリフのダウンロードが含まれます。

vtbl 16 HRESULT EnqueueFileFragmentDownloadRequest(ULONGLONG fileOffset, ULONGLONG fragmentSize)

フォントダウンロードキュー(IDWriteFontDownloadQueue)に要求を追加します。(IDWriteFontFaceReference.EnqueueFileFragmentDownloadRequest)

fileOffsetULONGLONGinフォントファイルの先頭からのフラグメントのオフセット。
fragmentSizeULONGLONGinフラグメントのサイズ(バイト単位)。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDWriteFontFaceReference "{5E7FA7CA-DDE3-424C-89F0-9FCD6FED58CD}"
#usecom global IDWriteFontFaceReference IID_IDWriteFontFaceReference "{}"
#comfunc global IDWriteFontFaceReference_CreateFontFace                      3 sptr
#comfunc global IDWriteFontFaceReference_CreateFontFaceWithSimulations       4 int,sptr
#comfunc global IDWriteFontFaceReference_Equals                              5 sptr
#comfunc global IDWriteFontFaceReference_GetFontFaceIndex                    6
#comfunc global IDWriteFontFaceReference_GetSimulations                      7
#comfunc global IDWriteFontFaceReference_GetFontFile                         8 sptr
#comfunc global IDWriteFontFaceReference_GetLocalFileSize                    9
#comfunc global IDWriteFontFaceReference_GetFileSize                         10
#comfunc global IDWriteFontFaceReference_GetFileTime                         11 var
#comfunc global IDWriteFontFaceReference_GetLocality                         12
#comfunc global IDWriteFontFaceReference_EnqueueFontDownloadRequest          13
#comfunc global IDWriteFontFaceReference_EnqueueCharacterDownloadRequest     14 wstr,int
#comfunc global IDWriteFontFaceReference_EnqueueGlyphDownloadRequest         15 var,int
#comfunc global IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest  16 int64,int64
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。