Fonts

Fonts

이 가이드는 문서에서 참조된 글꼴을 검사하고, 포함된 글꼴 데이터를 추출하며, TrueType 글꼴 임베딩을 Aspose.Words FOSS for .NET로 저장 시 제어하는 방법을 보여줍니다. Aspose.Words FOSS for .NET는 FontInfoCollection을 통해 로드된 문서에서 참조된 모든 글꼴을 추적하고, 글꼴별 메타데이터, 포함된 글꼴 추출, 저장 시 임베딩 제어를 FontInfo을 통해 제공합니다. Document.FontSettings와 LoadOptions.FontSettings은 (이번 판에서 의도적으로 최소화된) FontSettings 진입점을 제공합니다.


문서에서 사용된 글꼴 검사

DocumentBase.FontInfos (Document에서 상속됨) 은 문서 어디에서든 참조된 모든 글꼴을 설명하는 FontInfoCollection을 반환합니다. 이름으로 인덱싱할 수 있습니다(예: fontInfos["Arial"]), Contains(name)로 존재 여부를 테스트하고, Count로 개수를 세며, GetEnumerator()을 통해 전체 컬렉션을 열거합니다.


글꼴 속성 및 분류

각 FontInfo은 하나의 글꼴을 설명합니다: Name과 AltName가 이를 식별하고, Family은 FontFamily 열거형(Auto, Roman, Swiss, Modern, Script, Decorative)을 통해 분류합니다, Pitch은 그 FontPitch(Default, Fixed, Variable)를 보고하며, IsTrueType, Charset, Panose은 하위 수준의 글꼴 매칭 데이터를 노출합니다.


포함된 글꼴 추출

문서에 임베디드 폰트가 있는 경우, FontInfo.GetEmbeddedFont(format, style)는 지정된 EmbeddedFontFormat (EmbeddedOpenType 또는 OpenType)와 EmbeddedFontStyle (Regular, Bold, Italic, BoldItalic)에 대한 원시 임베디드 폰트 바이트를 반환합니다. GetEmbeddedFontAsOpenType(style)는 원본 임베디드 방식을 떠나서 폰트를 OpenType 형식으로 직접 변환하여 반환합니다.


폰트 임베딩 라이선스 권리

폰트를 추출하거나 다시 임베드하기 전에, FontInfo.EmbeddingLicensingRights를 확인하십시오. 이는 FontEmbeddingLicensingRights 객체입니다. EmbeddingUsagePermissions는 FontEmbeddingUsagePermissions 열거형(Installable, RestrictedLicense, PrintAndPreview, Editable)을 통해 라이선스 수준을 보고하고, NoSubsetting와 BitmapEmbeddingOnly는 폰트 공급업체가 설정한 추가 제한을 표시합니다.


저장 시 폰트 임베딩 제어

FontInfoCollection는 문서 수준 임베딩 스위치도 포함합니다: 저장 시 문서에 사용된 모든 TrueType 폰트를 임베드하려면 EmbedTrueTypeFonts을 true로 설정하고, 일반적으로 모든 시스템에 존재한다고 가정되는 폰트를 포함하려면 EmbedSystemFonts을, 전체 폰트가 아니라 실제 사용된 글리프만 임베드하려면 SaveSubsetFonts를 설정하십시오.


이 에디션의 FontSettings 범위

Document.FontSettings와 LoadOptions.FontSettings은 모두 FontSettings 객체를 반환하고, FontSettings.DefaultInstance은 공유 기본 인스턴스를 공개합니다. 이 FOSS 에디션에서는 FontSettings의 API 인터페이스가 해당 기본 인스턴스 속성으로만 제한됩니다 — 폴더 기반 및 시스템 폰트 소스 해석은 Aspose.Words에서 페이지 레이아웃 및 렌더링을 위해 폰트를 대체하거나 해석하는 데 사용되지만, 이 에디션에서는 페이지 레이아웃 및 렌더링이 범위에 포함되지 않으므로 제공되지 않습니다. 여기서 폰트 처리란 메타데이터 검사와 임베딩을 의미하며, 렌더링을 위한 폰트 대체는 포함되지 않습니다.


팁 및 모범 사례

  • 임베드된 글꼴을 추출하거나 재배포하기 전에 항상 FontInfo.EmbeddingLicensingRights.EmbeddingUsagePermissions을(를) 확인하십시오 — 일부 글꼴은 RestrictedLicense 또는 PrintAndPreview만 허가됩니다.
  • 소스 문서가 글꼴을 어떻게 임베드했는지(EmbeddedOpenType와 OpenType)와 관계없이 일관된 출력 형식이 필요할 때 GetEmbeddedFontAsOpenType()을(를) 사용하십시오.
  • 소수의 글리프만 사용하는 글꼴을 임베드할 때 출력 파일 크기를 줄이려면 FontInfoCollection.SaveSubsetFonts을(를) true으로 설정하십시오.
  • 글꼴 존재 여부만 테스트할 경우, FontInfoCollection.Contains(name)이(가) 인덱싱하고 실패한 조회를 처리하는 것(예: fontInfos[name])보다 비용이 적게 듭니다.

일반적인 문제

문제원인수정
GetEmbeddedFont()은 사용 가능한 데이터를 반환하지 않습니다참조된 폰트가 실제로 문서에 포함되어 있지 않습니다폰트 데이터가 존재한다고 가정하기 전에 문서의 임베딩 설정을 확인하십시오
FontInfoCollection을 이름으로 인덱싱해도 아무 것도 찾을 수 없습니다폰트 이름이 정확히 일치하지 않으며, 대소문자까지 일치하지 않습니다정확한 Name 문자열을 확인하려면 FontInfoCollection을 GetEnumerator()로 열거하십시오
예상되는 글꼴 대체/해결 API가 없습니다폴더 및 시스템 기반 글꼴 소스 해석은 이 FOSS 에디션에 구현되지 않았습니다FontInfo/FontInfoCollection은(는) 메타데이터 및 임베딩에만 사용하십시오; 렌더링을 위한 글꼴 대체는 이 에디션 범위에 포함되지 않습니다

FAQ

문서가 참조하는 모든 글꼴을 어떻게 나열합니까?

GetEnumerator()를 통해 Document.FontInfos(a FontInfoCollection)를 열거하거나, 이름으로 인덱싱하여 특정 항목을 찾아볼 수 있습니다(예: fontInfos["Arial"]).

문서에서 포함된 글꼴의 원시 바이트를 추출할 수 있나요?

네, 글꼴이 포함된 경우 — 원본 포함 형식은 FontInfo.GetEmbeddedFont(format, style)을 호출하고, 결과를 OpenType으로 정규화하려면 GetEmbeddedFontAsOpenType(style)을 호출하세요.

문서를 저장할 때 글꼴이 포함되도록 하려면 어떻게 해야 하나요?

저장하기 전에 FontInfoCollection.EmbedTrueTypeFonts을 true으로 설정하세요; 모든 시스템에 글꼴이 존재한다고 가정해야 할 경우 EmbedSystemFonts을 추가하고, 사용 중인 글리프만 포함하려면 SaveSubsetFonts을 추가하세요.

이 에디션은 렌더링을 위해 사용자 지정 폴더에서 글꼴을 찾는 것을 지원하나요?

아니요 — 폴더 및 시스템 기반 글꼴 소스 해석(FontSettings 소스 구성)은 여기서 구현되지 않았습니다. 이는 페이지 레이아웃 및 렌더링을 위해 존재하는데, 해당 기능은 이 FOSS 에디션의 범위를 벗어나기 때문입니다.

FontEmbeddingLicensingRights.NoSubsetting는 무엇을 의미하나요?

이는 글꼴 공급업체의 임베딩 권한에 의해 보고된 라이선스 플래그입니다: true인 경우, 글꼴을 사용 중인 글리프만으로 부분집합할 수 없습니다.


API Reference 요약

클래스 / 메서드설명
FontInfoCollection문서에서 참조된 글꼴; 이름별 인덱서 (fontInfos[name]), Contains(), Count, GetEnumerator(), 및 EmbedTrueTypeFonts/EmbedSystemFonts/SaveSubsetFonts
FontInfo한 글꼴의 메타데이터: Name, AltName, Family, Pitch, IsTrueType, Charset, Panose, EmbeddingLicensingRights
FontInfo.GetEmbeddedFont() / GetEmbeddedFontAsOpenType()내장된 글꼴 바이트 추출
EmbeddedFontFormat / EmbeddedFontStyle내장 글꼴의 형식 및 스타일 변형을 식별하는 열거형
FontEmbeddingLicensingRights / FontEmbeddingUsagePermissions글꼴당 보고된 임베딩 라이선스 제한
FontSettings최소 폰트 설정 진입점 (Document.FontSettings, LoadOptions.FontSettings); 이 버전에서는 폰트 소스 해석이 없습니다.

참조

 한국어