Skip to content

aegean.scripts.lineara

lineara

Linear A script plugin (the undeciphered Minoan syllabary).

Linear A is undeciphered: word_to_phonetic applies the conventional sign→sound values (shared with Linear B) as a working hypothesis, never an attested reading. All Linear A output is exploratory — see the analysis modules' caveats and [[Data-and-Provenance]].

CommodityDef dataclass

CommodityDef(gloss: str, category: CommodityCategory)

A commodity logogram's standard gloss and broad category.

LinearA

Bases: Script

Linear A — the undeciphered Minoan syllabary (all analysis is exploratory).

commodity_head

commodity_head(token: str) -> str | None

The commodity head of a token, or None if it is not a known commodity logogram.

Strips a ligature modifier (OLE+UOLE), bracketed uncertainty (VIR+[?]VIR) and a sex marker (OVISmOVIS). A hyphenated token is a syllabic word, never a logogram, and returns None.

is_lexical_word

is_lexical_word(word: str) -> bool

Whether a hyphenated token is a candidate lexical word — a syllabic sign sequence — rather than a chain of logograms that merely tokenized with hyphens.

Word-level analyses (graphotactic surprisal, anomaly lists) want real words, so ligatures (+), bracketed damage, commodity heads, and the GORILA *400+ series (vessels, fractions, compound logograms — never word-internal syllabograms; the undeciphered syllabary candidates such as *301/*306 sit below 400) all disqualify a token. A token whose every part is a *NNN logogram is a logogram chain too.

is_undeciphered_logogram

is_undeciphered_logogram(token: str) -> bool

Whether a token is an undeciphered *NNN numbered logogram.

word_to_phonetic

word_to_phonetic(word: str, overrides: dict[str, str] | None = None) -> str

Convert a hyphenated Linear A word to its phonetic Latin form.

Unknown signs fall through lowercased; subscripted signs (RA₂, PA₃, ...) count as unknown unless the sign-values table carries a reading for that exact sign, never the plain series' value. overrides lets a researcher test alternative sign values (hypothesis testing).

load_sigla

load_sigla() -> Any

Load the SigLA-derived Linear A dataset as a Corpus (opt-in, fetched).

Fetches the sigla-corpus release asset (~1 MB JSON; sha256-pinned; CC BY-NC-SA 4.0 — the NonCommercial obligation passes to you) on first use, then loads offline from the cache. One Document per SigLA document, with typology/site/period metadata and the physical dimensions in the document name. Since the v2 asset, signs are grouped into words using SigLA's own word division: a multi-sign word like KA-U-DE-TA is one WORD token (signs in Token.signs), commodity ideograms are LOGOGRAM tokens, and Linear-A-only signs read *NNN. SigLA is a palaeographic database — it records sign occurrences and word division, not the cardinal-number quantities of the accounts — so fraction/unvalued signs carry no number and are skipped, and word division differs editorially from GORILA. Cite SigLA in academic work (see NOTICE).