|
|
|
@ -7,164 +7,169 @@
|
|
|
|
|
|
|
|
|
|
(define hb-direction-values
|
|
|
|
|
'(HB_DIRECTION_INVALID = 0
|
|
|
|
|
HB_DIRECTION_LTR = 4
|
|
|
|
|
HB_DIRECTION_RTL = 5
|
|
|
|
|
HB_DIRECTION_TTB = 6
|
|
|
|
|
HB_DIRECTION_BTT = 7))
|
|
|
|
|
HB_DIRECTION_LTR = 4
|
|
|
|
|
HB_DIRECTION_RTL = 5
|
|
|
|
|
HB_DIRECTION_TTB = 6
|
|
|
|
|
HB_DIRECTION_BTT = 7))
|
|
|
|
|
|
|
|
|
|
(define hb-cluster-levels
|
|
|
|
|
'(HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES = 0
|
|
|
|
|
HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS = 1
|
|
|
|
|
HB_BUFFER_CLUSTER_LEVEL_CHARACTERS = 2))
|
|
|
|
|
|
|
|
|
|
(define (->tag bstr)
|
|
|
|
|
(integer-bytes->integer bstr #f #;(= unsigned) 'big-endian))
|
|
|
|
|
|
|
|
|
|
(define hb-script-values
|
|
|
|
|
`(HB_SCRIPT_COMMON = ,(->tag #"Zyyy")
|
|
|
|
|
HB_SCRIPT_INHERITED = ,(->tag #"Zinh")
|
|
|
|
|
HB_SCRIPT_UNKNOWN = ,(->tag #"Zzzz")
|
|
|
|
|
HB_SCRIPT_ARABIC = ,(->tag #"Arab")
|
|
|
|
|
HB_SCRIPT_ARMENIAN
|
|
|
|
|
HB_SCRIPT_BENGALI
|
|
|
|
|
HB_SCRIPT_CYRILLIC
|
|
|
|
|
HB_SCRIPT_DEVANAGARI
|
|
|
|
|
HB_SCRIPT_GEORGIAN
|
|
|
|
|
HB_SCRIPT_GREEK
|
|
|
|
|
HB_SCRIPT_GUJARATI
|
|
|
|
|
HB_SCRIPT_GURMUKHI
|
|
|
|
|
HB_SCRIPT_HANGUL
|
|
|
|
|
HB_SCRIPT_HAN
|
|
|
|
|
HB_SCRIPT_HEBREW
|
|
|
|
|
HB_SCRIPT_HIRAGANA
|
|
|
|
|
HB_SCRIPT_KANNADA
|
|
|
|
|
HB_SCRIPT_KATAKANA
|
|
|
|
|
HB_SCRIPT_LAO
|
|
|
|
|
HB_SCRIPT_LATIN = ,(->tag #"Latn")
|
|
|
|
|
HB_SCRIPT_MALAYALAM
|
|
|
|
|
HB_SCRIPT_ORIYA
|
|
|
|
|
HB_SCRIPT_TAMIL
|
|
|
|
|
HB_SCRIPT_TELUGU
|
|
|
|
|
HB_SCRIPT_THAI
|
|
|
|
|
HB_SCRIPT_TIBETAN
|
|
|
|
|
HB_SCRIPT_BOPOMOFO
|
|
|
|
|
HB_SCRIPT_BRAILLE
|
|
|
|
|
HB_SCRIPT_CANADIAN_SYLLABICS
|
|
|
|
|
HB_SCRIPT_CHEROKEE
|
|
|
|
|
HB_SCRIPT_ETHIOPIC
|
|
|
|
|
HB_SCRIPT_KHMER
|
|
|
|
|
HB_SCRIPT_MONGOLIAN
|
|
|
|
|
HB_SCRIPT_MYANMAR
|
|
|
|
|
HB_SCRIPT_OGHAM
|
|
|
|
|
HB_SCRIPT_RUNIC
|
|
|
|
|
HB_SCRIPT_SINHALA
|
|
|
|
|
HB_SCRIPT_SYRIAC
|
|
|
|
|
HB_SCRIPT_THAANA
|
|
|
|
|
HB_SCRIPT_YI
|
|
|
|
|
HB_SCRIPT_DESERET
|
|
|
|
|
HB_SCRIPT_GOTHIC
|
|
|
|
|
HB_SCRIPT_OLD_ITALIC
|
|
|
|
|
HB_SCRIPT_BUHID
|
|
|
|
|
HB_SCRIPT_HANUNOO
|
|
|
|
|
HB_SCRIPT_TAGALOG
|
|
|
|
|
HB_SCRIPT_TAGBANWA
|
|
|
|
|
HB_SCRIPT_CYPRIOT
|
|
|
|
|
HB_SCRIPT_LIMBU
|
|
|
|
|
HB_SCRIPT_LINEAR_B
|
|
|
|
|
HB_SCRIPT_OSMANYA
|
|
|
|
|
HB_SCRIPT_SHAVIAN
|
|
|
|
|
HB_SCRIPT_TAI_LE
|
|
|
|
|
HB_SCRIPT_UGARITIC
|
|
|
|
|
HB_SCRIPT_BUGINESE
|
|
|
|
|
HB_SCRIPT_COPTIC
|
|
|
|
|
HB_SCRIPT_GLAGOLITIC
|
|
|
|
|
HB_SCRIPT_KHAROSHTHI
|
|
|
|
|
HB_SCRIPT_NEW_TAI_LUE
|
|
|
|
|
HB_SCRIPT_OLD_PERSIAN
|
|
|
|
|
HB_SCRIPT_SYLOTI_NAGRI
|
|
|
|
|
HB_SCRIPT_TIFINAGH
|
|
|
|
|
HB_SCRIPT_BALINESE
|
|
|
|
|
HB_SCRIPT_CUNEIFORM
|
|
|
|
|
HB_SCRIPT_NKO
|
|
|
|
|
HB_SCRIPT_PHAGS_PA
|
|
|
|
|
HB_SCRIPT_PHOENICIAN
|
|
|
|
|
HB_SCRIPT_CARIAN
|
|
|
|
|
HB_SCRIPT_CHAM
|
|
|
|
|
HB_SCRIPT_KAYAH_LI
|
|
|
|
|
HB_SCRIPT_LEPCHA
|
|
|
|
|
HB_SCRIPT_LYCIAN
|
|
|
|
|
HB_SCRIPT_LYDIAN
|
|
|
|
|
HB_SCRIPT_OL_CHIKI
|
|
|
|
|
HB_SCRIPT_REJANG
|
|
|
|
|
HB_SCRIPT_SAURASHTRA
|
|
|
|
|
HB_SCRIPT_SUNDANESE
|
|
|
|
|
HB_SCRIPT_VAI
|
|
|
|
|
HB_SCRIPT_AVESTAN
|
|
|
|
|
HB_SCRIPT_BAMUM
|
|
|
|
|
HB_SCRIPT_EGYPTIAN_HIEROGLYPHS
|
|
|
|
|
HB_SCRIPT_IMPERIAL_ARAMAIC
|
|
|
|
|
HB_SCRIPT_INSCRIPTIONAL_PAHLAVI
|
|
|
|
|
HB_SCRIPT_INSCRIPTIONAL_PARTHIAN
|
|
|
|
|
HB_SCRIPT_JAVANESE
|
|
|
|
|
HB_SCRIPT_KAITHI
|
|
|
|
|
HB_SCRIPT_LISU
|
|
|
|
|
HB_SCRIPT_MEETEI_MAYEK
|
|
|
|
|
HB_SCRIPT_OLD_SOUTH_ARABIAN
|
|
|
|
|
HB_SCRIPT_OLD_TURKIC
|
|
|
|
|
HB_SCRIPT_SAMARITAN
|
|
|
|
|
HB_SCRIPT_TAI_THAM
|
|
|
|
|
HB_SCRIPT_TAI_VIET
|
|
|
|
|
HB_SCRIPT_BATAK
|
|
|
|
|
HB_SCRIPT_BRAHMI
|
|
|
|
|
HB_SCRIPT_MANDAIC
|
|
|
|
|
HB_SCRIPT_CHAKMA
|
|
|
|
|
HB_SCRIPT_MEROITIC_CURSIVE
|
|
|
|
|
HB_SCRIPT_MEROITIC_HIEROGLYPHS
|
|
|
|
|
HB_SCRIPT_MIAO
|
|
|
|
|
HB_SCRIPT_SHARADA
|
|
|
|
|
HB_SCRIPT_SORA_SOMPENG
|
|
|
|
|
HB_SCRIPT_TAKRI
|
|
|
|
|
HB_SCRIPT_BASSA_VAH
|
|
|
|
|
HB_SCRIPT_CAUCASIAN_ALBANIAN
|
|
|
|
|
HB_SCRIPT_DUPLOYAN
|
|
|
|
|
HB_SCRIPT_ELBASAN
|
|
|
|
|
HB_SCRIPT_GRANTHA
|
|
|
|
|
HB_SCRIPT_KHOJKI
|
|
|
|
|
HB_SCRIPT_KHUDAWADI
|
|
|
|
|
HB_SCRIPT_LINEAR_A
|
|
|
|
|
HB_SCRIPT_MAHAJANI
|
|
|
|
|
HB_SCRIPT_MANICHAEAN
|
|
|
|
|
HB_SCRIPT_MENDE_KIKAKUI
|
|
|
|
|
HB_SCRIPT_MODI
|
|
|
|
|
HB_SCRIPT_MRO
|
|
|
|
|
HB_SCRIPT_NABATAEAN
|
|
|
|
|
HB_SCRIPT_OLD_NORTH_ARABIAN
|
|
|
|
|
HB_SCRIPT_OLD_PERMIC
|
|
|
|
|
HB_SCRIPT_PAHAWH_HMONG
|
|
|
|
|
HB_SCRIPT_PALMYRENE
|
|
|
|
|
HB_SCRIPT_PAU_CIN_HAU
|
|
|
|
|
HB_SCRIPT_PSALTER_PAHLAVI
|
|
|
|
|
HB_SCRIPT_SIDDHAM
|
|
|
|
|
HB_SCRIPT_TIRHUTA
|
|
|
|
|
HB_SCRIPT_WARANG_CITI
|
|
|
|
|
HB_SCRIPT_AHOM
|
|
|
|
|
HB_SCRIPT_ANATOLIAN_HIEROGLYPHS
|
|
|
|
|
HB_SCRIPT_HATRAN
|
|
|
|
|
HB_SCRIPT_MULTANI
|
|
|
|
|
HB_SCRIPT_OLD_HUNGARIAN
|
|
|
|
|
HB_SCRIPT_SIGNWRITING
|
|
|
|
|
HB_SCRIPT_ADLAM
|
|
|
|
|
HB_SCRIPT_BHAIKSUKI
|
|
|
|
|
HB_SCRIPT_MARCHEN
|
|
|
|
|
HB_SCRIPT_OSAGE
|
|
|
|
|
HB_SCRIPT_TANGUT
|
|
|
|
|
HB_SCRIPT_NEWA
|
|
|
|
|
HB_SCRIPT_MASARAM_GONDI
|
|
|
|
|
HB_SCRIPT_NUSHU
|
|
|
|
|
HB_SCRIPT_SOYOMBO
|
|
|
|
|
HB_SCRIPT_ZANABAZAR_SQUARE
|
|
|
|
|
HB_SCRIPT_DOGRA
|
|
|
|
|
HB_SCRIPT_GUNJALA_GONDI
|
|
|
|
|
HB_SCRIPT_HANIFI_ROHINGYA
|
|
|
|
|
HB_SCRIPT_MAKASAR
|
|
|
|
|
HB_SCRIPT_MEDEFAIDRIN
|
|
|
|
|
HB_SCRIPT_OLD_SOGDIAN
|
|
|
|
|
HB_SCRIPT_SOGDIAN
|
|
|
|
|
HB_SCRIPT_INVALID = ,(->tag #"\0\0\0\0")
|
|
|
|
|
_HB_SCRIPT_MAX_VALUE
|
|
|
|
|
_HB_SCRIPT_MAX_VALUE_SIGNED))
|
|
|
|
|
HB_SCRIPT_INHERITED = ,(->tag #"Zinh")
|
|
|
|
|
HB_SCRIPT_UNKNOWN = ,(->tag #"Zzzz")
|
|
|
|
|
HB_SCRIPT_ARABIC = ,(->tag #"Arab")
|
|
|
|
|
HB_SCRIPT_ARMENIAN
|
|
|
|
|
HB_SCRIPT_BENGALI
|
|
|
|
|
HB_SCRIPT_CYRILLIC
|
|
|
|
|
HB_SCRIPT_DEVANAGARI
|
|
|
|
|
HB_SCRIPT_GEORGIAN
|
|
|
|
|
HB_SCRIPT_GREEK
|
|
|
|
|
HB_SCRIPT_GUJARATI
|
|
|
|
|
HB_SCRIPT_GURMUKHI
|
|
|
|
|
HB_SCRIPT_HANGUL
|
|
|
|
|
HB_SCRIPT_HAN
|
|
|
|
|
HB_SCRIPT_HEBREW
|
|
|
|
|
HB_SCRIPT_HIRAGANA
|
|
|
|
|
HB_SCRIPT_KANNADA
|
|
|
|
|
HB_SCRIPT_KATAKANA
|
|
|
|
|
HB_SCRIPT_LAO
|
|
|
|
|
HB_SCRIPT_LATIN = ,(->tag #"Latn")
|
|
|
|
|
HB_SCRIPT_MALAYALAM
|
|
|
|
|
HB_SCRIPT_ORIYA
|
|
|
|
|
HB_SCRIPT_TAMIL
|
|
|
|
|
HB_SCRIPT_TELUGU
|
|
|
|
|
HB_SCRIPT_THAI
|
|
|
|
|
HB_SCRIPT_TIBETAN
|
|
|
|
|
HB_SCRIPT_BOPOMOFO
|
|
|
|
|
HB_SCRIPT_BRAILLE
|
|
|
|
|
HB_SCRIPT_CANADIAN_SYLLABICS
|
|
|
|
|
HB_SCRIPT_CHEROKEE
|
|
|
|
|
HB_SCRIPT_ETHIOPIC
|
|
|
|
|
HB_SCRIPT_KHMER
|
|
|
|
|
HB_SCRIPT_MONGOLIAN
|
|
|
|
|
HB_SCRIPT_MYANMAR
|
|
|
|
|
HB_SCRIPT_OGHAM
|
|
|
|
|
HB_SCRIPT_RUNIC
|
|
|
|
|
HB_SCRIPT_SINHALA
|
|
|
|
|
HB_SCRIPT_SYRIAC
|
|
|
|
|
HB_SCRIPT_THAANA
|
|
|
|
|
HB_SCRIPT_YI
|
|
|
|
|
HB_SCRIPT_DESERET
|
|
|
|
|
HB_SCRIPT_GOTHIC
|
|
|
|
|
HB_SCRIPT_OLD_ITALIC
|
|
|
|
|
HB_SCRIPT_BUHID
|
|
|
|
|
HB_SCRIPT_HANUNOO
|
|
|
|
|
HB_SCRIPT_TAGALOG
|
|
|
|
|
HB_SCRIPT_TAGBANWA
|
|
|
|
|
HB_SCRIPT_CYPRIOT
|
|
|
|
|
HB_SCRIPT_LIMBU
|
|
|
|
|
HB_SCRIPT_LINEAR_B
|
|
|
|
|
HB_SCRIPT_OSMANYA
|
|
|
|
|
HB_SCRIPT_SHAVIAN
|
|
|
|
|
HB_SCRIPT_TAI_LE
|
|
|
|
|
HB_SCRIPT_UGARITIC
|
|
|
|
|
HB_SCRIPT_BUGINESE
|
|
|
|
|
HB_SCRIPT_COPTIC
|
|
|
|
|
HB_SCRIPT_GLAGOLITIC
|
|
|
|
|
HB_SCRIPT_KHAROSHTHI
|
|
|
|
|
HB_SCRIPT_NEW_TAI_LUE
|
|
|
|
|
HB_SCRIPT_OLD_PERSIAN
|
|
|
|
|
HB_SCRIPT_SYLOTI_NAGRI
|
|
|
|
|
HB_SCRIPT_TIFINAGH
|
|
|
|
|
HB_SCRIPT_BALINESE
|
|
|
|
|
HB_SCRIPT_CUNEIFORM
|
|
|
|
|
HB_SCRIPT_NKO
|
|
|
|
|
HB_SCRIPT_PHAGS_PA
|
|
|
|
|
HB_SCRIPT_PHOENICIAN
|
|
|
|
|
HB_SCRIPT_CARIAN
|
|
|
|
|
HB_SCRIPT_CHAM
|
|
|
|
|
HB_SCRIPT_KAYAH_LI
|
|
|
|
|
HB_SCRIPT_LEPCHA
|
|
|
|
|
HB_SCRIPT_LYCIAN
|
|
|
|
|
HB_SCRIPT_LYDIAN
|
|
|
|
|
HB_SCRIPT_OL_CHIKI
|
|
|
|
|
HB_SCRIPT_REJANG
|
|
|
|
|
HB_SCRIPT_SAURASHTRA
|
|
|
|
|
HB_SCRIPT_SUNDANESE
|
|
|
|
|
HB_SCRIPT_VAI
|
|
|
|
|
HB_SCRIPT_AVESTAN
|
|
|
|
|
HB_SCRIPT_BAMUM
|
|
|
|
|
HB_SCRIPT_EGYPTIAN_HIEROGLYPHS
|
|
|
|
|
HB_SCRIPT_IMPERIAL_ARAMAIC
|
|
|
|
|
HB_SCRIPT_INSCRIPTIONAL_PAHLAVI
|
|
|
|
|
HB_SCRIPT_INSCRIPTIONAL_PARTHIAN
|
|
|
|
|
HB_SCRIPT_JAVANESE
|
|
|
|
|
HB_SCRIPT_KAITHI
|
|
|
|
|
HB_SCRIPT_LISU
|
|
|
|
|
HB_SCRIPT_MEETEI_MAYEK
|
|
|
|
|
HB_SCRIPT_OLD_SOUTH_ARABIAN
|
|
|
|
|
HB_SCRIPT_OLD_TURKIC
|
|
|
|
|
HB_SCRIPT_SAMARITAN
|
|
|
|
|
HB_SCRIPT_TAI_THAM
|
|
|
|
|
HB_SCRIPT_TAI_VIET
|
|
|
|
|
HB_SCRIPT_BATAK
|
|
|
|
|
HB_SCRIPT_BRAHMI
|
|
|
|
|
HB_SCRIPT_MANDAIC
|
|
|
|
|
HB_SCRIPT_CHAKMA
|
|
|
|
|
HB_SCRIPT_MEROITIC_CURSIVE
|
|
|
|
|
HB_SCRIPT_MEROITIC_HIEROGLYPHS
|
|
|
|
|
HB_SCRIPT_MIAO
|
|
|
|
|
HB_SCRIPT_SHARADA
|
|
|
|
|
HB_SCRIPT_SORA_SOMPENG
|
|
|
|
|
HB_SCRIPT_TAKRI
|
|
|
|
|
HB_SCRIPT_BASSA_VAH
|
|
|
|
|
HB_SCRIPT_CAUCASIAN_ALBANIAN
|
|
|
|
|
HB_SCRIPT_DUPLOYAN
|
|
|
|
|
HB_SCRIPT_ELBASAN
|
|
|
|
|
HB_SCRIPT_GRANTHA
|
|
|
|
|
HB_SCRIPT_KHOJKI
|
|
|
|
|
HB_SCRIPT_KHUDAWADI
|
|
|
|
|
HB_SCRIPT_LINEAR_A
|
|
|
|
|
HB_SCRIPT_MAHAJANI
|
|
|
|
|
HB_SCRIPT_MANICHAEAN
|
|
|
|
|
HB_SCRIPT_MENDE_KIKAKUI
|
|
|
|
|
HB_SCRIPT_MODI
|
|
|
|
|
HB_SCRIPT_MRO
|
|
|
|
|
HB_SCRIPT_NABATAEAN
|
|
|
|
|
HB_SCRIPT_OLD_NORTH_ARABIAN
|
|
|
|
|
HB_SCRIPT_OLD_PERMIC
|
|
|
|
|
HB_SCRIPT_PAHAWH_HMONG
|
|
|
|
|
HB_SCRIPT_PALMYRENE
|
|
|
|
|
HB_SCRIPT_PAU_CIN_HAU
|
|
|
|
|
HB_SCRIPT_PSALTER_PAHLAVI
|
|
|
|
|
HB_SCRIPT_SIDDHAM
|
|
|
|
|
HB_SCRIPT_TIRHUTA
|
|
|
|
|
HB_SCRIPT_WARANG_CITI
|
|
|
|
|
HB_SCRIPT_AHOM
|
|
|
|
|
HB_SCRIPT_ANATOLIAN_HIEROGLYPHS
|
|
|
|
|
HB_SCRIPT_HATRAN
|
|
|
|
|
HB_SCRIPT_MULTANI
|
|
|
|
|
HB_SCRIPT_OLD_HUNGARIAN
|
|
|
|
|
HB_SCRIPT_SIGNWRITING
|
|
|
|
|
HB_SCRIPT_ADLAM
|
|
|
|
|
HB_SCRIPT_BHAIKSUKI
|
|
|
|
|
HB_SCRIPT_MARCHEN
|
|
|
|
|
HB_SCRIPT_OSAGE
|
|
|
|
|
HB_SCRIPT_TANGUT
|
|
|
|
|
HB_SCRIPT_NEWA
|
|
|
|
|
HB_SCRIPT_MASARAM_GONDI
|
|
|
|
|
HB_SCRIPT_NUSHU
|
|
|
|
|
HB_SCRIPT_SOYOMBO
|
|
|
|
|
HB_SCRIPT_ZANABAZAR_SQUARE
|
|
|
|
|
HB_SCRIPT_DOGRA
|
|
|
|
|
HB_SCRIPT_GUNJALA_GONDI
|
|
|
|
|
HB_SCRIPT_HANIFI_ROHINGYA
|
|
|
|
|
HB_SCRIPT_MAKASAR
|
|
|
|
|
HB_SCRIPT_MEDEFAIDRIN
|
|
|
|
|
HB_SCRIPT_OLD_SOGDIAN
|
|
|
|
|
HB_SCRIPT_SOGDIAN
|
|
|
|
|
HB_SCRIPT_INVALID = ,(->tag #"\0\0\0\0")
|
|
|
|
|
_HB_SCRIPT_MAX_VALUE
|
|
|
|
|
_HB_SCRIPT_MAX_VALUE_SIGNED))
|