changeset 94945:a2e5869bc360

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Wed, 14 May 2008 01:46:15 +0000
parents c16046e21b90
children 6009a07ef854
files src/ChangeLog
diffstat 1 files changed, 487 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed May 14 01:45:34 2008 +0000
+++ b/src/ChangeLog	Wed May 14 01:46:15 2008 +0000
@@ -1,3 +1,490 @@
+2008-05-14  Kenichi Handa  <handa@m17n.org>
+
+	* coding.c (detect_coding_iso_2022): Ignore a coding category that
+	has no corresponding coding system.
+
+2008-05-14  Jason Rumney  <jasonr@gnu.org>
+
+	* font.h (struct font) [WINDOWSNT]: Remove codepage member.
+
+	* w32font.h (w32font_open_internal): Update declaration.
+
+	* w32font.c (w32font_open_internal): Change last argument from
+	w32font_info struct to font object.  Fill in font object from
+	font_entity.  Get Outline metrics if possible.  Use them to
+	calculate underline position and thickness.  Use xlfd name as name
+	property.  Don't set codepage.
+	(w32font_open): Pass font_object to w32font_open_internal.  Don't
+	update dpyinfo->smallest_font_height and
+	dpyinfo->smallest_char_width.
+	(w32font_draw): Use s->font.
+	(clear_cached_metrics): Don't clear non-existent blocks.
+
+	* w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
+	font was not found.
+	(x_draw_glyph_string): Use underline position and thickness from
+	font.
+
+	* w32uniscribe.c (uniscribe_open): Pass font_object to
+	w32font_open_internal.
+
+2008-05-14  Kenichi Handa  <handa@m17n.org>
+
+	These changes are to delete all legacy font-handling codes, and
+	make Emacs use only font-backends.
+
+	* Makefile.in: Delete USE_FONT_BACKEND conditionals.
+	(frame.o, image.o, print.o): Depend on $(FONTSRC).
+
+	* makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
+
+	* charset.h (Vcharset_non_preferred_head)
+	(Vcurrent_iso639_language): Extern them.
+
+	* charset.c (Vcharset_non_preferred_head): New variable.
+	(Vcurrent_iso639_language): New variable.
+	(syms_of_charset): Declare it as a Lisp variable.
+	(char_charset): Don't check non preferred charsets.  As a last
+	resort, return charset_unicode.
+	(Fset_charset_priority): Update Vcharset_non_preferred_head.
+
+	* composite.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.
+
+	* dispextern.h (struct glyph_string): Change type of `font' to
+	`struct font *'.
+	(struct glyph_string): New member underline_position and
+	underline_thickness.
+	(enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
+	(struct face): Change type of `font' to `struct font *'.  Remove
+	members `font_name', `font_info_id'.
+	(per_char_metric, encode_char): Delete externs.
+	(calc_pixel_width_or_height): Adjust the prototype.
+
+	* emacs.c (enable_font_backend): Delete extern.
+	(main): Don't set enable_font_backend.  Don't check the command
+	line argument "-disable-font-backend".
+
+	* font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
+	(enum font_property_index): New members FONT_DPI_INDEX,
+	FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
+	FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
+	FONT_OBJECT_MAX.  Delete FONT_FRAME_INDEX.
+	(FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
+	(FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
+	(FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
+	(FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
+	(FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
+	(struct font_spec, struct font_entity): New structs.
+	(FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
+	(struct font): Many members from old "struct font_info" moved to
+	here.  Members font and entity deleted.
+	(FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
+	the new font-related objects.
+	(CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
+	(CHECK_FONT_GET_OBJECT): Likewise.
+	(XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
+	(PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
+	(struct font_driver): New members case_sensitive anc check.  Type
+	of the member list and open changed.
+	(enable_font_backend, font_symbolic_weight, font_symbolic_slant)
+	(font_symbolic_width, font_find_object, font_get_spec)
+	(font_set_lface_from_name): Delete extern.
+	(Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New
+	EXFUNs.
+
+	* font.c: Include <strings.h>.
+	(enable_font_backend): Delete it.
+	(Qfont_spec, Qfont_entity, Qfont_object): New variables.
+	(CHECK_VALIDATE_FONT_SPEC): Delete it.
+	(PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
+	(null_string): Delete it.
+	(null_vector): Make it static.
+	(font_family_alist): Delete it.
+	(Qnormal): Extern it.
+	(QCextra, QClanguage): Delete it.
+	(QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New
+	variables.
+	(font_make_spec, font_make_entity, font_make_object)
+	(font_intern_prop): Renamed from intern_downcase.  Don't downcase
+	the string.  Callers changed.
+	(font_pixel_size): Adjusted for the format change of font-related
+	objects.
+	(prop_name_to_numeric, prop_numeric_to_name): Delete them.
+	(font_style_to_value, font_style_symbolic): New function.
+	(build_font_family_alist): Delete it.
+	(font_registry_charsets): Use Fassoc_string instead of
+	assq_no_quit.
+	(font_prop_validate_symbol): Don't return null_string.
+	(font_prop_validate_style): Adjusted for the change of
+	style-related values in a font vector.
+	(font_property_table): Delete entries for QClangauge and
+	QCantialias, add entries for QCavgwidth.
+	(get_font_prop_index): Delete the 2nd argument FROM.
+	(font_prop_validate): Arguments changed.
+	(font_put_extra): Adjusted for the change of font-related objects.
+	(font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
+	(font_parse_fcname, font_unparse_fcname)
+	(font_prepare_composition): Likewise.
+	(font_parse_family_registry): Renamed from font_merge_old_spec.
+	(otf_open): Delete the 1st arg entity.
+	(font_otf_capability): Adjusted for the above change.
+	(font_score): New arg alternate_families.  Adjusted for the change
+	of font-related objects.
+	(font_sort_entites): New arg best_only.
+	(font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
+	Delete them.
+	(font_match_p): Check alternate families.
+	(font_find_object): Delete it.
+	(font_check_object): New function.
+	(font_clear_cache): Adjusted for the change of font-related
+	objects.
+	(font_delete_unmatched): New arg.
+	(font_list_entities): Call font_driver->list with a spec that
+	doesn't specify style-related properties.
+	(font_matching_entity): Arguments changed.  Caller changed.
+	(font_open_entity): Adjusted for the change of font-related
+	objects.
+	(font_close_object, font_has_char, font_encode_char)
+	(font_get_name, font_get_spec): Likewise.
+	(font_spec_from_name, font_clear_prop, font_update_lface): New
+	functions.
+	(font_find_for_lface, font_open_for_lface, font_load_for_lface):
+	(font_prepare_for_face, font_done_for_face, font_open_by_name)
+	(font_at): Adjusted for the change of font-related objects.
+	(font_range): New function.
+	(Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
+	(Ffont_xlfd_name): Adjusted for the change of font-related
+	objects.
+	(Fcopy_font_spec, Fmerge_font_spec): New function.
+	(Ffont_family_list): Renamed from list-families.
+	(Finternal_set_font_style_table): Arguments changed.
+	(Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
+	(Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
+	change of font-related objects.
+	(syms_of_font): Delete "ifdef USE_FONT_BACKEND".  DEFSYM new
+	symboles.
+
+	* fontset.h (struct font_info): Delete it.  Most memnbers go to
+	struct font.
+	(FONT_ENCODING_NOT_DECIDED): Moved to font.h.
+	(enum FONT_SPEC_INDEX): Delete it.
+	(font_info, list_fonts_func, load_font_func, query_font_func)
+	(set_frame_fontset_func, find_ccl_program_func)
+	(get_font_repertory_func, new_fontset_from_font_name): Delete
+	externs.
+	(fontset_from_font_name): Extern it.
+	(FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
+	(FONT_INFO_FROM_FACE): Deleted.
+	(face_for_font): Adjust prototype.
+
+	* fontset.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.
+	(get_font_info_func, list_font_func, load_font_func)
+	(query_font_func, set_frame_fontset_func, find_ccl_program_func)
+	(get_font_repertory_func): Delete them.
+	(FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
+	(FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
+	(RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
+	(RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
+	(RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
+	(fontset_compare_rfontdef): New function.
+	(reorder_font_vector): Remove the argument CHARSET-ID.  Sort
+	ront-defs by qsort.  Adjusted for the change of font-group vector.
+	(load_font_get_repertory): Deleted.
+	(fontset_find_font): Use new macros to ref/set elements of
+	font-def and rfont-def.
+	(fontset_font): Fix the timing of remembering that no font for C.
+	(free_face_fontset): Do nothing if the face has no fontset.
+	(face_suitable_for_char_p): Use new macros to ref/set elements of
+	rfont-def.
+	(face_for_char): Likewise.  Call face_for_char with font_object.
+	(fs_load_font): Delete.  Delete #pragma surrounding it.
+	(fs_query_fontset): Use strcasecmp instead of strcmp.
+	(generate_ascii_font_name): Adjusted for the format change of
+	font-spec.
+	(Fset_fontset_font): Likewise.  Use new macros to set elements of
+	font-def.
+	(Fnew_fontset): Use font_unparse_xlfd to generate
+	FONTSET_ASCII (fontset).
+	(new_fontset_from_font_name): Deleted.
+	(fontset_from_font): Renamed from new_fontset_from_font.  Check if
+	a fontset is already created for the font.  FIx updating of
+	Vfontset_alias_alist.
+	(fontset_ascii_font): Deleted.
+	(Ffont_info): Adjusted for the format change of font-spec.
+	(Finternal_char_font): Likewise.
+	(Ffontset_info): Likewise.
+	(syms_of_fontset): Don't check load_font_func.
+
+	* fns.c (internal_equal): Handle PREV_FONT.
+
+	* frame.h: Delete USE_FONT_BACKEND conditional.
+
+	* frame.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.
+	(x_set_font): Call x_new_font, not x_new_fontset2.
+	(x_set_font_backend): Use FRAME_FONT macro to check if a font is
+	already set for the frame.
+
+	* ftfont.c (ftfont_pattern_entity): Argument FRAME removed.  Make
+	a font-entity by font_make_entity.  Use font_intern_prop instead
+	of intern_downcase.  Use FONT_SET_STYLE to set a style-related
+	font property.  If a font is scalable, set avgwidth property to 0.
+	Set font-entity property by font_put_extra.
+	(ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
+	(ffont_driver): Adjusted for the change of struct font_driver.
+	(ftfont_spec_pattern): New function.
+	(ftfont_list): Return a list, not vector.
+	(ftfont_match): Use ftfont_spec_pattern to get a pattern.
+	(ftfont_list_family): Don't downcase names.
+	(ftfont_free_entity): Deleted.
+	(ftfont_open): Return a font-ojbect.  Adjusted for the change of
+	struct font.  Get underline_thickness and underline_position from
+	font property.  Don't update dpyinfo->smallest_font_height and
+	dpyinfo->smallest_char_width.
+	(ftfont_close): Don't free `struct font'.
+	(ftfont_has_char): Adjusted for the format change of font-entity.
+	(ftfont_encode_char, ftfont_text_extents): Likewise.
+
+	* ftxfont.c (ftxfont_list): Return a list, not vector.
+	(ftxfont_open): Return a font-ojbect.  Adjusted for the change of
+	struct font.  Get underline_thickness and underline_position from
+	font property.  Don't update dpyinfo->smallest_font_height and
+	dpyinfo->smallest_char_width.
+	(ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
+	(ftxfont_draw): Adjusted for the change of struct font.
+
+	* image.c (image_ascent): Don't include "charset.h".  Include
+	"character.h" and "font.h".
+
+	* lisp.h (enum pvec_type): New member PREV_FONT.
+	(Fassoc_string): EXFUN it.
+
+	* print.c: Include font.h.
+	(print_object): Handle font-related objects.
+
+	* xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.
+	(handle_auto_composed_prop): Do nothing if it->f is not on a
+	window system.  Check how many following characters can be
+	displayed by the same font.
+	(calc_pixel_width_or_height): Type of the 4th arg is changed to
+	'struct font *'.
+	(get_char_face_and_encoding): Assign the whole encoding task to
+	the `encode-char' method of a font driver.
+	(fill_composite_glyph_string): Adjusted for the change of `struct
+	face' and `struct glyph_string'.
+	(fill_glyph_string): Likewise.
+	(get_per_char_metric): Arguments changed.
+	(x_get_glyph_overhangs): Adjusted for the change of `struct face'
+	and `struct glyph_string'.
+	(produce_stretch_glyph, calc_line_height_property)
+	(x_produce_glyphs): Likewise.
+
+	* xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.  Use
+	FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
+	(QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
+	(Qp): Extern them.
+	(clear_font_table, load_face_font, xlfd_lookup_field_contents):
+	Deleted.
+	(struct font_name): Deleted.
+	(xlfd_numeric_value, xlfd_symbolic_value): Deleted.
+	(compare_fonts_by_sort_order): New function.
+	(xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
+	(xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
+	Deleted.
+	(Fx_family_fonts): Use font_list_entities, and sort fonts by
+	compare_fonts_by_sort_order.
+	(Fx_font_family_list): Call Ffont_family_list.
+	(face_numeric_value, face_numeric_weight, face_numeric_slant)
+	(face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
+	(face_symbolic_slant, face_symbolic_swidth)
+	(split_font_name_into_vector, build_font_name_from_vector)
+	(xlfd_fixed_p, xlfd_point_size, pixel_point_size)
+	(font_rescale_ratio, split_font_name, build_font_name)
+	(free_font_names, sort_fonts, x_face_list_fonts)
+	(face_font_available_p, sorted_font_list, cmp_font_names)
+	(font_list_1, concat_font_list, font_list, remove_duplicates):
+	Deleted.
+	(Fx_list_fonts): Use Ffont_list.
+	(LFACE_AVGWIDTH): Deleted.
+	(check_lface_attrs): Don't check LFACE_AVGWIDTH.  Check LFACE_FONT
+	by FONTP.
+	(lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
+	(set_lface_from_font_name): Delete it.
+	(set_lface_from_font): Renamed from
+	set_lface_from_font_and_fontset.  Caller changed.  Don't set
+	LFACE_AVGWIDTH.  Use FONT_XXX_FOR_FACE to get a symbol suitable
+	for face.
+	(merge_face_vectors): Copy font-spec if necessary.  Clear
+	properties of the font-spec if necessary.
+	(merge_face_ref): Clear properties of the font-spec if necessary.
+	(Finternal_set_lisp_face_attribute): Likewise.
+	(set_font_frame_param): Use font_load_for_lface to load a
+	font-object, and call Fmodify_frame_parameters with it.
+	(x_update_menu_appearance): Don't check LFACE_AVGWIDTH.  Get XLFD
+	font name by Ffont_xlfd_name.
+	(Finternal_lisp_face_attribute_values): Don't check QCweight,
+	QCslant, and QCwidth.
+	(Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
+	(lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
+	Compare fonts by EQ.
+	(lookup_non_ascii_face): Deleted.
+	(face_for_font): The 2nd argument changed.
+	(x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.  Check
+	atomic font properties by case insensitive.
+	(realize_non_ascii_face): Set face->overstrike correctly.
+	(realize_x_face): Likewise.  Check if LFACE_FONT is a font_object.
+	(dump_realized_face): Get font name from
+	font->props[FONT_NAME_INDEX].  Don't print font_info_id.
+
+	* xfns.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.
+	(xic_create_xfontset): Original code deleted and renamed from
+	xic_create_xfontset2.  Use FRAME_FONT, not FRAME_FONT_OBJECT.
+	(x_make_gc): Don't set GCFont in GCs.
+	(Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
+	opened by "fixed".
+	(syms_of_xfns): Don't set get_font_info_func, load_font_func,
+	find_ccl_program_func, query_font_func, set_frame_fontset_func,
+	get_font_repertory_func.
+
+	* xfont.c: Include <stdlib.h> and "ccl.h".
+	(struct xfont_info): New structure.
+	(xfont_query_font): Deleted.
+	(xfont_find_ccl_program): Renamed from x_find_ccl_program and
+	moved from xterm.c.
+	(xfont_driver): Adjusted for the change of struct font_driver.
+	(compare_font_names): New function.
+	(xfont_list_pattern): Sort font names case insensitively.  Make
+	font_entity by calling font_make_entity.  Avoid auto-scaled fonts.
+	(xfont_list): Return a list, not vector.
+	(xfont_match): If the font doesn't have QCname property, generate
+	a name from the other font properties.
+	(xfont_open): Return a font-ojbect.  Adjusted for the change of
+	struct font.  Get underline_thickness and underline_position from
+	font property.  Don't update dpyinfo->smallest_font_height and
+	dpyinfo->smallest_char_width.
+	(xfont_close): Don't free struct font.
+	(xfont_prepare_face): Adjusted for the change of struct font.
+	(xfont_done_face): Deleted.
+	(xfont_has_char): Adjusted for the change of struct font.
+	(xfont_encode_char, xfont_draw): Likewise.
+	(xfont_check): New function.
+
+	* xftfont.c (xftfont_list): Adjusted for the change of `list'
+	callback function.
+	(xftfont_match): Adjusted for the fontmat change of font-entity.
+	(xftfont_open): Adjusted for the format change of font-entity and
+	font-object.  Adjusted for the change of struct font.  Return a
+	font-object.  Don't update dpyinfo->smallest_font_height and
+	dpyinfo->smallest_char_width.
+	(xftfont_close): Block input while calling XftFontClose.
+	(xftfont_prepare_face): Don't block input while calling
+	xftfont_get_colors.  Adjusted for the change of struct font.
+	(xftfont_shape): Return value of error case fixed.
+
+	* xrdb.c (x_load_resources): Don't setup a fontset resource.
+
+	* xterm.h: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.
+	(FONT_WIDTH): Return (f)->max_width.
+	(struct x_display_info): Delete member `font'.
+	(x_list_fonts, x_get_font_info, x_load_font, x_query_font)
+	(x_find_ccl_program, x_get_font_repertory): Delete externs.
+	(struct x_output): Change type of `font' to `struct font *'.
+
+	* xterm.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.  Don't include
+	ccl.h.
+	(x_per_char_metric, x_encode_char): Deleted.
+	(x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
+	(x_compute_glyph_string_overhangs): Adjusted for the change of
+	`struct face'
+	(x_draw_glyph_string_foreground)
+	(x_draw_composite_glyph_string_foreground): Likewise.
+	(x_draw_glyph_string): Likewise.  Use font->underline_position and
+	font->underline_thickness.
+	(x_new_font): Renamed from x_new_fontset2.
+	(x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
+	(x_check_font): Call `check' method of a font driver.
+	(x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
+	(x_query_font, x_get_font_repertory): Deleted.
+	(x_find_ccl_program): Renamed and moved to xfont.c.
+	(x_redisplay_interface): Adjusted for the change of `struct
+	redisplay_interface'.
+
+	* w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.  Surround non-used
+	code by "#ifdef OLD_FONT" and "endif".
+	(Fw32_select_font): Use FONT_COMPAT to get old font structure.
+
+	* w32font.h (struct w32font_info): New member.
+	(FONT_COMPAT): New macro.
+	(w32font_open_internal): Prototype adjusted.
+
+	* w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
+	OLD_FONT" and "endif".
+
+	* w32font.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.
+	(w32font_open): Return a font-object.  Make a font-object by
+	font_make_object.  Adjusted for the change of struct w32font_info.
+	(w32font_close): Don't free struct font.  Adjusted for the change
+	of struct w32font_info.
+	(w32font_encode_char, w32font_text_extents, w32font_draw):
+	Adjusted for the change of struct w32font_info.
+	(w32font_draw): Likewise.
+	(w32font_list_internal): Return a list, not vector.
+	(w32font_open_internal): Change the 4th arg to font-object.
+	Adjusted for the change of struct w32font_info and font-object
+	format.
+	(add_font_name_to_list): Don't downcase names.
+	(w32_enumfont_pattern_entity): Make a font-entity by
+	font_make_entity.  Adjusted for the format change of font-entity.
+	Use FONT_SET_STYLE to set a style-related font property.  If a
+	font is scalable, set avgwidth property to 0.  Set font-entity
+	property by font_put_extra.
+	(font_matches_spec): Adjusted for the format change of
+	font-entity.
+	(w32_weight_table, w32_decode_weight): New variables.
+	(w32_encode_weight): New function.
+	(fill_in_logfont): Adjusted for the format change of font-spec.
+	(w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
+	weight value.
+	(w32font_driver): Adjusted for the change of struct font_driver.
+
+	* w32term.h: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend. Surround non-used
+	code by "#ifdef OLD_FONT" and "endif".
+	(FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
+	(FONT_AVG_WIDTH): Adjusted for the change of struct font.
+
+	* w32term.c: Throughout the file, delete all USE_FONT_BACKEND
+	conditionals.  Don't check enable_font_backend.  Delete all codes
+	used only when USE_FONT_BACKEND is not defined.  Surround non-used
+	code by "#ifdef OLD_FONT" and "endif".
+
+	* w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
+	(uniscribe_open): Return value changed to font-object.  Adjusted
+	for the format change of font-object.
+	(uniscribe_otf_capability): Adjusted for the change of struct
+	font.
+	(add_opentype_font_name_to_list): Don't downcase names.
+	(uniscribe_font_driver): Adjusted for the change of struct
+	font_driver.
+
 2008-05-13  Chong Yidong  <cyd@stupidchicken.com>
 
 	* dispnew.c (update_frame_1): Check if tty output is still valid