SQS Source Editor 2.0におけるPDF曞き出し機胜に぀いお

232 views
Skip to first unread message

hiro

unread,
Feb 12, 2010, 2:52:27 PM2/12/10
to sqs-users
久保裕也様


はじめたしお。ペガサス゚ンゞニアリングの新保ず申したす。珟圚、バルカン半島に䜍眮するボスニア・ヘルツェゎビナ囜におJICA案件に埓事しおおりた
す。

圓地でアンケヌト実斜する事ずなり、開発された゜フトりェアを利甚したいず考えおおりたすずころ、䞋蚘のような珟象が発生臎したした。぀きたしおは、ア
ドバむス等をいただければず思い、投皿臎したす。

珟象英語版Windows 7にお、キリル語を含む質問祚を䜜成しおPDFフォヌム曞き出しExport PDF Formを実行したすず、キリ
ル語の郚分が「#」ずなっおしたう。

珟圚たでの確認事項
PDF曞類のDocument PropertiesのFontsを確認するず、Times-Roman, Times-Boldずなっおいる。
キリル語文字を含む文曞をメモ垳で䜜成し、フォントをTimes-New-Romanに指定しおも文字化けは起きない。
Mac OS X 10.5.8Java SE 6の環境䞋では、PDF曞類のFontsずしおIPAGothic (Embedded
Subsetず衚瀺され、党角文字ず思われるが、文字化けせずにキリル語が衚瀺される。

お䌺いしたい事項
OSが倉わるず、PDF曞類に埋め蟌たれる文字セットが異なるのはアプリケヌションによるものでしょうか。それずもJavaの実行環境によるもので
しょうか。ご存知の範囲で結構です。教えおいただけるず助かりたす。

アプリケヌションの機胜ずしお甚意されおいるPDF曞き出しの機胜は、特別に䜜成されたルヌチンで実珟しおいるのでしょうか。それずも他で開発され
たルヌチンを利甚しおいるのでしょうか。もし、他で開発されたルヌチンを利甚されおいるようであれば、名称を教えおいただけないでしょうか。

䜕ぶん、特殊な文字セットですので、想定倖の問合せになるかず思いたすが、宜しくお願いいたしたす。


ペガサス゚ンゞニアリング株匏䌚瀟
新保博之

久保裕也

unread,
Feb 12, 2010, 10:04:50 PM2/12/10
to sqs-...@googlegroups.com
ペガサス゚ンゞニアリング新保様、

SQS開発者の久保裕也です。

SQSの倚蚀語ぞの展開に぀いおは、個人的にも匷い意欲を持っおおりたす。
ただし、珟状の開発内容には、倚蚀語察応が䞍十分・䞍完党な郚分が倚くあるので、
開発協力、いろいろな環境での怜蚌やサンプルの提䟛などをしおいただけるず嬉しいです。

たた、私の本棚には、坂口尚さんの曞かれた「石の花」がありたす。
私の゜フトりェアで、ボスニア・ヘルツェゎビナの囜の人々を
支揎できるのであれば、望倖の喜びです。


> OSが倉わるず、PDF曞類に埋め蟌たれる文字セットが異なるのはアプリケヌションによるものでしょうか。それずもJavaの実行環境によるもので
> しょうか。ご存知の範囲で結構です。教えおいただけるず助かりたす。

ご存じのこずかず思いたすが、OSには「衚瀺蚀語」の蚭定がありたす。
Windows 7 Ultimate,Enterpriseおよび、MacOSX,UbuntuなどのOSには、
OSの「衚瀺蚀語」を切り替える機胜がありたす。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1090langpk/langpk.html
なお、私の珟圚の開発環境はWindows 7 Home Premiumなので、
Multilingual User Interface Pack (MUI) をむンストヌルしたり、
衚瀺蚀語を切り替えたりするこずができないのですが....

SQSでは、アプリケヌション偎で、このOSの「衚瀺蚀語」の蚭定内容に応じお、
GUIの衚瀺蚀語の切り替えや、PDF生成時の文字セットの切り替えを
自動的に行うようにしおいたす。
(たた、アプリケヌション実行時のプロパティでuser.languageの倀を指定するこずで、
蚀語蚭定を䞊曞きできたす)

OSやuser.languageプロパティによる衚瀺蚀語の蚭定に察しお、
珟圚のSQSの実装偎が察応しおいるのは、英語(en)ず日本語(ja)だけです。
それ以倖の衚瀺蚀語では、デフォルトの英語(en)の実装に切り替わる圢です。

ボスニア・ヘルツェゎビナで利甚するならば、
http://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%B9%E3%83%8B%E3%82%A2%E8%AA%9E
によれば、ボスニア語のISO 639-1の蚀語コヌドは bs ですので、
SQSの゜フトりェア内に、この bs ぞの察応ファむルを远加するこずになりたす。


以䞋の䜜業をするには、前提ずしお、Javaでのアプリケヌション開発に関しお、
Subversion, Apache Maven, コヌド眲名蚌明曞などに぀いおの知識が必芁
ずなりたす。たずは、http://dev.sqs2.net/wiki/sqs/How_to_Build_Executables
を読んでいただいた䞊で、ずいうこずになるのですが、

基本的には、たずえばSQSの゜ヌスコヌドの、sqs-translatorモゞュヌルのうち、
src/main/resources/以䞋の、
「ファむル名_蚀語コヌド.拡匵子」ずいう圢匏になっおいるいく぀かのファむルに぀いお、
もずもずある_jaや_enを真䌌お、「ファむル名_bs.拡匵子」ずいうファむルを远加しおから、
党䜓をビルドし盎しお運甚するこずになるものず思いたす。


> アプリケヌションの機胜ずしお甚意されおいるPDF曞き出しの機胜は、特別に䜜成されたルヌチンで実珟しおいるのでしょうか。それずも他で開発され
> たルヌチンを利甚しおいるのでしょうか。もし、他で開発されたルヌチンを利甚されおいるようであれば、名称を教えおいただけないでしょうか。

PDF曞きだし機胜に぀いおは、オヌプン゜ヌスのW3C XSL-FO実装である、
Apache FOP 0.95を利甚しおいたす。
http://xmlgraphics.apache.org/fop/0.95/index.html
なお、FOPそのたたではなく、PDFレンダリング時にマヌク䜍眮・自由蚘述欄䜍眮を
採取できるようにするための、以䞋の独自パッチを圓おおいる点に泚意が必芁です。
http://dev.sqs2.net/repositories/entry/sqs/sqs-translator/fop_0.95-sqs.patch

さお、英語版Windows7においお、
FOPでキリル文字を甚いるずきに文字化けするずいう問題ですが、

FOPには、OSにむンストヌルされたフォントを自動的に怜出しお、
PDF生成や衚瀺に利甚できるしくみがありたす。
しかし、この機胜は、いかなる環境でも100%完璧に動䜜するずいうわけではないようです。
他方、FOPには、PDF生成時にフォントの眮き堎所をURLで明瀺的に指定しお参照させる機胜、
生成するPDFファむルにTrueTypeフォント自䜓を埋め蟌む機胜などが備わっおいたす。

SQSの開発にあたっお、私ずしおは、運甚䞊のトラブルをなるべく避けるようにするために、
FOPでPDFを生成・衚瀺する際には、OSにむンストヌルされたフォントに䟝存しない、
自前の方法でTrueTypeフォントを䟛絊し、これを明瀺的に参照させるこずにしたした。
さらに、SQSが生成するPDFファむルには、自前で䟛絊したTrueTypeフォントを
埋め蟌みたいず考えたした。

最終的には、フリヌで埋め蟌み可胜なラむセンスの日本語TrueTypeフォントである
「IPAフォント」ず、それをもずに生成したmetricsファむルをSQSに同梱するこずにし、
さらに、このフォントやmetricsファむルの眮き堎所を、
動䜜環境のロヌカルなファむルシステム䞊のパスで指定するのではなく、
JavaWebStartのしくみを通じお配垃したjarファむルの内容の䞀郚を指定する
特殊なURLを甚いるずいった方法によっお、珟状のような機胜を実珟させるこずができたした。

SQS内のFOPでキリル文字を衚瀺しようずするずきに、フォント自動怜出機胜が
うたく動䜜しない堎合には、この日本語版ず同様の詊みをする必芁があるかもしれたせん。
具䜓的には、
http://xmlgraphics.apache.org/fop/0.95/configuration.html
を参考に、
sqs-translatorモゞュヌルのうち、src/main/resources/fop/
ずいうディレクトリにある userconfig_ja.xmlを参考に、
userconfig_bs.xml ずいうファむルを䜜成しおもらうこずになりたす。

次に、ipafontモゞュヌルをコピヌした新しいモゞュヌルを䜜成しお、
キリル文字を含む埋め蟌み可胜なラむセンスの
TrueTypeフォントずそのmetricsファむル、これらを参照するためのアンカヌずなる
Javaクラスファむルを䜜成し、これらをたずめたjarファむルをビルドしたす。

さらに、sqs-editorモゞュヌル内のpom.xmlファむルを線集しお、
このjarファむルを参照するようにし、jnlp以䞋䞀匏を䜜成し盎すこずになりたす。

...以䞊が、必芁な䜜業のアりトラむンずいうこずになりたす。


なお、このMLは䞀般利甚者向けずいう䜍眮づけであるので、
以埌、この話題に぀いおは、開発者向けのフォヌラムで
続ける圢にさせおいただければず思いたすが、いかがでしょうか。

日本語で議論するなら、
http://dev.sqs2.net/projects/sqs/boards/show/1
あるいは、䞖界の他の囜ぞのSQSのロヌカラむズの可胜性を広げるために
あえお英語で議論しお埌進の人々ぞの蚘録を残そうずするのならば
(私はヘナチョコ英語での議論になっおしたいたすが、すみたせん)、
http://dev.sqs2.net/projects/sqs/boards/show/3

です。
よろしくお願いいたしたす。

久保裕也


2010幎2月13日4:52 hiro <yuki....@gmail.com>:

> --
> このグルヌプに投皿するには、次の宛先にメヌルを送信しおください。
> sqs-...@googlegroups.com
> このグルヌプから退䌚するには、次ぞメヌルをお送りください。
> sqs-users-...@googlegroups.com
> その他のオプションに぀いおは、次の URL からグルヌプにアクセスしおくださ
> い。 http://groups.google.com/group/sqs-users?hl=ja

hiro

unread,
Feb 20, 2010, 3:57:08 PM2/20/10
to sqs-users
久保様

䞁寧な返信をいただいたにも関わらず、お瀌が遅くなっおしたい、申し蚳ありたせん。

ボリュヌムいっぱいでお腹が満腹なので、消化するのに時間がかかりそうです。
䜕ずか、教えおいただいた情報を元に頑匵っおみたす。

消化完了埌、䜕か進展、あるいは䞍明点があれば、投皿したいず考えおおりたす。

hiro

unread,
Feb 21, 2010, 4:11:19 AM2/21/10
to sqs-users
いただいた情報を元に、Windows偎の蚭定をいろいろ倉曎しおuser.languageプロパティを倉曎できないか、詊しおみたしたが、圓方の胜
力の限りでは無理でした。

ご指瀺に埓い、これから先はデベロッパヌフォヌラムでご盞談したいず思っおおりたす。
どうぞ、宜しくお願い臎したす。


ペガサス゚ンゞニアリング株匏䌚瀟
新保博之

Reply all
Reply to author
Forward
0 new messages