DTPab

DTPにまつわるあれこれ

InDesign

InDesign 15.0.2 コミュニティスクリプトを紐解く 5

仕事が全然収まっていない中で、働き方改革法案の残業時間内でどうにか回るようにチームメンバーたちにがんばってもらっているこの頃です。こんばんは。 今回もこれらの記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト -…

InDesign CC2014から変更された正規表現?

原因(例えば正規表現エンジンが変わったとか)は何もわかりませんが、現象として確認できたので記事に起こしました。 概要 メタ文字|の挙動 CCまで CC2014以降 何が起きているか? 対処するには まとめ 概要 InDesign CS4〜CCまでと、CC2014以降で正規表現…

InDesign 15.0.2 コミュニティスクリプトを紐解く 4

仕事が「霧の中を航行する船が突然海賊に襲われた」みたいな状態になっていて毎日やばいです。こんばんは。 仕事がそんななので遅くなってしまいましたが、今回は下記の記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト -…

配列に要素が含まれるかどうかを調べるArray.some()メソッドをポリフィルする

あらまし haragurai-is-bad氏が、記事中でArray.indexOf()メソッドをポリフィルしてExtendScriptに実装していらした。 haraguai-is-bad.hatenablog.com 実はポリフィルしてた 記事のコメントにも書いたとおり、僕はArray.some()メソッドをポリフィルしていま…

選択したオブジェクトがアンカー付きオブジェクトかどうかを判定する

どういう実装がいいのかいまいち決めきれないものの一つにこれがある。 いま使っているのは下記2種類。 var sel = app.activeDocument.selection[0]; // 1: アンカー付きオブジェクト専用プロパティにアクセスしてエラーを起こす try { sel.anchoredObjectSe…

InDesign 15.0.2 コミュニティスクリプトを紐解く 3

今回はカーソル(キャレット)位置に任意の文字をUnicodeInjectorスクリプトについてです。 これらの記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト - DTPab InDesign 15.0.2 コミュニティスクリプトを紐解く 1 - DTPab…

Illustrator 2020の特色の不具合を検知するInDesign スタートアップスクリプト

この件の詳細は下記UserVoiceを参照ください。 Bug of saving in the background of Illustrator 2020 – Adobe Illustrator 取り急ぎスクリプト書いてみた。スタートアップスクリプトとして使ってください。 //@targetengine "checkGlobalColor" app.addEven…

InDesign 15.0.2 コミュニティスクリプトを紐解く 2

今回はオーバーライドを削除するというClearStyleOverridesスクリプトについてです。 こちらの記事の続きです。 uske-s.hatenablog.com uske-s.hatenablog.com はじめに ClearStyleOverrides.jsx 機能の説明 前提条件 注意点 ClearStyleOverrides について雑…

InDesign 15.0.2 コミュニティスクリプトを紐解く 1

昨日速報的に書いた記事の続きです。 uske-s.hatenablog.com 今回はBreakTextThread.jsxを読み込んでみます。 はじめに BreakTextThread.jsx 機能の説明 前提条件 注意点 BreakTextThread について雑感 はじめに Adobeのヘルプだけでは心許ないので、中身を…

InDesign 2020(15.0.2)で追加されたコミュニティスクリプト

InDesign 2020(15.0.2)のアップデートがきましたね。 InDesign ヘルプ | 機能の概要 | InDesign | (2020 年 2 月リリース) ここでコミュニティスクリプトなるものが登場しました。 実際にアップデートすると、スクリプトパネルに「コミュニティ」という…

InDesignの表でセルの高さを自由に変えたい

割と知られた話かと思いますが、InDesignでのセルの高さは、最低値が決まっています。 それより小さくしようとすると怒られるんですよね。 高さ3pt未満に設定できない それが3ptという分水嶺。 しかしスクリプトから指定すると、これがすんなり受け容れられ…

QueryGroupSwitcher(製品版)リリース!

以前、下記の記事で「体験版を公開した」とお伝えしたスクリプトですが、このたびやっと製品版リリースと相成りました! uske-s.hatenablog.com 詳しくはBOOTHの商品ページ、またそこからリンクしている製品マニュアルページをご参照ください。 当初の発注者…

本文中に2回目に登場する語句を正規表現で探す

概要 正規表現 シングルラインモード グループ参照 さいごに 概要 なんのこっちゃという感じですよね。 たとえばこんな文章があったとします。 分かりやすいように六波羅探題という語句をマゼンタにしました。仮に「初出のものにルビを振りたい」といわれた…

InDesignドキュメントにPDFをまとめて配置

仕事の合間にいろいろやりながら、来月の登壇資料とか作っている毎日です。仕事が割と繁忙期なのでまあ体力続かなくて辛いですね…。 さて、今日はAdobe謹製のスクリプトに手を加えちゃおうという内容です。 最初から入ってるやで どうする? コード もとのコ…

BOOTHでスクリプトを公開しました

まだベータ版で申し訳ないのですが、BOOTHでスクリプトをひとつ公開しました。 uske-s.booth.pm 下記の記事で言及していた、正規表現検索置換クエリを管理するスクリプトです。 uske-s.hatenablog.com ベータ版で公開している理由ですが、単純にコードが気に…

制御文字U+FEFFによるアキ量の無効化

この記事はDTPアドベントカレンダー16日目の記事になります。 前回はkmutoさんの『Markdownファイルをpandocを使わずに力ずくで組む方法』でした。超大作でしたね……。まだ細部まで読みきれてないのですが、 本記事の本質は「DTP作業にも正規表現はいいぞ」と…

InDesignのExtendScriptでルビを実装しよう

1年は早いもので、今年も残すところあと1ヶ月となりました。そう、12月といえばクリスマス、クリスマスといえばアドベントカレンダー! ということで、この記事はDTPアドベントカレンダー2日目の記事になります。 前回の記事はTen_Aさんの『INDESIGNで圧縮フ…

実行しているドキュメントの判定とスクリプトの再実行

現在アクティブなドキュメントに対してスクリプトを実行したあと、そのスクリプトを再度実行する際、アクティブなドキュメントが前回と同じかそうでないかを判定するにはどうしたらいいか? という話を同僚から相談されました。 実は以前こんな記事を書いて…

InDesign ExtendScriptで「テキストを選択しているかどうか」の判定方法

InDesignのExtendScriptでは、テキストに関するサブクラスがたくさんあります。これらを使って「選択しているオブジェクトはなにか?」というのをよく実装するわけですが、毎度毎度「TextStyleRangeと、あとなんだっけ……」みたいに全部をパッと思い出せない…

InDesignで作業中に別のアプリを起動するショートカットが欲しい

InDesignのいつのバージョンからか、Macのグローバル・ショートカットキーが機能しなくなったように思います。 僕はInDesignでテキスト入力中でもGoogle日本語入力環境設定を表示したいなーと思ったりします。思いますよね。思うと思うんですよ。絶対。 なの…

【InDesign CC2015〜2019】表組のヘッダーが消えるバグ

新しいAdobe Community Forumがマジで使いにくいのですが、こんなスレッドを見つけたので速報的に共有です。 community.adobe.com 手元で試した限り、CC2015以降、2019までの全バージョンで再現します。 要するに、ヘッダーをグラフィックセルに設定した表が…

技術書典7にて初の同人誌を委託販売します

【追記 9/24 9:00】ここで紹介している同人誌はBOOTHにて頒布中です! uske-s.booth.pm 以前のエントリでも書きましたが、初の同人誌を無事入稿することができたので、改めて本の紹介をさせてもらいます。 みんなサークルチェックしてくれよな! techbookfes…

「マスターページを適用するスクリプト」を作るスクリプト

var actDoc = app.documents[0]; var mstSpr = actDoc.masterSpreads; for (var i=0; i

マスターページの名前を一括変更する

var doc = app.documents[0]; var msp = doc.masterSpreads; var reg = /ほげ/; //検索ワード(/正規表現/か "文字列" とする) var rep = "ぴよ"; //置換ワード("文字列" のみ) for (var i=0; i

ページパネルから選択したページだけをひとつづきのPDFとして書き出したい

背景 機能と使い方 コード ページパネルから選択したページを取得する仕組み 似てるスクリプトは既にあった 背景 Twitterで見かけて「スクリプトならまぁできますね」と適当なことをつぶやいたのですが、それでできなかったらカッコがつかないと思い、試しに…

フォルダの中のinddファイルすべてを対象にスクリプトを実行する

コード 解説 積み残し というスクリプトを書いてみました。 最低限のエラー処理などは組み込んでいますが、しっかり検証していませんのでご利用は自己責任でお願いします。 できればinddファイルのバックアップなどは取っておいていただいたほうがいいかもし…

InDesignのクイック適用をスクリプトランチャーとして使う

InDesignのクイック適用(⌘+Enter、もしくは一部のパネルにある雷マーク)には、実は検索するメニューをフィルターすることができるようになっています。 これを、画像のように「スクリプトを含む」をオンにし(デフォルトではオフ)、他をオフにすると、ク…

オブジェクトにまとめてキャプション用のテキストフレームを追加したい

改訂履歴 はじめに 使い方と動作画面 動作確認バージョン 既知の不具合 コード 余談 改訂履歴 2019.06.06 v0.2.1 ドキュメントの1ページ目にしかテキストフレームが生成されない不具合を修正しました。 はじめに けっこう前になりますが、バンフーセミナーで…

合成フォントが重複してロックがかかる

んなアホな…。というデータを引き当てたので残しておきます。すべての合成フォントが同じ名前で重複して存在しています。左上に鍵のマークが見えますが、合成フォントの構成を触ることができません。 データはCS6で、これはどうやらInDesignCS6の不具合らし…

1if-1for(4):複数のオブジェクトをあるオブジェクトに置き換えたい

久しぶりに1-if, 1-forなスクリプトっす。いや実際にはifがないので1forのみ。 使い方は、 置き換えられるオブジェクトをまとめて選択 置き換えたいオブジェクトを最後にポチッと選択 そんだけ。 Undo(⌘+Z)1回でスクリプト実行前に戻れるオシャレ仕様です…