Hatena::Grouppython

Pythonで遊ぶよ

 | 

2010-11-24

fontTools

03:43

Charis SIL という IPA 記号(発音記号)がとても綺麗なフリーのフォントがある。

改変 OK だしウェブフォントにも使えるんだけど、いかんせん Unicode をかなり網羅的にカバーしていて1.5MB もあるので、発音記号のあたりだけ抜き出したい。

そこで、project_the_tower2 さんが紹介してた fontTools というライブラリを使おうとしたんだけど、途中でエラーが出てしまった。

% ~/c/Python26/python foo.py
Dumping 'GlyphOrder' table...
Dumping 'head' table...
Dumping 'hhea' table...
Dumping 'maxp' table...
Dumping 'OS/2' table...
Dumping 'hmtx' table...
Dumping 'cmap' table...
Dumping 'fpgm' table...
Dumping 'prep' table...
Dumping 'cvt ' table...
Dumping 'loca' table...
Dumping 'glyf' table...
Traceback (most recent call last):
  File "foo.py", line 4, in <module>
    tt.saveXML("CharisSIL-regular.xml");
  File "C:\Users\atsushi\My Dropbox\Programming\Sites\webfont\py\fonttools-2.3\Lib\fontTools\ttLib\__init__.py", line 268, in saveXML
    self._tableToXML(tableWriter, tag, progress)
  File "C:\Users\atsushi\My Dropbox\Programming\Sites\webfont\py\fonttools-2.3\Lib\fontTools\ttLib\__init__.py", line 283, in _tableToXML
    table = self[tag]
  File "C:\Users\atsushi\My Dropbox\Programming\Sites\webfont\py\fonttools-2.3\Lib\fontTools\ttLib\__init__.py", line 373, in __getitem__
    table.decompile(data, self)
  File "C:\Users\atsushi\My Dropbox\Programming\Sites\webfont\py\fonttools-2.3\Lib\fontTools\ttLib\tables\_k_e_r_n.py", line 40, in decompile
    subtable.decompile(data[:length], ttFont)
  File "C:\Users\atsushi\My Dropbox\Programming\Sites\webfont\py\fonttools-2.3\Lib\fontTools\ttLib\tables\_k_e_r_n.py", line 103, in decompile
    assert len(data) == 0, len(data)
AssertionError: 21154

残念。regular でも italic でも同じところ(グリフを抜き出すところ?)で止まってしまう。何かいい方法ないかな…。

トラックバック - http://python.g.hatena.ne.jp/edvakf/20101124
 |