diff --git a/README.asciidoc b/README.asciidoc index 72b427993..86a2d6c9e 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -388,6 +388,28 @@ without needing to install all of kitty. This applies to creating packages for kitty for macOS package managers such as brew or MacPorts as well. + +== Frequently Asked Questions + +=== Some special symbols are rendered small/truncated in kitty? + +The number of cells a unicode character takes up are controlled by the +`wcwidth()` system function. If wcwidth() returns 2 then kitty will render the +character in two cells, otherwise it will render it in one cell. Often the +system `wcwidth()` is old/outdated. You can use the `use_system_width=no` +setting in your kitty.conf to workaround this. But note that it might cause +other issues, since now kitty and the programs running inside it may not agree +on how wide characters should be. When a symbol does not fit, it will either be +rescaled to be smaller or truncated (depending on how much extra space it +needs). This is often different from other terminal which just let the +character overflow into neighboring cells, leading to ugly artifacts. + +Additionally, some things like powerline use square icons via private use +unicode codepoints that are single width. The correct solution for this is to +use either use different icons that are not square, or to use a font that +defines ligatures with the space character for these symbols. See #182 for a +discussion of this approach. + == A tribute While over the decades I am sure many people have contributed to the diff --git a/kitty/kitty.conf b/kitty/kitty.conf index d0fdf7601..84ed58dea 100644 --- a/kitty/kitty.conf +++ b/kitty/kitty.conf @@ -155,8 +155,8 @@ open_url_with default # problem is that system implementations often are based on outdated unicode # standards and get the width of many characters, such as emoji, wrong. So if # you are using kitty with programs that have their own up-to-date wcwidth() -# implementation, set this option to no. -use_system_wcwidth yes +# implementation, set this option to no, otherwise set it to yes. +use_system_wcwidth no # The value of the TERM environment variable to set term xterm-kitty