Extends
Properties
FEATURE
FEATURE : "syllable"
Additional orthographic feature:
"cluster"
is any combination of a single character and optionally a dagesh and vowel.
"syllable"
is any combination of a multiple characters and a single vowel and optionally a dagesh
"word"
covers everything else
Defined in
src/schema.ts:160
HEBREW
HEBREW : string
| RegExp
The Hebrew text — use consonants and vowels; do not use taamim
The text is parsed as a Regex so special characters like ?
and |
can be used
Inherited from
HebrewFeature
.HEBREW
Defined in
src/schema.ts:18
PASS_THROUGH?
optional
PASS_THROUGH : boolean
If true
passes the characters of the result of the TRANSLITERATION
callback to the be mapped to the schema.
If TRANSLITERATION
is a string, this does nothing.
Default
Examples
// with PASS_THROUGH true or undefined; the rest of the characters are passed through
// to regular mapping on the schema
heb . transliterate ( " בְּרֵאשִׁ֖ית " , {
HEBREW: " (?<![ \u{05B1} - \u{05BB}\u{05C7} ].*) \u{05B0} " ,
TRANSLITERATION : function ( syllable , _hebrew , schema ) {
const next = syllable . next ;
const nextVowel = next . vowelName === " SHEVA " ? " VOCAL_SHEVA " : next . vowelName
const vowel = schema [ nextVowel ] || "" ;
return syllable . text . replacenew RegExp ( " \u{05B0} " , " u " ; vowel );
// with PASS_THROUGH false, a custom mapping needs to be implemented,
// or Hebrew characters are returned for the rest of the `FEATURE`
heb . transliterate ( " בְּרֵאשִׁ֖ית " , {
HEBREW: " (?<![ \u{05B1} - \u{05BB}\u{05C7} ].*) \u{05B0} " ,
TRANSLITERATION : function ( syllable , _hebrew , schema ) {
const next = syllable . next ;
const nextVowel = next . vowelName === " SHEVA " ? " VOCAL_SHEVA " : next . vowelName
const vowel = schema [ nextVowel ] || "" ;
return syllable . text . replacenew RegExp ( " \u{05B0} " , " u " ; vowel );
This is generally most useful when the callback does not transliterate the entire FEATURE
Inherited from
PassThrough
.PASS_THROUGH
Defined in
src/schema.ts:81
TRANSLITERATION
TRANSLITERATION : string
| SyllableCallback
A string or callback to customize output
Examples
Using a string
transliterate ( " מְחִיּיָאֵ֗ל " , {
HEBREW: / יּ(?! [ \u {05B4}- \u {05BB}] ) / u , // a yod with a dagesh, not followed by a vowel character
Using a callback
transliterate ( " נָעֳמִי֙ " , {
TRANSLITERATION : ( syllable ) => {
// If the syllable contains a qamets qatan character (U+05C7), check the text of the next syllable
const next = syllable ?. next ?. value ?. text ;
// If the next syllable includes a hateph qamets, then replace the qamets qatan with a regular qamets
if ( next && next . includes ( " \u05B3 " )) {
return syllable . text . replace ( " \u{05C7} " , " \u{05B8} " );
Defined in
src/schema.ts:201