사용자 지정된 글꼴 관리

중요

인쇄 지원 앱(PSA)과 함께 Microsoft의 IPP 받은 편지함 클래스 드라이버를 사용하여 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하는 것이 좋습니다.

자세한 내용은 인쇄 지원 앱 디자인 가이드를 참조하세요.

PCL 프린터의 경우 Unidrv는 소프트 글꼴을 비트맵 또는 TrueType 개요로 다운로드할 수 있습니다. 장치 글꼴의 경우 Unidrv는 PCL, CAPSL 및 PPDS 프린터 명령 형식을 지원합니다. 다른 형식의 경우 렌더링 플러그 인에 사용자 지정된 글꼴 관리 코드를 제공해야 합니다. 다음 IPrintOemUni 메서드 집합을 구현할 수 있습니다.

IPrintOemUni::D ownloadFontHeader
Unidrv에서 소프트 글꼴의 머리글 정보를 가져온 다음 프린터에 정보를 다운로드하는 데 사용됩니다.

IPrintOemUni::D ownloadCharGlyph
소프트 글꼴의 문자 모양을 프린터로 다운로드하는 데 사용됩니다.

IPrintOemUni::OutputCharStr
문자 인쇄를 제어하는 데 사용됩니다.

IPrintOemUni::SendFontCmd
프린터의 디바이스 글꼴 선택 명령을 수정하는 데 사용되며 필요한 경우 프린터로 보냅니다.

IPrintOemUni::TextOutAsBitmap
텍스트 문자열의 비트맵 이미지를 만드는 데 사용됩니다.

IPrintOemUni::TTDownloadMethod
지정된 소프트 글꼴을 프린터로 보낼 때 Unidrv에서 사용해야 하는 문자 모양 형식을 지정하는 데 사용됩니다.

Unidrv는 렌더링 플러그 인이 를 호출하여 글꼴 또는 문자 모양 정보를 가져올 수 있는 콜백 함수 UNIFONTOBJGetInfo를 제공합니다.

디바이스 글꼴의 경우 Unidrv 글꼴 메트릭 파일 섹션 및 문자 모양 변환 테이블 파일 섹션에 설명된 대로 글꼴 설명을 제공해야 합니다.

카트리지 글꼴의 경우 리소스 DLL에 글꼴 설명을 제공하고 GPD 파일의 글꼴 카트리지 항목을 사용하여 지정할 수 있습니다. 글꼴 설명은 Unidrv 글꼴 형식 파일 형식으로 제공할 수도 있습니다.

다운로드 가능한 PCL 소프트 글꼴의 경우 Unidrv 글꼴 서식 파일 섹션에 설명된 대로 글꼴 설명을 제공해야 합니다.

Unidrv 글꼴 메트릭 파일

프린터에서 지원하는 각 디바이스 글꼴은 Unidrv 글꼴 메트릭(.ufm) 파일을 나타냅니다. .ufm 파일은 Unidrv 글꼴 메트릭 구조에 설명된 구조를 사용하여 생성된 이진 파일입니다. .ufm 파일의 첫 번째 구조체는 파일의 다른 구조체에 대한 오프셋을 포함하는 UNIFM_HDR. 다음 그림에서는 Unidrv 글꼴 메트릭 파일의 레이아웃을 보여 줍니다.

unidrv 글꼴 메트릭 파일의 레이아웃을 보여 주는 다이어그램

Unidrv는 Windows NT 4.0용으로 만든 글꼴 메트릭 파일인 .ifi 파일도 지원합니다.

문자 모양 번역 테이블 파일

프린터에서 지원하는 각 디바이스 글꼴은 문자 모양 번역 테이블(.gtt) 파일을 나타냅니다. .gtt 파일은 Unidrv 문자 모양 변환 테이블 구조에 설명된 구조를 사용하여 생성된 이진 파일입니다. .gtt 파일의 첫 번째 구조체는 파일의 다른 구조체에 대한 오프셋을 포함하는 UNI_GLYPHSETDATA 구조체입니다.

다음 그림에서는 문자 모양 변환 테이블 파일의 레이아웃을 보여 주세요.

문자 모양 변환 테이블 파일의 레이아웃을 보여 주는 다이어그램

앞의 그림에서 UNI_GLYPHSETDATA 구조체에는 파일 시작부터 첫 번째 GLYPHRUN 구조체, 첫 번째 UNI_CODEPAGEINFO 구조체 및 MAPTABLE 구조체까지의 오프셋이 포함됩니다.

Unidrv는 RLE(실행 길이 인코딩) 압축을 사용하고 확장명이 .rle인 Windows NT 4.0용으로 만든 문자 모양 번역 파일도 지원합니다.

Unidrv 글꼴 서식 파일

GPD 파일에서 글꼴 카트리지 항목을 사용하여 지정되지 않은 카트리지 글꼴의 경우 글꼴을 Unidrv 글꼴 형식(.uff) 파일에 설명해야 합니다. 또한 다운로드 가능한 PCL 소프트 글꼴은 .uff 파일을 사용하여 지정해야 합니다.

.uff 파일은 다음 구조 집합을 사용하여 생성된 이진 파일입니다.

다음 그림에서는 Unidrv 글꼴 서식 파일의 레이아웃을 보여줍니다.

unidrv 글꼴 서식 파일의 레이아웃을 보여 주는 다이어그램

Unidrv 글꼴 서식 파일은 UFF_FILEHEADER 구조체와 하나 이상의 UFF_FONTDIRECTORYDATA_HEADER 구조체 쌍으로 구성됩니다. 각 DATA_HEADER 구조체는 글꼴 데이터 블록과 연결됩니다. UFF_FILEHEADER 구조체에는 파일 시작부터 첫 번째 UFF_FONTDIRECTORY 구조체까지의 오프셋이 포함됩니다. 각 UFF_FONTDRECTORY 구조체에는 파일의 시작 부분에서 글꼴 데이터가 포함된 DATA_HEADER 구조체로의 오프셋이 포함됩니다.

또한 다운로드 가능한 PCL 소프트 글꼴의 경우 다운로드할 이진 데이터가 .uff 파일에 저장됩니다.

.uff 파일 만들기는 공급업체에서 제공하는 글꼴 설치 소프트웨어의 책임입니다. Unidrv는 프린터의 .uff 파일을 읽어 글꼴 및 문자 모양 정보를 가져옵니다. 글꼴 설치 관리자는 글꼴을 추가하거나 삭제할 때 .uff 파일 콘텐츠를 수정해야 합니다. 글꼴 설치 관리자를 만드는 방법에 대한 자세한 내용은 Unidrv용 사용자 지정된 글꼴 설치 관리자를 참조하세요.

모든 .uff 파일은 %SystemRoot%\System32\Spool\Drivers\Unifont 디렉터리에 저장되어야 합니다. 개별 .uff 파일을 특정 프린터와 연결하려면 설치 소프트웨어가 SetPrinterData 함수(Windows SDK 설명서에 설명됨)를 호출하여 각 프린터의 레지스트리 키 아래에 레지스트리 값을 만들어야 합니다. 다음 표에서는 사용해야 하는 레지스트리 값 이름을 나열하고 각 값의 유지 관리자를 나타냅니다.

레지스트리 값 이름 및 형식 값 정의 유지 관리자
"ExternalFontFile"

REG_SZ
현재 설치된 글꼴을 지정하는 .uff 파일의 파일 이름입니다. 글꼴을 다운로드하거나 카트리지에 포함할 수 있습니다. 글꼴 설치 관리자
"ExtFontCartFile"

REG_SZ
"ExtFontCartNames"에 나열된 모든 글꼴 카트리지에 포함된 모든 글꼴을 지정하는 .uff 파일의 파일 이름입니다. 글꼴 설치 관리자
"ExtFontCartNames"

REG_MULTI_SZ
프린터에 설치할 수 있는 모든 글꼴 카트리지의 이름입니다. 글꼴 설치 관리자
"FontCart"

REG_MULTI_SZ
프린터에 대해 현재 설치된 모든 글꼴 카트리지의 이름입니다. Unidrv 사용자 인터페이스

프린터에 글꼴 카트리지를 추가한 후 시스템 관리자는 "ExtFontCartFile"에 지정된 .uff 파일의 글꼴 설명을 "ExternalFontFile"이 지정한 .uff 파일에 복사하는 글꼴 설치 관리자를 실행해야 합니다. 마찬가지로 글꼴 설치 관리자는 카트리지가 제거될 때 "ExtFontCartFile"에 지정된 .uff 파일에서 글꼴 설명을 제거해야 합니다.