home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Unsorted BBS Collection
/
thegreatunsorted.tar
/
thegreatunsorted
/
programming
/
misc_programming
/
gfnames.txt
< prev
next >
Wrap
Text File
|
1990-09-15
|
10KB
|
263 lines
GFNAMES.TXT for GFONTS version 3.0 (September, 1990)
A list of all the subprograms and assembly language calls with
GFONTS 3.0
The following list give the routine name and calling parameters
along with a brief description.
Note that unless otherwise indicated, all the calls have the
following 6 parameters:
(a$, x%, y%, xs%, ys%, clr%)
where a$ is the string to print, x% is the x starting position, y%
is the y starting position, xs% is the x stepping (distance) between
the characters horizontally, ys% is the y stepping (distance)
between the characters (vertically), and clr% is the color number (0
to 15.)
---------------------------------------------------------------------------
GFTBL (EGAsegment%, EGAoffset%, VGAsegment%, VGAoffset%)
Call GFTBL to return the starting addresses of the EGA and VGA ROM
character sets (the "universal" 8x8 set is at a standard address in
all IBM-compatible PC's.)
---------------------------------------------------------------------------
The thirteen ASSEMBLY calls: All of the assembly routines require
an EGA or VGA and use the EGA BIOS for direct screen writes.
EGA8x8 - assembly "universal" 8x8 characters.
EGA8x16 - assembly double-high "universal" 8x8 set.
EGA8x14 - assembly EGA set 8x14 characters.
EGA8x28 - assembly EGA double-high.
EGA16x14 - assembly EGA ROM set double-wide.
EGA16x16 - assembly "universal" ROM set double-wide.
EGA16x24 - assembly EGA ROM set double-wide, double-high.
EGA16x36 - assembly EGA ROM set double-wide, double-high.
The VGA... assembly fonts can use either the VGA ROM character set
if you have a VGA, or a BLOADED 4k font file. You have to pass the
segment and offset of the BLOADED file (using VARSEG and VARPTR) or
the GFTBL variables (if using VGA ROM set.)
VGA8x16 - VGA ROM set or BLOAD 4k font file.
VGA8x32 - same as above except double-high.
VGA16x16 - VGA ROM set double-wide.
VGA16x32 - same as above only double-high.
USER24 (Useg%, Uoff%, a$, x%, y%, xs%, ys%, clr%)
16x24 pixel characters.
You must pass the segment and offset of the 12k font file you created
with BIGFONT.EXE and BLOADED into QuickBASIC.
Three of the assembly fonts (EGA16x24, EGA16x36 and VGA 16x32) only
display alternate scan lines (making the font look like a raster, or
striped.) To make solid characters you have to call the routines
twice (or three times in the case of EGA16x36.) While some folks
might find this a bother, this method allows striped messages, solid
color messages and two (or three) color messages all with one
routine! And they are very fast, to boot.
Also, please note that the 16x24 pixel fonts you design with
BIGFONT.EXE do not have to use all the available pixels. Very small
fonts can be created (someone sent me a 3x5 pixel font made with
BIGFONT - cute and tiny!) and you can also create VERTICAL versions
up to 16 pixels "tall" (or backwards for computers south of the
equator, or upside down for those who compute while doing yoga.)
-----------------------------------------------------------------------------
SUBPROGRAMS found in $GFONTS.BAS
For all the "GFV..." subprograms you can use either the VGA BIOS ROM
character set (if you have a VGA and call GFTBL) or a 4k font file
that has been BLOADED into your QB program (and you equate the
shared variables, VGAseg and VGAoffset with the address of the
BLOADed file, using VARSEG and VARPTR.)
The subprograms are arranged roughly by smallest to largest (but see
Fill and Erector at the end for variable sizes.)
--------------------------
Vertical versions of the three basic fonts: (note that xstart and
ystart are the bottom-left pixel of the character)
GF8x8vert - universal ROM set
GFE8x12vert - EGA ROM set
GFV8x14vert - VGA ROM set (or 4k file)
------------------------------------
Universal ROM 8x8 set twice as tall:
GF8x16bold - a "thick" sort of bold
GF8x16ital - italics
GF8x16vert - vertical
-------------------------------------
Universal ROM 8x8 three times as tall:
GF8x24
---------------------------
EGA 8x14 ROM twice as tall:
GFE8x24stripe (a$, x%, y%, xs%, ys%, clr1%, clr2%)
stripe is 2 colors allowing "mixed" colors
GFE8x24ital - italics
GFE8x24vert - vertical
-----------------------------------------------------
VGA 8x14 or 4k BLOADED font file (8x16) twice as tall:
GFV8x28
GFV12x32box (a$, x%, y%, xs%, ys%, clr1%, clr2%)
-has 2 colors and draws a box around character
GFV8x28bent (a$, x%, y%, xs%, ys%, clr1%, clr2%)
-has 2 colors and sort of backwards italic
GFV8x28ital - italic
GFV8x28vert - vertical
------------------------------------
EGA 8x12 ROM set three times as tall:
GFE8x36
GFE8x36vert - vertical
--------------------------------------
VGA 8x14 ROM or 4k BLOADed file (8x16):
GFV8x42
GFV8x42vert - vertical
--------------------------------------
The three basic ROM sets twice as wide 2 X wide
GF16x8 - universal 8x8 ROM
GFE16x12 - EGA ROM
GFV16x14 - VGA or 4k BLOAD file
-----------------------------------------------
GF16x16 - Universal ROM set, 2 times wide and 2 times tall
------------------------------------------------
Universal ROM set, 2 times wide and 3 times tall
GF16x24
GF16x24ital - italic
---------------------------------------
EGA ROM, 2 times wide and 2 times tall
GFE16x24
GFE16x24a (a$, x%, y%, xs%, ys%, clr1%, clr2%)
- has 2 colors in broad horizontal stripes
GFE16x24ital - italic
-------------------------------------------------
VGA ROM or 4k BLOAD 2 times wide and 2 times tall
GFV16x28
GFV16x28a (a$, x%, y%, xs%, ys%, clr1%, clr2%) - 2 colors in broad stripes
GFV16x28ital
---------------------
EGA 2 wide by 3 tall:
GFE16x36
GFE16x36bent - sort of backwards italic
GFE16x36ital - italic
------------------------------
VGA or BLOAD 2 wide by 3 tall:
GFV16x42
GFV16x42bent
GFV16x42ital
GFV16x42raster
----------------------------------------
The SHADOW fonts for the three ROM sets:
The "shadows" have 2 colors and are thicker than normal.
clr%1 is background (I think)
GF17x25shadow (a$, x%, y%, xs%, ys%, clr1%, clr2%) - 8x8 ROM set
GFE24x36shadow (a$, x%, y%, xs%, ys%, clr1%, clr2%) - EGA set
GFV24x42shadow (a$, x%, y%, xs%, ys%, clr1%, clr2%) - VGA or 4k BLOAD
--------------------------------------
"Stacked dots" for the three ROM sets:
The "dots" have 3 colors, which if carefully chosen, make the font appear
3-D. The PSET statement is used for these.
GF21x27dots (a$, x%, y%, xs%, ys%, clr1%, clr2%, clr3%) - 8x8 ROM set
GFE24x36dots (a$, x%, y%, xs%, ys%, clr1%, clr2%, clr3%) - EGA set
GFV24x42dots (a$, x%, y%, xs%, ys%, clr1%, clr2%, clr3%) - VGA or 4k BLOAD
------------------------------------
"Tile" fonts for the three ROM sets:
Tiles, Fills, and Erectors are my personal favorites
GF18x19tile - 8x8 ROM set 2 wide by 2 tall - simple and nice
GFE18x28tile (a$, x%, y%, xs%, ys%, clr1%, clr2%, clr3%)
- EGA ROM, 2 wide by 2 tall, example for custom tile colors
GFV18x32tile - VGA or 4k BLOAD 2 wide by 2 tall (some BLOAD's don't fit so
well)
GF26x27tile - 8x8 ROM 3 wide by 3 tall
GFE27x27tile - EGA ROM 3 wide by 2 tall
GFV27x32tile - VGA ROM or 4k BLOAD, 3 wide by 2 tall
GFE27x41tile - EGA ROM 3 wide by 4 tall
GFV27x45tile - VGA ROM or 4k BLOAD, 3 wide by 4 tall
---------------------------------------------------
"Erector Set" fonts for EGA and VGA (or 4k BLOAD):
Erectors have 2 colors, one for vertical and horizontal lines and
the other for diagonal lines. The xsize and ysize parameters are a
scale multiplier, that is if xsize = 2 and ysize = 3 then the font
will be 2 times wider than the ROM size (which is always 8) and will
be 3 times taller than the ROM size.
GFEerector (a$, x%, y%, xs%, ys%, clr1%, clr2%, xsize%, ysize%) - EGA ROM
GFVerector (a$, x%, y%, xs%, ys%, clr1%, clr2%, xsize%, ysize%) - VGA or 4k
-------------------------------------------------
"Filled" fonts for the EGA and VGA (or 4k BLOAD):
The "fills" have x and y multiply size parameters like the Erector
Set fonts above. They are useful for very large characters because
they add diagonal fill areas to what would otherwise be very blocky
fonts. They also look nice as small characters because of the
rounded corners.
GFEfill (a$, x%, y%, xs%, ys%, clr%, xsize%, ysize%) - EGA
GFVfill (a$, x%, y%, xs%, ys%, clr%, xsize%, ysize%) - VGA or 4k BLOAD
-------------------------------------------
"Circle" fonts for EGA and VGA (or 4k BLOAD):
These use the CIRCLE statement and have 2 colors, for border and fill color.
They are rather slow, but are nice if you intend to "capture" a
screen for later use.
GFE48x72circ (a$, x%, y%, xs%, ys%, clr1%, clr2%)
GFV48x84circ (a$, x%, y%, xs%, ys%, clr1%, clr2%)
---------------------------------------------------
GFRainbow is a multicolored raster font. Clr1% is the "background"
color (for the bars that don't change color), while clr2% is the
beginning palette number. If you repeatedly call this font it will
rotate the colors - a very pleasing effect.
GFRainbow (a$, x%, y%, xs%, ys%, clr1%, clr2%)
------------------------------------------------------------------------
That's all, folks. If you have a VGA and BLOAD two 12k font files
for USER24 and four 4k font files for the BASIC "GFV..." and
assembly "VGA..." fonts, and use 6 size combinations for Fill and
Erector, you would have over 200 fonts at your fingertips (25 of
them using assembly language!)
Please remember that ALL source code is included and you can modify
these fonts to your heart's content. (I have even experimented with
16x24 fonts using 24 colors in 640x480 256-color mode. They work!)
Happy Programming....