summaryrefslogtreecommitdiff
path: root/noncore/unsupported/qpdf/UTF8.h
blob: 95adecf7a5ccaec72c7b5b8cbfdb826365141c2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//========================================================================
//
// UTF8.h
//
// Copyright 2001 Derek B. Noonburg
// Modified for QPE by Robert Griebl
//
//========================================================================

#include <qstring.h>
#include <string.h>

static int mapUTF8 ( Unicode u, char *buf, int bufSize ) 
{
	QCString utf = QString ( QChar ( u )). utf8 ( );
	int len = utf. length ( );
	
	if ( len <= bufSize ) {
		::memcpy ( buf, utf. data ( ), len );
		return len;
	}
	else
		return 0;
}

static int mapUCS2 ( Unicode u, char *buf, int bufSize) 
{
	if (u <= 0xffff) {
		if (bufSize < 2)
			return 0;

		buf[0] = (char)((u >> 8) & 0xff);
		buf[1] = (char)(u & 0xff);
		return 2;
	} 
	else 
		return 0;
}