blob: c82c52548140c5ca5311ffe35525b6c1e88b2797 [file] [log] [blame]
Bram Moolenaare4f25e42017-07-07 11:54:15 +02001INIT
2UTF8 1
3WANTSTATE g
4
5!Low
6RESET
7PUSH "ABC"
8 putglyph 0x41 1 0,0
9 putglyph 0x42 1 0,1
10 putglyph 0x43 1 0,2
11
12!UTF-8 1 char
13# U+00C1 = 0xC3 0x81 name: LATIN CAPITAL LETTER A WITH ACUTE
14# U+00E9 = 0xC3 0xA9 name: LATIN SMALL LETTER E WITH ACUTE
15RESET
16PUSH "\xC3\x81\xC3\xA9"
17 putglyph 0xc1 1 0,0
18 putglyph 0xe9 1 0,1
19
Bram Moolenaarb5b49a32018-03-25 16:20:37 +020020!UTF-8 split writes
21RESET
22PUSH "\xC3"
23PUSH "\x81"
24 putglyph 0xc1 1 0,0
25
Bram Moolenaare4f25e42017-07-07 11:54:15 +020026!UTF-8 wide char
27# U+FF10 = 0xEF 0xBC 0x90 name: FULLWIDTH DIGIT ZERO
28RESET
29PUSH "\xEF\xBC\x90 "
30 putglyph 0xff10 2 0,0
31 putglyph 0x20 1 0,2
32
Bram Moolenaard4a5f402020-05-17 16:04:44 +020033!UTF-8 emoji wide char
34# U+1F600 = 0xF0 0x9F 0x98 0x80 name: GRINNING FACE
35RESET
36PUSH "\xF0\x9F\x98\x80 "
37 putglyph 0x1f600 2 0,0
38 putglyph 0x20 1 0,2
39
Bram Moolenaare4f25e42017-07-07 11:54:15 +020040!UTF-8 combining chars
41# U+0301 = 0xCC 0x81 name: COMBINING ACUTE
42RESET
43PUSH "e\xCC\x81Z"
44 putglyph 0x65,0x301 1 0,0
45 putglyph 0x5a 1 0,1
46
47!Combining across buffers
48RESET
49PUSH "e"
50 putglyph 0x65 1 0,0
51PUSH "\xCC\x81Z"
52 putglyph 0x65,0x301 1 0,0
53 putglyph 0x5a 1 0,1
54
Bram Moolenaar6a12d262022-10-16 19:26:52 +010055!Spare combining chars get truncated
56RESET
57PUSH "e" . "\xCC\x81" x 10
58 putglyph 0x65,0x301,0x301,0x301,0x301,0x301 1 0,0
59 # and nothing more
60
Bram Moolenaare4f25e42017-07-07 11:54:15 +020061RESET
62PUSH "e"
63 putglyph 0x65 1 0,0
64PUSH "\xCC\x81"
65 putglyph 0x65,0x301 1 0,0
66PUSH "\xCC\x82"
67 putglyph 0x65,0x301,0x302 1 0,0
68
69!DECSCA protected
70RESET
71PUSH "A\e[1\"qB\e[2\"qC"
72 putglyph 0x41 1 0,0
73 putglyph 0x42 1 0,1 prot
74 putglyph 0x43 1 0,2