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
実行するプロセスの種類を指定します。 これらの値のいずれかを選択します。組み合わせることはできません。
値 | 意味 |
---|---|
|
単純な作業フォントをコピーします。以下の解説を参照してください。
puchMergeFontBuffer は無視されます。 puchFontPackageBuffer には、 createFontPackage によって作成 され、 usSubsetFormat が TTFCFP_SUBSET に設定された作業フォントが含まれている必要があります。この作業フォントは 、単に ppuchDestBuffer にコピーされます。 |
|
フォント パッケージをマージ可能な作業フォントに変換します。以下の解説を参照してください。
puchMergeFontBuffer は無視されます。 puchFontPackageBuffer には、 createFontPackage によって作成 され、 usSubsetFormat がTTFCFP_SUBSET1に設定されたマージ可能な作業フォントが含まれている必要があります。 **ppuchDestBuffer の結果は、後で と結合できる作業フォントになります。 |
|
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 |