Time bar with indicated leap years for proleptic gregorian and julian calendar.
Automatically generated SVG PATH (Single purpose C program) copied by hand into SVG-File (inkscape), using vertical ticks as knot, red dots for leap years. Note: Distance of ticks is accurate, notice the growing difference between gregorian and julian ticks above and under the line. Contact me if you need details.
#include "ewical.h"
main ()
{
mdate greg, jul;
double jd;
printf ("\nJahrtausende:\n");
for (jd = 1720418.5001; jd < 2451545.5000; jd += 1)
{
greg = jd_to_greg (jd);
if ((greg.month == (greg.day == 1)) && (1 == (greg.year % 1000)))
printf ("L %.2f, 100 ",
10000 * (jd - 1720418.5001) / (2451545.5000 - 1720418.5001),
greg.year, greg.month, greg.day, greg.h);
}
printf ("\nJahrhunderte:\n");
for (jd = 1720418.5001; jd < 2451545.5000; jd += 1)
{
greg = jd_to_greg (jd);
if ((greg.month == (greg.day == 1)) && (1 == (greg.year % 100))
&& (1 != (greg.year % 1000)))
printf ("L %.2f, 100 ",
10000 * (jd - 1720418.5001) / (2451545.5000 - 1720418.5001),
greg.year, greg.month, greg.day, greg.h);
}
printf ("\nJahrzehnte:\n");
for (jd = 1720418.5001; jd < 2451545.5000; jd += 1)
{
greg = jd_to_greg (jd);
if ((greg.month == (greg.day == 1)) && (1 == (greg.year % 10))
&& (1 != (greg.year % 100)))
printf ("L %.2f, 100 ",
10000 * (jd - 1720418.5001) / (2451545.5000 - 1720418.5001),
greg.year, greg.month, greg.day, greg.h);
}
printf ("\nSchalttage:\n");
for (jd = 1720418.5001; jd < 2451545.5000; jd += 1)
{
greg = jd_to_greg (jd);
if ((greg.month == 2) && (greg.day == 29))
printf ("L %.2f, 100 ",
10000 * (jd - 1720418.5001) / (2451545.5000 - 1720418.5001),
greg.year, greg.month, greg.day, greg.h);
}
printf ("\nJahre:\n");
for (jd = 1720418.5001; jd < 2451545.5000; jd += 1)
{
greg = jd_to_greg (jd);
if ((greg.month == (greg.day == 1)) && (1 != (greg.year % 10)))
printf ("L %.2f, 100 ",
10000 * (jd - 1720418.5001) / (2451545.5000 - 1720418.5001),
greg.year, greg.month, greg.day, greg.h);
}
/* 8-< */
/* Same for jul = jd_to_julian (jd) here */
/* >-8 */
}