comparison lispref/text.texi @ 57222:f0af4b0029b5

(Special Properties): Cleanups in `cursor'. Rewrites in `line-height' and `line-spacing'; exchange them.
author Richard M. Stallman <rms@gnu.org>
date Sat, 25 Sep 2004 07:19:34 +0000
parents ba03d6f29083
children 1aa63962c3cf 0b158db81c28
comparison
equal deleted inserted replaced
57221:18bdf278f148 57222:f0af4b0029b5
2975 @xref{Fields}. 2975 @xref{Fields}.
2976 2976
2977 @item cursor 2977 @item cursor
2978 @kindex cursor @r{(text property)} 2978 @kindex cursor @r{(text property)}
2979 Normally, the cursor is displayed at the end of any overlay and text 2979 Normally, the cursor is displayed at the end of any overlay and text
2980 property string that may be present at the current window position. 2980 property strings present at the current window position. You can
2981 The cursor may be placed on any character of such strings by giving 2981 place the cursor on any desired character of these strings by giving
2982 that character a non-@code{nil} @var{cursor} text property. 2982 that character a non-@code{nil} @var{cursor} text property.
2983 2983
2984 @item pointer 2984 @item pointer
2985 @kindex pointer @r{(text property)} 2985 @kindex pointer @r{(text property)}
2986 This specifies a specific pointer shape when the mouse pointer is over 2986 This specifies a specific pointer shape when the mouse pointer is over
2987 this text or image. See the variable @var{void-area-text-pointer} 2987 this text or image. See the variable @var{void-area-text-pointer}
2988 for possible pointer shapes. 2988 for possible pointer shapes.
2989 2989
2990 @item line-spacing
2991 @kindex line-spacing @r{(text property)}
2992 A newline can have a @code{line-spacing} text or overlay property
2993 that controls the height of the corresponding display line.
2994 @c ??? Which display line is "corresponding"?
2995 The @code{line-spacing} property overrides the default frame line
2996 spacing and the buffer local @code{line-spacing} variable. We will
2997 call the property value @var{line-spacing}.
2998
2999 If @var{line-spacing} is a positive integer, the value specifies
3000 additional vertical space, below the display line, in pixels.
3001
3002 If @var{line-spacing} is a floating point number or cons, the
3003 additional vertical space is the product of @var{line-spacing} and the
3004 default frame line height.
3005
3006 If the @var{line-spacing} value is a cons @code{(total .
3007 @var{spacing})} where @var{spacing} is any of the forms described
3008 above, the value of @var{spacing} specifies the total displayed height
3009 of the line, regardless of the height of the characters in it. This
3010 is equivalent to using the @code{line-height} property.
3011
2990 @item line-height 3012 @item line-height
2991 @kindex line-height @r{(text property)} 3013 @kindex line-height @r{(text property)}
2992 A newline may have @code{line-height} text or overlay properties that 3014 A newline can have a @code{line-height} text or overlay property that
2993 controls the height of the corresponding display row. 3015 controls the total height of the corresponding display line.
2994 3016 @c ??? Which display line is "corresponding"?
2995 If the @code{line-height} property value is @samp{0}, the newline does 3017 We will call the property value @var{line-height}.
2996 not contribute to the height of the display row; instead the height of 3018
2997 the newline glyph is reduced. Also, a @code{line-spacing} property on 3019 If @var{line-height} is 0, the newline does not contribute to the
3020 height of the display row; instead the height of the newline glyph is
3021 reduced.
3022 @c ??? That is not clear. Reduced how much?
3023 In that case, any @code{line-spacing} property on
2998 this newline is ignored. This can be used to tile small images or 3024 this newline is ignored. This can be used to tile small images or
2999 image slices without adding blank areas between the images. 3025 image slices without adding blank areas between the images.
3000 3026 @c ??? Precisely which of these features does ``this'' mean?
3001 If the @code{line-height} property value is a positive integer, the 3027
3002 value specifies the minimum line height in pixels. If necessary, the 3028 If @var{line-height} is a positive integer, the value specifies the
3003 line height it increased by increasing the line's ascent. 3029 minimum line height in pixels. The line's ascent height is
3004 3030 increased as necessary to achieve the specified height.
3005 If the @code{line-height} property value is a floating point number, 3031
3006 the minimum line height is calculated by multiplying the default frame 3032 If @var{line-height} is a floating point number, the minimum line
3007 line height by the given value. 3033 height is the product of @var{line-height} and the default frame line
3008 3034 height.
3009 If the @code{line-height} property value is a cons @code{(@var{ratio} 3035
3010 . @var{face})}, the minimum line height is calculated as @var{ratio} * 3036 If @var{line-height} is a cons @code{(@var{ratio} . @var{face})}, the
3011 height of named face @var{face}. The @var{ ratio} is an integer or a 3037 minimum line height is calculated as @var{ratio} times the height of
3012 floating point number. If @var{face} is @code{t}, it specifies the 3038 face @var{face}. The @var{ratio} is an integer or a floating point
3013 current face. 3039 number. If @var{face} is @code{t}, it refers to the current face.
3014
3015 @item line-spacing
3016 @kindex line-spacing @r{(text property)}
3017 A newline may also have a @code{line-spacing} text or overlay
3018 properties that controls the height of the corresponding display row.
3019
3020 If the @code{line-spacing} property value is an positive integer, the
3021 value is used as additional pixels to insert after the display line;
3022 this overrides the default frame line-spacing and any buffer local
3023 value of the @var{line-spacing} variable.
3024
3025 If the @code{line-spacing} property is a floating point number or
3026 cons, the line spacing is calculated as specified above for the
3027 @code{line-height} property.
3028
3029 If the @code{line-spacing} value is a cons @code{(total . @var{spacing})}
3030 where @var{spacing} is any of the forms described above, the value of
3031 @var{spacing} is used as the total height of the line, i.e. a varying
3032 number of pixels are inserted after each line to make each line
3033 exactly that many pixels high.
3034
3035 Using the @code{line-spacing} property overrides the buffer local
3036 @var{line-spacing} variable. That value of that variable may be an
3037 integer that specifies a number of pixels, or a floating point
3038 number which gives the spacing relative to the default frame line height.
3039 3040
3040 @item modification-hooks 3041 @item modification-hooks
3041 @cindex change hooks for a character 3042 @cindex change hooks for a character
3042 @cindex hooks for changing a character 3043 @cindex hooks for changing a character
3043 @kindex modification-hooks @r{(text property)} 3044 @kindex modification-hooks @r{(text property)}