2024年09月27日

スクリプトで装飾数字に置換する【InDesign】※さらなる改良版

DTP作業者にとっての難易度 ★☆☆☆☆(1)

※(2024.12.6・サンプルデータを更新)置換できなかった場合は数字部分を★に置き換えるようスクリプトを変更しました(スクリプト名も変更)。


2か月ほど前に「スクリプトで装飾数字に置換する【InDesign】※改良版」https://mottainaidtp.seesaa.net/article/504148297.html)で括弧類や記号で挟まれた数字を装飾数字(丸数字など)に置換するスクリプトを公開しました。自分なりには頑張ったつもりですが少し課題も感じていまいた。それは

●0から100までの装飾数字(01〜09も含む)を処理するので時間がかかる。
●ドキュメント全体を処理するので時間がかかる。
 また、置換したくない箇所まで置換されても気づかないおそれがある。

ということでした。
今回は、それらの課題をクリアするスクリプトに書き直してみました。

20240927a.png


使い方は

●装飾の種類(括弧数字、丸数字……など)を選択する
●置換範囲を選択する
●置換対象を選択する
●数字を挟む記号を入力する

だけです。

以下、動画をご覧ください。

※当初は置換できなかった数字はそのまま(置換前のまま)にしていましたが「★」に置き換えるよう修正しました(2024.12.6)。



簡単に使えるので、よろしければお試しください。

※スクリプトファイル(re2_decoNum_0000x.jsx)とリストフォルダ(list)は同階層に置いておく必要があります。

※必ずバックアップをとった上でお試しください。

2024.12.6版サンプルデータはこちら《minimum_20241206a.zip》です。
posted by 照山裕爾 at 03:58| Comment(0) | TrackBack(0) | InDesign-書式・スタイル | このブログの読者になる | 更新情報をチェックする

2024年09月05日

【InDesign・表】大きなセルを複数ページに分割するスクリプト

DTP作業者にとっての難易度 ★★☆☆☆(2)
表組み作成では文字量の多いセルが丸ごと次ページ(あるいは次段)に送られ、前ページ下部に広いスペースが残ってしまうケースがあります。このような時に「セルを分割してテキスト前半は前ページ、後半は後ページに収めたい」ということは多々あるのではないでしょうか。
240904-001.png
これまで私は空のセルを用意し、そこにテキストの一部をカット&ペーストすることでこれを実現してきました。しかし「カット&コピーしすぎた」ということもあれば「あと何行か(何文字か)は入りそうだな」ということもあり、試行錯誤でけっこうな時間を費やすことになっていました。
そこで今回は、この作業を効率化するスクリプトを書いてみました。

※表組みやテキストの設定や状況により必要となる作業は変わるため、今回は最低限の作業のみを自動化するスクリプトに留めました。工夫してお使いください。


スクリプトの使い方


【1】分割したいセル(を含む行)の上に行を1つ追加します。空セルだけで構成された行です。

※空セルだけで構成された行は前ページに収まると思います。


【2】分割したい大きなセルと、その上の空セル(前ページにある空セル)の2つを同時に選択します。

【3】スクリプトを実行します。

スクリプトを実行すると「後セルの最初の文字を前セル末尾に複製」→「複製元だった後セルの最初の文字を削除」を繰り返します。1文字ずつの処理なので文字数が多いと少し時間がかかるかもしれません。

※分割したい大きなセルが2つ以上ある場合、1つずつ作業してください。


〈20240905追記〉「1文字ずつの処理なので文字数が多いと少し時間がかかるかもしれません。」について
少しでも時間を短縮したい場合は「明らかに前セルに収まるであろう段落や文字」を手動で後セル→前セルにコピペしてからスクリプトを実行するという方法があります。注意点としては「段落末の改行マークは削除しないこと」です。よく分からない方は避けたほうがいいでしょう。


以下、動画をご覧ください。

使用にあたっての注意点など


動画内では字下げ(アキ量設定)や箇条書きについて手動による作業が必要となることを紹介しましたが、他にも
・インデント
・ハイフネーション
・分離禁止
など必要な作業が発生するケースがいろいろ考えられます。また、アンカー付きオブジェクトや特殊文字(マーカーなど)を使用している際は何らかの問題が生じるかもしれません。スクリプト実行後は慎重に文字組み体裁を観察し、必要な作業をおこなってください。
また、スクリプトを実行する前には必ずドキュメントのバックアップをとるようお願いします。

※なお、本スクリプトではセルの位置を確認するために「環境設定 > 単位と増減値 > 定規の単位 > 開始位置」を一時的に「スプレッド」に変更します。スクリプト完了時に元の設定に戻しますが、何らかのエラーでスクリプトが途中で止まった時などは設定が「スプレッド」のままになっている可能性がありますのでご確認ください。

サンプルデータはこちら《split_cells_240904c.zip》です。
posted by 照山裕爾 at 01:52| Comment(0) | TrackBack(0) | InDesign-書式・スタイル | このブログの読者になる | 更新情報をチェックする

2024年07月27日

スクリプトで装飾数字に置換する【InDesign】※改良版

DTP作業者にとっての難易度 ★☆☆☆☆(1)

※本ページで紹介したスクリプトを更に修正したものを「スクリプトで装飾数字に置換する【InDesign】※さらなる改良版」で公開しています。そちらをお使いください。


10年以上前に「JavaScriptで丸数字、四角囲み数字などに置換する」という記事を書きました。スクリプトを書き始めた頃に作ったもので、いま試すと処理が遅いだけでなくリストの作成が面倒、一括アンドゥが効かないなど実用的とはいえないものだと感じます。そこで今回は、同じ目的のスクリプトをあらためて(まっさらな状態から)書いてみました。

240726-001.png

●使い方

スクリプトを実行するとダイアログが表示されます。プルダウンメニューで装飾文字の種類を選択、入力欄には数字を挟む前後記号を入力します。「OK」で実行すると括弧数字や丸数字などの装飾数字のグリフに置換されます。

●グリフが存在しない場合

Stdフォントなどでは装飾フォントグリフが存在しないケースが多々あります。このような時は置換できるグリフだけ処理され、グリフが存在しなかった場合は元テキストに戻されます。「置換できない項目がありました」とアラートが表示されますので、どこが置換されなかったか検索して確認してください。

以下、動画をご覧ください。

※動画内でも触れていますがスクリプトファイル(replace_2_decoNum_0000x.jsx)とリストフォルダ(list)は同階層に置いておく必要があります。

※必ずバックアップをとった上でお試しください。

サンプルデータはこちら《minimum_2024_1210b.zip》です。
posted by 照山裕爾 at 03:39| Comment(0) | TrackBack(0) | InDesign-書式・スタイル | このブログの読者になる | 更新情報をチェックする