diff options
Diffstat (limited to 'src/Text')
| -rw-r--r-- | src/Text/Pandoc/Readers/Docx.hs | 6 | ||||
| -rw-r--r-- | src/Text/Pandoc/Readers/HTML.hs | 6 | 
2 files changed, 9 insertions, 3 deletions
| diff --git a/src/Text/Pandoc/Readers/Docx.hs b/src/Text/Pandoc/Readers/Docx.hs index 00603603a..ca9f8c8dd 100644 --- a/src/Text/Pandoc/Readers/Docx.hs +++ b/src/Text/Pandoc/Readers/Docx.hs @@ -688,6 +688,10 @@ bodyPartToBlocks (Tbl cap _ look parts@(r:rs)) = do        rowLength :: Row -> Int        rowLength (Row c) = length c +  -- pad cells.  New Text.Pandoc.Builder will do that for us, +  -- so this is for compatibility while we switch over. +  let cells' = map (\row -> take width (row ++ repeat mempty)) cells +    hdrCells <- case hdr of      Just r' -> rowToBlocksList r'      Nothing -> return $ replicate width mempty @@ -700,7 +704,7 @@ bodyPartToBlocks (Tbl cap _ look parts@(r:rs)) = do    let alignments = replicate width AlignDefault        widths = replicate width 0 :: [Double] -  return $ table caption (zip alignments widths) hdrCells cells +  return $ table caption (zip alignments widths) hdrCells cells'  bodyPartToBlocks (OMathPara e) =    return $ para $ displayMath (writeTeX e) diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs index b221b6fb2..32a1ba5a6 100644 --- a/src/Text/Pandoc/Readers/HTML.hs +++ b/src/Text/Pandoc/Readers/HTML.hs @@ -510,14 +510,16 @@ pTable = try $ do                               [Plain _] -> True                               _         -> False    let isSimple = all isSinglePlain $ concat (head':rows''') -  let cols = length $ if null head' then head rows''' else head' +  let cols = if null head' +                then maximum (map length rows''') +                else length head'    -- add empty cells to short rows    let addEmpties r = case cols - length r of                             n | n > 0 -> r <> replicate n mempty                               | otherwise -> r    let rows = map addEmpties rows'''    let aligns = case rows'' of -                    (cs:_) -> map fst cs +                    (cs:_) -> take cols $ map fst cs ++ repeat AlignDefault                      _      -> replicate cols AlignDefault    let widths = if null widths'                    then if isSimple | 
