Example #1
0
        /// <summary>
        /// Constructs the composite font parser and parses the file.
        /// </summary>
        /// <param name="fileStream">File stream to parse.</param>
        private CompositeFontParser(Stream fileStream)
        {
            _compositeFontInfo = new CompositeFontInfo();

            _namespaceMap             = new Hashtable();
            _doubleTypeConverter      = TypeDescriptor.GetConverter(typeof(double));
            _xmlLanguageTypeConverter = new System.Windows.Markup.XmlLanguageConverter();

            _reader = CreateXmlReader(fileStream);

            try
            {
                if (IsStartElement(FontFamilyElement, CompositeFontNamespace))
                {
                    ParseFontFamilyElement();
                }
                else
                {
                    FailUnknownElement();
                }
            }
            catch (XmlException x)
            {
                FailNotWellFormed(x);
            }
            catch (XmlSyntaxException x)
            {
                FailNotWellFormed(x);
            }
            catch (FormatException x)
            {
                if (_reader.NodeType == XmlNodeType.Attribute)
                {
                    FailAttributeValue(x);
                }
                else
                {
                    Fail(x.Message, x);
                }
            }
            catch (ArgumentException x)
            {
                if (_reader.NodeType == XmlNodeType.Attribute)
                {
                    FailAttributeValue(x);
                }
                else
                {
                    Fail(x.Message, x);
                }
            }
            finally
            {
                _reader.Close();
                _reader = null;
            }
        }
Example #2
0
 // Initialize known object types
 internal static TypeConverter CreateKnownTypeConverter(Int16 converterId)
 { 
     TypeConverter o = null;
     switch (converterId) 
     { 
         case -42: o = new System.Windows.Media.Converters.BoolIListConverter(); break;
         case -46: o = new System.ComponentModel.BooleanConverter(); break; 
         case -53: o = new System.Windows.Media.BrushConverter(); break;
         case -61: o = new System.ComponentModel.ByteConverter(); break;
         case -70: o = new System.ComponentModel.CharConverter(); break;
         case -71: o = new System.Windows.Media.Converters.CharIListConverter(); break; 
         case -87: o = new System.Windows.Media.ColorConverter(); break;
         case -94: o = new System.Windows.Input.CommandConverter(); break; 
         case -96: o = new System.Windows.Markup.ComponentResourceKeyConverter(); break; 
         case -111: o = new System.Windows.CornerRadiusConverter(); break;
         case -114: o = new System.ComponentModel.CultureInfoConverter(); break; 
         case -115: o = new System.Windows.CultureInfoIetfLanguageTagConverter(); break;
         case -117: o = new System.Windows.Input.CursorConverter(); break;
         case -124: o = new System.ComponentModel.DateTimeConverter(); break;
         case -125: o = new System.Windows.Markup.DateTimeConverter2(); break; 
         case -130: o = new System.ComponentModel.DecimalConverter(); break;
         case -137: o = new System.Windows.Markup.DependencyPropertyConverter(); break; 
         case -138: o = new System.Windows.DialogResultConverter(); break; 
         case -174: o = new System.Windows.Media.DoubleCollectionConverter(); break;
         case -175: o = new System.ComponentModel.DoubleConverter(); break; 
         case -176: o = new System.Windows.Media.Converters.DoubleIListConverter(); break;
         case -188: o = new System.Windows.DurationConverter(); break;
         case -190: o = new System.Windows.DynamicResourceExtensionConverter(); break;
         case -201: o = new System.Windows.ExpressionConverter(); break; 
         case -204: o = new System.Windows.FigureLengthConverter(); break;
         case -215: o = new System.Windows.Media.FontFamilyConverter(); break; 
         case -216: o = new System.Windows.FontSizeConverter(); break; 
         case -218: o = new System.Windows.FontStretchConverter(); break;
         case -220: o = new System.Windows.FontStyleConverter(); break; 
         case -222: o = new System.Windows.FontWeightConverter(); break;
         case -240: o = new System.Windows.Media.GeometryConverter(); break;
         case -256: o = new System.Windows.GridLengthConverter(); break;
         case -267: o = new System.ComponentModel.GuidConverter(); break; 
         case -286: o = new System.Windows.Media.ImageSourceConverter(); break;
         case -299: o = new System.Windows.Input.InputScopeConverter(); break; 
         case -301: o = new System.Windows.Input.InputScopeNameConverter(); break; 
         case -306: o = new System.ComponentModel.Int16Converter(); break;
         case -314: o = new System.Windows.Media.Int32CollectionConverter(); break; 
         case -315: o = new System.ComponentModel.Int32Converter(); break;
         case -319: o = new System.Windows.Int32RectConverter(); break;
         case -324: o = new System.ComponentModel.Int64Converter(); break;
         case -338: o = new System.Windows.Input.KeyConverter(); break; 
         case -340: o = new System.Windows.Input.KeyGestureConverter(); break;
         case -342: o = new System.Windows.KeySplineConverter(); break; 
         case -344: o = new System.Windows.KeyTimeConverter(); break; 
         case -348: o = new System.Windows.LengthConverter(); break;
         case -387: o = new System.Windows.Media.Media3D.Matrix3DConverter(); break; 
         case -392: o = new System.Windows.Media.MatrixConverter(); break;
         case -410: o = new System.Windows.Input.ModifierKeysConverter(); break;
         case -411: o = new System.Windows.Input.MouseActionConverter(); break;
         case -415: o = new System.Windows.Input.MouseGestureConverter(); break; 
         case -423: o = new System.Windows.NullableBoolConverter(); break;
         case -445: o = new System.Windows.Media.PathFigureCollectionConverter(); break; 
         case -453: o = new System.Windows.Media.PixelFormatConverter(); break; 
         case -462: o = new System.Windows.Media.Media3D.Point3DCollectionConverter(); break;
         case -463: o = new System.Windows.Media.Media3D.Point3DConverter(); break; 
         case -467: o = new System.Windows.Media.Media3D.Point4DConverter(); break;
         case -473: o = new System.Windows.Media.PointCollectionConverter(); break;
         case -474: o = new System.Windows.PointConverter(); break;
         case -475: o = new System.Windows.Media.Converters.PointIListConverter(); break; 
         case -492: o = new System.Windows.PropertyPathConverter(); break;
         case -498: o = new System.Windows.Media.Media3D.QuaternionConverter(); break; 
         case -507: o = new System.Windows.Media.Media3D.Rect3DConverter(); break; 
         case -511: o = new System.Windows.RectConverter(); break;
         case -521: o = new System.Windows.Media.Animation.RepeatBehaviorConverter(); break; 
         case -538: o = new System.Windows.Markup.RoutedEventConverter(); break;
         case -545: o = new System.ComponentModel.SByteConverter(); break;
         case -563: o = new System.ComponentModel.SingleConverter(); break;
         case -568: o = new System.Windows.Media.Media3D.Size3DConverter(); break; 
         case -572: o = new System.Windows.SizeConverter(); break;
         case -615: o = new System.ComponentModel.StringConverter(); break; 
         case -619: o = new System.Windows.StrokeCollectionConverter(); break; 
         case -633: o = new System.Windows.TemplateBindingExpressionConverter(); break;
         case -635: o = new System.Windows.TemplateBindingExtensionConverter(); break; 
         case -637: o = new System.Windows.Markup.TemplateKeyConverter(); break;
         case -645: o = new System.Windows.TextDecorationCollectionConverter(); break;
         case -655: o = new System.Windows.ThicknessConverter(); break;
         case -664: o = new System.ComponentModel.TimeSpanConverter(); break; 
         case -681: o = new System.Windows.Media.TransformConverter(); break;
         case -692: o = new System.Windows.Markup.TypeTypeConverter(); break; 
         case -696: o = new System.ComponentModel.UInt16Converter(); break; 
         case -698: o = new System.ComponentModel.UInt32Converter(); break;
         case -700: o = new System.ComponentModel.UInt64Converter(); break; 
         case -701: o = new System.Windows.Media.Converters.UShortIListConverter(); break;
         case -705: o = new System.UriTypeConverter(); break;
         case -714: o = new System.Windows.Media.Media3D.Vector3DCollectionConverter(); break;
         case -715: o = new System.Windows.Media.Media3D.Vector3DConverter(); break; 
         case -722: o = new System.Windows.Media.VectorCollectionConverter(); break;
         case -723: o = new System.Windows.VectorConverter(); break; 
         case -757: o = new System.Windows.Markup.XmlLanguageConverter(); break; 
     }
     return o; 
 }
Example #3
0
        /// <summary>
        /// Constructs the composite font parser and parses the file.
        /// </summary>
        /// <param name="fileStream">File stream to parse.</param>
        private CompositeFontParser(Stream fileStream)
        {
            _compositeFontInfo = new CompositeFontInfo();

            _namespaceMap             = new Hashtable();
            _doubleTypeConverter      = TypeDescriptor.GetConverter(typeof(double));
            _xmlLanguageTypeConverter = new System.Windows.Markup.XmlLanguageConverter();

            _reader = CreateXmlReader(fileStream);

            try
            {
                if (IsStartElement(FontFamilyElement, CompositeFontNamespace))
                {
                    ParseFontFamilyElement();
                }
                // DevDiv:1158540
                // CompositeFont files have been modified to allow a family collection in order to select
                // a family based on OS versions.
                else if (IsStartElement(FontFamilyCollectionElement, CompositeFontNamespace))
                {
                    ParseFontFamilyCollectionElement();
                }
                else
                {
                    FailUnknownElement();
                }
            }
            catch (XmlException x)
            {
                FailNotWellFormed(x);
            }
            catch (Exception x) when(string.Equals(x.GetType().FullName, "System.Security.XmlSyntaxException", StringComparison.OrdinalIgnoreCase))
            {
                FailNotWellFormed(x);
            }
            catch (FormatException x)
            {
                if (_reader.NodeType == XmlNodeType.Attribute)
                {
                    FailAttributeValue(x);
                }
                else
                {
                    Fail(x.Message, x);
                }
            }
            catch (ArgumentException x)
            {
                if (_reader.NodeType == XmlNodeType.Attribute)
                {
                    FailAttributeValue(x);
                }
                else
                {
                    Fail(x.Message, x);
                }
            }
            finally
            {
                _reader.Close();
                _reader = null;
            }
        }
        /// <summary> 
        /// Constructs the composite font parser and parses the file.
        /// </summary> 
        /// <param name="fileStream">File stream to parse.</param>
        private CompositeFontParser(Stream fileStream)
        {
            _compositeFontInfo = new CompositeFontInfo(); 

            _namespaceMap = new Hashtable(); 
            _doubleTypeConverter = TypeDescriptor.GetConverter(typeof(double)); 
            _xmlLanguageTypeConverter = new System.Windows.Markup.XmlLanguageConverter();
 
            _reader = CreateXmlReader(fileStream);

            try
            { 
                if (IsStartElement(FontFamilyElement, CompositeFontNamespace))
                { 
                    ParseFontFamilyElement(); 
                }
                else 
                {
                    FailUnknownElement();
                }
            } 
            catch (XmlException x)
            { 
                FailNotWellFormed(x); 
            }
            catch (XmlSyntaxException x) 
            {
                FailNotWellFormed(x);
            }
            catch (FormatException x) 
            {
                if (_reader.NodeType == XmlNodeType.Attribute) 
                    FailAttributeValue(x); 
                else
                    Fail(x.Message, x); 
            }
            catch (ArgumentException x)
            {
                if (_reader.NodeType == XmlNodeType.Attribute) 
                    FailAttributeValue(x);
                else 
                    Fail(x.Message, x); 
            }
            finally 
            {
                _reader.Close();
                _reader = null;
            } 
        }