从格式错误的字体中获取正确的字符/字符串?

时间:2013-04-20 12:21:05

标签: c# winforms unicode fonts

我真的不知道要拨打什么样的任务。对于某些字符/字符串,如果在带有某种字体的TextBox中显示它们(我称之为字体1),它会正确显示它们。但是如果你将TextBox的字体改为另一个(我称之为字体2),字符/字符串可能会显示错误(字体错误)。我想要的是如何将这些字符/字符串(如字体2中所示)转换为一些相应的字符/字符串/值(如字体1中所示)。我必须这样做,因为在我的语言中,没有像字体2中显示的任何字符。

为了更清楚,例如:

  • 我遇到过一个正确的字符是“ă”的情况,但是还有另一个“表达式”,如“¨”,它将在字体1中显示为'ă',但在字体2中,它显示为'¨'。 '¨'不是我的语言字母表中的字符/字母。看起来这与Font问题有关。这就像输入和输出的问题:

    1. 输入:奇怪/错误的字符(如'¨')和奇怪/错误字符正确显示的字体(如'ă')。正如我上面所说,那个字体是字体1。
    2. 输出:正确的字符(例如'ă')。我确定这个字符应该在几乎Unicode字体中正确显示。所以这里没有必要提到正确显示输出的指定字体,如果它是输出的条件(选择一些指定的字体来正确显示输出),我认为它会好的,因为我打算显示输出某些固定字体中的字符。

其中一个'转换器'(称它转换器不精确,可能是翻译器)我已经是任何TextBox了。这应该被称为翻译器,因为它可以帮助你将奇怪/错误的字符转换为正确的字符(你可以看到输出),但它不是转换器,因为你无法掌握输出,例如,选择并复制它剪贴板并粘贴到另一个文本框(例如Google搜索框)。 TextBox的操作类似于翻译器,它接收输入(为Text属性分配奇怪/错误的字符,为Font属性分配Font)并输出输出(正确的字符,但正如我所说,你只能看到它,没有抓住/得到它或者至少得到在另一个字体中正确显示的相应字符。

如果无法做到这一点,我担心我必须在我的表格中添加一个名为“ FontName ”或“ FontFamily ”的列,以便每个人都可以我从表中查询文本时,我还要查询相应的字体,以便在我的表格/网格上正确显示文本。这是我所知道的最烦人的事情之一。

我希望你理解我的问题。正如我所说,我甚至不知道它是什么样的任务,但你可能知道。请帮帮我。

谢谢!

更新

我想举一个转换器的例子,把它看成一个像这样的函数/方法:

public char GetCorrectChar(char c){
   switch(c){
      case '¨': 
         return 'ă';
      case 'Ç'
         return 'ầ';
      ....
   }
}

这个功能可以实现,但它需要我收集所有可能的对(输入字符和输出字符),我不确定它是否有效。谢谢!

0 个答案:

没有答案