src/java.desktop/share/native/libfontmanager/harfbuzz/hb-common.h
changeset 50826 f5b95be8b6e2
parent 48274 51772bf1fb0c
child 54232 7c11a7cc7c1d
equal deleted inserted replaced
50825:aa0a35b071fb 50826:f5b95be8b6e2
    47     defined (_sgi) || defined (__sun) || defined (sun) || \
    47     defined (_sgi) || defined (__sun) || defined (sun) || \
    48     defined (__digital__) || defined (__HP_cc)
    48     defined (__digital__) || defined (__HP_cc)
    49 #  include <inttypes.h>
    49 #  include <inttypes.h>
    50 #elif defined (_AIX)
    50 #elif defined (_AIX)
    51 #  include <sys/inttypes.h>
    51 #  include <sys/inttypes.h>
       
    52 #elif defined (_MSC_VER) && _MSC_VER < 1600
       
    53 /* VS 2010 (_MSC_VER 1600) has stdint.h */
       
    54 typedef __int8 int8_t;
       
    55 typedef unsigned __int8 uint8_t;
       
    56 typedef __int16 int16_t;
       
    57 typedef unsigned __int16 uint16_t;
       
    58 typedef __int32 int32_t;
       
    59 typedef unsigned __int32 uint32_t;
       
    60 typedef __int64 int64_t;
       
    61 typedef unsigned __int64 uint64_t;
    52 #else
    62 #else
    53 #  include <stdint.h>
    63 #  include <stdint.h>
    54 #endif
    64 #endif
    55 
    65 
    56 HB_BEGIN_DECLS
    66 HB_BEGIN_DECLS
   140 hb_language_get_default (void);
   150 hb_language_get_default (void);
   141 
   151 
   142 
   152 
   143 /* hb_script_t */
   153 /* hb_script_t */
   144 
   154 
   145 /* http://unicode.org/iso15924/ */
   155 /* https://unicode.org/iso15924/ */
   146 /* http://goo.gl/x9ilM */
   156 /* https://docs.google.com/spreadsheets/d/1Y90M0Ie3MUJ6UVCRDOypOtijlMDLNNyyLk36T6iMu0o */
   147 /* Unicode Character Database property: Script (sc) */
   157 /* Unicode Character Database property: Script (sc) */
   148 typedef enum
   158 typedef enum
   149 {
   159 {
   150   /*1.1*/ HB_SCRIPT_COMMON                      = HB_TAG ('Z','y','y','y'),
   160   /*1.1*/ HB_SCRIPT_COMMON                      = HB_TAG ('Z','y','y','y'),
   151   /*1.1*/ HB_SCRIPT_INHERITED                   = HB_TAG ('Z','i','n','h'),
   161   /*1.1*/ HB_SCRIPT_INHERITED                   = HB_TAG ('Z','i','n','h'),
   313   /*10.0*/HB_SCRIPT_MASARAM_GONDI               = HB_TAG ('G','o','n','m'),
   323   /*10.0*/HB_SCRIPT_MASARAM_GONDI               = HB_TAG ('G','o','n','m'),
   314   /*10.0*/HB_SCRIPT_NUSHU                       = HB_TAG ('N','s','h','u'),
   324   /*10.0*/HB_SCRIPT_NUSHU                       = HB_TAG ('N','s','h','u'),
   315   /*10.0*/HB_SCRIPT_SOYOMBO                     = HB_TAG ('S','o','y','o'),
   325   /*10.0*/HB_SCRIPT_SOYOMBO                     = HB_TAG ('S','o','y','o'),
   316   /*10.0*/HB_SCRIPT_ZANABAZAR_SQUARE            = HB_TAG ('Z','a','n','b'),
   326   /*10.0*/HB_SCRIPT_ZANABAZAR_SQUARE            = HB_TAG ('Z','a','n','b'),
   317 
   327 
       
   328   /*
       
   329    * Since 1.8.0
       
   330    */
       
   331   /*11.0*/HB_SCRIPT_DOGRA                       = HB_TAG ('D','o','g','r'),
       
   332   /*11.0*/HB_SCRIPT_GUNJALA_GONDI               = HB_TAG ('G','o','n','g'),
       
   333   /*11.0*/HB_SCRIPT_HANIFI_ROHINGYA             = HB_TAG ('R','o','h','g'),
       
   334   /*11.0*/HB_SCRIPT_MAKASAR                     = HB_TAG ('M','a','k','a'),
       
   335   /*11.0*/HB_SCRIPT_MEDEFAIDRIN                 = HB_TAG ('M','e','d','f'),
       
   336   /*11.0*/HB_SCRIPT_OLD_SOGDIAN                 = HB_TAG ('S','o','g','o'),
       
   337   /*11.0*/HB_SCRIPT_SOGDIAN                     = HB_TAG ('S','o','g','d'),
       
   338 
   318   /* No script set. */
   339   /* No script set. */
   319   HB_SCRIPT_INVALID                             = HB_TAG_NONE,
   340   HB_SCRIPT_INVALID                             = HB_TAG_NONE,
   320 
   341 
   321   /* Dummy values to ensure any hb_tag_t value can be passed/stored as hb_script_t
   342   /* Dummy values to ensure any hb_tag_t value can be passed/stored as hb_script_t
   322    * without risking undefined behavior.  Include both a signed and unsigned max,
   343    * without risking undefined behavior.  Include both a signed and unsigned max,
   323    * since technically enums are int, and indeed, hb_script_t ends up being signed.
   344    * since technically enums are int, and indeed, hb_script_t ends up being signed.
   324    * See this thread for technicalities:
   345    * See this thread for technicalities:
   325    *
   346    *
   326    *   http://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html
   347    *   https://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html
   327    */
   348    */
   328   _HB_SCRIPT_MAX_VALUE                          = HB_TAG_MAX, /*< skip >*/
   349   _HB_SCRIPT_MAX_VALUE                          = HB_TAG_MAX, /*< skip >*/
   329   _HB_SCRIPT_MAX_VALUE_SIGNED                   = HB_TAG_MAX_SIGNED /*< skip >*/
   350   _HB_SCRIPT_MAX_VALUE_SIGNED                   = HB_TAG_MAX_SIGNED /*< skip >*/
   330 
   351 
   331 } hb_script_t;
   352 } hb_script_t;