Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
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