Функция MergeFontPackage (fontsub.h)
Функция MergeFontPackage управляет шрифтами, созданными с помощью CreateFontPackage. Он немного более гибок, чем можно предположить в названии: он может соответствующим образом обрабатывать все подмножества шрифтов и пакеты шрифтов, созданные CreateFontPackage. Он может превратить пакет шрифта в рабочий шрифт и объединить пакет разностных шрифтов с соответствующим образом подготовленным рабочим шрифтом.
Как правило, 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
Указатель на буфер, содержащий шрифт для слияния. Используется только в том случае , если TTFMFP_DELTA usMode .
[in] ulMergeFontBufferSize
Задает размер *puchMergeFontBuffer в байтах.
[in] puchFontPackageBuffer
Указатель на буфер, содержащий пакет шрифта.
[in] ulFontPackageBufferSize
Задает размер *puchMergeFontBuffer в байтах.
[out] ppuchDestBuffer
Указатель на переменную типа unsigned char*. Функция MergeFontPackage выделяет буфер **ppuchDestBuffer с помощью lpfnAllocate и lpfnReAllocate. При успешном возвращении этот буфер будет содержать полученный объединенный или развернутый шрифт. Приложение отвечает за окончательное освобождение этого буфера.
[out] pulDestBufferSize
Указывает на неподписанный объект long, который при успешном возвращении будет указывать выделенный размер буфера **ppuchDestBuffer.
[out] pulBytesWritten
Указывает на неподписанный объект long, который при успешном возвращении будет указывать количество байтов, фактически используемых в буфере **ppuchDestBuffer.
[in] usMode
Указывает тип выполняемого процесса. Выберите одно из этих значений. их нельзя объединить.
Значение | Значение |
---|---|
|
Копирует простой рабочий шрифт; см. примечания ниже.
puchMergeFontBuffer будет игнорироваться; puchFontPackageBuffer должен содержать рабочий шрифт, созданный с помощью CreateFontPackage с параметром usSubsetFormat , равным TTFCFP_SUBSET; этот рабочий шрифт будет просто скопирован в ppuchDestBuffer. |
|
Преобразует пакет шрифтов в рабочий шрифт, доступный для объединения; см. примечания ниже.
puchMergeFontBuffer будет игнорироваться; puchFontPackageBuffer должен содержать объединяемый рабочий шрифт , созданный createFontPackage с параметром usSubsetFormat , для TTFCFP_SUBSET1. Результатом в **ppuchDestBuffer будет рабочий шрифт, который может быть объединен с позже. |
|
Объединяет пакет разностных шрифтов в рабочий шрифт, доступный для объединения; см. примечания ниже.
*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.
Возвращаемое значение
Если функция выполнена успешно, возвращает ноль.
В противном случае возвращается ненулевое значение. Сведения о возможных ошибках см. в статье Font-Package Function Messages (Сообщения об ошибках функции Font-Package ).
Комментарии
Эта функция обрабатывает четыре отдельные связанные сущности, каждая из которых представляет шрифт подмножества:
Сущность | Производится | Возможность непосредственного использования в качестве шрифта |
---|---|---|
Простой рабочий шрифт | CreateFontPackage с параметром usSubsetFormat , для TFCFP_SUBSET. | Да |
Пакет шрифтов | CreateFontPackage с параметром usSubsetFormat , для TTFCFP_SUBSET1. | Нет |
Пакет разностных шрифтов | CreateFontPackage с параметром usSubsetFormat , для TTFCFP_DELTA. | Нет |
Объединяемый рабочий шрифт | MergeFontPackage с usMode , для TTFMFP_SUBSET1 или TTFMFP_DELTA. | Да |
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | fontsub.h |
Библиотека | FontSub.lib |
DLL | FontSub.dll |