Johannes Altmanninger 5ab23a964f Scale curly and double underlines with font size
Curly underlines are implemented by drawing two parallel, complementary-dashed
lines with a distance of 2 pixels.

This means they dont' scale with font size. They only look good with a small
font size. At a first glance, they are also not so easy to tell apart from
regular underlines.

Fix this by
1. drawing a cosine wave instead of of parallel dashed lines
2. always drawing a full wave period per glph, indendent of the font size
3. using the text line width, instead of always using 1px

A similar (but much less prominent) issue exists for double underlines.
Change them too, keeping the implementation consistent.

Tested with

    printf '\033[31m\033[4:3mcurly\033[4m\033[31m\033[4:2mdouble\033[4m'

Note that the curly underline overlaps with the "y".  Perhaps we should
fix this.

Probably there are more improvements to be made, and it's possible there is
a more elegant solution than repeated drawArc() calls.

Publishing this early nevertheless because it's hopefully close to an overall
improvement; But I did not have a chance to look into the bugs mentioned in
76f879cd7 (Draw characters in exact positions, 2022-08-06)
2025-08-28 18:31:31 +02:00
2024-07-01 23:29:08 +00:00
2025-08-28 01:56:41 +00:00
2024-08-24 10:18:54 -04:00
2023-12-26 18:44:31 +00:00
2018-09-18 09:36:37 -04:00
2025-02-12 09:32:17 +01:00
2025-02-12 09:32:17 +01:00
2021-08-03 11:31:47 -04:00
2006-07-11 18:17:49 +00:00
2020-06-19 21:02:52 -04:00
2011-06-27 00:45:30 +02:00
2020-06-19 21:03:56 -04:00
2024-09-12 06:59:01 +02:00

Konsole - KDE's Terminal Emulator

Konsole is a terminal program for KDE.

As well as being a standalone program, it is also used by other KDE programs such as the Kate editor and KDevelop development environment to provide easy access to a terminal window. Konsole's features and usage are explained and illustrated in the Konsole handbook, which can be accessed by browsing to help:/konsole in Konqueror.

Directory Structure

Directory Description
/doc/user README files, primarily for advanced users, explaining various aspects of Konsole such as fonts and keyboard handling in-depth.
/doc/developer README files and resources for developers of Konsole. This includes information on the design of Konsole's internals and the VT100 terminal on which Konsole's emulation is based.
/src Source code for Konsole, including the embedded versions of Konsole which are used in Kate, KDevelop and others.
/desktop .desktop files for Konsole, used to launch the program from KDE's various menus and other application launchers.
/data Data files for use with Konsole as well as the keyboard setup and color schemes provided with Konsole.

Contact

Up-to-date information about the latest releases can be found on Konsole's website at https://konsole.kde.org. Discussions about Konsole's development are held on the konsole-devel mailing list, which can be accessed at https://mail.kde.org/mailman/listinfo/konsole-devel.

Description
No description provided
Readme 184 MiB
Languages
C++ 97.3%
CMake 1.1%
C 1%
Shell 0.5%
Python 0.1%