home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / programming / misc_programming / gfnames.txt < prev    next >
Text File  |  1990-09-15  |  10KB  |  263 lines

  1. GFNAMES.TXT for GFONTS version 3.0 (September, 1990)
  2.  
  3. A list of all the subprograms and assembly language calls with 
  4. GFONTS 3.0
  5.  
  6. The following list give the routine name and calling parameters 
  7. along with a brief description.
  8.  
  9. Note that unless otherwise indicated, all the calls have the 
  10. following 6 parameters:
  11.  
  12.         (a$, x%, y%, xs%, ys%, clr%)
  13.  
  14. where a$ is the string to print, x% is the x starting position, y% 
  15. is the y starting position, xs% is the x stepping (distance) between 
  16. the characters horizontally, ys% is the y stepping (distance) 
  17. between the characters (vertically), and clr% is the color number (0 
  18. to 15.)  
  19.  
  20. ---------------------------------------------------------------------------
  21. GFTBL (EGAsegment%, EGAoffset%, VGAsegment%, VGAoffset%)
  22.  
  23. Call GFTBL to return the starting addresses of the EGA and VGA ROM 
  24. character sets (the "universal" 8x8 set is at a standard address in 
  25. all IBM-compatible PC's.)
  26. ---------------------------------------------------------------------------
  27.  
  28. The thirteen ASSEMBLY calls:  All of the assembly routines require 
  29. an EGA or VGA and use the EGA BIOS for direct screen writes.
  30.  
  31.  EGA8x8   - assembly "universal" 8x8 characters.
  32.  EGA8x16  - assembly double-high "universal" 8x8 set.
  33.  EGA8x14  - assembly EGA set 8x14 characters.
  34.  EGA8x28  - assembly EGA double-high.
  35.  EGA16x14 - assembly EGA ROM set double-wide.
  36.  EGA16x16 - assembly "universal" ROM set double-wide.
  37.  EGA16x24 - assembly EGA ROM set double-wide, double-high.
  38.  EGA16x36 - assembly EGA ROM set double-wide, double-high.
  39.  
  40. The VGA... assembly fonts can use either the VGA ROM character set 
  41. if you have a VGA, or a BLOADED 4k font file.  You have to pass the 
  42. segment and offset of the BLOADED file (using VARSEG and VARPTR) or 
  43. the GFTBL variables (if using VGA ROM set.)
  44.  
  45.  VGA8x16  - VGA ROM set or BLOAD 4k font file.
  46.  VGA8x32  - same as above except double-high.
  47.  VGA16x16 - VGA ROM set double-wide.
  48.  VGA16x32 - same as above only double-high.
  49.  
  50.  USER24 (Useg%, Uoff%, a$, x%, y%, xs%, ys%, clr%)
  51.         16x24 pixel characters.
  52.         You must pass the segment and offset of the 12k font file you created
  53.         with BIGFONT.EXE and BLOADED into QuickBASIC.
  54.  
  55. Three of the assembly fonts (EGA16x24, EGA16x36 and VGA 16x32) only 
  56. display alternate scan lines (making the font look like a raster, or 
  57. striped.)  To make solid characters you have to call the routines 
  58. twice (or three times in the case of EGA16x36.)  While some folks 
  59. might find this a bother, this method allows striped messages, solid 
  60. color messages and two (or three) color messages all with one 
  61. routine!  And they are very fast, to boot.
  62.  
  63. Also, please note that the 16x24 pixel fonts you design with 
  64. BIGFONT.EXE do not have to use all the available pixels.  Very small 
  65. fonts can be created (someone sent me a 3x5 pixel font made with 
  66. BIGFONT - cute and tiny!) and you can also create VERTICAL versions 
  67. up to 16 pixels "tall" (or backwards for computers south of the 
  68. equator, or upside down for those who compute while doing yoga.)
  69.  
  70. -----------------------------------------------------------------------------
  71. SUBPROGRAMS found in $GFONTS.BAS
  72.  
  73. For all the "GFV..." subprograms you can use either the VGA BIOS ROM 
  74. character set (if you have a VGA and call GFTBL) or a 4k font file 
  75. that has been BLOADED into your QB program (and you equate the 
  76. shared variables, VGAseg and VGAoffset with the address of the 
  77. BLOADed file, using VARSEG and VARPTR.)
  78.  
  79. The subprograms are arranged roughly by smallest to largest (but see 
  80. Fill and Erector at the end for variable sizes.)
  81.  
  82. --------------------------
  83. Vertical versions of the three basic fonts: (note that xstart and 
  84. ystart are the bottom-left pixel of the character)
  85.  
  86.  GF8x8vert   - universal ROM set
  87.  GFE8x12vert - EGA ROM set
  88.  GFV8x14vert - VGA ROM set (or 4k file)
  89.  
  90. ------------------------------------
  91. Universal ROM 8x8 set twice as tall:
  92.  
  93.  GF8x16bold  - a "thick" sort of bold
  94.  GF8x16ital  - italics
  95.  GF8x16vert  - vertical
  96.  
  97. -------------------------------------
  98. Universal ROM 8x8 three times as tall:
  99.  
  100.  GF8x24
  101.  
  102. ---------------------------
  103. EGA 8x14 ROM twice as tall:
  104.  
  105.  GFE8x24stripe (a$, x%, y%, xs%, ys%, clr1%, clr2%)
  106.         stripe is 2 colors allowing "mixed" colors
  107.  GFE8x24ital  - italics
  108.  GFE8x24vert  - vertical
  109.  
  110. -----------------------------------------------------
  111. VGA 8x14 or 4k BLOADED font file (8x16) twice as tall:
  112.  
  113.  GFV8x28
  114.  GFV12x32box (a$, x%, y%, xs%, ys%, clr1%, clr2%)
  115.         -has 2 colors and draws a box around character
  116.  GFV8x28bent (a$, x%, y%, xs%, ys%, clr1%, clr2%)
  117.         -has 2 colors and sort of backwards italic
  118.  GFV8x28ital  - italic
  119.  GFV8x28vert  - vertical
  120.  
  121. ------------------------------------
  122. EGA 8x12 ROM set three times as tall:
  123.  
  124.  GFE8x36
  125.  GFE8x36vert  - vertical
  126.  
  127. --------------------------------------
  128. VGA 8x14 ROM or 4k BLOADed file (8x16):
  129.  
  130.  GFV8x42
  131.  GFV8x42vert  - vertical
  132.  
  133. --------------------------------------
  134. The three basic ROM sets twice as wide                       2 X wide
  135.  
  136.  GF16x8    - universal 8x8 ROM
  137.  GFE16x12  - EGA ROM
  138.  GFV16x14  - VGA or 4k BLOAD file
  139.  
  140. -----------------------------------------------
  141.  GF16x16 - Universal ROM set, 2 times wide and 2 times tall
  142.  
  143. ------------------------------------------------
  144. Universal ROM set, 2 times wide and 3 times tall
  145.  
  146.  GF16x24
  147.  GF16x24ital - italic
  148.  
  149. ---------------------------------------
  150. EGA ROM,  2 times wide and 2 times tall
  151.  
  152.  GFE16x24
  153.  GFE16x24a (a$, x%, y%, xs%, ys%, clr1%, clr2%)
  154.         - has 2 colors in broad horizontal stripes
  155.  GFE16x24ital - italic
  156.  
  157. -------------------------------------------------
  158. VGA ROM or 4k BLOAD 2 times wide and 2 times tall
  159.  
  160.  GFV16x28
  161.  GFV16x28a (a$, x%, y%, xs%, ys%, clr1%, clr2%) - 2 colors in broad stripes
  162.  GFV16x28ital
  163.  
  164. ---------------------
  165. EGA 2 wide by 3 tall:
  166.  
  167.  GFE16x36
  168.  GFE16x36bent  - sort of backwards italic
  169.  GFE16x36ital  - italic
  170.  
  171. ------------------------------
  172. VGA or BLOAD 2 wide by 3 tall:
  173.  
  174.  GFV16x42
  175.  GFV16x42bent
  176.  GFV16x42ital
  177.  GFV16x42raster
  178.  
  179. ----------------------------------------
  180. The SHADOW fonts for the three ROM sets:
  181. The "shadows" have 2 colors and are thicker than normal.
  182. clr%1 is background (I think)
  183.  
  184.  GF17x25shadow (a$, x%, y%, xs%, ys%, clr1%, clr2%)   - 8x8 ROM set
  185.  GFE24x36shadow (a$, x%, y%, xs%, ys%, clr1%, clr2%)  - EGA set
  186.  GFV24x42shadow (a$, x%, y%, xs%, ys%, clr1%, clr2%)  - VGA or 4k BLOAD
  187.  
  188. --------------------------------------
  189. "Stacked dots" for the three ROM sets:
  190. The "dots" have 3 colors, which if carefully chosen, make the font appear
  191. 3-D.  The PSET statement is used for these.
  192.  
  193.  GF21x27dots (a$, x%, y%, xs%, ys%, clr1%, clr2%, clr3%)  - 8x8 ROM set
  194.  GFE24x36dots (a$, x%, y%, xs%, ys%, clr1%, clr2%, clr3%) - EGA set
  195.  GFV24x42dots (a$, x%, y%, xs%, ys%, clr1%, clr2%, clr3%) - VGA or 4k BLOAD
  196.  
  197. ------------------------------------
  198. "Tile" fonts for the three ROM sets:
  199. Tiles, Fills, and Erectors are my personal favorites
  200.  
  201.  GF18x19tile   - 8x8 ROM set 2 wide by 2 tall  - simple and nice
  202.  GFE18x28tile (a$, x%, y%, xs%, ys%, clr1%, clr2%, clr3%)
  203.                - EGA ROM, 2 wide by 2 tall, example for custom tile colors
  204.  GFV18x32tile  - VGA or 4k BLOAD 2 wide by 2 tall (some BLOAD's don't fit so
  205.                  well)
  206.  GF26x27tile   - 8x8 ROM 3 wide by 3 tall
  207.  GFE27x27tile  - EGA ROM 3 wide by 2 tall
  208.  GFV27x32tile  - VGA ROM or 4k BLOAD, 3 wide by 2 tall
  209.  GFE27x41tile  - EGA ROM 3 wide by 4 tall
  210.  GFV27x45tile  - VGA ROM or 4k BLOAD, 3 wide by 4 tall
  211.  
  212. ---------------------------------------------------
  213. "Erector Set" fonts for EGA and VGA (or 4k BLOAD):
  214. Erectors have 2 colors, one for vertical and horizontal lines and 
  215. the other for diagonal lines.  The xsize and ysize parameters are a 
  216. scale multiplier, that is if xsize = 2 and ysize = 3 then the font 
  217. will be 2 times wider than the ROM size (which is always 8) and will 
  218. be 3 times taller than the ROM size.
  219.  
  220.  GFEerector (a$, x%, y%, xs%, ys%, clr1%, clr2%, xsize%, ysize%) - EGA ROM
  221.  GFVerector (a$, x%, y%, xs%, ys%, clr1%, clr2%, xsize%, ysize%) - VGA or 4k
  222.  
  223. -------------------------------------------------
  224. "Filled" fonts for the EGA and VGA (or 4k BLOAD):
  225. The "fills" have x and y multiply size parameters like the Erector 
  226. Set fonts above.  They are useful for very large characters because 
  227. they add diagonal fill areas to what would otherwise be very blocky 
  228. fonts.  They also look nice as small characters because of the 
  229. rounded corners.
  230.  
  231.  GFEfill (a$, x%, y%, xs%, ys%, clr%, xsize%, ysize%) - EGA
  232.  GFVfill (a$, x%, y%, xs%, ys%, clr%, xsize%, ysize%) - VGA or 4k BLOAD
  233.  
  234. -------------------------------------------
  235. "Circle" fonts for EGA and VGA (or 4k BLOAD):
  236. These use the CIRCLE statement and have 2 colors, for border and fill color.
  237. They are rather slow, but are nice if you intend to "capture" a 
  238. screen for later use.
  239.  
  240.  GFE48x72circ (a$, x%, y%, xs%, ys%, clr1%, clr2%)
  241.  GFV48x84circ (a$, x%, y%, xs%, ys%, clr1%, clr2%)
  242.  
  243. ---------------------------------------------------
  244. GFRainbow is a multicolored raster font.  Clr1% is the "background" 
  245. color (for the bars that don't change color), while clr2% is the 
  246. beginning palette number.  If you repeatedly call this font it will 
  247. rotate the colors - a very pleasing effect.
  248.  
  249.  GFRainbow (a$, x%, y%, xs%, ys%, clr1%, clr2%)
  250.  
  251. ------------------------------------------------------------------------
  252. That's all, folks.  If you have a VGA and BLOAD two 12k font files 
  253. for USER24 and four 4k font files for the BASIC "GFV..." and 
  254. assembly "VGA..." fonts, and use 6 size combinations for Fill and 
  255. Erector, you would have over 200 fonts at your fingertips (25 of 
  256. them using assembly language!)
  257.  
  258. Please remember that ALL source code is included and you can modify 
  259. these fonts to your heart's content. (I have even experimented with 
  260. 16x24 fonts using 24 colors in 640x480 256-color mode. They work!)
  261.  
  262. Happy Programming....
  263.