hebrew_accents

Crates.iohebrew_accents
lib.rshebrew_accents
version0.0.2
created_at2025-04-04 09:26:46.47608+00
updated_at2025-08-27 09:18:28.951225+00
descriptionA library for finding, filtering, and displaying Hebrew accents, specifically focusing on the Tiberian accent system as documented by the Masoretes
homepage
repositoryhttps://github.com/Roestdev/hebrew_accents/
max_upload_size
id1619716
size311,780
Roest Dev (Roestdev)

documentation

https://docs.rs/crate/hebrew_accents/

README

hebrew_accents

Managing Masoretic Hebrew Accents

Project Status

This project is currently in the design/development mode.

Current Version: v0.0.1.

Current feautures:

  • fn contains_accent(SentenceContext, HebrewAccent) -> bool

Description

This crate will serve as a library for finding, filtering, and displaying Hebrew accents, specifically focusing on the Tiberian accent system as documented by the Masoretes.

Brief overview in the accents in the Tanach

The accents used in the Tanach have been (are) the subject of extensive scholarly research and discussion, with numerous books and articles written on the topic over the years. The system of accents employed in the Tanach is complex and nuanced, presenting a challenging area of study for scholars and researchers.

Several factors contribute to the complexity of Hebrew accents in the Tanach, including:

  • Accents have three roles at the same time:

    • To indicate of stressed syllables, but not always.
    • To indicate the syntactic relation in a sentence.
    • Intonation of the words, used for singing the sentence.
  • In the Tanach, there are two main systems of accents used: one for the majority of the books, known as the "Twenty-One Books" (which includes all the books except for the three poetic books), and another for the three poetic books of Psalms, Proverbs, and Job, known as "Three Books".

  • Within the main system there are two major categories of Masoretic accents:

    • Disjunctive accents
    • Conjunctive accents
  • Disjunctive accents are ordered according their relative importance.

  • Disjunctive accents may be organized hiarchial groups.

    • In the "Twenty-One Books," there are four groups of disjunctive accents, while the "Three Books" contain three groups.
  • The same (UTF-8) accent can be disjunctive in the "Twenty-One Books" and conjunctive in the "Three Books".

  • It is possible that one Unicode code-point can be mapped to different Hebrew accents.

Notes

  • Accents are sometimes referred to as Hebrew Cantilationmarks, taʿamei ha-mikra (טעמי המקרא) or teʿamim (טעמים).

  • Disjunctives are sometimes referred to as pausal or domini

  • Conjunctives are sometimes referred to as non-pausal or servi

More details can be found in the references section at the end of this document

Goal

The main goal is to write a library that can be used to learn the Masoretic Hebrew accents.

Sub-goals:

  • Identify Hebrew accents within the provided text.
  • Offer the ability to filter specific accents.
  • Offer an option to display only specific accents including all consonants.
  • Supply statistical information regarding the usage of the accents.

Non-Goals

  • Detect errors in the text related to accentuation rules.
  • Determine the type of text based on the identified accents.
  • Achieve absolute accuracy (100% correctness).

Examples

Usage contains_accent()

use hebrew_accents::SentenceContext;;
use hebrew_accents::Context;
use hebrew_accents::HebrewAccent;
use hebrew_accents::ProseAccent;

let newsc = SentenceContext::new("ויּ֣ר֖א עשׂ֔ו כּ֥י רע֖ות נ֣ות כּ֖נ֑ען בּעינ֖י יצח֥ק א֖בֽיו׃", Context::Prosaic,);
assert!(newsc.contains_accent(HebrewAccent::Prose(ProseAccent::Tiphcha)));
use hebrew_accents::SentenceContext;;
use hebrew_accents::Context;
use hebrew_accents::HebrewAccent;
use hebrew_accents::PoetryAccent;

let newsc = SentenceContext::new("יצחק אל־יע֓קב ׀ ויברך", Context::Poetic);
assert!(newsc.contains_accent(HebrewAccent::Poetry(PoetryAccent::ShalsheletGadol)));

Usage find_accent()

TODO

Releases

For an overview of released versions see releases.

How to install hebrew_accents

For installation see the hebrew_accents page at crates.io.

Safety

TODO

Panics

TODO

Errors

TODO

License

The hebrew_accents library is distributed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

References

Commit count: 47

cargo fmt