Странное поведение в использовании языка в приложении WPF
Меня использовали FontFamily="Bamini Plain"
в текстовом поле, которое позволяло мне печатать текст на тамильском языке во время выполнения. Но когда я снимаю txtPlaceAcquire.Text
в коде, который возвращает английский текст. Почему это странное поведение? Как я могу получить исходное значение языка?
<TextBox Text="" Name="txtPlaceAcquire" Width="210" Margin="10,0" FontFamily="Bamini Plain" /> <!-- Tamil language font setup -->
var textCapuredVal = txtPlaceAcquire.Text; // It was given english value
2 ответа
Будучи тамилом и имевшим дело со многими тамильскими кодировками, я думаю, что должен просветить вас по этому вопросу. Bamini не относится ни к каким кодировкам, таким как TAB, TAM, TSCII или универсальный стандартный Unicode. Шрифт Bamini имеет тамильские скрипты поверх английского.
Поэтому я бы посоветовал вам начать использовать шрифт Unicode. В Интернете доступно множество тамильских шрифтов. Даже Windows поставляется с шрифтом Unicode Tamil по умолчанию latha.ttf
,
Для ввода на тамильском языке используйте такие программы, как e-kalappai или NHM Writer. Или вы можете использовать онлайн-конвертеры, такие как Google IME.
Я бы посоветовал вам отказаться от Bamini и продолжить работу со шрифтами Unicode. Если вы настаиваете на использовании Bamini, то вам следует изменить кодировку на уровне кода между Bamini и Unicode. Проверьте этот класс, написанный на Java, и посмотрите, как это делается. Тебе придется сделать что-то подобное.
Это работает для меня без проблем, и он возвращает текст Unicode для меня, я положил его в ответ, так как я не могу добавить изображения в комментарии. Смотрите изображение ниже.