皆さん、こんにちは。 (可笑しい日本語のこと、大変失礼します。) 私は今、Wnn の romkan というファンクションを使ってみます。だいたいローマ字からひらがなに変換できます。しかし、他の入力モード(全角、半角のカタカナなど)を使うことがわかりません。 f-_-; 下記のコードで変換のことをしています。 (フル・ソース:http://altsan.org/programming/test_romkan.tar.gz) ======================================================================== rc = romkan_init( rk_file, 0x08, 0, *next_char, *byte_count ); // ... i = 0; do { ltr = romkan_getc(); if ( ltr && is_HON( ltr )) { if ( i > (len - 1)) { len += 16; output_str = (char *) realloc( output_str, len ); } output_str[i++] = (char)(ltr & 0xFF); if ( verbose ) printf("value: %X\n", ltr ); } } while (( verbose || ltr ) && ( ltr != LTREOF )); printf("Converted %d bytes: %s\n", i, output_str ); ======================================================================== 例えば input_str というのは "Watashinonamaehanakanodesu." の場合、 結果は Converted 28 bytes: わたしのなまえはなかのです。 ということですが、何方様がどうやってカタカナに変換できるのをわかりますか。 romkan の設定ファイル (rk/mode など)にインクルードされた 2A_CTRL というファイルには (unless esc)'\x81' (switch katakana) (unless esc)'\x82' (switch zenkaku) (unless esc)'\x83' (switch romkan) が入っています。そのように '\x81' (またはオクタルで '\201')を input_str に入れるとカタカナモードに変わると思いましたが、そのことではなさそうです。 ;_; 例えば上記の string に名を「テーラ」にしたいから、 "Watashinonamaeha\201te-ra-\201desu." を使ってみましたが、まだ全て平仮名になりました。 Converted 28 bytes: わたしのなまえはてーらーです。 しかし、 '\x83' (オクタル '\203')を入れると、ローマ字仮名変換が 2A_CTRL に書いてあること通りオフになります。 "Watashinonamaeha\203te-ra-\203desu." --> Converted 28 bytes: わたしのなまえはte-ra-です。 慌てています。(-_-) 何方が、カタカナに入力できることをしっていますか? どうもありがとうございます。 -- Alex Taylor <alex****@altsa*****> http://www.altsan.org