Illustrator28.x:スクロール中にガイドが消えちゃって困るので応急策

Illustrator2024(現時点28.4.1)は、スクロールやパンの最中にガイドが消えるという仕様があるそうで。なんでも高速化が目的らしいです。それで困らない人がどのぐらいいるのか、ちょっとわからないんですが。
まあ普通は困惑するでしょ。

あーね…

で、仕事してる間に新情報が。

https://twitter.com/hamko1114/status/1775036122105831456

え、じゃ、ほんのちょーっぴり回転させとけば回避できるとか?
というわけで、冗談で1行スクリプトを。
なんかもう目一杯ゼロ詰め込んでみました。.jsxで保存しましょう。

app.activeDocument.activeView.rotateAngle = 0.000000000000001;

おおおおw

見ての通り、ビュー回転角は限りなくゼロなので、おそらく大丈夫じゃないかなとは思うんですが、何と何を試したら精査に行き着くのかサッパリおぼつかないので、何らかの作業に悪影響が及ぶ可能性はあるかもしれません、ということで自己責任でやってみてください。
公式に修正アップデートが来るまでね。

Illustrator UserVoiceには既に「ガイド消すんじゃねえ」リクエストが立っているので、賛同の人は投票してきてくださいまし。
Artboard Borders Disappear when Scrolling/Panning

Illustrator:合成フォントのコワ挙動を覚え(させ)よう

どもども。先日ド派手にコーヒーぶちまけてしまい、キーボードのRが打てなくなりました。
現状、Rだけキーボードビューアから入力してます。
困ったことにだんだん慣れてきました。

さておきで、合成フォント、ありますね。
みなさん合成フォントと聞くと最初にどのアプリを思い浮かべますか。
うちはPageMakerです。もうないですが。
あいつ、先方データで使用された合成フォント定義ファイルをほじくり出して添付してもらわないと
受け取った側が何もできない、ほんとに困った野郎でした。

さておきで、InDesignの場合は、ドキュメントに合成フォントの情報が保存されます。
構成フォントが取り揃っている場合、すんなり開くことができます。
別ドキュメント上で内容の違う同名の合成フォントがある場合は、おけつに「-1」など追加して別物として扱ってくれます。
たまにそれが逆に厄介な場面もあるものの…

対して、Illustratorはというと。
今日はこれを覚えましょう。2023で検証しました。


基本的にIllustratorは作成した合成フォントの情報がドキュメントとアプリの両方に保存されます。
このあと、内容違いの同名の合成フォントが使用されたドキュメントを開いて吠え面をかきます(かきました)。
挙動を検証してみましょう。


新規ドキュメント上で新規の合成フォントを作成。


ドキュメントは保存して、いったん閉じました。
次に、ドキュメントをひとつも開いていない状態で合成フォントの内容をいじります。
英数の、書体とサイズを変えました。


これで、さっき保存したドキュメントを開いてみましょう。

アプリケーションに保存された内容とドキュメントに保存された内容、どっち使うの、
と訊かれました。まー大半は後者でしょうけど。これはキャンセルして閉じました。


ここまではまあ、いいんです。ドキュメントをまた閉じます。

このあとがひどいんですが、
事前情報として、アプリに保存された合成フォントは、定義に使用しているフォントに不足があるとリストから消えます。
といっても一時的に見えなくなっているだけで、フォントが揃えばまた出てきます。
この仕様、いいんだかわるいんだか。


さてー、
合成フォントの最初の状態で使用していたフォント、つまりドキュメントで使用しているフォントを外して(ディアクティベートして)、またドキュメントを開いてみます。
これもダイアログが出ます。またキャンセルして閉じました(スクショは使い回し)。


さっき外したフォントをアクティベートしつつ、今度はアプリ側に保存されている、つまり編集後の合成フォントだけに使用しているフォントを外して(ディアクティベート)、またドキュメントを開いてみます。
一見、元の通りですね。ドキュメント閉じます(スクショは略)。

ドキュメントを閉じて、何も開いていない状態で合成フォントの内容を確認。
きゃー(スクショは略)。


最後に、またドキュメントを閉じて、外したフォントをアクティベート。
ドキュメントをひとつも開いていない状態で、アプリに保存された合成フォントの内容を確認。
上書きされちゃってますこれ。きゃーきゃーきゃー(スクショは略)。

…というわけ。
フォント管理がしっかりできていれば恐るるに足らないものの、
警告なしにこういうことが起こります。

どうですか、びっくりしておしっこ漏らしちゃったりしてませんか(変態かっ)
気をつけましょう。

ですです。

ExtendScript:Document.saved って

Photoshop, Illustrator, InDesign どれも共通した
Document.saved(bool) というプロパティがあるので見てみた。

結果、期待通りの結果が出たのはInDesignだけ。
むしろ、InDesignだけが異色の挙動といえるのか。
PhotoshopとIllustratorは同じ結果だった。

PhotoshopIllustratorInDesign
(日)新規ドキュメント作成直後truetruefalse
(月)既存ドキュメントを開いた直後
およびドキュメント保存直後
truetruetrue
(火)上記(日)のとき、少し作業した状態falsefalsefalse
(水)上記(月)のとき、少し作業した状態falsefalsetrue

まとめると、
InDesignはファイルパスが存在する、つまり一度でも保存されたことがあれば true、
Photoshop/Illustratorは最後の保存以降に作業履歴がある、つまり閉じる時に「保存しますか」と聞かれる状態が true、というわけ。

これ、たとえばPhotoshop/IllustratorならPDF、InDesignならIDMLなどを変換して開いたときに(日)の挙動を起こす。


というわけなので、ついでに検証。
IllustratorとかInDesignって、開いた直後、まだ何もしていないのにタイトルバーのファイル名末尾に*がついて、そのまま閉じようとすると「…保存しないんですか?」って訊かれる場合があるじゃんすか。
Illustratorでこのとき、Document.savedはどうなるのか。どうなるの…

あ、こうなるの…
ちょっと使いにくいねー…