3

Using the Emacs GUI, I get a certain amount of spacing between each line of text. By default this spacing seems to be zero, but can be increased by customizing line spacing. This is the default of zero:

without spacing

And this is the same text when line spacing is set to 2:

with increased spacing

Because I'd like extra lines on my screen and don't think it would impact readability a lot, I'd like to use a line spacing of -1, so the lines overlap just slightly. How can I do this?

liszt
  • 725
  • 1
  • 5
  • 10
  • 2
    I have used `line-spacing` myself in the past, and I believe you can't set it to be negative. The Emacs font rendering system really just doesn't allow for that. – sanityinc Oct 01 '14 at 20:43
  • This may depend on what GUI you use. So what operating system and GUI — and rendering library in fact — do you use? (e.g. Aqua, X11 with bitmap font, Cairo, …) – Gilles 'SO- stop being evil' Oct 01 '14 at 20:46
  • I'm using Arch Linux and its default Emacs package. I'm not sure how to tell which rendering library I'm using. I installed no desktop environment and simply run xmonad within xinitrc, if that helps any. I have Cairo installed. I'm using truetype fonts. – liszt Oct 01 '14 at 21:06

1 Answers1

5

I'm sorry to say that this seems to be entirely impossible in Emacs currently. From Line Height (emphasis mine):

The total height of each display line consists of the height of the contents of the line, plus optional additional vertical line spacing above or below the display line.

The height of the line contents is the maximum height of any character or image on that display line, including the final newline if there is one. (A display line that is continued doesn't include a final newline.) That is the default line height, if you do nothing to specify a greater height. (In the most common case, this equals the height of the default frame font.)

There are several ways to explicitly specify a larger line height, either by specifying an absolute height for the display line, or by specifying vertical space. However, no matter what you specify, the actual line height can never be less than the default.

In other words, you cannot shrink the line height below the maximum height of any character on the line. Hence, having lines with overlapping characters is impossible currently.