다음을 통해 공유


포함된 글꼴

글꼴 포함은 문서와 문서에 포함된 글꼴을 다른 컴퓨터로 전송하기 위해 파일에 묶는 기술입니다. 글꼴을 포함하면 전송된 파일에 지정된 글꼴이 파일을 받는 컴퓨터에 존재합니다. 그러나 대부분의 글꼴은 한 번에 하나의 컴퓨터로만 사용이 허가되므로 모든 글꼴을 컴퓨터에서 컴퓨터로 이동할 수 있는 것은 아닙니다. TrueType 및 OpenType 글꼴만 포함할 수 있습니다.

애플리케이션은 사용자가 요청한 경우에만 문서에 글꼴을 포함해야 합니다. 애플리케이션은 포함된 글꼴이 포함된 문서와 함께 배포할 수 없으며 애플리케이션 자체에 포함된 글꼴이 포함될 수도 없습니다. 애플리케이션이 글꼴을 배포할 때마다 모든 형식으로 글꼴 소유자의 독점 권한을 승인해야 합니다.

포함이 허용되지 않는 글꼴을 포함하거나 글꼴 포함에 대한 다음 지침을 준수하지 못하는 경우 글꼴 공급업체의 독점 권한 또는 사용자 사용권 계약을 위반할 수 있습니다. 글꼴 라이선스는 대상 컴퓨터에 글꼴을 설치하고 사용할 수 있는 읽기/쓰기 권한만 부여할 수 있습니다. 또는 라이선스가 읽기 전용 권한을 부여할 수 있습니다. 읽기 전용 권한을 사용하면 대상 컴퓨터에서 문서를 보고 인쇄(수정하지 않음)할 수 있습니다. 읽기 전용 포함 글꼴이 있는 문서는 읽기 전용입니다. 읽기 전용 포함된 글꼴은 문서에서 번들 해제되지 않고 대상 컴퓨터에 설치되지 않을 수 있습니다.

애플리케이션은 GetOutlineTextMetrics 함수를 호출하고 OUTLINETEXTMETRIC 구조의 otmfsType 멤버를 검사하여 라이선스 상태 확인할 수 있습니다. otmfsType의 비트 1이 설정된 경우 글꼴에 포함할 수 없습니다. 비트 1이 명확하면 글꼴을 포함할 수 있습니다. 비트 2가 설정된 경우 포함은 읽기 전용입니다.

TrueType 글꼴을 포함하려면 애플리케이션에서 GetFontData 함수를 사용하여 글꼴 파일을 읽을 수 있습니다. GetFontDatadwTabledwOffset 매개 변수를 0L로 설정하고 cbData 매개 변수를 1L로 설정하면 애플리케이션이 처음부터 전체 글꼴 파일을 읽습니다.

문자 너비 및 글꼴 데이터가 있는 위치에 따라 OpenType 글꼴을 포함하는 데 여러 함수를 사용할 수 있습니다. 디바이스 컨텍스트에 있는 OpenType 유니코드 글꼴을 포함하려면 애플리케이션에서 TTEmbedFont를 사용할 수 있습니다. 디바이스 컨텍스트에 있는 OpenType UCS-4 글꼴을 포함하려면 애플리케이션에서 TTEmbedFontEx를 사용할 수 있습니다. 글꼴 파일에 있는 OpenType 유니코드 글꼴을 포함하려면 애플리케이션에서 TTEmbedFontFromFile을 사용할 수 있습니다. OpenType 글꼴 포함에 대한 자세한 내용은 글꼴 포함 참조를 참조하세요.

애플리케이션에서 글꼴 데이터를 검색한 후 해당 형식을 사용하여 문서와 함께 데이터를 저장할 수 있습니다. 대부분의 애플리케이션은 문서에 글꼴 디렉터리를 작성하여 포함된 글꼴을 나열하고 포함이 읽기/쓰기 또는 읽기 전용인지 여부를 나열합니다. 애플리케이션은 OUTLINETEXTMETRIC 구조의 otmpStyleNameotmFamilyName 멤버를 사용하여 글꼴을 식별할 수 있습니다.

포함된 글꼴에 대해 읽기 전용 비트가 설정된 경우 애플리케이션은 글꼴 데이터를 문서에 저장하기 전에 암호화해야 합니다. 암호화 방법은 복잡할 필요가 없습니다. 예를 들어 XOR 연산자를 사용하여 글꼴 데이터를 애플리케이션 정의 상수와 결합하는 것은 적절하고 빠릅니다.