/* This file is part of the wvWare 2 project
   SPDX-FileCopyrightText: 2001 Werner Trobin <trobin@kde.org>

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License version 2 as published by the Free Software Foundation.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02111-1307, USA.
*/

// This code is generated from the Microsoft HTML specification of the
// WinWord format. Do NOT edit this code, but fix the spec or the script
// generating the sources. If you want to add some additional code, some
// includes or any other stuff, please add it to the template file!
// For information about the script and the "hidden features" please read
// the comments at the begin of the script.

// If you find bugs or strange behavior please contact Werner Trobin
// <trobin@kde.org>

#include <convert.h>

#include <QtGlobal>

namespace wvWare
{

namespace Word95
{

// This has been added to the template file, as the mapping is
// non-trivial. Shaheed: Please check the implementation
Word97::BRC toWord97(const Word95::BRC &s)
{
    Word97::BRC ret;

    // Check the BRC documentation
    if (s.dxpLineWidth < 6) {
        ret.dptLineWidth = s.dxpLineWidth * 6;
        ret.brcType = s.brcType;
    } else if (s.dxpLineWidth == 6) {
        ret.dptLineWidth = 6; // what's the default?
        ret.brcType = 6; // dotted
    } else { // s.dxpLineWidth == 7
        ret.dptLineWidth = 6; // what's the default?
        ret.brcType = 7;
    }
    ret.fShadow = s.fShadow;
    ret.cv = Word97::icoToCOLORREF(s.ico);
    ret.dptSpace = s.dxpSpace;
    return ret;
}

Word97::STSHI toWord97(const Word95::STSHI &s)
{
    Word97::STSHI ret;

    ret.cstd = s.cstd;
    ret.cbSTDBaseInFile = s.cbSTDBaseInFile;
    ret.fStdStylenamesWritten = s.fStdStylenamesWritten;
    ret.unused4_2 = s.unused4_2;
    ret.stiMaxWhenSaved = s.stiMaxWhenSaved;
    ret.istdMaxFixedWhenSaved = s.istdMaxFixedWhenSaved;
    ret.nVerBuiltInNamesWhenSaved = s.nVerBuiltInNamesWhenSaved;
    ret.rgftcStandardChpStsh[0] = s.ftcStandardChpStsh;
    ret.rgftcStandardChpStsh[1] = s.ftcStandardChpStsh; // fake them
    ret.rgftcStandardChpStsh[2] = s.ftcStandardChpStsh; // fake them

    return ret;
}

Word97::ANLD toWord97(const Word95::ANLD &s)
{
    Word97::ANLD ret;

    ret.nfc = s.nfc;
    ret.cxchTextBefore = s.cxchTextBefore;
    ret.cxchTextAfter = s.cxchTextAfter;
    ret.jc = s.jc;
    ret.fPrev = s.fPrev;
    ret.fHang = s.fHang;
    ret.fSetBold = s.fSetBold;
    ret.fSetItalic = s.fSetItalic;
    ret.fSetSmallCaps = s.fSetSmallCaps;
    ret.fSetCaps = s.fSetCaps;
    ret.fSetStrike = s.fSetStrike;
    ret.fSetKul = s.fSetKul;
    ret.fPrevSpace = s.fPrevSpace;
    ret.fBold = s.fBold;
    ret.fItalic = s.fItalic;
    ret.fSmallCaps = s.fSmallCaps;
    ret.fCaps = s.fCaps;
    ret.fStrike = s.fStrike;
    ret.kul = s.kul;
    ret.ico = s.ico;
    ret.ftc = s.ftc;
    ret.hps = s.hps;
    ret.iStartAt = s.iStartAt;
    ret.dxaIndent = s.dxaIndent;
    ret.dxaSpace = s.dxaSpace;
    ret.fNumber1 = s.fNumber1;
    ret.fNumberAcross = s.fNumberAcross;
    ret.fRestartHdn = s.fRestartHdn;
    ret.fSpareX = s.fSpareX;
    for (int i = 0; i < (32); ++i)
        ret.rgxch[i] = s.rgchAnld[i];

    return ret;
}

Word97::ANLV toWord97(const Word95::ANLV &s)
{
    Word97::ANLV ret;

    ret.nfc = s.nfc;
    ret.cxchTextBefore = s.cxchTextBefore;
    ret.cxchTextAfter = s.cxchTextAfter;
    ret.jc = s.jc;
    ret.fPrev = s.fPrev;
    ret.fHang = s.fHang;
    ret.fSetBold = s.fSetBold;
    ret.fSetItalic = s.fSetItalic;
    ret.fSetSmallCaps = s.fSetSmallCaps;
    ret.fSetCaps = s.fSetCaps;
    ret.fSetStrike = s.fSetStrike;
    ret.fSetKul = s.fSetKul;
    ret.fPrevSpace = s.fPrevSpace;
    ret.fBold = s.fBold;
    ret.fItalic = s.fItalic;
    ret.fSmallCaps = s.fSmallCaps;
    ret.fCaps = s.fCaps;
    ret.fStrike = s.fStrike;
    ret.kul = s.kul;
    ret.ico = s.ico;
    ret.ftc = s.ftc;
    ret.hps = s.hps;
    ret.iStartAt = s.iStartAt;
    ret.dxaIndent = s.dxaIndent;
    ret.dxaSpace = s.dxaSpace;

    return ret;
}

Word97::BKF toWord97(const Word95::BKF &s)
{
    Word97::BKF ret;

    ret.ibkl = s.ibkl;
    ret.itcFirst = s.itcFirst;
    ret.fPub = s.fPub;
    ret.itcLim = s.itcLim;
    ret.fCol = s.fCol;

    return ret;
}

Word97::BKL toWord97(const Word95::BKL &s)
{
    Word97::BKL ret;

    ret.ibkf = s.ibkf;

    return ret;
}

/* Please check...
Word97::BRC toWord97(const Word95::BRC &s) {

    Word97::BRC ret;

    ret.brcType=s.brcType;
    ret.fShadow=s.fShadow;
    ret.ico=s.ico;

    return ret;
} */

Word97::BRC10 toWord97(const Word95::BRC10 &s)
{
    Word97::BRC10 ret;

    ret.dxpLine2Width = s.dxpLine2Width;
    ret.dxpSpaceBetween = s.dxpSpaceBetween;
    ret.dxpLine1Width = s.dxpLine1Width;
    ret.dxpSpace = s.dxpSpace;
    ret.fShadow = s.fShadow;
    ret.fSpare = s.fSpare;

    return ret;
}

Word97::BTE toWord97(const Word95::BTE &s)
{
    Word97::BTE ret;

    ret.pn = s.pn;

    return ret;
}

Word97::CHP toWord97(const Word95::CHP &s)
{
    Word97::CHP ret;

    ret.fBold = s.fBold;
    ret.fItalic = s.fItalic;
    ret.fRMarkDel = s.fRMarkDel;
    ret.fOutline = s.fOutline;
    ret.fFldVanish = s.fFldVanish;
    ret.fSmallCaps = s.fSmallCaps;
    ret.fCaps = s.fCaps;
    ret.fVanish = s.fVanish;
    ret.fRMark = s.fRMark;
    ret.fSpec = s.fSpec;
    ret.fStrike = s.fStrike;
    ret.fObj = s.fObj;
    ret.fShadow = s.fShadow;
    ret.fLowerCase = s.fLowerCase;
    ret.fData = s.fData;
    ret.fOle2 = s.fOle2;
    ret.ftcAscii = s.ftc;
    ret.hps = s.hps;
    ret.dxaSpace = s.dxaSpace;
    ret.iss = s.iss;
    ret.fSysVanish = s.fSysVanish;
    ret.cv = Word97::icoToCOLORREF(s.ico);
    ret.kul = s.kul;
    ret.hpsPos = s.hpsPos;
    ret.lid = s.lid;
    ret.fcPic_fcObj_lTagObj = s.fcPic_fcObj_lTagObj;
    ret.ibstRMark = s.ibstRMark;
    ret.dttmRMark = toWord97(s.dttmRMark);
    ret.istd = s.istd;
    ret.ftcSym = s.ftcSym;
    ret.xchSym = s.chSym;
    ret.fChsDiff = s.fChsDiff;
    ret.idslRMReason = s.idslRMReason;
    ret.ysr = s.ysr;
    ret.chYsr = s.chYsr;
    ret.chse = s.chse;
    ret.hpsKern = s.hpsKern;

    return ret;
}

/* Please check...
Word97::CHPX toWord97(const Word95::CHPX &s) {

    Word97::CHPX ret;

    ret.cb=s.cb;
    ret.grpprl=s.grpprl;

    return ret;
} */

/* Please check...
Word97::CHPXFKP toWord97(const Word95::CHPXFKP &s) {

    Word97::CHPXFKP ret;

    ret.rgb=s.rgb;
    ret.unusedSpace=s.unusedSpace;
    ret.grpchpx=s.grpchpx;
    ret.crun=s.crun;

    return ret;
} */

Word97::DCS toWord97(const Word95::DCS &s)
{
    Word97::DCS ret;

    ret.fdct = s.fdct;
    ret.lines = s.lines;
    ret.unused1 = s.unused1;

    return ret;
}

Word97::DOP toWord97(const Word95::DOP &s)
{
    Word97::DOP ret;

    ret.fFacingPages = s.fFacingPages;
    ret.fWidowControl = s.fWidowControl;
    ret.fPMHMainDoc = s.fPMHMainDoc;
    ret.grfSuppression = s.grfSuppression;
    ret.fpc = s.fpc;
    ret.unused0_7 = s.unused0_7;
    ret.grpfIhdt = s.grpfIhdt;
    ret.rncFtn = s.rncFtn;
    ret.nFtn = s.nFtn;
    ret.fOutlineDirtySave = s.fOutlineDirtySave;
    ret.unused4_1 = s.unused4_1;
    ret.fOnlyMacPics = s.fOnlyMacPics;
    ret.fOnlyWinPics = s.fOnlyWinPics;
    ret.fLabelDoc = s.fLabelDoc;
    ret.fHyphCapitals = s.fHyphCapitals;
    ret.fAutoHyphen = s.fAutoHyphen;
    ret.fFormNoFields = s.fFormNoFields;
    ret.fLinkStyles = s.fLinkStyles;
    ret.fRevMarking = s.fRevMarking;
    ret.fBackup = s.fBackup;
    ret.fExactCWords = s.fExactCWords;
    ret.fPagHidden = s.fPagHidden;
    ret.fPagResults = s.fPagResults;
    ret.fLockAtn = s.fLockAtn;
    ret.fMirrorMargins = s.fMirrorMargins;
    ret.fDfltTrueType = s.fDfltTrueType;
    ret.fPagSuppressTopSpacing = s.fPagSuppressTopSpacing;
    ret.fProtEnabled = s.fProtEnabled;
    ret.fDispFormFldSel = s.fDispFormFldSel;
    ret.fRMView = s.fRMView;
    ret.fRMPrint = s.fRMPrint;
    ret.fLockRev = s.fLockRev;
    ret.fEmbedFonts = s.fEmbedFonts;
    ret.copts_fNoTabForInd = s.copts_fNoTabForInd;
    ret.copts_fNoSpaceRaiseLower = s.copts_fNoSpaceRaiseLower;
    ret.copts_fSuppressSpbfAfterPageBreak = s.copts_fSuppressSpbfAfterPageBreak;
    ret.copts_fWrapTrailSpaces = s.copts_fWrapTrailSpaces;
    ret.copts_fMapPrintTextColor = s.copts_fMapPrintTextColor;
    ret.copts_fNoColumnBalance = s.copts_fNoColumnBalance;
    ret.copts_fConvMailMergeEsc = s.copts_fConvMailMergeEsc;
    ret.copts_fSupressTopSpacing = s.copts_fSupressTopSpacing;
    ret.copts_fOrigWordTableRules = s.copts_fOrigWordTableRules;
    ret.copts_fTransparentMetafiles = s.copts_fTransparentMetafiles;
    ret.copts_fShowBreaksInFrames = s.copts_fShowBreaksInFrames;
    ret.copts_fSwapBordersFacingPgs = s.copts_fSwapBordersFacingPgs;
    ret.unused8_12 = s.unused8_12;
    ret.dxaTab = s.dxaTab;
    ret.wSpare = s.wSpare;
    ret.dxaHotZ = s.dxaHotZ;
    ret.cConsecHypLim = s.cConsecHypLim;
    ret.wSpare2 = s.wSpare2;
    ret.dttmCreated = toWord97(s.dttmCreated);
    ret.dttmRevised = toWord97(s.dttmRevised);
    ret.dttmLastPrint = toWord97(s.dttmLastPrint);
    ret.nRevision = s.nRevision;
    ret.tmEdited = s.tmEdited;
    ret.cWords = s.cWords;
    ret.cCh = s.cCh;
    ret.cPg = s.cPg;
    ret.cParas = s.cParas;
    ret.rncEdn = s.rncEdn;
    ret.nEdn = s.nEdn;
    ret.epc = s.epc;
    ret.nfcFtnRef2 = s.nfcFtnRef;
    ret.nfcEdnRef2 = s.nfcEdnRef;
    ret.fPrintFormData = s.fPrintFormData;
    ret.fSaveFormData = s.fSaveFormData;
    ret.fShadeFormData = s.fShadeFormData;
    ret.unused54_13 = s.unused54_13;
    ret.fWCFtnEdn = s.fWCFtnEdn;
    ret.cLines = s.cLines;
    ret.cWordsFtnEnd = s.cWordsFtnEnd;
    ret.cChFtnEdn = s.cChFtnEdn;
    ret.cPgFtnEdn = s.cPgFtnEdn;
    ret.cParasFtnEdn = s.cParasFtnEdn;
    ret.cLinesFtnEdn = s.cLinesFtnEdn;
    ret.lKeyProtDoc = s.lKeyProtDoc;
    ret.wvkSaved = s.wvkSaved;
    ret.wScaleSaved = s.wScaleSaved;
    ret.zkSaved = s.zkSaved;

    return ret;
}

Word97::DTTM toWord97(const Word95::DTTM &s)
{
    Word97::DTTM ret;

    ret.mint = s.mint;
    ret.hr = s.hr;
    ret.dom = s.dom;
    ret.mon = s.mon;
    ret.yr = s.yr;
    ret.wdy = s.wdy;

    return ret;
}

/* Please check...
Word97::FFN toWord97(const Word95::FFN &s) {

    Word97::FFN ret;

    ret.cbFfnM1=s.cbFfnM1;
    ret.prq=s.prq;
    ret.fTrueType=s.fTrueType;
    ret.unused1_3=s.unused1_3;
    ret.ff=s.ff;
    ret.unused1_7=s.unused1_7;
    ret.wWeight=s.wWeight;
    ret.chs=s.chs;
    ret.ixchSzAlt=s.ibszAlt;
    ret.xszFfn=s.szFfn;

    return ret;
} */

Word97::FIB toWord97(const Word95::FIB &s)
{
    Word97::FIB ret;

    ret.wIdent = s.wIdent;
    ret.nFib = s.nFib;
    ret.nProduct = s.nProduct;
    ret.lid = s.lid;
    ret.pnNext = s.pnNext;
    ret.fDot = s.fDot;
    ret.fGlsy = s.fGlsy;
    ret.fComplex = s.fComplex;
    ret.fHasPic = s.fHasPic;
    ret.cQuickSaves = s.cQuickSaves;
    ret.fEncrypted = s.fEncrypted;
    ret.fReadOnlyRecommended = s.fReadOnlyRecommended;
    ret.fWriteReservation = s.fWriteReservation;
    ret.fExtChar = s.fExtChar;
    ret.nFibBack = s.nFibBack;
    ret.lKey = s.lKey;
    ret.envr = s.envr;
    ret.chs = s.chse;
    ret.chsTables = s.chseTables;
    ret.fcMin = s.fcMin;
    ret.fcMac = s.fcMac;
    ret.cbMac = s.cbMac;
    ret.ccpText = s.ccpText;
    ret.ccpFtn = s.ccpFtn;
    ret.ccpHdd = s.ccpHdd;
    ret.ccpMcr = s.ccpMcr;
    ret.ccpAtn = s.ccpAtn;
    ret.ccpEdn = s.ccpEdn;
    ret.ccpTxbx = s.ccpTxbx;
    ret.ccpHdrTxbx = s.ccpHdrTxbx;
    ret.fcStshfOrig = s.fcStshfOrig;
    ret.lcbStshfOrig = s.lcbStshfOrig;
    ret.fcStshf = s.fcStshf;
    ret.lcbStshf = s.lcbStshf;
    ret.fcPlcffndRef = s.fcPlcffndRef;
    ret.lcbPlcffndRef = s.lcbPlcffndRef;
    ret.fcPlcffndTxt = s.fcPlcffndTxt;
    ret.lcbPlcffndTxt = s.lcbPlcffndTxt;
    ret.fcPlcfandRef = s.fcPlcfandRef;
    ret.lcbPlcfandRef = s.lcbPlcfandRef;
    ret.fcPlcfandTxt = s.fcPlcfandTxt;
    ret.lcbPlcfandTxt = s.lcbPlcfandTxt;
    ret.fcPlcfsed = s.fcPlcfsed;
    ret.lcbPlcfsed = s.lcbPlcfsed;
    ret.fcPlcfpad = s.fcPlcfpad;
    ret.lcbPlcfpad = s.lcbPlcfpad;
    ret.fcPlcfphe = s.fcPlcfphe;
    ret.lcbPlcfphe = s.lcbPlcfphe;
    ret.fcSttbfglsy = s.fcSttbfglsy;
    ret.lcbSttbfglsy = s.lcbSttbfglsy;
    ret.fcPlcfglsy = s.fcPlcfglsy;
    ret.lcbPlcfglsy = s.lcbPlcfglsy;
    ret.fcPlcfhdd = s.fcPlcfhdd;
    ret.lcbPlcfhdd = s.lcbPlcfhdd;
    ret.fcPlcfbteChpx = s.fcPlcfbteChpx;
    ret.lcbPlcfbteChpx = s.lcbPlcfbteChpx;
    ret.fcPlcfbtePapx = s.fcPlcfbtePapx;
    ret.lcbPlcfbtePapx = s.lcbPlcfbtePapx;
    ret.fcPlcfsea = s.fcPlcfsea;
    ret.lcbPlcfsea = s.lcbPlcfsea;
    ret.fcSttbfffn = s.fcSttbfffn;
    ret.lcbSttbfffn = s.lcbSttbfffn;
    ret.fcPlcffldMom = s.fcPlcffldMom;
    ret.lcbPlcffldMom = s.lcbPlcffldMom;
    ret.fcPlcffldHdr = s.fcPlcffldHdr;
    ret.lcbPlcffldHdr = s.lcbPlcffldHdr;
    ret.fcPlcffldFtn = s.fcPlcffldFtn;
    ret.lcbPlcffldFtn = s.lcbPlcffldFtn;
    ret.fcPlcffldAtn = s.fcPlcffldAtn;
    ret.lcbPlcffldAtn = s.lcbPlcffldAtn;
    ret.fcPlcffldMcr = s.fcPlcffldMcr;
    ret.lcbPlcffldMcr = s.lcbPlcffldMcr;
    ret.fcSttbfbkmk = s.fcSttbfbkmk;
    ret.lcbSttbfbkmk = s.lcbSttbfbkmk;
    ret.fcPlcfbkf = s.fcPlcfbkf;
    ret.lcbPlcfbkf = s.lcbPlcfbkf;
    ret.fcPlcfbkl = s.fcPlcfbkl;
    ret.lcbPlcfbkl = s.lcbPlcfbkl;
    ret.fcCmds = s.fcCmds;
    ret.lcbCmds = s.lcbCmds;
    ret.fcPlcmcr = s.fcPlcmcr;
    ret.lcbPlcmcr = s.lcbPlcmcr;
    ret.fcSttbfmcr = s.fcSttbfmcr;
    ret.lcbSttbfmcr = s.lcbSttbfmcr;
    ret.fcPrDrvr = s.fcPrDrvr;
    ret.lcbPrDrvr = s.lcbPrDrvr;
    ret.fcPrEnvPort = s.fcPrEnvPort;
    ret.lcbPrEnvPort = s.lcbPrEnvPort;
    ret.fcPrEnvLand = s.fcPrEnvLand;
    ret.lcbPrEnvLand = s.lcbPrEnvLand;
    ret.fcWss = s.fcWss;
    ret.lcbWss = s.lcbWss;
    ret.fcDop = s.fcDop;
    ret.lcbDop = s.lcbDop;
    ret.fcSttbfAssoc = s.fcSttbfAssoc;
    ret.lcbSttbfAssoc = s.lcbSttbfAssoc;
    ret.fcClx = s.fcClx;
    ret.lcbClx = s.lcbClx;
    ret.fcPlcfpgdFtn = s.fcPlcfpgdFtn;
    ret.lcbPlcfpgdFtn = s.lcbPlcfpgdFtn;
    ret.fcAutosaveSource = s.fcAutosaveSource;
    ret.lcbAutosaveSource = s.lcbAutosaveSource;
    ret.fcGrpXstAtnOwners = s.fcGrpStAtnOwners;
    ret.lcbGrpXstAtnOwners = s.lcbGrpStAtnOwners;
    ret.fcSttbfAtnbkmk = s.fcSttbfAtnbkmk;
    ret.lcbSttbfAtnbkmk = s.lcbSttbfAtnbkmk;
    ret.pnChpFirst = s.pnChpFirst;
    ret.pnPapFirst = s.pnPapFirst;
    ret.cpnBteChp = s.cpnBteChp;
    ret.cpnBtePap = s.cpnBtePap;
    ret.fcPlcdoaMom = s.fcPlcfdoaMom;
    ret.lcbPlcdoaMom = s.lcbPlcfdoaMom;
    ret.fcPlcdoaHdr = s.fcPlcfdoaHdr;
    ret.lcbPlcdoaHdr = s.lcbPlcfdoaHdr;
    ret.fcPlcfAtnbkf = s.fcPlcfAtnbkf;
    ret.lcbPlcfAtnbkf = s.lcbPlcfAtnbkf;
    ret.fcPlcfAtnbkl = s.fcPlcfAtnbkl;
    ret.lcbPlcfAtnbkl = s.lcbPlcfAtnbkl;
    ret.fcPms = s.fcPms;
    ret.lcbPms = s.lcbPms;
    ret.fcFormFldSttbf = s.fcFormFldSttbf;
    ret.lcbFormFldSttbf = s.lcbFormFldSttbf;
    ret.fcPlcfendRef = s.fcPlcfendRef;
    ret.lcbPlcfendRef = s.lcbPlcfendRef;
    ret.fcPlcfendTxt = s.fcPlcfendTxt;
    ret.lcbPlcfendTxt = s.lcbPlcfendTxt;
    ret.fcPlcffldEdn = s.fcPlcffldEdn;
    ret.lcbPlcffldEdn = s.lcbPlcffldEdn;
    ret.fcPlcfpgdEdn = s.fcPlcfpgdEdn;
    ret.lcbPlcfpgdEdn = s.lcbPlcfpgdEdn;
    ret.fcSttbfRMark = s.fcSttbfRMark;
    ret.lcbSttbfRMark = s.lcbSttbfRMark;
    ret.fcSttbfCaption = s.fcSttbfCaption;
    ret.lcbSttbfCaption = s.lcbSttbfCaption;
    ret.fcSttbfAutoCaption = s.fcSttbfAutoCaption;
    ret.lcbSttbfAutoCaption = s.lcbSttbfAutoCaption;
    ret.fcPlcfwkb = s.fcPlcfwkb;
    ret.lcbPlcfwkb = s.lcbPlcfwkb;
    ret.fcPlcftxbxTxt = s.fcPlcftxbxTxt;
    ret.lcbPlcftxbxTxt = s.lcbPlcftxbxTxt;
    ret.fcPlcffldTxbx = s.fcPlcffldTxbx;
    ret.lcbPlcffldTxbx = s.lcbPlcffldTxbx;
    ret.fcPlcfHdrtxbxTxt = s.fcPlcfHdrtxbxTxt;
    ret.lcbPlcfHdrtxbxTxt = s.lcbPlcfHdrtxbxTxt;
    ret.fcPlcffldHdrTxbx = s.fcPlcffldHdrTxbx;
    ret.lcbPlcffldHdrTxbx = s.lcbPlcffldHdrTxbx;
    ret.fcStwUser = s.fcStwUser;
    ret.lcbStwUser = s.lcbStwUser;
    ret.fcSttbttmbd = s.fcSttbttmbd;
    ret.lcbSttbttmbd = s.lcbSttbttmbd;
    ret.fcUnused = s.fcUnused;
    ret.lcbUnused = s.lcbUnused;
    ret.fcPgdMother = s.fcPgdMother;
    ret.lcbPgdMother = s.lcbPgdMother;
    ret.fcBkdMother = s.fcBkdMother;
    ret.lcbBkdMother = s.lcbBkdMother;
    ret.fcPgdFtn = s.fcPgdFtn;
    ret.lcbPgdFtn = s.lcbPgdFtn;
    ret.fcBkdFtn = s.fcBkdFtn;
    ret.lcbBkdFtn = s.lcbBkdFtn;
    ret.fcPgdEdn = s.fcPgdEdn;
    ret.lcbPgdEdn = s.lcbPgdEdn;
    ret.fcBkdEdn = s.fcBkdEdn;
    ret.lcbBkdEdn = s.lcbBkdEdn;
    ret.fcSttbfIntlFld = s.fcSttbfIntlFld;
    ret.lcbSttbfIntlFld = s.lcbSttbfIntlFld;
    ret.fcRouteSlip = s.fcRouteSlip;
    ret.lcbRouteSlip = s.lcbRouteSlip;
    ret.fcSttbSavedBy = s.fcSttbSavedBy;
    ret.lcbSttbSavedBy = s.lcbSttbSavedBy;
    ret.fcSttbFnm = s.fcSttbFnm;
    ret.lcbSttbFnm = s.lcbSttbFnm;

    return ret;
}

/* Please check...
Word97::FLD toWord97(const Word95::FLD &s) {

    Word97::FLD ret;

    ret.ch=s.ch;

    return ret;
} */

Word97::LSPD toWord97(const Word95::LSPD &s)
{
    Word97::LSPD ret;

    ret.dyaLine = s.dyaLine;
    ret.fMultLinespace = s.fMultLinespace;

    return ret;
}

Word97::METAFILEPICT toWord97(const Word95::METAFILEPICT &s)
{
    Word97::METAFILEPICT ret;

    ret.mm = s.mm;
    ret.xExt = s.xExt;
    ret.yExt = s.yExt;
    ret.hMF = s.hMF;

    return ret;
}

Word97::OBJHEADER toWord97(const Word95::OBJHEADER &s)
{
    Word97::OBJHEADER ret;

    ret.lcb = s.lcb;
    ret.cbHeader = s.cbHeader;
    ret.icf = s.icf;

    return ret;
}

Word97::OLST toWord97(const Word95::OLST &s)
{
    Word97::OLST ret;

    for (int i = 0; i < (9); ++i)
        ret.rganlv[i] = toWord97(s.rganlv[i]);
    ret.fRestartHdr = s.fRestartHdr;
    ret.fSpareOlst2 = s.fSpareOlst2;
    ret.fSpareOlst3 = s.fSpareOlst3;
    ret.fSpareOlst4 = s.fSpareOlst4;
    for (int i = 0; i < (32); ++i)
        ret.rgxch[i] = s.rgch[i];

    return ret;
}

Word97::PAP toWord97(const Word95::PAP &s)
{
    Word97::PAP ret;

    ret.istd = s.istd;
    ret.jc = s.jc;
    ret.fKeep = s.fKeep;
    ret.fKeepFollow = s.fKeepFollow;
    ret.fPageBreakBefore = s.fPageBreakBefore;
    ret.fBrLnAbove = s.fBrLnAbove;
    ret.fBrLnBelow = s.fBrLnBelow;
    ret.fUnused = s.fUnused;
    ret.pcVert = s.pcVert;
    ret.pcHorz = s.pcHorz;
    ret.brcp = s.brcp;
    ret.brcl = s.brcl;
    ret.unused9 = s.unused9;
    ret.nLvlAnm = s.nLvlAnm;
    ret.fNoLnn = s.fNoLnn;
    ret.fSideBySide = s.fSideBySide;
    ret.dxaRight = s.dxaRight;
    ret.dxaLeft = s.dxaLeft;
    ret.dxaLeft1 = s.dxaLeft1;
    ret.lspd = toWord97(s.lspd);
    ret.dyaBefore = s.dyaBefore;
    ret.dyaAfter = s.dyaAfter;
    ret.phe = toWord97(s.phe);
    ret.fWidowControl = s.fWidowControl;
    ret.fInTable = s.fInTable;
    ret.fTtp = s.fTtp;
    ret.ptap = s.ptap;
    ret.dxaAbs = s.dxaAbs;
    ret.dyaAbs = s.dyaAbs;
    ret.dxaWidth = s.dxaWidth;
    ret.brcTop = toWord97(s.brcTop);
    ret.brcLeft = toWord97(s.brcLeft);
    ret.brcBottom = toWord97(s.brcBottom);
    ret.brcRight = toWord97(s.brcRight);
    ret.brcBetween = toWord97(s.brcBetween);
    ret.brcBar = toWord97(s.brcBar);
    ret.dxaFromText = s.dxaFromText;
    ret.dyaFromText = s.dyaFromText;
    ret.wr = s.wr;
    ret.fLocked = s.fLocked;
    ret.dyaHeight = s.dyaHeight;
    ret.fMinHeight = s.fMinHeight;
    ret.shd = toWord97(s.shd);
    ret.dcs = toWord97(s.dcs);
    ret.anld = toWord97(s.anld);
    ret.itbdMac = s.itbdMac;

    return ret;
}

/* Please check...
Word97::PAPX toWord97(const Word95::PAPX &s) {

    Word97::PAPX ret;

    ret.cw=s.cw;
    ret.cb=s.cb;

    return ret;
} */

/* Please check...
Word97::PAPXFKP toWord97(const Word95::PAPXFKP &s) {

    Word97::PAPXFKP ret;

    ret.rgfc=s.rgfc;
    ret.rgbx=s.rgbx;
    ret.grppapx=s.grppapx;
    ret.crun=s.crun;

    return ret;
} */

Word97::PCD toWord97(const Word95::PCD &s)
{
    Word97::PCD ret;

    ret.fNoParaLast = s.fNoParaLast;
    ret.fPaphNil = s.fPaphNil;
    ret.fCopied = s.fCopied;
    ret.unused0_3 = s.unused0_3;
    ret.fn = s.fn;
    ret.fc = s.fc;
    ret.prm = toWord97(s.prm);

    return ret;
}

/* Please check...
Word97::PGD toWord97(const Word95::PGD &s) {

    Word97::PGD ret;

    ret.fContinue=s.fContinue;
    ret.fUnk=s.fUnk;
    ret.fRight=s.fRight;
    ret.fPgnRestart=s.fPgnRestart;
    ret.fEmptyPage=s.fEmptyPage;
    ret.fAllFtn=s.fAllFtn;
    ret.fTableBreaks=s.fTableBreaks;
    ret.fMarked=s.fMarked;
    ret.fColumnBreaks=s.fColumnBreaks;
    ret.fTableHeader=s.fTableHeader;
    ret.fNewPage=s.fNewPage;
    ret.bkc=s.bkc;
    ret.lnn=s.lnn;
    ret.pgn=s.pgn;

    return ret;
} */

Word97::PHE toWord97(const Word95::PHE &s)
{
    Word97::PHE ret;

    ret.fSpare = s.fSpare;
    ret.fUnk = s.fUnk;
    ret.fDiffLines = s.fDiffLines;
    ret.unused0_3 = s.unused0_3;
    ret.clMac = s.clMac;
    ret.dxaCol = s.dxaCol;
    ret.dym = s.dylLine_dylHeight;

    return ret;
}

Word97::PICF toWord97(const Word95::PICF &s)
{
    Word97::PICF ret;

    ret.lcb = s.lcb;
    ret.cbHeader = s.cbHeader;
    ret.mfp = toWord97(s.mfp);
    for (int i = 0; i < (14); ++i)
        ret.bm_rcWinMF[i] = s.bm_rcWinMF[i];
    ret.dxaGoal = s.dxaGoal;
    ret.dyaGoal = s.dyaGoal;
    ret.mx = s.mx;
    ret.my = s.my;
    ret.dxaCropLeft = s.dxaCropLeft;
    ret.dyaCropTop = s.dyaCropTop;
    ret.dxaCropRight = s.dxaCropRight;
    ret.dyaCropBottom = s.dyaCropBottom;
    ret.brcl = s.brcl;
    ret.fFrameEmpty = s.fFrameEmpty;
    ret.fBitmap = s.fBitmap;
    ret.fDrawHatch = s.fDrawHatch;
    ret.fError = s.fError;
    ret.bpp = s.bpp;
    ret.brcTop = toWord97(s.brcTop);
    ret.brcLeft = toWord97(s.brcLeft);
    ret.brcBottom = toWord97(s.brcBottom);
    ret.brcRight = toWord97(s.brcRight);
    ret.dxaOrigin = s.dxaOrigin;
    ret.dyaOrigin = s.dyaOrigin;

    return ret;
}

/* Please check...
Word97::PLCF toWord97(const Word95::PLCF &s) {

    Word97::PLCF ret;

    ret.rgfc=s.rgfc;

    return ret;
} */

Word97::PRM toWord97(const Word95::PRM &s)
{
    Word97::PRM ret;

    ret.fComplex = s.fComplex;
    ret.isprm = s.sprm;
    ret.val = s.val;

    return ret;
}

Word97::PRM2 toWord97(const Word95::PRM2 &s)
{
    Word97::PRM2 ret;

    ret.fComplex = s.fComplex;
    ret.igrpprl = s.igrpprl;

    return ret;
}

Word97::SED toWord97(const Word95::SED &s)
{
    Word97::SED ret;

    ret.fcSepx = s.fcSepx;
    ret.fnMpr = s.fnMpr;
    ret.fcMpr = s.fcMpr;

    return ret;
}

Word97::SEP toWord97(const Word95::SEP &s)
{
    Word97::SEP ret;

    ret.bkc = s.bkc;
    ret.fTitlePage = s.fTitlePage;
    ret.ccolM1 = s.ccolM1;
    ret.dxaColumns = s.dxaColumns;
    ret.fAutoPgn = s.fAutoPgn;
    ret.nfcPgn = s.nfcPgn;
    ret.pgnStart = s.pgnStart;
    ret.fUnlocked = s.fUnlocked;
    ret.cnsPgn = s.cnsPgn;
    ret.fPgnRestart = s.fPgnRestart;
    ret.fEndNote = s.fEndNote;
    ret.lnc = s.lnc;
    ret.grpfIhdt = s.grpfIhdt;
    ret.nLnnMod = s.nLnnMod;
    ret.dxaLnn = s.dxaLnn;
    ret.dyaHdrTop = s.dyaHdrTop;
    ret.dyaHdrBottom = s.dyaHdrBottom;
    ret.dxaPgn = s.dxaPgn;
    ret.dyaPgn = s.dyaPgn;
    ret.fLBetween = s.fLBetween;
    ret.vjc = s.vjc;
    ret.lnnMin = s.lnnMin;
    ret.dmOrientPage = s.dmOrientPage;
    ret.iHeadingPgn = s.iHeadingPgn;
    ret.xaPage = s.xaPage;
    ret.yaPage = s.yaPage;
    ret.dxaLeft = s.dxaLeft;
    ret.dxaRight = s.dxaRight;
    ret.dyaTop = qAbs(s.dyaTop);
    ret.dyaBottom = qAbs(s.dyaBottom);
    ret.dzaGutter = s.dzaGutter;
    ret.dmBinFirst = s.dmBinFirst;
    ret.dmBinOther = s.dmBinOther;
    ret.dmPaperReq = s.dmPaperReq;
    ret.fEvenlySpaced = s.fEvenlySpaced;
    ret.dxaColumnWidth = s.dxaColumnWidth;
    for (int i = 0; i < (89); ++i)
        ret.rgdxaColumnWidthSpacing[i] = s.rgdxaColumnWidthSpacing[i];
    ret.olstAnm = toWord97(s.olstAnm);

    return ret;
}

/* Please check...
Word97::SEPX toWord97(const Word95::SEPX &s) {

    Word97::SEPX ret;

    ret.grpprl=s.grpprl;

    return ret;
} */

Word97::SHD toWord97(const Word95::SHD &s)
{
    Word97::SHD ret;

    ret.cvFore = Word97::icoToCOLORREF(s.icoFore);
    ret.cvBack = Word97::icoToCOLORREF(s.icoBack);
    ret.ipat = s.ipat;

    return ret;
}

/* Please check...
Word97::STSHI toWord97(const Word95::STSHI &s) {

    Word97::STSHI ret;

    ret.cstd=s.cstd;
    ret.cbSTDBaseInFile=s.cbSTDBaseInFile;
    ret.fStdStylenamesWritten=s.fStdStylenamesWritten;
    ret.unused4_2=s.unused4_2;
    ret.stiMaxWhenSaved=s.stiMaxWhenSaved;
    ret.istdMaxFixedWhenSaved=s.istdMaxFixedWhenSaved;
    ret.nVerBuiltInNamesWhenSaved=s.nVerBuiltInNamesWhenSaved;

    return ret;
} */

Word97::TAP toWord97(const Word95::TAP &s)
{
    Word97::TAP ret;

    ret.jc = s.jc;
    ret.dxaGapHalf = s.dxaGapHalf;
    ret.dyaRowHeight = s.dyaRowHeight;
    ret.fCantSplit = s.fCantSplit;
    ret.fTableHeader = s.fTableHeader;
    ret.tlp = toWord97(s.tlp);
    ret.fCaFull = s.fCaFull;
    ret.fFirstRow = s.fFirstRow;
    ret.fLastRow = s.fLastRow;
    ret.fOutline = s.fOutline;
    ret.itcMac = s.itcMac;
    ret.dxaAdjust = s.dxaAdjust;
    for (int i = 0; i < (6); ++i)
        ret.rgbrcTable[i] = toWord97(s.rgbrcTable[i]);

    return ret;
}

/* Please check...
Word97::TBD toWord97(const Word95::TBD &s) {

    Word97::TBD ret;

    ret.jc=s.jc;
    ret.tlc=s.tlc;
    ret.unused0_6=s.unused0_6;

    return ret;
} */

Word97::TC toWord97(const Word95::TC &s)
{
    Word97::TC ret;

    ret.fFirstMerged = s.fFirstMerged;
    ret.fMerged = s.fMerged;
    ret.fUnused = s.fUnused;
    ret.brcTop = toWord97(s.brcTop);
    ret.brcLeft = toWord97(s.brcLeft);
    ret.brcBottom = toWord97(s.brcBottom);
    ret.brcRight = toWord97(s.brcRight);

    return ret;
}

Word97::TLP toWord97(const Word95::TLP &s)
{
    Word97::TLP ret;

    ret.itl = s.itl;
    ret.fBorders = s.fBorders;
    ret.fShading = s.fShading;
    ret.fFont = s.fFont;
    ret.fColor = s.fColor;
    ret.fBestFit = s.fBestFit;
    ret.fHdrRows = s.fHdrRows;
    ret.fLastRow = s.fLastRow;
    ret.fHdrCols = s.fHdrCols;
    ret.fLastCol = s.fLastCol;
    ret.unused2_9 = s.unused2_9;

    return ret;
}

} // namespace Word95

} // namespace wvWare
