/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: March 7, 1993 11:09:16 pm PST */
/* C2C version: February 24, 1993 (sun4) */
/* ref-counting: off */
/* file: NodeStyle2Impl, module: NodeStyle2Impl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1909944810,2683824781] NodeStyle2Impl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef W4 *W4Pt;
typedef W3 *W3Pt;
#define SOURCE(p, l) /* source p, l */
static float fc60 = 0.0;
static float fc61 = -0.999;
static float fc62 = 0.999;
static float fc63 = -1.998;
static float fc64 = 1.998;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc91 = 1.0;
static float fc103 = 9.5;
static float fc106 = 10.5;
static void NoName←Q1944();
static void NodeStyle2Impl←P0();
static void AppendFontName←P60();
static void FontNameFromStyleParams←P120();
static word SubstituteFamilies←P180();
static word GetDefaultFont←P240();
static word NoName←Q2004();
static word GetFont←P300();
static word GetSpaceWidth←P360();
static word FontFromStyleParams←P420();
static word NoName←Q2064();
static void FlushStyleFontCache←P480();
static word CheckStyleFontCache←P540();
static void EnterStyleFontCache←P600();
static word GetNamedColor←P660();
static word GetHSBColor←P720();
static word GetColor←P780();
static void NoName←Q2124();
static void NoName←Q2184();
static struct {unsigned f; char r[44];} string1 = {2752556, "\260\006\005\146\151\162\163\164\257\300\161\327\161\352\300\237\367\352\215\100\200\005\004\162\145\163\164\214\257\300\161\327\161\352\300\237\367\352\215\100\200\261\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\021\000"};
static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string5 = {2752556, "\260\006\005\146\151\162\163\164\257\300\161\327\161\352\300\237\367\352\215\101\224\005\004\162\145\163\164\214\257\300\161\327\161\352\300\237\367\352\215\101\224\261\000"};
static struct {unsigned f; char r[4];} string6 = {196611, "\004@c"};
static struct {unsigned f; char r[48];} string7 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\004\003\000"};
static struct {unsigned f; char r[4];} string9 = {131076, "\216\251\000"};
static struct {unsigned f; char r[24];} string10 = {1310744, "\260\006\005\146\151\162\163\164\216\251\005\004\162\145\163\164\214\216\251\261\000\000\000"};
static struct {unsigned f; char r[24];} string11 = {1441816, "\260\006\005\146\151\162\163\164\214\216\251\005\004\162\145\163\164\214\214\216\251\261\000"};
static struct {unsigned f; char r[8];} string12 = {262152, "-BRR\000\000\000"};
static struct {unsigned f; char r[8];} string13 = {262152, "-MIR\000\000\000"};
static struct {unsigned f; char r[8];} string14 = {262152, "-BIR\000\000\000"};
static struct {unsigned f; char r[8];} string15 = {262152, "-MRR\000\000\000"};
static struct {unsigned f; char r[4];} string16 = {65540, "B\000\000"};
static struct {unsigned f; char r[4];} string17 = {65540, "I\000\000"};
static struct {unsigned f; char r[4];} string18 = {131076, "BI\000"};
static struct {unsigned f; char r[16];} string19 = {786448, "-bold-italic\000\000\000"};
static struct {unsigned f; char r[8];} string20 = {458760, "-italic"};
static struct {unsigned f; char r[8];} string21 = {327688, "-bold\000\000"};
static struct {unsigned f; char r[4];} string22 = {4, "\000\000\000"};
static struct {unsigned f; char r[12];} string23 = {589836, "Helvetica\000\000"};
static struct {unsigned f; char r[20];} string24 = {1114132, "xerox/tiogafonts/\000\000"};
static struct {unsigned f; char r[8];} string25 = {327688, "Gacha\000\000"};
static struct {unsigned f; char r[8];} string26 = {393224, "Modern\000"};
static struct {unsigned f; char r[12];} string27 = {655372, "TimesRoman\000"};
static struct {unsigned f; char r[8];} string28 = {458760, "Classic"};
static struct {unsigned f; char r[8];} string29 = {393224, "Laurel\000"};
static struct {unsigned f; char r[8];} string30 = {327688, "Tioga\000\000"};
static struct {unsigned f; char r[20];} string31 = {1114132, "xerox/pressfonts/\000\000"};
static struct {unsigned f; char r[32];} string32 = {1966112, "xerox/pressfonts/helvetica-mrr\000"};
static struct {unsigned f; char r[24];} string33 = {1310744, "xerox/xc1-2-2/modern\000\000\000"};
static struct {unsigned f; char r[20];} string34 = {1048596, "xerox/altofonts/\000\000\000"};
static struct {unsigned f; char r[4];} string35 = {65540, "/\000\000"};
static struct {unsigned f; char r[4];} string36 = {65540, "(\000\000"};
static struct {unsigned f; char r[4];} string37 = {65540, ")\000\000"};
static struct {unsigned f; char r[4];} string38 = {65540, "|\000\000"};
static struct {unsigned f; char r[8];} string39 = {327688, "tioga\000\000"};
static struct {unsigned f; char r[20];} string40 = {1179668, "Substituting font \000"};
static struct {unsigned f; char r[8];} string41 = {327688, " for \000\000"};
static struct {unsigned f; char r[8];} string42 = {458760, "Warning"};
static struct {unsigned f; char r[20];} string43 = {1048596, "xerox/xc*/tioga-\000\000\000"};
static struct {unsigned f; char r[12];} string44 = {655372, "xerox/xc*/\000"};
static struct {unsigned f; char r[4];} string45 = {196612, "nil"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\161\327\161\352\300\237\367\352\215\100\164\000\000"};
static struct {unsigned f; char r[24];} string47 = {1441814, "\006\006\040\001\070\001\100\104\001\100\110\001\100\120\001\100\230\010\000\004\042\001\000"};
static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string51 = {851984, "\257\300ZT?\010\300\370;=;@h\000\000"};
static struct {unsigned f; char r[16];} string52 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\150\000\000"};
static struct {unsigned f; char r[8];} string53 = {1315923045, "Style"};
static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\167\317\044\003\300\277\140\004\026\100\150\000\000"};
static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\332\223\177\020\300\304\076\102\260\100\164\000\000"};
static struct {unsigned f; char r[16];} string57 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string58 = {851984, "\257\300\353\035\365\325\300\132\075\117\337\100\150\000\000"};
static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\112\027\354\153\300\363\134\063\016\100\150\000\000"};
static struct {
   word f0[72]; word f72; word f73; word f74; 
   word f75; word f76; word f77; word f78; 
   word f79; word f80; word f81; word f82; 
   word f83; word f84; word f85; word f86; 
   word f87; word f88; word f89; word f90; 
   word f91; word f92; word f93; word f94; 
   word f95; word f96; word f97; word f98; 
   word f99[2]; word f101; word f102; word f103; 
   word f104; word f105; word f106; word f107; 
   word f108; word f109; word f110; word f111; 
   word f112; word f113; word f114; word f115; 
   word f116; word f117; word f118; word f119; 
   word f120; word f121; word f122; word f123; 
   word f124; word f125; word f126; word f127; 
   word f128; word f129; word f130; word f131; 
   word f132[11]; 
   } globalframe = {
   {0}, (word) GetColor←P780, 0, (word) GetHSBColor←P720, 
   0, (word) GetNamedColor←P660, 0, (word) EnterStyleFontCache←P600, 
   0, (word) CheckStyleFontCache←P540, 0, (word) FlushStyleFontCache←P480, 
   0, (word) FontFromStyleParams←P420, 0, (word) GetSpaceWidth←P360, 
   0, (word) GetFont←P300, 0, (word) GetDefaultFont←P240, 
   0, (word) SubstituteFamilies←P180, 0, (word) FontNameFromStyleParams←P120, 
   0, (word) AppendFontName←P60, 0, (word) NodeStyle2Impl←P0, 
   {0}, (word) 1, (word) 2, (word) 3, 
   (word) 3, (word) 9, (word) 10, (word) 11, 
   (word) 6, (word) 59, (word) 60, (word) 61, 
   (word) 7, (word) 64, (word) 65, (word) 66, 
   (word) 8, (word) 69, (word) 70, (word) 71, 
   (word) 9, (word) 74, (word) 75, (word) 76, 
   (word) 4, (word) 31, (word) 32, (word) 33, 
   (word) 5, (word) 34, (word) 35, (word) 36, 
   {0}
   };

static void NoName←Q1944()
   {
   register ptr gf←c0202 =  (ptr) &globalframe;
   word var←c23784;
   (* (( (ptr) gf←c0202)+23) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0202)+25) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0202)+28) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0202)+30) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0202)+32) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string4);
   (* (( (ptr) gf←c0202)+33) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string8);
   (* (( (ptr) gf←c0202)+34) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string8);
   (*  (ptr) (( (bPt) gf←c0202)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0202)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0202)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0202)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0202)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0202)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0202)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0202)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0202)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0202)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0202)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0202)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0202)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0202)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0202)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0202)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0202)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0202)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0202)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0202)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0202)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0202)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0202)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0202)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0202)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0202)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0202)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0202)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c0202)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c0202)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c0202)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c0202)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c0202)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+25) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c0202)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0202)+32) ), (word) &string45);
   (void) XR←DeclareGlobalFrame((word) "NodeStyle2Impl", &globalframe, (word) XR←GetTypeIndex((word) &string46, 0, (word) &string47)
      , (word) (( (bPt) gf←c0202)+392)/* var←c21640 */ );
   var←c23784 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string48)), 16);
   (* (( (ptr) gf←c0202)+132)/* var←c22568 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 67372289);
   var←c23784 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string49)), 73);
   (* (( (ptr) gf←c0202)+136)/* var←c22952 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 68166660);
   var←c23784 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string50)), 84);
   (* (( (ptr) gf←c0202)+138)/* var←c23176 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 67383553);
   var←c23784 = (word) XR←ImportInterface((word) "ImagerColor", (word) XR←GetTypeIndexS((word) (&string51)), 32);
   (* (( (ptr) gf←c0202)+141)/* var←c23688 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 67899395);
   (void) XR←ImportProcS(var←c23784, 67371521);
   var←c23784 = (word) XR←ImportInterface((word) "ImagerFont", (word) XR←GetTypeIndexS((word) (&string52)), 26);
   (* (( (ptr) gf←c0202)+137)/* var←c23144 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 67374849);
   (void) XR←ImportProcS(var←c23784, 67634434);
   (void) XR←ImportProcS(var←c23784, 134744578);
   (void) XR←ImportProcS(var←c23784, 67633922);
   var←c23784 = (word) XR←ImportInterface((word) &string53, (word) XR←GetTypeIndexS((word) (&string54)), 41);
   (* (( (ptr) gf←c0202)+139)/* var←c23240 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 67635202);
   var←c23784 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string55)), 11);
   (* (( (ptr) gf←c0202)+135)/* var←c22920 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 67371521);
   var←c23784 = (word) XR←ImportInterface((word) "RefText", (word) XR←GetTypeIndexS((word) (&string56)), 26);
   (* (( (ptr) gf←c0202)+134)/* var←c22664 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 262913);
   (void) XR←ImportProcS(var←c23784, 67371521);
   (void) XR←ImportProcS(var←c23784, 67634946);
   (void) XR←ImportProcS(var←c23784, 68158980);
   var←c23784 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string57)), 43);
   (* (( (ptr) gf←c0202)+133)/* var←c22600 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 67896323);
   (void) XR←ImportProcS(var←c23784, 67903235);
   (void) XR←ImportProcS(var←c23784, 67900163);
   (void) XR←ImportProcS(var←c23784, 68158980);
   (void) XR←ImportProcS(var←c23784, 67373825);
   (void) XR←ImportProcS(var←c23784, 68159236);
   var←c23784 = (word) XR←ImportInterface((word) "SimpleFeedback", (word) XR←GetTypeIndexS((word) (&string58)), 7);
   (* (( (ptr) gf←c0202)+140)/* var←c23496 */  ) = var←c23784;
   (void) XR←ImportProcS(var←c23784, 1048580);
   var←c23784 = (word) XR←ExportInterface((word) &string53, (word) XR←GetTypeIndexS((word) (&string54)), 41);
   (* (( (ptr) gf←c0202)+142)/* var←c23816 */  ) = var←c23784;
   (void) XR←ExportProcS(var←c23784, (word) (( (bPt) gf←c0202)+352)/* var←c21480 */ , 67380481);
   (void) XR←ExportProcS(var←c23784, (word) (( (bPt) gf←c0202)+344)/* var←c21448 */ , 67380737);
   (void) XR←ExportProcS(var←c23784, (word) (( (bPt) gf←c0202)+288)/* var←c21224 */ , 67643138);
   var←c23784 = (word) XR←ExportInterface((word) "NodeStyleFont", (word) XR←GetTypeIndexS((word) (&string59)), 2);
   (* (( (ptr) gf←c0202)+142)/* var←c23816 */  ) = var←c23784;
   (void) XR←ExportProcS(var←c23784, (word) (( (bPt) gf←c0202)+376)/* var←c21576 */ , 135528453);
   (void) XR←ExportProcS(var←c23784, (word) (( (bPt) gf←c0202)+336)/* var←c21416 */ , 68419845);
   }

static void NodeStyle2Impl←P0(formal←c069, formal←c050)
   word formal←c069;
   word formal←c050;
   {
   register ptr gf←c23848 =  (ptr) &globalframe;
   /* NodeStyle2Impl: */ 
SOURCE(128, 11005)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(618, 13)
   {
      word var←c21800;
      word var←c21832;
      var←c21800 = XR←NewObject(20, (* (( (ptr) gf←c23848)+23) ));
      var←c21832 = var←c21800;
      (*  (ptr) var←c21832 ) = (* (( (ptr) gf←c23848)+50) );
      (* (( (ptr) var←c21832)+1) ) = 1;
      (* (( (ptr) var←c21832)+2) ) = 1;
      (* (( (ptr) var←c21832)+3) ) = 2;
      (* (( (ptr) var←c21832)+4) ) = XR←NewObject(20, (* (( (ptr) gf←c23848)+23) ));
      var←c21832 = (* (( (ptr) var←c21832)+4) );
      (*  (ptr) var←c21832 ) = (* (( (ptr) gf←c23848)+57) );
      (* (( (ptr) var←c21832)+3) ) = 1;
      (* (( (ptr) var←c21832)+4) ) = XR←NewObject(20, (* (( (ptr) gf←c23848)+23) ));
      var←c21832 = (* (( (ptr) var←c21832)+4) );
      (*  (ptr) var←c21832 ) = (* (( (ptr) gf←c23848)+60) );
      (* (( (ptr) var←c21832)+1) ) = 1;
      (* (( (ptr) var←c21832)+2) ) = 1;
      (* (( (ptr) var←c21832)+3) ) = 2;
      (* (( (ptr) var←c21832)+4) ) = XR←NewObject(20, (* (( (ptr) gf←c23848)+23) ));
      var←c21832 = (* (( (ptr) var←c21832)+4) );
      (*  (ptr) var←c21832 ) = (* (( (ptr) gf←c23848)+69) );
      (* (( (ptr) var←c21832)+1) ) = 1;
      (* (( (ptr) var←c21832)+4) ) = XR←NewObject(20, (* (( (ptr) gf←c23848)+23) ));
      var←c21832 = (* (( (ptr) var←c21832)+4) );
      (*  (ptr) var←c21832 ) = (* (( (ptr) gf←c23848)+70) );
      (* (( (ptr) gf←c23848)+8)/* prefixKinds←v3168 */  ) = var←c21800;
      };
SOURCE(3851, 70)
   (* (( (ptr) gf←c23848)+9) ) = (*  (ptr) &fc60 );
   (* (( (ptr) gf←c23848)+10) ) = (*  (ptr) &fc61 );
   (* (( (ptr) gf←c23848)+11) ) = (*  (ptr) &fc62 );
   (* (( (ptr) gf←c23848)+12) ) = (*  (ptr) &fc63 );
   (* (( (ptr) gf←c23848)+13) ) = (*  (ptr) &fc64 );
SOURCE(3923, 10)
   {
      word var←c21864;
      word var←c21896;
      var←c21864 = XR←NewObject(8, (* (( (ptr) gf←c23848)+34) ));
      var←c21896 = var←c21864;
      {
         word var←c21960;
         word var←c21992;
         var←c21960 = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c21992 = var←c21960;
         (*  (ptr) var←c21992 ) = (* (( (ptr) gf←c23848)+56) );
         (* (( (ptr) var←c21992)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c21992 = (* (( (ptr) var←c21992)+1) );
         (*  (ptr) var←c21992 ) = (* (( (ptr) gf←c23848)+55) );
         (* (( (ptr) var←c21992)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c21992 = (* (( (ptr) var←c21992)+1) );
         (*  (ptr) var←c21992 ) = (* (( (ptr) gf←c23848)+53) );
         (*  (ptr) var←c21896 ) = var←c21960;
         };
      (* (( (ptr) var←c21896)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+34) ));
      var←c21896 = (* (( (ptr) var←c21896)+1) );
      {
         word var←c22056;
         word var←c22088;
         var←c22056 = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22088 = var←c22056;
         (*  (ptr) var←c22088 ) = (* (( (ptr) gf←c23848)+53) );
         (* (( (ptr) var←c22088)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22088 = (* (( (ptr) var←c22088)+1) );
         (*  (ptr) var←c22088 ) = (* (( (ptr) gf←c23848)+54) );
         (*  (ptr) var←c21896 ) = var←c22056;
         };
      (* (( (ptr) var←c21896)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+34) ));
      var←c21896 = (* (( (ptr) var←c21896)+1) );
      {
         word var←c22152;
         word var←c22184;
         var←c22152 = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22184 = var←c22152;
         (*  (ptr) var←c22184 ) = (* (( (ptr) gf←c23848)+49) );
         (* (( (ptr) var←c22184)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22184 = (* (( (ptr) var←c22184)+1) );
         (*  (ptr) var←c22184 ) = (* (( (ptr) gf←c23848)+52) );
         (* (( (ptr) var←c22184)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22184 = (* (( (ptr) var←c22184)+1) );
         (*  (ptr) var←c22184 ) = (* (( (ptr) gf←c23848)+53) );
         (*  (ptr) var←c21896 ) = var←c22152;
         };
      (* (( (ptr) var←c21896)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+34) ));
      var←c21896 = (* (( (ptr) var←c21896)+1) );
      {
         word var←c22248;
         word var←c22280;
         var←c22248 = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22280 = var←c22248;
         (*  (ptr) var←c22280 ) = (* (( (ptr) gf←c23848)+52) );
         (* (( (ptr) var←c22280)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22280 = (* (( (ptr) var←c22280)+1) );
         (*  (ptr) var←c22280 ) = (* (( (ptr) gf←c23848)+49) );
         (*  (ptr) var←c21896 ) = var←c22248;
         };
      (* (( (ptr) var←c21896)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+34) ));
      var←c21896 = (* (( (ptr) var←c21896)+1) );
      {
         word var←c22344;
         word var←c22376;
         var←c22344 = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22376 = var←c22344;
         (*  (ptr) var←c22376 ) = (* (( (ptr) gf←c23848)+54) );
         (* (( (ptr) var←c22376)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22376 = (* (( (ptr) var←c22376)+1) );
         (*  (ptr) var←c22376 ) = (* (( (ptr) gf←c23848)+53) );
         (* (( (ptr) var←c22376)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22376 = (* (( (ptr) var←c22376)+1) );
         (*  (ptr) var←c22376 ) = (* (( (ptr) gf←c23848)+52) );
         (*  (ptr) var←c21896 ) = var←c22344;
         };
      (* (( (ptr) var←c21896)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+34) ));
      var←c21896 = (* (( (ptr) var←c21896)+1) );
      {
         word var←c22440;
         word var←c22472;
         var←c22440 = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22472 = var←c22440;
         (*  (ptr) var←c22472 ) = (* (( (ptr) gf←c23848)+51) );
         (* (( (ptr) var←c22472)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+33) ));
         var←c22472 = (* (( (ptr) var←c22472)+1) );
         (*  (ptr) var←c22472 ) = (* (( (ptr) gf←c23848)+49) );
         (*  (ptr) var←c21896 ) = var←c22440;
         };
      (* (( (ptr) gf←c23848)+14)/* families←v3420 */  ) = var←c21864;
      };
SOURCE(4595, 35)
   (* (( (ptr) gf←c23848)+16)/* horribleHackForTioga10←v3504 */  ) = 1;
SOURCE(4663, 12)
   {
      word var←c22504;
      word var←c22536;
      var←c22504 = XR←NewObject(8, (* (( (ptr) gf←c23848)+30) ));
      var←c22536 = var←c22504;
      (*  (ptr) var←c22536 ) = (* (( (ptr) gf←c23848)+59) );
      (* (( (ptr) var←c22536)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c23848)+30) ));
      var←c22536 = (* (( (ptr) var←c22536)+1) );
      (*  (ptr) var←c22536 ) = (* (( (ptr) gf←c23848)+58) );
      (* (( (ptr) gf←c23848)+18)/* candidates←v3560 */  ) = var←c22504;
      };
SOURCE(7913, 28)
   (* (( (ptr) gf←c23848)+19)/* styleFontCacheSize←v3700 */  ) = 25;
   }

static void AppendFontName←P60(formal←c0101, text←v4512, prefix←v4540, family←v4568, face←v4596, size←v4624, alphabets←v4652)
   word formal←c0101;
   word text←v4512;
   word prefix←v4540;
   word family←v4568;
   word face←v4596;
   word size←v4624;
   word alphabets←v4652;
   {
   register ptr gf←c23880 =  (ptr) &globalframe;
   word new←v4708;
   word sizeInName←v4736;
   word preScaled←v4764;
   word fam←v7380;
   /* AppendFontName: */ 
SOURCE(1515, 1832)
SOURCE(1515, 1832)
   new←v4708 = 0;
SOURCE(1515, 1832)
   sizeInName←v4736 = 0;
SOURCE(1515, 1832)
   preScaled←v4764 = 0;
SOURCE(1715, 33)
   {
      word pd65;
      pd65 = (* (( (ptr) (* (( (ptr) gf←c23880)+132)/* var←c22568 */  ))+9) );
      fam←v7380 = (word) ( *( (fPt) ((*  (ptr) pd65 ))))(family←v4568, pd65);
      };
SOURCE(1750, 1597)
   {
      word pd66;
      pd66 = (* (( (ptr) (* (( (ptr) gf←c23880)+133)/* var←c22600 */  ))+11) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd66 ))))(fam←v7380, (* (( (ptr) gf←c23880)+61) ), 0, 1, pd66) >=  (int)0)) {
SOURCE(1783, 43)
         {
            word var←c22696;
            {
               word pd67;
               pd67 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
               var←c22696 = (word) ( *( (fPt) ((*  (ptr) pd67 ))))(text←v4512, fam←v7380, 0, 32767, pd67);
               };
            new←v4708 = var←c22696;
            sizeInName←v4736 = 0;
            preScaled←v4764 = 0;
            goto lab←L100000;
            };
         }
      else {
SOURCE(1826, 1523)
         {
            word prePName←v7424;
            word pre←v7452;
            word famSize←v7480;
            W5 pos←v7508;
SOURCE(1828, 66)
            {
               word tc68;
               word pd69;
               if ((prefix←v4540 != 0)) {
                  pd69 = (* (( (ptr) (* (( (ptr) gf←c23880)+132)/* var←c22568 */  ))+9) );
                  tc68 =  (word) ( *( (fPt) ((*  (ptr) pd69 ))))(prefix←v4540, pd69);
                  }
               else {
                  tc68 =  (word) 0;
                  };
               prePName←v7424 = tc68;
               };
SOURCE(1896, 75)
            {
               word tc70;
               word pd71;
               pd71 = (* (( (ptr) (* (( (ptr) gf←c23880)+133)/* var←c22600 */  ))+15) );
               if (( (int)(word) ( *( (fPt) ((*  (ptr) pd71 ))))(prePName←v7424, pd71) >  (int)0)) {
                  tc70 =  (word) prePName←v7424;
                  }
               else {
                  tc70 =  (word) (* (( (ptr) gf←c23880)+50) );
                  };
               pre←v7452 = tc70;
               };
SOURCE(1973, 29)
            {
               word pd72;
               pd72 = (* (( (ptr) (* (( (ptr) gf←c23880)+133)/* var←c22600 */  ))+15) );
               famSize←v7480 = (word) ( *( (fPt) ((*  (ptr) pd72 ))))(fam←v7380, pd72);
               };
SOURCE(2004, 39)
            XR←FillWords(&pos←v7508, 5, famSize←v7480);
SOURCE(2045, 36)
            {
               word pd73;
               pd73 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
               text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd73 ))))(text←v4512, pre←v7452, 0, 32767, pd73);
               };
SOURCE(2083, 202)
            {
               register word i←v7588 = 0;
               lab←L100004: ;
               {
                  word pos1←v7652;
                  word s2←v7680;
                  word var←c22792;
SOURCE(2110, 41)
                  pos1←v7652 =  ( (i←v7588 == 0) ? 0 : ((* (( (ptr) &pos←v7508)+BCK((i←v7588 - 1), 5)) ) + 1) ) ;
SOURCE(2153, 59)
                  {
                     word var←c22760;
                     var←c22760 = i←v7588;
                     if ((var←c22760 == 0)) {
                        s2←v7680 = (* (( (ptr) gf←c23880)+62) );
                        }
                     else {
                        if ((var←c22760 == 4)) {
                           s2←v7680 = (* (( (ptr) gf←c23880)+63) );
                           }
                        else {
                           s2←v7680 = (* (( (ptr) gf←c23880)+64) );
                           };
                        };
                     };
SOURCE(2214, 71)
                  {
                     word pd74;
                     pd74 = (* (( (ptr) (* (( (ptr) gf←c23880)+133)/* var←c22600 */  ))+10) );
                     var←c22792 = (word) ( *( (fPt) ((*  (ptr) pd74 ))))(fam←v7380, pos1←v7652, s2←v7680, 1, pd74);
                     };
                  (* (( (ptr) &pos←v7508)+i←v7588) ) = var←c22792;
                  if (( (int)var←c22792 >=  (int)famSize←v7480)) {
SOURCE(2285, 4)
                     goto lab←L100002;
                     };
                  };
               if ((i←v7588 >= 4)) {
                  goto lab←L100001;
                  };
               i←v7588 = (i←v7588 + 1);
               goto lab←L100004;
               lab←L100001: ;
               lab←L100002: ;
               };
SOURCE(2300, 1011)
            if (( (int)pos←v7508.f4 <  (int)famSize←v7480)) {
SOURCE(2323, 250)
               {
                  word n←v7724;
                  word f1←v7752;
                  word f2←v7780;
SOURCE(2325, 27)
                  n←v7724 = (* ((( (ptr) gf←c23880)+100)/* var←c21704 */ +face←v4596) );
SOURCE(2354, 18)
                  f1←v7752 = ((* (( (ptr) &pos←v7508)+n←v7724) ) + 1);
SOURCE(2374, 18)
                  f2←v7780 = (* (( (ptr) &pos←v7508)+(n←v7724 + 1)) );
SOURCE(2394, 47)
                  {
                     word pd75;
                     word idx76;
                     pd75 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
                     text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd75 ))))(text←v4512, fam←v7380, 0, (
                           idx76 = (word) pos←v7508.f0,
                           BCK(idx76, 32768)
                           ), pd75);
                     };
SOURCE(2453, 47)
                  {
                     word pd77;
                     pd77 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
                     text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd77 ))))(text←v4512, fam←v7380, f1←v7752, BCK((f2←v7780 - f1←v7752), 32768), pd77)
                     ;
                     };
SOURCE(2515, 46)
                  {
                     word pd78;
                     pd78 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
                     text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd78 ))))(text←v4512, fam←v7380, (pos←v7508.f4 + 1), 32767, pd78);
                     };
                  };
               }
            else {
SOURCE(2580, 754)
               {
                  word faceEncoding←v7844 = 0;
SOURCE(2623, 212)
                  {
                     register word p←v7888;
                     p←v7888 = (* (( (ptr) gf←c23880)+8)/* prefixKinds←v3168 */  );
                     lab←L100008: ;
                     if ((p←v7888 != 0)) {
                        }
                     else {
                        goto lab←L100005;
                        };
SOURCE(2686, 149)
                     {
                        word pd79;
                        pd79 = (* (( (ptr) (* (( (ptr) gf←c23880)+133)/* var←c22600 */  ))+23) );
                        if ((0 != (word) ( *( (fPt) ((*  (ptr) pd79 ))))((*  (ptr) p←v7888 ), pre←v7452, 0, pd79))) {
SOURCE(2736, 31)
                           sizeInName←v4736 = (* (( (ptr) p←v7888)+1) );
SOURCE(2769, 29)
                           preScaled←v4764 = (* (( (ptr) p←v7888)+2) );
SOURCE(2800, 35)
                           faceEncoding←v7844 = (* (( (ptr) p←v7888)+3) );
                           };
                        };
                     p←v7888 = (* (( (ptr) p←v7888)+4) );
                     goto lab←L100008;
                     lab←L100005: ;
                     };
SOURCE(2849, 36)
                  {
                     word pd80;
                     pd80 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
                     text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd80 ))))(text←v4512, fam←v7380, 0, 32767, pd80);
                     };
SOURCE(2887, 424)
                  {
                     word var←c22824;
                     var←c22824 = faceEncoding←v7844;
                     switch (var←c22824) {
                        case 0: 
SOURCE(2928, 55)
                           {
/*1*/   W4 var←c22856;
/*1*/   word var←c0221;
/*1*/   var←c22856.f0 = (* (( (ptr) gf←c23880)+48) );
/*1*/   var←c22856.f1 = (* (( (ptr) gf←c23880)+47) );
/*1*/   var←c22856.f2 = (* (( (ptr) gf←c23880)+46) );
/*1*/   var←c22856.f3 = (* (( (ptr) gf←c23880)+45) );
/*1*/   var←c0221 = (* (( (ptr) (&var←c22856
/*1*/      ))+face←v4596) );
/*1*/   {
/*1*/      word pd81;
/*1*/      pd81 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
/*1*/      text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd81 ))))(text←v4512, var←c0221, 0, 32767, pd81);
/*1*/      };
/*1*/   };
SOURCE(2985, 106)
                           if ((0 != sizeInName←v4736)) {
SOURCE(3006, 35)
/*1*/   {
/*1*/      word pd82;
/*1*/      pd82 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+11) );
/*1*/      text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd82 ))))(text←v4512, 45, pd82);
/*1*/      };
SOURCE(3043, 48)
/*1*/   {
/*1*/      word var←c22888;
/*1*/      {
/*1*/         word pd83;
/*1*/         pd83 = (* (( (ptr) (* (( (ptr) gf←c23880)+135)/* var←c22920 */  ))+6) );
/*1*/         var←c22888 = (word) ( *( (fPt) ((*  (ptr) pd83 ))))(size←v4624, pd83);
/*1*/         };
/*1*/      {
/*1*/         word pd84;
/*1*/         pd84 = (* (( (ptr) (* (( (ptr) gf←c23880)+136)/* var←c22952 */  ))+40) );
/*1*/         text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd84 ))))(text←v4512, var←c22888, 8, 1, pd84);
/*1*/         };
/*1*/      };
/*1*/   };
                           break;
                        case 1: 
SOURCE(3108, 19)
                           if ((0 != sizeInName←v4736)) {
SOURCE(3127, 5)
/*1*/   (void) XR←RaiseUnnamedError();
/*1*/   };
SOURCE(3134, 48)
                           {
/*1*/   W4 var←c22984;
/*1*/   word var←c0222;
/*1*/   var←c22984.f0 = (* (( (ptr) gf←c23880)+41) );
/*1*/   var←c22984.f1 = (* (( (ptr) gf←c23880)+38) );
/*1*/   var←c22984.f2 = (* (( (ptr) gf←c23880)+39) );
/*1*/   var←c22984.f3 = (* (( (ptr) gf←c23880)+40) );
/*1*/   var←c0222 = (* (( (ptr) (&var←c22984
/*1*/      ))+face←v4596) );
/*1*/   {
/*1*/      word pd85;
/*1*/      pd85 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
/*1*/      text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd85 ))))(text←v4512, var←c0222, 0, 32767, pd85);
/*1*/      };
/*1*/   };
                           break;
                        case 2: 
SOURCE(3195, 67)
                           if ((0 != sizeInName←v4736)) {
SOURCE(3214, 48)
/*1*/   {
/*1*/      word var←c23016;
/*1*/      {
/*1*/         word pd86;
/*1*/         pd86 = (* (( (ptr) (* (( (ptr) gf←c23880)+135)/* var←c22920 */  ))+6) );
/*1*/         var←c23016 = (word) ( *( (fPt) ((*  (ptr) pd86 ))))(size←v4624, pd86);
/*1*/         };
/*1*/      {
/*1*/         word pd87;
/*1*/         pd87 = (* (( (ptr) (* (( (ptr) gf←c23880)+136)/* var←c22952 */  ))+40) );
/*1*/         text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))(text←v4512, var←c23016, 8, 1, pd87);
/*1*/         };
/*1*/      };
/*1*/   };
SOURCE(3264, 47)
                           {
/*1*/   W4 var←c23048;
/*1*/   word var←c0223;
/*1*/   var←c23048.f0 = (* (( (ptr) gf←c23880)+48) );
/*1*/   var←c23048.f1 = (* (( (ptr) gf←c23880)+42) );
/*1*/   var←c23048.f2 = (* (( (ptr) gf←c23880)+43) );
/*1*/   var←c23048.f3 = (* (( (ptr) gf←c23880)+44) );
/*1*/   var←c0223 = (* (( (ptr) (&var←c23048
/*1*/      ))+face←v4596) );
/*1*/   {
/*1*/      word pd88;
/*1*/      pd88 = (* (( (ptr) (* (( (ptr) gf←c23880)+134)/* var←c22664 */  ))+10) );
/*1*/      text←v4512 = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(text←v4512, var←c0223, 0, 32767, pd88);
/*1*/      };
/*1*/   };
                           break;
                        default: 
SOURCE(3327, 5)
                           (void) XR←RaiseUnnamedError();
                           break;
                        };
                     };
                  };
               };
SOURCE(3337, 10)
            new←v4708 = text←v4512;
            };
         };
      };
   /* removed tail goto */ 
   lab←L100000: ;
   (*  (ptr) formal←c0101 ) = new←v4708;
   (* (( (ptr) formal←c0101)+1) ) = sizeInName←v4736;
   (* (( (ptr) formal←c0101)+2) ) = preScaled←v4764;
   return;
   }

static void FontNameFromStyleParams←P120(formal←c0115, prefix←v4836, family←v4864, face←v4892, size←v4920, alphabets←v4948)
   word formal←c0115;
   word prefix←v4836;
   word family←v4864;
   word face←v4892;
   word size←v4920;
   word alphabets←v4948;
   {
   register ptr gf←c23912 =  (ptr) &globalframe;
   word name←v4992;
   word scale←v5020;
   word scratch←v8016;
   word text←v8044;
   word sizeInName←v8072 = 0;
   word preScaled←v8100 = 0;
   /* FontNameFromStyleParams: */ 
SOURCE(3356, 473)
SOURCE(3356, 473)
   name←v4992 = 0;
SOURCE(3514, 46)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c23912)+134)/* var←c22664 */  ))+6) );
      scratch←v8016 = (word) ( *( (fPt) ((*  (ptr) pd89 ))))(100, pd89);
      };
SOURCE(3562, 24)
   text←v8044 = scratch←v8016;
SOURCE(3625, 91)
   {
      W3 var←c23080;
      (void) AppendFontName←P60((word) &var←c23080, text←v8044, prefix←v4836, family←v4864, face←v4892, size←v4920
         , alphabets←v4948);
      preScaled←v8100 = var←c23080.f2;
      sizeInName←v8072 = var←c23080.f1;
      text←v8044 = var←c23080.f0;
      };
SOURCE(3718, 29)
   {
      word pd90;
      pd90 = (* (( (ptr) (* (( (ptr) gf←c23912)+133)/* var←c22600 */  ))+35) );
      name←v4992 = (word) ( *( (fPt) ((*  (ptr) pd90 ))))(text←v8044, 0, 32767, pd90);
      };
SOURCE(3749, 47)
   if ((0 != preScaled←v8100)) {
SOURCE(3767, 17)
      scale←v5020 = (*  (ptr) &fc91 );
      }
   else {
SOURCE(3784, 12)
      scale←v5020 = size←v4920;
      };
SOURCE(3798, 31)
   {
      word pd92;
      pd92 = (* (( (ptr) (* (( (ptr) gf←c23912)+134)/* var←c22664 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd92 ))))(scratch←v8016, pd92);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0115 ) = name←v4992;
   (* (( (ptr) formal←c0115)+1) ) = scale←v5020;
   return;
   }

static word SubstituteFamilies←P180(family←v5284)
   word family←v5284;
   {
   register ptr gf←c23944 =  (ptr) &globalframe;
   word var←c5328;
   word fam←v8168;
   /* SubstituteFamilies: */ 
SOURCE(4161, 291)
SOURCE(4228, 33)
   {
      word pd93;
      pd93 = (* (( (ptr) (* (( (ptr) gf←c23944)+132)/* var←c22568 */  ))+9) );
      fam←v8168 = (word) ( *( (fPt) ((*  (ptr) pd93 ))))(family←v5284, pd93);
      };
SOURCE(4263, 166)
   {
      register word f←v8212;
      f←v8212 = (* (( (ptr) gf←c23944)+14)/* families←v3420 */  );
      lab←L100013: ;
      if ((f←v8212 != 0)) {
         }
      else {
         goto lab←L100010;
         };
      {
         word k←v8424;
         word var←c23112;
SOURCE(4325, 23)
         k←v8424 = (*  (ptr) (*  (ptr) f←v8212 ) );
SOURCE(4350, 79)
         {
            word pd96;
            if ((family←v5284 == k←v8424)) { goto then094;};
            {
               word pd95;
               pd95 = (* (( (ptr) (* (( (ptr) gf←c23944)+132)/* var←c22568 */  ))+9) );
               var←c23112 = (word) ( *( (fPt) ((*  (ptr) pd95 ))))(k←v8424, pd95);
               };
            pd96 = (* (( (ptr) (* (( (ptr) gf←c23944)+133)/* var←c22600 */  ))+8) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd96 ))))(fam←v8168, var←c23112, 0, pd96))) {
               then094: ;
SOURCE(4413, 16)
               return((*  (ptr) f←v8212 ));
               };
            };
         };
      f←v8212 = (* (( (ptr) f←v8212)+1) );
      goto lab←L100013;
      lab←L100010: ;
      };
SOURCE(4440, 12)
   return(0);
   }

static word GetDefaultFont←P240()
   {
   W7 var←c23976;
   register ptr gf←c24008 =  (ptr) &globalframe;
   word var←c5772;
   /* GetDefaultFont: */ 
SOURCE(4756, 248)
SOURCE(4796, 162)
   {
      register word each←v8468;
      each←v8468 = (* (( (ptr) gf←c24008)+18)/* candidates←v3560 */  );
      lab←L100017: ;
      if (((* (( (ptr) gf←c24008)+17)/* defaultPrintFont←v3532 */  ) == 0)) {
         }
      else {
         goto lab←L100014;
         };
SOURCE(4875, 83)
SOURCE(4875, 83)
      {
         /* declaration of var←c01 skipped */ 
         /* declaration of var←c02 skipped */ 
         var←c23976.f4/* var←c01 */  = (*  (ptr) each←v8468 );
         var←c23976.f5/* var←c02 */  = (* (( (ptr) (* (( (ptr) gf←c24008)+137)/* var←c23144 */  ))+7) );
         {
            /* declaration of var←c03 skipped */ 
            {
               word var←c04;
               {
                  word var←c0224;
                  var←c0224 = (word) &var←c23976;
                  var←c04 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2004) ), ( ((word)  (fPt) NoName←Q2184) ), var←c0224);
                  };
               if ((var←c04 == 2)) {
                  goto lab←L100019;
                  };
               };
            (* (( (ptr) gf←c24008)+17)/* defaultPrintFont←v3532 */  ) = var←c23976.f6/* var←c03 */ ;
            };
         };
      lab←L100019: ;
      each←v8468 = (* (( (ptr) each←v8468)+1) );
      goto lab←L100017;
      lab←L100014: ;
      };
SOURCE(4978, 26)
   return((* (( (ptr) gf←c24008)+17)/* defaultPrintFont←v3532 */  ));
   }

static word NoName←Q2004(formal←c0208)
   word formal←c0208;
   {
SOURCE(4875, 83)
   {
      word pd97;
      pd97 = (* (( (ptr) formal←c0208)+5) );
      (* (( (ptr) formal←c0208)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd97 ))))((* (( (ptr) formal←c0208)+4) ), 2, pd97);
      };
   return(0);
   }

static word GetFont←P300(style←v5832)
   word style←v5832;
   {
   register ptr gf←c24040 =  (ptr) &globalframe;
   word var←c5876;
   /* GetFont: */ 
SOURCE(5008, 299)
SOURCE(5063, 244)
   {
      word var←c23208;
      {
         word pd98;
         pd98 = (* (( (ptr) (* (( (ptr) gf←c24040)+139)/* var←c23240 */  ))+12) );
         var←c23208 = (word) ( *( (fPt) ((*  (ptr) pd98 ))))(style←v5832, 1, pd98);
         };
      return((word) FontFromStyleParams←P420((* (( (ptr) style←v5832)+6) ), (* (( (ptr) style←v5832)+7) ),  (unsigned) (((unsigned)(*  (bPt) style←v5832 ) << 26) >> 30), var←c23208,  (unsigned) (((unsigned)(*  (bPt) style←v5832 ) << 28) >> 30))
      );
      };
   }

static word GetSpaceWidth←P360(style←v5936)
   word style←v5936;
   {
   register ptr gf←c24072 =  (ptr) &globalframe;
   word var←c5980;
   word font←v8596;
   /* GetSpaceWidth: */ 
SOURCE(5313, 151)
SOURCE(5382, 27)
   font←v8596 = (word) GetFont←P300(style←v5936);
SOURCE(5411, 53)
   {
      word var←c0225;
      W2 var←c0130;
      {
         word pd99;
         pd99 = (* (( (ptr) (* (( (ptr) gf←c24072)+137)/* var←c23144 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd99 ))))((word) &var←c0130, font←v8596, 32, pd99);
         };
      var←c0225 = var←c0130.f0;
      return(var←c0225);
      };
   }

static word FontFromStyleParams←P420(prefix←v6040, family←v6068, face←v6096, size←v6124, alphabets←v6152)
   word prefix←v6040;
   word family←v6068;
   word face←v6096;
   word size←v6124;
   word alphabets←v6152;
   {
   W7 var←c24104;
   register ptr gf←c24136 =  (ptr) &globalframe;
   word font←v6196;
   word didSubstitution←v8640 = 0;
   /* FontFromStyleParams: */ 
SOURCE(5470, 2435)
SOURCE(5470, 2435)
   font←v6196 = 0;
SOURCE(5648, 65)
   font←v6196 = (word) CheckStyleFontCache←P540(prefix←v6040, family←v6068, face←v6096, size←v6124, alphabets←v6152);
SOURCE(5715, 1785)
   if ((font←v6196 == 0)) {
SOURCE(5736, 101)
      if (((* (( (ptr) gf←c24136)+15)/* FontReplacementProc←v3476 */  ) != 0)) {
SOURCE(5772, 65)
         {
            word pd100;
            pd100 = (* (( (ptr) gf←c24136)+15)/* FontReplacementProc←v3476 */  );
            font←v6196 = (word) ( *( (fPt) ((*  (ptr) pd100 ))))(prefix←v6040, family←v6068, face←v6096, size←v6124, alphabets←v6152, pd100)
            ;
            };
         };
SOURCE(5842, 1587)
      if ((font←v6196 == 0)) {
SOURCE(5861, 1570)
         {
            word scratch←v8684;
            word text←v8712;
            word sizeInName←v8740 = 0;
            word preScaled←v8768 = 0;
            word trialFace←v8796;
SOURCE(5863, 46)
            {
               word pd101;
               pd101 = (* (( (ptr) (* (( (ptr) gf←c24136)+134)/* var←c22664 */  ))+6) );
               scratch←v8684 = (word) ( *( (fPt) ((*  (ptr) pd101 ))))(100, pd101);
               };
SOURCE(5911, 24)
            text←v8712 = scratch←v8684;
SOURCE(5974, 26)
            trialFace←v8796 = face←v6096;
SOURCE(6002, 1051)
            lab←L100024: ;
            if ((font←v6196 == 0)) {
               }
            else {
               goto lab←L100022;
               };
            {
               word families←v8864 = 0;
               word trialFamily←v8892;
               word firstFamily←v8920;
SOURCE(6052, 26)
               trialFamily←v8892 = family←v6068;
SOURCE(6080, 26)
               firstFamily←v8920 = family←v6068;
SOURCE(6108, 149)
               {
                  word x102;
                  word x104;
                  word x105;
                  word x107;
                  if ( (  ( (0 != (* (( (ptr) gf←c24136)+16)/* horribleHackForTioga10←v3504 */  )) ?  ( (firstFamily←v8920 == (* (( (ptr) gf←c24136)+65)
                   )) ? 1 : (firstFamily←v8920 == (* (( (ptr) gf←c24136)+56) )) )  : 0 )  ?  ( ((
                     x102 = size←v6124,  *(float*)&x102
                     ) < (
                     x104 = (*  (ptr) &fc103 ),  *(float*)&x104
                     )) ? 1 : ((
                     x105 = size←v6124,  *(float*)&x105
                     ) > (
                     x107 = (*  (ptr) &fc106 ),  *(float*)&x107
                     )) )  : 0 ) ) {
SOURCE(6218, 39)
                     {
                        word var←c23304;
                        var←c23304 = (* (( (ptr) gf←c24136)+53) );
                        firstFamily←v8920 = var←c23304;
                        trialFamily←v8892 = var←c23304;
                        };
                     };
                  };
SOURCE(6262, 624)
               lab←L100027: ;
               if ( ( (font←v6196 == 0) ? (trialFamily←v8892 != 0) : 0 ) ) {
                  }
               else {
                  goto lab←L100025;
                  };
SOURCE(6304, 367)
               {
                  register word try←v9048 = 0;
                  lab←L100031: ;
                  if ((font←v6196 == 0)) {
                     }
                  else {
                     goto lab←L100028;
                     };
                  {
                     word trialSize←v9092;
SOURCE(6351, 38)
                     {
                        word x108;
                        word x109;
                        *(float*)&trialSize←v9092 = (
                           x108 = size←v6124,  *(float*)&x108
                           ) + (
                           x109 = (* ((( (ptr) gf←c24136)+9)/* tryDelta←v3392 */ +BCK(try←v9048, 5)) ),  *(float*)&x109
                           );
                        };
SOURCE(6391, 15)
                     (*  (hPt) text←v8712 ) = 0;
SOURCE(6408, 106)
                     {
                        W3 var←c23336;
                        (void) AppendFontName←P60((word) &var←c23336, text←v8712, prefix←v6040, trialFamily←v8892, trialFace←v8796, trialSize←v9092
                           , alphabets←v6152);
                        preScaled←v8768 = var←c23336.f2;
                        sizeInName←v8740 = var←c23336.f1;
                        text←v8712 = var←c23336.f0;
                        };
SOURCE(6516, 78)
SOURCE(6516, 78)
                     {
                        /* declaration of var←c23368 skipped */ 
                        {
                           word pd110;
                           pd110 = (* (( (ptr) (* (( (ptr) gf←c24136)+133)/* var←c22600 */  ))+35) );
                           var←c24104.f4/* var←c23368 */  = (word) ( *( (fPt) ((*  (ptr) pd110 ))))(text←v8712, 0, 32767, pd110);
                           };
                        {
                           /* declaration of var←c05 skipped */ 
                           var←c24104.f5/* var←c05 */  = (* (( (ptr) (* (( (ptr) gf←c24136)+137)/* var←c23144 */  ))+7) );
                           {
/*1*/   /* declaration of var←c06 skipped */ 
/*1*/   {
/*1*/      word var←c07;
/*1*/      {
/*1*/         word var←c0226;
/*1*/         var←c0226 = (word) &var←c24104;
/*1*/         var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2064) ), ( ((word)  (fPt) NoName←Q2124) ), var←c0226);
/*1*/         };
/*1*/      if ((var←c07 == 3)) {
/*1*/         goto lab←L100033;
/*1*/         };
/*1*/      };
/*1*/   font←v6196 = var←c24104.f6/* var←c06 */ ;
/*1*/   };
                           };
                        };
                     lab←L100033: ;
SOURCE(6605, 41)
                     if ((font←v6196 == 0)) {
SOURCE(6624, 22)
                        didSubstitution←v8640 = 1;
                        };
SOURCE(6648, 23)
                     if ((0 == sizeInName←v8740)) {
SOURCE(6671, 4)
                        goto lab←L100029;
                        };
                     };
                  if ((try←v9048 >= 4)) {
                     goto lab←L100028;
                     };
                  try←v9048 = (try←v9048 + 1);
                  goto lab←L100031;
                  lab←L100028: ;
                  lab←L100029: ;
                  };
SOURCE(6686, 200)
               if ((font←v6196 == 0)) {
SOURCE(6707, 65)
                  if ((families←v8864 == 0)) {
SOURCE(6730, 42)
                     families←v8864 = (word) SubstituteFamilies←P180(firstFamily←v8920);
                     };
SOURCE(6774, 49)
                  if ((families←v8864 != 0)) {
SOURCE(6799, 24)
                     families←v8864 = (* (( (ptr) families←v8864)+1) );
                     };
SOURCE(6828, 58)
                  if ((families←v8864 == 0)) {
                     trialFamily←v8892 = 0;
                     }
                  else {
                     trialFamily←v8892 = (*  (ptr) families←v8864 );
                     };
                  };
               goto lab←L100027;
               lab←L100025: ;
SOURCE(6900, 28)
               if ((trialFace←v8796 == 0)) {
SOURCE(6928, 4)
                  goto lab←L100023;
                  };
SOURCE(6934, 119)
               if ((trialFace←v8796 == 3)) {
                  trialFace←v8796 = 1;
                  }
               else {
                  if ( ( (trialFace←v8796 == 1) ? (face←v6096 == 3) : 0 ) ) {
                     trialFace←v8796 = 2;
                     }
                  else {
                     trialFace←v8796 = 0;
                     };
                  };
               };
            goto lab←L100024;
            lab←L100022: ;
            lab←L100023: ;
SOURCE(7064, 265)
            if ((font←v6196 == 0)) {
SOURCE(7286, 23)
               font←v6196 = (word) GetDefaultFont←P240();
SOURCE(7311, 18)
               preScaled←v8768 = 0;
               };
SOURCE(7335, 60)
            if ((0 == preScaled←v8768)) {
SOURCE(7359, 36)
               {
                  word pd111;
                  pd111 = (* (( (ptr) (* (( (ptr) gf←c24136)+137)/* var←c23144 */  ))+9) );
                  font←v6196 = (word) ( *( (fPt) ((*  (ptr) pd111 ))))(font←v6196, size←v6124, pd111);
                  };
               };
SOURCE(7398, 31)
            {
               word pd112;
               pd112 = (* (( (ptr) (* (( (ptr) gf←c24136)+134)/* var←c22664 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd112 ))))(scratch←v8684, pd112);
               };
            };
         };
SOURCE(7434, 66)
      {
         W6 var←c23400;
         var←c23400.f0 = prefix←v6040;
         var←c23400.f1 = family←v6068;
         var←c23400.f2 = face←v6096;
         var←c23400.f3 = size←v6124;
         var←c23400.f4 = alphabets←v6152;
         var←c23400.f5 = font←v6196;
         (void) EnterStyleFontCache←P600(var←c23400);
         };
      };
SOURCE(7505, 400)
   if ((0 != didSubstitution←v8640)) {
SOURCE(7529, 378)
      {
         word text←v9136;
         W3 var←c0155;
SOURCE(7531, 43)
         {
            word pd113;
            pd113 = (* (( (ptr) (* (( (ptr) gf←c24136)+134)/* var←c22664 */  ))+6) );
            text←v9136 = (word) ( *( (fPt) ((*  (ptr) pd113 ))))(100, pd113);
            };
SOURCE(7576, 53)
         {
            word pd114;
            pd114 = (* (( (ptr) (* (( (ptr) gf←c24136)+134)/* var←c22664 */  ))+10) );
            text←v9136 = (word) ( *( (fPt) ((*  (ptr) pd114 ))))(text←v9136, (* (( (ptr) gf←c24136)+66) ), 0, 32767, pd114);
            };
SOURCE(7631, 54)
         {
            word var←c23432;
            {
               word pd115;
               pd115 = (* (( (ptr) (* (( (ptr) gf←c24136)+137)/* var←c23144 */  ))+19) );
               var←c23432 = (word) ( *( (fPt) ((*  (ptr) pd115 ))))(font←v6196, pd115);
               };
            {
               word pd116;
               pd116 = (* (( (ptr) (* (( (ptr) gf←c24136)+134)/* var←c22664 */  ))+10) );
               text←v9136 = (word) ( *( (fPt) ((*  (ptr) pd116 ))))(text←v9136, var←c23432, 0, 32767, pd116);
               };
            };
SOURCE(7687, 40)
         {
            word pd117;
            pd117 = (* (( (ptr) (* (( (ptr) gf←c24136)+134)/* var←c22664 */  ))+10) );
            text←v9136 = (word) ( *( (fPt) ((*  (ptr) pd117 ))))(text←v9136, (* (( (ptr) gf←c24136)+67) ), 0, 32767, pd117);
            };
SOURCE(7729, 70)
         (void) AppendFontName←P60((word) &var←c0155, text←v9136, prefix←v6040, family←v6068, face←v6096, size←v6124
            , alphabets←v6152);
         text←v9136 = var←c0155.f0;
SOURCE(7801, 74)
         {
            word var←c23464;
            {
               word pd118;
               pd118 = (* (( (ptr) (* (( (ptr) gf←c24136)+133)/* var←c22600 */  ))+35) );
               var←c23464 = (word) ( *( (fPt) ((*  (ptr) pd118 ))))(text←v9136, 0, 32767, pd118);
               };
            {
               word pd119;
               pd119 = (* (( (ptr) (* (( (ptr) gf←c24136)+140)/* var←c23496 */  ))+4) );
               (void) ( *( (fPt) ((*  (ptr) pd119 ))))((* (( (ptr) gf←c24136)+56) ), 0, (* (( (ptr) gf←c24136)+68) ), var←c23464, pd119)
               ;
               };
            };
SOURCE(7877, 28)
         {
            word pd120;
            pd120 = (* (( (ptr) (* (( (ptr) gf←c24136)+134)/* var←c22664 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd120 ))))(text←v9136, pd120);
            };
         };
      };
SOURCE(5470, 2435)
   return(font←v6196);
   }

static word NoName←Q2064(formal←c0212)
   word formal←c0212;
   {
SOURCE(6516, 78)
   {
      word pd121;
      pd121 = (* (( (ptr) formal←c0212)+5) );
      (* (( (ptr) formal←c0212)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd121 ))))((* (( (ptr) formal←c0212)+4) ), 0, pd121);
      };
   return(0);
   }

static void FlushStyleFontCache←P480()
   {
   register ptr gf←c24168 =  (ptr) &globalframe;
   /* FlushStyleFontCache: */ 
SOURCE(8183, 57)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c24168)+16)/* LOCK←v3028 */ ));
SOURCE(8219, 21)
   (* (( (ptr) gf←c24168)+20)/* styleFontCache←v3728 */  ) = 0;
SOURCE(8183, 57)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c24168)+16)/* LOCK←v3028 */ ));
   return;
   }

static word CheckStyleFontCache←P540(prefix←v6540, family←v6568, face←v6596, size←v6624, alphabets←v6652)
   word prefix←v6540;
   word family←v6568;
   word face←v6596;
   word size←v6624;
   word alphabets←v6652;
   {
   register ptr gf←c24200 =  (ptr) &globalframe;
   word var←c6696;
   word prev←v9192 = 0;
   /* CheckStyleFontCache: */ 
SOURCE(8244, 633)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c24200)+16)/* LOCK←v3028 */ ));
SOURCE(8417, 387)
   {
      register word c←v9320;
      c←v9320 = (* (( (ptr) gf←c24200)+20)/* styleFontCache←v3728 */  );
      lab←L100039: ;
      if ((c←v9320 != 0)) {
         }
      else {
         goto lab←L100036;
         };
SOURCE(8492, 299)
      {
         word x122;
         word x123;
         if ( (  (  (  ( ((*  (ptr) c←v9320 ) == prefix←v6540) ? ((* (( (ptr) c←v9320)+1) ) == family←v6568) : 0 )  ? ((* (( (ptr) c←v9320)+2)
          ) == face←v6596) : 0 )  ? ((
            x122 = (* (( (ptr) c←v9320)+3) ),  *(float*)&x122
            ) == (
            x123 = size←v6624,  *(float*)&x123
            )) : 0 )  ? ((* (( (ptr) c←v9320)+4) ) == alphabets←v6652) : 0 ) ) {
SOURCE(8636, 84)
            if ((prev←v9192 != 0)) {
SOURCE(8657, 18)
               (* (( (ptr) prev←v9192)+6) ) = (* (( (ptr) c←v9320)+6) );
SOURCE(8677, 23)
               (* (( (ptr) c←v9320)+6) ) = (* (( (ptr) gf←c24200)+20)/* styleFontCache←v3728 */  );
SOURCE(8702, 18)
               (* (( (ptr) gf←c24200)+20)/* styleFontCache←v3728 */  ) = c←v9320;
               };
SOURCE(8725, 43)
            (* (( (ptr) gf←c24200)+21)/* styleFontCacheHits←v3756 */  ) = ((* (( (ptr) gf←c24200)+21)/* styleFontCacheHits←v3756 */  ) + 
            1);
SOURCE(8770, 21)
            {
               word var←c23528;
               var←c23528 = (* (( (ptr) c←v9320)+5) );
               (void) (XR←MonitorExit((word) (( (bPt) gf←c24200)+16)/* LOCK←v3028 */ ));
               return(var←c23528);
               };
            };
         };
SOURCE(8796, 8)
      prev←v9192 = c←v9320;
      c←v9320 = (* (( (ptr) c←v9320)+6) );
      goto lab←L100039;
      lab←L100036: ;
      };
SOURCE(8815, 47)
   (* (( (ptr) gf←c24200)+22)/* styleFontCacheMisses←v3784 */  ) = ((* (( (ptr) gf←c24200)+22)/* styleFontCacheMisses←v3784 */  ) + 
   1);
SOURCE(8864, 13)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c24200)+16)/* LOCK←v3028 */ ));
   return(0);
   }

static void EnterStyleFontCache←P600(styleFontCacheRec←v6756)
   W6 styleFontCacheRec←v6756;
   {
   register ptr gf←c24232 =  (ptr) &globalframe;
   word new←v9448 = 0;
   word prev←v9476 = 0;
   word i←v9504 = 2;
   /* EnterStyleFontCache: */ 
SOURCE(8881, 480)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c24232)+16)/* LOCK←v3028 */ ));
SOURCE(9045, 258)
   {
      register word p←v9716;
      p←v9716 = (* (( (ptr) gf←c24232)+20)/* styleFontCache←v3728 */  );
      lab←L100043: ;
SOURCE(9106, 46)
      if ((p←v9716 == 0)) {
SOURCE(9123, 29)
         {
            word var←c23560;
            word var←c23592;
            var←c23560 = XR←NewObject(28, (* (( (ptr) gf←c24232)+28) ));
            var←c23592 = var←c23560;
            (*  (W6Pt) var←c23592 ) = styleFontCacheRec←v6756;
            new←v9448 = var←c23560;
            };
SOURCE(9154, 4)
         goto lab←L100041;
         };
SOURCE(9161, 122)
      if ( ( (i←v9504 >= (* (( (ptr) gf←c24232)+19)/* styleFontCacheSize←v3700 */  )) ? ((* (( (ptr) p←v9716)+6) ) != 0) : 0 ) ) {
SOURCE(9210, 12)
         new←v9448 = (* (( (ptr) p←v9716)+6) );
SOURCE(9224, 12)
         (* (( (ptr) p←v9716)+6) ) = 0;
SOURCE(9238, 14)
         (* (( (ptr) new←v9448)+6) ) = 0;
SOURCE(9254, 29)
         (*  (W6Pt) new←v9448 ) = styleFontCacheRec←v6756;
SOURCE(9285, 4)
         goto lab←L100041;
         };
SOURCE(9294, 9)
      i←v9504 = (i←v9504 + 1);
      p←v9716 = (* (( (ptr) p←v9716)+6) );
      goto lab←L100043;
      lab←L100041: ;
      };
SOURCE(9314, 25)
   (* (( (ptr) new←v9448)+6) ) = (* (( (ptr) gf←c24232)+20)/* styleFontCache←v3728 */  );
SOURCE(9341, 20)
   (* (( (ptr) gf←c24232)+20)/* styleFontCache←v3728 */  ) = new←v9448;
SOURCE(8881, 480)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c24232)+16)/* LOCK←v3028 */ ));
   return;
   }

static word GetNamedColor←P660(style←v6816, name←v6844)
   word style←v6816;
   word name←v6844;
   {
   register ptr gf←c24264 =  (ptr) &globalframe;
   word var←c6888;
   word a←v9844;
   /* GetNamedColor: */ 
SOURCE(9366, 223)
SOURCE(9471, 40)
   a←v9844 = (* ((( (ptr) style←v6816)+5)+name←v6844) );
SOURCE(9513, 76)
   if ((a←v9844 == 0) || (a←v9844 == (* (( (ptr) gf←c24264)+71) ))) {
      return(0);
      }
   else {
      {
         word var←c23656;
         {
            word pd124;
            pd124 = (* (( (ptr) (* (( (ptr) gf←c24264)+132)/* var←c22568 */  ))+9) );
            var←c23656 = (word) ( *( (fPt) ((*  (ptr) pd124 ))))(a←v9844, pd124);
            };
         {
            word pd125;
            pd125 = (* (( (ptr) (* (( (ptr) gf←c24264)+141)/* var←c23688 */  ))+6) );
            return((word) ( *( (fPt) ((*  (ptr) pd125 ))))(var←c23656, pd125));
            };
         };
      };
   }

static word GetHSBColor←P720(style←v6948, h←v6976, s←v7004, b←v7032)
   word style←v6948;
   word h←v6976;
   word s←v7004;
   word b←v7032;
   {
   register ptr gf←c24296 =  (ptr) &globalframe;
   word var←c7076;
   word brightness←v9888;
   /* GetHSBColor: */ 
SOURCE(9595, 427)
SOURCE(9690, 46)
   {
      word pd126;
      pd126 = (* (( (ptr) (* (( (ptr) gf←c24296)+139)/* var←c23240 */  ))+12) );
      brightness←v9888 = (word) ( *( (fPt) ((*  (ptr) pd126 ))))(style←v6948, b←v7032, pd126);
      };
SOURCE(9738, 284)
   {
      word x127;
      word x128;
      if (((
         x127 = brightness←v9888,  *(float*)&x127
         ) == (
         x128 = (*  (ptr) &fc60 ),  *(float*)&x128
         ))) {
SOURCE(9763, 26)
         return((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c24296)+138)/* var←c23176 */  ))+54) ) ));
         }
      else {
SOURCE(9789, 238)
         {
            word saturation←v9932;
SOURCE(9791, 46)
            {
               word pd129;
               pd129 = (* (( (ptr) (* (( (ptr) gf←c24296)+139)/* var←c23240 */  ))+12) );
               saturation←v9932 = (word) ( *( (fPt) ((*  (ptr) pd129 ))))(style←v6948, s←v7004, pd129);
               };
SOURCE(9839, 183)
            {
               word x130;
               word x131;
               if (((
                  x130 = saturation←v9932,  *(float*)&x130
                  ) == (
                  x131 = (*  (ptr) &fc60 ),  *(float*)&x131
                  ))) {
SOURCE(9864, 45)
                  {
                     word pd132;
                     word x133;
                     word x134;
                     float tf135;
                     pd132 = (* (( (ptr) (* (( (ptr) gf←c24296)+138)/* var←c23176 */  ))+53) );
                     return((word) ( *( (fPt) ((*  (ptr) pd132 ))))((
                           tf135 = (
/*1*/   x133 = (*  (ptr) &fc91 ),  *(float*)&x133
/*1*/   ) - (
/*1*/   x134 = brightness←v9888,  *(float*)&x134
/*1*/   ),  *(word*)&tf135
                           ), pd132));
                     };
                  }
               else {
SOURCE(9909, 115)
                  {
                     word hue←v9976;
SOURCE(9911, 39)
                     {
                        word pd136;
                        pd136 = (* (( (ptr) (* (( (ptr) gf←c24296)+139)/* var←c23240 */  ))+12) );
                        hue←v9976 = (word) ( *( (fPt) ((*  (ptr) pd136 ))))(style←v6948, h←v6976, pd136);
                        };
SOURCE(9952, 70)
                     {
                        word pd137;
                        pd137 = (* (( (ptr) (* (( (ptr) gf←c24296)+141)/* var←c23688 */  ))+20) );
                        return((word) ( *( (fPt) ((*  (ptr) pd137 ))))(hue←v9976, saturation←v9932, brightness←v9888, pd137));
                        };
                     };
                  };
               };
            };
         };
      };
   }

static word GetColor←P780(style←v7280, param←v7308)
   word style←v7280;
   word param←v7308;
   {
   register ptr gf←c24328 =  (ptr) &globalframe;
   word color←v7352;
   W4 p←v10020;
   /* GetColor: */ 
SOURCE(10872, 261)
SOURCE(10872, 261)
   color←v7352 = 0;
SOURCE(10988, 44)
   p←v10020 = (* (( (W4Pt) (( (ptr) gf←c24328)+104)/* var←c21768 */ )+param←v7308) );
SOURCE(11034, 36)
   color←v7352 = (word) GetNamedColor←P660(style←v7280, p←v10020.f0);
SOURCE(11072, 61)
   if ((color←v7352 == 0)) {
SOURCE(11092, 41)
      color←v7352 = (word) GetHSBColor←P720(style←v7280, p←v10020.f1, p←v10020.f2, p←v10020.f3);
      };
SOURCE(10872, 261)
   return(color←v7352);
   }

static void NoName←Q2124(formal←c0195, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0195;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0219 =  (ptr) &globalframe;
   if ((formal←c200005 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0219)+138)/* var←c23176 */  ))+6) ) ))) {
      {
         W3 error←v19596;
         error←v19596 = (*  (W3Pt) formal←c200007 );
SOURCE(6594, 9)
         (*  (ptr) formal←c0195 ) = 2;
         (* (( (ptr) formal←c0195)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0195 ) = 0;
   (* (( (ptr) formal←c0195)+1) ) = 0;
   return;
   }

static void NoName←Q2184(formal←c0201, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0201;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0220 =  (ptr) &globalframe;
   if ((formal←c200001 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0220)+138)/* var←c23176 */  ))+6) ) ))) {
      {
         W3 error←v17696;
         error←v17696 = (*  (W3Pt) formal←c200003 );
SOURCE(4958, 9)
         (*  (ptr) formal←c0201 ) = 2;
         (* (( (ptr) formal←c0201)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0201 ) = 0;
   (* (( (ptr) formal←c0201)+1) ) = 0;
   return;
   }

/* file: NodeStyle2Impl, module: NodeStyle2Impl, compiled at: March 7, 1993 11:09:14 pm PST */ 
extern void XR←install←NodeStyle2Impl() {
   NoName←Q1944();
   }
extern void XR←run←NodeStyle2Impl() { XR←Start(&globalframe); }