Harfbuzz fix

This commit is contained in:
Joshua Granick
2018-07-24 17:10:07 -07:00
parent 6c2ef7905c
commit 536450620f
4 changed files with 64 additions and 30 deletions

View File

@@ -17,12 +17,20 @@ abstract HBFTFont(HBFont) to HBFont from CFFIPointer to CFFIPointer {
public function new (font:Font) { public function new (font:Font) {
#if (lime_cffi && lime_harfbuzz && !macro) if (font.src != null) {
// this = NativeCFFI.lime_hb_ft_font_create (font.src);
this = NativeCFFI.lime_hb_ft_font_create_referenced (font.src); #if (lime_cffi && lime_harfbuzz && !macro)
#else // this = NativeCFFI.lime_hb_ft_font_create (font.src);
this = null; this = NativeCFFI.lime_hb_ft_font_create_referenced (font.src);
#end #else
this = null;
#end
} else {
this = null;
}
} }

View File

@@ -11,30 +11,40 @@ extern "C" const char *hxRunLibrary ();
extern "C" void hxcpp_set_top_of_stack (); extern "C" void hxcpp_set_top_of_stack ();
extern "C" int zlib_register_prims (); extern "C" int zlib_register_prims ();
extern "C" int lime_cairo_register_prims ();
extern "C" int lime_curl_register_prims ();
extern "C" int lime_harfbuzz_register_prims ();
extern "C" int lime_openal_register_prims (); extern "C" int lime_openal_register_prims ();
extern "C" int lime_opengl_register_prims ();
extern "C" int lime_vorbis_register_prims ();
::foreach ndlls::::if (registerStatics)::extern "C" int ::nameSafe::_register_prims ();::end:: ::foreach ndlls::::if (registerStatics)::extern "C" int ::nameSafe::_register_prims ();::end::
::end:: ::end::
extern "C" int main (int argc, char *argv[]) { extern "C" int main (int argc, char *argv[]) {
hxcpp_set_top_of_stack (); hxcpp_set_top_of_stack ();
zlib_register_prims (); zlib_register_prims ();
lime_cairo_register_prims ();
lime_curl_register_prims ();
lime_harfbuzz_register_prims ();
lime_openal_register_prims (); lime_openal_register_prims ();
lime_opengl_register_prims ();
lime_vorbis_register_prims ();
::foreach ndlls::::if (registerStatics)::::nameSafe::_register_prims ();::end:: ::foreach ndlls::::if (registerStatics)::::nameSafe::_register_prims ();::end::
::end:: ::end::
const char *err = NULL; const char *err = NULL;
err = hxRunLibrary (); err = hxRunLibrary ();
if (err) { if (err) {
printf (" Error %s\n", err); printf (" Error %s\n", err);
return -1; return -1;
} }
return 0; return 0;
} }

View File

@@ -5,31 +5,39 @@ extern "C" void hxcpp_set_top_of_stack ();
extern "C" int zlib_register_prims (); extern "C" int zlib_register_prims ();
extern "C" int lime_cairo_register_prims (); extern "C" int lime_cairo_register_prims ();
extern "C" int lime_curl_register_prims ();
extern "C" int lime_harfbuzz_register_prims ();
extern "C" int lime_openal_register_prims (); extern "C" int lime_openal_register_prims ();
extern "C" int lime_opengl_register_prims ();
extern "C" int lime_vorbis_register_prims ();
::foreach ndlls::::if (registerStatics):: ::foreach ndlls::::if (registerStatics)::
extern "C" int ::nameSafe::_register_prims ();::end::::end:: extern "C" int ::nameSafe::_register_prims ();::end::::end::
extern "C" int SDL_main (int argc, char *argv[]) { extern "C" int SDL_main (int argc, char *argv[]) {
hxcpp_set_top_of_stack (); hxcpp_set_top_of_stack ();
zlib_register_prims (); zlib_register_prims ();
lime_cairo_register_prims (); lime_cairo_register_prims ();
lime_curl_register_prims ();
lime_harfbuzz_register_prims ();
lime_openal_register_prims (); lime_openal_register_prims ();
lime_opengl_register_prims ();
lime_vorbis_register_prims ();
::foreach ndlls::::if (registerStatics):: ::foreach ndlls::::if (registerStatics)::
::nameSafe::_register_prims ();::end::::end:: ::nameSafe::_register_prims ();::end::::end::
const char *err = NULL; const char *err = NULL;
err = hxRunLibrary (); err = hxRunLibrary ();
if (err) { if (err) {
printf ("Error %s\n", err); printf ("Error %s\n", err);
return -1; return -1;
} }
return 0; return 0;
} }

View File

@@ -5,31 +5,39 @@ extern "C" void hxcpp_set_top_of_stack ();
extern "C" int zlib_register_prims (); extern "C" int zlib_register_prims ();
extern "C" int lime_cairo_register_prims (); extern "C" int lime_cairo_register_prims ();
extern "C" int lime_curl_register_prims ();
extern "C" int lime_harfbuzz_register_prims ();
extern "C" int lime_openal_register_prims (); extern "C" int lime_openal_register_prims ();
extern "C" int lime_opengl_register_prims ();
extern "C" int lime_vorbis_register_prims ();
::foreach ndlls::::if (registerStatics):: ::foreach ndlls::::if (registerStatics)::
extern "C" int ::nameSafe::_register_prims ();::end::::end:: extern "C" int ::nameSafe::_register_prims ();::end::::end::
extern "C" int SDL_main (int argc, char *argv[]) { extern "C" int SDL_main (int argc, char *argv[]) {
hxcpp_set_top_of_stack (); hxcpp_set_top_of_stack ();
zlib_register_prims (); zlib_register_prims ();
lime_cairo_register_prims (); lime_cairo_register_prims ();
lime_curl_register_prims ();
lime_harfbuzz_register_prims ();
lime_openal_register_prims (); lime_openal_register_prims ();
lime_opengl_register_prims ();
lime_vorbis_register_prims ();
::foreach ndlls::::if (registerStatics):: ::foreach ndlls::::if (registerStatics)::
::nameSafe::_register_prims ();::end::::end:: ::nameSafe::_register_prims ();::end::::end::
const char *err = NULL; const char *err = NULL;
err = hxRunLibrary (); err = hxRunLibrary ();
if (err) { if (err) {
printf ("Error %s\n", err); printf ("Error %s\n", err);
return -1; return -1;
} }
return 0; return 0;
} }