public void WsSpecificOverrides_FontFamily()
        {
            byte[] buffer = new byte[] {
                0x34, 0x12, 0x00, 0x00,     // WS
                0x09, 0x00,                 // FF length
                (byte)'F', 0,
                (byte)'o', 0,
                (byte)'n', 0,
                (byte)'t', 0,
                (byte)'a', 0,
                (byte)'s', 0,
                (byte)'t', 0,
                (byte)'i', 0,
                (byte)'c', 0,

                0x01, 0x00,                 // Count of int props

                0x06, 0x00,                 // First int prop: type
                0x01, 0x00,                 // Variant
                0xe0, 0x2e, 0x00, 0x00,     // value
            };

            DummyStyleInfo entry = new DummyStyleInfo(Cache);

            List <FontOverrideInfo> overrideInfo = entry.CallProcessWsSpecificOverrides(buffer);

            Assert.AreEqual(1, overrideInfo.Count);
            Assert.AreEqual(0x1234, overrideInfo[0].m_ws);
            Assert.AreEqual("Fontastic", overrideInfo[0].m_fontFamily);
            Assert.AreEqual(0, overrideInfo[0].m_stringProps.Count);
            Assert.AreEqual(1, overrideInfo[0].m_intProps.Count);
            Assert.AreEqual(6, overrideInfo[0].m_intProps[0].m_textPropType);
            Assert.AreEqual(1, overrideInfo[0].m_intProps[0].m_variant);
            Assert.AreEqual(0x2ee0, overrideInfo[0].m_intProps[0].m_value);
        }
        public void WsSpecificOverrides_TwoWs()
        {
            byte[] buffer = new byte[] {
                0x34, 0x12, 0x00, 0x00,     // WS
                0x00, 0x00,                 // FF length
                0x03, 0x00,                 // Count of int props

                0x06, 0x00,                 // First int prop: type
                0x01, 0x00,                 // Variant
                0xe0, 0x2e, 0x00, 0x00,     // value

                0x08, 0x00,                 // Second int prop: type
                0x00, 0x00,                 // Variant
                0xff, 0xff, 0x00, 0x00,     // value

                0x09, 0x00,                 // Third int prop: type
                0x00, 0x00,                 // Variant
                0x00, 0x00, 0x00, 0x00,     // value

                // Second writing system
                0x35, 0x12, 0x00, 0x00,     // WS
                0x00, 0x00,                 // FF length
                0x01, 0x00,                 // Count of int props

                0x08, 0x00,                 // First int prop: type
                0x00, 0x00,                 // Variant
                0xee, 0xee, 0x00, 0x00,     // value
            };

            DummyStyleInfo entry = new DummyStyleInfo(Cache);

            List <FontOverrideInfo> overrideInfo = entry.CallProcessWsSpecificOverrides(buffer);

            Assert.AreEqual(2, overrideInfo.Count);
            Assert.AreEqual(0x1234, overrideInfo[0].m_ws);
            Assert.AreEqual(0, overrideInfo[0].m_fontFamily.Length);
            Assert.AreEqual(0, overrideInfo[0].m_stringProps.Count);
            Assert.AreEqual(3, overrideInfo[0].m_intProps.Count);
            Assert.AreEqual(6, overrideInfo[0].m_intProps[0].m_textPropType);
            Assert.AreEqual(1, overrideInfo[0].m_intProps[0].m_variant);
            Assert.AreEqual(0x2ee0, overrideInfo[0].m_intProps[0].m_value);
            Assert.AreEqual(8, overrideInfo[0].m_intProps[1].m_textPropType);
            Assert.AreEqual(0, overrideInfo[0].m_intProps[1].m_variant);
            Assert.AreEqual(0xffff, overrideInfo[0].m_intProps[1].m_value);
            Assert.AreEqual(9, overrideInfo[0].m_intProps[2].m_textPropType);
            Assert.AreEqual(0, overrideInfo[0].m_intProps[2].m_variant);
            Assert.AreEqual(0, overrideInfo[0].m_intProps[2].m_value);

            Assert.AreEqual(0x1235, overrideInfo[1].m_ws);
            Assert.AreEqual(0, overrideInfo[1].m_fontFamily.Length);
            Assert.AreEqual(0, overrideInfo[1].m_stringProps.Count);
            Assert.AreEqual(1, overrideInfo[1].m_intProps.Count);
            Assert.AreEqual(8, overrideInfo[1].m_intProps[0].m_textPropType);
            Assert.AreEqual(0, overrideInfo[1].m_intProps[0].m_variant);
            Assert.AreEqual(0xeeee, overrideInfo[1].m_intProps[0].m_value);
        }