Пример #1
0
def drawText(canvas, x, y, text, en = False, bold = False, size = 12):
    wrkText = text
    isArabic = False
    isBidi = False
    for c in wrkText:
        cat = unicodedata.bidirectional(c)
        if cat == "AL" or cat == "AN" or cat == "FA":
            isArabic = True
            isBidi = True
            break
        elif cat == "R" or cat == "RLE" or cat == "RLO":
            isBidi = True
    if isArabic:
        wrkText = a_forms.fuse(wrkText)
        wrkText = a_process.shape(wrkText)

    if isBidi:
        wrkText = get_display(wrkText)

    if bold:
        canvas.setFont('BNazanin', size)
    else:
        canvas.setFont('Nazanin', size)

    canvas.drawRightString(x, canvas._pagesize[1] - y, wrkText)
Пример #2
0
def rtlize_line(string):
    """Process a single-line string"""
    string = forms.fuse(string)
    string = shape(string)
    string = mirror(string)
    return string
Пример #3
0
def rtlize_line(string):
    """Process a single-line string"""
    string = forms.fuse(string)
    string = shape(string)
    string = mirror(string)
    return string