/*
- * "$Id$"
+ * Private localization support for CUPS.
*
- * Private localization support for CUPS.
+ * Copyright © 2007-2018 by Apple Inc.
+ * Copyright © 1997-2006 by Easy Software Products.
*
- * Copyright 2007-2010 by Apple Inc.
- * Copyright 1997-2006 by Easy Software Products.
- *
- * These coded instructions, statements, and computer programs are the
- * property of Apple Inc. and are protected by Federal copyright
- * law. Distribution and use rights are outlined in the file "LICENSE.txt"
- * which should have been included with this file. If this file is
- * file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * This file is subject to the Apple OS-Developed Software exception.
+ * Licensed under Apache License v2.0. See the file "LICENSE" for more
+ * information.
*/
#ifndef _CUPS_LANGUAGE_PRIVATE_H_
* Include necessary headers...
*/
+# include "config.h"
# include <stdio.h>
# include <cups/transcode.h>
+# ifdef __APPLE__
+# include <CoreFoundation/CoreFoundation.h>
+# endif /* __APPLE__ */
# ifdef __cplusplus
extern "C" {
# define _(x) x
+/*
+ * Constants...
+ */
+
+# define _CUPS_MESSAGE_PO 0 /* Message file is in GNU .po format */
+# define _CUPS_MESSAGE_UNQUOTE 1 /* Unescape \foo in strings? */
+# define _CUPS_MESSAGE_STRINGS 2 /* Message file is in Apple .strings format */
+
+
/*
* Types...
*/
typedef struct _cups_message_s /**** Message catalog entry ****/
{
- char *id, /* Original string */
+ char *msg, /* Original string */
*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...
*/
# ifdef __APPLE__
-extern const char *_cupsAppleLanguage(const char *locale, char *language,
- size_t langsize);
+extern const char *_cupsAppleLanguage(const char *locale, char *language, size_t langsize) _CUPS_PRIVATE;
+extern const char *_cupsAppleLocale(CFStringRef languageName, char *locale, size_t localesize) _CUPS_PRIVATE;
# endif /* __APPLE__ */
-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 void _cupsLangPrintError(const char *message);
-extern int _cupsLangPrintf(FILE *fp, const char *message, ...)
-# ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-# endif /* __GNUC__ */
-;
-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, int unquote);
-extern const char *_cupsMessageLookup(cups_array_t *a, const char *m);
-extern void _cupsSetLocale(char *argv[]);
+extern void _cupsCharmapFlush(void) _CUPS_INTERNAL;
+extern const char *_cupsEncodingName(cups_encoding_t encoding) _CUPS_PRIVATE;
+extern void _cupsLangPrintError(const char *prefix, const char *message) _CUPS_PRIVATE;
+extern int _cupsLangPrintFilter(FILE *fp, const char *prefix, const char *message, ...) _CUPS_FORMAT(3, 4) _CUPS_PRIVATE;
+extern int _cupsLangPrintf(FILE *fp, const char *message, ...) _CUPS_FORMAT(2, 3) _CUPS_PRIVATE;
+extern int _cupsLangPuts(FILE *fp, const char *message) _CUPS_PRIVATE;
+extern const char *_cupsLangString(cups_lang_t *lang, const char *message) _CUPS_PRIVATE;
+extern void _cupsMessageFree(cups_array_t *a) _CUPS_PRIVATE;
+extern cups_array_t *_cupsMessageLoad(const char *filename, int flags) _CUPS_PRIVATE;
+extern const char *_cupsMessageLookup(cups_array_t *a, const char *m) _CUPS_PRIVATE;
+extern cups_array_t *_cupsMessageNew(void *context) _CUPS_PRIVATE;
+extern int _cupsMessageSave(const char *filename, int flags, cups_array_t *a) _CUPS_PRIVATE;
+extern void _cupsSetLocale(char *argv[]) _CUPS_PRIVATE;
# ifdef __cplusplus
# endif /* __cplusplus */
#endif /* !_CUPS_LANGUAGE_PRIVATE_H_ */
-
-/*
- * End of "$Id$".
- */