Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0049/font4.for
There is 1 other file named font4.for in the archive. Click here to see a list.
SUBROUTINE FONT4
C FONT4 12/26/67
C FONT4 - COORDINATE ARRAYS FOR SANS-SERIF OUTLINE ROMAN 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) / 2170217, 802330233, 802370237,
1 802500250, 802670267, 2730273, 2860286, 3040304, 3100310,
2 3340334, 10001, 903680368, 3950395, 10001, 10001,
3 10001, 103520352, 20406, 70420, 230434, 370447,
4 490461, 540476, 580484, 740502, 790511, 10001,
5 704010401,1103800380, 10001, 10001, 10001/
DATA (LOCATN(I), I= 33, 64) / 203570357, 820520, 910531,
1 960536, 990539, 1050553, 1090562, 1250577, 1350591,
2 1530605, 10001, 500010001, 303590359, 10001, 10001,
3 10001, 10001, 403660366, 1640613, 1820628, 1860636,
4 1950645, 1980649, 2040655, 2090660, 2130667, 10001,
5 603880388,1003720372, 10001, 10001, 10001/
C
C FOLLOWING LOCATN CARDS NOT REALLY NEEDED EXCEPT AS SAFEGUARD. ANY
C ATTEMPT TO WRITE GREEK CHARACTERS IS TRANSFERRED TO ROMAN.
C
DATA (LOCATN(I), I= 65, 96) / 2170217, 802330233, 802370237,
1 802500250, 802670267, 2730273, 2860286, 3040304, 3100310,
2 3340334, 10001, 903680368, 3950395, 10001, 10001,
3 10001, 103520352, 20406, 70420, 230434, 370447,
4 490461, 540476, 580484, 740502, 790511, 10001,
5 704010401,1103800380, 10001, 10001, 10001/
DATA (LOCATN(I), I= 97,128) / 203570357, 820520, 910531,
1 960536, 990539, 1050553, 1090562, 1250577, 1350591,
2 1530605, 10001, 500010001, 303590359, 10001, 10001,
3 10001, 10001, 403660366, 1640613, 1820628, 1860636,
4 1950645, 1980649, 2040655, 2090660, 2130667, 10001,
5 603880388,1003720372, 10001, 10001, 10001/
DATA ( KRD(I), I= 1, 50) /1003487232, 422428, 940311206,
1 241303552,1038362071, 680798141, 29180, 700213048, 896357170,
2 823803630, 885895049, 947754820, 774505952, 1013891, 148387468,
3 750528263, 744100355, 138377360, 160982680, 762008210, 622313616,
41003487232, 945622721, 570884385, 171021353, 13646899, 124970299,
5 499708635, 899571509, 796582457, 496328983, 223530127, 148022471,
6 274010563, 574264037, 847124413, 29084, 599419640, 862834576,
7 953001766, 776604193, 402654174, 137520537, 596269780, 791428877,
8 782967430, 575016067,1003487232, 29532, 898786448/
DATA ( KRD(I), I= 51, 100) / 654947469, 138284928, 979968,
1 29596, 965895312, 654947469, 134218685, 583938950, 911019713,
2 570884385, 171021353, 13646899, 124970299, 499708635, 899571509,
3 796582457, 496328983, 223530127, 148022471, 274010563, 574264037,
4 812394025, 583988224, 28828, 151798556, 969802496, 819082368,
5 979968, 975175708, 969801728,1003487232, 11676809, 175346980,
6 439848548, 710647561, 835613577, 913051265, 537264385, 137402377,
7 12514304, 28828, 149615452, 454951648, 351414400, 979968,
8 28828, 138284928, 979968, 995098652, 130492220/
DATA ( KRD(I), I= 101, 150) / 969802528, 862426533, 123830272,
11003487232, 28828, 811365276, 940310679, 134218685, 402916515,
2 105947148, 16830583, 194276764, 566914809, 863884176, 953000741,
3 775554560, 403667331, 306419881, 147995827, 258269593, 563733174,
4 792477453, 781884004, 540413885, 29180, 700181336, 931026835,
5 924664558, 685224076, 134218718, 150103577, 696999701, 825968272,
6 552746941, 672661888, 269651045, 41955344, 54647993, 297169436,
7 700180279, 927875980, 915183331,1073554119, 682588740, 540413220,
8 241345677, 150129910, 327575065, 663411443, 821835497/
DATA ( KRD(I), I= 151, 200) / 711566824, 609154048, 29180,
1 700181336, 931026835, 924664558, 685638368, 549597312, 1013903,
2 160982680, 763123475, 756695567, 150926336, 4267205, 306679363,
3 743151367, 814459595, 683949201, 87086135, 93448379, 398979771,
4 833447702, 762962393, 395534518, 222547250, 421150446, 853389192,
5 946705186, 773390784, 269617156,1003487232, 403072025, 30307225,
6 563609984,1003487232, 163718311, 240423331, 507089573, 779888412,
7 969811814, 809108992, 402916483, 39855132, 164557824, 29520325,
8 835613184, 402682813, 995127420, 277279228, 680326044/
DATA ( KRD(I), I= 201, 250) / 705266132, 302219292,1003487232,
1 375900, 264719036, 902348672, 772223136, 979968, 403060764,
2 197609212, 969423360, 403633152, 3833, 93418396, 965906307,
3 939525053, 402916515, 105947148, 16830583, 194276764, 566914809,
4 863884176, 953000741, 775554560, 403667331, 306419881, 147995827,
5 258269593, 563733174, 792477453, 781884004, 540413885, 403069205,
6 260400506, 432566784, 403633152, 5160, 111358480, 690705110,
7 729407961, 429121654, 25290971, 398979739, 799859542, 894225136,
8 652519657, 175247491, 943587328,1003487232, 5348486/
DATA ( KRD(I), I= 251, 300) / 239472099, 676009735, 815476364,
1 550974928, 622480084, 760929912, 529982744, 157343898, 263615004,
2 700181304, 896357170, 789233453, 918431623, 912035489, 503709889,
3 70260669, 6301340, 835463049, 946608896, 671750150,1038263959,
4 680699837, 4298980, 406294148, 778838795, 786054640, 419708110,
5 84046684, 865363186, 389566130, 856537995, 948803363, 706216288,
6 202475524,1003487232, 146978062, 452476590, 819834761, 946705154,
7 706216352, 269649988, 39855117, 50449622, 395898620, 832135574,
8 288572591, 147814568, 175314180, 439881380, 777789192/
DATA ( KRD(I), I= 301, 350) / 782937612, 449064138, 177140736,
1 302324108, 521788153, 26276764, 966514322, 549919136, 302969856,
2 284344434, 88168568, 195325340, 566914810, 864901972, 858505871,
3 787265387, 949886821, 842696192, 402883683, 38804489, 45200558,
4 285178288, 520701586, 759913112, 563504408, 224612626, 353813470,
5 551170763, 815537861, 675810691, 272831623, 143863052, 416823229,
6 822853262, 517354734, 149996563, 23126170, 263614972, 700181336,
7 929976207, 919381702, 573932704, 137695750, 681258733, 823098100,
8 794517144, 529949944, 192042132, 186893712, 520767186/
DATA ( KRD(I), I= 351, 400) / 793703424, 13648272, 428368400,
1 957232653, 542512525, 14611456, 13648784, 953169853, 175453197,
2 17121462, 326583927, 795427728, 953759463, 644296998, 176092160,
3 783260, 167773117, 8400779, 947921886, 18896789, 958417853,
4 335744102, 43004943, 53598425, 365357400, 257083535, 148023527,
5 340166976,1003487232, 506008231, 783038223, 791336536, 531198681,
6 862834575, 954050342, 741933538,1003487232, 470188353, 305434950,
7 444046918, 642354175, 612898211, 341220809,1003487232, 492229974,
8 327476571, 466088539, 664395348, 555138385, 456611773/
DATA ( KRD(I), I= 401, 450) / 436536611, 306518439, 511253092,
1 641271264, 437187584, 985369249, 537297153, 169938982, 9449519,
2 85118228, 458774196, 792450965, 940278498,1038850692, 540445988,
3 207792299, 217367986, 556418799, 779023360, 984612892, 197315828,
4 425186964, 792545135, 953034598, 877365889, 503709921, 170033152,
51038260399, 286673394, 656097003, 782965348, 506858756, 175043584,
6 985535266, 739803552, 269649988, 39855116, 49366195, 289855029,
7 760008593, 821741106, 455394511, 179480774, 306613795, 709630852,
81003487232, 985369249, 537297153, 169938982, 9449519/
DATA ( KRD(I), I= 451, 500) / 85118228, 458774196, 792458140,
1 940278498,1038850692, 540445988, 207792299, 217367986, 556418799,
2 779023360, 985535266, 739803552, 269649988, 39855116, 49366195,
3 256267797, 726388561, 922629002, 178460964, 439914148, 812520414,
4 181615856, 320260594, 656065231, 785561533, 984940880, 16797011,
5 357949882, 565900188, 966452792, 561501683, 859619824, 503645117,
6 985369249, 537297153, 169938982, 9449519, 85118228, 458774196,
7 792450965,1073618788, 841647617, 337776839, 374870660, 744201963,
81038850692, 540445988, 207792299, 217367986, 556418799/
DATA ( KRD(I), I= 501, 550) / 779023360, 984612892, 197315828,
1 425219764, 792545135, 953025248, 785071729, 522635569, 217231520,
2 979968, 978583824, 688521472,1038472342, 57696281, 60976508,
3 600600442, 966681463, 828953973,1003487232, 985660420, 74683780,
4 541660775, 664561415, 776636961, 403900420,1038767670, 528999995,
5 701231963, 966681430, 794449853, 984612892, 197311093, 894943104,
6 738571434, 167773117, 975175708, 969801728,1003487232, 995098645,
7 122800308, 257217908, 455557618, 592041653, 793561936, 919438080,
8 818659025, 690570800, 552054240, 403059055, 353650897/
DATA ( KRD(I), I= 551, 600) / 184694891, 100664253, 984612885,
1 189975796, 425219764, 792545135, 953025248, 785071729, 522635569,
2 217231520, 979968, 985006305, 169938982, 9449519, 85118196,
3 425219764, 792545135, 953034598, 877365921, 537265118, 439652550,
4 178433231, 320260594, 656097003, 782965348, 506892221, 984778977,
5 403145345, 774706022, 949891951, 891014804, 525751540, 187880469,
61072694433, 180320422, 183780754, 522831567, 784050886, 642223491,
7 272800701, 985369249, 537297153, 169938982, 9449519, 85118228,
8 458774196, 792450965,1073612513, 784300774, 675810723/
DATA ( KRD(I), I= 601, 650) / 306387114, 179518769, 455625361,
1 788241341, 984612885, 189973779, 390616725, 827150225, 789268082,
2 589710639, 248686752, 979968, 984716484, 406359748, 777755335,
3 679750828, 114342961, 120803701, 593187667, 822789650, 388220112,
4 250919690, 882746246, 945655586, 739803488, 168822885,1003487232,
5 985531040, 538347876, 343230482, 22369628, 533190453, 858245607,
6 542675619, 943588285, 985369249, 537264353, 169938982, 9458869,
7 177412388, 439848548, 745252597, 962462432, 774829056, 984634549,
8 475781013, 537264149,1003487232, 995120245, 275174901/
DATA ( KRD(I), I= 651, 700) / 678221717, 705266127, 302219285,
11003487232, 984613227, 89413070, 693982763, 940245448, 201327549,
2 984974357, 190256885, 962592197, 406128769, 1052804, 274013545,
3 380564480, 984612867, 757155925, 962480323, 943587328,1003487232,
4 0, 0, 0, 0, 0, 0,
5 0, 0, 0, 0, 0, 0,
6 0, 0, 0, 0, 0, 0,
7 0, 0, 0, 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 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,000012281628,280024002106,070604000000,303008091423,
C 6 200908092929,000000281528,202724252524,262226202518,241720152314,
C 11 261227112809,280727052604,230220011500,000030300403,041316132012,
C 16 221124092407,220520041603,040330300416,042516252024,222222202018,
C 21 181715160416,292900000000,280526032201,170014000901,050303050109,
C 26 001300150119,032305250927,142817282227,262528232521,232321241725,
C 31 142510240823,062105190415,041305090607,080510041403,170321042305,
C 36 250728052929,000000281228,172720262324,252227192816,281227092506,
C 41 230420021701,120000003030,040304251225,172420222220,231824152413,
C 46 231022082006,170412030403,292900000000,000000282628,262504250416,
C 51 191619130413,040328032800,000029290000,000000282828,282504250416,
C 56 191619130413,040000002929,171228122806,270426032201,170014000901,
C 61 050303050109,001300150119,032305250927,142817282227,262528232521,
C 66 232321241725,142510240823,062105190415,041305090607,080510041403,
C 71 170321042305,240624091709,171229290000,000000280428,041624162428,
C 76 282828002400,241304130400,000029290000,290200000028,282828000000,
C 81 292900000000,001104110409,050707050904,130315031904,210523072409,
C 86 242828282809,270624032001,160012000801,040301060009,001129290000,
C 91 000000280428,041421282628,131728002300,101504100400,000029290000,
C 96 000000280428,040328032800,000029290000,292100000028,032814092528,
C 101 282828002500,252215051305,032203000000,292900000000,000000280428,
C 106 240524282828,280024000423,040000002929,120008010503,030501080012,
C 111 001601200323,052508271228,162820272325,252327202816,281227082505,
C 116 230320011600,120030301203,090407060509,041304150519,072209241225,
C 121 162519242122,231924152413,230921061904,160312032929,000000281528,
C 126 202723262624,272328212819,271726162314,201315120412,040000003030,
C 131 041504251625,202422232421,241922172016,161504152929,200116001200,
C 136 080105030305,010800120016,012003230525,082712281628,202723252523,
C 141 272028162812,270825052303,313126082207,201030301804,160312030904,
C 146 070605090413,041505190722,092412251625,192421222319,241524132309,
C 151 210619091508,180429290000,000000281528,202723262624,272328212819,
C 156 271726162314,201328002300,161204120400,000030300415,042516252024,
C 161 222324212419,221720161615,041529290000,000402070605,090415031803,
C 166 220423052407,240823102211,201208150417,021901210123,022503260527,
C 171 112815282127,242626252422,222319241425,112506240522,062007190918,
C 176 121720152314,251327112808,280627042502,230118001400,080104020004,
C 181 292900000000,120012250025,002828282825,162516001200,292900000000,
C 186 042804090507,070509041303,150319042105,230724092428,282828092706,
C 191 240320011600,120008010403,010600090028,042829290000,002804281405,
C 196 242828281600,120000282929,292100280328,080813281528,200825282828,
C 201 210019001420,090007000028,292900000000,000011150228,072814182128,
C 206 262817152800,230014120500,000029290000,120012140028,052814172328,
C 211 282816141600,120029290000,000000032325,022502282828,282505032803,
C 216 280000002929,120008010503,030501080012,001601200323,052508271228,
C 221 162820272325,252327202816,281227082505,230320011600,120030301203,
C 226 090407060509,041304150519,072209241225,162519242122,231924152413,
C 231 230921061904,160312032929,120012220821,072410251126,122816281600,
C 236 120029290000,000000050108,031006121616,201822202222,212319241425,
C 241 122507240322,002403260627,112815282027,232625242622,262025182316,
C 246 191409100709,050704040403,280328000000,292900000000,000503070406,
C 251 070412031503,200422052407,240922112012,161314131416,181720182220,
C 256 222121231924,152513250824,042201240426,072712281628,202723262524,
C 261 262226202518,231621152513,271128092807,270525032101,150012000601,
C 266 020300052929,000600092028,242824092809,280624062400,200020060006,
C 271 303005092023,200905092929,000403060704,120315032004,230624082411,
C 276 231320151516,121608150614,021604282628,252508250718,111916192118,
C 281 251627142811,280827052503,210116001100,060103020004,292900000000,
C 286 041205130814,131516152114,241327112809,280627042402,210116001300,
C 291 080105020204,010600090013,011603190622,112517272328,242518241222,
C 296 081906170515,041230300508,050706050804,130316032104,230524072408,
C 301 231021111612,131208110610,050829290000,090010061212,151719222325,
C 306 002501282828,282523212018,161214061300,090029290000,081505160318,
C 311 022002220324,052608271228,162820272326,252426222620,251823162015,
C 316 231425132711,280928072705,250321011600,120007010303,010500070009,
C 321 011103130514,081530301316,151618172018,222022222024,162512250824,
C 326 062206200818,101713163030,161320122211,240924072205,200416031203,
C 331 080406050407,040906110812,121316132929,241623152014,151312130714,
C 336 041501170019,002201240426,072712281528,202723262624,272228192815,
C 341 271225092206,170311010500,040310041606,200922112313,241630302320,
C 346 232122232024,152512250724,052304210420,051807171216,151620172218,
C 351 232029290000,001300161216,122416241616,281628131613,160512051213,
C 356 001329290000,001300162816,281300132929,050710130013,001610160522,
C 361 092314171923,232218162816,281318132307,190614120906,050729290000,
C 366 000023282828,050000002929,000800112811,280800083030,001800212821,
C 371 281800182929,100006030306,010900130015,011903220625,102813261024,
C 376 072105180415,041305100707,100413021000,292900000000,150218042107,
C 381 231024132415,231821211824,152618282225,252227192815,281327092506,
C 386 220318001502,292900000000,140013001001,090309041006,130715071806,
C 391 190419023131,180816051303,100513071409,292900000000,142113211022,
C 396 092409251027,132815281827,192519231820,161713151017,131914212929,
C 401 130010010903,090410061307,150718061904,190318011500,130029290000,
C 406 291123022101,160013000801,050202040106,000900120115,021705190820,
C 411 132116212120,231923212821,280023002302,303023062004,160313030904,
C 416 060605100511,061509171318,161820172315,230629290000,291100000028,
C 421 052805190720,122115212020,231926172715,281228092706,260423022001,
C 426 150012000701,050205000000,303005060515,081712181518,191722152311,
C 431 231022061904,150312030804,050629290000,291128042502,220117001300,
C 436 080105020204,010600090012,011502170519,082013211721,222025192817,
C 441 241521171718,131809170615,051105100606,090413031703,210424062804,
C 446 292900000000,291123022101,160013000801,050202040106,000900120115,
C 451 021705190820,132116212120,231923282828,280023002302,303023062004,
C 456 160313030904,060605100511,061509171318,161820172315,230629290000,
C 461 291128042502,220117001300,080105020204,010600090012,011502170519,
C 466 072012211621,212023192617,271528122810,051006060904,130317032104,
C 471 240628043030,051306150716,091713181518,191721162215,231305132929,
C 476 291110001016,001600191019,102111241326,162721282828,282521251724,
C 481 162315211519,251925161516,150010002929,291123022101,160013000801,
C 486 050202040106,000900120115,021705190820,132116212120,231923212821,
C 491 313128072704,250221011601,100204040607,110516042004,220523072311,
C 496 303023062004,160313030904,060605100511,061509171318,161820172315,
C 501 230629290000,291100000028,052805190720,122116212120,231926172715,
C 506 281228002300,231222151917,151813180917,061505120500,000029290000,
C 511 290508000816,201620000800,303011210422,012300240025,012604271128,
C 516 172824272726,282528242723,242217211121,292900000000,291131310004,
C 521 020707051204,160418051907,192524252407,230421021701,120106020004,
C 526 303020211722,152415251727,202823282627,282528242622,232120212929,
C 531 291100000028,052805141921,262115152800,220011130510,050000002929,
C 536 290200000028,282828000000,292900000000,292100000021,032103180520,
C 541 072109211120,131814161518,172019212121,232025182616,271227002400,
C 546 241223152217,201818171716,161415111500,120012121115,101708180617,
C 551 051604140311,030000002929,291100000021,052105190720,122116212120,
C 556 231926172715,281228002300,231222151917,151813180917,061505120500,
C 561 000029290000,291112000701,050202040106,000900120115,021705190720,
C 566 122116212120,231926172715,281228092706,260423022101,160012003030,
C 571 130309040606,051005110615,091713181518,191722152311,231022061904,
C 576 150313032929,291105020701,120015002001,230226042706,280928122715,
C 581 261723192020,152112210720,051905210021,313100010501,051130300506,
C 586 051508171218,151819172215,231123102206,190415031203,080405062929,
C 591 291123022101,160013000801,050202040106,000900120115,021705190820,
C 596 132116212120,231923212821,313128012301,231130302306,200416031303,
C 601 090406060510,051106150917,131816182017,231523062929,291100000021,
C 606 052105170819,112016212021,242026192817,231622171918,171812170915,
C 611 071305100500,000029290000,291103050604,120317032204,230523062207,
C 616 200808110512,031301150117,031906201121,172122202619,241621171618,
C 621 111807170616,071509142410,260927082806,280527032502,220117001100,
C 626 050100020305,292900000000,291128002100,160113021104,100710180018,
C 631 002110211028,152815212521,251815181507,160517042103,280328002929,
C 636 291123022101,160012000701,050202040106,000900210521,050906060904,
C 641 130315031904,220623092321,282128002300,230229290000,291100210521,
C 646 140523212821,160012000021,292900000000,292100210321,080613211521,
C 651 200625212821,210019001415,090007000021,292900000000,291100001111,
C 656 022108211414,202126211711,280022001408,060000002929,291111010021,
C 661 052114052321,282131311405,120310020401,000100040404,080510071109,
C 666 111029290000,291100000003,221802180221,282128180603,280328000000,
C 671 292900000000,000000000000,000000000000,000000000000,000000000000,
C ADVANCED LTRPLT PROGRAM DECK MUST BE USED WITH THIS ARRAY DECK
RETURN
END