2015-07-05 12 views
5

मैं एक लेबल है कि फारसीबहु पाठ

केवी फ़ाइल में एक बहु पाठ को दिखाने के लिए है:

<[email protected]>: 
     font_name: 'tabassom' 

    FarsiLabel: 
     text: set_text('پیروزی برای افرادی امکان پذیر است که از مبارزه دست نمی کشند\n') 
     text_size: self.size 
     halign: 'center' 
     color: utils.get_color_from_hex('546E7A') 

set_text विधि:

def set_text(text): 
     text = unicode(text, 'utf-8') 
     result = arabic_reshaper.reshape(text) 
     result = get_display(result) 
     return result 

परिणाम (गलत):

enter image description here

सही परिणाम (जिम्प):

enter image description here

मैं पाया है कि अजगर-बीड़ी get_display विधि में समस्या है, लेकिन मैं इसे

सवाल हल करने के लिए पता नहीं कैसे है: कैसे इस समस्या के समाधान के लिये?

उत्तर

2

इस प्रकार bidi.algorithm.get_display काम करता है, यह अक्षरों के क्रम को बदल देता है। तो आप इसे पहले शब्द के रूप में क्या देखते हैं आउटपुट में अंतिम शब्द है।

आपको अक्षरों में लेबल की चौड़ाई का पता लगाना चाहिए और स्वयं को लाइनों में सेगमेंटेशन करना चाहिए। फिर प्रत्येक पंक्ति पर get_display लागू करें।

  • पंक्ति 1: پیروزی برای افرادی امکان پذیر است که از مبارزه
  • पंक्ति 2: دست نمی کشند
संबंधित मुद्दे