5

मेरे पास पीआईएल का उपयोग करके पायथन में कुछ कोड है, जो एक छवि में यूटीएफ -8 अक्षरों को प्रिंट करेगा।एक छवि को प्रिंटिंग बिडी टेक्स्ट

मैंने देखा है कि जैसे अरबी बीड़ी लिपियों में शामिल होने के लिए, एक ही कोड अक्षरों को सही रूप से कनेक्ट करने में विफल रहता (प्रारंभिक रूपों केवल, चुने जाते हैं औसत दर्जे का और अंतिम रूपों का उपयोग नहीं कर रहे हैं)

किसी को भी एक विधि की सिफारिश कर सकते हैं या इस विशेष मुद्दे को हल करने के लिए तकनीक?

+0

मैं सिर्फ अपनी वेबसाइट का शीघ्रता से अवलोकन किया है, और मेरा अनुमान है कि पुस्तकालय में बीआईडीआई को सही तरीके से संभालने की क्षमता नहीं है। यदि वे करते हैं तो वे निश्चित रूप से इसका विज्ञापन नहीं करते हैं। –

+0

क्या [यह] (http://pypi.python.org/pypi/python-bidi/) किसी भी मदद के लिए है? –

उत्तर

1

आप जनहित याचिका का उपयोग जारी रखना चाहते हैं, pybidi साथ pyarabicshaping का उपयोग करें या आप pangocairo जो पाठ को आकार देने के लिए HarfBuzz का उपयोग करता है करने के लिए बदलने पर विचार कर सकते हैं। अजगर + वैंड (अजगर लिब) + arabic_reshaper (अजगर लिब) + bidi.algorithme (अजगर लिब):

0

मैं क्या पीछा कर रहा है। एक ही जनहित याचिका पर लागू होता है/तकिया, आप उपयोग करने की आवश्यकता arabic_reshaper और bidi.algorithm और उत्पन्न पाठ पारित draw.text((10, 25), artext, font=font) रहे हैं:

from wand.image import Image as wImage 
from wand.display import display as wdiplay 
from wand.drawing import Drawing 
from wand.color import Color 
import arabic_reshaper 
from bidi.algorithm import get_display 

reshaped_text = arabic_reshaper.reshape(u'لغةٌ عربيّة') 
artext = get_display(reshaped_text) 

fonts = ['C:\\Users\\PATH\\TO\\FONT\\Thabit-0.02\\DroidNaskh-Bold.ttf', 
     'C:\\Users\\PATH\\TO\\FONT\\Thabit-0.02\\Thabit.ttf', 
     'C:\\Users\\PATH\\TO\\FONT\\Thabit-0.02\\Thabit-Bold-Oblique.ttf', 
     'C:\\Users\\PATH\\TO\\FONT\\Thabit-0.02\\Thabit-Bold.ttf', 
     'C:\\Users\\PATH\\TO\\FONT\\Thabit-0.02\\Thabit-Oblique.ttf', 
     'C:\\Users\\PATH\\TO\\FONT\\Thabit-0.02\\majalla.ttf',   
     'C:\\Users\\PATH\\TO\\FONT\\Thabit-0.02\\majallab.ttf', 

     ] 
draw = Drawing() 
img = wImage(width=1200,height=(len(fonts)+2)*60,background=Color('#ffffff')) 
#draw.fill_color(Color('#000000')) 
draw.text_alignment = 'right'; 
draw.text_antialias = True 
draw.text_encoding = 'utf-8' 
#draw.text_interline_spacing = 1 
#draw.text_interword_spacing = 15.0 
draw.text_kerning = 0.0 
for i in range(len(fonts)): 
    font = fonts[i] 
    draw.font = font 
    draw.font_size = 40 
    draw.text(img.width/2, 40+(i*60),artext) 
    print draw.get_font_metrics(img,artext) 
    draw(img) 
draw.text(img.width/2, 40+((i+1)*60),u'ناصر test') 
draw(img) 
img.save(filename='C:\\PATH\\OUTPUT\\arabictest.png'.format(r)) 
wdiplay(img) 

Arabic typography in images

संबंधित मुद्दे