Beispiel #1
0
Datei: Font.cs Projekt: ash2005/z
        private Font(SerializationInfo info, StreamingContext context)
        {
            Debug.Assert(info != null, "Didn't expect a null parameter");

            string          name  = null;
            float           size  = -1f;
            FontStyle       style = FontStyle.Regular;
            GraphicsUnit    unit  = GraphicsUnit.Point;
            SingleConverter sc    = new SingleConverter();

            SerializationInfoEnumerator sie = info.GetEnumerator();

            for (; sie.MoveNext();)
            {
                if (String.Equals(sie.Name, "Name", StringComparison.OrdinalIgnoreCase))
                {
                    name = (string)sie.Value;
                }
                else if (String.Equals(sie.Name, "Size", StringComparison.OrdinalIgnoreCase))
                {
                    if (sie.Value is System.String)
                    {
                        size = (float)sc.ConvertFrom(sie.Value);
                    }
                    else
                    {
                        size = (float)sie.Value;
                    }
                }
                else if (String.Compare(sie.Name, "Style", true, CultureInfo.InvariantCulture) == 0)
                {
                    style = (FontStyle)sie.Value;
                }
                else if (String.Compare(sie.Name, "Unit", true, CultureInfo.InvariantCulture) == 0)
                {
                    unit = (GraphicsUnit)sie.Value;
                }
                else
                {
                    Debug.Fail("Unknown serialization item for font: " + sie.Name);
                }
            }

            Initialize(name, size, style, unit, SafeNativeMethods.DEFAULT_CHARSET, IsVerticalName(name));
        }
Beispiel #2
0
        private Font(SerializationInfo info, StreamingContext context)
        {
            string                      familyName      = null;
            float                       emSize          = -1f;
            FontStyle                   style           = FontStyle.Regular;
            GraphicsUnit                unit            = GraphicsUnit.Point;
            SingleConverter             singleConverter = new SingleConverter();
            SerializationInfoEnumerator enumerator      = info.GetEnumerator();

            while (enumerator.MoveNext())
            {
                if (string.Equals(enumerator.Name, "Name", StringComparison.OrdinalIgnoreCase))
                {
                    familyName = (string)enumerator.Value;
                }
                else if (string.Equals(enumerator.Name, "Size", StringComparison.OrdinalIgnoreCase))
                {
                    emSize = ((!(enumerator.Value is string))
                        ? ((float)enumerator.Value)
                        : ((float)singleConverter.ConvertFrom(enumerator.Value)));
                }
                else if (string.Compare(enumerator.Name, "Style", ignoreCase: true, CultureInfo.InvariantCulture) == 0)
                {
                    style = (FontStyle)enumerator.Value;
                }
                else if (string.Compare(enumerator.Name, "Unit", ignoreCase: true, CultureInfo.InvariantCulture) == 0)
                {
                    unit = (GraphicsUnit)enumerator.Value;
                }
            }

            //Initialize(familyName, emSize, style, unit, 1, IsVerticalName(familyName));
            if (unit == GraphicsUnit.Point)
            {
                emSize *= 1.333f;
            }

            nativeFont = new SKPaint()
            {
                Typeface     = SKTypeface.Default, TextSize = emSize, Style = SKPaintStyle.Fill,
                TextAlign    = SKTextAlign.Left, IsVerticalText = IsVerticalName(familyName),
                TextEncoding = SKTextEncoding.Utf8
            };
        }
Beispiel #3
0
        private Font(SerializationInfo info, StreamingContext context)
        {
            this.gdiCharSet     = 1;
            this.systemFontName = "";
            string                      familyName = null;
            float                       emSize     = -1f;
            FontStyle                   regular    = FontStyle.Regular;
            GraphicsUnit                point      = GraphicsUnit.Point;
            SingleConverter             converter  = new SingleConverter();
            SerializationInfoEnumerator enumerator = info.GetEnumerator();

            while (enumerator.MoveNext())
            {
                if (string.Equals(enumerator.Name, "Name", StringComparison.OrdinalIgnoreCase))
                {
                    familyName = (string)enumerator.Value;
                }
                else
                {
                    if (string.Equals(enumerator.Name, "Size", StringComparison.OrdinalIgnoreCase))
                    {
                        if (enumerator.Value is string)
                        {
                            emSize = (float)converter.ConvertFrom(enumerator.Value);
                        }
                        else
                        {
                            emSize = (float)enumerator.Value;
                        }
                        continue;
                    }
                    if (string.Compare(enumerator.Name, "Style", true, CultureInfo.InvariantCulture) == 0)
                    {
                        regular = (FontStyle)enumerator.Value;
                    }
                    else if (string.Compare(enumerator.Name, "Unit", true, CultureInfo.InvariantCulture) == 0)
                    {
                        point = (GraphicsUnit)enumerator.Value;
                    }
                }
            }
            this.Initialize(familyName, emSize, regular, point, 1, IsVerticalName(familyName));
        }
Beispiel #4
0
        private Font(SerializationInfo info, StreamingContext context)
        {
            string                      familyName      = null;
            float                       emSize          = -1f;
            FontStyle                   style           = FontStyle.Regular;
            GraphicsUnit                unit            = GraphicsUnit.Point;
            SingleConverter             singleConverter = new SingleConverter();
            SerializationInfoEnumerator enumerator      = info.GetEnumerator();

            while (enumerator.MoveNext())
            {
                if (string.Equals(enumerator.Name, "Name", StringComparison.OrdinalIgnoreCase))
                {
                    familyName = (string)enumerator.Value;
                }
                else if (string.Equals(enumerator.Name, "Size", StringComparison.OrdinalIgnoreCase))
                {
                    emSize = ((!(enumerator.Value is string)) ? ((float)enumerator.Value) : ((float)singleConverter.ConvertFrom(enumerator.Value)));
                }
                else if (string.Compare(enumerator.Name, "Style", ignoreCase: true, CultureInfo.InvariantCulture) == 0)
                {
                    style = (FontStyle)enumerator.Value;
                }
                else if (string.Compare(enumerator.Name, "Unit", ignoreCase: true, CultureInfo.InvariantCulture) == 0)
                {
                    unit = (GraphicsUnit)enumerator.Value;
                }
            }
            Initialize(familyName, emSize, style, unit, 1, IsVerticalName(familyName));
        }