<table><tr><td style="">mglb created this revision.<br />mglb added reviewers: Konsole, VDG.<br />mglb added a project: Konsole.<br />mglb requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D18735">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">Fix bold lines (BUG 402415).</li>
<li class="remarkup-list-item">Make drawing pixel-perfect.</li>
<li class="remarkup-list-item">Make line width proportional to font size.</li>
<li class="remarkup-list-item">Move relevant code to separate file and namespace.</li>
<li class="remarkup-list-item">Remove code for checking supported line characters from Character class. Information about what is supported is now in one place together width drawing code.</li>
<li class="remarkup-list-item">Remove fontembedder/LineFont files (no longer used).</li>
<li class="remarkup-list-item">Add test script for displaying supported characters table.</li>
<li class="remarkup-list-item">Add triple and quadruple dashes (U+2504...U+250B).</li>
<li class="remarkup-list-item">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.</li>
</ul>

<p><a href="https://phabricator.kde.org/F6587215" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6587215: table-big.png</a></p>

<p><a href="https://phabricator.kde.org/F6587216" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6587216: table-small.png</a></p>

<p><a href="https://phabricator.kde.org/F6587214" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6587214: alignment.png</a></p>

<p>Without AA:</p>

<p><a href="https://phabricator.kde.org/F6587330" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6587330: table-big-no-aa.png</a></p>

<p><a href="https://phabricator.kde.org/F6587331" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6587331: table-small-no-aa.png</a></p>

<p>Note: Copyrights in LineBlockCharactersDrawer.cpp are based on<br />
<tt style="background: #ebebeb; font-size: 13px;">git blame -w src/TerminalDisplay.cpp</tt> executed before moving the code<br />
to a separate file. Years from first/last commit. Authors sorted by<br />
year. Whitespace-only changes were ignored. Maksim's code was commited<br />
by Waldo Bastian who mentioned him as the author in commit message<br />
(see <a href="https://phabricator.kde.org/R319:5062b40dd6c53de4fe1d447de17009a85d7793bd" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">5062b40dd</a>).</p>

<p>BUG 402415</p></div></div><br /><div><strong>TEST PLAN</strong><div><h3 class="remarkup-header">Common steps for all tests</h3>

<ul class="remarkup-list">
<li class="remarkup-list-item">Open <em>Edit Current Profile → Appearance</em>.</li>
<li class="remarkup-list-item">Turn on <em>Draw intense colors in bold font</em>.</li>
<li class="remarkup-list-item">Turn off <em>Use line characters contained in font</em>.</li>
<li class="remarkup-list-item">(Optional) select a font which is able to display bold characters in Konsole (e.g. DejaVu Sans Mono).</li>
</ul>

<h3 class="remarkup-header">Check characters validity</h3>

<ul class="remarkup-list">
<li class="remarkup-list-item">Run <tt style="background: #ebebeb; font-size: 13px;">./tests/line_block_characters_table.py</tt>.</li>
<li class="remarkup-list-item">Open <em>Edit Current Profile → Appearance</em>.</li>
<li class="remarkup-list-item">By switching <em>Use line characters contained in font</em> on and off, compare built-in characters drawing with characters from a font. General shape and line directions must be the same. Small offsets, line width differences (as long as proportions between lines in a character are kept), and quality differences are allowed.</li>
</ul>

<h3 class="remarkup-header">Review overall quality</h3>

<ul class="remarkup-list">
<li class="remarkup-list-item">Run <tt style="background: #ebebeb; font-size: 13px;">./tests/line_block_characters_table.py</tt>.</li>
<li class="remarkup-list-item">Review glyphs quality in different font sizes.</li>
<li class="remarkup-list-item">Open <em>Edit Current Profile → Appearance</em>.</li>
<li class="remarkup-list-item">Toggle <em>Smooth fonts</em>, review quality again.</li>
</ul>

<h3 class="remarkup-header">Check alignment</h3>

<ul class="remarkup-list">
<li class="remarkup-list-item">Display <tt style="background: #ebebeb; font-size: 13px;">tests/UTF-8-demo.txt</tt></li>
<li class="remarkup-list-item">At the bottom of the file you can find a few alignment images. Check if all lines align properly. If you're unsure how it should look, compare it with font characters by turning on <em>Use line characters contained in font</em> option.</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R319 Konsole</div></div></div><br /><div><strong>BRANCH</strong><div><div>wip/line-block-characters-drawing (branched from master)</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D18735">https://phabricator.kde.org/D18735</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/CMakeLists.txt<br />
src/Character.h<br />
src/LineBlockCharacters.cpp<br />
src/LineBlockCharacters.h<br />
src/LineFont.h<br />
src/LineFont.src<br />
src/TerminalDisplay.cpp<br />
tests/line_block_characters_table.py<br />
tools/CMakeLists.txt<br />
tools/fontembedder.cpp</div></div></div><br /><div><strong>To: </strong>mglb, Konsole, VDG<br /><strong>Cc: </strong>konsole-devel, maciejn, thsurrel, ngraham, maximilianocuria, hindenburg<br /></div>