git.iko.soy/typeable/pandoc
on master help sign in
Add a boolean flag to the setRTL function.

At the toplevel we don't check to see if RTL is already set.

commitacf352331c43e44a5cbf63b4ff1502db056284af authorJesse Rosenthal <jrosenthal@jhu.edu> dateMon 3 Oct 2016, 18:29 (10 years ago) parente98be61
1 file changed+5−5
src/Text/Pandoc/Writers/Docx.hs+5−5
src/Text/Pandoc/Writers/Docx.hs+5−5
@@ -797,7 +797,7 @@ blockToOpenXML opts (Div (ident,classes,kvs) bs)
797797 withParaPropM (pStyleM sty) $ blocksToOpenXML opts bs
798798 | Just "rtl" <- lookup "dir" kvs = do
799799 let kvs' = filter (("dir", "rtl")/=) kvs
800− setRTL $ blockToOpenXML opts (Div (ident,classes,kvs') bs)
800+ setRTL False $ blockToOpenXML opts (Div (ident,classes,kvs') bs)
801801 | Just "ltr" <- lookup "dir" kvs = do
802802 let kvs' = filter (("dir", "ltr")/=) kvs
803803 setLTR $ blockToOpenXML opts (Div (ident,classes,kvs') bs)
@@ -1042,7 +1042,7 @@ inlineToOpenXML opts (Span (ident,classes,kvs) ils)
10421042 inlineToOpenXML opts (Span (ident,classes,kvs') ils)
10431043 | Just "rtl" <- lookup "dir" kvs = do
10441044 let kvs' = filter (("dir", "rtl")/=) kvs
1045− setRTL $ inlineToOpenXML opts (Span (ident,classes,kvs') ils)
1045+ setRTL False $ inlineToOpenXML opts (Span (ident,classes,kvs') ils)
10461046 | Just "ltr" <- lookup "dir" kvs = do
10471047 let kvs' = filter (("dir", "ltr")/=) kvs
10481048 setLTR $ inlineToOpenXML opts (Span (ident,classes,kvs') ils)
@@ -1275,10 +1275,10 @@ fitToPage (x, y) pageWidth
12751275 (pageWidth, floor $ ((fromIntegral pageWidth) / x) * y)
12761276 | otherwise = (floor x, floor y)
12771277
1278−setRTL :: WS a -> WS a
1279−setRTL x = do
1278+setRTL :: Bool -> WS a -> WS a
1279+setRTL topLevel x = do
12801280 isRTL <- asks envRTL
1281− if isRTL
1281+ if isRTL && not topLevel
12821282 then x
12831283 else flip local x $ \env -> env {
12841284 envRTL = True