China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-24 16:31
中国DOS联盟论坛 » DOS汉化世界 & 中文系统 (中文化室) » Regarding the issue of Chinese character dividing lines, seeking advice from the experts! View 1,871 Replies 3
Original Poster Posted 2010-06-04 11:13 ·  中国 辽宁 抚顺 联通
新手上路
Credits 6
Posts 2
Joined 2010-06-03 18:53
16-year member
UID 168256
Gender Male
Status Offline
I posted a thread on DOS Home, as follows:

I am a network administrator of a company. I have been using OneKey GHOST for a long time. This software has brought me great convenience in my work, and I would like to express my gratitude!
I have a suggestion. This suggestion has been lingering in my mind for a long time, and today I finally got to write it down.
I noticed that there is a menu in the process of OneKey GHOST, DC shot:




This interface is to display Chinese characters by rewriting the 8X16 ASCII character dot matrix in the English text mode, so that Chinese characters can be displayed without running a Chinese system. This trick is really good, no need to load the entire Chinese system just to display a few Chinese characters.
But as shown in the above picture, some Chinese characters have a "vertical line" in the middle. For example, the characters "Backup/Restore System" all have vertical lines. This divides the Chinese characters into 2 parts, which looks unnatural.
Why does this happen? Actually, about 10 years ago, when I was learning assembly language, I also wrote a similar program, but I can't remember it clearly now. However, it seems that I called a certain function of the BIOS INT 10H interrupt to rewrite the ASCII character dot matrix. At that time, I found that some Chinese characters had no vertical lines in the middle, while some had vertical lines.
After repeatedly tracking the assembly code, I finally found the reason.
It turns out that as long as the ASCII internal code falls in the English letter area, there will be a vertical line, and if it falls in the tab area, there will be no vertical line.
So far, I haven't seen any book mention this problem. So I guess that DOS has different display strategies when dealing with English letters and tabs. Because if English letters are displayed without vertical lines, then the English letters will become "连体字母". As shown in the following picture:




Display vertical line

Do not display vertical line

Of course, the tab in the middle cannot be divided, otherwise the horizontal line will be "broken"
The above is my suggestion. I hope OneKey GHOST will get better and better.

======================================================
After the information was sent, it received a response from DOS Home:

This issue has been discussed in the China DOS Union. ID "Ben Shi" is an expert in this area and has many useful small tools.

I have never heard of the tab area before. I only knew before: some LCD monitors must have divisions to display Chinese characters normally, while CRTs can all do it, so to be compatible with all monitors, having divisions is the most reliable method, that is, the most compatible method. I only know so much. For more detailed issues, please search for posts with ID name "Ben Shi" on the China DOS Union (bbs.cn-dos.net). "Ben Shi" is an expert in this area, and the menu making program of the first picture may be "Ben Shi's" program.

After reading the above answer, I don't think it's right. I thought the monitor is just a faithful reproducer of the video card output signal and doesn't "understand" the content of the signal, so for the video card, the monitor is "transparent", how can there be differences between divided and non-divided? Do any netizens have research on this? What does Mr. Ben Shi think about this?


[ Last edited by haierccc on 2010-6-4 at 11:19 ]
Floor 2 Posted 2010-06-05 09:03 ·  中国 江苏 苏州 电信
银牌会员
★★★
Credits 2,227
Posts 790
Joined 2005-01-27 00:00
21-year member
UID 35703
Gender Male
Status Offline
1. The essence of the problem is as the original poster said, it is a problem with the graphics card, not the monitor, but it is also closely related to the category of LCD/CRT.
In "New Chinese Display Method of GRUB4DOS" (http://bbs.znpc.net/viewthread.php?tid=5857&extra=page%3D1), a master (one of the developers of grub4dos?) explained:
"In text mode to display Chinese characters, there is a vertical line in the center of the Chinese characters. Your attached image shows this problem.
This is a problem with the graphics card BIOS program. Maybe it is not considered a problem, because graphics cards were invented in the West, and they did not consider that Asian characters actually exceed 256, reaching tens of thousands, hundreds of thousands. Since the BIOS does not support more than 256 characters, it is impossible to display different 256 characters on one screen at the same time in text mode. If it is Chinese characters, the theoretical maximum is to display 128 Chinese characters at the same time in text mode. But many areas are occupied by English, and some are occupied by some graphic characters (such as symbols used for drawing tables), so the actual number of Chinese characters displayed at the same time may be even less, only dozens."

2. Dilemma of the problem -
In "Config Chinese Menu Drives Confect.sys (Updated to Version 4.3)" (http://www.cn-dos.net/forum/viewthread.php?tid=45211&fpage=1&highlight=%E8%A3%82%E7%BC%9D%2B%E6%9C%AC%E6%98%AF), it originally said:
"In fact, this is the single-byte new Chinese character internal code problem that I once racked my brains about during the development of VtMagik.com, which is particularly prominent in the 9-point display mode. In the 9-point display mode, there is a way to make Chinese characters not appear broken - 0c0h, 80h; 0c1h, 81h;... - so that 32 Chinese characters can be displayed seamlessly. The sequential method n, n+1; n+2, n+3;... is easy to program, but cannot use this automatic feature of automatically copying the 8th column to the 9th column of the tab character.
Moreover, whether setting 8 points or 9 points, the registers of the VGA card are set, so it may bring compatibility problems - the monitor frequency exceeds the limit, causing a black screen; not setting this section of the program, the difference is very large, although it is not visible visually. There are many things in program design that are "invisible" to users, but programmers can't be unaware. This is the reason why I usually don't want to explain. For users, it is to be simple, and the difficult problems are exclusively for programmers! It's really a pain. So, my VtMagik has -M0 and -M8, -M9. General users may find the software commands and parameters complicated, but this is a last resort."

3. Handling of the software -
In "Make Non-Chinese Systems Display Chinese Characters! VtMagiK.COM Version 6.30 (Supports BCDW)" (http://www.cn-dos.net/forum/viewthread.php?tid=43866&fpage=1&highlight=BT3), it originally said:
"【Brief Introduction】
The mother of model loading K.COM (full name VtMagiK.COM) is a Chinese character font extraction and loading program, so as to display replaceable character sets in the text state of the VGA screen, and realize the display of specific glyphs (such as Chinese characters) by loading user-defined font glyphs.......
The dot matrix character set of EGA/VGA is stored in bit plane 2 (that is, display RAM) of the graphics card. Users can modify the dot matrix character set information through the interface provided by EGA/VGA to load (without changing the display information on the current screen) and use the font they like. Then, the new glyphs can be displayed in the text video mode. This is the "non-Chinese system displays Chinese characters" technology, which is as fast as English and does not consume memory. It can be used to replace the Chinese character system under the DOS prompt to realize Chinese character glyph display, and even be used in CONFIG.SYS to help the DOS system realize the display of the startup menu in Chinese.
......
【Friendly Reminder】
The settings of seamless and seamed Chinese characters may cause errors such as "insufficient frequency width" or "refresh frequency exceeding the limit" on some liquid crystal displays, forming compatibility problems, so it is not recommended to use it in public boot disks. Please add the -M0 parameter to public boot disks to cancel the seam settings."
I have made many answers in detail and briefly in my posts and private messages in this forum. Search by yourself.
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
Floor 3 Posted 2010-06-05 09:09 ·  中国 江苏 苏州 电信
银牌会员
★★★
Credits 2,227
Posts 790
Joined 2005-01-27 00:00
21-year member
UID 35703
Gender Male
Status Offline
I checked on my own hard drive and found the previous VT technology Q&A. There is a different quote as follows:

"  Question 3: Why do the Chinese characters displayed in EGA/VGA text mode have both deformation and cracks?
  Answer 3: This is because in text mode, the display card will expand the 8x16 character dot matrix into a 9x16 way for display, using an empty column to ensure the relative independence and beauty between characters, but when displaying Chinese characters, it causes a "crack" in the "middle". This 9th column cannot be controlled through dot matrix information. The character generator only automatically copies the 8th column dot matrix information when encountering the 32 Western tab characters from C0h to DFh to ensure the continuity of the table lines.
  Countermeasure 1: Define the first character of the Chinese character as a Western tab character, and use the above automatic expansion function to achieve the connection of Chinese characters - "seamless". The strokes of the displayed Chinese characters are slightly deformed. At most 32 Chinese characters can be loaded at a time, which is suitable for occasions where not many Chinese characters are displayed at one time. But note: Some compatible display cards are not completely compatible with the standard EGA/VGA interface, and have different requirements for the values of the registers when loading the character set. It is best to load the entire character set at one time.
  Countermeasure 2: Program the timing registers (port addresses 3C4h/3C5h) of the VGA display card to achieve the prohibition of the expansion of the 9th column. The index value is 1, and the least significant bit of the clock register is the 8/9 mode control bit. When the value is 1, the expansion is prohibited, and the text display is changed to 8x16 dot matrix mode. The Chinese characters displayed in this way are exactly the same as those displayed in the Chinese character system - they are "seamless" Chinese characters. It's just a pity that a few models of CRT monitors and LCD monitors do not support the 8x16 mode due to insufficient bandwidth, and the screen becomes blurry.
  The ASCII code used during loading is different from the usual Chinese character internal code, temporarily called the new internal code. Taking the font data from the font library to the loading program is "making" the loader, loading the font of the program into RAM is "replacing" the font, and restoring the original font data of the system back into RAM is "restoring" the font."
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
Floor 4 Posted 2010-06-07 11:09 ·  中国 辽宁 抚顺 联通
新手上路
Credits 6
Posts 2
Joined 2010-06-03 18:53
16-year member
UID 168256
Gender Male
Status Offline
Finally found the answer, it turned out to be changing 8X16 to 9X16, no wonder...
Moreover, the first character is a tab, not necessarily both need to be
Forum Jump: