/*After making a font, you can save it as a binary file with: FileWrite("filename.BIN.Z",text.font,256*FONT_HEIGHT); You can load it with: U8 *myfont=FileRead("filename.BIN"); text.font=myfont; //preserve text.font if you want to go back. If you want to change the system font permanently, save to a file with this font editor program and cut and paste the code into $LK,"::/Kernel/Font8x8.CPP"$. You will need to recompile Kernel by calling $LK,"MakeOSDrvBootInstall",A="MN:MakeOSDrvBootInstall"$(). See $LK,"::/Demo/ExtendedChars.CPP"$ and $LK,"::/Demo/ScreenCodes.CPP"$. */ #define BLOW_UP_CHAR_X (18*FONT_WIDTH) #define BLOW_UP_CHAR_Y (2*FONT_HEIGHT) U8 cur_ch; U0 DrawIt(CTask *task,CDC *dc) { I64 i,j,k,c; k=0; for (i=0;i<16;i++) for (j=0;j<16;j++) { if (k==cur_ch) { if (Blink) c=(BLUE<<4+YELLOW)<<8 + k++; else c=(YELLOW<<4+BLUE)<<8 + k++; } else c=(BLUE<<4+WHITE)<<8 + k++; TextChar(task,,j,i,c); } k=0; for (i=0;icolor=YELLOW; else dc->color=BLUE; GrRect(dc,BLOW_UP_CHAR_X+j*FONT_WIDTH, BLOW_UP_CHAR_Y+i*FONT_HEIGHT, FONT_WIDTH,FONT_HEIGHT); } } U0 FESave(Bool pmt) { U8 old_draw_it=Fs->draw_it; CDoc *doc=DocNew; I64 i,j,k=0; for (i=0;i<256;i++) { for (j=0;jdraw_it=NULL; DocWrite(doc,pmt); Fs->draw_it=old_draw_it; DocDel(doc); } U0 FontEd() { I64 msg_code,a1,a2,k; SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$ MenuPush( "File {" " SaveAs(,CH_CTRLA);" " Abort(,CH_SHIFT_ESC);" " Exit(,CH_ESC);" "}"); AutoComplete; DocClear; DocCursor; Fs->win_inhibit|=WIG_DBL_CLICK; cur_ch=0; try { Fs->draw_it=&DrawIt; while (TRUE) { switch (msg_code=GetMsg(&a1,&a2,1<