[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: シグマリオン



 > 	全然hpcmipsじゃないけど、

でも i386 のことを考えると話がややこしくなるんですね。

 > 	「vt220 emulationをより完全に」という立場で進めれば、iso-2022-jp対応
 > 	(= puts("\033$Bnantara\033(B"))はなんとか許されるのではないかと
 > 	予想します。
 > 	- euc-jp/mskanji使えるようにしろと言っても通らないと思うけど、
 > 		8bitめが立ってる文字の処理が変わってしまう
 > 		(この点では、unicode対応もvt220 emulationを壊す)
 > 	- iso-2022-jpだったら少なくとも現状を壊さず対処できる
 > 	- 日本語以外への対処もできる

↓こんなカンジなのでしょうか。
JIS じゃなくて ISO なんだから誰も文句いわない?

  struct wsdisplay_emulops {
     :
+         int     (*switch_encoding) __P((void *, int encoding));
  };

  struct wsdisplay_font {
          char *name;
          int firstchar, numchars;
          int encoding;
  #define WSDISPLAY_FONTENC_ISO 0
  #define WSDISPLAY_FONTENC_IBM 1
  #define WSDISPLAY_FONTENC_PCVT 2
  #define WSDISPLAY_FONTENC_ISO7 3 /* greek */
+ #define WSDISPLAY_FONTENC_JISX0208_1983 /* Japanese */
     :
  };

+ static u_int
+ wsemul_vt100_output_esc_dollar(edp, c)
+         struct wsemul_vt100_emuldata *edp;
+         u_char c;
+ {
+         u_int newstate = VT100_EMUL_STATE_NORMAL;
+ 
+         switch (c) {
+             case 'B': /* Japanese KANJI */
+                 if (edp->emulops->putchar != NULL)
+                     (*edp->emulops->switch_encoding)(edp->emulcookie,
+                                         WSDISPLAY_FONTENC_JISX0208_1983);
+                 break;
<以下略>

Takemura