CCAL-2.5.3
尽管ccal程序的网络界面提供额外的输出格式,如PNG或JPEG,PDF和插入您自选图片的PDF,以及程序自身提供的HTML,XML和EPS输出格式,以便您自制有农历的日历,但如您的网络带宽有限,最好下载本程序。
ccal工具程序是一个易于使用的命令行程序。它可被用来在标准输出上印出有农历的格里历(公历)日历。它的用法与在大多数Unix平台上有的cal程序相似。除直接显示之外, 它也可以生成Encapsulated PostScript(EPS)图片和HTML表格输出以便于自己制作日历和网页。它对简体和繁体汉字都支持。一张预先编排好的说明页可在这里找到。此程序使用GNU公共执照。
对Windows系统,可运行文件和说明可以从下面的压缩文件下载:
ccal-253.zip (107 KB)
安装时先将文件解压至一您任选的文件夹中,然后或将该文件夹加入系统路径或将ccal.exe文件移入一在系统路径上的文件夹中,如C:\Windows。将解压出的文件删除即完成卸载。使用时先开启命令提示符窗,然后输入ccal指令即可。参见下图。
上图中第一个指令生成2033年的EPS格式的日历并存入2033.eps文件。第二个指令以ASCII方式显示2033年12月的日历。
对RedHat Linux系统,有二进制和源码的rpm软件包。在制作源码的rpm软件包时得到过贺伟先生的帮助。二进制和源码的rpm软件包是在Fedora 11系统上制作的:
ccal-2.5.3-1.i386.rpm (112 KB)
ccal-2.5.3-1.src.rpm (127 KB)
对其它系统,或如果您想要得到源码,您可下载:
ccal-2.5.3.tar.gz (125 KB)
您将需要一个新近的C++编译器和标准模板程序库才能编译源码。
改动记录
2012年3月4日,从2.5.2到2.5.3的改动:
- 融入了NOVAS-C软件包的最新改动。
- 将size_t改为int以避免某些64位系统的问题。
- 据林原志先生建议,在字符输出时在非Windows系统上当天日期用ANSI反色显示。
2012年1月29日,从新打包了2.5.2:
2009年10月5日,从2.5.1到2.5.2的改动:
2009年8月15日,从2.5到2.5.1的改动:
- 改进了日历的排版使第六个星期行仅在必要时才输出。
- 对范例格式页也做了相应的修改。
2008年7月25日,从2.4到2.5的改动:
- 采用NASA发布的ΔT计算公式以提高精度。
- 月相计算的数据更新自Meeus所著的2005年印制的《天文算法》第二版。
- 根据DE405的结果修正了1645年到2200年间的几个数据。
- 提高了计算效率。
2006年3月26日,从2.3.3到2.4的改动:
- 增加了XML输出格式。
- 增加了ccalhtm.xsl范例。
2004年7月6日,从2.3.2到2.3.3的改动:
- 纠正了一个在ASCII输出时当标题的长度比月历还宽时会有大量空白印出的问题。
2004年6月19日,从2.3.1到2.3.2的改动:
- 在HTML输出的标题中增加了中文输出,以便用于中文网页。
- 增加了ccalpdf壳程序以输出PDF格式的日历,但需要已装载ghostscript软件包才能用。其说明页也有添加。可在UNIX上运行或在Windows上用cygwin运行。
2003年10月20日,从2.3到2.3.1的改动:
- 纠正了一个当节气和新月出现在同一天时会导致EPS版年历出错的问题。月历和年历现在都应可正确显示。
2003年10月4日,从2.2到2.3的改动:
- 对任何有新阴历月的公历月,在月历标题上加入了新阴历月的起始日期以避免某日在哪个阴历月的混淆。
- 在HTML表格格式下加入了UTF-8编码对繁体和简体汉字的支持。
- 在字符格式,如果输出是繁体或简体汉字,一星期每天的名字改为象HTML或EPS格式一样用三个字母的缩写和中文名,而不是英文全名。
- 纠正了一个当节气和新月出现在同一天时会导致EPS版月历出错的问题。
2003年1月29日,从2.1.1到2.2的改动:
- 采用GNU公共执照。
- 在EPS输出加入逻辑以去除未用的或重复的字符定义。这使得EPS月历的数据量减少了15%。
- 融入了NOVAS-C软件包的最新改动。
2002年7月20日,从2.1到2.1.1的改动:
- 修改了在printf语句中的格式串以避免一个编译器的特别功能导致Windows上的可执行程序输出错误的EPS年历和三月份的月历。
- 用一个更好看些的汉字替换了另一个。
2002年6月20日,从2.0到2.1的改动:
- 除了原有的ASCII,在字符输出时加入了对繁体和简体汉字的支持。
- 在ASCII输出时加入了体现阴历月是大月还是小月的标识。
2002年3月24日,从1.2.2到2.0的改动:
- 在EPS和HTML格式中加入了对繁体汉字的支持。
- 在EPS格式中采用了矢量汉字来取代点阵汉字。这使EPS日历可以被任意地放大缩小。
- 在EPS输出中采用了新格式的DSC。
- 在Makefile中调整了说明页安装的参数。
2001年8月24日,从1.2.1到1.2.2的改动:
- 当新月和节气出现在同一天时,除了在字符状态时新月的标记被挪到下一天外,它们会被同时标上。
- 因为用户不总注意到月历标题上的阴历月是指在该公历月中新开始的阴历月,为避免某日在哪个阴历月的混淆,除了字符格式和EPS年历外,每月一日的阴历日期加标阴历月份。
- 在EPS输出中用Bookman字体替换了Times/Courier字体,因其与下面的汉字大小更协调。
2000年12月10日,从1.2到1.2.1的改动:
- 纠正了一个确定新年第一天阴历日期的问题。该问题会使某几个年份的一月的阴历日期在新月出现前少算一天。
- 加入了确使返回的新月时间在给定区间内的逻辑。原来可能会略微超出范围。
2000年8月24日,从1.1到1.2的改动:
- 对EPS输出,改为只加入对当前文件有用的资源。这极大减少了月历的数据量。
- 将版本报告分离成另一个标头文件。并且在显示用法信息时显示版本信息。
2000年4月1日,从1.0到1.1的改动:
- 换用了高分辨率中文字体使月历消除了锯齿状笔画。即使当日历被放大到占满整页纸时,新字体看起来仍较光滑。
- 增加了从1950到2050年的缓冲存储,可改善慢的计算机处理那些年的表现。
- 对EPS输出,字体选择改为使用晚捆绑而不是初期绑定。这是因为某些版本的微软PostScript驱动程序在初期绑定时不能正确地插入图片。
- 对EPS输出,去掉了一个多余的字体注释。
回到自制有农历的日历
制作者:孟卓(zxm8@case.edu)
|
采用常见的免责声明
|