[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:10356] Re: wchar_t (Re: I18N Document)
ã¾ã ã れもç”ãˆã¦ãªã„よã†ãªã®ã§â€¦
At Mon, 6 Sep 1999 17:12:21 +0900,
Tomohiro KUBOTA <kubota@xxxxxxxxxxxxxxxxxxxxx> wrote:
> C 言語ã®ãƒ¯ã‚¤ãƒ‰æ–‡å—列ã®ãƒ†ã‚¹ãƒˆã®ã¤ã‚‚ã‚Šã§ã€ã“ã®ã‚ˆã†ãªãƒ—ãƒã‚°ãƒ©ãƒ を作りã¾ã—ãŸã€‚
return value ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ç™–ã‚’ã¤ã‘ã¦ã„ã‚Œã°ã™ãã‚ã‹ã£ãŸã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ã:)
> -------- wchar.c ---------
> #include <stdio.h>
> #include <locale.h>
> #include <string.h>
> #include <stdlib.h>
>
> main()
> {
> char buf[1000];
> wchar_t wbuf[1000];
> int j, len;
>
> setlocale(LC_ALL, "");
if (setlocale(LC_ALL, "") == NULL) {
perror("setlocale");
}
ã¨ã§ã‚‚ã—ã¦ãŠãã¨
> ã“ã“ã§ã€EUC-JP 㧠'ã‚' 㯠0xa4, 0xa2 ã§ã™ã®ã§ã€ISO 8859-* ã¨ã‹ã§ã‚‚
> æ£å¸¸ãªæ–‡å—ã¨ã—ã¦èªè˜ã•ã‚Œã‚‹ã¯ãšã§ã™ã€‚ãれをãŸã‚ã—ã¦ã¿ã‚ˆã†ã¨ã—ã¦ã€
>
> $ LANG=fr ./wchar
>
> ã¨ã‹ã€LANG ã‚’ã„ã‚ã„ã‚ã¨å¤‰ãˆã¦ã¿ã¾ã—ãŸãŒã€ã©ã†ã—ã¦ã‚‚
> ãã®éƒ¨åˆ†ã§ len=-1 (wctomb ã®ç•°å¸¸çµ‚了) ã¨å‡ºã¾ã™ã€‚ç§ã®äºˆæƒ³ã§ã¯ã€
> ç”»é¢ã¯ã“ã‚ã‚Œã¦ã‚‚ã„ã„ã‹ã‚‰ã€len=1 ㌠9 回出ã¦æ¥ã¦ã»ã—ã„ã‚“ã§ã™ãŒã€‚
LANG=fr ã§ã¯ setlocale(3) ã«æˆåŠŸã—ã¾ã›ã‚“。
% LANG=fr ./wchar
setlocale failed: Aucun fichier ou repertoire de ce type
LANG=fr_FR ãªã©ã§ã¯æˆåŠŸã—ã€ä¹…ä¿ç”°ã•ã‚“ã®äºˆæƒ³é€šã‚Šã®çµæžœã«ãªã‚Šã¾ã™ã€‚
> 考ãˆã‚‰ã‚Œã‚‹ç†ç”±ã¨ã—ã¦ã¯ã€
>
> 1. LANG ã«ä¸Žãˆã‚‹æ–‡å—列ãŒé–“é•ã£ã¦ã„る。
> 2. ISO 8859-* ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„。
> 3. インストールã™ã‚‹ãƒ‘ッケージãŒé–“é•ã£ã¦ã„る。
>
> ãらã„ãŒæ€ã„付ãã¾ã™ãŒã€LANG 㯠fr ã¨ã‹ it ã¨ã‹ es ã¨ã‹
> æ€ã„付ãã¾ã¾ã«ã‚„ã£ã¦ã¿ã¾ã—ãŸãŒã ã‚ã§ã—ãŸã€‚
1 ã§ã™ã€‚locale -a ã§ã§ã¦ãã‚‹ã®ã§ã„ã‚ã„ã‚試ã—ã¦ã¿ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚
# locale -a ã§ã§ã¦ãã‚‹ã‹ã‚‰ã¨ã„ã£ã¦ setlocale(3)ã¯æˆåŠŸã—ãªã„ã“ã¨ã«æ³¨æ„。
> ã¡ãªã¿ã«ã€LANG=ja_JP.sjis ã¨ã—ã¦ã‚‚ã€LANG=ja_JP.ujis ã¨ã—ã¦ã‚‚ã€
> EUC-JP ã®å…¥åŠ›ã—ã‹å—ã‘付ã‘ãªã„よã†ã§ã™ã。glibc 2.1 ãŒã€Œã„ã„ã‹ã’ã‚“ã€
> ã ã¨ã„ã†ã®ã¯ã“ã®ã“ã¨ã§ã—ょã†ã‹ï¼Ÿ
ja_JP.sjis, ja_JP.ujis 㪠locale database ãŒãªã„ã‹ã‚‰ã§ã™ã€‚
(㧠fallback ã—㦠ja_JP ã«ãªã‚Š EUC-JP ã¨ãªã£ã¦ã„ã‚‹ã¨æ€ã‚れる)
試ã—ã« /usr/share/locale 㧠ja_JP.sjis directory を作り
LC_* ã‚’ ja_JP/ ã‹ã‚‰ symlink ã—㦠LANG=ja_JP.sjis ã§å®Ÿè¡Œã™ã‚‹ã¨
予想通りã®å‹•ä½œã‚’ã—ã¾ã™ã€‚
locale-ja ㌠ja_JP.sjis ã‚’ ja_JP.ujis ã®ã‚ˆã†ã«ã¤ãã£ã¦ãŠã
ã¹ããªã®ã‹ã‚‚ã—ã‚Œãªã„。
ãªãŠã€ç¾åœ¨ locale-ja ã§æä¾›ã—ã¦ã„ã‚‹ locale database ã¯å˜˜ãƒ‡ãƒ¼ã‚¿ã§ã™ã€‚
ã“れ㯠localedef ãªã©ãŒã¾ã multibyteを扱ãˆãªã‹ã£ãŸãŸã‚ã§ã™ã€‚
# ã¾ã 駄目ã‹ãªâ€¦
--
鵜飼文æ•