[Back to GRAPHICS SWAG index] [Back to Main SWAG index] [Original]
{compile the *.bgi and *.chr files into a .exe file? If so how?
1. Collect all the fonts you can
If you don't have them all, fake it (use old one in place of real one)
2. Compile them separately into OBJ files
example: binobj bold.chr bold.obj bold
3. DO the BGI driver for your video card.
example: binobj egavga.bgi egavga.obj egavga
4. use the TPUs in your main prog
5. Load the video driver like an external procedure;
{-------------------------------example 1 (converts chr->obj->tpu)}
unit boldfont; {use the name + font for all of the fonts}
interface
procedure bold;
implementation
procedure bold; external;
{$L bold.obj}
end.
{------------------------------------------------------------------------}
{--------------------------------example 2}
uses graph,
boldfont, eurofont, gothfont, lcomfont, littfont,
sansfont, simpfont, scrifont, tripfont, tscrfont;
procedure egavga; external;
{$L egavga.obj}
const
xFonts : array[0..10] of record
sFontName : string;
xpFontAddr : pointer;
end =
( {Fonts must remain in this order because of settextstyle()}
(sFontName :'Default'; xpFontAddr : nil), {style 00}
(sFontName :'Triplex'; xpFontAddr : @TRIP),{style 01}
(sFontName :'Small'; xpFontAddr : @LITT),{style 02}
(sFontName :'Sans'; xpFontAddr : @SANS),{style 03}
(sFontName :'Gothic'; xpFontAddr : @GOTH),{style 04}
(sFontName :'Script'; xpFontAddr : @SCRI),{style 05}
(sFontName :'Simplex'; xpFontAddr : @SIMP),{style 06}
(sFontName :'Tscr'; xpFontAddr : @TSCR),{style 07}
(sFontName :'Lcom'; xpFontAddr : @LCOM),{style 08}
(sFontName :'Euro'; xpFontAddr : @EURO),{style 09}
(sFontName :'Bold'; xpFontAddr : @BOLD) {style 10}
);
var
gd, gm, i : integer;
begin
if RegisterBGIDriver(@EGAVGA) < 0 then halt;
for i := 1 to 10 do
if RegisterBGIFont(xFonts[i].xpFontAddr) < 0 then
write('Can''t register', xFonts[i].sFontName,' font');
gd := VGA;
gm := VGAHi;
initgraph(gd, gm, '');
for i := 0 to 10 do
begin
settextstyle(i,0,10);
outtextxy(10,20,xFonts[i].sFontName);
readln;
cleardevice;
end;
closegraph;
end.
[Back to GRAPHICS SWAG index] [Back to Main SWAG index] [Original]