Glossary revision pass + CI PDF text-extraction fix - #19
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up pass on GPT-5.5 Pro's review of
content/dhamma/glossary.md:\XeTeXgenerateactualtext=1inscripts/glossary/header.tex. Local builds (Times New Roman main font) extract↔andff/fi/flligatures 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 testclean (52/52)npm run glossary:pdfbuilds locally;pdftotext -layoutextracts↔, "sufficient", "affirms" cleanly with ActualText fixpdftotext -layout content/dhamma/glossary.pdf - | grep -c "�"returns 0 andgrep -c -E "ff|fi|fl"returns 0🤖 Generated with Claude Code