IXpsOMGlyphs
COM公式ドキュメント
ページに表示されるテキストを記述します。
解説(Remarks)
次のコード例は、このインターフェイスのインスタンスを作成する方法を示しています。
IXpsOMGlyphs *newInterface;
// このインターフェイスはこの例の外部で定義されています
// IXpsOMFontResource *font;
// このスレッドで CoInitializeEx が事前に呼び出されている必要がある
// という暗黙の要件に注意してください。
hr = CoCreateInstance(
__uuidof(XpsOMObjectFactory),
NULL,
CLSCTX_INPROC_SERVER,
_uuidof(IXpsOMObjectFactory),
reinterpret_cast<LPVOID*>(&xpsFactory)
);
if (SUCCEEDED(hr))
{
hr = xpsFactory->CreateGlyphs (font, &newInterface);
if (SUCCEEDED(hr))
{
// newInterface を使用します
newInterface->Release();
}
xpsFactory->Release();
}
else
{
// hr に返された HRESULT エラーを評価します
}
メソッド 27
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
エスケープ解除された UTF-16 スカラー値でテキストを取得します。(IXpsOMGlyphs.GetUnicodeString)
| unicodeString | LPWSTR* | out | 表示するテキストの UTF-16 Unicode 文字列。文字列が空の場合は、NULL ポインターが返されます。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| unicodeString が NULL です。 |
解説(Remarks)
このメソッドは、unicodeString で返される文字列が使用するメモリを割り当てます。unicodeString が NULL でない場合は、CoTaskMemFree 関数を使用してメモリを解放してください。
グリフ インデックスの数を取得します。
| indexCount | DWORD* | out | グリフ インデックスの数。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| indexCount が NULL です。 |
解説(Remarks)
グリフ インデックスは GetGlyphIndices で取得します。
フォント内の個々のグリフ インデックスを記述する XPS_GLYPH_INDEX 構造体の配列を取得します。(IXpsOMGlyphs.GetGlyphIndices)
| indexCount | DWORD* | inout | glyphIndices が参照する配列に格納できる XPS_GLYPH_INDEX 構造体の数。メソッドから制御が戻ると、indexCount には glyphIndices が参照する配列に返された XPS_GLYPH_INDEX 構造体の数が格納されます。 |
| glyphIndices | XPS_GLYPH_INDEX* | inout | グリフ インデックスを受け取る XPS_GLYPH_INDEX 構造体の配列のアドレス。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| indexCount または glyphIndices が NULL です。 | |
| glyphIndices がグリフ インデックス データを受け取るのに十分な大きさではありません。indexCount には必要な要素数が格納されます。 |
解説(Remarks)
グリフ インデックス配列の要素数は GetGlyphIndexCount で取得します。
グリフ インデックスは、UnicodeString からグリフ インデックスへの既定の cmap マッピングを上書きします。XPS_GLYPH_INDEX 構造体には、送り幅 (advance width) のほか、垂直方向および水平方向のオフセット情報も含まれます。
グリフ マッピングの数を取得します。(IXpsOMGlyphs.GetGlyphMappingCount)
| glyphMappingCount | DWORD* | out | グリフ マッピングの数。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| glyphMappingCount が NULL です。 |
解説(Remarks)
グリフ マッピングは GetGlyphMappings で取得します。
UTF-16 スカラー値を、GetGlyphIndices が返す XPS_GLYPH_INDEX 構造体の配列の要素にどのように対応付けるかを記述した、XPS_GLYPH_MAPPING 構造体の配列を取得します。(IXpsOMGlyphs.GetGlyphMappings)
| glyphMappingCount | DWORD* | inout | glyphMappings が参照する配列に格納できる XPS_GLYPH_MAPPING 構造体の数。メソッドから制御が戻ると、glyphMappingCount には glyphMappings が参照する配列に返された値の数が格納されます。 |
| glyphMappings | XPS_GLYPH_MAPPING* | inout | グリフ マッピングの値を格納する XPS_GLYPH_MAPPING 構造体の配列。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| glyphMappingCount、glyphMappings、またはその両方が NULL です。 | |
| glyphMappings がグリフ インデックス データを受け取るのに十分な大きさではありません。glyphMappingCount には必要な要素数が格納されます。 |
解説(Remarks)
グリフ マッピングの数は GetGlyphMappingCount で取得します。
禁止されたキャレット ストップの数を取得します。(IXpsOMGlyphs.GetProhibitedCaretStopCount)
| prohibitedCaretStopCount | DWORD* | out | 禁止されたキャレット ストップの数。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| prohibitedCaretStopCount が NULL です。 |
解説(Remarks)
禁止されたキャレット ストップは GetProhibitedCaretStops で取得します。
各キャレット ストップのインデックスは、UTF-16 の UnicodeString プロパティのスカラー値に対応します。インデックス 0 は UnicodeString の最初の UTF-16 スカラー値の直前の位置を表し、インデックス 1 は 1 番目と 2 番目の UTF-16 スカラー値の間の位置を表します。以降も同様です。UnicodeString の末尾には追加のインデックスがあります。指定されていないインデックスはすべて有効なキャレット ストップ位置です。
禁止されたキャレット ストップ位置の配列を取得します。(IXpsOMGlyphs.GetProhibitedCaretStops)
| prohibitedCaretStopCount | DWORD* | inout | prohibitedCaretStops が参照する配列に格納できる、禁止されたキャレット ストップ位置の数。メソッドから制御が戻ると、prohibitedCaretStopCount には prohibitedCaretStops が参照する配列に返された値の数が格納されます。 |
| prohibitedCaretStops | DWORD* | out | 禁止されたキャレット ストップ位置の配列。定義されていない場合は NULL ポインターが返されます。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| prohibitedCaretStopCount、prohibitedCaretStops、またはその両方が NULL です。 | |
| prohibitedCaretStops が、禁止されたキャレット ストップのデータを受け取るのに十分な大きさではありません。prohibitedCaretStopCount には必要な要素数が格納されます。 |
解説(Remarks)
各キャレット ストップのインデックスは、UTF-16 の UnicodeString プロパティのスカラー値に対応します。インデックス 0 は UnicodeString の最初の UTF-16 スカラー値の直前の位置を表し、インデックス 1 は 1 番目と 2 番目の UTF-16 スカラー値の間の位置を表します。以降も同様です。UnicodeString の末尾には追加のインデックスがあります。指定されていないインデックスはすべて有効なキャレット ストップ位置です。
禁止されたキャレット ストップの数は GetProhibitedCaretStopCount で取得します。
キャレット ストップとは、グリフの UnicodeString プロパティにおける UTF-16 コード ポイントのインデックスです。
双方向テキストのレベルを取得します。
| bidiLevel | DWORD* | out | 双方向テキストのレベル。 範囲: 0~61 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| bidiLevel が NULL です。 |
解説(Remarks)
双方向テキストのレベル (BidiLevel) は、Unicode 双方向アルゴリズムのネスト レベルを指定します。偶数値は左から右へのレイアウトを、奇数値は右から左へのレイアウトを意味し、後者では実行 (run) の原点が最初のグリフの右側に置かれます。送り幅が正の値の場合は左方向に移動するため、後続のグリフは直前のグリフの左側に配置されます。
このプロパティに指定できる値の範囲は 0 以上 61 以下で、既定値は 0 です。
グリフを横倒しに回転させてテキストを描画するかどうかを示すブール値を取得します。(IXpsOMGlyphs.GetIsSideways)
| isSideways | BOOL* | out | グリフを横倒しに回転させてテキストを描画するかどうかを示すブール値。
|
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| isSideways が NULL です。 |
解説(Remarks)
このプロパティの既定値は FALSE です。
デバイス フォントの名前を取得します。(IXpsOMGlyphs.GetDeviceFontName)
| deviceFontName | LPWSTR* | out | エスケープ解除されたデバイス フォント名を格納する文字列。名前が設定されていない場合は NULL ポインターが返されます。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| deviceFontName が NULL です。 |
解説(Remarks)
デバイス フォント名は特定のデバイス フォントを一意に識別するもので、通常はハードウェア ベンダーまたはフォント ベンダーによって定義されます。
エスケープ済みのデバイス フォント名は、オブジェクトのシリアル化時に作成されます。
このメソッドは、deviceFontName で返される文字列が使用するメモリを割り当てます。deviceFontName が NULL でない場合は、CoTaskMemFree 関数を使用してメモリを解放してください。
グリフの描画時に適用されるスタイル シミュレーションを取得します。
| styleSimulations | XPS_STYLE_SIMULATION* | out | 適用されるスタイル シミュレーションを表す XPS_STYLE_SIMULATION 値。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| styleSimulations が NULL です。 |
グリフの描画時に適用されるスタイル シミュレーションを設定します。
| styleSimulations | XPS_STYLE_SIMULATION | in | 適用するスタイル シミュレーションを指定する XPS_STYLE_SIMULATION 値。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| styleSimulations が有効な XPS_STYLE_SIMULATION 値ではありません。 |
テキストの開始位置を取得します。
| origin | XPS_POINT* | out | テキストの開始位置を受け取る XPS_POINT 構造体。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| origin が NULL です。 |
解説(Remarks)
原点は、有効な座標空間の単位で、実行 (run) 内の最初のグリフの x 座標と y 座標を指定します。グリフは、そのベースラインと送りベクトルの先頭側の端が origin.x と origin.y で定義される点と交わるように配置されます。
テキストの開始位置を設定します。
| origin | XPS_POINT* | in | テキストの開始位置として設定する座標を格納した XPS_POINT 構造体。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| origin が NULL です。 | |
| origin.x または origin.y が有効でない浮動小数点値を参照しています。 |
解説(Remarks)
原点は、有効な座標空間の単位で、実行 (run) 内の最初のグリフの x 座標と y 座標を指定します。グリフは、そのベースラインと送りベクトルの先頭側の端が origin.x と origin.y で定義される点と交わるように配置されます。
フォント サイズを取得します。(IXpsOMGlyphs.GetFontRenderingEmSize)
| fontRenderingEmSize | FLOAT* | out | フォント サイズ。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fontRenderingEmSize が NULL です。 |
解説(Remarks)
fontRenderingEmSize で返される em サイズは、描画サーフェイスの単位でフォント サイズを指定します。描画サーフェイスの単位は、有効な座標空間における浮動小数点値として表されます。
新しく作成されたグリフ オブジェクトでは、fontRenderingEmSize の既定値は 10.0 です。
fontRenderingEmSize の値が 0.0 の場合、テキストは表示されません。
テキストのフォント サイズを設定します。
| fontRenderingEmSize | FLOAT | in | フォント サイズ。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fontRenderingEmSize の値が有効ではありません。負でない数値を指定する必要があります。 |
解説(Remarks)
fontRenderingEmSize で返される em サイズは、描画サーフェイスの単位でフォント サイズを指定します。描画サーフェイスの単位は、有効な座標空間の単位における浮動小数点値として表されます。
新しく作成されたグリフ オブジェクトでは、fontRenderingEmSize の既定値は 10.0 です。
fontRenderingEmSize の値が 0.0 の場合、テキストは表示されません。
値が 0.0 の場合、表示されるテキストはありません。
このテキストに必要なフォント リソース オブジェクトの IXpsOMFontResource インターフェイスへのポインターを取得します。
| fontResource | IXpsOMFontResource** | out | フォント リソースの IXpsOMFontResource インターフェイスへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fontResource が NULL です。 |
解説(Remarks)
リソースを XPS OM に読み込んで解析した後、このメソッドが別のリソースに関するエラーを返す場合があります。これは、リソースの読み込み時にすべてのリレーションシップが解析されるためです。
このテキストに必要なフォント リソース オブジェクトの IXpsOMFontResource インターフェイスへのポインターを設定します。
| fontResource | IXpsOMFontResource* | in | 使用する IXpsOMFontResource インターフェイスへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fontResource が NULL です。 | |
| fontResource が、認識されるインターフェイス実装を指していません。XPS ドキュメント API のインターフェイスを独自に実装することはサポートされていません。 |
解説(Remarks)
fontResource を NULL ポインターにすることはできません。グリフ オブジェクトにはフォント リソースが必要です。
使用するフォント フェイスのインデックスを取得します。
| fontFaceIndex | SHORT* | out | フォント フェイスのインデックス値。フォント フェイスが設定されていない場合は -1 が返されます。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fontFaceIndex が NULL です。 |
解説(Remarks)
フォント リソースは GetFontResource メソッドを呼び出して取得します。
フォント フェイスが設定されていない場合、またはフォントがサポートしていない場合は、fontFaceIndex に -1 が返されます。既存の XPS ドキュメント ファイルからグリフを読み込んだ場合、fontFaceIndex の値 -1 は、FontUri 属性に #index フラグメントが含まれていなかったことを示します。
次の FixedPage のマークアップでは、Glyphs 要素の FontUri 属性の値が ../Resources/Fonts/Font.TTF#1 になっています。この場合、GetFontFaceIndex は fontFaceIndex に値 1 を返します。
<FixedPage Height="1056" Width="816" xml:lang="en-US"
xmlns="http://schemas.microsoft.com/xps/2005/06">
<Glyphs
OriginX="96"
OriginY="96"
UnicodeString="This is Page 1!"
FontUri="../Resources/Fonts/Font.TTF#1"
FontRenderingEmSize="16" />
</FixedPage>
使用するフォント フェイスのインデックスを設定します。
| fontFaceIndex | SHORT | in | 使用するフォント フェイスのインデックス値。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fontFaceIndex の値が有効ではありません。-1 以上の整数を指定する必要があります。 |
解説(Remarks)
フォント フェイス インデックス プロパティの既定値は -1 です。これは、フォント インデックスが設定されていないか、フォント リソースが TrueType フォント コレクションではないことを意味します。
この値が指定され、かつ -1 でない場合、シリアル化の際に "#<Index>" がフォント URI に付加されます。ここで <Index> は SetFontFaceIndex で設定された値です。
次の FixedPage のマークアップは、fontFaceIndex に 1 を設定した結果を示しています。Glyphs 要素の FontUri 属性の値が ../Resources/Fonts/Font.TTF#1 となり、フォント フェイスのインデックスが含まれている点に注目してください。
<FixedPage Height="1056" Width="816" xml:lang="en-US"
xmlns="http://schemas.microsoft.com/xps/2005/06">
<Glyphs
OriginX="96"
OriginY="96"
UnicodeString="This is Page 1!"
FontUri="../Resources/Fonts/Font.TTF#1"
FontRenderingEmSize="16" />
</FixedPage>
テキストに使用する塗りつぶしブラシの、解決済みの IXpsOMBrush インターフェイスへのポインターを取得します。
| fillBrush | IXpsOMBrush** | out | テキストに使用する塗りつぶしブラシの、解決済みの IXpsOMBrush インターフェイスへのポインター。塗りつぶしブラシが設定されていない場合は NULL ポインターが返されます。 このパラメーターで返される値は、ブラシを設定するために直前に呼び出されたメソッドによって異なります。
|
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fillBrush が NULL です。 | |
|
SetStrokeBrushLookup で設定されたルックアップ キー名が、ブラシではないオブジェクトを参照しています。 |
|
ルックアップ値と一致するキー名を持つオブジェクトが見つかりませんでした。 |
解説(Remarks)
塗りつぶしブラシは、描画されるグリフの形状を塗りつぶすために使用されます。
テキストに使用する塗りつぶしブラシの、ローカルで共有されない IXpsOMBrush インターフェイスへのポインターを取得します。
| fillBrush | IXpsOMBrush** | out | テキストに使用する塗りつぶしブラシの、ローカルで共有されない IXpsOMBrush インターフェイスへのポインター。塗りつぶしブラシのルックアップ キーが設定されている場合、またはローカルの塗りつぶしブラシが設定されていない場合は、NULL ポインターが返されます。
|
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fillBrush が NULL です。 |
ローカルで共有されない塗りつぶしブラシへの IXpsOMBrush インターフェイス ポインターを設定します。
| fillBrush | IXpsOMBrush* | in | ローカルで共有されない塗りつぶしブラシとして設定する IXpsOMBrush インターフェイス ポインター。NULL ポインターを指定すると、以前に割り当てられたブラシが解放されます。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| fillBrush が、認識されるインターフェイス実装を指していません。XPS ドキュメント API のインターフェイスを独自に実装することはサポートされていません。 |
解説(Remarks)
SetFillBrushLocal を呼び出すと、塗りつぶしブラシのルックアップ キーは解放され、GetFillBrushLookup は key パラメーターに NULL ポインターを返します。次の表は、このプロパティのローカル値とルックアップ値の関係を示しています。
| 直前に呼び出されたメソッド | GetFillBrush が fillBrush に返すオブジェクト | GetFillBrushLocal が fillBrush に返すオブジェクト | GetFillBrushLookup が key に返す文字列 |
|---|---|---|---|
| SetFillBrushLocal (このメソッド) | SetFillBrushLocal で設定されたローカル ブラシ。 | SetFillBrushLocal で設定されたローカル ブラシ。 | NULL ポインター。 |
| SetFillBrushLookup で設定されたキーと一致するルックアップ キーで、リソース ディレクトリから取得される共有ブラシ。 | NULL ポインター。 | SetFillBrushLookup で設定されたルックアップ キー。 | |
| SetFillBrushLocal と SetFillBrushLookup のいずれもまだ呼び出されていない。 | NULL ポインター。 | NULL ポインター。 | NULL ポインター。 |
リソース ディクショナリに格納され、塗りつぶしブラシとして使用される IXpsOMBrush インターフェイスのルックアップ キーを取得します。
| key | LPWSTR* | out | リソース ディクショナリに格納され、塗りつぶしブラシとして使用されるブラシのルックアップ キー。塗りつぶしブラシのルックアップ キーが設定されていない場合、またはローカルの塗りつぶしブラシが設定されている場合は、NULL ポインターが返されます。
|
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| key が NULL です。 |
解説(Remarks)
このメソッドは、key で返される文字列が使用するメモリを割り当てます。key が NULL でない場合は、CoTaskMemFree 関数を使用してメモリを解放してください。
共有される塗りつぶしブラシのルックアップ キー名を設定します。
| key | LPWSTR | in | リソース ディクショナリに格納され、共有の塗りつぶしブラシとして使用されるブラシのキー名を格納した文字列変数。NULL ポインターを指定すると、以前に割り当てられたキー文字列がクリアされます。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| XML Paper Specification に照らして、lookup の値が有効なルックアップ キー文字列ではありません。 | |
| key のルックアップ キー名が、ジオメトリではないオブジェクトを参照しています。 | |
|
key に渡された値と一致するキー名を持つオブジェクトが見つかりませんでした。 |
解説(Remarks)
SetFillBrushLookup を呼び出すと、ローカルの塗りつぶしブラシは解放され、GetFillBrushLocal は fillBrush パラメーターに NULL ポインターを返します。次の表は、このプロパティのローカル値とルックアップ値の関係を示しています。
| 直前に呼び出されたメソッド | GetFillBrush が fillBrush に返すオブジェクト | GetFillBrushLocal が fillBrush に返すオブジェクト | GetFillBrushLookup が key に返す文字列 |
|---|---|---|---|
| SetFillBrushLocal で設定されたローカル ブラシ。 | SetFillBrushLocal で設定されたローカル ブラシ。 | NULL ポインター。 | |
| SetFillBrushLookup (このメソッド) | SetFillBrushLookup で設定されたキーと一致するルックアップ キーで、リソース ディレクトリから取得される共有ブラシ。 | NULL ポインター。 | SetFillBrushLookup で設定されたルックアップ キー。 |
| SetFillBrushLocal と SetFillBrushLookup のいずれもまだ呼び出されていない。 | NULL ポインター。 | NULL ポインター。 | NULL ポインター。 |
オブジェクト内のグリフを編集するために使用する IXpsOMGlyphsEditor インターフェイスへのポインターを取得します。
| editor | IXpsOMGlyphsEditor** | out | IXpsOMGlyphsEditor インターフェイスへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| editor が NULL です。 |
解説(Remarks)
IXpsOMGlyphs インターフェイスの読み取り専用プロパティを編集するには、IXpsOMGlyphsEditor インターフェイスが必要です。
インターフェイスのディープ コピーを作成します。(IXpsOMGlyphs.Clone)
| glyphs | IXpsOMGlyphs** | out | インターフェイスのコピーへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| この操作を実行するのに十分なメモリがありません。 | |
| glyphs が NULL です。 |
解説(Remarks)
このメソッドは、コピーされたインターフェイス内のリソース ポインターを更新しません。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IXpsOMGlyphs "{819B3199-0A5A-4B64-BEC7-A9E17E780DE2}" #usecom global IXpsOMGlyphs IID_IXpsOMGlyphs "{}" #comfunc global IXpsOMGlyphs_GetUnicodeString 30 var #comfunc global IXpsOMGlyphs_GetGlyphIndexCount 31 var #comfunc global IXpsOMGlyphs_GetGlyphIndices 32 var,var #comfunc global IXpsOMGlyphs_GetGlyphMappingCount 33 var #comfunc global IXpsOMGlyphs_GetGlyphMappings 34 var,var #comfunc global IXpsOMGlyphs_GetProhibitedCaretStopCount 35 var #comfunc global IXpsOMGlyphs_GetProhibitedCaretStops 36 var,var #comfunc global IXpsOMGlyphs_GetBidiLevel 37 var #comfunc global IXpsOMGlyphs_GetIsSideways 38 var #comfunc global IXpsOMGlyphs_GetDeviceFontName 39 var #comfunc global IXpsOMGlyphs_GetStyleSimulations 40 var #comfunc global IXpsOMGlyphs_SetStyleSimulations 41 int #comfunc global IXpsOMGlyphs_GetOrigin 42 var #comfunc global IXpsOMGlyphs_SetOrigin 43 var #comfunc global IXpsOMGlyphs_GetFontRenderingEmSize 44 var #comfunc global IXpsOMGlyphs_SetFontRenderingEmSize 45 float #comfunc global IXpsOMGlyphs_GetFontResource 46 sptr #comfunc global IXpsOMGlyphs_SetFontResource 47 sptr #comfunc global IXpsOMGlyphs_GetFontFaceIndex 48 var #comfunc global IXpsOMGlyphs_SetFontFaceIndex 49 int #comfunc global IXpsOMGlyphs_GetFillBrush 50 sptr #comfunc global IXpsOMGlyphs_GetFillBrushLocal 51 sptr #comfunc global IXpsOMGlyphs_SetFillBrushLocal 52 sptr #comfunc global IXpsOMGlyphs_GetFillBrushLookup 53 var #comfunc global IXpsOMGlyphs_SetFillBrushLookup 54 wstr #comfunc global IXpsOMGlyphs_GetGlyphsEditor 55 sptr #comfunc global IXpsOMGlyphs_Clone 56 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IXpsOMGlyphs "{819B3199-0A5A-4B64-BEC7-A9E17E780DE2}" #usecom global IXpsOMGlyphs IID_IXpsOMGlyphs "{}" #comfunc global IXpsOMGlyphs_GetUnicodeString 30 sptr #comfunc global IXpsOMGlyphs_GetGlyphIndexCount 31 sptr #comfunc global IXpsOMGlyphs_GetGlyphIndices 32 sptr,sptr #comfunc global IXpsOMGlyphs_GetGlyphMappingCount 33 sptr #comfunc global IXpsOMGlyphs_GetGlyphMappings 34 sptr,sptr #comfunc global IXpsOMGlyphs_GetProhibitedCaretStopCount 35 sptr #comfunc global IXpsOMGlyphs_GetProhibitedCaretStops 36 sptr,sptr #comfunc global IXpsOMGlyphs_GetBidiLevel 37 sptr #comfunc global IXpsOMGlyphs_GetIsSideways 38 sptr #comfunc global IXpsOMGlyphs_GetDeviceFontName 39 sptr #comfunc global IXpsOMGlyphs_GetStyleSimulations 40 sptr #comfunc global IXpsOMGlyphs_SetStyleSimulations 41 int #comfunc global IXpsOMGlyphs_GetOrigin 42 sptr #comfunc global IXpsOMGlyphs_SetOrigin 43 sptr #comfunc global IXpsOMGlyphs_GetFontRenderingEmSize 44 sptr #comfunc global IXpsOMGlyphs_SetFontRenderingEmSize 45 float #comfunc global IXpsOMGlyphs_GetFontResource 46 sptr #comfunc global IXpsOMGlyphs_SetFontResource 47 sptr #comfunc global IXpsOMGlyphs_GetFontFaceIndex 48 sptr #comfunc global IXpsOMGlyphs_SetFontFaceIndex 49 int #comfunc global IXpsOMGlyphs_GetFillBrush 50 sptr #comfunc global IXpsOMGlyphs_GetFillBrushLocal 51 sptr #comfunc global IXpsOMGlyphs_SetFillBrushLocal 52 sptr #comfunc global IXpsOMGlyphs_GetFillBrushLookup 53 sptr #comfunc global IXpsOMGlyphs_SetFillBrushLookup 54 wstr #comfunc global IXpsOMGlyphs_GetGlyphsEditor 55 sptr #comfunc global IXpsOMGlyphs_Clone 56 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。