diff options
| author | Paul Eggert | 2016-05-26 12:55:06 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-05-26 12:55:06 -0700 |
| commit | 0bf5739b77c75f13d46fc49d5e3c098fe49a5070 (patch) | |
| tree | d342da7bc9065197736a8184e55c9925a40f04f0 /src | |
| parent | 764f04871d67a5aad8943136d5142ed59bfa9a51 (diff) | |
| parent | c3489d050405ccb026cd44a280ead3a5f6b456d9 (diff) | |
| download | emacs-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.c | 3 | ||||
| -rw-r--r-- | src/xftfont.c | 24 |
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. | ||
| 757 | This 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; |