DRCS-SIXEL version 2 = DCS Pfn; Pcn; Pe; Pcmw; Pss; 3; Pcmh; Pcss { SP Dscs ST = P1; P2; P3; q s...s * P1; P2; P3; q is optional. * " Pan; Pad; Ph; Pv in s...s is optional. This sequence devides sixel graphics image by cell(*1), and defines image pieces as the glyphs of (*2) code of character set in order from the top-left corner cell. (*1) The number of columns and rows are calculated as follows. = sixel graphics image width / cell width (rounded up) = sixel graphics image height / cell height (rounded up) (Width and height include transparent pixels) (*2) 0x20 of is next to 0x7f of , and 0x20 of 0x30 set which consists of 96 characters is next to 0x7f of 0x7e set which consists of 94 characters. [Appendix] o The number of columns and rows of sixel graphic image are calculated as follows. = sixel graphics image width / cell width (rounded down) = sixel graphics image height / cell height (rounded down) (Width and height excludes transparent pixels) o The range of defining image pieces as font glyphs by DECDLD is - 0x7f of alone. U+10XXYY (0x30 <= 0xXX <= 0x7E, 0x20 <= 0xYY <= 0x7F) => ESC ( SP <\xXX> <\xYY> ESC ( B U+10XXZZ (0x30 <= 0xXX <= 0x7E, 0xA0 <= 0xZZ <= 0xFF) => ESC - SP <\xXX> <\xZZ> The width of U+10XXYY and U+10XXZZ (PUA) is defined as ambiguous in EastAsianWidth.txt, but all of terminal emulators and console applications should regard it as halfwidth to show DRCS-SIXEL correctly. (DRCS mapping rule version 1: https://github.com/saitoha/drcsterm/blob/master/README.rst)