23 |
* Temporary Displays:: Displays that go away automatically. |
* Temporary Displays:: Displays that go away automatically. |
24 |
* Overlays:: Use overlays to highlight parts of the buffer. |
* Overlays:: Use overlays to highlight parts of the buffer. |
25 |
* Width:: How wide a character or string is on the screen. |
* Width:: How wide a character or string is on the screen. |
26 |
|
* Line Height:: Controlling the height of lines. |
27 |
* Faces:: A face defines a graphics style for text characters: |
* Faces:: A face defines a graphics style for text characters: |
28 |
font, colors, etc. |
font, colors, etc. |
29 |
* Fringes:: Controlling window fringes. |
* Fringes:: Controlling window fringes. |
1511 |
@end example |
@end example |
1512 |
@end defun |
@end defun |
1513 |
|
|
1514 |
|
@node Line Height |
1515 |
|
@section Line Height |
1516 |
|
@cindex line height |
1517 |
|
|
1518 |
|
The total height of each display line consists of the height of the |
1519 |
|
contents of the line, and additional vertical line spacing below the |
1520 |
|
display row. |
1521 |
|
|
1522 |
|
The height of the line contents is normally determined from the |
1523 |
|
maximum height of any character or image on that display line, |
1524 |
|
including the final newline if there is one. (A line that is |
1525 |
|
continued doesn't include a final newline.) In the most common case, |
1526 |
|
the line height equals the height of the default frame font. |
1527 |
|
|
1528 |
|
There are several other ways to change the line height, either by |
1529 |
|
specifying an absolute height for the display line, or by adding |
1530 |
|
additional vertical space below each line. |
1531 |
|
|
1532 |
|
@kindex line-height @r{(text property)} |
1533 |
|
A newline can have a @code{line-height} text or overlay property that |
1534 |
|
controls the total height of the display line ending in that newline. |
1535 |
|
We will call the property value @var{line-height}. |
1536 |
|
|
1537 |
|
If @var{line-height} property is 0, the height of the line is |
1538 |
|
determined solely from its contents; nothing is added. Any |
1539 |
|
@code{line-spacing} property on this newline is ignored. This case is |
1540 |
|
useful for tiling small images or image slices without adding blank |
1541 |
|
areas between the images. |
1542 |
|
|
1543 |
|
If @var{line-height} property is a positive integer, the value |
1544 |
|
specifies the minimum line height in pixels. The line's ascent height |
1545 |
|
is increased as necessary to achieve the specified height. |
1546 |
|
|
1547 |
|
If @var{line-height} property is a floating point number, the |
1548 |
|
minimum line height is the product of @var{line-height} and the |
1549 |
|
default frame line height. |
1550 |
|
|
1551 |
|
If @var{line-height} property is a cons @code{(@var{ratio} . @var{face})}, |
1552 |
|
the minimum line height is calculated as @var{ratio} times the height |
1553 |
|
of face @var{face}. The @var{ratio} is an integer or a floating point |
1554 |
|
number. If @var{face} is @code{t}, it refers to the current face. |
1555 |
|
|
1556 |
|
@vindex default-line-spacing |
1557 |
|
You can specify additional line spacing for all lines in a frame |
1558 |
|
with the @code{line-spacing} frame parameter, @xref{Window Frame |
1559 |
|
Parameters}. However, if the variable @code{default-line-spacing} is |
1560 |
|
non-@code{nil}, it overrides the frame's @code{line-spacing} |
1561 |
|
parameter. An integer value specifies the number of pixels put below |
1562 |
|
lines on window systems. A floating point number specifies the |
1563 |
|
spacing relative to the default frame line height. |
1564 |
|
|
1565 |
|
@vindex line-spacing |
1566 |
|
You can specify additional line spacing for all lines in a buffer |
1567 |
|
via the buffer-local @code{line-spacing} variable. An integer value |
1568 |
|
specifies the number of pixels put below lines on window systems. A |
1569 |
|
floating point number specifies the spacing relative to the default |
1570 |
|
frame line height. |
1571 |
|
|
1572 |
|
@kindex line-spacing @r{(text property)} |
1573 |
|
Finally, a newline can have a @code{line-spacing} text or overlay |
1574 |
|
property that controls the height of the display line ending with that |
1575 |
|
newline. The property value overrides the default frame line spacing |
1576 |
|
and the buffer local @code{line-spacing} variable. We will call the |
1577 |
|
property value @var{line-spacing}. |
1578 |
|
|
1579 |
|
If the @var{line-spacing} value is a positive integer, the value |
1580 |
|
specifies additional vertical space, below the display line, in |
1581 |
|
pixels. |
1582 |
|
|
1583 |
|
If the @var{line-spacing} value is a floating point number or cons, |
1584 |
|
the additional vertical space is the product of @var{line-spacing} and |
1585 |
|
the default frame line height. |
1586 |
|
|
1587 |
|
If the @var{line-spacing} value is a cons @code{(total . @var{spacing})} |
1588 |
|
where @var{spacing} is any of the forms described above, the value of |
1589 |
|
@var{spacing} specifies the total displayed height of the line, |
1590 |
|
regardless of the height of the characters in it. This is equivalent |
1591 |
|
to using the @code{line-height} property. |
1592 |
|
|
1593 |
@node Faces |
@node Faces |
1594 |
@section Faces |
@section Faces |
1595 |
@cindex faces |
@cindex faces |
2906 |
@code{scroll-bar-width} specifies how wide they are (@code{nil} |
@code{scroll-bar-width} specifies how wide they are (@code{nil} |
2907 |
meaning the default). @xref{Window Frame Parameters}. |
meaning the default). @xref{Window Frame Parameters}. |
2908 |
|
|
2909 |
You can also control this for individual windows. Call the function |
@vindex vertical-scroll-bar |
2910 |
|
You can enable or disable scroll bars for a particular buffer, |
2911 |
|
by setting the variable @code{vertical-scroll-bar}. This variable |
2912 |
|
automatically becomes buffer-local when set. The possible values are |
2913 |
|
@code{left}, @code{right}, @code{t}, which means to use the |
2914 |
|
frame's default, and @code{nil} for no scroll bar. |
2915 |
|
|
2916 |
|
You can also control this for individual windows. Call the function |
2917 |
@code{set-window-scroll-bars} to specify what to do for a specific window: |
@code{set-window-scroll-bars} to specify what to do for a specific window: |
2918 |
|
|
2919 |
@defun set-window-scroll-bars window width &optional vertical-type horizontal-type |
@defun set-window-scroll-bars window width &optional vertical-type horizontal-type |