diff options
Diffstat (limited to 'libX11/src/xlibi18n/XlcPublic.h')
-rw-r--r-- | libX11/src/xlibi18n/XlcPublic.h | 648 |
1 files changed, 324 insertions, 324 deletions
diff --git a/libX11/src/xlibi18n/XlcPublic.h b/libX11/src/xlibi18n/XlcPublic.h index 1d2bd3842..3d94ef37d 100644 --- a/libX11/src/xlibi18n/XlcPublic.h +++ b/libX11/src/xlibi18n/XlcPublic.h @@ -1,324 +1,324 @@ -/*
- * Copyright 1992, 1993 by TOSHIBA Corp.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of TOSHIBA not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission. TOSHIBA make no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * TOSHIBA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Author: Katsuhisa Yano TOSHIBA Corp.
- * mopi@osa.ilab.toshiba.co.jp
- */
-/*
- * Copyright 1995 by FUJITSU LIMITED
- * This is source code modified by FUJITSU LIMITED under the Joint
- * Development Agreement for the CDE/Motif PST.
- *
- * Modifier: Takanori Tateno FUJITSU LIMITED
- *
- */
-/*
- * Most of this API is documented in i18n/Framework.PS
- */
-
-#ifndef _XLCPUBLIC_H_
-#define _XLCPUBLIC_H_
-
-#include "Xlcint.h"
-
-
-/*
- * Character sets.
- */
-
-/* Every character set has a "side". It denotes the range of byte values for
- which the character set is responsible. This means that the character
- set's encoded characters will only assumes bytes within the range, and
- that the character set can be used simultaneously with another character
- set responsible for a disjoint range. */
-typedef enum {
- XlcUnknown,
- XlcC0, /* responsible for values 0x00..0x1F */
- XlcGL, /* responsible for values 0x00..0x7F or 0x20..0x7F */
- XlcC1, /* responsible for values 0x80..0x9F */
- XlcGR, /* responsible for values 0x80..0xFF or 0xA0..0xFF */
- XlcGLGR, /* responsible for values 0x00..0xFF */
- XlcOther, /* unused */
- XlcNONE
-} XlcSide;
-
-/* Data read from XLC_LOCALE files.
- XXX Apparently superseded by _XUDCGlyphRegion. */
-typedef struct _UDCArea {
- unsigned long start;
- unsigned long end;
-} UDCAreaRec, *UDCArea;
-
-/* Where the character set comes from. */
-typedef enum {
- CSsrcUndef, /* unused */
- CSsrcStd, /* defined in libX11 */
- CSsrcXLC /* defined in an XLC_LOCALE file */
-} CSSrc;
-
-/* These are the supported properties of XlcCharSet. */
-#define XlcNCharSize "charSize"
-#define XlcNControlSequence "controlSequence"
-#define XlcNEncodingName "encodingName"
-#define XlcNName "name"
-#define XlcNSetSize "setSize"
-#define XlcNSide "side"
-
-/* This is the structure of an XlcCharSet.
- Once allocated, they are never freed. */
-typedef struct _XlcCharSetRec {
- /* Character set name, including side suffix */
- const char *name;
- XrmQuark xrm_name;
-
- /* XLFD encoding name, no side suffix */
- const char *encoding_name;
- XrmQuark xrm_encoding_name;
-
- /* Range for which the charset is responsible: XlcGL, XlcGR or XlcGLGR */
- XlcSide side;
-
- /* Number of bytes per character. 0 means a varying number (e.g. UTF-8) */
- int char_size;
- /* Classification of the character set according to ISO-2022 */
- int set_size; /* e.g. 94 or 96 */
- const char *ct_sequence; /* control sequence of CT */
- /* (normally at most 4 bytes) */
-
- /* for UDC */
- Bool string_encoding;
- UDCArea udc_area;
- int udc_area_num;
-
- /* Description source */
- CSSrc source;
-} XlcCharSetRec, *XlcCharSet;
-
-_XFUNCPROTOBEGIN
-
-/* Returns the charset with the given name (including side suffix).
- Returns NULL if not found. */
-extern XlcCharSet _XlcGetCharSet(
- const char* name
-);
-
-/* Returns the charset with the given encoding (no side suffix) and
- responsible for at least the given side (XlcGL or XlcGR).
- Returns NULL if not found. */
-extern XlcCharSet _XlcGetCharSetWithSide(
- const char* encoding_name,
- XlcSide side
-);
-
-/* Registers an XlcCharSet in the list of character sets.
- Returns True if successful. */
-extern Bool _XlcAddCharSet(
- XlcCharSet charset
-);
-
-/* Retrieves a number of attributes of an XlcCharSet.
- Return NULL if successful, otherwise the name of the first argument
- specifiying a nonexistent attribute. */
-extern char *_XlcGetCSValues(
- XlcCharSet charset,
- ...
-);
-
-_XFUNCPROTOEND
-
-
-#define XlcNCodeset "codeset"
-#define XlcNDefaultString "defaultString"
-#define XlcNLanguage "language"
-#define XlcNMbCurMax "mbCurMax"
-#define XlcNStateDependentEncoding "stateDependentEncoding"
-#define XlcNTerritory "territory"
-
-typedef struct _FontScope {
- unsigned long start;
- unsigned long end;
- unsigned long shift;
- unsigned long shift_direction;
-} FontScopeRec, *FontScope;
-
-/*
- * conversion methods
- */
-
-typedef struct _XlcConvRec *XlcConv;
-
-typedef XlcConv (*XlcOpenConverterProc)(
- XLCd from_lcd,
- const char* from_type,
- XLCd to_lcd,
- const char* to_type
-);
-
-typedef void (*XlcCloseConverterProc)(
- XlcConv /* conv */
-);
-
-typedef int (*XlcConvertProc)(
- XlcConv /* conv */,
- XPointer* /* from */,
- int* /* from_left */,
- XPointer* /* to */,
- int* /* to_left */,
- XPointer* /* args */,
- int /* num_args */
-);
-
-typedef void (*XlcResetConverterProc)(
- XlcConv /* conv */
-);
-
-typedef struct _XlcConvMethodsRec{
- XlcCloseConverterProc close;
- XlcConvertProc convert;
- XlcResetConverterProc reset;
-} XlcConvMethodsRec, *XlcConvMethods;
-
-/*
- * conversion data
- */
-
-#define XlcNMultiByte "multiByte"
-#define XlcNWideChar "wideChar"
-#define XlcNCompoundText "compoundText"
-#define XlcNString "string"
-#define XlcNUtf8String "utf8String"
-#define XlcNCharSet "charSet"
-#define XlcNCTCharSet "CTcharSet"
-#define XlcNFontCharSet "FontCharSet"
-#define XlcNChar "char"
-#define XlcNUcsChar "UCSchar"
-
-typedef struct _XlcConvRec {
- XlcConvMethods methods;
- XPointer state;
-} XlcConvRec;
-
-
-_XFUNCPROTOBEGIN
-
-extern Bool _XInitOM(
- XLCd /* lcd */
-);
-
-extern Bool _XInitIM(
- XLCd /* lcd */
-);
-
-extern XIM _XimOpenIM(
- XLCd /* lcd */,
- Display * /* dpy */,
- XrmDatabase /* rdb */,
- char * /* res_name */,
- char * /* res_class */
-);
-
-extern char *_XGetLCValues(
- XLCd /* lcd */,
- ...
-);
-
-extern XlcConv _XlcOpenConverter(
- XLCd from_lcd,
- const char* from_type,
- XLCd to_lcd,
- const char* to_type
-);
-
-extern void _XlcCloseConverter(
- XlcConv conv
-);
-
-extern int _XlcConvert(
- XlcConv conv,
- XPointer* from,
- int* from_left,
- XPointer* to,
- int* to_left,
- XPointer* args,
- int num_args
-);
-
-extern void _XlcResetConverter(
- XlcConv conv
-);
-
-extern Bool _XlcSetConverter(
- XLCd from_lcd,
- const char* from_type,
- XLCd to_lcd,
- const char* to_type,
- XlcOpenConverterProc open_converter
-);
-
-extern void _XlcGetResource(
- XLCd lcd,
- const char* category,
- const char* _class,
- char*** value,
- int* count
-);
-
-extern char *_XlcFileName(
- XLCd lcd,
- const char* category
-);
-
-extern int _Xwcslen(
- wchar_t* /* wstr */
-);
-
-extern wchar_t *_Xwcscpy(
- wchar_t* /* wstr1 */,
- wchar_t* /* wstr2 */
-);
-
-extern wchar_t *_Xwcsncpy(wchar_t *wstr1, wchar_t *wstr2, int len);
-extern int _Xwcscmp(wchar_t *wstr1, wchar_t *wstr2);
-extern int _Xwcsncmp(wchar_t *wstr1, wchar_t *wstr2, int len);
-
-/* Compares two ISO 8859-1 strings, ignoring case of ASCII letters.
- Like strcasecmp in an ASCII locale. */
-extern int _XlcCompareISOLatin1(
- const char* str1,
- const char* str2
-);
-
-/* Compares two ISO 8859-1 strings, at most len bytes of each, ignoring
- case of ASCII letters. Like strncasecmp in an ASCII locale. */
-extern int _XlcNCompareISOLatin1(
- const char* str1,
- const char* str2,
- int len
-);
-
-extern XOM
-_XDefaultOpenOM(
- XLCd lcd, Display *dpy, XrmDatabase rdb,
- _Xconst char *res_name, _Xconst char *res_class);
-
-_XFUNCPROTOEND
-
-#endif /* _XLCPUBLIC_H_ */
+/* + * Copyright 1992, 1993 by TOSHIBA Corp. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of TOSHIBA not be used in advertising + * or publicity pertaining to distribution of the software without specific, + * written prior permission. TOSHIBA make no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + * TOSHIBA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * + * Author: Katsuhisa Yano TOSHIBA Corp. + * mopi@osa.ilab.toshiba.co.jp + */ +/* + * Copyright 1995 by FUJITSU LIMITED + * This is source code modified by FUJITSU LIMITED under the Joint + * Development Agreement for the CDE/Motif PST. + * + * Modifier: Takanori Tateno FUJITSU LIMITED + * + */ +/* + * Most of this API is documented in i18n/Framework.PS + */ + +#ifndef _XLCPUBLIC_H_ +#define _XLCPUBLIC_H_ + +#include "Xlcint.h" + + +/* + * Character sets. + */ + +/* Every character set has a "side". It denotes the range of byte values for + which the character set is responsible. This means that the character + set's encoded characters will only assumes bytes within the range, and + that the character set can be used simultaneously with another character + set responsible for a disjoint range. */ +typedef enum { + XlcUnknown, + XlcC0, /* responsible for values 0x00..0x1F */ + XlcGL, /* responsible for values 0x00..0x7F or 0x20..0x7F */ + XlcC1, /* responsible for values 0x80..0x9F */ + XlcGR, /* responsible for values 0x80..0xFF or 0xA0..0xFF */ + XlcGLGR, /* responsible for values 0x00..0xFF */ + XlcOther, /* unused */ + XlcNONE +} XlcSide; + +/* Data read from XLC_LOCALE files. + XXX Apparently superseded by _XUDCGlyphRegion. */ +typedef struct _UDCArea { + unsigned long start; + unsigned long end; +} UDCAreaRec, *UDCArea; + +/* Where the character set comes from. */ +typedef enum { + CSsrcUndef, /* unused */ + CSsrcStd, /* defined in libX11 */ + CSsrcXLC /* defined in an XLC_LOCALE file */ +} CSSrc; + +/* These are the supported properties of XlcCharSet. */ +#define XlcNCharSize "charSize" +#define XlcNControlSequence "controlSequence" +#define XlcNEncodingName "encodingName" +#define XlcNName "name" +#define XlcNSetSize "setSize" +#define XlcNSide "side" + +/* This is the structure of an XlcCharSet. + Once allocated, they are never freed. */ +typedef struct _XlcCharSetRec { + /* Character set name, including side suffix */ + const char *name; + XrmQuark xrm_name; + + /* XLFD encoding name, no side suffix */ + const char *encoding_name; + XrmQuark xrm_encoding_name; + + /* Range for which the charset is responsible: XlcGL, XlcGR or XlcGLGR */ + XlcSide side; + + /* Number of bytes per character. 0 means a varying number (e.g. UTF-8) */ + int char_size; + /* Classification of the character set according to ISO-2022 */ + int set_size; /* e.g. 94 or 96 */ + const char *ct_sequence; /* control sequence of CT */ + /* (normally at most 4 bytes) */ + + /* for UDC */ + Bool string_encoding; + UDCArea udc_area; + int udc_area_num; + + /* Description source */ + CSSrc source; +} XlcCharSetRec, *XlcCharSet; + +_XFUNCPROTOBEGIN + +/* Returns the charset with the given name (including side suffix). + Returns NULL if not found. */ +extern XlcCharSet _XlcGetCharSet( + const char* name +); + +/* Returns the charset with the given encoding (no side suffix) and + responsible for at least the given side (XlcGL or XlcGR). + Returns NULL if not found. */ +extern XlcCharSet _XlcGetCharSetWithSide( + const char* encoding_name, + XlcSide side +); + +/* Registers an XlcCharSet in the list of character sets. + Returns True if successful. */ +extern Bool _XlcAddCharSet( + XlcCharSet charset +); + +/* Retrieves a number of attributes of an XlcCharSet. + Return NULL if successful, otherwise the name of the first argument + specifiying a nonexistent attribute. */ +extern char *_XlcGetCSValues( + XlcCharSet charset, + ... +); + +_XFUNCPROTOEND + + +#define XlcNCodeset "codeset" +#define XlcNDefaultString "defaultString" +#define XlcNLanguage "language" +#define XlcNMbCurMax "mbCurMax" +#define XlcNStateDependentEncoding "stateDependentEncoding" +#define XlcNTerritory "territory" + +typedef struct _FontScope { + unsigned long start; + unsigned long end; + unsigned long shift; + unsigned long shift_direction; +} FontScopeRec, *FontScope; + +/* + * conversion methods + */ + +typedef struct _XlcConvRec *XlcConv; + +typedef XlcConv (*XlcOpenConverterProc)( + XLCd from_lcd, + const char* from_type, + XLCd to_lcd, + const char* to_type +); + +typedef void (*XlcCloseConverterProc)( + XlcConv /* conv */ +); + +typedef int (*XlcConvertProc)( + XlcConv /* conv */, + XPointer* /* from */, + int* /* from_left */, + XPointer* /* to */, + int* /* to_left */, + XPointer* /* args */, + int /* num_args */ +); + +typedef void (*XlcResetConverterProc)( + XlcConv /* conv */ +); + +typedef struct _XlcConvMethodsRec{ + XlcCloseConverterProc close; + XlcConvertProc convert; + XlcResetConverterProc reset; +} XlcConvMethodsRec, *XlcConvMethods; + +/* + * conversion data + */ + +#define XlcNMultiByte "multiByte" +#define XlcNWideChar "wideChar" +#define XlcNCompoundText "compoundText" +#define XlcNString "string" +#define XlcNUtf8String "utf8String" +#define XlcNCharSet "charSet" +#define XlcNCTCharSet "CTcharSet" +#define XlcNFontCharSet "FontCharSet" +#define XlcNChar "char" +#define XlcNUcsChar "UCSchar" + +typedef struct _XlcConvRec { + XlcConvMethods methods; + XPointer state; +} XlcConvRec; + + +_XFUNCPROTOBEGIN + +extern Bool _XInitOM( + XLCd /* lcd */ +); + +extern Bool _XInitIM( + XLCd /* lcd */ +); + +extern XIM _XimOpenIM( + XLCd /* lcd */, + Display * /* dpy */, + XrmDatabase /* rdb */, + char * /* res_name */, + char * /* res_class */ +); + +extern char *_XGetLCValues( + XLCd /* lcd */, + ... +); + +extern XlcConv _XlcOpenConverter( + XLCd from_lcd, + const char* from_type, + XLCd to_lcd, + const char* to_type +); + +extern void _XlcCloseConverter( + XlcConv conv +); + +extern int _XlcConvert( + XlcConv conv, + XPointer* from, + int* from_left, + XPointer* to, + int* to_left, + XPointer* args, + int num_args +); + +extern void _XlcResetConverter( + XlcConv conv +); + +extern Bool _XlcSetConverter( + XLCd from_lcd, + const char* from_type, + XLCd to_lcd, + const char* to_type, + XlcOpenConverterProc open_converter +); + +extern void _XlcGetResource( + XLCd lcd, + const char* category, + const char* _class, + char*** value, + int* count +); + +extern char *_XlcFileName( + XLCd lcd, + const char* category +); + +extern int _Xwcslen( + wchar_t* /* wstr */ +); + +extern wchar_t *_Xwcscpy( + wchar_t* /* wstr1 */, + wchar_t* /* wstr2 */ +); + +extern wchar_t *_Xwcsncpy(wchar_t *wstr1, wchar_t *wstr2, int len); +extern int _Xwcscmp(wchar_t *wstr1, wchar_t *wstr2); +extern int _Xwcsncmp(wchar_t *wstr1, wchar_t *wstr2, int len); + +/* Compares two ISO 8859-1 strings, ignoring case of ASCII letters. + Like strcasecmp in an ASCII locale. */ +extern int _XlcCompareISOLatin1( + const char* str1, + const char* str2 +); + +/* Compares two ISO 8859-1 strings, at most len bytes of each, ignoring + case of ASCII letters. Like strncasecmp in an ASCII locale. */ +extern int _XlcNCompareISOLatin1( + const char* str1, + const char* str2, + int len +); + +extern XOM +_XDefaultOpenOM( + XLCd lcd, Display *dpy, XrmDatabase rdb, + _Xconst char *res_name, _Xconst char *res_class); + +_XFUNCPROTOEND + +#endif /* _XLCPUBLIC_H_ */ |