ref: 4b8271cd44fd92d2580e9e2da23c5dcc85b1ffad
dir: /3rd/utf/utf.h/
#pragma once enum { Runeself = 0x80, Runeerror = 0xfffd, Runemax = 0x10ffff, UTFmax = 4, }; typedef uint32_t Rune; int chartorune(Rune *rune, const char *str); int runetochar(char *str, const Rune *rune); int runenlen(const Rune *r, int nrune) fl_purefn; int fullrune(const char *str, int n) fl_purefn; int runelen(Rune c) fl_constfn; Rune tolowerrune(Rune c) fl_constfn; Rune toupperrune(Rune c) fl_constfn; Rune totitlerune(Rune c) fl_constfn; int islowerrune(Rune c) fl_constfn; int isupperrune(Rune c) fl_constfn; int isalpharune(Rune c) fl_constfn; int istitlerune(Rune c) fl_constfn; int isspacerune(Rune c) fl_constfn; int isdigitrune(Rune c) fl_constfn; int utfnlen(const char *s, long m);