public void TestFontLotus()
        {
            using (Stream sIn = new FileStream(TESTFILE_DIR + "FontLotus.xml", FileMode.Open))
            {
                DocXReaderTestWriter writerOut = new DocXReaderTestWriter(null);

                font_Handler objectConsumer = new font_Handler(null);
                Helper_ParseFileIntoConsumer(sIn, writerOut, objectConsumer);

                Assert.IsTrue(objectConsumer.HasNonDocElements(), "font should generate a nondoc element");
                Queue<object> nonDocs = objectConsumer.GetNonDocElements();
                Assert.AreEqual(1, nonDocs.Count, "font should generate 1 nondoc element");
                FCSFont font = nonDocs.Dequeue() as FCSFont;
                Assert.IsNotNull(font);

                Assert.IsTrue(font.Family == FCSFont.FontFamilies.Auto);
                Assert.AreEqual("LotusWPSet", font.Name);
                Assert.AreEqual("02", font.CharSet);
                Assert.IsTrue(font.Type == FCSFont.FontTypes.Default);
            }
        }
        public void TestFontNotTrueType()
        {
            using (Stream sIn = new FileStream(TESTFILE_DIR + "FontNotTT.xml", FileMode.Open))
            {
                DocXReaderTestWriter writerOut = new DocXReaderTestWriter(null);

                font_Handler objectConsumer = new font_Handler(null);
                Helper_ParseFileIntoConsumer(sIn, writerOut, objectConsumer);

                Assert.IsTrue(objectConsumer.HasNonDocElements(), "font should generate a nondoc element");
                Queue<object> nonDocs = objectConsumer.GetNonDocElements();
                Assert.AreEqual(1, nonDocs.Count, "font should generate 1 nondoc element");
                FCSFont font = nonDocs.Dequeue() as FCSFont;
                Assert.IsNotNull(font);

                Assert.IsTrue(font.Family == FCSFont.FontFamilies.Roman);
                Assert.AreEqual("Tms Rmn", font.Name);
                Assert.AreEqual("00", font.CharSet);


                // TODO this with another font
                //Assert.IsTrue(font.Type == FCSFont.FontTypes.TrueType); but it is not and there is the embedded clarify
                //public string AlternateName { get; set; }
                //public short CodePage { get; set; }
                //public EmbeddedFont FontData { get; set; }
                //public FCSFont.FontTypes Type { get; set; }
            }
        }
        public void TestFontCalibri()
        {
            using (Stream sIn = new FileStream(TESTFILE_DIR + "FontCalibri.xml", FileMode.Open))
            {
                DocXReaderTestWriter writerOut = new DocXReaderTestWriter(null);

                font_Handler objectConsumer = new font_Handler(null);
                Helper_ParseFileIntoConsumer(sIn, writerOut, objectConsumer);

                Assert.IsTrue(objectConsumer.HasNonDocElements(), "font should generate a nondoc element");
                Queue<object> nonDocs = objectConsumer.GetNonDocElements();
                Assert.AreEqual(1, nonDocs.Count, "font should generate 1 nondoc element");
                FCSFont font = nonDocs.Dequeue() as FCSFont;
                Assert.IsNotNull(font);

                Assert.IsTrue(font.Family == FCSFont.FontFamilies.Swiss);
                Assert.AreEqual("Calibri", font.Name);
                Assert.AreEqual(0, font.Number, "Font number is 0 until coontext puts it into a font table");
                Assert.IsTrue(font.Pitch == FCSFont.Pitches.Variable);
                Assert.AreEqual(-1610611985, font.UnicodeRangeUsb0);
                Assert.AreEqual(1073750139, font.UnicodeRangeUsb1);
                Assert.AreEqual(0, font.UnicodeRangeUsb2);
                Assert.AreEqual(0, font.UnicodeRangeUsb3);
                Assert.AreEqual(159, font.UnicodeRangeCsb0);
                Assert.AreEqual(0, font.UnicodeRangeCsb1);

                PanoseInformation piRead = font.PanoseInformation;
                Assert.AreEqual(2, piRead[0]);
                Assert.AreEqual(15, piRead[1]);
                Assert.AreEqual(5, piRead[2]);
                Assert.AreEqual(2, piRead[3]);
                Assert.AreEqual(2, piRead[4]);
                Assert.AreEqual(2, piRead[5]);
                Assert.AreEqual(4, piRead[6]);
                Assert.AreEqual(3, piRead[7]);
                Assert.AreEqual(2, piRead[8]);
                Assert.AreEqual(4, piRead[9]);
            }
        }