Bloom.Book.HtmlDom.FindFontsUsedInCss C# (CSharp) Method

FindFontsUsedInCss() public static method

Finds a list of fonts used in the given css
public static FindFontsUsedInCss ( string cssContent, HashSet result, bool includeFallbackFonts ) : void
cssContent string
result HashSet
includeFallbackFonts bool true to include fallback fonts, false to include only the first font in each font family
return void
        public static void FindFontsUsedInCss(string cssContent, HashSet<string> result, bool includeFallbackFonts)
        {
            var findFF = new Regex("font-family:\\s*([^;}]*)[;}]");
            foreach(Match match in findFF.Matches(cssContent))
            {
                foreach(var family in match.Groups[1].Value.Split(','))
                {
                    var name = family.Trim();
                    // Strip matched quotes
                    if(name[0] == '\'' || name[0] == '"' && name[0] == name[name.Length - 1])
                        name = name.Substring(1, name.Length - 2);
                    result.Add(name);
                    if(!includeFallbackFonts)
                        break;
                }
            }
        }