elisp: Specified Space

 
 37.16.2 Specified Spaces
 ------------------------
 
 To display a space of specified width and/or height, use a display
 specification of the form ‘(space . PROPS)’, where PROPS is a property
 list (a list of alternating properties and values).  You can put this
 property on one or more consecutive characters; a space of the specified
 height and width is displayed in place of _all_ of those characters.
 These are the properties you can use in PROPS to specify the weight of
 the space:
 
 ‘:width WIDTH’
      If WIDTH is a number, it specifies that the space width should be
      WIDTH times the normal character width.  WIDTH can also be a “pixel
      width” specification (SeePixel Specification).
 
 ‘:relative-width FACTOR’
      Specifies that the width of the stretch should be computed from the
      first character in the group of consecutive characters that have
      the same ‘display’ property.  The space width is the pixel width of
      that character, multiplied by FACTOR.  (On text-mode terminals, the
      “pixel width” of a character is usually 1, but it could be more for
      TABs and double-width CJK characters.)
 
 ‘:align-to HPOS’
      Specifies that the space should be wide enough to reach HPOS.  If
      HPOS is a number, it is measured in units of the normal character
      width.  HPOS can also be a “pixel width” specification (SeePixel
      Specification).
 
    You should use one and only one of the above properties.  You can
 also specify the height of the space, with these properties:
 
 ‘:height HEIGHT’
      Specifies the height of the space.  If HEIGHT is a number, it
      specifies that the space height should be HEIGHT times the normal
      character height.  The HEIGHT may also be a “pixel height”
      specification (SeePixel Specification).
 
 ‘:relative-height FACTOR’
      Specifies the height of the space, multiplying the ordinary height
      of the text having this display specification by FACTOR.
 
 ‘:ascent ASCENT’
      If the value of ASCENT is a non-negative number no greater than
      100, it specifies that ASCENT percent of the height of the space
      should be considered as the ascent of the space—that is, the part
      above the baseline.  The ascent may also be specified in pixel
      units with a “pixel ascent” specification (SeePixel
      Specification).
 
    Don’t use both ‘:height’ and ‘:relative-height’ together.
 
    The ‘:width’ and ‘:align-to’ properties are supported on non-graphic
 terminals, but the other space properties in this section are not.
 
    Note that space properties are treated as paragraph separators for
 the purposes of reordering bidirectional text for display.  See
 Bidirectional Display, for the details.