2

我一直在尝试使用 Manim 为孟加拉语角色制作动画。我使用这种方法在 Manim 中使用 pc 字体。在我看到输出之前,一切似乎都运行良好。例如,如果我写 বাংলা লেখা,我得到的输出为(仔细查看输出)বাংলা লখো。大多数时候,它会吐出毫无意义的词。

使用的代码是:

class test_3(Scene):
    def construct(self):
        text1 = Text('বাংলা লেখা', font='Akaash')       
        text2 = Text('english text', font='Arial').move_to(DOWN)
        self.play(Write(text1), Write(text2))
        self.wait()
4

3 回答 3

0

这是因为字体类型。
你应该使用bangli字体。从这里尝试任何字体

于 2020-06-20T22:49:38.580 回答
0

尝试使用 ANSI Bangla 字体,例如“SutonnyMJ”。如果您使用的是 Avro 键盘,您可以像这样使用 Output as ANSI 选项, Avro 键盘输出为 ANSI

然后,如果您选择了字体,例如“SutonnyMJ”,您的代码应该如下所示,

class test_3(Scene):
    def construct(self):
        text1 = Text('evsjv †jKAv', font='SutonnyMJ')       
        text2 = Text('english text', font='Arial').move_to(DOWN)
        self.play(Write(text1), Write(text2))
        self.wait()

在这里,我已替换বাংলা লেখাevsjv †jKAv(只是相同 Unicode 文本的 ANSI 形式),它将呈现বাংলা লেখা为字体现在是 ANSI。我希望 Manim 能尽快支持 unicode 字体。


编辑


我发现孟加拉语 Unicode 字体现在正在处理 Manim。(2021 年 3 月 24 日)。我用 Kalpurush 字体做到了这一点。

代码是

class FirstScene(Scene):
    def construct(self):
        text = Text("বাংলা অক্ষরে লেখা", font="Kalpurush")
        text2 = Text("Another text")
        self.play(Write(text), run_time=1)
        self.wait(3)
        self.remove(text)
        self.play(Write(text2))

看下面的截图, 截屏

于 2021-03-24T01:27:44.037 回答
0
于 2022-02-25T08:23:32.117 回答