2012-06-28 5 views
0

iText는 개별 글립을 기반으로 한 자동 글꼴 선택을 지원합니다. 이것은 특정 글립 문자에 대해 FontSelector에 포함 된 글꼴 라이브러리를 검색하여 작동하며 목록 위쪽에 정의 된 글꼴 라이브러리에없는 경우 다른 글꼴 lib에서 문자를 선택합니다.중국어 문자 세트에 대한 자동 글꼴 선택

Jasper에서 글꼴 확장을 구성하여 아시아계 및 라틴어 문자 세트를 지원할 수 있었고, 포괄적 인 문자 세트가있는 "Arial Unicode MS"와 같은 대형 유니 코드 글꼴 라이브러리를 선택할 수있었습니다. 그러나 그와 같은 좋은 도서관은 값 비싼 라이센스가 필요합니다! 놀랍게도 관련된 작업의 양을 고려하지 ... 중국어와 라틴어를 모두 지원하는 하나의 무료 글꼴 라이브러리는 일반적으로 효과적인 중국어 문자 렌더링을 처리하기 위해 만들어지며 라틴 문자의 아름다움은 결과적으로 어려움을 겪습니다.)

그래서 최종 a 질문 : 재 스퍼에서 iText의 자동 글꼴 선택 기능을 활용하기위한 메커니즘이 있습니까?

답변

-1

내가 이해하는 것부터; 응용 프로그램에 "Arial Unicode MS"를 제공하는 대신 사용자 자신의 글꼴을 사용하려고합니다.

public class FontList extends ArrayList<String> 
{ 
    public FontList() 
    { 
     for (final String fontName : GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()) 
     { 
      final Font f = new Font(fontName, Font.PLAIN, 10); 
      //first character in CJK area 
      if (f.canDisplay('\u4E00')) 
      { 
       add(fontName); 
      } 
     } 
    } 
} 

새로운 FontList는 중국어, 일본어 및 한국어로 사용할 수있는 모든 글꼴 목록을 제공합니다.

'가장 좋은'글꼴을 '자동으로'선택하려면 더 많은 논리가 필요합니다. 당신은 그 이름에 "Arial"을 찾아서 우선 순위를 부여 할 수 있습니다. "우메"와 "WenQuanYi"그리고 마지막으로 "대화 상자"

사용자가 어떤 것을 사용할 지 선택하는 것이 가장 좋습니다. 사용할 수있는 글꼴이 없으면 e.g. 글꼴을 설치하는 방법에 대한 조언을 제공하십시오.

+1

질문은 재 스퍼의 해결책에 관한 것이지만 iText unfort가 아닙니다. 나는 그것이 누군가 당신에게 -1을 준 이유라고 생각합니다 : ( – travega

관련 문제