python - 大量 Unicode 字符在 kivy TextInput 中无法正确呈现

标签 python kivy python-unicode

问题:如何使用 Kivy 在 TextInput 中正确呈现所有 Unicode 字符?

下面有更多详细信息

我正在生成 0x0200 到 0x9990 之间的随机 Unicode 字符,这是一个很大的问题,问题是很大一部分字符无法在 TextInput 中正确呈现,更具体地说,只有不到一半的字符可以工作。

无论什么不渲染的东西最终都会看起来像一个带有 x 的小矩形,但是当我将其复制并粘贴到另一个显示源中时,它工作正常。我已经通过空闲运行了代码,它显示得很好,问题似乎出在 kivy 上,对于为什么会发生这种情况有什么建议吗?

<小时/>
import random
import kivy
from kivy.uix.textinput import TextInput
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.app import App

kivy.require('1.9.1')

class testclass(object):

    def example(self, event):
        k_len = list()
        complete = ''
        for i in range(32):
            k_len.append(random.randint(0x0200, 0x9990))
        for i in k_len:
            if i != 32:
                complete += chr(i)
        result.text = complete

t = testclass()



Root = Widget(size = (600, 200))
buttonOne = Button(text = 'click me', pos = (1,170), size = (120,30))
buttonOne.bind(on_press = t.example)


result = TextInput(hint_text = 'Output: ', size = (600, 50), pos = (0, 0), multiline = (True))

Root.add_widget(buttonOne)
Root.add_widget(result)



class testappApp(App):
    def build(self):
       return Root


Window.size = (600, 200) 

if __name__ == '__main__':
    testappApp().run()

此代码仅在您有 kivy 设置时才有效,您可以调整它以在空闲状态下工作,但正如我所说,代码按预期工作,只是在 kivy 中无法正确显示:)

最佳答案

您的字体似乎不支持这些字符 - 切换到另一种支持该范围的字体(请参阅https://en.wikipedia.org/wiki/Unicode_block以获取有关需要的更多信息)

关于python - 大量 Unicode 字符在 kivy TextInput 中无法正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39128198/

相关文章:

python - 从 networkx 中的 shapefile 创建图形时如何保留或至少对边缘属性进行排序?

python - 与 sqlalchemy 的通用关系,如 django contenttypes 中那样

python - 在 Jinja Render 方法中使用变量作为键

python - 如何在 Python 中打印 Unicode 字符?

python - 从Python中表示Unicode代码点的字符串获取Unicode字符?

python - 我可以使用 pycurl/curl 设置低优先级上传请求以避免使用所有上游吗

python - 如何在需要时启用滚动功能?

java - 启动时启动 Kivy 服务 (Android)

android - 在 Kivy Mobile 应用程序中使用 Redis?

python - 如何修复 "latin-1 codec can' t 在请求中的位置编码字符