As it happens, I found myself in need of a Roman Catholic liturgical calendar. That calendar is 'fun' (for very low values of 'fun'), because it needs to be calculated from both the lunar and solar year.

The principle date for Catholics is Easter, which is defined as the Sunday following the full moon that follows the northern spring equinox (the paschal full moon). The differences between the Julian calendar and the modern Gregorian calendar make it really 'fun' historically. Check out the details here.

Luckily for us, RomCal.net exists and he's done all the hard work for us already. The C source is straight-forward and compiles easily. We just need to change one file: 'fixed.h'. :-)

O.K., so here is my Canadian Saints version for various years in ical (ics) format: romcal2017.ics

And some other years:

romcal2016.ics romcal2018.ics romcal2019.ics romcal2020.ics romcal2021.ics

And here is the tarball with the Canadian saints:

RomCalWithCanadianSaints.tar.gz

Using that program, you can also output ical, postscript, colour postscript, html and rtf. That original source code is here:

RomCal A Program to Generate the General Roman Calendar of the Catholic Church

All I did was change fixed.h and recompile. All kudos to romcal guy (real name Kenneth G. Bath).