vectfont.c

Go to the documentation of this file.
00001 /*                      V E C T F O N T . C
00002  * BRL-CAD
00003  *
00004  * Copyright (c) 2004-2006 United States Government as represented by
00005  * the U.S. Army Research Laboratory.
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public License
00009  * as published by the Free Software Foundation; either version 2 of
00010  * the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Library General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this file; see the file named COPYING for more
00019  * information.
00020  */
00021 
00022 /** \addtogroup plot */
00023 /*@{*/
00024 
00025 /** @file vectfont.c
00026  *      Terminal Independant Graphics Display Package.
00027  *              Mike Muuss  July 31, 1978
00028  *
00029  *      This routine is used to plot a string of ASCII symbols
00030  *  on the plot being generated, using a built-in set of fonts
00031  *  drawn as vector lists.
00032  *
00033  *      Internally, the basic font resides in a 10x10 unit square.
00034  *  Externally, each character can be thought to occupy one square
00035  *  plotting unit;  the 'scale'
00036  *  parameter allows this to be changed as desired, although scale
00037  *  factors less than 10.0 are unlikely to be legible.
00038  *
00039  *  The vector font table here was provided courtesy of Dr. Bruce
00040  *  Henriksen and Dr. Stephen Wolff, US Army Ballistic Research
00041  *  Laboratory, Summer of 1978.  They had developed it for their
00042  *  remote Houston Instruments pen plotter package for the
00043  *  GE Tymeshare system.
00044  *
00045  *  Author -
00046  *      Bruce Henriksen
00047  *      Stephen Wolff
00048  *      Michael John Muuss
00049  *
00050  *  Source -
00051  *      The U. S. Army Research Laboratory
00052  *      Aberdeen Proving Ground, Maryland  21005-5068  USA
00053  *
00054  */
00055 /*@}*/
00056 
00057 #ifndef lint
00058 static const char tp_RCSid[] = "@(#)$Header: /cvsroot/brlcad/brlcad/src/libbn/vectfont.c,v 14.12 2006/09/07 01:19:17 lbutler Exp $ (ARL)";
00059 #endif
00060 
00061 #include "common.h"
00062 
00063 
00064 
00065 #include <stdio.h>
00066 #include <math.h>
00067 
00068 #include "machine.h"
00069 #include "vmath.h"
00070 #include "plot3.h"
00071 #include "vectfont.h"
00072 
00073 #define NUM_SYMBOLS     8
00074 
00075 TINY            *tp_cindex[256];        /* index to stroke tokens */
00076 
00077 /**
00078  * @brief
00079  *  Once-only setup routine
00080  *  Used by libplot3/symbol.c, so it can't be static.
00081  */
00082 void
00083 tp_setup(void)
00084 {
00085         register TINY   *p;     /* pointer to stroke table */
00086         register int i;
00087 
00088         p = tp_ctable;          /* pointer to stroke list */
00089 
00090         /* Store start addrs of each stroke list */
00091         for( i=040-NUM_SYMBOLS; i<128; i++)  {
00092                 tp_cindex[i+128] = tp_cindex[i] = p;
00093                 while( (*p++) != LAST );
00094         }
00095         for( i=1; i<=NUM_SYMBOLS; i++ )  {
00096                 tp_cindex[i+128] = tp_cindex[i] = tp_cindex[040-NUM_SYMBOLS-1+i];
00097         }
00098         for( i=NUM_SYMBOLS+1; i<040; i++ )  {
00099                 tp_cindex[i+128] = tp_cindex[i] = tp_cindex['?'];
00100         }
00101 }
00102 
00103 /*      tables for markers      */
00104 
00105 TINY    tp_ctable[] = {
00106 
00107 /*      +       */
00108         drk(0, 5),
00109         brt(8, 5),
00110         drk(4, 8),
00111         brt(4, 2),
00112         LAST,
00113 
00114 /*      x       */
00115         drk(0, 2),
00116         brt(8, 8),
00117         drk(0, 8),
00118         brt(8, 2),
00119         LAST,
00120 
00121 /*      triangle        */
00122         drk(0, 2),
00123         brt(4, 8),
00124         brt(8, 2),
00125         brt(0, 2),
00126         LAST,
00127 
00128 /*      square  */
00129         drk(0, 2),
00130         brt(0, 8),
00131         brt(8, 8),
00132         brt(8, 2),
00133         brt(0, 2),
00134         LAST,
00135 
00136 /*      hourglass       */
00137         drk(0, 2),
00138         brt(8, 8),
00139         brt(0, 8),
00140         brt(8, 2),
00141         brt(0, 2),
00142         LAST,
00143 
00144 /*      plus-minus      */
00145         drk(5, 7),
00146         brt(5, 2),
00147         drk(2, 2),
00148         brt(8, 2),
00149         drk(2, 5),
00150         brt(8, 5),
00151         LAST,
00152 
00153 /*      centerline symbol       */
00154         drk(8, 4),
00155         brt(7, 6),
00156         brt(4, 7),
00157         brt(1, 6),
00158         brt(0, 4),
00159         brt(1, 2),
00160         brt(4, 1),
00161         brt(7, 2),
00162         brt(8, 4),
00163         drk(1, 1),
00164         brt(7, 7),
00165         LAST,
00166 
00167 /*      degree symbol   */
00168         drk(1, 9),
00169         brt(2, 9),
00170         brt(3, 8),
00171         brt(3, 7),
00172         brt(2, 6),
00173         brt(1, 6),
00174         brt(0, 7),
00175         brt(0, 8),
00176         brt(1, 9),
00177         LAST,
00178 
00179 /*      table for ascii 040, ' '        */
00180         LAST,
00181 
00182 /*      table for !     */
00183         drk(3, 0),
00184         brt(5, 2),
00185         brt(5, 0),
00186         brt(3, 2),
00187         brt(3, 0),
00188         drk(4, 4),
00189         brt(3, 10),
00190         brt(5, 10),
00191         brt(4, 4),
00192         brt(4, 10),
00193         LAST,
00194 
00195 /*      table for "     */
00196         drk(1, 10),
00197         brt(3, 10),
00198         brt(2, 7),
00199         brt(1, 10 ),
00200         drk(5, 10),
00201         brt(7, 10),
00202         brt(6, 7),
00203         brt(5, 10),
00204         LAST,
00205 
00206 
00207 /*      table for #     */
00208         drk(1, 0),
00209         brt(3, 9),
00210         drk(6, 9),
00211         brt(4, 0),
00212         drk(6, 3),
00213         brt(0, 3),
00214         drk(1, 6),
00215         brt(7, 6),
00216         LAST,
00217 
00218 /*      table for $     */
00219         drk(1, 2),
00220         brt(1, 1),
00221         brt(7, 1),
00222         brt(7, 5),
00223         brt(1, 5),
00224         brt(1, 9),
00225         brt(7, 9),
00226         brt(7, 8),
00227         drk(4, 10),
00228         brt(4, 0),
00229         LAST,
00230 
00231 /*      table for %     */
00232         drk(3, 10),
00233         brt(3, 7),
00234         brt(0, 7),
00235         brt(0, 10),
00236         brt(8, 10),
00237         brt(0, 0),
00238         drk(8, 0),
00239         brt(5, 0),
00240         brt(5, 3),
00241         brt(8, 3),
00242         brt(8, 0),
00243         LAST,
00244 
00245 /*      table for &     */
00246         drk(7, 3),
00247         brt(4, 0),
00248         brt(1, 0),
00249         brt(0, 3),
00250         brt(5, 8),
00251         brt(4, 10),
00252         brt(3, 10),
00253         brt(1, 8),
00254         brt(8, 0),
00255         LAST,
00256 
00257 /*      table for '     */
00258         drk(4, 6),
00259         brt(5, 10),
00260         brt(6, 10),
00261         brt(4, 6),
00262         LAST,
00263 
00264 /*      table for (     */
00265         drk(5, 0 ),
00266         brt(3, 1 ),
00267         brt(2, 4 ),
00268         brt(2, 6 ),
00269         brt(3, 9 ),
00270         brt(5, 10 ),
00271         LAST,
00272 
00273 /*      table for )     */
00274         drk(3, 0 ),
00275         brt(5, 1 ),
00276         brt(6, 4 ),
00277         brt(6, 6 ),
00278         brt(5, 9 ),
00279         brt(3, 10 ),
00280         LAST,
00281 
00282 /*      table for *     */
00283         drk(4, 2 ),
00284         brt(4, 8 ),
00285         drk(6, 7 ),
00286         brt(2, 3 ),
00287         drk(6, 3 ),
00288         brt(2, 7 ),
00289         drk(1, 5 ),
00290         brt(7, 5 ),
00291         LAST,
00292 
00293 /*      table for +     */
00294         drk(1, 5 ),
00295         brt(7, 5 ),
00296         drk(4, 8 ),
00297         brt(4, 2 ),
00298         LAST,
00299 
00300 /*      table for,      */
00301         drk(5, 0 ),
00302         brt(3, 2 ),
00303         brt(3, 0 ),
00304         brt(5, 2 ),
00305         brt(5, 0 ),
00306         bneg(2, 2 ),
00307         brt(4, 0 ),
00308         LAST,
00309 
00310 /*      table for -     */
00311         drk(1, 5 ),
00312         brt(7, 5 ),
00313         LAST,
00314 
00315 /*      table for .     */
00316         drk(5, 0 ),
00317         brt(3, 2 ),
00318         brt(3, 0 ),
00319         brt(5, 2 ),
00320         brt(5, 0 ),
00321         LAST,
00322 
00323 /*      table for /     */
00324         brt(8, 10 ),
00325         LAST,
00326 
00327 /*      table for 0     */
00328         drk(8, 10),
00329         brt(0, 0),
00330         brt(0, 10),
00331         brt(8, 10),
00332         brt(8, 0),
00333         brt(0, 0),
00334         LAST,
00335 
00336 /*      table for 1     */
00337         drk(4, 0 ),
00338         brt(4, 10 ),
00339         brt(2, 8 ),
00340         LAST,
00341 
00342 /*      table for 2     */
00343         drk(0, 6 ),
00344         brt(0, 8 ),
00345         brt(3, 10 ),
00346         brt(5, 10 ),
00347         brt(8, 8 ),
00348         brt(8, 7 ),
00349         brt(0, 2 ),
00350         brt(0, 0 ),
00351         brt(8, 0 ),
00352         LAST,
00353 
00354 /*      table for 3     */
00355         drk(0, 10 ),
00356         brt(8, 10 ),
00357         brt(8, 5 ),
00358         brt(0, 5 ),
00359         brt(8, 5 ),
00360         brt(8, 0 ),
00361         brt(0, 0 ),
00362         LAST,
00363 
00364 /*      table for 4     */
00365         drk(0, 10 ),
00366         brt(0, 5 ),
00367         brt(8, 5 ),
00368         drk(8, 10 ),
00369         brt(8, 0 ),
00370         LAST,
00371 
00372 /*      table for 5     */
00373         drk(8, 10 ),
00374         brt(0, 10 ),
00375         brt(0, 5 ),
00376         brt(8, 5 ),
00377         brt(8, 0 ),
00378         brt(0, 0 ),
00379         LAST,
00380 
00381 /*      table for 6     */
00382         drk(0, 10 ),
00383         brt(0, 0 ),
00384         brt(8, 0 ),
00385         brt(8, 5 ),
00386         brt(0, 5 ),
00387         LAST,
00388 
00389 /*      table for 7     */
00390         drk(0, 10 ),
00391         brt(8, 10 ),
00392         brt(6, 0 ),
00393         LAST,
00394 
00395 /*      table for 8     */
00396         drk(0, 5 ),
00397         brt(0, 0 ),
00398         brt(8, 0 ),
00399         brt(8, 5 ),
00400         brt(0, 5 ),
00401         brt(0, 10 ),
00402         brt(8, 10 ),
00403         brt(8, 5 ),
00404         LAST,
00405 
00406 /*      table for 9     */
00407         drk(8, 5 ),
00408         brt(0, 5 ),
00409         brt(0, 10 ),
00410         brt(8, 10 ),
00411         brt(8, 0 ),
00412         LAST,
00413 
00414 /*      table for :     */
00415         drk(5, 6 ),
00416         brt(3, 8 ),
00417         brt(3, 6 ),
00418         brt(5, 8 ),
00419         brt(5, 6 ),
00420         drk(5, 0 ),
00421         brt(3, 2 ),
00422         brt(3, 0 ),
00423         brt(5, 2 ),
00424         brt(5, 0 ),
00425         LAST,
00426 
00427 /*      table for ;     */
00428         drk(5, 6 ),
00429         brt(3, 8 ),
00430         brt(3, 6 ),
00431         brt(5, 8 ),
00432         brt(5, 6 ),
00433         drk(5, 0 ),
00434         brt(3, 2 ),
00435         brt(3, 0 ),
00436         brt(5, 2 ),
00437         brt(5, 0 ),
00438         bneg(2, 2 ),
00439         brt(4, 0 ),
00440         LAST,
00441 
00442 /*      table for <     */
00443         drk(8, 8 ),
00444         brt(0, 5 ),
00445         brt(8, 2 ),
00446         LAST,
00447 
00448 /*      table for =     */
00449         drk(0, 7 ),
00450         brt(8, 7 ),
00451         drk(0, 3 ),
00452         brt(8, 3 ),
00453         LAST,
00454 
00455 /*      table for >     */
00456         drk(0, 8 ),
00457         brt(8, 5 ),
00458         brt(0, 2 ),
00459         LAST,
00460 
00461 /*      table for ?     */
00462         drk(3, 0 ),
00463         brt(5, 2 ),
00464         brt(5, 0 ),
00465         brt(3, 2 ),
00466         brt(3, 0 ),
00467         drk(1, 7 ),
00468         brt(1, 9 ),
00469         brt(3, 10 ),
00470         brt(5, 10 ),
00471         brt(7, 9 ),
00472         brt(7, 7 ),
00473         brt(4, 5 ),
00474         brt(4, 3 ),
00475         LAST,
00476 
00477 /*      table for @     */
00478         drk(0, 8 ),
00479         brt(2, 10 ),
00480         brt(6, 10 ),
00481         brt(8, 8 ),
00482         brt(8, 2 ),
00483         brt(6, 0 ),
00484         brt(2, 0 ),
00485         brt(1, 1 ),
00486         brt(1, 4 ),
00487         brt(2, 5 ),
00488         brt(4, 5 ),
00489         brt(5, 4 ),
00490         brt(5, 0 ),
00491         LAST,
00492 
00493 /*      table for A     */
00494         brt(0, 8 ),
00495         brt(2, 10 ),
00496         brt(6, 10 ),
00497         brt(8, 8 ),
00498         brt(8, 0 ),
00499         drk(0, 5 ),
00500         brt(8, 5 ),
00501         LAST,
00502 
00503 /*      table for B     */
00504         brt(0, 10 ),
00505         brt(5, 10 ),
00506         brt(8, 9 ),
00507         brt(8, 6 ),
00508         brt(5, 5 ),
00509         brt(0, 5 ),
00510         brt(5, 5 ),
00511         brt(8, 4 ),
00512         brt(8, 1 ),
00513         brt(5, 0 ),
00514         brt(0, 0 ),
00515         LAST,
00516 
00517 /*      table for C     */
00518         drk(8, 2 ),
00519         brt(6, 0 ),
00520         brt(2, 0 ),
00521         brt(0, 2 ),
00522         brt(0, 8 ),
00523         brt(2, 10 ),
00524         brt(6, 10 ),
00525         brt(8, 8 ),
00526         LAST,
00527 
00528 /*      table for D     */
00529         brt(0, 10 ),
00530         brt(5, 10 ),
00531         brt(8, 8 ),
00532         brt(8, 2 ),
00533         brt(5, 0 ),
00534         brt(0, 0 ),
00535         LAST,
00536 
00537 /*      table for E     */
00538         drk(8, 0 ),
00539         brt(0, 0 ),
00540         brt(0, 10 ),
00541         brt(8, 10 ),
00542         drk(0, 5 ),
00543         brt(5, 5 ),
00544         LAST,
00545 
00546 /*      table for F     */
00547         brt(0, 10 ),
00548         brt(8, 10 ),
00549         drk(0, 5 ),
00550         brt(5, 5 ),
00551         LAST,
00552 
00553 /*      table for G     */
00554         drk(5, 5 ),
00555         brt(8, 5 ),
00556         brt(8, 2 ),
00557         brt(6, 0 ),
00558         brt(2, 0 ),
00559         brt(0, 2 ),
00560         brt(0, 8 ),
00561         brt(2, 10 ),
00562         brt(6, 10 ),
00563         brt(8, 8 ),
00564         LAST,
00565 
00566 /*      table for H     */
00567         brt(0, 10 ),
00568         drk(8, 10 ),
00569         brt(8, 0 ),
00570         drk(0, 6 ),
00571         brt(8, 6 ),
00572         LAST,
00573 
00574 /*      table for I     */
00575         drk(4, 0 ),
00576         brt(6, 0 ),
00577         drk(5, 0 ),
00578         brt(5, 10 ),
00579         brt(4, 10 ),
00580         brt(6, 10 ),
00581         LAST,
00582 
00583 /*      table for J     */
00584         drk(0, 2 ),
00585         brt(2, 0 ),
00586         brt(5, 0 ),
00587         brt(7, 2 ),
00588         brt(7, 10 ),
00589         brt(6, 10 ),
00590         brt(8, 10 ),
00591         LAST,
00592 
00593 /*      table for K     */
00594         brt(0, 10 ),
00595         drk(0, 5 ),
00596         brt(8, 10 ),
00597         drk(3, 7 ),
00598         brt(8, 0 ),
00599         LAST,
00600 
00601 /*      table for L     */
00602         drk(8, 0 ),
00603         brt(0, 0 ),
00604         brt(0, 10 ),
00605         LAST,
00606 
00607 /*      table for M     */
00608         brt(0, 10 ),
00609         brt(4, 5 ),
00610         brt(8, 10 ),
00611         brt(8, 10 ),
00612         brt(8, 0 ),
00613         LAST,
00614 
00615 /*      table for N     */
00616         brt(0, 10 ),
00617         brt(8, 0 ),
00618         brt(8, 10 ),
00619         LAST,
00620 
00621 /*      table for O     */
00622         drk(0, 2 ),
00623         brt(0, 8 ),
00624         brt(2, 10 ),
00625         brt(6, 10 ),
00626         brt(8, 8 ),
00627         brt(8, 2 ),
00628         brt(6, 0 ),
00629         brt(2, 0 ),
00630         brt(0, 2 ),
00631         LAST,
00632 
00633 /*      table for P     */
00634         brt(0, 10 ),
00635         brt(6, 10 ),
00636         brt(8, 9 ),
00637         brt(8, 6 ),
00638         brt(6, 5 ),
00639         brt(0, 5 ),
00640         LAST,
00641 
00642 /*      table for Q     */
00643         drk(0, 2 ),
00644         brt(0, 8 ),
00645         brt(2, 10 ),
00646         brt(6, 10 ),
00647         brt(8, 8 ),
00648         brt(8, 2 ),
00649         brt(6, 0 ),
00650         brt(2, 0 ),
00651         brt(0, 2 ),
00652         drk(5, 3 ),
00653         brt(8, 0 ),
00654         LAST,
00655 
00656 /*      table for R     */
00657         brt(0, 10 ),
00658         brt(6, 10 ),
00659         brt(8, 8 ),
00660         brt(8, 6 ),
00661         brt(6, 5 ),
00662         brt(0, 5 ),
00663         drk(5, 5 ),
00664         brt(8, 0 ),
00665         LAST,
00666 
00667 /*      table for S     */
00668         drk(0, 1 ),
00669         brt(1, 0 ),
00670         brt(6, 0 ),
00671         brt(8, 2 ),
00672         brt(8, 4 ),
00673         brt(6, 6 ),
00674         brt(2, 6 ),
00675         brt(0, 7 ),
00676         brt(0, 9 ),
00677         brt(1, 10 ),
00678         brt(7, 10 ),
00679         brt(8, 9 ),
00680         LAST,
00681 
00682 /*      table for T     */
00683         drk(4, 0 ),
00684         brt(4, 10 ),
00685         drk(0, 10 ),
00686         brt(8, 10 ),
00687         LAST,
00688 
00689 /*      table for U     */
00690         drk(0, 10 ),
00691         brt(0, 2 ),
00692         brt(2, 0 ),
00693         brt(6, 0 ),
00694         brt(8, 2 ),
00695         brt(8, 10 ),
00696         LAST,
00697 
00698 /*      table for V     */
00699         drk(0, 10 ),
00700         brt(4, 0 ),
00701         brt(8, 10 ),
00702         LAST,
00703 
00704 /*      table for W     */
00705         drk(0, 10 ),
00706         brt(1, 0 ),
00707         brt(4, 4 ),
00708         brt(7, 0 ),
00709         brt(8, 10 ),
00710         LAST,
00711 
00712 /*      table for X     */
00713         brt(8, 10 ),
00714         drk(0, 10 ),
00715         brt(8, 0 ),
00716         LAST,
00717 
00718 /*      table for Y     */
00719         drk(0, 10 ),
00720         brt(4, 4 ),
00721         brt(8, 10 ),
00722         drk(4, 4 ),
00723         brt(4, 0 ),
00724         LAST,
00725 
00726 /*      table for Z     */
00727         drk(0, 10 ),
00728         brt(8, 10 ),
00729         brt(0, 0 ),
00730         brt(8, 0 ),
00731         LAST,
00732 
00733 /*      table for [     */
00734         drk(6, 0 ),
00735         brt(4, 0 ),
00736         brt(4, 10 ),
00737         brt(6, 10 ),
00738         LAST,
00739 
00740 /*      table for \     */
00741         drk(0, 10 ),
00742         brt(8, 0 ),
00743         LAST,
00744 
00745 /*      table for ]     */
00746         drk(2, 0 ),
00747         brt(4, 0 ),
00748         brt(4, 10 ),
00749         brt(2, 10 ),
00750         LAST,
00751 
00752 /*      table for ^     */
00753         drk(4, 0 ),
00754         brt(4, 10 ),
00755         drk(2, 8 ),
00756         brt(4, 10 ),
00757         brt(6, 8 ),
00758         LAST,
00759 
00760 /*      table for _     */
00761         dneg(0, 1),
00762         bneg(11, 1),
00763         LAST,
00764 
00765 /*      table for ascii 96: accent      */
00766         drk(3, 10),
00767         brt(5, 6),
00768         brt(4, 10),
00769         brt(3, 10),
00770         LAST,
00771 
00772 /*      table for a     */
00773         drk(0, 5),
00774         brt(1, 6),
00775         brt(6, 6),
00776         brt(7, 5),
00777         brt(7, 1),
00778         brt(8, 0),
00779         drk(7, 1),
00780         brt(6, 0),
00781         brt(1, 0),
00782         brt(0, 1),
00783         brt(0, 2),
00784         brt(1, 3),
00785         brt(6, 3),
00786         brt(7, 2),
00787         LAST,
00788 
00789 /*      table for b     */
00790         brt(0, 10),
00791         drk(8, 3),
00792         brt(7, 5),
00793         brt(4, 6),
00794         brt(1, 5),
00795         brt(0, 3),
00796         brt(1, 1),
00797         brt(4, 0),
00798         brt(7, 1),
00799         brt(8, 3),
00800         LAST,
00801 
00802 /*      table for c     */
00803         drk(8, 5),
00804         brt(7, 6),
00805         brt(2, 6),
00806         brt(0, 4),
00807         brt(0, 4),
00808         brt(0, 2),
00809         brt(2, 0),
00810         brt(7, 0),
00811         brt(8, 1),
00812         LAST,
00813 
00814 /*      table for d     */
00815         drk(8, 0),
00816         brt(8, 10),
00817         drk(8, 3),
00818         brt(7, 5),
00819         brt(4, 6),
00820         brt(1, 5),
00821         brt(0, 3),
00822         brt(1, 1),
00823         brt(4, 0),
00824         brt(7, 1),
00825         brt(8, 3),
00826         LAST,
00827 
00828 /*      table for e     */
00829         drk(0, 4),
00830         brt(1, 3),
00831         brt(7, 3),
00832         brt(8, 4),
00833         brt(8, 5),
00834         brt(7, 6),
00835         brt(1, 6),
00836         brt(0, 5),
00837         brt(0, 1),
00838         brt(1, 0),
00839         brt(7, 0),
00840         brt(8, 1),
00841         LAST,
00842 
00843 /*      table for f     */
00844         drk(2, 0),
00845         brt(2, 9),
00846         brt(3, 10),
00847         brt(5, 10),
00848         brt(6, 9),
00849         drk(1, 5),
00850         brt(4, 5),
00851         LAST,
00852 
00853 /*      table for g     */
00854         drk(8, 6),
00855         drk(8, 3),
00856         brt(7, 5),
00857         brt(4, 6),
00858         brt(1, 5),
00859         brt(0, 3),
00860         brt(1, 1),
00861         brt(4, 0),
00862         brt(7, 1),
00863         brt(8, 3),
00864         bneg(8, 2),
00865         bneg(7, 3),
00866         bneg(1, 3),
00867         bneg(0, 2),
00868         LAST,
00869 
00870 /*      table for h     */
00871         brt(0, 10),
00872         drk(0, 4),
00873         brt(2, 6),
00874         brt(6, 6),
00875         brt(8, 4),
00876         brt(8, 0),
00877         LAST,
00878 
00879 /*      table for i     */
00880         drk(4, 0),
00881         brt(4, 6),
00882         brt(3, 6),
00883         drk(4, 9),
00884         brt(4, 8),
00885         drk(3, 0),
00886         brt(5, 0),
00887         LAST,
00888 
00889 /*      table for j     */
00890         drk(5, 6),
00891         brt(6, 6),
00892         bneg(6, 2),
00893         bneg(5, 3),
00894         bneg(3, 3),
00895         bneg(2, 2),
00896         LAST,
00897 
00898 /*      table for k     */
00899         brt(2, 0),
00900         brt(2, 10),
00901         brt(0, 10),
00902         drk(2, 4),
00903         brt(4, 4),
00904         brt(8, 6),
00905         drk(4, 4),
00906         brt(8, 0),
00907         LAST,
00908 
00909 /*      table for l     */
00910         drk(3, 10),
00911         brt(4, 10),
00912         brt(4, 2),
00913         brt(5, 0),
00914         LAST,
00915 
00916 /*      table for m     */
00917         brt(0, 6),
00918         drk(0, 5),
00919         brt(1, 6),
00920         brt(3, 6),
00921         brt(4, 5),
00922         brt(4, 0),
00923         drk(4, 5),
00924         brt(5, 6),
00925         brt(7, 6),
00926         brt(8, 5),
00927         brt(8, 0),
00928         LAST,
00929 
00930 /*      table for n     */
00931         brt(0, 6),
00932         drk(0, 4),
00933         brt(2, 6),
00934         brt(6, 6),
00935         brt(8, 4),
00936         brt(8, 0),
00937         LAST,
00938 
00939 /*      table for o     */
00940         drk(8, 3),
00941         brt(7, 5),
00942         brt(4, 6),
00943         brt(1, 5),
00944         brt(0, 3),
00945         brt(1, 1),
00946         brt(4, 0),
00947         brt(7, 1),
00948         brt(8, 3),
00949         LAST,
00950 
00951 /*      table for p     */
00952         drk(0, 6),
00953         bneg(0, 3),
00954         drk(8, 3),
00955         brt(7, 5),
00956         brt(4, 6),
00957         brt(1, 5),
00958         brt(0, 3),
00959         brt(1, 1),
00960         brt(4, 0),
00961         brt(7, 1),
00962         brt(8, 3),
00963         LAST,
00964 
00965 /*      table for q     */
00966         drk(8, 6),
00967         drk(8, 3),
00968         brt(7, 5),
00969         brt(4, 6),
00970         brt(1, 5),
00971         brt(0, 3),
00972         brt(1, 1),
00973         brt(4, 0),
00974         brt(7, 1),
00975         brt(8, 3),
00976         bneg(8, 3),
00977         bneg(9, 3),
00978         LAST,
00979 
00980 /*      table for r     */
00981         brt(1, 0),
00982         brt(1, 6),
00983         brt(0, 6),
00984         drk(1, 4),
00985         brt(3, 6),
00986         brt(6, 6),
00987         brt(8, 4),
00988         LAST,
00989 
00990 /*      table for s     */
00991         drk(0, 1),
00992         brt(1, 0),
00993         brt(7, 0),
00994         brt(8, 1),
00995         brt(7, 2),
00996         brt(1, 4),
00997         brt(0, 5),
00998         brt(1, 6),
00999         brt(7, 6),
01000         brt(8, 5),
01001         LAST,
01002 
01003 /*      table for t     */
01004         drk(7, 1),
01005         brt(6, 0),
01006         brt(4, 0),
01007         brt(3, 1),
01008         brt(3, 10),
01009         brt(2, 10),
01010         drk(1, 5),
01011         brt(5, 5),
01012         LAST,
01013 
01014 /*      table for u     */
01015         drk(0, 6),
01016         brt(1, 6),
01017         brt(1, 1),
01018         brt(2, 0),
01019         brt(6, 0),
01020         brt(7, 1),
01021         brt(7, 6),
01022         drk(7, 1),
01023         brt(8, 0),
01024         LAST,
01025 
01026 /*      table for v     */
01027         drk(0, 6),
01028         brt(4, 0),
01029         brt(8, 6),
01030         LAST,
01031 
01032 /*      table for w     */
01033         drk(0, 6),
01034         brt(0, 5),
01035         brt(2, 0),
01036         brt(4, 5),
01037         brt(6, 0),
01038         brt(8, 5),
01039         brt(8, 6),
01040         LAST,
01041 
01042 /*      table for x     */
01043         brt(8, 6),
01044         drk(0, 6),
01045         brt(8, 0),
01046         LAST,
01047 
01048 /*      table for y     */
01049         drk(0, 6),
01050         brt(0, 1),
01051         brt(1, 0),
01052         brt(7, 0),
01053         brt(8, 1),
01054         drk(8, 6),
01055         bneg(8, 2),
01056         bneg(7, 3),
01057         bneg(1, 3),
01058         bneg(0, 2),
01059         LAST,
01060 
01061 /*      table for z     */
01062         drk(0, 6),
01063         brt(8, 6),
01064         brt(0, 0),
01065         brt(8, 0),
01066         LAST,
01067 
01068 /*      table for ascii 123, left brace */
01069         drk(6, 10),
01070         brt(5, 10),
01071         brt(4, 9),
01072         brt(4, 6),
01073         brt(3, 5),
01074         brt(4, 4),
01075         brt(4, 1),
01076         brt(5, 0),
01077         brt(6, 0),
01078         LAST,
01079 
01080 /*      table for ascii 124, vertical bar       */
01081         drk(4, 4),
01082         brt(4, 0),
01083         brt(5, 0),
01084         brt(5, 4),
01085         brt(4, 4),
01086         drk(4, 6),
01087         brt(4, 10),
01088         brt(5, 10),
01089         brt(5, 6),
01090         brt(4, 6),
01091         LAST,
01092 
01093 /*      table for ascii 125, right brace        */
01094         drk(2, 0),
01095         brt(3, 0),
01096         brt(4, 1),
01097         brt(4, 4),
01098         brt(5, 5),
01099         brt(4, 6),
01100         brt(4, 9),
01101         brt(3, 10),
01102         brt(2, 10),
01103         LAST,
01104 
01105 /*      table for ascii 126, tilde      */
01106         drk(0, 5),
01107         brt(1, 6),
01108         brt(3, 6),
01109         brt(5, 4),
01110         brt(7, 4),
01111         brt(8, 5),
01112         LAST,
01113 
01114 /*      table for ascii 127, rubout     */
01115         drk(0, 2),
01116         brt(0, 8),
01117         brt(8, 8),
01118         brt(8, 2),
01119         brt(0, 2),
01120         LAST
01121 };
01122 
01123 /*
01124  * Local Variables:
01125  * mode: C
01126  * tab-width: 8
01127  * c-basic-offset: 4
01128  * indent-tabs-mode: t
01129  * End:
01130  * ex: shiftwidth=4 tabstop=8
01131  */

Generated on Mon Sep 18 01:24:47 2006 for BRL-CAD by  doxygen 1.4.6