/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 28, 1993 10:18:22 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerFDTypefaceImpl, module: ImagerFDTypefaceImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [70224946,451444306] ImagerFDTypefaceImpl";
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, f5;} W6;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W3 r;} W11;
static float fc1 = 0.9875;
static float fc2 = 1.0125;
#define SOURCE(p, l) /* source p, l */
static float fc52 = 1.0;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static float fc71 = 0.5;
static float fc72 = 0.0;
static float fc83 = -0.05;
static float fc84 = 0.45;
static float fc85 = 0.6;
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc139 = 90.0;
static float fc142 = 45.0;
static float fc148 = 1.666667E-2;
static float fc162 = 0.05;
static float fc163 = 0.4;
#define INEG(x)  ( (word) ( - ((int) (word) (x)) ) )
static void NoName←Q5148();
static void ImagerFDTypefaceImpl←P0();
static word FDCreate←P60();
static word NoName←Q5208();
static word GetRun←P120();
static word FDContains←P180();
static word FDNextChar←P240();
static void FetchCharInfo←P300();
static word FetchCharInfoRun←P360();
static void FDEscapement←P420();
static word FDAmplified←P480();
static word FDCorrection←P540();
static void FDBoundingBox←P600();
static void FDFontBoundingBox←P660();
static void FDKern←P720();
static word FDNextKern←P780();
static word FDLigature←P840();
static word FDNextLigature←P900();
static word RawHash←P960();
static word TransformationHash←P1020();
static word TransformationEqual←P1080();
static word TransformationIndexFromTransformation←P1140();
static void Update←P3120();
static word Right←P3324();
static word SelectTransformationIndex←P1200();
static word NoName←Q5268();
static word InstantiateTypeface←P1260();
static word NoName←Q5328();
static void FDMask←P1320();
static word FDMakeCharMask←P1380();
static word FromStream←P1440();
static word NoName←Q5388();
static void Inner←P3888();
static void GetExtents←P1500();
static word GetRealSeq←P1560();
static word GetTransformationSeq←P1620();
static word GetTransformation←P1680();
static word GetTypefaceCellSeq←P1740();
static word GetCharInfoRunSeq←P1800();
static word GetTypefaceCell←P1860();
static word GetOverflowCharInfoSeq←P1920();
static word GetVerboseCharInfo←P1980();
static void GetVEC←P2040();
static word GetPropList←P2100();
static word GetCharInfoRun←P2160();
static word GetCharRuns←P2220();
static word GetCARD32←P2280();
static word GetBYTE←P2340();
static word GetCount←P2400();
static word GetIdentifier←P2460();
static word GetInteger←P2520();
static word GetREAL←P2580();
static void NoName←Q5448();
static void NoName←Q5508();
static void NoName←Q5568();
static void NoName←Q5628();
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\200\000\000"};
static struct {unsigned f; char r[8];} string4 = {458759, "\006\002\000\001@@\001"};
static struct {unsigned f; char r[4];} string5 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string6 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\230\000\000"};
static struct {unsigned f; char r[16];} string8 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\274\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\101\064\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\003\006\000"};
static struct {unsigned f; char r[44];} string12 = {2752556, "\260\006\005\146\151\162\163\164\257\300\240\236\274\171\300\344\000\142\023\100\200\005\004\162\145\163\164\214\257\300\240\236\274\171\300\344\000\142\023\100\200\261\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\004\007\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\101\050\000\000"};
static struct {unsigned f; char r[12];} string15 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\164\000\000"};
static struct {unsigned f; char r[4];} string17 = {196611, "\004@\357"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\164\000\000"};
static struct {unsigned f; char r[36];} string19 = {2228258, "\006\015\020\001\024\001\030\001\034\001\040\001\044\001\050\001\054\001\060\001\064\001\070\001\074\001\100\100\010\000\004\101\000\001\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\164\000\000"};
static struct {unsigned f; char r[4];} string21 = {65540, "\242\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\101\304\000\000"};
static struct {unsigned f; char r[4];} string23 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\340\000\000"};
static struct {unsigned f; char r[4];} string25 = {131074, "\004\013\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\260\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\200\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\214\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\324\000\000"};
static struct {unsigned f; char r[16];} string30 = {983056, "badFileTypeCode"};
static struct {unsigned f; char r[12];} string31 = {655372, "rangeError\000"};
static struct {unsigned f; char r[20];} string32 = {1245204, "unexpectedEndOfFile"};
static struct {unsigned f; char r[8];} string33 = {262152, "name\000\000\000"};
static struct {unsigned f; char r[44];} string34 = {2818092, "Font file %g is malformed (byte index = %g)"};
static struct {unsigned f; char r[4];} string35 = {131076, "FD\000"};
static struct {unsigned f; char r[16];} string36 = {983056, "charsOutOfOrder"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\004\057\214\062\300\032\350\176\122\100\164\000\000"};
static struct {unsigned f; char r[12];} string38 = {720907, "\006\003\050\001\054\001\100\240\004\100\377"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\170\064\225\306\300\207\372\245\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\045\370\116\014\300\270\323\074\131\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\041\257\203\366\300\322\161\356\007\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\150\000\000"};
static struct {
   word f0[149]; 
   } globalframe = {
   {0}
   };

static void NoName←Q5148()
   {
   register ptr gf←c0471 =  (ptr) &globalframe;
   word var←c43608;
   (* (( (ptr) gf←c0471)+8)/* minScale←v4064 */  ) = (*  (ptr) &fc1 );
   (* (( (ptr) gf←c0471)+9)/* maxScale←v4092 */  ) = (*  (ptr) &fc2 );
   (* (( (ptr) gf←c0471)+135) ) = ( ((word)  (fPt) ImagerFDTypefaceImpl←P0) );
   (* (( (ptr) gf←c0471)+133) ) = ( ((word)  (fPt) FDCreate←P60) );
   (* (( (ptr) gf←c0471)+131) ) = ( ((word)  (fPt) GetRun←P120) );
   (* (( (ptr) gf←c0471)+129) ) = ( ((word)  (fPt) FDContains←P180) );
   (* (( (ptr) gf←c0471)+127) ) = ( ((word)  (fPt) FDNextChar←P240) );
   (* (( (ptr) gf←c0471)+125) ) = ( ((word)  (fPt) FetchCharInfo←P300) );
   (* (( (ptr) gf←c0471)+123) ) = ( ((word)  (fPt) FetchCharInfoRun←P360) );
   (* (( (ptr) gf←c0471)+121) ) = ( ((word)  (fPt) FDEscapement←P420) );
   (* (( (ptr) gf←c0471)+119) ) = ( ((word)  (fPt) FDAmplified←P480) );
   (* (( (ptr) gf←c0471)+117) ) = ( ((word)  (fPt) FDCorrection←P540) );
   (* (( (ptr) gf←c0471)+115) ) = ( ((word)  (fPt) FDBoundingBox←P600) );
   (* (( (ptr) gf←c0471)+113) ) = ( ((word)  (fPt) FDFontBoundingBox←P660) );
   (* (( (ptr) gf←c0471)+111) ) = ( ((word)  (fPt) FDKern←P720) );
   (* (( (ptr) gf←c0471)+109) ) = ( ((word)  (fPt) FDNextKern←P780) );
   (* (( (ptr) gf←c0471)+107) ) = ( ((word)  (fPt) FDLigature←P840) );
   (* (( (ptr) gf←c0471)+105) ) = ( ((word)  (fPt) FDNextLigature←P900) );
   (* (( (ptr) gf←c0471)+103) ) = ( ((word)  (fPt) RawHash←P960) );
   (* (( (ptr) gf←c0471)+101) ) = ( ((word)  (fPt) TransformationHash←P1020) );
   (* (( (ptr) gf←c0471)+99) ) = ( ((word)  (fPt) TransformationEqual←P1080) );
   (* (( (ptr) gf←c0471)+97) ) = ( ((word)  (fPt) TransformationIndexFromTransformation←P1140) );
   (* (( (ptr) gf←c0471)+95) ) = ( ((word)  (fPt) SelectTransformationIndex←P1200) );
   (* (( (ptr) gf←c0471)+93) ) = ( ((word)  (fPt) InstantiateTypeface←P1260) );
   (* (( (ptr) gf←c0471)+91) ) = ( ((word)  (fPt) FDMask←P1320) );
   (* (( (ptr) gf←c0471)+89) ) = ( ((word)  (fPt) FDMakeCharMask←P1380) );
   (* (( (ptr) gf←c0471)+87) ) = ( ((word)  (fPt) FromStream←P1440) );
   (* (( (ptr) gf←c0471)+85) ) = ( ((word)  (fPt) GetExtents←P1500) );
   (* (( (ptr) gf←c0471)+83) ) = ( ((word)  (fPt) GetRealSeq←P1560) );
   (* (( (ptr) gf←c0471)+81) ) = ( ((word)  (fPt) GetTransformationSeq←P1620) );
   (* (( (ptr) gf←c0471)+79) ) = ( ((word)  (fPt) GetTransformation←P1680) );
   (* (( (ptr) gf←c0471)+77) ) = ( ((word)  (fPt) GetTypefaceCellSeq←P1740) );
   (* (( (ptr) gf←c0471)+75) ) = ( ((word)  (fPt) GetCharInfoRunSeq←P1800) );
   (* (( (ptr) gf←c0471)+73) ) = ( ((word)  (fPt) GetTypefaceCell←P1860) );
   (* (( (ptr) gf←c0471)+71) ) = ( ((word)  (fPt) GetOverflowCharInfoSeq←P1920) );
   (* (( (ptr) gf←c0471)+69) ) = ( ((word)  (fPt) GetVerboseCharInfo←P1980) );
   (* (( (ptr) gf←c0471)+67) ) = ( ((word)  (fPt) GetVEC←P2040) );
   (* (( (ptr) gf←c0471)+65) ) = ( ((word)  (fPt) GetPropList←P2100) );
   (* (( (ptr) gf←c0471)+63) ) = ( ((word)  (fPt) GetCharInfoRun←P2160) );
   (* (( (ptr) gf←c0471)+61) ) = ( ((word)  (fPt) GetCharRuns←P2220) );
   (* (( (ptr) gf←c0471)+59) ) = ( ((word)  (fPt) GetCARD32←P2280) );
   (* (( (ptr) gf←c0471)+57) ) = ( ((word)  (fPt) GetBYTE←P2340) );
   (* (( (ptr) gf←c0471)+55) ) = ( ((word)  (fPt) GetCount←P2400) );
   (* (( (ptr) gf←c0471)+53) ) = ( ((word)  (fPt) GetIdentifier←P2460) );
   (* (( (ptr) gf←c0471)+51) ) = ( ((word)  (fPt) GetInteger←P2520) );
   (* (( (ptr) gf←c0471)+49) ) = ( ((word)  (fPt) GetREAL←P2580) );
   (* (( (ptr) gf←c0471)+12) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0471)+13) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0471)+14) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string6);
   (* (( (ptr) gf←c0471)+19) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string6);
   (* (( (ptr) gf←c0471)+20) ) = (word) XR←GetTypeIndexS((word) (&string9));
   (* (( (ptr) gf←c0471)+21) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0471)+22) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (* (( (ptr) gf←c0471)+23) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0471)+25) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (* (( (ptr) gf←c0471)+29) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19);
   (* (( (ptr) gf←c0471)+30) ) = (word) XR←GetTypeIndexS((word) (&string20));
   (* (( (ptr) gf←c0471)+31) ) = (word) XR←GetTypeIndexS((word) (&string21));
   (* (( (ptr) gf←c0471)+32) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23);
   (* (( (ptr) gf←c0471)+35) ) = (word) XR←GetTypeIndex((word) &string24, 0, (word) &string25);
   (* (( (ptr) gf←c0471)+36) ) = (word) XR←GetTypeIndex((word) &string26, 0, (word) &string15);
   (* (( (ptr) gf←c0471)+37) ) = (word) XR←GetTypeIndexS((word) (&string27));
   (* (( (ptr) gf←c0471)+38) ) = (word) XR←GetTypeIndex((word) &string28, 0, (word) &string15);
   (* (( (ptr) gf←c0471)+39) ) = (word) XR←GetTypeIndex((word) &string29, 0, (word) &string15);
   (*  (ptr) (( (bPt) gf←c0471)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0471)+13) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0471)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0471)+13) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0471)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0471)+13) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0471)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0471)+13) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0471)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0471)+19) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0471)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0471)+19) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0471)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0471)+13) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0471)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0471)+13) ), (word) &string36);
   (void) XR←DeclareGlobalFrame((word) "ImagerFDTypefaceImpl", &globalframe, (word) XR←GetTypeIndex((word) &string37, 0, (word) &string38)
      , (word) (( (bPt) gf←c0471)+540)/* var←c38904 */ );
   var←c43608 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string39)), 16);
   (* (( (ptr) gf←c0471)+146)/* var←c42840 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 67895555);
   var←c43608 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string40)), 84);
   (* (( (ptr) gf←c0471)+140)/* var←c39096 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 526850);
   (void) XR←ImportProcS(var←c43608, 1326338);
   var←c43608 = (word) XR←ImportInterface((word) "ImagerBackdoor", (word) XR←GetTypeIndexS((word) (&string41)), 42);
   (* (( (ptr) gf←c0471)+143)/* var←c40888 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 67899395);
   var←c43608 = (word) XR←ImportInterface((word) "ImagerError", (word) XR←GetTypeIndexS((word) (&string42)), 3);
   (* (( (ptr) gf←c0471)+144)/* var←c41016 */  ) = var←c43608;
   var←c43608 = (word) XR←ImportInterface((word) "ImagerSys", (word) XR←GetTypeIndexS((word) (&string43)), 15);
   (* (( (ptr) gf←c0471)+139)/* var←c39064 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 67374081);
   var←c43608 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string44)), 55);
   (* (( (ptr) gf←c0471)+137)/* var←c38936 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 68681734);
   (void) XR←ImportProcS(var←c43608, 402927105);
   (void) XR←ImportProcS(var←c43608, 67635458);
   (void) XR←ImportProcS(var←c43608, 67383041);
   (void) XR←ImportProcS(var←c43608, 262401);
   (void) XR←ImportProcS(var←c43608, 67371521);
   (void) XR←ImportProcS(var←c43608, 67645698);
   (void) XR←ImportProcS(var←c43608, 67371777);
   var←c43608 = (word) XR←ImportInterface((word) "ImagerTypeface", (word) XR←GetTypeIndexS((word) (&string45)), 12);
   (* (( (ptr) gf←c0471)+138)/* var←c39032 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 67634178);
   (void) XR←ImportProcS(var←c43608, 67371777);
   (void) XR←ImportProcS(var←c43608, 67895299);
   (void) XR←ImportProcS(var←c43608, 67635202);
   (void) XR←ImportProcS(var←c43608, 526082);
   var←c43608 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string46)), 103);
   (* (( (ptr) gf←c0471)+141)/* var←c39256 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 67917827);
   (void) XR←ImportProcS(var←c43608, 67372801);
   (void) XR←ImportProcS(var←c43608, 67377409);
   (void) XR←ImportProcS(var←c43608, 530434);
   (void) XR←ImportProcS(var←c43608, 68958724);
   var←c43608 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string47)), 11);
   (* (( (ptr) gf←c0471)+147)/* var←c43576 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 67633154);
   var←c43608 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string48)), 16);
   (* (( (ptr) gf←c0471)+142)/* var←c40664 */  ) = var←c43608;
   (void) XR←ImportProcS(var←c43608, 67895555);
   (void) XR←ImportProcS(var←c43608, 788995);
   var←c43608 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string49)), 27);
   (* (( (ptr) gf←c0471)+145)/* var←c41560 */  ) = var←c43608;
   var←c43608 = (word) XR←ExportInterface((word) "ImagerFDTypeface", (word) XR←GetTypeIndexS((word) (&string50)), 2);
   (* (( (ptr) gf←c0471)+148)/* var←c43640 */  ) = var←c43608;
   (void) XR←ExportProcS(var←c43608, (word) (( (bPt) gf←c0471)+348)/* var←c38136 */ , 67371009, (word) "FromStream");
   (void) XR←ExportVar(var←c43608, 1, (word) (( (bPt) gf←c0471)+192)/* var←c37496 */ );
   }

static void ImagerFDTypefaceImpl←P0(formal←c077, formal←c074)
   word formal←c077;
   word formal←c074;
   {
   register ptr gf←c43672 =  (ptr) &globalframe;
   /* ImagerFDTypefaceImpl: */ 
SOURCE(1342, 17795)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(8944, 56)
   {
      word pd51;
      pd51 = (* (( (ptr) (* (( (ptr) gf←c43672)+137)/* var←c38936 */  ))+7) );
      (* (( (ptr) gf←c43672)+10)/* identity←v4176 */  ) = (word) ( *( (fPt) ((*  (ptr) pd51 ))))((*  (ptr) (&fc52) ), pd51);
      };
SOURCE(12068, 408)
   {
      word var←c38968;
      var←c38968 = XR←NewObject(68, (* (( (ptr) gf←c43672)+12) ));
      (*  (ptr) var←c38968 ) = (* (( (ptr) gf←c43672)+46) );
      (* (( (ptr) var←c38968)+2) ) = (word) (( (bPt) gf←c43672)+516)/* var←c38808 */ ;
      (* (( (ptr) var←c38968)+3) ) = (word) (( (bPt) gf←c43672)+508)/* var←c38776 */ ;
      (* (( (ptr) var←c38968)+4) ) = (word) (( (bPt) gf←c43672)+484)/* var←c38680 */ ;
      (* (( (ptr) var←c38968)+5) ) = (word) (( (bPt) gf←c43672)+476)/* var←c38648 */ ;
      (* (( (ptr) var←c38968)+6) ) = (word) (( (bPt) gf←c43672)+468)/* var←c38616 */ ;
      (* (( (ptr) var←c38968)+7) ) = (word) (( (bPt) gf←c43672)+460)/* var←c38584 */ ;
      (* (( (ptr) var←c38968)+8) ) = (word) (( (bPt) gf←c43672)+452)/* var←c38552 */ ;
      (* (( (ptr) var←c38968)+9) ) = (word) (( (bPt) gf←c43672)+428)/* var←c38456 */ ;
      (* (( (ptr) var←c38968)+10) ) = (word) (( (bPt) gf←c43672)+420)/* var←c38424 */ ;
      (* (( (ptr) var←c38968)+11) ) = (word) (( (bPt) gf←c43672)+444)/* var←c38520 */ ;
      (* (( (ptr) var←c38968)+12) ) = (word) (( (bPt) gf←c43672)+436)/* var←c38488 */ ;
      (* (( (ptr) var←c38968)+13) ) = (word) (( (bPt) gf←c43672)+364)/* var←c38200 */ ;
      (* (( (ptr) var←c38968)+14) ) = (word) (( (bPt) gf←c43672)+356)/* var←c38168 */ ;
      (* (( (ptr) var←c38968)+15) ) = XR←CheckProc(0);
      (* (( (ptr) gf←c43672)+11)/* fdClass←v4288 */  ) = var←c38968;
      };
SOURCE(19027, 110)
   {
      word var←c39000;
      {
         word pd53;
         pd53 = (* (( (ptr) (* (( (ptr) gf←c43672)+138)/* var←c39032 */  ))+12) );
         var←c39000 = (word) ( *( (fPt) ((*  (ptr) pd53 ))))((* (( (ptr) gf←c43672)+45) ), (word) (( (bPt) gf←c43672)+532)/* var←c38872 */ , pd53)
         ;
         };
      {
         word pd54;
         pd54 = (* (( (ptr) (* (( (ptr) gf←c43672)+138)/* var←c39032 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd54 ))))(var←c39000, 1, pd54);
         };
      };
   }

static word FDCreate←P60(formal←c0538)
   word formal←c0538;
   {
   W6 var←c43704;
   /* declaration of stream←v4956 skipped */ 
   register ptr gf←c43736 =  (ptr) &globalframe;
   word var←c5000;
   word data←v10064;
   var←c43704.f4/* stream←v4956 */  = formal←c0538;
   /* FDCreate: */ 
SOURCE(1864, 7914)
SOURCE(1922, 48)
   {
      /* declaration of var←c01 skipped */ 
      {
         word var←c0521;
         var←c0521 = (word) &var←c43704;
          (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q5208) ), ( ((word)  (fPt) NoName←Q5628) ), var←c0521);
         };
      data←v10064 = var←c43704.f5/* var←c01 */ ;
      };
SOURCE(2174, 16)
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c43736)+141)/* var←c39256 */  ))+28) );
      (void) ( *( (fPt) ((*  (ptr) pd55 ))))(var←c43704.f4/* stream←v4956 */ , 0, pd55);
      };
SOURCE(2192, 7586)
   {
      word var←c39448;
      var←c39448 = XR←NewObject(32, (* (( (ptr) gf←c43736)+25) ));
      (*  (ptr) var←c39448 ) = (* (( (ptr) gf←c43736)+11)/* fdClass←v4288 */  );
      (* (( (ptr) var←c39448)+1) ) = data←v10064;
      (* (( (ptr) var←c39448)+4) ) = 2147483647;
      return(var←c39448);
      };
   }

static word NoName←Q5208(formal←c0474)
   word formal←c0474;
   {
SOURCE(1922, 48)
   (* (( (ptr) formal←c0474)+5) ) = (word) FromStream←P1440((* ((( (ptr) formal←c0474)+4)) ));
   return(0);
   }

static word GetRun←P120(data←v5060, char←v5088)
   word data←v5060;
   word char←v5088;
   {
   word var←c5132;
   word set←v10152;
   /* GetRun: */ 
SOURCE(2268, 7510)
SOURCE(2337, 26)
   set←v10152 = ((word) char←v5088 >> 8);
SOURCE(2365, 36)
   if ((set←v10152 > 255)) {
SOURCE(2389, 12)
      return(0);
      };
SOURCE(2403, 7375)
   {
      register word this←v10196;
      this←v10196 = (* ((( (ptr) data←v5060)+16)+BCK(set←v10152, 256)) );
      lab←L100005: ;
      if ((this←v10196 != 0)) {
         }
      else {
         goto lab←L100002;
         };
SOURCE(2474, 7304)
      if (((char←v5088 & 0377) < (* (( (ptr) this←v10196)+1) ))) {
SOURCE(2508, 12)
         return(0);
         };
SOURCE(2522, 7256)
      if (((char←v5088 & 0377) <= (* (( (ptr) this←v10196)+2) ))) {
SOURCE(2557, 13)
         return(this←v10196);
         };
      this←v10196 = (*  (ptr) this←v10196 );
      goto lab←L100005;
      lab←L100002: ;
      };
SOURCE(2581, 13)
   return(0);
   }

static word FDContains←P180(self←v5204, char←v5232)
   word self←v5204;
   word char←v5232;
   {
   register ptr gf←c43768 =  (ptr) &globalframe;
   word var←c5276;
   word data←v10240;
   /* FDContains: */ 
SOURCE(2598, 7180)
SOURCE(2664, 30)
   data←v10240 = XR←Narrow((* (( (ptr) self←v5204)+1) ), (* (( (ptr) gf←c43768)+29) ));
SOURCE(2696, 7082)
   return( (unsigned) ((word) GetRun←P120(data←v10240, char←v5232) != 0));
   }

static word FDNextChar←P240(self←v5336, char←v5364)
   word self←v5336;
   word char←v5364;
   {
   register ptr gf←c43800 =  (ptr) &globalframe;
   word next←v5408;
   word data←v10284;
   word bump←v10312;
   /* FDNextChar: */ 
SOURCE(2735, 7043)
SOURCE(2808, 30)
   data←v10284 = XR←Narrow((* (( (ptr) self←v5336)+1) ), (* (( (ptr) gf←c43800)+29) ));
SOURCE(2840, 71)
   bump←v10312 =  ( (char←v5364 ==  (word) -1) ? 0 : (char←v5364 + 1) ) ;
SOURCE(2913, 6865)
   {
      word set←v37420;
      word code←v37448;
      {
         word x56;
         set←v37420 = (x56 = ((word) bump←v10312 >> 8),
            MIN( (unsigned) , x56, 255));
         };
      code←v37448 = (bump←v10312 & 0377);
      next←v5408 = (((word) set←v37420 << 8) + code←v37448);
      };
SOURCE(2965, 6813)
   lab←L100009: ;
SOURCE(2968, 6810)
   {
      register word this←v10356;
      {
         word idx57;
         this←v10356 = (* ((( (ptr) data←v10284)+16)+(
               idx57 = (word) ((word) next←v5408 >> 8),
               BCK(idx57, 256)
               )) );
         };
      lab←L100013: ;
      if ((this←v10356 != 0)) {
         }
      else {
         goto lab←L100010;
         };
SOURCE(3050, 6728)
      if (((next←v5408 & 0377) < (* (( (ptr) this←v10356)+1) ))) {
SOURCE(3085, 6693)
         {
            word var←c39544;
            word set←v37344;
            word code←v37372;
            set←v37344 = ((word) next←v5408 >> 8);
            code←v37372 = (* (( (ptr) this←v10356)+1) );
            var←c39544 = (((word) set←v37344 << 8) + code←v37372);
            next←v5408 = var←c39544;
            };
SOURCE(3128, 6)
         return(next←v5408);
         };
SOURCE(3137, 6641)
      if (((next←v5408 & 0377) <= (* (( (ptr) this←v10356)+2) ))) {
SOURCE(3172, 6)
         return(next←v5408);
         };
      this←v10356 = (*  (ptr) this←v10356 );
      goto lab←L100013;
      lab←L100010: ;
      };
SOURCE(3189, 6589)
   if ((((word) next←v5408 >> 8) == 255)) {
SOURCE(3224, 29)
      return( (word) -1);
      };
SOURCE(3255, 6523)
   {
      word var←c39576;
      word set←v37296;
      {
         word idx58;
         set←v37296 = (
            idx58 = (word) (((word) next←v5408 >> 8) + 1),
            BCK(idx58, 16777216)
            );
         };
      var←c39576 = ((word) set←v37296 << 8);
      next←v5408 = var←c39576;
      };
   goto lab←L100009;
   }

static void FetchCharInfo←P300(formal←c0111, data←v5468, run←v5496, char←v5524)
   word formal←c0111;
   word data←v5468;
   word run←v5496;
   word char←v5524;
   {
   W3 var←c5580;
   word charInfoRun←v10400;
   /* FetchCharInfo: */ 
SOURCE(3307, 6471)
SOURCE(3398, 54)
   charInfoRun←v10400 = (word) FetchCharInfoRun←P360(data←v5468, run←v5496);
SOURCE(3454, 6324)
   {
      W3 var←c39640;
      {
         word var←c39608;
         {
            word x59;
            word x60;
            var←c39608 = (x59 = ((char←v5524 & 0377) - (* (( (ptr) run←v5496)+1) )),
               x60 = ((* (( (ptr) charInfoRun←v10400)+3) ) - 1),
               MIN((int)(word), x59, x60));
            };
         {
            word limit61;
            var←c39640 = (* (( (W3Pt) (( (ptr) charInfoRun←v10400)+4))+(
                  limit61 = (* (( (ptr) charInfoRun←v10400)+3) ),
                  BCK(var←c39608, limit61)
                  )) );
            };
         };
      var←c5580 = var←c39640;
      /* removed tail goto */ 
      };
   (*  (W3Pt) formal←c0111 ) = var←c5580;
   return;
   }

static word FetchCharInfoRun←P360(data←v5640, run←v5668)
   word data←v5640;
   word run←v5668;
   {
   word var←c5724;
   /* FetchCharInfoRun: */ 
SOURCE(3529, 6249)
SOURCE(3613, 6165)
   {
      word var←c39672;
      word var←c39704;
      {
         word limit62;
         var←c39672 = (
            limit62 = (* (( (ptr) run←v5668)+3) ),
            BCK(0, limit62)
            );
         };
      var←c39704 = (* (( (ptr) data←v5640)+13) );
      {
         word idx63;
         word limit64;
         return((* ((( (ptr) var←c39704)+1)+(
               idx63 = (word) (* (( (W2Pt) (( (ptr) run←v5668)+4))+var←c39672) ).f1,
               limit64 = (*  (ptr) var←c39704 ),
               BCK(idx63, limit64)
               )) ));
         };
      };
   }

static void FDEscapement←P420(formal←c0135, self←v5784, char←v5812)
   word formal←c0135;
   word self←v5784;
   word char←v5812;
   {
   register ptr gf←c43832 =  (ptr) &globalframe;
   W2 var←c5856;
   word data←v10444;
   word run←v10472;
   /* FDEscapement: */ 
SOURCE(3671, 6107)
SOURCE(3738, 30)
   data←v10444 = XR←Narrow((* (( (ptr) self←v5784)+1) ), (* (( (ptr) gf←c43832)+29) ));
SOURCE(3770, 41)
   run←v10472 = (word) GetRun←P120(data←v10444, char←v5812);
SOURCE(3813, 5965)
   if ((run←v10472 != 0)) {
SOURCE(3833, 5945)
      {
         W3 var←c39736;
         (void) FetchCharInfo←P300((word) &var←c39736, data←v10444, run←v10472, char←v5812);
         {
            word var←c39960;
            var←c39960 = var←c39736.f0;
            if ((var←c39960 == 0)) {
               {
                  W3 info←v10528;
                  info←v10528 = var←c39736;
SOURCE(3907, 5871)
                  {
                     W2 var←c39864;
                     {
                        W2 var←c39768;
                        {
                           word var←c39800;
                           var←c39800 = (* (( (ptr) data←v10444)+8) );
                           {
/*1*/   word idx65;
/*1*/   word limit66;
/*1*/   var←c39768.f0 = (* ((( (ptr) var←c39800)+1)+(
/*1*/         idx65 = (word)  (unsigned) (* (( (bPt) &info←v10528)+8) ),
/*1*/         limit66 = (*  (ptr) var←c39800 ),
/*1*/         BCK(idx65, limit66)
/*1*/         )) );
/*1*/   };
                           };
                        {
                           word var←c39832;
                           var←c39832 = (* (( (ptr) data←v10444)+8) );
                           {
/*1*/   word idx67;
/*1*/   word limit68;
/*1*/   var←c39768.f1 = (* ((( (ptr) var←c39832)+1)+(
/*1*/         idx67 = (word) ( (((unsigned)(* (( (ptr) &info←v10528)+2) ) << 8) >> 8) ),
/*1*/         limit68 = (*  (ptr) var←c39832 ),
/*1*/         BCK(idx67, limit68)
/*1*/         )) );
/*1*/   };
                           };
                        var←c39864 = var←c39768;
                        };
                     var←c5856 = var←c39864;
                     goto lab←L100017;
                     };
                  };
               }
            else {
               if ((var←c39960 == 1)) {
                  {
                     W2 info←v10572;
                     info←v10572 = (*  (W2Pt) &var←c39736 );
SOURCE(4039, 5739)
                     {
                        W2 var←c39928;
                        word var←c39896;
                        {
                           word idx69;
                           word limit70;
                           var←c39896 = (* (( (ptr) data←v10444)+12) );
                           var←c39928 = (*  (W2Pt) (( (ptr) (* ((( (ptr) var←c39896)+1)+(
/*1*/         idx69 = (word) info←v10572.f1,
/*1*/         limit70 = (*  (ptr) var←c39896 ),
/*1*/         BCK(idx69, limit70)
/*1*/         )) ))+4) );
                           };
                        var←c5856 = var←c39928;
                        goto lab←L100017;
                        };
                     };
                  }
               else {
SOURCE(4118, 5)
                  (void) XR←RaiseUnnamedError();
                  };
               };
            };
         };
      };
SOURCE(4128, 5650)
   if ((char←v5812 != 61642)) {
SOURCE(4158, 5620)
      {
         W2 var←c40024;
         (void) FDEscapement←P420((word) &var←c40024, self←v5784, 61642);
         var←c5856 = var←c40024;
         goto lab←L100017;
         };
      };
SOURCE(4203, 5575)
   var←c5856.f0 = (*  (ptr) &fc71 );
   var←c5856.f1 = (*  (ptr) &fc72 );
   /* removed tail goto */ 
   lab←L100017: ;
   (*  (W2Pt) formal←c0135 ) = var←c5856;
   return;
   }

static word FDAmplified←P480(self←v5916, char←v5944)
   word self←v5916;
   word char←v5944;
   {
   register ptr gf←c43864 =  (ptr) &globalframe;
   word var←c5988;
   word data←v10616;
   word run←v10644;
   /* FDAmplified: */ 
SOURCE(4226, 5552)
SOURCE(4293, 30)
   data←v10616 = XR←Narrow((* (( (ptr) self←v5916)+1) ), (* (( (ptr) gf←c43864)+29) ));
SOURCE(4325, 41)
   run←v10644 = (word) GetRun←P120(data←v10616, char←v5944);
SOURCE(4368, 5410)
   if ((run←v10644 != 0)) {
SOURCE(4386, 94)
      {
         word charInfoRun←v10700;
SOURCE(4388, 54)
         charInfoRun←v10700 = (word) FetchCharInfoRun←P360(data←v10616, run←v10644);
SOURCE(4444, 36)
         return( (unsigned) (*((int*)charInfoRun←v10700 + 1)<0));
         };
      };
SOURCE(4483, 14)
   return(0);
   }

static word FDCorrection←P540(self←v6048, char←v6076)
   word self←v6048;
   word char←v6076;
   {
   register ptr gf←c43896 =  (ptr) &globalframe;
   word var←c6120;
   word data←v10744;
   word run←v10772;
   /* FDCorrection: */ 
SOURCE(4503, 5275)
SOURCE(4592, 30)
   data←v10744 = XR←Narrow((* (( (ptr) self←v6048)+1) ), (* (( (ptr) gf←c43896)+29) ));
SOURCE(4624, 41)
   run←v10772 = (word) GetRun←P120(data←v10744, char←v6076);
SOURCE(4667, 5111)
   if ((run←v10772 != 0)) {
SOURCE(4685, 95)
      {
         word charInfoRun←v10828;
SOURCE(4687, 54)
         charInfoRun←v10828 = (word) FetchCharInfoRun←P360(data←v10744, run←v10772);
SOURCE(4743, 37)
         return(( (((unsigned)(* (( (ptr) charInfoRun←v10828)+1) ) << 1) >> 1) ));
         };
      };
SOURCE(4783, 13)
   return(0);
   }

static void FDBoundingBox←P600(formal←c0168, self←v6180, char←v6208)
   word formal←c0168;
   word self←v6180;
   word char←v6208;
   {
   register ptr gf←c43928 =  (ptr) &globalframe;
   W4 var←c6252;
   word data←v10872;
   word run←v10900;
   /* FDBoundingBox: */ 
SOURCE(4860, 4918)
SOURCE(4932, 30)
   data←v10872 = XR←Narrow((* (( (ptr) self←v6180)+1) ), (* (( (ptr) gf←c43928)+29) ));
SOURCE(4964, 41)
   run←v10900 = (word) GetRun←P120(data←v10872, char←v6208);
SOURCE(5007, 4771)
   if ((run←v10900 != 0)) {
SOURCE(5027, 4751)
      {
         W3 var←c40088;
         (void) FetchCharInfo←P300((word) &var←c40088, data←v10872, run←v10900, char←v6208);
         {
            word var←c40376;
            var←c40376 = var←c40088.f0;
            if ((var←c40376 == 0)) {
               {
                  W3 info←v10956;
                  info←v10956 = var←c40088;
SOURCE(5101, 4677)
                  {
                     W4 var←c40280;
                     {
                        W4 var←c40120;
                        {
                           word var←c40152;
                           var←c40152 = (* (( (ptr) data←v10872)+4) );
                           {
/*1*/   word idx73;
/*1*/   word limit74;
/*1*/   var←c40120.f0 = (* ((( (ptr) var←c40152)+1)+(
/*1*/         idx73 = (word)  (unsigned) (* (( (bPt) &info←v10956)+4) ),
/*1*/         limit74 = (*  (ptr) var←c40152 ),
/*1*/         BCK(idx73, limit74)
/*1*/         )) );
/*1*/   };
                           };
                        {
                           word var←c40184;
                           var←c40184 = (* (( (ptr) data←v10872)+5) );
                           {
/*1*/   word idx75;
/*1*/   word limit76;
/*1*/   var←c40120.f1 = (* ((( (ptr) var←c40184)+1)+(
/*1*/         idx75 = (word)  (unsigned) (* (( (bPt) &info←v10956)+5) ),
/*1*/         limit76 = (*  (ptr) var←c40184 ),
/*1*/         BCK(idx75, limit76)
/*1*/         )) );
/*1*/   };
                           };
                        {
                           word var←c40216;
                           var←c40216 = (* (( (ptr) data←v10872)+6) );
                           {
/*1*/   word idx77;
/*1*/   word limit78;
/*1*/   var←c40120.f2 = (* ((( (ptr) var←c40216)+1)+(
/*1*/         idx77 = (word)  (unsigned) (* (( (bPt) &info←v10956)+6) ),
/*1*/         limit78 = (*  (ptr) var←c40216 ),
/*1*/         BCK(idx77, limit78)
/*1*/         )) );
/*1*/   };
                           };
                        {
                           word var←c40248;
                           var←c40248 = (* (( (ptr) data←v10872)+7) );
                           {
/*1*/   word idx79;
/*1*/   word limit80;
/*1*/   var←c40120.f3 = (* ((( (ptr) var←c40248)+1)+(
/*1*/         idx79 = (word)  (unsigned) (* (( (bPt) &info←v10956)+7) ),
/*1*/         limit80 = (*  (ptr) var←c40248 ),
/*1*/         BCK(idx79, limit80)
/*1*/         )) );
/*1*/   };
                           };
                        var←c40280 = var←c40120;
                        };
                     var←c6252 = var←c40280;
                     goto lab←L100018;
                     };
                  };
               }
            else {
               if ((var←c40376 == 1)) {
                  {
                     W2 info←v11000;
                     info←v11000 = (*  (W2Pt) &var←c40088 );
SOURCE(5338, 4440)
                     {
                        W4 var←c40344;
                        word var←c40312;
                        {
                           word idx81;
                           word limit82;
                           var←c40312 = (* (( (ptr) data←v10872)+12) );
                           var←c40344 = (*  (W4Pt) (* ((( (ptr) var←c40312)+1)+(
/*1*/      idx81 = (word) info←v11000.f1,
/*1*/      limit82 = (*  (ptr) var←c40312 ),
/*1*/      BCK(idx81, limit82)
/*1*/      )) ) );
                           };
                        var←c6252 = var←c40344;
                        goto lab←L100018;
                        };
                     };
                  }
               else {
SOURCE(5414, 5)
                  (void) XR←RaiseUnnamedError();
                  };
               };
            };
         };
      };
SOURCE(5424, 4354)
   if ((char←v6208 != 61642)) {
SOURCE(5454, 4324)
      {
         W4 var←c40440;
         (void) FDBoundingBox←P600((word) &var←c40440, self←v6180, 61642);
         var←c6252 = var←c40440;
         goto lab←L100018;
         };
      };
SOURCE(5500, 4278)
   var←c6252.f0 = (*  (ptr) &fc83 );
   var←c6252.f1 = (*  (ptr) &fc84 );
   var←c6252.f2 = (*  (ptr) &fc72 );
   var←c6252.f3 = (*  (ptr) &fc85 );
   /* removed tail goto */ 
   lab←L100018: ;
   (*  (W4Pt) formal←c0168 ) = var←c6252;
   return;
   }

static void FDFontBoundingBox←P660(formal←c0173, self←v6312)
   word formal←c0173;
   word self←v6312;
   {
   register ptr gf←c43960 =  (ptr) &globalframe;
   W4 var←c6356;
   word data←v11044;
   /* FDFontBoundingBox: */ 
SOURCE(5577, 120)
SOURCE(5640, 30)
   data←v11044 = XR←Narrow((* (( (ptr) self←v6312)+1) ), (* (( (ptr) gf←c43960)+29) ));
SOURCE(5672, 25)
   var←c6356 = (*  (W4Pt) data←v11044 );
   /* removed tail goto */ 
   (*  (W4Pt) formal←c0173 ) = var←c6356;
   return;
   }

static void FDKern←P720(formal←c0179, self←v6416, char←v6444, successor←v6472)
   word formal←c0179;
   word self←v6416;
   word char←v6444;
   word successor←v6472;
   {
   register ptr gf←c43992 =  (ptr) &globalframe;
   word data←v11088;
   /* FDKern: */ 
SOURCE(5703, 4075)
   /* Return var split */ 
SOURCE(5775, 30)
   data←v11088 = XR←Narrow((* (( (ptr) self←v6416)+1) ), (* (( (ptr) gf←c43992)+29) ));
SOURCE(5807, 3971)
   /* eliminated constant return field */ 
   /* eliminated constant return field */ 
   /* removed tail goto */ 
   (* (( (ptr) formal←c0179)+1) ) = (*  (ptr) &fc72 );
   (*  (ptr) formal←c0179 ) = (*  (ptr) &fc72 );
   return;
   }

static word FDNextKern←P780(self←v6576, char←v6604, successor←v6632)
   word self←v6576;
   word char←v6604;
   word successor←v6632;
   {
   register ptr gf←c44024 =  (ptr) &globalframe;
   word var←c6676;
   word data←v11132;
   /* FDNextKern: */ 
SOURCE(5828, 128)
SOURCE(5906, 30)
   data←v11132 = XR←Narrow((* (( (ptr) self←v6576)+1) ), (* (( (ptr) gf←c44024)+29) ));
SOURCE(5938, 18)
   return( (word) -1);
   }

static word FDLigature←P840(self←v6736, char←v6764, successor←v6792)
   word self←v6736;
   word char←v6764;
   word successor←v6792;
   {
   register ptr gf←c44056 =  (ptr) &globalframe;
   word var←c6836;
   word data←v11176;
   /* FDLigature: */ 
SOURCE(5962, 128)
SOURCE(6040, 30)
   data←v11176 = XR←Narrow((* (( (ptr) self←v6736)+1) ), (* (( (ptr) gf←c44056)+29) ));
SOURCE(6072, 18)
   return( (word) -1);
   }

static word FDNextLigature←P900(self←v6896, char←v6924, successor←v6952)
   word self←v6896;
   word char←v6924;
   word successor←v6952;
   {
   register ptr gf←c44088 =  (ptr) &globalframe;
   word var←c6996;
   word data←v11220;
   /* FDNextLigature: */ 
SOURCE(6096, 132)
SOURCE(6178, 30)
   data←v11220 = XR←Narrow((* (( (ptr) self←v6896)+1) ), (* (( (ptr) gf←c44088)+29) ));
SOURCE(6210, 18)
   return( (word) -1);
   }

static word RawHash←P960(p←v7056, bytes←v7084)
   word p←v7056;
   word bytes←v7084;
   {
   word hash←v7140;
   /* RawHash: */ 
SOURCE(6234, 217)
SOURCE(6234, 217)
   hash←v7140 = 31415;
SOURCE(6344, 107)
   if ((p←v7056 != 0)) {
SOURCE(6360, 91)
      lab←L100023: ;
      bytes←v7084 = (bytes←v7084 - 4);
      if (( (int)bytes←v7084 >=  (int)0)) {
         }
      else {
         goto lab←L100021;
         };
SOURCE(6404, 27)
      hash←v7140 = ((hash←v7140 + ((word) hash←v7140 << 7)) + (*  (ptr) p←v7056 ));
SOURCE(6433, 18)
      p←v7056 = (p←v7056 + 4);
      goto lab←L100023;
      lab←L100021: ;
      };
SOURCE(6234, 217)
   return(hash←v7140);
   }

static word TransformationHash←P1020(key←v24864)
   word key←v24864;
   {
   register ptr gf←c44120 =  (ptr) &globalframe;
   word var←c24908;
   word m←v11264;
   /* TransformationHash: */ 
SOURCE(6466, 3312)
SOURCE(6514, 31)
   m←v11264 = XR←Narrow(key←v24864, (* (( (ptr) gf←c44120)+30) ));
SOURCE(6547, 3231)
   if ((m←v11264 == 0)) {
SOURCE(6563, 17)
      return(13);
      }
   else {
SOURCE(6580, 218)
      {
         W6 a←v11308;
         word p←v11336;
         word hash←v11364;
SOURCE(6582, 86)
         {
            float tf86;
            word x87;
            float tf88;
            a←v11308.f0 = (
               tf88 = FABS((
                     x87 = (*  (ptr) m←v11264 ),  *(float*)&x87
                     ), tf86),  *(word*)&tf88
               );
            };
         {
            float tf89;
            word x90;
            float tf91;
            a←v11308.f1 = (
               tf91 = FABS((
                     x90 = (* (( (ptr) m←v11264)+1) ),  *(float*)&x90
                     ), tf89),  *(word*)&tf91
               );
            };
         {
            float tf92;
            word x93;
            float tf94;
            a←v11308.f2 = (
               tf94 = FABS((
                     x93 = (* (( (ptr) m←v11264)+2) ),  *(float*)&x93
                     ), tf92),  *(word*)&tf94
               );
            };
         {
            float tf95;
            word x96;
            float tf97;
            a←v11308.f3 = (
               tf97 = FABS((
                     x96 = (* (( (ptr) m←v11264)+3) ),  *(float*)&x96
                     ), tf95),  *(word*)&tf97
               );
            };
         {
            float tf98;
            word x99;
            float tf100;
            a←v11308.f4 = (
               tf100 = FABS((
                     x99 = (* (( (ptr) m←v11264)+4) ),  *(float*)&x99
                     ), tf98),  *(word*)&tf100
               );
            };
         {
            float tf101;
            word x102;
            float tf103;
            a←v11308.f5 = (
               tf103 = FABS((
                     x102 = (* (( (ptr) m←v11264)+5) ),  *(float*)&x102
                     ), tf101),  *(word*)&tf103
               );
            };
SOURCE(6670, 44)
         p←v11336 = (word) &a←v11308;
SOURCE(6716, 66)
         hash←v11364 = (word) RawHash←P960(p←v11336, 24);
SOURCE(6784, 14)
         return(hash←v11364);
         };
      };
   }

static word TransformationEqual←P1080(key1←v24968, key2←v24996)
   word key1←v24968;
   word key2←v24996;
   {
   register ptr gf←c44152 =  (ptr) &globalframe;
   word var←c25040;
   word a1←v11528;
   word a2←v11556;
   /* TransformationEqual: */ 
SOURCE(6805, 2973)
SOURCE(6847, 33)
   a1←v11528 = XR←Narrow(key1←v24968, (* (( (ptr) gf←c44152)+30) ));
SOURCE(6882, 33)
   a2←v11556 = XR←Narrow(key2←v24996, (* (( (ptr) gf←c44152)+30) ));
SOURCE(6917, 2861)
   {
      word tc104;
      word pd105;
      if ( ( (a1←v11528 == 0) ? (a2←v11556 == 0) : 0 ) ) {
         tc104 =  (word)  (unsigned) 1;
         }
      else {
         pd105 = (* (( (ptr) (* (( (ptr) gf←c44152)+137)/* var←c38936 */  ))+53) );
         tc104 =  (word)  (unsigned) (0 != (word) ( *( (fPt) ((*  (ptr) pd105 ))))(a1←v11528, a2←v11556, pd105));
         };
      return(tc104);
      };
   }

static word TransformationIndexFromTransformation←P1140(formal←c0539, formal←c0540)
   word formal←c0539;
   word formal←c0540;
   {
   W9 var←c44184;
   /* declaration of data←v7200 skipped */ 
   /* declaration of t←v7228 skipped */ 
   register ptr gf←c44216 =  (ptr) &globalframe;
   /* declaration of index←v7272 skipped */ 
   /* declaration of var←c40632 skipped */ 
   (* (( (ptr) &var←c44184)+4)/* data←v7200 */  ) = formal←c0539;
   (* (( (ptr) &var←c44184)+5)/* t←v7228 */  ) = formal←c0540;
   /* TransformationIndexFromTransformation: */ 
SOURCE(7038, 2740)
   {
      word tmpAddr106;
      tmpAddr106 = (word) (( (ptr) &var←c44184)+7)/* var←c40632 */ ;
      (*  (ptr) tmpAddr106 ) = ( ((word)  (fPt) Update←P3120) );
      (* (( (ptr) tmpAddr106) + 1) ) = 1;
      };
SOURCE(7038, 2740)
   (* (( (ptr) &var←c44184)+6)/* index←v7272 */  ) = 0;
SOURCE(8441, 1337)
   {
      word pd107;
      pd107 = (* (( (ptr) (* (( (ptr) gf←c44216)+137)/* var←c38936 */  ))+6) );
      (* (( (ptr) &var←c44184)+5)/* t←v7228 */  ) = (word) ( *( (fPt) ((*  (ptr) pd107 ))))((* ((( (ptr) &var←c44184)+5)/* t←v7228 */ ) ), pd107)
      ;
      };
SOURCE(8511, 66)
   {
      word pd108;
      pd108 = (* (( (ptr) (* (( (ptr) gf←c44216)+142)/* var←c40664 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd108 ))))((* (( (ptr) (* (( (ptr) &var←c44184)+4)/* data←v7200 */  ))+15) ), (* (( (ptr) &var←c44184)+5)
         /* t←v7228 */  ), (word) (( (bPt) &var←c44184)+28)/* var←c40632 */ , pd108);
      };
SOURCE(7038, 2740)
   return((* (( (ptr) &var←c44184)+6)/* index←v7272 */  ));
   }

static void Update←P3120(formal←c0231, found←v34912, val←v34940, formal←c44312)
   word formal←c0231;
   word found←v34912;
   word val←v34940;
   word formal←c44312;
   {
   W7 var←c44248;
   register ptr gf←c44280 =  (ptr) &globalframe;
   word op←v34984;
   word new←v35012;
   /* declaration of var←c40696 skipped */ 
   formal←c44312 = (formal←c44312 - 28);
   var←c44248.f0 = formal←c44312;
   /* Update: */ 
SOURCE(7159, 2619)
   {
      word tmpAddr109;
      tmpAddr109 = (word) (( (ptr) &var←c44248)+4)/* var←c40696 */ ;
      (*  (ptr) tmpAddr109 ) = ( ((word)  (fPt) Right←P3324) );
      (* (( (ptr) tmpAddr109) + 1) ) = 1;
      };
SOURCE(7159, 2619)
   op←v34984 = 0;
SOURCE(7159, 2619)
   new←v35012 = 0;
SOURCE(7191, 2587)
   if ((0 != found←v34912)) {
SOURCE(7207, 29)
      {
         word idx110;
         (* (( (ptr) formal←c44312)+6) ) = (
            idx110 = (*  (ptr) XR←Narrow(val←v34940, (* (( (ptr) gf←c44280)+31) )) ),
            SGNCK(idx110)
            );
         };
SOURCE(7238, 31)
      {
         word pd111;
         pd111 = (* (( (ptr) (* (( (ptr) gf←c44280)+137)/* var←c38936 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd111 ))))((* ((( (ptr) formal←c44312)+5)) ), pd111);
         };
      }
   else {
SOURCE(7327, 1108)
      {
         word closeMatch←v11656 = 0;
         word deviceToClient←v11684;
SOURCE(7355, 66)
         {
            word pd112;
            pd112 = (* (( (ptr) (* (( (ptr) gf←c44280)+137)/* var←c38936 */  ))+51) );
            deviceToClient←v11684 = (word) ( *( (fPt) ((*  (ptr) pd112 ))))((* ((( (ptr) formal←c44312)+5)) ), pd112);
            };
SOURCE(7423, 2355)
         {
            /* declaration of pass←v11728 skipped */ 
            var←c44248.f6/* pass←v11728 */  = 0;
            lab←L100028: ;
            if ((0 == closeMatch←v11656)) {
               }
            else {
               goto lab←L100025;
               };
SOURCE(7690, 2088)
            {
               register word i←v11920 = 0;
               register word noName←c40728;
               noName←c40728 = (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c44312)+4) ))+9) ) );
               if ((i←v11920 >= noName←c40728)) {
                  goto lab←L100029;
                  };
               lab←L100032: ;
               if ((0 == closeMatch←v11656)) {
                  }
               else {
                  goto lab←L100029;
                  };
               {
                  word charToDevice←v11964;
SOURCE(7767, 66)
                  {
                     word var←c40760;
                     var←c40760 = (* (( (ptr) (* (( (ptr) formal←c44312)+4) ))+9) );
                     {
                        word limit113;
                        charToDevice←v11964 = (* ((( (ptr) var←c40760)+1)+(
/*1*/   limit113 = (*  (ptr) var←c40760 ),
/*1*/   BCK(i←v11920, limit113)
/*1*/   )) );
                        };
                     };
SOURCE(7835, 1943)
                  if ((charToDevice←v11964 != 0)) {
SOURCE(7862, 385)
                     {
                        word composite←v12008;
                        W6 f←v12036;
                        word var←c40792;
                        word var←c40824;
SOURCE(7864, 85)
                        {
                           word pd114;
                           pd114 = (* (( (ptr) (* (( (ptr) gf←c44280)+137)/* var←c38936 */  ))+13) );
                           composite←v12008 = (word) ( *( (fPt) ((*  (ptr) pd114 ))))(charToDevice←v11964, deviceToClient←v11684, pd114);
                           };
SOURCE(7951, 87)
                        {
                           word pd115;
                           pd115 = (* (( (ptr) (* (( (ptr) gf←c44280)+137)/* var←c38936 */  ))+50) );
                           (void) ( *( (fPt) ((*  (ptr) pd115 ))))((word) &f←v12036, composite←v12008, pd115);
                           };
SOURCE(8040, 39)
                        {
                           word pd116;
                           pd116 = (* (( (ptr) (* (( (ptr) gf←c44280)+137)/* var←c38936 */  ))+5) );
                           (void) ( *( (fPt) ((*  (ptr) pd116 ))))(composite←v12008, pd116);
                           };
SOURCE(8081, 15)
                        composite←v12008 = 0;
SOURCE(8098, 1680)
                        {
                           word tc117;
                           word tc118;
                           word x122;
                           word x123;
                           word x124;
                           word x125;
                           word x129;
                           word x130;
                           word x131;
                           word x132;
                           if ( ( (0 != (word) Right←P3324(f←v12036.f0, (word) (( (bPt) &var←c44248)+16)/* var←c40696 */ )) ? (0 != (word) Right←P3324(
/*1*/   f←v12036.f3, (word) (( (bPt) &var←c44248)+16)/* var←c40696 */ )) : 0 ) ) {
/*1*/   {
/*1*/      float tf119;
/*1*/      word x120;
/*1*/      float tf121;
/*1*/      var←c40792 = (
/*1*/         tf121 = FABS((
/*1*/               x120 = f←v12036.f1,  *(float*)&x120
/*1*/               ), tf119),  *(word*)&tf121
/*1*/         );
/*1*/      };
/*1*/   if (((
/*1*/      x122 = var←c40792,  *(float*)&x122
/*1*/      ) >= (
/*1*/      x123 = (* (( (ptr) gf←c44280)+8)/* minScale←v4064 */  ),  *(float*)&x123
/*1*/      ))) {
/*1*/      tc118 =  (word) ((
/*1*/         x124 = var←c40792,  *(float*)&x124
/*1*/         ) <= (
/*1*/         x125 = (* (( (ptr) gf←c44280)+9)/* maxScale←v4092 */  ),  *(float*)&x125
/*1*/         ));
/*1*/      }
/*1*/   else {
/*1*/      tc118 =  (word) 0;
/*1*/      };
/*1*/   }
                           else {
/*1*/   tc118 =  (word) 0;
/*1*/   };
                           if (tc118) {
/*1*/   {
/*1*/      float tf126;
/*1*/      word x127;
/*1*/      float tf128;
/*1*/      var←c40824 = (
/*1*/         tf128 = FABS((
/*1*/               x127 = f←v12036.f2,  *(float*)&x127
/*1*/               ), tf126),  *(word*)&tf128
/*1*/         );
/*1*/      };
/*1*/   if (((
/*1*/      x129 = var←c40824,  *(float*)&x129
/*1*/      ) >= (
/*1*/      x130 = (* (( (ptr) gf←c44280)+8)/* minScale←v4064 */  ),  *(float*)&x130
/*1*/      ))) {
/*1*/      tc117 =  (word) ((
/*1*/         x131 = var←c40824,  *(float*)&x131
/*1*/         ) <= (
/*1*/         x132 = (* (( (ptr) gf←c44280)+9)/* maxScale←v4092 */  ),  *(float*)&x132
/*1*/         ));
/*1*/      }
/*1*/   else {
/*1*/      tc117 =  (word) 0;
/*1*/      };
/*1*/   }
                           else {
/*1*/   tc117 =  (word) 0;
/*1*/   };
                           if (tc117) {
SOURCE(8214, 17)
/*1*/   closeMatch←v11656 = 1;
SOURCE(8233, 9)
/*1*/   (* (( (ptr) formal←c44312)+6) ) = i←v11920;
/*1*/   };
                           };
                        };
                     };
                  };
               i←v11920 = (i←v11920 + 1);
               if ((i←v11920 < noName←c40728)) {
                  goto lab←L100032;
                  };
               lab←L100029: ;
               };
            if ((var←c44248.f6/* pass←v11728 */  >= 1)) {
               goto lab←L100025;
               };
            var←c44248.f6/* pass←v11728 */  = (var←c44248.f6/* pass←v11728 */  + 1);
            goto lab←L100028;
            lab←L100025: ;
            };
SOURCE(8268, 44)
         {
            word pd133;
            pd133 = (* (( (ptr) (* (( (ptr) gf←c44280)+137)/* var←c38936 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd133 ))))(deviceToClient←v11684, pd133);
            };
SOURCE(8314, 20)
         deviceToClient←v11684 = 0;
SOURCE(8336, 22)
         {
            word var←c40856;
            var←c40856 = XR←NewObject(4, (* (( (ptr) gf←c44280)+31) ));
            (*  (ptr) var←c40856 ) = (* (( (ptr) formal←c44312)+6) );
            new←v35012 = var←c40856;
            };
SOURCE(8360, 10)
         op←v34984 = 1;
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0231 ) = op←v34984;
   (* (( (ptr) formal←c0231)+1) ) = new←v35012;
   return;
   }

static word Right←P3324(angle←v11848, formal←c44344)
   word angle←v11848;
   word formal←c44344;
   {
   word var←c11892;
   formal←c44344 = (formal←c44344 - 16);
   /* Right: */ 
SOURCE(7467, 13)
SOURCE(7512, 37)
   if (((* (( (ptr) formal←c44344)+6) ) == 0)) {
SOURCE(7529, 20)
      {
         word x134;
         word x135;
         return( (unsigned) ((
            x134 = angle←v11848,  *(float*)&x134
            ) == (
            x135 = (*  (ptr) &fc72 ),  *(float*)&x135
            )));
         };
      };
SOURCE(7551, 47)
   lab←L100035: ;
   {
      word x136;
      word x137;
      if (((
         x136 = angle←v11848,  *(float*)&x136
         ) < (
         x137 = (*  (ptr) &fc72 ),  *(float*)&x137
         ))) {
         }
      else {
         goto lab←L100033;
         };
      };
SOURCE(7570, 28)
   {
      word x138;
      word x140;
      *(float*)&angle←v11848 = (
         x138 = angle←v11848,  *(float*)&x138
         ) + (
         x140 = (*  (ptr) &fc139 ),  *(float*)&x140
         );
      };
   goto lab←L100035;
   lab←L100033: ;
SOURCE(7600, 50)
   lab←L100038: ;
   {
      word x141;
      word x143;
      if (((
         x141 = angle←v11848,  *(float*)&x141
         ) > (
         x143 = (*  (ptr) &fc142 ),  *(float*)&x143
         ))) {
         }
      else {
         goto lab←L100036;
         };
      };
SOURCE(7622, 28)
   {
      word x144;
      word x145;
      *(float*)&angle←v11848 = (
         x144 = angle←v11848,  *(float*)&x144
         ) - (
         x145 = (*  (ptr) &fc139 ),  *(float*)&x145
         );
      };
   goto lab←L100038;
   lab←L100036: ;
SOURCE(7652, 35)
   {
      float tf146;
      word x147;
      word x149;
      return( (unsigned) (FABS((
            x147 = angle←v11848,  *(float*)&x147
            ), tf146) <= (
         x149 = (*  (ptr) &fc148 ),  *(float*)&x149
         )));
      };
   }

static word SelectTransformationIndex←P1200(data←v7332, formal←c0541)
   word data←v7332;
   word formal←c0541;
   {
   W7 var←c44376;
   /* declaration of context←v7360 skipped */ 
   register ptr gf←c44408 =  (ptr) &globalframe;
   word index←v7404;
   var←c44376.f4/* context←v7360 */  = formal←c0541;
   /* SelectTransformationIndex: */ 
SOURCE(8583, 1195)
SOURCE(8583, 1195)
   index←v7404 = 0;
SOURCE(8696, 1082)
SOURCE(8698, 114)
   {
      word t←v12080;
SOURCE(8698, 114)
      {
         /* declaration of var←c02 skipped */ 
         var←c44376.f5/* var←c02 */  = (* (( (ptr) (* (( (ptr) gf←c44408)+143)/* var←c40888 */  ))+20) );
         {
            /* declaration of var←c03 skipped */ 
            {
               word var←c04;
               {
                  word var←c0522;
                  var←c0522 = (word) &var←c44376;
                  var←c04 = (word) XR←Enable(( ((word)  (fPt) NoName←Q5268) ), ( ((word)  (fPt) NoName←Q5568) ), var←c0522);
                  };
               if ((var←c04 == 2)) {
                  goto lab←L100039;
                  };
               };
            t←v12080 = var←c44376.f6/* var←c03 */ ;
            };
         };
SOURCE(8823, 955)
      index←v7404 = (word) TransformationIndexFromTransformation←P1140(data←v7332, t←v12080);
SOURCE(8888, 31)
      {
         word pd150;
         pd150 = (* (( (ptr) (* (( (ptr) gf←c44408)+137)/* var←c38936 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd150 ))))(t←v12080, pd150);
         };
      };
   goto lab←L100042;
   lab←L100039: ;
   lab←L100042: ;
SOURCE(8583, 1195)
   return(index←v7404);
   }

static word NoName←Q5268(formal←c0493)
   word formal←c0493;
   {
SOURCE(8698, 114)
   {
      word pd151;
      pd151 = (* (( (ptr) formal←c0493)+5) );
      (* (( (ptr) formal←c0493)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd151 ))))((* (( (ptr) formal←c0493)+4) ), 0, 3, pd151);
      };
   return(0);
   }

static word InstantiateTypeface←P1260(typefaceCell←v7464)
   word typefaceCell←v7464;
   {
   W11 var←c44440;
   register ptr gf←c44472 =  (ptr) &globalframe;
   word typeface←v7508;
   /* InstantiateTypeface: */ 
SOURCE(9003, 1001)
SOURCE(9003, 1001)
   typeface←v7508 = 0;
SOURCE(9315, 27)
   if ((typefaceCell←v7464 == 0)) {
SOURCE(9342, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(9397, 381)
   {
      word var←c40920;
SOURCE(9096, 77)
      (void) (XR←MonitorEntry((word) (( (bPt) gf←c44472)+16)/* LOCK←v3280 */ ));
SOURCE(9143, 30)
      var←c40920 = (* (( (ptr) typefaceCell←v7464)+1) );
      (void) (XR←MonitorExit((word) (( (bPt) gf←c44472)+16)/* LOCK←v3280 */ ));
      typeface←v7508 = var←c40920;
      };
SOURCE(9417, 587)
   if ((typeface←v7508 == 0)) {
SOURCE(9440, 566)
      {
         /* declaration of errorDesc←v12272 skipped */ 
         /* declaration of version←v12300 skipped */ 
SOURCE(9442, 44)
         (* (( (ptr) &var←c44440)+4) ) = 0;
         (* (( (ptr) &var←c44440)+5) ) = 0;
         (* (( (ptr) &var←c44440)+6) ) = 0;
SOURCE(9488, 129)
         (* (( (ptr) &var←c44440)+7)/* version←v12300 */  ) = XR←NewObject(8, (* (( (ptr) gf←c44472)+32) ));
         (*  (ptr) (* (( (ptr) &var←c44440)+7)/* version←v12300 */  ) ) = (* (( (ptr) typefaceCell←v7464)+2) );
         (* (( (ptr) (* (( (ptr) &var←c44440)+7)/* version←v12300 */  ))+1) ) = (* (( (ptr) typefaceCell←v7464)+3) );
SOURCE(9619, 159)
SOURCE(9619, 159)
         {
            /* declaration of var←c05 skipped */ 
            /* declaration of var←c06 skipped */ 
            (* (( (ptr) &var←c44440)+8)/* var←c05 */  ) = (*  (ptr) typefaceCell←v7464 );
            (* (( (ptr) &var←c44440)+9)/* var←c06 */  ) = (* (( (ptr) (* (( (ptr) gf←c44472)+138)/* var←c39032 */  ))+4) );
            {
               /* declaration of var←c07 skipped */ 
               {
                  word var←c08;
                  {
                     word var←c0523;
                     var←c0523 = (word) &var←c44440;
                     var←c08 = (word) XR←Enable(( ((word)  (fPt) NoName←Q5328) ), ( ((word)  (fPt) NoName←Q5508) ), var←c0523);
                     };
                  if ((var←c08 == 3)) {
                     goto lab←L100045;
                     };
                  };
               typeface←v7508 = (* (( (ptr) &var←c44440)+10)/* var←c07 */  );
               };
            };
         lab←L100045: ;
SOURCE(9824, 121)
         if ((typeface←v7508 == 0)) {
SOURCE(9849, 96)
            {
               word pd152;
               pd152 = (* (( (ptr) (* (( (ptr) gf←c44472)+138)/* var←c39032 */  ))+4) );
               typeface←v7508 = (word) ( *( (fPt) ((*  (ptr) pd152 ))))((*  (ptr) typefaceCell←v7464 ), 0, 0, pd152);
               };
            };
SOURCE(9997, 7)
SOURCE(9997, 7)
         (void) (XR←MonitorEntry((word) (( (bPt) gf←c44472)+16)/* LOCK←v3280 */ ));
SOURCE(9205, 107)
         if (((* (( (ptr) typefaceCell←v7464)+1) ) == 0)) {
SOURCE(9241, 38)
            (* (( (ptr) typefaceCell←v7464)+1) ) = typeface←v7508;
            }
         else {
SOURCE(9279, 33)
            typeface←v7508 = (* (( (ptr) typefaceCell←v7464)+1) );
            };
         (void) (XR←MonitorExit((word) (( (bPt) gf←c44472)+16)/* LOCK←v3280 */ ));
         };
      };
SOURCE(9003, 1001)
   return(typeface←v7508);
   }

static word NoName←Q5328(formal←c0495)
   word formal←c0495;
   {
SOURCE(9619, 159)
   {
      word pd153;
      pd153 = (* (( (ptr) formal←c0495)+9) );
      (* (( (ptr) formal←c0495)+10) ) = (word) ( *( (fPt) ((*  (ptr) pd153 ))))((* (( (ptr) formal←c0495)+8) ), 0, (* (( (ptr) formal←c0495)+7)
          ), pd153);
      };
   return(0);
   }

static void FDMask←P1320(self←v7568, char←v7596, context←v7624)
   word self←v7568;
   word char←v7596;
   word context←v7624;
   {
   register ptr gf←c44504 =  (ptr) &globalframe;
   word data←v12344;
   word run←v12372;
   /* FDMask: */ 
SOURCE(10013, 949)
SOURCE(10085, 30)
   data←v12344 = XR←Narrow((* (( (ptr) self←v7568)+1) ), (* (( (ptr) gf←c44504)+29) ));
SOURCE(10117, 41)
   run←v12372 = (word) GetRun←P120(data←v12344, char←v7596);
SOURCE(10160, 674)
   if ((run←v12372 != 0)) {
SOURCE(10178, 658)
      {
         word ti←v12428;
         word typefaceCell←v12456;
         word charInfoRun←v12484;
         word placement←v12512;
         word code←v12540;
         word typeface←v12568;
SOURCE(10180, 66)
         ti←v12428 = (word) SelectTransformationIndex←P1200(data←v12344, context←v7624);
SOURCE(10248, 72)
         {
            word var←c41048;
            word var←c41080;
            {
               word limit154;
               var←c41048 = (
                  limit154 = (* (( (ptr) run←v12372)+3) ),
                  BCK(ti←v12428, limit154)
                  );
               };
            var←c41080 = (* (( (ptr) data←v12344)+10) );
            {
               word idx155;
               word limit156;
               typefaceCell←v12456 = (* ((( (ptr) var←c41080)+1)+(
                     idx155 = (word) (* (( (W2Pt) (( (ptr) run←v12372)+4))+var←c41048) ).f0,
                     limit156 = (*  (ptr) var←c41080 ),
                     BCK(idx155, limit156)
                     )) );
               };
            };
SOURCE(10322, 72)
         {
            word var←c41112;
            word var←c41144;
            {
               word limit157;
               var←c41112 = (
                  limit157 = (* (( (ptr) run←v12372)+3) ),
                  BCK(ti←v12428, limit157)
                  );
               };
            var←c41144 = (* (( (ptr) data←v12344)+13) );
            {
               word idx158;
               word limit159;
               charInfoRun←v12484 = (* ((( (ptr) var←c41144)+1)+(
                     idx158 = (word) (* (( (W2Pt) (( (ptr) run←v12372)+4))+var←c41112) ).f1,
                     limit159 = (*  (ptr) var←c41144 ),
                     BCK(idx158, limit159)
                     )) );
               };
            };
SOURCE(10396, 84)
         {
            word var←c41176;
            var←c41176 = (* (( (ptr) data←v12344)+11) );
            {
               word idx160;
               word limit161;
               placement←v12512 = (* ((( (ptr) var←c41176)+1)+(
                     idx160 = (* (( (ptr) charInfoRun←v12484)+2) ),
                     limit161 = (*  (ptr) var←c41176 ),
                     BCK(idx160, limit161)
                     )) );
               };
            };
SOURCE(10482, 48)
         code←v12540 = (char←v7596 + (*  (ptr) charInfoRun←v12484 ));
SOURCE(10532, 54)
         typeface←v12568 = (word) InstantiateTypeface←P1260(typefaceCell←v12456);
SOURCE(10588, 84)
         if ((typeface←v12568 == 0)) {
SOURCE(10613, 50)
            {
               W4 var←c41208;
               var←c41208.f0 = (*  (ptr) &fc162 );
               var←c41208.f1 = (*  (ptr) &fc72 );
               var←c41208.f2 = (*  (ptr) &fc163 );
               var←c41208.f3 = (*  (ptr) &fc85 );
               {
                  word pd164;
                  pd164 = (* (( (ptr) (* (( (ptr) gf←c44504)+140)/* var←c39096 */  ))+65) );
                  (void) ( *( (fPt) ((*  (ptr) pd164 ))))(context←v7624, var←c41208, pd164);
                  };
               };
SOURCE(10665, 7)
            return;
            };
SOURCE(10675, 96)
         {
            word pd165;
            pd165 = (* (( (ptr) (* (( (ptr) gf←c44504)+137)/* var←c38936 */  ))+53) );
            if ((0 == (word) ( *( (fPt) ((*  (ptr) pd165 ))))(placement←v12512, (* (( (ptr) gf←c44504)+10)/* identity←v4176 */  ), pd165)
            )) {
SOURCE(10737, 34)
               {
                  word pd166;
                  pd166 = (* (( (ptr) (* (( (ptr) gf←c44504)+140)/* var←c39096 */  ))+14) );
                  (void) ( *( (fPt) ((*  (ptr) pd166 ))))(context←v7624, placement←v12512, pd166);
                  };
               };
            };
SOURCE(10777, 49)
         {
            word pd167;
            pd167 = (* (( (ptr) (*  (ptr) typeface←v12568 ))+13) );
            (void) ( *( (fPt) ((*  (ptr) pd167 ))))(typeface←v12568, code←v12540, context←v7624, pd167);
            };
SOURCE(10828, 6)
         return;
         };
      };
SOURCE(10839, 123)
   if ((char←v7596 != 61642)) {
SOURCE(10869, 43)
      (void) FDMask←P1320(self←v7568, 61642, context←v7624);
      }
   else {
SOURCE(10912, 50)
      {
         W4 var←c41240;
         var←c41240.f0 = (*  (ptr) &fc162 );
         var←c41240.f1 = (*  (ptr) &fc72 );
         var←c41240.f2 = (*  (ptr) &fc163 );
         var←c41240.f3 = (*  (ptr) &fc85 );
         {
            word pd168;
            pd168 = (* (( (ptr) (* (( (ptr) gf←c44504)+140)/* var←c39096 */  ))+65) );
            (void) ( *( (fPt) ((*  (ptr) pd168 ))))(context←v7624, var←c41240, pd168);
            };
         };
      };
   }

static word FDMakeCharMask←P1380(parameters←v7684, font←v7712, char←v7740)
   word parameters←v7684;
   word font←v7712;
   word char←v7740;
   {
   register ptr gf←c44536 =  (ptr) &globalframe;
   word var←c7784;
   word self←v12612;
   word data←v12640;
   word run←v12668;
   /* FDMakeCharMask: */ 
SOURCE(10968, 1088)
SOURCE(10968, 1088)
   var←c7784 = 0;
SOURCE(11111, 54)
   {
      word pd169;
      pd169 = (* (( (ptr) (* (( (ptr) gf←c44536)+138)/* var←c39032 */  ))+7) );
      self←v12612 = (word) ( *( (fPt) ((*  (ptr) pd169 ))))(font←v7712, pd169);
      };
SOURCE(11167, 30)
   data←v12640 = XR←Narrow((* (( (ptr) self←v12612)+1) ), (* (( (ptr) gf←c44536)+29) ));
SOURCE(11199, 41)
   run←v12668 = (word) GetRun←P120(data←v12640, char←v7740);
SOURCE(11242, 814)
   if ((run←v12668 != 0)) {
SOURCE(11260, 801)
      {
         word ti←v12724;
         word typefaceCell←v12752;
         word typeface←v12780;
SOURCE(11262, 88)
         ti←v12724 = (word) TransformationIndexFromTransformation←P1140(data←v12640, (*  (ptr) font←v7712 ));
SOURCE(11352, 72)
         {
            word var←c41272;
            word var←c41304;
            {
               word limit170;
               var←c41272 = (
                  limit170 = (* (( (ptr) run←v12668)+3) ),
                  BCK(ti←v12724, limit170)
                  );
               };
            var←c41304 = (* (( (ptr) data←v12640)+10) );
            {
               word idx171;
               word limit172;
               typefaceCell←v12752 = (* ((( (ptr) var←c41304)+1)+(
                     idx171 = (word) (* (( (W2Pt) (( (ptr) run←v12668)+4))+var←c41272) ).f0,
                     limit172 = (*  (ptr) var←c41304 ),
                     BCK(idx171, limit172)
                     )) );
               };
            };
SOURCE(11426, 54)
         typeface←v12780 = (word) InstantiateTypeface←P1260(typefaceCell←v12752);
SOURCE(11482, 574)
         if ( ( (typeface←v12780 != 0) ? ((* (( (ptr) (*  (ptr) typeface←v12780 ))+14) ) != 0) : 0 ) ) {
SOURCE(11543, 515)
            {
               word charInfoRun←v12824;
               word placement←v12852;
               word code←v12880;
               word charToClient←v12908;
               word innerFont←v12936;
SOURCE(11545, 72)
               {
                  word var←c41336;
                  word var←c41368;
                  {
                     word limit173;
                     var←c41336 = (
                        limit173 = (* (( (ptr) run←v12668)+3) ),
                        BCK(ti←v12724, limit173)
                        );
                     };
                  var←c41368 = (* (( (ptr) data←v12640)+13) );
                  {
                     word idx174;
                     word limit175;
                     charInfoRun←v12824 = (* ((( (ptr) var←c41368)+1)+(
                           idx174 = (word) (* (( (W2Pt) (( (ptr) run←v12668)+4))+var←c41336) ).f1,
                           limit175 = (*  (ptr) var←c41368 ),
                           BCK(idx174, limit175)
                           )) );
                     };
                  };
SOURCE(11619, 84)
               {
                  word var←c41400;
                  var←c41400 = (* (( (ptr) data←v12640)+11) );
                  {
                     word idx176;
                     word limit177;
                     placement←v12852 = (* ((( (ptr) var←c41400)+1)+(
                           idx176 = (* (( (ptr) charInfoRun←v12824)+2) ),
                           limit177 = (*  (ptr) var←c41400 ),
                           BCK(idx176, limit177)
                           )) );
                     };
                  };
SOURCE(11705, 48)
               code←v12880 = (char←v7740 + (*  (ptr) charInfoRun←v12824 ));
SOURCE(11755, 88)
               {
                  word pd178;
                  pd178 = (* (( (ptr) (* (( (ptr) gf←c44536)+137)/* var←c38936 */  ))+13) );
                  charToClient←v12908 = (word) ( *( (fPt) ((*  (ptr) pd178 ))))(placement←v12852, (*  (ptr) font←v7712 ), pd178);
                  };
SOURCE(11845, 76)
               {
                  word pd179;
                  pd179 = (* (( (ptr) (* (( (ptr) gf←c44536)+138)/* var←c39032 */  ))+8) );
                  innerFont←v12936 = (word) ( *( (fPt) ((*  (ptr) pd179 ))))(typeface←v12780, charToClient←v12908, pd179);
                  };
SOURCE(11923, 42)
               {
                  word pd180;
                  pd180 = (* (( (ptr) (* (( (ptr) gf←c44536)+137)/* var←c38936 */  ))+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd180 ))))(charToClient←v12908, pd180);
                  };
SOURCE(11967, 18)
               charToClient←v12908 = 0;
SOURCE(11987, 69)
               {
                  word pd181;
                  pd181 = (* (( (ptr) (*  (ptr) typeface←v12780 ))+14) );
                  return((word) ( *( (fPt) ((*  (ptr) pd181 ))))(parameters←v7684, innerFont←v12936, code←v12880, pd181));
                  };
               };
            };
         };
      };
SOURCE(10968, 1088)
   return(var←c7784);
   }

static word FromStream←P1440(formal←c0542)
   word formal←c0542;
   {
   W8 var←c44568;
   /* declaration of stream←v7932 skipped */ 
   register ptr gf←c44600 =  (ptr) &globalframe;
   word var←c7976;
   /* declaration of var←c41464 skipped */ 
   /* declaration of data←v12980 skipped */ 
   var←c44568.f4/* stream←v7932 */  = formal←c0542;
   /* FromStream: */ 
SOURCE(12546, 1260)
   {
      word tmpAddr182;
      tmpAddr182 = (word) (( (ptr) &var←c44568)+5)/* var←c41464 */ ;
      (*  (ptr) tmpAddr182 ) = ( ((word)  (fPt) Inner←P3888) );
      (* (( (ptr) tmpAddr182) + 1) ) = 1;
      };
SOURCE(12609, 25)
   var←c44568.f7/* data←v12980 */  = XR←NewObject(1088, (* (( (ptr) gf←c44600)+29) ));
SOURCE(13535, 94)
   {
      word pd183;
      pd183 = (* (( (ptr) (* (( (ptr) gf←c44600)+142)/* var←c40664 */  ))+5) );
      (* (( (ptr) var←c44568.f7/* data←v12980 */ )+15) ) = (word) ( *( (fPt) ((*  (ptr) pd183 ))))(17, (word) (( (bPt) gf←c44600)+396)
         /* var←c38328 */ , (word) (( (bPt) gf←c44600)+404)/* var←c38360 */ , pd183);
      };
SOURCE(13631, 156)
   {
      word var←c0524;
      var←c0524 = (word) &var←c44568;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q5388) ), ( ((word)  (fPt) NoName←Q5448) ), var←c0524);
      };
SOURCE(13792, 14)
   return(var←c44568.f7/* data←v12980 */ );
   }

static word NoName←Q5388(formal←c0499)
   word formal←c0499;
   {
SOURCE(13631, 156)
   (void) Inner←P3888((word) ((( (bPt) formal←c0499)+20)));
   return(0);
   }

static void Inner←P3888(formal←c44664)
   word formal←c44664;
   {
   register ptr gf←c44632 =  (ptr) &globalframe;
   word nSets←v13068 = 0;
   formal←c44664 = (formal←c44664 - 20);
   /* Inner: */ 
SOURCE(12636, 885)
SOURCE(12668, 69)
   if (((word) GetCARD32←P2280((* ((( (ptr) formal←c44664)+4)) )) != 436038147)) {
SOURCE(12705, 32)
      {
         W2 var←c0286;
         (*  (ptr) (word) &var←c0286 ) = (* (( (ptr) gf←c44632)+40) );
         (* (( (ptr) (word) &var←c0286) + 1) ) = 0;
         (void) XR←RaiseError((word) (( (bPt) gf←c44632)+192)/* var←c37496 */ , (word) &var←c0286);
         };
      };
SOURCE(12739, 37)
   {
      W4 var←c41624;
      (void) GetExtents←P1500((word) &var←c41624, (* (( (ptr) formal←c44664)+4) ));
      (*  (W4Pt) (* (( (ptr) formal←c44664)+7) ) ) = var←c41624;
      };
SOURCE(12778, 43)
   {
      word var←c41656;
      var←c41656 = (word) GetRealSeq←P1560((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+4) ) = var←c41656;
      };
SOURCE(12823, 44)
   {
      word var←c41688;
      var←c41688 = (word) GetRealSeq←P1560((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+5) ) = var←c41688;
      };
SOURCE(12869, 40)
   {
      word var←c41720;
      var←c41720 = (word) GetRealSeq←P1560((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+6) ) = var←c41720;
      };
SOURCE(12911, 39)
   {
      word var←c41752;
      var←c41752 = (word) GetRealSeq←P1560((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+7) ) = var←c41752;
      };
SOURCE(12952, 43)
   {
      word var←c41784;
      var←c41784 = (word) GetRealSeq←P1560((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+8) ) = var←c41784;
      };
SOURCE(12997, 63)
   {
      word var←c41816;
      var←c41816 = (word) GetTransformationSeq←P1620((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+9) ) = var←c41816;
      };
SOURCE(13062, 49)
   {
      word var←c41848;
      var←c41848 = (word) GetTypefaceCellSeq←P1740((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+10) ) = var←c41848;
      };
SOURCE(13113, 60)
   {
      word var←c41880;
      var←c41880 = (word) GetTransformationSeq←P1620((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+11) ) = var←c41880;
      };
SOURCE(13175, 86)
   {
      word var←c41912;
      var←c41912 = (word) GetCharInfoRunSeq←P1800((* (( (ptr) formal←c44664)+4) ), (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c44664)+7)
             ))+9) ) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+13) ) = var←c41912;
      };
SOURCE(13263, 57)
   {
      word var←c41944;
      var←c41944 = (word) GetOverflowCharInfoSeq←P1920((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+12) ) = var←c41944;
      };
SOURCE(13322, 35)
   {
      word var←c41976;
      var←c41976 = (word) GetPropList←P2100((* ((( (ptr) formal←c44664)+4)) ));
      (* (( (ptr) (* (( (ptr) formal←c44664)+7) ))+14) ) = var←c41976;
      };
SOURCE(13359, 24)
   {
      word idx184;
      nSets←v13068 = (
         idx184 = (word) GetCount←P2400((* ((( (ptr) formal←c44664)+4)) )),
         SGNCK(idx184)
         );
      };
SOURCE(13385, 136)
   {
      register word i←v13112 = 0;
      register word noName←c42008;
      noName←c42008 = nSets←v13068;
      if ((i←v13112 >= noName←c42008)) {
         goto lab←L100051;
         };
      lab←L100054: ;
      {
         word c←v13156;
SOURCE(13413, 29)
         {
            word idx185;
            c←v13156 = (
               idx185 = (word) GetCount←P2400((* ((( (ptr) formal←c44664)+4)) )),
               BCK(idx185, 256)
               );
            };
SOURCE(13444, 77)
         {
            word var←c42040;
            var←c42040 = (word) GetCharRuns←P2220((* (( (ptr) formal←c44664)+4) ), (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c44664)+7)
                   ))+9) ) ));
            (* ((( (ptr) (* (( (ptr) formal←c44664)+7) ))+16)+c←v13156) ) = var←c42040;
            };
         };
      i←v13112 = (i←v13112 + 1);
      if ((i←v13112 < noName←c42008)) {
         goto lab←L100054;
         };
      lab←L100051: ;
      };
   }

static void GetExtents←P1500(formal←c0307, stream←v8036)
   word formal←c0307;
   word stream←v8036;
   {
   W4 var←c8080;
   W4 extents←v13200;
   /* GetExtents: */ 
SOURCE(13810, 260)
SOURCE(13907, 36)
   extents←v13200.f0 = (word) GetREAL←P2580(stream←v8036);
SOURCE(13945, 37)
   extents←v13200.f1 = (word) GetREAL←P2580(stream←v8036);
SOURCE(13984, 33)
   extents←v13200.f2 = (word) GetREAL←P2580(stream←v8036);
SOURCE(14019, 32)
   extents←v13200.f3 = (word) GetREAL←P2580(stream←v8036);
SOURCE(14053, 17)
   var←c8080 = extents←v13200;
   /* removed tail goto */ 
   (*  (W4Pt) formal←c0307 ) = var←c8080;
   return;
   }

static word GetRealSeq←P1560(stream←v8140)
   word stream←v8140;
   {
   register ptr gf←c44696 =  (ptr) &globalframe;
   word s←v8184;
   word size←v13244;
   /* GetRealSeq: */ 
SOURCE(14074, 170)
SOURCE(14074, 170)
   s←v8184 = 0;
SOURCE(14136, 28)
   {
      word idx186;
      size←v13244 = (
         idx186 = (word) GetCount←P2400(stream←v8140),
         SGNCK(idx186)
         );
      };
SOURCE(14166, 25)
   {
      word var←c42072;
      word var←c42104;
      word var←c42136;
      var←c42072 = BCK(size←v13244, 67108863);
      var←c42104 = ((word) var←c42072 << 2);
      var←c42136 = XR←NewObject((4 + var←c42104), (* (( (ptr) gf←c44696)+37) ));
      (*  (ptr) var←c42136 ) = var←c42072;
      s←v8184 = var←c42136;
      };
SOURCE(14193, 51)
   {
      register word i←v13288 = 0;
      register word noName←c42168;
      noName←c42168 = (*  (ptr) s←v8184 );
      if ((i←v13288 >= noName←c42168)) {
         goto lab←L100056;
         };
      lab←L100059: ;
SOURCE(14222, 22)
      {
         word var←c42200;
         var←c42200 = (word) GetREAL←P2580(stream←v8140);
         {
            word limit187;
            (* ((( (ptr) s←v8184)+1)+(
                  limit187 = (*  (ptr) s←v8184 ),
                  BCK(i←v13288, limit187)
                  )) ) = var←c42200;
            };
         };
      i←v13288 = (i←v13288 + 1);
      if ((i←v13288 < noName←c42168)) {
         goto lab←L100059;
         };
      lab←L100056: ;
      };
SOURCE(14074, 170)
   return(s←v8184);
   }

static word GetTransformationSeq←P1620(stream←v8244)
   word stream←v8244;
   {
   register ptr gf←c44728 =  (ptr) &globalframe;
   word s←v8288;
   word size←v13332;
   /* GetTransformationSeq: */ 
SOURCE(14259, 210)
SOURCE(14259, 210)
   s←v8288 = 0;
SOURCE(14341, 28)
   {
      word idx188;
      size←v13332 = (
         idx188 = (word) GetCount←P2400(stream←v8244),
         SGNCK(idx188)
         );
      };
SOURCE(14371, 35)
   {
      word var←c42232;
      word var←c42264;
      word var←c42296;
      var←c42232 = BCK(size←v13332, 67108863);
      var←c42264 = ((word) var←c42232 << 2);
      var←c42296 = XR←NewObject((4 + var←c42264), (* (( (ptr) gf←c44728)+38) ));
      (*  (ptr) var←c42296 ) = var←c42232;
      s←v8288 = var←c42296;
      };
SOURCE(14408, 61)
   {
      register word i←v13376 = 0;
      register word noName←c42328;
      noName←c42328 = (*  (ptr) s←v8288 );
      if ((i←v13376 >= noName←c42328)) {
         goto lab←L100060;
         };
      lab←L100063: ;
SOURCE(14437, 32)
      {
         word var←c42360;
         var←c42360 = (word) GetTransformation←P1680(stream←v8244);
         {
            word limit189;
            (* ((( (ptr) s←v8288)+1)+(
                  limit189 = (*  (ptr) s←v8288 ),
                  BCK(i←v13376, limit189)
                  )) ) = var←c42360;
            };
         };
      i←v13376 = (i←v13376 + 1);
      if ((i←v13376 < noName←c42328)) {
         goto lab←L100063;
         };
      lab←L100060: ;
      };
SOURCE(14259, 210)
   return(s←v8288);
   }

static word GetTransformation←P1680(stream←v8348)
   word stream←v8348;
   {
   register ptr gf←c44760 =  (ptr) &globalframe;
   word var←c8392;
   word count←v13420;
   /* GetTransformation: */ 
SOURCE(14484, 339)
SOURCE(14557, 30)
   {
      word idx190;
      count←v13420 = (
         idx190 = (word) GetCount←P2400(stream←v8348),
         SGNCK(idx190)
         );
      };
SOURCE(14589, 234)
   if ((count←v13420 == 0)) {
SOURCE(14607, 18)
      return(0);
      }
   else {
SOURCE(14625, 198)
      {
         word check←v13464;
         W6 t←v13492;
SOURCE(14627, 21)
         check←v13464 = BCK((count←v13420 - 6), 1);
SOURCE(14675, 46)
         {
            register word i←v13592 = 0;
            lab←L100067: ;
SOURCE(14699, 22)
            {
               word var←c42392;
               var←c42392 = (word) GetREAL←P2580(stream←v8348);
               (* (( (ptr) &t←v13492)+BCK(i←v13592, 6)) ) = var←c42392;
               };
            if ((i←v13592 >= 5)) {
               goto lab←L100064;
               };
            i←v13592 = (i←v13592 + 1);
            goto lab←L100067;
            lab←L100064: ;
            };
SOURCE(14732, 91)
         {
            word pd191;
            pd191 = (* (( (ptr) (* (( (ptr) gf←c44760)+137)/* var←c38936 */  ))+4) );
            return((word) ( *( (fPt) ((*  (ptr) pd191 ))))(t←v13492.f0, t←v13492.f1, t←v13492.f2, t←v13492.f3, t←v13492.f4, t←v13492.f5, pd191)
            );
            };
         };
      };
   }

static word GetTypefaceCellSeq←P1740(stream←v8452)
   word stream←v8452;
   {
   register ptr gf←c44792 =  (ptr) &globalframe;
   word s←v8496;
   word size←v13636;
   /* GetTypefaceCellSeq: */ 
SOURCE(14830, 202)
SOURCE(14830, 202)
   s←v8496 = 0;
SOURCE(14908, 28)
   {
      word idx192;
      size←v13636 = (
         idx192 = (word) GetCount←P2400(stream←v8452),
         SGNCK(idx192)
         );
      };
SOURCE(14938, 33)
   {
      word var←c42456;
      word var←c42488;
      word var←c42520;
      var←c42456 = BCK(size←v13636, 67108863);
      var←c42488 = ((word) var←c42456 << 2);
      var←c42520 = XR←NewObject((4 + var←c42488), (* (( (ptr) gf←c44792)+39) ));
      (*  (ptr) var←c42520 ) = var←c42456;
      s←v8496 = var←c42520;
      };
SOURCE(14973, 59)
   {
      register word i←v13680 = 0;
      register word noName←c42552;
      noName←c42552 = (*  (ptr) s←v8496 );
      if ((i←v13680 >= noName←c42552)) {
         goto lab←L100068;
         };
      lab←L100071: ;
SOURCE(15002, 30)
      {
         word var←c42584;
         var←c42584 = (word) GetTypefaceCell←P1860(stream←v8452);
         {
            word limit193;
            (* ((( (ptr) s←v8496)+1)+(
                  limit193 = (*  (ptr) s←v8496 ),
                  BCK(i←v13680, limit193)
                  )) ) = var←c42584;
            };
         };
      i←v13680 = (i←v13680 + 1);
      if ((i←v13680 < noName←c42552)) {
         goto lab←L100071;
         };
      lab←L100068: ;
      };
SOURCE(14830, 202)
   return(s←v8496);
   }

static word GetCharInfoRunSeq←P1800(stream←v8556, nt←v8584)
   word stream←v8556;
   word nt←v8584;
   {
   register ptr gf←c44824 =  (ptr) &globalframe;
   word s←v8628;
   word size←v13724;
   /* GetCharInfoRunSeq: */ 
SOURCE(15047, 211)
SOURCE(15047, 211)
   s←v8628 = 0;
SOURCE(15132, 28)
   {
      word idx194;
      size←v13724 = (
         idx194 = (word) GetCount←P2400(stream←v8556),
         SGNCK(idx194)
         );
      };
SOURCE(15162, 32)
   {
      word var←c42616;
      word var←c42648;
      word var←c42680;
      var←c42616 = BCK(size←v13724, 67108863);
      var←c42648 = ((word) var←c42616 << 2);
      var←c42680 = XR←NewObject((4 + var←c42648), (* (( (ptr) gf←c44824)+36) ));
      (*  (ptr) var←c42680 ) = var←c42616;
      s←v8628 = var←c42680;
      };
SOURCE(15196, 62)
   {
      register word i←v13768 = 0;
      register word noName←c42712;
      noName←c42712 = (*  (ptr) s←v8628 );
      if ((i←v13768 >= noName←c42712)) {
         goto lab←L100072;
         };
      lab←L100075: ;
SOURCE(15225, 33)
      {
         word var←c42744;
         var←c42744 = (word) GetCharInfoRun←P2160(stream←v8556, nt←v8584);
         {
            word limit195;
            (* ((( (ptr) s←v8628)+1)+(
                  limit195 = (*  (ptr) s←v8628 ),
                  BCK(i←v13768, limit195)
                  )) ) = var←c42744;
            };
         };
      i←v13768 = (i←v13768 + 1);
      if ((i←v13768 < noName←c42712)) {
         goto lab←L100075;
         };
      lab←L100072: ;
      };
SOURCE(15047, 211)
   return(s←v8628);
   }

static word GetTypefaceCell←P1860(stream←v8688)
   word stream←v8688;
   {
   register ptr gf←c44856 =  (ptr) &globalframe;
   word var←c8732;
   word s←v13812;
   /* GetTypefaceCell: */ 
SOURCE(15273, 247)
SOURCE(15342, 38)
   s←v13812 = XR←NewObject(16, (* (( (ptr) gf←c44856)+35) ));
SOURCE(15382, 42)
   (* (( (ptr) s←v13812)+2) ) = (word) GetCARD32←P2280(stream←v8688);
SOURCE(15426, 34)
   (*  (ptr) s←v13812 ) = (word) GetIdentifier←P2460(stream←v8688);
SOURCE(15462, 45)
   {
      word var←c42808;
      var←c42808 = (word) GetIdentifier←P2460(stream←v8688);
      {
         word pd196;
         pd196 = (* (( (ptr) (* (( (ptr) gf←c44856)+146)/* var←c42840 */  ))+5) );
         (* (( (ptr) s←v13812)+3) ) = (word) ( *( (fPt) ((*  (ptr) pd196 ))))(var←c42808, 0, 2147483647, pd196);
         };
      };
SOURCE(15509, 11)
   return(s←v13812);
   }

static word GetOverflowCharInfoSeq←P1920(stream←v8792)
   word stream←v8792;
   {
   register ptr gf←c44888 =  (ptr) &globalframe;
   word s←v8836;
   word size←v13856;
   /* GetOverflowCharInfoSeq: */ 
SOURCE(15524, 217)
SOURCE(15524, 217)
   s←v8836 = 0;
SOURCE(15610, 28)
   {
      word idx197;
      size←v13856 = (
         idx197 = (word) GetCount←P2400(stream←v8792),
         SGNCK(idx197)
         );
      };
SOURCE(15640, 37)
   {
      word var←c42872;
      word var←c42904;
      word var←c42936;
      var←c42872 = BCK(size←v13856, 67108863);
      var←c42904 = ((word) var←c42872 << 2);
      var←c42936 = XR←NewObject((4 + var←c42904), (* (( (ptr) gf←c44888)+23) ));
      (*  (ptr) var←c42936 ) = var←c42872;
      s←v8836 = var←c42936;
      };
SOURCE(15679, 62)
   {
      register word i←v13900 = 0;
      register word noName←c42968;
      noName←c42968 = (*  (ptr) s←v8836 );
      if ((i←v13900 >= noName←c42968)) {
         goto lab←L100076;
         };
      lab←L100079: ;
SOURCE(15708, 33)
      {
         word var←c43000;
         var←c43000 = (word) GetVerboseCharInfo←P1980(stream←v8792);
         {
            word limit198;
            (* ((( (ptr) s←v8836)+1)+(
                  limit198 = (*  (ptr) s←v8836 ),
                  BCK(i←v13900, limit198)
                  )) ) = var←c43000;
            };
         };
      i←v13900 = (i←v13900 + 1);
      if ((i←v13900 < noName←c42968)) {
         goto lab←L100079;
         };
      lab←L100076: ;
      };
SOURCE(15524, 217)
   return(s←v8836);
   }

static word GetVerboseCharInfo←P1980(stream←v8896)
   word stream←v8896;
   {
   register ptr gf←c44920 =  (ptr) &globalframe;
   word var←c8940;
   word s←v13944;
   /* GetVerboseCharInfo: */ 
SOURCE(15756, 229)
SOURCE(15831, 44)
   s←v13944 = XR←NewObject(28, (* (( (ptr) gf←c44920)+21) ));
SOURCE(15877, 30)
   (void) GetExtents←P1500((word) s←v13944, stream←v8896);
SOURCE(15909, 29)
   (void) GetVEC←P2040((word) (( (bPt) s←v13944)+16), stream←v8896);
SOURCE(15940, 32)
   (* (( (ptr) s←v13944)+6) ) = (word) GetPropList←P2100(stream←v8896);
SOURCE(15974, 11)
   return(s←v13944);
   }

static void GetVEC←P2040(formal←c0372, stream←v9000)
   word formal←c0372;
   word stream←v9000;
   {
   W2 v←v9044;
   /* GetVEC: */ 
SOURCE(15989, 98)
SOURCE(16043, 21)
   v←v9044.f0 = (word) GetREAL←P2580(stream←v9000);
SOURCE(16066, 21)
   v←v9044.f1 = (word) GetREAL←P2580(stream←v9000);
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0372 ) = v←v9044;
   return;
   }

static word GetPropList←P2100(stream←v9104)
   word stream←v9104;
   {
   word var←c9148;
   word props←v13988 = 0;
   word count←v14016;
   /* GetPropList: */ 
SOURCE(16093, 182)
SOURCE(16187, 29)
   {
      word idx199;
      count←v14016 = (
         idx199 = (word) GetCount←P2400(stream←v9104),
         SGNCK(idx199)
         );
      };
SOURCE(16218, 18)
   if ((count←v14016 != 0)) {
SOURCE(16236, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(16260, 15)
   return(props←v13988);
   }

static word GetCharInfoRun←P2160(stream←v9208, nt←v9236)
   word stream←v9208;
   word nt←v9236;
   {
   register ptr gf←c44952 =  (ptr) &globalframe;
   word var←c9280;
   word xcCodeDelta←v14060;
   word bits←v14088;
   word placementCode←v14116;
   word size←v14144;
   word charInfoRun←v14172;
   /* GetCharInfoRun: */ 
SOURCE(16279, 943)
SOURCE(16355, 37)
   xcCodeDelta←v14060 = (word) GetInteger←P2520(stream←v9208);
SOURCE(16394, 28)
   bits←v14088 = (word) GetBYTE←P2340(stream←v9208);
SOURCE(16424, 38)
   placementCode←v14116 = (word) GetCount←P2400(stream←v9208);
SOURCE(16464, 28)
   {
      word idx200;
      size←v14144 = (
         idx200 = (word) GetCount←P2400(stream←v9208),
         SGNCK(idx200)
         );
      };
SOURCE(16494, 52)
   {
      word var←c43064;
      word var←c43096;
      word var←c43128;
      var←c43064 = BCK(size←v14144, 22369621);
      var←c43096 = ((word) var←c43064 * 12);
      var←c43128 = XR←NewObject((16 + var←c43096), (* (( (ptr) gf←c44952)+20) ));
      (* (( (ptr) var←c43128)+3) ) = var←c43064;
      charInfoRun←v14172 = var←c43128;
      };
SOURCE(16548, 37)
   (*  (ptr) charInfoRun←v14172 ) = xcCodeDelta←v14060;
SOURCE(16587, 44)
   {
      word tadr201;
      tadr201 = (word) (( (ptr) charInfoRun←v14172) + 1);
      (*  (ptr) tadr201 ) = ((*  (ptr) tadr201 ) & 2147483647) | (((word) ((bits←v14088 & 1) & 1)) << 31);
      };
SOURCE(16633, 41)
   {
      word idx202;
      word tadr203;
      tadr203 = (word) (( (ptr) charInfoRun←v14172) + 1);
      (*  (ptr) tadr203 ) = ((*  (ptr) tadr203 ) & 2147483648) | ((word) (
            idx202 = (word) ((word) bits←v14088 >> 1),
            BCK(idx202, 4)
            ));
      };
SOURCE(16676, 41)
   (* (( (ptr) charInfoRun←v14172)+2) ) = placementCode←v14116;
SOURCE(16719, 467)
   {
      register word i←v14216 = 0;
      if ((i←v14216 >= size←v14144)) {
         goto lab←L100081;
         };
      lab←L100084: ;
      {
         word byte0←v14260;
SOURCE(16746, 29)
         byte0←v14260 = (word) GetBYTE←P2340(stream←v9208);
SOURCE(16777, 409)
         if ((byte0←v14260 == 255)) {
SOURCE(16797, 104)
            {
               W2 info←v14304;
SOURCE(16799, 67)
               info←v14304.f0 = 1;
               {
                  word idx204;
                  info←v14304.f1 = (
                     idx204 = (word) GetCount←P2400(stream←v9208),
                     SGNCK(idx204)
                     );
                  };
SOURCE(16876, 22)
SOURCE(16877, 21)
               {
                  word limit205;
                  (*  (W2Pt) (( (W3Pt) (( (ptr) charInfoRun←v14172)+4))+(
                        limit205 = (* (( (ptr) charInfoRun←v14172)+3) ),
                        BCK(i←v14216, limit205)
                        )) ) = info←v14304;
                  };
               };
            }
         else {
SOURCE(16908, 281)
            {
               W3 info←v14348;
SOURCE(16910, 48)
               info←v14348.f0 = 0;
               info←v14348.f1 = 0;
               info←v14348.f2 = 0;
SOURCE(16960, 23)
               (* (( (bPt) &info←v14348)+4) ) = byte0←v14260;
SOURCE(16985, 34)
               (* (( (bPt) &info←v14348)+5) ) = (word) GetBYTE←P2340(stream←v9208);
SOURCE(17021, 30)
               (* (( (bPt) &info←v14348)+6) ) = (word) GetBYTE←P2340(stream←v9208);
SOURCE(17053, 29)
               (* (( (bPt) &info←v14348)+7) ) = (word) GetBYTE←P2340(stream←v9208);
SOURCE(17084, 34)
               (* (( (bPt) &info←v14348)+8) ) = (word) GetBYTE←P2340(stream←v9208);
SOURCE(17120, 34)
               info←v14348.f2 = (info←v14348.f2 & 4278190080) | ((word) ( (((unsigned)(word) GetBYTE←P2340(stream←v9208) << 8) >> 8) ));
SOURCE(17164, 22)
SOURCE(17165, 21)
               {
                  word limit206;
                  (* (( (W3Pt) (( (ptr) charInfoRun←v14172)+4))+(
                        limit206 = (* (( (ptr) charInfoRun←v14172)+3) ),
                        BCK(i←v14216, limit206)
                        )) ) = info←v14348;
                  };
               };
            };
         };
      i←v14216 = (i←v14216 + 1);
      if ((i←v14216 < size←v14144)) {
         goto lab←L100084;
         };
      lab←L100081: ;
      };
SOURCE(17201, 21)
   return(charInfoRun←v14172);
   }

static word GetCharRuns←P2220(stream←v9340, nt←v9368)
   word stream←v9340;
   word nt←v9368;
   {
   register ptr gf←c44984 =  (ptr) &globalframe;
   word charRuns←v9412;
   word last←v14392 = 0;
   word count←v14420;
   word nextOKbc←v14448 = 0;
   /* GetCharRuns: */ 
SOURCE(17226, 724)
SOURCE(17226, 724)
   charRuns←v9412 = 0;
SOURCE(17334, 29)
   {
      word idx207;
      count←v14420 = (
         idx207 = (word) GetCount←P2400(stream←v9340),
         SGNCK(idx207)
         );
      };
SOURCE(17384, 538)
   {
      register word i←v14492 = 0;
      if ((i←v14492 >= count←v14420)) {
         goto lab←L100085;
         };
      lab←L100088: ;
      {
         word bc←v14536;
         word ec←v14564;
         word new←v14592;
SOURCE(17412, 26)
         bc←v14536 = (word) GetBYTE←P2340(stream←v9340);
SOURCE(17440, 26)
         ec←v14564 = (word) GetBYTE←P2340(stream←v9340);
SOURCE(17468, 36)
         {
            word var←c43224;
            word var←c43256;
            word var←c43288;
            var←c43224 = BCK(nt←v9368, 33554431);
            var←c43256 = ((word) var←c43224 << 3);
            var←c43288 = XR←NewObject((16 + var←c43256), (* (( (ptr) gf←c44984)+14) ));
            (* (( (ptr) var←c43288)+3) ) = var←c43224;
            new←v14592 = var←c43288;
            };
SOURCE(17506, 83)
         if ((ec←v14564 < bc←v14536) || (bc←v14536 < nextOKbc←v14448)) {
SOURCE(17539, 50)
            {
               word var←c43320;
               {
                  word pd208;
                  pd208 = (* (( (ptr) (* (( (ptr) gf←c44984)+141)/* var←c39256 */  ))+29) );
                  var←c43320 = (word) ( *( (fPt) ((*  (ptr) pd208 ))))(stream←v9340, pd208);
                  };
               {
                  W2 var←c0406;
                  (*  (ptr) (word) &var←c0406 ) = (* (( (ptr) gf←c44984)+47) );
                  (* (( (ptr) (word) &var←c0406) + 1) ) = var←c43320;
                  (void) XR←RaiseError((word) (( (bPt) gf←c44984)+192)/* var←c37496 */ , (word) &var←c0406);
                  };
               };
            };
SOURCE(17591, 11)
         (* (( (ptr) new←v14592)+1) ) = bc←v14536;
SOURCE(17604, 11)
         (* (( (ptr) new←v14592)+2) ) = ec←v14564;
SOURCE(17617, 20)
         nextOKbc←v14448 = (ec←v14564 + 1);
SOURCE(17639, 204)
         {
            register word i←v14636 = 0;
            register word noName←c43352;
            noName←c43352 = nt←v9368;
            if ((i←v14636 >= noName←c43352)) {
               goto lab←L100089;
               };
            lab←L100092: ;
            {
               word typefaceIndex←v14680;
               word charInfoRunIndex←v14708;
SOURCE(17664, 47)
               {
                  word idx209;
                  typefaceIndex←v14680 = (
                     idx209 = (word) GetCount←P2400(stream←v9340),
                     SGNCK(idx209)
                     );
                  };
SOURCE(17713, 53)
               {
                  word idx210;
                  charInfoRunIndex←v14708 = (
                     idx210 = (word) GetCount←P2400(stream←v9340),
                     SGNCK(idx210)
                     );
                  };
SOURCE(17768, 75)
               {
                  word var←c43384;
                  {
                     word limit211;
                     var←c43384 = (word) (( (W2Pt) (( (bPt) new←v14592)+16))+(
                           limit211 = (* (( (ptr) new←v14592)+3) ),
                           BCK(i←v14636, limit211)
                           ));
                     };
                  (*  (ptr) var←c43384 ) = typefaceIndex←v14680;
                  (* (( (ptr) var←c43384)+1) ) = charInfoRunIndex←v14708;
                  };
               };
            i←v14636 = (i←v14636 + 1);
            if ((i←v14636 < noName←c43352)) {
               goto lab←L100092;
               };
            lab←L100089: ;
            };
SOURCE(17854, 68)
         if ((last←v14392 == 0)) {
SOURCE(17873, 27)
            charRuns←v9412 = new←v14592;
            last←v14392 = new←v14592;
            }
         else {
SOURCE(17900, 22)
            {
               word var←c43448;
               var←c43448 = new←v14592;
               (*  (ptr) last←v14392 ) = new←v14592;
               last←v14392 = var←c43448;
               };
            };
         };
      i←v14492 = (i←v14492 + 1);
      if ((i←v14492 < count←v14420)) {
         goto lab←L100088;
         };
      lab←L100085: ;
      };
SOURCE(17933, 17)
   return(charRuns←v9412);
   }

static word GetCARD32←P2280(stream←v9472)
   word stream←v9472;
   {
   register ptr gf←c45016 =  (ptr) &globalframe;
   word var←c9516;
   word ln←v14752 = 0;
   /* GetCARD32: */ 
SOURCE(17955, 217)
SOURCE(18045, 26)
   {
      word pd212;
      pd212 = (* (( (ptr) (* (( (ptr) gf←c45016)+141)/* var←c39256 */  ))+11) );
      ln←v14752 = (ln←v14752 & 16777215) | (((word) ((word) ( *( (fPt) ((*  (ptr) pd212 ))))(stream←v9472, pd212) & 0377)) << 24)
      ;
      };
SOURCE(18073, 26)
   {
      word pd213;
      pd213 = (* (( (ptr) (* (( (ptr) gf←c45016)+141)/* var←c39256 */  ))+11) );
      ln←v14752 = (ln←v14752 & 4278255615) | (((word) ((word) ( *( (fPt) ((*  (ptr) pd213 ))))(stream←v9472, pd213) & 0377)) << 16)
      ;
      };
SOURCE(18101, 26)
   {
      word pd214;
      pd214 = (* (( (ptr) (* (( (ptr) gf←c45016)+141)/* var←c39256 */  ))+11) );
      ln←v14752 = (ln←v14752 & 4294902015) | (((word) ((word) ( *( (fPt) ((*  (ptr) pd214 ))))(stream←v9472, pd214) & 0377)) << 8)
      ;
      };
SOURCE(18129, 26)
   {
      word pd215;
      pd215 = (* (( (ptr) (* (( (ptr) gf←c45016)+141)/* var←c39256 */  ))+11) );
      ln←v14752 = (ln←v14752 & 4294967040) | ((word) ((word) ( *( (fPt) ((*  (ptr) pd215 ))))(stream←v9472, pd215) & 0377));
      };
SOURCE(18157, 15)
   return(ln←v14752);
   }

static word GetBYTE←P2340(stream←v9576)
   word stream←v9576;
   {
   register ptr gf←c45048 =  (ptr) &globalframe;
   word var←c9620;
   /* GetBYTE: */ 
SOURCE(18176, 80)
SOURCE(18229, 27)
   {
      word pd216;
      pd216 = (* (( (ptr) (* (( (ptr) gf←c45048)+141)/* var←c39256 */  ))+11) );
      return((word) ( *( (fPt) ((*  (ptr) pd216 ))))(stream←v9576, pd216));
      };
   }

static word GetCount←P2400(stream←v9680)
   word stream←v9680;
   {
   register ptr gf←c45080 =  (ptr) &globalframe;
   word count←v9724;
   word b←v14796;
   /* GetCount: */ 
SOURCE(18262, 228)
SOURCE(18262, 228)
   count←v9724 = 0;
SOURCE(18327, 28)
   {
      word pd217;
      pd217 = (* (( (ptr) (* (( (ptr) gf←c45080)+141)/* var←c39256 */  ))+11) );
      b←v14796 = (word) ( *( (fPt) ((*  (ptr) pd217 ))))(stream←v9680, pd217);
      };
SOURCE(18357, 26)
   if ((b←v14796 < 128)) {
SOURCE(18373, 10)
      return(b←v14796);
      };
SOURCE(18385, 71)
   lab←L100095: ;
   if ((b←v14796 >= 128)) {
      }
   else {
      goto lab←L100093;
      };
SOURCE(18403, 29)
   count←v9724 = (((word) count←v9724 << 7) + (b←v14796 - 128));
SOURCE(18434, 22)
   {
      word pd218;
      pd218 = (* (( (ptr) (* (( (ptr) gf←c45080)+141)/* var←c39256 */  ))+11) );
      b←v14796 = (word) ( *( (fPt) ((*  (ptr) pd218 ))))(stream←v9680, pd218);
      };
   goto lab←L100095;
   lab←L100093: ;
SOURCE(18467, 23)
   count←v9724 = (((word) count←v9724 << 7) + b←v14796);
SOURCE(18262, 228)
   return(count←v9724);
   }

static word GetIdentifier←P2460(stream←v9784)
   word stream←v9784;
   {
   register ptr gf←c45112 =  (ptr) &globalframe;
   word var←c9828;
   word size←v14840;
   word rope←v14868;
   /* GetIdentifier: */ 
SOURCE(18496, 167)
SOURCE(18555, 28)
   {
      word idx219;
      size←v14840 = (
         idx219 = (word) GetCount←P2400(stream←v9784),
         SGNCK(idx219)
         );
      };
SOURCE(18585, 62)
   {
      word pd220;
      pd220 = (* (( (ptr) (* (( (ptr) gf←c45112)+141)/* var←c39256 */  ))+92) );
      rope←v14868 = (word) ( *( (fPt) ((*  (ptr) pd220 ))))(stream←v9784, size←v14840, 1, pd220);
      };
SOURCE(18649, 14)
   return(rope←v14868);
   }

static word GetInteger←P2520(stream←v9888)
   word stream←v9888;
   {
   word var←c9932;
   word card←v14912;
   /* GetInteger: */ 
SOURCE(18667, 160)
SOURCE(18722, 29)
   card←v14912 = (word) GetCount←P2400(stream←v9888);
SOURCE(18753, 74)
   if (((card←v14912 & 1) == 1)) {
SOURCE(18776, 31)
      return(INEG(((word) (card←v14912 + 1) >> 1)));
      }
   else {
SOURCE(18807, 20)
      return(((word) card←v14912 >> 1));
      };
   }

static word GetREAL←P2580(stream←v9992)
   word stream←v9992;
   {
   register ptr gf←c45144 =  (ptr) &globalframe;
   word var←c10036;
   word exponent←v14956;
   word significand←v14984;
   /* GetREAL: */ 
SOURCE(18833, 189)
SOURCE(18914, 32)
   significand←v14984 = (word) GetInteger←P2520(stream←v9992);
SOURCE(18948, 29)
   exponent←v14956 = (word) GetInteger←P2520(stream←v9992);
SOURCE(18979, 43)
   {
      word pd221;
      float tf222;
      pd221 = (* (( (ptr) (* (( (ptr) gf←c45144)+147)/* var←c43576 */  ))+4) );
      return((word) ( *( (fPt) ((*  (ptr) pd221 ))))((
            tf222 = (float)(int)significand←v14984,  *(word*)&tf222
            ), exponent←v14956, pd221));
      };
   }

static void NoName←Q5448(formal←c0442, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0442;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0517 =  (ptr) &globalframe;
   if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0517)+141)/* var←c39256 */  ))+4) ))) {
      {
         word stream←v36172;
         stream←v36172 = (*  (ptr) formal←c200015 );
SOURCE(13658, 54)
         {
            word var←c41528;
            {
               word pd223;
               pd223 = (* (( (ptr) (* (( (ptr) gf←c0517)+141)/* var←c39256 */  ))+29) );
               var←c41528 = (word) ( *( (fPt) ((*  (ptr) pd223 ))))(stream←v36172, pd223);
               };
            {
               W2 var←c0439;
               (*  (ptr) (word) &var←c0439 ) = (* (( (ptr) gf←c0517)+42) );
               (* (( (ptr) (word) &var←c0439) + 1) ) = var←c41528;
               (void) XR←RaiseError((word) (( (bPt) gf←c0517)+192)/* var←c37496 */ , (word) &var←c0439);
               };
            };
         };
      }
   else {
      if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0517)+145)/* var←c41560 */  ))+8) ))) {
SOURCE(13742, 45)
         {
            word var←c41592;
            {
               word pd224;
               pd224 = (* (( (ptr) (* (( (ptr) gf←c0517)+141)/* var←c39256 */  ))+29) );
               var←c41592 = (word) ( *( (fPt) ((*  (ptr) pd224 ))))((* ((( (ptr) formal←c200012)+4)) ), pd224);
               };
            {
               W2 var←c0441;
               (*  (ptr) (word) &var←c0441 ) = (* (( (ptr) gf←c0517)+41) );
               (* (( (ptr) (word) &var←c0441) + 1) ) = var←c41592;
               (void) XR←RaiseError((word) (( (bPt) gf←c0517)+192)/* var←c37496 */ , (word) &var←c0441);
               };
            };
         };
      };
   (*  (ptr) formal←c0442 ) = 0;
   (* (( (ptr) formal←c0442)+1) ) = 0;
   return;
   }

static void NoName←Q5508(formal←c0448, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0448;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0518 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0518)+144)/* var←c41016 */  ))+4) ))) {
      {
         W3 error←v35708;
         error←v35708 = (*  (W3Pt) formal←c200011 );
SOURCE(9761, 17)
         (*  (W3Pt) (( (ptr) formal←c200008)+4) ) = error←v35708;
SOURCE(9780, 8)
         (*  (ptr) formal←c0448 ) = 2;
         (* (( (ptr) formal←c0448)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0448 ) = 0;
   (* (( (ptr) formal←c0448)+1) ) = 0;
   return;
   }

static void NoName←Q5568(formal←c0454, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0454;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0519 =  (ptr) &globalframe;
   if ((formal←c200005 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0519)+140)/* var←c39096 */  ))+6) ) ))) {
      {
         W3 error←v35392;
         error←v35392 = (*  (W3Pt) formal←c200007 );
SOURCE(8812, 9)
         (*  (ptr) formal←c0454 ) = 2;
         (* (( (ptr) formal←c0454)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0454 ) = 0;
   (* (( (ptr) formal←c0454)+1) ) = 0;
   return;
   }

static void NoName←Q5628(formal←c0470, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0470;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0520 =  (ptr) &globalframe;
   if ((formal←c200001 == (word) (( (bPt) gf←c0520)+192)/* var←c37496 */ )) {
      {
         word diagnosis←v31300;
         word byteIndex←v31328;
         diagnosis←v31300 = (*  (ptr) formal←c200003 );
         byteIndex←v31328 = (* (( (ptr) formal←c200003)+1) );
SOURCE(1970, 200)
         {
            word name←v10108;
SOURCE(1972, 45)
            {
               word pd225;
               pd225 = (* (( (ptr) (* (( (ptr) gf←c0520)+139)/* var←c39064 */  ))+16) );
               name←v10108 = (word) ( *( (fPt) ((*  (ptr) pd225 ))))((* ((( (ptr) formal←c200000)+4)) ), pd225);
               };
SOURCE(2019, 7759)
            {
               word var←c39128;
               word var←c39288;
               {
                  W2 var←c39160;
                  W2 var←c39192;
                  W2 var←c0525;
                  var←c39160.f0 = 11;
                  var←c39160.f1 = name←v10108;
                  var←c39192.f0 = 5;
                  var←c39192.f1 = byteIndex←v31328;
                  (*  (ptr) (word) &var←c0525 ) = 0;
                  (* (( (ptr) (word) &var←c0525) + 1) ) = 0;
                  {
                     word pd226;
                     pd226 = (* (( (ptr) (* (( (ptr) gf←c0520)+141)/* var←c39256 */  ))+62) );
                     var←c39128 = (word) ( *( (fPt) ((*  (ptr) pd226 ))))((* (( (ptr) gf←c0520)+44) ), var←c39160, var←c39192, var←c0525, pd226)
                     ;
                     };
                  };
               {
                  word var←c39320;
                  word var←c39352;
                  var←c39320 = XR←NewObject(12, (* (( (ptr) gf←c0520)+22) ));
                  var←c39352 = var←c39320;
                  (*  (ptr) var←c39352 ) = (* (( (ptr) gf←c0520)+43) );
                  (* (( (ptr) var←c39352)+1) ) = name←v10108;
                  var←c39288 = var←c39320;
                  };
               {
                  W3 var←c0469;
                  var←c0469.f0 = 43;
                  var←c0469.f1 = var←c39128;
                  var←c0469.f2 = var←c39288;
                  (void) XR←RaiseError((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0520)+140)/* var←c39096 */  ))+6) ) ), (word) &var←c0469);
                  };
               };
            };
         };
      };
   (*  (ptr) formal←c0470 ) = 0;
   (* (( (ptr) formal←c0470)+1) ) = 0;
   return;
   }

/* file: ImagerFDTypefaceImpl, module: ImagerFDTypefaceImpl, compiled at: July 28, 1993 10:18:22 am PDT */ 
extern void XR←install←ImagerFDTypefaceImpl() {
   NoName←Q5148();
   }
extern void XR←run←ImagerFDTypefaceImpl() { XR←Start(&globalframe); }