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



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

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

354 :336 :02/05/08 03:19
# patch斜め読みしただけですが。

>>330
multibyteの最大長を指す定数がMB_LEN_MAX(すべてのCESで最大の値)
で、現在のlocale(つーかCES)のmultibyteの最大長は、MB_CUR_MAXってマクロ。
# EUC-JPだと最大3byte必要みたい。

Windows方面では、MBCS(DBCS?)とか称するらしいけど、MB_LEN_MAXは2。
multibyteのまま扱っていれば問題は起きにくいんだけど、APIの内部で
MBCS(Multibyte)->Unicode(WideChar)へ変換されて壊れちゃうんだと思う。
# newlib側のMB_CUR_MAXが3だろうがいくつだろーが、強制的に2になっちゃうからね。

という理由で、EUC-JPはサポート出来ないのだと推測しております。

# 以下、詳しくないので出鱈目な事を言ってるかもしれんが、

w系と呼ばてる(?)文字列をUnicodeとして扱うWindows APIのみを使えば
EUC-JPやらISO2022-JPを扱えるようになるのかも。

# wchar_tの内部表現をUnicodeにして、iconv使いまくりなglibcアプローチ。
# ...って、非現実的な修正量の悪寒(w
# それにWin98系はばっさり切捨てなきゃならないのかな?

>>337
別スレで既出だけどリンク。

The Single UNIX(R) Specification, Version 2
http://www.opengroup.org/onlinepubs/7908799/xbd/locale.html
http://www.opengroup.org/onlinepubs/7908799/xcu/iconv.html
http://www.opengroup.org/onlinepubs/7908799/xcu/locale.html
http://www.opengroup.org/onlinepubs/7908799/xcu/localedef.html
http://www.opengroup.org/onlinepubs/7908799/xsh/iconv.h.html
http://www.opengroup.org/onlinepubs/7908799/xsh/langinfo.h.html
http://www.opengroup.org/onlinepubs/7908799/xsh/locale.h.html
http://www.opengroup.org/onlinepubs/7908799/xsh/nl_types.h.html
http://www.opengroup.org/onlinepubs/7908799/xsh/wchar.h.html
http://www.opengroup.org/onlinepubs/7908799/xsh/wctype.h.html

国際化ソフトウェア・プログラミング・ガイド (Compaq Tru64 Unix)
http://digital.compaq.co.jp/unix/docs/V40G/DOCS/HTML/I18NPROG/TITLE.HTM
http://digital.compaq.co.jp/unix/docs/V40G/DOCS/HTML/OS_LIB.HTM


初心者でも誰でも、すぐ実装できそうな部分、誰かやらん?

>>295でもふれたとおり、Citrusのコードが何かライセンス的に
問題があるので無ければ、Wide string handling (Amendment 1)は
あんま悩まずにパチれる。

* LC_{TIME, NUMERIC, MONETARY,MESSAGES}用意して
nl_langinfo(3)を実装ってのも、機械的作業で楽に出来そうだなぁ。
# Windowsの*.nlsってlocale databaseからデータ全部取れるなら、だけど。




次100 最新50

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