アクセシビリティ

ハリー・ポッターとInDesignの秘密

 

作成日:
24 January 2005

「InDesign Magazine」より抜粋。 Olav Martin Kvern著。

ヤングアダルト向けの小説である『ハリー・ポッター』シリーズに登場する黒魔法使いヴォルデモートは、その名前を直接呼べないほどの悪者でした。 確かに小説の中で登場人物たちが彼に言及するとき、直接その名前で呼ばずに「例のアノ人」としか呼んでいません。 これは私が「例のアレ」と呼びたくなる、Adobe® InDesign®の中でも私が一番お気に入りの機能を思い起こさせます。この機能自体はヴォルデモートとは似ても似つかないもので、悪というわけではありません。 それは誤解です。

「例のアレ」は非常に優れた機能であり、InDesignにとって簡単で、手早く、より良く作業するためのすべての能力を事実上備えているのです。 実際に、あなたが持っていることさえ意識していない「例のアレ」を使って実装された実用的な機能をもたらしてくれます。 「例のアレ」の便利な機能については、何も知らないかもしれません。しかし、ひとたびこれをインストールしてしまえば、InDesignの他の機能と同様に動いてくれます。

「例のアレ」とはもちろん、InDesignのスクリプト機能のことです。 この記事を読んでしまったら、自分でスクリプトを書くという行為に、まったく興味がなくなってしまうかもしれません。 しかしそれは、大きな誤解です。多くの人が、さまざまな作業を効率化するために、自らスクリプトを記述しているのですから。 現在では、多くのInDesign用スクリプトがインターネットで公開されており、ダウンロード可能となっています。その大部分はフリーウェアであり、インストールも容易なものです。

これらのスクリプトを公開してくれている人たちは、我々ユーザのためにスクリプトを記述して、ネット上に公開してくれているのですから、ぜひ見つけ出してお礼のメールを出すか、またはわずかばかりの謝礼を送ってあげましょう。

あなたが見失っているかもしれない大きな機能

1ページ内で選択したオブジェクトの周囲にトンボを付けたいと思ったことはありませんか? 楕円を長方形に変形させたいと思ったことは? いくつかの検索・置換作業を一度に実行できたら便利かもしれません。 1ページまたは見開き2ページ上のすべての画像フレームを選択したいこともあるでしょう。 段落のリストをアルファベット順に並べ替えることも、あるかもしれません。 これらのすべての作業、それだけでなく他にも多くの作業が、InDesign CSのCDに収録されているスクリプトを使うことで、簡単に実行できます。 しかしこれらのスクリプトはInDesign CSの標準インストールではインストールされないので、使うためには自分で見つけてインストールする必要があります。

スクリプトは、InDesign CSの「Adobeテクニカル情報」フォルダ(の中にあるScriptingフォルダ/example scriptフォルダ)に入っています。 使っているInDesignがCreative suiteのものであれば、Resourcce and Extrasディスクに収録されています。

Mac OSでは、AppleScript(拡張子は.as)かJavaScript(.js)のどちらかのスクリプトが使用できます。Windowsであれば、VBScript(.vbs)かJavaScriptのどちらかを使用できます。

InDesignにスクリプトをインストールするのは非常に簡単です。スクリプトファイル(またはファイルへのショートカット/エイリアス)を、Scriptsフォルダ(InDesignフォルダ内のPresetsフォルダにあります)に入れるだけです。 もしScriptsフォルダがなければ新規フォルダを作成して「Scripts」に名前を変更し、そこへスクリプトファイルをコピーしましょう。

一度フォルダに入れたスクリプトは、InDesignのスクリプトパレットに表示されます。スクリプトパレットは、ウィンドウメニュー/スクリプティング/スクリプトを選択すると表示できます。

ind3kbharryp_1_int

スクリプトパレットには、インストール済みのスクリプトが表示されます。

スクリプトを実行するには複雑な手順は必要ありません。スクリプトパレットに表示されているスクリプト名をダブルクリックだけです。 ほとんどのスクリプトには、他のInDesignの機能と同じタイプのユーザインターフェイスが用意されており、他の機能と同様に操作できます。

ind3kbharryp_2_int

ほとんどのサンプルスクリプトには、使いやすいユーザーインターフェイスが用意されています。

ショートカット編集ダイアログを使って、スクリプトをキーボードショートカットに割り当てることもできます。編集メニュー/ショートカット編集を選択してショートカット編集ダイアログを表示し、機能エリアフィールドのポップアップメニューでスクリプトを選択すると、使用可能なスクリプトが表示されます。あとは普通の機能割り当てと同様にキーボードショートカットを割り当てればOKです。

非常にシンプルでしょう、そう思いませんか? もしそう思わない人がいたとしたら、その人はたぶんコンピューターを使うとか、または車を運転するといった複雑な作業を行ったことがまったくないのでしょう。

サンプルスクリプトの機能

InDesign CSに収録されているサンプルスクリプトの概要をここで紹介します。

  • 「AddGuide」:ひとつまたは複数の選択したオブジェクトの周囲にガイドを描きます。

  • 「AddPoints」:選択したオブジェクトのパスに編集可能なポイントを追加します。

  • 「CreateCharacterStype」:InDesignで文字スタイルを作成すると、選択した文字のスタイルのうち、テキストのデフォルトフォーマットとは異なる部分だけが文字スタイルに追加されます。 しかしこのスクリプトを使えば、選択した文字のフォーマットに基づいて、すべてを含んだ文字スタイルを作成できます。デフォルトフォーマットを変更している相手とInDesignファイルのやりとりを行う際に、便利な機能です。

  • 「CropMarks」(下図):選択中のひとつもしくは複数のオブジェクトの周囲に、裁ちトンボと登録マークを描きます。 AppleScriptバージョンのスクリプトにはちょっとしたバグが含まれていまして、スクリプトを実行する前に環境設定で定規の単位をポイントに変更しておかないと、登録マークがちょっと大きめに描かれてしまいます (またはAdobeのサイトから修正版をダウンロードすることもできます。URLは本文の最後に紹介されています)。

    ind3kbharryp_3_int

  • 「ExpertAllStories」:ドキュメント上にあるすべてのテキストを、指定したフォルダにテキスト/RTF/InDesignタグテキストなどの形式で出力します。

  • 「Neon」:選択したパスに対して「輝き」効果を加えます。 Illustratorのブレンドツールと同様の機能です。

  • 「PathEffect」:選択されたオブジェクトのパスの形状を変更します。 「パンク・膨張」(BloatPunk)や「旋回」(Twirl)などのIllustratorでもよく知られている効果や、(QuarkXPressでも可能なように)オブジェクトを長方形または楕円形に変形させることも可能です。

  • 「RandmonFill」:選択したひとつもしくは複数のフレームにあるオブジェクトをランダムに塗りつぶします。

  • 「SortParagraphs」:選択した段落をアルファベット順に並べ替えます。

  • 「TabUtilities」:タブ/インデントなどの主要なカーソル位置に関する設定を行えます。テキスト領域の右端に位置するライトタブの設定もできます。

  • 「TextCleanup」:複数の検索・置換作業をいっぺんに実行できます。簡単なテキストファイルを使って、検索・置換の定義を行うことも可能です。

  • 「TextCounter」:テキストの選択範囲中に含まれる文字数、行数などを自動的に数えてくれます。選択範囲はフレーム単位だけでなく、ストーリー全体の選択も可能です。 同様の機能は情報ウィンドウにもありますが、このスクリプトにはいくつかの機能を追加してあります。

スクリプトを使って他には何ができる?

スクリプトは、今までに紹介したような普段使い慣れているInDesignのユーザインターフェイスを使ってできることの他にも、いくつかの機能があります。 確かにこれらの自動化作業を行ううえで、スクリプトは非常に便利な機能です。しかしスクリプトの特徴はそれだけではありません。 それ以上に、日々の作業において生じる、非常に小さな作業の効率を高めてくれるのです。 手間のかかる面倒な仕事(スクリプトを使う種類の仕事すべて)の手順を、単純なダブルクリックやキーストロークに割り当てておけば、作業の手間を大幅に軽減できます。

ここで、 ひとつの例を挙げてみます。ドキュメント上に配置した画像の元ファイルの場所を確認するという、単純ではあるけれども面倒な作業をするとします。 もちろん、リンクパレットを使って画像のリンク元を確認するということもできます。しかしリンクパレットではファイルの位置が表示されるだけなので、さらにコンピュータ内の該当するフォルダ位置まで移動するという手間がかかります。 下に用意したのは、Explorer(Windows)またはFinder(Mac)で選択された画像が入っているフォルダを開くという簡単なJavaScriptです。 このテキストをコピーしてテキストファイルとしてScriptsフォルダに保存するか(ファイル名の末尾に.jsと付けます)、またはhttp://downloads.indesignmag.com/scripts/0704.zipからダウンロードしてください。

//SimpleShowLink.js //Opens the folder containing the selected graphic. //Assumes that the graphic is selected using the Direct Selection tool. var myFilePath = app.selection[0].itemLink.filePath; myFilePath.parent.execute();

もし(ダイレクト選択ツールよりもどちらかというと)選択ツールを使って画像を選択した状態であれば、上のスクリプトは失敗するでしょう。 では、選択ツールを使って画像を選択するか、または複数の画像を一度に選択してスクリプトを使いたいと思ったら、どうすればいいでしょうか? その問題をクリアするには、スクリプトに一部付け加える必要があります。 たとえばこのように入力します。

//ShowFolder.js //An InDesign CS JavaScript // //This script opens the folder containing the selected linked file. // //Create a list--we’ll use it to store the qualifying graphics. var myObjectList = new Array; if(app.documents.length != 0){ if(app.selection.length !=0){ for(var myCounter = 0; myCounter < app.selection.length; myCounter ++){ switch(app.selection[myCounter].constructor.name){ case "Rectangle": case "Oval": case "Polygon": case "GraphicLine": case "Image": case "EPS": case "PDF": switch(app.selection[myCounter].constructor.name){ //If a frame was selected with the Selection tool, and the frame //contains a graphic, then add the graphic to the list. case "Rectangle": case "Oval": case "Polygon": case "GraphicLine": if(app.selection[myCounter].contentType == ContentType.graphicType){ myObjectList.push(app.selection[myCounter].graphics.item(0)); } break; //If a graphic was selected with the Direct Selection tool, //then add it to the list. default: myObjectList.push(app.selection[myCounter]); break; } } } if(myObjectList.length != 0){ for(myCounter = 0; myCounter < myObjectList.length; myCounter++){ myOpenLinkFolder(myObjectList[myCounter]); } } } } function myOpenLinkFolder(myGraphic){ var myLink = myGraphic.itemLink; var myFilePath = myLink.filePath; myFilePath.parent.execute(); }

スクリプトに関するさらなる学習

サンプルスクリプトのほかにも、InDesign CDの同じフォルダには、IDスクリプティングガイドというPDFファイルが収録されています。 この分量(2200ページ以上!)にひるんではいけません。英単語の意味を調べるときに、辞書の膨大なページ数を気にするでしょうか? この内容の大部分は、リファレンスマニュアルです。 スクリプトの記述方法に関して、さらに多くのことを学習したいのであれば、スクリプティングガイドのチュートリアルは入門用として最適です。 その中には、ドキュメントの作成、テキストフレームの追加、テキストの入力と書式設定などの基本的な操作方法から、ダイアログを使う複雑な項目までさまざまなスクリプトの記述方法が解説されています。 チュートリアルを通して自分の作業スタイルを見つけ出すことができるようになれば、さらに多くのチュートリアルをhttp://partners.adobe.com/asn/indesign/scripting.jspで見つけることができるでしょう。

現在ではインターネット上に数多くのスクリプトが公開されています。 たとえばhttp://studio.adobe.comにはフリーで使える多くのスクリプトが公開されています。例を挙げれば、QuarkXPressの「分数作成」のような機能を追加するものもあります(多くの分数を使っているけど、現時点ではOpenTypeを使っていないという場合に有効です)。 他には、InDesign上で選択された画像にPhotoshopのアクションを実行させるというものもあります。 個人でInDesignスクリプトを作成しているDave Saundersという人は、多くのサンプルスクリプトとスクリプト記述に関する情報を自分のWebサイトhttp://www.pdsassoc.comで公開しています。Shane Stanley とRay Robertsonというパワフルな二人組も、InDesignのサンプルスクリプトと使用事例を自分のサイトhttp://www.scriptingmatters.comで公開しています。 これらの人たちは、カスタムスクリプトの注文も受け付けています。

「例のアレ」の現在

InDesignでメニューオプションを選択したり、あるいはパレットのボタンをクリックするときに、いちいちInDesign全体を構成する何百万ラインものC++コードについて考えないのと同様に、スクリプトを使うときにAppleScript/JavaScript/VBScriptについて考える必要はありません。 しかし自分にとってどれだけスクリプトが有効であるのかを一度でも考えてしまうと、次には自分でオリジナルのスクリプトを作りたくなるでしょう。

結局のところ、あなたがInDesignに望むであろう機能をAdobeが追加してくれることを(もしかすると永遠に追加されないかもしれませんが)待ち続けられるか、それともスクリプトを使って自分自身で機能を追加できるかどうかということです。

Olav Martin Kvernは、コンピュータで写真を扱うという自らの気味悪い思い付きが実現し、あまつさえその技術を使ってお金をもうけられるようになり、果ては20年にならんとするキャリアを持つとは、決して思わなかったでしょう。 「Real World PageMaker」や「Real World Freehand」、「Real World InDesign」、その他数多くの雑誌記事やコラムを含めて、彼は膨大な量のコンピュータ関連の書籍を執筆あるいは共同執筆しています。 彼はさらにPageMaker、Visio、そしてInDesignを含めて数多くのソフトウェアの開発にも関わっていますし、 数百に及ぶ書籍のデザインやイラストにも携わっています。 それらすべてに対して、何より本人がいまだ驚いている最中なのです。 彼は現在シアトルに住み、Adobeに勤務しています。

「InDesign Magazine」より抜粋。 Olav Martin Kvern著。 Copyright 2004 Olav Martin Kvern. Published by Creativepro.com. Creativepro.comおよびPrintingForLess.comの許諾により掲載。 予約購読はwww.indesignmag.comまで。