22 lines
2.7 KiB
Markdown
22 lines
2.7 KiB
Markdown
---
|
||
name: character-as-image-hazard-image-drop-is-unsafe-for-transliteration-non-latin-works
|
||
description: "Some EPUBs render special characters (transliteration diacritics, non-Latin script) as inline images because the source couldn't encode them as text. The standard \"drop all images\" rule SILENTLY MUTILATES these works. Before dropping images in any graduation, check whether they are decorative or character-bearing. audit_cruft's md_image count is the tripwire."
|
||
metadata:
|
||
node_type: memory
|
||
type: feedback
|
||
originSessionId: 604b3d1d-6111-48f2-9683-2dfba02d5b6b
|
||
---
|
||
|
||
Discovered 2026-06-29 graduating Robert Alter's *The Book of Psalms* (Making batch). The pandoc'd EPUB showed 356 markdown images — NOT decorative. They were inline images standing in for **characters the source EPUB couldn't encode as text**:
|
||
|
||
- **Romanization diacritics** embedded mid-word in transliterated Hebrew: `` = **ḥ** (ḥet, ×115), `30a.jpg` = **ʾ** (aleph), `30b.jpg` = **ʿ** (ayin), `hdotbelow.jpg`, `b.jpg`… So "ḥoneini" was stored as "`![…h.jpg…]`oneini", "yeshuʿah" as "yeshu`![…30b…]`ah". Dropping the image → *oneini* / *yeshuah* — corrupted transliteration.
|
||
- **Full Hebrew-script words rendered glyph-by-glyph** as image *sequences* (`125a.jpg`=ה, `125b.jpg`=…, runs like 125a–125i, 441a–441l, 542a–542m). Reconstructing these needs Hebrew-letter identification + RTL assembly into Unicode Hebrew.
|
||
|
||
**Why:** The chamber's verbatim guarantee (spec §V, "never alter words") is violated by dropping character-bearing images. Worse, it's a PASS-BUT-FALSELY: after the image-drop the gold gate PASSES (cruft=0), so the corruption looks clean. For a sacred-text translation this is the worst failure shape.
|
||
|
||
**How to apply:**
|
||
1. **The tripwire is `audit_cruft`'s md_image / imgs count.** A book with many inline images is a STOP-and-look signal, not a "run --mode images" signal. The gate correctly REFUSES such a book (images count as cruft) — do not force it clean.
|
||
2. **Before dropping any images, inspect a sample** (`unzip -j SRC "*Images/x.jpg"` → Read it). Decorative (cover/logo/ornament/page-scan) → drop. Character-bearing (a letter/diacritic/script glyph) → it is CONTENT; build a glyph→Unicode map and SUBSTITUTE, never drop.
|
||
3. **Resolution is a dedicated philological task, not a batch step** — especially non-Latin script (needs the steward's Hebrew/Greek literacy + per-glyph verification). Alter is parked pending this. [[project-making-sequence-source-set]]
|
||
4. Other transliteration/diacritic/non-Latin-heavy sources in the Making set deserve the same pre-check. Kin to [[feedback-rank-on-fields-you-actually-write]] and the contamination-shape lessons: verify the assumption (image = decorative) before acting on it.
|