# LETypes.h File Reference

C API: Basic definitions for the ICU LayoutEngine. More...

`#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 | 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_CJCT_FEATURE_TAG = 0x636A6374UL, 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_RKRF_FEATURE_TAG = 0x726B7266UL, 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...

## Detailed Description

C API: Basic definitions for the ICU LayoutEngine.

Definition in file LETypes.h.

## Define Documentation

#define LE_ARRAY_SIZE | ( | array |  | ) | (sizeof array / sizeof array[0])

A convenience macro to get the length of an array.

Internal:
  Do not use. This API is for internal use only.

Definition at line 276 of file LETypes.h.

#define LE_CLIENT_MASK 0xFF000000

Used to mask off the client-defined part of an LEGlyphID.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 156 of file LETypes.h.

#define LE_CLIENT_SHIFT 24

Used to shift the sub-font ID part of an LEGlyphID into the low-order bits.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 165 of file LETypes.h.

#define LE_FAILURE | ( | code |  | ) | (U_FAILURE((UErrorCode)code))

A convenience macro to test for the failure of a LayoutEngine call.

Stable:
  ICU 2.4

Definition at line 566 of file LETypes.h.

#define LE_GET_CLIENT | ( | gid |  | ) | ((gid & LE_CLIENT_MASK) >> LE_CLIENT_SHIFT)

A convenience macro to get the client-defined part of an LEGlyphID.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 190 of file LETypes.h.

#define LE_GET_GLYPH | ( | gid |  | ) | ((gid & LE_GLYPH_MASK) >> LE_GLYPH_SHIFT)

A convenience macro to get the Glyph ID part of an LEGlyphID.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 174 of file LETypes.h.

#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.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 182 of file LETypes.h.

#define LE_GLYPH_MASK 0x0000FFFF

Used to mask off the glyph ID part of an LEGlyphID.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 120 of file LETypes.h.

#define LE_GLYPH_SHIFT 0

Used to shift the glyph ID part of an LEGlyphID into the low-order bits.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 129 of file LETypes.h.

#define LE_MAKE_TAG | ( | a,
|  | b,
|  | c,
|  | d |  | ) |

Value:

    (((le_uint32)(a) << 24) |   \
         ((le_uint32)(b) << 16) |   \
         ((le_uint32)(c) << 8)  |   \
          (le_uint32)(d))

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.

Stable:
  ICU 3.2

Definition at line 321 of file LETypes.h.

#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.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 215 of file LETypes.h.

#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.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 199 of file LETypes.h.

#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.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 207 of file LETypes.h.

#define LE_SUB_FONT_MASK 0x00FF0000

Used to mask off the sub-font ID part of an LEGlyphID.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 138 of file LETypes.h.

#define LE_SUB_FONT_SHIFT 16

Used to shift the sub-font ID part of an LEGlyphID into the low-order bits.

See also:
  LEGlyphID

Stable:
  ICU 3.2

Definition at line 147 of file LETypes.h.

#define LE_SUCCESS | ( | code |  | ) | (U_SUCCESS((UErrorCode)code))

A convenience macro to test for the success of a LayoutEngine call.

Stable:
  ICU 2.4

Definition at line 559 of file LETypes.h.

## Typedef Documentation

typedef UBool le_bool

A type used for boolean values.

Stable:
  ICU 2.4

Definition at line 77 of file LETypes.h.

typedef int16_t le_int16

A type used for signed, 16-bit integers.

Stable:
  ICU 2.4

Definition at line 48 of file LETypes.h.

typedef int32_t le_int32

A type used for signed, 32-bit integers.

Stable:
  ICU 2.4

Definition at line 34 of file LETypes.h.

typedef int8_t le_int8

A type used for signed, 8-bit integers.

Stable:
  ICU 2.4

Definition at line 62 of file LETypes.h.

typedef uint16_t le_uint16

A type used for unsigned, 16-bit integers.

Stable:
  ICU 2.4

Definition at line 55 of file LETypes.h.

typedef uint32_t le_uint32

A type used for unsigned, 32-bit integers.

Stable:
  ICU 2.4

Definition at line 41 of file LETypes.h.

typedef uint8_t le_uint8

A type used for unsigned, 8-bit integers.

Stable:
  ICU 2.4

Definition at line 69 of file LETypes.h.

typedef enum LEErrorCode LEErrorCode

Error codes returned by the LayoutEngine.

Stable:
  ICU 2.4

Definition at line 551 of file LETypes.h.

typedef le_uint32 LEGlyphID

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.

Stable:
  ICU 3.2

Definition at line 112 of file LETypes.h.

typedef struct LEPoint LEPoint

Used to hold a pair of (x, y) values which represent a point.

Stable:
  ICU 2.4

Definition at line 267 of file LETypes.h.

typedef le_uint32 LETag

Used for four character tags.

Stable:
  ICU 2.4

Definition at line 93 of file LETypes.h.

typedef UChar LEUnicode

Used to represent 16-bit Unicode code points.

Deprecated:
  since ICU 2.4. Use LEUnicode16 instead

Definition at line 237 of file LETypes.h.

typedef UChar LEUnicode16

Used to represent 16-bit Unicode code points.

Stable:
  ICU 2.4

Definition at line 223 of file LETypes.h.

typedef UChar32 LEUnicode32

Used to represent 32-bit Unicode code points.

Stable:
  ICU 2.4

Definition at line 230 of file LETypes.h.

typedef le_uint16 TTGlyphID

Used for 16-bit glyph indices as they're represented in TrueType font tables.

Stable:
  ICU 3.2

Definition at line 101 of file LETypes.h.

## Enumeration Type Documentation

enum LEErrorCode

Error codes returned by the LayoutEngine.

Stable:
  ICU 2.4

Enumerator:

  LE_NO_SUBFONT_WARNING | The font does not contain subfonts.
  LE_NO_ERROR | No error, no warning.
  LE_ILLEGAL_ARGUMENT_ERROR | An illegal argument was detected.
  LE_MEMORY_ALLOCATION_ERROR | Memory allocation error.
  LE_INDEX_OUT_OF_BOUNDS_ERROR | Trying to access an index that is out of bounds.
  LE_NO_LAYOUT_ERROR | You must call layoutChars() first.
  LE_INTERNAL_ERROR | An internal error was encountered.
  LE_FONT_FILE_NOT_FOUND_ERROR | The requested font file cannot be opened.
  LE_MISSING_FONT_TABLE_ERROR | The requested font table does not exist.

Definition at line 528 of file LETypes.h.

enum LEFeatureTags

This enumeration defines constants for all the common OpenType feature tags.

Stable:
  ICU 3.2

Enumerator:

  LE_AALT_FEATURE_TAG | 'aalt'
  LE_ABVF_FEATURE_TAG | 'abvf'
  LE_ABVM_FEATURE_TAG | 'abvm'
  LE_ABVS_FEATURE_TAG | 'abvs'
  LE_AFRC_FEATURE_TAG | 'afrc'
  LE_AKHN_FEATURE_TAG | 'akhn'
  LE_BLWF_FEATURE_TAG | 'blwf'
  LE_BLWM_FEATURE_TAG | 'blwm'
  LE_BLWS_FEATURE_TAG | 'blws'
  LE_CALT_FEATURE_TAG | 'calt'
  LE_CASE_FEATURE_TAG | 'case'
  LE_CCMP_FEATURE_TAG | 'ccmp'
  LE_CJCT_FEATURE_TAG | 'cjct'
  LE_CLIG_FEATURE_TAG | 'clig'
  LE_CPSP_FEATURE_TAG | 'cpsp'
  LE_CSWH_FEATURE_TAG | 'cswh'
  LE_CURS_FEATURE_TAG | 'curs'
  LE_C2SC_FEATURE_TAG | 'c2sc'
  LE_C2PC_FEATURE_TAG | 'c2pc'
  LE_DIST_FEATURE_TAG | 'dist'
  LE_DLIG_FEATURE_TAG | 'dlig'
  LE_DNOM_FEATURE_TAG | 'dnom'
  LE_EXPT_FEATURE_TAG | 'expt'
  LE_FALT_FEATURE_TAG | 'falt'
  LE_FIN2_FEATURE_TAG | 'fin2'
  LE_FIN3_FEATURE_TAG | 'fin3'
  LE_FINA_FEATURE_TAG | 'fina'
  LE_FRAC_FEATURE_TAG | 'frac'
  LE_FWID_FEATURE_TAG | 'fwid'
  LE_HALF_FEATURE_TAG | 'half'
  LE_HALN_FEATURE_TAG | 'haln'
  LE_HALT_FEATURE_TAG | 'halt'
  LE_HIST_FEATURE_TAG | 'hist'
  LE_HKNA_FEATURE_TAG | 'hkna'
  LE_HLIG_FEATURE_TAG | 'hlig'
  LE_HNGL_FEATURE_TAG | 'hngl'
  LE_HWID_FEATURE_TAG | 'hwid'
  LE_INIT_FEATURE_TAG | 'init'
  LE_ISOL_FEATURE_TAG | 'isol'
  LE_ITAL_FEATURE_TAG | 'ital'
  LE_JALT_FEATURE_TAG | 'jalt'
  LE_JP78_FEATURE_TAG | 'jp78'
  LE_JP83_FEATURE_TAG | 'jp83'
  LE_JP90_FEATURE_TAG | 'jp90'
  LE_KERN_FEATURE_TAG | 'kern'
  LE_LFBD_FEATURE_TAG | 'lfbd'
  LE_LIGA_FEATURE_TAG | 'liga'
  LE_LJMO_FEATURE_TAG | 'ljmo'
  LE_LNUM_FEATURE_TAG | 'lnum'
  LE_LOCL_FEATURE_TAG | 'locl'
  LE_MARK_FEATURE_TAG | 'mark'
  LE_MED2_FEATURE_TAG | 'med2'
  LE_MEDI_FEATURE_TAG | 'medi'
  LE_MGRK_FEATURE_TAG | 'mgrk'
  LE_MKMK_FEATURE_TAG | 'mkmk'
  LE_MSET_FEATURE_TAG | 'mset'
  LE_NALT_FEATURE_TAG | 'nalt'
  LE_NLCK_FEATURE_TAG | 'nlck'
  LE_NUKT_FEATURE_TAG | 'nukt'
  LE_NUMR_FEATURE_TAG | 'numr'
  LE_ONUM_FEATURE_TAG | 'onum'
  LE_OPBD_FEATURE_TAG | 'opbd'
  LE_ORDN_FEATURE_TAG | 'ordn'
  LE_ORNM_FEATURE_TAG | 'ornm'
  LE_PALT_FEATURE_TAG | 'palt'
  LE_PCAP_FEATURE_TAG | 'pcap'
  LE_PNUM_FEATURE_TAG | 'pnum'
  LE_PREF_FEATURE_TAG | 'pref'
  LE_PRES_FEATURE_TAG | 'pres'
  LE_PSTF_FEATURE_TAG | 'pstf'
  LE_PSTS_FEATURE_TAG | 'psts'
  LE_PWID_FEATURE_TAG | 'pwid'
  LE_QWID_FEATURE_TAG | 'qwid'
  LE_RAND_FEATURE_TAG | 'rand'
  LE_RLIG_FEATURE_TAG | 'rlig'
  LE_RPHF_FEATURE_TAG | 'rphf'
  LE_RKRF_FEATURE_TAG | 'rkrf'
  LE_RTBD_FEATURE_TAG | 'rtbd'
  LE_RTLA_FEATURE_TAG | 'rtla'
  LE_RUBY_FEATURE_TAG | 'ruby'
  LE_SALT_FEATURE_TAG | 'salt'
  LE_SINF_FEATURE_TAG | 'sinf'
  LE_SIZE_FEATURE_TAG | 'size'
  LE_SMCP_FEATURE_TAG | 'smcp'
  LE_SMPL_FEATURE_TAG | 'smpl'
  LE_SS01_FEATURE_TAG | 'ss01'
  LE_SS02_FEATURE_TAG | 'ss02'
  LE_SS03_FEATURE_TAG | 'ss03'
  LE_SS04_FEATURE_TAG | 'ss04'
  LE_SS05_FEATURE_TAG | 'ss05'
  LE_SS06_FEATURE_TAG | 'ss06'
  LE_SS07_FEATURE_TAG | 'ss07'
  LE_SS08_FEATURE_TAG | 'ss08'
  LE_SS09_FEATURE_TAG | 'ss09'
  LE_SS10_FEATURE_TAG | 'ss10'
  LE_SS11_FEATURE_TAG | 'ss11'
  LE_SS12_FEATURE_TAG | 'ss12'
  LE_SS13_FEATURE_TAG | 'ss13'
  LE_SS14_FEATURE_TAG | 'ss14'
  LE_SS15_FEATURE_TAG | 'ss15'
  LE_SS16_FEATURE_TAG | 'ss16'
  LE_SS17_FEATURE_TAG | 'ss17'
  LE_SS18_FEATURE_TAG | 'ss18'
  LE_SS19_FEATURE_TAG | 'ss19'
  LE_SS20_FEATURE_TAG | 'ss20'
  LE_SUBS_FEATURE_TAG | 'subs'
  LE_SUPS_FEATURE_TAG | 'sups'
  LE_SWSH_FEATURE_TAG | 'swsh'
  LE_TITL_FEATURE_TAG | 'titl'
  LE_TJMO_FEATURE_TAG | 'tjmo'
  LE_TNAM_FEATURE_TAG | 'tnam'
  LE_TNUM_FEATURE_TAG | 'tnum'
  LE_TRAD_FEATURE_TAG | 'trad'
  LE_TWID_FEATURE_TAG | 'twid'
  LE_UNIC_FEATURE_TAG | 'unic'
  LE_VALT_FEATURE_TAG | 'valt'
  LE_VATU_FEATURE_TAG | 'vatu'
  LE_VERT_FEATURE_TAG | 'vert'
  LE_VHAL_FEATURE_TAG | 'vhal'
  LE_VJMO_FEATURE_TAG | 'vjmo'
  LE_VKNA_FEATURE_TAG | 'vkna'
  LE_VKRN_FEATURE_TAG | 'vkrn'
  LE_VPAL_FEATURE_TAG | 'vpal'
  LE_VRT2_FEATURE_TAG | 'vrt2'
  LE_ZERO_FEATURE_TAG | 'zero'

Definition at line 395 of file LETypes.h.

enum LETableTags

This enumeration defines constants for the standard TrueType, OpenType and AAT table tags.

Stable:
  ICU 3.2

Enumerator:

  LE_ACNT_TABLE_TAG | 'acnt'
  LE_AVAR_TABLE_TAG | 'avar'
  LE_BASE_TABLE_TAG | 'BASE'
  LE_BDAT_TABLE_TAG | 'bdat'
  LE_BHED_TABLE_TAG | 'bhed'
  LE_BLOC_TABLE_TAG | 'bloc'
  LE_BSLN_TABLE_TAG | 'bsln'
  LE_CFF__TABLE_TAG | 'CFF '
  LE_CMAP_TABLE_TAG | 'cmap'
  LE_CVAR_TABLE_TAG | 'cvar'
  LE_CVT__TABLE_TAG | 'cvt '
  LE_DSIG_TABLE_TAG | 'DSIG'
  LE_EBDT_TABLE_TAG | 'EBDT'
  LE_EBLC_TABLE_TAG | 'EBLC'
  LE_EBSC_TABLE_TAG | 'EBSC'
  LE_FDSC_TABLE_TAG | 'fdsc'
  LE_FEAT_TABLE_TAG | 'feat'
  LE_FMTX_TABLE_TAG | 'fmtx'
  LE_FPGM_TABLE_TAG | 'fpgm'
  LE_FVAR_TABLE_TAG | 'fvar'
  LE_GASP_TABLE_TAG | 'gasp'
  LE_GDEF_TABLE_TAG | 'GDEF'
  LE_GLYF_TABLE_TAG | 'glyf'
  LE_GPOS_TABLE_TAG | 'GPOS'
  LE_GSUB_TABLE_TAG | 'GSUB'
  LE_GVAR_TABLE_TAG | 'gvar'
  LE_HDMX_TABLE_TAG | 'hdmx'
  LE_HEAD_TABLE_TAG | 'head'
  LE_HHEA_TABLE_TAG | 'hhea'
  LE_HMTX_TABLE_TAG | 'hmtx'
  LE_HSTY_TABLE_TAG | 'hsty'
  LE_JUST_TABLE_TAG | 'just'
  LE_JSTF_TABLE_TAG | 'JSTF'
  LE_KERN_TABLE_TAG | 'kern'
  LE_LCAR_TABLE_TAG | 'lcar'
  LE_LOCA_TABLE_TAG | 'loca'
  LE_LTSH_TABLE_TAG | 'LTSH'
  LE_MAXP_TABLE_TAG | 'maxp'
  LE_MORT_TABLE_TAG | 'mort'
  LE_MORX_TABLE_TAG | 'morx'
  LE_NAME_TABLE_TAG | 'name'
  LE_OPBD_TABLE_TAG | 'opbd'
  LE_OS_2_TABLE_TAG | 'OS/2'
  LE_PCLT_TABLE_TAG | 'PCLT'
  LE_POST_TABLE_TAG | 'post'
  LE_PREP_TABLE_TAG | 'prep'
  LE_PROP_TABLE_TAG | 'prop'
  LE_TRAK_TABLE_TAG | 'trak'
  LE_VDMX_TABLE_TAG | 'VDMX'
  LE_VHEA_TABLE_TAG | 'vhea'
  LE_VMTX_TABLE_TAG | 'vmtx'
  LE_VORG_TABLE_TAG | 'VORG'
  LE_ZAPF_TABLE_TAG | 'Zapf'

Definition at line 333 of file LETypes.h.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines