summaryrefslogtreecommitdiff
path: root/src/xlibi18n/XlcPublic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/xlibi18n/XlcPublic.h')
-rw-r--r--src/xlibi18n/XlcPublic.h287
1 files changed, 287 insertions, 0 deletions
diff --git a/src/xlibi18n/XlcPublic.h b/src/xlibi18n/XlcPublic.h
new file mode 100644
index 00000000..0deb44c1
--- /dev/null
+++ b/src/xlibi18n/XlcPublic.h
@@ -0,0 +1,287 @@
+/* $Xorg: XlcPublic.h,v 1.3 2000/08/17 19:45:06 cpqbld Exp $ */
+/*
+ * 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
+ *
+ */
+
+#ifndef _XLCPUBLIC_H_
+#define _XLCPUBLIC_H_
+
+#include "Xlcint.h"
+
+#define XlcNCharSize "charSize"
+#define XlcNCodeset "codeset"
+#define XlcNControlSequence "controlSequence"
+#define XlcNDefaultString "defaultString"
+#define XlcNEncodingName "encodingName"
+#define XlcNLanguage "language"
+#define XlcNMbCurMax "mbCurMax"
+#define XlcNName "name"
+#define XlcNSetSize "setSize"
+#define XlcNSide "side"
+#define XlcNStateDependentEncoding "stateDependentEncoding"
+#define XlcNTerritory "territory"
+
+typedef enum {
+ XlcUnknown, XlcC0, XlcGL, XlcC1, XlcGR, XlcGLGR, XlcOther, XlcNONE
+} XlcSide;
+
+typedef struct _FontScope {
+ unsigned long start;
+ unsigned long end;
+ unsigned long shift;
+ unsigned long shift_direction;
+} FontScopeRec, *FontScope;
+
+typedef struct _UDCArea {
+ unsigned long start,end;
+} UDCAreaRec, *UDCArea;
+
+typedef struct _XlcCharSetRec *XlcCharSet;
+
+typedef char* (*XlcGetCSValuesProc)(
+#if NeedFunctionPrototypes
+ XlcCharSet /* charset */,
+ XlcArgList /* args */,
+ int /* num_args */
+#endif
+);
+
+typedef struct _XlcCharSetRec {
+ char *name; /* character set name */
+ XrmQuark xrm_name;
+ char *encoding_name; /* XLFD encoding name */
+ XrmQuark xrm_encoding_name;
+ XlcSide side; /* GL, GR or others */
+ int char_size; /* number of bytes per character */
+ int set_size; /* graphic character sets */
+ char *ct_sequence; /* control sequence of CT */
+ XlcGetCSValuesProc get_values;
+ /* UDC */
+ Bool string_encoding;
+ UDCArea udc_area;
+ int udc_area_num;
+} XlcCharSetRec;
+
+/*
+ * conversion methods
+ */
+
+typedef struct _XlcConvRec *XlcConv;
+
+typedef XlcConv (*XlcOpenConverterProc)(
+#if NeedFunctionPrototypes
+ XLCd /* from_lcd */,
+ char* /* from_type */,
+ XLCd /* to_lcd */,
+ char* /* to_type */
+#endif
+);
+
+typedef void (*XlcCloseConverterProc)(
+#if NeedFunctionPrototypes
+ XlcConv /* conv */
+#endif
+);
+
+typedef int (*XlcConvertProc)(
+#if NeedFunctionPrototypes
+ XlcConv /* conv */,
+ XPointer* /* from */,
+ int* /* from_left */,
+ XPointer* /* to */,
+ int* /* to_left */,
+ XPointer* /* args */,
+ int /* num_args */
+#endif
+);
+
+typedef void (*XlcResetConverterProc)(
+#if NeedFunctionPrototypes
+ XlcConv /* conv */
+#endif
+);
+
+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 XlcNCharSet "charSet"
+#define XlcNCTCharSet "CTcharSet"
+#define XlcNChar "char"
+
+typedef struct _XlcConvRec {
+ XlcConvMethods methods;
+ XPointer state;
+} XlcConvRec;
+
+
+_XFUNCPROTOBEGIN
+
+extern Bool _XInitOM(
+#if NeedFunctionPrototypes
+ XLCd /* lcd */
+#endif
+);
+
+extern Bool _XInitIM(
+#if NeedFunctionPrototypes
+ XLCd /* lcd */
+#endif
+);
+
+extern char *_XGetLCValues(
+#if NeedVarargsPrototypes
+ XLCd /* lcd */,
+ ...
+#endif
+);
+
+extern XlcCharSet _XlcGetCharSet(
+#if NeedFunctionPrototypes
+ char* /* name */
+#endif
+);
+
+extern Bool _XlcAddCharSet(
+#if NeedFunctionPrototypes
+ XlcCharSet /* charset */
+#endif
+);
+
+extern char *_XlcGetCSValues(
+#if NeedVarargsPrototypes
+ XlcCharSet /* charset */,
+ ...
+#endif
+);
+
+extern XlcConv _XlcOpenConverter(
+#if NeedFunctionPrototypes
+ XLCd /* from_lcd */,
+ char* /* from_type */,
+ XLCd /* to_lcd */,
+ char* /* to_type */
+#endif
+);
+
+extern void _XlcCloseConverter(
+#if NeedFunctionPrototypes
+ XlcConv /* conv */
+#endif
+);
+
+extern int _XlcConvert(
+#if NeedFunctionPrototypes
+ XlcConv /* conv */,
+ XPointer* /* from */,
+ int* /* from_left */,
+ XPointer* /* to */,
+ int* /* to_left */,
+ XPointer* /* args */,
+ int /* num_args */
+#endif
+);
+
+extern void _XlcResetConverter(
+#if NeedFunctionPrototypes
+ XlcConv /* conv */
+#endif
+);
+
+extern Bool _XlcSetConverter(
+#if NeedFunctionPrototypes
+ XLCd /* from_lcd */,
+ char* /* from_type */,
+ XLCd /* to_lcd */,
+ char* /* to_type */,
+ XlcOpenConverterProc /* open_converter */
+#endif
+);
+
+extern void _XlcGetResource(
+#if NeedFunctionPrototypes
+ XLCd /* lcd */,
+ char* /* category */,
+ char* /* class */,
+ char*** /* value */,
+ int* /* count */
+#endif
+);
+
+extern char *_XlcFileName(
+#if NeedFunctionPrototypes
+ XLCd /* lcd */,
+ char* /* category */
+#endif
+);
+
+extern int _Xwcslen(
+#if NeedFunctionPrototypes
+ wchar_t* /* wstr */
+#endif
+);
+
+extern wchar_t *_Xwcscpy(
+#if NeedFunctionPrototypes
+ wchar_t* /* wstr1 */,
+ wchar_t* /* wstr2 */
+#endif
+);
+
+extern int _XlcCompareISOLatin1(
+#if NeedFunctionPrototypes
+ char* /* str1 */,
+ char* /* str2 */
+#endif
+);
+
+extern int _XlcNCompareISOLatin1(
+#if NeedFunctionPrototypes
+ char* /* str1 */,
+ char* /* str2 */,
+ int /* len */
+#endif
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XLCPUBLIC_H_ */