/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 28, 1993 10:18:45 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerFontImpl, module: ImagerFontImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [4066445155,1303591985] ImagerFontImpl";
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 {word f0, f1, f2, f3;} W4;
typedef struct {W8 f; W4 r;} W12;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {W8 f; W2 r;} W10;
typedef W10 *W10Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W16 r;} W32;
typedef struct {W32 f; W32 r;} W64;
typedef struct {W64 f; W64 r;} W128;
typedef struct {W128 f; W128 r;} W256;
typedef W256 *W256Pt;
typedef W2 *W2Pt;
typedef struct {W256 f; W256 r;} W512;
typedef W512 *W512Pt;
typedef W4 *W4Pt;
typedef struct {W8 f; word r;} W9;
typedef struct {W16 f; word r;} W17;
#define SOURCE(p, l) /* source p, l */
static float fc41 = 1.0;
static float fc42 = 22767.0;
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define FMIN(x, y, tx, ty) ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty )
#define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc106 = 16383.0;
static float fc121 = 600.0;
static float fc168 = 0.0;
static void NoName←Q3468();
static void ImagerFontImpl←P0();
static void MapRope←P60();
static word byteAction←P2160();
static void MapText←P120();
static word Hash←P180();
static word TypefaceFromFont←P240();
static word MakeFont←P300();
static word NoName←Q3528();
static void UpdateFontList←P2364();
static void FlushFontCaches←P360();
static void TransformExtents←P540();
static word Find←P600();
static word Modify←P660();
static word Scale←P720();
static word FindScaled←P780();
static word SelectAlternateMetrics←P840();
static word Contains←P900();
static word NextChar←P960();
static void Escapement←P1020();
static word Amplified←P1080();
static word Correction←P1140();
static void BoundingBox←P1200();
static void FontBoundingBox←P1260();
static word Name←P1320();
static void Kern←P1380();
static word NextKern←P1440();
static word Ligature←P1500();
static word NextLigature←P1560();
static word RangeClip←P1620();
static word CaptureChar←P1680();
static word GeneralCaptureCharMask←P1740();
static word NoName←Q3588();
static void Operator←P2712();
static void StringEscapement←P1800();
static void charAction←P2820();
static void RopeEscapement←P1860();
static void string←P2880();
static void TextEscapement←P1920();
static void string←P2940();
static void StringBoundingBox←P1980();
static void charAction←P3000();
static void RopeBoundingBox←P2040();
static void string←P3060();
static void TextBoundingBox←P2100();
static void string←P3120();
static void NoName←Q3648();
static void NoName←Q3708();
static struct {unsigned f; char r[24];} string1 = {1310744, "\205\210\242\000\101\377\214\257\300\362\141\007\143\300\115\263\074\061\100\244\000\000\000"};
static struct {unsigned f; char r[8];} string2 = {393222, "\010\000\004B\000\001\000"};
static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string5 = {2752556, "\260\006\005\146\151\162\163\164\257\300\240\236\274\171\300\344\000\142\023\100\200\005\004\162\145\163\164\214\257\300\240\236\274\171\300\344\000\142\023\100\200\261\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\007\000"};
static struct {unsigned f; char r[4];} string7 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\100\214\000\000"};
static struct {unsigned f; char r[24];} string9 = {1310744, "\254\205\210\241\000\100\377\257\300\301\227\276\106\300\342\254\204\020\101\270\000\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\244\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\004\003\000"};
static struct {unsigned f; char r[44];} string12 = {2752556, "\260\006\005\146\151\162\163\164\257\300\362\141\007\143\300\115\263\074\061\100\244\005\004\162\145\163\164\214\257\300\362\141\007\143\300\115\263\074\061\100\244\261\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\004\006\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\000\172\225\152\300\104\041\252\375\100\164\000\000"};
static struct {unsigned f; char r[8];} string15 = {262152, "rope\000\000\000"};
static struct {unsigned f; char r[32];} string16 = {1835040, "invalid string-body encoding\000\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\362\141\007\143\300\115\263\074\061\100\164\000\000"};
static struct {unsigned f; char r[12];} string18 = {655370, "\006\003\040\001\044\001\100\200\004\003\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\000\172\225\152\300\104\041\252\375\100\150\000\000"};
static struct {unsigned f; char r[12];} string20 = {1231905127, "erFontWorks"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\360\006\233\311\300\116\352\007\226\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\045\370\116\014\300\270\323\074\131\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\350\311\135\367\300\362\215\374\250\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\320\075\073\162\300\001\171\341\017\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\041\257\203\366\300\322\161\356\007\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[12];} string29 = {1231905127, "erTypeface"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\243\162\130\311\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\247\031\224\326\300\123\162\224\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\346\312\312\137\300\332\074\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\150\000\000"};
static struct {unsigned f; char r[28];} string37 = {1572892, "\211\014\013\124\171\160\145\146\141\143\145\122\145\160\300\046\300\267\143\300\022\215\240\122\000\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\164\000\000"};
static struct {unsigned f; char r[4];} string39 = {196611, "\004@\357"};
static struct {
word f0[34]; word f34; word f35; word f36;
word f37; word f38; word f39; word f40;
word f41; word f42; word f43; word f44;
word f45; word f46; word f47; word f48;
word f49; word f50; word f51; word f52;
word f53; word f54; word f55; word f56;
word f57; word f58; word f59; word f60;
word f61; word f62; word f63; word f64;
word f65; word f66; word f67; word f68;
word f69; word f70; word f71; word f72;
word f73; word f74; word f75; word f76;
word f77; word f78; word f79; word f80;
word f81; word f82; word f83; word f84;
word f85; word f86; word f87; word f88;
word f89; word f90; word f91; word f92;
word f93; word f94; word f95; word f96;
word f97; word f98; word f99; word f100;
word f101[17];
} globalframe = {
{0}, (word) TextBoundingBox←P2100, 0, (word) RopeBoundingBox←P2040,
0, (word) StringBoundingBox←P1980, 0, (word) TextEscapement←P1920,
0, (word) RopeEscapement←P1860, 0, (word) StringEscapement←P1800,
0, (word) GeneralCaptureCharMask←P1740, 0, (word) CaptureChar←P1680,
0, (word) RangeClip←P1620, 0, (word) NextLigature←P1560,
0, (word) Ligature←P1500, 0, (word) NextKern←P1440,
0, (word) Kern←P1380, 0, (word) Name←P1320,
0, (word) FontBoundingBox←P1260, 0, (word) BoundingBox←P1200,
0, (word) Correction←P1140, 0, (word) Amplified←P1080,
0, (word) Escapement←P1020, 0, (word) NextChar←P960,
0, (word) Contains←P900, 0, (word) SelectAlternateMetrics←P840,
0, (word) FindScaled←P780, 0, (word) Scale←P720,
0, (word) Modify←P660, 0, (word) Find←P600,
0, (word) TransformExtents←P540, 0, (word) FlushFontCaches←P360,
0, (word) MakeFont←P300, 0, (word) TypefaceFromFont←P240,
0, (word) Hash←P180, 0, (word) MapText←P120,
0, (word) MapRope←P60, 0, (word) ImagerFontImpl←P0,
{0}
};
static void NoName←Q3468()
{
register ptr gf←c0374 = (ptr) &globalframe;
word var←c36604;
(* (( (ptr) gf←c0374)+16) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0374)+20) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0374)+22) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
(* (( (ptr) gf←c0374)+23) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string4);
(* (( (ptr) gf←c0374)+24) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string4);
(* (( (ptr) gf←c0374)+27) ) = (word) XR←GetTypeIndexS((word) (&string9));
(* (( (ptr) gf←c0374)+28) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c0374)+29) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
(* (( (ptr) gf←c0374)+31) ) = (word) XR←GetTypeIndexS((word) (&string14));
(* (ptr) (( (bPt) gf←c0374)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0374)+23) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0374)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0374)+20) ), (word) &string16);
(void) XR←DeclareGlobalFrame((word) "ImagerFontImpl", &globalframe, (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18)
, (word) (( (bPt) gf←c0374)+400)/* var←c33212 */ );
var←c36604 = (word) XR←ImportInterface((word) "ImagerBox", (word) XR←GetTypeIndexS((word) (&string19)), 7);
(* (( (ptr) gf←c0374)+107)/* var←c35196 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 269484545);
var←c36604 = (word) XR←ImportInterface((word) &string20, (word) XR←GetTypeIndexS((word) (&string21)), 3);
(* (( (ptr) gf←c0374)+115)/* var←c35868 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 786435);
var←c36604 = (word) XR←ImportInterface((word) "ImagerError", (word) XR←GetTypeIndexS((word) (&string22)), 3);
(* (( (ptr) gf←c0374)+104)/* var←c33436 */ ) = var←c36604;
var←c36604 = (word) XR←ImportInterface((word) "ImagerManhattan", (word) XR←GetTypeIndexS((word) (&string23)), 24);
(* (( (ptr) gf←c0374)+111)/* var←c35708 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 263425);
(void) XR←ImportProcS(var←c36604, 268700673);
var←c36604 = (word) XR←ImportInterface((word) "ImagerMaskCache", (word) XR←GetTypeIndexS((word) (&string24)), 21);
(* (( (ptr) gf←c0374)+114)/* var←c35836 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 68682755);
(void) XR←ImportProcS(var←c36604, 68420354);
(void) XR←ImportProcS(var←c36604, 67372289);
var←c36604 = (word) XR←ImportInterface((word) "ImagerMaskCapture", (word) XR←GetTypeIndexS((word) (&string25)), 5);
(* (( (ptr) gf←c0374)+110)/* var←c35676 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 68158468);
var←c36604 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string26)), 60);
(* (( (ptr) gf←c0374)+113)/* var←c35804 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 68161027);
var←c36604 = (word) XR←ImportInterface((word) "ImagerSys", (word) XR←GetTypeIndexS((word) (&string27)), 15);
(* (( (ptr) gf←c0374)+105)/* var←c34012 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 68158210);
var←c36604 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string28)), 55);
(* (( (ptr) gf←c0374)+102)/* var←c33244 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 135013378);
(void) XR←ImportProcS(var←c36604, 67636994);
(void) XR←ImportProcS(var←c36604, 262401);
(void) XR←ImportProcS(var←c36604, 67635458);
(void) XR←ImportProcS(var←c36604, 269756930);
(void) XR←ImportProcS(var←c36604, 67371521);
(void) XR←ImportProcS(var←c36604, 67645698);
(void) XR←ImportProcS(var←c36604, 67371777);
var←c36604 = (word) XR←ImportInterface((word) &string29, (word) XR←GetTypeIndexS((word) (&string30)), 12);
(* (( (ptr) gf←c0374)+106)/* var←c34428 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 67633410);
(void) XR←ImportProcS(var←c36604, 67895299);
var←c36604 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string31)), 11);
(* (( (ptr) gf←c0374)+108)/* var←c35356 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 67371777);
(void) XR←ImportProcS(var←c36604, 67372033);
var←c36604 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string32)), 43);
(* (( (ptr) gf←c0374)+103)/* var←c33340 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 67903235);
(void) XR←ImportProcS(var←c36604, 67898627);
(void) XR←ImportProcS(var←c36604, 68163076);
var←c36604 = (word) XR←ImportInterface((word) "SF", (word) XR←GetTypeIndexS((word) (&string33)), 19);
(* (( (ptr) gf←c0374)+112)/* var←c35772 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 135270145);
var←c36604 = (word) XR←ImportInterface((word) "Vector2", (word) XR←GetTypeIndexS((word) (&string34)), 22);
(* (( (ptr) gf←c0374)+116)/* var←c36028 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 135266306);
(void) XR←ImportProcS(var←c36604, 135005698);
var←c36604 = (word) XR←ImportInterface((word) "Scaled", (word) XR←GetTypeIndexS((word) (&string35)), 19);
(* (( (ptr) gf←c0374)+109)/* var←c35580 */ ) = var←c36604;
(void) XR←ImportProcS(var←c36604, 67371777);
var←c36604 = (word) XR←ExportInterface((word) "ImagerFont", (word) XR←GetTypeIndexS((word) (&string36)), 26);
(* (( (ptr) gf←c0374)+117)/* var←c36636 */ ) = var←c36604;
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+392)/* var←c33180 */ , 1048580, (word) "MapRope");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+384)/* var←c33148 */ , 1048836, (word) "MapText");
(void) XR←ExportType((word) "TypefaceRep", (word) XR←GetTypeIndexS((word) (&string37)), (word) XR←GetTypeIndex((word) &string38, 0, (word) &string39)
);
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+336)/* var←c32956 */ , 67633922, (word) "Find");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+328)/* var←c32924 */ , 67634178, (word) "Modify");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+320)/* var←c32892 */ , 67634434, (word) "Scale");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+312)/* var←c32860 */ , 67634690, (word) "FindScaled");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+304)/* var←c32828 */ , 67634946, (word) "SelectAlternateMetrics")
;
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+296)/* var←c32796 */ , 67635202, (word) "Contains");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+288)/* var←c32764 */ , 67635458, (word) "NextChar");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+280)/* var←c32732 */ , 134744578, (word) "Escapement");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+272)/* var←c32700 */ , 67635970, (word) "Amplified");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+264)/* var←c32668 */ , 67636226, (word) "Correction");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+256)/* var←c32636 */ , 268963074, (word) "BoundingBox");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+248)/* var←c32604 */ , 268701185, (word) "FontBoundingBox");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+240)/* var←c32572 */ , 67374849, (word) "Name");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+232)/* var←c32540 */ , 135008259, (word) "Kern");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+224)/* var←c32508 */ , 67899651, (word) "NextKern");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+216)/* var←c32476 */ , 67899907, (word) "Ligature");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+208)/* var←c32444 */ , 67900163, (word) "NextLigature");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+176)/* var←c32316 */ , 135009283, (word) "StringEscapement");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+168)/* var←c32284 */ , 135533829, (word) "RopeEscapement");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+160)/* var←c32252 */ , 135534085, (word) "TextEscapement");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+152)/* var←c32220 */ , 269227779, (word) "StringBoundingBox")
;
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+144)/* var←c32188 */ , 269752325, (word) "RopeBoundingBox");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+136)/* var←c32156 */ , 269752581, (word) "TextBoundingBox");
var←c36604 = (word) XR←ExportInterface((word) &string20, (word) XR←GetTypeIndexS((word) (&string21)), 3);
(* (( (ptr) gf←c0374)+117)/* var←c36636 */ ) = var←c36604;
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+192)/* var←c32380 */ , 68157956, (word) "CaptureChar");
var←c36604 = (word) XR←ExportInterface((word) &string29, (word) XR←GetTypeIndexS((word) (&string30)), 12);
(* (( (ptr) gf←c0374)+117)/* var←c36636 */ ) = var←c36604;
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+368)/* var←c33084 */ , 67371777, (word) "TypefaceFromFont");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+360)/* var←c33052 */ , 67634178, (word) "MakeFont");
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+184)/* var←c32348 */ , 67896835, (word) "GeneralCaptureCharMask")
;
(void) XR←ExportProcS(var←c36604, (word) (( (bPt) gf←c0374)+352)/* var←c33020 */ , 2560, (word) "FlushFontCaches");
}
static void ImagerFontImpl←P0(formal←c068, formal←c067)
word formal←c068;
word formal←c067;
{
register ptr gf←c36668 = (ptr) &globalframe;
/* ImagerFontImpl: */
SOURCE(1027, 15075)
SOURCE(3642, 70)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) gf←c36668)+102)/* var←c33244 */ ))+7) );
(* (( (ptr) gf←c36668)+8)/* identityTransformation←v3840 */ ) = (word) ( *( (fPt) ((* (ptr) pd40 ))))((* (ptr) (&fc41) ), pd40)
;
};
SOURCE(3947, 51)
(* (( (ptr) gf←c36668)+9)/* hashTable←v4036 */ ) = XR←NewObject(2048, (* (( (ptr) gf←c36668)+16) ));
SOURCE(10491, 36)
*(float*)(( (ptr) gf←c36668)+13)/* boundsMin←v4932 */ = - (float)(unsigned)10000;
SOURCE(10529, 46)
(* (( (ptr) gf←c36668)+14)/* boundsMax←v4960 */ ) = (* (ptr) &fc42 );
}
static void MapRope←P60(formal←c0430, formal←c0431, formal←c0432, formal←c0433)
word formal←c0430;
word formal←c0431;
word formal←c0432;
word formal←c0433;
{
W12 var←c36700;
/* declaration of rope←v5304 skipped */
/* declaration of start←v5332 skipped */
/* declaration of len←v5360 skipped */
/* declaration of charAction←v5388 skipped */
register ptr gf←c36732 = (ptr) &globalframe;
/* declaration of var←c33308 skipped */
/* declaration of state←v10300 skipped */
/* declaration of set←v10328 skipped */
(* (( (ptr) &var←c36700)+4)/* rope←v5304 */ ) = formal←c0430;
(* (( (ptr) &var←c36700)+5)/* start←v5332 */ ) = formal←c0431;
(* (( (ptr) &var←c36700)+6)/* len←v5360 */ ) = formal←c0432;
(* (( (ptr) &var←c36700)+7)/* charAction←v5388 */ ) = formal←c0433;
/* MapRope: */
SOURCE(1822, 10856)
{
word tmpAddr43;
tmpAddr43 = (word) (( (ptr) &var←c36700)+8)/* var←c33308 */ ;
(* (ptr) tmpAddr43 ) = ( ((word) (fPt) byteAction←P2160) );
(* (( (ptr) tmpAddr43) + 1) ) = 1;
};
SOURCE(1920, 7)
(* (( (ptr) &var←c36700)+10)/* state←v10300 */ ) = 0;
SOURCE(1978, 21)
(* (( (ptr) &var←c36700)+11)/* set←v10328 */ ) = 0;
SOURCE(2578, 10100)
{
word var←c33372;
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c36732)+103)/* var←c33340 */ ))+26) );
var←c33372 = (word) ( *( (fPt) ((* (ptr) pd44 ))))((* (( (ptr) &var←c36700)+4)/* rope←v5304 */ ), (* (( (ptr) &var←c36700)+5)
/* start←v5332 */ ), (* (( (ptr) &var←c36700)+6)/* len←v5360 */ ), (word) (( (bPt) &var←c36700)+32)/* var←c33308 */ , pd44)
;
};
}
static word byteAction←P2160(c←v10588, formal←c36796)
word c←v10588;
word formal←c36796;
{
register ptr gf←c36764 = (ptr) &globalframe;
word var←c10632;
word b←v10660;
formal←c36796 = (formal←c36796 - 32);
/* byteAction: */
SOURCE(2001, 10677)
SOURCE(2001, 10677)
var←c10632 = 0;
SOURCE(2055, 16)
b←v10660 = c←v10588;
SOURCE(2073, 10605)
{
word var←c33404;
var←c33404 = (* (( (ptr) formal←c36796)+10) );
switch (var←c33404) {
case 0:
SOURCE(2098, 10580)
if ((b←v10660 == 255)) {
SOURCE(2112, 20)
(* (( (ptr) formal←c36796)+10) ) = 1;
}
else {
SOURCE(2134, 10544)
{
word pd45;
pd45 = (* (( (ptr) formal←c36796)+7) );
(void) ( *( (fPt) ((* (ptr) pd45 ))))((((* (( (ptr) formal←c36796)+11) ) << 8) + b←v10660), pd45);
};
};
break;
case 1:
SOURCE(2188, 58)
if ((b←v10660 == 255)) {
SOURCE(2202, 21)
(* (( (ptr) formal←c36796)+10) ) = 2;
}
else {
SOURCE(2225, 7)
(* (( (ptr) formal←c36796)+11) ) = b←v10660;
SOURCE(2234, 12)
(* (( (ptr) formal←c36796)+10) ) = 0;
};
break;
case 2:
SOURCE(2260, 10418)
if ((b←v10660 == 0)) {
SOURCE(2272, 22)
(* (( (ptr) formal←c36796)+10) ) = 3;
}
else {
SOURCE(2294, 10384)
{
word var←c33468;
{
word var←c33500;
word var←c33532;
var←c33500 = XR←NewObject(12, (* (( (ptr) gf←c36764)+22) ));
var←c33532 = var←c33500;
(* (ptr) var←c33532 ) = (* (( (ptr) gf←c36764)+32) );
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c36764)+103)/* var←c33340 */ ))+17) );
(* (( (ptr) var←c33532)+1) ) = (word) ( *( (fPt) ((* (ptr) pd46 ))))((* (( (ptr) formal←c36796)+4) ), (* (( (ptr) formal←c36796)+5)
), (* (( (ptr) formal←c36796)+6) ), pd46);
};
var←c33468 = var←c33500;
};
{
W3 var←c085;
var←c085.f0 = 44;
var←c085.f1 = (* (( (ptr) gf←c36764)+33) );
var←c085.f2 = var←c33468;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c36764)+104)/* var←c33436 */ ))+4) ), (word) &var←c085);
};
};
};
break;
case 3:
SOURCE(2423, 63)
if ((b←v10660 == 255)) {
SOURCE(2437, 20)
(* (( (ptr) formal←c36796)+10) ) = 1;
}
else {
SOURCE(2459, 7)
(* (( (ptr) formal←c36796)+11) ) = b←v10660;
SOURCE(2468, 18)
(* (( (ptr) formal←c36796)+10) ) = 4;
};
break;
case 4:
SOURCE(2504, 10174)
{
word pd47;
pd47 = (* (( (ptr) formal←c36796)+7) );
(void) ( *( (fPt) ((* (ptr) pd47 ))))((((* (( (ptr) formal←c36796)+11) ) << 8) + b←v10660), pd47);
};
SOURCE(2546, 17)
(* (( (ptr) formal←c36796)+10) ) = 3;
break;
};
};
SOURCE(2001, 10677)
return(var←c10632);
}
static void MapText←P120(text←v5448, start←v5476, len←v5504, charAction←v5532)
word text←v5448;
word start←v5476;
word len←v5504;
word charAction←v5532;
{
register ptr gf←c36828 = (ptr) &globalframe;
word rem←v10704;
word state←v10732 = 0;
word set←v10760 = 0;
/* MapText: */
SOURCE(2653, 10025)
SOURCE(2765, 28)
rem←v10704 = ( (unsigned) (* (hPt) text←v5448 ) - start←v5476);
SOURCE(2892, 9786)
{
register word i←v10960 = 0;
register word noName←c33628;
noName←c33628 = (MIN( (unsigned) , len←v5504, rem←v10704));
if ((i←v10960 >= noName←c33628)) {
goto lab←L100000;
};
lab←L100003: ;
{
word b←v11004;
SOURCE(2927, 28)
{
word var←c33660;
var←c33660 = (start←v5476 + i←v10960);
{
word limit48;
b←v11004 = (unsigned) (word) (* ((( (bPt) text←v5448)+4)+(
limit48 = (word) (unsigned) (* (( (hPt) text←v5448)+1) ),
BCK(var←c33660, limit48)
)) );
};
};
SOURCE(2957, 9721)
{
word var←c33692;
var←c33692 = state←v10732;
switch (var←c33692) {
case 0:
SOURCE(2982, 9696)
if ((b←v11004 == 255)) {
SOURCE(2996, 20)
state←v10732 = 1;
}
else {
SOURCE(3018, 9660)
(void) ( *( (fPt) ((* (ptr) charAction←v5532 ))))((((word) set←v10760 << 8) + b←v11004), charAction←v5532);
};
break;
case 1:
SOURCE(3072, 58)
if ((b←v11004 == 255)) {
SOURCE(3086, 21)
state←v10732 = 2;
}
else {
SOURCE(3109, 7)
set←v10760 = b←v11004;
SOURCE(3118, 12)
state←v10732 = 0;
};
break;
case 2:
SOURCE(3144, 9534)
if ((b←v11004 == 0)) {
SOURCE(3156, 22)
state←v10732 = 3;
}
else {
SOURCE(3178, 9500)
{
word var←c33724;
{
word var←c33756;
word var←c33788;
var←c33756 = XR←NewObject(12, (* (( (ptr) gf←c36828)+22) ));
var←c33788 = var←c33756;
(* (ptr) var←c33788 ) = (* (( (ptr) gf←c36828)+32) );
{
/*1*/ word var←c33852;
/*1*/ {
/*1*/ word pd49;
/*1*/ pd49 = (* (( (ptr) (* (( (ptr) gf←c36828)+103)/* var←c33340 */ ))+35) );
/*1*/ var←c33852 = (word) ( *( (fPt) ((* (ptr) pd49 ))))(text←v5448, 0, 32767, pd49);
/*1*/ };
/*1*/ {
/*1*/ word pd50;
/*1*/ pd50 = (* (( (ptr) (* (( (ptr) gf←c36828)+103)/* var←c33340 */ ))+17) );
/*1*/ (* (( (ptr) var←c33788)+1) ) = (word) ( *( (fPt) ((* (ptr) pd50 ))))(var←c33852, start←v5476, len←v5504, pd50);
/*1*/ };
/*1*/ };
var←c33724 = var←c33756;
};
{
W3 var←c0103;
var←c0103.f0 = 44;
var←c0103.f1 = (* (( (ptr) gf←c36828)+33) );
var←c0103.f2 = var←c33724;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c36828)+104)/* var←c33436 */ ))+4) ), (word) &var←c0103);
};
};
};
break;
case 3:
SOURCE(3325, 63)
if ((b←v11004 == 255)) {
SOURCE(3339, 20)
state←v10732 = 1;
}
else {
SOURCE(3361, 7)
set←v10760 = b←v11004;
SOURCE(3370, 18)
state←v10732 = 4;
};
break;
case 4:
SOURCE(3406, 9272)
(void) ( *( (fPt) ((* (ptr) charAction←v5532 ))))((((word) set←v10760 << 8) + b←v11004), charAction←v5532);
SOURCE(3448, 17)
state←v10732 = 3;
break;
};
};
};
i←v10960 = (i←v10960 + 1);
if ((i←v10960 < noName←c33628)) {
goto lab←L100003;
};
lab←L100000: ;
};
}
static word Hash←P180(typeface←v5808, m←v5836)
word typeface←v5808;
word m←v5836;
{
register ptr gf←c36860 = (ptr) &globalframe;
word var←c5880;
W11 hashRec←v11076;
/* Hash: */
SOURCE(4057, 8621)
SOURCE(4234, 33)
(* (ptr) &hashRec←v11076 ) = typeface←v5808;
(* (W10Pt) (( (ptr) &hashRec←v11076)+1) ) = (* (W10Pt) m←v5836 );
SOURCE(4277, 8401)
SOURCE(4279, 8399)
{
word var←c0409;
{
W3 var←c33980;
var←c33980.f0 = (word) &hashRec←v11076;
var←c33980.f1 = 0;
var←c33980.f2 = 44;
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c36860)+105)/* var←c34012 */ ))+7) );
var←c0409 = (word) ( *( (fPt) ((* (ptr) pd51 ))))(var←c33980, 0, pd51);
};
};
return(var←c0409);
};
}
static word TypefaceFromFont←P240(font←v5940)
word font←v5940;
{
word var←c5984;
/* TypefaceFromFont: */
SOURCE(4393, 89)
SOURCE(4459, 23)
return((* (( (ptr) font←v5940)+1) ));
}
static word MakeFont←P300(formal←c0434, formal←c0435)
word formal←c0434;
word formal←c0435;
{
W13 var←c36892;
/* declaration of typeface←v6044 skipped */
/* declaration of m←v6072 skipped */
/* declaration of var←c01 skipped */
word var←c6116;
/* declaration of var←c34044 skipped */
(* (( (ptr) &var←c36892)+4)/* typeface←v6044 */ ) = formal←c0434;
(* (( (ptr) &var←c36892)+5)/* m←v6072 */ ) = formal←c0435;
/* MakeFont: */
SOURCE(4486, 8192)
{
word tmpAddr52;
tmpAddr52 = (word) (( (ptr) &var←c36892)+7)/* var←c34044 */ ;
(* (ptr) tmpAddr52 ) = ( ((word) (fPt) UpdateFontList←P2364) );
(* (( (ptr) tmpAddr52) + 1) ) = 1;
};
SOURCE(4567, 8111)
{
/* declaration of hash←v11192 skipped */
/* declaration of hashIndex←v11220 skipped */
/* declaration of font←v11248 skipped */
/* declaration of head←v11276 skipped */
word var←c02;
{
word var←c0410;
var←c0410 = (word) &var←c36892;
var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q3528) ), ( ((word) (fPt) NoName←Q3708) ), var←c0410);
};
/* removed trivial cond node */
};
return((* (( (ptr) &var←c36892)+6)/* var←c01 */ ));
}
static word NoName←Q3528(formal←c0382)
word formal←c0382;
{
register ptr gf←c0381 = (ptr) &globalframe;
SOURCE(4590, 34)
SOURCE(4590, 34)
(* (( (ptr) formal←c0382)+9) ) = (word) Hash←P180((* (( (ptr) formal←c0382)+4) ), (* (( (ptr) formal←c0382)+5) ));
SOURCE(4626, 45)
(* (( (ptr) formal←c0382)+10) ) = ((* (( (ptr) formal←c0382)+9) ) & 0777);
SOURCE(4673, 16)
(* (( (ptr) formal←c0382)+11) ) = 0;
SOURCE(4691, 37)
(* (( (ptr) formal←c0382)+12) ) = (* (( (ptr) (* (( (ptr) gf←c0381)+9)/* hashTable←v4036 */ ))+(* (( (ptr) formal←c0382)+10)
)) );
SOURCE(5291, 7387)
if (((* (( (ptr) (* (( (ptr) formal←c0382)+4) ))+5) ) == 0)) {
SOURCE(5319, 558)
{
word info←v11364;
SOURCE(5321, 75)
info←v11364 = XR←NewObject(1024, (* (( (ptr) gf←c0381)+27) ));
XR←FillWords(&(* (W256Pt) (info←v11364)), 256, 536870912);
SOURCE(5398, 7280)
{
register word code←v11408 = 0;
lab←L100009: ;
{
word char←v11452;
word exists←v11480;
word amplified←v11508;
word correction←v11536;
SOURCE(5424, 43)
char←v11452 = code←v11408;
SOURCE(5469, 54)
{
word pd53;
pd53 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c0382)+4) ) ))+2) );
exists←v11480 = (word) ( *( (fPt) ((* (ptr) pd53 ))))((* (( (ptr) formal←c0382)+4) ), char←v11452, pd53);
};
SOURCE(5525, 58)
{
word pd54;
pd54 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c0382)+4) ) ))+5) );
amplified←v11508 = (word) ( *( (fPt) ((* (ptr) pd54 ))))((* (( (ptr) formal←c0382)+4) ), char←v11452, pd54);
};
SOURCE(5585, 70)
{
word pd55;
pd55 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c0382)+4) ) ))+6) );
correction←v11536 = (word) ( *( (fPt) ((* (ptr) pd55 ))))((* (( (ptr) formal←c0382)+4) ), char←v11452, pd55);
};
SOURCE(5657, 7021)
(* (( (ptr) info←v11364)+code←v11408) ) = ((word) (((word) (((word) (unsigned) (exists←v11480 & 1) << 1) + (unsigned) (amplified←v11508 & 1)) << 2) +
(unsigned) (correction←v11536 & 3)) << 28);
};
if ((code←v11408 >= 255)) {
goto lab←L100006;
};
code←v11408 = (code←v11408 + 1);
goto lab←L100009;
lab←L100006: ;
};
SOURCE(5743, 20)
(* (( (ptr) (* (( (ptr) formal←c0382)+4) ))+5) ) = info←v11364;
};
};
SOURCE(5880, 16)
(void) UpdateFontList←P2364((word) ((( (bPt) formal←c0382)+28)));
SOURCE(5898, 13)
(* (( (ptr) formal←c0382)+6) ) = (* (( (ptr) formal←c0382)+11) );
return(1);
/* c2c skipped dead code */
}
static void UpdateFontList←P2364(formal←c36956)
word formal←c36956;
{
register ptr gf←c36924 = (ptr) &globalframe;
formal←c36956 = (formal←c36956 - 28);
/* UpdateFontList: */
SOURCE(4730, 29)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c36924)+16)/* LOCK←v3336 */ ));
SOURCE(4761, 7917)
{
register word each←v11580;
each←v11580 = (* (( (ptr) formal←c36956)+12) );
lab←L100013: ;
if ((each←v11580 != 0)) {
}
else {
goto lab←L100010;
};
{
W2 node←v11624;
SOURCE(4816, 23)
node←v11624 = (* (W2Pt) each←v11580 );
SOURCE(4841, 7837)
{
word tc56;
word pd57;
if ( ( (node←v11624.f0 == (* (( (ptr) formal←c36956)+9) )) ? ((* (( (ptr) node←v11624.f1)+1) ) == (* (( (ptr) formal←c36956)+4)
)) : 0 ) ) {
pd57 = (* (( (ptr) (* (( (ptr) gf←c36924)+102)/* var←c33244 */ ))+53) );
tc56 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd57 ))))((* (ptr) node←v11624.f1 ), (* (( (ptr) formal←c36956)+5) ), pd57)
);
}
else {
tc56 = (word) 0;
};
if (tc56) {
SOURCE(4960, 16)
(* (( (ptr) formal←c36956)+11) ) = node←v11624.f1;
SOURCE(4978, 5)
goto lab←L100011;
}
else {
SOURCE(4990, 17)
(* (( (ptr) gf←c36924)+12)/* misses←v4120 */ ) = ((* (( (ptr) gf←c36924)+12)/* misses←v4120 */ ) + 1);
};
};
};
each←v11580 = (* (( (ptr) each←v11580)+2) );
goto lab←L100013;
lab←L100010: ;
lab←L100011: ;
};
SOURCE(5018, 7660)
if (((* (( (ptr) formal←c36956)+11) ) == 0)) {
SOURCE(5071, 7607)
{
word var←c34140;
word var←c34172;
{
word pd58;
pd58 = (* (( (ptr) (* (( (ptr) gf←c36924)+102)/* var←c33244 */ ))+6) );
var←c34140 = (word) ( *( (fPt) ((* (ptr) pd58 ))))((* ((( (ptr) formal←c36956)+5)) ), pd58);
};
var←c34172 = XR←NewObject(8, (* (( (ptr) gf←c36924)+28) ));
(* (ptr) var←c34172 ) = var←c34140;
(* (( (ptr) var←c34172)+1) ) = (* (( (ptr) formal←c36956)+4) );
(* (( (ptr) formal←c36956)+11) ) = var←c34172;
};
SOURCE(5159, 7519)
{
word var←c34204;
var←c34204 = XR←NewObject(12, (* (( (ptr) gf←c36924)+29) ));
(* (ptr) var←c34204 ) = (* (( (ptr) formal←c36956)+9) );
(* (( (ptr) var←c34204)+1) ) = (* (( (ptr) formal←c36956)+11) );
(* (( (ptr) var←c34204)+2) ) = (* (( (ptr) formal←c36956)+12) );
(* (( (ptr) (* (( (ptr) gf←c36924)+9)/* hashTable←v4036 */ ))+(* (( (ptr) formal←c36956)+10) )) ) = var←c34204;
};
SOURCE(5220, 19)
(* (( (ptr) gf←c36924)+10)/* entries←v4064 */ ) = ((* (( (ptr) gf←c36924)+10)/* entries←v4064 */ ) + 1);
SOURCE(5241, 42)
if (((* (( (ptr) formal←c36956)+12) ) != 0)) {
SOURCE(5258, 25)
(* (( (ptr) gf←c36924)+11)/* collisions←v4092 */ ) = ((* (( (ptr) gf←c36924)+11)/* collisions←v4092 */ ) + 1);
};
};
SOURCE(4730, 29)
(void) (XR←MonitorExit((word) (( (bPt) gf←c36924)+16)/* LOCK←v3336 */ ));
return;
}
static void FlushFontCaches←P360()
{
register ptr gf←c36988 = (ptr) &globalframe;
/* FlushFontCaches: */
SOURCE(5917, 101)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c36988)+16)/* LOCK←v3336 */ ));
SOURCE(5956, 21)
{
word var←c34236;
var←c34236 = (* (( (ptr) gf←c36988)+9)/* hashTable←v4036 */ );
XR←FillWords(&(* (W512Pt) (var←c34236)), 512, 0);
};
SOURCE(5979, 11)
(* (( (ptr) gf←c36988)+10)/* entries←v4064 */ ) = 0;
SOURCE(5992, 14)
(* (( (ptr) gf←c36988)+11)/* collisions←v4092 */ ) = 0;
SOURCE(6008, 10)
(* (( (ptr) gf←c36988)+12)/* misses←v4120 */ ) = 0;
SOURCE(5917, 101)
(void) (XR←MonitorExit((word) (( (bPt) gf←c36988)+16)/* LOCK←v3336 */ ));
return;
}
static void TransformExtents←P540(formal←c0139, m←v6400, e←v6428)
word formal←c0139;
word m←v6400;
W4 e←v6428;
{
register ptr gf←c37020 = (ptr) &globalframe;
W4 var←c6472;
/* TransformExtents: */
SOURCE(6353, 6325)
SOURCE(6430, 6248)
{
W4 var←c34396;
{
W4 var←c34300;
W4 r←v32108;
{
W4 var←c0138;
{
W4 var←c34332;
{
word x59;
*(float*)&var←c34332.f0 = - (
x59 = e←v6428.f0, *(float*)&x59
);
};
{
word x60;
*(float*)&var←c34332.f1 = - (
x60 = e←v6428.f2, *(float*)&x60
);
};
{
word x61;
word x62;
*(float*)&var←c34332.f2 = (
x61 = e←v6428.f0, *(float*)&x61
) + (
x62 = e←v6428.f1, *(float*)&x62
);
};
{
word x63;
word x64;
*(float*)&var←c34332.f3 = (
x63 = e←v6428.f2, *(float*)&x63
) + (
x64 = e←v6428.f3, *(float*)&x64
);
};
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c37020)+102)/* var←c33244 */ ))+46) );
(void) ( *( (fPt) ((* (ptr) pd65 ))))((word) &var←c0138, m←v6400, var←c34332, pd65);
};
};
r←v32108 = var←c0138;
};
SOURCE(6267, 6411)
{
word x66;
*(float*)&var←c34300.f0 = - (
x66 = r←v32108.f0, *(float*)&x66
);
};
{
word x67;
word x68;
*(float*)&var←c34300.f1 = (
x67 = r←v32108.f0, *(float*)&x67
) + (
x68 = r←v32108.f2, *(float*)&x68
);
};
{
word x69;
*(float*)&var←c34300.f2 = - (
x69 = r←v32108.f1, *(float*)&x69
);
};
{
word x70;
word x71;
*(float*)&var←c34300.f3 = (
x70 = r←v32108.f1, *(float*)&x70
) + (
x71 = r←v32108.f3, *(float*)&x71
);
};
var←c34396 = var←c34300;
};
var←c6472 = var←c34396;
/* removed tail goto */
};
(* (W4Pt) formal←c0139 ) = var←c6472;
return;
}
static word Find←P600(name←v6532, substitution←v6560)
word name←v6532;
word substitution←v6560;
{
register ptr gf←c37052 = (ptr) &globalframe;
word var←c6604;
word typeface←v11668;
/* Find: */
SOURCE(6510, 6168)
SOURCE(6599, 68)
{
word pd72;
pd72 = (* (( (ptr) (* (( (ptr) gf←c37052)+106)/* var←c34428 */ ))+4) );
typeface←v11668 = (word) ( *( (fPt) ((* (ptr) pd72 ))))(name←v6532, substitution←v6560, 0, pd72);
};
SOURCE(6695, 5983)
return((word) MakeFont←P300(typeface←v11668, (* (( (ptr) gf←c37052)+8)/* identityTransformation←v3840 */ )));
}
static word Modify←P660(font←v6664, m←v6692)
word font←v6664;
word m←v6692;
{
register ptr gf←c37084 = (ptr) &globalframe;
word modifiedFont←v6736;
word modifiedTransformation←v11712;
/* Modify: */
SOURCE(6751, 5927)
SOURCE(6751, 5927)
modifiedFont←v6736 = 0;
SOURCE(6836, 90)
{
word pd73;
pd73 = (* (( (ptr) (* (( (ptr) gf←c37084)+102)/* var←c33244 */ ))+13) );
modifiedTransformation←v11712 = (word) ( *( (fPt) ((* (ptr) pd73 ))))((* (ptr) font←v6664 ), m←v6692, pd73);
};
SOURCE(6928, 5750)
modifiedFont←v6736 = (word) MakeFont←P300((* (( (ptr) font←v6664)+1) ), modifiedTransformation←v11712);
SOURCE(6992, 52)
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c37084)+102)/* var←c33244 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd74 ))))(modifiedTransformation←v11712, pd74);
};
SOURCE(6751, 5927)
return(modifiedFont←v6736);
}
static word Scale←P720(font←v6796, s←v6824)
word font←v6796;
word s←v6824;
{
register ptr gf←c37116 = (ptr) &globalframe;
word modifiedFont←v6868;
word modifiedTransformation←v11756;
/* Scale: */
SOURCE(7050, 5628)
SOURCE(7050, 5628)
modifiedFont←v6868 = 0;
SOURCE(7124, 93)
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c37116)+102)/* var←c33244 */ ))+19) );
modifiedTransformation←v11756 = (word) ( *( (fPt) ((* (ptr) pd75 ))))((* (ptr) font←v6796 ), s←v6824, pd75);
};
SOURCE(7219, 5459)
modifiedFont←v6868 = (word) MakeFont←P300((* (( (ptr) font←v6796)+1) ), modifiedTransformation←v11756);
SOURCE(7283, 52)
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c37116)+102)/* var←c33244 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd76 ))))(modifiedTransformation←v11756, pd76);
};
SOURCE(7050, 5628)
return(modifiedFont←v6868);
}
static word FindScaled←P780(name←v6928, s←v6956)
word name←v6928;
word s←v6956;
{
word var←c7000;
/* FindScaled: */
SOURCE(7341, 5337)
SOURCE(7406, 5272)
{
word var←c34524;
var←c34524 = (word) Find←P600(name←v6928, 1);
return((word) Scale←P720(var←c34524, s←v6956));
};
}
static word SelectAlternateMetrics←P840(font←v7060, alternateMetrics←v7088)
word font←v7060;
word alternateMetrics←v7088;
{
register ptr gf←c37148 = (ptr) &globalframe;
word var←c7132;
word typeface←v11800;
word newTypeface←v11828;
/* SelectAlternateMetrics: */
SOURCE(7463, 5215)
SOURCE(7555, 34)
typeface←v11800 = (* (( (ptr) font←v7060)+1) );
SOURCE(7591, 97)
{
word pd77;
pd77 = (* (( (ptr) (* (( (ptr) gf←c37148)+106)/* var←c34428 */ ))+5) );
newTypeface←v11828 = (word) ( *( (fPt) ((* (ptr) pd77 ))))(typeface←v11800, alternateMetrics←v7088, pd77);
};
SOURCE(7716, 4962)
return((word) MakeFont←P300(newTypeface←v11828, (* (ptr) font←v7060 )));
}
static word Contains←P900(font←v7192, char←v7220)
word font←v7192;
word char←v7220;
{
word var←c7264;
word typeface←v11872;
/* Contains: */
SOURCE(7770, 4908)
SOURCE(7837, 34)
typeface←v11872 = (* (( (ptr) font←v7192)+1) );
SOURCE(7873, 4805)
if ( ( (((word) char←v7220 >> 8) == 0) ? ((* (( (ptr) typeface←v11872)+5) ) != 0) : 0 ) ) {
SOURCE(7920, 4758)
return( (unsigned) ((int)(* (( (ptr) (* (( (ptr) typeface←v11872)+5) ))+(char←v7220 & 0377)) )<0));
}
else {
SOURCE(7971, 4707)
{
word pd78;
pd78 = (* (( (ptr) (* (ptr) typeface←v11872 ))+2) );
return((word) ( *( (fPt) ((* (ptr) pd78 ))))(typeface←v11872, char←v7220, pd78));
};
};
}
static word NextChar←P960(font←v7324, char←v7352)
word font←v7324;
word char←v7352;
{
word next←v7396;
word typeface←v11916;
/* NextChar: */
SOURCE(8024, 4654)
SOURCE(8098, 34)
typeface←v11916 = (* (( (ptr) font←v7324)+1) );
SOURCE(8134, 4544)
{
word pd79;
pd79 = (* (( (ptr) (* (ptr) typeface←v11916 ))+3) );
return((word) ( *( (fPt) ((* (ptr) pd79 ))))(typeface←v11916, char←v7352, pd79));
};
}
static void Escapement←P1020(formal←c0177, font←v7456, char←v7484)
word formal←c0177;
word font←v7456;
word char←v7484;
{
register ptr gf←c37180 = (ptr) &globalframe;
W2 var←c7528;
word typeface←v11960;
W2 escapement←v11988;
/* Escapement: */
SOURCE(8187, 4491)
SOURCE(8255, 34)
typeface←v11960 = (* (( (ptr) font←v7456)+1) );
SOURCE(8291, 59)
{
word pd80;
pd80 = (* (( (ptr) (* (ptr) typeface←v11960 ))+4) );
(void) ( *( (fPt) ((* (ptr) pd80 ))))((word) &escapement←v11988, typeface←v11960, char←v7484, pd80);
};
SOURCE(8352, 4326)
{
W2 var←c34684;
{
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c37180)+102)/* var←c33244 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd81 ))))((word) &var←c34684, (* (ptr) font←v7456 ), escapement←v11988, pd81);
};
var←c7528 = var←c34684;
/* removed tail goto */
};
(* (W2Pt) formal←c0177 ) = var←c7528;
return;
}
static word Amplified←P1080(font←v7588, char←v7616)
word font←v7588;
word char←v7616;
{
word var←c7660;
word typeface←v12032;
/* Amplified: */
SOURCE(8408, 4270)
SOURCE(8476, 34)
typeface←v12032 = (* (( (ptr) font←v7588)+1) );
SOURCE(8512, 4166)
if ( ( (((word) char←v7616 >> 8) == 0) ? ((* (( (ptr) typeface←v12032)+5) ) != 0) : 0 ) ) {
SOURCE(8559, 4119)
return( (unsigned) (((unsigned)(* (( (ptr) (* (( (ptr) typeface←v12032)+5) ))+(char←v7616 & 0377)) ) << 1) >> 31));
}
else {
SOURCE(8613, 4065)
{
word pd82;
pd82 = (* (( (ptr) (* (ptr) typeface←v12032 ))+5) );
return((word) ( *( (fPt) ((* (ptr) pd82 ))))(typeface←v12032, char←v7616, pd82));
};
};
}
static word Correction←P1140(font←v7720, char←v7748)
word font←v7720;
word char←v7748;
{
word var←c7792;
word typeface←v12076;
/* Correction: */
SOURCE(8667, 4011)
SOURCE(8746, 34)
typeface←v12076 = (* (( (ptr) font←v7720)+1) );
SOURCE(8782, 3896)
if ( ( (((word) char←v7748 >> 8) == 0) ? ((* (( (ptr) typeface←v12076)+5) ) != 0) : 0 ) ) {
SOURCE(8829, 3849)
return( (unsigned) (((unsigned)(* (( (ptr) (* (( (ptr) typeface←v12076)+5) ))+(char←v7748 & 0377)) ) << 2) >> 30));
}
else {
SOURCE(8884, 3794)
{
word pd83;
pd83 = (* (( (ptr) (* (ptr) typeface←v12076 ))+6) );
return((word) ( *( (fPt) ((* (ptr) pd83 ))))(typeface←v12076, char←v7748, pd83));
};
};
}
static void BoundingBox←P1200(formal←c0194, font←v7852, char←v7880)
word formal←c0194;
word font←v7852;
word char←v7880;
{
W4 var←c7924;
word typeface←v12120;
W4 charExtents←v12148;
/* BoundingBox: */
SOURCE(8939, 3739)
SOURCE(9012, 34)
typeface←v12120 = (* (( (ptr) font←v7852)+1) );
SOURCE(9048, 65)
{
word pd84;
pd84 = (* (( (ptr) (* (ptr) typeface←v12120 ))+7) );
(void) ( *( (fPt) ((* (ptr) pd84 ))))((word) &charExtents←v12148, typeface←v12120, char←v7880, pd84);
};
SOURCE(9115, 3563)
{
W4 var←c34812;
(void) TransformExtents←P540((word) &var←c34812, (* (ptr) font←v7852 ), charExtents←v12148);
var←c7924 = var←c34812;
/* removed tail goto */
};
(* (W4Pt) formal←c0194 ) = var←c7924;
return;
}
static void FontBoundingBox←P1260(formal←c0204, font←v7984)
word formal←c0204;
word font←v7984;
{
register ptr gf←c37212 = (ptr) &globalframe;
W4 var←c8028;
word typeface←v12192;
/* FontBoundingBox: */
SOURCE(9177, 3501)
SOURCE(9241, 34)
typeface←v12192 = (* (( (ptr) font←v7984)+1) );
SOURCE(9277, 3401)
if (((* (( (ptr) typeface←v12192)+6) ) == 0)) {
SOURCE(9314, 3364)
{
word var←c34844;
{
W4 var←c34876;
word var←c34908;
{
word pd85;
pd85 = (* (( (ptr) (* (ptr) typeface←v12192 ))+8) );
(void) ( *( (fPt) ((* (ptr) pd85 ))))((word) &var←c34876, typeface←v12192, pd85);
};
var←c34908 = XR←NewObject(16, (* (( (ptr) gf←c37212)+31) ));
(* (W4Pt) var←c34908 ) = var←c34876;
var←c34844 = var←c34908;
};
(* (( (ptr) typeface←v12192)+6) ) = var←c34844;
};
};
SOURCE(9397, 3281)
{
W4 var←c34972;
(void) TransformExtents←P540((word) &var←c34972, (* (ptr) font←v7984 ), (* (W4Pt) (* (( (ptr) typeface←v12192)+6) ) ));
var←c8028 = var←c34972;
/* removed tail goto */
};
(* (W4Pt) formal←c0204 ) = var←c8028;
return;
}
static word Name←P1320(font←v8088)
word font←v8088;
{
word var←c8132;
word typeface←v12236;
/* Name: */
SOURCE(9469, 108)
SOURCE(9519, 34)
typeface←v12236 = (* (( (ptr) font←v8088)+1) );
SOURCE(9555, 22)
return((* (( (ptr) typeface←v12236)+2) ));
}
static void Kern←P1380(formal←c0215, font←v8192, char←v8220, successor←v8248)
word formal←c0215;
word font←v8192;
word char←v8220;
word successor←v8248;
{
W2 var←c8292;
word typeface←v12280;
/* Kern: */
SOURCE(9583, 3095)
SOURCE(9656, 34)
typeface←v12280 = (* (( (ptr) font←v8192)+1) );
SOURCE(9692, 2986)
{
W2 var←c35036;
{
word pd86;
pd86 = (* (( (ptr) (* (ptr) typeface←v12280 ))+11) );
(void) ( *( (fPt) ((* (ptr) pd86 ))))((word) &var←c35036, typeface←v12280, char←v8220, successor←v8248, pd86);
};
var←c8292 = var←c35036;
/* removed tail goto */
};
(* (W2Pt) formal←c0215 ) = var←c8292;
return;
}
static word NextKern←P1440(font←v8352, char←v8380, successor←v8408)
word font←v8352;
word char←v8380;
word successor←v8408;
{
word var←c8452;
word typeface←v12324;
/* NextKern: */
SOURCE(9752, 2926)
SOURCE(9831, 34)
typeface←v12324 = (* (( (ptr) font←v8352)+1) );
SOURCE(9867, 2811)
{
word pd87;
pd87 = (* (( (ptr) (* (ptr) typeface←v12324 ))+12) );
return((word) ( *( (fPt) ((* (ptr) pd87 ))))(typeface←v12324, char←v8380, successor←v8408, pd87));
};
}
static word Ligature←P1500(font←v8512, char←v8540, successor←v8568)
word font←v8512;
word char←v8540;
word successor←v8568;
{
word var←c8612;
word typeface←v12368;
/* Ligature: */
SOURCE(9931, 2747)
SOURCE(10010, 34)
typeface←v12368 = (* (( (ptr) font←v8512)+1) );
SOURCE(10046, 2632)
{
word pd88;
pd88 = (* (( (ptr) (* (ptr) typeface←v12368 ))+9) );
return((word) ( *( (fPt) ((* (ptr) pd88 ))))(typeface←v12368, char←v8540, successor←v8568, pd88));
};
}
static word NextLigature←P1560(font←v8672, char←v8700, successor←v8728)
word font←v8672;
word char←v8700;
word successor←v8728;
{
word var←c8772;
word typeface←v12412;
/* NextLigature: */
SOURCE(10110, 2568)
SOURCE(10193, 34)
typeface←v12412 = (* (( (ptr) font←v8672)+1) );
SOURCE(10229, 2449)
{
word pd89;
pd89 = (* (( (ptr) (* (ptr) typeface←v12412 ))+10) );
return((word) ( *( (fPt) ((* (ptr) pd89 ))))(typeface←v12412, char←v8700, successor←v8728, pd89));
};
}
static word RangeClip←P1620(real←v8832)
word real←v8832;
{
register ptr gf←c37244 = (ptr) &globalframe;
word var←c8876;
/* RangeClip: */
SOURCE(10577, 93)
SOURCE(10625, 45)
{
word x90;
float tf91;
float tf92;
word x93;
float tf94;
float tf95;
word x96;
float tf97;
return((
tf97 = FMIN(FMAX((
x90 = real←v8832, *(float*)&x90
), (
x93 = (* (( (ptr) gf←c37244)+13)/* boundsMin←v4932 */ ), *(float*)&x93
), tf91, tf92), (
x96 = (* (( (ptr) gf←c37244)+14)/* boundsMax←v4960 */ ), *(float*)&x96
), tf94, tf95), *(word*)&tf97
));
};
}
static word CaptureChar←P1680(font←v8936, char←v8964, parameters←v8992, metricsOnly←v9020)
word font←v8936;
word char←v8964;
word parameters←v8992;
word metricsOnly←v9020;
{
register ptr gf←c37276 = (ptr) &globalframe;
word charMask←v9064;
W2 escapement←v12456;
W4 bounds←v12484;
/* CaptureChar: */
SOURCE(10673, 2005)
SOURCE(10673, 2005)
charMask←v9064 = 0;
SOURCE(10830, 40)
(void) Escapement←P1020((word) &escapement←v12456, font←v8936, char←v8964);
SOURCE(10872, 73)
{
W4 var←c35164;
(void) BoundingBox←P1200((word) &var←c35164, font←v8936, char←v8964);
{
W4 var←c0243;
{
word pd98;
pd98 = (* (( (ptr) (* (( (ptr) gf←c37276)+107)/* var←c35196 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd98 ))))((word) &var←c0243, var←c35164, pd98);
};
bounds←v12484 = var←c0243;
};
};
SOURCE(10947, 1731)
{
word tc99;
word tc100;
word tc101;
word tc102;
word tc103;
float tf104;
word x105;
word x107;
float tf108;
word x109;
word x110;
word x111;
word x112;
word x113;
word x114;
word x115;
word x116;
word x117;
word x118;
if ((FABS((
x105 = escapement←v12456.f0, *(float*)&x105
), tf104) <= (
x107 = (* (ptr) &fc106 ), *(float*)&x107
))) {
tc103 = (word) (FABS((
x109 = escapement←v12456.f1, *(float*)&x109
), tf108) <= (
x110 = (* (ptr) &fc106 ), *(float*)&x110
));
}
else {
tc103 = (word) 0;
};
if (tc103) {
tc102 = (word) ((
x111 = bounds←v12484.f0, *(float*)&x111
) >= (
x112 = (* (( (ptr) gf←c37276)+13)/* boundsMin←v4932 */ ), *(float*)&x112
));
}
else {
tc102 = (word) 0;
};
if (tc102) {
tc101 = (word) ((
x113 = bounds←v12484.f1, *(float*)&x113
) >= (
x114 = (* (( (ptr) gf←c37276)+13)/* boundsMin←v4932 */ ), *(float*)&x114
));
}
else {
tc101 = (word) 0;
};
if (tc101) {
tc100 = (word) ((
x115 = bounds←v12484.f2, *(float*)&x115
) <= (
x116 = (* (( (ptr) gf←c37276)+14)/* boundsMax←v4960 */ ), *(float*)&x116
));
}
else {
tc100 = (word) 0;
};
if (tc100) {
tc99 = (word) ((
x117 = bounds←v12484.f3, *(float*)&x117
) <= (
x118 = (* (( (ptr) gf←c37276)+14)/* boundsMax←v4960 */ ), *(float*)&x118
));
}
else {
tc99 = (word) 0;
};
if (tc99) {
if ((0 != metricsOnly←v9020)) {
}
else {
{
word x119;
word x120;
word x122;
word x123;
word x124;
word x125;
if ( ( ((
x119 = bounds←v12484.f2, *(float*)&x119
) - (
x120 = bounds←v12484.f0, *(float*)&x120
) <= (
x122 = (* (ptr) &fc121 ), *(float*)&x122
)) ? ((
x123 = bounds←v12484.f3, *(float*)&x123
) - (
x124 = bounds←v12484.f1, *(float*)&x124
) <= (
x125 = (* (ptr) &fc121 ), *(float*)&x125
)) : 0 ) ) {
SOURCE(11256, 358)
{
word typeface←v12528;
SOURCE(11258, 34)
typeface←v12528 = (* (( (ptr) font←v8936)+1) );
SOURCE(11294, 1384)
if (((* (( (ptr) (* (ptr) typeface←v12528 ))+14) ) != 0)) {
SOURCE(11338, 1340)
{
word pd126;
pd126 = (* (( (ptr) (* (ptr) typeface←v12528 ))+14) );
charMask←v9064 = (word) ( *( (fPt) ((* (ptr) pd126 ))))(parameters←v8992, font←v8936, char←v8964, pd126);
};
};
SOURCE(11405, 1273)
if ( ( (charMask←v9064 == 0) ? ((* (( (ptr) parameters←v8992)+1) ) != 0) : 0 ) ) {
SOURCE(11464, 1214)
{
word pd127;
pd127 = (* (( (ptr) parameters←v8992)+1) );
charMask←v9064 = (word) ( *( (fPt) ((* (ptr) pd127 ))))(parameters←v8992, font←v8936, char←v8964, pd127);
};
};
SOURCE(11527, 1151)
if ((charMask←v9064 == 0)) {
SOURCE(11552, 1126)
charMask←v9064 = (word) GeneralCaptureCharMask←P1740(parameters←v8992, font←v8936, char←v8964);
};
};
};
};
};
};
};
SOURCE(11637, 1041)
if ((charMask←v9064 == 0)) {
SOURCE(11662, 104)
if ((0 != metricsOnly←v9020)) {
SOURCE(11682, 40)
{
word var←c35228;
var←c35228 = XR←NewObject(40, (* (( (ptr) gf←c37276)+24) ));
(* (( (ptr) var←c35228)+9) ) = 2;
charMask←v9064 = var←c35228;
};
}
else {
SOURCE(11722, 44)
{
word var←c35260;
var←c35260 = XR←NewObject(40, (* (( (ptr) gf←c37276)+24) ));
(* (( (ptr) var←c35260)+9) ) = 3;
charMask←v9064 = var←c35260;
};
};
SOURCE(11768, 910)
{
word var←c35292;
word var←c35388;
word var←c35452;
word var←c35516;
{
word var←c35324;
var←c35324 = (word) RangeClip←P1620(bounds←v12484.f0);
{
word pd128;
pd128 = (* (( (ptr) (* (( (ptr) gf←c37276)+108)/* var←c35356 */ ))+8) );
var←c35292 = (word) ( *( (fPt) ((* (ptr) pd128 ))))(var←c35324, pd128);
};
};
{
word var←c35420;
var←c35420 = (word) RangeClip←P1620(bounds←v12484.f1);
{
word pd129;
pd129 = (* (( (ptr) (* (( (ptr) gf←c37276)+108)/* var←c35356 */ ))+8) );
var←c35388 = (word) ( *( (fPt) ((* (ptr) pd129 ))))(var←c35420, pd129);
};
};
{
word var←c35484;
var←c35484 = (word) RangeClip←P1620(bounds←v12484.f2);
{
word pd130;
pd130 = (* (( (ptr) (* (( (ptr) gf←c37276)+108)/* var←c35356 */ ))+7) );
var←c35452 = (word) ( *( (fPt) ((* (ptr) pd130 ))))(var←c35484, pd130);
};
};
{
word var←c35548;
var←c35548 = (word) RangeClip←P1620(bounds←v12484.f3);
{
word pd131;
pd131 = (* (( (ptr) (* (( (ptr) gf←c37276)+108)/* var←c35356 */ ))+7) );
var←c35516 = (word) ( *( (fPt) ((* (ptr) pd131 ))))(var←c35548, pd131);
};
};
(* (( (ptr) charMask←v9064)+4) ) = var←c35292;
(* (( (ptr) charMask←v9064)+5) ) = var←c35388;
(* (( (ptr) charMask←v9064)+6) ) = var←c35452;
(* (( (ptr) charMask←v9064)+7) ) = var←c35516;
};
};
SOURCE(11951, 20)
(* (ptr) charMask←v9064 ) = font←v8936;
SOURCE(11973, 20)
(* (( (ptr) charMask←v9064)+1) ) = char←v8964;
SOURCE(11995, 683)
{
word pd132;
pd132 = (* (( (ptr) (* (( (ptr) gf←c37276)+109)/* var←c35580 */ ))+7) );
(* (( (ptr) charMask←v9064)+2) ) = (word) ( *( (fPt) ((* (ptr) pd132 ))))(escapement←v12456.f0, pd132);
};
SOURCE(12056, 622)
{
word pd133;
pd133 = (* (( (ptr) (* (( (ptr) gf←c37276)+109)/* var←c35580 */ ))+7) );
(* (( (ptr) charMask←v9064)+3) ) = (word) ( *( (fPt) ((* (ptr) pd133 ))))(escapement←v12456.f1, pd133);
};
SOURCE(12117, 561)
{
word tadr134;
tadr134 = (word) (( (ptr) charMask←v9064) + 8);
(* (ptr) tadr134 ) = ((* (ptr) tadr134 ) & 4294967287) | (((word) ((word) Amplified←P1080(font←v8936, char←v8964) & 1))
<< 3);
};
SOURCE(12167, 511)
{
word tadr135;
tadr135 = (word) (( (ptr) charMask←v9064) + 8);
(* (ptr) tadr135 ) = ((* (ptr) tadr135 ) & 4294967289) | (((word) ((word) Correction←P1140(font←v8936, char←v8964) & 3))
<< 1);
};
SOURCE(12219, 459)
{
word var←c35612;
var←c35612 = (unsigned) (0 == (word) Contains←P900(font←v8936, char←v8964));
{
word tadr136;
tadr136 = (word) (( (ptr) charMask←v9064) + 8);
(* (ptr) tadr136 ) = ((* (ptr) tadr136 ) & 4294967294) | ((word) (var←c35612 & 1));
};
};
SOURCE(10673, 2005)
return(charMask←v9064);
}
static word GeneralCaptureCharMask←P1740(formal←c0436, formal←c0437, formal←c0438)
word formal←c0436;
word formal←c0437;
word formal←c0438;
{
W12 var←c37308;
/* declaration of parameters←v23008 skipped */
/* declaration of font←v23036 skipped */
/* declaration of char←v23064 skipped */
register ptr gf←c37340 = (ptr) &globalframe;
word var←c23108;
/* declaration of var←c35644 skipped */
/* declaration of ok←v12600 skipped */
word p←v12628 = 0;
word charMask←v12656 = 0;
(* (( (ptr) &var←c37308)+4)/* parameters←v23008 */ ) = formal←c0436;
(* (( (ptr) &var←c37308)+5)/* font←v23036 */ ) = formal←c0437;
(* (( (ptr) &var←c37308)+6)/* char←v23064 */ ) = formal←c0438;
/* GeneralCaptureCharMask: */
SOURCE(12274, 1167)
{
word tmpAddr137;
tmpAddr137 = (word) (( (ptr) &var←c37308)+7)/* var←c35644 */ ;
(* (ptr) tmpAddr137 ) = ( ((word) (fPt) Operator←P2712) );
(* (( (ptr) tmpAddr137) + 1) ) = 1;
};
SOURCE(12437, 15)
(* (( (ptr) &var←c37308)+9)/* ok←v12600 */ ) = 1;
SOURCE(12530, 148)
SOURCE(12530, 148)
{
/* declaration of var←c03 skipped */
(* (( (ptr) &var←c37308)+10)/* var←c03 */ ) = (* (( (ptr) (* (( (ptr) gf←c37340)+110)/* var←c35676 */ ))+8) );
{
/* declaration of var←c04 skipped */
{
word var←c05;
{
word var←c0411;
var←c0411 = (word) &var←c37308;
var←c05 = (word) XR←Enable(( ((word) (fPt) NoName←Q3588) ), ( ((word) (fPt) NoName←Q3648) ), var←c0411);
};
if ((var←c05 == 2)) {
goto lab←L100021;
};
};
p←v12628 = (* (( (ptr) &var←c37308)+11)/* var←c04 */ );
};
};
lab←L100021: ;
SOURCE(12692, 681)
if ((0 != (* (( (ptr) &var←c37308)+9)/* ok←v12600 */ ))) {
SOURCE(12703, 689)
{
W4 bb←v12760;
word bitmapWords←v12788;
word nRuns←v12816;
word rasterCost←v12844;
word runsCost←v12872;
word uncacheableCost←v12900;
word min←v12928;
SOURCE(12705, 43)
{
word pd138;
pd138 = (* (( (ptr) (* (( (ptr) gf←c37340)+111)/* var←c35708 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd138 ))))((word) &bb←v12760, p←v12628, pd138);
};
SOURCE(12750, 82)
{
W2 var←c0268;
W2 var←c35740;
{
word pd139;
pd139 = (* (( (ptr) (* (( (ptr) gf←c37340)+112)/* var←c35772 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd139 ))))((word) &var←c0268, bb←v12760, pd139);
};
var←c35740 = var←c0268;
{
word pd140;
float tf141;
pd140 = (* (( (ptr) (* (( (ptr) gf←c37340)+113)/* var←c35804 */ ))+18) );
bitmapWords←v12788 = (
tf141 = (float)(int)(word) ( *( (fPt) ((* (ptr) pd140 ))))(var←c35740, 1, 0, pd140), *(word*)&tf141
);
};
};
SOURCE(12834, 41)
{
word pd142;
pd142 = (* (( (ptr) (* (( (ptr) gf←c37340)+114)/* var←c35836 */ ))+9) );
nRuns←v12816 = (word) ( *( (fPt) ((* (ptr) pd142 ))))(p←v12628, pd142);
};
SOURCE(12877, 89)
{
word x143;
word x144;
word x145;
*(float*)&rasterCost←v12844 = ((
x143 = (* (( (ptr) (* (( (ptr) &var←c37308)+4)/* parameters←v23008 */ ))+2) ), *(float*)&x143
) * (
x144 = bitmapWords←v12788, *(float*)&x144
)) + (
x145 = (* (( (ptr) (* (( (ptr) &var←c37308)+4)/* parameters←v23008 */ ))+3) ), *(float*)&x145
);
};
SOURCE(12968, 104)
{
word x146;
word x147;
word x148;
*(float*)&runsCost←v12872 = (((
x146 = (* (( (ptr) (* (( (ptr) &var←c37308)+4)/* parameters←v23008 */ ))+4) ), *(float*)&x146
) * (float)(int)nRuns←v12816) * (
x147 = (* (ptr) &fc41 ), *(float*)&x147
)) + (
x148 = (* (( (ptr) (* (( (ptr) &var←c37308)+4)/* parameters←v23008 */ ))+5) ), *(float*)&x148
);
};
SOURCE(13074, 57)
uncacheableCost←v12900 = (* (( (ptr) (* (( (ptr) &var←c37308)+4)/* parameters←v23008 */ ))+7) );
SOURCE(13133, 54)
{
word x149;
float tf150;
float tf151;
word x152;
float tf153;
float tf154;
float tf155;
word x156;
float tf157;
tf153 = FMIN((
x149 = rasterCost←v12844, *(float*)&x149
), (
x152 = runsCost←v12872, *(float*)&x152
), tf150, tf151);
min←v12928 = (
tf157 = FMIN(tf153, (
x156 = uncacheableCost←v12900, *(float*)&x156
), tf154, tf155), *(word*)&tf157
);
};
{
word x158;
word x159;
if (((
x158 = rasterCost←v12844, *(float*)&x158
) == (
x159 = min←v12928, *(float*)&x159
))) {
SOURCE(13226, 61)
{
word pd160;
pd160 = (* (( (ptr) (* (( (ptr) gf←c37340)+114)/* var←c35836 */ ))+7) );
charMask←v12656 = (word) ( *( (fPt) ((* (ptr) pd160 ))))(p←v12628, bb←v12760, pd160);
};
}
else {
{
word x161;
word x162;
if (((
x161 = runsCost←v12872, *(float*)&x161
) == (
x162 = min←v12928, *(float*)&x162
))) {
SOURCE(13307, 66)
{
word pd163;
pd163 = (* (( (ptr) (* (( (ptr) gf←c37340)+114)/* var←c35836 */ ))+8) );
charMask←v12656 = (word) ( *( (fPt) ((* (ptr) pd163 ))))(p←v12628, bb←v12760, nRuns←v12816, pd163);
};
};
};
};
};
};
};
SOURCE(13395, 26)
{
word pd164;
pd164 = (* (( (ptr) (* (( (ptr) gf←c37340)+111)/* var←c35708 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd164 ))))(p←v12628, pd164);
};
SOURCE(13423, 18)
return(charMask←v12656);
}
static word NoName←Q3588(formal←c0396)
word formal←c0396;
{
SOURCE(12530, 148)
{
word pd165;
pd165 = (* (( (ptr) formal←c0396)+10) );
(* (( (ptr) formal←c0396)+11) ) = (word) ( *( (fPt) ((* (ptr) pd165 ))))((word) (( (bPt) formal←c0396)+28), 0, 1, (* (( (ptr) formal←c0396)+4)
), pd165);
};
return(0);
}
static void Operator←P2712(context←v12732, formal←c37404)
word context←v12732;
word formal←c37404;
{
register ptr gf←c37372 = (ptr) &globalframe;
formal←c37404 = (formal←c37404 - 28);
/* Operator: */
SOURCE(12342, 90)
SOURCE(12387, 45)
{
word pd166;
pd166 = (* (( (ptr) (* (( (ptr) gf←c37372)+115)/* var←c35868 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd166 ))))((* (( (ptr) formal←c37404)+5) ), (* (( (ptr) formal←c37404)+6) ), context←v12732, pd166)
;
};
}
static void StringEscapement←P1800(formal←c0285, formal←c0439, string←v9152, formal←c0440)
word formal←c0285;
word formal←c0439;
word string←v9152;
word formal←c0440;
{
W12 var←c37436;
/* declaration of font←v9124 skipped */
/* declaration of amplifySpace←v9180 skipped */
register ptr gf←c37468 = (ptr) &globalframe;
W2 var←c9224;
/* declaration of var←c35900 skipped */
/* declaration of sum←v12972 skipped */
/* declaration of typeface←v13000 skipped */
/* declaration of amp←v13028 skipped */
(* (( (ptr) &var←c37436)+4)/* font←v9124 */ ) = formal←c0439;
(* (( (ptr) &var←c37436)+5)/* amplifySpace←v9180 */ ) = formal←c0440;
/* StringEscapement: */
SOURCE(13445, 517)
{
word tmpAddr167;
tmpAddr167 = (word) (( (ptr) &var←c37436)+6)/* var←c35900 */ ;
(* (ptr) tmpAddr167 ) = ( ((word) (fPt) charAction←P2820) );
(* (( (ptr) tmpAddr167) + 1) ) = 1;
};
SOURCE(13547, 17)
(* (( (ptr) &var←c37436)+8) ) = (* (ptr) &fc168 );
(* (( (ptr) &var←c37436)+9) ) = (* (ptr) &fc168 );
SOURCE(13606, 34)
(* (( (ptr) &var←c37436)+10)/* typeface←v13000 */ ) = (* (( (ptr) (* (( (ptr) &var←c37436)+4)/* font←v9124 */ ))+1) );
SOURCE(13642, 30)
{
word x169;
word x170;
(* (( (ptr) &var←c37436)+11)/* amp←v13028 */ ) = (unsigned) ((
x169 = (* (( (ptr) &var←c37436)+5)/* amplifySpace←v9180 */ ), *(float*)&x169
) != (
x170 = (* (ptr) &fc41 ), *(float*)&x170
));
};
SOURCE(13899, 18)
(void) ( *( (fPt) ((* (ptr) string←v9152 ))))((word) ((( (bPt) &var←c37436)+24)/* var←c35900 */ ), string←v9152);
SOURCE(13919, 43)
{
W2 var←c35996;
{
word pd171;
pd171 = (* (( (ptr) (* (( (ptr) gf←c37468)+102)/* var←c33244 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd171 ))))((word) &var←c35996, (* (ptr) (* (( (ptr) &var←c37436)+4)/* font←v9124 */ ) ), (* (W2Pt) (
( (ptr) &var←c37436)+8)/* sum←v12972 */ ), pd171);
};
var←c9224 = var←c35996;
/* removed tail goto */
};
(* (W2Pt) formal←c0285 ) = var←c9224;
return;
}
static void charAction←P2820(char←v31596, formal←c37532)
word char←v31596;
word formal←c37532;
{
register ptr gf←c37500 = (ptr) &globalframe;
W2 escapement←v13100;
formal←c37532 = (formal←c37532 - 24);
/* charAction: */
SOURCE(13674, 220)
SOURCE(13700, 59)
{
word pd172;
pd172 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c37532)+10) ) ))+4) );
(void) ( *( (fPt) ((* (ptr) pd172 ))))((word) &escapement←v13100, (* (( (ptr) formal←c37532)+10) ), char←v31596, pd172);
};
SOURCE(13761, 97)
if ( ( (0 != (* (( (ptr) formal←c37532)+11) )) ? ((word) Correction←P1140((* (( (ptr) formal←c37532)+4) ), char←v31596) == 1) : 0 ) ) {
SOURCE(13808, 50)
{
word pd173;
pd173 = (* (( (ptr) (* (( (ptr) gf←c37500)+116)/* var←c36028 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd173 ))))((word) &escapement←v13100, escapement←v13100, (* (( (ptr) formal←c37532)+5) ), pd173)
;
};
};
SOURCE(13860, 34)
{
word pd174;
pd174 = (* (( (ptr) (* (( (ptr) gf←c37500)+116)/* var←c36028 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd174 ))))((word) (( (bPt) formal←c37532)+32), (* (W2Pt) (( (ptr) formal←c37532)+8) ), escapement←v13100, pd174)
;
};
}
static void RopeEscapement←P1860(formal←c0300, font←v9284, formal←c0441, formal←c0442, formal←c0443, amplifySpace←v9396)
word formal←c0300;
word font←v9284;
word formal←c0441;
word formal←c0442;
word formal←c0443;
word amplifySpace←v9396;
{
W9 var←c37564;
/* declaration of rope←v9312 skipped */
/* declaration of start←v9340 skipped */
/* declaration of len←v9368 skipped */
W2 var←c9440;
/* declaration of var←c36060 skipped */
(* (( (ptr) &var←c37564)+4)/* rope←v9312 */ ) = formal←c0441;
(* (( (ptr) &var←c37564)+5)/* start←v9340 */ ) = formal←c0442;
(* (( (ptr) &var←c37564)+6)/* len←v9368 */ ) = formal←c0443;
/* RopeEscapement: */
SOURCE(13967, 230)
{
word tmpAddr175;
tmpAddr175 = (word) (( (ptr) &var←c37564)+7)/* var←c36060 */ ;
(* (ptr) tmpAddr175 ) = ( ((word) (fPt) string←P2880) );
(* (( (ptr) tmpAddr175) + 1) ) = 1;
};
SOURCE(14145, 52)
{
W2 var←c36124;
(void) StringEscapement←P1800((word) &var←c36124, font←v9284, (word) (( (bPt) &var←c37564)+28)/* var←c36060 */ , amplifySpace←v9396)
;
var←c9440 = var←c36124;
/* removed tail goto */
};
(* (W2Pt) formal←c0300 ) = var←c9440;
return;
}
static void string←P2880(charAction←v31688, formal←c37596)
word charAction←v31688;
word formal←c37596;
{
formal←c37596 = (formal←c37596 - 28);
/* string: */
SOURCE(14080, 62)
SOURCE(14104, 38)
(void) MapRope←P60((* (( (ptr) formal←c37596)+4) ), (* (( (ptr) formal←c37596)+5) ), (* (( (ptr) formal←c37596)+6) ), charAction←v31688)
;
}
static void TextEscapement←P1920(formal←c0311, font←v9500, formal←c0444, formal←c0445, formal←c0446, amplifySpace←v9612)
word formal←c0311;
word font←v9500;
word formal←c0444;
word formal←c0445;
word formal←c0446;
word amplifySpace←v9612;
{
W9 var←c37628;
/* declaration of text←v9528 skipped */
/* declaration of start←v9556 skipped */
/* declaration of len←v9584 skipped */
W2 var←c9668;
/* declaration of var←c36156 skipped */
(* (( (ptr) &var←c37628)+4)/* text←v9528 */ ) = formal←c0444;
(* (( (ptr) &var←c37628)+5)/* start←v9556 */ ) = formal←c0445;
(* (( (ptr) &var←c37628)+6)/* len←v9584 */ ) = formal←c0446;
/* TextEscapement: */
SOURCE(14203, 243)
{
word tmpAddr176;
tmpAddr176 = (word) (( (ptr) &var←c37628)+7)/* var←c36156 */ ;
(* (ptr) tmpAddr176 ) = ( ((word) (fPt) string←P2940) );
(* (( (ptr) tmpAddr176) + 1) ) = 1;
};
SOURCE(14394, 52)
{
W2 var←c36220;
(void) StringEscapement←P1800((word) &var←c36220, font←v9500, (word) (( (bPt) &var←c37628)+28)/* var←c36156 */ , amplifySpace←v9612)
;
var←c9668 = var←c36220;
/* removed tail goto */
};
(* (W2Pt) formal←c0311 ) = var←c9668;
return;
}
static void string←P2940(charAction←v31748, formal←c37660)
word charAction←v31748;
word formal←c37660;
{
formal←c37660 = (formal←c37660 - 28);
/* string: */
SOURCE(14329, 62)
SOURCE(14353, 38)
(void) MapText←P120((* (( (ptr) formal←c37660)+4) ), (* (( (ptr) formal←c37660)+5) ), (* (( (ptr) formal←c37660)+6) ), charAction←v31748)
;
}
static void StringBoundingBox←P1980(formal←c0329, formal←c0447, string←v9756, formal←c0448)
word formal←c0329;
word formal←c0447;
word string←v9756;
word formal←c0448;
{
W17 var←c37692;
/* declaration of font←v9728 skipped */
/* declaration of amplifySpace←v9784 skipped */
W4 var←c9828;
/* declaration of var←c36252 skipped */
/* declaration of typeface←v13232 skipped */
/* declaration of sxmin←v13260 skipped */
/* declaration of symin←v13288 skipped */
/* declaration of sxmax←v13316 skipped */
/* declaration of symax←v13344 skipped */
/* declaration of position←v13372 skipped */
/* declaration of count←v13400 skipped */
/* declaration of amp←v13428 skipped */
(* (( (ptr) &var←c37692)+4)/* font←v9728 */ ) = formal←c0447;
(* (( (ptr) &var←c37692)+5)/* amplifySpace←v9784 */ ) = formal←c0448;
/* StringBoundingBox: */
SOURCE(14453, 1152)
{
word tmpAddr177;
tmpAddr177 = (word) (( (ptr) &var←c37692)+6)/* var←c36252 */ ;
(* (ptr) tmpAddr177 ) = ( ((word) (fPt) charAction←P3000) );
(* (( (ptr) tmpAddr177) + 1) ) = 1;
};
SOURCE(14560, 34)
(* (( (ptr) &var←c37692)+8)/* typeface←v13232 */ ) = (* (( (ptr) (* (( (ptr) &var←c37692)+4)/* font←v9728 */ ))+1) );
SOURCE(14596, 36)
(* (( (ptr) &var←c37692)+9)/* sxmin←v13260 */ ) = (* (ptr) &fc168 );
(* (( (ptr) &var←c37692)+10)/* symin←v13288 */ ) = (* (ptr) &fc168 );
(* (( (ptr) &var←c37692)+11)/* sxmax←v13316 */ ) = (* (ptr) &fc168 );
(* (( (ptr) &var←c37692)+12)/* symax←v13344 */ ) = (* (ptr) &fc168 );
SOURCE(14634, 22)
(* (( (ptr) &var←c37692)+13) ) = (* (ptr) &fc168 );
(* (( (ptr) &var←c37692)+14) ) = (* (ptr) &fc168 );
SOURCE(14658, 14)
(* (( (ptr) &var←c37692)+15)/* count←v13400 */ ) = 0;
SOURCE(14674, 30)
{
word x178;
word x179;
(* (( (ptr) &var←c37692)+16)/* amp←v13428 */ ) = (unsigned) ((
x178 = (* (( (ptr) &var←c37692)+5)/* amplifySpace←v9784 */ ), *(float*)&x178
) != (
x179 = (* (ptr) &fc41 ), *(float*)&x179
));
};
SOURCE(15468, 18)
(void) ( *( (fPt) ((* (ptr) string←v9756 ))))((word) ((( (bPt) &var←c37692)+24)/* var←c36252 */ ), string←v9756);
SOURCE(15488, 117)
{
W4 var←c36380;
{
W4 var←c0328;
{
W4 var←c36348;
{
word x180;
*(float*)&var←c36348.f0 = - (
x180 = (* (( (ptr) &var←c37692)+9)/* sxmin←v13260 */ ), *(float*)&x180
);
};
var←c36348.f1 = (* (( (ptr) &var←c37692)+11)/* sxmax←v13316 */ );
{
word x181;
*(float*)&var←c36348.f2 = - (
x181 = (* (( (ptr) &var←c37692)+10)/* symin←v13288 */ ), *(float*)&x181
);
};
var←c36348.f3 = (* (( (ptr) &var←c37692)+12)/* symax←v13344 */ );
(void) TransformExtents←P540((word) &var←c0328, (* (ptr) (* (( (ptr) &var←c37692)+4)/* font←v9728 */ ) ), var←c36348);
};
var←c36380 = var←c0328;
};
var←c9828 = var←c36380;
/* removed tail goto */
};
(* (W4Pt) formal←c0329 ) = var←c9828;
return;
}
static void charAction←P3000(char←v31808, formal←c37756)
word char←v31808;
word formal←c37756;
{
register ptr gf←c37724 = (ptr) &globalframe;
W4 charExtents←v13500;
W2 charEscapement←v13528;
word cxmin←v13556;
word cxmax←v13584;
word cymin←v13612;
word cymax←v13640;
formal←c37756 = (formal←c37756 - 24);
/* charAction: */
SOURCE(14706, 757)
SOURCE(14732, 65)
{
word pd182;
pd182 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c37756)+8) ) ))+7) );
(void) ( *( (fPt) ((* (ptr) pd182 ))))((word) &charExtents←v13500, (* (( (ptr) formal←c37756)+8) ), char←v31808, pd182);
};
SOURCE(14799, 63)
{
word pd183;
pd183 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c37756)+8) ) ))+4) );
(void) ( *( (fPt) ((* (ptr) pd183 ))))((word) &charEscapement←v13528, (* (( (ptr) formal←c37756)+8) ), char←v31808, pd183)
;
};
SOURCE(14864, 47)
{
word x184;
word x185;
*(float*)&cxmin←v13556 = (
x184 = (* (( (ptr) formal←c37756)+13) ), *(float*)&x184
) - (
x185 = charExtents←v13500.f0, *(float*)&x185
);
};
SOURCE(14913, 48)
{
word x186;
word x187;
*(float*)&cxmax←v13584 = (
x186 = (* (( (ptr) formal←c37756)+13) ), *(float*)&x186
) + (
x187 = charExtents←v13500.f1, *(float*)&x187
);
};
SOURCE(14963, 44)
{
word x188;
word x189;
*(float*)&cymin←v13612 = (
x188 = (* (( (ptr) formal←c37756)+14) ), *(float*)&x188
) - (
x189 = charExtents←v13500.f2, *(float*)&x189
);
};
SOURCE(15009, 43)
{
word x190;
word x191;
*(float*)&cymax←v13640 = (
x190 = (* (( (ptr) formal←c37756)+14) ), *(float*)&x190
) + (
x191 = charExtents←v13500.f3, *(float*)&x191
);
};
SOURCE(15054, 232)
if (( (int)(* (( (ptr) formal←c37756)+15) ) == (int)0)) {
SOURCE(15072, 13)
(* (( (ptr) formal←c37756)+9) ) = cxmin←v13556;
SOURCE(15087, 13)
(* (( (ptr) formal←c37756)+11) ) = cxmax←v13584;
SOURCE(15102, 13)
(* (( (ptr) formal←c37756)+10) ) = cymin←v13612;
SOURCE(15117, 14)
(* (( (ptr) formal←c37756)+12) ) = cymax←v13640;
}
else {
SOURCE(15140, 35)
{
word x192;
word x193;
if (((
x192 = cxmin←v13556, *(float*)&x192
) < (
x193 = (* (( (ptr) formal←c37756)+9) ), *(float*)&x193
))) {
SOURCE(15162, 13)
(* (( (ptr) formal←c37756)+9) ) = cxmin←v13556;
};
};
SOURCE(15177, 35)
{
word x194;
word x195;
if (((
x194 = cxmax←v13584, *(float*)&x194
) > (
x195 = (* (( (ptr) formal←c37756)+11) ), *(float*)&x195
))) {
SOURCE(15199, 13)
(* (( (ptr) formal←c37756)+11) ) = cxmax←v13584;
};
};
SOURCE(15214, 35)
{
word x196;
word x197;
if (((
x196 = cymin←v13612, *(float*)&x196
) < (
x197 = (* (( (ptr) formal←c37756)+10) ), *(float*)&x197
))) {
SOURCE(15236, 13)
(* (( (ptr) formal←c37756)+10) ) = cymin←v13612;
};
};
SOURCE(15251, 35)
{
word x198;
word x199;
if (((
x198 = cymax←v13640, *(float*)&x198
) > (
x199 = (* (( (ptr) formal←c37756)+12) ), *(float*)&x199
))) {
SOURCE(15273, 13)
(* (( (ptr) formal←c37756)+12) ) = cymax←v13640;
};
};
};
SOURCE(15291, 105)
if ( ( (0 != (* (( (ptr) formal←c37756)+16) )) ? ((word) Correction←P1140((* (( (ptr) formal←c37756)+4) ), char←v31808) == 1) : 0 ) ) {
SOURCE(15338, 58)
{
word pd200;
pd200 = (* (( (ptr) (* (( (ptr) gf←c37724)+116)/* var←c36028 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd200 ))))((word) &charEscapement←v13528, charEscapement←v13528, (* (( (ptr) formal←c37756)+5)
), pd200);
};
};
SOURCE(15398, 48)
{
word pd201;
pd201 = (* (( (ptr) (* (( (ptr) gf←c37724)+116)/* var←c36028 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd201 ))))((word) (( (bPt) formal←c37756)+52), (* (W2Pt) (( (ptr) formal←c37756)+13) ), charEscapement←v13528, pd201)
;
};
SOURCE(15448, 15)
(* (( (ptr) formal←c37756)+15) ) = ((* (( (ptr) formal←c37756)+15) ) + 1);
}
static void RopeBoundingBox←P2040(formal←c0350, font←v9888, formal←c0449, formal←c0450, formal←c0451, amplifySpace←v10000)
word formal←c0350;
word font←v9888;
word formal←c0449;
word formal←c0450;
word formal←c0451;
word amplifySpace←v10000;
{
W9 var←c37788;
/* declaration of rope←v9916 skipped */
/* declaration of start←v9944 skipped */
/* declaration of len←v9972 skipped */
W4 var←c10044;
/* declaration of var←c36412 skipped */
(* (( (ptr) &var←c37788)+4)/* rope←v9916 */ ) = formal←c0449;
(* (( (ptr) &var←c37788)+5)/* start←v9944 */ ) = formal←c0450;
(* (( (ptr) &var←c37788)+6)/* len←v9972 */ ) = formal←c0451;
/* RopeBoundingBox: */
SOURCE(15610, 237)
{
word tmpAddr202;
tmpAddr202 = (word) (( (ptr) &var←c37788)+7)/* var←c36412 */ ;
(* (ptr) tmpAddr202 ) = ( ((word) (fPt) string←P3060) );
(* (( (ptr) tmpAddr202) + 1) ) = 1;
};
SOURCE(15794, 53)
{
W4 var←c36476;
(void) StringBoundingBox←P1980((word) &var←c36476, font←v9888, (word) (( (bPt) &var←c37788)+28)/* var←c36412 */ , amplifySpace←v10000)
;
var←c10044 = var←c36476;
/* removed tail goto */
};
(* (W4Pt) formal←c0350 ) = var←c10044;
return;
}
static void string←P3060(charAction←v31868, formal←c37820)
word charAction←v31868;
word formal←c37820;
{
formal←c37820 = (formal←c37820 - 28);
/* string: */
SOURCE(15729, 62)
SOURCE(15753, 38)
(void) MapRope←P60((* (( (ptr) formal←c37820)+4) ), (* (( (ptr) formal←c37820)+5) ), (* (( (ptr) formal←c37820)+6) ), charAction←v31868)
;
}
static void TextBoundingBox←P2100(formal←c0361, font←v10104, formal←c0452, formal←c0453, formal←c0454, amplifySpace←v10216)
word formal←c0361;
word font←v10104;
word formal←c0452;
word formal←c0453;
word formal←c0454;
word amplifySpace←v10216;
{
W9 var←c37852;
/* declaration of text←v10132 skipped */
/* declaration of start←v10160 skipped */
/* declaration of len←v10188 skipped */
W4 var←c10272;
/* declaration of var←c36508 skipped */
(* (( (ptr) &var←c37852)+4)/* text←v10132 */ ) = formal←c0452;
(* (( (ptr) &var←c37852)+5)/* start←v10160 */ ) = formal←c0453;
(* (( (ptr) &var←c37852)+6)/* len←v10188 */ ) = formal←c0454;
/* TextBoundingBox: */
SOURCE(15853, 249)
{
word tmpAddr203;
tmpAddr203 = (word) (( (ptr) &var←c37852)+7)/* var←c36508 */ ;
(* (ptr) tmpAddr203 ) = ( ((word) (fPt) string←P3120) );
(* (( (ptr) tmpAddr203) + 1) ) = 1;
};
SOURCE(16049, 53)
{
W4 var←c36572;
(void) StringBoundingBox←P1980((word) &var←c36572, font←v10104, (word) (( (bPt) &var←c37852)+28)/* var←c36508 */ , amplifySpace←v10216)
;
var←c10272 = var←c36572;
/* removed tail goto */
};
(* (W4Pt) formal←c0361 ) = var←c10272;
return;
}
static void string←P3120(charAction←v31928, formal←c37884)
word charAction←v31928;
word formal←c37884;
{
formal←c37884 = (formal←c37884 - 28);
/* string: */
SOURCE(15984, 62)
SOURCE(16008, 38)
(void) MapText←P120((* (( (ptr) formal←c37884)+4) ), (* (( (ptr) formal←c37884)+5) ), (* (( (ptr) formal←c37884)+6) ), charAction←v31928)
;
}
static void NoName←Q3648(formal←c0368, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0368;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0408 = (ptr) &globalframe;
if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0408)+110)/* var←c35676 */ ))+5) ))) {
{
word why←v31328;
why←v31328 = (* (ptr) formal←c200007 );
SOURCE(12668, 10)
(* (( (ptr) formal←c200004)+9) ) = 0;
SOURCE(12680, 8)
(* (ptr) formal←c0368 ) = 2;
(* (( (ptr) formal←c0368)+1) ) = 2;
return;
};
};
(* (ptr) formal←c0368 ) = 0;
(* (( (ptr) formal←c0368)+1) ) = 0;
return;
}
static void NoName←Q3708(formal←c0373, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0373;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
if ((formal←c200001 == XR←Unwind)) {
};
(* (ptr) formal←c0373 ) = 0;
(* (( (ptr) formal←c0373)+1) ) = 0;
return;
}
/* file: ImagerFontImpl, module: ImagerFontImpl, compiled at: July 28, 1993 10:18:45 am PDT */
extern void XR←install←ImagerFontImpl() {
NoName←Q3468();
}
extern void XR←run←ImagerFontImpl() { XR←Start(&globalframe); }