Improve built-in line/block characters drawing
* Fix bold lines (BUG xxxx)
* Pixel-perfect line drawing
* Make line width proportional to font size
Remove fontembedder/LineFont files
New line drawing code does not use this.
Line/block characters: refactoring
* Move code to separate namespace/file
* Remove code for checking supported line characters from Character
class. Information about what is supported is now in one place
together width drawing code
* Tune line widths
* Formatting, etc.
Copyrights in LineBlockCharactersDrawer.cpp are based on
`git blame -w src/TerminalDisplay.cpp` executed before moving the code
to a separate file. Years from first/last commit. Authors sorted by
year. Whitespace-only changes were ignored. Maksim's code was commited
by Waldo Bastian who mentioned him as the author in commit message
(see 5062b40dd).
Line/block characters: add triple and quad dashes
Make code responsible for drawing double dash more generic and add
triple and quadruple dashes (U+2504...U+250B).
Line/block characters: rename namespace and files
Remove stray ;
Remove unused overloaded function
Change LightWidthToFontSizeRatio to 1/6.5
DejaVu Sans Mono 8pt (7px character width)
TODO: describe when the 2px/3px starts
Improve code formating and constant name
Add frames to line/block characters test table
Make bold lines at least 1px wider than regular lines
When font size is big enough (i.e. has width >= 7), bold lines always
will be at least 1px wider than regular lines.
Use uint instead of qreal for line widths
Improve built-in line/box characters drawing
* Fix bold lines (BUG 402415).
* Make drawing pixel-perfect.
* Make line width proportional to font size.
* Move relevant code to separate file and namespace.
* Remove code for checking supported line characters from Character
class. Information about what is supported is now in one place
together width drawing code.
* Remove fontembedder/LineFont files (no longer used).
* Add test script for displaying supported characters table.
* Add triple and quadruple dashes (U+2504...U+250B).
* Change shade block characters (U+2591...U+2593) look. When
antialiasing is turned on, shades are drawn as transculent solid
rectangles with 25%, 50% and 75% alpha. This matches the characters
name/description and their usage. Without antialiasing, previous
method with patterns is used.
*Screenshots*
Font size: 10pt; character width: 8px
{F6602823}
Font size: 11pt; character width: 9px
{F6602824}
Font size: 12pt; character width: 10px
{F6602825}
Font size: 13-14pt; character width: 11px; w/o antialiasing
{F6602826}
Font size: 13-14pt; character width: 11px
{F6602827}
Font size: 15pt; character width: 12px
{F6602828}
Font size: 6-7pt; character width: 5px
{F6602829}
Font size: 8-9pt; character width: 7px; w/o antialiasing
{F6602830}
Font size: 8-9pt; character width: 7px
{F6602831}
Alignment test (8pt)
{F6602832}
Note: Copyrights in LineBlockCharactersDrawer.cpp are based on
`git blame -w src/TerminalDisplay.cpp` executed before moving the code
to a separate file. Years from first/last commit. Authors sorted by
year. Whitespace-only changes were ignored. Maksim's code was commited
by Waldo Bastian who mentioned him as the author in commit message
(see 5062b40dd).
BUG 402415