FontBuilder 클래스
폰트를 생성하는 빌더입니다. 옵션을 플루언트 메서드로 설정한 후 Build<T>()를 호출하면 폰트 객체를 반환합니다. Build<T>()의 형식 매개변수로 TTF(TtfFont) 또는 OTF(OtfFont)를 지정합니다.
상속
네임스페이스: VagabondK.OpenType
어셈블리: VagabondK.OpenType.dll
구문
public class FontBuilder
비고
metrics/italic/fixedPitch/caretSlope는 Build<T>() 시 hhea/OS/2/post/head(CFF Top DICT 포함)에 일관되게 cascade됩니다. 비트 플래그(fsSelection/macStyle)는 Italic/Regular 비트만 설정하고, 나머지 비트(UseTypoMetrics, Bold 등)는 보존합니다.
메서드
| 이름 | 설명 |
|---|---|
| AddGlyph(int, Glyph) | 글리프를 추가합니다. |
| AddGlyphs(IEnumerable<KeyValuePair<int, Glyph>>) | 글리프를 일괄 추가합니다. |
| AddLanguage(int, Action<NameLanguage>) | 추가 언어 항목을 등록합니다.
기본 언어 값을 상속받은 후 |
| BreakChar(int) | OS/2 usBreakChar를 설정합니다. |
| Build<T>() | 설정된 옵션으로 폰트 객체를 생성하고 반환합니다. |
| CaretSlope(CaretSlope) | caret 기울기(rise/run)를 설정합니다. null이면 ItalicAngle에서 계산합니다. hhea caretSlopeRise/caretSlopeRun에 cascade됩니다. |
| Copyright(string) | name copyright(nameID 0)를 설정합니다. |
| Description(string) | name description(nameID 10)를 설정합니다. |
| Designer(string) | name designer(nameID 9)를 설정합니다. |
| Family(string) | name family(nameID 1)를 설정합니다. |
| FixedPitch(bool) | 고정 피치(모노스페이스) 여부를 설정합니다. post isFixedPitch, CFF IsFixedPitch에 cascade됩니다. |
| ItalicAngle(double) | 기울기 각도(도)를 설정합니다. 0이면 수직, 우측 기울임은 음수입니다. post italicAngle, head macStyle, OS/2 fsSelection, hhea caretSlope, CFF ItalicAngle에 cascade됩니다. |
| License(string) | name license(nameID 13)를 설정합니다. |
| Manufacturer(string) | name manufacturer(nameID 8)를 설정합니다. |
| Metrics(FontMetrics) | 수직 metrics를 설정합니다. hhea/OS/2에 cascade됩니다. |
| Save(string) | 설정된 옵션으로 폰트 객체를 생성하고 파일로 저장합니다. 파일 확장자로 폰트 타입을 결정합니다: .otf → OtfFont, .ttf → TtfFont. |
| Save<T>(Stream) | 설정된 옵션으로 폰트 객체를 생성하고 스트림에 저장합니다. Build<T>() 후 Save(Stream)을 호출하는 것과 동일합니다. 스트림의 소유권은 호출자에게 있으며, 이 메서드는 스트림을 닫지 않습니다. |
| Save<T>(string) | 설정된 옵션으로 폰트 객체를 생성하고 파일로 저장합니다. Build<T>() 후 Save(string)을 호출하는 것과 동일합니다. |
| Subfamily(string) | name subfamily(nameID 2)를 설정합니다. null이면 "Regular" 기본값을 사용합니다. |
| Trademark(string) | name trademark(nameID 7)를 설정합니다. |
| UniqueId(string) | name uniqueId(nameID 3)를 설정합니다. |
| UnitsPerEm(int) | head unitsPerEm을 설정합니다. |
| UseTypoMetrics() | OS/2 fsSelection의 UseTypoMetrics 비트를 설정합니다. |
| Version(string) | name version(nameID 5)를 설정합니다. |
| WeightClass(Weight) | OS/2 usWeightClass를 설정합니다. |
| XAvgCharWidth(int) | OS/2 usXAvgCharWidth를 설정합니다. |