Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap2_198111 - decus/20-0049/font2.for
There is 1 other file named font2.for in the archive. Click here to see a list.
      SUBROUTINE FONT2
C     FONT2                                                     09/20/67
C     FONT2 - COORDINATE ARRAYS FOR PRIMITIVE ROMAN AND GREEK LETTERING
C
C     DONALD BARTH, C/O K.B. WIBERG, DEPT. OF CHEMISTRY, YALE UNIVERSITY
C
      COMMON/FONT/LOCATN(128),KRD(950),ICHECK(2)
      DATA ICHECK/4HFONT,4H MIS/
      DATA   (LOCATN(I), I=  1, 32)   /   1640164, 801680168, 801710171,
     1 801750175, 801800180,   1830183,   1870187,   1920192,   1940194,
     2   2000200,     10001, 902160216,   2230223,     10001,     10001,
     3     10001, 102090209,     20078,     50082,     90086,    120089,
     4    150093,    180097,    210100,    250105,    280108,     10001,
     5 702180218,1102070207,     10001,     10001,     10001/
      DATA   (LOCATN(I), I= 33, 64)   / 202110211,    310111,    330116,
     1    360119,    380120,    400125,    420128,    460132,    490137,
     2    540142,     10001, 500010001, 302120212,     10001,     10001,
     3     10001,     10001, 402150215,    580145,    620148,    640150,
     4    670153,    690155,    710157,    730159,    760162,     10001,
     5 602200220,1002050205,     10001,     10001,     10001/
      DATA   (LOCATN(I), I= 65, 96)   /   1640164, 801680168, 801710171,
     1 801750175, 801800180,   1830183,   1870187,   1920192,   1940194,
     2   2000200,     10001, 902160216,   2230223,     10001,     10001,
     3     10001, 102090209,   2250295,   2280299,   2320304,   2340308,
     4   2360313,   2390318,   2410323,   2440327,   2490332,     10001,
     5 702180218,1102070207,     10001,     10001,     10001/
      DATA   (LOCATN(I), I= 97,128)   / 202110211,   2520334,   2550338,
     1   2570340,   2590345,   2610348,   2640355,   2680359,   2700362,
     2   2730366,     10001, 500010001, 302120212,     10001,     10001,
     3     10001,     10001, 402150215,   2750370,   2770372,   2800375,
     4   2850380,   2870384,   2910388,     10001,     10001,     10001,
     5 602200220,1002050205,     10001,     10001,     10001/
      DATA   ( KRD(I), I=   1,  50)   /1003487232,    488320,1038334638,
     11003487232, 720250757, 704643100, 734945171, 719338429, 964358396,
     2  24122592, 705566653,  30077847, 945455104,  30340096, 968912896,
     3 940538766,  15660032, 968912896,1039022094,1003487232, 964358396,
     4  24122592, 705566606, 720303104,  29361118,  15612894, 969802685,
     5 264958942, 499581918, 235570109, 969807520, 234887101,  29361118,
     6  10384350, 490603453,  29361024,1003487232,     29134, 969802685,
     7     29568, 969864192,  24375996, 964564640, 234886167,1003487232,
     8     29372, 964578990,  15660032,  24375996, 964564640/
      DATA   ( KRD(I), I=  51, 100)   / 234886167,1038559104,1003487232,
     1     29372, 964578990,  15694510, 940504064, 964358396,  24137609,
     2 945455328,   6222848,  30307294, 499581885,  29365472, 705566620,
     31003487232,  29819804,1003487232,  29360590, 940471229,  30278622,
     4    947133,  29833664,1038564252,1003487232,  30306304, 940504064,
     5 954911987,  14685408, 705566686, 960365501,  29361118,  14929587,
     6 955127456, 234887101, 954911987,  14685408, 705566653, 954911987,
     7  14685408, 705566686, 969802685,  10364814, 724814862,   5473152,
     81003487232, 969371895, 235894803, 725545984, 954911987/
      DATA   ( KRD(I), I= 101, 150)   /  14685408, 705566686, 960495493,
     1 704644029,  29361118,  14929587, 955122621, 490397148, 259477470,
     2 484901821, 725507772, 494587870, 720371365, 469991429,1003487232,
     3  29361118,  10375134, 485360573, 499581885,  19923934,  14929358,
     4 470776270, 725498752,1003487232,  19923934,  14929587, 955122621,
     5  14929587, 955127456, 234886158,1003487232,  20970496,1038104819,
     6 725498757, 704872453,1003487232, 954911987,  14685408, 705566686,
     7 960495488,1003487232,  19923934,  14929587, 955184128, 959695886,
     8 245016453, 704644029, 499581918,  20860861,  19928288/
      DATA   ( KRD(I), I= 151, 200)   / 705566686, 960365501,  20382611,
     11003487232,  20152782, 705580989,  20841438,    937917,  20382686,
     2 960494816,1003487232,  20859904, 940504064,  24375996, 964564640,
     3 234886167,1003487232, 264729024,1038320288,1003487232,  19946748,
     4 734945171,   5243776,1003487232,  24375996, 964578990, 250575534,
     5 949884576, 234887101, 968894345,1039028096,1003487232, 968912910,
     6 255512462, 945455328,   6222848, 964358396,  24122592, 705566601,
     7 719566857,1003487232,  24146844, 235860992, 249580567, 264958871,
     8 960149742,   9442528, 705566601, 720303104, 960149742/
      DATA   ( KRD(I), I= 201, 250)   /  19946748, 734945157, 704872453,
     11003487232, 264264709, 235860992, 734945157, 705623040,  15612894,
     2 494344125,  15612861,  10375134, 948981726, 494344125, 968885181,
     3  20860894,   6166461, 479892928, 240592829, 469997001, 710933733,
     41003487232, 489938396, 729004989,    488320,1038334638,1003487232,
     5 720250757, 704643100, 734945171, 719338429, 968912896,1003487232,
     6    488320,    979968, 968912896, 940538766,  15660032,  30306304,
     7 940504064,  29361118,  15612894, 969802685,  24375996, 964564640,
     8 234886167,1038334638,1003487232, 264958942, 499581918/
      DATA   ( KRD(I), I= 251, 300)   / 235570109,  29361118,  10384350,
     1 490603453,    488320,1003487232,     29134, 969802685,     29568,
     2 969864192,  30307294, 250264542,    918461,  24375996, 964564640,
     3 234886167,1003487232,     29596, 940504064,     29372, 964578990,
     4  15660032, 968913358,    918461,  30307294, 499581885,  24375767,
     5 470776279, 734945213,  20176567, 960374437, 240133139,1038578112,
     61003487232,  30278622,    947133,  24126693, 710813591,1038578112,
     71003487232,    229395,  24375996, 964578976, 940504064, 960140736,
     8 234886158, 255282862, 710804413, 240583328, 945694382/
      DATA   ( KRD(I), I= 301, 350)   / 960388796, 499376127,    979968,
     1  20172238, 476052704,1038555027,1003487232, 964129020,  24136942,
     2 720250757, 704872453,   9681853, 954911987,  14919113,1038328837,
     3 235570053,1003487232, 264724375,1038572787,   5472928,1073616544,
     4 235860992,  20166656,1038334419, 725498761,1073382333, 259486396,
     5 964335040, 234886391,1038334638,1003487232, 489919936, 710865920,
     6 254809088,1038095822, 960461262, 710804413,  30278622, 484443069,
     7 254810111,   1013765, 235340453,1039027877, 940504064,  20172014,
     8    698259,1003487232, 264724375,1038572787, 485374942/
      DATA   ( KRD(I), I= 351, 400)   / 484451333, 235570175, 945455328,
     11003487232,  14929587, 955127456, 234886158,1003487232,  20860894,
     2 254804958, 725025725, 240583328, 945699507, 489929727,    979968,
     3 490388133, 469991429,  14929811,1003487232,  20860894, 489915325,
     4  20172014,   5472704, 710823869,  14929587, 955127456, 234886158,
     51038808063, 235860992,  20167679, 710804446, 960494592,1003487232,
     6 254809312, 470456211,1038808063, 235860992, 254818309, 235345353,
     71038554784, 945699507,1003487232,         0,         0,         0,
     8         0,         0,         0,         0,         0/
C
C     SUBSCRIPT OF LOCATN ARRAY = 1+((KIND-1)*64)+BCD CODE OF LETTER
C     LOCATN POINTER MAY BE COMPOSED OF AS MANY AS 10 DIGITS
C     LEFT 2 DIGITS DETERMINE OPTION WHEN LETTER FOLLOWS $ CHARACTER
C     FOR UPPER CASE LETTER NEXT 4 DIGITS IS FIRST KRD ARRAY SUBSCRIPT
C     FOR LOWER CASE LETTER RIGHT 4 DIGITS IS FIRST KRD ARRAY SUBSCRIPT
C     COORDINATES IN KRD ARRAY ARE PLOTTED UNTIL COORDINATE 29 IS FOUND
C
C     LOCATN(I),I=1,64 CONTAINS LOCATION POINTERS FOR SINGLE LINE ROMAN
C
C     LOCATN(I),I=65,128 CONTAINS LOCATION POINTERS FOR GREEK LETTERS
C     GREEK LETTERS ARE GIVEN IN SAME NUMERICAL SEQUENCE AS ROMAN
C     CODE FOR 24TH LETTER OF GREEK ALPHABET IS SAME AS 24TH OF ROMAN
C
C     LETTER SEQUENCE IN FOLLOWING TABLE IS THAT USED IN LOCATN ARRAY
C     BCD CODE FOR CHARACTER B IS 18 AND IS 19TH ENTRY IN LOCATN ARRAY
C
C       POINTER POSITION AND BCD CODE /  0 = 00  ,  1 = 01  ,  2 = 02  ,
C       3 = 03  ,  4 = 04  ,  5 = 05  ,  6 = 06  ,  7 = 07  ,  8 = 08  ,
C       9 = 09  ,  ******  ,  = = 11  ,  @ = 12  ,  ******  ,  ******  ,
C       ******  ,  + = 16  ,  A = 17  ,  B = 18  ,  C = 19  ,  D = 20  ,
C       E = 21  ,  F = 22  ,  G = 23  ,  H = 24  ,  I = 25  ,  ******  ,
C       . = 27  ,  ) = 28  ,  ******  ,  ******  ,  ******  /
C       POINTER POSITION AND BCD CODE /  - = 32  ,  J = 33  ,  K = 34  ,
C       L = 35  ,  M = 36  ,  N = 37  ,  O = 38  ,  P = 39  ,  Q = 40  ,
C       R = 41  ,  ******  ,  $ = 43  ,  * = 44  ,  ******  ,  ******  ,
C       ******  ,    = 48  ,  / = 49  ,  S = 50  ,  T = 51  ,  U = 52  ,
C       V = 53  ,  W = 54  ,  X = 55  ,  Y = 56  ,  Z = 57  ,  ******  ,
C       , = 59  ,  ( = 60  ,  ******  ,  ******  ,  ******  /
C
C     THE FOLLOWING IS THE UNPACKED DECIMAL COORDINATE TABLE
C     CORRESPONDING KRD SUBSCRIPT OF FIRST ENTRY IN LINE IS AT LEFT
C     X AND Y COORDINATES (2 DIGITS EACH) FOR 3 POINTS FORM EACH ENTRY
C     ENTRY 000014282800 CONTAINS POINTS  X=0,Y=0  X=14,Y=28  X=28,Y=0
C     IN PACKED KRD COORDINATE ARRAY THIS ENTRY WOULD APPEAR AS FOLLOWS
C     (0*(32**5))+(0*(32**4))+(14*(32**3))+(28*(32**2))+(28*32)+0=324220
C
C   1  292900000000,000014282800,303007142114,292900000000,211428092805,
C   6  210000000028,212828232819,211400142929,282321280728,002300050700,
C  11  210028052929,002821282823,280521000000,002829290000,282800280000,
C  16  280030302814,001429290000,282800280000,303028140014,292900000000,
C  21  282321280728,002300050700,210028052814,211429290000,002800003030,
C  26  001428143030,282828002929,072821283030,142814003030,070021002929,
C  31  282828052100,070000052929,002800003030,000928283030,141928002929,
C  36  002800002800,292900000000,000000281414,282828002929,000000282800,
C  41  282829290000,002307282128,282328052100,070000050023,292900000000,
C  46  000000282128,282328192114,001429290000,002307282128,282328052100,
C  51  070000050023,303014092800,292900000000,000000282128,282328192114,
C  56  001430302114,280029290000,282321280728,002300192809,280521000700,
C  61  000529290000,002828283030,142814002929,002800050700,210028052828,
C  66  292900000000,002814002828,292900000000,002800001414,280028282929,
C  71  002828003030,000028282929,002814141400,303014142828,292900000000,
C  76  002828280000,280029290000,281421190719,001400050700,210028053030,
C  81  281928002929,002800003030,001407192119,281428052100,070000052929,
C  86  281421190719,001400050700,210028052929,281421190719,001400050700,
C  91  210028053030,282828002929,000928092814,211907190014,000507002800,
C  96  292900000000,282814280723,070030300019,211929290000,281421190719,
C 101  001400050700,210028053030,281931312805,210000002929,002800003030,
C 106  001407192119,281428002929,141921231428,072314193030,141414002929,
C 111  211928232128,142321193030,211431312105,140007000005,292900000000,
C 116  002800003030,000928193030,141428002929,142814002929,001900003030,
C 121  001407191414,140030301414,211928142800,292900000000,001900003030,
C 126  001407192119,281428002929,001407192119,281428052100,070000050014,
C 131  292900000000,001931310000,303000140719,211928142805,210007000005,
C 136  292900000000,281421190719,001400050700,210028053030,281931312800,
C 141  292900000000,001900003030,001407192119,281429290000,281907190014,
C 146  070921092805,210000002929,142814003030,001928192929,001900050700,
C 151  210028053030,281928002929,001914002819,292900000000,001907001414,
C 156  210028192929,001928003030,000028192929,001914003030,281931310700,
C 161  292900000000,001928190000,280029290000,002307282128,282328052100,
C 166  070000050023,292900000000,072814281400,303007002100,292900000000,
C 171  001900230728,212828232819,000500002800,292900000000,002307282128,
C 176  282328192114,071430302114,280928052100,070000052929,282800092809,
C 181  303028192800,292900000000,282800280014,071921192814,280521000700,
C 186  000529290000,282321280728,002300050700,210028052809,211407140009,
C 191  292900000000,002300282828,070029290000,071400190023,072821282823,
C 196  281921140714,000900050700,210028052809,211429290000,281921140714,
C 201  001900230728,212828232805,210007000005,292900000000,072800230005,
C 206  070029290000,212828232805,210029290000,001428143030,142314052929,
C 211  001428142929,000928193030,280900193030,142314052929,282800002929,
C 216  001928193030,000528052929,140921051400,070514092929,140007051409,
C 221  210531310705,292900000000,141907231428,212307142929,000014282800,
C 226  303007142114,292900000000,211428092805,210000000028,212828232819,
C 231  211400142929,282800280000,292900000000,000014282800,000029290000,
C 236  282800280000,280030302814,001429290000,002828280000,280029290000,
C 241  002800003030,001428143030,282828002929,002307282128,282328052100,
C 246  070000050023,303007142114,292900000000,072821283030,142814003030,
C 251  070021002929,002800003030,000928283030,141928002929,000014282800,
C 256  292900000000,000000281414,282828002929,000000282800,282829290000,
C 261  002828283030,071421143030,000028002929,002307282128,282328052100,
C 266  070000050023,292900000000,000000282828,280029290000,000000282128,
C 271  282328192114,001429290000,282800281414,000028002929,002828283030,
C 276  142814002929,002307281423,140030301423,212828232929,001907232123,
C 281  281928092105,070500090019,303014281400,292900000000,002828003030,
C 286  000028282929,002300090705,210528092823,303014281400,292900000000,
C 291  000007000019,002307282128,282328192100,280029290000,281921051400,
C 296  070000050014,071914192114,210528002929,070514002100,280528092114,
C 301  281928232128,142807233131,000029290000,001907191414,140531310700,
C 306  303014052819,292900000000,282314280728,002300190714,211428092805,
C 311  210007000005,000907142929,281421190719,001407091409,303007090005,
C 316  070021002805,292900000000,072814232823,303014230719,000507002100,
C 321  313128052100,070029290000,001907140000,303007141419,211928142809,
C 326  313121002929,072314282128,282321051400,070000050723,303007142114,
C 331  292900000000,141907051400,210529290000,071900050000,303000051414,
C 336  281930301414,210528002929,002828003030,141400002929,071900053131,
C 341  000030300005,070014002105,303028192105,280029290000,001907190714,
C 346  000021092819,292900000000,072814232823,303014230719,141428143030,
C 351  141400090005,070021003131,280521000700,292900000000,001407192119,
C 356  281428052100,070000050014,292900000000,001928193030,071900003030,
C 361  211914002929,070514002100,280528142119,141907143131,000029290000,
C 366  141921142105,140007000005,001407192819,292900000000,001928193030,
C 371  141907002929,001907190714,000507001400,210528192929,001407192119,
C 376  281428052100,070000050014,303021283131,070029290000,001907143131,
C 381  210528003030,281931310000,292900000000,071900050700,140021052819,
C 386  303021283131,070029290000,071900140005,070014051409,303014052100,
C 391  280528142119,292900000000,000000000000,000000000000,000000000000,
      RETURN
      END