< prev index next >

src/java.desktop/share/native/common/font/fontscalerdefs.h

Print this page




 102     UInt16       width;
 103     UInt16       height;
 104     UInt16       rowBytes;
 105     UInt8         managed;
 106     float        topLeftX;
 107     float        topLeftY;
 108     void         *cellInfo;
 109     UInt8        *image;
 110 } GlyphInfo;
 111 
 112   /* We use fffe and ffff as meaning invisible glyphs which have no
 113    * image, or advance and an empty outline.
 114    * Since there are no valid glyphs with this great a value (watch out for
 115    * large fonts in the future!) we can safely use check for >= this value
 116    */
 117 #define INVISIBLE_GLYPHS 0xfffe
 118 
 119 #define GSUB_TAG 0x47535542 /* 'GSUB' */
 120 #define GPOS_TAG 0x47504F53 /* 'GPOS' */
 121 #define GDEF_TAG 0x47444546 /* 'GDEF' */

 122 #define MORT_TAG 0x6D6F7274 /* 'mort' */
 123 #define MORX_TAG 0x6D6F7278 /* 'morx' */
 124 #define KERN_TAG 0x6B65726E /* 'kern' */
 125 
 126 typedef struct TTLayoutTableCacheEntry {
 127   const void* ptr;
 128   int   len;

 129 } TTLayoutTableCacheEntry;
 130 
 131 #define LAYOUTCACHE_ENTRIES 6
 132 
 133 typedef struct TTLayoutTableCache {
 134   TTLayoutTableCacheEntry entries[LAYOUTCACHE_ENTRIES];
 135   void* kernPairs;
 136 } TTLayoutTableCache;
 137 
 138 #include "sunfontids.h"
 139 
 140 JNIEXPORT extern TTLayoutTableCache* newLayoutTableCache();
 141 JNIEXPORT extern void freeLayoutTableCache(TTLayoutTableCache* ltc);
 142 
 143 /* If font is malformed then scaler context created by particular scaler
 144  * will be replaced by null scaler context.
 145  * Note that this context is not compatible with structure of the context
 146  * object used by particular scaler. Therefore, before using context
 147  * scaler has to check if it is NullContext.
 148  *
 149  * Note that in theory request with NullContext should not even reach native
 150  * scaler.
 151  *


 102     UInt16       width;
 103     UInt16       height;
 104     UInt16       rowBytes;
 105     UInt8         managed;
 106     float        topLeftX;
 107     float        topLeftY;
 108     void         *cellInfo;
 109     UInt8        *image;
 110 } GlyphInfo;
 111 
 112   /* We use fffe and ffff as meaning invisible glyphs which have no
 113    * image, or advance and an empty outline.
 114    * Since there are no valid glyphs with this great a value (watch out for
 115    * large fonts in the future!) we can safely use check for >= this value
 116    */
 117 #define INVISIBLE_GLYPHS 0xfffe
 118 
 119 #define GSUB_TAG 0x47535542 /* 'GSUB' */
 120 #define GPOS_TAG 0x47504F53 /* 'GPOS' */
 121 #define GDEF_TAG 0x47444546 /* 'GDEF' */
 122 #define HEAD_TAG 0x68656164 /* 'head' */
 123 #define MORT_TAG 0x6D6F7274 /* 'mort' */
 124 #define MORX_TAG 0x6D6F7278 /* 'morx' */
 125 #define KERN_TAG 0x6B65726E /* 'kern' */
 126 
 127 typedef struct TTLayoutTableCacheEntry {
 128   const void* ptr;
 129   int   len;
 130   int   tag;
 131 } TTLayoutTableCacheEntry;
 132 
 133 #define LAYOUTCACHE_ENTRIES 7
 134 
 135 typedef struct TTLayoutTableCache {
 136   TTLayoutTableCacheEntry entries[LAYOUTCACHE_ENTRIES];
 137   void* kernPairs;
 138 } TTLayoutTableCache;
 139 
 140 #include "sunfontids.h"
 141 
 142 JNIEXPORT extern TTLayoutTableCache* newLayoutTableCache();
 143 JNIEXPORT extern void freeLayoutTableCache(TTLayoutTableCache* ltc);
 144 
 145 /* If font is malformed then scaler context created by particular scaler
 146  * will be replaced by null scaler context.
 147  * Note that this context is not compatible with structure of the context
 148  * object used by particular scaler. Therefore, before using context
 149  * scaler has to check if it is NullContext.
 150  *
 151  * Note that in theory request with NullContext should not even reach native
 152  * scaler.
 153  *
< prev index next >