blob: da4dadbc989e60f96e3023fee385094127a2f063 [file] [edit]
# This table contains braille codes and rules for Devanagari script.
#
# Copyright (C) 2026 National Institute for Empowerment of Persons with Visual Disabilities (NIEPVD)
# (under Department of Empowerment of Persons with Disabilities (DEPwD), Ministry of Social
# Justice & Empowerment, Government of India),116, Rajpur Road, Dehradun – 248001
#
# This file is part of liblouis.
#
# liblouis 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.
#
# liblouis 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 liblouis. If not, see
# <http://www.gnu.org/licenses/>.
# This table was built and maintained under an activity of Braille Council of India and then modified after release of new Bharti braille 2.1 which was released on January 4, 2026 for public review
# Contributors: Dipendra Manocha, Jake Kyle, Sreeja, Dinesh Kaushal, Mesar Hameed
# Last updated on February 26, 2026
# To report any bugs or any suggestion, please write to dipendra@saksham.org and sreeja@saksham.org
include braille-patterns.cti
# To ensure punctuation back-translated properly
prepunc \x201C 236
postpunc \x201D 356
postpunc .] 256-2356-3
noback prepunc ' 6-236
prepunc ‘ 6-236
noback postpunc ' 356-3
postpunc 356-3
letter \x0901 3 # devanagari chandra bindu
letter \x0902 56 # devanagari anuswar
letter \x0903 6 # devanagari visarg
letter \x0905 1 #"a"
letter \x0906 345 #baraa aa"
letter \x0907 24 #"chhoTi ii"
letter \x0908 35 #"baRii ii"
letter \x0909 136 #"chhoTaa u"
letter \x090A 1256 #"baRaa uu"
noback letter \x090B 5-1235 #"RRi" - need noback because multicell
noback letter \x090C 5-123 #"lri" - need noback because multicell
noback letter \x090D 34 #"Candra e" - not in Bharti 2.1 doc
noback letter \x090E 26 #"short e for dravidian" - not in Bharti 2.1 doc
letter \x090F 15 #"e"
letter \x0910 34 #"ai"
letter \x0911 1346 #"o as in office"
noback letter \x0912 1346 #"short o" - not often in Hindi
letter \x0913 135 #"o"
letter \x0914 246 #"au"
replace \x200D
letter \x0915 13 # devanagari ka
letter \x0916 46 # devanagari kha
letter \x0917 1245 # devanagari ga
letter \x0918 126 # devanagari gha
letter \x0919 346 #devanagari aNgaa
letter \x091A 14 # devanagari cha
letter \x091B 16 # devanagari cha
letter \x091C 245 # devanagari ja
letter \x091D 356 # devanagari jha
letter \x091E 25 #devanagari yangaa
letter \x091F 23456 # devanagari ta
letter \x0920 2456 # devanagari tha
letter \x0921 1246 # devanagari da
letter \x0922 123456 # devanagari dha
letter \x0923 3456 #devanagari nna
letter \x0924 2345 # devanagari ta
letter \x0925 1456 # devanagari tha
letter \x0926 145 # devanagari da
letter \x0927 2346 # devanagari dha
letter \x0928 1345 #devanagari na
letter \x0929 5-1345 #devanagari na nukta
letter \x092A 1234 # devanagari pa
letter \x092B 124 # devanagari pha
letter \x092C 12 # devanagari ba
letter \x092D 45 # devanagari bha
letter \x092E 134 #devanagari ma
letter \x092F 13456 # devanagari yaa
letter \x0930 1235 # devanagari ra
noback letter \x0931 5-1235 # devanagari rra - not often used in Hindi
letter \x0932 123 # devanagari la
letter \x0933 456 #devanagari la
noback letter \x0934 5-12356 #devanagari la - not often used in Hindi
letter \x0935 1236 #devanagari va
letter \x0936 146 #devanagari sha
letter \x0937 12346 #devanagari ssha
letter \x0938 234 #devanagari sa
letter \x0939 125 #devanagari ha
letter \x093c 5 #devanagari Nukhta
letter \x093d 2 #devanagari avagrah
#--------
# matras
letter \x093E 345 #baraa aa ki matra
letter \x093F 24 #"chhoTi ii matra
letter \x0940 35 #"baRii ii matra
letter \x0941 136 #chhoTaa u matra
letter \x0942 1256 #"baRaa uu matra"
letter \x0943 5-1235 #"RRi matra"
letter \x0944 6-1235 #"lri matra"
noback letter \x0945 1346 #"e matra" - not often used in Hindi
letter \x0946 26 #"ai matra"
letter \x0947 15 #"e matra"
letter \x0948 34 #"ai matra"
letter \x0949 1346 #"o"
letter \x094A 1346 #"au"
letter \x094B 135 #"o matra"
letter \x094C 246 #"au matra"
letter \x094D 4 # Halant
letter \x0950 5-1256 #"devanagari sign for om"
letter \x1CDA 1356 #"strress sign swarita used in vedic text"
noback letter \x0951 1356 #"stress sign Uddatta used in vedic text" - not often used in Hindi
letter \x0952 12356 #"strress sign Anudatta used in vedic text"
letter \x0960 6-1235 #"vocalic rr"
letter \x0961 6-123 #"vocalic lla"
letter \x0962 5-123 #"vocalic la"
letter \x0963 6-123 #"vocalic ll"
#Nukhta
letter \x0958 5-13 #"Ka with Nukhta"
letter \x0959 5-46 #"kha with nukhta"
letter \x095A 5-1245 #"ga with nukhta"
letter \x095B 5-245 #"ja with nukhta"
letter \x095C 12456 #"da with nukhta"
letter \x095D 5-12456 #"dhaa with nukhta"
letter \x095E 5-124 #"fa with nukhta"
letter \x095F 5-13456 #"ya with nukhta"
always \x0915\x093C 5-13 #"ka with nukhta"
always \x0916\x093C 5-46 #"kha with nukhta"
always \x0917\x093C 5-1245 #"ga with nukhta"
always \x091c\x093C 5-245 #"ja with nukhta"
always \x0921\x093C 12456 #"da with nukhta"
always \x0922\x093C 5-12456 #"dhaa with nukhta"
always \x092B\x093C 5-124 #"fa with nukhta"
always \x092F\x093C 5-13456 #"ya with nukhta"
# poorn Viram and double poorn Viraam
punctuation \x0964 256 # "Poorn Viraam"
punctuation \x0965 256-256 # "Double Poorn Viraam"
punctuation \x0970 256 # "abbreviation sign"
# 3456 is letter 'NNA' and the number sign.
nofor midendword \x0923 3456 # Devanagari LETTER NNA
#--------
# digits
litdigit \x0966 245 # devanagari 0
litdigit \x0967 1 # devanagari 1
litdigit \x0968 12 # devanagari 2
litdigit \x0969 14 # devanagari 3
litdigit \x096A 145 # devanagari 4
litdigit \x096B 15 # devanagari 5
litdigit \x096C 124 # devanagari 6
litdigit \x096D 1245 # devanagari 7
litdigit \x096E 125 # devanagari 8
litdigit \x096F 24 # devanagari 9
digit \x0966 245 # devanagari 0
digit \x0967 1 # devanagari 1
digit \x0968 12 # devanagari 2
digit \x0969 14 # devanagari 3
digit \x096A 145 # devanagari 4
digit \x096B 15 # devanagari 5
digit \x096C 124 # devanagari 6
digit \x096D 1245 # devanagari 7
digit \x096E 125 # devanagari 8
digit \x096F 24 # devanagari 9
# ksha and gya
always \x0915\x094D\x0937\x094D 4-12345 #"ksha"
always \x091C\x094D\x091E 156 #"gyan"
always \x0915\x094D\x0937 12345 #"ksha"
#--------
# half characters
always \x0915\x094D 4-13 # devanagari ka
always \x0916\x094D 4-46 # devanagari kha
always \x0917\x094D 4-1245 # devanagari ga
always \x0918\x094D 4-126 # devanagari gha
always \x0919\x094D 4-346 #devanagari aNgaa
always \x091A\x094D 4-14 # devanagari ca
always \x091B\x094D 4-16 # devanagari cha
always \x091C\x094D 4-245 # devanagari ja
always \x091D\x094D 4-356 # devanagari jha
always \x091E\x094D 4-25 #devanagari yangaa
always \x091F\x094d 4-23456 # devanagari ta
always \x0920\x094D 4-2456 # devanagari tha
always \x0921\x094D 4-1246 # devanagari da
always \x0922\x094D 4-123456 # devanagari dha
always \x0923\x094D 4-3456 #devanagari nna
always \x0924\x094D 4-2345 # devanagari ta
always \x0925\x094D 4-1456 # devanagari tha
always \x0926\x094D 4-145 # devanagari da
always \x0927\x094D 4-2346 # devanagari dha
always \x0928\x094D 4-1345 #devanagari na
always \x0929\x094D 4-5-1345 #devanagari nnna dravidian character
always \x092A\x094D 4-1234 # devanagari pa
always \x092B\x094D 4-124 # devanagari pha
always \x092C\x094D 4-12 # devanagari ba
always \x092D\x094D 4-45 # devanagari bha
always \x092E\x094D 4-134 #devanagari ma
always \x092F\x094D 4-13456 # devanagari yaa
always \x0930\x094D 4-1235 # devanagari ra
always \x0931\x094D 4-12456 # devanagari rra
always \x0932\x094D 4-123 # devanagari la
always \x0933\x094D 4-456 #devanagari la
always \x0934\x094D 4-123 #devanagari la
always \x0935\x094D 4-1236 #devanagari va
always \x0936\x094D 4-146 #devanagari sha
always \x0937\x094D 4-12346 #devanagari ssha
always \x0938\x094D 4-234 #devanagari sa
always \x0939\x094D 4-125 #devanagari ha
always \x0958\x094D 4-5-13 #"Ka with Nukhta"
always \x0959\x094D 4-5-46 #"kha with nukhta"
always \x095A\x094D 4-5-1245 #"ga with nukhta"
always \x095B\x094D 4-5-245 #"ja with nukhta"
always \x095C\x094D 4-12456 #"da with nukhta"
always \x095D\x094D 4-5-12456 #"dhaa with nukhta"
always \x095E\x094D 4-5-124 #"fa with nukhta"
always \x095F\x094D 4-5-13456 #"ya with nukhta"
replace \x093C
always \x0915\x093C\x094D 4-5-13 #"ka with nukhta"
always \x0916\x093C\x094D 4-5-46 #"kha with nukhta"
always \x0917\x093C\x094D 4-5-1245 #"ga with nukhta"
always \x091c\x093C\x094D 4-5-245 #"ja with nukhta"
always \x0921\x093C\x094D 4-12456 #"da with nukhta"
always \x0922\x093C\x094D 4-5-12456 #"dhaa with nukhta"
always \x092B\x093C\x094D 4-5-124 #"fa with nukhta"
always \x092F\x093C\x094D 4-5-13456 #"ya with nukhta"
always \x0960\x094D 4-6-1235 #"vocalic rr"
always \x0961\x094D 4-6-123 #"vocalic lla"
always \x0962\x094D 4-5-123 #"vocalic la"
always \x0963\x094D 4-6-123 #"vocalic ll"
#------------
attribute ConsonantLetter \x0915\x0916\x0917\x0918\x0919\x091A\x091B\x091C\x091D\x091E\x091F\x0920\x0921\x0922\x0923\x0924\x0925\x0926\x0927\x0928\x092A\x092B\x092C\x092D\x092E\x092F\x0930\x0931\x0932\x0933\x0934\x0935\x0936\x0937\x0938\x0939\x093C
attribute DevanagariCharacters \x0902\x0906\x0907\x0908\x0909\x090A\x090D\x090E\x090F\x0910\x0911\x0912\x0913\x0914\x093E\x093F\x0940\x0941\x0942\x0943\x0944\x0945\x0946\x0947\x0948\x0949\x094A\x094B\x094C\x0915\x0916\x0917\x0918\x0919\x091A\x091B\x091C\x091D\x091E\x091F\x0920\x0921\x0922\x0923\x0924\x0925\x0926\x0927\x0928\x092A\x092B\x092C\x092D\x092E\x092F\x0930\x0931\x0932\x0933\x0934\x0935\x0936\x0937\x0938\x0939\x093C\x0964\x0965
# consonent followed by vowel but not matra
after ConsonantLetter always \x0906 1-345 #"baraa aa"
after ConsonantLetter always \x0907 1-24 #"chhoTi ii"
after ConsonantLetter always \x0908 1-35 #"baRii ii"
after ConsonantLetter always \x0909 1-136 #"chhoTaa u"
after ConsonantLetter always \x090A 1-1256 #"baRaa uu"
after ConsonantLetter always \x090B 1-5-1235 #"RRi"
after ConsonantLetter always \x090C 1-5-123 #"lri"
noback after ConsonantLetter always \x090D 1-34 #"Candra e" - not in Bharti 2.1 doc
noback after ConsonantLetter always \x090E 1-26 #"short e for dravidian" - not in Bharti 2.1 doc
after ConsonantLetter always \x090F 1-15 #"e"
after ConsonantLetter always \x0910 1-34 #"ai"
after ConsonantLetter always \x0911 1-1346 #"o as in office"
noback after ConsonantLetter always \x0912 1-1346 #"short o" - not often in Hindi
after ConsonantLetter always \x0913 1-135 #"o"
after ConsonantLetter always \x0914 1-246 #"au"
# Vowels in backtranslation
# For back translation, vowel after consonant is matra
after ConsonantLetter always \x093E 345 #baraa aa ki matra
after ConsonantLetter always \x093F 24 #"chhoTi ii matra
after ConsonantLetter always \x0940 35 #"baRii ii matra
after ConsonantLetter always \x0941 136 #chhoTaa u matra
after ConsonantLetter always \x0942 1256 #"baRaa uu matra"
after ConsonantLetter always \x0943 5-1235 #"RRi matra"
after ConsonantLetter always \x0944 6-1235 #"lri matra"
after ConsonantLetter always \x0946 26 #"ai matra"
after ConsonantLetter always \x0947 15 #"e matra"
after ConsonantLetter always \x0948 34 #"ai matra"
after ConsonantLetter always \x0949 1346 #"o"
after ConsonantLetter always \x094B 135 #"o matra"
after ConsonantLetter always \x094C 246 #"au matra"
#for back translation of poornViram or Devanagari danda. dot 256 after Devanagari characters will be Danda and not dot.
after DevanagariCharacters always \x0964 256 # Devanagari Danda/Poornviram
# Following needed in backtranslation to override rules in tables which may be included with this table
always \x092D\x0930 45-1235 # BHA + RA - needed to override ® in en-in-g1.ctb table
always \x0916 46 # KHA - needed to override . (period) in en-in-g1.ctb table
always \x091D 356 # JHA - needed to override " (close quotes) in en-in-g1.ctb table
always \x0916\x002C 46-2 # needed to override > (less-than sign) in en-in-g1.ctb table
always \x0916\x092E 46-134 # needed to override µ (micro sign) in en-in-g1.ctb table
always \x0916\x0915 46-13 # to override = (equals sign) in en-in-g1.ctb table
punctuation \x2019 356-3 # to override noback prefix in en-chardefs.cti table
punctuation \x2018 6-236 # to override noback prefix in en-chardefs.cti table
punctuation ! 235 # to override digit 6 in loweredDigits6Dots.uti table