win_ic_info->preedit.control.as_image = 1;
win_ic_info->preedit.control.with_cursor = 1;
win_ic_info->preedit.control.cursor_width = 1;
- win_ic_info->preedit.control.disable_caching = 1;
+ win_ic_info->preedit.control.enable_bidi = 1;
win_ic_info->preedit.geometry.x = -1;
win_ic_info->preedit.geometry.y = -1;
win_ic_info->status.win = mwin__create_window (frame, win_info->client);
win_ic_info->status.control.as_image = 1;
+ win_ic_info->status.control.enable_bidi = 1;
win_ic_info->candidates.win = mwin__create_window (frame, win_info->client);
win_ic_info->candidates.control.as_image = 1;
physical.x = win_ic_info->client.geometry.width - physical.width;
if (type == 0)
{
- if (y0 > - ic->spot.ascent)
+ if (len <= 1)
{
- physical.height += y0 + ic->spot.ascent;
- y0 = - ic->spot.ascent;
+ physical.height = physical.width = 1;
+ physical.x = physical.y = -1;
}
- if (y1 < ic->spot.descent)
+ else
{
- physical.height += ic->spot.descent - y1;
+ if (y0 > - ic->spot.ascent)
+ {
+ physical.height += y0 + ic->spot.ascent;
+ y0 = - ic->spot.ascent;
+ }
+ if (y1 < ic->spot.descent)
+ {
+ physical.height += ic->spot.descent - y1;
+ }
+ physical.y = yoff + ic->spot.y + y0;
}
- physical.y = yoff + ic->spot.y + y0;
}
else if (type == 1)
{