'python kivymd MDDataTable font error(font_name)- windows

I have a problem retrieving the database from the server, MDDataTable does not show Georgian font, it shows ????. I tried adding "font_name" but it does not work. "font_name" works: MDTextField and MDRaisedButton (.kv file). The records on the server are in Georgian(I have a problem only server database).

just image

Here are my short codes.

main.py:

class Tab1(MDFloatLayout, MDTabsBase):

    productnameN = ObjectProperty(None)

    def product_lists(self, *args):
       engine = create_engine('mysql+pymysql://root:@localhost/testt', 
       echo=False)
       data = pd.read_sql('SELECT * FROM testproduct', engine)
       dataf = pd.DataFrame(data)
       dataf['date'] = pd.to_datetime(dataf['date']).dt.strftime('%d/%m/%Y')
       values = self.productnameN.text
       dff = dataf[(dataf['მრიცხველი'] == values)]

       dff = dff.values.tolist()
       layout = AnchorLayout()
       self.product_table = MDDataTable(
           pos_hint={'center_y': 0.31, 'center_x': 0.5},
           size_hint=(0.9, 0.78),
           elevation=15,
           rows_num=100,
           column_data=[
               ("ID", dp(25)),
               ("Product Name", dp(25)),
               ("MRP", dp(15)),
               ("Quantity", dp(20)),
               ("Product Description", dp(30)),
              ],
            row_data=[
                (f"{row[0]}", f"{row[1]}", f"{row[2]}", f"{row[3]}", f"{row[4]}") for 
                 row in dff],
            )

        self.add_widget(self.product_table)
        return layout

    def on_enter(self):
       self.product_lists()


 class Tab2(MDFloatLayout, MDTabsBase):
   pass


 class Tab3(MDFloatLayout, MDTabsBase):
   pass


class DemoApp(MDApp):

 def build(self):
    sm = ScreenManager()
    sm.add_widget(Builder.load_file("testwidgets.kv"))
    return sm


 DemoApp().run()

testwidgets.kv:

MDScreen:
name: 'sellerprofile'
MDNavigationLayout:
    size : root.width, root.height

    ScreenManager:
        id: screen_manager

        Screen:
            name: "mddatatable"

            BoxLayout:
                orientation: 'vertical'

                MDToolbar:
                    id: toolbar
                    title: "LOCAL VENDOR"
                    md_bg_color: 60/255, 194/255, 89/255, 1


                MDTabs:
                    lock_swiping: True

                    font_name: "babuka.ttf"
                    background_color: 60/255, 194/255, 89/255, 1
                    Tab1:

                        title: "produqti"


                    Tab2:

                        title: "produqtis damateba"


                    Tab3:

                        title: "Tornike"


  <Tab1>:


    productnameN: productnameN

    MDTextField:
        elevation: 13
        id : productnameN
        hint_text: "Product Nu"
        font_name: "babuka.ttf"
        mode: "rectangle"
        size_hint: .4, .1
        pos_hint: {"center_x": .5,"center_y": .8}

   MDRaisedButton:
       elevation: 13
       font_size: "16sp"
       font_name: "babuka.ttf"
       size_hint: .4, .1
       text_color: 0/255,0/255,0/255,1
       md_bg_color: 60/255, 194/255, 89/255, 1
       text: 'See Products'
       on_press:
           root.on_enter()
           Snackbar(text="Tap again to see recently added 
       products",snackbar_x="10dp",snackbar_y="10dp",size_hint_x=.9,).open()
       pos_hint: {'center_x': .5, 'center_y': .9}


 <Tab2>:

 <Tab3>:


Solution 1:[1]

I had the same issue with Arabic and Asian languages.

This post suggests a solution: How do i change font of MDDataTable in KivyMD?

You should use the [font=myfont.ttf]my text[/font] markdown.

.otf fonts are also supported.

Example:

 dd.append((datetime.fromisoformat(obj['testing_date']).strftime("%d.%m.%Y (%H:%M:%S)"),
        "[font="+ self.font_name +"]" +obj['Number']+ "[/font]",
        "[font="+ self.font_name +"]" +buf_A+ "[/font]",
        "[font="+ self.font_name +"]" +buf_B+ "[/font]",
        '{:.2f}'.format((obj['Time_b'] - obj['Time_a'])/obj['Time_a'])  ) )

    self.data_tables = MDDataTable(
        use_pagination=True,
        check=True,
        column_data=[
            ("[font="+ self.font_name +"]" + self.date_header + "[/font]", dp(30)),
            ("ID", dp(30)),
            ("[font="+ self.font_name +"]" + self.part_a_header + "[/font]", dp(60)),
            ("[font="+ self.font_name +"]" + self.part_b_header + "[/font]", dp(60)),
            ("[font="+ self.font_name +"]" + self.part_interference + "[/font]", dp(30)),
        ],

        row_data=dd,
        sorted_on="Date",
        sorted_order="ASC",
        elevation=2,
    )

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Yury Zontov