ICU 50.1.2  50.1.2
LETypes.h
Go to the documentation of this file.
1 /*
2  *
3  * (C) Copyright IBM Corp. and others 1998-2013 - All Rights Reserved
4  *
5  */
6 
7 #ifndef __LETYPES_H
8 #define __LETYPES_H
9 
10 #if !defined(LE_USE_CMEMORY) && (defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION) || defined(U_STATIC_IMPLEMENTATION) || defined(U_COMBINED_IMPLEMENTATION))
11 #define LE_USE_CMEMORY
12 #endif
13 
14 #include "unicode/utypes.h"
15 
16 #ifdef __cplusplus
17 #include "unicode/uobject.h"
18 #endif
19 
20 #ifdef LE_USE_CMEMORY
21 #include "cmemory.h"
22 #endif
23 
34 typedef int32_t le_int32;
35 
41 typedef uint32_t le_uint32;
42 
48 typedef int16_t le_int16;
49 
55 typedef uint16_t le_uint16;
56 
62 typedef int8_t le_int8;
63 
69 typedef uint8_t le_uint8;
70 
71 
77 typedef UBool le_bool;
78 
79 #ifndef NULL
80 
85 #define NULL 0
86 #endif
87 
93 typedef le_uint32 LETag;
94 
102 
113 
120 #define LE_GLYPH_MASK 0x0000FFFF
121 
129 #define LE_GLYPH_SHIFT 0
130 
131 
138 #define LE_SUB_FONT_MASK 0x00FF0000
139 
147 #define LE_SUB_FONT_SHIFT 16
148 
149 
156 #define LE_CLIENT_MASK 0xFF000000
157 
165 #define LE_CLIENT_SHIFT 24
166 
167 
174 #define LE_GET_GLYPH(gid) ((gid & LE_GLYPH_MASK) >> LE_GLYPH_SHIFT)
175 
182 #define LE_GET_SUB_FONT(gid) ((gid & LE_SUB_FONT_MASK) >> LE_SUB_FONT_SHIFT)
183 
190 #define LE_GET_CLIENT(gid) ((gid & LE_CLIENT_MASK) >> LE_CLIENT_SHIFT)
191 
192 
199 #define LE_SET_GLYPH(gid, glyph) ((gid & ~LE_GLYPH_MASK) | ((glyph << LE_GLYPH_SHIFT) & LE_GLYPH_MASK))
200 
207 #define LE_SET_SUB_FONT(gid, font) ((gid & ~LE_SUB_FONT_MASK) | ((font << LE_SUB_FONT_SHIFT) & LE_SUB_FONT_MASK))
208 
215 #define LE_SET_CLIENT(gid, client) ((gid & ~LE_CLIENT_MASK) | ((client << LE_CLIENT_SHIFT) & LE_CLIENT_MASK))
216 
217 
224 
231 
232 #ifndef U_HIDE_DEPRECATED_API
233 
238 typedef UChar LEUnicode;
239 #endif /* U_HIDE_DEPRECATED_API */
240 
246 struct LEPoint
247 {
253  float fX;
254 
260  float fY;
261 };
262 
263 #ifndef __cplusplus
264 
269 typedef struct LEPoint LEPoint;
270 #endif
271 
272 
273 #ifndef U_HIDE_INTERNAL_API
274 
275 #ifndef LE_ASSERT_BAD_FONT
276 #define LE_ASSERT_BAD_FONT 0
277 #endif
278 
279 #if LE_ASSERT_BAD_FONT
280 #include <stdio.h>
281 #define LE_DEBUG_BAD_FONT(x) fprintf(stderr,"%s:%d: BAD FONT: %s\n", __FILE__, __LINE__, (x));
282 #else
283 #define LE_DEBUG_BAD_FONT(x)
284 #endif
285 
290 #ifndef UINT32_MAX
291 #define LE_UINT32_MAX 0xFFFFFFFFU
292 #else
293 #define LE_UINT32_MAX UINT32_MAX
294 #endif
295 
296 #ifndef UINTPTR_MAX
297 #define LE_UINTPTR_MAX LE_UINT32_MAX
298 #else
299 #define LE_UINTPTR_MAX UINTPTR_MAX
300 #endif
301 
305 #define LE_RANGE_CHECK(type, count, ptrfn) (( (LE_UINTPTR_MAX / sizeof(type)) < count ) ? NULL : (ptrfn))
306 
311 #define LE_ARRAY_SIZE(array) (sizeof array / sizeof array[0])
312 
313 #ifdef LE_USE_CMEMORY
314 
319 #define LE_ARRAY_COPY(dst, src, count) uprv_memcpy((void *) (dst), (void *) (src), (count) * sizeof (src)[0])
320 
327 #define LE_NEW_ARRAY(type, count) (type *) LE_RANGE_CHECK(type,count,uprv_malloc((count) * sizeof(type)))
328 
335 #define LE_GROW_ARRAY(array, newSize) uprv_realloc((void *) (array), (newSize) * sizeof (array)[0])
336 
343 #define LE_DELETE_ARRAY(array) uprv_free((void *) (array))
344 #else
345 
346 /* Not using ICU memory - use C std lib versions */
347 
348 #include <stdlib.h>
349 #include <string.h>
350 
356 #define LE_ARRAY_SIZE(array) (sizeof array / sizeof array[0])
357 
363 #define LE_ARRAY_COPY(dst, src, count) memcpy((void *) (dst), (void *) (src), (count) * sizeof (src)[0])
364 
371 #define LE_NEW_ARRAY(type, count) LE_RANGE_CHECK(type,count,(type *) malloc((count) * sizeof(type)))
372 
379 #define LE_GROW_ARRAY(array, newSize) realloc((void *) (array), (newSize) * sizeof (array)[0])
380 
387 #define LE_DELETE_ARRAY(array) free((void *) (array))
388 
389 #endif
390 #endif /* U_HIDE_INTERNAL_API */
391 
402 #define LE_MAKE_TAG(a, b, c, d) \
403  (((le_uint32)(a) << 24) | \
404  ((le_uint32)(b) << 16) | \
405  ((le_uint32)(c) << 8) | \
406  (le_uint32)(d))
407 
415  LE_ACNT_TABLE_TAG = 0x61636E74UL,
416  LE_AVAR_TABLE_TAG = 0x61766172UL,
417  LE_BASE_TABLE_TAG = 0x42415345UL,
418  LE_BDAT_TABLE_TAG = 0x62646174UL,
419  LE_BHED_TABLE_TAG = 0x62686564UL,
420  LE_BLOC_TABLE_TAG = 0x626C6F63UL,
421  LE_BSLN_TABLE_TAG = 0x62736C6EUL,
422  LE_CFF__TABLE_TAG = 0x43464620UL,
423  LE_CMAP_TABLE_TAG = 0x636D6170UL,
424  LE_CVAR_TABLE_TAG = 0x63766172UL,
425  LE_CVT__TABLE_TAG = 0x63767420UL,
426  LE_DSIG_TABLE_TAG = 0x44534947UL,
427  LE_EBDT_TABLE_TAG = 0x45424454UL,
428  LE_EBLC_TABLE_TAG = 0x45424C43UL,
429  LE_EBSC_TABLE_TAG = 0x45425343UL,
430  LE_FDSC_TABLE_TAG = 0x66647363UL,
431  LE_FEAT_TABLE_TAG = 0x66656174UL,
432  LE_FMTX_TABLE_TAG = 0x666D7478UL,
433  LE_FPGM_TABLE_TAG = 0x6670676DUL,
434  LE_FVAR_TABLE_TAG = 0x66766172UL,
435  LE_GASP_TABLE_TAG = 0x67617370UL,
436  LE_GDEF_TABLE_TAG = 0x47444546UL,
437  LE_GLYF_TABLE_TAG = 0x676C7966UL,
438  LE_GPOS_TABLE_TAG = 0x47504F53UL,
439  LE_GSUB_TABLE_TAG = 0x47535542UL,
440  LE_GVAR_TABLE_TAG = 0x67766172UL,
441  LE_HDMX_TABLE_TAG = 0x68646D78UL,
442  LE_HEAD_TABLE_TAG = 0x68656164UL,
443  LE_HHEA_TABLE_TAG = 0x68686561UL,
444  LE_HMTX_TABLE_TAG = 0x686D7478UL,
445  LE_HSTY_TABLE_TAG = 0x68737479UL,
446  LE_JUST_TABLE_TAG = 0x6A757374UL,
447  LE_JSTF_TABLE_TAG = 0x4A535446UL,
448  LE_KERN_TABLE_TAG = 0x6B65726EUL,
449  LE_LCAR_TABLE_TAG = 0x6C636172UL,
450  LE_LOCA_TABLE_TAG = 0x6C6F6361UL,
451  LE_LTSH_TABLE_TAG = 0x4C545348UL,
452  LE_MAXP_TABLE_TAG = 0x6D617870UL,
453  LE_MORT_TABLE_TAG = 0x6D6F7274UL,
454  LE_MORX_TABLE_TAG = 0x6D6F7278UL,
455  LE_NAME_TABLE_TAG = 0x6E616D65UL,
456  LE_OPBD_TABLE_TAG = 0x6F706264UL,
457  LE_OS_2_TABLE_TAG = 0x4F532F32UL,
458  LE_PCLT_TABLE_TAG = 0x50434C54UL,
459  LE_POST_TABLE_TAG = 0x706F7374UL,
460  LE_PREP_TABLE_TAG = 0x70726570UL,
461  LE_PROP_TABLE_TAG = 0x70726F70UL,
462  LE_TRAK_TABLE_TAG = 0x7472616BUL,
463  LE_VDMX_TABLE_TAG = 0x56444D58UL,
464  LE_VHEA_TABLE_TAG = 0x76686561UL,
465  LE_VMTX_TABLE_TAG = 0x766D7478UL,
466  LE_VORG_TABLE_TAG = 0x564F5247UL,
467  LE_ZAPF_TABLE_TAG = 0x5A617066UL
468 };
469 
477  LE_AALT_FEATURE_TAG = 0x61616C74UL,
478  LE_ABVF_FEATURE_TAG = 0x61627666UL,
479  LE_ABVM_FEATURE_TAG = 0x6162766DUL,
480  LE_ABVS_FEATURE_TAG = 0x61627673UL,
481  LE_AFRC_FEATURE_TAG = 0x61667263UL,
482  LE_AKHN_FEATURE_TAG = 0x616B686EUL,
483  LE_BLWF_FEATURE_TAG = 0x626C7766UL,
484  LE_BLWM_FEATURE_TAG = 0x626C776DUL,
485  LE_BLWS_FEATURE_TAG = 0x626C7773UL,
486  LE_CALT_FEATURE_TAG = 0x63616C74UL,
487  LE_CASE_FEATURE_TAG = 0x63617365UL,
488  LE_CCMP_FEATURE_TAG = 0x63636D70UL,
489  LE_CJCT_FEATURE_TAG = 0x636A6374UL,
490  LE_CLIG_FEATURE_TAG = 0x636C6967UL,
491  LE_CPSP_FEATURE_TAG = 0x63707370UL,
492  LE_CSWH_FEATURE_TAG = 0x63737768UL,
493  LE_CURS_FEATURE_TAG = 0x63757273UL,
494  LE_C2SC_FEATURE_TAG = 0x63327363UL,
495  LE_C2PC_FEATURE_TAG = 0x63327063UL,
496  LE_DIST_FEATURE_TAG = 0x64697374UL,
497  LE_DLIG_FEATURE_TAG = 0x646C6967UL,
498  LE_DNOM_FEATURE_TAG = 0x646E6F6DUL,
499  LE_EXPT_FEATURE_TAG = 0x65787074UL,
500  LE_FALT_FEATURE_TAG = 0x66616C74UL,
501  LE_FIN2_FEATURE_TAG = 0x66696E32UL,
502  LE_FIN3_FEATURE_TAG = 0x66696E33UL,
503  LE_FINA_FEATURE_TAG = 0x66696E61UL,
504  LE_FRAC_FEATURE_TAG = 0x66726163UL,
505  LE_FWID_FEATURE_TAG = 0x66776964UL,
506  LE_HALF_FEATURE_TAG = 0x68616C66UL,
507  LE_HALN_FEATURE_TAG = 0x68616C6EUL,
508  LE_HALT_FEATURE_TAG = 0x68616C74UL,
509  LE_HIST_FEATURE_TAG = 0x68697374UL,
510  LE_HKNA_FEATURE_TAG = 0x686B6E61UL,
511  LE_HLIG_FEATURE_TAG = 0x686C6967UL,
512  LE_HNGL_FEATURE_TAG = 0x686E676CUL,
513  LE_HWID_FEATURE_TAG = 0x68776964UL,
514  LE_INIT_FEATURE_TAG = 0x696E6974UL,
515  LE_ISOL_FEATURE_TAG = 0x69736F6CUL,
516  LE_ITAL_FEATURE_TAG = 0x6974616CUL,
517  LE_JALT_FEATURE_TAG = 0x6A616C74UL,
518  LE_JP78_FEATURE_TAG = 0x6A703738UL,
519  LE_JP83_FEATURE_TAG = 0x6A703833UL,
520  LE_JP90_FEATURE_TAG = 0x6A703930UL,
521  LE_KERN_FEATURE_TAG = 0x6B65726EUL,
522  LE_LFBD_FEATURE_TAG = 0x6C666264UL,
523  LE_LIGA_FEATURE_TAG = 0x6C696761UL,
524  LE_LJMO_FEATURE_TAG = 0x6C6A6D6FUL,
525  LE_LNUM_FEATURE_TAG = 0x6C6E756DUL,
526  LE_LOCL_FEATURE_TAG = 0x6C6F636CUL,
527  LE_MARK_FEATURE_TAG = 0x6D61726BUL,
528  LE_MED2_FEATURE_TAG = 0x6D656432UL,
529  LE_MEDI_FEATURE_TAG = 0x6D656469UL,
530  LE_MGRK_FEATURE_TAG = 0x6D67726BUL,
531  LE_MKMK_FEATURE_TAG = 0x6D6B6D6BUL,
532  LE_MSET_FEATURE_TAG = 0x6D736574UL,
533  LE_NALT_FEATURE_TAG = 0x6E616C74UL,
534  LE_NLCK_FEATURE_TAG = 0x6E6C636BUL,
535  LE_NUKT_FEATURE_TAG = 0x6E756B74UL,
536  LE_NUMR_FEATURE_TAG = 0x6E756D72UL,
537  LE_ONUM_FEATURE_TAG = 0x6F6E756DUL,
538  LE_OPBD_FEATURE_TAG = 0x6F706264UL,
539  LE_ORDN_FEATURE_TAG = 0x6F72646EUL,
540  LE_ORNM_FEATURE_TAG = 0x6F726E6DUL,
541  LE_PALT_FEATURE_TAG = 0x70616C74UL,
542  LE_PCAP_FEATURE_TAG = 0x70636170UL,
543  LE_PNUM_FEATURE_TAG = 0x706E756DUL,
544  LE_PREF_FEATURE_TAG = 0x70726566UL,
545  LE_PRES_FEATURE_TAG = 0x70726573UL,
546  LE_PSTF_FEATURE_TAG = 0x70737466UL,
547  LE_PSTS_FEATURE_TAG = 0x70737473UL,
548  LE_PWID_FEATURE_TAG = 0x70776964UL,
549  LE_QWID_FEATURE_TAG = 0x71776964UL,
550  LE_RAND_FEATURE_TAG = 0x72616E64UL,
551  LE_RLIG_FEATURE_TAG = 0x726C6967UL,
552  LE_RPHF_FEATURE_TAG = 0x72706866UL,
553  LE_RKRF_FEATURE_TAG = 0x726B7266UL,
554  LE_RTBD_FEATURE_TAG = 0x72746264UL,
555  LE_RTLA_FEATURE_TAG = 0x72746C61UL,
556  LE_RUBY_FEATURE_TAG = 0x72756279UL,
557  LE_SALT_FEATURE_TAG = 0x73616C74UL,
558  LE_SINF_FEATURE_TAG = 0x73696E66UL,
559  LE_SIZE_FEATURE_TAG = 0x73697A65UL,
560  LE_SMCP_FEATURE_TAG = 0x736D6370UL,
561  LE_SMPL_FEATURE_TAG = 0x736D706CUL,
562  LE_SS01_FEATURE_TAG = 0x73733031UL,
563  LE_SS02_FEATURE_TAG = 0x73733032UL,
564  LE_SS03_FEATURE_TAG = 0x73733033UL,
565  LE_SS04_FEATURE_TAG = 0x73733034UL,
566  LE_SS05_FEATURE_TAG = 0x73733035UL,
567  LE_SS06_FEATURE_TAG = 0x73733036UL,
568  LE_SS07_FEATURE_TAG = 0x73733037UL,
569  LE_SS08_FEATURE_TAG = 0x73733038UL,
570  LE_SS09_FEATURE_TAG = 0x73733039UL,
571  LE_SS10_FEATURE_TAG = 0x73733130UL,
572  LE_SS11_FEATURE_TAG = 0x73733131UL,
573  LE_SS12_FEATURE_TAG = 0x73733132UL,
574  LE_SS13_FEATURE_TAG = 0x73733133UL,
575  LE_SS14_FEATURE_TAG = 0x73733134UL,
576  LE_SS15_FEATURE_TAG = 0x73733135UL,
577  LE_SS16_FEATURE_TAG = 0x73733136UL,
578  LE_SS17_FEATURE_TAG = 0x73733137UL,
579  LE_SS18_FEATURE_TAG = 0x73733138UL,
580  LE_SS19_FEATURE_TAG = 0x73733139UL,
581  LE_SS20_FEATURE_TAG = 0x73733230UL,
582  LE_SUBS_FEATURE_TAG = 0x73756273UL,
583  LE_SUPS_FEATURE_TAG = 0x73757073UL,
584  LE_SWSH_FEATURE_TAG = 0x73777368UL,
585  LE_TITL_FEATURE_TAG = 0x7469746CUL,
586  LE_TJMO_FEATURE_TAG = 0x746A6D6FUL,
587  LE_TNAM_FEATURE_TAG = 0x746E616DUL,
588  LE_TNUM_FEATURE_TAG = 0x746E756DUL,
589  LE_TRAD_FEATURE_TAG = 0x74726164UL,
590  LE_TWID_FEATURE_TAG = 0x74776964UL,
591  LE_UNIC_FEATURE_TAG = 0x756E6963UL,
592  LE_VALT_FEATURE_TAG = 0x76616C74UL,
593  LE_VATU_FEATURE_TAG = 0x76617475UL,
594  LE_VERT_FEATURE_TAG = 0x76657274UL,
595  LE_VHAL_FEATURE_TAG = 0x7668616CUL,
596  LE_VJMO_FEATURE_TAG = 0x766A6D6FUL,
597  LE_VKNA_FEATURE_TAG = 0x766B6E61UL,
598  LE_VKRN_FEATURE_TAG = 0x766B726EUL,
599  LE_VPAL_FEATURE_TAG = 0x7670616CUL,
600  LE_VRT2_FEATURE_TAG = 0x76727432UL,
601  LE_ZERO_FEATURE_TAG = 0x7A65726FUL
602 };
603 
633  LE_FEATURE_ENUM_MAX = LE_CHAR_FILTER_FEATURE_ENUM
634 };
635 
636 
642 #define LE_Kerning_FEATURE_FLAG (1 << LE_Kerning_FEATURE_ENUM)
643 #define LE_Ligatures_FEATURE_FLAG (1 << LE_Ligatures_FEATURE_ENUM)
644 #define LE_CLIG_FEATURE_FLAG (1 << LE_CLIG_FEATURE_ENUM)
645 #define LE_DLIG_FEATURE_FLAG (1 << LE_DLIG_FEATURE_ENUM)
646 #define LE_HLIG_FEATURE_FLAG (1 << LE_HLIG_FEATURE_ENUM)
647 #define LE_LIGA_FEATURE_FLAG (1 << LE_LIGA_FEATURE_ENUM)
648 #define LE_RLIG_FEATURE_FLAG (1 << LE_RLIG_FEATURE_ENUM)
649 #define LE_SMCP_FEATURE_FLAG (1 << LE_SMCP_FEATURE_ENUM)
650 #define LE_FRAC_FEATURE_FLAG (1 << LE_FRAC_FEATURE_ENUM)
651 #define LE_AFRC_FEATURE_FLAG (1 << LE_AFRC_FEATURE_ENUM)
652 #define LE_ZERO_FEATURE_FLAG (1 << LE_ZERO_FEATURE_ENUM)
653 #define LE_SWSH_FEATURE_FLAG (1 << LE_SWSH_FEATURE_ENUM)
654 #define LE_CSWH_FEATURE_FLAG (1 << LE_CSWH_FEATURE_ENUM)
655 #define LE_SALT_FEATURE_FLAG (1 << LE_SALT_FEATURE_ENUM)
656 #define LE_NALT_FEATURE_FLAG (1 << LE_NALT_FEATURE_ENUM)
657 #define LE_RUBY_FEATURE_FLAG (1 << LE_RUBY_FEATURE_ENUM)
658 #define LE_SS01_FEATURE_FLAG (1 << LE_SS01_FEATURE_ENUM)
659 #define LE_SS02_FEATURE_FLAG (1 << LE_SS02_FEATURE_ENUM)
660 #define LE_SS03_FEATURE_FLAG (1 << LE_SS03_FEATURE_ENUM)
661 #define LE_SS04_FEATURE_FLAG (1 << LE_SS04_FEATURE_ENUM)
662 #define LE_SS05_FEATURE_FLAG (1 << LE_SS05_FEATURE_ENUM)
663 #define LE_SS06_FEATURE_FLAG (1 << LE_SS06_FEATURE_ENUM)
664 #define LE_SS07_FEATURE_FLAG (1 << LE_SS07_FEATURE_ENUM)
665 
666 #define LE_CHAR_FILTER_FEATURE_FLAG (1 << LE_CHAR_FILTER_FEATURE_ENUM)
667 
671 #define LE_DEFAULT_FEATURE_FLAG (LE_Kerning_FEATURE_FLAG | LE_Ligatures_FEATURE_FLAG)
678 enum LEErrorCode {
679  /* informational */
682  /* success */
685  /* failures */
693 };
694 
695 #ifndef __cplusplus
696 
702 #endif
703 
709 #define LE_SUCCESS(code) (U_SUCCESS((UErrorCode)code))
710 
716 #define LE_FAILURE(code) (U_FAILURE((UErrorCode)code))
717 
718 
719 #endif
&#39;ljmo&#39;
Definition: LETypes.h:524
&#39;halt&#39;
Definition: LETypes.h:508
&#39;onum&#39;
Definition: LETypes.h:537
&#39;rlig&#39;
Definition: LETypes.h:551
&#39;vpal&#39;
Definition: LETypes.h:599
&#39;size&#39;
Definition: LETypes.h:559
&#39;init&#39;
Definition: LETypes.h:514
&#39;nlck&#39;
Definition: LETypes.h:534
&#39;abvs&#39;
Definition: LETypes.h:480
le_uint16 TTGlyphID
Used for 16-bit glyph indices as they&#39;re represented in TrueType font tables.
Definition: LETypes.h:101
&#39;ss19&#39;
Definition: LETypes.h:580
uint32_t le_uint32
A type used for unsigned, 32-bit integers.
Definition: LETypes.h:41
&#39;jp90&#39;
Definition: LETypes.h:520
&#39;aalt&#39;
Definition: LETypes.h:477
Feature specific enum.
Definition: LETypes.h:625
&#39;fin2&#39;
Definition: LETypes.h:501
Feature specific enum.
Definition: LETypes.h:630
&#39;cpsp&#39;
Definition: LETypes.h:491
&#39;curs&#39;
Definition: LETypes.h:493
UChar32 LEUnicode32
Used to represent 32-bit Unicode code points.
Definition: LETypes.h:230
&#39;BASE&#39;
Definition: LETypes.h:417
&#39;rtbd&#39;
Definition: LETypes.h:554
le_uint32 LETag
Used for four character tags.
Definition: LETypes.h:93
&#39;ss02&#39;
Definition: LETypes.h:563
&#39;ordn&#39;
Definition: LETypes.h:539
&#39;mort&#39;
Definition: LETypes.h:453
&#39;OS/2&#39;
Definition: LETypes.h:457
&#39;ss07&#39;
Definition: LETypes.h:568
&#39;morx&#39;
Definition: LETypes.h:454
An illegal argument was detected.
Definition: LETypes.h:686
Requests Kerning.
Definition: LETypes.h:608
Feature specific enum.
Definition: LETypes.h:627
Memory allocation error.
Definition: LETypes.h:687
&#39;numr&#39;
Definition: LETypes.h:536
&#39;afrc&#39;
Definition: LETypes.h:481
uint16_t le_uint16
A type used for unsigned, 16-bit integers.
Definition: LETypes.h:55
&#39;vhea&#39;
Definition: LETypes.h:464
&#39;rtla&#39;
Definition: LETypes.h:555
&#39;pnum&#39;
Definition: LETypes.h:543
Requests Ligatures.
Definition: LETypes.h:609
Feature specific enum.
Definition: LETypes.h:615
Feature specific enum.
Definition: LETypes.h:612
&#39;akhn&#39;
Definition: LETypes.h:482
&#39;glyf&#39;
Definition: LETypes.h:437
&#39;fdsc&#39;
Definition: LETypes.h:430
&#39;falt&#39;
Definition: LETypes.h:500
The requested resource cannot be found.
Definition: utypes.h:508
&#39;VORG&#39;
Definition: LETypes.h:466
&#39;nalt&#39;
Definition: LETypes.h:533
&#39;vmtx&#39;
Definition: LETypes.h:465
&#39;GSUB&#39;
Definition: LETypes.h:439
&#39;avar&#39;
Definition: LETypes.h:416
&#39;unic&#39;
Definition: LETypes.h:591
&#39;vatu&#39;
Definition: LETypes.h:593
&#39;JSTF&#39;
Definition: LETypes.h:447
LETableTags
This enumeration defines constants for the standard TrueType, OpenType and AAT table tags...
Definition: LETypes.h:414
&#39;isol&#39;
Definition: LETypes.h:515
&#39;lfbd&#39;
Definition: LETypes.h:522
Feature specific enum.
Definition: LETypes.h:621
UChar LEUnicode16
Used to represent 16-bit Unicode code points.
Definition: LETypes.h:223
&#39;vert&#39;
Definition: LETypes.h:594
&#39;med2&#39;
Definition: LETypes.h:528
&#39;valt&#39;
Definition: LETypes.h:592
&#39;ss14&#39;
Definition: LETypes.h:575
&#39;blwf&#39;
Definition: LETypes.h:483
&#39;cmap&#39;
Definition: LETypes.h:423
Trying to access an index that is out of bounds.
Definition: LETypes.h:688
Indicates a bug in the library code.
Definition: utypes.h:511
int8_t le_int8
A type used for signed, 8-bit integers.
Definition: LETypes.h:62
&#39;jalt&#39;
Definition: LETypes.h:517
&#39;pwid&#39;
Definition: LETypes.h:548
&#39;dnom&#39;
Definition: LETypes.h:498
&#39;hsty&#39;
Definition: LETypes.h:445
&#39;CFF &#39;
Definition: LETypes.h:422
&#39;hngl&#39;
Definition: LETypes.h:512
No error, no warning.
Definition: utypes.h:505
&#39;prop&#39;
Definition: LETypes.h:461
&#39;ss13&#39;
Definition: LETypes.h:574
&#39;kern&#39;
Definition: LETypes.h:521
&#39;pres&#39;
Definition: LETypes.h:545
&#39;PCLT&#39;
Definition: LETypes.h:458
Feature specific enum.
Definition: LETypes.h:620
Trying to access the index that is out of bounds.
Definition: utypes.h:514
&#39;pcap&#39;
Definition: LETypes.h:542
Feature specific enum.
Definition: LETypes.h:628
int32_t le_int32
A type used for signed, 32-bit integers.
Definition: LETypes.h:34
UBool le_bool
A type used for boolean values.
Definition: LETypes.h:77
&#39;titl&#39;
Definition: LETypes.h:585
&#39;EBSC&#39;
Definition: LETypes.h:429
&#39;gvar&#39;
Definition: LETypes.h:440
Memory allocation error.
Definition: utypes.h:513
&#39;ss08&#39;
Definition: LETypes.h:569
&#39;salt&#39;
Definition: LETypes.h:557
&#39;VDMX&#39;
Definition: LETypes.h:463
&#39;ss01&#39;
Definition: LETypes.h:562
&#39;ss09&#39;
Definition: LETypes.h:570
&#39;rand&#39;
Definition: LETypes.h:550
&#39;swsh&#39;
Definition: LETypes.h:584
Feature specific enum.
Definition: LETypes.h:629
&#39;cvar&#39;
Definition: LETypes.h:424
Feature specific enum.
Definition: LETypes.h:617
&#39;pref&#39;
Definition: LETypes.h:544
&#39;ss03&#39;
Definition: LETypes.h:564
The requested file cannot be found.
Definition: utypes.h:510
Feature specific enum.
Definition: LETypes.h:614
float fX
The x coordinate of the point.
Definition: LETypes.h:253
&#39;sinf&#39;
Definition: LETypes.h:558
&#39;pstf&#39;
Definition: LETypes.h:546
LEFeatureENUMs
Definition: LETypes.h:607
&#39;locl&#39;
Definition: LETypes.h:526
&#39;liga&#39;
Definition: LETypes.h:523
float fY
The y coordinate of the point.
Definition: LETypes.h:260
Feature specific enum.
Definition: LETypes.h:618
&#39;ss17&#39;
Definition: LETypes.h:578
&#39;fvar&#39;
Definition: LETypes.h:434
&#39;ss10&#39;
Definition: LETypes.h:571
&#39;fin3&#39;
Definition: LETypes.h:502
&#39;post&#39;
Definition: LETypes.h:459
Requested operation not supported in current context.
Definition: utypes.h:522
&#39;expt&#39;
Definition: LETypes.h:499
&#39;loca&#39;
Definition: LETypes.h:450
&#39;mgrk&#39;
Definition: LETypes.h:530
Feature specific enum.
Definition: LETypes.h:611
&#39;vkna&#39;
Definition: LETypes.h:597
&#39;gasp&#39;
Definition: LETypes.h:435
A resource bundle lookup returned a result from the root locale (not an error)
Definition: utypes.h:486
&#39;medi&#39;
Definition: LETypes.h:529
Start of codes indicating failure.
Definition: utypes.h:507
&#39;tnum&#39;
Definition: LETypes.h:588
&#39;c2sc&#39;
Definition: LETypes.h:494
You must call layoutChars() first.
Definition: LETypes.h:689
Feature specific enum.
Definition: LETypes.h:624
&#39;trak&#39;
Definition: LETypes.h:462
&#39;kern&#39;
Definition: LETypes.h:448
&#39;EBLC&#39;
Definition: LETypes.h:428
&#39;LTSH&#39;
Definition: LETypes.h:451
&#39;opbd&#39;
Definition: LETypes.h:456
&#39;rphf&#39;
Definition: LETypes.h:552
&#39;ss16&#39;
Definition: LETypes.h:577
&#39;DSIG&#39;
Definition: LETypes.h:426
An internal error was encountered.
Definition: LETypes.h:690
&#39;GPOS&#39;
Definition: LETypes.h:438
&#39;bhed&#39;
Definition: LETypes.h:419
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:298
&#39;fpgm&#39;
Definition: LETypes.h:433
&#39;bsln&#39;
Definition: LETypes.h:421
&#39;half&#39;
Definition: LETypes.h:506
&#39;ornm&#39;
Definition: LETypes.h:540
&#39;fina&#39;
Definition: LETypes.h:503
&#39;maxp&#39;
Definition: LETypes.h:452
&#39;vjmo&#39;
Definition: LETypes.h:596
&#39;qwid&#39;
Definition: LETypes.h:549
&#39;hdmx&#39;
Definition: LETypes.h:441
The requested font file cannot be opened.
Definition: LETypes.h:691
Feature specific enum.
Definition: LETypes.h:622
LEErrorCode
Error codes returned by the LayoutEngine.
Definition: LETypes.h:678
&#39;ss05&#39;
Definition: LETypes.h:566
C++ API: Common ICU base class UObject.
uint8_t le_uint8
A type used for unsigned, 8-bit integers.
Definition: LETypes.h:69
&#39;ss06&#39;
Definition: LETypes.h:567
&#39;ss12&#39;
Definition: LETypes.h:573
&#39;tjmo&#39;
Definition: LETypes.h:586
&#39;vhal&#39;
Definition: LETypes.h:595
&#39;ss15&#39;
Definition: LETypes.h:576
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition: umachine.h:278
Apply CharSubstitutionFilter.
Definition: LETypes.h:632
&#39;ccmp&#39;
Definition: LETypes.h:488
Feature specific enum.
Definition: LETypes.h:616
&#39;fwid&#39;
Definition: LETypes.h:505
&#39;ruby&#39;
Definition: LETypes.h:556
&#39;palt&#39;
Definition: LETypes.h:541
&#39;lnum&#39;
Definition: LETypes.h:525
&#39;trad&#39;
Definition: LETypes.h:589
&#39;dlig&#39;
Definition: LETypes.h:497
&#39;mkmk&#39;
Definition: LETypes.h:531
&#39;haln&#39;
Definition: LETypes.h:507
&#39;psts&#39;
Definition: LETypes.h:547
&#39;blwm&#39;
Definition: LETypes.h:484
&#39;ss04&#39;
Definition: LETypes.h:565
&#39;zero&#39;
Definition: LETypes.h:601
&#39;blws&#39;
Definition: LETypes.h:485
&#39;case&#39;
Definition: LETypes.h:487
&#39;clig&#39;
Definition: LETypes.h:490
&#39;hwid&#39;
Definition: LETypes.h:513
The requested font table does not exist.
Definition: LETypes.h:692
No error, no warning.
Definition: LETypes.h:683
&#39;cvt &#39;
Definition: LETypes.h:425
&#39;hlig&#39;
Definition: LETypes.h:511
&#39;head&#39;
Definition: LETypes.h:442
&#39;hhea&#39;
Definition: LETypes.h:443
&#39;sups&#39;
Definition: LETypes.h:583
&#39;bloc&#39;
Definition: LETypes.h:420
&#39;abvm&#39;
Definition: LETypes.h:479
UChar LEUnicode
Used to represent 16-bit Unicode code points.
Definition: LETypes.h:238
&#39;name&#39;
Definition: LETypes.h:455
&#39;hmtx&#39;
Definition: LETypes.h:444
&#39;subs&#39;
Definition: LETypes.h:582
&#39;hist&#39;
Definition: LETypes.h:509
&#39;frac&#39;
Definition: LETypes.h:504
&#39;cswh&#39;
Definition: LETypes.h:492
&#39;lcar&#39;
Definition: LETypes.h:449
le_uint32 LEGlyphID
Used for glyph indices.
Definition: LETypes.h:112
&#39;mark&#39;
Definition: LETypes.h:527
The font does not contain subfonts.
Definition: LETypes.h:680
&#39;jp78&#39;
Definition: LETypes.h:518
Basic definitions for ICU, for both C and C++ APIs.
&#39;vrt2&#39;
Definition: LETypes.h:600
&#39;tnam&#39;
Definition: LETypes.h:587
&#39;vkrn&#39;
Definition: LETypes.h:598
&#39;smpl&#39;
Definition: LETypes.h:561
&#39;ss11&#39;
Definition: LETypes.h:572
&#39;feat&#39;
Definition: LETypes.h:431
&#39;ital&#39;
Definition: LETypes.h:516
&#39;ss18&#39;
Definition: LETypes.h:579
Feature specific enum.
Definition: LETypes.h:610
&#39;bdat&#39;
Definition: LETypes.h:418
&#39;rkrf&#39;
Definition: LETypes.h:553
&#39;nukt&#39;
Definition: LETypes.h:535
Feature specific enum.
Definition: LETypes.h:623
Feature specific enum.
Definition: LETypes.h:613
&#39;calt&#39;
Definition: LETypes.h:486
&#39;jp83&#39;
Definition: LETypes.h:519
&#39;mset&#39;
Definition: LETypes.h:532
&#39;just&#39;
Definition: LETypes.h:446
&#39;dist&#39;
Definition: LETypes.h:496
&#39;ss20&#39;
Definition: LETypes.h:581
&#39;hkna&#39;
Definition: LETypes.h:510
LEFeatureTags
This enumeration defines constants for all the common OpenType feature tags.
Definition: LETypes.h:476
&#39;smcp&#39;
Definition: LETypes.h:560
&#39;c2pc&#39;
Definition: LETypes.h:495
Feature specific enum.
Definition: LETypes.h:626
&#39;opbd&#39;
Definition: LETypes.h:538
&#39;fmtx&#39;
Definition: LETypes.h:432
&#39;Zapf&#39;
Definition: LETypes.h:467
&#39;EBDT&#39;
Definition: LETypes.h:427
&#39;prep&#39;
Definition: LETypes.h:460
&#39;acnt&#39;
Definition: LETypes.h:415
&#39;GDEF&#39;
Definition: LETypes.h:436
int8_t UBool
The ICU boolean type.
Definition: umachine.h:200
int16_t le_int16
A type used for signed, 16-bit integers.
Definition: LETypes.h:48
&#39;abvf&#39;
Definition: LETypes.h:478
&#39;cjct&#39;
Definition: LETypes.h:489
&#39;twid&#39;
Definition: LETypes.h:590
Feature specific enum.
Definition: LETypes.h:619
Used to hold a pair of (x, y) values which represent a point.
Definition: LETypes.h:246