#pragma once #include #include enum { // Fields inside UnicodeData.txt Fcode, Fname, Fcategory, Fcombine, Fbidir, Fdecomp, Fdecimal, Fdigit, Fnumeric, Fmirror, Foldname, Fcomment, Fupper, Flower, Ftitle, NumFields, NumRunes = 1 << 21, }; #define FieldLen 128 /* input functions */ enum { ParseEOF, ParseOK, ParseSkip, }; int parse(io·Buffer *io, int nfield, char field[][FieldLen]); int codepoint(char *s); void codepointrange(io·Buffer *utf8, char field[NumFields][FieldLen], int *start, int *stop); /* output functions */ void putsearch(void); int putrange(char *ident, char *prop, int force); int putpair(char *ident, char *prop); int putsingle(char *ident, char *prop);