എന്താണു് ഈ കോണ്ടസാ അറ്റോമിക്ക് ചില്ലു പ്രശ്നം?

വ്യാകരണം (Grammar), സാങ്കേതികം (Technical)

“കുറേക്കാലമായി നിങ്ങള്‍ ഈ കോണ്ടസാ, കോ‍ണ്ടസാ എന്നു പറഞ്ഞു നടക്കുന്നുണ്ടല്ലോ.  എന്താ ഈ കോണ്ടസാ പ്രശ്നം?”
കുതിരവട്ടം പപ്പു, “ചന്ദ്രലേഖ”യില്‍.

ആണവ (അറ്റോമിക്) ചില്ലുകള്‍, ജോയിനറുകള്‍, ZWJ, ZWNJ തുടങ്ങിയ വാക്കുകള്‍ ഉപയോഗിച്ചു കുറേക്കാലമായി സിബു, റാല്‍മിനോവ്, അനിവര്‍, പ്രവീണ്‍, സുറുമ, സന്തോഷ് തോട്ടിങ്ങല്‍ തുടങ്ങിയവര്‍ തിരിച്ചും മറിച്ചും സാങ്കേതികവും സര്‍ക്കാസ്റ്റിക്കും ആയി പോസ്റ്റുകള്‍ ഇറക്കുന്നുണ്ടു്. ഇതൊക്കെ വായിച്ചു് ചന്ദ്രലേഖയിലെ പപ്പുവിനെപ്പോലെ “എന്താ ഈ ആണവചില്ല്?” എന്നു ചോദിച്ചു് അന്തം വിട്ടു കുന്തം വിഴുങ്ങി ഇരിക്കുന്ന ബ്ലോഗുവായനക്കാര്‍ക്കു വേണ്ടിയുള്ളതാണു് ഈ പോസ്റ്റ്.

എന്തുകൊണ്ടു ഞാന്‍ ഇതെഴുതുന്നു എന്നു ചോദിച്ചാല്‍,

  1. മലയാളഭാഷയെപ്പറ്റി കുറെയൊക്കെ അറിഞ്ഞിരുന്നെങ്കിലും യൂണിക്കോഡിനെപ്പറ്റിയുള്ള അജ്ഞത മൂലം ഞാനും കുറേക്കാലം ഇങ്ങനെ കുന്തം വിഴുങ്ങി ഇരുന്നിട്ടുണ്ടു്. പിന്നെ കാര്യങ്ങള്‍ കുറേശ്ശെ വ്യക്തമായി. വ്യക്തമായതെങ്ങനെ എന്നു വിശദീകരിച്ചാല്‍ ഇപ്പോള്‍ കുന്തം വിഴുങ്ങിയിരിക്കുന്നവര്‍ക്കു് സഹായകമാകും എന്നൊരു ചിന്ത.
  2. അറ്റോമിക് ചില്ലുകളെപ്പറ്റിയുള്ള ചര്‍ച്ചകളിലെ ഭാഷാപരമായ കാര്യങ്ങളില്‍ അഭിപ്രായം പറഞ്ഞിട്ടുണ്ടെങ്കിലും, ഞാന്‍ ഇതു വരെ അവയെ അനുകൂലിച്ചോ എതിര്‍ത്തോ പറഞ്ഞിട്ടില്ല. ഈ വിഷയത്തെപ്പറ്റി എനിക്കുള്ള അഭിപ്രായം വ്യക്തമാക്കാന്‍ കൂടിയാണു് ഈ ലേഖനം.

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

ആദ്യമേ ഒരു അറിയിപ്പു്: മൈക്ക് ടെസ്റ്റിംഗ്, വണ്‍, ടൂ, ത്രീ,…

ദയവായി ഈ പോസ്റ്റ് ഈ ബ്ലോഗില്‍ത്തന്നെ വായിക്കുക. ഫീഡ് റീഡര്‍, ഈ-മെയില്‍ തുടങ്ങിയവയിലൂടെ കടന്നു പോയാല്‍ പല ജോയിനറുകളും നഷ്ടപ്പെട്ടു് ഉദ്ദേശിച്ചതു തെറ്റും എന്നതുകൊണ്ടാണു് ഇതു്. മറ്റു രീതിയില്‍ വായിക്കുന്നവര്‍ക്കായി ഈ പോസ്റ്റിന്റെ ലിങ്ക്: http://malayalam.usvishakh.net/blog/archives/288.

അതുപോലെ ന്‍ (ന + വിരാമം + ZWJ) എന്നതിനെ ന്‍ എന്ന ചില്ലക്ഷരമായി കാണിക്കുന്ന (ന് എന്നു നയുടെ കൂടെ ചന്ദ്രക്കല ഇട്ടതല്ല) ഏതെങ്കിലും ഓപ്പറേറ്റിംഗ് സിസ്റ്റം/ബ്രൌസര്‍ ഉപയോഗിക്കുക.

എന്റെ അറിവില്‍ താഴെപ്പറയുന്ന കോംബിനേഷനുകള്‍ ശരിയായി ചില്ലുകള്‍ കാണിക്കുന്നു:

  • Windows + IE
  • Windows + Firefox 3.0
  • Windows + Firefox 2.0 + IE tab
  • Linux + Firefox 3.0 + Rachana/Meera font
  • Linux + Firefox 2.0 + Rachana/Meera font + Suruma’s Pango patch

അല്ലെങ്കില്‍ താഴെയുള്ളതു നല്ല തമാശയായിരിക്കും. ശയും ഷയും ഒരു പോലെ ഉച്ചരിക്കുന്ന ഒരുത്തന്‍ ഒരിക്കല്‍ എന്നോടു് “ഉമേഷേ, ഉമേഷിന്റെ പേരു ശരിക്കു് ഉമേശ് എന്നല്ലേ പറയേണ്ടതു്, അതെന്തിനാ ഉമേഷ് എന്നു പറയുന്നതു്?” എന്നു ചോദിച്ചതും ഞാന്‍ അന്തം വിട്ടു നിന്നതും ഓര്‍മ്മ വരുന്നു 🙂

ഒരു ഉദാഹരണം:

ഒരു ഉദാഹരണത്തില്‍ തുടങ്ങാം.

ആദ്യമായി ചില്ലക്ഷരങ്ങളെ കാണിക്കുന്ന ഏതെങ്കിലും ഓപ്പറേറ്റിംഗ് സിസ്റ്റം/ബ്രൌസര്‍/ഫോണ്ട്/സേര്‍ച്ച് എഞ്ചിന്‍ ഉപയോഗിച്ചു് അവന്‍ എന്ന വാക്കൊന്നു സേര്‍ച്ചു ചെയ്തു നോക്കുക. വിന്‍ഡോസ് എക്സ് പി/ഇന്റര്‍നെറ്റ് എക്സ്പ്ലോറര്‍ 7/കാര്‍ത്തിക/ഗൂഗിള്‍ ഉപയോഗിച്ചു ഞാന്‍ നടത്തിയ തിരയലിന്റെ ഫലം താഴെ.

അവന്‍ എന്നതു തിരഞ്ഞപ്പോള്‍ കിട്ടിയതു് അവന് എന്നാണു് എന്നു തോന്നും. ഇവയില്‍ ഏതെങ്കിലും ഒരു ഫലത്തില്‍ ക്ലിക്കു ചെയ്തു നോക്കിയാല്‍ അതു് അവന്‍ എന്നു തന്നെയാണെന്നു കാണാം. അതായതു്, സേര്‍ച്ച് എഞ്ചിന്‍ ശരിയായ വാക്കു തന്നെ കണ്ടുപിടിച്ചെങ്കിലും സേര്‍ച്ച് ലിസ്റ്റില്‍ അതിനെ നാം കാണുമ്പോള്‍ അതു് അവന് എന്നായി മാറി. (എല്ലാ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം/ബ്രൌസര്‍/സേര്‍ച്ച് എഞ്ചിന്‍ കോംബിനേഷനുകളിലും ഇതുണ്ടാവണമെന്നു നിര്‍ബന്ധമില്ല. ചിലതില്‍ ഉണ്ടെന്നേ ഞാന്‍ പറയുന്നുള്ളൂ.)

ഇതെങ്ങനെ സംഭവിച്ചു?

ചില്ലക്ഷരമായ ന്‍ എന്നതിനെ ഇപ്പോള്‍ സൂചിപ്പിക്കുന്നതു് (ഫോണ്ടുകള്‍, ഇന്‍‌പുട്ട് മെതേഡുകള്‍ തുടങ്ങിയവ. യൂണിക്കോഡ് സ്റ്റാന്‍ഡേര്‍ഡ് ഇതിനെപ്പറ്റി ഒന്നും പറയുന്നില്ല) ന + വിരാമം + ZWJ എന്നാണു്. എവിടെയോ വെച്ചു് ആ ZWJ (സീറോ വിഡ്ത്ത് ജോയിനര്‍) നഷ്ടപ്പെട്ടു പോയിട്ടു നമുക്കു കിട്ടിയതു് ന + വിരാമം എന്നു മാത്രമാണു്. അതാണു് ന് എന്നു കാണുന്നതു്.

ദേ പിന്നെയും വന്നു കോണ്ടസാ. എന്താ‍ ഈ ജോയിനര്‍, വിരാമം എന്നൊക്കെ പറയുന്നതു്?

ഓ, സോറി. അതു പറയാം.

ആസ്കി ഫോണ്ടുകളില്‍ (ഉദാ: ദീപിക പത്രത്തിലെ ഫോണ്ടു്) എന്നതും ല്ല എന്നതും രണ്ടു കാര്യങ്ങളാണു്. തമ്മില്‍ യാതൊരു ബന്ധവുമില്ലാത്ത രണ്ടു് അക്ഷരങ്ങള്‍. അവയെ സൂചിപ്പിക്കാന്‍ രണ്ടു വ്യത്യസ്ത ആസ്കി കോഡുകള്‍ ഉപയോഗിക്കുന്നു.

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

അല്പം കൂടി വലിയ ഒരു കൂട്ടക്ഷരം നോക്കാം. ഗ്ദ്ധ എന്ന അക്ഷരം യൂണിക്കോഡില്‍ എപ്പോഴും ഗ + വിരാമം + ദ + വിരാമം + ധ ആണു്. അതു കാണിക്കുന്ന ഫോണ്ടുകള്‍ അതിനെ ഒറ്റ അക്ഷരമായോ ഗ + ചന്ദ്രക്കല + ദ്ധ എന്നോ ഗ്ദ + ചന്ദ്രക്കല + ധ എന്നോ ഗ + ചന്ദ്രക്കല + ദ + ചന്ദ്രക്കല + ധ എന്നോ കാണിച്ചെന്നിരിക്കും. (ഫോണ്ടിലോ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലെ ലേ ഔട്ട് എഞ്ചിനോ ബഗ്ഗുണ്ടെങ്കില്‍ വേറേ രീതിയിലും കണ്ടെന്നിരിക്കാം.) എങ്കിലും ആ യൂണിക്കോഡ് ടെക്സ്റ്റ് സൂക്ഷിച്ചിരിക്കുന്ന ഒരു ഫയലില്‍ എപ്പോഴും 0D17(ഗ), 0D4D(വിരാമം), 0D26(ദ) 0D4D (വിരാമം), 0D27 (ധ) എന്നു് അഞ്ചു യൂണിക്കോഡ് കോഡുകളേ ഉണ്ടായിരിക്കുകയുള്ളൂ. യൂണിക്കോഡിലെ (പതിപ്പു് 5.0) മലയാളം കോഡുകള്‍ ഏതൊക്കെയാണെന്നു് ഇവിടെ വായിക്കാം.

ഏതു തരം എന്‍‌കോഡിംഗ് ആ‍ണുപയോഗിക്കുന്നതു് എന്നതിനെ ആശ്രയിച്ചു് ഫയലിലുള്ള ബൈറ്റുകള്‍ക്കു് വ്യത്യാസമുണ്ടായിരിക്കും. ഉദാഹരണമായി മലയാളത്തിലെ ഓരോ കോഡിനും മൂന്നു ബൈറ്റു് ഉപയോഗിക്കുന്ന utf-8 എന്ന രീതിയില്‍ (ഇതാണു് ഭൂരിഭാഗം വെബ്‌പേജുകളില്‍ ഉപയോഗിക്കുന്നതു്) ഗ്ദ്ധ എന്നതിലെ അഞ്ചു യൂണിക്കോഡ് കോഡുകളെ E0 B4 97 E0 B5 8D E0 B4 A6 E0 B5 8D E0 B4 A7 എന്നു പതിനഞ്ചു ബൈറ്റുകള്‍ കൊണ്ടു സൂചിപ്പിക്കുമ്പോള്‍ മലയാളം കോഡുകള്‍ക്കു രണ്ടു ബൈറ്റു വീതം ഉപയോഗിക്കുന്ന utf-16 രീതിയില്‍ അതിനെ 0D 17 0D 4D 0D 26 0D 4D 0D 27 എന്നു പത്തു ബൈറ്റുകളില്‍ സൂചിപ്പിക്കുന്നു.

ഇനി വിദഗ്ദ്ധന്‍ എന്നെഴുതുന്ന ഒരാള്‍ക്കു് അതു് ഗ + ചന്ദ്രക്കല + ദ്ധ എന്നു തന്നെ കാണണം എന്നു നിര്‍ബന്ധമുണ്ടെന്നിരിക്കട്ടേ. അതിനുള്ള വഴിയാണു് ZWNJ. Zero Width Non-Joiner എന്നതിന്റെ ചുരുക്കം. ഇവിടെ ഗ്ദ്ധ എന്നതിനെ ഗ, വിരാമം, ZWNJ, ദ, വിരാമം, ധ എന്നു സൂചിപ്പിക്കുന്നു-ഗ്‌ദ്ധ എന്നു കാണുവാന്‍ വേണ്ടി.

മിക്കവാറും ടെക്സ്റ്റ് എഡിറ്ററുകളും ബ്രൌസറുകളും യെയും ദ്ധയെയും വേര്‍തിരിച്ചു തന്നെ കാണിക്കും. പക്ഷേ, ഈ ടെക്സ്റ്റ് നെറ്റ്‌വര്‍ക്കിലൂടെ യാത്ര ചെയ്യുമ്പോഴോ ഡാറ്റാബേസുകളില്‍ ശേഖരിച്ചിട്ടു തിരിച്ചെടുക്കുമ്പോഴോ ഈ-മെയില്‍, ഫീഡ് റീഡറുകള്‍ തുടങ്ങിയ സ്ഥലങ്ങളില്‍ പരിവര്‍ത്തനം ചെയ്യുമ്പോഴോ ഈ ZWNJ നഷ്ടപ്പെട്ടു പോയേക്കാം. കാരണം യൂണിക്കോഡ് സ്റ്റാന്‍ഡേര്‍ഡ് അനുസരിച്ചു് അതൊരു ഡീഫോള്‍ട്ട് ഇഗ്നോരബിള്‍ കാരക്ടര്‍ ആണു്. അങ്ങനെ സംഭവിച്ചാലും ഗ്‌ദ്ധ (ഗ + ചന്ദ്രക്കല + ദ്ധ) എന്നതു് ഗ്ദ്ധ (ഒറ്റ ഗ്ലിഫ്) ആയിപ്പോകുമെന്നേ ഉള്ളൂ. ഇതൊരു വലിയ പ്രശ്നമല്ല-കാണാന്‍ അല്പം അലോസരം ഉണ്ടാക്കിയാലും.

ഇതു പോലെയുള്ള മറ്റൊരു ഡീഫോള്‍ട്ട് ഇഗ്നോറബിള്‍ കാരക്ടര്‍ ആണു് ZWJ (Zero Width Joiner). രണ്ടു കാരക്ടരുകളെ ഒന്നിച്ചേ കാണിക്കാവൂ എന്നാണു് ഇതിന്റെ അര്‍ത്ഥം. ഒരു ഉദാഹരണം ഇംഗ്ലീഷില്‍ fi എന്നെഴുതുമ്പോള്‍ അവ രണ്ടും ചേര്‍ത്തെഴുതി എന്നു കാണിക്കാന്‍ f, ZWJ, i എന്നെഴുതുന്നതാണു്. ഇതു് fi എന്നു കാണിക്കും. ഇതിലെ ZWJ നഷ്ടപ്പെട്ടു fi എന്നായാലും വലിയ കുഴപ്പമൊന്നുമില്ലാത്തതിനാല്‍ ഇവിടെ ZWJ ഉപയോഗിച്ചതില്‍ തെറ്റില്ല. (ചേര്‍ന്നു നില്‍ക്കുന്ന fi-യ്ക്കും ഒരു പ്രത്യേക കോഡ് പോയിന്റുണ്ടെന്നതു മറ്റൊരു കാര്യം.)

മിക്കവാറും എല്ലാ സ്ക്രിപ്റ്റുകള്‍ക്കും ഈ ജോയിനറുകള്‍ ഫോര്‍മാറ്റ് കാരക്ടറുകള്‍ (അക്ഷരങ്ങള്‍ക്കു bold, italics തുടങ്ങിയ സ്വഭാവങ്ങള്‍ കൊടുക്കുന്ന മാര്‍ക്കറുകള്‍) പോലെയാണു്. നഷ്ടപ്പെട്ടാലും അര്‍ത്ഥവ്യത്യാസമുണ്ടാവുന്നില്ല.

ചുരുക്കം ചില സ്ക്രിപ്റ്റുകളില്‍ ജോയിനറുകള്‍ ഫോര്‍മാറ്റ് വ്യത്യാസത്തില്‍ അല്പം കൂടി കൂടിയ സെമാന്റിക് വ്യത്യാസമുണ്ടാക്കുന്നുണ്ടു്. കൂട്ടക്ഷരങ്ങള്‍ (conjuncts) ഉള്ള ഇന്ത്യന്‍ ഭാഷകളും അറബിയുമാണു് ഇവയില്‍ പ്രധാനം. കൂട്ടക്ഷരങ്ങള്‍ ഉണ്ടാക്കുമ്പോള്‍ കര്‍ത്താവിന്റെ അഭിരുചിക്കനുസരിച്ചുള്ള രൂപം വരാ‍ന്‍ ജോയിനറുകള്‍ ഉപയോഗിക്കാതെ നിവൃത്തിയില്ല. പക്ഷേ ഇവിടെയും ജോയിനറുകള്‍ അര്‍ത്ഥവ്യത്യാസമുണ്ടാക്കാതിരിക്കേണ്ടതു് ആവശ്യമാണു്.

അപ്പോള്‍ സദ്വാരം, ഉമേശ്വരന്‍, വന്യവനിക, കണ്വലയം,…?

സദ്വാരം (സ + ദ്വാരം, സദ് + വാരം), ഉമേശ്വരന്‍ (ഉമാ + ഈശ്വരന്‍, ഉമേശ് + വരന്‍) തുടങ്ങിയവയ്ക്കു രണ്ടര്‍ത്ഥം പറയാമെങ്കിലും അതു ഭാഷയുടെ പ്രത്യേകതയും പലപ്പോഴും സൌന്ദര്യവുമാണു്. (ഇതു സുറുമയും എവിടെയോ പറഞ്ഞിട്ടുണ്ടെന്നാണു് ഓര്‍‍മ്മ.) “പരമസുഖം ഗുരുനിന്ദ കൊണ്ടുമുണ്ടാം” എന്ന വരിയിലെ “പരമസുഖം” എന്ന വാക്കിനു ജോയിനറുകള്‍ ഇല്ലാതെ തന്നെ രണ്ടു പിരിവുകള്‍ (പരമ + സുഖം, പരം + അസുഖം) ഉണ്ടാകുന്നതു പോലെയാണിതു്. “സഭംഗശ്ലേഷം” എന്നാണു് ഇതിനെ കാവ്യശാസ്ത്രത്തില്‍ പറയുന്നതു്. അര്‍ത്ഥശങ്ക ഉണ്ടാകരുതു് എന്നു നിര്‍ബന്ധമാണെങ്കില്‍ പിരിച്ചു തന്നെ എഴുതുകയോ (സദ്-വാരം) ബ്രായ്ക്കറ്റിലോ ഫുട്ട്നോട്ടിലോ‍ കൊടുക്കുകയോ ചെയ്യുക. വന്യവനിക (വന്യ-വനിക, വന്‍-യവനിക), കണ്വലയം (കണ്വ-ലയം, കണ്‍-വലയം) തുടങ്ങിയവയുടെയും സ്ഥിതി ഇതു തന്നെ. ഇതു ചില്ലുവാദത്തിനു് അനുകൂലമോ പ്രതികൂലമോ ആയ വസ്തുതയാണെന്നു് എനിക്കു തോന്നുന്നില്ല.

എന്തുട്ടാ ഈ ഐഡിയെന്നും സ്പൂഫിംഗും?

അറ്റോമിക് ചില്ലിനെ അനുകൂലിച്ചും എതിര്‍ത്തും ആളുകള്‍ വാദിച്ചപ്പോള്‍ IDN-നെപ്പറ്റിയും സ്പൂഫിങ്ങിനെപ്പറ്റിയും വളരെ പറഞ്ഞിരുന്നു. തികച്ചും ബാലിശമായ വാദങ്ങളാണു് അവ. ഒരു വെബ്‌പേജിന്റെ അഡ്രസ്സു പോലെ കാഴ്ചയ്ക്കു തോന്നുന്ന മറ്റൊരു അഡ്രസ് ഉപയോഗിച്ചു് ഉപഭോക്താക്കളെ വഴി തെറ്റിക്കുന്നതാ‍ണു് ഇവിടെ ഉദ്ദേശിക്കുന്നതു്. ഇതു് ഇന്റര്‍നെറ്റ് സെക്യൂരിറ്റി ഇഷ്യൂ ആണു്; യൂണിക്കോഡുമായി ബന്ധപ്പെട്ടതല്ല. ഉദാഹരണമായി, a എന്ന ആകൃതിയുള്ള അക്ഷരം പല ഭാഷകളിലുമുണ്ടു്. ഒന്നിനു പകരം മറ്റൊന്നുപയോഗിച്ചു് സ്പൂഫിംഗ് ചെയ്യാം. (“Paypal spoofing” എന്നൊന്നു സേര്‍ച്ചു ചെയ്തു നോക്കൂ. കൂടുതല്‍ വിവരങ്ങള്‍ കിട്ടും.)

മലയാളത്തിലും സ്പൂഫിംഗ് ഉണ്ടാക്കാന്‍ ചില്ലുകള്‍ എന്‍‌കോഡ് ചെയ്യുകയോ ചെയ്യാതിരിക്കുകയോ വേണ്ട. (രണ്ടു പക്ഷക്കാരുടെയും വാദങ്ങള്‍ കേട്ടു മടുത്തു!) ഥ എന്ന മലയാള അക്ഷരത്തിനു പകരം മ (ம) എന്ന തമിഴ് അക്ഷരം ഉപയോഗിക്കാം. ട എന്ന മലയാള അക്ഷരത്തിനു പകരം എസ് (s) എന്ന ഇംഗ്ലീഷ് അക്ഷരം ഉപയോഗിക്കാം. മലയാളത്തില്‍ത്തന്നെ ന്‍ എന്ന ചില്ലിനു പകരം 9 (൯) എന്ന അക്കവും ര്‍ എന്ന ചില്ലിനു പകരം 4 (൪) എന്ന അക്കവും ഉപയോഗിക്കാം. അനുസ്വാരവും ഠ എന്ന അക്ഷരവും ഒ (o) എന്ന ഇംഗ്ലീഷ് അക്ഷരവും 0 എന്ന അക്കവും ൦ എന്ന മലയാള അക്കവും ഉപയോഗിച്ചും സ്പൂഫിംഗ് നടത്താം.

സ്പൂഫിംഗ് തടയുന്നതു് കൂടുതല്‍ സങ്കീര്‍ണ്ണമായ വിഷയമാ‍ണു്. അറ്റോമിക് ചില്ലുകള്‍ എന്‍‌കോഡ് ചെയ്യുന്നതും അതുമായി കൂട്ടിക്കുഴയ്ക്കുന്നതു് വിഷയത്തില്‍ നിന്നു വ്യതിചലിക്കലാണു്.

അപ്പോള്‍പ്പിന്നെ എന്തിനാണു് അറ്റോമിക് ചില്ലുകള്‍? പാല്‍ എന്നും പാല് എന്നും എഴുതിയാല്‍ അര്‍ത്ഥം മാറുന്നില്ലല്ലോ?

മുകളില്‍ പറഞ്ഞതു പോലെ, ജോയിനറുകള്‍ നഷ്ടപ്പെടുന്നതു കൊണ്ടു വരുന്ന വിഷ്വല്‍ ഡിസ്റ്റോര്‍ഷന്‍ അറ്റോമിക് ചില്ലുകളെ അനുകൂലിക്കാനോ എതിര്‍ക്കാനോ ഉള്ള മതിയായ കാരണമല്ല. കാരണമാവണമെങ്കില്‍ ജോയിനര്‍ നഷ്ടപ്പെടുന്നതിനു മുമ്പും പിമ്പുമുള്ള രൂപങ്ങള്‍ തികച്ചും വ്യത്യസ്തങ്ങളാവണം. അവയ്ക്കു് അങ്ങോട്ടുമിങ്ങോട്ടും മാറ്റാന്‍ പറ്റാത്ത വിധം വ്യത്യസ്തങ്ങളായ അര്‍ത്ഥം ഉണ്ടാവണം.

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

സംവൃതോകാരത്തെ ചില്ലില്‍ നിന്നു വ്യവച്ഛേദിക്കുന്നതാണു് ആ‍ കാ‍രണം.

ദാ, അടുത്ത സാധനം. എന്താ ഈ സംവൃതോകാരം?

പണ്ടു് എന്നു പറയുമ്പോള്‍ അവസാനം വരുന്ന ശബ്ദമാണു സംവൃതോകാരം. അതു് അ അല്ല, ഉ അല്ല, സംവൃതവുമല്ല. ഭാഷാശാസ്ത്രജ്ഞര്‍ അതിനെ Schwa എന്നു വിളിക്കുന്നു. പല ഭാ‍ഷകളിലുമുള്ള ഒരു ശബ്ദമാണതു്. ഇതിനെ പ്രത്യേകമായി എഴുതിക്കാണിക്കാറുണ്ടു് എന്നതാണു് മലയാളത്തിന്റെ ഒരു പ്രത്യേകത.

പണ്ടു് എന്ന വാക്കിനെ പല തരത്തില്‍ എഴുതിപ്പോന്നിരുന്നു. വളരെ പഴയ മലയാളത്തില്‍ പണ്ട എന്നായിരുന്നു എഴുതിയിരുന്നതു്‌. ഗുണ്ടര്‍ട്ടു മുതലായ പാതിരിമാര്‍ അതിനെ പണ്ടു എന്നെഴുതി. (“സ്ത്രീയേ, നിനക്കു എന്തു?” എന്നു പഴയ ബൈബിളില്‍.) അതേ സമയത്തു തന്നെ വളരെപ്പേര്‍ (പ്രധാ‍നമായും വടക്കന്‍ കേരളത്തിലുള്ളവര്‍) അതിനെ പണ്ട് എന്നെഴുതി. (പണ്ടു എന്നതിനെ ‘പാതിരിമലയാളം’ എന്നു കളിയാക്കുകയും ചെയ്തു.) ഈ കാര്യങ്ങളൊക്കെ ഏ. ആര്‍. രാജരാജവര്‍മ്മ “കേരളപാണിനീയ”ത്തിന്റെ പീഠികയില്‍ വിശദമായി പറഞ്ഞിട്ടുണ്ടു്. ഏ. ആറിന്റെ കാലത്താണു സംവൃതോകാരത്തിന്റെ പല രൂപങ്ങളെ ചേര്‍ത്തു പണ്ടു് എന്ന രൂപം സാര്‍വ്വത്രികമായതു്. ഇതു വളരെയധികം ആളുകള്‍ ഉപയോഗിച്ചെങ്കിലും ഒരു നല്ല ശതമാനം ആളുകളും സംവൃതോകാരാത്തിനു ചന്ദ്രക്കല മാത്രം ഉപയോഗിക്കുന്ന രീതി തുടര്‍ന്നു വന്നു. 1970-കളില്‍ പുതിയ ലിപി വ്യാപകമായപ്പോള്‍ അതുപയോഗിക്കുന്ന എല്ലാവരും തന്നെ ഉകാരത്തിന്റെ ചിഹ്നമിടാതെ സംവൃതോകാരം എഴുതിത്തുടങ്ങി. ഇപ്പോള്‍ അതാണു ബഹുഭൂരിപക്ഷം ആളുകളും ഉപയോഗിക്കുന്നതു് എന്നതാണു വാസ്തവം.

(ഇതിനെപ്പറ്റി ഉദാഹരണങ്ങളുള്ള പേജുകളുടെ പടങ്ങള്‍ ചേര്‍ത്തു് സിബു പണ്ടു പ്രസിദ്ധീകരിച്ചതു് ഇവിടെ.)

എഴുത്തു തുടങ്ങിയപ്പോള്‍ മുതല്‍ ഉകാരത്തിന്റെ ചിഹ്നത്തോടു കൂടി മാത്രമേ ഞാന്‍ സംവൃതോകാരം എഴുതിയിട്ടുള്ളൂ. ഇപ്പോഴും അതു തുടരുന്നു. ഒരു കാലത്തു് അതു മാത്രമാണു ശരി എന്നു ഞാന്‍ ഘോരഘോരം വാദിച്ചിട്ടുണ്ടു്. (ഞാന്‍ രണ്ടു കൊല്ലത്തിനു മുമ്പെഴുതിയ സംവൃതോകാരം, സംവൃതോകാരവും ലിപിപരിഷ്കരണങ്ങളും, സംവൃതോകാരത്തെപ്പറ്റി വീണ്ടും എന്നീ ലേഖനങ്ങള്‍ കാണുക.) സംവൃതോകാരത്തെ ഉകാരത്തിന്റെ ചിഹ്നത്തോടൊപ്പം ചന്ദ്രക്കലയിട്ടെഴുതുന്നതു തെറ്റല്ല എന്നാണു് ഇപ്പോഴും എന്റെ വിശ്വാസം. എങ്കിലും അതു മാത്രമാണു ശരി എന്ന കടും‌പിടുത്തത്തില്‍ നിന്നു വളരെയധികം പിറകോട്ടു പോയിരിക്കുന്നു. പുതിയ ലിപി പ്രാവര്‍ത്തികമാകുന്നതിനു മുമ്പു തന്നെ (സത്യം പറഞ്ഞാല്‍, സംവൃതോകാരത്തെ പണ്ടു് എന്നു് എഴുതുന്നതിനു മുമ്പു തന്നെ) ചന്ദ്രക്കല മാത്രം ഉപയോഗിച്ചു സംവൃതോകാരം എഴുതിയിരുന്നു എന്ന അറിവും, ഇന്നുള്ള മലയാളപുസ്തകങ്ങളില്‍ ഭൂരിപക്ഷവും ഉകാരത്തിന്റെ ചിഹ്നമില്ലാതെ ചന്ദ്രക്കല മാത്രമായാണു സംവൃതോകാരത്തെ എഴുതുന്നതു് എന്ന കണ്ടെത്തലുമാണു് ഇതിനു കാരണം.

ചുരുക്കം പറഞ്ഞാല്‍ സംവൃതോകാരത്തെ ഉകാരത്തിന്റെ ചിഹ്നമില്ലാതെ ചന്ദ്രക്കല മാത്രം ഇട്ടു് (ഇട്ട് എന്ന്) എഴുതിത്തുടങ്ങിയതു പലരും പറയുന്നതു പോലെ പുതിയ ലിപി എഴുപതുകളില്‍ പ്രാബല്യത്തില്‍ വന്നപ്പോഴല്ല. അതൊരു തെറ്റാണെങ്കില്‍‍ അതു തിരുത്താന്‍ നാം വൈകിയതു മുപ്പത്തെട്ടു വര്‍ഷമല്ല, നൂറില്‍ ചില്വാനം വര്‍ഷമാണു്.

മലയാളഭാഷ ഉപയോഗിക്കുന്ന ഭൂരിപക്ഷം എഴുത്തുകാരും അവലംബിക്കുന്ന ഒരു രീതി തെറ്റും പ്രാചീനവും നവീനവുമല്ലാത്ത ഇടയ്ക്കൊരു ചെറിയ കാ‍ലഘട്ടത്തില്‍ മാ‍ത്രം (ഏകദേശം 70 വര്‍ഷം) കൂടുതല്‍ പ്രാവര്‍ത്തികമായിരുന്നതുമായ ഒരു രീതി മാത്രം ശരിയും ആണു് എന്നു് ഈ അടുത്ത കാലത്തു വരെ ഞാനും ഇപ്പോഴും രചന, സ്വതന്ത്ര മലയാ‍ളം കമ്പ്യൂട്ടിംഗ് തുടങ്ങിയവരും ഉന്നയിക്കുന്ന വാദം വളരെ ബാലിശമാണു്. കഥകളുടെയും കവിതകളുടെയും മറ്റു പുസ്തകങ്ങളുടെയും കാര്യം അവിടെ നില്‍ക്കട്ടേ. മലയാളഭാഷയിലെ തെറ്റുകള്‍ തിരുത്താനായി വളരെയധികം പുസ്തകങ്ങള്‍ എഴുതിയിട്ടുള്ള പന്മന രാമചന്ദ്രന്‍ നായരുടെ പുസ്തകങ്ങളിലും സംവൃതോകാരം ചന്ദ്രക്കല മാത്രമായാണു് അച്ചടിച്ചിരിക്കുന്നതു്. അതു തെറ്റാണെന്ന തോന്നല്‍ അദ്ദേഹത്തിനുണ്ടായിരുന്നെങ്കില്‍ അങ്ങനെ അച്ചടിച്ച ഒരു പുസ്തകം വെളിച്ചം കാണാന്‍ അദ്ദേഹം സമ്മതിക്കില്ലായിരുന്നു.

ഇതും ആറ്റോമിക് ചില്ലുവാദവും തമ്മില്‍ എന്തു ബന്ധം?

പണ്ടു്, വാക്കു്, തൈരു് തുടങ്ങിയ വാക്കുകളെ പണ്ട്, വാക്ക്, തൈര് എന്നിങ്ങനെയും എഴുതുന്നതു തെറ്റല്ല എന്ന വസ്തുതയാണു് അറ്റോമിക് ചില്ലുവാദികള്‍ക്കു് അനുകൂലമായ വസ്തുത.

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

അവന്‍/അവനു് എന്നതു് ഒരുദാഹരണം മാത്രം. ഇതുപോലെ ചിന്താക്കുഴപ്പത്തിനു വഴി തെളിക്കുന്ന അനേകം വാക്കുകള്‍ മലയാളത്തിലുണ്ടു്. ഈ ചിന്താക്കുഴപ്പം ഒഴിവാക്കേണ്ടതുണ്ടു്.

എന്താണു അറ്റോമിക് ചില്ലുവാദികള്‍ പറയുന്നതു്?

ചില്ലക്ഷരങ്ങളെ മൂലവ്യഞ്ജനം + വിരാമം + ZWJ എന്നല്ലാതെ ഒരു പ്രത്യേക കോഡു കൊണ്ടു സൂചിപ്പിക്കുക. അപ്പോള്‍ ഒരിക്കലും ഒന്നു മറ്റേതാകുന്ന പ്രശ്നം ഉണ്ടാവില്ല. ഏതു ബ്രൌസറിലും ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലും ചില്ലക്ഷരങ്ങള്‍ കാണാന്‍ കഴിയും.

എന്റെ അഭിപ്രായം:

മുകളില്‍പ്പറഞ്ഞ കാരണങ്ങള്‍ കൊണ്ടു് എനിക്കു് ഇപ്പോള്‍ അറ്റോമിക് ചില്ലുകള്‍ വേണം എന്ന വാദത്തിനോടാണു യോജിപ്പു്. അതിനെ എതിര്‍ക്കുന്ന യുക്തിയുക്തമായ വാദം കേട്ടാല്‍ ഈ അഭിപ്രായം തിരുത്താന്‍ ഞാന്‍ തയ്യാറാണു്. പക്ഷേ, ആ വാദം “അവനു് എന്നതിനെ അവന് എന്നെഴുതുന്നതു തെറ്റാണു്” എന്നതാവരുതു് എന്നു മാത്രം.

വാല്‍ക്കഷണം

ഇതു ഫയര്‍ ഫോക്സ് 2-വില്‍ വായിക്കുന്നവര്‍ ചില്ലായ ന്‍, ചില്ലല്ലാത്ത ന് എന്നിവ ഒരുപോലെ കണ്ടു് അന്തം വിട്ടിരിക്കുന്നുണ്ടാവാം. അവര്‍ ഈ പോസ്റ്റിന്റെ ആ‍ദിയിലുള്ള മൈക്ക് ടെസ്റ്റിംഗ് ഒന്നു കൂടി വായിക്കുക.

അറ്റോമിക് ചില്ലുണ്ടായിരുന്നെങ്കില്‍ ഈ കുഴപ്പമൊന്നുമുണ്ടാവില്ലായിരുന്നു. ഭാവിയിലെങ്കിലും ബ്ലോഗ് വായനക്കാര്‍ക്കു് ഈ പ്രശ്നമുണ്ടാവില്ല എന്നു പ്രത്യാശിക്കാം.


ഇതിന്റെ ചില കമന്റുകള്‍ക്കു മറുപടി:

[2008-02-05]

സുരേഷ് (സുറുമ?) ഈ കമന്റില്‍ ഇങ്ങനെ പറയുന്നു:

പ്രചാരം കൂടുതലാണു് എന്നതുകൊണ്ടുമാത്രമായിരിക്കും ഉദാഹരിക്കാന്‍ ഉമേഷ് ഗൂഗ്ള്‍ തെരെഞ്ഞെടുത്തതു് എന്നു കരുതുന്നു 🙂 .സ്വതന്ത്രസോഫ്റ്റ്‌വെയന്‍ ആയ ബീഗ്ള്‍ GNU/Linux സിസ്റ്റങ്ങളില്‍ ഡെസ്ക്‌ടോപ് സെര്‍ച്ചിനു് ഉപയോഗിച്ചുപോരുന്നുണ്ടു്.അതുപയോഗിച്ചു് നടത്തിയ തെരച്ചിലിന്റെ പടം കൂടി ഒന്നിടണമെന്നു് അഭ്യര്‍ത്ഥിക്കുന്നു.ഒന്നും വേണ്ട, യാഹൂ,msn എന്നിയും ഇതുപോലുള്ള ഫലമാണോ തരുന്നതു് എന്നുകൂടി വ്യക്തമാക്കൂ.

അതായതു്, ഇതു് ഗൂഗിളിലെ ഒരു ബഗ്ഗാണെന്നു്, അല്ലേ? ഇനി, ഈ പോസ്റ്റെഴുതാന്‍ വേണ്ടി ഞാന്‍ ഗൂഗിള്‍ കോഡില്‍ കയറി ഈ ബഗ് അവിടെ ഉണ്ടാക്കി എന്നു പറയില്ലല്ലോ, അല്ലേ? (തമാശയല്ല, ജീമെയിലില്‍ ജോയിനര്‍ കളയുന്നതു സിബു മനഃപൂര്‍വ്വം ഉണ്ടാക്കിയ ഒരു ബഗ് ആണെന്നു് അനിവറാണെന്നു തോന്നുന്നു ഒരിക്കല്‍ പറഞ്ഞിരുന്നു :))

ഇനി, യാഹൂ, എം. എസ്. എന്‍. എന്നിവയ്ക്കു് ഈ കുഴപ്പമില്ല എന്ന വാദത്തെപ്പറ്റി, ദാ അവ താഴെ. മറ്റുള്ള കാര്യങ്ങള്‍ക്കു വ്യത്യാസമില്ല. വിന്‍ഡോസ് എക്സ്. പി., ഇന്റര്‍നെറ്റ് എക്സ്പ്ലോറര്‍, കാര്‍ത്തിക ഫോണ്ട്.

ആദ്യമായി, അതേ സേര്‍ച്ച് യാഹൂ ഉപയോഗിച്ചു്:

അവനെയും അവനെയും കണ്ടല്ലോ? യാഹുവിന്റെ അവന്‍ ഗൂഗിളിന്റെ അവനുമായി വ്യത്യാസമൊന്നുമില്ല എന്നും കണ്ടല്ലോ?

ഇനി, അതു തന്നെ എം. എസ്. എന്‍. ലൈവ് സേര്‍ച്ച് ഉപയോഗിച്ചു്:

ക്ഷമിക്കണം, ബീഗിള്‍ ഇപ്പോള്‍ കൈവശമില്ല. ഇനി അതില്‍ ജോയിനര്‍ കളയുന്നില്ല എന്നതു കൊണ്ടു് ഞാന്‍ പറഞ്ഞതു കൊണ്ടു വ്യത്യാസമൊന്നും വരാനില്ല. ജോയിനറുകള്‍ എപ്പോഴും നഷ്ടപ്പെടും എന്നു ഞാന്‍ പറഞ്ഞില്ല, നഷ്ടപ്പെട്ടേയ്ക്കാം എന്നേ പറഞ്ഞുള്ളൂ.

ഇനി മുതല്‍, ദയവായി ആരോപണം ഉന്നയിക്കുന്നതിനു മുമ്പു് അതൊന്നു പരീക്ഷിച്ചു നോക്കുന്നതു നന്നായിരിക്കും. ഓരോന്നും പരീക്ഷിച്ചു നോക്കി സ്ക്രീന്‍‌ഷോട്ടെടുത്തു് അപ്‌ലോഡു ചെയ്തു പോസ്റ്റു തിരുത്താന്‍ അല്പം ബുദ്ധിമുട്ടാണേ, അതുകൊണ്ടാണു് 🙂

[2008-02-13]

ഗൂഗിള്‍, യാഹൂ, ലൈവ് സേര്‍ച്ച്, വെബ് ദുനിയാ എന്നീ സേര്‍ച്ച് എഞ്ചിനുകള്‍ ജോയിനറുകളെ കൈകാര്യം ചെയ്യുന്നതിനെപ്പറ്റി കമന്റുകള്‍ ഉണ്ടായിരുന്നു. ഞാന്‍ കണ്ടെത്തിയതു താഴെ:

Xഅവന്‍Y എന്നതു് (X, Y എന്നിവ ഏതെങ്കിലും ഫോര്‍മാറ്റ് സ്ട്രിംഗുകള്‍) ചില്ലോടെ കാണണമെങ്കില്‍ X-അ-വ-ന-വിരാമം-ZWJ-Y എന്നിവ ഉണ്ടാവണം. അതായതു്, U+0D05 U+0D35 U+0D28 U+0D4D U+200D എന്നീ കോഡ്‌പോയിന്റുകള്‍ ഫോര്‍മാറ്റിംഗ് കാരക്ടേഴ്സ് ആയ X, Y എന്നിവയ്ക്കു് ഇടയില്‍ വരണം.

ഗൂഗിള്‍ സേര്‍ച്ച് റിസല്‍റ്റുകള്‍ കാണിക്കുന്ന പേജില്‍ ZWJ-യെ ഒഴിവാക്കുന്നു. <b->-അ-വ-ന-വിരാമം-<-/-b-> (U+003C U+0062 U+003E U+0D05 U+0D35 U+0D28 U+0D4D U+003C U+002F U+0062 U+003E) എന്നേ ഉള്ളൂ. ZWJ (U+200D)-യെ ഒഴിവാക്കി.

യാഹൂ ZWJ കളയുന്നില്ല. പക്ഷേ, അവന്‍ എന്നതു കാണിക്കുമ്പോള്‍ <b->-അ-വ-ന-വിരാമം-ZWJ-<-/-b-> (U+003C U+0062 U+003E U+0D05 U+0D35 U+0D28 U+0D4D U+200D U+003C U+002F U+0062 U+003E) എന്നതിനു പകരം <b->-അ-വ-ന-വിരാമം-<-/-b->-ZWJ (U+003C U+0062 U+003E U+0D05 U+0D35 U+0D28 U+0D4D U+003C U+002F U+0062 U+003E U+200D) എന്നു കാണിക്കുന്നു. (അതായതു്, </b>-നെ ZWJ-നു ശേഷം ചേര്‍ക്കുന്നതിനു പകരം മുമ്പു ചേര്‍ക്കുന്നു.) അതു കൊണ്ടാണു് ബ്രൌസറില്‍ ചില്ലക്ഷരം കാണാത്തതു്.

മൈക്രോസോഫ്റ്റ് ലൈവ് സേര്‍ച്ച് ചിലയിടത്തു യാഹൂ ചെയ്തതു പോലെ ചെയ്യുന്നു. മറ്റു ചിലടത്തു് ZWJ-യെ ZWNJ ആക്കുന്നുമുണ്ടു്. എന്തായാലും ജോയിനര്‍ കളയുന്നില്ല എന്നു തോന്നുന്നു.

വെബ്‌ദുനിയാ ഒരു കുഴപ്പവും ഇല്ലാതെ ഇതു കൈകാര്യം ചെയ്യുന്നു. ZWJ-യെ കളയുന്നുമില്ല, അ-വ-ന-വിരാമം-ZWJ- എന്നു തന്നെ കാണിക്കുകയും ചെയ്യുന്നു. അതുകൊണ്ടു ചില്ലക്ഷരങ്ങള്‍ ഹൈലൈറ്റു ചെയ്തു കാണാം. (എന്നു് എനിക്കു തോന്നി. കൂടുതല്‍ താഴെ വായിക്കുക.)

ഇതില്‍ നിന്നു് മലയാളത്തോടു് ഏറ്റവും നീതി പുലര്‍ത്തുന്നതു വെബ് ദുനിയാ ആണെന്നും, ഏറ്റവും മോശമായി മലയാളം സേര്‍ച്ചു ചെയ്യുന്നതു ഗൂഗിള്‍ ആണെന്നും പറയാമോ?

വരട്ടേ. സ്വപ്നം (U+0D38 U+0D4D U+0D35 U+0D2A U+0D4D U+0D28 U+0D02) എന്നും സ്വപ്‌നം (U+0D38 U+0D4D U+0D35 U+0D2A U+0D4D U+200C U+0D28 U+0D02) എന്നും ഒന്നു സേര്‍ച്ചു ചെയ്തു നോക്കൂ. ഇവ തമ്മിലുള്ള വ്യത്യാസം പ, ന എന്നിവയെ വേര്‍തിരിച്ചു കാണിക്കാന്‍ ഒരു ZWNJ ഇട്ടിട്ടുണ്ടു് എന്നു മാത്രമാണു്.

സേര്‍ച്ച് എഞ്ചിന്‍ സ്വപ്നം ഫലങ്ങള്‍ സ്വപ്‌നം ഫലങ്ങള്‍
ഗൂഗിള്‍ 13200 13200
യാഹൂ 3270 445
ലൈവ് സേര്‍ച്ച് 221 65
വെബ് ദുനിയാ 104 104

യാഹൂവും ലൈവ് സേര്‍ച്ചും ജോയിനര്‍ ഉള്ളതും ഇല്ലാത്തതും രണ്ടായി കണ്ടിട്ടു് രണ്ടു ഫലങ്ങള്‍ തരുന്നു. ഗൂഗിളും വെബ്‌ദുനിയയും ഒരേ ഫലങ്ങളും. (ഗൂഗിള്‍ കൂടുതല്‍ ഫലങ്ങള്‍ തരുന്നു എന്നതു് ഇവിടെ പ്രസക്തമല്ല.)

വെബ് ദുനിയയെപ്പറ്റിയുള്ള എന്റെ അഭിപ്രായം പിന്നെയും കൂടി. കൊള്ളാമല്ലോ, മലയാളത്തിനു പറ്റിയ സേര്‍ച്ച് എഞ്ചിന്‍ തന്നെ!

പിന്നെ, നമ്മുടെ പഴയ അവനവന്‍ കടമ്പ (പ്രയൊഗത്തിനു കടപ്പാടു് സുറുമയ്ക്കു്) തന്നെ ഒന്നു സേര്‍ച്ചു ചെയ്തു നോക്കി.

അവന്‍ എന്നതു് വെബ്‌ദുനിയായില്‍ സേര്‍ച്ചു ചെയ്തതു് ഇവിടെ:

അവന് എന്നതു വെബ്‌ദുനിയായില്‍ സേര്‍ച്ചു ചെയ്തതു് ഇവിടെ.

ഇവ രണ്ടിലും വന്നിട്ടുള്ള സൂര്യഗായത്രി പോസ്റ്റിന്റെ ഫലം ശ്രദ്ധിക്കുക. (ചുവന്ന ചതുരത്തില്‍ കാണിച്ചിട്ടുണ്ടു്) ഒരേ പോസ്റ്റിനെ രണ്ടു വാക്കുകള്‍ കൊണ്ടു സേര്‍ച്ചു ചെയ്തപ്പോള്‍ കാണിക്കുന്നതു വ്യത്യസ്തമായാണു് എന്നു കാണാം. ഇതെങ്ങനെ സംഭവിച്ചു? സൂര്യഗായത്രിയുടെ പോസ്റ്റില്‍ പോയി നോക്കിയാല്‍ “അവന്‍” എന്നാണെന്നു കാണാം. പിന്നെങ്ങനെ വെബ് ദുനിയാ “അവന്” എന്നു കാണിച്ചു?

ആകെ സംശയമായി. വെബ് ദുനിയാ നമ്മള്‍ സേര്‍ച്ചു ചെയ്ത പദം ഈ പേജില്‍ മാറ്റി വെയ്ക്കുന്നുണ്ടോ?

കൂടുതല്‍ നോക്കിയപ്പോള്‍ കാരണം വ്യക്തമായി. വെബ് ദുനിയാ ചെയ്യുന്നതു Partial search ആണു്. അവന്‍ എന്നതു് അവന് + ZWJ ആയതിനാല്‍ അതും ഫലത്തില്‍ വന്നു എന്നു മാത്രം.

എങ്കിലും ജോയിനറുകളെ ഒഴിവാക്കിയാണു വെബ് ദുനിയായും സേര്‍ച്ചു ചെയ്യുന്നതു് എന്നു കാണാന്‍ കഴിയും. കണ്മണി, കണ്‌മണി, കണ്‍‌മണി എന്നിവ ഒരേ എണ്ണം ഫലങ്ങളാണു തരുന്നതു്. അതു പോലെ വെണ്മ, വെണ്‍‌മ, വെണ്‌മ എന്നിവയും. യാഹുവും ലൈവ് സേര്‍ച്ചും ഇവയ്ക്കു് വ്യത്യസ്ത എണ്ണം ഫലങ്ങളാണു തരുന്നതു്.

ഇതു പൂര്‍ണ്ണമായും ശരിയാണോ എന്നു പറയാന്‍ കഴിയില്ല. വെബ് ദുനിയായുടെ സേര്‍ച്ച് അല്പം കൂടി intelligent ആയതിനാലാവാം. ഒന്നിനെ സേര്‍ച്ചു ചെയ്യുമ്പോള്‍ മറ്റു പലതും കൂടി ഉള്‍ക്കൊള്ളിക്കുന്ന രീതി ഒരു പക്ഷേ മലയാളത്തിനു വേണ്ടി വളരെ നന്നാക്കിയതാവാം. എങ്കിലും കണ്മണി, കണ്‍‌മണി എന്നിവ തിരഞ്ഞപ്പോള്‍ എനിക്കു് ഈ പേജു കിട്ടി. ഇതില്‍ കണ്മണി ഇല്ല. കണ്ണും വെണ്മണിയും ഉണ്ടു്.

വെബ് ദുനിയാ തികച്ചും ഒരു വ്യത്യസ്ത സേര്‍ച്ച് എഞ്ചിന്‍ ആണെന്നേ എനിക്കു പറയാന്‍ പറ്റുന്നുള്ളൂ 🙂

യാഹുവും ലൈവ് സേര്‍ച്ചും ജോയിനര്‍ കളയാതെ സേര്‍ച്ചു ചെയ്യുന്നു. അവന്‍/അവന് എന്ന കാര്യത്തില്‍ ചില്ലിന്റെ ഇപ്പോഴത്തെ വികലമായ എന്‍‌കോഡിംഗ് മൂലം അതു നന്നായി ഭവിക്കുന്നു. എന്നാല്‍ സ്വപ്നം/സ്വപ്‌നം തുടങ്ങിയവയില്‍ അതു് ആവശ്യത്തിനു ഫലങ്ങള്‍ തരുന്നുമില്ല.

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

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