public void AppendFontToLib(string benchmarkStr, Font font) { int len = benchmarkStr.Length; for (int i = 0; i < len; i++) { char v = benchmarkStr[i]; StdFont stdfont = new StdFont(v); stdfont.BuildData(font); Dictionary <Font, AbstractFont> fontInstanceMap; if (FontMap.TryGetValue(v, out fontInstanceMap)) { //字符存在 fontInstanceMap[font] = stdfont; } else { //新字符 fontInstanceMap = new Dictionary <Font, AbstractFont>(); fontInstanceMap[font] = stdfont; FontMap[v] = fontInstanceMap; } } RaiseFontLibChangedEvent(); }
public Font GetFont(string lan) { Font f; if (!FontMap.TryGetValue(lan, out f)) { f = FontMap["en"]; } return(f); }