■掲示板に戻る■ 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

Cygwin使っている人いますか? part4

607 :336 :02/05/27 08:12
>>597-599
申し訳ないですが、i18n patch導入しても
X環境に限ってはすぐに日本語ばっちりとはいかないはず。

CygwinのXFree86 binaryは-DX_LOCALEオプションでbuildされています。
このオプションがついていると、libX11の独自国際化機能(_Xsetlocale)
が使われ、cygwin1.dll(setlocale)は無視されます。

つまりXに限っては、i18n patchあてたcygwin1.dllを導入しても意味がないんです。
i18n patchの機能を使いたければ、Xをまるごとrecompileする必要があるわけ。

しかも頭の痛いことに、-DX_LOCALEはずすとバイナリ互換性が失われるので、
WindowMakerやらLesstiffやらまでもが、ピクリとも動かなくなります。
こちらも面倒ですが、sourceから自力でrecompileする必要があります。

# 若者はしらんだろーけど、Linuxがlibc5からglibc2へ移行したときも
# 同じトラブルがあって皆年寄りは苦労してるのです、歴史は繰り返す。

そもそもi18n patchが本家にmergeされるとは決まってないわけだし。
当面は-DX_LOCALEのまま環境をいじらない方が吉だと思います。
sけいし氏 & なかまる氏のhackによるlibX11.dllを使う方が現時点では得策でしょう。

それでも人柱として、テストにお付き合い頂ける方は、
以下のpatchを当ててXFree86をrecompileしてみてください。

もういちど注意しておきますが、cygwin.comからのX関連のbinaryは
一切動かなくなります(欝)

--- xc/config/cf/cygwin.cf.orig Sun May 26 01:28:57 2002
+++ xc/config/cf/cygwin.cf Sun May 26 01:28:32 2002
@@ -138,9 +138,9 @@
# define OptimizedCDebugFlags DefaultGcc2i386Opt
# endif

-#define StandardDefines -D__i386__ -DWIN32_LEAN_AND_MEAN -DX_LOCALE -D_X86_ -D__STDC__ -DNO_TCP_H -D__CYGWIN__ -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE
+#define StandardDefines -D__i386__ -DWIN32_LEAN_AND_MEAN -D_X86_ -D__STDC__ -DNO_TCP_H -D__CYGWIN__ -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE

-#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H -DHAS_ISW_FUNCS
#define HasWChar32 YES
#define StandardCppOptions -traditional
#if UseCygIPC


# つか洩れの手元では、wcscpyがありませんってxtermが起動してくれない。。。
# なーんかcygwin1.dllのbuildに失敗してるなぁ。。。


次100 最新50

read.cgi ver5.26+ (01/10/21-)