summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Readers/Docx.hs20
-rw-r--r--tests/docx/table_one_row.native4
-rw-r--r--tests/docx/tables.native6
3 files changed, 18 insertions, 12 deletions
diff --git a/src/Text/Pandoc/Readers/Docx.hs b/src/Text/Pandoc/Readers/Docx.hs
index c8a09248a..595c805bf 100644
--- a/src/Text/Pandoc/Readers/Docx.hs
+++ b/src/Text/Pandoc/Readers/Docx.hs
@@ -571,23 +571,25 @@ bodyPartToBlocks (Tbl cap _ look (r:rs)) = do
True | null rs -> (Nothing, [r])
| otherwise -> (Just r, rs)
False -> (Nothing, r:rs)
+
+ cells <- mapM rowToBlocksList rows
+
+ let width = case cells of
+ r':_ -> length r'
+ -- shouldn't happen
+ [] -> 0
+
hdrCells <- case hdr of
Just r' -> rowToBlocksList r'
- Nothing -> return []
-
- cells <- mapM rowToBlocksList rows
+ Nothing -> return $ replicate width mempty
- let size = case null hdrCells of
- True -> length $ head cells
- False -> length $ hdrCells
- --
-- 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.
- alignments = replicate size AlignDefault
- widths = replicate size 0 :: [Double]
+ let alignments = replicate width AlignDefault
+ widths = replicate width 0 :: [Double]
return $ table caption (zip alignments widths) hdrCells cells
bodyPartToBlocks (OMathPara e) = do
diff --git a/tests/docx/table_one_row.native b/tests/docx/table_one_row.native
index bd1bf8145..1ea1b446c 100644
--- a/tests/docx/table_one_row.native
+++ b/tests/docx/table_one_row.native
@@ -1,5 +1,7 @@
[Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
- []
+ [[]
+ ,[]
+ ,[]]
[[[Plain [Str "One"]]
,[Plain [Str "Row"]]
,[Plain [Str "Table"]]]]]
diff --git a/tests/docx/tables.native b/tests/docx/tables.native
index cf23cf404..ae326950a 100644
--- a/tests/docx/tables.native
+++ b/tests/docx/tables.native
@@ -17,13 +17,15 @@
,[Plain [Str "High"]]
,[Plain [Str "Tacky",Space,Str "uniform"]]]]
,Table [] [AlignDefault,AlignDefault] [0.0,0.0]
- []
+ [[]
+ ,[]]
[[[Plain [Str "Sinple"]]
,[Plain [Str "Table"]]]
,[[Plain [Str "Without"]]
,[Plain [Str "Header"]]]]
,Table [] [AlignDefault,AlignDefault] [0.0,0.0]
- []
+ [[]
+ ,[]]
[[[Para [Str "Simple"]
,Para [Str "Multiparagraph"]]
,[Para [Str "Table"]