글꼴 가용성 및 대체
Contents
[
Hide
]
문서의 텍스트는 굴림,타임즈 뉴 로만,베르다나 등과 같은 다양한 글꼴로 서식을 지정할 수 있습니다. 언제 Aspose.Words 이 문서에 지정된 글꼴을 선택하려고,문서를 렌더링합니다.
그러나 정확한 글꼴을 찾을 수 없는 상황이 있습니다. Aspose.Words 대신 비슷한 글꼴로 대체해야합니다. Aspose.Words 다음 프로세스에 따라 글꼴을 선택합니다:
- Aspose.Words 정확한 글꼴 이름을 가진 사용 가능한 글꼴 소스 중에서 글꼴을 찾으려고 합니다.
- Aspose.Words 원본 문서에 포함된 글꼴 중에서 필요한 글꼴을 찾습니다. 다음과 같은 일부 문서 형식 DOCX 포함 된 글꼴을 포함 할 수 있습니다.
- 만약 Aspose.Words 정확한 이름과 일치하는 필수 글꼴을 찾을 수 없습니다. AltName 이 글꼴에 대해 정의 된 속성 Aspose.Words 로 정의 된 글꼴을 찾을 것입니다 AltName 에서 FontInfo 글꼴 정보를 지정하는 클래스입니다.
- 만약 Aspose.Words 정의 된 글꼴을 찾을 수 없습니다. AltName (적절한 교체가 발견되면 글꼴 대체 프로세스가 중지되고 다음 단계가 실행되지 않음):
- Aspose.Words 신청을 시도 할 것입니다 OS 글꼴 설정,그들이 사용할 수있는 경우,를 사용하여
FontConfig
유틸리티. 이 비-Windows 이 기능은 FontConfig-호환 가능 OS. 거의 모든 유닉스 기반 OS 이미FontConfig
시스템 전체 글꼴 구성,사용자 정의 및 응용 프로그램에 대한 액세스를 제공하도록 설계된 라이브러리입니다. 그렇지 않으면 사용자가 이 라이브러리를 쉽게 설치할 수 있습니다.
Aspose.Words 데이터를 쿼리하고 해석하는 방법을 알고 있습니다 FontConfig 자신의 목적을 위해 결과. 기본적으로,FontConfig
유틸리티를 사용할 수 없습니다. 다음과 같이 활성화 할 수 있습니다:
C++fontSettings->get_SubstitutionSettings()->get_FontConfigSubstitution()->set_Enabled(true);
- 다음 단계는 간단하지만 매우 강력한 메커니즘입니다. TableSubstitutionRule. 기본적으로 이 기능은 활성 상태이며 모든 사용자가 사용할 수 있습니다 OS. Aspose.Words 용도 XML 다른 것에 대한 기본 대체 규칙을 정의하는 테이블 OS. 테이블 대체 규칙에 따라 대체 글꼴 이름 목록이 사용됩니다.
XMLOriginalFont -대체 할 글꼴, SubstituteFonts -쉼표로 구분 된 대체 변형 목록. 사용 가능한 첫 번째 글꼴은 교체에 사용됩니다.<TableSubstitutionSettings xmlns="Aspose.Words"> <SubstitutesTable> <Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" /> … </SubstitutesTable> </TableSubstitutionSettings>
이 규칙의 주요 기능은 다음 예제와 같이 자체 대체 테이블을 로드하는 기능입니다:
C++항아리에서 기존 테이블을 기본으로 사용하거나 다음과 같은 방법으로 프로그래밍 방식으로 저장할 수 있습니다:fontSettings->get_SubstitutionSettings()->get_TableSubstitution()->Load(u"Table.xml");
C++이 메커니즘의 유연성에도 불구하고 아래 그림과 같이 비활성화하는 것이 더 나은 경우가 있습니다:fontSettings->get_SubstitutionSettings()->get_TableSubstitution()->Save(u"MyTable.xml");
C++fontSettings->get_SubstitutionSettings()->get_TableSubstitution()->set_Enabled(false);
- 그 FontInfo 테이블 대체 규칙이 글꼴을 찾을 수 없는 경우 대체 규칙이 적용됩니다. 이 메커니즘은 기본적으로 활성화되어 있습니다. Aspose.Words 특정 문서에 포함된 글꼴 정보에 따라 가장 적합한 글꼴을 찾습니다. 이 정보는 다음에서 얻을 수 있습니다 FontInfo 아래 그림과 같이 클래스:
C++사용자가 만족스럽지 못한 결과가 발생할 경우 이 기능을 사용하지 않도록 설정하지 않으면 이 기능의 워크플로를 방해할 수 없습니다:System::SharedPtr<FontInfoCollection> fontInfos = doc->get_FontInfos();
C++만약 FontInfo 누락 된 글꼴을 사용할 수 없습니다,다음 프로세스가 중지됩니다.fontSettings->get_SubstitutionSettings()->get_FontInfoSubstitution()->set_Enabled(false);
- DefaultFont 대체 규칙은
FontInfo
교체도 실패했습니다. 이 규칙은 기본적으로 활성화되어 있습니다. 이 규칙에 따르면, Aspose.Words 에 지정된 기본 글꼴을 사용하려고합니다 DefaultFontName 재산. 사용자가 자신의 기본 글꼴을 선택하지 않은 경우"타임즈 뉴 로만"이 기본 글꼴로 사용됩니다. 이 규칙은 아래와 같이 비활성화 할 수 있습니다:
C++현재 기본 글꼴을 확인하려면 다음을 사용합니다:fontSettings->get_SubstitutionSettings()->get_DefaultFontSubstitution()->set_Enabled(false);
C++자체 교체 옵션을 설정하려면 다음을 적용하십시오:fontSettings->get_SubstitutionSettings()->get_DefaultFontSubstitution()->get_DefaultFontName();
C++fontSettings->get_SubstitutionSettings()->get_DefaultFontSubstitution()->set_DefaultFontName(u"Arial");
- Aspose.Words 신청을 시도 할 것입니다 OS 글꼴 설정,그들이 사용할 수있는 경우,를 사용하여
- 만약 Aspose.Words 글꼴 대체를 수행 할 수 없습니다,그것은 사용 가능한 글꼴 소스에서 사용할 수있는 첫 번째 글꼴을 얻기 위해 시도합니다.
- 마지막으로,만약 Aspose.Words 사용 가능한 글꼴 소스 중 글꼴을 찾을 수 없습니다,그것은에 포함 된 무료 팬 우드 글꼴을 사용하여 문서를 렌더링 Aspose.Words 조립.
만약 FontInfo 사용할 수 있습니다 FontInfo substitution rule 항상 글꼴을 해결하고 기본 글꼴 규칙을 무시합니다. 기본 글꼴 규칙을 사용하려면 기본 글꼴 규칙을 사용하지 않도록 설정해야 합니다. FontInfo substitution rule. 참고: FontConfig substitution rule 대부분의 경우 글꼴을 해결하므로 다른 모든 규칙을 무시합니다.