From 9dfa264f2941f1ca38eff08b6157a94d332cffbd Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 16:01:39 +0200 Subject: feat(lang): traditions.ini, and its install rule Which book a reference denotes does not vary by language, so it lives in its own file rather than in la.ini beside [weekday]. Six mappings, not four: Osee/Jonas are the same question as 3 Kings in transliteration form. The install rule is added in the same commit deliberately -- lang/ once shipped without one, so the feature worked from the source tree and was broken once installed. bin/dune gains colitur_citation as a linked library, needed for the new loader; lang_list's directory scan now excludes traditions.ini, which is not a language file and does not parse as one. --- lang/dune | 3 ++- lang/traditions.ini | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 lang/traditions.ini (limited to 'lang') diff --git a/lang/dune b/lang/dune index 057e95a..929dd42 100644 --- a/lang/dune +++ b/lang/dune @@ -14,4 +14,5 @@ (package colitur) (files (la.ini as lang/la.ini) - (en.ini as lang/en.ini))) + (en.ini as lang/en.ini) + (traditions.ini as lang/traditions.ini))) diff --git a/lang/traditions.ini b/lang/traditions.ini new file mode 100644 index 0000000..e2d53ab --- /dev/null +++ b/lang/traditions.ini @@ -0,0 +1,21 @@ +; lang/traditions.ini -- which book a reference DENOTES. +; +; Separate from a language file's [bible] section, which decides what a book +; is CALLED: naming varies by language, this does not. "Modern numbering" is +; the same decision in Latin, Polish and English. +; +; The DEFAULT is [vulgate], as the 1962 Missal prints it. colitur never +; renumbers unless a tradition is chosen explicitly. +; +; Ids follow the Vulgate structure, because that is what the shipped data is. + +[vulgate] +; identity -- deliberately empty + +[modern] +kings_3 = kings_1 +kings_4 = kings_2 +esdras_2 = nehemiah +ecclesiasticus = sirach +osee = hosea +jonas = jonah -- cgit v1.3 From 263d0d889073d214229aef9655d3db29540c0d12 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 16:05:34 +0200 Subject: fix(citation): complete the modern tradition, and test the shipped file Apocalypse -> Revelation was missing from [modern] while `revelation` was already a declared tradition target, so the target existed with nothing mapping onto it. Same Vulgate-to-modern shape as Ecclesiasticus -> Sirach. The injectivity test used to hand-copy the mapping table, which asserted things about the copy and nothing about the artifact: a mapping added to traditions.ini and forgotten in the test would have passed. It now reads lang/traditions.ini and additionally asserts that [vulgate] is empty -- an entry there would silently renumber the DEFAULT, the one thing this design promises never happens -- and that no declared target is left unreachable. Mutation-proved three ways: declaring an unused target, deleting a mapping, and adding an entry to [vulgate] each redden it, the first two naming the offending book. --- lang/traditions.ini | 1 + test/test_citation.ml | 44 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 4 deletions(-) (limited to 'lang') diff --git a/lang/traditions.ini b/lang/traditions.ini index e2d53ab..46f6ee7 100644 --- a/lang/traditions.ini +++ b/lang/traditions.ini @@ -19,3 +19,4 @@ esdras_2 = nehemiah ecclesiasticus = sirach osee = hosea jonas = jonah +apocalypse = revelation diff --git a/test/test_citation.ml b/test/test_citation.ml index d9be86e..1efaa10 100644 --- a/test/test_citation.ml +++ b/test/test_citation.ml @@ -180,13 +180,49 @@ let test_every_data_file_token_resolves () = always a typo -- it would silently merge two books -- so this asserts the mapping is injective, not merely that every id is known. *) let test_modern_tradition_is_injective () = - let fields = - [ ("kings_3", "kings_1"); ("kings_4", "kings_2"); - ("esdras_2", "nehemiah"); ("ecclesiasticus", "sirach"); - ("osee", "hosea"); ("jonas", "jonah") ] + (* READ the shipped file. An earlier version of this test hand-copied the + table, which asserted things about the copy and nothing at all about the + artifact -- a mapping added to traditions.ini and forgotten here would + have passed. *) + let text = + let ic = open_in_bin "../lang/traditions.ini" in + let s = really_input_string ic (in_channel_length ic) in + close_in ic; s in + let sections = + match Colitur_kernel.Overlay_ini.parse_sections text with + | Ok ss -> ss + | Error e -> Alcotest.failf "lang/traditions.ini: %s" e + in + let section name = + List.filter_map + (fun (sc : Colitur_kernel.Overlay_ini.section) -> + if sc.Colitur_kernel.Overlay_ini.name = name then + Some sc.Colitur_kernel.Overlay_ini.fields + else None) + sections + |> List.concat + in + (* [vulgate] must be the identity: an entry there would silently renumber + the DEFAULT, which is the one thing this design promises never happens. *) + Alcotest.(check (list (pair string string))) "vulgate is identity" [] + (section "vulgate"); + let fields = section "modern" in + Alcotest.(check bool) "modern is not empty" true (fields <> []); Alcotest.(check (list string)) "all ids known" [] (B.unknown_fields fields); + (* every declared tradition target is actually reachable -- an unused target + is either a forgotten mapping or dead weight *) let targets = List.map snd fields in + (* [B.tokens] is (spelling, id) pairs, so membership of an ID is a lookup + over the VALUES, not [mem_assoc] over the keys. Getting that backwards + flags every ordinary book as an unused target. *) + let cited = List.map (fun (_, i) -> B.to_string i) B.tokens in + List.iter + (fun id -> + let n = B.to_string id in + if (not (List.mem n cited)) && not (List.mem n targets) then + Alcotest.failf "%s is a declared target no tradition maps onto" n) + B.all; let uniq = List.sort_uniq compare targets in Alcotest.(check int) "no two ids share a target" (List.length targets) (List.length uniq) -- cgit v1.3 From d68feb04f71c3dea3b59726e2ffca225d99eaa35 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 17:14:42 +0200 Subject: feat(lang): Latin and English book names, and the shipped sigla styles la.ini and en.ini both gain [sigla] (the current Vulgate/Latin punctuation convention, byte-identical to Render.default_style) and [bible] (a .full and .abbr row for every id in Book.all -- 45 cited ids plus the 7 tradition targets, 52 total). Shipping [sigla] changes no output, asserted by the full test run. Shipping [bible] does change rendered book names, which is the point. la.ini's titles are sourced from docs/research/scan1.txt/scan2.txt (the 1962 Missal scans), each row citing the line its incipit pattern was read from. Six pairs (kings_3/4, corinthians_1/2, thessalonians_1/2, timothy_1/2, peter_1/2) share one Missal incipit and differ only in the sourced .abbr, matching what the primary text itself does. Three ids (proverbs, song_of_songs, ecclesiasticus) and the seven tradition targets are marked UNSOURCED and fall back to the data's own spelling, per this project's central rule against inventing a Latin title. Re-running the task's own sourcing note against the scans, counting every hit rather than eyeballing a frequency-sorted list, found nine of its NOT-sourced verdicts were undercounted (a single clean hit, buried under higher-frequency matches): Galatians, Colossians, both Thessalonians, both Peter, Malachi, Numbers, Jonas, Osee and Esdras all have a clean incipit in the scans and are sourced here. The note's other three verdicts stand, confirmed independently. Ecclesiasticus is not simply unfound: this Missal reuses Wisdom's own Lectio libri Sapientiae incipit for Ecclesiasticus readings too (both were anciently classed as one Sapiential group), so using it for Ecclesiasticus would misidentify the book, not merely abbreviate it -- recorded in that row's own comment. en.ini's [bible] is filled in full, not left partial the way [celebration] is: without it, a Vulgate-numbered id would fall through the [meta] fallback chain to la.ini's Latin name, not merely a less complete English one. Traditional Douay-Rheims names for the Vulgate ids (3 Kings, Osee, Ecclesiasticus, Isaias, Apocalypse), modern names for the seven tradition targets, since --sigla-tradition modern is the reader asking for modern numbering. test_lang_coverage.ml gains test_every_book_named, asserting every Book.all id has both forms in la.ini -- the check that catches a forgotten tradition target, since nothing else in the suite ever names them. Shipping real book names changes 11 golden template renders (Render/golden) and several test/cli.t examples that used to demonstrate the pre-Task-10 default-spelling fallback; both are updated to the new, correct output, each line checked against a fresh render before promoting. --- lang/en.ini | 150 ++++++++++++++++++ lang/la.ini | 375 +++++++++++++++++++++++++++++++++++++++++++++ test/cli.t | 37 +++-- test/golden/grid-2027.html | 24 +-- test/golden/grid-2027.ms | 30 ++-- test/golden/grid-2027.tex | 24 +-- test/golden/grid-2027.typ | 30 ++-- test/golden/ordo-2027.adoc | 30 ++-- test/golden/ordo-2027.html | 30 ++-- test/golden/ordo-2027.md | 30 ++-- test/golden/ordo-2027.ms | 30 ++-- test/golden/ordo-2027.tex | 30 ++-- test/golden/ordo-2027.txt | 30 ++-- test/golden/ordo-2027.typ | 30 ++-- test/test_lang_coverage.ml | 25 +++ 15 files changed, 730 insertions(+), 175 deletions(-) (limited to 'lang') diff --git a/lang/en.ini b/lang/en.ini index 98b3120..7f90de6 100644 --- a/lang/en.ini +++ b/lang/en.ini @@ -854,3 +854,153 @@ vivian = St. Vivian wenceslaus = St. Wenceslaus william = St. William zephyrinus = St. Zephyrinus + +[sigla] +; Same convention as lang/la.ini's own [sigla] -- see that file's header +; note for why shipping this changes no output (byte-identical to +; Colitur_citation.Render.default_style). Kept in step with la.ini +; deliberately, not because English needs a different punctuation +; convention of its own: Task 9 Step 5 asserted both are the SAME shipped +; convention. +book = abbr +book_sep = " " +chapter_verse = {chapter}:{verses} +range = {first}-{last} +part_sep = "; " +verse_sep = ", " + +[bible] +; Task 10. Traditional English (Douay-Rheims) names for every id in +; Colitur_citation.Book.all (book.ml), needed for a real reason, not +; completeness for its own sake: [meta] fallback = la (above) means that +; WITHOUT an entry here, a book name would resolve through the chain to +; lang/la.ini's own Latin name -- so `--lang en` would print "Liber Genesis" +; rather than an English name. That is the opposite of what every other +; section in this file relies on (a missing entry degrading to a WORSE but +; still-usable form); for book names specifically, the fallback's target +; language is wrong, not merely less complete, so this section is filled in +; full rather than left partial the way [celebration] deliberately is (see +; this file's own header note). +; +; English is not a liturgical source language for the 1962 Missal (this +; file's own header note again), so nothing here carries a docs/research/ +; scan citation the way lang/la.ini's [bible] rows do -- these are the +; standard, well-attested Douay-Rheims book names, not a primary-source +; transcription. Two spelling conventions, matching the id's own origin: +; - a Vulgate-numbered id (book.ml's `table`) gets its TRADITIONAL +; Douay-Rheims English name -- "3 Kings" not "1 Kings", "Isaias" not +; "Isaiah", "Apocalypse" not "Revelation" -- because the shipped data +; IS Vulgate, and a reader who has not chosen `--sigla-tradition +; modern` should see the naming convention that actually matches the +; numbering they are reading. +; - a tradition target (book.ml's `tradition_targets`) gets the MODERN +; name it exists to reach -- "1 Kings", "Hosea", "Revelation" -- since +; selecting `--sigla-tradition modern` is exactly the reader asking for +; modern numbering, and modern numbering pairs with modern naming. +genesis.full = Genesis +genesis.abbr = Gen +exodus.full = Exodus +exodus.abbr = Ex +leviticus.full = Leviticus +leviticus.abbr = Lev +numbers.full = Numbers +numbers.abbr = Num +kings_3.full = 3 Kings +kings_3.abbr = 3 Kgs. +kings_4.full = 4 Kings +kings_4.abbr = 4 Kgs. +esdras_2.full = 2 Esdras +esdras_2.abbr = 2 Esd. +tobit.full = Tobias +tobit.abbr = Tob +judith.full = Judith +judith.abbr = Jth +esther.full = Esther +esther.abbr = Esth +proverbs.full = Proverbs +proverbs.abbr = Prov +song_of_songs.full = Canticle of Canticles +song_of_songs.abbr = Cant. +wisdom.full = Wisdom +wisdom.abbr = Wis +ecclesiasticus.full = Ecclesiasticus +ecclesiasticus.abbr = Ecclus +isaiah.full = Isaias +isaiah.abbr = Isa +jeremiah.full = Jeremias +jeremiah.abbr = Jer +ezekiel.full = Ezechiel +ezekiel.abbr = Ezech +daniel.full = Daniel +daniel.abbr = Dan +osee.full = Osee +osee.abbr = Osee +joel.full = Joel +joel.abbr = Joel +jonas.full = Jonas +jonas.abbr = Jonas +malachi.full = Malachias +malachi.abbr = Mal +matthew.full = Matthew +matthew.abbr = Matt +mark.full = Mark +mark.abbr = Mark +luke.full = Luke +luke.abbr = Luke +john.full = John +john.abbr = John +acts.full = Acts of the Apostles +acts.abbr = Acts +romans.full = Romans +romans.abbr = Rom +corinthians_1.full = 1 Corinthians +corinthians_1.abbr = 1 Cor +corinthians_2.full = 2 Corinthians +corinthians_2.abbr = 2 Cor +galatians.full = Galatians +galatians.abbr = Gal +ephesians.full = Ephesians +ephesians.abbr = Eph +philippians.full = Philippians +philippians.abbr = Phil +colossians.full = Colossians +colossians.abbr = Col +thessalonians_1.full = 1 Thessalonians +thessalonians_1.abbr = 1 Thess +thessalonians_2.full = 2 Thessalonians +thessalonians_2.abbr = 2 Thess +timothy_1.full = 1 Timothy +timothy_1.abbr = 1 Tim +timothy_2.full = 2 Timothy +timothy_2.abbr = 2 Tim +titus.full = Titus +titus.abbr = Titus +hebrews.full = Hebrews +hebrews.abbr = Heb +james.full = James +james.abbr = Jas +peter_1.full = 1 Peter +peter_1.abbr = 1 Pet +peter_2.full = 2 Peter +peter_2.abbr = 2 Pet +john_1.full = 1 John +john_1.abbr = 1 John +apocalypse.full = Apocalypse +apocalypse.abbr = Apoc +; -- tradition targets: the MODERN name each Vulgate id above maps onto +; under --sigla-tradition modern (lang/traditions.ini's own [modern] +; section) -- see this section's own header note on the two conventions. +kings_1.full = 1 Kings +kings_1.abbr = 1 Kgs +kings_2.full = 2 Kings +kings_2.abbr = 2 Kgs +nehemiah.full = Nehemiah +nehemiah.abbr = Neh +sirach.full = Sirach +sirach.abbr = Sir +hosea.full = Hosea +hosea.abbr = Hos +jonah.full = Jonah +jonah.abbr = Jon +revelation.full = Revelation +revelation.abbr = Rev diff --git a/lang/la.ini b/lang/la.ini index 536f717..537f9a3 100644 --- a/lang/la.ini +++ b/lang/la.ini @@ -1790,3 +1790,378 @@ rogation-wednesday = Feria IV Rogationum ; PATTERN, because the Missal's own text for this specific day was found ; (Wednesday's own station, "ad S. Petrum") and is transcribed, not built ; by pattern. + +[sigla] +; The Vulgate/Latin citation convention -- abbreviated book, "chapter:verses", +; "first-last" for a verse range, "; " between parts, ", " between verse +; ranges. This is byte-identical to Colitur_citation.Render.default_style +; (render.ml), so shipping this section changes NO rendered output -- Task 9 +; Step 5 already asserted the pre-Task-10 baseline against exactly these +; values. +; book_sep ships as a PLAIN space, not U+00A0 (the non-breaking space): a +; user who wants the non-breaking form for typeset output (so "Luc." and +; "3, 1" never split across a line break) sets it themselves -- see +; Render.book_sep's own note. Written here as a literal space between the +; "=" and the closing quote; it is invisible in a terminal and easy to +; mistake for something else when editing by hand. +book = abbr +book_sep = " " +chapter_verse = {chapter}:{verses} +range = {first}-{last} +part_sep = "; " +verse_sep = ", " + +[bible] +; Task 10. Every id in Colitur_citation.Book.all (lib/citation/book.ml), each +; with a `.full` and an `.abbr` form. +; +; SOURCING METHOD -- do not invent a Latin title. `docs/research/scan1.txt` +; and `docs/research/scan2.txt` are page-image OCR of the 1962 Missale +; Romanum; `docs/research/LT.txt` is an independent electronic transcription +; (accented, ligatured). The Missal never prints a standalone table of book +; names -- what is transcribed below is the TAIL of the reading's own +; incipit, following four recurring patterns, each attested many times +; across both scans: +; "Lectio libri X" -> "Liber X" (OT books) +; "Lectio X Prophetae" -> "X Propheta" (Prophets; +; genitive -> nominative, e.g. "Isaiae" -> "Isaias") +; "Sequentia sancti Evangelii secundum X" -> "Evangelium secundum X" (Gospels) +; "Lectio Epistolae beati Pauli Apostoli ad X" -> "Epistola ad X" (Pauline) +; "Lectio Actuum Apostolorum" -> "Actus Apostolorum" (Acts) +; "Lectio libri Apocalypsis beati Ioannis Apostoli" -> "Liber Apocalypsis" +; "Lectio Epistolae beati N Apostoli" -> "Epistola beati N Apostoli" +; (James, 1 John, 1-2 Peter: no "ad X" destination to shorten to, so +; the attribution stays -- the only thing that identifies the book) +; Every `.full` below cites the scan/line where its pattern was read; every +; `.abbr` cites a clean chapter:verse LOCATOR line (e.g. "3 Reg. 19, 3-8"), +; which is where this Missal's own Latin abbreviations actually live -- the +; incipit itself is never abbreviated. +; +; UNDIFFERENTIATED INCIPITS. Six pairs share ONE Missal incipit regardless of +; which volume/letter is being read -- "Lectio libri Regum" precedes a "3 +; Reg." locator on one page and a "4 Reg." locator on another; likewise +; "...ad Corinthios"/"...ad Timotheum"/"...ad Thessalonicenses"/"Epistolae +; beati Petri Apostoli" never say "prima"/"secunda" or "I"/"II" anywhere in +; the incipit itself (checked: no "prima"/"secunda ad Corinthios/Timotheum" +; and no "I."/"II. ad Corinthios/Timotheum" anywhere in either scan). Each +; pair therefore shares the SAME `.full` and differs only in `.abbr`, which +; the numbered locator DOES distinguish -- kings_3/kings_4, +; corinthians_1/corinthians_2, thessalonians_1/thessalonians_2, +; timothy_1/timothy_2, peter_1/peter_2. This is not a guess filling a gap: +; it is what the primary text itself does. +; +; A CORRECTION TO THIS TASK'S OWN SOURCING NOTE +; (.superpowers/sdd/2026-08-20-colitur-citations/latin-book-titles-sourcing.md). +; Re-running that note's own commands, but counting EVERY hit rather than +; eyeballing the sorted-by-frequency output (which buries a count-of-1 +; match), turned up clean, undamaged incipits the note listed as "NOT +; sourced": Galatians ("ad Galatas.", scan1.txt:22979), Colossians ("ad +; Colossenses.", scan1.txt:7233), both Thessalonians ("ad Thessalonicenses." +; + "1 Thess."/"2 Thess." locators, scan1.txt:8942/5498), both Peter +; ("Epistolae beati Petri Apostoli." + "1 Petri"/"2 Petri" locators, +; scan1.txt:20021/34670), Malachi ("Lectio Malachiae Prophetae.", +; scan1.txt:26697), Numbers ("Lectio libri Numeri.", scan1.txt:9967), Jonas +; ("Lectio Ionae Prophetae.", scan1.txt:11021), Osee ("Lectio Osee +; Prophetae.", scan1.txt:23301) and Esdras/esdras_2 ("Lectio libri Esdrae." +; + "Neh. vel 2 Esdrae 8, 1-10", scan1.txt:23192-23197). Each is used below, +; cited at its own line, in place of the note's UNSOURCED verdict. The +; note's three other verdicts stand, confirmed independently here: Proverbs, +; Song of Songs and Ecclesiasticus (see that row's own note -- Ecclesiasticus +; is not simply "not found", it is actively MASKED by Wisdom's incipit; see +; below) never occur. + +; --- Pentateuch, Historical -------------------------------------------- +genesis.full = Liber Genesis +; scan2.txt:10275, also scan2.txt:48572. +genesis.abbr = Gen +; scan1.txt:7714 "Gen. 3,". +exodus.full = Liber Exodi +; scan2.txt:42195. +exodus.abbr = Ex +; scan1.txt:12610 "Ex. 30,". +leviticus.full = Liber Levitici +; scan1.txt:11171, also scan1.txt:21490/21525/23384. +leviticus.abbr = Levit +; scan2.txt:12179 "Levit. 19,1-2,11-19 et 25". +numbers.full = Liber Numeri +; scan1.txt:9967 -- CORRECTS the sourcing note (see header): "Lectio libri +; Numeri." is clean and unambiguous. +numbers.abbr = Num +; scan1.txt:9968 "Num. 20, 1, 3 et 6-13", same page as the .full citation. +kings_3.full = Liber Regum +; scan1.txt:8376/9116/10341 "Lectio libri Regum." -- see the header's own +; UNDIFFERENTIATED INCIPITS note: this exact phrase, unqualified, precedes +; both a "3 Reg." and a "4 Reg." locator elsewhere in the same Missal. +kings_3.abbr = 3 Reg +; scan1.txt:8376 "3 Reg. 19, 3-8", also scan2.txt:11230/11671. +kings_4.full = Liber Regum +; Shared incipit -- see kings_3.full's own citation and the header note. +kings_4.abbr = 4 Reg +; scan1.txt:9668 "4 Reg. 5, 1-15", also scan1.txt:10636/9771. +esdras_2.full = Liber Esdrae +; scan1.txt:23192 "Lectio libri Esdrae." -- CORRECTS the sourcing note. +esdras_2.abbr = 2 Esdr +; scan1.txt:23197/23260 "Neh. vel 2 Esdrae 8, 1-10" / "2 Esdr. 8" -- the +; Missal's own rubric names this book BOTH ways at once ("Neh. vel 2 +; Esdrae"), the same Nehemiah/2-Esdras identity book.mli documents for the +; `nehemiah` tradition target below. +tobit.full = Liber Tobiae +; scan1.txt:39115. +tobit.abbr = Tob +; scan1.txt:21719 "Tob. 12,". +judith.full = Liber Iudith +; scan1.txt:28467, also 35356/36937. Spelled "Iudith" (consonantal I), the +; spelling this file's own header note already establishes throughout, and +; the spelling the Missal itself prints -- the "Judith" scan2.txt hit at +; line 39510 is the damaged "ludith" (lowercase L for capital I) the sourcing +; note warns about, not used here. +judith.abbr = Iudith +; scan1.txt:25116 "Iudith 13,", also 25141/27112. +esther.full = Liber Esther +; scan1.txt:9168. +esther.abbr = Esth +; scan1.txt:9170 "Esth. 13, 8-11 et 15-17". +proverbs.full = Prov +proverbs.abbr = Prov +; UNSOURCED -- no "Proverbia"/"Liber Proverbiorum" instance anywhere in +; either scan (checked: `grep -ohE 'Proverbi[a-z]*' docs/research/*.txt` +; returns nothing). `.full`/`.abbr` both fall back to +; Colitur_citation.Book.default_spelling "proverbs" = "Prov", the data's own +; spelling, per this task's own rule for an unsourced row. +song_of_songs.full = Song +song_of_songs.abbr = Song +; UNSOURCED -- no "Canticum Canticorum" instance anywhere in either scan +; (checked: `grep -ohE 'Canticorum' docs/research/*.txt` returns nothing). +; Falls back to Book.default_spelling "song_of_songs" = "Song". +wisdom.full = Liber Sapientiae +; scan2.txt:32982 "Lectio libri Sapientiae" immediately followed by "Sap. +; 5,1-5" -- picked deliberately over other "Lectio libri Sapientiae" hits +; because its OWN locator confirms it is genuinely a Wisdom reading, not an +; Ecclesiasticus one; see ecclesiasticus.full's own note just below for why +; that check matters here specifically. +wisdom.abbr = Sap +; scan1.txt:5929 "Sap. 18, 14-15", also 19909/21271/21390/22852. +ecclesiasticus.full = Ecclus +ecclesiasticus.abbr = Ecclus +; UNSOURCED, and NOT a simple "not found" -- a real finding, not a gap in +; the search. This Missal reuses WISDOM's OWN incipit, "Lectio libri +; Sapientiae", for Ecclesiasticus readings too (both books were anciently +; classed together as "libri Sapientiales"): scan2.txt:32807/44414/44832 all +; read "Lectio libri Sapientiae" and are immediately followed by an +; "Eccli. NN" locator, not a "Sap. NN" one (e.g. scan2.txt:44414-44417, +; "Lectio libri Sapientiae" / "Eccli. 44, ..."). So Ecclesiasticus's OWN +; distinct title never actually appears in this Missal's incipit text -- +; using "Liber Sapientiae" here would misidentify the book, not merely +; abbreviate it, unlike the UNDIFFERENTIATED INCIPITS above (those genuinely +; are the same book, just a different volume/letter). The abbreviated +; locator form "Eccli." IS independently attested (same citations) and +; matches this id's own third data spelling (book.ml: "Ecclus"; "Sir"; +; "Eccli") -- recorded here for a future reviewer, but not used for `.abbr`, +; to keep this row's two fields consistent with the plain +; sourced-or-not-sourced rule the rest of this file follows. + +; --- Prophets ------------------------------------------------------------- +isaiah.full = Isaias Propheta +; scan1.txt:8276 "Lectio Isaiae Propheta[e]." (genitive "Isaiae" -> +; nominative "Isaias", the Missal's own most frequent prophetic incipit). +isaiah.abbr = Isai +; scan1.txt:4947 "Isai. 30,", also 5062/5080. +jeremiah.full = Ieremias Propheta +; scan1.txt:9939 "Lectio Ieremiae Propheta[e]." +jeremiah.abbr = Ier +; scan1.txt:9271 "Ier. 17,", also 9940. +ezekiel.full = Ezechiel Propheta +; scan1.txt:8518 "Lectio Ezechielis Propheta[e]." +ezekiel.abbr = Ezech +; scan1.txt:8138 "Ezech. 34,", also 8431/8519. +daniel.full = Daniel Propheta +; scan1.txt:9006 "Lectio Danielis Propheta[e]." +daniel.abbr = Dan +; scan1.txt:4613 "Dan. 3,", also 5348/8699. +osee.full = Osee Propheta +; scan1.txt:23301 "Lectio Osee Prophetae." -- CORRECTS the sourcing note; +; "Osee" is indeclinable, same form in the incipit and the locator. +osee.abbr = Osee +; scan1.txt:23301 "Osee 14, 2-10", same line as the .full citation. +joel.full = Ioel Propheta +; scan1.txt:7730 "Lectio Ioelis Propheta[e]." +joel.abbr = Ioel +; scan1.txt:7681 "Ioel. 2,", also 21372. +jonas.full = Ionas Propheta +; scan1.txt:11021 "Lectio Ionae Prophetae." -- CORRECTS the sourcing note +; (genitive "Ionae" -> nominative "Ionas"). +jonas.abbr = Ionae +; scan1.txt:11022 "Ionae 3, 1-10", same page as the .full citation -- the +; Missal's own locator uses the genitive form directly, unabbreviated. +malachi.full = Malachias Propheta +; scan1.txt:26697 "Lectio Malachiae Prophetae." -- CORRECTS the sourcing +; note (genitive "Malachiae" -> nominative "Malachias"). +malachi.abbr = Malach +; scan1.txt:26701 "Malach. 3, 1-4", same page as the .full citation. + +; --- Gospels ---------------------------------------------------------- +matthew.full = Evangelium secundum Matthaeum +; scan1.txt:11892 "secundum Matthaeum.", one of many clean instances. +matthew.abbr = Matth +; scan1.txt:6713 "Matth. 2,", also 6994/7957. +mark.full = Evangelium secundum Marcum +; scan1.txt:12191/12202. +mark.abbr = Marc +; scan1.txt:8007 "Marc. 6,", also 12626/12658. +luke.full = Evangelium secundum Lucam +; scan1.txt:12431/12439. +luke.abbr = Luc +; scan1.txt:4912 "Luc. 21,", also 5148/5426. +john.full = Evangelium secundum Ioannem +; scan1.txt:3843-3844 "dicto Evangelio secundum Ioannem" / "Initium sancti +; Evangelii secundum Ioannem" (O Salutaris/rubrics section, clean, unlike +; the many "lodnnem" OCR breaks the sourcing note warns about elsewhere). +john.abbr = Ioann +; scan1.txt:6125 "Ioann. 21,", also 6372/7112. + +; --- Acts ------------------------------------------------------------- +acts.full = Actus Apostolorum +; scan1.txt:5992 "Lectio Actuum Apostolorum.", also 6566/19649/19748/19827. +acts.abbr = Act +; scan1.txt:5994 "Act. 6,", also 6009/6041. + +; --- Pauline epistles --------------------------------------------------- +romans.full = Epistola ad Romanos +; scan1.txt:5636-5637 "Lectio Epistolae beati Pauli Apostoli / ad Romanos." +romans.abbr = Rom +; scan1.txt:4878 "Rom. 13,", also 4972/6880. +corinthians_1.full = Epistola ad Corinthios +; scan1.txt:5576 "Lectio Epistolae beati Pauli Apostoli / ad Corinthios." -- +; see the header's UNDIFFERENTIATED INCIPITS note. +corinthians_1.abbr = 1 Cor +; scan1.txt:5576 "1 Cor. 4, 1-5", also 19561/21847. +corinthians_2.full = Epistola ad Corinthios +; Shared incipit -- see corinthians_1.full's own citation. +corinthians_2.abbr = 2 Cor +; scan1.txt:22755 "2 Cor. 3, 4-9", also 8068/29417/31759. +galatians.full = Epistola ad Galatas +; scan1.txt:22979 "Lectio Epistolae beati Pauli Apostoli / ad Galatas." -- +; CORRECTS the sourcing note. +galatians.abbr = Gal +; scan1.txt:5902 "Gal. 4,", also 10243/12177. +ephesians.full = Epistola ad Ephesios +; scan1.txt:9573 "Lectio Epistolae beati Pauli Apostoli / ad Ephesios." +ephesians.abbr = Ephes +; scan1.txt:9575 "Ephes. 5, 1-9", also 22040/23017 ("Eph." also occurs, +; scan1.txt:20624, but "Ephes" is the form used at the same instance as the +; .full citation above). +philippians.full = Epistola ad Philippenses +; scan1.txt:43961-43962 "Lectio Epistolae beati Pauli Apostoli / ad +; Philippenses.", also 11827/23947. +philippians.abbr = Phil +; scan1.txt:5025 "Phil. 4,", also 6539. +colossians.full = Epistola ad Colossenses +; scan1.txt:7233 "Lectio Epistolae beati Pauli Apostoli / ad Colossenses." +; -- CORRECTS the sourcing note. +colossians.abbr = Col +; scan1.txt:6798 "Col. 3,", also 7234/15349. +thessalonians_1.full = Epistola ad Thessalonicenses +; scan1.txt:8942-8944 "Lectio Epistolae beati Pauli Apostoli / ad +; Thessalonicenses. 1 Thess. 4,1-7" -- CORRECTS the sourcing note; see the +; header's UNDIFFERENTIATED INCIPITS note. +thessalonians_1.abbr = 1 Thess +; scan1.txt:8944, same line as the .full citation. +thessalonians_2.full = Epistola ad Thessalonicenses +; scan1.txt:5498-5500 "Lectio Epistolae beati Pauli Apostoli / ad +; Thessalonicenses. 2 Thess. 2,1-8" -- CORRECTS the sourcing note. +thessalonians_2.abbr = 2 Thess +; scan1.txt:5500, same line as the .full citation. +timothy_1.full = Epistola ad Timotheum +; scan1.txt:25898-25899 "Lectio Epistolae beati Pauli Apostoli / ad +; Timotheum. 1 Tim. 6, 11-16" -- see the header's UNDIFFERENTIATED INCIPITS +; note. +timothy_1.abbr = 1 Tim +; scan1.txt:25899, same line as the .full citation. +timothy_2.full = Epistola ad Timotheum +; Shared incipit -- see timothy_1.full's own citation, plus scan1.txt:31361 +; "Lectio Epistolae beati Pauli Apostoli / ad Timotheum. 2 Tim. 4, 1-8". +timothy_2.abbr = 2 Tim +; scan1.txt:31364, also 24808/25001/26136. +titus.full = Epistola ad Titum +; scan1.txt:6302-6303 "Lectio Epistolae beati Pauli Apostoli / ad Titum." +titus.abbr = Tit +; scan1.txt:5768 "Tit. 3, 4-7", also 6304/43057. +hebrews.full = Epistola ad Hebraeos +; scan1.txt:5850-5853 "Lectio Epistolae beati Pauli Apostoli / ad +; Hebraeos.". Note this is the CLEAN scan1.txt instance, deliberately not +; scan2.txt:58410's own "Hebreeos" OCR damage the sourcing note warns about. +hebrews.abbr = Hebr +; scan1.txt:6392 "Hebr. 5,", also 6788/10951. + +; --- Catholic epistles -------------------------------------------------- +james.full = Epistola beati Iacobi Apostoli +; scan1.txt:20348 "Lectio Epistolae beati Iacobi Apostoli.", also +; 20432/20509/34828/38918/40963/41197/45872/49193 -- no "ad X" destination +; to shorten to, so the attribution stays; see the header's own note on this +; pattern. +james.abbr = Iac +; No clean "Iac." locator was found (only a damaged "lac." one, scan1.txt +; near 20349, the lowercase-L-for-capital-I OCR fault the sourcing note +; warns about) -- this is a straightforward truncation of the sourced word +; "Iacobi" above, matching the 3-4 letter convention every other abbreviated +; form in this section actually attests (Gal, Col, Phil, Hebr, ...), not a +; separately-sourced locator. +peter_1.full = Epistola beati Petri Apostoli +; scan1.txt:20021 "Lectio Epistolae beati Petri Apostoli.", also +; 20080/20264/20324/20784/22128/27337/30003/31627 -- CORRECTS the sourcing +; note; see the header's UNDIFFERENTIATED INCIPITS note (shared with +; peter_2). +peter_1.abbr = 1 Petri +; scan1.txt:19984 "1 Petri 2, 9" (Ant. ad Communionem, Friday within the +; Easter octave) -- the Missal's own locators for both Peter epistles use +; the unabbreviated genitive "Petri", not a further-truncated "Pet." form +; (checked: no "1 Pet."/"2 Pet." instance in either scan). +peter_2.full = Epistola beati Petri Apostoli +; Shared incipit -- see peter_1.full's own citation, plus scan1.txt:34670 +; "Lectio Epistolae beati Petri Apostoli. / 2 Petri 1, 16-19" directly. +peter_2.abbr = 2 Petri +; scan1.txt:34671, same line as its own .full citation above. +john_1.full = Epistola beati Ioannis Apostoli +; scan1.txt:20162 "Lectio Epistolae beati Ioannis Apostoli.", also +; 21801/21961/26111/27522/33348/45129. +john_1.abbr = 1 Ioann +; scan1.txt:20163 "1 Ioann. 5, 4-10", also 32440. + +; --- Apocalypse ----------------------------------------------------------- +apocalypse.full = Liber Apocalypsis +; scan1.txt:6229 "Lectio libri Apocalypsis beati Ioannis / Apostoli.", also +; 27078/29761/37514/37749/39427/39816/42821/50569 -- attribution dropped, +; same as Acts/Romans above. +apocalypse.abbr = Apoc +; scan1.txt:6230 "Apoc. 14,", also 27049/27588. + +; --- Tradition targets ---------------------------------------------------- +; kings_1, kings_2, nehemiah, sirach, hosea, jonah, revelation +; (Colitur_citation.Book.tradition_targets, book.ml) are what +; `--sigla-tradition modern` maps ONTO -- the Vulgate data this file +; otherwise names never cites them directly (book.mli). This 1962 Missal is +; Vulgate-numbered throughout, so none of these MODERN-numbering ids could +; ever have a Latin incipit to source in the first place -- not a search +; gap, a category mismatch. All seven are UNSOURCED by construction; both +; forms fall back to Book.default_spelling, which for an id absent from +; book.ml's own spelling table (true of all seven -- they exist only in +; `tradition_targets`, never in `table`) is the bare id itself. This is what +; `test_every_book_named` (test/test_lang_coverage.ml) exists to hold in +; place: without an explicit row here, `--sigla-tradition modern` would +; render one of these bare ids straight into a citation. +; UNSOURCED (all seven rows below -- see this section's own header +; immediately above for why: a category mismatch, not a search gap). +kings_1.full = kings_1 +kings_1.abbr = kings_1 +kings_2.full = kings_2 +kings_2.abbr = kings_2 +nehemiah.full = nehemiah +nehemiah.abbr = nehemiah +sirach.full = sirach +sirach.abbr = sirach +hosea.full = hosea +hosea.abbr = hosea +jonah.full = jonah +jonah.abbr = jonah +revelation.full = revelation +revelation.abbr = revelation diff --git a/test/cli.t b/test/cli.t index 82feff4..d9d8ec5 100644 --- a/test/cli.t +++ b/test/cli.t @@ -420,7 +420,7 @@ CSV emits a header and one row per day: $ colitur emit --format csv --from 2027 --to 2027 | head -2 date,rite,season,season_name,week,slug,name,weekday,rank,rank_name,colour,colour_name,subject,first,gospel,comms - 2027-01-01,ef,christmastide,Tempus Nativitatis,,ef-circumcision,In Octava Nativitatis Domini,Feria VI,class-1,I classis,white,albus,temporal,Titus 2:11-15,Luke 2:21, + 2027-01-01,ef,christmastide,Tempus Nativitatis,,ef-circumcision,In Octava Nativitatis Domini,Feria VI,class-1,I classis,white,albus,temporal,Tit 2:11-15,Luc 2:21, $ colitur emit --format csv --from 2027 --to 2027 | wc -l 366 @@ -519,7 +519,7 @@ place. 1 January 2027 is the Circumcision, kept within the Nativity octave: 2027-01-02 saturday christmastide - ef-christmas-1-saturday class-4 white Officium sanctae Mariae in sabbato $ colitur readings 2027 | head -1 - 2027-01-01 ef-circumcision | Titus 2:11-15 | Luke 2:21 | In Octava Nativitatis Domini + 2027-01-01 ef-circumcision | Tit 2:11-15 | Luc 2:21 | In Octava Nativitatis Domini --raw restores the old byte-exact output -- no trailing field at all, not merely an empty one, because [Lang.raw] is the identity table (lang.mli): @@ -539,16 +539,19 @@ Every citation now renders through a {!Colitur_citation.Sigla.t} (Task 9), at both places one reaches output -- [View.citation_ref] (`table`/`render`/ `emit`/`publish`) and `readings`' own `part_ref`. The DEFAULT style normalises the seven duplicate book spellings the shipped data inherited -from lectio onto one canonical form (`3 Kgs.`/`3 Kings` -> `3 Kings`, -`Isa.` -> `Isa`, ...) and reconstructs each citation from its PARSED +from lectio onto ONE name, reconstructed from the citation's PARSED structure, so stray punctuation the parser already treats as noise (a trailing full stop or semicolon, a comma used as a chapter/verse -separator) does not survive either: +separator) does not survive either. Since Task 10 shipped `la.ini`'s own +`[bible]` section, that one name is a real Latin abbreviation sourced from +the Missal scans, not merely a pick between the data's own two raw +spellings: both `3 Kgs.` and `3 Kings` resolve to `3 Reg`, the Vulgate's own +form (lang/la.ini's own `[bible]` header note, kings_3): - $ colitur readings 2027 | grep -E '3 K(gs|ings)' | head -3 - 2027-02-17 ef-lent-ember-wed | 3 Kings 19:3-8 | Matt 12:38-50 | Feria IV Quatuor Temporum Quadragesimae - 2027-02-23 ef-lent-2-tuesday | 3 Kings 17:8-16 | Matt 23:1-12 | Feria III post Dominicam II in Quadragesima - 2027-03-08 ef-lent-4-monday | 3 Kings 3:16-28 | John 2:13-25 | Feria II post Dominicam IV in Quadragesima + $ colitur readings 2027 | grep -E '3 Reg' | head -3 + 2027-02-17 ef-lent-ember-wed | 3 Reg 19:3-8 | Matth 12:38-50 | Feria IV Quatuor Temporum Quadragesimae + 2027-02-23 ef-lent-2-tuesday | 3 Reg 17:8-16 | Matth 23:1-12 | Feria III post Dominicam II in Quadragesima + 2027-03-08 ef-lent-4-monday | 3 Reg 3:16-28 | Ioann 2:13-25 | Feria II post Dominicam IV in Quadragesima `--raw` passes {!Colitur_citation.Sigla.verbatim}, NEVER a styled `Sigla.t` built over `Lang.raw` -- the latter would still parse and reformat every @@ -1249,7 +1252,7 @@ so two dumps of the same table are byte-identical: [meta] lang = la - [celebration] + [bible] $ grep -c '^ef-epiphany ' d.ini 1 @@ -1424,17 +1427,19 @@ Latin-convention punctuation. The synthetic file below overrides only $ printf '[meta]\nlang = zz\n[sigla]\nchapter_verse = "{chapter}, {verses}"\n' > lang-sigla.ini $ colitur readings 2027 --sigla-style ./lang-sigla.ini | head -1 - 2027-01-01 ef-circumcision | Titus 2, 11-15 | Luke 2, 21 | In Octava Nativitatis Domini + 2027-01-01 ef-circumcision | Tit 2, 11-15 | Luc 2, 21 | In Octava Nativitatis Domini `--sigla-tradition` renumbers which book an id DENOTES (lang/traditions.ini), independently of style or naming -- `modern` maps `3 Kings` onto the id -`kings_1`, which has no registered spelling of its own (only a Vulgate -tradition target, book.mli), so it prints literally until a language file -names it -- a real, if plain, witness that the tradition actually applied -rather than a no-op: +`kings_1`. Task 10's `la.ini` now carries a `[bible]` row for `kings_1` (a +tradition target the Vulgate data never cites directly, book.mli), but only +its own bare id -- an honest UNSOURCED placeholder, not a name (la.ini's own +`[bible]` header note) -- so it still prints literally, now BY DESIGN rather +than by the row's absence, still a real, if plain, witness that the +tradition actually applied rather than a no-op: $ colitur readings 2027 --sigla-tradition modern | grep '^2027-02-17' - 2027-02-17 ef-lent-ember-wed | kings_1 19:3-8 | Matt 12:38-50 | Feria IV Quatuor Temporum Quadragesimae + 2027-02-17 ef-lent-ember-wed | kings_1 19:3-8 | Matth 12:38-50 | Feria IV Quatuor Temporum Quadragesimae `table`/`render`, `emit` and `publish` accept the same three flags too -- smoke-tested for exit status alone here (a minimal inline template, the diff --git a/test/golden/grid-2027.html b/test/golden/grid-2027.html index 46382d4..daa6ba5 100644 --- a/test/golden/grid-2027.html +++ b/test/golden/grid-2027.html @@ -71,10 +71,10 @@ 7Quinquagesima Sunday1 Cor 13:1-13 · Luke 18:31-438St. John of MathaEcclus 31:8-11 · Luke 12:35-409St. Cyril of Alexandria2 Tim 4:1-8 · Matt 5:13-1910Ash WednesdayJoel 2:12-19 · Matt 6:16-2111Thursday after Ash WednesdayIsa 38:1-6 · Matt 8:5-1312Friday after Ash WednesdayIsa 58:1-9 · Matt 5:43-48; 6:1-413Saturday after Ash WednesdayIsa 58:9-14 · Mark 6:47-56 - 141st Sunday of Lent2 Cor 6:1-10 · Matt 4:1-1115Monday of the 1st Week of LentEzech 34:11-16 · Matt 25:31-4616Tuesday of the 1st Week of LentIsa 55:6-11 · Matt 21:10-1717Lenten Ember Wednesday3 Kings 19:3-8 · Matt 12:38-5018Thursday of the 1st Week of LentEzech 18:1-9 · Matt 15:21-2819Lenten Ember FridayEzech 18:20-28 · John 5:1-1520Lenten Ember Saturday1 Thess 5:14-23 · Matt 17:1-9 + 141st Sunday of Lent2 Cor 6:1-10 · Matt 4:1-1115Monday of the 1st Week of LentEzech 34:11-16 · Matt 25:31-4616Tuesday of the 1st Week of LentIsa 55:6-11 · Matt 21:10-1717Lenten Ember Wednesday3 Kgs. 19:3-8 · Matt 12:38-5018Thursday of the 1st Week of LentEzech 18:1-9 · Matt 15:21-2819Lenten Ember FridayEzech 18:20-28 · John 5:1-1520Lenten Ember Saturday1 Thess 5:14-23 · Matt 17:1-9 - 212nd Sunday of Lent1 Thess 4:1-7 · Matt 17:1-922Chair of St. Peter1 Pet 1:1-7 · Matt 16:13-1923Tuesday of the 2nd Week of Lent3 Kings 17:8-16 · Matt 23:1-1224St. MatthiasActs 1:15-26 · Matt 11:25-3025Thursday of the 2nd Week of LentJer 17:5-10 · Luke 16:19-3126Friday of the 2nd Week of LentGen 37:6-22 · Matt 21:33-4627Saturday of the 2nd Week of LentGen 27:6-40 · Luke 15:11-32 + 212nd Sunday of Lent1 Thess 4:1-7 · Matt 17:1-922Chair of St. Peter1 Pet 1:1-7 · Matt 16:13-1923Tuesday of the 2nd Week of Lent3 Kgs. 17:8-16 · Matt 23:1-1224St. MatthiasActs 1:15-26 · Matt 11:25-3025Thursday of the 2nd Week of LentJer 17:5-10 · Luke 16:19-3126Friday of the 2nd Week of LentGen 37:6-22 · Matt 21:33-4627Saturday of the 2nd Week of LentGen 27:6-40 · Luke 15:11-32 283rd Sunday of LentEph 5:1-9 · Luke 11:14-28 @@ -86,10 +86,10 @@ March SundayMondayTuesdayWednesdayThursdayFridaySaturday - 1Monday of the 3rd Week of Lent4 Kings 5:1-15 · Luke 4:23-302Tuesday of the 3rd Week of Lent4 Kings 4:1-7 · Matt 18:15-223Wednesday of the 3rd Week of LentEx 20:12-24 · Matt 15:1-204Thursday of the 3rd Week of LentJer 7:1-7 · Luke 4:38-445Friday of the 3rd Week of LentNum 20:1, 3; 20:6-13 · John 4:5-426Saturday of the 3rd Week of LentDan 13:1-9, 15-17, 19-30, 33-62 · John 8:1-11 + 1Monday of the 3rd Week of Lent4 Kgs. 5:1-15 · Luke 4:23-302Tuesday of the 3rd Week of Lent4 Kgs. 4:1-7 · Matt 18:15-223Wednesday of the 3rd Week of LentEx 20:12-24 · Matt 15:1-204Thursday of the 3rd Week of LentJer 7:1-7 · Luke 4:38-445Friday of the 3rd Week of LentNum 20:1, 3; 20:6-13 · John 4:5-426Saturday of the 3rd Week of LentDan 13:1-9, 15-17, 19-30, 33-62 · John 8:1-11 - 74th Sunday of LentGal 4:22-31 · John 6:1-158Monday of the 4th Week of Lent3 Kings 3:16-28 · John 2:13-259Tuesday of the 4th Week of LentEx 32:7-14 · John 7:14-3110Wednesday of the 4th Week of LentIsa 1:16-19 · John 9:1-3811Thursday of the 4th Week of Lent4 Kings 4:25-38 · Luke 7:11-1612Friday of the 4th Week of Lent3 Kings 17:17-24 · John 11:1-4513Saturday of the 4th Week of LentIsa 49:8-15 · John 8:12-20 + 74th Sunday of LentGal 4:22-31 · John 6:1-158Monday of the 4th Week of Lent3 Kgs. 3:16-28 · John 2:13-259Tuesday of the 4th Week of LentEx 32:7-14 · John 7:14-3110Wednesday of the 4th Week of LentIsa 1:16-19 · John 9:1-3811Thursday of the 4th Week of Lent4 Kgs. 4:25-38 · Luke 7:11-1612Friday of the 4th Week of Lent3 Kgs. 17:17-24 · John 11:1-4513Saturday of the 4th Week of LentIsa 49:8-15 · John 8:12-20 14Passion SundayHeb 9:11-15 · John 8:46-5915Monday of the 1st Week of Passion WeekJonas 3:1-10 · John 7:32-3916Tuesday of the 1st Week of Passion WeekDan 14:27, 28-42 · John 7:1-1317Wednesday of the 1st Week of Passion WeekLev 19:1-2, 11-19, 25 · John 10:22-3818Thursday of the 1st Week of Passion WeekDan 3:25, 34-45 · Luke 7:36-5019St. Joseph, Spouse of the Bl. Virgin MaryEcclus 45:1-6 · Matt 1:18-2120Saturday of the 1st Week of Passion WeekJer 18:18-23 · John 12:10-36 @@ -131,7 +131,7 @@ 1St. Joseph the WorkmanCol 3:14-15, 17, 23-24 · Matt 13:54-58 - 25th Sunday after EasterJas 1:22-27 · John 16:23-303Rogation MondayJas 1:22-27 · John 16:23-304St. Monica1 Tim. 5:3-10 · Luke 7:11-165Vigil of the AscensionEph 4:7-13 · John 17:1-116The Ascension of Our LordActs 1:1-11 · Mark 16:14-207St. StanislausWis 5:1-5 · John 15:1-78Our Lady's Saturday OfficeEcclus 24:14-16 · John 19:25-27 + 25th Sunday after EasterJas 1:22-27 · John 16:23-303Rogation MondayJas 1:22-27 · John 16:23-304St. Monica1 Tim 5:3-10 · Luke 7:11-165Vigil of the AscensionEph 4:7-13 · John 17:1-116The Ascension of Our LordActs 1:1-11 · Mark 16:14-207St. StanislausWis 5:1-5 · John 15:1-78Our Lady's Saturday OfficeEcclus 24:14-16 · John 19:25-27 9Sunday after the Ascension1 Pet 4:7-11 · John 15:26-27; 16:1-410St. AntoninusEcclus 44:16-27; 45:3-20 · Matt 25:14-2311Sts. Philip & JamesWis 5:1-5 · John 14:1-1312Sts. Nereus, Achilleus, Domitilla, & PancrasWis 5:1-5 · John 4:46-5313St. Robert BellarmineWis 7:7-14 · Matt 5:13-1914Friday of the 7th Week of Eastertide1 Pet 4:7-11 · John 15:26-27; 16:1-415Vigil of PentecostActs 19:1-8 · John 14:15-21 @@ -173,16 +173,16 @@ July SundayMondayTuesdayWednesdayThursdayFridaySaturday - 1The Precious Blood of Our Lord Jesus ChristHeb 9:11-15 · John 19:30-352Visitation of the Blessed Virgin MarySong 2:8-14 · Luke 1:39-473St. Irenaeus2 Tim 3:14-17; 4:1-5 · Matt 10:28-33 + 1The Precious Blood of Our Lord Jesus ChristHeb 9:11-15 · John 19:30-352Visitation of the Blessed Virgin MaryCant. 2:8-14 · Luke 1:39-473St. Irenaeus2 Tim 3:14-17; 4:1-5 · Matt 10:28-33 - 47th Sunday after PentecostRom 6:19-23 · Matt 7:15-215St. Anthony Mary Zaccariah1 Tim. 4:8-16 · Mark 10:15-216Tuesday of the 7th Week of the Time after PentecostRom 6:19-23 · Matt 7:15-217Sts. Cyril & MethodiusHeb 7:23-27 · Luke 10:1-98St. Elizabeth of PortugalProv 31:10-31 · Matt 13:44-529Friday of the 7th Week of the Time after PentecostRom 6:19-23 · Matt 7:15-2110Seven Holy Brothers and Sts. Rufina & SecundaProv 31:10-31 · Matt 12:46-50 + 47th Sunday after PentecostRom 6:19-23 · Matt 7:15-215St. Anthony Mary Zaccariah1 Tim 4:8-16 · Mark 10:15-216Tuesday of the 7th Week of the Time after PentecostRom 6:19-23 · Matt 7:15-217Sts. Cyril & MethodiusHeb 7:23-27 · Luke 10:1-98St. Elizabeth of PortugalProv 31:10-31 · Matt 13:44-529Friday of the 7th Week of the Time after PentecostRom 6:19-23 · Matt 7:15-2110Seven Holy Brothers and Sts. Rufina & SecundaProv 31:10-31 · Matt 12:46-50 118th Sunday after PentecostRom 8:12-17 · Luke 16:1-912St. John GualbertEcclus 45:1-6 · Matt 5:43-4813Tuesday of the 8th Week of the Time after PentecostRom 8:12-17 · Luke 16:1-914St. Bonaventure2 Tim 4:1-8 · Matt 5:13-1915St. Henry the EmperorEcclus 31:8-11 · Luke 12:35-4016Friday of the 8th Week of the Time after PentecostRom 8:12-17 · Luke 16:1-917Our Lady's Saturday OfficeEcclus 24:14-16 · Luke 11:27-28 - 189th Sunday after Pentecost1 Cor 10:6-13 · Luke 19:41-4719St. Vincent de Paul1 Cor 4:9-14 · Luke 10:1-920St. Jerome EmilianiIsa 58:7-11 · Matt 19:13-2121St. Laurence of Brindisi2 Tim 4:1-8 · Matt 5:13-1922St. Mary MagdaleneSong 3:2-5; 8:6-7 · Luke 7:36-5023St. Apollinaris1 Pet 5:1-11 · Luke 22:24-3024Our Lady's Saturday OfficeEcclus 24:14-16 · Luke 11:27-28 + 189th Sunday after Pentecost1 Cor 10:6-13 · Luke 19:41-4719St. Vincent de Paul1 Cor 4:9-14 · Luke 10:1-920St. Jerome EmilianiIsa 58:7-11 · Matt 19:13-2121St. Laurence of Brindisi2 Tim 4:1-8 · Matt 5:13-1922St. Mary MagdaleneCant. 3:2-5; 8:6-7 · Luke 7:36-5023St. Apollinaris1 Pet 5:1-11 · Luke 22:24-3024Our Lady's Saturday OfficeEcclus 24:14-16 · Luke 11:27-28 2510th Sunday after Pentecost1 Cor 12:2-11 · Luke 18:9-1426St. Anne, Mother of the Blessed VirginProv 31:10-31 · Matt 13:44-5227Tuesday of the 10th Week of the Time after Pentecost1 Cor 12:2-11 · Luke 18:9-1428Sts. Nazarius & Celsus, St. Victor I & St. Innocent IWis 10:17-20 · Luke 21:9-1929St. Martha2 Cor 10:17-18; 11:1-2 · Luke 10:38-4230Friday of the 10th Week of the Time after Pentecost1 Cor 12:2-11 · Luke 18:9-1431St. Ignatius Loyola2 Tim 2:8-10; 3:10-12 · Luke 10:1-9 @@ -194,13 +194,13 @@ August SundayMondayTuesdayWednesdayThursdayFridaySaturday - 111th Sunday after Pentecost1 Cor 15:1-10 · Mark 7:31-372St. Alphonsus Liguori2 Tim 2:1-7 · Luke 10:1-93Tuesday of the 11th Week of the Time after Pentecost1 Cor 15:1-10 · Mark 7:31-374St. Dominic2 Tim 4:1-8 · Luke 12:35-405Dedication of the Basilica of St. Mary MajorEcclus 24:14-16 · Luke 11:27-286Transfiguration of Our Lord2 Pet. 1:16-19 · Matt 17:1-97St. CajetanEcclus 31:8-11 · Matt 6:24-33 + 111th Sunday after Pentecost1 Cor 15:1-10 · Mark 7:31-372St. Alphonsus Liguori2 Tim 2:1-7 · Luke 10:1-93Tuesday of the 11th Week of the Time after Pentecost1 Cor 15:1-10 · Mark 7:31-374St. Dominic2 Tim 4:1-8 · Luke 12:35-405Dedication of the Basilica of St. Mary MajorEcclus 24:14-16 · Luke 11:27-286Transfiguration of Our Lord2 Pet 1:16-19 · Matt 17:1-97St. CajetanEcclus 31:8-11 · Matt 6:24-33 812th Sunday after Pentecost2 Cor 3:4-9 · Luke 10:23-379Vigil of St. LawrenceEcclus 51:1-8, 12 · Matt 16:24-2710St. Lawrence2 Cor 9:6-10 · John 12:24-2611Wednesday of the 12th Week of the Time after Pentecost2 Cor 3:4-9 · Luke 10:23-3712St. Clare2 Cor 10:17-18; 11:1-2 · Matt 25:1-1313Friday of the 12th Week of the Time after Pentecost2 Cor 3:4-9 · Luke 10:23-3714Vigil of the AssumptionEcclus 24:23-31 · Luke 11:27-28 - 15Assumption of the Blessed Virgin MaryJudith 13:22-25; 15:10 · Luke 1:41-5016St. Joachim, Father of the Blessed VirginEcclus 31:8-11 · Matt 1:1-1617St. HyacinthEcclus 31:8-11 · Luke 12:35-4018Wednesday of the 13th Week of the Time after PentecostGal 3:16-22 · Luke 17:11-1919St. John EudesEcclus 31:8-11 · Luke 12:35-4020St. Bernard of ClairvauxEcclus 39:6-14 · Matt 5:13-1921St. Jane Frances de ChantalProv 31:10-31 · Matt 13:44-52 + 15Assumption of the Blessed Virgin MaryJth 13:22-25; 15:10 · Luke 1:41-5016St. Joachim, Father of the Blessed VirginEcclus 31:8-11 · Matt 1:1-1617St. HyacinthEcclus 31:8-11 · Luke 12:35-4018Wednesday of the 13th Week of the Time after PentecostGal 3:16-22 · Luke 17:11-1919St. John EudesEcclus 31:8-11 · Luke 12:35-4020St. Bernard of ClairvauxEcclus 39:6-14 · Matt 5:13-1921St. Jane Frances de ChantalProv 31:10-31 · Matt 13:44-52 2214th Sunday after PentecostGal 5:16-24 · Matt 6:24-3323St. Philip Benizi1 Cor 4:9-14 · Luke 12:32-3424St. Bartholomew1 Cor 12:27-31 · Luke 6:12-1925St. Louis IXWis 10:10-14 · Luke 19:12-2626Thursday of the 14th Week of the Time after PentecostGal 5:16-24 · Matt 6:24-3327St. Joseph CalasanceWis 10:10-14 · Matt 18:1-528St. Augustine2 Tim 4:1-8 · Matt 5:13-19 @@ -221,7 +221,7 @@ 516th Sunday after PentecostEph 3:13-21 · Luke 14:1-116Monday of the 16th Week of the Time after PentecostEph 3:13-21 · Luke 14:1-117Tuesday of the 16th Week of the Time after PentecostEph 3:13-21 · Luke 14:1-118Nativity of the Blessed Virgin MaryProv 8:22-35 · Matt 1:1-169Thursday of the 16th Week of the Time after PentecostEph 3:13-21 · Luke 14:1-1110St. Nicholas of Tolentino1 Cor 4:9-14 · Luke 12:32-3411Our Lady's Saturday OfficeEcclus 24:14-16 · Luke 11:27-28 - 1217th Sunday after PentecostEph 4:1-6 · Matt 22:34-4613Monday of the 17th Week of the Time after PentecostEph 4:1-6 · Matt 22:34-4614Exaltation of the Holy CrossPhil 2:5-11 · John 12:31-3615Seven Sorrows of the Blessed Virgin MaryJudith 13:22; 13:23-25 · John 19:25-2716Sts. Cornelius & CyprianWis 3:1-8 · Luke 21:9-1917Friday of the 17th Week of the Time after PentecostEph 4:1-6 · Matt 22:34-4618St. Joseph of Cupertino1 Cor 13:1-8 · Matt 22:1-14 + 1217th Sunday after PentecostEph 4:1-6 · Matt 22:34-4613Monday of the 17th Week of the Time after PentecostEph 4:1-6 · Matt 22:34-4614Exaltation of the Holy CrossPhil 2:5-11 · John 12:31-3615Seven Sorrows of the Blessed Virgin MaryJth 13:22; 13:23-25 · John 19:25-2716Sts. Cornelius & CyprianWis 3:1-8 · Luke 21:9-1917Friday of the 17th Week of the Time after PentecostEph 4:1-6 · Matt 22:34-4618St. Joseph of Cupertino1 Cor 13:1-8 · Matt 22:1-14 1918th Sunday after Pentecost1 Cor 1:4-8 · Matt 9:1-820Monday of the 18th Week of the Time after Pentecost1 Cor 1:4-8 · Matt 9:1-821St. MatthewEzech 1:10-14 · Matt 9:9-1322September Ember Wednesday2 Esd. 8:1-10 · Mark 9:16-2823St. Linus1 Pet 5:1-4; 5:10-11 · Matt 16:13-1924September Ember FridayOsee 14:2-10 · Luke 7:36-5025September Ember SaturdayHeb 9:2-12 · Luke 13:6-17 @@ -239,7 +239,7 @@ 1Friday of the 19th Week of the Time after PentecostEph 4:23-28 · Matt 22:1-142Holy Guardian AngelsEx 23:20-23 · Matt 18:1-10 - 320th Sunday after PentecostEph 5:15-21 · John 4:46-534St. Francis of AssisiGal 6:14-18 · Matt 11:25-305Tuesday of the 20th Week of the Time after PentecostEph 5:15-21 · John 4:46-536St. BrunoEcclus 31:8-11 · Luke 12:35-407Our Lady of the RosaryProv 8:22-24, 32-35 · Luke 1:26-388St. Bridget of Sweden1 Tim. 5:3-10 · Matt 13:44-529St. John Leonardi2 Cor 4:1-6; 4:15-18 · Luke 10:1-9 + 320th Sunday after PentecostEph 5:15-21 · John 4:46-534St. Francis of AssisiGal 6:14-18 · Matt 11:25-305Tuesday of the 20th Week of the Time after PentecostEph 5:15-21 · John 4:46-536St. BrunoEcclus 31:8-11 · Luke 12:35-407Our Lady of the RosaryProv 8:22-24, 32-35 · Luke 1:26-388St. Bridget of Sweden1 Tim 5:3-10 · Matt 13:44-529St. John Leonardi2 Cor 4:1-6; 4:15-18 · Luke 10:1-9 1021st Sunday after PentecostEph 6:10-17 · Matt 18:23-3511Maternity of the Blessed Virgin MaryEcclus 24:23-31 · Luke 2:43-5112Tuesday of the 21st Week of the Time after PentecostEph 6:10-17 · Matt 18:23-3513St. EdwardEcclus 31:8-11 · Luke 12:35-4014St. Callistus I1 Pet 5:1-4; 5:10-11 · Matt 16:13-1915St. Teresa of Avila2 Cor 10:17-18; 11:1-2 · Matt 25:1-1316St. HedwigProv 31:10-31 · Matt 13:44-52 diff --git a/test/golden/grid-2027.ms b/test/golden/grid-2027.ms index 903af6c..4f71416 100644 --- a/test/golden/grid-2027.ms +++ b/test/golden/grid-2027.ms @@ -339,7 +339,7 @@ T} T{ T} T{ \fB17\fP \s-2Lenten Ember Wednesday\s+2 .br -\s-23 Kings 19:3-8 \(bu Matt 12:38-50\s+2 +\s-23 Kgs. 19:3-8 \(bu Matt 12:38-50\s+2 T} T{ \fB18\fP \s-2Thursday of the 1st Week of Lent\s+2 .br @@ -364,7 +364,7 @@ T} T{ T} T{ \fB23\fP \s-2Tuesday of the 2nd Week of Lent\s+2 .br -\s-23 Kings 17:8-16 \(bu Matt 23:1-12\s+2 +\s-23 Kgs. 17:8-16 \(bu Matt 23:1-12\s+2 T} T{ \fB24\fP \s-2St. Matthias\s+2 .br @@ -413,11 +413,11 @@ T{ T} T{ \fB1\fP \s-2Monday of the 3rd Week of Lent\s+2 .br -\s-24 Kings 5:1-15 \(bu Luke 4:23-30\s+2 +\s-24 Kgs. 5:1-15 \(bu Luke 4:23-30\s+2 T} T{ \fB2\fP \s-2Tuesday of the 3rd Week of Lent\s+2 .br -\s-24 Kings 4:1-7 \(bu Matt 18:15-22\s+2 +\s-24 Kgs. 4:1-7 \(bu Matt 18:15-22\s+2 T} T{ \fB3\fP \s-2Wednesday of the 3rd Week of Lent\s+2 .br @@ -442,7 +442,7 @@ T{ T} T{ \fB8\fP \s-2Monday of the 4th Week of Lent\s+2 .br -\s-23 Kings 3:16-28 \(bu John 2:13-25\s+2 +\s-23 Kgs. 3:16-28 \(bu John 2:13-25\s+2 T} T{ \fB9\fP \s-2Tuesday of the 4th Week of Lent\s+2 .br @@ -454,11 +454,11 @@ T} T{ T} T{ \fB11\fP \s-2Thursday of the 4th Week of Lent\s+2 .br -\s-24 Kings 4:25-38 \(bu Luke 7:11-16\s+2 +\s-24 Kgs. 4:25-38 \(bu Luke 7:11-16\s+2 T} T{ \fB12\fP \s-2Friday of the 4th Week of Lent\s+2 .br -\s-23 Kings 17:17-24 \(bu John 11:1-45\s+2 +\s-23 Kgs. 17:17-24 \(bu John 11:1-45\s+2 T} T{ \fB13\fP \s-2Saturday of the 4th Week of Lent\s+2 .br @@ -726,7 +726,7 @@ T} T{ T} T{ \fB4\fP \s-2St. Monica\s+2 .br -\s-21 Tim. 5:3-10 \(bu Luke 7:11-16\s+2 +\s-21 Tim 5:3-10 \(bu Luke 7:11-16\s+2 T} T{ \fB5\fP \s-2Vigil of the Ascension\s+2 .br @@ -1018,7 +1018,7 @@ T} T{ T} T{ \fB2\fP \s-2Visitation of the Blessed Virgin Mary\s+2 .br -\s-2Song 2:8-14 \(bu Luke 1:39-47\s+2 +\s-2Cant. 2:8-14 \(bu Luke 1:39-47\s+2 T} T{ \fB3\fP \s-2St. Irenaeus\s+2 .br @@ -1031,7 +1031,7 @@ T{ T} T{ \fB5\fP \s-2St. Anthony Mary Zaccariah\s+2 .br -\s-21 Tim. 4:8-16 \(bu Mark 10:15-21\s+2 +\s-21 Tim 4:8-16 \(bu Mark 10:15-21\s+2 T} T{ \fB6\fP \s-2Tuesday of the 7th Week of the Time after Pentecost\s+2 .br @@ -1101,7 +1101,7 @@ T} T{ T} T{ \fB22\fP \s-2St. Mary Magdalene\s+2 .br -\s-2Song 3:2-5; 8:6-7 \(bu Luke 7:36-50\s+2 +\s-2Cant. 3:2-5; 8:6-7 \(bu Luke 7:36-50\s+2 T} T{ \fB23\fP \s-2St. Apollinaris\s+2 .br @@ -1172,7 +1172,7 @@ T} T{ T} T{ \fB6\fP \s-2Transfiguration of Our Lord\s+2 .br -\s-22 Pet. 1:16-19 \(bu Matt 17:1-9\s+2 +\s-22 Pet 1:16-19 \(bu Matt 17:1-9\s+2 T} T{ \fB7\fP \s-2St. Cajetan\s+2 .br @@ -1210,7 +1210,7 @@ T} T{ \fB15\fP \s-2Assumption of the Blessed Virgin Mary\s+2 .br -\s-2Judith 13:22-25; 15:10 \(bu Luke 1:41-50\s+2 +\s-2Jth 13:22-25; 15:10 \(bu Luke 1:41-50\s+2 T} T{ \fB16\fP \s-2St. Joachim, Father of the Blessed Virgin\s+2 .br @@ -1362,7 +1362,7 @@ T} T{ T} T{ \fB15\fP \s-2Seven Sorrows of the Blessed Virgin Mary\s+2 .br -\s-2Judith 13:22; 13:23-25 \(bu John 19:25-27\s+2 +\s-2Jth 13:22; 13:23-25 \(bu John 19:25-27\s+2 T} T{ \fB16\fP \s-2Sts. Cornelius & Cyprian\s+2 .br @@ -1481,7 +1481,7 @@ T} T{ T} T{ \fB8\fP \s-2St. Bridget of Sweden\s+2 .br -\s-21 Tim. 5:3-10 \(bu Matt 13:44-52\s+2 +\s-21 Tim 5:3-10 \(bu Matt 13:44-52\s+2 T} T{ \fB9\fP \s-2St. John Leonardi\s+2 .br diff --git a/test/golden/grid-2027.tex b/test/golden/grid-2027.tex index b2576a2..674b9c4 100644 --- a/test/golden/grid-2027.tex +++ b/test/golden/grid-2027.tex @@ -113,8 +113,8 @@ \textbf{ Sunday } & \textbf{ Monday } & \textbf{ Tuesday } & \textbf{ Wednesday } & \textbf{ Thursday } & \textbf{ Friday } & \textbf{ Saturday } \\ \hline & \cellcolor{cred}\daycell{ 1 }{ St. Ignatius of Antioch }{ 3rd Class }{ Rom 8:35-39\ \textperiodcentered\ John 12:24-26 } & \cellcolor{cwhite}\daycell{ 2 }{ Purification of the Blessed Virgin Mary }{ 2nd Class }{ Mal 3:1-4\ \textperiodcentered\ Luke 2:22-32 } & \cellcolor{cviolet}\daycell{ 3 }{ Wednesday of the 2nd Week of Septuagesimatide }{ 4th Class }{ 2 Cor 11:19-33; 12:1-9\ \textperiodcentered\ Luke 8:4-15 } & \cellcolor{cwhite}\daycell{ 4 }{ St. Andrew Corsini }{ 3rd Class }{ Ecclus 44:16-27; 45:3-20\ \textperiodcentered\ Matt 25:14-23 } & \cellcolor{cred}\daycell{ 5 }{ St. Agatha }{ 3rd Class }{ 1 Cor 1:26-31\ \textperiodcentered\ Matt 19:3-12 } & \cellcolor{cwhite}\daycell{ 6 }{ St. Titus }{ 3rd Class }{ Ecclus 44:16-27; 45:3-20\ \textperiodcentered\ Luke 10:1-9 } \\ \hline \cellcolor{cviolet}\daycell{ 7 }{ Quinquagesima Sunday }{ 2nd Class }{ 1 Cor 13:1-13\ \textperiodcentered\ Luke 18:31-43 } & \cellcolor{cwhite}\daycell{ 8 }{ St. John of Matha }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cwhite}\daycell{ 9 }{ St. Cyril of Alexandria }{ 3rd Class }{ 2 Tim 4:1-8\ \textperiodcentered\ Matt 5:13-19 } & \cellcolor{cviolet}\daycell{ 10 }{ Ash Wednesday }{ 1st Class }{ Joel 2:12-19\ \textperiodcentered\ Matt 6:16-21 } & \cellcolor{cviolet}\daycell{ 11 }{ Thursday after Ash Wednesday }{ 3rd Class }{ Isa 38:1-6\ \textperiodcentered\ Matt 8:5-13 } & \cellcolor{cviolet}\daycell{ 12 }{ Friday after Ash Wednesday }{ 3rd Class }{ Isa 58:1-9\ \textperiodcentered\ Matt 5:43-48; 6:1-4 } & \cellcolor{cviolet}\daycell{ 13 }{ Saturday after Ash Wednesday }{ 3rd Class }{ Isa 58:9-14\ \textperiodcentered\ Mark 6:47-56 } \\ \hline -\cellcolor{cviolet}\daycell{ 14 }{ 1st Sunday of Lent }{ 1st Class }{ 2 Cor 6:1-10\ \textperiodcentered\ Matt 4:1-11 } & \cellcolor{cviolet}\daycell{ 15 }{ Monday of the 1st Week of Lent }{ 3rd Class }{ Ezech 34:11-16\ \textperiodcentered\ Matt 25:31-46 } & \cellcolor{cviolet}\daycell{ 16 }{ Tuesday of the 1st Week of Lent }{ 3rd Class }{ Isa 55:6-11\ \textperiodcentered\ Matt 21:10-17 } & \cellcolor{cviolet}\daycell{ 17 }{ Lenten Ember Wednesday }{ 2nd Class }{ 3 Kings 19:3-8\ \textperiodcentered\ Matt 12:38-50 } & \cellcolor{cviolet}\daycell{ 18 }{ Thursday of the 1st Week of Lent }{ 3rd Class }{ Ezech 18:1-9\ \textperiodcentered\ Matt 15:21-28 } & \cellcolor{cviolet}\daycell{ 19 }{ Lenten Ember Friday }{ 2nd Class }{ Ezech 18:20-28\ \textperiodcentered\ John 5:1-15 } & \cellcolor{cviolet}\daycell{ 20 }{ Lenten Ember Saturday }{ 2nd Class }{ 1 Thess 5:14-23\ \textperiodcentered\ Matt 17:1-9 } \\ \hline -\cellcolor{cviolet}\daycell{ 21 }{ 2nd Sunday of Lent }{ 1st Class }{ 1 Thess 4:1-7\ \textperiodcentered\ Matt 17:1-9 } & \cellcolor{cwhite}\daycell{ 22 }{ Chair of St. Peter }{ 2nd Class }{ 1 Pet 1:1-7\ \textperiodcentered\ Matt 16:13-19 } & \cellcolor{cviolet}\daycell{ 23 }{ Tuesday of the 2nd Week of Lent }{ 3rd Class }{ 3 Kings 17:8-16\ \textperiodcentered\ Matt 23:1-12 } & \cellcolor{cred}\daycell{ 24 }{ St. Matthias }{ 2nd Class }{ Acts 1:15-26\ \textperiodcentered\ Matt 11:25-30 } & \cellcolor{cviolet}\daycell{ 25 }{ Thursday of the 2nd Week of Lent }{ 3rd Class }{ Jer 17:5-10\ \textperiodcentered\ Luke 16:19-31 } & \cellcolor{cviolet}\daycell{ 26 }{ Friday of the 2nd Week of Lent }{ 3rd Class }{ Gen 37:6-22\ \textperiodcentered\ Matt 21:33-46 } & \cellcolor{cviolet}\daycell{ 27 }{ Saturday of the 2nd Week of Lent }{ 3rd Class }{ Gen 27:6-40\ \textperiodcentered\ Luke 15:11-32 } \\ \hline +\cellcolor{cviolet}\daycell{ 14 }{ 1st Sunday of Lent }{ 1st Class }{ 2 Cor 6:1-10\ \textperiodcentered\ Matt 4:1-11 } & \cellcolor{cviolet}\daycell{ 15 }{ Monday of the 1st Week of Lent }{ 3rd Class }{ Ezech 34:11-16\ \textperiodcentered\ Matt 25:31-46 } & \cellcolor{cviolet}\daycell{ 16 }{ Tuesday of the 1st Week of Lent }{ 3rd Class }{ Isa 55:6-11\ \textperiodcentered\ Matt 21:10-17 } & \cellcolor{cviolet}\daycell{ 17 }{ Lenten Ember Wednesday }{ 2nd Class }{ 3 Kgs. 19:3-8\ \textperiodcentered\ Matt 12:38-50 } & \cellcolor{cviolet}\daycell{ 18 }{ Thursday of the 1st Week of Lent }{ 3rd Class }{ Ezech 18:1-9\ \textperiodcentered\ Matt 15:21-28 } & \cellcolor{cviolet}\daycell{ 19 }{ Lenten Ember Friday }{ 2nd Class }{ Ezech 18:20-28\ \textperiodcentered\ John 5:1-15 } & \cellcolor{cviolet}\daycell{ 20 }{ Lenten Ember Saturday }{ 2nd Class }{ 1 Thess 5:14-23\ \textperiodcentered\ Matt 17:1-9 } \\ \hline +\cellcolor{cviolet}\daycell{ 21 }{ 2nd Sunday of Lent }{ 1st Class }{ 1 Thess 4:1-7\ \textperiodcentered\ Matt 17:1-9 } & \cellcolor{cwhite}\daycell{ 22 }{ Chair of St. Peter }{ 2nd Class }{ 1 Pet 1:1-7\ \textperiodcentered\ Matt 16:13-19 } & \cellcolor{cviolet}\daycell{ 23 }{ Tuesday of the 2nd Week of Lent }{ 3rd Class }{ 3 Kgs. 17:8-16\ \textperiodcentered\ Matt 23:1-12 } & \cellcolor{cred}\daycell{ 24 }{ St. Matthias }{ 2nd Class }{ Acts 1:15-26\ \textperiodcentered\ Matt 11:25-30 } & \cellcolor{cviolet}\daycell{ 25 }{ Thursday of the 2nd Week of Lent }{ 3rd Class }{ Jer 17:5-10\ \textperiodcentered\ Luke 16:19-31 } & \cellcolor{cviolet}\daycell{ 26 }{ Friday of the 2nd Week of Lent }{ 3rd Class }{ Gen 37:6-22\ \textperiodcentered\ Matt 21:33-46 } & \cellcolor{cviolet}\daycell{ 27 }{ Saturday of the 2nd Week of Lent }{ 3rd Class }{ Gen 27:6-40\ \textperiodcentered\ Luke 15:11-32 } \\ \hline \cellcolor{cviolet}\daycell{ 28 }{ 3rd Sunday of Lent }{ 1st Class }{ Eph 5:1-9\ \textperiodcentered\ Luke 11:14-28 } & & & & & & \\ \hline \end{tabular} @@ -124,8 +124,8 @@ \renewcommand{\arraystretch}{1} \begin{tabular}{|*{7}{p{\cellw}|}}\hline \textbf{ Sunday } & \textbf{ Monday } & \textbf{ Tuesday } & \textbf{ Wednesday } & \textbf{ Thursday } & \textbf{ Friday } & \textbf{ Saturday } \\ \hline - & \cellcolor{cviolet}\daycell{ 1 }{ Monday of the 3rd Week of Lent }{ 3rd Class }{ 4 Kings 5:1-15\ \textperiodcentered\ Luke 4:23-30 } & \cellcolor{cviolet}\daycell{ 2 }{ Tuesday of the 3rd Week of Lent }{ 3rd Class }{ 4 Kings 4:1-7\ \textperiodcentered\ Matt 18:15-22 } & \cellcolor{cviolet}\daycell{ 3 }{ Wednesday of the 3rd Week of Lent }{ 3rd Class }{ Ex 20:12-24\ \textperiodcentered\ Matt 15:1-20 } & \cellcolor{cviolet}\daycell{ 4 }{ Thursday of the 3rd Week of Lent }{ 3rd Class }{ Jer 7:1-7\ \textperiodcentered\ Luke 4:38-44 } & \cellcolor{cviolet}\daycell{ 5 }{ Friday of the 3rd Week of Lent }{ 3rd Class }{ Num 20:1, 3; 20:6-13\ \textperiodcentered\ John 4:5-42 } & \cellcolor{cviolet}\daycell{ 6 }{ Saturday of the 3rd Week of Lent }{ 3rd Class }{ Dan 13:1-9, 15-17, 19-30, 33-62\ \textperiodcentered\ John 8:1-11 } \\ \hline -\cellcolor{crose}\daycell{ 7 }{ 4th Sunday of Lent }{ 1st Class }{ Gal 4:22-31\ \textperiodcentered\ John 6:1-15 } & \cellcolor{cviolet}\daycell{ 8 }{ Monday of the 4th Week of Lent }{ 3rd Class }{ 3 Kings 3:16-28\ \textperiodcentered\ John 2:13-25 } & \cellcolor{cviolet}\daycell{ 9 }{ Tuesday of the 4th Week of Lent }{ 3rd Class }{ Ex 32:7-14\ \textperiodcentered\ John 7:14-31 } & \cellcolor{cviolet}\daycell{ 10 }{ Wednesday of the 4th Week of Lent }{ 3rd Class }{ Isa 1:16-19\ \textperiodcentered\ John 9:1-38 } & \cellcolor{cviolet}\daycell{ 11 }{ Thursday of the 4th Week of Lent }{ 3rd Class }{ 4 Kings 4:25-38\ \textperiodcentered\ Luke 7:11-16 } & \cellcolor{cviolet}\daycell{ 12 }{ Friday of the 4th Week of Lent }{ 3rd Class }{ 3 Kings 17:17-24\ \textperiodcentered\ John 11:1-45 } & \cellcolor{cviolet}\daycell{ 13 }{ Saturday of the 4th Week of Lent }{ 3rd Class }{ Isa 49:8-15\ \textperiodcentered\ John 8:12-20 } \\ \hline + & \cellcolor{cviolet}\daycell{ 1 }{ Monday of the 3rd Week of Lent }{ 3rd Class }{ 4 Kgs. 5:1-15\ \textperiodcentered\ Luke 4:23-30 } & \cellcolor{cviolet}\daycell{ 2 }{ Tuesday of the 3rd Week of Lent }{ 3rd Class }{ 4 Kgs. 4:1-7\ \textperiodcentered\ Matt 18:15-22 } & \cellcolor{cviolet}\daycell{ 3 }{ Wednesday of the 3rd Week of Lent }{ 3rd Class }{ Ex 20:12-24\ \textperiodcentered\ Matt 15:1-20 } & \cellcolor{cviolet}\daycell{ 4 }{ Thursday of the 3rd Week of Lent }{ 3rd Class }{ Jer 7:1-7\ \textperiodcentered\ Luke 4:38-44 } & \cellcolor{cviolet}\daycell{ 5 }{ Friday of the 3rd Week of Lent }{ 3rd Class }{ Num 20:1, 3; 20:6-13\ \textperiodcentered\ John 4:5-42 } & \cellcolor{cviolet}\daycell{ 6 }{ Saturday of the 3rd Week of Lent }{ 3rd Class }{ Dan 13:1-9, 15-17, 19-30, 33-62\ \textperiodcentered\ John 8:1-11 } \\ \hline +\cellcolor{crose}\daycell{ 7 }{ 4th Sunday of Lent }{ 1st Class }{ Gal 4:22-31\ \textperiodcentered\ John 6:1-15 } & \cellcolor{cviolet}\daycell{ 8 }{ Monday of the 4th Week of Lent }{ 3rd Class }{ 3 Kgs. 3:16-28\ \textperiodcentered\ John 2:13-25 } & \cellcolor{cviolet}\daycell{ 9 }{ Tuesday of the 4th Week of Lent }{ 3rd Class }{ Ex 32:7-14\ \textperiodcentered\ John 7:14-31 } & \cellcolor{cviolet}\daycell{ 10 }{ Wednesday of the 4th Week of Lent }{ 3rd Class }{ Isa 1:16-19\ \textperiodcentered\ John 9:1-38 } & \cellcolor{cviolet}\daycell{ 11 }{ Thursday of the 4th Week of Lent }{ 3rd Class }{ 4 Kgs. 4:25-38\ \textperiodcentered\ Luke 7:11-16 } & \cellcolor{cviolet}\daycell{ 12 }{ Friday of the 4th Week of Lent }{ 3rd Class }{ 3 Kgs. 17:17-24\ \textperiodcentered\ John 11:1-45 } & \cellcolor{cviolet}\daycell{ 13 }{ Saturday of the 4th Week of Lent }{ 3rd Class }{ Isa 49:8-15\ \textperiodcentered\ John 8:12-20 } \\ \hline \cellcolor{cviolet}\daycell{ 14 }{ Passion Sunday }{ 1st Class }{ Heb 9:11-15\ \textperiodcentered\ John 8:46-59 } & \cellcolor{cviolet}\daycell{ 15 }{ Monday of the 1st Week of Passion Week }{ 3rd Class }{ Jonas 3:1-10\ \textperiodcentered\ John 7:32-39 } & \cellcolor{cviolet}\daycell{ 16 }{ Tuesday of the 1st Week of Passion Week }{ 3rd Class }{ Dan 14:27, 28-42\ \textperiodcentered\ John 7:1-13 } & \cellcolor{cviolet}\daycell{ 17 }{ Wednesday of the 1st Week of Passion Week }{ 3rd Class }{ Lev 19:1-2, 11-19, 25\ \textperiodcentered\ John 10:22-38 } & \cellcolor{cviolet}\daycell{ 18 }{ Thursday of the 1st Week of Passion Week }{ 3rd Class }{ Dan 3:25, 34-45\ \textperiodcentered\ Luke 7:36-50 } & \cellcolor{cwhite}\daycell{ 19 }{ St. Joseph, Spouse of the Bl. Virgin Mary }{ 1st Class }{ Ecclus 45:1-6\ \textperiodcentered\ Matt 1:18-21 } & \cellcolor{cviolet}\daycell{ 20 }{ Saturday of the 1st Week of Passion Week }{ 3rd Class }{ Jer 18:18-23\ \textperiodcentered\ John 12:10-36 } \\ \hline \cellcolor{cviolet}\daycell{ 21 }{ Palm Sunday }{ 1st Class }{ Phil 2:5-11\ \textperiodcentered\ Matt 26:36-75; 27:1-60 } & \cellcolor{cviolet}\daycell{ 22 }{ Monday of Holy Week }{ 1st Class }{ Isa 50:5-10\ \textperiodcentered\ John 12:1-9 } & \cellcolor{cviolet}\daycell{ 23 }{ Tuesday of Holy Week }{ 1st Class }{ Jer 11:18-20\ \textperiodcentered\ Mark 14:32-72; 15:1-46 } & \cellcolor{cviolet}\daycell{ 24 }{ Wednesday of Holy Week (Spy Wednesday) }{ 1st Class }{ Isa 53:1-12\ \textperiodcentered\ Luke 22:39-71; 23:1-53 } & \cellcolor{cwhite}\daycell{ 25 }{ Holy Thursday (Maundy Thursday) }{ 1st Class }{ 1 Cor 11:20-32\ \textperiodcentered\ John 13:1-15 } & \cellcolor{cblack}\daycell{ 26 }{ Good Friday }{ 1st Class }{ Ex 12:1-11\ \textperiodcentered\ John 18:1-40; 19:1-42 } & \cellcolor{cviolet}\daycell{ 27 }{ Holy Saturday }{ 1st Class }{ Col 3:1-4\ \textperiodcentered\ Matt 28:1-7 } \\ \hline \cellcolor{cwhite}\daycell{ 28 }{ Easter Sunday }{ 1st Class }{ 1 Cor 5:7-8\ \textperiodcentered\ Mark 16:1-7 } & \cellcolor{cwhite}\daycell{ 29 }{ Monday of Easter Week }{ 1st Class }{ Acts 10:37-43\ \textperiodcentered\ Luke 24:13-35 } & \cellcolor{cwhite}\daycell{ 30 }{ Tuesday of Easter Week }{ 1st Class }{ Acts 13:16; 13:26-33\ \textperiodcentered\ Luke 24:36-47 } & \cellcolor{cwhite}\daycell{ 31 }{ Wednesday of Easter Week }{ 1st Class }{ Acts 3:13-15; 3:17-19\ \textperiodcentered\ John 21:1-14 } & & & \\ \hline @@ -151,7 +151,7 @@ \begin{tabular}{|*{7}{p{\cellw}|}}\hline \textbf{ Sunday } & \textbf{ Monday } & \textbf{ Tuesday } & \textbf{ Wednesday } & \textbf{ Thursday } & \textbf{ Friday } & \textbf{ Saturday } \\ \hline & & & & & & \cellcolor{cwhite}\daycell{ 1 }{ St. Joseph the Workman }{ 1st Class }{ Col 3:14-15, 17, 23-24\ \textperiodcentered\ Matt 13:54-58 } \\ \hline -\cellcolor{cwhite}\daycell{ 2 }{ 5th Sunday after Easter }{ 2nd Class }{ Jas 1:22-27\ \textperiodcentered\ John 16:23-30 } & \cellcolor{cviolet}\daycell{ 3 }{ Rogation Monday }{ 4th Class }{ Jas 1:22-27\ \textperiodcentered\ John 16:23-30 } & \cellcolor{cwhite}\daycell{ 4 }{ St. Monica }{ 3rd Class }{ 1 Tim. 5:3-10\ \textperiodcentered\ Luke 7:11-16 } & \cellcolor{cwhite}\daycell{ 5 }{ Vigil of the Ascension }{ 2nd Class }{ Eph 4:7-13\ \textperiodcentered\ John 17:1-11 } & \cellcolor{cwhite}\daycell{ 6 }{ The Ascension of Our Lord }{ 1st Class }{ Acts 1:1-11\ \textperiodcentered\ Mark 16:14-20 } & \cellcolor{cred}\daycell{ 7 }{ St. Stanislaus }{ 3rd Class }{ Wis 5:1-5\ \textperiodcentered\ John 15:1-7 } & \cellcolor{cwhite}\daycell{ 8 }{ Our Lady's Saturday Office }{ 4th Class }{ Ecclus 24:14-16\ \textperiodcentered\ John 19:25-27 } \\ \hline +\cellcolor{cwhite}\daycell{ 2 }{ 5th Sunday after Easter }{ 2nd Class }{ Jas 1:22-27\ \textperiodcentered\ John 16:23-30 } & \cellcolor{cviolet}\daycell{ 3 }{ Rogation Monday }{ 4th Class }{ Jas 1:22-27\ \textperiodcentered\ John 16:23-30 } & \cellcolor{cwhite}\daycell{ 4 }{ St. Monica }{ 3rd Class }{ 1 Tim 5:3-10\ \textperiodcentered\ Luke 7:11-16 } & \cellcolor{cwhite}\daycell{ 5 }{ Vigil of the Ascension }{ 2nd Class }{ Eph 4:7-13\ \textperiodcentered\ John 17:1-11 } & \cellcolor{cwhite}\daycell{ 6 }{ The Ascension of Our Lord }{ 1st Class }{ Acts 1:1-11\ \textperiodcentered\ Mark 16:14-20 } & \cellcolor{cred}\daycell{ 7 }{ St. Stanislaus }{ 3rd Class }{ Wis 5:1-5\ \textperiodcentered\ John 15:1-7 } & \cellcolor{cwhite}\daycell{ 8 }{ Our Lady's Saturday Office }{ 4th Class }{ Ecclus 24:14-16\ \textperiodcentered\ John 19:25-27 } \\ \hline \cellcolor{cwhite}\daycell{ 9 }{ Sunday after the Ascension }{ 2nd Class }{ 1 Pet 4:7-11\ \textperiodcentered\ John 15:26-27; 16:1-4 } & \cellcolor{cwhite}\daycell{ 10 }{ St. Antoninus }{ 3rd Class }{ Ecclus 44:16-27; 45:3-20\ \textperiodcentered\ Matt 25:14-23 } & \cellcolor{cred}\daycell{ 11 }{ Sts. Philip \& James }{ 2nd Class }{ Wis 5:1-5\ \textperiodcentered\ John 14:1-13 } & \cellcolor{cred}\daycell{ 12 }{ Sts. Nereus, Achilleus, Domitilla, \& Pancras }{ 3rd Class }{ Wis 5:1-5\ \textperiodcentered\ John 4:46-53 } & \cellcolor{cwhite}\daycell{ 13 }{ St. Robert Bellarmine }{ 3rd Class }{ Wis 7:7-14\ \textperiodcentered\ Matt 5:13-19 } & \cellcolor{cwhite}\daycell{ 14 }{ Friday of the 7th Week of Eastertide }{ 4th Class }{ 1 Pet 4:7-11\ \textperiodcentered\ John 15:26-27; 16:1-4 } & \cellcolor{cred}\daycell{ 15 }{ Vigil of Pentecost }{ 1st Class }{ Acts 19:1-8\ \textperiodcentered\ John 14:15-21 } \\ \hline \cellcolor{cred}\daycell{ 16 }{ Pentecost Sunday (Whitsunday) }{ 1st Class }{ Acts 2:1-11\ \textperiodcentered\ John 14:23-31 } & \cellcolor{cred}\daycell{ 17 }{ Monday of Pentecost Week }{ 1st Class }{ Acts 10:34, 42-48\ \textperiodcentered\ John 3:16-21 } & \cellcolor{cred}\daycell{ 18 }{ Tuesday of Pentecost Week }{ 1st Class }{ Acts 8:14-17\ \textperiodcentered\ John 10:1-10 } & \cellcolor{cred}\daycell{ 19 }{ Pentecost Ember Wednesday }{ 1st Class }{ Acts 5:12-16\ \textperiodcentered\ John 6:44-52 } & \cellcolor{cred}\daycell{ 20 }{ Thursday of Pentecost Week }{ 1st Class }{ Acts 8:5-8\ \textperiodcentered\ Luke 9:1-6 } & \cellcolor{cred}\daycell{ 21 }{ Pentecost Ember Friday }{ 1st Class }{ Joel 2:23-24; 2:26-27\ \textperiodcentered\ Luke 5:17-26 } & \cellcolor{cred}\daycell{ 22 }{ Pentecost Ember Saturday }{ 1st Class }{ Rom 5:1-5\ \textperiodcentered\ Luke 4:38-44 } \\ \hline \cellcolor{cwhite}\daycell{ 23 }{ Trinity Sunday }{ 1st Class }{ Rom 11:33-36\ \textperiodcentered\ Matt 28:18-20 } & \cellcolor{cgreen}\daycell{ 24 }{ Monday of the 1st Week of the Time after Pentecost }{ 4th Class }{ 1 John 4:8-21\ \textperiodcentered\ Luke 6:36-42 } & \cellcolor{cwhite}\daycell{ 25 }{ St. Gregory VII }{ 3rd Class }{ 1 Pet 5:1-4; 5:10-11\ \textperiodcentered\ Matt 16:13-19 } & \cellcolor{cwhite}\daycell{ 26 }{ St. Philip Neri }{ 3rd Class }{ Wis 7:7-14\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cwhite}\daycell{ 27 }{ Corpus Christi }{ 1st Class }{ 1 Cor 11:23-29\ \textperiodcentered\ John 6:56-59 } & \cellcolor{cwhite}\daycell{ 28 }{ St. Augustine of Canterbury }{ 3rd Class }{ 1 Thess 2:2-9\ \textperiodcentered\ Luke 10:1-9 } & \cellcolor{cwhite}\daycell{ 29 }{ St. Mary Magdalene de Pazzi }{ 3rd Class }{ 2 Cor 10:17-18; 11:1-2\ \textperiodcentered\ Matt 25:1-13 } \\ \hline @@ -177,10 +177,10 @@ \renewcommand{\arraystretch}{1} \begin{tabular}{|*{7}{p{\cellw}|}}\hline \textbf{ Sunday } & \textbf{ Monday } & \textbf{ Tuesday } & \textbf{ Wednesday } & \textbf{ Thursday } & \textbf{ Friday } & \textbf{ Saturday } \\ \hline - & & & & \cellcolor{cred}\daycell{ 1 }{ The Precious Blood of Our Lord Jesus Christ }{ 1st Class }{ Heb 9:11-15\ \textperiodcentered\ John 19:30-35 } & \cellcolor{cwhite}\daycell{ 2 }{ Visitation of the Blessed Virgin Mary }{ 2nd Class }{ Song 2:8-14\ \textperiodcentered\ Luke 1:39-47 } & \cellcolor{cred}\daycell{ 3 }{ St. Irenaeus }{ 3rd Class }{ 2 Tim 3:14-17; 4:1-5\ \textperiodcentered\ Matt 10:28-33 } \\ \hline -\cellcolor{cgreen}\daycell{ 4 }{ 7th Sunday after Pentecost }{ 2nd Class }{ Rom 6:19-23\ \textperiodcentered\ Matt 7:15-21 } & \cellcolor{cwhite}\daycell{ 5 }{ St. Anthony Mary Zaccariah }{ 3rd Class }{ 1 Tim. 4:8-16\ \textperiodcentered\ Mark 10:15-21 } & \cellcolor{cgreen}\daycell{ 6 }{ Tuesday of the 7th Week of the Time after Pentecost }{ 4th Class }{ Rom 6:19-23\ \textperiodcentered\ Matt 7:15-21 } & \cellcolor{cwhite}\daycell{ 7 }{ Sts. Cyril \& Methodius }{ 3rd Class }{ Heb 7:23-27\ \textperiodcentered\ Luke 10:1-9 } & \cellcolor{cwhite}\daycell{ 8 }{ St. Elizabeth of Portugal }{ 3rd Class }{ Prov 31:10-31\ \textperiodcentered\ Matt 13:44-52 } & \cellcolor{cgreen}\daycell{ 9 }{ Friday of the 7th Week of the Time after Pentecost }{ 4th Class }{ Rom 6:19-23\ \textperiodcentered\ Matt 7:15-21 } & \cellcolor{cred}\daycell{ 10 }{ Seven Holy Brothers and Sts. Rufina \& Secunda }{ 3rd Class }{ Prov 31:10-31\ \textperiodcentered\ Matt 12:46-50 } \\ \hline + & & & & \cellcolor{cred}\daycell{ 1 }{ The Precious Blood of Our Lord Jesus Christ }{ 1st Class }{ Heb 9:11-15\ \textperiodcentered\ John 19:30-35 } & \cellcolor{cwhite}\daycell{ 2 }{ Visitation of the Blessed Virgin Mary }{ 2nd Class }{ Cant. 2:8-14\ \textperiodcentered\ Luke 1:39-47 } & \cellcolor{cred}\daycell{ 3 }{ St. Irenaeus }{ 3rd Class }{ 2 Tim 3:14-17; 4:1-5\ \textperiodcentered\ Matt 10:28-33 } \\ \hline +\cellcolor{cgreen}\daycell{ 4 }{ 7th Sunday after Pentecost }{ 2nd Class }{ Rom 6:19-23\ \textperiodcentered\ Matt 7:15-21 } & \cellcolor{cwhite}\daycell{ 5 }{ St. Anthony Mary Zaccariah }{ 3rd Class }{ 1 Tim 4:8-16\ \textperiodcentered\ Mark 10:15-21 } & \cellcolor{cgreen}\daycell{ 6 }{ Tuesday of the 7th Week of the Time after Pentecost }{ 4th Class }{ Rom 6:19-23\ \textperiodcentered\ Matt 7:15-21 } & \cellcolor{cwhite}\daycell{ 7 }{ Sts. Cyril \& Methodius }{ 3rd Class }{ Heb 7:23-27\ \textperiodcentered\ Luke 10:1-9 } & \cellcolor{cwhite}\daycell{ 8 }{ St. Elizabeth of Portugal }{ 3rd Class }{ Prov 31:10-31\ \textperiodcentered\ Matt 13:44-52 } & \cellcolor{cgreen}\daycell{ 9 }{ Friday of the 7th Week of the Time after Pentecost }{ 4th Class }{ Rom 6:19-23\ \textperiodcentered\ Matt 7:15-21 } & \cellcolor{cred}\daycell{ 10 }{ Seven Holy Brothers and Sts. Rufina \& Secunda }{ 3rd Class }{ Prov 31:10-31\ \textperiodcentered\ Matt 12:46-50 } \\ \hline \cellcolor{cgreen}\daycell{ 11 }{ 8th Sunday after Pentecost }{ 2nd Class }{ Rom 8:12-17\ \textperiodcentered\ Luke 16:1-9 } & \cellcolor{cwhite}\daycell{ 12 }{ St. John Gualbert }{ 3rd Class }{ Ecclus 45:1-6\ \textperiodcentered\ Matt 5:43-48 } & \cellcolor{cgreen}\daycell{ 13 }{ Tuesday of the 8th Week of the Time after Pentecost }{ 4th Class }{ Rom 8:12-17\ \textperiodcentered\ Luke 16:1-9 } & \cellcolor{cwhite}\daycell{ 14 }{ St. Bonaventure }{ 3rd Class }{ 2 Tim 4:1-8\ \textperiodcentered\ Matt 5:13-19 } & \cellcolor{cwhite}\daycell{ 15 }{ St. Henry the Emperor }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cgreen}\daycell{ 16 }{ Friday of the 8th Week of the Time after Pentecost }{ 4th Class }{ Rom 8:12-17\ \textperiodcentered\ Luke 16:1-9 } & \cellcolor{cwhite}\daycell{ 17 }{ Our Lady's Saturday Office }{ 4th Class }{ Ecclus 24:14-16\ \textperiodcentered\ Luke 11:27-28 } \\ \hline -\cellcolor{cgreen}\daycell{ 18 }{ 9th Sunday after Pentecost }{ 2nd Class }{ 1 Cor 10:6-13\ \textperiodcentered\ Luke 19:41-47 } & \cellcolor{cwhite}\daycell{ 19 }{ St. Vincent de Paul }{ 3rd Class }{ 1 Cor 4:9-14\ \textperiodcentered\ Luke 10:1-9 } & \cellcolor{cwhite}\daycell{ 20 }{ St. Jerome Emiliani }{ 3rd Class }{ Isa 58:7-11\ \textperiodcentered\ Matt 19:13-21 } & \cellcolor{cwhite}\daycell{ 21 }{ St. Laurence of Brindisi }{ 3rd Class }{ 2 Tim 4:1-8\ \textperiodcentered\ Matt 5:13-19 } & \cellcolor{cwhite}\daycell{ 22 }{ St. Mary Magdalene }{ 3rd Class }{ Song 3:2-5; 8:6-7\ \textperiodcentered\ Luke 7:36-50 } & \cellcolor{cred}\daycell{ 23 }{ St. Apollinaris }{ 3rd Class }{ 1 Pet 5:1-11\ \textperiodcentered\ Luke 22:24-30 } & \cellcolor{cwhite}\daycell{ 24 }{ Our Lady's Saturday Office }{ 4th Class }{ Ecclus 24:14-16\ \textperiodcentered\ Luke 11:27-28 } \\ \hline +\cellcolor{cgreen}\daycell{ 18 }{ 9th Sunday after Pentecost }{ 2nd Class }{ 1 Cor 10:6-13\ \textperiodcentered\ Luke 19:41-47 } & \cellcolor{cwhite}\daycell{ 19 }{ St. Vincent de Paul }{ 3rd Class }{ 1 Cor 4:9-14\ \textperiodcentered\ Luke 10:1-9 } & \cellcolor{cwhite}\daycell{ 20 }{ St. Jerome Emiliani }{ 3rd Class }{ Isa 58:7-11\ \textperiodcentered\ Matt 19:13-21 } & \cellcolor{cwhite}\daycell{ 21 }{ St. Laurence of Brindisi }{ 3rd Class }{ 2 Tim 4:1-8\ \textperiodcentered\ Matt 5:13-19 } & \cellcolor{cwhite}\daycell{ 22 }{ St. Mary Magdalene }{ 3rd Class }{ Cant. 3:2-5; 8:6-7\ \textperiodcentered\ Luke 7:36-50 } & \cellcolor{cred}\daycell{ 23 }{ St. Apollinaris }{ 3rd Class }{ 1 Pet 5:1-11\ \textperiodcentered\ Luke 22:24-30 } & \cellcolor{cwhite}\daycell{ 24 }{ Our Lady's Saturday Office }{ 4th Class }{ Ecclus 24:14-16\ \textperiodcentered\ Luke 11:27-28 } \\ \hline \cellcolor{cgreen}\daycell{ 25 }{ 10th Sunday after Pentecost }{ 2nd Class }{ 1 Cor 12:2-11\ \textperiodcentered\ Luke 18:9-14 } & \cellcolor{cwhite}\daycell{ 26 }{ St. Anne, Mother of the Blessed Virgin }{ 2nd Class }{ Prov 31:10-31\ \textperiodcentered\ Matt 13:44-52 } & \cellcolor{cgreen}\daycell{ 27 }{ Tuesday of the 10th Week of the Time after Pentecost }{ 4th Class }{ 1 Cor 12:2-11\ \textperiodcentered\ Luke 18:9-14 } & \cellcolor{cred}\daycell{ 28 }{ Sts. Nazarius \& Celsus, St. Victor I \& St. Innocent I }{ 3rd Class }{ Wis 10:17-20\ \textperiodcentered\ Luke 21:9-19 } & \cellcolor{cwhite}\daycell{ 29 }{ St. Martha }{ 3rd Class }{ 2 Cor 10:17-18; 11:1-2\ \textperiodcentered\ Luke 10:38-42 } & \cellcolor{cgreen}\daycell{ 30 }{ Friday of the 10th Week of the Time after Pentecost }{ 4th Class }{ 1 Cor 12:2-11\ \textperiodcentered\ Luke 18:9-14 } & \cellcolor{cwhite}\daycell{ 31 }{ St. Ignatius Loyola }{ 3rd Class }{ 2 Tim 2:8-10; 3:10-12\ \textperiodcentered\ Luke 10:1-9 } \\ \hline \end{tabular} @@ -190,9 +190,9 @@ \renewcommand{\arraystretch}{1} \begin{tabular}{|*{7}{p{\cellw}|}}\hline \textbf{ Sunday } & \textbf{ Monday } & \textbf{ Tuesday } & \textbf{ Wednesday } & \textbf{ Thursday } & \textbf{ Friday } & \textbf{ Saturday } \\ \hline -\cellcolor{cgreen}\daycell{ 1 }{ 11th Sunday after Pentecost }{ 2nd Class }{ 1 Cor 15:1-10\ \textperiodcentered\ Mark 7:31-37 } & \cellcolor{cwhite}\daycell{ 2 }{ St. Alphonsus Liguori }{ 3rd Class }{ 2 Tim 2:1-7\ \textperiodcentered\ Luke 10:1-9 } & \cellcolor{cgreen}\daycell{ 3 }{ Tuesday of the 11th Week of the Time after Pentecost }{ 4th Class }{ 1 Cor 15:1-10\ \textperiodcentered\ Mark 7:31-37 } & \cellcolor{cwhite}\daycell{ 4 }{ St. Dominic }{ 3rd Class }{ 2 Tim 4:1-8\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cwhite}\daycell{ 5 }{ Dedication of the Basilica of St. Mary Major }{ 3rd Class }{ Ecclus 24:14-16\ \textperiodcentered\ Luke 11:27-28 } & \cellcolor{cwhite}\daycell{ 6 }{ Transfiguration of Our Lord }{ 2nd Class }{ 2 Pet. 1:16-19\ \textperiodcentered\ Matt 17:1-9 } & \cellcolor{cwhite}\daycell{ 7 }{ St. Cajetan }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Matt 6:24-33 } \\ \hline +\cellcolor{cgreen}\daycell{ 1 }{ 11th Sunday after Pentecost }{ 2nd Class }{ 1 Cor 15:1-10\ \textperiodcentered\ Mark 7:31-37 } & \cellcolor{cwhite}\daycell{ 2 }{ St. Alphonsus Liguori }{ 3rd Class }{ 2 Tim 2:1-7\ \textperiodcentered\ Luke 10:1-9 } & \cellcolor{cgreen}\daycell{ 3 }{ Tuesday of the 11th Week of the Time after Pentecost }{ 4th Class }{ 1 Cor 15:1-10\ \textperiodcentered\ Mark 7:31-37 } & \cellcolor{cwhite}\daycell{ 4 }{ St. Dominic }{ 3rd Class }{ 2 Tim 4:1-8\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cwhite}\daycell{ 5 }{ Dedication of the Basilica of St. Mary Major }{ 3rd Class }{ Ecclus 24:14-16\ \textperiodcentered\ Luke 11:27-28 } & \cellcolor{cwhite}\daycell{ 6 }{ Transfiguration of Our Lord }{ 2nd Class }{ 2 Pet 1:16-19\ \textperiodcentered\ Matt 17:1-9 } & \cellcolor{cwhite}\daycell{ 7 }{ St. Cajetan }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Matt 6:24-33 } \\ \hline \cellcolor{cgreen}\daycell{ 8 }{ 12th Sunday after Pentecost }{ 2nd Class }{ 2 Cor 3:4-9\ \textperiodcentered\ Luke 10:23-37 } & \cellcolor{cviolet}\daycell{ 9 }{ Vigil of St. Lawrence }{ 3rd Class }{ Ecclus 51:1-8, 12\ \textperiodcentered\ Matt 16:24-27 } & \cellcolor{cred}\daycell{ 10 }{ St. Lawrence }{ 2nd Class }{ 2 Cor 9:6-10\ \textperiodcentered\ John 12:24-26 } & \cellcolor{cgreen}\daycell{ 11 }{ Wednesday of the 12th Week of the Time after Pentecost }{ 4th Class }{ 2 Cor 3:4-9\ \textperiodcentered\ Luke 10:23-37 } & \cellcolor{cwhite}\daycell{ 12 }{ St. Clare }{ 3rd Class }{ 2 Cor 10:17-18; 11:1-2\ \textperiodcentered\ Matt 25:1-13 } & \cellcolor{cgreen}\daycell{ 13 }{ Friday of the 12th Week of the Time after Pentecost }{ 4th Class }{ 2 Cor 3:4-9\ \textperiodcentered\ Luke 10:23-37 } & \cellcolor{cviolet}\daycell{ 14 }{ Vigil of the Assumption }{ 2nd Class }{ Ecclus 24:23-31\ \textperiodcentered\ Luke 11:27-28 } \\ \hline -\cellcolor{cwhite}\daycell{ 15 }{ Assumption of the Blessed Virgin Mary }{ 1st Class }{ Judith 13:22-25; 15:10\ \textperiodcentered\ Luke 1:41-50 } & \cellcolor{cwhite}\daycell{ 16 }{ St. Joachim, Father of the Blessed Virgin }{ 2nd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Matt 1:1-16 } & \cellcolor{cwhite}\daycell{ 17 }{ St. Hyacinth }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cgreen}\daycell{ 18 }{ Wednesday of the 13th Week of the Time after Pentecost }{ 4th Class }{ Gal 3:16-22\ \textperiodcentered\ Luke 17:11-19 } & \cellcolor{cwhite}\daycell{ 19 }{ St. John Eudes }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cwhite}\daycell{ 20 }{ St. Bernard of Clairvaux }{ 3rd Class }{ Ecclus 39:6-14\ \textperiodcentered\ Matt 5:13-19 } & \cellcolor{cwhite}\daycell{ 21 }{ St. Jane Frances de Chantal }{ 3rd Class }{ Prov 31:10-31\ \textperiodcentered\ Matt 13:44-52 } \\ \hline +\cellcolor{cwhite}\daycell{ 15 }{ Assumption of the Blessed Virgin Mary }{ 1st Class }{ Jth 13:22-25; 15:10\ \textperiodcentered\ Luke 1:41-50 } & \cellcolor{cwhite}\daycell{ 16 }{ St. Joachim, Father of the Blessed Virgin }{ 2nd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Matt 1:1-16 } & \cellcolor{cwhite}\daycell{ 17 }{ St. Hyacinth }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cgreen}\daycell{ 18 }{ Wednesday of the 13th Week of the Time after Pentecost }{ 4th Class }{ Gal 3:16-22\ \textperiodcentered\ Luke 17:11-19 } & \cellcolor{cwhite}\daycell{ 19 }{ St. John Eudes }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cwhite}\daycell{ 20 }{ St. Bernard of Clairvaux }{ 3rd Class }{ Ecclus 39:6-14\ \textperiodcentered\ Matt 5:13-19 } & \cellcolor{cwhite}\daycell{ 21 }{ St. Jane Frances de Chantal }{ 3rd Class }{ Prov 31:10-31\ \textperiodcentered\ Matt 13:44-52 } \\ \hline \cellcolor{cgreen}\daycell{ 22 }{ 14th Sunday after Pentecost }{ 2nd Class }{ Gal 5:16-24\ \textperiodcentered\ Matt 6:24-33 } & \cellcolor{cwhite}\daycell{ 23 }{ St. Philip Benizi }{ 3rd Class }{ 1 Cor 4:9-14\ \textperiodcentered\ Luke 12:32-34 } & \cellcolor{cred}\daycell{ 24 }{ St. Bartholomew }{ 2nd Class }{ 1 Cor 12:27-31\ \textperiodcentered\ Luke 6:12-19 } & \cellcolor{cwhite}\daycell{ 25 }{ St. Louis IX }{ 3rd Class }{ Wis 10:10-14\ \textperiodcentered\ Luke 19:12-26 } & \cellcolor{cgreen}\daycell{ 26 }{ Thursday of the 14th Week of the Time after Pentecost }{ 4th Class }{ Gal 5:16-24\ \textperiodcentered\ Matt 6:24-33 } & \cellcolor{cwhite}\daycell{ 27 }{ St. Joseph Calasance }{ 3rd Class }{ Wis 10:10-14\ \textperiodcentered\ Matt 18:1-5 } & \cellcolor{cwhite}\daycell{ 28 }{ St. Augustine }{ 3rd Class }{ 2 Tim 4:1-8\ \textperiodcentered\ Matt 5:13-19 } \\ \hline \cellcolor{cgreen}\daycell{ 29 }{ 15th Sunday after Pentecost }{ 2nd Class }{ Gal 5:25-26; 6:1-10\ \textperiodcentered\ Luke 7:11-16 } & \cellcolor{cwhite}\daycell{ 30 }{ St. Rose of Lima }{ 3rd Class }{ 2 Cor 10:17-18; 11:1-2\ \textperiodcentered\ Matt 25:1-13 } & \cellcolor{cwhite}\daycell{ 31 }{ St. Raymond Nonnatus }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & & & & \\ \hline @@ -205,7 +205,7 @@ \textbf{ Sunday } & \textbf{ Monday } & \textbf{ Tuesday } & \textbf{ Wednesday } & \textbf{ Thursday } & \textbf{ Friday } & \textbf{ Saturday } \\ \hline & & & \cellcolor{cgreen}\daycell{ 1 }{ Wednesday of the 15th Week of the Time after Pentecost }{ 4th Class }{ Gal 5:25-26; 6:1-10\ \textperiodcentered\ Luke 7:11-16 } & \cellcolor{cwhite}\daycell{ 2 }{ St. Stephen of Hungary }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 19:12-26 } & \cellcolor{cwhite}\daycell{ 3 }{ St. Pius X }{ 3rd Class }{ 1 Thess 2:2-8\ \textperiodcentered\ John 21:15-17 } & \cellcolor{cwhite}\daycell{ 4 }{ Our Lady's Saturday Office }{ 4th Class }{ Ecclus 24:14-16\ \textperiodcentered\ Luke 11:27-28 } \\ \hline \cellcolor{cgreen}\daycell{ 5 }{ 16th Sunday after Pentecost }{ 2nd Class }{ Eph 3:13-21\ \textperiodcentered\ Luke 14:1-11 } & \cellcolor{cgreen}\daycell{ 6 }{ Monday of the 16th Week of the Time after Pentecost }{ 4th Class }{ Eph 3:13-21\ \textperiodcentered\ Luke 14:1-11 } & \cellcolor{cgreen}\daycell{ 7 }{ Tuesday of the 16th Week of the Time after Pentecost }{ 4th Class }{ Eph 3:13-21\ \textperiodcentered\ Luke 14:1-11 } & \cellcolor{cwhite}\daycell{ 8 }{ Nativity of the Blessed Virgin Mary }{ 2nd Class }{ Prov 8:22-35\ \textperiodcentered\ Matt 1:1-16 } & \cellcolor{cgreen}\daycell{ 9 }{ Thursday of the 16th Week of the Time after Pentecost }{ 4th Class }{ Eph 3:13-21\ \textperiodcentered\ Luke 14:1-11 } & \cellcolor{cwhite}\daycell{ 10 }{ St. Nicholas of Tolentino }{ 3rd Class }{ 1 Cor 4:9-14\ \textperiodcentered\ Luke 12:32-34 } & \cellcolor{cwhite}\daycell{ 11 }{ Our Lady's Saturday Office }{ 4th Class }{ Ecclus 24:14-16\ \textperiodcentered\ Luke 11:27-28 } \\ \hline -\cellcolor{cgreen}\daycell{ 12 }{ 17th Sunday after Pentecost }{ 2nd Class }{ Eph 4:1-6\ \textperiodcentered\ Matt 22:34-46 } & \cellcolor{cgreen}\daycell{ 13 }{ Monday of the 17th Week of the Time after Pentecost }{ 4th Class }{ Eph 4:1-6\ \textperiodcentered\ Matt 22:34-46 } & \cellcolor{cred}\daycell{ 14 }{ Exaltation of the Holy Cross }{ 2nd Class }{ Phil 2:5-11\ \textperiodcentered\ John 12:31-36 } & \cellcolor{cwhite}\daycell{ 15 }{ Seven Sorrows of the Blessed Virgin Mary }{ 2nd Class }{ Judith 13:22; 13:23-25\ \textperiodcentered\ John 19:25-27 } & \cellcolor{cred}\daycell{ 16 }{ Sts. Cornelius \& Cyprian }{ 3rd Class }{ Wis 3:1-8\ \textperiodcentered\ Luke 21:9-19 } & \cellcolor{cgreen}\daycell{ 17 }{ Friday of the 17th Week of the Time after Pentecost }{ 4th Class }{ Eph 4:1-6\ \textperiodcentered\ Matt 22:34-46 } & \cellcolor{cwhite}\daycell{ 18 }{ St. Joseph of Cupertino }{ 3rd Class }{ 1 Cor 13:1-8\ \textperiodcentered\ Matt 22:1-14 } \\ \hline +\cellcolor{cgreen}\daycell{ 12 }{ 17th Sunday after Pentecost }{ 2nd Class }{ Eph 4:1-6\ \textperiodcentered\ Matt 22:34-46 } & \cellcolor{cgreen}\daycell{ 13 }{ Monday of the 17th Week of the Time after Pentecost }{ 4th Class }{ Eph 4:1-6\ \textperiodcentered\ Matt 22:34-46 } & \cellcolor{cred}\daycell{ 14 }{ Exaltation of the Holy Cross }{ 2nd Class }{ Phil 2:5-11\ \textperiodcentered\ John 12:31-36 } & \cellcolor{cwhite}\daycell{ 15 }{ Seven Sorrows of the Blessed Virgin Mary }{ 2nd Class }{ Jth 13:22; 13:23-25\ \textperiodcentered\ John 19:25-27 } & \cellcolor{cred}\daycell{ 16 }{ Sts. Cornelius \& Cyprian }{ 3rd Class }{ Wis 3:1-8\ \textperiodcentered\ Luke 21:9-19 } & \cellcolor{cgreen}\daycell{ 17 }{ Friday of the 17th Week of the Time after Pentecost }{ 4th Class }{ Eph 4:1-6\ \textperiodcentered\ Matt 22:34-46 } & \cellcolor{cwhite}\daycell{ 18 }{ St. Joseph of Cupertino }{ 3rd Class }{ 1 Cor 13:1-8\ \textperiodcentered\ Matt 22:1-14 } \\ \hline \cellcolor{cgreen}\daycell{ 19 }{ 18th Sunday after Pentecost }{ 2nd Class }{ 1 Cor 1:4-8\ \textperiodcentered\ Matt 9:1-8 } & \cellcolor{cgreen}\daycell{ 20 }{ Monday of the 18th Week of the Time after Pentecost }{ 4th Class }{ 1 Cor 1:4-8\ \textperiodcentered\ Matt 9:1-8 } & \cellcolor{cred}\daycell{ 21 }{ St. Matthew }{ 2nd Class }{ Ezech 1:10-14\ \textperiodcentered\ Matt 9:9-13 } & \cellcolor{cviolet}\daycell{ 22 }{ September Ember Wednesday }{ 2nd Class }{ 2 Esd. 8:1-10\ \textperiodcentered\ Mark 9:16-28 } & \cellcolor{cred}\daycell{ 23 }{ St. Linus }{ 3rd Class }{ 1 Pet 5:1-4; 5:10-11\ \textperiodcentered\ Matt 16:13-19 } & \cellcolor{cviolet}\daycell{ 24 }{ September Ember Friday }{ 2nd Class }{ Osee 14:2-10\ \textperiodcentered\ Luke 7:36-50 } & \cellcolor{cviolet}\daycell{ 25 }{ September Ember Saturday }{ 2nd Class }{ Heb 9:2-12\ \textperiodcentered\ Luke 13:6-17 } \\ \hline \cellcolor{cgreen}\daycell{ 26 }{ 19th Sunday after Pentecost }{ 2nd Class }{ Eph 4:23-28\ \textperiodcentered\ Matt 22:1-14 } & \cellcolor{cred}\daycell{ 27 }{ Sts. Cosmas \& Damian }{ 3rd Class }{ Wis 5:16-20\ \textperiodcentered\ Luke 6:17-23 } & \cellcolor{cred}\daycell{ 28 }{ St. Wenceslaus }{ 3rd Class }{ Wis 10:10-14\ \textperiodcentered\ Matt 10:34-42 } & \cellcolor{cwhite}\daycell{ 29 }{ Dedication of St. Michael the Archangel }{ 1st Class }{ Apoc 1:1-5\ \textperiodcentered\ Matt 18:1-10 } & \cellcolor{cwhite}\daycell{ 30 }{ St. Jerome }{ 3rd Class }{ 2 Tim 4:1-8\ \textperiodcentered\ Matt 5:13-19 } & & \\ \hline @@ -217,7 +217,7 @@ \begin{tabular}{|*{7}{p{\cellw}|}}\hline \textbf{ Sunday } & \textbf{ Monday } & \textbf{ Tuesday } & \textbf{ Wednesday } & \textbf{ Thursday } & \textbf{ Friday } & \textbf{ Saturday } \\ \hline & & & & & \cellcolor{cgreen}\daycell{ 1 }{ Friday of the 19th Week of the Time after Pentecost }{ 4th Class }{ Eph 4:23-28\ \textperiodcentered\ Matt 22:1-14 } & \cellcolor{cwhite}\daycell{ 2 }{ Holy Guardian Angels }{ 3rd Class }{ Ex 23:20-23\ \textperiodcentered\ Matt 18:1-10 } \\ \hline -\cellcolor{cgreen}\daycell{ 3 }{ 20th Sunday after Pentecost }{ 2nd Class }{ Eph 5:15-21\ \textperiodcentered\ John 4:46-53 } & \cellcolor{cwhite}\daycell{ 4 }{ St. Francis of Assisi }{ 3rd Class }{ Gal 6:14-18\ \textperiodcentered\ Matt 11:25-30 } & \cellcolor{cgreen}\daycell{ 5 }{ Tuesday of the 20th Week of the Time after Pentecost }{ 4th Class }{ Eph 5:15-21\ \textperiodcentered\ John 4:46-53 } & \cellcolor{cwhite}\daycell{ 6 }{ St. Bruno }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cwhite}\daycell{ 7 }{ Our Lady of the Rosary }{ 2nd Class }{ Prov 8:22-24, 32-35\ \textperiodcentered\ Luke 1:26-38 } & \cellcolor{cwhite}\daycell{ 8 }{ St. Bridget of Sweden }{ 3rd Class }{ 1 Tim. 5:3-10\ \textperiodcentered\ Matt 13:44-52 } & \cellcolor{cwhite}\daycell{ 9 }{ St. John Leonardi }{ 3rd Class }{ 2 Cor 4:1-6; 4:15-18\ \textperiodcentered\ Luke 10:1-9 } \\ \hline +\cellcolor{cgreen}\daycell{ 3 }{ 20th Sunday after Pentecost }{ 2nd Class }{ Eph 5:15-21\ \textperiodcentered\ John 4:46-53 } & \cellcolor{cwhite}\daycell{ 4 }{ St. Francis of Assisi }{ 3rd Class }{ Gal 6:14-18\ \textperiodcentered\ Matt 11:25-30 } & \cellcolor{cgreen}\daycell{ 5 }{ Tuesday of the 20th Week of the Time after Pentecost }{ 4th Class }{ Eph 5:15-21\ \textperiodcentered\ John 4:46-53 } & \cellcolor{cwhite}\daycell{ 6 }{ St. Bruno }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cwhite}\daycell{ 7 }{ Our Lady of the Rosary }{ 2nd Class }{ Prov 8:22-24, 32-35\ \textperiodcentered\ Luke 1:26-38 } & \cellcolor{cwhite}\daycell{ 8 }{ St. Bridget of Sweden }{ 3rd Class }{ 1 Tim 5:3-10\ \textperiodcentered\ Matt 13:44-52 } & \cellcolor{cwhite}\daycell{ 9 }{ St. John Leonardi }{ 3rd Class }{ 2 Cor 4:1-6; 4:15-18\ \textperiodcentered\ Luke 10:1-9 } \\ \hline \cellcolor{cgreen}\daycell{ 10 }{ 21st Sunday after Pentecost }{ 2nd Class }{ Eph 6:10-17\ \textperiodcentered\ Matt 18:23-35 } & \cellcolor{cwhite}\daycell{ 11 }{ Maternity of the Blessed Virgin Mary }{ 2nd Class }{ Ecclus 24:23-31\ \textperiodcentered\ Luke 2:43-51 } & \cellcolor{cgreen}\daycell{ 12 }{ Tuesday of the 21st Week of the Time after Pentecost }{ 4th Class }{ Eph 6:10-17\ \textperiodcentered\ Matt 18:23-35 } & \cellcolor{cwhite}\daycell{ 13 }{ St. Edward }{ 3rd Class }{ Ecclus 31:8-11\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cred}\daycell{ 14 }{ St. Callistus I }{ 3rd Class }{ 1 Pet 5:1-4; 5:10-11\ \textperiodcentered\ Matt 16:13-19 } & \cellcolor{cwhite}\daycell{ 15 }{ St. Teresa of Avila }{ 3rd Class }{ 2 Cor 10:17-18; 11:1-2\ \textperiodcentered\ Matt 25:1-13 } & \cellcolor{cwhite}\daycell{ 16 }{ St. Hedwig }{ 3rd Class }{ Prov 31:10-31\ \textperiodcentered\ Matt 13:44-52 } \\ \hline \cellcolor{cgreen}\daycell{ 17 }{ 22nd Sunday after Pentecost }{ 2nd Class }{ Phil 1:6-11\ \textperiodcentered\ Matt 22:15-21 } & \cellcolor{cred}\daycell{ 18 }{ St. Luke the Evangelist }{ 2nd Class }{ 2 Cor 8:16-24\ \textperiodcentered\ Luke 10:1-9 } & \cellcolor{cwhite}\daycell{ 19 }{ St. Peter of Alcantara }{ 3rd Class }{ Phil 3:7-12\ \textperiodcentered\ Luke 12:32-34 } & \cellcolor{cwhite}\daycell{ 20 }{ St. John Cantius }{ 3rd Class }{ Jas 2:12-17\ \textperiodcentered\ Luke 12:35-40 } & \cellcolor{cgreen}\daycell{ 21 }{ Thursday of the 22nd Week of the Time after Pentecost }{ 4th Class }{ Phil 1:6-11\ \textperiodcentered\ Matt 22:15-21 } & \cellcolor{cgreen}\daycell{ 22 }{ Friday of the 22nd Week of the Time after Pentecost }{ 4th Class }{ Phil 1:6-11\ \textperiodcentered\ Matt 22:15-21 } & \cellcolor{cwhite}\daycell{ 23 }{ St. Anthony Mary Claret }{ 3rd Class }{ Heb 7:23-27\ \textperiodcentered\ Matt 24:42-47 } \\ \hline \cellcolor{cgreen}\daycell{ 24 }{ 23rd Sunday after Pentecost }{ 2nd Class }{ Phil 3:17-21; 4:1-3\ \textperiodcentered\ Matt 9:18-26 } & \cellcolor{cgreen}\daycell{ 25 }{ Monday of the 23rd Week of the Time after Pentecost }{ 4th Class }{ Phil 3:17-21; 4:1-3\ \textperiodcentered\ Matt 9:18-26 } & \cellcolor{cgreen}\daycell{ 26 }{ Tuesday of the 23rd Week of the Time after Pentecost }{ 4th Class }{ Phil 3:17-21; 4:1-3\ \textperiodcentered\ Matt 9:18-26 } & \cellcolor{cgreen}\daycell{ 27 }{ Wednesday of the 23rd Week of the Time after Pentecost }{ 4th Class }{ Phil 3:17-21; 4:1-3\ \textperiodcentered\ Matt 9:18-26 } & \cellcolor{cred}\daycell{ 28 }{ Sts. Simon \& Jude }{ 2nd Class }{ Eph 4:7-13\ \textperiodcentered\ John 15:17-25 } & \cellcolor{cgreen}\daycell{ 29 }{ Friday of the 23rd Week of the Time after Pentecost }{ 4th Class }{ Phil 3:17-21; 4:1-3\ \textperiodcentered\ Matt 9:18-26 } & \cellcolor{cwhite}\daycell{ 30 }{ Our Lady's Saturday Office }{ 4th Class }{ Ecclus 24:14-16\ \textperiodcentered\ Luke 11:27-28 } \\ \hline diff --git a/test/golden/grid-2027.typ b/test/golden/grid-2027.typ index 458198f..800edf9 100644 --- a/test/golden/grid-2027.typ +++ b/test/golden/grid-2027.typ @@ -867,7 +867,7 @@ #text(weight: "bold")[17] #text(size: 6.5pt)[Lenten Ember Wednesday] #v(1fr) #text(size: 6pt)[2nd Class] \ - #text(size: 6pt)[3 Kings 19:3\-8 #sym.dot.c Matt 12:38\-50] + #text(size: 6pt)[3 Kgs. 19:3\-8 #sym.dot.c Matt 12:38\-50] ] ], @@ -947,7 +947,7 @@ #text(weight: "bold")[23] #text(size: 6.5pt)[Tuesday of the 2nd Week of Lent] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[3 Kings 17:8\-16 #sym.dot.c Matt 23:1\-12] + #text(size: 6pt)[3 Kgs. 17:8\-16 #sym.dot.c Matt 23:1\-12] ] ], @@ -1093,7 +1093,7 @@ #text(weight: "bold")[1] #text(size: 6.5pt)[Monday of the 3rd Week of Lent] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[4 Kings 5:1\-15 #sym.dot.c Luke 4:23\-30] + #text(size: 6pt)[4 Kgs. 5:1\-15 #sym.dot.c Luke 4:23\-30] ] ], @@ -1106,7 +1106,7 @@ #text(weight: "bold")[2] #text(size: 6.5pt)[Tuesday of the 3rd Week of Lent] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[4 Kings 4:1\-7 #sym.dot.c Matt 18:15\-22] + #text(size: 6pt)[4 Kgs. 4:1\-7 #sym.dot.c Matt 18:15\-22] ] ], @@ -1186,7 +1186,7 @@ #text(weight: "bold")[8] #text(size: 6.5pt)[Monday of the 4th Week of Lent] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[3 Kings 3:16\-28 #sym.dot.c John 2:13\-25] + #text(size: 6pt)[3 Kgs. 3:16\-28 #sym.dot.c John 2:13\-25] ] ], @@ -1225,7 +1225,7 @@ #text(weight: "bold")[11] #text(size: 6.5pt)[Thursday of the 4th Week of Lent] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[4 Kings 4:25\-38 #sym.dot.c Luke 7:11\-16] + #text(size: 6pt)[4 Kgs. 4:25\-38 #sym.dot.c Luke 7:11\-16] ] ], @@ -1238,7 +1238,7 @@ #text(weight: "bold")[12] #text(size: 6.5pt)[Friday of the 4th Week of Lent] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[3 Kings 17:17\-24 #sym.dot.c John 11:1\-45] + #text(size: 6pt)[3 Kgs. 17:17\-24 #sym.dot.c John 11:1\-45] ] ], @@ -2075,7 +2075,7 @@ #text(weight: "bold")[4] #text(size: 6.5pt)[St. Monica] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[1 Tim. 5:3\-10 #sym.dot.c Luke 7:11\-16] + #text(size: 6pt)[1 Tim 5:3\-10 #sym.dot.c Luke 7:11\-16] ] ], @@ -2990,7 +2990,7 @@ #text(weight: "bold")[2] #text(size: 6.5pt)[Visitation of the Blessed Virgin Mary] #v(1fr) #text(size: 6pt)[2nd Class] \ - #text(size: 6pt)[Song 2:8\-14 #sym.dot.c Luke 1:39\-47] + #text(size: 6pt)[Cant. 2:8\-14 #sym.dot.c Luke 1:39\-47] ] ], @@ -3031,7 +3031,7 @@ #text(weight: "bold")[5] #text(size: 6.5pt)[St. Anthony Mary Zaccariah] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[1 Tim. 4:8\-16 #sym.dot.c Mark 10:15\-21] + #text(size: 6pt)[1 Tim 4:8\-16 #sym.dot.c Mark 10:15\-21] ] ], @@ -3256,7 +3256,7 @@ #text(weight: "bold")[22] #text(size: 6.5pt)[St. Mary Magdalene] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[Song 3:2\-5; 8:6\-7 #sym.dot.c Luke 7:36\-50] + #text(size: 6pt)[Cant. 3:2\-5; 8:6\-7 #sym.dot.c Luke 7:36\-50] ] ], @@ -3484,7 +3484,7 @@ #text(weight: "bold")[6] #text(size: 6.5pt)[Transfiguration of Our Lord] #v(1fr) #text(size: 6pt)[2nd Class] \ - #text(size: 6pt)[2 Pet. 1:16\-19 #sym.dot.c Matt 17:1\-9] + #text(size: 6pt)[2 Pet 1:16\-19 #sym.dot.c Matt 17:1\-9] ] ], @@ -3605,7 +3605,7 @@ #text(weight: "bold")[15] #text(size: 6.5pt)[Assumption of the Blessed Virgin Mary] #v(1fr) #text(size: 6pt)[1st Class] \ - #text(size: 6pt)[Judith 13:22\-25; 15:10 #sym.dot.c Luke 1:41\-50] + #text(size: 6pt)[Jth 13:22\-25; 15:10 #sym.dot.c Luke 1:41\-50] ] ], @@ -4082,7 +4082,7 @@ #text(weight: "bold")[15] #text(size: 6.5pt)[Seven Sorrows of the Blessed Virgin Mary] #v(1fr) #text(size: 6pt)[2nd Class] \ - #text(size: 6pt)[Judith 13:22; 13:23\-25 #sym.dot.c John 19:25\-27] + #text(size: 6pt)[Jth 13:22; 13:23\-25 #sym.dot.c John 19:25\-27] ] ], @@ -4453,7 +4453,7 @@ #text(weight: "bold")[8] #text(size: 6.5pt)[St. Bridget of Sweden] #v(1fr) #text(size: 6pt)[3rd Class] \ - #text(size: 6pt)[1 Tim. 5:3\-10 #sym.dot.c Matt 13:44\-52] + #text(size: 6pt)[1 Tim 5:3\-10 #sym.dot.c Matt 13:44\-52] ] ], diff --git a/test/golden/ordo-2027.adoc b/test/golden/ordo-2027.adoc index 969f183..39e5ae4 100644 --- a/test/golden/ordo-2027.adoc +++ b/test/golden/ordo-2027.adoc @@ -359,7 +359,7 @@ Epistle Isa 55:6-11 Gospel Matt 21:10-17 *17* Lenten Ember Wednesday + class-2 · violet + -Epistle 3 Kings 19:3-8 Gospel Matt 12:38-50 +Epistle 3 Kgs. 19:3-8 Gospel Matt 12:38-50 @@ -401,7 +401,7 @@ Commemoration St. Paul *23* Tuesday of the 2nd Week of Lent + class-3 · violet + -Epistle 3 Kings 17:8-16 Gospel Matt 23:1-12 +Epistle 3 Kgs. 17:8-16 Gospel Matt 23:1-12 + Commemoration St. Peter Damien @@ -449,13 +449,13 @@ Epistle Eph 5:1-9 Gospel Luke 11:14-28 *1* Monday of the 3rd Week of Lent + class-3 · violet + -Epistle 4 Kings 5:1-15 Gospel Luke 4:23-30 +Epistle 4 Kgs. 5:1-15 Gospel Luke 4:23-30 *2* Tuesday of the 3rd Week of Lent + class-3 · violet + -Epistle 4 Kings 4:1-7 Gospel Matt 18:15-22 +Epistle 4 Kgs. 4:1-7 Gospel Matt 18:15-22 @@ -497,7 +497,7 @@ Epistle Gal 4:22-31 Gospel John 6:1-15 *8* Monday of the 4th Week of Lent + class-3 · violet + -Epistle 3 Kings 3:16-28 Gospel John 2:13-25 +Epistle 3 Kgs. 3:16-28 Gospel John 2:13-25 + Commemoration St. John of God @@ -518,13 +518,13 @@ Commemoration Forty Holy Martyrs of Sebaste *11* Thursday of the 4th Week of Lent + class-3 · violet + -Epistle 4 Kings 4:25-38 Gospel Luke 7:11-16 +Epistle 4 Kgs. 4:25-38 Gospel Luke 7:11-16 *12* Friday of the 4th Week of Lent + class-3 · violet + -Epistle 3 Kings 17:17-24 Gospel John 11:1-45 +Epistle 3 Kgs. 17:17-24 Gospel John 11:1-45 + Commemoration St. Gregory the Great @@ -887,7 +887,7 @@ Commemoration Sts. Alexander & Companions *4* St. Monica + class-3 · white + -Epistle 1 Tim. 5:3-10 Gospel Luke 7:11-16 +Epistle 1 Tim 5:3-10 Gospel Luke 7:11-16 @@ -1290,7 +1290,7 @@ Epistle Heb 9:11-15 Gospel John 19:30-35 *2* Visitation of the Blessed Virgin Mary + class-2 · white + -Epistle Song 2:8-14 Gospel Luke 1:39-47 +Epistle Cant. 2:8-14 Gospel Luke 1:39-47 + Commemoration SS. Processus and Martinian @@ -1312,7 +1312,7 @@ Epistle Rom 6:19-23 Gospel Matt 7:15-21 *5* St. Anthony Mary Zaccariah + class-3 · white + -Epistle 1 Tim. 4:8-16 Gospel Mark 10:15-21 +Epistle 1 Tim 4:8-16 Gospel Mark 10:15-21 @@ -1425,7 +1425,7 @@ Commemoration St. Praxedis Virginis *22* St. Mary Magdalene + class-3 · white + -Epistle Song 3:2-5; 8:6-7 Gospel Luke 7:36-50 +Epistle Cant. 3:2-5; 8:6-7 Gospel Luke 7:36-50 @@ -1531,7 +1531,7 @@ Epistle Ecclus 24:14-16 Gospel Luke 11:27-28 *6* Transfiguration of Our Lord + class-2 · white + -Epistle 2 Pet. 1:16-19 Gospel Matt 17:1-9 +Epistle 2 Pet 1:16-19 Gospel Matt 17:1-9 + Commemoration Pope Sixtus II, Felicissimus and Agapitus, Martyrs @@ -1597,7 +1597,7 @@ Commemoration St. Eusebius *15* Assumption of the Blessed Virgin Mary + class-1 · white + -Epistle Judith 13:22-25; 15:10 Gospel Luke 1:41-50 +Epistle Jth 13:22-25; 15:10 Gospel Luke 1:41-50 + Commemoration 13th Sunday after Pentecost @@ -1812,7 +1812,7 @@ Epistle Phil 2:5-11 Gospel John 12:31-36 *15* Seven Sorrows of the Blessed Virgin Mary + class-2 · white + -Epistle Judith 13:22; 13:23-25 Gospel John 19:25-27 +Epistle Jth 13:22; 13:23-25 Gospel John 19:25-27 + Commemoration S. Nicomedes @@ -1975,7 +1975,7 @@ Commemoration St. Mark I *8* St. Bridget of Sweden + class-3 · white + -Epistle 1 Tim. 5:3-10 Gospel Matt 13:44-52 +Epistle 1 Tim 5:3-10 Gospel Matt 13:44-52 + Commemoration Ss. Sergio, Baccho, Marcello and Apulejo Martyrs diff --git a/test/golden/ordo-2027.html b/test/golden/ordo-2027.html index c9a7028..8513909 100644 --- a/test/golden/ordo-2027.html +++ b/test/golden/ordo-2027.html @@ -282,7 +282,7 @@
17Lenten Ember Wednesday -
class-2 · violet · Epistle 3 Kings 19:3-8 · Gospel Matt 12:38-50
+
class-2 · violet · Epistle 3 Kgs. 19:3-8 · Gospel Matt 12:38-50
@@ -313,7 +313,7 @@
23Tuesday of the 2nd Week of Lent -
class-3 · violet · Epistle 3 Kings 17:8-16 · Gospel Matt 23:1-12
+
class-3 · violet · Epistle 3 Kgs. 17:8-16 · Gospel Matt 23:1-12
Commemoration St. Peter Damien
@@ -346,12 +346,12 @@

Week I (Mar 1–6)

1Monday of the 3rd Week of Lent -
class-3 · violet · Epistle 4 Kings 5:1-15 · Gospel Luke 4:23-30
+
class-3 · violet · Epistle 4 Kgs. 5:1-15 · Gospel Luke 4:23-30
2Tuesday of the 3rd Week of Lent -
class-3 · violet · Epistle 4 Kings 4:1-7 · Gospel Matt 18:15-22
+
class-3 · violet · Epistle 4 Kgs. 4:1-7 · Gospel Matt 18:15-22
@@ -382,7 +382,7 @@
8Monday of the 4th Week of Lent -
class-3 · violet · Epistle 3 Kings 3:16-28 · Gospel John 2:13-25
+
class-3 · violet · Epistle 3 Kgs. 3:16-28 · Gospel John 2:13-25
Commemoration St. John of God
@@ -397,12 +397,12 @@
11Thursday of the 4th Week of Lent -
class-3 · violet · Epistle 4 Kings 4:25-38 · Gospel Luke 7:11-16
+
class-3 · violet · Epistle 4 Kgs. 4:25-38 · Gospel Luke 7:11-16
12Friday of the 4th Week of Lent -
class-3 · violet · Epistle 3 Kings 17:17-24 · Gospel John 11:1-45
+
class-3 · violet · Epistle 3 Kgs. 17:17-24 · Gospel John 11:1-45
Commemoration St. Gregory the Great
@@ -679,7 +679,7 @@
4St. Monica -
class-3 · white · Epistle 1 Tim. 5:3-10 · Gospel Luke 7:11-16
+
class-3 · white · Epistle 1 Tim 5:3-10 · Gospel Luke 7:11-16
@@ -986,7 +986,7 @@
2Visitation of the Blessed Virgin Mary -
class-2 · white · Epistle Song 2:8-14 · Gospel Luke 1:39-47
+
class-2 · white · Epistle Cant. 2:8-14 · Gospel Luke 1:39-47
Commemoration SS. Processus and Martinian
@@ -1002,7 +1002,7 @@
5St. Anthony Mary Zaccariah -
class-3 · white · Epistle 1 Tim. 4:8-16 · Gospel Mark 10:15-21
+
class-3 · white · Epistle 1 Tim 4:8-16 · Gospel Mark 10:15-21
@@ -1089,7 +1089,7 @@
22St. Mary Magdalene -
class-3 · white · Epistle Song 3:2-5; 8:6-7 · Gospel Luke 7:36-50
+
class-3 · white · Epistle Cant. 3:2-5; 8:6-7 · Gospel Luke 7:36-50
@@ -1167,7 +1167,7 @@
6Transfiguration of Our Lord -
class-2 · white · Epistle 2 Pet. 1:16-19 · Gospel Matt 17:1-9
+
class-2 · white · Epistle 2 Pet 1:16-19 · Gospel Matt 17:1-9
Commemoration Pope Sixtus II, Felicissimus and Agapitus, Martyrs
@@ -1214,7 +1214,7 @@

Week III (Aug 15–21)

15Assumption of the Blessed Virgin Mary -
class-1 · white · Epistle Judith 13:22-25; 15:10 · Gospel Luke 1:41-50
+
class-1 · white · Epistle Jth 13:22-25; 15:10 · Gospel Luke 1:41-50
Commemoration 13th Sunday after Pentecost
@@ -1375,7 +1375,7 @@
15Seven Sorrows of the Blessed Virgin Mary -
class-2 · white · Epistle Judith 13:22; 13:23-25 · Gospel John 19:25-27
+
class-2 · white · Epistle Jth 13:22; 13:23-25 · Gospel John 19:25-27
Commemoration S. Nicomedes
@@ -1495,7 +1495,7 @@
8St. Bridget of Sweden -
class-3 · white · Epistle 1 Tim. 5:3-10 · Gospel Matt 13:44-52
+
class-3 · white · Epistle 1 Tim 5:3-10 · Gospel Matt 13:44-52
Commemoration Ss. Sergio, Baccho, Marcello and Apulejo Martyrs
diff --git a/test/golden/ordo-2027.md b/test/golden/ordo-2027.md index b5ed5dd..3d96240 100644 --- a/test/golden/ordo-2027.md +++ b/test/golden/ordo-2027.md @@ -323,7 +323,7 @@ **17** Lenten Ember Wednesday -`class-2` · violet · Epistle 3 Kings 19:3-8 · Gospel Matt 12:38-50 +`class-2` · violet · Epistle 3 Kgs. 19:3-8 · Gospel Matt 12:38-50 @@ -362,7 +362,7 @@ **23** Tuesday of the 2nd Week of Lent -`class-3` · violet · Epistle 3 Kings 17:8-16 · Gospel Matt 23:1-12 +`class-3` · violet · Epistle 3 Kgs. 17:8-16 · Gospel Matt 23:1-12 - Commemoration St. Peter Damien @@ -407,12 +407,12 @@ **1** Monday of the 3rd Week of Lent -`class-3` · violet · Epistle 4 Kings 5:1-15 · Gospel Luke 4:23-30 +`class-3` · violet · Epistle 4 Kgs. 5:1-15 · Gospel Luke 4:23-30 **2** Tuesday of the 3rd Week of Lent -`class-3` · violet · Epistle 4 Kings 4:1-7 · Gospel Matt 18:15-22 +`class-3` · violet · Epistle 4 Kgs. 4:1-7 · Gospel Matt 18:15-22 @@ -451,7 +451,7 @@ **8** Monday of the 4th Week of Lent -`class-3` · violet · Epistle 3 Kings 3:16-28 · Gospel John 2:13-25 +`class-3` · violet · Epistle 3 Kgs. 3:16-28 · Gospel John 2:13-25 - Commemoration St. John of God @@ -472,12 +472,12 @@ **11** Thursday of the 4th Week of Lent -`class-3` · violet · Epistle 4 Kings 4:25-38 · Gospel Luke 7:11-16 +`class-3` · violet · Epistle 4 Kgs. 4:25-38 · Gospel Luke 7:11-16 **12** Friday of the 4th Week of Lent -`class-3` · violet · Epistle 3 Kings 17:17-24 · Gospel John 11:1-45 +`class-3` · violet · Epistle 3 Kgs. 17:17-24 · Gospel John 11:1-45 - Commemoration St. Gregory the Great @@ -796,7 +796,7 @@ **4** St. Monica -`class-3` · white · Epistle 1 Tim. 5:3-10 · Gospel Luke 7:11-16 +`class-3` · white · Epistle 1 Tim 5:3-10 · Gospel Luke 7:11-16 @@ -1153,7 +1153,7 @@ **2** Visitation of the Blessed Virgin Mary -`class-2` · white · Epistle Song 2:8-14 · Gospel Luke 1:39-47 +`class-2` · white · Epistle Cant. 2:8-14 · Gospel Luke 1:39-47 - Commemoration SS. Processus and Martinian @@ -1173,7 +1173,7 @@ **5** St. Anthony Mary Zaccariah -`class-3` · white · Epistle 1 Tim. 4:8-16 · Gospel Mark 10:15-21 +`class-3` · white · Epistle 1 Tim 4:8-16 · Gospel Mark 10:15-21 @@ -1274,7 +1274,7 @@ **22** St. Mary Magdalene -`class-3` · white · Epistle Song 3:2-5; 8:6-7 · Gospel Luke 7:36-50 +`class-3` · white · Epistle Cant. 3:2-5; 8:6-7 · Gospel Luke 7:36-50 @@ -1372,7 +1372,7 @@ **6** Transfiguration of Our Lord -`class-2` · white · Epistle 2 Pet. 1:16-19 · Gospel Matt 17:1-9 +`class-2` · white · Epistle 2 Pet 1:16-19 · Gospel Matt 17:1-9 - Commemoration Pope Sixtus II, Felicissimus and Agapitus, Martyrs @@ -1435,7 +1435,7 @@ **15** Assumption of the Blessed Virgin Mary -`class-1` · white · Epistle Judith 13:22-25; 15:10 · Gospel Luke 1:41-50 +`class-1` · white · Epistle Jth 13:22-25; 15:10 · Gospel Luke 1:41-50 - Commemoration 13th Sunday after Pentecost @@ -1630,7 +1630,7 @@ **15** Seven Sorrows of the Blessed Virgin Mary -`class-2` · white · Epistle Judith 13:22; 13:23-25 · Gospel John 19:25-27 +`class-2` · white · Epistle Jth 13:22; 13:23-25 · Gospel John 19:25-27 - Commemoration S. Nicomedes @@ -1780,7 +1780,7 @@ **8** St. Bridget of Sweden -`class-3` · white · Epistle 1 Tim. 5:3-10 · Gospel Matt 13:44-52 +`class-3` · white · Epistle 1 Tim 5:3-10 · Gospel Matt 13:44-52 - Commemoration Ss. Sergio, Baccho, Marcello and Apulejo Martyrs diff --git a/test/golden/ordo-2027.ms b/test/golden/ordo-2027.ms index c90e2b7..e029a76 100644 --- a/test/golden/ordo-2027.ms +++ b/test/golden/ordo-2027.ms @@ -593,7 +593,7 @@ February .br \s72nd Class \(bu Violet\s9 .br -\s7Epistle 3 Kings 19:3-8\s9 +\s7Epistle 3 Kgs. 19:3-8\s9 .br \s7Gospel Matt 12:38-50\s9 .sp 0.25v @@ -656,7 +656,7 @@ February .br \s73rd Class \(bu Violet\s9 .br -\s7Epistle 3 Kings 17:8-16\s9 +\s7Epistle 3 Kgs. 17:8-16\s9 .br \s7Gospel Matt 23:1-12\s9 .br @@ -724,7 +724,7 @@ March .br \s73rd Class \(bu Violet\s9 .br -\s7Epistle 4 Kings 5:1-15\s9 +\s7Epistle 4 Kgs. 5:1-15\s9 .br \s7Gospel Luke 4:23-30\s9 .sp 0.25v @@ -733,7 +733,7 @@ March .br \s73rd Class \(bu Violet\s9 .br -\s7Epistle 4 Kings 4:1-7\s9 +\s7Epistle 4 Kgs. 4:1-7\s9 .br \s7Gospel Matt 18:15-22\s9 .sp 0.25v @@ -796,7 +796,7 @@ March .br \s73rd Class \(bu Violet\s9 .br -\s7Epistle 3 Kings 3:16-28\s9 +\s7Epistle 3 Kgs. 3:16-28\s9 .br \s7Gospel John 2:13-25\s9 .br @@ -829,7 +829,7 @@ March .br \s73rd Class \(bu Violet\s9 .br -\s7Epistle 4 Kings 4:25-38\s9 +\s7Epistle 4 Kgs. 4:25-38\s9 .br \s7Gospel Luke 7:11-16\s9 .sp 0.25v @@ -838,7 +838,7 @@ March .br \s73rd Class \(bu Violet\s9 .br -\s7Epistle 3 Kings 17:17-24\s9 +\s7Epistle 3 Kgs. 17:17-24\s9 .br \s7Gospel John 11:1-45\s9 .br @@ -1367,7 +1367,7 @@ May .br \s73rd Class \(bu White\s9 .br -\s7Epistle 1 Tim. 5:3-10\s9 +\s7Epistle 1 Tim 5:3-10\s9 .br \s7Gospel Luke 7:11-16\s9 .sp 0.25v @@ -1958,7 +1958,7 @@ July .br \s72nd Class \(bu White\s9 .br -\s7Epistle Song 2:8-14\s9 +\s7Epistle Cant. 2:8-14\s9 .br \s7Gospel Luke 1:39-47\s9 .br @@ -1990,7 +1990,7 @@ July .br \s73rd Class \(bu White\s9 .br -\s7Epistle 1 Tim. 4:8-16\s9 +\s7Epistle 1 Tim 4:8-16\s9 .br \s7Gospel Mark 10:15-21\s9 .sp 0.25v @@ -2159,7 +2159,7 @@ July .br \s73rd Class \(bu White\s9 .br -\s7Epistle Song 3:2-5; 8:6-7\s9 +\s7Epistle Cant. 3:2-5; 8:6-7\s9 .br \s7Gospel Luke 7:36-50\s9 .sp 0.25v @@ -2316,7 +2316,7 @@ August .br \s72nd Class \(bu White\s9 .br -\s7Epistle 2 Pet. 1:16-19\s9 +\s7Epistle 2 Pet 1:16-19\s9 .br \s7Gospel Matt 17:1-9\s9 .br @@ -2415,7 +2415,7 @@ August .br \s71st Class \(bu White\s9 .br -\s7Epistle Judith 13:22-25; 15:10\s9 +\s7Epistle Jth 13:22-25; 15:10\s9 .br \s7Gospel Luke 1:41-50\s9 .br @@ -2733,7 +2733,7 @@ September .br \s72nd Class \(bu White\s9 .br -\s7Epistle Judith 13:22; 13:23-25\s9 +\s7Epistle Jth 13:22; 13:23-25\s9 .br \s7Gospel John 19:25-27\s9 .br @@ -2974,7 +2974,7 @@ October .br \s73rd Class \(bu White\s9 .br -\s7Epistle 1 Tim. 5:3-10\s9 +\s7Epistle 1 Tim 5:3-10\s9 .br \s7Gospel Matt 13:44-52\s9 .br diff --git a/test/golden/ordo-2027.tex b/test/golden/ordo-2027.tex index a8b8848..0db4121 100644 --- a/test/golden/ordo-2027.tex +++ b/test/golden/ordo-2027.tex @@ -772,7 +772,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 17 \fontsize{7}{9}\selectfont\mdseries\;Wednesday\hfill\swatch{licolviolet}\\ \fontsize{9}{9.7}\selectfont\bfseries Lenten Ember Wednesday\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 2nd Class \textperiodcentered\ Violet \quad Epistle\ 3 Kings 19:3-8 \quad Gospel\ Matt 12:38-50 +\fontsize{6.5}{7.4}\selectfont\mdseries 2nd Class \textperiodcentered\ Violet \quad Epistle\ 3 Kgs. 19:3-8 \quad Gospel\ Matt 12:38-50 \end{tcolorbox} @@ -830,7 +830,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 23 \fontsize{7}{9}\selectfont\mdseries\;Tuesday\hfill\swatch{licolviolet}\\ \fontsize{9}{9.7}\selectfont\bfseries Tuesday of the 2nd Week of Lent\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 3 Kings 17:8-16 \quad Gospel\ Matt 23:1-12 \\ +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 3 Kgs. 17:8-16 \quad Gospel\ Matt 23:1-12 \\ \fontsize{6.5}{7.4}\selectfont\mdseries Commemoration\ St. Peter Damien \end{tcolorbox} @@ -915,7 +915,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 1 \fontsize{7}{9}\selectfont\mdseries\;Monday\hfill\swatch{licolviolet}\\ \fontsize{9}{9.7}\selectfont\bfseries Monday of the 3rd Week of Lent\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 4 Kings 5:1-15 \quad Gospel\ Luke 4:23-30 +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 4 Kgs. 5:1-15 \quad Gospel\ Luke 4:23-30 \end{tcolorbox} @@ -923,7 +923,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 2 \fontsize{7}{9}\selectfont\mdseries\;Tuesday\hfill\swatch{licolviolet}\\ \fontsize{9}{9.7}\selectfont\bfseries Tuesday of the 3rd Week of Lent\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 4 Kings 4:1-7 \quad Gospel\ Matt 18:15-22 +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 4 Kgs. 4:1-7 \quad Gospel\ Matt 18:15-22 \end{tcolorbox} @@ -981,7 +981,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 8 \fontsize{7}{9}\selectfont\mdseries\;Monday\hfill\swatch{licolviolet}\\ \fontsize{9}{9.7}\selectfont\bfseries Monday of the 4th Week of Lent\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 3 Kings 3:16-28 \quad Gospel\ John 2:13-25 \\ +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 3 Kgs. 3:16-28 \quad Gospel\ John 2:13-25 \\ \fontsize{6.5}{7.4}\selectfont\mdseries Commemoration\ St. John of God \end{tcolorbox} @@ -1008,7 +1008,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 11 \fontsize{7}{9}\selectfont\mdseries\;Thursday\hfill\swatch{licolviolet}\\ \fontsize{9}{9.7}\selectfont\bfseries Thursday of the 4th Week of Lent\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 4 Kings 4:25-38 \quad Gospel\ Luke 7:11-16 +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 4 Kgs. 4:25-38 \quad Gospel\ Luke 7:11-16 \end{tcolorbox} @@ -1016,7 +1016,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 12 \fontsize{7}{9}\selectfont\mdseries\;Friday\hfill\swatch{licolviolet}\\ \fontsize{9}{9.7}\selectfont\bfseries Friday of the 4th Week of Lent\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 3 Kings 17:17-24 \quad Gospel\ John 11:1-45 \\ +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ Violet \quad Epistle\ 3 Kgs. 17:17-24 \quad Gospel\ John 11:1-45 \\ \fontsize{6.5}{7.4}\selectfont\mdseries Commemoration\ St. Gregory the Great \end{tcolorbox} @@ -1559,7 +1559,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 4 \fontsize{7}{9}\selectfont\mdseries\;Tuesday\hfill\swatch{licolwhite}\\ \fontsize{9}{9.7}\selectfont\bfseries St. Monica\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ White \quad Epistle\ 1 Tim. 5:3-10 \quad Gospel\ Luke 7:11-16 +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ White \quad Epistle\ 1 Tim 5:3-10 \quad Gospel\ Luke 7:11-16 \end{tcolorbox} @@ -2154,7 +2154,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 2 \fontsize{7}{9}\selectfont\mdseries\;Friday\hfill\swatch{licolwhite}\\ \fontsize{9}{9.7}\selectfont\bfseries Visitation of the Blessed Virgin Mary\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 2nd Class \textperiodcentered\ White \quad Epistle\ Song 2:8-14 \quad Gospel\ Luke 1:39-47 \\ +\fontsize{6.5}{7.4}\selectfont\mdseries 2nd Class \textperiodcentered\ White \quad Epistle\ Cant. 2:8-14 \quad Gospel\ Luke 1:39-47 \\ \fontsize{6.5}{7.4}\selectfont\mdseries Commemoration\ SS. Processus and Martinian \end{tcolorbox} @@ -2186,7 +2186,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 5 \fontsize{7}{9}\selectfont\mdseries\;Monday\hfill\swatch{licolwhite}\\ \fontsize{9}{9.7}\selectfont\bfseries St. Anthony Mary Zaccariah\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ White \quad Epistle\ 1 Tim. 4:8-16 \quad Gospel\ Mark 10:15-21 +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ White \quad Epistle\ 1 Tim 4:8-16 \quad Gospel\ Mark 10:15-21 \end{tcolorbox} @@ -2341,7 +2341,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 22 \fontsize{7}{9}\selectfont\mdseries\;Thursday\hfill\swatch{licolwhite}\\ \fontsize{9}{9.7}\selectfont\bfseries St. Mary Magdalene\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ White \quad Epistle\ Song 3:2-5; 8:6-7 \quad Gospel\ Luke 7:36-50 +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ White \quad Epistle\ Cant. 3:2-5; 8:6-7 \quad Gospel\ Luke 7:36-50 \end{tcolorbox} @@ -2488,7 +2488,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 6 \fontsize{7}{9}\selectfont\mdseries\;Friday\hfill\swatch{licolwhite}\\ \fontsize{9}{9.7}\selectfont\bfseries Transfiguration of Our Lord\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 2nd Class \textperiodcentered\ White \quad Epistle\ 2 Pet. 1:16-19 \quad Gospel\ Matt 17:1-9 \\ +\fontsize{6.5}{7.4}\selectfont\mdseries 2nd Class \textperiodcentered\ White \quad Epistle\ 2 Pet 1:16-19 \quad Gospel\ Matt 17:1-9 \\ \fontsize{6.5}{7.4}\selectfont\mdseries Commemoration\ Pope Sixtus II, Felicissimus and Agapitus, Martyrs \end{tcolorbox} @@ -2580,7 +2580,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 15 \fontsize{7}{9}\selectfont\mdseries\;Sunday\hfill\swatch{licolwhite}\\ \fontsize{9}{9.7}\selectfont\bfseries Assumption of the Blessed Virgin Mary\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 1st Class \textperiodcentered\ White \quad Epistle\ Judith 13:22-25; 15:10 \quad Gospel\ Luke 1:41-50 \\ +\fontsize{6.5}{7.4}\selectfont\mdseries 1st Class \textperiodcentered\ White \quad Epistle\ Jth 13:22-25; 15:10 \quad Gospel\ Luke 1:41-50 \\ \fontsize{6.5}{7.4}\selectfont\mdseries Commemoration\ 13th Sunday after Pentecost \end{tcolorbox} @@ -2894,7 +2894,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 15 \fontsize{7}{9}\selectfont\mdseries\;Wednesday\hfill\swatch{licolwhite}\\ \fontsize{9}{9.7}\selectfont\bfseries Seven Sorrows of the Blessed Virgin Mary\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 2nd Class \textperiodcentered\ White \quad Epistle\ Judith 13:22; 13:23-25 \quad Gospel\ John 19:25-27 \\ +\fontsize{6.5}{7.4}\selectfont\mdseries 2nd Class \textperiodcentered\ White \quad Epistle\ Jth 13:22; 13:23-25 \quad Gospel\ John 19:25-27 \\ \fontsize{6.5}{7.4}\selectfont\mdseries Commemoration\ S. Nicomedes \end{tcolorbox} @@ -3136,7 +3136,7 @@ \begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,sharp corners,boxsep=0mm,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.3mm,after skip=0mm] \fontsize{9}{9}\selectfont\bfseries 8 \fontsize{7}{9}\selectfont\mdseries\;Friday\hfill\swatch{licolwhite}\\ \fontsize{9}{9.7}\selectfont\bfseries St. Bridget of Sweden\\ -\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ White \quad Epistle\ 1 Tim. 5:3-10 \quad Gospel\ Matt 13:44-52 \\ +\fontsize{6.5}{7.4}\selectfont\mdseries 3rd Class \textperiodcentered\ White \quad Epistle\ 1 Tim 5:3-10 \quad Gospel\ Matt 13:44-52 \\ \fontsize{6.5}{7.4}\selectfont\mdseries Commemoration\ Ss. Sergio, Baccho, Marcello and Apulejo Martyrs \end{tcolorbox} diff --git a/test/golden/ordo-2027.txt b/test/golden/ordo-2027.txt index 9521fd8..0af67b3 100644 --- a/test/golden/ordo-2027.txt +++ b/test/golden/ordo-2027.txt @@ -283,7 +283,7 @@ February 2027 17 Lenten Ember Wednesday class-2 · violet - Epistle 3 Kings 19:3-8 + Epistle 3 Kgs. 19:3-8 Gospel Matt 12:38-50 18 Thursday of the 1st Week of Lent @@ -319,7 +319,7 @@ February 2027 23 Tuesday of the 2nd Week of Lent class-3 · violet - Epistle 3 Kings 17:8-16 + Epistle 3 Kgs. 17:8-16 Gospel Matt 23:1-12 Commemoration St. Peter Damien @@ -361,12 +361,12 @@ March 2027 1 Monday of the 3rd Week of Lent class-3 · violet - Epistle 4 Kings 5:1-15 + Epistle 4 Kgs. 5:1-15 Gospel Luke 4:23-30 2 Tuesday of the 3rd Week of Lent class-3 · violet - Epistle 4 Kings 4:1-7 + Epistle 4 Kgs. 4:1-7 Gospel Matt 18:15-22 3 Wednesday of the 3rd Week of Lent @@ -402,7 +402,7 @@ March 2027 8 Monday of the 4th Week of Lent class-3 · violet - Epistle 3 Kings 3:16-28 + Epistle 3 Kgs. 3:16-28 Gospel John 2:13-25 Commemoration St. John of God @@ -420,12 +420,12 @@ March 2027 11 Thursday of the 4th Week of Lent class-3 · violet - Epistle 4 Kings 4:25-38 + Epistle 4 Kgs. 4:25-38 Gospel Luke 7:11-16 12 Friday of the 4th Week of Lent class-3 · violet - Epistle 3 Kings 17:17-24 + Epistle 3 Kgs. 17:17-24 Gospel John 11:1-45 Commemoration St. Gregory the Great @@ -735,7 +735,7 @@ May 2027 4 St. Monica class-3 · white - Epistle 1 Tim. 5:3-10 + Epistle 1 Tim 5:3-10 Gospel Luke 7:11-16 5 Vigil of the Ascension @@ -1079,7 +1079,7 @@ July 2027 2 Visitation of the Blessed Virgin Mary class-2 · white - Epistle Song 2:8-14 + Epistle Cant. 2:8-14 Gospel Luke 1:39-47 Commemoration SS. Processus and Martinian @@ -1098,7 +1098,7 @@ July 2027 5 St. Anthony Mary Zaccariah class-3 · white - Epistle 1 Tim. 4:8-16 + Epistle 1 Tim 4:8-16 Gospel Mark 10:15-21 6 Tuesday of the 7th Week of the Time after Pentecost @@ -1194,7 +1194,7 @@ July 2027 22 St. Mary Magdalene class-3 · white - Epistle Song 3:2-5; 8:6-7 + Epistle Cant. 3:2-5; 8:6-7 Gospel Luke 7:36-50 23 St. Apollinaris @@ -1285,7 +1285,7 @@ August 2027 6 Transfiguration of Our Lord class-2 · white - Epistle 2 Pet. 1:16-19 + Epistle 2 Pet 1:16-19 Gospel Matt 17:1-9 Commemoration Pope Sixtus II, Felicissimus and Agapitus, Martyrs @@ -1342,7 +1342,7 @@ August 2027 15 Assumption of the Blessed Virgin Mary class-1 · white - Epistle Judith 13:22-25; 15:10 + Epistle Jth 13:22-25; 15:10 Gospel Luke 1:41-50 Commemoration 13th Sunday after Pentecost @@ -1526,7 +1526,7 @@ September 2027 15 Seven Sorrows of the Blessed Virgin Mary class-2 · white - Epistle Judith 13:22; 13:23-25 + Epistle Jth 13:22; 13:23-25 Gospel John 19:25-27 Commemoration S. Nicomedes @@ -1666,7 +1666,7 @@ October 2027 8 St. Bridget of Sweden class-3 · white - Epistle 1 Tim. 5:3-10 + Epistle 1 Tim 5:3-10 Gospel Matt 13:44-52 Commemoration Ss. Sergio, Baccho, Marcello and Apulejo Martyrs diff --git a/test/golden/ordo-2027.typ b/test/golden/ordo-2027.typ index 1d85849..0d87f04 100644 --- a/test/golden/ordo-2027.typ +++ b/test/golden/ordo-2027.typ @@ -654,7 +654,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[17] #h(2mm) #text(size: 7pt)[Wednesday] #h(1fr) #swatch("violet") \ #text(weight: "bold")[Lenten Ember Wednesday] \ - #text(size: 6.5pt)[2nd Class #sym.dot.c Violet #h(2mm) Epistle 3 Kings 19:3\-8 #h(2mm) Gospel Matt 12:38\-50] + #text(size: 6.5pt)[2nd Class #sym.dot.c Violet #h(2mm) Epistle 3 Kgs. 19:3\-8 #h(2mm) Gospel Matt 12:38\-50] ] @@ -716,7 +716,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[23] #h(2mm) #text(size: 7pt)[Tuesday] #h(1fr) #swatch("violet") \ #text(weight: "bold")[Tuesday of the 2nd Week of Lent] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 3 Kings 17:8\-16 #h(2mm) Gospel Matt 23:1\-12] \ + #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 3 Kgs. 17:8\-16 #h(2mm) Gospel Matt 23:1\-12] \ #text(size: 6.5pt)[Commemoration St. Peter Damien] ] @@ -804,7 +804,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[1] #h(2mm) #text(size: 7pt)[Monday] #h(1fr) #swatch("violet") \ #text(weight: "bold")[Monday of the 3rd Week of Lent] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 4 Kings 5:1\-15 #h(2mm) Gospel Luke 4:23\-30] + #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 4 Kgs. 5:1\-15 #h(2mm) Gospel Luke 4:23\-30] ] @@ -813,7 +813,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[2] #h(2mm) #text(size: 7pt)[Tuesday] #h(1fr) #swatch("violet") \ #text(weight: "bold")[Tuesday of the 3rd Week of Lent] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 4 Kings 4:1\-7 #h(2mm) Gospel Matt 18:15\-22] + #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 4 Kgs. 4:1\-7 #h(2mm) Gospel Matt 18:15\-22] ] @@ -875,7 +875,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[8] #h(2mm) #text(size: 7pt)[Monday] #h(1fr) #swatch("violet") \ #text(weight: "bold")[Monday of the 4th Week of Lent] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 3 Kings 3:16\-28 #h(2mm) Gospel John 2:13\-25] \ + #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 3 Kgs. 3:16\-28 #h(2mm) Gospel John 2:13\-25] \ #text(size: 6.5pt)[Commemoration St. John of God] ] @@ -905,7 +905,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[11] #h(2mm) #text(size: 7pt)[Thursday] #h(1fr) #swatch("violet") \ #text(weight: "bold")[Thursday of the 4th Week of Lent] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 4 Kings 4:25\-38 #h(2mm) Gospel Luke 7:11\-16] + #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 4 Kgs. 4:25\-38 #h(2mm) Gospel Luke 7:11\-16] ] @@ -914,7 +914,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[12] #h(2mm) #text(size: 7pt)[Friday] #h(1fr) #swatch("violet") \ #text(weight: "bold")[Friday of the 4th Week of Lent] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 3 Kings 17:17\-24 #h(2mm) Gospel John 11:1\-45] \ + #text(size: 6.5pt)[3rd Class #sym.dot.c Violet #h(2mm) Epistle 3 Kgs. 17:17\-24 #h(2mm) Gospel John 11:1\-45] \ #text(size: 6.5pt)[Commemoration St. Gregory the Great] ] @@ -1492,7 +1492,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[4] #h(2mm) #text(size: 7pt)[Tuesday] #h(1fr) #swatch("white") \ #text(weight: "bold")[St. Monica] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c White #h(2mm) Epistle 1 Tim. 5:3\-10 #h(2mm) Gospel Luke 7:11\-16] + #text(size: 6.5pt)[3rd Class #sym.dot.c White #h(2mm) Epistle 1 Tim 5:3\-10 #h(2mm) Gospel Luke 7:11\-16] ] @@ -2128,7 +2128,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[2] #h(2mm) #text(size: 7pt)[Friday] #h(1fr) #swatch("white") \ #text(weight: "bold")[Visitation of the Blessed Virgin Mary] \ - #text(size: 6.5pt)[2nd Class #sym.dot.c White #h(2mm) Epistle Song 2:8\-14 #h(2mm) Gospel Luke 1:39\-47] \ + #text(size: 6.5pt)[2nd Class #sym.dot.c White #h(2mm) Epistle Cant. 2:8\-14 #h(2mm) Gospel Luke 1:39\-47] \ #text(size: 6.5pt)[Commemoration SS. Processus and Martinian] ] @@ -2161,7 +2161,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[5] #h(2mm) #text(size: 7pt)[Monday] #h(1fr) #swatch("white") \ #text(weight: "bold")[St. Anthony Mary Zaccariah] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c White #h(2mm) Epistle 1 Tim. 4:8\-16 #h(2mm) Gospel Mark 10:15\-21] + #text(size: 6.5pt)[3rd Class #sym.dot.c White #h(2mm) Epistle 1 Tim 4:8\-16 #h(2mm) Gospel Mark 10:15\-21] ] @@ -2329,7 +2329,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[22] #h(2mm) #text(size: 7pt)[Thursday] #h(1fr) #swatch("white") \ #text(weight: "bold")[St. Mary Magdalene] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c White #h(2mm) Epistle Song 3:2\-5; 8:6\-7 #h(2mm) Gospel Luke 7:36\-50] + #text(size: 6.5pt)[3rd Class #sym.dot.c White #h(2mm) Epistle Cant. 3:2\-5; 8:6\-7 #h(2mm) Gospel Luke 7:36\-50] ] @@ -2488,7 +2488,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[6] #h(2mm) #text(size: 7pt)[Friday] #h(1fr) #swatch("white") \ #text(weight: "bold")[Transfiguration of Our Lord] \ - #text(size: 6.5pt)[2nd Class #sym.dot.c White #h(2mm) Epistle 2 Pet. 1:16\-19 #h(2mm) Gospel Matt 17:1\-9] \ + #text(size: 6.5pt)[2nd Class #sym.dot.c White #h(2mm) Epistle 2 Pet 1:16\-19 #h(2mm) Gospel Matt 17:1\-9] \ #text(size: 6.5pt)[Commemoration Pope Sixtus II, Felicissimus and Agapitus, Martyrs] ] @@ -2585,7 +2585,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[15] #h(2mm) #text(size: 7pt)[Sunday] #h(1fr) #swatch("white") \ #text(weight: "bold")[Assumption of the Blessed Virgin Mary] \ - #text(size: 6.5pt)[1st Class #sym.dot.c White #h(2mm) Epistle Judith 13:22\-25; 15:10 #h(2mm) Gospel Luke 1:41\-50] \ + #text(size: 6.5pt)[1st Class #sym.dot.c White #h(2mm) Epistle Jth 13:22\-25; 15:10 #h(2mm) Gospel Luke 1:41\-50] \ #text(size: 6.5pt)[Commemoration 13th Sunday after Pentecost] ] @@ -2921,7 +2921,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[15] #h(2mm) #text(size: 7pt)[Wednesday] #h(1fr) #swatch("white") \ #text(weight: "bold")[Seven Sorrows of the Blessed Virgin Mary] \ - #text(size: 6.5pt)[2nd Class #sym.dot.c White #h(2mm) Epistle Judith 13:22; 13:23\-25 #h(2mm) Gospel John 19:25\-27] \ + #text(size: 6.5pt)[2nd Class #sym.dot.c White #h(2mm) Epistle Jth 13:22; 13:23\-25 #h(2mm) Gospel John 19:25\-27] \ #text(size: 6.5pt)[Commemoration S. Nicomedes] ] @@ -3179,7 +3179,7 @@ #set par(leading: 0.36em) #text(weight: "bold")[8] #h(2mm) #text(size: 7pt)[Friday] #h(1fr) #swatch("white") \ #text(weight: "bold")[St. Bridget of Sweden] \ - #text(size: 6.5pt)[3rd Class #sym.dot.c White #h(2mm) Epistle 1 Tim. 5:3\-10 #h(2mm) Gospel Matt 13:44\-52] \ + #text(size: 6.5pt)[3rd Class #sym.dot.c White #h(2mm) Epistle 1 Tim 5:3\-10 #h(2mm) Gospel Matt 13:44\-52] \ #text(size: 6.5pt)[Commemoration Ss. Sergio, Baccho, Marcello and Apulejo Martyrs] ] diff --git a/test/test_lang_coverage.ml b/test/test_lang_coverage.ml index b4de5be..b2d32a4 100644 --- a/test/test_lang_coverage.ml +++ b/test/test_lang_coverage.ml @@ -95,6 +95,30 @@ let test_every_rite_has_a_latin_name () = (fun id -> if L.rite t id = id then Alcotest.failf "no Latin display name for rite %S" id) [ Rite_ef.Temporal_ef.id ] +(* Task 10: every id Colitur_citation.Book.all knows must have BOTH a + `.full` and an `.abbr` row in lang/la.ini's own [bible] section -- this is + the check that would have caught a forgotten tradition target (the seven + ids in book.ml's own `tradition_targets`, never cited by the data itself, + so nothing else here would ever notice one missing -- see book.mli's own + note on why `default_spelling` falls back to the bare id for exactly + this case). The total-lookup contract makes this a one-line miss test: + `Lang.bible la key = key` IS "no entry", the same pattern + `test_every_slug_has_a_latin_name` above already uses for [celebration]. *) +let test_every_book_named () = + let la = la () in + let missing = + List.concat_map + (fun id -> + let n = Colitur_citation.Book.to_string id in + List.filter_map + (fun form -> + let key = n ^ "." ^ form in + if L.bible la key = key then Some key else None) + [ "full"; "abbr" ]) + Colitur_citation.Book.all + in + Alcotest.(check (list string)) "every book named, both forms" [] missing + (* lang/en.ini is DELIBERATELY partial (see its own header note): it declares [meta] fallback = la, so a slug it does not carry itself should still resolve through the chain to la.ini's name rather than degrade to the bare @@ -136,4 +160,5 @@ let suite = [ Alcotest.test_case "every slug has a Latin name" `Slow test_every_slug_has_a_latin_name; Alcotest.test_case "vocabularies complete" `Quick test_vocabularies_are_complete; Alcotest.test_case "every rite has a Latin name" `Quick test_every_rite_has_a_latin_name; + Alcotest.test_case "every book named, both forms" `Quick test_every_book_named; Alcotest.test_case "en.ini falls back to Latin" `Quick test_en_falls_back_to_latin ] ) -- cgit v1.3 From 5638f25a6d51477f8c8417b0586b8a10f79ec8f0 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 17:17:42 +0200 Subject: fix(lang): disambiguate the two Books of Kings in full mode Both kings_3 and kings_4 carried the full title "Liber Regum", so --sigla-book full rendered 3 Kings and 4 Kings identically and a reader could not tell which book a citation named. Seven citations in 2027 alone. The cause is real and now recorded rather than papered over: this Missal's incipit "Lectio libri Regum." is UNDIFFERENTIATED -- that exact unqualified phrase precedes both a "3 Reg." and a "4 Reg." locator in the same book -- so it is not a valid full title for either volume on its own. Only the numbered locator distinguishes them, and both "3 Reg" and "4 Reg" are independently attested in the scans. The full titles are therefore marked CONSTRUCTED, a third category beside sourced and UNSOURCED: both halves are transcribed, their combination is not. The numeral is written in Roman to match this project's own output convention ("Feria IV", "Hebdomada I"). Abbreviated and --raw output are unchanged. --- lang/la.ini | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'lang') diff --git a/lang/la.ini b/lang/la.ini index 537f9a3..369d6b3 100644 --- a/lang/la.ini +++ b/lang/la.ini @@ -1888,14 +1888,20 @@ numbers.full = Liber Numeri ; Numeri." is clean and unambiguous. numbers.abbr = Num ; scan1.txt:9968 "Num. 20, 1, 3 et 6-13", same page as the .full citation. -kings_3.full = Liber Regum -; scan1.txt:8376/9116/10341 "Lectio libri Regum." -- see the header's own -; UNDIFFERENTIATED INCIPITS note: this exact phrase, unqualified, precedes -; both a "3 Reg." and a "4 Reg." locator elsewhere in the same Missal. +kings_3.full = Liber Regum III +; CONSTRUCTED, not transcribed -- both halves are sourced, their combination +; is not. The incipit "Lectio libri Regum." (scan1.txt:8376/9116/10341) is +; UNDIFFERENTIATED: that exact unqualified phrase precedes both a "3 Reg." +; and a "4 Reg." locator in this same Missal, so on its own it does not +; identify WHICH volume and is therefore not a valid full title for either. +; The volume numeral comes from the sourced locator (3 Reg / 4 Reg below), +; written as a Roman numeral to match this project's own output convention +; ("Feria IV", "Hebdomada I"). Bare "Liber Regum" was rejected: it rendered +; 3 Kings and 4 Kings identically under --sigla-book full, losing the book. kings_3.abbr = 3 Reg ; scan1.txt:8376 "3 Reg. 19, 3-8", also scan2.txt:11230/11671. -kings_4.full = Liber Regum -; Shared incipit -- see kings_3.full's own citation and the header note. +kings_4.full = Liber Regum IV +; CONSTRUCTED -- see kings_3.full's own note for the full reasoning. kings_4.abbr = 4 Reg ; scan1.txt:9668 "4 Reg. 5, 1-15", also scan1.txt:10636/9771. esdras_2.full = Liber Esdrae -- cgit v1.3 From 46ffa91fd4fcc2249cd097b3b3a639d37a7d592e Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 17:33:26 +0200 Subject: fix(lang): stop internal book ids reaching output, and finish the docs Three defects, all found by running the documented examples rather than by reading code. All seven modern-numbering targets carried their own internal id as their Latin name (kings_1.full = kings_1), so --sigla-tradition modern printed "kings_1 19:3-8" -- leaking a key book.mli states is never shown to a reader. They now carry Vulgate-derived Latin names marked CONSTRUCTED: the 1962 Missal uses Vulgate numbering throughout, so it can contain no incipit for a book that exists only under a later convention. In Latin the modern tradition therefore only moves Kings and Esdras; Osee, Ionas, Ecclesiasticus and the Apocalypse keep their names either way, since modern numbering is a vernacular convention. The coverage test could not catch this. It compares a name against its KEY ("kings_1.full"), and "kings_1" differs from that, so the row passed. A second check now asserts no name IS its own id. The two are complementary: one catches a missing row, the other a row present but filled with the wrong thing. Mutation-proved. --help still claimed sigla settings were resolved "but not yet rendered", stale since the render wiring landed. colitur-config.5 documented none of the three settings even though config --show prints them. --- bin/main.ml | 7 +++--- lang/la.ini | 51 ++++++++++++++++++++++++++----------- man/colitur-config.5 | 63 ++++++++++++++++++++++++++++++++++++++++++++++ test/test_lang_coverage.ml | 28 +++++++++++++++++++++ 4 files changed, 132 insertions(+), 17 deletions(-) (limited to 'lang') diff --git a/bin/main.ml b/bin/main.ml index 5ad3132..c76a082 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1267,9 +1267,10 @@ naming: `abbr`), the same discipline as an unknown `--lang`; an unrecognised `--sigla-tradition` is not -- it degrades to the Vulgate with a stderr warning, because asking for a renumbering - is optional the way asking for a language is not. Settings - only, for now: this build resolves and reports them but does - not yet render a citation through them. + is optional the way asking for a language is not. `--raw` + bypasses all of it and emits each citation exactly as stored, + byte for byte, so it stays usable for diffing and does not + depend on the citation parser being correct. colitur lang --list which language files this build can find, and each one's own declared fallback, if any. diff --git a/lang/la.ini b/lang/la.ini index 369d6b3..3783482 100644 --- a/lang/la.ini +++ b/lang/la.ini @@ -2157,17 +2157,40 @@ apocalypse.abbr = Apoc ; render one of these bare ids straight into a citation. ; UNSOURCED (all seven rows below -- see this section's own header ; immediately above for why: a category mismatch, not a search gap). -kings_1.full = kings_1 -kings_1.abbr = kings_1 -kings_2.full = kings_2 -kings_2.abbr = kings_2 -nehemiah.full = nehemiah -nehemiah.abbr = nehemiah -sirach.full = sirach -sirach.abbr = sirach -hosea.full = hosea -hosea.abbr = hosea -jonah.full = jonah -jonah.abbr = jonah -revelation.full = revelation -revelation.abbr = revelation +; The seven MODERN-NUMBERING targets. All CONSTRUCTED, and necessarily so: +; the 1962 Missal uses Vulgate numbering throughout, so it can contain no +; incipit for a book that exists only under a later convention. Latin forms +; follow the Vulgate's own naming for the same physical book. +; +; They were previously set to the internal id ("kings_1.full = kings_1") by +; applying the UNSOURCED rule mechanically -- but that rule says to fall back +; to the spelling THE DATA USES, and these books are never cited by the data +; at all, so the fallback yielded the id. `--sigla-tradition modern` then +; printed "kings_1 19:3-8", leaking an internal key that book.mli states is +; never shown to a reader. +; +; Note that in LATIN the modern tradition only really moves Kings and Esdras: +; Osee, Ionas, Ecclesiasticus and the Apocalypse keep their Vulgate names, so +; those four map to an identical rendering. That is correct, not a no-op bug +; -- modern numbering is a vernacular convention, and these files show it. +kings_1.full = Liber Regum I +; CONSTRUCTED -- same reasoning as kings_3.full above, one volume lower. +kings_1.abbr = 1 Reg +kings_2.full = Liber Regum II +; CONSTRUCTED. +kings_2.abbr = 2 Reg +nehemiah.full = Liber Nehemiae +; CONSTRUCTED. The Vulgate calls this book 2 Esdras; see esdras_2 above. +nehemiah.abbr = Neh +sirach.full = Liber Ecclesiastici +; CONSTRUCTED. Same book as ecclesiasticus above, under its modern name. +sirach.abbr = Sir +hosea.full = Osee Propheta +; CONSTRUCTED. Identical to osee above -- see the note at the top of this block. +hosea.abbr = Os +jonah.full = Ionas Propheta +; CONSTRUCTED. Identical to jonas above. +jonah.abbr = Ion +revelation.full = Apocalypsis +; CONSTRUCTED. Identical to apocalypse above. +revelation.abbr = Apoc diff --git a/man/colitur-config.5 b/man/colitur-config.5 index 8f21028..6b3a574 100644 --- a/man/colitur-config.5 +++ b/man/colitur-config.5 @@ -181,6 +181,69 @@ accepts it. Relevant only to which requires a format either from this setting or from .BR \-\-format ; no default. +.TP +.B sigla_style +Which citation STYLE to render book names and punctuation with: a language +code, or a path to a file carrying a +.B [sigla] +section. Defaults to the resolved +.IR lang , +so a booklet's citations follow its own language unless told otherwise. +See +.BR colitur (1)'s +.B SIGLA +section for the five style settings. +.TP +.B sigla_book +.BR full " or " abbr . +Overrides the selected style's own +.B book +setting. Default +.BR abbr , +giving +.B "Luc. 5:12\-14" +rather than +.BR "Evangelium secundum Lucam 5:12\-14" . +An unrecognised value is a hard error, the same discipline as an unknown +.BR \-\-lang . +.TP +.B sigla_tradition +A section name in +.IR lang/traditions.ini , +deciding which book a reference DENOTES rather than what it is called. +Default +.BR vulgate , +the identity \(em colitur never renumbers unless asked. With +.B modern +the Vulgate's own +.B "3 Kings 19:3\-8" +renders as +.B "1 Reg 19:3\-8" +in Latin, or +.B "1 Kgs 19:3\-8" +under +.BR "\-\-lang en" . +In Latin the modern tradition only really moves Kings and Esdras: Osee, +Ionas, Ecclesiasticus and the Apocalypse keep their Vulgate names either +way, because modern numbering is a vernacular convention. +Unlike +.IR sigla_book , +an unrecognised value is NOT fatal: it warns on stderr and falls back to +.BR vulgate , +because asking for a renumbering is optional the way asking for a language +is not. +.PP +Naming and renumbering are deliberately separate mechanisms. +.I sigla_style +selects what a book is CALLED, which varies by language; +.I sigla_tradition +selects which book a reference DENOTES, which does not \(em "modern +numbering" is the same decision in Latin, Polish and English. Conflating +them is how a citation ends up naming the wrong book. +.PP +None of these affect +.BR \-\-raw , +which emits every citation exactly as stored, byte for byte. .SH UNKNOWN KEYS AND SECTIONS A key inside .B [defaults] diff --git a/test/test_lang_coverage.ml b/test/test_lang_coverage.ml index b2d32a4..0271a59 100644 --- a/test/test_lang_coverage.ml +++ b/test/test_lang_coverage.ml @@ -119,6 +119,32 @@ let test_every_book_named () = in Alcotest.(check (list string)) "every book named, both forms" [] missing +(* A name must not BE the internal id. The check above compares the value + against the KEY ("kings_1.full"), so a row reading `kings_1.full = kings_1` + passes it -- the two strings differ. That is exactly what shipped: all seven + tradition targets carried their own id as their name, and + `--sigla-tradition modern` printed "kings_1 19:3-8", leaking a key that + book.mli states is never shown to a reader. + + The two checks are complementary and neither subsumes the other: that one + catches a MISSING row, this one catches a row present but filled with the + wrong thing. *) +let test_no_book_name_is_an_internal_id () = + let la = la () in + let leaked = + List.concat_map + (fun id -> + let n = Colitur_citation.Book.to_string id in + List.filter_map + (fun form -> + let v = L.bible la (n ^ "." ^ form) in + if v = n then Some (n ^ "." ^ form) else None) + [ "full"; "abbr" ]) + Colitur_citation.Book.all + in + Alcotest.(check (list string)) "no book name is its own internal id" [] + leaked + (* lang/en.ini is DELIBERATELY partial (see its own header note): it declares [meta] fallback = la, so a slug it does not carry itself should still resolve through the chain to la.ini's name rather than degrade to the bare @@ -161,4 +187,6 @@ let suite = Alcotest.test_case "vocabularies complete" `Quick test_vocabularies_are_complete; Alcotest.test_case "every rite has a Latin name" `Quick test_every_rite_has_a_latin_name; Alcotest.test_case "every book named, both forms" `Quick test_every_book_named; + Alcotest.test_case "no book name is an internal id" `Quick + test_no_book_name_is_an_internal_id; Alcotest.test_case "en.ini falls back to Latin" `Quick test_en_falls_back_to_latin ] ) -- cgit v1.3 From 1da70dc7ac03fe33fb92b172a0e26932764170d6 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 19:03:02 +0200 Subject: fix(citation): close the final review's blocking findings The branch was RED and reported green. `dune test` exited 1: test/cli.t pinned the pre-fix output `kings_1 19:3-8`, which the previous commit had already fixed to `1 Reg 19:3-8`. The gate command piped dune through `tail`, so it reported tail's exit status, and cram prints its diff BEFORE the alcotest summary, so the two lines shown were the passing ones. Verify with `dune test; echo $?`, never through a pipe. A style file's own `book` key was unreachable. sigla_book resolved against a hardcoded "abbr" and the result was applied unconditionally, so the documented `[sigla] book = full` could never win. Render gains book_string, and the style's own value is now the default that a flag or config overrides. The unit test pinned style_of_fields correctly while the wiring defeated it. `lang --check` filtered the reference set to the celebration prefix, so a file with no [bible] section at all reported a clean bill of health -- contradicting both the reason the keys change was made and lang.ml's own comment. It now reports missing book names too. The token test missed a FOURTH citation-bearing file: adjustments.sexp writes citations as `Set_citation`, not `(reference ...)`. Its 16 citations all parse, so nothing was broken, but nothing was checking. The first attempt at this fix read the file and extracted NOTHING -- the marker stopped before the opening quote, so every payload was the part label -- which is recorded in the code rather than left as a trap. Also: colitur-config(5) claimed a trailing period the data does not carry, and two la.ini scan quotes silently corrected OCR damage ("Ionae 3, I - I O", "Epistolse") while presenting themselves as verbatim. Both are now marked as corrections. --- bin/main.ml | 31 ++++++++++++++++++++++++++++++- lang/la.ini | 13 +++++++++++-- lib/citation/render.ml | 1 + lib/citation/render.mli | 10 ++++++++++ man/colitur-config.5 | 2 +- test/cli.t | 23 +++++++++++++++-------- test/test_citation.ml | 32 ++++++++++++++++++++++++++------ 7 files changed, 94 insertions(+), 18 deletions(-) (limited to 'lang') diff --git a/bin/main.ml b/bin/main.ml index c76a082..1207b1d 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -780,7 +780,11 @@ let load_sigla ~raw ~lang_t ~sigla_style_flag ~sigla_book_flag ~sigla_tradition_ in let sigla_book_value, _ = Colitur_naming.Config.resolve ~flag:sigla_book_flag - ~config:(Colitur_naming.Config.sigla_book config) ~default:"abbr" + ~config:(Colitur_naming.Config.sigla_book config) + (* The STYLE's own [book] key is the default, so a style file can + set it and a flag/config still overrides. A hardcoded "abbr" + here made the documented [sigla] book key unreachable. *) + ~default:(Colitur_citation.Render.book_string style) in let book_form = match sigla_book_value with @@ -1870,11 +1874,36 @@ let lang_check path = in let missing = List.filter (fun s -> not (List.mem s have)) known in let unknown = List.filter (fun s -> not (List.mem s known)) have in + (* Book names are checked the same way, and separately. Without + this the reference set gained a [bible] half that nothing ever + consulted: a file with [bible] entirely absent reported a clean + bill of health while every citation silently fell back to the + data's own Latin spelling. A miss is the TOTAL-lookup contract's + own signature -- [Lang.bible] returns the KEY when there is no + entry -- so equality with the key IS the test. *) + let missing_books = + List.concat_map + (fun id -> + let n = Colitur_citation.Book.to_string id in + List.filter_map + (fun form -> + let key = n ^ "." ^ form in + if Colitur_naming.Lang.bible t key = key then Some key + else None) + [ "full"; "abbr" ]) + Colitur_citation.Book.all + in List.iter (fun s -> Printf.printf "missing: %s\n" s) (List.sort compare missing); + List.iter (fun s -> Printf.printf "missing book: %s\n" s) + (List.sort compare missing_books); List.iter (fun s -> Printf.printf "unknown slug: %s\n" s) (List.sort compare unknown); + let books_total = 2 * List.length Colitur_citation.Book.all in Printf.printf "%s: %d of %d celebrations named, %d missing, %d unknown\n" path (List.length known - List.length missing) (List.length known) (List.length missing) (List.length unknown); + Printf.printf "%s: %d of %d book names, %d missing\n" path + (books_total - List.length missing_books) books_total + (List.length missing_books); if unknown <> [] then exit 1) (* `colitur config --show` -- each effective setting, its resolved value, diff --git a/lang/la.ini b/lang/la.ini index 3783482..821acff 100644 --- a/lang/la.ini +++ b/lang/la.ini @@ -1997,7 +1997,12 @@ jonas.full = Ionas Propheta ; scan1.txt:11021 "Lectio Ionae Prophetae." -- CORRECTS the sourcing note ; (genitive "Ionae" -> nominative "Ionas"). jonas.abbr = Ionae -; scan1.txt:11022 "Ionae 3, 1-10", same page as the .full citation -- the +; scan1.txt:11022 -- OCR-NORMALISED, not verbatim: the line actually reads +; "Ionae 3, I - I O", the scanner having read the digits 1 and 0 as capital +; letter I and letter O. The reading is unambiguous in context (Jonas 3 has +; 10 verses and the pericope below runs to verse 10), but the quote is a +; correction, not a transcription, and is marked so rather than presented as +; if the page said it. Same page as the .full citation -- the ; Missal's own locator uses the genitive form directly, unabbreviated. malachi.full = Malachias Propheta ; scan1.txt:26697 "Lectio Malachiae Prophetae." -- CORRECTS the sourcing @@ -2101,7 +2106,11 @@ hebrews.abbr = Hebr ; --- Catholic epistles -------------------------------------------------- james.full = Epistola beati Iacobi Apostoli -; scan1.txt:20348 "Lectio Epistolae beati Iacobi Apostoli.", also +; scan1.txt:20348 -- OCR-NORMALISED, not verbatim: the line reads +; "Epistolse beati Iacobi Apostoli", the scanner having read the ligature ae +; as "se". The correction is certain (no Latin word "Epistolse" exists, and +; the same phrase is clean elsewhere), but it is a correction and is marked +; as one. Also ; 20432/20509/34828/38918/40963/41197/45872/49193 -- no "ad X" destination ; to shorten to, so the attribution stays; see the header's own note on this ; pattern. diff --git a/lib/citation/render.ml b/lib/citation/render.ml index c66a0ca..79aaa86 100644 --- a/lib/citation/render.ml +++ b/lib/citation/render.ml @@ -20,6 +20,7 @@ let default_style = let part_sep st = st.part_sep let range st = st.range let book_sep st = st.book_sep +let book_string st = match st.book with `Full -> "full" | `Abbr -> "abbr" (* Arabic -> Roman, for the {chapter_roman} placeholder. Lifted from [Colitur_render.View.roman_numeral], which prints "Hebdomada I" week diff --git a/lib/citation/render.mli b/lib/citation/render.mli index d741931..274900c 100644 --- a/lib/citation/render.mli +++ b/lib/citation/render.mli @@ -44,5 +44,15 @@ val range : style -> string [\textasciitilde{}]. *) val book_sep : style -> string +(** The style's own book form, as the string a config file would write + (["full"] or ["abbr"]). + + Exists so a caller can use the STYLE's value as the default when + resolving the [sigla_book] setting. Resolving against a hardcoded + ["abbr"] instead makes a style file's own [book] key unreachable -- + the value is always overwritten before it can apply -- which is what + shipped until this accessor existed. *) +val book_string : style -> string + val render : style -> names:(Book.id -> [ `Full | `Abbr ] -> string) -> Parse.t -> string diff --git a/man/colitur-config.5 b/man/colitur-config.5 index 6b3a574..0e242bf 100644 --- a/man/colitur-config.5 +++ b/man/colitur-config.5 @@ -201,7 +201,7 @@ Overrides the selected style's own setting. Default .BR abbr , giving -.B "Luc. 5:12\-14" +.B "Luc 5:12\-14" rather than .BR "Evangelium secundum Lucam 5:12\-14" . An unrecognised value is a hard error, the same discipline as an unknown diff --git a/test/cli.t b/test/cli.t index d9d8ec5..b44a256 100644 --- a/test/cli.t +++ b/test/cli.t @@ -1261,12 +1261,14 @@ slug the engine can produce over 2020-2045: $ colitur lang --check d.ini d.ini: 725 of 725 celebrations named, 0 missing, 0 unknown + d.ini: 104 of 104 book names, 0 missing `--check` reports what is MISSING (a real slug with no entry): $ printf '[meta]\nlang = zz\n[celebration]\nef-epiphany = Test\n' > partial.ini - $ colitur lang --check partial.ini | tail -1 + $ colitur lang --check partial.ini | tail -2 partial.ini: 1 of 725 celebrations named, 724 missing, 0 unknown + partial.ini: 0 of 104 book names, 104 missing `--check` REJECTS an unknown slug (exit 1), so a typo is visible rather than silently dead -- its author would otherwise never learn why the name they @@ -1431,15 +1433,20 @@ Latin-convention punctuation. The synthetic file below overrides only `--sigla-tradition` renumbers which book an id DENOTES (lang/traditions.ini), independently of style or naming -- `modern` maps `3 Kings` onto the id -`kings_1`. Task 10's `la.ini` now carries a `[bible]` row for `kings_1` (a -tradition target the Vulgate data never cites directly, book.mli), but only -its own bare id -- an honest UNSOURCED placeholder, not a name (la.ini's own -`[bible]` header note) -- so it still prints literally, now BY DESIGN rather -than by the row's absence, still a real, if plain, witness that the -tradition actually applied rather than a no-op: +`kings_1`, whose own Latin name la.ini marks CONSTRUCTED: the 1962 Missal +uses Vulgate numbering throughout, so it can contain no incipit for a book +that exists only under a later convention. In Latin the modern tradition +therefore only really moves Kings and Esdras -- Osee, Ionas, Ecclesiasticus +and the Apocalypse keep their Vulgate names either way, because modern +numbering is a vernacular convention: $ colitur readings 2027 --sigla-tradition modern | grep '^2027-02-17' - 2027-02-17 ef-lent-ember-wed | kings_1 19:3-8 | Matth 12:38-50 | Feria IV Quatuor Temporum Quadragesimae + 2027-02-17 ef-lent-ember-wed | 1 Reg 19:3-8 | Matth 12:38-50 | Feria IV Quatuor Temporum Quadragesimae + +Under an English file the same mapping shows its usual face: + + $ colitur readings 2027 --lang en --sigla-tradition modern | grep '^2027-02-17' + 2027-02-17 ef-lent-ember-wed | 1 Kgs 19:3-8 | Matt 12:38-50 | Lenten Ember Wednesday `table`/`render`, `emit` and `publish` accept the same three flags too -- smoke-tested for exit status alone here (a minimal inline template, the diff --git a/test/test_citation.ml b/test/test_citation.ml index 1efaa10..133553b 100644 --- a/test/test_citation.ml +++ b/test/test_citation.ml @@ -117,8 +117,7 @@ let starts_with_at content pos prefix = [Str]/regex -- a plain forward scan for the marker, then read to the closing quote. Mirrors the coordinator's own survey command (grep -oh over the reference marker, quote-delimited). *) -let references content = - let marker = "(reference \"" in +let references_with marker content = let mlen = String.length marker in let len = String.length content in let rec loop pos acc = @@ -151,14 +150,35 @@ let book_token r = let stop = if !i < len && r.[!i] = '.' then !i + 1 else !i in String.sub r 0 stop +(* A citation is written TWO ways in this project's data, and a survey that + knows only one of them silently under-reads the corpus: + (reference "Isa 60:1-6") -- lectionary/sanctoral/commons + (Set_citation First "Wis 7:7-14") -- adjustments.sexp, an overlay + Both markers are scanned below. *) +let references content = + (* Each marker must include the OPENING QUOTE. [references_with] returns + the text between the marker and the next '"', so a marker stopping at + "(Set_citation " yields "First " / "Gospel " -- the part label, never + the citation -- and every entry is then silently discarded. That was + this function's first version, and it read the file while extracting + nothing at all. *) + references_with "(reference \"" content + @ references_with "(Set_citation First \"" content + @ references_with "(Set_citation Gospel \"" content + let test_every_data_file_token_resolves () = (* The check whose absence caused fix round 1: the brief surveyed only the lectionary and missed 21 tokens, several common, living in - sanctoral.sexp and commons.sexp. Read all three files at test time and - re-derive the token set from them, rather than hardcoding a list, so - this keeps working when the data changes. *) + sanctoral.sexp and commons.sexp. + + adjustments.sexp was then missed AGAIN, by this very test, because it + writes citations as `Set_citation` rather than `(reference ...)` -- the + same "one file too few" shape twice over. All FOUR shipped files are + read here, and the token set is re-derived from them at test time + rather than hardcoded, so this keeps working when the data changes. *) let files = - [ "../data/ef/lectionary.sexp"; "../data/ef/sanctoral.sexp"; "../data/ef/commons.sexp" ] + [ "../data/ef/lectionary.sexp"; "../data/ef/sanctoral.sexp"; + "../data/ef/commons.sexp"; "../data/ef/adjustments.sexp" ] in let tokens = files -- cgit v1.3