2017-05-04 14 views
2

저는 tcl/tk 응용 프로그램을 작성하고 있습니다. 여기서는 멋진 글꼴을 사용하고 싶습니다. 원칙적글리프가 "올바르게"렌더링되는지 확인하십시오.

, 이것은 잘 작동 : 단지) 올바른 유니 코드 문자 일부 문자열/라벨을 표시하고 적절한 글꼴이 설치되어있는 경우, 그 렌더링

지금 내 dev에 컴퓨터에 내가 글꼴 굉장이 일반 기계로 설치됩니다. 배포 컴퓨터에서이를 기대할 수 없습니다.

그래서 시스템이 주어진 문자를 렌더링 할 수 있는지 아니면 글리프가 없는지 자리 표시자를 사용하는지 확인하고 싶습니다. 후자의 경우, 난 그냥 ... 좀 덜 좋은 표현으로 폴백 것

(내 사용자가 같은 질문에 대답하고 싶지 않아요 "이 문자열이 올바른 보입니까?")

예 : 기호 "& # xf16c;" () 내 응용 프로그램에서 stackoverflow 아이콘으로 표시됩니다. 내 브라우저에서 그것은 glyph-not-found으로 렌더링됩니다.

그래서 (사용 된) 시스템 글꼴 중 하나가 주어진 문자에 글리프를 제공하는지 프로그래밍 방식으로 알아낼 방법이 있습니까?

답변

2

불행히도, 그렇지 않습니다. 기능이 완전히 없어졌습니다.

% font actual TkFixedFont 
-family Monaco -size 11 -weight normal -slant roman -underline 0 -overstrike 0 
% font actual TkFixedFont \uf16c 
-family Monaco -size 11 -weight normal -slant roman -underline 0 -overstrike 0 
% font measure TkFixedFont \uf16c 
14 

(문자는 glyph-로 렌더링 : 당신이 얻을 수있는 가장 가까운 문자의 실제 폰트 정보를 얻을 수 있습니다 - 또는 그 폭을 측정,하지만 정말 도움이되지 않습니다 - 내가 생각하는 8.6가 필요합니다 해당 글꼴을 사용하는이 시스템에서 찾을 수없는 기호)