/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 28, 1993 10:19:04 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerFontWorksImpl, module: ImagerFontWorksImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2853864770,237336274] ImagerFontWorksImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W7 r;} W15;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef W3 *W3Pt;
#define SOURCE(p, l) /* source p, l */
static float fc26 = 1.0;
static float fc27 = 0.0;
static float fc28 = 2000.0;
static float fc78 = 4096.0;
static void NoName←Q1980();
static void ImagerFontWorksImpl←P0();
static word GetClientToDevice←P60();
static word NoName←Q2040();
static void MaskChar←P120();
static void Action←P1200();
static void Path←P1308();
static word MapChar←P180();
static word NoName←Q2100();
static void Inner←P1416();
static word CreateContext←P240();
static word GetContext←P300();
static word NoName←Q2160();
static void MyMaskFill←P480();
static void myMoveTo←P1524();
static void myLineTo←P1584();
static void myCurveTo←P1644();
static void myConicTo←P1704();
static void myArcTo←P1764();
static void MyMaskRectangle←P540();
static void Path←P1824();
static void MyMaskStroke←P600();
static void MyMaskPixel←P660();
static void MyMaskVector←P720();
static void MyMaskBitmap←P780();
static void MyDrawBitmap←P840();
static void MyDrawPixels←P900();
static word InitMapCharContextClass←P960();
static void MySetColor←P1020();
static void MyMaskBoxes←P1080();
static word InitMapCharDeviceClass←P1140();
static void NoName←Q2220();
static void NoName←Q2280();
static void NoName←Q2340();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\101\174\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\003\017\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\252\032\205\102\300\016\045\166\322\100\260\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\003\002\000"};
static struct {unsigned f; char r[48];} string5 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\354\147\236\353\300\316\347\225\106\100\340\005\004\162\145\163\164\214\216\257\300\354\147\236\353\300\316\347\225\106\100\340\261\000\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\003\000"};
static struct {unsigned f; char r[4];} string7 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string8 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\241\011\366\176\300\127\130\105\301\100\274\000\000"};
static struct {unsigned f; char r[4];} string10 = {131074, "\003\016\000"};
static struct {unsigned f; char r[8];} string11 = {458760, "MapChar"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\252\032\205\102\300\016\045\166\322\100\164\000\000"};
static struct {unsigned f; char r[16];} string13 = {983055, "\006\006\040\001\044\001\050\001\054\001\060\001\100\124\001"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\170\064\225\306\300\207\372\245\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\241\011\366\176\300\127\130\105\301\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\354\147\236\353\300\316\347\225\106\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\205\026\031\133\300\153\303\216\034\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\067\246\211\216\300\354\224\134\067\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[12];} string22 = {1231905127, "erTypeface"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\360\006\233\311\300\116\352\007\226\100\150\000\000"};
static struct {unsigned f; char r[8];} string25 = {1298232171, "Char"};
static struct {
   word f0[22]; word f22; word f23; word f24; 
   word f25; word f26; word f27; word f28; 
   word f29; word f30; word f31; word f32; 
   word f33; word f34; word f35; word f36; 
   word f37; word f38; word f39; word f40; 
   word f41; word f42; word f43; word f44; 
   word f45; word f46; word f47; word f48; 
   word f49; word f50; word f51; word f52; 
   word f53; word f54; word f55; word f56; 
   word f57[11]; 
   } globalframe = {
   {0}, (word) InitMapCharDeviceClass←P1140, 0, (word) MyMaskBoxes←P1080, 
   0, (word) MySetColor←P1020, 0, (word) InitMapCharContextClass←P960, 
   0, (word) MyDrawPixels←P900, 0, (word) MyDrawBitmap←P840, 
   0, (word) MyMaskBitmap←P780, 0, (word) MyMaskVector←P720, 
   0, (word) MyMaskPixel←P660, 0, (word) MyMaskStroke←P600, 
   0, (word) MyMaskRectangle←P540, 0, (word) MyMaskFill←P480, 
   0, (word) GetContext←P300, 0, (word) CreateContext←P240, 
   0, (word) MapChar←P180, 0, (word) MaskChar←P120, 
   0, (word) GetClientToDevice←P60, 0, (word) ImagerFontWorksImpl←P0, 
   {0}
   };

static void NoName←Q1980()
   {
   register ptr gf←c0180 =  (ptr) &globalframe;
   word var←c26916;
   (* (( (ptr) gf←c0180)+13) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0180)+15) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0180)+16) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0180)+17) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0180)+20) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (*  (ptr) (( (bPt) gf←c0180)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0180)+17) ), (word) &string11);
   (void) XR←DeclareGlobalFrame((word) "ImagerFontWorksImpl", &globalframe, (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13)
      , (word) (( (bPt) gf←c0180)+224)/* var←c25732 */ );
   var←c26916 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string14)), 84);
   (* (( (ptr) gf←c0180)+59)/* var←c25828 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 801283);
   (void) XR←ImportProcS(var←c26916, 526850);
   (void) XR←ImportProcS(var←c26916, 526594);
   var←c26916 = (word) XR←ImportInterface((word) "ImagerBackdoor", (word) XR←GetTypeIndexS((word) (&string15)), 42);
   (* (( (ptr) gf←c0180)+58)/* var←c25796 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 67372545);
   (void) XR←ImportProcS(var←c26916, 67899395);
   var←c26916 = (word) XR←ImportInterface((word) "ImagerDevice", (word) XR←GetTypeIndexS((word) (&string16)), 2);
   (* (( (ptr) gf←c0180)+64)/* var←c26148 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 69730569);
   var←c26916 = (word) XR←ImportInterface((word) "ImagerFont", (word) XR←GetTypeIndexS((word) (&string17)), 26);
   (* (( (ptr) gf←c0180)+62)/* var←c25988 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 67634178);
   var←c26916 = (word) XR←ImportInterface((word) "ImagerPath", (word) XR←GetTypeIndexS((word) (&string18)), 18);
   (* (( (ptr) gf←c0180)+63)/* var←c26084 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 68422147);
   (void) XR←ImportProcS(var←c26916, 68684036);
   (void) XR←ImportProcS(var←c26916, 68945924);
   (void) XR←ImportProcS(var←c26916, 67896578);
   (void) XR←ImportProcS(var←c26916, 67634177);
   (void) XR←ImportProcS(var←c26916, 2097672);
   (void) XR←ImportProcS(var←c26916, 1576198);
   var←c26916 = (word) XR←ImportInterface((word) "ImagerPrivate", (word) XR←GetTypeIndexS((word) (&string19)), 25);
   (* (( (ptr) gf←c0180)+66)/* var←c26820 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 1573894);
   var←c26916 = (word) XR←ImportInterface((word) "ImagerRaster", (word) XR←GetTypeIndexS((word) (&string20)), 13);
   (* (( (ptr) gf←c0180)+65)/* var←c26212 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 67371009);
   (void) XR←ImportProcS(var←c26916, 67371521);
   (void) XR←ImportProcS(var←c26916, 68419845);
   var←c26916 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string21)), 55);
   (* (( (ptr) gf←c0180)+60)/* var←c25860 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 262401);
   (void) XR←ImportProcS(var←c26916, 270849);
   (void) XR←ImportProcS(var←c26916, 67371777);
   var←c26916 = (word) XR←ImportInterface((word) &string22, (word) XR←GetTypeIndexS((word) (&string23)), 12);
   (* (( (ptr) gf←c0180)+61)/* var←c25924 */  ) = var←c26916;
   (void) XR←ImportProcS(var←c26916, 67371777);
   var←c26916 = (word) XR←ExportInterface((word) "ImagerFontWorks", (word) XR←GetTypeIndexS((word) (&string24)), 3);
   (* (( (ptr) gf←c0180)+67)/* var←c26948 */  ) = var←c26916;
   (void) XR←ExportProcS(var←c26916, (word) (( (bPt) gf←c0180)+208)/* var←c25668 */ , 786435, (word) &string25);
   (void) XR←ExportProcS(var←c26916, (word) (( (bPt) gf←c0180)+200)/* var←c25636 */ , 69206280, (word) "MapChar");
   var←c26916 = (word) XR←ExportInterface((word) &string22, (word) XR←GetTypeIndexS((word) (&string23)), 12);
   (* (( (ptr) gf←c0180)+67)/* var←c26948 */  ) = var←c26916;
   (void) XR←ExportProcS(var←c26916, (word) (( (bPt) gf←c0180)+208)/* var←c25668 */ , 787715, (word) &string25);
   }

static void ImagerFontWorksImpl←P0(formal←c042, formal←c040)
   word formal←c042;
   word formal←c040;
   {
   register ptr gf←c26980 =  (ptr) &globalframe;
   /* ImagerFontWorksImpl: */ 
SOURCE(736, 7250)
SOURCE(4069, 71)
   {
      word var←c25764;
      var←c25764 = XR←NewObject(64, (* (( (ptr) gf←c26980)+13) ));
      (*  (ptr) var←c25764 ) = 4000;
      (* (( (ptr) var←c25764)+1) ) = XR←CheckProc(0);
      (* (( (ptr) var←c25764)+2) ) = (*  (ptr) &fc26 );
      (* (( (ptr) var←c25764)+3) ) = (*  (ptr) &fc27 );
      (* (( (ptr) var←c25764)+4) ) = (*  (ptr) &fc26 );
      (* (( (ptr) var←c25764)+5) ) = (*  (ptr) &fc27 );
      (* (( (ptr) var←c25764)+6) ) = (*  (ptr) &fc27 );
      (* (( (ptr) var←c25764)+7) ) = (*  (ptr) &fc28 );
      (* (( (ptr) var←c25764)+8) ) = (*  (ptr) &fc26 );
      (* (( (ptr) var←c25764)+9) ) = (*  (ptr) &fc27 );
      (* (( (ptr) var←c25764)+10) ) = (*  (ptr) &fc27 );
      (* (( (ptr) var←c25764)+11) ) = (*  (ptr) &fc27 );
      (* (( (ptr) var←c25764)+12) ) = (*  (ptr) &fc27 );
      (* (( (ptr) gf←c26980)+8)/* defaultParameters←v3560 */  ) = var←c25764;
      };
SOURCE(7072, 68)
   (* (( (ptr) gf←c26980)+11)/* mapCharContextClass←v3952 */  ) = (word) InitMapCharContextClass←P960();
SOURCE(7755, 71)
   (* (( (ptr) gf←c26980)+12)/* mapCharDeviceClass←v4064 */  ) = (word) InitMapCharDeviceClass←P1140();
   }

static word GetClientToDevice←P60(formal←c0238)
   word formal←c0238;
   {
   W8 var←c27012;
   /* declaration of context←v4172 skipped */ 
   register ptr gf←c27044 =  (ptr) &globalframe;
   word var←c4216;
   /* declaration of m←v6276 skipped */ 
   var←c27012.f4/* context←v4172 */  = formal←c0238;
   /* GetClientToDevice: */ 
SOURCE(1449, 260)
SOURCE(1528, 23)
   var←c27012.f5/* m←v6276 */  = 0;
SOURCE(1553, 141)
   {
      /* declaration of var←c01 skipped */ 
      var←c27012.f6/* var←c01 */  = (* (( (ptr) (* (( (ptr) gf←c27044)+58)/* var←c25796 */  ))+20) );
      {
         /* declaration of var←c02 skipped */ 
         {
            word var←c0221;
            var←c0221 = (word) &var←c27012;
             (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2040) ), ( ((word)  (fPt) NoName←Q2340) ), var←c0221);
            };
         var←c27012.f5/* m←v6276 */  = var←c27012.f7/* var←c02 */ ;
         };
      };
SOURCE(1698, 11)
   return(var←c27012.f5/* m←v6276 */ );
   }

static word NoName←Q2040(formal←c0183)
   word formal←c0183;
   {
SOURCE(1553, 141)
   {
      word pd29;
      pd29 = (* (( (ptr) formal←c0183)+6) );
      (* (( (ptr) formal←c0183)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd29 ))))((* (( (ptr) formal←c0183)+4) ), 0, 3, pd29);
      };
   return(0);
   }

static void MaskChar←P120(formal←c0239, formal←c0240, formal←c0241)
   word formal←c0239;
   word formal←c0240;
   word formal←c0241;
   {
   W10 var←c27076;
   /* declaration of font←v4276 skipped */ 
   /* declaration of char←v4304 skipped */ 
   /* declaration of context←v4332 skipped */ 
   register ptr gf←c27108 =  (ptr) &globalframe;
   /* declaration of var←c25892 skipped */ 
   /* declaration of typeface←v6320 skipped */ 
   (* (( (ptr) &var←c27076)+4)/* font←v4276 */  ) = formal←c0239;
   (* (( (ptr) &var←c27076)+5)/* char←v4304 */  ) = formal←c0240;
   (* (( (ptr) &var←c27076)+6)/* context←v4332 */  ) = formal←c0241;
   /* MaskChar: */ 
SOURCE(1713, 809)
   {
      word tmpAddr30;
      tmpAddr30 = (word) (( (ptr) &var←c27076)+7)/* var←c25892 */ ;
      (*  (ptr) tmpAddr30 ) = ( ((word)  (fPt) Action←P1200) );
      (* (( (ptr) tmpAddr30) + 1) ) = 1;
      };
SOURCE(1811, 58)
   {
      word pd31;
      pd31 = (* (( (ptr) (* (( (ptr) gf←c27108)+61)/* var←c25924 */  ))+7) );
      (* (( (ptr) &var←c27076)+9)/* typeface←v6320 */  ) = (word) ( *( (fPt) ((*  (ptr) pd31 ))))((* ((( (ptr) &var←c27076)+4)/* font←v4276 */ ) ), pd31)
      ;
      };
SOURCE(2489, 33)
   {
      word pd32;
      pd32 = (* (( (ptr) (* (( (ptr) gf←c27108)+59)/* var←c25828 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd32 ))))((* (( (ptr) &var←c27076)+6)/* context←v4332 */  ), (word) (( (bPt) &var←c27076)+28)
         /* var←c25892 */ , pd32);
      };
   }

static void Action←P1200(formal←c27204)
   word formal←c27204;
   {
   W7 var←c27140;
   register ptr gf←c27172 =  (ptr) &globalframe;
   /* declaration of var←c25956 skipped */ 
   formal←c27204 = (formal←c27204 - 28);
   var←c27140.f0 = formal←c27204;
   /* Action: */ 
SOURCE(1871, 611)
   {
      word tmpAddr33;
      tmpAddr33 = (word) (( (ptr) &var←c27140)+4)/* var←c25956 */ ;
      (*  (ptr) tmpAddr33 ) = ( ((word)  (fPt) Path←P1308) );
      (* (( (ptr) tmpAddr33) + 1) ) = 1;
      };
SOURCE(1888, 594)
   if ( ( ((* (( (ptr) (*  (ptr) (* (( (ptr) formal←c27204)+9) ) ))+13) ) == 0) ? ((* (( (ptr) (*  (ptr) (* (( (ptr) formal←c27204)+9)
       ) ))+15) ) != 0) : 0 ) ) {
SOURCE(1959, 426)
      {
         word m←v6408;
         /* declaration of f←v6436 skipped */ 
SOURCE(1961, 46)
         m←v6408 = (word) GetClientToDevice←P60((* ((( (ptr) formal←c27204)+6)) ));
SOURCE(2009, 36)
         {
            word pd34;
            pd34 = (* (( (ptr) (* (( (ptr) gf←c27172)+62)/* var←c25988 */  ))+8) );
            var←c27140.f6/* f←v6436 */  = (word) ( *( (fPt) ((*  (ptr) pd34 ))))((* (( (ptr) formal←c27204)+4) ), m←v6408, pd34);
            };
SOURCE(2229, 35)
         {
            word pd35;
            pd35 = (* (( (ptr) (* (( (ptr) gf←c27172)+60)/* var←c25860 */  ))+38) );
            (void) ( *( (fPt) ((*  (ptr) pd35 ))))(m←v6408, pd35);
            };
SOURCE(2266, 26)
         {
            word pd36;
            pd36 = (* (( (ptr) (* (( (ptr) gf←c27172)+59)/* var←c25828 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd36 ))))((* (( (ptr) formal←c27204)+6) ), m←v6408, pd36);
            };
SOURCE(2295, 31)
         {
            word pd37;
            pd37 = (* (( (ptr) (* (( (ptr) gf←c27172)+60)/* var←c25860 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd37 ))))(m←v6408, pd37);
            };
SOURCE(2328, 7)
         m←v6408 = 0;
SOURCE(2338, 45)
         {
            word pd38;
            pd38 = (* (( (ptr) (* (( (ptr) gf←c27172)+59)/* var←c25828 */  ))+62) );
            (void) ( *( (fPt) ((*  (ptr) pd38 ))))((* (( (ptr) formal←c27204)+6) ), (word) (( (bPt) &var←c27140)+16)/* var←c25956 */ , 0, pd38)
            ;
            };
         };
      }
   else {
SOURCE(2394, 42)
      {
         word pd39;
         pd39 = (* (( (ptr) (* (( (ptr) gf←c27172)+59)/* var←c25828 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd39 ))))((* (( (ptr) formal←c27204)+6) ), (*  (ptr) (* (( (ptr) formal←c27204)+4) ) ), pd39)
         ;
         };
SOURCE(2438, 44)
      {
         word pd40;
         pd40 = (* (( (ptr) (*  (ptr) (* (( (ptr) formal←c27204)+9) ) ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd40 ))))((* (( (ptr) formal←c27204)+9) ), (* (( (ptr) formal←c27204)+5) ), (* (( (ptr) formal←c27204)+6)
             ), pd40);
         };
      };
   }

static void Path←P1308(moveTo←v16980, lineTo←v17008, curveTo←v17036, conicTo←v17064, arcTo←v17092, formal←c27236)
   word moveTo←v16980;
   word lineTo←v17008;
   word curveTo←v17036;
   word conicTo←v17064;
   word arcTo←v17092;
   word formal←c27236;
   {
   formal←c27236 = (formal←c27236 - 16);
   /* Path: */ 
SOURCE(2047, 28)
SOURCE(2077, 147)
   {
      word var←c26020;
      word pd41;
      pd41 = (* (( (ptr) (*  (ptr) (* (( (ptr) (*  (ptr) formal←c27236 ))+9) ) ))+15) );
      var←c26020 = (word) ( *( (fPt) ((*  (ptr) pd41 ))))((* (( (ptr) formal←c27236)+6) ), (* (( (ptr) (*  (ptr) formal←c27236 ))+5)
          ), 0, moveTo←v16980, lineTo←v17008, curveTo←v17036
         , arcTo←v17092, conicTo←v17064, pd41);
      };
   }

static word MapChar←P180(formal←c0242, formal←c0243, parameters←v14904, moveTo←v14932, lineTo←v14960, curveTo←v14988, arcTo←v15016, conicTo←v15044)
   word formal←c0242;
   word formal←c0243;
   word parameters←v14904;
   word moveTo←v14932;
   word lineTo←v14960;
   word curveTo←v14988;
   word arcTo←v15016;
   word conicTo←v15044;
   {
   W11 var←c27268;
   /* declaration of font←v14848 skipped */ 
   /* declaration of char←v14876 skipped */ 
   register ptr gf←c27300 =  (ptr) &globalframe;
   word success←v15088;
   /* declaration of var←c26052 skipped */ 
   /* declaration of typeface←v6508 skipped */ 
   (* (( (ptr) &var←c27268)+4)/* font←v14848 */  ) = formal←c0242;
   (* (( (ptr) &var←c27268)+5)/* char←v14876 */  ) = formal←c0243;
   /* MapChar: */ 
SOURCE(2527, 761)
   {
      word tmpAddr42;
      tmpAddr42 = (word) (( (ptr) &var←c27268)+6)/* var←c26052 */ ;
      (*  (ptr) tmpAddr42 ) = ( ((word)  (fPt) Inner←P1416) );
      (* (( (ptr) tmpAddr42) + 1) ) = 1;
      };
SOURCE(2527, 761)
   success←v15088 = 1;
SOURCE(2575, 58)
   {
      word pd43;
      pd43 = (* (( (ptr) (* (( (ptr) gf←c27300)+61)/* var←c25924 */  ))+7) );
      (* (( (ptr) &var←c27268)+8)/* typeface←v6508 */  ) = (word) ( *( (fPt) ((*  (ptr) pd43 ))))((* ((( (ptr) &var←c27268)+4)/* font←v14848 */ ) ), pd43)
      ;
      };
SOURCE(2635, 15)
   success←v15088 = 0;
SOURCE(2652, 201)
   if (((* (( (ptr) (*  (ptr) (* (( (ptr) &var←c27268)+8)/* typeface←v6508 */  ) ))+15) ) != 0)) {
SOURCE(2691, 162)
      {
         word pd44;
         pd44 = (* (( (ptr) (*  (ptr) (* (( (ptr) &var←c27268)+8)/* typeface←v6508 */  ) ))+15) );
         success←v15088 = (word) ( *( (fPt) ((*  (ptr) pd44 ))))((* (( (ptr) &var←c27268)+4)/* font←v14848 */  ), (* (( (ptr) &var←c27268)+5)
            /* char←v14876 */  ), parameters←v14904, moveTo←v14932, lineTo←v14960, curveTo←v14988
            , arcTo←v15016, conicTo←v15044, pd44);
         };
      };
SOURCE(2858, 430)
   if ( ( (0 == success←v15088) ? ((* (( (ptr) (*  (ptr) (* (( (ptr) &var←c27268)+8)/* typeface←v6508 */  ) ))+13) ) != 0) : 0 ) ) {
SOURCE(2908, 382)
      {
         /* declaration of myContext←v6552 skipped */ 
         word data←v6580;
SOURCE(2910, 43)
         (* (( (ptr) &var←c27268)+9)/* myContext←v6552 */  ) = (word) GetContext←P300(parameters←v14904);
SOURCE(2955, 35)
         data←v6580 = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c27268)+9)/* myContext←v6552 */  ))+2) ), (* (( (ptr) gf←c27300)+15) ))
         ;
SOURCE(3105, 34)
         {
            word pd45;
            pd45 = (* (( (ptr) (* (( (ptr) gf←c27300)+59)/* var←c25828 */  ))+13) );
            (void) ( *( (fPt) ((*  (ptr) pd45 ))))((* (( (ptr) &var←c27268)+9)/* myContext←v6552 */  ), (word) (( (bPt) &var←c27268)+24)
               /* var←c26052 */ , pd45);
            };
SOURCE(3141, 25)
         success←v15088 =  (unsigned) (0 == (* (( (ptr) data←v6580)+1) ));
SOURCE(3168, 96)
         if ((0 != success←v15088)) {
SOURCE(3184, 80)
            {
               word pd46;
               pd46 = (* (( (ptr) (* (( (ptr) gf←c27300)+63)/* var←c26084 */  ))+17) );
               (void) ( *( (fPt) ((*  (ptr) pd46 ))))((* (( (ptr) data←v6580)+2) ), moveTo←v14932, lineTo←v14960, curveTo←v14988, conicTo←v15044, arcTo←v15016, pd46)
               ;
               };
            };
SOURCE(3266, 22)
         {
            /* declaration of context←v25108 skipped */ 
            (* (( (ptr) &var←c27268)+10)/* context←v25108 */  ) = (* (( (ptr) &var←c27268)+9)/* myContext←v6552 */  );
SOURCE(3266, 22)
            (void) (XR←MonitorEntry((word) (( (bPt) gf←c27300)+16)/* LOCK←v3028 */ ));
SOURCE(4758, 167)
            {
               word var←c0222;
               var←c0222 = (word) &var←c27268;
                (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2100) ), ( ((word)  (fPt) NoName←Q2280) ), var←c0222);
               };
            (void) (XR←MonitorExit((word) (( (bPt) gf←c27300)+16)/* LOCK←v3028 */ ));
            };
         };
      };
SOURCE(2527, 761)
   return(success←v15088);
   }

static word NoName←Q2100(formal←c0190)
   word formal←c0190;
   {
   register ptr gf←c0189 =  (ptr) &globalframe;
   {
      word data←v6768;
      data←v6768 = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c0190)+10) ))+2) ), (* (( (ptr) gf←c0189)+15) ));
SOURCE(4816, 19)
      (*  (ptr) data←v6768 ) = 0;
SOURCE(4837, 19)
      (* (( (ptr) data←v6768)+1) ) = 0;
SOURCE(4858, 15)
      (* (( (ptr) data←v6768)+2) ) = 0;
SOURCE(4875, 50)
      if (((* (( (ptr) gf←c0189)+9)/* c1←v3616 */  ) == 0)) {
SOURCE(4893, 12)
         (* (( (ptr) gf←c0189)+9)/* c1←v3616 */  ) = (* (( (ptr) formal←c0190)+10) );
         }
      else {
SOURCE(4913, 12)
         (* (( (ptr) gf←c0189)+10)/* c2←v3644 */  ) = (* (( (ptr) formal←c0190)+10) );
         };
      };
   return(0);
   }

static void Inner←P1416(formal←c27364)
   word formal←c27364;
   {
   register ptr gf←c27332 =  (ptr) &globalframe;
   formal←c27364 = (formal←c27364 - 24);
   /* Inner: */ 
SOURCE(2992, 14)
SOURCE(3008, 44)
   {
      word pd47;
      pd47 = (* (( (ptr) (* (( (ptr) gf←c27332)+59)/* var←c25828 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) formal←c27364)+9) ), (*  (ptr) (* (( (ptr) formal←c27364)+4) ) ), pd47)
      ;
      };
SOURCE(3054, 46)
   {
      word pd48;
      pd48 = (* (( (ptr) (*  (ptr) (* (( (ptr) formal←c27364)+8) ) ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd48 ))))((* (( (ptr) formal←c27364)+8) ), (* (( (ptr) formal←c27364)+5) ), (* (( (ptr) formal←c27364)+9)
          ), pd48);
      };
   }

static word CreateContext←P240()
   {
   register ptr gf←c27396 =  (ptr) &globalframe;
   word var←c4604;
   word deviceParm←v6668;
   word data←v6696;
   word context←v6724;
   /* CreateContext: */ 
SOURCE(3470, 593)
SOURCE(3512, 199)
   {
      W2 var←c26116;
      var←c26116.f0 = (*  (ptr) &fc26 );
      var←c26116.f1 = (*  (ptr) &fc26 );
      {
         word pd49;
         pd49 = (* (( (ptr) (* (( (ptr) gf←c27396)+64)/* var←c26148 */  ))+5) );
         deviceParm←v6668 = (word) ( *( (fPt) ((*  (ptr) pd49 ))))((* (( (ptr) gf←c27396)+12)/* mapCharDeviceClass←v4064 */  ), 2147483647, 2147483647, 6, var←c26116, 1
            , 0, 0, 0, pd49);
         };
      };
SOURCE(3713, 54)
   data←v6696 = XR←NewObject(12, (* (( (ptr) gf←c27396)+15) ));
SOURCE(3769, 153)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c27396)+65)/* var←c26212 */  ))+5) );
      context←v6724 = (word) ( *( (fPt) ((*  (ptr) pd50 ))))((* (( (ptr) gf←c27396)+11)/* mapCharContextClass←v3952 */  ), (* (
            ( (ptr) gf←c27396)+12)/* mapCharDeviceClass←v4064 */  ), deviceParm←v6668, 0, 1, pd50);
      };
SOURCE(3924, 19)
   (* (( (ptr) context←v6724)+2) ) = data←v6696;
SOURCE(4048, 15)
   return(context←v6724);
   }

static word GetContext←P300(parameters←v4664)
   word parameters←v4664;
   {
   W5 var←c27428;
   register ptr gf←c27460 =  (ptr) &globalframe;
   word context←v4708;
   /* GetContext: */ 
SOURCE(4143, 266)
SOURCE(4143, 266)
   context←v4708 = 0;
SOURCE(4216, 25)
   {
      word var←c26244;
      /* declaration of context←v25044 skipped */ 
SOURCE(4453, 194)
      (void) (XR←MonitorEntry((word) (( (bPt) gf←c27460)+16)/* LOCK←v3028 */ ));
SOURCE(4453, 194)
      var←c27428.f4/* context←v25044 */  = 0;
SOURCE(4517, 130)
      {
         word var←c0223;
         var←c0223 = (word) &var←c27428;
          (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2160) ), ( ((word)  (fPt) NoName←Q2220) ), var←c0223);
         };
SOURCE(4453, 194)
      var←c26244 = var←c27428.f4/* context←v25044 */ ;
      (void) (XR←MonitorExit((word) (( (bPt) gf←c27460)+16)/* LOCK←v3028 */ ));
      context←v4708 = var←c26244;
      };
SOURCE(4243, 47)
   if ((context←v4708 == 0)) {
SOURCE(4265, 25)
      context←v4708 = (word) CreateContext←P240();
      };
SOURCE(4292, 55)
   if ((parameters←v4664 == 0)) {
SOURCE(4317, 30)
      parameters←v4664 = (* (( (ptr) gf←c27460)+8)/* defaultParameters←v3560 */  );
      };
SOURCE(4349, 60)
   {
      word pd51;
      pd51 = (* (( (ptr) (* (( (ptr) gf←c27460)+65)/* var←c26212 */  ))+6) );
      (* (( (ptr) (* (( (ptr) ( *( (fPt) ((*  (ptr) pd51 ))))(context←v4708, pd51))+5) ))+8) ) = parameters←v4664;
      };
SOURCE(4143, 266)
   return(context←v4708);
   }

static word NoName←Q2160(formal←c0196)
   word formal←c0196;
   {
   register ptr gf←c0195 =  (ptr) &globalframe;
SOURCE(4540, 107)
   if (((* (( (ptr) gf←c0195)+9)/* c1←v3616 */  ) != 0)) {
SOURCE(4558, 12)
      (* (( (ptr) formal←c0196)+4) ) = (* (( (ptr) gf←c0195)+9)/* c1←v3616 */  );
SOURCE(4572, 8)
      (* (( (ptr) gf←c0195)+9)/* c1←v3616 */  ) = 0;
      }
   else {
SOURCE(4587, 60)
      if (((* (( (ptr) gf←c0195)+10)/* c2←v3644 */  ) != 0)) {
SOURCE(4605, 12)
         (* (( (ptr) formal←c0196)+4) ) = (* (( (ptr) gf←c0195)+10)/* c2←v3644 */  );
SOURCE(4619, 8)
         (* (( (ptr) gf←c0195)+10)/* c2←v3644 */  ) = 0;
         }
      else {
SOURCE(4634, 13)
         (* (( (ptr) formal←c0196)+4) ) = 0;
         };
      };
   return(0);
   }

static void MyMaskFill←P480(context←v4888, path←v4916, oddWrap←v4944)
   word context←v4888;
   word path←v4916;
   word oddWrap←v4944;
   {
   W15 var←c27492;
   register ptr gf←c27524 =  (ptr) &globalframe;
   /* declaration of var←c26276 skipped */ 
   /* declaration of var←c26308 skipped */ 
   /* declaration of var←c26340 skipped */ 
   /* declaration of var←c26372 skipped */ 
   /* declaration of var←c26404 skipped */ 
   /* declaration of data←v6796 skipped */ 
   word m←v6824;
   word wrap←v6852;
   /* MyMaskFill: */ 
SOURCE(4936, 912)
   {
      word tmpAddr52;
      tmpAddr52 = (word) (( (ptr) &var←c27492)+4)/* var←c26276 */ ;
      (*  (ptr) tmpAddr52 ) = ( ((word)  (fPt) myArcTo←P1764) );
      (* (( (ptr) tmpAddr52) + 1) ) = 1;
      };
   {
      word tmpAddr53;
      tmpAddr53 = (word) (( (ptr) &var←c27492)+6)/* var←c26308 */ ;
      (*  (ptr) tmpAddr53 ) = ( ((word)  (fPt) myConicTo←P1704) );
      (* (( (ptr) tmpAddr53) + 1) ) = 1;
      };
   {
      word tmpAddr54;
      tmpAddr54 = (word) (( (ptr) &var←c27492)+8)/* var←c26340 */ ;
      (*  (ptr) tmpAddr54 ) = ( ((word)  (fPt) myCurveTo←P1644) );
      (* (( (ptr) tmpAddr54) + 1) ) = 1;
      };
   {
      word tmpAddr55;
      tmpAddr55 = (word) (( (ptr) &var←c27492)+10)/* var←c26372 */ ;
      (*  (ptr) tmpAddr55 ) = ( ((word)  (fPt) myLineTo←P1584) );
      (* (( (ptr) tmpAddr55) + 1) ) = 1;
      };
   {
      word tmpAddr56;
      tmpAddr56 = (word) (( (ptr) &var←c27492)+12)/* var←c26404 */ ;
      (*  (ptr) tmpAddr56 ) = ( ((word)  (fPt) myMoveTo←P1524) );
      (* (( (ptr) tmpAddr56) + 1) ) = 1;
      };
SOURCE(5018, 33)
   (* (( (ptr) &var←c27492)+14)/* data←v6796 */  ) = XR←Narrow((* (( (ptr) context←v4888)+2) ), (* (( (ptr) gf←c27524)+15) ))
   ;
SOURCE(5053, 48)
   {
      word pd57;
      pd57 = (* (( (ptr) (* (( (ptr) gf←c27524)+58)/* var←c25796 */  ))+10) );
      m←v6824 = (word) ( *( (fPt) ((*  (ptr) pd57 ))))(context←v4888, pd57);
      };
SOURCE(5103, 39)
   wrap←v6852 =  ( (0 != oddWrap←v4944) ? 2 : 1 ) ;
SOURCE(5644, 80)
   {
      word pd58;
      pd58 = (* (( (ptr) (* (( (ptr) gf←c27524)+63)/* var←c26084 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd58 ))))(path←v4916, m←v6824, (word) (( (bPt) &var←c27492)+48)/* var←c26404 */ , (word) (( (bPt) &var←c27492)+40)
         /* var←c26372 */ , (word) (( (bPt) &var←c27492)+32)/* var←c26340 */ , (word) (( (bPt) &var←c27492)+24)/* var←c26308 */ 
         , (word) (( (bPt) &var←c27492)+16)/* var←c26276 */ , 0, pd58);
      };
SOURCE(5726, 44)
   if (((*  (ptr) (* (( (ptr) &var←c27492)+14)/* data←v6796 */  ) ) == 0)) {
SOURCE(5754, 16)
      (*  (ptr) (* (( (ptr) &var←c27492)+14)/* data←v6796 */  ) ) = wrap←v6852;
      };
SOURCE(5772, 43)
   if (((*  (ptr) (* (( (ptr) &var←c27492)+14)/* data←v6796 */  ) ) != wrap←v6852)) {
SOURCE(5797, 18)
      (* (( (ptr) (* (( (ptr) &var←c27492)+14)/* data←v6796 */  ))+1) ) = 1;
      };
SOURCE(5817, 31)
   {
      word pd59;
      pd59 = (* (( (ptr) (* (( (ptr) gf←c27524)+60)/* var←c25860 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd59 ))))(m←v6824, pd59);
      };
   }

static void myMoveTo←P1524(p←v17972, formal←c27588)
   W2 p←v17972;
   word formal←c27588;
   {
   register ptr gf←c27556 =  (ptr) &globalframe;
   formal←c27588 = (formal←c27588 - 48);
   /* myMoveTo: */ 
SOURCE(5144, 85)
SOURCE(5180, 49)
   {
      word var←c26436;
      {
         word var←c26468;
         word var←c26500;
         {
            word pd60;
            pd60 = (* (( (ptr) (* (( (ptr) gf←c27556)+63)/* var←c26084 */  ))+8) );
            var←c26468 = (word) ( *( (fPt) ((*  (ptr) pd60 ))))(p←v17972, pd60);
            };
         var←c26500 = XR←NewObject(8, (* (( (ptr) gf←c27556)+16) ));
         (*  (ptr) var←c26500 ) = var←c26468;
         (* (( (ptr) var←c26500)+1) ) = (* (( (ptr) (* (( (ptr) formal←c27588)+14) ))+2) );
         var←c26436 = var←c26500;
         };
      (* (( (ptr) (* (( (ptr) formal←c27588)+14) ))+2) ) = var←c26436;
      };
   }

static void myLineTo←P1584(p1←v18032, formal←c27652)
   W2 p1←v18032;
   word formal←c27652;
   {
   register ptr gf←c27620 =  (ptr) &globalframe;
   formal←c27652 = (formal←c27652 - 40);
   /* myLineTo: */ 
SOURCE(5234, 92)
SOURCE(5270, 56)
   {
      word var←c26532;
      {
         word pd61;
         pd61 = (* (( (ptr) (* (( (ptr) gf←c27620)+63)/* var←c26084 */  ))+9) );
         var←c26532 = (word) ( *( (fPt) ((*  (ptr) pd61 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) formal←c27652)+14) ))+2) ) ), p1←v18032, pd61)
         ;
         };
      (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c27652)+14) ))+2) ) ) = var←c26532;
      };
   }

static void myCurveTo←P1644(p1←v18092, p2←v18120, p3←v18148, formal←c27716)
   W2 p1←v18092;
   W2 p2←v18120;
   W2 p3←v18148;
   word formal←c27716;
   {
   register ptr gf←c27684 =  (ptr) &globalframe;
   formal←c27716 = (formal←c27716 - 32);
   /* myCurveTo: */ 
SOURCE(5331, 103)
SOURCE(5369, 65)
   {
      word var←c26564;
      {
         word pd62;
         pd62 = (* (( (ptr) (* (( (ptr) gf←c27684)+63)/* var←c26084 */  ))+12) );
         var←c26564 = (word) ( *( (fPt) ((*  (ptr) pd62 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) formal←c27716)+14) ))+2) ) ), p1←v18092, p2←v18120, p3←v18148, pd62)
         ;
         };
      (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c27716)+14) ))+2) ) ) = var←c26564;
      };
   }

static void myConicTo←P1704(p1←v18208, p2←v18236, r←v18264, formal←c27780)
   W2 p1←v18208;
   W2 p2←v18236;
   word r←v18264;
   word formal←c27780;
   {
   register ptr gf←c27748 =  (ptr) &globalframe;
   formal←c27780 = (formal←c27780 - 24);
   /* myConicTo: */ 
SOURCE(5439, 102)
SOURCE(5477, 64)
   {
      word var←c26596;
      {
         word pd63;
         pd63 = (* (( (ptr) (* (( (ptr) gf←c27748)+63)/* var←c26084 */  ))+13) );
         var←c26596 = (word) ( *( (fPt) ((*  (ptr) pd63 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) formal←c27780)+14) ))+2) ) ), p1←v18208, p2←v18236, r←v18264, pd63)
         ;
         };
      (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c27780)+14) ))+2) ) ) = var←c26596;
      };
   }

static void myArcTo←P1764(p1←v18324, p2←v18352, formal←c27844)
   W2 p1←v18324;
   W2 p2←v18352;
   word formal←c27844;
   {
   register ptr gf←c27812 =  (ptr) &globalframe;
   formal←c27844 = (formal←c27844 - 16);
   /* myArcTo: */ 
SOURCE(5546, 93)
SOURCE(5580, 59)
   {
      word var←c26628;
      {
         word pd64;
         pd64 = (* (( (ptr) (* (( (ptr) gf←c27812)+63)/* var←c26084 */  ))+14) );
         var←c26628 = (word) ( *( (fPt) ((*  (ptr) pd64 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) formal←c27844)+14) ))+2) ) ), p1←v18324, p2←v18352, pd64)
         ;
         };
      (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c27844)+14) ))+2) ) ) = var←c26628;
      };
   }

static void MyMaskRectangle←P540(context←v5004, formal←c0244)
   word context←v5004;
   W4 formal←c0244;
   {
   W10 var←c27876;
   /* declaration of r←v5032 skipped */ 
   register ptr gf←c27908 =  (ptr) &globalframe;
   /* declaration of var←c26660 skipped */ 
   (*  (W4Pt) (( (ptr) &var←c27876)+4)/* r←v5032 */  ) = formal←c0244;
   /* MyMaskRectangle: */ 
SOURCE(5854, 251)
   {
      word tmpAddr65;
      tmpAddr65 = (word) (( (ptr) &var←c27876)+8)/* var←c26660 */ ;
      (*  (ptr) tmpAddr65 ) = ( ((word)  (fPt) Path←P1824) );
      (* (( (ptr) tmpAddr65) + 1) ) = 1;
      };
SOURCE(6045, 60)
   {
      word pd66;
      pd66 = (* (( (ptr) (* (( (ptr) gf←c27908)+59)/* var←c25828 */  ))+62) );
      (void) ( *( (fPt) ((*  (ptr) pd66 ))))(context←v5004, (word) (( (bPt) &var←c27876)+32)/* var←c26660 */ , 1, pd66);
      };
   }

static void Path←P1824(moveTo←v18412, lineTo←v18440, curveTo←v18468, conicTo←v18496, arcTo←v18524, formal←c27940)
   word moveTo←v18412;
   word lineTo←v18440;
   word curveTo←v18468;
   word conicTo←v18496;
   word arcTo←v18524;
   word formal←c27940;
   {
   formal←c27940 = (formal←c27940 - 32);
   /* Path: */ 
SOURCE(5920, 120)
SOURCE(5946, 18)
   {
      W2 var←c26692;
      var←c26692.f0 = (* (( (ptr) formal←c27940)+4) );
      var←c26692.f1 = (* (( (ptr) formal←c27940)+5) );
      (void) ( *( (fPt) ((*  (ptr) moveTo←v18412 ))))(var←c26692, moveTo←v18412);
      };
SOURCE(5966, 22)
   {
      W2 var←c26724;
      {
         word x67;
         word x68;
         *(float*)&var←c26724.f0 = (
            x67 = (* (( (ptr) formal←c27940)+4) ),  *(float*)&x67
            ) + (
            x68 = (* (( (ptr) formal←c27940)+6) ),  *(float*)&x68
            );
         };
      var←c26724.f1 = (* (( (ptr) formal←c27940)+5) );
      (void) ( *( (fPt) ((*  (ptr) lineTo←v18440 ))))(var←c26724, lineTo←v18440);
      };
SOURCE(5990, 26)
   {
      W2 var←c26756;
      {
         word x69;
         word x70;
         *(float*)&var←c26756.f0 = (
            x69 = (* (( (ptr) formal←c27940)+4) ),  *(float*)&x69
            ) + (
            x70 = (* (( (ptr) formal←c27940)+6) ),  *(float*)&x70
            );
         };
      {
         word x71;
         word x72;
         *(float*)&var←c26756.f1 = (
            x71 = (* (( (ptr) formal←c27940)+5) ),  *(float*)&x71
            ) + (
            x72 = (* (( (ptr) formal←c27940)+7) ),  *(float*)&x72
            );
         };
      (void) ( *( (fPt) ((*  (ptr) lineTo←v18440 ))))(var←c26756, lineTo←v18440);
      };
SOURCE(6018, 22)
   {
      W2 var←c26788;
      var←c26788.f0 = (* (( (ptr) formal←c27940)+4) );
      {
         word x73;
         word x74;
         *(float*)&var←c26788.f1 = (
            x73 = (* (( (ptr) formal←c27940)+5) ),  *(float*)&x73
            ) + (
            x74 = (* (( (ptr) formal←c27940)+7) ),  *(float*)&x74
            );
         };
      (void) ( *( (fPt) ((*  (ptr) lineTo←v18440 ))))(var←c26788, lineTo←v18440);
      };
   }

static void MyMaskStroke←P600(context←v5092, path←v5120, closed←v5148)
   word context←v5092;
   word path←v5120;
   word closed←v5148;
   {
   register ptr gf←c27972 =  (ptr) &globalframe;
   word data←v7080;
   /* MyMaskStroke: */ 
SOURCE(6111, 136)
SOURCE(6194, 33)
   data←v7080 = XR←Narrow((* (( (ptr) context←v5092)+2) ), (* (( (ptr) gf←c27972)+15) ));
SOURCE(6229, 18)
   (* (( (ptr) data←v7080)+1) ) = 1;
   }

static void MyMaskPixel←P660(context←v5208, pa←v5236)
   word context←v5208;
   word pa←v5236;
   {
   register ptr gf←c28004 =  (ptr) &globalframe;
   word data←v7124;
   /* MyMaskPixel: */ 
SOURCE(6253, 117)
SOURCE(6317, 33)
   data←v7124 = XR←Narrow((* (( (ptr) context←v5208)+2) ), (* (( (ptr) gf←c28004)+15) ));
SOURCE(6352, 18)
   (* (( (ptr) data←v7124)+1) ) = 1;
   }

static void MyMaskVector←P720(context←v5296, p1←v5324, p2←v5352)
   word context←v5296;
   W2 p1←v5324;
   W2 p2←v5352;
   {
   register ptr gf←c28036 =  (ptr) &globalframe;
   word data←v7168;
   /* MyMaskVector: */ 
SOURCE(6376, 108)
SOURCE(6431, 33)
   data←v7168 = XR←Narrow((* (( (ptr) context←v5296)+2) ), (* (( (ptr) gf←c28036)+15) ));
SOURCE(6466, 18)
   (* (( (ptr) data←v7168)+1) ) = 1;
   }

static void MyMaskBitmap←P780(context←v5412, bitmap←v5440, referencePoint←v5468, scanMode←v5496, position←v5524)
   word context←v5412;
   word bitmap←v5440;
   W2 referencePoint←v5468;
   word scanMode←v5496;
   W2 position←v5524;
   {
   register ptr gf←c28068 =  (ptr) &globalframe;
   word data←v7212;
   /* MyMaskBitmap: */ 
SOURCE(6490, 173)
SOURCE(6610, 33)
   data←v7212 = XR←Narrow((* (( (ptr) context←v5412)+2) ), (* (( (ptr) gf←c28068)+15) ));
SOURCE(6645, 18)
   (* (( (ptr) data←v7212)+1) ) = 1;
   }

static void MyDrawBitmap←P840(context←v5584, bitmap←v5612, referencePoint←v5640, scanMode←v5668, position←v5696)
   word context←v5584;
   word bitmap←v5612;
   W2 referencePoint←v5640;
   word scanMode←v5668;
   W2 position←v5696;
   {
   register ptr gf←c28100 =  (ptr) &globalframe;
   word data←v7256;
   /* MyDrawBitmap: */ 
SOURCE(6669, 173)
SOURCE(6789, 33)
   data←v7256 = XR←Narrow((* (( (ptr) context←v5584)+2) ), (* (( (ptr) gf←c28100)+15) ));
SOURCE(6824, 18)
   (* (( (ptr) data←v7256)+1) ) = 1;
   }

static void MyDrawPixels←P900(context←v5756, pixelMap←v5784, colorOperator←v5812, referencePoint←v5840, scanMode←v5868, position←v5896)
   word context←v5756;
   word pixelMap←v5784;
   word colorOperator←v5812;
   W2 referencePoint←v5840;
   word scanMode←v5868;
   W2 position←v5896;
   {
   register ptr gf←c28132 =  (ptr) &globalframe;
   word data←v7300;
   /* MyDrawPixels: */ 
SOURCE(6848, 218)
SOURCE(7013, 33)
   data←v7300 = XR←Narrow((* (( (ptr) context←v5756)+2) ), (* (( (ptr) gf←c28132)+15) ));
SOURCE(7048, 18)
   (* (( (ptr) data←v7300)+1) ) = 1;
   }

static word InitMapCharContextClass←P960()
   {
   register ptr gf←c28164 =  (ptr) &globalframe;
   word var←c5956;
   word new←v7344;
   /* InitMapCharContextClass: */ 
SOURCE(7142, 423)
SOURCE(7206, 67)
   {
      word pd75;
      pd75 = (* (( (ptr) (* (( (ptr) gf←c28164)+65)/* var←c26212 */  ))+4) );
      new←v7344 = (word) ( *( (fPt) ((*  (ptr) pd75 ))))((* ((( (ptr) gf←c28164)+21)) ), pd75);
      };
SOURCE(7275, 25)
   (* (( (ptr) new←v7344)+40) ) = (word) (( (bPt) gf←c28164)+176)/* var←c25540 */ ;
SOURCE(7302, 35)
   (* (( (ptr) new←v7344)+41) ) = (word) (( (bPt) gf←c28164)+168)/* var←c25508 */ ;
SOURCE(7339, 29)
   (* (( (ptr) new←v7344)+42) ) = (word) (( (bPt) gf←c28164)+160)/* var←c25476 */ ;
SOURCE(7370, 27)
   (* (( (ptr) new←v7344)+43) ) = (word) (( (bPt) gf←c28164)+152)/* var←c25444 */ ;
SOURCE(7399, 29)
   (* (( (ptr) new←v7344)+47) ) = (word) (( (bPt) gf←c28164)+144)/* var←c25412 */ ;
SOURCE(7430, 60)
   (* (( (ptr) new←v7344)+48) ) = (* (( (ptr) (* (( (ptr) gf←c28164)+66)/* var←c26820 */  ))+8) );
SOURCE(7492, 29)
   (* (( (ptr) new←v7344)+49) ) = (word) (( (bPt) gf←c28164)+136)/* var←c25380 */ ;
SOURCE(7523, 29)
   (* (( (ptr) new←v7344)+51) ) = (word) (( (bPt) gf←c28164)+120)/* var←c25316 */ ;
SOURCE(7554, 11)
   return(new←v7344);
   }

static void MySetColor←P1020(device←v6016, color←v6044, viewToDevice←v6072)
   word device←v6016;
   word color←v6044;
   word viewToDevice←v6072;
   {
   /* MySetColor: */ 
   }

static void MyMaskBoxes←P1080(device←v6132, bounds←v6160, boxes←v6188)
   word device←v6132;
   W4 bounds←v6160;
   word boxes←v6188;
   {
   /* MyMaskBoxes: */ 
   }

static word InitMapCharDeviceClass←P1140()
   {
   register ptr gf←c28196 =  (ptr) &globalframe;
   word var←c6248;
   /* InitMapCharDeviceClass: */ 
SOURCE(7828, 158)
SOURCE(7896, 90)
   {
      word var←c26884;
      var←c26884 = XR←NewObject(60, (* (( (ptr) gf←c28196)+20) ));
      (*  (ptr) var←c26884 ) = (word) (( (bPt) gf←c28196)+104)/* var←c25252 */ ;
      (* (( (ptr) var←c26884)+1) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+2) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+3) ) = (word) (( (bPt) gf←c28196)+96)/* var←c25220 */ ;
      (* (( (ptr) var←c26884)+4) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+5) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+6) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+7) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+8) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+9) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+10) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+11) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+12) ) = XR←CheckProc(0);
      (* (( (ptr) var←c26884)+13) ) = XR←CheckProc(0);
      return(var←c26884);
      };
   }

static void NoName←Q2220(formal←c0168, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0168;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0218 =  (ptr) &globalframe;
   if ((formal←c200009 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0218)+16)/* LOCK←v3028 */ ));
      };
   (*  (ptr) formal←c0168 ) = 0;
   (* (( (ptr) formal←c0168)+1) ) = 0;
   return;
   }

static void NoName←Q2280(formal←c0173, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0173;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0219 =  (ptr) &globalframe;
   if ((formal←c200005 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0219)+16)/* LOCK←v3028 */ ));
      };
   (*  (ptr) formal←c0173 ) = 0;
   (* (( (ptr) formal←c0173)+1) ) = 0;
   return;
   }

static void NoName←Q2340(formal←c0179, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0179;
   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)+59)/* var←c25828 */  ))+6) ) ))) {
      {
         W3 error←v16448;
         error←v16448 = (*  (W3Pt) formal←c200003 );
SOURCE(1653, 41)
         {
            word pd76;
            word x77;
            word x79;
            float tf80;
            pd76 = (* (( (ptr) (* (( (ptr) gf←c0220)+60)/* var←c25860 */  ))+7) );
            (* (( (ptr) formal←c200000)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd76 ))))((
                  tf80 = (
                     x77 = (*  (ptr) &fc26 ),  *(float*)&x77
                     ) / (
                     x79 = (*  (ptr) &fc78 ),  *(float*)&x79
                     ),  *(word*)&tf80
                  ), pd76);
            };
         };
      };
   (*  (ptr) formal←c0179 ) = 0;
   (* (( (ptr) formal←c0179)+1) ) = 0;
   return;
   }

/* file: ImagerFontWorksImpl, module: ImagerFontWorksImpl, compiled at: July 28, 1993 10:19:03 am PDT */ 
extern void XR←install←ImagerFontWorksImpl() {
   NoName←Q1980();
   }
extern void XR←run←ImagerFontWorksImpl() { XR←Start(&globalframe); }