InDesign では XML文書を流し込み組版するための仕組みが予め備わっています。 所定のルールでXMLを書いておき、それを所定の方法で読み込めばよいだけです。
» Read Moresed の正規表現は java などの正規表現とは振る舞いが違う部分があるので注意が必要です。
詳しくは Overview of Regular Expression Syntax を読みましょう。
Mac OS X のターミナルで sed を使う場合、GNU の sed は標準ではインストールされていない、と思われる。 http://ftp.gnu.org/gnu/sed/ 等からダウンロードしてソースからインストールしておくと何かと重宝します。
» Read MoreMac OS X で Terminal を使うことが多いのだが、いつも困っていたのはテキストファイルのコピー&ペースト。 Terminal 内に表示しきれるほど小さいテキストファイルは cat してから範囲選択すれば済むのだが、 それより大きいテキストファイルの場合は困る。
そんなときに重宝するのが 標準出力の内容をクリップボードにコピーしてくれる pbcopy コマンド。
» Read MoreInDesign上で選択しているテキスト範囲をXMLツリー(構造)に関連づけ&結果をXMLファイルとして出力するための jsx を書いたのでメモ。
» Read MoreMacのターミナルで作業しているコマンドのオプションが微妙に Ubuntu とかの Linux と違って困ることがある。 たとえば -i オプションがないとか。 今回は tar の exclude オプションがどうしても使いたくなったので、 GNU Tar を入れることにした。 実際にやってみると configure , make するだけの話であった。
» Read Moreインドア系なので家族旅行をほとんどしたことがなかったのですが、今年の夏は南紀白浜に行ってきました。
» Read Moreターミナルから InDesign CS5 用スクリプトが実行する方法です。 この方法を使えば、ESTKを起動しなくても ExtendScript をターミナルから実行できるので、vim などでコードを書いていると便利な場合があります。 特にESTKのテキスト編集機能は気に入らない場合には。
» Read MoreHTMLのテーブルをそのまま ExtendScript 経由で自動組版しようと思っている。 当然 colspan, rowspan がガンガンにはいっている。 CSSで指定されているボーダーにも対応しなければならない。
» Read MoreExtendScript Toolkit を使わないで、 直接InDesignのCOMを経由してExtendScript(JavaScript,VBScript)を実行する方法。
» Read More思いついたときにすぐメモしたいのだが、それをどうすればいいか。
» Read MoreGroovyを使うようになってから、 XMLよりJSONで済ませてしまう機会が増えてきたのだが、いまいちよくわかっていない。 とりあえず現状で得たJSONに関する基本認識のメモ。
» Read MoreGrails徹底入門を読んでいたら Innerクラスの代わりに AS を使うという説明が載っていた。
たとえば、RunnableインタフェースをClosureを使って記述するには...
正規表現で、.(dot)は改行にはマッチしない。これがポイントだった。 そこで、Pattern.DOTALL オプションをつけて、regex をcompileしてやれば、 .(dot)は改行にもマッチする。 したがって、以下のような Testクラスがあった場合に、改行含んだ状態のStringをコンストラクタに与えると、見事に複数行に渡っていても処理できる。
» Read More諸事情によりいろいろな方法でXSLTによるXML変換をするので、そのやり方メモ。 saxon, xsltproc, ant を使う。
» Read Moretitle要素の前に border 要素を追加したいなど、 変換後のXMLに要素などを追記するという XSLの記述はよく使うのでメモ。
» Read More多言語に展開するドキュメントを制作する方法としてもっとも標準的なのは、 XMLで内容を記述して、何らかの方法で読みやすい形式(PDF,HTML等)に変換する という手法だと思う。
» Read Moreセブンイレブンにいったら、"名古屋とっておきのおいしいパン屋さん" という本があってちょっと立ち読み。
近所にダウニーがあるなんて知らなかった他、いくつか有用な情報があったのだが、その本、店が禁煙かどうか書いてないんだよね。
まあ、パン屋さんだから、パンだけ売っていてカフェ併設じゃない場合は関係ないと言えば関係ない話なんですが。
ぐるぐるマインドマップ おもしろかったなぁ、なんてことを考えていたけど、 参加メンバーを考慮してもう少し別の悩みを中心に書いた方が、もっと有用なアイデアが得られたんじゃないか、 と思いを巡らしていて気づいた、ぐるぐるマインドマップの限界...というか メソッドにはコンテンツは含まれていない という当たり前の現実を。
» Read More実はわたしは末端冷え性なんですが、今日は勉強会参加で少し緊張したのか、指先まで血液がぐるぐる来ていました。いつもこうだと調子がいいのだけどな、こんなときは指先までぽかぽかなんだから自分の身体はハード的には末端を暖かくするポテンシャルもってんだから...なんてことを考えていたら、そうそう、思い出した。 "単純な脳、複雑な「私」"という本の中で、著者がアルファ波をコントロールできるという話を。普通の人がコントロールできないのは、意識が現在アルファ波が出ているということを認知できないだけの問題であり、アルファ波を測定できる機械を使って意識にフィードバックをかけてやれば誰でもコントロールできるようになると...ってことは、末端冷え性の問題も解決できるのかぁ。
» Read More「検索はするな」という本を読んだ。そうとは知らず手に取ったのだが、 ワイキューブの安田氏の本だった。結局買ってその日のうちに読み終わった。してやられた感じだ。 たしか以前も「1000円札を拾うな」というタイトルの本だったような記憶。同じパターンだ。
» Read More100ページほどあるマニュアルをDocbook XMLで制作している。 そのXML文書中にちりばめられた indexterm 要素の修正...という作業で、 ひたすら indexterm のサブ要素である primary ,secondary 要素を検索して修正するという作業をしなければならない...という話を聞いたので、 vim ならオペレーションミスが少なく効率的に作業できますよ、という話をした。
» Read Moreサーバ上に設置しているドキュメントの一部をリクエストがあった時点で画像に変換して出力する方法のメモ。
» Read Moreアジャイル とは、ソフトウェア開発手法の一つで、 小さな機能を短い期間(一週間程度)で積み重ねるように開発する(反復開発)することで ソフトウェアを開発していく手法です。
» Read MoreMakefile で、CSVやSubversionレポジトリからソースツリーを作業ディレクトリにエクスポートしてビルドするような場合...
たとえば、
以下のようなMakefileを書いた場合ですが、
make clean したときに、作業ディレクトリが存在しないとエラーになります。
たとえば、 patch.txt が存在していた場合だけ、patchを適用したい。存在していなければ何もしない そんな作業をする Makefile を書くには if を使えばよい。
» Read More何かを改良したり、(多くの変化がわるい方向への変化であるということを前提に)変化を食い止めることを頭で考えようとするが、 うまくいかない場合がある。 そんなとき、人間の身体のしくみになぞらえてみて、そことの矛盾がないかを考えることがある。
» Read More脳の本を読んでいたら、ある種の脳疾患のあるの患者さんへの実験として、 握手するときに、電気ショックを与える、という話が載っていた。
» Read MoreXML文書から XPath で指定した部分だけを抜き出したい。
XSLTではデフォルトの変換規則があるため、これが意外に難しかったのでメモ。
(デフォルト規則が分かっていれば難しいことはない。)
先週の金曜(2009/8/14)にオープンしたばかりのジュンク堂ナディアパーク店に行ってきました。 日曜の夕方とはいえレジは途切れることなく本を買い求める人の列が・・・
» Read Moreドキュメントの最後につける索引ページ、その索引語句をソートするときに 濁音を静音として評価してソートする必要がある場合があります。 このエントリーではその場合の対処例を書きます。
» Read More自分が持っているもの(=身体能力など)を十分に活用しようとする、というのが人間・・・ということを以前、聞いた。 そのときは、それはその通りなんだろうな、と理解したのだが、 最近子供とプールにいく機会があり、 本当!それな って納得した。
» Read More複数のノートをTPOにあわせて、組み合わせて使うことを「多ノート」派というらしい。 確かにちょっとした外出時に、不意に思いついたことをメモするためにはポケットサイズのノートがいいし、ある程度アイデアを一定期間蓄積・発酵させるような場合には、B5やA4のリングノートで厚みもそれなりにある方がいい。
» Read Moreマインドマップやその他さまざまな思考術や成功するためのメソッドで言われていることですが、 考えていることを実現したいことを書きなさい、という話。
書き出すこと自体の効果は実体験を通して何となく納得していたので、 なぜ書き出すと効果があるのか?と深く考えたことはなかったのですが、 最近脳研究によって、その理由が明確に説明できるようになってきているようです。
» Read MoreMakeでは、条件に応じて処理を変えられることが判明。 以下の例では、カレントディレクトリに index.html が 存在している場合は、proc-a マクロを実行、そうでない場合は proc-b マクロを実行します。
» Read Moreブログ構築システムをつくっていて、 ディレクトリの深さに応じて、パスの指定方法がちょっとだけ異なるテンプレートファイルを使う必要が出てきた。 このテンプレートをコピーしていると共通部分に変更が生じたときに全部のテンプレートを書き直す必要が生じてしまうので、diff と patch を使って対処することに。
» Read Moreブログ管理用の Makefile を書いているのだが、カレントディレクトリ以下にあるサブディレクトリだけを列挙したい。 サブディレクトリは、時間とともに変化するので、Makefileに直に書くのはやめたい。
» Read MoreGUIが複雑なアプリの場合、実行環境にあわせて画面をフルに使いたい場合があります。 Javaには実行時にそのマシンのグラフィック環境に関する情報を取得できる機能があるので、それを使います。
» Read Moreサーブレットなどを使ってイメージを生成させるような場合、 サーバ上で実行すると失敗することがある。
そんなときは java の起動オプションとして -Djava.awt.headless=true
のようにして
Headlessモードにすればよい。
入力フォームに何を入力したらいいか例を示したい場合があります。 フォームの横に例を書く、という単純な方法もありますが、 以下のようにテキストフィールド上にヒントを書くという方法もあります。
oXygenのoXygen Authorの作者モードでは、 EPSは表示できないが、SVGは表示できる。
また、Apache FOP を使って変換する場合も、PDFに直接出力する場合は、EPSは使えない。
※PostScriptに書き出す場合は、EPSを扱える。
Java.io.Fileには、delete() というメソッドがあるので、それを呼び出せば、ファイルやディレクトリは削除できる。
ただし、ディレクトリの場合、その中にファイルやサブディレクトリがあると削除が失敗する。
そこで以下のように再帰的にサブディレクトリにさかのぼって、ファイルを消した上で、ディレクトリを消すという方法で、削除する。
MSOffice2007 では、docx,xlsx,pptx のように 拡張子に x が追加されているが、この実体は、zip ファイルで中身はXML等で構成されている。 したがって、データファイルだけを展開して中身を書きかえて、再度 zip アーカイブに戻してやれば、MSOffice なしで、内容を操作することができる。
» Read More大規模なサイトを管理しているとどうしても古いページがサーバに残ってしまうことがあります。
これらの古いページは、トップページ経由でリンクをたどってアクセスするユーザの目に触れることはありませんが、Googleなど検索エンジンから直接アクセスするユーザが、
サイト管理者の意図せずして、古いページにアクセスしてしまうことがあります。
わたしは、3年前くらいからブログをはじめたのですが、はじめの2年間はまったくアクセスがありませんでした。 アクセス統計をとってもあまりのアクセスの少なさに嫌気がさして、しばらくして、統計を見ないようになってしまいました。
» Read MoreProcessingは、通常 PDE と呼ばれる統合開発環境でスケッチしながら使います。 スケッチの成果物は、アプレットとして書き出して単体配布できます。これは、これで便利な機能ですが、Javaプログラマであれば、直接JavaにProcessingを埋め込んで使った方が早い場合があります。 Eclipse上で開発すれば、コード補完も効きますからPDEを使わなくても、スケッチもはかどります。
Processingは、簡易スクリプト的な記述でイラスト画像を(対話的に)作成できるツールです。
他にもいろいろな活用方法があるので詳しくは
http://www.processing.org/や
http://processing.jp/をご覧ください。
javax.swing.border パッケージには、あらかじめ便利なボーダーがいろいろと揃っています。 通常は、javax.swing.BorderFactoryを通じて各種ボーダーのインスタンスを取得して使いますが、それらSwing標準のボーダー、およびその組み合わせで間に合わない場合は、自作します。 今回は、ツールバーとメインパネルの間に引くボーダーを 実現する UnderlineBorder.java を作成しました。
Jythonを使って、今回CD-ROMアイコンを作成してみました。
» Read MoreUbuntuの場合、NTFSフォーマットにも対応しており接続すると自動的にマウントしてしてしまう。 今回のように、NTFSフォーマット済みディスクをext3フォーマットにしたい場合、結構やっかいだったので、覚え書きとして記録。
» Read Moreローカルのファイルシステム上ではうまく作動するのに、
CD-Rに焼くとうまく作動しない。
そんな場合のひとつの対処方法。
XMLデータからDTDを作成するには trang を使用すると簡単に作成できます。 完全に自分が意図したDTDにするには、Trangで得た出力からさらに修正する必要がありますが、InDesign+XMLで使用するような簡単なXMLを扱う場合は、ほとんどこれで十分です。
» Read MoreInDesignでXML書き出しするときに、改行情報はどうなるのか?の調査。
» Read MoreながらくJavaとServletを使ってウェブアプリケーションを構築してきたのだが、ついにPHPを使って開発をすることになった。
» Read More接続してきたブラウザの画面サイズを元にHTMLのレイアウトを調整したい場合に使用するJavaScript。 今回は、textareaを画面サイズに応じて調整したかったので、実装しました。
» Read More最近、本田 直之氏の「レバレッジリーディング」や勝間和代氏の著書「効果が10倍アップする新・知的生産術」を読んで、自分自身の本に対する付き合い方に思う。
» Read Moreカレントディレクトリに複数のXMLファイル (*.xml) があり、これをHTMLに変換したい。 このときMakeを使って、更新されたファイルだけ変換するようにしたいがどうすればいいか。
» Read Moreプラグイン機構は、開発時点では、どんな機能が追加されるかわからないときに使います。 それを Java で実現する方法を整理しました。
» Read More数日前から口内炎になってしまった。
» Read More時間配分記録を付けているのだが... (時間配分とは、自分が何に時間を使っているか逐一ノートに記録することです...) しばらく、やってみて、自分は考えている時間が思ってたよりも多い、ということがわかりました。 つまりPlan-Do-See でいえば、Planの割合が思ったより多いと。
» Read MoreInDesign CS3 でJavaScriptを使って自動組版する場合に毎回使うちょっとしたテクニックを整理しました。
» Read MoreInDesignでは、単に文字やイラスト・イメージの配置だけでなく、四角形や多角形・楕円などを直接配置できます。 これをJavaScriptから操作するにはどうすればいいのか? また、それらの図形オブジェクトの色はどうやって指定するのか?
» Read Moreコードを書いていても、マニュアルの制作をしていても、コンピュータで扱うファイルは増え続ける。 これを如何にに上手にマネジメントしていくか、という話。
» Read More