[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