Gets all the characters in the Cluster
an array of sequenced Char objects
const text = new Text("הֲבָרֹות");
text.clusters[0].chars;
// [
// Char { original: "ה" },
// Char { original: "ֲ " }, i.e. \u{05B2} (does not print well)
// ]
Gets all consonant names in the cluster.
an array of the consonant names in the cluster
const text = new Text("הֲבָרֹות");
text.clusters[0].consonantNames;
// ["HE"]
This can only every return one consonant, as a Cluster
is defined by having only one consonant.
Though it is impossible to have two consonants in a cluster, this api is meant for consistency with vowelNames
and taamimNames
Gets all the consonant characters in the cluster
an array of the consonant characters in the cluster
const text = new Text("הֲבָרֹות");
text.clusters[0].consonants;
// ["ה"]
This can only every return one consonant, as a Cluster
is defined by having only one consonant.
Though it is impossible to have two consonants in a cluster, this api is meant for consistency with vowels
and taamim
Checks if the cluster contains a half-vowel
a boolean indicating if the cluster contains a half-vowel
const text = new Text("הֲבָרֹות");
text.clusters[0].hasHalfVowel;
// true
text.clusters[1].hasHalfVowel;
// false
The following characters are considered half-vowels:
Checks if the cluster contains a long vowel
a boolean indicating if the cluster contains a long vowel
const text = new Text("הֲבָרֹות");
text.clusters[0].hasLongVowel;
// false
text.clusters[1].hasLongVowel;
// true
The following characters are considered long vowels:
Checks if the cluster contains a meteg
a boolean indicating if the cluster contains a meteg
const text = new Text("נַפְשִֽׁי׃");
text.clusters[2].hasMetheg;
// truw
Checks if the following character is present and a sof pasuq does not follow it:
Checks if the cluster contains a meteg
a boolean indicating if the cluster contains a meteg
use hasMeteg
const text: Text = new Text("נַפְשִֽׁי׃");
text.clusters[2].hasMetheg;
// true
Checks if the following character is present and a sof pasuq does not follow it:
Checks if the cluster contains a sheva
a boolean indicating if the cluster contains a sheva
const text = new Text("מַלְכָּה");
text.clusters[0].hasSheva;
// false
text.clusters[1].hasSheva;
// true
Checks if the following character is present:
Checks if the cluster contains a sheva
a boolean indicating if the cluster contains a sheva
now use hasSheva
const text = new Text("מַלְכָּה");
text.clusters[0].hasSheva;
// false
text.clusters[1].hasSheva;
// true
Checks if the following character is present:
Checks if the cluster contains a short vowel
a boolean indicating if the cluster contains a short vowel
const text = new Text("מַלְכָּה");
text.clusters[0].hasShortVowel;
// true
text.clusters[2].hasShortVowel;
// false
The following characters are considered short vowels:
Checks if the cluster contains a silluq
a boolean indicating if the cluster contains a silluq
const text = new Text("הָאָֽרֶץ׃");
text.clusters[2].hasSilluq;
// true
Checks if the following character is present and a sof pasuq follows it:
Checks if the cluster contains a taamim character
a boolean indicating if the cluster contains a taamim character
const text = new Text("אֱלֹהִ֑ים");
text.clusters[0].hasTaamim;
// false
text.clusters[2].hasTaamim;
// true
The following characters are considered taamim:
Checks if the cluster contains any vowel character
a boolean indicating if the cluster contains any vowel character
const text = new Text("הֲבָרֹות");
text.clusters[0].hasVowel;
// true
text.clusters[4].hasVowel;
// false
According to {@page Syllabification}, a sheva is a vowel and serves as the nucleus of a syllable.
Because Cluster
is concerned with orthography, a sheva is not a vowel character.
Checks if the cluster is a mater letter
a boolean indicating if the cluster is a mater letter
const text = new Text("סוּסָה");
text.clusters[1].isMater; // the shureq
// false
text.clusters[3].isMater; // the heh
// true
Returns true
if Cluster.hasVowel
, Cluster.hasSheva
, Cluster.isShureq
, and Cluster.next.isShureq
are all false
and Cluster.text
contains a:
ה
preceded by a qamets, tsere, or segolו
preceded by a holemי
preceded by a hiriq, tsere, or segolThere are potentially other instances when a consonant may be a mater (e.g. a silent aleph), but these are the most common.
Though a shureq is a mater letter, it is also a vowel itself, and thus separate from isMater
.
Checks if the Cluster does not have Hebrew chars
a boolean indicating if the Cluster does not have Hebrew chars
* const text = new Text("(לְעֹלָם)");
text.clusters[0].isNotHebrew;
// true
Checks if the Cluster has any punctuation characters
a boolean indicating if the Cluster has any punctuation characters
const text = new Text("הָאָֽרֶץ׃");
text.clusters[3].isPunctuation;
// true
These are all the Hebrew characters of the category PUNCTUATION
Checks if the Cluster is a shureq
a boolean indicating if the Cluster is a shureq
const text = new Text("קוּם");
text.clusters[0].isShureq;
// false
text.clusters[1].isShureq;
// true
Returns true
if Cluster.hasVowel
, Cluster.hasSheva
, and Cluster.prev.hasVowel
are all false
and Cluster.text
is a vav followed by a dagesh (e.g. וּ
)
A shureq is a vowel itself, but contains no vowel characters (hence why hasVowel
cannot be true
).
This allows for easier syllabification.
Checks if the Cluster is a taam
a boolean indicating if the Cluster is a taam
const text = new Text("הָאָֽרֶץ׃");
text.clusters[3].isTaam;
// true
This is an alias for isPunctuation
.
Returns true
is the Cluster is any of the following characters:
The original string passed
the original string passed
The original string passed to the constructor that has not been normalized or sequenced. See text
The parent Syllable
of the cluster
const text = new Text("דָּבָר");
const lastCluster: Cluster = text.clusters[2];
lastCluster.text;
// "ר"
lastCluster.syllable.text;
// "בָר"
If created via the Text
class, there should always be a syllable.
Sets the parent Syllable
of the cluster
Gets all the taamim characters in the cluster
an array of taamim characters in the cluster
const text = new Text("אֱלֹהֶ֑֔יךָ");
text.clusters[2].taamim;
// ["֑", "֔"]
Gets all the names of the taamim characters in the cluster
an array of names of taamim characters in the cluster
const text = new Text("אֱלֹהֶ֑֔יךָ");
text.clusters[2].taam;
// ['ETNAHTA', 'ZAQEF_QATAN' ]
Gets text of the cluster
the text of the cluster that has been built up from the .text of its constituent Char
s
const text = new Text("הֲבָרֹות");
const clusters = text.clusters.map((cluster) => cluster.text);
// [
// "הֲ",
// "בָ",
// "רֹ",
// "ו",
// "ת"
// ]
The text has been normalized and sequenced — see original for text passed in the constructor.
Gets all the names of the vowel characters in the cluster
an array of names of vowel characters in the cluster
const text = new Text("הַֽ֭יְחָבְרְךָ");
text.clusters[0].vowelNames;
// ['PATAH']
It is exceedingly rare to find more than one vowel character in a cluster.
According to {@page Syllabification}, a sheva is a vowel and serves as the nucleus of a syllable.
Because Cluster
is concerned with orthography, a sheva is not a vowel character
Gets all the vowel characters in the cluster
an array of vowel characters in the cluster
const text = new Text("הַֽ֭יְחָבְרְךָ");
text.clusters[0].vowel;
// "\u{05B7}"
text.clusters[3].vowel;
// null
It is exceedingly rare to find more than one vowel character in a cluster.
According to {@page Syllabification}, a sheva is a vowel and serves as the nucleus of a syllable.
Because Cluster
is concerned with orthography, a sheva is not a vowel character
Checks if the cluster contains the consonant character of the name passed in
a boolean indicating if the cluster contains the consonant character of the name passed in
const text = new Text("הֲבָרֹות");
text.clusters[0].hasConsonantName("HE");
// true
text.clusters[0].hasConsonantName("BET");
// false
Checks if the cluster contains a taamim character
a boolean indicating if the cluster contains a taamim character
const text = new Text("הָאָ֖רֶץ");
text.clusters[0].hasTaamName("TIPEHA");
// true
Note: it only checks according to the character name, not its semantic meaning.
E.g. "כֵֽן׃" would be true
when checking for "METEG"
, not silluq
Checks if the cluster contains the vowel character of the name passed in
a boolean indicating if the cluster contains the vowel character of the name passed in
const text = new Text("הַיְחָבְרְךָ");
text.clusters[0].hasVowelName("PATAH");
// true
text.clusters[0].hasVowelName("HIRIQ");
// false
According to {@page Syllabification}, a sheva is a vowel and serves as the nucleus of a syllable.
Because Cluster
is concerned with orthography, a sheva is not a vowel character.
Generated using TypeDoc
A cluster is group of Hebrew character constituted by:
A [[
Syllable
]] is a linguistic unit, whereas aCluster
is an orthgraphic one. The wordיֹו֑ם
is only one syllable, but it has three clusters—יֹ
,ו֑
,ם
. Because Hebrew orthography is both sub and supra linear, clusters can be encoded in various ways. Every [[Char
]] is sequenced first for normalization, see the SBL Hebrew Font Manual, p.8.