diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazatk1.pas b/lcl/interfaces/gtk3/gtk3bindings/lazatk1.pas index a75441f3a2..a541637636 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazatk1.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazatk1.pas @@ -6,13 +6,19 @@ unit LazAtk1; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libatk-1.0.so.0} +{$endif} interface uses CTypes, LazGObject2, LazGLib2; const - Atk1_library = 'libatk-1.0.so.0'; + {$ifdef MsWindows} + LazAtk1_library = 'libatk-1.0.so.dll'; + {$else} + LazAtk1_library = 'libatk-1.0.so.0'; + {$endif} ATK_BINARY_AGE = 20810; ATK_INTERFACE_AGE = 1; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazcairo1.pas b/lcl/interfaces/gtk3/gtk3bindings/lazcairo1.pas index 301719187c..c7f9fd8496 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazcairo1.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazcairo1.pas @@ -49,37 +49,26 @@ unit LazCairo1; October 2007 *) -{$mode ObjFpc}{$H+} +{$MODE OBJFPC}{$H+} +{$PACKRECORDS C} +{$MODESWITCH DUPLICATELOCALS+} + +{$ifdef Unix} +{$LINKLIB libcairo-gobject.so.2} +{$LINKLIB libcairo.so.2} +{$endif} interface - -Uses +uses CTypes; const -{$ifdef win32} - LIB_CAIRO = 'libcairo-2.dll'; - {$IFDEF FPC} - {$ifndef NO_SMART_LINK} - {$smartlink on} - {$endif} - {$ENDIF} -{$else} - {$ifdef darwin} - LIB_CAIRO = 'cairo'; - {$linklib cairo} + {$ifdef MsWindows} + Lazcairo1_library = 'libcairo-gobject.so.dll'; {$else} - {$ifdef UseCustomLibs} - LIB_CAIRO = ''; - {$else} - LIB_CAIRO = 'libcairo.so.2'; - {$endif} + Lazcairo1_library = 'libcairo-gobject.so.2'; {$endif} -{$endif} - -{$IFDEF FPC} - {$PACKRECORDS C} -{$ENDIF} + LIB_CAIRO = Lazcairo1_library; type cairo_status_t = ( diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazfreetype2_2.pas b/lcl/interfaces/gtk3/gtk3bindings/lazfreetype2_2.pas new file mode 100644 index 0000000000..18cce3c955 --- /dev/null +++ b/lcl/interfaces/gtk3/gtk3bindings/lazfreetype2_2.pas @@ -0,0 +1,55 @@ +{ This is an autogenerated unit using gobject introspection (gir2pascal). Do not Edit. } +unit Lazfreetype2_2; + +{$MODE OBJFPC}{$H+} + +{$PACKRECORDS C} +{$MODESWITCH DUPLICATELOCALS+} + +{$ifdef Unix} +{$endif} +interface +uses + CTypes; + +const + {$ifdef MsWindows} + Lazfreetype2_2_library = '.dll'; + {$else} + Lazfreetype2_2_library = ''; + {$endif} + +type + + + { TFT_Bitmap } + PPFT_Bitmap = ^PFT_Bitmap; + PFT_Bitmap = ^TFT_Bitmap; + + TFT_Bitmap = record + end; + + + + + { TFT_Face } + PPFT_Face = ^PFT_Face; + PFT_Face = ^TFT_Face; + + TFT_Face = record + end; + + + + + { TFT_Library } + PPFT_Library = ^PFT_Library; + PFT_Library = ^TFT_Library; + + TFT_Library = record + end; + + + +implementation +end. \ No newline at end of file diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazgdk3.pas b/lcl/interfaces/gtk3/gtk3bindings/lazgdk3.pas index f797842240..9dbbeca794 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazgdk3.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazgdk3.pas @@ -6,13 +6,19 @@ unit LazGdk3; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libgdk-3.so.0} +{$endif} interface uses CTypes, LazGdkPixbuf2, LazGio2, LazPango1, Lazcairo1, LazGLib2, LazGObject2; const - Gdk3_library = 'libgdk-3.so.0'; + {$ifdef MsWindows} + LazGdk3_library = 'libgdk-3.so.dll'; + {$else} + LazGdk3_library = 'libgdk-3.so.0'; + {$endif} GDK_BUTTON_MIDDLE = 2; GDK_BUTTON_PRIMARY = 1; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazgdkpixbuf2.pas b/lcl/interfaces/gtk3/gtk3bindings/lazgdkpixbuf2.pas index 473fc1100f..51cf0e1993 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazgdkpixbuf2.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazgdkpixbuf2.pas @@ -6,13 +6,19 @@ unit LazGdkPixbuf2; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libgdk_pixbuf-2.0.so.0} +{$endif} interface uses CTypes, LazGModule2, LazGio2, LazGLib2, LazGObject2; const - GdkPixbuf2_library = 'libgdk_pixbuf-2.0.so.0'; + {$ifdef MsWindows} + LazGdkPixbuf2_library = 'libgdk_pixbuf-2.0.so.dll'; + {$else} + LazGdkPixbuf2_library = 'libgdk_pixbuf-2.0.so.0'; + {$endif} GDK_PIXBUF_FEATURES_H = 1; GDK_PIXBUF_MAGIC_NUMBER = 1197763408; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazgio2.pas b/lcl/interfaces/gtk3/gtk3bindings/lazgio2.pas index 2ccbb4c75a..e263296df2 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazgio2.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazgio2.pas @@ -6,13 +6,19 @@ unit LazGio2; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libgio-2.0.so.0} +{$endif} interface uses CTypes, LazGObject2, LazGLib2; const - Gio2_library = 'libgio-2.0.so.0'; + {$ifdef MsWindows} + LazGio2_library = 'libgio-2.0.so.dll'; + {$else} + LazGio2_library = 'libgio-2.0.so.0'; + {$endif} G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME = 'gio-desktop-app-info-lookup'; G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE = 'access::can-delete'; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazglib2.pas b/lcl/interfaces/gtk3/gtk3bindings/lazglib2.pas index c2dafe7abc..fa0418c29d 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazglib2.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazglib2.pas @@ -6,14 +6,20 @@ unit LazGLib2; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libgobject-2.0.so.0} {$LINKLIB libglib-2.0.so.0} +{$endif} interface uses CTypes; const - GLib2_library = 'libgobject-2.0.so.0'; + {$ifdef MsWindows} + LazGLib2_library = 'libgobject-2.0.so.dll'; + {$else} + LazGLib2_library = 'libgobject-2.0.so.0'; + {$endif} G_ASCII_DTOSTR_BUF_SIZE = 39; G_BIG_ENDIAN = 4321; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazgmodule2.pas b/lcl/interfaces/gtk3/gtk3bindings/lazgmodule2.pas index 94ceabf860..75944ddf58 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazgmodule2.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazgmodule2.pas @@ -6,14 +6,19 @@ unit LazGModule2; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libgmodule-2.0.so.0} +{$endif} interface uses CTypes, LazGLib2; const - GModule2_library = 'libgmodule-2.0.so.0'; - + {$ifdef MsWindows} + LazGModule2_library = 'libgmodule-2.0.so.dll'; + {$else} + LazGModule2_library = 'libgmodule-2.0.so.0'; + {$endif} type TGModuleFlags = Integer; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazgobject2.pas b/lcl/interfaces/gtk3/gtk3bindings/lazgobject2.pas index 75c9d46c9e..e0b48e6ba6 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazgobject2.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazgobject2.pas @@ -6,13 +6,19 @@ unit LazGObject2; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libgobject-2.0.so.0} +{$endif} interface uses CTypes, LazGLib2; const - GObject2_library = 'libgobject-2.0.so.0'; + {$ifdef MsWindows} + LazGObject2_library = 'libgobject-2.0.so.dll'; + {$else} + LazGObject2_library = 'libgobject-2.0.so.0'; + {$endif} G_PARAM_MASK = 255; G_PARAM_READWRITE = 0; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas b/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas index 38035a9146..c9bb499a4c 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas @@ -6,14 +6,19 @@ unit LazGtk3; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libgtk-3.so.0} -{$LINKLIB libgdk-3.so.0} +{$endif} interface uses CTypes, LazAtk1, LazGdk3, Lazxlib2, LazGLib2, LazGdkPixbuf2, LazGObject2, LazGio2, Lazcairo1, LazPango1; const - Gtk3_library = 'libgtk-3.so.0'; + {$ifdef MsWindows} + LazGtk3_library = 'libgtk-3.so.dll'; + {$else} + LazGtk3_library = 'libgtk-3.so.0'; + {$endif} GTK_BINARY_AGE = 806; GTK_INPUT_ERROR = -1; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazharfbuzz0.pas b/lcl/interfaces/gtk3/gtk3bindings/lazharfbuzz0.pas new file mode 100644 index 0000000000..e5b059e235 --- /dev/null +++ b/lcl/interfaces/gtk3/gtk3bindings/lazharfbuzz0.pas @@ -0,0 +1,2106 @@ +{ This is an autogenerated unit using gobject introspection (gir2pascal). Do not Edit. } +unit LazHarfBuzz0; + +{$MODE OBJFPC}{$H+} + +{$PACKRECORDS C} +{$MODESWITCH DUPLICATELOCALS+} + +{$ifdef Unix} +{$LINKLIB libharfbuzz.so.0} +{$LINKLIB libharfbuzz-gobject.so.0} +{$endif} +interface +uses + CTypes, LazGObject2, Lazfreetype2_2, LazGLib2; + +const + {$ifdef MsWindows} + LazHarfBuzz0_library = 'libharfbuzz.so.dll'; + {$else} + LazHarfBuzz0_library = 'libharfbuzz.so.0'; + {$endif} + + HB_AAT_LAYOUT_NO_SELECTOR_INDEX = 65535; + HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT = 65533; + HB_FEATURE_GLOBAL_START = 0; + HB_FONT_NO_VAR_NAMED_INSTANCE = 4294967295; + HB_LANGUAGE_INVALID = 0; + HB_MAP_VALUE_INVALID = 4294967295; + HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX = 65535; + HB_OT_LAYOUT_NO_FEATURE_INDEX = 65535; + HB_OT_LAYOUT_NO_SCRIPT_INDEX = 65535; + HB_OT_LAYOUT_NO_VARIATIONS_INDEX = 4294967295; + HB_OT_MAX_TAGS_PER_LANGUAGE = 3; + HB_OT_MAX_TAGS_PER_SCRIPT = 3; + HB_OT_VAR_NO_AXIS_INDEX = 4294967295; + HB_SET_VALUE_INVALID = 4294967295; + HB_UNICODE_MAX = 1114111; + HB_UNICODE_MAX_DECOMPOSITION_LEN = 19; + HB_VERSION_MAJOR = 7; + HB_VERSION_MICRO = 0; + HB_VERSION_MINOR = 1; + HB_VERSION_STRING_ = '7.1.0'; +type + Thb_aat_layout_feature_selector_t = ( + Thb_aat_layout_feature_selector_tMinValue = -$7FFFFFFF, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ALTERNATES = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL1 = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ORNAMENTS = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SHOW_DIACRITICS = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLISTIC_ALTERNATES = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_CJK_ROMAN = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_KANA = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_IDEOGRAPHS = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ANNOTATION = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_AND_LOWER_CASE = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_UNCONNECTED = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_ON = 0, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_IDEOGRAPHS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_BOX_ANNOTATION = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_KANA = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PARTIALLY_CONNECTED = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DISPLAY_TEXT = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL2 = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_CJK_ROMAN = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DINGBATS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HIDE_DIACRITICS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_ONE = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_CAPS = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_ONE = 1, + HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL3 = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ENGRAVED_TEXT = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_IDEOGRAPHS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_TWO = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ROUNDED_BOX_ANNOTATION = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_TWO = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HIRAGANA_TO_KATAKANA = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_LOWER_CASE = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_NUMBERS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_ON = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DECOMPOSE_DIACRITICS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CURSIVE = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PI_CHARACTERS = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN = 2, + HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_NUMBERS = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL4 = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_THREE = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CIRCLE_ANNOTATION = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_KATAKANA_TO_HIRAGANA = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_FLEURONS = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ILLUMINATED_CAPS = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_THREE = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS = 3, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DECORATIVE_BORDERS = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FOUR = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_ON = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FOUR = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_ON = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_KANA_TO_ROMANIZATION = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL5 = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_CIRCLE_ANNOTATION = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_ON = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS = 4, + HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FIVE = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_OFF = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INTERNATIONAL_SYMBOLS = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FIVE = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_HIRAGANA = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TALL_CAPS = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_ONE = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_OFF = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PARENTHESIS_ANNOTATION = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_OFF = 5, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_ON = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_ON = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_ON = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIOD_ANNOTATION = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_MATH_SYMBOLS = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_KATAKANA = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_TWO = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_ON = 6, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF = 7, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_OFF = 7, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_THREE = 7, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_OFF = 7, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMAN_NUMERAL_ANNOTATION = 7, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_ONE = 7, + HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_OFF = 7, + HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_OFF = 7, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FOUR = 8, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_ON = 8, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_ON = 8, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_TWO = 8, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON = 8, + HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_ON = 8, + HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_ON = 8, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAMOND_ANNOTATION = 8, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FIVE = 9, + HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_OFF = 9, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF = 9, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_OFF = 9, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_THREE = 9, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_BOX_ANNOTATION = 9, + HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_OFF = 9, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_OFF = 9, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_ON = 10, + HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON = 10, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON = 10, + HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS = 10, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_ON = 10, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION = 10, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF = 11, + HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF = 11, + HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_OFF = 11, + HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS = 11, + HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_OFF = 11, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON = 12, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_ON = 12, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS = 12, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_OFF = 13, + HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS = 13, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF = 13, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_ON = 14, + HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS = 14, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON = 14, + HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF = 15, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF = 15, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON = 16, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_ON = 16, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF = 17, + HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_OFF = 17, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON = 18, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON = 18, + HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF = 19, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF = 19, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON = 20, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON = 20, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF = 21, + HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF = 21, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON = 22, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF = 23, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON = 24, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF = 25, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON = 26, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF = 27, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON = 28, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF = 29, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON = 30, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF = 31, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON = 32, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF = 33, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON = 34, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF = 35, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON = 36, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF = 37, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON = 38, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF = 39, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON = 40, + HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF = 41, + HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID = 65535, + Thb_aat_layout_feature_selector_tMaxValue = $7FFFFFFF + ); + Thb_aat_layout_feature_type_t = ( + Thb_aat_layout_feature_type_tMinValue = -$7FFFFFFF, + HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC = 0, + HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES = 1, + HB_AAT_LAYOUT_FEATURE_TYPE_CURISVE_CONNECTION = 2, + HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE = 3, + HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION = 4, + HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT = 5, + HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING = 6, + HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE = 8, + HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE = 9, + HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION = 10, + HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS = 11, + HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE = 13, + HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS = 14, + HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS = 15, + HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE = 16, + HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES = 17, + HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE = 18, + HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS = 19, + HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE = 20, + HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE = 21, + HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING = 22, + HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION = 23, + HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE = 24, + HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE = 25, + HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE = 26, + HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE = 27, + HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA = 28, + HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE = 29, + HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE = 30, + HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE = 31, + HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN = 32, + HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT = 33, + HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA = 34, + HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES = 35, + HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES = 36, + HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE = 37, + HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE = 38, + HB_AAT_LAYOUT_FEATURE_TYPE_LANGUAGE_TAG_TYPE = 39, + HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE = 103, + HB_AAT_LAYOUT_FEATURE_TYPE_INVALID = 65535, + Thb_aat_layout_feature_type_tMaxValue = $7FFFFFFF + ); + Thb_memory_mode_t = ( + Thb_memory_mode_tMinValue = -$7FFFFFFF, + HB_MEMORY_MODE_DUPLICATE = 0, + HB_MEMORY_MODE_READONLY = 1, + HB_MEMORY_MODE_WRITABLE = 2, + HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE = 3, + Thb_memory_mode_tMaxValue = $7FFFFFFF + ); + Thb_buffer_cluster_level_t = ( + Thb_buffer_cluster_level_tMinValue = -$7FFFFFFF, + HB_BUFFER_CLUSTER_LEVEL_DEFAULT = 0, + HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES = 0, + HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS = 1, + HB_BUFFER_CLUSTER_LEVEL_CHARACTERS = 2, + Thb_buffer_cluster_level_tMaxValue = $7FFFFFFF + ); + Thb_buffer_content_type_t = ( + Thb_buffer_content_type_tMinValue = -$7FFFFFFF, + HB_BUFFER_CONTENT_TYPE_INVALID = 0, + HB_BUFFER_CONTENT_TYPE_UNICODE = 1, + HB_BUFFER_CONTENT_TYPE_GLYPHS = 2, + Thb_buffer_content_type_tMaxValue = $7FFFFFFF + ); + Thb_buffer_serialize_format_t = ( + Thb_buffer_serialize_format_tMinValue = -$7FFFFFFF, + HB_BUFFER_SERIALIZE_FORMAT_INVALID = 0, + HB_BUFFER_SERIALIZE_FORMAT_JSON = 1246973774, + HB_BUFFER_SERIALIZE_FORMAT_TEXT = 1413830740, + Thb_buffer_serialize_format_tMaxValue = $7FFFFFFF + ); + Thb_buffer_diff_flags_t = ( + Thb_buffer_diff_flags_tMinValue = -$7FFFFFFF, + HB_BUFFER_DIFF_FLAG_EQUAL = 0, + HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH = 1, + HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH = 2, + HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT = 4, + HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT = 8, + HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH = 16, + HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH = 32, + HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH = 64, + HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH = 128, + Thb_buffer_diff_flags_tMaxValue = $7FFFFFFF + ); + Thb_buffer_flags_t = ( + Thb_buffer_flags_tMinValue = -$7FFFFFFF, + HB_BUFFER_FLAG_DEFAULT = 0, + HB_BUFFER_FLAG_BOT = 1, + HB_BUFFER_FLAG_EOT = 2, + HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES = 4, + HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES = 8, + HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE = 16, + HB_BUFFER_FLAG_VERIFY = 32, + HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT = 64, + HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL = 128, + HB_BUFFER_FLAG_DEFINED = 255, + Thb_buffer_flags_tMaxValue = $7FFFFFFF + ); + Thb_direction_t = ( + Thb_direction_tMinValue = -$7FFFFFFF, + HB_DIRECTION_INVALID = 0, + HB_DIRECTION_LTR = 4, + HB_DIRECTION_RTL = 5, + HB_DIRECTION_TTB = 6, + HB_DIRECTION_BTT = 7, + Thb_direction_tMaxValue = $7FFFFFFF + ); + Thb_script_t = ( + Thb_script_tMinValue = -$7FFFFFFF, + HB_SCRIPT_INVALID = 0, + HB_SCRIPT_ADLAM = 1097100397, + HB_SCRIPT_CAUCASIAN_ALBANIAN = 1097295970, + HB_SCRIPT_AHOM = 1097363309, + HB_SCRIPT_ARABIC = 1098015074, + HB_SCRIPT_IMPERIAL_ARAMAIC = 1098018153, + HB_SCRIPT_ARMENIAN = 1098018158, + HB_SCRIPT_AVESTAN = 1098281844, + HB_SCRIPT_BALINESE = 1113681001, + HB_SCRIPT_BAMUM = 1113681269, + HB_SCRIPT_BASSA_VAH = 1113682803, + HB_SCRIPT_BATAK = 1113683051, + HB_SCRIPT_BENGALI = 1113943655, + HB_SCRIPT_BHAIKSUKI = 1114139507, + HB_SCRIPT_BOPOMOFO = 1114599535, + HB_SCRIPT_BRAHMI = 1114792296, + HB_SCRIPT_BRAILLE = 1114792297, + HB_SCRIPT_BUGINESE = 1114990441, + HB_SCRIPT_BUHID = 1114990692, + HB_SCRIPT_CHAKMA = 1130457965, + HB_SCRIPT_CANADIAN_SYLLABICS = 1130458739, + HB_SCRIPT_CARIAN = 1130459753, + HB_SCRIPT_CHAM = 1130914157, + HB_SCRIPT_CHEROKEE = 1130915186, + HB_SCRIPT_CHORASMIAN = 1130918515, + HB_SCRIPT_COPTIC = 1131376756, + HB_SCRIPT_CYPRO_MINOAN = 1131441518, + HB_SCRIPT_CYPRIOT = 1131442804, + HB_SCRIPT_CYRILLIC = 1132032620, + HB_SCRIPT_DEVANAGARI = 1147500129, + HB_SCRIPT_DIVES_AKURU = 1147756907, + HB_SCRIPT_DOGRA = 1148151666, + HB_SCRIPT_DESERET = 1148416628, + HB_SCRIPT_DUPLOYAN = 1148547180, + HB_SCRIPT_EGYPTIAN_HIEROGLYPHS = 1164409200, + HB_SCRIPT_ELBASAN = 1164730977, + HB_SCRIPT_ELYMAIC = 1164736877, + HB_SCRIPT_ETHIOPIC = 1165256809, + HB_SCRIPT_GEORGIAN = 1197830002, + HB_SCRIPT_GLAGOLITIC = 1198285159, + HB_SCRIPT_GUNJALA_GONDI = 1198485095, + HB_SCRIPT_MASARAM_GONDI = 1198485101, + HB_SCRIPT_GOTHIC = 1198486632, + HB_SCRIPT_GRANTHA = 1198678382, + HB_SCRIPT_GREEK = 1198679403, + HB_SCRIPT_GUJARATI = 1198877298, + HB_SCRIPT_GURMUKHI = 1198879349, + HB_SCRIPT_HANGUL = 1214344807, + HB_SCRIPT_HAN = 1214344809, + HB_SCRIPT_HANUNOO = 1214344815, + HB_SCRIPT_HATRAN = 1214346354, + HB_SCRIPT_HEBREW = 1214603890, + HB_SCRIPT_HIRAGANA = 1214870113, + HB_SCRIPT_ANATOLIAN_HIEROGLYPHS = 1215067511, + HB_SCRIPT_PAHAWH_HMONG = 1215131239, + HB_SCRIPT_NYIAKENG_PUACHUE_HMONG = 1215131248, + HB_SCRIPT_OLD_HUNGARIAN = 1215655527, + HB_SCRIPT_OLD_ITALIC = 1232363884, + HB_SCRIPT_JAVANESE = 1247901281, + HB_SCRIPT_KAYAH_LI = 1264675945, + HB_SCRIPT_KATAKANA = 1264676449, + HB_SCRIPT_KAWI = 1264678761, + HB_SCRIPT_KHAROSHTHI = 1265131890, + HB_SCRIPT_KHMER = 1265134962, + HB_SCRIPT_KHOJKI = 1265135466, + HB_SCRIPT_KHITAN_SMALL_SCRIPT = 1265202291, + HB_SCRIPT_KANNADA = 1265525857, + HB_SCRIPT_KAITHI = 1265920105, + HB_SCRIPT_TAI_THAM = 1281453665, + HB_SCRIPT_LAO = 1281453935, + HB_SCRIPT_LATIN = 1281455214, + HB_SCRIPT_LEPCHA = 1281716323, + HB_SCRIPT_LIMBU = 1281977698, + HB_SCRIPT_LINEAR_A = 1281977953, + HB_SCRIPT_LINEAR_B = 1281977954, + HB_SCRIPT_LISU = 1281979253, + HB_SCRIPT_LYCIAN = 1283023721, + HB_SCRIPT_LYDIAN = 1283023977, + HB_SCRIPT_MAHAJANI = 1298229354, + HB_SCRIPT_MAKASAR = 1298230113, + HB_SCRIPT_MANDAIC = 1298230884, + HB_SCRIPT_MANICHAEAN = 1298230889, + HB_SCRIPT_MARCHEN = 1298231907, + HB_SCRIPT_MEDEFAIDRIN = 1298490470, + HB_SCRIPT_MENDE_KIKAKUI = 1298493028, + HB_SCRIPT_MEROITIC_CURSIVE = 1298494051, + HB_SCRIPT_MEROITIC_HIEROGLYPHS = 1298494063, + HB_SCRIPT_MALAYALAM = 1298954605, + HB_SCRIPT_MODI = 1299145833, + HB_SCRIPT_MONGOLIAN = 1299148391, + HB_SCRIPT_MRO = 1299345263, + HB_SCRIPT_MEETEI_MAYEK = 1299473769, + HB_SCRIPT_MULTANI = 1299541108, + HB_SCRIPT_MYANMAR = 1299803506, + HB_SCRIPT_NAG_MUNDARI = 1315006317, + HB_SCRIPT_NANDINAGARI = 1315008100, + HB_SCRIPT_OLD_NORTH_ARABIAN = 1315009122, + HB_SCRIPT_NABATAEAN = 1315070324, + HB_SCRIPT_NEWA = 1315272545, + HB_SCRIPT_NKO = 1315663727, + HB_SCRIPT_NUSHU = 1316186229, + HB_SCRIPT_OGHAM = 1332175213, + HB_SCRIPT_OL_CHIKI = 1332503403, + HB_SCRIPT_OLD_TURKIC = 1332898664, + HB_SCRIPT_ORIYA = 1332902241, + HB_SCRIPT_OSAGE = 1332963173, + HB_SCRIPT_OSMANYA = 1332964705, + HB_SCRIPT_OLD_UYGHUR = 1333094258, + HB_SCRIPT_PALMYRENE = 1348562029, + HB_SCRIPT_PAU_CIN_HAU = 1348564323, + HB_SCRIPT_OLD_PERMIC = 1348825709, + HB_SCRIPT_PHAGS_PA = 1349017959, + HB_SCRIPT_INSCRIPTIONAL_PAHLAVI = 1349020777, + HB_SCRIPT_PSALTER_PAHLAVI = 1349020784, + HB_SCRIPT_PHOENICIAN = 1349021304, + HB_SCRIPT_MIAO = 1349284452, + HB_SCRIPT_INSCRIPTIONAL_PARTHIAN = 1349678185, + HB_SCRIPT_REJANG = 1382706791, + HB_SCRIPT_HANIFI_ROHINGYA = 1383032935, + HB_SCRIPT_RUNIC = 1383427698, + HB_SCRIPT_SAMARITAN = 1398893938, + HB_SCRIPT_OLD_SOUTH_ARABIAN = 1398895202, + HB_SCRIPT_SAURASHTRA = 1398895986, + HB_SCRIPT_SIGNWRITING = 1399287415, + HB_SCRIPT_SHAVIAN = 1399349623, + HB_SCRIPT_SHARADA = 1399353956, + HB_SCRIPT_SIDDHAM = 1399415908, + HB_SCRIPT_KHUDAWADI = 1399418468, + HB_SCRIPT_SINHALA = 1399418472, + HB_SCRIPT_SOGDIAN = 1399809892, + HB_SCRIPT_OLD_SOGDIAN = 1399809903, + HB_SCRIPT_SORA_SOMPENG = 1399812705, + HB_SCRIPT_SOYOMBO = 1399814511, + HB_SCRIPT_SUNDANESE = 1400204900, + HB_SCRIPT_SYLOTI_NAGRI = 1400466543, + HB_SCRIPT_SYRIAC = 1400468067, + HB_SCRIPT_TAGBANWA = 1415669602, + HB_SCRIPT_TAKRI = 1415670642, + HB_SCRIPT_TAI_LE = 1415670885, + HB_SCRIPT_NEW_TAI_LUE = 1415670901, + HB_SCRIPT_TAMIL = 1415671148, + HB_SCRIPT_TANGUT = 1415671399, + HB_SCRIPT_TAI_VIET = 1415673460, + HB_SCRIPT_TELUGU = 1415933045, + HB_SCRIPT_TIFINAGH = 1415999079, + HB_SCRIPT_TAGALOG = 1416064103, + HB_SCRIPT_THAANA = 1416126817, + HB_SCRIPT_THAI = 1416126825, + HB_SCRIPT_TIBETAN = 1416192628, + HB_SCRIPT_TIRHUTA = 1416196712, + HB_SCRIPT_TANGSA = 1416524641, + HB_SCRIPT_TOTO = 1416590447, + HB_SCRIPT_UGARITIC = 1432838514, + HB_SCRIPT_VAI = 1449224553, + HB_SCRIPT_VITHKUQI = 1449751656, + HB_SCRIPT_WARANG_CITI = 1466004065, + HB_SCRIPT_WANCHO = 1466132591, + HB_SCRIPT_OLD_PERSIAN = 1483761007, + HB_SCRIPT_CUNEIFORM = 1483961720, + HB_SCRIPT_YEZIDI = 1499822697, + HB_SCRIPT_YI = 1500080489, + HB_SCRIPT_ZANABAZAR_SQUARE = 1516334690, + HB_SCRIPT_INHERITED = 1516858984, + HB_SCRIPT_MATH = 1517122664, + HB_SCRIPT_COMMON = 1517910393, + HB_SCRIPT_UNKNOWN = 1517976186, + Thb_script_tMaxValue = $7FFFFFFF + ); + Thb_buffer_serialize_flags_t = ( + Thb_buffer_serialize_flags_tMinValue = -$7FFFFFFF, + HB_BUFFER_SERIALIZE_FLAG_DEFAULT = 0, + HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS = 1, + HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS = 2, + HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES = 4, + HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS = 8, + HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS = 16, + HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES = 32, + HB_BUFFER_SERIALIZE_FLAG_DEFINED = 63, + Thb_buffer_serialize_flags_tMaxValue = $7FFFFFFF + ); + Thb_paint_extend_t = ( + Thb_paint_extend_tMinValue = -$7FFFFFFF, + HB_PAINT_EXTEND_PAD = 0, + HB_PAINT_EXTEND_REPEAT = 1, + HB_PAINT_EXTEND_REFLECT = 2, + Thb_paint_extend_tMaxValue = $7FFFFFFF + ); + Thb_glyph_flags_t = ( + Thb_glyph_flags_tMinValue = -$7FFFFFFF, + HB_GLYPH_FLAG_UNSAFE_TO_BREAK = 1, + HB_GLYPH_FLAG_UNSAFE_TO_CONCAT = 2, + HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL = 4, + HB_GLYPH_FLAG_DEFINED = 7, + Thb_glyph_flags_tMaxValue = $7FFFFFFF + ); + Thb_ot_color_palette_flags_t = ( + Thb_ot_color_palette_flags_tMinValue = -$7FFFFFFF, + HB_OT_COLOR_PALETTE_FLAG_DEFAULT = 0, + HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND = 1, + HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND = 2, + Thb_ot_color_palette_flags_tMaxValue = $7FFFFFFF + ); + Thb_ot_layout_baseline_tag_t = ( + Thb_ot_layout_baseline_tag_tMinValue = -$7FFFFFFF, + HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL = 1231251043, + HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL = 1231315813, + HB_OT_LAYOUT_BASELINE_TAG_HANGING = 1751215719, + HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT = 1768121954, + HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT = 1768121972, + HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT = 1768187247, + HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT = 1768191088, + HB_OT_LAYOUT_BASELINE_TAG_MATH = 1835103336, + HB_OT_LAYOUT_BASELINE_TAG_ROMAN = 1919905134, + Thb_ot_layout_baseline_tag_tMaxValue = $7FFFFFFF + ); + Thb_ot_layout_glyph_class_t = ( + Thb_ot_layout_glyph_class_tMinValue = -$7FFFFFFF, + HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED = 0, + HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH = 1, + HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE = 2, + HB_OT_LAYOUT_GLYPH_CLASS_MARK = 3, + HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT = 4, + Thb_ot_layout_glyph_class_tMaxValue = $7FFFFFFF + ); + Thb_ot_math_constant_t = ( + Thb_ot_math_constant_tMinValue = -$7FFFFFFF, + HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN = 0, + HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN = 1, + HB_OT_MATH_CONSTANT_DELIMITED_SUB_FORMULA_MIN_HEIGHT = 2, + HB_OT_MATH_CONSTANT_DISPLAY_OPERATOR_MIN_HEIGHT = 3, + HB_OT_MATH_CONSTANT_MATH_LEADING = 4, + HB_OT_MATH_CONSTANT_AXIS_HEIGHT = 5, + HB_OT_MATH_CONSTANT_ACCENT_BASE_HEIGHT = 6, + HB_OT_MATH_CONSTANT_FLATTENED_ACCENT_BASE_HEIGHT = 7, + HB_OT_MATH_CONSTANT_SUBSCRIPT_SHIFT_DOWN = 8, + HB_OT_MATH_CONSTANT_SUBSCRIPT_TOP_MAX = 9, + HB_OT_MATH_CONSTANT_SUBSCRIPT_BASELINE_DROP_MIN = 10, + HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP = 11, + HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP_CRAMPED = 12, + HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MIN = 13, + HB_OT_MATH_CONSTANT_SUPERSCRIPT_BASELINE_DROP_MAX = 14, + HB_OT_MATH_CONSTANT_SUB_SUPERSCRIPT_GAP_MIN = 15, + HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT = 16, + HB_OT_MATH_CONSTANT_SPACE_AFTER_SCRIPT = 17, + HB_OT_MATH_CONSTANT_UPPER_LIMIT_GAP_MIN = 18, + HB_OT_MATH_CONSTANT_UPPER_LIMIT_BASELINE_RISE_MIN = 19, + HB_OT_MATH_CONSTANT_LOWER_LIMIT_GAP_MIN = 20, + HB_OT_MATH_CONSTANT_LOWER_LIMIT_BASELINE_DROP_MIN = 21, + HB_OT_MATH_CONSTANT_STACK_TOP_SHIFT_UP = 22, + HB_OT_MATH_CONSTANT_STACK_TOP_DISPLAY_STYLE_SHIFT_UP = 23, + HB_OT_MATH_CONSTANT_STACK_BOTTOM_SHIFT_DOWN = 24, + HB_OT_MATH_CONSTANT_STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN = 25, + HB_OT_MATH_CONSTANT_STACK_GAP_MIN = 26, + HB_OT_MATH_CONSTANT_STACK_DISPLAY_STYLE_GAP_MIN = 27, + HB_OT_MATH_CONSTANT_STRETCH_STACK_TOP_SHIFT_UP = 28, + HB_OT_MATH_CONSTANT_STRETCH_STACK_BOTTOM_SHIFT_DOWN = 29, + HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_ABOVE_MIN = 30, + HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_BELOW_MIN = 31, + HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_SHIFT_UP = 32, + HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP = 33, + HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_SHIFT_DOWN = 34, + HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN = 35, + HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_GAP_MIN = 36, + HB_OT_MATH_CONSTANT_FRACTION_NUM_DISPLAY_STYLE_GAP_MIN = 37, + HB_OT_MATH_CONSTANT_FRACTION_RULE_THICKNESS = 38, + HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_GAP_MIN = 39, + HB_OT_MATH_CONSTANT_FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN = 40, + HB_OT_MATH_CONSTANT_SKEWED_FRACTION_HORIZONTAL_GAP = 41, + HB_OT_MATH_CONSTANT_SKEWED_FRACTION_VERTICAL_GAP = 42, + HB_OT_MATH_CONSTANT_OVERBAR_VERTICAL_GAP = 43, + HB_OT_MATH_CONSTANT_OVERBAR_RULE_THICKNESS = 44, + HB_OT_MATH_CONSTANT_OVERBAR_EXTRA_ASCENDER = 45, + HB_OT_MATH_CONSTANT_UNDERBAR_VERTICAL_GAP = 46, + HB_OT_MATH_CONSTANT_UNDERBAR_RULE_THICKNESS = 47, + HB_OT_MATH_CONSTANT_UNDERBAR_EXTRA_DESCENDER = 48, + HB_OT_MATH_CONSTANT_RADICAL_VERTICAL_GAP = 49, + HB_OT_MATH_CONSTANT_RADICAL_DISPLAY_STYLE_VERTICAL_GAP = 50, + HB_OT_MATH_CONSTANT_RADICAL_RULE_THICKNESS = 51, + HB_OT_MATH_CONSTANT_RADICAL_EXTRA_ASCENDER = 52, + HB_OT_MATH_CONSTANT_RADICAL_KERN_BEFORE_DEGREE = 53, + HB_OT_MATH_CONSTANT_RADICAL_KERN_AFTER_DEGREE = 54, + HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT = 55, + Thb_ot_math_constant_tMaxValue = $7FFFFFFF + ); + Thb_ot_math_glyph_part_flags_t = ( + Thb_ot_math_glyph_part_flags_tMinValue = -$7FFFFFFF, + HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER = 1, + Thb_ot_math_glyph_part_flags_tMaxValue = $7FFFFFFF + ); + Thb_ot_math_kern_t = ( + Thb_ot_math_kern_tMinValue = -$7FFFFFFF, + HB_OT_MATH_KERN_TOP_RIGHT = 0, + HB_OT_MATH_KERN_TOP_LEFT = 1, + HB_OT_MATH_KERN_BOTTOM_RIGHT = 2, + HB_OT_MATH_KERN_BOTTOM_LEFT = 3, + Thb_ot_math_kern_tMaxValue = $7FFFFFFF + ); + Thb_ot_meta_tag_t = ( + Thb_ot_meta_tag_tMinValue = -$7FFFFFFF, + HB_OT_META_TAG_DESIGN_LANGUAGES = 1684827751, + HB_OT_META_TAG_SUPPORTED_LANGUAGES = 1936485991, + Thb_ot_meta_tag_tMaxValue = $7FFFFFFF + ); + Thb_ot_metrics_tag_t = ( + Thb_ot_metrics_tag_tMinValue = -$7FFFFFFF, + HB_OT_METRICS_TAG_CAP_HEIGHT = 1668311156, + HB_OT_METRICS_TAG_HORIZONTAL_ASCENDER = 1751216995, + HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_ASCENT = 1751346273, + HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_DESCENT = 1751346276, + HB_OT_METRICS_TAG_HORIZONTAL_CARET_OFFSET = 1751347046, + HB_OT_METRICS_TAG_HORIZONTAL_CARET_RUN = 1751347822, + HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE = 1751347827, + HB_OT_METRICS_TAG_HORIZONTAL_DESCENDER = 1751413603, + HB_OT_METRICS_TAG_HORIZONTAL_LINE_GAP = 1751934832, + HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_OFFSET = 1935833199, + HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_SIZE = 1935833203, + HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_OFFSET = 1935833455, + HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_SIZE = 1935833459, + HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_OFFSET = 1936750703, + HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_SIZE = 1936750707, + HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_OFFSET = 1936750959, + HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_SIZE = 1936750963, + HB_OT_METRICS_TAG_STRIKEOUT_OFFSET = 1937011311, + HB_OT_METRICS_TAG_STRIKEOUT_SIZE = 1937011315, + HB_OT_METRICS_TAG_UNDERLINE_OFFSET = 1970168943, + HB_OT_METRICS_TAG_UNDERLINE_SIZE = 1970168947, + HB_OT_METRICS_TAG_VERTICAL_ASCENDER = 1986098019, + HB_OT_METRICS_TAG_VERTICAL_CARET_OFFSET = 1986228070, + HB_OT_METRICS_TAG_VERTICAL_CARET_RUN = 1986228846, + HB_OT_METRICS_TAG_VERTICAL_CARET_RISE = 1986228851, + HB_OT_METRICS_TAG_VERTICAL_DESCENDER = 1986294627, + HB_OT_METRICS_TAG_VERTICAL_LINE_GAP = 1986815856, + HB_OT_METRICS_TAG_X_HEIGHT = 2020108148, + Thb_ot_metrics_tag_tMaxValue = $7FFFFFFF + ); + Thb_ot_name_id_predefined_t = ( + Thb_ot_name_id_predefined_tMinValue = -$7FFFFFFF, + HB_OT_NAME_ID_COPYRIGHT = 0, + HB_OT_NAME_ID_FONT_FAMILY = 1, + HB_OT_NAME_ID_FONT_SUBFAMILY = 2, + HB_OT_NAME_ID_UNIQUE_ID = 3, + HB_OT_NAME_ID_FULL_NAME = 4, + HB_OT_NAME_ID_VERSION_STRING = 5, + HB_OT_NAME_ID_POSTSCRIPT_NAME = 6, + HB_OT_NAME_ID_TRADEMARK = 7, + HB_OT_NAME_ID_MANUFACTURER = 8, + HB_OT_NAME_ID_DESIGNER = 9, + HB_OT_NAME_ID_DESCRIPTION = 10, + HB_OT_NAME_ID_VENDOR_URL = 11, + HB_OT_NAME_ID_DESIGNER_URL = 12, + HB_OT_NAME_ID_LICENSE = 13, + HB_OT_NAME_ID_LICENSE_URL = 14, + HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY = 16, + HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17, + HB_OT_NAME_ID_MAC_FULL_NAME = 18, + HB_OT_NAME_ID_SAMPLE_TEXT = 19, + HB_OT_NAME_ID_CID_FINDFONT_NAME = 20, + HB_OT_NAME_ID_WWS_FAMILY = 21, + HB_OT_NAME_ID_WWS_SUBFAMILY = 22, + HB_OT_NAME_ID_LIGHT_BACKGROUND = 23, + HB_OT_NAME_ID_DARK_BACKGROUND = 24, + HB_OT_NAME_ID_VARIATIONS_PS_PREFIX = 25, + HB_OT_NAME_ID_INVALID = 65535, + Thb_ot_name_id_predefined_tMaxValue = $7FFFFFFF + ); + Thb_ot_var_axis_flags_t = ( + Thb_ot_var_axis_flags_tMinValue = -$7FFFFFFF, + HB_OT_VAR_AXIS_FLAG_HIDDEN = 1, + Thb_ot_var_axis_flags_tMaxValue = $7FFFFFFF + ); + Thb_paint_composite_mode_t = ( + Thb_paint_composite_mode_tMinValue = -$7FFFFFFF, + HB_PAINT_COMPOSITE_MODE_CLEAR = 0, + HB_PAINT_COMPOSITE_MODE_SRC = 1, + HB_PAINT_COMPOSITE_MODE_DEST = 2, + HB_PAINT_COMPOSITE_MODE_SRC_OVER = 3, + HB_PAINT_COMPOSITE_MODE_DEST_OVER = 4, + HB_PAINT_COMPOSITE_MODE_SRC_IN = 5, + HB_PAINT_COMPOSITE_MODE_DEST_IN = 6, + HB_PAINT_COMPOSITE_MODE_SRC_OUT = 7, + HB_PAINT_COMPOSITE_MODE_DEST_OUT = 8, + HB_PAINT_COMPOSITE_MODE_SRC_ATOP = 9, + HB_PAINT_COMPOSITE_MODE_DEST_ATOP = 10, + HB_PAINT_COMPOSITE_MODE_XOR = 11, + HB_PAINT_COMPOSITE_MODE_PLUS = 12, + HB_PAINT_COMPOSITE_MODE_SCREEN = 13, + HB_PAINT_COMPOSITE_MODE_OVERLAY = 14, + HB_PAINT_COMPOSITE_MODE_DARKEN = 15, + HB_PAINT_COMPOSITE_MODE_LIGHTEN = 16, + HB_PAINT_COMPOSITE_MODE_COLOR_DODGE = 17, + HB_PAINT_COMPOSITE_MODE_COLOR_BURN = 18, + HB_PAINT_COMPOSITE_MODE_HARD_LIGHT = 19, + HB_PAINT_COMPOSITE_MODE_SOFT_LIGHT = 20, + HB_PAINT_COMPOSITE_MODE_DIFFERENCE = 21, + HB_PAINT_COMPOSITE_MODE_EXCLUSION = 22, + HB_PAINT_COMPOSITE_MODE_MULTIPLY = 23, + HB_PAINT_COMPOSITE_MODE_HSL_HUE = 24, + HB_PAINT_COMPOSITE_MODE_HSL_SATURATION = 25, + HB_PAINT_COMPOSITE_MODE_HSL_COLOR = 26, + HB_PAINT_COMPOSITE_MODE_HSL_LUMINOSITY = 27, + Thb_paint_composite_mode_tMaxValue = $7FFFFFFF + ); + Thb_style_tag_t = ( + Thb_style_tag_tMinValue = -$7FFFFFFF, + HB_STYLE_TAG_SLANT_RATIO = 1399615092, + HB_STYLE_TAG_ITALIC = 1769234796, + HB_STYLE_TAG_OPTICAL_SIZE = 1869640570, + HB_STYLE_TAG_SLANT_ANGLE = 1936486004, + HB_STYLE_TAG_WIDTH = 2003072104, + HB_STYLE_TAG_WEIGHT = 2003265652, + Thb_style_tag_tMaxValue = $7FFFFFFF + ); + Thb_unicode_combining_class_t = ( + Thb_unicode_combining_class_tMinValue = -$7FFFFFFF, + HB_UNICODE_COMBINING_CLASS_NOT_REORDERED = 0, + HB_UNICODE_COMBINING_CLASS_OVERLAY = 1, + HB_UNICODE_COMBINING_CLASS_NUKTA = 7, + HB_UNICODE_COMBINING_CLASS_KANA_VOICING = 8, + HB_UNICODE_COMBINING_CLASS_VIRAMA = 9, + HB_UNICODE_COMBINING_CLASS_CCC10 = 10, + HB_UNICODE_COMBINING_CLASS_CCC11 = 11, + HB_UNICODE_COMBINING_CLASS_CCC12 = 12, + HB_UNICODE_COMBINING_CLASS_CCC13 = 13, + HB_UNICODE_COMBINING_CLASS_CCC14 = 14, + HB_UNICODE_COMBINING_CLASS_CCC15 = 15, + HB_UNICODE_COMBINING_CLASS_CCC16 = 16, + HB_UNICODE_COMBINING_CLASS_CCC17 = 17, + HB_UNICODE_COMBINING_CLASS_CCC18 = 18, + HB_UNICODE_COMBINING_CLASS_CCC19 = 19, + HB_UNICODE_COMBINING_CLASS_CCC20 = 20, + HB_UNICODE_COMBINING_CLASS_CCC21 = 21, + HB_UNICODE_COMBINING_CLASS_CCC22 = 22, + HB_UNICODE_COMBINING_CLASS_CCC23 = 23, + HB_UNICODE_COMBINING_CLASS_CCC24 = 24, + HB_UNICODE_COMBINING_CLASS_CCC25 = 25, + HB_UNICODE_COMBINING_CLASS_CCC26 = 26, + HB_UNICODE_COMBINING_CLASS_CCC27 = 27, + HB_UNICODE_COMBINING_CLASS_CCC28 = 28, + HB_UNICODE_COMBINING_CLASS_CCC29 = 29, + HB_UNICODE_COMBINING_CLASS_CCC30 = 30, + HB_UNICODE_COMBINING_CLASS_CCC31 = 31, + HB_UNICODE_COMBINING_CLASS_CCC32 = 32, + HB_UNICODE_COMBINING_CLASS_CCC33 = 33, + HB_UNICODE_COMBINING_CLASS_CCC34 = 34, + HB_UNICODE_COMBINING_CLASS_CCC35 = 35, + HB_UNICODE_COMBINING_CLASS_CCC36 = 36, + HB_UNICODE_COMBINING_CLASS_CCC84 = 84, + HB_UNICODE_COMBINING_CLASS_CCC91 = 91, + HB_UNICODE_COMBINING_CLASS_CCC103 = 103, + HB_UNICODE_COMBINING_CLASS_CCC107 = 107, + HB_UNICODE_COMBINING_CLASS_CCC118 = 118, + HB_UNICODE_COMBINING_CLASS_CCC122 = 122, + HB_UNICODE_COMBINING_CLASS_CCC129 = 129, + HB_UNICODE_COMBINING_CLASS_CCC130 = 130, + HB_UNICODE_COMBINING_CLASS_CCC133 = 132, + HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT = 200, + HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW = 202, + HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE = 214, + HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT = 216, + HB_UNICODE_COMBINING_CLASS_BELOW_LEFT = 218, + HB_UNICODE_COMBINING_CLASS_BELOW = 220, + HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT = 222, + HB_UNICODE_COMBINING_CLASS_LEFT = 224, + HB_UNICODE_COMBINING_CLASS_RIGHT = 226, + HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT = 228, + HB_UNICODE_COMBINING_CLASS_ABOVE = 230, + HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT = 232, + HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW = 233, + HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE = 234, + HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT = 240, + HB_UNICODE_COMBINING_CLASS_INVALID = 255, + Thb_unicode_combining_class_tMaxValue = $7FFFFFFF + ); + Thb_unicode_general_category_t = ( + Thb_unicode_general_category_tMinValue = -$7FFFFFFF, + HB_UNICODE_GENERAL_CATEGORY_CONTROL = 0, + HB_UNICODE_GENERAL_CATEGORY_FORMAT = 1, + HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED = 2, + HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE = 3, + HB_UNICODE_GENERAL_CATEGORY_SURROGATE = 4, + HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER = 5, + HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER = 6, + HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER = 7, + HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER = 8, + HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER = 9, + HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK = 10, + HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK = 11, + HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK = 12, + HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER = 13, + HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER = 14, + HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER = 15, + HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION = 16, + HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION = 17, + HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION = 18, + HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION = 19, + HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION = 20, + HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION = 21, + HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION = 22, + HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL = 23, + HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL = 24, + HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL = 25, + HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL = 26, + HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR = 27, + HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR = 28, + HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR = 29, + Thb_unicode_general_category_tMaxValue = $7FFFFFFF + ); +type + + + { Thb_bool_t } + PPhb_bool_t = ^Phb_bool_t; + Phb_bool_t = ^Thb_bool_t; + Thb_bool_t = gint; + + + { Thb_codepoint_t } + PPPhb_codepoint_t = ^PPhb_codepoint_t; + PPhb_codepoint_t = ^Phb_codepoint_t; + Phb_codepoint_t = ^Thb_codepoint_t; + Thb_codepoint_t = guint32; + + + { Thb_color_t } + PPPhb_color_t = ^PPhb_color_t; + PPhb_color_t = ^Phb_color_t; + Phb_color_t = ^Thb_color_t; + Thb_color_t = guint32; + + + { Thb_font_t } + PPhb_font_t = ^Phb_font_t; + Phb_font_t = ^Thb_font_t; + + + { Thb_font_extents_t } + PPhb_font_extents_t = ^Phb_font_extents_t; + Phb_font_extents_t = ^Thb_font_extents_t; + Thb_font_get_font_extents_func_t = function(font: Phb_font_t; font_data: Pgpointer; extents: Phb_font_extents_t; user_data: Pgpointer): Thb_bool_t; cdecl; + + + { Thb_font_get_font_h_extents_func_t } + PPhb_font_get_font_h_extents_func_t = ^Phb_font_get_font_h_extents_func_t; + Phb_font_get_font_h_extents_func_t = ^Thb_font_get_font_h_extents_func_t; + Thb_font_get_font_h_extents_func_t = Thb_font_get_font_extents_func_t; + + + { Thb_font_get_font_v_extents_func_t } + PPhb_font_get_font_v_extents_func_t = ^Phb_font_get_font_v_extents_func_t; + Phb_font_get_font_v_extents_func_t = ^Thb_font_get_font_v_extents_func_t; + Thb_font_get_font_v_extents_func_t = Thb_font_get_font_extents_func_t; + + + { Thb_position_t } + PPPhb_position_t = ^PPhb_position_t; + PPhb_position_t = ^Phb_position_t; + Phb_position_t = ^Thb_position_t; + Thb_position_t = gint32; + Thb_font_get_glyph_advance_func_t = function(font: Phb_font_t; font_data: Pgpointer; glyph: Thb_codepoint_t; user_data: Pgpointer): Thb_position_t; cdecl; + + + { Thb_font_get_glyph_h_advance_func_t } + PPhb_font_get_glyph_h_advance_func_t = ^Phb_font_get_glyph_h_advance_func_t; + Phb_font_get_glyph_h_advance_func_t = ^Thb_font_get_glyph_h_advance_func_t; + Thb_font_get_glyph_h_advance_func_t = Thb_font_get_glyph_advance_func_t; + Thb_font_get_glyph_advances_func_t = procedure(font: Phb_font_t; font_data: Pgpointer; count: guint; first_glyph: Phb_codepoint_t; glyph_stride: guint; first_advance: Phb_position_t; advance_stride: guint; user_data: Pgpointer); cdecl; + + + { Thb_font_get_glyph_h_advances_func_t } + PPhb_font_get_glyph_h_advances_func_t = ^Phb_font_get_glyph_h_advances_func_t; + Phb_font_get_glyph_h_advances_func_t = ^Thb_font_get_glyph_h_advances_func_t; + Thb_font_get_glyph_h_advances_func_t = Thb_font_get_glyph_advances_func_t; + Thb_font_get_glyph_kerning_func_t = function(font: Phb_font_t; font_data: Pgpointer; first_glyph: Thb_codepoint_t; second_glyph: Thb_codepoint_t; user_data: Pgpointer): Thb_position_t; cdecl; + + + { Thb_font_get_glyph_h_kerning_func_t } + PPhb_font_get_glyph_h_kerning_func_t = ^Phb_font_get_glyph_h_kerning_func_t; + Phb_font_get_glyph_h_kerning_func_t = ^Thb_font_get_glyph_h_kerning_func_t; + Thb_font_get_glyph_h_kerning_func_t = Thb_font_get_glyph_kerning_func_t; + Thb_font_get_glyph_origin_func_t = function(font: Phb_font_t; font_data: Pgpointer; glyph: Thb_codepoint_t; x: Phb_position_t; y: Phb_position_t; user_data: Pgpointer): Thb_bool_t; cdecl; + + + { Thb_font_get_glyph_h_origin_func_t } + PPhb_font_get_glyph_h_origin_func_t = ^Phb_font_get_glyph_h_origin_func_t; + Phb_font_get_glyph_h_origin_func_t = ^Thb_font_get_glyph_h_origin_func_t; + Thb_font_get_glyph_h_origin_func_t = Thb_font_get_glyph_origin_func_t; + + + { Thb_font_get_glyph_v_advance_func_t } + PPhb_font_get_glyph_v_advance_func_t = ^Phb_font_get_glyph_v_advance_func_t; + Phb_font_get_glyph_v_advance_func_t = ^Thb_font_get_glyph_v_advance_func_t; + Thb_font_get_glyph_v_advance_func_t = Thb_font_get_glyph_advance_func_t; + + + { Thb_font_get_glyph_v_advances_func_t } + PPhb_font_get_glyph_v_advances_func_t = ^Phb_font_get_glyph_v_advances_func_t; + Phb_font_get_glyph_v_advances_func_t = ^Thb_font_get_glyph_v_advances_func_t; + Thb_font_get_glyph_v_advances_func_t = Thb_font_get_glyph_advances_func_t; + + + { Thb_font_get_glyph_v_kerning_func_t } + PPhb_font_get_glyph_v_kerning_func_t = ^Phb_font_get_glyph_v_kerning_func_t; + Phb_font_get_glyph_v_kerning_func_t = ^Thb_font_get_glyph_v_kerning_func_t; + Thb_font_get_glyph_v_kerning_func_t = Thb_font_get_glyph_kerning_func_t; + + + { Thb_font_get_glyph_v_origin_func_t } + PPhb_font_get_glyph_v_origin_func_t = ^Phb_font_get_glyph_v_origin_func_t; + Phb_font_get_glyph_v_origin_func_t = ^Thb_font_get_glyph_v_origin_func_t; + Thb_font_get_glyph_v_origin_func_t = Thb_font_get_glyph_origin_func_t; + + + { Thb_mask_t } + PPhb_mask_t = ^Phb_mask_t; + Phb_mask_t = ^Thb_mask_t; + Thb_mask_t = guint32; + + + { Thb_ot_name_id_t } + PPhb_ot_name_id_t = ^Phb_ot_name_id_t; + Phb_ot_name_id_t = ^Thb_ot_name_id_t; + Thb_ot_name_id_t = guint; + + + { Thb_tag_t } + PPPhb_tag_t = ^PPhb_tag_t; + PPhb_tag_t = ^Phb_tag_t; + Phb_tag_t = ^Thb_tag_t; + Thb_tag_t = guint32; + + + { Thb_language_t } + PPhb_language_t = ^Phb_language_t; + Phb_language_t = ^Thb_language_t; + Thb_language_t = object + function _string: Pgchar; cdecl; inline; + end; + + + { Thb_aat_layout_feature_selector_t } + PPhb_aat_layout_feature_selector_t = ^Phb_aat_layout_feature_selector_t; + Phb_aat_layout_feature_selector_t = ^Thb_aat_layout_feature_selector_t; + + + { Thb_aat_layout_feature_selector_info_t } + PPPhb_aat_layout_feature_selector_info_t = ^PPhb_aat_layout_feature_selector_info_t; + PPhb_aat_layout_feature_selector_info_t = ^Phb_aat_layout_feature_selector_info_t; + Phb_aat_layout_feature_selector_info_t = ^Thb_aat_layout_feature_selector_info_t; + + Thb_aat_layout_feature_selector_info_t = record + name_id: Thb_ot_name_id_t; + enable: Thb_aat_layout_feature_selector_t; + disable: Thb_aat_layout_feature_selector_t; + reserved: guint; + end; + + + + + { Thb_face_t } + PPhb_face_t = ^Phb_face_t; + Phb_face_t = ^Thb_face_t; + Thb_face_t = object + end; + + + { Thb_aat_layout_feature_type_t } + PPhb_aat_layout_feature_type_t = ^Phb_aat_layout_feature_type_t; + Phb_aat_layout_feature_type_t = ^Thb_aat_layout_feature_type_t; + + + { Thb_blob_t } + PPhb_blob_t = ^Phb_blob_t; + Phb_blob_t = ^Thb_blob_t; + Thb_blob_t = object + end; + + + { Thb_memory_mode_t } + PPhb_memory_mode_t = ^Phb_memory_mode_t; + Phb_memory_mode_t = ^Thb_memory_mode_t; + Thb_destroy_func_t = procedure(user_data: Pgpointer); cdecl; + + + { Thb_user_data_key_t } + PPhb_user_data_key_t = ^Phb_user_data_key_t; + Phb_user_data_key_t = ^Thb_user_data_key_t; + Thb_user_data_key_t = object + unused: gchar; + end; + + + { Thb_buffer_t } + PPhb_buffer_t = ^Phb_buffer_t; + Phb_buffer_t = ^Thb_buffer_t; + Thb_buffer_t = object + end; + + + { Thb_buffer_cluster_level_t } + PPhb_buffer_cluster_level_t = ^Phb_buffer_cluster_level_t; + Phb_buffer_cluster_level_t = ^Thb_buffer_cluster_level_t; + + + { Thb_buffer_content_type_t } + PPhb_buffer_content_type_t = ^Phb_buffer_content_type_t; + Phb_buffer_content_type_t = ^Thb_buffer_content_type_t; + Thb_font_t = object + end; + + + { Thb_buffer_serialize_format_t } + PPhb_buffer_serialize_format_t = ^Phb_buffer_serialize_format_t; + Phb_buffer_serialize_format_t = ^Thb_buffer_serialize_format_t; + + + { Thb_buffer_diff_flags_t } + PPhb_buffer_diff_flags_t = ^Phb_buffer_diff_flags_t; + Phb_buffer_diff_flags_t = ^Thb_buffer_diff_flags_t; + + + { Thb_buffer_flags_t } + PPhb_buffer_flags_t = ^Phb_buffer_flags_t; + Phb_buffer_flags_t = ^Thb_buffer_flags_t; + + + { Thb_direction_t } + PPhb_direction_t = ^Phb_direction_t; + Phb_direction_t = ^Thb_direction_t; + + + { Thb_glyph_info_t } + PPhb_glyph_info_t = ^Phb_glyph_info_t; + Phb_glyph_info_t = ^Thb_glyph_info_t; + + + { Thb_var_int_t } + PPhb_var_int_t = ^Phb_var_int_t; + Phb_var_int_t = ^Thb_var_int_t; + Thb_var_int_t = record + case longint of + 0 : (u32: guint32); + 1 : (i32: gint32); + 2 : (u16: array [0..1] of guint16); + 3 : (i16: array [0..1] of gint16); + 4 : (u8: array [0..3] of guint8); + 5 : (i8: array [0..3] of gint8); + end; + + + Thb_glyph_info_t = object + codepoint: Thb_codepoint_t; + mask: Thb_mask_t; + cluster: guint32; + var1: Thb_var_int_t; + var2: Thb_var_int_t; + end; + + + { Thb_glyph_position_t } + PPhb_glyph_position_t = ^Phb_glyph_position_t; + Phb_glyph_position_t = ^Thb_glyph_position_t; + Thb_glyph_position_t = object + x_advance: Thb_position_t; + y_advance: Thb_position_t; + x_offset: Thb_position_t; + y_offset: Thb_position_t; + var_: Thb_var_int_t; + end; + + + { Thb_script_t } + PPhb_script_t = ^Phb_script_t; + Phb_script_t = ^Thb_script_t; + + + { Thb_segment_properties_t } + PPhb_segment_properties_t = ^Phb_segment_properties_t; + Phb_segment_properties_t = ^Thb_segment_properties_t; + Thb_segment_properties_t = object + direction: Thb_direction_t; + script: Thb_script_t; + language: Thb_language_t; + reserved1: Pgpointer; + reserved2: Pgpointer; + end; + + + { Thb_unicode_funcs_t } + PPhb_unicode_funcs_t = ^Phb_unicode_funcs_t; + Phb_unicode_funcs_t = ^Thb_unicode_funcs_t; + Thb_unicode_funcs_t = object + end; + Thb_buffer_message_func_t = function(buffer: Phb_buffer_t; font: Phb_font_t; message: Pgchar; user_data: Pgpointer): Thb_bool_t; cdecl; + + + { Thb_buffer_serialize_flags_t } + PPhb_buffer_serialize_flags_t = ^Phb_buffer_serialize_flags_t; + Phb_buffer_serialize_flags_t = ^Thb_buffer_serialize_flags_t; + + + { Thb_color_line_t } + PPhb_color_line_t = ^Phb_color_line_t; + Phb_color_line_t = ^Thb_color_line_t; + + + { Thb_color_line_get_color_stops_func_t } + PPhb_color_line_get_color_stops_func_t = ^Phb_color_line_get_color_stops_func_t; + Phb_color_line_get_color_stops_func_t = ^Thb_color_line_get_color_stops_func_t; + + + { Thb_color_stop_t } + PPPhb_color_stop_t = ^PPhb_color_stop_t; + PPhb_color_stop_t = ^Phb_color_stop_t; + Phb_color_stop_t = ^Thb_color_stop_t; + Thb_color_line_get_color_stops_func_t = function(color_line: Phb_color_line_t; color_line_data: Pgpointer; start: guint; count: Pguint; color_stops: Phb_color_stop_t; user_data: Pgpointer): guint; cdecl; + + + { Thb_color_line_get_extend_func_t } + PPhb_color_line_get_extend_func_t = ^Phb_color_line_get_extend_func_t; + Phb_color_line_get_extend_func_t = ^Thb_color_line_get_extend_func_t; + + + { Thb_paint_extend_t } + PPhb_paint_extend_t = ^Phb_paint_extend_t; + Phb_paint_extend_t = ^Thb_paint_extend_t; + Thb_color_line_get_extend_func_t = function(color_line: Phb_color_line_t; color_line_data: Pgpointer; user_data: Pgpointer): Thb_paint_extend_t; cdecl; + Thb_color_line_t = object + data: Pgpointer; + get_color_stops: Thb_color_line_get_color_stops_func_t; + get_color_stops_user_data: Pgpointer; + get_extend: Thb_color_line_get_extend_func_t; + get_extend_user_data: Pgpointer; + reserved0: Pgpointer; + reserved1: Pgpointer; + reserved2: Pgpointer; + reserved3: Pgpointer; + reserved5: Pgpointer; + reserved6: Pgpointer; + reserved7: Pgpointer; + reserved8: Pgpointer; + end; + Thb_color_stop_t = object + offset: gfloat; + is_foreground: Thb_bool_t; + color: Thb_color_t; + end; + + + { Thb_draw_funcs_t } + PPhb_draw_funcs_t = ^Phb_draw_funcs_t; + Phb_draw_funcs_t = ^Thb_draw_funcs_t; + Thb_draw_funcs_t = object + end; + + + { Thb_draw_state_t } + PPhb_draw_state_t = ^Phb_draw_state_t; + Phb_draw_state_t = ^Thb_draw_state_t; + + + { Thb_var_num_t } + PPhb_var_num_t = ^Phb_var_num_t; + Phb_var_num_t = ^Thb_var_num_t; + Thb_var_num_t = record + case longint of + 0 : (f: gfloat); + 1 : (u32: guint32); + 2 : (i32: gint32); + 3 : (u16: array [0..1] of guint16); + 4 : (i16: array [0..1] of gint16); + 5 : (u8: array [0..3] of guint8); + 6 : (i8: array [0..3] of gint8); + end; + + + Thb_draw_state_t = object + path_open: Thb_bool_t; + path_start_x: gfloat; + path_start_y: gfloat; + current_x: gfloat; + current_y: gfloat; + reserved1: Thb_var_num_t; + reserved2: Thb_var_num_t; + reserved3: Thb_var_num_t; + reserved4: Thb_var_num_t; + reserved5: Thb_var_num_t; + reserved6: Thb_var_num_t; + reserved7: Thb_var_num_t; + end; + Thb_draw_close_path_func_t = procedure(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; user_data: Pgpointer); cdecl; + Thb_draw_cubic_to_func_t = procedure(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; control1_x: gfloat; control1_y: gfloat; control2_x: gfloat; control2_y: gfloat; to_x: gfloat; to_y: gfloat; user_data: Pgpointer); cdecl; + Thb_draw_line_to_func_t = procedure(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; to_x: gfloat; to_y: gfloat; user_data: Pgpointer); cdecl; + Thb_draw_move_to_func_t = procedure(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; to_x: gfloat; to_y: gfloat; user_data: Pgpointer); cdecl; + Thb_draw_quadratic_to_func_t = procedure(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; control_x: gfloat; control_y: gfloat; to_x: gfloat; to_y: gfloat; user_data: Pgpointer); cdecl; + + + { Thb_map_t } + PPhb_map_t = ^Phb_map_t; + Phb_map_t = ^Thb_map_t; + Thb_map_t = object + end; + + + { Thb_set_t } + PPhb_set_t = ^Phb_set_t; + Phb_set_t = ^Thb_set_t; + Thb_set_t = object + end; + Thb_reference_table_func_t = function(face: Phb_face_t; tag: Thb_tag_t; user_data: Pgpointer): Phb_blob_t; cdecl; + + + { Thb_feature_t } + PPPhb_feature_t = ^PPhb_feature_t; + PPhb_feature_t = ^Phb_feature_t; + Phb_feature_t = ^Thb_feature_t; + Thb_feature_t = object + tag: Thb_tag_t; + value: guint32; + start: guint; + end_: guint; + procedure _string(buf: Pgchar; size: Pguint); cdecl; inline; + end; + Thb_font_draw_glyph_func_t = procedure(font: Phb_font_t; font_data: Pgpointer; glyph: Thb_codepoint_t; draw_funcs: Phb_draw_funcs_t; draw_data: Pgpointer; user_data: Pgpointer); cdecl; + + Thb_font_extents_t = record + ascender: Thb_position_t; + descender: Thb_position_t; + line_gap: Thb_position_t; + reserved9: Thb_position_t; + reserved8: Thb_position_t; + reserved7: Thb_position_t; + reserved6: Thb_position_t; + reserved5: Thb_position_t; + reserved4: Thb_position_t; + reserved3: Thb_position_t; + reserved2: Thb_position_t; + reserved1: Thb_position_t; + end; + + + + + { Thb_font_funcs_t } + PPhb_font_funcs_t = ^Phb_font_funcs_t; + Phb_font_funcs_t = ^Thb_font_funcs_t; + Thb_font_funcs_t = object + end; + Thb_font_get_glyph_contour_point_func_t = function(font: Phb_font_t; font_data: Pgpointer; glyph: Thb_codepoint_t; point_index: guint; x: Phb_position_t; y: Phb_position_t; user_data: Pgpointer): Thb_bool_t; cdecl; + + + { Thb_glyph_extents_t } + PPhb_glyph_extents_t = ^Phb_glyph_extents_t; + Phb_glyph_extents_t = ^Thb_glyph_extents_t; + Thb_font_get_glyph_extents_func_t = function(font: Phb_font_t; font_data: Pgpointer; glyph: Thb_codepoint_t; extents: Phb_glyph_extents_t; user_data: Pgpointer): Thb_bool_t; cdecl; + Thb_font_get_glyph_from_name_func_t = function(font: Phb_font_t; font_data: Pgpointer; name: Pgchar; len: gint; glyph: Phb_codepoint_t; user_data: Pgpointer): Thb_bool_t; cdecl; + Thb_font_get_glyph_name_func_t = function(font: Phb_font_t; font_data: Pgpointer; glyph: Thb_codepoint_t; name: Pgchar; size: Pguint; user_data: Pgpointer): Thb_bool_t; cdecl; + Thb_font_get_nominal_glyph_func_t = function(font: Phb_font_t; font_data: Pgpointer; unicode: Thb_codepoint_t; glyph: Phb_codepoint_t; user_data: Pgpointer): Thb_bool_t; cdecl; + Thb_font_get_nominal_glyphs_func_t = function(font: Phb_font_t; font_data: Pgpointer; count: guint; first_unicode: Phb_codepoint_t; unicode_stride: guint; first_glyph: Phb_codepoint_t; glyph_stride: guint; user_data: Pgpointer): guint; cdecl; + + + { Thb_paint_funcs_t } + PPhb_paint_funcs_t = ^Phb_paint_funcs_t; + Phb_paint_funcs_t = ^Thb_paint_funcs_t; + Thb_font_paint_glyph_func_t = procedure(font: Phb_font_t; font_data: Pgpointer; glyph: Thb_codepoint_t; paint_funcs: Phb_paint_funcs_t; paint_data: Pgpointer; palette_index: guint; foreground: Thb_color_t; user_data: Pgpointer); cdecl; + Thb_font_get_variation_glyph_func_t = function(font: Phb_font_t; font_data: Pgpointer; unicode: Thb_codepoint_t; variation_selector: Thb_codepoint_t; glyph: Phb_codepoint_t; user_data: Pgpointer): Thb_bool_t; cdecl; + + Thb_glyph_extents_t = record + x_bearing: Thb_position_t; + y_bearing: Thb_position_t; + width: Thb_position_t; + height: Thb_position_t; + end; + + + Thb_paint_funcs_t = object + end; + + + { Thb_variation_t } + PPhb_variation_t = ^Phb_variation_t; + Phb_variation_t = ^Thb_variation_t; + Thb_variation_t = object + tag: Thb_tag_t; + value: gfloat; + procedure _string(buf: Pgchar; size: Pguint); cdecl; inline; + end; + + + { Thb_glyph_flags_t } + PPhb_glyph_flags_t = ^Phb_glyph_flags_t; + Phb_glyph_flags_t = ^Thb_glyph_flags_t; + + + { Thb_ot_color_layer_t } + PPPhb_ot_color_layer_t = ^PPhb_ot_color_layer_t; + PPhb_ot_color_layer_t = ^Phb_ot_color_layer_t; + Phb_ot_color_layer_t = ^Thb_ot_color_layer_t; + + Thb_ot_color_layer_t = record + glyph: Thb_codepoint_t; + color_index: guint; + end; + + + + + { Thb_ot_color_palette_flags_t } + PPhb_ot_color_palette_flags_t = ^Phb_ot_color_palette_flags_t; + Phb_ot_color_palette_flags_t = ^Thb_ot_color_palette_flags_t; + + + { Thb_ot_layout_baseline_tag_t } + PPhb_ot_layout_baseline_tag_t = ^Phb_ot_layout_baseline_tag_t; + Phb_ot_layout_baseline_tag_t = ^Thb_ot_layout_baseline_tag_t; + + + { Thb_ot_layout_glyph_class_t } + PPhb_ot_layout_glyph_class_t = ^Phb_ot_layout_glyph_class_t; + Phb_ot_layout_glyph_class_t = ^Thb_ot_layout_glyph_class_t; + + + { Thb_ot_math_constant_t } + PPhb_ot_math_constant_t = ^Phb_ot_math_constant_t; + Phb_ot_math_constant_t = ^Thb_ot_math_constant_t; + + + { Thb_ot_math_glyph_part_t } + PPPhb_ot_math_glyph_part_t = ^PPhb_ot_math_glyph_part_t; + PPhb_ot_math_glyph_part_t = ^Phb_ot_math_glyph_part_t; + Phb_ot_math_glyph_part_t = ^Thb_ot_math_glyph_part_t; + + + { Thb_ot_math_glyph_part_flags_t } + PPhb_ot_math_glyph_part_flags_t = ^Phb_ot_math_glyph_part_flags_t; + Phb_ot_math_glyph_part_flags_t = ^Thb_ot_math_glyph_part_flags_t; + Thb_ot_math_glyph_part_t = object + glyph: Thb_codepoint_t; + start_connector_length: Thb_position_t; + end_connector_length: Thb_position_t; + full_advance: Thb_position_t; + flags: Thb_ot_math_glyph_part_flags_t; + end; + + + { Thb_ot_math_kern_t } + PPhb_ot_math_kern_t = ^Phb_ot_math_kern_t; + Phb_ot_math_kern_t = ^Thb_ot_math_kern_t; + + + { Thb_ot_math_kern_entry_t } + PPPhb_ot_math_kern_entry_t = ^PPhb_ot_math_kern_entry_t; + PPhb_ot_math_kern_entry_t = ^Phb_ot_math_kern_entry_t; + Phb_ot_math_kern_entry_t = ^Thb_ot_math_kern_entry_t; + + Thb_ot_math_kern_entry_t = record + max_correction_height: Thb_position_t; + kern_value: Thb_position_t; + end; + + + + + { Thb_ot_math_glyph_variant_t } + PPPhb_ot_math_glyph_variant_t = ^PPhb_ot_math_glyph_variant_t; + PPhb_ot_math_glyph_variant_t = ^Phb_ot_math_glyph_variant_t; + Phb_ot_math_glyph_variant_t = ^Thb_ot_math_glyph_variant_t; + Thb_ot_math_glyph_variant_t = object + glyph: Thb_codepoint_t; + advance: Thb_position_t; + end; + + + { Thb_ot_meta_tag_t } + PPhb_ot_meta_tag_t = ^Phb_ot_meta_tag_t; + Phb_ot_meta_tag_t = ^Thb_ot_meta_tag_t; + + + { Thb_ot_metrics_tag_t } + PPhb_ot_metrics_tag_t = ^Phb_ot_metrics_tag_t; + Phb_ot_metrics_tag_t = ^Thb_ot_metrics_tag_t; + + + { Thb_ot_name_entry_t } + PPhb_ot_name_entry_t = ^Phb_ot_name_entry_t; + Phb_ot_name_entry_t = ^Thb_ot_name_entry_t; + + Thb_ot_name_entry_t = record + name_id: Thb_ot_name_id_t; + var_: Thb_var_int_t; + language: Thb_language_t; + end; + + + + + { Thb_ot_name_id_predefined_t } + PPhb_ot_name_id_predefined_t = ^Phb_ot_name_id_predefined_t; + Phb_ot_name_id_predefined_t = ^Thb_ot_name_id_predefined_t; + + + { Thb_shape_plan_t } + PPhb_shape_plan_t = ^Phb_shape_plan_t; + Phb_shape_plan_t = ^Thb_shape_plan_t; + Thb_shape_plan_t = object + end; + + + { Thb_ot_var_axis_flags_t } + PPhb_ot_var_axis_flags_t = ^Phb_ot_var_axis_flags_t; + Phb_ot_var_axis_flags_t = ^Thb_ot_var_axis_flags_t; + + + { Thb_ot_var_axis_info_t } + PPhb_ot_var_axis_info_t = ^Phb_ot_var_axis_info_t; + Phb_ot_var_axis_info_t = ^Thb_ot_var_axis_info_t; + Thb_ot_var_axis_info_t = object + axis_index: guint; + tag: Thb_tag_t; + name_id: Thb_ot_name_id_t; + flags: Thb_ot_var_axis_flags_t; + min_value: gfloat; + default_value: gfloat; + max_value: gfloat; + reserved: guint; + end; + + + { Thb_ot_var_axis_t } + PPhb_ot_var_axis_t = ^Phb_ot_var_axis_t; + Phb_ot_var_axis_t = ^Thb_ot_var_axis_t; + + Thb_ot_var_axis_t = record + tag: Thb_tag_t; + name_id: Thb_ot_name_id_t; + min_value: gfloat; + default_value: gfloat; + max_value: gfloat; + end; + + + Thb_paint_color_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; is_foreground: Thb_bool_t; color: Thb_color_t; user_data: Pgpointer); cdecl; + + + { Thb_paint_composite_mode_t } + PPhb_paint_composite_mode_t = ^Phb_paint_composite_mode_t; + Phb_paint_composite_mode_t = ^Thb_paint_composite_mode_t; + Thb_paint_custom_palette_color_func_t = function(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; color_index: guint; color: Phb_color_t; user_data: Pgpointer): Thb_bool_t; cdecl; + Thb_paint_image_func_t = function(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; image: Phb_blob_t; width: guint; height: guint; format: Thb_tag_t; slant: gfloat; extents: Phb_glyph_extents_t; user_data: Pgpointer): Thb_bool_t; cdecl; + Thb_paint_linear_gradient_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; color_line: Phb_color_line_t; x0: gfloat; y0: gfloat; x1: gfloat; y1: gfloat; x2: gfloat; y2: gfloat; user_data: Pgpointer); cdecl; + Thb_paint_pop_clip_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; user_data: Pgpointer); cdecl; + Thb_paint_pop_group_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; mode: Thb_paint_composite_mode_t; user_data: Pgpointer); cdecl; + Thb_paint_pop_transform_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; user_data: Pgpointer); cdecl; + Thb_paint_push_clip_glyph_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; glyph: Thb_codepoint_t; font: Phb_font_t; user_data: Pgpointer); cdecl; + Thb_paint_push_clip_rectangle_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; xmin: gfloat; ymin: gfloat; xmax: gfloat; ymax: gfloat; user_data: Pgpointer); cdecl; + Thb_paint_push_group_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; user_data: Pgpointer); cdecl; + Thb_paint_push_transform_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; xx: gfloat; yx: gfloat; xy: gfloat; yy: gfloat; dx: gfloat; dy: gfloat; user_data: Pgpointer); cdecl; + Thb_paint_radial_gradient_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; color_line: Phb_color_line_t; x0: gfloat; y0: gfloat; r0: gfloat; x1: gfloat; y1: gfloat; r1: gfloat; user_data: Pgpointer); cdecl; + Thb_paint_sweep_gradient_func_t = procedure(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; color_line: Phb_color_line_t; x0: gfloat; y0: gfloat; start_angle: gfloat; end_angle: gfloat; user_data: Pgpointer); cdecl; + + + { Thb_style_tag_t } + PPhb_style_tag_t = ^Phb_style_tag_t; + Phb_style_tag_t = ^Thb_style_tag_t; + + + { Thb_unicode_combining_class_t } + PPhb_unicode_combining_class_t = ^Phb_unicode_combining_class_t; + Phb_unicode_combining_class_t = ^Thb_unicode_combining_class_t; + Thb_unicode_combining_class_func_t = function(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t; user_data: Pgpointer): Thb_unicode_combining_class_t; cdecl; + Thb_unicode_compose_func_t = function(ufuncs: Phb_unicode_funcs_t; a: Thb_codepoint_t; b: Thb_codepoint_t; ab: Phb_codepoint_t; user_data: Pgpointer): Thb_bool_t; cdecl; + Thb_unicode_decompose_compatibility_func_t = function(ufuncs: Phb_unicode_funcs_t; u: Thb_codepoint_t; decomposed: Phb_codepoint_t; user_data: Pgpointer): guint; cdecl; + Thb_unicode_decompose_func_t = function(ufuncs: Phb_unicode_funcs_t; ab: Thb_codepoint_t; a: Phb_codepoint_t; b: Phb_codepoint_t; user_data: Pgpointer): Thb_bool_t; cdecl; + Thb_unicode_eastasian_width_func_t = function(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t; user_data: Pgpointer): guint; cdecl; + + + { Thb_unicode_general_category_t } + PPhb_unicode_general_category_t = ^Phb_unicode_general_category_t; + Phb_unicode_general_category_t = ^Thb_unicode_general_category_t; + Thb_unicode_general_category_func_t = function(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t; user_data: Pgpointer): Thb_unicode_general_category_t; cdecl; + Thb_unicode_mirroring_func_t = function(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t; user_data: Pgpointer): Thb_codepoint_t; cdecl; + Thb_unicode_script_func_t = function(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t; user_data: Pgpointer): Thb_script_t; cdecl; + +function hb_aat_layout_feature_type_get_name_id(face: Phb_face_t; feature_type: Thb_aat_layout_feature_type_t): Thb_ot_name_id_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_aat_layout_feature_type_get_name_id' {$endif}; +function hb_aat_layout_feature_type_get_selector_infos(face: Phb_face_t; feature_type: Thb_aat_layout_feature_type_t; start_offset: guint; selector_count: Pguint; selectors: Phb_aat_layout_feature_selector_info_t; default_index: Pguint): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_aat_layout_feature_type_get_selector_infos' {$endif}; +function hb_aat_layout_get_feature_types(face: Phb_face_t; start_offset: guint; feature_count: Pguint; features: Phb_aat_layout_feature_type_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_aat_layout_get_feature_types' {$endif}; +function hb_aat_layout_has_positioning(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_aat_layout_has_positioning' {$endif}; +function hb_aat_layout_has_substitution(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_aat_layout_has_substitution' {$endif}; +function hb_aat_layout_has_tracking(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_aat_layout_has_tracking' {$endif}; +function hb_blob_copy_writable_or_fail(blob: Phb_blob_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_copy_writable_or_fail' {$endif}; +function hb_blob_create(data: Pgchar; length: guint; mode: Thb_memory_mode_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_create' {$endif}; +function hb_blob_create_from_file(file_name: Pgchar): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_create_from_file' {$endif}; +function hb_blob_create_from_file_or_fail(file_name: Pgchar): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_create_from_file_or_fail' {$endif}; +function hb_blob_create_or_fail(data: Pgchar; length: guint; mode: Thb_memory_mode_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_create_or_fail' {$endif}; +function hb_blob_create_sub_blob(parent: Phb_blob_t; offset: guint; length: guint): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_create_sub_blob' {$endif}; +function hb_blob_get_data(blob: Phb_blob_t; length: Pguint): Pgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_get_data' {$endif}; +function hb_blob_get_data_writable(blob: Phb_blob_t; length: Pguint): Pgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_get_data_writable' {$endif}; +function hb_blob_get_empty: Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_get_empty' {$endif}; +function hb_blob_get_length(blob: Phb_blob_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_get_length' {$endif}; +function hb_blob_get_user_data(blob: Phb_blob_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_get_user_data' {$endif}; +function hb_blob_is_immutable(blob: Phb_blob_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_is_immutable' {$endif}; +function hb_blob_reference(blob: Phb_blob_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_reference' {$endif}; +function hb_blob_set_user_data(blob: Phb_blob_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_set_user_data' {$endif}; +function hb_buffer_allocation_successful(buffer: Phb_buffer_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_allocation_successful' {$endif}; +function hb_buffer_create: Phb_buffer_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_create' {$endif}; +function hb_buffer_create_similar(src: Phb_buffer_t): Phb_buffer_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_create_similar' {$endif}; +function hb_buffer_deserialize_glyphs(buffer: Phb_buffer_t; buf: Pgchar; buf_len: gint; end_ptr: PPgchar; font: Phb_font_t; format: Thb_buffer_serialize_format_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_deserialize_glyphs' {$endif}; +function hb_buffer_deserialize_unicode(buffer: Phb_buffer_t; buf: Pgchar; buf_len: gint; end_ptr: PPgchar; format: Thb_buffer_serialize_format_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_deserialize_unicode' {$endif}; +function hb_buffer_diff(buffer: Phb_buffer_t; reference: Phb_buffer_t; dottedcircle_glyph: Thb_codepoint_t; position_fuzz: guint): Thb_buffer_diff_flags_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_diff' {$endif}; +function hb_buffer_get_cluster_level(buffer: Phb_buffer_t): Thb_buffer_cluster_level_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_cluster_level' {$endif}; +function hb_buffer_get_content_type(buffer: Phb_buffer_t): Thb_buffer_content_type_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_content_type' {$endif}; +function hb_buffer_get_direction(buffer: Phb_buffer_t): Thb_direction_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_direction' {$endif}; +function hb_buffer_get_empty: Phb_buffer_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_empty' {$endif}; +function hb_buffer_get_flags(buffer: Phb_buffer_t): Thb_buffer_flags_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_flags' {$endif}; +function hb_buffer_get_glyph_infos(buffer: Phb_buffer_t; length: Pguint): Phb_glyph_info_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_glyph_infos' {$endif}; +function hb_buffer_get_glyph_positions(buffer: Phb_buffer_t; length: Pguint): Phb_glyph_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_glyph_positions' {$endif}; +function hb_buffer_get_invisible_glyph(buffer: Phb_buffer_t): Thb_codepoint_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_invisible_glyph' {$endif}; +function hb_buffer_get_language(buffer: Phb_buffer_t): Thb_language_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_language' {$endif}; +function hb_buffer_get_length(buffer: Phb_buffer_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_length' {$endif}; +function hb_buffer_get_not_found_glyph(buffer: Phb_buffer_t): Thb_codepoint_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_not_found_glyph' {$endif}; +function hb_buffer_get_replacement_codepoint(buffer: Phb_buffer_t): Thb_codepoint_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_replacement_codepoint' {$endif}; +function hb_buffer_get_script(buffer: Phb_buffer_t): Thb_script_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_script' {$endif}; +function hb_buffer_get_unicode_funcs(buffer: Phb_buffer_t): Phb_unicode_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_unicode_funcs' {$endif}; +function hb_buffer_get_user_data(buffer: Phb_buffer_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_user_data' {$endif}; +function hb_buffer_has_positions(buffer: Phb_buffer_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_has_positions' {$endif}; +function hb_buffer_pre_allocate(buffer: Phb_buffer_t; size: guint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_pre_allocate' {$endif}; +function hb_buffer_reference(buffer: Phb_buffer_t): Phb_buffer_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_reference' {$endif}; +function hb_buffer_serialize(buffer: Phb_buffer_t; start: guint; end_: guint; buf: Pgchar; buf_size: Pguint; buf_consumed: Pguint; font: Phb_font_t; format: Thb_buffer_serialize_format_t; flags: Thb_buffer_serialize_flags_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_serialize' {$endif}; +function hb_buffer_serialize_format_from_string(str: Pgchar; len: gint): Thb_buffer_serialize_format_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_serialize_format_from_string' {$endif}; +function hb_buffer_serialize_format_to_string(format: Thb_buffer_serialize_format_t): Pgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_serialize_format_to_string' {$endif}; +function hb_buffer_serialize_glyphs(buffer: Phb_buffer_t; start: guint; end_: guint; buf: Pgchar; buf_size: Pguint; buf_consumed: Pguint; font: Phb_font_t; format: Thb_buffer_serialize_format_t; flags: Thb_buffer_serialize_flags_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_serialize_glyphs' {$endif}; +function hb_buffer_serialize_list_formats: PPgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_serialize_list_formats' {$endif}; +function hb_buffer_serialize_unicode(buffer: Phb_buffer_t; start: guint; end_: guint; buf: Pgchar; buf_size: Pguint; buf_consumed: Pguint; format: Thb_buffer_serialize_format_t; flags: Thb_buffer_serialize_flags_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_serialize_unicode' {$endif}; +function hb_buffer_set_length(buffer: Phb_buffer_t; length: guint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_length' {$endif}; +function hb_buffer_set_user_data(buffer: Phb_buffer_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_user_data' {$endif}; +function hb_color_get_alpha(color: Thb_color_t): guint8; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_color_get_alpha' {$endif}; +function hb_color_get_blue(color: Thb_color_t): guint8; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_color_get_blue' {$endif}; +function hb_color_get_green(color: Thb_color_t): guint8; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_color_get_green' {$endif}; +function hb_color_get_red(color: Thb_color_t): guint8; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_color_get_red' {$endif}; +function hb_color_line_get_color_stops(color_line: Phb_color_line_t; start: guint; count: Pguint; color_stops: Phb_color_stop_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_color_line_get_color_stops' {$endif}; +function hb_color_line_get_extend(color_line: Phb_color_line_t): Thb_paint_extend_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_color_line_get_extend' {$endif}; +function hb_direction_from_string(str: Pgchar; len: gint): Thb_direction_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_direction_from_string' {$endif}; +function hb_direction_to_string(direction: Thb_direction_t): Pgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_direction_to_string' {$endif}; +function hb_draw_funcs_create: Phb_draw_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_create' {$endif}; +function hb_draw_funcs_get_empty: Phb_draw_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_get_empty' {$endif}; +function hb_draw_funcs_get_user_data(dfuncs: Phb_draw_funcs_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_get_user_data' {$endif}; +function hb_draw_funcs_is_immutable(dfuncs: Phb_draw_funcs_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_is_immutable' {$endif}; +function hb_draw_funcs_reference(dfuncs: Phb_draw_funcs_t): Phb_draw_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_reference' {$endif}; +function hb_draw_funcs_set_user_data(dfuncs: Phb_draw_funcs_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_set_user_data' {$endif}; +function hb_face_builder_add_table(face: Phb_face_t; tag: Thb_tag_t; blob: Phb_blob_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_builder_add_table' {$endif}; +function hb_face_builder_create: Phb_face_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_builder_create' {$endif}; +function hb_face_count(blob: Phb_blob_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_count' {$endif}; +function hb_face_create(blob: Phb_blob_t; index: guint): Phb_face_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_create' {$endif}; +function hb_face_create_for_tables(reference_table_func: Thb_reference_table_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t): Phb_face_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_create_for_tables' {$endif}; +function hb_face_get_empty: Phb_face_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_get_empty' {$endif}; +function hb_face_get_glyph_count(face: Phb_face_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_get_glyph_count' {$endif}; +function hb_face_get_index(face: Phb_face_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_get_index' {$endif}; +function hb_face_get_table_tags(face: Phb_face_t; start_offset: guint; table_count: Pguint; table_tags: Phb_tag_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_get_table_tags' {$endif}; +function hb_face_get_upem(face: Phb_face_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_get_upem' {$endif}; +function hb_face_get_user_data(face: Phb_face_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_get_user_data' {$endif}; +function hb_face_is_immutable(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_is_immutable' {$endif}; +function hb_face_reference(face: Phb_face_t): Phb_face_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_reference' {$endif}; +function hb_face_reference_blob(face: Phb_face_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_reference_blob' {$endif}; +function hb_face_reference_table(face: Phb_face_t; tag: Thb_tag_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_reference_table' {$endif}; +function hb_face_set_user_data(face: Phb_face_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_set_user_data' {$endif}; +function hb_feature_from_string(str: Pgchar; len: gint; feature: Phb_feature_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_feature_from_string' {$endif}; +function hb_font_create(face: Phb_face_t): Phb_font_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_create' {$endif}; +function hb_font_create_sub_font(parent: Phb_font_t): Phb_font_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_create_sub_font' {$endif}; +function hb_font_funcs_create: Phb_font_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_create' {$endif}; +function hb_font_funcs_get_empty: Phb_font_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_get_empty' {$endif}; +function hb_font_funcs_get_user_data(ffuncs: Phb_font_funcs_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_get_user_data' {$endif}; +function hb_font_funcs_is_immutable(ffuncs: Phb_font_funcs_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_is_immutable' {$endif}; +function hb_font_funcs_reference(ffuncs: Phb_font_funcs_t): Phb_font_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_reference' {$endif}; +function hb_font_funcs_set_user_data(ffuncs: Phb_font_funcs_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_user_data' {$endif}; +function hb_font_get_empty: Phb_font_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_empty' {$endif}; +function hb_font_get_face(font: Phb_font_t): Phb_face_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_face' {$endif}; +function hb_font_get_glyph(font: Phb_font_t; unicode: Thb_codepoint_t; variation_selector: Thb_codepoint_t; glyph: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph' {$endif}; +function hb_font_get_glyph_contour_point(font: Phb_font_t; glyph: Thb_codepoint_t; point_index: guint; x: Phb_position_t; y: Phb_position_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_contour_point' {$endif}; +function hb_font_get_glyph_contour_point_for_origin(font: Phb_font_t; glyph: Thb_codepoint_t; point_index: guint; direction: Thb_direction_t; x: Phb_position_t; y: Phb_position_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_contour_point_for_origin' {$endif}; +function hb_font_get_glyph_extents(font: Phb_font_t; glyph: Thb_codepoint_t; extents: Phb_glyph_extents_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_extents' {$endif}; +function hb_font_get_glyph_extents_for_origin(font: Phb_font_t; glyph: Thb_codepoint_t; direction: Thb_direction_t; extents: Phb_glyph_extents_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_extents_for_origin' {$endif}; +function hb_font_get_glyph_from_name(font: Phb_font_t; name: Pgchar; len: gint; glyph: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_from_name' {$endif}; +function hb_font_get_glyph_h_advance(font: Phb_font_t; glyph: Thb_codepoint_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_h_advance' {$endif}; +function hb_font_get_glyph_h_kerning(font: Phb_font_t; left_glyph: Thb_codepoint_t; right_glyph: Thb_codepoint_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_h_kerning' {$endif}; +function hb_font_get_glyph_h_origin(font: Phb_font_t; glyph: Thb_codepoint_t; x: Phb_position_t; y: Phb_position_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_h_origin' {$endif}; +function hb_font_get_glyph_name(font: Phb_font_t; glyph: Thb_codepoint_t; name: Pgchar; size: Pguint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_name' {$endif}; +function hb_font_get_glyph_v_advance(font: Phb_font_t; glyph: Thb_codepoint_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_v_advance' {$endif}; +function hb_font_get_glyph_v_origin(font: Phb_font_t; glyph: Thb_codepoint_t; x: Phb_position_t; y: Phb_position_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_v_origin' {$endif}; +function hb_font_get_h_extents(font: Phb_font_t; extents: Phb_font_extents_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_h_extents' {$endif}; +function hb_font_get_nominal_glyph(font: Phb_font_t; unicode: Thb_codepoint_t; glyph: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_nominal_glyph' {$endif}; +function hb_font_get_nominal_glyphs(font: Phb_font_t; count: guint; first_unicode: Phb_codepoint_t; unicode_stride: guint; first_glyph: Phb_codepoint_t; glyph_stride: guint): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_nominal_glyphs' {$endif}; +function hb_font_get_parent(font: Phb_font_t): Phb_font_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_parent' {$endif}; +function hb_font_get_ptem(font: Phb_font_t): gfloat; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_ptem' {$endif}; +function hb_font_get_serial(font: Phb_font_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_serial' {$endif}; +function hb_font_get_synthetic_slant(font: Phb_font_t): gfloat; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_synthetic_slant' {$endif}; +function hb_font_get_user_data(font: Phb_font_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_user_data' {$endif}; +function hb_font_get_v_extents(font: Phb_font_t; extents: Phb_font_extents_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_v_extents' {$endif}; +function hb_font_get_var_coords_design(font: Phb_font_t; length: Pguint): Pgfloat; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_var_coords_design' {$endif}; +function hb_font_get_var_coords_normalized(font: Phb_font_t; length: Pguint): Pgint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_var_coords_normalized' {$endif}; +function hb_font_get_var_named_instance(font: Phb_font_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_var_named_instance' {$endif}; +function hb_font_get_variation_glyph(font: Phb_font_t; unicode: Thb_codepoint_t; variation_selector: Thb_codepoint_t; glyph: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_variation_glyph' {$endif}; +function hb_font_glyph_from_string(font: Phb_font_t; s: Pgchar; len: gint; glyph: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_glyph_from_string' {$endif}; +function hb_font_is_immutable(font: Phb_font_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_is_immutable' {$endif}; +function hb_font_reference(font: Phb_font_t): Phb_font_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_reference' {$endif}; +function hb_font_set_user_data(font: Phb_font_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_user_data' {$endif}; +function hb_ft_font_get_load_flags(font: Phb_font_t): gint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ft_font_get_load_flags' {$endif}; +function hb_ft_hb_font_changed(font: Phb_font_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ft_hb_font_changed' {$endif}; +function hb_glib_blob_create(gbytes: PGBytes): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_glib_blob_create' {$endif}; +function hb_glib_get_unicode_funcs: Phb_unicode_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_glib_get_unicode_funcs' {$endif}; +function hb_glib_script_from_script(script: Thb_script_t): TGUnicodeScript; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_glib_script_from_script' {$endif}; +function hb_glib_script_to_script(script: TGUnicodeScript): Thb_script_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_glib_script_to_script' {$endif}; +function hb_glyph_info_get_glyph_flags(info: Phb_glyph_info_t): Thb_glyph_flags_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_glyph_info_get_glyph_flags' {$endif}; +function hb_gobject_blob_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_blob_get_type' {$endif}; +function hb_gobject_buffer_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_buffer_get_type' {$endif}; +function hb_gobject_color_line_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_color_line_get_type' {$endif}; +function hb_gobject_color_stop_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_color_stop_get_type' {$endif}; +function hb_gobject_draw_funcs_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_draw_funcs_get_type' {$endif}; +function hb_gobject_draw_state_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_draw_state_get_type' {$endif}; +function hb_gobject_face_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_face_get_type' {$endif}; +function hb_gobject_feature_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_feature_get_type' {$endif}; +function hb_gobject_font_funcs_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_font_funcs_get_type' {$endif}; +function hb_gobject_font_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_font_get_type' {$endif}; +function hb_gobject_glyph_info_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_glyph_info_get_type' {$endif}; +function hb_gobject_glyph_position_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_glyph_position_get_type' {$endif}; +function hb_gobject_map_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_map_get_type' {$endif}; +function hb_gobject_ot_math_glyph_part_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_ot_math_glyph_part_get_type' {$endif}; +function hb_gobject_ot_math_glyph_variant_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_ot_math_glyph_variant_get_type' {$endif}; +function hb_gobject_ot_var_axis_info_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_ot_var_axis_info_get_type' {$endif}; +function hb_gobject_paint_funcs_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_paint_funcs_get_type' {$endif}; +function hb_gobject_segment_properties_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_segment_properties_get_type' {$endif}; +function hb_gobject_set_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_set_get_type' {$endif}; +function hb_gobject_shape_plan_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_shape_plan_get_type' {$endif}; +function hb_gobject_unicode_funcs_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_unicode_funcs_get_type' {$endif}; +function hb_gobject_user_data_key_get_type: TGType; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_gobject_user_data_key_get_type' {$endif}; +function hb_language_from_string(str: Pgchar; len: gint): Thb_language_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_language_from_string' {$endif}; +function hb_language_get_default: Thb_language_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_language_get_default' {$endif}; +function hb_language_matches(language: Thb_language_t; specific: Thb_language_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_language_matches' {$endif}; +function hb_language_to_string(language: Thb_language_t): Pgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_language_to_string' {$endif}; +function hb_map_allocation_successful(map: Phb_map_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_allocation_successful' {$endif}; +function hb_map_copy(map: Phb_map_t): Phb_map_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_copy' {$endif}; +function hb_map_create: Phb_map_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_create' {$endif}; +function hb_map_get(map: Phb_map_t; key: Thb_codepoint_t): Thb_codepoint_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_get' {$endif}; +function hb_map_get_empty: Phb_map_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_get_empty' {$endif}; +function hb_map_get_population(map: Phb_map_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_get_population' {$endif}; +function hb_map_get_user_data(map: Phb_map_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_get_user_data' {$endif}; +function hb_map_has(map: Phb_map_t; key: Thb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_has' {$endif}; +function hb_map_hash(map: Phb_map_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_hash' {$endif}; +function hb_map_is_empty(map: Phb_map_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_is_empty' {$endif}; +function hb_map_is_equal(map: Phb_map_t; other: Phb_map_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_is_equal' {$endif}; +function hb_map_next(map: Phb_map_t; idx: Pgint; key: Phb_codepoint_t; value: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_next' {$endif}; +function hb_map_reference(map: Phb_map_t): Phb_map_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_reference' {$endif}; +function hb_map_set_user_data(map: Phb_map_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_set_user_data' {$endif}; +function hb_ot_color_glyph_get_layers(face: Phb_face_t; glyph: Thb_codepoint_t; start_offset: guint; layer_count: Pguint; layers: Phb_ot_color_layer_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_glyph_get_layers' {$endif}; +function hb_ot_color_glyph_has_paint(face: Phb_face_t; glyph: Thb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_glyph_has_paint' {$endif}; +function hb_ot_color_glyph_reference_png(font: Phb_font_t; glyph: Thb_codepoint_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_glyph_reference_png' {$endif}; +function hb_ot_color_glyph_reference_svg(face: Phb_face_t; glyph: Thb_codepoint_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_glyph_reference_svg' {$endif}; +function hb_ot_color_has_layers(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_has_layers' {$endif}; +function hb_ot_color_has_paint(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_has_paint' {$endif}; +function hb_ot_color_has_palettes(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_has_palettes' {$endif}; +function hb_ot_color_has_png(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_has_png' {$endif}; +function hb_ot_color_has_svg(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_has_svg' {$endif}; +function hb_ot_color_palette_color_get_name_id(face: Phb_face_t; color_index: guint): Thb_ot_name_id_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_palette_color_get_name_id' {$endif}; +function hb_ot_color_palette_get_colors(face: Phb_face_t; palette_index: guint; start_offset: guint; color_count: Pguint; colors: Phb_color_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_palette_get_colors' {$endif}; +function hb_ot_color_palette_get_count(face: Phb_face_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_palette_get_count' {$endif}; +function hb_ot_color_palette_get_flags(face: Phb_face_t; palette_index: guint): Thb_ot_color_palette_flags_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_palette_get_flags' {$endif}; +function hb_ot_color_palette_get_name_id(face: Phb_face_t; palette_index: guint): Thb_ot_name_id_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_color_palette_get_name_id' {$endif}; +function hb_ot_layout_feature_get_characters(face: Phb_face_t; table_tag: Thb_tag_t; feature_index: guint; start_offset: guint; char_count: Pguint; characters: Phb_codepoint_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_feature_get_characters' {$endif}; +function hb_ot_layout_feature_get_lookups(face: Phb_face_t; table_tag: Thb_tag_t; feature_index: guint; start_offset: guint; lookup_count: Pguint; lookup_indexes: Pguint): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_feature_get_lookups' {$endif}; +function hb_ot_layout_feature_get_name_ids(face: Phb_face_t; table_tag: Thb_tag_t; feature_index: guint; label_id: Phb_ot_name_id_t; tooltip_id: Phb_ot_name_id_t; sample_id: Phb_ot_name_id_t; num_named_parameters: Pguint; first_param_id: Phb_ot_name_id_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_feature_get_name_ids' {$endif}; +function hb_ot_layout_feature_with_variations_get_lookups(face: Phb_face_t; table_tag: Thb_tag_t; feature_index: guint; variations_index: guint; start_offset: guint; lookup_count: Pguint; lookup_indexes: Pguint): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_feature_with_variations_get_lookups' {$endif}; +function hb_ot_layout_get_attach_points(face: Phb_face_t; glyph: Thb_codepoint_t; start_offset: guint; point_count: Pguint; point_array: Pguint): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_get_attach_points' {$endif}; +function hb_ot_layout_get_baseline(font: Phb_font_t; baseline_tag: Thb_ot_layout_baseline_tag_t; direction: Thb_direction_t; script_tag: Thb_tag_t; language_tag: Thb_tag_t; coord: Phb_position_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_get_baseline' {$endif}; +function hb_ot_layout_get_glyph_class(face: Phb_face_t; glyph: Thb_codepoint_t): Thb_ot_layout_glyph_class_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_get_glyph_class' {$endif}; +function hb_ot_layout_get_horizontal_baseline_tag_for_script(script: Thb_script_t): Thb_ot_layout_baseline_tag_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_get_horizontal_baseline_tag_for_script' {$endif}; +function hb_ot_layout_get_ligature_carets(font: Phb_font_t; direction: Thb_direction_t; glyph: Thb_codepoint_t; start_offset: guint; caret_count: Pguint; caret_array: Phb_position_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_get_ligature_carets' {$endif}; +function hb_ot_layout_get_size_params(face: Phb_face_t; design_size: Pguint; subfamily_id: Pguint; subfamily_name_id: Phb_ot_name_id_t; range_start: Pguint; range_end: Pguint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_get_size_params' {$endif}; +function hb_ot_layout_has_glyph_classes(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_has_glyph_classes' {$endif}; +function hb_ot_layout_has_positioning(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_has_positioning' {$endif}; +function hb_ot_layout_has_substitution(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_has_substitution' {$endif}; +function hb_ot_layout_language_find_feature(face: Phb_face_t; table_tag: Thb_tag_t; script_index: guint; language_index: guint; feature_tag: Thb_tag_t; feature_index: Pguint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_language_find_feature' {$endif}; +function hb_ot_layout_language_get_feature_indexes(face: Phb_face_t; table_tag: Thb_tag_t; script_index: guint; language_index: guint; start_offset: guint; feature_count: Pguint; feature_indexes: Pguint): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_language_get_feature_indexes' {$endif}; +function hb_ot_layout_language_get_feature_tags(face: Phb_face_t; table_tag: Thb_tag_t; script_index: guint; language_index: guint; start_offset: guint; feature_count: Pguint; feature_tags: Phb_tag_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_language_get_feature_tags' {$endif}; +function hb_ot_layout_language_get_required_feature(face: Phb_face_t; table_tag: Thb_tag_t; script_index: guint; language_index: guint; feature_index: Pguint; feature_tag: Phb_tag_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_language_get_required_feature' {$endif}; +function hb_ot_layout_language_get_required_feature_index(face: Phb_face_t; table_tag: Thb_tag_t; script_index: guint; language_index: guint; feature_index: Pguint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_language_get_required_feature_index' {$endif}; +function hb_ot_layout_lookup_get_glyph_alternates(face: Phb_face_t; lookup_index: guint; glyph: Thb_codepoint_t; start_offset: guint; alternate_count: Pguint; alternate_glyphs: Phb_codepoint_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_lookup_get_glyph_alternates' {$endif}; +function hb_ot_layout_lookup_get_optical_bound(font: Phb_font_t; lookup_index: guint; direction: Thb_direction_t; glyph: Thb_codepoint_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_lookup_get_optical_bound' {$endif}; +function hb_ot_layout_lookup_would_substitute(face: Phb_face_t; lookup_index: guint; glyphs: Phb_codepoint_t; glyphs_length: guint; zero_context: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_lookup_would_substitute' {$endif}; +function hb_ot_layout_script_get_language_tags(face: Phb_face_t; table_tag: Thb_tag_t; script_index: guint; start_offset: guint; language_count: Pguint; language_tags: Phb_tag_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_script_get_language_tags' {$endif}; +function hb_ot_layout_script_select_language(face: Phb_face_t; table_tag: Thb_tag_t; script_index: guint; language_count: guint; language_tags: Phb_tag_t; language_index: Pguint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_script_select_language' {$endif}; +function hb_ot_layout_script_select_language2(face: Phb_face_t; table_tag: Thb_tag_t; script_index: guint; language_count: guint; language_tags: Phb_tag_t; language_index: Pguint; chosen_language: Phb_tag_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_script_select_language2' {$endif}; +function hb_ot_layout_table_choose_script(face: Phb_face_t; table_tag: Thb_tag_t; script_tags: Phb_tag_t; script_index: Pguint; chosen_script: Phb_tag_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_table_choose_script' {$endif}; +function hb_ot_layout_table_find_feature_variations(face: Phb_face_t; table_tag: Thb_tag_t; coords: Pgint; num_coords: guint; variations_index: Pguint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_table_find_feature_variations' {$endif}; +function hb_ot_layout_table_find_script(face: Phb_face_t; table_tag: Thb_tag_t; script_tag: Thb_tag_t; script_index: Pguint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_table_find_script' {$endif}; +function hb_ot_layout_table_get_feature_tags(face: Phb_face_t; table_tag: Thb_tag_t; start_offset: guint; feature_count: Pguint; feature_tags: Phb_tag_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_table_get_feature_tags' {$endif}; +function hb_ot_layout_table_get_lookup_count(face: Phb_face_t; table_tag: Thb_tag_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_table_get_lookup_count' {$endif}; +function hb_ot_layout_table_get_script_tags(face: Phb_face_t; table_tag: Thb_tag_t; start_offset: guint; script_count: Pguint; script_tags: Phb_tag_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_table_get_script_tags' {$endif}; +function hb_ot_layout_table_select_script(face: Phb_face_t; table_tag: Thb_tag_t; script_count: guint; script_tags: Phb_tag_t; script_index: Pguint; chosen_script: Phb_tag_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_table_select_script' {$endif}; +function hb_ot_math_get_constant(font: Phb_font_t; constant: Thb_ot_math_constant_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_get_constant' {$endif}; +function hb_ot_math_get_glyph_assembly(font: Phb_font_t; glyph: Thb_codepoint_t; direction: Thb_direction_t; start_offset: guint; parts_count: Pguint; parts: Phb_ot_math_glyph_part_t; italics_correction: Phb_position_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_get_glyph_assembly' {$endif}; +function hb_ot_math_get_glyph_italics_correction(font: Phb_font_t; glyph: Thb_codepoint_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_get_glyph_italics_correction' {$endif}; +function hb_ot_math_get_glyph_kerning(font: Phb_font_t; glyph: Thb_codepoint_t; kern: Thb_ot_math_kern_t; correction_height: Thb_position_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_get_glyph_kerning' {$endif}; +function hb_ot_math_get_glyph_kernings(font: Phb_font_t; glyph: Thb_codepoint_t; kern: Thb_ot_math_kern_t; start_offset: guint; entries_count: Pguint; kern_entries: Phb_ot_math_kern_entry_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_get_glyph_kernings' {$endif}; +function hb_ot_math_get_glyph_top_accent_attachment(font: Phb_font_t; glyph: Thb_codepoint_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_get_glyph_top_accent_attachment' {$endif}; +function hb_ot_math_get_glyph_variants(font: Phb_font_t; glyph: Thb_codepoint_t; direction: Thb_direction_t; start_offset: guint; variants_count: Pguint; variants: Phb_ot_math_glyph_variant_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_get_glyph_variants' {$endif}; +function hb_ot_math_get_min_connector_overlap(font: Phb_font_t; direction: Thb_direction_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_get_min_connector_overlap' {$endif}; +function hb_ot_math_has_data(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_has_data' {$endif}; +function hb_ot_math_is_glyph_extended_shape(face: Phb_face_t; glyph: Thb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_math_is_glyph_extended_shape' {$endif}; +function hb_ot_meta_get_entry_tags(face: Phb_face_t; start_offset: guint; entries_count: Pguint; entries: Phb_ot_meta_tag_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_meta_get_entry_tags' {$endif}; +function hb_ot_meta_reference_entry(face: Phb_face_t; meta_tag: Thb_ot_meta_tag_t): Phb_blob_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_meta_reference_entry' {$endif}; +function hb_ot_metrics_get_position(font: Phb_font_t; metrics_tag: Thb_ot_metrics_tag_t; position: Phb_position_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_metrics_get_position' {$endif}; +function hb_ot_metrics_get_variation(font: Phb_font_t; metrics_tag: Thb_ot_metrics_tag_t): gfloat; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_metrics_get_variation' {$endif}; +function hb_ot_metrics_get_x_variation(font: Phb_font_t; metrics_tag: Thb_ot_metrics_tag_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_metrics_get_x_variation' {$endif}; +function hb_ot_metrics_get_y_variation(font: Phb_font_t; metrics_tag: Thb_ot_metrics_tag_t): Thb_position_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_metrics_get_y_variation' {$endif}; +function hb_ot_name_get_utf16(face: Phb_face_t; name_id: Thb_ot_name_id_t; language: Thb_language_t; text_size: Pguint; text: Pguint16): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_name_get_utf16' {$endif}; +function hb_ot_name_get_utf32(face: Phb_face_t; name_id: Thb_ot_name_id_t; language: Thb_language_t; text_size: Pguint; text: Pguint32): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_name_get_utf32' {$endif}; +function hb_ot_name_get_utf8(face: Phb_face_t; name_id: Thb_ot_name_id_t; language: Thb_language_t; text_size: Pguint; text: Pgchar): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_name_get_utf8' {$endif}; +function hb_ot_name_list_names(face: Phb_face_t; num_entries: Pguint): Phb_ot_name_entry_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_name_list_names' {$endif}; +function hb_ot_tag_to_language(tag: Thb_tag_t): Thb_language_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_tag_to_language' {$endif}; +function hb_ot_tag_to_script(tag: Thb_tag_t): Thb_script_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_tag_to_script' {$endif}; +function hb_ot_var_find_axis_info(face: Phb_face_t; axis_tag: Thb_tag_t; axis_info: Phb_ot_var_axis_info_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_find_axis_info' {$endif}; +function hb_ot_var_get_axis_count(face: Phb_face_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_get_axis_count' {$endif}; +function hb_ot_var_get_axis_infos(face: Phb_face_t; start_offset: guint; axes_count: Pguint; axes_array: Phb_ot_var_axis_info_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_get_axis_infos' {$endif}; +function hb_ot_var_get_named_instance_count(face: Phb_face_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_get_named_instance_count' {$endif}; +function hb_ot_var_has_data(face: Phb_face_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_has_data' {$endif}; +function hb_ot_var_named_instance_get_design_coords(face: Phb_face_t; instance_index: guint; coords_length: Pguint; coords: Pgfloat): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_named_instance_get_design_coords' {$endif}; +function hb_ot_var_named_instance_get_postscript_name_id(face: Phb_face_t; instance_index: guint): Thb_ot_name_id_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_named_instance_get_postscript_name_id' {$endif}; +function hb_ot_var_named_instance_get_subfamily_name_id(face: Phb_face_t; instance_index: guint): Thb_ot_name_id_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_named_instance_get_subfamily_name_id' {$endif}; +function hb_paint_custom_palette_color(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; color_index: guint; color: Phb_color_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_custom_palette_color' {$endif}; +function hb_paint_funcs_create: Phb_paint_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_create' {$endif}; +function hb_paint_funcs_get_empty: Phb_paint_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_get_empty' {$endif}; +function hb_paint_funcs_get_user_data(funcs: Phb_paint_funcs_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_get_user_data' {$endif}; +function hb_paint_funcs_is_immutable(funcs: Phb_paint_funcs_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_is_immutable' {$endif}; +function hb_paint_funcs_reference(funcs: Phb_paint_funcs_t): Phb_paint_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_reference' {$endif}; +function hb_paint_funcs_set_user_data(funcs: Phb_paint_funcs_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_user_data' {$endif}; +function hb_script_from_iso15924_tag(tag: Thb_tag_t): Thb_script_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_script_from_iso15924_tag' {$endif}; +function hb_script_from_string(str: Pgchar; len: gint): Thb_script_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_script_from_string' {$endif}; +function hb_script_get_horizontal_direction(script: Thb_script_t): Thb_direction_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_script_get_horizontal_direction' {$endif}; +function hb_script_to_iso15924_tag(script: Thb_script_t): Thb_tag_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_script_to_iso15924_tag' {$endif}; +function hb_segment_properties_equal(a: Phb_segment_properties_t; b: Phb_segment_properties_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_segment_properties_equal' {$endif}; +function hb_segment_properties_hash(p: Phb_segment_properties_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_segment_properties_hash' {$endif}; +function hb_set_allocation_successful(set_: Phb_set_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_allocation_successful' {$endif}; +function hb_set_copy(set_: Phb_set_t): Phb_set_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_copy' {$endif}; +function hb_set_create: Phb_set_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_create' {$endif}; +function hb_set_get_empty: Phb_set_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_get_empty' {$endif}; +function hb_set_get_max(set_: Phb_set_t): Thb_codepoint_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_get_max' {$endif}; +function hb_set_get_min(set_: Phb_set_t): Thb_codepoint_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_get_min' {$endif}; +function hb_set_get_population(set_: Phb_set_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_get_population' {$endif}; +function hb_set_get_user_data(set_: Phb_set_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_get_user_data' {$endif}; +function hb_set_has(set_: Phb_set_t; codepoint: Thb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_has' {$endif}; +function hb_set_hash(set_: Phb_set_t): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_hash' {$endif}; +function hb_set_is_empty(set_: Phb_set_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_is_empty' {$endif}; +function hb_set_is_equal(set_: Phb_set_t; other: Phb_set_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_is_equal' {$endif}; +function hb_set_is_inverted(set_: Phb_set_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_is_inverted' {$endif}; +function hb_set_is_subset(set_: Phb_set_t; larger_set: Phb_set_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_is_subset' {$endif}; +function hb_set_next(set_: Phb_set_t; codepoint: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_next' {$endif}; +function hb_set_next_many(set_: Phb_set_t; codepoint: Thb_codepoint_t; out_: Phb_codepoint_t; size: guint): guint; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_next_many' {$endif}; +function hb_set_next_range(set_: Phb_set_t; first: Phb_codepoint_t; last: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_next_range' {$endif}; +function hb_set_previous(set_: Phb_set_t; codepoint: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_previous' {$endif}; +function hb_set_previous_range(set_: Phb_set_t; first: Phb_codepoint_t; last: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_previous_range' {$endif}; +function hb_set_reference(set_: Phb_set_t): Phb_set_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_reference' {$endif}; +function hb_set_set_user_data(set_: Phb_set_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_set_user_data' {$endif}; +function hb_shape_full(font: Phb_font_t; buffer: Phb_buffer_t; features: Phb_feature_t; num_features: guint; shaper_list: PPgchar): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_full' {$endif}; +function hb_shape_justify(font: Phb_font_t; buffer: Phb_buffer_t; features: Phb_feature_t; num_features: guint; shaper_list: PPgchar; min_target_advance: gfloat; max_target_advance: gfloat; advance: Pgfloat; var_tag: Phb_tag_t; var_value: Pgfloat): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_justify' {$endif}; +function hb_shape_list_shapers: PPgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_list_shapers' {$endif}; +function hb_shape_plan_create(face: Phb_face_t; props: Phb_segment_properties_t; user_features: Phb_feature_t; num_user_features: guint; shaper_list: PPgchar): Phb_shape_plan_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_create' {$endif}; +function hb_shape_plan_create2(face: Phb_face_t; props: Phb_segment_properties_t; user_features: Phb_feature_t; num_user_features: guint; coords: Pgint; num_coords: guint; shaper_list: PPgchar): Phb_shape_plan_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_create2' {$endif}; +function hb_shape_plan_create_cached(face: Phb_face_t; props: Phb_segment_properties_t; user_features: Phb_feature_t; num_user_features: guint; shaper_list: PPgchar): Phb_shape_plan_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_create_cached' {$endif}; +function hb_shape_plan_create_cached2(face: Phb_face_t; props: Phb_segment_properties_t; user_features: Phb_feature_t; num_user_features: guint; coords: Pgint; num_coords: guint; shaper_list: PPgchar): Phb_shape_plan_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_create_cached2' {$endif}; +function hb_shape_plan_execute(shape_plan: Phb_shape_plan_t; font: Phb_font_t; buffer: Phb_buffer_t; features: Phb_feature_t; num_features: guint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_execute' {$endif}; +function hb_shape_plan_get_empty: Phb_shape_plan_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_get_empty' {$endif}; +function hb_shape_plan_get_shaper(shape_plan: Phb_shape_plan_t): Pgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_get_shaper' {$endif}; +function hb_shape_plan_get_user_data(shape_plan: Phb_shape_plan_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_get_user_data' {$endif}; +function hb_shape_plan_reference(shape_plan: Phb_shape_plan_t): Phb_shape_plan_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_reference' {$endif}; +function hb_shape_plan_set_user_data(shape_plan: Phb_shape_plan_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_set_user_data' {$endif}; +function hb_style_get_value(font: Phb_font_t; style_tag: Thb_style_tag_t): gfloat; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_style_get_value' {$endif}; +function hb_tag_from_string(str: Pgchar; len: gint): Thb_tag_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_tag_from_string' {$endif}; +function hb_unicode_combining_class(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t): Thb_unicode_combining_class_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_combining_class' {$endif}; +function hb_unicode_compose(ufuncs: Phb_unicode_funcs_t; a: Thb_codepoint_t; b: Thb_codepoint_t; ab: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_compose' {$endif}; +function hb_unicode_decompose(ufuncs: Phb_unicode_funcs_t; ab: Thb_codepoint_t; a: Phb_codepoint_t; b: Phb_codepoint_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_decompose' {$endif}; +function hb_unicode_funcs_create(parent: Phb_unicode_funcs_t): Phb_unicode_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_create' {$endif}; +function hb_unicode_funcs_get_default: Phb_unicode_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_get_default' {$endif}; +function hb_unicode_funcs_get_empty: Phb_unicode_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_get_empty' {$endif}; +function hb_unicode_funcs_get_parent(ufuncs: Phb_unicode_funcs_t): Phb_unicode_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_get_parent' {$endif}; +function hb_unicode_funcs_get_user_data(ufuncs: Phb_unicode_funcs_t; key: Phb_user_data_key_t): Pgpointer; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_get_user_data' {$endif}; +function hb_unicode_funcs_is_immutable(ufuncs: Phb_unicode_funcs_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_is_immutable' {$endif}; +function hb_unicode_funcs_reference(ufuncs: Phb_unicode_funcs_t): Phb_unicode_funcs_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_reference' {$endif}; +function hb_unicode_funcs_set_user_data(ufuncs: Phb_unicode_funcs_t; key: Phb_user_data_key_t; data: Pgpointer; destroy_: Thb_destroy_func_t; replace: Thb_bool_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_set_user_data' {$endif}; +function hb_unicode_general_category(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t): Thb_unicode_general_category_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_general_category' {$endif}; +function hb_unicode_mirroring(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t): Thb_codepoint_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_mirroring' {$endif}; +function hb_unicode_script(ufuncs: Phb_unicode_funcs_t; unicode: Thb_codepoint_t): Thb_script_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_script' {$endif}; +function hb_variation_from_string(str: Pgchar; len: gint; variation: Phb_variation_t): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_variation_from_string' {$endif}; +function hb_version_atleast(major: guint; minor: guint; micro: guint): Thb_bool_t; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_version_atleast' {$endif}; +function hb_version_string: Pgchar; cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_version_string' {$endif}; +procedure hb_blob_destroy(blob: Phb_blob_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_destroy' {$endif}; +procedure hb_blob_make_immutable(blob: Phb_blob_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_blob_make_immutable' {$endif}; +procedure hb_buffer_add(buffer: Phb_buffer_t; codepoint: Thb_codepoint_t; cluster: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_add' {$endif}; +procedure hb_buffer_add_codepoints(buffer: Phb_buffer_t; text: Phb_codepoint_t; text_length: gint; item_offset: guint; item_length: gint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_add_codepoints' {$endif}; +procedure hb_buffer_add_latin1(buffer: Phb_buffer_t; text: Pguint8; text_length: gint; item_offset: guint; item_length: gint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_add_latin1' {$endif}; +procedure hb_buffer_add_utf16(buffer: Phb_buffer_t; text: Pguint16; text_length: gint; item_offset: guint; item_length: gint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_add_utf16' {$endif}; +procedure hb_buffer_add_utf32(buffer: Phb_buffer_t; text: Pguint32; text_length: gint; item_offset: guint; item_length: gint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_add_utf32' {$endif}; +procedure hb_buffer_add_utf8(buffer: Phb_buffer_t; text: Pgchar; text_length: gint; item_offset: guint; item_length: gint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_add_utf8' {$endif}; +procedure hb_buffer_append(buffer: Phb_buffer_t; source: Phb_buffer_t; start: guint; end_: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_append' {$endif}; +procedure hb_buffer_clear_contents(buffer: Phb_buffer_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_clear_contents' {$endif}; +procedure hb_buffer_destroy(buffer: Phb_buffer_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_destroy' {$endif}; +procedure hb_buffer_get_segment_properties(buffer: Phb_buffer_t; props: Phb_segment_properties_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_get_segment_properties' {$endif}; +procedure hb_buffer_guess_segment_properties(buffer: Phb_buffer_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_guess_segment_properties' {$endif}; +procedure hb_buffer_normalize_glyphs(buffer: Phb_buffer_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_normalize_glyphs' {$endif}; +procedure hb_buffer_reset(buffer: Phb_buffer_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_reset' {$endif}; +procedure hb_buffer_reverse(buffer: Phb_buffer_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_reverse' {$endif}; +procedure hb_buffer_reverse_clusters(buffer: Phb_buffer_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_reverse_clusters' {$endif}; +procedure hb_buffer_reverse_range(buffer: Phb_buffer_t; start: guint; end_: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_reverse_range' {$endif}; +procedure hb_buffer_set_cluster_level(buffer: Phb_buffer_t; cluster_level: Thb_buffer_cluster_level_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_cluster_level' {$endif}; +procedure hb_buffer_set_content_type(buffer: Phb_buffer_t; content_type: Thb_buffer_content_type_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_content_type' {$endif}; +procedure hb_buffer_set_direction(buffer: Phb_buffer_t; direction: Thb_direction_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_direction' {$endif}; +procedure hb_buffer_set_flags(buffer: Phb_buffer_t; flags: Thb_buffer_flags_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_flags' {$endif}; +procedure hb_buffer_set_invisible_glyph(buffer: Phb_buffer_t; invisible: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_invisible_glyph' {$endif}; +procedure hb_buffer_set_language(buffer: Phb_buffer_t; language: Thb_language_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_language' {$endif}; +procedure hb_buffer_set_message_func(buffer: Phb_buffer_t; func: Thb_buffer_message_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_message_func' {$endif}; +procedure hb_buffer_set_not_found_glyph(buffer: Phb_buffer_t; not_found: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_not_found_glyph' {$endif}; +procedure hb_buffer_set_replacement_codepoint(buffer: Phb_buffer_t; replacement: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_replacement_codepoint' {$endif}; +procedure hb_buffer_set_script(buffer: Phb_buffer_t; script: Thb_script_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_script' {$endif}; +procedure hb_buffer_set_segment_properties(buffer: Phb_buffer_t; props: Phb_segment_properties_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_segment_properties' {$endif}; +procedure hb_buffer_set_unicode_funcs(buffer: Phb_buffer_t; unicode_funcs: Phb_unicode_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_buffer_set_unicode_funcs' {$endif}; +procedure hb_draw_close_path(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_close_path' {$endif}; +procedure hb_draw_cubic_to(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; control1_x: gfloat; control1_y: gfloat; control2_x: gfloat; control2_y: gfloat; to_x: gfloat; to_y: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_cubic_to' {$endif}; +procedure hb_draw_funcs_destroy(dfuncs: Phb_draw_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_destroy' {$endif}; +procedure hb_draw_funcs_make_immutable(dfuncs: Phb_draw_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_make_immutable' {$endif}; +procedure hb_draw_funcs_set_close_path_func(dfuncs: Phb_draw_funcs_t; func: Thb_draw_close_path_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_set_close_path_func' {$endif}; +procedure hb_draw_funcs_set_cubic_to_func(dfuncs: Phb_draw_funcs_t; func: Thb_draw_cubic_to_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_set_cubic_to_func' {$endif}; +procedure hb_draw_funcs_set_line_to_func(dfuncs: Phb_draw_funcs_t; func: Thb_draw_line_to_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_set_line_to_func' {$endif}; +procedure hb_draw_funcs_set_move_to_func(dfuncs: Phb_draw_funcs_t; func: Thb_draw_move_to_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_set_move_to_func' {$endif}; +procedure hb_draw_funcs_set_quadratic_to_func(dfuncs: Phb_draw_funcs_t; func: Thb_draw_quadratic_to_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_funcs_set_quadratic_to_func' {$endif}; +procedure hb_draw_line_to(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; to_x: gfloat; to_y: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_line_to' {$endif}; +procedure hb_draw_move_to(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; to_x: gfloat; to_y: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_move_to' {$endif}; +procedure hb_draw_quadratic_to(dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer; st: Phb_draw_state_t; control_x: gfloat; control_y: gfloat; to_x: gfloat; to_y: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_draw_quadratic_to' {$endif}; +procedure hb_face_builder_sort_tables(face: Phb_face_t; tags: Phb_tag_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_builder_sort_tables' {$endif}; +procedure hb_face_collect_nominal_glyph_mapping(face: Phb_face_t; mapping: Phb_map_t; unicodes: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_collect_nominal_glyph_mapping' {$endif}; +procedure hb_face_collect_unicodes(face: Phb_face_t; out_: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_collect_unicodes' {$endif}; +procedure hb_face_collect_variation_selectors(face: Phb_face_t; out_: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_collect_variation_selectors' {$endif}; +procedure hb_face_collect_variation_unicodes(face: Phb_face_t; variation_selector: Thb_codepoint_t; out_: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_collect_variation_unicodes' {$endif}; +procedure hb_face_destroy(face: Phb_face_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_destroy' {$endif}; +procedure hb_face_make_immutable(face: Phb_face_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_make_immutable' {$endif}; +procedure hb_face_set_glyph_count(face: Phb_face_t; glyph_count: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_set_glyph_count' {$endif}; +procedure hb_face_set_index(face: Phb_face_t; index: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_set_index' {$endif}; +procedure hb_face_set_upem(face: Phb_face_t; upem: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_face_set_upem' {$endif}; +procedure hb_feature_to_string(feature: Phb_feature_t; buf: Pgchar; size: Pguint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_feature_to_string' {$endif}; +procedure hb_font_add_glyph_origin_for_direction(font: Phb_font_t; glyph: Thb_codepoint_t; direction: Thb_direction_t; x: Phb_position_t; y: Phb_position_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_add_glyph_origin_for_direction' {$endif}; +procedure hb_font_changed(font: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_changed' {$endif}; +procedure hb_font_destroy(font: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_destroy' {$endif}; +procedure hb_font_draw_glyph(font: Phb_font_t; glyph: Thb_codepoint_t; dfuncs: Phb_draw_funcs_t; draw_data: Pgpointer); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_draw_glyph' {$endif}; +procedure hb_font_funcs_destroy(ffuncs: Phb_font_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_destroy' {$endif}; +procedure hb_font_funcs_make_immutable(ffuncs: Phb_font_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_make_immutable' {$endif}; +procedure hb_font_funcs_set_draw_glyph_func(ffuncs: Phb_font_funcs_t; func: Thb_font_draw_glyph_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_draw_glyph_func' {$endif}; +procedure hb_font_funcs_set_font_h_extents_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_font_h_extents_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_font_h_extents_func' {$endif}; +procedure hb_font_funcs_set_font_v_extents_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_font_v_extents_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_font_v_extents_func' {$endif}; +procedure hb_font_funcs_set_glyph_contour_point_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_contour_point_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_contour_point_func' {$endif}; +procedure hb_font_funcs_set_glyph_extents_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_extents_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_extents_func' {$endif}; +procedure hb_font_funcs_set_glyph_from_name_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_from_name_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_from_name_func' {$endif}; +procedure hb_font_funcs_set_glyph_h_advance_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_h_advance_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_h_advance_func' {$endif}; +procedure hb_font_funcs_set_glyph_h_advances_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_h_advances_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_h_advances_func' {$endif}; +procedure hb_font_funcs_set_glyph_h_kerning_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_h_kerning_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_h_kerning_func' {$endif}; +procedure hb_font_funcs_set_glyph_h_origin_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_h_origin_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_h_origin_func' {$endif}; +procedure hb_font_funcs_set_glyph_name_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_name_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_name_func' {$endif}; +procedure hb_font_funcs_set_glyph_v_advance_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_v_advance_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_v_advance_func' {$endif}; +procedure hb_font_funcs_set_glyph_v_advances_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_v_advances_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_v_advances_func' {$endif}; +procedure hb_font_funcs_set_glyph_v_origin_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_glyph_v_origin_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_glyph_v_origin_func' {$endif}; +procedure hb_font_funcs_set_nominal_glyph_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_nominal_glyph_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_nominal_glyph_func' {$endif}; +procedure hb_font_funcs_set_nominal_glyphs_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_nominal_glyphs_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_nominal_glyphs_func' {$endif}; +procedure hb_font_funcs_set_paint_glyph_func(ffuncs: Phb_font_funcs_t; func: Thb_font_paint_glyph_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_paint_glyph_func' {$endif}; +procedure hb_font_funcs_set_variation_glyph_func(ffuncs: Phb_font_funcs_t; func: Thb_font_get_variation_glyph_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_funcs_set_variation_glyph_func' {$endif}; +procedure hb_font_get_extents_for_direction(font: Phb_font_t; direction: Thb_direction_t; extents: Phb_font_extents_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_extents_for_direction' {$endif}; +procedure hb_font_get_glyph_advance_for_direction(font: Phb_font_t; glyph: Thb_codepoint_t; direction: Thb_direction_t; x: Phb_position_t; y: Phb_position_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_advance_for_direction' {$endif}; +procedure hb_font_get_glyph_advances_for_direction(font: Phb_font_t; direction: Thb_direction_t; count: guint; first_glyph: Phb_codepoint_t; glyph_stride: guint; first_advance: Phb_position_t; advance_stride: Pguint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_advances_for_direction' {$endif}; +procedure hb_font_get_glyph_h_advances(font: Phb_font_t; count: guint; first_glyph: Phb_codepoint_t; glyph_stride: guint; first_advance: Phb_position_t; advance_stride: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_h_advances' {$endif}; +procedure hb_font_get_glyph_kerning_for_direction(font: Phb_font_t; first_glyph: Thb_codepoint_t; second_glyph: Thb_codepoint_t; direction: Thb_direction_t; x: Phb_position_t; y: Phb_position_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_kerning_for_direction' {$endif}; +procedure hb_font_get_glyph_origin_for_direction(font: Phb_font_t; glyph: Thb_codepoint_t; direction: Thb_direction_t; x: Phb_position_t; y: Phb_position_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_origin_for_direction' {$endif}; +procedure hb_font_get_glyph_v_advances(font: Phb_font_t; count: guint; first_glyph: Phb_codepoint_t; glyph_stride: guint; first_advance: Phb_position_t; advance_stride: Pguint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_glyph_v_advances' {$endif}; +procedure hb_font_get_ppem(font: Phb_font_t; x_ppem: Pguint; y_ppem: Pguint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_ppem' {$endif}; +procedure hb_font_get_scale(font: Phb_font_t; x_scale: Pgint; y_scale: Pgint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_scale' {$endif}; +procedure hb_font_get_synthetic_bold(font: Phb_font_t; x_embolden: Pgfloat; y_embolden: Pgfloat; in_place: Phb_bool_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_get_synthetic_bold' {$endif}; +procedure hb_font_glyph_to_string(font: Phb_font_t; glyph: Thb_codepoint_t; s: Pgchar; size: Pguint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_glyph_to_string' {$endif}; +procedure hb_font_make_immutable(font: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_make_immutable' {$endif}; +procedure hb_font_paint_glyph(font: Phb_font_t; glyph: Thb_codepoint_t; pfuncs: Phb_paint_funcs_t; paint_data: Pgpointer; palette_index: guint; foreground: Thb_color_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_paint_glyph' {$endif}; +procedure hb_font_set_face(font: Phb_font_t; face: Phb_face_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_face' {$endif}; +procedure hb_font_set_funcs(font: Phb_font_t; klass: Phb_font_funcs_t; font_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_funcs' {$endif}; +procedure hb_font_set_funcs_data(font: Phb_font_t; font_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_funcs_data' {$endif}; +procedure hb_font_set_parent(font: Phb_font_t; parent: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_parent' {$endif}; +procedure hb_font_set_ppem(font: Phb_font_t; x_ppem: guint; y_ppem: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_ppem' {$endif}; +procedure hb_font_set_ptem(font: Phb_font_t; ptem: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_ptem' {$endif}; +procedure hb_font_set_scale(font: Phb_font_t; x_scale: gint; y_scale: gint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_scale' {$endif}; +procedure hb_font_set_synthetic_bold(font: Phb_font_t; x_embolden: gfloat; y_embolden: gfloat; in_place: Thb_bool_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_synthetic_bold' {$endif}; +procedure hb_font_set_synthetic_slant(font: Phb_font_t; slant: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_synthetic_slant' {$endif}; +procedure hb_font_set_var_coords_design(font: Phb_font_t; coords: Pgfloat; coords_length: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_var_coords_design' {$endif}; +procedure hb_font_set_var_coords_normalized(font: Phb_font_t; coords: Pgint; coords_length: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_var_coords_normalized' {$endif}; +procedure hb_font_set_var_named_instance(font: Phb_font_t; instance_index: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_var_named_instance' {$endif}; +procedure hb_font_set_variation(font: Phb_font_t; tag: Thb_tag_t; value: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_variation' {$endif}; +procedure hb_font_set_variations(font: Phb_font_t; variations: Phb_variation_t; variations_length: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_set_variations' {$endif}; +procedure hb_font_subtract_glyph_origin_for_direction(font: Phb_font_t; glyph: Thb_codepoint_t; direction: Thb_direction_t; x: Phb_position_t; y: Phb_position_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_font_subtract_glyph_origin_for_direction' {$endif}; +procedure hb_ft_font_changed(font: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ft_font_changed' {$endif}; +procedure hb_ft_font_set_funcs(font: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ft_font_set_funcs' {$endif}; +procedure hb_ft_font_set_load_flags(font: Phb_font_t; load_flags: gint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ft_font_set_load_flags' {$endif}; +procedure hb_ft_font_unlock_face(font: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ft_font_unlock_face' {$endif}; +procedure hb_map_clear(map: Phb_map_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_clear' {$endif}; +procedure hb_map_del(map: Phb_map_t; key: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_del' {$endif}; +procedure hb_map_destroy(map: Phb_map_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_destroy' {$endif}; +procedure hb_map_keys(map: Phb_map_t; keys: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_keys' {$endif}; +procedure hb_map_set(map: Phb_map_t; key: Thb_codepoint_t; value: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_set' {$endif}; +procedure hb_map_update(map: Phb_map_t; other: Phb_map_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_update' {$endif}; +procedure hb_map_values(map: Phb_map_t; values: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_map_values' {$endif}; +procedure hb_ot_font_set_funcs(font: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_font_set_funcs' {$endif}; +procedure hb_ot_layout_collect_features(face: Phb_face_t; table_tag: Thb_tag_t; scripts: Phb_tag_t; languages: Phb_tag_t; features: Phb_tag_t; feature_indexes: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_collect_features' {$endif}; +procedure hb_ot_layout_collect_lookups(face: Phb_face_t; table_tag: Thb_tag_t; scripts: Phb_tag_t; languages: Phb_tag_t; features: Phb_tag_t; lookup_indexes: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_collect_lookups' {$endif}; +procedure hb_ot_layout_get_baseline_with_fallback(font: Phb_font_t; baseline_tag: Thb_ot_layout_baseline_tag_t; direction: Thb_direction_t; script_tag: Thb_tag_t; language_tag: Thb_tag_t; coord: Phb_position_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_get_baseline_with_fallback' {$endif}; +procedure hb_ot_layout_get_glyphs_in_class(face: Phb_face_t; klass: Thb_ot_layout_glyph_class_t; glyphs: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_get_glyphs_in_class' {$endif}; +procedure hb_ot_layout_lookup_collect_glyphs(face: Phb_face_t; table_tag: Thb_tag_t; lookup_index: guint; glyphs_before: Phb_set_t; glyphs_input: Phb_set_t; glyphs_after: Phb_set_t; glyphs_output: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_lookup_collect_glyphs' {$endif}; +procedure hb_ot_layout_lookup_substitute_closure(face: Phb_face_t; lookup_index: guint; glyphs: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_lookup_substitute_closure' {$endif}; +procedure hb_ot_layout_lookups_substitute_closure(face: Phb_face_t; lookups: Phb_set_t; glyphs: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_layout_lookups_substitute_closure' {$endif}; +procedure hb_ot_metrics_get_position_with_fallback(font: Phb_font_t; metrics_tag: Thb_ot_metrics_tag_t; position: Phb_position_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_metrics_get_position_with_fallback' {$endif}; +procedure hb_ot_shape_glyphs_closure(font: Phb_font_t; buffer: Phb_buffer_t; features: Phb_feature_t; num_features: guint; glyphs: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_shape_glyphs_closure' {$endif}; +procedure hb_ot_shape_plan_collect_lookups(shape_plan: Phb_shape_plan_t; table_tag: Thb_tag_t; lookup_indexes: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_shape_plan_collect_lookups' {$endif}; +procedure hb_ot_tags_from_script_and_language(script: Thb_script_t; language: Thb_language_t; script_count: Pguint; script_tags: Phb_tag_t; language_count: Pguint; language_tags: Phb_tag_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_tags_from_script_and_language' {$endif}; +procedure hb_ot_tags_to_script_and_language(script_tag: Thb_tag_t; language_tag: Thb_tag_t; script: Phb_script_t; language: Phb_language_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_tags_to_script_and_language' {$endif}; +procedure hb_ot_var_normalize_coords(face: Phb_face_t; coords_length: guint; design_coords: Pgfloat; normalized_coords: Pgint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_normalize_coords' {$endif}; +procedure hb_ot_var_normalize_variations(face: Phb_face_t; variations: Phb_variation_t; variations_length: guint; coords: Pgint; coords_length: Pguint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_ot_var_normalize_variations' {$endif}; +procedure hb_paint_color(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; is_foreground: Thb_bool_t; color: Thb_color_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_color' {$endif}; +procedure hb_paint_funcs_destroy(funcs: Phb_paint_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_destroy' {$endif}; +procedure hb_paint_funcs_make_immutable(funcs: Phb_paint_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_make_immutable' {$endif}; +procedure hb_paint_funcs_set_color_func(funcs: Phb_paint_funcs_t; func: Thb_paint_color_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_color_func' {$endif}; +procedure hb_paint_funcs_set_custom_palette_color_func(funcs: Phb_paint_funcs_t; func: Thb_paint_custom_palette_color_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_custom_palette_color_func' {$endif}; +procedure hb_paint_funcs_set_image_func(funcs: Phb_paint_funcs_t; func: Thb_paint_image_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_image_func' {$endif}; +procedure hb_paint_funcs_set_linear_gradient_func(funcs: Phb_paint_funcs_t; func: Thb_paint_linear_gradient_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_linear_gradient_func' {$endif}; +procedure hb_paint_funcs_set_pop_clip_func(funcs: Phb_paint_funcs_t; func: Thb_paint_pop_clip_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_pop_clip_func' {$endif}; +procedure hb_paint_funcs_set_pop_group_func(funcs: Phb_paint_funcs_t; func: Thb_paint_pop_group_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_pop_group_func' {$endif}; +procedure hb_paint_funcs_set_pop_transform_func(funcs: Phb_paint_funcs_t; func: Thb_paint_pop_transform_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_pop_transform_func' {$endif}; +procedure hb_paint_funcs_set_push_clip_glyph_func(funcs: Phb_paint_funcs_t; func: Thb_paint_push_clip_glyph_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_push_clip_glyph_func' {$endif}; +procedure hb_paint_funcs_set_push_clip_rectangle_func(funcs: Phb_paint_funcs_t; func: Thb_paint_push_clip_rectangle_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_push_clip_rectangle_func' {$endif}; +procedure hb_paint_funcs_set_push_group_func(funcs: Phb_paint_funcs_t; func: Thb_paint_push_group_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_push_group_func' {$endif}; +procedure hb_paint_funcs_set_push_transform_func(funcs: Phb_paint_funcs_t; func: Thb_paint_push_transform_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_push_transform_func' {$endif}; +procedure hb_paint_funcs_set_radial_gradient_func(funcs: Phb_paint_funcs_t; func: Thb_paint_radial_gradient_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_radial_gradient_func' {$endif}; +procedure hb_paint_funcs_set_sweep_gradient_func(funcs: Phb_paint_funcs_t; func: Thb_paint_sweep_gradient_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_funcs_set_sweep_gradient_func' {$endif}; +procedure hb_paint_image(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; image: Phb_blob_t; width: guint; height: guint; format: Thb_tag_t; slant: gfloat; extents: Phb_glyph_extents_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_image' {$endif}; +procedure hb_paint_linear_gradient(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; color_line: Phb_color_line_t; x0: gfloat; y0: gfloat; x1: gfloat; y1: gfloat; x2: gfloat; y2: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_linear_gradient' {$endif}; +procedure hb_paint_pop_clip(funcs: Phb_paint_funcs_t; paint_data: Pgpointer); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_pop_clip' {$endif}; +procedure hb_paint_pop_group(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; mode: Thb_paint_composite_mode_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_pop_group' {$endif}; +procedure hb_paint_pop_transform(funcs: Phb_paint_funcs_t; paint_data: Pgpointer); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_pop_transform' {$endif}; +procedure hb_paint_push_clip_glyph(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; glyph: Thb_codepoint_t; font: Phb_font_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_push_clip_glyph' {$endif}; +procedure hb_paint_push_clip_rectangle(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; xmin: gfloat; ymin: gfloat; xmax: gfloat; ymax: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_push_clip_rectangle' {$endif}; +procedure hb_paint_push_group(funcs: Phb_paint_funcs_t; paint_data: Pgpointer); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_push_group' {$endif}; +procedure hb_paint_push_transform(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; xx: gfloat; yx: gfloat; xy: gfloat; yy: gfloat; dx: gfloat; dy: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_push_transform' {$endif}; +procedure hb_paint_radial_gradient(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; color_line: Phb_color_line_t; x0: gfloat; y0: gfloat; r0: gfloat; x1: gfloat; y1: gfloat; r1: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_radial_gradient' {$endif}; +procedure hb_paint_sweep_gradient(funcs: Phb_paint_funcs_t; paint_data: Pgpointer; color_line: Phb_color_line_t; x0: gfloat; y0: gfloat; start_angle: gfloat; end_angle: gfloat); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_paint_sweep_gradient' {$endif}; +procedure hb_segment_properties_overlay(p: Phb_segment_properties_t; src: Phb_segment_properties_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_segment_properties_overlay' {$endif}; +procedure hb_set_add(set_: Phb_set_t; codepoint: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_add' {$endif}; +procedure hb_set_add_range(set_: Phb_set_t; first: Thb_codepoint_t; last: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_add_range' {$endif}; +procedure hb_set_add_sorted_array(set_: Phb_set_t; sorted_codepoints: Phb_codepoint_t; num_codepoints: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_add_sorted_array' {$endif}; +procedure hb_set_clear(set_: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_clear' {$endif}; +procedure hb_set_del(set_: Phb_set_t; codepoint: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_del' {$endif}; +procedure hb_set_del_range(set_: Phb_set_t; first: Thb_codepoint_t; last: Thb_codepoint_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_del_range' {$endif}; +procedure hb_set_destroy(set_: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_destroy' {$endif}; +procedure hb_set_intersect(set_: Phb_set_t; other: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_intersect' {$endif}; +procedure hb_set_invert(set_: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_invert' {$endif}; +procedure hb_set_set(set_: Phb_set_t; other: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_set' {$endif}; +procedure hb_set_subtract(set_: Phb_set_t; other: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_subtract' {$endif}; +procedure hb_set_symmetric_difference(set_: Phb_set_t; other: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_symmetric_difference' {$endif}; +procedure hb_set_union(set_: Phb_set_t; other: Phb_set_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_set_union' {$endif}; +procedure hb_shape(font: Phb_font_t; buffer: Phb_buffer_t; features: Phb_feature_t; num_features: guint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape' {$endif}; +procedure hb_shape_plan_destroy(shape_plan: Phb_shape_plan_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_shape_plan_destroy' {$endif}; +procedure hb_tag_to_string(tag: Thb_tag_t; buf: Pgchar); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_tag_to_string' {$endif}; +procedure hb_unicode_funcs_destroy(ufuncs: Phb_unicode_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_destroy' {$endif}; +procedure hb_unicode_funcs_make_immutable(ufuncs: Phb_unicode_funcs_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_make_immutable' {$endif}; +procedure hb_unicode_funcs_set_combining_class_func(ufuncs: Phb_unicode_funcs_t; func: Thb_unicode_combining_class_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_set_combining_class_func' {$endif}; +procedure hb_unicode_funcs_set_compose_func(ufuncs: Phb_unicode_funcs_t; func: Thb_unicode_compose_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_set_compose_func' {$endif}; +procedure hb_unicode_funcs_set_decompose_func(ufuncs: Phb_unicode_funcs_t; func: Thb_unicode_decompose_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_set_decompose_func' {$endif}; +procedure hb_unicode_funcs_set_general_category_func(ufuncs: Phb_unicode_funcs_t; func: Thb_unicode_general_category_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_set_general_category_func' {$endif}; +procedure hb_unicode_funcs_set_mirroring_func(ufuncs: Phb_unicode_funcs_t; func: Thb_unicode_mirroring_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_set_mirroring_func' {$endif}; +procedure hb_unicode_funcs_set_script_func(ufuncs: Phb_unicode_funcs_t; func: Thb_unicode_script_func_t; user_data: Pgpointer; destroy_: Thb_destroy_func_t); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_unicode_funcs_set_script_func' {$endif}; +procedure hb_variation_to_string(variation: Phb_variation_t; buf: Pgchar; size: Pguint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_variation_to_string' {$endif}; +procedure hb_version(major: Pguint; minor: Pguint; micro: Pguint); cdecl; external {$ifdef MsWindows} LazHarfBuzz0_library name 'hb_version' {$endif}; +implementation +function Thb_language_t._string: Pgchar; cdecl; +begin + Result := LazHarfBuzz0.hb_language_to_string(self); +end; + +procedure Thb_feature_t._string(buf: Pgchar; size: Pguint); cdecl; +begin + LazHarfBuzz0.hb_feature_to_string(@self, buf, size); +end; + +procedure Thb_variation_t._string(buf: Pgchar; size: Pguint); cdecl; +begin + LazHarfBuzz0.hb_variation_to_string(@self, buf, size); +end; + +end. \ No newline at end of file diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazpango1.pas b/lcl/interfaces/gtk3/gtk3bindings/lazpango1.pas index 885a225c13..adc49c8e0a 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazpango1.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazpango1.pas @@ -6,13 +6,19 @@ unit LazPango1; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} {$LINKLIB libpango-1.0.so.0} +{$endif} interface uses - CTypes, LazGObject2, Lazcairo1, LazGLib2; + CTypes, LazGObject2, LazGio2, LazHarfBuzz0, Lazcairo1, LazGLib2; const - Pango1_library = 'libpango-1.0.so.0'; + {$ifdef MsWindows} + LazPango1_library = 'libpango-1.0.so.dll'; + {$else} + LazPango1_library = 'libpango-1.0.so.0'; + {$endif} PANGO_ANALYSIS_FLAG_CENTERED_BASELINE = 1; PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING = 0; diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazxlib2.pas b/lcl/interfaces/gtk3/gtk3bindings/lazxlib2.pas index d9c6080bef..5505e65166 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazxlib2.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazxlib2.pas @@ -6,27 +6,41 @@ unit Lazxlib2; {$PACKRECORDS C} {$MODESWITCH DUPLICATELOCALS+} +{$ifdef Unix} +{$endif} interface uses CTypes; const - xlib2_library = ''; + {$ifdef MsWindows} + Lazxlib2_library = '.dll'; + {$else} + Lazxlib2_library = ''; + {$endif} type + + { TAtom } PPAtom = ^PAtom; PAtom = ^TAtom; TAtom = culong; + + { TColormap } PPColormap = ^PColormap; PColormap = ^TColormap; TColormap = culong; + + { TCursor } PPCursor = ^PCursor; PCursor = ^TCursor; TCursor = culong; + + { TDisplay } PPDisplay = ^PDisplay; PDisplay = ^TDisplay; @@ -35,26 +49,38 @@ type + + { TDrawable } PPDrawable = ^PDrawable; PDrawable = ^TDrawable; TDrawable = culong; + + { TGC } PPGC = ^PGC; PGC = ^TGC; TGC = pointer; + + { TKeyCode } PPKeyCode = ^PKeyCode; PKeyCode = ^TKeyCode; TKeyCode = cuint8; + + { TKeySym } PPKeySym = ^PKeySym; PKeySym = ^TKeySym; TKeySym = culong; + + { TPicture } PPPicture = ^PPicture; PPicture = ^TPicture; TPicture = culong; + + { TScreen } PPScreen = ^PScreen; PScreen = ^TScreen; @@ -63,10 +89,14 @@ type + + { Time } PPime = ^Pime; Pime = ^Time; Time = culong; + + { TVisual } PPVisual = ^PVisual; PVisual = ^TVisual; @@ -75,18 +105,29 @@ type + + { TVisualID } PPVisualID = ^PVisualID; PVisualID = ^TVisualID; TVisualID = culong; + + { TWindow } PPWindow = ^PWindow; PWindow = ^TWindow; TWindow = culong; + + + { TXEvent } + PPXEvent = ^PXEvent; + PXEvent = ^TXEvent; TXEvent = record end; + + { TXConfigureEvent } PPXConfigureEvent = ^PXConfigureEvent; PXConfigureEvent = ^TXConfigureEvent; @@ -95,14 +136,20 @@ type + + { TXID } PPXID = ^PXID; PXID = ^TXID; TXID = culong; + + { TPixmap } PPPixmap = ^PPixmap; PPixmap = ^TPixmap; TPixmap = culong; + + { TXImage } PPXImage = ^PXImage; PXImage = ^TXImage; @@ -111,6 +158,8 @@ type + + { TXFontStruct } PPXFontStruct = ^PXFontStruct; PXFontStruct = ^TXFontStruct; @@ -119,6 +168,8 @@ type + + { TXTrapezoid } PPXTrapezoid = ^PXTrapezoid; PXTrapezoid = ^TXTrapezoid; @@ -127,6 +178,8 @@ type + + { TXVisualInfo } PPXVisualInfo = ^PXVisualInfo; PXVisualInfo = ^TXVisualInfo; @@ -135,6 +188,8 @@ type + + { TXWindowAttributes } PPXWindowAttributes = ^PXWindowAttributes; PXWindowAttributes = ^TXWindowAttributes; @@ -145,4 +200,4 @@ type procedure XOpenDisplay; cdecl; external; implementation -end. \ No newline at end of file +end.