蝉は、やがて死ぬる午後に気づいた。ああ、私たち、もっと仕合せになってよかったのだ。:2007年02月23日分

2007/02/23(Fri)

localedef(1)

TR14652読んでて気付いた点

他にも色々あるんだけど、読めば読むほどmklocale(1)でいいじゃんって気になってきた。

あとSS2/SS3ってどうやって表現するの?も追加。

LS0(SO)		<include> "g0";"g0";
LS1(SI)		<include> "g1";"g0";
LS2		<include> "g2";"g0";
LS3		<include> "g3";"g0";
LS1R		<include> "g1";"g1";
LS2R		<include> "g2";"g1";
LS3R		<include> "g3";"g1";

SS2		<include> "g2";"g0";
SS3		<include> "g3";"g0";
SS2R		<include> "g2";"g1";
SS3R		<include> "g3";"g1";

つまりG[2-3]の場合、Locking-ShiftなのかSingle-Shiftなのか区別がつかないんだよね。
includeされる側の<escseq2022>で指定することもできるっちゃできるけど

LS2		<escseq2022> "g2";"g0";"\x1B\x6E"
SS2		<escseq2022> "g2";"g0";"\x8E"
あるいは
SS2		<escseq2022> "g2";"g0";"\x1B\x4E"

この場合includeされる側のCHARMAPにLS2とSS2の<escseq2022>を同時に定義できないことになってしまうがな。
ここで指定するバイト列は中間バッファへの指示用のエスケープだから駄目だわ、こりゃ。