Mercurial > hg > xemacs-beta
diff src/ChangeLog @ 3094:ad2f4ae9895b
[xemacs-hg @ 2005-11-26 11:45:47 by stephent]
Xft merge. <87k6ev4p8q.fsf@tleepslib.sk.tsukuba.ac.jp>
author | stephent |
---|---|
date | Sat, 26 Nov 2005 11:46:25 +0000 |
parents | 141c2920ea48 |
children | 5694c986bd92 |
line wrap: on
line diff
--- a/src/ChangeLog Fri Nov 25 22:51:38 2005 +0000 +++ b/src/ChangeLog Sat Nov 26 11:46:25 2005 +0000 @@ -1,3 +1,542 @@ +2005-11-26 Stephen J. Turnbull <stephen@xemacs.org> + + Merge Xft. + + 2005-11-25 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c: Improve comments. + + 2005-11-25 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.h: + * xft-fonts.c: + * redisplay-x.c: + Remove or comment out dead code. + + 2005-11-25 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_find_charset_font): Encapsulate debug print in macro. + + 2005-11-25 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.h: + * xft-fonts.c: + * objects-x.c: + Xft font names are encoded in UTF-8 (Qxft_font_name_encoding). + + 2005-11-06 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.h: + * xft-fonts.c: + Substitute new *LCRECORD* macros for #ifdef MC_ALLOC. + + 2005-09-10 Clemens Fruhwirth <clemens@endorphin.org> + + * glyphs-x.c (update_widget_face): Wrap error checking of rf in an + #ifdef USE_XFT. + + 2005-09-25 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_initialize_font_instance): Must encode extname + twice, Qxft_font_name_encoding != Qx_font_name_encoding. + + 2005-09-25 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_finalize_font_instance): Add newline to message. + + 2005-09-24 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_find_charset_font): Give user more control of + debug verbosity. Reduce verbosity at debug_xft=1. Reduce + verbosity of truename by removing properties that are rarely + specified from fontconfig font name. + + 2005-09-24 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_find_charset_font): Work around buggy return + value in FcInit(). + + 2005-09-24 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c: Improve various header comments. + (x_font_instance_truename): Remove obsolete #ifdef 0 code. + + 2005-09-06 Stephen J. Turnbull <stephen@xemacs.org> + + * console-x-impl.h (struct x_frame): Rewrite comment. + + * redisplay-x.c (x_output_string): + * frame-x.c (x_delete_frame): + Improve style, let compiler optimize. + + 2005-09-05 Daniel Pittman <daniel@rimspace.net> + + * console-x-impl.h (struct x_frame): New member xftDraw. + (FRAME_X_XFTDRAW): Accessor for xftDraw member. + + * redisplay-x.c (x_output_string): Lazily initialize frame's + xftDraw member, and don't destroy it here. + + * frame-x.c (x_delete_frame): Destroy xftDraw here. + + 2005-08-17 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.c (Ffc_pattern_create): Improve docstring, remove todo. + (fc_intern): Add todo. + + 2005-08-04 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.c (finalize_fc_pattern): New static function. + Add it to lcrecord implementation of fc_pattern. + + * xft-fonts.c (Ffc_pattern_destroy): Disable with #if 0. + + 2005-08-03 Stephen J. Turnbull <stephen@xemacs.org> + + -- Minor cleanups. -- + + * xft-fonts.c (Ffc_font_real_pattern): + Update FIXME at top. + (Ffc_font_sort): + (Ffc_font_match): + Improve docstrings. + + * xft-fonts.c (Ffc_pattern_destroy): + Partially protect against double frees. + + -- Eliminate Lisp fc_fontset objects. -- + + * xft-fonts.c (fontset_to_list): New helper function. + (Ffc_list_fonts_pattern_objects): + (Ffc_font_sort): + Made to use `fontset_to_list' and return list. Updated docstrings. + + * xft-fonts.h (struct fc_pattern): Removed fc_fontset member. + (fc_fontset): Removed struct and lrecord declarations and typedef. + (XFCFONTSET): + (wrap_fcfontset): + (FCFONTSETP): + (CHECK_FCFONTSET): + (CONCHECK_FCFONTSET): + (XFCFONTSET_PTR): + Removed macros. + + * xft-fonts.c (fcfontset_description): + (fc_fontset): + (Ffc_fontset_p): + (Ffc_fontset_count): + (Ffc_fontset_destroy): + (Ffc_fontset_ref): + Removed unused functions. + (fcpattern_description): Removed fc_fontset member. + (Ffc_pattern_create): + (Ffc_name_parse): + (Ffc_pattern_duplicate): + (Ffc_pattern_destroy): + (Ffc_font_match): + (Ffc_font_real_pattern): + Removed reference to fc_fontset member. + (syms_of_xft_fonts): Removed DEFSYMBOLs, DEFSUBRs for fc_fontset. + + * lrecord.h (enum lrecord_type): Removed lrecord_fc_fontset. + Removed indicies, which depended on #ifdefs so can't be accurate. + + 2005-07-31 Daniel Pittman <daniel@rimspace.net> + + * xft-fonts.c: Update Ffc_list_fonts_pattern_objects to use the + FontConfig API nicely, preventing it from rebuilding the list of + available fonts on *every* access. + + 2005-06-16 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.c: MC_ALLOC-ify. + * xft-fonts.h: MC_ALLOC-ify. + + 2005-04-16 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.c: Improve comment on property name hash table. + + (Ffc_list_fonts_pattern_objects): + (Ffc_font_sort): + (reinit_vars_of_xft_fonts): + Call FcInit only once in reinit_vars_of_xft_fonts. + + (Ffc_list_fonts_pattern_objects): + (Ffc_font_sort): + Signal error if returned FcFontSet object is NULL. + + (string_list_to_fcobjectset): Use fc_intern. + + * objects-x.c (): Move declaration of `name' out of #ifdef. + + 2005-04-14 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.c (fc_intern): val is const. + (xft_get_color): Use dead_wrong_type_argument. + + * objects-x.c (Qxft_font_name_encoding): New documentary #define. + (truename_via_XListFonts): Improve comments. + + Followup on Aidan's partial cleanup/Mulization. + + * objects-x.c (DEBUG_XFT0): + (DEBUG_XFT1): + (DEBUG_XFT2): + (PRINT_XFT_PATTERN): + (CHECKING_LANG): + Move to top of font object block. + (DEBUG_XFT3): + (DEBUG_XFT4): + New. + (x_initialize_font_instance): + (x_finalize_font_instance): + Use them. + + (x_font_instance_truename): Comment complaint about structure. + Clarify variable usage by moving declaration inside block. + + (x_find_charset_font): Clarify block structure by eliminating + early returns. Remove bogus "must free" comments. Free FcPattern + objects that were leaking. Use block structure to indicate + lifetimes of FcPattern objects. Use "font" rather than "pattern" + in names of FcPatterns that name fonts rather than search + criteria. Use shortnames more consistently in debug messages. + #ifdef shortname vs longname return values. Correct comment to + note that FcCharSets are Unparsed to ASCII. Don't ever fall + through to X core fonts if we had an Xft font (it should be NULL + anyway). Use Qxft_font_name_encoding; this means we have to parse + FONT separately for Qx_font_name_encoding. + + 2005-04-10 Stephen J. Turnbull <stephen@xemacs.org> + + Xft/fontconfig assumes that strings used as object names are + statically allocated. Implement a hash table to keep track of + them: + + * xft-fonts.c (reinit_vars_of_xft_fonts): Initialize hash table. + (fc_intern): + New static functions. + + (fc_property_name_hash_table): + (fc_standard_properties): + New static variables. + + * symsinit.h (reinit_vars_of_xft_fonts): Declare it. + + * emacs.c (main_1): Call it. Reorder complex_vars_of_xft_fonts. + + Renaming and reorganization: + + * xft-fonts.c: Group FcPattern stuff separately from FcFontSet in + preparation for removing latter from LISP visibility. Use + "pattern" for Lisp_Objects, reserve "fcpat" for FcPatterns. + Similarly change "object" to "property". + + (Ffc_pattern_destroy): + (Ffc_fontset_destroy): + Deprecate these; they should not be LISP-visible. + + (Ffc_pattern_print): Removed. + + (extract_fcapi_string): Make this a macro, because + in C "inline" is a hint. But this _must_ be a macro because it + implicitly uses alloca. + + 2005-04-09 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.c (fc-pattern-get-antialias): + (fc-pattern-get-dpi): + (fc-pattern-get-family): + (fc-pattern-get-file): + (fc-pattern-get-foundry): + (fc-pattern-get-minspace): + (fc-pattern-get-outline): + (fc-pattern-get-pixelsize): + (fc-pattern-get-rasterizer): + (fc-pattern-get-scalable): + (fc-pattern-get-scale): + (fc-pattern-get-size): + (fc-pattern-get-style): + (fc-pattern-get-xlfd): + (xft-pattern-get-core): + (xft-pattern-get-encoding): + (xft-pattern-get-render): + (fc_get_pattern_bool): + (fc_get_pattern_double): + (fc_get_pattern_integer): + (fc_get_pattern_string): + (xft_font_open_name): + Delete definitions of long-unused functions. + + (syms_of_xft_fonts): + Delete references. + + * xft-fonts.h (fc_get_pattern_bool): + (fc_get_pattern_double): + (fc_get_pattern_integer): + (fc_get_pattern_string): + Delete declarations of long-unused helper functions. + + * xft-fonts.c (Ffc_font_match): s/poosible/possible/ in docstring. + + 2005-04-01 Aidan Kehoe <kehoea@parhasard.net> + + * objects-x.c: + * objects-x.c (x_initialize_font_instance): + * objects-x.c (CHECKING_LANG): + General mule-sanity cleanup for the debug messages, to eliminate + the issue Giacomo Boffi saw in + 16970.44359.621213.994821@boffi95.stru.polimi.it. + + * objects-x.c (x_find_charset_font): + Font names are also treated as UTF-8; relatedly, when passing back + the font's full name, the character coverage bitmap isn't included + any more, because that would make it an invalid UTF-8 string. + + 2005-03-10 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (charset_table): Fix ISO 639 code for Greek. Reported + by Stefan Holst <holst@mathematik.uni-mainz.de>. + (charset_table): Add information for Hebrew, whine about ISO prices. + + 2005-03-09 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_font_instance_truename): Try to fix XListFonts + crash by not handing random Xft results to core Xlib functions. + Replace bizarre gymnastics with simple FcNameUnparse. + + 2005-03-07 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x-impl.h: Include lwlib-fonts.h + + * objects-x.c (x_font_instance_truename): + * glyphs-x.c (update_widget_face): + * frame-x.c (x_update_frame_external_traits): + Use the correct variant of FONT_INSTANCE_{X,XFT}_FONT. + Protect against access of uninitialized objects. + + * redisplay-x.c (x_get_gc): Fix typo. + * (x_output_string): Add comments, clarify logic slightly. + + 2005-03-05 Stephen J. Turnbull <stephen@xemacs.org> + + Refactor language/charset checking in Xft. + + * objects-x.c (struct charset_reporter): New type. + (charset_table): New internal table. + (DEBUG_XFT0): + (DEBUG_XFT1): + (DEBUG_XFT2): + (PRINT_XFT_PATTERN): + (CHECKING_LANG): + New debugging macros. + (mule_to_fc_charset): New function. + (x_find_charset_font): Completely rewrite Xft part using the above. + + Cache knowledge of charset in font instances. + + * objects-impl.h (struct Lisp_Font_Instance): New member charset. + Update comment on use of truename. + * objects.c (syms_of_objects): DEFSUBR Ffont_instance_charset. + (Ffont_instance_charset): New accessor. + (Fmake_font_instance): New argument CHARSET, update charset member. + (font_instantiate): Update call to Fmake_font_instance. + (font_instance_description): Add charset member. + * objects.h (Fmake_font_instance): Update EXFUN. + (Ffont_instance_charset): New EXFUN. + + Make Xft debug level adjustable from Lisp. + + * xft-fonts.c (vars_of_xft_fonts): New DEFVAR_INT + xft-debug-level (from debug_xft), adjust style of xft-version. + * xft-fonts.h (debug_xft): Now Lisp-visible, change declaration. + + Miscellaneous. + + * lisp.h (Vcharset_iso8859_15): Export it. + * faces.h (struct face_cachel): Update comment on space usage. + * faces.c: Comment proposed changes to improve font handling. + * frame-x.c: + * EmacsShell-sub.c: + Disable geometry debugging. + + 2005-02-24 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.h: + * xft-fonts.c: + Update copyright notices. + + * xft.fonts.h (string_list_to_fcobjectset): + (extract_fcapi_string): + Delete; static function declarations don't belong in headers. + + * xft.fonts.c (string_list_to_fcobjectset): + (extract_fcapi_string): + Declare. + + 2005-02-24 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_find_charset_font): ConfigSubstitute in the + _pattern_ before matching. + + 2005-02-24 Stephen J. Turnbull <stephen@xemacs.org> + + * faces.c (complex_vars_of_faces): Default to monospace-12 for + Xft. (Suggestion by Aidan Kehoe.) + + 2005-02-24 Hrvoje Niksic <hniksic@xemacs.org> + + * xgccache.h (XE_GCONTEXT): Move out of DEBUG_XEMACS block. + + 2005-02-22 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.c (debug_xft): Suppress all debug output for now. + + 2005-02-21 Stephen J. Turnbull <stephen@xemacs.org> + + * emacs.c (xemacs-release-date): New version info variable. + * config.h.in (XEMACS_RELEASE_DATE): New config.h macro. + + * emacs.c (inhibit-early-packages): + (inhibit-all-packages): + (xemacs-extra-name): Improve docstrings. + + 2005-02-21 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_finalize_font_instance): Improve debug message. + + 2005-02-20 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_initialize_font_instance): Estimate average cell + width based on dimensions of "representative" string. Suppress + some excessive debug output. Get rid of spurious tests. + + 2005-02-11 Eric Knauel <eric@xemacs.org> + + * xft-fonts.c: throw away old code that was wrapped inside + comments + + 2005-02-11 Eric Knauel <eric@xemacs.org> + + * xft-fonts.h: New prototype + + * xft-fonts.c (Ffc_name_parse, Ffc_pattern_add, Ffc_pattern_del) + (Ffc_pattern_get, fc_font_real_pattern) + (string_list_to_fcobjectset): Use extract_fcapi_string() + (extract_fcapi_string): New function + + 2005-02-09 Eric Knauel <eric@xemacs.org> + + * xft-fonts.c (string_list_to_fcobjectset): Use loop macro instead + of for. + + 2005-02-03 Eric Knauel <eric@xemacs.org> + + * lrecord.h (enum lrecord_type): remove lrecord for FcObjectSets + + * xft-fonts.h (struct fc_fontset): remove lrecord for FcObjectSets + + * xft-fonts.c (DEFINE_LRECORD_IMPLEMENTATION): + (Ffc_objectset_create, Ffc_objectset_p, Ffc_objectset_add) + (Ffc_objectset_destroy): remove lrecord for FcObjectSets + (Ffc_list_fonts_pattern_objects): adapt for new representation of + FcObjectSets + (string_list_to_fcobjectset): New utility function + + 2005-02-01 Stephen J. Turnbull <stephen@xemacs.org> + + * redisplay-x.c (separate_textual_runs): Check for MULE properly. + + 2005-01-28 Stephen J. Turnbull <stephen@xemacs.org> + + * glyphs-widget.c (Fwidget_logical_to_character_height): + (Fwidget_logical_to_character_width): + (layout_query_geometry): + (widget_update): + Fix typos in docstrings and preceding comments. + + 2005-01-26 Stephen J. Turnbull <stephen@xemacs.org> + + * redisplay-x.c (x_output_string): Position strikethru by dl + geometry. Kludge to fix remnants from antialiased underscores. + + 2004-12-19 Stephen J. Turnbull <stephen@xemacs.org> + + * compiler.h (UNUSED): Document make-docfile.c hack. + + 2004-12-19 Stephen J. Turnbull <stephen@xemacs.org> + + * glyphs-x.c,objects-x.c: Deemphasize warnings (to debug or alert). + + * redisplay-x.c: Don't abort() when ichar_to_unicode returns error. + + 2004-12-19 Stephen J. Turnbull <stephen@xemacs.org> + + * keymap.c (Fwhere_is_internal): Rewrite docstring. + + 2004-12-17 Stephen J. Turnbull <stephen@xemacs.org> + + * regex.c (re_match_2_internal): DEBUG_PRINT "can match null". + + 2004-12-10 Stephen J. Turnbull <stephen@xemacs.org> + + * redisplay-x.c (x_text_width_single_run): Whitespace improvement. + + 2004-12-09 Stephen J. Turnbull <stephen@xemacs.org> + + * glyphs-widget.c (image_instantiator_progress_gauge): + (image_instantiator_format_create_glyphs_widget): + Fix typo guage->gauge. + + * emacs.c (main_1): Casting out devils (size_t). + + * compiler.h (USED_IF_XFT): New variant. + * objects-x.c (x_font_spec_matches_charset): + * redisplay-x.c (x_text_width_single_run): + Use it. + + * config.h.in: Support USE_XFT_TABS and USE_XFT_GAUGE. + + 2004-11-28 Stephen J. Turnbull <stephen@xemacs.org> + + * objects-x.c (x_initialize_font_instance): Make sure + FONT_INSTANCE_X_FONT is cleared for Xft fonts. Add comments. + Fiddle whitespace. + (x_print_font_instance): Clarify printed font instance. + + 2004-11-27 Stephen J. Turnbull <stephen@xemacs.org> + + * xft-fonts.h: Declare debug_xft. + + * objects-x.c (x_font_instance_truename): + Convert Xft* identifiers to Fc* versions. + + (x_initialize_font_instance): + (x_find_charset_font): + Condition debugging on debug_xft. Get rid of unneeded "#### + debug" markers. Change fprintf to stderr_out. + + (x_find_charset_font): Restore missing argument to + DebugFcTypeOfValue. Remove nonworking debug cruft. + + (FcResultToString): + (FcTypeOfValueToString): + (x_find_charset_font): + Change DebugFc* to Fc*ToString. + + 2004-11-20 Stephen J. Turnbull <stephen@xemacs.org> + + Xft branch based on "Xft reloaded #3" patch by Eric Knauel and + Mathias Neuebaur, and other contributors. + + * xft-fonts.h: New file. Declares new Lisp objects wrapping + FcPattern, FcFontSet, and FcObjectSet. + * xft-fonts.c: New file. Implements new Lisp objects wrapping + FcPattern, FcFontSet, and FcObjectSet. + * objects-x-impl.h: Declare XftFont component of font instance. + * objects-x.c: Implement XftFont component of font instance. + * redisplay-x.c: Implement drawing via Xft. + 2005-11-21 Marcus Crestani <crestani@xemacs.org> Incremental Garbage Collector @@ -2805,7 +3344,9 @@ 2004-12-15 Stephen J. Turnbull <stephen@xemacs.org> - * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo. + * EmacsManager.c (EmacsManagerChangeSize): + Respect XtGeometryNo, and exit immediately if geometry change + refused. Fixes notorious metacity maximize bug. 2004-12-07 Malcolm Purvis <malcolmp@xemacs.org>