Introduction
Introduction Statistics Contact Development Disclaimer Help
tutf.h - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
tutf.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 mx1.adamsgaard.dk. 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.