WPF应用程序中语言使用中的奇怪行为

时间:2013-03-24 14:29:02

标签: c# wpf fonts tamil

我在文本框中使用了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 个答案:

答案 0 :(得分:1)

这对我来说没有问题,它为我返回unicode文本,我把它放在一个答案中,因为我无法在评论中添加图像。见下图。

enter image description here

答案 1 :(得分:1)

作为一名泰米尔人并且已经处理过如此多的泰米尔语编码,我想我应该在这个问题上给你启发。 Bamini不属于任何编码,如TAB,TAM,TSCII或通用标准Unicode。 Bamini字体在英文脚本之上使用泰米尔语脚本。

所以我建议你开始使用Unicode字体。网上有很多泰米尔语字体。甚至Windows都带有默认的Unicode Tamil字体latha.ttf

要输入泰米尔语,请使用e-kalappaiNHM writer等软件。或者您可以使用Google IME等在线转换器。

我建议你放弃Bamini并继续使用Unicode字体。如果你坚持使用usinb Bamini,那么你应该在Bamini和Unicode之间进行代码级编码更改。 Check out this class written in Java并了解它是如何完成的。你必须这样做。