  The Unicode HOWTO
  Bruno Haible, <haible@clisp.cons.org>
  v0.15, 25 January 2000
   m, <cz8cb01@linux.or.jp>
  V0.15j, 2000N0101

  ̃hLg UTF-8 eLXgGR[fBOƂĎgp悤
   Linux VXeύX@ɂĐĂ܂B͌̕
  ƒł tipsApb`AAURL 劽}܂B
  ______________________________________________________________________

  ڎ

  1. |ɂ
     1.1 ꓝ
     1.2 Ql
     1.3 |Ҏӎ
     1.4 ŐVł̌̂肩

  2. Cg_NV
     2.1 Ȃ Unicode ĝłH
     2.2 Unicode ̃GR[fBO
        2.2.1 C/C++ J҂ւ̕⑫
     2.3 ֘A

  3. \̐ݒ
     3.1 Linux R\[
     3.2 X11 OtHg
     3.3 X11 Unicode tHg
     3.4 Unicode xterm
     3.5 ̑

  4. P[ݒ
     4.1 t@CƃJ[l
     4.2 tty ƃJ[l
     4.3 ʓIȃf[^ϊ
     4.4 P[̊ϐ
     4.5 P[T|[gt@C̍쐬
     4.6 C CuɃT|[gǉ
     4.7 bZ[WJ^ÕRo[g

  5. AvP[VŗL̏
     5.1 lbg[N
        5.1.1 rlogin
        5.1.2 telnet
     5.2 uEU
        5.2.1 Netscape
        5.2.2 lynx
        5.2.3 eXgpy[W
     5.3 GfB^
        5.3.1 yudit
        5.3.2 mined98
        5.3.3 vim
        5.3.4 emacs
        5.3.5 xemacs
        5.3.6 nedit
        5.3.7 xedit
        5.3.8 axe
        5.3.9 pico
     5.4 [
        5.4.1 pine
        5.4.2 kmail
        5.4.3 Netscape Communicator
        5.4.4 emacs (rmail, vm)
        5.4.5 mutt
     5.5 eLXg
        5.5.1 groff
        5.5.2 TeX
     5.6 f[^[x[X
        5.6.1 PostgreSQL
     5.7 ̑̃eLXg[h̃AvP[V
        5.7.1 less
        5.7.2 expand, wc
        5.7.3 col, colcrt, colrm, column, rev, ul
        5.7.4 figlet
        5.7.5 kermit
     5.8 ̑ X11 AvP[V

  6. Ȃ̃vO Unicode 悤ɂ
     6.1 C/C++
        6.1.1 ʏ̃eLXgnhO
           6.1.1.1 (Portability)ɂ
           6.1.1.2 libutf8 Cu
           6.1.1.3 Plan9 ̏ꍇ
        6.1.2 GUI pɂ
        6.1.3 iIȃeLXg
        6.1.4 ϊpɂ
           6.1.4.1 iconv
           6.1.4.2 librecode
        6.1.5 ̑̃Av[`
     6.2 Java
     6.3 Lisp
     6.4 Ada95

  7. ̏
     7.1 [OXg
        7.1.1 linux-utf8
        7.1.2 li18nux
        7.1.3 unicode
        7.1.4 X11 ۉ
        7.1.5 X11 tHg

  ______________________________________________________________________

  1.  |ɂ

  1.1.  ꓝ

  ́A̒ł͈ȉœꂵĂ܂B

     character set
        Zbg

     script
        p

     locale
        P[

     wide character
        Ch

  p(script)Ƃ 1 ȏ̌̕\L̕@ŎgpA}`̏W
  ̂ƂłB

  Ƃ΁uЂ炪ȁvuJ^Jivue(At@xbg)vƂ
  ̎ނw܂B{́uЂ炪ȁvuJ^Jivuev
  u{vƂ悤ɑ̗p݂ĎgłAp͒
  탉eg܂B

  1.2.  Ql

  |ɂAȉ̕QlƂ܂B

  o  uۉvO~O I18NnhubNv`OEAz^Ғ

  o  BSD magazine 1999 No.2 uBSD ɂ鍑ۉv킽Ȃׂ^

  1.3.  |Ҏӎ

  |̍ۂɂ͈ȉ̕Xɑ̗LvȃRgAZĂ܂
  B肪Ƃ܂B

  o  ꂳ

  o  PÂ

  o  L

  o  ֓

  o  X{~

  o  앐Y

  1.4.  ŐVł̌̂肩

  IWi Unicode-HOWTO ŐVł
  <ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html> ɂ
  B

  2.  Cg_NV

  2.1.  Ȃ Unicode ĝłH

  قȂ̐lX́Aꂼ̕ꍑ̒P\̂ɈقȂ
  gpĂ܂B݂ł email VXe web uEUȂǁAقƂǂ
  AvP[V 8 rbgN[łB܂ ISO-8859-1 ̂悤 8
  rbgZbgŕ\eLXg̎舵\𐳂sƂ
  ƂłB

  Eɂ 256 yɑ̕܂BႦ΃LAwu
  CAArAAA{A؍A^CȂǂłBV
  XĂ܂Bp҂ɖɂȂĂ邱Ƃɂ͎̂悤Ȃ̂
  ܂B

  o  ̒̕ɈقȂ镶Zbg݂̕邱ƂłȂ
     B TeX, xdvi, PostScript gĂꍇɂ́AhCc
     tX̕ŃVAł̈p邱Ƃł܂A
     ̃eLXgt@Cł͖łB

  o  ꂼ̕ŗL̕ZbgAZbg̔Fł
     ΁A[U[݂Ă蓮ōsȂ΂Ȃ܂BႦ
      XTeamLinux distribution ̃z[y[W
     http://www.xteamlinux.com.cn/ 邽߂ɂ́ANetscape ɂ web
     y[W GB2312 R[hłƎwKv܂B

  o  [̂悤ȐVV{ݏoĂ܂BISO ͐VW
     ISO-8859-15 𔭕\(issue)܂B͂قƂ ISO-8859-1 Ɠ
     łAقƂǎgȂ(Âʉ݂̃}[N)菜āA[
     ̃}[Nƒu܂B[U[̕Wgp邱Ƃɂ
     ꍇAfBXNɈZbg̕ƂɂȂ܂B
     AZbĝƂɍlX̂͂܂ƂƂłB
     Rs[^͕Vvɂ邽߂̂̂łA蕡G
     ̂ł͂܂B

  ̖ɂ́A[hChɎgpł镶Zbgg
  łB̕ZbgƂ Unicode http://www.unicode.org/ ̂Ƃ
  BUnicode Ɋւڍׂ `man 7 unicode' sĂ
  B(manpage  man-pages-1.20 pbP[WɊ܂܂Ă܂)

  2.2.  Unicode ̃GR[fBO

  Unicode GR[fBOgƁAZbg[U[vO
  ́Auǂ 1 INebg(8 rbg) Unicode 𑗂̂v
  ƂZpIȖ肾ɂȂ܂B8 rbgƂPʂ́ÃRs
  [^ŁAAhX\ŏPʂłB܂ 8 rbgƂP
  ́ATCP/IP lbg[Nł̃RlNVɂgpĂ܂B1 
  \̂ 1 oCggpƂ̂͗jIȋRłA̓R
  s[^̊J[bpƃAJŎn܂Ƃɂ܂B
  ̍Xł͒ԁA96 ނ̕ŏ[ƂĂ܂B

  Unicode oCgŃGR[h@ɂ́Aʏ 4 ނ܂B

     UTF-8
        128  1 oCgŃGR[h܂(ASCII )B1920 
        2 oCgŃGR[h܂([}AMVAL
        ARvgAAjAAwuCAArA̕)B63488
         3oCgŃGR[h܂({Ȃ)Bc
        2147418112  4 ` 6 oCggăGR[h邱Ƃł
        ܂(܂蓖ĂĂ܂)BUTF-8 Ɋւڍׂ `man 7
        utf-8' sĂB(manpage  ldpman-1.20 pbP[W
        ܂܂Ă܂)

     UCS-2
        SĂ̕ 2 oCgŕ\܂B̃GR[fBOł
        Unicode̎n߂ 65536 \ł܂B

     UTF-16
         UCS-2 ̊g 1112064  Unicode \邱Ƃ
        ܂B Unicode ̎n߂ 65536  2 oCgŁAc 4 oC
        gŕ\܂B

     UCS-4
        SĂ̕ 4 oCgŕ\܂B

  eLXgGR[ĥɕKvƂȂe([bp̌ł 1 
   8rbgŁAA{A؍ł͂葽̃rbg)A
  ݎgpĂGR[fBOƔׂ̂ȉɂȂ܂B
  fBXNŎgpeʂAlbg[Nł̃_E[hxɉe܂
  ikĂȂꍇjB

     UTF-8
        US ASCII ȂωȂAISO-8859-1 Ȃ琔p[ZgAA
        {A؍ł 1.5 {AMVLł 2 {ɂ
        ܂B

     UCS-2  UTF-16
        A{A؍ł͕ωȂAASCIIAISO-8859-1AMV
        ALł 2 {ɂȂ܂B

     UCS-4
        A{A؍ł 2{AASCIIAISO-8859-1AMV
        ALł 3 {ɂȂ܂B

  UCS-2, UTF-16, UCS-4  US ⃈[bp̕ꍇɂASCII 
  ISO-8859-1 ŏƂTCY傫Ȃ邱Ƃ邽߁A
  ̃GR[fBOLg邱Ƃ͂ȂłB Microsoft 
  Win32 API  UCS-2 GR[fBO(ȂƂ) 1995 NT|[g
  Ă܂AUCS-2͕Lq̂ɍLgĂ͂܂B{
  ̓Vtg JIS ܂ʓIłB

  AUS ⃈[bp̗p҂ɂ̓yieBȂA܂̃eLXg
  svO UTF-8 T|[ĝ߂̕ύXKvȂ̂ŁAUTF-8
  ͍Lg\܂B

  ꂩAeLXg̃GR[fBOƂ UTF-8 g悤 Linux V
  XeύX@ɂĐĂ܂B

  2.2.1.  C/C++ J҂ւ̕⑫

  Microsoft  Win32 API ŎĂAv[`ł́AJ҂ Unicode 
  ̃vO쐬邱Ƃ͊ȒPłB"#define UNICODE" vO
  擪Ő錾āARpCG[ȂȂ܂ `char'  `TCHAR' ֕
  X܂B̕@̖́AŏII 2 ̃o[W̃vO
  Ă܂ƂłB1  UCS-2 ̃eLXg܂A8 rbg̃G
  R[fBO͑ʖڂłB 1 ͋ 8 rbgGR[fBO
  ܂B

   UCS-2  UCS-4 ɂ̓GfBA̖肪܂BThe Internet
  Assigned Numbers Authority (IANA) character set registry
  http://www.isi.edu/in-notes/iana/assignments/character-sets 
  ISO-10646-UCS-2 ɂĂ̂悤ɏqׂĂ܂F

       uɂ̓lbg[NoCgI[_[w肷Kv: W
       ͒߂ĂȂv

  lbg[NoCgI[_[̓rbOGfBAłB܂ RFC 2152 ɁA
  薾mɋLqĂ܂FuISO/IEC 10646-1:1993(E) ɂUCS-2 ̕
  INebgŕ\鎞ɂ́Ał傫INebgn߂ɗƎ
  Ă܂vƂ낪 Microsoft͎Ђ C/C++ Jc[ł̓}Vˑ
  ̃GfBA(܂ intel x86 ñvZbTł̓gGfBA)
  gp邱ƂƁAhLg̎n߂ɃoCgI[_[̃}[N͓
  vIo@(statistical heuristics)gp邱Ƃ𐄏Ă܂B

  (󒍁F heuristics Ƃ͗Ⴆ΁AoCgI[_ւĂ悤ȏ
  Ԃł͉̎肪ȂƁAǂȃLN^Zbg킩ȂBł
  Γ{͂̏̕ꍇɂ͓vIɁA'A'  `B' Ȃǂ͂Ȃ̕px
  ŌƗ\̂ŁAȂ{ꂶȂƔf悤
  Ƃł)

  ɑ΂ UTF-8 ̃Av[`ł́A`char*'  C ̕W̕^̂
  ܂ƂĂ܂BʂƂăvO ASCII eLXgϐɊւ
  炸ƂłA܂ LANG ϐw肷 ISO-8859-1  UTF-8
  ŃGR[hꂽeLXgƂł܂B

  2.3.  ֘A

  Markus Kuhn ̍ŐV\[XXgF

  o  http://www.cl.cam.ac.uk/~mgk25/unicode.html

  o  http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html

  Roman Czyborra  UnicodeAUTF-8  UTF-8 ΉvÕI[o[
  r[F

  http://czyborra.com/utf/#UTF-8

  UTF-8 t@C̗F

  o  Markus Kuhn  ucs-fonts pbP[W quickbrown.txt, UTF-8-test.txt,
     UTF-8-demo.txt.

  o  ftp://ftp.cs.su.oz.au/gary/x-utf8.html

  o  Kosta Kostis  trans-1.1.1 pbP[W iso10646 t@C
     ftp://ftp.nid.ru/pub/os/unix/misc/trans111.tar.gz

  o  ftp://ftp.dante.de/pub/tex/info/lwc/apc/utf8.html

  o  http://www.cogsci.ed.ac.uk/~richard/unicode-sample.html

  3.  \̐ݒ

  ł́A Linux ̃R\[ X11 ̐ݒAgpĂL[{[
  hƃP[ɂ킹ĂƉ肵܂B̕@ f}[N/C^[
  iVi HOWTO  ̍(Finnish(tBh), French(tX),
  German(hCc), Italian (C^A), Polish(|[h), Slovenian(X
  xjA), Spanish(XyC), Cyrillic(L), Hebrew(wuC),
  Chinese(), Thai(^C), Esperanto(GXyg))  HOWTO Ő
  Ă܂BA Thai HOWTO ŐĂ@ɂ͏]Ȃł
  BISO-8859-1 ̕(U0000..U00FF) gpĂ^C̕
  (U0E01..U0E5B) ɂȂĂ܂܂B Unicode ɕύXƂɖ
  ƂȂ܂B

  (󒍁F{ł̂قƂǂ̃fBXgr[Vł͊ɐݒς݂ł
  A܂ł JF vWFNgɂ Keyboard-and-Console-HOWTO
  ɂł傤)

  3.1.  Linux R\[

  ł Linux R\[ɂĂ܂葽͏qׂ܂B xdm 
  ĂȂ}VgꍇAPɃOCƃpX[h͂
  "xinit" s邾łB

  kbd-0.99 pbP[W
  ftp://sunsite.unc.edu/pub/Linux/system/keyboards/kbd-0.99.tar.gz ƁA
  Ȃgo[Wł console-tools-0.2.2 pbP[W
  ftp://sunsite.unc.edu/pub/Linux/system/keyboards/console-
  tools-0.2.2.tar.gz ɂ kbd-0.99/src/ (
  console-tools-0.2.2/screenfonttools/)fBNgɓ̃vO
  `unicode_start'  `unicode_stop' ܂B

  `unicode_start'ĂтƁAR\[̃XN[ւ̏o͂ UTF-8
  ߂܂B܂L[{[h Unicode [h("man kbd_mode" Q)
  ܂B̃[hł́AAlt-x1 ` Alt-xn(x1 ` xn ̓eL[̐l
  ł) œ͂ꂽ Unicode  UTF-8 ƂȂ܂BȂ̃L[{[h
   (mɂ͂Ȃ̒ʏ̃L[}bv)  ASCII ̃L[(Ƃ΃h
  Cc̃EEg)A̕LbvXbNꍇɂ́A
  J[lpb` linux-2.2.9-keyboard.diff 
  linux-2.3.12-keyboard.diff ĂKv܂B

  XN[œɈقȂނ̕\ꍇAUnicode R\[
  ̂߂̃tHgKvƂȂ
  Bftp://sunsite.unc.edu/pub/Linux/system/keyboards/kbd-0.99.tar.gz
   ftp://sunsite.unc.edu/pub/Linux/system/keyboards/console-
  data-1999.08.29.tar.gz pbP[WɊ܂܂ĂtH
  g(LatArCyrHeb-{08,14,16,19}.psf) ̓eALAwuCA
  ArA̕Jo[܂B܂肱 ISO 8859 
  1,2,3,4,5,6,8,9,10 Jo[܂BCXg[ɂ
  /usr/lib/kbd/consolefonts/ փRs[A
  /usr/lib/kbd/consolefonts/LatArCyrHeb-14.psf" s܂B

  Jbg & y[Xg UTF-8 ̃R\[œ삳̂ł΁A
  Edmund Thomas Grimley Evans  Stanislav Voronyi ɂpb`
  linux-2.3.12-console.diff KvɂȂ܂B

  3.2.  X11 OtHg

  LAA{Ȃǂ̃tHg̃CXg[߂炤R
  ܂B炪 Unicode tHgł͂ȂƂĂAUnicode ̕
  \鎞ɖ𗧂܂BƂ Netscape Communicator 4  Java
  ́A\Ȏɂ͊ÕtHg𗘗p܂B

  ȉ́AtHgCXg[鎞ɕ֗ȃvOłB

  o  "mkfontdir directory"  X T[o[gp font fBNg
     ܂B̓fBNgɃtHgCXg[Ɏs
     Kv܂B

  o  "xset fp+ directory"  X T[o[̃JgtHgpX
     directory ǉ܂BPvIɃfBNgǉ̂ł
     ΁A/etc/XF86Config t@C "Files" ZNV "FontPath" s
     ǉ܂B

  o  "xset fp rehash"  mkfontdir ĂтƂɎsKv
     ܂B̓tHgpXݒlɃZbgAJgtHgpX
     ̃tHgf[^x[X X T[oɍēǂݍ݂܂B

  o  "xfontsel" ŁACXg[ĂetHg̃vpeB}E
     XőIăuEY邱Ƃł܂B

  o  "xlsfonts -fn fontpattern"  fontpattern Ƀ}b`ĂSĂ
     tHgXg\AetHg̃vpeB\
     B"xlsfonts -ll -fn font" sƁAtHgvpeB
     CHARSET_REGISTRY  CHARSET_ENCODING Xg\܂B̃v
     peB̓tHg̃GR[fBO肵܂B

  o  "xfd -fn font" ̓y[W font \܂B

  ̃tHg͎Rɗpł܂(SȃXgł͂܂)F

  o  XFree86 Ɋ܂܂́Bʂ̃pbP[WɂȂĂ邩܂B
      SuSE ɂ͕ʂ 75dpi tHĝ݂ { `xf86' pbP[W
     ɓĂ܂B̑̃tHg̓pbP[W `xfnt100', `xfntbig',
     `xfntcyr', `xfntscl' Ɋ܂܂Ă܂B

  o  ftp://ftp.gnu.org/pub/gnu/intlfonts/intlfonts-1.2.tar.gz  Emacs
     ۃtHgBɌyĂ悤ɁAGNU Emacs  XEmacs D
     ޏꍇ Emacs gȂꍇłĂA͖ɗ܂B

  3.3.  X11 Unicode tHg

  AvP[VňقȂp(Ⴆ΃LMV)̃eLXg
  𓯎ɕ\ɂ́AقȂ X tHggƂɂĉ\ɂȂ
  B Netscape Communicator  Java sȂĂ邱ƂłBł
  ̕@͂蕡GłBvO}[ `Font'  `XFontStruct' 
  p邩 `XFontSet' Ȃ΂ȂȂȀコɃtHg
  Zbg̑SẴtHgĂ킯ł͂ȂłB

  o  Markus Kuhn  Unicode ŃGR[hꂽŒ蕝 75dpi tHg
     ܂B̓eAMVALAAjAA
     OWAAwuCALJo[Ă܂B܂ ISO 8859 
     1,2,3,4,5,7,8,9,10,13,14,15 SĂ 1 ŃJo[܂B̃tHg
      xterm  utf-8 [hŎsKv܂B
     http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz

  o  Roman Czyborra  Unicode ŃGR[hꂽ 8x16 / 16x16  75dpi
     tHg܂B Unicode ̔ɑ̕Jo[
     ܂B unifont.hex.gz  hex2bdf  http://czyborra.com/unifont/
     _E[hĂB܂A͌Œ蕝ł͂܂F
     [bp̕ 8 sNZAȂǂ̕ 16 sNZłB
     ̂悤ɂāACXg[sȂ܂B

       $ gunzip unifont.hex.gz
       $ hex2bdf < unifont.hex > unifont.bdf
       $ bdftopcf -o unifont.pcf unifont.bdf
       $ gzip -9 unifont.pcf
       # cp unifont.pcf.gz /usr/X11R6/lib/X11/fonts/misc
       # cd /usr/X11R6/lib/X11/fonts/misc
       # mkfontdir
       # xset fp rehash

  o  Primoz Peterlin  ETL t@~[̃tHg܂B̓e
     AMVALAAjAAOWAAwuC
     Jo[Ă܂B
     ftp://ftp.x.org/contrib/fonts/etl-unicode.tar.gz
     CXg[ɂ "bdftopcf" vOgp܂B

  3.4.  Unicode xterm

  xterm  X11R6  XFree86  1 Ȃ̂łATom Dickey ɂʂɃ
  eiXĂ܂B
  http://www.clark.net/pub/dickey/xterm/xterm.html
  V o[W(pb`x 109 ȍ~)́Axterm œ삵ĂAv
  P[VɃL[Xg[N𑗂OɃL[Xg[N UTF-8 ɃRo[
  g@\ƁAAvP[V̏o͂ Unicode  UTF-8 ̃oCg
  V[PXƂĕ\@\T|[gĂ܂B

  UTF-8 T|[g xterm sɂ́Â悤ɂ܂B

  o  http://www.clark.net/pub/dickey/xterm/xterm.tar.gz 

  o  "./configure --enable-wide-chars ..." sĐݒsȂAR
     pCуCXg[sȂ

  o  Unicode Œ蕝tHgCXg[BMarkus Kuhn 
     ucs-fonts.tar.gz(LQ)͂̂߂Ɏgł傤B

  o  "xterm -u8 -fn fixed" s܂B"-u8" IvV Unicode 
     UTF-8 ̃nhO@\Lɂ܂B"fixed" Ŏw肷tHg
      Markus Kuhn  Unicode tHgłB

  o  Markus Kuhn  ucs-fonts pbP[WɊ܂܂Tvt@C`
     Ă݂ƁAMV⃍VAȂǂ͂̕łB

       $ cd .../ucs-fonts
       $ cat quickbrown.txt
       $ cat utf-8-demo.txt

  o  xterm ̋N UTF-8 nhO@\Lɂɂ́A
     XTerm*utf8: 1 Ƃs $HOME/.Xdefaults ɒǉ܂(g̐
     肾ςꍇ)BVXeŜ̐ݒł
     /usr/X11R6/lib/X11/app-defaults/XTerm ύX邱Ƃ͂߂܂
     B XFree86 ̐Vo[WɃAbvO[hۂɁAύX
     Ă܂łB

     (󒍁FlIɂ͋tɃAbvO[h܂ł͑vȂ̂ŁAVXeC
     hȐݒ̕D݂܂)

  o  tHgύX̂ł΁A

           *VT100*font:  tHg

  ̂悤ȍs $HOME/.Xdefaults ɕKvƂȂ܂B "fixed" ̏ꍇɂ͎w
  肷Kv͂܂B

  Robert Brady <rwb197@ecs.soton.ac.uk>, ɂA{̃TCỸCh
  (CJK ̕\ӕȂ)̎A(combine)邽߂̃pb`
  http://www.ecs.soton.ac.uk/~rwb197/xterm/ łB

   xterm pb`x 120
  http://www.clark.net/pub/dickey/xterm/xterm-120.tgz x[XłB̂
  ȐݒŎĝ悢ł傤B

         *VT100*font:     -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1
         *VT100*wideFont: -Daewoo-Gothic-Medium-R-Normal--18-18-100-100-M-180-ISO10646-1

  3.5.  ̑

  Linux ̃R\[ xterm  UTF-8 [hǂeXgȒPȃv
  O testUTF-8.c  testUTF8.c ARicardas Cepas ̃pbP[W
  ftp://sunsite.unc.edu/pub/Linux/system/keyboards/x-lt-1.18.tar.gz ɂ
  ܂B
  4.  P[ݒ

  4.1.  t@CƃJ[l

  łɁAǂ̂悤 Unicode łt@CƂĎg悤ɂȂ
  ܂BJ[lt@C[eBeB̏C͕Kv܂BJ[l
  ł̃t@C̓k / ܂܂Ȃ艽ł܂܂(/ 
  TufBNg̋؂ɎgĂ邩ł)BUTF-8 gpăG
  R[h鎞ɁA ASCII k / ɃGR[h邱Ƃ
  ܂Bt@CfBNg̖ÕoCg
  ߂邾łBႦ 5 ̃MVȂt@C̓J[l
   10 oCg̃t@CƂČ܂BJ[l͂炪MV
  ŕ\ƂƂm܂񂵁AmKv܂B

  ꂪ{łBt@C Linux Ŏĝł΁B OS
  gpt@CVXê߂ɂ́At@C UTF-8 Ƒ݂
  Ro[g}EgIvV܂B

  o  "vfat" t@CVXeɂ̓}EgIvV "utf8" ܂B
     file:/usr/src/linux/Documentation/filesystems/vfat.txt Ă
     BftHg("iso8859-1" ł)ł͂Ȃ "iocharset" }EgIv
     Vw肵ꍇɂ "utf8"gpǂɊւ炸Aʂɂ
     ѐ܂Bł "iocharset" }EgIvV͂
     ܂B

  o  "msdos"A"umsdos" t@CVXe}EgIvV
     ܂ANȂ悤łB

  o  "iso9660" t@CVXeɂ̓}EgIvV "utf8" 
     B file:/usr/src/linux/Documentation/filesystems/isofs.txt 
     B

  o  Linux 2.2.x J[lȍ~́A"ntfs" t@CVXeɃ}EgIv
     V "utf8" 
     Bfile:/usr/src/linux/Documentation/filesystems/ntfs.txt Ă
     B

     ̃t@CVXe(nfs, smbfs, ncpfs, hpfs Ȃ)ł̓t@C
     Ro[g܂B܂肻 OS T|[gĂ鎞Ɍ
     AUTF-8 ŃGR[fBOꂽ Unicode ̃t@CT|[g
     ܂BƂōă}Eg鎞Ƀ}EgIvVLɂ邽߂
     /etc/fstab ̊֌Ws 4 Ԗڂ̃JɃIvVǉƂ
     ł傤B

  4.2.  tty ƃJ[l

  tty  2 ̃vOԂɂ邢opCv̂悤ȕŁA
  ̃GR[R}hCł̕ҏWƂfGȋ@\Ă
  Bxterm ňȂ "cat" R}hsƉsł͂ҏW
  łA܂es̓GR[obN(󒍁F͂̃GR[\)܂B
  J[l̕ҏW@\͐ɓ삵܂BɁAobNXy[XL[ƃ^u
  L[͐܂B

  ̖Cɂ́Â悤ɂ܂B

  o  ̂ΉJ[lpb`āAJ[l̍ăRpC
     B
     linux-2.0.35-tty.diff, linux-2.2.9-tty.diff, linux-2.3.12-tty.diff
  o  glibc2 gĂ̂ł΁Apb` glibc211-tty.diff Ă
     libc ̍ăRpCs܂B`DłȂ΁AɃCXg[
     ĂCN[ht@CɃpb` glibc-tty.diff Ă邾
     ŏ[łB

  o  pb` stty.diff GNU sh-utils-1.16b ɂĂ "stty" vO
     rhsȂA"stty -a"  "stty iutf8" găeXg
     B

  o  "stty iutf8" R}h "unicode_start" XNvgɁA "stty
     -iutf8" R}h "unicode_stop" XNvgɒǉ܂B

  o  pb` xterm.diff  xterm-109 ɂĂ "xterm" ̃rhsA
     "xterm - u8"  "xterm +u8" sāA "stty -a"  "cat"
     𓮂ăeXg܂B

  rlogin  telnet Ă̏CLɂɂ͎̂ƂK
  v܂F

  o  ϐ TERM ɐVl("linux" ւ̃GCAXƂ "linux-utf8"
     A "xterm" ւ̃GCAXƂ "xterm-utf8")`܂BVXe
      ncurses Cu /usr/lib/terminfo(܂
     /usr/share/terminfo) ꍇɂ́A

       $ tic linux-utf8.terminfo
       $ tic xterm-utf8.terminfo

   root ȊOŎs邱Ƃɂčs܂B terminfo Gg
  $HOME/.terminfo fBNgɍ܂B linux-utf8.terminfo 
  xterm-utf8.terminfo ܂B̍Ƃ root ōsƂ͂߂
  Bs /usr/lib/terminfo  terminfo Gg쐬Ă
  ܂A̓VXeAbvO[hɏĂ܂
  ܂BVXe /etc/termcap t@Cꍇɂ́Ãt@C
  ҏW悢ł傤Blinux  xterm GgRs[Aꂼ
  ɐVO "linux-utf8"  "xterm-utf8" t܂B͂ term-
  cap.diff łB

  o  R\[ "unicode_start"  "unicode_stop" ĂтxɁA
     ꂼ "export TERM=linux-utf8"  "export TERM=linux" sĂ
     B

  o  pb` xterm2.diff xterm-109 ɂĂ "xterm" rhA
     /usr/X11R6/lib/X11/app-defaults/XTerm  $HOME/.Xdefaults S
      "XTerm*termName" s菜܂B xterm  UTF-8 [h
     ŎsĂ鎞 TERM ϐ "xterm" ̑ "xterm-utf8" 
     ȂĂ܂B

  o  pb` netkit.diff, netkitb.diff, telnet.diff Ă "rlogind" 
     "telnetd" rh܂B rlogin  telnet  TERM ϐ
     "linux-utf8"  "xterm-utf8" ł鎞ɂ́Ał tty  UTF-8 
     W[hɂ邱Ƃł܂B

  4.3.  ʓIȃf[^ϊ

  [Jł̃GR[fBO(炭 ISO-88591  EUC)Ăe
  LXg UTF-8 ɃRo[gvOKvɂȂ͂łB(ւ
  Ă͓}VŁAꂼقȂGR[fBÕeLXgg
  邱ƂłA͒IɌƂ܂yƂł͂܂)
  ̂悤ȃvO 1  `iconv' ܂B glibc-2.1 
  ĂÂ悤ɂĊȒPɎg܂B

       $ iconv --from-code=ISO-8859-1 --to-code=UTF-8 < old_file > new_file

   i2u.sh (ISO  UTF ɃRo[g)  u2i.sh (UTF  ISO ɃRo[
  g)́A֗ȃXNvgłBܗpĂ 8 rbgZbgɍ
  悤ɏCĂB

  glibc-2.1  iconv CXg[ĂȂ΁AGNU recode 3.5 
  Ɏgp邱Ƃł܂B"i2u" i2u_recode.sh "recode
  ISO-8859-1..UTF-8" ƁA"u2i" u2i_recode.sh  "recode
  UTF-8..ISO-8859-1" Ƃčs܂B
  ftp://ftp.iro.umontreal.ca/pub/recode/recode-3.5.tar.gz
  ftp://ftp.gnu.org/pub/gnu/recode/recode-3.5.tar.gzӁF GNU recode
  3.5 ȏオKvƂȂ܂BGNU recode 3.5 ̃RpC glibc2 
  ȂvbgtH[(܂Â Linux VXe)ōsȂɂ́A--
  disable-nls w肵 configure Kv܂Bw肵Ȃꍇ
  ̓NɎs܂B CJK T|[gJł̐V GNU recode 
  ł܂B http://www.iro.umontreal.ca/contrib/recode/

  CLISP Ɏgp邱Ƃł܂B "i2u" i2u.lsp  "u2i"
  u2i.lsp  Lisp ŏĂ܂BӁF CLISP  1999 N 7 ȍ~̃o
  [WKv
  Bftp://clisp.cons.org/pub/lisp/clisp/source/clispsrc.tar.gz

  GNU record @\܂Ȃ̃f[^Ro[gvO
  ɂ `trans' ftp://ftp.informatik.uni-
  erlangen.de/pub/doc/ISO/charsets/trans113.tar.gzA Plan9 operating
  system  `tcs' ftp://ftp.informatik.uni-
  erlangen.de/pub/doc/ISO/charsets/tcs.tar.gzA G. Adam Stanislav ̍쐬
   `utrans'/`uhtrans'/`hutrans'
  ftp://ftp.cdrom.com/pub/FreeBSD/distfiles/i18ntools-1.0.tar.gz
  <adam@whizkidtech.net> ܂B

  ̕Zbg UTF-8 ւ̃t@C̃Ro[gтэsȂ
  ͔̃c[ to-utf8 gƂł܂B̓t@C̔
  ASCII [U[ɕ\At@Č̕Zbg[U[ɑI
  邱Ƃɂt@C UTF-8 ɃRo[g邱Ƃł܂B

  4.4.  P[̊ϐ

  ̊ϐɃP[ȂǂZbg邱Ƃł܂B

     LANGUAGE
        LC_MESSAGES (̐ݒ)㏑܂BGNU gettext gp
        B

     LC_ALL
         LC_* ϐŎw肳ĂSĂ̐ݒ㏑(̐ݒ肱
        ̎w肪D)܂B

     LC_CTYPE, LC_MESSAGES, LC_COLLATE, LC_NUMERIC, LC_MONETARY, LC_TIME
        ꂼA̓eݒ肷ϐłF̎ނƃGR[fB
        OAbZ[W\Ɏgp錾A\[g̃[ȀA
        ݂̏AtƎԂ̕\

     LANG
        SĂ LC_* ϐ̃ftHglłB LC_* w肵Ȃꍇ
        ́ALANG ̒lKp܂B

  (ڍׂ `man 7 locale' QƂĂ)

  ꂼ LC_*  LANG ϐɂ́Â悤Ȍ`ŃP[w肷邱
  Ƃł܂B

       language[_territory[.codeset]][@modifier]

   language  ISO 639 language code()Aterritory  ISO
  3166 country code(啶)Acodeset ͕ZbgӖAmodifier ͂
  ̑̓ʂȑ(Ⴆ΁AWƂ͈ԂȂ)\Ă܂B

  LANGUAGE ɂ́ÃP[Rŋ؂Ďw肷邱Ƃł
  B

  VXeAvP[V UTF-8 gpĂƎw肷邽߂ɂ́A
  P[ɃR[hZbg̃TtBbNXƂ UTF-8 ǉKv
  ܂BႦ΁A

       LANGUAGE=de:fr:en
       LC_CTYPE=de_DE

  gpĂ̂ł΁Â悤ɕύX܂B

       LANGUAGE=de.UTF-8:fr.UTF-8:en.UTF-8
       LC_CTYPE=de_DE.UTF-8

  4.5.  P[T|[gt@C̍쐬

  glibc-2.1Aglibc-2.1.1Aglibc-2.1.2 ̂ǂꂩCXg[Ăꍇ
  ɂ́A܂ "localedef --help" gpāA}bṽVXefBN
  g /usr/share/i18n/charmaps ǂ`FbN܂B
  /usr/share/i18n/charmaps/UTF8 t@C glibc21.diff, glibc211.diff,
  glibc212.diff ̑Ήpb`Ă܂BāAႦ΂̂悤ɂ
  p UTF-8 P[p̃T|[gt@C쐬܂B

       $ localedef -v -c -i de_DE -f UTF8 /usr/share/locale/de_DE.UTF-8

  ʏ country TtBbNXȂ "de"  "fr" ƂP[쐬
  Kv͂܂B̃P[͑̏ꍇɂ LANGUAGE ϐ
  g邾ŁALC_* ϐɂ͎gȂłB܂ALANGUAGE g
  ̂ LC_MESSAGES ̐ݒ㏑ꍇłB

  4.6.  C CuɃT|[gǉ

  glibc-2.2 ̓}`oCg̃P[AɏLō쐬ꂽ UTF-8 P[
  T|[g܂Bł glibc-2.1  glibc-2.1.1 ͎ۂɂ̓}`o
  CgT|[g܂B܂Lō쐬
  /usr/share/locale/de_DE.UTF-8/* t@C̎ۂ̌
  ́A`setlocale(LC_ALL,"")' ϐ̐ݒɂ ".UTF-8" TtBbN
  X菜 "de_DE.UTF-8" ԂłB

  UTF-8 P[̃T|[gǉɂ `libutf8_plug.so' Cu
  libutf8-0.6.2.tar.gz rhāACXg[܂BăCXg
  [ꂽCuw悤 LD_PRELOAD ϐZbg܂B

       $ export LD_PRELOAD=/usr/local/lib/libutf8_plug.so

  ŁÅϐZbgċNꂽSẴAvP[V
  libutf8_plug.so ̊֐ /lib/libc.so.6 ̃IWî̂D悳
  ܂B LD_PRELOAD Ɋւڍׂ "man 8 ld.so" QƂĂB

  ŏqׂSĂ̂Ƃ́Aglibc-2.2 o΂͂KvȂȂ܂B

  4.7.  bZ[WJ^ÕRo[g

  ĐVP[̒g𖄂߂܂傤B /bin/sh R}h̓bZ
  [WJ^O UTF-8 tH[}bgɃRo[g邱Ƃł܂B
   root ŎsKvA܂ GNU gettext-0.10.35  `msgfmt' 
  `msgunfmt' CXg[ĂKv܂Bconvert-msgcat.sh

   glibc-2.2 o΂͂KvȂȂ܂B̎܂łɂ
  gettext  iconv  librecode gpāAK؂Ɍ̕Zbg
  烆[U[̕ZbgփRo[gł傤B

  5.  AvP[VŗL̏

  5.1.  lbg[N

  5.1.1.  rlogin

  ͏Lŏqׂpb`ł܂삵܂B

  5.1.2.  telnet

  ftHgł telnet  8 rbgN[ł͂܂BUnicode ̃L
  [Xg[N[g̃zXg֑邽߂ɂ́Atelnet  "outbinary" 
  [hɃZbgKv܂B̂߂ɂ͎ 2 ̕@
  B

  $ telnet -L <host>

  

       $ telnet
       telnet> set outbinary
       telnet> open <host>

  ɏLŏqׂpb`gpĂB

  5.2.  uEU

  5.2.1.  Netscape

  Netscape 4.05 ȍ~ł UTF-8 ŃGR[hꂽ HTML \邱
  Ƃł܂B̂߂ɂ͑SĂ̕ <head>  </head> ^O̊Ԃɂ
  ̂悤ȍsKvłB

       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  Netscape 4.05 ȍ~ł́AoCgI[_[̃}[Nt UCS-2 GR[
  fBO HTML eLXgt@C\ł܂B

  http://www.netscape.com/computing/download/

  5.2.2.  lynx

  lynx2.8 ɂ̓IvVݒp̉('O' L[)Aŕ\
  镶Zbgݒ肷邱Ƃł܂BUTF-8 [h xterm  Linux R
  \[ŎsĂ鎞ɂ́A "UNICODE UTF-8" ɃZbg܂B

  łxBSĂ̕ɂ <head>  </head> ^O̊ԂɎ̂悤
  sKvłB

       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  UTF-8 ŃGR[hꂽeLXgt@CƂɂ́AR}hC
  IvV "-assume_local_charset=UTF-8"(file:/...  URL ɉe
  yڂ܂)A "-assume_charset=UTF-8"(SĂ URL ɉey
  ܂)KvƂȂ܂Blynx-2.8.2 ł̓IvVݒ('O' L[
  ) "肷镶Zbg/assumed document character set"  "utf-8"
  ɕύX邱Ƃł܂B

  (󒍁F ݒʂ̃IvV({Epꋤ)́AKondara MNU/Linux
  1.0 ɓĂ lynx 2.8.2-3k1 ŊmF܂j

  IvVݒʂɂ "gp̃LN^[Zbg/preferred
  document character set" IvV܂AȂƂ
  apache-1.3.0 ɂ file:/... URL  http://... URL ł͉̌ʂ
  ܂B

  ̃Xy[VOуCu[Nɂ͖肪܂(x-utf8.html
  ̃VÃZNV utf-8-demo.txt Ă݂Ă)B

   lynx-2.8.2 ł --enable-prettysrc Őݒ肳ĂꍇA\
  Zbg "UNICODE UTF-8" ɃZbgĂƃJ[\ɓ
  ܂B͊ȒPȃpb` lynx282.diff ŏC邱Ƃł܂B

  Lynx JҞHAuUTF-8 ł̃XN[\邽߂ɕi lynx 
  pꍇłĂAslang Cu -DSLANG_MBCS_HACK IvV
  ŃRpC邱ƂˑRƂĂ߂܂vłB

  ftp://ftp.gnu.org/pub/gnu/lynx/lynx-2.8.2.tar.gz
  http://lynx.browser.org/ http://www.slcc.edu/lynx/ ftp://lynx.isc.org/

  5.2.3.  eXgpy[W

  uEÛ߂̃eXgy[WAAlan Wood ̃TCg
  http://www.hclrss.demon.co.uk/unicode/#links  James Kass ̃TC
  g http://home.att.net/~jameskass/ ɂ܂B

  5.3.  GfB^

  5.3.1.  yudit

  Gaspar Sinai  yudit http://czyborra.com/yudit/́AX Window System p
  ̂΂炵 unicode eLXgGfB^[łB̌Cvbg
  \bhA[J̕Zbgւ̃Ro[gT|[gĂAL[{[
  hݒ}bvgp邱ƂɂApL[{[hőSĂ̌ł̃e
  LXg̓͂sȂƂ\ɂȂ܂B

   3 ނ̃o[WRpC邱Ƃł܂F Xlib GUI, KDE
  GUI, Motif GUI

  JX^}CY͔ɊȒPłBʓIȃJX^}CÝA܂tHg
  ł傤BtHgj[ "Unicode" IсAR}h "xlsfonts '
  *-*-iso10646-1'" ł͂܂tHgTCYKł͂Ȃ߁A(Markus
  Kuhn  13 sNZŒtHgɃ}b`邽)tHgTCY 13 
  I܂B

  ɃCvbg\bh̃JX^}CYsȂ܂BCvbg\bh
  "Straight", "Unicode", "SGML" xXg̑Ił傤B̃rgCE
  Cvbg\bh̏ڍׂ /usr/local/share/yudit/data/ 䗗
  B

  ɎsɂύXLɂ邽߂ɂ́A$HOME/.yuditrc t@C
  ҏWĂB

  ̃GfB^[̊{Iȋ@\͕ҏWAJbg & y[XgAђu
  łBAhD͂܂B

  5.3.2.  mined98

  mined98  Michiel Huisjes, Achim Mueller, Thomas Wolff 
  eLXgGfB^[łBhttp://www.inf.fu-berlin.de/~wolff/mined.html
   UTF-8 邢 8 rbg  xterm ŁAUTF-8  8 rbgŃGR
  [hꂽt@C̕ҏW邱Ƃł܂B܂ Unicode ̓
  ̂߂̋͂ȋ@\܂B

  UTF-8 [h xterm  Linux R\[ŎsĂ鎞ɂ́Aϐ
  utf8_term Zbg邩A mined R}hC -U ŋN
  Kv܂B

  mined ł 8 rbg UTF-8 ŃGR[hꂽt@CҏW邱Ƃ
  ł܂BftHgł͔Io(autodetection heuristic)s
  ܂AgpȂ́AUTF-8 t@CҏW鎞ɂ̓R}
  hC -u A8 rbgGR[fBOꂽt@CҏW
  ɂ +u tċN܂Bݒ͂łGfB^[ŕύX邱
  ł܂BGR[fBO̓j[s("L:h"  8 rbgŁA "U:h"
   UTF-8)\Ă܂BύXɂ͂̎̕n߂NbNĂ
  B

  ӓ_F

  o  fBXgr[VɊ܂܂ĂoCit@C͌ÂAUTF-8
     T|[gĂ܂B\[XoCirhKv
     ܂Bꂩ src/mined  /usr/local/bin/mined Ƃ
     āAdoc/mined.help  /usr/local/man/cat1/mined.1 ƂăCXg[
     ܂B ESC h R}hŃ}jAt邱Ƃł
     ܂B

  o  mined  "stty erase" ݒ𖳎܂BobNXy[XL[ ASCII
     R[h 127  send A܂ "stty erase ^?" ݒ肵Ăꍇ
     (͐ݒł)Amined  -B ŋNKv
     BɂAobNXy[XL[J[\̍̕悤
     Ȃ܂B

  o  "Home", "End", "Delete" L[͓삵܂B

  5.3.3.  vim

  vim(version 5.4m ȍ~)̓}`oCgP[T|[g܂AX
  library ̃T|[g@\ĂKv܂B܂ 1 \
  ̂ɍőł 2 oCg̃GR[fBO(ISO-2022 GR[fB
  OȂ)݂̂łAUTF-8 ̓T|[g܂B

  5.3.4.  emacs

  ܂n߂ Emacs }jA "International Character Set Support" Z
  NV("International" m[h)ǂłB Emacs N
  ɂ̓R}h

        $ emacs -fn fontset-standard

  sKv邱ƂɒӂĂBɂA̍̕
  ̃tHgZbggƂł܂B

  Otfried Cheong  emacs-utf pbP[W
  http://www.cs.ust.hk/faculty/otfried/Mule/ ɂ "unicode-utf-8" G
  R[fBOA{  Mule-UCS package
  ftp://etlport.etl.go.jp/pub/mule/Mule-UCS/Mule-UCS-0.70.tar.gz
  (http://riksun.riken.go.jp/archives/misc/mule/Mule-UCS/Mule-
  UCS-0.70.tar.gz Ƀ~[Ă܂)ɂ "utf-8" GR[fBO
  Emacs ň悤ɂȂ܂B̃pbP[W𓯎ɗp邱Ƃ
  ܂Bemacs-utf "unicode-utf8" GR[fBO̗_̓[h
  AwLANZgt̕Ȃǂ̔ CJK \ɂ̂ɂ
  ǂtHgIł邱ƂłBMule-UCS "utf-8" GR[fB
  O̗_́At@C̓ǂݏł͂Ȃ(M-x ŋN) process
  buffer ł̃GR[h𗘗pł邱ƂłB

  emacs-utf pbP[WCXg[ɂ "utf2mule" vOR
  pCunicode.el, muleuni-1.el, unicode-char.el ƈꏏ $PATH 
  ǂɃCXg[A̐ݒ $HOME/.emacs t@Cɒǉ܂B

       (setq load-path (cons "/home/user/somewhere/emacs" load-path))
       (if (not (string-match "XEmacs" emacs-version))
         (progn
           (require 'unicode)
           (if (eq window-system 'x)
             (progn
               (setq fontset12
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-12-*-*-*-*-*-fontset-standard"))
               (setq fontset13
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-13-*-*-*-*-*-fontset-standard"))
               (setq fontset14
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-14-*-*-*-*-*-fontset-standard"))
               (setq fontset15
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-15-*-*-*-*-*-fontset-standard"))
               (setq fontset16
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard"))
               (setq fontset18
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-18-*-*-*-*-*-fontset-standard"))
              ; (set-default-font fontset15)
               ))))

  tHgZbgLɂɂ Mule j[ "Set Font/FontSet" I
  邩AShift Ȃ}EX̍{^NbN܂BMarkus
  Kuhn  9x15  6x13 tHgł́A 15  13 ̃tHgZbg
   Unicode ɂ͍œKłBtHgZbg̃tHgZbgƂĎw
  肷ɂ́AL̃R[h set-default-font sARg܂(R
  g(;)܂)B

  Mule-UCS pbP[WCXg[ɂ

       $ emacs -batch -l mucs-comp.el

  sA쐬ꂽ un-define.elc KȏɃCXg[āA
  s $HOME/.emacs t@Cɒǉ܂B
       (setq load-path (cons "/home/user/somewhere/emacs" load-path))
       (if (not (string-match "XEmacs" emacs-version))
         (progn
           (require 'un-define)
           ))

  UTF-8 ŃGR[hꂽt@CI[vɂ́A

       M-x universal-coding-system-argument unicode-utf8 RET
       M-x find-file filename RET

  邢

       C-x RET c unicode-utf8 RET
       C-x C-f filename RET

  s܂B (Mule-UCS D݂ł΁Aunicode-utf8 ̂ utf-8
  s܂)

  shell obt@ UTF-8 I/O Ŏsɂ́ALs܂B

       M-x universal-coding-system-argument utf-8 RET
       M-x shell RET

  (Mule-UCS ݂̂œ삵܂)

  L Emacs ^[~i[hł͂ȂAEBhE[h̎̂ݓ
  ܂B

  Richard Stallman ͏I UTF-8 T|[g Emacs ɓ悤ƌv
  Ă܂B XEmacs JO[vłB

  ֘AF <golconda@yahoo.co.jp> ̃y[W "Multilingual Emacs and
  Unicode"
  http://www.geocities.com/ResearchTriangle/Campus/6475/index.html

  5.3.5.  xemacs

  (̃ZNV Gilbert Baumann ܂)

   Xemacs(̃o[W 20.4  MULE ݒ(configured)) 
  UTF-8 GR[h悤ɂ@łBcOȂ\[XɃpb`
  ĂKv܂B

  n߂ Tomohiko Morioka ɂÃt@CKvɂȂ܂B

  http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-21.0-b55-emc-
  b55-ucs.diff 
  http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-ucs-
  conv-0.1.tar.gz

  diff t@C C ̃\[X̍łBtar ʂ elisp ̃R[hŁA
  Unicode Ƃ̑ݕϊ̂߂̑̃R[he[u񋟂܂Bdiff
  t@C̖O킩悤ɂ XEmacs-21 płAg
   XEmacs-20.4 ł͑pb`CKv܂BXEmacs-20.4
  ̃\[XƂ̍ł傫ȈႢ file-coding.[ch]  mule-coding.[ch] 
  ȂĂƂłB(󒍁Ftarball(tar ʂ tar {[ƌĂ΂
  )́Atar Ōł߂ꂽt@ĈƂł)

  (̂悤) XEmacs-MULE ɊĂȂւ̃NCbNKChłF

  MULE ł̓GR[fBO `coding-system' ƌĂт܂BłdvȃR}
  h́A

       M-x set-file-coding-system
       M-x set-buffer-process-coding-system   [comint buffers]

  ƁAgpĂGR[fBO𒲂ׂ鎞 `find-file' ֐gp
  ϐ `file-coding-system-alist' łBsɂɎsȂ
  ͂ łB

  ̃R[h̓I[v悤ƂĂt@C̐擪 600 oCg܂ŁA-*-
  Ŏn܂Ă special mode line T܂B"Encoding: xyz;" tB[
  hAxyz GR[fBO(Emacs ł "coding system" ł)
  ݂Ăꍇɂ́Â悤ɂ XEmacs  utf-8 [hɂ邱Ƃ
  ܂B

       ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: CLEX; Encoding: utf-8; -*-

  SĂ܂삵ƁA\u03BB(MṼ_) Ƃ}N
  `܂B

       (defmacro \u03BB (x) `(lambda .,x))

  5.3.6.  nedit

  (H)

  5.3.7.  xedit

  _ xedit ̓P[K؂ɐݒ肵(LQ)A$HOME/.Xdefaults
  t@C "Xedit*international: true" sǉ UTF-8 t@C
  ҏWł͂łAۂɂ UTF-8 GR[fBOꂽ ASCII 
  FĂ͂܂AA "@" ŕ\Ă܂܂B

  5.3.8.  axe

  P[K؂ɐݒ肵(LQ)A$HOME/.Xdefaults t@C
  "Axe*international: true" sǉ΁A_ axe  UTF-8 t@C
  ҏWł͂łAۂɂ͒P core fłB

  5.3.9.  pico

  (H)

  5.4.  [

  MIME: RFC 2279  UTF-8  MIME ZbgƂĒ`Ă܂B MIME
   8 rbg̕\\ base64 GR[fBOœ]邱Ƃł
  BÂ MIME UTF-7 v|[U(RFC 2152)͔΂Ă(deprecated)
  ߁Agpׂł͂܂B

  1999 N 1  1 ȍ~Ƀ[Xꂽ[NCAg UTF-8 GR
  [hꂽ[̑M\s͂łBȂꍇɂ͌
  (deficient)Ǝv܂Bł̃[ MIME xłȉ
  ̍s܂ޕKv܂B

       Content-Type: text/plain; charset=UTF-8
       Content-Transfer-Encoding: 8bit

  MIME xȂŁAUTF-8 t@CP "mail" R}hɃpCvœn
  ꍇɂ́A܂B

  [NCAg̎҂ http://www.imc.org/imc-intl/ 
  http://www.imc.org/mail-i18n.html ɖڂʂׂłB

  ꂩX̃[NCAg( "mail user agents"(MUA)ƌ
  т܂) ɂČĂ܂B

  5.4.1.  pine

  pb`̂ĂȂ pine version 4.10 ̂͂̂悤ɂȂĂ܂B

  Pine ͕Zbg̃Ro[gs܂񂪁AUTF-8 ̃eLXgEBh
  E (Linux R\[ xterm) UTF-8 ̃[{邱Ƃł
  B

  ʏ Pine  UTF-8 GR[hꂽ[{邽тɁAZbg
  قȂĂƌx܂B̌xoȂ悤ɂɂ
  S(setup)IA C(config)A "character-set" ̒l UTF-8
  ɕύX܂B Pine  UTF-8 ʂȂ߁ÃIvV͌x\
  }ȊOɂ͉sȂ܂B

  Pine  Unicode ̔F͔Ɍ肳Ă邱ƂɂӂĂ
  BeMV͕̕\܂A̎ނ Unicode 
  ͕\܂B

  Robert Brady ̃pb` <rwb197@ecs.soton.ac.uk>
  http://www.ents.susu.soton.ac.uk/~robert/pine-utf8-0.1.diff  Pine 
  UTF-8 T|[gǉ܂B̃pb`ɂwb_{̃fR[hA\
  ɍs܂B̃pb` GNOME  libunicode
  http://cvs.gnome.org/lxr/source/libunicode/ ɈˑĂ܂B

  ̏ꍇAACg̖͉Ă܂B[̃
  vC͕Zbg̃Ro[g𐳂sA܂ pico GfB^[̓}
  `oCg܂B

  5.4.2.  kmail

  (KDE 1.0 ̎_ł)kmail  UTF-8 [܂T|[gĂ܂
  B

  5.4.3.  Netscape Communicator

  Netscape Communicator  Messenger ́AUTF-8 GR[hꂽ[
  M\sƂł܂A̎ƂKvƂȂ܂B

  UTF-8 GR[hꂽ[𑗐M邽߂ɂ́A[쐬O
  "Compose" EBhEJAj[ "View -> Character Set ->
  Unicode (UTF-8)" I܂B̌チ[̍쐬AMs܂B

  UTF-8 ŃGR[hꂽ[󂯎ꍇANetscape ͎cOȂ
   UTF-8 ŕ\܂B[ UTF-8 ŃGR[fBOĂ
  ƕ\邱Ƃł܂B蓮Ńj[ "View -> Character
  Set -> Unicode (UTF-8)" IKv܂B

  Netscape  UTF-8 ̃[\邽߂ɕʂ̃tHggp܂B
  tHg̐ݒ "Edit -> Preferences -> Fonts" _CAOŒł
  A "Unicode" tHgJeS[I܂B

  5.4.4.  emacs (rmail, vm)

  (H)

  5.4.5.  mutt

  mutt-1.0 http://www.mutt.org/  UTF-8 T|[g͌nIȂ̂
  BUTF-8 SɃT|[g邽߂ Edmund Grimley Evans ̃pb`
  ܂B http://www.rano.demon.co.uk/mutt.html

  5.5.  eLXg

  5.5.1.  groff

  `I Unix eLXgVXe troff/nroff  GNU łł groff
   UTF-8 ŃtH[}bgꂽeLXgo͂ł܂B̂߂ɂ͍ŐV
  ̃XibvVbg (http://groff.ffii.org/  groff-current.tar.gz)
  ŁA `groff -Tlatin1'  `groff -Tascii' ̑ `groff -Tutf8' 
  sKv܂B

  5.5.2.  TeX

  teTeX 0.9 ȍ~ɂ Omega ƌĂ΂ATeX  Unicode ւ̑Ήǉ
  ̂܂B(http://www.gutenberg.eu.org/omega/,
  ftp://ftp.ens.fr/pub/tex/yannis/omega)  utf8-tex-0.1.tar.gz 
  unicode.tex t@CgƁATeX ̃\[XƂ UTF-8 ŃGR[h
  ꂽ̂Ƃł܂B݁A Unicode T|[g
  Ă܂B

  ̕ύX_̓\[X̐擪Ɏ̍sǉA(`tex'̂)
  `omega'  (`latex' ̂)`lambda' s邱Ƃɂ藘p邱
  Ƃł܂B

       \ocp\TexUTF=inutf8
       \InputTranslation currentfile \TexUTF

       \input unicode

  ֘A郊NF http://www.dante.de/projekte/nts/NTS-FAQ.html,
  ftp://ftp.dante.de/pub/tex/language/chinese/CJK/.

  5.6.  f[^[x[X

  5.6.1.  PostgreSQL

  PostgreSQL 6.4 ȍ~ł̓IvV --with-mb=UNICODE w肵ăoCi
  쐬邱Ƃł܂B

  5.7.  ̑̃eLXg[h̃AvP[V

  5.7.1.  less

   http://www.flash.net/~marknu/less/less-346.tar.gz  Robert Brady
  <rwb197@ecs.soton.ac.uk> ̃pb` less-346-utf8.diff ĂăCXg
  [܂BĎɊϐ LESSCHARSET Zbg܂B

       $ export LESSCHARSET=utf-8

  ϐ LESSKEY ZbgĂꍇɂ́A̕ϐwĂ
  lesskey t@C LESSCHART `ĂȂƂmFĂB
  Kvɉ `lesskey' R}hŃt@C̍ĐALESSKEY ϐ
   unset sĂB
  5.7.2.  expand, wc

  GNU textutils-2.0 肵Apb` textutils-2.0.diff Ă
  "#define HAVE_MBRTOWC 1", "#define HAVE_FGETWC 1", "#define
  HAVE_FPUTWC 1"  config.h ɒǉAsrc/Makefile  CFLAGS  LDFLAGS
   libutf8 CXg[ĂfBNg include 悤ɂ
  ărhĂB

  5.7.3.  col, colcrt, colrm, column, rev, ul

  util-linux-2.9y pbP[W肵 configure Adefines.h 
  ENABLE_WIDECHAR `(󒍁F#define
  ENABLE_WIDECHAR)Alib/widechar.h  "#if 0"  "#if 1" ɂ܂B
   text-utils/Makefile  CFLAGS  LDFLAGS  libutf8 CXg[
  ĂfBNg include 悤ɂărhĂB

  5.7.4.  figlet

  figlet 2.2 ɂ UTF-8 œ͂IvV "figlet -C utf8" 
  B

  5.7.5.  kermit

  VAʐMpvO C-Kermit http://www.columbia.edu/kermit/ ̃o
  [W 7.0beta10 ȍ~ł́At@CђʐM̃GR[fBOƂ
   UTF-8  UCS-2 A^[~ił̃GR[fBOƂ UTF-8 g
  p邱Ƃł܂BGR[fBOɊւhLg
  ftp://kermit.columbia.edu/kermit/test/text/ckermit2.txt ɂ܂B

  5.8.  ̑ X11 AvP[V

  X11 Xlib  UTF-8 P[͌݊JłB

  6.  Ȃ̃vO Unicode 悤ɂ

  6.1.  C/C++

  C  `char' ^ 8 rbgłA͈ŏ̃TCY
  B

  6.1.1.  ʏ̃eLXgnhO

  1995 N ISO/ANSI C standard ɒǉꂽCɋLqĂ
  ́A "wide character/Ch" ^ł `wchar_t'ƁA <string.h> 
   <ctype.h> (ꂼ <wchar.h>  <wctype.h> Ő錾Ă
  )ɂÅ֐ƁA`char *'  `wchar_t *' Ԃ̈A ϊ֐
  (<stdlib.h> Ő錾Ă܂)łB

   API ̗ǂt@X

  o  GNU libc-2.1 }jA 4  "Character Handling"  6 
     "Character Set Handling"

  o  }jAman-mbswcs.tar.gzA݂ ftp://ftp.win.tue.nl/pub/linux-
     local/manpages/man-pages-1.28.tar.gz Ɋ܂܂Ă܂B

  o  OpenGroup ̃Cg_NV http://www.unix-
     systems.org/version2/whatsnew/login_mse.html

  o  OpenGroup  Single Unix specification http://www.UNIX-
     systems.org/online.html

  o  ISO/IEC 9899:1999 (ISO C 99) standard
     ̗p(adopted)O n2794 ƌĂ΂ĂŐṼhtg
     ftp://ftp.csn.net/DMK/sc22wg14/review/  http://java-
     tutor.com/docs/c/

  o  Clive Feather ̃Cg_NV
     http://www.lysator.liu.se/c/na1.html

  o  the Dinkumware C library t@X
     http://www.dinkumware.com/htm_cl/

      API g_

  o  x_[ɈˑȂWłB

  o  ֐̓[U[̃P[ɉ܂BSẴvO
      setlocale(LC_ALL,""); ĂтKv܂B

   API ̌_

  o  ĂтɎgpIȏԃtOێĂ邽߁A
     ̊֐̓}`XbhZ[tł͂܂B

  o  ǂ̂悤ȎɂłgpłƂP[f[^^Cv͂܂
     B܂肱 API ́A1 ȏ̃P[╶Zbg𓯎Ɏg
     pȂ΂ȂȂɂ́A܂삵܂B

  o   OS ŁA API ̃T|[ĝ͖ł͂܂B

  6.1.1.1.  (Portability)ɂ

  `wchar_t'  Unicode ŁA}`oCg̕ `char *'  UTF-8 ŃG
  R[hĂ邩ǂ̓vbgtH[Aɂ̓J[ɂˑ
  Ă܂B

  Single Unix specification ł `wchar_t' ^ɂĂ̂悤ɏqׂ
  Ă܂F

       vZX̑SẴChR[h́AŒ蒷̃rbgō\
       ĂBɑ΂ĕ(character)\oCg͉
       łB\oCg(邢̓oCg̕)́ACh
       R[hƂĕ\邱ƂłB܂胏ChR[h
       ɂAŒ蒷ŃeLXgf[^ƂłBSrbg
       [̃ChR[h̓k̃ChR[hŁACh
       ̏̕I\B̂镶Zbg (ҒF܂
       ASCII) \邽߂Ɏgp郏Ch̒ĺA1 
       \Ă鎞ɂ͂ (ASCII ł)lɓȂB
       ̃̕ChR[h̓P[юɈˑB
       ԃVtgoCgɂ̓ChR[h\͂ȂB

  _ƂẮA̂vOł͔ ASCII 𕶎̃e
  ƂĎgׂł͂ȂƂƂłB܂ Unicode ̓dp
  R[h U+201C  U+201D ƂƂmĂƂĂAC ̃vO
  ł͕̃e L"\u201cHello\u201d, he said" 
  "\xe2\x80\x9cHello\xe2\x80\x9d, he said" gpׂł͂܂B
  ̂ GNU gettext gp gettext("'Hello', he said") Ə
  AbZ[Wf[^x[X en.UTF-8.po 쐬 "'Hello', he said"
   "\u201cHello\u201d, he said" ɖ|󂵂܂B

  ȉ͊e UNIX ɂ ISO/ANSI C @\̉𒲍̂łBGNU
  glibc-2.2 ͂SĂT|[g\łȀ݂(܂oĂ
  Ȃ)ȉ̂̂ŉ䖝邵܂B

     GNU glibc-2.0.x, glibc-2.1.x

        o  <wchar.h>  <wctype.h> ܂

        o  wcs/mbs ֐܂Afgetwc/fputwc/wprintf ͂܂

        o  UTF-8 P[͂܂

        o  mbrtowc ͕R[h 0x80 ȏ̏ꍇAEILSEQ Ԃ܂

     Solaris 2.7

        o  <wchar.h>  <wctype.h> ܂

        o  wcs/mbs ֐Afgetwc/fputwc/wprintf ֐ASĂ܂B

        o   UTF-8 P[܂F en_US.UTF-8, de.UTF-8,
           es.UTF-8, fr.UTF-8, it.UTF-8, sv.UTF-8.

        o  mbrtowc ͕R[h 0x80 ȏ̏ꍇA(-2 ł͂Ȃ)
           -1/EILSEQ Ԃ܂

     OSF/1 4.0d

        o  <wchar.h>  <wctype.h> ܂

        o  wcs/mbs ֐Afgetwc/fputwc/wprintf ֐ASĂ܂

        o  AhI universal.utf8@ucs4 P[܂B"man 5
           unicode" QƂĂ

        o  mbrtowc  UTF-8 ܂

     Irix 6.5

        o  <wchar.h>  <wctype.h> ܂

        o  wcs/mbs ֐Afgetwc/fputwc ֐͂܂Awprintf ͂
           ܂

        o  }`oCg̃P[͂܂

        o  mbstate_t ̃_~[Ȓ`܂

        o  mbrtowc ܂

     HP-UX 11.00

        o  <wchar.h> ͂܂A<wctype.h> ͂܂

        o  wcs/mbs ֐Afgetwc/fputwc ֐͂܂Awprintf ͂
           ܂
        o  C.utf8 P[܂

        o  mbstate_t ܂

        o  mbrtowc ܂

     AIX 4.2

        o  <wchar.h> ͂܂A<wctype.h> ͂܂BƂ
           <ctype.h>  <wchar.h> g܂

        o  wcs/mbs ֐Afgetwc/fputwc ֐͂܂Awprintf ͂
           ܂

        o   UTF-8 P[܂F ET_EE.UTF-8, LT_LT.UTF-8,
           LV_LV.UTF-8, ZH_CN.UTF-8.

        o  mbstate_t ܂

        o  mbrtowc ܂

  ȏAĊJ\(restartable)}`XbhZ[t wcsr/mbsr 
  gƂ߂܂B֐VXe(Irix, HP-UX, AIX)̂
  ͖YĂ܂āAUTF-8 P[ ̃vOC libutf8_plug.so(LQ
  ̂)A wcsr/mbsr ֐gpvORpCłVXe
  (Linux, Solaris, OSF/1)Ŏgp܂傤B

  Sun ̓lȃAhoCXhttp://www.sun.com/software/white-papers/wp-
  unicode/  "Internationalized Applications with Unicode" ZNV
  ͂̂悤ɏĂ܂F

       AvP[Vۉɂ́ÃKChCɉ
       KvF

  1. Unicode ւ̒ڂ̃ANZX͔B̓vbgtH[̍
     t[[N̎dł

  2. POSIX f́A}`oCgуChC^[tF[Xgp
     

  3. ۉt[[N̒񋟂錾ꂨѕˑ API ݂̂
     т

  4. R[hZbgˑ̂܂܂ɂ

  ̗RŁA`wchar_t'  Unicode ƂǂĂ肵Ȃ΂
  Ȃ(ႦΈꕔ Unicode ɓʂȏsȂ)悤ȃR[
  hKvȎɂ́AR[ĥ̕ is_locale_utf8() ̌ʂē
  悤ɂׂłBȂꍇ̃vÓAP[⑼
  vbgtH[ł̓̋LqłႮɂȂĂ܂ł傤B
  is_locale_utf8 ֐ utf8locale.h Ő錾Autf8locale.c Œ`
  Ă܂B

  6.1.1.2.  libutf8 Cu

  ISO/ANSI C API ̉̂ŁA8 rbg̃P[ UTF-8 P[
  T|[g܂B libutf8-0.6.2.tar.gz 擾ł܂B

  _F

  o  Unicode UTF-8 ̂`ŃT|[g܂B}`oCg
     Ch܂T|[gĂȂA͐삵Ȃ
     OS łĂłB

  o  8 rbgP[ UTF-8 P[T|[gSĂ OS œ
     ̃oCis邱Ƃł܂B

  o  OS x_[K؂ȃ}`oCgT|[gǉ΁A
     -DHAVE_LIBUTF8 RpCIvVȂŒPɍăRpC邾
     ŗp邱Ƃł܂B

  6.1.1.3.  Plan9 ̏ꍇ

  Unix ̈ł Plan9 Iy[eBOVXéASẴAvP[
  V̕GR[fBOƂ UTF-8 gpĂ܂BCh
  ^ `wchar_t' ł͂ȂA`Rune' łBRob Pike  Howard Trickey 
  Cu
  ftp://ftp.cdrom.com/pub/netlib/research/9libs/9libs-1.0.tar.gz ɂ
  ܂BAlistair G. Crooks ̏̑̓lȃCu
  ftp://ftp.cdrom.com/pub/NetBSD/packages/distfiles/libutf-2.10.tar.gz
  łB̃Cuɂ UTF-8 鐳K\܂B

   API ̌_F

  o  UTF-8(T|[g)̓IvVł͂ȂARpCɊ܂܂Ă܂
     BɂvÓA[bpł܂gpĂ 8
     rbgGR[fBOT|[gł܂B

  6.1.2.  GUI pɂ

  Qt-2.0 Cu http://www.troll.no/ ɂ́AUnicode ɊSΉ
  QString NX܂BUTF-8 ŃGR[hꂽeLXgƂ̑ݕϊ
  ɂ́Ao֐ QString::utf8  QString::fromUtf8 gƂ
  ł܂B QString::ascii  QString::latin1 o֐͂͂g
  ׂł͂܂B

  6.1.3.  iIȃeLXg

  ܂łɏqׂCúAASCII ̂ Unicode 
  ɂo[WłBŏqׂ̂ titlecase(P̎n܂啶
  ɂ邱ƁA܂͂̔)AǓ_ƋL̋ʁAWIȕ
  (decomposition)AsNXAWIȃ\[gƂ@\
  Unicode ň郉CułB

     ucdata-2.3
        Mark Leisher  ucdata library
        http://crl.nmsu.edu/~mleisher/ucdata.html ɂ́Ãvp
        eBA啶Ə̕ϊA(decomposition)As
        NX܂B

     ICU
        IBM  Unicode NX(IBMs Classes for Unicode)
        http://www.alphaworks.ibm.com/tech/icu/ łBIȍۉC
        uŁAUnicode ̕A\[XohAl̃tH[}b
        ^At^Ԃ̃tH[}b^AbZ[WtH[}b^AƍȂǂ
        @\܂B̃P[T|[gĂAUnix 
        Win32 ̊Ԃŉ܂Â܂܂ł Linux  libc6 
        RpCł܂(libc5 ł͑ʖڂł)B

     libunicode
        Tom Tromey BɂAGNOME libunicode library
        http://cvs.gnome.org/lxr/source/libunicode/ łBɂ͕
        Zbg̃Ro[gÃvpeBA
        (decomposition)̋@\܂B

  6.1.4.  ϊpɂ

  2 ނ̕ϊCu܂B UTF-8 A 8 rbg
  ZbgT|[gĂ܂B

  6.1.4.1.  iconv

  GNU glibc-2.1.1 Ɋ܂܂ĂAUlrich Drepper ɂ iconv ̎
  ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.1.1.tar.gz

  Bruno Haible ɂ̂ iconv
  ftp://ftp.ilog.fr/pub/Users/haible/gnu/libiconv-1.1.tar.gz

  Konstantin Chuguev <joy@urc.ac.ru> ɂ̂ iconv
  ftp://ftp.urc.ac.ru/pub/local/OS/Unix/converters/iconv-0.4.tar.gz

  _F

  o  iconv  POSIX WłAiconv gp UTF-8 Ƃ̑ݕϊs
     vO Solaris ł삵܂BZbg̖O̓v
     bgtH[ԂňقȂĂ܂BႦ glibc ł "EUC-JP" ł
     AHP-UX ł "eucJP" ɂȂĂ܂(̕Zbǧ IANA
     ł̖O "EUC-JP" łA炩 HP-UX ԈĂ܂)B

  o  glibc-2.1 ł͑ɃCuKvƂ܂B̑̊
     ́ABruno Haible  Konstantin Chuguev ̎ iconv gp
     Ƃł܂B

  6.1.4.2.  librecode

  Francois Pinard  librecode
  ftp://ftp.gnu.org/pub/gnu/recode/recode-3.5.tar.gz

  _F

  o  (transliteration)T|[gĂ܂B͔ ASCII 
     ASCII ւƁÂȂ(lossless)ϊs\ȏꍇłĂl
     Ԃǂ߂`ɃRo[g܂B

  _F

  o  WO(non-standard)  API

  o  x

  6.1.5.  ̑̃Av[`

     libutf-8
        G. Adam Stanislav <adam@whizkidtech.net> libutf-8 ɂ UTF-8
        GR[hꂽ `FILE*' Xg[Ƃ̑ݕϊ𓮓IɍsȂ
        ̊֐܂B
        http://www.whizkidtech.net/i18n/libutf-8-1.0.tar.gz

        _F

        o  ɏ

        _F

        o  WO(non-standard)  API

        o  UTF-8 ̓IvVł͂ȂRpCɊ܂܂Ă܂܂B
           ɂÃCuƃRpCꂽvO 8
           rbg̃GR[fBOT|[g܂BvO
           ̓[bpł͂܂gpĂ܂B

        o  CXg[͊ȒPł͂܂Bautoconfig Ȃ
           ߁AMakefile Kv܂B

  6.2.  Java

  Java ͌ꎩ̂ Unicode T|[g܂B`char' ^ Unicode 
  \A܂ `java.lang.String' NX Unicode ̕܂B

  Java ͂ǂ Unicode łAg̃EBhEVXe AWT gp
  ĕ\邱Ƃł܂B̂߂ɕKvȂƂ́A 1. Java ̃VXe
  vpeB "user.language" K؂Ȃ̂ɃZbgB 2.
  /usr/lib/java/lib/font.properties.language tHgZbg̒`K
  Ȃ̂ɃZbgB 3. LŎw肵tHgCXg[BႦ
  Γ{̕܂ރeLXg\ɂ́A{̃tHgCXg
  [A"java - Duser.language=ja ..." Ŏs܂BtHgZbg
  gݍ킹邱Ƃł܂F[bpAMVA{̕𓯎
  ɕ\ɂ́A "font.properties" (ISO-8859-1 Jo
  [)A"font.properties.el" (ISO-8859-7 Jo[)A"font.properties.ja"
  t@Cgݍ킹̂쐬܂B??This is untested??

  java.io.DataInput  java.io.DataOutput C^[tF[Xɂ͂ꂼ
  A `readUTF'  `writeUTF' Ƃ\bh܂A
  UTF-8 gpȂƂɒӂĂB͕ύXꂽ UTF-8 
  gp܂F NUL  0x00 ̂ 2 oCg 0xC0 0x80 ƂăG
  R[hA 0x00 oCgǉ܂B̂悤ɃGR[h
  邽߁A̓tB[h̒ȂƂANUL ܂ނƂ
  ł܂BC ł <string.h>  strlen()  strcpy() Ƃ֐ł
  悤 NUL ܂񂾕Ƃł܂B

  6.3.  Lisp

  Common Lisp Wł `base-char'  `character'  2 ނ̕^
  `Ă܂BUnicode T|[g邩ǂ͎Ɉˑ܂B
  ZbgGR[fBOw肷邽߂ɂ́AƂ `:external-
  format' w肵A`open' Œ`܂B

  t[(󒍁Fł͂ȂARƂӖł) Common Lisp ̎
  ́A CLISP http://clisp.cons.org/  Unicode T|[gĂ܂
  Â߂ɂ CLISP  1999N 7ȍ~̃o[W
  ftp://clisp.cons.org/pub/lisp/clisp/source/clispsrc.tar.gz KvƂ
  ܂B`base-char'^  `character' ^͂ǂ 16-bit Unicode
  ƓłBt@CA\PbgApCv I/O ɎgpGR[fB
  O `:external-format' Ŏw肷邱Ƃł܂Bt@CA\
  PbgApCv I/O ̃ftHg̃GR[fBO tty I/O Ɏg
  pꂽGR[fBO̓P[ɈˑĂ܂B

  p Common Lisp ̎ł́AEclipse
  http://www.elwood.com/eclipse/eclipse.htm  Unicode T|[g
  ܂Bhttp://www.elwood.com/eclipse/char.htm QƂĂB
  `base-char' ^ ISO-8859-1 ƓłA܂ `character' ^͑SĂ
  Unicode ܂ނƂł܂Bt@C I/O ɎgpGR[
  fBO̎w `:element-type'  `:external-format' 
  `open' w肷邱Ƃɂ\łBF (character
  attribute attribute) ֐̓P[ɈˑĂ܂B\[XуR
  pCꂽ\[Xt@C Unicode ̕ł̃eƂ
  ł܂B

  p Common Lisp ̎ł Allegro CL ͂܂ Unicode T|[g
  ܂񂪁AErik Naggum ݍƒłB

  6.4.  Ada95

  Ada95  Unicode T|[g邽߂ɃfUC܂BAda95 ̕W
  Cű@\ɂ́AISO 10646-1 ̂߂̓ʂȃf[^^ł
  Wide_Character  Wide_String ܂BɊ֘A鑽̃v
  V[W֐lłBGNU Ada95 RpC(gnat-3.11 ȍ~)
  UTF-8 Ch̊OGR[fBOƂăT|[g܂Bɂ
  AUTF-8 \[XR[hƃAvP[V I/O ƂĎgp邱Ƃ
  ł܂BAvP[Vłgpł悤ɂɂ̓t@CI[v
  鎞 FORM   "WCEM=8" ZbgA܂\[XR[h
  UTF-8 ȂRpCIvV "-gnatW8" gp܂Bڂ GNAT
   Ada95 ̃t@X}jAQƂĂB

  7.  ̏

  7.1.  [OXg

  ȉ̃[OXgɂ́A̐l܂B

  7.1.1.  linux-utf8

  AhXF linux-utf8@nl.linux.org

  ̃[OXg Unicode ɂ鍑ۉɂĂłBL[{[hh
  Co X11 ̃tHg܂ŁALgsbNɂĘbĂ܂B

  A[JCu http://mail.nl.linux.org/linux-utf8/ ɂ܂B

  u(subscribe)ɂ majordomo@nl.linux.org ցA{ "subscribe
  linux-utf8" ƏđM܂B

  7.1.2.  li18nux

  AhXF linux-i18nsun.com

  ̃[OXg Linux ɂ鍑ۉƂ̑gDҐ̑ł
  킹ɂĂłB

  u(subscribe)ɂ http://www.li18nux.org/ ŃtH[ɋLq
  linux-i18n-request@sun.com ֑M܂B

  7.1.3.  unicode

  AhXF unicode@unicode.org

  ̃[OXg Unicode ̕WAJABidi \[g̃AS
  YƂ֘AZpɂĘbĂ܂B

  A[JCu ftp://ftp.unicode.org/Public/MailArchive/ ɂ܂A
  IɃAbvf[g͂Ă͂܂B

  uǂɂ http://www.unicode.org/unicode/consortium/distlist.html
  䗗B

  7.1.4.  X11 ۉ

  AhXF i18n@xfree86.org

  ̃[OXǵAX11/XFree86 VXe̍ۉ̍ƎҌ̂
  łB

  A[JCu http://devel.xfree86.org/archives/i18n/ ɂ܂B

  uǂɂ́Ai18n-request@xfree86.org (lȂł) Ƀ[
  āA@ĂB

  7.1.5.  X11 tHg

  AhXF fonts@xfree86.org

  ̃[OXg Unicode tHgAX11/XFree86 VXep
  tHgTuVXe̊JҌ̂̂łB

  A[JCu http://devel.xfree86.org/archives/fonts/ ɂ܂B

  uǂɂ fonts-request@xfree86.org ɂI[o[[N̐lɃ[
  āA@܂傤B

