when_exe 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/irb.rc +1 -0
- data/bin/locales.rb +8 -6
- data/bin/when.rb +1 -1
- data/lib/when_exe.rb +231 -146
- data/lib/when_exe/basictypes.rb +108 -18
- data/lib/when_exe/calendarnote.rb +263 -116
- data/lib/when_exe/calendartypes.rb +413 -22
- data/lib/when_exe/coordinates.rb +58 -36
- data/lib/when_exe/core/compatibility.rb +8 -6
- data/lib/when_exe/core/extension.rb +40 -15
- data/lib/when_exe/ephemeris.rb +20 -19
- data/lib/when_exe/{region → ephemeris}/moon.rb +4 -4
- data/lib/when_exe/{region/ephemeric_notes.rb → ephemeris/notes.rb} +25 -6
- data/lib/when_exe/{region → ephemeris}/planets.rb +0 -0
- data/lib/when_exe/{region → ephemeris}/sun.rb +7 -3
- data/lib/when_exe/{region → ephemeris}/v50.rb +0 -0
- data/lib/when_exe/googlecalendar.rb +2 -2
- data/lib/when_exe/icalendar.rb +3 -3
- data/lib/when_exe/inspect.rb +130 -70
- data/lib/when_exe/locales/af.rb +2 -2
- data/lib/when_exe/locales/akt.rb +176 -0
- data/lib/when_exe/locales/ar.rb +2 -2
- data/lib/when_exe/locales/{locales.rb → autoload.rb} +6 -2
- data/lib/when_exe/locales/az.rb +2 -2
- data/lib/when_exe/locales/bg.rb +2 -2
- data/lib/when_exe/locales/bn.rb +2 -2
- data/lib/when_exe/locales/bs.rb +2 -2
- data/lib/when_exe/locales/ca.rb +2 -2
- data/lib/when_exe/locales/cs.rb +2 -2
- data/lib/when_exe/locales/cy.rb +2 -2
- data/lib/when_exe/locales/da.rb +2 -2
- data/lib/when_exe/locales/de.rb +2 -2
- data/lib/when_exe/locales/de_AT.rb +2 -2
- data/lib/when_exe/locales/de_CH.rb +2 -2
- data/lib/when_exe/locales/el.rb +2 -2
- data/lib/when_exe/locales/en.rb +2 -2
- data/lib/when_exe/locales/en_AU.rb +2 -2
- data/lib/when_exe/locales/en_CA.rb +2 -2
- data/lib/when_exe/locales/en_GB.rb +2 -2
- data/lib/when_exe/locales/en_IE.rb +2 -2
- data/lib/when_exe/locales/en_IN.rb +3 -3
- data/lib/when_exe/locales/en_NZ.rb +2 -2
- data/lib/when_exe/locales/en_US.rb +2 -2
- data/lib/when_exe/locales/en_ZA.rb +88 -0
- data/lib/when_exe/locales/encoding_conversion.rb +126 -0
- data/lib/when_exe/locales/eo.rb +2 -2
- data/lib/when_exe/locales/es.rb +2 -2
- data/lib/when_exe/locales/es_419.rb +2 -2
- data/lib/when_exe/locales/es_AR.rb +2 -2
- data/lib/when_exe/locales/es_CL.rb +2 -2
- data/lib/when_exe/locales/es_CO.rb +2 -2
- data/lib/when_exe/locales/es_CR.rb +2 -2
- data/lib/when_exe/locales/es_EC.rb +2 -2
- data/lib/when_exe/locales/es_MX.rb +2 -2
- data/lib/when_exe/locales/es_PA.rb +2 -2
- data/lib/when_exe/locales/es_PE.rb +2 -2
- data/lib/when_exe/locales/es_US.rb +84 -0
- data/lib/when_exe/locales/es_VE.rb +2 -2
- data/lib/when_exe/locales/et.rb +2 -2
- data/lib/when_exe/locales/eu.rb +2 -2
- data/lib/when_exe/locales/fa.rb +2 -2
- data/lib/when_exe/locales/fi.rb +3 -3
- data/lib/when_exe/locales/fr.rb +2 -2
- data/lib/when_exe/locales/fr_CA.rb +2 -2
- data/lib/when_exe/locales/fr_CH.rb +2 -2
- data/lib/when_exe/locales/gl.rb +2 -2
- data/lib/when_exe/locales/he.rb +3 -3
- data/lib/when_exe/locales/hi.rb +2 -2
- data/lib/when_exe/locales/hi_IN.rb +2 -2
- data/lib/when_exe/locales/hr.rb +2 -2
- data/lib/when_exe/locales/hu.rb +6 -5
- data/lib/when_exe/locales/iast.rb +90 -0
- data/lib/when_exe/locales/id.rb +2 -2
- data/lib/when_exe/locales/is.rb +2 -2
- data/lib/when_exe/locales/it.rb +2 -2
- data/lib/when_exe/locales/it_CH.rb +2 -2
- data/lib/when_exe/locales/ja.rb +2 -2
- data/lib/when_exe/locales/kn.rb +2 -2
- data/lib/when_exe/locales/ko.rb +2 -2
- data/lib/when_exe/locales/links.rb +3 -3
- data/lib/when_exe/locales/lo.rb +2 -2
- data/lib/when_exe/{parts → locales}/locale.rb +77 -49
- data/lib/when_exe/locales/lt.rb +6 -2
- data/lib/when_exe/locales/lv.rb +2 -2
- data/lib/when_exe/locales/mk.rb +2 -2
- data/lib/when_exe/locales/mn.rb +2 -2
- data/lib/when_exe/locales/ms.rb +2 -2
- data/lib/when_exe/locales/nb.rb +2 -2
- data/lib/when_exe/locales/ne.rb +2 -2
- data/lib/when_exe/locales/nl.rb +2 -2
- data/lib/when_exe/locales/nn.rb +2 -2
- data/lib/when_exe/locales/or.rb +2 -2
- data/lib/when_exe/locales/pl.rb +2 -2
- data/lib/when_exe/locales/pt.rb +2 -2
- data/lib/when_exe/locales/pt_BR.rb +2 -2
- data/lib/when_exe/locales/rm.rb +2 -2
- data/lib/when_exe/locales/ro.rb +2 -2
- data/lib/when_exe/locales/ru.rb +2 -2
- data/lib/when_exe/locales/sk.rb +2 -2
- data/lib/when_exe/locales/sl.rb +2 -2
- data/lib/when_exe/locales/sr.rb +2 -2
- data/lib/when_exe/locales/sv.rb +2 -2
- data/lib/when_exe/locales/sw.rb +2 -2
- data/lib/when_exe/locales/ta.rb +95 -0
- data/lib/when_exe/locales/th.rb +2 -2
- data/lib/when_exe/locales/tl.rb +3 -3
- data/lib/when_exe/locales/tr.rb +2 -2
- data/lib/when_exe/locales/transliteration_table.rb +62 -0
- data/lib/when_exe/locales/uk.rb +15 -15
- data/lib/when_exe/locales/ur.rb +2 -2
- data/lib/when_exe/locales/uz.rb +2 -2
- data/lib/when_exe/locales/vi.rb +2 -2
- data/lib/when_exe/locales/wo.rb +2 -2
- data/lib/when_exe/locales/zh_CN.rb +2 -2
- data/lib/when_exe/locales/zh_HK.rb +15 -15
- data/lib/when_exe/locales/zh_TW.rb +2 -2
- data/lib/when_exe/locales/zh_YUE.rb +77 -0
- data/lib/when_exe/mini_application.rb +22 -12
- data/lib/when_exe/parts/geometric_complex.rb +16 -1
- data/lib/when_exe/parts/method_cash.rb +184 -238
- data/lib/when_exe/parts/resource.rb +65 -16
- data/lib/when_exe/region/armenian.rb +56 -0
- data/lib/when_exe/region/bahai.rb +13 -13
- data/lib/when_exe/region/balinese.rb +33 -35
- data/lib/when_exe/region/chinese.rb +82 -78
- data/lib/when_exe/region/{chinese_calendar.rb → chinese/calendars.rb} +59 -40
- data/lib/when_exe/region/{chinese_epoch.rb → chinese/epochs.rb} +3 -4
- data/lib/when_exe/region/{chinese_twin.rb → chinese/twins.rb} +48 -51
- data/lib/when_exe/region/christian.rb +236 -127
- data/lib/when_exe/region/coptic.rb +9 -10
- data/lib/when_exe/region/dee.rb +48 -0
- data/lib/when_exe/region/discordian.rb +225 -0
- data/lib/when_exe/region/far_east.rb +2 -6
- data/lib/when_exe/region/french.rb +7 -17
- data/lib/when_exe/region/geologicalage.rb +0 -1
- data/lib/when_exe/region/goddess.rb +58 -0
- data/lib/when_exe/region/indian.rb +323 -231
- data/lib/when_exe/region/iranian.rb +159 -22
- data/lib/when_exe/region/islamic.rb +7 -9
- data/lib/when_exe/region/japanese.rb +14 -803
- data/lib/when_exe/region/japanese/calendars.rb +397 -0
- data/lib/when_exe/region/japanese/epochs.rb +426 -0
- data/lib/when_exe/region/{nihon_shoki.rb → japanese/nihon_shoki.rb} +0 -2
- data/lib/when_exe/region/{japanese_notes.rb → japanese/notes.rb} +179 -150
- data/lib/when_exe/region/japanese/residues.rb +1306 -0
- data/lib/when_exe/region/{japanese_twin.rb → japanese/twins.rb} +12 -15
- data/lib/when_exe/region/javanese.rb +16 -14
- data/lib/when_exe/region/jewish.rb +8 -9
- data/lib/when_exe/region/korean.rb +146 -35
- data/lib/when_exe/region/m17n.rb +8 -10
- data/lib/when_exe/region/martian.rb +44 -16
- data/lib/when_exe/region/mayan.rb +12 -10
- data/lib/when_exe/region/pope.rb +0 -1
- data/lib/when_exe/region/residue.rb +4 -5
- data/lib/when_exe/region/roman.rb +20 -24
- data/lib/when_exe/region/ryukyu.rb +3 -4
- data/lib/when_exe/region/shire.rb +97 -94
- data/lib/when_exe/region/symmetry.rb +50 -0
- data/lib/when_exe/region/thai.rb +164 -56
- data/lib/when_exe/region/tibetan.rb +86 -86
- data/lib/when_exe/region/vietnamese.rb +9 -12
- data/lib/when_exe/region/weekdate.rb +80 -0
- data/lib/when_exe/region/world.rb +65 -70
- data/lib/when_exe/region/yerm.rb +98 -0
- data/lib/when_exe/region/zoroastrian.rb +203 -0
- data/lib/when_exe/timestandard.rb +4 -4
- data/lib/when_exe/tmobjects.rb +1 -3
- data/lib/when_exe/tmposition.rb +13 -12
- data/lib/when_exe/tmreference.rb +11 -10
- data/lib/when_exe/version.rb +1 -1
- data/link_to_online_documents +3 -3
- data/test/examples/Residue.m17n +1 -1
- data/test/examples/Terms.m17n +1 -1
- data/test/test.rb +2 -1
- data/test/test/basictypes.rb +18 -2
- data/test/test/calendarnote.rb +1 -1
- data/test/test/calendartypes.rb +1 -1
- data/test/test/coordinates.rb +7 -7
- data/test/test/{region → ephemeris}/moon.rb +0 -0
- data/test/test/{region → ephemeris}/planets.rb +0 -0
- data/test/test/{region → ephemeris}/sun.rb +0 -0
- data/test/test/parts.rb +8 -13
- data/test/test/region/christian.rb +245 -0
- data/test/test/region/french.rb +16 -16
- data/test/test/region/iran.rb +34 -34
- data/test/test/region/japanese.rb +6 -4
- data/test/test/region/m17n.rb +8 -7
- data/test/test/region/mayan.rb +12 -12
- data/test/test/region/residue.rb +20 -4
- data/test/test/region/thai.rb +25 -3
- data/test/test/region/yerm.rb +146 -0
- metadata +39 -20
- data/lib/when_exe/region/japanese_residues.rb +0 -1212
- data/test/test/region/civil.rb +0 -124
data/lib/when_exe/region/m17n.rb
CHANGED
@@ -21,10 +21,11 @@ module When
|
|
21
21
|
def self.month_name(name)
|
22
22
|
return name if name.kind_of?(self)
|
23
23
|
|
24
|
-
months = When.Resource('_m:
|
25
|
-
abbrs = When.Resource('_m:
|
24
|
+
months = When.Resource('_m:Calendar::Month').child
|
25
|
+
abbrs = When.Resource('_m:Calendar::Abbr_Month').child
|
26
26
|
return name > 0 ? months[name-1] : abbrs[-name-1] if name.kind_of?(Numeric)
|
27
27
|
|
28
|
+
name = When::EncodingConversion.to_internal_encoding(name)
|
28
29
|
match = name[/^...|^..$/]
|
29
30
|
if match
|
30
31
|
(months+abbrs).each do |month|
|
@@ -39,14 +40,12 @@ module When
|
|
39
40
|
return nil
|
40
41
|
end
|
41
42
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
CalendarTerms = [M17n, [
|
47
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
43
|
+
#
|
44
|
+
# 共通的な暦用語
|
45
|
+
#
|
46
|
+
Calendar = [M17n, [
|
48
47
|
"locale:[=en:, ja=ja:, alias]",
|
49
|
-
"names:[
|
48
|
+
"names:[Calendar=]",
|
50
49
|
|
51
50
|
"[Intercalary %s=, *閏]",
|
52
51
|
|
@@ -85,7 +84,6 @@ module When
|
|
85
84
|
|
86
85
|
# Events
|
87
86
|
EpochEvents = [M17n, [
|
88
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
89
87
|
"locale:[=en:, ja=ja:, alias]",
|
90
88
|
"names:[EpochEvents=]",
|
91
89
|
"[Accession=, 代始]",
|
@@ -9,10 +9,9 @@ module When
|
|
9
9
|
|
10
10
|
class BasicTypes::M17n
|
11
11
|
|
12
|
-
|
13
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
12
|
+
Martian = [self, [
|
14
13
|
"locale:[=en:, ja=ja:, alias]",
|
15
|
-
"names:[
|
14
|
+
"names:[Martian=]",
|
16
15
|
"[Darian=en:Darian_calendar, ダリアン暦]",
|
17
16
|
|
18
17
|
[self,
|
@@ -118,8 +117,7 @@ module When
|
|
118
117
|
#
|
119
118
|
class DarianWeek < WorldWeek
|
120
119
|
|
121
|
-
|
122
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
120
|
+
Notes = [When::BasicTypes::M17n, [
|
123
121
|
"locale:[=en:, ja=ja:, alias]",
|
124
122
|
"names:[Darian]",
|
125
123
|
|
@@ -141,13 +139,13 @@ module When
|
|
141
139
|
"names:[day]",
|
142
140
|
[When::BasicTypes::M17n,
|
143
141
|
"names:[Week]",
|
144
|
-
"[Solis
|
145
|
-
"[Lunae
|
146
|
-
"[Martis
|
147
|
-
"[Mercurii
|
148
|
-
"[Jovis
|
149
|
-
"[Veneris
|
150
|
-
"[Saturni
|
142
|
+
[DayOfWeek, "label:[Solis=, 日曜日]", {'delta'=>7}],
|
143
|
+
[DayOfWeek, "label:[Lunae=, 月曜日]", {'delta'=>7}],
|
144
|
+
[DayOfWeek, "label:[Martis=, 火曜日]", {'delta'=>7}],
|
145
|
+
[DayOfWeek, "label:[Mercurii=, 水曜日]", {'delta'=>7}],
|
146
|
+
[DayOfWeek, "label:[Jovis=, 木曜日]", {'delta'=>7}],
|
147
|
+
[DayOfWeek, "label:[Veneris=, 金曜日]", {'delta'=>7}],
|
148
|
+
[DayOfWeek, "label:[Saturni=, 土曜日]", {'delta'=>7}]
|
151
149
|
]
|
152
150
|
]
|
153
151
|
]]
|
@@ -169,10 +167,40 @@ module When
|
|
169
167
|
date.events = ['from_solis']
|
170
168
|
date
|
171
169
|
end
|
172
|
-
alias :week :solis
|
173
170
|
|
171
|
+
#
|
172
|
+
# この日は何曜?
|
173
|
+
#
|
174
|
+
# @param [When::TM::TemporalPosition] date
|
175
|
+
# @param [When::TM::CalDate] base (not used)
|
176
|
+
#
|
177
|
+
# @return [Array<When::CalendarNote::Week::DayOfWeek, Array<Integer,Integer>>]
|
178
|
+
#
|
179
|
+
def week(date, base=nil)
|
180
|
+
date = _to_date_for_note(date)
|
181
|
+
index = (date.cal_date.last - 1) % 7
|
182
|
+
[@days_of_week[index], [index, 7]]
|
183
|
+
end
|
184
|
+
|
185
|
+
#
|
186
|
+
# 曜日の名前の一覧
|
187
|
+
#
|
188
|
+
# @param [When::TM::TemporalPosition] date (ダミー)
|
189
|
+
#
|
190
|
+
# @return [Array<When::CalendarNote::Week::DayOfWeek>]
|
191
|
+
#
|
192
|
+
def week_labels(date)
|
193
|
+
@days_of_week.child
|
194
|
+
end
|
195
|
+
|
196
|
+
#
|
197
|
+
# 暦日を当該暦注計算用クラスに変換
|
198
|
+
#
|
174
199
|
# @private
|
175
|
-
|
200
|
+
def _to_date_for_note(date)
|
201
|
+
date = When::Darian ^ date unless date.frame.label.to_s == 'Darian'
|
202
|
+
date
|
203
|
+
end
|
176
204
|
|
177
205
|
private
|
178
206
|
|
@@ -205,11 +233,11 @@ module When
|
|
205
233
|
# Darian Calendar
|
206
234
|
#
|
207
235
|
Darian = [CyclicTableBased, {
|
208
|
-
'label'
|
236
|
+
'label' => 'Martian::Darian',
|
209
237
|
'time_basis' => 'MTC',
|
210
238
|
'origin_of_LSC' => -94798,
|
211
239
|
'indices' => [
|
212
|
-
When
|
240
|
+
When.Index('Martian::DarianMonth', {:unit =>24}),
|
213
241
|
When::Coordinates::DefaultDayIndex
|
214
242
|
],
|
215
243
|
'rule_table' => {
|
@@ -19,12 +19,11 @@ module When
|
|
19
19
|
'LoN' => (( 3 + epoch) % 9).to_s
|
20
20
|
} : nil
|
21
21
|
}}, BasicTypes::M17n, [
|
22
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
23
22
|
"locale:[=en:, ja=ja:, alias]",
|
24
23
|
"names:[Mayan]",
|
25
24
|
|
26
25
|
[Residue,
|
27
|
-
"label:[Haab', ハアブ, Haab]", "divisor:365", 'day:#{Haab:300}', "format:[%2$d%1$s/365]",
|
26
|
+
"label:[Haab', ハアブ, Haab]", "divisor:365", 'day:#{Haab:300}', "format:[%2$d%1$s/365=]",
|
28
27
|
"namespace:[glyph=http://en.wikipedia.org/wiki/File:Maya-]",
|
29
28
|
[Residue, "label:[Pop =glyph:Pop.jpg, ポプ, Pop ]", "remainder: 0"],
|
30
29
|
[Residue, "label:[Wo' =glyph:Dresden-wo.jpg, ウオ, Wo ]", "remainder: 20"],
|
@@ -48,12 +47,12 @@ module When
|
|
48
47
|
],
|
49
48
|
|
50
49
|
[Residue,
|
51
|
-
"label:[Trecena, トレセナ=, Trecena]", "divisor:13", 'day:#{Trecena:8}', "format:[%1$s(%3$d/13)]"
|
50
|
+
"label:[Trecena, トレセナ=, Trecena]", "divisor:13", 'day:#{Trecena:8}', "format:[%1$s(%3$d/13)=]"
|
52
51
|
],
|
53
52
|
|
54
53
|
[Residue,
|
55
54
|
"namespace:[glyph=http://en.wikipedia.org/wiki/File:MAYA-g-log-cal-]",
|
56
|
-
"label:[Tzolk'in, ツォルキン, Tzolkin]", "divisor:20", 'day:#{Tzolkin:4}', "format:[%s(%d/20)]",
|
55
|
+
"label:[Tzolk'in, ツォルキン, Tzolkin]", "divisor:20", 'day:#{Tzolkin:4}', "format:[%s(%d/20)=]",
|
57
56
|
[Residue, "label:[Imix' =glyph:D01-Imix.png, イミシュ, Imix =glyph:D01-Imix-cdxW.png ]", "remainder: 0"],
|
58
57
|
[Residue, "label:[Ik' =glyph:D02-Ik.png, イック, Ik =glyph:D02-Ik-cdxW.png ]", "remainder: 1"],
|
59
58
|
[Residue, "label:[Ak'b'al =glyph:D03-Akbal.png, アクバル, Akbal =glyph:D03-Akbal-cdxW.png ]", "remainder: 2"],
|
@@ -78,7 +77,7 @@ module When
|
|
78
77
|
|
79
78
|
[Residue,
|
80
79
|
"namespace:[glyph=http://www.pauahtun.org/G/G]",
|
81
|
-
"label:[Lords_of_the_Night, 夜の九王]", "divisor:9", 'day:#{LoN:3}', "format:[%s(%d/9)]",
|
80
|
+
"label:[Lords_of_the_Night, 夜の九王]", "divisor:9", 'day:#{LoN:3}', "format:[%s(%d/9)=]",
|
82
81
|
[Residue, "label:[G9=glyph:9_m.png]", "remainder: 0"],
|
83
82
|
[Residue, "label:[G1=glyph:1_m.png]", "remainder: 1"],
|
84
83
|
[Residue, "label:[G2=glyph:2_m.png]", "remainder: 2"],
|
@@ -92,13 +91,17 @@ module When
|
|
92
91
|
]]
|
93
92
|
end
|
94
93
|
|
94
|
+
class CalendarNote
|
95
|
+
Mayan = [{},['Mayan#{?Epoch=Epoch}::Trecena', 'Mayan#{?Epoch=Epoch}::Tzolk\'in',
|
96
|
+
'Mayan#{?Epoch=Epoch}::Lords_of_the_Night', 'Mayan#{?Epoch=Epoch}::Haab\'']]
|
97
|
+
end
|
98
|
+
|
95
99
|
class TM::CalendarEra
|
96
100
|
|
97
101
|
#
|
98
102
|
# Mayan Long Count
|
99
103
|
#
|
100
104
|
LongCount = [{}, self, [
|
101
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
102
105
|
"locale:[=en:, ja=ja:, alias]",
|
103
106
|
'area:[LongCount#{?Epoch=Epoch}=en:Mesoamerican_Long_Count_calendar, マヤ長期暦=ja:%%<長期暦>]',
|
104
107
|
["[PHLC=, 先史時代=, PreHistoricLongCount=]0.0.0.0.0", "[Pre Historic=]", '-13.0.0.0.0^LongCount#{?Epoch=Epoch}'],
|
@@ -109,8 +112,8 @@ module When
|
|
109
112
|
|
110
113
|
module CalendarTypes
|
111
114
|
|
112
|
-
_c20 =
|
113
|
-
_c18 =
|
115
|
+
_c20 = When.Index({:base=>0, :unit=>20})
|
116
|
+
_c18 = When.Index({:base=>0, :unit=>18})
|
114
117
|
|
115
118
|
#
|
116
119
|
# Mayan Long Count
|
@@ -124,9 +127,8 @@ module When
|
|
124
127
|
'T' => {'Rule' =>[360]},
|
125
128
|
360 => {'Length'=>[20] * 18}
|
126
129
|
},
|
127
|
-
'index_of_MSC' => 2,
|
128
130
|
'indices'=> [_c20, _c20, _c18, _c20],
|
129
|
-
'note' => '
|
131
|
+
'note' => 'Mayan#{?Epoch=Epoch}'
|
130
132
|
}]
|
131
133
|
end
|
132
134
|
end
|
data/lib/when_exe/region/pope.rb
CHANGED
@@ -20,11 +20,10 @@ module When::Coordinates
|
|
20
20
|
class Kyusei < Residue; end
|
21
21
|
|
22
22
|
# Common Residue
|
23
|
-
|
23
|
+
Common = [{'V'=>{'0618'=>{'A'=>'awakening_of_insects=,*啓蟄',
|
24
24
|
'B'=>'rain_water=,*雨水'}}}, When::BasicTypes::M17n, [
|
25
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
26
25
|
"locale:[=en:, ja=ja:, tenreki, tibetan, yi, alias]",
|
27
|
-
"names:[
|
26
|
+
"names:[Common]",
|
28
27
|
|
29
28
|
[Residue,
|
30
29
|
"label:[Week, 週]", "divisor:7", "day:0",
|
@@ -50,7 +49,7 @@ module When::Coordinates
|
|
50
49
|
|
51
50
|
[Residue,
|
52
51
|
"locale:[=en:, ja=ja:, alias]",
|
53
|
-
"label:[StarMansion, *宿]", "divisor:28", "day:17", "format:[%s(%02d)]",
|
52
|
+
"label:[StarMansion, *宿]", "divisor:28", "day:17", "format:[%s(%02d)=]",
|
54
53
|
[Residue, "label:[Horn=, *角宿, Jiăo= ]", "remainder:0"], # 1 α Vir
|
55
54
|
[Residue, "label:[Neck=, *亢宿, Kàng= ]", "remainder:1"], # 2 κ Vir
|
56
55
|
[Residue, "label:[Root=, *氐宿, Dĭ= ]", "remainder:2"], # 3 α Lib
|
@@ -112,7 +111,7 @@ module When::Coordinates
|
|
112
111
|
],
|
113
112
|
|
114
113
|
[StemBranch,
|
115
|
-
"label:[Stem-Branch, *干支]", "divisor:60", "day:11", "year:4", "format:[%s(%02d)]",
|
114
|
+
"label:[Stem-Branch, *干支]", "divisor:60", "day:11", "year:4", "format:[%s(%02d)=]",
|
116
115
|
[StemBranch, "label:[kinoe-ne=, *甲子, 甲子, 木男鼠, 木公鼠]", "remainder: 0"],
|
117
116
|
[StemBranch, "label:[kinoto-ushi=, *乙丑, 乙好, 木女牛, 木母牛]", "remainder: 1"],
|
118
117
|
[StemBranch, "label:[hinoe-tora=, *丙寅, 丙寅, 火男虎, 火公虎]", "remainder: 2"],
|
@@ -9,10 +9,9 @@ module When
|
|
9
9
|
|
10
10
|
class BasicTypes::M17n
|
11
11
|
|
12
|
-
|
13
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
12
|
+
Roman = [self, [
|
14
13
|
"locale:[=en:, ja=ja:, alias]",
|
15
|
-
"names:[
|
14
|
+
"names:[Roman=]",
|
16
15
|
|
17
16
|
[self, # ..CE-44 / ..BCE45
|
18
17
|
"names:[MonthA, 月=ja:%%<月_(暦)>]",
|
@@ -95,7 +94,6 @@ module When
|
|
95
94
|
|
96
95
|
# From http://en.wikipedia.org/wiki/Julian_calendar#Sacrobosco.27s_theory_on_month_lengths
|
97
96
|
Julian = [self, [
|
98
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
99
97
|
"locale:[=en:, ja=ja:, alias]",
|
100
98
|
"period:[Roman=en:Roman_calendar, ローマ暦]",
|
101
99
|
["[AUC=en:Ab_urbe_condita, 建国紀元=ja:%%<ローマ建国紀元>, alias:Ab_urbe_condita]709.1.1",
|
@@ -106,7 +104,6 @@ module When
|
|
106
104
|
|
107
105
|
# From http://www.tyndalehouse.com/Egypt/ptolemies/chron/roman/chron_rom_intro_fr.htm
|
108
106
|
Roman = [self, [
|
109
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
110
107
|
"locale:[=en:, ja=ja:, alias]",
|
111
108
|
"period:[Roman=en:Roman_calendar, ローマ暦]",
|
112
109
|
["[AUC=en:Ab_urbe_condita, 建国紀元=ja:%%<ローマ建国紀元>, alias:Ab_urbe_condita]492.5.1",
|
@@ -124,9 +121,9 @@ module When
|
|
124
121
|
module CalendarTypes
|
125
122
|
|
126
123
|
# From http://en.wikipedia.org/wiki/Julian_calendar#Sacrobosco.27s_theory_on_month_lengths
|
127
|
-
_Index0 = Coordinates::DefaultDayIndex
|
128
|
-
_IndicesB12 = [
|
129
|
-
_Indices12 = [
|
124
|
+
_Index0 = When::Coordinates::DefaultDayIndex
|
125
|
+
_IndicesB12 = [When.Index('Roman::MonthB', {:unit=>12}), _Index0]
|
126
|
+
_Indices12 = [When.Index('Roman::Month', {:unit=>12}), _Index0]
|
130
127
|
|
131
128
|
#
|
132
129
|
# Julian Calendar A : BCE45-BCE8
|
@@ -140,7 +137,7 @@ module When
|
|
140
137
|
365 => {'Length'=>[31,29] + [31,30]*5},
|
141
138
|
366 => {'Length'=>[31,30] + [31,30]*5}
|
142
139
|
},
|
143
|
-
'note' => '
|
140
|
+
'note' => 'Roman'
|
144
141
|
}]
|
145
142
|
|
146
143
|
#
|
@@ -154,7 +151,7 @@ module When
|
|
154
151
|
'T' => {'Rule' =>[365]},
|
155
152
|
365 => {'Length'=>[31,28] + [31,30,31,30,31]*2}
|
156
153
|
},
|
157
|
-
'note' => '
|
154
|
+
'note' => 'Roman'
|
158
155
|
}]
|
159
156
|
|
160
157
|
#
|
@@ -162,10 +159,10 @@ module When
|
|
162
159
|
#
|
163
160
|
JulianC = [Julian, {
|
164
161
|
'indices' => _Indices12,
|
165
|
-
'note' => '
|
162
|
+
'note' => 'Roman'
|
166
163
|
}]
|
167
164
|
|
168
|
-
# From http://www.tyndalehouse.com/Egypt/ptolemies/chron/roman/chron_rom_intro_fr.htm
|
165
|
+
# From Chris Bennett, http://www.tyndalehouse.com/Egypt/ptolemies/chron/roman/chron_rom_intro_fr.htm
|
169
166
|
#
|
170
167
|
# Roman Calendar BCE262-(CE60)-CE480
|
171
168
|
#
|
@@ -173,14 +170,14 @@ module When
|
|
173
170
|
_ID_L = '1,2,2=,3,4,5,6,7,8,9,10,11,12'
|
174
171
|
_ID_J = '1,2,2=,3,4,5,6,7,8,9,10,11,11<,11>,12'
|
175
172
|
_Branch = {
|
176
|
-
1=>When.Resource('_m:
|
177
|
-
0.5=>When.Resource('_m:
|
178
|
-
1.5=>When.Resource('_m:
|
173
|
+
1=>When.Resource('_m:Roman::IntercalaryMonth::*')[0],
|
174
|
+
0.5=>When.Resource('_m:Roman::IntercalaryMonth::*')[1],
|
175
|
+
1.5=>When.Resource('_m:Roman::IntercalaryMonth::*')[2]
|
179
176
|
}
|
180
|
-
_IndicesA = [
|
181
|
-
_IndicesB = [
|
182
|
-
_Indices = [
|
183
|
-
_IndicesC = [
|
177
|
+
_IndicesA = [When.Index('Roman::MonthA', {:branch=>_Branch}), _Index0]
|
178
|
+
_IndicesB = [When.Index('Roman::MonthB', {:branch=>_Branch}), _Index0]
|
179
|
+
_Indices = [When.Index('Roman::Month', {:branch=>_Branch}), _Index0]
|
180
|
+
_IndicesC = [When.Index('Roman::MonthC', {:branch=>_Branch}), _Index0]
|
184
181
|
Options = {
|
185
182
|
'origin_of_LSC' => 1625698,
|
186
183
|
'origin_of_MSC' => -261,
|
@@ -201,7 +198,7 @@ module When
|
|
201
198
|
'N' => {'Length'=>[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]},
|
202
199
|
'L' => {'Length'=>[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]},
|
203
200
|
},
|
204
|
-
'note' => '
|
201
|
+
'note' => 'Roman'
|
205
202
|
}
|
206
203
|
RomanA = [CyclicTableBased, Options.merge({'indices' => _IndicesA})]
|
207
204
|
RomanB = [CyclicTableBased, Options.merge({'indices' => _IndicesB})]
|
@@ -212,10 +209,9 @@ module When
|
|
212
209
|
#
|
213
210
|
# 古代ローマの暦注
|
214
211
|
#
|
215
|
-
class CalendarNote::
|
212
|
+
class CalendarNote::Roman < CalendarNote
|
216
213
|
|
217
|
-
|
218
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
214
|
+
Notes = [When::BasicTypes::M17n, [
|
219
215
|
"locale:[=en:, ja=ja:, alias]",
|
220
216
|
"names:[Roman]",
|
221
217
|
|
@@ -232,7 +228,7 @@ module When
|
|
232
228
|
],
|
233
229
|
|
234
230
|
[When::Coordinates::Residue,
|
235
|
-
"label:[Indiction, インディクション]", "divisor:15", "year:-2",
|
231
|
+
"label:[Indiction, インディクション]", "divisor:15", "year:-2", "format:[%s=]",
|
236
232
|
[When::Coordinates::Residue, "label:[I= ]", "remainder: 0"],
|
237
233
|
[When::Coordinates::Residue, "label:[II= ]", "remainder: 1"],
|
238
234
|
[When::Coordinates::Residue, "label:[III= ]", "remainder: 2"],
|
@@ -5,8 +5,8 @@
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
6
|
=end
|
7
7
|
|
8
|
-
require 'when_exe/region/japanese'
|
9
|
-
require 'when_exe/region/
|
8
|
+
require 'when_exe/region/japanese/calendars'
|
9
|
+
require 'when_exe/region/chinese/calendars'
|
10
10
|
|
11
11
|
#
|
12
12
|
# 琉球王位一覧表
|
@@ -23,7 +23,6 @@ module When
|
|
23
23
|
# 琉球王朝
|
24
24
|
#
|
25
25
|
Ryukyu = [self, [
|
26
|
-
"namespace:[ja=http://ja.wikipedia.org/wiki/, en=http://en.wikipedia.org/wiki/]",
|
27
26
|
"locale:[=ja:, en=en:, alias]",
|
28
27
|
"area:[琉球,Ryukyu]",
|
29
28
|
[self,
|
@@ -77,7 +76,7 @@ module When
|
|
77
76
|
["[尚元王]0", "@A", "name=[尚元王];1555-06-25"], # 弘治 2~元亀 3(1572) 4 1 45歳
|
78
77
|
["[尚永王]0", "@A", "name=[尚永王];1572-04-01"], # 天正 元~天正 16(1588) 11 25 30歳
|
79
78
|
["[尚寧王]0", "@A", "name=[尚寧王];1588-11-25", # 天正 17~元和 6(1620) 9 19 57歳
|
80
|
-
"1609-04-05^Japanese?note=
|
79
|
+
"1609-04-05^Japanese?note=Chinese", ""], # 慶長 14(1609) 4 5 尚寧、島津と和議
|
81
80
|
["[尚豊王]0", "@A", "name=[尚豊王];1620-09-19"], # 元和 7~寛永 17(1640) 5 4 51歳
|
82
81
|
["[尚賢王]0", "@A", "name=[尚賢王];1640-05-04"], # 寛永 18~正保 4(1647) 9 22 23歳
|
83
82
|
["[尚質王]0", "@A", "name=[尚質王];1647-09-22"], # 慶安 元~寛文 8(1668) 11 17 40歳
|
@@ -8,30 +8,33 @@
|
|
8
8
|
module When
|
9
9
|
class BasicTypes::M17n
|
10
10
|
|
11
|
-
|
12
|
-
"namespace:[
|
13
|
-
"ja=http://ja.wikipedia.org/wiki/, " +
|
14
|
-
"cal=http://en.wikipedia.org/wiki/Middle-earth_calendar]",
|
11
|
+
Shire = [self, [
|
12
|
+
"namespace:[cal=http://en.wikipedia.org/wiki/Middle-earth_calendar#]",
|
15
13
|
"locale:[=en:, ja=ja:, alias]",
|
16
|
-
"names:[
|
14
|
+
"names:[Shire=]",
|
17
15
|
"[Shire=en:The_Lord_of_the_Rings, ホビット庄暦=ja:%%<指輪物語>]",
|
18
16
|
|
17
|
+
[self,
|
18
|
+
"names:[Festival=, 祭= ]",
|
19
|
+
"[%0sYule=en:Yule, %0sユール祭= ]",
|
20
|
+
"[%0sLithe=cal:Hobbit_calendar, %0sライズ祭= ]",
|
21
|
+
],
|
22
|
+
|
19
23
|
[self,
|
20
24
|
"names:[Month, 月=ja:%%<月_(暦)>]",
|
21
|
-
"[Yule=en:Yule,
|
22
|
-
"[Afteryule=en:Yule,
|
23
|
-
"[Solmath=cal,
|
24
|
-
"[Rethe=cal,
|
25
|
-
"[Astron=cal,
|
26
|
-
"[Thrimidge=cal,
|
27
|
-
"[Forelithe=cal,
|
28
|
-
"[
|
29
|
-
"[
|
30
|
-
"[
|
31
|
-
"[
|
32
|
-
"[
|
33
|
-
"[
|
34
|
-
"[Foreyule=en:Yule, ユール前月= ]"
|
25
|
+
"[Yule=en:Yule, ユール祭= ]",
|
26
|
+
"[Afteryule=en:Yule, ユール後月= ]",
|
27
|
+
"[Solmath=cal:Hobbit_calendar, ソマス= ]",
|
28
|
+
"[Rethe=cal:Hobbit_calendar, レセ= ]",
|
29
|
+
"[Astron=cal:Hobbit_calendar, アストロン= ]",
|
30
|
+
"[Thrimidge=cal:Hobbit_calendar, スリミッジ= ]",
|
31
|
+
"[Forelithe=cal:Hobbit_calendar, ライズ前月= ]",
|
32
|
+
"[Afterlithe=cal:Hobbit_calendar, ライズ後月= ]",
|
33
|
+
"[Wedmath=cal:Hobbit_calendar, ウェドマス= ]",
|
34
|
+
"[Halimath=cal:Hobbit_calendar, ハリマス= ]",
|
35
|
+
"[Winterfilth=cal:Hobbit_calendar, ウィンターフィルス=]",
|
36
|
+
"[Blotmath=cal:Hobbit_calendar, ブロドマス= ]",
|
37
|
+
"[Foreyule=en:Yule, ユール前月= ]"
|
35
38
|
]
|
36
39
|
]]
|
37
40
|
end
|
@@ -39,10 +42,9 @@ module When
|
|
39
42
|
#
|
40
43
|
# ホビット庄暦の暦週
|
41
44
|
#
|
42
|
-
class CalendarNote::ShireWeek < CalendarNote
|
45
|
+
class CalendarNote::ShireWeek < CalendarNote::Week
|
43
46
|
|
44
|
-
|
45
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
47
|
+
Notes = [When::BasicTypes::M17n, [
|
46
48
|
"locale:[=en:, ja=ja:, alias]",
|
47
49
|
"names:[Shire]",
|
48
50
|
|
@@ -64,29 +66,35 @@ module When
|
|
64
66
|
"names:[day]",
|
65
67
|
[When::BasicTypes::M17n,
|
66
68
|
"names:[Week]",
|
67
|
-
"[Saturday, 土曜日]",
|
68
|
-
"[Sunday, 日曜日]",
|
69
|
-
"[Monday, 月曜日]",
|
70
|
-
"[Tuesday, 火曜日]",
|
71
|
-
"[Wednesday, 水曜日]",
|
72
|
-
"[Thursday, 木曜日]",
|
73
|
-
"[Friday, 金曜日]",
|
74
|
-
"[lithe, 中日= ]",
|
75
|
-
"[double, 重日= ]"
|
76
|
-
]
|
69
|
+
[DayOfWeek, "label:[Saturday, 土曜日]", {'delta'=>7}],
|
70
|
+
[DayOfWeek, "label:[Sunday, 日曜日]", {'delta'=>7}],
|
71
|
+
[DayOfWeek, "label:[Monday, 月曜日]", {'delta'=>7}],
|
72
|
+
[DayOfWeek, "label:[Tuesday, 火曜日]", {'delta'=>7}],
|
73
|
+
[DayOfWeek, "label:[Wednesday, 水曜日]", {'delta'=>7}],
|
74
|
+
[DayOfWeek, "label:[Thursday, 木曜日]", {'delta'=>7}],
|
75
|
+
[DayOfWeek, "label:[Friday, 金曜日]", {'delta'=>7}],
|
76
|
+
[DayOfWeek, "label:[lithe, 中日= ]", {'delta'=> 365}],
|
77
|
+
[DayOfWeek, "label:[double, 重日= ]", {'delta'=>1827}]
|
78
|
+
],
|
79
|
+
|
80
|
+
"[Standard_Week]"
|
77
81
|
]
|
78
82
|
]]
|
79
83
|
|
80
|
-
# イベントの標準的な間隔を返す
|
81
84
|
# @private
|
82
|
-
|
83
|
-
return When::DurationP1W
|
84
|
-
end
|
85
|
+
FirstDayOfWeek = [6, 1, 3, 5, 0, 2, 4] * 2
|
85
86
|
|
86
87
|
# @private
|
87
|
-
|
88
|
-
|
89
|
-
|
88
|
+
ExtraDayInYear = {
|
89
|
+
[ 8, 2] => 7,
|
90
|
+
[ 8, 4] => 0
|
91
|
+
}
|
92
|
+
|
93
|
+
# @private
|
94
|
+
WeekLength = {
|
95
|
+
[ 8, 3] => 8,
|
96
|
+
[ 8, 4] => 9
|
97
|
+
}
|
90
98
|
|
91
99
|
# 当日または直前の lithe の日
|
92
100
|
# @param date [When::TM::TemporalPosition]
|
@@ -97,6 +105,7 @@ module When
|
|
97
105
|
event_name = 'lithe'
|
98
106
|
date = date.frame.jul_trans(date, {:events=>[event_name]})
|
99
107
|
y,m,d = date.cal_date
|
108
|
+
m = date.frame.send(:_to_index,[y,m]) + 1
|
100
109
|
h,n = (m+5).divmod(7)
|
101
110
|
dow = 182 * h[0] + 30 * n + d + 1
|
102
111
|
if m==8
|
@@ -114,19 +123,20 @@ module When
|
|
114
123
|
|
115
124
|
# 当日または直前の week_day の日
|
116
125
|
# @method week_day(date, parameter=nil)
|
117
|
-
# @param
|
118
|
-
# @param
|
126
|
+
# @param [When::TM::TemporalPosition] date
|
127
|
+
# @param [nil] parameter 未使用
|
119
128
|
# @return [When::TM::TemporalPosition]
|
120
129
|
# @note week_day は saturday, sunday, monday, tuesday, wednesday, thursday, friday に読み替えてください。
|
121
130
|
|
122
131
|
# @private
|
123
132
|
7.times do |k|
|
124
|
-
name = When.CalendarNote('ShireWeek/
|
133
|
+
name = When.CalendarNote('ShireWeek/Notes::day::Week')[k].to_s.downcase
|
125
134
|
module_eval %Q{
|
126
135
|
def #{name}(date, parameter=nil)
|
127
136
|
event_name = 'from_#{name}'
|
128
137
|
date = date.frame.jul_trans(date, {:events=>[event_name], :precision=>When::DAY})
|
129
138
|
y,m,d = date.cal_date
|
139
|
+
m = date.frame.send(:_to_index, [y,m]) + 1
|
130
140
|
h,n = (m+5).divmod(7)
|
131
141
|
dow = (182 * h[0] + 30 * n + d - #{k}) % 7
|
132
142
|
case m
|
@@ -144,12 +154,35 @@ module When
|
|
144
154
|
date.events = [event_name]
|
145
155
|
date
|
146
156
|
end
|
147
|
-
|
148
|
-
alias :#{name}_delta :_delta
|
149
157
|
}
|
150
158
|
end
|
151
159
|
|
152
|
-
|
160
|
+
#
|
161
|
+
# この日は何曜?
|
162
|
+
#
|
163
|
+
# @param [When::TM::TemporalPosition] date
|
164
|
+
# @param [When::TM::CalDate] base (not used)
|
165
|
+
#
|
166
|
+
# @return [Hash<:value=>When::CalendarNote::Week::DayOfWeek, :position=>Array<Integer>>]
|
167
|
+
#
|
168
|
+
def week(date, base=nil)
|
169
|
+
date = _to_date_for_note(date)
|
170
|
+
y, m, d = date.cal_date
|
171
|
+
m = date.frame.send(:_to_index, [y,m]) + 1
|
172
|
+
length = WeekLength[[m, date.length(When::MONTH)]] || 7
|
173
|
+
index = length == 8 ? 0 : 8 if [m,d] == [8,3]
|
174
|
+
index ||= ExtraDayInYear[[m,d]] || (FirstDayOfWeek[m-1] + d - 1) % 7
|
175
|
+
{:value=>@days_of_week[index], :position=>[index, length]}
|
176
|
+
end
|
177
|
+
|
178
|
+
#
|
179
|
+
# 暦日を当該暦注計算用クラスに変換
|
180
|
+
#
|
181
|
+
# @private
|
182
|
+
def _to_date_for_note(date)
|
183
|
+
date = When::ShireG ^ date unless date.frame.label.to_s == 'Shire'
|
184
|
+
date
|
185
|
+
end
|
153
186
|
|
154
187
|
# オブジェクトの正規化
|
155
188
|
# @private
|
@@ -157,58 +190,31 @@ module When
|
|
157
190
|
@event ||= 'saturday'
|
158
191
|
super
|
159
192
|
end
|
160
|
-
|
161
|
-
#
|
162
|
-
# イベントを取得する Enumerator
|
163
|
-
#
|
164
|
-
class Enumerator < When::CalendarNote::Enumerator
|
165
|
-
|
166
|
-
#
|
167
|
-
# 次のイベントを得る
|
168
|
-
#
|
169
|
-
# @return [When::TM::TemporalPosition]
|
170
|
-
#
|
171
|
-
def succ
|
172
|
-
value = @current
|
173
|
-
plus = @delta.sign > 0
|
174
|
-
if @current==:first
|
175
|
-
@first = event_eval(@first) unless plus
|
176
|
-
@current = @first
|
177
|
-
else
|
178
|
-
if plus
|
179
|
-
@current = event_eval(@current + @delta)
|
180
|
-
else
|
181
|
-
@last = event_eval(@current - When.Duration('P1D'))
|
182
|
-
@current = event_eval(@current + @delta)
|
183
|
-
unless [@current.to_i, value.to_i].include?(@last.to_i)
|
184
|
-
@current = @last
|
185
|
-
return value
|
186
|
-
end
|
187
|
-
end
|
188
|
-
@current = event_eval(@current + @delta * 2) if @current.to_i == value.to_i
|
189
|
-
end
|
190
|
-
return value
|
191
|
-
end
|
192
|
-
end
|
193
193
|
end
|
194
194
|
|
195
195
|
module CalendarTypes
|
196
|
+
|
197
|
+
_shire_indices = [
|
198
|
+
When.Index('Shire::Month', {:base => 0,
|
199
|
+
:branch=>{1=>When.Resource('_m:Shire::Festival::*')[1]}}),
|
200
|
+
When::Coordinates::DefaultDayIndex
|
201
|
+
]
|
202
|
+
|
203
|
+
_IDs = '0,1,2,3,4,5,6,6=,7,8,9,10,11,12'
|
204
|
+
|
196
205
|
#
|
197
206
|
# Shire Calendar based on summer solstice date
|
198
207
|
#
|
199
208
|
Shire = [YearLengthTableBased, {
|
200
|
-
'label' =>
|
201
|
-
'indices' =>
|
202
|
-
|
203
|
-
Coordinates::DefaultDayIndex
|
204
|
-
],
|
205
|
-
'border' => '00-01-02',
|
209
|
+
'label' => 'Shire::Shire',
|
210
|
+
'indices' => _shire_indices,
|
211
|
+
'border' => '00-00-02',
|
206
212
|
'day_offset' => -183, # the day 183 days before summer solstice
|
207
213
|
'cycle_offset' => Rational(1,4), # summer solstice
|
208
214
|
'time_basis' => '+09:00', # JST
|
209
215
|
'rule_table' => {
|
210
|
-
365 => {'Length'=>[2]+[30]*6+[3]+[30]*6},
|
211
|
-
366 => {'Length'=>[2]+[30]*6+[4]+[30]*6}
|
216
|
+
365 => {'Length'=>[2]+[30]*6+[3]+[30]*6, 'IDs'=>_IDs},
|
217
|
+
366 => {'Length'=>[2]+[30]*6+[4]+[30]*6, 'IDs'=>_IDs}
|
212
218
|
},
|
213
219
|
'note' => 'ShireWeek'
|
214
220
|
}]
|
@@ -217,19 +223,16 @@ module When
|
|
217
223
|
# Shire Calendar based on Gregorian Date
|
218
224
|
#
|
219
225
|
ShireG = [CyclicTableBased, {
|
220
|
-
'label' =>
|
226
|
+
'label' => 'Shire::Shire',
|
221
227
|
'origin_of_LSC' => 1721060-10,
|
222
|
-
'indices' =>
|
223
|
-
|
224
|
-
Coordinates::DefaultDayIndex
|
225
|
-
],
|
226
|
-
'border' => '00-01-02',
|
228
|
+
'indices' => _shire_indices,
|
229
|
+
'border' => '00-00-02',
|
227
230
|
'rule_table' => {
|
228
231
|
'T' => {'Rule' =>['LC', 'SC', 'SC', 'SC']},
|
229
232
|
'SC' => {'Rule' =>[365]*4 + [366, 365, 365, 365]*24},
|
230
233
|
'LC' => {'Rule' =>[366, 365, 365, 365]*25},
|
231
|
-
365 => {'Length'=>[2]+[30]*6+[3]+[30]*6},
|
232
|
-
366 => {'Length'=>[2]+[30]*6+[4]+[30]*6}
|
234
|
+
365 => {'Length'=>[2]+[30]*6+[3]+[30]*6, 'IDs'=>_IDs},
|
235
|
+
366 => {'Length'=>[2]+[30]*6+[4]+[30]*6, 'IDs'=>_IDs}
|
233
236
|
},
|
234
237
|
'note' => 'ShireWeek'
|
235
238
|
}]
|