# liblouis: common rules for Classical/Biblical Hebrew # #-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. # This table contains rules that are shared by all three Classical/ # Biblical Hebrew systems: the International Hebrew Braille Code # (hbo-ihbc.uti and hbo.utb), the fully cantillated IHBC-McAllister # system (hbo-cantillated.uti and hbo-cantillated.utb), and the # Katz system with no shewas or dageshes (hbo-slim.uti and # hbo-slim.utb). # Developed by Eric J. Harvey with support from the national # Endowment for the Humanities (USA) and Stanford University. # Many thanks to Leonard de Ruijter, Sarah Blake LaRose, Matthew # Yeater, and Paul Geoghegan for their help developing and testing the # tables, and to Abbie Howell for suggesting the inclusion of Yiddish # characters and reviewing code. # Copyright (C) 2025 Eric J. Harvey #-copyright: 2025, Eric J. Harvey #-maintainer: Eric J. Harvey <eric@blindscholar.com> #-author: Eric J. Harvey <eric@blindscholar.com> # Include common characters include he-common-consonants.uti include he-common-vowels-ihbc.uti include spaces.uti # Eliminate direction-switching characters noback correct "" ? # Left-to-right mark noback correct "" ? # Right-to-left mark noback correct "" ? # left-to-right override noback correct "" ? # Right-to-left override # In rules below, attribute $x is %vowel, defined in he-common-vowels-ihbc.uti # Attribute $y is %extcant, defined in he-common-vowels-ihbc.uti # character reordering ## Move dagesh before nearest preceding consonant noback correct [$l]"ּ" "ּ"* noback correct [$l$xy.]"ּ" "ּ"* ## Move shin and sin dot next to sin/shin consonant ## Prerequisite for “always” rule in he-common-consonants.uti ## to work with vocalized texts. noback correct [$xy.]"ׂ" "ׂ"* noback correct [$xy.]"ׁ" "ׁ"* # Contracting dagesh for bet, kaf, pe, and tav noback context "ּב" @12 noback context "ּכ" @13 noback context "ּך" @13 noback context "ּפ" @1234 noback context "ּף" @1234 noback context "ּת" @1256 # Contracting ultralong vowels (vowel+mater lectionis) attribute majCant \x05bc\x05bd ## Holam-waw and consonantal waw noback pass3 !$xyz[@2456-135a] @246 noback pass3 [@2456-135a]$sp @246 noback pass3 [@2456-135a]~ @246 noback pass3 [@135a-2456]%hebLetter @246 ## Shuruq and consonantal waw noback context "ּו" @346 noback pass2 [@346]$xy @5a-2456 ## Hiriq Yod noback pass3 @24a-245 @35 Hiriq-yod ## Contract tsere-yod noback pass3 @34a-245 @3456 ## Shin and sin with dagesh noback correct ["ש"$xy.]"\x05bc\x05c2" "\x05bc\x05c2"* noback correct ["ש"$xy.]"\x05bc\x05c1" "\x05bc\x05c1"* noback always \x05c1\x05e9 146 noback always \x05c2\x05e9 156 noback pass2 @146-5a @5a-146 noback pass2 @156-5a @5a-156 ## Changing dagesh-he to mappiq noback pass3 @5a-125 @45-125 # Back-translation rules ## dagesh nofor pass2 @5[$l] *@5 ## Reverse mappiq nofor pass3 @45-125 @5-125 ## Uncontract hiriq-yod nofor pass4 @35 @24-245 Hiriq-yod ## Uncontract tsere-yod nofor pass4 $lxy[@3456] @34-245 ## Final letters nofor correct _$lS"כ"~ "ך" nofor correct _$lS"כ"[$sp] "ך"* nofor correct _$lS"כ"[$S.$sp] "ך"* nofor correct _$lS"כ"[$S.]~ "ך"* nofor correct _$lS"מ"~ "ם" nofor correct _$lS"מ"[$sp] "ם"* nofor correct _$lS"מ"[$S.$sp] "ם"* nofor correct _$lS"מ"[$S.]~ "ם"* nofor correct _$lS"נ"~ "ן" nofor correct _$lS"נ"[$sp] "ן"* nofor correct _$lS"נ"[$S.$sp] "ן"* nofor correct _$lS"נ"[$S.]~ "ן"* nofor correct _$lS"פ"~ "ף" nofor correct _$lS"פ"[$sp] "ף"* nofor correct _$lS"פ"[$S.$sp] "ף"* nofor correct _$lS"פ"[$S.]~ "ף"* nofor correct _$lS"צ"~ "ץ" nofor correct _$lS"צ"[$sp] "ץ"* nofor correct _$lS"צ"[$S.$sp] "ץ"* nofor correct _$lS"צ"[$S.]~ "ץ"* ## Holam-waw and shuruq nofor always וּ 346 nofor always וֹ 246