403Webshell
Server IP : 172.67.191.97  /  Your IP : 104.23.197.209
Web Server : Apache/2.4.63 (Ubuntu)
System : Linux adminpruebas-Virtual-Machine 6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.4.5
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/m17n/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/m17n/bn-national-jatiya.mim
;; bn-national-jatiya.mim -- Bengali input method National Jatiya layout
;; Copyright (c) 2022 Red Hat, Inc. All Rights Reserved.

;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU Lesser General Public License as published by
;; the Free Software Foundation; either version 2.1 of the License, or
;; (at your option) any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;; Lesser General Public License for more details.

;; You should have received a copy of the GNU Lesser General Public
;; License along with the m17n library; if not, write to the Free
;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;
;; Author: Mike FABIAN <[email protected]>

(input-method bn national-jatiya (version "1.0.0"))

(description "Bengali input method for National Jatiya layout.

https://en.wikipedia.org/wiki/Bengali_input_methods#Bangla_Jatiyo

Layout taken from

https://github.com/OpenBangla/OpenBangla-Keyboard/blob/master/data/National_Jatiya.json

and ported to m17n-db, merging in differences /usr/share/X11/xkb/symbols/bd as far
as possible, giving priority to National_Jatiya.json in case of a conflict.

One of the conflicts is that National_Jatiya.json has ZWNJ on ` and
AltGr+` and ZWJ on ~ and AltGr+~ whereas /usr/share/X11/xkb/symbols/bd
produces the ASCII characters ` and ~ on these keys.

See also:

https://en.wikipedia.org/wiki/Bengali_input_methods#/media/File:KB-Bengali-Jatiyo.svg

The layout picture from Wikipedia shows a few characters on AltGr which do exist
neither in National_Jatiya.json nor /usr/share/X11/xkb/symbols/bd.

On top of implementing the plain “National Jatiya” keyboard
layout, this input method also does “automatic vowel forming”,
i.e. if a diacritical form of a vowel like

া U+09BE BENGALI VOWEL SIGN AA

is typed after a consonant, it is inserted like that but if it is typed
anywhere else, not following a consonant, it is inserted as

আ U+0986 BENGALI LETTER AA

See also:

https://github.com/lifeparticle/Bengali-Alphabet/blob/master/vowel_diacritics.md
http://unicode.org/charts/nameslist/n_0980.html

")

(title "ক")

(variable
 (use-automatic-vowel-forming
  (_"If this variable is 1 (the default), automatic vowel forming is used.
For example, a dependent vowel like া is automatically converted to
the independent form আ if it is not typed after a consonant.")
  1 0 1)) ; ((NAME [DESCRIPTION DEFAULT-VALUE VALID-VALUE ...])

(map
 (independent-vowels
  ("H" "অ")  ; U+0985 BENGALI LETTER A
  ((G-h) "আ") ; U+0986 BENGALI LETTER AA
  ((G-d) "ই") ; U+0987 BENGALI LETTER I
  ((G-D) "ঈ") ; U+0988 BENGALI LETTER II
  ((G-s) "উ") ; U+0989 BENGALI LETTER U
  ((G-S) "ঊ") ; U+098A BENGALI LETTER UU
  ((G-a) "ঋ") ; U+098B BENGALI LETTER VOCALIC R
  ((G-l) "ঌ") ; U+098C BENGALI LETTER VOCALIC L
  ((G-c) "এ") ; U+098F BENGALI LETTER E
  ((G-C) "ঐ") ; U+0990 BENGALI LETTER AI
  ((G-x) "ও") ; U+0993 BENGALI LETTER O
  ((G-X) "ঔ") ; U+0994 BENGALI LETTER AU
  )

 (additional-independent-vowels-for-sanskrit
  ((G-A) "ৠ") ; U+09E0 BENGALI LETTER VOCALIC RR
  ((G-L) "ৡ") ; U+09E1 BENGALI LETTER VOCALIC LL
  )

 (dependent-vowel-signs
  ("h" (cond ((= consonant-flag 0) "আ")    ; U+0986 BENGALI LETTER AA
             ((= consonant-flag 1) "া")))  ; U+09BE BENGALI VOWEL SIGN AA
  ("d" (cond ((= consonant-flag 0) "ই")     ; U+0987 BENGALI LETTER I
             ((= consonant-flag 1) "ি")))  ; U+09BF BENGALI VOWEL SIGN I
  ("D" (cond ((= consonant-flag 0) "ঈ")     ; U+0988 BENGALI LETTER II
             ((= consonant-flag 1) "ী")))  ; U+09C0 BENGALI VOWEL SIGN II
  ("s" (cond ((= consonant-flag 0) "উ")     ; U+0989 BENGALI LETTER U
             ((= consonant-flag 1) "ু")))   ; U+09C1 BENGALI VOWEL SIGN U
  ("S" (cond ((= consonant-flag 0) "ঊ")     ; U+098A BENGALI LETTER UU
             ((= consonant-flag 1) "ূ")))   ; U+09C2 BENGALI VOWEL SIGN UU
  ("a" (cond ((= consonant-flag 0) "ঋ")     ; U+098B BENGALI LETTER VOCALIC R
             ((= consonant-flag 1) "ৃ")))   ; U+09C3 BENGALI VOWEL SIGN VOCALIC R
  ((G-e) (cond ((= consonant-flag 0) "ৠ")   ; U+09E0 BENGALI LETTER VOCALIC RR
               ((= consonant-flag 1) "ৄ"))) ; U+09C4 BENGALI VOWEL SIGN VOCALIC RR
  ("c" (cond ((= consonant-flag 0) "এ")     ; U+098F BENGALI LETTER E
             ((= consonant-flag 1) "ে")))  ; U+09C7 BENGALI VOWEL SIGN E
  ("C" (cond ((= consonant-flag 0) "ঐ")     ; U+0990 BENGALI LETTER AI
             ((= consonant-flag 1) "ৈ")))  ; U+09C8 BENGALI VOWEL SIGN AI
  ("x" (cond ((= consonant-flag 0) "ও")     ; U+0993 BENGALI LETTER O
             ((= consonant-flag 1) "ো")))  ; U+09CB BENGALI VOWEL SIGN O
  ("X" (cond ((= consonant-flag 0) "ঔ")     ; U+0994 BENGALI LETTER AU
             ((= consonant-flag 1) "ৌ")))  ; U+09CC BENGALI VOWEL SIGN AU
  )

 (additional-dependent-vowel-signs-for-sanskrit
  ((G-q) (cond ((= consonant-flag 0) "ঌ")   ; U+098C BENGALI LETTER VOCALIC L
               ((= consonant-flag 1) "ৢ"))) ; U+09E2 BENGALI VOWEL SIGN VOCALIC L
  ((G-Q) (cond ((= consonant-flag 0) "ৡ")   ; U+09E1 BENGALI LETTER VOCALIC LL
               ((= consonant-flag 1) "ৣ"))) ; U+09E3 BENGALI VOWEL SIGN VOCALIC LL
  )

 (consonants
  ("j" "ক") ; U+0995 BENGALI LETTER KA
  ("J" "খ") ; U+0996 BENGALI LETTER KHA
  ("o" "গ") ; U+0997 BENGALI LETTER GA
  ("O" "ঘ") ; U+0998 BENGALI LETTER GHA
  ("q" "ঙ") ; U+0999 BENGALI LETTER NGA
  ("y" "চ") ; U+099A BENGALI LETTER CA
  ("Y" "ছ") ; U+099B BENGALI LETTER CHA
  ("u" "জ") ; U+099C BENGALI LETTER JA
  ("U" "ঝ") ; U+099D BENGALI LETTER JHA
  ("I" "ঞ") ; U+099E BENGALI LETTER NYA
  ("t" "ট") ; U+099F BENGALI LETTER TTA
  ("T" "ঠ") ; U+09A0 BENGALI LETTER TTHA
  ("e" "ড") ; U+09A1 BENGALI LETTER DDA
  ("E" "ঢ") ; U+09A2 BENGALI LETTER DDHA
  ("B" "ণ") ; U+09A3 BENGALI LETTER NNA
  ("k" "ত") ; U+09A4 BENGALI LETTER TA
  ("K" "থ") ; U+09A5 BENGALI LETTER THA
  ("l" "দ") ; U+09A6 BENGALI LETTER DA
  ("L" "ধ") ; U+09A7 BENGALI LETTER DHA
  ("b" "ন") ; U+09A8 BENGALI LETTER NA
  ("r" "প") ; U+09AA BENGALI LETTER PA
  ("R" "ফ") ; U+09AB BENGALI LETTER PHA
  ("f" "ব") ; U+09AC BENGALI LETTER BA
  ("F" "ভ") ; U+09AD BENGALI LETTER BHA
  ("m" "ম") ; U+09AE BENGALI LETTER MA
  ("w" "য") ; U+09AF BENGALI LETTER YA
  ("v" "র") ; U+09B0 BENGALI LETTER RA
  ("V" "ল") ; U+09B2 BENGALI LETTER LA
  ("M" "শ") ; U+09B6 BENGALI LETTER SHA
  ("N" "ষ") ; U+09B7 BENGALI LETTER SSA
  ("n" "স") ; U+09B8 BENGALI LETTER SA
  ("i" "হ") ; U+09B9 BENGALI LETTER HA
  )

 (additional-consonant
  ;; a dead consonant form of ta, without implicit vowel, used in some sequences:
  ((G-^) "ৎ") ; U+09CE BENGALI LETTER KHANDA TA
  )

 (additional-consonants
  ;; These three consonants with nuktas are listed in
  ;; CompositionExclusions.txt. That means that they do not recompose
  ;; during normalization. The NFC form is the same as the decomposed
  ;; sequence:
  ("p" "ড়")  ; U+09DC BENGALI LETTER RRA ≡ 09A1 ড 09BC ◌়
  ("P" "ঢ়")  ; U+09DD BENGALI LETTER RHA ≡ 09A2 ঢ 09BC ◌়
  ("W" "য়")  ; U+09DF BENGALI LETTER YYA ≡ 09AF য 09BC ◌়
  )

 (various-signs
  ("A" "ৗ")  ; U+09D7 BENGALI AU LENGTH MARK
  ("z" "ঁ")  ; U+0981 BENGALI SIGN CANDRABINDU
  ("Q" "ং")  ; U+0982 BENGALI SIGN ANUSVARA
  ("Z" "ঃ")  ; U+0983 BENGALI SIGN VISARGA
  ((G-.) "়") ; U+09BC BENGALI SIGN NUKTA (for extending the alphabet to new letters, only in /usr/share/X11/xkb/symbols/bn)
  ((G-i) "ঽ") ; U+09BD BENGALI SIGN AVAGRAHA
  ((G-z) "৺") ; U+09FA BENGALI ISSHAR =	ishvar (represents the name of a deity) = svargiya (written before the name of a deceased person)
  )

 (additions-for-assamese
  ((G-f) "ৰ") ; U+09F0 BENGALI LETTER RA WITH MIDDLE DIAGONAL = Assamese letter ra
  ((G-F) "ৱ") ; U+09F1 BENGALI LETTER RA WITH LOWER DIAGONAL = Assamese letter wa
  )

 (currency-symbols
  ((G-$) "৲") ; U+09F2 BENGALI RUPEE MARK = taka • historic currency sign
  ((G-4) "৳") ; U+09F3 BENGALI RUPEE SIGN = Bangladeshi taka
  )

 (historic-symbols-for-fractional-values
  ((G-1) "৴") ; U+09F4 BENGALI CURRENCY NUMERATOR ONE
  ((G-2) "৵") ; U+09F5 BENGALI CURRENCY NUMERATOR TWO
  ((G-3) "৶") ; U+09F6 BENGALI CURRENCY NUMERATOR THREE
  ((G-5) "৷") ; U+09F7 BENGALI CURRENCY NUMERATOR FOUR
  ((G-6) "৸") ; U+09F8 BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
  ((G-0) "৹") ; U+09F9 BENGALI CURRENCY DENOMINATOR SIXTEEN
  )

 (other
  ((G-7) "ं") ; U+0902 DEVANAGARI SIGN ANUSVARA (Only in /usr/share/X11/xkb/symbols/bn)
  ("G" "।")  ; U+0964 DEVANAGARI DANDA
  ((G-g) "॥") ; U+0965 DEVANAGARI DOUBLE DANDA
  ((G-j) "঻") ; U+09BB script bengali, not assigned (Only in /usr/share/X11/xkb/symbols/bn)
  ((G-k) "ৎ") ; U+09CE BENGALI LETTER KHANDA TA (Only in /usr/share/X11/xkb/symbols/bn)
  )

 (joiner
  ((G--)  "‌") ; U+200C ZERO WIDTH NON-JOINER (Only in /usr/share/X11/xkb/symbols/bn)
  ("~" "‍")   ; U+200D ZERO WIDTH JOINER (Only in OpenBangla National_Jatiya.json)
  ((G-~) "‍") ; U+200D ZERO WIDTH JOINER (Only in OpenBangla National_Jatiya.json)
  ("`" "‌")   ; U+200C ZERO WIDTH NON-JOINER (Only in OpenBangla National_Jatiya.json)
  ((G-`) "‌") ; U+200C ZERO WIDTH NON-JOINER (Only in OpenBangla National_Jatiya.json)
  ((G-=) "‍") ; U+200D ZERO WIDTH JOINER (Only in /usr/share/X11/xkb/symbols/bn)
  )

 (nothing
  ((G-8) "") ; Nothing
  ((G-9) "") ; Nothing
  ((G-&) "") ; Nothing
  ((G-') "") ; Nothing
  ((G-*) "") ; Nothing
  ((G-@) "") ; Nothing
  ((G-B) "") ; Nothing
  ((G-\\) "") ; Nothing
  ((G-|) "") ; Nothing
  ((G-{) "") ; Nothing
  ((G-}) "") ; Nothing
  ((G-[) "") ; Nothing
  ((G-]) "") ; Nothing
  ((G-:) "") ; Nothing
  ((G-,) "") ; Nothing
  ((G-E) "") ; Nothing
  ((G-!) "") ; Nothing
  ((G-G) "") ; Nothing
  ((G->) "") ; Nothing
  ((G-H) "") ; Nothing
  ((G-#) "") ; Nothing
  ((G-I) "") ; Nothing
  ((G-J) "") ; Nothing
  ((G-K) "") ; Nothing
  ((G-<) "") ; Nothing
  ((G-M) "") ; Nothing
  ((G-N) "") ; Nothing
  ((G-O) "") ; Nothing
  ((G-P) "") ; Nothing
  ((G-\() "") ; Nothing
  ((G-\)) "") ; Nothing
  ((G-%) "") ; Nothing
  ((G-+) "") ; Nothing
  ((G-?) "") ; Nothing
  ((G-\") "") ; Nothing
  ((G-R) "") ; Nothing
  ((G-;) "") ; Nothing
  ((G-/) "") ; Nothing
  ((G-T) "") ; Nothing
  ((G-U) "") ; Nothing
  ((G-_) "") ; Nothing
  ((G-V) "") ; Nothing
  ((G-W) "") ; Nothing
  ((G-Y) "") ; Nothing
  ((G-Z) "") ; Nothing
  ((G-b) "") ; Nothing
  ((G-m) "") ; Nothing
  ((G-n) "") ; Nothing
  ((G-o) "") ; Nothing
  ((G-p) "") ; Nothing
  ((G-r) "") ; Nothing
  ((G-t) "") ; Nothing
  ((G-u) "") ; Nothing
  ((G-v) "") ; Nothing
  ((G-w) "") ; Nothing
  ((G-t) "") ; Nothing
  ((G-u) "") ; Nothing
  ((G-v) "") ; Nothing
  ((G-w) "") ; Nothing
  ((G-y) "") ; Nothing
  )

 (digits
  ("0" "০") ; U+09E6 BENGALI DIGIT ZERO
  ("1" "১") ; U+09E7 BENGALI DIGIT ONE
  ("2" "২") ; U+09E8 BENGALI DIGIT TWO
  ("3" "৩") ; U+09E9 BENGALI DIGIT THREE
  ("4" "৪") ; U+09EA BENGALI DIGIT FOUR
  ("5" "৫") ; U+09EB BENGALI DIGIT FIVE
  ("6" "৬") ; U+09EC BENGALI DIGIT SIX
  ("7" "৭") ; U+09ED BENGALI DIGIT SEVEN
  ("8" "৮") ; U+09EE BENGALI DIGIT EIGHT
  ("9" "৯") ; U+09EF BENGALI DIGIT NINE
  )

 (numpad
  ((KP_0) "০") ; U+09E6 BENGALI DIGIT ZERO
  ((KP_1) "১") ; U+09E7 BENGALI DIGIT ONE
  ((KP_2) "২") ; U+09E8 BENGALI DIGIT TWO
  ((KP_3) "৩") ; U+09E9 BENGALI DIGIT THREE
  ((KP_4) "৪") ; U+09EA BENGALI DIGIT FOUR
  ((KP_5) "৫") ; U+09EB BENGALI DIGIT FIVE
  ((KP_6) "৬") ; U+09EC BENGALI DIGIT SIX
  ((KP_7) "৭") ; U+09ED BENGALI DIGIT SEVEN
  ((KP_8) "৮") ; U+09EE BENGALI DIGIT EIGHT
  ((KP_9) "৯") ; U+09EF BENGALI DIGIT NINE
  ((KP_Add) "+") ; U+002B PLUS SIGN
  ((KP_Decimal) ".") ; U+002E FULL STOP
  ((KP_Divide) "/") ; U+002F SOLIDUS
  ((KP_Multiply) "*") ; U+002A ASTERISK
  ((KP_Subtract) "-") ; U+002D HYPHEN-MINUS
  )

 (special
  ("." ".")  ; U+002E FULL STOP
  ("&" "&")  ; U+0026 AMPERSAND
  ("'" "'")  ; U+0027 APOSTROPHE
  ("*" "*")  ; U+002A ASTERISK
  ("@" "@")  ; U+0040 COMMERCIAL AT
  ("\\" "\\")  ; U+005C REVERSE SOLIDUS
  ("|" "|")  ; U+007C VERTICAL LINE
  ("{" "{")  ; U+007B LEFT CURLY BRACKET
  ("}" "}")  ; U+007D RIGHT CURLY BRACKET
  ("[" "[")  ; U+005B LEFT SQUARE BRACKET
  ("]" "]")  ; U+005D RIGHT SQUARE BRACKET
  ("^" "^")  ; U+005E CIRCUMFLEX ACCENT
  (":" ":")  ; U+003A COLON
  ("," ",")  ; U+002C COMMA
  ("$" "$")  ; U+0024 DOLLAR SIGN
  ("=" "=")  ; U+003D EQUALS SIGN
  ("!" "!")  ; U+0021 EXCLAMATION MARK
  (">" ">")  ; U+003E GREATER-THAN SIGN
  ("#" "#")  ; U+0023 NUMBER SIGN
  ("<" "<")  ; U+003C LESS-THAN SIGN
  ("-" "-")  ; U+002D HYPHEN-MINUS
  ("(" "(")  ; U+0028 LEFT PARENTHESIS
  (")" ")")  ; U+0029 RIGHT PARENTHESIS
  ("%" "%")  ; U+0025 PERCENT SIGN
  ("+" "+")  ; U+002B PLUS SIGN
  ("?" "?")  ; U+003F QUESTION MARK
  ("\"" "\"") ; U+0022 QUOTATION MARK
  (";" ";")  ; U+003B SEMICOLON
  ("/" "/")  ; U+002F SOLIDUS
  ("_" "_")  ; U+005F LOW LINE
  )

 (deadkey
  ("g" "্") ; U+09CD BENGALI SIGN VIRAMA
  )

 (dead-key-completions
  ("h" (delete @-) "আ") ; + া U+09BE BENGALI VOWEL SIGN AA = আ U+0986 BENGALI LETTER AA
  ("d" (delete @-) "ই") ; + ি U+09BF BENGALI VOWEL SIGN I = ই U+0987 BENGALI LETTER I
  ("D" (delete @-) "ঈ") ; + ী U+09C0 BENGALI VOWEL SIGN II = ঈ U+0988 BENGALI LETTER II
  ("s" (delete @-) "উ") ; + ু U+09C1 BENGALI VOWEL SIGN U = উ U+0989 BENGALI LETTER U
  ("S" (delete @-) "ঊ") ; + ূ U+09C2 BENGALI VOWEL SIGN UU = ঊ U+098A BENGALI LETTER UU
  ("a" (delete @-) "ঋ") ; + ৃ U+09C3 BENGALI VOWEL SIGN VOCALIC R = ঋ U+098B BENGALI LETTER VOCALIC R
  ("c" (delete @-) "এ") ; + ে U+09C7 BENGALI VOWEL SIGN E = এ U+098F BENGALI LETTER E
  ("C" (delete @-) "ঐ") ; + ৈ U+09C8 BENGALI VOWEL SIGN AI = ঐ U+0990 BENGALI LETTER AI
  ("x" (delete @-) "ও") ; + ো U+09CB BENGALI VOWEL SIGN O = ও U+0993 BENGALI LETTER O
  ("X" (delete @-) "ঔ") ; + ৌ U+09CC BENGALI VOWEL SIGN AU = ঔ U+0994 BENGALI LETTER AU
  ("G" (delete @-) "॥") ; + । U+0964 DEVANAGARI DANDA = ॥ U+0965 DEVANAGARI DOUBLE DANDA
  ))

(state
 (init
  (t (cond
      ((= use-automatic-vowel-forming 1) (set consonant-flag 0))
      (1 (set consonant-flag 1))))
  (independent-vowels)
  (additional-independent-vowels-for-sanskrit)
  (dependent-vowel-signs)
  (additional-dependent-vowel-signs-for-sanskrit)
  (consonants (set consonant-flag 1) (shift after-consonant))
  (additional-consonant)
  (additional-consonants (set consonant-flag 1) (shift after-consonant))
  (various-signs)
  (additions-for-assamese)
  (currency-symbols)
  (historic-symbols-for-fractional-values)
  (other)
  (joiner)
  (nothing)
  (digits)
  (numpad)
  (special)
  (deadkey (shift virama)))

 (after-consonant
  (dependent-vowel-signs (shift init))
  (additional-dependent-vowel-signs-for-sanskrit (shift init))
  (nil (shift init))
  )

 (virama
  (dead-key-completions (shift init))
  (nil (shift init))))

;; Local Variables:
;; coding: utf-8
;; mode: emacs-lisp
;; End:

Youez - 2016 - github.com/yon3zu
LinuXploit