public static KerningPair ReadText(IReadOnlyList <string> lineSegments, out int amount) { var first = TextFormatUtility.ReadInt("first", lineSegments); var second = TextFormatUtility.ReadInt("second", lineSegments); amount = TextFormatUtility.ReadInt("amount", lineSegments); return(new KerningPair(first, second)); }
public void WriteText(TextWriter textWriter, int id) { TextFormatUtility.WriteInt("id", id, textWriter); TextFormatUtility.WriteInt("x", X, textWriter); TextFormatUtility.WriteInt("y", Y, textWriter); TextFormatUtility.WriteInt("width", Width, textWriter); TextFormatUtility.WriteInt("height", Height, textWriter); TextFormatUtility.WriteInt("xoffset", XOffset, textWriter); TextFormatUtility.WriteInt("yoffset", YOffset, textWriter); TextFormatUtility.WriteInt("xadvance", XAdvance, textWriter); TextFormatUtility.WriteInt("page", Page, textWriter); TextFormatUtility.WriteEnum("chnl", Channel, textWriter); }
public void WriteText(TextWriter textWriter, int pages) { TextFormatUtility.WriteInt("lineHeight", LineHeight, textWriter); TextFormatUtility.WriteInt("base", Base, textWriter); TextFormatUtility.WriteInt("scaleW", ScaleWidth, textWriter); TextFormatUtility.WriteInt("scaleH", ScaleHeight, textWriter); TextFormatUtility.WriteInt("pages", pages, textWriter); TextFormatUtility.WriteBool("packed", Packed, textWriter); TextFormatUtility.WriteEnum("alphaChnl", AlphaChannel, textWriter); TextFormatUtility.WriteEnum("redChnl", RedChannel, textWriter); TextFormatUtility.WriteEnum("greenChnl", GreenChannel, textWriter); TextFormatUtility.WriteEnum("blueChnl", BlueChannel, textWriter); }
public static Character ReadText(IReadOnlyList <string> lineSegments, out int id) { id = TextFormatUtility.ReadInt("id", lineSegments); return(new Character { X = TextFormatUtility.ReadInt("x", lineSegments), Y = TextFormatUtility.ReadInt("y", lineSegments), Width = TextFormatUtility.ReadInt("width", lineSegments), Height = TextFormatUtility.ReadInt("height", lineSegments), XOffset = TextFormatUtility.ReadInt("xoffset", lineSegments), YOffset = TextFormatUtility.ReadInt("yoffset", lineSegments), XAdvance = TextFormatUtility.ReadInt("xadvance", lineSegments), Page = TextFormatUtility.ReadInt("page", lineSegments), Channel = TextFormatUtility.ReadEnum <Channel>("chnl", lineSegments) }); }
public static BitmapFontCommon ReadText(IReadOnlyList <string> lineSegments, out int pages) { var bitmapFontCommon = new BitmapFontCommon(); bitmapFontCommon.LineHeight = TextFormatUtility.ReadInt("lineHeight", lineSegments); bitmapFontCommon.Base = TextFormatUtility.ReadInt("base", lineSegments); bitmapFontCommon.ScaleWidth = TextFormatUtility.ReadInt("scaleW", lineSegments); bitmapFontCommon.ScaleHeight = TextFormatUtility.ReadInt("scaleH", lineSegments); pages = TextFormatUtility.ReadInt("pages", lineSegments); bitmapFontCommon.Packed = TextFormatUtility.ReadBool("packed", lineSegments); bitmapFontCommon.AlphaChannel = TextFormatUtility.ReadEnum <ChannelData>("alphaChnl", lineSegments); bitmapFontCommon.RedChannel = TextFormatUtility.ReadEnum <ChannelData>("redChnl", lineSegments); bitmapFontCommon.GreenChannel = TextFormatUtility.ReadEnum <ChannelData>("greenChnl", lineSegments); bitmapFontCommon.BlueChannel = TextFormatUtility.ReadEnum <ChannelData>("blueChnl", lineSegments); return(bitmapFontCommon); }
public static BitmapFontInfo ReadText(IReadOnlyList <string> lineSegments) { var bitmapFontInfo = new BitmapFontInfo(); bitmapFontInfo.Face = TextFormatUtility.ReadString("face", lineSegments, string.Empty); bitmapFontInfo.Size = TextFormatUtility.ReadInt("size", lineSegments); bitmapFontInfo.Bold = TextFormatUtility.ReadBool("bold", lineSegments); bitmapFontInfo.Italic = TextFormatUtility.ReadBool("italic", lineSegments); bitmapFontInfo.Charset = TextFormatUtility.ReadString("charset", lineSegments, string.Empty); bitmapFontInfo.Unicode = TextFormatUtility.ReadBool("unicode", lineSegments); bitmapFontInfo.StretchHeight = TextFormatUtility.ReadInt("stretchH", lineSegments); bitmapFontInfo.Smooth = TextFormatUtility.ReadBool("smooth", lineSegments); bitmapFontInfo.SuperSamplingLevel = TextFormatUtility.ReadInt("aa", lineSegments); var padding = TextFormatUtility.ReadValue("padding", lineSegments)?.Split(','); if (padding != null) { bitmapFontInfo.PaddingLeft = padding.Length > 3 ? int.Parse(padding[3]) : 0; bitmapFontInfo.PaddingDown = padding.Length > 2 ? int.Parse(padding[2]) : 0; bitmapFontInfo.PaddingRight = padding.Length > 1 ? int.Parse(padding[1]) : 0; bitmapFontInfo.PaddingUp = padding.Length > 0 ? int.Parse(padding[0]) : 0; } var spacing = TextFormatUtility.ReadValue("spacing", lineSegments)?.Split(','); if (spacing != null) { bitmapFontInfo.SpacingVertical = spacing.Length > 1 ? int.Parse(spacing[1]) : 0; bitmapFontInfo.SpacingHorizontal = spacing.Length > 0 ? int.Parse(spacing[0]) : 0; } bitmapFontInfo.Outline = TextFormatUtility.ReadInt("outline", lineSegments); return(bitmapFontInfo); }
public void WriteText(TextWriter textWriter) { TextFormatUtility.WriteString("face", Face ?? string.Empty, textWriter); TextFormatUtility.WriteInt("size", Size, textWriter); TextFormatUtility.WriteBool("bold", Bold, textWriter); TextFormatUtility.WriteBool("italic", Italic, textWriter); TextFormatUtility.WriteString("charset", Charset ?? string.Empty, textWriter); TextFormatUtility.WriteBool("unicode", Unicode, textWriter); TextFormatUtility.WriteInt("stretchH", StretchHeight, textWriter); TextFormatUtility.WriteBool("smooth", Smooth, textWriter); TextFormatUtility.WriteInt("aa", SuperSamplingLevel, textWriter); var padding = $"{PaddingUp},{PaddingRight},{PaddingDown},{PaddingLeft}"; TextFormatUtility.WriteValue("padding", padding, textWriter); var spacing = $"{SpacingHorizontal},{SpacingVertical}"; TextFormatUtility.WriteValue("spacing", spacing, textWriter); TextFormatUtility.WriteInt("outline", Outline, textWriter); }
public void WriteText(TextWriter textWriter, int amount) { TextFormatUtility.WriteInt("first", First, textWriter); TextFormatUtility.WriteInt("second", Second, textWriter); TextFormatUtility.WriteInt("amount", amount, textWriter); }
public static BitmapFont ReadText(TextReader textReader) { var bitmapFont = new BitmapFont(); while (textReader.Peek() != -1) { var lineSegments = TextFormatUtility.GetSegments(textReader.ReadLine()); switch (lineSegments[0]) { case "info": { bitmapFont.Info = BitmapFontInfo.ReadText(lineSegments); break; } case "common": { bitmapFont.Common = BitmapFontCommon.ReadText(lineSegments, out var pageCount); bitmapFont.Pages = new Dictionary <int, string>(pageCount); break; } case "page": { bitmapFont.Pages = bitmapFont.Pages ?? new Dictionary <int, string>(); var id = TextFormatUtility.ReadInt("id", lineSegments); var file = TextFormatUtility.ReadString("file", lineSegments); bitmapFont.Pages[id] = file; break; } case "chars": { var count = TextFormatUtility.ReadInt("count", lineSegments); bitmapFont.Characters = new Dictionary <int, Character>(count); for (var i = 0; i < count; i++) { var characterLineSegments = TextFormatUtility.GetSegments(textReader.ReadLine()); var character = Character.ReadText(characterLineSegments, out var id); bitmapFont.Characters[id] = character; } break; } case "kernings": { var count = TextFormatUtility.ReadInt("count", lineSegments); bitmapFont.KerningPairs = new Dictionary <KerningPair, int>(count); for (var i = 0; i < count; i++) { var kerningLineSegments = TextFormatUtility.GetSegments(textReader.ReadLine()); var kerningPair = KerningPair.ReadText(kerningLineSegments, out var amount); if (bitmapFont.KerningPairs.ContainsKey(kerningPair)) { continue; } bitmapFont.KerningPairs[kerningPair] = amount; } break; } } } return(bitmapFont); }
public void WriteText(TextWriter textWriter) { // Info if (Info != null) { textWriter.Write("info"); Info.WriteText(textWriter); textWriter.WriteLine(); } // Common if (Common != null) { textWriter.Write("common"); Common.WriteText(textWriter, Pages.Count); textWriter.WriteLine(); } // Pages if (Pages != null) { foreach (var page in Pages) { textWriter.Write("page"); TextFormatUtility.WriteInt("id", page.Key, textWriter); TextFormatUtility.WriteString("file", page.Value, textWriter); textWriter.WriteLine(); } } // Characters if (Characters != null) { textWriter.Write("chars"); TextFormatUtility.WriteInt("count", Characters.Count, textWriter); textWriter.WriteLine(); foreach (var keyValuePair in Characters) { textWriter.Write("char"); keyValuePair.Value.WriteText(textWriter, keyValuePair.Key); textWriter.WriteLine(); } } // Kernings if (KerningPairs != null && KerningPairs.Count > 0) { textWriter.Write("kernings"); TextFormatUtility.WriteInt("count", KerningPairs.Count, textWriter); textWriter.WriteLine(); foreach (var keyValuePair in KerningPairs) { textWriter.Write("kerning"); keyValuePair.Key.WriteText(textWriter, keyValuePair.Value); textWriter.WriteLine(); } } }