when_exe 0.3.8 → 0.3.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +210 -210
  3. data/lib/when_exe.rb +923 -919
  4. data/lib/when_exe/basictypes.rb +1 -1
  5. data/lib/when_exe/calendartypes.rb +4 -4
  6. data/lib/when_exe/coordinates.rb +5 -1
  7. data/lib/when_exe/ephemeris.rb +1 -1
  8. data/lib/when_exe/locales/locale.rb +3 -2
  9. data/lib/when_exe/region/bahai.rb +2 -2
  10. data/lib/when_exe/region/chinese.rb +1030 -1030
  11. data/lib/when_exe/region/chinese/epochs.rb +887 -919
  12. data/lib/when_exe/region/discordian.rb +5 -5
  13. data/lib/when_exe/region/east_asian.rb +256 -0
  14. data/lib/when_exe/region/french.rb +1 -1
  15. data/lib/when_exe/region/indian.rb +7 -7
  16. data/lib/when_exe/region/international_fixed.rb +2 -2
  17. data/lib/when_exe/region/iranian.rb +1 -1
  18. data/lib/when_exe/region/islamic.rb +102 -103
  19. data/lib/when_exe/region/japanese/epochs.rb +426 -426
  20. data/lib/when_exe/region/japanese/nihon_shoki.rb +46 -47
  21. data/lib/when_exe/region/japanese/notes.rb +1482 -1482
  22. data/lib/when_exe/region/japanese/twins.rb +3 -3
  23. data/lib/when_exe/region/japanese/weeks.rb +2 -2
  24. data/lib/when_exe/region/jewish.rb +5 -0
  25. data/lib/when_exe/region/korean.rb +209 -203
  26. data/lib/when_exe/region/positivist.rb +2 -2
  27. data/lib/when_exe/region/roman.rb +1 -1
  28. data/lib/when_exe/region/ryukyu.rb +50 -48
  29. data/lib/when_exe/region/shire.rb +2 -2
  30. data/lib/when_exe/region/thai.rb +1 -1
  31. data/lib/when_exe/region/tibetan.rb +15 -15
  32. data/lib/when_exe/region/tranquility.rb +2 -2
  33. data/lib/when_exe/region/vietnamese.rb +167 -167
  34. data/lib/when_exe/region/world.rb +3 -3
  35. data/lib/when_exe/region/world_season.rb +2 -2
  36. data/lib/when_exe/region/yerm.rb +4 -2
  37. data/lib/when_exe/region/zoroastrian.rb +1 -1
  38. data/lib/when_exe/tmreference.rb +140 -128
  39. data/lib/when_exe/version.rb +1 -1
  40. data/test/examples/Spatial.m17n +3 -3
  41. data/test/test.rb +2 -1
  42. data/test/test/coordinates.rb +2 -2
  43. data/test/test/region/chinese.rb +2 -2
  44. data/test/test/region/islamic.rb +38 -2
  45. data/test/test/region/japanese.rb +2 -2
  46. data/test/test/region/vietnamese.rb +2 -2
  47. data/test/test/region/yerm.rb +156 -146
  48. metadata +3 -3
  49. data/lib/when_exe/region/far_east.rb +0 -188
@@ -38,11 +38,11 @@ module When
38
38
  [When::BasicTypes::M17n,
39
39
  "names:[month]",
40
40
  [When::BasicTypes::M17n,
41
- "names:[Month]",
41
+ "names:[Month=en:month]",
42
42
  "[Chaos=en:chaos ]",
43
43
  "[Discord=en:discord ]",
44
44
  "[Confusion=en:confusion ]",
45
- "[Bureaucracy ]",
45
+ "[Bureaucracy=en:bureaucracy]",
46
46
  "[The Aftermath=en:aftermath]"
47
47
  ]
48
48
  ],
@@ -51,7 +51,7 @@ module When
51
51
  [When::BasicTypes::M17n,
52
52
  "names:[day]",
53
53
  [When::BasicTypes::M17n,
54
- "names:[Week]",
54
+ "names:[Week=en:week]",
55
55
  [DayOfWeek, "label:[Sweetmorn= ]", {'delta'=>5}],
56
56
  [DayOfWeek, "label:[Boomtime= ]", {'delta'=>5}],
57
57
  [DayOfWeek, "label:[Pungenday= ]", {'delta'=>5}],
@@ -75,7 +75,7 @@ module When
75
75
  "[Afflux= ]" # 12-08 The Aftermath 50
76
76
  ],
77
77
 
78
- "[Common_Week]"
78
+ "[Common_Week=]"
79
79
  ]
80
80
  ]]
81
81
 
@@ -173,7 +173,7 @@ module When
173
173
  #
174
174
  # Discordian Calendar
175
175
  #
176
- class Discordian < YearLengthTableBased
176
+ class Discordian < SolarYearTableBased
177
177
 
178
178
  # @private
179
179
  Normal_IDS = (1..73).to_a
@@ -0,0 +1,256 @@
1
+ # -*- coding: utf-8 -*-
2
+ =begin
3
+ Copyright (C) 2013 Takashi SUGA
4
+
5
+ You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
+ =end
7
+
8
+ require 'when_exe/region/chinese'
9
+ require 'when_exe/region/chinese/calendars'
10
+
11
+ #
12
+ # 王位年号一覧表
13
+ #
14
+ # (参考文献)
15
+ # 東洋史辞典(東京創元社)
16
+ # コンサイス世界年表(三省堂)
17
+ # 朝鮮史(山川出版社)
18
+ # 資治通鑑(宏業書局)
19
+ # 続資治通鑑(宏業書局)
20
+ # 歴代紀元編(台湾中華書局)
21
+ #
22
+ module When
23
+ class TM::CalendarEra
24
+
25
+ #
26
+ # 満洲
27
+ #
28
+ Manchurian = [self, [
29
+ "locale:[=ja:, en=en:, alias]",
30
+ "area:[満洲,Manchurian=en:Manchuria]",
31
+ [self,
32
+ "period:[震=ja:%%<渤海_(国)>]",
33
+ ["[<高王>=ja:%%<大祚栄>]1", "@F", "name=[高王=ja:%%<大祚栄>];698^Chinese0523", "713"]
34
+ ],
35
+ [self,
36
+ "period:[渤海=ja:%%<渤海_(国)>,Balhae]",
37
+ ["[<高王>=ja:%%<大祚栄>]16", "@A", "name=[高王=ja:%%<大祚栄>];713^Chinese0523"],
38
+ ["[仁安=ja:%%<仁安_(渤海)>]0", "@A", "name=[武王=ja:%%<大武芸>];719"], # コンサイスでは翌年が元年、以下翌年のものは(*)
39
+ ["[大興=ja:%%<大興_(渤海)>]1", "@A", "name=[文王=ja:%%<大欽茂>];738", "794"],
40
+ ["[宝暦=ja:%%<宝暦_(渤海)>]1", "", "774", "775"], # Wikipedia
41
+ ["[<廃王>=ja:%%<大元義>]1", "@A", "name=[廃王=ja:%%<大元義>];794"], # 朝鮮史では793?とする
42
+ ["[中興=ja:%%<中興_(渤海)>]1", "@A", "name=[成王=ja:%%<大華ヨ>];794"], # 新唐書では786が元年?
43
+ ["[正暦=ja:%%<正暦_(渤海)>]1", "@A", "name=[康王=ja:%%<大嵩リン>];795"],
44
+ ["[永徳=ja:%%<永徳_(渤海)>]0", "@A", "name=[定王=ja:%%<大元瑜>];809"], # コンサイスでは翌年が元年
45
+ ["[朱雀=ja:%%<朱雀_(渤海)>]1", "@A", "name=[僖王=ja:%%<大言義>];813"], # 朝鮮史では817が末年 (*)
46
+ ["[太始=ja:%%<太始_(渤海)>]1", "@A", "name=[簡王=ja:%%<大明忠>];818"], # 新唐書では前年が元年
47
+ ["[建興=ja:%%<建興_(渤海)>]0", "@A", "name=[宣王=ja:%%<大仁秀>];818"], # コンサイスでは翌年が元年 (*)
48
+ ["[咸和=ja:%%<咸和_(渤海)>]0", "@A", "name=[彝震王=ja:%%<大彝震>];830"], # (以後同様) (*)
49
+ ["[<虔晃王>=ja:%%<大虔晃>]0", "@A", "name=[虔晃王=ja:%%<大虔晃>];857"], # 新唐書には以後記載なし (*)
50
+ ["[<景王>=ja:%%<大玄錫>]0", "@A", "name=[景王=ja:%%<大玄錫>];871"], # 朝鮮史は871? (*)
51
+ ["[<瑋瑎>=ja:%%<大イカイ>]0", "@A", "name=[瑋瑎=ja:%%<大イカイ>];894"], # 朝鮮史では在位不明 (*)
52
+ ["[<哀王>=ja:%%<大インセン>]0", "@A", "name=[哀王=ja:%%<大インセン>];906", # (*)
53
+ "926="]
54
+ ],
55
+ [self,
56
+ "period:[満洲国=ja:%%<満州国>]",
57
+ ["[大同=ja:%%<大同_(満州)>]1", "@F", "name=[溥儀=ja:%%<愛新覚羅溥儀>];1932-03-01^Gregorian?note=Chinese"],
58
+ ["[康徳]1.03.01","", "1934-03-01", "1945-08-18="]
59
+ ],
60
+ ]]
61
+
62
+ #
63
+ # 柔然
64
+ #
65
+ Rouran = [{
66
+ 'V'=>{'464' => {'A'=>'464', 'B'=>'485', 'C'=>'492', 'D'=>'506', 'E'=>'508', 'F'=>'520'},
67
+ '466' => {'A'=>'466', 'B'=>'487', 'C'=>'494', 'D'=>'508', 'E'=>'510', 'F'=>'522'}}
68
+ }, self, [
69
+ "locale:[=ja:, en=en:, alias]",
70
+ 'area:[柔然#{?V=V}=ja:%%<柔然>,Rouran#{?V=V}=en:Rouran]',
71
+ ["[永康=ja:%%<永康_(柔然)>]1", "@A", 'name=[予成=ja:%%<郁久閭予成>];#{A:464}^Chinese0445'],
72
+ ["[太平=ja:%%<太平_(柔然)>]1", "@A", 'name=[豆崙=ja:%%<郁久閭豆崙>];#{B:485}'],
73
+ ["[太安=ja:%%<太安_(柔然)>]1", "@A", 'name=[那蓋=ja:%%<郁久閭那蓋>];#{C:492}'],
74
+ ["[始平]1", "@A", 'name=[伏図=ja:%%<郁久閭伏図>];#{D:506}'],
75
+ ["[建昌=ja:%%<建昌_(柔然)>]1", "@A", 'name=[醜奴=ja:%%<郁久閭醜奴>];#{E:508}', '#{F:520}='] # Wikipedia 509 -> 508
76
+ ]]
77
+
78
+ #
79
+ # 高昌
80
+ #
81
+ Gaochang = [self, [
82
+ "locale:[=ja:, en=en:, alias]",
83
+ "area:[高昌,Gaochang]",
84
+ ["[章和=ja:%%<章和_(高昌)>]1", "@A", "name=[麹堅];531^Chinese0523"],
85
+ ["[永平=ja:%%<永平_(高昌)>]1", "@A", "name=[麹玄喜];549"],
86
+ ["[和平=ja:%%<和平_(高昌)>]1", "@A", "name=;551"],
87
+ ["[建昌=ja:%%<建昌_(高昌)>]1", "@A", "name=[麹宝茂=zh:%%<麴寶茂>];555"],
88
+ ["[延昌=ja:%%<延昌_(高昌)>]1", "@A", "name=[麹乾固=zh:%%<麴乾固>];561"],
89
+ ["[延和=ja:%%<延和_(高昌)>]1", "@A", "name=[麹伯雅];602"],
90
+ ["[義和=ja:%%<義和_(高昌)>]1", "@A", "name=;614"],
91
+ ["[重光=ja:%%<重光_(高昌)>]1", "", "name=[麹伯雅];620"],
92
+ ["[延寿=ja:%%<延寿_(高昌)>]1", "@A", "name=[麹文泰];624", "name=[麹智盛];640", "640="]
93
+ ]]
94
+
95
+ #
96
+ # 雲南
97
+ #
98
+ Yunnan = [self, [
99
+ "locale:[=ja:, en=en:, alias]",
100
+ "area:[雲南,Yunnan]",
101
+ [self,
102
+ "period:[南詔,Nanzhao]",
103
+ ["[<閣羅鳳>=zh:%%<閣羅鳳>]1", "@A", "name=[閣羅鳳=zh:%%<閣羅鳳>];748^Chinese0523"],
104
+ ["[賛普鍾=zh:%%<賛普鍾>]1", "@A", "752"],
105
+ ["[長寿=ja:%%<長寿_(南詔)>]1", "", "769"],
106
+ ["[見龍]1", "@A", "name=[異牟尋=zh:%%<异牟寻>];780"],
107
+ ["[上元=ja:%%<上元_(南詔)>]1", "", "784"],
108
+ ["[上元?=ja:%%<上元_(南詔)>]2", "", "785"], # 元封?
109
+ ["[応道]1", "@A", "name=[尋閣勧=zh:%%<寻阁劝>];809"],
110
+ ["[龍興=ja:%%<龍興_(南詔)>]1", "@A", "name=[勧龍晟=zh:%%<劝龙晟>];810"],
111
+ ["[全義]1", "@A", "name=[勧利晟=zh:%%<劝利晟>];817"],
112
+ ["[大豊=ja:%%<大豊_(南詔)>]1", "", "820"],
113
+ ["[保和]1", "@A", "name=[晟豊祐=zh:%%<劝丰祐>];824"],
114
+ ["[保和?=ja:%%<保和>, alias:天啓=ja:%%<天啓_(南詔)>]17", "", "840"], # 天啓?
115
+ ["[建極]1", "@A", "name=[世隆=zh:%%<世隆>];860"],
116
+ ["[建極?=ja:%%<建極>, alias:法尭=ja:%%<法尭>]14","", "873", "877="] # 法尭?
117
+ ],
118
+ [self,
119
+ "period:[大封民=zh:%%<南诏>#%.<改國號>]",
120
+ ["[貞明=ja:%%<貞明_(南詔)>]1", "@F", "name=[隆舜=zh:%%<隆舜>];878^Chinese0523"],
121
+ ["[貞明?=ja:%%<貞明_(南詔)>]2", "", "879"], # 承智, 大同?
122
+ ["[嵯耶]1", "", "889"],
123
+ ["[中興=ja:%%<中興 (南詔)>]1", "@A","name=[舜化貞=zh:%%<舜化貞>];897", "903"]
124
+ ],
125
+ [self,
126
+ "period:[大長和=zh:%%<大長和>]",
127
+ ["[安国=ja:%%<安国_(南詔)>]1", "@F", "name=[鄭買嗣=zh:%%<鄭買嗣>];903^Chinese0523"],
128
+ ["[始元=ja:%%<始元_(南詔)>]1", "@A", "name=[鄭仁旻=zh:%%<鄭仁旻>];910"],
129
+ ["[始元?=ja:%%<始元_(南詔)>]2", "", "911"], # 天瑞景星, 安和, 貞祐, 初暦, 孝治?
130
+ ["[天応=ja:%%<天応_(南詔)>]1", "@A", "name=[鄭隆亶=zh:%%<鄭隆亶>];927", "928"]
131
+ ],
132
+ [self,
133
+ "period:[大天興=zh:%%<大天興>]",
134
+ ["[尊聖]1", "@F", "name=[趙善政=zh:%%<趙善政>];928^Chinese0523", "930"]
135
+ ],
136
+ [self,
137
+ "period:[大義寧=zh:%%<大義寧>]",
138
+ ["[興聖=ja:%%<興聖_(南詔)>]1", "@F", "name=[楊干貞=zh:%%<楊干貞>];930^Chinese0523"],
139
+ ["[大明=zh:%%<大明_(大义宁)>]1", "", "931", "938"]
140
+ ],
141
+ [self,
142
+ "period:[大理,Dali]",
143
+ ["[文徳=ja:%%<文徳_(大理)>]1", "@F", "name=[段思平];0938^Chinese0523"],
144
+ ["[文徳?=ja:%%<文徳_(大理)>]2","", "0939"], # 神武?
145
+ ["[文経]1", "@A", "name=[段思英];0945"],
146
+ ["[至治=ja:%%<至治_(大理)>]1", "@A", "name=[段思良];0946", "0947^Chinese0956", ""],
147
+ ["[明徳=ja:%%<明徳_(大理)>]1", "@A", "name=[段思聡];0952"],
148
+ ["[明徳?=ja:%%<明徳_(大理)>]2","", "0953"], # 広徳?
149
+ ["[順徳=ja:%%<順徳_(大理)>]1", "", "0968"],
150
+ ["[明政=ja:%%<明政_(大理)>]1", "@A", "name=[段素順];0969"],
151
+ ["[広明=ja:%%<広明_(大理)>]1", "@A", "name=[段素英];0986"],
152
+ ["[明応=ja:%%<明応_(大理)>]1", "", "1005"],
153
+ ["[明応?=ja:%%<明応_(大理)>]2","", "1006"], # 明聖, 明徳, 明治?
154
+ ["[明啓]1", "@A", "name=[段素廉];1010"],
155
+ ["[乾興=ja:%%<乾興_(大理)>]1", "", "1022"], # 李家瑞「用文物補正南詔及大理国的紀年」(『歴史研究』1958年第7期)from Wikipedia
156
+ ["[明通]1", "@A", "name=[段素隆];1023"],
157
+ ["[正治=ja:%%<正治_(大理)>]1", "@A", "name=[段素真];1027"],
158
+ ["[聖明=ja:%%<聖明_(大理)>]1", "@A", "name=[段素興];1042"],
159
+ ["[聖明?=ja:%%<聖明_(大理)>]2","", "1043"], # 天明?
160
+ ["[保安=ja:%%<保安_(大理)>]1", "@A", "name=[段思廉];1045"],
161
+ ["[正安=ja:%%<正安_(大理)>]1", "", "1053"],
162
+ ["[正安?=ja:%%<正安_(大理)>]4","", "1056"], # 正徳(政徳), 保徳, 太安, 明侯?
163
+ ["[上徳]1","@A","name=[段連義, alias:段連義=ja:%%<段廉義>];1076"],
164
+ ["[広安=ja:%%<広安_(大理)>]1", "", "1077"],
165
+ ["[上明]1", "@A", "name=[段寿輝];1081"],
166
+ ["[保立]1", "@A", "name=[段正明];1082"],
167
+ ["[保立?=ja:%%<保立>]2", "", "1083"], # 建安, 天祐?
168
+ ["[上治]1", "@A", "name=[高昇泰];1095"],
169
+ ["[天授=ja:%%<天授_(大理)>]1", "@A", "name=[段正淳];1096"],
170
+ ["[開明=ja:%%<開明_(大理)>]1", "", "1097"],
171
+ ["[天政, alias:天正=ja:%%<天政>]1", "", "1103"],
172
+ ["[文安=ja:%%<文安_(大理)>]1", "", "1105"],
173
+ ["[日新=ja:%%<日新_(大理)>]1", "@A", "name=[段正厳];1109"],
174
+ ["[文治=ja:%%<文治_(大理)>]1", "", "1110"],
175
+ ["[文治?=ja:%%<文治_(大理)>]10", "", "1119"], # 永嘉?
176
+ ["[保天]1", "", "1129"],
177
+ ["[保天?=ja:%%<保天>]9", "", "1137"], # 広運?
178
+ ["[永貞=ja:%%<永貞_(大理)>]1", "@A", "name=[段正興];1148"],
179
+ ["[大宝=ja:%%<大宝_(大理)>]1", "", "1149"],
180
+ ["[大宝?=ja:%%<大宝_(大理)>]8","", "1156"], # 龍興, 盛明, 建徳?
181
+ ["[利貞]1", "@A", "name=[段智興];1172"],
182
+ ["[盛徳=ja:%%<盛徳_(大理)>]1", "", "1176"],
183
+ ["[嘉会]1", "", "1181"],
184
+ ["[元亨=ja:%%<元亨_(大理)>]1", "", "1185"],
185
+ ["[元亨?=ja:%%<元亨_(大理)>]12", "", "1196"], # 安定?
186
+ ["[鳳暦=ja:%%<鳳歴_(大理)>]1", "@A", "name=[段智廉];1201"],
187
+ ["[鳳暦?=ja:%%<鳳歴_(大理)>]2", "", "1202"], # 元寿?
188
+ ["[天開=ja:%%<天開_(大理)>]1", "@A", "name=[段智祥];1205"],
189
+ ["[天輔=ja:%%<天輔_(大理)>]1", "", "1226"],
190
+ ["[天輔?=ja:%%<天輔_(大理)>]2","", "1227"], # 仁寿?
191
+ ["[道隆]1", "@A", "name=[段祥興];1239"],
192
+ ["[天定=ja:%%<天定_(大理)>]1", "@A", "name=[段興智];1252", "1254="]
193
+ ]
194
+ ]]
195
+
196
+ #
197
+ # 西夏
198
+ #
199
+ WesternXia = [{
200
+ 'V'=>{'103407'=> {'E'=>'1034-07', 'F'=>'1034-08', 'G'=>'1067','H'=>'1069',
201
+ 'I'=>'1090', 'J'=>'1098', 'K'=>'1101', 'L'=>'1114', 'M'=>'1119', 'N'=>'1170'}}
202
+ }, self, [
203
+ "locale:[=ja:, en=en:, alias]",
204
+ 'area:[西夏#{?V=V}=ja:%%<西夏>, Western_Xia#{?V=V}=en:Western_Xia]',
205
+ ["[顕道]1" , "@F" , "name=[景宗=ja:%%<李元昊>];1032-11-25^Chinese0956"], # 癸巳 886-35
206
+ ["[開運=ja:%%<開運_(西夏)>]1" , "" , ' #{E:1034-09}'], # 920-76
207
+ ["[広運=ja:%%<広運_(西夏)>]1" , "" , ' #{F:1034-10}'], # 〃
208
+ ["[大慶=ja:%%<大慶_(夏景宗)>]1" , "" , " 1036-12"], # 950-49
209
+ ["[天授礼法延祚]1", "" , " 1038-10-11"], # 甲戌 973-63
210
+ ["[延嗣寧国]1" , "@A" , "name=[毅宗=ja:%%<毅宗_(西夏)>];1049"], # 1228-84
211
+ ["[天祐垂聖]1" , "" , " 1050"], # 1246-92
212
+ ["[福聖承道]1" , "" , " 1053"], # 1307-35
213
+ ["[奲都=ja:%%<シャ都>]1" , "" , " 1057"], # 1385-28
214
+ ["[拱化]1" , "" , " 1063"], # 1504-98
215
+ ["[乾道=ja:%%<乾道_(西夏)>]1","@A",'name=[恵宗=ja:%%<恵宗_(西夏)>];#{G:1068}'], # 1632-108
216
+ ["[天賜礼盛国慶]1", "" , ' #{H:1070}'], # 1696-60
217
+ ["[大安=ja:%%<大安_(西夏)>]1" , "" , " 1075"], # 1787-98
218
+ ["[天安礼定]1" , "" , " 1086"], # 2008-6
219
+ ["[天儀治平]1" , "@A" , "name=[崇宗=ja:%%<崇宗_(西夏)>];1087"], # 2031-112
220
+ ["[天祐民安]1" , "" , ' #{I:1091}'], # 2084-73
221
+ ["[永安=ja:%%<永安_(西夏)>]1" , "" , ' #{J:1099}'], # 2192-91
222
+ ["[貞観=ja:%%<貞観_(西夏)>]1" , "" , ' #{K:1102}'], # 2248-52
223
+ ["[雍寧]1" , "" , ' #{L:1115}'], # 2375-64
224
+ ["[元徳=ja:%%<元徳_(西夏)>,alias:天徳=ja:%%<元徳_(西夏)>]1","",' #{M:1120}'], # 2426-57
225
+ ["[正徳=ja:%%<正徳_(西夏)>]1" , "" , " 1127-04"], # 2646-103
226
+ ["[大徳=ja:%%<大徳_(西夏)>]1" , "" , " 1135"], # 3084-66
227
+ ["[大慶=ja:%%<大慶_(夏仁宗)>]0","@A", "name=[仁宗=ja:%%<仁宗_(西夏)>];1139-06"], # 3219-15
228
+ ["[人慶]1" , "" , " 1144"],
229
+ ["[天盛]1" , "" , " 1149"],
230
+ ["[乾祐=ja:%%<乾祐_(西夏)>]1" , "" , ' #{N:1171}'],
231
+ ["[天慶=ja:%%<天慶_(西夏)>]1","@A", "name=[桓宗=ja:%%<桓宗_(西夏)>];1194"],
232
+ ["[応天=ja:%%<応天_(西夏)>]1","@A", "name=[襄宗=ja:%%<襄宗_(西夏)>];1206-01"], # 4235-12
233
+ ["[皇建=ja:%%<皇建_(西夏)>]1" , "" , " 1210"],
234
+ ["[光定=ja:%%<光定_(西夏)>]1","@A", "name=[神宗=ja:%%<神宗_(西夏)>];1211-08"], # 4302-26
235
+ ["[乾定]1" , "@A" , "name=[献宗=ja:%%<献宗_(西夏)>];1223-12", "1226-7="] # 4450-35(1226-07)
236
+ ]]
237
+
238
+ #
239
+ # 西遼
240
+ #
241
+ KaraKhitan = [{
242
+ 'V'=>{'1124' => {'P'=>'1124-02-05'},
243
+ '1131' => {'P'=>'1131', 'Q'=>'1134', 'R'=>'1144', 'S'=>'1151', 'T'=>'1164', 'U'=>'1178'},
244
+ '1132' => {'P'=>'1132', 'Q'=>'1134', 'R'=>'1144', 'S'=>'1151', 'T'=>'1164', 'U'=>'1178'}}
245
+ }, self, [
246
+ "locale:[=ja:, en=en:, alias]",
247
+ 'area:[西遼#{?V=V}=ja:%%<西遼>, Kara-Khitan_Khanate#{?V=V}=en:Kara-Khitan_Khanate]',
248
+ ["[延慶=ja:%%<延慶_(西遼)>]1","@A", 'name=[徳宗=ja:%%<耶律大石>];#{P:1125-02-05}^Chinese0939'], # 1125-02-05^Chinese0939"], # 2483-12 Wikipeda
249
+ ["[康国]1" , "", '#{Q:1127}'], # 1127 -> 1134 Wikipedia
250
+ ["[咸清]1" , "@A", 'name=[感天后=zh:%%<蕭塔不煙>];#{R:1136-11}'], # 1136 -> 1144 Wikipedia
251
+ ["[紹興=ja:%%<紹興_(西遼)>]1","@A", 'name=[仁宗=ja:%%<耶律夷列>];#{S:1142-11}'], # 1142 -> 1151 Wikipedia
252
+ ["[崇福]1" , "@A", 'name=[承天后=ja:%%<プスワン>];#{T:1154-12}'], # 1154 -> 1164 Wikipedia
253
+ ["[天禧=ja:%%<天禧_(西遼)>]1","@A",'name=[末主=ja:%%<耶律直魯古>];#{U:1168}', "1211="] # 1168 -> 1178 Wikipedia
254
+ ]]
255
+ end
256
+ end
@@ -37,7 +37,7 @@ module When
37
37
  #
38
38
  # French Calendar
39
39
  #
40
- FrenchRepublican = [YearLengthTableBased, {
40
+ FrenchRepublican = [SolarYearTableBased, {
41
41
  'label' => 'French::FrenchRepublican',
42
42
  'indices' => [
43
43
  When.Index('French::Month', {:unit =>13}),
@@ -105,8 +105,8 @@ module When
105
105
  Indian = [When::BasicTypes::M17n, [
106
106
  "locale:[=en:, ja=ja:, alias]",
107
107
  "names:[Indian]",
108
- [Spatial, "long:+82.5", "lat:N23.11", "label:[CentralIndia, インド中部]" ],
109
- [Spatial, "long:+82.5", "lat:+29.0", "label:[NorthIndia, インド北部]" ],
108
+ [Spatial, "long:+82.5", "lat:N23.11", "label:[CentralIndia=, インド中部=]" ],
109
+ [Spatial, "long:+82.5", "lat:+29.0", "label:[NorthIndia=, インド北部]" ],
110
110
  [Spatial, "long:+78.0", "lat:+27.2", "label:[Agra, アーグラ]" ],
111
111
  [Spatial, "long:+72.6", "lat:+23.0", "label:[Ahmedabad, アフマダーバード]" ],
112
112
  [Spatial, "long:+74.6", "lat:+26.5", "label:[Ajmer, アジメール]" ],
@@ -132,7 +132,7 @@ module When
132
132
  [Spatial, "long:+74.8", "lat:+34.1", "label:[Srinagar, シュリーナガル]" ],
133
133
  [Spatial, "long:+77.0", "lat: +8.5", "label:[Thiruvananthapuram, ティルヴァナンタプラム, Trivandrum]"],
134
134
  [Spatial, "long:+83.0", "lat:+25.3", "label:[Varanasi, ワーラーナシー]" ],
135
- [Spatial, "long:+75.8", "lat:+23.2", "label:[Ujjain, ウッジャイン]" ]
135
+ [Spatial, "long:+75.8", "lat:+23.2", "label:[Ujjain, ウッジャイン=]" ]
136
136
  ]]
137
137
  end
138
138
 
@@ -562,7 +562,7 @@ module When
562
562
  #
563
563
  # Indian national solar calendar
564
564
  #
565
- IndianNationalSolar = [TableBasedWithSunrise, {
565
+ IndianNationalSolar = [SolarYearTableBasedWithSunrise, {
566
566
  'label' => 'Indian::IndianNationalSolar',
567
567
  'origin_of_MSC' => -78,
568
568
  'diff_to_CE' => 0,
@@ -581,7 +581,7 @@ module When
581
581
  #
582
582
  # Nanakshahi Calendar
583
583
  #
584
- Nanakshahi = [YearLengthTableBased, {
584
+ Nanakshahi = [SolarYearTableBased, {
585
585
  'label' => 'Indian::Nanakshahi',
586
586
  'origin_of_MSC' => -1468,
587
587
  'diff_to_CE' => 0,
@@ -600,7 +600,7 @@ module When
600
600
  #
601
601
  # Revised Bengali Calendar
602
602
  #
603
- RevisedBengali = [YearLengthTableBased, {
603
+ RevisedBengali = [SolarYearTableBased, {
604
604
  'label' => 'Indian::RevisedBengali',
605
605
  'origin_of_MSC' => -593,
606
606
  'diff_to_CE' => 0,
@@ -989,7 +989,7 @@ module When
989
989
  "[Śobhana=, ショーバナ=, _IAST_=]", # 5
990
990
  "[Atigaṇḍa=, アティガンダ=, _IAST_=]", # 6
991
991
  "[Sukarma=, スカルマ=, _IAST_=]", # 7
992
- "[Dhṛti, ドゥリティ=, _IAST_=]", # 8
992
+ "[Dhṛti=, ドゥリティ=, _IAST_=]", # 8
993
993
  "[Śūla=, シューラ=, _IAST_=]", # 9
994
994
  "[Gaṇḍa=, ガンダ=, _IAST_=]", # 10
995
995
  "[Vṛddhi=, ヴリッディ=, _IAST_=]", # 11
@@ -69,7 +69,7 @@ module When
69
69
  [DayOfWeek, "label:[OutOfWeek=, 週外日=]", {'delta'=>366}]
70
70
  ],
71
71
 
72
- "[Common_Week]"
72
+ "[Common_Week=]"
73
73
  ]
74
74
  ]]
75
75
 
@@ -81,7 +81,7 @@ module When
81
81
  #
82
82
  # InternationalFixed calendar based on Gregorian calendar
83
83
  #
84
- InternationalFixed = [YearLengthTableBased, {
84
+ InternationalFixed = [SolarYearTableBased, {
85
85
  'label' => 'InternationalFixed::InternationalFixed',
86
86
  'indices' => [
87
87
  When.Index('InternationalFixedWeekNotes::month::Month', {:unit =>13}),
@@ -95,7 +95,7 @@ module When
95
95
  #
96
96
  # Solar Hijri Calendar
97
97
  #
98
- SolarHijri = [YearLengthTableBased, {
98
+ SolarHijri = [SolarYearTableBased, {
99
99
  'label' => 'Iranian::SolarHijri',
100
100
  'indices' => _indicesM,
101
101
  'origin_of_MSC' => -621,
@@ -1,103 +1,102 @@
1
- # -*- coding: utf-8 -*-
2
- =begin
3
- Copyright (C) 2011-2014 Takashi SUGA
4
-
5
- You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
- =end
7
-
8
- module When
9
- class BasicTypes::M17n
10
-
11
- Islamic = [self, [
12
- "locale:[=en:, ja=ja:, ar=ar:, alias]",
13
- "names:[Islamic=]",
14
- "[TabularIslamic=en:Islamic_calendar, イスラーム暦=ja:%%<ヒジュラ暦>]",
15
- "[EphemerisBasedIslamic=en:Islamic_calendar, イスラーム暦=ja:%%<ヒジュラ暦>]",
16
-
17
- [self,
18
- "names:[Month, 月=ja:%%<月_(暦)>]",
19
- "[Muharram, ムハッラム=, محرم]",
20
- "[Safar, サファル=, صفر]",
21
- "[Rabi'_al-awwal, ラビーウ・アル=アウワル=, ربيع الأول]",
22
- "[Rabi'_al-thani, ラビーウ・アル=サーニー=, ربيع الآخر]",
23
- "[Jumada_al-awwal, ジュマーダー・アル=アウワル=, جمادى الأولى]",
24
- "[Jumada_al-Thani, ジュマーダー・アル=サーニー=, جمادى الآخرة]",
25
- "[Rajab, ラジャブ=, رجب]",
26
- "[Sha'aban, シャアバーン=, شعبان]",
27
- "[Ramadan=en:Ramadan_(calendar_month), ラマダーン, رمضان]",
28
- "[Shawwal, シャウワール=, شوال]",
29
- "[Dhu_al-Qi'dah, ズー・アル=カーイダ=, ذو القعدة]",
30
- "[Dhu_al-Hijjah, ズー・アル=ヒッジャ=, ذو الحجة]"
31
- ]
32
- ]]
33
- end
34
-
35
- class TM::CalendarEra
36
-
37
- # ヒジュラ紀元
38
- Hijra = [self, [
39
- "area:[Islamic=]",
40
- ["[AfterHijra=en:Islamic_calendar,*alias:AH]1.1.1", '@CE', "01-01-01^TabularIslamic"],
41
- ]]
42
- end
43
-
44
- module CalendarTypes
45
-
46
- #
47
- # Tabular Islamic Calendar
48
- #
49
- TabularIslamic = [CyclicTableBased, {
50
- 'label' => 'Islamic::TabularIslamic',
51
- 'origin_of_LSC' => 1948440-354,
52
- 'indices' => [
53
- When.Index('Islamic::Month', {:unit =>12}),
54
- When::Coordinates::DefaultDayIndex
55
- ],
56
- 'rule_table' => {
57
- 'T' => {'Rule' =>[['L',2], 'S', ['L',3], 'S', ['L',2], 'S', 'L']},
58
- 'L' => {'Rule' =>[354, 354, 355]},
59
- 'S' => {'Rule' =>[354, 355]},
60
- 354 => {'Length'=>[30,29] * 6 },
61
- 355 => {'Length'=>[30,29] * 5 + [30] * 2}
62
- }
63
- }]
64
-
65
- # 月日の配当が新月の初見によって決定される純太陰暦
66
- #
67
- # Calendar based on the first visibilty of new moon
68
- #
69
- class EphemerisBasedIslamic < EphemerisBased
70
-
71
- #protected
72
-
73
- # 月初の通日
74
- #
75
- # @param [Integer] m 通月
76
- #
77
- # @return [Integer] 月初の通日
78
- #
79
- def _new_month_(m)
80
- jdn = (@formula[-1].cn_to_time(m + @cycle_offset) + 0.5 +
81
- @location.long / (When::Coordinates::Spatial::DEGREE * 360)).floor - 1
82
- jdn += 1 while @formula[-1].moon_visibility(jdn) < 0
83
- return jdn
84
- end
85
-
86
- private
87
-
88
- # オブジェクトの正規化
89
- # @label = 暦法名
90
- # @cycle_offset = Goldstein Number に対する暦元の補正
91
- #
92
- def _normalize(args=[], options={})
93
- @label ||= 'Islamic::EphemerisBasedIslamic'
94
- @cycle_offset ||= 1671 * 12 + 4
95
- @indices ||= [
96
- When.Index('Islamic::Month', {:unit =>12}),
97
- When::Coordinates::DefaultDayIndex
98
- ]
99
- super
100
- end
101
- end
102
- end
103
- end
1
+ # -*- coding: utf-8 -*-
2
+ =begin
3
+ Copyright (C) 2011-2014 Takashi SUGA
4
+
5
+ You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
+ =end
7
+
8
+ module When
9
+ class BasicTypes::M17n
10
+
11
+ Islamic = [self, [
12
+ "locale:[=en:, ja=ja:, ar=ar:, alias]",
13
+ "names:[Islamic=]",
14
+ "[TabularIslamic=en:Islamic_calendar, イスラーム暦=ja:%%<ヒジュラ暦>]",
15
+ "[EphemerisBasedIslamic=en:Islamic_calendar, イスラーム暦=ja:%%<ヒジュラ暦>]",
16
+
17
+ [self,
18
+ "names:[Month, 月=ja:%%<月_(暦)>]",
19
+ "[Muharram, ムハッラム=, محرم]",
20
+ "[Safar, サファル=, صفر]",
21
+ "[Rabi'_al-awwal, ラビーウ・アル=アウワル=, ربيع الأول]",
22
+ "[Rabi'_al-thani, ラビーウ・アル=サーニー=, ربيع الآخر]",
23
+ "[Jumada_al-awwal, ジュマーダー・アル=アウワル=, جمادى الأولى]",
24
+ "[Jumada_al-Thani, ジュマーダー・アル=サーニー=, جمادى الآخرة]",
25
+ "[Rajab, ラジャブ=, رجب]",
26
+ "[Sha'aban, シャアバーン=, شعبان]",
27
+ "[Ramadan=en:Ramadan_(calendar_month), ラマダーン, رمضان]",
28
+ "[Shawwal, シャウワール=, شوال]",
29
+ "[Dhu_al-Qi'dah, ズー・アル=カーイダ=, ذو القعدة]",
30
+ "[Dhu_al-Hijjah, ズー・アル=ヒッジャ=, ذو الحجة]"
31
+ ]
32
+ ]]
33
+ end
34
+
35
+ class TM::CalendarEra
36
+
37
+ # ヒジュラ紀元
38
+ Hijra = [self, [
39
+ "area:[Islamic=]",
40
+ ["[AfterHijra=en:Islamic_calendar,*alias:AH]1.1.1", '@CE', "01-01-01^TabularIslamic"],
41
+ ]]
42
+ end
43
+
44
+ module CalendarTypes
45
+
46
+ #
47
+ # Tabular Islamic Calendar
48
+ #
49
+ TabularIslamic = [CyclicTableBased, {
50
+ 'label' => 'Islamic::TabularIslamic',
51
+ 'origin_of_LSC' => 1948440-354,
52
+ 'indices' => [
53
+ When.Index('Islamic::Month', {:unit =>12}),
54
+ When::Coordinates::DefaultDayIndex
55
+ ],
56
+ 'rule_table' => {
57
+ 'T' => {'Rule' =>[['L',2], 'S', ['L',3], 'S', ['L',2], 'S', 'L']},
58
+ 'L' => {'Rule' =>[354, 354, 355]},
59
+ 'S' => {'Rule' =>[354, 355]},
60
+ 354 => {'Length'=>[30,29] * 6 },
61
+ 355 => {'Length'=>[30,29] * 5 + [30] * 2}
62
+ }
63
+ }]
64
+
65
+ # 月日の配当が新月の初見によって決定される純太陰暦
66
+ #
67
+ # Calendar based on the first visibilty of new moon
68
+ #
69
+ class EphemerisBasedIslamic < EphemerisBasedLunar
70
+
71
+ #protected
72
+
73
+ # 月初の通日
74
+ #
75
+ # @param [Integer] m 通月
76
+ #
77
+ # @return [Integer] 月初の通日
78
+ #
79
+ def _new_month_(m)
80
+ jdn = (@formula[-1].cn_to_time(m + @cycle_offset) + 0.5 +
81
+ @location.long / (When::Coordinates::Spatial::DEGREE * 360)).floor - 1
82
+ jdn += 1 while @formula[-1].moon_visibility(jdn) < 0
83
+ return jdn
84
+ end
85
+
86
+ private
87
+
88
+ # オブジェクトの正規化
89
+ # @label = 暦法名
90
+ # @cycle_offset = Goldstein Number に対する暦元の補正
91
+ #
92
+ def _normalize(args=[], options={})
93
+ @label ||= 'Islamic::EphemerisBasedIslamic'
94
+ @indices ||= [
95
+ When.Index('Islamic::Month', {:unit =>12}),
96
+ When::Coordinates::DefaultDayIndex
97
+ ]
98
+ super
99
+ end
100
+ end
101
+ end
102
+ end