MergeFontPackage 関数 (fontsub.h)

MergeFontPackage 関数は、CreateFontPackage によって作成されたフォントを操作します。 名前が示唆するよりも少し柔軟です。 CreateFontPackage によって作成されたすべてのサブセット フォントとフォント パッケージを適切に処理できます。 フォント パッケージを作業フォントに変換し、Delta フォント パッケージを適切に準備された作業フォントにマージできます。

通常、 CreateFontPackage は 、プリンターまたはプリント サーバーに渡すサブセット フォントとフォント パッケージを作成します。 MergeFontPackage は、そのプリンターまたはプリント サーバーで実行されます。

構文

unsigned long MergeFontPackage(
  [in]  const unsigned char  *puchMergeFontBuffer,
  [in]  const unsigned long  ulMergeFontBufferSize,
  [in]  const unsigned char  *puchFontPackageBuffer,
  [in]  const unsigned long  ulFontPackageBufferSize,
  [out] unsigned char        **ppuchDestBuffer,
  [out] unsigned long        *pulDestBufferSize,
  [out] unsigned long        *pulBytesWritten,
  [in]  const unsigned short usMode,
  [in]  CFP_ALLOCPROC        lpfnAllocate,
  [in]  CFP_REALLOCPROC      lpfnReAllocate,
  [in]  CFP_FREEPROC         lpfnFree,
  [in]  void                 *lpvReserved
);

パラメーター

[in] puchMergeFontBuffer

結合するフォントを含むバッファーへのポインター。 これは、 usMode がTTFMFP_DELTAされている場合にのみ使用されます。

[in] ulMergeFontBufferSize

*puchMergeFontBuffer のサイズをバイト単位で指定します。

[in] puchFontPackageBuffer

フォント パッケージを含む バッファーへの ポインター。

[in] ulFontPackageBufferSize

*puchMergeFontBuffer のサイズをバイト単位で指定します。

[out] ppuchDestBuffer

unsigned char* 型の変数へのポインター。 MergeFontPackage 関数は、lpfnAllocate と lpfnReAllocate を使用してバッファー **ppuchDestBuffer を割り当てます。 正常に戻ると、そのバッファーには、結果としてマージまたは展開されたフォントが含まれます。 アプリケーションは、最終的にそのバッファーを解放する役割を担います。

[out] pulDestBufferSize

符号なし long を指します。正常に戻ると、バッファー **ppuchDestBuffer の割り当てられたサイズが指定されます。

[out] pulBytesWritten

符号なし long を指します。正常に戻ると、バッファー **ppuchDestBuffer で実際に使用されるバイト数が指定されます。

[in] usMode

実行するプロセスの種類を指定します。 これらの値のいずれかを選択します。組み合わせることはできません。

意味
TTFMFP_SUBSET
単純な作業フォントをコピーします。以下の解説を参照してください。

puchMergeFontBuffer は無視されます。 puchFontPackageBuffer には、 createFontPackage によって作成 され、 usSubsetFormat が TTFCFP_SUBSET に設定された作業フォントが含まれている必要があります。この作業フォントは 、単に ppuchDestBuffer にコピーされます。

TTFMFP_SUBSET1
フォント パッケージをマージ可能な作業フォントに変換します。以下の解説を参照してください。

puchMergeFontBuffer は無視されます。 puchFontPackageBuffer には、 createFontPackage によって作成 され、 usSubsetFormat がTTFCFP_SUBSET1に設定されたマージ可能な作業フォントが含まれている必要があります。 **ppuchDestBuffer の結果は、後で と結合できる作業フォントになります。

TTFMFP_DELTA
Delta フォント パッケージをマージ可能な作業フォントにマージします。以下の解説を参照してください。

*puchFontPackageBuffer には、usSubsetFormat が TTFCFP_DELTA に設定された CreateFontPackage によって作成されたフォント パッケージが含まれている必要があります。また、puchMergeFontBuffer には、usMode を TTFMFP_SUBSET1 または TTFMFP_DELTA に設定した MergeFontPackage の以前の呼び出しによって作成されたフォント パッケージが含まれている必要があります。 **ppuchDestBuffer で結合された結果のフォントは、後でとマージされる可能性のある作業フォントになります。

[in] lpfnAllocate

ppuchDestBuffer と一時バッファーに初期メモリを割り当てるコールバック関数。

[in] lpfnReAllocate

ppuchDestBuffer と一時バッファーのメモリを再割り当てするコールバック関数。

[in] lpfnFree

lpfnAllocate および lpfnReAllocate によって割り当てられたメモリを解放するコールバック関数。

[in] lpvReserved

NULL に設定する必要があります。

戻り値

関数が成功した場合は、0 を返します。

それ以外の場合は、0 以外の値を返します。 エラーが返される可能性については、「 Font-Package 関数のエラー メッセージ 」を参照してください。

解説

この関数は、それぞれサブセット フォントを表す 4 つの個別の関連エンティティを処理します。

Entity 作成者: フォントとして直接使用できる
シンプルな作業フォント usSubsetFormat を TFCFP_SUBSET に設定した CreateFontPackage はい
フォント パッケージ usSubsetFormat を TTFCFP_SUBSET1 に設定した CreateFontPackage いいえ
デルタ フォント パッケージ usSubsetFormat を TTFCFP_DELTA に設定した CreateFontPackage いいえ
マージ可能な作業フォント usMode を TTFMFP_SUBSET1 または TTFMFP_DELTA に設定した MergeFontPackage はい

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー fontsub.h
Library FontSub.lib
[DLL] FontSub.dll

関連項目

CFP_ALLOCPROC

CFP_FREEPROC

CFP_REALLOCPROC

CreateFontPackage