在Android应用中使用Kivy渲染北印度语印度语言

问题描述

当我在kivy android中使用Google NotoSansfont for Devanagari脚本呈现以下文本时,我将其呈现为错误。我在其他语言的SO中也看到过类似的消息,它说使用pango文本提供程序,但也提到它不适用于android。是否有可能在kivy应用程序中的android中正确呈现字体。对于我们来说,使用kivy作为应用程序开发平台将成败,因为我们需要在移动应用程序中支持印度语。

示例文本预期输出->

enter image description here

示例文本渲染输出->

enter image description here

在所有控件-Label和TextInputs中都会发生这种情况,我们尝试了不同的ttf文件-NotoSans,Akshar和其他至少10个字体文件

对我们来说,唯一可以正常使用的字体是GNU Unifont,但这是因为它包含所有字形,而且我们遇到的问题是,尽管现在这是我们目前唯一的选择,但它看起来并不美观且可读性强。

我们可以在这里得到一些帮助吗?

from kivy.app import App
from kivy.uix.image import Image
from kivy.uix.label import Label
from kivy.uix.Boxlayout import  BoxLayout
from kivy.uix.button import Button

class MainApp(App):
    def build(self):
        label = Label(text="अंतरिक्ष",font_name="notosans.ttf",size_hint=(0.5,0.5),pos_hint={'center_x':.5,'center_y':.5})
        layout = BoxLayout(padding =10)
        layout.add_widget(label)
        return layout

if __name__=='__main__':
    app = MainApp()
    app.run()

字体链接https://fonts.google.com/specimen/Noto+Sans?subset=devanagari

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)