fontmake
다양한 소스( .glyphs
, .ufo
, designspace
)의 글꼴을 바이너리( .otf
, .ttf
)로 컴파일합니다. 이를 사용하여 정적 인스턴스와 가변 글꼴을 만들 수 있습니다.
Fontmake에는 Python 3.8 이상이 필요합니다.
릴리스는 PyPI에서 사용 가능하며 pip로 설치할 수 있습니다.
pip3 install fontmake
-U
, --upgrade
옵션을 사용하여 FontMake 및 해당 종속성을 사용 가능한 최신 릴리스로 업데이트합니다.
pip3 install -U fontmake
설치 후에는 fontmake
실행 파일을 사용할 수 있습니다.
예를 들어 Glyphs 소스 파일에서 가변 글꼴을 컴파일하려면 다음을 사용하십시오.
fontmake MyFont.glyphs -o variable
fontmake
실행 파일에 대한 가장 중요한 명령줄 인수는 위치 인수로 지정되거나 -g
/ -u
/ -m
플래그 중 하나를 사용하여 지정되는 필수 입력과 출력 파일 형식을 선택하는 선택적 -o
플래그입니다.
소스 파일을 지정하는 방법에는 두 가지가 있습니다.
다음과 같이 상호 배타적인 플래그를 사용할 수 있습니다.
-g filename.glyphs
: Glyphs 소스 파일을 바이너리로 변환합니다.-u filename.ufo ...
: 하나 이상의 UFO(Z) 파일을 바이너리로 변환합니다.-m filename.designspace
: Designspace 파일을 바이너리로 변환합니다. ( -m
은 디자인 공간을 처리하기 위한 오래된 Python 라이브러리인 mutatormath
를 위한 것입니다.) 또는 플래그 없이 위치 인수로 입력을 지정할 수 있으며, 이를 통해 Fontmake가 파일 확장자에서 소스 형식을 추론하도록 할 수 있습니다(예: fontmake MyFont.designspace
등).
참고: 위치 인수 앞에 하나 이상의 인수를 취하는 옵션이 있는 경우 특수 --
구분 기호를 사용하여 다음 인수를 모두 위치(옵션 아님)로 표시해야 합니다. 그렇지 않으면 파서가 혼란스러워집니다. 예를 들어, -i
옵션은 0개 또는 1개의 인수를 사용합니다(자세한 내용은 아래 추가 참조). --
없이 argparse는 입력을 제공하지 않았다고 생각합니다.
fontmake -i -- MyFont.designspace
두 접근 방식 중 하나를 사용하여 정확히 한 가지 유형의 입력을 지정할 수 있거나 지정해야 합니다.
-o
옵션 뒤에 하나 이상의 출력 파일 형식을 제공할 수 있습니다. 예를 들어, -o otf ttf
입력 파일의 각 마스터에 대해 OTF 및 TTF 이진 글꼴 파일을 생성합니다.
다음 출력 파일 형식을 사용할 수 있습니다.
otf
: 마스터별 OTF(CFF-outline) 바이너리입니다. master_otf/
디렉터리에 위치합니다.ttf
: 마스터별 TTF(TrueType-outline) 바이너리입니다. master_ttf/
디렉터리에 위치합니다.otf-cff2
: CFF2 아웃라인이 있는 마스터별 OTF 바이너리입니다. master_otf/
디렉터리에 위치합니다.variable
: 트루타입 가변 글꼴입니다. variable_ttf/
디렉토리에 위치합니다.variable-cff2
: CFF2 윤곽선이 있는 가변 글꼴입니다. variable_otf/
디렉토리에 위치합니다.다음 출력 파일 형식도 사용할 수 있지만 일반적으로 위 출력 중 하나에 대한 중간 단계로 Fontmake에서 내부적으로 사용됩니다.
otf-interpolatable
: 가변 글꼴로 병합하는 데 적합한 OTF 바이너리입니다. master_otf_interpolatable/
디렉터리에 위치합니다. (윤곽선이 최적화되지 않았다는 점에서 otf
와 다릅니다.)ttf-interpolatable
: 가변 글꼴로 병합하는 데 적합한 TTF 바이너리입니다. master_ttf_interpolatable/
디렉터리에 위치합니다. (윤곽선은 보간 호환 방식으로 2차 곡선으로 변환됩니다.)ufo
: 글리프 소스는 --save-ufo-as-zip
플래그를 사용하여 UFO 또는 UFO zip( .ufoz
) 형식으로 변환할 수 있습니다. master_ufo/
디렉터리에 위치합니다. 형식 옵션이 지정되지 않은 경우 기본값은 -o otf ttf
입니다.
-i
(인스턴스 보간): 마스터별 바이너리를 갖는 것이 항상 기대하는 것은 아닙니다. Glyphs 파일에 인스턴스("내보내기")를 정의한 경우 기본적으로 생성되지 않습니다 . 이를 생성하려면 정적 인스턴스를 보간하는 -i
플래그를 전달하고 인스턴스를 적절하게 instance_ttf/
또는 instance_otf/
디렉터리에 배치합니다.
--output-dir <some_directory>
: 위에서 언급한 형식별 디렉터리 대신 지정된 디렉터리에 모든 출력을 배치합니다.
--output-path <filename>
: 출력이 단일 바이너리 파일인 경우에만 유효하며 출력을 지정된 파일 이름에 씁니다.
-f
(구성 요소 병합): 자체적으로 구성 요소를 포함하는 구성 요소를 포함하는 모든 글리프가 단일 수준으로 분해되도록 합니다. 특정 렌더링 환경이 중첩된 구성 요소를 올바르게 처리하지 못하기 때문에 이는 권장됩니다. 자세한 내용은 이 링크를 참조하세요.
USAGE.md
참조하세요.
TROUBLESHOOTING.md
참조하세요.
개발자는 git 저장소를 복제하여 최신 버전의 fontmake
얻을 수 있습니다.
git clone https://github.com/googlefonts/fontmake
cd fontmake
pip install .
다시 설치하지 않고 소스 코드 변경 사항을 빠르게 테스트하려는 개발자는 로컬 소스 체크아웃에서 설치할 때 "--editable" 옵션을 사용할 수 있습니다.
pip install -e .
종속성과 전역적으로 설치된 다른 모듈 간의 충돌을 방지하려면 가상 환경 내에 Fontmake를 설치하는 것이 좋습니다.
또한 pipx 도구를 사용하여 격리된 환경에서 Fontmake와 같은 Python 앱의 설치/업그레이드를 자동화할 수도 있습니다.
git tag -a v3.1.1
git push origin v3.1.1
, 여기서 origin
버전을 푸시하려는 일반적인 리모콘의 이름입니다.