diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sisu/v3/odf.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/sisu/v3/odf.rb b/lib/sisu/v3/odf.rb index b7b747ee..7d4fa309 100644 --- a/lib/sisu/v3/odf.rb +++ b/lib/sisu/v3/odf.rb @@ -535,10 +535,12 @@ module SiSU_ODF unless dob =~/^(?:#{Rx[:meta]}|%+ )/m w.gsub!(/&#(?:126|152);/,'~') #126 usual w.gsub!(/ /,' ') - if w !~/&\S{2,7}?;/ + if w !~/(?:&\S{2,7}?;)+/ w.gsub!(/&/,'&') end - w.gsub!(/(&\S{1,7};)+&/,'\1&') #could break things + if w !~/&\S{1,7}?;(?:&\S{1,7}?;)+/ #imperfect + w.gsub!(/(&\S{1,7};)+&/,'\1&') + end end para_array << w end |