发信人: allenwu (未注册用户·别理我,烦着呢,滚!!!!), 信区: ANSI
标 题: 7. 右方的垂直qmd
发信站: 日月光华 (2003年12月14日00:45:16 星期天), 站内信件
有的人将qmd放在右边,直着写或者贴上某幅ANSI图。原理和前面两种是一样的,就
是使用光标定位*[H,光标移动*[A*[B*[C*[D,光标存储恢复*[s*[u等,在屏幕的指定位
置书写。同样要记得把光标复原到原位(毕竟后面还要显示来源的)
如果用*[s*[u那么最好每行代码开始处用*[s结尾用*[u,当然对于这种情况,由于
qmd肯定是位于文章最后的,可以不用*[s*[u,而是在最后用*[22;1H等的把光标定位到
文章的最后
这种qmd可能会覆盖正文内容,如果不巧造成半个汉字还可能有乱码。因此,使用这
类qmd是应该记得控制正文中每行的字符数,免得被qmd覆盖。
为了最大限度避免乱码的出现,可以考虑开始覆盖某一行时,以*[K删掉当前光标位
置起直至行末的内容,并以一个空格开始。
例如:
*[s*[6;75H*[K *[1;32m旦 日*[u
*[s*[7;75H*[K *[1;32m复 月*[u
*[s*[8;75H*[K *[1;32m旦 光*[u
*[s*[9;75H*[K *[1;32m兮 华*[u
这样可以把竖写的"日月光华,旦复旦兮"8个字放在屏幕右边,用*[K删除原有内容,
以免覆盖半个汉字造成乱码。当然,有可能正好从后半个汉字开始删除,留下半个汉字,
每行*[K后的空格保证了可见字符不会和这半个汉字的字符结合出现乱码,至于那半汉
字是没办法的,无法用ANSI来判断原有内容是不是汉字的第二字节。
建议长文中不用这种qmd,可以test一下,看做出来的某个qmd最多用在正文多少行
的文章里面不会发生问题
--
※ 来源:·日月光华 bbs.fudan.edu.cn·[FROM: 10.85.24.241]
Sender: allenwu Unregistered user. Ignore me. I’m annoyed. Get lost. Message area: ANSI
Title: 7. Vertical qmd on the right
Sending station: Sun and Moon Guanghua December 14, 2003 00:45:16 Sunday, in-site mail
Some people put qmd on the right and write it straight or paste an ANSI diagram. The principle is the same as the previous two.
Use cursor positioning *[H, cursor movement *[A*[B*[C*[D, cursor storage and recovery *[s*[u, etc.) at the specified position on the screen.
When writing, remember to restore the cursor to its original position. After all, the source will be displayed later.
If you use *[s*[u, then it is best to use *[s at the beginning of each line of code and *[u at the end. Of course, in this case, because
qmd must be at the end of the article. Instead of using *[s*[u, you can use *[22;1H, etc. to position the cursor at the end.
end of article
This kind of qmd may cover the text content. If it happens to cause half a Chinese character, it may also be garbled, so use this
If you use qmd, you should remember to control the number of characters in each line of the text to avoid being overwritten by qmd.
In order to avoid the appearance of garbled characters to the greatest extent, you can consider using *[K to delete the current cursor position when starting to overwrite a certain line.
Set up to the end of the line and start with a space
For example
*[s*[6;75H*[K *[1;32mdan day*[u
*[s*[7;75H*[K *[1;32mFuyue*[u
*[s*[8;75H*[K *[1;32m denier light*[u
*[s*[9;75H*[K *[1;32m Xi Hua*[u
In this way, you can put the eight characters "日月光华 Danfudanxi" written vertically on the right side of the screen. Use *[K to delete the original content.
In order to avoid covering half of the Chinese characters and causing garbled characters, of course it is possible to delete just from the last half of the Chinese characters, leaving half of the Chinese characters.
The space after *[K in each line ensures that the visible characters will not be combined with the characters of this half of the Chinese character to cause garbled characters. As for the half of the Chinese character
There is no way to use ANSI to determine whether the original content is the second byte of a Chinese character.
It is recommended not to use this kind of qmd in long articles. You can test it to see how many lines of the text a certain qmd can be used at most.
No problem will occur in the article
Source: Sun and Moon Guanghua bbs.fudan.edu.cn [FROM: 10.85.24.241]