글꼴 가용성 및 대체

Contents
[ ]

문서의 텍스트는 굴림,타임즈 뉴 로만,베르다나 등과 같은 다양한 글꼴로 서식을 지정할 수 있습니다. 언제 Aspose.Words 이 문서에 지정된 글꼴을 선택하려고,문서를 렌더링합니다.

그러나 정확한 글꼴을 찾을 수 없는 상황이 있습니다. Aspose.Words 대신 비슷한 글꼴로 대체해야합니다. Aspose.Words 다음 프로세스에 따라 글꼴을 선택합니다:

  1. Aspose.Words 정확한 글꼴 이름을 가진 사용 가능한 글꼴 소스 중에서 글꼴을 찾으려고 합니다.
  2. Aspose.Words 원본 문서에 포함된 글꼴 중에서 필요한 글꼴을 찾습니다. 다음과 같은 일부 문서 형식 DOCX 포함 된 글꼴을 포함 할 수 있습니다.
  3. 만약 Aspose.Words 정확한 이름과 일치하는 필수 글꼴을 찾을 수 없습니다. AltName 이 글꼴에 대해 정의 된 속성 Aspose.Words 로 정의 된 글꼴을 찾을 것입니다 AltName 에서 FontInfo 글꼴 정보를 지정하는 클래스입니다.
  4. 만약 Aspose.Words 정의 된 글꼴을 찾을 수 없습니다. AltName (적절한 교체가 발견되면 글꼴 대체 프로세스가 중지되고 다음 단계가 실행되지 않음):
    1. Aspose.Words 신청을 시도 할 것입니다 OS 글꼴 설정,그들이 사용할 수있는 경우,를 사용하여 FontConfig 유틸리티. 이 비-Windows 이 기능은 FontConfig-호환 가능 OS. 거의 모든 유닉스 기반 OS 이미 FontConfig 시스템 전체 글꼴 구성,사용자 정의 및 응용 프로그램에 대한 액세스를 제공하도록 설계된 라이브러리입니다. 그렇지 않으면 사용자가 이 라이브러리를 쉽게 설치할 수 있습니다.
      Aspose.Words 데이터를 쿼리하고 해석하는 방법을 알고 있습니다 FontConfig 자신의 목적을 위해 결과. 기본적으로, FontConfig 유틸리티를 사용할 수 없습니다. 다음과 같이 활성화 할 수 있습니다:
      C++
            fontSettings->get_SubstitutionSettings()->get_FontConfigSubstitution()->set_Enabled(true);
            
      
    2. 다음 단계는 간단하지만 매우 강력한 메커니즘입니다. TableSubstitutionRule. 기본적으로 이 기능은 활성 상태이며 모든 사용자가 사용할 수 있습니다 OS. Aspose.Words 용도 XML 다른 것에 대한 기본 대체 규칙을 정의하는 테이블 OS. 테이블 대체 규칙에 따라 대체 글꼴 이름 목록이 사용됩니다.
      XML
            <TableSubstitutionSettings xmlns="Aspose.Words"> 
      	<SubstitutesTable> 
      		<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" /></SubstitutesTable> 
            </TableSubstitutionSettings>
            
      OriginalFont -대체 할 글꼴, SubstituteFonts -쉼표로 구분 된 대체 변형 목록. 사용 가능한 첫 번째 글꼴은 교체에 사용됩니다.
      이 규칙의 주요 기능은 다음 예제와 같이 자체 대체 테이블을 로드하는 기능입니다:
      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);
            
      
    3. FontInfo 테이블 대체 규칙이 글꼴을 찾을 수 없는 경우 대체 규칙이 적용됩니다. 이 메커니즘은 기본적으로 활성화되어 있습니다. Aspose.Words 특정 문서에 포함된 글꼴 정보에 따라 가장 적합한 글꼴을 찾습니다. 이 정보는 다음에서 얻을 수 있습니다 FontInfo 아래 그림과 같이 클래스:
      C++
            System::SharedPtr<FontInfoCollection> fontInfos = doc->get_FontInfos();
            
      
      사용자가 만족스럽지 못한 결과가 발생할 경우 이 기능을 사용하지 않도록 설정하지 않으면 이 기능의 워크플로를 방해할 수 없습니다:
      C++
            fontSettings->get_SubstitutionSettings()->get_FontInfoSubstitution()->set_Enabled(false);
            
      
      만약 FontInfo 누락 된 글꼴을 사용할 수 없습니다,다음 프로세스가 중지됩니다.
    4. 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");
            
      
  5. 만약 Aspose.Words 글꼴 대체를 수행 할 수 없습니다,그것은 사용 가능한 글꼴 소스에서 사용할 수있는 첫 번째 글꼴을 얻기 위해 시도합니다.
  6. 마지막으로,만약 Aspose.Words 사용 가능한 글꼴 소스 중 글꼴을 찾을 수 없습니다,그것은에 포함 된 무료 팬 우드 글꼴을 사용하여 문서를 렌더링 Aspose.Words 조립.