ないと地味に不便な『作成文字一覧の出力』
Glyphs、基本的には使うほどに「いや~こいつスゴイわ~」と感動が深まる良アプリケーションなのですが、唯一「別の某フォント作成ソフトには存在するアノ機能、Glyphsにはどうして無いの!?」と不便に感じてしまう部分がありまして……。
それが【作成文字一覧の出力】なのです。
この機能、搭載されている別の某フォント作成ソフトでは、作成した文字を一括でチェックしたり、ダウンロードサイトに「使用可能文字」として表記したりする際に利用したりと、とても重宝している機能なのですが……。
Glyphsにはなぜか(というか、欧米発祥のGlyphsだからこそ?なのかも)現状この機能が実装されておらず、どうも将来的にも実装されなさそうな感じ……。
ただ、この一覧出力、実現不可能な機能なのかというと全くそうではなく、どうやらGlyphsの持つマクロ機能(Pythonスクリプト)を使えば簡単にできちゃうようなのです。
ということで、Glyphsのマクロ機能を使って作成済み文字一覧を出力するPythonスクリプトを書きました(たった6行のスクリプトなので、書きました、ってほどでもないですが)。当方、スクリプト作成に関しては素人ですので(そんな私でも、Glyphsの公式スクリプトチュートリアルはとてもわかり易かったです)、動作保証はいたしかねますのでご了承ください。
スクリプトの改善点など、「こうすればもっと良いよ!」というアドバイスぜひぜひお待ちしております。
マクロパネルを利用した作成済み文字一覧の出力方法
- 出力したいフォントのマスターを選択し、カテゴリーで「すべて」をクリックし、グリフを全て選択状態にします。(←コレ大事です。選択状態にあるグリフのうち、パスの存在するデータを出力します。)
- メニューの「ウィンドウ」から「マクロパネル」を開きます。
- 上半分のエリアに、下記のスクリプトをコピー&ペーストして、実行ボタンをクリックします。
print "---start---" for thisLayer in Glyphs.font.selectedLayers: if len(thisLayer.paths) > 0: print thisLayer.parent.string, print thisLayer.parent.name print "---end---"
- 下半分のエリアに、1.で選択したグリフのうち、パスが存在するグリフの一覧が出力されます。
スクリプトの仕様上、「space」や「.notdef」のようなパスデータの存在しないグリフは出力されませんのでご注意ください。
- 出力結果をテキストファイルにコピーしてスペース区切りのCSVに変換するなど、自由に加工します。
おまけ
今回のスクリプトは、枠があるだけで未作成の状態にあるグリフは出力されないように、データ内にパスが1つ以上含まれるグリフのみ一覧出力するようにしてあります。
もし「空欄になっている未作成グリフも出力したい!」という場合は、スクリプト3行目の
if len(thisLayer.paths) > 0:
の末尾の0を、下記のように「-1」に書き換えることで、全てのグリフを出力することができるようになります。
if len(thisLayer.paths) > -1:
コメント