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

IDWriteTextAnalyzer2

COM
IID553a9ff3-5693-4df7-b52b-74806f7f2eb9継承元IDWriteTextAnalyzer1自前メソッド開始 vtbl19

メソッド 3

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

vtbl 19 HRESULT GetGlyphOrientationTransform(DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle, BOOL isSideways, FLOAT originX, FLOAT originY, DWRITE_MATRIX* transform)
glyphOrientationAngleDWRITE_GLYPH_ORIENTATION_ANGLEinグリフの回転角度(0/90/180/270度)を指定する列挙値。
isSidewaysBOOLin横倒し表示するか否かのフラグ。
originXFLOATin回転の基準となる原点のX座標(DIP)。
originYFLOATin回転の基準となる原点のY座標(DIP)。
transformDWRITE_MATRIX*out原点を考慮した回転変換行列を受け取る構造体へのポインタ(出力)。
vtbl 20 HRESULT GetTypographicFeatures(IDWriteFontFace* fontFace, DWRITE_SCRIPT_ANALYSIS scriptAnalysis, LPWSTR localeName, DWORD maxTagCount, DWORD* actualTagCount, DWRITE_FONT_FEATURE_TAG* tags)
fontFaceIDWriteFontFace*in機能を問い合わせるフォントフェイス。
scriptAnalysisDWRITE_SCRIPT_ANALYSISin対象テキストのスクリプト解析結果を表す構造体。
localeNameLPWSTRinoptionalテキストのロケール名。NULL可。
maxTagCountDWORDintags配列の最大要素数。
actualTagCountDWORD*out実際の機能タグ数を受け取るポインタ(出力)。容量不足時に必要数が返る。
tagsDWRITE_FONT_FEATURE_TAG*outサポートされるOpenType機能タグを受け取る配列(出力)。
vtbl 21 HRESULT CheckTypographicFeature(IDWriteFontFace* fontFace, DWRITE_SCRIPT_ANALYSIS scriptAnalysis, LPWSTR localeName, DWRITE_FONT_FEATURE_TAG featureTag, DWORD glyphCount, WORD* glyphIndices, BYTE* featureApplies)
fontFaceIDWriteFontFace*in機能適用を確認するフォントフェイス。
scriptAnalysisDWRITE_SCRIPT_ANALYSISin対象テキストのスクリプト解析結果を表す構造体。
localeNameLPWSTRinoptionalテキストのロケール名。NULL可。
featureTagDWRITE_FONT_FEATURE_TAGin確認対象のOpenType機能タグ。
glyphCountDWORDin確認するグリフの個数。
glyphIndicesWORD*in確認対象のグリフインデックスの配列。
featureAppliesBYTE*out各グリフに当該機能が適用されるかを受け取るバイト配列(出力)。

HSP用 COM定義

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

出力引数:
#define global IID_IDWriteTextAnalyzer2 "{553A9FF3-5693-4DF7-B52B-74806F7F2EB9}"
#usecom global IDWriteTextAnalyzer2 IID_IDWriteTextAnalyzer2 "{}"
#comfunc global IDWriteTextAnalyzer2_GetGlyphOrientationTransform  19 int,int,float,float,var
#comfunc global IDWriteTextAnalyzer2_GetTypographicFeatures        20 sptr,int,wstr,int,var,var
#comfunc global IDWriteTextAnalyzer2_CheckTypographicFeature       21 sptr,int,wstr,int,int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。