From cbe67b9602a736976ef6921aefbbc60d51c6755a Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Fri, 10 Jan 2025 22:45:19 -0800
Subject: [PATCH] Docx reader and writer: support row heads.

Reader: When `w:tblLook` has `w:firstColumn` set (or an equivalent bit
mask), we set row heads = 1 in the AST.

Writer: set `w:firstColumn` in `w:tblLook` when there are row
heads. (Word only allows one, so this is triggered by any number
of row heads > 0.)

Closes #9495.
---
 src/Text/Pandoc/Readers/Docx.hs          |   4 +-
 src/Text/Pandoc/Readers/Docx/Parse.hs    |  24 ++++--
 src/Text/Pandoc/Writers/Docx/Table.hs    |   8 +-
 test/command/9358.docx                   | Bin 13439 -> 13427 bytes
 test/command/9495.md                     |  98 +++++++++++++++++++++++
 test/command/9603.docx                   | Bin 13799 -> 13816 bytes
 test/docx/table_captions_no_field.docx   | Bin 40487 -> 40487 bytes
 test/docx/table_captions_with_field.docx | Bin 41091 -> 41069 bytes
 test/docx/table_header_rowspan.docx      | Bin 15826 -> 15690 bytes
 test/docx/table_one_header_row.docx      | Bin 12185 -> 12214 bytes
 test/docx/table_one_row.docx             | Bin 12148 -> 12178 bytes
 test/docx/table_variable_width.docx      | Bin 10006 -> 9882 bytes
 test/docx/table_with_list_cell.docx      | Bin 19028 -> 19073 bytes
 13 files changed, 124 insertions(+), 10 deletions(-)
 create mode 100644 test/command/9495.md

diff --git a/src/Text/Pandoc/Readers/Docx.hs b/src/Text/Pandoc/Readers/Docx.hs
index efe104af7..3222e81b6 100644
--- a/src/Text/Pandoc/Readers/Docx.hs
+++ b/src/Text/Pandoc/Readers/Docx.hs
@@ -815,6 +815,8 @@ bodyPartToBlocks (Tbl mbsty cap grid look parts) = do
       cap' = caption shortCaption fullCaption
       (hdr, rows) = splitHeaderRows (firstRowFormatting look) parts
 
+  let rowHeadCols = if firstColumnFormatting look then 1 else 0
+
   let width = maybe 0 maximum $ nonEmpty $ map rowLength parts
       rowLength :: Docx.Row -> Int
       rowLength (Docx.Row _ c) = sum (fmap (\(Docx.Cell _ gridSpan _ _) -> fromIntegral gridSpan) c)
@@ -838,7 +840,7 @@ bodyPartToBlocks (Tbl mbsty cap grid look parts) = do
   return $ tableWith attr cap'
                  (zip alignments widths)
                  (TableHead nullAttr headerCells)
-                 [TableBody nullAttr 0 [] bodyCells]
+                 [TableBody nullAttr (RowHeadColumns rowHeadCols) [] bodyCells]
                  (TableFoot nullAttr [])
 bodyPartToBlocks HRule = pure Pandoc.horizontalRule
 
diff --git a/src/Text/Pandoc/Readers/Docx/Parse.hs b/src/Text/Pandoc/Readers/Docx/Parse.hs
index 99ffcaf09..43adf7930 100644
--- a/src/Text/Pandoc/Readers/Docx/Parse.hs
+++ b/src/Text/Pandoc/Readers/Docx/Parse.hs
@@ -294,11 +294,15 @@ data BodyPart = Paragraph ParagraphStyle [ParPart]
 
 type TblGrid = [Integer]
 
-newtype TblLook = TblLook {firstRowFormatting::Bool}
+data TblLook = TblLook { firstRowFormatting ::Bool
+                       , firstColumnFormatting :: Bool
+                       }
               deriving Show
 
 defaultTblLook :: TblLook
-defaultTblLook = TblLook{firstRowFormatting = False}
+defaultTblLook = TblLook{ firstRowFormatting = False
+                        , firstColumnFormatting = False
+                        }
 
 data Row = Row TblHeader [Cell] deriving Show
 
@@ -691,17 +695,25 @@ elemToTblGrid _ _ = throwError WrongElem
 
 elemToTblLook :: NameSpaces -> Element -> D TblLook
 elemToTblLook ns element | isElem ns "w" "tblLook" element =
-  let firstRow = findAttrByName ns "w" "firstRow" element
-      val = findAttrByName ns "w" "val" element
+  let val = findAttrByName ns "w" "val" element
       firstRowFmt =
-        case firstRow of
+        case findAttrByName ns "w" "firstRow" element of
           Just "1" -> True
           Just  _  -> False
           Nothing -> case val of
             Just bitMask -> testBitMask bitMask 0x020
             Nothing      -> False
+      firstColFmt =
+        case findAttrByName ns "w" "firstColumn" element of
+          Just "1" -> True
+          Just  _  -> False
+          Nothing -> case val of
+            Just bitMask -> testBitMask bitMask 0x080
+            Nothing      -> False
   in
-   return TblLook{firstRowFormatting = firstRowFmt}
+   return TblLook{ firstRowFormatting = firstRowFmt
+                 , firstColumnFormatting = firstColFmt
+                 }
 elemToTblLook _ _ = throwError WrongElem
 
 elemToRow :: NameSpaces -> Element -> D Row
diff --git a/src/Text/Pandoc/Writers/Docx/Table.hs b/src/Text/Pandoc/Writers/Docx/Table.hs
index 0caab7cd5..6dcb3f027 100644
--- a/src/Text/Pandoc/Writers/Docx/Table.hs
+++ b/src/Text/Pandoc/Writers/Docx/Table.hs
@@ -63,6 +63,7 @@ import Text.Pandoc.XML.Light.Types
 import qualified Data.Text as T
 import qualified Text.Pandoc.Translations as Term
 import qualified Text.Pandoc.Writers.GridTable as Grid
+import Data.Bits ((.|.))
 
 tableToOpenXML :: PandocMonad m
                => WriterOptions
@@ -71,7 +72,7 @@ tableToOpenXML :: PandocMonad m
                -> WS m [Content]
 tableToOpenXML opts blocksToOpenXML gridTable = do
   setFirstPara
-  let (Grid.Table (ident,_,tableAttr) caption colspecs _rowheads thead tbodies tfoot) =
+  let (Grid.Table (ident,_,tableAttr) caption colspecs rowheads thead tbodies tfoot) =
         gridTable
   let (Caption _maybeShortCaption captionBlocks) = caption
   tablenum <- gets stNextTableNum
@@ -106,7 +107,8 @@ tableToOpenXML opts blocksToOpenXML gridTable = do
   -- 0×0100  Apply last column conditional formatting
   -- 0×0200  Do not apply row banding conditional formatting
   -- 0×0400  Do not apply column banding conditional formattin
-  let tblLookVal = if hasHeader then (0x20 :: Int) else 0
+  let tblLookVal = (if hasHeader then (0x20 :: Int) else 0) .|.
+                   (if rowheads > 0 then (0x80 :: Int) else 0)
   let (gridCols, tblWattr) = tableLayout (elems colspecs)
   listLevel <- asks envListLevel
   let tblStyle =  fromMaybe "Table" (lookup "custom-style" tableAttr)
@@ -122,7 +124,7 @@ tableToOpenXML opts blocksToOpenXML gridTable = do
             [ mknode "w:tblLayout" [("w:type", "fixed")] () | hasWidths ] ++
             [ mknode "w:tblLook" [("w:firstRow",if hasHeader then "1" else "0")
                                  ,("w:lastRow",if hasFooter then "1" else "0")
-                                 ,("w:firstColumn","0")
+                                 ,("w:firstColumn",if rowheads > 0 then "1" else "0")
                                  ,("w:lastColumn","0")
                                  ,("w:noHBand","0")
                                  ,("w:noVBand","0")
diff --git a/test/command/9358.docx b/test/command/9358.docx
index c8d8798cee2859e502a34b082780ebccf33db390..97bf4abc09cf48fe526015ea144cd5cc4f9e3908 100644
GIT binary patch
delta 1733
zcmV;$20HowX!B^W?+AYY00;p6vnpC7*5!}Q1pokRAOHXn02}~!Z*pWWWN%}2ZDnqB
zE_iKhRa6N816>e;XI&72XLWcB009K`0RR956aWAK?OIE3+c*%u_g4ryE|5ypTSk*Y
z&u)Nj;jPo{WiPZu+d?E!py(vtU%#YYmSiWD-Lzc;>q97VG#`II&J2emBJbWmWvTFh
zNSWaLS_E%pQ9yZw<0M~Si(l@-D@zng3iBAII7ipw4wd5jn>X(sXEBbp8Oo`^5b|>N
zSVY(2hSFjtNoBM_87$vsNknjoSM+U!GYPL&Nra?FOkzoqfm}Tm1V^YW*>oPvA7Cjq
zaM9B=w3xt0rp$i<H7VLaLebM61Dp(^OSWVk0x4$zu@x%d5K286%8)p#10d}zAjawd
zNk0$i$l{Fikd#9t^E@Q=5Xm|Z=^&i4!vMzx%9(J5Nd_tFlC_jUa=$IE7;ph;vP{y1
z?ii+Qv@kHq@6TYwv^s=LjZa1}r3}X?RpS-~UyECk&l-RIt4^O&pVj(J(`le|+O%vs
zTS8AXEorMurr54l_nX90Sxq7+Wp>1Qxk-vHJ7njgG2x~Kd3ebH4_PX9nGH<bYR{!M
zzjnhOa0>m#cUf99e;E<T6THbGI*ln5hI6(|G8V!6iO(`k&$wV>@@WB-0{|mJ6Az0P
z!)h?3Xup5EIZiThTeUbwhm*uTob$-^0Lqxgo0CwK)~*uQg%oaJx#=UK(@5zZ+%D_c
zs91mBM)*MRw%DU3--mX)Pl=EDX$zE%vDJ(6`^YRduwa=oi)Od$922-q86&nm1Qy{!
z<pH4%G2RGu)C#Sy1)gKX8&*{<alGSg!DQO3fCPWuvY-U6XPSl_h}9@NlPDk6Ow9*|
zAF|OIE8ybK*P<+|j&1_E8}iW#Zd1x7rlW@zXeIOBP&MJ4RLz3!Qbu+509mrXOK6Hj
zi3><APhq}pr6|Apvfxsw5lbBmnX2+Qs|v_jS-^-HtRSdF<N=8{cie(P@C37hwJa+M
zT!(+wniW%m@hTvMLDOBqbjt#z>4LH|yJ36+hnqPoad9+hiXe|0?c&f=ishJwZ-qlo
zsfMh(wxbL@HT1{Hp8DAi`G^V1PIp3o#kOv^o+_T=m-T4Elbp&bhHZ9^Pw6skng(i_
z4)+BQ&JQGs>qRp0S0-X-YPIodT)3sU6Muii_`X$^HKlrOm5`Et#!Rbnbqbr_Ug+U;
zo8`?2mk$PV{JYDdw(I>>_dv6dK6y@+KdxEJFlw%vu7aB2(P3$zNy*XB?dK?6_iV?N
zhmmhKzc!ff$S9g=RR3+bMqhg@I$Oq1u%*<zINWu5Xadg)l;Pa6V>zntU&yYzaRz^p
zT8E;vH_$7XNpV%p@NI46BHOY})4milxzC%4H)LA0s=i~phVA`|Xa$~Q0z*|tbE~1J
z=wWyvZt#A1wCX^14NEnKW->xYb`(#$5HtDTj8>^TZidU(To9_BKFVo|?>l~=1sAgX
zx@b5&hmRLeK(>JwS|g9^nrUmmdDVX<56fH+7W|5#J`C>>Dn7BPrGrJkSgE$ZalO(f
zUH>W`t2FjDkV~7VyJ}A?(K^XnBfg}c<Rv9{jOKAp!Xo%nsEPgko8WwQ+*_}r*6E#1
zu|(Wm6b)GRVj{<LUSf>`0Zg>Z3n0(%L0#$gO-~7*w%HPqQdkk32|%D&(2jpQ?*BsY
z{6bK-T_w=9@K+qIhOIc3VvjzQO+^a=L-8&oX@Vo6__{|c2m;`{wm(X=W&nT{T#A{L
zS1ANF!*Sfe7#CwdC0f-GsDY(fqq%`)$d+PUh#S-&9<8SBDIrjt(VdDPsupmp3o(;+
zb|EOsmg?%hKH98`q3fFW;^%+DocyP4a>6~+uw2k|JJe6QM%umZHBwt1lqjO}<0<BO
z4=k7xA60Z6Xl`xl_2Qp;X8>T!)z06rXZH1D)dzF2{-dgVC@$Ez2I|C=tT%MuU1Cac
z#v#<|>nKI5o^*p?j2IhJu6E1{W7_Mkx3ucY^>h(VOE%j0hQCt{$2cP5WdO%cax_n9
zw5jek8-vx>s2=NUY-#^r0yl5|1yD-^1e38c8nZ(WEhAGN0~7!N00;p6vnpC7*5!}Q
z1pokRAOHXn02lxO000010002Cf$0bU0C#V4WG`fIV|8t1ZgehqZERIk1potG5Q1lQ
zcnbgl1oZ&`00a~O005J#GAaTA50gO;7nANXDgg$Q88bcs!;@GuJ^_Q1moq;B6qDC8
bK>?JL88kcr&XZO&9}3w5004wB00000jmjHh

delta 1753
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

diff --git a/test/command/9495.md b/test/command/9495.md
new file mode 100644
index 000000000..6a3227be1
--- /dev/null
+++ b/test/command/9495.md
@@ -0,0 +1,98 @@
+```
+% pandoc -f native -t docx | pandoc -f docx -t native
+[ Table
+    ( "" , [] , [] )
+    (Caption Nothing [])
+    [ ( AlignDefault , ColWidth 0.5 )
+    , ( AlignDefault , ColWidth 0.5 )
+    ]
+    (TableHead
+       ( "" , [] , [] )
+       [ Row
+           ( "" , [] , [] )
+           [ Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 1)
+               (ColSpan 1)
+               [ Plain [ Str "1" ] ]
+           , Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 1)
+               (ColSpan 1)
+               [ Plain [ Str "2" ] ]
+           ]
+       ])
+    [ TableBody
+        ( "" , [] , [] )
+        (RowHeadColumns 1)
+        []
+        [ Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "4" ] ]
+            ]
+        ]
+    ]
+    (TableFoot ( "" , [] , [] ) [])
+]
+^D
+[ Table
+    ( "" , [] , [] )
+    (Caption Nothing [])
+    [ ( AlignDefault , ColWidth 0.5 )
+    , ( AlignDefault , ColWidth 0.5 )
+    ]
+    (TableHead
+       ( "" , [] , [] )
+       [ Row
+           ( "" , [] , [] )
+           [ Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 1)
+               (ColSpan 1)
+               [ Plain [ Str "1" ] ]
+           , Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 1)
+               (ColSpan 1)
+               [ Plain [ Str "2" ] ]
+           ]
+       ])
+    [ TableBody
+        ( "" , [] , [] )
+        (RowHeadColumns 1)
+        []
+        [ Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "4" ] ]
+            ]
+        ]
+    ]
+    (TableFoot ( "" , [] , [] ) [])
+]
+```
diff --git a/test/command/9603.docx b/test/command/9603.docx
index 7d70a1249295989e30db5ff61a01476e68cac0b8..16b3306f9b5bd1ef75967236c4a9fbc2dc23de87 100644
GIT binary patch
delta 1377
zcmZwHYdF&j0LStF->r6B9-3z-4ofa&)P#|_j7B>yVQnI}k`ac@Z6am4EHk3aEk;k0
zYvM7N+;*JPqPaw_hpe8F+KSwsiimT1&b#yU;`iqJ=J)RNK72F0sY8wq0Q-TWW&@w5
zJKAr<WdOht3IHmA25^NM6J!)bCD9^-DRIbz$cS?u5J0*|F*W4JXbJKFDDxQv02x&P
z0EERZv89%({a?SUDr`G2tB3iL0Al-HNtpoEvFroRoB;Wb&6;1wFJ_+X6Fk!uPRQHk
zZdlPZHErm5r6WdR6-&m!#sZi@_mqch2nbn-=)&(^_q#ak!HCXh=pR<QQ1koH#7O%+
ziW0>!)t_bhct5sp&K`bjg1Ip#dqY;mO{L3i;l=@+`HrO)LaWqOBOpo(CDSR_I&WC5
z+nWu!Vwk_ILNxSSHOYYy;*|Rigr;g?^B0N=LAue+^8rei?Qdg1U0lu6!vjwa220nH
z0h6OC>2;u>1ZQb#k)-Z)D324SOL8o6)lnQnXdbZ;L?2N<nO?=r(iWzwzI^YWtk;X4
zUn6q(JNm^X{v<rd#vQNwNF7T~{}rlnJ5Tv2?mY21R`_zLVX09)2_ZbbT<=9nVMkNw
zj4pJqk@cnSwuhuZuafP_K7xZHp2M`r%RU|bdPzy*Q4*R>e!klPER8!v#+zHj)b_Ns
zZY`o(dX3lXJ6za=tyc~;w~AdeLyz@2inkvXRBEUB_Or3$5Tr)O)&y`JXp**GZ>mw_
zvcS}Mnv0utjQ6BQmxzBU!_@W6KDzQJBvy=Tu;*1KW<0~faYdpJXsIz+wCZ6PEpxLO
z^ilj&96w)1ebZjUBQy{C`s`q4{kwYL&4Y3^Gu5WW+^?C5Ogu7Ph>BWiQ@bxlsId41
zBA<MgrG_7fD=>QK2RhqKJKwQm&9zSWM!P3zi_Y?5Uj}rdE5vS<9duG@Icb<rbDv@n
za|V5$n6z|=j-75We4H-IWz>bu5==jP6Bid0XZ5<rwIv>y&4%izT2D0JnlP$(o3`$a
z8b?mXYCvZhk<pAe?;I)PAx_{;3B11D+0G<q+)w5P-2E(d#yI&*(<`p>NcV|E=elW|
z1`IridOsqUFZn{(pKP>DK8L4m>vb|+iE=}W{eB4!R&FKlR?@Afm4~OYD5b?FyJ`Ck
z^|K&#&XEf&-7Zu;IVh=7Tjx#T{5xTOa-p7nS?aD9Z_Fb9p6?ngn@}HS<%w90FcW*n
zT#bKWg&;MAl#{Mrunp#X@Os~`V<S*-b1690CSj<Pm+31y6{r7N4LRzUkjtfbqv%#)
zp9;fQKBheAT->gG>MR<qAd7$V02@>POk4LZN~Tp+IW?`yPF_COzpHNU+4c|(TXJX0
zd0DnhPrWtUVXE136YT20Nw<WTQ(t{7n3<+*z9vI%8L?Z7){_0N8_Vj93)|oE%r|WH
zg@X<mA@ni-ZLUOVuQ0Ct+DNSDtkZxP#+eyhyc#pmYg_&?=W=Q6bsk1Q+sF!e{CO)#
z^lh&S9jesL(-Qy9qfSEhe8{;_4~~(-zMb7UmccdZq2!`VX`K`pLI+tnT5{JXtc<#M
zYOEN#mZ5?gM512fx{qU2UO3GbLc1j`xPuJz`9}`bmI)A1*?fF|R^TF13j%GO>^b!X
zQD=YPITzo&pzx;OTG>Fc%WW}+`79*yfz<LJy%gK;`?yi^aD5_N`iDP1BkbV69RU6n
z3TR8=$^kzEP4+*~{)ZV`U}_)}CJzAY9C-~k6lDP3V`ETQu!^06!hoafUX-=eHiEs2
fvIDc&wq~|q2b*q&0R!1QvqQhkNC5!E^vCl*hKX^c

delta 1343
zcmV-F1;G0FYv*gQxdxN06bOF>nXm$m1ONa?6951a0001YZ*pWWWN%}2ZDnqBE_iKh
z+?ZQ$qc|9b?^oLYfVgkL923-ZM8aftq*<w&c6YBGZ~`h|WILz%^=lgpq_kZ^XKpqZ
zfDhl}m(Q<_+q+MvBG(Rx&<vLg9o(9_hRPTxS-D&2e?6^lX1YchEE9j2;}R|OGot#Z
z``>@NI|d1k_XR4M#t|hAj#a$SQ^u;mFld~j0@B+eiwUN9%Wh*_7<jwQVq_dKNes&b
zrhKXhjuEANycH}Dkm?OCK8>R#1Ri;?06IpTLc-9gV}Pq6t}!=eLy$EA#NW^YLzI0r
z$}@zj0mzvI;;IHDcN%}`m6!9Tk*p!fpGLBWq}epmz)r=`;J891Z`@*1K*oz?XB3b;
z@2eXQt{}@cS)Q>oXPTbEz^r_ppomAcgu+g)Ciq5y6O`MDqTq$TCuPvY-?Z^UdQitV
zw>ARh<A&wK%?)&7Ib|xAjLBUc9yJ?_%$h+^&hv;%nr2nII~0FYX}mF2ki&ZkI25_+
zcdWq3rS{g=7S+?x0msO1=B~(V<?j=LIbt>iqKz0M;c`r+q~H$j2A-6fUUI?6%|`*O
z0l<sV$d83$%o>IfcdJ`)vXRS5aq3wSoUBVM7`X?&6w?DF`>PO^t#pW+2=B3I!jkkl
zoSGv;#6kvBNZWr!BZ%m_7j#?Px#;D)+I?(MeIa;Xb+qhbw6ERvdK3qpD_G6q>~9$K
zV`3gtSn*xAh=Z@Y5)-(|xgx&QG`?CiIRoO#O($;h5uIecm}~Kn>@~4#>G%Acw!z6+
z+$-MT1QjIkE4R7tIic^)_<2v%@~<2dwP0nNbK76?+JJwb36t*&-89Xm=~%P2DneVh
z&sncU(22OP`%q&-t#-^<s=+%$)QPKXCVgt?`wsAAtUN*nw1P2z&59t3$N}m1T8vAE
zii#(IoL{2ei=*tEqu?TfUn?21$(!3ljo9RmqBmD|fc)$BB-F2Z<LXA!?H}HSZ<-=u
z0XtWGM7V!vxNZK1@w0-MPAI!=GeX&S%%gxP=CCPsjVqk*3vuvP?W#g{De)gme)Mij
zf7c}-1{E*Ydx<Y3OT^=j-#Me!>Uh3e3w*V@MyN=3F+1&?_blVCXQA(e;iYB#=BNDe
zL|!<9ky>S3ZZA>|%<gwxwq(s9TR2IY1j!;gpt65o=FR<VispV<jlLcXq*}hc9I#P1
zjA$Az1Db?4$zXAPRi(yVa%x(GB`2uDnvR!i*j{<A>ANCby$LbF$^zb6awe_eCq&sR
zi$}`%Y1+*&^1SuRxzuh);c5x&&y%&+`F>lyoPv>dkKB1=&Z3`W_uA;S=`Zcx_slP_
zyIg-w{|CFfQ5gCw^Mz$B7tFlnay{8H;Fo*dH$7)=&4t9i*PYLyv$p1wg<Jn=^LmFL
z3Ie_tMXoaZTh<;YNPb@^irK?!D@u;Nd;C$S4Oo^VEyE9_z@0hLCZfZiPy{o~|1bhh
z-GyYkly$`oW(*fyIY--GYl>ik_)7Gx+QTv!vtDtxXR_D~7vr4r+UDFK`pD`8$KqQk
z*jb4lG8S`{wx_IIzoLAsPgF+tFR=T60h6E<6qD*R4zq;|0w|LxGz=>RnXm$m1ONa?
z6951a0000000000000000J8=F0C#V4WG`fIV|8t1Zgi6&H58NTGa3PKlLa(M0j85r
zG(rKblae$(0oRk!G&}+VDw7X2Kmn4IP&GdRz>|<QJ^^Wy&ov(k!2$pP5HkP(005+x
BhTQ-F

diff --git a/test/docx/table_captions_no_field.docx b/test/docx/table_captions_no_field.docx
index 32d8ec1b5cfbcbb27765d3352b2a1833df79db96..e46149a2d3c9b78b8d670596761c8e389f49bc45 100644
GIT binary patch
delta 92
zcmZ3!hiUm9rVT4NIWBD0in6=>Gj#F>P9+X@fu?j2-h7L*fmvGZ$TLpeo8p^R-kjA|
mx>|b9q>`ymOZnyRzdUhrb1AQT7eeom=>{xdeLtq_vjG4~0x0eP

delta 92
zcmZ3!hiUm9rVT4NInJ*>6T!7B&wla-P9=_~rCDhpy!jSq1GBXHk!PH`H^n!tyg93_
mbhY%HNhMRCMnCp-58ZWQb1AQT7eeom=>{xdeLtq_vjG6if-7tQ

diff --git a/test/docx/table_captions_with_field.docx b/test/docx/table_captions_with_field.docx
index db6de3088d59faf0735879d220415e6600bd91b9..7159213a3311dfb2371d83e9c1f9856069c56f54 100644
GIT binary patch
delta 2372
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
Z3{>(B;3KJ!Yrc};u^)`2m-WvF{{^1XSup?r

delta 2388
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
G0000^j&@-H

diff --git a/test/docx/table_header_rowspan.docx b/test/docx/table_header_rowspan.docx
index 1cc32a10552305bbc60e1735f96b9782ee15a949..4bcc0014bc2f70937799be9947cd57238041c42a 100644
GIT binary patch
delta 3759
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
I`d_L40LR|cnE(I)

delta 3867
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
b&>N^>=HWVYYZy_TD=e+_AkY!)&&~e<L{E0q

diff --git a/test/docx/table_one_header_row.docx b/test/docx/table_one_header_row.docx
index db715dda894bc0e32a436f270d5fd0eda1cc180a..e7ce0050f20c68367c4a021a678975b5e805c016 100644
GIT binary patch
delta 1162
zcmV;51a<qFU$$Sc?+AYY00;m~v?^MpFA|TF0{{S94gdfV02}~!Z*pWWWN%}2ZDnqB
zE_iKhRa6N81Md)mXYUY#XLWcB009K`0RR956aWAKwU=FUn>rAN@B1ql?h`(Zv8PTa
z&PSV>c21_rIp<mi8JHl6kz_mWukQ*8uuGD`B=v=ncG*Yoid}yhfBy1JN^6U`C>UMX
z-nnaAm?kVOXtuEbeY`!3ZA(Z*Q&cjF7xo?t`^&|r&%1fbk`2LBT0o#;zN?ajol9BG
z9Y-WNCP<u<BH>K1wLDK4aoBoYB-q(8o;tqkx%H^xEWtv+a#x6Mk+2Oec^*bfIod(6
z0)|eKBQEiC$MAnnhD@B96Zb*>2oPlGdwo=JGAeSEsvamD1p-w)(qtUzh2)}fB)?CZ
zjw1zqQap~-D<{$~a8_Xo&Nbr%Ntp7?A&5V1sxtsrNEWN2EaV=TZq#5<L7zq_f~b~2
zg7jp<)FCXzWso)$wy-yx&Q1JT8?U6#b-cMW5qwDgI^=)a91eBn4#y?z1*0M_s<y+)
zSQ<F<2C{uCi7hGZ_H^<Fw##eB)3x5p4md=<*?&@M<!=)`cfb=-h&Ez~gyS_EB?PLl
zTX@vg9Bi&P@BnE5eh&~Oc;JEGFk-`SlCDD)rx@584JT?jMS8#)C*}Yk@M(xiqeJY;
zK}J>fzOsM)%GsvsXvO<zcikbhqo*b4Mt|;6CEh3IAx9OQO(dD$Wt4HWDnStxvjz2N
z)lb0E1)(mMt}#m;1oj2IzN}cfS68_z&E=k(!GqkF5If(Za$!Fz?pF@Q;TZS-;DXkJ
zHzk<vD_9h5Bx~K@8GCAi-O#UZTNhl&pA4crH7$RUnRU)9R&EG27Ue%OQ1)#J?_llh
zKRxr*qRz2+B~=YGxB^3K_2X%%1^#J{UNpyUM{a<UgBRWt)1M&2jl$se<_6Sw;k-f|
z-6?UAJM)(DrMAK^r&QLd`Pe4>k*oOlHVP&)TZ3Ei-!MusH%m9>M1MCkv;F>T;&)FV
zeMWzcVsm44ByHll*UNAcye;iGGi|!YYqTllfk)A`mWzKVuGg$r=Jj`FRD789Aii2&
z&X%(emJapz*QHP6;PS?wxF0ONZpqih*R|7BZ(o!jP5mHpy#b<v*>vXKz9h<c>fRAJ
zk@x)dxCihn>kahBWl$$lWe>mfhI+mq)=gub!*~*hu4Y!*52TQi!Fz@m>RWh`<v{Xc
zx1O$;l#F!l60Z-udEH8om^pzMlLymmBkQSIE@7nrtEf<d^*yy2{^F_bSL}k~`$8t5
z686qKbe(uT)TgP_{VTlq^czr10|b-HEgG}n45}a|9s?8r000O8OtdOmq%RVWlLG(%
zTMhsK5datf000000RR91wt<tdEfpA5R0RM7?+}7#b$AN^0R;5{000CO0001!#VslU
z$CL0aLJC|H004Jya%3-all?9mlbII|4FCWD00000000000FaY%E<OQ7ld&#80rQjb
cE<piNlQS<o0U(obFCPlo0ssKVEC2ui0H0C@`~Uy|

delta 1135
zcmV-#1d#i-UzuO9?+AYe00;m803iT=ow2a00{{S94gdfV0001YZ*pWWWN%}2ZDnqB
zE_iKhw3k_L+c*%%-wX6R7<x~1T9%DEg`J}fu!{|vZ2L@8v?W9m1(Lq@)9>)I>?%!V
zCC!6)4Clu`$r*<J^m$hngAHLkr`6Q)FFj{KDooS7T1}mQpYDGy5@)~#s!~+YicFn7
z;m+r)j~_m5Cn?42l2l><h>B0PHJ&<|5cR}$InGFl_+^=6Mmb%IOH50bE|)nb?v}FD
z4LsjdwVF{(IEVSJQMEzbF*v;IMoSsmg0lohF3u1WWY;kKvmrxw>?Unc&;tZ34E#1K
zJR23eQdJ8S^#Xr^supS3kMzRg;(nx{O&awhg>6#OkJJjMvK`>GCKVW$l$A(8ldaqm
zvFCMt0pJ>me32Kq*aOpxEe7S)a}Pz}bs&^sdNyI?mNX?rm|6;*I%`%<jQ_>KUrL{7
ze^Xcw)@A+L<;GkNYUM5?1?&Z_c$U|P3@`iAz?fOc=CyxCY|6rp+tz-^botfwbfdSj
z0d|pZ_P;E&^4E#J*WpAY;^5Im!s(n=NeNNdOx$a0jyBitc!5|z&;rDmbiD8_BQXpY
zHyJ89dB@bS9DOR1lQ$ddcf7}b7IOsP<UGXC>frnGXhrqvZDIR`(RJO>^0(3Mn@eab
zp95#GO!$8vrzC%yn8ys&a5t5Ba=)r5LyH0wK`;*>9tY|K<QI-r7OF~i19=fRSMYpU
z&~z_Lu_#ROz)a;)><jRnY)~<Eo+S4RgWzzD`3IOF_28)l&3z4%qP3t0^Iw!cTW2qt
zsbR~Uaq*3UmoJ+IGOfmVO^bCYpJ3K*JJgVhew}~ABka)nu3NsG)IAk1rON6GN?>TM
zK{AT8z@NM07rPU$AzPqeV1<Wb`VC}waTMO&-hvuGn$(D)dnqpV#{N8+>0bEHDP-@+
z{7L1~{fSBc<Sq_}V|5aO9mIbnC?(8HZM(7l+Lqb=U_1<(6G(T+DmDY_6KO-wyO~GB
z@O6J_rz_K4H)M&{g*dWEy4G^_Pes(6YG$UswNdeI(!=C>J{!-+?<^hS?~h9#CE@Hg
z7|Ni1Pw6Tpe=T0cj*Z^7s30B%VeH97`<<w8JQ{m<FNrc1l{=hZ@o<tHr+$xMm%X=;
zAG1&`q+UJ#r#I9Of=DHG2K8YQsl<~5{zh67DJZ-%{74UB`6>gFpLnXdphD2HF&AWc
zWX)76!NLN4$xteenya-?O*0*)1&3Z<BTV!d)eS%KWcEvTUXh1fU{DErXAWI2TvhdL
z>NdX$ul@%B0RR630JFyo$RIZ@02BZQ00;m803iT=ow2a00{{S94gdfV0000000000
z000000O<$-0C#V4WG`fIV|8t1Zgi6&E)<j13=j(d00000000000K$_EE<yoUlTa=`
z0gIE5E<OT38k1le6q6+`5tH;T83FE-4lh9gOp{PAJOLY%jV~Vx!2$pP!Ylv)008ep
B{TKiM

diff --git a/test/docx/table_one_row.docx b/test/docx/table_one_row.docx
index d05a856b51153f6bbe23688434349ed3b8ea9dd1..b1316705b8a60cdab57698612ee681716ae697e6 100644
GIT binary patch
delta 1135
zcmewoHz|I@dyaYr1`dXl&00~P<|fOwFf%aN@G&q5GRQEL=NF~ur{pJ>=BDPA=vCzA
zgobc3FkACCrGs#31vdjD%U4DQ1{M(p28ONEZ|6NW6KH$?U6bXm`jwNP7+>pLYtLcc
zlCi;a_jME3XeXB-g-q*rm&-N0HpS$MZJPA!kPXlC$NpLMX*%`)KAkFh?y&R}%lzH{
z);_nIB0Mpr#=QK0)xP~Rcl2GFp>82Q=iFW4(09{!`_J#+>@vZ2ag4RYgRC;06L);K
z>ZNgLP6}$fs(ZRa#4G2kt{_k6TQg-5*;b!`2S4L(YA;a;(Y%q@`IAw5`=N=~>$bQ&
zQnrvzXz}P;x@>)VTYbH0O3Sj0ORTKS4h4q}ykB%^b)ccqDysz<0vsWw9*Yx~%$L!V
zbK}~z<fB2*4OQQ^iB=Df>|)g8I(2Y|=%hqm=bg?xr>EBzGCyE?oiq9AOgqNQ-Pt_n
zew=1-eQ;GEVn&RwgtD5@taeXd!QyiLpKCtt&-~N-W#-rQvu-(mv)o@ASs!|Ip^fDv
zllI*LF-s#ardUXOF(*ek^X<1f()ctlc<!HhFF%D<M%`R(!~FZi`gil6hW%XMx$pYp
zP6?OC7u^p%owrqpEwJKV#f7U|^sc{;bjWhJz<8wPo6Zl@<RC)<%k&iwQ*475KRd#!
z?j1EJF)50{b-i;>mh7t|QR-S{@40W+=Lfy%HrB0{fBP_|rSH!!=BkhN?^gu87ydlu
z5mT11^5%9~aiRR80G5Mq9Bizf3K!%!%s95u@YxKf2lo!XKJBKWe)*MeoN522S2iz$
z`SxvQKKK0H=7)8Y1!Ptj{bvwfBDY8L;D?X{%PQ8pCjX1=n11VK_nxAgW|O_@#kYp{
z-CkUOX@|(qc^{|!O={}CFZO}&TF<|2%J*}+^o~leT(-MeOd>4XK$bP^f$8NJOe<6)
z9@-lI<TKi1!S()ncEDrz%}m~Z7>b%QB>NU6B&I){9z6SI;nza#@9CL;#I^I^>Yq|y
z*!g!|pF`c25R>pZdmcpvZQZcrhPBk%X^U5ceYtjT`lb4}SGw{(+FjS}UKp)gUSAaT
zF7lnu>Gz9*J|<pr&KLYO`Rb?UrOpk1-(O0u-#M$N_I>lx>6YKORa`z{WwU$Hv5QBd
z{jSGXcW^C#yt4eiap2UYK76j7byM<x+cw@kvu^K=-%``qHOu_}-{Ah*te~~oto2_8
zQ*Da)pGMvw?uv;Ylmm9Vr0o{*_;)0%xA#KShRv4CZ%;E_YO!#F_u~U$f{G>CJ8r)&
zipX_$S(gwdIwN5BvN>)43)J@VT0j0`c$p=nZDY7?N%e<K*{4;l{=eP*`-}eOO+1?w
zg5{V&*%DjMmH>(~FaR?y!?wnk91Pg<IV&Weqvi3*3v{)ZcJNF-$0I)Zv91=Q?_@qb
sJI2JxzCco8a*v)p<N3*F^c)#=C-dpsF#ehBtuN1YlZk<0u@1;W0LVWEsQ>@~

delta 1087
zcmV-F1i<@}U-VwE?+AYe00;m803iU-eA#iD0{{R#4gdfV0001YZ*pWWWN%}2ZDnqB
zE_iKhw3k_L+c*%%-xuh2F!Y}2v@IKTiuy=5Ko=V{+1+QFq9q}cD3J8kPv7BX*{i0I
zl{63HF`OU&Bxe}<<EKMe40eR^oK`c(zxA8}sW46QDxEq1Jl}uc#Lj>VR3)gO6`46l
z!ktfdAO85bpC%M<OHzpeASyoH*Ldb+Lex{&<v1fH;<sgv8Rc{%ZZR!gy4mEIxO>VH
zH}HH<)oMmD;T+~$plXM>V{rJ;jg~O92WJV4T$~{$$f05QS3`#G#Esjapa%$682D{e
zcr|L|N>wdT)C+$Es#>IBKhjSYH|j?U+N5zmQrITN{Yb5FD%$~0Yf^!6Ls^LgG+FAF
zh`ns<8vxfx<m<f1#Sxg^$YM}lz4TB7UME5sCRY>2Zb=hTgo&llnX_fp)cD_={H64%
z_BVy~U|rU)U6$r@P%C#CDPS*X#k0IVWq8?_2FA=ncE5jG#I7vtxP9$+OqbWLr={M?
z2G~Wu+5fW8%70Dty$&ZL5hsr>5-#VoN=k^rX5wC3bGEsD#|y*)f)-$eNyiJ{GGfDU
zag(8vlXpxF%h9JIIeD|Oe#d+4|6<MnoLq+(S{?jYo~@`(-xjuC7~R$lEq@#Bp}B<i
z@;Pt?%Y=Xbc}nuPiFwLU4R=$Crw?gG8Cn;h2!eS4@i<T?Air>|vQSlW7|4sjxr67+
znkGkCigjU%M`kKd;#h$1bcc$W^DMbv7zBrF%>RK2QV*U=&^*>KDcTBpGJmD?#X5UY
ztcGoJ#>F>ky$W>RQpN=>wxxW6S-b5}Ln`{`93FpRr`Er^<;zLkOYu^wtfo)`Lu(Bt
z!$1qXrdyLOP%yB<LoxXVGQ3d~-mg}m#*d~oV(0<n1koZKM!{V7!hcR7d&lNaDwpoh
zO#084-pZe=lMq;c%@VNLU!~%-#mNC#NoHVuF?TdvE{2g+^xE8)(skF8Y|yq4XBJ7<
zTJC@Tu85jb&CJxdHY(mtdg#qVKVB~0SvmyRZ<jvu7t46;%cy)$=_==57cUFlXOj0)
z)EJU(F<E`?AS#@UC*J+fL>Y@p4o<LmyomlwzbCNE-jz4<K8I={b^7#OZ>S#xk;>W(
z>cbf7idm<BA&C?e9uj_}hp;@&faJ%XYOYGD5VUN}1=*ZgGlCKVxik*+Ekda{Yo=SF
znr1po3l6=!MwsX^svCa8$@G@&ydsaez@Rc5DXVK2uB!UFbeo@jcRv6C0RR630JFFZ
zvmhod02BZQ00;m803iU-eA#iD0{{R#4gdfV0000000000000000F#j|6_eyF5R=X=
z8UeDC=`BJ5N0TfrJ^@>kYc4(k8k4FnKLN>;>MlV6CzC8MJOTETX)hlN!2$pPoh$$V
F0065Z_1^#h

diff --git a/test/docx/table_variable_width.docx b/test/docx/table_variable_width.docx
index 89935796839c8e2713e479d29ab5dd185e35d0ab..3ac3f534bafe363ace2572aa64a2bd727e1ffc42 100644
GIT binary patch
delta 1950
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
aTNAAKT6BtmCHOm5OJ)!X02SJszy1THc`1DW

delta 2055
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

diff --git a/test/docx/table_with_list_cell.docx b/test/docx/table_with_list_cell.docx
index bf58c1abe0a619a02926e04e2d94ee0b658bc663..4b6cb7ac52842fdb05c832b142822d255ffc0875 100644
GIT binary patch
delta 1077
zcmcaIg|Tre<A!O9^$ZLg3^JRwqDm%xiL+&9U|7z_z#zyV!%&`Il%k)KpIn-onpdJ%
zk((15!pXqAov$e!gi9;985mi<GBPl*h%hiP+zpTRzil8=_dMLCvRy^BS!<E&onsSj
zgan$&sb4P?Ufq{_)6e_+>v9?E%+n2}3b{SgZ#@4t_x+q3ef7m9HSrr0{H82x;y;w4
z&&Pad;|WcDwujem_wW8|aDnZkjN!qP3Nb>ma{T3eVv%|Uv4VL_4iBuNJ#09<lT*Z8
zrKT@&s#?D&f>U={8h^Kz&}Ge|Dp4F$-S=8_&Yl^<B)nGfuH>WQCC>ceoo_E_wcO6s
z@B6I~d@u3ODG!fB2QBJFS2?k{ggUg$x>_V|plVd&Bx&m1U3%f*8TQ1r70(RItmVwq
zn3-<wNm{$P;@ow?ug=m7w<*4KI#+vIx@w{l4+r-;Z>{j!YE3DL(_&9<HeK(EJ)u&2
z*V{fkgYhs|f%LDP+^c3J|FcOF%Kzx5<08J1xAp8C-N|2%Zm)>UzBW6$e$Tq?)4i?~
zwYtT(mmN))oo37NkKy$G#a}Odd3~bCTP2Y>)MB^Rj)06q4T2>$8?=pN4!txH{CTM_
z?a&{CpgJQnZ?`5_Gxr>Ud$(?QyM8wK^vv4epj1P%z>%da2_e!KXRdFZvGri#t?WC?
zLNbe$6|^=gImbmwo@ZID{m%5-zJ>J<9$nUy**N#hS<g;isoY81L*8y_5HygvZu0i4
z>_PXd7u}WwCbWLG+uvAISha0_oXMKCufo>8luCay&(3~dwDY@PlkYD!>n)$+zkG+K
zdT@yGXN8G}<>v{qJz1&A?EKD``6k2aXPUK>wx2n}_bT_>&1g6NBJcjK8}-+%G*ey@
zu&{oD&fQy&N}t+j&fc8IU9xTUo~v75Ut@QP?P_0Jv!wffrti0e(_365;wFc<2%D-u
z{Gd`{FUseieXN61V#$x^zdz-FUGkkT{L}j^t4jB+H7i$h2CC$Ty}jp__^nGJ?b|1N
zGY?6JC3o2+LN~bWkM9a@N!QDMU48KLIpeB7Px^Ox*B^H~ug5oe^51*Owx6e|^{d_J
zxpKKMd4u__9}0Fi%YAi^+24`#uG+grb3x0`_PSTrYTf5gI7u;Xf2~rg*CnQ^p!#=*
zp!y++z_n+3e6Fuib+l~szqWAyJC4L_M;4j&zPOxt&?Mt;Vn(f$=^wpY(j7;a&FNWj
z@IcZ31-Xm0_srbIxjK5wufsC${;+IjR{f_GEXNGWPuQ}g1W=rT0hr?$mNZUKWWbg|
zSs@t|Eptw`@z7$Fn4Iom&oong@&a{{$$NkT36r0D*fBnutmbLM)Mh%l*HmV5gQphb
fw#lnKEg0`le&XrGXg68iOPT9GD+5E03&?H&pYhZe

delta 1037
zcmV+o1oHcVl>yY00kD=Ke*y>y002NC07=nUF+>9Z0H+QB01*HH0C#V4WG`fIV|8t1
zZgehqZEW3FZExE)5dJ=(|3T3AM3SSWhETh3UX}&u3M0<ij{{B75@CuYNXm})>wA2W
zEN5xzHNe*9i^${MJ@?#+JW=o7KQt`b5T&W$lQ=s~<A`u9O3JHAfBfhDZztn8(gyJo
zF~P|s-Vq(YpT7C!-L@zNZX3c)1Q1*oTZt!eZHz3EMB|z?NS`(oE1|{8oMO==Vzr`}
zBwL}%WRzy9n@J@w(Hi1iBECU74seY)4y{4Bn~u_S3^L_C#y=SeNjNB1LN&;Ms4DPK
z>sFosrbLD=DWhg*f3ePcn9U?^6)ytDNzcRj6hNTZG^{fg&)IsSVdy;6F(kdqRVcZm
zmng!3u;99;a$mRaMFVBsfjpb=Ala?V@|V5zD}}Z&>;aFVUwWs8dFIa}X6X@c#6t8Q
z$51$o*)bVzzU}vwW?0<nWwpIgqLq6z`ZBazzV5MXC-@gwf8iYsQ`0Xav#61T1JvN+
zw&FseB?CrK@yPDTcnaNVDaxH4&60&-uEJztc8o;ZVuRQuzPG+Nik5K_)Sp2GdjL8i
zh&u_us5PQje-L8bIj8x|nXRbO=1zcDW<`dAv{zmV);4^g?-ra17r$RXkL{&TUdn9H
z<dD3jYNr*9e}Lh+=J{ys2|l@;9C#W9T4?y?9mGrX%d`C2v9e3|YOv;vv44j6`11g{
zuTS}ax-h{|em%t96<MK{nMZ*<{`8VCAWuyl8S-Epqytv&DMOGSnVB8bk6GuSnLmmx
z1J=R0_&~LpBZVr3WbOABZyRq(*@pE;px51&-CDPAe}hBPhj?7dC#v|9=42aNp(Vob
znxrC{s11pyv*`6?IK5~YBPL=H;(tGv|5Z&!uW%=SE2r5j%H?C*EQune+qI_$iP<ZH
zSli40!XRY;k@g>8)W9D7>qcB4y!KH$+iPC-mdVqdKj|+W2Q|BXo6XKfPt`1FTpUfX
znX9k+e=R`oR@3uzcIJy(E&ldrEE|n-mp~2kU&nc<n5_Ol7Saf~U1zyBQM9T7DI2Fw
zTnb}EvsW{+8fa^RN&=s(w<CX}5yA|_sx?jw;jmyDRzowiHf|Yy7wrwiVpC4$)L>wF
zcHWiIC+?>H>Xz*PFsEMtP)h>@6aWGU2mk;;lXplGvo<B*A~yg76aWGU2mk;;Apl9y
zSTRHc005^B000pH0000000000005+ckRbp7cW-iJFJy0Hb!}yCbdzC86q9*K8UX{7
zlt@1Tgp<@rKLJaV6iGe-&686}JOOc&kV!`Yp_AB2I04F&5lTV<DU(!6BMRpQ0037+
H00000#{Sx2