Fix a couple of the DEC Special Graphics characters #2081
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of the Pull Request
Corrects the 0x5f code point in the DEC Special Graphics character set, which is meant to map to a blank glyph rather than an underscore. and updates the 0x60 code point to map to a "black diamond suite" glyph, rather than the "black diamond" glyph, since the latter currently renders as a double width character.
PR Checklist
Detailed Description of the Pull Request / Additional comments
The was mostly a matter of updating the
s_rgDECSpecialGraphicsTranslations
table in theTerminalOutput
class, but also required a change in theTranslateKey
method, to make sure the 0x5f code point was included in the range of translatable characters.I've also made a few cosmetic changes to the source, fixing the comments on the translation table to match the DEC documentation (a couple of them were not quite right), and tidying up the case of the hex values in the table, so they're all consistently lowercase now.
The latter changes have been committed separately, so they're easy enough to revert if there are any objections to including them in this PR.
Validation Steps Performed
I've tested manually with Vttest's Test of character sets, making sure the two code points are mapped as expected, and the diamond glyph doesn't break the layout by being too wide.