Sunday, October 27, 2013

ne-trad-ttf: Nepali Traditional input method for linux

This is a Nepali traditional input method made for those who are comfortable with TTF fonts like Kantipur and Preeti. Keyboard map

Detailed description in नेपाली

Requirements

This needs ibus and ibus-m17n or fcitx and fcitx-m17n packages. I have tested this on Ubuntu 12.04, 14.04, 16.04, Debian derivatives Bodhi, #!Crunchbang and ArchLinux. If you can get those two packages installed other distros, it should work fine as well.

Installation 

ne-trad-ttf 1.2 is now part of m17n-db. If you have m17n-db 1.8+ you should already be available in ibus settings. If you want v1.3 which has RRA (ऱ) as in पऱ्यो, follow manual installation steps.
Manual installation:
  • Download linux-ne-trad-ttf.tar.gz
  • You will need ibus, ibus-m17n or fcitx, fcitx-m17n and m17n-contrib packages. If you dont have them already do a
    sudo apt-get install ibus ibus-m17n m17n-contrib
  • Find out where m17n-db files are located. In Ubuntu 12.04 they are in /usr/share/m17n.
  • Copy ne-trad-ttf.mim to that folder and ne-trad-ttf.png to icons/.
    You can do this while extracting the tar ball. Command to run is

    sudo tar xzf linux-ne-trad-ttf.tar.gz -C /usr/share/m17n 
  • Restart IBus if its running
  • New layout trad-ttf should be available under Nepali in IBus preferences under Input method tab. Add trad-ttf layout. Now you can switch between english and nepali by using assigned keyboard shortcut (Default is Ctrl+space, you can change it from General Tab)

Troubleshooting

  • You may have to turn off 'Use system keyboard layout' in Advanced Tab in IBus preferences.
  • In some cases im-switch may be necessary. See here and here


Source code

Source in github
ne-trad-ttf.mim is a plaintext file which is in some dialect of lisp. Instructions on how to author such files can be found in m17n documentation

ne-trad-ttf: Nepali Traditional input method for MS Windows

This is a Nepali traditional input method made for those who are comfortable with TTF fonts like Kantipur and Preeti. Keyboard map

Detailed description in नेपाली

Requirements

I have tested this in Windows XP, 7, 8 and 10.
  • Download win-ne-trad-ttf.zip
  • Extract and run setup.exe
  • After some time you will get a dialog box saying Installation is complete
For Win 10 
  • You may have to add newly installed layout. To do this Go to Language Preferences > नेपाली > Options > Add a Keyboard > Nepali Traditional TTF

 

  • Remove Default Nepali layout if already present
  • Finally make sure Nepali Traditional TTF is selected, whenever you want to use this layout to type in Nepali. Shortcuts Left Shift + Left Alt or Win + Space can be used to switch between layouts

 
 
For Win 7
  • This should have completed everything. Look for Language bar and see if Left Shift + Left Alt switches to NE (nepali layout)
  • If this doesnt work, Go to Control Panel > Region and Language > [Tab] Keyboards and Languages > Change Keyboards. Add Nepali Traditional TTF Layout under Nepali Language if it is not present 

For Win XP 
  • After Installation Go to Control Panel > Regional and Language Options > [Tab] Language > Supplemental language support
  • In dialogbox titled "Text Service and Input Language" that appears, click Add.
  • Select Nepali Traditional TTF under Language Nepali (if you dont find Nepali under Language here you need to install update 897338) 
  • Default shortcut to switch input (English ↔ Nepali) is Left Shft+Left Alt. 

Microsoft Keyboard Layout Creator

If you want to make your own keyboard layout or modify existing one, use this tool. This requires .NET framework 2.0, so you need to install that first. The interface is very intuitive and straight forward but if you need help there are plenty available in the web.

Source code

Source file ne-trad-ttf.klc can be found in github. You will need Microsoft Keyboard Layout creator for this.

Saturday, October 26, 2013

सुधारिएको नेपाली ट्रयाडिशनल लेआउट (Nepali Traditional keyboard layout)

युनिकोड आउनु अगाडि म प्रीति, कान्तिपुर जस्ता ttf फन्टमा टाइप गर्थें । त्यसको लागि मदन पुरस्कार प्रतिष्ठानले Nepali Traditional Layout भन्ने बनाएको थियो । यसमा पुरानो ब क म ा न लेआउट छ जुन प्रिति फन्टसँग मिल्दो जुल्दो छ ।

यसमा अनेक नयाँ अक्षरहरू पनि छन् जसलाई पहिले Alt+xxx कोडबाट ल्याउन पर्थ्यो जस्तै S = ङ्क, D = ङ्ग, T = ट्ट आदि । झट्ट सोच्दा यसले गर्दा टाइप गर्न सजिलो हुन्छ जस्तो लाग्छ तर हामी ttf लेआउटमा हात बसेकाहरूलाई भने यसले झनै अप्ठेरो बनाएको पाएँ । एक त यी अक्षरहरू धेरै चाहिने हैन (W = ड्ढ कहिल्यै प्रयोग गर्नु भएको छ ?) त्यसमाथि धेरै प्रयोग भएर हात गैराख्ने S = क्‍ यो हान्न खोज्दा ङ्क आइदिन्छ तीन चोटि Backspace हान्न पर्ने गरि । त्यसमाथि चाहिराख्ने चिन्हहरू जस्तै , : ? - हरू चाहि Ctrl Alt सँग थिच्न पर्ने भाको छ ।

Windows 7 देखि Nepali भन्ने लेआउट पाइन्छ जो लगभग हुबहु प्रीति लेआउटसँग मिल्छ तर यसमा धेरै अक्षरहरू नै छैनन् । Linux मा त झन् आधा आधि मात्र चल्ने Traditional लेआउट भेटिन्छ । यी सबबाट आजित भएर एउटा नयाँ लेआउट बनाएको छु ।

नयाँ लेआउट

दैनिक टाइप गर्न पर्नेहरूलाई सजिलो गर्न मैले Nepali Traditional TTF लेआउट बनाएको छु । यो लेआउट बनाउँदा सकेसम्म प्रिती जस्ता ttf लेआउटमा हात बसेकाहरूलाई सजिलो होस् भनेर बनाएको छु । ttf फन्टहरूमा टाइप गर्दा आफूलाई चाहिएको चिन्हहरू कसरी ल्याउने भन्नेमा ध्यान दिन पर्थ्यो भने युनिकोडमा टाइप गर्दा कुन अक्षर कुन स्वर र व्यन्जनहरू मिलेर बनेको छ त्यो थाहा पाए पुग्छ। यहि सैधान्तिक भिन्नताका कारण टाइप गर्दा केही फरकहरू भने हुन्छन् । साथै चाहिराख्ने चिन्हहरू जस्तै , : ? - = ! @ / आदि पनि लेआउटमै वा dead key प्रयोग गरेर सजिलै ल्याउन मिल्ने बनाएको छु । सुधारका लागि सुझावहरू दिनसक्नु हुन्छ ।

Nepali Traditional TTF Layout
Larger image and SVG here,
original template taken from Keyboard_layout_Zhuyin.svg credited to Sakurambo

डाउनलोड#

टाइप चै कसरी गर्ने त युनिकोडमा, प्रीति(ttf)भन्दा के चै फरक छ ?#

इकार

ह्रस्व र दीर्घ दुवै इकार व्यन्जन पछि थिच्न पर्ने

जस्तै दिदी लेख्न पर्दा
ttfमा ि+ + + हुन्थ्यो भने
युनिकोडमा +ि + + (हिज्जे भन्न पर्दा जसरी भनिन्छ त्यसरी नै टाइप गर्ने : द इकार द ईकार )
ओकार र औकार
ttf मा जस्तो ा + े गरेर वा ा + ै गरेर ौ बन्दैन ( धेरैले गर्ने गल्ती ) । ो र ौ क्रमशः JB मा छन्
ो  → कोठा
अरू स्वर मात्राहरू - आकार ा, ह्रस्व उकार ु, दीर्घ ऊकार ू, ऋ ृ, एकार े, ऐकार ै प्रीतिमा जसरी नै टाइप गरिन्छ ।
स्वर अक्षरहरू छुट्टै लेख्न परेमा#
प्रीतिमा जस्तो 'अ' मा आकार, ओकार जस्ता स्वर मात्रा लगाएर हुदैन धेरैले गर्ने गल्ती
अ + ा ≠ आ   A → आ
अ + ो ≠ ओ   _ → ओ
अ + ौ ≠ आ   - → औ
(इ + रेफ) र + ् + इ ≠ ई     @ → ई
ए + े ≠ ऐ   E → ऐ
माथि लेआउटमा देखाए गरि सबै स्वर अक्षरका लागि आफ्नै key छन्
c → अ
A → आ
O → इ
@ → ई
C → ऋ
p → उ
U → ऊ
P → ए
E → ऐ
_ → ओ
- → औ
रेफ खोइ त ?
युनिकोडमा रेफ छुट्टै हुदैन । रेफ भनेको आधा 'र' अरू व्यन्जनसँग जोडिएपछि आउने हो, त्यसैले रेफ लागि + (हलन्त)
→ कार्य
ई (दीर्घ ईकार) का लागि पनि रेफ प्रयोग हुन्थ्यो, त्यसको लागि @ → ई
अरु अक्षरहरू
युनिकोडमा टुक्रे चिन्हहरू छैनन् । जस्तै प मा पुच्छर जोडेर फ, उ मा पुच्छर जोडेर ऊ, प को खुट्टा तानेर प्र आदि इत्यादि केही गर्न पर्दैन ।
K → फ
U → ऊ
V → ॐ
< → ङ
→ प्र
→ रु (ह्रस्व)
→ रू (दीर्घ)
अरू उदाहरण सयुक्त अक्षरमा
आधा अक्षरहरू
ttf मा आधा अक्षरहरू जस्तै ब्‍, क्‍, द् क्रमशः A, SB मा पर्छन् भने युनिकोडमा ब+्, क+् द+् गर्नु पर्छ । यहाँ राखिएको युनिकोड लेआउटमा धेरै प्रयोग हुने आधा अक्षरहरू जस्तै क्‍ स्‍ हरू S : मै छन् भने द् चै B मा छैन तर याद राख्न पर्ने कुरा के छ भने युनिकोडमा + गरेर क् ल्याउनु र S गरेर क् ल्याउनुमा केही अन्तर छैन र त्यसपछि केही अक्षर आएमा आफै जोडेर संयुक्त अक्षरहरू बन्छन् ।
संयुक्त अक्षरहरू#
युनिकोडमा संयुक्त अक्षरहरू टाइप गर्न ttf फन्टहरूमाभन्दा सजिलो छ, जुन अक्षर जसरी बनेको छ त्यै टाइप गर्दै जाने
उदाहरणको लागि ङ्क लाई लिऊँ, ttf मा फन्ट अनुसारको Alt+xxx कोड हान्नु पर्नेमा युनिकोडमा ङ + ् + क टाइप गरे पुग्छ । युनिकोडको अर्को फाइदा भनेको यसरी टाइप गरेपछि ttf फन्टमा जस्तो अरू फन्टमा लग्दा बिग्रने सम्भावना हुदैन । (नोट : नेपाली (देवनागिरी) अक्षर भएका धेरै युनिकोड फन्टहरू छन्, सबै फन्टमा सबै संयुक्त अक्षरहरू नहुन पनि सक्छन् । फन्टमा नभएमा ् सहितको सिङ्गो अक्षर नै देखिन्छ - जस्तै Windows 7 को Mangal फन्टमा ङ्‍क छुट्टेर आउछ, सो संयुक्त अक्षर भएको फन्टमा चै आफै मिलेर आउछ । ttf फन्टमा जस्तो फन्ट परिवर्तन गर्दा एकदमै फरक अक्षर वा बट्टा बट्टा आउने समस्या चै हुदैन )
केही उदाहरणहरू:
क ् क → क्क
क ् त ‌→ क्त
क ् र ‌→ क्र
ङ ् क → ङ्क (Windows 7 को Mangal फन्टमा ङ्‍क आउछ Kalimati वा Arial Unicode MS मा ङ का मुनि क नै आउछ)
ङ ् ख → ङ्ख
श ् र → श्र
द ् ध → द्ध (बुद्ध)
द ् द → द्द (मद्दत)
द ् व ‌→ द्व (द्वारा) (Windows 7 को Mangal फन्टमा द्‌व आउछ Kalimati वा Arial Unicode MSमा ठिक आउछ)
द ् य ‌→ द्य (Windows 7 को Mangal फन्टमा द्‌य आउछ Kalimati वा Arial Unicode MSमा ठिक आउछ)
द ् र → द्र
प ् र → प्र
ट ् ट ‌→ ट्ट
ठ ् ठ ‌→ ठ्ठ
ह  ृ → हृ (हृदय)
ह ् र → ह्र (गाह्रो)
ह ् य ‌→ ह्य (ह्याकुला)
ह ् व → ह्व (विह्वोल)
संयुक्त व्यन्जनहरू (उदाहरणका लागि मात्र, क्ष त्र ज्ञ क्रमशः I, Q, र ! मा पनि छन्)
क ् ष ‌→ क्ष
त ् र → त्र
ज ् ञ ‌→ ज्ञ
यो ZWJ र ZWNJ भन्ने जन्तुहरू के हुन् ?#
आधा अक्षर पछिल्लो अक्षरसँग जोड्दा फरक तरिकाले जोड्न परेमा ZWJ वा ZWNJ प्रयोग हुन्छ
हलन्त देखिने गरि जोड्न परेमा ZWNJ (Zero Width Non Joiner)#

ZWNJ m मा छ

श्र ZWNJ → श्रीमान्‌को (ZWNJ प्रयोग नगर्दा श्रीमान्को हुन जान्छ)
हलन्त नदेखिने गरि फरक तरिकाले जोड्न परेमा ZWJ (Zero Width Joiner)#

ZWJ Shift+\ मा छ

ZWJ → राख्‍न(कालीमाटी जस्ता युनिकोड फन्टमा राख्न संयुक्त ख र न (ख को मुन्तिर न)  हुन जान्छ त्यस्तो भएको मन नपरेमा)
अंकहरू
अंकहरू ०-९ को लागि Shift थिच्न नपर्ने
1 2 3 मा भएका ज्ञ ई घ द्ध आदिलाई Shift थिच्न पर्ने
Dead key के किन र कसरी - चिन्हहरू#
नेपालीमा धेरै अक्षरहरू छन्, सबै अटाउदा धेरै जसो चिन्हहरूको लागि ठाउँ नै बच्दैन । यसैले धेरै प्रयोग हुने । , ? . जस्ता केही चिन्हहरू मात्रै एउटा key थिचेर आउने बनाइएको छ । अरु चिन्हको लागि भने Dead key को प्रयोग गर्नु पर्छ ।
यो लेआउटमा { Dead key हो । { हान्ने बित्तिकै केही पनि टाइप भएको देखिदैन तर लगत्तै अरु केही थिचे पछि भने चाहिएको अक्षर वा चिन्ह देखा पर्छ ।
किबोर्डमा देखिने चिन्हहरू ~ ` ! @ # $ % ^ & * () - _ = + [] {} \ ;” ' < > / | सबै dead key प्रयोग गरेर टाइप गर्न सकिन्छ । कुनै पनि चिन्ह टाइप गर्न परेमा पहिले { थिच्ने र छोड्ने अनि चिन्ह थिच्ने ।
जस्तै:
+ → { थिच्ने र छोड्ने अनि + थिच्ने
@ → { थिच्ने र छोड्ने अनि @ थिच्ने
     वा { थिच्ने र छोड्ने अनि 2 थिच्ने
Windows मा ! $ : ; > जस्ता केही अपवादहरू छन्, जसमा हल्का फरक तरिका अपनाउनु पर्ने हुन्छ, तल विस्तृतमा दिइएको छ । प्रयोगकर्ता सुझाव अनुसार पुरानो भर्सन भन्दा अलिकति फेरबदल गरिएको छ, नयाँ भर्सन राख्नुहोला ।
कोष्ठक चिन्ह - ( कसरी टाइप गर्ने :
कुन चिन्ह कता
चिन्हLinuxWindows
.
.= वा {.
,,
??
`{`
~{~
!{! / {1{1
@{@ वा {2
#{# वा {3
${$ / {4{4
%{% वा {5
^{^ वा {6
&{& वा {7
*{* वा {8
({( वा {9
){) वा {0
-{-
_{_
={=
+{+
[{[
{{{
]{]
}{}
\{\
|{|
:{: {;
;{; {m वा Ctrl+Alt+;
'{'
"{"
<{<
>{> {,
/{/
ऱ्{?
पऱ्यो गऱ्यो ऱ्याल कसरी लेख्ने?#
यस्तो आधा र दुई तरिकाले लेख्न सकिन्छ
ऱ को प्रयोग गरेर
{? = ऱ् (थोप्लो भएको र अनि हलन्त)
{?→ पऱ्यो
{?→ ऱ्याल
ZWJ को प्रयोग गरेर
ZWJ → पर्‍यो
ZWJ → र्‍याल (नत्र र्याल हुन जान्छ)