0
주어진 ttf 파일의 모든 글리프의 2 차 베 지어 곡선 정보를 추출하는 데 관심이 있습니다. 현재 파이썬의 ttfquery 라이브러리를 사용하여, 나는 다음과 같은 방식으로 (예 : a
등) 주어진 그래프의 윤곽을 추출 할 수 있어요 :파이썬에서 .ttf 글꼴 파일의 모든 글립에 대한 경계 상자 및 베 지어 곡선 데이터 검색
from ttfquery import describe
from ttfquery import glyphquery
import ttfquery.glyph as glyph
char = "a"
font_url = "/usr/share/fonts/truetype/liberation/LiberationSerif-Regular.ttf"
font = describe.openFont(font_url)
g = glyph.Glyph(char)
contours = g.calculateContours(font)
for contour in contours:
for point, flag in contour:
print point, flag
이 알파벳 문자가 잘 작동하지만, 다음과 같은 주요 제공 숫자, 구두점, 공백 등을위한 오류 :
신뢰할 수있는 방법은 내가 현재 간접적으로 계산 최소 및 최대를 사용하고있는 베 지어 곡선 점뿐만 아니라 각 그래프의 경계 상자 (모두를 얻을 무엇Traceback (most recent call last):
File "demo.py", line 9, in <module>
contours = g.calculateContours(font)
File "/usr/local/lib/python2.7/dist-packages/ttfquery/glyph.py", line 33, in calculateContours
charglyf = glyf[self.glyphName]
File "/usr/local/lib/python2.7/dist-packages/FontTools/fontTools/ttLib/tables/_g_l_y_f.py", line 185, in __getitem__
glyph = self.glyphs[glyphName]
KeyError: '!'
등고선에서 검색된 x 및 y 값)?
니스, 글리프 이름도 가져와야한다는 것을 알지 못했습니다! 옆 질문 : 글꼴에 존재하는 glpyh를 모두 얻을 수있는 방법이 있습니까? 글리프를 하나씩 가져 오는 대신 모든 글리프의 베 지어 곡선 데이터를 자동 생성하는 것이 이상적입니다. 당신의 도움을 주셔서 감사합니다. – CodeSurgeon
'f.getGlyphNames'는 글꼴의 모든 글리프 이름을 제공합니다. ttyquery가'cmap' 전체를 가져 오기위한 공식 API를 가지고 있다고 생각하지 않는다면, 수동으로'f [ 'cmap']'로 작업해야합니다. – Phillip
완벽하게 cmap에 대해 배울 것입니다. 정말 고맙습니다! – CodeSurgeon