Drop small caps for acronyms; ninth diacritic fix; verify forces a build

Abbreviations are now plain uppercase throughout (Sammay). The pass
small-capped an explicit whitelist, which could only ever be partial: on
the Abbreviations and Conventions page BFBS, LMS and MLCo stood
unconverted in one column beside small-capped BL, BMS, EIC, IOL, OUP,
SOAS and SPG, and "MS EUR 30" split a single shelfmark across two styles.

Completing the whitelist was the obvious fix and the wrong one. The
original is a typescript — a typewriter cannot set small caps — so the
source defines none, and rule 3 leaves every acronym as the plain
uppercase it prints. smallcaps() is now a documented no-op.

p0431: Rtusamhāra -> Ṛtusaṃhāra, verified at 700 dpi (dot under the R,
dot under the m). It was catchable because it broke the Bibliography's
own pattern: the author gives a title in full transliteration and its
anglicised form plain — "Ānanda Bājāra Patrikā (Ananda Bazar Patrika)" —
so a Bibliography entry with the marks stripped is an anomaly, while most
of the remaining flags there are her distinction rather than our error.

Makefile: verify now depends on `build`, not `pdf`. `pdf` is
timestamp-conditional, and a source edited while a build is running
leaves a PDF newer than the source it does not contain — make then skips
the rebuild and verify passes against stale output. That happened here,
and reprocheck caught it correctly twice while I twice misread it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
bdeshiandClaude Opus 5 committed 2026-09-15 02:12:42 +06:00
1 parent 1979450c82
commit 5f15c89a20
5 files changed
+29 -10

No files matched your search

+17 -5
View File
@@ -8,7 +8,7 @@ should have:
* ties, so a reference or a unit never breaks across a line
* en-dashes for numeric ranges (1778-1978, pp. 315-320)
* small caps for institutional acronyms (explicit whitelist below)
* (no small caps: see smallcaps() below — the pass was removed 2026-09-15)
* p./pp., pl./pls. and chapter references become links to the original page
they name — note that the original's page numbers are the targets, not the
edition's, since `\origpage{N}` plants `page.N` where original page N begins
@@ -22,8 +22,9 @@ import re, glob, os, sys
SRC, OUT = "src/pages", "work/pages"
ACRONYMS = ["CSBC", "MSS", "SOAS", "BMS", "IOL", "IOR", "OUP", "SPG", "EIC",
"DCL", "FRS", "BEN", "MS", "BL"]
# Kept only as a record of what the removed pass covered. See smallcaps().
_FORMER_ACRONYMS = ["CSBC", "MSS", "SOAS", "BMS", "IOL", "IOR", "OUP", "SPG",
"EIC", "DCL", "FRS", "BEN", "MS", "BL"]
def build_maps():
plate, chap, subsec = {}, {}, {}
@@ -140,8 +141,19 @@ def endashes(t):
return re.sub(r"(?<=\d)-(?=\d)", "--", t)
def smallcaps(t):
for a in ACRONYMS:
t = re.sub(r"(?<![A-Za-z0-9\\])%s(?![A-Za-z0-9])" % a, r"\\textsc{%s}" % a.lower(), t)
"""No-op since 2026-09-15 (Sammay): abbreviations stay plain uppercase.
The pass small-capped an explicit whitelist of institutional acronyms. That
whitelist could only ever be partial, and on the Abbreviations and
Conventions page the gap was plain: BFBS, LMS and MLCo sat in one column
against small-capped BL, BMS, EIC, IOL, OUP, SOAS and SPG. It also split a
shelfmark, setting a small-cap MS against a full-cap EUR in "MS EUR 30".
Completing the list was the obvious fix and is the wrong one. The original
is a typescript: a typewriter cannot set small caps, so the source defines
no abbreviation in them and every acronym on the page is plain uppercase.
Small caps were this edition's invention, and an inconsistent one. Rule 3 —
the original's typography stands — settles it."""
return t
def mbox_specimens(t):