when_exe 0.3.4 → 0.3.5
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.
- data/bin/locales.rb +2 -2
- data/bin/when.rb +2 -2
- data/lib/when_exe.rb +161 -55
- data/lib/when_exe/basictypes.rb +34 -26
- data/lib/when_exe/calendarnote.rb +654 -0
- data/lib/when_exe/calendartypes.rb +49 -474
- data/lib/when_exe/coordinates.rb +141 -34
- data/lib/when_exe/core/compatibility.rb +22 -2
- data/lib/when_exe/core/extension.rb +47 -3
- data/lib/when_exe/ephemeris.rb +82 -109
- data/lib/when_exe/googlecalendar.rb +1 -1
- data/lib/when_exe/icalendar.rb +26 -14
- data/lib/when_exe/inspect.rb +82 -68
- data/lib/when_exe/locales/af.rb +1 -1
- data/lib/when_exe/locales/ar.rb +1 -1
- data/lib/when_exe/locales/az.rb +1 -1
- data/lib/when_exe/locales/bg.rb +1 -1
- data/lib/when_exe/locales/bn.rb +1 -1
- data/lib/when_exe/locales/bs.rb +1 -1
- data/lib/when_exe/locales/ca.rb +1 -1
- data/lib/when_exe/locales/cs.rb +1 -1
- data/lib/when_exe/locales/cy.rb +1 -1
- data/lib/when_exe/locales/da.rb +1 -1
- data/lib/when_exe/locales/de.rb +1 -1
- data/lib/when_exe/locales/de_AT.rb +1 -1
- data/lib/when_exe/locales/de_CH.rb +1 -1
- data/lib/when_exe/locales/el.rb +1 -1
- data/lib/when_exe/locales/en.rb +1 -1
- data/lib/when_exe/locales/en_AU.rb +1 -1
- data/lib/when_exe/locales/en_CA.rb +1 -1
- data/lib/when_exe/locales/en_GB.rb +1 -1
- data/lib/when_exe/locales/en_IE.rb +1 -1
- data/lib/when_exe/locales/en_IN.rb +1 -1
- data/lib/when_exe/locales/en_NZ.rb +1 -1
- data/lib/when_exe/locales/en_US.rb +1 -1
- data/lib/when_exe/locales/eo.rb +1 -1
- data/lib/when_exe/locales/es.rb +1 -1
- data/lib/when_exe/locales/es_419.rb +1 -1
- data/lib/when_exe/locales/es_AR.rb +1 -1
- data/lib/when_exe/locales/es_CL.rb +1 -1
- data/lib/when_exe/locales/es_CO.rb +1 -1
- data/lib/when_exe/locales/es_CR.rb +1 -1
- data/lib/when_exe/locales/es_EC.rb +1 -1
- data/lib/when_exe/locales/es_MX.rb +1 -1
- data/lib/when_exe/locales/es_PA.rb +1 -1
- data/lib/when_exe/locales/es_PE.rb +1 -1
- data/lib/when_exe/locales/es_VE.rb +1 -1
- data/lib/when_exe/locales/et.rb +1 -1
- data/lib/when_exe/locales/eu.rb +1 -1
- data/lib/when_exe/locales/fa.rb +1 -1
- data/lib/when_exe/locales/fi.rb +1 -1
- data/lib/when_exe/locales/fr.rb +1 -1
- data/lib/when_exe/locales/fr_CA.rb +1 -1
- data/lib/when_exe/locales/fr_CH.rb +1 -1
- data/lib/when_exe/locales/gl.rb +1 -1
- data/lib/when_exe/locales/he.rb +1 -1
- data/lib/when_exe/locales/hi.rb +1 -1
- data/lib/when_exe/locales/hi_IN.rb +1 -1
- data/lib/when_exe/locales/hr.rb +1 -1
- data/lib/when_exe/locales/hu.rb +1 -1
- data/lib/when_exe/locales/id.rb +1 -1
- data/lib/when_exe/locales/is.rb +1 -1
- data/lib/when_exe/locales/it.rb +1 -1
- data/lib/when_exe/locales/it_CH.rb +1 -1
- data/lib/when_exe/locales/ja.rb +1 -1
- data/lib/when_exe/locales/kn.rb +1 -1
- data/lib/when_exe/locales/ko.rb +1 -1
- data/lib/when_exe/locales/lo.rb +1 -1
- data/lib/when_exe/locales/locales.rb +1 -1
- data/lib/when_exe/locales/lt.rb +1 -1
- data/lib/when_exe/locales/lv.rb +1 -1
- data/lib/when_exe/locales/mk.rb +1 -1
- data/lib/when_exe/locales/mn.rb +1 -1
- data/lib/when_exe/locales/ms.rb +1 -1
- data/lib/when_exe/locales/nb.rb +1 -1
- data/lib/when_exe/locales/ne.rb +1 -1
- data/lib/when_exe/locales/nl.rb +1 -1
- data/lib/when_exe/locales/nn.rb +1 -1
- data/lib/when_exe/locales/or.rb +1 -1
- data/lib/when_exe/locales/pl.rb +1 -1
- data/lib/when_exe/locales/pt.rb +1 -1
- data/lib/when_exe/locales/pt_BR.rb +1 -1
- data/lib/when_exe/locales/rm.rb +1 -1
- data/lib/when_exe/locales/ro.rb +1 -1
- data/lib/when_exe/locales/ru.rb +1 -1
- data/lib/when_exe/locales/sk.rb +1 -1
- data/lib/when_exe/locales/sl.rb +1 -1
- data/lib/when_exe/locales/sr.rb +1 -1
- data/lib/when_exe/locales/sv.rb +1 -1
- data/lib/when_exe/locales/sw.rb +1 -1
- data/lib/when_exe/locales/th.rb +1 -1
- data/lib/when_exe/locales/tl.rb +1 -1
- data/lib/when_exe/locales/tr.rb +1 -1
- data/lib/when_exe/locales/uk.rb +1 -1
- data/lib/when_exe/locales/ur.rb +1 -1
- data/lib/when_exe/locales/uz.rb +1 -1
- data/lib/when_exe/locales/vi.rb +1 -1
- data/lib/when_exe/locales/wo.rb +1 -1
- data/lib/when_exe/locales/zh_CN.rb +1 -1
- data/lib/when_exe/locales/zh_HK.rb +1 -1
- data/lib/when_exe/locales/zh_TW.rb +1 -1
- data/lib/when_exe/mini_application.rb +6 -2
- data/lib/when_exe/parts/enumerator.rb +13 -8
- data/lib/when_exe/parts/geometric_complex.rb +3 -5
- data/lib/when_exe/parts/locale.rb +185 -28
- data/lib/when_exe/parts/method_cash.rb +20 -10
- data/lib/when_exe/parts/resource.rb +154 -76
- data/lib/when_exe/parts/timezone.rb +11 -6
- data/lib/when_exe/region/bahai.rb +2 -2
- data/lib/when_exe/region/balinese.rb +296 -296
- data/lib/when_exe/region/chinese.rb +564 -564
- data/lib/when_exe/region/chinese_calendar.rb +5 -1
- data/lib/when_exe/region/chinese_epoch.rb +47 -102
- data/lib/when_exe/region/chinese_twin.rb +798 -0
- data/lib/when_exe/region/christian.rb +314 -338
- data/lib/when_exe/region/coptic.rb +88 -0
- data/lib/when_exe/region/ephemeric_notes.rb +322 -307
- data/lib/when_exe/region/french.rb +2 -2
- data/lib/when_exe/region/indian.rb +361 -272
- data/lib/when_exe/region/iranian.rb +2 -2
- data/lib/when_exe/region/islamic.rb +3 -3
- data/lib/when_exe/region/japanese.rb +1 -1
- data/lib/when_exe/region/japanese_notes.rb +165 -103
- data/lib/when_exe/region/japanese_residues.rb +56 -55
- data/lib/when_exe/region/japanese_twin.rb +228 -0
- data/lib/when_exe/region/javanese.rb +2 -2
- data/lib/when_exe/region/jewish.rb +2 -2
- data/lib/when_exe/region/korean.rb +4 -4
- data/lib/when_exe/region/m17n.rb +19 -19
- data/lib/when_exe/region/martian.rb +21 -9
- data/lib/when_exe/region/mayan.rb +19 -11
- data/lib/when_exe/region/moon.rb +7 -7
- data/lib/when_exe/region/nihon_shoki.rb +7 -7
- data/lib/when_exe/region/roman.rb +100 -100
- data/lib/when_exe/region/shire.rb +130 -147
- data/lib/when_exe/region/thai.rb +2 -2
- data/lib/when_exe/region/tibetan.rb +2 -2
- data/lib/when_exe/region/vietnamese.rb +383 -114
- data/lib/when_exe/region/world.rb +112 -129
- data/lib/when_exe/timestandard.rb +12 -1
- data/lib/when_exe/tmposition.rb +28 -14
- data/lib/when_exe/tmreference.rb +96 -93
- data/lib/when_exe/version.rb +1 -1
- data/test/examples/Terms.m17n +2 -2
- data/test/examples/sample.json +16 -0
- data/test/examples/sample.xml +1 -1
- data/test/test.rb +4 -0
- data/test/test/basictypes.rb +2 -2
- data/test/test/calendarnote.rb +69 -0
- data/test/test/calendartypes.rb +41 -1
- data/test/test/coordinates.rb +12 -1
- data/test/test/ephemeris.rb +13 -66
- data/test/test/icalendar.rb +3 -3
- data/test/test/inspect.rb +1 -1
- data/test/test/parts.rb +7 -4
- data/test/test/region/chinese.rb +45 -0
- data/test/test/region/coptic.rb +27 -0
- data/test/test/region/indian.rb +1 -1
- data/test/test/region/japanese.rb +4 -4
- data/test/test/region/jewish.rb +1 -1
- data/test/test/region/m17n.rb +7 -5
- data/test/test/region/residue.rb +2 -2
- data/test/test/region/vietnamese.rb +102 -0
- data/test/test/timestandard.rb +81 -0
- data/test/test/tmposition.rb +1 -1
- data/test/test/tmreference.rb +1 -1
- data/when_exe.gemspec +2 -2
- metadata +16 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C) 2011-
|
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
4
4
|
|
|
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
|
|
@@ -11,7 +11,7 @@ module When
|
|
|
11
11
|
JavaneseTerms = [self, [
|
|
12
12
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
13
13
|
"locale:[=en:, ja=ja:, alias]",
|
|
14
|
-
"names:[JavaneseTerms]",
|
|
14
|
+
"names:[JavaneseTerms=]",
|
|
15
15
|
"[JavaneseLunar=, ジャワ・イスラーム暦=]",
|
|
16
16
|
"[Pranatamangsa=, プラノトモンソ=]",
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C) 2011-
|
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
4
4
|
|
|
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
|
|
@@ -11,7 +11,7 @@ module When
|
|
|
11
11
|
JewishTerms = [self, [
|
|
12
12
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
13
13
|
"locale:[=en:, ja=ja:, alias]",
|
|
14
|
-
"names:[JewishTerms]",
|
|
14
|
+
"names:[JewishTerms=]",
|
|
15
15
|
"[Jewish=en:Hebrew_calendar, ユダヤ暦]",
|
|
16
16
|
|
|
17
17
|
[self,
|
|
@@ -149,7 +149,7 @@ module When
|
|
|
149
149
|
["[景文王]1", "@A", "name=[景文王];861"],
|
|
150
150
|
["[憲康王]1", "@A", "name=[憲康王];875"],
|
|
151
151
|
["[定康王]1", "@A", "name=[定康王];886"],
|
|
152
|
-
["[真聖女王]1", "@A", "name=[真聖女王];887^
|
|
152
|
+
["[真聖女王]1", "@A", "name=[真聖女王];887^ChineseTwin::宣明暦"], # 東洋史辞典のみ1年遅
|
|
153
153
|
["[孝恭王]1", "@A", "name=[孝恭王];897"], # 〃
|
|
154
154
|
["[神徳王]1", "@A", "name=[神徳王];912"], # 〃
|
|
155
155
|
["[景明王]1", "@A", "name=[景明王];917"],
|
|
@@ -172,11 +172,11 @@ module When
|
|
|
172
172
|
],
|
|
173
173
|
[self,
|
|
174
174
|
"period:[後百済]", # 三国遺事による
|
|
175
|
-
["[甄萱]1", "@F", "name=[甄萱];900^
|
|
175
|
+
["[甄萱]1", "@F", "name=[甄萱];900^ChineseTwin::宣明暦", "936.09.08="]
|
|
176
176
|
],
|
|
177
177
|
[self,
|
|
178
178
|
"period:[後高句麗]",
|
|
179
|
-
["[弓裔]1", "@F", "name=[弓裔];901^
|
|
179
|
+
["[弓裔]1", "@F", "name=[弓裔];901^ChineseTwin::宣明暦"],
|
|
180
180
|
["[摩震]1", "@A", "name=[武泰];904"],
|
|
181
181
|
["[聖冊]1", "", "905"],
|
|
182
182
|
["[泰封]1", "@A","name=[水徳万歳];911"],
|
|
@@ -184,7 +184,7 @@ module When
|
|
|
184
184
|
],
|
|
185
185
|
[self,
|
|
186
186
|
"period:[高麗]",
|
|
187
|
-
["[天授]1", "@F", "name=[太祖];918.06^
|
|
187
|
+
["[天授]1", "@F", "name=[太祖];918.06^ChineseTwin::宣明暦"], # 三国遺事による
|
|
188
188
|
["[太祖]16", "", "933"],
|
|
189
189
|
["[恵宗]1", "@A", "name=[恵宗];944"],
|
|
190
190
|
["[定宗]1", "@A", "name=[定宗];946"],
|
data/lib/when_exe/region/m17n.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C) 2011-
|
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
4
4
|
|
|
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
|
|
@@ -46,7 +46,7 @@ module When
|
|
|
46
46
|
CalendarTerms = [M17n, [
|
|
47
47
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
48
48
|
"locale:[=en:, ja=ja:, alias]",
|
|
49
|
-
"names:[CalendarTerms]",
|
|
49
|
+
"names:[CalendarTerms=]",
|
|
50
50
|
|
|
51
51
|
"[Intercalary %s=, *閏]",
|
|
52
52
|
|
|
@@ -87,28 +87,28 @@ module When
|
|
|
87
87
|
EpochEvents = [M17n, [
|
|
88
88
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
89
89
|
"locale:[=en:, ja=ja:, alias]",
|
|
90
|
-
"names:[EpochEvents]",
|
|
91
|
-
"[Accession
|
|
92
|
-
"[FelicitousEvent
|
|
93
|
-
"[NaturalDisaster
|
|
94
|
-
"[InauspiciousYear
|
|
95
|
-
"[Foundation
|
|
96
|
-
"[CalendarReform
|
|
90
|
+
"names:[EpochEvents=]",
|
|
91
|
+
"[Accession=, 代始]",
|
|
92
|
+
"[FelicitousEvent=, 祥瑞]",
|
|
93
|
+
"[NaturalDisaster=, 災異]",
|
|
94
|
+
"[InauspiciousYear=, 革年]",
|
|
95
|
+
"[Foundation=, 創業]",
|
|
96
|
+
"[CalendarReform=, 改暦]"
|
|
97
97
|
]]
|
|
98
98
|
|
|
99
99
|
# Formats
|
|
100
100
|
CalendarFormats = [M17n, [
|
|
101
101
|
"locale:[=]",
|
|
102
|
-
"names:[CalendarFormats]",
|
|
103
|
-
"[Date
|
|
104
|
-
"[DateLong
|
|
105
|
-
"[DateShort
|
|
106
|
-
"[DateTime
|
|
107
|
-
"[DateTimeLong
|
|
108
|
-
"[DateTimeShort
|
|
109
|
-
"[Time
|
|
110
|
-
"[AM
|
|
111
|
-
"[PM
|
|
102
|
+
"names:[CalendarFormats=]",
|
|
103
|
+
"[Date=, /date/formats/default]",
|
|
104
|
+
"[DateLong=, /date/formats/long ]",
|
|
105
|
+
"[DateShort=, /date/formats/short ]",
|
|
106
|
+
"[DateTime=, /time/formats/default]",
|
|
107
|
+
"[DateTimeLong=, /time/formats/long ]",
|
|
108
|
+
"[DateTimeShort=, /time/formats/short ]",
|
|
109
|
+
"[Time=, /time/formats/time ]",
|
|
110
|
+
"[AM=, /time/am ]",
|
|
111
|
+
"[PM=, /time/pm ]"
|
|
112
112
|
]]
|
|
113
113
|
end
|
|
114
114
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C) 2013 Takashi SUGA
|
|
3
|
+
Copyright (C) 2013-2014 Takashi SUGA
|
|
4
4
|
|
|
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
|
|
@@ -12,7 +12,7 @@ module When
|
|
|
12
12
|
MartianTerms = [self, [
|
|
13
13
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
14
14
|
"locale:[=en:, ja=ja:, alias]",
|
|
15
|
-
"names:[MartianTerms]",
|
|
15
|
+
"names:[MartianTerms=]",
|
|
16
16
|
"[Darian=en:Darian_calendar, ダリアン暦]",
|
|
17
17
|
|
|
18
18
|
[self,
|
|
@@ -63,7 +63,7 @@ module When
|
|
|
63
63
|
# @return [Numeric] dynamical date
|
|
64
64
|
#
|
|
65
65
|
def to_dynamical_date(date)
|
|
66
|
-
(date -
|
|
66
|
+
(date - @mtc0) * Ratio + J2000Jan6
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
# dynamical date を当該時刻系の日付に変換する
|
|
@@ -73,7 +73,7 @@ module When
|
|
|
73
73
|
# @return [Numeric] 当該時刻系の日付
|
|
74
74
|
#
|
|
75
75
|
def from_dynamical_date(date)
|
|
76
|
-
(date - J2000Jan6) / Ratio +
|
|
76
|
+
(date - J2000Jan6) / Ratio + @mtc0
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
# universal time を dynamical time に変換する
|
|
@@ -99,15 +99,24 @@ module When
|
|
|
99
99
|
from_dynamical_date(
|
|
100
100
|
When::TM::JulianDate._t_to_d(time)))
|
|
101
101
|
end
|
|
102
|
+
|
|
103
|
+
private
|
|
104
|
+
|
|
105
|
+
# オブジェクトの正規化
|
|
106
|
+
def _normalize(args=[], options={})
|
|
107
|
+
@location = When.Resource(@location || '_l:long=0&lat=0&datum=Mars')
|
|
108
|
+
@mtc0 = MTC0 + @location.long / (360.0 * When::Coordinates::Spatial::DEGREE)
|
|
109
|
+
super
|
|
110
|
+
end
|
|
102
111
|
end
|
|
103
112
|
end
|
|
104
113
|
|
|
105
|
-
|
|
114
|
+
class CalendarNote
|
|
106
115
|
|
|
107
116
|
#
|
|
108
117
|
# Darian Week
|
|
109
118
|
#
|
|
110
|
-
class
|
|
119
|
+
class DarianWeek < WorldWeek
|
|
111
120
|
|
|
112
121
|
NoteObjects = [When::BasicTypes::M17n, [
|
|
113
122
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
@@ -169,22 +178,25 @@ module When
|
|
|
169
178
|
|
|
170
179
|
# オブジェクトの正規化
|
|
171
180
|
def _normalize(args=[], options={})
|
|
172
|
-
@event
|
|
181
|
+
@event ||= 'solis'
|
|
173
182
|
super
|
|
174
183
|
end
|
|
175
184
|
end
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
module CalendarTypes
|
|
176
188
|
|
|
177
189
|
#
|
|
178
190
|
# Martian Time, Coordinated
|
|
179
191
|
#
|
|
180
|
-
class MTC <
|
|
192
|
+
class MTC < LocalTime
|
|
181
193
|
|
|
182
194
|
private
|
|
183
195
|
|
|
184
196
|
# オブジェクトの正規化
|
|
185
197
|
def _normalize(args=[], options={})
|
|
186
198
|
@label = m17n('MTC')
|
|
187
|
-
@time_standard = When.Resource("_t:MartianTimeCoordinated")
|
|
199
|
+
@time_standard = When.Resource("_t:MartianTimeCoordinated?location=(_l:long=#{@long||0}&datum=Mars)")
|
|
188
200
|
super
|
|
189
201
|
end
|
|
190
202
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C) 2011-
|
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
4
4
|
|
|
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
|
|
@@ -10,14 +10,21 @@ module When
|
|
|
10
10
|
module Coordinates
|
|
11
11
|
|
|
12
12
|
# Mayan Residue
|
|
13
|
-
Mayan = [{'Epoch' => {
|
|
14
|
-
|
|
13
|
+
Mayan = [{'Epoch' => Hash.new {|hash, key|
|
|
14
|
+
epoch = key.to_i
|
|
15
|
+
hash[key] = key ? {
|
|
16
|
+
'Haab' => ((300 + epoch) % 365).to_s,
|
|
17
|
+
'Trecena' => (( 8 + epoch) % 13).to_s,
|
|
18
|
+
'Tzolkin' => (( 4 + epoch) % 20).to_s,
|
|
19
|
+
'LoN' => (( 3 + epoch) % 9).to_s
|
|
20
|
+
} : nil
|
|
21
|
+
}}, BasicTypes::M17n, [
|
|
15
22
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
16
23
|
"locale:[=en:, ja=ja:, alias]",
|
|
17
24
|
"names:[Mayan]",
|
|
18
25
|
|
|
19
26
|
[Residue,
|
|
20
|
-
"label:[Haab', ハアブ, Haab]", "divisor:365", 'day:#{Haab
|
|
27
|
+
"label:[Haab', ハアブ, Haab]", "divisor:365", 'day:#{Haab:300}', "format:[%2$d%1$s/365]",
|
|
21
28
|
"namespace:[glyph=http://en.wikipedia.org/wiki/File:Maya-]",
|
|
22
29
|
[Residue, "label:[Pop =glyph:Pop.jpg, ポプ, Pop ]", "remainder: 0"],
|
|
23
30
|
[Residue, "label:[Wo' =glyph:Dresden-wo.jpg, ウオ, Wo ]", "remainder: 20"],
|
|
@@ -90,12 +97,11 @@ module When
|
|
|
90
97
|
#
|
|
91
98
|
# Mayan Long Count
|
|
92
99
|
#
|
|
93
|
-
LongCount = [{
|
|
94
|
-
'2D' => {'Base' => '?Epoch=2D'}}}, self, [
|
|
100
|
+
LongCount = [{}, self, [
|
|
95
101
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
96
102
|
"locale:[=en:, ja=ja:, alias]",
|
|
97
|
-
'area:[LongCount#{
|
|
98
|
-
["[PHLC=, 先史時代=, PreHistoricLongCount=]0.0.0.0.0", "[Pre Historic=]", '-13.0.0.0.0^LongCount#{
|
|
103
|
+
'area:[LongCount#{?Epoch=Epoch}=en:Mesoamerican_Long_Count_calendar, マヤ長期暦=ja:%%<長期暦>]',
|
|
104
|
+
["[PHLC=, 先史時代=, PreHistoricLongCount=]0.0.0.0.0", "[Pre Historic=]", '-13.0.0.0.0^LongCount#{?Epoch=Epoch}'],
|
|
99
105
|
["[HLC=, 歴史時代=, HistoricLongCount=]0.0.0.0.1", "[Historic Age=]", "0.0.0.0.1"],
|
|
100
106
|
["[NLC=, 新時代=, NewLongCount=]0.0.0.0.1", "[New Age=]", "13.0.0.0.1", "26.0.0.0.1"]
|
|
101
107
|
]]
|
|
@@ -109,8 +115,10 @@ module When
|
|
|
109
115
|
#
|
|
110
116
|
# Mayan Long Count
|
|
111
117
|
#
|
|
112
|
-
LongCount = [{'Epoch'
|
|
113
|
-
|
|
118
|
+
LongCount = [{'Epoch' => Hash.new {|hash, key|
|
|
119
|
+
hash[key] = {
|
|
120
|
+
'origin_of_LSC' => 584283 + key.to_i
|
|
121
|
+
}}}, CyclicTableBased, {
|
|
114
122
|
'origin_of_LSC' => 584283,
|
|
115
123
|
'rule_table' => {
|
|
116
124
|
'T' => {'Rule' =>[360]},
|
|
@@ -118,7 +126,7 @@ module When
|
|
|
118
126
|
},
|
|
119
127
|
'index_of_MSC' => 2,
|
|
120
128
|
'indices'=> [_c20, _c20, _c18, _c20],
|
|
121
|
-
'note' => 'MayanNotes#{
|
|
129
|
+
'note' => 'MayanNotes#{?Epoch=Epoch}'
|
|
122
130
|
}]
|
|
123
131
|
end
|
|
124
132
|
end
|
data/lib/when_exe/region/moon.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C) 2011-
|
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
4
4
|
|
|
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
|
|
@@ -23,11 +23,11 @@ module When
|
|
|
23
23
|
# @private
|
|
24
24
|
P0L =
|
|
25
25
|
[[LIN , 124.8757417 , 4812.6788201 , -1.330000E-7],
|
|
26
|
-
[SINL , 338.9158263 , 4771.9886313 , 6.2887 ,+8.99400E-7],
|
|
27
|
-
[SIN , 107.236832 , -4133.3536154, 1.2740 ,+1.22612E-6],
|
|
28
|
-
[SIN , 51.678963 , 8905.3422467, 0.6583 ,-0.32672E-6],
|
|
29
|
-
[SIN , 317.831653 , 9543.9772627, 0.2136 ,+1.7988E-6 ],
|
|
30
|
-
[SIN , 176.528826 , 359.990504 , 0.1856 ,-1.561E-8 ],
|
|
26
|
+
[SINL , 338.9158263 , 4771.9886313 , 6.2887 ,+8.99400E-7], # 中心差
|
|
27
|
+
[SIN , 107.236832 , -4133.3536154, 1.2740 ,+1.22612E-6], # 出差
|
|
28
|
+
[SIN , 51.678963 , 8905.3422467, 0.6583 ,-0.32672E-6], # 二均差
|
|
29
|
+
[SIN , 317.831653 , 9543.9772627, 0.2136 ,+1.7988E-6 ], # 中心差 x 2
|
|
30
|
+
[SIN , 176.528826 , 359.990504 , 0.1856 ,-1.561E-8 ], # 年差
|
|
31
31
|
|
|
32
32
|
[SIN , 292.463 , 9664.0403505, 0.1143 ,-0.6812E-6 ],
|
|
33
33
|
[SIN , 86.16 , 638.63475182, 0.0588 ,+2.1256E-6 ],
|
|
@@ -36,7 +36,7 @@ module When
|
|
|
36
36
|
[SIN , 124.86 , -8545.352 , 0.0459 ],
|
|
37
37
|
|
|
38
38
|
[SIN , 342.38 , 4411.998 , 0.0410 ],
|
|
39
|
-
[SIN , 25.83 , 4452.671 , 0.0348 ],
|
|
39
|
+
[SIN , 25.83 , 4452.671 , 0.0348 ], # 月角差( 二均差 / 2)
|
|
40
40
|
[SIN , 155.45 , 5131.979 , 0.0305 ],
|
|
41
41
|
[SIN , 240.79 , 758.698 , 0.0153 ],
|
|
42
42
|
[SIN , 271.38 , 14436.029 , 0.0125 ],
|
|
@@ -14,10 +14,10 @@ class When::TM::CalendarEra
|
|
|
14
14
|
"namespace:[ja=http://ja.wikipedia.org/wiki/, en=http://en.wikipedia.org/wiki/]",
|
|
15
15
|
"locale:[=ja:, en=en:, alias]",
|
|
16
16
|
"area:[日本]",
|
|
17
|
-
["[皇紀]1", "@A", "-659-01-01^
|
|
18
|
-
["[皇紀]1113", "
|
|
19
|
-
["[皇紀]1253", "",
|
|
20
|
-
["[皇紀]2533", "
|
|
17
|
+
["[皇紀]1", "@A", "-659-01-01^JapaneseTwin::平朔儀鳳暦"],
|
|
18
|
+
["[皇紀]1113", "@CR", "0453-12-14^ChineseTwin::元嘉暦"],
|
|
19
|
+
["[皇紀]1253", "", "0593-01-01^Japanese"],
|
|
20
|
+
["[皇紀]2533", "@CR", "1873-01-01^Gregorian"]
|
|
21
21
|
]]
|
|
22
22
|
|
|
23
23
|
#
|
|
@@ -27,7 +27,7 @@ class When::TM::CalendarEra
|
|
|
27
27
|
"namespace:[ja=http://ja.wikipedia.org/wiki/, en=http://en.wikipedia.org/wiki/]",
|
|
28
28
|
"locale:[=ja:, en=en:, alias]",
|
|
29
29
|
"period:[(日本書紀)=ja:%%<日本書紀>, (Nihon_Shoki)=en:Nihon_Shoki]",
|
|
30
|
-
["[神武]1", "@A", "name=[神武];-659-01-01^
|
|
30
|
+
["[神武]1", "@A", "name=[神武];-659-01-01^JapaneseTwin::平朔儀鳳暦"],
|
|
31
31
|
["[綏靖]1", "@A", "name=[綏靖];-580-01-08"],
|
|
32
32
|
["[安寧]0", "@A", "name=[安寧];-548-07-03"],
|
|
33
33
|
["[懿徳]1", "@A", "name=[懿徳];-509-02-04"],
|
|
@@ -47,7 +47,7 @@ class When::TM::CalendarEra
|
|
|
47
47
|
["[履中]1", "@A", "name=[履中];0400-02-01"],
|
|
48
48
|
["[反正]1", "@A", "name=[反正];0406-01-02"],
|
|
49
49
|
["[允恭]1", "@A", "name=[允恭];0412-12"],
|
|
50
|
-
["[安康]0", "@A", "name=[安康];0453-12-14^
|
|
50
|
+
["[安康]0", "@A", "name=[安康];0453-12-14^ChineseTwin::元嘉暦"],
|
|
51
51
|
["[雄略]0", "@A", "name=[雄略];0456-11-13"],
|
|
52
52
|
["[清寧]1", "@A", "name=[清寧];0480-01-15"],
|
|
53
53
|
["[顕宗]1", "@A", "name=[顕宗];0485-01-01"],
|
|
@@ -64,7 +64,7 @@ class When::TM::CalendarEra
|
|
|
64
64
|
["[舒明]1", "@A", "name=[舒明];0629-01-04"],
|
|
65
65
|
["[皇極]1", "@A", "name=[皇極];0642-01-15"],
|
|
66
66
|
["[大化]1", "@A", "name=[孝徳];0645-06-19"],
|
|
67
|
-
["[白雉]1", "
|
|
67
|
+
["[白雉]1", "@FE", " 0650-02-15"],
|
|
68
68
|
["[斉明]1", "@A", "name=[斉明];0655-01-03"],
|
|
69
69
|
["[天智]1", "@A", "name=[天智];0662-01-01"],
|
|
70
70
|
["[天武]1", "@A", "name=[天武];0672-01-01"],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C) 2011-
|
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
4
4
|
|
|
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
|
|
@@ -12,7 +12,7 @@ module When
|
|
|
12
12
|
RomanTerms = [self, [
|
|
13
13
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
14
14
|
"locale:[=en:, ja=ja:, alias]",
|
|
15
|
-
"names:[RomanTerms]",
|
|
15
|
+
"names:[RomanTerms=]",
|
|
16
16
|
|
|
17
17
|
[self, # ..CE-44 / ..BCE45
|
|
18
18
|
"names:[MonthA, 月=ja:%%<月_(暦)>]",
|
|
@@ -207,120 +207,120 @@ module When
|
|
|
207
207
|
RomanB = [CyclicTableBased, Options.merge({'indices' => _IndicesB})]
|
|
208
208
|
Roman = [CyclicTableBased, Options]
|
|
209
209
|
RomanC = [CyclicTableBased, Options.merge({'indices' => _IndicesC})]
|
|
210
|
+
end
|
|
210
211
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
212
|
+
#
|
|
213
|
+
# 古代ローマの暦注
|
|
214
|
+
#
|
|
215
|
+
class CalendarNote::RomanNote < CalendarNote
|
|
215
216
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
217
|
+
NoteObjects = [When::BasicTypes::M17n, [
|
|
218
|
+
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
|
219
|
+
"locale:[=en:, ja=ja:, alias]",
|
|
220
|
+
"names:[Roman]",
|
|
220
221
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
],
|
|
228
|
-
|
|
229
|
-
[When::Coordinates::Residue,
|
|
230
|
-
"label:[Metonic=en:Metonic_cycle, 太陰章=]", "divisor:19", "year:0",
|
|
231
|
-
],
|
|
232
|
-
|
|
233
|
-
[When::Coordinates::Residue,
|
|
234
|
-
"label:[Indiction, インディクション]", "divisor:15", "year:-2",
|
|
235
|
-
[When::Coordinates::Residue, "label:[I= ]", "remainder: 0"],
|
|
236
|
-
[When::Coordinates::Residue, "label:[II= ]", "remainder: 1"],
|
|
237
|
-
[When::Coordinates::Residue, "label:[III= ]", "remainder: 2"],
|
|
238
|
-
[When::Coordinates::Residue, "label:[IV= ]", "remainder: 3"],
|
|
239
|
-
[When::Coordinates::Residue, "label:[V= ]", "remainder: 4"],
|
|
240
|
-
[When::Coordinates::Residue, "label:[VI= ]", "remainder: 5"],
|
|
241
|
-
[When::Coordinates::Residue, "label:[VII= ]", "remainder: 6"],
|
|
242
|
-
[When::Coordinates::Residue, "label:[VIII=]", "remainder: 7"],
|
|
243
|
-
[When::Coordinates::Residue, "label:[IX= ]", "remainder: 8"],
|
|
244
|
-
[When::Coordinates::Residue, "label:[X= ]", "remainder: 9"],
|
|
245
|
-
[When::Coordinates::Residue, "label:[XI= ]", "remainder: 10"],
|
|
246
|
-
[When::Coordinates::Residue, "label:[XII= ]", "remainder: 11"],
|
|
247
|
-
[When::Coordinates::Residue, "label:[XIII=]", "remainder: 12"],
|
|
248
|
-
[When::Coordinates::Residue, "label:[XIV= ]", "remainder: 13"],
|
|
249
|
-
[When::Coordinates::Residue, "label:[XV= ]", "remainder: 14"],
|
|
250
|
-
]
|
|
222
|
+
# 年の暦注 ----------------------------
|
|
223
|
+
[When::BasicTypes::M17n,
|
|
224
|
+
"names:[year]",
|
|
225
|
+
|
|
226
|
+
[When::Coordinates::Residue,
|
|
227
|
+
"label:[Solar=en:Solar_cycle_(calendar), 太陽章=]", "divisor:28", "year:-8",
|
|
251
228
|
],
|
|
252
229
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
"names:[month]",
|
|
256
|
-
[When::BasicTypes::M17n,
|
|
257
|
-
"names:[Month]"
|
|
258
|
-
]
|
|
230
|
+
[When::Coordinates::Residue,
|
|
231
|
+
"label:[Metonic=en:Metonic_cycle, 太陰章=]", "divisor:19", "year:0",
|
|
259
232
|
],
|
|
260
233
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
"
|
|
234
|
+
[When::Coordinates::Residue,
|
|
235
|
+
"label:[Indiction, インディクション]", "divisor:15", "year:-2",
|
|
236
|
+
[When::Coordinates::Residue, "label:[I= ]", "remainder: 0"],
|
|
237
|
+
[When::Coordinates::Residue, "label:[II= ]", "remainder: 1"],
|
|
238
|
+
[When::Coordinates::Residue, "label:[III= ]", "remainder: 2"],
|
|
239
|
+
[When::Coordinates::Residue, "label:[IV= ]", "remainder: 3"],
|
|
240
|
+
[When::Coordinates::Residue, "label:[V= ]", "remainder: 4"],
|
|
241
|
+
[When::Coordinates::Residue, "label:[VI= ]", "remainder: 5"],
|
|
242
|
+
[When::Coordinates::Residue, "label:[VII= ]", "remainder: 6"],
|
|
243
|
+
[When::Coordinates::Residue, "label:[VIII=]", "remainder: 7"],
|
|
244
|
+
[When::Coordinates::Residue, "label:[IX= ]", "remainder: 8"],
|
|
245
|
+
[When::Coordinates::Residue, "label:[X= ]", "remainder: 9"],
|
|
246
|
+
[When::Coordinates::Residue, "label:[XI= ]", "remainder: 10"],
|
|
247
|
+
[When::Coordinates::Residue, "label:[XII= ]", "remainder: 11"],
|
|
248
|
+
[When::Coordinates::Residue, "label:[XIII=]", "remainder: 12"],
|
|
249
|
+
[When::Coordinates::Residue, "label:[XIV= ]", "remainder: 13"],
|
|
250
|
+
[When::Coordinates::Residue, "label:[XV= ]", "remainder: 14"],
|
|
251
|
+
]
|
|
252
|
+
],
|
|
264
253
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
254
|
+
# 月の暦注 ----------------------------
|
|
255
|
+
[When::BasicTypes::M17n,
|
|
256
|
+
"names:[month]",
|
|
257
|
+
[When::BasicTypes::M17n,
|
|
258
|
+
"names:[Month]"
|
|
268
259
|
]
|
|
269
|
-
]
|
|
260
|
+
],
|
|
261
|
+
|
|
262
|
+
# 日の暦注 ----------------------------
|
|
263
|
+
[When::BasicTypes::M17n,
|
|
264
|
+
"names:[day]",
|
|
270
265
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
'a.d. IX', 'a.d. X', 'a.d. XI', 'a.d. XII', 'a.d. XIII', 'a.d. XIV', 'a.d. XV',
|
|
275
|
-
'a.d. XVI', 'a.d. XVII', 'a.d. XVIII', 'a.d. XIX', 'a.d. XX', 'a.d. XXI', 'a.d. XXII'
|
|
266
|
+
[When::BasicTypes::M17n,
|
|
267
|
+
"names:[Nomen]"
|
|
268
|
+
]
|
|
276
269
|
]
|
|
270
|
+
]]
|
|
277
271
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
# @param [When::TM::CalDate] date
|
|
285
|
-
#
|
|
286
|
-
# @return [String]
|
|
287
|
-
#
|
|
288
|
-
def nomen(date)
|
|
289
|
-
y, m, d = date.cal_date
|
|
290
|
-
month_name = _abbr_of_month(date)
|
|
291
|
-
kal, to_nonae, nonae, to_idus, idus = LongMonths.include?(m) ? LongType : ShortType
|
|
292
|
-
case d
|
|
293
|
-
when kal ; return 'Kal. ' + month_name
|
|
294
|
-
when to_nonae ; return Order[nonae - d] + ' Non. ' + month_name
|
|
295
|
-
when nonae ; return 'Non. ' + month_name
|
|
296
|
-
when to_idus ; return Order[idus - d] + ' Id. ' + month_name
|
|
297
|
-
when idus ; return 'Id. ' + month_name
|
|
298
|
-
end
|
|
299
|
-
this_month = date.floor(When::MONTH)
|
|
300
|
-
next_month = this_month.succ
|
|
301
|
-
month_name = _abbr_of_month(next_month)
|
|
302
|
-
rest = next_month.to_i - date.to_i
|
|
303
|
-
if m == 2 && next_month.to_i - this_month.to_i == 29
|
|
304
|
-
return Order[0] + ' Kal. ' + month_name if rest == 5
|
|
305
|
-
rest -= 1 if rest > 5
|
|
306
|
-
end
|
|
307
|
-
return Order[rest] + ' Kal. ' + month_name
|
|
308
|
-
end
|
|
272
|
+
Order = [
|
|
273
|
+
'a.d. bis VI',
|
|
274
|
+
'prid.', 'a.d. III', 'a.d. IV', 'a.d. V', 'a.d. VI', 'a.d. VII', 'a.d. VIII',
|
|
275
|
+
'a.d. IX', 'a.d. X', 'a.d. XI', 'a.d. XII', 'a.d. XIII', 'a.d. XIV', 'a.d. XV',
|
|
276
|
+
'a.d. XVI', 'a.d. XVII', 'a.d. XVIII', 'a.d. XIX', 'a.d. XX', 'a.d. XXI', 'a.d. XXII'
|
|
277
|
+
]
|
|
309
278
|
|
|
310
|
-
|
|
279
|
+
LongMonths = [3, 5, 7, 10, When.Pair(11,0.5), When.Pair(11,1.5)]
|
|
280
|
+
LongType = [1, 2..6, 7, 8..14, 15]
|
|
281
|
+
ShortType = [1, 2..4, 5, 6..12, 13]
|
|
311
282
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
283
|
+
# 暦注 - 日の名前
|
|
284
|
+
#
|
|
285
|
+
# @param [When::TM::CalDate] date
|
|
286
|
+
#
|
|
287
|
+
# @return [String]
|
|
288
|
+
#
|
|
289
|
+
def nomen(date)
|
|
290
|
+
y, m, d = date.cal_date
|
|
291
|
+
month_name = _abbr_of_month(date)
|
|
292
|
+
kal, to_nonae, nonae, to_idus, idus = LongMonths.include?(m) ? LongType : ShortType
|
|
293
|
+
case d
|
|
294
|
+
when kal ; return 'Kal. ' + month_name
|
|
295
|
+
when to_nonae ; return Order[nonae - d] + ' Non. ' + month_name
|
|
296
|
+
when nonae ; return 'Non. ' + month_name
|
|
297
|
+
when to_idus ; return Order[idus - d] + ' Id. ' + month_name
|
|
298
|
+
when idus ; return 'Id. ' + month_name
|
|
316
299
|
end
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
300
|
+
this_month = date.floor(When::MONTH)
|
|
301
|
+
next_month = this_month.succ
|
|
302
|
+
month_name = _abbr_of_month(next_month)
|
|
303
|
+
rest = next_month.to_i - date.to_i
|
|
304
|
+
if m == 2 && next_month.to_i - this_month.to_i == 29
|
|
305
|
+
return Order[0] + ' Kal. ' + month_name if rest == 5
|
|
306
|
+
rest -= 1 if rest > 5
|
|
323
307
|
end
|
|
308
|
+
return Order[rest] + ' Kal. ' + month_name
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
private
|
|
312
|
+
|
|
313
|
+
# オブジェクトの正規化
|
|
314
|
+
def _normalize(args=[], options={})
|
|
315
|
+
@event = 'nomen'
|
|
316
|
+
super
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
# 日の省略名
|
|
320
|
+
def _abbr_of_month(month)
|
|
321
|
+
name = month.name('month').to_s
|
|
322
|
+
return name.sub(/ (..).*/, ' \1.') if name.sub!(/Intercalaris(.*)?/, 'Int.\1')
|
|
323
|
+
name.size <= 3 ? name : name[/^...[^caeiou]*/] + '.'
|
|
324
324
|
end
|
|
325
325
|
end
|
|
326
326
|
end
|