CreateFontPackage 함수(fontsub.h)
CreateFontPackage 함수는 일반적으로 프린터에 전달하기 위해 지정된 TrueType 글꼴의 하위 집합 버전을 만듭니다. 문서의 뒷부분에 있는 페이지에 첫 번째 페이지에서 사용되지 않은 문자 또는 문자 모양이 필요할 수 있음을 허용하기 위해 이 함수는 초기 하위 집합 글꼴 패키지를 만든 다음 원래 하위 집합 글꼴 패키지와 병합할 수 있는 "Delta" 글꼴 패키지를 만들어 효과적으로 확장할 수 있습니다.
구문
unsigned long CreateFontPackage(
[in] const unsigned char *puchSrcBuffer,
[in] const unsigned long ulSrcBufferSize,
[out] unsigned char **ppuchFontPackageBuffer,
[out] unsigned long *pulFontPackageBufferSize,
[out] unsigned long *pulBytesWritten,
[in] const unsigned short usFlag,
[in] const unsigned short usTTCIndex,
[in] const unsigned short usSubsetFormat,
[in] const unsigned short usSubsetLanguage,
[in] const unsigned short usSubsetPlatform,
[in] const unsigned short usSubsetEncoding,
[in] const unsigned short *pusSubsetKeepList,
[in] const unsigned short usSubsetListCount,
[in] CFP_ALLOCPROC lpfnAllocate,
[in] CFP_REALLOCPROC lpfnReAllocate,
[in] CFP_FREEPROC lpfnFree,
[in] void *lpvReserved
);
매개 변수
[in] puchSrcBuffer
하위 설정될 글꼴을 설명하는 원본 TTF 또는 TTC 데이터가 포함된 버퍼를 가리킵니다.
[in] ulSrcBufferSize
*puchSrcBuffer의 크기(바이트)를 지정합니다.
[out] ppuchFontPackageBuffer
부호 없는 char*형식의 변수를 가리킵니다. CreateFontPackage 함수는 lpfnAllocate 및 lpfnReAllocate를 사용하여 **puchFontPackageBuffer 버퍼를 할당합니다. 반환이 성공적이면 버퍼에 하위 집합 글꼴 또는 글꼴 패키지가 포함됩니다. 애플리케이션은 결국 버퍼를 해제해야 합니다.
[out] pulFontPackageBufferSize
부호 없는 long을 가리키며, 반환이 성공하면 **puchFontPackageBuffer 버퍼의 할당된 크기를 지정합니다.
[out] pulBytesWritten
부호 없는 long을 가리키며, 반환이 성공하면 버퍼 **puchFontPackageBuffer에 실제로 사용되는 바이트 수를 지정합니다.
[in] usFlag
이 글꼴을 하위 설정, 압축 또는 둘 다 지정할지 여부를 지정합니다. TTF 또는 TTC인지 여부; 및 *pusSubsetKeepListrepresents 문자 코드 또는 문자 모양 인덱스 여부입니다. 다음 플래그의 조합을 지정할 수 있습니다.
[in] usTTCIndex
0부터 시작하는 TTC 인덱스입니다. usFlags에서 TTFCFP_FLAGS_TTC 설정된 경우에만 사용됩니다.
[in] usSubsetFormat
만들 파일의 형식입니다. 다음 값 중 하나를 선택합니다. 결합할 수 없습니다.
값 | 의미 |
---|---|
|
나중에 병합할 수 없는 독립 실행형 하위 집합 글꼴을 만듭니다. |
|
나중에 병합할 수 있는 하위 집합 글꼴 패키지를 만듭니다. |
|
이전 하위 집합 글꼴과 병합할 수 있는 델타 글꼴 패키지를 만듭니다. |
[in] usSubsetLanguage
유지할 Name 테이블의 언어입니다. 0으로 설정하면 모든 언어가 유지됩니다. 초기 하위 설정에만 사용됨: 즉, usSubsetFormat 이 TTFCFP_SUBSET 또는 TTFCFP_SUBSET1 있고 TTFCFP_FLAGS_SUBSET 플래그가 usFlags에 설정된 경우에만 사용됩니다.
[in] usSubsetPlatform
usSubsetEncoding과 함께 은 사용할 CMAP를 지정합니다. *pusSubsetKeepList 가 문자 목록인 경우에만 사용됩니다. 즉, usFlags에서 TTFCFP_FLAGS_GLYPHLIST 설정되지 않은 경우에만 사용됩니다. 이 경우 이 CMAP 하위 테이블은 pusSubsetKeepList 에 적용되어 출력 글꼴 또는 글꼴 패키지에 유지할 문자 모양 목록을 만듭니다.
사용하는 경우 다음 값 중 하나를 사용해야 합니다. 결합할 수 없습니다.
값 | 의미 |
---|---|
|
|
|
|
|
|
|
[in] usSubsetEncoding
usSubsetPlatform과 함께 은 사용할 CMAP를 지정합니다. *pusSubsetKeepList 가 문자 목록인 경우에만 사용됩니다. 즉, usFlags에서 TTFCFP_FLAGS_GLYPHLIST 설정되지 않은 경우에만 사용됩니다.
사용하는 경우 다음 값 중 하나를 사용해야 합니다. 결합할 수 없습니다.
[in] pusSubsetKeepList
출력 글꼴 또는 글꼴 패키지에 유지해야 하는 문자 코드 또는 문자 모양 인덱스의 목록을 구성하는 정수 배열을 가리킵니다. 이 목록에 문자 코드가 포함된 경우(즉, usFlags에서 TTFCFP_FLAGS_GLYPHLIST 설정되지 않은 경우) 이 목록은 usSubsetPlatform 및 usSubsetEncoding에서 지정한 Platform-Encoding CMAP에 따라 유니코드 또는 다른 유형의 인코딩일 수 있습니다.
[in] usSubsetListCount
목록 *pusSubsetKeepList의 요소 수입니다.
[in] lpfnAllocate
puchFontPackageBuffer 및 임시 버퍼에 대한 초기 메모리를 할당하는 콜백 함수입니다.
[in] lpfnReAllocate
puchFontPackageBuffer 및 임시 버퍼에 대한 메모리를 재할당하는 콜백 함수입니다.
[in] lpfnFree
lpfnAllocate 및 lpfnReAllocate에서 할당한 메모리를 해제하는 콜백 함수입니다.
[in] lpvReserved
NULL로 설정해야 합니다.
반환 값
함수가 성공하면 는 0을 반환합니다.
그렇지 않으면 0이 아닌 값을 반환합니다. 가능한 오류 반환은 Font-Package 함수 오류 메시지를 참조하세요.
설명
usSubsetFormat에 TTFCFP_SUBSET 값을 지정하면 글꼴 패키지가 아닌 작동하는 글꼴을 직접 만들 수 있습니다. 이렇게 하면 나중에 병합할 수 없지만 병합할 필요가 없는 경우 다운스트림 처리 단계를 건너뜁니다. 글꼴 패키지를 사용하려면 글꼴 패키지를 다시 작업 글꼴로 변환해야 합니다.
usSubsetFormat에 TTFCFP_SUBSET1 값을 지정하여 나중에 병합할 수 있는 글꼴 패키지를 만들 수 있습니다. 예를 들어 애플리케이션이 큰 인쇄 작업을 시작할 때 이 함수를 호출하는 경우를 고려해 보세요. 인쇄 작업을 통해 애플리케이션은 빌드한 하위 집합에 없는 문자 모양이 필요하다는 것을 발견합니다. 애플리케이션은 CreateFontPackage를 다시 호출할 수 있습니다. 이번에는 usSubsetFormat에 대한 TTFCFP_DELTA 값을 지정합니다. 프린터는 MergeFontPackage 를 사용하여 이러한 추가 문자 모양으로 병합할 수 있습니다.
CMAP는 문자 인코딩에서 문자 모양으로 매핑됩니다. *pusSubsetKeepList 가 문자 값 목록인 경우 애플리케이션은 usSubsetPlatform 및 usSubsetEncoding 매개 변수를 사용하여 문자 값을 문자 모양에 매핑할 수 있도록 사용 중인 CMAP 유형을 지정합니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | fontsub.h |
라이브러리 | FontSub.lib |
DLL | FontSub.dll |