7f0b598441bdf9cb1c26c6c8c0fc337bb5c354ae
Root cause: clean-up found paragraph breaks from the layout indent of pdftotext -layout
(columns, relative to the smallest indent in the whole chapter). Chapter 1 happened to
have a clean left margin; later pages are skewed and drift 1-2 columns, drop caps push
the first lines right by varying amounts, and some pages wrap text around a label, so
continuation lines were taken as paragraph starts (a blank line inside a sentence).
Fix (all deterministic, all logged to warnings.log):
- pdftext: read each line's position in points (pdftotext -bbox-layout) and attach it to
the layout line it belongs to (units() now carries 'geom'; merged/partial lines get none).
- cleanup: a paragraph starts when a line sits >= 4.5 pt right of the line before it, or
>= 2.5 pt lower than the page's normal line pitch. A line without a position or starting
in lower case never starts a paragraph. Text wrapped beside a drop cap is not a start.
Without positions the old indent rule is still used.
- cleanup: drop cap + small caps on ONE layout line ('F OR MANY YEARS') is repaired like
the two-line form (chapters 4 and 5).
- pageparts.header_zone: the running header is found even when text follows it without a
blank line, and the right-hand header (chapter title, page number sometimes misread as
't5' or 'a') is recognised from the chapter title.
- cleanup: all-capitals lines below the text are captions (removed); an all-capitals line
above the text is kept as a section heading in title case ('The Deferred Preface');
'Right: MARK TWIN' style captions removed; '5. JOY' labels set inside a sentence removed.
- cleanup: paragraph starting with a lone quote mark + lower-case word joins the paragraph
before it; paragraph-leading ' + capital becomes '"' (not elisions such as 'Tis); a bullet
in place of an opening quote becomes '"'; closing quote with no opening quote, and a '1'
that is probably the letter I, are logged only.
- cleanup: mid-line 'worth- while' joined only when certain, otherwise logged.
- tests: new _pipeline/tests/test_cleanup.py (36 tests, 27 fail on the previous code);
test_pipeline.py helper test_piece renamed make_test_piece so pytest stops collecting it.
Chapter 1 text is byte-identical to the approved pilot text.
Re-run for chapters 1-6: cleanup, figures, script, license. Text, script, warnings and
book.json for chapters 2-6 added.
Old Books
Archived scanned books from Walter Russell and Ty's library.
Source: archive.org / WalterRusselbooks
Contents
Top-level (11 files)
Home Study Course/ (12 files)
Units 1–12 (Lessons 1–48), one PDF per unit:
- Home Study Course Unit 1 Lessons 1,2,3,4 by Walter Russell.pdf — 3.2 MB
- Home Study Course Unit 2 Lessons 5,6,7,8 by Walter Russell.pdf — 2.6 MB
- Home Study Course Unit 3 Lessons 9,10,11,12 by Walter Russell.pdf — 3.5 MB
- Home Study Course Unit 4 Lessons 13,14,15,16 by Walter Russell.pdf — 3.2 MB
- Home Study Course Unit 5 Lessons 17,18,19,20 by Walter Russell.pdf — 3.4 MB
- Home Study Course Unit 6 Lessons 21,22,23,24 by Walter Russell.pdf — 2.8 MB
- Home Study Course Unit 7 Lessons 25,26,27,28 by Walter Russell.pdf — 2.2 MB
- Home Study Course Unit 8 Lessons 29,30,31,32 by Walter Russell.pdf — 2.1 MB
- Home Study Course Unit 9 Lessons 33,34,35,36 by Walter Russell.pdf — 1.4 MB
- Home Study Course Unit 10 Lessons 37,38,39,40 by Walter Russell.pdf — 2.3 MB
- Home Study Course Unit 11 Lessons 41,42,43,44 by Walter Russell.pdf — 3.5 MB
- Home Study Course Unit 12 Lessons 45,46,47,48 by Walter Russell.pdf — 6.2 MB
Total: 23 files, ~137 MB
Description
Languages
Python
95.1%
Shell
4.3%
Dockerfile
0.6%