我做了一些研究,并且正如我预期的那样,您必须使用图形模式或需要特殊的硬件支持,因为在VGA文本模式下无法使用超过512个字符
嗯,DOS本身不能以超出每个字符1个字节的字符集进行打印,因为它使用BIOS功能,而BIOS功能又使用了VGA硬件,该硬件不能具有超过2 x 256个字符大小的字体。因此,这再次听起来像是驱动程序的一项工作,该驱动程序使用图形模式呈现大量字体。我们已经在一些图形化DOS文本编辑器中和类似的语言(感谢:-)中支持Unicode字体,并且无论使用DBCS还是UTF-8,两者都共享“字符大小可以是一个或多个字节”来处理“异常” 。
FreeDOS中将对日语提供官方支持吗?
的日语版本DOS(DOS / V)的使用第一种方法和模拟文本模式通过在图形模式下呈现所述字符采用特殊的驱动程序。该驱动程序遵循IBM V-Text标准,该标准是用于扩展DOS的文本显示功能的机制。您可以像这样在各种16/24/32/48点字体中进行选择
其他一些文本模式系统也使用相同的技术。在FreeDOS中,您可以加载一些特殊的驱动程序以获得日语支持
渲染器将拦截int 10h和int 21h调用并手动绘制文本,因此即使对于普通的英语程序也可以使用。但是它不适用于直接写入VGA内存的程序。为了打印日语字符,还钩接了int 5h和int 17h。
根据后来的DOS / V手册, IBM BIOS还通过以下15种新功能通过int 15h添加了对V-Text的支持
5010H Video extension information acquisition
5011H Video extension function registration
5012H Video extension driver release
5013H Video extension driver lock setting
我想这也是我在旧PC的BIOS中看到日语支持的原因
不过,图形模式的缓慢性可能在滚动时引入毛刺,这需要特殊处理
DOS / V实际上是第一个日语文本模式的软件解决方案
同时,自1980年代初以来,IBM日本一直在进行认真的研究,以开发出解决日语字符显示问题的软件解决方案。随着高分辨率VGA显示器,更快的处理器以及更大的内存和硬盘驱动器的出现,IBM的Fujisawa和Yamato研究实验室的设计人员意识到,有关汉字字符形状和大小的信息可以存储在磁盘上,并加载到扩展的内存中,并通过图形模式VRAM显示。(顺便说一下,DOS / V中的“ V”来自通过软件显示日语字符所必需的VGA监视器。)
DOS / V:硬件(软件)问题的软件(软件)解决方案
根据同一文章,在DOS / V发明之前,其他系统都需要硬件中的汉字ROM。
所有品牌的计算机都使用硬件解决方案来处理日语字符的显示,并将所有字符的数据存储在称为汉字ROM的特殊芯片上。此方法要求将每个键盘输入字符的双字节代码发送到CPU,然后再从汉字ROM中提取相应的字符,然后通过文本模式VRAM将其发送到屏幕。汉字ROM的使用意味着每个字符的形状是固定的,而文本模式VRAM的使用为每个字符设置了标准的16x16点大小。
例如,IBM Personal System / 55使用带有日语字体的特殊图形适配器,因此它们获得了纯文本模式
在1980年代初期,IBM日本公司针对亚太地区发布了两条基于x86的个人计算机产品线,即IBM 5550和IBM JX。5550从磁盘读取汉字字体,并在1024 x 768高分辨率监视器上以图形字符形式绘制文本。
https://zh.wikipedia.org/wiki/DOS/V#历史
与IBM 5550相似,文本模式为1040x725像素(12x24和24x24像素字体,80x25字符),有8种颜色,可以显示从字体ROM读取的日语字符
该AX体系结构采用了特殊的杰加适配器而不是标准的EGA
AX(扩展架构)是日本的一项计算计划,始于1986年左右,允许PC通过特殊的硬件芯片处理双字节(DBCS)日语文本,同时允许与为国外IBM PC编写的软件兼容。
...
为了足够清晰地显示汉字字符,AX机器具有JEGA(ja)屏幕,分辨率为640x480,而不是当时其他地方普遍使用的640x350标准EGA分辨率。用户通常可以通过键入“ JP”和“ US”在日文和英文模式之间切换,这还将调用AX-BIOS和IME,从而可以输入日文字符。
更高版本还添加了特殊的AX-VGA / H硬件和AX-VGA / S,用于在VGA上进行软件仿真
但是,在AX发行之后不久,IBM发行了与AX显然不兼容的VGA标准(它们不是唯一推广非标准“ super EGA”扩展的人)。因此,AX联盟必须设计兼容的AX-VGA(ja)。AX-VGA / H是使用AX-BIOS的硬件实现,而AX-VGA / S是一种软件仿真。
由于可用软件较少和其他问题,AX失败了,无法打破PC-9801在日本的统治地位。1990年,IBM日本公司推出了DOS / V,它使IBM PC / AT及其克隆能够使用标准VGA卡显示日语文本,而无需任何其他硬件。此后不久,AX消失了,NEC PC-9801的衰退开始了。
在NEC PC-98系列还具有在显示控制器中的字符ROM
标准PC-98具有两个µPD7220显示控制器(一个主控制器和一个从属控制器),分别具有12 KB的主存储器和256 KB的视频RAM。主显示控制器处理字体ROM,显示JIS X 0201(7x13像素)和JIS X 0208(15x16像素)字符
我不知道中文和韩文的情况,但我认为使用了相同的技术。我不确定是否还有其他方法可以实现这一目标