(syms_of_w32font): Define them.
(w32font_has_char): Indicate uncertainty.
(w32font_encode_char): Encode as glyph point. Make static.
(recompute_cached_metrics): New function.
(w32font_open_internal): Use it. Set font to use glyph points
initially. Set format based on type of font.
(w32font_text_extents, w32font_draw): Optionally use glyph points.
(w32_enumfont_pattern_entity): Accept backend arg. Set type based
on it. Set format based on information available here.
(add_font_entity_to_list): Identify backend based on opentype_only.
`dos', don't decode '\r' if that is the last in the source.
(decode_coding_utf_16, decode_coding_emacs_mule)
(decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
(decode_coding_raw_text, decode_coding_charset): Likewise.
(produce_chars): Don't decode EOL here. Use EMACS_INT.
set_char_size.
(xg_frame_resized): Renamed from xg_resize_widgets. Remove all
operations on widgets here. Just set frame size if needed.
(flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
(xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
(x_wm_set_size_hint): Set size hints on the edit widget only, not
the whole frame.
(xg_create_tool_bar): Move attachement of the tool bar to
xg_pack_tool_bar. Do not attach the tool bar if there are no items.
(free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
and face_id members.
(GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
(GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
(FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
(GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
(FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
(SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
(GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
(GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
handle new Lisp glyph code encoding, either an integer or a cons.
(build_frame_matrix_from_leaf_window): Adapt to new glyph type and
new glyph code encoding.
(spec_glyph_lookup_face): No return value; update passed glyph instead.
(init_display): Use SET_CHAR_GLYPH to initialize space_glyph.