暑い日々が続いていますが、皆様はいかがお過ごしでしょうか。こう暑いと水辺が恋しくなります。次のお休みは海でも行ってみようかなと思いつつ仕事をこなしていますが、ここ数年泳いだ事が無いので少々怖かったりもします。 さて、本題。illustratorはベジエ曲線を利用した描画システムが特徴的なのは皆様ご存知の通りなのですが、このベジエ曲線ってスクリプトから正確にコントロールするには、それなりの知識が不可欠な訳です。 理論上ではバーンスタイン基底関数なんかが出て来て非常に難解で複雑なものなのだけど、実はこのベジエ曲線、実装はとても容易でわかり易かったりするんだ。 まずは、下図の2つのアンカーポイントの間にある曲線の中点にアンカーポイントを追加する場合を考えて見よう。 この場合、コントロールポイントは双方のanchorと開始点のleftDirection、終点のrightDirectionの4点。
【InDesign javascript】 指定フォルダ内にあるinddファイルをPDF書き出しやPS保存またはパッケージをするスクリプト 指定したフォルダ内にある全てのInDesignファイルをPDF書き出しやPS保存またはパッケージをするスクリプトです。 これは以前公開していた「SavePDFandPS.jsx」にパッケージ機能を追加したものです。 詳しい使いかたは【InDesign javascript】 指定フォルダ内にあるinddファイルをPDF書き出しやPS保存するスクリプトをお読みください。 パッケージを選択するとオプションの以下のような選択ウインドウが表示されますので、お好みに設定してOKを押してください。 ご使用は自己責任でお願いします。 (macOSX 10.5.6 InDesign CS3で動作確認済み) 「SavePDF_PS_Package.zip」をダウンロード
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
親をたずねてxxx - ものすごいハイウエスト日記 上記ブログにもちょっとコメントさせていただいて、すっかり「書いた気」になっていたのですが、一応ここにも書いておきます。 InDesignのスクリプトを長く書いていて、DOMがある程度染み付いている方は「PageItemの親はPageだよね」と何の疑いもなく信じています。しかし、InDesign CS5では、PageItem.parentはSpreadを返します(spreadの親はapplication。Pageを通貨しましせん。)。ですから気がつきにくく、Adobe流儀(驚き最大の法則)に振り回されてしまうかもしれません。 PageItemからPageオブジェクトを得たい場合は、InDesign CS5からPageItemオブジェクトに新しく追加された「parentPage」プロパティを使ってください。 var my_sel = app.
Adobe Forums: With CS5, some things have changed ここに書かれている通りなんですが、InDesign CS5ではスクリプトラベルを手がかりにPageItemを参照するのが難しくなりました。CS4以前のスクリプトラベルに依存しているプログラムはうまく動きません。スクリプトラベルはもう過去の遺産になったようです。 たとえば、スクリプトラベル「hoge」を持つテキストフレームのcontentsを取得しようとして var my_doc = app.documents[0]; var my_tf = my_doc.textFrames.itemByName("hoge"); alert(my_tf.contents); と書いてもエラーになります。「item("hoge")」も同様です。 じゃあいったいitemByName()では何を渡すかといえば、レ
ドキュメント内に固有のデータを入れたい場合があります。明示的に入れたいならペーストボードを使うとか、注釈として入れるとか、スクリプトラベルを貼るとかしてもいいかと思います。しかし、スクリプト用設定などの「できるだけ隠しておきたい」データや「あまり触られたくない」データをそれぞれのドキュメント中に仕込みたい場合の方法を考えてみましょう。 XMPメタデータを使う方法 ちかごろのAdobe製品のドキュメントはXMPメタデータを持てるようになっています。一般的な要素はAdobe Bridgeなどからも参照できます。この方法の第一の利点はデータを個別に開く必要がないことです。 たとえば、「説明」-「説明」になにか文字列を入れてみましょう。 var my_doc = app.documents[0]; var my_metadata = my_doc.metadataPreferences;//メタデ
この和訳について¶ この文章は Google JavaScript Style Guide を非公式に和訳したものです. 内容の正確性は保証しません. ライセンスは原文と同じく CC-By 3.0 とします. フィードバックは Issue への登録 , あるいは Kosei Moriyama (@cou929 または cou929 at gmail.com) へ直接お願いします. この和訳のリポジトリは こちら です.
マクラ JavaScriptを使っている人なら知っていることだろうけど、JavaScriptはプロトタイプベースのオブジェクト指向を採用しているので「クラス」がない。オブジェクトしかない。 でも、組み込みの演算子としてnewがあって、それを使って var obj = new Object(); とか書けちゃう。クラスってものはJavaScriptにはないはずなのに、new ClassName();と書くとあたかもClassNameクラスのオブジェクトのインスタンスが生成され、それが返ってくるかのような挙動をしている。 これは気持ち悪い。言語仕様としてはクラスは本来存在しないのに、クラスのようなものが導入されている。まともな神経を持った人間なら、一体new演算子って何なの?という疑問を持つのが当たり前である。「{}はnew Object()のシンタックスシュガーです」とか言ってふんぞり返って
さすがに幼いこどもにナポリからブエノスアイレスまで旅をさせて,親をたずねさせるのはこんな世の中だし危険だしそのテの団体から「虐待だ」とかの声があがりかねないのでスッキリしたコードで親を探すことにします. 以前ちょこっとかいてた(function(o){return ...})(obj)てコードをつかって無名関数の再帰処理の具体的な例です. あるPageItem(CS4まで?),またはTextFrame, Paragraph... なんでもいいんですけどforループをつかわずにparentプロパティのPage, Documentをゲトしてみるという話. (動作はCS4 6.0.5で確認しています.CS5でのご使用は追記をお読みになってお試しください.) //objはPage,Documentなんかを親にもってるオブジェクトです var page = (function(o){ return
uupaa の中の人は28ヶ月前にペットショップからウーパールーパーを2匹連れ帰りました。 同じ日に、「作れども作れども UI 速くならず、じっとコード見る」な感じから脱却するため、中の人は、"uupaa" という固有名詞がWeb上に存在しないことを確認し uupaa.js というオレオレライブラリを作りはじめました。 なぜ当時、百花繚乱な他のjsライブラリを使うことを考えなかったか… 飲みながらじゃないと言えないっ JavaScript勉強前(2年ぐらいまえ)は… JavaScriptを真面目に勉強するまえだと、これで精一杯でした CoverFlow - http://pigs.sourceforge.jp/old_uupaa/uupaa.js.0.3.18/demo/coverflow/coverflow.htm 画像が表示されない場合は何度かリロードしてください(当時はこういうのでも
javascriptのエラいひとに槍玉にあげられそうなかんじだけど,全体のコードのタイプ量が減るので5分ぐらいは早く家に帰ることが可能になるかもしれません.ういた5分は有効にお使いください. #target InDesign var doc = app.activeDocument; doc.pages.__proto__.each = function(fn){ with({tgt:this}){ for(var i=0; i<tgt.length; i++){ fn(tgt[i],i); }}}; doc.pages.each(function(o,idx){ alert(o.name); alert(idx);}); おそらく(function(o){...})(obj)とかで再帰関数をうまくつくると,TextFramesとかParagraphsとかCharactersとかその他モロ
TinySegmenter: Javascriptだけで実装されたコンパクトな分かち書きソフトウェア ソースながめたらInDesignでも動きそうだったのでためしてみました. InDesign x TinySegmenter from nbqx on Vimeo. 選択されたテキストをTinySegmenterをつかって,わかち書きしてます.配列で返ってくるので,"|"でjoinしてあげたものを表示させてます. それとInDesign Interactive Consoleから使うのにTinySegmenterのソースを直接いじるのもアレだなーと思ったので,カンタンなラッパーを書いて使ってます.ソースは以下です. #target Indesign #include "/opt/indesign/tiny_segmenter-0.1.js" Wakachi = {}; Wakachi.pro
TinySegmenterはJavascriptだけ書かれた極めてコンパクトな日本語分かち書きソフトウェアです。 わずか25kバイトのソースコードで、日本語の新聞記事であれば文字単位で95%程度の精度で分かち書きが行えます。 Yahoo!の形態素解析のように サーバーサイドで解析するのではなく、全てクライアントサイドで解析を行うため、セキュリティの 観点から見ても安全です。分かち書きの単位はMeCab + ipadicと互換性があります。 デモ 日本語の文章を入力し、解析ボタンをクリックしてください。 ダウンロード TinySegmenterはフリーソフトウェアです. 修正BSDライセンスに従って本ソフトウェアを使用,再配布することができます. Download TinySegmenter version 0.2 使い方 <script type="text/javascript" src
http://github.com/tily/js-eeepub JavaScript で ePub を読むだけじゃなくて作成できたら面白いだろうなと思って、勉強も兼ねて jugyo さんの EeePub を JavaScript に移植してみた。 不完全なところが色々あるし、もっと便利にできそうな気がするんだけど、だいぶ飽きてきたんで一旦 github で公開してみる。 zip.js と xmlbuilder.js に依存している。あと、JSSpec でスペックを書いてみた。スペックに書いてるまんまだけど、こんな感じで使う。 var easy = new EeePub.Easy({ title:'sample', creator:'tily', identifiers:'http://example.com/book/foo', uid:'http://example.com/book/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く