예제 #1
0
        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++;
        }
예제 #2
0
 public void InterpretChrp(ref LgCharRenderProps chrp)
 {
     if (AssembledStyles.FaceNameFromChrp(chrp) == AssembledStyles.DefaultFontName)
     {
         AssembledStyles.SetFaceName(ref chrp, "MockFont");
     }
 }