%% This OTP, part of the Makor2 package, converts to the dagesh form %% where appropriate. There are two mechanisms for adding a dagesh: %% (1) an asterisk following the letter; and (2) doubling the letter. input: 1; output: 1; aliases: AST = 42 ; RAW_LETTER = (96-122) ; ALIF = 96 ; VET = 97 ; GIMEL = 98 ; DALET = 99 ; HE = 100 ; VAV = 101 ; ZAYIN = 102 ; HET = 103 ; TET = 104 ; YOD = 105 ; FINALKHAF = 106 ; KHAF = 107 ; LAMED = 108 ; FINALMEM = 109 ; MEM = 110 ; FINALNUN = 111 ; NUN = 112 ; SAMEKH = 113 ; AYIN = 114 ; FINALPHE = 115 ; PHE = 116 ; FINALTSADI = 117 ; TSADI = 118 ; QOF = 119 ; RESH = 120 ; SHIN = 121 ; SAV = 122 ; SHINDOT = 176 ; SINDOT = 177 ; expressions: %% First, the asterisk convention... {RAW_LETTER}{AST} => #(\1 + 48) ; {SHINDOT}{AST} => 192 ; {SINDOT}{AST} => 193 ; %% Now some special cases (more-or-less): {SHIN}{SHINDOT} => 192 ; {SINDOT}{SHIN} => 193 ; %% Finally, the doubling convention. {ALIF}{ALIF} => #(\1 + 48) ; {VET}{VET} => #(\1 + 48) ; {GIMEL}{GIMEL} => #(\1 + 48) ; {DALET}{DALET} => #(\1 + 48) ; {HE}{HE} => #(\1 + 48) ; {VAV}{VAV} => #(\1 + 48) ; {ZAYIN}{ZAYIN} => #(\1 + 48) ; {HET}{HET} => #(\1 + 48) ; {TET}{TET} => #(\1 + 48) ; {YOD}{YOD} => #(\1 + 48) ; {FINALKHAF}{FINALKHAF} => #(\1 + 48) ; {KHAF}{KHAF} => #(\1 + 48) ; {LAMED}{LAMED} => #(\1 + 48) ; {FINALMEM}{FINALMEM} => #(\1 + 48) ; {MEM}{MEM} => #(\1 + 48) ; {FINALNUN}{FINALNUN} => #(\1 + 48) ; {NUN}{NUN} => #(\1 + 48) ; {SAMEKH}{SAMEKH} => #(\1 + 48) ; {AYIN}{AYIN} => #(\1 + 48) ; {FINALPHE}{FINALPHE} => #(\1 + 48) ; {PHE}{PHE} => #(\1 + 48) ; {FINALTSADI}{FINALTSADI}=> #(\1 + 48) ; {TSADI}{TSADI} => #(\1 + 48) ; {QOF}{QOF} => #(\1 + 48) ; {RESH}{RESH} => #(\1 + 48) ; {SHIN}{SHIN} => #(\1 + 48) ; {SAV}{SAV} => #(\1 + 48) ;