when_exe 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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