Fix polytonic-Greek mid-word truncation in CI-built PDF - #17
Merged
Conversation
The two consecutive `\setTransitionsFor` calls for GreekAndCoptic and GreekExtended overwrite each other's cross-pair token registers — the second call wins, so the GE→GAC boundary ends up firing `\normalfont`. On CI Linux the main font lacks polytonic Greek, so any GAC character following a GE character within a word (σ in νοῦς, ν in τὸ ἕν, σία in οὐσία) was being typeset in a font with no glyph for it and rendering as a missing-glyph gap. Null both directions of the GAC↔GE pair via \XeTeXinterchartoks so the Latin→Greek-font transition stays active across the boundary. Add a glossary-PDF artifact upload to ci-check.yml so the deployed PDF can be visually verified before merge, plus a temporary fc-list diagnostic step to record which fonts the CI runner actually resolves. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The fc-list output confirmed the precondition for the Greek-rendering fix (\setmainfont resolves to Latin Modern Roman with no polytonic Greek; \greekfont resolves to Noto Serif which has full coverage). Verification done — drop the diagnostic step. Keep the artifact upload. 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
GreekExtendedcharacter (the σ in νοῦς, ν in τὸ ἕν, σία in οὐσία, etc.) — visible in the deployed PDF but not in local builds.scripts/glossary/header.tex, two consecutive\setTransitionsForcalls (forGreekAndCopticandGreekExtended) overwrite each other's cross-pair token registers via\XeTeXinterchartoks. Whichever runs second wins, so the GE→GAC boundary ends up firing\normalfont— and on CI the main font lacks polytonic Greek, so trailing GAC characters render as missing glyphs.\setTransitionsForcalls, so\greekfont(set by the Latin→Greek entry transition) stays active across the boundary.glossary.pdfartifact upload to ci-check.yml so the deployed-style PDF can be downloaded and visually inspected on each PR (kept permanently). Also adds a temporaryfc-listdiagnostic step (will be removed in a follow-up commit before merge).Test plan
glossary-pdfartifact from this PR's checks pageto hen (τὸ ἕν),nous (νοῦς),psychē (ψυχή),hypostasis (ὑπόστασις),monad (μονάς),ousia (οὐσία)hyperousia (ὑπερουσία / ὑπερούσιος),apophasis (ἀπόφασις)noēsis (νόησις),gnosis (γνῶσις)theōria (θεωρία),epistrophē (ἐπιστροφή),henōsis (ἕνωσις),theōsis (θέωσις)eros (ἔρως),agape (ἀγάπη)plērōma (πλήρωμα),kenosis (κένωσις)fc-list :lang=eloutput in the CI log shows Noto Serif (precondition:\greekfontresolves to a font with full polytonic coverage)Debug font availabilitystep before merge🤖 Generated with Claude Code