diff options
author | Alon Zakai <azakai@mozilla.com> | 2011-02-08 17:26:18 -0800 |
---|---|---|
committer | Alon Zakai <azakai@mozilla.com> | 2011-02-08 17:26:18 -0800 |
commit | a7672d17bbab4c793ea21273a0ab0a6be526a193 (patch) | |
tree | 4cb527aac21cc73ecdc01775a84616d1d8acaba9 /demos | |
parent | 4af7d2dbc4a24d0a575582df683e77b38cf3bc68 (diff) |
freetype demo
Diffstat (limited to 'demos')
-rw-r--r-- | demos/freetype.cc.js | 4183 | ||||
-rw-r--r-- | demos/freetype.html | 68 |
2 files changed, 4251 insertions, 0 deletions
diff --git a/demos/freetype.cc.js b/demos/freetype.cc.js new file mode 100644 index 00000000..556c7213 --- /dev/null +++ b/demos/freetype.cc.js @@ -0,0 +1,4183 @@ +/* +This file contains FreeType, compiled to JavaScript. Licensing info: +==================================================================== + +Copyright 2006, 2007, 2008, 2009, 2010 by +David Turner, Robert Wilhelm, and Werner Lemberg. + +This file is part of the FreeType project, and may only be used, +modified, and distributed under the terms of the FreeType project +license, LICENSE.TXT. By continuing to use, modify, or distribute +this file you indicate that you have read the license and understand +and accept it fully. + +LICENSE.TXT: + +The FreeType 2 font engine is copyrighted work and cannot be used +legally without a software license. In order to make this project +usable to a vast majority of developers, we distribute it under two +mutually exclusive open-source licenses. + +This means that *you* must choose *one* of the two licenses described +below, then obey all its terms and conditions when using FreeType 2 in +any of your projects or products. + + - The FreeType License, found in the file `FTL.TXT', which is similar + to the original BSD license *with* an advertising clause that forces + you to explicitly cite the FreeType project in your product's + documentation. All details are in the license file. This license + is suited to products which don't use the GNU General Public + License. + + - The GNU General Public License version 2, found in `GPL.TXT' (any + later version can be used also), for programs which already use the + GPL. Note that the FTL is incompatible with the GPL due to its + advertisement clause. + +The contributed BDF and PCF drivers come with a license similar to that +of the X Window System. It is compatible to the above two licenses (see +file src/bdf/README and src/pcf/README). + +The gzip module uses the zlib license (see src/gzip/zlib.h) which too is +compatible to the above two licenses. +*/ + +/* +This file also contains the Liberation Sans Bold font (see 'font.ttf'): +======================================================================= + +LICENSE AGREEMENT AND LIMITED PRODUCT WARRANTY +LIBERATION FONT SOFTWARE + +This agreement governs the use of the Software and any updates to the Software, regardless of the delivery mechanism. Subject to the following terms, Red Hat, Inc. ("Red Hat") grants to the user ("Client") a license to this work pursuant to the GNU General Public License v.2 with the exceptions set forth below and such other terms as are set forth in this End User License Agreement. + + 1. The Software and License Exception. LIBERATION font software (the "Software") consists of TrueType-OpenType formatted font software for rendering LIBERATION typefaces in sans-serif, serif, and monospaced character styles. You are licensed to use, modify, copy, and distribute the Software pursuant to the GNU General Public License v.2 with the following exceptions: + + (a) As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. + + (b) As a further exception, any distribution of the object code of the Software in a physical product must provide you the right to access and modify the source code for the Software and to reinstall that modified version of the Software in object code form on the same physical product on which you received it. + + 2. Intellectual Property Rights. The Software and each of its components, including the source code, documentation, appearance, structure and organization are owned by Red Hat and others and are protected under copyright and other laws. Title to the Software and any component, or to any copy, modification, or merged portion shall remain with the aforementioned, subject to the applicable license. The "LIBERATION" trademark is a trademark of Red Hat, Inc. in the U.S. and other countries. This agreement does not permit Client to distribute modified versions of the Software using Red Hat's trademarks. If Client makes a redistribution of a modified version of the Software, then Client must modify the files names to remove any reference to the Red Hat trademarks and must not use the Red Hat trademarks in any way to reference or promote the modified Software. + + 3. Limited Warranty. To the maximum extent permitted under applicable law, the Software is provided and licensed "as is" without warranty of any kind, expressed or implied, including the implied warranties of merchantability, non-infringement or fitness for a particular purpose. Red Hat does not warrant that the functions contained in the Software will meet Client's requirements or that the operation of the Software will be entirely error free or appear precisely as described in the accompanying documentation. + + 4. Limitation of Remedies and Liability. To the maximum extent permitted by applicable law, Red Hat or any Red Hat authorized dealer will not be liable to Client for any incidental or consequential damages, including lost profits or lost savings arising out of the use or inability to use the Software, even if Red Hat or such dealer has been advised of the possibility of such damages. + + 5. General. If any provision of this agreement is held to be unenforceable, that shall not affect the enforceability of the remaining provisions. This agreement shall be governed by the laws of the State of North Carolina and of the United States, without regard to any conflict of laws provisions, except that the United Nations Convention on the International Sale of Goods shall not apply. +Copyright © 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc. +*/ + +this.Module={};var args=arguments; +Runtime={stackAlloc:function(e){var g=STACKTOP;Runtime.memset(STACKTOP,0,e);STACKTOP+=e;STACKTOP=Math.ceil(STACKTOP/4)*4;return g},staticAlloc:function(e){var g=STATICTOP;STATICTOP+=e;STATICTOP=Math.ceil(STATICTOP/4)*4;return g},alignMemory:function(e,g){return Math.ceil(e/(g?g:4))*(g?g:4)},memset:function(e,g,d){for(var b=0;b<d;b++)HEAP[e+b]=g},getFunctionIndex:function(e,g){var d=FUNCTION_TABLE.length;FUNCTION_TABLE[d]=e;FUNCTION_TABLE[d+1]=null;Module[g]=e;return d},isNumberType:function(e){return e in +Runtime.INT_TYPES||e in Runtime.FLOAT_TYPES},isPointerType:function(e){return pointingLevels(e)>0},isStructType:function(e){if(isPointerType(e))return false;if(RegExp(/^\[\d+\ x\ (.*)\]/g).test(e))return true;return!Runtime.isNumberType(e)&&e[0]=="%"},INT_TYPES:{i1:0,i8:0,i16:0,i32:0,i64:0},FLOAT_TYPES:{"float":0,"double":0},getNativeFieldSize:function(e,g){var d={i1:1,i8:1,i16:2,i32:4,i64:8,"float":4,"double":8}[e];d||(d=4);g||(d=Math.max(d,4));return d},dedup:function(e,g){var d={};return g?e.filter(function(b){if(d[b[g]])return false; +return d[b[g]]=true}):e.filter(function(b){if(d[b])return false;return d[b]=true})},set:function(){if(typeof arguments[0]==="object")arguments=arguments[0];for(var e={},g=0;g<arguments.length;g++)e[arguments[g]]=0;return e},calculateStructAlignment:function(e,g){e.flatSize=0;e.alignSize=0;var d=[],b=-1;e.flatIndexes=e.fields.map(function(a){var c,f;if(Runtime.isNumberType(a)||Runtime.isPointerType(a))f=c=Runtime.getNativeFieldSize(a,true);else if(Runtime.isStructType(a)){c=g[a].flatSize;f=g[a].alignSize}else{dprint("Unclear type in struct: "+ +a+", in "+e.name_);assert(0)}f=Math.min(f,4);e.alignSize=Math.max(e.alignSize,f);a=Runtime.alignMemory(e.flatSize,f);e.flatSize=a+c;b>=0&&d.push(a-b);return b=a});e.flatSize=Runtime.alignMemory(e.flatSize,e.alignSize);if(d.length==0)e.flatFactor=e.flatSize;else if(Runtime.dedup(d).length==1)e.flatFactor=d[0];e.needsFlattening=e.flatFactor!=1;return e.flatIndexes},__dummy__:0};function __globalConstructor__(){}var FUNCTION_TABLE=[],__THREW__=false,__ATEXIT__=[],ABORT=false,undef=0; +function abort(e){print(e+":\n"+Error().stack);ABORT=true;throw"Assertion: "+e;}function assert(e,g){e||abort("Assertion failed: "+g)}var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2; +function Pointer_make(e,g,d){g=g?g:0;assert(g===0);if(e===HEAP)return g;g=e.length;var b;for(b=0;b<g;b++)if(e[b]===undefined)throw"Invalid element in slab at "+Error().stack;d=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc][d?d:ALLOC_STATIC](Math.max(g,1));for(b=0;b<g;b++){var a=e[b];if(typeof a==="function")a=Runtime.getFunctionIndex(a);HEAP[d+b]=a}return d}Module.Pointer_make=Pointer_make; +function Pointer_stringify(e){for(var g="",d=0,b;;){b=String.fromCharCode(HEAP[e+d]);if(b=="\u0000")break;g+=b;d+=1}return g}var PAGE_SIZE=4096;function alignMemoryPage(e){return Math.ceil(e/PAGE_SIZE)*PAGE_SIZE}var HEAP,IHEAP,FHEAP,STACK_ROOT,STACKTOP,STACK_MAX,STATICTOP,_malloc,_calloc,_free,__Znwj,__Znaj,__Znam,__Znwm,__ZdlPv,__ZdaPv,HAS_TYPED_ARRAYS=false,TOTAL_MEMORY=52428800; +function __initializeRuntime__(){Module._malloc=_malloc=__Znwj=__Znaj=__Znam=__Znwm=Module._malloc?Module._malloc:Runtime.staticAlloc;Module._calloc=_calloc=Module._calloc?Module._calloc:function(d,b){var a=_malloc(d*b);Runtime.memset(a,0,d*b);return a};Module._free=_free=__ZdlPv=__ZdaPv=Module._free?Module._free:function(){};var e=TOTAL_MEMORY/32;IHEAP=FHEAP=HEAP=Array(e);for(var g=0;g<e;g++)IHEAP[g]=FHEAP[g]=0;e=intArrayFromString("(null)").concat(0);for(g=0;g<e.length;g++)HEAP[g]=e[g];Module.HEAP= +HEAP;Module.IHEAP=IHEAP;Module.FHEAP=FHEAP;STACK_ROOT=STACKTOP=alignMemoryPage(10);this.TOTAL_STACK||(TOTAL_STACK=1048576);STACK_MAX=STACK_ROOT+TOTAL_STACK;STATICTOP=alignMemoryPage(STACK_MAX)}function __shutdownRuntime__(){for(;__ATEXIT__.length>0;){var e=__ATEXIT__.pop();if(typeof e==="number")e=FUNCTION_TABLE[e];e()}}function Array_copy(e,g){return IHEAP.slice(e,e+g)}function String_len(e){for(var g=0;HEAP[e+g];)g++;return g} +function String_copy(e,g){return Array_copy(e,String_len(e)).concat(g?[0]:[])}PRINTBUFFER="";function __print__(e){if(e===null){print(PRINTBUFFER);PRINTBUFFER=""}else for(PRINTBUFFER+=e;(e=PRINTBUFFER.indexOf("\n"))!=-1;){print(PRINTBUFFER.substr(0,e));PRINTBUFFER=PRINTBUFFER.substr(e+1)}}function jrint(e,g){if(g)e+=" : ";else{g=e;e=""}print(e+JSON.stringify(g))}function intArrayFromString(e){for(var g=[],d=0;d<e.length;){g.push(e.charCodeAt(d));d+=1}g.push(0);return g}Module.intArrayFromString=intArrayFromString; +function intArrayToString(e){for(var g="",d=0;d<e.length;d++)g+=String.fromCharCode(e[d]);return g}function unSign(e,g){if(e>=0)return e;return g<=32?2*Math.abs(1<<g-1)+e:Math.pow(2,g)+e}function reSign(e,g){if(e<=0)return e;var d=g<=32?Math.abs(1<<g-1):Math.pow(2,g-1);if(e>=d)e=-2*d+e;return e} +var $0___SIZE=4,$1___SIZE=8,$2___SIZE=1428,$2___FLATTENER=[0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,852,980,1E3,1024,1040,1232,1236,1240,1244,1248,1252,1256,1412,1416,1420,1424],$3___SIZE=20,$struct__0TEncoding___SIZE=12,$struct_AFM_FontInfoRec____SIZE=44,$struct_AFM_FontInfoRec____FLATTENER=[0,4,20,24,28,32,36,40],$struct_AFM_KernPairRec____SIZE=16,$struct_AFM_ParserRec____SIZE=20,$struct_AFM_Parser_FuncsRec___SIZE=12,$struct_AFM_StreamRec____SIZE=16,$struct_AFM_TrackKernRec____SIZE= +20,$struct_AFM_ValueRec____SIZE=8,$struct_AF_AxisHintsRec___SIZE=28,$struct_AF_EdgeRec____SIZE=48,$struct_AF_EdgeRec____FLATTENER=[0,4,8,12,13,16,20,24,28,32,36,40,44],$struct_AF_FaceGlobalsRec____SIZE=28,$struct_AF_GlyphHintsRec____SIZE=124,$struct_AF_GlyphHintsRec____FLATTENER=[0,4,8,12,16,20,24,28,32,36,40,44,48,104,108,112,116,120],$struct_AF_LatinAxisRec___SIZE=396,$struct_AF_LatinAxisRec___FLATTENER=[0,4,8,12,204,208,212,213,216,220,388,392],$struct_AF_LatinBlueRec___SIZE=28,$struct_AF_LatinMetricsRec____SIZE= +832,$struct_AF_LatinMetricsRec____FLATTENER=[0,36,40],$struct_AF_LoaderRec____SIZE=184,$struct_AF_LoaderRec____FLATTENER=[0,4,8,12,136,140,144,160,168,176],$struct_AF_PointRec____SIZE=40,$struct_AF_PointRec____FLATTENER=[0,2,3,4,8,12,14,16,20,24,28,32,36],$struct_AF_ScalerRec___SIZE=28,$struct_AF_ScriptClassRec____SIZE=32,$struct_AF_ScriptMetricsRec____SIZE=36,$struct_AF_ScriptMetricsRec____FLATTENER=[0,4,32],$struct_AF_Script_UniRangeRec___SIZE=8,$struct_AF_SegmentRec____SIZE=52,$struct_AF_SegmentRec____FLATTENER= +[0,1,2,4,6,8,12,16,20,24,28,32,36,40,44,48],$struct_BDF_CMapRec____SIZE=24,$struct_BDF_CMapRec____FLATTENER=[0,16,20],$struct_BDF_FaceRec____SIZE=168,$struct_BDF_FaceRec____FLATTENER=[0,132,136,140,144,148,152,164],$struct_BDF_encoding_el___SIZE=8,$struct_CFF_Builder___SIZE=76,$struct_CFF_Builder___FLATTENER=[0,4,8,12,16,20,24,28,32,40,48,64,65,66,67,68,72],$struct_CFF_CMapStdRec____SIZE=20,$struct_CFF_CharsetRec___SIZE=24,$struct_CFF_Decoder___SIZE=928,$struct_CFF_Decoder___FLATTENER=[0,76,80,276, +280,676,680,684,688,744,748,752,753,756,760,888,892,896,900,904,908,912,916,920,924],$struct_CFF_Decoder_Zone___SIZE=12,$struct_CFF_EncodingRec___SIZE=1036,$struct_CFF_EncodingRec___FLATTENER=[0,4,8,12,524],$struct_CFF_FDSelectRec___SIZE=28,$struct_CFF_Field_Handler___SIZE=28,$struct_CFF_FontRecDictRec___SIZE=172,$struct_CFF_FontRecDictRec___FLATTENER=[0,4,8,12,16,20,24,28,32,36,40,44,48,64,68,76,80,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168],$struct_CFF_FontRec____SIZE= +2072,$struct_CFF_FontRec____FLATTENER=[0,4,8,12,16,17,18,19,20,52,84,116,1152,1176,1208,1240,1272,1304,1308,1312,1316,1320,1324,1892,1896,2024,2052,2056,2060,2064,2068],$struct_CFF_GlyphSlotRec____SIZE=172,$struct_CFF_GlyphSlotRec____FLATTENER=[0,160,161,164,168],$struct_CFF_IndexRec___SIZE=32,$struct_CFF_InternalRec____SIZE=132,$struct_CFF_ParserRec____SIZE=416,$struct_CFF_ParserRec____FLATTENER=[0,4,8,12,16,404,408,412],$struct_CFF_PrivateRec___SIZE=360,$struct_CFF_PrivateRec___FLATTENER=[0,1,2, +3,4,60,100,156,196,200,204,208,212,216,217,220,272,324,328,332,336,340,344,348,352,356],$struct_CFF_SizeRec____SIZE=48,$struct_CFF_SubFontRec___SIZE=568,$struct_CFF_SubFontRec___FLATTENER=[0,172,532,564],$struct_CID_FaceDictRec____SIZE=252,$struct_CID_FaceDictRec____FLATTENER=[0,196,200,204,208,212,213,216,232,240,244,248],$struct_CID_FaceInfoRec____SIZE=172,$struct_CID_FaceInfoRec____FLATTENER=[0,4,8,12,16,20,24,56,72,76,80,144,148,152,156,160,164,168],$struct_CID_FaceRec____SIZE=332,$struct_CID_FaceRec____FLATTENER= +[0,132,136,140,312,316,320,324,328],$struct_CID_Loader___SIZE=104,$struct_CID_Parser___SIZE=100,$struct_CID_Parser___FLATTENER=[0,72,76,80,84,88,92,96],$struct_CID_SizeRec____SIZE=48,$struct_CID_SubrsRec____SIZE=8,$struct_FNT_CMapRec____SIZE=24,$struct_FNT_CMapRec____FLATTENER=[0,16,20],$struct_FNT_FaceRec____SIZE=152,$struct_FNT_FaceRec____FLATTENER=[0,132,136,140],$struct_FNT_FontRec____SIZE=172,$struct_FNT_FontRec____FLATTENER=[0,4,160,164,168],$struct_FTC_BasicAttrRec___SIZE=28,$struct_FTC_BasicFamilyRec____SIZE= +48,$struct_FTC_BasicQueryRec____SIZE=36,$struct_FTC_CMapCacheRec____SIZE=0,$struct_FTC_CMapCacheRec____FLATTENER=[],$struct_FTC_CMapNodeRec____SIZE=288,$struct_FTC_CMapNodeRec____FLATTENER=[0,20,24,28,32],$struct_FTC_CMapQueryRec____SIZE=12,$struct_FTC_CacheClassRec___SIZE=32,$struct_FTC_CacheRec____SIZE=64,$struct_FTC_CacheRec____FLATTENER=[0,4,8,12,16,48,52,56,60],$struct_FTC_FaceNodeRec____SIZE=16,$struct_FTC_FaceNodeRec____FLATTENER=[0,8,12],$struct_FTC_FamilyRec____SIZE=20,$struct_FTC_FamilyRec____FLATTENER= +[0,8,12,16],$struct_FTC_FontRec___SIZE=8,$struct_FTC_FontRec___FLATTENER=[0,4,6],$struct_FTC_GCacheClassRec___SIZE=36,$struct_FTC_GCacheRec____SIZE=104,$struct_FTC_GNodeRec____SIZE=28,$struct_FTC_GNodeRec____FLATTENER=[0,20,24],$struct_FTC_GQueryRec____SIZE=8,$struct_FTC_IFamilyClassRec___SIZE=24,$struct_FTC_INodeRec____SIZE=32,$struct_FTC_ImageCacheRec____SIZE=0,$struct_FTC_ImageCacheRec____FLATTENER=[],$struct_FTC_ImageTypeRec____SIZE=16,$struct_FTC_ManagerRec____SIZE=180,$struct_FTC_ManagerRec____FLATTENER= +[0,4,8,12,16,20,24,88,92,132,172,176],$struct_FTC_MruListClassRec___SIZE=20,$struct_FTC_MruListRec____SIZE=40,$struct_FTC_MruListRec____FLATTENER=[0,4,8,12,16,36],$struct_FTC_MruNodeRec____SIZE=8,$struct_FTC_NodeRec____SIZE=20,$struct_FTC_NodeRec____FLATTENER=[0,8,12,16,18],$struct_FTC_OldCMapDescRec____SIZE=16,$struct_FTC_OldImageDescRec____SIZE=12,$struct_FTC_SBitCacheRec____SIZE=0,$struct_FTC_SBitCacheRec____FLATTENER=[],$struct_FTC_SBitRec____SIZE=16,$struct_FTC_SBitRec____FLATTENER=[0,1,2,3, +4,5,6,8,9,12],$struct_FTC_SFamilyClassRec___SIZE=28,$struct_FTC_SFamilyClassRec___FLATTENER=[0,20,24],$struct_FTC_SNodeRec____SIZE=288,$struct_FTC_SNodeRec____FLATTENER=[0,28,32],$struct_FTC_ScalerRec____SIZE=24,$struct_FTC_SizeNodeRec____SIZE=36,$struct_FTC_SizeNodeRec____FLATTENER=[0,8,12],$struct_FT_AutoHinterRec____SIZE=0,$struct_FT_AutoHinterRec____FLATTENER=[],$struct_FT_AutoHinter_ServiceRec___SIZE=16,$struct_FT_AutofitterRec____SIZE=204,$struct_FT_Bitmap___SIZE=24,$struct_FT_Bitmap___FLATTENER= +[0,4,8,12,16,18,19,20],$struct_FT_BitmapGlyphRec____SIZE=52,$struct_FT_BitmapGlyphRec____FLATTENER=[0,20,24,28],$struct_FT_Bitmap_Size___SIZE=16,$struct_FT_Bitmap_Size___FLATTENER=[0,2,4,8,12],$struct_FT_CMapRec___SIZE=16,$struct_FT_CMap_ClassRec____SIZE=40,$struct_FT_CharMapRec___SIZE=12,$struct_FT_CharMapRec___FLATTENER=[0,4,8,10],$struct_FT_Data___SIZE=8,$struct_FT_DriverRec____SIZE=40,$struct_FT_DriverRec____FLATTENER=[0,20,24,32,36],$struct_FT_Driver_ClassRec____SIZE=104,$struct_FT_Driver_ClassRec____FLATTENER= +[0,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100],$struct_FT_FaceRec___SIZE=132,$struct_FT_FaceRec___FLATTENER=[0,4,8,12,16,20,24,28,32,36,40,44,52,68,70,72,74,76,78,80,82,84,88,92,96,100,104,108,116,124,128],$struct_FT_Face_InternalRec____SIZE=64,$struct_FT_Face_InternalRec____FLATTENER=[0,2,4,20,28,32,52,56,60],$struct_FT_Frame_Field___SIZE=4,$struct_FT_GZipFileRec____SIZE=8276,$struct_FT_GZipFileRec____FLATTENER=[0,4,8,12,68,72,4168,8264,8268,8272],$struct_FT_Generic___SIZE=8,$struct_FT_GlyphLoadRec___SIZE= +36,$struct_FT_GlyphLoadRec___FLATTENER=[0,20,24,28,32],$struct_FT_GlyphLoaderRec____SIZE=96,$struct_FT_GlyphLoaderRec____FLATTENER=[0,4,8,12,16,20,56,92],$struct_FT_GlyphRec____SIZE=20,$struct_FT_GlyphSlotRec____SIZE=160,$struct_FT_GlyphSlotRec____FLATTENER=[0,4,8,12,16,24,56,60,64,72,76,100,104,108,128,132,136,140,144,148,152,156],$struct_FT_Glyph_Class___SIZE=32,$struct_FT_Glyph_Metrics___SIZE=32,$struct_FT_IncrementalRec____SIZE=0,$struct_FT_IncrementalRec____FLATTENER=[],$struct_FT_Incremental_FuncsRec___SIZE= +12,$struct_FT_Incremental_InterfaceRec___SIZE=8,$struct_FT_LZWFileRec____SIZE=4292,$struct_FT_LZWFileRec____FLATTENER=[0,4,8,12,184,4280,4284,4288],$struct_FT_LibraryRec____SIZE=200,$struct_FT_LibraryRec____FLATTENER=[0,4,12,16,20,24,28,156,164,168,172,176,180,196],$struct_FT_ListNodeRec____SIZE=12,$struct_FT_ListRec___SIZE=8,$struct_FT_LzwStateRec___SIZE=172,$struct_FT_LzwStateRec___FLATTENER=[0,4,8,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,164,168],$struct_FT_MM_Var___SIZE=20, +$struct_FT_MemoryRec____SIZE=16,$struct_FT_ModuleRec___SIZE=20,$struct_FT_Module_Class___SIZE=36,$struct_FT_Multi_Master___SIZE=56,$struct_FT_Open_Args___SIZE=32,$struct_FT_Outline___SIZE=20,$struct_FT_Outline___FLATTENER=[0,2,4,8,12,16],$struct_FT_OutlineGlyphRec____SIZE=40,$struct_FT_Outline_Funcs___SIZE=24,$struct_FT_Parameter___SIZE=8,$struct_FT_RFork_Ref___SIZE=8,$struct_FT_RasterRec____SIZE=0,$struct_FT_RasterRec____FLATTENER=[],$struct_FT_Raster_Funcs___SIZE=24,$struct_FT_Raster_Params___SIZE= +48,$struct_FT_RendererRec____SIZE=72,$struct_FT_RendererRec____FLATTENER=[0,20,24,28,60,64,68],$struct_FT_Renderer_Class___SIZE=60,$struct_FT_Renderer_Class___FLATTENER=[0,36,40,44,48,52,56],$struct_FT_ServiceCacheRec___SIZE=20,$struct_FT_ServiceDescRec___SIZE=8,$struct_FT_Service_BDFRec___SIZE=8,$struct_FT_Service_CIDRec___SIZE=12,$struct_FT_Service_CKERNvalidateRec____SIZE=4,$struct_FT_Service_GXvalidateRec____SIZE=4,$struct_FT_Service_GlyphDictRec___SIZE=8,$struct_FT_Service_KerningRec___SIZE= +4,$struct_FT_Service_MultiMastersRec___SIZE=20,$struct_FT_Service_OTvalidateRec____SIZE=4,$struct_FT_Service_PfrMetricsRec___SIZE=12,$struct_FT_Service_PsCMapsRec___SIZE=32,$struct_FT_Service_PsFontNameRec___SIZE=4,$struct_FT_Service_PsInfoRec___SIZE=16,$struct_FT_Service_SFNT_TableRec___SIZE=12,$struct_FT_Service_TTCMapsRec___SIZE=4,$struct_FT_Service_TTGlyfRec___SIZE=4,$struct_FT_Service_TrueTypeEngineRec___SIZE=4,$struct_FT_Service_WinFntRec___SIZE=4,$struct_FT_SfntName___SIZE=16,$struct_FT_SfntName___FLATTENER= +[0,2,4,6,8,12],$struct_FT_SizeRec____SIZE=44,$struct_FT_SizeRec____FLATTENER=[0,4,12,40],$struct_FT_Size_InternalRec____SIZE=0,$struct_FT_Size_InternalRec____FLATTENER=[],$struct_FT_Size_Metrics___SIZE=28,$struct_FT_Size_Metrics___FLATTENER=[0,2,4,8,12,16,20,24],$struct_FT_Slot_InternalRec____SIZE=40,$struct_FT_Slot_InternalRec____FLATTENER=[0,4,8,12,28,36],$struct_FT_Span___SIZE=6,$struct_FT_StreamRec____SIZE=40,$struct_FT_StrokeBorderRec____SIZE=32,$struct_FT_StrokerRec____SIZE=120,$struct_FT_StrokerRec____FLATTENER= +[0,4,8,16,17,20,24,32,36,40,44,48,52,116],$struct_FT_SubGlyphRec____SIZE=32,$struct_FT_UnitVector___SIZE=4,$struct_FT_ValidatorRec____SIZE=172,$struct_FT_Var_Named_Style___SIZE=8,$struct_FT_WinFNT_HeaderRec___SIZE=156,$struct_FT_WinFNT_HeaderRec___FLATTENER=[0,4,8,68,70,72,74,76,78,80,82,83,84,86,88,90,92,94,96,98,100,101,102,103,104,108,112,116,120,124,128,132,134,136,138,140],$struct_GX_AVarSegmentRec____SIZE=8,$struct_GX_BlendRec____SIZE=40,$struct_GX_FVar_Axis___SIZE=20,$struct_GX_FVar_Axis___FLATTENER= +[0,4,8,12,16,18],$struct_GX_FVar_Head___SIZE=16,$struct_GX_FVar_Head___FLATTENER=[0,4,6,8,10,12,14],$struct_GX_GVar_Head___SIZE=20,$struct_GX_GVar_Head___FLATTENER=[0,4,6,8,12,14,16],$struct_IUP_WorkerRec____SIZE=16,$struct_PCF_AccelRec___SIZE=84,$struct_PCF_AccelRec___FLATTENER=[0,1,2,3,4,5,6,8,12,16,20,36,52,68],$struct_PCF_Compressed_MetricRec___SIZE=5,$struct_PCF_FaceRec____SIZE=328,$struct_PCF_FaceRec____FLATTENER=[0,132,172,176,180,184,196,280,284,288,292,296,300,304,308,312,316],$struct_PCF_MetricRec___SIZE= +16,$struct_PCF_ParsePropertyRec____SIZE=12,$struct_PCF_PropertyRec____SIZE=12,$struct_PCF_TocRec___SIZE=12,$struct_PFR_BitWriter____SIZE=20,$struct_PFR_CMapRec____SIZE=24,$struct_PFR_CMapRec____FLATTENER=[0,16,20],$struct_PFR_DimensionRec___SIZE=12,$struct_PFR_ExtraItemRec____SIZE=8,$struct_PFR_FaceRec____SIZE=440,$struct_PFR_FaceRec____FLATTENER=[0,132,240,288],$struct_PFR_GlyphRec____SIZE=36,$struct_PFR_HeaderRec____SIZE=108,$struct_PFR_KernItemRec____SIZE=24,$struct_PFR_KernItemRec____FLATTENER= +[0,4,5,6,8,12,16,20],$struct_PFR_LogFontRec____SIZE=48,$struct_PFR_LogFontRec____FLATTENER=[0,4,8,24,28,32,36,40,44],$struct_PFR_PhyFontRec____SIZE=152,$struct_PFR_PhyFontRec____FLATTENER=[0,4,8,12,16,20,36,40,44,48,52,56,68,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148],$struct_PFR_SizeRec____SIZE=44,$struct_PFR_SlotRec____SIZE=196,$struct_PFR_StrikeRec___SIZE=36,$struct_PFR_SubGlyphRec___SIZE=24,$struct_PSAux_Interface___SIZE=28,$struct_PSH_Blue_TableRec___SIZE=516,$struct_PSH_BluesRec___SIZE= +2084,$struct_PSH_BluesRec___FLATTENER=[0,516,1032,1548,2064,2068,2072,2076,2080],$struct_PSH_ContourRec____SIZE=8,$struct_PSH_DimensionRec___SIZE=204,$struct_PSH_DimensionRec___FLATTENER=[0,196,200],$struct_PSH_GlobalsRec____SIZE=2496,$struct_PSH_GlobalsRec____FLATTENER=[0,4,412],$struct_PSH_Globals_FuncsRec___SIZE=12,$struct_PSH_GlyphRec____SIZE=128,$struct_PSH_GlyphRec____FLATTENER=[0,4,8,12,16,20,24,28,108,112,116,120,121,122,123,124],$struct_PSH_HintRec____SIZE=28,$struct_PSH_Hint_TableRec____SIZE= +40,$struct_PSH_PointRec____SIZE=48,$struct_PSH_PointRec____FLATTENER=[0,4,8,12,16,20,21,24,28,32,36,40,44],$struct_PSH_WidthsRec___SIZE=196,$struct_PSHinter_Interface___SIZE=12,$struct_PS_BlendRec____SIZE=420,$struct_PS_BlendRec____FLATTENER=[0,4,8,24,88,136,140,144,212,280,284,352,416],$struct_PS_DesignMapRec___SIZE=12,$struct_PS_DimensionRec____SIZE=36,$struct_PS_FontExtraRec___SIZE=2,$struct_PS_FontInfoRec___SIZE=32,$struct_PS_FontInfoRec___FLATTENER=[0,4,8,12,16,20,24,26,28],$struct_PS_Hint_TableRec____SIZE= +12,$struct_PS_Hinter_Module_Rec____SIZE=176,$struct_PS_Hinter_Module_Rec____FLATTENER=[0,20,108,120,148],$struct_PS_HintsRec____SIZE=88,$struct_PS_MaskRec____SIZE=16,$struct_PS_Mask_TableRec____SIZE=12,$struct_PS_ParserRec___SIZE=72,$struct_PS_Parser_FuncsRec___SIZE=52,$struct_PS_PrivateRec___SIZE=196,$struct_PS_PrivateRec___FLATTENER=[0,4,8,9,10,11,12,40,60,88,108,112,116,120,122,124,125,126,127,128,154,180,184,188,192],$struct_PS_TableRec___SIZE=52,$struct_PS_Table_FuncsRec___SIZE=16,$struct_PS_UnicodesRec___SIZE= +24,$struct_PS_UnicodesRec___FLATTENER=[0,16,20],$struct_SFNT_HeaderRec____SIZE=16,$struct_SFNT_HeaderRec____FLATTENER=[0,4,6,8,10,12],$struct_SFNT_Interface___SIZE=160,$struct_T1_BuilderRec___SIZE=112,$struct_T1_BuilderRec___FLATTENER=[0,4,8,12,16,20,24,28,32,40,48,64,68,69,70,72,76,80],$struct_T1_Builder_FuncsRec___SIZE=32,$struct_T1_CMapCustomRec____SIZE=28,$struct_T1_CMapCustomRec____FLATTENER=[0,16,20,24],$struct_T1_CMapStdRec____SIZE=32,$struct_T1_CMapStdRec____FLATTENER=[0,16,20,24,28],$struct_T1_CMap_ClassesRec___SIZE= +16,$struct_T1_DecoderRec____SIZE=1500,$struct_T1_DecoderRec____FLATTENER=[0,112,1136,1140,1344,1348,1352,1356,1360,1364,1368,1372,1376,1392,1400,1404,1408,1464,1468,1472,1476,1488,1492,1496],$struct_T1_Decoder_FuncsRec___SIZE=12,$struct_T1_DriverRec____SIZE=0,$struct_T1_DriverRec____FLATTENER=[],$struct_T1_EncodingRec___SIZE=20,$struct_T1_FaceRec____SIZE=556,$struct_T1_FaceRec____FLATTENER=[0,132,484,488,492,496,520,528,532,536,540,544,548,552],$struct_T1_FieldRec____SIZE=36,$struct_T1_FontRec___SIZE= +352,$struct_T1_FontRec___FLATTENER=[0,32,36,232,236,240,260,264,268,272,276,280,284,288,292,296,300,301,304,320,328,344,348],$struct_T1_GlyphSlotRec____SIZE=180,$struct_T1_GlyphSlotRec____FLATTENER=[0,160,161,164,168,172,176],$struct_T1_HintsRec____SIZE=0,$struct_T1_HintsRec____FLATTENER=[],$struct_T1_Hints_FuncsRec___SIZE=28,$struct_T1_Loader____SIZE=376,$struct_T1_Loader____FLATTENER=[0,96,100,152,156,208,260,312,316,368,372],$struct_T1_ParserRec____SIZE=96,$struct_T1_ParserRec____FLATTENER=[0, +72,76,80,84,88,92,93,94],$struct_T1_TokenRec____SIZE=12,$struct_T2_HintsRec____SIZE=0,$struct_T2_HintsRec____FLATTENER=[],$struct_T2_Hints_FuncsRec___SIZE=28,$struct_T42_DriverRec____SIZE=48,$struct_T42_DriverRec____FLATTENER=[0,40,44],$struct_T42_FaceRec____SIZE=560,$struct_T42_FaceRec____FLATTENER=[0,132,484,488,492,496,500,504,528,536],$struct_T42_GlyphSlotRec____SIZE=164,$struct_T42_LoaderRec___SIZE=304,$struct_T42_LoaderRec___FLATTENER=[0,88,92,144,148,200,252],$struct_T42_ParserRec___SIZE=88, +$struct_T42_ParserRec___FLATTENER=[0,72,76,80,84],$struct_T42_SizeRec____SIZE=48,$struct_TBBox_Rec___SIZE=24,$struct_TCell____SIZE=16,$struct_TProfile___SIZE=32,$struct_TRaster____SIZE=24,$struct_TRaster____FLATTENER=[0,4,8,12,16,22],$struct_TTC_HeaderRec___SIZE=16,$struct_TT_BDFRec___SIZE=24,$struct_TT_CMap12Rec____SIZE=44,$struct_TT_CMap12Rec____FLATTENER=[0,24,28,32,36,40],$struct_TT_CMap14Rec____SIZE=40,$struct_TT_CMap14Rec____FLATTENER=[0,24,28,32,36],$struct_TT_CMap4Rec____SIZE=56,$struct_TT_CMap4Rec____FLATTENER= +[0,24,28,32,36,40,44,48,52],$struct_TT_CMapRec____SIZE=24,$struct_TT_CMapRec____FLATTENER=[0,16,20],$struct_TT_CMap_ClassRec___SIZE=52,$struct_TT_CMap_ClassRec___FLATTENER=[0,40,44,48],$struct_TT_DefRecord____SIZE=16,$struct_TT_DriverRec____SIZE=84,$struct_TT_DriverRec____FLATTENER=[0,40,44,80],$struct_TT_ExecContextRec____SIZE=608,$struct_TT_ExecContextRec____FLATTENER=[0,4,8,12,16,20,24,28,32,36,72,108,144,180,216,244,284,352,356,360,364,368,372,376,380,384,388,392,396,400,404,408,412,416,420,424, +428,432,436,440,442,444,468,472,476,480,484,488,492,560,561,564,568,572,576,580,584,588,592,596,600,604],$struct_TT_FaceRec____SIZE=824,$struct_TT_FaceRec____FLATTENER=[0,132,148,152,156,160,216,260,292,296,300,344,348,368,468,500,504,508,512,516,520,524,528,532,536,540,548,556,612,616,620,624,628,644,648,652,656,660,664,668,672,676,680,684,688,692,700,704,708,712,716,720,724,728,732,736,740,744,748,752,756,760,764,768,772,776,780,784,788,792,816,820],$struct_TT_GaspRec___SIZE=8,$struct_TT_GlyphZoneRec___SIZE= +36,$struct_TT_GlyphZoneRec___FLATTENER=[0,4,6,8,10,12,16,20,24,28,32],$struct_TT_GraphicsState___SIZE=68,$struct_TT_GraphicsState___FLATTENER=[0,2,4,6,10,14,20,24,28,32,36,40,44,48,50,52,53,56,60,62,64],$struct_TT_HdmxEntryRec____SIZE=8,$struct_TT_HdmxEntryRec____FLATTENER=[0,1,4],$struct_TT_HdmxRec___SIZE=8,$struct_TT_Header___SIZE=56,$struct_TT_Header___FLATTENER=[0,4,8,12,16,18,20,28,36,38,40,42,44,46,48,50,52],$struct_TT_HoriHeader___SIZE=44,$struct_TT_HoriHeader___FLATTENER=[0,4,6,8,10,12,14, +16,18,20,22,24,32,34,36,40],$struct_TT_Kern0_PairRec____SIZE=6,$struct_TT_LoaderRec____SIZE=208,$struct_TT_LoaderRec____FLATTENER=[0,4,8,12,16,20,24,28,32,36,52,56,60,64,65,68,76,84,88,124,160,164,168,172,176,180,184,192,200,204],$struct_TT_MaxProfile___SIZE=32,$struct_TT_MaxProfile___FLATTENER=[0,4,6,8,10,12,14,16,18,20,22,24,26,28,30],$struct_TT_NameEntryRec___SIZE=20,$struct_TT_NameEntryRec___FLATTENER=[0,2,4,6,8,12,16],$struct_TT_NameTableRec___SIZE=20,$struct_TT_OS2___SIZE=100,$struct_TT_OS2___FLATTENER= +[0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,44,48,52,56,60,64,66,68,70,72,74,76,78,80,84,88,90,92,94,96],$struct_TT_PCLT___SIZE=56,$struct_TT_PCLT___FLATTENER=[0,4,8,10,12,14,16,18,20,36,44,50,51,52,53],$struct_TT_Post_20Rec___SIZE=12,$struct_TT_Post_20Rec___FLATTENER=[0,2,4,8],$struct_TT_Post_25Rec___SIZE=8,$struct_TT_Post_NamesRec___SIZE=16,$struct_TT_Postscript___SIZE=32,$struct_TT_Postscript___FLATTENER=[0,4,8,10,12,16,20,24,28],$struct_TT_SBit_ComponentRec____SIZE=4,$struct_TT_SBit_ComponentRec____FLATTENER= +[0,2,3],$struct_TT_SBit_LineMetricsRec___SIZE=12,$struct_TT_SBit_MetricsRec___SIZE=8,$struct_TT_SBit_RangeRec____SIZE=40,$struct_TT_SBit_RangeRec____FLATTENER=[0,2,4,6,8,12,16,24,28,32,36],$struct_TT_SBit_ScaleRec____SIZE=28,$struct_TT_SBit_ScaleRec____FLATTENER=[0,12,24,25,26,27],$struct_TT_SBit_StrikeRec____SIZE=48,$struct_TT_SBit_StrikeRec____FLATTENER=[0,4,8,12,16,28,40,42,44,45,46,47],$struct_TT_SizeRec____SIZE=304,$struct_TT_SizeRec____FLATTENER=[0,44,72,112,116,120,124,128,132,136,140,144, +148,172,240,244,248,252,256,292,296,300,301],$struct_TT_Size_Metrics___SIZE=40,$struct_TT_Size_Metrics___FLATTENER=[0,4,8,12,16,20,36,37,38],$struct_TT_ValidatorRec____SIZE=176,$struct_TWorker____SIZE=1028,$struct_TWorker____FLATTENER=[0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,86,87,88,92,96,100,104,128,148,152,156,158,160,164,168,172,176,180,181,184,960,1024],$struct_WinPE32_HeaderRec___SIZE=20,$struct_WinPE32_HeaderRec___FLATTENER=[0,4,6,8,10,12,16],$struct_WinPE32_SectionRec___SIZE= +20,$struct_WinPE32_SectionRec___FLATTENER=[0,8,12,16],$struct_WinPE_RsrcDirRec___SIZE=16,$struct_WinPE_RsrcDirRec___FLATTENER=[0,4,8,10,12,14],$struct__IO_FILE___SIZE=148,$struct__IO_FILE___FLATTENER=[0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,70,71,72,76,84,88,92,96,100,104,108],$struct__IO_marker___SIZE=12,$struct___jmp_buf_tag___SIZE=156,$struct___jmp_buf_tag___FLATTENER=[0,24,28],$struct___sigset_t___SIZE=128,$struct__bdf_list_t___SIZE=16,$struct__bdf_parse_t___SIZE=8252,$struct__bdf_parse_t___FLATTENER= +[0,4,8,12,14,16,18,20,22,24,28,32,36,40,8232,8248],$struct_bdf_bbx_t___SIZE=12,$struct_bdf_font_t___SIZE=16548,$struct_bdf_font_t___FLATTENER=[0,4,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,128,132,8324,16516,16518,16520,16524,16528,16532],$struct_bdf_glyph_t___SIZE=36,$struct_bdf_glyph_t___FLATTENER=[0,4,8,10,12,24,28,32],$struct_bdf_glyphlist_t___SIZE=36,$struct_bdf_glyphlist_t___FLATTENER=[0,2,4,8,12,16,20,24],$struct_bdf_property_t___SIZE=16,$struct_hashtable___SIZE=16,$struct_raccess_guess_rec___SIZE= +8,$struct_stat___SIZE=88,$struct_stat___FLATTENER=[0,8,12,16,20,24,28,32,40,44,48,52,56,60,64,68,72,76,80,84],$struct_z_stream___SIZE=56,$union_anon___SIZE=12,_WIDTH,_HEIGHT,_image,__str,_stderr,__str1,__str2,__str3,__str4,_ft_default_modules,__str5,__str16,__str27,__str38,__str49,__str510,__str6,__str7,__str8,__str9,__str10,__str11,_raccess_guess_table,__str12,__str13,__str14,__str15,__str1611,__str17,__str18,_ft_trig_arctan_table,_bbox_interface,__str19,__str20,__str21,_ft_bitmap_glyph_class,_ft_outline_glyph_class, +__str22,__str123,__str24,__str25,__str127,__str28,__str30,__str31,_tt_service_gx_multi_masters,_tt_service_truetype_engine,_tt_service_truetype_glyf,_tt_services,__str133,__str537,_tt_driver_class,_tt_default_graphics_state,_trick_names_6890,_sfnt_id_6968,_Pop_Push_Count,_opcode_length,_gvar_fields_11813,_fvar_fields_12035,_fvaraxis_fields_12036,__str740,__str841,__str942,__str1043,__str44,__str145,__str246,__str650,__str751,__str852,__str953,__str1054,__str1155,_t1_keywords,__str1256,__str1357,__str1458, +__str1559,__str1660,__str1761,__str1862,__str1963,__str2064,__str2165,__str2266,__str23,__str2467,__str2568,__str2669,__str2712,__str2870,__str2971,__str3072,__str3173,__str3274,__str33,__str34,__str35,__str36,__str37,__str3813,__str39,__str40,__str41,__str42,__str43,__str4475,__str45,__str46,__str47,__str48,__str4914,__str50,__str51,__str52,__str53,__str54,__str55,__str56,__str57,__str58,__str59,__str60,__str61,__str62,__str63,__str64,_t1_service_glyph_dict,_t1_service_ps_name,_t1_service_multi_masters, +_t1_service_ps_info,_t1_service_kerning,_t1_services,__str68,_t1_driver_class,_cff_service_glyph_dict,_cff_service_ps_info,_cff_service_ps_name,_cff_cmap_encoding_class_rec,_cff_cmap_unicode_class_rec,_cff_service_get_cmap_info,_cff_service_cid_info,_cff_services,__str481,_cff_driver_class,_power_tens,_cff_field_handlers,_cff_isoadobe_charset,_cff_expert_charset,_cff_expertsubset_charset,_cff_standard_encoding,_cff_expert_encoding,_cff_header_fields_6394,_cff_argument_counts,__str93,__str194,__str295, +__str396,_cid_field_records,__str497,__str598,__str699,__str7100,__str8101,__str9102,__str10103,__str11104,__str12105,__str13106,__str14107,__str27120,__str28121,__str29122,__str30123,__str31124,__str51144,__str54147,_cid_service_ps_name,_cid_service_ps_info,_cid_service_cid_info,_cid_services,__str61154,_t1cid_driver_class,__str65159,_pfr_header_fields,_pfr_phy_font_extra_items,_pfr_cmap_class_rec,_pfr_metrics_service_rec,_pfr_services,__str2166,_pfr_driver_class,__str3168,_t42_keywords,__str23192, +__str24193,__str29198,_t42_service_glyph_dict,_t42_service_ps_font_name,_t42_service_ps_info,_t42_services,__str34203,_t42_driver_class,_winmz_header_fields,_winne_header_fields,_winpe32_header_fields,_winpe32_section_fields,_winpe_rsrc_dir_fields,_winpe_rsrc_dir_entry_fields,_winpe_rsrc_data_entry_fields,_winfnt_header_fields,_fnt_cmap_class_rec,__str1207,__str3209,_winfnt_service_rec,_winfnt_services,__str5211,_winfnt_driver_class,_pcf_metric_header,_pcf_metric_msb_header,_pcf_compressed_metric_header, +_pcf_property_header,_pcf_property_msb_header,_pcf_accel_header,_pcf_accel_msb_header,__str214,__str1215,__str3217,__str5219,__str6220,__str8222,__str9223,__str10224,__str11225,__str12226,__str13227,__str14228,__str15229,_pcf_cmap_class,__str16230,__str17231,__str18232,_pcf_service_bdf,_pcf_services,__str21235,_pcf_driver_class,__str22237,__bdf_opts,__bdf_properties,__str2240,__str3241,__str4242,__str5243,__str8246,__str9247,__str10248,__str11249,__str12250,__str13251,__str14252,__str16254,__str17255, +__str18256,__str19257,__str20258,__str21259,__str22260,__str23261,__str24262,__str25263,__str26264,__str27265,__str30268,__str31269,__str32270,__str33271,__str34272,__str35273,__str36274,__str37275,__str38276,__str39277,__str40278,__str41279,__str42280,__str43281,__str44282,__str45283,__str46284,__str47285,__str48286,__str49287,__str50288,__str51289,__str52290,__str53291,__str54292,__str55293,__str56294,__str57295,__str58296,__str59297,__str60298,__str61299,__str66304,__str67305,__str68306,__str69307, +__str70308,__str71309,__str72310,__str73,__str74,__str75,__str76,__str77311,__str78,__str80,__str81,__str82,_empty,_a2i,_odigits,_ddigits,_hdigits,__str83,_nibble_mask,__str84,__str85,__str86,__str87,__str88,__str89,__str90,__str91,__str92,__str93312,__str94,__str95,__str96,__str97,__str98,__str99,__str100,_bdf_cmap_class,_bdf_service_bdf,_bdf_services,__str110,_bdf_driver_class,_table_dir_entry_fields_3826,_offset_table_fields_3900,_header_fields_3996,_maxp_fields_4025,_maxp_fields_extra_4026,_name_table_fields_4061, +_name_record_fields_4062,_os2_fields_4158,_os2_fields_extra_4159,_os2_fields_extra2_4160,_post_fields_4185,_pclt_fields_4199,_metrics_header_fields_4401,_tt_cmap0_class_rec,_tt_cmap2_class_rec,_tt_cmap4_class_rec,_tt_cmap6_class_rec,_tt_cmap8_class_rec,_tt_cmap10_class_rec,_tt_cmap12_class_rec,_tt_cmap13_class_rec,_tt_cmap14_class_rec,_tt_cmap_classes,_tt_encodings_9541,_ttc_header_fields_9565,_sfnt_service_sfnt_table,_sfnt_service_glyph_dict,_sfnt_service_ps_name,_tt_service_get_cmap_info,_sfnt_service_bdf, +_sfnt_services,_sfnt_interface,_sfnt_module_class,_sbit_metrics_fields,_strike_start_fields_10745,_sbit_line_metrics_fields_10744,_strike_end_fields_10746,_sbit_small_metrics_fields_11020,_af_script_classes,_af_dummy_script_class,_af_latin_script_class,_af_cjk_script_class,_af_indic_script_class,_af_latin_blue_chars,_latin_encodings_4600,_af_latin_uniranges,_af_cjk_uniranges,_af_indic_uniranges,_af_autofitter_service,_autofit_module_class,__str325,_pshinter_interface,_pshinter_module_class,_ft_standard_raster, +_ft_raster1_renderer_class,_ft_raster5_renderer_class,__str329,__str1330,_func_interface,_ft_grays_raster,_ft_smooth_renderer_class,__str332,_ft_smooth_lcd_renderer_class,__str1334,_ft_smooth_lcdv_renderer_class,__str2336,_ftc_size_list_class,_ftc_face_list_class,_ftc_cmap_cache_class,_ftc_basic_image_family_class,_ftc_basic_image_cache_class,_ftc_basic_sbit_family_class,_ftc_basic_sbit_cache_class,__str337,_ps_table_funcs,_ps_parser_funcs,_t1_builder_funcs,_t1_decoder_funcs,_afm_parser_funcs,_t1_cmap_classes, +_t1_cmap_standard_class_rec,_t1_cmap_expert_class_rec,_t1_cmap_custom_class_rec,_t1_cmap_unicode_class_rec,_psaux_interface,_psaux_module_class,_t1_args_count,_afm_key_table,__str2343,__str3344,__str4345,__str5346,__str9350,__str10351,__str11352,__str12353,__str13354,__str14355,__str15356,__str16357,__str17358,__str18359,__str19360,__str20361,__str21362,__str22363,__str23364,__str24365,__str25366,__str26367,__str31372,__str32373,__str33374,__str34375,__str36377,__str37378,__str38379,__str39380,__str40381, +__str41382,__str42383,__str43384,__str45386,__str46387,__str47388,__str48389,__str49390,__str50391,__str51392,__str52393,__str53394,__str54395,__str55396,__str58399,__str61402,__str62403,__str63404,__str64405,__str65406,__str66407,__str67408,__str68409,__str69410,__str70411,__str71412,__str72413,__str75416,__str76417,_ft_char_table,_ft_standard_glyph_names,_ft_mac_names,_ft_sid_names,_t1_expert_encoding,_ft_adobe_glyph_list,_ft_extra_glyph_unicodes,_ft_extra_glyph_names,_ft_extra_glyph_name_offsets, +_pscmaps_interface,_pscmaps_services,_psnames_module_class,__str1421;_putchar=function(e){__print__(String.fromCharCode(e))};_printf=function(){__print__(Pointer_stringify(__formatString.apply(null,arguments)))}; +__formatString=function(){function e(l){return String.fromCharCode(l)in Runtime.set("f","e","g")}function g(l){var m;if(d){e(l);m=HEAP[a];a+=l==="l".charCodeAt(0)?8:4}else{m=c[a];a++}return m}var d=false,b=arguments[0],a=1;if(b<0){d=true;b=-b;slab=null;a=arguments[1]}else var c=arguments;for(var f=[],h,i,k;;){h=HEAP[b];if(h===0)break;i=HEAP[b+1];if(h=="%".charCodeAt(0)){h=-1;if(i==".".charCodeAt(0)){b++;for(h=0;;){i=HEAP[b+1];if(!(i>="0".charCodeAt(0)&&i<="9".charCodeAt(0)))break;h*=10;h+=i-"0".charCodeAt(0); +b++}i=HEAP[b+1]}if(i=="l".charCodeAt(0)){b++;i=HEAP[b+1]}if(e(i))i="f".charCodeAt(0);if(["d","i","u","p","f"].indexOf(String.fromCharCode(i))!=-1){var j;k=g(i);j=String(+k);j=i=="u".charCodeAt(0)?String(unSign(k,32)):i=="p".charCodeAt(0)?"0x"+k.toString(16):String(+k);if(h>=0)if(e(i)){k=j.indexOf(".");if(k==-1&&i=="f".charCodeAt(0)){k=j.length;j+="."}j+="00000000000";j=j.substr(0,k+1+h)}else for(;j.length<h;)j="0"+j;j.split("").forEach(function(l){f.push(l.charCodeAt(0))})}else if(i=="s".charCodeAt(0))f= +f.concat(String_copy(g(i)));else if(i=="c".charCodeAt(0))f=f.concat(g(i));else f.push(i);b+=2}else{f.push(h);b+=1}}return Pointer_make(f.concat(0),0,ALLOC_STACK)}; +_STDIO={streams:{},filenames:{},counter:1,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,init:function(){_stdin=Pointer_make([0],null,ALLOC_STATIC);IHEAP[_stdin]=this.prepare("<<stdin>>");_stdout=Pointer_make([0],null,ALLOC_STATIC);IHEAP[_stdout]=this.prepare("<<stdout>>",null,true);_stderr=Pointer_make([0],null,ALLOC_STATIC);IHEAP[_stderr]=this.prepare("<<stderr>>",null,true)},prepare:function(e,g,d){var b=this.counter++;this.streams[b]={filename:e,data:g?g:[],position:0,eof:0,error:0,print:d};return this.filenames[e]= +b},open:function(e){e=_STDIO.filenames[e];if(!e)return-1;var g=_STDIO.streams[e];g.position=g.error=g.eof=0;return e},read:function(e,g,d){e=_STDIO.streams[e];if(!e)return-1;for(var b=0;b<d;b++){if(e.position>=e.data.length){e.eof=1;return 0}HEAP[g]=e.data[e.position];e.position++;g++}return d}};_fprintf=function(){var e=Array.prototype.slice.call(arguments,1);__print__(Pointer_stringify(__formatString.apply(null,e)))}; +_exit=function(e){__shutdownRuntime__();ABORT=true;throw"exit("+e+") called, at "+Error().stack;};_strlen=function(e){return String_len(e)};_atoi=function(e){return Math.floor(Number(Pointer_stringify(e)))};_cos=Math.cos;_sin=Math.sin;_realloc=function(e,g){if(!g){e&&_free(e);return 0}var d=_malloc(g);if(e){_memcpy(d,e,g);_free(e)}return d};_memcpy=function(e,g,d){for(var b=0;b<d;b++){IHEAP[e+b]=IHEAP[g+b];FHEAP[e+b]=FHEAP[g+b]}};_munmap=function(e){_free(e)}; +_open=function(e,g,d){e=Pointer_stringify(e);if(g===0)return _STDIO.open(e);else if(g===1)return _STDIO.prepare(e);else assert(false,"open with odd params: "+[g,d])};_fcntl=function(){};_fstat=function(e,g){var d=_STDIO.streams[e];if(!d)return-1;HEAP[g+$struct_stat___FLATTENER[9]]=d.data.length;return 0};_mmap=function(e,g,d,b,a,c){e=_STDIO.streams[a];if(!e)return-1;return Pointer_make(e.data.slice(c,c+g),null,ALLOC_NORMAL)};_read=function(e,g,d){return _STDIO.read(e,g,d)}; +___errno_location=function(){var e=arguments.callee;if(!e.ret)e.ret=Pointer_make([0],0,ALLOC_STATIC);return e.ret};_close=function(){return 0};_llvm_memcpy_p0i8_p0i8_i32=function(e,g,d){for(var b=0;b<d;b++){IHEAP[e+b]=IHEAP[g+b];FHEAP[e+b]=FHEAP[g+b]}};_llvm_memmove_p0i8_p0i8_i32=function(e,g,d){if(d!==0){var b=_malloc(d);_memcpy(b,g,d);_memcpy(e,b,d);_free(b)}}; +_strcmp=function(e,g){for(var d=0;;){var b=HEAP[e+d],a=HEAP[g+d];if(b==a&&b==0)return 0;if(b==0)return-1;if(a==0)return 1;if(b==a)d++;else return b>a?1:-1}};_llvm_memset_p0i8_i32=Runtime.memset;_memcmp=function(e,g,d){for(var b=0;b<d;b++){var a=HEAP[e+b],c=HEAP[g+b];if(a!=c)return a>c?1:-1}return 0}; +_qsort=function(e,g,d,b){b=FUNCTION_TABLE[b];for(var a=[],c=0;c<g;c++)a.push(c);a.sort(function(h,i){return b(e+h*d,e+i*d)});var f=_malloc(g*d);_memcpy(f,e,g*d);for(c=0;c<g;c++)a[c]!=c&&_memcpy(e+c*d,f+a[c]*d,d);_free(f)};_strrchr=function(e,g){var d=e+Pointer_stringify(e).length;do{if(HEAP[d]==g)return d;d--}while(d>=e);return 0};_strncpy=function(e,g,d){for(var b=false,a,c=0;c<d;c++){a=b?0:HEAP[g+c];HEAP[e+c]=a;b=b||HEAP[g+c]==0}}; +_strcat=function(e,g){var d=Pointer_stringify(e).length,b=0;do{HEAP[e+d+b]=HEAP[g+b];b++}while(HEAP[g+b-1]!=0);return e};_strstr=function(e,g){var d=Pointer_stringify(e),b=Pointer_stringify(g);d=d.search(b);return d>=0?e+d:0};_strncmp=function(e,g,d){for(var b=0;b<d;){var a=HEAP[e+b],c=HEAP[g+b];if(a==c&&a==0)break;if(a==0)return-1;if(c==0)return 1;if(a==c)b++;else return a>c?1:-1}return 0}; +_sprintf=function(){var e=arguments[0],g=Array.prototype.slice.call(arguments,1);_strcpy(e,__formatString.apply(null,g))};_strcpy=function(e,g){var d=0;do{HEAP[e+d]=HEAP[g+d];d++}while(HEAP[g+d-1]!=0)};__setjmp=function(){print("WARNING: setjmp() not really implemented, will fail if longjmp() is actually called");return 0};_memchr=function(e,g,d){g=unSign(g);for(var b=0;b<d;b++){if(HEAP[e]==g)return e;e++}return 0};_llvm_memset_p0i8_i64=Runtime.memset; +function __Z11draw_bitmapP10FT_Bitmap_ii(e,g,d){var b,a=null,c,f;c=g+HEAP[e+4];f=d+HEAP[e];if(reSign(g,32)<reSign(c,32)){var h=e+12;e=e+4;var i=reSign(d,32)<reSign(f,32),k=d+1;f=(reSign(f,32)>reSign(k,32)?f:k)-d;a=0;a:for(;;){k=a==0?0:p;var j=a==0?g:n,l=0+k;if(i){a=1;b=2}else{a=1;b=3}for(;;)if(b==2){o=a==5?o:0;a=d+o;b=reSign(j,32)<reSign(0,32);var m=reSign(a,32)<reSign(0,32);b=b|m;m=HEAP[_WIDTH];m=reSign(j,32)>=reSign(m,32);b=b|m;m=HEAP[_HEIGHT];m=reSign(a,32)>=reSign(m,32);b|m||(HEAP[HEAP[_image]+ +(a*HEAP[_WIDTH]+j)]=HEAP[HEAP[h]+l+HEAP[e]*o]|HEAP[HEAP[_image]+(a*HEAP[_WIDTH]+j)]);var o=o+1;if(o!=f){a=5;b=2}else{a=5;b=3}}else if(b==3){var n=j+1;j=reSign(n,32)<reSign(c,32);var p=k+1;if(j){a=3;continue a}else break a}}}}__Z11draw_bitmapP10FT_Bitmap_ii.__index__=Runtime.getFunctionIndex(__Z11draw_bitmapP10FT_Bitmap_ii,"__Z11draw_bitmapP10FT_Bitmap_ii"); +function __Z10show_imagev(){var e,g=null,d;d=0;var b=HEAP[_HEIGHT];if(reSign(0,32)<reSign(b,32)){d=d;g=0;a:for(;;){b=g==0?0:l;var a=g==0?d:j,c=0+b,f=1+b;e=HEAP[_WIDTH];if(reSign(0,32)<reSign(e,32)){g=1;e=2}else{g=1;e=3}b:for(;;)if(e==2){h=g==5?h:a;k=g==5?k:0;e=k+1;g=h+1;var h=HEAP[HEAP[_image]+(k+c*HEAP[_WIDTH])]!=0?g:h,i=HEAP[HEAP[_image]+(k+c*HEAP[_WIDTH])]!=0;c:do if(i){if(reSign(HEAP[HEAP[_image]+(k+c*HEAP[_WIDTH])],8)>=reSign(0,8)){g=4;break c}g=6}else g=2;while(0);_putchar(g==6?42:g==4?43:32); +var k=k+1;g=HEAP[_WIDTH];if(reSign(e,32)<reSign(g,32)){g=5;e=2;continue b}g=8;e=3}else if(e==3){var j=g==8?h:a;_putchar(10);l=HEAP[_HEIGHT];f=reSign(f,32)<reSign(l,32);var l=b+1;if(f){g=3;continue a}else break a}}d=j}_printf(__str,d)}__Z10show_imagev.__index__=Runtime.getFunctionIndex(__Z10show_imagev,"__Z10show_imagev"); +function _main(e,g){var d=STACKTOP;STACKTOP+=64;Runtime.memset(d,0,64);var b,a=null,c,f;c=d+32;var h=d+36,i=d+40,k=d+56,j,l,m,o,n;if(e!=6){_fprintf(HEAP[_stderr],__str1,HEAP[g]);_exit(1);throw"Reached an unreachable! Original .ll line: 1105";}else{l=HEAP[g+8];n=_strlen(l);o=_atoi(HEAP[g+12]);HEAP[_WIDTH]=o;o=_atoi(HEAP[g+16]);HEAP[_HEIGHT]=o;o=_atoi(HEAP[g+20]);m=reSign(o,32)/360*3.14159*2;o=HEAP[_HEIGHT];a=_malloc(HEAP[_HEIGHT]*HEAP[_WIDTH]);HEAP[_image]=a;a=HEAP[_WIDTH];if(reSign(0,32)<reSign(a, +32)){a=0;a:for(;;){var p=a==0?0:f,r=0+p,q=1+p;a=HEAP[_HEIGHT];if(reSign(0,32)<reSign(a,32)){a=1;b=2}else{a=1;b=3}for(;;)if(b==2){j=a==2?j:0;a=j+1;HEAP[HEAP[_image]+r+HEAP[_WIDTH]*j]=0;j=j+1;b=HEAP[_HEIGHT];if(reSign(a,32)<reSign(b,32))b=a=2;else{a=2;b=3}}else if(b==3){f=HEAP[_WIDTH];a=reSign(q,32)<reSign(f,32);f=p+1;if(a){a=3;continue a}else break a}}}j=f=_FT_Init_FreeType(c);f!=0&&_printf(__str2,j);a=HEAP[g+4];f=HEAP[c];p=a==0;a:do{if(p){j=6;b=7}else{HEAP[d]=4;HEAP[d+12]=a;HEAP[d+16]=0;j=f=_FT_Open_Face(f, +d,0,h);b=f!=0?7:8}break a}while(0);b==7&&_printf(__str3,j);j=f=_FT_Set_Char_Size(HEAP[h],3200,0,100,0);f!=0&&_printf(__str4,j);a=HEAP[HEAP[h]+84];j=_cos(m)*65536;HEAP[i]=Math.floor(j);j=_sin(m)*-65536;HEAP[i+4]=Math.floor(j);j=_sin(m)*65536;HEAP[i+8]=Math.floor(j);m=_cos(m)*65536;HEAP[i+12]=Math.floor(m);HEAP[k]=1E3;HEAP[k+4]=0;if(reSign(0,32)<reSign(n,32)){m=a+104;j=a+100;f=a+76;p=a+64;q=k+4;b=a+64+4;r=k+4;n=(reSign(n,32)>reSign(1,32)?n:1)-0;for(a=11;;){s=a==11?0:s;a=l+(0+s);_FT_Set_Transform(HEAP[h], +i,k);a=reSign(HEAP[a],8);if(_FT_Load_Char(HEAP[h],a,4)==0){__Z11draw_bitmapP10FT_Bitmap_ii(f,HEAP[j],o-HEAP[m]);HEAP[k]=HEAP[p]+HEAP[k];HEAP[r]=HEAP[b]+HEAP[q]}var s=s+1;if(s!=n)a=14;else break}}__Z10show_imagev();_FT_Done_Face(HEAP[h]);h=HEAP[c];if(h!=0){c=HEAP[h];_FT_Done_Library(h);FUNCTION_TABLE[HEAP[c+8]](c,c)}STACKTOP=d;return 0}}_main.__index__=Runtime.getFunctionIndex(_main,"_main");function _ft_alloc(e,g){return _malloc(g)}_ft_alloc.__index__=Runtime.getFunctionIndex(_ft_alloc,"_ft_alloc"); +function _ft_realloc(e,g,d,b){return _realloc(b,d)}_ft_realloc.__index__=Runtime.getFunctionIndex(_ft_realloc,"_ft_realloc");function _ft_free(e,g){_free(g)}_ft_free.__index__=Runtime.getFunctionIndex(_ft_free,"_ft_free");function _ft_close_stream_by_munmap(e){_munmap(HEAP[e+12],HEAP[e+4]);HEAP[e+12]=0;HEAP[e+4]=0;HEAP[e]=0}_ft_close_stream_by_munmap.__index__=Runtime.getFunctionIndex(_ft_close_stream_by_munmap,"_ft_close_stream_by_munmap"); +function _ft_close_stream_by_free(e){_free(HEAP[e+12]);HEAP[e+12]=0;HEAP[e+4]=0;HEAP[e]=0}_ft_close_stream_by_free.__index__=Runtime.getFunctionIndex(_ft_close_stream_by_free,"_ft_close_stream_by_free"); +function _FT_Stream_Open(e,g){var d=STACKTOP;STACKTOP+=88;Runtime.memset(d,0,88);var b,a=null,c,f,h=e==0;a:do if(h)f=40;else{f=_open(g,0);if(reSign(f,32)<reSign(0,32))f=1;else{_fcntl(f,2,1);b=_fstat(f,d);b=reSign(b,32)<reSign(0,32);b:do if(!b){if(HEAP[d+44]==0)break b;HEAP[e+4]=HEAP[d+44];HEAP[e+8]=0;b=_mmap(0,HEAP[e+4],1,2,f,0);HEAP[e]=b;c=HEAP[e]==4294967295;c:do if(c)b=3;else{if(HEAP[e]==0){b=3;break c}HEAP[e+24]=_ft_close_stream_by_munmap.__index__;b=5;break c}while(0);if(b==3){c=HEAP[e+4];c= +c=_malloc(c);HEAP[e]=c;if(HEAP[e]==0)break b;c=f;for(a=6;;){b=a==13?k:0;a=_read(c,HEAP[e]+b,HEAP[e+4]-b);if(reSign(a,32)<=reSign(0,32)){if(a!=-1){b=10;break}a=___errno_location();if(HEAP[a]==4)a=9;else{b=10;break}}else{var i=a+b;a=12}var k=a==12?i:b;if(k!=HEAP[e+4]){a=13;b=7}else{b=14;break}}if(b==10){b=HEAP[e];_free(b);break b}else if(b==14)HEAP[e+24]=_ft_close_stream_by_free.__index__}_close(f);HEAP[e+12]=HEAP[e];HEAP[e+16]=g;f=HEAP[e+20]=0;break a}while(0);_close(f);HEAP[e]=0;HEAP[e+4]=0;HEAP[e+ +8]=0;f=81}}while(0);h=f;STACKTOP=d;return h}_FT_Stream_Open.__index__=Runtime.getFunctionIndex(_FT_Stream_Open,"_FT_Stream_Open");function _FT_New_Memory(){var e;e=_malloc(16);if(e!=0){HEAP[e]=0;HEAP[e+4]=_ft_alloc.__index__;HEAP[e+12]=_ft_realloc.__index__;HEAP[e+8]=_ft_free.__index__}return e}_FT_New_Memory.__index__=Runtime.getFunctionIndex(_FT_New_Memory,"_FT_New_Memory");function _FT_Done_Memory(e){FUNCTION_TABLE[HEAP[e+8]](e,e)} +_FT_Done_Memory.__index__=Runtime.getFunctionIndex(_FT_Done_Memory,"_FT_Done_Memory");function _ft_debug_init(){}_ft_debug_init.__index__=Runtime.getFunctionIndex(_ft_debug_init,"_ft_debug_init");function _FT_Trace_Get_Count(){return 0}_FT_Trace_Get_Count.__index__=Runtime.getFunctionIndex(_FT_Trace_Get_Count,"_FT_Trace_Get_Count");function _FT_Trace_Get_Name(){return 0}_FT_Trace_Get_Name.__index__=Runtime.getFunctionIndex(_FT_Trace_Get_Name,"_FT_Trace_Get_Name"); +function _FT_Add_Default_Modules(e){var g=null,d;d=_ft_default_modules;if(HEAP[d]!=0)for(g=0;;){b=g==0?0:b;g=d+4*(b+1);_FT_Add_Module(e,HEAP[d+4*b]);var b=b+1;if(HEAP[g]!=0)g=1;else break}}_FT_Add_Default_Modules.__index__=Runtime.getFunctionIndex(_FT_Add_Default_Modules,"_FT_Add_Default_Modules"); +function _FT_Init_FreeType(e){var g,d=null,b,a,c,f;c=_malloc(16);b=c!=0;a:do{if(b){HEAP[c]=0;HEAP[c+4]=_ft_alloc.__index__;HEAP[c+12]=_ft_realloc.__index__;HEAP[c+8]=_ft_free.__index__;g=c=c;if(c==0){g=0;break a}f=_FT_New_Library(g,e);c=f!=0;b:do if(c){b=g;FUNCTION_TABLE[HEAP[b+8]](b,b)}else{b=HEAP[e];a=_ft_default_modules;if(HEAP[a]==0)break b;b=b;a=a;for(d=4;;){h=d==4?0:h;d=a+4*(h+1);_FT_Add_Module(b,HEAP[a+4*h]);var h=h+1;if(HEAP[d]!=0)d=6;else break}}while(0);f=f;g=8}else g=0;break a}while(0); +if(g==0)f=7;return f}_FT_Init_FreeType.__index__=Runtime.getFunctionIndex(_FT_Init_FreeType,"_FT_Init_FreeType");function _FT_Done_FreeType(e){var g;if(e!=0){g=HEAP[e];_FT_Done_Library(e);FUNCTION_TABLE[HEAP[g+8]](g,g)}return 0}_FT_Done_FreeType.__index__=Runtime.getFunctionIndex(_FT_Done_FreeType,"_FT_Done_FreeType"); +function __ft_face_scale_advances(e,g,d,b){var a=null;if((b&1&255)!=0)g=0;else if(HEAP[e+88]==0)g=36;else{a=HEAP[e+88]+12;b=(b&16)!=0?HEAP[a+8]:HEAP[a+4];if(unSign(0,32)<unSign(d,32)){d=(unSign(d,32)>unSign(1,32)?d:1)-0;for(a=2;;){c=a==2?0:c;e=0+c;a=g+4*e;e=_FT_MulDiv(HEAP[g+4*e],b,64);HEAP[a]=e;var c=c+1;if(c!=d)a=3;else break}}g=0}return g}__ft_face_scale_advances.__index__=Runtime.getFunctionIndex(__ft_face_scale_advances,"__ft_face_scale_advances"); +function _FT_Get_Advance(e,g,d,b){var a,c=e==0;a:do if(c)a=35;else{a=g;if(unSign(HEAP[e+16],32)<=unSign(a,32))a=16;else{a=HEAP[HEAP[HEAP[e+96]+20]+92];var f=a!=0;b:do if(f){if((d&3)==0)if((reSign(d,32)>>reSign(16,32)&15)!=1)break b;a=f=FUNCTION_TABLE[a](e,g,1,d,b);if(f==0)a=__ft_face_scale_advances(e,b,1,d);else{if(a==7)break b;a=a}break a}while(0);a=_FT_Get_Advances(e,g,1,d,b)}}while(0);return a}_FT_Get_Advance.__index__=Runtime.getFunctionIndex(_FT_Get_Advance,"_FT_Get_Advance"); +function _FT_Get_Advances(e,g,d,b,a){var c,f=null,h,i,k;b=b;i=e==0;a:do if(i)h=35;else{k=HEAP[e+16];h=d+g;var j=k;j=unSign(g,32)>=unSign(j,32);b:do if(!j){j=g;if(unSign(h,32)<unSign(j,32))break b;k=k;if(unSign(h,32)>unSign(k,32))break b;if(d==0)h=0;else{i=HEAP[HEAP[HEAP[e+96]+20]+92];h=i!=0;c:do if(h){if((b&3)==0)if((reSign(b,32)>>reSign(16,32)&15)!=1){c=6;break c}i=h=FUNCTION_TABLE[i](e,g,d,b,a);if(h==0){c=7;break c}if(i==7){c=6;break c}h=i;break a}else c=6;while(0);c:do if(c==6){i=0;if((b&536870912)!= +0)h=7;else{b|=256;h=d;k=e;j=b;var l=e+84,m=a,o=i;g=0+g;if((b&16)!=0){f=10;c=11}else{f=10;c=12}for(;;)if(c==11){q=f==15?q:0;var n=f==15?0:o;f=0+q;c=g+q;var p=m+4*f;if(!(unSign(f,32)<unSign(h,32))){f=11;c=14;break}var r=_FT_Load_Glyph(k,c,j);if(r!=0){f=13;c=16;break}HEAP[p]=HEAP[HEAP[l]+64+4];var q=q+1;f=15;c=11}else if(c==12){t=f==18?t:0;var s=f==18?0:o;f=0+t;c=g+t;p=m+4*f;if(!(unSign(f,32)<unSign(h,32))){f=12;c=14;break}var u=_FT_Load_Glyph(k,c,j);if(u!=0){f=17;c=16;break}HEAP[p]=HEAP[HEAP[l]+64]; +var t=t+1;f=18;c=12}if(c==14){i=n=f==11?n:s;if(n==0)break c}else if(c==16)i=f==13?r:u;h=i}break a}while(0);h=__ft_face_scale_advances(e,a,d,b)}break a}while(0);h=16}while(0);return h}_FT_Get_Advances.__index__=Runtime.getFunctionIndex(_FT_Get_Advances,"_FT_Get_Advances");function _FT_RoundFix(e){return reSign(e,32)>=reSign(0,32)?e+32768&-65536:0-(32768-e&-65536)}_FT_RoundFix.__index__=Runtime.getFunctionIndex(_FT_RoundFix,"_FT_RoundFix"); +function _FT_CeilFix(e){return reSign(e,32)>=reSign(0,32)?e+65535&-65536:0-(65535-e&-655 |