89 lines
5.9 KiB
Python
89 lines
5.9 KiB
Python
import itertools
|
||
def print_format_table():
|
||
"""
|
||
prints table of formatted text format options
|
||
"""
|
||
# SGR arguments:
|
||
# n Name Note
|
||
# 0 Reset or normal All attributes become turned off
|
||
# 1 Bold or increased intensity As with faint, the color change is a PC (SCO / CGA) invention.[22][better source needed]
|
||
# 2 Faint, decreased intensity, or dim May be implemented as a light font weight like bold.[23]
|
||
# 3 Italic Not widely supported. Sometimes treated as inverse or blink.[22]
|
||
# 4 Underline Style extensions exist for Kitty, VTE, mintty, iTerm2 and Konsole.[24][25][26]
|
||
# 5 Slow blink Sets blinking to less than 150 times per minute
|
||
# 6 Rapid blink MS-DOS ANSI.SYS, 150+ per minute; not widely supported
|
||
# 7 Reverse video or invert Swap foreground and background colors; inconsistent emulation[27][dubious – discuss]
|
||
# 8 Conceal or hide Not widely supported.
|
||
# 9 Crossed-out, or strike Characters legible but marked as if for deletion. Not supported in Terminal.app.
|
||
# 10 Primary (default) font
|
||
# 11–19 Alternative font Select alternative font n − 10
|
||
# 20 Fraktur (Gothic) Rarely supported
|
||
# 21 Doubly underlined; or: not bold Double-underline per ECMA-48,[5]: 8.3.117 but instead disables bold intensity on several terminals, including in the Linux kernel's console before version 4.17.[28]
|
||
# 22 Normal intensity Neither bold nor faint; color changes where intensity is implemented as such.
|
||
# 23 Neither italic, nor blackletter
|
||
# 24 Not underlined Neither singly nor doubly underlined
|
||
# 25 Not blinking Turn blinking off
|
||
# 26 Proportional spacing ITU T.61 and T.416, not known to be used on terminals
|
||
# 27 Not reversed
|
||
# 28 Reveal Not concealed
|
||
# 29 Not crossed out
|
||
# 30–37 Set foreground color
|
||
# 38 Set foreground color Next arguments are 5;n or 2;r;g;b
|
||
# 39 Default foreground color Implementation defined (according to standard)
|
||
# 40–47 Set background color
|
||
# 48 Set background color Next arguments are 5;n or 2;r;g;b
|
||
# 49 Default background color Implementation defined (according to standard)
|
||
# 50 Disable proportional spacing T.61 and T.416
|
||
# 51 Framed Implemented as "emoji variation selector" in mintty.[29]
|
||
# 52 Encircled
|
||
# 53 Overlined Not supported in Terminal.app
|
||
# 54 Neither framed nor encircled
|
||
# 55 Not overlined
|
||
# 58 Set underline color Not in standard; implemented in Kitty, VTE, mintty, and iTerm2.[24][25] Next arguments are 5;n or 2;r;g;b.
|
||
# 59 Default underline color Not in standard; implemented in Kitty, VTE, mintty, and iTerm2.[24][25]
|
||
# 60 Ideogram underline or right side line Rarely supported
|
||
# 61 Ideogram double underline, or double line on the right side
|
||
# 62 Ideogram overline or left side line
|
||
# 63 Ideogram double overline, or double line on the left side
|
||
# 64 Ideogram stress marking
|
||
# 65 No ideogram attributes Reset the effects of all of 60–64
|
||
# 73 Superscript Implemented only in mintty[29]
|
||
# 74 Subscript
|
||
# 75 Neither superscript nor subscript
|
||
# 90–97 Set bright foreground color Not in standard; originally implemented by aixterm[13]
|
||
# 100–107 Set bright background color
|
||
|
||
print(''.join(
|
||
f'\x1b[0;{command}m\\x1b[{command}m\x1b[m{' '*(3-len(str(command)))}{' ' if (command + 1) % 18 else '\n'}'
|
||
for command in range(108)
|
||
))
|
||
|
||
supported = (0, # reset
|
||
1, # bold
|
||
2, # dim
|
||
22, # normal intensity
|
||
3, # italic
|
||
23, # ? neither italic nor blackletter
|
||
53, # overlined
|
||
55, # not overlined
|
||
4, # underline
|
||
21, # dunderline
|
||
24, # ? not underlined
|
||
9, # strike
|
||
29, # not strike
|
||
7, # invert
|
||
27, # not inverted
|
||
8, # hidden
|
||
28, # not hidden
|
||
30, 31, 32, 33, 34, 35, 36, 37, # fg color
|
||
38, # fg color 38;5;n or 38;2;r;g;b
|
||
39, # reset fg color
|
||
40, 41, 42, 43, 44, 45, 46, 47, # bg color
|
||
48, # bg color 48;5;n or 48;2;r;g;b
|
||
49, # reset bg color
|
||
90, 91, 92, 93, 94, 95, 96, 97,
|
||
100, 101, 102, 103, 104, 105, 106, 107
|
||
)
|
||
|
||
print_format_table()
|