示例#1
0
        public void ShouldGetKerning()
        {
            var font = TrueTypeFont.FromFile(@"C:\Windows\Fonts\arial.ttf");

            var horizontalKerning = KerningHelper.GetHorizontalKerning('A', 'W', font);

            Assert.True(horizontalKerning < 0);

            horizontalKerning = KerningHelper.GetHorizontalKerning('T', 'T', font);
            Assert.Equal(0, horizontalKerning);
        }
示例#2
0
        private static List <KerningPair> ReadKerningInformation(string path, IReadOnlyList <char> characters)
        {
            var pairs = new List <KerningPair>();

            var font = RoyT.TrueType.TrueTypeFont.FromFile(path);

            foreach (var left in characters)
            {
                foreach (var right in characters)
                {
                    var kerning = KerningHelper.GetHorizontalKerning(left, right, font);
                    if (kerning > 0 || kerning < 0)
                    {
                        // Scale the kerning by the same factor MSDFGEN scales it
                        pairs.Add(new KerningPair(left, right, kerning / 64.0f));
                    }
                }
            }

            return(pairs);
        }