Beispiel #1
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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 }));
        }
Beispiel #6
0
        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);
        }