※このスクリプトは、スクリプト使い放題マガジン2(月額)に含まれています。

 参考:スクリプト使い放題マガジン2(月額)もごひいきに


■任意ハイフンって何ですか(恥)
(クリックで動きます)
タイトルなし

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

 今回師匠より「文字の位置はそのままで任意ハイフンで分割したい!」というアイデアをいただきました。なるほど!なんら文字の内容は変わらないし目印としては最高ですね〜。ところで、

 に、任意ハイフンって何ですか(笑)

 すみません師匠、勉強不足で。

 Illustrator CC 2017からのようでして、InDesignには前からあるんですね。単語のハイフネーション(ハイフンを挿入して改行する)の位置を指示するための制御文字だそうです。ああ、英語でよくあるあれですね。物理的なスペースが入らないようなので、これを分割の目印にしたらどうかと。

 任意ハイフンの文字コードについては、seuzoさんのところで勉強させていただきました。ありがとうございます
 m(_ _)m

 参考:特殊文字のコード一覧 - 名もないテクノ手

 文字コードが173番ですから、ストリングに変換したものを固定値として持っておき(HYP)、文字列のcontentsと1文字づつ比較するような処理にしています。

 ver HYP = String.fromCharCode(173) 


■座標はアウトライン文字を参照

 分割した文字の座標は、内部で複製したアウトライン文字を参照しています。もちろん複製した文字オブジェクトは最後に削除しています。

 ですのでオブジェクトのアウトライン(アピアランス)をかけておき、さらにプレビュー境界をオンでご利用いただいたほうが、文字の位置は正確です。
34
50

 また分割したそれぞれの文字の文字サイズやカーニングなどの属性は、1文字目のものが踏襲されます。そのため、異なる属性が含まれる文字列には適しませんのでご注意ください。


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

【スクリプト概要】
位置はそのままにして文字列内に含まれる任意ハイフンで文字列を分割します

【スクリプトファイル名】
G399_DevideHyphen.jsx

【使い方】
(1)分割したい位置に任意ハイフンを挿入します
    書式>特殊文字を挿入>ハイフンおよびダッシュ>任意ハイフン
(2)このスクリプトを起動します
(3)任意ハイフンの位置で文字が分割されます

【仕様】
(1)1行のポイント文字を想定しています
(2)文字サイズやカーニングなどの属性は1文字目のものが踏襲されます(異なる属性が含まれる文字列には適しません)
(3)複数オブジェクトの選択が可能です
(4)文字以外が選択されていても(ざっくり選んでも)大丈夫です
(5)プレビュー境界にも対応しています

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


(追記171004)
もうその任意ハイフンを入れるタイミング、つまり文字ツール使用中のカーソルの位置でダイレクト分割しちゃえはいいんじゃないの?と思いまして別バージョンを作りました。ご利用くださいませm(_ _)m

【スクリプトファイル名】
G400_DevideHyphen2.jsx

【使い方】
(1)分割したい位置に文字ツールのカーソルを置きます
(2)このスクリプトを起動します
(3)カーソルの位置で文字が分割されます
(4)範囲選択なしならば2分割、範囲選択ありならば3分割です
タイトルなし



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

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