1 #ifndef HB_JDK_H 2 #define HB_JDK_H 3 4 #include "hb.h" 5 #include <jni.h> 6 #include <sunfontids.h> 7 8 # ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 typedef struct JDKFontInfo_Struct { 13 JNIEnv* env; 14 jobject font2D; 15 jobject fontStrike; 16 long nativeFont; 17 float matrix[4]; 18 float xPtSize; 19 float yPtSize; 20 jboolean aat; 21 } JDKFontInfo; 22 23 24 /* 25 * Note: 26 * 27 * Set face size on ft-face before creating hb-font from it. 28 * Otherwise hb-ft would NOT pick up the font size correctly. 29 */ 30 31 hb_face_t * 32 hb_jdk_face_create(JDKFontInfo* jdkFontInfo, 33 hb_destroy_func_t destroy); 34 hb_font_t * 35 hb_jdk_font_create(JDKFontInfo* jdkFontInfo, 36 hb_destroy_func_t destroy); 37 38 39 /* Makes an hb_font_t use JDK internally to implement font functions. */ 40 void 41 hb_jdk_font_set_funcs(hb_font_t *font); 42 43 44 # ifdef __cplusplus 45 } 46 #endif 47 48 #endif /* HB_JDK_H */