
六 西夏历日文献中的二十八宿
Инв.No.8085历日文献中有8个年头,用西夏文加注二十八宿,始于夏桓宗天庆七年(1200年),终于夏襄宗应天二年(1207年)。二十八宿注历有两种用途,一种用以直日,一种用以直年。
(一)二十八宿直日
于每月朔日干支之下,用西夏文加注二十八宿的直宿。在残历考证的过程中,二十八宿直日对我们的帮助主要有两个方面,一是可以确定每月的朔日和大小;二是可以利用星期对比对求出的某月朔日加以验证,在朔日、节气对比有一两日之差的情况下,也可以利用星期对比对求出的年代加以验证。
我们先交代二十八宿注历同“七曜日”注历的对应关系。“七曜日”注历,学界认为大约从唐中期开始由西方传入的,星期日称作“蜜”。更精确的说法是来自“中亚”,因为这个词是从粟特语借来的(mir,太阳)。[20]“七曜日”的排列次序为日、月、火、水、木、金、土。二十八宿注历,已知者最早为唐僖宗乾符四年(877年)历日。[21]二十八宿从“角”宿开始,“角”为东方七宿(角、亢、氏、房、心、尾、箕)之首,而古代阴阳家又将东方与“木”相配(“东方甲、乙木”),即“角”宿必与七曜日的“木”相对应。七曜日是7天一周期,二十八宿是28天一周期,28是7的整4倍。于是,二十八宿注历同“七曜日”注历之间便形成了下列固定的对应关系。
二十八宿注历同“七曜日”注历对应关系

由上表可见,历日上凡注房、虚、昴、星四宿的日子均为“日曜日”,亦即星期日,当时称作“蜜”。[22]
夏桓宗天庆八年(1201年)年历上部表头月大小和每月朔日有缺失,但在第三行有关于每月朔日直宿的西夏文较为完整的记载,仅缺五月朔日庚戌的直宿,这为我们补出本年缺失的月大小和每月朔日提供了可能。为便于论述,先给出该年历完整的表头部分,其中括号中的字为笔者所补,西夏文二十八宿的汉译一并给出。
夏桓宗天庆八年(1201年)年历表头

以四月朔日庚辰为例。已知三月朔在辛亥,直宿为井,而四月朔日的直宿为鬼,又由井到鬼,共跨30日,则三月必为小月,四月朔日必为庚辰。余依次类推。那么,五月朔在庚戌,直宿“摔(星)”,又是如何确定的呢?我们可以做一个反推,据二十八宿注历同“七曜日”注历对应关系表,注星宿的日子为星期日。即如果本年五月的朔日庚戌直宿为“星”,则该日必为星期天。查《二十史朔闰表》宋宁宗嘉泰元年,夏桓宗天庆八年五月朔日庚戌,为公历1201年6月3日,再查书后所附“日曜表四”中的第一年,果为星期天,[23]与之相符。
夏桓宗天庆十一年(1204年)上部表头第一列纪年干支“甲子”原为西夏文,其中的“坪(甲)”字,据残存字形补。本年每月节气分布虽然与宋历相同,具体日期却有所不同。据残存日期,其中二月“十四春分,廿八清明”,与宋历“十二丙午春分,廿七辛酉清明”不符。三月栏“十三谷雨”,与宋历“十四丁丑谷雨”不符。十二月栏“廿三大寒”,与宋历同(本年每月皆与宋历朔同)。[24]那么这个纪年干支补得是否正确?我们可以利用星期对比来加以验证。本年四月小,朔甲午,直宿为“星”,当是星期日。查《二十史朔闰表》夏桓宗天庆十一年四月一日,为公历1204年5月2日,再查书后所附“日曜表四”中的第四年,果为星期天,[25]与之相符。
二十八宿直日与日干支有一定的对应关系,等同于二十八宿直年与年干支之间的对应关系,参见下文“演禽表”。明白这种关系,可以用来验证上述结论。查“演禽表”,可以看出干支庚戌对应的二十八宿有“角、心、牛、室、胃、参、星”,甲午对应的二十八宿有“室、胃、参、星、角、心、牛”,果真皆含有“星”宿。
(二)二十八宿直年
于纪年干支之下,用西夏文加注二十八宿的直宿。二十八宿直年与年干支有一定的对应关系。
二十八宿直年与“演禽术”有关。演禽术是一种星象推命的古老术数。以阴阳五行及二十八种禽兽与天上的二十八宿配生出二十八种星禽,即“角木蛟、亢金龙、氐土貉、房日兔、心月狐、尾火虎、箕水豹、斗木獬、牛金牛、女土蝠、虚日鼠、危月燕、室火猪、壁水、奎木狼、娄金狗、胃土雉、昴日鸡、毕月乌、觜火猴、参水猿、井木犴、鬼金羊、柳土獐、星日马、张月鹿、翼火蛇、轸水蚓”。[26]据以推算人的命运吉凶。宋释文莹《湘山野录》载:司天监王处讷为僧赞宁推命,称宁“命孤薄不佳,三命、星禽、晷禄、壬遁俱无寿贵之处”[27]。可见星禽推命在古代曾一度流行。
二十八宿直年来源于二十八宿配日。《御定星历考原》记载:“按日有六十,宿有二十八,四百二十日而一周。四百二十者,以六十与二十八俱可以度尽也。故有七元之说:一元甲子日起虚,以子象鼠而虚为日鼠也,二元甲子起奎,三元甲子起毕,四元甲子起鬼,五元甲子起翼,六元甲子起氐,七元甲子起箕。至七元尽而甲子又起虚,周而复始。但一元起于何年月日,则不可得而考矣。”[28]为计算年禽,专门有一个口诀:
七元禽星会者稀,虚奎毕鬼翼氐箕,
须将甲子从头起,年年相续报君知。
也就是说,二十八宿直年与年干支有一定的对应关系。请看“演禽表”:
演禽表

演禽表-续表1

演禽表-续表2

如夏桓宗天庆十三年(1206年)年历,干支纪年缺,幸有西夏文二十八宿直年,写作“孽(胃)”。本书二十八宿直年始于夏桓宗天庆七年庚申(1200年),直宿为虚,而本年历直宿则为胃,由虚到胃跨7年,恰为1206年丙寅。演禽术“二元甲子起奎”,丙寅年恰为胃宿直年,可以互证。
总之,历书中的二十八宿,无论是直日还是直年,都与干支有一定的对应关系,对残历考订大有帮助。