Re: Jiri, where are you?
- Posted by Rolf Schroeder <rolf.schroeder at DESY.DE> Feb 07, 2001
- 393 views
--------------7A2DEC1D81121BDF9CF34FB1 Hello Jiri, attached a little program (IBM437.EX, one has to supply your rfont.e) which will display the VGA fonts 16x8 or 8x8 in standard VGA graphics mode 18. It will create also a BMP file. Only char 10 is missing. Have a nice day, Rolf --------------7A2DEC1D81121BDF9CF34FB1 name="Ibm437.ex" Content-Disposition: inline; filename="Ibm437.ex" -- Rolf Schr”der 2001-01-23 --> IBM437.EX All IBM-437 characters from VGA font M””rkenweg 37 -- ßßßßßßßßß in graphics VGA(18) mode 21029 Hamburg, Germany -- -- Language: EUPHORIA ver. 2.2 r.schr at t-online.de constant TOPROW = 32 -- Upper pixel row of table (without header) constant LEFTCL = 100 -- Left pixel column of table constant FORECOL = BLACK constant BACKCOL = BRIGHT_WHITE procedure cls() -- Set screen to ASCII 32 -- ßßß integer dy if FONT = ROM16 then dy = 16 else dy = 8 end if for i = 0 to 479 by dy do setxy(0,i) write(repeat(32,80)) end for end procedure procedure main() -- ßßßß integer i1 sequence s1, s2 if graphics_mode(18) then puts(1,"Couldn't set VGA graphics mode. Abort.\n") abort(1) end if select_font(FONT) -- 8x16 | 8x8 ROM Font set_background(BACKCOL) set_foreground(FORECOL) cls() set_background(CLEAR) -- trancparent (faster) if FONT = ROM16 then s1 = HEADER1 else s1 = HEADER2 end if setxy(320-length(s1)*4,0) -- Write header write(s1) for i = 0 to 15 do -- Write numbers: hor. & ver. setxy(LEFTCL+56+24*i,TOPROW ) -- Write hor. dec. write(sprintf("%3d",i)) setxy(LEFTCL+56+24*i,TOPROW+24 ) -- Write hor. hex. write(sprintf("%3x",i)) setxy(LEFTCL ,TOPROW+24*(i+2)) -- Write ver. dec. write(sprintf("%3d",i*16)) setxy(LEFTCL+32 ,TOPROW+24*(i+2)) -- Write ver. hex. write(sprintf("%3x",i*16)) end for setxy(LEFTCL ,TOPROW ) write("DEC") setxy(LEFTCL+32,TOPROW+24) write("HEX") for i = 0 to 15 do -- Write all 256 characters! for j = 0 to 15 do setxy(LEFTCL+72+24*j,TOPROW+24*(i+2)) write({16*i+j}) end for end for draw_line(FORECOL,{{LEFTCL ,TOPROW+24*2 -4 }, {LEFTCL+80+24*15,TOPROW+24*2 -4 }}) -- hor. draw_line(FORECOL,{{LEFTCL+64 ,TOPROW }, {LEFTCL+64 ,TOPROW+24*18-8 }}) -- ver. s1 = save_image({LEFTCL,0},{LEFTCL+80+24*15,TOPROW+24*18-8}) s2 = get_all_palette() * 4 if FONT = ROM16 then i1 = save_bitmap({s2,s1},"ROM16X8x.BMP") else i1 = save_bitmap({s2,s1},"ROM8X8x.BMP") end if i1 = wait_key() i1 = graphics_mode(-1) end procedure main() --------------7A2DEC1D81121BDF9CF34FB1--