Module Libunicode

Low-level bindings to QuickJS's libunicode - Unicode Character Utilities

Unicode character classification and case conversion. These are raw C bindings; for a higher-level API, use Quickjs.Unicode.

Character Classification

Check if character has uppercase/lowercase variants (Cased property)

Check if character is ignored during case mapping (Case_Ignorable)

Check if character can start an identifier (ID_Start)

Check if character can continue an identifier (ID_Continue)

Check if character is whitespace (works for all codepoints)

Case Conversion

Convert character case. conv_type: 0 = uppercase, 1 = lowercase, 2 = case folding Returns number of output codepoints (1-3)

Canonicalize character for case-insensitive regex matching. is_unicode: 1 = full Unicode folding, 0 = ASCII only

Normalization

Normalize Unicode string. n_type: 0 = NFC, 1 = NFD, 2 = NFKC, 3 = NFKD Returns length of output, or -1 on error

Free buffer allocated by normalize