Introduction
Introduction Statistics Contact Development Disclaimer Help
utf.h - 9base - revived minimalist port of Plan 9 userland to Unix
git clone git://git.suckless.org/9base
Log
Files
Refs
README
LICENSE
---
utf.h (1587B)
---
1 #ifndef _UTF_H_
2 #define _UTF_H_ 1
3 #if defined(__cplusplus)
4 extern "C" {
5 #endif
6
7 typedef unsigned int Rune; /* 32 bits */
8
9 enum
10 {
11 UTFmax = 4, /* maximum bytes per r…
12 Runesync = 0x80, /* cannot represent part …
13 Runeself = 0x80, /* rune and UTF sequences…
14 Runeerror = 0xFFFD, /* decoding error in UTF */
15 Runemax = 0x10FFFF /* maximum rune value */
16 };
17
18 /* Edit .+1,/^$/ | cfn $PLAN9/src/lib9/utf/?*.c | grep -v static |grep -…
19 int chartorune(Rune *rune, char *str);
20 int fullrune(char *str, int n);
21 int isalpharune(Rune c);
22 int islowerrune(Rune c);
23 int isspacerune(Rune c);
24 int istitlerune(Rune c);
25 int isupperrune(Rune c);
26 int runelen(long c);
27 int runenlen(Rune *r, int nrune);
28 Rune* runestrcat(Rune *s1, Rune *s2);
29 Rune* runestrchr(Rune *s, Rune c);
30 int runestrcmp(Rune *s1, Rune *s2);
31 Rune* runestrcpy(Rune *s1, Rune *s2);
32 Rune* runestrdup(Rune *s) ;
33 Rune* runestrecpy(Rune *s1, Rune *es1, Rune *s2);
34 long runestrlen(Rune *s);
35 Rune* runestrncat(Rune *s1, Rune *s2, long n);
36 int runestrncmp(Rune *s1, Rune *s2, long n);
37 Rune* runestrncpy(Rune *s1, Rune *s2, long n);
38 Rune* runestrrchr(Rune *s, Rune c);
39 Rune* runestrstr(Rune *s1, Rune *s2);
40 int runetochar(char *str, Rune *rune);
41 Rune tolowerrune(Rune c);
42 Rune totitlerune(Rune c);
43 Rune toupperrune(Rune c);
44 char* utfecpy(char *to, char *e, char *from);
45 int utflen(char *s);
46 int utfnlen(char *s, long m);
47 char* utfrrune(char *s, long c);
48 char* utfrune(char *s, long c);
49 char* utfutf(char *s1, char *s2);
50
51 #if defined(__cplusplus)
52 }
53 #endif
54 #endif
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.