( ) Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 816 4038 11 2002 12
Copyright 2002 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved. Berkeley BSD UNIX X/Open Company, Ltd. Federal Acquisitions: Commercial Software Government Users Subject to Standard License Terms and Conditions. HG L HG-MincyoL-Sun HG B HG-GothicB-Sun HG W3@X12 Sun Sun Microsystems docs.sun.com AnswerBook AnswerBook2 Sun Microsystems, Inc. ( Sun Microsystems ) Solaris Sun Microsystems SPARC SPARC International, Inc. SPARC Sun Microsystems OPENLOOK OpenBoot JLE Wnn Wnn6 Copyright OMRON Co., Ltd. 1995-2000. All Rights Reserved. Copyright OMRON SOFTWARE Co.,Ltd. 1995-2002 All Rights Reserved. ATOK ATOK Server/ATOK12 ATOK Server/ATOK12 (7 /5 ) ( ) 98 1997 Unicode Unicode, Inc. OPEN LOOK Sun Graphical User Interface Sun Microsystems Sun Microsystems Xerox Sun Microsystems Xerox Xerox Graphical User Interface Sun Microsystems DtComboBox DtSpinBox Interleaf, Inc. ( 1993 Interleaf, Inc.) ( ) ( ) : Common Desktop Environment: Internationalization Programmer s Guide Part No: 816-0280-10 Revision A 020924@4660
7 1 13 13 15 15 16 17 18 20 20 20 21 23 23 24 27 28 28 28 (ICCC) 28 2 31 31 32 3
33 34 35 36 charset 37 37 39 40 XmString ( ) 40 43 43 DrawingArea 43 43 Text TextField 44 Text[Field] 45 XIM 47 XIM 48 XIM 49 49 50 50 50 51 51 XPG4/ UNIX 51 XPG4 51 Xlib 53 Xlib 53 54 54 56 56 Text 57 ( ) 58 ( ) 58 59 60 4 ( ) 2002 12
3 65 65 iconv 66 68 69 iconv 69 X (ICCCM) 70 70 71 72 72 73 ISO EUC 75 4 Motif 81 81 83 83 84 86 87 87 90 Text TextField 93 93 95 96 98 98 UIL default_charset 101 UIL 104 5 Xt Xlib 107 107 X 107 108 Xt 110 5
113 114 114 115 116 Xlib 116 124 X 124 126 126 127 XmClipboard 127 128 129 A 131 131 132 132 133 133 135 136 137 138 141 6 ( ) 2002 12
( ) 7
1 2 3 4 (UIL) 5 A 8 ( ) 2002 12
ISO C:ISO/IEC 9899: 1990, Programming Languages --- C (ANS X3.159-1989, Programming Language C ) ISO/IEC 9945-1: 1990, (IEEE Standard 1003.1) Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language] ISO/IEC DIS 9945-2: 1992, (IEEE Standard 1003.2-Draft) Information Technology - Portable Operating System Interface (POSIX) - Part 2: Shell and Utilities OSF/Motif 1.2: OSF Motif 1.2 Programmer s Reference Revision 1.2, Open Software Foundation, Prentice Hall, 1992, ISBN: 0-13-643115-1 Scheifler, W. R., X Window System, The Complete Reference to Xlib, Xprotocol, ICCCM, XLFD -XVersion 11, Release 5 Digital Press, 1992, ISBN: 1-55558-088-2 X/Open: X/Open CAE Specification System Interface Definition Issue 4, X/Open Company Ltd., 1992, ISBN: 1-872630-46-4 X/Open: X/Open CAE Specification Commands and Utilities Issue 4, X/Open Company Ltd., 1992, ISBN: 1-872630-48-0 X/Open: X/Open CAE Specification System Interface and Headers Issue 4, X/Open Company Ltd., 1992, ISBN: 1-872630-47-2 X/Open: X/Open Internationalization Guide X/Open Company Ltd., 1992, ISBN: 1-872630-20-0 ISO/IEC 10646-1: 1993 (E): Information Technology - Universal Multi-Octet Coded Character Set (UCS). Part 1: Architecture and Basic Multilingual Plane Sun http://docs.sun.com Sun 9
P 1 AaBbCc123 AaBbCc123 AaBbCc123.login ls -a system% system% su password: rm filename 5 \ sun% grep ^#define \ XV_VERSION_STRING C system% command y n [filename] Bourne Korn system$ command y n [filename] system# command y n [filename] [] filename 10 ( ) 2002 12
( ) 1 ( : Shift ) Enter Return (-) 2 Ctrl-D Control D 11
12 ( ) 2002 12
1 13 17 18 23 23 28 (ICCC) 1 1 1 13
( ) (UID) ( ) 1 1 1 1 14 ( ) 2002 12
(L10N) X/Open CAE Specification System Interface Definition Issue 4, X/Open Company Ltd., 1992, ISBN: 1-872630-46-4 X/Open ASCII X/Open / ( ) ( ) POSIX ( 1 15
) X/Open X/Open 2 X/Open Portability Guide (XPG2) Hewlett-Packard X/Open XPG4 X Window System, The Complete Reference to Xlib, Xprotocol, ICCCM, XLFD - X Version, Release 5 Digital Press, 1992, ISBN 1-55558-088-2. ANSI/IEEE Standard Portable Operating System Interface for Computer Environments IEEE. OSF TM Motif 1.2 Programmer s Reference Revision 1.2, Open Software Foundation, Prentice Hall, 1992, ISBN 0-13-643115-1. X/Open CAE Specification Commands and Utilities Issue 4, X/Open Company Ltd., 1992, ISBN 1-872630-48-0. ( ) 1 2 ( ) 16 ( ) 2002 12
1 2 ( $LANG xnllanguage ) LC_ALL LC_CTYPE LANG 5 110 Xt LC_CTYPE LC_CTYPE 1 17
XtSetLanguageProc() ( setlocale()) setlocale() XtSetLanguageProc () XtSetLanguageProc() setlocale() ( ) setlocale() $LC_* $LANG setlocale (LC_ALL, ) 1 1 1 1 1 2 3 LC_CTYPE: LC_ALL LC_TYPE LANG LC_COLLATE: LC_ALL LC_COLLATE LANG LC_TIME: LC_ALL LC_TIME LANG LC_NUMERIC: LC_ALL LC_NUMERIC LANG LC_MONETARY: LC_ALL LC_MONETARY LANG LC_MESSAGES: LC_ALL LC_MESSAGES LANG (-xnllanguage) (xnllanguage) RESOURCE_MANAGER RESOURCE_MANAGER X XFontStruct() XFontStruct() 18 ( ) 2002 12
Xlib XFontStruct() X (XLFD) XLFD charset ( ) charset charset XLFD CharSetRegistry CharSetEncoding ( : Xlib XFontSet()) 1 1 charset XFontSet() XLFD XLFD 1 XLFD XLFD charset 1 libxm Toolkit (XmFONTLIST_DEFAULT_TAG) libxm Toolkit XmString() 1 ( ) ( 1 ) libxm XmText() XmString() 1 Motif :( ) ( ) 1 19
(charset) X (XLFD) XLFD 14 -dt-application-medium-r-normal-serif-*-*-*-*-p-*-iso8859-1 -*-r-*-14-*iso8859-1 (XLFD ) XLFD ( ) ja_jp 3 ( ) XLFD -dt-mincho-medium-r-normal--14-*-*-m-*-jisx0201.1976-0, -dt-mincho-medium-r-normal--28-*-*-*-m-*-jisx0208.1983-0: XLFD -dt-*-medium-*-24-*-m-*: 2 1 20 ( ) 2002 12
(bold() italic() bigbold() ) XmString() XmFONTLIST_DEFAULT_TAG = ( ) =bigbold() = : ( ) :bigbold() :,( ) ;( ) 1 -*-r-*-14-*:, # default font list entry -*-b-*-18-*:bigbold # Large Bold fonts XLFD charset XLFD charset charset XLFD XLFD 1 21
charset charset charset CharSetRegistry CharSetEncoding XLFD charset 1 charset 1 XLFD Xlib charset 1 charset charset JIS ASCII ~( ) \( ) ( ) ( ) Xlib JIS ISO8859-1 (XLFD CharSetRegistry CharSetEncoding ) charset XLFD XLFD XLFD charset charset charset 1 charset ISO8859-1 JISX0208.1983 JISX0201.1976 GB2312-1980.0 charset "-dt-mincho-medium-r-normal-*-*-*-*-*-m-*-jisx0208.1983-0,\ -dt-mincho-medium-r-normal-*-*-*-*-*-m-*-jisx0201.jisx0201\.1976-1,\ -dt-song-medium-r-normal-*-*-*-*-*-m-*-gb2312-1980.0,\ -*-default-bold-r-normal-*-*-*-*-m-*-iso8859-1" charset "-dt-fixed-medium-r-normal-*-*-*-*-*-m-*,\ -dt-fixed-medium-r-normal-*-*-*-*-*-m-*,\ -dt-fixed-medium-r-normal-*-*-*-*-*-m-*,\ -*-Courier-Bold-R-Normal-*-*-*-*-M-*" XLFD "-*-*-*-R-Normal--*-*-*-*-*-M-*" 22 ( ) 2002 12
Xlib Motif Xm Toolkit XmText[Field] () dtterm() libxm Toolkit XmNinputMethod() 1 23
1 3 VendorShell ( ) ( ) 4 OffTheSpot OverTheSpot ( ) Root None 24 ( ) 2002 12
OffTheSpot OffTheSpot 1 4 1 4 VendorShell OffTheSpot ( ) OffTheSpot VendorShell() XmNpreeditType() XtSetValues() XmNpreeditType() TopLevelShell() ApplicationShell() DialogShell() 3 VendorShell() OverTheSpot ( ) OverTheSpot ( Text ) OverTheSpot 1 1 25
Text 1 5 OverTheSpot VendorShell() XmNpreeditType() XtSetValues() XmNpreeditType() TopLevelShell() ApplicationShell() DialogShell() 3 VendorShell() 1 5 VendorShell OverTheSpot ( ) Root Root Root OffTheSpot 1 6 26 ( ) 2002 12
1 6 VendorShell Root ( ) OverTheSpot OffTheSpot VendorShell Root OffTheSpot VendorShell() VendorShell VendorShell 1 27
1 3 JIS VendorShell() MainWindow MainWindow (RowColumn() ) VendorShell() MainWindow() Motif 1 ( ) (ICCC) (ICCC) 2 ICCC 2 2 ( 1 (JIS) ) 28 ( ) 2002 12
2 ICCC 2 COMPOUND_TEXT (7 ASCII ) ISO8859-1 XA_STRING COMPOUND_TEXT XA_STRING libxm 1 29
30 ( ) 2002 12
2 1 1 1 31 32 39 43 49 51 51 54 60 ( $LANG) Xm (libxm) Xm ( XtAppInitialize()) XtSetLanguageProc() 31
setlocale() ( LC_ALL LC_CTYPE LANG ) LC_CTYPE X Xm LC_MESSAGES 49 LC_CTYPE ( UIL ( ) ISO8859-1 UNIX (EUC)) X11R5 ( ) XtSetLanguageProc() setlocale() XSupportsLocale() XSetLocaleModifiers() X Windows System 2 1 49 32 ( ) 2002 12
1 charset 1 XLFD 2 2 -adobe-courier-medium-r-normal--24-240-75-75-m-150-iso8859-1 XLFD 2 iso8859 1 ISO8859-1 ISO8859-1 charset charset app-defaults app-defaults XLFD Xlib XLFD charset Xlib charset XFontset X11R5 (API) 2 33
Xlib XFontSet() 1 charset XLFD XFontSet *fontset 54 (XmString ) Xlib Xt Xt /* pardon the double negative... means "If using Xt..." */ #ifndef NO_XT typedef struct { XFontSet fontset; char *foo; } ApplicationData, *ApplicationDataPtr; static XtResource my_resources[] = { { XtNfontSet, XtCFontSet, XtRFontSet, sizeof (XFontSet), XtOffset (ApplicationDataPtr, fontset), XtRString, "*-18-*"}} #endif /* NO_XT */... #ifdef NO_XT fontset = XCreateFontSet (dpy, "*-18-*", &missing_charsets, &num_missing_charsets. &default_string); if (num_missing_charsets > 0) { (void) fprintf(stderr, "&s: missing charsets.\n", program_name); XFreeStringList(missing_charsets); } #else XtGetApplicationResources(toplevel, &data, my_resources, XtNumber(my_resources), NULL, 0); fontset = data.fontset; #endif /* NO_XT */ 34 ( ) 2002 12
charset ( XFontStruct) charset XFontStruct XFontStruct *font XmString XmFontList 1 ( Bold Large Small ) XmString 2 1 2 1 XLFD FontEntry *fontset: (Xlib) *fontlist : (Motif) app_foo*fontlist: -adobe-courier-medium-r-normal--24-240-75-75-m-150-*: fontlist 1 24 Adobe Courier app_foo*fontlist: -adobe-courier-medium-r-normal--18-*; *-gothic-*-18-*: fontlist 18 Courier 18 Gothic Motif DrawingArea 1 2 35
XmFONTLIST_DEFAULT_TAG XmFONTLIST_DEFAULT_TAG codeset XmFONTLIST_DEFAULT_TAG XFontSet FontList2FontSet( XmFontList fontlist) { XmFontContext context; XmFontListEntry next_entry; XmFontType type_return = XmFONT_IS_FONT; char* font_tag; XFontSet fontset; XFontSet first_fontset; Boolean have_font_set = False; if (!XmFontListInitFontContext(&context, fontlist)) { XtWarning( fl2fs: can t create fontlist context... ); exit 0; } while ((next_entry = XmFontListNextEntry(context)!= NULL) { fontset = (XFontSet) XmFontListEntryGetFont(next_entry, &type_return); if (type_return == XmFONT_IS_FONTSET ) { font_tag = XmFontListEntryGetTag(next_entry); if (!strcmp(xmfontlist_default_tag, font_tag) { return fontset; } /* Remember the 1st fontset, just in case... */ if (!have_font_set) { first_fontset = fontset; have_font_set = True; } } } if (have_font_set) return first_fontset; return (XFontSet)NULL; } Xlib API XCreateFontSet() XLocaleOfFontSet() XFontsOfFontSet() 36 ( ) 2002 12
XBaseFontNameListOfFontSet() XFreeFontSet() Motif FontList API XmFontListEntryCreate() XmFontListEntryAppend() XmFontListEntryFree() XmFontListEntryGetTag() XmFontListEntryGetFont() XmFontListEntryLoad() charset X font charset XLFD 15 FAMILY_NAME %F WEIGHT_NAME %W SLANT %S ADD_STYLE %A SPACING %SP (POINT_SIZE) -dt-%f-%w-%s-normal-%a-*-*-*-%sp-* (app-defaults) 2 37
ISO8859-1 FOUNDRY dt FAMILY_NAME interface user interface system application WEIGHT_NAME SLANT ADD_STYLE SPACING medium bold r i sans serif serif p m ISO8859 ISO8859-1 JIS FOUNDRY dt FAMILY_NAME Gothic Mincho WEIGHT_NAME medium bold SLANT r ADD_STYLE * SPACING m KSC FOUNDRY dt FAMILY_NAME Totum Pathang WEIGHT_NAME medium bold SLANT r ADD_STYLE * SPACING m 38 ( ) 2002 12
FAMILY_NAME 2 Totum Kodig Dotum Pathang Myungo Myeongjo CNS FOUNDRY dt FAMILY_NAME Sung Kai WEIGHT_NAME medium bold SLANT r ADD_STYLE * SPACING m GB FOUNDRY dt FAMILY_NAME Song Kai WEIGHT_NAME medium bold SLANT r ADD_STYLE * SPACING m Motif Xlib 2 39
Xlib (char*) XmbDrawImageString() XmbDrawString() XmbDrawText() Xlib (wchar_t*) XwcDrawImageString() XwcDrawString() XwcDrawText() Xlib (char*) XExtentsOfFontSet() XmbTextEscapement() XmbTextExtents() XmbTextPerCharExtents() Xlib (char_t*) XExtentsOfFontSet() XwcTextEscapement() XwcTextExtents() XwcTextPerCharExtents() XmString ( ) Xm XmStringCreateLocalized() XmString XmFONTLIST_DEFAULT_TAG XmStringCreate() XmFONTLIST_DEFAULT_TAG XmStringConvertToCT() XmFONTLIST_DEFAULT_TAG Xm 40 ( ) 2002 12
XmString XmFONTLIST_DEFAULT_TAG XmFontList CreateFontList( Display* dpy, char* pattern) { SmFontListEntry font_entry; XmFontList fontlist; font_entry = XmFontListEntryLoad( dpy, pattern, XmFONT_IS_FONTSET, XmFONTLIST_DEFAULT_TAG); fontlist = XmFontListAppendEntry(NULL, font_entry); /* XmFontListEntryFree(font_entry); */ if ( fontlist == NULL ) { XtWarning( fl2fs: can t create fontlist... ); exit (0); } return fontlist; } int main(argc,argv) int argc; char **argv; { Display *dpy; /* Display */ XtAppContext app_context;/* Application Context */ XmFontList fontlist; XmFontSet fontset; XFontStruct** fontstructs; char** fontnames; int i,n; char *progrname; /* program name without the full pathname */ if (progname=strrchr(argv[0], / )){ progname++; } else { progname = argv[0]; } /* Initialize toolkit and open display. */ XtSetLanguageProc(NULL, NULL, NULL); XtToolkitInitialize(): 2 41
app_context = XtCreateApplicationContext(); dpy = XtOpenDisplay(app_context, NULL, progname, XMdemos, NULL, 0, &argc, argv); if (!dpy) { XtWarning( fl2fs: can t open display, exiting... ); exit(0); } fontlist = CreateFontList(dpy, argv[1] ); fontset = FontList2FontSet( fontlist ); /* * Print out BaseFontNames of Fontset */ n = XFontsOfFontSet( fontset, &fontstructs, &fontnames); printf( Fonts for %s is %d\n, argv[1], n); } for (i = 0 ; i < n ; ++i ) printf( font[%d} - %s\n, i,\ fontnames[i] ); exit(1); Xm_FONTLIST_DEFAULT_TAG fontlist XmFONTLIST_DEFAULT_TAG labelstring: Japanese string *fontlist: -dt-interfacesystem-medium-r-normal-l*-*-*-*-*-*-*: XmString XmStringCreateLocalized() XmStringDraw() XmStringDrawImage() XmStringDrawUnderline() XmString() XmStringCreateLtoR() XmStringSegementCreate() 42 ( ) 2002 12
Xlib Xlib XIM Text DrawingArea XmIm VendorShell XmIm Xlib XmIm Xlib PostScript TM 2 43
Xlib XNPreeditCallbacks XIM XIM Text TextField Text TextField Text[Field] XmTextField XmText XmText XmTextPosition() XmTextGetMaxLength() Text TextField XmNcolumns Text i 1 W 7 XmNcolumns 10 Text 10 Text Core W 10 i 70 XmNcolumns Text TextField 58 ( ) 44 ( ) 2002 12
Text[Field] TextField Text DrawingArea DrawingArea Xlib XIM Motif 1.2 XmIm XmIm XmIm Motif VendorShell XmIm Motif 1.2 XmIm Motif 1.2 OSF Motif 2.0 XmIm Motif 1.2 XmIm Motif 1.2 XmIm Xlib API 47 XIM Motif 1.2 XmIm xm.h XmImRegister() XmImSetValues() XmImSetFocusValues() XOpenIM() XIC XIC XmImUnsetFocus() 2 45
XmImMbLookupString() XmbLookupString() Xm 1 XmbLookupString() XmImUnregister() ( ) XmImSetValues() XmImSetFocusValues() ( ) VendorShell XmImSet[Focus]Values() XmNbackground XmNforeground XmNbackgroundPixma XmNspotLocation XmNfontList XmNlineSpace Pixel Pixel Pixmap XPoint Motif fontlist int ( ) XmIm XtSetLanguageProc(NULL, NULL, NULL) XmImRegister(widget) XmImSetValues() XIC arg_list number_args arglist XtSetArg() XtAddEventHandler() FocusChangeMask XmImSetFocusValues() 46 ( ) 2002 12
XmImUnsetFocus() DestroyCallback XmImUnregister() 1 ( spotlocation) XmImSetValues() XIM XIM XOpenIM() XCloseIM() XGetIMValues() XDisplayOfIM() XLocaleOfIM() XCreateIC() XDestroyIC() XIMOfIC() XSetICValues() XOpenIM() Xlib XNQueryInputstyle ( ) 0 X11R5 2 47
XGetICValues() 0 X11R5 XIM XIM XmbLookupString() XwcLookupString() XmbResetIC() XwcResetIC() XFilterEvent() XSetICFocus() XUnsetICFocus() char* NULL wchar_t* 48 ( ) 2002 12
XIM X (XIM) 3 1 2 XIM XIM 3 XIM XIM : PreeditStartCallback XXIM : StatusStartCallback XIM : PreeditCaretCallback XIM : GeometryCallback XIM Preedit Callback: PreeditDoneCallback XIM Status Callbacks: StatusDoneCallback XIM Preedit Callback: PreeditDrawCallback XIM Status Callbacks: StatusDrawCallback 2 3 2 49
GUI (libxt) Xm LC_MESSAGES XtSetLanguageProc() XPG4 System V Release 4 (SVR4) 50 ( ) 2002 12
( ) 1 ( ) XPG4 Xlib 2 XPG4/ UNIX XPG4 XPG4/ UNIX catopen() catgets() catclose() XPG4 3 1 2 3 2 51
example.msg $quote $ every message catalog should have a beginning set number. $set 1 This is the set 1 of messages 1 Hello world\n 2 Good Morning\n 3 example: 1000.220 Read permission is denied for the file %s.\n $set 2 1 Howdy\n example.cat gencat gencat example example.msg #include <locale.h> #include <nl_types.h> char *MF_EXAMPLE = "example.cat" main() { nl_catd catd; int error; (void)setlocale(lc_all, ); catd = catopen(mf_example, 0); /* Get the message number 1 from the first set.*/ printf( catgets(catd,1,1, Hello world\n ) ); /* Get the message number 1 from the second set.*/ printf( catgets(catd, 2, 1, Howdy\n ) ); /* Display an error message.*/ } printf( catgets(catd, 1, 4, example: 100.220 Permission is denied to read the file %s.\n ), MF_EXAMPLE); catclose(catd); 52 ( ) 2002 12
Xlib Xlib (I/O) XrmPutFileDatabase() XrmGetFileDatabase() XrmGetStringDatabase() XrmLocaleOfDatabase() X Window System, The Complete Reference to Xlib, Xprotocol, ICCCM, XLFD - X Version 11, Release 5 Xlib I/O ( ) XmLabel XmPushButton XmNlabelString XmMessageBox XmNmessageString /usr/lib/x11/%l/app-defaults XENVIRONMENT %L 2 53
2 2 XmString color char* Motif 1.2 Reference Manual app-defaults XmDrawnButton XmLabelWidget acceleratortext 2 2 Core *background: 1 XmCommand XmCommand XmFileSelectionBox XmFileSelectionBox XmFileSelectionBox XmFileSelectionBox XmLabel[Gadget] XmLabel[Gadget] XmLabel[Gadget] *command: *promptstring: *dirlistlabelstring: *filelistlabelstring: *filterlabelstring: *nomatchstring: *accelerator: *acceleratortext: *labelstring: 54 ( ) 2002 12
2 2 XmLabel[Gadget] XmList XmManager XmMessageBox XmMessageBox XmMessageBox XmMessageBox ( ) *mnemonic: *stringdirection: *stringdirection: *cancellabelstring: *helplabelstring: *messagestring: *oklabelstring: XmPrimitive *foreground: 1 XmRowColumn XmRowColumn XmRowColumn XmRowColumn(SimpleMenu*) XmRowColumn XmRowColumn XmRowColumn XmRowColumn XmSelectionBox XmSelectionBox XmSelectionBox XmSelectionBox XmSelectionBox XmSelectionBox XmSelectionBox *labelstring: *menuaccelerator: *mnemonic: *buttonaccelerators: *mnemonic: *mnemonic: *mnemonic: *mnemonic: *applylabelstring: *cancellabelstring: *helplabelstring: *listlabelstring: *oklabelstring: *selectionlabelstring: *textaccelerators: 1. X XmRowColumn XmRowColumn 2 55
XmCreateSimpleMenu() RowColumn *buttonaccelerator *buttonacceleratortext *buttonmnemonics *optionlabel *optionmnemonic RowColumn 2 2 2 3 app-defaults XmStringList 2 3 XmList XmList XmSelectionBox *items: *selecteditems: *listitems: 2 4 *title: *iconname: char * XmString 2 4 TopLevelShell *iconname: TopLevelShell *iconnameencoding: 1 WmShell *title: WmShell *titleencoding: 1 56 ( ) 2002 12
2 4 ( ) XmBulletinBoard XmScale *dialogtitle: *titlestring: 1. XtSetLanguageProc ( ) Text 2 5 Text[Field] 2 5 Text[Field] XmSelectionBox *textcolumns: 1 XmSelectionBox *textstring: XmText *columns: 1 XmText XmText XmText XmText *modifyverifycallback: *modifyverifycallbackwcs: *value: *valuewcs: XmTextField *columns: 1 XmTextField XmTextField XmTextField XmTextField *modifyverifycallback: *modifyverifycallbackwcs: *value: *valuewcs: 1. *columns Text[Field] 10 10 2 57
( ) 2 6 ( ) 2 6 VendorShell VendorShell *inputmethod: *preedittype: ( ) 2 7 2 7 Core WMShell XmDragIcon XmDropSite XmLabel[Gadget] XmLabel[Gadget] XmMessageBox XmPushButton[Gadget] XmToggleButton[Gadget] XmToggleButton[Gadget] *backgroundpixmap: *iconpixmap: *pixmap: *animation[mask Pixmap]: *labelinsensitivepixmap: *labelpixmap: *symbolpixmap: *armpixmap: *selectinsensitivepixmap: *selectpixmap: 58 ( ) 2002 12
XmGetPixmapByDepth() XmGetPixmapByDepth() X XmGetPixmapByDepth() XtResolvePathname() XtResolvePathname() XmGetPixmapByDepth() XBMLANGPATH XBMLANGPATH XAPPLRESDIR XmGetPixmapByDepth() $XAPPLRESDIR XBMLANGPATH XAPPLRESDIR XmGetPixmapByDepth() %B XtResolvePathname () XmGetPixmapByDepth() %B XtResolvePathname() XtResolvePathname() %L %l %t %c ( ) %T %S XmGetPixmap() XmGetPixmap() ( XmGetPixmap() ) 2 8 XmFontList XmFontList ( ) 2 59
2 8 VendorShell VendorShell VendorShell VendorShell XmBulletinBoard XmBulletinBoard XmBulletinBoard XmBulletinBoard XmLabel[Gadget] XmList XmMenuShell XmMenuShell XmMenuShell XmText XmTextField *buttonfontlist: *defaultfontlist: *labelfontlist: *textfontlist: *buttonfontlist: *defaultfontlist: *labelfontlist: *textfontlist: *fontlist: *fontlist: *buttonfontlist: *defaultfontlist: *labelfontlist: *fontlist: *fontlist: 2 9 1 1 4 60 ( ) 2002 12
2 9 mb <-> wcwc mbtowc mbstowcs wctomb wcstombs isalpha is* tolower toupper isalpha isw* wctype towlower towupper localeconv nl_langinfo strtol strtod strftime strptime strfmon strcat strcpy strncat strncpy wcstol wcstod wcstoi wcsftime wcscat wcsncat wcscpy wcsncpy strcoll wcscoll wcsxfrm strlen mblen wcscmp wcsncmp 2 61
2 9 ( ) strchr strcspn strpbrk strrchr strspn strtok wcschr wcscspn wcspbrk wcsrchr wcsspn wcstok wcswcs wcscspn I/O wcwidth 1 wcswidth I/O printf vprintf sprintf vsprint fprintf vfprint printf vprintf sprintf vsprint frpintf vfprint I/O scanf sscanf fscanf scanf sscanf fscanf I/O getc gets putc puts ungetc fgetwc fgetws fputwc fputws ungetwc gettxt catopen catgets catclose 62 ( ) 2002 12
2 9 ( ) iconv_open iconv iconv_close 1. (GUI) 40 2 63
64 ( ) 2002 12
3 65 69 71 72 8 8 ftp 3 8 7 JIS ( ) 7 8 7 8 7 ASCII 65
iconv() 7 1 8 POSIX.2 uuencode uudecode 8 7 Xlib 7 ISO2022 MIME (Multipurpose Intrenet Message Extensions: ) base64 2 8 iconv() 8 7 7 iconv ( ) 8 7 iconv_open() iconv() iconv_close() iconv() iconv_open() iconv() 7 8 7 8 8 8 7 iconv() cd =iconv_open(locale_codeset, uuencoded ); 66 ( ) 2002 12
cd = iconv_open(uucode, locale_codeset ); 8 cd = iconv_open(locale_codeset, 8-bitinterchange ); cd = iconv_open(8-bitinterchange, locale_codeset ); 7 cd = iconv_open(locale_codeset, 7-bitinterchange ); cd = iconv_open(7-bitinterchange, locale_codeset ); locale_codeset nl_langinfo()(codeset) nl_langinfo() (CODESET) 3 1 iconv() 3 1 iconv ( : XYZ) 7 8 7 8 XYZ 7 ISO2022 8 ISO2022, ISO10646 OK OK OK 1 OK 3 67
3 1 iconv ( ) 7 uucode OK OK 8 base64 OK 1. ( ) ( ) 2 / 16 ESC$(B ESC(B 8 ASCII 0x43 EBCDIC 2 1 (ISO8859 ) ( PC Shift-JIS (SJIS) ) 1 1 68 ( ) 2002 12
PC PC ISO/EUC ( / UNIX ) XPG4 iconv() iconv() iconv 1 XPG4 iconv() iconv_open() iconv () iconv_close() iconv_open() iconv() iconv_close() iconv() X/Open XPG4 3 69
X (ICCCM) Xlib X ICCCM XmbTextPropertyToTextList() XmbTextListToTextProperty() ICCCM XwcTextPropertyToTextList() XwcTextListToTextProperty() libxm() XmStringConvertToCT() XmStringConvertFromCT() XmString bold() XmStringConvertToCT() 126 XICCEncodingStyle() XCompundTextStyle() XmbTextListToTextProperty() XwcTextListToTextProperty() WMShell() XmNtitle() XmNtitleEncoding() TopLevelShell() XmNiconName() XmNiconNameEncoding() XmBulletinBoard() XmNdialogTitle() #include Widget <nl_types.h> toplevel; 70 ( ) 2002 12
Arg int XTextProperty char nl_catd al[10]; ac; title; *localized_string; fd; XtSetLanguageProc( NULL, NULL, NULL ); fd = catopen( "my_prog", 0 ); localized_string = catgets(fd, set_num, mes_num, "defaulttitle"); XmbTextListToTextProperty( XtDisplay(toplevel), &localized_string, 1, XCompoundTextStyle, &title); ac = 0; XtSetArg(al[ac], XmNtitle, title.value); ac++; XtSetArg(al[ac], XmNtitleEncoding, title.encoding); ac++; XtSetValues(toplevel, al, ac); XmbSetWMProperties() XICCEncodingStyle (email) SMTP ( ) SMTP 7 ( ) MIME 8 7 MIME (base64 ) RFC (Request for Comments) 1521 MIME 3 71
1 ASCII JIS ( ) ISO2022 16 16 ISO ( ) ( ) ASCII 7 ASCII 7 ASCII 7 ASCII 72 ( ) 2002 12
7 ASCII ISO646 (0-9) 2 (GL) 0-7 (GR) 8-F 2 ISO C0 C1 PC C1 6 ( 3 1 ) 3 73
3 1 ISO ISO646-IRV C0 1 ISO 6 1 8 191 1 74 ( ) 2002 12
8 16 32 EUC ( UNIX ) EUC ISO2022 7 8 EUC EUC EUC EUC eucjp EUC JIS (CS0) ISO646 (MSB) 1 1 ( ) 3 (CS2) SS2 ( 2 0x8e) EUC 3 SS2 4 (CS3) SS3 ( 3 0x8f) EUC 4 SS3 ISO EUC ISO ( ) ISO646-IRV ISO8859-1 ISO8859-x eucjp euctw euckr 3 75
ISO646-IRV ISO646-IRV 7 ASCII ISO8859-1 ISO8859-1 ISO ANSI ( ) ECMA ( ) ISO8859 7 ASCII ISO8859 ISO8859-1 ISO Latin-1 2 ISO646-IRV 7 ASCII ISO8859-1 ( ) ASCII GR ( ) ISO8859 ISO8859 ASCII ISO8859-2 No.2-76 ( ) 2002 12
ISO8859-5 / ( ) ISO8859-6 / ISO8859-7 / ISO8859-8 / ISO8859-9 / 3 77
eucjp EUC (2 3 ) ISO2022 JIS EUC 3 2 eucjp CS cs0 0xxxxxxx ASCII cs1 1xxxxxxx 1xxxxxxx JIS X0208-1990 cs2 0x8E 1xxxxxxx JIS X0201-1976 cs3 0x8F 1xxxxxxx 1xxxxxxx JIS X0212-1990 JIS X0208-1990 (1990 ) 147 10 83 86 52 48 66 32 6355 JIS X0201 63 JIS X0212-1990 (1990 ) 21 21 26 27 171 5801 euctw EUC (2 4 ) EUC ISO2022 EUC CNS (Chinese National Standard) 3 3 78 ( ) 2002 12
3 3 euctw CS cs0 0xxxxxxx ASCII cs1 1xxxxxxx 1xxxxxxx CNS 11643.1992 - plane 1 cs2 0x8EA2 1xxxxxxx 1xxxxxxx CNS 11643.1992 - plane 2 cs3 0x8EA3 1xxxxxxx 1xxxxxxx CNS 11643.1992 - plane 3 0x8EB0 1xxxxxxx 1xxxxxxx CNS 11643.1992 - Plane 16 CNS 11643-1992 16 8836 (94 94) 1 7 3 4 CNS 11643-1992 16 3 4 CNS 11643-1992 16 EUC 1 6085 A1A1-FDCB 2 2 7650 8EA2 A1A1-8EA2 F2C4 3 Exec. Yuen EDP 1 6148 8EA3 A1A1-8EA3 E2C6 4 RIS 2 7298 8EA4 A1A1-8EA4 EEDC 5 MOE 3 8603 8EA5 A1A1-8EA5 FCD1 6 MOE 1 6388 8EA6 A1A1-8EA6 E4FA 7 MOE 2 6539 8EA7 A1A1-8EA7 E6D5 8 0 8EA8 A1A1-8EA8 FEFE 9 0 8EA9 A1A1-8EA9 FEFE 10 0 8EAA A1A1-8EAA FEFE 11 0 8EAB A1A1-8EAB FEFE 12 (UDC) 0 8EAC A1A1-8EAC FEFE 13 UDC 0 8EAD A1A1-9EAD FEFE 14 UDC 0 8EAE A1A1-8EAE FEFE 15 UDC 0 8EAF A1A1-8EAF FEFE 16 UDC 0 8EB0 A1A1-8EB0 FEFE 1. EDP: 2. RIS: 3. MOE: 3 79
euckr EUC ( 3 5 ) ISO2022 KSC ( ) EUC 3 5 euckr CS cs0 0xxxxxxx ASCII cs1 1xxxxxxx 1xxxxxxx KS C 5601-1992 cs2 cs3 KSC 5601-1992 (1992 ) 432 30 94 52 48 27 169 66 68 2344 4888 1 80 ( ) 2002 12
4 Motif Motif 81 83 87 93 98 UID ( ) (XPG3 ) 1 1 (POSIX LANG LC_*) xnllanguage XtSetLanguageProc() setlocale() Xt XtResolvePathname() UIL ( ) 81
Xt (XtAppInitialize () ) XtSetLanguageProc() Xt Xt setlocale(lc_all, language); language xnllanguage xnllanguage ( ) xnllanguage (POSIX LANG) XSupportsLocale() C XSetLocaleModifiers() ANSI C setlocale(lc_all, NULL); XtSetLanguageProc() XtSetLanguageProc(NULL, NULL, NULL);.. toplevel = XtAppInitialize(...); Xt XtSetLanguageProc() Xt xnllanguage xnllanguage Xt LANG Xt 82 ( ) 2002 12
Motif ( ) {tag, element } element char font1[] = "-adobe-courier-medium-r-normal--10-100-75-75-m-60"; font_list_entry = XmFontListEntryLoad (displayid, font1, XmFONT_IS_FONTSET, "font_tag"); XmFontListEntryLoad() 4 displayid fontname nametype tag (nametype ) fontname nametype XmFONT_IS_FONTSET XmFontListEntryLoad() fontname nametype 4 Motif 83
XmFONT_IS_FONT XmFontListEntryLoad() fontname font_list_entry XmFontList font_list; XmFontListEntry font_list_entry;.. font_list = XmFontListAppendEntry (NULL, font_list_entry); XmFontListEntryFree (font_list_entry); XmFontListAppendEntry() XmFontListEntryCreate() XFontSet font2; char *font_tag; XmFontListEntry font_list_entry2;.. font_list_entry2 = XmFontListEntryCreate (font_tag, XmFONT_IS_FONTSET, (XtPointer)font2); font2 XCreateFontSet() XFontSet XmFontListEntryCreate() font_tag XmFONT_IS_FONTSET font2 {tag, element} XmFontListAppendEntry() font_list = XmFontListAppendEntry(font_list, font_list_entry2); XmFontListEntryFree(font_list_entry2); 84 ( ) 2002 12
=( ) = ( ), ( ) =( ) :( ) ;( ),( ) XmFONTLIST_DEFAULT_TAG *fontlist: fixed *fontlist: \ -adobe-courier-medium-r-normal--10-100-75-75-m-60-iso8859-1 *fontlist: fixed=roman, 8x13bold=BOLD 2 *fontlist: fixed, 8x13bold=BOLD XmFONTLIST_DEFAULT_TAG Xlib *fontlist: -dt-application-medium-r-normal-*-m*-*-*-*-m-* 4 Motif 85
Xlib MY_TAG *fontlist: -dt-application-medium-r-normal-*-m*-*-*-*-m*:my_tag Xlib *fontlist: -dt-application-medium-r-normal-*-m*-*-*-*-m-*:,\ -dt-application-medium-r-normal-style2-m*-*-*-*-m-*:bold XmFontList() 1 XFontStruct XFontSet charset ( ) X ( ) XFontStruct XmFontList XmFontList fontentry baselist fontsetid fontname fontid := <fontentry> {, fontentry} := <fontname><fontid> <baselist><fontsetid> := <fontname>{ ; <fontname>} := : <string> <defaultfontset> := <XLFD string> := = <string> <defaultfont> XLFD string := XLFD defaultfont := NULL defaultfontset:= : NULL string := ISO646IRV XmFontList fontentry (XmString) ID (fontid fontsetid) defaultfont defaultfontset fontentry XmFontList 1 86 ( ) 2002 12
XmFONTLIST_DEFAULT_TAG XmString fontentry fontentry fontentry charset ID (fontid fontsetid) XmFontList Text TextField ( ) ( ) 4 XmFONTLIST_DEFAULT_TAG 4 Motif 87
2 XmFONTLIST_DEFAULT_TAG XmFONTLIST_DEFAULT_TAG 90 Text TextField PushButton Label XmNlabelString XmString 88 ( ) 2002 12
XmStringCreateLocalized() XmFONTLIST_DEFAULT_TAG XmNlabelString 1 #include <nl_types.h> Widget button; Args args[10]; int n; XmString button_label; nl_msg my_catd; (void)xtsetlanguageproc(null,null,null);.. button_label = XmStringCreateLocalized (catgets(my_catd, 1, 1, "default label"), XmFONTLIST_DEFAULT_TAG); /* Create an argument list for the button */ n = 0; XtSetArg (args[n], XmNlabelString, button_label); n++; /* Create and manage the button */ button = XmCreatePushButton (toplevel, "button, args, n); XtManageChild (button); XmStringFree (button_label); form1 Form *form1.button.labelstring: Push Here XmFONTLIST_DEFAULT_TAG 4 Motif 89
1. 2. XmFONTLIST_DEFAULT_TAG XmSTRING_DEFAULT_CHARSET 4 1 XmFONTLIST_DEFAULT_TAG 90 ( ) 2002 12
4 1 XmFONTLIST_DEFAULT_TAG tagb XFontSet *font1; XmFontListEntry font_list_entry; XmFontList font_list; XmString label_text; char **missing; int missing_cnt; char *del_string; char *tagb; /* Font list element tag */ char *fontx; /* Initialize to XLFD or font alias */ char *button_label; /* Contains button label text */.. font1 = XCreateFontSet (XtDisplay(toplevel), fontx, & missing, & missing_cnt, & def_string); font_list_entry = XmFontListEntryCreate (tagb, XmFONT_IS_FONTSET, (XtPointer)font1); font_list = XmFontListAppendEntry (NULL, font_list_entry); XmFontListEntryFree (font_list_entry); label_text = XmStringCreate (button_label, tagb); XCreateFontSet() XmFontListEntryCreate() XmFontListAppendEntry() NULL 4 Motif 91
XmFontListAppendEntry() font_list_entry font_list font_list 4 2 XmFONTLIST_DEFAULT_TAG 4 2 XmFONTLIST_DEFAULT_TAG Font_Set_C Font_Set_C 92 ( ) 2002 12
Text TextField Text TextField Text TextField 1. XmFONTLIST_DEFAULT_TAG 2. 3. 1 VendorShell VendorShell 1 VendorShell VendorShell VendorShell VendorShell VendorShell XmNinputMethod ( @im=alt) VendorShell 4 Motif 93
XmNinputMethod XmNinputMethod XmNinputMethod @im=modifier modifier VendorShell ( ) 1 (Text ) VendorShell VendorShell TransientShell TopLevelShell TopLevelShell Diagshell VendorShell VendorShell 1 XmText[Field] XmText[Field] VendorShell VendorShell XmText[Field] VendorShell VendorShell XmIm OffTheSpot OverTheSpot Root None Text Text 94 ( ) 2002 12
VendorShell ( EUC ( UNIX ) ) VendorShell VendorShell VendorShell Text TextField (XmBulletinBoard XmRowColumn ) Text ID VendorShell VendorShell XmNpreedetType OffTheSpot OverTheSpot 23 (TopLevelShell ) true VendorShell VendorShell VendorShell VendorShell ( ) VendorShell VendorShell 4 Motif 95
VendorShell ( ) ( 20 ) VendorShell VendorShell VendorShell 100 100 VendorShell 100 100 100 100 VendorShell 100 120 VendorShell VendorShell 100 100 100 80 VendorShell VendorShell ( ) VendorShell 4 3 1 96 ( ) 2002 12
4 3 TopLevelShell (VendorShell ) 5 XmText XmBulletinBoard ( ) OverTheSpot VendorShell 1 TopLevelShell 1 Text Text Text Text ( ) Text 4 Motif 97
UIL ( ) UIL UID ( ) UIL charset UIL ( ) font UIL UIL UID UIL cur_charset default_charset default_charset XmNlabelString = XXXXXX ; XmNlabelString = #default_charset XXXXXX ; 98 ( ) 2002 12
LANG UIL UIL *fontlist: -*-r-*-20-*: UIL 3 (FONT FONTSET FONT_TABLE) FONT FONTSET FONT_TABLE FONT XLFD FONTSET XLFD FONT FONTSET CHARACTER_SET CHARACTER_SET UIL CHARACTER_SET uil -s Uil() use_setlocale_flag XmFONTLIST_DEFAULT_TAG UIL LANG LANG XmFALLBACK_CHARSET FONT_TABLE FONT FONTSET UIL 4 Motif 99
*preedittype: OverTheSpot OffTheSpot Root None UID UIDPATH XAPPLRESDIR uil_sample (LANG en_us) $HOME/en_US uil_sample.uid uil_sample.uid UIDPATH uil_sample.uid uil_sample (LANG ja_jp) $HOME/ja_JP ( ) uil_sample.uid uil_sample.uid UIDPATH uil_sample.uid %U UID %N %L xnllanguage LC_CTYPE %l xnllanguage LC_CTYPE XAPPLRESDIR MrmOpenHierarchy() UID 1. UID 2. $UIDPATH 3. %U 4. $XAPPLRESDIR/%L/uid/%N/%U 5. $XAPPLRESDIR/%l/uid/%N/%U 6. $XAPPLRESDIR/uid/%N/%U 7. $XAPPLRESDIR/%L/uid/%U 8. $XAPPLRESDIR/%l/uid/%U 9. $XAPPLRESDIR/uid/%U 10. $HOME/uid/%U 11. $HOME/%U 12. /usr/lib/x11/%l/uid/%n/%u 100 ( ) 2002 12
13. /usr/lib/x11/%l/uid/%n/%u 14. /usr/lib/x11/uid/%n/%u 15. /usr/lib/x11/%l/uid/%u 16. /usr/lib/x11/%l/uid/%u 17. /usr/lib/x11/uid/%u 18. /usr/include/x11/uid/%u XAPPLRESDIR MrmOpenHierarchy() XAPPLRESDIR $HOME UIL default_charset default_charset LANG el_gr default_charset LANG ja_jp default_charset EUC cur_charset cur_charset default_charset : uil_sample 4 4 UIL 4 Motif 101
4 4 UIL LLL LLL ( ) uil_sample.uil!! sample uil file - uil_sample.uil!! C source file - uil_sample.c!! Resource file - uil-sample.resource! module Test version = v1.0 names = case_sensitive objects = { XmPushButton = gadget; }!************************************! declare callback procedure!************************************ procedure exit_cb ;!***************************************************************! declare BulletinBoard as parent of PushButton and Text!*************************************************************** object bb : XmBulletinBoard { arguments{ XmNwidth = 500; XmNheight = 200; }; controls{ XmPushButton pb1; 102 ( ) 2002 12
XmText text1; }; };!****************************! declare PushButton!**************************** object pb1 : XmPushButton { arguments{ XmNlabelString = #Normal LLLexit buttonlll ; XmNx = 50; XmNy = 50; }; callbacks{ XmNactivateCallback = procedure exit_cb; }; };!*********************! declare Text!********************* text1 : XmText { arguments{ XmNx = 50; XmNy = 150; }; }; end module; /* * C source file - uil_sample.c * */ #include <Mrm/MrmAppl.h> #include <locale.h> void exit_cb(); static MrmHierarchy hierarchy; static MrmType *class; /******************************************/ /* specify the UID hierarchy list */ /******************************************/ static char *aray_file[] = { uil_sample.uid }; static int num_file = (sizeof aray_file / sizeof aray_file[0]); /******************************************************/ /* define the mapping between UIL procedure names*/ /* and their addresses */ /******************************************************/ static MRMRegisterArg reglist[]={ { exit_cb,(caddr_t) exit_cb } 4 Motif 103
UIL UIL 3 UID UIL UIL (&) UIL UID UIL UIL UID 2 ( ) UIL UIL 8 16 UIL CHARACTER_SET [character_string] [#char_set] [character_string] character_string UIL LANG LANG LANG XmFALLBACK_CHARSET XmFALLBACK_CHARSET ISO8859-1 #char_set string char_set character_string CHARACTER_SET UIL use_setlocale_flag 104 ( ) 2002 12
CHARACTER_SET CHARACTER_SET uil -s Uil() use_setlocale_flag UIL setlocale() XmFONTLIST_DEFAULT_TAG CHARACTER_SET uil -s Uil() use_setlocale_flag UIL LANG LANG LANG XmFALLBACK_CHARSET UIL COMPOUND_STRING UIL \( ) ( ) 4 Motif 105
106 ( ) 2002 12
5 Xt Xlib Xt Xlib 107 113 115 116 126 129 Xlib X X 1 Xlib ANSI ( ) C setlocale () setlocale() C Xlib Xlib LC_CTYPE XSupportsLocale() X X X X 107
X setlocale() XSupportsLocale() XSetLocaleModifiers() 3 X 1 XSetLocaleModifiers() Xlib 1 ( ) 1. 2. 3. ( ) Xlib XSetLocaleModifiers() X 5 1 5 1 / setlocale XSupportsLocale XSetLocaleModifiers 108 ( ) 2002 12
5 1 ( ) setlocale XrmDatabase XrmGetFileDatabase XrmGetStringDatabase XrmPutFileDatabase XrmLocaleOfDatabase Xrm Xrm setlocale XmbSetWMProperties ( WM_property ) setlocale XmbTextPropertyToTextList XwcTextPropertyToTextList XmbTextListToTextProperty XwcTextListToTextProperty / setlocale XOpenIM XIM. XIM XIC XCreateIC XLocaleOfIM XmbLookupText XwcLookupText XIC setlocale XCreateFontSet XFontSet Charset XFontSet setlocale XmbDrawText, XwcDrawText XExtentsOfFontSet XmbTextExtents, XwcTextExtents Xlib XGetErrorDatabaseText XGetErrorText 5 Xt Xlib 109
X C X C C X Xlib Xlib X ( Xlib XSetLocaleModifiers() ) ANSI C Xlib ANSI C mblen() mbtowc() wctomb() strtok() Xt Xt 2 XtSetLanguageProc() XtDisplayInitialize() XtSetLanguageProc Xt XtSetLanguageProc() 1 XtSetLanguageProc (NULL, NULL, NULL) ( XtAppInitialize() ) XtSetLanguageProc() ( catopen() ) setlocale() XtLanguageProc typedef String(*XtLanguageProc)(displayID,languageID, clientdata); Display *displayid; 110 ( ) 2002 12
String languageid; XtPointer clientdata; displayid languageid clientdata XtSetLanguageProc() XtDisplayInitialize() XtDisplayInitialize() XtDisplayInitialize() XtSetLanguageProc() XtLanguageProc XtSetLanguageProc(applicationcontext, procedure, clientdata) XtAppContext applicationcontext; XtLanguageProc procedure; XtPointer clientdata; applicationcontext procedure clientdata XtSetLanguageProc() XtDisplayInitialize() applicationcontext ( ) procedure XtSetLanguageProc() XtSetLanguageProc () ANSI C setlocale (LC_ALL, language ) XtWarning() 5 Xt Xlib 111
XSupportsLocale () XtWarning() C XSetLocaleModifiers() ANSI C setlocale (LC_CTYPE, NULL) XtDisplayInitialize() XtSetLanguageProc() Widget top; XtSetLanguageProc(NULL, NULL, NULL); top = XtAppInitialize(... );... XtDisplayInitialize XtDisplayInitialize() ( ) 1. (argv) 2. 3. 4. 5. XtDisplayInitialize() display display XtDisplayInitialize() 2 1 2 XResourceManagerString() XResourceManagerString() $HOME/.Xdefaults name.xnllanguage class.xnllanguage name class LANG 112 ( ) 2002 12
XtResolvePathname() (displayid, applicationdefaults, NULL, NULL, NULL, NULL, 0, NULL) XtAppSetFallbackResources() XtResolvePathname() (displayid, NULL, NULL, NULL, path, NULL, 0, NULL) path path XUSERFILESEARCHPATH XENVIRONMENT XtDisplayInitialize().Xdefaults-host host 1 5 Xt Xlib 113
2 ( XmLabel) 1 DrawingArea XmString Xlib Xlib Xlib 1 charset XFontSet XCreateFontSet() XFontsOfFontSet() XFontStruct XFontSet XFontSet XBaseFontNameListOfFontSet() XFontSet XLocaleOfFontSet() XLocaleOfFontSet() XFontSet XFreeFontSet() XFontStruct XFontSetExtents ( ) Xlib 114 ( ) 2002 12
XmbTextPerCharExtents() XwcTextPerCharExtents() XmbDrawString() 2 2 XmbDrawString() ( ) XContextDependentDrawing () XExtentsOfFontSet() XFontSet XmbTextEscapement() XwcTextEscapement() XmbTextExtents() XwcTextExtents() ( overall_ink_return overall_logical_return) XmbTextPerCharExtents() XwcTextPerCharExtents() XDrawText() XDrawString () XDrawImageString() BadFont (GC) 5 Xt Xlib 115
XmbDrawText() XwcDrawText() drawable XmbDrawString() XwcDrawString() drawable XmbDrawImageString() XwcDrawImageString() Xlib Motif Text[Field] XmIm API Xlib 126 Xlib Xlib ( ) 2 ( ) 2 83 86 116 ( ) 2002 12
24 ( 14 10) 1 2 3 ( ) 2 1 3 2 1 ( ) 50,000 2 8,000 15,000 30,000 1 2 2 ( ) 2 5 Xt Xlib 117
( ) 16 ( ) 2 5 1 ( ) 1 (LED) Xlib 118 ( ) 2002 12
OnTheSpot OverTheSpot OffTheSpot Root RootWindow Xlib ( ) XIM XOpenIM() X 1 1 1 1 XIM ( ) 5 Xt Xlib 119
Xlib Xlib XIC 5 1 5 1 120 ( ) 2002 12
1 1 XIC XCreateIC() XIM XCloseIM() ( ) XmbLookupString() XwcLookupString() XmbLookupString() XwcLookupString() Xlib XmbLookupString() XwcLookupString() XSetICFocus() 5 Xt Xlib 121
XUnsetICFocus() XSetICFocus() 2 2 1 X Xlib (OnTheSpot ) Xlib ( ) XGetIMValues() XIMStyles XIMPreeditArea() XIMStatusArea () XNInputStyle XIC 122 ( ) 2002 12
XNAreaNeeded 0( ) 1 XIC XNAreaNeeded XIC XNArea IC XNFontSet XNLineSpacing X XmbLookupString() XwcLookupString() ( ) Xt XIC XNFilterEvents 0 5 Xt Xlib 123
OnTheSpot XmbLookupString() XwcLookupString() OnTheSpot 1 1 X keysym keysym xmodmap X Version 11 Release 4 (X11R4) keysym ( NoSymbol ) keysym K K NoSymbol K NoSymbol ( NoSymbol ) keysym K1 K2 K1 K2 K1 K2 124 ( ) 2002 12
( NoSymbol ) keysym K1 K2 K3 K1 K2 K3 NoSymbol void VoidSymbol 4 2 keysym 1 1 2 keysym 2 3 4 keysym 2 NoSymbol 2 1 1 keysym K 1 K 2 K keysym 1 2 keysym keysym MODE SWITCH keysym keysym Mod1 Mod5 1 2 keysym 1 keysym Shift Lock 2 keysym Shift Lock 2 keysym Lock ShiftLock Lock CapsLock Shift keysym keysym keysym keysym keysym Lock KeyMask CapsLock ShiftLock keysym 5 Xt Xlib 125
ICCC ( ) ICCC XmText XmTextField dtterm ICCC XmText XmTextField dtterm ICCC ICCC XA_TARGETS COMPOUND_TEXT XA_STRING XA_TEXT ( ) COMPOUND_TEXT COMPOUND_TEXT XA_STRING XA_STRING XA_STRING XA_STRING ISO8859-1 126 ( ) 2002 12
XA_TARGET 1 COMPOUND_TEXT XA_STRING XA_TEXT 1 XA_TEXT COMPOUND_TEXT XA_STRING XmbTextPropertyToTextList() XwcTextPropertyToTextList() COMPOUND_TEXT XA_STRING XmClipboard XmClipboard XmText XmTextField ICCC XmText XmTextField ICCC XmText XmTextField COMPOUND_TEXT XA_STRING 5 Xt Xlib 127
VendorShell XtNtitleEncoding XtNiconNameEncoding None libxm.a libxt.a XA_STRING ( ) XmNtitle XmNiconName ICCC XtNtitleEncoding XtNiconNameEncoding XtNtitle XtNiconName None ICCC ( COMPOUND_TEXT XA_STRING ) XtNtitleEncoding XtNiconNameEncoding XtNtitle XtNiconName ICCC COMPOUND_TEXT XA_STRING XmBulletinBoard XmNdialogTitle charset X charset XmFONTLIST_DEFAULT_TAG charset ISO8859-1 128 ( ) 2002 12
XmString XmFONTLIST_DEFAULT_TAG PC ISO8859-1 1 I/O ( ) ( ) XmLabel XmPushbutton XmNlabelString XmMessageBox XmNmessageString /etc/dt/app-defaults/%l XENVIRONMENT %L 5 Xt Xlib 129
2 130 ( ) 2002 12
A 131 132 132 133 133 135 136 137 138.msg.cat.msg.cat X/Open gencat *.cat 131
Bad arg Do not specify more than 2 files on the command line Line too long Line cannot exceed 20 characters 138 C ($) 1 gencat $ This is a comment %s %c %d $set 132 ( ) 2002 12
%s \n ( n ) 1 2 \t ( t ) \n\ ( n ) OPIE foo: Opening the file. 1 1 (a an the) The foo command displays a calendar. The foo command will display a calendar. A 133
(I we) you 1 2 MYNUM Month and year must be entered as numbers. MYNUM foo: 7777-222 Enter month and year as numbers.\n 7777-222 ID ( ) specify use check choose wait 1 2 BADL Don t use the f option more than once. BADL foo: 7777-009 Use the -f flag only once.\n solution a problem ( architect a system ) re- un- in- non- previous premature nonexistent error(s) error or errors 2 cannnot %s %c %d and/or or 24 a.m. p.m. 1:00 p.m. 13:00 134 ( ) 2002 12
s abort argument execute 1 del Usage: del {File... -} File Directory String Number ( ) Num Number [] {} 2 1 ( ) 1 [a b] a b a b {a b} a b A 135
.. ( 1 ) - banner String 1 unget [-n] [-rsid] [-s] {File -} wc [-cwl] {File... -} get -aaijlmm get Usage: get [-e -k] [-ccutoff] [-ilist] [-rsid] [-wstring] [xlist] \ [-b] [-gmnpst] [-l[p]] File... Retrieves a specified version of a Source Code Control System (SCCS) file. POSIX.2 POSIX.2 Press the ------ key - ----- (Press Ctrl-D ) Try again later parameter ( ) value ( ) 136 ( ) 2002 12
command option ( ) flag ( ) 1000 1 1,000 1000 2 2 ** Total ** log in log off Log in to the system; enter the data; then log off. user name group name login The user name is sam. The group name is staff. The login directory is /u/sam. super user ( ) root user ( ) command string ( ) A-1 A 1 Cannot find or open the file. Cannot find or access the file. The syntax of a parameter is not valid. Can t open filename. Can t access syntax error A-2 A 137
A 2 11 Specify a range end point that is less than 256. 16 The character or characters between \{ and \} must be numeric. 25 Specify a \digit between 1 and 9 that is not greater than the number of subpatterns. 36 A delimiter is not correct or is missing. 41 There is no remembered search string. Range end point too large. Bad number. \digit out of range. Illegal or missing delimiter. No remembered search string. 42 There is a missing \( or \). \(\) imbalance. 43 Do not use \( more than 9 times. Too many \(. 44 Do not specify more than 2 numbers between \{ and \}. 45 An opening \{ must have a closing \}. 46 The first number cannot exceed the second number between \{ and \}. 48 Specify a valid end point to the range. More than two numbers given in \{ and \}. } expected after \. First number exceeds second in \{ and \}. Invalid end point in range expression. 49 For each [ there must be a ]. [ ] imbalance. 50 The regular expression is too large for internal memory storage. Simplify the regular expression. Regular expression overflow. AFLGKEYLTRS Too Many -a Keyletters (Ad9) AFLGKEYLTRS foo: 7777-007 Use the -a flag less than 11 times.\n FLGTWICE Flag %c Twice (Ad4) 138 ( ) 2002 12
FLGTWICE foo: 7777-004 Use the %c header flag once.\n ESTAT can t access %s.\n ESTAT foo: 7777-031 Cannot find or access %s.\n EMODE foo: invalid mode\n EMODE foo: 7777-033 A mode flag or value is not correct.\n DNORG -d has no argument (ad1) DNORG foo: 7777-001 Specify a parameter after the -d flag.\n FLOORRNG floor out of range (ad23) FLOORRNG foo: 7777-021 Specify a floor value greater than 0\n\ \tand less than 10000.\n AFLGARG bad -a argument (ad8) AFLGARG foo: 7777-006 Specify a user name, group name, or\n\ \tgroup number after the -a flag.\n BADLISTFMT bad list format (ad27) BADLISTFMT foo: 7777-025 Use numeric version and release\ \tnumbers.\n A 139
140 ( ) 2002 12
A app-defaults, 33 C charset, 128 CNS, 79 D DBCS (double-byte character set), 107 default_charset, 101 dtterm ICCC, 28 ICCC, 126 ICCC ( ), 128, 128, 128, 126, 126, 128 ICCC XmClipboard, 127, 126, 127 iconv, 66, 69 ISO8859-1, 76 ISO646-IRV, 76 ISO EUC, 75 E eucjp, 78 euckr, 80 euctw, 78 K keysym keysym, 124, 124 I ICCC dtterm, 126 XmClipboard, 127 XmTextField, 126 XmText, 126 L libxm, 28 141
O OffTheSpot, 25 OverTheSpot,, 25 R Root, 26 T TextField, 93 Text, 95 Text, 93 U UID, 100 UID MrmOpenHierarchy, 100 UIL, UIL, 101 UIL CHARACTER_SET, 104 UIL, 99 UIL ( ), UIL, 98, 101 V VendorShell VendorShell, 96, 96, 93, 93, 93, 96, 93, 27, 93, 96 VendorShell ( ), 28, 24, 28, 28 X X/Open, 16 XFontStruct, 86 XIM, 48, 47, 49 Xlib, 124 Xlib, 123 Xlib, 53 Xlib Xlib, 114 XLoadQueryFont, 91 XmClipboard ICCC, 127 ICCC, 127 XmTextField, 127 XmText, 127 XmFontListEntryLoad, 83 XmFontList, 86 XmGetPixmapByDepth, 58 XmIm, 45 XmNinputMethod, 94 XmNlabelString, 89 XmStringCreate, 92 XmStringCreateLocalized, 92 XmStringCreateLtoR, 92 XmStringLoadQueryFont,,, 86 XmString, 42 XmTextField ICCC, 126 XmText ICCC, 126 XmText, 44 XPG4, 51 XtAppSetFallbackResources Xt, 113 142 ( ) 2002 12
XtDisplayInitialize XtDisplayInitialize, 112 Xt, 113, 112, 112 XtDisplayInitialize, 112 XtResolvePathname, Xt, 113 XtSetLanguageProc, 82, 110 Xt XtAppSetFallbackResources, 113 XtDisplayInitialize, 112, 113 XtResolvePathname, 113, 110 X (ICCCM), 70 X (XLFD) XLFD, 33, 33, 21, 13, 96, 65, 70, 70, 128, 128, 29, 129 ( ), 129, 129, 72, 60 UIL ( ), 98, 29, 29 ICCC, 28 Xt, 110, 116, 21, 23, 23, 23, 18, 18, 18, 18, 18, 18,, 81 UID, 100 UIL, 100 143
keysym, 124, 124, 124, 124 ICCC, 128, 23 setlocale, 17, 17, 60, 124, 13, 96, 23, 27, 28, 24 ~, 28, 28, 15 ICCC, 126 ICCC, 126, 128, 129, 15, 81, 82 XmNlabelString, 89 eucjp, 78 euckr, 80 euctw, 78 EUC ( UNIX ), 75 ISO8859-1, 76 ISO646-IRV, 76 ISO EUC, 75, 74, 73, 72, 68, 68, 74, 74 ISO8859, 76, 65, 66, 74,, 87, 87, 72 ICCC, 126 Xlib, 118 Xt, 110 X, 107, 16, 15, 15, 16, 13 Xlib, 116, 118, 21, 107 UIL, 99, 100 ICCC, 126 UIL, 99, 100 charset, 98, 98, 98, 98 144 ( ) 2002 12
( ) Xt, 110, 116, 129 VendorShell, 94, 95, 93, 96, 95 XmFontList, 86 XmString, 86, 108 setlocale, 17, 129 UIL, 104, 87, 87, 87, 88, 89, 90, 87, 89, 87, 87 TextField, 95 Text, 95 Xlib, 122 XmBulletinBoard, 95 XmRowColumn, 95, 95, 95 ICCC, 126 ( ) ICCC, 128, 68, 135 ICCC, 126, 69, 27, 88, 129 ISO8859, 76, 129, 129,, 128 ICCC, 126 DrawingArea, 43 Text, 45 Xlib, 120, 43, 43 145
, Xlib, 114, 57, 129, 129 ICCC, 128, 24, 28 Text, 95 VendorShell, 93 XmbLookupString XwcLookupString, 121, 96 XmNinputMethod, 94, 93, 96, 93, 58, 95, 65, 65, 43, 58,, 41, 16, 16, 131 XmbLookupString XwcLookupString, 121, 96, 28, 97, 28 Motif, 36 X Windows, 32, 37, 35, 35, 33, 35, 33, 33, 35, 86, 36, 32 Xlib, 114 Xlib, 114, 20 UIL, 99, 85, 115, 21, 21, 83, 83, 92, 35 TextField, 93 Text, 93, 83, 20, 90, 87, 93, 84, 92, 96 146 ( ) 2002 12
OffTheSpot, 25 OverTheSpot, 25 Root, 26, 24 OffTheSpot, 25 OverTheSpot, 25 Root, 26 VendorShell, 24, 25, 65, 21, 51 iconv, 69 Xlib, 70, 68, 69, 69 ( ), 132, 129, 135, 129 Xlib, 53 XPG4, 51, 51, 131, 133, 132, 138, 104 UIL default_charset, 101 UIL, 104, 104 UIL, 98,, 108, 28, 54 ICCC, 127 VendorShell, 94, 28, 129, 137, 51, 133, 136, 129, 56, 54, 54, 56, 56, 54, 56 UIL, 100 UIL, 100, 42 147
( ), 129, 100, 124, 129, 129, 70, 49, 39, 49, 86, 43, 42, 40, 32, 50, 50, 50, 54 Text, 57, 54, 54, 56, 58, 129, 15, 15 UIL, 98 Xt, 110 X, 107, 32, 13, 31, 13 ( ), 108, 107, 33, 32, 31, 32, 31 148 ( ) 2002 12