概要
このコードを参考にSwiftでCLI作ろうかな https://t.co/leYuECUG92
— こうちゃん黒猫まみれ (@macneko_ayu) October 27, 2020
敬愛するものかのさんが、Illustratorファイル(ai, eps)の作成アプリバージョンと保存バージョンを抽出するコードをPythonで書いたコードを公開されたので、同じようなものをSwiftで書いてみたいと思って書いてみました。
Tweetにあるとおり当初はCLIを書こうかと思ったんですが、ぐちゃっとしたコードを書き直しながらCLI化していると飽きてしまいそうなので、XcodeのPlaygroundにコードを貼り付けたら動くという状態で公開することにしました。
ソースコード
やっていること
- ファイルを1MBバイトずつ読み込んで、Data型に変換する
- バージョンが表記してある箇所の前後にある文字列をキーとして、バージョンが表記されているRangeを取得する
- 作成バージョンは
AI8_CreatorVersion:
と%%For
の間にある - 保存バージョンは
%Creator: Adobe Illustrator(R)
と%%AI8_CreatorVersion:
の間にある
- 作成バージョンは
- 取得したRangeを使って1のDataから値を抽出してString型に変換する
- 作成バージョンと保存バージョンが抽出できたらクロージャを実行して、バージョンを出力する
やっていないこと
ものかのさんのPythonスクリプトではCCのバージョンへの読み替えを行っていますが、私のコードではやっていません。
まとめ
私、がんばった