PNGファイルの情報を読み出すツール

データを取り回しているときに単純なファイル情報を取得して利用したくなる場合が多くあります。例えば画像の縦横のピクセル数とかカラーモードとかとか…
もちろんXMPとか参照したりPSにて調べたりというものありなのですが、もっと簡単にできれば便利じゃないかな???
って思いました。で、出来たのがJPGToolとかいうやつです。こちらはJPGファイルの基本的な情報をバイナリ検索して抽出するものでした。ぐぐればすぐに見つかるので見てみるのも良いでしょう。
しかし今回、なんでPNG見れないんだっ?てなって急遽PNGの情報を抜き出すやつを書きました。

続きを読む

workspaceをなんとかするスクリプト

workspaceSwitcherって書いちゃうとまたやってるのかwって思われてしまうのであえてタイトルにしないというのはわたしのささやかな抵抗なのですが、今回のものはInDesign用です。おそらくCS6でも動きますのスクリプトなのですが、思ったよりスイッチングが早かったので前から作っているプラグインバージョンは必要ないかもしれないなって80%程やる気を失っていしまっているのはまた別のおはなしです。いや、苦戦しているのは確かなのですがPrefixIDの問題とか色々なハードルがございましてなかなか一筋縄では行かない状態なのです。で、いっその事ロジックから一新してしまうのもありかなって思ったのでやってみるとそれなりに動作してしまったというわけなのです。現在、テストを兼ねてスタートアップに放り込んでIDを動作させていますが安定しているので一旦このバージョンを放流してお茶を濁しておこうという了見なのです。はい、まあ動くからいいじゃないですかぁw
SDKの方はある程度の事は出来るようになったのですが、中々一人では超えられない壁にぶち当たっている状況です。まあ、デベロッパーフィー払ってサポート受けるのが最短ではありますが、ブロンズでも年間$400以上ですのでパトロンでも見つけないとムリぽwww

続きを読む

Apple Color Emojiフォントを見本になにかする その2

後回しにしたチェックサムの件…

OTFフォントのチェックサムというのはとても面白い仕組みです。基本的に32bitの符号なし整数なのでファイルの頭から4バイトづつ読み出して全部足した下位32ビット分がそれに当たるのですがどのフォントを見ても0xB1B0AFBAになります。日本語フォントであろうが欧文フォントであろうが0xB1B0AFBAです。TrueType、ポストスクリプト系等は全く関係ありません。それもそのはず、headテーブルにChecksum Adjustmentっていうやつがあって、全体足したやつを0xB1B0AFBAから引いたデータとして書き込んであるからです。本日の豆知識でしたw

続きを読む

Apple Color Emojiフォントを見本になにかする その1

何気なくつぶやいたら思いの外反響のあった絵文字フォントの件なのですが、一足飛びにsbixだけを解説してお茶を濁すのも面白くありません。ので、全体構造から始まり、適宜必要なツールを作りながらフォント構造を紐解いていく事にします。
まず、オープンタイプっていうのは色々な規格のデータを寄せ集めてまとめたものです。構造を見てみると本当にひどいものです。旧来あったものを大企業が主に利害をぶつけ合った結果出来上がったもの(暴言w)です。ですから、OpenTypeの構造は旧来のTrueTypeとPostscriptのフォント構造をラップするような仕様になっています。
こんな状況変だよね〜って思ったのかどうかはわかりませんが、ここへ来てOpenTypeが内包する無駄な部分を調整する動きが出てきています。これは主に新しいカラーフォントやバリアブルフォントを効率良く実装する為の変更だったりします。まあ、当然従来からのフォントに対しても利用可能です。しかし、フォーマットの定義としては正しいものができるでしょうが既存のアプリケーションが正しく扱えるかどうかはまた別のお話です。そこらへんが今ひとつよくわからなかったりするのですが、そのへんは追々ということでよろしいかと思うのです。興味深いのはCFFまわりというかCFFの後継フォーマットのCFF2テーブルというのが追加されたことです。CFFというフォーマットはAdobeが作ったもので、Type1フォントの3次のベジェ曲線をサポートするためのコマンド群を含みます。当然AppleやMSは全くノータッチで、ドキュメントすら「Adobeの読んだら?」って状態でした。ところが、このCFF2テーブルに関してはMSからドキュメントがリリースされています。そして、中身はというと従来のType2Stringコマンドをばっさりと切り捨ててコマンドがスカスカの状態になっています。なぜこうまでしてCFFを使うのかと言いますと、このテーブルはかなり圧縮が効きます。Pr6などのOTFフォントがあの容量で収まるのはこのCFFのご利益といえるでしょう。そして、展開もそう複雑な処理になりませんので負荷が軽くて済みます。このへんのところというのは1990年代の非力なマシンでの利用を想定していたPostscriptフォントの特性を残しつつといったところでしょう。でも、パース処理は煩雑になります。やんなっちゃうw この辺に関しては、そのうちご説明できる機会があるかもしれません。
大幅に脱線しました。絵文字フォントに関してですが、高解像度ビットマップをグリフとして扱うものとSVGを利用したベクターベースのものがあります。今回はApple Color Emojiフォントを紐解く為のものですからビットマップベースのフォントを見ていくことになります。

続きを読む

XMPメタデータをExtendscriptから操作するライブラリXMPtool

XMPメタデータをJavascriptから編集するというのは以前からちょこちょこ説明していますが、数年前に作ったライブラリがございます。すっかり放置なのですが結構便利に使えるものです。
https://github.com/ten-A/Extend_Script_experimentals/blob/master/XMPtool.jsx

もの自体はわたしのgithubに用意しております。見ていただけると分かると思いますがmetaMemo等のXMP操作を行うエクステンションのコアを整理して汎用に転用したものです。
おそらく知っている人はよく知っているし、知らない人は全く知らない代物ですのでここらへんでご紹介しておきましょう。

続きを読む