BTRON仕様OSとUNICODEの多言語を語るスレ
>>99 中国語だ?簡体字(GB18030)ってのがあるだろ。 >>102 XPの話をしてるんだと思うが、 地域と言語のオプションのどこにでてくる? 詳細設定タブのコードページ変換テーブルのことを言ってる? それは、Unicodeとそのコードページのキャラクタセットの変換テーブルを インストールするかっていう設定だぞ。 >>95 つーか、このプログラムを走らせれば、 GBKがネイティブか、GB18030がネイティブかわかるぞ。 ---test.c--- #include<windows.h> void main() {printf("%i\n", GetACP());} ------ で、Cでコンパイルして、コマンドプロンプトでこのプログラムを走らせて味噌。 936ってでたら、GBK。54936ってでたらGB18030がネイティブってこと。 Unicode対応でないアプリケーションはこのキャラクタセットで動く。 ちゃんと「地域と言語のオプション」の「詳細」のところを、 Simplefied Chinese(簡体字中国語だっけ?)に言語を変えておくことね。 >>103 バカだ(藁 変換テーブルがあるってことは、使えるってことだろ? 小学生でもそのくらいわかるぞ。 >>105 バカだ(藁 GB18030 - Unicodeの変換テーブルがあるってことと、 GB18030ネイティブキャラクタセットサポートとの違いがわからんらしい。 変換テーブルがあるってのは、そのキャラクタセットとUnicodeの文字変換が可能ってだけ。 GB18030ネイティブキャラクタセットをサポートってのは、 通常のNative Win32 APIにGB18030の4バイト文字とか入れても動くかってこと。 で、これはWinの場合動かないんだよね。あくまでも、GBKしか対応してない。 >>100 が言っているように、"82 35 98 33"をテキストファイルに入れても、 メモ帳はそれを表示できないんだよ。 変換テーブルがあっても使えないんだよ、アプリがUnicode API使ってなくちゃね。 だから、Winでは 「OSのネイティブキャラクタセットとしてのGB18030はサポートしてない。 Unicode(UTF-16)の中には、GB18030の文字が含まれてるから、 Unicodeを使ってね。」 ってこと。 >>105 ネイティブがわかってないんでねーの? メモ帳だとShift JISはセーブできるけど、 GB18030のキャラクタセットではセーブできん。 セーブしたければ、Unicodeでセーブするしかない。 つまり、Winの拡大解釈で行くと、 Unicodeで、UTF-16 Surrogateまでサポートすれば、 自動的にGB18030サポートってことになる。なんだかなあー。 WindowsがGB18030をサポートしているかという 話題を「ネイティブ」サポートしてるかという話に 勝手に摩り替えているバカはここにいるのですか? ああ、メモ帳は確かにサポートしてないかもね(藁 メモ帳がWindowsだと思ってんの? UTF16とGB18030の変換テーブルが搭載されれば、 アプリケーションがGB18030で保存する機能を搭載 するだけで対応完了。 話題になるのはUnicodeやGBばかり TRONコードはいずこへ >>108 >>83 >>87 >>89 と話がきてるから、Winは、ネイティブサポートしてないってのは 話しの流れからしてあってると思うぞ。 >>108-110 それじゃあ、GB18030のキャラクタを含んでる、 WinのUTF-16サポートは、すばらしいねって言うべきだろ? > アプリケーションがGB18030で保存する機能を搭載 > するだけで対応完了。 それだけじゃだめ。 Win32のUnicode APIに全部置き換えなくちゃ。 メッセージもすべてUnicodeで書き換えなくちゃだめなんす。 つーか、Win32で、Native API、Unicode APIがあるってこと わかってないだろ、きみ。 まさーに、>>110 がMSの言ってることなのは確か。(Appleもね) でもこれが困惑させるもとなんだと思う。 メモ帳の問題の話がでてたけど、それだけじゃない。 コマンドプロンプトもGB18030は入力、表示できない。 そもそも、printf()で、GB18030のコードを入れても表示できない。 Win9xで動くようにネイティブAPIのみ使ったアプリは、GB18030データ もちろん壊れる。 それは、中国版WinXPのOSのデフォルトのキャラクタセットは相変わらずGBKだから。 Winが、GB18030ネイティブサポートしてたらこれらは動いたはずなのだが。 >>110 それじゃあ、ICU使ったほうが良いということで。 oss.software.ibm.com/developerworks/opensource/icu/project/ >>114 病気ですか? 自分以外はUnicodeAPIを知らないと何を根拠に騒いでいるの? >>117 おいおい、病気はあんただ。 >>114 読んで、「自分以外はUnicodeAPIを知らないと何を根拠に騒いでいるの?」 とは思えないんだが。。。 つーか、Win2000/XPがGB18030をネイティブキャラクタセットとして サポートしてないのは正しいと思うぞ。 >>117 つーか、病気は、うぃんちゅうじゃねーか? >>92 に反応しただけで、スレちゃんと読んでねえし、 特に>>95 あたり適当なこと言って、反論されて、 虫のいどころがつかねえから、最後まで怒ってる。 話を戻そうぜ。>>87 に戻るけどさGB18030はTRONコードの代理にならんよ。 GB18030はUnicodeの定義されてる文字を参考にして作ったという感じがする。 WinはGB18030に対応してないと言い張る病気の人はまだいるの?(藁 >>115 printfってWinのAPIには無いぞ(藁 対応してないのは君の使ってるライブラリだよ(藁 >>120-121 しつこいうぃなはされ。 >>121 WinのAPIにはCRTというかたちで実装されてるぞ。 Win32 APIのなかにはないが。 >>122 TextOut使えばちゃんとGB18030で表示できるぞ。 対応してないのはお前だよ(藁 printfで表示できないのはね、printf("...")ってやるからだよ。 printf("%s", "...")ってやらなくちゃね。 めっちゃ基本。 それと、勘違いがあるようなので言っておくが、printfを実装しているのは、 Winではなく、コンパイラのライブラリ。 それはライブラリの仕様であって、Winの仕様ではない。 >>123 TextOutはマクロ。 実際は、TextOutWとTextOutAしかない。 TextOutWで表示できて、TextOutAじゃ表示できない。 TextOutWってのは、Unicode(UTF-16)なわけです。 Unicodeは、GB18030を含んでるから、 GB18030とUnicodeに含まれる文字は、当然TextOutWでは表示できる。 でもそれはGB18030のEncodingを使って表示はできない。 で、TextOutAは、GetACP()に基づくキャラクタセットで表示される。 例えば、GetACP()が932だったら、Shift JISの文字列をTextOutAに渡すことができる。 で、GetACP()が、54936を返せば、GB18030の文字列をTextOutAに渡すことができるんだが、 これは不可能。なぜかっていうと中国語版ではGetACP()は54936を返さないから。 936つまりGBKを返す。GB18030の4バイト文字をTextOutAに渡すことはできない。 >>125 はあ??できないっつーの。 ネイティブキャラクタセットがGBKなんだから。 >>126 > それと、勘違いがあるようなので言っておくが、printfを実装しているのは、 > Winではなく、コンパイラのライブラリ。 なんだよそれ。 printfは、Winのmsvcrt.dllに含まれてるよ。 もちろんprintfはstaticリンクもできるけどね。 それとほとんどのWin32 APIはdllへのコールだ。何が違うんだ? で、 Winのネイティブキャラクタセットは、 Windows2000以降はオプションでGB18030対応しますよ と言い張る病気の人はまだいるの?(藁 つーか、Win2000以降で、GB18030みたいに、 Shift JISのネイティブサポートなかったら、激怒だよ。 よく中国は納得したと思う。 いやいや、まったく、誰でも知ってることと、大きな間違いを得意げに 並べてとんだ恥さらしですな(藁 WinでGB18030はサポートされてます。 >>132 >>127 ですが、どこがまちがってるなら、指摘してくれ。 >>132 まあせいぜい、一生かけて、Win2000かXP上で、 printfでGB18030の4バイト文字表示するサンプルコードでもぜひ作ってくれ。 できたらここにソースをのっけてくれ。それまでもどってくんな (w WinのシステムキャラクタセットはGB18030をサポートしません。 >>132 の彼は、どこが大きな間違いだと思って思ってたんだ? 具体的に1つ1つ説明してもらいたい。 でも、やつのprintfとかの話は、ぽかーん。 やつはたぶん>>95 だろうと思うんだが、 それならなんで>>89 に対してからんでくるんだ? まあ、>>132 程度のあたりさわりないことなら、 BTRONでもGB18030はサポートしてますってことになる。 Winでも、euc jpとかiso-2022-jpとかもサポートしてると言える。 だが、それは、スレ違いだよな。 OSのネイティブキャラクタセットの話じゃないからね。 まだ言ってるのか(藁 メモ帳とWindowsの違いはわかったのか? TextOutがマクロだってことなどが誰でも知ってることで、 メモ帳とprintfでサポートされることがネイティブサポートだという主張が大きな間違い。 その他、突っ込みどころは満載だが、基本的なところからいちいち小学生に説明するのは 時間がかかるので、適当な入門書でも読んでくれ。 WindowsがGB18030対応しているのは、明らかな事実。 それを対応してないと苦しい言い訳をしてるところが恥ずかしい。 >>139 じゃあ、TextOutにGB18030のEncodingの4バイト文字を 直接わたせるってのか? そんなのはMSDNにも書いてないよ。(w >>137 なんかややこしいことになってるが、 ・システムレベルで変換ルーチンを持っている ・すべての文字を表示できる(こっちはオプション) を満たせばGB 18030をサポートしていると言っていいんじゃねーの。 内部コードとして何を使おうが勝手だろ。 Windows XP/2000、Mac OS 10.2はこの条件を満たしているが、 超漢字4はどちらの条件も満たしていない。 >>139 > それを対応してないと苦しい言い訳をしてるところが恥ずかしい。 だいたい、その拡大解釈じゃあ、 TRONコードだってUnicodeや、GB18030対応してるよ。 ネイティブキャラクタセット(システムロケール)としては GB18030は対応してないと言ってるだけだ。 コマンドプロンプトも対応してない。 MultiByteToWideCharと、WideCharToMultiByteはGB18030の 文字コードは入れられるが、(そりゃね。変換するからね) それ以外のNative APIは,GB180304バイトコードはだめ。 WM_GETTEXTは、GB180304バイトコード入れられんし、 TextOut、SetWindowText、もろもろのWin32 APIに対しても、 GB18030の4バイトコードは直接入れられない。 Shift JISは直接入れられるけどね。 > だいたい、その拡大解釈じゃあ、 > TRONコードだってUnicodeや、GB18030対応してるよ。 してない。 >>141 > 超漢字4はどちらの条件も満たしていない。 そうなのか? 超漢字4はGB18030の文字が TRONコードを使っても表示できないのか? WinはUTF-16を使えばできるが。 >>144 おれもそれを聞きたい。 BBBがSurrogateをサポートしていないと言う話はでたが、 TRONコードを使ってもGB18030の文字を表示できないとは。。。 だめじゃん。超漢字。 144-145 表示できないはず。だが、「できない」ことを立証するのは難しいので とりあえずTRON者の反論待ち。 >>141 > 内部コードとして何を使おうが勝手だろ。 だいたいもとの話はプラットフォームがサポートしてるって 話じゃなかったんだよ。 TRONコードと比べてるあたり、OSの内部コードの話じゃなかったのか? Win2000はサポートしてるかどうかなんて出すから話がわけわかんなくなる。 そんなのWin2000/XP、OSX, AIX, Solaris, HP, Linux 最近のUnicode対応のOSならあたりまえ。 で、変換の話なら、ICUで一発だよ。 ところで>>139 は>>125 なのか? >>125 にはわらた。 GB18030がprintfで表示できないのは、 > printfで表示できないのはね、printf("...")ってやるからだよ。 > printf("%s", "...")ってやらなくちゃね。 > めっちゃ基本。 だって。ウケタ。。。 え?マジで知らないの? printfを使う時は基本だよ! msvcrt.dllって、VCのランタイムじゃん。 こういうのは、ライブラリの仕様って言うんじゃねーの? つーか、Unicodeの統合漢字の2.0から入ってるやつさえ 表示できなかったりするし。>超漢字4 >>150 いや、printfだけじゃなく、すべてのWin32 API GB18030でエンコードされた文字データを扱うことはできんのよ。 (ただしMultiByteToWideChar(),WideCharToMultiByte()のUnicode変換を除いて) だからWin APIのライブラリの仕様と言って良いと思うぞ。 MSが言っているWinのGB18030対応は、 実質、MultiByteToWideChar(),WideCharToMultiByte()しかやってない。 Shift JISサポートとは大違い。ShiftJISはWin32 APIで直接扱える。 それに比べて、GB18030をサポートしたUnixなんかは、 localeにzh_CN.GB18030ってセットすれば、APIにGB18030で Encodeされた文字データを直接渡すことができる。 >>150 > msvcrt.dllって、VCのランタイムじゃん。 ワラタ。 printfは、msvcrt.dllにあるAPIで、 TextOutA/Wは、gdi32.dllにあるAPIだが、なにか? >>141 つーか、スレ見た限り、 だれもWinはGB18030サポートしてないって、誰が言ってる?何番のやつが言ったんだ? 話してるのは、WinのGB18030サポートは、Shift JISサポートに比べると ださださ、おそまつだねーってことだと思うんだが。 GB18030のネイティブキャラクタセットのサポートはされてないし、 (つまりGB18030を直接Win32 APIにわたせない) GB18030のコマンドプロンプトのサポートなし、 GB18030、Unicode間の変換のサポートのみという おそまつになってしまったのは事実。 (これらは、GBK,ShiftJIS,Big5,Latin1なんかはあたりまえなのに) そのために、今までに作られたネイティブアプリは GB18030のためにみんなUnicodeアプリに変更しなくちゃって、 苦労してるアプリベンダって結構多いと思うぞ。 Winが、GB18030ネイティブキャラクタセット対応していれば、 GBKのアプリはそのまま、GB18030で動いたはずだからね。 で、コードの変更なしにWin9xもサポート可能だったのに。 >>141 > ・システムレベルで変換ルーチンを持っている > ・すべての文字を表示できる(こっちはオプション) > > を満たせばGB 18030をサポートしていると言っていいんじゃねーの。 > 内部コードとして何を使おうが勝手だろ。 その通り。それを満たせばサポートしていると言える。 >>155 > 話してるのは、WinのGB18030サポートは、Shift JISサポートに比べると > ださださ、おそまつだねーってことだと思うんだが。 ちがいますね。「サポートしている」という意見に 対して執拗に否定してかかる奴がいますからね。 > GB18030のネイティブキャラクタセットのサポートはされてないし、 「ネイティブキャラクタセットとしての」サポート云々は 話のスリカエですよね。 或いはネイティブキャラクタセットとしてのサポートに 拘るのも面白いかも。 例えば… 『BTRONはShift_JISもUnicodeもサポートしていません。 いずれも、その文字セットど同内容をTRONコードの 各面内に含んでいるだけに過ぎず、ネイティブサポートは あくまでTRONコードだけだから』 とか。 >>153 だから、ちゃんと変換APIが用意されてるところが、OSとしてのサポートなのよ。 エンコーディングなんか星の数ほどあるんだから、その数だけTextOutを用意するのは たわけてる。 サポートの方法としては、 1. TextOutにエンコーディングを指示するオプションを付ける 2. TextOut呼び出しの前にUNICODEに変換できるようAPIを用意する があるわけだが、Windowsはその2番目の方法を取った。 それのどこがサポートでないって言い張れるんだ? バカなの? 勘違いがあるようなので言っておくが、printfを実装しているのは、 Winではなく、コンパイラのライブラリ。 それはライブラリの仕様であって、Winの仕様ではない。 msvcrt.dllは、その名の通り、MicroSoft Visual C Run Time.dllなわけ。 つまり、動的リンクできるVCのライブラリ。 それと、ネイティブって言葉を何か勘違いしているようだが、 君の言ってる「ネイティブ」は、一般に「デフォルト」って言葉で表されてる 概念だと思うぞ。 Winは、GB18030をちゃんとサポートしている。 つまり、OSレベルでのサポートであるから、これを一般にネイティブサポートと言う。 そのうち、UIなどでデフォルトとして扱われるエンコーディングがもちろんあるわけだ。 これのことをネイティブって言ってるんじゃねーの? これはあくまでデフォルトなわけだから、ちゃんとまじめに作られたアプリなら デフォルトじゃない設定も使えるわけ。 なぜ君の作ったアプリで使えないのかというと、それは「君のアプリが」GB18030に対応してないってだけだよ。 Winじゃなくてね。 「ロケール」とか「国際化対応」って章をもっと良く読んでみることだね。 それから、printfにリテラル文字列を渡す場合、%sを使うのは常識。 でないと、日本語でも、2バイト目に\や%が使われてる文字が不具合を起こす。 これは、printfの仕様、そしてライブラリの仕様であって、それによる 不具合はプログラマの責任。決してOSの責任じゃない。 >>157 > ちがいますね。「サポートしている」という意見に > 対して執拗に否定してかかる奴がいますからね。 > > GB18030のネイティブキャラクタセットのサポートはされてないし、 > 「ネイティブキャラクタセットとしての」サポート云々は > 話のスリカエですよね。 つーか逆のような気がするが。 >>89 の返答として、>>95 になったのが変、 ネイティブキャラクタセット -> Win2000はサポートしてる。 にすりかえられたのが最初。ちゃんとスレを読むように。 >>161 用は、 msvcrt.dllはWindowsの一部ではなく、 gdi32.dllはWindowsの一部だと言ってるのか?(わら >>160 あんたもばかだ。 > 1. TextOutにエンコーディングを指示するオプションを付ける > 2. TextOut呼び出しの前にUNICODEに変換できるようAPIを用意する > があるわけだが、Windowsはその2番目の方法を取った。 ShiftJISはどちらにもあてはまらんぞ。(w >>158 >『BTRONはShift_JISもUnicodeもサポートしていません。 >いずれも、その文字セットど同内容をTRONコードの >各面内に含んでいるだけに過ぎず、ネイティブサポートは >あくまでTRONコードだけだから』 それを言うならSJISじゃなくてJIS X 0208だろ。 それから超漢字4は、 Unicodeについては「文字セット」としてもサポートしてないぞ。 超漢字2なら(文字鏡が入っていれば) Unicode 2.0まではカバーしてたんだけどね。 >>158 > 或いはネイティブキャラクタセットとしてのサポートに > 拘るのも面白いかも。 あのー、その話をしてたら、 Win2000は、GB18030サポートしてるぞって、わけわからん話が とんできたんですが。。。 あんたの意味での、 BTRONはGB18030サポートすればって話してたら、 ISCIIサポートすれば、ISO-2022-JPサポートすれば、 でCharset一通り言って、このスレおしまいになっちゃうよ。(W >>164 なぜ君は>>89 が発端だと言い張るのだ? 最初の>>87 に対する君の>>89 がズレてるのだと思うが。 >>162 つーか、Unicodeアプリで作ればって話は既出。ちゃんとスレよめ。 Nativeってのは、A Functionで実装したら GB18030は対応できないと言ってるんだよ。 (ShiftJISやBig5やGBKは、A Functionで実装できるが) ようは、GB18030他のに比べておそまつだって話。 それをWinはGB18030サポートしてるだとさ。 はいはい。それは既知。 >>169 いいんじゃないの?それはそれで間違ってないんだから。 むしろ、そのあとで、それを勘違いして、 WinはGB18030をサポートしているとの主張がいたいと思うんだが。 おっと、 >>171 はWinはGB18030のサポートをしていないと 言ってるんではないからね。 >>166 一つのデフォルト言語に対して特別な処置をとれば処理が単純になるという、それだけの話。 ショートカットのような物。 まだネイティブでサポートしてないと騒いでる奴がいるのか(藁 恥の上塗り(藁 >>170 あのさ、ShiftJISとかBig5とかGBKとかってのはさ、 地域化の時代のベタなサポートなわけよ。 それを国際化時代のサポートと比べて、 しかも地域化の観点から優劣を問うのもどうかと思うが。 >>167 まじでさ、超漢字にICUをポーティングするってのはどう? そうすりゃあっというまに、 超漢字もXXXサポートしてますって言えると思うんだが。 >>175 べたなサポート大事だと思うぞ。 Win,Mac以外はそれに対応してるんだからね。 今までGBKで動いてたアプリを書き換えなくちゃならなくなるとすれば、 そりゃベンダにとっては大変でしょう。 MSは4バイト文字がもう機構上実現できなくなったってのが本音かも。 >>174 > まだネイティブでサポートしてないと騒いでる奴がいるのか(藁 話ぼかすのうまいね。 ネイティブで何をサポートしてないと騒いでるというのだ? >>174 の(藁は、やつか? WinがGB18030サポートしてるってずっと スレ違いなこと言ってるのは。 >>181 最新版は0.19かな。 あれはなんつーか、別世界の話だわな。 UTF2000か、TRONコードと比べてどうよ? emacsの実装してるとか聞いたが。 >>178 話ぼかすの下手だね。 Winとメモ帳の区別はつくようになったか? 開発言語のライブラリのAPIとWinAPIの区別はどうだ? WindowsはGB18030に対応してないと言い張る ↓ ボロボロに論破される ↓ そんなこと言ってないと言い張る ↓ ぷぷぷ >>164 > つーか逆のような気がするが。 > >>89 の返答として、>>95 になったのが変、 なんで話の途中を起点であるかの様に摩り替えるの? 89は87に対する返答でしょ。 >>87 >主だったOSが既に対応可能になっているから。 > しかも、フォント依存ではなく。 どこにネイティブサポートだって書いてあるのさ? >>186 >>89 がWinはGB18030をサポートしていないとは書いてないんじゃないの? そのサポートはださいっていう話なんだよ。 だから、>>95 はUnicode変換テーブルをインストールするかのオプションだろ? つーか、そのあとの話で、WinはGB18030サポートは実質変換だけって 話が出てると思うんだが。 >>186 つーか、孟宗君は、TextOutのAバージョンででGB18030の 4バイト文字表示するソースコードと実行の仕方見せてみ? そうしたらあんたの言ってること信じてやるよ。 まあ、できない孟宗君は、さっさと帰ってね。 なんというか、超漢字は、ふざけてるよなあ。 トンパ文字パックが3万近くしているのは、驚いた。 WindowsはGB18030ネイティブでWin32 APIを呼べると言い張る ↓ 自分の意見がぽろぽろ変わっていく。 ↓ 最後の牙城は、WinはGB18030サポートしてないと言ったろと主張するだけ ↓ ボロボロに論破される。 ↓ Win32 APIでもできるよというが、ソースコードも提示できない。 ↓ ぷぷぷ >>185-186 まだ、WinはGB18030サポートしたのしないの話したいのか?おめーは? つーか、なにをそんなにWinをかばってんだ?うぃん厨君。 WinのGB18030サポートのダサさに話題を移しまいと必死ですな。 なんでこの程度で論破とか平気で書けちゃうんだろ。 これのほうがぷぷぷだと思うなあ。 まあ俺は野次馬なわけだが。 >>191 まあ、うぃんちゅーはそんなもんだろ。藁 >>192 まあさ、今のところは、 ソースが出たら話が面白くなるんでねーの。 TextOutAではどうやってもGB18030の4バイトコードは出せないと思うんだが。 >>186 =>>187 は、 >>100 ,>>106 あたりを読んだのだろうか? WinはGB18030サポートしてないと読み違えてるあたりがイタイ。 さらに、それを>>200 近くまで、ひっぱってくるあたりがイタイ。 >>192 > まあ俺は野次馬なわけだが。 あんた張本人のうぃなちゅうだろ。 >>195 バカですか? 誰一人として、『Windowsの内部コードはGB18030だ』 なんて書いていないのですが。 争点は、内部コードであるUnicodeとの変換テーブル内蔵 するのが『サポートといえるか』でしょう。 『内部コードとして採用していないからサポートと言えない』 という論点でカキコしている奴がバカなんですよ。 え、そんなこといっていない。ダサいかどうかを論じている ですって? それじゃ、そもそもなんで>>87 にくってかかってきた んですか? >>197 Win2000/XPはGB18030をサポートしていると言える。 なぜかっていうと、MicrosoftがMicrosoft.comで サポートしてるって言ってるから。 はい。おしまい。さ、もーそー君は帰っていいよ。 あ、そのまえにprintfとTextOutAでGB18030の文字表示する ソース出してってね。ちゃんと動作方法も書いといてね。 だれも>>87 にくってかかってないから、 心配だったら、今日は帰って薬飲んで早めに寝た方ががいいよ。 WinのGB18030サポートはださいのはしょうがない。事実は事実なんだから。 >>197 そうそう、Windowsの内部コードの話なんてだれもしてないから。 WinのAPIが受け付けるコードの話をしてるだけ。まあ、帰れって。 read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる