Я провів деякі дослідження, і, як я припускав, ви повинні використовувати графічний режим або потребуєте спеціальної апаратної підтримки, оскільки немає можливості використовувати більше 512 символів у текстовому режимі VGA
Добре, що сам DOS не може друкувати в діаграмах, що перевищують 1 байт на char, оскільки він використовує функції BIOS, які, в свою чергу, використовують апаратне забезпечення VGA, яке не може мати шрифти розміром більше 2 х 256 символів. Отже, це знову звучить як робота для DRIVER, який використовує графічний режим для візуалізації широких шрифтів. У нас вже є підтримка шрифтів Unicode в кількох графічних редакторах DOS тексту та подібних (спасибі :-)), і якщо використовується 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 також додав підтримку V-Text через int 15h з наступними 4 новими функціями
5010H Video extension information acquisition
5011H Video extension function registration
5012H Video extension driver release
5013H Video extension driver lock setting
Я вважаю, що це також причина, коли я бачив підтримку японців у BIOS своїх старих ПК
Тим не менше, повільність графічного режиму може створювати глюки під час прокрутки, що потребує особливої обробки
DOS / V - це фактично перше програмне рішення для японського текстового режиму
Тим часом в Японії IBM з початку 1980-х років проводилися серйозні дослідження з метою створення програмного рішення проблеми відображення японських символів. З появою моніторів VGA з високою роздільною здатністю, більш швидких процесорів та більшої пам’яті та жорстких дисків, дизайнери дослідницьких лабораторій IBM Fujisawa та Yamato зрозуміли, що інформація про форму і розмір символів кандзі може зберігатися на диску, завантажуватися в розширену пам'ять, і відображається через графічний режим VRAM. (До речі, "V" в DOS / V походить від монітора VGA, необхідного для відображення японських символів через програмне забезпечення.)
DOS / V: Програмне забезпечення (програмне забезпечення) для вирішення важких проблем
Згідно з цією ж статтею, перед винаходом DOS / V всі інші системи потребують ПЗУ Kanji в технічному забезпеченні
Усі бренди комп'ютерів використовували апаратні рішення для обробки відображення японських символів, зберігаючи дані для всіх символів на спеціальних мікросхемах, відомих як канджи ROM. Цей метод вимагав надсилати в центральний процесор двобайтовий код для кожного символу введення на клавіатурі, який, у свою чергу, вибирав відповідний символ з ПЗУ kanji та відправляв його на екран через текстовий режим VRAM. Використання ROM Kanji означало, що форма кожного символу була виправлена, тоді як використання VRAM в текстовому режимі встановлювало стандартний розмір 16x16 точок для кожного символу.
Наприклад, IBM Personal System / 55, який використовує спеціальний графічний адаптер з японським шрифтом, тому вони отримують реальний текстовий режим
На початку 1980-х IBM Японія випустила дві персональні комп'ютерні лінії на базі x86 для азіатсько-тихоокеанського регіону, IBM 5550 та IBM JX. 5550 читав шрифти Kanji з диска і малював текст у вигляді графічних символів на моніторі високої роздільної здатності 1024 x 768.
https://en.wikipedia.org/wiki/DOS/V#History
Аналогічно IBM 5550, текстовий режим був 1040x725 пікселів (шрифт 12x24 та 24x24 пікселів, 80x25 символів) у 8 кольорах, може відображати японські символи, прочитані з шрифту ROM
Архітектура AX використовує спеціальний адаптер JEGA замість стандартного EGA
AX (Architecture eXtended) - японська обчислювальна ініціатива, починаючи приблизно з 1986 року, щоб дозволити комп'ютерам обробляти двобайтовий (DBCS) японський текст за допомогою спеціальних апаратних мікросхем, дозволяючи сумісність із програмним забезпеченням, написаним для іноземних комп'ютерів IBM.
...
Для відображення символів Kanji з достатньою чіткістю AX-машини мали екрани JEGA (ja) з роздільною здатністю 640x480, а не стандартну роздільну здатність EGA 640x350, поширену в інших місцях. Зазвичай користувачі можуть перемикатися між японським та англійським режимами, ввівши «JP» та «US», що також посилатиметься на AX-BIOS та IME, що дозволяє вводити японські символи.
Пізніші версії також додають спеціальне обладнання AX-VGA / H та AX-VGA / S для емуляції програмного забезпечення на VGA
Однак незабаром після виходу AX IBM випустила стандарт VGA, з яким AX, очевидно, не сумісний (вони не були єдиними, що рекламували нестандартні розширення "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 також є символьний ПЗУ в контролері дисплея
Стандартний ПК-98 має два контролери дисплея µPD7220 (головний і ведений) з 12 КБ основної пам'яті та 256 КБ відео оперативної пам'яті відповідно. Головний контролер дисплея обробляє шрифт ROM, відображаючи символи JIS X 0201 (7x13 пікселів) та JIS X 0208 (15x16 пікселів)
Я не знаю ситуації з китайською та корейською мовами, але, думаю, використовуються ті самі методи. Я не впевнений, чи є якісь інші способи досягти цього чи ні