diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-03-30 03:28:10 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-03-30 03:28:10 +0000 |
commit | 2d97a7453ba4df44f3c27882544b702dfec7c115 (patch) | |
tree | 42f932943f04b72355b404001fbb7dfc58a6ea07 /vendor | |
parent | 8b0144248c23f9cd2fd1f6d6c564fcbc8d97d9c4 (diff) | |
download | redmine-2d97a7453ba4df44f3c27882544b702dfec7c115.tar.gz redmine-2d97a7453ba4df44f3c27882544b702dfec7c115.zip |
PDF: transplant r4602 (#61).
Ruby1.9 compatibility.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5254 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'vendor')
-rw-r--r-- | vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb b/vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb index 679cfb265..30714fa3a 100644 --- a/vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb +++ b/vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb @@ -389,13 +389,21 @@ class FPDF end @ColorFlag=(@FillColor!=@TextColor) end + + def GetCharWidth(widths, index) + if index.is_a?(String) + widths[index.ord] + else + widths[index] + end + end def GetStringWidth(s) # Get width of a string in the current font cw=@CurrentFont['cw'] w=0 s.each_byte do |c| - w=w+cw[c] + w=w+GetCharWidth(cw, c) end w*@FontSize/1000.0 end @@ -790,7 +798,7 @@ class FPDF ls=l ns=ns+1 end - l=l+cw[char] + l=l+GetCharWidth(cw, char) if l>wmax # Automatic line break if sep==-1 @@ -866,7 +874,7 @@ class FPDF sep=i ls=l end - l=l+cw[c]; + l=l+GetCharWidth(cw, c); if l>wmax # Automatic line break if sep==-1 @@ -1159,7 +1167,7 @@ class FPDF cw=font['cw'] s='[' 32.upto(255) do |i| - s << cw[i].to_s+' ' + s << GetCharWidth(cw, i).to_s + ' ' end out(s+']') out('endobj') |