gpt4 book ai didi

Python + kivy : How to display multi language in one label (Unicode)?

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

我想使用以下代码将某些语言的字母显示到一个标签中。

这些语言是:英语、德语、日语、中文、俄语、法语、西类牙语、阿拉伯语。

我尝试了一些 Windows 系统字体,但它们都不能正确显示 ALL 字母。

我想知道是否有任何字体可以支持以上所有语言?

或者我怎样才能在 kivy 中做到这一点? (将所有这些都放在一个标签中。)

代码如下:

# -*- coding: utf-8 -*-

from kivy.app import App
#kivy.require("1.8.0")
from kivy.uix.label import Label
from kivy.uix.widget import Widget

from kivy.lang import Builder
import kivy.resources

#kivy.resources.resource_add_path(r'/home/kivy/android/android-sdk-linux/platforms/android-18/data/fonts')
kivy.resources.resource_add_path('C:\Windows\Fonts')

import os.path

Builder.load_string('''
<Label>:
font_name: 'AdobeGothicStd-Bold.otf'

<Widgets>:
Label:
text: "ABC ÄäÜüß にほんご 中文 ру́сский язы́к ÉéÈèÊêËë Españolالعَرَبِيَّة‎ ‎français"
size: root.width, 75
pos: root.x, root.top - 150
font_size: 50
height: 75
''')

class Widgets(Widget):
def build(self):
return Widgets()

class MyApp(App):
def build(self):
return Widgets()

if __name__ == "__main__":
MyApp().run()

谢谢!

最佳答案

由于许多技术和社会原因,您不会找到一种涵盖您想要定位的所有区域设置的优质字体。

好的软件通过组合不同的字体来实现你想要做的事情(并且标签需要用目标语言环境注释,代码点不够,日文和中文代码点重叠但不应该以相同的方式呈现)。

很多 python 软件都没有国际化,并且仍然假设选择特定的字体或字体文件就足够了。是的,但仅在 ascii 世界中。

要了解字体组合,请查看 fontconfig 和 harfbuzz-ng。

关于Python + kivy : How to display multi language in one label (Unicode)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39029719/

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