/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: March 10, 1993 10:56:47 am PST */ /* C2C version: February 24, 1993 (sun4) */ /* ref-counting: off */ /* file: XlFontOpsImpl, module: XlFontOpsImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> #define XRM←BITAND(x, y) (((word)(x)) & ((word)(y))) static char versionStamp[] = "@(#)mob←version [2527907169,1062428210] XlFontOpsImpl"; 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, f6, f7;} W8; typedef struct {W8 f; word r;} W9; typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2;} W3; typedef W3 *W3Pt; #define SOURCE(p, l) /* source p, l */ #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) static void NoName←Q780(); static void XlFontOpsImpl←P0(); static word Init←P60(); static void InvalidateDB←P120(); static word NiceOpenFont←P180(); static word NoName←Q840(); static word GetDefaultFont←P240(); static word Each←P480(); static void QueryPosInfo←P300(); static void FindIdx←P420(); static void NoName←Q900(); static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"}; static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string4 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string5 = {65540, "\242\000\000"}; static struct {unsigned f; char r[24];} string6 = {1376280, "\216\211\010\007\106\157\156\164\122\145\160\300\351\276\264\273\300\115\104\320\264\000\000"}; static struct {unsigned f; char r[44];} string7 = {2818092, "\216\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"}; static struct {unsigned f; char r[24];} string9 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"}; static struct {unsigned f; char r[24];} string10 = {1310744, "(Cedar)(defaultFont)\000\000\000"}; static struct {unsigned f; char r[4];} string11 = {65540, "x\000\000"}; static struct {unsigned f; char r[8];} string12 = {262152, "8x13\000\000\000"}; static struct {unsigned f; char r[8];} string13 = {458760, "serif12"}; static struct {unsigned f; char r[36];} string14 = {2293796, "*adobe-helvetica-medium*normal--12*"}; static struct {unsigned f; char r[12];} string15 = {720908, "*helvetica*"}; static struct {unsigned f; char r[8];} string16 = {458760, "*times*"}; static struct {unsigned f; char r[4];} string17 = {65540, "*\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\226\254\315\141\300\077\123\136\062\100\164\000\000"}; static struct {unsigned f; char r[12];} string19 = {589833, "\006\002\040\001\100\110\004\100\377\000\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\047\312\257\214\300\225\003\264\361\100\150\000\000"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\264\326\343\056\300\340\077\001\214\100\150\000\000"}; static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\337\070\153\303\300\227\216\321\214\100\150\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\213\047\253\045\300\271\243\347\012\100\150\000\000"}; static struct { word f0[26]; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39[7]; } globalframe = { {0}, (word) FindIdx←P420, 0, (word) QueryPosInfo←P300, 0, (word) GetDefaultFont←P240, 0, (word) NiceOpenFont←P180, 0, (word) InvalidateDB←P120, 0, (word) Init←P60, 0, (word) XlFontOpsImpl←P0, {0} }; static void NoName←Q780() { register ptr gf←c083 = (ptr) &globalframe; word var←c13480; (* (( (ptr) gf←c083)+9) ) = (word) XR←GetTypeIndexS((word) (&string1)); (* (( (ptr) gf←c083)+10) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3); (* (( (ptr) gf←c083)+11) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string3); (* (( (ptr) gf←c083)+12) ) = (word) XR←GetTypeIndexS((word) (&string5)); (* (( (ptr) gf←c083)+14) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string3); (* (( (ptr) gf←c083)+16) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string3); (* (( (ptr) gf←c083)+17) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9); (* (ptr) (( (bPt) gf←c083)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c083)+16) ), (word) &string10); (* (ptr) (( (bPt) gf←c083)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c083)+10) ), (word) &string11); (* (ptr) (( (bPt) gf←c083)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c083)+11) ), (word) &string12); (* (ptr) (( (bPt) gf←c083)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c083)+11) ), (word) &string13); (* (ptr) (( (bPt) gf←c083)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c083)+11) ), (word) &string14); (* (ptr) (( (bPt) gf←c083)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c083)+11) ), (word) &string15); (* (ptr) (( (bPt) gf←c083)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c083)+11) ), (word) &string16); (* (ptr) (( (bPt) gf←c083)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c083)+11) ), (word) &string17); (void) XR←DeclareGlobalFrame((word) "XlFontOpsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19) , (word) (( (bPt) gf←c083)+152)/* var←c12840 */ ); var←c13480 = (word) XR←ImportInterface((word) "Customize", (word) XR←GetTypeIndexS((word) (&string20)), 19); (* (( (ptr) gf←c083)+43)/* var←c13032 */ ) = var←c13480; (void) XR←ImportProcS(var←c13480, 67634946); var←c13480 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string21)), 43); (* (( (ptr) gf←c083)+44)/* var←c13096 */ ) = var←c13480; (void) XR←ImportProcS(var←c13480, 67634434); (void) XR←ImportProcS(var←c13480, 67373569); (void) XR←ImportProcS(var←c13480, 67896323); (void) XR←ImportProcS(var←c13480, 67373313); var←c13480 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string22)), 218); (* (( (ptr) gf←c083)+41)/* var←c12936 */ ) = var←c13480; (void) XR←ImportProcS(var←c13480, 67658498); (void) XR←ImportProcS(var←c13480, 1336837); (void) XR←ImportProcS(var←c13480, 67901699); (void) XR←ImportProcS(var←c13480, 67919875); (void) XR←ImportProcS(var←c13480, 67639298); var←c13480 = (word) XR←ImportInterface((word) "XlDB", (word) XR←GetTypeIndexS((word) (&string23)), 4); (* (( (ptr) gf←c083)+40)/* var←c12904 */ ) = var←c13480; (void) XR←ImportProcS(var←c13480, 67371265); (void) XR←ImportProcS(var←c13480, 1049092); var←c13480 = (word) XR←ImportInterface((word) "XlDetails", (word) XR←GetTypeIndexS((word) (&string24)), 4); (* (( (ptr) gf←c083)+42)/* var←c12968 */ ) = var←c13480; var←c13480 = (word) XR←ExportInterface((word) "XlFontOps", (word) XR←GetTypeIndexS((word) (&string25)), 2); (* (( (ptr) gf←c083)+45)/* var←c13512 */ ) = var←c13480; (void) XR←ExportProcS(var←c13480, (word) (( (bPt) gf←c083)+120)/* var←c12712 */ , 67371009); (void) XR←ExportProcS(var←c13480, (word) (( (bPt) gf←c083)+112)/* var←c12680 */ , 202375428); } static void XlFontOpsImpl←P0(formal←c024, formal←c023) word formal←c024; word formal←c023; { register ptr gf←c13544 = (ptr) &globalframe; /* XlFontOpsImpl: */ SOURCE(71, 3638) SOURCE(198, 25) (* (( (ptr) gf←c13544)+8)/* myKey←v2776 */ ) = XR←NewObject(4, (* (( (ptr) gf←c13544)+12) )); } static word Init←P60(c←v5812, key←v5840) word c←v5812; word key←v5840; { register ptr gf←c13576 = (ptr) &globalframe; word val←v5884; word rf←v3732; /* Init: */ SOURCE(226, 132) SOURCE(226, 132) val←v5884 = (* (( (ptr) gf←c13576)+19) ); SOURCE(258, 36) rf←v3732 = XR←NewObject(4, (* (( (ptr) gf←c13576)+14) )); SOURCE(296, 48) { word pd26; pd26 = (* (( (ptr) (* (( (ptr) gf←c13576)+40)/* var←c12904 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd26 ))))(c←v5812, (word) (( (bPt) gf←c13576)+136)/* var←c12776 */ , 0, 0, pd26); }; SOURCE(346, 12) return(rf←v3732); } static void InvalidateDB←P120(event←v5944, clientData←v5972, tq←v6000) word event←v5944; word clientData←v5972; word tq←v6000; { register ptr gf←c13608 = (ptr) &globalframe; word rf←v3788; /* InvalidateDB: */ SOURCE(362, 140) SOURCE(397, 71) { word pd27; pd27 = (* (( (ptr) (* (( (ptr) gf←c13608)+41)/* var←c12936 */ ))+28) ); rf←v3788 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd27 ))))((* (( (ptr) event←v5944)+2) ), (* (( (ptr) gf←c13608)+8)/* myKey←v2776 */ ), pd27) , (* (( (ptr) gf←c13608)+14) )); }; SOURCE(470, 32) if ((rf←v3788 != 0)) { SOURCE(485, 17) (* (ptr) rf←v3788 ) = 0; }; } static word NiceOpenFont←P180(formal←c0100, formal←c0101) word formal←c0100; word formal←c0101; { W9 var←c13640; /* declaration of c←v3064 skipped */ /* declaration of name←v3092 skipped */ register ptr gf←c13672 = (ptr) &globalframe; word font←v3136; (* (( (ptr) &var←c13640)+4)/* c←v3064 */ ) = formal←c0100; (* (( (ptr) &var←c13640)+5)/* name←v3092 */ ) = formal←c0101; /* NiceOpenFont: */ SOURCE(509, 216) SOURCE(509, 216) font←v3136 = 0; SOURCE(604, 121) SOURCE(606, 71) { /* declaration of var←c01 skipped */ /* declaration of var←c02 skipped */ (* (( (ptr) &var←c13640)+6)/* var←c01 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c13672)+42)/* var←c12968 */ ))+4) ) ); (* (( (ptr) &var←c13640)+7)/* var←c02 */ ) = (* (( (ptr) (* (( (ptr) gf←c13672)+41)/* var←c12936 */ ))+100) ); { /* declaration of var←c03 skipped */ { word var←c04; { word var←c094; var←c094 = (word) &var←c13640; var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q840) ), ( ((word) (fPt) NoName←Q900) ), var←c094); }; if ((var←c04 == 2)) { goto lab←L100000; }; }; font←v3136 = (* (( (ptr) &var←c13640)+8)/* var←c03 */ ); }; }; goto lab←L100003; lab←L100000: ; SOURCE(703, 20) return(0); lab←L100003: ; SOURCE(509, 216) return(font←v3136); } static word NoName←Q840(formal←c088) word formal←c088; { SOURCE(606, 71) { word pd28; pd28 = (* (( (ptr) formal←c088)+7) ); (* (( (ptr) formal←c088)+8) ) = (word) ( *( (fPt) ((* (ptr) pd28 ))))((* (( (ptr) formal←c088)+4) ), (* (( (ptr) formal←c088)+5) ), (* (( (ptr) formal←c088)+6) ), pd28); }; return(0); } static word GetDefaultFont←P240(formal←c0102) word formal←c0102; { W8 var←c13704; /* declaration of c←v3196 skipped */ register ptr gf←c13736 = (ptr) &globalframe; /* declaration of font←v3240 skipped */ /* declaration of var←c13000 skipped */ word rf←v3844; var←c13704.f4/* c←v3196 */ = formal←c0102; /* GetDefaultFont: */ SOURCE(729, 1121) { word tmpAddr29; tmpAddr29 = (word) (( (ptr) &var←c13704)+6)/* var←c13000 */ ; (* (ptr) tmpAddr29 ) = ( ((word) (fPt) Each←P480) ); (* (( (ptr) tmpAddr29) + 1) ) = 1; }; SOURCE(729, 1121) var←c13704.f5/* font←v3240 */ = 0; SOURCE(804, 69) { word pd30; pd30 = (* (( (ptr) (* (( (ptr) gf←c13736)+41)/* var←c12936 */ ))+29) ); rf←v3844 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd30 ))))(var←c13704.f4/* c←v3196 */ , (* (( (ptr) gf←c13736)+8)/* myKey←v2776 */ ), (word) ( ( (bPt) gf←c13736)+144)/* var←c12808 */ , pd30), (* (( (ptr) gf←c13736)+14) )); }; SOURCE(1003, 35) if ((rf←v3844 == 0)) { SOURCE(1018, 20) return(0); }; SOURCE(1040, 10) var←c13704.f5/* font←v3240 */ = (* (ptr) rf←v3844 ); SOURCE(1052, 798) if ((var←c13704.f5/* font←v3240 */ == 0)) { SOURCE(1077, 776) { word dbx←v4076; word fontName←v4104 = 0; SOURCE(1080, 49) { word pd31; pd31 = (* (( (ptr) (* (( (ptr) gf←c13736)+40)/* var←c12904 */ ))+5) ); dbx←v4076 = (word) ( *( (fPt) ((* (ptr) pd31 ))))(var←c13704.f4/* c←v3196 */ , pd31); }; SOURCE(1159, 98) { word var←c13064; { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c13736)+43)/* var←c13032 */ ))+11) ); var←c13064 = (word) ( *( (fPt) ((* (ptr) pd32 ))))(dbx←v4076, (* (( (ptr) gf←c13736)+18) ), pd32); }; if ((var←c13064 == 0)) { goto lab←L100004; }; { word tc33; if (((* (( (ptr) gf←c13736)+17) ) == XR←GetReferentType(var←c13064))) { tc33 = (word) ( (unsigned) (*(int*)var←c13064<0) == 0); } else { tc33 = (word) 0; }; if (tc33) { { word r←v4148; r←v4148 = var←c13064; SOURCE(1245, 12) fontName←v4104 = r←v4148; }; } else { lab←L100004: ; }; }; }; SOURCE(1274, 48) { word pd34; pd34 = (* (( (ptr) (* (( (ptr) gf←c13736)+44)/* var←c13096 */ ))+13) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd34 ))))(fontName←v4104, pd34))) { SOURCE(1305, 17) fontName←v4104 = (* (( (ptr) gf←c13736)+20) ); }; }; SOURCE(1324, 24) { word var←c13128; var←c13128 = (word) Each←P480(fontName←v4104, 0, (word) (( (bPt) &var←c13704)+24)/* var←c13000 */ ); }; SOURCE(1350, 413) if ((var←c13704.f5/* font←v3240 */ == 0)) { SOURCE(1377, 60) { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf←c13736)+44)/* var←c13096 */ ))+8) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd35 ))))(fontName←v4104, (* (( (ptr) gf←c13736)+20) ), 1, pd35))) { SOURCE(1415, 22) { word var←c13160; var←c13160 = (word) Each←P480((* (( (ptr) gf←c13736)+20) ), 0, (word) (( (bPt) &var←c13704)+24)/* var←c13000 */ ); }; }; }; SOURCE(1439, 50) if ((var←c13704.f5/* font←v3240 */ == 0)) { SOURCE(1464, 25) { word var←c13192; var←c13192 = (word) Each←P480((* (( (ptr) gf←c13736)+21) ), 0, (word) (( (bPt) &var←c13704)+24)/* var←c13000 */ ); }; }; SOURCE(1491, 88) if ((var←c13704.f5/* font←v3240 */ == 0)) { SOURCE(1516, 63) { word pd36; pd36 = (* (( (ptr) (* (( (ptr) gf←c13736)+41)/* var←c12936 */ ))+106) ); (void) ( *( (fPt) ((* (ptr) pd36 ))))(var←c13704.f4/* c←v3196 */ , (word) (( (bPt) &var←c13704)+24)/* var←c13000 */ , (* ( ( (ptr) gf←c13736)+22) ), 3, 0, pd36); }; }; SOURCE(1581, 64) if ((var←c13704.f5/* font←v3240 */ == 0)) { SOURCE(1606, 39) { word pd37; pd37 = (* (( (ptr) (* (( (ptr) gf←c13736)+41)/* var←c12936 */ ))+106) ); (void) ( *( (fPt) ((* (ptr) pd37 ))))(var←c13704.f4/* c←v3196 */ , (word) (( (bPt) &var←c13704)+24)/* var←c13000 */ , (* ( ( (ptr) gf←c13736)+23) ), 3, 0, pd37); }; }; SOURCE(1647, 60) if ((var←c13704.f5/* font←v3240 */ == 0)) { SOURCE(1672, 35) { word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf←c13736)+41)/* var←c12936 */ ))+106) ); (void) ( *( (fPt) ((* (ptr) pd38 ))))(var←c13704.f4/* c←v3196 */ , (word) (( (bPt) &var←c13704)+24)/* var←c13000 */ , (* ( ( (ptr) gf←c13736)+24) ), 3, 0, pd38); }; }; SOURCE(1709, 54) if ((var←c13704.f5/* font←v3240 */ == 0)) { SOURCE(1734, 29) { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf←c13736)+41)/* var←c12936 */ ))+106) ); (void) ( *( (fPt) ((* (ptr) pd39 ))))(var←c13704.f4/* c←v3196 */ , (word) (( (bPt) &var←c13704)+24)/* var←c13000 */ , (* ( ( (ptr) gf←c13736)+25) ), 5, 0, pd39); }; }; }; SOURCE(1768, 82) if ((var←c13704.f5/* font←v3240 */ != 0)) { SOURCE(1840, 10) (* (ptr) rf←v3844 ) = var←c13704.f5/* font←v3240 */ ; }; }; }; SOURCE(729, 1121) return(var←c13704.f5/* font←v3240 */ ); } static word Each←P480(name←v3960, data←v3988, formal←c13768) word name←v3960; word data←v3988; word formal←c13768; { word quit←v4048; formal←c13768 = (formal←c13768 - 24); /* Each: */ SOURCE(875, 125) SOURCE(946, 28) (* (( (ptr) formal←c13768)+5) ) = (word) NiceOpenFont←P180((* (( (ptr) formal←c13768)+4) ), name←v3960); SOURCE(976, 24) quit←v4048 = (unsigned) ((* (( (ptr) formal←c13768)+5) ) != 0); SOURCE(875, 125) return(quit←v4048); } static void QueryPosInfo←P300(formal←c057, c←v3300, font←v3328, text←v3356, x←v3384) word formal←c057; word c←v3300; word font←v3328; word text←v3356; word x←v3384; { register ptr gf←c13800 = (ptr) &globalframe; W3 p←v3428; word fi←v4192; /* QueryPosInfo: */ SOURCE(1860, 222) SOURCE(1860, 222) p←v3428.f0 = 0; p←v3428.f1 = 0; p←v3428.f2 = 0; SOURCE(1986, 55) { word pd40; pd40 = (* (( (ptr) (* (( (ptr) gf←c13800)+41)/* var←c12936 */ ))+103) ); fi←v4192 = (word) ( *( (fPt) ((* (ptr) pd40 ))))(c←v3300, font←v3328, pd40); }; SOURCE(2043, 39) if ((fi←v4192 != 0)) { SOURCE(2058, 24) (void) FindIdx←P420((word) &p←v3428, fi←v4192, text←v3356, x←v3384); }; /* removed tail goto */ (* (W3Pt) formal←c057 ) = p←v3428; return; } static void FindIdx←P420(formal←c076, fi←v3592, text←v3620, xPos←v3648) word formal←c076; word fi←v3592; word text←v3620; word xPos←v3648; { register ptr gf←c13832 = (ptr) &globalframe; W3 pi←v3704; word charPos←v4276 = 0; word overallRight←v4304 = 0; word overallWidth←v4332 = 0; word lastOverallRight←v4360 = 0; word firstCol←v4388; word numCols←v4416; word length←v4444; word idx←v4472; /* FindIdx: */ SOURCE(2272, 1437) SOURCE(2272, 1437) pi←v3704.f0 = 0; pi←v3704.f1 = 0; pi←v3704.f2 = 0; SOURCE(2459, 33) { word idx41; firstCol←v4388 = ( idx41 = (* (( (ptr) fi←v3592)+4) ), SGNCK(idx41) ); }; SOURCE(2494, 43) numCols←v4416 = (((* (( (ptr) fi←v3592)+5) ) - firstCol←v4388) + 1); SOURCE(2539, 31) { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf←c13832)+44)/* var←c13096 */ ))+14) ); length←v4444 = (word) ( *( (fPt) ((* (ptr) pd42 ))))(text←v3620, pd42); }; SOURCE(2582, 1127) lab←L100009: ; { word var←c13256; word attributes←v12600; SOURCE(2585, 65) if (( (int)charPos←v4276 >= (int)length←v4444)) { SOURCE(2609, 41) pi←v3704.f0 = charPos←v4276; pi←v3704.f1 = charPos←v4276; pi←v3704.f2 = overallRight←v4304; goto lab←L100006; }; SOURCE(2652, 36) { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf←c13832)+44)/* var←c13096 */ ))+9) ); idx←v4472 = (word) ( *( (fPt) ((* (ptr) pd43 ))))(text←v3620, charPos←v4276, pd43); }; SOURCE(2690, 20) idx←v4472 = (idx←v4472 - firstCol←v4388); SOURCE(2712, 225) { word tc45; if (( (int)idx←v4472 < (int)0)) { goto then044;}; if (( (int)idx←v4472 >= (int)numCols←v4416)) { goto then044;}; if ( ( ((* (( (ptr) fi←v3592)+14) ) != 0) ? ( (int)(* (ptr) (* (( (ptr) fi←v3592)+14) ) ) > (int)idx←v4472) : 0 ) ) { { word var←c095; word var←c13288; { word limit46; var←c13288 = (* (( (ptr) fi←v3592)+14) ); var←c095 = (var←c095 & 4294901760) | ((word) ((* (( (hPt) (( (W3Pt) (( (ptr) var←c13288)+1))+( /*1*/ limit46 = (* (ptr) var←c13288 ), /*1*/ BCK(idx←v4472, limit46) /*1*/ )))+5) ))); }; attributes←v12600 = (unsigned) ( (((unsigned)var←c095 << 16) >> 16) ); }; SOURCE(2199, 69) var←c13256 = (unsigned) ((word) XRM←BITAND(attributes←v12600, 16384) == 0); tc45 = (word) (0 == var←c13256); } else { tc45 = (word) 0; }; if (tc45) { then044: ; SOURCE(2841, 20) idx←v4472 = (* (( (ptr) fi←v3592)+6) ); SOURCE(2863, 20) idx←v4472 = (idx←v4472 - firstCol←v4388); SOURCE(2885, 52) if (( (int)idx←v4472 < (int)0) || ( (int)idx←v4472 >= (int)numCols←v4416)) { SOURCE(2918, 19) charPos←v4276 = (charPos←v4276 + 1); SOURCE(2939, 4) goto lab←L100009; }; }; }; SOURCE(2981, 470) { word p←v4516; word var←c13352; word attributes←v12524; SOURCE(3027, 195) if ( ( ((* (( (ptr) fi←v3592)+14) ) != 0) ? ( (int)idx←v4472 < (int)(* (ptr) (* (( (ptr) fi←v3592)+14) ) )) : 0 ) ) { SOURCE(3079, 103) p←v4516 = (((* (( (ptr) fi←v3592)+14) ) + IOP2( * , (int)idx←v4472, (int)12)) + 4); } else { SOURCE(3182, 40) p←v4516 = (* (ptr) fi←v3592 ); }; SOURCE(3224, 57) attributes←v12524 = (unsigned) (* (( (hPt) p←v4516)+5) ); SOURCE(2199, 69) var←c13352 = (unsigned) ((word) XRM←BITAND(attributes←v12524, 16384) == 0); if ((0 == var←c13352)) { SOURCE(3262, 19) charPos←v4276 = (charPos←v4276 + 1); SOURCE(3283, 4) goto lab←L100009; }; SOURCE(3314, 31) lastOverallRight←v4360 = overallRight←v4304; SOURCE(3347, 61) { word x47; overallRight←v4304 = (x47 = (overallWidth←v4332 + (int) ( short )(* (( (hPt) p←v4516)+1) )), MAX((int)(word), overallRight←v4304, x47)); }; SOURCE(3410, 39) overallWidth←v4332 = (overallWidth←v4332 + (int) ( short )(* (( (hPt) p←v4516)+2) )); }; SOURCE(3454, 19) charPos←v4276 = (charPos←v4276 + 1); SOURCE(3475, 234) if (( (int)overallRight←v4304 >= (int)xPos←v3648)) { SOURCE(3504, 205) if (( (int)(overallRight←v4304 - xPos←v3648) < (int)(xPos←v3648 - lastOverallRight←v4360))) { SOURCE(3557, 76) pi←v3704.f0 = (charPos←v4276 - 1); pi←v3704.f1 = charPos←v4276; pi←v3704.f2 = overallRight←v4304; goto lab←L100006; } else { SOURCE(3633, 76) pi←v3704.f0 = (charPos←v4276 - 1); pi←v3704.f1 = (charPos←v4276 - 1); pi←v3704.f2 = lastOverallRight←v4360; goto lab←L100006; }; }; }; goto lab←L100009; lab←L100006: ; (* (W3Pt) formal←c076 ) = pi←v3704; return; } static void NoName←Q900(formal←c082, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c082; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { register ptr gf←c093 = (ptr) &globalframe; if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c093)+41)/* var←c12936 */ ))+4) ))) { { word err←v7276; err←v7276 = (* (ptr) formal←c200003 ); SOURCE(677, 10) (* (ptr) formal←c082 ) = 2; (* (( (ptr) formal←c082)+1) ) = 2; return; }; }; (* (ptr) formal←c082 ) = 0; (* (( (ptr) formal←c082)+1) ) = 0; return; } /* file: XlFontOpsImpl, module: XlFontOpsImpl, compiled at: March 10, 1993 10:56:46 am PST */ extern void XR←install←XlFontOpsImpl() { NoName←Q780(); } extern void XR←run←XlFontOpsImpl() { XR←Start(&globalframe); }