Странное поведение в использовании языка в приложении 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 для меня, я положил его в ответ, так как я не могу добавить изображения в комментарии. Смотрите изображение ниже.

Другие вопросы по тегам