ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Coccon2で日本語を出す

2008-10-07 17:48:46 | JavaとWeb

 さっき、Cocoonのインストールを書いたけど、これでは、日本語が出ない。
 なので、日本語を出す設定について、さらにメモメモ。

Cocoon2による日本語PDF作成 設定メモ
http://www.kcat.zaq.ne.jp/jasper/groupware/Cocoon2_PDF.html

を参照してというか、それをなぞって、一部最新バージョンに更新した形で書いてます。

 前の記事のインストールが終わったところから書いています。なので、OSなどの環境は、前の記事と同じです。

 なお、文中の< > ¥は、全部半角です。




■フォント用のフォントメトリクスファイルを作成

・Cドライブの直下にfop-fontsというフォルダを作りました。
  →コマンドラインから mkdir c:¥fop-fonts を実行しましたけど、
   すなおに、新規作成でつくっても、たぶんOK

・そしたら、cocoonの下のWEB-INF¥libに移動します
  →前の例だと、
    C:¥Program Files¥Apache Software Foundation¥Tomcat 5.5¥webapps¥cocoon¥WEB-INF¥lib

・そこに、フォントメトリクスファイルを作成(TTFReader)するバッチファイルを作成
 →さっき移動したcocoon¥WEB-INF¥libに、mkfonts.batというファイルを作成し、以下の内容を書きます。

java -cp fop-0.20.5.jar;xercesImpl-2.9.1.jar;xml-apis-1.3.04.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS Gothic" C:¥WINDOWS¥Fonts¥MSGOTHIC.TTC c:¥fop-fonts¥msgothic.xml
java -cp fop-0.20.5.jar;xercesImpl-2.9.1.jar;xml-apis-1.3.04.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS PGothic" C:¥WINDOWS¥Fonts¥MSGOTHIC.TTC c:¥fop-fonts¥mspgothic.xml
java -cp fop-0.20.5.jar;xercesImpl-2.9.1.jar;xml-apis-1.3.04.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS UI Gothic" C:¥WINDOWS¥Fonts¥MSGOTHIC.TTC c:¥fop-fonts¥msuigothic.xml
java -cp fop-0.20.5.jar;xercesImpl-2.9.1.jar;xml-apis-1.3.04.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS Mincho" C:¥WINDOWS¥Fonts¥MSMINCHO.TTC c:¥fop-fonts¥msmincho.xml
java -cp fop-0.20.5.jar;xercesImpl-2.9.1.jar;xml-apis-1.3.04.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS PMincho" C:¥WINDOWS¥Fonts¥MSMINCHO.TTC c:¥fop-fonts¥mspmincho.xml

(上記¥は、本当は半角の円マークなので、作成するときは、置換してください。java -cp から.xmlで1行です)

・そのバッチファイルを実行すると、c:¥fop-fontsにファイルが出来るはず。




■FOPのユーザーコンフィグレーションファイルを作成

 上記の参照サイトに、この例でやっているコンフィグレーションファイルがおいてあるようです。
 config.xml

 これをダウンロードしてきて、embed-fileの、C:¥WINNT¥Fontsを、C:¥WINDOWS¥Fontsに置換しました。
 それを、c:¥fop-fontsの下に置きました。





■PDFシリアライザーの設定を変更

 cocoonの直下にあるsitemap.xmap、つまり、

  C:¥Program Files¥Apache Software Foundation¥Tomcat 5.5¥webapps¥cocoon¥sitemap.xmap

 をエディタで開いて、fo2pdfのところを書き換えます。
 以下のところを探して、赤字のところを入れてください。

<map:serializer logger="sitemap.serializer.fo2pdf" mime-type="application/pdf" name="fo2pdf" src="org.apache.cocoon.serialization.FOPSerializer">
<user-config>C:/fop-fonts/config.xml</user-config>

<!-- This element specifies URL to FOP user configuration file.
It can be absolute file URL or relative to the servlet context.
Examples:

<user-config>file:/C:/cocoon/fop-config.xml</user-config>
<user-config>WEB-INF/fop-config.xml</user-config>
-->

(上記< > ¥は、本当は半角なので、作成するときは、置換してください。)
 



■日本語コンテンツの作成 その1:XMLファイル作成

 上記までが(サーブレット)全体設定で、これからが、個々のコンテンツの設定です。
 今回は、前の例のHelloのPDFを置き換えることにします。

 前回のHelloのPDFは、追っていくと分かるのですが(最終的に
C:¥Program Files¥Apache Software Foundation¥Tomcat 5.5¥webapps¥cocoon¥samples¥blocks¥fop
にいき、そこのsitemap.xmap中、hello.pdfのところをみると、

XMLファイルは
samples/hello-world/content/hello.xml
スタイルシートは
samples/hello-world/style/xsl/page2fo.xsl

を使っているそうです。
そこで、
C:¥Program Files¥Apache Software Foundation¥Tomcat 5.5¥webapps¥cocoon¥samples¥hello-world¥content¥hello.xml
の内容を、上記サイトのXMLのサンプルファイル(これ)に置き換えます。




■日本語コンテンツの作成 その2:スタイルシート修正

 先ほど書いたように、スタイルシートは

C:¥Program Files¥Apache Software Foundation¥Tomcat 5.5¥webapps¥cocoon¥samples¥hello-world¥style¥xsl¥page2fo.xsl

 にあります。これを書き換えます。書き換えポイントは2つ

(1)fo:rootタグを探してください
   →fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"のあとに、language="ja"を追加

(2)xsl:template がならんでいるところに
 以下のものを追加

<xsl:template match="mincho">
<fo:block font-family="MS-Mincho" font-size="12pt" space-before.optimum="12pt" text-align="left">
<xsl:apply-templates/></fo:block>
</xsl:template>

<xsl:template match="pmincho">
<fo:block font-family="MS-PMincho" font-size="12pt" space-before.optimum="12pt" text-align="left">
<xsl:apply-templates/></fo:block>
</xsl:template>

(上記< > ¥は、本当は半角なので、作成するときは、置換してください。)




■で、起動する

 あとは。前に書いた「5.PDFのHelloWorldをだす。」と同じ。

 Cocoonのページを出し、PDFのページにいくと、置き換えた日本語のHelloが見える。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

そーいや、cocoonって、どーなったんだ?と思い、インストール

2008-10-07 14:37:20 | Weblog

 前に書いた、Google MAPは、Webでも、ケータイでも、っていう話らしい。
 うん、そんな感じの話って、昔聞かなかった?

 ワンソース・マルチユース

 で、そこで話題になったのが、Cocoonっていうわけ。

 うん???
 そーいや、cocoonって、どーなったんだ?と思い、
 今日は、インストールしてみた。




■環境とか、手順の概要

ここ
Cocoon 2.1.6のインストール
http://kamakura.cool.ne.jp/oppama/bayk/cocoon2.1-install.html

を参考にしました(っていうか、全面的に受け売りです)

今、Javaの1.5かな、が入ってます。
Tomcatも、5.5が入っています(というか、5.5のところに入れるものとします)
OSは、Windows XPです。

で、以下の手順でインストールする
  1.antのインストール
  2.Cocoonダウンロード
  3.cocoon Tomcat用を作成
  4.Tomcatのwebappsにコピー
  5.PDFのHelloWorldをだす。
(Antが入っている場合は、1は、いらない)以下、説明する。




■1.antのインストール
 antをいれてなかったので、入れます。
 まず、
Apache Ant-Binary Distributions
http://ant.apache.org/bindownload.cgi

にいったら、1.7.1がダウンロードできるようになっていたので、
apache-ant-1.7.1-bin.zip(ZIP形式)をダウンロードしました。

 で、それを解凍したら、どこでもいいみたいですけど、とりあえず、
C:¥Program Files¥Apache Software Foundationの下に、apache-ant-1.7.1っていうフォルダでコピーしました。
こんなかんじ



そうすると、その下にbinっていうフォルダがあって、その下にant.batがあります。

 で、そのant.batまでのフォルダのパス(C:¥Program Files¥Apache Software Foundation¥apache-ant-1.7.1¥bin)を、Windowsの「コントロールパネル」の「システム」の「詳細設定」タブの「環境変数」の「システム環境変数」のPATHに加えます。

 実際には、「環境変数」ダイアログをだして、「システム環境変数」のリストの中から、PATHを選択し、「編集」ボタンをクリック、「システム変数の編集」ダイアログの「変数値」のテキストボックスに

C:¥Program Files¥Apache Software Foundation¥apache-ant-1.7.1¥bin

(¥は実際には半角)を追加します。区切り文字が;なので、前にPATHが設定してあったら、;が必要です。




■2.Cocoonダウンロード
Cocoon Main Site
 http://cocoon.apache.org/

をみると、Downloadがあるので、そこからとってくればいいのですが、今回は、2.1.11を
http://cocoon.apache.org/mirror.cgi
から落としてきます。
src.zip (今回だと、 cocoon-2.1.11-src.zip)をダウンロードしてきます。

で、ZIPを解凍したら、適当なところにおくのですが、上のイメージをみると、分かるように、
今回は、C:¥Program Files¥Apache Software Foundationの下に、cocoon-2.1.11っていうフォルダを
おきました。





■3.cocoon Tomcat用を作成
 JAVAのパスは通っているとして、次に、コマンドプロンプトを出して、

cd C:¥Program Files¥Apache Software Foundation¥cocoon-2.1.11

で、上記のcocoonを置いたパスに行き(上記¥は、本当は半角)

その後

build.bat webapp

と、コマンドラインから打って、Tomcat用のcocoonを作成していただきます。

・・・結構かかります。出来るまで待ちます・・・・




■4.Tomcatのwebappsにコピー

で、出来たら、さっきのcocoonのパスにいき、その下にあるbuildのフォルダをクリック、
webappというフォルダが出来ていると思います。

 そしたら、そのファイルを、Tomcatのwebappsの下にコピーします。
 今回の場合、上のイメージを見てもらうとわかるけど、
C:¥Program Files¥Apache Software Foundationの下にTomcat5.5を入れているので、

C:¥Program Files¥Apache Software Foundation¥Tomcat 5.5¥webapps

の下に、webappsをコピーします。

そして、Tomcatを立ち上げると、

http://localhost:8080/webapp

で、Cocoonのトップページが見れます。

なお、webappという名前じゃやな人は、コピーしたあとでwebappというフォルダ名を変えてください。
変えた名前でアクセスできます。
(webappをcocoonにすれば、http://localhost:8080/cocoon)

なお、変えるのは、コピーしたwebappのフォルダ名です。もともとあったwebapps
の名前を変えてしまうと、たいへんなことに(@_@!)なってしうまうので、注意!!




■5.PDFのHelloWorldをだす。

 上記のCocoonのページに行くと、samplesという言葉が、文章中にあり、リンクされてるので、そこをクリック。
 それで出てくるページ、左上にHello World!とあるので、そこをクリック
 そしたら出てくるページの右下に、「Hello World!」とあり、その中に「PDF」とあるので、そこをクリック

 Hello!
 This is my first Cocoon page!

って、出てきます。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Gooブログでも、Google Mapが、(Static APIを使えば)使えるのですね!

2008-10-07 10:36:09 | JavaとWeb


下の実験なんだけど、これでもてわかるように、Google MapをGooブログで出せるようですね!

Gooは、iframeと、Javascriptを禁止しているみたいなので(これを埋めると、うまく表示されなかった。たぶん、禁止?)、Google Mapのリンクで表示されるHTMLタグは使えないんです(iframeで作られるので)。

 でも、Googleは、STATIC APIという、イメージタグでできるものが、出来たので(って言っても、かなり前のものだけど)、それを使えば、下の図のとおり、うまくいくみたい。

 なお、下の実験、今日の10:30頃までに見た人は、うまく行ってなかったと思います。
 なぜかというと、Keyをとるとき、他のサイトのキーを使ってしまったからみたい。

 ここのGooブログのサイト
 http://blog.goo.ne.jp/xmldtp/
 を指定して作ったキーだと、うまくいきました。

 STATIC APIによる、Google Mapの指定方法は、また今度、別の機会に書こうと思います。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする