gpt4 book ai didi

python - kivy 标签中的多行文本(python-bidi)

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:34 24 4
gpt4 key购买 nike

我有一个用波斯语显示多行文本的标签

kv文件:

    <FarsiLabel@Label>:
font_name: 'tabassom'

FarsiLabel:
text: set_text('پیروزی برای افرادی امکان پذیر است که از مبارزه دست نمی کشند\n')
text_size: self.size
halign: 'center'
color: utils.get_color_from_hex('546E7A')

设置文本方法:

    def set_text(text):
text = unicode(text, 'utf-8')
result = arabic_reshaper.reshape(text)
result = get_display(result)
return result

结果(不正确):

enter image description here

正确结果(gimp):

enter image description here

我在python-bidi get_display方法中发现了问题,但我不知道如何解决

问题是:如何解决这个问题?

最佳答案

这就是 bidi.algorithm.get_display 的工作原理,它颠倒了字母的顺序。所以你认为它是第一个词是输出中的最后一个词。

你应该在字符中检测标签的宽度,然后自己在行中进行分割。然后在每一行上应用 get_display

  • 第 1 行: پیروòی براو اورادو امکان پذیر است که اò مورادь
  • 第 2 行:دست نمی کشند

关于python - kivy 标签中的多行文本(python-bidi),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31235319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com