From 56b211120c62a01f8aba1c4512acfe4677d8c7d0 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Thu, 18 Jun 2020 09:53:32 +0100 Subject: [PATCH] Docx reader: Support new table features. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Column spans * Row spans - The spec says that if the `val` attribute is ommitted, its value should be assumed to be `continue`, and that its values are restricted to {`restart`, `continue`}. If the value has any other value, I think it seems reasonable to default it to `continue`. It might cause problems if the spec is extended in the future by adding a third possible value, in which case this would probably give incorrect behaviour, and wouldn't error. * Allow multiple header rows * Include table description in simple caption - The table description element is like alt text for a table (along with the table caption element). It seems like we should include this somewhere, but I’m not 100% sure how – I’m pairing it with the simple caption for the moment. (Should it maybe go in the block caption instead?) * Detect table captions - Check for caption paragraph style /and/ either the simple or complex table field. This means the caption detection fails for captions which don’t contain a field, as in an example doc I added as a test. However, I think it’s better to be too conservative: a missed table caption will still show up as a paragraph next to the table, whereas if I incorrectly classify something else as a table caption it could cause havoc by pairing it up with a table it’s not at all related to, or dropping it entirely. * Update tests and add new ones Partially fixes: #6316 --- src/Text/Pandoc/Readers/Docx.hs | 92 ++++++---- src/Text/Pandoc/Readers/Docx/Parse.hs | 113 ++++++++++-- src/Text/Pandoc/Readers/Docx/Util.hs | 7 + test/Tests/Readers/Docx.hs | 16 ++ test/docx/sdt_elements.native | 13 +- test/docx/table_captions_no_field.docx | Bin 0 -> 40482 bytes test/docx/table_captions_no_field.native | 34 ++++ test/docx/table_captions_with_field.docx | Bin 0 -> 41091 bytes test/docx/table_captions_with_field.native | 54 ++++++ test/docx/table_header_rowspan.docx | Bin 0 -> 15826 bytes test/docx/table_header_rowspan.native | 189 +++++++++++++++++++++ test/docx/table_one_header_row.docx | Bin 0 -> 12185 bytes test/docx/table_one_header_row.native | 18 ++ test/docx/table_one_row.docx | Bin 25251 -> 12148 bytes test/docx/table_variable_width.native | 19 +-- 15 files changed, 487 insertions(+), 68 deletions(-) create mode 100644 test/docx/table_captions_no_field.docx create mode 100644 test/docx/table_captions_no_field.native create mode 100644 test/docx/table_captions_with_field.docx create mode 100644 test/docx/table_captions_with_field.native create mode 100644 test/docx/table_header_rowspan.docx create mode 100644 test/docx/table_header_rowspan.native create mode 100644 test/docx/table_one_header_row.docx create mode 100644 test/docx/table_one_header_row.native diff --git a/src/Text/Pandoc/Readers/Docx.hs b/src/Text/Pandoc/Readers/Docx.hs index 375bb7338..c06adf7e3 100644 --- a/src/Text/Pandoc/Readers/Docx.hs +++ b/src/Text/Pandoc/Readers/Docx.hs @@ -61,13 +61,14 @@ module Text.Pandoc.Readers.Docx import Codec.Archive.Zip import Control.Monad.Reader import Control.Monad.State.Strict +import Data.Bifunctor (bimap, first) import qualified Data.ByteString.Lazy as B import Data.Default (Default) -import Data.List (delete, intersect) +import Data.List (delete, intersect, foldl') import Data.Char (isSpace) import qualified Data.Map as M import qualified Data.Text as T -import Data.Maybe (isJust, fromMaybe) +import Data.Maybe (catMaybes, isJust, fromMaybe) import Data.Sequence (ViewL (..), viewl) import qualified Data.Sequence as Seq import qualified Data.Set as Set @@ -113,6 +114,7 @@ data DState = DState { docxAnchorMap :: M.Map T.Text T.Text -- restarting , docxListState :: M.Map (T.Text, T.Text) Integer , docxPrevPara :: Inlines + , docxTableCaptions :: [Blocks] } instance Default DState where @@ -123,6 +125,7 @@ instance Default DState where , docxDropCap = mempty , docxListState = M.empty , docxPrevPara = mempty + , docxTableCaptions = [] } data DEnv = DEnv { docxOptions :: ReaderOptions @@ -491,15 +494,32 @@ singleParaToPlain blks singleton $ Plain ils singleParaToPlain blks = blks -cellToBlocks :: PandocMonad m => Docx.Cell -> DocxContext m Blocks -cellToBlocks (Docx.Cell bps) = do +cellToCell :: PandocMonad m => RowSpan -> Docx.Cell -> DocxContext m Pandoc.Cell +cellToCell rowSpan (Docx.Cell gridSpan _ bps) = do blks <- smushBlocks <$> mapM bodyPartToBlocks bps - return $ fromList $ blocksToDefinitions $ blocksToBullets $ toList blks + let blks' = singleParaToPlain $ fromList $ blocksToDefinitions $ blocksToBullets $ toList blks + return (cell AlignDefault rowSpan (ColSpan (fromIntegral gridSpan)) blks') + +rowsToRows :: PandocMonad m => [Docx.Row] -> DocxContext m [Pandoc.Row] +rowsToRows rows = do + let rowspans = (fmap . fmap) (first RowSpan) (Docx.rowsToRowspans rows) + cells <- traverse (traverse (uncurry cellToCell)) rowspans + return (fmap (Pandoc.Row nullAttr) cells) + +splitHeaderRows :: Bool -> [Docx.Row] -> ([Docx.Row], [Docx.Row]) +splitHeaderRows hasFirstRowFormatting rs = bimap reverse reverse $ fst + $ if hasFirstRowFormatting + then foldl' f ((take 1 rs, []), True) (drop 1 rs) + else foldl' f (([], []), False) rs + where + f ((headerRows, bodyRows), previousRowWasHeader) r@(Docx.Row h cs) + | h == HasTblHeader || (previousRowWasHeader && any isContinuationCell cs) + = ((r : headerRows, bodyRows), True) + | otherwise + = ((headerRows, r : bodyRows), False) + + isContinuationCell (Docx.Cell _ vm _) = vm == Docx.Continue -rowToBlocksList :: PandocMonad m => Docx.Row -> DocxContext m [Blocks] -rowToBlocksList (Docx.Row cells) = do - blksList <- mapM cellToBlocks cells - return $ map singleParaToPlain blksList -- like trimInlines, but also take out linebreaks trimSps :: Inlines -> Inlines @@ -546,6 +566,11 @@ normalizeToClassName = T.map go . fromStyleName where go c | isSpace c = '-' | otherwise = c +bodyPartToTableCaption :: PandocMonad m => BodyPart -> DocxContext m (Maybe Blocks) +bodyPartToTableCaption (TblCaption pPr parparts) = + Just <$> bodyPartToBlocks (Paragraph pPr parparts) +bodyPartToTableCaption _ = pure Nothing + bodyPartToBlocks :: PandocMonad m => BodyPart -> DocxContext m Blocks bodyPartToBlocks (Paragraph pPr parparts) | Just True <- pBidi pPr = do @@ -637,50 +662,43 @@ bodyPartToBlocks (ListItem pPr _ _ _ parparts) = let pPr' = pPr {pStyle = constructBogusParStyleData "list-paragraph": pStyle pPr} in bodyPartToBlocks $ Paragraph pPr' parparts +bodyPartToBlocks (TblCaption _ _) = + return $ para mempty -- collected separately bodyPartToBlocks (Tbl _ _ _ []) = return $ para mempty -bodyPartToBlocks (Tbl cap grid look parts@(r:rs)) = do - let cap' = simpleCaption $ plain $ text cap - (hdr, rows) = case firstRowFormatting look of - True | null rs -> (Nothing, [r]) - | otherwise -> (Just r, rs) - False -> (Nothing, r:rs) - - cells <- mapM rowToBlocksList rows +bodyPartToBlocks (Tbl cap grid look parts) = do + captions <- gets docxTableCaptions + fullCaption <- case captions of + c : cs -> do + modify (\s -> s { docxTableCaptions = cs }) + return c + [] -> return $ if T.null cap then mempty else plain (text cap) + let shortCaption = if T.null cap then Nothing else Just (toList (text cap)) + cap' = caption shortCaption fullCaption + (hdr, rows) = splitHeaderRows (firstRowFormatting look) parts let width = maybe 0 maximum $ nonEmpty $ map rowLength parts rowLength :: Docx.Row -> Int - rowLength (Docx.Row c) = length c + rowLength (Docx.Row _ c) = sum (fmap (\(Docx.Cell gridSpan _ _) -> fromIntegral gridSpan) c) - let toRow = Pandoc.Row nullAttr . map simpleCell - toHeaderRow l = [toRow l | not (null l)] + headerCells <- rowsToRows hdr + bodyCells <- rowsToRows rows - -- pad cells. New Text.Pandoc.Builder will do that for us, - -- so this is for compatibility while we switch over. - let cells' = map (\row -> toRow $ take width (row ++ repeat mempty)) cells - - hdrCells <- case hdr of - Just r' -> toHeaderRow <$> rowToBlocksList r' - Nothing -> return [] - - -- The two following variables (horizontal column alignment and - -- relative column widths) go to the default at the - -- moment. Width information is in the TblGrid field of the Tbl, - -- so should be possible. Alignment might be more difficult, - -- since there doesn't seem to be a column entity in docx. + -- Horizontal column alignment goes to the default at the moment. Getting + -- it might be difficult, since there doesn't seem to be a column entity + -- in docx. let alignments = replicate width AlignDefault totalWidth = sum grid widths = (\w -> ColWidth (fromInteger w / fromInteger totalWidth)) <$> grid return $ table cap' (zip alignments widths) - (TableHead nullAttr hdrCells) - [TableBody nullAttr 0 [] cells'] + (TableHead nullAttr headerCells) + [TableBody nullAttr 0 [] bodyCells] (TableFoot nullAttr []) bodyPartToBlocks (OMathPara e) = return $ para $ displayMath (writeTeX e) - -- replace targets with generated anchors. rewriteLink' :: PandocMonad m => Inline -> DocxContext m Inline rewriteLink' l@(Link attr ils (T.uncons -> Just ('#',target), title)) = do @@ -716,6 +734,8 @@ bodyToOutput :: PandocMonad m => Body -> DocxContext m (Meta, [Block]) bodyToOutput (Body bps) = do let (metabps, blkbps) = sepBodyParts bps meta <- bodyPartsToMeta metabps + captions <- catMaybes <$> mapM bodyPartToTableCaption blkbps + modify (\s -> s { docxTableCaptions = captions }) blks <- smushBlocks <$> mapM bodyPartToBlocks blkbps blks' <- rewriteLinks $ blocksToDefinitions $ blocksToBullets $ toList blks blks'' <- removeOrphanAnchors blks' diff --git a/src/Text/Pandoc/Readers/Docx/Parse.hs b/src/Text/Pandoc/Readers/Docx/Parse.hs index 978d6ff3a..aaa8f4ad0 100644 --- a/src/Text/Pandoc/Readers/Docx/Parse.hs +++ b/src/Text/Pandoc/Readers/Docx/Parse.hs @@ -33,7 +33,9 @@ module Text.Pandoc.Readers.Docx.Parse ( Docx(..) , ParStyle , CharStyle(cStyleData) , Row(..) + , TblHeader(..) , Cell(..) + , VMerge(..) , TrackedChange(..) , ChangeType(..) , ChangeInfo(..) @@ -50,6 +52,7 @@ module Text.Pandoc.Readers.Docx.Parse ( Docx(..) , pHeading , constructBogusParStyleData , leftBiasedMergeRunStyle + , rowsToRowspans ) where import Text.Pandoc.Readers.Docx.Parse.Styles import Codec.Archive.Zip @@ -225,6 +228,7 @@ defaultParagraphStyle = ParagraphStyle { pStyle = [] data BodyPart = Paragraph ParagraphStyle [ParPart] | ListItem ParagraphStyle T.Text T.Text (Maybe Level) [ParPart] | Tbl T.Text TblGrid TblLook [Row] + | TblCaption ParagraphStyle [ParPart] | OMathPara [Exp] deriving Show @@ -236,12 +240,61 @@ newtype TblLook = TblLook {firstRowFormatting::Bool} defaultTblLook :: TblLook defaultTblLook = TblLook{firstRowFormatting = False} -newtype Row = Row [Cell] - deriving Show +data Row = Row TblHeader [Cell] deriving Show -newtype Cell = Cell [BodyPart] +data TblHeader = HasTblHeader | NoTblHeader deriving (Show, Eq) + +data Cell = Cell GridSpan VMerge [BodyPart] deriving Show +type GridSpan = Integer + +data VMerge = Continue + -- ^ This cell should be merged with the one above it + | Restart + -- ^ This cell should not be merged with the one above it + deriving (Show, Eq) + +rowsToRowspans :: [Row] -> [[(Int, Cell)]] +rowsToRowspans rows = let + removeMergedCells = fmap (filter (\(_, Cell _ vmerge _) -> vmerge == Restart)) + in removeMergedCells (foldr f [] rows) + where + f :: Row -> [[(Int, Cell)]] -> [[(Int, Cell)]] + f (Row _ cells) acc = let + spans = g cells Nothing (listToMaybe acc) + in spans : acc + + g :: + -- | The current row + [Cell] -> + -- | Number of columns left below + Maybe Integer -> + -- | (rowspan so far, cell) for the row below this one + Maybe [(Int, Cell)] -> + -- | (rowspan so far, cell) for this row + [(Int, Cell)] + g cells _ Nothing = zip (repeat 1) cells + g cells columnsLeftBelow (Just rowBelow) = + case cells of + [] -> [] + thisCell@(Cell thisGridSpan _ _) : restOfRow -> case rowBelow of + [] -> zip (repeat 1) cells + (spanSoFarBelow, Cell gridSpanBelow vmerge _) : _ -> + let spanSoFar = case vmerge of + Restart -> 1 + Continue -> 1 + spanSoFarBelow + columnsToDrop = thisGridSpan + (gridSpanBelow - fromMaybe gridSpanBelow columnsLeftBelow) + (newColumnsLeftBelow, restOfRowBelow) = dropColumns columnsToDrop rowBelow + in (spanSoFar, thisCell) : g restOfRow (Just newColumnsLeftBelow) (Just restOfRowBelow) + + dropColumns :: Integer -> [(a, Cell)] -> (Integer, [(a, Cell)]) + dropColumns n [] = (n, []) + dropColumns n cells@((_, Cell gridSpan _ _) : otherCells) = + if n < gridSpan + then (gridSpan - n, cells) + else dropColumns (n - gridSpan) otherCells + leftBiasedMergeRunStyle :: RunStyle -> RunStyle -> RunStyle leftBiasedMergeRunStyle a b = RunStyle { isBold = isBold a <|> isBold b @@ -587,14 +640,31 @@ elemToRow ns element | isElem ns "w" "tr" element = do let cellElems = findChildrenByName ns "w" "tc" element cells <- mapD (elemToCell ns) cellElems - return $ Row cells + let hasTblHeader = maybe NoTblHeader (const HasTblHeader) + (findChildByName ns "w" "trPr" element + >>= findChildByName ns "w" "tblHeader") + return $ Row hasTblHeader cells elemToRow _ _ = throwError WrongElem elemToCell :: NameSpaces -> Element -> D Cell elemToCell ns element | isElem ns "w" "tc" element = do + let properties = findChildByName ns "w" "tcPr" element + let gridSpan = properties + >>= findChildByName ns "w" "gridSpan" + >>= findAttrByName ns "w" "val" + >>= stringToInteger + let vMerge = case properties >>= findChildByName ns "w" "vMerge" of + Nothing -> Restart + Just e -> + fromMaybe Continue $ do + s <- findAttrByName ns "w" "val" e + case s of + "continue" -> Just Continue + "restart" -> Just Restart + _ -> Nothing cellContents <- mapD (elemToBodyPart ns) (elChildren element) - return $ Cell cellContents + return $ Cell (fromMaybe 1 gridSpan) vMerge cellContents elemToCell _ _ = throwError WrongElem elemToParIndentation :: NameSpaces -> Element -> Maybe ParIndentation @@ -626,10 +696,9 @@ pNumInfo = getParStyleField numInfo . pStyle elemToBodyPart :: NameSpaces -> Element -> D BodyPart elemToBodyPart ns element | isElem ns "w" "p" element - , (c:_) <- findChildrenByName ns "m" "oMathPara" element = - do - expsLst <- eitherToD $ readOMML $ showElement c - return $ OMathPara expsLst + , (c:_) <- findChildrenByName ns "m" "oMathPara" element = do + expsLst <- eitherToD $ readOMML $ showElement c + return $ OMathPara expsLst elemToBodyPart ns element | isElem ns "w" "p" element , Just (numId, lvl) <- getNumInfo ns element = do @@ -647,13 +716,31 @@ elemToBodyPart ns element Nothing | Just (numId, lvl) <- pNumInfo parstyle -> do levelInfo <- lookupLevel numId lvl <$> asks envNumbering return $ ListItem parstyle numId lvl levelInfo parparts - _ -> return $ Paragraph parstyle parparts + _ -> let + hasCaptionStyle = elem "Caption" (pStyleId <$> pStyle parstyle) + + hasSimpleTableField = fromMaybe False $ do + fldSimple <- findChildByName ns "w" "fldSimple" element + instr <- findAttrByName ns "w" "instr" fldSimple + pure ("Table" `elem` T.words instr) + + hasComplexTableField = fromMaybe False $ do + instrText <- findElementByName ns "w" "instrText" element + pure ("Table" `elem` T.words (strContent instrText)) + + in if hasCaptionStyle && (hasSimpleTableField || hasComplexTableField) + then return $ TblCaption parstyle parparts + else return $ Paragraph parstyle parparts + elemToBodyPart ns element | isElem ns "w" "tbl" element = do - let caption' = findChildByName ns "w" "tblPr" element + let tblProperties = findChildByName ns "w" "tblPr" element + caption = fromMaybe "" $ tblProperties >>= findChildByName ns "w" "tblCaption" >>= findAttrByName ns "w" "val" - caption = fromMaybe "" caption' + description = fromMaybe "" $ tblProperties + >>= findChildByName ns "w" "tblDescription" + >>= findAttrByName ns "w" "val" grid' = case findChildByName ns "w" "tblGrid" element of Just g -> elemToTblGrid ns g Nothing -> return [] @@ -666,7 +753,7 @@ elemToBodyPart ns element grid <- grid' tblLook <- tblLook' rows <- mapD (elemToRow ns) (elChildren element) - return $ Tbl caption grid tblLook rows + return $ Tbl (caption <> description) grid tblLook rows elemToBodyPart _ _ = throwError WrongElem lookupRelationship :: DocumentLocation -> RelId -> [Relationship] -> Maybe Target diff --git a/src/Text/Pandoc/Readers/Docx/Util.hs b/src/Text/Pandoc/Readers/Docx/Util.hs index ac331cba6..970697a2d 100644 --- a/src/Text/Pandoc/Readers/Docx/Util.hs +++ b/src/Text/Pandoc/Readers/Docx/Util.hs @@ -19,6 +19,7 @@ module Text.Pandoc.Readers.Docx.Util ( , elemToNameSpaces , findChildByName , findChildrenByName + , findElementByName , findAttrByName ) where @@ -56,6 +57,12 @@ findChildrenByName ns pref name el = let ns' = ns <> elemToNameSpaces el in findChildren (elemName ns' pref name) el +-- | Like 'findChildrenByName', but searches descendants. +findElementByName :: NameSpaces -> Text -> Text -> Element -> Maybe Element +findElementByName ns pref name el = + let ns' = ns <> elemToNameSpaces el + in findElement (elemName ns' pref name) el + findAttrByName :: NameSpaces -> Text -> Text -> Element -> Maybe Text findAttrByName ns pref name el = let ns' = ns <> elemToNameSpaces el diff --git a/test/Tests/Readers/Docx.hs b/test/Tests/Readers/Docx.hs index 939ff9939..220c7d9c5 100644 --- a/test/Tests/Readers/Docx.hs +++ b/test/Tests/Readers/Docx.hs @@ -317,14 +317,30 @@ tests = [ testGroup "document" "tables with lists in cells" "docx/table_with_list_cell.docx" "docx/table_with_list_cell.native" + , testCompare + "a table with a header which contains rowspans greater than 1" + "docx/table_header_rowspan.docx" + "docx/table_header_rowspan.native" , testCompare "tables with one row" "docx/table_one_row.docx" "docx/table_one_row.native" + , testCompare + "tables with just one row, which is a header" + "docx/table_one_header_row.docx" + "docx/table_one_header_row.native" , testCompare "tables with variable width" "docx/table_variable_width.docx" "docx/table_variable_width.native" + , testCompare + "tables with captions which contain a Table field" + "docx/table_captions_with_field.docx" + "docx/table_captions_with_field.native" + , testCompare + "tables with captions which don't contain a Table field" + "docx/table_captions_no_field.docx" + "docx/table_captions_no_field.native" , testCompare "code block" "docx/codeblock.docx" diff --git a/test/docx/sdt_elements.native b/test/docx/sdt_elements.native index a072c0d39..d2aa00994 100644 --- a/test/docx/sdt_elements.native +++ b/test/docx/sdt_elements.native @@ -4,17 +4,16 @@ ,(AlignDefault,ColWidth 0.22069570301081556) ,(AlignDefault,ColWidth 0.5586085939783689)] (TableHead ("",[],[]) - []) - [(TableBody ("",[],[]) (RowHeadColumns 0) - [] - [Row ("",[],[]) + [Row ("",[],[]) [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [Plain [Strong [Str "col1Header"]]] ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [Plain [Strong [Str "col2Header"]]] ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) - [Plain [Strong [Str "col3Header"]]]] - ,Row ("",[],[]) + [Plain [Strong [Str "col3Header"]]]]]) + [(TableBody ("",[],[]) (RowHeadColumns 0) + [] + [Row ("",[],[]) [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [Plain [Str "col1",Space,Str "content"]] ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) @@ -22,4 +21,4 @@ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [Plain [Str "col3",Space,Str "content"]]]])] (TableFoot ("",[],[]) - [])] \ No newline at end of file + [])] diff --git a/test/docx/table_captions_no_field.docx b/test/docx/table_captions_no_field.docx new file mode 100644 index 0000000000000000000000000000000000000000..1687d32a2d9ee7554515b8a1dcd6610190cf4ade GIT binary patch literal 40482 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 literal 0 HcmV?d00001 diff --git a/test/docx/table_captions_no_field.native b/test/docx/table_captions_no_field.native new file mode 100644 index 000000000..b8f54d541 --- /dev/null +++ b/test/docx/table_captions_no_field.native @@ -0,0 +1,34 @@ +[Para [Str "See",Space,Str "Table",Space,Str "5.1."] +,Para [Str "Table",Space,Str "5.1"] +,Table ("",[],[]) (Caption Nothing + []) + [(AlignDefault,ColWidth 0.7605739372523825) + ,(AlignDefault,ColWidth 0.11971303137380876) + ,(AlignDefault,ColWidth 0.11971303137380876)] + (TableHead ("",[],[]) +[Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "Count"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "%"]]]]) + [(TableBody ("",[],[]) (RowHeadColumns 0) + [] + [Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "First",Space,Str "option"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "242"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "45"]]] +,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "Second",Space,Str "option"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "99"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "18"]]]])] + (TableFoot ("",[],[]) + []) +,Header 2 ("section", [], []) []] diff --git a/test/docx/table_captions_with_field.docx b/test/docx/table_captions_with_field.docx new file mode 100644 index 0000000000000000000000000000000000000000..db6de3088d59faf0735879d220415e6600bd91b9 GIT binary patch literal 41091 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 SEO;3hq=AqZSm`9p1n~eB4rW9E literal 0 HcmV?d00001 diff --git a/test/docx/table_captions_with_field.native b/test/docx/table_captions_with_field.native new file mode 100644 index 000000000..deb8afc6b --- /dev/null +++ b/test/docx/table_captions_with_field.native @@ -0,0 +1,54 @@ +[Para [Str "See",Space,Str "Table",Space,Str "1."] +,Para [] +,Table ("",[],[]) (Caption Nothing + [Para [Str "Table",Space,Str "1"]]) + [(AlignDefault,ColWidth 0.7605739372523825) + ,(AlignDefault,ColWidth 0.11971303137380876) + ,(AlignDefault,ColWidth 0.11971303137380876)] + (TableHead ("",[],[]) +[Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "Count"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "%"]]]]) + [(TableBody ("",[],[]) (RowHeadColumns 0) + [] + [Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "First",Space,Str "option"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "242"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "45"]]] +,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "Second",Space,Str "option"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "99"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "18"]]]])] + (TableFoot ("",[],[]) + []) +,Header 2 ("section", [], []) [] +,Table ("",[],[]) (Caption Nothing + [Para [Str "Table",Space,Str "2"]]) + [(AlignDefault,ColWidth 0.3332963620230701) + ,(AlignDefault,ColWidth 0.3332963620230701) + ,(AlignDefault,ColWidth 0.3334072759538598)] + (TableHead ("",[],[]) + [Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "One"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "Two"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "Three"]]]]) + [(TableBody ("",[],[]) (RowHeadColumns 0) + [] + [])] + (TableFoot ("",[],[]) + []) +,Para [] +,Para [Str "See",Space,Str "Table",Space,Str "2."]] diff --git a/test/docx/table_header_rowspan.docx b/test/docx/table_header_rowspan.docx new file mode 100644 index 0000000000000000000000000000000000000000..1cc32a10552305bbc60e1735f96b9782ee15a949 GIT binary patch literal 15826 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 ZfL4-)0Mg_4u~0Zb5769r;radV{{g7S0%HIG literal 0 HcmV?d00001 diff --git a/test/docx/table_header_rowspan.native b/test/docx/table_header_rowspan.native new file mode 100644 index 000000000..d951f29e4 --- /dev/null +++ b/test/docx/table_header_rowspan.native @@ -0,0 +1,189 @@ +[Table ("",[],[]) (Caption Nothing + []) + [(AlignDefault,ColWidth 0.30701754385964913) + ,(AlignDefault,ColWidth 0.1364522417153996) + ,(AlignDefault,ColWidth 0.10009746588693957) + ,(AlignDefault,ColWidth 9.707602339181287e-2) + ,(AlignDefault,ColWidth 7.719298245614035e-2) + ,(AlignDefault,ColWidth 7.085769980506823e-2) + ,(AlignDefault,ColWidth 7.09551656920078e-2) + ,(AlignDefault,ColWidth 0.14035087719298245)] + (TableHead ("",[],[]) +[Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 2) (ColSpan 1) + [Plain [Str "A"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 2) (ColSpan 1) + [Plain [Strong [Str "B"]]] + ,Cell ("",[],[]) AlignDefault (RowSpan 2) (ColSpan 1) + [Plain [Strong [Str "C"]]] + ,Cell ("",[],[]) AlignDefault (RowSpan 2) (ColSpan 1) + [Plain [Strong [Str "D"]]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 3) + [Plain [Str "E"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 2) (ColSpan 1) + [Plain [Str "F"]]] +,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Strong [Str "G"]]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Strong [Str "H"]]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Strong [Str "I"]]]]]) + [(TableBody ("",[],[]) (RowHeadColumns 0) + [] + [Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ,Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "1"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "2"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "3"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "4"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "5"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "6"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "7"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "8"]]] + ])] + (TableFoot ("",[],[]) + [])] diff --git a/test/docx/table_one_header_row.docx b/test/docx/table_one_header_row.docx new file mode 100644 index 0000000000000000000000000000000000000000..db715dda894bc0e32a436f270d5fd0eda1cc180a GIT binary patch literal 12185 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 vluGw-#k literal 0 HcmV?d00001 diff --git a/test/docx/table_one_header_row.native b/test/docx/table_one_header_row.native new file mode 100644 index 000000000..4aae830ac --- /dev/null +++ b/test/docx/table_one_header_row.native @@ -0,0 +1,18 @@ +[Table ("",[],[]) (Caption Nothing + []) + [(AlignDefault,ColWidth 0.33302433371958284) + ,(AlignDefault,ColWidth 0.3332560834298957) + ,(AlignDefault,ColWidth 0.33371958285052145)] + (TableHead ("",[],[]) + [Row ("",[],[]) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "One"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "Row"]] + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Plain [Str "Table"]]]]) + [(TableBody ("",[],[]) (RowHeadColumns 0) + [] + [])] + (TableFoot ("",[],[]) + [])] diff --git a/test/docx/table_one_row.docx b/test/docx/table_one_row.docx index f7e0ebe43d36f6efe938dec546dc63424641ad39..d05a856b51153f6bbe23688434349ed3b8ea9dd1 100644 GIT binary patch literal 12148 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 I{^!&G1F|8vy#N3J literal 25251 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 S&UrAwKV>l7MbDQLfd2)SL-ZQ} diff --git a/test/docx/table_variable_width.native b/test/docx/table_variable_width.native index 43ac40cca..ff1cc0dc4 100644 --- a/test/docx/table_variable_width.native +++ b/test/docx/table_variable_width.native @@ -4,7 +4,8 @@ ,(AlignDefault,ColWidth 1.9882415820416888e-2) ,(AlignDefault,ColWidth 0.22202030999465527) ,(AlignDefault,ColWidth 0.4761090326028862) - ,(AlignDefault,ColWidth 1.0689470871191876e-4)] + ,(AlignDefault,ColWidth 1.0689470871191876e-4) + ,(AlignDefault,ColWidth 0.26178514163548905)] (TableHead ("",[],[]) [Row ("",[],[]) [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) @@ -13,33 +14,27 @@ [] ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [Plain [Str "h3"]] - ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 2) [Plain [Str "h4"]] ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [Plain [Str "h5"]]]]) [(TableBody ("",[],[]) (RowHeadColumns 0) [] [Row ("",[],[]) - [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 3) [Plain [Str "c11"]] ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [] - ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) - [] - ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) - [] - ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 2) []] ,Row ("",[],[]) [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [] - ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 2) [Plain [Str "c22"]] ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) [Plain [Str "c23"]] - ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) - [] - ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1) + ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 2) []]])] (TableFoot ("",[],[]) [])]