summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Docx
diff options
context:
space:
mode:
authorJesse Rosenthal <jrosenthal@jhu.edu>2014-08-09 23:35:09 -0400
committerJesse Rosenthal <jrosenthal@jhu.edu>2014-08-09 23:35:09 -0400
commita02ce74acf2189207b178fb7c6b62efd23145b0e (patch)
tree502bccd134eb690887aa8687a1343677599a80d8 /src/Text/Pandoc/Readers/Docx
parentc2a0d47c7b15483efa565ab2b6d9fa836e3a8818 (diff)
Docx reader: Fix spacing issue.
Previously spaces at the beginning of Emph/Strong/etc were kept inside. This makes sure they are moved out.
Diffstat (limited to 'src/Text/Pandoc/Readers/Docx')
-rw-r--r--src/Text/Pandoc/Readers/Docx/Reducible.hs19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/Text/Pandoc/Readers/Docx/Reducible.hs b/src/Text/Pandoc/Readers/Docx/Reducible.hs
index e8e407844..2f1945c7d 100644
--- a/src/Text/Pandoc/Readers/Docx/Reducible.hs
+++ b/src/Text/Pandoc/Readers/Docx/Reducible.hs
@@ -87,13 +87,16 @@ combineReducibles r s =
remaining' = conts' \\ shared
in
case null shared of
- True -> case (not . null) rs && isSpace (last rs) of
- True -> rebuild conts (init rs) ++ [last rs, s]
- False -> [r,s]
- False -> rebuild
- shared $
- reduceList $
- (rebuild remaining rs) ++ (rebuild remaining' ss)
+ True -> case () of
+ _ | (not . null) rs && isSpace (last rs) ->
+ rebuild conts (init rs) ++ [last rs, s]
+ _ | (not . null) ss && isSpace (head ss) ->
+ [r, head ss] ++ rebuild conts' (tail ss)
+ _ -> [r,s]
+ False -> rebuild
+ shared $
+ reduceList $
+ (rebuild remaining rs) ++ (rebuild remaining' ss)
instance Reducible Inline where
s1@(Span (id1, classes1, kvs1) ils1) <++> s2@(Span (id2, classes2, kvs2) ils2) =
@@ -177,5 +180,3 @@ rebuild :: [Container a] -> [a] -> [a]
rebuild [] xs = xs
rebuild ((Container f) : cs) xs = rebuild cs $ [f xs]
rebuild (NullContainer : cs) xs = rebuild cs $ xs
-
-