]> source.dussan.org Git - redmine.git/commitdiff
PDF: switch encoding and font whether CJK and Thainland non UTF-8 or not in TCPDF...
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Mon, 9 May 2011 10:41:02 +0000 (10:41 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Mon, 9 May 2011 10:41:02 +0000 (10:41 +0000)
Contributed Jun NAITOH.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5718 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/export/pdf.rb

index 295911354c856581e1c5d402901dbab3ad840f22..3dbbb63ec6fec2ff210c030feee509160a09c357 100644 (file)
@@ -34,13 +34,40 @@ module Redmine
         attr_accessor :footer_date
 
         def initialize(lang)
-          super()
           if RUBY_VERSION < '1.9'
             @ic = Iconv.new(l(:general_pdf_encoding), 'UTF-8')
           end
+          pdf_encoding = l(:general_pdf_encoding).upcase
+          super('P', 'mm', 'A4', (pdf_encoding == 'UTF-8'), pdf_encoding )
           set_language_if_valid lang
-          @font_for_content = 'FreeSans'
-          @font_for_footer  = 'FreeSans'
+          case pdf_encoding
+          when 'UTF-8'
+            @font_for_content = 'FreeSans'
+            @font_for_footer  = 'FreeSans'
+          when 'CP949'
+            extend(PDF_Korean)
+            AddUHCFont()
+            @font_for_content = 'UHC'
+            @font_for_footer  = 'UHC'
+          when 'CP932'
+            extend(PDF_Japanese)
+            AddSJISFont()
+            @font_for_content = 'SJIS'
+            @font_for_footer  = 'SJIS'
+          when 'GB18030'
+            extend(PDF_Chinese)
+            AddGBFont()
+            @font_for_content = 'GB'
+            @font_for_footer  = 'GB'
+          when 'BIG5'
+            extend(PDF_Chinese)
+            AddBig5Font()
+            @font_for_content = 'Big5'
+            @font_for_footer  = 'Big5'
+          else
+            @font_for_content = 'Arial'
+            @font_for_footer  = 'Helvetica'
+          end
           SetCreator(Redmine::Info.app_name)
           SetFont(@font_for_content)
         end