많은 양의 글리프가있는 글꼴을 만들고 싶습니다. 일본어 한자를 수천 개로 생각하십시오. 따라서 확실히 스크립팅 / 배치 처리가 필요합니다. 운 좋게도 FontForge는 파이썬 스크립팅을 지원합니다! 불행히도 나는 그것을 작동시킬 수 없었다. [슬픈 얼굴]
첫째, 내 질문의 큰 부분에 대한 답변을 여기 에 게시 한 사용자 Hoff 에게 감사드립니다 . 그러나 그의 스크립트를 실행하면 더 많은 질문을 제기하는 문제가 발생합니다.
Failed to find NameList: AGL For New Fonts
Warning: Font contained no glyphs
업데이트 :
다음은 Hoff의 코드입니다.
import fontforge
font = fontforge.open('blank.sfd')
glyph = font.createMappedChar('A')
glyph.importOutlines('sourceimg.svg')
font.generate('testfont.ttf')
어제 5 시간 동안 FontForge를 구축하는 데 어려움을 겪었습니다 (Mac에서 혼란스러운 프로세스). 나는 그것을 제대로 실행하고있는 것처럼 보인다. 처음에는 .dmg에서 미리 빌드 된 버전을 설치하여 파이썬 지원이 부족하다는 것을 알았습니다. 그러나 Hoff는 내가 한 것과 같은 오류가 발생하지 않는 것 같았으므로 빌드 문제를 배제하지 않습니다.
어느 쪽이든 AGL과 관련된 오류를 이해하지 못합니다. AGL은 무엇입니까? 나는 그것을 찾았다 : "Adobe Glyph List-표준 글리프 명명 규칙". FontForge가 유니 코드 값을 글리프 이름에 매핑하려고 시도했지만 실패한 것처럼 들립니다.
그렇다면 왜 AGL NameList 문제입니까? 도움을 주셔서 미리 감사드립니다.
Fonforge를 재건하십시오. 코드가 작동해야하기 때문입니다. 나는 그것을 테스트했고 잘 실행됩니다.
Homebrew 와 함께 Python 확장을 사용하여 Fontforge를 성공적으로 설치했습니다 . 이것은 정보입니다 :
allcaps$ brew info fontforge fontforge: stable 20120731, HEAD http://fontforge.org/ /usr/local/Cellar/fontforge/20120731 (377 files, 16M) * Built from source with: --with-x From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/fontforge.rb ==> Dependencies Required: gettext ✘, fontconfig ✔ Recommended: jpeg ✔, libtiff ✔ Optional: cairo ✔, pango ✘, libspiro ✘, czmq ✘ ==> Options --with-cairo Build with cairo support --with-czmq Build with czmq support --with-gif Build with GIF support --with-libspiro Build with libspiro support --with-pango Build with pango support --with-x Build with X11 support, including FontForge.app --without-jpeg Build without jpeg support --without-libpng Build without libpng support --without-libtiff Build without libtiff support --without-python Build without python support --HEAD install HEAD version ==> Caveats Set PYTHONPATH if you need Python to find the installed site-packages: export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH .app bundles were installed. Run `brew linkapps` to symlink these to /Applications.
물론 필요한 모든 플래그로 PYTHONPATH
실행 brew install fontforge
을 설정 하십시오 .
운영brew linkapps
글꼴이 문제가되지 않도록 빈 글꼴로 시작합니다.
import fontforge
font = fontforge.font() # create a new font
글리프 목록을 포함하려면 (필수는 아님) 다운로드 : http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt 및 다음을 수행하십시오.
import fontforge
fontforge.loadNamelist('glyphlist.txt') # load a name list
...
코드 포인트로 글리프를 만듭니다. createChar(uni[,name])
A는 65 살이니까
char = font.createChar(65)
글리프 및 해당 코드 포인트 :
>>> for c in u'ABC 賢治': print ord(c).
>>> 65, 66, 67, 32, 36066, 27835.
유니 코드 컨소시엄은 유니 코드 표준을 정의합니다. 'CJK Unified Ideographs'는 'Basic Multilingual Plane (BMP)'에 있습니다.
유니 코드 포인트가없는 글리프는 이름으로 글꼴 내에서 참조 할 수 있습니다. 새로운 글리프를 작성하기위한 개방형 기능 또는 빌딩 블록에 유용합니다. 다음과 같이 만들 수 있습니다.
font.createChar(-1, 'some_name')
Adobe Glyph List 에있는 모든 글리프의 이름을 AGL 글리프 이름으로 지정해야합니다. 나머지 글리프는 유니 코드 색인이있는 uniXXXX
곳의 이름을 지정해야합니다 XXXX
. 개발 중에 사람이 읽을 수있는 이름을 사용할 수 있습니다. 따라서 배송 용 글꼴을 생성 할 때 고유 한 이름을 사용하고 교체하십시오. Typophile를 참조하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다