< prev index next >

src/java.desktop/share/native/libfontmanager/hb-jdk.h

Print this page




  32 
  33 # ifdef __cplusplus
  34 extern "C" {
  35 #endif
  36 
  37 typedef struct JDKFontInfo_Struct {
  38     JNIEnv* env;
  39     jobject font2D;
  40     jobject fontStrike;
  41     long nativeFont;
  42     float matrix[4];
  43     float ptSize;
  44     float xPtSize;
  45     float yPtSize;
  46     float devScale; // How much applying the full glyph tx scales x distance.
  47     jboolean aat;
  48 } JDKFontInfo;
  49 
  50 
  51 // Use 16.16 for better precision than 26.6
  52 #define FloatToFixedScale ((float)(1 << 16))
  53 #define FloatToFixed(f) ((unsigned int)((f) * FloatToFixedScale))
  54 
  55 /*
  56  * Note:
  57  *
  58  * Set face size on ft-face before creating hb-font from it.
  59  * Otherwise hb-ft would NOT pick up the font size correctly.
  60  */
  61 
  62 hb_face_t *
  63 hb_jdk_face_create(JDKFontInfo*   jdkFontInfo,
  64                    hb_destroy_func_t destroy);
  65 hb_font_t *
  66 hb_jdk_font_create(JDKFontInfo*   jdkFontInfo,
  67                    hb_destroy_func_t destroy);
  68 
  69 
  70 /* Makes an hb_font_t use JDK internally to implement font functions. */
  71 void
  72 hb_jdk_font_set_funcs(hb_font_t *font);
  73 


  32 
  33 # ifdef __cplusplus
  34 extern "C" {
  35 #endif
  36 
  37 typedef struct JDKFontInfo_Struct {
  38     JNIEnv* env;
  39     jobject font2D;
  40     jobject fontStrike;
  41     long nativeFont;
  42     float matrix[4];
  43     float ptSize;
  44     float xPtSize;
  45     float yPtSize;
  46     float devScale; // How much applying the full glyph tx scales x distance.
  47     jboolean aat;
  48 } JDKFontInfo;
  49 
  50 
  51 // Use 16.16 for better precision than 26.6
  52 #define HBFloatToFixedScale ((float)(1 << 16))
  53 #define HBFloatToFixed(f) ((unsigned int)((f) * HBFloatToFixedScale))
  54 
  55 /*
  56  * Note:
  57  *
  58  * Set face size on ft-face before creating hb-font from it.
  59  * Otherwise hb-ft would NOT pick up the font size correctly.
  60  */
  61 
  62 hb_face_t *
  63 hb_jdk_face_create(JDKFontInfo*   jdkFontInfo,
  64                    hb_destroy_func_t destroy);
  65 hb_font_t *
  66 hb_jdk_font_create(JDKFontInfo*   jdkFontInfo,
  67                    hb_destroy_func_t destroy);
  68 
  69 
  70 /* Makes an hb_font_t use JDK internally to implement font functions. */
  71 void
  72 hb_jdk_font_set_funcs(hb_font_t *font);
  73 
< prev index next >