1 /* This file is part of the wvWare 2 project
2    Copyright (C) 2001 Werner Trobin <trobin@kde.org>
3 
4    This library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Library General Public
6    License version 2 as published by the Free Software Foundation.
7 
8    This library is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11    Library General Public License for more details.
12 
13    You should have received a copy of the GNU Library General Public License
14    along with this library; see the file COPYING.LIB.  If not, write to
15    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16    Boston, MA 02111-1307, USA.
17 */
18 
19 // This code is generated from the Microsoft HTML specification of the
20 // WinWord format. Do NOT edit this code, but fix the spec or the script
21 // generating the sources. If you want to add some additional code, some
22 // includes or any other stuff, please add it to the template file!
23 // For information about the script and the "hidden features" please read
24 // the comments at the begin of the script.
25 
26 // If you find bugs or strange behavior please contact Werner Trobin
27 // <trobin@kde.org>
28 
29 #include <convert.h>
30 
31 #include <QtGlobal>
32 
33 namespace wvWare {
34 
35 namespace Word95 {
36 
37 // This has been added to the template file, as the mapping is
38 // non-trivial. Shaheed: Please check the implementation
toWord97(const Word95::BRC & s)39 Word97::BRC toWord97(const Word95::BRC &s) {
40 
41     Word97::BRC ret;
42 
43     // Check the BRC documentation
44     if ( s.dxpLineWidth < 6 ) {
45         ret.dptLineWidth = s.dxpLineWidth * 6;
46         ret.brcType = s.brcType;
47     }
48     else if ( s.dxpLineWidth == 6 ) {
49         ret.dptLineWidth = 6; // what's the default?
50         ret.brcType = 6; // dotted
51     }
52     else { // s.dxpLineWidth == 7
53         ret.dptLineWidth = 6; // what's the default?
54         ret.brcType = 7;
55     }
56     ret.fShadow = s.fShadow;
57     ret.cv = Word97::icoToCOLORREF(s.ico);
58     ret.dptSpace = s.dxpSpace;
59     return ret;
60 }
61 
toWord97(const Word95::STSHI & s)62 Word97::STSHI toWord97(const Word95::STSHI &s)
63 {
64     Word97::STSHI ret;
65 
66     ret.cstd=s.cstd;
67     ret.cbSTDBaseInFile=s.cbSTDBaseInFile;
68     ret.fStdStylenamesWritten=s.fStdStylenamesWritten;
69     ret.unused4_2=s.unused4_2;
70     ret.stiMaxWhenSaved=s.stiMaxWhenSaved;
71     ret.istdMaxFixedWhenSaved=s.istdMaxFixedWhenSaved;
72     ret.nVerBuiltInNamesWhenSaved=s.nVerBuiltInNamesWhenSaved;
73     ret.rgftcStandardChpStsh[0]=s.ftcStandardChpStsh;
74     ret.rgftcStandardChpStsh[1]=s.ftcStandardChpStsh; // fake them
75     ret.rgftcStandardChpStsh[2]=s.ftcStandardChpStsh; // fake them
76 
77     return ret;
78 }
79 
toWord97(const Word95::ANLD & s)80 Word97::ANLD toWord97(const Word95::ANLD &s) {
81 
82     Word97::ANLD ret;
83 
84     ret.nfc=s.nfc;
85     ret.cxchTextBefore=s.cxchTextBefore;
86     ret.cxchTextAfter=s.cxchTextAfter;
87     ret.jc=s.jc;
88     ret.fPrev=s.fPrev;
89     ret.fHang=s.fHang;
90     ret.fSetBold=s.fSetBold;
91     ret.fSetItalic=s.fSetItalic;
92     ret.fSetSmallCaps=s.fSetSmallCaps;
93     ret.fSetCaps=s.fSetCaps;
94     ret.fSetStrike=s.fSetStrike;
95     ret.fSetKul=s.fSetKul;
96     ret.fPrevSpace=s.fPrevSpace;
97     ret.fBold=s.fBold;
98     ret.fItalic=s.fItalic;
99     ret.fSmallCaps=s.fSmallCaps;
100     ret.fCaps=s.fCaps;
101     ret.fStrike=s.fStrike;
102     ret.kul=s.kul;
103     ret.ico=s.ico;
104     ret.ftc=s.ftc;
105     ret.hps=s.hps;
106     ret.iStartAt=s.iStartAt;
107     ret.dxaIndent=s.dxaIndent;
108     ret.dxaSpace=s.dxaSpace;
109     ret.fNumber1=s.fNumber1;
110     ret.fNumberAcross=s.fNumberAcross;
111     ret.fRestartHdn=s.fRestartHdn;
112     ret.fSpareX=s.fSpareX;
113     for(int i=0;i<(32);++i)
114         ret.rgxch[i]=s.rgchAnld[i];
115 
116     return ret;
117 }
118 
toWord97(const Word95::ANLV & s)119 Word97::ANLV toWord97(const Word95::ANLV &s) {
120 
121     Word97::ANLV ret;
122 
123     ret.nfc=s.nfc;
124     ret.cxchTextBefore=s.cxchTextBefore;
125     ret.cxchTextAfter=s.cxchTextAfter;
126     ret.jc=s.jc;
127     ret.fPrev=s.fPrev;
128     ret.fHang=s.fHang;
129     ret.fSetBold=s.fSetBold;
130     ret.fSetItalic=s.fSetItalic;
131     ret.fSetSmallCaps=s.fSetSmallCaps;
132     ret.fSetCaps=s.fSetCaps;
133     ret.fSetStrike=s.fSetStrike;
134     ret.fSetKul=s.fSetKul;
135     ret.fPrevSpace=s.fPrevSpace;
136     ret.fBold=s.fBold;
137     ret.fItalic=s.fItalic;
138     ret.fSmallCaps=s.fSmallCaps;
139     ret.fCaps=s.fCaps;
140     ret.fStrike=s.fStrike;
141     ret.kul=s.kul;
142     ret.ico=s.ico;
143     ret.ftc=s.ftc;
144     ret.hps=s.hps;
145     ret.iStartAt=s.iStartAt;
146     ret.dxaIndent=s.dxaIndent;
147     ret.dxaSpace=s.dxaSpace;
148 
149     return ret;
150 }
151 
toWord97(const Word95::BKF & s)152 Word97::BKF toWord97(const Word95::BKF &s) {
153 
154     Word97::BKF ret;
155 
156     ret.ibkl=s.ibkl;
157     ret.itcFirst=s.itcFirst;
158     ret.fPub=s.fPub;
159     ret.itcLim=s.itcLim;
160     ret.fCol=s.fCol;
161 
162     return ret;
163 }
164 
toWord97(const Word95::BKL & s)165 Word97::BKL toWord97(const Word95::BKL &s) {
166 
167     Word97::BKL ret;
168 
169     ret.ibkf=s.ibkf;
170 
171     return ret;
172 }
173 
174 /* Please check...
175 Word97::BRC toWord97(const Word95::BRC &s) {
176 
177     Word97::BRC ret;
178 
179     ret.brcType=s.brcType;
180     ret.fShadow=s.fShadow;
181     ret.ico=s.ico;
182 
183     return ret;
184 } */
185 
toWord97(const Word95::BRC10 & s)186 Word97::BRC10 toWord97(const Word95::BRC10 &s) {
187 
188     Word97::BRC10 ret;
189 
190     ret.dxpLine2Width=s.dxpLine2Width;
191     ret.dxpSpaceBetween=s.dxpSpaceBetween;
192     ret.dxpLine1Width=s.dxpLine1Width;
193     ret.dxpSpace=s.dxpSpace;
194     ret.fShadow=s.fShadow;
195     ret.fSpare=s.fSpare;
196 
197     return ret;
198 }
199 
toWord97(const Word95::BTE & s)200 Word97::BTE toWord97(const Word95::BTE &s) {
201 
202     Word97::BTE ret;
203 
204     ret.pn=s.pn;
205 
206     return ret;
207 }
208 
toWord97(const Word95::CHP & s)209 Word97::CHP toWord97(const Word95::CHP &s) {
210 
211     Word97::CHP ret;
212 
213     ret.fBold=s.fBold;
214     ret.fItalic=s.fItalic;
215     ret.fRMarkDel=s.fRMarkDel;
216     ret.fOutline=s.fOutline;
217     ret.fFldVanish=s.fFldVanish;
218     ret.fSmallCaps=s.fSmallCaps;
219     ret.fCaps=s.fCaps;
220     ret.fVanish=s.fVanish;
221     ret.fRMark=s.fRMark;
222     ret.fSpec=s.fSpec;
223     ret.fStrike=s.fStrike;
224     ret.fObj=s.fObj;
225     ret.fShadow=s.fShadow;
226     ret.fLowerCase=s.fLowerCase;
227     ret.fData=s.fData;
228     ret.fOle2=s.fOle2;
229     ret.ftcAscii=s.ftc;
230     ret.hps=s.hps;
231     ret.dxaSpace=s.dxaSpace;
232     ret.iss=s.iss;
233     ret.fSysVanish=s.fSysVanish;
234     ret.cv= Word97::icoToCOLORREF(s.ico);
235     ret.kul=s.kul;
236     ret.hpsPos=s.hpsPos;
237     ret.lid=s.lid;
238     ret.fcPic_fcObj_lTagObj=s.fcPic_fcObj_lTagObj;
239     ret.ibstRMark=s.ibstRMark;
240     ret.dttmRMark=toWord97(s.dttmRMark);
241     ret.istd=s.istd;
242     ret.ftcSym=s.ftcSym;
243     ret.xchSym=s.chSym;
244     ret.fChsDiff=s.fChsDiff;
245     ret.idslRMReason=s.idslRMReason;
246     ret.ysr=s.ysr;
247     ret.chYsr=s.chYsr;
248     ret.chse=s.chse;
249     ret.hpsKern=s.hpsKern;
250 
251     return ret;
252 }
253 
254 /* Please check...
255 Word97::CHPX toWord97(const Word95::CHPX &s) {
256 
257     Word97::CHPX ret;
258 
259     ret.cb=s.cb;
260     ret.grpprl=s.grpprl;
261 
262     return ret;
263 } */
264 
265 /* Please check...
266 Word97::CHPXFKP toWord97(const Word95::CHPXFKP &s) {
267 
268     Word97::CHPXFKP ret;
269 
270     ret.rgb=s.rgb;
271     ret.unusedSpace=s.unusedSpace;
272     ret.grpchpx=s.grpchpx;
273     ret.crun=s.crun;
274 
275     return ret;
276 } */
277 
toWord97(const Word95::DCS & s)278 Word97::DCS toWord97(const Word95::DCS &s) {
279 
280     Word97::DCS ret;
281 
282     ret.fdct=s.fdct;
283     ret.lines=s.lines;
284     ret.unused1=s.unused1;
285 
286     return ret;
287 }
288 
toWord97(const Word95::DOP & s)289 Word97::DOP toWord97(const Word95::DOP &s) {
290 
291     Word97::DOP ret;
292 
293     ret.fFacingPages=s.fFacingPages;
294     ret.fWidowControl=s.fWidowControl;
295     ret.fPMHMainDoc=s.fPMHMainDoc;
296     ret.grfSuppression=s.grfSuppression;
297     ret.fpc=s.fpc;
298     ret.unused0_7=s.unused0_7;
299     ret.grpfIhdt=s.grpfIhdt;
300     ret.rncFtn=s.rncFtn;
301     ret.nFtn=s.nFtn;
302     ret.fOutlineDirtySave=s.fOutlineDirtySave;
303     ret.unused4_1=s.unused4_1;
304     ret.fOnlyMacPics=s.fOnlyMacPics;
305     ret.fOnlyWinPics=s.fOnlyWinPics;
306     ret.fLabelDoc=s.fLabelDoc;
307     ret.fHyphCapitals=s.fHyphCapitals;
308     ret.fAutoHyphen=s.fAutoHyphen;
309     ret.fFormNoFields=s.fFormNoFields;
310     ret.fLinkStyles=s.fLinkStyles;
311     ret.fRevMarking=s.fRevMarking;
312     ret.fBackup=s.fBackup;
313     ret.fExactCWords=s.fExactCWords;
314     ret.fPagHidden=s.fPagHidden;
315     ret.fPagResults=s.fPagResults;
316     ret.fLockAtn=s.fLockAtn;
317     ret.fMirrorMargins=s.fMirrorMargins;
318     ret.fDfltTrueType=s.fDfltTrueType;
319     ret.fPagSuppressTopSpacing=s.fPagSuppressTopSpacing;
320     ret.fProtEnabled=s.fProtEnabled;
321     ret.fDispFormFldSel=s.fDispFormFldSel;
322     ret.fRMView=s.fRMView;
323     ret.fRMPrint=s.fRMPrint;
324     ret.fLockRev=s.fLockRev;
325     ret.fEmbedFonts=s.fEmbedFonts;
326     ret.copts_fNoTabForInd=s.copts_fNoTabForInd;
327     ret.copts_fNoSpaceRaiseLower=s.copts_fNoSpaceRaiseLower;
328     ret.copts_fSuppressSpbfAfterPageBreak=s.copts_fSuppressSpbfAfterPageBreak;
329     ret.copts_fWrapTrailSpaces=s.copts_fWrapTrailSpaces;
330     ret.copts_fMapPrintTextColor=s.copts_fMapPrintTextColor;
331     ret.copts_fNoColumnBalance=s.copts_fNoColumnBalance;
332     ret.copts_fConvMailMergeEsc=s.copts_fConvMailMergeEsc;
333     ret.copts_fSupressTopSpacing=s.copts_fSupressTopSpacing;
334     ret.copts_fOrigWordTableRules=s.copts_fOrigWordTableRules;
335     ret.copts_fTransparentMetafiles=s.copts_fTransparentMetafiles;
336     ret.copts_fShowBreaksInFrames=s.copts_fShowBreaksInFrames;
337     ret.copts_fSwapBordersFacingPgs=s.copts_fSwapBordersFacingPgs;
338     ret.unused8_12=s.unused8_12;
339     ret.dxaTab=s.dxaTab;
340     ret.wSpare=s.wSpare;
341     ret.dxaHotZ=s.dxaHotZ;
342     ret.cConsecHypLim=s.cConsecHypLim;
343     ret.wSpare2=s.wSpare2;
344     ret.dttmCreated=toWord97(s.dttmCreated);
345     ret.dttmRevised=toWord97(s.dttmRevised);
346     ret.dttmLastPrint=toWord97(s.dttmLastPrint);
347     ret.nRevision=s.nRevision;
348     ret.tmEdited=s.tmEdited;
349     ret.cWords=s.cWords;
350     ret.cCh=s.cCh;
351     ret.cPg=s.cPg;
352     ret.cParas=s.cParas;
353     ret.rncEdn=s.rncEdn;
354     ret.nEdn=s.nEdn;
355     ret.epc=s.epc;
356     ret.nfcFtnRef2=s.nfcFtnRef;
357     ret.nfcEdnRef2=s.nfcEdnRef;
358     ret.fPrintFormData=s.fPrintFormData;
359     ret.fSaveFormData=s.fSaveFormData;
360     ret.fShadeFormData=s.fShadeFormData;
361     ret.unused54_13=s.unused54_13;
362     ret.fWCFtnEdn=s.fWCFtnEdn;
363     ret.cLines=s.cLines;
364     ret.cWordsFtnEnd=s.cWordsFtnEnd;
365     ret.cChFtnEdn=s.cChFtnEdn;
366     ret.cPgFtnEdn=s.cPgFtnEdn;
367     ret.cParasFtnEdn=s.cParasFtnEdn;
368     ret.cLinesFtnEdn=s.cLinesFtnEdn;
369     ret.lKeyProtDoc=s.lKeyProtDoc;
370     ret.wvkSaved=s.wvkSaved;
371     ret.wScaleSaved=s.wScaleSaved;
372     ret.zkSaved=s.zkSaved;
373 
374     return ret;
375 }
376 
toWord97(const Word95::DTTM & s)377 Word97::DTTM toWord97(const Word95::DTTM &s) {
378 
379     Word97::DTTM ret;
380 
381     ret.mint=s.mint;
382     ret.hr=s.hr;
383     ret.dom=s.dom;
384     ret.mon=s.mon;
385     ret.yr=s.yr;
386     ret.wdy=s.wdy;
387 
388     return ret;
389 }
390 
391 /* Please check...
392 Word97::FFN toWord97(const Word95::FFN &s) {
393 
394     Word97::FFN ret;
395 
396     ret.cbFfnM1=s.cbFfnM1;
397     ret.prq=s.prq;
398     ret.fTrueType=s.fTrueType;
399     ret.unused1_3=s.unused1_3;
400     ret.ff=s.ff;
401     ret.unused1_7=s.unused1_7;
402     ret.wWeight=s.wWeight;
403     ret.chs=s.chs;
404     ret.ixchSzAlt=s.ibszAlt;
405     ret.xszFfn=s.szFfn;
406 
407     return ret;
408 } */
409 
toWord97(const Word95::FIB & s)410 Word97::FIB toWord97(const Word95::FIB &s) {
411 
412     Word97::FIB ret;
413 
414     ret.wIdent=s.wIdent;
415     ret.nFib=s.nFib;
416     ret.nProduct=s.nProduct;
417     ret.lid=s.lid;
418     ret.pnNext=s.pnNext;
419     ret.fDot=s.fDot;
420     ret.fGlsy=s.fGlsy;
421     ret.fComplex=s.fComplex;
422     ret.fHasPic=s.fHasPic;
423     ret.cQuickSaves=s.cQuickSaves;
424     ret.fEncrypted=s.fEncrypted;
425     ret.fReadOnlyRecommended=s.fReadOnlyRecommended;
426     ret.fWriteReservation=s.fWriteReservation;
427     ret.fExtChar=s.fExtChar;
428     ret.nFibBack=s.nFibBack;
429     ret.lKey=s.lKey;
430     ret.envr=s.envr;
431     ret.chs=s.chse;
432     ret.chsTables=s.chseTables;
433     ret.fcMin=s.fcMin;
434     ret.fcMac=s.fcMac;
435     ret.cbMac=s.cbMac;
436     ret.ccpText=s.ccpText;
437     ret.ccpFtn=s.ccpFtn;
438     ret.ccpHdd=s.ccpHdd;
439     ret.ccpMcr=s.ccpMcr;
440     ret.ccpAtn=s.ccpAtn;
441     ret.ccpEdn=s.ccpEdn;
442     ret.ccpTxbx=s.ccpTxbx;
443     ret.ccpHdrTxbx=s.ccpHdrTxbx;
444     ret.fcStshfOrig=s.fcStshfOrig;
445     ret.lcbStshfOrig=s.lcbStshfOrig;
446     ret.fcStshf=s.fcStshf;
447     ret.lcbStshf=s.lcbStshf;
448     ret.fcPlcffndRef=s.fcPlcffndRef;
449     ret.lcbPlcffndRef=s.lcbPlcffndRef;
450     ret.fcPlcffndTxt=s.fcPlcffndTxt;
451     ret.lcbPlcffndTxt=s.lcbPlcffndTxt;
452     ret.fcPlcfandRef=s.fcPlcfandRef;
453     ret.lcbPlcfandRef=s.lcbPlcfandRef;
454     ret.fcPlcfandTxt=s.fcPlcfandTxt;
455     ret.lcbPlcfandTxt=s.lcbPlcfandTxt;
456     ret.fcPlcfsed=s.fcPlcfsed;
457     ret.lcbPlcfsed=s.lcbPlcfsed;
458     ret.fcPlcfpad=s.fcPlcfpad;
459     ret.lcbPlcfpad=s.lcbPlcfpad;
460     ret.fcPlcfphe=s.fcPlcfphe;
461     ret.lcbPlcfphe=s.lcbPlcfphe;
462     ret.fcSttbfglsy=s.fcSttbfglsy;
463     ret.lcbSttbfglsy=s.lcbSttbfglsy;
464     ret.fcPlcfglsy=s.fcPlcfglsy;
465     ret.lcbPlcfglsy=s.lcbPlcfglsy;
466     ret.fcPlcfhdd=s.fcPlcfhdd;
467     ret.lcbPlcfhdd=s.lcbPlcfhdd;
468     ret.fcPlcfbteChpx=s.fcPlcfbteChpx;
469     ret.lcbPlcfbteChpx=s.lcbPlcfbteChpx;
470     ret.fcPlcfbtePapx=s.fcPlcfbtePapx;
471     ret.lcbPlcfbtePapx=s.lcbPlcfbtePapx;
472     ret.fcPlcfsea=s.fcPlcfsea;
473     ret.lcbPlcfsea=s.lcbPlcfsea;
474     ret.fcSttbfffn=s.fcSttbfffn;
475     ret.lcbSttbfffn=s.lcbSttbfffn;
476     ret.fcPlcffldMom=s.fcPlcffldMom;
477     ret.lcbPlcffldMom=s.lcbPlcffldMom;
478     ret.fcPlcffldHdr=s.fcPlcffldHdr;
479     ret.lcbPlcffldHdr=s.lcbPlcffldHdr;
480     ret.fcPlcffldFtn=s.fcPlcffldFtn;
481     ret.lcbPlcffldFtn=s.lcbPlcffldFtn;
482     ret.fcPlcffldAtn=s.fcPlcffldAtn;
483     ret.lcbPlcffldAtn=s.lcbPlcffldAtn;
484     ret.fcPlcffldMcr=s.fcPlcffldMcr;
485     ret.lcbPlcffldMcr=s.lcbPlcffldMcr;
486     ret.fcSttbfbkmk=s.fcSttbfbkmk;
487     ret.lcbSttbfbkmk=s.lcbSttbfbkmk;
488     ret.fcPlcfbkf=s.fcPlcfbkf;
489     ret.lcbPlcfbkf=s.lcbPlcfbkf;
490     ret.fcPlcfbkl=s.fcPlcfbkl;
491     ret.lcbPlcfbkl=s.lcbPlcfbkl;
492     ret.fcCmds=s.fcCmds;
493     ret.lcbCmds=s.lcbCmds;
494     ret.fcPlcmcr=s.fcPlcmcr;
495     ret.lcbPlcmcr=s.lcbPlcmcr;
496     ret.fcSttbfmcr=s.fcSttbfmcr;
497     ret.lcbSttbfmcr=s.lcbSttbfmcr;
498     ret.fcPrDrvr=s.fcPrDrvr;
499     ret.lcbPrDrvr=s.lcbPrDrvr;
500     ret.fcPrEnvPort=s.fcPrEnvPort;
501     ret.lcbPrEnvPort=s.lcbPrEnvPort;
502     ret.fcPrEnvLand=s.fcPrEnvLand;
503     ret.lcbPrEnvLand=s.lcbPrEnvLand;
504     ret.fcWss=s.fcWss;
505     ret.lcbWss=s.lcbWss;
506     ret.fcDop=s.fcDop;
507     ret.lcbDop=s.lcbDop;
508     ret.fcSttbfAssoc=s.fcSttbfAssoc;
509     ret.lcbSttbfAssoc=s.lcbSttbfAssoc;
510     ret.fcClx=s.fcClx;
511     ret.lcbClx=s.lcbClx;
512     ret.fcPlcfpgdFtn=s.fcPlcfpgdFtn;
513     ret.lcbPlcfpgdFtn=s.lcbPlcfpgdFtn;
514     ret.fcAutosaveSource=s.fcAutosaveSource;
515     ret.lcbAutosaveSource=s.lcbAutosaveSource;
516     ret.fcGrpXstAtnOwners=s.fcGrpStAtnOwners;
517     ret.lcbGrpXstAtnOwners=s.lcbGrpStAtnOwners;
518     ret.fcSttbfAtnbkmk=s.fcSttbfAtnbkmk;
519     ret.lcbSttbfAtnbkmk=s.lcbSttbfAtnbkmk;
520     ret.pnChpFirst=s.pnChpFirst;
521     ret.pnPapFirst=s.pnPapFirst;
522     ret.cpnBteChp=s.cpnBteChp;
523     ret.cpnBtePap=s.cpnBtePap;
524     ret.fcPlcdoaMom=s.fcPlcfdoaMom;
525     ret.lcbPlcdoaMom=s.lcbPlcfdoaMom;
526     ret.fcPlcdoaHdr=s.fcPlcfdoaHdr;
527     ret.lcbPlcdoaHdr=s.lcbPlcfdoaHdr;
528     ret.fcPlcfAtnbkf=s.fcPlcfAtnbkf;
529     ret.lcbPlcfAtnbkf=s.lcbPlcfAtnbkf;
530     ret.fcPlcfAtnbkl=s.fcPlcfAtnbkl;
531     ret.lcbPlcfAtnbkl=s.lcbPlcfAtnbkl;
532     ret.fcPms=s.fcPms;
533     ret.lcbPms=s.lcbPms;
534     ret.fcFormFldSttbf=s.fcFormFldSttbf;
535     ret.lcbFormFldSttbf=s.lcbFormFldSttbf;
536     ret.fcPlcfendRef=s.fcPlcfendRef;
537     ret.lcbPlcfendRef=s.lcbPlcfendRef;
538     ret.fcPlcfendTxt=s.fcPlcfendTxt;
539     ret.lcbPlcfendTxt=s.lcbPlcfendTxt;
540     ret.fcPlcffldEdn=s.fcPlcffldEdn;
541     ret.lcbPlcffldEdn=s.lcbPlcffldEdn;
542     ret.fcPlcfpgdEdn=s.fcPlcfpgdEdn;
543     ret.lcbPlcfpgdEdn=s.lcbPlcfpgdEdn;
544     ret.fcSttbfRMark=s.fcSttbfRMark;
545     ret.lcbSttbfRMark=s.lcbSttbfRMark;
546     ret.fcSttbfCaption=s.fcSttbfCaption;
547     ret.lcbSttbfCaption=s.lcbSttbfCaption;
548     ret.fcSttbfAutoCaption=s.fcSttbfAutoCaption;
549     ret.lcbSttbfAutoCaption=s.lcbSttbfAutoCaption;
550     ret.fcPlcfwkb=s.fcPlcfwkb;
551     ret.lcbPlcfwkb=s.lcbPlcfwkb;
552     ret.fcPlcftxbxTxt=s.fcPlcftxbxTxt;
553     ret.lcbPlcftxbxTxt=s.lcbPlcftxbxTxt;
554     ret.fcPlcffldTxbx=s.fcPlcffldTxbx;
555     ret.lcbPlcffldTxbx=s.lcbPlcffldTxbx;
556     ret.fcPlcfHdrtxbxTxt=s.fcPlcfHdrtxbxTxt;
557     ret.lcbPlcfHdrtxbxTxt=s.lcbPlcfHdrtxbxTxt;
558     ret.fcPlcffldHdrTxbx=s.fcPlcffldHdrTxbx;
559     ret.lcbPlcffldHdrTxbx=s.lcbPlcffldHdrTxbx;
560     ret.fcStwUser=s.fcStwUser;
561     ret.lcbStwUser=s.lcbStwUser;
562     ret.fcSttbttmbd=s.fcSttbttmbd;
563     ret.lcbSttbttmbd=s.lcbSttbttmbd;
564     ret.fcUnused=s.fcUnused;
565     ret.lcbUnused=s.lcbUnused;
566     ret.fcPgdMother=s.fcPgdMother;
567     ret.lcbPgdMother=s.lcbPgdMother;
568     ret.fcBkdMother=s.fcBkdMother;
569     ret.lcbBkdMother=s.lcbBkdMother;
570     ret.fcPgdFtn=s.fcPgdFtn;
571     ret.lcbPgdFtn=s.lcbPgdFtn;
572     ret.fcBkdFtn=s.fcBkdFtn;
573     ret.lcbBkdFtn=s.lcbBkdFtn;
574     ret.fcPgdEdn=s.fcPgdEdn;
575     ret.lcbPgdEdn=s.lcbPgdEdn;
576     ret.fcBkdEdn=s.fcBkdEdn;
577     ret.lcbBkdEdn=s.lcbBkdEdn;
578     ret.fcSttbfIntlFld=s.fcSttbfIntlFld;
579     ret.lcbSttbfIntlFld=s.lcbSttbfIntlFld;
580     ret.fcRouteSlip=s.fcRouteSlip;
581     ret.lcbRouteSlip=s.lcbRouteSlip;
582     ret.fcSttbSavedBy=s.fcSttbSavedBy;
583     ret.lcbSttbSavedBy=s.lcbSttbSavedBy;
584     ret.fcSttbFnm=s.fcSttbFnm;
585     ret.lcbSttbFnm=s.lcbSttbFnm;
586 
587     return ret;
588 }
589 
590 /* Please check...
591 Word97::FLD toWord97(const Word95::FLD &s) {
592 
593     Word97::FLD ret;
594 
595     ret.ch=s.ch;
596 
597     return ret;
598 } */
599 
toWord97(const Word95::LSPD & s)600 Word97::LSPD toWord97(const Word95::LSPD &s) {
601 
602     Word97::LSPD ret;
603 
604     ret.dyaLine=s.dyaLine;
605     ret.fMultLinespace=s.fMultLinespace;
606 
607     return ret;
608 }
609 
toWord97(const Word95::METAFILEPICT & s)610 Word97::METAFILEPICT toWord97(const Word95::METAFILEPICT &s) {
611 
612     Word97::METAFILEPICT ret;
613 
614     ret.mm=s.mm;
615     ret.xExt=s.xExt;
616     ret.yExt=s.yExt;
617     ret.hMF=s.hMF;
618 
619     return ret;
620 }
621 
toWord97(const Word95::OBJHEADER & s)622 Word97::OBJHEADER toWord97(const Word95::OBJHEADER &s) {
623 
624     Word97::OBJHEADER ret;
625 
626     ret.lcb=s.lcb;
627     ret.cbHeader=s.cbHeader;
628     ret.icf=s.icf;
629 
630     return ret;
631 }
632 
toWord97(const Word95::OLST & s)633 Word97::OLST toWord97(const Word95::OLST &s) {
634 
635     Word97::OLST ret;
636 
637     for(int i=0;i<(9);++i)
638         ret.rganlv[i]=toWord97(s.rganlv[i]);
639     ret.fRestartHdr=s.fRestartHdr;
640     ret.fSpareOlst2=s.fSpareOlst2;
641     ret.fSpareOlst3=s.fSpareOlst3;
642     ret.fSpareOlst4=s.fSpareOlst4;
643     for(int i=0;i<(32);++i)
644         ret.rgxch[i]=s.rgch[i];
645 
646     return ret;
647 }
648 
toWord97(const Word95::PAP & s)649 Word97::PAP toWord97(const Word95::PAP &s) {
650 
651     Word97::PAP ret;
652 
653     ret.istd=s.istd;
654     ret.jc=s.jc;
655     ret.fKeep=s.fKeep;
656     ret.fKeepFollow=s.fKeepFollow;
657     ret.fPageBreakBefore=s.fPageBreakBefore;
658     ret.fBrLnAbove=s.fBrLnAbove;
659     ret.fBrLnBelow=s.fBrLnBelow;
660     ret.fUnused=s.fUnused;
661     ret.pcVert=s.pcVert;
662     ret.pcHorz=s.pcHorz;
663     ret.brcp=s.brcp;
664     ret.brcl=s.brcl;
665     ret.unused9=s.unused9;
666     ret.nLvlAnm=s.nLvlAnm;
667     ret.fNoLnn=s.fNoLnn;
668     ret.fSideBySide=s.fSideBySide;
669     ret.dxaRight=s.dxaRight;
670     ret.dxaLeft=s.dxaLeft;
671     ret.dxaLeft1=s.dxaLeft1;
672     ret.lspd=toWord97(s.lspd);
673     ret.dyaBefore=s.dyaBefore;
674     ret.dyaAfter=s.dyaAfter;
675     ret.phe=toWord97(s.phe);
676     ret.fWidowControl=s.fWidowControl;
677     ret.fInTable=s.fInTable;
678     ret.fTtp=s.fTtp;
679     ret.ptap=s.ptap;
680     ret.dxaAbs=s.dxaAbs;
681     ret.dyaAbs=s.dyaAbs;
682     ret.dxaWidth=s.dxaWidth;
683     ret.brcTop=toWord97(s.brcTop);
684     ret.brcLeft=toWord97(s.brcLeft);
685     ret.brcBottom=toWord97(s.brcBottom);
686     ret.brcRight=toWord97(s.brcRight);
687     ret.brcBetween=toWord97(s.brcBetween);
688     ret.brcBar=toWord97(s.brcBar);
689     ret.dxaFromText=s.dxaFromText;
690     ret.dyaFromText=s.dyaFromText;
691     ret.wr=s.wr;
692     ret.fLocked=s.fLocked;
693     ret.dyaHeight=s.dyaHeight;
694     ret.fMinHeight=s.fMinHeight;
695     ret.shd=toWord97(s.shd);
696     ret.dcs=toWord97(s.dcs);
697     ret.anld=toWord97(s.anld);
698     ret.itbdMac=s.itbdMac;
699 
700     return ret;
701 }
702 
703 /* Please check...
704 Word97::PAPX toWord97(const Word95::PAPX &s) {
705 
706     Word97::PAPX ret;
707 
708     ret.cw=s.cw;
709     ret.cb=s.cb;
710 
711     return ret;
712 } */
713 
714 /* Please check...
715 Word97::PAPXFKP toWord97(const Word95::PAPXFKP &s) {
716 
717     Word97::PAPXFKP ret;
718 
719     ret.rgfc=s.rgfc;
720     ret.rgbx=s.rgbx;
721     ret.grppapx=s.grppapx;
722     ret.crun=s.crun;
723 
724     return ret;
725 } */
726 
toWord97(const Word95::PCD & s)727 Word97::PCD toWord97(const Word95::PCD &s) {
728 
729     Word97::PCD ret;
730 
731     ret.fNoParaLast=s.fNoParaLast;
732     ret.fPaphNil=s.fPaphNil;
733     ret.fCopied=s.fCopied;
734     ret.unused0_3=s.unused0_3;
735     ret.fn=s.fn;
736     ret.fc=s.fc;
737     ret.prm=toWord97(s.prm);
738 
739     return ret;
740 }
741 
742 /* Please check...
743 Word97::PGD toWord97(const Word95::PGD &s) {
744 
745     Word97::PGD ret;
746 
747     ret.fContinue=s.fContinue;
748     ret.fUnk=s.fUnk;
749     ret.fRight=s.fRight;
750     ret.fPgnRestart=s.fPgnRestart;
751     ret.fEmptyPage=s.fEmptyPage;
752     ret.fAllFtn=s.fAllFtn;
753     ret.fTableBreaks=s.fTableBreaks;
754     ret.fMarked=s.fMarked;
755     ret.fColumnBreaks=s.fColumnBreaks;
756     ret.fTableHeader=s.fTableHeader;
757     ret.fNewPage=s.fNewPage;
758     ret.bkc=s.bkc;
759     ret.lnn=s.lnn;
760     ret.pgn=s.pgn;
761 
762     return ret;
763 } */
764 
toWord97(const Word95::PHE & s)765 Word97::PHE toWord97(const Word95::PHE &s) {
766 
767     Word97::PHE ret;
768 
769     ret.fSpare=s.fSpare;
770     ret.fUnk=s.fUnk;
771     ret.fDiffLines=s.fDiffLines;
772     ret.unused0_3=s.unused0_3;
773     ret.clMac=s.clMac;
774     ret.dxaCol=s.dxaCol;
775     ret.dym=s.dylLine_dylHeight;
776 
777     return ret;
778 }
779 
toWord97(const Word95::PICF & s)780 Word97::PICF toWord97(const Word95::PICF &s) {
781 
782     Word97::PICF ret;
783 
784     ret.lcb=s.lcb;
785     ret.cbHeader=s.cbHeader;
786     ret.mfp=toWord97(s.mfp);
787     for(int i=0;i<(14);++i)
788         ret.bm_rcWinMF[i]=s.bm_rcWinMF[i];
789     ret.dxaGoal=s.dxaGoal;
790     ret.dyaGoal=s.dyaGoal;
791     ret.mx=s.mx;
792     ret.my=s.my;
793     ret.dxaCropLeft=s.dxaCropLeft;
794     ret.dyaCropTop=s.dyaCropTop;
795     ret.dxaCropRight=s.dxaCropRight;
796     ret.dyaCropBottom=s.dyaCropBottom;
797     ret.brcl=s.brcl;
798     ret.fFrameEmpty=s.fFrameEmpty;
799     ret.fBitmap=s.fBitmap;
800     ret.fDrawHatch=s.fDrawHatch;
801     ret.fError=s.fError;
802     ret.bpp=s.bpp;
803     ret.brcTop=toWord97(s.brcTop);
804     ret.brcLeft=toWord97(s.brcLeft);
805     ret.brcBottom=toWord97(s.brcBottom);
806     ret.brcRight=toWord97(s.brcRight);
807     ret.dxaOrigin=s.dxaOrigin;
808     ret.dyaOrigin=s.dyaOrigin;
809 
810     return ret;
811 }
812 
813 /* Please check...
814 Word97::PLCF toWord97(const Word95::PLCF &s) {
815 
816     Word97::PLCF ret;
817 
818     ret.rgfc=s.rgfc;
819 
820     return ret;
821 } */
822 
toWord97(const Word95::PRM & s)823 Word97::PRM toWord97(const Word95::PRM &s) {
824 
825     Word97::PRM ret;
826 
827     ret.fComplex=s.fComplex;
828     ret.isprm=s.sprm;
829     ret.val=s.val;
830 
831     return ret;
832 }
833 
toWord97(const Word95::PRM2 & s)834 Word97::PRM2 toWord97(const Word95::PRM2 &s) {
835 
836     Word97::PRM2 ret;
837 
838     ret.fComplex=s.fComplex;
839     ret.igrpprl=s.igrpprl;
840 
841     return ret;
842 }
843 
toWord97(const Word95::SED & s)844 Word97::SED toWord97(const Word95::SED &s) {
845 
846     Word97::SED ret;
847 
848     ret.fcSepx=s.fcSepx;
849     ret.fnMpr=s.fnMpr;
850     ret.fcMpr=s.fcMpr;
851 
852     return ret;
853 }
854 
toWord97(const Word95::SEP & s)855 Word97::SEP toWord97(const Word95::SEP &s) {
856 
857     Word97::SEP ret;
858 
859     ret.bkc=s.bkc;
860     ret.fTitlePage=s.fTitlePage;
861     ret.ccolM1=s.ccolM1;
862     ret.dxaColumns=s.dxaColumns;
863     ret.fAutoPgn=s.fAutoPgn;
864     ret.nfcPgn=s.nfcPgn;
865     ret.pgnStart=s.pgnStart;
866     ret.fUnlocked=s.fUnlocked;
867     ret.cnsPgn=s.cnsPgn;
868     ret.fPgnRestart=s.fPgnRestart;
869     ret.fEndNote=s.fEndNote;
870     ret.lnc=s.lnc;
871     ret.grpfIhdt=s.grpfIhdt;
872     ret.nLnnMod=s.nLnnMod;
873     ret.dxaLnn=s.dxaLnn;
874     ret.dyaHdrTop=s.dyaHdrTop;
875     ret.dyaHdrBottom=s.dyaHdrBottom;
876     ret.dxaPgn=s.dxaPgn;
877     ret.dyaPgn=s.dyaPgn;
878     ret.fLBetween=s.fLBetween;
879     ret.vjc=s.vjc;
880     ret.lnnMin=s.lnnMin;
881     ret.dmOrientPage=s.dmOrientPage;
882     ret.iHeadingPgn=s.iHeadingPgn;
883     ret.xaPage=s.xaPage;
884     ret.yaPage=s.yaPage;
885     ret.dxaLeft=s.dxaLeft;
886     ret.dxaRight=s.dxaRight;
887     ret.dyaTop=qAbs(s.dyaTop);
888     ret.dyaBottom=qAbs(s.dyaBottom);
889     ret.dzaGutter=s.dzaGutter;
890     ret.dmBinFirst=s.dmBinFirst;
891     ret.dmBinOther=s.dmBinOther;
892     ret.dmPaperReq=s.dmPaperReq;
893     ret.fEvenlySpaced=s.fEvenlySpaced;
894     ret.dxaColumnWidth=s.dxaColumnWidth;
895     for(int i=0;i<(89);++i)
896         ret.rgdxaColumnWidthSpacing[i]=s.rgdxaColumnWidthSpacing[i];
897     ret.olstAnm=toWord97(s.olstAnm);
898 
899     return ret;
900 }
901 
902 /* Please check...
903 Word97::SEPX toWord97(const Word95::SEPX &s) {
904 
905     Word97::SEPX ret;
906 
907     ret.grpprl=s.grpprl;
908 
909     return ret;
910 } */
911 
toWord97(const Word95::SHD & s)912 Word97::SHD toWord97(const Word95::SHD &s) {
913 
914     Word97::SHD ret;
915 
916     ret.cvFore=Word97::icoToCOLORREF(s.icoFore);
917     ret.cvBack=Word97::icoToCOLORREF(s.icoBack);
918     ret.ipat=s.ipat;
919 
920     return ret;
921 }
922 
923 /* Please check...
924 Word97::STSHI toWord97(const Word95::STSHI &s) {
925 
926     Word97::STSHI ret;
927 
928     ret.cstd=s.cstd;
929     ret.cbSTDBaseInFile=s.cbSTDBaseInFile;
930     ret.fStdStylenamesWritten=s.fStdStylenamesWritten;
931     ret.unused4_2=s.unused4_2;
932     ret.stiMaxWhenSaved=s.stiMaxWhenSaved;
933     ret.istdMaxFixedWhenSaved=s.istdMaxFixedWhenSaved;
934     ret.nVerBuiltInNamesWhenSaved=s.nVerBuiltInNamesWhenSaved;
935 
936     return ret;
937 } */
938 
toWord97(const Word95::TAP & s)939 Word97::TAP toWord97(const Word95::TAP &s) {
940 
941     Word97::TAP ret;
942 
943     ret.jc=s.jc;
944     ret.dxaGapHalf=s.dxaGapHalf;
945     ret.dyaRowHeight=s.dyaRowHeight;
946     ret.fCantSplit=s.fCantSplit;
947     ret.fTableHeader=s.fTableHeader;
948     ret.tlp=toWord97(s.tlp);
949     ret.fCaFull=s.fCaFull;
950     ret.fFirstRow=s.fFirstRow;
951     ret.fLastRow=s.fLastRow;
952     ret.fOutline=s.fOutline;
953     ret.itcMac=s.itcMac;
954     ret.dxaAdjust=s.dxaAdjust;
955     for(int i=0;i<(6);++i)
956         ret.rgbrcTable[i]=toWord97(s.rgbrcTable[i]);
957 
958     return ret;
959 }
960 
961 /* Please check...
962 Word97::TBD toWord97(const Word95::TBD &s) {
963 
964     Word97::TBD ret;
965 
966     ret.jc=s.jc;
967     ret.tlc=s.tlc;
968     ret.unused0_6=s.unused0_6;
969 
970     return ret;
971 } */
972 
toWord97(const Word95::TC & s)973 Word97::TC toWord97(const Word95::TC &s) {
974 
975     Word97::TC ret;
976 
977     ret.fFirstMerged=s.fFirstMerged;
978     ret.fMerged=s.fMerged;
979     ret.fUnused=s.fUnused;
980     ret.brcTop=toWord97(s.brcTop);
981     ret.brcLeft=toWord97(s.brcLeft);
982     ret.brcBottom=toWord97(s.brcBottom);
983     ret.brcRight=toWord97(s.brcRight);
984 
985     return ret;
986 }
987 
toWord97(const Word95::TLP & s)988 Word97::TLP toWord97(const Word95::TLP &s) {
989 
990     Word97::TLP ret;
991 
992     ret.itl=s.itl;
993     ret.fBorders=s.fBorders;
994     ret.fShading=s.fShading;
995     ret.fFont=s.fFont;
996     ret.fColor=s.fColor;
997     ret.fBestFit=s.fBestFit;
998     ret.fHdrRows=s.fHdrRows;
999     ret.fLastRow=s.fLastRow;
1000     ret.fHdrCols=s.fHdrCols;
1001     ret.fLastCol=s.fLastCol;
1002     ret.unused2_9=s.unused2_9;
1003 
1004     return ret;
1005 }
1006 
1007 } // namespace Word95
1008 
1009 } // namespace wvWare
1010