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

Re: とりあえず決めておきたいこと



文脈が良く分かってないですが。

> netbsd re.soumやfjで宣伝しないと人増えないか...

です。announce-ja も、そっちで宣伝しないと、ほとんど無意味ですね。

> wsemul layerは、vt100をベースにISO-2022をまじめに扱えるように
> したものを作れば良さそうですね。必要に応じて他のencodingも使えるようにする。

できれば、ここは ISO-2022 だけじゃなく、codeset independent にしておき
たいです。で、ISO-2022 も OK だし、Unicode も、モジュール書けば OK だ
よって言っておく。そうであれば、はねられる要因は減るでしょう。

> wsemulからハードウェアドライバのputcharを呼ぶときは、
> 
> wsdisplayvar.h:
>         void    (*putchar) __P((void *c, int row, int col,
>                                 u_int uc, long attr));
> 
> (u_int ucが文字)だから、一文字あたり32bitも :-) 使用できます。

ここのインターフェースは変えざるを得ないかもしれません。下記参照。

> マルチバイト文字を表示できるハードウェアは、
> フレームバッファなものと、JISコード書くと文字がでるようなもの、でしょうか。
> VGA使ってる(i386,alpha,armなど)のは前者。x68kも前者ですよね? PC-98x1って後者?

PC-98 は後者です。

> 固定幅フォントじゃないとつらそう。

これは、当然仮定して良いでしょう。

> で、wsdisplay_emulopsにマルチバイト文字用putcharを用意、
> ISO-2022emulは、それを呼ぶときにフォントを指定して、文字コードを渡す。
> もしくはputcharで渡すu_intを上位16bitをフォント、下位16bitを文字ってするとか。

ISO-2022emul が、フォントを渡すことはできません。
(PC98 のような場合にフォントを渡されても困るので)

指定された
	(encoding, その encoding での code point) 
から、表示に使う
	(図形文字集合, その図形文字集合での code point)
を求める必要があるわけですが、ここで選択肢は、二つあって、

・求める作業を driver でやる場合
	wscons layer と driver layer は、利用している encoding につい
	て合意しているものとする。
	putchar のインターフェースは変更不要。
	この場合、kernel 内での ISO-2022 の wchar

・求める作業を wscons layer でやる場合
	wscons layer と driver layer は、利用している encoding に関す
	る合意はない。
	wscons layer と driver layer は、利用可能な図形文字集合につい
	て合意を交わす必要がある。
	putchar のインターフェースに、図形文字集合を示すパラメータを
	追加することが必要。

要は、putchar を XwcDrawString() レベルの関数とみなす (前者の場合) か、
XDrawString16() レベルの関数と見なすか (後者の場合) ということですが…

出力側だけじゃなくて、入力側についても、同じ問題があります。

個人的には、後者かなあと思っています。

> # packageの話じゃないなぁ...

確かに。
--
soda