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

IDWriteFactory2

COM
IID0439fc60-ca44-4994-8dee-3a9af7b732ec継承元IDWriteFactory1自前メソッド開始 vtbl26

公式ドキュメント

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

メソッド 5

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

vtbl 26 HRESULT GetSystemFontFallback(IDWriteFontFallback** fontFallback)

システムのフォントフォールバックリストからフォントフォールバックオブジェクトを作成します。

fontFallbackIDWriteFontFallback**out新しく作成されたフォントフォールバックオブジェクトへのポインターのアドレスを格納します。

戻り値

型: HRESULT

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

vtbl 27 HRESULT CreateFontFallbackBuilder(IDWriteFontFallbackBuilder** fontFallbackBuilder)

フォントフォールバックビルダーオブジェクトを作成します。

fontFallbackBuilderIDWriteFontFallbackBuilder**out新しく作成されたフォントフォールバックビルダーオブジェクトへのポインターのアドレスを格納します。

戻り値

型: HRESULT

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

vtbl 28 HRESULT TranslateColorGlyphRun(FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_GLYPH_RUN* glyphRun, DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription, DWRITE_MEASURING_MODE measuringMode, DWRITE_MATRIX* worldToDeviceTransform, DWORD colorPaletteIndex, IDWriteColorGlyphRunEnumerator** colorLayers)

このメソッドはグリフランに対して呼び出され、それを複数のカラーグリフランへと変換します。

baselineOriginXFLOATin元のグリフランの水平方向のベースライン原点。
baselineOriginYFLOATin元のグリフランの垂直方向のベースライン原点。
glyphRunDWRITE_GLYPH_RUN*inモノクロのグリフ ID を含む元のグリフラン。
glyphRunDescriptionDWRITE_GLYPH_RUN_DESCRIPTION*inoptional省略可能なグリフランの記述。
measuringModeDWRITE_MEASURING_MODEinランがカラーグリフを含む場合にグリフの位置を計算するために使用する測定モード。
worldToDeviceTransformDWRITE_MATRIX*inoptionalワールド変換に DPI スケーリングを乗じたもの。ランがカラーグリフを含み、かつ測定モードが DWRITE_MEASURING_MODE_NATURAL でない場合に、グリフの位置を計算するために必要です。 このパラメーターが NULL の場合は、単位変換が想定されます。
colorPaletteIndexDWORDin使用するカラーパレットの 0 から始まるインデックス。有効なインデックスは、 IDWriteFontFace2::GetColorPaletteCount が返すフォント内のパレット数未満です。
colorLayersIDWriteColorGlyphRunEnumerator**out元のグリフランがカラーグリフを含む場合、このパラメーターは IDWriteColorGlyphRunEnumerator インターフェイスへのポインターを受け取ります。 クライアントは、返されたインターフェイスを使用して、元のグリフランの代わりに描画するグリフランおよび関連する色に関する情報を取得します。 元のグリフランがカラーグリフを含まない場合、このメソッドは DWRITE_E_NOCOLOR を返し、出力ポインターは NULL になります。

戻り値

型: HRESULT

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

解説(Remarks)

カラー情報を含まないグリフランを指定してこのメソッドを呼び出した場合、メソッドは DWRITE_E_NOCOLOR を返し、 アプリケーションに対して元のグリフランをそのまま描画できることを知らせます。グリフランがカラー情報を含む場合、この関数は、 列挙することでランおよび関連する色を取得できるオブジェクトを返します。次にアプリケーションは、 返された各グリフランと前景色を指定して DrawGlyphRun を呼び出します。

vtbl 29 HRESULT CreateCustomRenderingParams(FLOAT gamma, FLOAT enhancedContrast, FLOAT grayscaleEnhancedContrast, FLOAT clearTypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, DWRITE_GRID_FIT_MODE gridFitMode, IDWriteRenderingParams2** renderingParams)

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

gammaFLOATinガンマ補正に使用するガンマ値。0 より大きく、256 を超えることはできません。
enhancedContrastFLOATinコントラスト強調の量。0 以上。
grayscaleEnhancedContrastFLOATinコントラスト強調の量。0 以上。
clearTypeLevelFLOATinClearType レベルの度合い。0.0f(ClearType なし)から 1.0f(完全な ClearType)まで。
pixelGeometryDWRITE_PIXEL_GEOMETRYinデバイスピクセルのジオメトリ。
renderingModeDWRITE_RENDERING_MODEinグリフのレンダリング方法。ほとんどの場合、適切なモードを自動的に使用するために DWRITE_RENDERING_MODE_DEFAULT を指定します。
gridFitModeDWRITE_GRID_FIT_MODEinグリフのアウトラインをグリッドフィットする方法。ほとんどの場合、適切なモードを自動的に選択するために DWRITE_GRID_FIT_DEFAULT を指定します。
renderingParamsIDWriteRenderingParams2**out新しく作成されたレンダリングパラメーターオブジェクトを保持します。失敗した場合は NULL になります。

戻り値

型: HRESULT

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

vtbl 30 HRESULT CreateGlyphRunAnalysis(DWRITE_GLYPH_RUN* glyphRun, DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, DWRITE_GRID_FIT_MODE gridFitMode, DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, FLOAT baselineOriginX, FLOAT baselineOriginY, IDWriteGlyphRunAnalysis** glyphRunAnalysis)

グリフランのレンダリングに使用する情報をカプセル化する、グリフラン解析オブジェクトを作成します。(IDWriteFactory2.CreateGlyphRunAnalysis)

glyphRunDWRITE_GLYPH_RUN*inグリフランのプロパティを指定する構造体。
transformDWRITE_MATRIX*inoptionalグリフおよびその位置に適用される省略可能な変換。この変換は、emSize と pixelsPerDip で指定される スケーリングの後に適用されます。
renderingModeDWRITE_RENDERING_MODEinレンダリングモードを指定します。これはラスターレンダリングモードのいずれか(すなわち default および outline 以外)である必要があります。
measuringModeDWRITE_MEASURING_MODEinグリフを測定する方法を指定します。
gridFitModeDWRITE_GRID_FIT_MODEinグリフのアウトラインをグリッドフィットする方法。これは default 以外である必要があります。
antialiasModeDWRITE_TEXT_ANTIALIAS_MODEinアンチエイリアスモードを指定します。
baselineOriginXFLOATinベースライン原点の水平方向の位置(DIP 単位)。
baselineOriginYFLOATinベースライン原点の垂直方向の位置(DIP 単位)。
glyphRunAnalysisIDWriteGlyphRunAnalysis**out新しく作成されたオブジェクトへのポインターを受け取ります。

戻り値

型: HRESULT

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

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

HSP用 COM定義

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

出力引数:
#define global IID_IDWriteFactory2 "{0439FC60-CA44-4994-8DEE-3A9AF7B732EC}"
#usecom global IDWriteFactory2 IID_IDWriteFactory2 "{}"
#comfunc global IDWriteFactory2_GetSystemFontFallback        26 sptr
#comfunc global IDWriteFactory2_CreateFontFallbackBuilder    27 sptr
#comfunc global IDWriteFactory2_TranslateColorGlyphRun       28 float,float,var,var,int,var,int,sptr
#comfunc global IDWriteFactory2_CreateCustomRenderingParams  29 float,float,float,float,int,int,int,sptr
#comfunc global IDWriteFactory2_CreateGlyphRunAnalysis       30 var,var,int,int,int,int,float,float,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。