sig
val unicode_version : string
type uchar = int
module Uchar :
sig
type t = Uucp.uchar
val min : Uucp.uchar
val max : Uucp.uchar
val is_uchar : int -> bool
val succ : Uucp.uchar -> Uucp.uchar
val pred : Uucp.uchar -> Uucp.uchar
val of_int : int -> Uucp.uchar
val unsafe_of_int : int -> Uucp.Uchar.t
val to_int : Uucp.uchar -> int
val equal : Uucp.uchar -> Uucp.uchar -> bool
val compare : Uucp.uchar -> Uucp.uchar -> int
val fold : ('a -> Uucp.uchar -> 'a) -> 'a -> 'a
val iter : (Uucp.uchar -> unit) -> unit
val pp : Format.formatter -> Uucp.uchar -> unit
end
module Age :
sig
type t = [ `Unassigned | `Version of int * int ]
val compare : Uucp.Age.t -> Uucp.Age.t -> int
val pp : Format.formatter -> Uucp.Age.t -> unit
val age : Uucp.uchar -> Uucp.Age.t
end
module Alpha : sig val is_alphabetic : Uucp.uchar -> bool end
module Block :
sig
type t =
[ `ASCII
| `Aegean_Numbers
| `Ahom
| `Alchemical
| `Alphabetic_PF
| `Anatolian_Hieroglyphs
| `Ancient_Greek_Music
| `Ancient_Greek_Numbers
| `Ancient_Symbols
| `Arabic
| `Arabic_Ext_A
| `Arabic_Math
| `Arabic_PF_A
| `Arabic_PF_B
| `Arabic_Sup
| `Armenian
| `Arrows
| `Avestan
| `Balinese
| `Bamum
| `Bamum_Sup
| `Bassa_Vah
| `Batak
| `Bengali
| `Block_Elements
| `Bopomofo
| `Bopomofo_Ext
| `Box_Drawing
| `Brahmi
| `Braille
| `Buginese
| `Buhid
| `Byzantine_Music
| `CJK
| `CJK_Compat
| `CJK_Compat_Forms
| `CJK_Compat_Ideographs
| `CJK_Compat_Ideographs_Sup
| `CJK_Ext_A
| `CJK_Ext_B
| `CJK_Ext_C
| `CJK_Ext_D
| `CJK_Ext_E
| `CJK_Radicals_Sup
| `CJK_Strokes
| `CJK_Symbols
| `Carian
| `Caucasian_Albanian
| `Chakma
| `Cham
| `Cherokee
| `Cherokee_Sup
| `Compat_Jamo
| `Control_Pictures
| `Coptic
| `Coptic_Epact_Numbers
| `Counting_Rod
| `Cuneiform
| `Cuneiform_Numbers
| `Currency_Symbols
| `Cypriot_Syllabary
| `Cyrillic
| `Cyrillic_Ext_A
| `Cyrillic_Ext_B
| `Cyrillic_Sup
| `Deseret
| `Devanagari
| `Devanagari_Ext
| `Diacriticals
| `Diacriticals_Ext
| `Diacriticals_For_Symbols
| `Diacriticals_Sup
| `Dingbats
| `Domino
| `Duployan
| `Early_Dynastic_Cuneiform
| `Egyptian_Hieroglyphs
| `Elbasan
| `Emoticons
| `Enclosed_Alphanum
| `Enclosed_Alphanum_Sup
| `Enclosed_CJK
| `Enclosed_Ideographic_Sup
| `Ethiopic
| `Ethiopic_Ext
| `Ethiopic_Ext_A
| `Ethiopic_Sup
| `Geometric_Shapes
| `Geometric_Shapes_Ext
| `Georgian
| `Georgian_Sup
| `Glagolitic
| `Gothic
| `Grantha
| `Greek
| `Greek_Ext
| `Gujarati
| `Gurmukhi
| `Half_And_Full_Forms
| `Half_Marks
| `Hangul
| `Hanunoo
| `Hatran
| `Hebrew
| `Hiragana
| `IDC
| `IPA_Ext
| `Imperial_Aramaic
| `Indic_Number_Forms
| `Inscriptional_Pahlavi
| `Inscriptional_Parthian
| `Jamo
| `Jamo_Ext_A
| `Jamo_Ext_B
| `Javanese
| `Kaithi
| `Kana_Sup
| `Kanbun
| `Kangxi
| `Kannada
| `Katakana
| `Katakana_Ext
| `Kayah_Li
| `Kharoshthi
| `Khmer
| `Khmer_Symbols
| `Khojki
| `Khudawadi
| `Lao
| `Latin_1_Sup
| `Latin_Ext_A
| `Latin_Ext_Additional
| `Latin_Ext_B
| `Latin_Ext_C
| `Latin_Ext_D
| `Latin_Ext_E
| `Lepcha
| `Letterlike_Symbols
| `Limbu
| `Linear_A
| `Linear_B_Ideograms
| `Linear_B_Syllabary
| `Lisu
| `Lycian
| `Lydian
| `Mahajani
| `Mahjong
| `Malayalam
| `Mandaic
| `Manichaean
| `Math_Alphanum
| `Math_Operators
| `Meetei_Mayek
| `Meetei_Mayek_Ext
| `Mende_Kikakui
| `Meroitic_Cursive
| `Meroitic_Hieroglyphs
| `Miao
| `Misc_Arrows
| `Misc_Math_Symbols_A
| `Misc_Math_Symbols_B
| `Misc_Pictographs
| `Misc_Symbols
| `Misc_Technical
| `Modi
| `Modifier_Letters
| `Modifier_Tone_Letters
| `Mongolian
| `Mro
| `Multani
| `Music
| `Myanmar
| `Myanmar_Ext_A
| `Myanmar_Ext_B
| `NB
| `NKo
| `Nabataean
| `New_Tai_Lue
| `Number_Forms
| `OCR
| `Ogham
| `Ol_Chiki
| `Old_Hungarian
| `Old_Italic
| `Old_North_Arabian
| `Old_Permic
| `Old_Persian
| `Old_South_Arabian
| `Old_Turkic
| `Oriya
| `Ornamental_Dingbats
| `Osmanya
| `PUA
| `Pahawh_Hmong
| `Palmyrene
| `Pau_Cin_Hau
| `Phags_Pa
| `Phaistos
| `Phoenician
| `Phonetic_Ext
| `Phonetic_Ext_Sup
| `Playing_Cards
| `Psalter_Pahlavi
| `Punctuation
| `Rejang
| `Rumi
| `Runic
| `Samaritan
| `Saurashtra
| `Sharada
| `Shavian
| `Shorthand_Format_Controls
| `Siddham
| `Sinhala
| `Sinhala_Archaic_Numbers
| `Small_Forms
| `Sora_Sompeng
| `Specials
| `Sundanese
| `Sundanese_Sup
| `Sup_Arrows_A
| `Sup_Arrows_B
| `Sup_Arrows_C
| `Sup_Math_Operators
| `Sup_PUA_A
| `Sup_PUA_B
| `Sup_Punctuation
| `Sup_Symbols_And_Pictographs
| `Super_And_Sub
| `Sutton_SignWriting
| `Syloti_Nagri
| `Syriac
| `Tagalog
| `Tagbanwa
| `Tags
| `Tai_Le
| `Tai_Tham
| `Tai_Viet
| `Tai_Xuan_Jing
| `Takri
| `Tamil
| `Telugu
| `Thaana
| `Thai
| `Tibetan
| `Tifinagh
| `Tirhuta
| `Transport_And_Map
| `UCAS
| `UCAS_Ext
| `Ugaritic
| `VS
| `VS_Sup
| `Vai
| `Vedic_Ext
| `Vertical_Forms
| `Warang_Citi
| `Yi_Radicals
| `Yi_Syllables
| `Yijing ]
val compare : Uucp.Block.t -> Uucp.Block.t -> int
val pp : Format.formatter -> Uucp.Block.t -> unit
val blocks : (Uucp.Block.t * (Uucp.uchar * Uucp.uchar)) list
val block : Uucp.uchar -> Uucp.Block.t
end
module Break :
sig
type line =
[ `AI
| `AL
| `B2
| `BA
| `BB
| `BK
| `CB
| `CJ
| `CL
| `CM
| `CP
| `CR
| `EX
| `GL
| `H2
| `H3
| `HL
| `HY
| `ID
| `IN
| `IS
| `JL
| `JT
| `JV
| `LF
| `NL
| `NS
| `NU
| `OP
| `PO
| `PR
| `QU
| `RI
| `SA
| `SG
| `SP
| `SY
| `WJ
| `XX
| `ZW ]
val pp_line : Format.formatter -> Uucp.Break.line -> unit
val line : Uucp.uchar -> Uucp.Break.line
type grapheme_cluster =
[ `CN
| `CR
| `EX
| `L
| `LF
| `LV
| `LVT
| `PP
| `RI
| `SM
| `T
| `V
| `XX ]
val pp_grapheme_cluster :
Format.formatter -> Uucp.Break.grapheme_cluster -> unit
val grapheme_cluster : Uucp.uchar -> Uucp.Break.grapheme_cluster
type word =
[ `CR
| `DQ
| `EX
| `Extend
| `FO
| `HL
| `KA
| `LE
| `LF
| `MB
| `ML
| `MN
| `NL
| `NU
| `RI
| `SQ
| `XX ]
val pp_word : Format.formatter -> Uucp.Break.word -> unit
val word : Uucp.uchar -> Uucp.Break.word
type sentence =
[ `AT
| `CL
| `CR
| `EX
| `FO
| `LE
| `LF
| `LO
| `NU
| `SC
| `SE
| `SP
| `ST
| `UP
| `XX ]
val pp_sentence : Format.formatter -> Uucp.Break.sentence -> unit
val sentence : Uucp.uchar -> Uucp.Break.sentence
type east_asian_width = [ `A | `F | `H | `N | `Na | `W ]
val pp_east_asian_width :
Format.formatter -> Uucp.Break.east_asian_width -> unit
val east_asian_width : Uucp.uchar -> Uucp.Break.east_asian_width
val tty_width_hint : Uucp.uchar -> int
module Low :
sig
val line : Uucp.uchar -> int
val line_max : int
val line_of_int : Uucp.Break.line array
val grapheme_cluster : Uucp.uchar -> int
val grapheme_cluster_max : int
val grapheme_cluster_of_int : Uucp.Break.grapheme_cluster array
val word : Uucp.uchar -> int
val word_max : int
val word_of_int : Uucp.Break.word array
val sentence : Uucp.uchar -> int
val sentence_max : int
val sentence_of_int : Uucp.Break.sentence array
end
end
module Case :
sig
val is_lower : Uucp.uchar -> bool
val is_upper : Uucp.uchar -> bool
val is_cased : Uucp.uchar -> bool
val is_case_ignorable : Uucp.uchar -> bool
module Map :
sig
val to_lower : Uucp.uchar -> [ `Self | `Uchars of Uucp.uchar list ]
val to_upper : Uucp.uchar -> [ `Self | `Uchars of Uucp.uchar list ]
val to_title : Uucp.uchar -> [ `Self | `Uchars of Uucp.uchar list ]
end
module Fold :
sig
val fold : Uucp.uchar -> [ `Self | `Uchars of Uucp.uchar list ]
end
module Nfkc_fold :
sig
val fold : Uucp.uchar -> [ `Self | `Uchars of Uucp.uchar list ]
end
end
module Cjk :
sig
val is_ideographic : Uucp.uchar -> bool
val is_ids_bin_op : Uucp.uchar -> bool
val is_ids_tri_op : Uucp.uchar -> bool
val is_radical : Uucp.uchar -> bool
val is_unified_ideograph : Uucp.uchar -> bool
end
module Func :
sig
val is_dash : Uucp.uchar -> bool
val is_diacritic : Uucp.uchar -> bool
val is_extender : Uucp.uchar -> bool
val is_grapheme_base : Uucp.uchar -> bool
val is_grapheme_extend : Uucp.uchar -> bool
val is_math : Uucp.uchar -> bool
val is_quotation_mark : Uucp.uchar -> bool
val is_soft_dotted : Uucp.uchar -> bool
val is_terminal_punctuation : Uucp.uchar -> bool
end
module Gc :
sig
type t =
[ `Cc
| `Cf
| `Cn
| `Co
| `Cs
| `Ll
| `Lm
| `Lo
| `Lt
| `Lu
| `Mc
| `Me
| `Mn
| `Nd
| `Nl
| `No
| `Pc
| `Pd
| `Pe
| `Pf
| `Pi
| `Po
| `Ps
| `Sc
| `Sk
| `Sm
| `So
| `Zl
| `Zp
| `Zs ]
val compare : Uucp.Gc.t -> Uucp.Gc.t -> int
val pp : Format.formatter -> Uucp.Gc.t -> unit
val general_category : Uucp.uchar -> Uucp.Gc.t
end
module Gen :
sig
val is_default_ignorable : Uucp.uchar -> bool
val is_deprecated : Uucp.uchar -> bool
val is_logical_order_exception : Uucp.uchar -> bool
val is_non_character : Uucp.uchar -> bool
val is_variation_selector : Uucp.uchar -> bool
end
module Id :
sig
val is_id_start : Uucp.uchar -> bool
val is_id_continue : Uucp.uchar -> bool
val is_xid_start : Uucp.uchar -> bool
val is_xid_continue : Uucp.uchar -> bool
val is_pattern_syntax : Uucp.uchar -> bool
val is_pattern_white_space : Uucp.uchar -> bool
end
module Name :
sig
val name : Uucp.uchar -> string
type alias_tag =
[ `Abbreviation | `Alternate | `Control | `Correction | `Figment ]
val pp_alias_tag : Format.formatter -> Uucp.Name.alias_tag -> unit
val name_alias : Uucp.uchar -> (Uucp.Name.alias_tag * string) list
end
module Num :
sig
val is_ascii_hex_digit : Uucp.uchar -> bool
val is_hex_digit : Uucp.uchar -> bool
type numeric_type = [ `De | `Di | `None | `Nu ]
val pp_numeric_type : Format.formatter -> Uucp.Num.numeric_type -> unit
val numeric_type : Uucp.uchar -> Uucp.Num.numeric_type
type numeric_value = [ `Frac of int * int | `NaN | `Num of int64 ]
val pp_numeric_value :
Format.formatter -> Uucp.Num.numeric_value -> unit
val numeric_value :
Uucp.uchar -> [ `Frac of int * int | `NaN | `Num of int64 ]
end
module Script :
sig
type t =
[ `Aghb
| `Ahom
| `Arab
| `Armi
| `Armn
| `Avst
| `Bali
| `Bamu
| `Bass
| `Batk
| `Beng
| `Bopo
| `Brah
| `Brai
| `Bugi
| `Buhd
| `Cakm
| `Cans
| `Cari
| `Cham
| `Cher
| `Copt
| `Cprt
| `Cyrl
| `Deva
| `Dsrt
| `Dupl
| `Egyp
| `Elba
| `Ethi
| `Geor
| `Glag
| `Goth
| `Gran
| `Grek
| `Gujr
| `Guru
| `Hang
| `Hani
| `Hano
| `Hatr
| `Hebr
| `Hira
| `Hluw
| `Hmng
| `Hrkt
| `Hung
| `Ital
| `Java
| `Kali
| `Kana
| `Khar
| `Khmr
| `Khoj
| `Knda
| `Kthi
| `Lana
| `Laoo
| `Latn
| `Lepc
| `Limb
| `Lina
| `Linb
| `Lisu
| `Lyci
| `Lydi
| `Mahj
| `Mand
| `Mani
| `Mend
| `Merc
| `Mero
| `Mlym
| `Modi
| `Mong
| `Mroo
| `Mtei
| `Mult
| `Mymr
| `Narb
| `Nbat
| `Nkoo
| `Ogam
| `Olck
| `Orkh
| `Orya
| `Osma
| `Palm
| `Pauc
| `Perm
| `Phag
| `Phli
| `Phlp
| `Phnx
| `Plrd
| `Prti
| `Qaai
| `Rjng
| `Runr
| `Samr
| `Sarb
| `Saur
| `Sgnw
| `Shaw
| `Shrd
| `Sidd
| `Sind
| `Sinh
| `Sora
| `Sund
| `Sylo
| `Syrc
| `Tagb
| `Takr
| `Tale
| `Talu
| `Taml
| `Tavt
| `Telu
| `Tfng
| `Tglg
| `Thaa
| `Thai
| `Tibt
| `Tirh
| `Ugar
| `Vaii
| `Wara
| `Xpeo
| `Xsux
| `Yiii
| `Zinh
| `Zyyy
| `Zzzz ]
val compare : Uucp.Script.t -> Uucp.Script.t -> int
val pp : Format.formatter -> Uucp.Script.t -> unit
val script : Uucp.uchar -> Uucp.Script.t
val script_extensions : Uucp.uchar -> Uucp.Script.t list
end
module White : sig val is_white_space : Uucp.uchar -> bool end
module Cmap :
sig
type 'a tree =
Empty
| C of int * 'a
| Cn of 'a Uucp.Cmap.tree * 'a Uucp.Cmap.tree * int * 'a
type 'a t = { default : 'a; tree : 'a Uucp.Cmap.tree; }
val get : 'a Uucp.Cmap.t -> int -> 'a
val of_sorted_list : 'a -> [ `C of int * 'a ] list -> 'a Uucp.Cmap.t
val height : 'a Uucp.Cmap.t -> int
val word_size : ('a -> int) -> 'a Uucp.Cmap.t -> int
val dump :
(Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a Uucp.Cmap.t -> unit
end
module Rmap :
sig
type 'a tree =
Empty
| R of int * int * 'a
| Rn of 'a Uucp.Rmap.tree * 'a Uucp.Rmap.tree * int * int * 'a
type 'a t = { default : 'a; tree : 'a Uucp.Rmap.tree; }
val get : 'a Uucp.Rmap.t -> int -> 'a
val of_sorted_list :
'a -> [ `R of int * int * 'a ] list -> 'a Uucp.Rmap.t
val height : 'a Uucp.Rmap.t -> int
val word_size : ('a -> int) -> 'a Uucp.Rmap.t -> int
val dump :
(Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a Uucp.Rmap.t -> unit
end
module Tmap :
sig
type 'a t = { default : 'a; l0 : 'a array array array; }
val nil : 'a array
val create : 'a -> 'a Uucp.Tmap.t
val get : 'a Uucp.Tmap.t -> int -> 'a
val set : 'a Uucp.Tmap.t -> int -> 'a -> unit
val word_size : ('a -> int) -> 'a Uucp.Tmap.t -> int
val dump :
(Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a Uucp.Tmap.t -> unit
end
module Tmapbool :
sig
type t = { default : bool; l0 : string array array; }
val nil : 'a array
val snil : string
val create : bool -> Uucp.Tmapbool.t
val get : Uucp.Tmapbool.t -> int -> bool
val set : Uucp.Tmapbool.t -> int -> bool -> unit
val word_size : Uucp.Tmapbool.t -> int
val dump : Format.formatter -> Uucp.Tmapbool.t -> unit
end
module Tmapbyte :
sig
type t = { default : int; l0 : string array array; }
val nil : 'a array
val snil : string
val create : int -> Uucp.Tmapbyte.t
val get : Uucp.Tmapbyte.t -> int -> int
val set : Uucp.Tmapbyte.t -> int -> int -> unit
val word_size : Uucp.Tmapbyte.t -> int
val dump : Format.formatter -> Uucp.Tmapbyte.t -> unit
end
module Tmap4bytes :
sig
type t = { default : string; l0 : string array array; }
val nil : 'a array
val snil : string
val create : string -> Uucp.Tmap4bytes.t
val word_size : Uucp.Tmap4bytes.t -> int
val dump : Format.formatter -> Uucp.Tmap4bytes.t -> unit
val create_uint16_pair : int * int -> Uucp.Tmap4bytes.t
val get_uint16_pair : Uucp.Tmap4bytes.t -> int -> int * int
val set_uint16_pair : Uucp.Tmap4bytes.t -> int -> int * int -> unit
end
end