Skip to content

ചില്ലും മലയാളം കമ്പ്യൂട്ടിങ്ങും

മലയാളം കമ്പ്യൂട്ടിങ്ങിന്റെ മുകളില്‍ തലനാരിഴയില്‍ ഒരു വാള്‍ തൂങ്ങിക്കിടപ്പാണ്. ചില്ലു കൊണ്ടുള്ള ഒരു വാള്‍. വാള്‍ വീണാല്‍ മലയാളം രണ്ട് കഷണമാകും. ഒന്നാമത്തേത് നിങ്ങള്‍ വായിച്ചു കൊണ്ടിരിക്കുന്ന ഈ മലയാളം. രണ്ടാമത്തേത് അറ്റോമിക് ചില്ലുകള്‍ ഉപയോഗിച്ചുള്ള വേറൊരു മലയാളം…

“ഞങ്ങള്‍ തീരുമാനിച്ചു കഴിഞ്ഞു. നല്ലതോ ചീത്തയോ അതു നിങ്ങള്‍ അനുഭവിക്കുക” ഇത് അറ്റോമിക് ചില്ലുവാദികളുടെ മുദ്രാവാക്യത്തിന്റെ മലയാളപരിഭാഷ. ഇവിടെ ജയിക്കുന്നതാരുമാകട്ടെ തോല്ക്കുന്നത് ഭാഷ തന്നെയെന്നുറപ്പ്.

ഖരാക്ഷരം + വിരാമം + ZWJ എന്ന ഇപ്പോഴുള്ള ചില്ലക്ഷരത്തിന്റെ എന്‍കോഡിങ്ങിനു പകരം ഒറ്റ ഒരു യുണിക്കോഡ് വേണമെന്ന ആവശ്യം വളരെക്കാലമായി ഒരു വിഭാഗം മലയാളികള്‍ക്കിടയില്‍ ഉയര്‍ന്നു തുടങ്ങിയിട്ട്. അപ്പോള്‍ നിങ്ങള്‍ ചോദിച്ചേക്കാം ഇപ്പോഴുള്ള രീതിക്ക് എന്താണ് പ്രശ്നമെന്ന്. അതിനുള്ള ഉത്തരം എനിക്കിതേവരെ മനസ്സിലായിട്ടില്ല. മലയാളം ബ്ലോഗുകള്‍, വിക്കിപീഡിയ, മലയാളം സോഫ്റ്റ്​വെയറുകള്‍, പ്രാദേശികവത്കരിക്കപ്പെട്ട ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങള്‍, ഈയുള്ളവന്‍ തയ്യാറാക്കിക്കൊണ്ടിരിക്കുന്ന ഗ്നു ആസ്പെല് spelling checker (ഇപ്പോള്‍ ഒരു ലക്ഷത്തി മുപ്പതിനായിരത്തിലധികം മലയാളം വാക്കുകളുണ്ട്) ഇവയെല്ലാം ഇതിന് തെളിവുകള്‍ മാത്രം. ജീമെയിലില്‍ ചില്ലക്ഷരം വരുന്നില്ലെങ്കില്‍ അത് ജീമെയിലിന്റെ പിഴവാണ്. ബ്രൗസറില്‍ ചില്ലക്ഷരം വരുന്നില്ലെങ്കില്‍ അത് ബ്രൗസറിന്റെ അല്ലെങ്കില്‍ ചിത്രീകരണസംവിധാനത്തിന്റെ പിഴവാണ്. ഭാഷയുടേതല്ല. ഭാഷയെ മാറ്റലല്ല അതിനുള്ള പ്രതിവിധി. സോഫ്റ്റ്​വെയറിന്റെ പിഴവുകള്‍ ഭാഷകളുടെ നിലനില്പിനൊരിക്കലും വെല്ലുവിളിയാകരുത്.

സാങ്കേതികതയുടെ പേരില്‍ ഭാഷയോടുള്ള ഈ അതിക്രമം മലയാളത്തിന് പുത്തരിയല്ല. ടൈപ്പ്റൈറ്ററിന്റെ കാലത്ത് ലിപി പരിഷ്കാരത്തിന്റെ പേരില്‍ ലിപിയെ വെട്ടിമുറിക്കാന്‍ നമ്മുടെ പണ്ഡിതര്‍ തുനിഞ്ഞിരുന്നു. ആയുര്‍ബലം ഉള്ളതുകൊണ്ട് അകാലചരമമടയാതെ ഭാഷ രക്ഷപ്പെട്ടു. പ്രബുദ്ധരായ മലയാളികള്‍ ആ പരിഷ്കാരത്തെ അവഗണിച്ചു. ടൈപ്പ്റൈറ്ററിന്റെ സാങ്കേതികത്തികവില്ലായ്മ കമ്പ്യൂട്ടര്‍ പരിഹരിച്ചു. ഡിജിറ്റല്‍ ലോകത്തില്‍ മലയാളം അതിന്റെ ബാല്യദശയിലേക്ക് കടന്നു. ചരിത്രം വീണ്ടും ആവര്‍ത്തിക്കുന്നു. ഇത്തവണയും ഇതിനു മുന്നിട്ടിറങ്ങിയിരിക്കുന്നത് മലയാളികള്‍ തന്നെ. ഇതു വരെയുള്ള ഡിജിറ്റല്‍ മലയാളം കണ്ടെന്റ് മൊത്തം അസാധുവാക്കാനുള്ള ഒരു ശ്രമം. എനിക്കുറപ്പുണ്ട്, ഇതും ഒരു തുഗ്ളക്ക് പരിഷ്കാരമായി അവശേഷിക്കും. മലയാളത്തിന്റെ ഡിജിറ്റല്‍ പുരോഗതി വീണ്ടും അതിന്റെ ശൈശവം മുതല്‍ തുടങ്ങുകയോ?!.

എന്തു മാറ്റം വന്നാലും ഇപ്പോഴുള്ള സോഫ്റ്റ്​വെയറുകള്‍ നിലവിലുള്ള മലയാളം തന്നെ ഉത്പാദിപ്പിച്ചു കൊണ്ടിരിക്കും. ഉപയോക്താക്കള്‍ ഉപയോഗിച്ചു കൊണ്ടിരിക്കുന്ന ഇന്സ്ക്രിപ്റ്റ്, സ്വനലേഖ, വരമൊഴി എന്നീ നിവേശക രീതികളെല്ലാം നിലവിലുള്ള രീതി തന്നെ തുടരും. ചിത്രീകരണ സംവിധാനങ്ങള്‍ നിലവിലുള്ള രീതിയില്‍ തന്നെ റെന്‍ഡര്‍ ചെയ്യും. അങ്ങനെ കൂടുതല്‍ മലയാളം ഡിജിറ്റല്‍ ലോകത്തില്‍ നിറയും. ആ ലോകത്തിലേക്ക് അറ്റോമിക് ചില്ലെന്ന അപരന്‍ വന്നാല്‍ വാക്കുകള്‍ തിരിച്ചറിയാനാകാതെ ഡിജിറ്റല്‍ സംവിധാനങ്ങള്‍ അലങ്കോലമാകും. cons+virama+zwj = atomic Chillu എന്ന സമസ്യ എല്ലാ സോഫ്റ്റ്​വെയറുകളും മനസ്സിലാക്കേണ്ടി വരും. Dual Encoding എന്നത് തീരാശാപമായി മലയാളത്തെ പിന്തുടരും. എത്രകാലത്തേക്ക്? ഡിജിറ്റല്‍ വിവരങ്ങള്‍ക്ക് മരണമില്ലാത്തതു കൊണ്ട് അനന്തതയോളം…

ഇന്‍ഡിക് മെയിലിങ്ങ് ലിസ്റ്റില്‍( indic@unicode.org ) ചര്‍ച്ചകള്‍ ചൂടുപിടിക്കുകയാണ്. അറ്റോമിക് ചില്ല് എന്തിന്?, അതു കൊണ്ട് മാത്രമേ പരിഹരിക്കാന്‍ പറ്റൂ എന്നുള്ള എന്ത് പ്രശ്നമാണ് മലയാളത്തിനുള്ളത് എന്ന ചോദ്യങ്ങള്‍ക്ക് കൃത്യമായ ഉത്തരം നല്കാതെ ഒഴിഞ്ഞു മാറി നടക്കുകയാണ് അറ്റോമിക് ചില്ലുവാദികള്‍. ചിലരുടെ വ്യക്തിപരമായ പ്രശസ്തിക്കു വേണ്ടി മലയാളത്തിനെ കുരുതി കൊടുക്കണോ? ചരിത്രപരമായ മറ്റൊരു മണ്ടത്തരത്തിന് മലയാളം ഇരയാവല്ലേ എന്നു നമുക്കു പ്രാര്‍ത്ഥിക്കാം. നിരവധി ആക്രമണങ്ങളെ അതിജീവിച്ച മലയാളം ഇതും അതിജീവിക്കുമെന്നു പ്രതീക്ഷിക്കാം.

{ 19 } Comments

  1. Anonymous | August 10, 2007 at 8:22 AM | Permalink

    ചില്ലിനു വേണ്ടിയുള്ള വാദങ്ങള്‍ വരുന്ന സമയത്ത് മലയാളം വിക്കിയുണ്ടായിരുന്നോ? ഒരു ബ്ലോഗ് പോട്ടെ, നെറ്റില്‍ എവിടെയെങ്കിലും ഒരു ലേഖനം മലയാളത്തില്‍ വന്നിരുന്നുവോ? യൂണികോഡ് തീരുമാനമെടുക്കാന്‍ വൈകുന്നതോടെ മലയാളത്തില്‍ കണ്ടന്റും കൂടിവന്നു, ഇപ്പോള്‍ അസാധുവാക്കപ്പെടുമെന്ന് താങ്കള്‍ ഭയപ്പെടുന്ന ഒരു കണ്ടന്റും ചില്ലുകള്‍ വേണമെന്ന് പ്രൊപ്പോസല്‍ വന്ന സമയത്ത് ഉണ്ടായിരുന്നില്ല ഉവ്വോ? ആ തീരുമാനം വൈകിപ്പിച്ചത് രചന പോലുള്ള സംഘടനകളാണ്. ചില്ലിനെതിരെ വാദങ്ങള്‍ ചമച്ചും രാഷ്ട്രീയം കളിച്ചും നടന്നത് രചനയാണ്, അന്ന് സ്ഥാപിതലക്ഷ്യങ്ങള്‍ അവര്‍ക്കേ ഉണ്ടായിരുന്നുള്ളൂ, രചന ഒ.എസ് അതിന്റെ തെളിവാണ്.

    ആറ്റോമിക് ചില്ലിനു പകരം ഇപ്പോഴുള്ള സ്റ്റാന്‍ഡേര്‍ഡിലെ ZWJ പ്രമുഖഡാറ്റാബേസുകളും സേര്‍ച്ച് എഞ്ചിനുകളും തഴയുന്നതാണ്, മലയാളം മാത്രമല്ലല്ലോ ZWJ ഉപയോഗിക്കുന്നത്, എല്ലാ ഭാഷകള്‍ക്കും പൊതുവായി ഉപയോഗിക്കുന്ന ഒന്നാണ്, ZWJ കണക്കിലെടുത്താല്‍ ആ ഭാഷകളില്‍ തെറ്റുകള്‍ വന്നേയ്ക്കും, അതുകൊണ്ടാണ് ചില്ലക്ഷരം പോലെ വ്യത്യസ്തമായ ഐഡന്റിയിയുള്ള ഒരു ലിപിരൂപത്തെ എന്‍‌കോഡ് ചെയ്യണമെന്ന് വാദം ഉയര്‍ന്നുവന്നത്. ഇത് ഒരു വാദം മാത്രമാണ്, മറ്റു അനവധി വാദങ്ങള്‍ ഇന്‍‌ഡിക് ലിസ്റ്റിലുണ്ട്, അതും വായിച്ചു നോക്കുക.

  2. pravi | August 10, 2007 at 9:09 AM | Permalink

    അതു തന്നെയാണ് തിരിച്ച് ചോദിയ്ക്കാനുള്ളത്. ചില്ലില്ലാതെ തന്നെ ഇതെല്ലാം പ്രശ്നമില്ലാതെ നടക്കുമെന്ന് ഇപ്പോള്‍ തെളിഞ്ഞില്ലേ, ഇനിയുമെന്തിനാണ് ചില്ല്?

    മണ്ടത്തരങ്ങള്‍ പറയുന്നതിന് മുമ്പ് ഇത്തിരിയെങ്കിലും ആലോചിയ്ക്കുക, “മലയാളം മാത്രമല്ലല്ലോ ZWJ ഉപയോഗിക്കുന്നത്, എല്ലാ ഭാഷകള്‍ക്കും പൊതുവായി ഉപയോഗിക്കുന്ന ഒന്നാണ്, ZWJ കണക്കിലെടുത്താല്‍ ആ ഭാഷകളില്‍ തെറ്റുകള്‍ വന്നേയ്ക്കും,”

    ഇന്‍ഡിക്കിലെ ഒരു ചര്‍ച്ചയും മനസ്സിലായില്ലെന്ന് തോന്നുന്നു. വേറെയെത്ര സംസാരിയ്ക്കാനെങ്കിലും പറ്റുന്ന വാദങ്ങള്‍ ചില്ലിന്റെ പ്രത്യേക സ്ഥാനത്തിന് വേണ്ടി ഉയര്‍ത്തിട്ടുണ്ട്.അതൊക്കെ ഒന്നുകൂടി വയിച്ചു നോക്കുക.

    ഇവിടെ പ്രശ്നം മറ്റു ഭാഷകള്‍ക്കല്ല, നമ്മുടെ മലയാളത്തിന് മാത്രമാണ്.

  3. Anonymous | August 10, 2007 at 9:32 AM | Permalink

    Added you in Planet India

    Hi, based on Anivar’s suggestion – I added you to Planet FLOSS India. Hope it’s ok with you :-).

  4. admin | August 10, 2007 at 10:30 AM | Permalink

    സോഫ്റ്റ്​വെയറിന്റെ പിഴവുകള്‍ ഭാഷകള

    അനോണിമസ് സുഹ്രുത്തേ,
    ഏതെങ്കിലും സോഫ്റ്റ്​വെയറ് ZWJ കളയുന്നെണ്ടെങ്കില്‍ അത് ആ സോഫ്ട്‌വെയറിന്റെ പിഴവാണ്‍. ഉദാഹരണം ജീമെയില്‍ .ആവര്‍ത്തിച്ചുള്ള ബഗ് റിപ്പോര്‍ട്ടുകള്‍ക്കെതിരെ മൌനം പാലിക്കുകയാണവര്‍. ഇതെല്ലാം ഇന്‍ഡിക്കില്‍ ചര്‍ച്ച ചെയ്തതതാണ്‍.
    ഭാഷാ സ്റ്റാന്‍ഡേര്‍ഡുകള്‍ സോഫ്റ്റ്‌വെയര്‍ പിഴവുകള്‍ നോക്കിയാണോ നിശ്ചയിക്കപ്പെടേണ്ടത്?

    സാങ്കേതികവിദ്യക്ക് വേണ്ടി ഭാഷ മാറരുത്. സാങ്കേതിക വിദ്യ ഭാഷയുടെ പുരോഗതിക്കു വേണ്ടിയാണ്‍ പ്രവര്‍ത്തിക്കേണ്ടത്. അതിനെ നശിപ്പിക്കാനല്ല. അല്ലെങ്കില്‍ ലിപിപരിഷ്കാരത്തിന്റെ ചരിത്രം ആവര്‍ത്തിക്കും.

  5. Anonymous | August 10, 2007 at 11:02 AM | Permalink

    ബഹുമാനപ്പെട്ട അനോണീ

    അനോണി വിളയാട്ടം ഇവിടേയുമുണ്ടല്ലോ. ബഹുമാനപ്പെട്ട അനോണീ , കാര്യങ്ങള്‍ തഴമ്പു കൊണ്ടല്ല ഉള്ളടക്കം കൊണ്ടാണ് മനസ്സിലാക്കേണ്ടത് എന്നതാണ് സ്വതന്ത്ര മലയാളം കമ്പ്യൂട്ടിങ്ങിന്റെ പക്ഷം . യൂണികോഡില്‍ ഇപ്പൊള്‍ മലയാളത്തിന് ഒരു സ്റ്റാന്‍ഡേര്‍ഡുണ്ട്
    . യൂണികോഡ് 5.0 ആണ് ഇപ്പോഴത്തെ സ്റ്റാന്‍ഡേര്‍ഡ്. ഇതാണ് സ്വതന്ത്ര മലയാളം കമ്പ്യൂട്ടിങ്ങ് പിന്തുടരുന്നത്. പുതിയ സ്റ്റാന്‍ഡേര്‍ഡുകള്‍ Backword Compatible ആയേ തീരൂ. അതാണ് കീഴ്‌വഴക്കം. സ്റ്റാന്‍ഡേര്‍ഡിനെ അട്ടിമറിക്കാന്‍ ഇന്‍ഡിക് യൂണിക്കോഡ് ലിസ്റ്റില്‍ ചിലര്‍ നടത്തുന്ന (സി.ഡാക്കിലെ സുലോചനാദേവിയെപ്പോലുള്ളവര്‍) നടത്തുന്ന ശ്രമങ്ങളാണ് സന്തോഷിന്റെ പോസ്റ്റിന്റെ വിഷയം . രചനയെ അംഗീകരിച്ചില്ലെങ്കിലും വെറുതെ വിടുക . ലിപിപരിഷ്കരണത്തിനു മുന്‍പില്‍ വെറുങ്ങലിച്ചു നിന്ന മലയാളത്തിനെ സ്വന്തം വിജ്ഞാനമൂലധനം മാത്രം കൈമുതലാക്കി ഇത്രയെത്തിച്ചതിലെ നിസ്വാര്‍ത്ഥമായ ഇടപെടലിന് .

    ZWJ ZWNJ എന്നിവയെപ്പറ്റിയുള്ള മിനിമം ധാരണക്ക് യൂണിക്കോഡിന്റെ PR-96 വായിച്ചുനോക്കൂ . അതാണ് ഔദ്യോഗികമായ പൊസിഷന്‍. ZWJ, ZWNJ, ZWS തുടങ്ങിയവ തഴയുന്നത് IIDN മാത്രമാണ്. അത് ശരിയാണ് താനും. ഇപ്പറഞ്ഞ താങ്കളുടെ “പ്രമുഖഡാറ്റാബേസുകളും സേര്‍ച്ച് എഞ്ചിനുകളും” ഏതാണാവോ? അങ്ങനെയുണ്ടെങ്കില്‍ അതിനര്‍ത്ഥം അത് ഒരു ബഗ്ഗി സിസ്റ്റമാണ് എന്നുമാത്രമാണ്.
    അനിവര്‍ അരവിന്ദ്

  6. Anonymous | August 10, 2007 at 11:12 AM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    അക്ഷരത്തെറ്റുകള്‍ പൊറുക്കുക. IDN എന്നെഴുതിയപ്പോള്‍ ഒരു i കൂടിപ്പോയി.

  7. Anonymous | August 10, 2007 at 10:14 PM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    Anivar Please read PR 96 again.

    [BEGIN QUOTE] For these reasons format characters are normally excluded from Unicode identifiers. However, visible distinctions created by certain format characters (particularly the joiner controls) are necessary and carry meaning in certain languages. A blanket exclusion of format characters makes it impossible to create identifiers based on certain words or phrases in those languages. Identifier systems that attempt to provide more natural representations of terms, such as geographic names, company names, and so on should consider allowing these characters, but limited to particular contexts where they are necessary. [END QUOTE]

    If you haven’t noticed already kindly take a note that ZWNJ is allowed only for IDENTIFIERS (do some readings on identifiers pls). Read it again and u can find, it only applies to a specified sequence consisting of characters from a single script. All data stored in databases are not identifiers, search for അവന്‍ in google, yahoo, msn or any popular search engine. Your result text snippet will contain അവന് instead of അവന്‍. These search engines are not faulty, they do not require to implement ZWNJ or ZWJ inclusion for text searches.

    Pravi,

    ZWJ and ZWNJ aren’t property of Malayalam alone, you can not create an exclusive rule for malayalam when dealing with such characters, which could possibly break rendering in other languages like arabic or farsi.

    Santhosh,

    [BEGIN QUOTE] The use of format characters in identifiers is problematical because the formatting effects they represent are normally just stylistic or otherwise out of scope for identifiers [END QUOTE]

    Quoted text describe ZWJ, ZWNJ as format characters. If you are into IT, tell me why should a system store formatting effects while saving just the data? Why it should be considered while making any lexical operations on a script. Since its behavior are shared between many languages there can not be an exclusive rule for Malayalam.

  8. Anonymous | August 11, 2007 at 5:43 PM | Permalink

    Filtering Joiner and Non-joiner

    zwj, zwnj എന്നിവയെ ഡാറ്റയില്‍ നിന്ന് നീക്കം ചെയ്യുന്നതിനെ കുറിച്ച് യുണിക്കോഡിന്റെ നിരീക്ഷണം ശ്രദ്ധേയമാണ്.

    Filtering Joiner and Non-joiner: zero width joiner and zero width non-joiner are
    format control characters. As such, and in common with other format control characters,
    they are ordinarily ignored by processes that analyze text content. For example, a spell-
    checker or a search operation should filter them out when checking for matches. There are
    exceptions, however. In particular scripts—most notably the Indic scripts—ZWJ and
    ZWNJ have specialized usages that may be of orthographic significance. In those contexts,
    blind filtering of all instances of ZWJ or ZWNJ may result in ignoring distinctions relevant
    to the user’s notion of text content. Implementers should be aware of these exceptional cir-
    cumstances, so that searching and matching operations behave as expected for those
    scripts.

    എനിക്ക് നല്ല പോലെ അറിയുന്ന ഒരു ഉദാഹരണം എടുക്കാം. മലയാളം സ്പെല്ലിങ്ങ് ചെക്കര്‍. സെര്‍ച്ചിങ്ങും മാച്ചിങ്ങും അത്യതികം ഉപയോഗിക്കുന്ന ഒരു അപ്ലിക്കേഷന്‍. ഞാന്‍ ആ സംരംഭം തുടങ്ങുന്നതിന് മുമ്പ് മഹേഷ് ചില്ലക്ഷരങ്ങളുള്ള എല്ലാ മലയാളം പദങ്ങളും ഒഴിവാക്കിക്കൊണ്ട് ഒരു ചെറിയ പദസഞ്ചയം തയ്യാറാക്കിയിരുന്നു. ചില്ലക്ഷരങ്ങളുടെ പ്രശ്നം ഉള്ളതുകൊണ്ട് ആസ്പെല്‍ സ്പെല്ലിങ്ങ് ചെക്കറില്‍ മലയാളം ചേര്‍ക്കുന്നതിന് ബുദ്ധിമുട്ടാണ് എന്നായിരുന്നു അദ്ദേഹത്തിന്റെ ധാരണ. വളരെയധികം ഭാഷകളുപയോഗിക്കുന്ന പതിറ്റാണ്ടോളം വര്‍ഷത്തെ പാരമ്പര്യമുള്ള ആ സോഫ്റ്റ്​വെയര്‍ അങ്ങനെ പെരുമാറാന്‍ ഒരു വഴിയുമില്ല എന്ന സാമാന്യബുദ്ധിയോടെ ഞാനും ഗോര മൊഹന്തിയും അതിന്റെ രചയിതാവായ Kevin Atkinson നെ സമീപിക്കുകയും zwj, zwnj എന്നിവ നിലനിര്‍ത്തിക്കൊണ്ട് , അവയുടെ ഓര്‍ത്തോഗ്രാഫിക് മൂല്യത്തെ മാനിച്ചു കൊണ്ടു തന്നെ ആ പ്രശ്നം പരിഹരിക്കുകയും ചെയ്തു. ആസ്പെല്ലിന്റെ കോഡ് മാറ്റിയെഴുതിയല്ല ഇതു സാധിച്ചത്. സ്വതവേ തന്നെ അതിനുള്ള സ്ക്രിപ്റ്റ് സജ്ജീകരണ സംവിധാനം ഉപയോഗിച്ച്.

    സ്ട്രിങ്ങ് സെര്‍ച്ചിങ്ങും മാച്ചിങ്ങും ഏത് ഭാഷക്കു വേണ്ടിയായാലും നന്നായി കൈകാര്യം ചെയ്യുന്ന സോഫ്റ്റ്​വെയറുകള്‍ ലോകത്തുണ്ടെന്നര്‍ത്ഥം.

    അതായത് ഭാഷകളുടെ സവിശേഷതയായ മറ്റു ഭാഷകളില്‍ നിന്നുള്ള വ്യതിരിക്തത അഥവാ സാമാന്യതയില്‍ നിന്നുള്ള അപവാദങ്ങള്‍ കൈകാര്യം ചെയ്യുമ്പോള്‍, ഏതെങ്കിലും സോഫ്റ്റ്​വെയര്‍ പരാജയപ്പെടുകയാണെങ്കില്‍, അത് ആ സോഫ്റ്റ്​വെയറിന്റെ ശേഷിക്കുറവായി പരിഗണിക്കണിക്കപ്പെടണം. നമ്മളെപ്പോലെയുള്ള മലയാളികള്‍ ആ പിഴവുകള്‍ ചൂണ്ടിക്കാണിക്കുന്നതിനും പരിഹരിക്കുന്നതിനും മുന്നിലുണ്ടാവണം. അല്ലാതെ ആ പിഴവുകള്‍ ഭാഷയുടെമേല്‍ അടിച്ചേല്‍പ്പിച്ച് പാവം ഭാഷയെ മാറ്റിമറിക്കുകയല്ല വേണ്ടത്.

    മറ്റു ഭാഷകളെല്ലാം കമ്പ്യൂട്ടിങ്ങില്‍ അതിവേഗം പുരോഗമിച്ചു കൊണ്ടിരിക്കുമ്പോള്‍ നമ്മളിവിടെ ഭാഷയെ എങ്ങനെ എന്‍കോഡ് ചെയ്യണമെന്നു തര്‍ക്കിച്ചിരിക്കുന്നത് കഷ്ടം തന്നെ. ഇപ്പോള്‍ നിലനില്‍ക്കുന്നതും ദിനംപ്രതി വര്‍ദ്ധിച്ചുക്കൊണ്ടിരിക്കുന്നതുമായ വന്‍ മലയാളം ഡിജിറ്റല്‍ കണ്ടെന്റുള്ള മലയാളത്തെ ഇങ്ങനെ തട്ടിക്കളിച്ചാല്‍ നമ്മുടെ ഭാഷാ കമ്പ്യൂട്ടിങ്ങിന്റെ ഭാവിയെന്ത്?

  9. p_suresh | August 12, 2007 at 1:30 PM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    The ZWJ/ZWNJ generally function as format controls but not without exception.They are necessary and meaningful in certain contexts and should be allowed there.One instance of ZWNJ may be permitted after a virama.Similarly one instance of ZWJ should allowed after consonants that can form a chillu.The remaining ZWJ/ZWNJ can be safely stripped off.These rules apply specifically for Malayalam.Other scripts can have different rules.

    A blanket treatment for ZWJ/ZWNJ should not be case.In programming we can have rules and exceptions depending on context and logic.The programmers face the challenge of dealing with different contexts and complex logics.That is what Santhosh has done.

    അതായത് കാലാണ് പ്രധാനം;ചെരിപ്പല്ല.
    thnks
    suresh

  10. Anonymous | August 24, 2007 at 5:21 PM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    ഈ ചര്‍ച്ച വായിക്കുന്നയാള്‍ക്ക്‌ തികച്ചും ഏകപക്ഷീമയമായ അഭിപ്രായം കിട്ടാതിരിക്കാനായി ചില വസ്തുതകള്‍:

    * ഇതിനെ പറ്റി ചര്‍ച്ച തുടങ്ങിയിട്ട്‌ മൂന്നു കൊല്ലത്തിനും മേലെയായി. ഇപ്പോ ഏതാണ്ട് തീര്‍ന്നു. ഇത്രയും ചര്‍ച്ച ചെയ്ത ഒരക്ഷരം യുണിക്കോഡിലുണ്ടോ എന്ന്‌ സംശയമാണ്.
    * സോഫ്റ്റ്വെയറുകളിലെ ബഗുകള്‍ ഒഴിവാക്കുന്നതിനുള്ള എളുപ്പവഴിയായല്ല ചില്ല്‌ എന്‍‌കോഡ് ചെയ്യപ്പെടുന്നത്‌.
    * ഇനി മുഖ്യകാരണം: അവന്‍/അവന്, വന്‍‌യവനിയ/വന്യവനിക തുടങ്ങീ അര്‍ഥവ്യത്യാസമുള്ള അസംഖ്യം പെയറുകള്‍ zwj എന്ന 0 കോലേഷന്‍ വെയ്റ്റുള്ള ഇഗ്നോറബിള്‍ ക്യാരക്റ്റര്‍ കൊണ്ടുമാത്രം വ്യത്യാസപ്പെട്ടിരിക്കുന്നതാണ്. അതിന് zwj ഇഗ്നോറബിള്‍ അല്ലാതാക്കിക്കൂടേ എന്ന്‌ വാദിക്കാം. പ്രശ്നം അത്‌ പല സ്ക്രിപ്റ്റുകളിലും ഉപയോഗിക്കുന്ന അക്ഷരമായതുകൊണ്ട്‌ അതിന്റെ ഇമ്പാക്റ്റ് വളരെ കൂടുതലാണ്. കൊലേഷനും ശരിയാക്കാനുണ്ട്. അതിനുപകരമുള്ള മറ്റൊരു സൊല്യൂ‍ഷനായി അവതരിപ്പിക്കപ്പെട്ടത്‌ മലയാള അക്ഷരങ്ങളോട് ചേരുമ്പോള്‍ ചില്ലുണ്ടാക്കുന്ന മറ്റൊരക്ഷരമാണ്. ഇതിന്റെ ഒരു പ്രശ്നം കോമ്പിനേഷന്‍ നിയമങ്ങള്‍ പ്രത്യേകം എടുത്തുപറയണമെന്നുള്ളതായിരുന്നു. എന്നാല്‍ അതിനേക്കാള്‍ ഇമ്പ്ലിമെന്റേഷനുകള്‍ക്ക്‌ വളരെ എളുപ്പമുള്ളതായിരുന്നു ഒരു കോമ്പ്ലിക്കേഷനുമില്ലാത്ത ഒറ്റയൊറ്റ ചില്ലുകള്‍.
    * ഈ മുഖ്യകാരണം കൂടാതെ, ചില ചില്ലുകള്‍ ഏത്‌ അക്ഷരത്തെ ബേസ് ചെയ്താണ് ഉണ്ടാക്കേണ്ടത്‌ എന്ന സംശയവും ഉണ്ടായിരുന്നു. ഉദാ: മലര്‍/ഞായര്‍, സല്‍ക്കര്‍മ്മം/വാല്‍മീകി/തല്‍ഭവം

    കൂടുതല്‍ വിവരങ്ങള്‍ക്ക്‌ യുണീക്കോഡ് ആശ്രയിക്കുന്ന ഈ ഡോക്യുമെന്റ് കാണുക. http://std.dkuug.dk/jtc1/sc2/wg2/docs/N3126.pdf

  11. p_suresh | August 25, 2007 at 1:13 PM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    വന്‍‌യവനിയ/വന്യവനിക പെയര്‍ വ്യത്യസ്തമായി കാണിക്കുന്നത് ‘ന’യ്ക് ചില്ല് ഉള്ളതുകൊണ്ടാണ്. ‘ന’യ്ക് പകരം ചില്ല് ഇല്ലാത്ത വ്യഞ്ജനമാണ് വരുന്നതെങ്കില്‍ കാഴ്ചക്ക് ഒരുപോലെ ഇരിക്കുകയും എന്നാല്‍ പദഛേദം കൊണ്ട് അര്‍ത്ഥവ്യത്യാസം ഉണ്ടാകുകയും ചെയ്യാം.അപ്പോള്‍ അവിടെ പ്രശ്നമില്ലേ?

    zwj ഇഗ്നോറബിള്‍ ആണോ അല്ലയോ എന്നത് യൂസര്‍ തീരുമാനിക്കേണ്ടതാണ്.(ഉദാഹരണത്തിന് സെര്‍ച്ച് ചെയ്യുമ്പേള്‍ case sensitiveness വേണോ, വേണ്ടേ എന്നത് യൂസര്‍ ആണ് തീരുമാനിക്കുന്നത്.)strip ചെയ്ത് ഒരുക്കലും അവയുടെ context relevance ഇല്ലാതാക്കരുത്.പല ഭാഷകള്‍ക്കും ആവശ്യമായാണ് അവയെല്ലാം.

    ഓരോ ഭാഷയ്ക്കും context relevance വ്യത്യസ്തമായിരിക്കും.അതിനനുസരിച്ച് rules ഉണ്ടാക്കുകയാണ് വേണ്ടത്.hyphenation നിയമങ്ങള്‍ പലഭാഷകള്‍ക്കും പലതല്ലേ;അതുപോലെ.

  12. p_suresh | August 25, 2007 at 1:23 PM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    മറ്റൊന്നു കൂടി.
    ടൈപ്‌റൈറ്റര്‍ ലിപിയാണ് മലയാളത്തിന് നല്ലത് എന്നുു യൂണിക്കോഡുകാര്‍ തീരുമാനിക്കുകയാണ് കരുതുക(സംഭാവ്യമാണത്, കാരണം തമിഴിന്റെ രീതി അവര്‍ ന്യായമായി പറഞ്ഞേക്കാം).അപ്പോഴും യൂണിക്കോഡ് ഇങ്ങനെ പറയുന്നു എന്നു പറഞ്ഞ് ലിങ്ക് തന്നാല്‍ മതി അല്ലേ?

  13. Anonymous | August 26, 2007 at 3:00 AM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    മലയാളം യുണീക്കോഡിന്റെ എല്ലാപ്രശ്നങ്ങളും തീര്‍ക്കുന്ന ഒറ്റമൂലിയല്ല ചില്ല്‌ എന്‍‌കോഡിംഗ്. സദ്‌വാരം/സദ്വാരം രീതിയിലുള്ള പ്രശ്നങ്ങളൊക്കെ പിന്നേയും ബാക്കി തന്നെ എന്നതില്‍ ഒരു സംശയവുമില്ല.

    പദച്ഛേദം കൊണ്ടുണ്ടാവുന്ന അര്‍ഥവ്യത്യാസത്തിന്റെ കാര്യത്തില്‍ എന്‍‌കോഡിംഗിന് ഒന്നും ചെയ്യാനില്ല.

    zwj ന്റെ നിര്‍വ്വചിച്ചിരിക്കുന്ന സ്വഭാവം ഇഗ്നോറബിള്‍ എന്നാണ്; കൊലേഷന്‍ വെയ്റ്റ് 0 ആണ്. ഇത് രണ്ടും മാറ്റുക എന്നത്‌ ക്ഷിപ്രസാധ്യവുമല്ല. പ്രാക്റ്റിക്കലായി നടക്കില്ല എന്നു തന്നെ പറയാം.

    മലയാളത്തിന് നല്ലത്‌ പുതിയലിപിയാണ് എന്ന് യുണീക്കോഡുകാര്‍ തീരുമാനിക്കുക എന്നതിന്റെ അര്‍ഥം എന്താണ്? എന്റെ അഭിപ്രായത്തില്‍ ഈ ചോദ്യം തന്നെ നോണ്‍‌സെന്‍സാണ്. യുണീക്കോഡിന്റെ താത്പര്യം നിലവിലുള്ള എല്ലാ എഴുത്തുരീതികളും സപ്പോര്‍ട്ട് ചെയ്യുക എന്നതാണ് – പുതിയതും, പരമ്പരാഗതവും, പ്രാചീനവും.

    -Cibu

  14. Anonymous | August 26, 2007 at 6:45 AM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    “യുണീക്കോഡിന്റെ താത്പര്യം നിലവിലുള്ള എല്ലാ എഴുത്തുരീതികളും സപ്പോര്‍ട്ട് ചെയ്യുക എന്നതാണ് – പുതിയതും, പരമ്പരാഗതവും, പ്രാചീനവും.”

    അതേ,അതിനുവേണ്ടിത്തന്നെയാണ് ZWJ/ZWNJ.പിന്നെ അവയെ ആവശ്യാനുസരണം തള്ളാമെന്നു പറയുന്നത് ശരിയല്ല എന്നാണു പറഞ്ഞത്.അത് യൂസര്‍ തീരുമാനിക്കേണ്ടതാണ് എന്നു മാത്രം.

    എല്ലാ വ്യഞ്ജനങ്ങള്‍ക്കും ചില്ലുരൂപം ഉണ്ടെന്ന് കരുതുക.അപ്പോഴും എല്ലാം എന്‍കോഡ് ചെയ്യുകയാണെന്നു വേണ്ടത് എന്നു പറയുമോ?

  15. Anonymous | August 26, 2007 at 8:13 AM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    ഇഗ്നോറബിള് എന്നതിന്റെ അര്ഥം ആവശ്യാനുസരണം തള്ളാം എന്നല്ല. അത്‌ അര്ഥവ്യത്യാസം ഉണ്ടാക്കുന്നില്ല എന്നാണ്‌. അതുകൊണ്ട് റെന്ഡറിംഗിന്‌ പ്രാധാന്യമില്ലാത്ത അപ്ലിക്കേഷനുകള്ക്ക്‌ അവയെ തള്ളാനുള്ള സ്വാതന്ത്ര്യമുണ്ട്.

    മലയാളത്തില് ഇല്ലാത്ത കാര്യങ്ങളെ പറ്റി ഹൈപ്പോത്തിസീസ് ചെയ്യുന്നത്‌ വെറുതെ നേരം കളയലാണ്‌. മലയാളത്തില് 500 അക്ഷരങ്ങളുണ്ടെങ്കിലോ? മലയാളം ചൈനീസ് പോലെ ആയിരുന്നെങ്കിലോ…

    -Cibu

  16. Anonymous | August 27, 2007 at 6:17 AM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    ഹൈപ്പൊത്തെറ്റിക്കല്‍ തന്നെ.ഇപ്പോള്‍ ചില്ലിനുവേണ്ടിയുള്ള വാദങ്ങള്‍ അങ്ങനെയെങ്കില്‍ നിലനില്ക്കുമോ എന്നാണ് ചോദിച്ചത്.അപ്പോള്‍ ഒഴിഞ്ഞുമാറന്നു.
    അതായത് അഭിപ്രായങ്ങള്‍ക്ക് വ്യക്തമായ, ഉപോദ്ബലകമായ ന്യായവാദങ്ങള്‍ ഇല്ല എന്നര്‍ത്ഥം.അല്ലെങ്കില്‍ സ്വാഭാവികമായും പ്രതീക്ഷിക്കുന്ന ഉത്തരം ‘അതെ’ എന്നായിരിക്കും.’ഞങ്ങള്‍ക്ക് ഇപ്പോള്‍ ഇങ്ങനെ തോന്നുന്നു.അതുകൊണ്ട് അറ്റോമിക് ചില്ലുവേണമെന്ന് പറയുന്നു.’ഈ രീതിയില്‍ മാത്രമേ ഇതിനെ കാണാന്‍ കഴിയൂ.എന്റെ മലയാളം. ഞാന്‍ തട്ടിക്കളിക്കും എന്ന് പറയുന്ന പോലെ.
    അപ്ലിക്കേഷനുകള്‍ക്ക്‌ അവയെ തോന്നിയപോലെ തള്ളാനുള്ളതാണോ?തള്ളിയവ retrievable ആയിരിക്കുമോ?
    നഷ്ടപ്പെടുുന്നത് information ആണ്;ഭംഗിക്കുവേണ്ടി വെച്ചവയല്ല.
    അച്ചടിച്ച പുസ്തകം തുന്നിക്കെട്ടി ബൈന്‍ഡു ചെയ്യുമ്പോള്‍ അക്ഷരങ്ങള്‍ മുറിഞ്ഞുപോയാലും പറയണം,ഭംഗിക്കുവേണ്ടിയാണ് എന്ന്.

  17. Anonymous | August 27, 2007 at 7:36 PM | Permalink

    കലക്കി

    അഭിനന്ദനങ്ങള്‍ ഈ ശ്രമത്തിനു. പ്രോഗ്രാം ഉപയോഗിച്ച് നോക്കിയിട്ട് കൂടുതല്‍ അഭിപ്രായം പറയാം. നന്ദി.

  18. Anonymous | August 29, 2007 at 10:50 PM | Permalink

    Re: ബഹുമാനപ്പെട്ട അനോണീ

    പ്രിയ അനോണി,

    ഈ ZW(N)Jയുടെ മുകളിലുള്ള വാദം തുടങ്ങിയിട്ട്, മൂന്ന് വര്‍ഷത്തോളമായി എന്നു പറയുന്നു. അതിപ്പോള്‍ അവസാനിച്ചു കാണും അല്ലേ. എങ്കില്‍ വിശദവിവരങ്ങളടങ്ങിയ ഒരു ലിങ്കു തരു! വാദത്തിന്റെ കണ്ടെത്തുലുകളല്ല, വാദത്തിന്റെ. പൊതുജനത്തിനും അഭിപ്രായം പറയാമല്ലോ. 2006 ആഗസ്റ്റ് മുതല്‍ ജനുവരി 2007 വരെയുള്ള വാദപ്രദിവാദങ്ങള്‍ ഞാന്‍ ബൂലോകത്തില്‍ കണ്ടു. അതിനു മുമ്പും പിമ്പും ഉള്ള വാദങ്ങള്‍ നടന്നതെവിടെയാണാവോ? indic ലിസ്റ്റിലോ?

    പിന്നെ, ഈ ചില്ലിന്റെ കാര്യത്തിലുള്ള ശുഷ്കാന്തി എന്തു കൊണ്ടാണാവോ ZWNJ യുടെ കാര്യത്തിലില്ലാത്തത്? ലളിതമായ ഉത്തരങ്ങളില്ലാത്തതു കൊണ്ടായിരിക്കും അല്ലേ?

    ഒരു സംശയം കൂടി, ഈ 3 വര്‍ഷം മുമ്പ് അതായത് 2004ല്‍, ചില്ല് എന്‍കോഡ് ചെയ്യണം എന്നാണോ തീരുമാനിച്ചത്, അതോ താങ്കള്‍ മേല്‍പറഞ്ഞ പ്രശ്നങ്ങള്‍ക്ക് ചില്ലാണ് ഏക പരിഹാരം എന്ന് നിശ്ചയിക്കലോ?
    (കൃത്യമായി ഏതു വര്‍ഷം,ഏതു മാസമാണ് ചര്‍ച്ചകള്‍ തുടങ്ങിയത് എന്നും പറഞ്ഞു തന്നാല്‍ ഉപകാരമായിരുന്നു.

    സസ്നേഹം

    ജിനേഷ് കാഞ്ഞിരങ്ങാട്ടില്‍

  19. admin | August 31, 2007 at 3:42 AM | Permalink

    Ralminov’s mail in Indic List

    From Indic@unicode.org, For those who are not a member of that list:

    Ralminov:

    Mr Cibu had challenged in his blog to find an example in Malayalam which
    brings meaning change with and without using ZWNJ.
    An example was posted, no reply for that yet.
    We all know, normally there wont be any meaning change, because there
    existed the type-writer script in Malayalam in which the reader has to
    interpret the meaning of the word according to the context. This script
    was only used by the official purposes and was rejected by the
    mainstream public. Any move to revive the script will bring strong
    resistance from the language lovers.

    One reason that was told for the Atomic encoding was the meaning change
    theory.
    eg: vanyavanika
    Now I bring a similar example for non-joiners (This example is as
    acceptable as the vanyavanika,kanvalayam,manvikshobham examples),
    sad_vaaram (means good week– with non-joiner) and sa_dvaaram (means
    with hole– without non joiner). As there is no graphically independent
    Cil available for da, atomic encoding is not possible here, though da
    has a Cilling behaviour.
    What is the solution here ?
    A non-joining candrakkala ?
    An atomic postbase va ?
    Or is there a move to make the virama non-joining ?

    These questions remain un-answered .
    And a solution for this is not attempted.

    The real solution for this and the chillus is the legalization of the
    current sequences. The joiners and non-joiners must become atleast
    second class citizens. And they must not be thrown out by any standard
    applications. There is no problem in IDN also with the existing
    sequences, as the joiners are mapped to null string. There wont be any
    compatibility issues and security threats.

    The atomic encoding is not a solution. It is a real new problem.

    [The discussion can also be followed at my blog
    < http://ralminov.wordpress.com/2007/08/30/meaning-change-example-using-zwnj-in-malayalam/>,
    if no one prefers the list]

    Cibu:

    I well accept that example (sad_vaaram, sadvaaram). It is a better example than the current one (driksaaskhi) in http://www.unicode.org/reports/tr31/tr31-8.html (pr 104).

    Regarding how to solve the issue of ZWNJ imparting meaning difference, I don’t have any pragmatic solution to offer :(

    Ralminov:
    Thanks Cibu for accepting this example. But some persons told me that we have to use sat(സത്) instead of sad(സദ്).I can’t agree to it. We use sad_vaartha, sad_vichaaram, sambad_vyavasttha etc.
    Even if that is the case(sat is to be used), I shall bring another example:
    sat_varam (good blessing, nalla varam) and satvaram (speedy) the
    സത്​വരം , സത്വരം pair.
    I think if we dig it more , we may find more pairs. Just we have to look into the postbase , prebase, belowbase conjuncts. If a non-expert like me can find these, experts can find more.
    But there is no point in finding these pairs. If we preserve the (non)joiners, the issue never arise.
    So one reason for atomic chillu encoding is void .

    And if we look into all the stated available reasons for atomic chillus one by one, all of these are, according to me, simply excuses, not reasons.

    [The real reason is "The Govt of India requested it. And the Govts of Kerala supported it". Please tell us that openly. There was no need of these "mock" sessions.]

    The basic argument that Cils are independent is void, because a glyph of Cil-ya is not in use. The very reference used to “prove” the independent nature of Cils, presents the Cilling property of YA using an example kaay_kaRikaL(കായ്​കറികള്).
    [Mahesh or Viswam can provide a link to the said reference]
    As there is no independent glyph for Cil-Y, atomic encoding is not possible

    [If any one is interested, we shall continue. I am least interested in troubling any one. I am interested only in the best representation of the Malayalam language]


    Let’s make the applications not remove/strip the joiners by suitable amendment in the standard. This is a solution and this is the solution.
    If the vendors need their applications compliant to the standard, they will make necessary changes. There are open source solutions already working with the preserved joiners. These vendors also can follow the suit.

    “Bad workers always blame their tools”

Post a Comment

Your email is never published nor shared. Required fields are marked *

Powered by WP Hashcash