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
不帶正負號 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 應該包含 CreateFontPackage 所建立的字型套件 ,並將 usSubsetFormat 設定為 TTFCFP_DELTA, puchMergeFontBuffer 應該包含先前呼叫 MergeFontPackage 所建立的字型套件,並將 usMode 設定為 TTFMFP_SUBSET1 或 TTFMFP_DELTA。 **ppuchDestBuffer 中產生的合併字型將會是一種工作字型,稍後可能會合並。 |
[in] lpfnAllocate
要為 ppuchDestBuffer 和暫存緩衝區配置初始記憶體的回呼函式。
[in] lpfnReAllocate
用於重新配置 ppuchDestBuffer 和暫存緩衝區記憶體的回呼函式。
[in] lpfnFree
回呼函式可釋出 lpfnAllocate 和 lpfnReAllocate所配置的記憶體。
[in] lpvReserved
必須設定為 Null。
傳回值
如果函式成功,則傳回零。
否則,傳回非零值。 如需可能的錯誤傳回,請參閱 字型套件函式錯誤訊息 。
備註
此函式會處理四個不同的相關實體,每個實體都代表子集字型:
實體 | 產生者 | 直接當做字型使用 |
---|---|---|
簡單工作字型 | 將usSubsetFormat設定為 TFCFP_SUBSET 的CreateFontPackage。 | 是 |
字型套件 | 將usSubsetFormat設定為 TTFCFP_SUBSET1 的CreateFontPackage。 | 否 |
差異字型套件 | 將usSubsetFormat設定為 TTFCFP_DELTA 的CreateFontPackage。 | 否 |
可合併的工作字型 | MergeFontPackage 與 usMode 設定為 TTFMFP_SUBSET1 或 TTFMFP_DELTA。 | 是 |
需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | fontsub.h |
程式庫 | FontSub.lib |
Dll | FontSub.dll |