`functor (Text : UnicodeString.Type) ->
sig
type text = Text.t
class nfd :
UChar.t #OOChannel.obj_output_channel ->
[UChar.t] OOChannel.obj_output_channel
class nfc :
UChar.t #OOChannel.obj_output_channel ->
[UChar.t] OOChannel.obj_output_channel
class nfkd :
UChar.t #OOChannel.obj_output_channel ->
[UChar.t] OOChannel.obj_output_channel
class nfkc :
UChar.t #OOChannel.obj_output_channel ->
[UChar.t] OOChannel.obj_output_channel
val nfd : text -> text
val nfkd : text -> text
val nfc : text -> text
val nfkc : text -> text
module NFCBuf :
sig
type buf
val create : int -> buf
val contents : buf -> text
val clear : buf -> unit
val reset : buf -> unit
val add_char : buf -> UChar.t -> unit
val add_string : buf -> text -> unit
val add_buffer : buf -> buf -> unit
end
val nfc_append : text -> text -> text
val put_nfd : XString.t -> text -> unit
val put_nfkd : XString.t -> text -> unit
val put_nfc : XString.t -> text -> unit
val put_nfkc : XString.t -> text -> unit
type index = Text.index
val nfd_inc :
text -> index -> ([ `Inc of UChar.t list * index * 'a lazy_t ] as 'a)
val canon_compare : text -> text -> int
val nfd_decompose : UChar.t -> UChar.t list
val nfkd_decompose : UChar.t -> UChar.t list
end`