









             XX1111RR66 ץΥե졼



                       _K_a_t_s_u_h_i_s_a _Y_a_n_o
                    TOSHIBA Corporation

                      _Y_o_s_h_i_o _H_o_r_i_u_c_h_i
                         IBM Japan






































































Copyright (C) 1994 by TOSHIBA Corporation
Copyright (C) 1994 by IBM Corporation

Permission to use, copy, modify, and distribute this docu-
mentation for any purpose and without fee is hereby granted,
provided that the above copyright notice and this permission
notice appear in all copies.  TOSHIBA Corporation and IBM
Corporation make no representations about the suitability
for any purpose of the information in this document.  This
documentation is provided as is without express or implied
warranty.





Copyright (C) 1994 X Consortium

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documenta-
tion files (the ``Software''), to deal in the Software with-
out restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the fol-
lowing conditions:

The above copyright notice and this permission notice shall
be included in all copies or substantial portions of the
Software.

THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PUR-
POSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE X CONSOR-
TIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING












FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of the X Con-
sortium shall not be used in advertising or otherwise to
promote the sale, use or other dealings in this Software
without prior written authorization from the X Consortium.



_X _W_i_n_d_o_w _S_y_s_t_e_m is a trademark of X Consortium, Inc.























































11..  

ʸϡXlib ΥץΥ¸ؿƤ
˻ĤȤꤵ빽¤᥽åɡͥ
롣ο(1)ϡץˤ륳ݡͥʬ
γפƤΤǤ롣

    ... 0.237 5.796 5.24 10.14 ... 0.000i 4.344i 5.003i
    0.000i

              |___________________________________|
              |______________A_p_p_l_i_c_a_t_i_o_n___________|
                  ||         ||       ||         ||
                  ||         ||      |||        |||
                  |         |      ||        ||
       <<  ANSI/MSE API ><><  XLib API  >>  <<  ANSI/MSE API >>
         (X Contrib)        (X Core)        (X Contrib)
       _______________  _______________   _______________
       ||饤||||  ||  ||  ||C 饤֥  ||
       |   -AnSI | | ᥽|᥽| |      ANSI |
       |_______________| |_________|______|  |_______________|
           ||            | <|API>         ||
           |            |  X Locale Obj|ect           |
           |            |_______________|             |
           |                    ||                    |
           |      ___________   | ___________        |
           |      ||             |             ||      |
       ___|_|_|______|_|___  ________|_|______   ___|_|_|______|_|___
       ||  ||      |   || ||       |      ||  ||  ||      |   ||
       |XLC_XLOCALE   | | XLC_FONTSET  |  |localedef DB  |
       |- MB_CUR_MAX  | | - եȥ|Ⱦ|-MB_CUR_MAX  |
       |- ɥåȾ| | - ʸ|  |- ɥåȾ| 
       |o ʸ/ʸ| | - ե/ʸ| |o ʸ/ʸ|
       |_o______/_ʸ_______||__-__X_L_F_D_,__G_L_/_G_R_|  |_o______/_ʸ_______|

        ______________________________     ____________
            XLocale  (X Core)   ƥ륽


      1 : 륵ӥ API Υե졼ΰ

̤ˡXlib ιݲ줿ʬ(Locale Dependent X,
LDX)3ĤΥ֥Ȥʤ롣ʤ(LC)
ϥ᥽å(IM)ϥ᥽å (OM)Ǥ롣LC ϥ桼θ
˰¸νͿ롣IM ϥƥȤϤ
OM ϥƥ롣IM  OM Ϥ LC ǡ
礭¸롣

X11R5 ˤƤϡXlib ιݲˤ2ĤΥץ(Ximp 
Xsi)¸ߤμˤƤ⡢IM  OM 
ºݤˤ LC Υץ饤١ȤʳĥǤäΤᡢ
2ĤΥץ϶¸뤳ȤǤʤä㤨С
̤ŪΤ˿ OM  Ximp ΰȤ
硢 OM  Xsi Ȱˤưʤ



                              11





ץΥե졼               XX1111,, ꡼ 66..44


褹뤿ᡢɮԤϤ3ĤΥ֥ȴ֤
ɸ API ȡΥ֥Ȥ˶̤ʹ¤
Ƥ롣


22..  ŪŪ


+o    ߤ X11R6 ΥץβԤ

+o    ¸󥿥ե˶̤ʬʸ񲽤

+o    ǺؤǽؤͿ


33..  륪֥ȷؿ

ξϤǤϡؤǽؤ뤿Υ륪֥
ȷ˴ϢؿˤĤ롣

ϥ륪֥ȤȤʤǤ롣
 XLCd ֥Ȥ򥤥󥹥󥹲᥽åɤ
ꤵ줿̾ȷ礵롣Υưϼ¸
Ǥ롣ޤѲǽʥμ¸Ǥ롣

 ___X_O_p_e_n_L_C ǸƤФ뤬 ___X_O_p_e_n_L_C ϥռ
ɬפϤʤ㤨СưŪɴؿǼ졢
 XLCd 줿ưŪ⥸塼뤬ɤ
ȤꤵƤ硢ɤɬ XLCdMethods 
close ᥽åɤ롣


ΥꥹȤν


void _XlcInitLoader()

ؿ ___X_l_c_I_n_i_t_L_o_a_d_e_r ϥΥꥹȤ٥¸
ˡǽ롣줾ΥϿ ___X_l_c_A_d_d_L_o_a_d_e_r θ
ӽФǹԤοȥΥꥹνϼ¸
롣


ɲ


typedef XLCd (*XLCdLoadProc)(_n_a_m_e);
      char _*_n_a_m_e;

typedef int XlcPosition;


#define   XlcHead                 0




                              22





ץΥե졼               XX1111,, ꡼ 66..44


#define   XlcTail                -1



Bool _XlcAddLoader(_p_r_o_c_, _p_o_s_i_t_i_o_n)
      XLCdLoadProc _p_r_o_c;
      XlcPosition _p_o_s_i_t_i_o_n;


ؿ ___X_l_c_A_d_d_L_o_a_d_e_r ϻꤵ줿 ``_p_r_o_c'' 
ŪʥꥹȤϿ롣 position ϥ
``_p_r_o_c'' ꥹȤƬ (XlcHead)(HlcTail)Τɤ
֤Τꤹ롣

ƤӽФκݤˤϡ֥ȥϥꥹȤƬ
֤˸ƤӽФ롣


κ


void _XlcRemoveLoader(_p_r_o_c)
      XLCdLoadProc _p_r_o_c;


ؿ ___X_l_c_R_e_m_o_v_e_L_o_a_d_e_r ϡ``_p_r_o_c'' ǻꤷ
ꥹȤ롣

ߤμˤϰʲΥ롣

     ___X_l_c_D_e_f_a_u_l_t_L_o_a_d_e_r
     ___X_l_c_G_e_n_e_r_i_c_L_o_a_d_e_r
     ___X_l_c_E_u_c_L_o_a_d_e_r
     ___X_l_c_S_j_i_s_L_o_a_d_e_r
     ___X_l_c_U_t_f_L_o_a_d_e_r
     ___X_a_i_x_O_s_D_y_n_a_m_i_c_L_o_a_d



44..  ᥽åɥե

ξϤǤϥ᥽å API ˤĤ롣 IM
ʬ OM ʬξ饢ǽʴؿνǤ롣
᥽å API Ϳ뵡ǽϡ¸μ
饯åȤνƥȤѴǤ롣

륪֥ȤΥ٥ȼγĥ˥ʤǤ
 API Ѥȡ롢IM, OM 򤪸ߤΩʾ
ݤĤȤǤ롣








                              33





ץΥե졼               XX1111,, ꡼ 66..44


55..  ᥽åɴؿ

᥽åɤΥץ


XLCd _XOpenLC(_n_a_m_e)
      char _*_n_a_m_e;


ؿ ___X_O_p_e_n_L_C ϡꤵ줿̾б
åɤ򥪡ץ󤹤롣 ___X_O_p_e_n_L_C ϥ륪֥ȥ
ƤӽФΥ ___X_l_c_A_d_d_L_o_a_d_e_r ˤäŪʥ
ꥹȤϿƤ롣ƤӽФͭĥ
Υץˤϡ ___X_O_p_e_n_L_C  XLCd ֤
ޤϥΥץ˼Ԥˤϡ
___X_O_p_e_n_L_C ϼΥƤӽФϿƤƤΥ
򥪡ץǤʤС ___X_O_p_e_n_L_C  NULL ֤


XLCd _XlcCurrentLC()


ؿ ___X_l_c_C_u_r_r_e_n_t_L_C ϡߤΥ˷礵줿 XLCd 



᥽åɤΥ


void _XCloseLC(_l_c_d)
      XLCd _l_c_d;


ؿ ___X_C_l_o_s_e_L_C ϻꤵ줿 lcd Υ᥽åɤ򥯥
롣


᥽åͤμ


char * _XGetLCValues(_l_c_d, ...)
      XLCd _l_c_d;


ؿ ___X_G_e_t_L_C_V_a_l_u_e_s ϥ顼ʤäˤ NULL 
Ǥʤˤϡ뤳ȤǤʤäǽΰ
֤̾ɸΰȤƤϰʲͤƤ
롣ʳͤϼ¸Ǥ롣









                              44





ץΥե졼               XX1111,, ꡼ 66..44


--------------------------------------------------------------------------------------
̾̾                               
--------------------------------------------------------------------------------------
XlcNCodeset                  char*   ̾Υɥåʬ
XlcNDefaultString            char*   XDefaultString()
XlcNEncodingName             char*   󥳡ǥ̾
XlcNLanguage                 char*   ̾θʬ
XlcNMbCurMax                 int     ANSI C ˤ MB_CUR_MAX
XlcNStateDependentEncoding   Bool    եȾְ¸˰¸륨󥳡ǥ󥰤ɤ
XlcNTerritory                char*   ̾ϰʬ
--------------------------------------------------------------------------------------



66..  ʸʸؿ

XlcCharSet ϡ륪֥ʸʬ(ʸ
)ɽ̻ҤǤ롣


typedef enum {
      XlcUnknown, XlcC0, XlcGL, XlcC1, XlcGR, XlcGLGR, XlcOther
} XlcSide;

typedef struct _XlcCharSetRec *XlcCharSet;

typedef struct {
      char *name;
      XPointer value;
} XlcArg, *XlcArgList;

typedef char* (*XlcGetCSValuesProc)(_c_h_a_r_s_e_t, _a_r_g_s, _n_u_m___a_r_g_s);
      XlcCharSet _c_h_a_r_s_e_t;
      XlcArgList _a_r_g_s;
      int _n_u_m___a_r_g_s;

typedef struct _XlcCharSetRec {
      char *name;
      XrmQuark xrm_name;
      char *encoding_name;
      XrmQuark xrm_encoding_name;
      XlcSide side;
      int char_size;
      int set_size;
      char *ct_sequence;
      XlcGetCSValuesProc get_values;
} XlcCharSetRec;



XXllccCChhaarrSSeett μ






                              55





ץΥե졼               XX1111,, ꡼ 66..44


XlcCharSet _XlcGetCharSet(_n_a_m_e)
      char _*_n_a_m_e;


ؿ ___X_l_c_G_e_t_C_h_a_r_S_e_t ϡ``_n_a_m_e'' ǻꤵ줿ʸ̾
 XlcCharSet 롣ꤵ줿 ``_n_a_m_e'' ˷礵
 XlcCharSet ̵С ___X_l_c_G_e_t_C_h_a_r_S_e_t  NULL ֤

ʲʸ礬ͽϿƤ롣


------------------------------------------------------------------------
NNaammee                 DDeessccrriippttiioonn
------------------------------------------------------------------------
ISO8859-1:GL         7ӥå ASCII ʸ (ANSI X3.4-1968),
                     ISO 8859 κȾʬ
JISX0201.1976-0:GL   JIS X0201-1976 κȾʬ (1984ǯ),
                     8ӥå ANK

ISO8859-1:GR         ISO 8859-1 αȾʬ, Latin-1
ISO8859-2:GR         ISO 8859-2 αȾʬ, Latin-2
ISO8859-3:GR         ISO 8859-3 αȾʬ, Latin-3
ISO8859-4:GR         ISO 8859-4 αȾʬ, Latin-4
ISO8859-7:GR         ISO 8859-7 αȾʬ, Latin/ꥷʸ
ISO8859-6:GR         ISO 8859-6 αȾʬ, Latin/ӥʸ
ISO8859-8:GR         ISO 8859-8 αȾʬ, Latin/إ֥饤ʸ
ISO8859-5:GR         ISO 8859-5 αȾʬ, Latin/ʸ
ISO8859-9:GR         ISO 8859-9 αȾʬ, Latin-5
JISX0201.1976-0:GR   JIS X0201-1976 αȾʬ(1984ǯ),
                     8ӥåt ANK

GB2312.1980-0:GL     GB2312-1980, GL ΰ줿ڿ̱¹
GB2312.1980-0:GR     GB2312-1980, GR ΰ줿ڿ̱¹
JISX0208.1983-0:GL   JIS X0208-1983, ܸ
                     GL ΰ
JISX0208.1983-0:GR   JIS X0208-1983, ܸ
                     GR ΰ
KSC5601.1987-0:GL    KS C5601-1987, ̱/ϥ󥰥
                     GL ΰ
KSC5601.1987-0:GR    KS C5601-1987, ̱/ϥ󥰥
                     GR ΰ
JISX0212.1990-0:GL   JIS X0212-1990, ܸ
                     GL ΰ
JISX0212.1990-0:GR   JIS X0212-1990, ܸ
                     GR ΰ
------------------------------------------------------------------------



XXllccCChhaarrSSeett ɲ







                              66





ץΥե졼               XX1111,, ꡼ 66..44


Bool _XlcAddCharSet(_c_h_a_r_s_e_t)
      XlcCharSet _c_h_a_r_s_e_t;


ؿ ___X_l_c_A_d_d_C_h_a_r_S_e_t ϡ``_c_h_a_r_s_e_t'' ǻꤵ줿 XlcCharSet
Ͽ롣


ʸʸͤμ


char * _XlcGetCSValues(_c_h_a_r_s_e_t, ...)
      XlcCharSet _c_h_a_r_s_e_t;


ؿ ___X_l_c_G_e_t_C_S_V_a_l_u_e_s ϡ顼ʤ NULL ֤
Ǥʤ硢δؿϼǤʤäǽΰ̾
֤ʲͤɸΰȤƤ롣¾ͤ
¸Ǥ롣


----------------------------------------------------------------------------
̾̾                          
----------------------------------------------------------------------------
XlcNName              char*     ʸ̾
XlcNEncodingName      char*     XLFD CharSet Υ쥸ȥȥ󥳡ǥ
XlcNSide              XlcSide   ʸΰ (GL, GR, ...)
XlcNCharSize          int       ʸȤΥƥåȿ
XlcNSetSize           int       ʸο
XlcNControlSequence   char*     ѥɥƥȤ楷
----------------------------------------------------------------------------



77..  Ѵؿ

Υե졼Ǥ϶̤ΥС API ΥåȤͿ
롣ѴѴΥƥȷΤˤ¸



typedef struct _XlcConvRec *XlcConv;

typedef void (*XlcCloseConverterProc)(_c_o_n_v);
      XlcConv _c_o_n_v;

typedef int (*XlcConvertProc)(_c_o_n_v, _f_r_o_m, _f_r_o_m___l_e_f_t, _t_o, _t_o___l_e_f_t, _a_r_g_s, _n_u_m___a_r_g_s);
      XlcConv _c_o_n_v;
      XPointer _*_f_r_o_m;
      int _*_f_r_o_m___l_e_f_t;
      XPointer _*_t_o;
      int _*_t_o___l_e_f_t;
      XPointer _*_a_r_g_s;
      int _n_u_m___a_r_g_s;



                              77





ץΥե졼               XX1111,, ꡼ 66..44


typedef void (*XlcResetConverterProc)(_c_o_n_v);
      XlcConv _c_o_n_v;

typedef struct _XlcConvMethodsRec {
      XlcCloseConverterProc close;
      XlcConvertProc convert;
      XlcResetConverterProc reset;
} XlcConvMethodsRec, *XlcConvMethods;

typedef struct _XlcConvRec {
    XlcConvMethods methods;
    XPointer state;
} XlcConvRec;



СΥץ


XlcConv _XlcOpenConverter(_f_r_o_m___l_c_d, _f_r_o_m___t_y_p_e, _t_o___l_c_d, _t_o___t_y_p_e)
      XLCd _f_r_o_m___l_c_d;
      char _*_f_r_o_m___t_y_p_e;
      XLCd _t_o___l_c_d;
      char _*_t_o___t_y_p_e;


ؿ ___X_l_c_O_p_e_n_C_o_n_v_e_r_t_e_r ϡꤷ ``_f_r_o_m___t_y_p_e'' 󥳡
ǥ󥰤ꤷ ``_t_o___t_y_p_e'' 󥳡ǥ󥰤ؤΥƥ
ѴԤС򥪡ץ󤹤롣ؿŬڤʥС
򸫤Ĥʤäб륳С򥪡ץǤ
äˤϡδؿ NULL ֤Ǥʤˤϡ
δؿѴǥץ֤

ͽƤΤϰʲηǤ롣¾ηϼ¸Ǥ
롣


-----------------------------------------------------------------
̾̾                                            
-----------------------------------------------------------------
XlcNMultiByte      char *      ޥХʸ       -
XlcNWideChar       wchar_t *   磻ɥ饯ʸ   -
XlcNCompoundText   char *      COMPOUND_TEXT          -
XlcNString         char *      STRING                 -
XlcNCharSet        char *      ʸȤѴ         XlcCharSet
XlcNChar           char *      ʸȤѴ         XlcCharSet
-----------------------------------------------------------------



CClloossee aa ccoonnvveerrtteerr






                              88





ץΥե졼               XX1111,, ꡼ 66..44


void _XlcCloseConverter(_c_o_n_v)
      XlcConv _c_o_n_v;


ؿ ___X_l_c_C_l_o_s_e_C_o_n_v_e_r_t_e_r ϡꤵ줿С ``_c_o_n_v'' 
롣


CCooddee ccoonnvveerrssiioonn


int _XlcConvert(_c_o_n_v, _f_r_o_m, _f_r_o_m___l_e_f_t, _t_o, _t_o___l_e_f_t, _a_r_g_s, _n_u_m___a_r_g_s)
      XlcConv _c_o_n_v;
      XPointer _*_f_r_o_m;
      int _*_f_r_o_m___l_e_f_t;
      XPointer _*_t_o;
      int _*_t_o___l_e_f_t;
      XPointer _*_a_r_g_s;
      int _n_u_m___a_r_g_s;


ؿ ___X_l_c_C_o_n_v_e_r_t ϡ``_f_r_o_m'' ǻꤷΥ饯
󥹤򡢤뷿̤ηѴ ``_t_o'' ǻꤷ
˷̤롣ηϡѴǥץ ``_c_o_n_v'' ֤
___X_l_c_O_p_e_n_C_o_n_v_e_r_t_e_r_(_) θƤӽФǻꤵ줿ΤǤ롣
``_f_r_o_m'', ``_f_r_o_m___l_e_f_t'', ``_t_o'', ``_t_o___l_e_f_t'' λͤ XPG4
 iconv ؿƱǤ롣

եȾ֤˰¸륨󥳡ǥ󥰤ФѴǥץ
``_c_o_n_v'' νեȾ֤ϡ``_f_r_o_m''  NULL ݥ󥿤Ǥ
ƤӽФޤ ``_f_r_o_m''  NULL ݥ󥿤ؤƤӽФ
äƷ롣

ʲǤϡ뤬 2 ĤΥС args[0]
ؤΰŬڤʸ֤


--------------------------------------------------------
Ѵ          Ѵ        
--------------------------------------------------------
XlcNMultiByte   XlcNCharSet   ơ (ʬ)
XlcNWideChar    XlcNCharSet   ơ (ʬ)
--------------------------------------------------------


XlcNMultiByte/XlcNWideChar  XlcNCharSet ؤѴϡƱ
ʸΥ󥳡ǥ󥰤ʸĥȤŸ
롣1٤θƤӽФʣΥȤѴ뤳ȤϤǤ



СΥꥻå





                              99





ץΥե졼               XX1111,, ꡼ 66..44


void _XlcResetConverter(_c_o_n_v)
      XlcConv _c_o_n_v;


ؿ ___X_l_c_R_e_s_e_t_C_o_n_v_e_r_t_e_r ϡꤷС ``_c_o_n_v'' 
åȤ롣


СϿϿ


typedef XlcConv (*XlcOpenConverterProc)(_f_r_o_m___l_c_d, _f_r_o_m___t_y_p_e, _t_o___l_c_d, _t_o___t_y_p_e);
      XLCd _f_r_o_m___l_c_d;
      char _*_f_r_o_m___t_y_p_e;
      XLCd _t_o___l_c_d;
      char _*_t_o___t_y_p_e;



Bool _XlcSetConverter(_f_r_o_m___l_c_d, _f_r_o_m, _t_o___l_c_d, _t_o, _c_o_n_v_e_r_t_e_r)
      XLCd _f_r_o_m___l_c_d;
      char _*_f_r_o_m;
      XLCd _t_o___l_c_d;
      char _*_t_o;
      XlcOpenConverterProc _c_o_n_v_e_r_t_e_r;


ؿ XXllccSSeettCCoonnvveerrtteerr ϡ``_f_r_o_m___t_y_p_e''  ``_t_o___t_y_p_e'' ؤ
ѴԤС(ꤷ XLCd )СꥹȤ
Ͽ롣


88..  XX ǡ١ؿ

X ǡ١ϡ桼Ķθ˰¸ʬ
ġʲ API ϡX ǡ١¾Υط
Υե륢뤿ΤΤǤ롣

X ǡ١ξܺ٤ˤĤƤϡɥȡX
Locale Database Definitionפ򻲾Ȥ뤳ȡ


ǡ١Υ꥽


void _XlcGetResource(_l_c_d, _c_a_t_e_g_o_r_y, _c_l_a_s_s, _v_a_l_u_e, _c_o_u_n_t)
      XLCd _l_c_d;
      char _*_c_a_t_e_g_o_r_y;
      char _*_c_l_a_s_s;
      char _*_*_*_v_a_l_u_e;
      int _*_c_o_u_n_t;






                             1100





ץΥե졼               XX1111,, ꡼ 66..44


ؿ ___X_l_c_G_e_t_R_e_s_o_u_r_c_e ϡꤷ ``_l_c_d'' ˴Ϣ
¸ǡ롣ǡϥƥΥ
뤫 X ǡ١ե뤫졢ѤǤ
ǡμϼ¸Ǥ롣

ꤵ줿 ``_c_a_t_e_g_o_r_y''  ``_c_l_a_s_s''ϡŪΥǡ
򸫤Ĥ뤿˻Ȥ롣

ᤷͤ value ʸꥹȤη֤졢count 
֤줿ͤ value ʸο򼨤

ᤷͤϥ᥽åɤͭƤΤǡƤӽФ¦Ϥ
ͤѹԤäƤϤʤʤ


طΥե̾̾


char * _XlcFileName(_l_c_d, _c_a_t_e_g_o_r_y)
      XLCd _l_c_d;
      char _*_c_a_t_e_g_o_r_y;


ؿ ___X_l_c_F_i_l_e_N_a_m_e ϡꤵ줿``_l_c_d''  ``_c_a_t_e_g_o_r_y'' ˷
礵줿ե֤̾Υե̾ NULL ʸǽ
ʸǤ롣ե̾Ĥʤä丫Ĥե
̾ɤ߹ԲǽʥեǤäˤϡ ___X_l_c_F_i_l_e_-
_N_a_m_e  NULL ֤֤줿ե̾ϸƤӽФ¦
ʤФʤʤ

ե̾õε§ϼ¸Ǥ롣ߤμǤϡ
___X_l_c_F_i_l_e_N_a_m_e бơ֥Ȥ ``{category}.dir'' ե
Ѥ롣ΥեƤʸΥڥ¤٤(
ʥ̾бե̾) Ǥ롣


99..  桼ƥƥؿ

LLaattiinn--11 ʸʸ


int _XlcCompareISOLatin1(_s_t_r_1, _s_t_r_2)
      char _*_s_t_r_1, _*_s_t_r_2;


int _XlcNCompareISOLatin1(_s_t_r_1, _s_t_r_2, _l_e_n)
      char _*_s_t_r_1, _*_s_t_r_2;
      int _l_e_n;


ؿ ___X_l_c_C_o_m_p_a_r_e_I_s_o_L_a_t_i_n_1  ISO-8859-1 ʸ2ĤӤ
롣ӤԤˡʸɽХȤʸѴ롣
ᤷͤ 0꾮0, 0礭Τ줫Ǥ
롣ͤ ``_s_t_r_1''  ``_s_t_r_2'' ФƱ



                             1111





ץΥե졼               XX1111,, ꡼ 66..44


֡Τˤʤ뤫Ƿޤ롣

ؿ ___X_l_c_N_C_o_m_p_a_r_e_I_s_o_L_a_t_i_n_1  ___X_l_c_C_o_m_p_a_r_e_I_S_O_L_a_t_i_n_1 ȤۤƱ
ؿǤ롣¿Ƥ ``_l_e_n'' ХȤӤʤ
ۤʤ롣


꥽ѥ桼ƥƥ


int XlcNumber(_a_r_r_a_y)
      ArrayType _a_r_r_a_y;


XtNumber ƱͤδؿǤ롣


void _XlcCopyFromArg(_s_r_c, _d_s_t, _s_i_z_e)
      char _*_s_r_c;
      char _*_d_s_t;
      int _s_i_z_e;


void _XlcCopyToArg(_s_r_c, _d_s_t, _s_i_z_e)
      char _*_s_r_c;
      char _*_*_d_s_t;
      int _s_i_z_e;


___X_t_C_o_p_y_F_r_o_m_A_r_g  ___X_t_C_o_p_y_T_o_A_r_g ƱͤδؿǤ롣


void _XlcCountVaList(_v_a_r, _c_o_u_n_t___r_e_t)
      va_list _v_a_r;
      int _*_c_o_u_n_t___r_e_t;


___X_t_C_o_u_n_t_V_a_L_i_s_t ƱͤδؿǤ롣


void _XlcVaToArgList(_v_a_r, _c_o_u_n_t, _a_r_g_s___r_e_t)
      va_list _v_a_r;
      int _c_o_u_n_t;
      XlcArgList _*_a_r_g_s___r_e_t;


___X_t_V_a_T_o_A_r_g_L_i_s_t ƱͤδؿǤ롣


typedef struct _XlcResource {
      char *name;
      XrmQuark xrm_name;
      int size;
      int offset;



                             1122





ץΥե졼               XX1111,, ꡼ 66..44


      unsigned long mask;
} XlcResource, *XlcResourceList;



#define   XlcCreateMask          (1L<<0)
#define   XlcDefaultMask         (1L<<1)
#define   XlcGetMask             (1L<<2)
#define   XlcSetMask             (1L<<3)
#define   XlcIgnoreMask          (1L<<4)



void _XlcCompileResourceList(_r_e_s_o_u_r_c_e_s, _n_u_m___r_e_s_o_u_r_c_e_s)
      XlcResourceList _r_e_s_o_u_r_c_e_s;
      int _n_u_m___r_e_s_o_u_r_c_e_s;


___X_t_C_o_m_p_i_l_e_R_e_s_o_u_r_c_e_L_i_s_t ƱͤδؿǤ롣


char * _XlcGetValues(_b_a_s_e, _r_e_s_o_u_r_c_e_s, _n_u_m___r_e_s_o_u_r_c_e_s, _a_r_g_s, _n_u_m___a_r_g_s, _m_a_s_k)
      XPointer _b_a_s_e;
      XlcResourceList _r_e_s_o_u_r_c_e_s;
      int _n_u_m___r_e_s_o_u_r_c_e_s;
      XlcArgList _a_r_g_s;
      int _n_u_m___a_r_g_s;
      unsigned long _m_a_s_k;


XtGetSubvalues ƱͤδؿǤ롣


char * _XlcSetValues(_b_a_s_e, _r_e_s_o_u_r_c_e_s, _n_u_m___r_e_s_o_u_r_c_e_s, _a_r_g_s, _n_u_m___a_r_g_s, _m_a_s_k)
      XPointer _b_a_s_e;
      XlcResourceList _r_e_s_o_u_r_c_e_s;
      int _n_u_m___r_e_s_o_u_r_c_e_s;
      XlcArgList _a_r_g_s;
      int _n_u_m___a_r_g_s;
      unsigned long _m_a_s_k;


XtSetSubvalues ƱͤδؿǤ롣


AANNSSII CC ߴؿ

ʲ˼ΤϡANSI C ĶΤ ANSI C/MSE ߴؿ
Ǥ롣








                             1133





ץΥե졼               XX1111,, ꡼ 66..44


int _Xmblen(_s_t_r, _l_e_n)
      char _*_s_t_r;
      int _l_e_n;


ؿ ___X_m_b_l_e_n ϰ ``_s_t_r'' ؤʸ֤֤ʸ
Ĵ٤ݤˤϡ``_s_t_r''  ``_l_e_n'' ХȤȤ
롣``_s_t_r'' ϸߤΥͭǤդΥɥåȤʸ
ؤȤǤ롣

___X_m_b_l_e_n θƤӽФ
     _Xmbtowc(_Xmbtowc((_w_c_h_a_r___t_*)NULL, _s_t_r, _l_e_n))
θƤӽФƱǤ롣


int _Xmbtowc(_w_s_t_r, _s_t_r, _l_e_n)
      wchar_t _*_w_s_t_r;
      char _*_s_t_r;
      int _l_e_n;


ؿ ___X_m_b_t_o_w_c  ``_s_t_r'' ؤʸ(ʸ)򡢥磻ɥ
ɽѴη̤ ``_w_s_t_r'' ֤``_l_e_n'' Ѵ
 ``_s_t_r'' ΥХȿǤ롣ᤷͤѴ줿ʸǤ
롣

___X_m_b_t_o_w_c θƤӽФ
     _Xlcmbtowc((XLCd)NULL, _w_s_t_r, _s_t_r, _l_e_n)
θƤӽФƱǤ롣


int _Xlcmbtowc(_l_c_d, _w_s_t_r, _s_t_r, _l_e_n)
      XLCd _l_c_d;
      wchar_t _*_w_s_t_r;
      char _*_s_t_r;
      int _l_e_n;


ؿ ___X_l_c_m_b_t_o_w_c  ___X_m_b_t_o_w_c ȤۤƱǤ뤬
``_l_c_d'' ׵᤹ۤʤ롣 ``_l_c_d''  (XLCd) NULL ʤ
С ___X_l_c_m_b_t_o_w_c_,  ___X_l_c_C_u_r_r_e_n_t_L_C ƤӽФƸߤΥ
ꤹ롣


int _Xwctomb(_s_t_r, _w_c)
      char _*_s_t_r;
      wchar_t _w_c;


ؿ ___X_w_c_t_o_m_b ϡ``_w_c'' 1ĤΥ磻ɥ饯ʸ
ХɽѴη̤ ``_s_t_r'' ֤
ᤷͤ 1 Ǥ롣





                             1144





ץΥե졼               XX1111,, ꡼ 66..44


___X_w_c_t_o_m_b θƤӽФ
     _Xlcwctomb((XLCd)NULL, _s_t_r, _w_s_t_r)
θƤӽФƱǤ롣


int _Xlcwctomb(_l_c_d, _s_t_r, _w_c)
      XLCd _l_c_d;
      char _*_s_t_r;
      wchar_t _w_c;


ؿ ___X_l_c_w_c_t_o_m_b  _Xwctomb ȤۤƱǤ뤬
``_l_c_d'' ɬפȤۤʤ롣``_l_c_d''  (XLCd) NULL ʤ
С ___X_l_c_w_c_t_o_m_b  ___X_l_c_C_u_r_r_e_n_t_L_C ƤӽФƸߤΥ
ꤹ롣


int _Xmbstowcs(_w_s_t_r, _s_t_r, _l_e_n)
      wchar_t _*_w_s_t_r;
      char _*_s_t_r;
      int _l_e_n;


ؿ ___X_m_b_s_t_o_w_c_s ϡ``_s_t_r''  NULL ʸǽʸ
ɥ饯ɽѴη̤ ``_w_s_t_r'' 
``_l_e_n'' ϡ ``_s_t_r'' ѴʸǤ롣

___X_m_b_s_t_o_w_c_s θƤӽФ
     _Xlcmbstowcs((XLCd)NULL, _w_s_t_r, _s_t_r, _l_e_n)
θƤӽФǤ롣


int _Xlcmbstowcs(_l_c_d, _w_s_t_r, _s_t_r, _l_e_n)
      XLCd _l_c_d;
      wchar_t _*_w_s_t_r;
      char _*_s_t_r;
      int _l_e_n;


ؿ ___X_l_c_m_b_s_t_o_w_c_s  _Xmbstowcs ȤۤƱǤ뤬
``_l_c_d'' ɬפȤۤʤ롣``_l_c_d''  (XLCd) NULL ʤ
С ___X_l_c_m_b_s_t_o_w_c_s  ___X_l_c_C_u_r_r_e_n_t_L_C ƤӽФƸߤΥ
ꤹ롣


int _Xwcstombs(_s_t_r, _w_s_t_r, _l_e_n)
      char _*_s_t_r;
      wchar_t _*_w_s_t_r;
      int _l_e_n;


ؿ ___X_w_c_s_t_o_m_b_s ϡ``_w_s_t_r'' 磻ɥ饯ʸ
ޥХʸѴη̤ ``_s_t_r'' ֤磻
ɥ饯ʸ (wchar_t) NULL ǽꡢޥХʸ



                             1155





ץΥե졼               XX1111,, ꡼ 66..44


NULL ʸǽ롣

___X_w_c_s_t_o_m_b_s θƤӽФ
     _Xlcwcstombs((XLCd)NULL, _s_t_r, _w_s_t_r, _l_e_n)
θƤӽФǤ롣


int _Xlcwcstombs(_l_c_d, _s_t_r, _w_s_t_r, _l_e_n)
      XLCd _l_c_d;
      char _*_s_t_r;
      wchar_t _*_w_s_t_r;
      int _l_e_n;


ؿ ___X_l_c_w_c_s_t_o_m_b_s  _Xwcstombs ȤۤƱǤ뤬
``_l_c_d'' ɬפȤۤʤ롣``_l_c_d'' (XLCd) NULL ʤ
С ___X_l_c_w_c_s_t_o_m_b_s  ___X_l_c_C_u_r_r_e_n_t_L_C ƤӽФƸߤΥ
ꤹ롣


int _Xwcslen(_w_s_t_r)
      wchar_t _*_w_s_t_r;


ؿ ___X_w_c_s_l_e_n ϡ``_w_s_t_r'' ؤ (wchar_t) NULL ǽ
ɥ饯ʸΥ磻ɥ饯ο֤


wchar_t * _Xwcscpy(_w_s_t_r_1, _w_s_t_r_2)
      wchar_t _*_w_s_t_r_1, _*_w_s_t_r_2;


wchar_t * _Xwcsncpy(_w_s_t_r_1, _w_s_t_r_2, _l_e_n)
      wchar_t _*_w_s_t_r_1, _*_w_s_t_r_2;
      int _l_e_n;


ؿ ___X_w_c_s_c_p_y  ``_w_s_t_r_2'' 磻ɥ饯ʸ
``_w_s_t_r_1'' ؤ֥Ȥ˥ԡ롣``_W_s_t_r_1'' 
``_W_s_t_r_1''  (wchar_t) NULL ǽ롣ᤷͤ ``_w_s_t_r_1'' 
Υݥ󥿤Ǥ롣

ؿ ___X_w_c_s_n_c_p_y  ___X_w_c_s_c_p_y_, ȤۤƱǤ뤬δؿ
``_w_s_t_r_2'' ؤ֥Ȥ ``_w_s_t_r_1'' ؤ֥
Ȥ ``_l_e_n'' ĤΥ磻ɥ饯򥳥ԡۤʤ롣


int _Xwcscmp(_w_s_t_r_1, _w_s_t_r_2)
      wchar_t _*_w_s_t_r_1, _*_w_s_t_r_2;








                             1166





ץΥե졼               XX1111,, ꡼ 66..44


int _Xwcsncmp(_w_s_t_r_1, _w_s_t_r_2, _l_e_n)
      wchar_t _*_w_s_t_r_1, _*_w_s_t_r_2;
      int _l_e_n;


ؿ ___X_w_c_s_c_m_p  NULL ʸǽ磻ɥ饯ʸ2
Ӥ롣ᤷͤ 0꾮0, 0礭Τ
줫Ǥ롣ͤ ``_w_s_t_r_1''  ``_w_s_t_r_2'' Ф
Ʊ֡Τˤʤ뤫Ƿޤ롣

ؿ ___X_w_c_s_n_c_m_p  ___X_w_c_s_c_m_p ȤۤƱǤ뤬¿Ƥ
``_l_e_n'' ʸΥ磻ɥ饯Ӥʤۤʤ롣













































                             1177


