"""Typography and layout: invisible characters, CSS emphasis, scene breaks, boxes, styles, page markers.""" from conftest import Book, Doc ZW, SHY = "​", "­" def test_p6_invisible_characters_removed_outside_code(convert): body = (f"

Kapitel 1.{ZW}1

Lese{SHY}rinnen und 1.{ZW}1 sowie{ZW}Wort.

" f"
a{ZW}b

x{SHY}y

") run = convert(Book(docs=[Doc("c.xhtml", body)])) text = run.chapter("001") assert "Leserinnen und 1.1 sowieWort." in text assert "# Kapitel 1.1" in text and 'chapter_title: "Kapitel 1.1"' in text assert f"a{ZW}b" in text and f"x{SHY}y" in text # code stays verbatim assert run.report["text_cleanup"]["invisible_chars_removed"] == 4 kept = convert(Book(docs=[Doc("c.xhtml", body)]), "--keep-invisible-chars").chapter("001") assert f"Lese{SHY}rinnen" in kept