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

IDWriteFontFace3

COM
IIDd37d7598-09be-4222-a236-2081341cc1f2継承元IDWriteFontFace2自前メソッド開始 vtbl35

公式ドキュメント

フォントフェイスの種類、適切なファイル参照、およびフェイス識別データを保持します。 (IDWriteFontFace3)

メソッド 14

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

vtbl 35 HRESULT GetFontFaceReference(IDWriteFontFaceReference** fontFaceReference)

このフォントを識別するフォントフェイス参照を取得します。 (IDWriteFontFace3.GetFontFaceReference)

fontFaceReferenceIDWriteFontFaceReference**out新しく作成されたフォントフェイス参照オブジェクトの IDWriteFontFaceReference インターフェイスへのポインターを受け取るメモリブロックへのポインター。

戻り値

型: HRESULT

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

vtbl 36 void GetPanose(DWRITE_PANOSE* panose)

フォント選択とマッチングに使用される PANOSE 値をフォントから取得します。

panoseDWRITE_PANOSE*outフォントから PANOSE 値を受け取る DWRITE_PANOSE 構造体へのポインター。

解説(Remarks)

このメソッドは、他の値から推測されるウェイトやプロポーションを代入するといった、これらの値のシミュレーションを行いません。フォントがこれらを指定していない場合、すべて 'any' (0) に設定されます。

vtbl 37 DWRITE_FONT_WEIGHT GetWeight()

このフォントのウェイトを取得します。

戻り値

型: DWRITE_FONT_WEIGHT

ストロークの細さや太さの観点から書体の濃度を指定する DWRITE_FONT_WEIGHT 型の値を返します。

vtbl 38 DWRITE_FONT_STRETCH GetStretch()

このフォントのストレッチ(幅とも呼ばれます)を取得します。

戻り値

型: DWRITE_FONT_STRETCH

フォントの通常のアスペクト比と比較して、フォントがどの程度ストレッチされているかを指定する DWRITE_FONT_STRETCH 型の値を返します。

vtbl 39 DWRITE_FONT_STYLE GetStyle()

このフォントのスタイル(スロープとも呼ばれます)を取得します。

戻り値

型: DWRITE_FONT_STYLE

フォントのスタイルを指定する DWRITE_FONT_STYLE 型の値を返します。

vtbl 40 HRESULT GetFamilyNames(IDWriteLocalizedStrings** names)

ロケール名でインデックス付けされた、フォントファミリーのファミリー名を含むローカライズ文字列オブジェクトを作成します。 (IDWriteFontFace3.GetFamilyNames)

namesIDWriteLocalizedStrings**out新しく作成されたローカライズ文字列オブジェクトの IDWriteLocalizedStrings インターフェイスへのポインターを受け取るメモリブロックへのポインター。

戻り値

型: HRESULT

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

vtbl 41 HRESULT GetFaceNames(IDWriteLocalizedStrings** names)

ロケール名でインデックス付けされた、フォントのフェイス名(例: Regular や Bold)を含むローカライズ文字列オブジェクトを作成します。

namesIDWriteLocalizedStrings**out新しく作成されたローカライズ文字列オブジェクトの IDWriteLocalizedStrings インターフェイスへのポインターを受け取るメモリブロックへのポインター。

戻り値

型: HRESULT

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

vtbl 42 HRESULT GetInformationalStrings(DWRITE_INFORMATIONAL_STRING_ID informationalStringID, IDWriteLocalizedStrings** informationalStrings, BOOL* exists)

ロケール名でインデックス付けされた、指定された情報文字列を含むローカライズ文字列コレクションを取得します。

informationalStringIDDWRITE_INFORMATIONAL_STRING_IDin取得する文字列を識別する DWRITE_INFORMATIONAL_STRING_ID 型の値。
informationalStringsIDWriteLocalizedStrings**out新しく作成されたローカライズ文字列オブジェクトの IDWriteLocalizedStrings インターフェイスへのポインターを受け取るメモリブロックへのポインター。
existsBOOL*outフォントが指定された文字列 ID を含むかどうかを受け取る変数へのポインター。フォントが指定された文字列 ID を含む場合は TRUE、それ以外の場合は FALSE

戻り値

型: HRESULT

フォントが指定された文字列を含まない場合、戻り値は S_OK ですが、informationalStringsNULL ポインターを受け取り、existsFALSE の値を受け取ります。

vtbl 43 BOOL HasCharacter(DWORD unicodeValue)

フォントが指定された文字をサポートしているかどうかを判定します。

unicodeValueDWORDinUnicode (UCS-4) 文字値。

戻り値

型: BOOL

フォントが指定された文字をサポートしているかどうかを返します。フォントが指定された文字を持つ場合は TRUE、それ以外の場合は FALSE を返します。

vtbl 44 HRESULT GetRecommendedRenderingMode(FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, DWRITE_MATRIX* transform, BOOL isSideways, DWRITE_OUTLINE_THRESHOLD outlineThreshold, DWRITE_MEASURING_MODE measuringMode, IDWriteRenderingParams* renderingParams, DWRITE_RENDERING_MODE1* renderingMode, DWRITE_GRID_FIT_MODE* gridFitMode)

フォント、サイズ、ワールド変換、および測定モードに基づいて、使用すべき推奨のテキストレンダリングモードおよびグリッドフィットモードを決定します。 (IDWriteFontFace3.GetRecommendedRenderingMode)

fontEmSizeFLOATinDIP 単位の論理フォントサイズ。
dpiXFLOATin水平方向の論理インチあたりのピクセル数。
dpiYFLOATin垂直方向の論理インチあたりのピクセル数。
transformDWRITE_MATRIX*inoptionalワールド変換を記述する DWRITE_MATRIX 構造体。
isSidewaysBOOLinフォントが横倒し(sideways)かどうかを指定します。フォントが横倒しの場合は TRUE、それ以外の場合は FALSE
outlineThresholdDWRITE_OUTLINE_THRESHOLDinグラフィックスシステムのアウトラインレンダリングの品質を指定する DWRITE_OUTLINE_THRESHOLD 型の値。アウトラインレンダリングが使用されるサイズしきい値に影響します。
measuringModeDWRITE_MEASURING_MODEinテキストレイアウト時に測定に使用される方法を指定する DWRITE_MEASURING_MODE 型の値。適切なグリフ間隔を得るために、このメソッドは指定された測定モードと互換性のあるレンダリングモードを返します。
renderingParamsIDWriteRenderingParams*inoptionalレンダリングパラメーターオブジェクトの IDWriteRenderingParams インターフェイスへのポインター。このパラメーターは、レンダリングパラメーターオブジェクトがレンダリングモードをオーバーライドする場合に必要です。
renderingModeDWRITE_RENDERING_MODE1*out推奨のレンダリングモードを表す DWRITE_RENDERING_MODE1 型の値を受け取る変数へのポインター。
gridFitModeDWRITE_GRID_FIT_MODE*out推奨のグリッドフィットモードを表す DWRITE_GRID_FIT_MODE 型の値を受け取る変数へのポインター。

戻り値

型: HRESULT

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

vtbl 45 BOOL IsCharacterLocal(DWORD unicodeValue)

文字がフォントからローカルにダウンロードされているかどうかを判定します。

unicodeValueDWORDinUnicode (UCS-4) 文字値。

戻り値

型: BOOL

フォントが指定された文字をローカルで利用可能な場合は TRUE、そうでない場合、またはフォントがその文字をサポートしていない場合は FALSE を返します。

vtbl 46 BOOL IsGlyphLocal(WORD glyphId)

グリフがフォントからローカルにダウンロードされているかどうかを判定します。

glyphIdWORDinグリフ識別子。

戻り値

型: BOOL

フォントが指定されたグリフをローカルで利用可能な場合は TRUE を返します。

vtbl 47 HRESULT AreCharactersLocal(LPWSTR characters, DWORD characterCount, BOOL enqueueIfNotLocal, BOOL* isLocal)

指定された文字がローカルであるかどうかを判定します。

charactersLPWSTRin文字の配列。
characterCountDWORDin文字配列内の要素数。
enqueueIfNotLocalBOOLin指定された文字のいずれかがローカルでない場合に、ダウンロード要求をキューに入れるかどうかを指定します。
isLocalBOOL*out指定された文字がすべてローカルの場合は TRUE、いずれかがリモートの場合は FALSE を受け取ります。

戻り値

型: HRESULT

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

vtbl 48 HRESULT AreGlyphsLocal(WORD* glyphIndices, DWORD glyphCount, BOOL enqueueIfNotLocal, BOOL* isLocal)

指定されたグリフがローカルであるかどうかを判定します。

glyphIndicesWORD*inグリフインデックスの配列。
glyphCountDWORDinグリフインデックス配列内の要素数。
enqueueIfNotLocalBOOLin指定されたグリフのいずれかがローカルでない場合に、ダウンロード要求をキューに入れるかどうかを指定します。
isLocalBOOL*out指定されたグリフがすべてローカルの場合は TRUE、いずれかがリモートの場合は FALSE を受け取ります。

戻り値

型: 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_IDWriteFontFace3 "{D37D7598-09BE-4222-A236-2081341CC1F2}"
#usecom global IDWriteFontFace3 IID_IDWriteFontFace3 "{}"
#comfunc global IDWriteFontFace3_GetFontFaceReference         35 sptr
#comfunc global IDWriteFontFace3_GetPanose                    36 var
#comfunc global IDWriteFontFace3_GetWeight                    37
#comfunc global IDWriteFontFace3_GetStretch                   38
#comfunc global IDWriteFontFace3_GetStyle                     39
#comfunc global IDWriteFontFace3_GetFamilyNames               40 sptr
#comfunc global IDWriteFontFace3_GetFaceNames                 41 sptr
#comfunc global IDWriteFontFace3_GetInformationalStrings      42 int,sptr,var
#comfunc global IDWriteFontFace3_HasCharacter                 43 int
#comfunc global IDWriteFontFace3_GetRecommendedRenderingMode  44 float,float,float,var,int,int,int,sptr,var,var
#comfunc global IDWriteFontFace3_IsCharacterLocal             45 int
#comfunc global IDWriteFontFace3_IsGlyphLocal                 46 int
#comfunc global IDWriteFontFace3_AreCharactersLocal           47 wstr,int,int,var
#comfunc global IDWriteFontFace3_AreGlyphsLocal               48 var,int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。