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

IDWriteFactory1

COM
IID30572f99-dac6-41db-a16e-0486307e606a継承元IDWriteFactory自前メソッド開始 vtbl24

公式ドキュメント

すべての DirectWrite オブジェクトのルートとなるファクトリインターフェイスです。(IDWriteFactory1)

メソッド 2

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

vtbl 24 HRESULT GetEudcFontCollection(IDWriteFontCollection** fontCollection, BOOL checkForUpdates)

EUDC(end-user defined characters: ユーザー定義文字)フォントの集合を表すフォントコレクションを取得します。

fontCollectionIDWriteFontCollection**out格納先となるフォントコレクション。
checkForUpdatesBOOLin更新を確認するかどうか。

戻り値

Type: HRESULT

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

解説(Remarks)

システムに EUDC が設定されていない場合、返されるコレクションは空になる点に注意してください。つまり、成功は返しますが GetFontFamilyCount は 0 になります。

vtbl 25 HRESULT CreateCustomRenderingParams(FLOAT gamma, FLOAT enhancedContrast, FLOAT enhancedContrastGrayscale, FLOAT clearTypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, IDWriteRenderingParams1** renderingParams)

指定したプロパティを持つレンダリングパラメーターオブジェクトを作成します。(IDWriteFactory1.CreateCustomRenderingParams)

gammaFLOATin新しいレンダリングパラメーターオブジェクトに設定するガンマレベル。
enhancedContrastFLOATin新しいレンダリングパラメーターオブジェクトに設定する拡張コントラストレベル。
enhancedContrastGrayscaleFLOATinグレースケールアンチエイリアシングで使用するコントラスト強調の量。0 以上の値。
clearTypeLevelFLOATin新しいレンダリングパラメーターオブジェクトに設定する ClearType レベル。
pixelGeometryDWRITE_PIXEL_GEOMETRYinテキストのレンダリングを行う際に想定される、デバイスピクセルの内部構造(すなわち、赤・緑・青の色要素の物理的な配置)を表します。
renderingModeDWRITE_RENDERING_MODEinグリフをレンダリングする方法(たとえば ClearType natural quality)を表す値。
renderingParamsIDWriteRenderingParams1**outこのメソッドが返るとき、新しく作成されたレンダリングパラメーターオブジェクトへのポインターのアドレスが格納されます。

戻り値

Type: HRESULT

標準的な 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_IDWriteFactory1 "{30572F99-DAC6-41DB-A16E-0486307E606A}"
#usecom global IDWriteFactory1 IID_IDWriteFactory1 "{}"
#comfunc global IDWriteFactory1_GetEudcFontCollection        24 sptr,int
#comfunc global IDWriteFactory1_CreateCustomRenderingParams  25 float,float,float,float,int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。