Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UPPER/LOWER HALF BLOCK characters support #74

Closed
o-sdn-o opened this issue Jul 5, 2021 · 0 comments · Fixed by #75
Closed

UPPER/LOWER HALF BLOCK characters support #74

o-sdn-o opened this issue Jul 5, 2021 · 0 comments · Fixed by #75
Labels
enhancement New feature or request UX User Experience

Comments

@o-sdn-o
Copy link
Collaborator

o-sdn-o commented Jul 5, 2021

The Linux console uses a standard 512-character VGA font that does not contain the glyphs needed to draw QR codes.

The following characters in this font can be replaced with minimal side effects:

VGA_FONT[10] = '•' U+2022 'BULLET' 
               '○' U+25cf 'BLACK CIRCLE'
0 1 2 3 4 5 6 7  
░░░░░░░░░░░░░░░░0
░░░░░░░░░░░░░░░░1
░░░░░░░░░░░░░░░░2
░░░░░░░░░░░░░░░░3
░░░░░░░░░░░░░░░░4
░░░░░░░░░░░░░░░░5
░░░░░░░░░░░░░░░░6
░░░░██████░░░░░░7
░░██████████░░░░8
░░██████████░░░░9
░░██████████░░░░a
░░░░██████░░░░░░b
░░░░░░░░░░░░░░░░c
░░░░░░░░░░░░░░░░d
░░░░░░░░░░░░░░░░e
░░░░░░░░░░░░░░░░f

VGA_FONT[211] = '∙' U+2219 'BULLET OPERATOR'
0 1 2 3 4 5 6 7  
░░░░░░░░░░░░░░░░0
░░░░░░░░░░░░░░░░1
░░░░░░░░░░░░░░░░2
░░░░░░░░░░░░░░░░3
░░░░░░░░░░░░░░░░4
░░░░░░░░░░░░░░░░5
░░░░░░░░░░░░░░░░6
░░░░░░████░░░░░░7
░░░░████████░░░░8
░░░░████████░░░░9
░░░░░░████░░░░░░a
░░░░░░░░░░░░░░░░b
░░░░░░░░░░░░░░░░c
░░░░░░░░░░░░░░░░d
░░░░░░░░░░░░░░░░e
░░░░░░░░░░░░░░░░f

VGA_FONT[254] = '■' U+25a0 'BLACK SQUARE'
                '▯' U+25ae 'BLACK VERTICAL RECTANGLE'
0 1 2 3 4 5 6 7  
░░░░░░░░░░░░░░░░0
░░░░░░░░░░░░░░░░1
░░░░░░░░░░░░░░░░2
░░░░░░░░░░░░░░░░3
░░░░░░░░░░░░░░░░4
░░░░░░░░░░░░░░░░5
░░░░░░░░░░░░░░░░6
░░████████████░░7
░░████████████░░8
░░████████████░░9
░░████████████░░a
░░████████████░░b
░░████████████░░c
░░░░░░░░░░░░░░░░d
░░░░░░░░░░░░░░░░e
░░░░░░░░░░░░░░░░f

Note that VGA_FONT[10] and VGA_FONT[211] are very similar. They can be combined.
VGA_FONT[254] is similar to U+2584 '▄' 'LOWER HALF BLOCK'.

As a result, it is possible to get:

VGA_FONT[10] = U+2580 '▀' 'UPPER HALF BLOCK'
(redrawn)
0 1 2 3 4 5 6 7         0 1 2 3 4 5 6 7
░░░░░░░░░░░░░░░░0       ████████████████0
░░░░░░░░░░░░░░░░1       ████████████████1
░░░░░░░░░░░░░░░░2       ████████████████2
░░░░░░░░░░░░░░░░3       ████████████████3
░░░░░░░░░░░░░░░░4       ████████████████4
░░░░░░░░░░░░░░░░5       ████████████████5
░░░░░░░░░░░░░░░░6       ████████████████6
░░░░██████░░░░░░7       ████████████████7
░░██████████░░░░8  =>   ░░░░░░░░░░░░░░░░8
░░██████████░░░░9       ░░░░░░░░░░░░░░░░9
░░██████████░░░░a       ░░░░░░░░░░░░░░░░a
░░░░██████░░░░░░b       ░░░░░░░░░░░░░░░░b
░░░░░░░░░░░░░░░░c       ░░░░░░░░░░░░░░░░c
░░░░░░░░░░░░░░░░d       ░░░░░░░░░░░░░░░░d
░░░░░░░░░░░░░░░░e       ░░░░░░░░░░░░░░░░e
░░░░░░░░░░░░░░░░f       ░░░░░░░░░░░░░░░░f

VGA_FONT[211] = '∙' U+2219 'BULLET OPERATOR'
                '•' U+2022 'BULLET' 
                '○' U+25cf 'BLACK CIRCLE'
0 1 2 3 4 5 6 7  
░░░░░░░░░░░░░░░░0
░░░░░░░░░░░░░░░░1
░░░░░░░░░░░░░░░░2
░░░░░░░░░░░░░░░░3
░░░░░░░░░░░░░░░░4
░░░░░░░░░░░░░░░░5
░░░░░░░░░░░░░░░░6
░░░░░░████░░░░░░7
░░░░████████░░░░8
░░░░████████░░░░9
░░░░░░████░░░░░░a
░░░░░░░░░░░░░░░░b
░░░░░░░░░░░░░░░░c
░░░░░░░░░░░░░░░░d
░░░░░░░░░░░░░░░░e
░░░░░░░░░░░░░░░░f

VGA_FONT[254] = '■' U+25a0 'BLACK SQUARE'
                '▯' U+25ae 'BLACK VERTICAL RECTANGLE'
                '▄' U+2584 'LOWER HALF BLOCK'
(redrawn)
0 1 2 3 4 5 6 7         0 1 2 3 4 5 6 7
░░░░░░░░░░░░░░░░0       ░░░░░░░░░░░░░░░░0
░░░░░░░░░░░░░░░░1       ░░░░░░░░░░░░░░░░1
░░░░░░░░░░░░░░░░2       ░░░░░░░░░░░░░░░░2
░░░░░░░░░░░░░░░░3       ░░░░░░░░░░░░░░░░3
░░░░░░░░░░░░░░░░4       ░░░░░░░░░░░░░░░░4
░░░░░░░░░░░░░░░░5       ░░░░░░░░░░░░░░░░5
░░░░░░░░░░░░░░░░6       ░░░░░░░░░░░░░░░░6
░░████████████░░7  =>   ░░░░░░░░░░░░░░░░7
░░████████████░░8       ████████████████8
░░████████████░░9       ████████████████9
░░████████████░░a       ████████████████a
░░████████████░░b       ████████████████b
░░████████████░░c       ████████████████c
░░░░░░░░░░░░░░░░d       ████████████████d
░░░░░░░░░░░░░░░░e       ████████████████e
░░░░░░░░░░░░░░░░f       ████████████████f
@o-sdn-o o-sdn-o linked a pull request Jul 5, 2021 that will close this issue
@o-sdn-o o-sdn-o added enhancement New feature or request UX User Experience labels May 23, 2023
@o-sdn-o o-sdn-o changed the title [Linux console] UPPER/LOWER HALF BLOCK characters support UPPER/LOWER HALF BLOCK` characters support May 23, 2023
@o-sdn-o o-sdn-o changed the title UPPER/LOWER HALF BLOCK` characters support UPPER/LOWER HALF BLOCK characters support May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request UX User Experience
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant