// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonfreetype/src/errors.c
// Function: moonfreetype_fterrorstring
const char* fterrorstring(FT_Error ec)
    {
    switch(ec)
        {
        case 0: return "no error";
        case FT_Err_Cannot_Open_Resource: return "cannot open resource";
        case FT_Err_Unknown_File_Format: return "unknown file format";
        case FT_Err_Invalid_File_Format: return "broken file";
        case FT_Err_Invalid_Version: return "invalid FreeType version";
        case FT_Err_Lower_Module_Version: return "module version is too low";
        case FT_Err_Invalid_Argument: return "invalid argument";
        case FT_Err_Unimplemented_Feature: return "unimplemented feature";
        case FT_Err_Invalid_Table: return "broken table";
        case FT_Err_Invalid_Offset: return "broken offset within table";
        case FT_Err_Array_Too_Large: return "array allocation size too large";
        case FT_Err_Missing_Module: return "missing module";
        case FT_Err_Missing_Property: return "missing property";

        /* glyph/character errors */
        case FT_Err_Invalid_Glyph_Index: return "invalid glyph index";
        case FT_Err_Invalid_Character_Code: return "invalid character code";
        case FT_Err_Invalid_Glyph_Format: return "unsupported glyph image format";
        case FT_Err_Cannot_Render_Glyph: return "cannot render this glyph format";
        case FT_Err_Invalid_Outline: return "invalid outline";
        case FT_Err_Invalid_Composite: return "invalid composite glyph";
        case FT_Err_Too_Many_Hints: return "too many hints";
        case FT_Err_Invalid_Pixel_Size: return "invalid pixel size";

        /* handle errors */
        case FT_Err_Invalid_Handle: return "invalid object handle";
        case FT_Err_Invalid_Library_Handle: return "invalid library handle";
        case FT_Err_Invalid_Driver_Handle: return "invalid module handle";
        case FT_Err_Invalid_Face_Handle: return "invalid face handle";
        case FT_Err_Invalid_Size_Handle: return "invalid size handle";
        case FT_Err_Invalid_Slot_Handle: return "invalid glyph slot handle";
        case FT_Err_Invalid_CharMap_Handle: return "invalid charmap handle";
        case FT_Err_Invalid_Cache_Handle: return "invalid cache manager handle";
        case FT_Err_Invalid_Stream_Handle: return "invalid stream handle";

        /* driver errors */
        case FT_Err_Too_Many_Drivers: return "too many modules";
        case FT_Err_Too_Many_Extensions: return "too many extensions";

        /* memory errors */
        case FT_Err_Out_Of_Memory: return "out of memory";
        case FT_Err_Unlisted_Object: return "unlisted object";

        /* stream errors */
        case FT_Err_Cannot_Open_Stream: return "cannot open stream";
        case FT_Err_Invalid_Stream_Seek: return "invalid stream seek";
        case FT_Err_Invalid_Stream_Skip: return "invalid stream skip";
        case FT_Err_Invalid_Stream_Read: return "invalid stream read";
        case FT_Err_Invalid_Stream_Operation: return "invalid stream operation";
        case FT_Err_Invalid_Frame_Operation: return "invalid frame operation";
        case FT_Err_Nested_Frame_Access: return "nested frame access";
        case FT_Err_Invalid_Frame_Read: return "invalid frame read";

        /* raster errors */
        case FT_Err_Raster_Uninitialized: return "raster uninitialized";
        case FT_Err_Raster_Corrupted: return "raster corrupted";
        case FT_Err_Raster_Overflow: return "raster overflow";
        case FT_Err_Raster_Negative_Height: return "negative height while rastering";

        /* cache errors */
        case FT_Err_Too_Many_Caches: return "too many registered caches";

        /* TrueType and SFNT errors */
        case FT_Err_Invalid_Opcode: return "invalid opcode";
        case FT_Err_Too_Few_Arguments: return "too few arguments";
        case FT_Err_Stack_Overflow: return "stack overflow";
        case FT_Err_Code_Overflow: return "code overflow";
        case FT_Err_Bad_Argument: return "bad argument";
        case FT_Err_Divide_By_Zero: return "division by zero";
        case FT_Err_Invalid_Reference: return "invalid reference";
        case FT_Err_Debug_OpCode: return "found debug opcode";
        case FT_Err_ENDF_In_Exec_Stream: return "found ENDF opcode in execution stream";
        case FT_Err_Nested_DEFS: return "nested DEFS";
        case FT_Err_Invalid_CodeRange: return "invalid code range";
        case FT_Err_Execution_Too_Long: return "execution context too long";
        case FT_Err_Too_Many_Function_Defs: return "too many function definitions";
        case FT_Err_Too_Many_Instruction_Defs: return "too many instruction definitions";
        case FT_Err_Table_Missing: return "SFNT font table missing";
        case FT_Err_Horiz_Header_Missing: return "horizontal header (hhea) table missing";
        case FT_Err_Locations_Missing: return "locations (loca) table missing";
        case FT_Err_Name_Table_Missing: return "name table missing";
        case FT_Err_CMap_Table_Missing: return "character map (cmap) table missing";
        case FT_Err_Hmtx_Table_Missing: return "horizontal metrics (hmtx) table missing";
        case FT_Err_Post_Table_Missing: return "PostScript (post) table missing";
        case FT_Err_Invalid_Horiz_Metrics: return "invalid horizontal metrics";
        case FT_Err_Invalid_CharMap_Format: return "invalid character map (cmap) format";
        case FT_Err_Invalid_PPem: return "invalid ppem value";
        case FT_Err_Invalid_Vert_Metrics: return "invalid vertical metrics";
        case FT_Err_Could_Not_Find_Context: return "could not find context";
        case FT_Err_Invalid_Post_Table_Format: return "invalid PostScript (post) table format";
        case FT_Err_Invalid_Post_Table: return "invalid PostScript (post) table";

        /* CFF: return CID: return and Type 1 errors */;
        case FT_Err_Syntax_Error: return "opcode syntax error";
        case FT_Err_Stack_Underflow: return "argument stack underflow";
        case FT_Err_Ignore: return "ignore";
        case FT_Err_No_Unicode_Glyph_Name: return "no Unicode glyph name found";
        case FT_Err_Glyph_Too_Big: return "glyph to big for hinting";

        /* BDF errors */
        case FT_Err_Missing_Startfont_Field: return "`STARTFONT' field missing";
        case FT_Err_Missing_Font_Field: return "`FONT' field missing";
        case FT_Err_Missing_Size_Field: return "`SIZE' field missing";
        case FT_Err_Missing_Fontboundingbox_Field: return "`FONTBOUNDINGBOX' field missing";
        case FT_Err_Missing_Chars_Field: return "`CHARS' field missing";
        case FT_Err_Missing_Startchar_Field: return "`STARTCHAR' field missing";
        case FT_Err_Missing_Encoding_Field: return "`ENCODING' field missing";
        case FT_Err_Missing_Bbx_Field: return "`BBX' field missing";
        case FT_Err_Bbx_Too_Big: return "`BBX' too big";
        case FT_Err_Corrupted_Font_Header: return "Font header corrupted or missing fields";
        case FT_Err_Corrupted_Font_Glyphs: return "Font glyphs corrupted or missing fields";
        default:
            return "unknown error code";
        }
    return NULL; /* unreachable */
    }

// Assembly:
movl %edi, -0xc(%rsp)
movl -0xc(%rsp), %eax
movq %rax, -0x18(%rsp)
subq $0xba, %rax
ja 0xe1ee
movq -0x18(%rsp), %rax
leaq 0xc01f(%rip), %rcx      # 0x19c14
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xc2fb(%rip), %rax      # 0x19f00
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc2f3(%rip), %rax      # 0x19f09
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc2f7(%rip), %rax      # 0x19f1e
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc2fa(%rip), %rax      # 0x19f32
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc2f5(%rip), %rax      # 0x19f3e
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc2fd(%rip), %rax      # 0x19f57
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc306(%rip), %rax      # 0x19f71
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc306(%rip), %rax      # 0x19f82
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc30b(%rip), %rax      # 0x19f98
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc307(%rip), %rax      # 0x19fa5
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc311(%rip), %rax      # 0x19fc0
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc320(%rip), %rax      # 0x19fe0
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc31e(%rip), %rax      # 0x19fef
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc31e(%rip), %rax      # 0x1a000
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc321(%rip), %rax      # 0x1a014
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc327(%rip), %rax      # 0x1a02b
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc335(%rip), %rax      # 0x1a04a
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc344(%rip), %rax      # 0x1a06a
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc343(%rip), %rax      # 0x1a07a
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc34a(%rip), %rax      # 0x1a092
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc348(%rip), %rax      # 0x1a0a1
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc34a(%rip), %rax      # 0x1a0b4
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc34f(%rip), %rax      # 0x1a0ca
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc355(%rip), %rax      # 0x1a0e1
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc35a(%rip), %rax      # 0x1a0f7
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc35d(%rip), %rax      # 0x1a10b
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc360(%rip), %rax      # 0x1a11f
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc369(%rip), %rax      # 0x1a139
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc36f(%rip), %rax      # 0x1a150
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc37b(%rip), %rax      # 0x1a16d
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc380(%rip), %rax      # 0x1a183
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc380(%rip), %rax      # 0x1a194
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc383(%rip), %rax      # 0x1a1a8
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc380(%rip), %rax      # 0x1a1b6
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc37f(%rip), %rax      # 0x1a1c6
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc381(%rip), %rax      # 0x1a1d9
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc384(%rip), %rax      # 0x1a1ed
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc387(%rip), %rax      # 0x1a201
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc38a(%rip), %rax      # 0x1a215
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc392(%rip), %rax      # 0x1a22e
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc399(%rip), %rax      # 0x1a246
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc39c(%rip), %rax      # 0x1a25a
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc39e(%rip), %rax      # 0x1a26d
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3a2(%rip), %rax      # 0x1a282
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3a2(%rip), %rax      # 0x1a293
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3a1(%rip), %rax      # 0x1a2a3
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b0(%rip), %rax      # 0x1a2c3
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3ba(%rip), %rax      # 0x1a2de
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b8(%rip), %rax      # 0x1a2ed
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b9(%rip), %rax      # 0x1a2ff
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b7(%rip), %rax      # 0x1a30e
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b4(%rip), %rax      # 0x1a31c
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b0(%rip), %rax      # 0x1a329
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b0(%rip), %rax      # 0x1a33a
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b1(%rip), %rax      # 0x1a34c
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3b3(%rip), %rax      # 0x1a35f
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3c8(%rip), %rax      # 0x1a385
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3c3(%rip), %rax      # 0x1a391
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3c5(%rip), %rax      # 0x1a3a4
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3cf(%rip), %rax      # 0x1a3bf
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3dc(%rip), %rax      # 0x1a3dd
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3ec(%rip), %rax      # 0x1a3fe
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc3f3(%rip), %rax      # 0x1a416
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc409(%rip), %rax      # 0x1a43d
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc417(%rip), %rax      # 0x1a45c
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc419(%rip), %rax      # 0x1a46f
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc42b(%rip), %rax      # 0x1a492
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc442(%rip), %rax      # 0x1a4ba
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc451(%rip), %rax      # 0x1a4da
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc45b(%rip), %rax      # 0x1a4f5
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc46e(%rip), %rax      # 0x1a519
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc470(%rip), %rax      # 0x1a52c
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc478(%rip), %rax      # 0x1a545
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc47e(%rip), %rax      # 0x1a55c
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc494(%rip), %rax      # 0x1a583
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4a3(%rip), %rax      # 0x1a5a3
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4a6(%rip), %rax      # 0x1a5b7
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4ae(%rip), %rax      # 0x1a5d0
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4a4(%rip), %rax      # 0x1a5d7
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4af(%rip), %rax      # 0x1a5f3
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4b7(%rip), %rax      # 0x1a60c
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4c0(%rip), %rax      # 0x1a626
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4c4(%rip), %rax      # 0x1a63b
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4cb(%rip), %rax      # 0x1a650
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4dd(%rip), %rax      # 0x1a670
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4e5(%rip), %rax      # 0x1a686
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4f1(%rip), %rax      # 0x1a6a0
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc4fc(%rip), %rax      # 0x1a6b9
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc502(%rip), %rax      # 0x1a6cd
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc502(%rip), %rax      # 0x1a6db
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc51c(%rip), %rax      # 0x1a703
movq %rax, -0x8(%rsp)
jmp 0xe1fa
leaq 0xc536(%rip), %rax      # 0x1a72b
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq