Win32 API 日本語リファレンス
ホームStorage.Xps › IXpsOMGlyphs

IXpsOMGlyphs

COM
IID819b3199-0a5a-4b64-bec7-a9e17e780de2継承元IXpsOMVisual自前メソッド開始 vtbl30

公式ドキュメント

ページに表示されるテキストを記述します。

解説(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。

vtbl 30 HRESULT GetUnicodeString(LPWSTR* unicodeString)

エスケープ解除された UTF-16 スカラー値でテキストを取得します。(IXpsOMGlyphs.GetUnicodeString)

unicodeStringLPWSTR*out表示するテキストの UTF-16 Unicode 文字列。文字列が空の場合は、NULL ポインターが返されます。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
unicodeStringNULL です。

解説(Remarks)

このメソッドは、unicodeString で返される文字列が使用するメモリを割り当てます。unicodeStringNULL でない場合は、CoTaskMemFree 関数を使用してメモリを解放してください。

vtbl 31 HRESULT GetGlyphIndexCount(DWORD* indexCount)

グリフ インデックスの数を取得します。

indexCountDWORD*outグリフ インデックスの数。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
indexCountNULL です。

解説(Remarks)

グリフ インデックスは GetGlyphIndices で取得します。

vtbl 32 HRESULT GetGlyphIndices(DWORD* indexCount, XPS_GLYPH_INDEX* glyphIndices)

フォント内の個々のグリフ インデックスを記述する XPS_GLYPH_INDEX 構造体の配列を取得します。(IXpsOMGlyphs.GetGlyphIndices)

indexCountDWORD*inoutglyphIndices が参照する配列に格納できる XPS_GLYPH_INDEX 構造体の数。メソッドから制御が戻ると、indexCount には glyphIndices が参照する配列に返された XPS_GLYPH_INDEX 構造体の数が格納されます。
glyphIndicesXPS_GLYPH_INDEX*inoutグリフ インデックスを受け取る XPS_GLYPH_INDEX 構造体の配列のアドレス。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
indexCount または glyphIndicesNULL です。
ERROR_MORE_DATA
glyphIndices がグリフ インデックス データを受け取るのに十分な大きさではありません。indexCount には必要な要素数が格納されます。

解説(Remarks)

グリフ インデックス配列の要素数は GetGlyphIndexCount で取得します。

グリフ インデックスは、UnicodeString からグリフ インデックスへの既定の cmap マッピングを上書きします。XPS_GLYPH_INDEX 構造体には、送り幅 (advance width) のほか、垂直方向および水平方向のオフセット情報も含まれます。

vtbl 33 HRESULT GetGlyphMappingCount(DWORD* glyphMappingCount)

グリフ マッピングの数を取得します。(IXpsOMGlyphs.GetGlyphMappingCount)

glyphMappingCountDWORD*outグリフ マッピングの数。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
glyphMappingCountNULL です。

解説(Remarks)

グリフ マッピングは GetGlyphMappings で取得します。

vtbl 34 HRESULT GetGlyphMappings(DWORD* glyphMappingCount, XPS_GLYPH_MAPPING* glyphMappings)

UTF-16 スカラー値を、GetGlyphIndices が返す XPS_GLYPH_INDEX 構造体の配列の要素にどのように対応付けるかを記述した、XPS_GLYPH_MAPPING 構造体の配列を取得します。(IXpsOMGlyphs.GetGlyphMappings)

glyphMappingCountDWORD*inoutglyphMappings が参照する配列に格納できる XPS_GLYPH_MAPPING 構造体の数。メソッドから制御が戻ると、glyphMappingCount には glyphMappings が参照する配列に返された値の数が格納されます。
glyphMappingsXPS_GLYPH_MAPPING*inoutグリフ マッピングの値を格納する XPS_GLYPH_MAPPING 構造体の配列。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
glyphMappingCountglyphMappings、またはその両方が NULL です。
ERROR_MORE_DATA
glyphMappings がグリフ インデックス データを受け取るのに十分な大きさではありません。glyphMappingCount には必要な要素数が格納されます。

解説(Remarks)

グリフ マッピングの数は GetGlyphMappingCount で取得します。

vtbl 35 HRESULT GetProhibitedCaretStopCount(DWORD* prohibitedCaretStopCount)

禁止されたキャレット ストップの数を取得します。(IXpsOMGlyphs.GetProhibitedCaretStopCount)

prohibitedCaretStopCountDWORD*out禁止されたキャレット ストップの数。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
prohibitedCaretStopCountNULL です。

解説(Remarks)

禁止されたキャレット ストップは GetProhibitedCaretStops で取得します。

各キャレット ストップのインデックスは、UTF-16 の UnicodeString プロパティのスカラー値に対応します。インデックス 0 は UnicodeString の最初の UTF-16 スカラー値の直前の位置を表し、インデックス 1 は 1 番目と 2 番目の UTF-16 スカラー値の間の位置を表します。以降も同様です。UnicodeString の末尾には追加のインデックスがあります。指定されていないインデックスはすべて有効なキャレット ストップ位置です。

vtbl 36 HRESULT GetProhibitedCaretStops(DWORD* prohibitedCaretStopCount, DWORD* prohibitedCaretStops)

禁止されたキャレット ストップ位置の配列を取得します。(IXpsOMGlyphs.GetProhibitedCaretStops)

prohibitedCaretStopCountDWORD*inoutprohibitedCaretStops が参照する配列に格納できる、禁止されたキャレット ストップ位置の数。メソッドから制御が戻ると、prohibitedCaretStopCount には prohibitedCaretStops が参照する配列に返された値の数が格納されます。
prohibitedCaretStopsDWORD*out禁止されたキャレット ストップ位置の配列。定義されていない場合は NULL ポインターが返されます。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
prohibitedCaretStopCountprohibitedCaretStops、またはその両方が NULL です。
ERROR_MORE_DATA
prohibitedCaretStops が、禁止されたキャレット ストップのデータを受け取るのに十分な大きさではありません。prohibitedCaretStopCount には必要な要素数が格納されます。

解説(Remarks)

各キャレット ストップのインデックスは、UTF-16 の UnicodeString プロパティのスカラー値に対応します。インデックス 0 は UnicodeString の最初の UTF-16 スカラー値の直前の位置を表し、インデックス 1 は 1 番目と 2 番目の UTF-16 スカラー値の間の位置を表します。以降も同様です。UnicodeString の末尾には追加のインデックスがあります。指定されていないインデックスはすべて有効なキャレット ストップ位置です。

禁止されたキャレット ストップの数は GetProhibitedCaretStopCount で取得します。

キャレット ストップとは、グリフの UnicodeString プロパティにおける UTF-16 コード ポイントのインデックスです。

vtbl 37 HRESULT GetBidiLevel(DWORD* bidiLevel)

双方向テキストのレベルを取得します。

bidiLevelDWORD*out

双方向テキストのレベル。

範囲: 0~61

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
bidiLevelNULL です。

解説(Remarks)

双方向テキストのレベル (BidiLevel) は、Unicode 双方向アルゴリズムのネスト レベルを指定します。偶数値は左から右へのレイアウトを、奇数値は右から左へのレイアウトを意味し、後者では実行 (run) の原点が最初のグリフの右側に置かれます。送り幅が正の値の場合は左方向に移動するため、後続のグリフは直前のグリフの左側に配置されます。

このプロパティに指定できる値の範囲は 0 以上 61 以下で、既定値は 0 です。

vtbl 38 HRESULT GetIsSideways(BOOL* isSideways)

グリフを横倒しに回転させてテキストを描画するかどうかを示すブール値を取得します。(IXpsOMGlyphs.GetIsSideways)

isSidewaysBOOL*out

グリフを横倒しに回転させてテキストを描画するかどうかを示すブール値。

意味
TRUE
グリフを横倒しに描画し、横倒しのテキストを生成します。
FALSE
グリフを横倒しに描画せず、通常のテキストを生成します。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
isSidewaysNULL です。

解説(Remarks)

このプロパティの既定値は FALSE です。

vtbl 39 HRESULT GetDeviceFontName(LPWSTR* deviceFontName)

デバイス フォントの名前を取得します。(IXpsOMGlyphs.GetDeviceFontName)

deviceFontNameLPWSTR*outエスケープ解除されたデバイス フォント名を格納する文字列。名前が設定されていない場合は NULL ポインターが返されます。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
deviceFontNameNULL です。

解説(Remarks)

デバイス フォント名は特定のデバイス フォントを一意に識別するもので、通常はハードウェア ベンダーまたはフォント ベンダーによって定義されます。

エスケープ済みのデバイス フォント名は、オブジェクトのシリアル化時に作成されます。

このメソッドは、deviceFontName で返される文字列が使用するメモリを割り当てます。deviceFontNameNULL でない場合は、CoTaskMemFree 関数を使用してメモリを解放してください。

vtbl 40 HRESULT GetStyleSimulations(XPS_STYLE_SIMULATION* styleSimulations)

グリフの描画時に適用されるスタイル シミュレーションを取得します。

styleSimulationsXPS_STYLE_SIMULATION*out適用されるスタイル シミュレーションを表す XPS_STYLE_SIMULATION 値。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
styleSimulationsNULL です。
vtbl 41 HRESULT SetStyleSimulations(XPS_STYLE_SIMULATION styleSimulations)

グリフの描画時に適用されるスタイル シミュレーションを設定します。

styleSimulationsXPS_STYLE_SIMULATIONin適用するスタイル シミュレーションを指定する XPS_STYLE_SIMULATION 値。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
styleSimulations が有効な XPS_STYLE_SIMULATION 値ではありません。
vtbl 42 HRESULT GetOrigin(XPS_POINT* origin)

テキストの開始位置を取得します。

originXPS_POINT*outテキストの開始位置を受け取る XPS_POINT 構造体。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
originNULL です。

解説(Remarks)

原点は、有効な座標空間の単位で、実行 (run) 内の最初のグリフの x 座標と y 座標を指定します。グリフは、そのベースラインと送りベクトルの先頭側の端が origin.xorigin.y で定義される点と交わるように配置されます。

vtbl 43 HRESULT SetOrigin(XPS_POINT* origin)

テキストの開始位置を設定します。

originXPS_POINT*inテキストの開始位置として設定する座標を格納した XPS_POINT 構造体。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
originNULL です。
E_INVALIDARG
origin.x または origin.y が有効でない浮動小数点値を参照しています。

解説(Remarks)

原点は、有効な座標空間の単位で、実行 (run) 内の最初のグリフの x 座標と y 座標を指定します。グリフは、そのベースラインと送りベクトルの先頭側の端が origin.xorigin.y で定義される点と交わるように配置されます。

vtbl 44 HRESULT GetFontRenderingEmSize(FLOAT* fontRenderingEmSize)

フォント サイズを取得します。(IXpsOMGlyphs.GetFontRenderingEmSize)

fontRenderingEmSizeFLOAT*outフォント サイズ。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
fontRenderingEmSizeNULL です。

解説(Remarks)

fontRenderingEmSize で返される em サイズは、描画サーフェイスの単位でフォント サイズを指定します。描画サーフェイスの単位は、有効な座標空間における浮動小数点値として表されます。

新しく作成されたグリフ オブジェクトでは、fontRenderingEmSize の既定値は 10.0 です。

fontRenderingEmSize の値が 0.0 の場合、テキストは表示されません。

vtbl 45 HRESULT SetFontRenderingEmSize(FLOAT fontRenderingEmSize)

テキストのフォント サイズを設定します。

fontRenderingEmSizeFLOATinフォント サイズ。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
fontRenderingEmSize の値が有効ではありません。負でない数値を指定する必要があります。

解説(Remarks)

fontRenderingEmSize で返される em サイズは、描画サーフェイスの単位でフォント サイズを指定します。描画サーフェイスの単位は、有効な座標空間の単位における浮動小数点値として表されます。

新しく作成されたグリフ オブジェクトでは、fontRenderingEmSize の既定値は 10.0 です。

fontRenderingEmSize の値が 0.0 の場合、テキストは表示されません。

値が 0.0 の場合、表示されるテキストはありません。

vtbl 46 HRESULT GetFontResource(IXpsOMFontResource** fontResource)

このテキストに必要なフォント リソース オブジェクトの IXpsOMFontResource インターフェイスへのポインターを取得します。

fontResourceIXpsOMFontResource**outフォント リソースの IXpsOMFontResource インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
fontResourceNULL です。

解説(Remarks)

リソースを XPS OM に読み込んで解析した後、このメソッドが別のリソースに関するエラーを返す場合があります。これは、リソースの読み込み時にすべてのリレーションシップが解析されるためです。

vtbl 47 HRESULT SetFontResource(IXpsOMFontResource* fontResource)

このテキストに必要なフォント リソース オブジェクトの IXpsOMFontResource インターフェイスへのポインターを設定します。

fontResourceIXpsOMFontResource*in使用する IXpsOMFontResource インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
fontResourceNULL です。
XPS_E_NO_CUSTOM_OBJECTS
fontResource が、認識されるインターフェイス実装を指していません。XPS ドキュメント API のインターフェイスを独自に実装することはサポートされていません。

解説(Remarks)

fontResourceNULL ポインターにすることはできません。グリフ オブジェクトにはフォント リソースが必要です。

vtbl 48 HRESULT GetFontFaceIndex(SHORT* fontFaceIndex)

使用するフォント フェイスのインデックスを取得します。

fontFaceIndexSHORT*outフォント フェイスのインデックス値。フォント フェイスが設定されていない場合は -1 が返されます。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
fontFaceIndexNULL です。

解説(Remarks)

フォント リソースは GetFontResource メソッドを呼び出して取得します。

フォント フェイスが設定されていない場合、またはフォントがサポートしていない場合は、fontFaceIndex に -1 が返されます。既存の XPS ドキュメント ファイルからグリフを読み込んだ場合、fontFaceIndex の値 -1 は、FontUri 属性に #index フラグメントが含まれていなかったことを示します。

次の FixedPage のマークアップでは、Glyphs 要素の FontUri 属性の値が ../Resources/Fonts/Font.TTF#1 になっています。この場合、GetFontFaceIndexfontFaceIndex に値 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>
vtbl 49 HRESULT SetFontFaceIndex(SHORT fontFaceIndex)

使用するフォント フェイスのインデックスを設定します。

fontFaceIndexSHORTin使用するフォント フェイスのインデックス値。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
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>
vtbl 50 HRESULT GetFillBrush(IXpsOMBrush** fillBrush)

テキストに使用する塗りつぶしブラシの、解決済みの IXpsOMBrush インターフェイスへのポインターを取得します。

fillBrushIXpsOMBrush**out

テキストに使用する塗りつぶしブラシの、解決済みの IXpsOMBrush インターフェイスへのポインター。塗りつぶしブラシが設定されていない場合は NULL ポインターが返されます。

このパラメーターで返される値は、ブラシを設定するために直前に呼び出されたメソッドによって異なります。

直前に呼び出されたメソッド fillBrush に返されるオブジェクト

SetFillBrushLocal

SetFillBrushLocal で設定されたローカル ブラシ。

SetFillBrushLookup

SetFillBrushLookup で設定されたキーと一致するルックアップ キーで、ローカル ディレクトリまたはリソース ディレクトリから取得された共有ブラシ。
SetFillBrushLocalSetFillBrushLookup のいずれもまだ呼び出されていない。 NULL ポインター。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
fillBrushNULL です。
XPS_E_LOOKUP_INVALID_TYPE
SetStrokeBrushLookup で設定されたルックアップ キー名が、ブラシではないオブジェクトを参照しています。
XPS_E_LOOKUP_NOT_FOUND
ルックアップ値と一致するキー名を持つオブジェクトが見つかりませんでした。

解説(Remarks)

塗りつぶしブラシは、描画されるグリフの形状を塗りつぶすために使用されます。

vtbl 51 HRESULT GetFillBrushLocal(IXpsOMBrush** fillBrush)

テキストに使用する塗りつぶしブラシの、ローカルで共有されない IXpsOMBrush インターフェイスへのポインターを取得します。

fillBrushIXpsOMBrush**out

テキストに使用する塗りつぶしブラシの、ローカルで共有されない IXpsOMBrush インターフェイスへのポインター。塗りつぶしブラシのルックアップ キーが設定されている場合、またはローカルの塗りつぶしブラシが設定されていない場合は、NULL ポインターが返されます。

直前に呼び出されたメソッド fillBrush に返されるオブジェクト

SetFillBrushLocal

SetFillBrushLocal で設定されたローカル ブラシ。

SetFillBrushLookup

NULL ポインター。
SetFillBrushLocalSetFillBrushLookup のいずれもまだ呼び出されていない。 NULL ポインター。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
fillBrushNULL です。
vtbl 52 HRESULT SetFillBrushLocal(IXpsOMBrush* fillBrush)

ローカルで共有されない塗りつぶしブラシへの IXpsOMBrush インターフェイス ポインターを設定します。

fillBrushIXpsOMBrush*inローカルで共有されない塗りつぶしブラシとして設定する IXpsOMBrush インターフェイス ポインター。NULL ポインターを指定すると、以前に割り当てられたブラシが解放されます。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_NO_CUSTOM_OBJECTS
fillBrush が、認識されるインターフェイス実装を指していません。XPS ドキュメント API のインターフェイスを独自に実装することはサポートされていません。

解説(Remarks)

SetFillBrushLocal を呼び出すと、塗りつぶしブラシのルックアップ キーは解放され、GetFillBrushLookupkey パラメーターに NULL ポインターを返します。次の表は、このプロパティのローカル値とルックアップ値の関係を示しています。

直前に呼び出されたメソッド GetFillBrushfillBrush に返すオブジェクト GetFillBrushLocalfillBrush に返すオブジェクト GetFillBrushLookupkey に返す文字列
SetFillBrushLocal (このメソッド) SetFillBrushLocal で設定されたローカル ブラシ。 SetFillBrushLocal で設定されたローカル ブラシ。 NULL ポインター。

SetFillBrushLookup

SetFillBrushLookup で設定されたキーと一致するルックアップ キーで、リソース ディレクトリから取得される共有ブラシ。 NULL ポインター。 SetFillBrushLookup で設定されたルックアップ キー。
SetFillBrushLocalSetFillBrushLookup のいずれもまだ呼び出されていない。 NULL ポインター。 NULL ポインター。 NULL ポインター。
vtbl 53 HRESULT GetFillBrushLookup(LPWSTR* key)

リソース ディクショナリに格納され、塗りつぶしブラシとして使用される IXpsOMBrush インターフェイスのルックアップ キーを取得します。

keyLPWSTR*out

リソース ディクショナリに格納され、塗りつぶしブラシとして使用されるブラシのルックアップ キー。塗りつぶしブラシのルックアップ キーが設定されていない場合、またはローカルの塗りつぶしブラシが設定されている場合は、NULL ポインターが返されます。

直前に呼び出されたメソッド key に返される文字列

SetFillBrushLocal

NULL ポインター。

SetFillBrushLookup

SetFillBrushLookup で設定されたルックアップ キー。
SetFillBrushLocalSetFillBrushLookup のいずれもまだ呼び出されていない。 NULL ポインター。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
keyNULL です。

解説(Remarks)

このメソッドは、key で返される文字列が使用するメモリを割り当てます。keyNULL でない場合は、CoTaskMemFree 関数を使用してメモリを解放してください。

vtbl 54 HRESULT SetFillBrushLookup(LPWSTR key)

共有される塗りつぶしブラシのルックアップ キー名を設定します。

keyLPWSTRinリソース ディクショナリに格納され、共有の塗りつぶしブラシとして使用されるブラシのキー名を格納した文字列変数。NULL ポインターを指定すると、以前に割り当てられたキー文字列がクリアされます。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_INVALID_RESOURCE_KEY
XML Paper Specification に照らして、lookup の値が有効なルックアップ キー文字列ではありません。
XPS_E_INVALID_LOOKUP_TYPE
key のルックアップ キー名が、ジオメトリではないオブジェクトを参照しています。
XPS_E_LOOKUP_NOT_FOUND
key に渡された値と一致するキー名を持つオブジェクトが見つかりませんでした。

解説(Remarks)

SetFillBrushLookup を呼び出すと、ローカルの塗りつぶしブラシは解放され、GetFillBrushLocalfillBrush パラメーターに NULL ポインターを返します。次の表は、このプロパティのローカル値とルックアップ値の関係を示しています。

直前に呼び出されたメソッド GetFillBrushfillBrush に返すオブジェクト GetFillBrushLocalfillBrush に返すオブジェクト GetFillBrushLookupkey に返す文字列

SetFillBrushLocal

SetFillBrushLocal で設定されたローカル ブラシ。 SetFillBrushLocal で設定されたローカル ブラシ。 NULL ポインター。
SetFillBrushLookup (このメソッド) SetFillBrushLookup で設定されたキーと一致するルックアップ キーで、リソース ディレクトリから取得される共有ブラシ。 NULL ポインター。 SetFillBrushLookup で設定されたルックアップ キー。
SetFillBrushLocalSetFillBrushLookup のいずれもまだ呼び出されていない。 NULL ポインター。 NULL ポインター。 NULL ポインター。
vtbl 55 HRESULT GetGlyphsEditor(IXpsOMGlyphsEditor** editor)

オブジェクト内のグリフを編集するために使用する IXpsOMGlyphsEditor インターフェイスへのポインターを取得します。

editorIXpsOMGlyphsEditor**outIXpsOMGlyphsEditor インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
editorNULL です。

解説(Remarks)

IXpsOMGlyphs インターフェイスの読み取り専用プロパティを編集するには、IXpsOMGlyphsEditor インターフェイスが必要です。

vtbl 56 HRESULT Clone(IXpsOMGlyphs** glyphs)

インターフェイスのディープ コピーを作成します。(IXpsOMGlyphs.Clone)

glyphsIXpsOMGlyphs**outインターフェイスのコピーへのポインター。

戻り値

このメソッドは HRESULT を返します。指定される値には、以下の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS ドキュメントのエラーを参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
この操作を実行するのに十分なメモリがありません。
E_POINTER
glyphsNULL です。

解説(Remarks)

このメソッドは、コピーされたインターフェイス内のリソース ポインターを更新しません。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_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 指定が可能。