忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショ(CS6 Win)の勉強中。。。(旧まとめいみブログ)

[InDesign]
源ノ明朝の全グリフ表示するやつ(InDesign+ESTK版)

var sss="""(function(cid){
    var idms1='<?xml version="1.0" encoding="UTF-8" standalone="yes"?><?aid style="50" type="snippet" readerVersion="6.0" featureSet="257" product="8.1(420)" ?><?aid SnippetType="PageItem"?><Document DOMVersion="8.1" Self="d"><Spread Self="ue2"><TextFrame Self="u123" ParentStory="u111"></TextFrame></Spread><Story Self="u111"><ParagraphStyleRange><CharacterStyleRange><Properties><AppliedFont type="string">源ノ明朝</AppliedFont><CustomGlyph type="long">';
    var idms2='</CustomGlyph></Properties><Content><?ACE 1a?></Content></CharacterStyleRange></ParagraphStyleRange></Story></Document>';
    var idmsFile=File("~/Desktop/akitomo.idms");
    idmsFile.encoding="UTF8";
    idmsFile.open("w");
    idmsFile.write(idms1+cid+idms2)
    idmsFile.close();
    var docu=app.activeDocument;
    var tf0=docu.textFrames.itemByName("akitomo");
    var tf1=docu.pages[0].place(idmsFile)[0];
    tf0.parentStory.contents="";
    tf1.parentStory.texts[0].move(LocationOptions.AT_BEGINNING,tf0.texts[0]);
    tf1.remove();
})""";
BridgeTalk.bringToFront("indesign");
indesign.executeScript("app.selection[0].name='akitomo'")
for(var i=1;i<65334;i++){
    indesign.executeScript(sss+"("+i+")")
    $.sleep(200)
}

遊び方

①InDesign上でテキストフレームを1つ選択します
②上記のスクリプトをESTKで、ESTKを対象に実行します
③選択テキストフレームに源ノ明朝のグリフが1つずつ順に表示されます

注意

・②を必ず守りましょう。InDesignのスクリプトパネルから実行しちゃダメ。 をInDesignに変えるのもダメ

・一時停止、停止はESTKの を使いましょう
・文字は13Qで配置されるので、大きく表示したい場合はズームするか、環境設定>一般>拡大縮小時:拡大縮小率を調整 に設定してテキストフレームを拡大しておきます
・再生中もInDesignは操作できるのでプレゼンテーションモードにしたりできます。でも別のドキュメントを開いたりはしないでね
・表示が追いつかずにグリフがとびとびになる場合は$.sleepの値を増やしてね
PR

[InDesign]
ツイッターに書いた小ネタを振り返ってみる InDesignスクリプト編

超絶便利なスクリプトです。私はShift+Zという打ちやすいショートカットキーを登録して頻繁に使ってます。
CS5あたりでInDesignのDOMが変更されて、pageItemの親がページじゃなくスプレッドになったことで動かなくなってますが、少しの修正で動きます。

[InDesign]
ツイッターに書いた小ネタを振り返ってみる ExtendScript編

これESTKのインストールフォルダ内にあるjsxを眺めてて気づいたんですけど、JavaScript Tools Guideの23ページにもちゃんと書いてありました。
ScriptUIとかBridgeTalkに使うと便利そう。



少なくともCS6では、ScriptUIのListBoxはWindows8.1およびWindows10でまともに機能しません。ListBox使ったスクリプトを配布なさる方はご注意。

[InDesign]
ツイッターに書いた小ネタを振り返ってみる InDesign編


1年ちょい前の私によると、回り込みありのアンカー付きオブジェクトのある段落は、たとえ段落コンポーザーに設定されていたとしても単数行コンポーザーで処理されるそうです。なぜでしょうか。

アンカー付きオブジェクトに回り込みを設定しても、アンカーより前の部分のテキストは回り込みません。これは、もし回り込んでしまったら、それによってアンカーが動く→アンカー付きオブジェクトが動く→回り込みの範囲が変わってテキストが動く→アンカーが動くという無限ループにおちいってしまうからと考えられます。

同じように、アンカーのある行の、アンカーより後ろの部分も回りこみが効きません。ここもテキストが動くと、ジャスティファイや追い込み処理などの影響でアンカーが動く可能性がありますからね。

さらに段落コンポーザーであれば、アンカーのある行より後の行が動いてもアンカーを動かす可能性があります。しかし回り込みはアンカーより後の行には効く。これはどうなってんだろうと調べたところ、勝手に単数行コンポーザーにしてるっぽいことが分かったのでした。

(にしても「アンカーのある行の、アンカーより後ろの部分」については回りこんでもいいと思う。たとえばアンカーより前の部分を上揃え、アキ量最適値固定とすればアンカーは動かなくできる。実際「ここまでインデント文字」ではそういうことをやっている)

プロフィール

あるふぁ(仮)
InDesignで新聞組版のようなことをしてる人です。

InDesignスクリプトについて

つくったInDesignスクリプトのまとめ

twitter

5つの「く」

ハタハタのすばらしさをまとめました。