/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 28, 1993 10:17:46 am PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: ImagerFDBuildImpl, module: ImagerFDBuildImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [2751379270,2423337292] ImagerFDBuildImpl"; 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 W6 *W6Pt; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1, f2, f3;} W4; typedef struct {W8 f; W4 r;} W12; typedef struct {W8 f; W8 r;} W16; typedef struct {word f0, f1;} W2; typedef struct {W16 f; W2 r;} W18; typedef W12 *W12Pt; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {W16 f; W4 r;} W20; typedef W2 *W2Pt; typedef struct {word f0, f1, f2;} W3; typedef W3 *W3Pt; typedef W4 *W4Pt; typedef struct {W16 f; W12 r;} W28; typedef struct {word f0, f1, f2, f3, f4;} W5; static float fc1 = 0.02; #define SOURCE(p, l) /* source p, l */ static float fc52 = 1.0; static float fc54 = 10000.0; static float fc58 = 0.5; #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static float fc82 = 0.0; #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) static float fc133 = -10000.0; #define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty ) #define INEG(x) ( (word) ( - ((int) (word) (x)) ) ) static void NoName←Q9564(); static void ImagerFDBuildImpl←P0(); static word CompareReal←P60(); static word Create←P120(); static void Insert←P180(); static void Inner←P3540(); static word FetchList←P240(); static void StoreList←P300(); static word RealAssocCompare←P360(); static void CountReal←P420(); static void Inner←P3600(); static word FindCommonReals←P480(); static word EachEntry←P3708(); static word RealAssocOrderCompare←P3816(); static word CloseEnough←P3876(); static word GetRealCode←P540(); static word BuildSetArrayTable←P600(); static word EachChar←P4176(); static word Compatible←P660(); static void ForEachRun←P720(); static word CommonItemsFromSetArrayTable←P780(); static void UpdateTypefaceTab←P4524(); static void EachRun←P4584(); static word StuffTypefaceIndex←P4644(); static word GetTypefaceIndex←P840(); static word GetPlacementCode←P900(); static word FDTypefaceDataFromCanonicalizedFDTable←P960(); static word StuffCharInfoRunSeq←P4896(); static void EachRun←P4956(); static void NoteCharInfoRun←P5604(); static void CharInfoFromCD←P5016(); static word RawHash←P1020(); static word CharacterDescriptionHash←P1080(); static word CharacterDescriptionEqual←P1140(); static word CharacterDescriptionsHash←P1200(); static word CharacterDescriptionsEqual←P1260(); static word TransformationHash←P1320(); static word TransformationEqual←P1380(); static word CharInfoRunHash←P1440(); static word CharInfoRunEqual←P1500(); static void MapCharacterDescriptions←P1560(); static word EachPair←P6048(); static word NonNilT←P1620(); static void Canonicalize←P1680(); static word CanonicalizeTypefaceCell←P6156(); static void UpdateTF←P6684(); static word CanonicalizeTransformation←P6216(); static void UpdateTransformation←P6792(); static word CanonicalizeCharacterDescription←P6276(); static void UpdateCD←P6852(); static word CanonicalizeCharacterDescriptions←P6336(); static void UpdateCDS←P6912(); static word TransformationIndex←P6396(); static word CDsInOrder←P6456(); static word SortCharacterDescriptions←P6516(); static word CanonicalizeEachCharacterDescriptionList←P6576(); static word SortTransformations←P1740(); static word SortedInsert←P7404(); static void Debug←P1800(); static word NoName←Q9624(); static word FactoredCompare←P1860(); static word Read←P1920(); static word FDTableFromFDTypefaceData←P1980(); static void Write←P2040(); static void WriteFDTypefaceData←P2100(); static void WriteFDTypefaceDataToStream←P2160(); static void PutExtents←P2220(); static void PutRealSeq←P2280(); static void PutTransformationSeq←P2340(); static void PutTransformation←P2400(); static void PutTypefaceCellSeq←P2460(); static void PutCharInfoRunSeq←P2520(); static void PutTypefaceCell←P2580(); static void PutOverflowCharInfoSeq←P2640(); static void PutVerboseCharInfo←P2700(); static void PutVEC←P2760(); static void PutPropList←P2820(); static void PutCharInfoRun←P2880(); static void PutCharRuns←P2940(); static void PutCARD32←P3120(); static void PutBYTE←P3180(); static void PutCount←P3240(); static void PutIdentifier←P3300(); static void PutInteger←P3360(); static void PutREAL←P3480(); static void NoName←Q9684(); static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\102\124\000\000"}; static struct {unsigned f; char r[4];} string3 = {131074, "\003\006\000"}; static struct {unsigned f; char r[28];} string4 = {1769500, "\205\210\241\000\100\377\216\205\210\241\000\100\377\216\257\300\142\157\367\061\300\243\052\073\037\100\164"}; static struct {unsigned f; char r[8];} string5 = {393222, "\010\000\004A\000\001\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\142\157\367\061\300\243\052\073\037\100\214\000\000"}; static struct {unsigned f; char r[4];} string7 = {131074, "\004\007\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\142\157\367\061\300\243\052\073\037\100\164\000\000"}; static struct {unsigned f; char r[4];} string9 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\142\157\367\061\300\243\052\073\037\100\200\000\000"}; static struct {unsigned f; char r[4];} string11 = {196611, "\004L\003"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\100\354\000\000"}; static struct {unsigned f; char r[4];} string13 = {131074, "\003\002\000"}; static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\101\004\000\000"}; static struct {unsigned f; char r[20];} string15 = {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];} string16 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\200\000\000"}; static struct {unsigned f; char r[24];} string17 = {1310744, "\205\210\241\000\100\377\216\257\300\142\157\367\061\300\243\052\073\037\100\164\000\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\101\210\000\000"}; static struct {unsigned f; char r[4];} string19 = {196611, "\004A\377"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\324\000\000"}; static struct {unsigned f; char r[12];} string21 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"}; static struct {unsigned f; char r[4];} string22 = {65540, "\242\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\340\000\000"}; static struct {unsigned f; char r[4];} string24 = {131074, "\004\013\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\164\000\000"}; static struct {unsigned f; char r[36];} string26 = {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];} string27 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\260\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\101\050\000\000"}; static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\274\000\000"}; static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\230\000\000"}; static struct {unsigned f; char r[4];} string32 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\101\064\000\000"}; static struct {unsigned f; char r[48];} string34 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\107\202\306\250\300\217\000\064\076\101\064\005\004\162\145\163\164\214\216\257\300\107\202\306\250\300\217\000\064\076\101\064\261\000\000\000"}; static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\164\000\000"}; static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\110\014\000\000"}; static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\102\140\000\000"}; static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\100\164\000\000"}; static struct {unsigned f; char r[4];} string39 = {196611, "\004@\300"}; static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\150\000\000"}; static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"}; static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\223\215\300\016\300\070\141\304\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\041\257\203\366\300\322\161\356\007\100\150\000\000"}; static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\072\337\114\355\300\232\070\352\142\100\150\000\000"}; static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\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 {unsigned f; char r[16];} string50 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\142\157\367\061\300\243\052\073\037\100\150\000\000"}; static struct { word f0[166]; } globalframe = { {0} }; static void NoName←Q9564() { register ptr gf←c0697 = (ptr) &globalframe; word var←c49880; (* (( (ptr) gf←c0697)+4)/* extentTolerance←v3280 */ ) = (* (ptr) &fc1 ); (* (( (ptr) gf←c0697)+152) ) = ( ((word) (fPt) ImagerFDBuildImpl←P0) ); (* (( (ptr) gf←c0697)+150) ) = ( ((word) (fPt) CompareReal←P60) ); (* (( (ptr) gf←c0697)+148) ) = ( ((word) (fPt) Create←P120) ); (* (( (ptr) gf←c0697)+146) ) = ( ((word) (fPt) Insert←P180) ); (* (( (ptr) gf←c0697)+144) ) = ( ((word) (fPt) FetchList←P240) ); (* (( (ptr) gf←c0697)+142) ) = ( ((word) (fPt) StoreList←P300) ); (* (( (ptr) gf←c0697)+140) ) = ( ((word) (fPt) RealAssocCompare←P360) ); (* (( (ptr) gf←c0697)+138) ) = ( ((word) (fPt) CountReal←P420) ); (* (( (ptr) gf←c0697)+136) ) = ( ((word) (fPt) FindCommonReals←P480) ); (* (( (ptr) gf←c0697)+134) ) = ( ((word) (fPt) GetRealCode←P540) ); (* (( (ptr) gf←c0697)+132) ) = ( ((word) (fPt) BuildSetArrayTable←P600) ); (* (( (ptr) gf←c0697)+130) ) = ( ((word) (fPt) Compatible←P660) ); (* (( (ptr) gf←c0697)+128) ) = ( ((word) (fPt) ForEachRun←P720) ); (* (( (ptr) gf←c0697)+126) ) = ( ((word) (fPt) CommonItemsFromSetArrayTable←P780) ); (* (( (ptr) gf←c0697)+124) ) = ( ((word) (fPt) GetTypefaceIndex←P840) ); (* (( (ptr) gf←c0697)+122) ) = ( ((word) (fPt) GetPlacementCode←P900) ); (* (( (ptr) gf←c0697)+120) ) = ( ((word) (fPt) FDTypefaceDataFromCanonicalizedFDTable←P960) ); (* (( (ptr) gf←c0697)+118) ) = ( ((word) (fPt) RawHash←P1020) ); (* (( (ptr) gf←c0697)+116) ) = ( ((word) (fPt) CharacterDescriptionHash←P1080) ); (* (( (ptr) gf←c0697)+114) ) = ( ((word) (fPt) CharacterDescriptionEqual←P1140) ); (* (( (ptr) gf←c0697)+112) ) = ( ((word) (fPt) CharacterDescriptionsHash←P1200) ); (* (( (ptr) gf←c0697)+110) ) = ( ((word) (fPt) CharacterDescriptionsEqual←P1260) ); (* (( (ptr) gf←c0697)+108) ) = ( ((word) (fPt) TransformationHash←P1320) ); (* (( (ptr) gf←c0697)+106) ) = ( ((word) (fPt) TransformationEqual←P1380) ); (* (( (ptr) gf←c0697)+104) ) = ( ((word) (fPt) CharInfoRunHash←P1440) ); (* (( (ptr) gf←c0697)+102) ) = ( ((word) (fPt) CharInfoRunEqual←P1500) ); (* (( (ptr) gf←c0697)+100) ) = ( ((word) (fPt) MapCharacterDescriptions←P1560) ); (* (( (ptr) gf←c0697)+98) ) = ( ((word) (fPt) NonNilT←P1620) ); (* (( (ptr) gf←c0697)+96) ) = ( ((word) (fPt) Canonicalize←P1680) ); (* (( (ptr) gf←c0697)+94) ) = ( ((word) (fPt) SortTransformations←P1740) ); (* (( (ptr) gf←c0697)+92) ) = ( ((word) (fPt) Debug←P1800) ); (* (( (ptr) gf←c0697)+90) ) = ( ((word) (fPt) FactoredCompare←P1860) ); (* (( (ptr) gf←c0697)+88) ) = ( ((word) (fPt) Read←P1920) ); (* (( (ptr) gf←c0697)+86) ) = ( ((word) (fPt) FDTableFromFDTypefaceData←P1980) ); (* (( (ptr) gf←c0697)+84) ) = ( ((word) (fPt) Write←P2040) ); (* (( (ptr) gf←c0697)+82) ) = ( ((word) (fPt) WriteFDTypefaceData←P2100) ); (* (( (ptr) gf←c0697)+80) ) = ( ((word) (fPt) WriteFDTypefaceDataToStream←P2160) ); (* (( (ptr) gf←c0697)+78) ) = ( ((word) (fPt) PutExtents←P2220) ); (* (( (ptr) gf←c0697)+76) ) = ( ((word) (fPt) PutRealSeq←P2280) ); (* (( (ptr) gf←c0697)+74) ) = ( ((word) (fPt) PutTransformationSeq←P2340) ); (* (( (ptr) gf←c0697)+72) ) = ( ((word) (fPt) PutTransformation←P2400) ); (* (( (ptr) gf←c0697)+70) ) = ( ((word) (fPt) PutTypefaceCellSeq←P2460) ); (* (( (ptr) gf←c0697)+68) ) = ( ((word) (fPt) PutCharInfoRunSeq←P2520) ); (* (( (ptr) gf←c0697)+66) ) = ( ((word) (fPt) PutTypefaceCell←P2580) ); (* (( (ptr) gf←c0697)+64) ) = ( ((word) (fPt) PutOverflowCharInfoSeq←P2640) ); (* (( (ptr) gf←c0697)+62) ) = ( ((word) (fPt) PutVerboseCharInfo←P2700) ); (* (( (ptr) gf←c0697)+60) ) = ( ((word) (fPt) PutVEC←P2760) ); (* (( (ptr) gf←c0697)+58) ) = ( ((word) (fPt) PutPropList←P2820) ); (* (( (ptr) gf←c0697)+56) ) = ( ((word) (fPt) PutCharInfoRun←P2880) ); (* (( (ptr) gf←c0697)+54) ) = ( ((word) (fPt) PutCharRuns←P2940) ); (* (( (ptr) gf←c0697)+52) ) = ( ((word) (fPt) PutCARD32←P3120) ); (* (( (ptr) gf←c0697)+50) ) = ( ((word) (fPt) PutBYTE←P3180) ); (* (( (ptr) gf←c0697)+48) ) = ( ((word) (fPt) PutCount←P3240) ); (* (( (ptr) gf←c0697)+46) ) = ( ((word) (fPt) PutIdentifier←P3300) ); (* (( (ptr) gf←c0697)+44) ) = ( ((word) (fPt) PutInteger←P3360) ); (* (( (ptr) gf←c0697)+42) ) = ( ((word) (fPt) PutREAL←P3480) ); (* (( (ptr) gf←c0697)+9) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3); (* (( (ptr) gf←c0697)+11) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (( (ptr) gf←c0697)+13) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (* (( (ptr) gf←c0697)+16) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9); (* (( (ptr) gf←c0697)+17) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11); (* (( (ptr) gf←c0697)+18) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13); (* (( (ptr) gf←c0697)+19) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string9); (* (( (ptr) gf←c0697)+20) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string9); (* (( (ptr) gf←c0697)+21) ) = (word) XR←GetTypeIndexS((word) (&string16)); (* (( (ptr) gf←c0697)+23) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string5); (* (( (ptr) gf←c0697)+24) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19); (* (( (ptr) gf←c0697)+25) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21); (* (( (ptr) gf←c0697)+26) ) = (word) XR←GetTypeIndexS((word) (&string22)); (* (( (ptr) gf←c0697)+27) ) = (word) XR←GetTypeIndex((word) &string23, 0, (word) &string24); (* (( (ptr) gf←c0697)+28) ) = (word) XR←GetTypeIndex((word) &string25, 0, (word) &string26); (* (( (ptr) gf←c0697)+30) ) = (word) XR←GetTypeIndex((word) &string27, 0, (word) &string21); (* (( (ptr) gf←c0697)+31) ) = (word) XR←GetTypeIndex((word) &string28, 0, (word) &string21); (* (( (ptr) gf←c0697)+32) ) = (word) XR←GetTypeIndex((word) &string29, 0, (word) &string21); (* (( (ptr) gf←c0697)+33) ) = (word) XR←GetTypeIndexS((word) (&string30)); (* (( (ptr) gf←c0697)+34) ) = (word) XR←GetTypeIndex((word) &string31, 0, (word) &string32); (* (( (ptr) gf←c0697)+35) ) = (word) XR←GetTypeIndex((word) &string33, 0, (word) &string3); (* (( (ptr) gf←c0697)+36) ) = (word) XR←GetTypeIndex((word) &string34, 0, (word) &string9); (* (( (ptr) gf←c0697)+37) ) = (word) XR←GetTypeIndexS((word) (&string35)); (* (( (ptr) gf←c0697)+38) ) = (word) XR←GetTypeIndex((word) &string36, 0, (word) &string21); (* (( (ptr) gf←c0697)+40) ) = (word) XR←GetTypeIndex((word) &string37, 0, (word) &string21); (void) XR←DeclareGlobalFrame((word) "ImagerFDBuildImpl", &globalframe, (word) XR←GetTypeIndex((word) &string38, 0, (word) &string39) , (word) (( (bPt) gf←c0697)+608)/* var←c43192 */ ); var←c49880 = (word) XR←ImportInterface((word) "ImagerFDTypeface", (word) XR←GetTypeIndexS((word) (&string40)), 2); (* (( (ptr) gf←c0697)+161)/* var←c48792 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67371009); var←c49880 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string41)), 16); (* (( (ptr) gf←c0697)+163)/* var←c49560 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67372289); var←c49880 = (word) XR←ImportInterface((word) "CardTab", (word) XR←GetTypeIndexS((word) (&string42)), 12); (* (( (ptr) gf←c0697)+156)/* var←c43448 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67896835); (void) XR←ImportProcS(var←c49880, 67635458); (void) XR←ImportProcS(var←c49880, 67896579); (void) XR←ImportProcS(var←c49880, 134742786); (void) XR←ImportProcS(var←c49880, 788995); (void) XR←ImportProcS(var←c49880, 67371265); var←c49880 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string43)), 55); (* (( (ptr) gf←c0697)+154)/* var←c43224 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67645698); (void) XR←ImportProcS(var←c49880, 402927105); (void) XR←ImportProcS(var←c49880, 67371777); var←c49880 = (word) XR←ImportInterface((word) "ImagerSys", (word) XR←GetTypeIndexS((word) (&string44)), 15); (* (( (ptr) gf←c0697)+160)/* var←c48760 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67374593); (void) XR←ImportProcS(var←c49880, 67373313); var←c49880 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string45)), 103); (* (( (ptr) gf←c0697)+162)/* var←c48824 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 1071364); (void) XR←ImportProcS(var←c49880, 528642); (void) XR←ImportProcS(var←c49880, 530434); var←c49880 = (word) XR←ImportInterface((word) "SymTab", (word) XR←GetTypeIndexS((word) (&string46)), 13); (* (( (ptr) gf←c0697)+159)/* var←c47480 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 789251); (void) XR←ImportProcS(var←c49880, 67633410); var←c49880 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string47)), 28); (* (( (ptr) gf←c0697)+157)/* var←c44088 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67375873); (void) XR←ImportProcS(var←c49880, 67639810); (void) XR←ImportProcS(var←c49880, 67639042); var←c49880 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string48)), 11); (* (( (ptr) gf←c0697)+155)/* var←c43352 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67371521); (void) XR←ImportProcS(var←c49880, 67633154); (void) XR←ImportProcS(var←c49880, 67371265); var←c49880 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string49)), 43); (* (( (ptr) gf←c0697)+164)/* var←c49848 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67373825); var←c49880 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string50)), 16); (* (( (ptr) gf←c0697)+158)/* var←c44792 */ ) = var←c49880; (void) XR←ImportProcS(var←c49880, 67371521); (void) XR←ImportProcS(var←c49880, 134742786); (void) XR←ImportProcS(var←c49880, 788995); (void) XR←ImportProcS(var←c49880, 67896835); (void) XR←ImportProcS(var←c49880, 67635458); (void) XR←ImportProcS(var←c49880, 67895555); var←c49880 = (word) XR←ExportInterface((word) "ImagerFDBuild", (word) XR←GetTypeIndexS((word) (&string51)), 11); (* (( (ptr) gf←c0697)+165)/* var←c49912 */ ) = var←c49880; (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+592)/* var←c43128 */ , 67108864, (word) "Create"); (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+584)/* var←c43096 */ , 3670275, (word) "Insert"); (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+336)/* var←c42104 */ , 524802, (word) "Write"); (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+352)/* var←c42168 */ , 67371777, (word) "Read"); (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+576)/* var←c43064 */ , 67634178, (word) "FetchList"); (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+568)/* var←c43032 */ , 787715, (word) "StoreList"); (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+384)/* var←c42296 */ , 263681, (word) "Canonicalize"); (void) XR←ExportVar(var←c49880, 7, (word) (( (bPt) gf←c0697)+164)/* var←c41400 */ ); (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+480)/* var←c42680 */ , 67373057, (word) "FDTypefaceDataFromCanonicalizedFDTable") ; (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+344)/* var←c42136 */ , 67373313, (word) "FDTableFromFDTypefaceData") ; (void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+328)/* var←c42072 */ , 526850, (word) "WriteFDTypefaceData"); } static void ImagerFDBuildImpl←P0(formal←c086, formal←c078) word formal←c086; word formal←c078; { register ptr gf←c49944 = (ptr) &globalframe; /* ImagerFDBuildImpl: */ SOURCE(1259, 33413) /* moved to installation proc */ SOURCE(1891, 39) { word x53; word x55; *(float*)(( (ptr) gf←c49944)+5)/* escapementTolerance←v3308 */ = ( x53 = (* (ptr) &fc52 ), *(float*)&x53 ) / ( x55 = (* (ptr) &fc54 ), *(float*)&x55 ); }; SOURCE(19376, 56) { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c49944)+154)/* var←c43224 */ ))+7) ); (* (( (ptr) gf←c49944)+6)/* identity←v4288 */ ) = (word) ( *( (fPt) ((* (ptr) pd56 ))))((* (ptr) (&fc52) ), pd56); }; SOURCE(24584, 89) { W6 var←c43256; word var←c43288; { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c49944)+154)/* var←c43224 */ ))+50) ); (void) ( *( (fPt) ((* (ptr) pd57 ))))((word) &var←c43256, (* (( (ptr) gf←c49944)+6)/* identity←v4288 */ ), pd57); }; var←c43288 = XR←NewObject(28, (* (( (ptr) gf←c49944)+9) )); (* (W6Pt) var←c43288 ) = var←c43256; (* (( (ptr) gf←c49944)+7)/* nullFactored←v4484 */ ) = var←c43288; }; SOURCE(33950, 53) { word var←c43320; word a←v21436; a←v21436 = (* (ptr) &fc58 ); SOURCE(34074, 93) { register word i←v21464 = 0; lab←L100003: ; { word b←v21492; { word x59; word x60; word x61; *(float*)&b←v21492 = (( x59 = a←v21436, *(float*)&x59 ) + ( x60 = a←v21436, *(float*)&x60 )) + ( x61 = (* (ptr) &fc58 ), *(float*)&x61 ); }; SOURCE(34120, 40) { word x62; word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf←c49944)+155)/* var←c43352 */ ))+5) ); if ((( x62 = b←v21492, *(float*)&x62 ) == (float)(int)(word) ( *( (fPt) ((* (ptr) pd63 ))))(b←v21492, pd63))) { SOURCE(34150, 10) var←c43320 = a←v21436; goto lab←L100004; }; }; SOURCE(34162, 5) a←v21436 = b←v21492; }; if ((i←v21464 >= 999)) { goto lab←L100000; }; i←v21464 = (i←v21464 + 1); goto lab←L100003; lab←L100000: ; }; SOURCE(34178, 5) (void) XR←RaiseUnnamedError(); lab←L100004: ; (* (( (ptr) gf←c49944)+8)/* largestFlonumFraction←v5296 */ ) = var←c43320; }; } static word CompareReal←P60(a←v5564, b←v5592) word a←v5564; word b←v5592; { word var←c5636; /* CompareReal: */ SOURCE(1673, 139) SOURCE(1736, 76) { word x64; word x65; word x66; word x67; word idx68; return(( idx68 = (word) ( (( x64 = a←v5564, *(float*)&x64 ) < ( x65 = b←v5592, *(float*)&x65 )) ? 0 : ( (( x66 = a←v5564, *(float*)&x66 ) == ( x67 = b←v5592, *(float*)&x67 )) ? 1 : 2 ) ) , BCK(idx68, 3) )); }; } static word Create←P120() { register ptr gf←c49976 = (ptr) &globalframe; word var←c5696; /* Create: */ SOURCE(1983, 97) SOURCE(2025, 55) { word var←c43416; word var←c43480; { word pd69; pd69 = (* (( (ptr) (* (( (ptr) gf←c49976)+156)/* var←c43448 */ ))+5) ); var←c43416 = (word) ( *( (fPt) ((* (ptr) pd69 ))))(17, pd69); }; var←c43480 = XR←NewObject(12, (* (( (ptr) gf←c49976)+13) )); (* (ptr) var←c43480 ) = var←c43416; return(var←c43480); }; } static void Insert←P180(fdTable←v5756, code←v5784, formal←c0826) word fdTable←v5756; word code←v5784; W12 formal←c0826; { W18 var←c50008; /* declaration of cd←v5812 skipped */ register ptr gf←c50040 = (ptr) &globalframe; /* declaration of var←c43512 skipped */ (* (W12Pt) (( (ptr) &var←c50008)+4)/* cd←v5812 */ ) = formal←c0826; /* Insert: */ SOURCE(2084, 372) { word tmpAddr70; tmpAddr70 = (word) (( (ptr) &var←c50008)+16)/* var←c43512 */ ; (* (ptr) tmpAddr70 ) = ( ((word) (fPt) Inner←P3540) ); (* (( (ptr) tmpAddr70) + 1) ) = 1; }; SOURCE(2353, 60) { word pd71; pd71 = (* (( (ptr) (* (( (ptr) gf←c50040)+156)/* var←c43448 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd71 ))))((* (ptr) fdTable←v5756 ), code←v5784, (word) (( (bPt) &var←c50008)+64)/* var←c43512 */ , pd71) ; }; SOURCE(2415, 41) (* (( (ptr) fdTable←v5756)+2) ) = 0; } static void Inner←P3540(formal←c0106, found←v33352, val←v33380, formal←c50104) word formal←c0106; word found←v33352; word val←v33380; word formal←c50104; { register ptr gf←c50072 = (ptr) &globalframe; word op←v33424; word new←v33452; word newCDs←v11308; formal←c50104 = (formal←c50104 - 64); /* Inner: */ SOURCE(2168, 182) SOURCE(2168, 182) op←v33424 = 0; SOURCE(2168, 182) new←v33452 = 0; SOURCE(2200, 125) { word var←c43544; word var←c43608; word var←c43640; { word var←c43576; var←c43576 = XR←NewObject(48, (* (( (ptr) gf←c50072)+17) )); (* (W12Pt) var←c43576 ) = (* (W12Pt) (( (ptr) formal←c50104)+4) ); var←c43544 = var←c43576; }; var←c43608 = XR←Narrow(val←v33380, (* (( (ptr) gf←c50072)+16) )); var←c43640 = XR←NewObject(8, (* (( (ptr) gf←c50072)+16) )); (* (ptr) var←c43640 ) = var←c43544; (* (( (ptr) var←c43640)+1) ) = var←c43608; newCDs←v11308 = var←c43640; }; SOURCE(2327, 23) op←v33424 = 1; new←v33452 = newCDs←v11308; /* removed tail goto */ (* (ptr) formal←c0106 ) = op←v33424; (* (( (ptr) formal←c0106)+1) ) = new←v33452; return; } static word FetchList←P240(fdTable←v5872, code←v5900) word fdTable←v5872; word code←v5900; { register ptr gf←c50136 = (ptr) &globalframe; word var←c5944; /* FetchList: */ SOURCE(2462, 148) SOURCE(2552, 58) { word var←c0786; { W2 var←c0110; word var←c0785; { word pd72; pd72 = (* (( (ptr) (* (( (ptr) gf←c50136)+156)/* var←c43448 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd72 ))))((word) &var←c0110, (* (ptr) fdTable←v5872 ), code←v5900, pd72); }; var←c0785 = var←c0110.f1; var←c0786 = XR←Narrow(var←c0785, (* (( (ptr) gf←c50136)+16) )); }; return(var←c0786); }; } static void StoreList←P300(fdTable←v6004, code←v6032, cds←v6060) word fdTable←v6004; word code←v6032; word cds←v6060; { register ptr gf←c50168 = (ptr) &globalframe; /* StoreList: */ SOURCE(2614, 188) SOURCE(2700, 59) { word var←c43704; word pd73; pd73 = (* (( (ptr) (* (( (ptr) gf←c50168)+156)/* var←c43448 */ ))+9) ); var←c43704 = (word) ( *( (fPt) ((* (ptr) pd73 ))))((* (ptr) fdTable←v6004 ), code←v6032, cds←v6060, pd73); }; SOURCE(2761, 41) (* (( (ptr) fdTable←v6004)+2) ) = 0; } static word RealAssocCompare←P360(ref1←v32116, ref2←v32144) word ref1←v32116; word ref2←v32144; { register ptr gf←c50200 = (ptr) &globalframe; word var←c32188; word a←v11352; word b←v11380; /* RealAssocCompare: */ SOURCE(2917, 190) SOURCE(2956, 31) a←v11352 = XR←Narrow(ref1←v32116, (* (( (ptr) gf←c50200)+18) )); SOURCE(2989, 31) b←v11380 = XR←Narrow(ref2←v32144, (* (( (ptr) gf←c50200)+18) )); SOURCE(3022, 85) { word var←c43768; word a←v41324; word b←v41352; a←v41324 = (* (( (ptr) b←v11380)+1) ); b←v41352 = (* (( (ptr) a←v11352)+1) ); { word idx74; var←c43768 = ( idx74 = (word) ( (a←v41324 == b←v41352) ? 1 : ( (a←v41324 > b←v41352) ? 2 : 0 ) ) , BCK(idx74, 3) ); }; return(var←c43768); }; } static void CountReal←P420(realTab←v6232, formal←c0827) word realTab←v6232; word formal←c0827; { W7 var←c50232; /* declaration of real←v6260 skipped */ register ptr gf←c50264 = (ptr) &globalframe; /* declaration of var←c43800 skipped */ var←c50232.f4/* real←v6260 */ = formal←c0827; /* CountReal: */ SOURCE(3110, 293) { word tmpAddr75; tmpAddr75 = (word) (( (ptr) &var←c50232)+5)/* var←c43800 */ ; (* (ptr) tmpAddr75 ) = ( ((word) (fPt) Inner←P3600) ); (* (( (ptr) tmpAddr75) + 1) ) = 1; }; SOURCE(3341, 62) { word pd76; pd76 = (* (( (ptr) (* (( (ptr) gf←c50264)+156)/* var←c43448 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd76 ))))(realTab←v6232, var←c50232.f4/* real←v6260 */ , (word) (( (bPt) &var←c50232)+20)/* var←c43800 */ , pd76) ; }; } static void Inner←P3600(formal←c0133, found←v34008, val←v34036, formal←c50328) word formal←c0133; word found←v34008; word val←v34036; word formal←c50328; { register ptr gf←c50296 = (ptr) &globalframe; word op←v34080; word new←v34108; formal←c50328 = (formal←c50328 - 20); /* Inner: */ SOURCE(3161, 174) SOURCE(3161, 174) op←v34080 = 0; SOURCE(3161, 174) new←v34108 = 0; SOURCE(3193, 142) if ((0 != found←v34008)) { SOURCE(3207, 54) { word c←v11492; SOURCE(3209, 30) c←v11492 = XR←Narrow(val←v34036, (* (( (ptr) gf←c50296)+18) )); SOURCE(3241, 20) (* (( (ptr) c←v11492)+1) ) = ((* (( (ptr) c←v11492)+1) ) + 1); }; } else { SOURCE(3270, 65) { word var←c43896; { word var←c43864; var←c43864 = XR←NewObject(12, (* (( (ptr) gf←c50296)+18) )); (* (ptr) var←c43864 ) = (* (( (ptr) formal←c50328)+4) ); (* (( (ptr) var←c43864)+1) ) = 1; var←c43896 = var←c43864; }; op←v34080 = 1; new←v34108 = var←c43896; goto lab←L100007; }; }; /* removed tail goto */ lab←L100007: ; (* (ptr) formal←c0133 ) = op←v34080; (* (( (ptr) formal←c0133)+1) ) = new←v34108; return; } static word FindCommonReals←P480(realTab←v6404, formal←c0828, max←v6460) word realTab←v6404; word formal←c0828; word max←v6460; { W12 var←c50360; /* declaration of tolerance←v6432 skipped */ register ptr gf←c50392 = (ptr) &globalframe; word var←c6504; /* declaration of var←c43928 skipped */ /* declaration of var←c43960 skipped */ /* declaration of var←c43992 skipped */ /* declaration of list←v11548 skipped */ word ans←v11576; (* (( (ptr) &var←c50360)+4)/* tolerance←v6432 */ ) = formal←c0828; /* FindCommonReals: */ SOURCE(3526, 1759) { word tmpAddr77; tmpAddr77 = (word) (( (ptr) &var←c50360)+5)/* var←c43928 */ ; (* (ptr) tmpAddr77 ) = ( ((word) (fPt) CloseEnough←P3876) ); (* (( (ptr) tmpAddr77) + 1) ) = 1; }; { word tmpAddr78; tmpAddr78 = (word) (( (ptr) &var←c50360)+7)/* var←c43960 */ ; (* (ptr) tmpAddr78 ) = ( ((word) (fPt) RealAssocOrderCompare←P3816) ); (* (( (ptr) tmpAddr78) + 1) ) = 1; }; { word tmpAddr79; tmpAddr79 = (word) (( (ptr) &var←c50360)+9)/* var←c43992 */ ; (* (ptr) tmpAddr79 ) = ( ((word) (fPt) EachEntry←P3708) ); (* (( (ptr) tmpAddr79) + 1) ) = 1; }; SOURCE(3637, 6) (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = 0; SOURCE(3666, 38) ans←v11576 = XR←NewObject(8, (* (( (ptr) gf←c50392)+19) )); SOURCE(3771, 49) { word var←c44056; word pd80; pd80 = (* (( (ptr) (* (( (ptr) gf←c50392)+156)/* var←c43448 */ ))+13) ); var←c44056 = (word) ( *( (fPt) ((* (ptr) pd80 ))))(realTab←v6404, (word) (( (bPt) &var←c50360)+36)/* var←c43992 */ , pd80) ; }; SOURCE(3822, 953) { word x81; word x83; if ((( x81 = (* (( (ptr) &var←c50360)+4)/* tolerance←v6432 */ ), *(float*)&x81 ) != ( x83 = (* (ptr) &fc82 ), *(float*)&x83 ))) { SOURCE(3846, 931) { word new←v11744 = 0; word clusterStart←v11772 = 0; SOURCE(4211, 64) { word pd84; pd84 = (* (( (ptr) (* (( (ptr) gf←c50392)+157)/* var←c44088 */ ))+27) ); (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = (word) ( *( (fPt) ((* (ptr) pd84 ))))((* (( (ptr) &var←c50360)+11)/* list←v11548 */ ), (word) ( ( (bPt) &var←c50360)+28)/* var←c43960 */ , pd84); }; SOURCE(4277, 390) { register word tail←v12112; tail←v12112 = (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ); lab←L100011: ; if ((tail←v12112 != 0)) { } else { goto lab←L100008; }; { word this←v12252; SOURCE(4341, 40) this←v12252 = XR←Narrow((* (ptr) tail←v12112 ), (* (( (ptr) gf←c50392)+18) )); SOURCE(4383, 284) if ((clusterStart←v11772 == 0)) { SOURCE(4411, 19) clusterStart←v11772 = this←v12252; } else { SOURCE(4439, 228) if ((0 != (word) CloseEnough←P3876((* (ptr) this←v12252 ), (* (ptr) clusterStart←v11772 ), (word) (( (bPt) &var←c50360)+20) /* var←c43928 */ ))) { SOURCE(4491, 35) (* (( (ptr) this←v12252)+2) ) = (* (( (ptr) clusterStart←v11772)+2) ); SOURCE(4528, 27) (* (( (ptr) clusterStart←v11772)+2) ) = this←v12252; SOURCE(4557, 49) (* (( (ptr) clusterStart←v11772)+1) ) = ((* (( (ptr) clusterStart←v11772)+1) ) + (* (( (ptr) this←v12252)+1) )); } else { SOURCE(4617, 29) { word var←c44120; var←c44120 = XR←NewObject(8, (* (( (ptr) gf←c50392)+20) )); (* (ptr) var←c44120 ) = clusterStart←v11772; (* (( (ptr) var←c44120)+1) ) = new←v11744; new←v11744 = var←c44120; }; SOURCE(4648, 19) clusterStart←v11772 = this←v12252; }; }; }; tail←v12112 = (* (( (ptr) tail←v12112)+1) ); goto lab←L100011; lab←L100008: ; }; SOURCE(4684, 78) if ((clusterStart←v11772 != 0)) { SOURCE(4712, 29) { word var←c44152; var←c44152 = XR←NewObject(8, (* (( (ptr) gf←c50392)+20) )); (* (ptr) var←c44152 ) = clusterStart←v11772; (* (( (ptr) var←c44152)+1) ) = new←v11744; new←v11744 = var←c44152; }; SOURCE(4743, 19) clusterStart←v11772 = 0; }; SOURCE(4765, 10) (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = new←v11744; }; }; }; SOURCE(4780, 59) { word pd85; pd85 = (* (( (ptr) (* (( (ptr) gf←c50392)+157)/* var←c44088 */ ))+27) ); (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = (word) ( *( (fPt) ((* (ptr) pd85 ))))((* (( (ptr) &var←c50360)+11)/* list←v11548 */ ), (word) ( ( (bPt) gf←c50392)+560)/* var←c43000 */ , pd85); }; SOURCE(4841, 34) { word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c50392)+156)/* var←c43448 */ ))+5) ); (* (ptr) ans←v11576 ) = (word) ( *( (fPt) ((* (ptr) pd86 ))))(17, pd86); }; SOURCE(4877, 64) { word var←c44184; { word var←c44216; word var←c44248; word var←c44280; { word pd87; word x88; word idx89; pd87 = (* (( (ptr) (* (( (ptr) gf←c50392)+157)/* var←c44088 */ ))+23) ); var←c44216 = ( idx89 = (word) (x88 = (word) ( *( (fPt) ((* (ptr) pd87 ))))((* ((( (ptr) &var←c50360)+11)/* list←v11548 */ ) ), pd87), MIN((int)(word), x88, (max←v6460 + 1))), SGNCK(idx89) ); }; var←c44248 = ((word) var←c44216 << 2); var←c44280 = XR←NewObject((4 + var←c44248), (* (( (ptr) gf←c50392)+21) )); (* (ptr) var←c44280 ) = var←c44216; var←c44184 = var←c44280; }; (* (( (ptr) ans←v11576)+1) ) = var←c44184; }; SOURCE(4943, 318) { register word i←v12404 = 0; register word noName←c44312; noName←c44312 = (* (ptr) (* (( (ptr) ans←v11576)+1) ) ); if ((i←v12404 >= noName←c44312)) { goto lab←L100012; }; lab←L100015: ; { word r←v12448; SOURCE(4991, 37) r←v12448 = XR←Narrow((* (ptr) (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) ), (* (( (ptr) gf←c50392)+18) )); SOURCE(5030, 27) { word var←c44344; var←c44344 = (* (( (ptr) ans←v11576)+1) ); { word limit90; (* ((( (ptr) var←c44344)+1)+( limit90 = (* (ptr) var←c44344 ), BCK(i←v12404, limit90) )) ) = (* (ptr) r←v12448 ); }; }; SOURCE(5059, 170) { register word a←v12504; word var←c44376; a←v12504 = r←v12448; lab←L100019: ; if ((a←v12504 != 0)) { } else { goto lab←L100016; }; SOURCE(5112, 117) { word pd91; { word var←c44408; var←c44408 = XR←NewObject(12, (* (( (ptr) gf←c50392)+18) )); (* (ptr) var←c44408 ) = (* (ptr) r←v12448 ); (* (( (ptr) var←c44408)+1) ) = i←v12404; var←c44376 = var←c44408; }; pd91 = (* (( (ptr) (* (( (ptr) gf←c50392)+156)/* var←c43448 */ ))+10) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd91 ))))((* (ptr) ans←v11576 ), (* (ptr) a←v12504 ), var←c44376, pd91))) { SOURCE(5229, 5) (void) XR←RaiseUnnamedError(); }; }; a←v12504 = (* (( (ptr) a←v12504)+2) ); goto lab←L100019; lab←L100016: ; }; SOURCE(5245, 16) (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = (* (( (ptr) (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ))+1) ); }; i←v12404 = (i←v12404 + 1); if ((i←v12404 < noName←c44312)) { goto lab←L100015; }; lab←L100012: ; }; SOURCE(5272, 13) return(ans←v11576); } static word EachEntry←P3708(key←v34180, val←v34208, formal←c50456) word key←v34180; word val←v34208; word formal←c50456; { register ptr gf←c50424 = (ptr) &globalframe; word quit←v34252; formal←c50456 = (formal←c50456 - 36); /* EachEntry: */ SOURCE(3706, 60) SOURCE(3706, 60) quit←v34252 = 0; SOURCE(3744, 22) { word var←c44440; var←c44440 = XR←NewObject(8, (* (( (ptr) gf←c50424)+20) )); (* (ptr) var←c44440 ) = val←v34208; (* (( (ptr) var←c44440)+1) ) = (* (( (ptr) formal←c50456)+11) ); (* (( (ptr) formal←c50456)+11) ) = var←c44440; }; SOURCE(3706, 60) return(quit←v34252); } static word RealAssocOrderCompare←P3816(ref1←v34312, ref2←v34340, formal←c50520) word ref1←v34312; word ref2←v34340; word formal←c50520; { register ptr gf←c50488 = (ptr) &globalframe; word var←c34384; word a←v12308; word b←v12336; formal←c50520 = (formal←c50520 - 28); /* RealAssocOrderCompare: */ SOURCE(3911, 42) SOURCE(3955, 31) a←v12308 = XR←Narrow(ref1←v34312, (* (( (ptr) gf←c50488)+18) )); SOURCE(3988, 31) b←v12336 = XR←Narrow(ref2←v34340, (* (( (ptr) gf←c50488)+18) )); SOURCE(4021, 65) return((word) CompareReal←P60((* (ptr) b←v12336 ), (* (ptr) a←v12308 ))); } static word CloseEnough←P3876(a←v12012, b←v12040, formal←c50552) word a←v12012; word b←v12040; word formal←c50552; { word var←c12084; formal←c50552 = (formal←c50552 - 20); /* CloseEnough: */ SOURCE(4089, 19) SOURCE(4139, 36) { word x92; word x93; word x94; word x95; if (( (unsigned) (( x92 = a←v12012, *(float*)&x92 ) > ( x93 = (* (ptr) &fc82 ), *(float*)&x93 )) != (unsigned) (( x94 = b←v12040, *(float*)&x94 ) > ( x95 = (* (ptr) &fc82 ), *(float*)&x95 )))) { SOURCE(4161, 14) return(0); }; }; SOURCE(4177, 31) { float tf96; word x97; word x98; word x99; return( (unsigned) (FABS((( x97 = a←v12012, *(float*)&x97 ) - ( x98 = b←v12040, *(float*)&x98 )), tf96) <= ( x99 = (* (( (ptr) formal←c50552)+4) ), *(float*)&x99 ))); }; } static word GetRealCode←P540(commonReals←v6564, real←v6592) word commonReals←v6564; word real←v6592; { register ptr gf←c50584 = (ptr) &globalframe; word var←c6636; word found←v12560; word val←v12588 = 0; /* GetRealCode: */ SOURCE(5289, 245) SOURCE(5387, 77) { W2 var←c44504; { word pd100; pd100 = (* (( (ptr) (* (( (ptr) gf←c50584)+156)/* var←c43448 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd100 ))))((word) &var←c44504, (* (ptr) commonReals←v6564 ), real←v6592, pd100); }; val←v12588 = var←c44504.f1; found←v12560 = var←c44504.f0; }; SOURCE(5466, 68) { word idx101; if ((0 != found←v12560)) { return(( idx101 = (* (( (ptr) XR←Narrow(val←v12588, (* (( (ptr) gf←c50584)+18) )))+1) ), SGNCK(idx101) )); } else { return( (word) -1); }; }; } static word BuildSetArrayTable←P600(fdTable←v6752) word fdTable←v6752; { W7 var←c50616; register ptr gf←c50648 = (ptr) &globalframe; word var←c6796; /* declaration of var←c44568 skipped */ /* declaration of setArrayTable←v12656 skipped */ /* BuildSetArrayTable: */ SOURCE(5676, 491) { word tmpAddr102; tmpAddr102 = (word) (( (ptr) &var←c50616)+4)/* var←c44568 */ ; (* (ptr) tmpAddr102 ) = ( ((word) (fPt) EachChar←P4176) ); (* (( (ptr) tmpAddr102) + 1) ) = 1; }; SOURCE(5748, 52) var←c50616.f6/* setArrayTable←v12656 */ = XR←NewObject(1024, (* (( (ptr) gf←c50648)+11) )); SOURCE(6087, 56) { word var←c44632; word pd103; pd103 = (* (( (ptr) (* (( (ptr) gf←c50648)+156)/* var←c43448 */ ))+13) ); var←c44632 = (word) ( *( (fPt) ((* (ptr) pd103 ))))((* (ptr) fdTable←v6752 ), (word) (( (bPt) &var←c50616)+16)/* var←c44568 */ , pd103) ; }; SOURCE(6145, 22) return(var←c50616.f6/* setArrayTable←v12656 */ ); } static word EachChar←P4176(key←v34540, val←v34568, formal←c50712) word key←v34540; word val←v34568; word formal←c50712; { register ptr gf←c50680 = (ptr) &globalframe; word quit←v34612; word set←v12728; word code←v12756; formal←c50712 = (formal←c50712 - 16); /* EachChar: */ SOURCE(5802, 280) SOURCE(5802, 280) quit←v34612 = 0; SOURCE(5839, 24) { word idx104; set←v12728 = ( idx104 = (word) ((word) key←v34540 >> 8), BCK(idx104, 256) ); }; SOURCE(5865, 24) code←v12756 = (key←v34540 & 0377); SOURCE(5891, 105) if (((* (( (ptr) (* (( (ptr) formal←c50712)+6) ))+set←v12728) ) == 0)) { SOURCE(5924, 72) (* (( (ptr) (* (( (ptr) formal←c50712)+6) ))+set←v12728) ) = XR←NewObject(1024, (* (( (ptr) gf←c50680)+23) )); }; SOURCE(5998, 39) if (((* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c50712)+6) ))+set←v12728) ))+code←v12756) ) != 0)) { SOURCE(6037, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(6044, 38) (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c50712)+6) ))+set←v12728) ))+code←v12756) ) = XR←Narrow(val←v34568, (* (( (ptr) gf←c50680)+16) )); SOURCE(5802, 280) return(quit←v34612); } static word Compatible←P660(a←v6856, b←v6884) word a←v6856; word b←v6884; { word var←c6928; /* Compatible: */ SOURCE(6173, 442) SOURCE(6239, 350) lab←L100022: ; if ( ( ( (a←v6856 != 0) ? (b←v6884 != 0) : 0 ) ? (a←v6856 != b←v6884) : 0 ) ) { } else { goto lab←L100020; }; { word ac←v12816; word bc←v12844; SOURCE(6282, 34) ac←v12816 = (* (ptr) a←v6856 ); SOURCE(6318, 34) bc←v12844 = (* (ptr) b←v6884 ); SOURCE(6354, 27) if ((a←v6856 == b←v6884)) { SOURCE(6368, 13) return(1); }; SOURCE(6383, 182) if ((((((* (ptr) ac←v12816 ) != (* (ptr) bc←v12844 )) || ((* (( (ptr) ac←v12816)+1) ) != (* (( (ptr) bc←v12844)+1) ))) || ( (int)(* ( ( (ptr) ac←v12816)+2) ) != (int)(* (( (ptr) bc←v12844)+2) ))) || ((* (( (ptr) ac←v12816)+3) ) != (* (( (ptr) bc←v12844)+3) ))) || ((* (( (ptr) ac←v12816)+10) ) != (* (( (ptr) bc←v12844)+10) ))) { SOURCE(6551, 14) return(0); }; SOURCE(6567, 10) a←v6856 = (* (( (ptr) a←v6856)+1) ); SOURCE(6579, 10) b←v6884 = (* (( (ptr) b←v6884)+1) ); }; goto lab←L100022; lab←L100020: ; SOURCE(6600, 15) return( (unsigned) (a←v6856 == b←v6884)); } static void ForEachRun←P720(setArrayTable←v7104, runProc←v7132) word setArrayTable←v7104; word runProc←v7132; { word prevCDS←v12888 = 0; word startCode←v12916 = (word) -1; word finalCode←v12944 = 0; word constant←v12972 = 0; /* ForEachRun: */ SOURCE(6677, 886) SOURCE(6859, 704) { register word set←v13016 = 0; lab←L100026: ; SOURCE(6890, 673) if (((* (( (ptr) setArrayTable←v7104)+set←v13016) ) != 0)) { SOURCE(6923, 645) { word t←v13060; SOURCE(6925, 63) t←v13060 = (* (( (ptr) setArrayTable←v7104)+set←v13016) ); SOURCE(6990, 444) { register word code←v13132 = 0; lab←L100030: ; { word cds←v13176; SOURCE(7016, 36) cds←v13176 = (* (( (ptr) t←v13060)+code←v13132) ); SOURCE(7054, 186) if ((0 == (word) Compatible←P660(cds←v13176, prevCDS←v12888))) { SOURCE(7093, 147) if ((startCode←v12916 <= finalCode←v12944)) { SOURCE(7126, 44) (void) ( *( (fPt) ((* (ptr) runProc←v7132 ))))(startCode←v12916, (finalCode←v12944 + 1), constant←v12972, runProc←v7132) ; SOURCE(7172, 21) startCode←v12916 = (word) -1; SOURCE(7195, 13) finalCode←v12944 = 0; SOURCE(7210, 13) prevCDS←v12888 = 0; SOURCE(7225, 15) constant←v12972 = 1; }; }; SOURCE(7248, 186) if ((cds←v13176 != 0)) { SOURCE(7266, 170) { word card←v13220; SOURCE(7268, 25) card←v13220 = (((word) set←v13016 << 8) + code←v13132); SOURCE(7295, 56) if ( ( (prevCDS←v12888 != 0) ? (prevCDS←v12888 != cds←v13176) : 0 ) ) { SOURCE(7335, 16) constant←v12972 = 0; }; SOURCE(7353, 13) prevCDS←v12888 = cds←v13176; SOURCE(7368, 32) startCode←v12916 = (MIN( (unsigned) , startCode←v12916, card←v13220)); SOURCE(7402, 32) finalCode←v12944 = (MAX( (unsigned) , finalCode←v12944, card←v13220)); }; }; }; if ((code←v13132 >= 255)) { goto lab←L100027; }; code←v13132 = (code←v13132 + 1); goto lab←L100030; lab←L100027: ; }; SOURCE(7448, 115) if ((startCode←v12916 <= finalCode←v12944)) { SOURCE(7481, 44) (void) ( *( (fPt) ((* (ptr) runProc←v7132 ))))(startCode←v12916, (finalCode←v12944 + 1), constant←v12972, runProc←v7132) ; SOURCE(7527, 21) startCode←v12916 = (word) -1; SOURCE(7550, 13) finalCode←v12944 = 0; }; }; }; if ((set←v13016 >= 255)) { goto lab←L100023; }; set←v13016 = (set←v13016 + 1); goto lab←L100026; lab←L100023: ; }; } static word CommonItemsFromSetArrayTable←P780(formal←c0829) word formal←c0829; { W20 var←c50744; /* declaration of setArrayTable←v7472 skipped */ register ptr gf←c50776 = (ptr) &globalframe; word var←c7516; /* declaration of var←c44696 skipped */ /* declaration of var←c44728 skipped */ /* declaration of var←c44760 skipped */ /* declaration of leftExtentCount←v13264 skipped */ /* declaration of rightExtentCount←v13292 skipped */ /* declaration of descentCount←v13320 skipped */ /* declaration of ascentCount←v13348 skipped */ /* declaration of escapementCount←v13376 skipped */ /* declaration of typefaceTab←v13404 skipped */ /* declaration of placementTab←v13432 skipped */ /* declaration of result←v13460 skipped */ /* declaration of nTypefaceCells←v13488 skipped */ (* (( (ptr) &var←c50744)+4)/* setArrayTable←v7472 */ ) = formal←c0829; /* CommonItemsFromSetArrayTable: */ SOURCE(7886, 2498) { word tmpAddr105; tmpAddr105 = (word) (( (ptr) &var←c50744)+5)/* var←c44696 */ ; (* (ptr) tmpAddr105 ) = ( ((word) (fPt) StuffTypefaceIndex←P4644) ); (* (( (ptr) tmpAddr105) + 1) ) = 1; }; { word tmpAddr106; tmpAddr106 = (word) (( (ptr) &var←c50744)+7)/* var←c44728 */ ; (* (ptr) tmpAddr106 ) = ( ((word) (fPt) EachRun←P4584) ); (* (( (ptr) tmpAddr106) + 1) ) = 1; }; { word tmpAddr107; tmpAddr107 = (word) (( (ptr) &var←c50744)+9)/* var←c44760 */ ; (* (ptr) tmpAddr107 ) = ( ((word) (fPt) UpdateTypefaceTab←P4524) ); (* (( (ptr) tmpAddr107) + 1) ) = 1; }; SOURCE(7978, 43) { word pd108; pd108 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) ); (* (( (ptr) &var←c50744)+11)/* leftExtentCount←v13264 */ ) = (word) ( *( (fPt) ((* (ptr) pd108 ))))(17, pd108); }; SOURCE(8023, 44) { word pd109; pd109 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) ); (* (( (ptr) &var←c50744)+12)/* rightExtentCount←v13292 */ ) = (word) ( *( (fPt) ((* (ptr) pd109 ))))(17, pd109); }; SOURCE(8069, 40) { word pd110; pd110 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) ); (* (( (ptr) &var←c50744)+13)/* descentCount←v13320 */ ) = (word) ( *( (fPt) ((* (ptr) pd110 ))))(17, pd110); }; SOURCE(8111, 39) { word pd111; pd111 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) ); (* (( (ptr) &var←c50744)+14)/* ascentCount←v13348 */ ) = (word) ( *( (fPt) ((* (ptr) pd111 ))))(17, pd111); }; SOURCE(8152, 43) { word pd112; pd112 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) ); (* (( (ptr) &var←c50744)+15)/* escapementCount←v13376 */ ) = (word) ( *( (fPt) ((* (ptr) pd112 ))))(17, pd112); }; SOURCE(8197, 41) { word pd113; pd113 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+5) ); (* (( (ptr) &var←c50744)+16)/* typefaceTab←v13404 */ ) = (word) ( *( (fPt) ((* (ptr) pd113 ))))(17, 0, 0, pd113); }; SOURCE(8240, 94) { word pd114; pd114 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+5) ); (* (( (ptr) &var←c50744)+17)/* placementTab←v13432 */ ) = (word) ( *( (fPt) ((* (ptr) pd114 ))))(17, (word) (( (bPt) gf←c50776)+424) /* var←c42456 */ , (word) (( (bPt) gf←c50776)+432)/* var←c42488 */ , pd114); }; SOURCE(8336, 41) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ) = XR←NewObject(36, (* (( (ptr) gf←c50776)+24) )); SOURCE(8379, 23) (* (( (ptr) &var←c50744)+19)/* nTypefaceCells←v13488 */ ) = 0; SOURCE(9526, 34) (void) ForEachRun←P720((* (( (ptr) &var←c50744)+4)/* setArrayTable←v7472 */ ), (word) (( (bPt) &var←c50744)+28)/* var←c44728 */ ) ; SOURCE(9562, 75) (* (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+11) /* leftExtentCount←v13264 */ ), (* (( (ptr) gf←c50776)+4)/* extentTolerance←v3280 */ ), 254); SOURCE(9639, 72) (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+1) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+12) /* rightExtentCount←v13292 */ ), (* (( (ptr) gf←c50776)+4)/* extentTolerance←v3280 */ ), 255); SOURCE(9713, 64) (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+2) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+13) /* descentCount←v13320 */ ), (* (( (ptr) gf←c50776)+4)/* extentTolerance←v3280 */ ), 255); SOURCE(9779, 62) (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+3) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+14) /* ascentCount←v13348 */ ), (* (( (ptr) gf←c50776)+4)/* extentTolerance←v3280 */ ), 255); SOURCE(9843, 74) (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+4) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+15) /* escapementCount←v13376 */ ), (* (( (ptr) gf←c50776)+5)/* escapementTolerance←v3308 */ ), 255); SOURCE(9919, 58) { word var←c44856; { word var←c44888; word var←c44920; word var←c44952; { word idx115; var←c44888 = ( idx115 = (* (( (ptr) &var←c50744)+19)/* nTypefaceCells←v13488 */ ), BCK(idx115, 67108863) ); }; var←c44920 = ((word) var←c44888 << 2); var←c44952 = XR←NewObject((4 + var←c44920), (* (( (ptr) gf←c50776)+25) )); (* (ptr) var←c44952 ) = var←c44888; var←c44856 = var←c44952; }; (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+7) ) = var←c44856; }; SOURCE(9979, 61) { word var←c44984; word pd116; pd116 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+13) ); var←c44984 = (word) ( *( (fPt) ((* (ptr) pd116 ))))((* (( (ptr) &var←c50744)+16)/* typefaceTab←v13404 */ ), (word) (( (bPt) &var←c50744)+20) /* var←c44696 */ , pd116); }; SOURCE(10042, 32) (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+8) ) = (* (( (ptr) &var←c50744)+16)/* typefaceTab←v13404 */ ); SOURCE(10076, 53) (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+5) ) = (word) SortTransformations←P1740((* ((( (ptr) &var←c50744)+17) /* placementTab←v13432 */ ) )); SOURCE(10131, 89) { word pd117; pd117 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+5) ); (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+6) ) = (word) ( *( (fPt) ((* (ptr) pd117 ))))(17, (word) ( ( (bPt) gf←c50776)+424)/* var←c42456 */ , (word) (( (bPt) gf←c50776)+432)/* var←c42488 */ , pd117); }; SOURCE(10222, 135) { register word i←v13732 = 0; register word noName←c45016; noName←c45016 = (* (ptr) (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+5) ) ); if ((i←v13732 >= noName←c45016)) { goto lab←L100031; }; lab←L100034: ; SOURCE(10267, 90) { word var←c45144; { word var←c45048; { word var←c45080; var←c45080 = XR←NewObject(4, (* (( (ptr) gf←c50776)+26) )); (* (ptr) var←c45080 ) = i←v13732; var←c45048 = var←c45080; }; { word var←c45112; word var←c0787; { word limit118; var←c45112 = (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+5) ); var←c0787 = (* (( (ptr) (* ((( (ptr) var←c45112)+1)+( limit118 = (* (ptr) var←c45112 ), BCK(i←v13732, limit118) )) ))+6) ); }; { word pd119; pd119 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+10) ); var←c45144 = (word) ( *( (fPt) ((* (ptr) pd119 ))))((* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+6) ), var←c0787, var←c45048, pd119) ; }; }; }; }; i←v13732 = (i←v13732 + 1); if ((i←v13732 < noName←c45016)) { goto lab←L100034; }; lab←L100031: ; }; SOURCE(10368, 16) return((* (( (ptr) &var←c50744)+18)/* result←v13460 */ )); } static void UpdateTypefaceTab←P4524(formal←c0236, found←v34684, val←v34712, formal←c50840) word formal←c0236; word found←v34684; word val←v34712; word formal←c50840; { register ptr gf←c50808 = (ptr) &globalframe; word op←v34756; word new←v34784; formal←c50840 = (formal←c50840 - 36); /* UpdateTypefaceTab: */ SOURCE(8404, 143) SOURCE(8404, 143) op←v34756 = 0; SOURCE(8404, 143) new←v34784 = 0; SOURCE(8447, 100) if ((0 == found←v34684)) { SOURCE(8467, 31) { word var←c45176; var←c45176 = XR←NewObject(4, (* (( (ptr) gf←c50808)+26) )); (* (ptr) var←c45176 ) = (* (( (ptr) formal←c50840)+19) ); new←v34784 = var←c45176; }; SOURCE(8500, 10) op←v34756 = 1; SOURCE(8512, 35) (* (( (ptr) formal←c50840)+19) ) = ((* (( (ptr) formal←c50840)+19) ) + 1); }; /* removed tail goto */ (* (ptr) formal←c0236 ) = op←v34756; (* (( (ptr) formal←c0236)+1) ) = new←v34784; return; } static void EachRun←P4584(start←v13648, end←v13676, constant←v13704, formal←c50904) word start←v13648; word end←v13676; word constant←v13704; word formal←c50904; { register ptr gf←c50872 = (ptr) &globalframe; word set←v13776; word a←v13804; word base←v13832; formal←c50904 = (formal←c50904 - 28); /* EachRun: */ SOURCE(8555, 829) SOURCE(8608, 26) { word idx120; set←v13776 = ( idx120 = (word) ((word) start←v13648 >> 8), BCK(idx120, 256) ); }; SOURCE(8636, 63) a←v13804 = (* (( (ptr) (* (( (ptr) formal←c50904)+4) ))+set←v13776) ); SOURCE(8701, 22) base←v13832 = ((word) set←v13776 << 8); SOURCE(8725, 30) if ((0 != constant←v13704)) { SOURCE(8742, 13) end←v13676 = (start←v13648 + 1); }; SOURCE(8757, 627) { register word c←v13904; register word noName←c45208; c←v13904 = start←v13648; noName←c45208 = end←v13676; if ((c←v13904 >= noName←c45208)) { goto lab←L100036; }; lab←L100039: ; SOURCE(8788, 596) { register word tail←v13948; tail←v13948 = (* (( (ptr) a←v13804)+BCK((c←v13904 - base←v13832), 256)) ); lab←L100043: ; if ((tail←v13948 != 0)) { } else { goto lab←L100040; }; { word cd←v13992; word placement←v14020; SOURCE(8865, 37) cd←v13992 = (* (ptr) tail←v13948 ); SOURCE(8904, 49) placement←v14020 = (word) NonNilT←P1620((* ((( (ptr) cd←v13992)+10)) )); SOURCE(8955, 78) { word pd121; pd121 = (* (( (ptr) (* (( (ptr) gf←c50872)+158)/* var←c44792 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd121 ))))((* (( (ptr) formal←c50904)+16) ), (* (ptr) cd←v13992 ), (word) (( (bPt) formal←c50904)+36) , pd121); }; SOURCE(9035, 67) { word var←c45240; word pd122; pd122 = (* (( (ptr) (* (( (ptr) gf←c50872)+158)/* var←c44792 */ ))+10) ); var←c45240 = (word) ( *( (fPt) ((* (ptr) pd122 ))))((* (( (ptr) formal←c50904)+17) ), placement←v14020, placement←v14020, pd122) ; }; SOURCE(9104, 49) (void) CountReal←P420((* (( (ptr) formal←c50904)+11) ), (* (( (ptr) cd←v13992)+6) )); SOURCE(9155, 51) (void) CountReal←P420((* (( (ptr) formal←c50904)+12) ), (* (( (ptr) cd←v13992)+7) )); SOURCE(9208, 43) (void) CountReal←P420((* (( (ptr) formal←c50904)+13) ), (* (( (ptr) cd←v13992)+8) )); SOURCE(9253, 41) (void) CountReal←P420((* (( (ptr) formal←c50904)+14) ), (* (( (ptr) cd←v13992)+9) )); SOURCE(9296, 43) (void) CountReal←P420((* (( (ptr) formal←c50904)+15) ), (* (( (ptr) cd←v13992)+4) )); SOURCE(9341, 43) (void) CountReal←P420((* (( (ptr) formal←c50904)+15) ), (* (( (ptr) cd←v13992)+5) )); }; tail←v13948 = (* (( (ptr) tail←v13948)+1) ); goto lab←L100043; lab←L100040: ; }; c←v13904 = (c←v13904 + 1); if ((c←v13904 < noName←c45208)) { goto lab←L100039; }; lab←L100036: ; }; } static word StuffTypefaceIndex←P4644(key←v34844, val←v34872, formal←c50968) word key←v34844; word val←v34872; word formal←c50968; { register ptr gf←c50936 = (ptr) &globalframe; word quit←v34916; word index←v14064; formal←c50968 = (formal←c50968 - 20); /* StuffTypefaceIndex: */ SOURCE(9407, 114) SOURCE(9407, 114) quit←v34916 = 0; SOURCE(9453, 28) index←v14064 = XR←Narrow(val←v34872, (* (( (ptr) gf←c50936)+26) )); SOURCE(9483, 38) { word var←c45272; var←c45272 = (* (( (ptr) (* (( (ptr) formal←c50968)+18) ))+7) ); { word idx123; word limit124; (* ((( (ptr) var←c45272)+1)+( idx123 = (* (ptr) index←v14064 ), limit124 = (* (ptr) var←c45272 ), BCK(idx123, limit124) )) ) = XR←Narrow(key←v34844, (* (( (ptr) gf←c50936)+27) )); }; }; SOURCE(9407, 114) return(quit←v34916); } static word GetTypefaceIndex←P840(common←v7576, typefaceCell←v7604) word common←v7576; word typefaceCell←v7604; { register ptr gf←c51000 = (ptr) &globalframe; word var←c7648; word i←v14120; /* GetTypefaceIndex: */ SOURCE(10388, 186) SOURCE(10489, 71) { W2 var←c0258; word var←c0788; { word pd125; pd125 = (* (( (ptr) (* (( (ptr) gf←c51000)+158)/* var←c44792 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd125 ))))((word) &var←c0258, (* (( (ptr) common←v7576)+8) ), typefaceCell←v7604, pd125); }; var←c0788 = var←c0258.f1; i←v14120 = XR←Narrow(var←c0788, (* (( (ptr) gf←c51000)+26) )); }; SOURCE(10562, 12) { word idx126; return(( idx126 = (* (ptr) i←v14120 ), SGNCK(idx126) )); }; } static word GetPlacementCode←P900(common←v7708, m←v7736) word common←v7708; word m←v7736; { register ptr gf←c51032 = (ptr) &globalframe; word var←c7780; word i←v14176; /* GetPlacementCode: */ SOURCE(10578, 170) SOURCE(10665, 70) { word var←c45304; W2 var←c0264; word var←c0789; var←c45304 = (word) NonNilT←P1620(m←v7736); { word pd127; pd127 = (* (( (ptr) (* (( (ptr) gf←c51032)+158)/* var←c44792 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd127 ))))((word) &var←c0264, (* (( (ptr) common←v7708)+6) ), var←c45304, pd127); }; var←c0789 = var←c0264.f1; i←v14176 = XR←Narrow(var←c0789, (* (( (ptr) gf←c51032)+26) )); }; SOURCE(10737, 11) { word idx128; return(( idx128 = (* (ptr) i←v14176 ), SGNCK(idx128) )); }; } static word FDTypefaceDataFromCanonicalizedFDTable←P960(formal←c0830) word formal←c0830; { W20 var←c51064; /* declaration of fdTable←v7840 skipped */ register ptr gf←c51096 = (ptr) &globalframe; /* declaration of data←v7884 skipped */ /* declaration of var←c45336 skipped */ /* declaration of var←c45368 skipped */ /* declaration of var←c45400 skipped */ /* declaration of nt←v14232 skipped */ /* declaration of setArrayTable←v14260 skipped */ /* declaration of common←v14288 skipped */ /* declaration of lastRuns←v14316 skipped */ /* declaration of charInfoRunTab←v14344 skipped */ /* declaration of nCharInfoRuns←v14372 skipped */ /* declaration of overflowList←v14456 skipped */ /* declaration of nOver←v14484 skipped */ (* (( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ) = formal←c0830; /* FDTypefaceDataFromCanonicalizedFDTable: */ SOURCE(10754, 5937) { word tmpAddr129; tmpAddr129 = (word) (( (ptr) &var←c51064)+6)/* var←c45336 */ ; (* (ptr) tmpAddr129 ) = ( ((word) (fPt) CharInfoFromCD←P5016) ); (* (( (ptr) tmpAddr129) + 1) ) = 1; }; { word tmpAddr130; tmpAddr130 = (word) (( (ptr) &var←c51064)+8)/* var←c45368 */ ; (* (ptr) tmpAddr130 ) = ( ((word) (fPt) EachRun←P4956) ); (* (( (ptr) tmpAddr130) + 1) ) = 1; }; { word tmpAddr131; tmpAddr131 = (word) (( (ptr) &var←c51064)+10)/* var←c45400 */ ; (* (ptr) tmpAddr131 ) = ( ((word) (fPt) StuffCharInfoRunSeq←P4896) ); (* (( (ptr) tmpAddr131) + 1) ) = 1; }; SOURCE(10754, 5937) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ) = 0; SOURCE(10850, 50) (* (( (ptr) &var←c51064)+12)/* nt←v14232 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ))+2) ) ); SOURCE(10902, 58) (* (( (ptr) &var←c51064)+13)/* setArrayTable←v14260 */ ) = (word) BuildSetArrayTable←P600((* ((( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ) )) ; SOURCE(10962, 65) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ) = (word) CommonItemsFromSetArrayTable←P780((* ((( (ptr) &var←c51064)+13) /* setArrayTable←v14260 */ ) )); SOURCE(11029, 24) (* (( (ptr) &var←c51064)+15)/* lastRuns←v14316 */ ) = 0; SOURCE(11055, 90) { word pd132; pd132 = (* (( (ptr) (* (( (ptr) gf←c51096)+158)/* var←c44792 */ ))+5) ); (* (( (ptr) &var←c51064)+16)/* charInfoRunTab←v14344 */ ) = (word) ( *( (fPt) ((* (ptr) pd132 ))))(17, (word) (( (bPt) gf←c51096)+408) /* var←c42392 */ , (word) (( (bPt) gf←c51096)+416)/* var←c42424 */ , pd132); }; SOURCE(11147, 22) (* (( (ptr) &var←c51064)+17)/* nCharInfoRuns←v14372 */ ) = 0; SOURCE(14046, 14) (* (( (ptr) &var←c51064)+18)/* overflowList←v14456 */ ) = 0; SOURCE(14091, 14) (* (( (ptr) &var←c51064)+19)/* nOver←v14484 */ ) = 0; SOURCE(15525, 19) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ) = XR←NewObject(1088, (* (( (ptr) gf←c51096)+28) )); SOURCE(15546, 59) (* (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ) ) = (* (ptr) &fc133 ); (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+1) ) = (* (ptr) &fc133 ); (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+2) ) = (* (ptr) &fc133 ); (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+3) ) = (* (ptr) &fc133 ); SOURCE(15607, 34) (void) ForEachRun←P720((* (( (ptr) &var←c51064)+13)/* setArrayTable←v14260 */ ), (word) (( (bPt) &var←c51064)+32)/* var←c45368 */ ) ; SOURCE(15643, 59) { word var←c45464; { word var←c45496; word var←c45528; word var←c45560; { word idx134; var←c45496 = ( idx134 = (* (( (ptr) &var←c51064)+17)/* nCharInfoRuns←v14372 */ ), BCK(idx134, 67108863) ); }; var←c45528 = ((word) var←c45496 << 2); var←c45560 = XR←NewObject((4 + var←c45528), (* (( (ptr) gf←c51096)+30) )); (* (ptr) var←c45560 ) = var←c45496; var←c45464 = var←c45560; }; (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+13) ) = var←c45464; }; SOURCE(15704, 65) { word var←c45592; word pd135; pd135 = (* (( (ptr) (* (( (ptr) gf←c51096)+158)/* var←c44792 */ ))+13) ); var←c45592 = (word) ( *( (fPt) ((* (ptr) pd135 ))))((* (( (ptr) &var←c51064)+16)/* charInfoRunTab←v14344 */ ), (word) ( ( (bPt) &var←c51064)+40)/* var←c45400 */ , pd135); }; SOURCE(15771, 70) (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+9) ) = (* (( (ptr) (* (( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ))+2) ); SOURCE(15843, 55) (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+4) ) = (* (( (ptr) (* (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ) ))+1) ); SOURCE(15900, 57) (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+5) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+1) ))+1) ); SOURCE(15959, 49) (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+6) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+2) ))+1) ); SOURCE(16010, 47) (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+7) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+3) ))+1) ); SOURCE(16059, 55) (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+8) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+4) ))+1) ); SOURCE(16116, 39) (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+10) ) = (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+7) ); SOURCE(16157, 81) { word var←c45624; { word var←c45656; word var←c45688; word var←c45720; { word idx136; var←c45656 = ( idx136 = (* (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+5) ) ), BCK(idx136, 67108863) ); }; var←c45688 = ((word) var←c45656 << 2); var←c45720 = XR←NewObject((4 + var←c45688), (* (( (ptr) gf←c51096)+31) )); (* (ptr) var←c45720 ) = var←c45656; var←c45624 = var←c45720; }; (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+11) ) = var←c45624; }; SOURCE(16240, 102) { register word i←v14860 = 0; register word noName←c45752; noName←c45752 = (* (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+5) ) ); if ((i←v14860 >= noName←c45752)) { goto lab←L100044; }; lab←L100047: ; SOURCE(16285, 57) { word var←c45816; word var←c45784; var←c45816 = (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+11) ); { word limit137; word limit138; var←c45784 = (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+5) ); (* ((( (ptr) var←c45816)+1)+( limit137 = (* (ptr) var←c45816 ), BCK(i←v14860, limit137) )) ) = (* (( (ptr) (* ((( (ptr) var←c45784)+1)+( limit138 = (* (ptr) var←c45784 ), BCK(i←v14860, limit138) )) ))+6) ); }; }; i←v14860 = (i←v14860 + 1); if ((i←v14860 < noName←c45752)) { goto lab←L100047; }; lab←L100044: ; }; SOURCE(16353, 32) (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+14) ) = (* (( (ptr) (* (( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ))+1) ); SOURCE(16387, 61) { word var←c45848; { word var←c45880; word var←c45912; word var←c45944; { word idx139; var←c45880 = ( idx139 = (* (( (ptr) &var←c51064)+19)/* nOver←v14484 */ ), BCK(idx139, 67108863) ); }; var←c45912 = ((word) var←c45880 << 2); var←c45944 = XR←NewObject((4 + var←c45912), (* (( (ptr) gf←c51096)+32) )); (* (ptr) var←c45944 ) = var←c45880; var←c45848 = var←c45944; }; (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+12) ) = var←c45848; }; SOURCE(16450, 131) { register word i←v14904; i←v14904 = (* (( (ptr) &var←c51064)+19)/* nOver←v14484 */ ); if ((0 >= i←v14904)) { goto lab←L100048; }; i←v14904 = (i←v14904 - 1); lab←L100051: ; SOURCE(16499, 48) { word var←c45976; var←c45976 = (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+12) ); { word limit140; (* ((( (ptr) var←c45976)+1)+( limit140 = (* (ptr) var←c45976 ), BCK(i←v14904, limit140) )) ) = (* (ptr) (* (( (ptr) &var←c51064)+18)/* overflowList←v14456 */ ) ); }; }; SOURCE(16549, 32) (* (( (ptr) &var←c51064)+18)/* overflowList←v14456 */ ) = (* (( (ptr) (* (( (ptr) &var←c51064)+18)/* overflowList←v14456 */ ))+1) ); if ((0 >= i←v14904)) { goto lab←L100048; }; i←v14904 = (i←v14904 - 1); goto lab←L100051; lab←L100048: ; }; SOURCE(16592, 99) { word x141; word x142; if ((( x141 = (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+3) ), *(float*)&x141 ) < - ( x142 = (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+2) ), *(float*)&x142 ))) { SOURCE(16652, 39) (* (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ) ) = (* (ptr) &fc82 ); (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+1) ) = (* (ptr) &fc82 ); (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+2) ) = (* (ptr) &fc82 ); (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+3) ) = (* (ptr) &fc82 ); }; }; SOURCE(10754, 5937) return((* (( (ptr) &var←c51064)+5)/* data←v7884 */ )); } static word StuffCharInfoRunSeq←P4896(key←v35724, val←v35752, formal←c51160) word key←v35724; word val←v35752; word formal←c51160; { register ptr gf←c51128 = (ptr) &globalframe; word quit←v35796; word charInfoRun←v14948; word refInt←v14976; formal←c51160 = (formal←c51160 - 40); /* StuffCharInfoRunSeq: */ SOURCE(11171, 160) SOURCE(11171, 160) quit←v35796 = 0; SOURCE(11218, 38) charInfoRun←v14948 = XR←Narrow(key←v35724, (* (( (ptr) gf←c51128)+33) )); SOURCE(11258, 29) refInt←v14976 = XR←Narrow(val←v35752, (* (( (ptr) gf←c51128)+26) )); SOURCE(11289, 42) { word var←c46008; var←c46008 = (* (( (ptr) (* (( (ptr) formal←c51160)+5) ))+13) ); { word idx143; word limit144; (* ((( (ptr) var←c46008)+1)+( idx143 = (* (ptr) refInt←v14976 ), limit144 = (* (ptr) var←c46008 ), BCK(idx143, limit144) )) ) = charInfoRun←v14948; }; }; SOURCE(11171, 160) return(quit←v35796); } static void EachRun←P4956(start←v14588, end←v14616, constant←v14644, formal←c51256) word start←v14588; word end←v14616; word constant←v14644; word formal←c51256; { W6 var←c51192; register ptr gf←c51224 = (ptr) &globalframe; /* declaration of var←c46040 skipped */ word set←v15032; word a←v15060; word base←v15088; word charRunCell←v15116; word charInfoRunSeq←v15144; formal←c51256 = (formal←c51256 - 32); var←c51192.f0 = formal←c51256; /* EachRun: */ SOURCE(11336, 2696) { word tmpAddr145; tmpAddr145 = (word) (( (ptr) &var←c51192)+4)/* var←c46040 */ ; (* (ptr) tmpAddr145 ) = ( ((word) (fPt) NoteCharInfoRun←P5604) ); (* (( (ptr) tmpAddr145) + 1) ) = 1; }; SOURCE(11389, 26) { word idx146; set←v15032 = ( idx146 = (word) ((word) start←v14588 >> 8), BCK(idx146, 256) ); }; SOURCE(11417, 63) a←v15060 = (* (( (ptr) (* (( (ptr) formal←c51256)+13) ))+set←v15032) ); SOURCE(11482, 22) base←v15088 = ((word) set←v15032 << 8); SOURCE(11506, 44) { word var←c46072; word var←c46104; word var←c46136; { word idx147; var←c46072 = ( idx147 = (* (( (ptr) formal←c51256)+12) ), BCK(idx147, 33554431) ); }; var←c46104 = ((word) var←c46072 << 3); var←c46136 = XR←NewObject((16 + var←c46104), (* (( (ptr) gf←c51224)+34) )); (* (( (ptr) var←c46136)+3) ) = var←c46072; charRunCell←v15116 = var←c46136; }; SOURCE(11552, 59) { word var←c46168; word var←c46200; word var←c46232; { word idx148; var←c46168 = ( idx148 = (* (( (ptr) formal←c51256)+12) ), BCK(idx148, 67108863) ); }; var←c46200 = ((word) var←c46168 << 2); var←c46232 = XR←NewObject((4 + var←c46200), (* (( (ptr) gf←c51224)+30) )); (* (ptr) var←c46232 ) = var←c46168; charInfoRunSeq←v15144 = var←c46232; }; SOURCE(11632, 27) (* (( (ptr) charRunCell←v15116)+1) ) = BCK((start←v14588 - base←v15088), 256); SOURCE(11661, 27) { word idx149; (* (( (ptr) charRunCell←v15116)+2) ) = ( idx149 = (word) ((end←v14616 - 1) - base←v15088), BCK(idx149, 256) ); }; SOURCE(11690, 120) if (((* ((( (ptr) (* (( (ptr) formal←c51256)+5) ))+16)+set←v15032) ) == 0)) { SOURCE(11723, 49) { word var←c46264; var←c46264 = charRunCell←v15116; (* (( (ptr) formal←c51256)+15) ) = charRunCell←v15116; (* ((( (ptr) (* (( (ptr) formal←c51256)+5) ))+16)+set←v15032) ) = var←c46264; }; } else { SOURCE(11772, 38) { word var←c46296; var←c46296 = charRunCell←v15116; (* (ptr) (* (( (ptr) formal←c51256)+15) ) ) = charRunCell←v15116; (* (( (ptr) formal←c51256)+15) ) = var←c46296; }; }; SOURCE(11841, 1293) if ((0 != constant←v14644)) { SOURCE(11858, 578) { word i←v15216 = 0; SOURCE(11872, 552) { register word tail←v15260; tail←v15260 = (* (( (ptr) a←v15060)+BCK((start←v14588 - base←v15088), 256)) ); lab←L100055: ; if ((tail←v15260 != 0)) { } else { goto lab←L100052; }; { word cd←v15304; word charInfoRun←v15332; word var←c46360; word var←c0790; SOURCE(11953, 37) cd←v15304 = (* (ptr) tail←v15260 ); SOURCE(11992, 56) charInfoRun←v15332 = XR←NewObject(28, (* (( (ptr) gf←c51224)+33) )); (* (( (ptr) charInfoRun←v15332)+3) ) = 1; SOURCE(12050, 83) lab←L100058: ; var←c46360 = (* (( (ptr) (* (( (ptr) formal←c51256)+4) ))+2) ); { word limit150; var←c0790 = (* ((( (ptr) var←c46360)+1)+( limit150 = (* (ptr) var←c46360 ), BCK(i←v15216, limit150) )) ); }; if (((* (( (ptr) cd←v15304)+1) ) != var←c0790)) { } else { goto lab←L100056; }; SOURCE(12116, 17) i←v15216 = (i←v15216 + 1); goto lab←L100058; lab←L100056: ; SOURCE(12135, 72) { word var←c46392; var←c46392 = (word) GetTypefaceIndex←P840((* (( (ptr) formal←c51256)+14) ), (* (ptr) cd←v15304 )); { word limit151; (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+( limit151 = (* (( (ptr) charRunCell←v15116)+3) ), BCK(i←v15216, limit151) )) ).f0 = var←c46392; }; }; SOURCE(12209, 31) { word limit152; (* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit152 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15216, limit152) )) ) = charInfoRun←v15332; }; SOURCE(12242, 40) (* (ptr) charInfoRun←v15332 ) = (* (( (ptr) cd←v15304)+2) ); SOURCE(12284, 26) (* (( (ptr) charInfoRun←v15332)+1) ) = (* (( (ptr) cd←v15304)+3) ); SOURCE(12312, 66) (* (( (ptr) charInfoRun←v15332)+2) ) = (word) GetPlacementCode←P900((* (( (ptr) formal←c51256)+14) ), (* (( (ptr) cd←v15304)+10) )); SOURCE(12388, 36) SOURCE(12389, 35) { W3 var←c46424; (void) CharInfoFromCD←P5016((word) &var←c46424, cd←v15304, (word) (( (bPt) formal←c51256)+24)); { word limit153; (* (( (W3Pt) (( (ptr) charInfoRun←v15332)+4))+( limit153 = (* (( (ptr) charInfoRun←v15332)+3) ), BCK(0, limit153) )) ) = var←c46424; }; }; }; tail←v15260 = (* (( (ptr) tail←v15260)+1) ); goto lab←L100055; lab←L100052: ; }; }; } else { SOURCE(12445, 689) { register word c←v15388; register word noName←c46456; c←v15388 = start←v14588; noName←c46456 = end←v14616; if ((c←v15388 >= noName←c46456)) { goto lab←L100059; }; lab←L100062: ; { word i←v15432 = 0; SOURCE(12488, 646) { register word tail←v15476; tail←v15476 = (* (( (ptr) a←v15060)+BCK((c←v15388 - base←v15088), 256)) ); lab←L100066: ; if ((tail←v15476 != 0)) { } else { goto lab←L100063; }; { word cd←v15520; word charInfoSeq←v15548 = 0; word var←c46488; word var←c0791; SOURCE(12565, 37) cd←v15520 = (* (ptr) tail←v15476 ); SOURCE(12643, 83) lab←L100069: ; var←c46488 = (* (( (ptr) (* (( (ptr) formal←c51256)+4) ))+2) ); { word limit154; var←c0791 = (* ((( (ptr) var←c46488)+1)+( limit154 = (* (ptr) var←c46488 ), BCK(i←v15432, limit154) )) ); }; if (((* (( (ptr) cd←v15520)+1) ) != var←c0791)) { } else { goto lab←L100067; }; SOURCE(12709, 17) i←v15432 = (i←v15432 + 1); goto lab←L100069; lab←L100067: ; SOURCE(12728, 350) { word limit155; if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit155 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15432, limit155) )) ) == 0)) { SOURCE(12762, 72) { word var←c46520; var←c46520 = (word) GetTypefaceIndex←P840((* (( (ptr) formal←c51256)+14) ), (* (ptr) cd←v15520 )); { /*1*/ word limit156; /*1*/ (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+( /*1*/ limit156 = (* (( (ptr) charRunCell←v15116)+3) ), /*1*/ BCK(i←v15432, limit156) /*1*/ )) ).f0 = var←c46520; /*1*/ }; }; SOURCE(12836, 64) { word var←c46552; { /*1*/ word var←c46584; /*1*/ word var←c46616; /*1*/ word var←c46648; /*1*/ var←c46584 = BCK((end←v14616 - start←v14588), 22369621); /*1*/ var←c46616 = ((word) var←c46584 * 12); /*1*/ var←c46648 = XR←NewObject((16 + var←c46616), (* (( (ptr) gf←c51224)+33) )); /*1*/ (* (( (ptr) var←c46648)+3) ) = var←c46584; /*1*/ var←c46552 = var←c46648; /*1*/ }; charInfoSeq←v15548 = var←c46552; { /*1*/ word limit157; /*1*/ (* ((( (ptr) charInfoRunSeq←v15144)+1)+( /*1*/ limit157 = (* (ptr) charInfoRunSeq←v15144 ), /*1*/ BCK(i←v15432, limit157) /*1*/ )) ) = var←c46552; /*1*/ }; }; SOURCE(12902, 40) (* (ptr) charInfoSeq←v15548 ) = (* (( (ptr) cd←v15520)+2) ); SOURCE(12944, 26) (* (( (ptr) charInfoSeq←v15548)+1) ) = (* (( (ptr) cd←v15520)+3) ); SOURCE(12972, 66) (* (( (ptr) charInfoSeq←v15548)+2) ) = (word) GetPlacementCode←P900((* (( (ptr) formal←c51256)+14) ), (* (( (ptr) cd←v15520)+10) )); } else { SOURCE(13047, 31) { word limit158; charInfoSeq←v15548 = (* ((( (ptr) charInfoRunSeq←v15144)+1)+( /*1*/ limit158 = (* (ptr) charInfoRunSeq←v15144 ), /*1*/ BCK(i←v15432, limit158) /*1*/ )) ); }; }; }; SOURCE(13088, 46) SOURCE(13090, 44) { W3 var←c46680; (void) CharInfoFromCD←P5016((word) &var←c46680, cd←v15520, (word) (( (bPt) formal←c51256)+24)); { word var←c46712; var←c46712 = (c←v15388 - start←v14588); { word limit159; (* (( (W3Pt) (( (ptr) charInfoSeq←v15548)+4))+( /*1*/ limit159 = (* (( (ptr) charInfoSeq←v15548)+3) ), /*1*/ BCK(var←c46712, limit159) /*1*/ )) ) = var←c46680; }; }; }; }; tail←v15476 = (* (( (ptr) tail←v15476)+1) ); goto lab←L100066; lab←L100063: ; }; }; c←v15388 = (c←v15388 + 1); if ((c←v15388 < noName←c46456)) { goto lab←L100062; }; lab←L100059: ; }; }; SOURCE(13158, 286) { register word i←v15604 = 0; if ((i←v15604 >= (* (( (ptr) formal←c51256)+12) ))) { goto lab←L100070; }; lab←L100073: ; SOURCE(13183, 261) { word limit160; if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit160 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15604, limit160) )) ) != 0)) { SOURCE(13215, 231) SOURCE(13363, 81) { word pd161; word limit162; pd161 = (* (( (ptr) (* (( (ptr) gf←c51224)+158)/* var←c44792 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd161 ))))((* (( (ptr) formal←c51256)+16) ), (* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit162 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15604, limit162) )) ), (word) (( (bPt) &var←c51192)+16)/* var←c46040 */ , pd161); }; }; }; i←v15604 = (i←v15604 + 1); if ((i←v15604 < (* (( (ptr) formal←c51256)+12) ))) { goto lab←L100073; }; lab←L100070: ; }; SOURCE(13458, 157) { register word i←v15692 = 0; if ((i←v15692 >= (* (( (ptr) formal←c51256)+12) ))) { goto lab←L100074; }; lab←L100077: ; SOURCE(13483, 132) { word limit163; if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit163 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15692, limit163) )) ) != 0)) { SOURCE(13517, 59) { word limit164; word limit165; (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+( limit164 = (* (( (ptr) charRunCell←v15116)+3) ), BCK(0, limit164) )) ).f0 = (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+( limit165 = (* (( (ptr) charRunCell←v15116)+3) ), BCK(i←v15692, limit165) )) ).f0; }; SOURCE(13578, 37) { word limit166; word limit167; (* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit166 = (* (ptr) charInfoRunSeq←v15144 ), BCK(0, limit166) )) ) = (* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit167 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15692, limit167) )) ); }; SOURCE(13617, 4) goto lab←L100075; }; }; i←v15692 = (i←v15692 + 1); if ((i←v15692 < (* (( (ptr) formal←c51256)+12) ))) { goto lab←L100077; }; lab←L100074: ; lab←L100075: ; }; SOURCE(13635, 32) { word limit168; if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit168 = (* (ptr) charInfoRunSeq←v15144 ), BCK(0, limit168) )) ) == 0)) { SOURCE(13667, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(13716, 157) { register word i←v15736 = 0; if ((i←v15736 >= (* (( (ptr) formal←c51256)+12) ))) { goto lab←L100078; }; lab←L100081: ; SOURCE(13741, 132) { word limit169; if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit169 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15736, limit169) )) ) == 0)) { SOURCE(13775, 59) { word limit170; word limit171; (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+( limit170 = (* (( (ptr) charRunCell←v15116)+3) ), BCK(i←v15736, limit170) )) ).f0 = (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+( limit171 = (* (( (ptr) charRunCell←v15116)+3) ), BCK(0, limit171) )) ).f0; }; SOURCE(13836, 37) { word limit172; word limit173; (* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit172 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15736, limit172) )) ) = (* ((( (ptr) charInfoRunSeq←v15144)+1)+( limit173 = (* (ptr) charInfoRunSeq←v15144 ), BCK(0, limit173) )) ); }; }; }; i←v15736 = (i←v15736 + 1); if ((i←v15736 < (* (( (ptr) formal←c51256)+12) ))) { goto lab←L100081; }; lab←L100078: ; }; SOURCE(13887, 145) { register word i←v15780 = 0; if ((i←v15780 >= (* (( (ptr) formal←c51256)+12) ))) { goto lab←L100082; }; lab←L100085: ; { word refInt←v15824; SOURCE(13912, 77) { W2 var←c0348; word var←c0792; { word pd174; word limit175; pd174 = (* (( (ptr) (* (( (ptr) gf←c51224)+158)/* var←c44792 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd174 ))))((word) &var←c0348, (* (( (ptr) formal←c51256)+16) ), (* ((( (ptr) charInfoRunSeq←v15144)+1) +( limit175 = (* (ptr) charInfoRunSeq←v15144 ), BCK(i←v15780, limit175) )) ), pd174); }; var←c0792 = var←c0348.f1; refInt←v15824 = XR←Narrow(var←c0792, (* (( (ptr) gf←c51224)+26) )); }; SOURCE(13991, 41) { word limit176; word idx177; (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+( limit176 = (* (( (ptr) charRunCell←v15116)+3) ), BCK(i←v15780, limit176) )) ).f1 = ( idx177 = (* (ptr) refInt←v15824 ), SGNCK(idx177) ); }; }; i←v15780 = (i←v15780 + 1); if ((i←v15780 < (* (( (ptr) formal←c51256)+12) ))) { goto lab←L100085; }; lab←L100082: ; }; } static void NoteCharInfoRun←P5604(formal←c0354, found←v37152, val←v37180, formal←c51320) word formal←c0354; word found←v37152; word val←v37180; word formal←c51320; { register ptr gf←c51288 = (ptr) &globalframe; word op←v37224; word new←v37252; formal←c51320 = (formal←c51320 - 16); /* NoteCharInfoRun: */ SOURCE(13217, 39) SOURCE(13217, 39) op←v37224 = 0; SOURCE(13217, 39) new←v37252 = 0; SOURCE(13258, 97) if ((0 == found←v37152)) { SOURCE(13278, 10) op←v37224 = 1; SOURCE(13290, 30) { word var←c46744; var←c46744 = XR←NewObject(4, (* (( (ptr) gf←c51288)+26) )); (* (ptr) var←c46744 ) = (* (( (ptr) (* (ptr) formal←c51320 ))+17) ); new←v37252 = var←c46744; }; SOURCE(13322, 33) (* (( (ptr) (* (ptr) formal←c51320 ))+17) ) = ((* (( (ptr) (* (ptr) formal←c51320 ))+17) ) + 1); }; /* removed tail goto */ (* (ptr) formal←c0354 ) = op←v37224; (* (( (ptr) formal←c0354)+1) ) = new←v37252; return; } static void CharInfoFromCD←P5016(formal←c0368, cd←v14788, formal←c51384) word formal←c0368; word cd←v14788; word formal←c51384; { register ptr gf←c51352 = (ptr) &globalframe; W3 var←c14832; word codeLeftExtent←v15880; word codeRightExtent←v15908; word codeDescent←v15936; word codeAscent←v15964; word codeEscapementX←v15992; word codeEscapementY←v16020; formal←c51384 = (formal←c51384 - 24); /* CharInfoFromCD: */ SOURCE(14107, 1412) SOURCE(14178, 76) codeLeftExtent←v15880 = (word) GetRealCode←P540((* (ptr) (* (( (ptr) formal←c51384)+14) ) ), (* (( (ptr) cd←v14788)+6) )) ; SOURCE(14256, 79) codeRightExtent←v15908 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+1) ), (* (( (ptr) cd←v14788)+7) )); SOURCE(14337, 67) codeDescent←v15936 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+2) ), (* (( (ptr) cd←v14788)+8) )); SOURCE(14406, 64) codeAscent←v15964 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+3) ), (* (( (ptr) cd←v14788)+9) )); SOURCE(14472, 71) codeEscapementX←v15992 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+4) ), (* (( (ptr) cd←v14788)+4) )); SOURCE(14545, 71) codeEscapementY←v16020 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+4) ), (* (( (ptr) cd←v14788)+5) )); SOURCE(14618, 85) { word x178; float tf179; float tf180; word x181; float tf182; (* (ptr) (* (( (ptr) formal←c51384)+5) ) ) = ( tf182 = FMAX(( x178 = (* (ptr) (* (( (ptr) formal←c51384)+5) ) ), *(float*)&x178 ), ( x181 = (* (( (ptr) cd←v14788)+6) ), *(float*)&x181 ), tf179, tf180), *(word*)&tf182 ); }; SOURCE(14705, 88) { word x183; float tf184; float tf185; word x186; float tf187; (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+1) ) = ( tf187 = FMAX(( x183 = (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+1) ), *(float*)&x183 ), ( x186 = (* (( (ptr) cd←v14788)+7) ), *(float*)&x186 ), tf184, tf185), *(word*)&tf187 ); }; SOURCE(14795, 76) { word x188; float tf189; float tf190; word x191; float tf192; (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+2) ) = ( tf192 = FMAX(( x188 = (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+2) ), *(float*)&x188 ), ( x191 = (* (( (ptr) cd←v14788)+8) ), *(float*)&x191 ), tf189, tf190), *(word*)&tf192 ); }; SOURCE(14873, 73) { word x193; float tf194; float tf195; word x196; float tf197; (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+3) ) = ( tf197 = FMAX(( x193 = (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+3) ), *(float*)&x193 ), ( x196 = (* (( (ptr) cd←v14788)+9) ), *(float*)&x196 ), tf194, tf195), *(word*)&tf197 ); }; SOURCE(14948, 571) { word tc198; word x199; word x200; word x201; word x202; if (( (int)(x199 = MIN((int)(word), codeEscapementY←v16020, codeEscapementX←v15992), x200 = MIN((int)(word), x199, codeLeftExtent←v15880), x201 = MIN((int)(word), x200, codeRightExtent←v15908), x202 = MIN((int)(word), x201, codeDescent←v15936), MIN((int)(word), x202, codeAscent←v15964)) >= (int)0)) { tc198 = (word) ((* (( (ptr) cd←v14788)+11) ) == 0); } else { tc198 = (word) 0; }; if (tc198) { SOURCE(15081, 178) var←c14832.f0 = 0; var←c14832.f1 = (((word) (((word) (((word) BCK(codeLeftExtent←v15880, 256) << 8) + BCK(codeRightExtent←v15908, 256)) << 8) + BCK(codeDescent←v15936, 256)) << 8) + BCK(codeAscent←v15964, 256)); var←c14832.f2 = (((word) BCK(codeEscapementX←v15992, 256) << 24) + BCK(codeEscapementY←v16020, 256)); /* removed tail goto */ } else { SOURCE(15266, 253) { word overflowIndex←v16064; word vc←v16092; SOURCE(15268, 36) overflowIndex←v16064 = (* (( (ptr) formal←c51384)+19) ); SOURCE(15306, 121) vc←v16092 = XR←NewObject(28, (* (( (ptr) gf←c51352)+35) )); (* (W4Pt) vc←v16092 ) = (* (W4Pt) (( (ptr) cd←v14788)+6) ); (* (W2Pt) (( (ptr) vc←v16092)+4) ) = (* (W2Pt) (( (ptr) cd←v14788)+4) ); (* (( (ptr) vc←v16092)+6) ) = (* (( (ptr) cd←v14788)+11) ); SOURCE(15429, 37) { word var←c46840; var←c46840 = XR←NewObject(8, (* (( (ptr) gf←c51352)+36) )); (* (ptr) var←c46840 ) = vc←v16092; (* (( (ptr) var←c46840)+1) ) = (* (( (ptr) formal←c51384)+18) ); (* (( (ptr) formal←c51384)+18) ) = var←c46840; }; SOURCE(15468, 15) (* (( (ptr) formal←c51384)+19) ) = ((* (( (ptr) formal←c51384)+19) ) + 1); SOURCE(15485, 34) { W3 var←c46904; W2 var←c46872; var←c46872.f0 = 1; var←c46872.f1 = overflowIndex←v16064; (* (W2Pt) (word) &var←c46904 ) = var←c46872; (* (( (ptr) (word) &var←c46904) + 2) ) = 0; var←c14832 = var←c46904; /* removed tail goto */ }; }; }; }; (* (W3Pt) formal←c0368 ) = var←c14832; return; } static word RawHash←P1020(p←v7944, bytes←v7972) word p←v7944; word bytes←v7972; { word hash←v8028; /* RawHash: */ SOURCE(16697, 217) SOURCE(16697, 217) hash←v8028 = 31415; SOURCE(16807, 107) if ((p←v7944 != 0)) { SOURCE(16823, 91) lab←L100090: ; bytes←v7972 = (bytes←v7972 - 4); if (( (int)bytes←v7972 >= (int)0)) { } else { goto lab←L100088; }; SOURCE(16867, 27) hash←v8028 = ((hash←v8028 + ((word) hash←v8028 << 7)) + (* (ptr) p←v7944 )); SOURCE(16896, 18) p←v7944 = (p←v7944 + 4); goto lab←L100090; lab←L100088: ; }; SOURCE(16697, 217) return(hash←v8028); } static word CharacterDescriptionHash←P1080(key←v32248) word key←v32248; { register ptr gf←c51416 = (ptr) &globalframe; word var←c32292; word a←v16136; word hash←v16164; /* CharacterDescriptionHash: */ SOURCE(16929, 178) SOURCE(16983, 37) a←v16136 = XR←Narrow(key←v32248, (* (( (ptr) gf←c51416)+17) )); SOURCE(17022, 69) hash←v16164 = (word) RawHash←P1020(a←v16136, 48); SOURCE(17093, 14) return(hash←v16164); } static word CharacterDescriptionEqual←P1140(key1←v32352, key2←v32380) word key1←v32352; word key2←v32380; { register ptr gf←c51448 = (ptr) &globalframe; word var←c32424; word a1←v16208; word a2←v16236; /* CharacterDescriptionEqual: */ SOURCE(17111, 149) SOURCE(17159, 39) a1←v16208 = XR←Narrow(key1←v32352, (* (( (ptr) gf←c51448)+17) )); SOURCE(17200, 39) a2←v16236 = XR←Narrow(key2←v32380, (* (( (ptr) gf←c51448)+17) )); SOURCE(17241, 19) return( (unsigned) XR←EqualWords(a1←v16208, a2←v16236, 12)); } static word CharacterDescriptionsHash←P1200(key←v32484) word key←v32484; { register ptr gf←c51480 = (ptr) &globalframe; word var←c32528; word c←v16280; W2 a←v16308; word p←v16336; word hash←v16364; /* CharacterDescriptionsHash: */ SOURCE(17264, 265) SOURCE(17319, 38) c←v16280 = XR←Narrow(key←v32484, (* (( (ptr) gf←c51480)+16) )); SOURCE(17359, 42) a←v16308.f0 = (* (ptr) c←v16280 ); a←v16308.f1 = (* (( (ptr) c←v16280)+1) ); SOURCE(17403, 43) p←v16336 = (word) &a←v16308; SOURCE(17448, 65) hash←v16364 = (word) RawHash←P1020(p←v16336, 8); SOURCE(17515, 14) return(hash←v16364); } static word CharacterDescriptionsEqual←P1260(key1←v32588, key2←v32616) word key1←v32588; word key2←v32616; { register ptr gf←c51512 = (ptr) &globalframe; word var←c32660; word a1←v16564; word a2←v16592; /* CharacterDescriptionsEqual: */ SOURCE(17533, 152) SOURCE(17582, 40) a1←v16564 = XR←Narrow(key1←v32588, (* (( (ptr) gf←c51512)+16) )); SOURCE(17624, 40) a2←v16592 = XR←Narrow(key2←v32616, (* (( (ptr) gf←c51512)+16) )); SOURCE(17666, 19) return( (unsigned) XR←EqualWords(a1←v16564, a2←v16592, 2)); } static word TransformationHash←P1320(key←v32720) word key←v32720; { register ptr gf←c51544 = (ptr) &globalframe; word var←c32764; word m←v16636; /* TransformationHash: */ SOURCE(17689, 332) SOURCE(17737, 31) m←v16636 = XR←Narrow(key←v32720, (* (( (ptr) gf←c51544)+37) )); SOURCE(17770, 251) if ((m←v16636 == 0)) { SOURCE(17786, 17) return(13); } else { SOURCE(17803, 218) { W6 a←v16680; word p←v16708; word hash←v16736; SOURCE(17805, 86) { float tf203; word x204; float tf205; a←v16680.f0 = ( tf205 = FABS(( x204 = (* (ptr) m←v16636 ), *(float*)&x204 ), tf203), *(word*)&tf205 ); }; { float tf206; word x207; float tf208; a←v16680.f1 = ( tf208 = FABS(( x207 = (* (( (ptr) m←v16636)+1) ), *(float*)&x207 ), tf206), *(word*)&tf208 ); }; { float tf209; word x210; float tf211; a←v16680.f2 = ( tf211 = FABS(( x210 = (* (( (ptr) m←v16636)+2) ), *(float*)&x210 ), tf209), *(word*)&tf211 ); }; { float tf212; word x213; float tf214; a←v16680.f3 = ( tf214 = FABS(( x213 = (* (( (ptr) m←v16636)+3) ), *(float*)&x213 ), tf212), *(word*)&tf214 ); }; { float tf215; word x216; float tf217; a←v16680.f4 = ( tf217 = FABS(( x216 = (* (( (ptr) m←v16636)+4) ), *(float*)&x216 ), tf215), *(word*)&tf217 ); }; { float tf218; word x219; float tf220; a←v16680.f5 = ( tf220 = FABS(( x219 = (* (( (ptr) m←v16636)+5) ), *(float*)&x219 ), tf218), *(word*)&tf220 ); }; SOURCE(17893, 44) p←v16708 = (word) &a←v16680; SOURCE(17939, 66) hash←v16736 = (word) RawHash←P1020(p←v16708, 24); SOURCE(18007, 14) return(hash←v16736); }; }; } static word TransformationEqual←P1380(key1←v32824, key2←v32852) word key1←v32824; word key2←v32852; { register ptr gf←c51576 = (ptr) &globalframe; word var←c32896; word a1←v16900; word a2←v16928; /* TransformationEqual: */ SOURCE(18028, 179) SOURCE(18070, 33) a1←v16900 = XR←Narrow(key1←v32824, (* (( (ptr) gf←c51576)+37) )); SOURCE(18105, 33) a2←v16928 = XR←Narrow(key2←v32852, (* (( (ptr) gf←c51576)+37) )); SOURCE(18140, 67) { word tc221; word pd222; if ( ( (a1←v16900 == 0) ? (a2←v16928 == 0) : 0 ) ) { tc221 = (word) (unsigned) 1; } else { pd222 = (* (( (ptr) (* (( (ptr) gf←c51576)+154)/* var←c43224 */ ))+53) ); tc221 = (word) (unsigned) (0 != (word) ( *( (fPt) ((* (ptr) pd222 ))))(a1←v16900, a2←v16928, pd222)); }; return(tc221); }; } static word CharInfoRunHash←P1440(key←v32956) word key←v32956; { register ptr gf←c51608 = (ptr) &globalframe; word var←c33000; word charInfoRun←v16972; word hash←v17000; /* CharInfoRunHash: */ SOURCE(18211, 189) SOURCE(18256, 38) charInfoRun←v16972 = XR←Narrow(key←v32956, (* (( (ptr) gf←c51608)+33) )); SOURCE(18296, 88) { word idx223; hash←v17000 = (word) RawHash←P1020(charInfoRun←v16972, (((word) ( idx223 = (* (( (ptr) charInfoRun←v16972)+3) ), BCK(idx223, 22369619) ) * 12) + 16)); }; SOURCE(18386, 14) return(hash←v17000); } static word CharInfoRunEqual←P1500(key1←v33060, key2←v33088) word key1←v33060; word key2←v33088; { register ptr gf←c51640 = (ptr) &globalframe; word var←c33132; word a1←v17044; word a2←v17072; /* CharInfoRunEqual: */ SOURCE(18404, 623) SOURCE(18451, 30) a1←v17044 = XR←Narrow(key1←v33060, (* (( (ptr) gf←c51640)+33) )); SOURCE(18483, 30) a2←v17072 = XR←Narrow(key2←v33088, (* (( (ptr) gf←c51640)+33) )); SOURCE(18515, 146) if (((((* (( (ptr) a1←v17044)+3) ) != (* (( (ptr) a2←v17072)+3) )) || ( (int)(* (ptr) a1←v17044 ) != (int)(* (ptr) a2←v17072 ))) || ((* ( ( (ptr) a1←v17044)+1) ) != (* (( (ptr) a2←v17072)+1) ))) || ((* (( (ptr) a1←v17044)+2) ) != (* (( (ptr) a2←v17072)+2) ))) { SOURCE(18647, 14) return(0); }; SOURCE(18663, 319) { register word i←v17116 = 0; register word noName←c47032; noName←c47032 = (* (( (ptr) a1←v17044)+3) ); if ((i←v17116 >= noName←c47032)) { goto lab←L100091; }; lab←L100094: ; { W3 c1←v17160; W3 c2←v17188; SOURCE(18693, 20) { word limit224; c1←v17160 = (* (( (W3Pt) (( (ptr) a1←v17044)+4))+( limit224 = (* (( (ptr) a1←v17044)+3) ), BCK(i←v17116, limit224) )) ); }; SOURCE(18715, 20) { word limit225; c2←v17188 = (* (( (W3Pt) (( (ptr) a2←v17072)+4))+( limit225 = (* (( (ptr) a2←v17072)+3) ), BCK(i←v17116, limit225) )) ); }; SOURCE(18737, 245) { word var←c47064; var←c47064 = c1←v17160.f0; if ((var←c47064 == 0)) { SOURCE(18772, 95) { word var←c47096; var←c47096 = c2←v17188.f0; if ((var←c47096 == 0)) { SOURCE(18807, 30) if ( ! XR←EqualWords(&c1←v17160, &c2←v17188, 3)) { SOURCE(18823, 14) return(0); }; } else { SOURCE(18853, 14) return(0); }; }; } else { if ((var←c47064 == 1)) { SOURCE(18885, 97) { word var←c47128; var←c47128 = c2←v17188.f0; if ((var←c47128 == 1)) { SOURCE(18922, 30) if ( ! XR←EqualWords(&c1←v17160, &c2←v17188, 2)) { SOURCE(18938, 14) return(0); }; } else { SOURCE(18968, 14) return(0); }; }; } else { SOURCE(18998, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; i←v17116 = (i←v17116 + 1); if ((i←v17116 < noName←c47032)) { goto lab←L100094; }; lab←L100091: ; }; SOURCE(19014, 13) return(1); } static void MapCharacterDescriptions←P1560(fdTable←v8088, formal←c0831) word fdTable←v8088; word formal←c0831; { W7 var←c51672; /* declaration of proc←v8116 skipped */ register ptr gf←c51704 = (ptr) &globalframe; /* declaration of var←c47160 skipped */ var←c51672.f4/* proc←v8116 */ = formal←c0831; /* MapCharacterDescriptions: */ SOURCE(19033, 337) { word tmpAddr226; tmpAddr226 = (word) (( (ptr) &var←c51672)+5)/* var←c47160 */ ; (* (ptr) tmpAddr226 ) = ( ((word) (fPt) EachPair←P6048) ); (* (( (ptr) tmpAddr226) + 1) ) = 1; }; SOURCE(19314, 56) { word var←c47192; word pd227; pd227 = (* (( (ptr) (* (( (ptr) gf←c51704)+156)/* var←c43448 */ ))+13) ); var←c47192 = (word) ( *( (fPt) ((* (ptr) pd227 ))))((* (ptr) fdTable←v8088 ), (word) (( (bPt) &var←c51672)+20)/* var←c47160 */ , pd227) ; }; } static word EachPair←P6048(key←v38076, val←v38104, formal←c51768) word key←v38076; word val←v38104; word formal←c51768; { register ptr gf←c51736 = (ptr) &globalframe; word quit←v38148; formal←c51768 = (formal←c51768 - 20); /* EachPair: */ SOURCE(19157, 143) SOURCE(19157, 143) quit←v38148 = 0; SOURCE(19194, 106) { register word tail←v17276; tail←v17276 = XR←Narrow(val←v38104, (* (( (ptr) gf←c51736)+16) )); lab←L100098: ; if ((tail←v17276 != 0)) { } else { goto lab←L100095; }; SOURCE(19271, 29) { word pd228; pd228 = (* (( (ptr) formal←c51768)+4) ); (* (ptr) tail←v17276 ) = (word) ( *( (fPt) ((* (ptr) pd228 ))))((* (ptr) (tail←v17276) ), pd228); }; tail←v17276 = (* (( (ptr) tail←v17276)+1) ); goto lab←L100098; lab←L100095: ; }; SOURCE(19157, 143) return(quit←v38148); } static word NonNilT←P1620(m←v8280) word m←v8280; { register ptr gf←c51800 = (ptr) &globalframe; word var←c8324; /* NonNilT: */ SOURCE(19434, 104) SOURCE(19497, 41) if ((m←v8280 == 0)) { return((* (( (ptr) gf←c51800)+6)/* identity←v4288 */ )); } else { return(m←v8280); }; } static void Canonicalize←P1680(formal←c0832) word formal←c0832; { W28 var←c51832; /* declaration of fdTable←v8384 skipped */ register ptr gf←c51864 = (ptr) &globalframe; /* declaration of var←c47224 skipped */ /* declaration of var←c47256 skipped */ /* declaration of var←c47288 skipped */ /* declaration of var←c47320 skipped */ /* declaration of var←c47352 skipped */ /* declaration of var←c47384 skipped */ /* declaration of var←c47416 skipped */ /* declaration of var←c47448 skipped */ /* declaration of mTab←v17320 skipped */ /* declaration of charToDeviceTab←v17348 skipped */ /* declaration of cdTab←v17376 skipped */ /* declaration of tfTab←v17404 skipped */ /* declaration of cdsTab←v17516 skipped */ /* declaration of ftSeq←v17572 skipped */ /* declaration of cdCells←v17656 skipped */ (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ) = formal←c0832; /* Canonicalize: */ SOURCE(19542, 4768) { word tmpAddr229; tmpAddr229 = (word) (( (ptr) &var←c51832)+5)/* var←c47224 */ ; (* (ptr) tmpAddr229 ) = ( ((word) (fPt) CanonicalizeEachCharacterDescriptionList←P6576) ); (* (( (ptr) tmpAddr229) + 1) ) = 1; }; { word tmpAddr230; tmpAddr230 = (word) (( (ptr) &var←c51832)+7)/* var←c47256 */ ; (* (ptr) tmpAddr230 ) = ( ((word) (fPt) SortCharacterDescriptions←P6516) ); (* (( (ptr) tmpAddr230) + 1) ) = 1; }; { word tmpAddr231; tmpAddr231 = (word) (( (ptr) &var←c51832)+9)/* var←c47288 */ ; (* (ptr) tmpAddr231 ) = ( ((word) (fPt) CDsInOrder←P6456) ); (* (( (ptr) tmpAddr231) + 1) ) = 1; }; { word tmpAddr232; tmpAddr232 = (word) (( (ptr) &var←c51832)+11)/* var←c47320 */ ; (* (ptr) tmpAddr232 ) = ( ((word) (fPt) TransformationIndex←P6396) ); (* (( (ptr) tmpAddr232) + 1) ) = 1; }; { word tmpAddr233; tmpAddr233 = (word) (( (ptr) &var←c51832)+13)/* var←c47352 */ ; (* (ptr) tmpAddr233 ) = ( ((word) (fPt) CanonicalizeCharacterDescriptions←P6336) ); (* (( (ptr) tmpAddr233) + 1) ) = 1; }; { word tmpAddr234; tmpAddr234 = (word) (( (ptr) &var←c51832)+15)/* var←c47384 */ ; (* (ptr) tmpAddr234 ) = ( ((word) (fPt) CanonicalizeCharacterDescription←P6276) ); (* (( (ptr) tmpAddr234) + 1) ) = 1; }; { word tmpAddr235; tmpAddr235 = (word) (( (ptr) &var←c51832)+17)/* var←c47416 */ ; (* (ptr) tmpAddr235 ) = ( ((word) (fPt) CanonicalizeTransformation←P6216) ); (* (( (ptr) tmpAddr235) + 1) ) = 1; }; { word tmpAddr236; tmpAddr236 = (word) (( (ptr) &var←c51832)+19)/* var←c47448 */ ; (* (ptr) tmpAddr236 ) = ( ((word) (fPt) CanonicalizeTypefaceCell←P6156) ); (* (( (ptr) tmpAddr236) + 1) ) = 1; }; SOURCE(19591, 86) { word pd237; pd237 = (* (( (ptr) (* (( (ptr) gf←c51864)+158)/* var←c44792 */ ))+5) ); (* (( (ptr) &var←c51832)+21)/* mTab←v17320 */ ) = (word) ( *( (fPt) ((* (ptr) pd237 ))))(17, (word) (( (bPt) gf←c51864)+424) /* var←c42456 */ , (word) (( (bPt) gf←c51864)+432)/* var←c42488 */ , pd237); }; SOURCE(19679, 45) { word pd238; pd238 = (* (( (ptr) (* (( (ptr) gf←c51864)+158)/* var←c44792 */ ))+5) ); (* (( (ptr) &var←c51832)+22)/* charToDeviceTab←v17348 */ ) = (word) ( *( (fPt) ((* (ptr) pd238 ))))(17, 0, 0, pd238); }; SOURCE(19726, 99) { word pd239; pd239 = (* (( (ptr) (* (( (ptr) gf←c51864)+158)/* var←c44792 */ ))+5) ); (* (( (ptr) &var←c51832)+23)/* cdTab←v17376 */ ) = (word) ( *( (fPt) ((* (ptr) pd239 ))))(17, (word) (( (bPt) gf←c51864)+456) /* var←c42584 */ , (word) (( (bPt) gf←c51864)+464)/* var←c42616 */ , pd239); }; SOURCE(19827, 46) { word pd240; pd240 = (* (( (ptr) (* (( (ptr) gf←c51864)+159)/* var←c47480 */ ))+5) ); (* (( (ptr) &var←c51832)+24)/* tfTab←v17404 */ ) = (word) ( *( (fPt) ((* (ptr) pd240 ))))(17, 0, pd240); }; SOURCE(21447, 102) { word pd241; pd241 = (* (( (ptr) (* (( (ptr) gf←c51864)+158)/* var←c44792 */ ))+5) ); (* (( (ptr) &var←c51832)+25)/* cdsTab←v17516 */ ) = (word) ( *( (fPt) ((* (ptr) pd241 ))))(17, (word) (( (bPt) gf←c51864)+440) /* var←c42520 */ , (word) (( (bPt) gf←c51864)+448)/* var←c42552 */ , pd241); }; SOURCE(21911, 24) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) = 0; SOURCE(22162, 31) (* (( (ptr) &var←c51832)+27)/* cdCells←v17656 */ ) = 0; SOURCE(23828, 67) (void) MapCharacterDescriptions←P1560((* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ), (word) (( (bPt) &var←c51832)+60) /* var←c47384 */ ); SOURCE(23897, 44) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) = (word) SortTransformations←P1740((* ((( (ptr) &var←c51832)+22)/* charToDeviceTab←v17348 */ ) )) ; SOURCE(23943, 39) { word var←c47512; word var←c47544; word var←c47576; { word idx242; var←c47512 = ( idx242 = (* (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) ), BCK(idx242, 67108863) ); }; var←c47544 = ((word) var←c47512 << 2); var←c47576 = XR←NewObject((4 + var←c47544), (* (( (ptr) gf←c51864)+38) )); (* (ptr) var←c47576 ) = var←c47512; (* (( (ptr) &var←c51832)+27)/* cdCells←v17656 */ ) = var←c47576; }; SOURCE(23984, 73) { word var←c47608; word pd243; pd243 = (* (( (ptr) (* (( (ptr) gf←c51864)+156)/* var←c43448 */ ))+13) ); var←c47608 = (word) ( *( (fPt) ((* (ptr) pd243 ))))((* (ptr) (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ) ), (word) ( ( (bPt) &var←c51832)+28)/* var←c47256 */ , pd243); }; SOURCE(24059, 88) { word var←c47640; word pd244; pd244 = (* (( (ptr) (* (( (ptr) gf←c51864)+156)/* var←c43448 */ ))+13) ); var←c47640 = (word) ( *( (fPt) ((* (ptr) pd244 ))))((* (ptr) (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ) ), (word) ( ( (bPt) &var←c51832)+20)/* var←c47224 */ , pd244); }; SOURCE(24149, 75) { word var←c47672; { word var←c47704; word var←c47736; word var←c47768; { word idx245; var←c47704 = ( idx245 = (* (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) ), BCK(idx245, 67108863) ); }; var←c47736 = ((word) var←c47704 << 2); var←c47768 = XR←NewObject((4 + var←c47736), (* (( (ptr) gf←c51864)+31) )); (* (ptr) var←c47768 ) = var←c47704; var←c47672 = var←c47768; }; (* (( (ptr) (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ))+2) ) = var←c47672; }; SOURCE(24226, 84) { register word i←v18512 = 0; register word noName←c47800; noName←c47800 = (* (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) ); if ((i←v18512 >= noName←c47800)) { goto lab←L100099; }; lab←L100102: ; SOURCE(24259, 51) { word var←c47832; var←c47832 = (* (( (ptr) (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ))+2) ); { word limit246; word limit247; (* ((( (ptr) var←c47832)+1)+( limit246 = (* (ptr) var←c47832 ), BCK(i←v18512, limit246) )) ) = (* (( (ptr) (* ((( (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ))+1)+( limit247 = (* (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) ), BCK(i←v18512, limit247) )) ))+6) ); }; }; i←v18512 = (i←v18512 + 1); if ((i←v18512 < noName←c47800)) { goto lab←L100102; }; lab←L100099: ; }; } static word CanonicalizeTypefaceCell←P6156(formal←c0833, formal←c51960) word formal←c0833; word formal←c51960; { W7 var←c51896; /* declaration of typefaceCell←v17816 skipped */ register ptr gf←c51928 = (ptr) &globalframe; word var←c17860; /* declaration of var←c47864 skipped */ formal←c51960 = (formal←c51960 - 76); var←c51896.f4/* typefaceCell←v17816 */ = formal←c0833; var←c51896.f0 = formal←c51960; /* CanonicalizeTypefaceCell: */ SOURCE(19875, 732) { word tmpAddr248; tmpAddr248 = (word) (( (ptr) &var←c51896)+5)/* var←c47864 */ ; (* (ptr) tmpAddr248 ) = ( ((word) (fPt) UpdateTF←P6684) ); (* (( (ptr) tmpAddr248) + 1) ) = 1; }; SOURCE(20240, 199) if (((* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+1) ) != 0)) { SOURCE(20278, 50) (* (ptr) var←c51896.f4/* typefaceCell←v17816 */ ) = (* (( (ptr) (* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+1) ))+2) ); SOURCE(20330, 55) (* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+2) ) = (* (( (ptr) (* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+1) ))+4) ); SOURCE(20387, 52) (* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+3) ) = (* (ptr) (* (ptr) (* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+1) ) ) ); }; SOURCE(20444, 36) if (((* (ptr) var←c51896.f4/* typefaceCell←v17816 */ ) == 0)) { SOURCE(20480, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(20515, 69) { word pd249; pd249 = (* (( (ptr) (* (( (ptr) gf←c51928)+159)/* var←c47480 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd249 ))))((* (( (ptr) formal←c51960)+24) ), (* (ptr) var←c51896.f4/* typefaceCell←v17816 */ ), (word) ( ( (bPt) &var←c51896)+20)/* var←c47864 */ , pd249); }; SOURCE(20586, 21) return(var←c51896.f4/* typefaceCell←v17816 */ ); } static void UpdateTF←P6684(formal←c0465, found←v38472, val←v38500, formal←c52024) word formal←c0465; word found←v38472; word val←v38500; word formal←c52024; { register ptr gf←c51992 = (ptr) &globalframe; word op←v38544; word new←v38572; formal←c52024 = (formal←c52024 - 20); /* UpdateTF: */ SOURCE(19962, 270) SOURCE(19962, 270) op←v38544 = 0; SOURCE(19962, 270) new←v38572 = 0; SOURCE(19996, 236) if ((0 == found←v38472)) { SOURCE(20014, 34) op←v38544 = 1; new←v38572 = (* (( (ptr) formal←c52024)+4) ); goto lab←L100103; } else { SOURCE(20048, 186) { word canon←v18600; SOURCE(20050, 33) canon←v18600 = XR←Narrow(val←v38500, (* (( (ptr) gf←c51992)+27) )); SOURCE(20085, 35) if ((canon←v18600 == (* (( (ptr) formal←c52024)+4) ))) { SOURCE(20114, 6) goto lab←L100103; }; SOURCE(20122, 85) if ( ( ((* (( (ptr) canon←v18600)+1) ) == 0) ? ((* (( (ptr) (* (( (ptr) formal←c52024)+4) ))+1) ) != 0) : 0 ) ) { SOURCE(20185, 22) (* (W4Pt) canon←v18600 ) = (* (W4Pt) (* (( (ptr) formal←c52024)+4) ) ); }; SOURCE(20212, 20) (* (( (ptr) formal←c52024)+4) ) = canon←v18600; }; }; /* removed tail goto */ lab←L100103: ; (* (ptr) formal←c0465 ) = op←v38544; (* (( (ptr) formal←c0465)+1) ) = new←v38572; return; } static word CanonicalizeTransformation←P6216(formal←c0834, formal←c52120) word formal←c0834; word formal←c52120; { W7 var←c52056; /* declaration of m←v17920 skipped */ register ptr gf←c52088 = (ptr) &globalframe; word var←c17964; /* declaration of var←c47896 skipped */ formal←c52120 = (formal←c52120 - 68); var←c52056.f4/* m←v17920 */ = formal←c0834; var←c52056.f0 = formal←c52120; /* CanonicalizeTransformation: */ SOURCE(20612, 273) { word tmpAddr250; tmpAddr250 = (word) (( (ptr) &var←c52056)+5)/* var←c47896 */ ; (* (ptr) tmpAddr250 ) = ( ((word) (fPt) UpdateTransformation←P6792) ); (* (( (ptr) tmpAddr250) + 1) ) = 1; }; SOURCE(20796, 14) var←c52056.f4/* m←v17920 */ = (word) NonNilT←P1620(var←c52056.f4/* m←v17920 */ ); SOURCE(20812, 60) { word pd251; pd251 = (* (( (ptr) (* (( (ptr) gf←c52088)+158)/* var←c44792 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd251 ))))((* (( (ptr) formal←c52120)+21) ), var←c52056.f4/* m←v17920 */ , (word) (( (bPt) &var←c52056)+20) /* var←c47896 */ , pd251); }; SOURCE(20874, 11) return(var←c52056.f4/* m←v17920 */ ); } static void UpdateTransformation←P6792(formal←c0473, found←v38916, val←v38944, formal←c52184) word formal←c0473; word found←v38916; word val←v38944; word formal←c52184; { register ptr gf←c52152 = (ptr) &globalframe; word op←v38988; word new←v39016; formal←c52184 = (formal←c52184 - 20); /* UpdateTransformation: */ SOURCE(20694, 99) SOURCE(20694, 99) op←v38988 = 0; SOURCE(20694, 99) new←v39016 = 0; SOURCE(20740, 53) if ((0 != found←v38916)) { SOURCE(20754, 21) (* (( (ptr) formal←c52184)+4) ) = XR←Narrow(val←v38944, (* (( (ptr) gf←c52152)+37) )); } else { SOURCE(20775, 18) op←v38988 = 1; new←v39016 = (* (( (ptr) formal←c52184)+4) ); goto lab←L100104; }; /* removed tail goto */ lab←L100104: ; (* (ptr) formal←c0473 ) = op←v38988; (* (( (ptr) formal←c0473)+1) ) = new←v39016; return; } static word CanonicalizeCharacterDescription←P6276(formal←c0835, formal←c52280) word formal←c0835; word formal←c52280; { W7 var←c52216; /* declaration of cd←v18024 skipped */ register ptr gf←c52248 = (ptr) &globalframe; word var←c18068; /* declaration of var←c47928 skipped */ formal←c52280 = (formal←c52280 - 60); var←c52216.f4/* cd←v18024 */ = formal←c0835; var←c52216.f0 = formal←c52280; /* CanonicalizeCharacterDescription: */ SOURCE(20888, 554) { word tmpAddr252; tmpAddr252 = (word) (( (ptr) &var←c52216)+5)/* var←c47928 */ ; (* (ptr) tmpAddr252 ) = ( ((word) (fPt) UpdateCD←P6852) ); (* (( (ptr) tmpAddr252) + 1) ) = 1; }; SOURCE(21086, 61) (* (( (ptr) var←c52216.f4/* cd←v18024 */ )+1) ) = (word) CanonicalizeTransformation←P6216((* (( (ptr) var←c52216.f4/* cd←v18024 */ )+1) ), (word) (( (bPt) formal←c52280)+68)); SOURCE(21149, 69) { word var←c47960; word pd253; pd253 = (* (( (ptr) (* (( (ptr) gf←c52248)+158)/* var←c44792 */ ))+10) ); var←c47960 = (word) ( *( (fPt) ((* (ptr) pd253 ))))((* (( (ptr) formal←c52280)+22) ), (* (( (ptr) var←c52216.f4/* cd←v18024 */ )+1) ), (* (( (ptr) var←c52216.f4/* cd←v18024 */ )+1) ), pd253); }; SOURCE(21220, 59) (* (ptr) var←c52216.f4/* cd←v18024 */ ) = (word) CanonicalizeTypefaceCell←P6156((* (ptr) var←c52216.f4/* cd←v18024 */ ), (word) ( ( (bPt) formal←c52280)+76)); SOURCE(21281, 96) (* (( (ptr) var←c52216.f4/* cd←v18024 */ )+10) ) = (word) CanonicalizeTransformation←P6216( ( ((* (( (ptr) var←c52216.f4/* cd←v18024 */ )+10) ) == 0) ? (* (( (ptr) gf←c52248)+6)/* identity←v4288 */ ) : (* (( (ptr) var←c52216.f4/* cd←v18024 */ )+10) ) ) , (word) ( ( (bPt) formal←c52280)+68)); SOURCE(21379, 50) { word pd254; pd254 = (* (( (ptr) (* (( (ptr) gf←c52248)+158)/* var←c44792 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd254 ))))((* (( (ptr) formal←c52280)+23) ), var←c52216.f4/* cd←v18024 */ , (word) (( (bPt) &var←c52216)+20) /* var←c47928 */ , pd254); }; SOURCE(21431, 11) return(var←c52216.f4/* cd←v18024 */ ); } static void UpdateCD←P6852(formal←c0482, found←v39076, val←v39104, formal←c52344) word formal←c0482; word found←v39076; word val←v39104; word formal←c52344; { register ptr gf←c52312 = (ptr) &globalframe; word op←v39148; word new←v39176; formal←c52344 = (formal←c52344 - 20); /* UpdateCD: */ SOURCE(20989, 92) SOURCE(20989, 92) op←v39148 = 0; SOURCE(20989, 92) new←v39176 = 0; SOURCE(21023, 58) if ((0 != found←v39076)) { SOURCE(21039, 17) (* (( (ptr) formal←c52344)+4) ) = XR←Narrow(val←v39104, (* (( (ptr) gf←c52312)+17) )); } else { SOURCE(21063, 18) op←v39148 = 1; new←v39176 = (* (( (ptr) formal←c52344)+4) ); goto lab←L100105; }; /* removed tail goto */ lab←L100105: ; (* (ptr) formal←c0482 ) = op←v39148; (* (( (ptr) formal←c0482)+1) ) = new←v39176; return; } static word CanonicalizeCharacterDescriptions←P6336(formal←c0836, formal←c52440) word formal←c0836; word formal←c52440; { W7 var←c52376; /* declaration of cds←v18128 skipped */ register ptr gf←c52408 = (ptr) &globalframe; word var←c18172; /* declaration of var←c47992 skipped */ formal←c52440 = (formal←c52440 - 52); var←c52376.f4/* cds←v18128 */ = formal←c0836; var←c52376.f0 = formal←c52440; /* CanonicalizeCharacterDescriptions: */ SOURCE(21551, 355) { word tmpAddr255; tmpAddr255 = (word) (( (ptr) &var←c52376)+5)/* var←c47992 */ ; (* (ptr) tmpAddr255 ) = ( ((word) (fPt) UpdateCDS←P6912) ); (* (( (ptr) tmpAddr255) + 1) ) = 1; }; SOURCE(21751, 30) if ((var←c52376.f4/* cds←v18128 */ == 0)) { SOURCE(21769, 12) return(0); }; SOURCE(21783, 54) (* (( (ptr) var←c52376.f4/* cds←v18128 */ )+1) ) = (word) CanonicalizeCharacterDescriptions←P6336((* (( (ptr) var←c52376.f4/* cds←v18128 */ )+1) ), (word) (( (bPt) formal←c52440)+52)); SOURCE(21839, 53) { word pd256; pd256 = (* (( (ptr) (* (( (ptr) gf←c52408)+158)/* var←c44792 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd256 ))))((* (( (ptr) formal←c52440)+25) ), var←c52376.f4/* cds←v18128 */ , (word) (( (bPt) &var←c52376)+20) /* var←c47992 */ , pd256); }; SOURCE(21894, 12) return(var←c52376.f4/* cds←v18128 */ ); } static void UpdateCDS←P6912(formal←c0490, found←v39236, val←v39264, formal←c52504) word formal←c0490; word found←v39236; word val←v39264; word formal←c52504; { register ptr gf←c52472 = (ptr) &globalframe; word op←v39308; word new←v39336; formal←c52504 = (formal←c52504 - 20); /* UpdateCDS: */ SOURCE(21656, 92) SOURCE(21656, 92) op←v39308 = 0; SOURCE(21656, 92) new←v39336 = 0; SOURCE(21691, 57) if ((0 != found←v39236)) { SOURCE(21705, 23) (* (( (ptr) formal←c52504)+4) ) = XR←Narrow(val←v39264, (* (( (ptr) gf←c52472)+16) )); } else { SOURCE(21728, 20) op←v39308 = 1; new←v39336 = (* (( (ptr) formal←c52504)+4) ); goto lab←L100106; }; /* removed tail goto */ lab←L100106: ; (* (ptr) formal←c0490 ) = op←v39308; (* (( (ptr) formal←c0490)+1) ) = new←v39336; return; } static word TransformationIndex←P6396(m←v18232, formal←c52536) word m←v18232; word formal←c52536; { word var←c18276; formal←c52536 = (formal←c52536 - 44); /* TransformationIndex: */ SOURCE(21937, 130) SOURCE(22001, 66) { register word i←v18776 = 0; register word noName←c48024; noName←c48024 = (* (ptr) (* (( (ptr) formal←c52536)+26) ) ); if ((i←v18776 >= noName←c48024)) { goto lab←L100107; }; lab←L100110: ; SOURCE(22034, 33) { word limit257; if (((* (( (ptr) (* ((( (ptr) (* (( (ptr) formal←c52536)+26) ))+1)+( limit257 = (* (ptr) (* (( (ptr) formal←c52536)+26) ) ), BCK(i←v18776, limit257) )) ))+6) ) == m←v18232)) { SOURCE(22057, 10) return(i←v18776); }; }; i←v18776 = (i←v18776 + 1); if ((i←v18776 < noName←c48024)) { goto lab←L100110; }; lab←L100107: ; }; SOURCE(22078, 5) (void) XR←RaiseUnnamedError(); } static word CDsInOrder←P6456(cds←v18440, formal←c52568) word cds←v18440; word formal←c52568; { word var←c18484; word i←v18820 = 0; formal←c52568 = (formal←c52568 - 36); /* CDsInOrder: */ SOURCE(22195, 296) SOURCE(22272, 185) { register word tail←v18864; tail←v18864 = cds←v18440; lab←L100114: ; if ((tail←v18864 != 0)) { } else { goto lab←L100111; }; SOURCE(22341, 116) lab←L100117: ; SOURCE(22344, 38) if ((i←v18820 >= (* (ptr) (* (( (ptr) formal←c52568)+26) ) ))) { SOURCE(22368, 14) return(0); }; SOURCE(22384, 55) { word limit258; if (((* (( (ptr) (* (ptr) tail←v18864 ))+1) ) == (* (( (ptr) (* ((( (ptr) (* (( (ptr) formal←c52568)+26) ))+1)+( limit258 = (* (ptr) (* (( (ptr) formal←c52568)+26) ) ), BCK(i←v18820, limit258) )) ))+6) ))) { SOURCE(22430, 9) i←v18820 = (i←v18820 + 1); SOURCE(22441, 4) goto lab←L100116; }; }; SOURCE(22448, 9) i←v18820 = (i←v18820 + 1); goto lab←L100117; lab←L100116: ; tail←v18864 = (* (( (ptr) tail←v18864)+1) ); goto lab←L100114; lab←L100111: ; }; SOURCE(22477, 14) return(1); } static word SortCharacterDescriptions←P6516(key←v38208, val←v38236, formal←c52632) word key←v38208; word val←v38236; word formal←c52632; { register ptr gf←c52600 = (ptr) &globalframe; word quit←v38280; word cds←v18908; word result←v18936 = 0; formal←c52632 = (formal←c52632 - 28); /* SortCharacterDescriptions: */ SOURCE(22494, 1005) SOURCE(22494, 1005) quit←v38280 = 0; SOURCE(22548, 40) cds←v18908 = XR←Narrow(val←v38236, (* (( (ptr) gf←c52600)+16) )); SOURCE(22627, 30) if ((0 != (word) CDsInOrder←P6456(cds←v18908, (word) (( (bPt) formal←c52632)+36)))) { SOURCE(22651, 6) return(quit←v38280); }; SOURCE(22659, 51) { register word i←v18980 = 0; register word noName←c48056; noName←c48056 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ); if ((i←v18980 >= noName←c48056)) { goto lab←L100118; }; lab←L100121: ; SOURCE(22694, 16) { word limit259; (* ((( (ptr) (* (( (ptr) formal←c52632)+27) ))+1)+( limit259 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ), BCK(i←v18980, limit259) )) ) = 0; }; i←v18980 = (i←v18980 + 1); if ((i←v18980 < noName←c48056)) { goto lab←L100121; }; lab←L100118: ; }; SOURCE(22721, 206) { register word tail←v19024; tail←v19024 = cds←v18908; lab←L100125: ; if ((tail←v19024 != 0)) { } else { goto lab←L100122; }; { word j←v19068; SOURCE(22790, 53) j←v19068 = (word) TransformationIndex←P6396((* (( (ptr) (* (ptr) tail←v19024 ))+1) ), (word) (( (bPt) formal←c52632)+44) ); SOURCE(22845, 82) { word var←c48088; var←c48088 = XR←NewObject(8, (* (( (ptr) gf←c52600)+16) )); (* (ptr) var←c48088 ) = (* (ptr) tail←v19024 ); { word limit260; (* (( (ptr) var←c48088)+1) ) = (* ((( (ptr) (* (( (ptr) formal←c52632)+27) ))+1)+( limit260 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ), BCK(j←v19068, limit260) )) ); }; { word limit261; (* ((( (ptr) (* (( (ptr) formal←c52632)+27) ))+1)+( limit261 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ), BCK(j←v19068, limit261) )) ) = var←c48088; }; }; }; tail←v19024 = (* (( (ptr) tail←v19024)+1) ); goto lab←L100125; lab←L100122: ; }; SOURCE(22982, 442) { register word i←v19112; i←v19112 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ); if ((0 >= i←v19112)) { goto lab←L100126; }; i←v19112 = (i←v19112 - 1); lab←L100129: ; { word cell←v19156; SOURCE(23028, 40) { word limit262; cell←v19156 = (* ((( (ptr) (* (( (ptr) formal←c52632)+27) ))+1)+( limit262 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ), BCK(i←v19112, limit262) )) ); }; SOURCE(23070, 354) if ((cell←v19156 != 0)) { SOURCE(23091, 74) lab←L100132: ; if ( ( ((* (( (ptr) cell←v19156)+1) ) != 0) ? ((* (ptr) cell←v19156 ) == (* (ptr) (* (( (ptr) cell←v19156)+1) ) )) : 0 ) ) { } else { goto lab←L100130; }; SOURCE(23149, 16) cell←v19156 = (* (( (ptr) cell←v19156)+1) ); goto lab←L100132; lab←L100130: ; SOURCE(23176, 205) if (((* (( (ptr) cell←v19156)+1) ) != 0)) { SOURCE(23200, 188) { word tieBreaker←v19200; SOURCE(23202, 61) { W2 var←c0512; (* (ptr) (word) &var←c0512 ) = key←v38208; (* (( (ptr) (word) &var←c0512) + 1) ) = cell←v19156; { word var←c0513; (void) (XR←RaiseSignal((word) (( (bPt) gf←c52600)+164)/* var←c41400 */ , (word) &var←c0513, (word) &var←c0512)); tieBreaker←v19200 = var←c0513; }; }; SOURCE(23265, 69) { word var←c48120; var←c48120 = XR←NewObject(8, (* (( (ptr) gf←c52600)+16) )); (* (ptr) var←c48120 ) = tieBreaker←v19200; cell←v19156 = var←c48120; }; SOURCE(23336, 45) { word limit263; if (((* (( (ptr) (* (ptr) cell←v19156 ))+1) ) != (* (( (ptr) (* ((( (ptr) (* (( (ptr) formal←c52632)+26) ))+1)+( /*1*/ limit263 = (* (ptr) (* (( (ptr) formal←c52632)+26) ) ), /*1*/ BCK(i←v19112, limit263) /*1*/ )) ))+6) ))) { SOURCE(23381, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; SOURCE(23391, 18) (* (( (ptr) cell←v19156)+1) ) = result←v18936; SOURCE(23411, 13) result←v18936 = cell←v19156; }; }; if ((0 >= i←v19112)) { goto lab←L100126; }; i←v19112 = (i←v19112 - 1); goto lab←L100129; lab←L100126: ; }; SOURCE(23438, 61) { word var←c48152; word pd264; pd264 = (* (( (ptr) (* (( (ptr) gf←c52600)+156)/* var←c43448 */ ))+9) ); var←c48152 = (word) ( *( (fPt) ((* (ptr) pd264 ))))((* (ptr) (* (( (ptr) formal←c52632)+4) ) ), key←v38208, result←v18936, pd264) ; }; SOURCE(22494, 1005) return(quit←v38280); } static word CanonicalizeEachCharacterDescriptionList←P6576(key←v38340, val←v38368, formal←c52696) word key←v38340; word val←v38368; word formal←c52696; { register ptr gf←c52664 = (ptr) &globalframe; word quit←v38412; word cds←v19244; W2 var←c0520; word var←c0793; formal←c52696 = (formal←c52696 - 20); /* CanonicalizeEachCharacterDescriptionList: */ SOURCE(23504, 316) SOURCE(23504, 316) quit←v38412 = 0; SOURCE(23573, 40) cds←v19244 = XR←Narrow(val←v38368, (* (( (ptr) gf←c52664)+16) )); SOURCE(23615, 205) { word pd265; pd265 = (* (( (ptr) (* (( (ptr) gf←c52664)+158)/* var←c44792 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd265 ))))((word) &var←c0520, (* (( (ptr) formal←c52696)+25) ), cds←v19244, pd265); }; var←c0793 = var←c0520.f0; if ((0 == var←c0793)) { SOURCE(23667, 155) { word canon←v19288; SOURCE(23669, 69) canon←v19288 = (word) CanonicalizeCharacterDescriptions←P6336(cds←v19244, (word) (( (bPt) formal←c52696)+52)); SOURCE(23740, 80) if ((canon←v19288 != cds←v19244)) { SOURCE(23760, 60) { word var←c48184; word pd266; pd266 = (* (( (ptr) (* (( (ptr) gf←c52664)+156)/* var←c43448 */ ))+9) ); var←c48184 = (word) ( *( (fPt) ((* (ptr) pd266 ))))((* (ptr) (* (( (ptr) formal←c52696)+4) ) ), key←v38340, canon←v19288, pd266) ; }; }; }; }; SOURCE(23504, 316) return(quit←v38412); } static word SortTransformations←P1740(mTab←v8632) word mTab←v8632; { W8 var←c52728; register ptr gf←c52760 = (ptr) &globalframe; word var←c8676; /* declaration of var←c48216 skipped */ word n←v19332; /* declaration of ftSeq←v19360 skipped */ /* declaration of len←v19388 skipped */ /* SortTransformations: */ SOURCE(24676, 802) { word tmpAddr267; tmpAddr267 = (word) (( (ptr) &var←c52728)+4)/* var←c48216 */ ; (* (ptr) tmpAddr267 ) = ( ((word) (fPt) SortedInsert←P7404) ); (* (( (ptr) tmpAddr267) + 1) ) = 1; }; SOURCE(24747, 29) { word pd268; word idx269; pd268 = (* (( (ptr) (* (( (ptr) gf←c52760)+158)/* var←c44792 */ ))+6) ); n←v19332 = ( idx269 = (word) ( *( (fPt) ((* (ptr) pd268 ))))(mTab←v8632, pd268), SGNCK(idx269) ); }; SOURCE(24778, 43) { word var←c48248; word var←c48280; word var←c48312; var←c48248 = BCK(n←v19332, 67108863); var←c48280 = ((word) var←c48248 << 2); var←c48312 = XR←NewObject((4 + var←c48280), (* (( (ptr) gf←c52760)+40) )); (* (ptr) var←c48312 ) = var←c48248; var←c52728.f6/* ftSeq←v19360 */ = var←c48312; }; SOURCE(24823, 12) var←c52728.f7/* len←v19388 */ = 0; SOURCE(25413, 48) { word var←c48344; word pd270; pd270 = (* (( (ptr) (* (( (ptr) gf←c52760)+158)/* var←c44792 */ ))+13) ); var←c48344 = (word) ( *( (fPt) ((* (ptr) pd270 ))))(mTab←v8632, (word) (( (bPt) &var←c52728)+16)/* var←c48216 */ , pd270) ; }; SOURCE(25463, 15) return(var←c52728.f6/* ftSeq←v19360 */ ); } static word SortedInsert←P7404(key←v39396, val←v39424, formal←c52824) word key←v39396; word val←v39424; word formal←c52824; { register ptr gf←c52792 = (ptr) &globalframe; word quit←v39468; word m←v19460; word f←v19488; formal←c52824 = (formal←c52824 - 16); /* SortedInsert: */ SOURCE(24837, 571) SOURCE(24837, 571) quit←v39468 = 0; SOURCE(24877, 31) m←v19460 = XR←Narrow(val←v39424, (* (( (ptr) gf←c52792)+37) )); SOURCE(24910, 103) if ((m←v19460 == 0)) { f←v19488 = (* (( (ptr) gf←c52792)+7)/* nullFactored←v4484 */ ); } else { { W6 var←c48376; word var←c48408; { word pd271; pd271 = (* (( (ptr) (* (( (ptr) gf←c52792)+154)/* var←c43224 */ ))+50) ); (void) ( *( (fPt) ((* (ptr) pd271 ))))((word) &var←c48376, m←v19460, pd271); }; var←c48408 = XR←NewObject(28, (* (( (ptr) gf←c52792)+9) )); (* (W6Pt) var←c48408 ) = var←c48376; (* (( (ptr) var←c48408)+6) ) = m←v19460; f←v19488 = var←c48408; }; }; SOURCE(25015, 135) { register word i←v19532 = 0; register word noName←c48440; noName←c48440 = (* (( (ptr) formal←c52824)+7) ); if ((i←v19532 >= noName←c48440)) { goto lab←L100133; }; lab←L100136: ; { word t←v19576; SOURCE(25041, 22) { word limit272; t←v19576 = (* ((( (ptr) (* (( (ptr) formal←c52824)+6) ))+1)+( limit272 = (* (ptr) (* (( (ptr) formal←c52824)+6) ) ), BCK(i←v19532, limit272) )) ); }; SOURCE(25065, 85) { word var←c48472; var←c48472 = (word) FactoredCompare←P1860(f←v19488, t←v19576); switch (var←c48472) { case 0: SOURCE(25108, 12) { word limit273; (* ((( (ptr) (* (( (ptr) formal←c52824)+6) ))+1)+( limit273 = (* (ptr) (* (( (ptr) formal←c52824)+6) ) ), BCK(i←v19532, limit273) )) ) = f←v19488; }; SOURCE(25122, 5) f←v19488 = t←v19576; break; case 1: SOURCE(25139, 11) (void) Debug←P1800(f←v19488, t←v19576); break; case 2: break; default: SOURCE(25363, 5) (void) XR←RaiseUnnamedError(); break; }; }; }; i←v19532 = (i←v19532 + 1); if ((i←v19532 < noName←c48440)) { goto lab←L100136; }; lab←L100133: ; }; SOURCE(25379, 14) { word idx274; word limit275; (* ((( (ptr) (* (( (ptr) formal←c52824)+6) ))+1)+( idx274 = (* (( (ptr) formal←c52824)+7) ), limit275 = (* (ptr) (* (( (ptr) formal←c52824)+6) ) ), BCK(idx274, limit275) )) ) = f←v19488; }; SOURCE(25395, 13) (* (( (ptr) formal←c52824)+7) ) = ((* (( (ptr) formal←c52824)+7) ) + 1); SOURCE(24837, 571) return(quit←v39468); } static void Debug←P1800(a←v8736, b←v8764) word a←v8736; word b←v8764; { W4 var←c52856; /* Debug: */ SOURCE(25482, 46) SOURCE(25510, 18) SOURCE(25510, 18) { word var←c01; { word var←c0794; var←c0794 = (word) &var←c52856; var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q9624) ), ( ((word) (fPt) NoName←Q9684) ), var←c0794); }; /* removed trivial cond node */ }; } static word NoName←Q9624(formal←c0775) word formal←c0775; { SOURCE(25538, 6) (void) XR←RaiseUnnamedError(); /* removed dead code */ } static word FactoredCompare←P1860(b←v8840, a←v8868) word b←v8840; word a←v8868; { register ptr gf←c52888 = (ptr) &globalframe; word c←v8912; word var←c48504; word s←v41152; word t←v41180; word var←c48536; word s←v41076; word t←v41104; word var←c48568; word s←v41000; word t←v41028; word var←c48600; word s←v40924; word t←v40952; word var←c48632; word s←v40848; word t←v40876; word var←c48664; word s←v40772; word t←v40800; word var←c48696; word s←v40696; word t←v40724; word var←c48728; word s←v40620; word t←v40648; /* FactoredCompare: */ SOURCE(25548, 828) SOURCE(25548, 828) c←v8912 = 0; SOURCE(25726, 59) if ((a←v8868 == 0)) { SOURCE(25742, 43) { word idx276; return(( idx276 = (word) ( (b←v8840 == 0) ? 1 : 2 ) , BCK(idx276, 3) )); }; }; SOURCE(25787, 29) if ((b←v8840 == 0)) { SOURCE(25803, 13) return(0); }; SOURCE(25818, 291) { float tf277; word x278; float tf279; float tf280; float tf281; word x282; float tf283; s←v41152 = ( tf283 = FMAX(FABS(( x278 = (* (( (ptr) a←v8868)+1) ), *(float*)&x278 ), tf277), FABS(( x282 = (* (( (ptr) a←v8868)+2) ), *(float*)&x282 ), tf281), tf279, tf280), *(word*)&tf283 ); }; { float tf284; word x285; float tf286; float tf287; float tf288; word x289; float tf290; t←v41180 = ( tf290 = FMAX(FABS(( x285 = (* (( (ptr) b←v8840)+1) ), *(float*)&x285 ), tf284), FABS(( x289 = (* (( (ptr) b←v8840)+2) ), *(float*)&x289 ), tf288), tf286, tf287), *(word*)&tf290 ); }; SOURCE(25681, 21) c←v8912 = (word) CompareReal←P60(s←v41152, t←v41180); SOURCE(25704, 19) var←c48504 = (unsigned) (c←v8912 != 1); if ((0 != var←c48504) ) { goto then0291;}; { word x292; word x293; *(float*)&s←v41076 = ( x292 = (* (ptr) a←v8868 ), *(float*)&x292 ) + ( x293 = (* (( (ptr) a←v8868)+3) ), *(float*)&x293 ); }; { word x294; word x295; *(float*)&t←v41104 = ( x294 = (* (ptr) b←v8840 ), *(float*)&x294 ) + ( x295 = (* (( (ptr) b←v8840)+3) ), *(float*)&x295 ); }; SOURCE(25681, 21) c←v8912 = (word) CompareReal←P60(s←v41076, t←v41104); SOURCE(25704, 19) var←c48536 = (unsigned) (c←v8912 != 1); if ((0 != var←c48536) ) { goto then0291;}; s←v41000 = (* (( (ptr) a←v8868)+1) ); t←v41028 = (* (( (ptr) b←v8840)+1) ); SOURCE(25681, 21) c←v8912 = (word) CompareReal←P60(s←v41000, t←v41028); SOURCE(25704, 19) var←c48568 = (unsigned) (c←v8912 != 1); if ((0 != var←c48568) ) { goto then0291;}; s←v40924 = (* (( (ptr) a←v8868)+2) ); t←v40952 = (* (( (ptr) b←v8840)+2) ); SOURCE(25681, 21) c←v8912 = (word) CompareReal←P60(s←v40924, t←v40952); SOURCE(25704, 19) var←c48600 = (unsigned) (c←v8912 != 1); if ((0 != var←c48600) ) { goto then0291;}; s←v40848 = (* (ptr) a←v8868 ); t←v40876 = (* (ptr) b←v8840 ); SOURCE(25681, 21) c←v8912 = (word) CompareReal←P60(s←v40848, t←v40876); SOURCE(25704, 19) var←c48632 = (unsigned) (c←v8912 != 1); if ((0 != var←c48632) ) { goto then0291;}; s←v40772 = (* (( (ptr) a←v8868)+3) ); t←v40800 = (* (( (ptr) b←v8840)+3) ); SOURCE(25681, 21) c←v8912 = (word) CompareReal←P60(s←v40772, t←v40800); SOURCE(25704, 19) var←c48664 = (unsigned) (c←v8912 != 1); if ((0 != var←c48664) ) { goto then0291;}; s←v40696 = (* (( (ptr) a←v8868)+4) ); t←v40724 = (* (( (ptr) b←v8840)+4) ); SOURCE(25681, 21) c←v8912 = (word) CompareReal←P60(s←v40696, t←v40724); SOURCE(25704, 19) var←c48696 = (unsigned) (c←v8912 != 1); if ((0 != var←c48696) ) { goto then0291;}; s←v40620 = (* (( (ptr) a←v8868)+5) ); t←v40648 = (* (( (ptr) b←v8840)+5) ); SOURCE(25681, 21) c←v8912 = (word) CompareReal←P60(s←v40620, t←v40648); SOURCE(25704, 19) var←c48728 = (unsigned) (c←v8912 != 1); if (((0 != var←c48728) )) { then0291: ; SOURCE(26103, 6) return(c←v8912); }; SOURCE(26111, 58) { word pd296; pd296 = (* (( (ptr) (* (( (ptr) gf←c52888)+154)/* var←c43224 */ ))+53) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd296 ))))((* (( (ptr) a←v8868)+6) ), (* (( (ptr) b←v8840)+6) ), pd296))) { SOURCE(26156, 13) return(1); }; }; SOURCE(26171, 205) return(2); } static word Read←P1920(filename←v8972) word filename←v8972; { register ptr gf←c52920 = (ptr) &globalframe; word fdTable←v9016; word stream←v19796; word data←v19824; /* Read: */ SOURCE(26379, 228) SOURCE(26379, 228) fdTable←v9016 = 0; SOURCE(26450, 63) { word pd297; pd297 = (* (( (ptr) (* (( (ptr) gf←c52920)+160)/* var←c48760 */ ))+13) ); stream←v19796 = (word) ( *( (fPt) ((* (ptr) pd297 ))))(filename←v8972, pd297); }; SOURCE(26515, 31) { word pd298; pd298 = (* (( (ptr) (* (( (ptr) gf←c52920)+161)/* var←c48792 */ ))+4) ); data←v19824 = (word) ( *( (fPt) ((* (ptr) pd298 ))))(stream←v19796, pd298); }; SOURCE(26548, 41) fdTable←v9016 = (word) FDTableFromFDTypefaceData←P1980(data←v19824); SOURCE(26591, 16) { word pd299; pd299 = (* (( (ptr) (* (( (ptr) gf←c52920)+162)/* var←c48824 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd299 ))))(stream←v19796, 0, pd299); }; SOURCE(26379, 228) return(fdTable←v9016); } static word FDTableFromFDTypefaceData←P1980(data←v9076) word data←v9076; { word var←c9120; word fdTable←v19868; /* FDTableFromFDTypefaceData: */ SOURCE(26613, 1588) SOURCE(26687, 27) fdTable←v19868 = (word) Create←P120(); SOURCE(26716, 1430) { register word set←v19912 = 0; lab←L100152: ; SOURCE(26747, 1399) { register word charRuns←v19956; charRuns←v19956 = (* ((( (ptr) data←v9076)+16)+set←v19912) ); lab←L100156: ; if ((charRuns←v19956 != 0)) { } else { goto lab←L100153; }; { word offset←v20000; SOURCE(26830, 24) offset←v20000 = ((word) set←v19912 << 8); SOURCE(26856, 1290) { register word tc←v20044 = 0; register word noName←c48856; noName←c48856 = (* (( (ptr) charRuns←v19956)+3) ); if ((tc←v20044 >= noName←c48856)) { goto lab←L100157; }; lab←L100160: ; { W2 charRunEntry←v20088; word charInfoRun←v20116; W12 cdr←v20144; word delta←v20172; word i←v20200 = 0; SOURCE(26891, 41) { word limit300; charRunEntry←v20088 = (* (( (W2Pt) (( (ptr) charRuns←v19956)+4))+( limit300 = (* (( (ptr) charRuns←v19956)+3) ), BCK(tc←v20044, limit300) )) ); }; SOURCE(26934, 77) { word var←c48888; var←c48888 = (* (( (ptr) data←v9076)+13) ); { word idx301; word limit302; charInfoRun←v20116 = (* ((( (ptr) var←c48888)+1)+( /*1*/ idx301 = (word) charRunEntry←v20088.f1, /*1*/ limit302 = (* (ptr) var←c48888 ), /*1*/ BCK(idx301, limit302) /*1*/ )) ); }; }; SOURCE(27013, 323) { word var←c48952; var←c48952 = (* (( (ptr) data←v9076)+10) ); { word idx303; word limit304; (* (ptr) &cdr←v20144 ) = (* ((( (ptr) var←c48952)+1)+( /*1*/ idx303 = (word) charRunEntry←v20088.f0, /*1*/ limit304 = (* (ptr) var←c48952 ), /*1*/ BCK(idx303, limit304) /*1*/ )) ); }; }; { word var←c48984; var←c48984 = (* (( (ptr) data←v9076)+9) ); { word limit305; (* (( (ptr) &cdr←v20144)+1) ) = (* ((( (ptr) var←c48984)+1)+( /*1*/ limit305 = (* (ptr) var←c48984 ), /*1*/ BCK(tc←v20044, limit305) /*1*/ )) ); }; }; (* (( (ptr) &cdr←v20144)+2) ) = (* (ptr) charInfoRun←v20116 ); (* (( (ptr) &cdr←v20144)+3) ) = (* (( (ptr) charInfoRun←v20116)+1) ); (* (( (ptr) &cdr←v20144)+4) ) = (* (ptr) &fc82 ); (* (( (ptr) &cdr←v20144)+5) ) = (* (ptr) &fc82 ); (* (( (ptr) &cdr←v20144)+6) ) = (* (ptr) &fc82 ); (* (( (ptr) &cdr←v20144)+7) ) = (* (ptr) &fc82 ); (* (( (ptr) &cdr←v20144)+8) ) = (* (ptr) &fc82 ); (* (( (ptr) &cdr←v20144)+9) ) = (* (ptr) &fc82 ); { word var←c49016; var←c49016 = (* (( (ptr) data←v9076)+11) ); { word idx306; word limit307; (* (( (ptr) &cdr←v20144)+10) ) = (* ((( (ptr) var←c49016)+1)+( /*1*/ idx306 = (* (( (ptr) charInfoRun←v20116)+2) ), /*1*/ limit307 = (* (ptr) var←c49016 ), /*1*/ BCK(idx306, limit307) /*1*/ )) ); }; }; (* (( (ptr) &cdr←v20144)+11) ) = 0; SOURCE(27338, 50) delta←v20172 = ( ((* (( (ptr) charInfoRun←v20116)+3) ) == 1) ? 0 : 1 ) ; SOURCE(27402, 744) { register word code←v20244; register word noName←c49048; code←v20244 = (* (( (ptr) charRuns←v19956)+1) ); noName←c49048 = (* (( (ptr) charRuns←v19956)+2) ); if ((code←v20244 > noName←c49048)) { goto lab←L100161; }; lab←L100164: ; SOURCE(27450, 625) { W3 var←c49080; { word limit308; var←c49080 = (* (( (W3Pt) (( (ptr) charInfoRun←v20116)+4))+( /*1*/ limit308 = (* (( (ptr) charInfoRun←v20116)+3) ), /*1*/ BCK(i←v20200, limit308) /*1*/ )) ); }; { word var←c49336; var←c49336 = var←c49080.f0; if ((var←c49336 == 0)) { /*1*/ { /*1*/ W3 info←v20288; /*1*/ info←v20288 = var←c49080; SOURCE(27508, 59) /*1*/ { /*1*/ word var←c49112; /*1*/ var←c49112 = (* (( (ptr) data←v9076)+8) ); /*1*/ { /*1*/ word idx309; /*1*/ word limit310; /*1*/ (* (( (ptr) &cdr←v20144)+4) ) = (* ((( (ptr) var←c49112)+1)+( /*1*/ idx309 = (word) (unsigned) (* (( (bPt) &info←v20288)+8) ), /*1*/ limit310 = (* (ptr) var←c49112 ), /*1*/ BCK(idx309, limit310) /*1*/ )) ); /*1*/ }; /*1*/ }; SOURCE(27569, 59) /*1*/ { /*1*/ word var←c49144; /*1*/ var←c49144 = (* (( (ptr) data←v9076)+8) ); /*1*/ { /*1*/ word idx311; /*1*/ word limit312; /*1*/ (* (( (ptr) &cdr←v20144)+5) ) = (* ((( (ptr) var←c49144)+1)+( /*1*/ idx311 = (word) ( (((unsigned)(* (( (ptr) &info←v20288)+2) ) << 8) >> 8) ), /*1*/ limit312 = (* (ptr) var←c49144 ), /*1*/ BCK(idx311, limit312) /*1*/ )) ); /*1*/ }; /*1*/ }; SOURCE(27630, 64) /*1*/ { /*1*/ word var←c49176; /*1*/ var←c49176 = (* (( (ptr) data←v9076)+4) ); /*1*/ { /*1*/ word idx313; /*1*/ word limit314; /*1*/ (* (( (ptr) &cdr←v20144)+6) ) = (* ((( (ptr) var←c49176)+1)+( /*1*/ idx313 = (word) (unsigned) (* (( (bPt) &info←v20288)+4) ), /*1*/ limit314 = (* (ptr) var←c49176 ), /*1*/ BCK(idx313, limit314) /*1*/ )) ); /*1*/ }; /*1*/ }; SOURCE(27696, 67) /*1*/ { /*1*/ word var←c49208; /*1*/ var←c49208 = (* (( (ptr) data←v9076)+5) ); /*1*/ { /*1*/ word idx315; /*1*/ word limit316; /*1*/ (* (( (ptr) &cdr←v20144)+7) ) = (* ((( (ptr) var←c49208)+1)+( /*1*/ idx315 = (word) (unsigned) (* (( (bPt) &info←v20288)+5) ), /*1*/ limit316 = (* (ptr) var←c49208 ), /*1*/ BCK(idx315, limit316) /*1*/ )) ); /*1*/ }; /*1*/ }; SOURCE(27765, 55) /*1*/ { /*1*/ word var←c49240; /*1*/ var←c49240 = (* (( (ptr) data←v9076)+6) ); /*1*/ { /*1*/ word idx317; /*1*/ word limit318; /*1*/ (* (( (ptr) &cdr←v20144)+8) ) = (* ((( (ptr) var←c49240)+1)+( /*1*/ idx317 = (word) (unsigned) (* (( (bPt) &info←v20288)+6) ), /*1*/ limit318 = (* (ptr) var←c49240 ), /*1*/ BCK(idx317, limit318) /*1*/ )) ); /*1*/ }; /*1*/ }; SOURCE(27822, 52) /*1*/ { /*1*/ word var←c49272; /*1*/ var←c49272 = (* (( (ptr) data←v9076)+7) ); /*1*/ { /*1*/ word idx319; /*1*/ word limit320; /*1*/ (* (( (ptr) &cdr←v20144)+9) ) = (* ((( (ptr) var←c49272)+1)+( /*1*/ idx319 = (word) (unsigned) (* (( (bPt) &info←v20288)+7) ), /*1*/ limit320 = (* (ptr) var←c49272 ), /*1*/ BCK(idx319, limit320) /*1*/ )) ); /*1*/ }; /*1*/ }; SOURCE(27876, 18) /*1*/ (* (( (ptr) &cdr←v20144)+11) ) = 0; /*1*/ }; /*1*/ } else { /*1*/ if ((var←c49336 == 1)) { /*1*/ { /*1*/ W2 info←v20332; /*1*/ info←v20332 = (* (W2Pt) &var←c49080 ); SOURCE(27925, 152) /*1*/ { /*1*/ word v←v20376; SOURCE(27927, 65) /*1*/ { /*1*/ word var←c49304; /*1*/ var←c49304 = (* (( (ptr) data←v9076)+12) ); /*1*/ { /*1*/ word idx321; /*1*/ word limit322; /*1*/ v←v20376 = (* ((( (ptr) var←c49304)+1)+( /*1*/ idx321 = (word) info←v20332.f1, /*1*/ limit322 = (* (ptr) var←c49304 ), /*1*/ BCK(idx321, limit322) /*1*/ )) ); /*1*/ }; /*1*/ }; SOURCE(27994, 29) /*1*/ (* (W2Pt) (( (ptr) &cdr←v20144)+4) ) = (* (W2Pt) (( (ptr) v←v20376)+4) ); SOURCE(28025, 23) /*1*/ (* (W4Pt) (( (ptr) &cdr←v20144)+6) ) = (* (W4Pt) v←v20376 ); SOURCE(28050, 25) /*1*/ (* (( (ptr) &cdr←v20144)+11) ) = (* (( (ptr) v←v20376)+6) ); /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(28091, 5) /*1*/ (void) XR←RaiseUnnamedError(); /*1*/ }; /*1*/ }; }; }; SOURCE(28098, 33) (void) Insert←P180(fdTable←v19868, (offset←v20000 + code←v20244), cdr←v20144); SOURCE(28133, 13) i←v20200 = SGNCK((i←v20200 + delta←v20172)); if ((code←v20244 >= noName←c49048)) { goto lab←L100161; }; code←v20244 = (code←v20244 + 1); goto lab←L100164; lab←L100161: ; }; }; tc←v20044 = (tc←v20044 + 1); if ((tc←v20044 < noName←c48856)) { goto lab←L100160; }; lab←L100157: ; }; }; charRuns←v19956 = (* (ptr) charRuns←v19956 ); goto lab←L100156; lab←L100153: ; }; if ((set←v19912 >= 255)) { goto lab←L100149; }; set←v19912 = (set←v19912 + 1); goto lab←L100152; lab←L100149: ; }; SOURCE(28184, 17) return(fdTable←v19868); } static void Write←P2040(fdTable←v9180, filename←v9208) word fdTable←v9180; word filename←v9208; { /* Write: */ SOURCE(28204, 164) SOURCE(28267, 21) (void) Canonicalize←P1680(fdTable←v9180); SOURCE(28290, 78) { word var←c49368; var←c49368 = (word) FDTypefaceDataFromCanonicalizedFDTable←P960(fdTable←v9180); (void) WriteFDTypefaceData←P2100(var←c49368, filename←v9208); }; } static void WriteFDTypefaceData←P2100(data←v9268, filename←v9296) word data←v9268; word filename←v9296; { register ptr gf←c52952 = (ptr) &globalframe; word stream←v20420; /* WriteFDTypefaceData: */ SOURCE(28374, 213) SOURCE(28462, 64) { word pd323; pd323 = (* (( (ptr) (* (( (ptr) gf←c52952)+160)/* var←c48760 */ ))+18) ); stream←v20420 = (word) ( *( (fPt) ((* (ptr) pd323 ))))(filename←v9296, pd323); }; SOURCE(28528, 41) (void) WriteFDTypefaceDataToStream←P2160(data←v9268, stream←v20420); SOURCE(28571, 16) { word pd324; pd324 = (* (( (ptr) (* (( (ptr) gf←c52952)+162)/* var←c48824 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd324 ))))(stream←v20420, 0, pd324); }; } static void WriteFDTypefaceDataToStream←P2160(data←v9356, stream←v9384) word data←v9356; word stream←v9384; { word nSets←v20464 = 0; /* WriteFDTypefaceDataToStream: */ SOURCE(28593, 1030) SOURCE(28679, 27) (void) PutCARD32←P3120(stream←v9384, 436038147); SOURCE(28723, 36) (void) PutExtents←P2220(stream←v9384, (* (W4Pt) data←v9356 )); SOURCE(28774, 42) (void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+4) )); SOURCE(28818, 43) (void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+5) )); SOURCE(28863, 39) (void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+6) )); SOURCE(28904, 38) (void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+7) )); SOURCE(28944, 42) (void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+8) )); SOURCE(28988, 62) (void) PutTransformationSeq←P2340(stream←v9384, (* (( (ptr) data←v9356)+9) )); SOURCE(29052, 48) (void) PutTypefaceCellSeq←P2460(stream←v9384, (* (( (ptr) data←v9356)+10) )); SOURCE(29102, 59) (void) PutTransformationSeq←P2340(stream←v9384, (* (( (ptr) data←v9356)+11) )); SOURCE(29163, 46) (void) PutCharInfoRunSeq←P2520(stream←v9384, (* (( (ptr) data←v9356)+13) )); SOURCE(29211, 56) (void) PutOverflowCharInfoSeq←P2640(stream←v9384, (* (( (ptr) data←v9356)+12) )); SOURCE(29269, 34) (void) PutPropList←P2820(stream←v9384, (* (( (ptr) data←v9356)+14) )); SOURCE(29305, 108) { register word c←v20508 = 0; lab←L100168: ; { word charRuns←v20552; SOURCE(29334, 37) charRuns←v20552 = (* ((( (ptr) data←v9356)+16)+c←v20508) ); SOURCE(29373, 40) if ((charRuns←v20552 != 0)) { SOURCE(29398, 15) nSets←v20464 = (nSets←v20464 + 1); }; }; if ((c←v20508 >= 255)) { goto lab←L100165; }; c←v20508 = (c←v20508 + 1); goto lab←L100168; lab←L100165: ; }; SOURCE(29427, 23) (void) PutCount←P3240(stream←v9384, nSets←v20464); SOURCE(29452, 171) { register word c←v20596 = 0; lab←L100172: ; { word charRuns←v20640; SOURCE(29481, 37) charRuns←v20640 = (* ((( (ptr) data←v9356)+16)+c←v20596) ); SOURCE(29520, 103) if ((charRuns←v20640 != 0)) { SOURCE(29545, 19) (void) PutCount←P3240(stream←v9384, c←v20596); SOURCE(29581, 29) (void) PutCharRuns←P2940(stream←v9384, charRuns←v20640); }; }; if ((c←v20596 >= 255)) { goto lab←L100169; }; c←v20596 = (c←v20596 + 1); goto lab←L100172; lab←L100169: ; }; } static void PutExtents←P2220(stream←v9444, extents←v9472) word stream←v9444; W4 extents←v9472; { /* PutExtents: */ SOURCE(29641, 209) SOURCE(29710, 35) (void) PutREAL←P3480(stream←v9444, extents←v9472.f0); SOURCE(29747, 36) (void) PutREAL←P3480(stream←v9444, extents←v9472.f1); SOURCE(29785, 32) (void) PutREAL←P3480(stream←v9444, extents←v9472.f2); SOURCE(29819, 31) (void) PutREAL←P3480(stream←v9444, extents←v9472.f3); } static void PutRealSeq←P2280(stream←v9532, s←v9560) word stream←v9532; word s←v9560; { /* PutRealSeq: */ SOURCE(29856, 157) SOURCE(29909, 24) (void) PutCount←P3240(stream←v9532, (* (ptr) s←v9560 )); SOURCE(29935, 78) { register word i←v20684 = 0; register word noName←c49400; noName←c49400 = (* (ptr) s←v9560 ); if ((i←v20684 >= noName←c49400)) { goto lab←L100173; }; lab←L100176: ; SOURCE(29979, 21) { word limit325; (void) PutREAL←P3480(stream←v9532, (* ((( (ptr) s←v9560)+1)+( limit325 = (* (ptr) s←v9560 ), BCK(i←v20684, limit325) )) )); }; i←v20684 = (i←v20684 + 1); if ((i←v20684 < noName←c49400)) { goto lab←L100176; }; lab←L100173: ; }; } static void PutTransformationSeq←P2340(stream←v9620, s←v9648) word stream←v9620; word s←v9648; { /* PutTransformationSeq: */ SOURCE(30028, 187) SOURCE(30101, 24) (void) PutCount←P3240(stream←v9620, (* (ptr) s←v9648 )); SOURCE(30127, 88) { register word i←v20728 = 0; register word noName←c49432; noName←c49432 = (* (ptr) s←v9648 ); if ((i←v20728 >= noName←c49432)) { goto lab←L100177; }; lab←L100180: ; SOURCE(30171, 31) { word limit326; (void) PutTransformation←P2400(stream←v9620, (* ((( (ptr) s←v9648)+1)+( limit326 = (* (ptr) s←v9648 ), BCK(i←v20728, limit326) )) )); }; i←v20728 = (i←v20728 + 1); if ((i←v20728 < noName←c49432)) { goto lab←L100180; }; lab←L100177: ; }; } static void PutTransformation←P2400(stream←v9708, m←v9736) word stream←v9708; word m←v9736; { /* PutTransformation: */ SOURCE(30230, 261) SOURCE(30297, 194) if ((m←v9736 == 0)) { SOURCE(30313, 25) (void) PutCount←P3240(stream←v9708, 0); } else { SOURCE(30340, 19) (void) PutCount←P3240(stream←v9708, 6); SOURCE(30361, 20) (void) PutREAL←P3480(stream←v9708, (* (ptr) m←v9736 )); SOURCE(30383, 20) (void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+1) )); SOURCE(30405, 20) (void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+2) )); SOURCE(30427, 20) (void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+3) )); SOURCE(30449, 20) (void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+4) )); SOURCE(30471, 20) (void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+5) )); }; } static void PutTypefaceCellSeq←P2460(stream←v9796, s←v9824) word stream←v9796; word s←v9824; { /* PutTypefaceCellSeq: */ SOURCE(30500, 181) SOURCE(30569, 24) (void) PutCount←P3240(stream←v9796, (* (ptr) s←v9824 )); SOURCE(30595, 86) { register word i←v20772 = 0; register word noName←c49464; noName←c49464 = (* (ptr) s←v9824 ); if ((i←v20772 >= noName←c49464)) { goto lab←L100181; }; lab←L100184: ; SOURCE(30639, 29) { word limit327; (void) PutTypefaceCell←P2580(stream←v9796, (* ((( (ptr) s←v9824)+1)+( limit327 = (* (ptr) s←v9824 ), BCK(i←v20772, limit327) )) )); }; i←v20772 = (i←v20772 + 1); if ((i←v20772 < noName←c49464)) { goto lab←L100184; }; lab←L100181: ; }; } static void PutCharInfoRunSeq←P2520(stream←v9884, s←v9912) word stream←v9884; word s←v9912; { /* PutCharInfoRunSeq: */ SOURCE(30696, 178) SOURCE(30763, 24) (void) PutCount←P3240(stream←v9884, (* (ptr) s←v9912 )); SOURCE(30789, 85) { register word i←v20816 = 0; register word noName←c49496; noName←c49496 = (* (ptr) s←v9912 ); if ((i←v20816 >= noName←c49496)) { goto lab←L100185; }; lab←L100188: ; SOURCE(30833, 28) { word limit328; (void) PutCharInfoRun←P2880(stream←v9884, (* ((( (ptr) s←v9912)+1)+( limit328 = (* (ptr) s←v9912 ), BCK(i←v20816, limit328) )) )); }; i←v20816 = (i←v20816 + 1); if ((i←v20816 < noName←c49496)) { goto lab←L100188; }; lab←L100185: ; }; } static void PutTypefaceCell←P2580(stream←v9972, s←v10000) word stream←v9972; word s←v10000; { register ptr gf←c52984 = (ptr) &globalframe; /* PutTypefaceCell: */ SOURCE(30889, 185) SOURCE(30952, 41) (void) PutCARD32←P3120(stream←v9972, (* (( (ptr) s←v10000)+2) )); SOURCE(30995, 33) (void) PutIdentifier←P3300(stream←v9972, (* (ptr) s←v10000 )); SOURCE(31030, 44) { word var←c49528; { word pd329; pd329 = (* (( (ptr) (* (( (ptr) gf←c52984)+163)/* var←c49560 */ ))+9) ); var←c49528 = (word) ( *( (fPt) ((* (ptr) pd329 ))))((* ((( (ptr) s←v10000)+3)) ), pd329); }; (void) PutIdentifier←P3300(stream←v9972, var←c49528); }; } static void PutOverflowCharInfoSeq←P2640(stream←v10060, s←v10088) word stream←v10060; word s←v10088; { /* PutOverflowCharInfoSeq: */ SOURCE(31080, 192) SOURCE(31157, 24) (void) PutCount←P3240(stream←v10060, (* (ptr) s←v10088 )); SOURCE(31183, 89) { register word i←v20860 = 0; register word noName←c49592; noName←c49592 = (* (ptr) s←v10088 ); if ((i←v20860 >= noName←c49592)) { goto lab←L100189; }; lab←L100192: ; SOURCE(31227, 32) { word limit330; (void) PutVerboseCharInfo←P2700(stream←v10060, (* ((( (ptr) s←v10088)+1)+( limit330 = (* (ptr) s←v10088 ), BCK(i←v20860, limit330) )) )); }; i←v20860 = (i←v20860 + 1); if ((i←v20860 < noName←c49592)) { goto lab←L100192; }; lab←L100189: ; }; } static void PutVerboseCharInfo←P2700(stream←v10148, s←v10176) word stream←v10148; word s←v10176; { /* PutVerboseCharInfo: */ SOURCE(31287, 161) SOURCE(31356, 29) (void) PutExtents←P2220(stream←v10148, (* (W4Pt) s←v10176 )); SOURCE(31387, 28) (void) PutVEC←P2760(stream←v10148, (* (W2Pt) (( (ptr) s←v10176)+4) )); SOURCE(31417, 31) (void) PutPropList←P2820(stream←v10148, (* (( (ptr) s←v10176)+6) )); } static void PutVEC←P2760(stream←v10236, v←v10264) word stream←v10236; W2 v←v10264; { /* PutVEC: */ SOURCE(31454, 95) SOURCE(31507, 20) (void) PutREAL←P3480(stream←v10236, v←v10264.f0); SOURCE(31529, 20) (void) PutREAL←P3480(stream←v10236, v←v10264.f1); } static void PutPropList←P2820(stream←v10324, props←v10352) word stream←v10324; word props←v10352; { /* PutPropList: */ SOURCE(31555, 109) SOURCE(31619, 45) if ((props←v10352 == 0)) { SOURCE(31639, 25) (void) PutCount←P3240(stream←v10324, 0); } else { SOURCE(31664, 5) (void) XR←RaiseUnnamedError(); }; } static void PutCharInfoRun←P2880(stream←v10412, charInfoRun←v10440) word stream←v10412; word charInfoRun←v10440; { /* PutCharInfoRun: */ SOURCE(31692, 806) SOURCE(31763, 43) (void) PutInteger←P3360(stream←v10412, (* (ptr) charInfoRun←v10440 )); SOURCE(31808, 83) (void) PutBYTE←P3180(stream←v10412, (((word) ( (((unsigned)(* (( (ptr) charInfoRun←v10440)+1) ) << 1) >> 1) ) << 1) + (unsigned) (*((int*)charInfoRun←v10440 + 1)<0))) ; SOURCE(31893, 43) (void) PutCount←P3240(stream←v10412, (* (( (ptr) charInfoRun←v10440)+2) )); SOURCE(31938, 34) (void) PutCount←P3240(stream←v10412, (* (( (ptr) charInfoRun←v10440)+3) )); SOURCE(31974, 524) { register word i←v20904 = 0; register word noName←c49624; noName←c49624 = (* (( (ptr) charInfoRun←v10440)+3) ); if ((i←v20904 >= noName←c49624)) { goto lab←L100193; }; lab←L100196: ; SOURCE(32028, 436) { W3 var←c49656; { word limit331; var←c49656 = (* (( (W3Pt) (( (ptr) charInfoRun←v10440)+4))+( limit331 = (* (( (ptr) charInfoRun←v10440)+3) ), BCK(i←v20904, limit331) )) ); }; { word var←c49688; var←c49688 = var←c49656.f0; if ((var←c49688 == 0)) { { W3 info←v20948; info←v20948 = var←c49656; SOURCE(32086, 32) (void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+4) )); SOURCE(32167, 33) (void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+5) )); SOURCE(32202, 29) (void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+6) )); SOURCE(32233, 28) (void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+7) )); SOURCE(32263, 33) (void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+8) )); SOURCE(32298, 33) (void) PutBYTE←P3180(stream←v10412, ( (((unsigned)(* (( (ptr) &info←v20948)+2) ) << 8) >> 8) )); }; } else { if ((var←c49688 == 1)) { { W2 info←v20992; info←v20992 = (* (W2Pt) &var←c49656 ); SOURCE(32364, 20) (void) PutBYTE←P3180(stream←v10412, 255); SOURCE(32428, 36) (void) PutCount←P3240(stream←v10412, info←v20992.f1); }; } else { SOURCE(32480, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; i←v20904 = (i←v20904 + 1); if ((i←v20904 < noName←c49624)) { goto lab←L100196; }; lab←L100193: ; }; } static void PutCharRuns←P2940(stream←v10500, charRuns←v10528) word stream←v10500; word charRuns←v10528; { word count←v21036 = 0; /* PutCharRuns: */ SOURCE(32513, 532) SOURCE(32592, 78) { register word tail←v21080; tail←v21080 = charRuns←v10528; lab←L100200: ; if ((tail←v21080 != 0)) { } else { goto lab←L100197; }; SOURCE(32653, 17) count←v21036 = (count←v21036 + 1); tail←v21080 = (* (ptr) tail←v21080 ); goto lab←L100200; lab←L100197: ; }; SOURCE(32681, 23) (void) PutCount←P3240(stream←v10500, count←v21036); SOURCE(32706, 339) { register word this←v21124; this←v21124 = charRuns←v10528; lab←L100204: ; if ((this←v21124 != 0)) { } else { goto lab←L100201; }; SOURCE(32782, 24) (void) PutBYTE←P3180(stream←v10500, (* (( (ptr) this←v21124)+1) )); SOURCE(32808, 24) (void) PutBYTE←P3180(stream←v10500, (* (( (ptr) this←v21124)+2) )); SOURCE(32834, 189) { register word i←v21168 = 0; register word noName←c49720; noName←c49720 = (* (( (ptr) this←v21124)+3) ); if ((i←v21168 >= noName←c49720)) { goto lab←L100205; }; lab←L100208: ; { W2 charRunEntry←v21212; SOURCE(32864, 36) { word limit332; charRunEntry←v21212 = (* (( (W2Pt) (( (ptr) this←v21124)+4))+( limit332 = (* (( (ptr) this←v21124)+3) ), BCK(i←v21168, limit332) )) ); }; SOURCE(32917, 44) (void) PutCount←P3240(stream←v10500, charRunEntry←v21212.f0); SOURCE(32963, 47) (void) PutCount←P3240(stream←v10500, charRunEntry←v21212.f1); }; i←v21168 = (i←v21168 + 1); if ((i←v21168 < noName←c49720)) { goto lab←L100208; }; lab←L100205: ; }; this←v21124 = (* (ptr) this←v21124 ); goto lab←L100204; lab←L100201: ; }; } static void PutCARD32←P3120(stream←v10708, card←v10736) word stream←v10708; word card←v10736; { register ptr gf←c53016 = (ptr) &globalframe; word ln←v21256; /* PutCARD32: */ SOURCE(33149, 196) SOURCE(33203, 34) ln←v21256 = card←v10736; SOURCE(33239, 25) { word pd333; pd333 = (* (( (ptr) (* (( (ptr) gf←c53016)+162)/* var←c48824 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd333 ))))(stream←v10708, (unsigned) ((unsigned)ln←v21256 >> 24), pd333); }; SOURCE(33266, 25) { word pd334; pd334 = (* (( (ptr) (* (( (ptr) gf←c53016)+162)/* var←c48824 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd334 ))))(stream←v10708, (unsigned) (((unsigned)ln←v21256 << 8) >> 24), pd334); }; SOURCE(33293, 25) { word pd335; pd335 = (* (( (ptr) (* (( (ptr) gf←c53016)+162)/* var←c48824 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd335 ))))(stream←v10708, (unsigned) (((unsigned)ln←v21256 << 16) >> 24), pd335); }; SOURCE(33320, 25) { word pd336; pd336 = (* (( (ptr) (* (( (ptr) gf←c53016)+162)/* var←c48824 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd336 ))))(stream←v10708, (unsigned) (ln←v21256 & 0377), pd336); }; } static void PutBYTE←P3180(stream←v10796, byte←v10824) word stream←v10796; word byte←v10824; { register ptr gf←c53048 = (ptr) &globalframe; /* PutBYTE: */ SOURCE(33351, 74) SOURCE(33401, 24) { word pd337; pd337 = (* (( (ptr) (* (( (ptr) gf←c53048)+162)/* var←c48824 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd337 ))))(stream←v10796, byte←v10824, pd337); }; } static void PutCount←P3240(stream←v10884, count←v10912) word stream←v10884; word count←v10912; { register ptr gf←c53080 = (ptr) &globalframe; W5 c←v21300; word k←v21328 = 0; word i←v21356; /* PutCount: */ SOURCE(33431, 264) SOURCE(33483, 32) XR←FillWords(&c←v21300, 5, 0); SOURCE(33529, 15) i←v21356 = count←v10912; SOURCE(33546, 67) lab←L100211: ; SOURCE(33549, 24) (* (( (ptr) &c←v21300)+BCK(k←v21328, 5)) ) = ((i←v21356 & 0177) + 128); SOURCE(33575, 9) k←v21328 = (k←v21328 + 1); SOURCE(33586, 11) i←v21356 = ((word) i←v21356 >> 7); SOURCE(33599, 14) if ((i←v21356 == 0)) { SOURCE(33613, 4) goto lab←L100210; }; goto lab←L100211; lab←L100210: ; SOURCE(33628, 15) { word idx338; c←v21300.f0 = ( idx338 = (word) (c←v21300.f0 - 128), BCK(idx338, 256) ); }; SOURCE(33645, 50) lab←L100214: ; if ((k←v21328 != 0)) { } else { goto lab←L100212; }; SOURCE(33660, 9) k←v21328 = SGNCK((k←v21328 - 1)); SOURCE(33671, 24) { word byte←v41276; byte←v41276 = (* (( (ptr) &c←v21300)+BCK(k←v21328, 5)) ); { word pd339; pd339 = (* (( (ptr) (* (( (ptr) gf←c53080)+162)/* var←c48824 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd339 ))))(stream←v10884, byte←v41276, pd339); }; }; goto lab←L100214; lab←L100212: ; } static void PutIdentifier←P3300(stream←v10972, s←v11000) word stream←v10972; word s←v11000; { register ptr gf←c53112 = (ptr) &globalframe; /* PutIdentifier: */ SOURCE(33710, 106) SOURCE(33763, 30) { word var←c49816; { word pd340; word idx341; pd340 = (* (( (ptr) (* (( (ptr) gf←c53112)+164)/* var←c49848 */ ))+15) ); var←c49816 = ( idx341 = (word) ( *( (fPt) ((* (ptr) pd340 ))))(s←v11000, pd340), SGNCK(idx341) ); }; (void) PutCount←P3240(stream←v10972, var←c49816); }; SOURCE(33795, 21) { word pd342; pd342 = (* (( (ptr) (* (( (ptr) gf←c53112)+162)/* var←c48824 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd342 ))))(stream←v10972, s←v11000, 0, 2147483647, pd342); }; } static void PutInteger←P3360(stream←v11060, int←v11088) word stream←v11060; word int←v11088; { /* PutInteger: */ SOURCE(33822, 122) SOURCE(33873, 71) { word idx343; (void) PutCount←P3240(stream←v11060, ( ( (int)int←v11088 < (int)0) ? (((word) ( idx343 = (word) INEG(int←v11088), SGNCK(idx343) ) << 1) - 1) : ((word) SGNCK(int←v11088) << 1) ) ); }; } static void PutREAL←P3480(stream←v11208, real←v11236) word stream←v11208; word real←v11236; { register ptr gf←c53144 = (ptr) &globalframe; word neg←v21520; word exponent←v21548 = 0; word significand←v21576; /* PutREAL: */ SOURCE(34230, 442) SOURCE(34280, 20) { word x344; word x345; neg←v21520 = (unsigned) (( x344 = real←v11236, *(float*)&x344 ) < ( x345 = (* (ptr) &fc82 ), *(float*)&x345 )); }; SOURCE(34339, 16) { float tf346; word x347; float tf348; real←v11236 = ( tf348 = FABS(( x347 = real←v11236, *(float*)&x347 ), tf346), *(word*)&tf348 ); }; SOURCE(34357, 91) lab←L100217: ; { word x349; word x350; if ((( x349 = real←v11236, *(float*)&x349 ) > ( x350 = (* (( (ptr) gf←c53144)+8)/* largestFlonumFraction←v5296 */ ), *(float*)&x350 ))) { } else { goto lab←L100215; }; }; SOURCE(34395, 28) { word pd351; pd351 = (* (( (ptr) (* (( (ptr) gf←c53144)+155)/* var←c43352 */ ))+4) ); real←v11236 = (word) ( *( (fPt) ((* (ptr) pd351 ))))(real←v11236, (word) -1, pd351); }; SOURCE(34425, 23) exponent←v21548 = (exponent←v21548 + 1); goto lab←L100217; lab←L100215: ; SOURCE(34459, 101) { word var←c0795; lab←L100220: ; { word x354; word x355; { word pd352; pd352 = (* (( (ptr) (* (( (ptr) gf←c53144)+155)/* var←c43352 */ ))+6) ); significand←v21576 = (word) ( *( (fPt) ((* (ptr) pd352 ))))(real←v11236, pd352); }; { float tf353; var←c0795 = ( tf353 = (float)(int)significand←v21576, *(word*)&tf353 ); }; if ((( x354 = real←v11236, *(float*)&x354 ) != ( x355 = var←c0795, *(float*)&x355 ))) { } else { goto lab←L100218; }; }; SOURCE(34508, 27) { word pd356; pd356 = (* (( (ptr) (* (( (ptr) gf←c53144)+155)/* var←c43352 */ ))+4) ); real←v11236 = (word) ( *( (fPt) ((* (ptr) pd356 ))))(real←v11236, 1, pd356); }; SOURCE(34537, 23) exponent←v21548 = (exponent←v21548 - 1); goto lab←L100220; lab←L100218: ; }; SOURCE(34571, 38) if ((0 != neg←v21520)) { SOURCE(34583, 26) significand←v21576 = INEG(significand←v21576); }; SOURCE(34611, 31) (void) PutInteger←P3360(stream←v11208, significand←v21576); SOURCE(34644, 28) (void) PutInteger←P3360(stream←v11208, exponent←v21548); } static void NoName←Q9684(formal←c0696, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c0696; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { if ((formal←c200001 == XR←Aborted)) { SOURCE(25528, 8) (* (ptr) formal←c0696 ) = 2; (* (( (ptr) formal←c0696)+1) ) = 2; return; }; (* (ptr) formal←c0696 ) = 0; (* (( (ptr) formal←c0696)+1) ) = 0; return; } /* file: ImagerFDBuildImpl, module: ImagerFDBuildImpl, compiled at: July 28, 1993 10:17:44 am PDT */ extern void XR←install←ImagerFDBuildImpl() { NoName←Q9564(); } extern void XR←run←ImagerFDBuildImpl() { XR←Start(&globalframe); }