見出し画像

フォント制作ソフトGlyphsにAIを導入する

昨年のAIブームの時点ではまだまだフォント業界にAIの恩恵は少ないのですが、最近出てきたClaude3.5 Sonnetはだいぶ良い感じです。

というわけでGlyphsとClaudeを接続するツールを作って公開しています。
以前公開のツールは実験的で実用性に乏しかったのですがやっと実用ラインに乗ったかなという感じです。

GlyphsGPTのインストールと使い方

Glyphsで通常インストールするPythonランタイムは、ネットワーク系が使えないのでHomebrew等から別途Pythonを入れます。

1, HomebrewでPythonを入れます

、と思ったら自分の環境でもHomebrewのとこで引っかかりました。Gitを入れるよう指示が出たので入れます。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

でPython 3.10を入れます。

brew install python@3.10

できたらGlyphsのPythonをHomebrewで入れたものにします。(本当はPyenvのが使えると便利なんですがダメみたいですね)

Python.orgから自分でダウンロードしインストール入れたものとhomebrewのものがあるとなんか上手く動かないみたいです。(Pyenvとか使ってる人とかもまただいぶややこしいですが、今のところPyenvとhomebrewで入れたものは共存できてます。)

先ほどのPythonにAI用のライブラリーを入れます。入れるのは基本的には

anthoropic
openai

です。また初めてhomebrewでpython入れた人は多分

pyobjc

とかも入れて下さい。Terminalにpip3 install anthropic とかやると入ります。

pyobjcの結構インストールが面倒で、やれpip3のバージョンが古いとか色々言ってくると思いますが、結構個人の環境によると思うのでここは自力で頑張るしかないです。(pipとpip3の違いとかなんなんでしょう。)openaiのライブラリも結構追加で色々要求してくる上、ライブラリー同士の相性もあるので少々面倒ですが・・・

ちなみに私の環境だと

PyYAML
jiter
pydantic

とかいっぱいインストールしたり、openaiのライブラリ再インストールしたりさせられました。

以前はデザイナーでプログラム書いてた人はこの辺りで躓いてしまうのですが、今はChatGPTなりClaudeに質問すればなんとか乗り越えられます。

個人的にはGlyphs用のPythonは公式のモジュールから入れるランタイムのやつより、Homebrewで入れる方が一番楽なきもします。(公式のはライブラリーの追加する時とか面倒に思います)


2, GlyphsGPTの準備

gitからGlyphsGPTを落としてきます。

パッケージの内容を表示しContents>Resources>plugin.pyを適当なエディターで開きます。

sys.path.insertのところにanthropicのライブラリーのパスを書きます・・・このコードは本来いらない気がしたのですが、私の開発環境だとこれを入れておかないと上手くanthropicのライブラリ読まなかったので書いてます。(消して動く人は消してたほうが良いかもしれません。 この記事を書いてるMac環境では不要でした)

消すと動かない人で、何を書いていいのかよくわかんない人はGlyphsのMacroで以下を実行してみて下さい。

import sys

import objc

print(sys.executable)

print(sys.prefix)
for p in sys.path:
    print(p)

import pkg_resources
installed_packages = pkg_resources.working_set installed_packages_list = sorted([f"{i.key}=={i.version}" for i in installed_packages]) print("\n".join(installed_packages_list))

上記のprint(p)のところでパスとか使えるライブラリーの一覧がコンソールに出てきます。パスの中で最後にsite-packagesとか書かれてるものがあったらそれを書いてみて下さい。

最後にAPIキーを入れて下さい。APIキーは自分が使うAIの方だけで大丈夫です。(ライブラリーはAnthropicもOpenAIも両方入れないとツールが起動しませんが。)

以上です。GlyphsGPT自体は設定簡単なんですけど、Pythonの実行環境作りが100倍めんどくさいのが難点です。

3、デモ

最後にどんな感じかお見せしましょう。noteに動画があげれないのが残念ですが。



ちなみに、API経由ではヒストリは基本参照されない、GlyphsのMacroエディターという制限があるので高度なプログラム作成には向きません。


コード眺めればわかるのですが、内部でプロンプトのテンプレと合体させているので人力でのプロンプト入力は最小限になります。逆に不要な人はこのを部分消して下さい。


しかしこれでコードを書く無駄な仕事から少し解放されます。


この記事が気に入ったらサポートをしてみませんか?