Skip to content
Browse files

PDF: Ruby 1.9 compatibility of '0x5c'(backslash) handling in FPDF ANSI (

#61, #117).

Japanese Shift_JIS and Traditional Chinese Big5 have '0x5c'(backslash) problem.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5343 e93f8b46-1217-0410-a6f0-8f06a7374b81
  • Loading branch information...
1 parent 470ff0c commit a4bad1435912b7ada79961c6d889359b4991a1a5 @marutosi marutosi committed Apr 6, 2011
Showing with 13 additions and 6 deletions.
  1. +13 −6 lib/redmine/export/pdf.rb
View
19 lib/redmine/export/pdf.rb
@@ -143,12 +143,19 @@ def textstring(s)
end
def fix_text_encoding(txt)
- @ic ||= Iconv.new(l(:general_pdf_encoding), 'UTF-8')
- txt = begin
- @ic.iconv(txt)
- rescue
- txt
- end || ''
+ if txt.respond_to?(:force_encoding)
+ txt.force_encoding('UTF-8')
+ txt = txt.encode(l(:general_pdf_encoding), :invalid => :replace,
+ :undef => :replace, :replace => '?')
+ txt.force_encoding('ASCII-8BIT')
+ else
+ @ic ||= Iconv.new(l(:general_pdf_encoding), 'UTF-8')
+ txt = begin
+ @ic.iconv(txt)
+ rescue
+ txt
+ end || ''
+ end
# 0x5c char handling
txt.gsub(/\\/, "\\\\\\\\")
end

0 comments on commit a4bad14

Please sign in to comment.
Something went wrong with that request. Please try again.