// PLMakerData.bcpl // written by Ramshaw December 14, 1980 5:04 PM build instruction table // Ramshaw February 12, 1982 10:58 AM change Laurel to scalable get "plmaker.d"; get "ix.dfs"; external [ //outgoing Procedure InitTables //incoming Procedures Allocate MakeStringCopy //incoming statics names flags tnames tflags nt cwvec z ] manifest [ maxnames=256 //max number of name IX entries in dictionary ] let InitTables() be [ // make space for names array names=Allocate(z, maxnames); flags=Allocate(z, maxnames); for i=0 to maxnames-1 do [ names!i=0; flags!i=0 ]; // make space for tnames & tflags manifest maxnt=60; tnames=Allocate(z, maxnt); tflags=Allocate(z, maxnt); for i=0 to maxnt-1 do [ tnames!i=0; tflags!i=0 ]; // set up table of family names of fonts to be considered let n=0; let ptr=tflags tnames!n=MakeStringCopy("APL"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("ARROWS"); ptr>>ptsize=10; ptr>>s40=0; ptr>>CS=CSgraphic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("ARROWSTWO"); ptr>>ptsize=10; ptr>>s40=0; ptr>>CS=CSgraphic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("BRAVOX"); ptr>>ptsize=12; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("CARDSTWO"); ptr>>ptsize=12; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("MODERN"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("MODERNPIONE"); ptr>>ptsize=10; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("CMULOGO"); ptr>>ptsize=18; ptr>>s40=1; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("CREAM"); ptr>>ptsize=0; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("CYRILLIC"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSxeroxcyrillic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("DANATEN"); ptr>>ptsize=0; ptr>>s40=1; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("DANATWELVE"); ptr>>ptsize=0; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("ELITE"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("FLEUR"); ptr>>ptsize=28; ptr>>s40=1; ptr>>CS=CSgraphic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("GACHA"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("GATES"); ptr>>ptsize=32; ptr>>s40=0; ptr>>CS=CSgraphic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("HELVETICA"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSxeroxtext; ptr>>fligs=1; ptr>>dligs=1; ptr>>mquad=1; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("HELVETICAD"); ptr>>ptsize=24; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=1; ptr>>dligs=1; ptr>>mquad=1; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("HIPPO"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSxeroxgreek; ptr>>fligs=0; ptr>>dligs=1; ptr>>mquad=1; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("IFIP"); ptr>>ptsize=0; ptr>>s40=1; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("KEYHOLE"); ptr>>ptsize=20; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("LAUREL"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("LETTERGOTHIC"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("LOGO"); ptr>>ptsize=24; ptr>>s40=1; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("MALEFEMALE"); ptr>>ptsize=10; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("MATH"); ptr>>ptsize=10; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("MAZE"); ptr>>ptsize=16; ptr>>s40=0; ptr>>CS=CSgraphic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("OHELVETICA"); ptr>>ptsize=0; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=1; ptr>>mquad=1; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("OLDENGLISH"); ptr>>ptsize=18; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=1; ptr>>mquad=1; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("PHONETICTR"); ptr>>ptsize=12; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("ROMANPS"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("SAIL"); ptr>>ptsize=8; ptr>>s40=1; ptr>>CS=CSsail; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("SIGMA"); ptr>>ptsize=20; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("SNAIL"); ptr>>ptsize=8; ptr>>s40=1; ptr>>CS=CSsanitizedsail; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("SPLUNK"); ptr>>ptsize=24; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("STAN"); ptr>>ptsize=70; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("SYMBOL"); ptr>>ptsize=0; ptr>>s40=1; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("TCLOGO"); ptr>>ptsize=18; ptr>>s40=1; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("TEMPLATE"); ptr>>ptsize=64; ptr>>s40=0; ptr>>CS=CSgraphic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("TESTFONT"); ptr>>ptsize=0; ptr>>s40=0; ptr>>CS=CSpi; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("TIMESROMAN"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSxeroxtext; ptr>>fligs=1; ptr>>dligs=1; ptr>>mquad=1; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("TIMESROMAND"); ptr>>ptsize=24; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=1; ptr>>dligs=1; ptr>>mquad=1; ptr>>fixed=0; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("TITAN"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("TITANLEGAL"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 tnames!n=MakeStringCopy("XEROXBOOK"); ptr>>ptsize=10; ptr>>s40=1; ptr>>CS=CSalphabetic; ptr>>fligs=0; ptr>>dligs=0; ptr>>mquad=0; ptr>>fixed=1; n=n+1; ptr=ptr+1 nt=n; cwvec=Allocate(z, 256*CharWidthsize); // space for charwidth array ];