/*
- * "$Id: i18n.h 4903 2006-01-10 20:02:46Z mike $"
+ * "$Id: i18n.h 5925 2006-09-05 19:43:11Z mike $"
*
* (Private) localization support for the Common UNIX Printing System (CUPS).
*
* Include necessary headers...
*/
-# include "language.h"
+# include <stdio.h>
+# include "transcode.h"
# ifdef __cplusplus
extern "C" {
*str; /* Localized string */
} _cups_message_t;
+typedef struct _cups_cmap_s /**** SBCS Charmap Struct ****/
+{
+ struct _cups_cmap_s *next; /* Next charmap in cache */
+ int used; /* Number of times entry used */
+ cups_encoding_t encoding; /* Legacy charset encoding */
+ cups_ucs2_t char2uni[256]; /* Map Legacy SBCS -> UCS-2 */
+ cups_sbcs_t *uni2char[256]; /* Map UCS-2 -> Legacy SBCS */
+} _cups_cmap_t;
+
+typedef struct _cups_wide2uni_s /**** Wide to Unicode ****/
+{
+ cups_vbcs_t widechar; /* VBCS 32-bit Char (EUC) */
+ cups_ucs2_t unichar; /* UCS-2 Char */
+} _cups_wide2uni_t;
+
+typedef struct _cups_vmap_s /**** VBCS Charmap Struct ****/
+{
+ struct _cups_vmap_s *next; /* Next charmap in cache */
+ int used; /* Number of times entry used */
+ cups_encoding_t encoding; /* Legacy charset encoding */
+ cups_ucs2_t *char2uni[256]; /* Map 16-bit Char -> UCS-2 */
+ int charcount; /* Count of 16-bit VBCS Chars */
+ _cups_wide2uni_t *wide2uni; /* Map 32-bit Char -> UCS-2 */
+ int widecount; /* Count of 32-bit VBCS Chars */
+ cups_vbcs_t *uni2char[256]; /* Map UCS-2 -> 32-bit VBCS */
+ cups_sbcs_t lead2char[256]; /* Legacy Lead Char - 2-byte */
+ cups_sbcs_t lead3char[256]; /* Legacy Lead Char - 3-byte */
+ cups_sbcs_t lead4char[256]; /* Legacy Lead Char - 4-byte */
+} _cups_vmap_t;
+
/*
* Prototypes...
*/
-/**** New in CUPS 1.1.20 ****/
-extern void _cupsRestoreLocale(int category, char *oldlocale);
-extern char *_cupsSaveLocale(int category, const char *locale);
-
-/**** New in CUPS 1.2 ****/
+extern void _cupsCharmapFlush(void);
+extern void _cupsCharmapFree(const cups_encoding_t encoding);
+extern void *_cupsCharmapGet(const cups_encoding_t encoding);
extern const char *_cupsEncodingName(cups_encoding_t encoding);
-extern int _cupsLangPrintf(FILE *fp, cups_lang_t *lang,
- const char *message, ...)
+extern int _cupsLangPrintf(FILE *fp, const char *message, ...)
# ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
+__attribute__ ((__format__ (__printf__, 2, 3)))
# endif /* __GNUC__ */
;
-extern int _cupsLangPuts(FILE *fp, cups_lang_t *lang,
- const char *message);
+extern int _cupsLangPuts(FILE *fp, const char *message);
extern const char *_cupsLangString(cups_lang_t *lang, const char *message);
extern void _cupsMessageFree(cups_array_t *a);
extern cups_array_t *_cupsMessageLoad(const char *filename);
extern const char *_cupsMessageLookup(cups_array_t *a, const char *m);
+extern void _cupsSetLocale(char *argv[]);
# ifdef __cplusplus
}
#endif /* !_CUPS_I18N_H_ */
/*
- * End of "$Id: i18n.h 4903 2006-01-10 20:02:46Z mike $".
+ * End of "$Id: i18n.h 5925 2006-09-05 19:43:11Z mike $".
*/