I face this problem with arabic fonts

43 views
Skip to first unread message

engmms

unread,
Jan 25, 2017, 10:34:18 AM1/25/17
to Kivy users support
# -*- coding: utf-8 -*- 
import kivy
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
import arabic_reshaper
from bidi.algorithm import get_display
from PersianText import PersianTextInput


class GUI(Widget):
def __init__(self, **kwargs):
super(GUI, self).__init__(**kwargs)

label = Label(text=u"سلام", center=(100, 100))
label.font_name = "fonts/bnazanin.ttf"
label.font_size = 40
reshaped_text = arabic_reshaper.reshape(u'سلام')
bidi_text = get_display(reshaped_text)
label.text = reshaped_text = arabic_reshaper.reshape(bidi_text)
text_input = PersianTextInput()
self.add_widget(text_input)
self.add_widget(label)


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


if __name__ == '__main__':




Error

[INFO   ] [Logger      ] Record log in /home/mahrous/.kivy/logs/kivy_17-01-25_12.txt
[INFO   ] [Kivy        ] v1.9.1
[INFO   ] [Python      ] v2.7.11 (default, Sep  2 2016, 14:51:16) 
[GCC 5.3.1 20160406 (Red Hat 5.3.1-6)]
[INFO   ] [Factory     ] 179 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[INFO   ] [GL          ] OpenGL version <2.1 Mesa 11.1.0 (git-525f3c2)>
[INFO   ] [GL          ] OpenGL vendor <Intel Open Source Technology Center>
[INFO   ] [GL          ] OpenGL renderer <Mesa DRI Intel(R) Ironlake Mobile >
[INFO   ] [GL          ] OpenGL parsed version: 2, 1
[INFO   ] [GL          ] Shading version <1.20>
[INFO   ] [GL          ] Texture max size <8192>
[INFO   ] [GL          ] Texture max units <16>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
 /usr/lib64/python2.7/site-packages/kivy/core/clipboard/clipboard_gtk3.py:14: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
   from gi.repository import Gtk, Gdk
[INFO   ] [Clipboard   ] Provider: gtk3(['clipboard_dbusklipper'] ignored)
[CRITICAL] [Cutbuffer   ] Unable to find any valuable Cutbuffer provider at all!
xclip - OSError: [Errno 2] No such file or directory
  File "/usr/lib64/python2.7/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib64/python2.7/site-packages/kivy/core/clipboard/clipboard_xclip.py", line 17, in <module>
    p = subprocess.Popen(['xclip', '-version'], stdout=subprocess.PIPE)
  File "/usr/lib64/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception

xsel - OSError: [Errno 2] No such file or directory
  File "/usr/lib64/python2.7/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib64/python2.7/site-packages/kivy/core/clipboard/clipboard_xsel.py", line 15, in <module>
    p = subprocess.Popen(['xsel'], stdout=subprocess.PIPE)
  File "/usr/lib64/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception

[INFO   ] [Base        ] Start application main loop
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [Base        ] Leaving application in progress...
 Traceback (most recent call last):
   File "Persian_main.py", line 33, in <module>
     MyApp().run()
   File "/usr/lib64/python2.7/site-packages/kivy/app.py", line 828, in run
     runTouchApp()
   File "/usr/lib64/python2.7/site-packages/kivy/base.py", line 487, in runTouchApp
     EventLoop.window.mainloop()
   File "/usr/lib64/python2.7/site-packages/kivy/core/window/window_sdl2.py", line 619, in mainloop
     self._mainloop()
   File "/usr/lib64/python2.7/site-packages/kivy/core/window/window_sdl2.py", line 362, in _mainloop
     EventLoop.idle()
   File "/usr/lib64/python2.7/site-packages/kivy/base.py", line 327, in idle
     Clock.tick()
   File "/usr/lib64/python2.7/site-packages/kivy/clock.py", line 515, in tick
     self._process_events()
   File "/usr/lib64/python2.7/site-packages/kivy/clock.py", line 647, in _process_events
     event.tick(self._last_tick, remove)
   File "/usr/lib64/python2.7/site-packages/kivy/clock.py", line 406, in tick
     ret = callback(self._dt)
   File "/usr/lib64/python2.7/site-packages/kivy/uix/textinput.py", line 1748, in _refresh_line_options
     self._refresh_text_from_property()
   File "/usr/lib64/python2.7/site-packages/kivy/uix/textinput.py", line 1767, in _refresh_text_from_property
     self._refresh_text(self._get_text(encode=False), *largs)
   File "/usr/lib64/python2.7/site-packages/kivy/uix/textinput.py", line 1787, in _refresh_text
     _line_rects.append(Rectangle(size=lbl.size))
 AttributeError: 'NoneType' object has no attribute 'size'

Reply all
Reply to author
Forward
0 new messages