Exemplo n.º 1
0
        public BorderedFontContent(XmlBorderedFontDefinition definition)
        {
            Font font = new Font(definition.FontName, definition.Size * 96.0f / 72.0f, GraphicsUnit.Pixel);

            _spaceMultiplier = definition.SpaceMultiplier;

            Generate(out BorderedDefStr, out BorderedTexture, font, definition.BorderThickness, definition.UseKerning, definition.CharactersToInclude);
            Generate(out InnerDefStr, out InnerTexture, font, 0, definition.UseKerning, definition.CharactersToInclude);

            if (definition.IncludeRetina)
            {
                var backup = KerningInfo;
                font = new Font(definition.FontName, 2 * definition.Size * 96.0f / 72.0f, GraphicsUnit.Pixel);

                Generate(out RetinaBorderedDefStr, out RetinaBorderedTexture, font, definition.BorderThickness * 2, definition.UseKerning, definition.CharactersToInclude);
                Generate(out RetinaInnerDefStr, out RetinaInnerTexture, font, 0, definition.UseKerning, definition.CharactersToInclude);

                RetinaKerningInfo = KerningInfo;
                KerningInfo = backup;
            }
        }
Exemplo n.º 2
0
        private static void Main(string[] args)
        {
            var def = new XmlBorderedFontDefinition(args[0]);
            var content = new BorderedFontContent(def);

            string fileName = Path.GetFileNameWithoutExtension(args[0]);

            if (args.Length == 2 || args[2] == "normalres")
            {
                content.InnerTexture.Save(Path.Combine(args[1], fileName + ".inner.png"));
                content.BorderedTexture.Save(Path.Combine(args[1], fileName + ".border.png"));
                File.WriteAllText(Path.Combine(args[1], fileName + ".inner.txt"), content.InnerDefStr);
                File.WriteAllText(Path.Combine(args[1], fileName + ".border.txt"), content.BorderedDefStr);
                File.WriteAllText(Path.Combine(args[1], fileName + ".kerning.txt"), content.KerningInfo);
            }
            if (args.Length == 2 || args[2] == "retina")
            {
                content.RetinaInnerTexture.Save(Path.Combine(args[1], fileName + "*****@*****.**"));
                content.RetinaBorderedTexture.Save(Path.Combine(args[1], fileName + "*****@*****.**"));
                File.WriteAllText(Path.Combine(args[1], fileName + "*****@*****.**"), content.RetinaInnerDefStr);
                File.WriteAllText(Path.Combine(args[1], fileName + "*****@*****.**"), content.RetinaBorderedDefStr);
                File.WriteAllText(Path.Combine(args[1], fileName + "*****@*****.**"), content.RetinaKerningInfo);
            }
        }