QtBase  v6.3.1
hb-aat-layout.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2018 Ebrahim Byagowi
3  *
4  * This is part of HarfBuzz, a text shaping library.
5  *
6  * Permission is hereby granted, without written agreement and without
7  * license or royalty fees, to use, copy, modify, and distribute this
8  * software and its documentation for any purpose, provided that the
9  * above copyright notice and the following two paragraphs appear in
10  * all copies of this software.
11  *
12  * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14  * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15  * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16  * DAMAGE.
17  *
18  * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20  * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21  * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23  */
24 
25 #if !defined(HB_AAT_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
26 #error "Include <hb-aat.h> instead."
27 #endif
28 
29 #ifndef HB_AAT_LAYOUT_H
30 #define HB_AAT_LAYOUT_H
31 
32 #include "hb.h"
33 
34 #include "hb-ot.h"
35 
37 
85 typedef enum
86 {
88 
128 
129  /*< private >*/
132 
391 typedef enum
392 {
394 
395  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC */
398 
399  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES */
422 
423  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES */
427 
428  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE */
435 
436  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION */
439 
440  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT */
443 
444  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING */
449 
450  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE */
461 
462  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE */
466 
467  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION */
473 
474  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS */
478 
479  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE */
482 
483  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS */
496 
497  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS */
510 
511  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE */
519 
520  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES */
522 
523  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE */
529 
530  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS */
537 
538  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE */
554 
555  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE */
558 
559  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING */
567 
568  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION */
579 
580  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE */
592 
593  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE */
596 
597  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE */
601 
602  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE */
609 
610  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA */
611  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA = 0, /* deprecated - use HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF instead */
612  HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA = 1, /* deprecated - use HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON instead */
615 
616  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE */
623 
624  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE */
631 
632  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE */
635 
636  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN */
637  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN = 0, /* deprecated - use HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF instead */
638  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN = 1, /* deprecated - use HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON instead */
641 
642  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT */
647 
648  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA */
653 
654  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES */
696 
697  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES */
704 
705  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE */
709 
710  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE */
714 
715  /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE */
720 
721  /*< private >*/
724 
725 HB_EXTERN unsigned int
727  unsigned int start_offset,
728  unsigned int *feature_count, /* IN/OUT. May be NULL. */
729  hb_aat_layout_feature_type_t *features /* OUT. May be NULL. */);
730 
733  hb_aat_layout_feature_type_t feature_type);
734 
747  /*< private >*/
748  unsigned int reserved;
750 
758 #define HB_AAT_LAYOUT_NO_SELECTOR_INDEX 0xFFFFu
759 
760 HB_EXTERN unsigned int
762  hb_aat_layout_feature_type_t feature_type,
763  unsigned int start_offset,
764  unsigned int *selector_count, /* IN/OUT. May be NULL. */
765  hb_aat_layout_feature_selector_info_t *selectors, /* OUT. May be NULL. */
766  unsigned int *default_index /* OUT. May be NULL. */);
767 
768 
769 /*
770  * morx/mort
771  */
772 
775 
776 
777 /*
778  * kerx
779  */
780 
783 
784 
785 /*
786  * trak
787  */
788 
791 
792 
794 
795 #endif /* HB_AAT_LAYOUT_H */
HB_EXTERN hb_ot_name_id_t hb_aat_layout_feature_type_get_name_id(hb_face_t *face, hb_aat_layout_feature_type_t feature_type)
HB_EXTERN unsigned int hb_aat_layout_get_feature_types(hb_face_t *face, unsigned int start_offset, unsigned int *feature_count, hb_aat_layout_feature_type_t *features)
HB_EXTERN hb_bool_t hb_aat_layout_has_substitution(hb_face_t *face)
HB_EXTERN hb_bool_t hb_aat_layout_has_positioning(hb_face_t *face)
HB_EXTERN unsigned int hb_aat_layout_feature_type_get_selector_infos(hb_face_t *face, hb_aat_layout_feature_type_t feature_type, unsigned int start_offset, unsigned int *selector_count, hb_aat_layout_feature_selector_info_t *selectors, unsigned int *default_index)
struct hb_aat_layout_feature_selector_info_t hb_aat_layout_feature_selector_info_t
HB_EXTERN hb_bool_t hb_aat_layout_has_tracking(hb_face_t *face)
hb_aat_layout_feature_selector_t
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_CJK_ROMAN
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIOD_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DISPLAY_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES
@ _HB_AAT_LAYOUT_FEATURE_SELECTOR_MAX_VALUE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PARENTHESIS_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SHOW_DIACRITICS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_KATAKANA_TO_HIRAGANA
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CIRCLE_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_MATH_SYMBOLS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_THREE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_HIRAGANA
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_TWO
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INTERNATIONAL_SYMBOLS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_IDEOGRAPHS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_ONE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_TWO
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FOUR
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_IDEOGRAPHS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_KANA
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_ONE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_NUMBERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DECOMPOSE_DIACRITICS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL4
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ILLUMINATED_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PI_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HIDE_DIACRITICS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TALL_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_ONE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FIVE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ROUNDED_BOX_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_TWO
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLISTIC_ALTERNATES
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ALTERNATES
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMAN_NUMERAL_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_CJK_ROMAN
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FOUR
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_THREE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_THREE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CURSIVE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_NUMBERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_ONE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PARTIALLY_CONNECTED
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DECORATIVE_BORDERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_UNCONNECTED
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_KATAKANA
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_THREE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAMOND_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FOUR
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_IDEOGRAPHS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL1
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HIRAGANA_TO_KATAKANA
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_CIRCLE_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_TWO
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_KANA_TO_ROMANIZATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ORNAMENTS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_KANA
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL3
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_BOX_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_FLEURONS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DINGBATS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FIVE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_BOX_ANNOTATION
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FIVE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL2
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL5
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_LOWER_CASE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_ON
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_OFF
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_AND_LOWER_CASE
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ENGRAVED_TEXT
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS
@ HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_OFF
hb_aat_layout_feature_type_t
Definition: hb-aat-layout.h:86
@ HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION
Definition: hb-aat-layout.h:93
@ HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@ HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
@ HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
Definition: hb-aat-layout.h:90
@ HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE
Definition: hb-aat-layout.h:92
@ HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE
@ HB_AAT_LAYOUT_FEATURE_TYPE_INVALID
Definition: hb-aat-layout.h:87
@ HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
@ HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC
Definition: hb-aat-layout.h:89
@ HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE
Definition: hb-aat-layout.h:97
@ HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
Definition: hb-aat-layout.h:96
@ HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
@ HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@ HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
Definition: hb-aat-layout.h:95
@ _HB_AAT_LAYOUT_FEATURE_TYPE_MAX_VALUE
@ HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
Definition: hb-aat-layout.h:98
@ HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN
@ HB_AAT_LAYOUT_FEATURE_TYPE_CURISVE_CONNECTION
Definition: hb-aat-layout.h:91
@ HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@ HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
@ HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES
@ HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA
@ HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE
@ HB_AAT_LAYOUT_FEATURE_TYPE_LANGUAGE_TAG_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE
@ HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT
Definition: hb-aat-layout.h:94
@ HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
@ HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS
Definition: hb-aat-layout.h:99
@ HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
@ HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
HB_EXTERN unsigned int start_offset
unsigned int hb_ot_name_id_t
Definition: hb-ot-name.h:109
GLenum face
HB_BEGIN_DECLS typedef int hb_bool_t
Definition: hb-common.h:97
#define HB_TAG_MAX_SIGNED
Definition: hb-common.h:203
#define HB_BEGIN_DECLS
Definition: hb-common.h:45
#define HB_END_DECLS
Definition: hb-common.h:46
#define HB_EXTERN
Definition: hb-common.h:37
hb_aat_layout_feature_selector_t enable
hb_aat_layout_feature_selector_t disable