int hyper_mask;
Atom MULE_BASELINE_OFFSET;
+ Atom AVERAGE_WIDTH;
} MDisplayInfo;
/* Anchor of the chain of MDisplayInfo objects. */
rfont->baseline_offset
= (XGetFontProperty (xfont, disp_info->MULE_BASELINE_OFFSET, &value)
? (int) value : 0);
+ rfont->average_width
+ = (XGetFontProperty (xfont, disp_info->AVERAGE_WIDTH, &value)
+ ? (int) value / 10 : 0);
}
rfont->ascent = xfont->ascent + rfont->baseline_offset;
rfont->descent = xfont->descent - rfont->baseline_offset;
FcBool anti_alias = FRAME_DEVICE (frame)->depth > 1 ? FcTrue : FcFalse;
double size = font->size ? font->size : spec->size;
XftFont *xft_font;
- int ascent, descent, max_advance, baseline_offset;
+ int ascent, descent, max_advance, average_width, baseline_offset;
if (rfont)
{
ascent = rfont->ascent;
descent = rfont->descent;
max_advance = rfont->max_advance;
+ average_width = rfont->average_width;
baseline_offset = rfont->baseline_offset;
spec = &rfont->spec;
ft_face = rfont->fontp;
rfont->ascent = ascent;
rfont->descent = descent;
rfont->max_advance = max_advance;
+ rfont->average_width = average_width;
rfont->baseline_offset = baseline_offset;
rfont->fontp = xft_font;
rfont->next = MPLIST_VAL (frame->realized_font_list);
find_modifier_bits (disp_info);
disp_info->MULE_BASELINE_OFFSET
= XInternAtom (display, "_MULE_BASELINE_OFFSET", False);
+ disp_info->AVERAGE_WIDTH
+ = XInternAtom (display, "AVERAGE_WIDTH", False);
mplist_add (display_info_list, Mt, disp_info);
}