Bram Moolenaar | e4f25e4 | 2017-07-07 11:54:15 +0200 | [diff] [blame^] | 1 | INIT |
| 2 | UTF8 1 |
| 3 | WANTSCREEN |
| 4 | |
| 5 | !Single width UTF-8 |
| 6 | # U+00C1 = 0xC3 0x81 name: LATIN CAPITAL LETTER A WITH ACUTE |
| 7 | # U+00E9 = 0xC3 0xA9 name: LATIN SMALL LETTER E WITH ACUTE |
| 8 | RESET |
| 9 | PUSH "\xC3\x81\xC3\xA9" |
| 10 | ?screen_chars 0,0,1,80 = 0xc1,0xe9 |
| 11 | ?screen_text 0,0,1,80 = 0xc3,0x81,0xc3,0xa9 |
| 12 | ?screen_cell 0,0 = {0xc1} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0) |
| 13 | |
| 14 | !Wide char |
| 15 | # U+FF10 = 0xEF 0xBC 0x90 name: FULLWIDTH DIGIT ZERO |
| 16 | RESET |
| 17 | PUSH "0123\e[H" |
| 18 | PUSH "\xEF\xBC\x90" |
| 19 | ?screen_chars 0,0,1,80 = 0xff10,0x32,0x33 |
| 20 | ?screen_text 0,0,1,80 = 0xef,0xbc,0x90,0x32,0x33 |
| 21 | ?screen_cell 0,0 = {0xff10} width=2 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0) |
| 22 | |
| 23 | !Combining char |
| 24 | # U+0301 = 0xCC 0x81 name: COMBINING ACUTE |
| 25 | RESET |
| 26 | PUSH "0123\e[H" |
| 27 | PUSH "e\xCC\x81" |
| 28 | ?screen_chars 0,0,1,80 = 0x65,0x301,0x31,0x32,0x33 |
| 29 | ?screen_text 0,0,1,80 = 0x65,0xcc,0x81,0x31,0x32,0x33 |
| 30 | ?screen_cell 0,0 = {0x65,0x301} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0) |
| 31 | |
| 32 | !10 combining accents should not crash |
| 33 | RESET |
| 34 | PUSH "e\xCC\x81\xCC\x82\xCC\x83\xCC\x84\xCC\x85\xCC\x86\xCC\x87\xCC\x88\xCC\x89\xCC\x8A" |
| 35 | ?screen_cell 0,0 = {0x65,0x301,0x302,0x303,0x304,0x305} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0) |
| 36 | |
| 37 | !40 combining accents in two split writes of 20 should not crash |
| 38 | RESET |
| 39 | PUSH "e\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81" |
| 40 | PUSH "\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81" |
| 41 | ?screen_cell 0,0 = {0x65,0x301,0x301,0x301,0x301,0x301} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0) |
| 42 | |
| 43 | !Outputing CJK doublewidth in 80th column should wraparound to next line and not crash" |
| 44 | RESET |
| 45 | PUSH "\e[80G\xEF\xBC\x90" |
| 46 | ?screen_cell 0,79 = {} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0) |
| 47 | ?screen_cell 1,0 = {0xff10} width=2 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0) |