summaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-03-30 03:28:10 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-03-30 03:28:10 +0000
commit2d97a7453ba4df44f3c27882544b702dfec7c115 (patch)
tree42f932943f04b72355b404001fbb7dfc58a6ea07 /vendor
parent8b0144248c23f9cd2fd1f6d6c564fcbc8d97d9c4 (diff)
downloadredmine-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.rb16
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')