代理对无法在表单

时间:2017-08-25 16:43:37

标签: vb.net unicode surrogate-pairs

我正在尝试设计一个具有任何语言特征的虚拟键盘。 一切都很顺利,除了一点:代码超过0xFFFF。 我正在使用代理对来代码超过0xFFFF,如下所示:

Dim codeH As Integer
Dim codeL As Integer

If thisCode > 65535 Then
    thisCode = (thisCode - &H10000)
    codeH = &HD800 + (thisCode >> 10)
    codeL = &HDC00 + (thisCode And &H3FF)
    Return (ChrW(codeH) + ChrW(codeL))
Else
    Return ChrW(thisCode)
End If

但是,一旦我将结果作为字符串显示在控件上(richTextBox,label,button,等等......),我得到的只是方形或空白字符。

当然我尝试了几种字体,甚至是Arial Unicode MS,但我仍然坚持我的方块......

我错过了什么?任何解决方案?

0 个答案:

没有答案