diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 14 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedfreetypetypes32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 12 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 6 | ||||
| -rw-r--r-- | src/wrapped32/wrappedfreetype.c | 343 | ||||
| -rw-r--r-- | src/wrapped32/wrappedfreetype_private.h | 30 |
6 files changed, 397 insertions, 16 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 5f7c2337..01e665cd 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -78,6 +78,7 @@ #() iFBp_ -> iFB #() LFrl_ -> LFB #() pFrl_ -> pFB +#() lFrll_ -> lFB #() iFBllll_ -> iFB #() vFbuuipWCCp_ -> vFB #() vFbWWpWpWpWp_ -> vFB @@ -238,6 +239,7 @@ #() fFpBp_ -> fFpB #() dFpBp_ -> dFpB #() pFrl_p -> pFBp +#() vFBll_l -> vFBl #() iFuBLL_ -> iFuB #() iFprll_ -> iFpB #() iFpbup_ -> iFpB @@ -246,6 +248,7 @@ #() iFSBliu_ -> iFSB #() iFXbLipi_ -> iFXB #() iFrLL_BLL_ -> iFBB +#() vFbll_rllll_ -> vFBB #() iFpruuipWCCp_ -> iFpB #() pFriiiiiiiiilt_p -> pFBp #() iFiBLLLLLLLLLLLLLLLLLL_ -> iFiB @@ -325,6 +328,7 @@ #() iFEup -> iFEup #() iFEpi -> iFEpi #() iFEpu -> iFEpu +#() iFEpl -> iFEpl #() iFEpL -> iFEpL #() iFEpp -> iFEpp #() iFEpV -> iFEpV @@ -405,6 +409,7 @@ #() dFddp -> dFddp #() lFili -> lFili #() lFipL -> lFipL +#() lFlll -> lFlll #() lFlpi -> lFlpi #() lFpLL -> lFpLL #() lFppi -> lFppi @@ -477,6 +482,7 @@ #() vFEipp -> vFEipp #() vFEipV -> vFEipV #() vFEpup -> vFEpup +#() vFEpll -> vFEpll #() vFEppp -> vFEppp #() vFEXLp -> vFEXLp #() vFcccc -> vFcccc @@ -1186,14 +1192,19 @@ wrappedfreetype: - FT_Get_Postscript_Name - FT_Get_X11_Font_Format - vFpp: + - FT_Matrix_Multiply - FT_Outline_Get_CBox + - FT_Outline_Transform - iFpi: - FT_Select_Charmap - FT_Select_Size - iFpu: - FT_Render_Glyph +- iFpl: + - FT_Outline_Embolden - iFpp: - FT_Get_PS_Font_Info + - FT_Get_WinFNT_Header - FT_Request_Size - FT_Set_Charmap - uFpL: @@ -1202,6 +1213,8 @@ wrappedfreetype: - FT_Get_First_Char - pFpi: - FT_Get_Sfnt_Table +- vFpll: + - FT_Outline_Translate - iFpip: - FT_Get_Sfnt_Name - iFpui: @@ -1212,6 +1225,7 @@ wrappedfreetype: - FT_Load_Char - iFppp: - FT_Get_BDF_Property + - FT_Outline_Get_Bitmap - LFpLp: - FT_Get_Next_Char - iFpupu: diff --git a/src/wrapped32/generated/wrappedfreetypetypes32.h b/src/wrapped32/generated/wrappedfreetypetypes32.h index 41bd1dd5..749323da 100644 --- a/src/wrapped32/generated/wrappedfreetypetypes32.h +++ b/src/wrapped32/generated/wrappedfreetypetypes32.h @@ -17,10 +17,12 @@ typedef void* (*pFp_t)(void*); typedef void (*vFpp_t)(void*, void*); typedef int32_t (*iFpi_t)(void*, int32_t); typedef int32_t (*iFpu_t)(void*, uint32_t); +typedef int32_t (*iFpl_t)(void*, intptr_t); typedef int32_t (*iFpp_t)(void*, void*); typedef uint32_t (*uFpL_t)(void*, uintptr_t); typedef uintptr_t (*LFpp_t)(void*, void*); typedef void* (*pFpi_t)(void*, int32_t); +typedef void (*vFpll_t)(void*, intptr_t, intptr_t); typedef int32_t (*iFpip_t)(void*, int32_t, void*); typedef int32_t (*iFpui_t)(void*, uint32_t, int32_t); typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t); @@ -40,21 +42,27 @@ typedef int32_t (*iFppllp_t)(void*, void*, intptr_t, intptr_t, void*); GO(FT_Get_Sfnt_Name_Count, uFp_t) \ GO(FT_Get_Postscript_Name, pFp_t) \ GO(FT_Get_X11_Font_Format, pFp_t) \ + GO(FT_Matrix_Multiply, vFpp_t) \ GO(FT_Outline_Get_CBox, vFpp_t) \ + GO(FT_Outline_Transform, vFpp_t) \ GO(FT_Select_Charmap, iFpi_t) \ GO(FT_Select_Size, iFpi_t) \ GO(FT_Render_Glyph, iFpu_t) \ + GO(FT_Outline_Embolden, iFpl_t) \ GO(FT_Get_PS_Font_Info, iFpp_t) \ + GO(FT_Get_WinFNT_Header, iFpp_t) \ GO(FT_Request_Size, iFpp_t) \ GO(FT_Set_Charmap, iFpp_t) \ GO(FT_Get_Char_Index, uFpL_t) \ GO(FT_Get_First_Char, LFpp_t) \ GO(FT_Get_Sfnt_Table, pFpi_t) \ + GO(FT_Outline_Translate, vFpll_t) \ GO(FT_Get_Sfnt_Name, iFpip_t) \ GO(FT_Load_Glyph, iFpui_t) \ GO(FT_Set_Pixel_Sizes, iFpuu_t) \ GO(FT_Load_Char, iFpLi_t) \ GO(FT_Get_BDF_Property, iFppp_t) \ + GO(FT_Outline_Get_Bitmap, iFppp_t) \ GO(FT_Get_Next_Char, LFpLp_t) \ GO(FT_Get_Glyph_Name, iFpupu_t) \ GO(FT_New_Face, iFpplp_t) \ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index cbae9d1a..1240e782 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -168,6 +168,7 @@ typedef void* (*XFv_t)(void); typedef int32_t (*iFBp__t)(struct_p_t*); typedef uintptr_t (*LFrl__t)(struct_l_t*); typedef void* (*pFrl__t)(struct_l_t*); +typedef intptr_t (*lFrll__t)(struct_ll_t*); typedef int32_t (*iFBllll__t)(struct_llll_t*); typedef void (*vFbuuipWCCp__t)(struct_uuipWCCp_t*); typedef void (*vFbWWpWpWpWp__t)(struct_WWpWpWpWp_t*); @@ -328,6 +329,7 @@ typedef int32_t (*iFXbL__t)(void*, struct_L_t*); typedef float (*fFpBp__t)(void*, struct_p_t*); typedef double (*dFpBp__t)(void*, struct_p_t*); typedef void* (*pFrl_p_t)(struct_l_t*, void*); +typedef void (*vFBll_l_t)(struct_ll_t*, intptr_t); typedef int32_t (*iFuBLL__t)(uint32_t, struct_LL_t*); typedef int32_t (*iFprll__t)(void*, struct_ll_t*); typedef int32_t (*iFpbup__t)(void*, struct_up_t*); @@ -336,6 +338,7 @@ typedef int32_t (*iFBll_p_t)(struct_ll_t*, void*); typedef int32_t (*iFSBliu__t)(void*, struct_liu_t*); typedef int32_t (*iFXbLipi__t)(void*, struct_Lipi_t*); typedef int32_t (*iFrLL_BLL__t)(struct_LL_t*, struct_LL_t*); +typedef void (*vFbll_rllll__t)(struct_ll_t*, struct_llll_t*); typedef int32_t (*iFpruuipWCCp__t)(void*, struct_uuipWCCp_t*); typedef void* (*pFriiiiiiiiilt_p_t)(struct_iiiiiiiiilt_t*, void*); typedef int32_t (*iFiBLLLLLLLLLLLLLLLLLL__t)(int32_t, struct_LLLLLLLLLLLLLLLLLL_t*); @@ -415,6 +418,7 @@ typedef int32_t (*iFEip_t)(x64emu_t*, int32_t, void*); typedef int32_t (*iFEup_t)(x64emu_t*, uint32_t, void*); typedef int32_t (*iFEpi_t)(x64emu_t*, void*, int32_t); typedef int32_t (*iFEpu_t)(x64emu_t*, void*, uint32_t); +typedef int32_t (*iFEpl_t)(x64emu_t*, void*, intptr_t); typedef int32_t (*iFEpL_t)(x64emu_t*, void*, uintptr_t); typedef int32_t (*iFEpp_t)(x64emu_t*, void*, void*); typedef int32_t (*iFEpV_t)(x64emu_t*, void*, void*); @@ -495,6 +499,7 @@ typedef double (*dFddd_t)(double, double, double); typedef double (*dFddp_t)(double, double, void*); typedef intptr_t (*lFili_t)(int32_t, intptr_t, int32_t); typedef intptr_t (*lFipL_t)(int32_t, void*, uintptr_t); +typedef intptr_t (*lFlll_t)(intptr_t, intptr_t, intptr_t); typedef intptr_t (*lFlpi_t)(intptr_t, void*, int32_t); typedef intptr_t (*lFpLL_t)(void*, uintptr_t, uintptr_t); typedef intptr_t (*lFppi_t)(void*, void*, int32_t); @@ -567,6 +572,7 @@ typedef void* (*pFppriiiiiiiiilt__t)(void*, void*, struct_iiiiiiiiilt_t*); typedef void (*vFEipp_t)(x64emu_t*, int32_t, void*, void*); typedef void (*vFEipV_t)(x64emu_t*, int32_t, void*, void*); typedef void (*vFEpup_t)(x64emu_t*, void*, uint32_t, void*); +typedef void (*vFEpll_t)(x64emu_t*, void*, intptr_t, intptr_t); typedef void (*vFEppp_t)(x64emu_t*, void*, void*, void*); typedef void (*vFEXLp_t)(x64emu_t*, void*, uintptr_t, void*); typedef void (*vFcccc_t)(int8_t, int8_t, int8_t, int8_t); @@ -1331,6 +1337,7 @@ void XFv_32(x64emu_t *emu, uintptr_t fcn) { XFv_t fn = (XFv_t)fcn; R_EAX = to_pt void iFBp__32(x64emu_t *emu, uintptr_t fcn) { iFBp__t fn = (iFBp__t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void LFrl__32(x64emu_t *emu, uintptr_t fcn) { LFrl__t fn = (LFrl__t)fcn; struct_l_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_l(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ulong(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } void pFrl__32(x64emu_t *emu, uintptr_t fcn) { pFrl__t fn = (pFrl__t)fcn; struct_l_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_l(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ptrv(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } +void lFrll__32(x64emu_t *emu, uintptr_t fcn) { lFrll__t fn = (lFrll__t)fcn; struct_ll_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_ll(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_long(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } void iFBllll__32(x64emu_t *emu, uintptr_t fcn) { iFBllll__t fn = (iFBllll__t)fcn; struct_llll_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_llll(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void vFbuuipWCCp__32(x64emu_t *emu, uintptr_t fcn) { vFbuuipWCCp__t fn = (vFbuuipWCCp__t)fcn; struct_uuipWCCp_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_uuipWCCp(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_uuipWCCp(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void vFbWWpWpWpWp__32(x64emu_t *emu, uintptr_t fcn) { vFbWWpWpWpWp__t fn = (vFbWWpWpWpWp__t)fcn; struct_WWpWpWpWp_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_WWpWpWpWp(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_WWpWpWpWp(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } @@ -1491,6 +1498,7 @@ void iFXbL__32(x64emu_t *emu, uintptr_t fcn) { iFXbL__t fn = (iFXbL__t)fcn; stru void fFpBp__32(x64emu_t *emu, uintptr_t fcn) { fFpBp__t fn = (fFpBp__t)fcn; struct_p_t arg_8={0}; float fl = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); fpu_do_push(emu); ST0val = fl; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void dFpBp__32(x64emu_t *emu, uintptr_t fcn) { dFpBp__t fn = (dFpBp__t)fcn; struct_p_t arg_8={0}; double db = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); fpu_do_push(emu); ST0val = db; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void pFrl_p_32(x64emu_t *emu, uintptr_t fcn) { pFrl_p_t fn = (pFrl_p_t)fcn; struct_l_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_l(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ptrv(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8))); } +void vFBll_l_32(x64emu_t *emu, uintptr_t fcn) { vFBll_l_t fn = (vFBll_l_t)fcn; struct_ll_t arg_4={0}; fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_long(from_ptri(long_t, R_ESP + 8))); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_ll(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void iFuBLL__32(x64emu_t *emu, uintptr_t fcn) { iFuBLL__t fn = (iFuBLL__t)fcn; struct_LL_t arg_8={0}; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_LL(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFprll__32(x64emu_t *emu, uintptr_t fcn) { iFprll__t fn = (iFprll__t)fcn; struct_ll_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_ll(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); } void iFpbup__32(x64emu_t *emu, uintptr_t fcn) { iFpbup__t fn = (iFpbup__t)fcn; struct_up_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_up(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_up(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } @@ -1499,6 +1507,7 @@ void iFBll_p_32(x64emu_t *emu, uintptr_t fcn) { iFBll_p_t fn = (iFBll_p_t)fcn; s void iFSBliu__32(x64emu_t *emu, uintptr_t fcn) { iFSBliu__t fn = (iFSBliu__t)fcn; struct_liu_t arg_8={0}; R_EAX = fn(io_convert32(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_liu(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFXbLipi__32(x64emu_t *emu, uintptr_t fcn) { iFXbLipi__t fn = (iFXbLipi__t)fcn; struct_Lipi_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_Lipi(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_Lipi(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFrLL_BLL__32(x64emu_t *emu, uintptr_t fcn) { iFrLL_BLL__t fn = (iFrLL_BLL__t)fcn; struct_LL_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_LL(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_LL_t arg_8={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_LL(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void vFbll_rllll__32(x64emu_t *emu, uintptr_t fcn) { vFbll_rllll__t fn = (vFbll_rllll__t)fcn; struct_ll_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_ll(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_llll_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_llll(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_ll(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void iFpruuipWCCp__32(x64emu_t *emu, uintptr_t fcn) { iFpruuipWCCp__t fn = (iFpruuipWCCp__t)fcn; struct_uuipWCCp_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_uuipWCCp(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); } void pFriiiiiiiiilt_p_32(x64emu_t *emu, uintptr_t fcn) { pFriiiiiiiiilt_p_t fn = (pFriiiiiiiiilt_p_t)fcn; struct_iiiiiiiiilt_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_iiiiiiiiilt(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ptrv(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8))); } void iFiBLLLLLLLLLLLLLLLLLL__32(x64emu_t *emu, uintptr_t fcn) { iFiBLLLLLLLLLLLLLLLLLL__t fn = (iFiBLLLLLLLLLLLLLLLLLL__t)fcn; struct_LLLLLLLLLLLLLLLLLL_t arg_8={0}; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_LLLLLLLLLLLLLLLLLL(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } @@ -1578,6 +1587,7 @@ void iFEip_32(x64emu_t *emu, uintptr_t fcn) { iFEip_t fn = (iFEip_t)fcn; R_EAX = void iFEup_32(x64emu_t *emu, uintptr_t fcn) { iFEup_t fn = (iFEup_t)fcn; R_EAX = fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } void iFEpi_32(x64emu_t *emu, uintptr_t fcn) { iFEpi_t fn = (iFEpi_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } void iFEpu_32(x64emu_t *emu, uintptr_t fcn) { iFEpu_t fn = (iFEpu_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } +void iFEpl_32(x64emu_t *emu, uintptr_t fcn) { iFEpl_t fn = (iFEpl_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8))); } void iFEpL_32(x64emu_t *emu, uintptr_t fcn) { iFEpL_t fn = (iFEpL_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8))); } void iFEpp_32(x64emu_t *emu, uintptr_t fcn) { iFEpp_t fn = (iFEpp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); } void iFEpV_32(x64emu_t *emu, uintptr_t fcn) { iFEpV_t fn = (iFEpV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptrv(R_ESP + 8)); } @@ -1658,6 +1668,7 @@ void dFddd_32(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; double void dFddp_32(x64emu_t *emu, uintptr_t fcn) { dFddp_t fn = (dFddp_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptriv(R_ESP + 20)); fpu_do_push(emu); ST0val = db; } void lFili_32(x64emu_t *emu, uintptr_t fcn) { lFili_t fn = (lFili_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12))); } void lFipL_32(x64emu_t *emu, uintptr_t fcn) { lFipL_t fn = (lFipL_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); } +void lFlll_32(x64emu_t *emu, uintptr_t fcn) { lFlll_t fn = (lFlll_t)fcn; R_EAX = to_long(fn(from_long(from_ptri(long_t, R_ESP + 4)), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)))); } void lFlpi_32(x64emu_t *emu, uintptr_t fcn) { lFlpi_t fn = (lFlpi_t)fcn; R_EAX = to_long(fn(from_long(from_ptri(long_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } void lFpLL_32(x64emu_t *emu, uintptr_t fcn) { lFpLL_t fn = (lFpLL_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); } void lFppi_32(x64emu_t *emu, uintptr_t fcn) { lFppi_t fn = (lFppi_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } @@ -1730,6 +1741,7 @@ void pFppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { pFppriiiiiiiiilt__t fn void vFEipp_32(x64emu_t *emu, uintptr_t fcn) { vFEipp_t fn = (vFEipp_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } void vFEipV_32(x64emu_t *emu, uintptr_t fcn) { vFEipV_t fn = (vFEipV_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptrv(R_ESP + 12)); } void vFEpup_32(x64emu_t *emu, uintptr_t fcn) { vFEpup_t fn = (vFEpup_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFEpll_32(x64emu_t *emu, uintptr_t fcn) { vFEpll_t fn = (vFEpll_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12))); } void vFEppp_32(x64emu_t *emu, uintptr_t fcn) { vFEppp_t fn = (vFEppp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } void vFEXLp_32(x64emu_t *emu, uintptr_t fcn) { vFEXLp_t fn = (vFEXLp_t)fcn; fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } void vFcccc_32(x64emu_t *emu, uintptr_t fcn) { vFcccc_t fn = (vFcccc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12), from_ptri(int8_t, R_ESP + 16)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index b39ab350..90c2a2a4 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -119,6 +119,7 @@ void XFv_32(x64emu_t *emu, uintptr_t fnc); void iFBp__32(x64emu_t *emu, uintptr_t fnc); void LFrl__32(x64emu_t *emu, uintptr_t fnc); void pFrl__32(x64emu_t *emu, uintptr_t fnc); +void lFrll__32(x64emu_t *emu, uintptr_t fnc); void iFBllll__32(x64emu_t *emu, uintptr_t fnc); void vFbuuipWCCp__32(x64emu_t *emu, uintptr_t fnc); void vFbWWpWpWpWp__32(x64emu_t *emu, uintptr_t fnc); @@ -279,6 +280,7 @@ void iFXbL__32(x64emu_t *emu, uintptr_t fnc); void fFpBp__32(x64emu_t *emu, uintptr_t fnc); void dFpBp__32(x64emu_t *emu, uintptr_t fnc); void pFrl_p_32(x64emu_t *emu, uintptr_t fnc); +void vFBll_l_32(x64emu_t *emu, uintptr_t fnc); void iFuBLL__32(x64emu_t *emu, uintptr_t fnc); void iFprll__32(x64emu_t *emu, uintptr_t fnc); void iFpbup__32(x64emu_t *emu, uintptr_t fnc); @@ -287,6 +289,7 @@ void iFBll_p_32(x64emu_t *emu, uintptr_t fnc); void iFSBliu__32(x64emu_t *emu, uintptr_t fnc); void iFXbLipi__32(x64emu_t *emu, uintptr_t fnc); void iFrLL_BLL__32(x64emu_t *emu, uintptr_t fnc); +void vFbll_rllll__32(x64emu_t *emu, uintptr_t fnc); void iFpruuipWCCp__32(x64emu_t *emu, uintptr_t fnc); void pFriiiiiiiiilt_p_32(x64emu_t *emu, uintptr_t fnc); void iFiBLLLLLLLLLLLLLLLLLL__32(x64emu_t *emu, uintptr_t fnc); @@ -366,6 +369,7 @@ void iFEip_32(x64emu_t *emu, uintptr_t fnc); void iFEup_32(x64emu_t *emu, uintptr_t fnc); void iFEpi_32(x64emu_t *emu, uintptr_t fnc); void iFEpu_32(x64emu_t *emu, uintptr_t fnc); +void iFEpl_32(x64emu_t *emu, uintptr_t fnc); void iFEpL_32(x64emu_t *emu, uintptr_t fnc); void iFEpp_32(x64emu_t *emu, uintptr_t fnc); void iFEpV_32(x64emu_t *emu, uintptr_t fnc); @@ -446,6 +450,7 @@ void dFddd_32(x64emu_t *emu, uintptr_t fnc); void dFddp_32(x64emu_t *emu, uintptr_t fnc); void lFili_32(x64emu_t *emu, uintptr_t fnc); void lFipL_32(x64emu_t *emu, uintptr_t fnc); +void lFlll_32(x64emu_t *emu, uintptr_t fnc); void lFlpi_32(x64emu_t *emu, uintptr_t fnc); void lFpLL_32(x64emu_t *emu, uintptr_t fnc); void lFppi_32(x64emu_t *emu, uintptr_t fnc); @@ -518,6 +523,7 @@ void pFppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc); void vFEipp_32(x64emu_t *emu, uintptr_t fnc); void vFEipV_32(x64emu_t *emu, uintptr_t fnc); void vFEpup_32(x64emu_t *emu, uintptr_t fnc); +void vFEpll_32(x64emu_t *emu, uintptr_t fnc); void vFEppp_32(x64emu_t *emu, uintptr_t fnc); void vFEXLp_32(x64emu_t *emu, uintptr_t fnc); void vFcccc_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedfreetype.c b/src/wrapped32/wrappedfreetype.c index cd6a513c..a78fafd3 100644 --- a/src/wrapped32/wrappedfreetype.c +++ b/src/wrapped32/wrappedfreetype.c @@ -281,7 +281,56 @@ typedef struct FT_Open_Args_s FT_Parameter_t* params; } FT_Open_Args_t; +typedef struct FT_WinFNT_HeaderRec_s +{ + uint16_t version; + unsigned long file_size; + uint8_t copyright[60]; + uint16_t file_type; + uint16_t nominal_point_size; + uint16_t vertical_resolution; + uint16_t horizontal_resolution; + uint16_t ascent; + uint16_t internal_leading; + uint16_t external_leading; + uint8_t italic; + uint8_t underline; + uint8_t strike_out; + uint16_t weight; + uint8_t charset; + uint16_t pixel_width; + uint16_t pixel_height; + uint8_t pitch_and_family; + uint16_t avg_width; + uint16_t max_width; + uint8_t first_char; + uint8_t last_char; + uint8_t default_char; + uint8_t break_char; + uint16_t bytes_per_row; + unsigned long device_offset; + unsigned long face_name_offset; + unsigned long bits_pointer; + unsigned long bits_offset; + uint8_t reserved; + unsigned long flags; + uint16_t A_space; + uint16_t B_space; + uint16_t C_space; + uint16_t color_table_offset; + unsigned long reserved1[4]; +} FT_WinFNT_HeaderRec_t; + +typedef struct FT_Matrix_s +{ + long xx, xy; + long yx, yy; +} FT_Matrix_t; + +// =============================================== // 32bits FreeType structures +// =============================================== + typedef union FT_StreamDesc_32_s { long_t value; @@ -535,6 +584,56 @@ typedef struct FT_Open_Args_32_s ptr_t params; //FT_Parameter_t* } FT_Open_Args_32_t; +typedef struct FT_WinFNT_HeaderRec_32_s +{ + uint16_t version; + ulong_t file_size; + uint8_t copyright[60]; + uint16_t file_type; + uint16_t nominal_point_size; + uint16_t vertical_resolution; + uint16_t horizontal_resolution; + uint16_t ascent; + uint16_t internal_leading; + uint16_t external_leading; + uint8_t italic; + uint8_t underline; + uint8_t strike_out; + uint16_t weight; + uint8_t charset; + uint16_t pixel_width; + uint16_t pixel_height; + uint8_t pitch_and_family; + uint16_t avg_width; + uint16_t max_width; + uint8_t first_char; + uint8_t last_char; + uint8_t default_char; + uint8_t break_char; + uint16_t bytes_per_row; + ulong_t device_offset; + ulong_t face_name_offset; + ulong_t bits_pointer; + ulong_t bits_offset; + uint8_t reserved; + ulong_t flags; + uint16_t A_space; + uint16_t B_space; + uint16_t C_space; + uint16_t color_table_offset; + ulong_t reserved1[4]; +} FT_WinFNT_HeaderRec_32_t; + +typedef struct FT_Matrix_32_s +{ + long_t xx, xy; + long_t yx, yy; +} FT_Matrix_32_t; + +// ================================== +// Convertions +// ================================== + void convert_FT_StreamRec_to_32(void* d, void* s) { FT_StreamRec_t* src = s; @@ -789,7 +888,6 @@ void inplace_FT_SizeRec_enlarge(void* a) } -// Convertion function void inplace_FT_FaceRec_shrink(void* a) { if(!a) return; @@ -981,6 +1079,106 @@ void convert_FT_Size_RequestRec_to_64(void* d, void* s) dst->vertResolution = src->vertResolution; } +void convert_FT_WinFNT_HeaderRec_to_32(void* d, void* s) +{ + FT_WinFNT_HeaderRec_t* src = s; + FT_WinFNT_HeaderRec_32_t* dst = d; + + dst->version = src->version; + dst->file_size = to_ulong(src->file_size); + memcpy(dst->copyright, src->copyright, sizeof(dst->copyright)); + dst->file_type = src->file_type; + dst->nominal_point_size = src->nominal_point_size; + dst->vertical_resolution = src->vertical_resolution; + dst->horizontal_resolution = src->horizontal_resolution; + dst->ascent = src->ascent; + dst->internal_leading = src->internal_leading; + dst->external_leading = src->external_leading; + dst->italic = src->italic; + dst->underline = src->underline; + dst->strike_out = src->strike_out; + dst->weight = src->weight; + dst->charset = src->charset; + dst->pixel_width = src->pixel_width; + dst->pixel_height = src->pixel_height; + dst->pitch_and_family = src->pitch_and_family; + dst->avg_width = src->avg_width; + dst->max_width = src->max_width; + dst->first_char = src->first_char; + dst->last_char = src->last_char; + dst->default_char = src->default_char; + dst->break_char = src->break_char; + dst->bytes_per_row = src->bytes_per_row; + dst->device_offset = to_ulong(src->device_offset); + dst->face_name_offset = to_ulong(src->face_name_offset); + dst->bits_pointer = to_ulong(src->bits_pointer); + dst->bits_offset = to_ulong(src->bits_offset); + dst->reserved = src->reserved; + dst->flags = to_ulong(src->flags); + dst->A_space = src->A_space; + dst->B_space = src->B_space; + dst->C_space = src->C_space; + dst->color_table_offset = src->color_table_offset; + dst->reserved1[0] = to_ulong(src->reserved1[0]); + dst->reserved1[1] = to_ulong(src->reserved1[1]); + dst->reserved1[2] = to_ulong(src->reserved1[2]); + dst->reserved1[3] = to_ulong(src->reserved1[3]); +} + +void convert_FT_Matrix_to_32(void* d, void* s) +{ + FT_Matrix_t* src = s; + FT_Matrix_32_t* dst = d; + + dst->xx = to_long(src->xx); + dst->xy = to_long(src->xy); + dst->yx = to_long(src->yx); + dst->yy = to_long(src->yy); +} +void convert_FT_Matrix_to_64(void* d, void* s) +{ + FT_Matrix_32_t* src = s; + FT_Matrix_t* dst = d; + + dst->yy = from_long(src->yy); + dst->yx = from_long(src->yx); + dst->xy = from_long(src->xy); + dst->xx = from_long(src->xx); +} + +void convert_FT_Bitmap_to_32(void* d, void* s) +{ + FT_Bitmap_t* src = s; + FT_Bitmap_32_t* dst = d; + + dst->rows = src->rows; + dst->width = src->width; + dst->pitch = src->pitch; + dst->buffer = to_ptrv(src->buffer); + dst->num_grays = src->num_grays; + dst->pixel_mode = src->pixel_mode; + dst->palette_mode = src->palette_mode; + dst->palette = to_ptrv(src->palette); +} +void convert_FT_Bitmap_to_64(void* d, void* s) +{ + FT_Bitmap_32_t* src = s; + FT_Bitmap_t* dst = d; + + dst->palette = from_ptrv(src->palette); + dst->palette_mode = src->palette_mode; + dst->pixel_mode = src->pixel_mode; + dst->num_grays = src->num_grays; + dst->buffer = from_ptrv(src->buffer); + dst->pitch = src->pitch; + dst->width = src->width; + dst->rows = src->rows; +} + +// ================================== +// Wrapping +// ================================== + #define ADDED_FUNCTIONS() \ #include "generated/wrappedfreetypetypes32.h" @@ -1570,6 +1768,7 @@ EXPORT int my32_FT_Set_Charmap(x64emu_t* emu, void* face, void* charmap) EXPORT void my32_FT_Outline_Get_CBox(x64emu_t* emu, FT_Outline_32_t* outline, FT_BBox_32_t* bbox) { + // convert outline to 64 int n = outline->n_points; FT_Outline_t outline_l; FT_Vector_t vector[n]; @@ -1584,6 +1783,7 @@ EXPORT void my32_FT_Outline_Get_CBox(x64emu_t* emu, FT_Outline_32_t* outline, FT outline_l.tags = from_ptrv(outline->tags); outline_l.contours = from_ptrv(outline->contours); outline_l.flags = outline->flags; + // FT_BBox_t res = {0}; my->FT_Outline_Get_CBox(&outline_l, &res); bbox->xMin = to_long(res.xMin); @@ -1608,4 +1808,145 @@ EXPORT int my32_FT_Render_Glyph(x64emu_t* emu, FT_GlyphSlotRec_32_t* glyph, uint return ret; } +EXPORT int my32_FT_Get_WinFNT_Header(x64emu_t* emu, void* face, FT_WinFNT_HeaderRec_32_t* aheader) +{ + FT_WinFNT_HeaderRec_t aheader_l = {0}; + inplace_FT_FaceRec_enlarge(face); + int ret = my->FT_Get_WinFNT_Header(face, &aheader_l); + inplace_FT_FaceRec_shrink(face); + if(!ret) + convert_FT_WinFNT_HeaderRec_to_32(aheader, &aheader_l); + return ret; +} + +EXPORT void my32_FT_Matrix_Multiply(x64emu_t* emu, FT_Matrix_32_t* a, FT_Matrix_32_t* b) +{ + FT_Matrix_t a_l, b_l; + convert_FT_Matrix_to_64(&a_l, a); + convert_FT_Matrix_to_64(&b_l, b); + my->FT_Matrix_Multiply(&a_l, &b_l); + convert_FT_Matrix_to_32(b, &b_l); +} + +EXPORT int my32_FT_Outline_Get_Bitmap(x64emu_t* emu, void* lib, FT_Outline_32_t* outline, FT_Bitmap_32_t* bitmap) +{ + FT_Bitmap_t bitmap_l; + // convert outline to 64 + int n = outline->n_points; + FT_Outline_t outline_l; + FT_Vector_t vector[n]; + outline_l.n_contours = outline->n_contours; + outline_l.n_points = outline->n_points; + outline_l.points = vector; + FT_Vector_32_t* vec = from_ptrv(outline->points); + for(int i=0; i<n; ++i) { + vector[i].x = from_long(vec[i].x); + vector[i].y = from_long(vec[i].y); + } + outline_l.tags = from_ptrv(outline->tags); + outline_l.contours = from_ptrv(outline->contours); + outline_l.flags = outline->flags; + // + convert_FT_Bitmap_to_64(&bitmap_l, bitmap); + + int ret = my->FT_Outline_Get_Bitmap(lib, &outline_l, &bitmap_l); + convert_FT_Bitmap_to_32(bitmap, &bitmap_l); + return ret; +} + +EXPORT void my32_FT_Outline_Transform(x64emu_t* emu, FT_Outline_32_t* outline, FT_Matrix_32_t* matrix) +{ + FT_Matrix_t matrix_l; + // convert outline to 64 + int n = outline->n_points; + FT_Outline_t outline_l; + FT_Vector_t vector[n]; + outline_l.n_contours = outline->n_contours; + outline_l.n_points = outline->n_points; + outline_l.points = vector; + FT_Vector_32_t* vec = from_ptrv(outline->points); + for(int i=0; i<n; ++i) { + vector[i].x = from_long(vec[i].x); + vector[i].y = from_long(vec[i].y); + } + outline_l.tags = from_ptrv(outline->tags); + outline_l.contours = from_ptrv(outline->contours); + outline_l.flags = outline->flags; + // + convert_FT_Matrix_to_64(&matrix_l, matrix); + my->FT_Outline_Transform(&outline_l, &matrix_l); + // convert outline to 32 + outline->n_contours = outline_l.n_contours; + outline->n_points = outline_l.n_points; + for(int i=0; i<n; ++i) { + vec[i].x = to_long(vector[i].x); + vec[i].y = to_long(vector[i].y); + } + outline->tags = to_ptrv(outline_l.tags); + outline->contours = to_ptrv(outline_l.contours); + outline->flags = outline_l.flags; +} + +EXPORT void my32_FT_Outline_Translate(x64emu_t* emu, FT_Outline_32_t* outline, long x, long y) +{ + // convert outline to 64 + int n = outline->n_points; + FT_Outline_t outline_l; + FT_Vector_t vector[n]; + outline_l.n_contours = outline->n_contours; + outline_l.n_points = outline->n_points; + outline_l.points = vector; + FT_Vector_32_t* vec = from_ptrv(outline->points); + for(int i=0; i<n; ++i) { + vector[i].x = from_long(vec[i].x); + vector[i].y = from_long(vec[i].y); + } + outline_l.tags = from_ptrv(outline->tags); + outline_l.contours = from_ptrv(outline->contours); + outline_l.flags = outline->flags; + // + my->FT_Outline_Translate(&outline_l, x, y); + // convert outline to 32 + outline->n_contours = outline_l.n_contours; + outline->n_points = outline_l.n_points; + for(int i=0; i<n; ++i) { + vec[i].x = to_long(vector[i].x); + vec[i].y = to_long(vector[i].y); + } + outline->tags = to_ptrv(outline_l.tags); + outline->contours = to_ptrv(outline_l.contours); + outline->flags = outline_l.flags; +} + +EXPORT void my32_FT_Outline_Embolden(x64emu_t* emu, FT_Outline_32_t* outline, long strength) +{ + // convert outline to 64 + int n = outline->n_points; + FT_Outline_t outline_l; + FT_Vector_t vector[n]; + outline_l.n_contours = outline->n_contours; + outline_l.n_points = outline->n_points; + outline_l.points = vector; + FT_Vector_32_t* vec = from_ptrv(outline->points); + for(int i=0; i<n; ++i) { + vector[i].x = from_long(vec[i].x); + vector[i].y = from_long(vec[i].y); + } + outline_l.tags = from_ptrv(outline->tags); + outline_l.contours = from_ptrv(outline->contours); + outline_l.flags = outline->flags; + // + my->FT_Outline_Embolden(&outline_l, strength); + // convert outline to 32 + outline->n_contours = outline_l.n_contours; + outline->n_points = outline_l.n_points; + for(int i=0; i<n; ++i) { + vec[i].x = to_long(vector[i].x); + vec[i].y = to_long(vector[i].y); + } + outline->tags = to_ptrv(outline_l.tags); + outline->contours = to_ptrv(outline_l.contours); + outline->flags = outline_l.flags; +} + #include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedfreetype_private.h b/src/wrapped32/wrappedfreetype_private.h index 622d1771..31516899 100644 --- a/src/wrapped32/wrappedfreetype_private.h +++ b/src/wrapped32/wrappedfreetype_private.h @@ -82,10 +82,10 @@ GOM(FT_Get_Sfnt_Table, pFEpi) //GO(FT_Get_SubGlyph_Info, iFpuppppp) //GO(FT_Get_Track_Kerning, iFplip) //GO(FT_Get_Transform, vFppp) -//GO(FT_Get_TrueType_Engine_Type, uFp) +GO(FT_Get_TrueType_Engine_Type, uFp) //GO(FT_Get_Var_Blend_Coordinates, iFpup) //GO(FT_Get_Var_Design_Coordinates, -//GO(FT_Get_WinFNT_Header, iFpp) // does FT_WinFNT_HeaderRec_ needs alignment? +GOM(FT_Get_WinFNT_Header, iFEpp) GOM(FT_Get_X11_Font_Format, pFEp) //GO(FT_Glyph_Copy, iFpp) //GO(FT_Glyph_Get_CBox, vFpup) @@ -99,9 +99,9 @@ GOM(FT_Get_X11_Font_Format, pFEp) //GO(FT_Gzip_Uncompress, GOM(FT_Has_PS_Glyph_Names, iFEp) GO(FT_Init_FreeType, iFBp_) -//GO(FT_Library_SetLcdFilter, iFpu) +GO(FT_Library_SetLcdFilter, iFpu) //GO(FT_Library_SetLcdFilterWeights, iFpp) -//GO(FT_Library_Version, vFpppp) +GO(FT_Library_Version, vFpppp) //GO(FT_List_Add, //GO(FT_List_Finalize, //GO(FT_List_Find, pFpp) @@ -113,9 +113,9 @@ GOM(FT_Load_Char, iFEpLi) GOM(FT_Load_Glyph, iFEpui) GOM(FT_Load_Sfnt_Table, iFEpLlpp) //GO(FT_Matrix_Invert, iFp) -//GO(FT_Matrix_Multiply, vFpp) -//GO(FT_MulDiv, lFlll) -//GO(FT_MulFix, lFll) +GOM(FT_Matrix_Multiply, vFEpp) +GO(FT_MulDiv, lFlll) +GO(FT_MulFix, lFll) GOM(FT_New_Face, iFEpplp) //GOM(FT_New_Library, iFEpp) GOM(FT_New_Memory_Face, iFEppllp) @@ -128,10 +128,10 @@ GOM(FT_Open_Face, iFEpplp) //GOM(FT_Outline_Decompose, iFEppp) //GO(FT_Outline_Done, iFpp) //GO(FT_Outline_Done_Internal, -//GO(FT_Outline_Embolden, iFpl) +GOM(FT_Outline_Embolden, iFEpl) //GO(FT_Outline_EmboldenXY, iFpll) //GO(FT_Outline_Get_BBox, iFpp) -//GO(FT_Outline_Get_Bitmap, iFppp) +GOM(FT_Outline_Get_Bitmap, iFEppp) GOM(FT_Outline_Get_CBox, vFEpp) //GO(FT_Outline_GetInsideBorder, //GO(FT_Outline_Get_Orientation, uFp) @@ -140,11 +140,11 @@ GOM(FT_Outline_Get_CBox, vFEpp) //GO(FT_Outline_New_Internal, //GO(FT_Outline_Render, iFppp) //GO(FT_Outline_Reverse, vFp) -//GO(FT_Outline_Transform, vFpp) -//GO(FT_Outline_Translate, vFpll) +GOM(FT_Outline_Transform, vFEpp) +GOM(FT_Outline_Translate, vFEpll) //GO(FT_Palette_Select, iFpWp) //GO(FT_Property_Get, iFpppp) -//GO(FT_Property_Set, iFpppp) +GO(FT_Property_Set, iFpppp) //GO(FT_Reference_Face, iFp) //GO(FT_Reference_Library, //GO(FT_Remove_Module, iFpp) @@ -187,11 +187,11 @@ GOM(FT_Set_Pixel_Sizes, iFEpuu) //GO(FT_TrueTypeGX_Free, //GO(FT_TrueTypeGX_Validate, //GO(FT_Vector_From_Polar, vFpll) -//GO(FT_Vector_Length, lFp) +GO(FT_Vector_Length, lFrll_) //GO(FT_Vector_Polarize, vFppp) //GO(FT_Vector_Rotate, vFpl) -//GO(FT_Vector_Transform, vFpp) -//GO(FT_Vector_Unit, vFpl) +GO(FT_Vector_Transform, vFbll_rllll_) +GO(FT_Vector_Unit, vFBll_l) //GO(FTC_CMapCache_Lookup, uFppiu) //GO(FTC_CMapCache_New, iFpp) |