20 ноември 2008

Маймунизаторски скрипт

Един приятел ме помоли да напиша програма която да превежда кирилица на език от рисунки, като за всяка буква има съответната рисунка. Понеже още не ми е дал самите рисунки и другите детайли които ми трябват, не мога да започна работа. Но понеже нямах какво да правя начатках този бърз скрипт, написан на python3.0, защото имах проблем с unicode-а при 2.5, поради unicode проблеми, все още не мога да си инсталирам и python2.6, но все тая. Ето скрипта, който превръща кирилица в латиница:


#!/usr/bin/env python
import sys

letters={
"а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"j","з":"z",
"и":"i","й":"i","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p",
"р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch",
"ш":"sh","щ":"sht","ъ":"a","ь":"","ю":"ju","я":"ja","А":"A",
"Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"J","З":"Z","И":"I",
"Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R",
"С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh",
"Щ":"Sht","Ъ":"A","Ь":"","Ю":"Ju","Я":"Ja"}

def parse(inp):
inp.split(" ")
for word in inp:
yield word

def translate(word):
newd=""
for char in word:
if char in letters.keys():
newd=newd+letters[char]
else:
newd=newd+char
return newd

def main():
inp=open(sys.argv[1])
output=''
for x in [translate(word) for word in parse(inp.read())]:
output+=x
print(output)

if __name__=="__main__":
main()


А що се отнася до програмата която трябва да се занимава с изображенията, най вероятно ще използвам PIL, проблемът е че PIL още няма потдръжка за python3.0 и за това ще трябва или да разбера от къде ми идва проблема с уникода при 2.5 или да търся начин да хакна горния скрипт, така че да вика python2.5 и да му подава латинизирания текст, така че да може да се направят изображенията. С други думи преебан съм.

Няма коментари: