Exemple #1
0
 public GUIFontConfiguration(string tag, string path, float size, GlyphFilterFlags filter = GlyphFilterFlags.All)
     : this()
 {
     Tag    = tag;
     Path   = path;
     Size   = size;
     Filter = filter;
 }
Exemple #2
0
        public GuiFont(string filePath, float size, float scaleFactor, GlyphFilterFlags filter, float yoffset, float linespacing)
        {
            try {
                Name     = Path.GetFileName(filePath);
                FilePath = filePath.FixedExpandedPath();
                Size     = size;
                Filter   = filter;
                OnDemand = Filter.HasFlag(GlyphFilterFlags.OnDemand);

                YOffset     = yoffset;
                LineSpacing = linespacing;
                if (LineSpacing < 0.01)
                {
                    LineSpacing = 1;
                }
                InitFont(scaleFactor);
            } catch (Exception ex) {
                ex.LogError();
            }
        }
 public void AddFontConfig(string tag, string path, float size, float yOffset = 0, string fallbackTag = "Default", GlyphFilterFlags filter = GlyphFilterFlags.All)
 {
     AddFontConfig(new GUIFontConfiguration {
         Tag         = tag,
         FallbackTag = fallbackTag,
         Path        = path,
         Size        = size,
         YOffset     = yOffset,
         Filter      = filter,
     });
 }
        public static bool IsValid(this GlyphFilterFlags filter, char c)
        {
            //return true;
            // simple stupid but shortest and fastest solution..

            if (filter <= GlyphFilterFlags.OnDemand)
            {
                return(true);
            }

            if (filter.HasFlag(GlyphFilterFlags.Lower) && !Char.IsLower(c))
            {
                return(false);
            }
            if (filter.HasFlag(GlyphFilterFlags.Upper) && !Char.IsUpper(c))
            {
                return(false);
            }
            if (filter.HasFlag(GlyphFilterFlags.Symbol) && Char.IsLetterOrDigit(c))
            {
                return(false);
            }

            bool hasFilter = false;

            if (filter.HasFlag(GlyphFilterFlags.Punctation))
            {
                hasFilter = true;
                if (c.IsPunctation())
                {
                    return(true);
                }
            }

            if (filter.HasFlag(GlyphFilterFlags.Numeric))
            {
                hasFilter = true;
                if (Char.IsNumber(c))
                {
                    return(true);
                }
            }

            if (filter.HasFlag(GlyphFilterFlags.Alpha))
            {
                hasFilter = true;
                if (Char.IsLetter(c))
                {
                    return(true);
                }
            }

            if (filter.HasFlag(GlyphFilterFlags.Ascii))
            {
                hasFilter = true;
                if (c.ToString().Is7Bit())
                {
                    return(true);
                }
            }

            return(!hasFilter);
        }