[Anthy-dev 527] Re: uim: プリエディット属性追加の提案

Back to archive index

YamaKen yamak****@bp*****
2004年 2月 7日 (土) 00:12:14 JST


At Fri, 06 Feb 2004 22:31:47 +0900 (JST),
yusuk****@cheru***** wrote:
> > uimのプリエディット属性に文節セパレータを追加する事を提案します。
> > 反対意見が無いようであれば実装してみます。
> これ自体は賛成です。変更を行う際に思うところを書いておきます。
> 
> *preedit属性の定数のいくつかはor(論理和)しても良いということにする
>  僕がドキュメントに明記するだけで良いと思うのですが、今までuimを使った
> ソフトのほとんどがorしないことを前提としたコードになっているので、
> この機会になんとかしたいです。orが許されれば、後からこっそりマスクを
> 追加することもできますし、意味のビットと見掛けのビットを共存させて
> どちらか好きな方を解釈して表示もできると思います。

それで問題ないと思います。今のところIMKit-uimではbitwise-andを取っ
て検出してるので一応大丈夫です。Qt側の制限で排他的に1つの属性し
か有効にできませんが。

> *UPeAttr*という名前を変更する。
>  なんとなく意味不明なので、他の定数と同時に変えてしまいたいです。

実は私もこの名前にはなかなか馴染めませんでした。これ以上分かりや
すくするには結局フルネームにするのがいいんじゃないでしょうか。そ
んなに頻繁に出てくる名前でもないので。

enum UPreeditAttr {
  UPreeditAttr_None = 0,
  UPreeditAttr_UnderLine = 1,
  UPreeditAttr_Reverse = 2,
  UPreeditAttr_Cursor = 4,
  UPreeditAttr_Separator = 8,
};

その他の定数というと以下のUKeyとUKeyModifierですが、modifierの方
の定数がUKey_Shiftのような名前になっているのはUKeyと区別がつかな
いのでまずいと思います。

enum UKey {
  ...
  UKey_Shift_key,
  UKey_Control_key,
  UKey_Alt_key,
  UKey_Meta_key,
  UKey_Other = 1000
};
  
enum UKeyModifier {
  UKey_Shift = 1,
  UKey_Control = 2,
  UKey_Alt = 4,
  UKey_Meta = 8,
  UKey_Pseudo0 = 16,
  UKey_Pseudo1 = 32,
};

以下のような変更でどうでしょうか。UMod_というプリフィクスは単体
では分かりずらいですが、UMod_Controlのようにキーの名前と合わされ
ばほとんど誤解される事もないと思います。

enum UKeyModifier {
  UMod_Shift = 1,
  UMod_Control = 2,
  UMod_Alt = 4,
  UMod_Meta = 8,
  UMod_Pseudo0 = 16,
  UMod_Pseudo1 = 32,
};

この変更に各ブリッジが追従できたら、enum UKeyの方で定義されてい
るUKey_Shift_key等を本来の自然な名前であるUKey_Shiftに直せばよい
と思います。
  
-------------------------------
ヤマケン yamak****@bp*****



Anthy-dev メーリングリストの案内
Back to archive index