]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | /* |
f7faf1f5 | 2 | * "$Id: transcode.h 5294 2006-03-15 21:09:32Z mike $" |
ef416fc2 | 3 | * |
e1d6a774 | 4 | * Transcoding definitions for the Common UNIX Printing System (CUPS). |
ef416fc2 | 5 | * |
6 | * Copyright 1997-2006 by Easy Software Products. | |
7 | * | |
8 | * These coded instructions, statements, and computer programs are | |
9 | * the property of Easy Software Products and are protected by Federal | |
10 | * copyright law. Distribution and use rights are outlined in the | |
11 | * file "LICENSE.txt" which should have been included with this file. | |
12 | * If this file is missing or damaged please contact Easy Software | |
13 | * Products at: | |
14 | * | |
15 | * Attn: CUPS Licensing Information | |
16 | * Easy Software Products | |
17 | * 44141 Airport View Drive, Suite 204 | |
18 | * Hollywood, Maryland 20636 USA | |
19 | * | |
20 | * Voice: (301) 373-9600 | |
21 | * EMail: cups-info@cups.org | |
22 | * WWW: http://www.cups.org | |
23 | */ | |
24 | ||
25 | #ifndef _CUPS_TRANSCODE_H_ | |
26 | # define _CUPS_TRANSCODE_H_ | |
27 | ||
28 | /* | |
29 | * Include necessary headers... | |
30 | */ | |
31 | ||
32 | # include "language.h" | |
33 | ||
34 | # ifdef __cplusplus | |
35 | extern "C" { | |
36 | # endif /* __cplusplus */ | |
37 | ||
38 | ||
ef416fc2 | 39 | /* |
40 | * Constants... | |
41 | */ | |
42 | ||
e1d6a774 | 43 | # define CUPS_MAX_USTRING 8192 /* Max size of Unicode string */ |
ef416fc2 | 44 | |
45 | ||
46 | /* | |
e1d6a774 | 47 | * Types... |
ef416fc2 | 48 | */ |
49 | ||
e1d6a774 | 50 | typedef unsigned char cups_utf8_t; /* UTF-8 Unicode/ISO-10646 unit */ |
51 | typedef unsigned long cups_utf32_t; /* UTF-32 Unicode/ISO-10646 unit */ | |
52 | typedef unsigned short cups_ucs2_t; /* UCS-2 Unicode/ISO-10646 unit */ | |
53 | typedef unsigned long cups_ucs4_t; /* UCS-4 Unicode/ISO-10646 unit */ | |
54 | typedef unsigned char cups_sbcs_t; /* SBCS Legacy 8-bit unit */ | |
55 | typedef unsigned short cups_dbcs_t; /* DBCS Legacy 16-bit unit */ | |
56 | typedef unsigned long cups_vbcs_t; /* VBCS Legacy 32-bit unit */ | |
57 | /* EUC uses 8, 16, 24, 32-bit */ | |
ef416fc2 | 58 | |
ef416fc2 | 59 | |
60 | /* | |
e1d6a774 | 61 | * Prototypes... |
ef416fc2 | 62 | */ |
ef416fc2 | 63 | |
e1d6a774 | 64 | extern int cupsCharsetToUTF8(cups_utf8_t *dest, |
65 | const char *src, | |
66 | const int maxout, | |
67 | const cups_encoding_t encoding); | |
68 | extern int cupsUTF8ToCharset(char *dest, | |
69 | const cups_utf8_t *src, | |
70 | const int maxout, | |
71 | const cups_encoding_t encoding); | |
72 | extern int cupsUTF8ToUTF32(cups_utf32_t *dest, | |
73 | const cups_utf8_t *src, | |
74 | const int maxout); | |
75 | extern int cupsUTF32ToUTF8(cups_utf8_t *dest, | |
76 | const cups_utf32_t *src, | |
77 | const int maxout); | |
ef416fc2 | 78 | |
79 | # ifdef __cplusplus | |
80 | } | |
81 | # endif /* __cplusplus */ | |
82 | ||
83 | #endif /* !_CUPS_TRANSCODE_H_ */ | |
84 | ||
85 | ||
86 | /* | |
f7faf1f5 | 87 | * End of "$Id: transcode.h 5294 2006-03-15 21:09:32Z mike $" |
ef416fc2 | 88 | */ |