사용자 도구

사이트 도구


tool:bitmap-font

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
tool:bitmap-font [2012/11/11 19:34] – 바깥 편집기 127.0.0.1tool:bitmap-font [2024/04/23 22:43] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +<title>비트맵 폰트 제작</title>
  
 +Bitmap Font Generator
 +
 +  * 2012/11/11 : 비트맵 폰트 제작 툴, 간단하고 쓰기 좋다.
 +  * 사이트 : [[http://www.angelcode.com/products/bmfont/|Bitmap Font Generator]]
 +  * 최근 빌드 : {{:tool:install_bmfont_1.13.exe.7z|}}
 +
 +Bitmap Font Generator : 비트맵 폰트과 튜토리얼
 +
 +  * [[http://www.angelcode.com/dev/bmfonts/|]], {{:tool:examp1-bmfonts.zip|}}
 +  * [[http://www.chadvernon.com/blog/resources/managed-directx-2/bitmap-fonts/|]], 
 +  * [[http://www.gamedev.net/topic/330742-quick-tutorial-variable-width-bitmap-fonts/|Quick tutorial: Variable width bitmap fonts]]
 +  * [[http://sourceforge.net/projects/oglbmfont/|BMFont OpenGL implementation]], {{:tool:exam3-oglbmfont-vc6-0.2.0.7z|}}
 +  * [[http://www.wieringsoftware.nl/blitz/|BlitzMax modules by Wiering Software]]
 +  * [[http://pastebin.com/x3Z2mDC6|C# XML serializer for font loading by DeadlyDan]]
 +<code csharp>
 +// ---- AngelCode BmFont XML serializer ----------------------
 +// ---- By DeadlyDan @ deadlydan@gmail.com -------------------
 +// ---- There's no license restrictions, use as you will. ----
 +// ---- Credits to http://www.angelcode.com/ -----------------
 +
 +using System;
 +using System.IO;
 +using System.Xml.Serialization;
 +
 +namespace BmFont
 +{
 +  [Serializable]
 +@h@ [XmlRoot ( "font" )]
 + public class FontFile
 + {
 + [XmlElement ( "info" )]
 + public FontInfo Info
 + {
 + get;
 + set;
 + }
 +
 + [XmlElement ( "common" )]
 + public FontCommon Common
 + {
 + get;
 + set;
 + }
 +
 + [XmlArray ( "pages" )]
 + [XmlArrayItem ( "page" )]
 + public List<FontPage> Pages
 + {
 + get;
 + set;
 + }
 +
 + [XmlArray ( "chars" )]
 + [XmlArrayItem ( "char" )]
 + public List<FontChar> Chars
 + {
 + get;
 + set;
 + }
 +
 + [XmlArray ( "kernings" )]
 + [XmlArrayItem ( "kerning" )]
 + public List<FontKerning> Kernings
 + {
 + get;
 + set;
 + }
 + }
 +
 + [Serializable]
 + public class FontInfo
 + {
 + [XmlAttribute ( "face" )]
 + public String Face
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "size" )]
 + public Int32 Size
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "bold" )]
 + public Int32 Bold
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "italic" )]
 + public Int32 Italic
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "charset" )]
 + public String CharSet
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "unicode" )]
 + public Int32 Unicode
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "stretchH" )]
 + public Int32 StretchHeight
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "smooth" )]
 + public Int32 Smooth
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "aa" )]
 + public Int32 SuperSampling
 + {
 + get;
 + set;
 + }
 +
 + private Rectangle _Padding;
 + [XmlAttribute ( "padding" )]
 + public String Padding
 + {
 + get
 + {
 + return _Padding.X + "," + _Padding.Y + "," + _Padding.Width + "," + _Padding.Height;
 + }
 + set
 + {
 + String[] padding = value.Split ( ',' );
 + _Padding = new Rectangle ( Convert.ToInt32 ( padding[0] ), Convert.ToInt32 ( padding[1] ), Convert.ToInt32 ( padding[2] ), Convert.ToInt32 ( padding[3] ) );
 + }
 + }
 +
 + private Point _Spacing;
 + [XmlAttribute ( "spacing" )]
 + public String Spacing
 + {
 + get
 + {
 + return _Spacing.X + "," + _Spacing.Y;
 + }
 + set
 + {
 + String[] spacing = value.Split ( ',' );
 + _Spacing = new Point ( Convert.ToInt32 ( spacing[0] ), Convert.ToInt32 ( spacing[1] ) );
 + }
 + }
 +
 + [XmlAttribute ( "outline" )]
 + public Int32 OutLine
 + {
 + get;
 + set;
 + }
 + }
 +
 + [Serializable]
 + public class FontCommon
 + {
 + [XmlAttribute ( "lineHeight" )]
 + public Int32 LineHeight
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "base" )]
 + public Int32 Base
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "scaleW" )]
 + public Int32 ScaleW
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "scaleH" )]
 + public Int32 ScaleH
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "pages" )]
 + public Int32 Pages
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "packed" )]
 + public Int32 Packed
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "alphaChnl" )]
 + public Int32 AlphaChannel
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "redChnl" )]
 + public Int32 RedChannel
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "greenChnl" )]
 + public Int32 GreenChannel
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "blueChnl" )]
 + public Int32 BlueChannel
 + {
 + get;
 + set;
 + }
 + }
 +
 + [Serializable]
 + public class FontPage
 + {
 + [XmlAttribute ( "id" )]
 + public Int32 ID
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "file" )]
 + public String File
 + {
 + get;
 + set;
 + }
 + }
 +
 + [Serializable]
 + public class FontChar
 + {
 + [XmlAttribute ( "id" )]
 + public Int32 ID
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "x" )]
 + public Int32 X
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "y" )]
 + public Int32 Y
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "width" )]
 + public Int32 Width
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "height" )]
 + public Int32 Height
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "xoffset" )]
 + public Int32 XOffset
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "yoffset" )]
 + public Int32 YOffset
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "xadvance" )]
 + public Int32 XAdvance
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "page" )]
 + public Int32 Page
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "chnl" )]
 + public Int32 Channel
 + {
 + get;
 + set;
 + }
 + }
 +
 + [Serializable]
 + public class FontKerning
 + {
 + [XmlAttribute ( "first" )]
 + public Int32 First
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "second" )]
 + public Int32 Second
 + {
 + get;
 + set;
 + }
 +
 + [XmlAttribute ( "amount" )]
 + public Int32 Amount
 + {
 + get;
 + set;
 + }
 + }
 +
 + public class FontLoader
 + {
 + public static FontFile Load ( String filename )
 + {
 + XmlSerializer deserializer = new XmlSerializer ( typeof ( FontFile ) );
 + TextReader textReader = new StreamReader ( filename );
 + FontFile file = ( FontFile ) deserializer.Deserialize ( textReader );
 + textReader.Close ( );
 + return file;
 + }
 + }
 +}
 +</code>