sidewalkcafe blog

日々是好日

イラストレータのバグ(永久ループ)

再現方法

  • 文字を選択
  • メニューから[ウィンドウ]→[書式]→[文字]で文字パレットを表示させる
  • [文字間のカーニングを設定]窓から-[オプティカル]を選ぶ
    • いわゆる普通のカーニング設定
  • 文字間にカーソルを持っていくと、カーニング窓に数字が表示される
    • [(-75)]の様な括弧付の数字が表示される
    • カーニング数が正数だとエラーループは起きない
  • カーニング窓をクリックして選択状態にする
  • リターンキーを押す
    • 数値以外を入れてもおk 例:「abc123」や「自動」など
    • 括弧を消さずに数値だけを変更しても同様
  • 「無効な数値です。」というエラー表示が永久に出る
    • [OK]ボタンを押し続けるしか出来ないので強制修了しかない。もちろん保存も出来ない。

原因

  • 文字パレットのカーニング窓には数値と四則演算記号しか入力できない
    • 計算できないものも不可 例:4-
  • 文字や記号といったものや「(」(括弧)を入れると「無効な数値です。」というエラーが出る
  • エラーになると入力前のもとの数値に戻される
  • もともと表示されてた「オプティカルのカーニング数」にも括弧が入ってる
  • 括弧は無効な数値なのでエラーを吐く
  • ループ

対策

  • カーニングのプロパティ「オプティカル」は使わず「自動」を使う
  • 「自動」では数値は表示されず、エラーループは起きなかった
    • (0)という表示になる

エラーが確認できたバージョン

  • CS2(2回のみでループから抜けられる)
  • CS3
  • CS4

旧バージョンは「オプティカル」が存在しないのでエラーループは(自動でも)起きなかった(v7と8で確認)
最近のはシラネ