aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2016-05-26 12:55:06 -0700
committerPaul Eggert2016-05-26 12:55:06 -0700
commit0bf5739b77c75f13d46fc49d5e3c098fe49a5070 (patch)
treed342da7bc9065197736a8184e55c9925a40f04f0 /src
parent764f04871d67a5aad8943136d5142ed59bfa9a51 (diff)
parentc3489d050405ccb026cd44a280ead3a5f6b456d9 (diff)
downloademacs-0bf5739b77c75f13d46fc49d5e3c098fe49a5070.tar.gz
emacs-0bf5739b77c75f13d46fc49d5e3c098fe49a5070.zip
Merge from origin/emacs-25
c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3... a4d882c Correct old cell name unbinding when renaming cell. 6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into... 0be6725 Document problem: slow screen refresh on missing font. 853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ... 5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change... 3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne... 42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611). 3f4a9d9 * admin/authors.el (authors): First update the ChangeLog. 897fb6f ; 'Changes from the pre-25.1 API' copyedits 825ca25 Rename vc-stay-local back to vc-cvs-stay-local 4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble... b995d1e * doc/misc/eww.texi (Advanced): Fix xref. 2e589c0 Fix cross-references between manuals f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ... 906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ... bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY. 503e752 ; * CONTRIBUTE: Fix a typo. fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib... bdfbe6d ; * admin/release-process: Copyedits. 44a6aed ; * test/automated/data-tests.el: Standardize license notice. c33ed39 ; * test/automated/viper-tests.el: Standardize license notice. df4a14b Add automated test for viper-tests.el c0139e3 Fix viper undo breakage from undo-boundary changes 920d76c Fix reference to obsolete fn ps-eval-switch 18a9bc1 Do not trash symlinks to init file 2671179 Don't print the "decomposition" line for control chars in wha... 869092c Bring back xterm pasting with middle mouse 5ab0830 Provide workaround for xftfont rendering problem c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic... 30989a0 Mention GTK+ problems in etc/PROBLEMS 421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents): dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests" e41a5cb Avoid errors with Czech and Slovak input methods d4ae6d7 epg: Add a way to detect gpg1 executable for tests ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings. 6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer): c45d9f6 Improve documentation of 'server-name' 3b5e38c Modernize ASLR advice in etc/PROBLEMS 1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
Diffstat (limited to 'src')
-rw-r--r--src/xfaces.c3
-rw-r--r--src/xftfont.c24
2 files changed, 26 insertions, 1 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index 93d1c471407..3ced1d483c3 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -2677,9 +2677,10 @@ FRAME 0 means change the face on all frames, and change the default
2677 { 2677 {
2678 if (NILP (frame)) 2678 if (NILP (frame))
2679 frame = selected_frame; 2679 frame = selected_frame;
2680 f = XFRAME (frame);
2681 2680
2682 CHECK_LIVE_FRAME (frame); 2681 CHECK_LIVE_FRAME (frame);
2682 f = XFRAME (frame);
2683
2683 lface = lface_from_face_name (f, face, false); 2684 lface = lface_from_face_name (f, face, false);
2684 2685
2685 /* If a frame-local face doesn't exist yet, create one. */ 2686 /* If a frame-local face doesn't exist yet, create one. */
diff --git a/src/xftfont.c b/src/xftfont.c
index 7926325419c..34c6f7d3e42 100644
--- a/src/xftfont.c
+++ b/src/xftfont.c
@@ -395,6 +395,24 @@ xftfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
395 395
396 font->ascent = xftfont->ascent; 396 font->ascent = xftfont->ascent;
397 font->descent = xftfont->descent; 397 font->descent = xftfont->descent;
398 /* The following workaround is unnecessary on most systems, and
399 causes annoying differences in glyph height between regular and
400 bold fonts (see bug#22383). However, with some fonts, such as
401 monaco, removing the workaround results in overlapping vertical
402 space of a line, see bug#23360. As long as the way to reconcile
403 these opposites is not known, we provide a user option to work
404 around the problem. */
405 if (pixel_size >= 5
406 && xft_font_ascent_descent_override)
407 {
408 /* The above condition is a dirty workaround because
409 XftTextExtents8 behaves strangely for some fonts
410 (e.g. "Dejavu Sans Mono") when pixel_size is less than 5. */
411 if (font->ascent < extents.y)
412 font->ascent = extents.y;
413 if (font->descent < extents.height - extents.y)
414 font->descent = extents.height - extents.y;
415 }
398 font->height = font->ascent + font->descent; 416 font->height = font->ascent + font->descent;
399 417
400 if (XINT (AREF (entity, FONT_SIZE_INDEX)) == 0) 418 if (XINT (AREF (entity, FONT_SIZE_INDEX)) == 0)
@@ -733,6 +751,12 @@ syms_of_xftfont (void)
733 DEFSYM (QCembolden, ":embolden"); 751 DEFSYM (QCembolden, ":embolden");
734 DEFSYM (QClcdfilter, ":lcdfilter"); 752 DEFSYM (QClcdfilter, ":lcdfilter");
735 753
754 DEFVAR_BOOL ("xft-font-ascent-descent-override",
755 xft_font_ascent_descent_override,
756 doc: /* Non-nil means override the ascent and descent values for Xft font driver.
757This is needed with some fonts to correct vertical overlap of glyphs. */);
758 xft_font_ascent_descent_override = 0;
759
736 ascii_printable[0] = 0; 760 ascii_printable[0] = 0;
737 761
738 xftfont_driver = ftfont_driver; 762 xftfont_driver = ftfont_driver;