aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/dune8
-rw-r--r--test/golden/grid-2027.html287
-rw-r--r--test/golden/grid-2027.ms186
-rw-r--r--test/golden/grid-2027.tex174
-rw-r--r--test/test_render_golden.ml4
5 files changed, 657 insertions, 2 deletions
diff --git a/test/dune b/test/dune
index 504a639..aa4bd66 100644
--- a/test/dune
+++ b/test/dune
@@ -19,12 +19,18 @@
../templates/ef/ordo.adoc
../templates/ef/ordo.md
../templates/ef/ordo.txt
+ ../templates/ef/grid.tex
+ ../templates/ef/grid.ms
+ ../templates/ef/grid.html
golden/ordo-2027.tex
golden/ordo-2027.ms
golden/ordo-2027.html
golden/ordo-2027.adoc
golden/ordo-2027.md
- golden/ordo-2027.txt)
+ golden/ordo-2027.txt
+ golden/grid-2027.tex
+ golden/grid-2027.ms
+ golden/grid-2027.html)
(preprocess
(pps ppx_sexp_conv)))
diff --git a/test/golden/grid-2027.html b/test/golden/grid-2027.html
new file mode 100644
index 0000000..9068788
--- /dev/null
+++ b/test/golden/grid-2027.html
@@ -0,0 +1,287 @@
+<!-- colitur wall calendar -- HTML. flavour: html -->
+<!-- Day label falls back to the slug when the day carries no Latin name
+ (most temporal days, and most sanctoral entries, which are Latin-less
+ in the shipped data) -- see ordo.tex's own comment for why the fallback
+ is written as a name-section wrapping a plain var and its inverse,
+ rather than a single dotted lookup and its inverse: the enclosing month
+ object also carries its own name.la, and a dotted lookup that misses
+ climbs the WHOLE path to that outer scope instead of falling back. -->
+<!doctype html>
+<html lang="la"><head><meta charset="utf-8">
+<title>Calendarium 2027</title>
+<style>
+ body{font-family:sans-serif;margin:1em}
+ table{border-collapse:collapse;width:100%;margin-bottom:1.5em;page-break-inside:avoid}
+ caption{font-size:1.2em;font-weight:bold;padding:.4em}
+ th{font-size:.8em;padding:.2em;border-bottom:1px solid #999}
+ td{border:1px solid #ddd;vertical-align:top;height:5em;width:14.28%;padding:.2em;font-size:.75em}
+ td.pad{background:#fafafa;border-color:#eee}
+ .dom{font-weight:bold;display:block}
+ .white{background:#fff} .red{background:#fdd} .green{background:#dfd}
+ .violet{background:#eae} .rose{background:#fde} .black{background:#ddd}
+ @media print{@page{size:landscape}body{margin:0}}
+</style></head><body>
+<h1>Calendarium 2027 &middot; ef</h1>
+
+<table>
+ <caption>Ianuarius</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="white"><span class="dom">1</span>ef-circumcision</td><td class="white"><span class="dom">2</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">3</span>Sanctissimi Nominis Iesu</td><td class="white"><span class="dom">4</span>ef-christmas-1-monday</td><td class="white"><span class="dom">5</span>ef-christmas-1-tuesday</td><td class="white"><span class="dom">6</span>ef-epiphany</td><td class="white"><span class="dom">7</span>ef-christmas-2-thursday</td><td class="white"><span class="dom">8</span>ef-christmas-2-friday</td><td class="white"><span class="dom">9</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">10</span>Sanctae Familiae Iesu, Mariae, Ioseph</td><td class="white"><span class="dom">11</span>ef-time-after-epiphany-1-monday</td><td class="white"><span class="dom">12</span>ef-time-after-epiphany-1-tuesday</td><td class="white"><span class="dom">13</span>commemoration-of-the-baptism-of-the-lord</td><td class="white"><span class="dom">14</span>hilary</td><td class="white"><span class="dom">15</span>paul-the-first-hermit</td><td class="red"><span class="dom">16</span>marcellus-i</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">17</span>ef-time-after-epiphany-sunday-2</td><td class="green"><span class="dom">18</span>ef-time-after-epiphany-2-monday</td><td class="green"><span class="dom">19</span>ef-time-after-epiphany-2-tuesday</td><td class="red"><span class="dom">20</span>sts-fabian-sebastian</td><td class="red"><span class="dom">21</span>agnes</td><td class="red"><span class="dom">22</span>sts-vincent-anastasius</td><td class="white"><span class="dom">23</span>raymond-of-pe-afort</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">24</span>ef-septuagesima-sunday-1</td><td class="white"><span class="dom">25</span>conversion-of-st-paul</td><td class="red"><span class="dom">26</span>polycarp</td><td class="white"><span class="dom">27</span>john-chrysostom</td><td class="white"><span class="dom">28</span>peter-nolasco</td><td class="white"><span class="dom">29</span>francis-de-sales</td><td class="red"><span class="dom">30</span>martina</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">31</span>ef-septuagesima-sunday-2</td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>Februarius</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="red"><span class="dom">1</span>ignatius-of-antioch</td><td class="white"><span class="dom">2</span>purification-of-the-blessed-virgin-mary</td><td class="violet"><span class="dom">3</span>ef-septuagesima-2-wednesday</td><td class="white"><span class="dom">4</span>andrew-corsini</td><td class="red"><span class="dom">5</span>agatha</td><td class="white"><span class="dom">6</span>titus</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">7</span>ef-septuagesima-sunday-3</td><td class="white"><span class="dom">8</span>john-of-matha</td><td class="white"><span class="dom">9</span>cyril-of-alexandria</td><td class="violet"><span class="dom">10</span>ef-ash-wednesday</td><td class="violet"><span class="dom">11</span>ef-lent-after-ashes-thursday</td><td class="violet"><span class="dom">12</span>ef-lent-after-ashes-friday</td><td class="violet"><span class="dom">13</span>ef-lent-after-ashes-saturday</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">14</span>ef-lent-sunday-1</td><td class="violet"><span class="dom">15</span>ef-lent-1-monday</td><td class="violet"><span class="dom">16</span>ef-lent-1-tuesday</td><td class="violet"><span class="dom">17</span>ef-lent-ember-wed</td><td class="violet"><span class="dom">18</span>ef-lent-1-thursday</td><td class="violet"><span class="dom">19</span>ef-lent-ember-fri</td><td class="violet"><span class="dom">20</span>ef-lent-ember-sat</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">21</span>ef-lent-sunday-2</td><td class="white"><span class="dom">22</span>chair-of-st-peter</td><td class="violet"><span class="dom">23</span>ef-lent-2-tuesday</td><td class="red"><span class="dom">24</span>matthias</td><td class="violet"><span class="dom">25</span>ef-lent-2-thursday</td><td class="violet"><span class="dom">26</span>ef-lent-2-friday</td><td class="violet"><span class="dom">27</span>ef-lent-2-saturday</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">28</span>ef-lent-sunday-3</td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>Martius</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="violet"><span class="dom">1</span>ef-lent-3-monday</td><td class="violet"><span class="dom">2</span>ef-lent-3-tuesday</td><td class="violet"><span class="dom">3</span>ef-lent-3-wednesday</td><td class="violet"><span class="dom">4</span>ef-lent-3-thursday</td><td class="violet"><span class="dom">5</span>ef-lent-3-friday</td><td class="violet"><span class="dom">6</span>ef-lent-3-saturday</td>
+ </tr>
+ <tr>
+ <td class="rose"><span class="dom">7</span>ef-lent-sunday-4</td><td class="violet"><span class="dom">8</span>ef-lent-4-monday</td><td class="violet"><span class="dom">9</span>ef-lent-4-tuesday</td><td class="violet"><span class="dom">10</span>ef-lent-4-wednesday</td><td class="violet"><span class="dom">11</span>ef-lent-4-thursday</td><td class="violet"><span class="dom">12</span>ef-lent-4-friday</td><td class="violet"><span class="dom">13</span>ef-lent-4-saturday</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">14</span>ef-passion-sunday</td><td class="violet"><span class="dom">15</span>ef-passiontide-1-monday</td><td class="violet"><span class="dom">16</span>ef-passiontide-1-tuesday</td><td class="violet"><span class="dom">17</span>ef-passiontide-1-wednesday</td><td class="violet"><span class="dom">18</span>ef-passiontide-1-thursday</td><td class="white"><span class="dom">19</span>joseph-spouse-of-the-bl-virgin-mary</td><td class="violet"><span class="dom">20</span>ef-passiontide-1-saturday</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">21</span>ef-palm-sunday</td><td class="violet"><span class="dom">22</span>ef-passiontide-2-monday</td><td class="violet"><span class="dom">23</span>ef-passiontide-2-tuesday</td><td class="violet"><span class="dom">24</span>ef-passiontide-2-wednesday</td><td class="white"><span class="dom">25</span>Feria V in Cena Domini</td><td class="black"><span class="dom">26</span>Feria VI in Passione et Morte Domini</td><td class="violet"><span class="dom">27</span>Sabbato sancto</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">28</span>ef-easter-sunday</td><td class="white"><span class="dom">29</span>ef-easter-1-monday</td><td class="white"><span class="dom">30</span>ef-easter-1-tuesday</td><td class="white"><span class="dom">31</span>ef-easter-1-wednesday</td><td class="pad"></td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>Aprilis</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="white"><span class="dom">1</span>ef-easter-1-thursday</td><td class="white"><span class="dom">2</span>ef-easter-1-friday</td><td class="white"><span class="dom">3</span>ef-easter-1-saturday</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">4</span>ef-low-sunday</td><td class="white"><span class="dom">5</span>annunciation-of-the-blessed-virgin-mary</td><td class="white"><span class="dom">6</span>ef-easter-2-tuesday</td><td class="white"><span class="dom">7</span>ef-easter-2-wednesday</td><td class="white"><span class="dom">8</span>ef-easter-2-thursday</td><td class="white"><span class="dom">9</span>ef-easter-2-friday</td><td class="white"><span class="dom">10</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">11</span>ef-easter-sunday-3</td><td class="white"><span class="dom">12</span>ef-easter-3-monday</td><td class="red"><span class="dom">13</span>hermenegild</td><td class="red"><span class="dom">14</span>justin</td><td class="white"><span class="dom">15</span>ef-easter-3-thursday</td><td class="white"><span class="dom">16</span>ef-easter-3-friday</td><td class="white"><span class="dom">17</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">18</span>ef-easter-sunday-4</td><td class="white"><span class="dom">19</span>ef-easter-4-monday</td><td class="white"><span class="dom">20</span>ef-easter-4-tuesday</td><td class="white"><span class="dom">21</span>anselm</td><td class="red"><span class="dom">22</span>sts-soter-caius</td><td class="white"><span class="dom">23</span>ef-easter-4-friday</td><td class="red"><span class="dom">24</span>fidelis-of-sigmaringen</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">25</span>ef-easter-sunday-5</td><td class="red"><span class="dom">26</span>sts-cletus-marcellinus</td><td class="white"><span class="dom">27</span>peter-canisius</td><td class="white"><span class="dom">28</span>paul-of-the-cross</td><td class="red"><span class="dom">29</span>peter-of-verona</td><td class="white"><span class="dom">30</span>catherine-of-siena</td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>Maius</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="white"><span class="dom">1</span>joseph-the-workman</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">2</span>ef-easter-sunday-6</td><td class="violet"><span class="dom">3</span>ef-rogation-monday</td><td class="white"><span class="dom">4</span>monica</td><td class="white"><span class="dom">5</span>ef-ascension-vigil</td><td class="white"><span class="dom">6</span>ef-ascension</td><td class="red"><span class="dom">7</span>stanislaus</td><td class="white"><span class="dom">8</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">9</span>ef-easter-sunday-7</td><td class="white"><span class="dom">10</span>antoninus</td><td class="red"><span class="dom">11</span>sts-philip-james</td><td class="red"><span class="dom">12</span>sts-nereus-achilleus-domitilla-pancras</td><td class="white"><span class="dom">13</span>robert-bellarmine</td><td class="white"><span class="dom">14</span>ef-easter-7-friday</td><td class="red"><span class="dom">15</span>ef-pentecost-vigil</td>
+ </tr>
+ <tr>
+ <td class="red"><span class="dom">16</span>ef-pentecost</td><td class="red"><span class="dom">17</span>ef-easter-8-monday</td><td class="red"><span class="dom">18</span>ef-easter-8-tuesday</td><td class="red"><span class="dom">19</span>ef-pentecost-ember-wed</td><td class="red"><span class="dom">20</span>ef-easter-8-thursday</td><td class="red"><span class="dom">21</span>ef-pentecost-ember-fri</td><td class="red"><span class="dom">22</span>ef-pentecost-ember-sat</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">23</span>ef-trinity</td><td class="green"><span class="dom">24</span>ef-time-after-pentecost-1-monday</td><td class="white"><span class="dom">25</span>gregory-vii</td><td class="white"><span class="dom">26</span>philip-neri</td><td class="white"><span class="dom">27</span>ef-corpus-christi</td><td class="white"><span class="dom">28</span>augustine-of-canterbury</td><td class="white"><span class="dom">29</span>mary-magdalene-de-pazzi</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">30</span>ef-time-after-pentecost-sunday-2</td><td class="white"><span class="dom">31</span>queenship-of-the-blessed-virgin-mary</td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>Iunius</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="pad"></td><td class="white"><span class="dom">1</span>angela-merici</td><td class="green"><span class="dom">2</span>ef-time-after-pentecost-2-wednesday</td><td class="green"><span class="dom">3</span>ef-time-after-pentecost-2-thursday</td><td class="white"><span class="dom">4</span>ef-sacred-heart</td><td class="red"><span class="dom">5</span>boniface</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">6</span>ef-time-after-pentecost-sunday-3</td><td class="green"><span class="dom">7</span>ef-time-after-pentecost-3-monday</td><td class="green"><span class="dom">8</span>ef-time-after-pentecost-3-tuesday</td><td class="green"><span class="dom">9</span>ef-time-after-pentecost-3-wednesday</td><td class="white"><span class="dom">10</span>margaret-of-scotland</td><td class="red"><span class="dom">11</span>barnabas</td><td class="white"><span class="dom">12</span>john-of-san-fecundo</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">13</span>ef-time-after-pentecost-sunday-4</td><td class="white"><span class="dom">14</span>basil-the-great</td><td class="green"><span class="dom">15</span>ef-time-after-pentecost-4-tuesday</td><td class="green"><span class="dom">16</span>ef-time-after-pentecost-4-wednesday</td><td class="white"><span class="dom">17</span>gregory-barbarigo</td><td class="white"><span class="dom">18</span>ephrem-of-syria</td><td class="white"><span class="dom">19</span>julia-of-falconieri</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">20</span>ef-time-after-pentecost-sunday-5</td><td class="white"><span class="dom">21</span>aloysius-gongzaga</td><td class="white"><span class="dom">22</span>paulinus-of-nola</td><td class="violet"><span class="dom">23</span>vigil-of-the-nativity-of-st-john-the-baptist</td><td class="white"><span class="dom">24</span>nativity-of-st-john-the-baptist</td><td class="white"><span class="dom">25</span>william</td><td class="red"><span class="dom">26</span>sts-john-paul</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">27</span>ef-time-after-pentecost-sunday-6</td><td class="violet"><span class="dom">28</span>vigil-of-sts-peter-paul</td><td class="red"><span class="dom">29</span>sts-peter-paul</td><td class="red"><span class="dom">30</span>in-commemoratione-sancti-pauli-apostoli</td><td class="pad"></td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>Iulius</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="red"><span class="dom">1</span>precious-blood-of-our-lord-jesus-christ</td><td class="white"><span class="dom">2</span>visitation-of-the-blessed-virgin-mary</td><td class="red"><span class="dom">3</span>irenaeus</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">4</span>ef-time-after-pentecost-sunday-7</td><td class="white"><span class="dom">5</span>anthony-mary-zaccariah</td><td class="green"><span class="dom">6</span>ef-time-after-pentecost-7-tuesday</td><td class="white"><span class="dom">7</span>sts-cyril-methodius</td><td class="white"><span class="dom">8</span>elizabeth-of-portugal</td><td class="green"><span class="dom">9</span>ef-time-after-pentecost-7-friday</td><td class="red"><span class="dom">10</span>seven-holy-brothers-and-sts-rufina-secunda</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">11</span>ef-time-after-pentecost-sunday-8</td><td class="white"><span class="dom">12</span>john-gualbert</td><td class="green"><span class="dom">13</span>ef-time-after-pentecost-8-tuesday</td><td class="white"><span class="dom">14</span>bonaventure</td><td class="white"><span class="dom">15</span>henry-the-emperor</td><td class="green"><span class="dom">16</span>ef-time-after-pentecost-8-friday</td><td class="white"><span class="dom">17</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">18</span>ef-time-after-pentecost-sunday-9</td><td class="white"><span class="dom">19</span>vincent-de-paul</td><td class="white"><span class="dom">20</span>jerome-emiliani</td><td class="white"><span class="dom">21</span>laurence-of-brindisi</td><td class="white"><span class="dom">22</span>mary-magdalene</td><td class="red"><span class="dom">23</span>apollinaris</td><td class="white"><span class="dom">24</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">25</span>ef-time-after-pentecost-sunday-10</td><td class="white"><span class="dom">26</span>anne-mother-of-the-blessed-virgin</td><td class="green"><span class="dom">27</span>ef-time-after-pentecost-10-tuesday</td><td class="red"><span class="dom">28</span>sts-nazarius-celsus-st-victor-i-st-innocent-i</td><td class="white"><span class="dom">29</span>martha</td><td class="green"><span class="dom">30</span>ef-time-after-pentecost-10-friday</td><td class="white"><span class="dom">31</span>ignatius-loyola</td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>Augustus</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="green"><span class="dom">1</span>ef-time-after-pentecost-sunday-11</td><td class="white"><span class="dom">2</span>alphonsus-liguori</td><td class="green"><span class="dom">3</span>ef-time-after-pentecost-11-tuesday</td><td class="white"><span class="dom">4</span>dominic</td><td class="white"><span class="dom">5</span>dedication-of-the-basilica-of-st-mary-major</td><td class="white"><span class="dom">6</span>transfiguration-of-our-lord</td><td class="white"><span class="dom">7</span>cajetan</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">8</span>ef-time-after-pentecost-sunday-12</td><td class="violet"><span class="dom">9</span>vigil-of-st-lawrence</td><td class="red"><span class="dom">10</span>lawrence</td><td class="green"><span class="dom">11</span>ef-time-after-pentecost-12-wednesday</td><td class="white"><span class="dom">12</span>clare</td><td class="green"><span class="dom">13</span>ef-time-after-pentecost-12-friday</td><td class="violet"><span class="dom">14</span>vigil-of-the-assumption</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">15</span>assumption-of-the-blessed-virgin-mary</td><td class="white"><span class="dom">16</span>joachim-father-of-the-blessed-virgin</td><td class="white"><span class="dom">17</span>hyacinth</td><td class="green"><span class="dom">18</span>ef-time-after-pentecost-13-wednesday</td><td class="white"><span class="dom">19</span>john-eudes</td><td class="white"><span class="dom">20</span>bernard-of-clairvaux</td><td class="white"><span class="dom">21</span>jane-frances-de-chantal</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">22</span>ef-time-after-pentecost-sunday-14</td><td class="white"><span class="dom">23</span>philip-benizi</td><td class="red"><span class="dom">24</span>bartholomew</td><td class="white"><span class="dom">25</span>louis-ix</td><td class="green"><span class="dom">26</span>ef-time-after-pentecost-14-thursday</td><td class="white"><span class="dom">27</span>joseph-calasance</td><td class="white"><span class="dom">28</span>augustine</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">29</span>ef-time-after-pentecost-sunday-15</td><td class="white"><span class="dom">30</span>rose-of-lima</td><td class="white"><span class="dom">31</span>raymond-nonnatus</td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>September</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="green"><span class="dom">1</span>ef-time-after-pentecost-15-wednesday</td><td class="white"><span class="dom">2</span>stephen-of-hungary</td><td class="white"><span class="dom">3</span>pius-x</td><td class="white"><span class="dom">4</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">5</span>ef-time-after-pentecost-sunday-16</td><td class="green"><span class="dom">6</span>ef-time-after-pentecost-16-monday</td><td class="green"><span class="dom">7</span>ef-time-after-pentecost-16-tuesday</td><td class="white"><span class="dom">8</span>nativity-of-the-blessed-virgin-mary</td><td class="green"><span class="dom">9</span>ef-time-after-pentecost-16-thursday</td><td class="white"><span class="dom">10</span>nicholas-of-tolentino</td><td class="white"><span class="dom">11</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">12</span>ef-time-after-pentecost-sunday-17</td><td class="green"><span class="dom">13</span>ef-time-after-pentecost-17-monday</td><td class="red"><span class="dom">14</span>exaltation-of-the-holy-cross</td><td class="white"><span class="dom">15</span>seven-sorrows-of-the-blessed-virgin-mary</td><td class="red"><span class="dom">16</span>sts-cornelius-cyprian</td><td class="green"><span class="dom">17</span>ef-time-after-pentecost-17-friday</td><td class="white"><span class="dom">18</span>joseph-of-cupertino</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">19</span>ef-time-after-pentecost-sunday-18</td><td class="green"><span class="dom">20</span>ef-time-after-pentecost-18-monday</td><td class="red"><span class="dom">21</span>matthew</td><td class="violet"><span class="dom">22</span>ef-september-ember-wed</td><td class="red"><span class="dom">23</span>linus</td><td class="violet"><span class="dom">24</span>ef-september-ember-fri</td><td class="violet"><span class="dom">25</span>ef-september-ember-sat</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">26</span>ef-time-after-pentecost-sunday-19</td><td class="red"><span class="dom">27</span>sts-cosmas-damian</td><td class="red"><span class="dom">28</span>wenceslaus</td><td class="white"><span class="dom">29</span>dedication-of-st-michael-the-archangel</td><td class="white"><span class="dom">30</span>jerome</td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>October</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="green"><span class="dom">1</span>ef-time-after-pentecost-19-friday</td><td class="white"><span class="dom">2</span>holy-guardian-angels</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">3</span>ef-time-after-pentecost-sunday-20</td><td class="white"><span class="dom">4</span>francis-of-assisi</td><td class="green"><span class="dom">5</span>ef-time-after-pentecost-20-tuesday</td><td class="white"><span class="dom">6</span>bruno</td><td class="white"><span class="dom">7</span>our-lady-of-the-rosary</td><td class="white"><span class="dom">8</span>bridget-of-sweden</td><td class="white"><span class="dom">9</span>john-leonardi</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">10</span>ef-time-after-pentecost-sunday-21</td><td class="white"><span class="dom">11</span>maternity-of-the-blessed-virgin-mary</td><td class="green"><span class="dom">12</span>ef-time-after-pentecost-21-tuesday</td><td class="white"><span class="dom">13</span>edward</td><td class="red"><span class="dom">14</span>callistus-i</td><td class="white"><span class="dom">15</span>teresa-of-avila</td><td class="white"><span class="dom">16</span>hedwig</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">17</span>ef-time-after-pentecost-sunday-22</td><td class="red"><span class="dom">18</span>luke-the-evangelist</td><td class="white"><span class="dom">19</span>peter-of-alcantara</td><td class="white"><span class="dom">20</span>john-cantius</td><td class="green"><span class="dom">21</span>ef-time-after-pentecost-22-thursday</td><td class="green"><span class="dom">22</span>ef-time-after-pentecost-22-friday</td><td class="white"><span class="dom">23</span>anthony-mary-claret</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">24</span>ef-time-after-pentecost-sunday-23</td><td class="green"><span class="dom">25</span>ef-time-after-pentecost-23-monday</td><td class="green"><span class="dom">26</span>ef-time-after-pentecost-23-tuesday</td><td class="green"><span class="dom">27</span>ef-time-after-pentecost-23-wednesday</td><td class="red"><span class="dom">28</span>sts-simon-jude</td><td class="green"><span class="dom">29</span>ef-time-after-pentecost-23-friday</td><td class="white"><span class="dom">30</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">31</span>ef-christ-the-king</td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>November</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="white"><span class="dom">1</span>all-saints</td><td class="black"><span class="dom">2</span>commemoration-of-all-souls</td><td class="green"><span class="dom">3</span>ef-time-after-pentecost-24-wednesday</td><td class="white"><span class="dom">4</span>charles-borromeo</td><td class="green"><span class="dom">5</span>ef-time-after-pentecost-24-friday</td><td class="white"><span class="dom">6</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">7</span>ef-time-after-epiphany-sunday-5</td><td class="green"><span class="dom">8</span>ef-time-after-pentecost-25-monday</td><td class="white"><span class="dom">9</span>dedication-of-the-archbasilica-of-our-holy-savior</td><td class="white"><span class="dom">10</span>andrew-avellino</td><td class="white"><span class="dom">11</span>martin-of-tours</td><td class="red"><span class="dom">12</span>martin-i</td><td class="white"><span class="dom">13</span>didacus</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">14</span>ef-time-after-epiphany-sunday-6</td><td class="white"><span class="dom">15</span>albert-the-great</td><td class="white"><span class="dom">16</span>gertrude-the-great</td><td class="white"><span class="dom">17</span>gregory-the-wonderworker</td><td class="white"><span class="dom">18</span>dedication-of-the-basilicas-of-sts-peter-paul</td><td class="white"><span class="dom">19</span>elizabeth-of-hungary</td><td class="white"><span class="dom">20</span>felix-of-valois</td>
+ </tr>
+ <tr>
+ <td class="green"><span class="dom">21</span>ef-time-after-pentecost-sunday-24</td><td class="red"><span class="dom">22</span>cecilia</td><td class="red"><span class="dom">23</span>clement-i</td><td class="white"><span class="dom">24</span>john-of-the-cross</td><td class="red"><span class="dom">25</span>catherine-of-alexandria</td><td class="white"><span class="dom">26</span>sylvester</td><td class="white"><span class="dom">27</span>Officium sanctae Mariae in sabbato</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">28</span>ef-advent-sunday-1</td><td class="violet"><span class="dom">29</span>ef-advent-1-monday</td><td class="red"><span class="dom">30</span>andrew</td><td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="pad"></td>
+ </tr>
+
+</table>
+
+<table>
+ <caption>December</caption>
+ <tr><th>Dom</th><th>Lun</th><th>Mar</th><th>Mer</th><th>Iov</th><th>Ven</th><th>Sab</th></tr>
+ <tr>
+ <td class="pad"></td><td class="pad"></td><td class="pad"></td><td class="violet"><span class="dom">1</span>ef-advent-1-wednesday</td><td class="red"><span class="dom">2</span>vivian</td><td class="white"><span class="dom">3</span>francis-xavier</td><td class="white"><span class="dom">4</span>peter-chrysologus</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">5</span>ef-advent-sunday-2</td><td class="white"><span class="dom">6</span>nicholas</td><td class="white"><span class="dom">7</span>ambrose</td><td class="white"><span class="dom">8</span>immaculate-conception-of-the-blessed-virgin-mary</td><td class="violet"><span class="dom">9</span>ef-advent-2-thursday</td><td class="violet"><span class="dom">10</span>ef-advent-2-friday</td><td class="white"><span class="dom">11</span>damasus-i</td>
+ </tr>
+ <tr>
+ <td class="rose"><span class="dom">12</span>ef-advent-sunday-3</td><td class="red"><span class="dom">13</span>lucy</td><td class="violet"><span class="dom">14</span>ef-advent-3-tuesday</td><td class="violet"><span class="dom">15</span>ef-advent-ember-wed</td><td class="red"><span class="dom">16</span>eusebius</td><td class="violet"><span class="dom">17</span>ef-advent-ember-fri</td><td class="violet"><span class="dom">18</span>ef-advent-ember-sat</td>
+ </tr>
+ <tr>
+ <td class="violet"><span class="dom">19</span>ef-advent-sunday-4</td><td class="violet"><span class="dom">20</span>ef-advent-4-monday</td><td class="red"><span class="dom">21</span>thomas</td><td class="violet"><span class="dom">22</span>ef-advent-4-wednesday</td><td class="violet"><span class="dom">23</span>ef-advent-4-thursday</td><td class="violet"><span class="dom">24</span>ef-nativity-vigil</td><td class="white"><span class="dom">25</span>ef-nativity</td>
+ </tr>
+ <tr>
+ <td class="white"><span class="dom">26</span>ef-christmas-sunday-0</td><td class="white"><span class="dom">27</span>john-the-evangelist</td><td class="red"><span class="dom">28</span>holy-innocents</td><td class="white"><span class="dom">29</span>ef-nativity-octave-day-5</td><td class="white"><span class="dom">30</span>ef-nativity-octave-day-6</td><td class="white"><span class="dom">31</span>ef-nativity-octave-day-7</td><td class="pad"></td>
+ </tr>
+
+</table>
+
+</body></html>
diff --git a/test/golden/grid-2027.ms b/test/golden/grid-2027.ms
new file mode 100644
index 0000000..785d59a
--- /dev/null
+++ b/test/golden/grid-2027.ms
@@ -0,0 +1,186 @@
+.\" colitur wall calendar -- groff ms with tbl. flavour: groff
+.\" Build: colitur table --year 2027 --template grid.ms | groff -ms -t -Tpdf > grid.pdf
+.\"
+.\" Day label falls back to the slug when the day carries no Latin name (most
+.\" temporal days, and most sanctoral entries, which are Latin-less in the
+.\" shipped data) -- see ordo.tex's own comment for why the fallback is
+.\" written as a name-section wrapping a plain var and its inverse, rather
+.\" than a single dotted lookup and its inverse.
+.\"
+.\" Every cell also carries a last flag, true on the seventh of its row: tbl
+.\" needs the tab separator BETWEEN columns, not after the last one, and the
+.\" engine has no unless-last construct, so the flag comes from data.
+.TL
+Calendarium 2027 \(bu ef
+
+.SH
+Ianuarius
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 ef-circumcision 2 Officium sanctae Mariae in sabbato
+3 Sanctissimi Nominis Iesu 4 ef-christmas-1-monday 5 ef-christmas-1-tuesday 6 ef-epiphany 7 ef-christmas-2-thursday 8 ef-christmas-2-friday 9 Officium sanctae Mariae in sabbato
+10 Sanctae Familiae Iesu, Mariae, Ioseph 11 ef-time-after-epiphany-1-monday 12 ef-time-after-epiphany-1-tuesday 13 commemoration-of-the-baptism-of-the-lord 14 hilary 15 paul-the-first-hermit 16 marcellus-i
+17 ef-time-after-epiphany-sunday-2 18 ef-time-after-epiphany-2-monday 19 ef-time-after-epiphany-2-tuesday 20 sts-fabian-sebastian 21 agnes 22 sts-vincent-anastasius 23 raymond-of-pe-afort
+24 ef-septuagesima-sunday-1 25 conversion-of-st-paul 26 polycarp 27 john-chrysostom 28 peter-nolasco 29 francis-de-sales 30 martina
+31 ef-septuagesima-sunday-2
+.TE
+
+.SH
+Februarius
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 ignatius-of-antioch 2 purification-of-the-blessed-virgin-mary 3 ef-septuagesima-2-wednesday 4 andrew-corsini 5 agatha 6 titus
+7 ef-septuagesima-sunday-3 8 john-of-matha 9 cyril-of-alexandria 10 ef-ash-wednesday 11 ef-lent-after-ashes-thursday 12 ef-lent-after-ashes-friday 13 ef-lent-after-ashes-saturday
+14 ef-lent-sunday-1 15 ef-lent-1-monday 16 ef-lent-1-tuesday 17 ef-lent-ember-wed 18 ef-lent-1-thursday 19 ef-lent-ember-fri 20 ef-lent-ember-sat
+21 ef-lent-sunday-2 22 chair-of-st-peter 23 ef-lent-2-tuesday 24 matthias 25 ef-lent-2-thursday 26 ef-lent-2-friday 27 ef-lent-2-saturday
+28 ef-lent-sunday-3
+.TE
+
+.SH
+Martius
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 ef-lent-3-monday 2 ef-lent-3-tuesday 3 ef-lent-3-wednesday 4 ef-lent-3-thursday 5 ef-lent-3-friday 6 ef-lent-3-saturday
+7 ef-lent-sunday-4 8 ef-lent-4-monday 9 ef-lent-4-tuesday 10 ef-lent-4-wednesday 11 ef-lent-4-thursday 12 ef-lent-4-friday 13 ef-lent-4-saturday
+14 ef-passion-sunday 15 ef-passiontide-1-monday 16 ef-passiontide-1-tuesday 17 ef-passiontide-1-wednesday 18 ef-passiontide-1-thursday 19 joseph-spouse-of-the-bl-virgin-mary 20 ef-passiontide-1-saturday
+21 ef-palm-sunday 22 ef-passiontide-2-monday 23 ef-passiontide-2-tuesday 24 ef-passiontide-2-wednesday 25 Feria V in Cena Domini 26 Feria VI in Passione et Morte Domini 27 Sabbato sancto
+28 ef-easter-sunday 29 ef-easter-1-monday 30 ef-easter-1-tuesday 31 ef-easter-1-wednesday
+.TE
+
+.SH
+Aprilis
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 ef-easter-1-thursday 2 ef-easter-1-friday 3 ef-easter-1-saturday
+4 ef-low-sunday 5 annunciation-of-the-blessed-virgin-mary 6 ef-easter-2-tuesday 7 ef-easter-2-wednesday 8 ef-easter-2-thursday 9 ef-easter-2-friday 10 Officium sanctae Mariae in sabbato
+11 ef-easter-sunday-3 12 ef-easter-3-monday 13 hermenegild 14 justin 15 ef-easter-3-thursday 16 ef-easter-3-friday 17 Officium sanctae Mariae in sabbato
+18 ef-easter-sunday-4 19 ef-easter-4-monday 20 ef-easter-4-tuesday 21 anselm 22 sts-soter-caius 23 ef-easter-4-friday 24 fidelis-of-sigmaringen
+25 ef-easter-sunday-5 26 sts-cletus-marcellinus 27 peter-canisius 28 paul-of-the-cross 29 peter-of-verona 30 catherine-of-siena
+.TE
+
+.SH
+Maius
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 joseph-the-workman
+2 ef-easter-sunday-6 3 ef-rogation-monday 4 monica 5 ef-ascension-vigil 6 ef-ascension 7 stanislaus 8 Officium sanctae Mariae in sabbato
+9 ef-easter-sunday-7 10 antoninus 11 sts-philip-james 12 sts-nereus-achilleus-domitilla-pancras 13 robert-bellarmine 14 ef-easter-7-friday 15 ef-pentecost-vigil
+16 ef-pentecost 17 ef-easter-8-monday 18 ef-easter-8-tuesday 19 ef-pentecost-ember-wed 20 ef-easter-8-thursday 21 ef-pentecost-ember-fri 22 ef-pentecost-ember-sat
+23 ef-trinity 24 ef-time-after-pentecost-1-monday 25 gregory-vii 26 philip-neri 27 ef-corpus-christi 28 augustine-of-canterbury 29 mary-magdalene-de-pazzi
+30 ef-time-after-pentecost-sunday-2 31 queenship-of-the-blessed-virgin-mary
+.TE
+
+.SH
+Iunius
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 angela-merici 2 ef-time-after-pentecost-2-wednesday 3 ef-time-after-pentecost-2-thursday 4 ef-sacred-heart 5 boniface
+6 ef-time-after-pentecost-sunday-3 7 ef-time-after-pentecost-3-monday 8 ef-time-after-pentecost-3-tuesday 9 ef-time-after-pentecost-3-wednesday 10 margaret-of-scotland 11 barnabas 12 john-of-san-fecundo
+13 ef-time-after-pentecost-sunday-4 14 basil-the-great 15 ef-time-after-pentecost-4-tuesday 16 ef-time-after-pentecost-4-wednesday 17 gregory-barbarigo 18 ephrem-of-syria 19 julia-of-falconieri
+20 ef-time-after-pentecost-sunday-5 21 aloysius-gongzaga 22 paulinus-of-nola 23 vigil-of-the-nativity-of-st-john-the-baptist 24 nativity-of-st-john-the-baptist 25 william 26 sts-john-paul
+27 ef-time-after-pentecost-sunday-6 28 vigil-of-sts-peter-paul 29 sts-peter-paul 30 in-commemoratione-sancti-pauli-apostoli
+.TE
+
+.SH
+Iulius
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 precious-blood-of-our-lord-jesus-christ 2 visitation-of-the-blessed-virgin-mary 3 irenaeus
+4 ef-time-after-pentecost-sunday-7 5 anthony-mary-zaccariah 6 ef-time-after-pentecost-7-tuesday 7 sts-cyril-methodius 8 elizabeth-of-portugal 9 ef-time-after-pentecost-7-friday 10 seven-holy-brothers-and-sts-rufina-secunda
+11 ef-time-after-pentecost-sunday-8 12 john-gualbert 13 ef-time-after-pentecost-8-tuesday 14 bonaventure 15 henry-the-emperor 16 ef-time-after-pentecost-8-friday 17 Officium sanctae Mariae in sabbato
+18 ef-time-after-pentecost-sunday-9 19 vincent-de-paul 20 jerome-emiliani 21 laurence-of-brindisi 22 mary-magdalene 23 apollinaris 24 Officium sanctae Mariae in sabbato
+25 ef-time-after-pentecost-sunday-10 26 anne-mother-of-the-blessed-virgin 27 ef-time-after-pentecost-10-tuesday 28 sts-nazarius-celsus-st-victor-i-st-innocent-i 29 martha 30 ef-time-after-pentecost-10-friday 31 ignatius-loyola
+.TE
+
+.SH
+Augustus
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+1 ef-time-after-pentecost-sunday-11 2 alphonsus-liguori 3 ef-time-after-pentecost-11-tuesday 4 dominic 5 dedication-of-the-basilica-of-st-mary-major 6 transfiguration-of-our-lord 7 cajetan
+8 ef-time-after-pentecost-sunday-12 9 vigil-of-st-lawrence 10 lawrence 11 ef-time-after-pentecost-12-wednesday 12 clare 13 ef-time-after-pentecost-12-friday 14 vigil-of-the-assumption
+15 assumption-of-the-blessed-virgin-mary 16 joachim-father-of-the-blessed-virgin 17 hyacinth 18 ef-time-after-pentecost-13-wednesday 19 john-eudes 20 bernard-of-clairvaux 21 jane-frances-de-chantal
+22 ef-time-after-pentecost-sunday-14 23 philip-benizi 24 bartholomew 25 louis-ix 26 ef-time-after-pentecost-14-thursday 27 joseph-calasance 28 augustine
+29 ef-time-after-pentecost-sunday-15 30 rose-of-lima 31 raymond-nonnatus
+.TE
+
+.SH
+September
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 ef-time-after-pentecost-15-wednesday 2 stephen-of-hungary 3 pius-x 4 Officium sanctae Mariae in sabbato
+5 ef-time-after-pentecost-sunday-16 6 ef-time-after-pentecost-16-monday 7 ef-time-after-pentecost-16-tuesday 8 nativity-of-the-blessed-virgin-mary 9 ef-time-after-pentecost-16-thursday 10 nicholas-of-tolentino 11 Officium sanctae Mariae in sabbato
+12 ef-time-after-pentecost-sunday-17 13 ef-time-after-pentecost-17-monday 14 exaltation-of-the-holy-cross 15 seven-sorrows-of-the-blessed-virgin-mary 16 sts-cornelius-cyprian 17 ef-time-after-pentecost-17-friday 18 joseph-of-cupertino
+19 ef-time-after-pentecost-sunday-18 20 ef-time-after-pentecost-18-monday 21 matthew 22 ef-september-ember-wed 23 linus 24 ef-september-ember-fri 25 ef-september-ember-sat
+26 ef-time-after-pentecost-sunday-19 27 sts-cosmas-damian 28 wenceslaus 29 dedication-of-st-michael-the-archangel 30 jerome
+.TE
+
+.SH
+October
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 ef-time-after-pentecost-19-friday 2 holy-guardian-angels
+3 ef-time-after-pentecost-sunday-20 4 francis-of-assisi 5 ef-time-after-pentecost-20-tuesday 6 bruno 7 our-lady-of-the-rosary 8 bridget-of-sweden 9 john-leonardi
+10 ef-time-after-pentecost-sunday-21 11 maternity-of-the-blessed-virgin-mary 12 ef-time-after-pentecost-21-tuesday 13 edward 14 callistus-i 15 teresa-of-avila 16 hedwig
+17 ef-time-after-pentecost-sunday-22 18 luke-the-evangelist 19 peter-of-alcantara 20 john-cantius 21 ef-time-after-pentecost-22-thursday 22 ef-time-after-pentecost-22-friday 23 anthony-mary-claret
+24 ef-time-after-pentecost-sunday-23 25 ef-time-after-pentecost-23-monday 26 ef-time-after-pentecost-23-tuesday 27 ef-time-after-pentecost-23-wednesday 28 sts-simon-jude 29 ef-time-after-pentecost-23-friday 30 Officium sanctae Mariae in sabbato
+31 ef-christ-the-king
+.TE
+
+.SH
+November
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 all-saints 2 commemoration-of-all-souls 3 ef-time-after-pentecost-24-wednesday 4 charles-borromeo 5 ef-time-after-pentecost-24-friday 6 Officium sanctae Mariae in sabbato
+7 ef-time-after-epiphany-sunday-5 8 ef-time-after-pentecost-25-monday 9 dedication-of-the-archbasilica-of-our-holy-savior 10 andrew-avellino 11 martin-of-tours 12 martin-i 13 didacus
+14 ef-time-after-epiphany-sunday-6 15 albert-the-great 16 gertrude-the-great 17 gregory-the-wonderworker 18 dedication-of-the-basilicas-of-sts-peter-paul 19 elizabeth-of-hungary 20 felix-of-valois
+21 ef-time-after-pentecost-sunday-24 22 cecilia 23 clement-i 24 john-of-the-cross 25 catherine-of-alexandria 26 sylvester 27 Officium sanctae Mariae in sabbato
+28 ef-advent-sunday-1 29 ef-advent-1-monday 30 andrew
+.TE
+
+.SH
+December
+.TS
+allbox;
+c c c c c c c
+l l l l l l l.
+Dom Lun Mar Mer Iov Ven Sab
+ 1 ef-advent-1-wednesday 2 vivian 3 francis-xavier 4 peter-chrysologus
+5 ef-advent-sunday-2 6 nicholas 7 ambrose 8 immaculate-conception-of-the-blessed-virgin-mary 9 ef-advent-2-thursday 10 ef-advent-2-friday 11 damasus-i
+12 ef-advent-sunday-3 13 lucy 14 ef-advent-3-tuesday 15 ef-advent-ember-wed 16 eusebius 17 ef-advent-ember-fri 18 ef-advent-ember-sat
+19 ef-advent-sunday-4 20 ef-advent-4-monday 21 thomas 22 ef-advent-4-wednesday 23 ef-advent-4-thursday 24 ef-nativity-vigil 25 ef-nativity
+26 ef-christmas-sunday-0 27 john-the-evangelist 28 holy-innocents 29 ef-nativity-octave-day-5 30 ef-nativity-octave-day-6 31 ef-nativity-octave-day-7
+.TE
+
diff --git a/test/golden/grid-2027.tex b/test/golden/grid-2027.tex
new file mode 100644
index 0000000..9a50ddd
--- /dev/null
+++ b/test/golden/grid-2027.tex
@@ -0,0 +1,174 @@
+% colitur wall calendar -- LaTeX. flavour: latex
+% Build: colitur table --year 2027 --template grid.tex > grid.tex && pdflatex grid.tex
+%
+% Day label falls back to the slug when the day carries no Latin name (most
+% temporal days, and most sanctoral entries, which are Latin-less in the
+% shipped data). The fallback is written as a name-section wrapping a plain
+% var and its inverse, deliberately NOT as a single dotted-path lookup
+% followed by its own inverse: a dotted lookup that misses climbs to the
+% enclosing scope for the WHOLE path, and the month object also carries a
+% same-named key one level up, so the naive form would render the month's
+% own Latin name on every day lacking one, and never fall back at all.
+%
+% Every cell also carries a last flag, true on the seventh of its row: the
+% engine has no unless-last construct, so the separator BETWEEN cells comes
+% from data, not the template. A trailing separator on every cell would give
+% eight columns for seven and pdflatex would reject the file outright.
+\documentclass[10pt,landscape]{article}
+\usepackage[a4paper,margin=10mm]{geometry}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage[table]{xcolor}
+\definecolor{lwhite}{HTML}{FFFFFF}\definecolor{lred}{HTML}{FFDDDD}
+\definecolor{lgreen}{HTML}{DDFFDD}\definecolor{lviolet}{HTML}{EEAAEE}
+\definecolor{lrose}{HTML}{FFDDEE}\definecolor{lblack}{HTML}{DDDDDD}
+\begin{document}
+
+\section*{ Ianuarius 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & & & & & \cellcolor{lwhite}\textbf{ 1 } \footnotesize ef-circumcision & \cellcolor{lwhite}\textbf{ 2 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lwhite}\textbf{ 3 } \footnotesize Sanctissimi Nominis Iesu & \cellcolor{lwhite}\textbf{ 4 } \footnotesize ef-christmas-1-monday & \cellcolor{lwhite}\textbf{ 5 } \footnotesize ef-christmas-1-tuesday & \cellcolor{lwhite}\textbf{ 6 } \footnotesize ef-epiphany & \cellcolor{lwhite}\textbf{ 7 } \footnotesize ef-christmas-2-thursday & \cellcolor{lwhite}\textbf{ 8 } \footnotesize ef-christmas-2-friday & \cellcolor{lwhite}\textbf{ 9 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lwhite}\textbf{ 10 } \footnotesize Sanctae Familiae Iesu, Mariae, Ioseph & \cellcolor{lwhite}\textbf{ 11 } \footnotesize ef-time-after-epiphany-1-monday & \cellcolor{lwhite}\textbf{ 12 } \footnotesize ef-time-after-epiphany-1-tuesday & \cellcolor{lwhite}\textbf{ 13 } \footnotesize commemoration-of-the-baptism-of-the-lord & \cellcolor{lwhite}\textbf{ 14 } \footnotesize hilary & \cellcolor{lwhite}\textbf{ 15 } \footnotesize paul-the-first-hermit & \cellcolor{lred}\textbf{ 16 } \footnotesize marcellus-i \\ \hline
+\cellcolor{lgreen}\textbf{ 17 } \footnotesize ef-time-after-epiphany-sunday-2 & \cellcolor{lgreen}\textbf{ 18 } \footnotesize ef-time-after-epiphany-2-monday & \cellcolor{lgreen}\textbf{ 19 } \footnotesize ef-time-after-epiphany-2-tuesday & \cellcolor{lred}\textbf{ 20 } \footnotesize sts-fabian-sebastian & \cellcolor{lred}\textbf{ 21 } \footnotesize agnes & \cellcolor{lred}\textbf{ 22 } \footnotesize sts-vincent-anastasius & \cellcolor{lwhite}\textbf{ 23 } \footnotesize raymond-of-pe-afort \\ \hline
+\cellcolor{lviolet}\textbf{ 24 } \footnotesize ef-septuagesima-sunday-1 & \cellcolor{lwhite}\textbf{ 25 } \footnotesize conversion-of-st-paul & \cellcolor{lred}\textbf{ 26 } \footnotesize polycarp & \cellcolor{lwhite}\textbf{ 27 } \footnotesize john-chrysostom & \cellcolor{lwhite}\textbf{ 28 } \footnotesize peter-nolasco & \cellcolor{lwhite}\textbf{ 29 } \footnotesize francis-de-sales & \cellcolor{lred}\textbf{ 30 } \footnotesize martina \\ \hline
+\cellcolor{lviolet}\textbf{ 31 } \footnotesize ef-septuagesima-sunday-2 & & & & & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ Februarius 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & \cellcolor{lred}\textbf{ 1 } \footnotesize ignatius-of-antioch & \cellcolor{lwhite}\textbf{ 2 } \footnotesize purification-of-the-blessed-virgin-mary & \cellcolor{lviolet}\textbf{ 3 } \footnotesize ef-septuagesima-2-wednesday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize andrew-corsini & \cellcolor{lred}\textbf{ 5 } \footnotesize agatha & \cellcolor{lwhite}\textbf{ 6 } \footnotesize titus \\ \hline
+\cellcolor{lviolet}\textbf{ 7 } \footnotesize ef-septuagesima-sunday-3 & \cellcolor{lwhite}\textbf{ 8 } \footnotesize john-of-matha & \cellcolor{lwhite}\textbf{ 9 } \footnotesize cyril-of-alexandria & \cellcolor{lviolet}\textbf{ 10 } \footnotesize ef-ash-wednesday & \cellcolor{lviolet}\textbf{ 11 } \footnotesize ef-lent-after-ashes-thursday & \cellcolor{lviolet}\textbf{ 12 } \footnotesize ef-lent-after-ashes-friday & \cellcolor{lviolet}\textbf{ 13 } \footnotesize ef-lent-after-ashes-saturday \\ \hline
+\cellcolor{lviolet}\textbf{ 14 } \footnotesize ef-lent-sunday-1 & \cellcolor{lviolet}\textbf{ 15 } \footnotesize ef-lent-1-monday & \cellcolor{lviolet}\textbf{ 16 } \footnotesize ef-lent-1-tuesday & \cellcolor{lviolet}\textbf{ 17 } \footnotesize ef-lent-ember-wed & \cellcolor{lviolet}\textbf{ 18 } \footnotesize ef-lent-1-thursday & \cellcolor{lviolet}\textbf{ 19 } \footnotesize ef-lent-ember-fri & \cellcolor{lviolet}\textbf{ 20 } \footnotesize ef-lent-ember-sat \\ \hline
+\cellcolor{lviolet}\textbf{ 21 } \footnotesize ef-lent-sunday-2 & \cellcolor{lwhite}\textbf{ 22 } \footnotesize chair-of-st-peter & \cellcolor{lviolet}\textbf{ 23 } \footnotesize ef-lent-2-tuesday & \cellcolor{lred}\textbf{ 24 } \footnotesize matthias & \cellcolor{lviolet}\textbf{ 25 } \footnotesize ef-lent-2-thursday & \cellcolor{lviolet}\textbf{ 26 } \footnotesize ef-lent-2-friday & \cellcolor{lviolet}\textbf{ 27 } \footnotesize ef-lent-2-saturday \\ \hline
+\cellcolor{lviolet}\textbf{ 28 } \footnotesize ef-lent-sunday-3 & & & & & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ Martius 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & \cellcolor{lviolet}\textbf{ 1 } \footnotesize ef-lent-3-monday & \cellcolor{lviolet}\textbf{ 2 } \footnotesize ef-lent-3-tuesday & \cellcolor{lviolet}\textbf{ 3 } \footnotesize ef-lent-3-wednesday & \cellcolor{lviolet}\textbf{ 4 } \footnotesize ef-lent-3-thursday & \cellcolor{lviolet}\textbf{ 5 } \footnotesize ef-lent-3-friday & \cellcolor{lviolet}\textbf{ 6 } \footnotesize ef-lent-3-saturday \\ \hline
+\cellcolor{lrose}\textbf{ 7 } \footnotesize ef-lent-sunday-4 & \cellcolor{lviolet}\textbf{ 8 } \footnotesize ef-lent-4-monday & \cellcolor{lviolet}\textbf{ 9 } \footnotesize ef-lent-4-tuesday & \cellcolor{lviolet}\textbf{ 10 } \footnotesize ef-lent-4-wednesday & \cellcolor{lviolet}\textbf{ 11 } \footnotesize ef-lent-4-thursday & \cellcolor{lviolet}\textbf{ 12 } \footnotesize ef-lent-4-friday & \cellcolor{lviolet}\textbf{ 13 } \footnotesize ef-lent-4-saturday \\ \hline
+\cellcolor{lviolet}\textbf{ 14 } \footnotesize ef-passion-sunday & \cellcolor{lviolet}\textbf{ 15 } \footnotesize ef-passiontide-1-monday & \cellcolor{lviolet}\textbf{ 16 } \footnotesize ef-passiontide-1-tuesday & \cellcolor{lviolet}\textbf{ 17 } \footnotesize ef-passiontide-1-wednesday & \cellcolor{lviolet}\textbf{ 18 } \footnotesize ef-passiontide-1-thursday & \cellcolor{lwhite}\textbf{ 19 } \footnotesize joseph-spouse-of-the-bl-virgin-mary & \cellcolor{lviolet}\textbf{ 20 } \footnotesize ef-passiontide-1-saturday \\ \hline
+\cellcolor{lviolet}\textbf{ 21 } \footnotesize ef-palm-sunday & \cellcolor{lviolet}\textbf{ 22 } \footnotesize ef-passiontide-2-monday & \cellcolor{lviolet}\textbf{ 23 } \footnotesize ef-passiontide-2-tuesday & \cellcolor{lviolet}\textbf{ 24 } \footnotesize ef-passiontide-2-wednesday & \cellcolor{lwhite}\textbf{ 25 } \footnotesize Feria V in Cena Domini & \cellcolor{lblack}\textbf{ 26 } \footnotesize Feria VI in Passione et Morte Domini & \cellcolor{lviolet}\textbf{ 27 } \footnotesize Sabbato sancto \\ \hline
+\cellcolor{lwhite}\textbf{ 28 } \footnotesize ef-easter-sunday & \cellcolor{lwhite}\textbf{ 29 } \footnotesize ef-easter-1-monday & \cellcolor{lwhite}\textbf{ 30 } \footnotesize ef-easter-1-tuesday & \cellcolor{lwhite}\textbf{ 31 } \footnotesize ef-easter-1-wednesday & & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ Aprilis 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & & & & \cellcolor{lwhite}\textbf{ 1 } \footnotesize ef-easter-1-thursday & \cellcolor{lwhite}\textbf{ 2 } \footnotesize ef-easter-1-friday & \cellcolor{lwhite}\textbf{ 3 } \footnotesize ef-easter-1-saturday \\ \hline
+\cellcolor{lwhite}\textbf{ 4 } \footnotesize ef-low-sunday & \cellcolor{lwhite}\textbf{ 5 } \footnotesize annunciation-of-the-blessed-virgin-mary & \cellcolor{lwhite}\textbf{ 6 } \footnotesize ef-easter-2-tuesday & \cellcolor{lwhite}\textbf{ 7 } \footnotesize ef-easter-2-wednesday & \cellcolor{lwhite}\textbf{ 8 } \footnotesize ef-easter-2-thursday & \cellcolor{lwhite}\textbf{ 9 } \footnotesize ef-easter-2-friday & \cellcolor{lwhite}\textbf{ 10 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lwhite}\textbf{ 11 } \footnotesize ef-easter-sunday-3 & \cellcolor{lwhite}\textbf{ 12 } \footnotesize ef-easter-3-monday & \cellcolor{lred}\textbf{ 13 } \footnotesize hermenegild & \cellcolor{lred}\textbf{ 14 } \footnotesize justin & \cellcolor{lwhite}\textbf{ 15 } \footnotesize ef-easter-3-thursday & \cellcolor{lwhite}\textbf{ 16 } \footnotesize ef-easter-3-friday & \cellcolor{lwhite}\textbf{ 17 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lwhite}\textbf{ 18 } \footnotesize ef-easter-sunday-4 & \cellcolor{lwhite}\textbf{ 19 } \footnotesize ef-easter-4-monday & \cellcolor{lwhite}\textbf{ 20 } \footnotesize ef-easter-4-tuesday & \cellcolor{lwhite}\textbf{ 21 } \footnotesize anselm & \cellcolor{lred}\textbf{ 22 } \footnotesize sts-soter-caius & \cellcolor{lwhite}\textbf{ 23 } \footnotesize ef-easter-4-friday & \cellcolor{lred}\textbf{ 24 } \footnotesize fidelis-of-sigmaringen \\ \hline
+\cellcolor{lwhite}\textbf{ 25 } \footnotesize ef-easter-sunday-5 & \cellcolor{lred}\textbf{ 26 } \footnotesize sts-cletus-marcellinus & \cellcolor{lwhite}\textbf{ 27 } \footnotesize peter-canisius & \cellcolor{lwhite}\textbf{ 28 } \footnotesize paul-of-the-cross & \cellcolor{lred}\textbf{ 29 } \footnotesize peter-of-verona & \cellcolor{lwhite}\textbf{ 30 } \footnotesize catherine-of-siena & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ Maius 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & & & & & & \cellcolor{lwhite}\textbf{ 1 } \footnotesize joseph-the-workman \\ \hline
+\cellcolor{lwhite}\textbf{ 2 } \footnotesize ef-easter-sunday-6 & \cellcolor{lviolet}\textbf{ 3 } \footnotesize ef-rogation-monday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize monica & \cellcolor{lwhite}\textbf{ 5 } \footnotesize ef-ascension-vigil & \cellcolor{lwhite}\textbf{ 6 } \footnotesize ef-ascension & \cellcolor{lred}\textbf{ 7 } \footnotesize stanislaus & \cellcolor{lwhite}\textbf{ 8 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lwhite}\textbf{ 9 } \footnotesize ef-easter-sunday-7 & \cellcolor{lwhite}\textbf{ 10 } \footnotesize antoninus & \cellcolor{lred}\textbf{ 11 } \footnotesize sts-philip-james & \cellcolor{lred}\textbf{ 12 } \footnotesize sts-nereus-achilleus-domitilla-pancras & \cellcolor{lwhite}\textbf{ 13 } \footnotesize robert-bellarmine & \cellcolor{lwhite}\textbf{ 14 } \footnotesize ef-easter-7-friday & \cellcolor{lred}\textbf{ 15 } \footnotesize ef-pentecost-vigil \\ \hline
+\cellcolor{lred}\textbf{ 16 } \footnotesize ef-pentecost & \cellcolor{lred}\textbf{ 17 } \footnotesize ef-easter-8-monday & \cellcolor{lred}\textbf{ 18 } \footnotesize ef-easter-8-tuesday & \cellcolor{lred}\textbf{ 19 } \footnotesize ef-pentecost-ember-wed & \cellcolor{lred}\textbf{ 20 } \footnotesize ef-easter-8-thursday & \cellcolor{lred}\textbf{ 21 } \footnotesize ef-pentecost-ember-fri & \cellcolor{lred}\textbf{ 22 } \footnotesize ef-pentecost-ember-sat \\ \hline
+\cellcolor{lwhite}\textbf{ 23 } \footnotesize ef-trinity & \cellcolor{lgreen}\textbf{ 24 } \footnotesize ef-time-after-pentecost-1-monday & \cellcolor{lwhite}\textbf{ 25 } \footnotesize gregory-vii & \cellcolor{lwhite}\textbf{ 26 } \footnotesize philip-neri & \cellcolor{lwhite}\textbf{ 27 } \footnotesize ef-corpus-christi & \cellcolor{lwhite}\textbf{ 28 } \footnotesize augustine-of-canterbury & \cellcolor{lwhite}\textbf{ 29 } \footnotesize mary-magdalene-de-pazzi \\ \hline
+\cellcolor{lgreen}\textbf{ 30 } \footnotesize ef-time-after-pentecost-sunday-2 & \cellcolor{lwhite}\textbf{ 31 } \footnotesize queenship-of-the-blessed-virgin-mary & & & & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ Iunius 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & & \cellcolor{lwhite}\textbf{ 1 } \footnotesize angela-merici & \cellcolor{lgreen}\textbf{ 2 } \footnotesize ef-time-after-pentecost-2-wednesday & \cellcolor{lgreen}\textbf{ 3 } \footnotesize ef-time-after-pentecost-2-thursday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize ef-sacred-heart & \cellcolor{lred}\textbf{ 5 } \footnotesize boniface \\ \hline
+\cellcolor{lgreen}\textbf{ 6 } \footnotesize ef-time-after-pentecost-sunday-3 & \cellcolor{lgreen}\textbf{ 7 } \footnotesize ef-time-after-pentecost-3-monday & \cellcolor{lgreen}\textbf{ 8 } \footnotesize ef-time-after-pentecost-3-tuesday & \cellcolor{lgreen}\textbf{ 9 } \footnotesize ef-time-after-pentecost-3-wednesday & \cellcolor{lwhite}\textbf{ 10 } \footnotesize margaret-of-scotland & \cellcolor{lred}\textbf{ 11 } \footnotesize barnabas & \cellcolor{lwhite}\textbf{ 12 } \footnotesize john-of-san-fecundo \\ \hline
+\cellcolor{lgreen}\textbf{ 13 } \footnotesize ef-time-after-pentecost-sunday-4 & \cellcolor{lwhite}\textbf{ 14 } \footnotesize basil-the-great & \cellcolor{lgreen}\textbf{ 15 } \footnotesize ef-time-after-pentecost-4-tuesday & \cellcolor{lgreen}\textbf{ 16 } \footnotesize ef-time-after-pentecost-4-wednesday & \cellcolor{lwhite}\textbf{ 17 } \footnotesize gregory-barbarigo & \cellcolor{lwhite}\textbf{ 18 } \footnotesize ephrem-of-syria & \cellcolor{lwhite}\textbf{ 19 } \footnotesize julia-of-falconieri \\ \hline
+\cellcolor{lgreen}\textbf{ 20 } \footnotesize ef-time-after-pentecost-sunday-5 & \cellcolor{lwhite}\textbf{ 21 } \footnotesize aloysius-gongzaga & \cellcolor{lwhite}\textbf{ 22 } \footnotesize paulinus-of-nola & \cellcolor{lviolet}\textbf{ 23 } \footnotesize vigil-of-the-nativity-of-st-john-the-baptist & \cellcolor{lwhite}\textbf{ 24 } \footnotesize nativity-of-st-john-the-baptist & \cellcolor{lwhite}\textbf{ 25 } \footnotesize william & \cellcolor{lred}\textbf{ 26 } \footnotesize sts-john-paul \\ \hline
+\cellcolor{lgreen}\textbf{ 27 } \footnotesize ef-time-after-pentecost-sunday-6 & \cellcolor{lviolet}\textbf{ 28 } \footnotesize vigil-of-sts-peter-paul & \cellcolor{lred}\textbf{ 29 } \footnotesize sts-peter-paul & \cellcolor{lred}\textbf{ 30 } \footnotesize in-commemoratione-sancti-pauli-apostoli & & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ Iulius 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & & & & \cellcolor{lred}\textbf{ 1 } \footnotesize precious-blood-of-our-lord-jesus-christ & \cellcolor{lwhite}\textbf{ 2 } \footnotesize visitation-of-the-blessed-virgin-mary & \cellcolor{lred}\textbf{ 3 } \footnotesize irenaeus \\ \hline
+\cellcolor{lgreen}\textbf{ 4 } \footnotesize ef-time-after-pentecost-sunday-7 & \cellcolor{lwhite}\textbf{ 5 } \footnotesize anthony-mary-zaccariah & \cellcolor{lgreen}\textbf{ 6 } \footnotesize ef-time-after-pentecost-7-tuesday & \cellcolor{lwhite}\textbf{ 7 } \footnotesize sts-cyril-methodius & \cellcolor{lwhite}\textbf{ 8 } \footnotesize elizabeth-of-portugal & \cellcolor{lgreen}\textbf{ 9 } \footnotesize ef-time-after-pentecost-7-friday & \cellcolor{lred}\textbf{ 10 } \footnotesize seven-holy-brothers-and-sts-rufina-secunda \\ \hline
+\cellcolor{lgreen}\textbf{ 11 } \footnotesize ef-time-after-pentecost-sunday-8 & \cellcolor{lwhite}\textbf{ 12 } \footnotesize john-gualbert & \cellcolor{lgreen}\textbf{ 13 } \footnotesize ef-time-after-pentecost-8-tuesday & \cellcolor{lwhite}\textbf{ 14 } \footnotesize bonaventure & \cellcolor{lwhite}\textbf{ 15 } \footnotesize henry-the-emperor & \cellcolor{lgreen}\textbf{ 16 } \footnotesize ef-time-after-pentecost-8-friday & \cellcolor{lwhite}\textbf{ 17 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lgreen}\textbf{ 18 } \footnotesize ef-time-after-pentecost-sunday-9 & \cellcolor{lwhite}\textbf{ 19 } \footnotesize vincent-de-paul & \cellcolor{lwhite}\textbf{ 20 } \footnotesize jerome-emiliani & \cellcolor{lwhite}\textbf{ 21 } \footnotesize laurence-of-brindisi & \cellcolor{lwhite}\textbf{ 22 } \footnotesize mary-magdalene & \cellcolor{lred}\textbf{ 23 } \footnotesize apollinaris & \cellcolor{lwhite}\textbf{ 24 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lgreen}\textbf{ 25 } \footnotesize ef-time-after-pentecost-sunday-10 & \cellcolor{lwhite}\textbf{ 26 } \footnotesize anne-mother-of-the-blessed-virgin & \cellcolor{lgreen}\textbf{ 27 } \footnotesize ef-time-after-pentecost-10-tuesday & \cellcolor{lred}\textbf{ 28 } \footnotesize sts-nazarius-celsus-st-victor-i-st-innocent-i & \cellcolor{lwhite}\textbf{ 29 } \footnotesize martha & \cellcolor{lgreen}\textbf{ 30 } \footnotesize ef-time-after-pentecost-10-friday & \cellcolor{lwhite}\textbf{ 31 } \footnotesize ignatius-loyola \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ Augustus 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+\cellcolor{lgreen}\textbf{ 1 } \footnotesize ef-time-after-pentecost-sunday-11 & \cellcolor{lwhite}\textbf{ 2 } \footnotesize alphonsus-liguori & \cellcolor{lgreen}\textbf{ 3 } \footnotesize ef-time-after-pentecost-11-tuesday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize dominic & \cellcolor{lwhite}\textbf{ 5 } \footnotesize dedication-of-the-basilica-of-st-mary-major & \cellcolor{lwhite}\textbf{ 6 } \footnotesize transfiguration-of-our-lord & \cellcolor{lwhite}\textbf{ 7 } \footnotesize cajetan \\ \hline
+\cellcolor{lgreen}\textbf{ 8 } \footnotesize ef-time-after-pentecost-sunday-12 & \cellcolor{lviolet}\textbf{ 9 } \footnotesize vigil-of-st-lawrence & \cellcolor{lred}\textbf{ 10 } \footnotesize lawrence & \cellcolor{lgreen}\textbf{ 11 } \footnotesize ef-time-after-pentecost-12-wednesday & \cellcolor{lwhite}\textbf{ 12 } \footnotesize clare & \cellcolor{lgreen}\textbf{ 13 } \footnotesize ef-time-after-pentecost-12-friday & \cellcolor{lviolet}\textbf{ 14 } \footnotesize vigil-of-the-assumption \\ \hline
+\cellcolor{lwhite}\textbf{ 15 } \footnotesize assumption-of-the-blessed-virgin-mary & \cellcolor{lwhite}\textbf{ 16 } \footnotesize joachim-father-of-the-blessed-virgin & \cellcolor{lwhite}\textbf{ 17 } \footnotesize hyacinth & \cellcolor{lgreen}\textbf{ 18 } \footnotesize ef-time-after-pentecost-13-wednesday & \cellcolor{lwhite}\textbf{ 19 } \footnotesize john-eudes & \cellcolor{lwhite}\textbf{ 20 } \footnotesize bernard-of-clairvaux & \cellcolor{lwhite}\textbf{ 21 } \footnotesize jane-frances-de-chantal \\ \hline
+\cellcolor{lgreen}\textbf{ 22 } \footnotesize ef-time-after-pentecost-sunday-14 & \cellcolor{lwhite}\textbf{ 23 } \footnotesize philip-benizi & \cellcolor{lred}\textbf{ 24 } \footnotesize bartholomew & \cellcolor{lwhite}\textbf{ 25 } \footnotesize louis-ix & \cellcolor{lgreen}\textbf{ 26 } \footnotesize ef-time-after-pentecost-14-thursday & \cellcolor{lwhite}\textbf{ 27 } \footnotesize joseph-calasance & \cellcolor{lwhite}\textbf{ 28 } \footnotesize augustine \\ \hline
+\cellcolor{lgreen}\textbf{ 29 } \footnotesize ef-time-after-pentecost-sunday-15 & \cellcolor{lwhite}\textbf{ 30 } \footnotesize rose-of-lima & \cellcolor{lwhite}\textbf{ 31 } \footnotesize raymond-nonnatus & & & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ September 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & & & \cellcolor{lgreen}\textbf{ 1 } \footnotesize ef-time-after-pentecost-15-wednesday & \cellcolor{lwhite}\textbf{ 2 } \footnotesize stephen-of-hungary & \cellcolor{lwhite}\textbf{ 3 } \footnotesize pius-x & \cellcolor{lwhite}\textbf{ 4 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lgreen}\textbf{ 5 } \footnotesize ef-time-after-pentecost-sunday-16 & \cellcolor{lgreen}\textbf{ 6 } \footnotesize ef-time-after-pentecost-16-monday & \cellcolor{lgreen}\textbf{ 7 } \footnotesize ef-time-after-pentecost-16-tuesday & \cellcolor{lwhite}\textbf{ 8 } \footnotesize nativity-of-the-blessed-virgin-mary & \cellcolor{lgreen}\textbf{ 9 } \footnotesize ef-time-after-pentecost-16-thursday & \cellcolor{lwhite}\textbf{ 10 } \footnotesize nicholas-of-tolentino & \cellcolor{lwhite}\textbf{ 11 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lgreen}\textbf{ 12 } \footnotesize ef-time-after-pentecost-sunday-17 & \cellcolor{lgreen}\textbf{ 13 } \footnotesize ef-time-after-pentecost-17-monday & \cellcolor{lred}\textbf{ 14 } \footnotesize exaltation-of-the-holy-cross & \cellcolor{lwhite}\textbf{ 15 } \footnotesize seven-sorrows-of-the-blessed-virgin-mary & \cellcolor{lred}\textbf{ 16 } \footnotesize sts-cornelius-cyprian & \cellcolor{lgreen}\textbf{ 17 } \footnotesize ef-time-after-pentecost-17-friday & \cellcolor{lwhite}\textbf{ 18 } \footnotesize joseph-of-cupertino \\ \hline
+\cellcolor{lgreen}\textbf{ 19 } \footnotesize ef-time-after-pentecost-sunday-18 & \cellcolor{lgreen}\textbf{ 20 } \footnotesize ef-time-after-pentecost-18-monday & \cellcolor{lred}\textbf{ 21 } \footnotesize matthew & \cellcolor{lviolet}\textbf{ 22 } \footnotesize ef-september-ember-wed & \cellcolor{lred}\textbf{ 23 } \footnotesize linus & \cellcolor{lviolet}\textbf{ 24 } \footnotesize ef-september-ember-fri & \cellcolor{lviolet}\textbf{ 25 } \footnotesize ef-september-ember-sat \\ \hline
+\cellcolor{lgreen}\textbf{ 26 } \footnotesize ef-time-after-pentecost-sunday-19 & \cellcolor{lred}\textbf{ 27 } \footnotesize sts-cosmas-damian & \cellcolor{lred}\textbf{ 28 } \footnotesize wenceslaus & \cellcolor{lwhite}\textbf{ 29 } \footnotesize dedication-of-st-michael-the-archangel & \cellcolor{lwhite}\textbf{ 30 } \footnotesize jerome & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ October 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & & & & & \cellcolor{lgreen}\textbf{ 1 } \footnotesize ef-time-after-pentecost-19-friday & \cellcolor{lwhite}\textbf{ 2 } \footnotesize holy-guardian-angels \\ \hline
+\cellcolor{lgreen}\textbf{ 3 } \footnotesize ef-time-after-pentecost-sunday-20 & \cellcolor{lwhite}\textbf{ 4 } \footnotesize francis-of-assisi & \cellcolor{lgreen}\textbf{ 5 } \footnotesize ef-time-after-pentecost-20-tuesday & \cellcolor{lwhite}\textbf{ 6 } \footnotesize bruno & \cellcolor{lwhite}\textbf{ 7 } \footnotesize our-lady-of-the-rosary & \cellcolor{lwhite}\textbf{ 8 } \footnotesize bridget-of-sweden & \cellcolor{lwhite}\textbf{ 9 } \footnotesize john-leonardi \\ \hline
+\cellcolor{lgreen}\textbf{ 10 } \footnotesize ef-time-after-pentecost-sunday-21 & \cellcolor{lwhite}\textbf{ 11 } \footnotesize maternity-of-the-blessed-virgin-mary & \cellcolor{lgreen}\textbf{ 12 } \footnotesize ef-time-after-pentecost-21-tuesday & \cellcolor{lwhite}\textbf{ 13 } \footnotesize edward & \cellcolor{lred}\textbf{ 14 } \footnotesize callistus-i & \cellcolor{lwhite}\textbf{ 15 } \footnotesize teresa-of-avila & \cellcolor{lwhite}\textbf{ 16 } \footnotesize hedwig \\ \hline
+\cellcolor{lgreen}\textbf{ 17 } \footnotesize ef-time-after-pentecost-sunday-22 & \cellcolor{lred}\textbf{ 18 } \footnotesize luke-the-evangelist & \cellcolor{lwhite}\textbf{ 19 } \footnotesize peter-of-alcantara & \cellcolor{lwhite}\textbf{ 20 } \footnotesize john-cantius & \cellcolor{lgreen}\textbf{ 21 } \footnotesize ef-time-after-pentecost-22-thursday & \cellcolor{lgreen}\textbf{ 22 } \footnotesize ef-time-after-pentecost-22-friday & \cellcolor{lwhite}\textbf{ 23 } \footnotesize anthony-mary-claret \\ \hline
+\cellcolor{lgreen}\textbf{ 24 } \footnotesize ef-time-after-pentecost-sunday-23 & \cellcolor{lgreen}\textbf{ 25 } \footnotesize ef-time-after-pentecost-23-monday & \cellcolor{lgreen}\textbf{ 26 } \footnotesize ef-time-after-pentecost-23-tuesday & \cellcolor{lgreen}\textbf{ 27 } \footnotesize ef-time-after-pentecost-23-wednesday & \cellcolor{lred}\textbf{ 28 } \footnotesize sts-simon-jude & \cellcolor{lgreen}\textbf{ 29 } \footnotesize ef-time-after-pentecost-23-friday & \cellcolor{lwhite}\textbf{ 30 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lwhite}\textbf{ 31 } \footnotesize ef-christ-the-king & & & & & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ November 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & \cellcolor{lwhite}\textbf{ 1 } \footnotesize all-saints & \cellcolor{lblack}\textbf{ 2 } \footnotesize commemoration-of-all-souls & \cellcolor{lgreen}\textbf{ 3 } \footnotesize ef-time-after-pentecost-24-wednesday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize charles-borromeo & \cellcolor{lgreen}\textbf{ 5 } \footnotesize ef-time-after-pentecost-24-friday & \cellcolor{lwhite}\textbf{ 6 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lgreen}\textbf{ 7 } \footnotesize ef-time-after-epiphany-sunday-5 & \cellcolor{lgreen}\textbf{ 8 } \footnotesize ef-time-after-pentecost-25-monday & \cellcolor{lwhite}\textbf{ 9 } \footnotesize dedication-of-the-archbasilica-of-our-holy-savior & \cellcolor{lwhite}\textbf{ 10 } \footnotesize andrew-avellino & \cellcolor{lwhite}\textbf{ 11 } \footnotesize martin-of-tours & \cellcolor{lred}\textbf{ 12 } \footnotesize martin-i & \cellcolor{lwhite}\textbf{ 13 } \footnotesize didacus \\ \hline
+\cellcolor{lgreen}\textbf{ 14 } \footnotesize ef-time-after-epiphany-sunday-6 & \cellcolor{lwhite}\textbf{ 15 } \footnotesize albert-the-great & \cellcolor{lwhite}\textbf{ 16 } \footnotesize gertrude-the-great & \cellcolor{lwhite}\textbf{ 17 } \footnotesize gregory-the-wonderworker & \cellcolor{lwhite}\textbf{ 18 } \footnotesize dedication-of-the-basilicas-of-sts-peter-paul & \cellcolor{lwhite}\textbf{ 19 } \footnotesize elizabeth-of-hungary & \cellcolor{lwhite}\textbf{ 20 } \footnotesize felix-of-valois \\ \hline
+\cellcolor{lgreen}\textbf{ 21 } \footnotesize ef-time-after-pentecost-sunday-24 & \cellcolor{lred}\textbf{ 22 } \footnotesize cecilia & \cellcolor{lred}\textbf{ 23 } \footnotesize clement-i & \cellcolor{lwhite}\textbf{ 24 } \footnotesize john-of-the-cross & \cellcolor{lred}\textbf{ 25 } \footnotesize catherine-of-alexandria & \cellcolor{lwhite}\textbf{ 26 } \footnotesize sylvester & \cellcolor{lwhite}\textbf{ 27 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline
+\cellcolor{lviolet}\textbf{ 28 } \footnotesize ef-advent-sunday-1 & \cellcolor{lviolet}\textbf{ 29 } \footnotesize ef-advent-1-monday & \cellcolor{lred}\textbf{ 30 } \footnotesize andrew & & & & \\ \hline
+
+\end{tabular}
+\newpage
+
+\section*{ December 2027 }
+\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|}
+\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline
+ & & & \cellcolor{lviolet}\textbf{ 1 } \footnotesize ef-advent-1-wednesday & \cellcolor{lred}\textbf{ 2 } \footnotesize vivian & \cellcolor{lwhite}\textbf{ 3 } \footnotesize francis-xavier & \cellcolor{lwhite}\textbf{ 4 } \footnotesize peter-chrysologus \\ \hline
+\cellcolor{lviolet}\textbf{ 5 } \footnotesize ef-advent-sunday-2 & \cellcolor{lwhite}\textbf{ 6 } \footnotesize nicholas & \cellcolor{lwhite}\textbf{ 7 } \footnotesize ambrose & \cellcolor{lwhite}\textbf{ 8 } \footnotesize immaculate-conception-of-the-blessed-virgin-mary & \cellcolor{lviolet}\textbf{ 9 } \footnotesize ef-advent-2-thursday & \cellcolor{lviolet}\textbf{ 10 } \footnotesize ef-advent-2-friday & \cellcolor{lwhite}\textbf{ 11 } \footnotesize damasus-i \\ \hline
+\cellcolor{lrose}\textbf{ 12 } \footnotesize ef-advent-sunday-3 & \cellcolor{lred}\textbf{ 13 } \footnotesize lucy & \cellcolor{lviolet}\textbf{ 14 } \footnotesize ef-advent-3-tuesday & \cellcolor{lviolet}\textbf{ 15 } \footnotesize ef-advent-ember-wed & \cellcolor{lred}\textbf{ 16 } \footnotesize eusebius & \cellcolor{lviolet}\textbf{ 17 } \footnotesize ef-advent-ember-fri & \cellcolor{lviolet}\textbf{ 18 } \footnotesize ef-advent-ember-sat \\ \hline
+\cellcolor{lviolet}\textbf{ 19 } \footnotesize ef-advent-sunday-4 & \cellcolor{lviolet}\textbf{ 20 } \footnotesize ef-advent-4-monday & \cellcolor{lred}\textbf{ 21 } \footnotesize thomas & \cellcolor{lviolet}\textbf{ 22 } \footnotesize ef-advent-4-wednesday & \cellcolor{lviolet}\textbf{ 23 } \footnotesize ef-advent-4-thursday & \cellcolor{lviolet}\textbf{ 24 } \footnotesize ef-nativity-vigil & \cellcolor{lwhite}\textbf{ 25 } \footnotesize ef-nativity \\ \hline
+\cellcolor{lwhite}\textbf{ 26 } \footnotesize ef-christmas-sunday-0 & \cellcolor{lwhite}\textbf{ 27 } \footnotesize john-the-evangelist & \cellcolor{lred}\textbf{ 28 } \footnotesize holy-innocents & \cellcolor{lwhite}\textbf{ 29 } \footnotesize ef-nativity-octave-day-5 & \cellcolor{lwhite}\textbf{ 30 } \footnotesize ef-nativity-octave-day-6 & \cellcolor{lwhite}\textbf{ 31 } \footnotesize ef-nativity-octave-day-7 & \\ \hline
+
+\end{tabular}
+\newpage
+
+\end{document}
diff --git a/test/test_render_golden.ml b/test/test_render_golden.ml
index 913513a..6340109 100644
--- a/test/test_render_golden.ml
+++ b/test/test_render_golden.ml
@@ -33,7 +33,9 @@ let check_golden name =
let want = read ("golden/" ^ Filename.remove_extension name ^ "-2027" ^ Filename.extension name) in
Alcotest.(check string) name want got
-let cases = [ "ordo.tex"; "ordo.ms"; "ordo.html"; "ordo.adoc"; "ordo.md"; "ordo.txt" ]
+let cases =
+ [ "ordo.tex"; "ordo.ms"; "ordo.html"; "ordo.adoc"; "ordo.md"; "ordo.txt";
+ "grid.tex"; "grid.ms"; "grid.html" ]
let suite =
( "Render/golden",