Exemplo n.º 1
0
def rtl(exp, reshape=True, bidi=True, digits=False):

    if reshape:
        exp = reshaper.reshape(exp, digits=digits)

    if bidi:
        exp = get_display(exp)

    return exp
Exemplo n.º 2
0
def get_farsi_text(text):
    words = text.split()
    reshaped_words = []
    for word in words:
        if reshaper.has_arabic_letters(word):
            reshaped_text = reshaper.reshape(word)    # for reshaping and concating words
            bidi_text = get_display(reshaped_text)    # for right to left
            reshaped_words.append(bidi_text)
        else:
            reshaped_words.append(word)
    reshaped_words.reverse()
    # reshaped_text = reshaper.reshape_sentence(text) reshape_it(text)
    return ' '.join(reshaped_words)
Exemplo n.º 3
0
 def get_farsi_text(text):
     if reshaper.has_arabic_letters(text):
         words = text.split()
         reshaped_words = []
         for word in words:
             if reshaper.has_arabic_letters(word):
                 reshaped_text = reshaper.reshape(word)
                 bidi_text = get_display(reshaped_text)
                 reshaped_words.append(bidi_text)
             else:
                 reshaped_words.append(word)
         reshaped_words.reverse()
         return ' '.join(reshaped_words)
     return text
Exemplo n.º 4
0
def get_farsi_text(text):
    if reshaper.has_arabic_letters(text):
        words = text.split()
        reshaped_words = []
        for word in words:
            if reshaper.has_arabic_letters(word):
                reshaped_text = reshaper.reshape(word)
                bidi_text = get_display(reshaped_text)
                reshaped_words.append(bidi_text)
            else:
                reshaped_words.append(word)
        reshaped_words.reverse()
        return ' '.join(reshaped_words)
    return text
Exemplo n.º 5
0
def get_farsi_text(word):
    # print ('in get_farsi_text method...')
    # print('text dakhel function get %%%%%%%%',word)
    if reshaper.has_arabic_letters(word):
        # for reshaping and concating words
        reshaped_text = reshaper.reshape(word)
        reshaped_text = _multiple_replace(arabic2persian, reshaped_text)
        # for right to left
        bidi_text = get_display(reshaped_text)
        reshaped_words = bidi_text
    else:
        reshaped_words = word
    # reshaped_words.reverse()
    return reshaped_words
Exemplo n.º 6
0
# add a font that supports farsi
# copy Bahij-Nazanin-Regular.ttf into /usr/local/lib/python3.4/dist-packages/reportlab/fonts folder
pdfmetrics.registerFont(TTFont('Persian', 'Bahij-Nazanin-Regular.ttf'))

c = canvas.Canvas('font.pdf')
c.setFont('Persian', 14)
c.drawString(100, 750, u"خوش آمدید".encode('utf-8'))
c.save()

print('################## print farsi ######################')
from bidi.algorithm import get_display
from rtl import reshaper

c = canvas.Canvas('farsi.pdf')
c.setFont('Persian', 14)
reshaped_text = reshaper.reshape(
    u"خوش آمدید")  # for reshaping and concating words
bidi_text = get_display(reshaped_text)  # for right to left
# c.drawString(100, 750, bidi_text)
from hazm import *
normalizer = Normalizer()
text = 'شاید هنوز اندروید نوقا برای تمام گوشی‌های اندرویدی عرضه نشده باشد، ولی اگر صاحب یکی از گوشی‌های نکسوس یا پیکسل باشید احتمالا تا الان زمان نسبتا زیادی را با آخرین نسخه‌ی اندروید سپری کرده‌اید. اگر در کار با اندروید نوقا دچار مشکل شده‌اید، با دیجی‌کالا مگ همراه باشید تا با هم برخی از رایج‌ترین مشکلات گزارش شده و راه حل آن‌ها را بررسی کنیم. البته از بسیاری از این روش‌ها در سایر نسخه‌های اندروید هم می‌توانید استفاده کنید. اندروید برخلاف iOS روی گستره‌ی وسیعی از گوشی‌ها با پوسته‌ها و اپلیکیشن‌های اضافی متنوع نصب می‌شود. بنابراین تجویز یک نسخه‌ی مشترک برای حل مشکلات آن کار چندان ساده‌ای نیست. با این حال برخی روش‌های عمومی وجود دارد که بهتر است پیش از هر چیز آن‌ها را بیازمایید.'
txt = normalizer.normalize(text)
reshaped_text = reshaper.reshape(txt)
bidi_text = get_display(reshaped_text)
c.drawString(100, 750, bidi_text)
c.save()

print('################## change paper size ######################')
from reportlab.lib.pagesizes import letter

c = canvas.Canvas('page_size.pdf', pagesize=letter)