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
不帶正負號字元*類型的變數指標。 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。
傳回值
如果函式成功,則傳回零。
否則,傳回非零值。 如需可能的錯誤傳回,請參閱 字型套件函式錯誤訊息 。
備註
此函式會處理四個不同的相關實體,每個實體都代表子集字型:
單位 | 產生者 | 直接當作字型使用 |
---|---|---|
簡單的工作字型 | CreateFontPackage , 並將 usSubsetFormat 設定為 TFCFP_SUBSET。 | 是 |
字型套件 | CreateFontPackage,並將 usSubsetFormat設定為 TTFCFP_SUBSET1。 | 否 |
差異字型套件 | CreateFontPackage , 並將 usSubsetFormat 設定為 TTFCFP_DELTA。 | No |
可合併的工作字型 | MergeFontPackage 與 usMode 設定為 TTFMFP_SUBSET1 或 TTFMFP_DELTA。 | 是 |
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平臺 | Windows |
標頭 | fontsub.h |
程式庫 | FontSub.lib |
DLL | FontSub.dll |