+2006-06-19 Kenichi Handa <handa@m17n.org>
+
+ * font.c (font_parse_fcname): Fix parsing of point-size.
+ (font_unparse_fcname): Produce symbolic names for style
+ properties.
+ (font_list_entities): Handle float size correctly.
+ (font_open_by_name): Prefer `normal' property values if the name
+ doesn't specify them.
+
+ * fontset.c (Finternal_char_font): Use font_get_name, not
+ Ffont_xlfd_name.
+
+ * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
+ FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
+ pattern. Don't force scalable.
+
+ * xftfont.c (xftfont_open): For generating a name, start from
+ 96-byte buffer.
+
+2006-06-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * frame.h (x_new_fontset2): Fix prototype.
+
+2006-06-16 Kenichi Handa <handa@m17n.org>
+
+ * font.h (struct font_driver): Member parse_name deleted.
+ (font_match_p, font_get_spec, font_parse_fcname)
+ (font_unparse_fcname): Extern them.
+ (font_get_name): Prototype adjusted.
+
+ * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
+ (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
+ (font_expand_wildcards): Fix handling ENCODING field. Avoid
+ unnecessary checks for weight, slant, and swidth.
+ (font_parse_fcname): New function.
+ (font_unparse_fcname): New function.
+ (font_parse_name): New function.
+ (font_match_p): New function.
+ (font_get_name): Return value changed to Lisp string.
+ (font_get_spec): New function.
+ (Qunspecified, Qignore_defface): Don't extern them.
+ (font_find_for_lface): Assume that LFACE is fully specified.
+ (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
+ object, use it for FACE.
+ (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
+ driver->parse_name.
+ (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
+
+ * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Prototype
+ adjusted.
+
+ * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Argument F
+ deleted. Don't call Fnew_fontset. Instead, directly call
+ make_fontset.
+
+ * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Prototype adjusted.
+
+ * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjusted for the change
+ of x_new_fontset2.
+
+ * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
+ (Qsans__serif): New variables.
+ (ftfont_generic_family_list): New variable.
+ (syms_of_ftfont): Initialize the above variables.
+ (ftfont_pattern_entity): Argument NAME deleted.
+ (ftfont_list_generic_family): New function.
+ (ftfont_parse_name): Delete this function.
+ (ftfont_list): Try generic family only when FcFontList found no
+ font.
+ (ftfont_list_family): Fix args to FcObjectSetBuild.
+
+ * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
+ object in attrs[LFACE_FONT_INDEX].
+ (set_lface_from_font_name): Cancel all changes for font-backend.
+ (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
+ function.
+ (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
+ font object in QCfont attribute.
+ (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
+ (realize_default_face) [USE_FONT_BACKEND]: Call
+ set_lface_from_font_and_fontset.
+
+ * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
+ "fixed", and signal error here if no suitable font was found.
+
+ * xfont.c (xfont_parse_name): Delete this function.
+
+ * xftfont.c (xftfont_open): Change coding style of error
+ handling. Generate fontconfig's fontname pattern.
+
+ * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
+ (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
+
+ * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
+ Both args FONTSET and FONT_OBJECT must be existing ones.
+
+2006-06-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
+
+2006-06-14 Kenichi Handa <handa@m17n.org>
+
+ * xfont.c (xfont_open, xfont_encode_char): Fix typo.
+
+ * font.h (struct font): Fix typo.
+
+ * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
+ XLFD_XXX_INDEX.
+ (enum xlfd_field_mask): New enum.
+ (intern_font_field): Argument changed. Caller changed. If digits
+ are followed by non-digits, return a symbol.
+ (font_expand_wildcards): New function.
+ (font_parse_xlfd): Fix wildcard handling.
+ (Ffont_spec): If :name is specified, reflect the info in the other
+ properties.
+
+ * ftfont.c (ftfont_pattern_entity): Fix typo.
+ (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
+ locale.
+
+2006-06-09 Kenichi Handa <handa@m17n.org>
+
+ * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
+
+ * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Moved from
+ ftfont.c.
+ (font_unparse_xlfd): Fix argument type declaration. Append "*" if
+ registry doesn't specify encoding part.
+ (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
+ (font_open_by_name): At first try parsing the name.
+ (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
+ as Lisp symbols.
+
+ * fontset.c (reorder_font_vector): Pay attention to the case that
+ the 3rd element of font_def is nil.
+ (fontset_font): For the default fontset, append one more fontset
+ elements for a script-based font specification. Don't add script
+ attribute on finding a font.
+ (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
+ font name.
+ (fontset_ascii_font): If a font can't be opened, return nil.
+
+ * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Moved to
+ font.c.
+ (ftfont_pattern_entity): New function.
+ (ftfont_get_cache): Assume that freetype_font_cache is already
+ initialized.
+ (ftfont_list): Handle the case that a file is specified in font
+ name. Use ftfont_pattern_entity to generate entities.
+ (ftfont_has_char): Check if the pattern contains FC_CHARSET.
+ (syms_of_ftfont): Initialize freetype_font_cache.
+
+ * xftfont.c (xftfont_open): Make the font name fontconfig's
+ style. Add BLOCK_INPUT and UNBLOCK_INPUT.
+ (xftfont_close): Free font->font.name if not NULL.
+
+ * xfont.c (xfont_list): If script is specified for a font, return
+ null_vector.
+ (xfont_list_family): Declare argument type.
+
+ * xfaces.c (set_lface_from_font_name): If a font doesn't have a
+ name, set LFACE_FONT (lface) to nil.
+
+ * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
+ return Qnil.
+
+2006-06-08 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (w32_initialize): Manually sync 2006-06-05 change from
+ HEAD.
+
+2006-06-08 Kenichi Handa <handa@m17n.org>
+
+ * emacs.c (main): Check -enable-font-backend arg after the check
+ of -nl.
+ (standard_args): Add "-enable-font-backend".
+
+ * coding.c (Ffind_operation_coding_system): Sync with HEAD.
+
+ * callproc.c (Fcall_process): Sync with HEAD.
+
+ * coding.h (CODING_REQUIRE_ENCODING): Comment sync with HEAD.
+
+2006-06-07 Kenichi Handa <handa@m17n.org>
+
+ * xftfont.c (xftfont_default_fid): Set fid_known to 1.
+ (struct xftdraw_list, xftdraw_list): Delete them.
+ (register_xftdraw, check_xftdraw): Delete them.
+ (xftfont_prepare_face): Don't call register_xftdraw.
+ (xftfont_done_face): Don't call check_xftdraw.
+ (xftfont_draw): Get backroudn color only when with_background is
+ nonzero.
+
+ * xfont.c (xfont_encode_char): Fix calculation of char2b.
+
+2006-06-06 Kenichi Handa <handa@m17n.org>
+
+ These changes are for the new font handling codes.
+
+ * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
+ @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
+ (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
+ (FONTSRC, FONTOBJ): New variables.
+ (obj): Add $(FONTOBJ).
+ (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
+ (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
+ @LIBOTF_LIBS@.
+ (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
+ (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depends on
+ $(FONTSRC).
+
+ * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New
+ files.
+
+ * character.h (Vscript_representative_chars): Extern it.
+
+ * character.c (Vscript_representative_chars): New variable.
+ (syms_of_character): Declare it as a Lisp variable.
+
+ * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
+ enable_font_backend is nonzero, accept the composition method
+ COMPOSITION_WITH_GLYPH_STRING.
+
+ * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
+ enumeration COMPOSITION_WITH_GLYPH_STRING.
+
+ * config.in: Re-generated.
+
+ * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
+ members clip_x, clip_y, clip_width, and clip_height.
+ (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
+
+ * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
+ --enable-font-backend. Call syms_of_font.
+
+ * fns.c (assoc_no_quit): New function.
+
+ * fontset.h (FONT_INFO_FROM_FACE): New macro.
+ (face_for_font, new_fontset_from_font)
+ (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
+
+ * fontset.c [USE_FONT_BACKEND]: Include "font.h".
+ (fontset_font, fontset_ascii, face_for_char)
+ (make_fontset_for_ascii_face, Ffont_info)
+ (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
+ is nonzero, use font-backend mechanism.
+ (find_font_encoding): Make it non-static.
+ (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
+ New functions.
+
+ * frame.h (struct frame): New members resx and resy.
+ (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
+ (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
+
+ * frame.c [USE_FONT_BACKEND]: Include "font.h".
+ (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend
+ mechanism.
+
+ * lisp.h (assoc_no_quit): Extern it.
+
+ * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
+ Through out the file, use FONT_INFO_FROM_FACE instead of
+ FONT_INFO_FROM_ID, use get_per_char_metric instead of
+ rif->per_char_metric.
+ (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
+ method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
+ (get_glyph_face_and_encoding, fill_composite_glyph_string)
+ (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
+ (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
+ nonzero, use font-backend mechanism.
+ (get_per_char_metric): New function.
+
+ * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
+ (set_lface_from_font_name)
+ (set_font_frame_param, free_realized_face)
+ (prepare_face_for_display, clear_face_gcs)
+ (Finternal_set_font_selection_order, realize_x_face)
+ [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
+ font-backend mechanism.
+ (clear_face_cache) [USE_FONT_BACKEND]: Don't call
+ clear_font_table.
+ (load_face_font) [USE_FONT_BACKEND]: Abort.
+ (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
+ (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New
+ functions.
+
+ * xfns.c [USE_FONT_BACKEND]: Include "font.h".
+ (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
+ (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
+ nonzero, register all available font drivers. Call
+ x_default_font_parameter for deciding a font.
+ (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
+
+ * xterm.c [USE_FONT_BACKEND]: Include "font.h".
+ (x_set_mouse_face_gc, x_set_glyph_string_clipping)
+ (x_set_glyph_string_clipping_exactly)
+ (x_compute_glyph_string_overhangs)
+ (x_draw_glyph_string_foreground)
+ (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
+ (x_free_frame_resources) [USE_FONT_BACKEND]: If
+ enable_font_backend is nonzero, use font-backend mechanism.
+ (x_new_fontset2) [USE_FONT_BACKEND]: New function.
+
+2006-05-15 Kenichi Handa <handa@m17n.org>
+
+ * coding.h (system_eol_type): Fix synching with HEAD.
+
+ * coding.c (system_eol_type): Sync with HEAD.
+ (coding_inherit_eol_type): If PARENT is nil, inherit from
+ system_eol_type.
+ (syms_of_coding): Initialize system_eol_type.
+
+ * callproc.c (Fcall_process): Sync with HEAD.
+
+ * process.c (setup_process_coding_systems): Fix synching with
+ HEAD.
+ (read_process_output): Likewise.
+ (Fset_process_coding_system): Inherit system's eol format if
+ necessary.
+
+ * fileio.c (choose_write_coding_system): Fix synching with HEAD.
+
+ * keymap.c (push_key_description): Fix synching with HEAD.
+
+2006-05-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
+
+2006-04-07 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (decode_eol): Pay attention to buffer relocation in
+ del_range_2.
+ (decode_coding): Call decode_eol before restoring undo_list.
+
+2006-03-20 Kenichi Handa <handa@m17n.org>
+
+ * charset.c (Fdefine_charset_internal): Fix setting of
+ emacs_mule_bytes.
+
+2006-03-14 Kenichi Handa <handa@m17n.org>
+
+ * keyboard.c (read_char): Check if C is a character or not before
+ looking up Vkeyboard_translate_table.
+
+2006-03-10 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
+ condition to terminate the loop.
+
+2006-03-09 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (produce_composition): Compare charbuf[i] instead of
+ args[i] against 0.
+ (Fterminal_coding_system): Use EQ to compare Lisp objects.
+
+2006-03-07 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (DECODE_COMPOSITION_START): If the source is short, set
+ coding->result to CODING_RESULT_INSUFFICIENT_SRC.
+ (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
+ detect_coding.
+ (emacs_mule_char): Handle old style (Emacs 20) component character
+ of a composition.
+ (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Fix parsing a composition
+ rule.
+ (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
+ (decode_coding_emacs_mule): Handle invalid bytes correctly.
+
+2006-03-04 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (encode_coding_ccl): Allocate destination dynamically
+ when necessary.
+
+2006-03-03 Kenichi Handa <handa@m17n.org>
+
+ * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
+ the loop. When quitted, show a proper error message.
+
+2006-03-02 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (decode_coding): Fix previous change.
+
+ * xterm.c (x_set_glyph_string_clipping_exactly): Set
+ src->clip_head and src->clip_tail temporarily instead of src->hl.
+
+ * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
+ character sequence.
+ (Fccl_execute_on_string): Use ASET, not XSET.
+
+2006-03-01 Kenichi Handa <handa@m17n.org>
+
+ * search.c (search_buffer): Fix handling of "\\" in a trivial
+ regexp.
+
+2006-02-28 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (decode_coding): Fix the condition of terminating the
+ decoding loop.
+
+2006-02-27 Kenichi Handa <handa@m17n.org>
+
+ * data.c (Faset): On setting a character bigger than 255 in a
+ unibyte string, signal an error instead of make the string
+ multibyte.
+
+2006-02-22 Kenichi Handa <handa@m17n.org>
+
+ * charset.c (map_charset_chars): Fix for ascii-compatible charset
+ made by a mapping table.
+
+2006-02-21 Kenichi Handa <handa@m17n.org>
+
+ * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
+ not.
+ (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
+ (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
+
+ * xterm.c (x_draw_composite_glyph_string_foreground): Check
+ s->face is NULL or not.
+
+2006-02-20 Kenichi Handa <handa@m17n.org>
+
+ * xterm.c (x_set_glyph_string_clipping_exactly): New function.
+ (x_draw_glyph_string): Fix drawing of right_overhang and
+ left_overhang around/on cursor.
+
+ * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting
+ glyphs.
+
+ * term.c (produce_glyphs): Sync to HEAD.
+
+2006-02-15 Kenichi Handa <handa@m17n.org>
+
+ * xdisp.c (x_produce_glyphs): Handle composition with TAB.
+
+2006-02-05 Kenichi Handa <handa@m17n.org>
+
+ * coding.c: Cancel incorrect synching with HEAD.
+
+2006-02-03 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (Fdefine_coding_system_internal): Avoid a duplicated
+ element in Vcoding_system_alist.
+ (Fdefine_coding_system_alias): Likewise.
+
+2006-01-19 Kenichi Handa <handa@m17n.org>
+
+ * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
+
+ * coding.c: Sync to HEAD for handling autoload-coding-system.
+ (Qcoding_system_define_form): New variable.
+ (syms_of_coding): Intern and staticpro it.
+ (Fcoding_system_p): Check Qcoding_system_define_form.
+ (Fcheck_coding_system): Try to autoload the definition of
+ CODING-SYSTEM.
+
+ * coding.h (CODING_SYSTEM_P): If ID is not available, call
+ Fcoding_system_p.
+ (CHECK_CODING_SYSTEM): If ID is not available, call
+ Fcheck_coding_system.
+ (CHECK_CODING_SYSTEM_GET_SPEC): Try also Fcheck_coding_system.
+ (CHECK_CODING_SYSTEM_GET_ID): Likewise.
+
+2006-01-17 Kenichi Handa <handa@m17n.org>
+
+ * xterm.c (handle_one_xevent): Delete unnecessary code inserted by
+ sync with HEAD.
+
+ * coding.c (code_conversion_restore): GCPRO arg.
+
+2005-12-28 Kenichi Handa <handa@m17n.org>
+
+ * character.c (lisp_string_width): Check multibyteness of STRING.
+
+2005-10-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * macterm.c (mac_encode_char): Call ccl_driver with the last arg
+ Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
+ (decode_mac_font_name): Use decode_coding_c_string instead of
+ decode_coding.
+ (x_load_font): Initialize fontp->fontset to -1. Set
+ fontp->encoding_type.
+
+2005-10-17 Kenichi Handa <handa@m17n.org>
+
+ * search.c (search_buffer): Give up BM search on case-fold-search
+ if one of a target character has a case-equivalence of different
+ byte length even if that target charcter is an ASCII.
+ (simple_search): Fix culculation of byte length of matched text.
+ (boyer_moore): Fix handling of case-equivalent multibyte
+ characters.
+
+2005-10-15 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (decode_coding): Fix handling of invalid bytes.
+
+2005-10-06 Kenichi Handa <handa@m17n.org>
+
+ * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
+ Unicode characters.
+
+2005-09-23 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (encode_coding_object): If a pre-write-conversion
+ function makes a new buffer, kill it.
+
+2005-07-29 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (QCascii_compatible_p): New variable.
+ (syms_of_coding): Initialize it.
+ (ONE_MORE_BYTE): Decrement `src' before calling string_char.
+ (ONE_MORE_BYTE_NO_CHECK): Likewise.
+ (record_conversion_result): Add `default:' case.
+ (coding_charset_list): Delete unused variable `coding_type'.
+ (Fdefine_coding_system_internal): Add `ascii-compatible-p'
+ property in the plist of the coding system.
+ (Fcoding_system_put): Check QCascii_compatible_p.
+
+2005-06-09 Kenichi Handa <handa@m17n.org>
+
+ * xdisp.c (get_next_display_element): Sync with the change in
+ HEAD (2005-06-08).
+
2005-06-06 Kenichi Handa <handa@m17n.org>
* callproc.c (Fcall_process): Sync with the change in
* window.c (Fdisplay_buffer, Fframe_selected_window): Remove
unsued vars.
->>>>>>> 1.1.2.8
2003-09-26 Dave Love <fx@gnu.org>
* xterm.c (x_bitmap_mask): Declare.