From 5bbd5a9e80c4f4356d71b54315cf75b5ae2f3650 Mon Sep 17 00:00:00 2001 From: John MacFarlane <jgm@berkeley.edu> Date: Thu, 3 Dec 2020 09:51:23 -0800 Subject: [PATCH] Docx writer: Support bold and italic in "complex script." Previously bold and italics didn't work properly in LTR text. This commit causes the w:bCs and w:iCs attributes to be used, in addition to w:b and w:i, for bold and italics respectively. Closes #6911. --- src/Text/Pandoc/Writers/Docx.hs | 8 ++++++-- test/docx/golden/custom_style_preserve.docx | Bin 10573 -> 10578 bytes test/docx/golden/definition_list.docx | Bin 9844 -> 9850 bytes test/docx/golden/inline_formatting.docx | Bin 9959 -> 9969 bytes 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs index a380fd4fa..4cb879e6a 100644 --- a/src/Text/Pandoc/Writers/Docx.hs +++ b/src/Text/Pandoc/Writers/Docx.hs @@ -1272,9 +1272,13 @@ inlineToOpenXML' opts (Span (ident,classes,kvs) ils) = do $ inlinesToOpenXML opts ils wrapBookmark ident contents inlineToOpenXML' opts (Strong lst) = - withTextProp (mknode "w:b" [] ()) $ inlinesToOpenXML opts lst + withTextProp (mknode "w:b" [] ()) $ + withTextProp (mknode "w:bCs" [] ()) $ -- needed for LTR, #6911 + inlinesToOpenXML opts lst inlineToOpenXML' opts (Emph lst) = - withTextProp (mknode "w:i" [] ()) $ inlinesToOpenXML opts lst + withTextProp (mknode "w:i" [] ()) $ + withTextProp (mknode "w:iCs" [] ()) $ -- needed for LTR, #6911 + inlinesToOpenXML opts lst inlineToOpenXML' opts (Underline lst) = withTextProp (mknode "w:u" [("w:val","single")] ()) $ inlinesToOpenXML opts lst diff --git a/test/docx/golden/custom_style_preserve.docx b/test/docx/golden/custom_style_preserve.docx index ac595cdd43ac6fba8e239519500ad02e31fd3a10..17804bb81633037158de66e4b89062867c9414c1 100644 GIT binary patch delta 1784 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 delta 1633 zcmcZ<bT)`Lz?+#xgn@~JgQ0YP`9|LPjLblK^Lj=BMm``TaASn~L|bMChW~t%&obH7 z*S^mG^8J^pY;I@HjlPuKdn2Zqe6~1U?fmM^pLCH)tn9i|=0yF?JFgUD^px|b(bj!- z_e=cNe!khh`N~HTZzVlmNA{I-OR`vx9qG%>7W>fgYF*dPBjx*=I;8frid%<1IJ!XM zy41%-7v#QFC0j3Yic<Bt!s7OGU&5bNJPVi%9a-y{em61juRM69R3RyL;mVa$8%n%Z z_^C)}tgX46s8z%@<x^0lPFbbSq79q8fA3|x5qVLI|CWj|f5xt*dp0IiD=e7q`M`9q z$vx)etzW~BdS|z}6iwZJW?kXG&m2FWp44&n3rcr9ys}i;VYWNh7uJlP*lp?Q-&SXS z4E`5ixI6yY_WG%{nUjUDT{KLs$vS$#w4HT(+WE!{Eb~vDxgx^1`(geRqaewDt-oag zlwWiIeEt4nU`25Dg=$lqq(4gv@2pKIT`=i_GGlCk6Q}o<K*5Wacb0DzZB9L-C{pC7 za9;S`9>@E)WKZWly{t3qOi^m+?rm=bH~*{Iv~pIi*8Zc{e0dBR>($%-o3#9DbFS;o z>etZB(*6JESFT@2NPyi5-AydJU#~pAJGFR!jYD|E$=!Oh)_R>_n#8tzk=m)_PXi_A zMND`bW1%?X2BYe4{wpUppO~(3*&%bE|5DwA+13xWO#3y?%;#YZ?ySvtXz!`~<^Q?% z#fj%XAOCBZD*S9yV7-athK1$zr;bhTw3hqkrzzXdR_U}`s`_;1HhKOiQ_;)(7y6yo zGPvp+*Cp0ZEU#L+TK8p{pq5#^Theyk(`RMsRV=i!7j9MkJ=v?_qxaL?CBNL*Y9Bv% zR3;zGCNgW{3+0o{#~uslFS1j3V0*Q4qQ3x-(z<VljoRL+{go|$EOo_fUFoHG@A~y_ zKg&64_V1ZoH2>t3w->i+h8)jac=F<Gwar0gO-}xEnRYerG@tsQK%R5a{XWGlYga91 z3$67y6S(SE+hqT5HBLXYctXoElx;+AUO(8?Z}3Y#cc#|VqZYS3J~aC~Uw1V+`{n-I zZJ|E}+ZRpH@v*5}qP3$}s4TSX-w8hLl?IFpH8*ALD>nF2r<>KaZ*A}_<IfzbE+3yJ z?yo(4?jI9MPTFkDmH^I5lc%x22WP1cjs{5H;^vyk0Tx*<bO9n#CBn|g0m^N;g7pU` zcZ%xNGc-<J#vKr@pcu%Klz#K_wX8oAY$tqsUpUz;cgedOl{N2W?r)4eU%tz??jU>W z*&dNdKOuudUa8lNKW&Uz!k=>Q&Xq%kiMD$xUmsZ9G~tMy@QecEO^zi!mlVtvRGwIL z*rhOa?=uPS{mc5gb>o?JKmVDR<)CL-RK>6?Pi2yFP*=U+%etD|%u5zrXku$_6pM5` zAIGx(@YS}sodsE~)$HMG)eB4BH%axzUQdm^8lC*Fsc!GSJ>M5EJH_(EjUh8jQ$j0e z;mVhllHrG#-CwuA-Po~xXKQWxUY@|2A;&w}^iQa$B|5*G{3+7bR$qLH=4T`SZYAB- zsgWCZyO%}R$@k5a|1!VPYTrw*zs(g)Je|w;FZ{`j8oHOn`XQm4BC!J;mhzIGY+y#V z{0T^)nkkwwgG46htDFVX_NsPZx<S<py=Xh4YA6p1|M~@Mnlu?17{XZ@7-Sfbf#PHl zHEpn(O&<?vYzIo|0oBPOD`9Av9H*uOwxU-}nz3y1N;O3=?<|n_bMi|yIWUh)U7B&~ zWHoh&oEMOnF*!|L0TKUw>SByVlb5P1#Dbi}nBwP_0<`K169a<)iggFX7#LFWlLLzK z3ySp<3kviqa&rQ_8G-8H<$2)A=dJU*fV!>%u`r76pvg)aN(vwwY^QQ<kz`|F_yzQh zD2f_h$;o<>;*+a2c)%|2(vW71oV-i};__2Kp33BB8VX=JPEBd1Se40jDq@puGzHkS IRY3*;07Or&Q~&?~ diff --git a/test/docx/golden/definition_list.docx b/test/docx/golden/definition_list.docx index 005f5dbe3390590eb6f5146e17abb72d37ed772a..21629e208219fa4bf9038a3ce8b6598f7731bd6f 100644 GIT binary patch delta 1190 zcmez3^UH@fz?+#xgn@~JgF&#bc_Z(9MrI(rc|D^5BQKB<xIOnt?0iNB2Fb~1n561` z{SO=Pw7vh+rIEfZ&srg5?b8jN#zM{29(PR_bt<dpI(Gc``^D-b6)Y(<eM#;gyY+9E zMBd-?V$xLyzlEMZiuOI=={e#vv-XgD+4jxZb(7=P%(ifj%ruzC+E`dP`NN@VY4?ef zSu-9!%Q)DwRmPKBJ}y(<)MKXVlm{^nUK&N|){BKt6g%~Saq;p5gY#2c-cC5c@$o3f z!eT|1r5_d+gloKZlTzEGB+S2JX4s?)iSN>dO78@>Wrkc?F0xhc_>Q!lGY;g<Hq$yX z<&=@oS^l?Mz2-S`XvJSluk5vLF5L0;cHP9~4;5?^zuh{wP5Rx6+3)^lbFS&k4pgh* z-f6Vz?hM%p_0M#?u3t>gFfUndP!{Ilu|u`M!Surx-t^OEH_C-xwFcj<d-z55SMz<# zt7{_`*AymHMjh=t8uWgd*}AR#{LW&Bzsm=lnsSQaa??ER-{)iF{$6@7r#)%IL7u*! zyrq{Kp9sFtjA5?|=6Ez&>eDfqtb~WVTD;R(E88r8&oin1-*2Y-mdiErwf;AioQrA` zYrT`|OxW2k-M^S{>Hp-5*LCODF`z`|<}MaHaBNOK&AJ>MtEFrWkm&uv9?k(42@-IJ zh|CdWXXF4yc;K;LCX-hS$=9FuJ8U4}`n|^WN$n$>ijc5bdJeITEiQr`b5s4JSATT= z=5TBOao<~0JnnA%{NtYGzU19;Z%SwXY2ZIK%TjaG9F>HYsi$(DJ*nO5lb&+%&Xq%k ziMD&HULRQ8G~tMy@Qi}uO|B(9mlU=ws64UguuEa?-e(ft`xo|g%id?u{rqQMR=tCs zWl<H&vOJYZ!a-evFZb2nW?r)3LK9naqgbS)ejLmC!&lqlem=g!#m~1c>inY@_t;IP zcCS0VYt{B+e^~$4RMx$A_npdlqL<;)l^}zV8&1KOPaCakVeh-fe>+()znH!KT$SV^ zqm_Qbym1peeGawVNq@SyswPU;Gx%BRJh4=rS>dZ6HQqfJQTn~qChbx^<EtObvcK{_ zk~C16_pj}lIBHOT5$=Zsb(`o8aKJi>d9r~Sy)q{tAsiuR#tagfJW=s1m`+r(1JjF? z%+RvhQzav?jFhr8Q!~rtnJjYJ0p5&E3=Hs$8rb{%kV!rR14Atk%K|Y19GTpptOM4* zURjzkZ}MqnMKJF@koR#iw~8E?r=udx<Sj5cQ9xvJtO^fUC`Uz_aq8p_6$L~(*q|cD zIDhhS6$P+@S3m`CC$p)_%Yzci$>*)}yMWeS1!7@@^*~nrWEWK>u#QYsX(lVN$pK>G xljo{JY+0i!&Db{iget^QZ-BhO$sB4B3$)dwnYt7wFHjVl9H%D07NG<(766f6=;;6e delta 1292 zcmez6^TmfZz?+#xgn@~JgP~-9`9|LPjLblK^Lj=BMqVHzP(x$o(wU453<8tSFiF*) z_B(7K;QGC$^{Hv@Ej@v*SsOBr?h<O<Td3CS`ex%XKPIO?*5|lagal{^Nk>n6KF`{? zZcYBY(vw*V%P*+ZSjHEyxg{+-qxkUq@7p&`_j~GJ^PRJBjfuqhrUN^6cvd{z+q?M0 zNv16Y#aj{%#q}*|<@dI7;SEaTRJ9PV*wqu(U4JxmNvl!Kfft$*XNpx5tyK)1Y7CuT z#Bexj)@a-jJ+*6M8|V5HN0_sgO;stG@q4C=?Dr{&Qlek|yP~Ei$83)AN!acyEt=$& zD%tsL_O~e2^9n3e*S}c2=h(c17IwdK_n*96Fj3C1Iy3z?ul1{C*8hW;vL8iF;k@s( zt|yB>jekkKW%s4hFM_vt@9Or<6%`W7<CF>DwaGnva})2kxh+)>L$=3T)OP)QQ0`Z% zeN7`?Ci35!q~%E~%Y&PLZurx-z-J|of$ocyoBrRqb5;NEyA4X5(q|q_xgVe|>nYbD zcUXUcd8>lmO2zeO7P5)edG1IFn~*+Z^Lo$C+y7@=-WM=s>p%5J4u`~Yg>Ft)d8S@m zpzybkZSp@&xB2s{fAOJ2<K_u0cHnrNe35lII6kY{8Xyt-k3F0NED|B$4iQ--$j-<C zifZl+_KK4?3dz@>1;uj9dmGm$)sHL~S;A(?IoLL~xCnO4PR);A{jvW|>z4ff*%zjG z?JfLVm1ckbR^Bt~%c=JT7L}E`MFdXbSySS5`)ki0UGbl?Gq;ELeu>$|pntHEV})Yc z%JXh|e|vHSY?qsy;*}8WezL(cW@iG+GNUys#f!ABIjr8aXDM5KfJS4JT*J=!9Z$qp zK56+9zfhXNE9k|6hNB*l2Vb1*7Vz0~!$6~cj@#pVhh1L>&bhODg?jS+@2>Iu*QU(B z*#CU_^~5VNw>u7bDda9zaqpGg!fUI0*^5o!#i1RxqA$(1Z+IUYV5pgX^}Wkt@sMeg zJ{W!vtXwZIH=X-ZSZe6Ao~JsYd)H*u6`x;!^ZCOWoBs)4SYjUgvR<IS!SLhH{ET`A z)S&()+z$!r9?>1(fOQx1WCJrM%bb9OaGabOGe~6ebj7n^I$g;QOs`NfL(62Zm5jhL z3d+(<wJek8v&c=3R^|Z<WdViuu}*%#Dz6>j&B(;S0ME67+AYn7!N5$qjE#XohyfX7 zOuneBC=ZI=dAS`jx*QA)C4LMH{K!feUQZTOkprt?Snm2t3TTcGGrBphll@c_6~L*) z$cFDWP=6871%fE%^b1bjC@75KI8d^Z2O8>up<(9avnmQ;zkN`VW_&)GM^zro(^HjZ zteotnss!fc19>KsyH!=dPOQG;VKp0Q+CENnCpJtzrwZ}v2NBg6E}$2hf!;-RqW5Gz WHHeLdYSN4?lYQ0H*@Bcnz5oDJS?gc` diff --git a/test/docx/golden/inline_formatting.docx b/test/docx/golden/inline_formatting.docx index ce1d16daafc8e42f2d4db774abaf6e2a4db687a6..e12e3b38d819c75a16d73f067a8cdd429f62ca84 100644 GIT binary patch delta 1316 zcmaFv`_Y#-z?+#xgn@~JgF&#bc_Z(9MrI(rc|D^5BQKB<_*UETk{A;ML;mD5OfvPi z4FvXl*XEd)efs4>4VKf6vlP-7m)SQgx+WyJZ^M!$Pu_c<T-3}^ro6N1V)u&UZ{ECn z6Y${IzfjLh3|5IHZttgQdpQ&bbHt{7`Tno+WAnZIeQR!SG1wEfz?PHo*3w)z?f1E} zRQkdf%!roawyLp~2szX4t~2>sLgK}O0=*BKGwW-j*X~pA;`C*gGHp91!`F29a)5)% z$554n*`5L_pBEN}bG}xZeKMohN_K^qSAoennLka^Q{^JtRNYMKyECTr?D&>v+O%6( z*KLF0T+tJ^xIaZ5T%W)ZxbIkS_1e8nj~~C7-zWc4O+wTBX!Q15|27@1yZO_cbBV9C zn(;543qN)1ox_wiC!RW)Hh0c~ze~##U+Fxa5ZL{IL3+XL_<(DZ6hD4=wOimmd!3Zq zxx|k%{A_mV)$fozC2=o)fzUk9gLi#Sex6|?Kh?&3(~SPyJzC+SUdz0<{%P=C)T;OE zMS8(4yNJZ5=5JFAT+W!<FP|}`|IDtyRd1|JUOo`MRIlnIe&l?8^fvd8OpCMZoN8N_ z>8<{sJ;i!)Lxh3ZhAVt&mzMR3mhLy@ESckFJMGFYhAB?X$`8+5mQT|B{dE<~f}Epw zRHoleIK#g)Qz3^zVeY2SxlILXpZJ5O{89<cJ#5&ycthQjEBBfIZC%EFBk%Qd1>fq~ z|2}8leLlH*e`{>j%yU<#B)?I9ZQLi*xOdL_tBl`odz9F`RC%BN{H#1m659Ni#SWZ? zCfl(s2dAYMYz>e^mCX^(0Twwb;0_Vt7h-4R041~H$fMbl<%D(WwN|V#iEY@$#M!AN zV10Vtwy?+TZyLAM_s`y<IdNC=^N)LrYmS%gwRvIolTm((DR)qcrRM<-?Ws5QPW-N# zdhX<=ovT}u4^>rsz1HZ?s@PepX7ErfrTvA(QpYzApC`DscRo5+b=GiNowuxb^*+|9 zXFqMPHpCP?`NHCJ*Fz<JiAcTjrP|-y*gYH<vhuPq>uzd_+shHxKAU&%r{gO{<z(+{ zi92$!mLtogEOvTnXnyZc?q5GY{khgZOG|iyG~<$$OA}UXXkE7KdTI<Ozsy?sZO4`F zJ(KI3`_;%LHE6E7)E<S&Gg^3e>YsA|`eRGn#ARnr+vuJ$S%2*)^X#*croXLZjpbkN zXDY3^-203DBa?)Xf4%c(Zq(3C7wLzD?oZJj;IP~x=E(+PY?3_z3DeVZX3QXg$t+4| z!Sod+J1{M(Y=)MlBb1H6GQG;uOutwr^RUWIKB3H`0E&>_=Z8%485kI9fmjxZ5x|;l zvM-xFNTEDPp>|8NVK5^D!!kAo1|fthAnWO5I~7H+nt8b$GP)cL3?+UH4E!i+GA7rl z$bsE3Uqzbn(B$1JieTP-AdhGAZxscweo*R=2ioBQEQkbA^ovclQdI!!h*gzlOqpD% zDi7w(2J*g5-ma<y=G_7EHctMbssiT8t4TBdoouZJu_+$NJ2AOh4PweXHEAYBrOCV1 L)Y#4|fouW*(%=`u delta 1390 zcmez9``ni|z?+#xgn@~JgP~-9`9|LPjLblK^Lj=BMqVHz(B-FW0}m4egXQEiOfvP0 z4Mgsq508j5SDbq^qlGDSdFb_vDxVpT-DwEjUy{4v?{7nvpinQh35zn!B2GM?^V@3M zp1O+QNmm;DB<5cD{j^Ky!ks5h;+%gsS4aL?!vAu6sqpi*aIP)tjSFJ$sBHOi?^xiI z3eK*bOE)e!eDB_ZB)dOJf~IW6-EGaqj{YZK{I1XXsvP8#aqIL7L!-3);xhAov#<%q z^C?xV<!DN=6M5&Acy~dXP}IV{>XofRGQGyt`yaR+WuICnDe-l`#MVj7>vqQXUdWqm zW^iN1siKs#GrvV0Tpz%p6aR4Io?~$fKURJ@-|jn$O*vJqK0o|+t=SFT=>K|+CWU8H zoZ?xm_9vdG=Sng2vGlrrQSer+mH4r9Mtq!GIruiP&HC52XcA9nyZQZ~8uvXO%F8!Y zaH#)!@%OzX>%*BMcg~6!ON$yC8~xvO;^?L2DbCBbC;sG==3Qrz-5Y<<X1Bpz&Sf{I z9uhRXo--#Y$j<P!TWRX;MV{RA1^)FJ%oVoJza@86yXVwThOhOivsP*RUmuv)%anBR z#)2Tr87s}NP6(_H_FV9I*Of%irNs`KCKf_^hj%vjSj-K7*|bTuc=DOj=9hM9%i11P zE95#q|6Esb_lLVCS8Yyc>fz@0#T)9LY_R8uKl_qro9#zQkIQ$K{mY5^dh^Mx{KV<& ze3uuUDp>J)l3Uw>IREFb8YF+8RVb<0>>|JZ!54j$gtM8Q)ef9;CVQ|g2dAJ<Yz>g4 zRLT*~0Twwg;0_Uy6k=!O03|L>eTKTp8p1mD42@HlaR-DeC<d}5rQf`KE$hz&+X>&^ z7fv?IUGnZmWzBn;`x|4=m+$heJIJ1Twnrq=PsreqSL!w6Pa9*F@Tc6nbLEg>qV1l_ z*9R6iO*mpFJfpyPlVeHGB?Yqul_wS*b}3BV`%J=n|FXVr-FRl*&wu7+Ip|pyRWU5f zQ<<b3)KxF|vaaSf^O6M@n%J5f#UdTg$FZzGe6=lZXF*nLHGBA4^}>?(O;WwF*HdG! zMkoJks@uD7&-ca4PO&_3W5~?Xl+emqxbkJCWcVRw_t))jH+F2_*;<>vmnU#$$nj1# z{Szu`iO%mPe~PrV)fZo)`Ps<7TS<3yYUIY<?q##<<@;vJf0^HCweO|Z-{uM?p3dd_ z7ye{M4c$VKen{vti|qi1<vuY_HZX%r_5>tQugaM*gG46tDV+t=_mu3ww7jwzT24+< zHc|iu{}laOGuas#7`Cu5Fvu_<gAXi|#aQL|1H2i5Ssz|HOn#^=&1g9Jud)u<U>y}{ zrrT_j8QDc9$Exsvg>qD+8RI5*sK|kND}lTnlaHz>f_X22Jf_L4stWS3sFw%Y?E$nv z5ZP)5p2;q%3b7zHj46I@DL^$>fNBI#)I^CeFr?%s2NdNO6zeAz6zEmt=Abz?@Z|H> z`CUL=SAkd<MfaP@2UV58Az(X|Yl|cs1H&&_1_n_SHOs{&pA{3IETsnVn5LRE<LAk) rY7nnv0(tu;x2h?C4QZ7LIX4HW`8W^*-Gv0cD^5PDrp9(u2_yypBAq3@