+2007-10-12 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
+
+2007-10-11 Miles Bader <miles@gnu.org>
+
+ * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
+ Add extra args to FACE_FOR_CHAR.
+
+2007-09-20 Kenichi Handa <handa@m17n.org>
+
+ * keymap.c (where_is_internal_1): If key is a cons, store the copy
+ in sequence.
+
+ * chartab.c (map_sub_char_table): If the range contains just one
+ character, call the function with that character even if the depth
+ is not 3.
+ (map_char_table): Likewise.
+
+2007-09-19 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (w32font_text_extents): Calculate metrics for the
+ whole string.
+
+2007-09-15 Jason Rumney <jasonr@gnu.org>
+
+ * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
+
+2007-09-13 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (x_set_glyph_string_clipping): Use
+ get_glyph_string_clip_rects.
+ (x_set_glyph_string_clipping_exactly): Adjusted for the change of
+ struct glyph_string.
+ (x_draw_glyph_string): Likewise.
+
+ * w32font.c (w32font_draw): Do clipping here.
+
+2007-09-13 Kenichi Handa <handa@m17n.org>
+
+ * xftfont.c (xftfont_draw): Adjusted for the change of struct
+ glyph_string.
+
+ * xterm.c (x_set_glyph_string_clipping): Use
+ get_glyph_string_clip_rects.
+ (x_set_glyph_string_clipping_exactly): Adjusted for the change of
+ struct glyph_string.
+ (x_draw_glyph_string): Likewise.
+
+ * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
+ the resulting clip(s}.
+ (expose_overlaps): Add arg r. Callers changed. Set it ot
+ row->clip temporarily.
+ (expose_window): Redraw rows overlapping the exposed area.
+
+ * dispextern.h (struct glyph_row): New member clip.
+ (struct glyph_string): Delete members clip_x, clip_y, clip_width,
+ clip_height, new member clip, and num_clips.
+
+2007-09-07 Kenichi Handa <handa@m17n.org>
+
+ * data.c (Fchar_or_string_p): Fix docstring.
+
+2007-08-22 Kenichi Handa <handa@m17n.org>
+
+ * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
+ create a temporal XftDraw object.
+
+2007-07-26 Kenichi Handa <handa@m17n.org>
+
+ * font.c (Ffontp): Fix docstring.
+
+ * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
+ strong evidence of ISO-2022.
+
+2007-07-23 Kenichi Handa <handa@m17n.org>
+
+ * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
+ SYNTAX_ENTRY_FOLLOW_PARENT.
+
+2007-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
+ its type.
+ (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
+ Update to the new type of weak_hash_tables and next_weak.
+
+ * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
+ a plain C pointer to Lisp_Hash_Table.
+
+ * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
+ (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
+ (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
+ (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
+ (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
+ (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
+ (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
+ (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
+ (GC_EQ): Remove since they've been identical to their non-GC_
+ alter-egos ever since the markbit was eradicated.
+
+ * src/alloc.c:
+ * src/buffer.c:
+ * src/buffer.h:
+ * src/data.c:
+ * src/fileio.c:
+ * src/filelock.c:
+ * src/fns.c:
+ * src/frame.h:
+ * src/lisp.h:
+ * src/macterm.c:
+ * src/print.c:
+ * src/process.c:
+ * src/w32fns.c:
+ * src/w32menu.c:
+ * src/w32term.c:
+ * src/xfns.c:
+ * src/xmenu.c:
+ * src/xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
+
+2007-06-25 Kenichi Handa <handa@m17n.org>
+
+ * chartab.c (map_sub_char_table): Make it work for the top-level
+ char-table. Fix handling of parent char-table.
+ (map_char_table): Adjust for the above change.
+
+2007-06-24 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (Qgdi): Rename from Qw32.
+
+2007-06-22 Jason Rumney <jasonr@gnu.org>
+
+ * w32bdf.c (get_quoted_string): Make function static.
+
+2007-06-20 Kenichi Handa <handa@m17n.org>
+
+ * xftfont.c (xftfont_open): If one of font's ASCII glyph has
+ bigger ascent and descent than those of the font, use them as
+ font's ascent and descent.
+
+2007-06-18 Kenichi Handa <handa@m17n.org>
+
+ * Makefile.in (${lispsource}international/charprop.el): Move this
+ target within "#ifdef HAVE_UNIDATA" and "#endif".
+
+2007-06-16 Kenichi Handa <handa@m17n.org>
+
+ * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
+ (shortlisp): Add ../lisp/language/tai-viet.el.
+
+2007-06-15 Ulrich Mueller <ulm@gentoo.org> (tiny change)
+
+ * Makefile.in (${lispsource}international/charprop.el): Depend on
+ temacs${EXEEXT}.
+
+2007-06-13 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (w32font_close): Delete the GDI font object.
+
+ * w32menu.c: Include character.h
+
+ * w32proc.c: Likewise.
+
+ * w32select.c: Likewise.
+
+ * makefile.w32-in (w32proc.o): Depend on character.h
+
+2007-06-11 Jason Rumney <jasonr@gnu.org>
+
+ * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
+
+ * w32menu.c (syms_of_w32menu): Likewise.
+
+ * w32proc.c (syms_of_ntproc): Likewise.
+
+ * w32select.c (syms_of_w32select): Likewise.
+
+ * w32term.c (syms_of_w32term): Likewise.
+
+2007-06-06 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (w32font_draw): Delete brush after using it.
+
+2007-06-04 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (w32font_open): Don't set font_idx.
+ (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
+ to font settings.
+ (w32font_draw): Fill background explicitly.
+
+2007-06-03 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (w32_initialize): Don't call w32font_initialize.
+
+ * w32font.c (w32font_info): Remove subranges.
+ (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
+ (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
+ (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
+ (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
+ (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
+ (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
+ (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
+ (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
+ (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
+ (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
+ New symbols.
+ (font_callback_data): New struct.
+ (w32font_list, w32font_match): Use it.
+ (w32font_open): Don't populate subranges.
+ (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
+ (w32font_encode_char): Always return unicode code-point as-is.
+ (w32font_text_extents): Supply a tranformation matrix to
+ GetGlyphOutline. Never look up by glyph index. Avoid looping
+ twice. Use unicode version of GetTexExtentPoint32 instead of
+ glyph index version.
+ (set_fonts_frame): Remove
+ (w32_enumfont_pattern_entity): Add frame parameter, use it to
+ set frame parameter. Use backward compatible fake foundries.
+ Save generic family in extra slot under QCfamily. Make width slot
+ constant. Save QCspacing value. Save list of scripts instead of
+ binary subranges.
+ (w32_generic_family, logfonts_match, font_matches_spec): New functions.
+ (add_font_entity_to_list): Use font_callback_data struct. Filter
+ unwanted fonts.
+ (add_one_font_entity_to_list): Use font_callback_data struct.
+ (w32_registry): Default to iso10646_1;
+ (fill_in_logfont): Use dpi from extra slot. Don't bother with
+ string font registries. Don't fill in font name if it is a generic
+ family name, fill family instead. Use spacing, family and script
+ extra info to fill pitch, family and charset fields.
+ (list_all_matching_fonts): Use font_callback_data struct.
+ (unicode_range_for_char): Remove.
+ (font_supported_scripts): New function.
+ (w32font_initialize): Remove.
+ (syms_of_w32font): Update which symbols are defined.
+
+2007-06-02 Jason Rumney <jasonr@gnu.org>
+
+ * font.c (font_pixel_size): Reverse assq_no_quit args.
+
+ * w32term.h (FONT_WIDTH): Report max width, not average.
+ (FONT_MAX_WIDTH): Remove.
+ (FONT_AVG_WIDTH): New macro.
+
+ * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
+ redefinition of FONT_WIDTH.
+
+ * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
+ (w32_cache_char_metrics): Use FONT_WIDTH.
+
+ * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
+
+2007-06-01 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (w32font_open): Make lfHeight negative.
+
+ * w32fns.c (x_default_font_parameter): Use new style font name.
+ (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
+
+2007-05-31 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (QCsubranges): New symbol.
+ (w32font_open, w32font_has_char): Get subranges from subproperty
+ of extra.
+ (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
+ (syms_of_w32font): Define :subranges symbol.
+
+ * font.c (font_put_extra): Expose externally.
+
+ * font.h (font_put_extra): Moved declaration from font.c.
+
+ * font.c (Ffont_get): Use font driver to determine otf capability.
+ (adjust_anchor): Check if driver defines anchor_point before using.
+
+ * w32font.c (w32font_open): Handle size, height and pixel_size better.
+ (w32font_draw): Use options.
+ (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
+ Fix detection of truetype fonts.
+ (registry_to_w32_charset): Handle charsets other than iso8859-1
+ expressed as lisp symbols.
+ (w32_registry): Express charset as lisp symbol.
+ (fill_in_logfont): Reverse pixel and point height logic.
+ Don't set width here. Set quality to default.
+
+ * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
+ (x_to_w32_font): Fill in lfPitchAndFamily correctly.
+
+ * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
+ Remove redundant loop and allocation.
+
+ * makefile.w32-in (font.o, w32font.o): New objects.
+ (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h
+ (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
+
+ * xdisp.c (fill_composite_glyph_string): Make the first arg to
+ STORE_XCHARB a valid l-value.
+
+ * w32term.c (w32_native_per_char_metric): Swap width and rbearing
+ calculations for non-Truetype fonts.
+ (x_draw_glyph_string): Sync with xterm.c.
+ (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: Remove
+ redundant code.
+ (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
+
+ * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
+ (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
+
+ * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
+ (x_to_w32_charset, w32_to_x_charset): Expose externally.
+
+ * w32font.c: New file for w32 font backend.
+
+2007-05-28 Kenichi Handa <handa@m17n.org>
+
+ * term.c: Don't include "buffer.h" twice.
+
+2007-05-21 Kenichi Handa <handa@m17n.org>
+
+ * syntax.c (skip_syntaxes): Synch with the trunk.
+
+2007-05-14 Kenichi Handa <handa@m17n.org>
+
+ * character.c (Funibyte_string): New function.
+ (syms_of_character): Defsubr it.
+
+2007-05-01 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c [USE_FONT_BACKEND]:
+ (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc):
+ (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly):
+ (x_draw_glyph_string, x_draw_glyph_string_foreground):
+ (x_draw_composite_glyph_string_foreground, x_new_fontset2):
+ (x_free_frame_resources): Sync with xterm.c.
+
+2007-04-29 Andreas Schwab <schwab@suse.de>
+
+ * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
+ char-table size.
+
+2007-04-26 Kenichi Handa <handa@m17n.org>
+
+ * font.c (check_otf_features): Define it regardless of
+ HAVE_LIBOTF.
+
+2007-04-25 Kenichi Handa <handa@m17n.org>
+
+ * ftfont.c (ftfont_driver): Delete font_otf_gsub and
+ font_otf_gpos, add font_drive_otf.
+
+ * fontset.c (fontset_find_font): Pay attention to font size
+ specified for a font.
+ (reorder_font_vector): Check contents of font_def.
+
+ * font.c (struct otf_list): Delete it.
+ (otf_list): Make it a lisp variable..
+ (otf_open): Use lispy otf_list.
+ (generate_otf_features): Renamed from parse_gsub_gpos_spec.
+ (check_otf_features): New function.
+ (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): New
+ functinos.
+ (font_drive_otf): New function merging font_otf_gsub and
+ font_otf_gpos.
+ (font_open_for_lface): New arg spec. Change argument order.
+ (font_load_for_face): Adjusted for the change of
+ font_open_for_lface.
+ (Ffont_drive_otf): New function merging Ffont_otf_gsub and
+ Ffont_otf_gpos.
+ (syms_of_font): Staticpro otf_list. Delete defsubr of
+ Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
+
+ * xfaces.c (set_font_frame_param): Adjusted for the change of
+ font_open_for_lface.
+
+ * font.h (font_open_for_lface): Adjust prototype.
+ (struct font_driver): Delete members otf_gsub and otf_gpos, add
+ member otf_drive.
+ (font_otf_gsub, font_otf_gpos): Delete externs.
+ (font_drive_otf): Extern it.
+
+2007-04-24 Kenichi Handa <handa@m17n.org>
+
+ * font.c (font_at): If the window W is not on a window system,
+ return Qnil.
+
+ * coding.c (produce_chars): Don't call insert_from_gap if no
+ characters to produce.
+ (encode_coding): Likewise.
+
+2007-04-17 Kenichi Handa <handa@m17n.org>
+
+ * fontset.c (free_realized_fontsets): Avoid unnecessary call of
+ Fclear_face_cache.
+
+ * xfaces.c (face_for_font): Check also face->font==font->font.font.
+
+2007-04-16 Miles Bader <miles@gnu.org>
+
+ * emacs.c (main): Change default value of `enable_font_backend' to 1.
+ Parse "--disable-font-backend" option.
+ (standard_args): Add "--disable-font-backend" option.
+
+2007-04-13 Kenichi Handa <handa@m17n.org>
+
+ * fontset.c (fontset_find_font): New function.
+ (fontset_font): Use fontset_find_font.
+ (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
+ Register the specified font for all Latin characters.
+ (new_fontset_from_font): Register the specified font for all Latin
+ characters.
+ (dump_fontset): For a realized fontset, include the base fontset
+ name in the returned vector.
+
+2007-04-11 Kenichi Handa <handa@m17n.org>
+
+ * character.h (CHAR_STRING): Cast C to unsigned on calling
+ char_string.
+
+ * character.c (char_string): Type of arg C changed to unsigned.
+ Signal an error if C is an invalid character code.
+
+ * editfns.c (general_insert_function): Use CHARACTERP, not INTEGERP.
+ (Fchar_to_string): Likewise.
+
+2007-03-23 Kenichi Handa <handa@m17n.org>
+
+ * character.h (MIN_MULTIBYTE_LEADING_CODE)
+ (MAX_MULTIBYTE_LEADING_CODE): New macros.
+
+ * regex.c (analyse_first): Fix for multibyte characters in "case
+ charset:" and "case categoryspec:".
+
2007-03-04 Andreas Schwab <schwab@suse.de>
* Makefile.in (LIBES): Move standard libraries to the end.