#include "unicode/utypes.h"
Go to the source code of this file.
Data Structures | |
struct | LEPoint |
Used to hold a pair of (x, y) values which represent a point. More... | |
Defines | |
#define | NULL 0 |
Used to represent empty pointers. | |
#define | LE_GLYPH_MASK 0x0000FFFF |
Used to mask off the glyph ID part of an LEGlyphID. | |
#define | LE_GLYPH_SHIFT 0 |
Used to shift the glyph ID part of an LEGlyphID into the low-order bits. | |
#define | LE_SUB_FONT_MASK 0x00FF0000 |
Used to mask off the sub-font ID part of an LEGlyphID. | |
#define | LE_SUB_FONT_SHIFT 16 |
Used to shift the sub-font ID part of an LEGlyphID into the low-order bits. | |
#define | LE_CLIENT_MASK 0xFF000000 |
Used to mask off the client-defined part of an LEGlyphID. | |
#define | LE_CLIENT_SHIFT 24 |
Used to shift the sub-font ID part of an LEGlyphID into the low-order bits. | |
#define | LE_GET_GLYPH(gid) ((gid & LE_GLYPH_MASK) >> LE_GLYPH_SHIFT) |
A convenience macro to get the Glyph ID part of an LEGlyphID. | |
#define | LE_GET_SUB_FONT(gid) ((gid & LE_SUB_FONT_MASK) >> LE_SUB_FONT_SHIFT) |
A convenience macro to get the sub-font ID part of an LEGlyphID. | |
#define | LE_GET_CLIENT(gid) ((gid & LE_CLIENT_MASK) >> LE_CLIENT_SHIFT) |
A convenience macro to get the client-defined part of an LEGlyphID. | |
#define | LE_SET_GLYPH(gid, glyph) ((gid & ~LE_GLYPH_MASK) | ((glyph << LE_GLYPH_SHIFT) & LE_GLYPH_MASK)) |
A convenience macro to set the Glyph ID part of an LEGlyphID. | |
#define | LE_SET_SUB_FONT(gid, font) ((gid & ~LE_SUB_FONT_MASK) | ((font << LE_SUB_FONT_SHIFT) & LE_SUB_FONT_MASK)) |
A convenience macro to set the sub-font ID part of an LEGlyphID. | |
#define | LE_SET_CLIENT(gid, client) ((gid & ~LE_CLIENT_MASK) | ((client << LE_CLIENT_SHIFT) & LE_CLIENT_MASK)) |
A convenience macro to set the client-defined part of an LEGlyphID. | |
#define | LE_ARRAY_SIZE(array) (sizeof array / sizeof array[0]) |
A convenience macro to get the length of an array. | |
#define | LE_MAKE_TAG(a, b, c, d) |
A macro to construct the four-letter tags used to label TrueType tables, and for script, language and feature tags in OpenType tables. | |
#define | LE_SUCCESS(code) (U_SUCCESS((UErrorCode)code)) |
A convenience macro to test for the success of a LayoutEngine call. | |
#define | LE_FAILURE(code) (U_FAILURE((UErrorCode)code)) |
A convenience macro to test for the failure of a LayoutEngine call. | |
Typedefs | |
typedef int32_t | le_int32 |
A type used for signed, 32-bit integers. | |
typedef uint32_t | le_uint32 |
A type used for unsigned, 32-bit integers. | |
typedef int16_t | le_int16 |
A type used for signed, 16-bit integers. | |
typedef uint16_t | le_uint16 |
A type used for unsigned, 16-bit integers. | |
typedef int8_t | le_int8 |
A type used for signed, 8-bit integers. | |
typedef uint8_t | le_uint8 |
A type used for unsigned, 8-bit integers. | |
typedef UBool | le_bool |
A type used for boolean values. | |
typedef le_uint32 | LETag |
Used for four character tags. | |
typedef le_uint16 | TTGlyphID |
Used for 16-bit glyph indices as they're represented in TrueType font tables. | |
typedef le_uint32 | LEGlyphID |
Used for glyph indices. | |
typedef UChar | LEUnicode16 |
Used to represent 16-bit Unicode code points. | |
typedef UChar32 | LEUnicode32 |
Used to represent 32-bit Unicode code points. | |
typedef UChar | LEUnicode |
Used to represent 16-bit Unicode code points. | |
typedef struct LEPoint | LEPoint |
Used to hold a pair of (x, y) values which represent a point. | |
typedef enum LEErrorCode | LEErrorCode |
Error codes returned by the LayoutEngine. | |
Enumerations | |
enum | LETableTags { LE_ACNT_TABLE_TAG = 0x61636E74UL, LE_AVAR_TABLE_TAG = 0x61766172UL, LE_BASE_TABLE_TAG = 0x42415345UL, LE_BDAT_TABLE_TAG = 0x62646174UL, LE_BHED_TABLE_TAG = 0x62686564UL, LE_BLOC_TABLE_TAG = 0x626C6F63UL, LE_BSLN_TABLE_TAG = 0x62736C6EUL, LE_CFF__TABLE_TAG = 0x43464620UL, LE_CMAP_TABLE_TAG = 0x636D6170UL, LE_CVAR_TABLE_TAG = 0x63766172UL, LE_CVT__TABLE_TAG = 0x63767420UL, LE_DSIG_TABLE_TAG = 0x44534947UL, LE_EBDT_TABLE_TAG = 0x45424454UL, LE_EBLC_TABLE_TAG = 0x45424C43UL, LE_EBSC_TABLE_TAG = 0x45425343UL, LE_FDSC_TABLE_TAG = 0x66647363UL, LE_FEAT_TABLE_TAG = 0x66656174UL, LE_FMTX_TABLE_TAG = 0x666D7478UL, LE_FPGM_TABLE_TAG = 0x6670676DUL, LE_FVAR_TABLE_TAG = 0x66766172UL, LE_GASP_TABLE_TAG = 0x67617370UL, LE_GDEF_TABLE_TAG = 0x47444546UL, LE_GLYF_TABLE_TAG = 0x676C7966UL, LE_GPOS_TABLE_TAG = 0x47504F53UL, LE_GSUB_TABLE_TAG = 0x47535542UL, LE_GVAR_TABLE_TAG = 0x67766172UL, LE_HDMX_TABLE_TAG = 0x68646D78UL, LE_HEAD_TABLE_TAG = 0x68656164UL, LE_HHEA_TABLE_TAG = 0x68686561UL, LE_HMTX_TABLE_TAG = 0x686D7478UL, LE_HSTY_TABLE_TAG = 0x68737479UL, LE_JUST_TABLE_TAG = 0x6A757374UL, LE_JSTF_TABLE_TAG = 0x4A535446UL, LE_KERN_TABLE_TAG = 0x6B65726EUL, LE_LCAR_TABLE_TAG = 0x6C636172UL, LE_LOCA_TABLE_TAG = 0x6C6F6361UL, LE_LTSH_TABLE_TAG = 0x4C545348UL, LE_MAXP_TABLE_TAG = 0x6D617870UL, LE_MORT_TABLE_TAG = 0x6D6F7274UL, LE_MORX_TABLE_TAG = 0x6D6F7278UL, LE_NAME_TABLE_TAG = 0x6E616D65UL, LE_OPBD_TABLE_TAG = 0x6F706264UL, LE_OS_2_TABLE_TAG = 0x4F532F32UL, LE_PCLT_TABLE_TAG = 0x50434C54UL, LE_POST_TABLE_TAG = 0x706F7374UL, LE_PREP_TABLE_TAG = 0x70726570UL, LE_PROP_TABLE_TAG = 0x70726F70UL, LE_TRAK_TABLE_TAG = 0x7472616BUL, LE_VDMX_TABLE_TAG = 0x56444D58UL, LE_VHEA_TABLE_TAG = 0x76686561UL, LE_VMTX_TABLE_TAG = 0x766D7478UL, LE_VORG_TABLE_TAG = 0x564F5247UL, LE_ZAPF_TABLE_TAG = 0x5A617066UL } |
This enumeration defines constants for the standard TrueType, OpenType and AAT table tags. More... | |
enum | LEFeatureTags { LE_AALT_FEATURE_TAG = 0x61616C74UL, LE_ABVF_FEATURE_TAG = 0x61627666UL, LE_ABVM_FEATURE_TAG = 0x6162766DUL, LE_ABVS_FEATURE_TAG = 0x61627673UL, LE_AFRC_FEATURE_TAG = 0x61667263UL, LE_AKHN_FEATURE_TAG = 0x616B686EUL, LE_BLWF_FEATURE_TAG = 0x626C7766UL, LE_BLWM_FEATURE_TAG = 0x626C776DUL, LE_BLWS_FEATURE_TAG = 0x626C7773UL, LE_CALT_FEATURE_TAG = 0x63616C74UL, LE_CASE_FEATURE_TAG = 0x63617365UL, LE_CCMP_FEATURE_TAG = 0x63636D70UL, LE_CLIG_FEATURE_TAG = 0x636C6967UL, LE_CPSP_FEATURE_TAG = 0x63707370UL, LE_CSWH_FEATURE_TAG = 0x63737768UL, LE_CURS_FEATURE_TAG = 0x63757273UL, LE_C2SC_FEATURE_TAG = 0x63327363UL, LE_C2PC_FEATURE_TAG = 0x63327063UL, LE_DIST_FEATURE_TAG = 0x64697374UL, LE_DLIG_FEATURE_TAG = 0x646C6967UL, LE_DNOM_FEATURE_TAG = 0x646E6F6DUL, LE_EXPT_FEATURE_TAG = 0x65787074UL, LE_FALT_FEATURE_TAG = 0x66616C74UL, LE_FIN2_FEATURE_TAG = 0x66696E32UL, LE_FIN3_FEATURE_TAG = 0x66696E33UL, LE_FINA_FEATURE_TAG = 0x66696E61UL, LE_FRAC_FEATURE_TAG = 0x66726163UL, LE_FWID_FEATURE_TAG = 0x66776964UL, LE_HALF_FEATURE_TAG = 0x68616C66UL, LE_HALN_FEATURE_TAG = 0x68616C6EUL, LE_HALT_FEATURE_TAG = 0x68616C74UL, LE_HIST_FEATURE_TAG = 0x68697374UL, LE_HKNA_FEATURE_TAG = 0x686B6E61UL, LE_HLIG_FEATURE_TAG = 0x686C6967UL, LE_HNGL_FEATURE_TAG = 0x686E676CUL, LE_HWID_FEATURE_TAG = 0x68776964UL, LE_INIT_FEATURE_TAG = 0x696E6974UL, LE_ISOL_FEATURE_TAG = 0x69736F6CUL, LE_ITAL_FEATURE_TAG = 0x6974616CUL, LE_JALT_FEATURE_TAG = 0x6A616C74UL, LE_JP78_FEATURE_TAG = 0x6A703738UL, LE_JP83_FEATURE_TAG = 0x6A703833UL, LE_JP90_FEATURE_TAG = 0x6A703930UL, LE_KERN_FEATURE_TAG = 0x6B65726EUL, LE_LFBD_FEATURE_TAG = 0x6C666264UL, LE_LIGA_FEATURE_TAG = 0x6C696761UL, LE_LJMO_FEATURE_TAG = 0x6C6A6D6FUL, LE_LNUM_FEATURE_TAG = 0x6C6E756DUL, LE_LOCL_FEATURE_TAG = 0x6C6F636CUL, LE_MARK_FEATURE_TAG = 0x6D61726BUL, LE_MED2_FEATURE_TAG = 0x6D656432UL, LE_MEDI_FEATURE_TAG = 0x6D656469UL, LE_MGRK_FEATURE_TAG = 0x6D67726BUL, LE_MKMK_FEATURE_TAG = 0x6D6B6D6BUL, LE_MSET_FEATURE_TAG = 0x6D736574UL, LE_NALT_FEATURE_TAG = 0x6E616C74UL, LE_NLCK_FEATURE_TAG = 0x6E6C636BUL, LE_NUKT_FEATURE_TAG = 0x6E756B74UL, LE_NUMR_FEATURE_TAG = 0x6E756D72UL, LE_ONUM_FEATURE_TAG = 0x6F6E756DUL, LE_OPBD_FEATURE_TAG = 0x6F706264UL, LE_ORDN_FEATURE_TAG = 0x6F72646EUL, LE_ORNM_FEATURE_TAG = 0x6F726E6DUL, LE_PALT_FEATURE_TAG = 0x70616C74UL, LE_PCAP_FEATURE_TAG = 0x70636170UL, LE_PNUM_FEATURE_TAG = 0x706E756DUL, LE_PREF_FEATURE_TAG = 0x70726566UL, LE_PRES_FEATURE_TAG = 0x70726573UL, LE_PSTF_FEATURE_TAG = 0x70737466UL, LE_PSTS_FEATURE_TAG = 0x70737473UL, LE_PWID_FEATURE_TAG = 0x70776964UL, LE_QWID_FEATURE_TAG = 0x71776964UL, LE_RAND_FEATURE_TAG = 0x72616E64UL, LE_RLIG_FEATURE_TAG = 0x726C6967UL, LE_RPHF_FEATURE_TAG = 0x72706866UL, LE_RTBD_FEATURE_TAG = 0x72746264UL, LE_RTLA_FEATURE_TAG = 0x72746C61UL, LE_RUBY_FEATURE_TAG = 0x72756279UL, LE_SALT_FEATURE_TAG = 0x73616C74UL, LE_SINF_FEATURE_TAG = 0x73696E66UL, LE_SIZE_FEATURE_TAG = 0x73697A65UL, LE_SMCP_FEATURE_TAG = 0x736D6370UL, LE_SMPL_FEATURE_TAG = 0x736D706CUL, LE_SS01_FEATURE_TAG = 0x73733031UL, LE_SS02_FEATURE_TAG = 0x73733032UL, LE_SS03_FEATURE_TAG = 0x73733033UL, LE_SS04_FEATURE_TAG = 0x73733034UL, LE_SS05_FEATURE_TAG = 0x73733035UL, LE_SS06_FEATURE_TAG = 0x73733036UL, LE_SS07_FEATURE_TAG = 0x73733037UL, LE_SS08_FEATURE_TAG = 0x73733038UL, LE_SS09_FEATURE_TAG = 0x73733039UL, LE_SS10_FEATURE_TAG = 0x73733130UL, LE_SS11_FEATURE_TAG = 0x73733131UL, LE_SS12_FEATURE_TAG = 0x73733132UL, LE_SS13_FEATURE_TAG = 0x73733133UL, LE_SS14_FEATURE_TAG = 0x73733134UL, LE_SS15_FEATURE_TAG = 0x73733135UL, LE_SS16_FEATURE_TAG = 0x73733136UL, LE_SS17_FEATURE_TAG = 0x73733137UL, LE_SS18_FEATURE_TAG = 0x73733138UL, LE_SS19_FEATURE_TAG = 0x73733139UL, LE_SS20_FEATURE_TAG = 0x73733230UL, LE_SUBS_FEATURE_TAG = 0x73756273UL, LE_SUPS_FEATURE_TAG = 0x73757073UL, LE_SWSH_FEATURE_TAG = 0x73777368UL, LE_TITL_FEATURE_TAG = 0x7469746CUL, LE_TJMO_FEATURE_TAG = 0x746A6D6FUL, LE_TNAM_FEATURE_TAG = 0x746E616DUL, LE_TNUM_FEATURE_TAG = 0x746E756DUL, LE_TRAD_FEATURE_TAG = 0x74726164UL, LE_TWID_FEATURE_TAG = 0x74776964UL, LE_UNIC_FEATURE_TAG = 0x756E6963UL, LE_VALT_FEATURE_TAG = 0x76616C74UL, LE_VATU_FEATURE_TAG = 0x76617475UL, LE_VERT_FEATURE_TAG = 0x76657274UL, LE_VHAL_FEATURE_TAG = 0x7668616CUL, LE_VJMO_FEATURE_TAG = 0x766A6D6FUL, LE_VKNA_FEATURE_TAG = 0x766B6E61UL, LE_VKRN_FEATURE_TAG = 0x766B726EUL, LE_VPAL_FEATURE_TAG = 0x7670616CUL, LE_VRT2_FEATURE_TAG = 0x76727432UL, LE_ZERO_FEATURE_TAG = 0x7A65726FUL } |
This enumeration defines constants for all the common OpenType feature tags. More... | |
enum | LEErrorCode { LE_NO_SUBFONT_WARNING = U_USING_DEFAULT_WARNING, LE_NO_ERROR = U_ZERO_ERROR, LE_ILLEGAL_ARGUMENT_ERROR = U_ILLEGAL_ARGUMENT_ERROR, LE_MEMORY_ALLOCATION_ERROR = U_MEMORY_ALLOCATION_ERROR, LE_INDEX_OUT_OF_BOUNDS_ERROR = U_INDEX_OUTOFBOUNDS_ERROR, LE_NO_LAYOUT_ERROR = U_UNSUPPORTED_ERROR, LE_INTERNAL_ERROR = U_INTERNAL_PROGRAM_ERROR, LE_FONT_FILE_NOT_FOUND_ERROR = U_FILE_ACCESS_ERROR, LE_MISSING_FONT_TABLE_ERROR = U_MISSING_RESOURCE_ERROR } |
Error codes returned by the LayoutEngine. More... |
Definition in file LETypes.h.
#define LE_ARRAY_SIZE | ( | array | ) | (sizeof array / sizeof array[0]) |
#define LE_CLIENT_MASK 0xFF000000 |
#define LE_CLIENT_SHIFT 24 |
#define LE_FAILURE | ( | code | ) | (U_FAILURE((UErrorCode)code)) |
#define LE_GET_CLIENT | ( | gid | ) | ((gid & LE_CLIENT_MASK) >> LE_CLIENT_SHIFT) |
#define LE_GET_GLYPH | ( | gid | ) | ((gid & LE_GLYPH_MASK) >> LE_GLYPH_SHIFT) |
#define LE_GET_SUB_FONT | ( | gid | ) | ((gid & LE_SUB_FONT_MASK) >> LE_SUB_FONT_SHIFT) |
#define LE_GLYPH_MASK 0x0000FFFF |
#define LE_GLYPH_SHIFT 0 |
#define LE_MAKE_TAG | ( | a, | |||
b, | |||||
c, | |||||
d | ) |
Value:
A macro to construct the four-letter tags used to label TrueType tables, and for script, language and feature tags in OpenType tables.WARNING: THIS MACRO WILL ONLY WORK CORRECTLY IF THE ARGUMENT CHARACTERS ARE ASCII.
#define LE_SET_CLIENT | ( | gid, | |||
client | ) | ((gid & ~LE_CLIENT_MASK) | ((client << LE_CLIENT_SHIFT) & LE_CLIENT_MASK)) |
#define LE_SET_GLYPH | ( | gid, | |||
glyph | ) | ((gid & ~LE_GLYPH_MASK) | ((glyph << LE_GLYPH_SHIFT) & LE_GLYPH_MASK)) |
#define LE_SET_SUB_FONT | ( | gid, | |||
font | ) | ((gid & ~LE_SUB_FONT_MASK) | ((font << LE_SUB_FONT_SHIFT) & LE_SUB_FONT_MASK)) |
#define LE_SUB_FONT_MASK 0x00FF0000 |
#define LE_SUB_FONT_SHIFT 16 |
#define LE_SUCCESS | ( | code | ) | (U_SUCCESS((UErrorCode)code)) |
#define NULL 0 |
typedef int16_t le_int16 |
typedef int32_t le_int32 |
typedef int8_t le_int8 |
typedef uint16_t le_uint16 |
typedef uint32_t le_uint32 |
typedef uint8_t le_uint8 |
typedef enum LEErrorCode LEErrorCode |
Used for glyph indices.
The low-order 16 bits are the glyph ID within the font. The next 8 bits are the sub-font ID within a compound font. The high- order 8 bits are client defined. The LayoutEngine will never change or look at the client defined bits.
typedef UChar LEUnicode |
typedef UChar LEUnicode16 |
typedef UChar32 LEUnicode32 |
enum LEErrorCode |
Error codes returned by the LayoutEngine.
enum LEFeatureTags |
This enumeration defines constants for all the common OpenType feature tags.
enum LETableTags |
This enumeration defines constants for the standard TrueType, OpenType and AAT table tags.