1. 제품
  2.   Font
  3.   Python
  4.   FontTools
 
  

글꼴 읽기를 위한 파이썬 라이브러리

소프트웨어 개발자와 디자이너가 글꼴을 손쉽게 조작, 편집 및 분석할 수 있도록 지원하는 오픈 소스 파이썬 API.

FontTools는 디자인, 브랜딩, 커뮤니케이션에서 중요한 역할을 하며, 글꼴은 시각적 미학의 기본 요소입니다. 디지털 시대에 글꼴 관리와 조작은 점점 더 중요해지고 있습니다. 개발자와 디자이너 사이에서 인기를 얻고 있는 강력한 도구는 FontTools 라이브러리입니다. FontTools는 글꼴 작업을 위한 포괄적인 도구 세트를 제공하는 다목적 오픈 소스 Python 라이브러리로, 글꼴 애호가, 디자이너, 개발자, 타이포그래퍼 모두에게 강력한 도구로 부상했습니다. 풍부한 기능과 Python 기반 인터페이스가 결합되어 글꼴 관련 작업 및 프로젝트에 탁월한 선택이 됩니다.

FontTools는 소프트웨어 개발자가 프로그래밍 방식으로 글꼴 파일과 상호 작용할 수 있게 해주는 오픈 소스 라이브러리입니다. 글꼴 조작, 편집 및 분석을 위한 다양한 기능을 제공합니다. 다양한 방식으로 글꼴을 조작하고, 기본 글리프 편집 작업, 향상된 글꼴 병합, 단일 글리프 제거, SFNT 테이블 지원, 다양한 SFNT 값 식별 및 구현, 글리프 윤곽 수정, 글꼴 메트릭 조정, 글꼴 인코딩 변경, 테이블 추가 또는 제거, 서로 다른 레이아웃 시스템 간 레이아웃 정의 변환, 이름 문자열 찾기 및 편집 등과 같은 기능을 지원합니다.

FontTools 라이브러리는 소프트웨어 개발자가 글꼴 파일의 다양한 측면에 프로그래밍 방식으로 접근하고, 편집하며, 분석할 수 있게 해줍니다. TrueType(TTF), OpenType(OTF), AFM, 어느 정도 Type 1, 그리고 일부 Mac 전용 형식 등 여러 글꼴 형식을 지원하여 다양한 글꼴 유형을 다루기에 다재다능한 선택입니다. FontTools는 활발하고 지원적인 커뮤니티의 혜택을 받습니다. 이 프로젝트는 오픈 소스이며 활발히 유지 관리되고 있으며, 정기적인 업데이트와 버그 수정이 이루어집니다. 글꼴 조작 자동화, 서체 미세 조정, 혹은 상세한 글꼴 분석을 수행하든, FontTools는 목표를 효율적으로 달성하기 위한 필요한 도구와 유연성을 제공합니다.

Previous Next

FontTools 시작하기

FontTools는 Python 3.8 이상이 필요합니다. FontTools를 설치하는 권장 방법은 PyPI를 이용하는 것입니다. 원활한 설치를 위해 다음 명령을 사용하십시오.

NuGet을 통해 FontTools 설치

 pip install fonttools 

또한 직접 설치할 수도 있습니다; 최신 릴리스 파일을 GitHub 저장소에서 직접 다운로드하십시오.

Python API를 통한 글꼴 편집 및 조작

오픈 FontTools 라이브러리는 사용하기 매우 쉽고, 파이썬 애플리케이션 내에서 다양한 방식으로 글꼴을 조작할 수 있게 해주는 여러 중요한 기능을 포함하고 있습니다. 이를 통해 개발자는 글꼴 파일에서 정보를 추출하고, 글리프 윤곽을 수정하며, 메트릭을 조작하고, 심지어 처음부터 새로운 글꼴을 만들고, 반복적인 글꼴 관련 작업을 자동화할 수 있습니다. FontTools 라이브러리를 사용하면 소프트웨어 개발자는 글리프 컨투어를 수정하고, 메트릭을 조정하며, 인코딩을 변경하고, 테이블을 추가하거나 제거할 수도 있습니다. 이러한 유연성은 디자이너가 특정 요구 사항에 맞게 글꼴을 미세 조정하거나 프로젝트에 맞는 맞춤형 버전을 만들 수 있게 합니다.

Python API를 사용하여 윤곽 경로를 수정하는 방법은?

path_orig = get_outline(font, "a")
startdraw(200,200)

paths = []
for i in path_orig:
    if i[0] == 'moveTo':
        path = draw.BezierPath()
        path.moveTo((i[1][0]))
    if i[0] == 'lineTo':
        path.lineTo((i[1][0]))
    if i[0] == 'qCurveTo':
        path.qCurveTo(*(i[1]))
    if i[0] == 'closePath':
        path.closePath()
        paths.append(path)

finalpath = paths[0].difference(paths[1])
finalpath.scale(0.3) #let's scale it down!
draw.fill(0.5)
draw.stroke(0)
draw.drawPath(finalpath)
show()

Python API를 통한 글리프 조작

오픈 소스 FontTools 라이브러리는 소프트웨어 개발자가 개별 글리프를 프로그래밍 방식으로 조작하기 쉽게 해줍니다. 글리프 윤곽, 메트릭 및 속성에 접근하고 수정하는 메서드를 제공하여 사용자가 특정 요구에 맞게 글꼴을 맞춤 설정할 수 있는 유연성을 제공합니다. 커닝 페어를 조정하거나, 글리프 형태를 변경하거나, 리가처를 추가하거나, 글리프 윤곽을 비교하는 등, FontTools는 글리프 조작 과정을 단순화합니다. 다음 예제는 두 글리프의 윤곽을 비교하고 Python 코드를 사용해 결과를 표시하는 방법을 보여줍니다.

Python API를 사용하여 두 글리프의 윤곽을 비교하는 방법은?

from fontTools.ttLib import TTFont
from fontTools.pens.recordingPen import RecordingPen

font = TTFont(filename)
cmap = font.getBestCmap()
gs = font.getGlyphSet()

g1 = gs[cmap[ord("A")]]
g2 = gs[cmap[ord("B")]]

p1 = RecordingPen()
p2 = RecordingPen()

g1.draw(p1)
g2.draw(p2)

print(p1.value == p2.value)

Python API를 통한 글꼴 생성 및 변환

오픈 소스 FontTools 라이브러리는 새로운 글꼴 파일을 생성하거나 기존 파일을 다양한 형식으로 변환하는 기능을 제공합니다. 이 기능은 맞춤형 글꼴을 만들거나 특정 플랫폼에 맞게 글꼴을 조정해야 하는 디자이너와 개발자에게 특히 유용합니다. FontTools를 사용하면 사용자가 서로 다른 두께, 스타일 및 변형을 가진 글꼴 인스턴스를 생성하거나 TrueType과 OpenType 형식 간에 글꼴을 원활하게 변환할 수 있습니다. 다음 예제는 Python 명령을 사용해 CFF 형식을 CFF2 형식으로 변환하는 방법을 보여줍니다.

 한국인