IIRC, арифметическая операция между подписанным и беззнаковым int будет давать неподписанный результат.
Таким образом, 20 - 80u
выдает результат без знака, эквивалентный -60
: если unsigned int
является 32-битным типом, этот результат равен 4294967236.
Кстати, присвоение i1
приводит к определенному реализацией результату , потому что число слишком велико, чтобы уместиться. Получение -60
типично, но не гарантировано.
На мой взгляд, дело довольно простое. Вы можете использовать шрифты True Type и использовать
Вот пример: Шрифты True Type для PIL
Здесь вы можете найти еврейские шрифты True Type: Еврейские шрифты True Type
Удачи, или как мы говорим на иврите - Мазаль Тов.
Шаблон sysout действует на все операторы Java.
System.out.println
, когда вы нажмете Enter). --- 1595053- В какой системе вы работаете? У меня это работает в моей системе Gentoo; порядок букв обратный (я просто скопировал из вашего вопроса), что кажется мне правильным, хотя я мало знаю о языках RTL.
Python 2.5.4 (r254:67916, May 31 2009, 16:56:01)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Image as I, ImageFont as IF, ImageDraw as ID
>>> t= u"סֶפֶר ספר"
>>> t
u'\u05e1\u05b6\u05e4\u05b6\u05e8 \u05e1\u05e4\u05e8'
>>> i= I.new("L", (200, 200))
>>> d= ID.Draw(i)
>>> f= IF.truetype("/usr/share/fonts/dejavu/DejaVuSans.ttf", 20)
>>> d1.text( (100, 40), t, fill=255, font=f)
>>> i.save("/tmp/dummy.png", optimize=1)
дает:
EDIT: Я должен сказать, что использование Шрифт Deja Vu Sans
не случаен; хотя я не