Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public void WsSpecificOverrides_TwoWs()
        {
            CheckDisposed();

            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);
        }
Esempio n. 3
0
        public void WsSpecificOverrides_OneWs()
        {
            byte[] buffer = new byte[] {
                0xC1, 0x87, 0x8B, 0x3B,     // 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
            };

            DummyStyleInfo entry = new DummyStyleInfo(Cache);

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

            Assert.AreEqual(1, overrideInfo.Count);
            Assert.AreEqual(999000001, 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);
        }
Esempio n. 4
0
		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);
		}
Esempio n. 5
0
		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);
		}