IDWriteFactory3
COM公式ドキュメント
すべての DirectWrite オブジェクトのルートとなるファクトリインターフェイスです。(IDWriteFactory3)
メソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
グリフランのレンダリングに DirectWrite が使用する情報をカプセル化した glyph-run-analysis オブジェクトを作成します。
| glyphRun | DWRITE_GLYPH_RUN* | in | グリフランのプロパティを格納する DWRITE_GLYPH_RUN 構造体です。 |
| transform | DWRITE_MATRIX* | inoptional | グリフおよびその位置に適用する任意の変換を記述する DWRITE_MATRIX 構造体です。 |
| renderingMode | DWRITE_RENDERING_MODE1 | in | レンダリングモードを指定する DWRITE_RENDERING_MODE1 型の値です。ラスターレンダリングモードのいずれか(すなわち default でも outline でもないもの)である必要があります。 |
| measuringMode | DWRITE_MEASURING_MODE | in | ラン内のグリフの測定方法を指定する DWRITE_MEASURING_MODE 型の値です。このメソッドは、他のプロパティと合わせてこの値を使用し、レンダリングモードを決定します。 |
| gridFitMode | DWRITE_GRID_FIT_MODE | in | グリフのアウトラインをグリッドにどのようにフィットさせるかを指定する DWRITE_GRID_FIT_MODE 型の値です。この値は default 以外である必要があります。 |
| antialiasMode | DWRITE_TEXT_ANTIALIAS_MODE | in | レンダリングモードがアンチエイリアシングを必要とする場合に、テキストに使用するアンチエイリアシングの種類を指定する DWRITE_TEXT_ANTIALIAS_MODE 型の値です。 |
| baselineOriginX | FLOAT | in | DIB の左上隅を基準とした、ベースライン原点の水平位置(DIP 単位)です。 |
| baselineOriginY | FLOAT | in | DIB の左上隅を基準とした、ベースライン原点の垂直位置(DIP 単位)です。 |
| glyphRunAnalysis | IDWriteGlyphRunAnalysis** | out | 新しく作成された glyph-run-analysis オブジェクトの IDWriteGlyphRunAnalysis インターフェイスへのポインターを受け取るメモリブロックへのポインターです。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
指定したプロパティを持つレンダリングパラメーターオブジェクトを作成します。(IDWriteFactory3.CreateCustomRenderingParams)
| gamma | FLOAT | in | ガンマ補正に使用するガンマ値です。0 より大きく、256 を超えない値である必要があります。 |
| enhancedContrast | FLOAT | in | コントラスト強調の量で、0 以上の値です。 |
| grayscaleEnhancedContrast | FLOAT | in | グレースケールアンチエイリアシングに使用するコントラスト強調の量で、0 以上の値です。 |
| clearTypeLevel | FLOAT | in | ClearType のレベルの度合いで、0.0f(ClearType なし)から 1.0f(完全な ClearType)までの値です。 |
| pixelGeometry | DWRITE_PIXEL_GEOMETRY | in | テキストのレンダリングにあたって想定するデバイスピクセルの内部構造(すなわち赤・緑・青の色成分の物理的な配置)を指定する DWRITE_PIXEL_GEOMETRY 型の値です。 |
| renderingMode | DWRITE_RENDERING_MODE1 | in | グリフをレンダリングする方式(例: ClearType natural quality)を指定する DWRITE_RENDERING_MODE1 型の値です。ほとんどの場合、DWRITE_RENDERING_MODE1_DEFAULT を指定すると適切なモードが自動的に使用されます。 |
| gridFitMode | DWRITE_GRID_FIT_MODE | in | グリフのアウトラインをグリッドにどのようにフィットさせるかを指定する DWRITE_GRID_FIT_MODE 型の値です。ほとんどの場合、DWRITE_GRID_FIT_DEFAULT を指定すると適切なモードが自動的に選択されます。 |
| renderingParams | IDWriteRenderingParams3** | out | 新しく作成されたレンダリングパラメーターオブジェクトの IDWriteRenderingParams3 インターフェイスへのポインター、または失敗した場合は NULL を受け取るメモリブロックへのポインターです。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
| fontFile | IDWriteFontFile* | in | 参照元のフォントファイルオブジェクト。 |
| faceIndex | DWORD | in | コレクションファイル内のフェイスインデックス(0始まり)。 |
| fontSimulations | DWRITE_FONT_SIMULATIONS | in | 適用するフォントシミュレーション(ボールド/斜体)を指定するフラグ。 |
| fontFaceReference | IDWriteFontFaceReference** | out | 生成されたフォントフェイス参照を受け取るポインタ(出力)。 |
| filePath | LPWSTR | in | |
| lastWriteTime | FILETIME* | inoptional | |
| faceIndex | DWORD | in | コレクションファイル内のフェイスインデックス(0始まり)。 |
| fontSimulations | DWRITE_FONT_SIMULATIONS | in | 適用するフォントシミュレーション(ボールド/斜体)を指定するフラグ。 |
| fontFaceReference | IDWriteFontFaceReference** | out | 生成されたフォントフェイス参照を受け取るポインタ(出力)。 |
システムフォントの一覧を取得します。
| fontSet | IDWriteFontSet** | out | 新しく作成されたフォントセットオブジェクト、または失敗した場合は NULL を保持します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
フォントフェイス参照を追加してカスタムフォントセットを作成するための、空のフォントセットビルダーを作成します。(IDWriteFactory3.CreateFontSetBuilder)
| fontSetBuilder | IDWriteFontSetBuilder** | out | 新しく作成されたフォントセットビルダーオブジェクト、または失敗した場合は NULL を保持します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
フォントの集合から、ウェイト/幅/傾きのツリーを作成します。
| fontSet | IDWriteFontSet* | in | コレクションの構築に使用するフォントの集合です。 |
| fontCollection | IDWriteFontCollection1** | out | 新しく作成されたフォントコレクションオブジェクト、または失敗した場合は NULL を保持します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
システムフォントのウェイト/幅/傾きのツリーを取得します。
| includeDownloadableFonts | BOOL | in | クラウドフォントを含めるか、ローカルにインストールされたフォントのみとするかを示します。 |
| fontCollection | IDWriteFontCollection1** | out | 新しく作成されたフォントコレクションオブジェクト、または失敗した場合は NULL を保持します。 |
| checkForUpdates | BOOL | in | このパラメーターが TRUE の場合、関数はシステムフォントの集合に対する変更を即座にチェックします。このパラメーターが FALSE の場合でも、フォントキャッシュサービスが実行中であれば変更は検出されますが、多少の遅延が生じることがあります。たとえば、アプリケーションがフォントをインストールした直後で、そのフォントがフォントコレクションに含まれていることを確実にしたい場合には TRUE を指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
このファクトリオブジェクトに関連付けられたフォントダウンロードキューを取得します。
| fontDownloadQueue | IDWriteFontDownloadQueue** | out | フォントダウンロードキューインターフェイスへのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDWriteFactory3 "{9A1B41C3-D3BB-466A-87FC-FE67556A3B65}" #usecom global IDWriteFactory3 IID_IDWriteFactory3 "{}" #comfunc global IDWriteFactory3_CreateGlyphRunAnalysis 31 var,var,int,int,int,int,float,float,sptr #comfunc global IDWriteFactory3_CreateCustomRenderingParams 32 float,float,float,float,int,int,int,sptr #comfunc global IDWriteFactory3_CreateFontFaceReference 33 sptr,int,int,sptr #comfunc global IDWriteFactory3_CreateFontFaceReference 34 wstr,var,int,int,sptr #comfunc global IDWriteFactory3_GetSystemFontSet 35 sptr #comfunc global IDWriteFactory3_CreateFontSetBuilder 36 sptr #comfunc global IDWriteFactory3_CreateFontCollectionFromFontSet 37 sptr,sptr #comfunc global IDWriteFactory3_GetSystemFontCollection 38 int,sptr,int #comfunc global IDWriteFactory3_GetFontDownloadQueue 39 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDWriteFactory3 "{9A1B41C3-D3BB-466A-87FC-FE67556A3B65}" #usecom global IDWriteFactory3 IID_IDWriteFactory3 "{}" #comfunc global IDWriteFactory3_CreateGlyphRunAnalysis 31 sptr,sptr,int,int,int,int,float,float,sptr #comfunc global IDWriteFactory3_CreateCustomRenderingParams 32 float,float,float,float,int,int,int,sptr #comfunc global IDWriteFactory3_CreateFontFaceReference 33 sptr,int,int,sptr #comfunc global IDWriteFactory3_CreateFontFaceReference 34 wstr,sptr,int,int,sptr #comfunc global IDWriteFactory3_GetSystemFontSet 35 sptr #comfunc global IDWriteFactory3_CreateFontSetBuilder 36 sptr #comfunc global IDWriteFactory3_CreateFontCollectionFromFontSet 37 sptr,sptr #comfunc global IDWriteFactory3_GetSystemFontCollection 38 int,sptr,int #comfunc global IDWriteFactory3_GetFontDownloadQueue 39 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。