• Kenichi Handa's avatar
    (x_append_glyph): Setup members of struct glyph properly · b4192550
    Kenichi Handa authored
    for composition.
    (x_append_composite_glyph): New function.
    (VCENTER_BASELINE_OFFSET): New macro.
    (x_produce_glyphs): If it->what == IT_COMPOSITION, setup members
    of struct it for the composition.  Cache pixel offsets in the
    struct composition.  Delete codes for a composite character.
    Handle Vignore_relative_composition in composition code.
    (struct glyph_string): Delete member cmpcharp, add new member cmp.
    (x_set_cursor_gc): Check s->cmp, not s->cmpcharp.
    (x_compute_glyph_string_overhangs): Likewise.
    (x_get_glyph_overhangs): Delete codes for a composite character.
    (x_right_overwritten): Check s->cmp, not s->cmpcharp.
    (x_draw_glyph_string_background): Likewise.  Delete codes for
    checking s->gidx for a composition.
    (x_draw_glyph_string_foreground): Delete code for a composite
    character.
    (x_draw_composite_glyph_string_foreground): New function.
    (x_draw_glyph_string_box): Check s->cmp, not s->cmpcharp.
    (x_draw_glyph_string): Handle the case of COMPOSITE_GLYPH.
    (struct work): Deleted.
    (x_fill_composite_glyph_string): Argument changed.  Mostly
    rewritten for that.
    (x_fill_glyph_string): Don't check CHARSET_COMPOSITION.
    (BUILD_CHAR_GLYPH_STRINGS): Don't handle composition here.
    (BUILD_COMPOSITE_GLYPH_STRING): New macro.
    (BUILD_GLYPH_STRINGS): For composition, call
    BUILD_COMPOSITE_GLYPH_STRING.
    (x_new_font): Initialize f->output_data.x->baseline_offset, not
    f->output_data.x->font_baseline.
    b4192550
xterm.c 374 KB