Index > groovy

groovy

Wed, May 5, 2010

選択中のテキストフレームに文字列をセットするExtendScript, InDesign + JavaScript

毎回書くコードなのでメモ。 選択中のオブジェクトからテキストフレームだけをえり分ける function は、 カネムーメモ を参考にさせていただきました。

続きを読む

Wed, April 21, 2010

eps2png した後のエラーチェックの話,変換失敗したファイルを列挙

Cygwin上で EPSをPNGに変換する DPIを指定 のエントリーにある方法を使って、 カレントディレクトリにある eps ファイルを png に変換したはいいが、 途中でいくつかはエラーが発生した場合、 どのファイルがうまくpng 変換できなかったかをチェックする groovy コード。

続きを読む

Sat, April 10, 2010

json-lib を使うときに必要となる jar

JSON-libを groovy 使うときのメモ。

続きを読む

Fri, April 9, 2010

MacでExtendScript, AppleScript から InDesignを起動して "こんにちは" な話 (Groovyからの起動おまけ付き)

最終目標は、Mac上のGroovyからInDesignのExtendScript(JavaScript)を 起動すること。

考え方としては、

  1. GroovyからAppleScriptを起動
  2. AppleScriptからInDesignを起動
  3. AppleScript内から do script を使ってJavaScriptを実行

という手順。

続きを読む

Thu, April 8, 2010

groovy と java を混ぜた状態でビルドする build.xml の記述方法(Ant)

参考情報

GroovyとJavaを混ぜて使うときに常々ビルドが面倒だと思っていたのですが、 groovyc には -j ( ジョイントコンパイラフラグ ) オプションがあり これを使えば、groovy と java が混じっていても問題なくコンパイルできる。

いままでは、ベースクラスは java で書いて、派生クラスは groovy で 実装して・・・みたいなことを律儀にやって、javac してから groovyc するように していたのだが、そういう細かいことを一切考える必要がないことが判明。

続きを読む

Sat, April 3, 2010

GroovyからInDesignを叩く(Windows限定) 〜 Groovy から InDesign CS3 のJavaScriptを実行する方法

ExtendScript Toolkit を使わないで、 直接InDesignのCOMを経由してExtendScript(JavaScript,VBScript)を実行する方法。

自動組版の一連の流れの中でInDesignをスクリプト経由で使う場合に いままでそこだけ手動で、InDesign起動してスクリプト実行、という手作業が入らざる得なかったわけですが、 make 一発ですべての処理を一括で行うことができそうです。

MacOSXユーザの方は、 わたしがいつもお世話になっている カネムーメモ GroovyからInDesignを叩く(Mac限定) が参考になります。

続きを読む

Thu, February 25, 2010

MIFから段落スタイル名を抽出する (FrameMakerの話)

RoboHelpでFrameMakerデータをリンクさせると、 RoboHelp側でFrameMakerに存在している段落タグの一覧が確認できる。 便利だなと思ったが、その一覧をテキストデータ化する方法は RoboHelp上では提供されていないようなので、自分でMIFから抽出するコードを書いた。(groovyで)

続きを読む

Wed, February 24, 2010

アタリ画像の作成( groovy )

アタリ画像を groovy で作成するコードメモ。 簡単なコードですが...

続きを読む

Thu, February 18, 2010

JSONに関する基本認識,リストの処理

Groovyを使うようになってから、 XMLよりJSONで済ませてしまう機会が増えてきたのだが、いまいちよくわかっていない。 とりあえず現状で得たJSONに関する基本認識のメモ。(間違いもあるかもしれませんので注意)

ここではすべて json-lib を使ってテストしています。

参考リンク

続きを読む

Mon, February 15, 2010

EDDでテキスト範囲に指定したフォントが反映されない問題を MIF上で解決する

構造化FrameMaker8の話。 EDD上でテキスト範囲指定している要素に対して、合成フォントやフォントファミリを指定しても 有効にならない。合成フォントでは、EDDの指定自体が反映されないようだ。 (再度構造化ツールでEDD書き出ししたときに指定が無効になっていないかで確認)

以前の自分の調査によれば...

継承元の段落書式に合成フォントを指定するとNG になるらしい。 逆に合成フォントを継承元の段落書式に設定していなければ、 EDDでテキスト範囲に対して行った書式設定は有効かされると...

というメモを見つけた。(この内容が真実かどうかは現時点では未確認です。)

ただFrameMaker GUI上で直接該当要素(この例では markup)に対して 合成フォントを指定してやればきちんと有効になる。

そこで、今回はMIF上でこのGUIで行ったのと同じ操作を行うことにした、という話。

こんな対処をしなければならないのはレアケースだとは思いますが、 EDD+テキスト範囲指定にはいままでもいろいろ苦しめられてきたので、メモとして残します。

続きを読む

Sat, February 13, 2010

Groovy でファイルを読む/書く、文字エンコーディングを指定して...

GDK(Groovy-JDK)を使ってファイルからテキストを読む方法のメモ。 Groovy In Action にも詳しく書いていなかったのだが、 単にこのページ のJavaDocを見ればよいことがわかった。

続きを読む

Sat, February 6, 2010

json-lib のテスト, groovy

couchdb のクライアント用コードをgroovyで書いていると、JSONを使いこなす 必要が生じたので作動確認用テストコードをメモ。

基本的には、http://json-lib.sourceforge.net/usage.html を見れば 使い方はわかると思いますが。

続きを読む

Mon, February 1, 2010

Groovyコードを書くためのテキストエディタを速攻でつくる

groovyConsole コマンドでGroovyコードを書くためのテキストエディタが起動しますが、 あれを自分でも使えないか、という話。 実際にやってみると簡単に使うことができました。

次のような簡単なコードで groovy.ui.ConsoleTextEditor をコンポジットした MyConsoleTextEditor をつくって使います。

続きを読む

Mon, February 1, 2010

as を使って Innerクラスの代わりに Closure を使って Innerクラスっぽく記述する方法, Groovy

Grails徹底入門を読んでいたら Innerクラスの代わりに AS を使うという説明が載っていた。

たとえば、RunnableインタフェースをClosureを使って記述するには...

def c = {
    println 'Hello'
}

def c2 = c as Runnable
new Thread(c2).start()

というような例が出ていたような気がする。

続きを読む

Mon, February 1, 2010

PropertyMissing の利用 (Groovy)

Map で key,value を設定したり呼び出したりしたい。 このとき通常であれば、以下のように使う。

def map = [:]
map.put( 'foo','bar' )
assert map.get('foo') == 'bar'

しかし、Groovyではもっと直感的にコードが書ける。 以下のように...

def map = [:]
map.foo = 'bar'
assert map.foo == 'bar'

続きを読む

Wed, January 27, 2010

条件判定にクロージャを利用(改良版) groovy

昨日クロージャを使った条件判定についてエントリー書いたのですが、 その後、この方法より多少はよいと思われる別の書き方を思いついたのでメモ。

続きを読む

Tue, January 26, 2010

条件判定にクロージャを利用 groovy

たとえば、無数の点が平面上に存在していて、 その点と点の関係を調べてグループ分けしたい、という問題を解く場合。

考えられるグループは...

などが考えられます。

点に対するグループの分け方ルールは無数に存在するので、 思いつきでどんどんルールを追加・変更できるように設計しておきたい。

こういう場合に、普通のJava的発想では、 点同士の関係を解析する IAnalyzer インターフェスを定義して... という発想になってしまうのですが、 GroovyのClosureを使えばもっとスマートに速く問題を解決できそうです。

続きを読む

Mon, January 11, 2010

Groovy を使った設定ファイルの作成 (スタイル設定用 ミニDSL の自作)

Groovyのビルダを使うと、見かけ上設定ファイルのような記述ができるのですが、 それがそのまま実はGroovyのコードとして動かせるということができます。 これが便利なのは、単なる設定ファイルのように見えるものの、 実際はGroovyのコードなので、 変数やロジック等をそこに混ぜることができるという点です。

Groovy In Action の Chapter 8 "ビルダーの利用" では、 Lispの野望、実行可能な仕様に近づく というように表現されています。

続きを読む

Wed, January 6, 2010

Groovy流にXMLを扱う、XMLの読み書き変更

Groovyでは、JDOM等の既存ライブラリを使って XML を処理できますが、 Groovyに組み込まれた XmlSlurper クラスを等を使うと 非常に Groovy に処理できるようになります。

続きを読む

Sun, January 3, 2010

MIF 上で EPS 画像を PNG に置きかえる方法( Adobe FrameMaker の話 )

Adobe FrameMaker ドキュメント中に含まれる(参照で挿入している) EPS 画像を PNG 形式の画像に まとめて入れ替える方法。

単純に foo.eps を foo.png に置換すればOKと思ったのだが、そこまで簡単ではなかった。 (のでメモ)

続きを読む

Sat, December 26, 2009

SGGAEJ 勉強会の最後のLT発表資料です

LTを聞いていただいて感謝。 スピーカーの方々勉強になりました。

markdown 詳しくはこちらをご覧ください。

以下に、 今回のLTの発表スライドPDFとGAEサービス公開URLを載せておきます。

続きを読む

Wed, December 23, 2009

Google App Engine for Java (GAE/J)で Groovlet を使ってHTMLを出力する場合の文字化け対策

GAE/Jの勉強会に参加することになったので、GAE/J + Groovy (Groovlet)の勉強中。 非常に何もかもが順調にいったのだが、文字化けでちょっとはまったのでメモ。

続きを読む

Thu, November 26, 2009

gdata-java-client で blogger への投稿,取得,更新 ( groovy )

gdata-java-client を使えばJavaから簡単にBloggerを利用できる。

これを使って、 TwitterとBloggerを別々のツールではなく一つのツールから投稿・管理できるような ツールを作れないかと検討中。(当然Twitter のAPIも調べなければならないが)
とりあえず、Bloggerに gdata-java-client経由で基本的な処理(投稿・取得・更新) ができるかどうか試したのでメモ。

続きを読む

Mon, November 23, 2009

jmd のリリース ... ブログエントリ作成支援ツール(markdown+独自拡張マクロ)

jmd は、このサイト構築に使用しているツールです。 このサイトのエントリは、基本的には markdown で書いていて、 それら複数のエントリを Make を使ってあれこれして結果としてサイトの体裁に変換しています。

Google Code でオープンソースとしてリリースしたので、興味がある方はどうぞ。

続きを読む

Sun, November 22, 2009

groovyのIO処理が簡潔すぎる話、OSコマンドの実行の場合

ちょっとした作業スクリプトを書くときは、なるべくJythonで、無理な場合は一部Javaで記述、 というようにしてきたのだが、最近これをやめて groovy に全面移行しようとしている。

移行当初はJythonの方が楽な部分もあるかな、と思っていたが、 すべてにおいてgroovyの方が楽に書けるのがすごい。 といっても元がJavaプログラマなので、その辺は割り引いて。 (Pythonな人なら結論は違うだろうけど、でもPythonプログラマならわざわざJythonを使うことはないか。)

今回は diff で2つのファイルを比較して内容が同じでなければ○○する、 という実装をしようと思って、groovyでOSコマンド実行コードを書いたのだが、 簡潔すぎるのでびっくりしたのでメモ。

続きを読む

Sat, November 21, 2009

Ubuntu 8.04 への groovy手動インストール

Ubuntu 8.04 では、 apt-get で groovy をインストールできるのだが、最新バージョンではなかったので、 groovy本サイトより groovy-binary-1.6.4.zip をダウンロードして手動でセットアップした。

groovyのインストールは、

  1. 環境変数 JAVA_HOME を設定する
  2. groovy へパスを通す

という2つしポイントがないのだが、Ubuntu の場合 JAVA_HOME をどこに設定すればよいのか。 (結論: /usr/lib/jvm/java-6-sun でOK sunのjavaを使っている場合は)

続きを読む

Thu, May 21, 2009

Makefileでカレントディレクトリ内のディレクトリだけを抽出して使う(サブディレクトリのみ列挙)

ブログ管理用の Makefile を書いているのだが、カレントディレクトリ以下にあるサブディレクトリだけを列挙したい。 サブディレクトリは、時間とともに変化するので、 Makefileに直に書くのはやめたい。

2009-07-08 追記

Cygwinだけでなく、Ubuntu(Linux)でもこのMakefileを使ったところ、CygwinとUbuntu で ls の出力形式が異なるため ここで説明した方法では、うまくディレクトリをリストアップできなくなってしまった。
Jython を使った代替案

続きを読む

 Twitter
follow me on Twitter
 Categories
 Archives