From 0da0a26268cc9dc6251773dcb0abeb247b6e20d4 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 25 Oct 2010 20:41:38 -0400 Subject: texpdf_format, i18n, set tex document header language (polyglossia) * i18n, introduce header @make: :language: internationalization using codes from http://www.debian.org/international/l10n/po/ at this time for texpdf, (able to satify needs of polyglossia for the likes of Brazilian Portugues) and in future for po files, where iso:639 for this purpose appears to have use limitations http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes * i18n, add code list and associated language (as listed by polyglossia) * texpdf_format, use param (@make: :language: (default english)), to set tex document language header (previously used file naming convention) --- lib/sisu/v2/texpdf_format.rb | 56 ++++++++++---------------------------------- 1 file changed, 13 insertions(+), 43 deletions(-) (limited to 'lib/sisu/v2/texpdf_format.rb') diff --git a/lib/sisu/v2/texpdf_format.rb b/lib/sisu/v2/texpdf_format.rb index 9ebef9dc..465d4d90 100644 --- a/lib/sisu/v2/texpdf_format.rb +++ b/lib/sisu/v2/texpdf_format.rb @@ -604,6 +604,7 @@ module SiSU_TeX_Pdf end end class Format_head + require "#{SiSU_lib}/i18n" # defaults.rb def initialize(md,t_o) @md,@t_o=md,t_o @env=SiSU_Env::Info_env.new(@md.fns) @@ -621,47 +622,16 @@ module SiSU_TeX_Pdf @brace_url=SiSU_Viz::Skin.new.url_decoration @tex2pdf=@@tex3pdf ||=SiSU_Env::System_call.new.tex2pdf_engine @ps=@txt if @txt=~/(?:a4|letter|legal|book|a5|b5)/i - end - def language - @lang=if @md.language[:code] - case @md.language[:code] - when 'en'; 'english' - when 'us'; 'USenglish' # depreciated, see iso-639-2 - when 'fr'; 'french' - when 'de'; 'ngerman' - when 'it'; 'italian' - when 'es'; 'spanish' - when 'pt'; 'portuges' - #when 'br'; 'brazilian' # depreciated, see iso-639-2 - when 'sv'; 'swedish' - when 'da'; 'danish' - when 'fi'; 'finnish' - when 'no'; 'norske,nynorsk' - when 'is'; 'icelandic' - when 'nl'; 'dutch' - when 'et'; 'estonian' - when 'hu'; 'magyar' - when 'pl'; 'polish' - when 'ro'; 'romanian' - when 'ru'; 'russian' - when 'gl'; 'greek' - when 'uk'; 'ukrainian' - when 'tr'; 'turkish' - when 'sk'; 'slovak' - when 'sl'; 'slovenian' - when 'hr'; 'croatian' - when 'cs'; 'czech' - when 'bg'; 'bulgarian' - else 'english' - end - else 'english' - end + @lang ||=SiSU_i18n::Language.new(@md) end def tex_head_lang #babel 18n - language - lang=if @lang =~/^(?:en)$/; @lang - else "#{@lang},english" - end + lang_char_arr=@md.i18n + mainlang_char=lang_char_arr.slice(0) + mainlang=@lang.tex_name(mainlang_char) + otherlang=[] + lang_char_arr.slice(1..9).each { |ch| otherlang << @lang.tex_name(ch) } + otherlang=otherlang.join(',') + { :mainlang=>mainlang, :otherlang=>otherlang } end def tex_head_encode texpdf_font=if defined? @md.make.texpdf_font \ @@ -674,8 +644,8 @@ module SiSU_TeX_Pdf when /xe/ <