#-index-name: Yakut
#-display-name: Yakut braille
#
#+language: sah
#+type: literary
#+dots: 6
#+contraction: no
#+direction: forward

#  Copyright (C) 2021 Andrey Yakuboy <braille@yakuboy.ru>
#
#  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/>.
#
#-maintainer: Andrey Yakuboy

# The Yakut braille code was created by Ivan Gorny (the real name is
# Ivan Nikolaevich Egorov) and accepted in 1992. It was described in
# "Braille codes of the national languages of Russia" (a collection of
# materials); by N.D. Shaposhnikova; Moscow, 2017
# <http://liblouis.io/braille-specs/russian>.

# The Yakut braille code is based on the Russian braille and includes 5 additional letters,
# namely Ҕ, Ҥ, Ө, Һ and Ү. Like in ru-litbrl.ctb, the
# following definitions have dot 9 set to make them distinguishable
# from the Latin letters.
lowercase \x0495 14569
lowercase \x04a5 134569
lowercase \x04e9 1269
lowercase \x04bb 1469
lowercase \x04af 12369

base uppercase \x0494 \x0495
base uppercase \x04a4 \x04a5
base uppercase \x04e8 \x04e9
base uppercase \x04ba \x04bb
base uppercase \x04ae \x04af

# As the definition of the Yakut letter 'Ө' conflicts with parentheses, the definitions of parentheses should be changed
punctuation ( 2356
punctuation ) 2356

include ru-litbrl.ctb

# Extend classes defined in ru-litbrl.ctb
attribute uppercyrillic \x0494\x04a4\x04e8\x04ba\x04ae
attribute lowercyrillic \x0495\x04a5\x04e9\x04bb\x04af

# In spite of conflicts of letters and parentheses, in math text parentheses should be marked like in the Russian braille
# The correct opcode is used to avoid conflicts with rules in ru-litbrl.ctb
noback correct $m["("] "\x2823"#4=1                # \x2823 is the dots 126
noback correct ["("]$m "\x2823"#4=1
noback correct $d["("] "\x2823"#4=1
noback correct ["("]$d "\x2823"#4=1
noback correct #4=1[")"] "\x281c"#4=0                # \x281c is the dots 345
noback correct $m[")"] "\x281c"#4=0
noback correct [")"]$m "\x281c"#4=0
noback correct $d[")"] "\x281c"#4=0
noback correct [")"]$d "\x281c"#4=0