public FontInfo(IntPtr hfont, string fontFamily, int fontSize, int fontWeight, AntialiasFormat antialiasFormat) { Hfont = hfont; FontFamily = fontFamily; FontSize = fontSize; FontWeight = fontWeight; AntialiasFormat = antialiasFormat; }
public int RegisterFont(string fontFamily, int fontSize, int fontWeight, AntialiasFormat antialiasFormat) { IntPtr hfont = isX64 ? CalculationX64.getHfont(fontFamily, fontSize, fontWeight) : CalculationX86.getHfont(fontFamily, fontSize, fontWeight); if (fonts.Any(f => f.FontFamily == fontFamily && f.FontSize == fontSize && f.FontWeight == fontWeight && f.AntialiasFormat == antialiasFormat)) { return(fonts.FindIndex(f => f.FontFamily == fontFamily && f.FontSize == fontSize && f.FontWeight == fontWeight && f.AntialiasFormat == antialiasFormat)); } else { fonts.Add(new FontInfo(hfont, fontFamily, fontSize, fontWeight, antialiasFormat)); return(fonts.Count - 1); } }
internal LedFont Create(string name, string systemName, IEnumerable <string> searchNames, string fontFamily, int fontSize, int fontWeight, AntialiasFormat antialiasFormat) { int fontIndex = calculatorGateway.RegisterFont(fontFamily, fontSize, fontWeight, antialiasFormat); int ascent = calculatorGateway.GetStringAscent(fontIndex); int height = calculatorGateway.GetStringHeight(fontIndex); return(new LedFont(name, systemName, searchNames, fontIndex, ascent, height)); }