Payyans

From SMC Wiki

പയ്യന്‍സ്

പയ്യന്‍സ് ആസ്കി ഫോണ്ടുകളുപയോഗിച്ചെഴുതിയ മലയാളത്തെ കമ്പ്യൂട്ടര്‍ പ്രൊസസ്സിങ്ങിനു യോജിച്ച യൂണിക്കോഡ് മലയാളത്തിലേക്കു് മാറ്റുവാനുള്ളാ ഒരു പ്രോഗ്രാമാണു്. ഫോണ്ടു് ഡിപ്പന്റന്‍സി വളരെക്കുറച്ചുകൊണ്ടു് ലളിതമായ ഒരു മാപ്പിങ്ങ് ഫയലിന്റെ സഹായത്തോടെ ടെക്സ്റ്റ്, പീഡിഎഫ് എന്നീ ഫോര്‍മാറ്റുകളില്‍ ആസ്കി ഫോണ്ടുകളുപയോഗിച്ചെഴുതിയ മലയാളത്തെ ഇതു് യൂണിക്കോഡിലേയ്ക്കാക്കുന്നു. യൂണിക്കോഡിലുള്ള ഫയലുകളെ ആസ്കി ഫോണ്ടുകള്‍ക്കു ചേര്‍ന്ന രൂപത്തിലാക്കാനും പയ്യന്‍സ് ഉപയോഗിക്കാം

ഇന്‍സ്റ്റാളേഷന്‍

Download the latest deb from here for Debian based systems

Download the latest RPM from here for Fedora based systems

You can also install from source. Download the payyans from here

In GNU/Linux

Extract to a folder in your system and run

sudo python setup.py install

Done!

വിന്‍ഡോസ്

ആദ്യമായി പൈത്തണിന്റെ വിന്‍ഡോസ് വേര്‍ഷന്‍ ഡൌണ്‍ലോഡ് ചെയ്യണം. പിന്നീട് സോഴ്‌സ് കോഡ് ഇവിടെ നിന്നും ഡൌണ്‍ലോഡ് ചെയ്യുക. സിപ്പ് ഫയലിനെ എക്സ്ട്രാക്റ്റ് ചെയ്തതിനു ശേഷം ആ ഫോള്‍ഡറിലേക്ക് പോവുക. അവിടെയുള്ള payyans എന്ന ഫോള്‍ഡറിനകത്ത് പ്രവേശിച്ച്

python payyan.py -i ascii_ml.txt -o unicode_ml.txt -m D:\Payyans\payyansv07\maps\karthika.map -d a2u 

എന്നിങ്ങനെ നല്‍കിയാല്‍ മതി.


ഉപയോഗിക്കുന്ന വിധം

ആസ്കി ഫയലുകളെ യൂണിക്കോഡാക്കാന്‍

payyans -i asciifile.txt -m fontmap.map -o unicodefile.txt -d u2a
payyans -i asciifile.txt -m fontmap.map -d u2a > unicodefile.txt
payyans -m fontmap.map -o unicodefile.txt -d u2a < asciifile.txt
payyans -p -i ascii-pdffile.pdf -m fontmap.map -o  unicodefile.txt -d u2a
payyans --pdf --input-file ascii-pdffile.pdf --mapping-file fontmap.map --output-file unicodefile.txt -d u2a
payyans -h
payyans -v
payyans --help
payyans --version

യൂണിക്കോഡ് ഫയലുകളെ ആസ്കി ഫോണ്ട് എന്‍കോഡിങ്ങിലേക്കു മാറ്റാന്‍

payyans -i unicodefile.txt -m fontmap.map -o asciifile.txt -d a2u


Sample maps can be found in /usr/share/payyans/maps folder after intallation.

പീഡീഎഫ് ല്‍ നിന്നും യൂണിക്കോഡിലേക്കുള്ള മാറ്റം ഗ്നു/ലിനക്സില്‍ മാത്രമേ പ്രവര്‍ത്തിയ്ക്കു.. സ്കാന്‍ ചെയ്ത പീഡിഎഫ് അല്ല, ആസ്കി ഫോണ്ട് എന്‍കോഡ് ചെയ്ത പീഡിഎഫ് ആണു് ഉപയോഗിക്കേണ്ടതു്.

വികസിപ്പിച്ചതു്

  1. സന്തോഷ് തോട്ടിങ്ങല്‍
  2. നിഷാന്‍ നസീര്‍
  3. മനു എസ് മാധവ്
  4. രജീഷ് നമ്പ്യാര്‍

മാപ്പിങ്ങ് ഫയല്‍

പയ്യന്‍സിനു ഒരു മാപ്പിങ്ങ് ഫയല്‍ അത്യാവശ്യമാണു്. ഇതു് ആസ്കി അക്ഷരങ്ങള്‍ക്കു് തത്തുല്യമായ യൂണിക്കോഡ് ഏതെന്നു നിര്‍വചിക്കുന്നു. വളരെ ലളിതമായ ഒരു ടെക്സ്റ്റ് ഫയലാണു് ഇതു്. ആസ്കിഅക്ഷരം=യൂണിക്കോഡ് എന്ന രീതിയിലുള്ള നിയമങ്ങളാണു് അതില്‍ ഉണ്ടാവുക. ആസ്കി ഫോണ്ടുകള്‍ വ്യത്യസ്ത മാപ്പിങ്ങ് ഉപയോഗിക്കുന്നതിനാല്‍ ഓരോ ഫോണ്ടിനും പ്രത്യേകം മാപ്പിങ് ഫയലുകള്‍ വേണം. മാപ്പിങ്ങ് ഫയല്‍ തയ്യാറാക്കാന്‍ ഒരു ടെക്സ്റ്റ് ഫയലില്‍ താഴെക്കാണിച്ചിരിക്കുന്ന ഉദാഹരണം പോലെ നിയമങ്ങളെഴുതി സേവ് ചെയ്യുക

#Give the rules in following format
# # എന്നതില്‍ തുടങ്ങുന്ന വരികള്‍ കമന്റുകളാണു്
w=ം
x=ഃ
A=അ
B=ക
C=ഇ
Cu=ഈ
D=ഉ
Du=ഊ
E=ഋ
F=എ
G=ഏ
sF=ഐ
H=ഒ
Hm=ഓ
Hu=ഔ
I=ക
J=ഖ
K=ഗ
L=ഘ
M=ങ
N=ച
O=ഛ

ഒഴിഞ്ഞ വരികള്‍ പ്രശ്നമല്ല. ഏതെങ്കിലും വരിയില്‍ പ്രശ്നമുണ്ടെങ്കില്‍ അതിന്റെ വിശദാംശങ്ങള്‍ ലൈന്‍ നമ്പര്‍ സഹിതം പ്രോഗ്രാം പറയും

സംരംഭങ്ങള്‍

മലയാളം വിക്കിസോഴ്സ് സംരംഭവുമായി ചേര്‍ന്നു് ആസ്കിയിലുള്ള പഴയ പുസ്തകങ്ങളെ യൂണിക്കോഡിലേക്കാക്കി മാറ്റുന്ന ഒരു സംരംഭം ആരംഭിച്ചിരിക്കുന്നു. ഇതിന്റെ ആദ്യപടിയായി മലയാള വ്യാകരണ ഗ്രന്ഥമായ ഏ.ആര്‍. രാജരാജവര്‍മ്മയുടെ കേരളപാണിനീയം യൂണിക്കോഡിലേയ്ക്കു മാറ്റുന്നു. മലയാളനോവല്‍ സാഹിത്യത്തിനു തുടക്കം കുറിച്ച ഓ.ചന്തുമേനോന്റെ ഇന്ദുലേഖ എന്ന നോവലും യൂണിക്കോഡിലേയ്ക്കു മാറ്റൂം

For Developers

Payyans provide python APIs and it can be used in your python applications. Some sample code snippets are given below

Ascii to Unicode:

from payyans import Payyans
p=Payyans("input.pdf","unicode.txt","/usr/share/payyans/maps/karthika.map")
p.ascii2unicode()

Unicode to Ascii:

from payyans import Payyans
p=Payyans("unicode.txt","ascii.txt","/usr/share/payyans/maps/karthika.map")
p.unicode2ascii()

ASCII word to Unicode:

from payyans import Payyan
p=Payyan()
p.mapping_filename="/usr/share/payyans/maps/indulekha.map"
unicode_word = p.word2Unicode(ascii_word)

Unicode word to ASCII:

from payyans import Payyan
p=Payyan()
p.mapping_filename="/usr/share/payyans/maps/indulekha.map"
ascii_word = p.word2ASCII(unicode_word)

Payyans Package Help

class Payyans
    |  Methods defined here:
    |  
    |  __init__(self, input_file, output_file, mapping_file)
    |  
    |  ascii2unicode(self)
    |  
    |  unicode2ascii(self)
    |  
    |  word2ASCII(self, unicode_str)
    |  
    |  word2Unicode(self, ascii_str)

നന്ദി

  1. ബൈജു. എം
  2. ഷിജു അലക്സ്
  3. അനൂപന്‍
"എന്റെ കമ്പ്യൂട്ടറിനു് എന്റെ ഭാഷ"
ഒരു സ്വതന്ത്ര മലയാളം കമ്പ്യൂട്ടിങ്ങ് സംരംഭം