With this script, You can draw lines like "marking with a highlighter (cmyk : y100) " along the "TextRange".
■CS6以降でどうぞ!今年ナンバー2の傑作です(自分で^ ^)
■ダウンロードはこちらから(download the script file from below)
https://note.mu/gorolib/n/n4072f04e002a
おつかれさまです。@gorolibです。
唐突ですが健康食品や塾の体験談なんかに「説明文にマーカーを引く」表現がありますね。
たまーに出くわすのでずっとなんとかしたかったのですが、この度なんとかなりましたので公開いたします。ずっと手をこまねいていた理由は単純に「どうやってやればいいのか」皆目見当がつかなかったからです…。
何がむずかしいって、マーカーの位置算出です。選択文字の先頭(何番めの文字か)と選択長さ(何文字か)はわかるんですけど、その座標がままならない。
根本にあるものは前回の「文字のうしろに丸背景を描くスクリプト完全版」と同じです。
根本にあるものは前回の「文字のうしろに丸背景を描くスクリプト完全版」と同じです。
しかし前回のスクリプトで行った「内部でアウトライン座標を併用する」を転用したらなんとかなりましたので、早速公開いたします。
■ハイライト選択と通常の文字選択を同時に実現するには?
さらにもうひとつ。困難を極めたのはスクリプトでは「文字内部のハイライト選択」と「通常の文字選択」が同時処理できないのです。具体的には
・文字のハイライト選択から選択範囲を抽出する
・選択をいったん解除する
・選択をいったん解除する
・その後文字全体を選択する
という処理が必要でした。
これについてはメニューコマンド「選択範囲を反転」を連続発行してしのぐことにしました。
そのためスクリプトからメニューコマンドを発行できるイラストレーターのバージョン「CS6以降」とさせていただきます。
ちなみにマーカー部分は「ただの線分」ですのでご安心ください。あとでいくらでも線幅変更できます。
■今回のスクリプト情報
(クリックで動きます)
【スクリプト概要】
文字をハイライト選択した部分にマーカー状の線を引きます
【スクリプトファイル名】
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)レガシーテキストでエラーが出る場合の対処法
<結論>
レガシーテキストの場合はその文字を別レイヤーに移してから文字範囲選択をお願いいたします。
当スクリプトをレガシーテキストに適用すると、アウトラインできない旨のエラーが出ることがあります。完全にはつかめておりませんが、スクリプト内部で文字を複製して(最後に削除しますが)アウトラインをかける処理があります。座標を把握するためなのですが、このときレガシーテキストは文字ではなくグループアイテムと判断しているようです(コントロールバー上はテキストとなっておりますが)。
つまりテキストではなく、グループアイテムにアウトラインをかけようとしてエラーで終了していたようです。今回の対処法としては、対象テキストを別レイヤーに移動してから文字選択してくださいませ。
ただしレガシーテキストでなくとも、グループオブジェクトのまま、文字ツールに持ち替えて範囲選択することもオペレーションとしてはありえそうですので、お問い合わせが頻発するようでしたら対応を検討いたします。
ご迷惑をおかけいたしますが、何卒よろしくお願いいたします。
(追記20200119)
RGB版を追加しましたので、よろしくお願いいたします。
G297_TextMarkerRGB.jsx
ダウンロード欄からどうぞ。
■ダウンロードはこちらから
https://note.mu/gorolib/n/n4072f04e002a
コメント
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。