DTPab

印刷やデザイン、アドビ製アプリやスクリプトなど、雑多な技術ブログ

配列に要素が含まれるかどうかを調べる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 月リリース) ここでコミュニティスクリプトなるものが登場しました。 実際にアップデートすると、スクリプトパネルに「コミュニティ」という…

テキストを改行単位でひっくり返すJXA

JXA

rtfファイルから矩形選択したテキストが、うまくコピーできない。どうやらクリップボードに送られる順序がおかしいっぽい。 なので選択したテキストを改行単位で一度分割し、逆順に並べ替えてしまうJXA書きました。 function run(input, parameters) { var t…

次回DTPerのスクリプトもくもく会について

新型コロナウイルスから始まった昨今の混乱で、息子の小学校の休校、デマによって紙製品が店頭から消えるなど、割と私生活に影響が出てきました。 ほんと迷惑な話です。 さて、DTPerのスクリプトもくもく会も通例であれば、今年2回目を今月開催する予定でし…

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

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

QueryGroupSwitcher(製品版)リリース!

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

pageで登壇中に使った小物スクリプト

page2020のクリエイティブゾーンセミナーにご来場くださったみなさま、大変ありがとうございました。 おかげさまでとても評判がよく、ほっと胸をなでおろしました。 登壇中、デモ(InDesign)とスライド(Acrobat)とブラウザを行き来することが予想されたの…

シンボリックリンクを作るドロップレット

概要 シンボリックリンク作ることがあんまりないようでたまにあるんですよ。 シェルスクリプト使ったら思いの外簡単に実装できたので載せておきます。 コード on open (theList) set shellScpt to "ln -s " tell application "Finder" repeat with tgt in th…

page2020 登壇資料

いよいよ2月6日になってしまいました! ということで本日、page2020のクリエイティブゾーンセミナーに登壇いたします。お越しになるみなさま、お手柔らかにお願いしますね……。 事前にスライドをspeakerdeckにアップしました。もしモニターが見にくいとかあれ…

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

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

ブログのコードブロックにタイトルを付けた

JXA

概要 CSS タグの挿入はJXAで 概要 itouuuuuuuuu.hatenablog.com こちらの記事を参考に、ブログのコードブロックにタイトルを挿入できるようにしてみました。 /* こんなかんじ */ CSS 僕はタイトルだけを設定したかったので、CSSは下記のような感じ。 /* ソー…

DTPerのスクリプトもくもく会#16を開催しました

先週の1/25(土)、DTPerのスクリプトもくもく会#16を開催しました。 今回はけっこう広めのスペースを安く借りられたので、とても快適なもくもく会になりましたね。そのおかげもあってか、質問と情報共有と交流がほどほどに行われていて、主催としてはとても…

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

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

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

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

これまでの振り返りと2020年

あけましておめでとうございます。 早いもので2019年があっという間に終わってしまい、令和2年、2020年が幕を開けてしまいました。今年最初の記事は、昨年をKPTで振り返りつつ、今年の抱負を綴りたいと思います。 2019年のKeep(できたこと、継続すること) …

パスワード付きzip圧縮を行うAppleScript

パスワード付きzipファイルを作業のたびに毎回作成する…というお仕事がありまして。これまでターミナルからzipコマンドを叩いて凌いでいたものの、さすがに面倒臭すぎて耐えきれず、AppleScriptを書きましたw コード 説明 全体の流れ zipファイルの書き出し…

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

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

週刊 IM@Study 制作裏話

今年の夏からエンジニアなアイマスプロデューサーさんたち有志のサークル「IM@Study」さんの合同技術同人誌『週刊 IM@Study』のお手伝いをしています。 前回は夏コミで『週刊 IM@Study vol.3』が、そして今回は12/14開催の第二回技術書同人誌博覧会にてそのv…

DTPerのスクリプトもくもく会#15を開催しました

今年最後のもくもく会でした 11/30(土)、DTPerのスクリプトもくもく会#15を開催しました! 参加してくださった皆さま、ありがとうございました。初めての会場だったものの、設備トラブルがあり、皆さまにはご迷惑おかけしました。 話が脱線しますが、DTPer…

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

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

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

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

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

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

実行している関数名の表示

個人的なメモです。 !function myFunction () { alert(arguments.callee.toString().match(/^function (.+?)\(/m)[1]); }(); やってることは単純で、arguments.calleeプロパティで関数そのものを参照。 toStringメソッドで文字列化した上で、正規表現でfunct…

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

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

CatalinaでのPhotoshopの不具合

概要 こんなん出てましたね。 applech2.com ファイル形式を指定しても拡張子が変更されないため、実際のファイル形式と見た目の拡張子が違ってファイルが開けなくなるというもの。 記事で紹介されている簡易的な対策として、ターミナルでfileコマンドを叩こ…