#pragma once enum { Runeself = 0x80, Runesync = Runeself, Runeerror = 0xfffd, Runemax = 0x10ffff, Runemask = 0x1fffff, UTFmax = 4, }; int chartorune(Rune *rune, const char *str); int runetochar(char *str, const Rune *rune); int runenlen(const Rune *r, int nrune); int fullrune(const char *str, int n); int runelen(Rune c); Rune tolowerrune(Rune c); Rune toupperrune(Rune c); Rune totitlerune(Rune c); int islowerrune(Rune c); int isupperrune(Rune c); int isalpharune(Rune c); int istitlerune(Rune c); int isspacerune(Rune c); int isdigitrune(Rune c); const char *utfrune(const char *s, Rune c); int utflen(const char *s); int utfnlen(const char *s, long m);