다음을 통해 공유


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

병합할 글꼴이 포함된 버퍼에 대한 포인터입니다. 이는 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

수행할 프로세스의 종류를 지정합니다. 다음 값 중 하나를 선택합니다. 결합할 수 없습니다.

의미
TTFMFP_SUBSET
간단한 작업 글꼴을 복사합니다. 아래의 설명을 참조하세요.

puchMergeFontBuffer는 무시됩니다. puchFontPackageBuffer에는 usSubsetFormat이 TTFCFP_SUBSET 설정된 CreateFontPackage에서 만든 작업 글꼴이 포함되어야 합니다. 이 작업 글꼴은 단순히 ppuchDestBuffer에 복사됩니다.

TTFMFP_SUBSET1
글꼴 패키지를 병합 가능한 작업 글꼴로 바꿉니다. 아래의 설명을 참조하세요.

puchMergeFontBuffer는 무시됩니다. puchFontPackageBuffer에는 usSubsetFormat이 TTFCFP_SUBSET1 설정된 CreateFontPackage에서 만든 병합 가능한 작업 글꼴이 포함되어야 합니다. **ppuchDestBuffer 의 결과는 나중에 병합할 수 있는 작업 글꼴입니다.

TTFMFP_DELTA
델타 글꼴 패키지를 병합 가능한 작업 글꼴로 병합합니다. 아래의 설명을 참조하세요.

*puchFontPackageBufferusSubsetFormat이 TTFCFP_DELTA 설정된 CreateFontPackage에서 만든 글꼴 패키지를 포함해야 하며 puchMergeFontBufferusMode가 TTFMFP_SUBSET1 또는 TTFMFP_DELTA 설정된 MergeFontPackage에 대한 이전 호출에서 만든 글꼴 패키지를 포함해야 합니다. **ppuchDestBuffer 에서 병합된 결과 글꼴은 나중에 병합할 수 있는 작업 글꼴입니다.

[in] lpfnAllocate

ppuchDestBuffer 및 임시 버퍼에 초기 메모리를 할당하는 콜백 함수입니다.

[in] lpfnReAllocate

ppuchDestBuffer 및 임시 버퍼에 대한 메모리를 다시 할당하는 콜백 함수입니다.

[in] lpfnFree

lpfnAllocate 및 lpfnReAllocate에서 할당한 메모리를 해제하는 콜백 함수입니다.

[in] lpvReserved

NULL로 설정해야 합니다.

반환 값

함수가 성공하면 는 0을 반환합니다.

그렇지 않으면 0이 아닌 값을 반환합니다. 가능한 오류 반환은 Font-Package 함수 오류 메시지를 참조하세요.

설명

이 함수는 각각 하위 집합 글꼴을 나타내는 네 개의 고유한 관련 엔터티를 처리합니다.

엔터티 제작자: 글꼴로 직접 사용할 수 있습니다.
간단한 작업 글꼴 usSubsetFormat이 TFCFP_SUBSET 설정된 CreateFontPackage. Yes
글꼴 패키지 usSubsetFormat이 TTFCFP_SUBSET1 설정된 CreateFontPackage. No
델타 글꼴 패키지 usSubsetFormat이 TTFCFP_DELTA 설정된 CreateFontPackage. No
병합 가능한 작업 글꼴 usMode가 TTFMFP_SUBSET1 또는 TTFMFP_DELTA 설정된 MergeFontPackage. Yes

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 fontsub.h
라이브러리 FontSub.lib
DLL FontSub.dll

추가 정보

CFP_ALLOCPROC

CFP_FREEPROC

CFP_REALLOCPROC

CreateFontPackage