From 2c830770cb39d962e12b072fdebffc35c457888b Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 1 Jan 2011 11:45:12 +0000 Subject: [PATCH] ruby1.9 compatibility git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4602 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb b/vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb index ad52e9e62..c41174f6a 100644 --- a/vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb +++ b/vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb @@ -378,13 +378,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 @@ -707,7 +715,7 @@ class FPDF ls=l ns=ns+1 end - l=l+cw[c[0]] + l=l+GetCharWidth(cw, c[0]) if l>wmax # Automatic line break if sep==-1 @@ -786,7 +794,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 @@ -1079,7 +1087,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') -- 2.39.5