comparison lispref/display.texi @ 65075:88aad5396aac

(Standard Faces): Delete node. (Faces): Add xref to `(emacs)Standard Faces'. (Displaying Faces): Fix xref to `Standard Faces'.
author Juri Linkov <juri@jurta.org>
date Mon, 22 Aug 2005 21:31:54 +0000
parents 408e294257ab
children 64ac61f4b3b4
comparison
equal deleted inserted replaced
65074:af480eaf5c50 65075:88aad5396aac
1671 @cindex faces 1671 @cindex faces
1672 1672
1673 A @dfn{face} is a named collection of graphical attributes: font 1673 A @dfn{face} is a named collection of graphical attributes: font
1674 family, foreground color, background color, optional underlining, and 1674 family, foreground color, background color, optional underlining, and
1675 many others. Faces are used in Emacs to control the style of display of 1675 many others. Faces are used in Emacs to control the style of display of
1676 particular parts of the text or the frame. 1676 particular parts of the text or the frame. @xref{Standard Faces,,,
1677 emacs, The GNU Emacs Manual}, for the list of faces Emacs normally
1678 comes with.
1677 1679
1678 @cindex face id 1680 @cindex face id
1679 Each face has its own @dfn{face number}, which distinguishes faces at 1681 Each face has its own @dfn{face number}, which distinguishes faces at
1680 low levels within Emacs. However, for most purposes, you refer to 1682 low levels within Emacs. However, for most purposes, you refer to
1681 faces in Lisp programs by the symbols that name them. 1683 faces in Lisp programs by the symbols that name them.
1689 Each face name is meaningful for all frames, and by default it has the 1691 Each face name is meaningful for all frames, and by default it has the
1690 same meaning in all frames. But you can arrange to give a particular 1692 same meaning in all frames. But you can arrange to give a particular
1691 face name a special meaning in one frame if you wish. 1693 face name a special meaning in one frame if you wish.
1692 1694
1693 @menu 1695 @menu
1694 * Standard Faces:: The faces Emacs normally comes with.
1695 * Defining Faces:: How to define a face with @code{defface}. 1696 * Defining Faces:: How to define a face with @code{defface}.
1696 * Face Attributes:: What is in a face? 1697 * Face Attributes:: What is in a face?
1697 * Attribute Functions:: Functions to examine and set face attributes. 1698 * Attribute Functions:: Functions to examine and set face attributes.
1698 * Displaying Faces:: How Emacs combines the faces specified for a character. 1699 * Displaying Faces:: How Emacs combines the faces specified for a character.
1699 * Font Selection:: Finding the best available font for a face. 1700 * Font Selection:: Finding the best available font for a face.
1702 * Font Lookup:: Looking up the names of available fonts 1703 * Font Lookup:: Looking up the names of available fonts
1703 and information about them. 1704 and information about them.
1704 * Fontsets:: A fontset is a collection of fonts 1705 * Fontsets:: A fontset is a collection of fonts
1705 that handle a range of character sets. 1706 that handle a range of character sets.
1706 @end menu 1707 @end menu
1707
1708 @node Standard Faces
1709 @subsection Standard Faces
1710
1711 This table lists all the standard faces and their uses. Most of them
1712 are used for displaying certain parts of the frames or certain kinds of
1713 text; you can control how those places look by customizing these faces.
1714
1715 @table @code
1716 @item default
1717 @kindex default @r{(face name)}
1718 This face is used for ordinary text.
1719
1720 @item mode-line
1721 @kindex mode-line @r{(face name)}
1722 This face is used for the mode line of the selected window, and for
1723 menu bars when toolkit menus are not used.
1724
1725 @item modeline
1726 @kindex modeline @r{(face name)}
1727 This is an alias for the @code{mode-line} face, for compatibility with
1728 old Emacs versions.
1729
1730 @item mode-line-inactive
1731 @kindex mode-line-inactive @r{(face name)}
1732 This face is used for mode lines of non-selected windows.
1733 This face inherits from @code{mode-line}, so changes
1734 in that face affect all windows.
1735
1736 @item header-line
1737 @kindex header-line @r{(face name)}
1738 This face is used for the header lines of windows that have them.
1739
1740 @item menu
1741 This face controls the display of menus, both their colors and their
1742 font. (This works only on certain systems.)
1743
1744 @item fringe
1745 @kindex fringe @r{(face name)}
1746 This face controls the default colors of window fringes, the thin
1747 areas on either side that are used to display continuation and
1748 truncation glyphs. Other faces used to display bitmaps in the fringe
1749 are implicitly merged with this face.
1750
1751 @item minibuffer-prompt
1752 @kindex minibuffer-prompt @r{(face name)}
1753 @vindex minibuffer-prompt-properties
1754 This face is used for the text of minibuffer prompts. By default,
1755 Emacs automatically adds this face to the value of
1756 @code{minibuffer-prompt-properties}, which is a list of text
1757 properties used to display the prompt text.
1758
1759 @item scroll-bar
1760 @kindex scroll-bar @r{(face name)}
1761 This face controls the colors for display of scroll bars.
1762
1763 @item tool-bar
1764 @kindex tool-bar @r{(face name)}
1765 This face is used for display of the tool bar, if any.
1766
1767 @item region
1768 @kindex region @r{(face name)}
1769 This face is used for highlighting the region in Transient Mark mode.
1770
1771 @item secondary-selection
1772 @kindex secondary-selection @r{(face name)}
1773 This face is used to show any secondary selection you have made.
1774
1775 @item highlight
1776 @kindex highlight @r{(face name)}
1777 This face is meant to be used for highlighting for various purposes.
1778
1779 @item mode-line-highlight
1780 @kindex mode-line-highlight @r{(face name)}
1781 This face is used for highlighting something on @code{mode-line} or
1782 @code{header-line} for various purposes.
1783
1784 @item trailing-whitespace
1785 @kindex trailing-whitespace @r{(face name)}
1786 This face is used to display excess whitespace at the end of a line,
1787 if @code{show-trailing-whitespace} is non-@code{nil}.
1788
1789 @item escape-glyph
1790 @kindex escape-glyph @r{(face name)}
1791 This face is used to display control characters and escape glyphs.
1792 @end table
1793
1794 In contrast, these faces are provided to change the appearance of text
1795 in specific ways. You can use them on specific text, when you want
1796 the effects they produce.
1797
1798 @table @code
1799 @item bold
1800 @kindex bold @r{(face name)}
1801 This face uses a bold font, if possible. It uses the bold variant of
1802 the frame's font, if it has one. It's up to you to choose a default
1803 font that has a bold variant, if you want to use one.
1804
1805 @item italic
1806 @kindex italic @r{(face name)}
1807 This face uses the italic variant of the frame's font, if it has one.
1808
1809 @item bold-italic
1810 @kindex bold-italic @r{(face name)}
1811 This face uses the bold italic variant of the frame's font, if it has
1812 one.
1813
1814 @item underline
1815 @kindex underline @r{(face name)}
1816 This face underlines text.
1817
1818 @item fixed-pitch
1819 @kindex fixed-pitch @r{(face name)}
1820 This face forces use of a particular fixed-width font.
1821
1822 @item variable-pitch
1823 @kindex variable-pitch @r{(face name)}
1824 This face forces use of a particular variable-width font. It's
1825 reasonable to customize this to use a different variable-width font, if
1826 you like, but you should not make it a fixed-width font.
1827
1828 @item shadow
1829 @kindex shadow @r{(face name)}
1830 This face is used for making the text less noticeable than the
1831 surrounding ordinary text.
1832 @end table
1833
1834 @defvar show-trailing-whitespace
1835 @tindex show-trailing-whitespace
1836 If this variable is non-@code{nil}, Emacs uses the
1837 @code{trailing-whitespace} face to display any spaces and tabs at the
1838 end of a line.
1839 @end defvar
1840 1708
1841 @node Defining Faces 1709 @node Defining Faces
1842 @subsection Defining Faces 1710 @subsection Defining Faces
1843 1711
1844 The way to define a new face is with @code{defface}. This creates a 1712 The way to define a new face is with @code{defface}. This creates a
2380 With overlays. An overlay can have @code{face} and @code{mouse-face} 2248 With overlays. An overlay can have @code{face} and @code{mouse-face}
2381 properties too; they apply to all the text covered by the overlay. 2249 properties too; they apply to all the text covered by the overlay.
2382 2250
2383 @item 2251 @item
2384 With a region that is active. In Transient Mark mode, the region is 2252 With a region that is active. In Transient Mark mode, the region is
2385 highlighted with the face @code{region} (@pxref{Standard Faces}). 2253 highlighted with the face @code{region} (@pxref{Standard Faces,,,
2254 emacs, The GNU Emacs Manual}).
2386 2255
2387 @item 2256 @item
2388 With special glyphs. Each glyph can specify a particular face 2257 With special glyphs. Each glyph can specify a particular face
2389 number. @xref{Glyphs}. 2258 number. @xref{Glyphs}.
2390 @end itemize 2259 @end itemize