TracWikiのPDF化プラグイン、日本語の改行対応

先日のTracWikiをPDF化する件ですが、どうも日本語で長文を書いたときに自動的に改行されずに、ページをはみ出してました。
英語の長文を適当に突っ込んでPDF変換するとちゃんと単語間(スペースの部分)で改行されるので、どうもコレはwordWrap辺りの問題ではないかと。
「linebreak」でpisaの下のソースを当たってみると reportlab_paragraph.py というファイルの925-929行目に

if style.wordWrap == 'CJK':
    #use Asian text wrap algorithm to break characters
    blPara = self.breakLinesCJK([first_line_width, later_widths])
else:
    blPara = self.breakLines([first_line_width, later_widths])

とゆー記述が。
reportLabのドキュメントによると、たぶんParagraphStyleってclassのwordWrapを「CJK」に書き換えれば良いと思うのですが、pisa経由でソース追っかけて行ったら良くわかんなくなってきて・・・結局。

if style.wordWrap == 'CJK':
   #use Asian text wrap algorithm to break characters
   blPara = self.breakLinesCJK([first_line_width, later_widths])
else:
   blPara = self.breakLinesCJK([first_line_width, later_widths])

と言うベタな対応(まぁ基本的に日本語でしか書かないし)。
禁則処理とか右端の揃い方にちょっと不満はあるのですが、その辺はもうちょい時間のある時にでも。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です