From 7e9a59cab2283aea8155fca3187e58011851bf6f Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 23 Jan 2012 21:27:53 -0500 Subject: v3 v3dv: texpdf, tampering with "safe" special character transformations, a fix * could introduce new issues, watch * [reported by Timothy Hume, pdf title bug "&" not represented] --- data/doc/sisu/CHANGELOG_v3 | 4 ++++ lib/sisu/v3/texpdf_format.rb | 9 +++++++++ lib/sisu/v3dv/texpdf_format.rb | 9 +++++++++ 3 files changed, 22 insertions(+) diff --git a/data/doc/sisu/CHANGELOG_v3 b/data/doc/sisu/CHANGELOG_v3 index 0d931167..5451ae2f 100644 --- a/data/doc/sisu/CHANGELOG_v3 +++ b/data/doc/sisu/CHANGELOG_v3 @@ -21,6 +21,10 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_3.1.12.orig.tar.xz sisu_3.1.12-1.dsc sisu_3.1.12-1.debian.tar.gz +* texpdf, tampering with "safe" special character transformations, a fix (that + may introduce new issues, watch) [in response to report of a pdf title bug + "&" not represented, Timothy Hume] + * urls, odt maintenance path fix %% 3.1.11.orig.tar.xz (2012-01-10:02/2) diff --git a/lib/sisu/v3/texpdf_format.rb b/lib/sisu/v3/texpdf_format.rb index 43008c3d..76fc5d37 100644 --- a/lib/sisu/v3/texpdf_format.rb +++ b/lib/sisu/v3/texpdf_format.rb @@ -1366,6 +1366,14 @@ WOK '^\copyright \textnormal{\1} \2') # watch likely to be problematic str end + def special_characters_safe_close(str) + str.gsub!(/<=tilde>/,'{$\tilde$}') + str.gsub!(/<=hash>/,'{\#}') + str.gsub!(/<=amp>/,'{\\\&}') #changed ... 2005 + str.gsub!(/<=copymark>\s*(.+)/, + '^\copyright \textnormal{\1} \2') # watch likely to be problematic + str + end def special_characters_code_fix(str) str.gsub!(/<=tilde>/,'{$\tilde$}') str @@ -1398,6 +1406,7 @@ WOK str,is=@txt,@is str=xetex_special_characters_1(str,is) unless str.nil? str=xetex_special_characters_2(str,is) unless str.nil? # remove this to start with, causes issues + str=special_characters_safe_close(str) unless str.nil? @txt=str end def characters_code_listings #special characters - some substitutions are sequence sensitive, rearrange with care. diff --git a/lib/sisu/v3dv/texpdf_format.rb b/lib/sisu/v3dv/texpdf_format.rb index d059934d..a4b590a1 100644 --- a/lib/sisu/v3dv/texpdf_format.rb +++ b/lib/sisu/v3dv/texpdf_format.rb @@ -1366,6 +1366,14 @@ WOK '^\copyright \textnormal{\1} \2') # watch likely to be problematic str end + def special_characters_safe_close(str) + str.gsub!(/<=tilde>/,'{$\tilde$}') + str.gsub!(/<=hash>/,'{\#}') + str.gsub!(/<=amp>/,'{\\\&}') #changed ... 2005 + str.gsub!(/<=copymark>\s*(.+)/, + '^\copyright \textnormal{\1} \2') # watch likely to be problematic + str + end def special_characters_code_fix(str) str.gsub!(/<=tilde>/,'{$\tilde$}') str @@ -1398,6 +1406,7 @@ WOK str,is=@txt,@is str=xetex_special_characters_1(str,is) unless str.nil? str=xetex_special_characters_2(str,is) unless str.nil? # remove this to start with, causes issues + str=special_characters_safe_close(str) unless str.nil? @txt=str end def characters_code_listings #special characters - some substitutions are sequence sensitive, rearrange with care. -- cgit v1.2.3