사용자 지정된 글꼴 관리
Important
최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.
자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.
PCL 프린터의 경우 Unidrv는 소프트 글꼴을 비트맵 또는 트루타입 윤곽선으로 다운로드할 수 있습니다. 장치 글꼴의 경우 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는 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 글꼴 서식 파일은 UFF_FILEHEADER 구조체와 하나 이상의 UFF_FONTDIRECTORY 및 DATA_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 파일에서 글꼴 설명을 제거해야 합니다.