යුනිකෝඩ් එන්න කලින් හමා ලියපු කොක්ක (Hook before the Unicode)

මීට ටික කාලෙකට කලින්, ඒ කියන්නෙ සිංහල යුනිකෝඩ් කියන එක ජනප්‍රිය වෙන්න කාලෙකට කලින් වෙච්ච දෙයක් අද කියන්න යන්නෙ…. මුල්ම කාලෙ…. දැන් වගේ නෙමෙයි සිංහලෙන් ටයිප් කරන්න මාරම ගේමක් දෙන්න ඕනි… සිංහලෙන් හයියෙන් ටයිප් කරන්න පුලුවන් නම් කොමියුනිකේෂන් එකක් නිකන්ම දාගෙන හොඳ ගානක් හොයාගන්න හමාටත් තිබුණා…. ඒත් හමාට සිංහලෙන් තියා ඉංගිරිසියෙන් වත්, කීබෝඩ් එක බලන්නැතුව නම වත් ටයිප් කරගන්න බෑ ඒ දවස් වල…..

ඇයි මෙච්චරටම සිංහලෙන් ටයිප් කරන්න අමාරු ඒ දවස් වල….? සිංහලෙන් ගහද්දි ඉංගිරිසියෙන් වගේ නෙමෙයි, ඉස්පිලි, හල්පිලි, ඇලපිලි, පාපිලි මෙකී නොකී පිලි ගොඩක් තියෙනවා…. අනික එක එක අකුරෙන් අකුරට ඔය පිලි දාන විදිය වෙනස්…. ඉතින් ඔය අකුරු ඔක්කොම ගහන්න පුලුවන් යතුරු තියෙන කීබෝඩ් එකක් ලංකාවෙන් හැදුවොත් ඒක පැදුරක් විතර ලොකු වෙයි….

සුද්ද හදපු කීබෝඩ් එකට තියෙන අකුරු ඔක්කොම බස්සන්නත් බෑ නෙ…. ඒක හින්ද වැදගත්, නිතරම පාවිච්චි වෙන අකුරු ටික ලේසියෙන් ගන්න පුලුවන් වෙන විදියට ඉංගිරිසි අකුරු වෙනුවට පාවිච්චි කරන්නෙ….. හැබැයි ටයිප් කරන්න යද්දි අමාරුවෙ වැටෙන්නෙ “මි” යන්න හරි, “ම්” යන්න වගේ අකුරක් ගහන්න ගියහමයි….. මොකද ඒ අකුරු අර උඩින් ම තියෙන යතුරු වල නෑ…..

ඒ වෙලාවට මොකද කරන්නෙ….? ගොඩින් ම බේරෙන්න ඹ්නි නම්….. “ම” යන්න ගහල ” ි” පිල්ලත් ගහන්න පුලුවන් ඒක උඩින්ම….. ඉක්මනට කියවගෙන යද්දි වැඩිය වෙනසක් තේරෙන්නෙ නෑ…. හැබැයි ඕකෙ තියෙන අවුලක් තමයි “ම්” යන්නෙයි “මි” යන්නෙයි වෙනස හොයන්න බැරි එක…..

තව ක්‍රමයක් තමයි ටයිප් කරන්නෙ Word වල නම්, insert -> symbol ගිහිල්ල ඕනි අකුර තෝරන එක… හැබැයි ඒකත් ඉතින් ටයිප් කරද්දි මල වදයක්….

ඉතින් ඕකට තව ක්‍රමයක් තිබුණා….. ඕල්ට් කී එකත් එක්ක ඉලක්කමක් ඔබන එක….. එක තමයි හරි ම ක්‍රමේ….

හැබැයි ඉතින් ගහන්න ඕනි අකුරෙ ඉලක්කම කලින් දැනගෙන ඉන්න ඕනි…. උදාහරණයක් විදියට Alt එකත් එක්ක Num Pad එකේ 1, 3, 9 ඉක්මනට එබුවම “ම්”යන්න වදිනවා…. ඉතින් වේගෙන් ටයිප් කරන්න ඕනි කෙනෙක් ඉන්නවා නම් ඔය ඉලක්කම් ටිකයි අකුරු ටිකයි හොඳට මතක තියාගන්න ඕනි…. හමාගෙ නෑයො වෙන අයිය කෙනෙක් හිටිය කොමියුනිකේෂන් එකක් දාගෙන, එයා ඔය අකුරු වේගෙන් ගහනවා හමා ඉස්සර හරි ආසාවෙන් බලාගෙන ඉඳලත් තියෙනවා……

ඇත්තට ම කියනවනම් ඔය අකුරු ටික ඔක්කොම මතක තියාගෙන ඉන්න එක එසේ මෙසේ කාරියක් නෙමෙයි…. ඉතින් ඕය වැඩේ ලේසි වෙන්න ගොඩක් කට්ටිය එක එක සොෆ්ට්වෙයාර් හදල තිබුණ…. ඒකෙන් කරන්නෙ අකුරයි හල්කිරීමයි ගහපුවම අර හරියටම ගැලපෙන හල් අකුර වදින එක… උදාහරණයක් විදියට “ම” යන්නයි(U) හල් කිරීමයි(A) ගහපුවම “ම්” යන්න ඉබේම වදිනවා…. ආයෙත් ඉලක්කම් මතක තියාගන්න ඕනි නෑ…

KeyMan, KeyRep, Sinhala XP කිය කිය එක එක ජාතියෙ ඒව ඒ දවස් වල තිබුණ….. හැබැයි ඒ එකක් වත් නිකන් දෙන ඒව නෙමෙයි….. හමා ලගෙ ගෙවල් ලඟ අයිය කෙනෙක් හදල තිබුණ KeyRep කියල එකක්, එයා ඒක වික්කෙ 2500 ගානෙ…. අනිත් ඒවත් ඒකාලෙ ඒ ගනන් ම වගේ ඇති…..

ඉතින් හමාටත් හරි ආසාවක් තිබුණ ඒ වගේ සොෆ්ට්වෙයාර් එකක් හදන්න…. හැබැයි විකුනන්න නෙමෙයි, මොකද හමාට ප්‍රෝග්‍රැම් එකක් හරියට ලියන්න පුලුවන් වෙනකොට නිකන් දෙන ඔය වගේ ප්‍රෝග්‍රෑම් ඕන තරම් තිබුණ…. හමාලගෙ ගෙවල් ලඟ අයියත් එයා හදපු සොෆ්ට්වෙයාර් එක නිකන් දෙන්න පටන් අරගෙන තිබුනෙ…..

ආසාව තිබ්බට බෑ නෙ….. කරන විදියකුත් එපැයි…..

ඉතින් හමා ටිකක් කල්පනා කරනකොට තමයි ඒක ඇත්තටම වැඩ කරන විදිය කල්පනාවට ආවෙ……

සොෆ්ට්වෙයාර් එකෙන් ඇත්තටම කරන්නෙ පොඩි වැඩයි…. ඒක පැහැදිලි කරන්න අපි උදාහරණයක් ගමුකො…..

හිතන්න හමාට ඕනි “ම්” යන්න ගහන්න කියල….. එතකොට අර සොෆ්ට්වෙයාර් එක තියෙනවනම් හමා ඔබන්න ඕනි, U සහ A යතුරයි….. එතකොට සොෆ්ට්වෙයාර් එක “ම්” යන්න හෙවත් Alt + 139 කියන යතුරු ටිකට හරි යන අකුර පෙන්නන්න ඕනි….

හැබැයි හමා U සහ G එබුවොත් “මට” කියල වදින්නත් ඕනි….

U විතරක් එබුවොත් “ම” යන්න වැදිල තියෙන්නත් ඕනි….

U සහ A එබුවම අර වැදිල තියෙන “ම” යන්න නැතිවෙලා “ම්” යන්න වදින්න ඕනි…….

ඉතින් ඕකට සොෆ්ට්වෙයාර් එක කරන්නෙ අන්තිමට ගහපු යතුරු දෙක මතක තියාගෙන ඉන්න එකයි…. ඊට අමතරව සොෆ්ට්වෙයාර් එකේ පොඩි වගුවක් වගේ තියාගන්න ඕනි මෙන්න මෙහෙම….

U A 139
J A 138

ඔන්න ඔය වගේ එන්න පුලුවන් හැම අකුරකටම අදාල ඉලක්කම වගුවෙ තියෙන්න ඕනි…..

ඉතින් කිබෝඩ් එකේ මොකක් හරි යතුරක් එබුණ ගමන් ම… එබුණ යතුරයි, ඊට කලින් යතුරයි අර වගුවෙ තියෙනවද බලනවා…. වගුවෙ නැත්තම් නිකන් ඉන්නවා ඔබපු අකුර print වෙන්න දීල….

වගුවෙ තියෙනවනම් අපි දන්නවා print කරන්න ඕනි අකුර මොකක්ද කියල…. ඉතින් සොෆ්ට්වෙයාර් එකට තියෙන්නෙ Alt එකත් එක්ක අර ඉලක්කම් එබුන විදියට සිමියුලේට් කරන්න….

VB වල නම් ඒකට තියෙනවා SendKeys කියල method එකක්….

හැබැයි ඒ අකුර යවන්න කලින් කලින් අර කලින් වැදිල තියෙන අකුර අයින් කරල ඉන්න ඕනි… උදාහරණයක් විදියට U ඔබල A ඔබද්දි “ම” යන්න වැදිලනෙ තියෙන්නෙ…. ඉතින් “ම” යන්න අයින් කරල තමයි “ම්” යන්න දාන්න ඕනි…..

වැදිච්ච අකුර අයින් කරන්න කරන්න තියෙන්නෙ පොඩි දෙයයි…. Alt එකත් එක්ක අර ඉලක්කම යවන්න කලින්, SendKeys වලින් Backspace key event එකක් යවන්න… එතකොට කලින් තිබුණ අකුර මැකෙනවා….ඊට පස්සෙ SendKeys වලින් Alt එකත් එක්ක අර ඉලක්කම් එබුන විදියට සිමියුලේට් කරන්න……

ඕන්න එතකොට ලස්සනට “ම්” යන්න වැදිල තියෙනවා…. System එකේ ඔබන හැම කී එකක් ම බලාගෙන හිටියොත් Word වල විතරක් නෙමයි ඕන window එකක කිසි ප්‍රශ්ණයක් නැතුව ලේසියෙන් ටයිප් කරන්න පුලුවන්…..

ඉතින් ඔය අයිඩියා එකත් එක්ක හමා හදන්න ගත්තා සොෆ්ට්වෙයාර් එකක් Open Sinhala KeyMan කියල….. හමා C වලට ආස හින්ද C වලින් තමයි ලියන්න ගත්තෙ….. ඕන නම් කාටහරි VB වලිනුත් ටිකක් ලේසියෙන්ම මේ වගේ එකක් හදන්න පුලුවන්…..

හදන්න ගත්තම ඉස්සෙල්ලාම කරන්න ඕනි System එකේ ඔබන හැම key එකක් ම monitor කරන එක නෙ…… ඉතින් ඒකට තමයි Windows වල තියෙන hooks පාවිව්වි කරේ….. Hooks වලින් වෙන හැම event එකක්ම බලන්න පුලුවන්….. වැඩිදුර විස්තර ඹ්නි නම් විකීපීඩියා බලන්න…..

ඉස්කෝලෙ වැඩත් තිබුණ නිසා හමාට වැඩේ ඉවරෙටම හදලා දාන්න බැරි උණා….. බාගෙට ලියපු කෝඩ් එකක් තියෙනවා කාටහරි ඕනි කියල හිතෙනවනම් බා ගන්න…..

හමා මේ කියල තියෙන්නෙ කරන්න පුලුවන් එක ක්‍රමයක් විතරයි…. තව තව ක්‍රම තියෙනවා… අනික බලන්න ඕනි අන්තිම keys විතරක් නෙමයි…. මොන වගේ window එකකද keys යන්නෙ වගේ දේවලුත් බලන්න ඕනි….. ඒව ඉතින් අයිසිං….. මේක තමයි කේක් එක….

අදහස් තියෙනවනම් හමා ටත් කියන්න……..

Advertisements

4 Responses to යුනිකෝඩ් එන්න කලින් හමා ලියපු කොක්ක (Hook before the Unicode)

  1. අවස්ථාව (context) අනුව යතුරකින් වෙන දේ වෙනස් කරන්න පුලුවන් නම්, සිංහළ අකුරු ඔක්කොම ඉංග්‍රීසි යතුරුලියනයෙන් ලියන්න පුලුවනි. මගේ “සයුර” යතුරු පුවුරුවේ කරන්නේ එහෙම දෙයක්. මේ ඈඳියේ තියෙන PDF එක බලන්න: http://www.sayura.net/im/

ප්‍රතිචාරයක් ලබාදෙන්න

Fill in your details below or click an icon to log in:

WordPress.com Logo

ඔබ අදහස් දක්වන්නේ ඔබේ WordPress.com ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Twitter picture

ඔබ අදහස් දක්වන්නේ ඔබේ Twitter ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Facebook photo

ඔබ අදහස් දක්වන්නේ ඔබේ Facebook ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Google+ photo

ඔබ අදහස් දක්වන්නේ ඔබේ Google+ ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

%d bloggers like this: