From: Noritsugu Nakamura Date: 2004-01-04T00:07:50+09:00 Subject: [ruby-list:39019] Re: ja font patch for pdf-writer-TP20030916 中村 のりつぐ です。 In article <20040102000218E.nnakamur@mxq.mesh.ne.jp> Noritsugu Nakamura wrote: > pure ruby な PDF file generator の pdf-writer-TP20030916 > で日本語を出力できるようにするパッチを書いてみました。 > > > □ 場所 > > pdf-writer > http://raa.ruby-lang.org/list.rhtml?name=pdf-writer > パッチ > http://www2s.biglobe.ne.jp/~Nori/ruby/dist/pdf-writer-TP20030916-ja_font_patch-20040101.diff 行替えのときに日本語が分断されてしまい化けてしまうので、 以下のパッチが必要でした。(このパッチ当てても文字幅が ちゃんと取得できないので、どうせあふれるのですが…) *** lib-20040101/pdf/writer.rb Thu Jan 1 23:11:53 2004 --- lib/pdf/writer.rb Sun Jan 4 00:02:12 2004 *************** *** 978,983 **** --- 978,990 ---- add_text(x, y, size, tmp, angle, adjust) unless test return text[brk + 1..-1] else # just split before the current character + # adjust + if $KCODE[0] == ?s || $KCODE[0] == ?S + i -= 1 if /[\x81-\x9f\xe0-\xef]$/ =~ text[0, i] + elsif $KCODE[0] == ?e || $KCODE[0] == ?E + # ok? + i -= 1 if /([\xa1-\xfe][\xa1-\xfe])+[\xa1-\xfe]$/ =~ text[0, i] + end tmp = text[0, i] ctmp = text[i] ctmp = @fonts[cf].differences[ctmp] unless @fonts[cf].differences.nil? 中村 典嗣 E-mail: nnakamur@mxq.mesh.ne.jp