2012-06-05 3 views
7

저는 Fontforge에서 스크립팅으로 글꼴을 만들고 있습니다. 모든 것이 잘되지만이 문제가 있습니다. 두 개의 다른 글리프가 동시에 선택된 글리프를 표시하는 경우 선택한 글리프를 지정하는 방법을 알지 못합니다. 이미 Lookuptable과 서브 테이블을 만들었지 만 지정된 글리프에 대한 일부 합자를 정의하는 함수를 알지 못합니다. 표 문자에 합자를 추가하기위한 테이블 및 하위 테이블을 만드는 코드는 다음과 같습니다. 당신이 조회 & 서브 테이블을 추가 한 후Fontforge 글리프 용 합자를 스크립팅하는 방법

AddLookup("Ligatures","GSUB_ligature",9,[["rlig",[["arab",["dflt"]]]]]) 
AddLookupSubtable("Ligatures","Ligatureshi") 
+0

질문은 스크립트를 사용하여 글꼴에 합자를 추가하는 방법을 묻지 만 FontForge GUI 인터페이스에서도 수행 할 수 있습니다. 전체 답변을 추가하는 방법은 잘 모르지만 ** 요소> 글꼴 정보> 조회> GSUB **로 이동하십시오. 합자 제거 방법은 [이 답변] (http://stackoverflow.com/a/43315958/3681880)을 참조하십시오. – Suragch

답변

0

, 이렇게 :

Select("fl") 
AddPosSub("LigatureSubtableName", "f l") 

폰트 포지 위의 스크립트는 플로리다의 합자를 추가합니다.

+0

안녕하세요 @Arthaey, 당신이 쓴 코드의 라인은 "f"와 "l"을 쓸 때 "fl"을 나타내지 않는 것처럼 보이는 대치 테이블의 일부 대체를 선언 할 것입니다. 그래서 나는 함께 나타나면 "f"와 "l"을 "fl"로 변환하기 위해 합자 표에서 "fl"에 대한 정보를 추가하십시오. 너는 어떤 생각을 가지고 있니? 또는 적어도 전에 해 보셨습니까? – Ehsan

4

기존 글리프 이름의 튜플을 사용하여 합자 대체를 지정해야합니다. 고안된 예 :

ligature_name = 'f_l' 
ligature_tuple = ('f', 'l') 
font.AddLookup('ligatures','gsub_ligature',(),[['rlig',[['arab',['dflt']]]]]) 
font.AddLookupSubtable('ligatures', 'ligatureshi') 
glyph = font.createChar(-1, ligature_name) 
glyph.addPosSub('ligatureshi', ligature_tuple) 
관련 문제