«Ja-01» - это шрифт с пользовательской «визуальной кодировкой».
То есть последовательность символов действительно «bgah»;и он выглядит только как тамильский, потому что формы шрифта для латинских символов bg
выглядят как பெ
.
Этого всегда следует избегать, потому что, сохраняя содержимое как "bgah;"вы теряете возможность искать и обрабатывать его как настоящий тамильский, но такой подход был распространен в дни до Юникода, особенно для менее распространенных сценариев без зрелых стандартов кодирования.Это приложение, вероятно, предшествует широкому использованию TSCII.
Поскольку это пользовательская кодировка, которая не используется другими шрифтами, очень маловероятно, что вы сможете найти инструмент для преобразования содержимого этой кодировки в надлежащие символы Unicode.,Похоже, что это не стандартное упорядочение символов, поэтому вам придется посмотреть на шрифт (например, в charmap.exe) и записать каждый символ, найти соответствующий символ в Unicode и отобразить между ними.
Например, вот тривиальный скрипт Python для замены символов в файле:
mapping= {
u'a': u'\u0BAF', # Tamil letter Ya
u'b': u'\u0BAA', # Tamil letter Pa
u'g': u'\u0BC6', # Tamil vowel sign E (combining)
u'h': u'\u0BB0', # Tamil letter Ra
u';': u'\u0BCD', # Tamil sign virama (combining)
# fill in the rest of the mapping information here!
}
with open('ja01data.txt', 'rb') as fp:
data= fp.read().decode('utf-8')
for char in mapping:
data= data.replace(char, mapping[char])
with open('utf8data.txt', 'wb') as fp:
fp.write(data.encode('utf-8'))