Ejemplo n.º 1
0
        public override bool HandleControlWord(RtfCtrlWordData ctrlWordData)
        {
            bool result = false;
            this.OnCtrlWord(ctrlWordData);  // event handler

            if (this.rtfParser.IsImport()) {
                // map font information
                if (ctrlWordData.ctrlWord.Equals("f")) { ctrlWordData.param =  this.rtfParser.GetImportManager().MapFontNr(ctrlWordData.param);}

                // map color information
                //colors
                if (ctrlWordData.ctrlWord.Equals("cb")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                if (ctrlWordData.ctrlWord.Equals("cf")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                //cells
                if (ctrlWordData.ctrlWord.Equals("clcbpat")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                if (ctrlWordData.ctrlWord.Equals("clcbpatraw")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                if (ctrlWordData.ctrlWord.Equals("clcfpat")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                if (ctrlWordData.ctrlWord.Equals("clcfpatraw")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                //table rows
                if (ctrlWordData.ctrlWord.Equals("trcfpat")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                if (ctrlWordData.ctrlWord.Equals("trcbpat")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                //paragraph border
                if (ctrlWordData.ctrlWord.Equals("brdrcf")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapColorNr(ctrlWordData.param);}
                // map lists
                if(ctrlWordData.ctrlWord.Equals("ls")) { ctrlWordData.param = this.rtfParser.GetImportManager().MapListNr(ctrlWordData.param);}
            }

            if (this.rtfParser.IsConvert()) {
                if (ctrlWordData.ctrlWord.Equals("par")) { AddParagraphToDocument(); }
                // Set Font
                if (ctrlWordData.ctrlWord.Equals("f")) {}

                // color information
                //colors
                if (ctrlWordData.ctrlWord.Equals("cb")) {}
                if (ctrlWordData.ctrlWord.Equals("cf")) {}
                //cells
                if (ctrlWordData.ctrlWord.Equals("clcbpat")) {}
                if (ctrlWordData.ctrlWord.Equals("clcbpatraw")) {}
                if (ctrlWordData.ctrlWord.Equals("clcfpat")) {}
                if (ctrlWordData.ctrlWord.Equals("clcfpatraw")) {}
                //table rows
                if (ctrlWordData.ctrlWord.Equals("trcfpat")) {}
                if (ctrlWordData.ctrlWord.Equals("trcbpat")) {}
                //paragraph border
                if (ctrlWordData.ctrlWord.Equals("brdrcf")) {}

                /* TABLES */
                if (ctrlWordData.ctrlWord.Equals("trowd")) /*Beginning of row*/ { tableLevel++;}
                if (ctrlWordData.ctrlWord.Equals("cell")) /*End of Cell Denotes the end of a table cell*/ {
            //              String ctl = ctrlWordData.ctrlWord;
            //              System.out.Print("cell found");
                }
                if (ctrlWordData.ctrlWord.Equals("row")) /*End of row*/ { tableLevel++;}
                if (ctrlWordData.ctrlWord.Equals("lastrow")) /*Last row of the table*/ {}
                if (ctrlWordData.ctrlWord.Equals("row")) /*End of row*/ { tableLevel++;}
                if (ctrlWordData.ctrlWord.Equals("irow")) /*param  is the row index of this row.*/ {}
                if (ctrlWordData.ctrlWord.Equals("irowband")) /*param is the row index of the row, adjusted to account for header rows. A header row has a value of -1.*/ {}
                if (ctrlWordData.ctrlWord.Equals("tcelld")) /*Sets table cell defaults*/ {}
                if (ctrlWordData.ctrlWord.Equals("nestcell")) /*Denotes the end of a nested cell.*/ {}
                if (ctrlWordData.ctrlWord.Equals("nestrow")) /*Denotes the end of a nested row*/ {}
                if (ctrlWordData.ctrlWord.Equals("nesttableprops")) /*Defines the properties of a nested table. This is a destination control word*/ {}
                if (ctrlWordData.ctrlWord.Equals("nonesttables")) /*Contains text for readers that do not understand nested tables. This destination should be ignored by readers that support nested tables.*/ {}
                if (ctrlWordData.ctrlWord.Equals("trgaph")) /*Half the space between the cells of a table row in twips.*/ {}
                if (ctrlWordData.ctrlWord.Equals("cellx")) /*param Defines the right boundary of a table cell, including its half of the space between cells.*/ {}
                if (ctrlWordData.ctrlWord.Equals("clmgf")) /*The first cell in a range of table cells to be merged.*/ {}
                if (ctrlWordData.ctrlWord.Equals("clmrg")) /*Contents of the table cell are merged with those of the preceding cell*/ {}
                if (ctrlWordData.ctrlWord.Equals("clvmgf")) /*The first cell in a range of table cells to be vertically merged.*/ {}
                if (ctrlWordData.ctrlWord.Equals("clvmrg")) /*Contents of the table cell are vertically merged with those of the preceding cell*/ {}
                /* TABLE: table row revision tracking */
                if (ctrlWordData.ctrlWord.Equals("trauth")) /*With revision tracking enabled, this control word identifies the author of changes to a table row's properties. N refers to a value in the revision table*/ {}
                if (ctrlWordData.ctrlWord.Equals("trdate")) /*With revision tracking enabled, this control word identifies the date of a revision*/ {}
                /* TABLE: Autoformatting flags */
                if (ctrlWordData.ctrlWord.Equals("tbllkborder")) /*Flag sets table autoformat to format borders*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllkshading")) /*Flag sets table autoformat to affect shading.*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllkfont")) /*Flag sets table autoformat to affect font*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllkcolor")) /*Flag sets table autoformat to affect color*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllkbestfit")) /*Flag sets table autoformat to apply best fit*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllkhdrrows")) /*Flag sets table autoformat to format the first (header) row*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllklastrow")) /*Flag sets table autoformat to format the last row.*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllkhdrcols")) /*Flag sets table autoformat to format the first (header) column*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllklastcol")) /*Flag sets table autoformat to format the last column*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllknorowband")) /*Specifies row banding conditional formatting shall not be applied*/ {}
                if (ctrlWordData.ctrlWord.Equals("tbllknocolband")) /*Specifies column banding conditional formatting shall not be applied.*/ {}
                /* TABLE: Row Formatting */
                if (ctrlWordData.ctrlWord.Equals("taprtl")) /*Table direction is right to left*/ {}
                if (ctrlWordData.ctrlWord.Equals("trautofit")) /*param = AutoFit:
            0   No AutoFit (default).
            1   AutoFit is on for the row. Overridden by \clwWidthN and \trwWidthN in any table row.
            */ {}
                if (ctrlWordData.ctrlWord.Equals("trhdr")) /*Table row header. This row should appear at the top of every page on which the current table appears*/ {}
                if (ctrlWordData.ctrlWord.Equals("trkeep")) /*Keep table row together. This row cannot be split by a page break. This property is assumed to be off unless the control word is present*/ {}
                if (ctrlWordData.ctrlWord.Equals("trkeepfollow")) /*Keep row in the same page as the following row.*/ {}
                if (ctrlWordData.ctrlWord.Equals("trleft")) /*Position in twips of the leftmost edge of the table with respect to the left edge of its column.*/ {}
                if (ctrlWordData.ctrlWord.Equals("trqc")) /*Centers a table row with respect to its containing column.*/ {}
                if (ctrlWordData.ctrlWord.Equals("trql")) /*Left-justifies a table row with respect to its containing column.*/ {}
                if (ctrlWordData.ctrlWord.Equals("trqr")) /*Right-justifies a table row with respect to its containing column*/ {}
                if (ctrlWordData.ctrlWord.Equals("trrh")) /*Height of a table row in twips. When 0, the height is sufficient for all the text in the line; when positive, the height is guaranteed to be at least the specified height; when negative, the absolute value of the height is used, regardless of the height of the text in the line*/ {}
                if (ctrlWordData.ctrlWord.Equals("trpaddb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trpaddl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trpaddr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trpaddt")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trpaddfb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trpaddfl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trpaddfr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trpaddft")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trspdl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trspdt")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trspdb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trspdr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trspdfl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trspdft")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trspdfb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trspdfr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trwWidth")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trftsWidth")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trwWidthB")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trftsWidthB")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trftsWidthB")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trwWidthA")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trftsWidthA")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tblind")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tblindtype")) /* */ {}
                /*TABLE: Row shading and Background Colors*/
                if (ctrlWordData.ctrlWord.Equals("trcbpat")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trcfpat")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trpat")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trshdng")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgbdiag")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgcross")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgdcross")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgdkbdiag")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgdkcross")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgdkdcross")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgdkfdiag")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgdkhor")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgdkvert")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgfdiag")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbghoriz")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbgvert")) /* */ {}
                /* TABLE: Cell Formatting*/
                if (ctrlWordData.ctrlWord.Equals("clFitText")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clNoWrap")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clpadl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clpadt")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clpadb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clpadr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clpadfl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clpadft")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clpadfb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clpadfr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clwWidth")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clftsWidth")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clhidemark")) /* */ {}
                /* TABLE: Compared Table Cells */
                if (ctrlWordData.ctrlWord.Equals("clins")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("cldel")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clmrgd")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clmrgdr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clsplit")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clsplitr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clinsauth")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clinsdttm")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("cldelauth")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("cldeldttm")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clmrgdauth")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clmrgddttm")) /* */ {}
                /*TABLE: Position Wrapped Tables (The following properties must be the same for all rows in the table.)*/
                if (ctrlWordData.ctrlWord.Equals("tdfrmtxtLeft")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tdfrmtxtRight")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tdfrmtxtTop")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tdfrmtxtBottom")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tabsnoovrlp")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tphcol")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tphmrg")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tphpg")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposnegx")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposnegy")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposx")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposxc")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposxi")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposxl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposxo")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposxr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposy")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposyb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposyc")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposyil")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposyin")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposyout")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tposyt")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tpvmrg")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tpvpara")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("tpvpg")) /* */ {}
                /* TABLE: Bidirectional Controls */
                if (ctrlWordData.ctrlWord.Equals("rtlrow")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("ltrrow")) /* */ {}
                /* TABLE: Row Borders */
                if (ctrlWordData.ctrlWord.Equals("trbrdrt")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbrdrl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbrdrb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbrdrr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbrdrh")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("trbrdrv")) /* */ {}
                /* TABLE: Cell Borders */
                if (ctrlWordData.ctrlWord.Equals("brdrnil")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clbrdrb")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clbrdrt")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clbrdrl")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("clbrdrr")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("cldglu")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("cldgll")) /* */ {}
                if (ctrlWordData.ctrlWord.Equals("")) /* */ {}
            }
            if (ctrlWordData.ctrlWordType == RtfCtrlWordType.TOGGLE) {
                this.rtfParser.GetState().properties.ToggleProperty(ctrlWordData);//ctrlWordData.specialHandler);
            }

            if (ctrlWordData.ctrlWordType == RtfCtrlWordType.FLAG ||
                    ctrlWordData.ctrlWordType == RtfCtrlWordType.VALUE) {
                this.rtfParser.GetState().properties.SetProperty(ctrlWordData);//ctrlWordData.specialHandler, ctrlWordData.param);
            }

            switch (conversionType) {
            case RtfParser.TYPE_IMPORT_FULL:
                if (!IMPORT_IGNORED_CTRLWORDS.Contains(ctrlWordData.ctrlWord)) {
                    WriteBuffer();
                    WriteText(ctrlWordData.ToString());
                }
                result = true;
                break;
            case RtfParser.TYPE_IMPORT_FRAGMENT:
                if (!IMPORT_IGNORED_CTRLWORDS.Contains(ctrlWordData.ctrlWord)) {
                    WriteBuffer();
                    WriteText(ctrlWordData.ToString());
                }
                result = true;
                break;
            case RtfParser.TYPE_CONVERT:
                if (IMPORT_IGNORED_CTRLWORDS.Contains(ctrlWordData.ctrlWord) == false) {
                }
                result = true;
                break;
            default:    // error because is should be an import or convert
                result = false;
                break;
            }

            return result;
        }
Ejemplo n.º 2
0
        public override bool HandleControlWord(RtfCtrlWordData ctrlWordData)
        {
            bool result = false;
            bool skipCtrlWord = false;
            if (this.rtfParser.IsImport()) {
                skipCtrlWord = true;
                if (ctrlWordData.ctrlWord.Equals("shppict")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("nonshppict")) {    // never gets here because this is a destination set to null
                    skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;
                }
                if (ctrlWordData.ctrlWord.Equals("blipuid")) { skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("picprop")) { skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("pict")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("emfblip")) { result = true; pictureType = Image.ORIGINAL_NONE;}
                if (ctrlWordData.ctrlWord.Equals("pngblip")) { result = true; pictureType = Image.ORIGINAL_PNG;}
                if (ctrlWordData.ctrlWord.Equals("jepgblip")) { result = true; pictureType = Image.ORIGINAL_JPEG;}
                if (ctrlWordData.ctrlWord.Equals("macpict")) { result = true; pictureType = Image.ORIGINAL_NONE;}
                if (ctrlWordData.ctrlWord.Equals("pmmetafile")) { result = true; pictureType = Image.ORIGINAL_NONE;}
                if (ctrlWordData.ctrlWord.Equals("wmetafile")) { result = true; pictureType = Image.ORIGINAL_WMF;}
                if (ctrlWordData.ctrlWord.Equals("dibitmap")) { result = true; pictureType = Image.ORIGINAL_NONE;}
                if (ctrlWordData.ctrlWord.Equals("wbitmap")) { result = true; pictureType = Image.ORIGINAL_BMP;}
                /* bitmap information */
                if (ctrlWordData.ctrlWord.Equals("wbmbitspixel")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("wbmplanes")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("wbmwidthbytes")) { result = true;}
                /* picture size, scaling and cropping */
                if (ctrlWordData.ctrlWord.Equals("picw")) { this.width = ctrlWordData.LongValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("pich")) { this.height = ctrlWordData.LongValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("picwgoal")) { this.desiredWidth = ctrlWordData.LongValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("pichgoal")) { this.desiredHeight = ctrlWordData.LongValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("picscalex")) { this.scaleX = ctrlWordData.IntValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("picscaley")) { this.scaleY = ctrlWordData.IntValue();result = true;}
                if (ctrlWordData.ctrlWord.Equals("picscaled")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("picprop")) { skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("defshp")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("piccropt")) { this.cropTop = ctrlWordData.IntValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("piccropb")) { this.cropBottom = ctrlWordData.IntValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("piccropl")) { this.cropLeft = ctrlWordData.IntValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("piccropr")) { this.cropRight = ctrlWordData.IntValue(); result = true;}
                /* metafile information */
                if (ctrlWordData.ctrlWord.Equals("picbmp")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("picbpp")) { result = true;}
                /* picture data */
                if (ctrlWordData.ctrlWord.Equals("bin")) {
                    this.dataFormat = FORMAT_BINARY;
                    // set length to param
                    this.binaryLength = ctrlWordData.LongValue();
                    this.rtfParser.SetTokeniserStateBinary(binaryLength);
                    result = true;
                }
                if (ctrlWordData.ctrlWord.Equals("blipupi")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("blipuid")) { skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("bliptag")) { result = true;}
            }
            if (this.rtfParser.IsConvert()) {
                if (ctrlWordData.ctrlWord.Equals("shppict")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("nonshppict")) { skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("blipuid")) { result = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("pict")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("emfblip")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("pngblip")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("jepgblip")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("macpict")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("pmmetafile")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("wmetafile")) {  skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("dibitmap")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("wbitmap")) { result = true;}
                /* bitmap information */
                if (ctrlWordData.ctrlWord.Equals("wbmbitspixel")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("wbmplanes")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("wbmwidthbytes")) { result = true;}
                /* picture size, scaling and cropping */
                if (ctrlWordData.ctrlWord.Equals("picw")) { this.width = ctrlWordData.LongValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("pich")) { this.height = ctrlWordData.LongValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("picwgoal")) { this.desiredWidth = ctrlWordData.LongValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("pichgoal")) { this.desiredHeight = ctrlWordData.LongValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("picscalex")) { this.scaleX = ctrlWordData.IntValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("picscaley")) { this.scaleY = ctrlWordData.IntValue();result = true;}
                if (ctrlWordData.ctrlWord.Equals("picscaled")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("picprop")) { skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("defshp")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("piccropt")) { this.cropTop = ctrlWordData.IntValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("piccropb")) { this.cropBottom = ctrlWordData.IntValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("piccropl")) { this.cropLeft = ctrlWordData.IntValue(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("piccropr")) { this.cropRight = ctrlWordData.IntValue(); result = true;}
                /* metafile information */
                if (ctrlWordData.ctrlWord.Equals("picbmp")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("picbpp")) { result = true;}
                /* picture data */
                if(ctrlWordData.ctrlWord.Equals("bin")) {
                    dataFormat = FORMAT_BINARY; result = true;
                }
                if (ctrlWordData.ctrlWord.Equals("blipupi")) { result = true;}
                if (ctrlWordData.ctrlWord.Equals("blipuid")) { skipCtrlWord = true; this.rtfParser.SetTokeniserStateSkipGroup(); result = true;}
                if (ctrlWordData.ctrlWord.Equals("bliptag")) { result = true;}

            }
            if (!skipCtrlWord) {
            switch (this.rtfParser.GetConversionType()) {
            case RtfParser.TYPE_IMPORT_FULL:
                    WriteBuffer();
                    WriteText(ctrlWordData.ToString());
                result = true;
                break;
            case RtfParser.TYPE_IMPORT_FRAGMENT:
                    WriteBuffer();
                    WriteText(ctrlWordData.ToString());
                result = true;
                break;
            case RtfParser.TYPE_CONVERT:
                result = true;
                break;
            default:    // error because is should be an import or convert
                result = false;
                break;
            }
            }
            return result;
        }