사용자 문서 및 개발자 문서는 문서 읽기에서 확인할 수 있습니다.
FontTools에는 Python 3.8 이상이 필요합니다. 우리는 NumPy와 동일한 최소 Python 버전 지원 일정을 따르려고 노력합니다(NEP 29 참조).
패키지는 PyPI(Python Package Index)에 나열되어 있으므로 pip를 사용하여 설치할 수 있습니다.
pip install fonttools
개발에 기여하고 싶다면 GitHub에서 저장소를 복제하고 '편집 가능' 모드에서 패키지를 설치한 후 소스 코드를 수정하면 됩니다. virtualenv 또는 Python 3 venv 모듈을 사용하여 가상 환경을 생성하는 것이 좋습니다.
# download the source code to 'fonttools' folder
git clone https://github.com/fonttools/fonttools.git
cd fonttools
# create new virtual environment called e.g. 'fonttools-venv', or anything you like
python -m virtualenv fonttools-venv
# source the `activate` shell script to enter the environment (Unix-like); to exit, just type `deactivate`
. fonttools-venv/bin/activate
# to activate the virtual environment in Windows `cmd.exe`, do
fonttools-venv S cripts a ctivate.bat
# install in 'editable' mode
pip install -e .
fontTools
패키지에는 현재 Python 표준 라이브러리에 포함된 모듈 외에는 (필수) 외부 종속성이 없습니다. 그러나 일부 모듈에는 선택적 기능을 잠금 해제하는 데 필요한 몇 가지 추가 종속성이 필요합니다. fonttools
PyPI 배포판은 소위 "추가", 즉 pip를 통해 설치하거나 요구 사항을 지정할 때 사용할 수 있는 추가 종속성 그룹을 설명하는 키워드 집합도 지원합니다. 예를 들어:
pip install fonttools[ufo,lxml,woff,unicode]
이 명령은 "ufo" 등의 추가 기능을 잠금 해제하는 데 필요한 선택적 종속성뿐만 아니라 글꼴 도구도 설치합니다.
Lib/fontTools/misc/etree.py
이 모듈은 XML 파일 읽기/쓰기를 위해 ElementTree와 유사한 API를 내보내고 내장된 xml.etree
모듈 또는 lxml을 백엔드로 사용할 수 있습니다. 후자는 일반적으로 더 빠르고 안전하기 때문에 존재할 때마다 선호됩니다.
추가: lxml
Lib/fontTools/ufoLib
UFO 소스 파일을 읽고 쓰기 위한 패키지; 다음이 필요합니다:
pyfilesystem2
) 파일 시스템 추상화 계층.enum
모듈의 백포트입니다(Python < 3.4에서만 필요함). 추가: ufo
Lib/fontTools/ttLib/woff2.py
WOFF 2.0 웹 글꼴을 압축/압축 해제하는 모듈; 다음이 필요합니다:
추가: woff
Lib/fontTools/ttLib/sfnt.py
WOFF 1.0 웹 글꼴을 더 잘 압축하려면 내장 zlib
라이브러리 대신 다음 모듈을 사용할 수 있습니다.
추가: woff
Lib/fontTools/unicode.py
ttx
로 cmap
테이블을 덤프할 때 유니코드 문자 이름을 표시하기 위해 표준 라이브러리의 unicodedata
모듈을 사용합니다. 여기에 포함된 버전은 Python 버전마다 다릅니다. 사용 가능한 최신 데이터를 사용하려면 다음을 설치할 수 있습니다.
unicodedata
백포트가 최신 유니코드 버전 15.0으로 업데이트되었습니다. 추가: unicode
Lib/fontTools/varLib/interpolatable.py
서로 다른 마스터 간의 잘못된 윤곽/구성요소 순서를 찾기 위한 모듈입니다. 소위 "이분 그래프의 최소 가중치 완벽 매칭 문제" 또는 할당 문제를 해결하려면 다음 패키지 중 하나가 필요합니다.
결과를 PDF 또는 HTML 형식으로 표시하려면 다음도 설치해야 합니다.
추가: interpolatable
Lib/fontTools/varLib/plot.py
DesignSpaceDocument 및 결과 VariationModel을 시각화하기 위한 모듈입니다.
추가: plot
Lib/fontTools/misc/symfont.py
기호 글꼴 통계 분석을 위한 고급 모듈; 다음이 필요합니다:
추가: symfont
Lib/fontTools/t1Lib.py
Python 3에서 파일 생성기와 Macintosh PostScript Type 1 글꼴 유형을 얻으려면 다음 모듈을 설치해야 합니다. 이전 MacOS
모듈은 더 이상 Mac Python에 포함되어 있지 않기 때문입니다:
추가: type1
Lib/fontTools/ttLib/removeOverlaps.py
겹치는 윤곽선과 구성요소를 병합하여 트루타입 글리프를 단순화합니다.
추가: pathops
Lib/fontTools/pens/cocoaPen.py
및 Lib/fontTools/pens/quartzPen.py
Cocoa NSBezierPath
또는 CGPath
사용하여 문자 모양을 그리는 펜에는 다음이 필요합니다.
Lib/fontTools/pens/qtPen.py
Qt의 QPainterPath
사용하여 문자 모양을 그리기 위한 펜에는 다음이 필요합니다.
Lib/fontTools/pens/reportLabPen.py
글리프를 PNG 이미지로 그리기 위한 펜에는 다음이 필요합니다.
Lib/fontTools/pens/freetypePen.py
FreeType을 래스터 이미지로 사용하여 글리프를 그리기 위한 펜에는 다음이 필요합니다.
Lib/fontTools/ttLib/tables/otBase.py
Harfbuzz 라이브러리를 사용하여 hb_repack
메소드를 사용하여 GPOS/GSUB를 직렬화하려면 다음이 필요합니다.
추가: repacker
NEWS.rst
업데이트하세요. 각 PR에 대한 변경 로그 항목을 작성하고 이를 요약하는 하나 또는 두 개의 짧은 문장과 함께 PR 및 PR에서 다루는 관련 문제에 대한 링크를 작성합니다. 새 제목을 입력하지 마십시오. 다음 명령이 자동으로 입력합니다.pip install -r dev-requirements.txt
수행한 다음 main
분기 끝에서 python setup.py release
명령을 실행합니다. 기본적으로 이는 첫 번째 또는 두 번째 숫자를 각각 범프하기 위해 --major
또는 --minor
전달하지 않는 한 세 번째 또는 '패치' 숫자만 범프합니다. 이는 패키지 버전 문자열을 범프하고 NEWS.rst
에서 최신 버전 이후의 변경 사항을 추출하고 해당 텍스트를 사용하여 주석이 달린 git 태그(또는 --sign
옵션을 전달하고 git 및 Github 계정이 있는 경우 서명된 git 태그)를 생성합니다. GPG 키를 사용하여 커밋에 서명하도록 구성됨) 또한 후속 개발 주기를 위해 기본 분기를 여는 추가 버전 범프를 커밋합니다.git push --follow-tags
명령을 실행하여 태그와 커밋을 모두 업스트림 저장소에 푸시합니다. 참고: 다른 로컬 태그도 푸시될 수 있으므로 주의하세요.알파벳순으로:
aschmitz, Olivier Berten, Samyak Bhuta, Erik van Blokland, Petr van Blokland, Jelle Bosma, Sascha Brawer, Tom Byrer, Antonio Cavedoni, Frédéric Coiffier, Vincent Connare, David Corbett, Simon Cozens, Dave Crossland, Simon Daniels, Peter Dekkers, Behdad 에스파보드, 베남 에스파보드, 하네스 파미라, 샘 피시먼, 맷 폰테인, 후지 타카아키, 롭 하게먼스, 야니스 하랄람부스, 그렉 히치콕, 제레미 호르누스, 칼레드 호스니, 존 허드슨, 데니스 모요고 재커리, 잭 잰슨, 톰 카빈스키, 옌스 쿠틸렉, 앙투안 레카, 베르너 렘베르그, 탈 레밍 , 피터 로프팅, 코시모 루포, 올리 마이어, 마사야 나카무라, 데이브 옵스타드, 로렌스 페니, 루즈베 푸르나더, 가렛 리거, 리드 로버츠, 콜린 로플스, 귀도 반 로섬, 저스트 반 로섬, 안드레아스 자이델, 게오르그 세이퍼트, 크리스 심킨스, 미구엘 소사, 아담 트와도치, 아드리앙 테타르, 비탈리 볼코프, 폴 지혜로운.
저작권 (c) 2000 BeOpen.com. 모든 권리 보유.
저작권 (c) 1995-2001 국가 연구 이니셔티브 법인. 모든 권리 보유.
저작권 (c) 1991-1995 Stichting Mathematisch Centrum, 암스테르담. 모든 권리 보유.
재미있게 보내세요!