public static BitFontSet FromStream(Stream stream, string name, int[] forceCodePage = null, bool isSystemFont = true) { var val = new BitFontSet { Name = name }; val.Load(stream, forceCodePage, isSystemFont); return(val); }
public IEnumerable <BitFontSet> GetFonts() { if (fonts == null) { fonts = new List <BitFontSet>(); fonts.AddRange(BitFontSet.DosFonts()); fonts.Add(BitFontSet.AmigaFont()); fonts.Sort((x, y) => string.Compare(x.Name, y.Name, StringComparison.CurrentCulture)); } return(fonts); }
public static BitFontSet AmigaFont() { var fontSet = new BitFontSet { Name = "Amiga" }; const int codePage = 1252; const int numChars = 256; fontSet.Fonts.Add(BitFont.FromResource("Pablo.Formats.Character.Fonts.Amiga.MicroKnight.F16", numChars, codePage, 8, 16, "amiga-microknight", "MicroKnight", fontSet, true, "Amiga MicroKnight", 1.2f)); fontSet.Fonts.Add(BitFont.FromResource("Pablo.Formats.Character.Fonts.Amiga.MicroKnightPlus.F16", numChars, codePage, 8, 16, "amiga-microknight+", "MicroKnight+", fontSet, true, "Amiga MicroKnight+", 1.2f)); fontSet.Fonts.Add(BitFont.FromResource("Pablo.Formats.Character.Fonts.Amiga.mO'sOul.F16", numChars, codePage, 8, 16, "amiga-mOsOul", "mO'sOul", fontSet, true, "Amiga mOsOul", 1.2f)); fontSet.Fonts.Add(BitFont.FromResource("Pablo.Formats.Character.Fonts.Amiga.P0T-NOoDLE.F16", numChars, codePage, 8, 16, "amiga-pot-noodle", "P0T-NOoDLE", fontSet, true, "Amiga P0T-NOoDLE", 1.2f)); fontSet.Fonts.Add(BitFont.FromResource("Pablo.Formats.Character.Fonts.Amiga.Topaz_a1200.F16", numChars, codePage, 8, 16, "amiga-topaz-1200", "Topaz 1200", fontSet, true, "Amiga Topaz 2", 1.2f)); fontSet.Fonts.Add(BitFont.FromResource("Pablo.Formats.Character.Fonts.Amiga.Topaz_a500.F16", numChars, codePage, 8, 16, BitFont.StandardAmigaFontID, "Topaz 500", fontSet, true, "Amiga Topaz 1", 1.2f)); fontSet.Fonts.Add(BitFont.FromResource("Pablo.Formats.Character.Fonts.Amiga.TopazPlus_a1200.F16", numChars, codePage, 8, 16, "amiga-topaz-plus-1200", "Topaz+ 1200", fontSet, true, "Amiga Topaz 2+", 1.2f)); fontSet.Fonts.Add(BitFont.FromResource("Pablo.Formats.Character.Fonts.Amiga.TopazPlus_a500.F16", numChars, codePage, 8, 16, "amiga-topaz-plus-500", "Topaz+ 500", fontSet, true, "Amiga Topaz 1+", 1.2f)); return(fontSet); }
public static BitFontSet FromFontResources(string resource, string name, int codePage, int[] heights, bool isSystemFont = true, int[] fallbackCodePages = null, int numChars = 256, Assembly asm = null) { asm = asm ?? Assembly.GetExecutingAssembly(); var fontSet = new BitFontSet { Name = name }; foreach (var height in heights) { const int width = 8; var resourceName = string.Format("{0}.F{1:00}", resource, height); var id = string.Format("CP {0} {1}x{2}", codePage, width, height); var bitFont = BitFont.FromResource(resourceName, numChars, codePage, width, height, id, id, fontSet, isSystemFont); bitFont.FallbackCodePages = fallbackCodePages; bitFont.SauceID = GetSauceID(height, codePage); fontSet.Fonts.Add(bitFont); } return(fontSet); }
public static IEnumerable <BitFontSet> DosFonts() { yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP437", "IBM PC", 437, new [] { 8, 14, 16, 19 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP737", "Greek", 737, new [] { 8, 14, 16 }, fallbackCodePages: new [] { 869 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP851", "Greek", 851, new [] { 8, 14, 16, 19 }, fallbackCodePages: new [] { 869 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP869", "Greek", 869, new [] { 8, 14, 16 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP775", "Baltic Rim", 775, new [] { 8, 14, 16 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP850", "Latin-1 Western European", 850, new [] { 8, 14, 16, 19 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP852", "Latin-2 Central European", 852, new [] { 8, 14, 16, 19 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP853", "Latin-3 Multilingual", 853, new [] { 8, 14, 16, 19 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP855", "Cyrillic", 855, new [] { 8, 14, 16 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP866", "Cyrillic", 866, new [] { 8, 14, 16 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP857", "Turkish", 857, new [] { 8, 14, 16 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP860", "Portuguese", 860, new [] { 8, 14, 16, 19 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP861", "Icelandic", 861, new [] { 8, 14, 16, 19 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP862", "Hebrew", 862, new [] { 8, 14, 16 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP863", "French Canadian", 863, new [] { 8, 14, 16, 19 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP864", "Arabic", 864, new [] { 8, 14, 16 })); yield return(BitFontSet.FromFontResources("Pablo.Formats.Character.Fonts.DOS.CP865", "Nordic", 865, new [] { 8, 14, 16, 19 })); }
public static BitFont FromResource(string resourceName, int numChars, int codePage, int width, int height, string id, string name, BitFontSet set, bool isSystemFont, string sauceID = null, float?ratio = null, Assembly assembly = null) { var font = new BitFont(resourceName, numChars, width, height, codePage, assembly ?? Assembly.GetCallingAssembly()); font.ID = id; font.Name = name; font.FontSet = set; font.IsSystemFont = isSystemFont; font.SauceID = sauceID; if (ratio != null) { font.LegacyRatio = ratio.Value; } return(font); }