DTPab

DTPにまつわるあれこれ

ESTKのインターフェイスを今風にアレンジ

ふと思い立って、ESTKのインターフェイスを今風にカスタマイズしてみました。 ちょっとBracketsっぽくなりました? まぁ基本的にBrackets使ってるのでESTKは割とどうでもいいんですが(ひどい 一応、こんなふうな(見た目だけ)モダンな感じにしたい方は以下…

【告知】DTPerのスクリプトもくもく会#8を開催します

本日14:00よりconnpassにて、DTPerのスクリプトもくもく会#8の受付を開始します。 dtpmkmk.connpass.com 今回は、#6と同じYUIDEAさんの会議室をお借りしました。 ですので前回と違って無料での開催です。 詳細はconnpassのイベントページに記述してあります…

GoogleAppsScript メモ書き

いつも探しに行くのが面倒くさくて自分用メモ書き。メッセージダイアログ関係の処理。 promptメソッド サンプルコード confirmメソッド サンプルコード gsファイルへの記述

ES3で使うためのArray.filter

【追記 5/30 13:06】 コードに不具合があったため修正しました。あるふぁ(仮)さん、いつもありがとうございます(記事末尾にも追記あり)。 【追記 5/30 15:30】 コードに不具合があったため修正しました。またまたあるふぁ(仮)さん、そして(-z)さん、あ…

ExtendScriptの単位付き計算

【追記 5/28 15:00】 重大な不具合をあるふぁ(仮)さんが見つけてくださったのと、最初に書いたスクリプト(単位付き計算を行う関数)が加算以外に対応していなかったことに気づいたのでここに追記して訂正いたします。 まずあるふぁ(仮)さんからのありが…

ESTKのtargetengineの挙動

ESTKのプリプロセッサディレクティブ、#targetengineについて少し調べたのでメモ。当然すべてInDesignでの検証です。 動的にエンジンを変更できるか 以下のコードをテスト。 #targetengine hoge alert($.engineName); var a = "Hello"; #targetengine fuga a…

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

謝辞 雑感 もくもく成果 想定した処理フロー 実際の処理フロー 変数の定義 同名メニューアクションの絞込み getAreaIndex関数 getMenuAction関数 カラーラベル名の定義 メニューアクションの特定とリスト化 ScriptUIの生成 スクリプト処理 スクリプトコード…

JavaScriptでブラックジャックのコード

先日、JavaScriptでブラックジャックを作る記事を書きました。 uske-s.hatenablog.com もうすぐもくもく会#7ということで、コードを掲載しておきます。 //カードデッキ var deck = deck || [ {value: 1, name: "◆A"}, {value: 2, name: "◆2"}, {value: 3, na…

Illustratorのスクリプト勉強中④

前回までのあらすじ 前回のコード このスクリプトの最終型 今日の目標 前回の補足 値を入力させてそれを受け取る 文字列型から数値型への型変換 水平方向に隙間なく並べる 座標値からソートする 左から順に隙間なく並べる 今日のコード ちょっと間が空いてし…

Illustratorのスクリプト勉強中③

前回までのあらすじ 紆余曲折を経て、選択しているオブジェクトをなんとか整列させるところまでできました。オブジェクトの移動だけならObject.positionプロパティに配列を渡すだけでいいんですね。 また、geometricBounds、controlBounds、visibleBoundsの…

Illustratorのスクリプト勉強中②

前回までのあらすじ 前回のコード 今日の目標 座標を取得する 3つのBounds オブジェクトを整列しよう で、結局どうやって移動するの 0番目のオブジェクトにあわせて整列する 前回までのあらすじ ちゃんと続きましたw 選択しているオブジェクトがどんな順番で…

Illustratorのスクリプト勉強中①

はじめに どんなスクリプトを作るか オブジェクトを捕まえる どういう順番で並んでいるのか 色成分って…? 色成分を配列に取得する関数 選択したオブジェクトの順番がわかった はじめに 職場でスクリプトの制作依頼をもらわない限り、僕は基本的にIllustrato…

JavaScriptでFizz Buzz

お遊びついでということで、Fizz Buzzもやってみました。 普通にやってもつまらないので、Fizz Buzzだけで3種類です。 普通にFizz Buzz for (var i=1; i<=100; i++){ if (i%3 === 0 && i%5 === 0) $.writeln("Fizz Buzz"); else if (i%3 === 0) $.writeln("F…

JavaScriptでブラックジャック

先日見つけたQiitaの記事が面白そうだったので、僕もExtendScript(ES3ベースのAdobe拡張JavaScript)で遊んでみました。 もっといろいろ機能を持たせられそうだし、もっと効率的なコードにできそうなんですけど、ひとまずできたものはできたということで。 …

引き続き募集中です

InDesignで学ぶJavaScript教室 この前の記事で告知したお〜まちさんのスクリプト講習会ですが、第1期は満員のため現在はキャンセル待ち、もしくは開催希望依頼受付ということになっています。 cs5.xyz ただ、東京での開催希望がまだまだ少ないようで、このま…

実行する回数によって処理を変えたい

同僚から、初めて実行した時と2回目に実行した時とで、スクリプトの動作を変えたいがどうすればいいか?という質問をもらいました。 せっかくなので「実行する回数によって処理を変える方法」について(もちろんInDesignのスクリプトです)説明したいと思い…

「InDesign JavaScript教室」第1期の申込受付が始まりました

cs5.xyz お〜まちさん(CS5)が以前の東京DTP勉強会で話していらっしゃった、希望者がいればInDesignを使ったJavaScript(ExtendScript)の勉強会を開催しますというお話、実現することになりました。 詳細は上記リンクより確認してください。 で、なんで僕…

InDesignの正規表現検索チートシート

なんか前回も検索についての記事だったんですけど、今回もたまたま検索に関する記事です。やっぱりよく使うInDesignの正規表現検索。 で、InDesignの正規表現検索は標準機能ながら強力で使いやすいのですが、いかんせん入力が面倒。あの検索窓、少し大きくし…

ExtendScriptでJSONオブジェクトを使う

何度か書いていますが、ExtendScriptはECMAScript3なので、ES5で実装されたJSON.parseメソッドやJSON.stringifyメソッドが使えません。 これを使えるようにするためには、JSONライブラリを実装します。 まずはここから「json2.js」をダウンロードします。 Gi…

JavaScriptの検索とInDesignの検索

【4/5 21:56 戻り値の表記にアドバイスをいただいたので反映させました】 【4/6 09:10 findTextメソッドとfindGrepメソッドの設定をクリアするコードを追記し、indexOfメソッドとlastIndexOfメソッドのコードのミスを修正しました】 この前のもくもく会で、J…

TokyoGAS on GCPUG 2018 Springに参加しました

Google Apps Scriptのイベントに参加してきました。僕自身はそんなにGASを書いていませんし、APIなんかも叩いてないので初級者もいいとこですが、それでもこんな面白そうなイベントを紹介していただいたのでワクワクしながら行ってきました。 僕自身は普段、…

GAS:シート内の改行を削除する

久しぶりにGoogle Apps Scriptネタです。 削除するとタイトルにしましたが、実際のところはInDesignに持っていって改めて改行にしたいので、今回は別の文字に置き換えました。 function replaceBreak(){ var br = /[\r\n]+/g; //改行 var rep = "★"; //置換…

#includeにもスコープが適用される

大した話じゃないのですが、スコープ内で#includeして外部スクリプトを読み込む場合、当然スコープが適用され、スコープの外からは参照できなくなります。 一方、prototype拡張はこれまた当然ながらスコープなど関係なく拡張できます。 このことを利用すると…

DTPerのスクリプトもくもく会#6 開催報告

改めまして、先日、DTPerのスクリプトもくもく会#6を開催しました。 いろいろありましたので、前回記事もお目通しください。 保留中の宿題まとめ 開いているウィンドウの数を調べたい 座標を調べて比較しよう 余談 いただいた質問 everyItemメソッド イベン…

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

3月24日(土)、DTPerのスクリプトもくもく会#6を開催しました。ご参加くださった皆さま、ありがとうございました。 今回はお伝えしたいこともあり、急ぎ記事にしました。当もくもく会のこれからに関わることでもあるので、是非お目通しください。 お詫び 今…

保存バージョン以外のInDesignで開くのを警告したい

はじめに 動作画面 コード 説明など ダウンロード はじめに 繁忙期も佳境になり、仕事に忙殺されております。 しかしだからこそ、スクリプトという享楽に打ち込んでしまうのもまた必然…。 それはさておき、できそうだなと思って取り組んでこなかったスクリプ…

DTPerのスクリプトもくもく回#6を開催します

開催概要 dtpmkmk.connpass.com 次回もくもく会が近づいてまいりました。来週24日(土)の開催です! 開催まであと11日ですが、告知ブログ書きました。今回は申込数がとても少ないのでさみしいです。気になっている方はぜひご参加ください!DTPerのスクリプ…

InDesignの標準機能「大文字と小文字の変更」の不具合

大した内容ではないのですが、ちょっとしたInDesignの不具合を見つけました。けっこう限定的なので普段の組版へはあまり大きな影響はないと思います。結果として2つの不具合を紹介しますが、恐らく原因は同じです。 では本題です。 InDesignの書式メニューに…

スクリプトもくもく会#5を開催しました(1)

2018年最初のもくもく会でしたが、おかげさまで大盛況のうちに終わりました。ご参加のみなさま、そして会場を貸してくださったYUIDEAさま、ありがとうございました。今年もゆる〜く続けていくつもりですので、よろしくお願いします。 さて、もくもく会でいた…

2018年スタートです

2018年、もう1月も半ばですが今年最初のエントリーです。 といってもイベントの告知で恐縮です^^;; もくもく会#5を開催します お〜まちさんのスクリプト教室をお手伝いします 僕の2018年 もくもく会#5を開催します 今月末1/27(土)、もくもく会#5が開催で…