From e98be61a3855c5f19946c3be757cd6f071b184b3 Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal Date: Mon, 3 Oct 2016 18:28:53 -0400 Subject: Test for "dir" metadata. --- src/Text/Pandoc/Writers/Docx.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs index df3d56037..af3717b10 100644 --- a/src/Text/Pandoc/Writers/Docx.hs +++ b/src/Text/Pandoc/Writers/Docx.hs @@ -261,10 +261,15 @@ writeDocx opts doc@(Pandoc meta _) = do let tocTitle = fromMaybe (stTocTitle defaultWriterState) $ metaValueToInlines <$> lookupMeta "toc-title" meta + let isRTL = case lookupMeta "dir" meta of + Just (MetaString "rtl") -> True + Just (MetaInlines [Str "rtl"]) -> True + _ -> False + ((contents, footnotes), st) <- runStateT ( runReaderT (writeOpenXML opts{writerWrapText = WrapNone} doc') - defaultWriterEnv + defaultWriterEnv { envRTL = isRTL } ) defaultWriterState{ stChangesAuthor = fromMaybe "unknown" username , stChangesDate = formatTime defaultTimeLocale "%FT%XZ" utctime , stPrintWidth = (maybe 420 (\x -> quot x 20) pgContentWidth) @@ -719,7 +724,7 @@ makeTOC _ = return [] writeOpenXML :: WriterOptions -> Pandoc -> WS ([Element], [Element]) writeOpenXML opts (Pandoc meta blocks) = do isRTL <- asks envRTL - (if isRTL then setRTL else id) $ do + (if isRTL then (setRTL True) else id) $ do let tit = docTitle meta ++ case lookupMeta "subtitle" meta of Just (MetaBlocks [Plain xs]) -> LineBreak : xs _ -> [] -- cgit v1.2.3