void GetFontsForAssembledStyle(AssembledStyles styles, Dictionary <string, int> fonts, ref int nextId) { int ws = styles.Ws; string fontName = styles.FaceName; if (ws != 0) { var chrp = styles.Chrp; var wsFactory = Anchor.Para.Source.GetWsFactory(); if (wsFactory != null) // paranoia { var writingSystem = wsFactory.get_EngineOrNull(ws); if (writingSystem != null) { writingSystem.InterpretChrp(ref chrp); fontName = AssembledStyles.FaceNameFromChrp(chrp); } } } int id; if (fonts.TryGetValue(fontName, out id)) { return; } fonts[fontName] = nextId++; }
public void InterpretChrp(ref LgCharRenderProps chrp) { if (AssembledStyles.FaceNameFromChrp(chrp) == AssembledStyles.DefaultFontName) { AssembledStyles.SetFaceName(ref chrp, "MockFont"); } }