尝试重建您的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
//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.
Unicode联盟定义了Unicode标准。“中日韩统一表意文字”存在于“基本多语言平面(BMP)”中。
没有unicode点的字形可以按名称在字体中引用。并且对于组成新字形的开放式功能部件或构建基块很有用。您可以这样创建它们:
font.createChar(-1, 'some_name')
您应该使用AGL字形名称来命名Adobe字形列表中出现的所有字形。字形的其余部分应该被命名为uniXXXX
其中XXXX
是Unicode指数。在开发过程中,您可以使用任何可读的名称。因此,请使用您自己的命名并在生成要运输的字体时替换它。见Typophile。