Homepage: https://www.emacswiki.org/emacs/download/face-remap%2b.el
Author: Drew Adams
Updated:
Extensions to standard library `face-remap.el'
Commands `text-scale-decrease', `text-scale-increase', and `text-scale-adjust' (bound to `C-x C--', `C-x C-+', `C-x C-=', and `C-x C-0') let you resize the text in the current buffer by changing its scale factor. In vanilla Emacs: * When you shrink or enlarge the apparent text size this way, however, the window takes no notice of it. In particular, although shrinking text can result in extra horizontal space at the right, window commands do not see this space as extra. * If you change the major mode in a buffer that you've text-scaled, that mode change resets the text size, so you lose any scaling you've done in it. This library provides two enhancements to standard library `face-remap.el': 1. You can optionally have text-scaling also automatically resize the selected window (horizontally, vertically, or both) when text is resized, so that the way the window fits the buffer text remains relatively constant. Shrinking the text in one window shrinks that window, giving more space to adjacent windows. This is governed by user option `text-scale-resize-window'. If you also use library `fit-frame.el', then one-window frames also respond to text resizing by scaling. If not, then the text-scale commands have no effect on frame size for one-window frames. 2. You can optionally make text-scaling be permanently buffer-local, for all buffers. This has the effect that if you change the major mode in a buffer that's been text-scaled, that mode change has no effect on the text size: whatever size you scaled it to remains in effect. This is governed by global minor mode `text-scale-keep-mode'. For Emacs versions 23-28, this library also fixes a regression (bugs #46973 and #54114) introduced in 23 - it provides the Emacs 29 version of function `face-remap-set-base'. See also: * Library `zoom-frm.el', which provides commands `zoom-in' and `zoom-out', which let you zoom the text in a buffer (as in text scaling) or the text in an frame. In the latter case, the default font of the frame is enlarged or shrunk dynamically. * Library `doremi-frm.el', which provides commands `doremi-buffer-font-size+' and `doremi-frame-font-size+', which provide another way to zoom incrementally. To use library `face-remap+.el', put it in your `load-path' and put this sexp in your init file (~/.emacs): (require 'face-remap+) Commands defined here: `text-scale-keep-mode'. Options (user variables) defined here: `text-scale-resize-window'. ***** NOTE: The following standard functions defined in `face-remap.el' have been REDEFINED HERE: `text-scale-increase' -- Possibly resize the window or frame.