# liblouis: Classical Hebrew, Fully cantillated, IHBC-McAllister
#
#-index-name: Hebrew, classical, cantillated
#-display-name: Classical Hebrew braille with full cantillation
#
#+language: hbo
#+language: oar
#+language: arc
#+language: jpa
#+language: obm
#+language: xdm
#+language: phn
#+type: literary
#+contraction: partial
#+system: IHBC-McAllister
#+dots: 6

#-license: lgpl-2.1

# This file 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 file 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 this file; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
# liblouis  comes with ABSOLUTELY NO WARRANTY.

# The first Hebrew Braille table hosted on LibLouis was developed by
# the Library for the Blind and the Ministry of Education in
# Israel. It is intended for use with Modern Hebrew.
# Please see World Braille usage 3rd edition, p. 74.
#
# The tables hbo.utb, hbo-cantillated.utb, and hbo-slim.utb are
# designed for Classical Hebrew (also called Biblical Hebrew).
# Classical Hebrew contains vowels, punctuation, and cantillation
# marks not used in Modern Hebrew.
#
# This table translates according to the system developed by
# Ray McAllister, Matthew Yeater, and Sarah Blake LaRose in 2014. See:
# <https://www.duxburysystems.com/biblical_scholar.htm>
# This system builds upon the International Hebrew Braille Code,
# maintaining all of its mappings for consonants and vowels and
# adding support for all remaining cantillation and punctuation marks.
# Thus, this code provides all information necessary for chanting
# the text as well as reading it.

# For the 1946 IHBC, see hbo.utb
# For Hebrew without dagesh and shewa, see hbo-slim.utb
#
# All three  tables forward-translate Hebrew and uncontracted English
# and back-translate Hebrew. They provide access to critical editions
# of the Hebrew Bible, such as Biblia Hebraica Stuttgartensia and
# Biblia Hebraicaa Quinta, as well as rabbinic and liturgical texts.
# They also work for cognate languages that used the common Northwest
# Semitic linear alphabet in antiquity, including Old and Imperial
# Aramaic, Moabite, Edomite, and Phoenician (as, for example, in
# the Corpus Inscriptionum Semiticarum and Kanaanäische und Aramäische
# Inschriften).

# This code was first implemented in LibLouis by Matthew Yeater and Paul Geoghegan and further
# developed by Eric J. Harvey with support from the national
# Endowment for the Humanities (USA) and Stanford University.
# Many thanks to Leonard de Ruijter and Sarah Blake LaRose for their
# help developing and testing the tables, and to Abby Howell for
# suggesting the inclusion of Yiddish characters and reviewing code.

#-maintainer: Paul Geoghegan <contact@envisionly.tech>
#-maintainer: Matityhau Yeshurun <yeatersink@gmail.com>
#-maintainer: Eric J. Harvey <eric@blindscholar.com>

#-author: Paul Geoghegan <contact@envisionly.tech>
#-author: Matityhau Yeshurun <yeatersink@gmail.com>
#-author: Eric J. Harvey <eric@blindscholar.com>

# Copyright (C) 2024 Matt Yeater and Paul Geoghegan
# Copyright (C) 2025 Eric J. Harvey

# Include common characters
include braille-patterns.cti
include hbo-cantillated-rules.uti

# punctuation back translation
nofor always ׃ 256
nofor always ־ 36
nofor always ֔ 2
nofor always ֑ 23

# Further includes
include digits6Dots.uti
include litdigits6Dots.uti
include latinLetterDef6Dots.uti
include en-ueb-chardefs.uti

# Braille indicators
capsletter 6
begcapsword 6-6
endcapsword 56
numsign 3456
numericmodechars .,
nocontractsign 56
nonumsign 56
numericnocontchars abcdefghij