Annotation of Net2/arch/amiga/stand/dumpfont/dumpfont.c, revision 1.1

1.1     ! root        1: /* This is a *real* hack to dump the topaz80 kernel font. This one is 
        !             2:    ways nicer than the ugly Mach font, but we'll have to dump it from a
        !             3:    running system to not run against Commodore copyrights. *NEVER* distribute
        !             4:    the generated font with BSD, always regenerate! */
        !             5: 
        !             6: #include <exec/types.h>
        !             7: #include <exec/memory.h>
        !             8: #include <dos/dos.h>
        !             9: #include <graphics/gfx.h>
        !            10: #include <graphics/rastport.h>
        !            11: #include <graphics/text.h>
        !            12: 
        !            13: #include <inline/exec.h>
        !            14: #include <inline/graphics.h>
        !            15: 
        !            16: #include <stdio.h>
        !            17: 
        !            18: 
        !            19: main()
        !            20: {
        !            21:   unsigned char str[256], *pp;
        !            22:   int i;
        !            23:   struct TextAttr ta = { "topaz.font", 8, FS_NORMAL, FPF_ROMFONT };
        !            24:   struct RastPort rp;
        !            25:   struct BitMap bm = { 256,    /* bytes per row */
        !            26:                         8,     /* rows */
        !            27:                         0,     /* flags */
        !            28:                         1,     /* depth */
        !            29:                         0,     /* pad */
        !            30:                         0 };   /* planes */
        !            31:   struct TextFont *tf;
        !            32: 
        !            33:   InitRastPort (& rp);
        !            34:   rp.BitMap = &bm;
        !            35:   bm.Planes[0] = pp = AllocRaster (256 * 8, 8);
        !            36: 
        !            37:   if (!pp)
        !            38:     {
        !            39:       fprintf (stderr, "Can't allocate raster!\n");
        !            40:       exit (1);
        !            41:     }
        !            42:   bzero (pp, 256 * 8);
        !            43:   
        !            44:   tf = OpenFont (& ta);
        !            45:   if (! tf)
        !            46:     {
        !            47:       fprintf (stderr, "can't open topaz font.\n");
        !            48:       exit (1);
        !            49:     }
        !            50: 
        !            51:   SetFont (&rp, tf);
        !            52: 
        !            53:   /* initialize string to be printed */
        !            54:   for (i = 32; i < 256; i++) str[i - 32] = i;
        !            55: 
        !            56:   Move (&rp, 0, 6);
        !            57:   
        !            58:   Text (&rp, str, 256 - 32);
        !            59:   {
        !            60:     int bin = open ("bitmap", 1);
        !            61:     if (bin >= 0)
        !            62:       {
        !            63:         write (bin, pp, 256*8);
        !            64:         close (bin);
        !            65:       }
        !            66:   }
        !            67:   
        !            68:   /* dump them.. */
        !            69:   printf ("/* generated automatically by dumpfont.c. *DONT* distribute\n");
        !            70:   printf ("   this file, it contains information Copyright by Commodore!\n");
        !            71:   printf ("\n");
        !            72:   printf ("   This is the (new) topaz80 system font: */\n\n");
        !            73:   
        !            74:   printf ("unsigned char kernel_font_width  = 8;\n");
        !            75:   printf ("unsigned char kernel_font_height = 8;\n");
        !            76:   printf ("unsigned char kernel_font_lo = 32;\n");
        !            77:   printf ("unsigned char kernel_font_hi = 255;\n\n");
        !            78:   
        !            79:   printf ("unsigned char kernel_cursor[] = {\n");
        !            80:   printf ("  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };\n\n");
        !            81:   printf ("unsigned char kernel_font[] = {\n");
        !            82:   
        !            83:   for (i = 0; i < 256 - 32; i++)
        !            84:     {
        !            85:       printf ("/* %c */ ", i + 32);
        !            86:       printf ("0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x,\n",
        !            87:              pp[i+0*256], pp[i+1*256], pp[i+2*256], pp[i+3*256],
        !            88:              pp[i+4*256], pp[i+5*256], pp[i+6*256], pp[i+7*256]);
        !            89:     }
        !            90:   printf ("};\n");
        !            91:   
        !            92:   CloseFont (tf);
        !            93:   FreeRaster (pp, 256 * 8, 8);
        !            94: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.