From 72b19aa29f9adcab6dd20d1517208f3b999d055e Mon Sep 17 00:00:00 2001 From: Justin Luth Date: Mon, 4 Sep 2017 11:43:09 -0400 Subject: tdf#112208 rtfimport: fix missing paragraph first line indent This is a followup to commit f528f9499bd91b700c549575e88fa102cfffede9 adding ParaFirstLineIndent to that commit's Para(Left|Right)Margin. I also added code for hanging indents, but it doesn't look like that case will ever hit. Just added for completeness. My test unit was created in Word as a hanging indent, but it invokes the firstLine case... Change-Id: I2b04866b9eb4b085503f3b7d3b6e97d4f9e3d19c Reviewed-on: https://gerrit.libreoffice.org/41901 Reviewed-by: Justin Luth Tested-by: Justin Luth --- .../rtfexport/data/tdf112208_hangingIndent.rtf | 89 ++++++++++++++++++++++ sw/qa/extras/rtfexport/rtfexport2.cxx | 6 ++ writerfilter/source/rtftok/rtfsprm.cxx | 2 + 3 files changed, 97 insertions(+) create mode 100644 sw/qa/extras/rtfexport/data/tdf112208_hangingIndent.rtf diff --git a/sw/qa/extras/rtfexport/data/tdf112208_hangingIndent.rtf b/sw/qa/extras/rtfexport/data/tdf112208_hangingIndent.rtf new file mode 100644 index 000000000000..8f3be9e4cbbe --- /dev/null +++ b/sw/qa/extras/rtfexport/data/tdf112208_hangingIndent.rtf @@ -0,0 +1,89 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang2057\deflangfe2057{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f95\froman\fcharset238\fprq2 Times New Roman CE;} +{\f96\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f98\froman\fcharset161\fprq2 Times New Roman Greek;}{\f99\froman\fcharset162\fprq2 Times New Roman Tur;}{\f100\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\f101\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f102\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f103\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f105\fswiss\fcharset238\fprq2 Arial CE;} +{\f106\fswiss\fcharset204\fprq2 Arial Cyr;}{\f108\fswiss\fcharset161\fprq2 Arial Greek;}{\f109\fswiss\fcharset162\fprq2 Arial Tur;}{\f110\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f111\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);} +{\f112\fswiss\fcharset186\fprq2 Arial Baltic;}{\f113\fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0; +\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue1;} +{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \snext0 Normal;}{ +\s1\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs32\alang1025 \ltrch\fcs0 \b\f1\fs32\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon28 \snext29 heading 1;}{ +\s2\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\wrapdefault\faauto\ilvl1\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af1\afs28\alang1025 \ltrch\fcs0 \b\i\f1\fs28\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon28 \snext29 heading 2;}{ +\s3\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\wrapdefault\faauto\ilvl2\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\f1\fs28\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon28 \snext29 heading 3;}{\*\cs10 +\additive \ssemihidden Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{ +\s15\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 \f1\fs24\lang1043\langfe2052\kerning1\cgrid\langnp1043\langfenp2052 \snext15 Default Style;}{\*\cs16 \additive +\ul\lang255\langfe255\langnp255\langfenp255\ulc1 Internetkoppeling;}{\*\cs17 \additive \ul\lang255\langfe255\langnp255\langfenp255\ulc1 Bezochte internetkoppeling;}{\*\cs18 \additive \super Eindnootanker;}{\*\cs19 \additive \super Voetnootanker;}{\*\cs20 +\additive Voetnoottekens;}{\*\cs21 \additive Eindnoottekens;}{\*\cs22 \additive Endnote Characters;}{\*\cs23 \additive \ul\cf9\lang255\langfe255\langnp255\langfenp255 Internet Link;}{\*\cs24 \additive \ul\cf13\lang255\langfe255\langnp255\langfenp255 +Visited Internet Link;}{\*\cs25 \additive \super Endnote Anchor;}{\*\cs26 \additive \super Footnote Anchor;}{\*\cs27 \additive Footnote Characters;}{\s28\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 +\af1\afs28\alang1025 \ltrch\fcs0 \f1\fs28\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon15 \snext29 Heading;}{\s29\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\f1\fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon15 \snext29 Text Body;}{\s30\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 +\f1\fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon29 \snext30 List;}{\s31\ql \li0\ri0\sb120\sa120\nowidctlpar\noline\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ai\af1\afs24\alang1025 \ltrch\fcs0 +\i\f1\fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon15 \snext31 caption;}{\s32\ql \li0\ri0\nowidctlpar\noline\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe2052\kerning1\cgrid\langnp1043\langfenp2052 \sbasedon33 \snext32 Index;}{\s33\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe2052\kerning1\cgrid\langnp1043\langfenp2052 \snext33 Standaard;}{\s34\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs32\alang1081 \ltrch\fcs0 +\b\f1\fs32\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \snext34 Kop 1;}{\s35\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af1\afs28\alang1081 \ltrch\fcs0 +\b\i\f1\fs28\lang1043\langfe2052\kerning1\cgrid\langnp1043\langfenp2052 \snext35 Kop 2;}{\s36\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs26\alang1081 \ltrch\fcs0 +\b\f1\fs26\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \snext36 Kop 3;}{\s37\ql \li0\ri0\sb240\sa120\keepn\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs28\alang1081 \ltrch\fcs0 +\f1\fs28\lang1043\langfe2052\kerning1\cgrid\langnp1043\langfenp2052 \sbasedon33 \snext37 Kop;}{\s38\ql \li0\ri0\sa120\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon33 \snext38 Tekstblok;}{\s39\ql \li0\ri0\sa120\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon38 \snext39 Lijst;}{\s40\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ai\af1\afs24\alang1081 \ltrch\fcs0 +\i\f1\fs24\lang1043\langfe2052\kerning1\cgrid\langnp1043\langfenp2052 \sbasedon33 \snext40 Bijschrift;}{\s41\ql \fi-851\li851\ri0\widctlpar\wrapdefault\faauto\rin0\lin851\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \snext41 item;}{\s42\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1081 \ltrch\fcs0 +\f1\fs20\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon0 \snext42 endnote text;}{\s43\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1081 \ltrch\fcs0 +\f1\fs20\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon0 \snext43 footnote text;}{\s44\ql \fi-851\li851\ri0\widctlpar\wrapdefault\faauto\rin0\lin851\itap0 \cbpat8 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon41 \snext44 genealogie;}{\s45\qc \fi-708\li708\ri0\sb240\sa120\keepn\widctlpar\wrapdefault\faauto\rin0\lin708\itap0 \rtlch\fcs1 \ab\af1\afs24\alang1081 \ltrch\fcs0 +\b\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon37 \snext45 Titel;}{\s46\ql \li0\ri0\sb240\sa120\keepn\widctlpar\tx1134\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ai\af1\afs24\alang1081 \ltrch\fcs0 +\i\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon37 \snext46 Subtitel;}{\s47\ql \li0\ri0\widctlpar\brdrb\brdrs\brdrw10\brsp60\brdrcf17 \tqc\tx4536\tqr\tx9072\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 +\af1\afs20\alang1081 \ltrch\fcs0 \f1\fs20\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon33 \snext47 Koptekst;}{\s48\ql \li0\ri0\widctlpar\tqc\tx4536\tqr\tx9072\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1081 +\ltrch\fcs0 \f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon33 \snext48 Voettekst;}{\s49\ql \li849\ri0\sa120\widctlpar\wrapdefault\faauto\rin0\lin849\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon0 \snext49 List Continue 3;}{\s50\ql \li283\ri0\sa120\widctlpar\wrapdefault\faauto\rin0\lin283\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon0 \snext50 Body Text 2;}{\s51\ql \li708\ri0\widctlpar\wrapdefault\faauto\rin0\lin708\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon0 \snext51 Normal Indent;}{\s52\ql \fi-283\li566\ri0\sa120\widctlpar\wrapdefault\faauto\rin0\lin566\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon39 \snext52 Lijst 2;}{\s53\ql \li566\ri0\sa120\widctlpar\wrapdefault\faauto\rin0\lin566\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon0 \snext53 List Continue 2;}{\s54\ql \fi-1134\li1134\ri0\widctlpar\tx10206\wrapdefault\faauto\rin0\lin1134\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \snext54 Bewoners info;}{\s55\ql \fi-284\li284\ri0\keepn\widctlpar\tx2556\wrapdefault\faauto\rin0\lin284\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \snext55 heerdstijl;}{\s56\ql \li1134\ri0\widctlpar\wrapdefault\faauto\rin0\lin1134\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \snext56 Bewoners Vervolg Info;}{\s57\ql \fi-339\li339\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin339\itap0 \rtlch\fcs1 \af1\afs20\alang1081 \ltrch\fcs0 +\f1\fs20\lang1043\langfe2052\kerning1\cgrid\langnp1043\langfenp2052 \sbasedon33 \snext57 Eindnoot;}{\s58\ql \li2268\ri0\sa120\widctlpar\wrapdefault\faauto\rin0\lin2268\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 +\f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 \sbasedon38 \snext58 Kanttekeningen;}{\s59\ql \fi-339\li339\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin339\itap0 \rtlch\fcs1 \af1\afs20\alang1081 \ltrch\fcs0 +\f1\fs20\lang1043\langfe2052\kerning1\cgrid\langnp1043\langfenp2052 \sbasedon33 \snext59 Voetnoot;}{\s60\ql \fi-339\li339\ri0\nowidctlpar\noline\wrapdefault\faauto\rin0\lin339\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f1\fs20\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon15 \snext60 Endnote;}{\s61\ql \li0\ri0\nowidctlpar\noline\tqc\tx4819\tqr\tx9638\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\f1\fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon15 \snext61 header;}{\s62\ql \li0\ri0\widctlpar\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon0 \snext62 \styrsid14420944 footer;}{\*\cs63 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \styrsid14420944 page number;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable +{\list\listtemplateid1{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-432\li432\lin432 }{\listlevel\levelnfc255\levelnfcn255 +\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-576\li576\lin576 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0 +\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-720\li720\lin720 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 +\ltrch\fcs0 \fi-864\li864\lin864 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1008\li1008\lin1008 }{\listlevel\levelnfc255 +\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1152\li1152\lin1152 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1 +\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1296\li1296\lin1296 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;} +\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1440\li1440\lin1440 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-1584\li1584\lin1584 } +{\listname ;}\listid1}{\list\listtemplateid2{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\lin720 }{\listlevel +\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1080\lin1080 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2 +\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext +\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1800\lin1800 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 +\fi-360\li2160\lin2160 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2520\lin2520 }{\listlevel\levelnfc255\levelnfcn255 +\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0 +\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3240\lin3240 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow2\levelstartat1\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 +\af0 \ltrch\fcs0 \fi-360\li3600\lin3600 }{\listname ;}\listid2}}{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}}{\*\rsidtbl \rsid6751113\rsid12472880\rsid14420944}{\*\generator Microsoft Wo +rd 11.0.0000;}{\info{\title 1687}{\author Jacob Boerema}{\operator JLAutoBuild}{\creatim\yr2017\mo9\dy4\hr17\min19}{\revtim\yr2017\mo9\dy4\hr17\min41}{\printim\yr2004\mo10\dy21\hr16\min33}{\version4}{\edmins11}{\nofpages1}{\nofwords20}{\nofchars120} +{\nofcharsws139}{\vern24611}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw8392\paperh5954\margl2268\margr2268\margt2268\margb2268\gutter0\ltrsect +\deftab709\widowctrl\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\formshade\horzdoc\dgmargin\dghspace187\dgvspace120\dghorigin2268\dgvorigin2268 +\dghshow0\dgvshow3\jcompress\viewkind1\viewscale110\rsidroot6751113\viewbksp1 \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0{\*\background +{\shp{\*\shpinst\shpleft0\shptop0\shpright0\shpbottom0\shpfhdr0\shpbxmargin\shpbxignore\shpbymargin\shpbyignore\shpwr0\shpwrk0\shpfblwtxt1\shpz0\shplid1025{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}} +{\sp{\sn fillColor}{\sv 10079487}}{\sp{\sn fFilled}{\sv 1}}{\sp{\sn lineWidth}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn bWMode}{\sv 9}}{\sp{\sn fBackground}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}}}{\*\ftnsep \ltrpar \pard\plain \ltrpar +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14420944 \chftnsep +\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 {\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid14420944 \chftnsepc +\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 {\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid14420944 \chftnsep +\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 {\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid14420944 \chftnsepc +\par }}\ltrpar \sectd \ltrsect\lndscpsxn\psz70\sbknone\linex0\sectunlocked1\sectlinegrid254\sectdefaultcl\sectrsid12472880\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}} +{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (} +{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar +\s54\ql \fi-1134\li1134\ri0\widctlpar\tx10206\wrapdefault\faauto\rin0\lin1134\itap0 \rtlch\fcs1 \af1\afs24\alang1081 \ltrch\fcs0 \f1\fs24\lang1043\langfe1043\kerning1\cgrid\langnp1043\langfenp1043 {\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\insrsid12472880 +\hich\af1\dbch\af0\loch\f0 hanging}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\insrsid14420944 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\insrsid12472880 \hich\af1\dbch\af0\loch\f0 The rest of this paragraph should follow the word }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \loch\af0\insrsid12472880 \loch\af0\dbch\af0\hich\f1 \'93}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\insrsid12472880 \hich\af1\dbch\af0\loch\f0 hanging}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\insrsid12472880 \loch\af0\dbch\af0\hich\f1 \'94}{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\insrsid12472880 \hich\af1\dbch\af0\loch\f0 and not look like a separate paragraph. \hich\af1\dbch\af0\loch\f0 I}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\insrsid12472880 \loch\af0\dbch\af0\hich\f1 \rquote }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\insrsid12472880 \hich\af1\dbch\af0\loch\f0 m\hich\af1\dbch\af0\loch\f0 a hanging indent\hich\af1\dbch\af0\loch\f0 paragraph.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14420944 +\par }} \ No newline at end of file diff --git a/sw/qa/extras/rtfexport/rtfexport2.cxx b/sw/qa/extras/rtfexport/rtfexport2.cxx index 0e394ca11dfa..e921c6e801a2 100644 --- a/sw/qa/extras/rtfexport/rtfexport2.cxx +++ b/sw/qa/extras/rtfexport/rtfexport2.cxx @@ -980,6 +980,12 @@ DECLARE_RTFEXPORT_TEST(testTdf106953, "tdf106953.rtf") CPPUNIT_ASSERT_EQUAL(beans::PropertyState_DIRECT_VALUE, ePropertyState); } +DECLARE_RTFEXPORT_TEST(testTdf112208, "tdf112208_hangingIndent.rtf") +{ + CPPUNIT_ASSERT_EQUAL(static_cast(-2000), getProperty(getParagraph(1), "ParaFirstLineIndent")); + CPPUNIT_ASSERT_EQUAL(1, getPages()); +} + DECLARE_RTFEXPORT_TEST(testParaBottomMargin, "para-bottom-margin.rtf") { uno::Reference xPropertySet(getStyles("ParagraphStyles")->getByName("Standard"), uno::UNO_QUERY); diff --git a/writerfilter/source/rtftok/rtfsprm.cxx b/writerfilter/source/rtftok/rtfsprm.cxx index ba65fc1a1c0b..bbf2eceef417 100644 --- a/writerfilter/source/rtftok/rtfsprm.cxx +++ b/writerfilter/source/rtftok/rtfsprm.cxx @@ -168,6 +168,8 @@ static bool isSPRMDeduplicateBlacklist(Id nId) // possibly from the numbering. case NS_ooxml::LN_CT_Ind_left: case NS_ooxml::LN_CT_Ind_right: + case NS_ooxml::LN_CT_Ind_firstLine: + case NS_ooxml::LN_CT_Ind_hanging: // \htmautsp arrives after the style table, so only the non-style value is // correct, keep these. case NS_ooxml::LN_CT_Spacing_beforeAutospacing: -- cgit