aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3/odf.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3/odf.rb')
-rw-r--r--lib/sisu/v3/odf.rb6
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