DITAからEPUBを生成する

今流行のEPUBを試してみました。 DITA-OTのプラグイン「dita4publishers」を使うと、DITAドキュメントから簡単にEPUBを出力できます。2年ほど前、このプラグインが出たばかりの頃に試したら、全然ダメだったのを記憶しています。あまり期待せずに試してみた…

DITA-OTで全文検索機能を備えたHTMLを生成する

以前、htmlsearchで検索にヒットしたキーワードをハイライト表示するで書いた、jQueryによる検索ヒットキーワードのハイライト表示を実装してみました。サンプルを下記で公開します。jQueryを使ったハイライト表示の実装は、割と簡単にできたのですが、テス…

クリップボードを監視して数値の合計を算出するツール

ブログの主題から外れたトピックですが、仕事の効率化には寄与するかもしれないネタです。 以前、会社でMS Accessを使ってちょっとした業務処理のプログラムを開発しました。そのプログラムを使っている事務の女性から、「スプレッドシートに羅列された数値…

DTPの勉強会 第3回(東京)に参加してきました

遅ればせながら、DTPの勉強会 第3回の参加レポートです。 初めて「DTPの勉強会」に参加したのですが、大変有意義な勉強会で、自腹を割いて参加した甲斐がありました。いつもブログでお世話になっている、「市川せうぞー」さん、「ひらくん」さんなど、みなさ…

外部ファイルの指定に従ってノンブルを振る

印刷物を作っていると、変則的なノンブルの振り方を要求されることがしばしばあります。真面目にセクションを定義して指定どおりのノンブルを振るのは結構骨が折れる作業です。そこで、外部ファイルでノンブルの振り方を指定し、ノンブル専用のレイヤにテキ…

曜日の漢字の字形を変更する

カレンダーなどを作成するときに、曜日の漢字の字形を括弧付き、白丸、黒丸、白角、黒角m、白角丸、黒角丸といった字形に変更したいことがあります。手作業で変更するのは結構手間なので、スクリプトを書きました。 数字について同様の処理を行うスクリプト…

フォントの置換をIDMLを使って行う その2

IDMLの勉強を目的に、IDMLを使ってInDesign文書のフォントを置換するプログラムを作りました。プログラムを書いている途中で、フォント置換にIDMLを利用するのは不適切なことに気が付いたのですが、一応、プログラムが動作するところまで書き上げました。 フ…

属性の「$ID/」接頭辞

IDMLの中のXMLファイルを見ていると、「$ID/」という接頭辞が付いた文字列があちこちに見られます。例えば、フォントの指定は、ストーリーファイルの中では、 <AppliedFont type="string">$ID/新ゴB</AppliedFont> Fonts.xmlの中では、 <FontFamily Self="difb" Name="$ID/新ゴB"> というようになっています。この接頭辞にどういう意味があるのか</fontfamily>…

スニペットを使って部品をコマに配置する

イベントのプログラムを掲載したチラシなどで、プログラムの裏面にスポンサー企業の広告をビッシリと並べることがありませんか。このようなチラシの場合、スポンサー企業の入れ替わりが幾度となく繰り返され、そのたびに広告を入れ替える作業でウンザリする…

IDMLを処理するためのJavaプログラミングに挑戦

フォントの置換をIDMLを使って行うためのコーディングを始めました。私は、PerlでDOMを使ったXML処理のプログラムを書いた経験があるので、当初Perlでプログラミングしようと思っていましたが、やはりJavaでプログラミングすることにしました。理由は、IDML …

フォントの置換をIDMLを使って行う

ちょっと前にフォントの置換を行うJavaScriptを紹介しましたが、IDMLを使えばもっと確実にできそうです。IDMLではフォントの指定がどうなっていて、システムにインストールされていないフォントをどうやれば抽出できるか調べました。 まず、ストーリー(Stori…

PerlスクリプトのEXE化

PerlスクリプトのEXE化については、いろいろな方がブログ等で書かれていますが、ちょっとハマってしまったのでメモしておきます。【参考にしたページ】 http://blog.remora.cx/2010/02/par-activeperl-5101-build-1007.html【私のPC環境】 Windows7 Home Pre…

IDML(InDesign Markup Language)に驚き!!

遅まきながら、市川せうぞうーさんのブログを通してIDMLの存在を知りました。さっそくAdobe InDesign CS4 Product SDKをインストールしてみたら、ビックリ!! SDKの中には、XSLTエンジンのXeres, RelaxNGによるXML文書妥当性検証のためのJingなど、DITAハッ…

改行を含むTSVファイルを使ってデータ結合を行う方法(UTF-16出力、串刺し印刷対応版)

昨日アップしたPerlスクリプト、UTF-16出力での文字化けを回避する方法を「ひらくん」に教えていただきました。 感謝!感謝!です。UTF-16出力の修正を加えたついでに、串刺し印刷対応のための機能拡張を行いました。データ結合で1ページに複数レコードを割…

改行を含むTSVファイルを使ってデータ結合を行う方法

InDesignのデータ結合では、フィールドデータに改行が含まれているとデータの読み込みが正常に行われません。姑息な手段ですが、以下のようなワークアラウンドを考えました。 Excelから出力したTSV(Tab Separated Values)ファイルの、フィールドデータに含ま…

最近のDITA-OTにまつわる動向を見ていて思うこと

最近、DITA-OTの開発は求心力をなくしているなぁと思います。亜種が氾濫していて、本家本元の品質アップ、機能改善がなおざりになっているように見受けられます。 DITA-OTの亜種には、以下のようなものがあります。 DITA for Publishers これはDITA-OTのプラ…

DITA-OT1.5.2安定版は非安定!?

DITA-OT1.5.2の安定版がリリースされたので、DITA-OT1.5.2 M6のカスタマイズ内容をマージする作業を始めました。まずはPDF出力回りから手を付けたのですが、止めました。以下のような問題が出てまともに動きません。 用語集トピックが出力されない FO→PDF変…

外部ファイルの指定に従ってフォントを置換するスクリプト(完成!?かな)

12/15に公開したスクリプトには問題がありました。置換対処のフォントがシステムにインストールされているフォントならば正常に動作するのですが、システムにインストールされていないフォントだと動作しませんでした。フォントオブジェクトを取得するのに、…

外部ファイルの指定に従ってフォントを置換するスクリプト(検索・置換利用版)

昨日に引き続き、フォントを置換するJavaScriptです。昨日よりは大分進歩しました。これで完成かどうかは、明日、会社で試してみます。何せ、スクリプトで処理したいファイルは会社にあって、スクリプトは家で書いていますので。多くのDTP担当者の方が私と同…

外部ファイルの指定に従ってフォントを置換するスクリプト(未完)

外部ファイルから、旧・新のフォント名の対応を読み込んで、フォントを置換するスクリプトを作りました。簡単な文書で試したところ一応動いています。しかし、うまく動作するのはシステムにあるフォント同士を置換する場合だけ。肝心の、システムにないフォ…

文書で使われている、システムにないフォントの一覧を外部ファイルに出力するJavaScript

過去にMac版QuarkExpressで作られた文書を、Win版InDesignに変換する作業をサクッとやりたい・・・・ 実際に手作業でやってみたら、フォントを置換するのに手間がかかることが分かりました。「ここは一つ、フォントの置換を一発でやってしまうスクリプトを書…

DITA-OT1.5.2安定版がリリースされました

予定どおり、DITA-OT1.5.2の安定板がリリースされました。 SourceForgeからダウンロードできます。 リリース前にいくつかバグをレポートしたのですが、それらがオープンのままで1.5.2がリリースされたのはちょっと残念です。tocjsに関するバグは取るに足らな…

文書の見た目の美しさを捨てられるか

印刷の仕事をしていると、Wordで原稿が入稿されることがよくあります。Wordの原稿をInDesignで組み直す場合が多いのですが、ものによってはWordの原稿をそのまま印刷する場合もあります。 Word原稿をそのまま印刷する場合は、スタイルを定義したWordテンプレ…

1桁の数字を全角、2桁以上の数字を半角にするスクリプト

クライアントから入稿する原稿は、数字の全角、半角が統一されていないことがよくあります。あまりコンピューターに慣れていない人は、数字やアルファベットの全角と半角を意識していない場合もあるようです。しかし、印刷屋さんとしてはそのような原稿を右…

InDesign: オーバーフローした表セルに長体をかけるJavaScript

DITAでは食べていけず、仕事ではInDesignを使っています。「両極端だなぁ」と、自分でも思っています。 プリプレスの世界も作業の効率化は避けて通れない課題です。幸いにも、InDesignにはJavaScriptによる自動化の機能が備わっています。退屈なDTP作業の合…

Win64でのMeCab.dllのコンパイル

何とか、Windows 7 x64上でMeCabを動かしたいと思い、MeCab.dllのコンパイルにチャレンジしていますが、未だうまくいっていません。一応、コンパイルはできるようになったものの、ソースコードに手を加えないとx64では動作しないようです。MeCab.dllのコンパ…

DITA1.1 ライティング・ガイドの評価

私がDITAコンソーシアムジャパンの会員だった頃、「DITA1.1 ライティング・ガイド」というドキュメントを書きました。今でも、DITAコンソーシアムジャパンのWebサイトからダウンロードできるはずです。このライティング・ガイドが公開になってすぐにコンソー…

IBM Developer WorksのDITAに関する記事

IBMのDeveloper Worksで興味深い記事が公開されました。単一の DITA ソースから手順を説明するドキュメントと受け入れテスト用ドキュメントを作成するDITA導入を検討している企業のドキュメント担当者には、とても参考になる記事だと思います。私が以前メー…

htmlsearchで検索にヒットしたキーワードをハイライト表示する

Web-based Help from DocBook XML Readmeの見よう見まねで、検索にヒットしたキーワードをハイライト表示することに成功しました。思っていたとおり、jQueryを使えば簡単に実装できます。こんな感じです。 フレームをまたがってJavaScriptを動かすのに、少し…

DITA1.2認可の誤報

11月4日の日記でDITA1.2が認可されたと書きましたが誤報でした。すみません DITA1.2をOASISの標準として認めるかどうかの投票が11月4日に始まって、その投票の結果が今日明らかになったとのことです。 結果、11月4日に公開された仕様が認可され、今度こそ本…