Skip to content

Glossary revision pass + CI PDF text-extraction fix - #19

Merged
jbkjr merged 1 commit into
masterfrom
claude/romantic-bhaskara-d6f5d3
Apr 27, 2026
Merged

Glossary revision pass + CI PDF text-extraction fix#19
jbkjr merged 1 commit into
masterfrom
claude/romantic-bhaskara-d6f5d3

Conversation

@jbkjr

@jbkjr jbkjr commented Apr 27, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up pass on GPT-5.5 Pro's review of content/dhamma/glossary.md:

  • Strong factual catches — VI.c sense-base intro relabeling, turīya 'fourth state', shikantaza literal, sabhāva/svabhāva gloss split, three-marks-to-three-doors mapping tagged as path-system systematization (Paṭis. II 48 / Vism XXI.66–73), not EBT lexical fact.
  • Soft hedges — Part I "earliest stratum", taṇhā cultivation-split (now notes final eradication for both is path-insight), avyakta-in-Vedānta uniformity.
  • Optional addition — Part XV orientation-not-equivalence preamble.
  • CI PDF text-extraction fix\XeTeXgenerateactualtext=1 in scripts/glossary/header.tex. Local builds (Times New Roman main font) extract and ff/fi/fl ligatures cleanly; CI builds fall through to Latin Modern Roman, whose ToUnicode CMap is incomplete for those codepoints. The deployed PDF currently extracts the three-doors arrows as and "sufficient" / "affirms" / "affirmative" / "suffix" with their FB00-block ligature codepoints. ActualText markers bypass both issues without changing rendering.

Test plan

  • npm run check && npm run test clean (52/52)
  • npm run glossary:pdf builds locally; pdftotext -layout extracts , "sufficient", "affirms" cleanly with ActualText fix
  • CI build-check passes — verifies the CI-side ToUnicode/ligature fix on Linux + Latin Modern Roman
  • Post-merge: re-download deployed PDF and confirm pdftotext -layout content/dhamma/glossary.pdf - | grep -c "�" returns 0 and grep -c -E "ff|fi|fl" returns 0

🤖 Generated with Claude Code

GPT-5.5 Pro review follow-up: nine substantive content edits across the
glossary plus a XeLaTeX header fix for CI-only PDF extraction issues.

Content edits — strong factual catches:
- VI.c sense-base intro: fix paragraph that relabeled the same three terms
  "EBT" then "Abhi. framings" mid-paragraph. Disambiguate to "Abhi.
  systematization of the EBT triad."
- XIV turīya: drop "fourth state of consciousness" framing (slips back
  into the four-states series Māṇḍūkya 7 / Gauḍapāda explicitly disclaim).
- XII.e shikantaza: literal decomposition was "single-minded sitting"
  (interpretive paraphrase). Corrected to 只管 "only / just / nothing but"
  + 打坐 "sit."
- XI.a sabhāva: drop "inherent existence / ultimate existence" from the
  Theravāda Abhi. gloss — those are Madhyamaka target-vocabulary (Garfield,
  Gelug-Hopkins) and stay correctly at XII.b svabhāva.
- II / VI.a three-doors mapping: tagged as path-system systematization
  (Paṭisambhidāmagga II 48 / Vism XXI.66–73), not EBT lexical fact.
  Anchored at II suññatā with five satellite cross-refs tightened.

Content edits — soft hedges:
- I header: "the earliest stratum" → "earliest stratum within the Pāli
  canon — often treated as among the earliest recoverable layers."
- I taṇhā def-flag: cultivation-split sentence softened with "primarily"
  + explicit note that final eradication for both is path-insight.
- XIV avyakta: Vedānta absorption uniformity replaced with
  commentator/verse-variation framing.

Optional addition:
- Part XV: orientation-not-equivalence preamble.

CLAUDE.md inventory: three-doors mapping added to def-flag list.

CI PDF text-extraction fix:
- scripts/glossary/header.tex: \XeTeXgenerateactualtext=1.

Locally on macOS the main-font chain resolves to Times New Roman, which
has proper ToUnicode CMap entries for U+2194 (↔) and the ff/fi/fl
ligature codepoints — local extraction is clean. On CI the chain
(Times New Roman ✗ → FreeSerif ✗ → TeX Gyre Termes ✗) falls through
to Latin Modern Roman, whose ToUnicode coverage for those characters is
incomplete: the deployed PDF currently extracts the three-doors arrows
as U+FFFD replacement characters and "sufficient" / "affirms" /
"affirmative" / "suffix" with their FB00-block ligature codepoints.

\XeTeXgenerateactualtext=1 writes /ActualText markers into the PDF text
spans, so extraction returns the source characters regardless of glyph
mapping — fixing both the arrow and the ligature cases in one source-
level change with no font-fallback churn. Verified locally; CI behavior
will be confirmed via the PR build-check.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jbkjr
jbkjr merged commit 93a9068 into master Apr 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant