Нам нужно решить, можем ли и как поддерживать грузинский язык в большом унаследованном приложении Visual C ++ 6.0.
Мы уже поддерживаем основные восточноевропейские языки, устанавливая кодовую страницу. У грузинского языка нет кодовой страницы, и, насколько я могу судить, он поддерживается только через Unicode. Большая часть нашего кода неявно предполагает один байт на символ, поэтому на самом деле мы ищем обходной путь для представления языка в 8-битном символе.
Что касается VC ++ 6.0, я понимаю, что он поддерживает Unicode, но файлы диалогов и ресурсов являются 8-битными текстовыми файлами, а они — нет.
Так ли все это правильно, и если да, то есть ли взломать, чтобы решить нашу проблему?
Нет кодовой страницы для грузинского. Есть несколько специальных кодировок, которые отображают грузинские глифы в латинскую область для использования с определенными шрифтами, предшествующими Юникоду, но, конечно, тогда вы не могли использовать английский и грузинский языки вместе с одним шрифтом.
Если вы действительно не можете поддерживать Unicode, лучшим вариантом для взлома было бы изобрести собственную 8-битную кодировку. Конечно, тогда у вас не будет шрифта, который будет отображать его, поэтому вам придется либо использовать его, не видя его, либо добавить некоторые преобразования для поддержки шрифтов Unicode, либо создать собственный шрифт для своей кодировки.
Обновить:
Если вам действительно повезет, вы сможете найти подходящий шрифт, который разработан как «расширенный ASCII» с символами грузинского алфавита в более высоких 128 полях, где символы с акцентом будут, например, в Latin-1. Если грузинские символы занимают нижние 128 символов, перезаписывая латинские / ASCII / английские символы, тогда это не «расширенный ASCII» и будет менее полезным.
Я не знаю, существует ли такой шрифт.
Других решений пока нет …