/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 28, 1993 10:14:45 am PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: ImagerCDTypefaceImpl, module: ImagerCDTypefaceImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [2453787825,2232377111] ImagerCDTypefaceImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2;} W3; typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef W3 *W3Pt; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {W8 f; W8 r;} W16; typedef struct {W16 f; word r;} W17; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef struct {W16 f; W16 r;} W32; typedef struct {W8 f; W7 r;} W15; typedef struct {W16 f; W15 r;} W31; typedef struct {W32 f; W31 r;} W63; typedef W63 *W63Pt; typedef struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; static float fc1 = 0.9875; static float fc2 = 1.0125; static float fc3 = 0.01; #define SOURCE(p, l) /* source p, l */ #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) #define IOP2(op, x, y) ( (word) ((x) op (y)) ) static float fc76 = 0.0; static float fc85 = 25400.0; #define INEG(x) ( (word) ( - ((int) (word) (x)) ) ) static float fc91 = 60.0; #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) static float fc151 = 0.5; static float fc157 = -0.05; static float fc158 = 0.45; static float fc159 = 0.6; #define FMIN(x, y, tx, ty) ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty ) #define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty ) static float fc189 = 90.0; static float fc192 = 45.0; #define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) ) static float fc198 = 1.666667E-2; static float fc224 = 0.05; static float fc225 = 0.4; static float fc230 = 1.0; static void NoName←Q5124(); static void ImagerCDTypefaceImpl←P0(); static void RawFetch←P180(); static void ReadIXHeader←P240(); static void ReadRasterDefn←P300(); static word CDCreate←P360(); static word NoName←Q5184(); static void DecodeFamily←P420(); static word TypefaceFromRopes←P480(); static void ValidateFamilyAndFace←P2076(); static word P←P2424(); static word PropListFromGroups←P540(); static word InOrder←P600(); static word SortGroups←P660(); static word BuildSetTable←P720(); static void TransformBox←P780(); static void GetCharacterData←P840(); static word CDContains←P900(); static word CDNextChar←P960(); static void CDEscapement←P1020(); static word CDAmplified←P1080(); static word CDCorrection←P1140(); static void CDBoundingBox←P1200(); static void CDFontBoundingBox←P1260(); static void CDKern←P1320(); static word CDNextKern←P1380(); static word CDLigature←P1440(); static word CDNextLigature←P1500(); static word GetBitmap←P1560(); static word Right←P1620(); static word FindBestGroup←P1680(); static word GetClientToDevice←P1740(); static word NoName←Q5244(); static void CDMask←P1800(); static word CloseToIdentity←P1860(); static word CDMakeCharMask←P1920(); static void NoName←Q5304(); static void NoName←Q5364(); static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\200\000\000"}; static struct {unsigned f; char r[8];} string5 = {458759, "\006\002\000\001@@\001"}; static struct {unsigned f; char r[4];} string6 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string7 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\222\101\324\261\300\205\017\137\027\100\244\000\000"}; static struct {unsigned f; char r[28];} string9 = {1769500, "\205\210\210\241\000\300\000\377\377\377\000\100\376\216\257\300\222\101\324\261\300\205\017\137\027\100\230"}; static struct {unsigned f; char r[8];} string10 = {393222, "\010\000\004@\377\001\000"}; static struct {unsigned f; char r[16];} string11 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\222\101\324\261\300\205\017\137\027\100\230\000\000"}; static struct {unsigned f; char r[12];} string13 = {589833, "\011\000\004\100\100\040\000\014\001\000\000"}; static struct {unsigned f; char r[20];} string14 = {1245204, "\254\205\210\210\241\000\300\000\377\377\377\000\100\376\210\241\000\100\377"}; static struct {unsigned f; char r[48];} string15 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"}; static struct {unsigned f; char r[4];} string16 = {131074, "\004\003\000"}; static struct {unsigned f; char r[20];} string17 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\164\000\000"}; static struct {unsigned f; char r[44];} string19 = {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];} string20 = {131074, "\004\007\000"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\222\101\324\261\300\205\017\137\027\100\200\000\000"}; static struct {unsigned f; char r[4];} string22 = {131074, "\004\005\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\222\101\324\261\300\205\017\137\027\101\130\000\000"}; static struct {unsigned f; char r[12];} string24 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\222\101\324\261\300\205\017\137\027\100\274\000\000"}; static struct {unsigned f; char r[4];} string26 = {196611, "\004A\001"}; static struct {unsigned f; char r[48];} string27 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\222\101\324\261\300\205\017\137\027\100\274\005\004\162\145\163\164\214\216\257\300\222\101\324\261\300\205\017\137\027\100\274\261\000\000\000"}; static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\164\000\000"}; static struct {unsigned f; char r[4];} string29 = {196611, "\004@\357"}; static struct {unsigned f; char r[8];} string30 = {262152, "name\000\000\000"}; static struct {unsigned f; char r[16];} string31 = {917520, " is malformed.\000"}; static struct {unsigned f; char r[12];} string32 = {655372, "Font file \000"}; static struct {unsigned f; char r[32];} string33 = {1835040, "pixelArrayTransformationUses\000\000\000"}; static struct {unsigned f; char r[12];} string34 = {655372, "cd-bitmaps\000"}; static struct {unsigned f; char r[8];} string35 = {393224, "cd-300\000"}; static struct {unsigned f; char r[4];} string36 = {131076, "CD\000"}; static struct {unsigned f; char r[4];} string37 = {131076, "AC\000"}; static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\222\101\324\261\300\205\017\137\027\100\164\000\000"}; static struct {unsigned f; char r[12];} string39 = {589833, "\006\002\044\001\100\230\004\101\377\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\000\172\225\152\300\104\041\252\375\100\150\000\000"}; static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\100\150\000\000"}; static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"}; static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\041\257\203\366\300\322\161\356\007\100\150\000\000"}; static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\150\000\000"}; static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct { word f0[4]; word f4; word f5; word f6[114]; } globalframe = { {0}, (word) 1, (word) 1, {0} }; static void NoName←Q5124() { register ptr gf←c0400 = (ptr) &globalframe; word var←c42768; (* (( (ptr) gf←c0400)+6)/* minScale←v4680 */ ) = (* (ptr) &fc1 ); (* (( (ptr) gf←c0400)+7)/* maxScale←v4708 */ ) = (* (ptr) &fc2 ); (* (( (ptr) gf←c0400)+8)/* tolerance←v4820 */ ) = (* (ptr) &fc3 ); (* (( (ptr) gf←c0400)+108) ) = ( ((word) (fPt) ImagerCDTypefaceImpl←P0) ); (* (( (ptr) gf←c0400)+106) ) = ( ((word) (fPt) RawFetch←P180) ); (* (( (ptr) gf←c0400)+104) ) = ( ((word) (fPt) ReadIXHeader←P240) ); (* (( (ptr) gf←c0400)+102) ) = ( ((word) (fPt) ReadRasterDefn←P300) ); (* (( (ptr) gf←c0400)+100) ) = ( ((word) (fPt) CDCreate←P360) ); (* (( (ptr) gf←c0400)+98) ) = ( ((word) (fPt) DecodeFamily←P420) ); (* (( (ptr) gf←c0400)+96) ) = ( ((word) (fPt) TypefaceFromRopes←P480) ); (* (( (ptr) gf←c0400)+94) ) = ( ((word) (fPt) PropListFromGroups←P540) ); (* (( (ptr) gf←c0400)+92) ) = ( ((word) (fPt) InOrder←P600) ); (* (( (ptr) gf←c0400)+90) ) = ( ((word) (fPt) SortGroups←P660) ); (* (( (ptr) gf←c0400)+88) ) = ( ((word) (fPt) BuildSetTable←P720) ); (* (( (ptr) gf←c0400)+86) ) = ( ((word) (fPt) TransformBox←P780) ); (* (( (ptr) gf←c0400)+84) ) = ( ((word) (fPt) GetCharacterData←P840) ); (* (( (ptr) gf←c0400)+82) ) = ( ((word) (fPt) CDContains←P900) ); (* (( (ptr) gf←c0400)+80) ) = ( ((word) (fPt) CDNextChar←P960) ); (* (( (ptr) gf←c0400)+78) ) = ( ((word) (fPt) CDEscapement←P1020) ); (* (( (ptr) gf←c0400)+76) ) = ( ((word) (fPt) CDAmplified←P1080) ); (* (( (ptr) gf←c0400)+74) ) = ( ((word) (fPt) CDCorrection←P1140) ); (* (( (ptr) gf←c0400)+72) ) = ( ((word) (fPt) CDBoundingBox←P1200) ); (* (( (ptr) gf←c0400)+70) ) = ( ((word) (fPt) CDFontBoundingBox←P1260) ); (* (( (ptr) gf←c0400)+68) ) = ( ((word) (fPt) CDKern←P1320) ); (* (( (ptr) gf←c0400)+66) ) = ( ((word) (fPt) CDNextKern←P1380) ); (* (( (ptr) gf←c0400)+64) ) = ( ((word) (fPt) CDLigature←P1440) ); (* (( (ptr) gf←c0400)+62) ) = ( ((word) (fPt) CDNextLigature←P1500) ); (* (( (ptr) gf←c0400)+60) ) = ( ((word) (fPt) GetBitmap←P1560) ); (* (( (ptr) gf←c0400)+58) ) = ( ((word) (fPt) Right←P1620) ); (* (( (ptr) gf←c0400)+56) ) = ( ((word) (fPt) FindBestGroup←P1680) ); (* (( (ptr) gf←c0400)+54) ) = ( ((word) (fPt) GetClientToDevice←P1740) ); (* (( (ptr) gf←c0400)+52) ) = ( ((word) (fPt) CDMask←P1800) ); (* (( (ptr) gf←c0400)+50) ) = ( ((word) (fPt) CloseToIdentity←P1860) ); (* (( (ptr) gf←c0400)+48) ) = ( ((word) (fPt) CDMakeCharMask←P1920) ); (* (( (ptr) gf←c0400)+10) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (( (ptr) gf←c0400)+11) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (* (( (ptr) gf←c0400)+12) ) = (word) XR←GetTypeIndexS((word) (&string8)); (* (( (ptr) gf←c0400)+16) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c0400)+20) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string7); (* (( (ptr) gf←c0400)+21) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13); (* (( (ptr) gf←c0400)+22) ) = (word) XR←GetTypeIndexS((word) (&string14)); (* (( (ptr) gf←c0400)+25) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16); (* (( (ptr) gf←c0400)+26) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string16); (* (( (ptr) gf←c0400)+27) ) = (word) XR←GetTypeIndexS((word) (&string18)); (* (( (ptr) gf←c0400)+28) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20); (* (( (ptr) gf←c0400)+31) ) = (word) XR←GetTypeIndex((word) &string21, 0, (word) &string22); (* (( (ptr) gf←c0400)+32) ) = (word) XR←GetTypeIndex((word) &string23, 0, (word) &string24); (* (( (ptr) gf←c0400)+33) ) = (word) XR←GetTypeIndex((word) &string25, 0, (word) &string26); (* (( (ptr) gf←c0400)+34) ) = (word) XR←GetTypeIndex((word) &string27, 0, (word) &string16); (* (( (ptr) gf←c0400)+35) ) = (word) XR←GetTypeIndex((word) &string28, 0, (word) &string29); (* (ptr) (( (bPt) gf←c0400)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+11) ), (word) &string30); (* (ptr) (( (bPt) gf←c0400)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+20) ), (word) &string31); (* (ptr) (( (bPt) gf←c0400)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+20) ), (word) &string32); (* (ptr) (( (bPt) gf←c0400)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+11) ), (word) &string33); (* (ptr) (( (bPt) gf←c0400)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+20) ), (word) &string34); (* (ptr) (( (bPt) gf←c0400)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+20) ), (word) &string35); (* (ptr) (( (bPt) gf←c0400)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+20) ), (word) &string36); (* (ptr) (( (bPt) gf←c0400)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+20) ), (word) &string37); (* (ptr) (( (bPt) gf←c0400)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0400)+11) ), (word) &string36); (void) XR←DeclareGlobalFrame((word) "ImagerCDTypefaceImpl", &globalframe, (word) XR←GetTypeIndex((word) &string38, 0, (word) &string39) , (word) (( (bPt) gf←c0400)+432)/* var←c38928 */ ); var←c42768 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string40)), 84); (* (( (ptr) gf←c0400)+113)/* var←c39376 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 1326338); (void) XR←ImportProcS(var←c42768, 1853957); (void) XR←ImportProcS(var←c42768, 526850); var←c42768 = (word) XR←ImportInterface((word) "ImagerBackdoor", (word) XR←GetTypeIndexS((word) (&string41)), 42); (* (( (ptr) gf←c0400)+118)/* var←c42544 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 67899395); var←c42768 = (word) XR←ImportInterface((word) "ImagerBox", (word) XR←GetTypeIndexS((word) (&string42)), 7); (* (( (ptr) gf←c0400)+116)/* var←c41168 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 269484545); (void) XR←ImportProcS(var←c42768, 269484801); (void) XR←ImportProcS(var←c42768, 269484289); (void) XR←ImportProcS(var←c42768, 270533890); (void) XR←ImportProcS(var←c42768, 269484033); var←c42768 = (word) XR←ImportInterface((word) "ImagerMaskCache", (word) XR←GetTypeIndexS((word) (&string43)), 21); (* (( (ptr) gf←c0400)+119)/* var←c42736 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 67371521); var←c42768 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string44)), 60); (* (( (ptr) gf←c0400)+117)/* var←c42416 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 267009); (void) XR←ImportProcS(var←c42768, 68686339); var←c42768 = (word) XR←ImportInterface((word) "ImagerSys", (word) XR←GetTypeIndexS((word) (&string45)), 15); (* (( (ptr) gf←c0400)+112)/* var←c39216 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 67373825); (void) XR←ImportProcS(var←c42768, 67374081); var←c42768 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string46)), 55); (* (( (ptr) gf←c0400)+114)/* var←c40240 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 262401); (void) XR←ImportProcS(var←c42768, 402927105); (void) XR←ImportProcS(var←c42768, 67635458); (void) XR←ImportProcS(var←c42768, 269756930); (void) XR←ImportProcS(var←c42768, 135013378); (void) XR←ImportProcS(var←c42768, 134493185); (void) XR←ImportProcS(var←c42768, 67645698); (void) XR←ImportProcS(var←c42768, 67383297); (void) XR←ImportProcS(var←c42768, 530178); (void) XR←ImportProcS(var←c42768, 67634177); var←c42768 = (word) XR←ImportInterface((word) "ImagerTypeface", (word) XR←GetTypeIndexS((word) (&string47)), 12); (* (( (ptr) gf←c0400)+110)/* var←c39024 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 67371777); (void) XR←ImportProcS(var←c42768, 67635202); (void) XR←ImportProcS(var←c42768, 526082); var←c42768 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string48)), 11); (* (( (ptr) gf←c0400)+115)/* var←c40976 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 67633154); (void) XR←ImportProcS(var←c42768, 67372033); (void) XR←ImportProcS(var←c42768, 67634434); var←c42768 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string49)), 43); (* (( (ptr) gf←c0400)+111)/* var←c39184 */ ) = var←c42768; (void) XR←ImportProcS(var←c42768, 67896323); (void) XR←ImportProcS(var←c42768, 67901955); (void) XR←ImportProcS(var←c42768, 68160516); (void) XR←ImportProcS(var←c42768, 67902211); (void) XR←ImportProcS(var←c42768, 67898627); (void) XR←ImportProcS(var←c42768, 67373825); (void) XR←ImportProcS(var←c42768, 68419845); (void) XR←ImportProcS(var←c42768, 67634434); (void) XR←ImportProcS(var←c42768, 68429059); } static void ImagerCDTypefaceImpl←P0(formal←c062, formal←c056) word formal←c062; word formal←c056; { register ptr gf←c42800 = (ptr) &globalframe; /* ImagerCDTypefaceImpl: */ SOURCE(1011, 22420) /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ SOURCE(22626, 409) { word var←c38960; var←c38960 = XR←NewObject(68, (* (( (ptr) gf←c42800)+10) )); (* (ptr) var←c38960 ) = (* (( (ptr) gf←c42800)+46) ); (* (( (ptr) var←c38960)+2) ) = (word) (( (bPt) gf←c42800)+328)/* var←c38512 */ ; (* (( (ptr) var←c38960)+3) ) = (word) (( (bPt) gf←c42800)+320)/* var←c38480 */ ; (* (( (ptr) var←c38960)+4) ) = (word) (( (bPt) gf←c42800)+312)/* var←c38448 */ ; (* (( (ptr) var←c38960)+5) ) = (word) (( (bPt) gf←c42800)+304)/* var←c38416 */ ; (* (( (ptr) var←c38960)+6) ) = (word) (( (bPt) gf←c42800)+296)/* var←c38384 */ ; (* (( (ptr) var←c38960)+7) ) = (word) (( (bPt) gf←c42800)+288)/* var←c38352 */ ; (* (( (ptr) var←c38960)+8) ) = (word) (( (bPt) gf←c42800)+280)/* var←c38320 */ ; (* (( (ptr) var←c38960)+9) ) = (word) (( (bPt) gf←c42800)+256)/* var←c38224 */ ; (* (( (ptr) var←c38960)+10) ) = (word) (( (bPt) gf←c42800)+248)/* var←c38192 */ ; (* (( (ptr) var←c38960)+11) ) = (word) (( (bPt) gf←c42800)+272)/* var←c38288 */ ; (* (( (ptr) var←c38960)+12) ) = (word) (( (bPt) gf←c42800)+264)/* var←c38256 */ ; (* (( (ptr) var←c38960)+13) ) = (word) (( (bPt) gf←c42800)+208)/* var←c38032 */ ; (* (( (ptr) var←c38960)+14) ) = (word) (( (bPt) gf←c42800)+192)/* var←c37968 */ ; (* (( (ptr) var←c38960)+15) ) = XR←CheckProc(0); (* (( (ptr) gf←c42800)+9)/* cdClass←v4904 */ ) = var←c38960; }; SOURCE(23038, 87) { word var←c38992; { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c42800)+110)/* var←c39024 */ ))+12) ); var←c38992 = (word) ( *( (fPt) ((* (ptr) pd50 ))))((* (( (ptr) gf←c42800)+45) ), (word) (( (bPt) gf←c42800)+400)/* var←c38800 */ , pd50) ; }; { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf←c42800)+110)/* var←c39024 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd51 ))))(var←c38992, 0, pd51); }; }; SOURCE(23127, 87) { word var←c39056; { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c42800)+110)/* var←c39024 */ ))+12) ); var←c39056 = (word) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) gf←c42800)+44) ), (word) (( (bPt) gf←c42800)+400)/* var←c38800 */ , pd52) ; }; { word pd53; pd53 = (* (( (ptr) (* (( (ptr) gf←c42800)+110)/* var←c39024 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd53 ))))(var←c39056, 0, pd53); }; }; SOURCE(23216, 91) { word var←c39088; { word pd54; pd54 = (* (( (ptr) (* (( (ptr) gf←c42800)+110)/* var←c39024 */ ))+12) ); var←c39088 = (word) ( *( (fPt) ((* (ptr) pd54 ))))((* (( (ptr) gf←c42800)+43) ), (word) (( (bPt) gf←c42800)+400)/* var←c38800 */ , pd54) ; }; { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf←c42800)+110)/* var←c39024 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd55 ))))(var←c39088, 0, pd55); }; }; SOURCE(23336, 95) { word var←c39120; { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c42800)+110)/* var←c39024 */ ))+12) ); var←c39120 = (word) ( *( (fPt) ((* (ptr) pd56 ))))((* (( (ptr) gf←c42800)+42) ), (word) (( (bPt) gf←c42800)+400)/* var←c38800 */ , pd56) ; }; { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c42800)+110)/* var←c39024 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd57 ))))(var←c39120, 0, pd57); }; }; } static void RawFetch←P180(base←v6032, byteOffset←v6060, destination←v6088, nBytes←v6116) word base←v6032; word byteOffset←v6060; word destination←v6088; word nBytes←v6116; { register ptr gf←c42832 = (ptr) &globalframe; word bytesMoved←v10524; /* RawFetch: */ SOURCE(2542, 1511) SOURCE(2648, 127) { W3 var←c39152; var←c39152.f0 = destination←v6088; var←c39152.f1 = 0; var←c39152.f2 = nBytes←v6116; { word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf←c42832)+111)/* var←c39184 */ ))+41) ); bytesMoved←v10524 = (word) ( *( (fPt) ((* (ptr) pd58 ))))(var←c39152, base←v6032, byteOffset←v6060, pd58); }; }; SOURCE(2777, 27) SOURCE(2417, 40) if (( (int)bytesMoved←v10524 != (int)nBytes←v6116)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c42832)+188)/* var←c37936 */ , 0); }; } static void ReadIXHeader←P240(formal←c074, base←v6280, byteOffset←v6308) word formal←c074; word base←v6280; word byteOffset←v6308; { register ptr gf←c42864 = (ptr) &globalframe; W2 ix←v6352; word bytes←v10568 = 0; word header←v10596; /* ReadIXHeader: */ SOURCE(2889, 1164) SOURCE(3031, 35) header←v10596 = 0; SOURCE(3068, 985) { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf←c42864)+111)/* var←c39184 */ ))+9) ); bytes←v10568 = (bytes←v10568 & 4294902015) | (((word) ((word) ( *( (fPt) ((* (ptr) pd59 ))))(base←v6280, byteOffset←v6308, pd59) & 0377)) << 8); }; SOURCE(3131, 922) { word pd60; pd60 = (* (( (ptr) (* (( (ptr) gf←c42864)+111)/* var←c39184 */ ))+9) ); bytes←v10568 = (bytes←v10568 & 4294967040) | ((word) ((word) ( *( (fPt) ((* (ptr) pd60 ))))(base←v6280, (byteOffset←v6308 + 1), pd60) & 0377)); }; SOURCE(3196, 24) header←v10596 = bytes←v10568; SOURCE(3222, 21) ix←v6352.f0 = (unsigned) (((unsigned)header←v10596 << 16) >> 28); SOURCE(3245, 25) ix←v6352.f1 = (unsigned) (header←v10596 & 07777); /* removed tail goto */ (* (W2Pt) formal←c074 ) = ix←v6352; return; } static void ReadRasterDefn←P300(formal←c080, base←v6524, byteOffset←v6552) word formal←c080; word base←v6524; word byteOffset←v6552; { register ptr gf←c42896 = (ptr) &globalframe; W2 rd←v6596; word bytes←v10768 = 0; word raster←v10796; /* ReadRasterDefn: */ SOURCE(3341, 712) SOURCE(3487, 37) raster←v10796 = 0; SOURCE(3526, 527) { word pd61; pd61 = (* (( (ptr) (* (( (ptr) gf←c42896)+111)/* var←c39184 */ ))+9) ); bytes←v10768 = (bytes←v10768 & 4294902015) | (((word) ((word) ( *( (fPt) ((* (ptr) pd61 ))))(base←v6524, byteOffset←v6552, pd61) & 0377)) << 8); }; SOURCE(3589, 464) { word pd62; pd62 = (* (( (ptr) (* (( (ptr) gf←c42896)+111)/* var←c39184 */ ))+9) ); bytes←v10768 = (bytes←v10768 & 4294967040) | ((word) ((word) ( *( (fPt) ((* (ptr) pd62 ))))(base←v6524, (byteOffset←v6552 + 1), pd62) & 0377)); }; SOURCE(3654, 24) raster←v10796 = bytes←v10768; SOURCE(3680, 25) rd←v6596.f0 = (unsigned) (((unsigned)raster←v10796 << 16) >> 26); SOURCE(3707, 23) rd←v6596.f1 = (unsigned) (raster←v10796 & 01777); /* removed tail goto */ (* (W2Pt) formal←c080 ) = rd←v6596; return; } static word CDCreate←P360(stream←v6656) word stream←v6656; { W7 var←c42928; register ptr gf←c42960 = (ptr) &globalframe; word var←c6700; /* declaration of name←v10968 skipped */ word base←v10996; /* CDCreate: */ SOURCE(3736, 317) SOURCE(3794, 45) { word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf←c42960)+112)/* var←c39216 */ ))+16) ); var←c42928.f4/* name←v10968 */ = (word) ( *( (fPt) ((* (ptr) pd63 ))))(stream←v6656, pd63); }; SOURCE(3841, 45) { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf←c42960)+112)/* var←c39216 */ ))+15) ); base←v10996 = (word) ( *( (fPt) ((* (ptr) pd64 ))))(stream←v6656, pd64); }; SOURCE(3888, 165) { word var←c39312; word var←c39344; /* declaration of var←c39280 skipped */ var←c39312 = XR←NewObject(8, (* (( (ptr) gf←c42960)+25) )); var←c39344 = var←c39312; (* (ptr) var←c39344 ) = base←v10996; var←c42928.f5/* var←c39280 */ = var←c39312; { /* declaration of var←c01 skipped */ (void) (word) XR←Enable(( ((word) (fPt) NoName←Q5184) ), ( ((word) (fPt) NoName←Q5364) ), (word) &var←c42928); return(var←c42928.f6/* var←c01 */ ); }; }; } static word NoName←Q5184(formal←c0406) word formal←c0406; { SOURCE(3888, 165) (* (( (ptr) formal←c0406)+6) ) = (word) TypefaceFromRopes←P480((* ((( (ptr) formal←c0406)+5)) )); return(0); } static void DecodeFamily←P420(formal←c097, family←v6964) word formal←c097; word family←v6964; { register ptr gf←c42992 = (ptr) &globalframe; W3 var←c7008; word size←v11040; word charSet←v11068 = 0; word hasCharSet←v11096 = 0; /* DecodeFamily: */ SOURCE(4777, 513) SOURCE(4839, 29) { word pd65; word idx66; pd65 = (* (( (ptr) (* (( (ptr) gf←c42992)+111)/* var←c39184 */ ))+15) ); size←v11040 = ( idx66 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(family←v6964, pd65), SGNCK(idx66) ); }; SOURCE(4915, 20) SOURCE(2417, 40) if ((family←v6964 == 0)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c42992)+188)/* var←c37936 */ , 0); }; SOURCE(4937, 196) if ((size←v11040 >= 3)) { SOURCE(4957, 17) hasCharSet←v11096 = 1; SOURCE(4976, 157) { register word i←v11140; i←v11140 = (size←v11040 - 3); if (( (int)i←v11140 >= (int)size←v11040)) { goto lab←L100005; }; lab←L100008: ; { word c←v11184; SOURCE(5010, 31) { word pd67; pd67 = (* (( (ptr) (* (( (ptr) gf←c42992)+111)/* var←c39184 */ ))+9) ); c←v11184 = (word) ( *( (fPt) ((* (ptr) pd67 ))))(family←v6964, i←v11140, pd67); }; SOURCE(5043, 90) if (((c←v11184 - 48) <= 7)) { SOURCE(5066, 28) { word idx68; charSet←v11068 = ( idx68 = (word) (((word) charSet←v11068 << 3) + (c←v11184 - 48)), BCK(idx68, 256) ); }; } else { SOURCE(5102, 18) hasCharSet←v11096 = 0; SOURCE(5122, 11) charSet←v11068 = 0; SOURCE(5135, 4) goto lab←L100006; }; }; i←v11140 = (i←v11140 + 1); if (( (int)i←v11140 < (int)size←v11040)) { goto lab←L100008; }; lab←L100005: ; lab←L100006: ; }; }; SOURCE(5154, 136) { W3 var←c39600; { W3 var←c39568; { word pd69; if ((0 != hasCharSet←v11096)) { pd69 = (* (( (ptr) (* (( (ptr) gf←c42992)+111)/* var←c39184 */ ))+17) ); var←c39568.f0 = (word) ( *( (fPt) ((* (ptr) pd69 ))))(family←v6964, 0, (size←v11040 - 3), pd69); } else { var←c39568.f0 = family←v6964; }; }; var←c39568.f1 = hasCharSet←v11096; var←c39568.f2 = charSet←v11068; var←c39600 = var←c39568; }; var←c7008 = var←c39600; /* removed tail goto */ }; (* (W3Pt) formal←c097 ) = var←c7008; return; } static word TypefaceFromRopes←P480(contents←v7068) word contents←v7068; { W17 var←c43024; register ptr gf←c43056 = (ptr) &globalframe; word var←c7196; /* declaration of var←c39632 skipped */ /* declaration of var←c39664 skipped */ word data←v11228; W2 ix←v11256; /* declaration of indexFace←v11284 skipped */ /* declaration of indexFamilySansCharSet←v11312 skipped */ word groups←v11340 = 0; /* TypefaceFromRopes: */ SOURCE(5294, 4635) { word tmpAddr70; tmpAddr70 = (word) (( (ptr) &var←c43024)+4)/* var←c39632 */ ; (* (ptr) tmpAddr70 ) = ( ((word) (fPt) P←P2424) ); (* (( (ptr) tmpAddr70) + 1) ) = 1; }; { word tmpAddr71; tmpAddr71 = (word) (( (ptr) &var←c43024)+6)/* var←c39664 */ ; (* (ptr) tmpAddr71 ) = ( ((word) (fPt) ValidateFamilyAndFace←P2076) ); (* (( (ptr) tmpAddr71) + 1) ) = 1; }; SOURCE(5366, 30) data←v11228 = XR←NewObject(12, (* (( (ptr) gf←c43056)+31) )); SOURCE(5412, 19) (* (( (ptr) &var←c43024)+8)/* indexFace←v11284 */ ) = 0; SOURCE(5433, 34) (* (( (ptr) &var←c43024)+9)/* indexFamilySansCharSet←v11312 */ ) = 0; SOURCE(5790, 3809) { register word each←v11584; each←v11584 = contents←v7068; lab←L100012: ; if ((each←v11584 != 0)) { } else { goto lab←L100009; }; { word base←v11712; word byteOffset←v11740 = 0; word nameTable←v11768 = 0; word maxNameCode←v11796 = 0; SOURCE(5855, 23) base←v11712 = (* (ptr) each←v11584 ); SOURCE(5956, 463) lab←L100015: ; SOURCE(5956, 463) SOURCE(6060, 35) (void) ReadIXHeader←P240((word) &ix←v11256, base←v11712, byteOffset←v11740); SOURCE(6097, 254) { word var←c39728; var←c39728 = ix←v11256.f0; if ((var←c39728 == 0)) { SOURCE(6124, 4) goto lab←L100014; } else { if ((var←c39728 == 1)) { SOURCE(6138, 215) { W6 name←v11884; SOURCE(6140, 39) name←v11884.f5 = 0; SOURCE(6248, 59) SOURCE(6250, 57) (void) RawFetch←P180(base←v11712, (byteOffset←v11740 + 2), (word) &name←v11884, 22); SOURCE(6310, 41) { word x72; maxNameCode←v11796 = (x72 = (unsigned) (* (hPt) &name←v11884 ), MAX( (unsigned) , maxNameCode←v11796, x72)); }; }; } else { }; }; }; SOURCE(6373, 46) { word var←c39760; word fileWords←v37812; fileWords←v37812 = ix←v11256.f1; SOURCE(2518, 20) var←c39760 = IOP2( * , (int)fileWords←v37812, (int)2); byteOffset←v11740 = (byteOffset←v11740 + var←c39760); }; goto lab←L100015; lab←L100014: ; SOURCE(6430, 44) { word var←c39792; word var←c39824; word var←c39856; var←c39792 = BCK((maxNameCode←v11796 + 1), 67108863); var←c39824 = ((word) var←c39792 << 2); var←c39856 = XR←NewObject((4 + var←c39824), (* (( (ptr) gf←c43056)+32) )); (* (ptr) var←c39856 ) = var←c39792; nameTable←v11768 = var←c39856; }; SOURCE(6476, 14) byteOffset←v11740 = 0; SOURCE(6492, 560) lab←L100019: ; SOURCE(6492, 560) SOURCE(6596, 35) (void) ReadIXHeader←P240((word) &ix←v11256, base←v11712, byteOffset←v11740); SOURCE(6633, 351) { word var←c39888; var←c39888 = ix←v11256.f0; if ((var←c39888 == 0)) { SOURCE(6660, 4) goto lab←L100018; } else { if ((var←c39888 == 1)) { SOURCE(6674, 312) { /* declaration of name←v12000 skipped */ /* declaration of i←v12056 skipped */ SOURCE(6676, 39) (* (( (ptr) &var←c43024)+15) ) = 0; SOURCE(6776, 10) (* (( (ptr) &var←c43024)+16)/* i←v12056 */ ) = 0; SOURCE(6860, 59) SOURCE(6862, 57) (void) RawFetch←P180(base←v11712, (byteOffset←v11740 + 2), (word) (( (bPt) &var←c43024)+40)/* name←v12000 */ , 22); SOURCE(6922, 62) { word var←c39920; { word pd73; pd73 = (* (( (ptr) (* (( (ptr) gf←c43056)+111)/* var←c39184 */ ))+31) ); var←c39920 = (word) ( *( (fPt) ((* (ptr) pd73 ))))( (unsigned) (* (( (bPt) &var←c43024)+42) ), (word) (( (bPt) &var←c43024)+16) /*1*/ /* var←c39632 */ , 2147483647, pd73); }; { word idx74; word limit75; (* ((( (ptr) nameTable←v11768)+1)+( /*1*/ idx74 = (word) (unsigned) (* (( (hPt) &var←c43024)+20) ), /*1*/ limit75 = (* (ptr) nameTable←v11768 ), /*1*/ BCK(idx74, limit75) /*1*/ )) ) = var←c39920; }; }; }; } else { }; }; }; SOURCE(7006, 46) { word var←c39952; word fileWords←v37764; fileWords←v37764 = ix←v11256.f1; SOURCE(2518, 20) var←c39952 = IOP2( * , (int)fileWords←v37764, (int)2); byteOffset←v11740 = (byteOffset←v11740 + var←c39952); }; goto lab←L100019; lab←L100018: ; SOURCE(7063, 14) byteOffset←v11740 = 0; SOURCE(7079, 2520) lab←L100023: ; SOURCE(7079, 2520) SOURCE(7161, 35) (void) ReadIXHeader←P240((word) &ix←v11256, base←v11712, byteOffset←v11740); SOURCE(7198, 2331) { word var←c39984; var←c39984 = ix←v11256.f0; switch (var←c39984) { case 0: SOURCE(7225, 4) goto lab←L100022; case 1: break; case 2: break; case 3: SOURCE(7316, 2178) { W5 index←v12232; word group←v12288; word charUnitsPerResolutionUnit←v12316; W3 decodedFamily←v12344; word var←c40112; SOURCE(7429, 36) group←v12288 = XR←NewObject(36, (* (( (ptr) gf←c43056)+33) )); SOURCE(7467, 36) charUnitsPerResolutionUnit←v12316 = (* (ptr) &fc76 ); SOURCE(7505, 33) decodedFamily←v12344.f0 = 0; decodedFamily←v12344.f1 = 0; decodedFamily←v12344.f2 = 0; SOURCE(7540, 36) (* (( (ptr) group←v12288)+4) ) = 1; SOURCE(7578, 13) (* (( (ptr) group←v12288)+1) ) = 0; SOURCE(7593, 53) { word truth←v37476; { word var←c40080; word fileWords←v37716; fileWords←v37716 = ix←v11256.f1; SOURCE(2518, 20) var←c40080 = IOP2( * , (int)fileWords←v37716, (int)2); truth←v37476 = (unsigned) ( (int)var←c40080 == (int)22); }; SOURCE(2417, 40) if ((0 == truth←v37476)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c43056)+188)/* var←c37936 */ , 0); }; }; SOURCE(7656, 59) SOURCE(7658, 57) (void) RawFetch←P180(base←v11712, (byteOffset←v11740 + 2), (word) &index←v12232, 20); SOURCE(7718, 297) if ((0 != (* (( (ptr) gf←c43056)+4)/* checkForBogusResolution←v3952 */ ))) { SOURCE(7752, 263) { word tc77; word tc79; if (( (unsigned) (* (( (hPt) &index←v12232)+8) ) == (unsigned) (* (( (hPt) &index←v12232)+9) ))) { /*1*/ tc77 = (word) ( (unsigned) (* (( (hPt) &index←v12232)+8) ) != 0); /*1*/ } else { /*1*/ tc77 = (word) 0; /*1*/ }; if (tc77) { goto then078;}; if (( (unsigned) (* (( (hPt) &index←v12232)+8) ) != 0)) { /*1*/ tc79 = (word) (((word) (unsigned) (* (( (hPt) &index←v12232)+8) ) % 1500) == 0); /*1*/ } else { /*1*/ tc79 = (word) 0; /*1*/ }; if (tc79) { goto then078;}; var←c40112 = (unsigned) (* (( (hPt) &index←v12232)+8) ); if ((0 != ( (((((var←c40112 == 3840) || (var←c40112 == 2000)) || (var←c40112 == 2540)) || (var←c40112 == 2400)) || (var←c40112 == 720)) ? 1 : 0 ) )) { /*1*/ then078: ; /*1*/ } else { SOURCE(7990, 25) /*1*/ (* (( (hPt) &index←v12232)+8) ) = 3000; /*1*/ }; }; }; SOURCE(8018, 170) if ((0 != (* (( (ptr) gf←c43056)+5)/* tryForCharSet←v3980 */ ))) { SOURCE(8042, 146) { word tc80; if ((((word) (unsigned) (* (( (hPt) &index←v12232)+9) ) % 10) == 0)) { /*1*/ tc80 = (word) (((word) (unsigned) (* (( (hPt) &index←v12232)+9) ) / 10) <= 254); /*1*/ } else { /*1*/ tc80 = (word) 0; /*1*/ }; if (tc80) { SOURCE(8117, 32) /*1*/ { /*1*/ word idx81; /*1*/ (* (( (ptr) group←v12288)+1) ) = ( /*1*/ idx81 = ((word) (unsigned) (* (( (hPt) &index←v12232)+9) ) / 10), /*1*/ BCK(idx81, 256) /*1*/ ); /*1*/ }; SOURCE(8151, 37) /*1*/ (* (( (hPt) &index←v12232)+9) ) = (* (( (hPt) &index←v12232)+8) ); /*1*/ }; }; }; SOURCE(8196, 28) { word truth←v37428; truth←v37428 = (unsigned) ( (unsigned) (* (( (bPt) &index←v12232)+2) ) <= (unsigned) (* (( (bPt) &index←v12232)+3) )); SOURCE(2417, 40) if ((0 == truth←v37428)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c43056)+188)/* var←c37936 */ , 0); }; }; SOURCE(8226, 17) (* (ptr) group←v12288 ) = base←v11712; SOURCE(8245, 19) (* (( (ptr) group←v12288)+2) ) = (unsigned) (* (( (bPt) &index←v12232)+2) ); SOURCE(8266, 19) (* (( (ptr) group←v12288)+3) ) = (unsigned) (* (( (bPt) &index←v12232)+3) ); SOURCE(8287, 49) { word fileWords←v37668; { word idx82; fileWords←v37668 = ( /*1*/ idx82 = (word) index←v12232.f2, /*1*/ SGNCK(idx82) /*1*/ ); }; SOURCE(2518, 20) (* (( (ptr) group←v12288)+5) ) = IOP2( * , (int)fileWords←v37668, (int)2); }; SOURCE(8338, 53) { word fileWords←v37620; { word idx83; fileWords←v37620 = ( /*1*/ idx83 = (word) index←v12232.f3, /*1*/ SGNCK(idx83) /*1*/ ); }; SOURCE(2518, 20) (* (( (ptr) group←v12288)+7) ) = IOP2( * , (int)fileWords←v37620, (int)2); }; SOURCE(8393, 70) { word truth←v37380; { word pd84; pd84 = (* (( (ptr) (* (( (ptr) gf←c43056)+111)/* var←c39184 */ ))+15) ); truth←v37380 = (unsigned) ( (int)((* (( (ptr) group←v12288)+5) ) + (* (( (ptr) group←v12288)+7) )) <= (int)(word) ( *( (fPt) ( /*1*/ (* (ptr) pd84 ))))(base←v11712, pd84)); }; SOURCE(2417, 40) if ((0 == truth←v37380)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c43056)+188)/* var←c37936 */ , 0); }; }; SOURCE(8465, 114) (* (( (ptr) group←v12288)+6) ) = ((* (( (ptr) group←v12288)+5) ) + IOP2( * , (int)(( (unsigned) (* (( (bPt) &index←v12232)+3) ) - (unsigned) (* (( (bPt) &index←v12232)+2) )) + 1), (int)16)); SOURCE(8581, 47) { word x86; *(float*)&charUnitsPerResolutionUnit←v12316 = ( x86 = (* (ptr) &fc85 ), *(float*)&x86 ) / (float)(unsigned)(* (( (hPt) &index←v12232)+2) ); }; SOURCE(8676, 143) { W2 var←c40208; { word x87; *(float*)&var←c40208.f0 = ( /*1*/ x87 = charUnitsPerResolutionUnit←v12316, *(float*)&x87 /*1*/ ) / (float)(unsigned)(* (( (hPt) &index←v12232)+8) ); }; { word x88; *(float*)&var←c40208.f1 = ( /*1*/ x88 = charUnitsPerResolutionUnit←v12316, *(float*)&x88 /*1*/ ) / (float)(unsigned)(* (( (hPt) &index←v12232)+9) ); }; { word pd89; pd89 = (* (( (ptr) (* (( (ptr) gf←c43056)+114)/* var←c40240 */ ))+8) ); (* (( (ptr) group←v12288)+8) ) = (word) ( *( (fPt) ((* (ptr) pd89 ))))(var←c40208, pd89); }; }; SOURCE(8821, 79) if (( (unsigned) (* (( (hPt) &index←v12232)+3) ) != 0)) { SOURCE(8846, 54) { word pd90; word x92; float tf93; pd90 = (* (( (ptr) (* (( (ptr) gf←c43056)+114)/* var←c40240 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd90 ))))((* (( (ptr) group←v12288)+8) ), ( /*1*/ tf93 = (float)(int)INEG( (unsigned) (* (( (hPt) &index←v12232)+3) )) / ( /*1*/ x92 = (* (ptr) &fc91 ), *(float*)&x92 /*1*/ ), *(word*)&tf93 /*1*/ ), pd90); }; }; SOURCE(8902, 53) { word idx94; word limit95; (void) DecodeFamily←P420((word) &decodedFamily←v12344, (* ((( (ptr) nameTable←v11768)+1)+( /*1*/ idx94 = (word) (unsigned) (* (bPt) &index←v12232 ), /*1*/ limit95 = (* (ptr) nameTable←v11768 ), /*1*/ BCK(idx94, limit95) /*1*/ )) )); }; SOURCE(8957, 86) (void) ValidateFamilyAndFace←P2076( (unsigned) (* (( (bPt) &index←v12232)+1) ), decodedFamily←v12344.f0, (word) (( (bPt) &var←c43024)+24) /* var←c39664 */ ); SOURCE(9045, 66) if ((0 != decodedFamily←v12344.f1)) { SOURCE(9078, 33) (* (( (ptr) group←v12288)+1) ) = decodedFamily←v12344.f2; }; SOURCE(9113, 348) { word len←v12444; SOURCE(9241, 69) { word idx96; len←v12444 = ( /*1*/ idx96 = (word) IOP2( * , (int)(((* (( (ptr) group←v12288)+3) ) - (* (( (ptr) group←v12288)+2) )) + 1), (int)20), /*1*/ SGNCK(idx96) /*1*/ ); }; SOURCE(9312, 147) { word var←c40272; { /*1*/ word pd97; /*1*/ pd97 = (* (( (ptr) (* (( (ptr) gf←c43056)+111)/* var←c39184 */ ))+30) ); /*1*/ var←c40272 = (word) ( *( (fPt) ((* (ptr) pd97 ))))(base←v11712, (* (( (ptr) group←v12288)+5) ), len←v12444, pd97); /*1*/ }; { /*1*/ word pd98; /*1*/ pd98 = (* (( (ptr) (* (( (ptr) gf←c43056)+111)/* var←c39184 */ ))+16) ); /*1*/ (* (ptr) group←v12288 ) = (word) ( *( (fPt) ((* (ptr) pd98 ))))(base←v11712, (* (( (ptr) group←v12288)+5) ), len←v12444, var←c40272, pd98) /*1*/ ; /*1*/ }; }; }; SOURCE(9464, 28) { word var←c40304; var←c40304 = XR←NewObject(8, (* (( (ptr) gf←c43056)+34) )); (* (ptr) var←c40304 ) = group←v12288; (* (( (ptr) var←c40304)+1) ) = groups←v11340; groups←v11340 = var←c40304; }; }; break; default: SOURCE(9508, 21) (void) XR←RaiseError((word) (( (bPt) gf←c43056)+188)/* var←c37936 */ , 0); break; }; }; SOURCE(9553, 46) { word var←c40336; word fileWords←v37572; fileWords←v37572 = ix←v11256.f1; SOURCE(2518, 20) var←c40336 = IOP2( * , (int)fileWords←v37572, (int)2); byteOffset←v11740 = (byteOffset←v11740 + var←c40336); }; goto lab←L100023; lab←L100022: ; }; each←v11584 = (* (( (ptr) each←v11584)+1) ); goto lab←L100012; lab←L100009: ; }; SOURCE(9619, 36) SOURCE(2417, 40) if (((* (( (ptr) &var←c43024)+9)/* indexFamilySansCharSet←v11312 */ ) == 0)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c43056)+188)/* var←c37936 */ , 0); }; SOURCE(9657, 32) (* (( (ptr) data←v11228)+2) ) = (word) SortGroups←P660(groups←v11340); SOURCE(9691, 42) (* (ptr) data←v11228 ) = (word) BuildSetTable←P720((* ((( (ptr) data←v11228)+2)) )); SOURCE(9735, 34) (* (( (ptr) data←v11228)+1) ) = (unsigned) ((* (( (ptr) &var←c43024)+8)/* indexFace←v11284 */ ) < 18); SOURCE(9816, 113) { word var←c40400; word var←c40432; var←c40400 = (word) PropListFromGroups←P540((* ((( (ptr) data←v11228)+2)) )); var←c40432 = XR←NewObject(32, (* (( (ptr) gf←c43056)+35) )); (* (ptr) var←c40432 ) = (* (( (ptr) gf←c43056)+9)/* cdClass←v4904 */ ); (* (( (ptr) var←c40432)+1) ) = data←v11228; (* (( (ptr) var←c40432)+4) ) = 2147483647; (* (( (ptr) var←c40432)+7) ) = var←c40400; return(var←c40432); }; } static void ValidateFamilyAndFace←P2076(newFace←v11528, newFamily←v11556, formal←c43120) word newFace←v11528; word newFamily←v11556; word formal←c43120; { register ptr gf←c43088 = (ptr) &globalframe; formal←c43120 = (formal←c43120 - 24); /* ValidateFamilyAndFace: */ SOURCE(5502, 283) SOURCE(5567, 124) if (((* (( (ptr) formal←c43120)+9) ) == 0)) { SOURCE(5628, 34) (* (( (ptr) formal←c43120)+9) ) = newFamily←v11556; SOURCE(5664, 19) (* (( (ptr) formal←c43120)+8) ) = newFace←v11528; SOURCE(5685, 6) return; }; SOURCE(5696, 27) { word truth←v37332; truth←v37332 = (unsigned) ((* (( (ptr) formal←c43120)+8) ) == newFace←v11528); SOURCE(2417, 40) if ((0 == truth←v37332)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c43088)+188)/* var←c37936 */ , 0); }; }; SOURCE(5725, 60) { word truth←v37284; { word pd99; pd99 = (* (( (ptr) (* (( (ptr) gf←c43088)+111)/* var←c39184 */ ))+8) ); truth←v37284 = (word) ( *( (fPt) ((* (ptr) pd99 ))))(newFamily←v11556, (* (( (ptr) formal←c43120)+9) ), 0, pd99); }; SOURCE(2417, 40) if ((0 == truth←v37284)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c43088)+188)/* var←c37936 */ , 0); }; }; } static word P←P2424(formal←c43152) word formal←c43152; { word var←c12160; formal←c43152 = (formal←c43152 - 16); /* P: */ SOURCE(6788, 17) SOURCE(6814, 35) { word var←c0433; { word var←c0432; { word idx100; (* (( (ptr) formal←c43152)+16) ) = ((* (( (ptr) formal←c43152)+16) ) + 1); var←c0432 = (var←c0432 & 4294967040) | ((word) (word) (* ((( (bPt) formal←c43152)+42)+( idx100 = (* (( (ptr) formal←c43152)+16) ), BCK(idx100, 20) )) )); }; var←c0433 = (unsigned) (var←c0432 & 0377); }; return(var←c0433); }; } static word PropListFromGroups←P540(groups←v7256) word groups←v7256; { register ptr gf←c43184 = (ptr) &globalframe; word var←c7384; word list←v12488 = 0; /* PropListFromGroups: */ SOURCE(9935, 542) SOURCE(10041, 342) { register word tail←v12632; tail←v12632 = groups←v7256; lab←L100031: ; if ((tail←v12632 != 0)) { } else { goto lab←L100028; }; { word m←v12760; SOURCE(10109, 42) m←v12760 = (* (( (ptr) (* (ptr) tail←v12632 ))+8) ); SOURCE(10153, 230) { word tc101; word pd102; if ((m←v12760 != 0)) { pd102 = (* (( (ptr) (* (( (ptr) gf←c43184)+114)/* var←c40240 */ ))+52) ); tc101 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd102 ))))(m←v12760, pd102)); } else { tc101 = (word) 0; }; if (tc101) { SOURCE(10212, 115) { register word t←v12804; word var←c40464; t←v12804 = list←v12488; lab←L100035: ; if ((t←v12804 != 0)) { } else { goto lab←L100032; }; SOURCE(10263, 64) { word pd103; var←c40464 = XR←Narrow((* (ptr) t←v12804 ), (* (( (ptr) gf←c43184)+27) )); pd103 = (* (( (ptr) (* (( (ptr) gf←c43184)+114)/* var←c40240 */ ))+53) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd103 ))))(m←v12760, var←c40464, pd103))) { SOURCE(10320, 7) m←v12760 = 0; SOURCE(10329, 4) goto lab←L100033; }; }; t←v12804 = (* (( (ptr) t←v12804)+1) ); goto lab←L100035; lab←L100032: ; lab←L100033: ; }; SOURCE(10347, 36) if ((m←v12760 != 0)) { SOURCE(10363, 20) { word var←c40496; var←c40496 = XR←NewObject(8, (* (( (ptr) gf←c43184)+26) )); (* (ptr) var←c40496 ) = m←v12760; (* (( (ptr) var←c40496)+1) ) = list←v12488; list←v12488 = var←c40496; }; }; }; }; }; tail←v12632 = (* (( (ptr) tail←v12632)+1) ); goto lab←L100031; lab←L100028: ; }; SOURCE(10397, 80) if ((list←v12488 == 0)) { return(0); } else { { word var←c40560; word var←c40592; var←c40560 = XR←NewObject(12, (* (( (ptr) gf←c43184)+28) )); var←c40592 = var←c40560; (* (ptr) var←c40592 ) = (* (( (ptr) gf←c43184)+41) ); (* (( (ptr) var←c40592)+1) ) = list←v12488; return(var←c40560); }; }; } static word InOrder←P600(a←v7444, b←v7472) word a←v7444; word b←v7472; { register ptr gf←c43216 = (ptr) &globalframe; word var←c7516; /* InOrder: */ SOURCE(10483, 496) if (((* (( (ptr) a←v7444)+1) ) != (* (( (ptr) b←v7472)+1) ))) { SOURCE(10568, 22) return( (unsigned) ((* (( (ptr) a←v7444)+1) ) < (* (( (ptr) b←v7472)+1) ))); } else { if ( ( ((* (( (ptr) a←v7444)+4) ) != (* (( (ptr) b←v7472)+4) )) ? ( ((* (( (ptr) a←v7444)+4) ) == 0) ? 1 : ((* (( (ptr) b←v7472)+4) ) == 0) ) : 0 ) ) { SOURCE(10688, 44) return( (unsigned) ((* (( (ptr) a←v7444)+4) ) < (* (( (ptr) b←v7472)+4) ))); } else { SOURCE(10745, 236) { W2 sva←v12944; W2 svb←v12972; SOURCE(10747, 61) { word pd104; pd104 = (* (( (ptr) (* (( (ptr) gf←c43216)+114)/* var←c40240 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd104 ))))((word) &sva←v12944, (* (( (ptr) a←v7444)+8) ), pd104); }; SOURCE(10810, 61) { word pd105; pd105 = (* (( (ptr) (* (( (ptr) gf←c43216)+114)/* var←c40240 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd105 ))))((word) &svb←v12972, (* (( (ptr) b←v7472)+8) ), pd105); }; SOURCE(10873, 35) { word x106; word x107; if ((( x106 = sva←v12944.f0, *(float*)&x106 ) < ( x107 = svb←v12972.f0, *(float*)&x107 ))) { SOURCE(10895, 13) return(1); }; }; SOURCE(10910, 53) { word x108; word x109; word x110; word x111; if ( ( (( x108 = sva←v12944.f0, *(float*)&x108 ) == ( x109 = svb←v12972.f0, *(float*)&x109 )) ? (( x110 = sva←v12944.f1, *(float*)&x110 ) < ( x111 = svb←v12972.f1, *(float*)&x111 )) : 0 ) ) { SOURCE(10950, 13) return(1); }; }; SOURCE(10965, 14) return(0); }; }; }; } static word SortGroups←P660(groups←v7576) word groups←v7576; { word var←c7704; word unconsumed←v13016; word new←v13044 = 0; /* SortGroups: */ SOURCE(10988, 543) SOURCE(11065, 12) unconsumed←v13016 = groups←v7576; SOURCE(11135, 373) lab←L100038: ; if ((unconsumed←v13016 != 0)) { } else { goto lab←L100036; }; { word rest←v13256; word current←v13284; word a←v13312; word p←v13340 = 0; SOURCE(11161, 6) rest←v13256 = (* (( (ptr) unconsumed←v13016)+1) ); SOURCE(11204, 37) current←v13284 = (* (ptr) unconsumed←v13016 ); SOURCE(11243, 3) a←v13312 = new←v13044; SOURCE(11299, 74) lab←L100041: ; if ( ( (a←v13312 != 0) ? (0 == (word) InOrder←P600((* (ptr) a←v13312 ), current←v13284)) : 0 ) ) { } else { goto lab←L100039; }; SOURCE(11348, 5) p←v13340 = a←v13312; SOURCE(11355, 18) a←v13312 = (* (( (ptr) a←v13312)+1) ); goto lab←L100041; lab←L100039: ; SOURCE(11375, 113) if ((p←v13340 == 0)) { SOURCE(11393, 21) (* (( (ptr) unconsumed←v13016)+1) ) = new←v13044; SOURCE(11416, 17) new←v13044 = unconsumed←v13016; } else { SOURCE(11442, 24) (* (( (ptr) unconsumed←v13016)+1) ) = (* (( (ptr) p←v13340)+1) ); SOURCE(11468, 20) (* (( (ptr) p←v13340)+1) ) = unconsumed←v13016; }; SOURCE(11491, 17) unconsumed←v13016 = rest←v13256; }; goto lab←L100038; lab←L100036: ; SOURCE(11519, 12) return(new←v13044); } static word BuildSetTable←P720(groups←v7848) word groups←v7848; { register ptr gf←c43248 = (ptr) &globalframe; word var←c7976; word setTable←v13636; word setbc←v13664; word setec←v13692; /* BuildSetTable: */ SOURCE(11537, 2085) SOURCE(11608, 48) setTable←v13636 = XR←NewObject(1020, (* (( (ptr) gf←c43248)+16) )); SOURCE(11658, 93) setbc←v13664 = XR←NewObject(256, (* (( (ptr) gf←c43248)+22) )); XR←FillWords(&(* (W63Pt) (setbc←v13664)), 63, (word) -1); (* (( (ptr) setbc←v13664) + 63) ) |= 4294967040; SOURCE(11753, 94) setec←v13692 = XR←NewObject(256, (* (( (ptr) gf←c43248)+22) )); SOURCE(11849, 204) { register word each←v13824; each←v13824 = groups←v7848; lab←L100045: ; if ((each←v13824 != 0)) { } else { goto lab←L100042; }; { word group←v13952; word set←v13980; SOURCE(11917, 29) group←v13952 = (* (ptr) each←v13824 ); SOURCE(11948, 21) set←v13980 = (* (( (ptr) group←v13952)+1) ); SOURCE(11971, 40) { word x112; word x113; (* (( (bPt) setbc←v13664)+BCK(set←v13980, 255)) ) = (x112 = (* (( (ptr) group←v13952)+2) ), x113 = (unsigned) (word) (* (( (bPt) setbc←v13664)+BCK(set←v13980, 255)) ), MIN( (unsigned) , x112, x113)); }; SOURCE(12013, 40) { word x114; word x115; (* (( (bPt) setec←v13692)+BCK(set←v13980, 255)) ) = (x114 = (* (( (ptr) group←v13952)+3) ), x115 = (unsigned) (word) (* (( (bPt) setec←v13692)+BCK(set←v13980, 255)) ), MAX( (unsigned) , x114, x115)); }; }; each←v13824 = (* (( (ptr) each←v13824)+1) ); goto lab←L100045; lab←L100042: ; }; SOURCE(12064, 279) { register word set←v14024 = 0; lab←L100049: ; SOURCE(12095, 248) if (( (unsigned) (word) (* (( (bPt) setbc←v13664)+set←v14024) ) <= (unsigned) (word) (* (( (bPt) setec←v13692)+set←v14024) ))) { SOURCE(12128, 217) { word charTable←v14068; SOURCE(12130, 65) { word var←c40720; word var←c40752; word var←c40784; { word idx116; var←c40720 = ( idx116 = (word) (( (unsigned) (word) (* (( (bPt) setec←v13692)+set←v14024) ) - (unsigned) (word) (* (( (bPt) setbc←v13664)+set←v14024) )) + 1), SGNCK(idx116) ); }; var←c40752 = ((word) var←c40720 << 2); var←c40784 = XR←NewObject((12 + var←c40752), (* (( (ptr) gf←c43248)+21) )); (* (( (ptr) var←c40784)+2) ) = var←c40720; charTable←v14068 = var←c40784; }; SOURCE(12197, 26) (* (ptr) charTable←v14068 ) = (unsigned) (word) (* (( (bPt) setbc←v13664)+set←v14024) ); SOURCE(12225, 26) (* (( (ptr) charTable←v14068)+1) ) = (unsigned) (word) (* (( (bPt) setec←v13692)+set←v14024) ); SOURCE(12253, 63) { register word i←v14112 = 0; register word noName←c40816; noName←c40816 = (* (( (ptr) charTable←v14068)+2) ); if ((i←v14112 >= noName←c40816)) { goto lab←L100050; }; lab←L100053: ; SOURCE(12290, 26) { word limit117; (* ((( (ptr) charTable←v14068)+3)+( limit117 = (* (( (ptr) charTable←v14068)+2) ), BCK(i←v14112, limit117) )) ) = 0; }; i←v14112 = (i←v14112 + 1); if ((i←v14112 < noName←c40816)) { goto lab←L100053; }; lab←L100050: ; }; SOURCE(12318, 25) (* (( (ptr) setTable←v13636)+set←v14024) ) = charTable←v14068; }; }; if ((set←v14024 >= 254)) { goto lab←L100046; }; set←v14024 = (set←v14024 + 1); goto lab←L100049; lab←L100046: ; }; SOURCE(12357, 1018) { register word each←v14156; each←v14156 = groups←v7848; lab←L100057: ; if ((each←v14156 != 0)) { } else { goto lab←L100054; }; { word group←v14284; word charTable←v14312; SOURCE(12425, 29) group←v14284 = (* (ptr) each←v14156 ); SOURCE(12456, 42) { word idx118; charTable←v14312 = (* (( (ptr) setTable←v13636)+( idx118 = (* (( (ptr) group←v14284)+1) ), BCK(idx118, 255) )) ); }; SOURCE(12500, 875) { register word code←v14356; register word noName←c40848; code←v14356 = (* (( (ptr) group←v14284)+2) ); noName←c40848 = (* (( (ptr) group←v14284)+3) ); if ((code←v14356 > noName←c40848)) { goto lab←L100058; }; lab←L100061: ; SOURCE(12542, 833) { word var←c40880; var←c40880 = (* (( (ptr) group←v14284)+4) ); if ((var←c40880 == 0)) { SOURCE(12585, 21) (void) XR←RaiseError((word) (( (bPt) gf←c43248)+188)/* var←c37936 */ , 0); } else { if ((var←c40880 == 1)) { SOURCE(12625, 862) { W4 cd←v14400; SOURCE(12627, 68) (void) GetCharacterData←P840((word) &cd←v14400, group←v14284, code←v14356); SOURCE(12697, 678) if (( (int) ( short )(* (( (hPt) &cd←v14400)+7) ) != (int) ( short )65535)) { SOURCE(12749, 735) { /*1*/ word wx←v14444; /*1*/ word wy←v14472; /*1*/ W2 e←v14500; /*1*/ W4 box←v14528; /*1*/ word charMetrics←v14556; SOURCE(12751, 66) /*1*/ { /*1*/ word var←c40912; /*1*/ { /*1*/ word var←c40944; /*1*/ { /*1*/ word pd119; /*1*/ float tf120; /*1*/ pd119 = (* (( (ptr) (* (( (ptr) gf←c43248)+115)/* var←c40976 */ ))+4) ); /*1*/ var←c40944 = (word) ( *( (fPt) ((* (ptr) pd119 ))))(( /*1*/ tf120 = (float)(int)cd←v14400.f0, *(word*)&tf120 /*1*/ ), (word) -16, pd119); /*1*/ }; /*1*/ { /*1*/ word pd121; /*1*/ pd121 = (* (( (ptr) (* (( (ptr) gf←c43248)+115)/* var←c40976 */ ))+8) ); /*1*/ var←c40912 = (word) ( *( (fPt) ((* (ptr) pd121 ))))(var←c40944, pd121); /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd122; /*1*/ pd122 = (* (( (ptr) (* (( (ptr) gf←c43248)+115)/* var←c40976 */ ))+9) ); /*1*/ wx←v14444 = (word) ( *( (fPt) ((* (ptr) pd122 ))))(var←c40912, 0, pd122); /*1*/ }; /*1*/ }; SOURCE(12819, 66) /*1*/ { /*1*/ word var←c41008; /*1*/ { /*1*/ word var←c41040; /*1*/ { /*1*/ word pd123; /*1*/ float tf124; /*1*/ pd123 = (* (( (ptr) (* (( (ptr) gf←c43248)+115)/* var←c40976 */ ))+4) ); /*1*/ var←c41040 = (word) ( *( (fPt) ((* (ptr) pd123 ))))(( /*1*/ tf124 = (float)(int)cd←v14400.f1, *(word*)&tf124 /*1*/ ), (word) -16, pd123); /*1*/ }; /*1*/ { /*1*/ word pd125; /*1*/ pd125 = (* (( (ptr) (* (( (ptr) gf←c43248)+115)/* var←c40976 */ ))+8) ); /*1*/ var←c41008 = (word) ( *( (fPt) ((* (ptr) pd125 ))))(var←c41040, pd125); /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd126; /*1*/ pd126 = (* (( (ptr) (* (( (ptr) gf←c43248)+115)/* var←c40976 */ ))+9) ); /*1*/ wy←v14472 = (word) ( *( (fPt) ((* (ptr) pd126 ))))(var←c41008, 0, pd126); /*1*/ }; /*1*/ }; SOURCE(12887, 71) /*1*/ { /*1*/ W2 var←c0211; /*1*/ { /*1*/ W2 var←c41072; /*1*/ var←c41072.f0 = wx←v14444; /*1*/ var←c41072.f1 = wy←v14472; /*1*/ { /*1*/ word pd127; /*1*/ pd127 = (* (( (ptr) (* (( (ptr) gf←c43248)+114)/* var←c40240 */ ))+40) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd127 ))))((word) &var←c0211, (* (( (ptr) group←v14284)+8) ), var←c41072, pd127); /*1*/ }; /*1*/ }; /*1*/ e←v14500 = var←c0211; /*1*/ }; SOURCE(12960, 157) /*1*/ { /*1*/ W4 var←c41104; /*1*/ { /*1*/ W4 var←c0215; /*1*/ { /*1*/ W4 var←c41136; /*1*/ { /*1*/ float tf128; /*1*/ var←c41136.f0 = ( /*1*/ tf128 = (float)(int)( (int) ( short )(* (( (hPt) &cd←v14400)+4) )), *(word*)&tf128 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ float tf129; /*1*/ var←c41136.f1 = ( /*1*/ tf129 = (float)(int)( (int) ( short )(* (( (hPt) &cd←v14400)+5) )), *(word*)&tf129 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ float tf130; /*1*/ var←c41136.f2 = ( /*1*/ tf130 = (float)(int)( (int) ( short )(* (( (hPt) &cd←v14400)+6) )), *(word*)&tf130 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ float tf131; /*1*/ var←c41136.f3 = ( /*1*/ tf131 = (float)(int)( (int) ( short )(* (( (hPt) &cd←v14400)+7) )), *(word*)&tf131 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word pd132; /*1*/ pd132 = (* (( (ptr) (* (( (ptr) gf←c43248)+114)/* var←c40240 */ ))+46) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd132 ))))((word) &var←c0215, (* (( (ptr) group←v14284)+8) ), var←c41136, pd132); /*1*/ }; /*1*/ }; /*1*/ var←c41104 = var←c0215; /*1*/ }; /*1*/ { /*1*/ W4 var←c0216; /*1*/ { /*1*/ word pd133; /*1*/ pd133 = (* (( (ptr) (* (( (ptr) gf←c43248)+116)/* var←c41168 */ ))+4) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd133 ))))((word) &var←c0216, var←c41104, pd133); /*1*/ }; /*1*/ box←v14528 = var←c0216; /*1*/ }; /*1*/ }; SOURCE(13119, 55) /*1*/ { /*1*/ word var←c41200; /*1*/ var←c41200 = (code←v14356 - (* (ptr) charTable←v14312 )); /*1*/ { /*1*/ word limit134; /*1*/ charMetrics←v14556 = (* ((( (ptr) charTable←v14312)+3)+( /*1*/ limit134 = (* (( (ptr) charTable←v14312)+2) ), /*1*/ BCK(var←c41200, limit134) /*1*/ )) ); /*1*/ }; /*1*/ }; SOURCE(13176, 199) /*1*/ if ((charMetrics←v14556 == 0)) { SOURCE(13202, 84) /*1*/ { /*1*/ word var←c41264; /*1*/ var←c41264 = (code←v14356 - (* (ptr) charTable←v14312 )); /*1*/ { /*1*/ word var←c41232; /*1*/ var←c41232 = XR←NewObject(24, (* (( (ptr) gf←c43248)+12) )); /*1*/ (* (W2Pt) var←c41232 ) = e←v14500; /*1*/ (* (W4Pt) (( (ptr) var←c41232)+2) ) = box←v14528; /*1*/ { /*1*/ word limit135; /*1*/ (* ((( (ptr) charTable←v14312)+3)+( /*1*/ limit135 = (* (( (ptr) charTable←v14312)+2) ), /*1*/ BCK(var←c41264, limit135) /*1*/ )) ) = var←c41232; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(13288, 59) /*1*/ { /*1*/ word pd136; /*1*/ pd136 = (* (( (ptr) (* (( (ptr) gf←c43248)+116)/* var←c41168 */ ))+9) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd136 ))))((word) (( (bPt) charMetrics←v14556)+8), (* (W4Pt) (( (ptr) charMetrics←v14556)+2) /*1*/ ), box←v14528, pd136); /*1*/ }; SOURCE(13349, 26) /*1*/ (* (W2Pt) charMetrics←v14556 ) = e←v14500; /*1*/ }; /*1*/ }; }; }; } else { SOURCE(13501, 5) (void) XR←RaiseUnnamedError(); }; }; }; if ((code←v14356 >= noName←c40848)) { goto lab←L100058; }; code←v14356 = (code←v14356 + 1); goto lab←L100061; lab←L100058: ; }; }; each←v14156 = (* (( (ptr) each←v14156)+1) ); goto lab←L100057; lab←L100054: ; }; SOURCE(13526, 11) setbc←v13664 = 0; SOURCE(13539, 11) setec←v13692 = 0; SOURCE(13604, 18) return(setTable←v13636); } static void TransformBox←P780(formal←c0231, m←v8036, box←v8064) word formal←c0231; word m←v8036; W4 box←v8064; { register ptr gf←c43280 = (ptr) &globalframe; W4 var←c8108; /* TransformBox: */ SOURCE(13626, 200) SOURCE(13713, 113) { W4 var←c41392; { W4 var←c41328; { W4 var←c41360; { word pd137; pd137 = (* (( (ptr) (* (( (ptr) gf←c43280)+116)/* var←c41168 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd137 ))))((word) &var←c41360, box←v8064, pd137); }; { W4 var←c0229; { word pd138; pd138 = (* (( (ptr) (* (( (ptr) gf←c43280)+114)/* var←c40240 */ ))+46) ); (void) ( *( (fPt) ((* (ptr) pd138 ))))((word) &var←c0229, m←v8036, var←c41360, pd138); }; var←c41328 = var←c0229; }; }; { W4 var←c0230; { word pd139; pd139 = (* (( (ptr) (* (( (ptr) gf←c43280)+116)/* var←c41168 */ ))+4) ); (void) ( *( (fPt) ((* (ptr) pd139 ))))((word) &var←c0230, var←c41328, pd139); }; var←c41392 = var←c0230; }; }; var←c8108 = var←c41392; /* removed tail goto */ }; (* (W4Pt) formal←c0231 ) = var←c8108; return; } static void GetCharacterData←P840(formal←c0236, group←v8168, code←v8196) word formal←c0236; word group←v8168; word code←v8196; { W4 var←c8240; W4 characterData←v14600; /* GetCharacterData: */ SOURCE(13830, 484) SOURCE(14036, 45) if (((* (( (ptr) group←v8168)+4) ) != 1)) { SOURCE(14081, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(14088, 56) (* (( (hPt) &characterData←v14600)+7) ) = 65535; SOURCE(14146, 143) if ( ( (code←v8196 >= (* (( (ptr) group←v8168)+2) )) ? (code←v8196 <= (* (( (ptr) group←v8168)+3) )) : 0 ) ) { SOURCE(14191, 98) SOURCE(14193, 96) (void) RawFetch←P180((* (ptr) group←v8168 ), ((* (( (ptr) group←v8168)+5) ) + IOP2( * , (int)(code←v8196 - (* (( (ptr) group←v8168)+2) )), (int)16)), (word) &characterData←v14600, 16); }; SOURCE(14292, 22) var←c8240 = characterData←v14600; /* removed tail goto */ (* (W4Pt) formal←c0236 ) = var←c8240; return; } static word CDContains←P900(self←v8300, char←v8328) word self←v8300; word char←v8328; { register ptr gf←c43312 = (ptr) &globalframe; word var←c8372; word data←v14672; word charTable←v14700; word var←c41424; /* CDContains: */ SOURCE(14320, 312) SOURCE(14397, 30) data←v14672 = XR←Narrow((* (( (ptr) self←v8300)+1) ), (* (( (ptr) gf←c43312)+31) )); SOURCE(14429, 52) { word idx140; charTable←v14700 = (* (( (ptr) (* (ptr) data←v14672 ))+( idx140 = (word) ((word) char←v8328 >> 8), BCK(idx140, 255) )) ); }; SOURCE(14483, 93) if ((charTable←v14700 == 0)) { goto then0141;}; var←c41424 = (char←v8328 & 0377); if ( ( (var←c41424 < (* (ptr) charTable←v14700 )) ? 1 : (var←c41424 > (* (( (ptr) charTable←v14700)+1) )) ) ) { then0141: ; SOURCE(14562, 14) return(0); }; SOURCE(14578, 54) { word var←c0434; { word var←c41456; var←c41456 = ((char←v8328 & 0377) - (* (ptr) charTable←v14700 )); { word limit142; var←c0434 = (unsigned) ((* ((( (ptr) charTable←v14700)+3)+( limit142 = (* (( (ptr) charTable←v14700)+2) ), BCK(var←c41456, limit142) )) ) != 0); }; }; return(var←c0434); }; } static word CDNextChar←P960(self←v8432, char←v8460) word self←v8432; word char←v8460; { register ptr gf←c43344 = (ptr) &globalframe; word var←c8504; word data←v14744; word next←v14772; word charTable←v14800; /* CDNextChar: */ SOURCE(14638, 774) SOURCE(14727, 30) data←v14744 = XR←Narrow((* (( (ptr) self←v8432)+1) ), (* (( (ptr) gf←c43344)+31) )); SOURCE(14759, 70) next←v14772 = ( (char←v8460 == (word) -1) ? 0 : (char←v8460 + 1) ) ; SOURCE(14831, 95) { word idx143; charTable←v14800 = ( (((word) next←v14772 >> 8) <= 254) ? (* (( (ptr) (* (ptr) data←v14744 ))+( idx143 = (word) ((word) next←v14772 >> 8), BCK(idx143, 255) )) ) : 0 ) ; }; SOURCE(14928, 460) { word var←c41488; word var←c41520; lab←L100066: ; { word tc144; word limit146; if ((next←v14772 != (word) -1)) { if ((charTable←v14800 == 0)) { goto then0145;}; var←c41488 = (next←v14772 & 0377); if ( ( (var←c41488 < (* (ptr) charTable←v14800 )) ? 1 : (var←c41488 > (* (( (ptr) charTable←v14800)+1) )) ) ) { then0145: ; tc144 = (word) 1; } else { var←c41520 = ((next←v14772 & 0377) - (* (ptr) charTable←v14800 )); tc144 = (word) ((* ((( (ptr) charTable←v14800)+3)+( limit146 = (* (( (ptr) charTable←v14800)+2) ), BCK(var←c41520, limit146) )) ) == 0); }; } else { tc144 = (word) 0; }; if (tc144) { } else { goto lab←L100064; }; }; if ((charTable←v14800 == 0) || ((next←v14772 & 0377) > (* (( (ptr) charTable←v14800)+1) ))) { SOURCE(15149, 16) next←v14772 = (next←v14772 + 1); SOURCE(15167, 55) if ((((word) next←v14772 >> 8) > 254)) { SOURCE(15206, 16) next←v14772 = (word) -1; SOURCE(15224, 4) goto lab←L100065; }; SOURCE(15231, 41) { word idx147; charTable←v14800 = (* (( (ptr) (* (ptr) data←v14744 ))+( idx147 = (word) ((word) next←v14772 >> 8), BCK(idx147, 255) )) ); }; } else { if (((next←v14772 & 0377) < (* (ptr) charTable←v14800 ))) { SOURCE(15313, 46) { word var←c41552; word set←v37860; word code←v37888; set←v37860 = ((word) next←v14772 >> 8); code←v37888 = (* (ptr) charTable←v14800 ); var←c41552 = (((word) set←v37860 << 8) + code←v37888); next←v14772 = var←c41552; }; } else { SOURCE(15372, 16) next←v14772 = (next←v14772 + 1); }; }; goto lab←L100066; lab←L100064: ; lab←L100065: ; }; SOURCE(15399, 13) return(next←v14772); } static void CDEscapement←P1020(formal←c0264, self←v8564, char←v8592) word formal←c0264; word self←v8564; word char←v8592; { register ptr gf←c43376 = (ptr) &globalframe; W2 var←c8636; word data←v14844; word charTable←v14872; word var←c41584; /* CDEscapement: */ SOURCE(15418, 387) SOURCE(15496, 30) data←v14844 = XR←Narrow((* (( (ptr) self←v8564)+1) ), (* (( (ptr) gf←c43376)+31) )); SOURCE(15528, 52) { word idx148; charTable←v14872 = (* (( (ptr) (* (ptr) data←v14844 ))+( idx148 = (word) ((word) char←v8592 >> 8), BCK(idx148, 255) )) ); }; SOURCE(15582, 204) { word tc149; if ((charTable←v14872 != 0)) { var←c41584 = (char←v8592 & 0377); if ((var←c41584 >= (* (ptr) charTable←v14872 ))) { tc149 = (word) (var←c41584 <= (* (( (ptr) charTable←v14872)+1) )); } else { tc149 = (word) 0; }; } else { tc149 = (word) 0; }; if (tc149) { SOURCE(15658, 128) { word charMetrics←v14916; SOURCE(15660, 66) { word var←c41616; var←c41616 = ((char←v8592 & 0377) - (* (ptr) charTable←v14872 )); { word limit150; charMetrics←v14916 = (* ((( (ptr) charTable←v14872)+3)+( limit150 = (* (( (ptr) charTable←v14872)+2) ), BCK(var←c41616, limit150) )) ); }; }; SOURCE(15728, 58) if ((charMetrics←v14916 != 0)) { SOURCE(15754, 32) var←c8636 = (* (W2Pt) charMetrics←v14916 ); goto lab←L100068; }; }; }; }; SOURCE(15789, 16) var←c8636.f0 = (* (ptr) &fc151 ); var←c8636.f1 = (* (ptr) &fc76 ); /* removed tail goto */ lab←L100068: ; (* (W2Pt) formal←c0264 ) = var←c8636; return; } static word CDAmplified←P1080(self←v8696, char←v8724) word self←v8696; word char←v8724; { register ptr gf←c43408 = (ptr) &globalframe; word var←c8768; word data←v14960; /* CDAmplified: */ SOURCE(15811, 176) SOURCE(15889, 30) data←v14960 = XR←Narrow((* (( (ptr) self←v8696)+1) ), (* (( (ptr) gf←c43408)+31) )); SOURCE(15921, 66) { word tc152; if ((0 != (* (( (ptr) data←v14960)+1) ))) { tc152 = (word) (unsigned) (char←v8724 == 32); } else { tc152 = (word) (unsigned) 0; }; return(tc152); }; } static word CDCorrection←P1140(self←v8828, char←v8856) word self←v8828; word char←v8856; { register ptr gf←c43440 = (ptr) &globalframe; word var←c8900; word data←v15004; /* CDCorrection: */ SOURCE(15993, 275) SOURCE(16093, 30) data←v15004 = XR←Narrow((* (( (ptr) self←v8828)+1) ), (* (( (ptr) gf←c43440)+31) )); SOURCE(16125, 126) if ((0 != (word) CDContains←P900(self←v8828, char←v8856))) { SOURCE(16158, 79) if ( ( (0 != (* (( (ptr) data←v15004)+1) )) ? (char←v8856 == 32) : 0 ) ) { SOURCE(16224, 13) return(1); }; SOURCE(16239, 12) return(0); }; SOURCE(16256, 12) return(2); } static void CDBoundingBox←P1200(formal←c0285, self←v8960, char←v8988) word formal←c0285; word self←v8960; word char←v8988; { register ptr gf←c43472 = (ptr) &globalframe; W4 var←c9032; word data←v15048; word charTable←v15076; word var←c41712; /* CDBoundingBox: */ SOURCE(16274, 542) SOURCE(16357, 30) data←v15048 = XR←Narrow((* (( (ptr) self←v8960)+1) ), (* (( (ptr) gf←c43472)+31) )); SOURCE(16389, 52) { word idx153; charTable←v15076 = (* (( (ptr) (* (ptr) data←v15048 ))+( idx153 = (word) ((word) char←v8988 >> 8), BCK(idx153, 255) )) ); }; SOURCE(16443, 221) { word tc154; if ((charTable←v15076 != 0)) { var←c41712 = (char←v8988 & 0377); if ((var←c41712 >= (* (ptr) charTable←v15076 ))) { tc154 = (word) (var←c41712 <= (* (( (ptr) charTable←v15076)+1) )); } else { tc154 = (word) 0; }; } else { tc154 = (word) 0; }; if (tc154) { SOURCE(16519, 147) { word charMetrics←v15120; SOURCE(16521, 66) { word var←c41744; var←c41744 = ((char←v8988 & 0377) - (* (ptr) charTable←v15076 )); { word limit155; charMetrics←v15120 = (* ((( (ptr) charTable←v15076)+3)+( limit155 = (* (( (ptr) charTable←v15076)+2) ), BCK(var←c41744, limit155) )) ); }; }; SOURCE(16589, 75) if ((charMetrics←v15120 != 0)) { SOURCE(16615, 49) { W4 var←c41808; { word pd156; pd156 = (* (( (ptr) (* (( (ptr) gf←c43472)+116)/* var←c41168 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd156 ))))((word) &var←c41808, (* (W4Pt) (( (ptr) charMetrics←v15120)+2) ), pd156); }; var←c9032 = var←c41808; goto lab←L100069; }; }; }; }; }; SOURCE(16669, 74) if ((char←v8988 != 61642)) { SOURCE(16699, 44) { W4 var←c41872; (void) CDBoundingBox←P1200((word) &var←c41872, self←v8960, 61642); var←c9032 = var←c41872; goto lab←L100069; }; }; SOURCE(16745, 71) var←c9032.f0 = (* (ptr) &fc157 ); var←c9032.f1 = (* (ptr) &fc158 ); var←c9032.f2 = (* (ptr) &fc76 ); var←c9032.f3 = (* (ptr) &fc159 ); /* removed tail goto */ lab←L100069: ; (* (W4Pt) formal←c0285 ) = var←c9032; return; } static void CDFontBoundingBox←P1260(formal←c0307, self←v9092) word formal←c0307; word self←v9092; { register ptr gf←c43504 = (ptr) &globalframe; W4 var←c9136; word data←v15164; word setTable←v15192; W4 bb←v15220; /* CDFontBoundingBox: */ SOURCE(16822, 659) SOURCE(16885, 30) data←v15164 = XR←Narrow((* (( (ptr) self←v9092)+1) ), (* (( (ptr) gf←c43504)+31) )); SOURCE(16917, 34) setTable←v15192 = (* (ptr) data←v15164 ); SOURCE(16953, 81) { W4 var←c41936; (void) CDBoundingBox←P1200((word) &var←c41936, self←v9092, 61642); { W4 var←c0293; { word pd160; pd160 = (* (( (ptr) (* (( (ptr) gf←c43504)+116)/* var←c41168 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd160 ))))((word) &var←c0293, var←c41936, pd160); }; bb←v15220 = var←c0293; }; }; SOURCE(17036, 383) { register word set←v15264 = 0; lab←L100074: ; { word charTable←v15308; SOURCE(17067, 36) charTable←v15308 = (* (( (ptr) setTable←v15192)+set←v15264) ); SOURCE(17105, 314) if ((charTable←v15308 != 0)) { SOURCE(17131, 288) { register word code←v15352; register word noName←c41968; code←v15352 = (* (ptr) charTable←v15308 ); noName←c41968 = (* (( (ptr) charTable←v15308)+1) ); if ((code←v15352 > noName←c41968)) { goto lab←L100075; }; lab←L100078: ; { word charMetrics←v15396; SOURCE(17181, 55) { word var←c42000; var←c42000 = (code←v15352 - (* (ptr) charTable←v15308 )); { word limit161; charMetrics←v15396 = (* ((( (ptr) charTable←v15308)+3)+( /*1*/ limit161 = (* (( (ptr) charTable←v15308)+2) ), /*1*/ BCK(var←c42000, limit161) /*1*/ )) ); }; }; SOURCE(17238, 181) if ((charMetrics←v15396 != 0)) { SOURCE(17264, 155) { W4 b←v15440; SOURCE(17266, 33) b←v15440 = (* (W4Pt) (( (ptr) charMetrics←v15396)+2) ); SOURCE(17301, 118) { word var←c42032; word var←c42096; word var←c42160; word var←c42224; { /*1*/ word x162; /*1*/ float tf163; /*1*/ float tf164; /*1*/ word x165; /*1*/ float tf166; /*1*/ var←c42032 = ( /*1*/ tf166 = FMIN(( /*1*/ x162 = bb←v15220.f0, *(float*)&x162 /*1*/ ), ( /*1*/ x165 = b←v15440.f0, *(float*)&x165 /*1*/ ), tf163, tf164), *(word*)&tf166 /*1*/ ); /*1*/ }; { /*1*/ word x167; /*1*/ float tf168; /*1*/ float tf169; /*1*/ word x170; /*1*/ float tf171; /*1*/ var←c42096 = ( /*1*/ tf171 = FMIN(( /*1*/ x167 = bb←v15220.f1, *(float*)&x167 /*1*/ ), ( /*1*/ x170 = b←v15440.f1, *(float*)&x170 /*1*/ ), tf168, tf169), *(word*)&tf171 /*1*/ ); /*1*/ }; { /*1*/ word x172; /*1*/ float tf173; /*1*/ float tf174; /*1*/ word x175; /*1*/ float tf176; /*1*/ var←c42160 = ( /*1*/ tf176 = FMAX(( /*1*/ x172 = bb←v15220.f2, *(float*)&x172 /*1*/ ), ( /*1*/ x175 = b←v15440.f2, *(float*)&x175 /*1*/ ), tf173, tf174), *(word*)&tf176 /*1*/ ); /*1*/ }; { /*1*/ word x177; /*1*/ float tf178; /*1*/ float tf179; /*1*/ word x180; /*1*/ float tf181; /*1*/ var←c42224 = ( /*1*/ tf181 = FMAX(( /*1*/ x177 = bb←v15220.f3, *(float*)&x177 /*1*/ ), ( /*1*/ x180 = b←v15440.f3, *(float*)&x180 /*1*/ ), tf178, tf179), *(word*)&tf181 /*1*/ ); /*1*/ }; bb←v15220.f0 = var←c42032; bb←v15220.f1 = var←c42096; bb←v15220.f2 = var←c42160; bb←v15220.f3 = var←c42224; }; }; }; }; if ((code←v15352 >= noName←c41968)) { goto lab←L100075; }; code←v15352 = (code←v15352 + 1); goto lab←L100078; lab←L100075: ; }; }; }; if ((set←v15264 >= 254)) { goto lab←L100071; }; set←v15264 = (set←v15264 + 1); goto lab←L100074; lab←L100071: ; }; SOURCE(17443, 38) { W4 var←c42288; { word pd182; pd182 = (* (( (ptr) (* (( (ptr) gf←c43504)+116)/* var←c41168 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd182 ))))((word) &var←c42288, bb←v15220, pd182); }; var←c9136 = var←c42288; /* removed tail goto */ }; (* (W4Pt) formal←c0307 ) = var←c9136; return; } static void CDKern←P1320(formal←c0312, self←v9196, char←v9224, successor←v9252) word formal←c0312; word self←v9196; word char←v9224; word successor←v9252; { /* CDKern: */ SOURCE(17485, 98) /* Return var split */ SOURCE(17568, 15) /* eliminated constant return field */ /* eliminated constant return field */ /* removed tail goto */ (* (( (ptr) formal←c0312)+1) ) = (* (ptr) &fc76 ); (* (ptr) formal←c0312 ) = (* (ptr) &fc76 ); return; } static word CDNextKern←P1380(self←v9356, char←v9384, successor←v9412) word self←v9356; word char←v9384; word successor←v9412; { word var←c9456; /* CDNextKern: */ SOURCE(17587, 129) SOURCE(17687, 29) return( (word) -1); } static word CDLigature←P1440(self←v9516, char←v9544, successor←v9572) word self←v9516; word char←v9544; word successor←v9572; { word var←c9616; /* CDLigature: */ SOURCE(17720, 129) SOURCE(17820, 29) return( (word) -1); } static word CDNextLigature←P1500(self←v9676, char←v9704, successor←v9732) word self←v9676; word char←v9704; word successor←v9732; { word var←c9776; /* CDNextLigature: */ SOURCE(17853, 133) SOURCE(17957, 29) return( (word) -1); } static word GetBitmap←P1560(group←v9836, code←v9864) word group←v9836; word code←v9864; { register ptr gf←c43536 = (ptr) &globalframe; word var←c9908; word sampleMap←v15484 = 0; W4 cd←v15512; /* GetBitmap: */ SOURCE(17990, 1233) SOURCE(18127, 68) (void) GetCharacterData←P840((word) &cd←v15512, group←v9836, code←v9864); SOURCE(18197, 996) if (( (int) ( short )(* (( (hPt) &cd←v15512)+7) ) != (int) ( short )65535)) { SOURCE(18257, 945) { word rfpBytePos←v15584; word rfp←v15612; SOURCE(18313, 68) rfpBytePos←v15584 = ((* (( (ptr) group←v9836)+6) ) + IOP2( * , (int)(code←v9864 - (* (( (ptr) group←v9836)+2) )), (int)4) ); SOURCE(18427, 50) SOURCE(18428, 49) (void) RawFetch←P180((* (ptr) group←v9836 ), rfpBytePos←v15584, (word) &rfp←v15612, 4); SOURCE(18480, 713) if (( (int)rfp←v15612 != (int)2147483647)) { SOURCE(18528, 671) { word relativeByte←v15656; W2 rd←v15712; SOURCE(18530, 34) relativeByte←v15656 = IOP2( * , (int)rfp←v15612, (int)2); SOURCE(18619, 83) (void) ReadRasterDefn←P300((word) &rd←v15712, (* (ptr) group←v9836 ), ((* (( (ptr) group←v9836)+6) ) + relativeByte←v15656)) ; SOURCE(18704, 54) { word truth←v37236; { word tc183; if (( (int)rd←v15712.f1 == (int) ( short )(* (( (hPt) &cd←v15512)+6) ))) { tc183 = (word) ( (int)rd←v15712.f0 == (int)IOP2( / , (int)( (int) ( short )(* (( (hPt) &cd←v15512)+7) ) + 15), (int)16) ); } else { tc183 = (word) 0; }; truth←v37236 = (unsigned) tc183; }; SOURCE(2417, 40) if ((0 == truth←v37236)) { SOURCE(2435, 22) (void) XR←RaiseError((word) (( (bPt) gf←c43536)+188)/* var←c37936 */ , 0); }; }; SOURCE(18760, 433) { word tc184; if (( (int) ( short )(* (( (hPt) &cd←v15512)+6) ) > (int)0)) { tc184 = (word) ( (int) ( short )(* (( (hPt) &cd←v15512)+7) ) > (int)0); } else { tc184 = (word) 0; }; if (tc184) { SOURCE(18792, 404) { word rasterBytes←v15756; SOURCE(18794, 54) { word fileWords←v37524; fileWords←v37524 = IOP2( * , (int)rd←v15712.f0, (int)rd←v15712.f1); SOURCE(2518, 20) rasterBytes←v15756 = IOP2( * , (int)fileWords←v37524, (int)2); }; SOURCE(18850, 212) { W4 var←c42384; var←c42384.f0 = (int) ( short )(* (( (hPt) &cd←v15512)+4) ); var←c42384.f1 = (int) ( short )(* (( (hPt) &cd←v15512)+5) ); var←c42384.f2 = ( (int) ( short )(* (( (hPt) &cd←v15512)+6) ) + (int) ( short )(* (( (hPt) &cd←v15512)+4) )); var←c42384.f3 = ( (int) ( short )(* (( (hPt) &cd←v15512)+7) ) + (int) ( short )(* (( (hPt) &cd←v15512)+5) )); { /*1*/ word pd185; /*1*/ pd185 = (* (( (ptr) (* (( (ptr) gf←c43536)+117)/* var←c42416 */ ))+22) ); /*1*/ sampleMap←v15484 = (word) ( *( (fPt) ((* (ptr) pd185 ))))(var←c42384, 1, ((word) rd←v15712.f0 << 4), pd185); /*1*/ }; }; SOURCE(19072, 121) SOURCE(19073, 120) (void) RawFetch←P180((* (ptr) group←v9836 ), (((* (( (ptr) group←v9836)+6) ) + relativeByte←v15656) + 2), (* (( (ptr) sampleMap←v15484)+8) ), SGNCK(rasterBytes←v15756)); }; }; }; }; }; }; }; SOURCE(19205, 18) return(sampleMap←v15484); } static word Right←P1620(angle←v9968) word angle←v9968; { word var←c10012; /* Right: */ SOURCE(19229, 181) SOURCE(19274, 47) lab←L100083: ; { word x186; word x187; if ((( x186 = angle←v9968, *(float*)&x186 ) < ( x187 = (* (ptr) &fc76 ), *(float*)&x187 ))) { } else { goto lab←L100081; }; }; SOURCE(19293, 28) { word x188; word x190; *(float*)&angle←v9968 = ( x188 = angle←v9968, *(float*)&x188 ) + ( x190 = (* (ptr) &fc189 ), *(float*)&x190 ); }; goto lab←L100083; lab←L100081: ; SOURCE(19323, 50) lab←L100086: ; { word x191; word x193; if ((( x191 = angle←v9968, *(float*)&x191 ) > ( x193 = (* (ptr) &fc192 ), *(float*)&x193 ))) { } else { goto lab←L100084; }; }; SOURCE(19345, 28) { word x194; word x195; *(float*)&angle←v9968 = ( x194 = angle←v9968, *(float*)&x194 ) - ( x195 = (* (ptr) &fc189 ), *(float*)&x195 ); }; goto lab←L100086; lab←L100084: ; SOURCE(19375, 35) { float tf196; word x197; word x199; return( (unsigned) (FABS(( x197 = angle←v9968, *(float*)&x197 ), tf196) <= ( x199 = (* (ptr) &fc198 ), *(float*)&x199 ))); }; } static word FindBestGroup←P1680(data←v10072, char←v10100, t←v10128) word data←v10072; word char←v10100; word t←v10128; { register ptr gf←c43568 = (ptr) &globalframe; word var←c10172; word best←v15800 = 0; /* FindBestGroup: */ SOURCE(19464, 1043) SOURCE(19587, 816) { register word each←v15844; each←v15844 = (* (( (ptr) data←v10072)+2) ); lab←L100090: ; if ((each←v15844 != 0)) { } else { goto lab←L100087; }; { word group←v15972; SOURCE(19660, 29) group←v15972 = (* (ptr) each←v15844 ); SOURCE(19691, 712) if (((* (( (ptr) group←v15972)+1) ) == ((word) char←v10100 >> 8))) { SOURCE(19728, 675) { word var←c42448; var←c42448 = (* (( (ptr) group←v15972)+4) ); if ((var←c42448 == 0)) { SOURCE(19771, 21) (void) XR←RaiseError((word) (( (bPt) gf←c43568)+188)/* var←c37936 */ , 0); } else { if ((var←c42448 == 1)) { SOURCE(19811, 604) { W4 cd←v16016; SOURCE(19813, 79) (void) GetCharacterData←P840((word) &cd←v16016, group←v15972, (char←v10100 & 0377)); SOURCE(19894, 509) if (( (int) ( short )(* (( (hPt) &cd←v16016)+7) ) != (int) ( short )65535)) { SOURCE(19948, 455) if ((t←v10128 != 0)) { SOURCE(19964, 445) /*1*/ { /*1*/ word composite←v16060; /*1*/ W6 f←v16088; /*1*/ word var←c42480; /*1*/ word var←c42512; SOURCE(19966, 77) /*1*/ { /*1*/ word pd200; /*1*/ pd200 = (* (( (ptr) (* (( (ptr) gf←c43568)+114)/* var←c40240 */ ))+13) ); /*1*/ composite←v16060 = (word) ( *( (fPt) ((* (ptr) pd200 ))))((* (( (ptr) group←v15972)+8) ), t←v10128, pd200); /*1*/ }; SOURCE(20045, 87) /*1*/ { /*1*/ word pd201; /*1*/ pd201 = (* (( (ptr) (* (( (ptr) gf←c43568)+114)/* var←c40240 */ ))+50) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd201 ))))((word) &f←v16088, composite←v16060, pd201); /*1*/ }; SOURCE(20134, 39) /*1*/ { /*1*/ word pd202; /*1*/ pd202 = (* (( (ptr) (* (( (ptr) gf←c43568)+114)/* var←c40240 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd202 ))))(composite←v16060, pd202); /*1*/ }; SOURCE(20175, 15) /*1*/ composite←v16060 = 0; SOURCE(20192, 12) /*1*/ best←v15800 = group←v15972; SOURCE(20289, 114) /*1*/ { /*1*/ word tc203; /*1*/ word tc204; /*1*/ word x208; /*1*/ word x209; /*1*/ word x210; /*1*/ word x211; /*1*/ word x215; /*1*/ word x216; /*1*/ word x217; /*1*/ word x218; /*1*/ if ( ( (0 != (word) Right←P1620(f←v16088.f0)) ? (0 != (word) Right←P1620(f←v16088.f3)) : 0 ) ) { /*1*/ { /*1*/ float tf205; /*1*/ word x206; /*1*/ float tf207; /*1*/ var←c42480 = ( /*1*/ tf207 = FABS(( /*1*/ x206 = f←v16088.f1, *(float*)&x206 /*1*/ ), tf205), *(word*)&tf207 /*1*/ ); /*1*/ }; /*1*/ if ((( /*1*/ x208 = var←c42480, *(float*)&x208 /*1*/ ) >= ( /*1*/ x209 = (* (( (ptr) gf←c43568)+6)/* minScale←v4680 */ ), *(float*)&x209 /*1*/ ))) { /*1*/ tc204 = (word) (( /*1*/ x210 = var←c42480, *(float*)&x210 /*1*/ ) <= ( /*1*/ x211 = (* (( (ptr) gf←c43568)+7)/* maxScale←v4708 */ ), *(float*)&x211 /*1*/ )); /*1*/ } /*1*/ else { /*1*/ tc204 = (word) 0; /*1*/ }; /*1*/ } /*1*/ else { /*1*/ tc204 = (word) 0; /*1*/ }; /*1*/ if (tc204) { /*1*/ { /*1*/ float tf212; /*1*/ word x213; /*1*/ float tf214; /*1*/ var←c42512 = ( /*1*/ tf214 = FABS(( /*1*/ x213 = f←v16088.f2, *(float*)&x213 /*1*/ ), tf212), *(word*)&tf214 /*1*/ ); /*1*/ }; /*1*/ if ((( /*1*/ x215 = var←c42512, *(float*)&x215 /*1*/ ) >= ( /*1*/ x216 = (* (( (ptr) gf←c43568)+6)/* minScale←v4680 */ ), *(float*)&x216 /*1*/ ))) { /*1*/ tc203 = (word) (( /*1*/ x217 = var←c42512, *(float*)&x217 /*1*/ ) <= ( /*1*/ x218 = (* (( (ptr) gf←c43568)+7)/* maxScale←v4708 */ ), *(float*)&x218 /*1*/ )); /*1*/ } /*1*/ else { /*1*/ tc203 = (word) 0; /*1*/ }; /*1*/ } /*1*/ else { /*1*/ tc203 = (word) 0; /*1*/ }; /*1*/ if (tc203) { SOURCE(20403, 4) /*1*/ goto lab←L100088; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; }; }; } else { SOURCE(20429, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; }; each←v15844 = (* (( (ptr) each←v15844)+1) ); goto lab←L100090; lab←L100087: ; lab←L100088: ; }; SOURCE(20448, 19) if ((best←v15800 == 0)) { SOURCE(20467, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(20494, 13) return(best←v15800); } static word GetClientToDevice←P1740(formal←c0442) word formal←c0442; { W7 var←c43600; /* declaration of context←v10232 skipped */ register ptr gf←c43632 = (ptr) &globalframe; word t←v10276; var←c43600.f4/* context←v10232 */ = formal←c0442; /* GetClientToDevice: */ SOURCE(20513, 186) SOURCE(20513, 186) t←v10276 = 0; SOURCE(20601, 98) SOURCE(20601, 98) { /* declaration of var←c02 skipped */ var←c43600.f5/* var←c02 */ = (* (( (ptr) (* (( (ptr) gf←c43632)+118)/* var←c42544 */ ))+20) ); { /* declaration of var←c03 skipped */ { word var←c04; { word var←c0435; var←c0435 = (word) &var←c43600; var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q5244) ), ( ((word) (fPt) NoName←Q5304) ), var←c0435); }; if ((var←c04 == 2)) { goto lab←L100092; }; }; t←v10276 = var←c43600.f6/* var←c03 */ ; }; }; lab←L100092: ; SOURCE(20513, 186) return(t←v10276); } static word NoName←Q5244(formal←c0426) word formal←c0426; { SOURCE(20601, 98) { word pd219; pd219 = (* (( (ptr) formal←c0426)+5) ); (* (( (ptr) formal←c0426)+6) ) = (word) ( *( (fPt) ((* (ptr) pd219 ))))((* (( (ptr) formal←c0426)+4) ), 0, 3, pd219); }; return(0); } static void CDMask←P1800(self←v10336, char←v10364, context←v10392) word self←v10336; word char←v10364; word context←v10392; { register ptr gf←c43664 = (ptr) &globalframe; word data←v16132; /* CDMask: */ SOURCE(20714, 852) SOURCE(20797, 30) data←v16132 = XR←Narrow((* (( (ptr) self←v10336)+1) ), (* (( (ptr) gf←c43664)+31) )); SOURCE(20829, 737) if ((0 != (word) CDContains←P900(self←v10336, char←v10364))) { SOURCE(20860, 574) { word t←v16176; word group←v16204; SOURCE(20862, 46) t←v16176 = (word) GetClientToDevice←P1740(context←v10392); SOURCE(20910, 47) group←v16204 = (word) FindBestGroup←P1680(data←v16132, char←v10364, t←v16176); SOURCE(20959, 58) if ((t←v16176 != 0)) { SOURCE(20977, 31) { word pd220; pd220 = (* (( (ptr) (* (( (ptr) gf←c43664)+114)/* var←c40240 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd220 ))))(t←v16176, pd220); }; SOURCE(21010, 7) t←v16176 = 0; }; SOURCE(21020, 388) { word var←c42576; var←c42576 = (* (( (ptr) group←v16204)+4) ); if ((var←c42576 == 0)) { SOURCE(21063, 21) (void) XR←RaiseError((word) (( (bPt) gf←c43664)+188)/* var←c37936 */ , 0); } else { if ((var←c42576 == 1)) { SOURCE(21103, 310) { word bitmap←v16248; SOURCE(21105, 66) bitmap←v16248 = (word) GetBitmap←P1560(group←v16204, (char←v10364 & 0377)); SOURCE(21173, 235) if ((bitmap←v16248 != 0)) { SOURCE(21196, 42) { word pd221; pd221 = (* (( (ptr) (* (( (ptr) gf←c43664)+113)/* var←c39376 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd221 ))))(context←v10392, (* (( (ptr) group←v16204)+8) ), pd221); }; SOURCE(21240, 128) { W2 var←c42608; W2 var←c42640; var←c42608.f0 = 0; var←c42608.f1 = 0; var←c42640.f0 = (* (ptr) &fc76 ); var←c42640.f1 = (* (ptr) &fc76 ); { /*1*/ word pd222; /*1*/ pd222 = (* (( (ptr) (* (( (ptr) gf←c43664)+113)/* var←c39376 */ ))+78) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd222 ))))(context←v10392, bitmap←v16248, var←c42608, 6, var←c42640, pd222); /*1*/ }; }; SOURCE(21370, 38) { word pd223; pd223 = (* (( (ptr) (* (( (ptr) gf←c43664)+117)/* var←c42416 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd223 ))))(bitmap←v16248, pd223); }; }; }; } else { SOURCE(21427, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; } else { SOURCE(21443, 123) if ((char←v10364 != 61642)) { SOURCE(21473, 43) (void) CDMask←P1800(self←v10336, 61642, context←v10392); } else { SOURCE(21516, 50) { W4 var←c42672; var←c42672.f0 = (* (ptr) &fc224 ); var←c42672.f1 = (* (ptr) &fc76 ); var←c42672.f2 = (* (ptr) &fc225 ); var←c42672.f3 = (* (ptr) &fc159 ); { word pd226; pd226 = (* (( (ptr) (* (( (ptr) gf←c43664)+113)/* var←c39376 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd226 ))))(context←v10392, var←c42672, pd226); }; }; }; }; } static word CloseToIdentity←P1860(t←v10452) word t←v10452; { register ptr gf←c43696 = (ptr) &globalframe; word var←c10496; /* CloseToIdentity: */ SOURCE(21659, 263) SOURCE(21720, 68) if (((0 == (* (( (ptr) t←v10452)+8) )) || ( (int)(* (( (ptr) t←v10452)+6) ) != (int)0)) || ( (int)(* (( (ptr) t←v10452)+7) ) != (int)0)) { SOURCE(21775, 13) return(0); }; SOURCE(21790, 31) if (((* (( (ptr) t←v10452)+9) ) == 3)) { SOURCE(21809, 12) return(1); }; SOURCE(21823, 84) { word tc227; float tf228; word x229; word x231; float tf232; float tf233; float tf234; word x235; word x236; word x237; if (((* (( (ptr) t←v10452)+9) ) == 1)) { tc227 = (word) (FMAX(FABS((( x229 = (* (ptr) t←v10452 ), *(float*)&x229 ) - ( x231 = (* (ptr) &fc230 ), *(float*)&x231 )), tf228), FABS((( x235 = (* (( (ptr) t←v10452)+4) ), *(float*)&x235 ) - ( x236 = (* (ptr) &fc230 ), *(float*)&x236 )), tf234), tf232, tf233) <= ( x237 = (* (( (ptr) gf←c43696)+8)/* tolerance←v4820 */ ), *(float*)&x237 )); } else { tc227 = (word) 0; }; if (tc227) { SOURCE(21895, 12) return(1); }; }; SOURCE(21909, 13) return(0); } static word CDMakeCharMask←P1920(parameters←v25704, font←v25732, char←v25760) word parameters←v25704; word font←v25732; word char←v25760; { register ptr gf←c43728 = (ptr) &globalframe; word var←c25804; word self←v16292; word data←v16320; word charMask←v16348 = 0; /* CDMakeCharMask: */ SOURCE(21926, 694) SOURCE(21979, 54) { word pd238; pd238 = (* (( (ptr) (* (( (ptr) gf←c43728)+110)/* var←c39024 */ ))+7) ); self←v16292 = (word) ( *( (fPt) ((* (ptr) pd238 ))))(font←v25732, pd238); }; SOURCE(22035, 30) data←v16320 = XR←Narrow((* (( (ptr) self←v16292)+1) ), (* (( (ptr) gf←c43728)+31) )); SOURCE(22109, 467) if ((0 != (word) CDContains←P900(self←v16292, char←v25760))) { SOURCE(22140, 461) { word group←v16392; word t←v16420 = 0; SOURCE(22142, 63) group←v16392 = (word) FindBestGroup←P1680(data←v16320, char←v25760, (* (ptr) font←v25732 )); SOURCE(22232, 69) { word pd239; pd239 = (* (( (ptr) (* (( (ptr) gf←c43728)+114)/* var←c40240 */ ))+13) ); t←v16420 = (word) ( *( (fPt) ((* (ptr) pd239 ))))((* (( (ptr) group←v16392)+8) ), (* (ptr) font←v25732 ), pd239); }; SOURCE(22303, 273) if ((0 != (word) CloseToIdentity←P1860(t←v16420))) { SOURCE(22330, 246) { word var←c42704; var←c42704 = (* (( (ptr) group←v16392)+4) ); if ((var←c42704 == 1)) { SOURCE(22380, 201) { word bitmap←v16464; SOURCE(22382, 66) bitmap←v16464 = (word) GetBitmap←P1560(group←v16392, (char←v25760 & 0377)); SOURCE(22450, 126) if ((bitmap←v16464 != 0)) { SOURCE(22473, 63) { word pd240; pd240 = (* (( (ptr) (* (( (ptr) gf←c43728)+119)/* var←c42736 */ ))+6) ); charMask←v16348 = (word) ( *( (fPt) ((* (ptr) pd240 ))))(bitmap←v16464, pd240); }; SOURCE(22538, 38) { word pd241; pd241 = (* (( (ptr) (* (( (ptr) gf←c43728)+117)/* var←c42416 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd241 ))))(bitmap←v16464, pd241); }; }; }; } else { }; }; }; }; }; SOURCE(22604, 16) return(charMask←v16348); } static void NoName←Q5304(formal←c0388, formal←c200004, formal←c200005, formal←c200006, formal←c200007) word formal←c0388; word formal←c200004; word formal←c200005; word formal←c200006; word formal←c200007; { register ptr gf←c0430 = (ptr) &globalframe; if ((formal←c200005 == (* (ptr) (* (( (ptr) (* (( (ptr) gf←c0430)+113)/* var←c39376 */ ))+6) ) ))) { { W3 error←v36624; error←v36624 = (* (W3Pt) formal←c200007 ); SOURCE(20699, 9) (* (ptr) formal←c0388 ) = 2; (* (( (ptr) formal←c0388)+1) ) = 2; return; }; }; (* (ptr) formal←c0388 ) = 0; (* (( (ptr) formal←c0388)+1) ) = 0; return; } static void NoName←Q5364(formal←c0399, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c0399; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { register ptr gf←c0431 = (ptr) &globalframe; if ((formal←c200001 == (word) (( (bPt) gf←c0431)+188)/* var←c37936 */ )) { SOURCE(3946, 107) { word var←c39408; word var←c39440; { word pd242; pd242 = (* (( (ptr) (* (( (ptr) gf←c0431)+111)/* var←c39184 */ ))+5) ); var←c39408 = (word) ( *( (fPt) ((* (ptr) pd242 ))))((* (( (ptr) gf←c0431)+40) ), (* (( (ptr) formal←c200000)+4) ), (* (( (ptr) gf←c0431)+39) ), 0, 0, pd242); }; { word var←c39472; word var←c39504; var←c39472 = XR←NewObject(12, (* (( (ptr) gf←c0431)+28) )); var←c39504 = var←c39472; (* (ptr) var←c39504 ) = (* (( (ptr) gf←c0431)+38) ); (* (( (ptr) var←c39504)+1) ) = (* (( (ptr) formal←c200000)+4) ); var←c39440 = var←c39472; }; { W3 var←c0398; var←c0398.f0 = 43; var←c0398.f1 = var←c39408; var←c0398.f2 = var←c39440; (void) XR←RaiseError((* (ptr) (* (( (ptr) (* (( (ptr) gf←c0431)+113)/* var←c39376 */ ))+6) ) ), (word) &var←c0398); }; }; }; (* (ptr) formal←c0399 ) = 0; (* (( (ptr) formal←c0399)+1) ) = 0; return; } /* file: ImagerCDTypefaceImpl, module: ImagerCDTypefaceImpl, compiled at: July 28, 1993 10:14:43 am PDT */ extern void XR←install←ImagerCDTypefaceImpl() { NoName←Q5124(); } extern void XR←run←ImagerCDTypefaceImpl() { XR←Start(&globalframe); }