With this script, You can draw lines like "marking with a highlighter (cmyk : y100) " along the "TextRange".


■CS6以降でどうぞ!今年ナンバー2の傑作です(自分で^ ^)
33


■ダウンロードはこちらから(download the script file from below)

https://note.mu/gorolib/n/n4072f04e002a



おつかれさまです。@gorolibです。

唐突ですが健康食品や塾の体験談なんかに「説明文にマーカーを引く」表現がありますね。
33

たまーに出くわすのでずっとなんとかしたかったのですが、この度なんとかなりましたので公開いたします。ずっと手をこまねいていた理由は単純に「どうやってやればいいのか」皆目見当がつかなかったからです…。

何がむずかしいって、マーカーの位置算出です。選択文字の先頭(何番めの文字か)と選択長さ(何文字か)はわかるんですけど、その座標がままならない。

根本にあるものは前回の「文字のうしろに丸背景を描くスクリプト完全版」と同じです。

しかし前回のスクリプトで行った「内部でアウトライン座標を併用する」を転用したらなんとかなりましたので、早速公開いたします。


■ハイライト選択と通常の文字選択を同時に実現するには?


さらにもうひとつ。困難を極めたのはスクリプトでは「文字内部のハイライト選択」と「通常の文字選択」が同時処理できないのです。具体的には

・文字のハイライト選択から選択範囲を抽出する
・選択をいったん解除する
・その後文字全体を選択する

という処理が必要でした。


これについてはメニューコマンド「選択範囲を反転」を連続発行してしのぐことにしました。
20

そのためスクリプトからメニューコマンドを発行できるイラストレーターのバージョン「CS6以降」とさせていただきます。

ちなみにマーカー部分は「ただの線分」ですのでご安心ください。あとでいくらでも線幅変更できます。
30


■今回のスクリプト情報
(クリックで動きます)
タイトルなし

【スクリプト概要】
文字をハイライト選択した部分にマーカー状の線を引きます

【スクリプトファイル名】
G297_TextMarkerTate.jsx(縦組み用)
G297_TextMarkerYoko.jsx(横組み用)
G297_TextMarker.jsx(共通)追記170317

【使い方】
(1)マーカーを引きたい文字をハイライト選択します
(2)このスクリプトを起動します

【仕様】
(1)マーカーは線分です
(2)線幅はハイライト選択した1文字めの文字サイズです
(3)マーカー色はy100(cymkカラー)固定です
(4)エリア文字でもポイント文字でも大丈夫です
(5)縦組み用・横組み用で使い分けてください


お役に立てれば幸いです!ではでは出羽の海。


(追記170317)
ちょっと工夫したら縦組み・横組みが共通化できたのでどうぞ。ダウンロード元は同じです(一応元のスクリプトも残しておきます)
G297_TextMarker.jsx


(追記170803)レガシーテキストでエラーが出る場合の対処法

 <結論>
 レガシーテキストの場合はその文字を別レイヤーに移してから文字範囲選択をお願いいたします。
08

 当スクリプトをレガシーテキストに適用すると、アウトラインできない旨のエラーが出ることがあります。完全にはつかめておりませんが、スクリプト内部で文字を複製して(最後に削除しますが)アウトラインをかける処理があります。座標を把握するためなのですが、このときレガシーテキストは文字ではなくグループアイテムと判断しているようです(コントロールバー上はテキストとなっておりますが)。

 つまりテキストではなく、グループアイテムにアウトラインをかけようとしてエラーで終了していたようです。今回の対処法としては、対象テキストを別レイヤーに移動してから文字選択してくださいませ。

 ただしレガシーテキストでなくとも、グループオブジェクトのまま、文字ツールに持ち替えて範囲選択することもオペレーションとしてはありえそうですので、お問い合わせが頻発するようでしたら対応を検討いたします。

 ご迷惑をおかけいたしますが、何卒よろしくお願いいたします。

(追記20200119)

RGB版を追加しましたので、よろしくお願いいたします。

G297_TextMarkerRGB.jsx

ダウンロード欄からどうぞ。


■ダウンロードはこちらから


https://note.mu/gorolib/n/n4072f04e002a