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 */