when_exe 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +36 -33
  3. data/bin/locales.rb +1 -1
  4. data/bin/make_ttl.rb.config +1 -1
  5. data/lib/when_exe.rb +27 -16
  6. data/lib/when_exe/basictypes.rb +772 -771
  7. data/lib/when_exe/calendartypes.rb +1485 -1453
  8. data/lib/when_exe/coordinates.rb +5 -0
  9. data/lib/when_exe/core/compatibility.rb +1 -1
  10. data/lib/when_exe/core/duration.rb +147 -116
  11. data/lib/when_exe/core/extension.rb +499 -497
  12. data/lib/when_exe/ephemeris.rb +1952 -1951
  13. data/lib/when_exe/ephemeris/eclipse.rb +5 -4
  14. data/lib/when_exe/ephemeris/notes.rb +457 -421
  15. data/lib/when_exe/ephemeris/planets.rb +585 -585
  16. data/lib/when_exe/ephemeris/sun.rb +214 -214
  17. data/lib/when_exe/google_api.rb +153 -0
  18. data/lib/when_exe/icalendar.rb +1640 -1632
  19. data/lib/when_exe/inspect.rb +42 -20
  20. data/lib/when_exe/linkeddata.rb +28 -7
  21. data/lib/when_exe/locales/autoload.rb +2 -1
  22. data/lib/when_exe/locales/locale.rb +35 -15
  23. data/lib/when_exe/locales/zh.rb +77 -0
  24. data/lib/when_exe/mini_application.rb +3 -1
  25. data/lib/when_exe/{googlecalendar.rb → obsolete/googlecalendar.rb} +144 -144
  26. data/lib/when_exe/parts/enumerator.rb +498 -486
  27. data/lib/when_exe/parts/geometric_complex.rb +397 -397
  28. data/lib/when_exe/parts/timezone.rb +246 -241
  29. data/lib/when_exe/region/armenian.rb +55 -56
  30. data/lib/when_exe/region/babylonian.rb +406 -405
  31. data/lib/when_exe/region/bahai.rb +107 -106
  32. data/lib/when_exe/region/balinese.rb +624 -622
  33. data/lib/when_exe/region/chinese.rb +1071 -1026
  34. data/lib/when_exe/region/chinese/epochs.rb +28 -28
  35. data/lib/when_exe/region/chinese/notes.rb +219 -0
  36. data/lib/when_exe/region/chinese/twins.rb +803 -803
  37. data/lib/when_exe/region/christian.rb +21 -15
  38. data/lib/when_exe/region/coptic.rb +107 -106
  39. data/lib/when_exe/region/discordian.rb +218 -218
  40. data/lib/when_exe/region/east_asian.rb +1 -1
  41. data/lib/when_exe/region/french.rb +126 -56
  42. data/lib/when_exe/region/geologicalage.rb +639 -639
  43. data/lib/when_exe/region/goddess.rb +60 -58
  44. data/lib/when_exe/region/hanke_henry.rb +2 -2
  45. data/lib/when_exe/region/indian.rb +1225 -1222
  46. data/lib/when_exe/region/international_fixed.rb +96 -97
  47. data/lib/when_exe/region/iranian.rb +206 -203
  48. data/lib/when_exe/region/islamic.rb +102 -102
  49. data/lib/when_exe/region/japanese.rb +126 -71
  50. data/lib/when_exe/region/japanese/epochs.rb +426 -426
  51. data/lib/when_exe/region/japanese/notes.rb +101 -81
  52. data/lib/when_exe/region/japanese/residues.rb +1345 -1311
  53. data/lib/when_exe/region/japanese/twins.rb +225 -225
  54. data/lib/when_exe/region/japanese/weeks.rb +112 -112
  55. data/lib/when_exe/region/javanese.rb +230 -230
  56. data/lib/when_exe/region/jewish.rb +130 -131
  57. data/lib/when_exe/region/m17n.rb +114 -114
  58. data/lib/when_exe/region/martian.rb +258 -258
  59. data/lib/when_exe/region/mayan.rb +11 -8
  60. data/lib/when_exe/region/pax.rb +4 -5
  61. data/lib/when_exe/region/pope.rb +1 -1
  62. data/lib/when_exe/region/positivist.rb +100 -100
  63. data/lib/when_exe/region/residue.rb +162 -162
  64. data/lib/when_exe/region/roman.rb +333 -333
  65. data/lib/when_exe/region/{soviet.rb → russian.rb} +221 -209
  66. data/lib/when_exe/region/shire.rb +222 -223
  67. data/lib/when_exe/region/symmetry.rb +50 -50
  68. data/lib/when_exe/region/thai.rb +336 -336
  69. data/lib/when_exe/region/tibetan.rb +315 -316
  70. data/lib/when_exe/region/tranquility.rb +207 -208
  71. data/lib/when_exe/region/vanishing_leprechaun.rb +3 -1
  72. data/lib/when_exe/region/vietnamese.rb +449 -440
  73. data/lib/when_exe/region/weekdate.rb +80 -80
  74. data/lib/when_exe/region/world.rb +170 -171
  75. data/lib/when_exe/region/world_season.rb +89 -89
  76. data/lib/when_exe/region/yerm.rb +3 -3
  77. data/lib/when_exe/region/zoroastrian.rb +205 -205
  78. data/lib/when_exe/timestandard.rb +708 -707
  79. data/lib/when_exe/tmduration.rb +338 -338
  80. data/lib/when_exe/tmobjects.rb +1356 -1356
  81. data/lib/when_exe/tmposition.rb +66 -31
  82. data/lib/when_exe/version.rb +16 -2
  83. data/test/examples/Residue.m17n +83 -83
  84. data/test/examples/Terms.m17n +2 -2
  85. data/test/test.rb +2 -2
  86. data/test/test/google_api.rb +65 -0
  87. data/test/test/linkeddata.rb +1 -1
  88. data/test/test/{googlecalendar.rb → obsolete/googlecalendar.rb} +194 -194
  89. data/test/test/region/indian.rb +90 -85
  90. data/test/test/region/m17n.rb +7 -7
  91. data/test/test/region/mayan.rb +195 -195
  92. data/test/test/region/residue.rb +153 -153
  93. data/test/test/tmposition.rb +11 -1
  94. data/when_exe.gemspec +2 -2
  95. metadata +95 -8
  96. data/test/test.rb.config +0 -1
@@ -1,230 +1,230 @@
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
- Javanese = [self, [
12
- "locale:[=en:, ja=ja:, alias]",
13
- "names:[Javanese=]",
14
- "[JavaneseLunar=, ジャワ・イスラーム暦=]",
15
- "[Pranatamangsa=, プラノトモンソ=]",
16
-
17
- [self,
18
- "names:[HinduMonth=, ヒンドゥ月=]",
19
- "[Kalima=, 5月=]",
20
- "[Kanem=, 6月=]",
21
- "[Kapitu=, 7月=]",
22
- "[Kawolu=, 8月=]",
23
- "[Kasanga=, 9月=]",
24
- "[Kasapuluh=, 10月=]",
25
- "[Dhestal=, 11月=]",
26
- "[Sadha=, 12月=]",
27
- "[Kasa=, 1月=]",
28
- "[Karo=, 2月=]",
29
- "[Katelu=, 3月=]",
30
- "[Kapat=, 4月=]"
31
- ],
32
-
33
- [self,
34
- "names:[IslamicMonth=, イスラーム月=]",
35
- "[Suro=, 1月=]",
36
- "[Sapar=, 2月=]",
37
- "[Mulud=, 3月=]",
38
- "[Bakdomulud=, 4月=]",
39
- "[Jumadilawal=, 5月=]",
40
- "[Jumadilakir=, 6月=]",
41
- "[Rejeb=, 7月=]",
42
- "[Ruwah=, 8月=]",
43
- "[Poso=, 9月=]",
44
- "[Sawal=, 10月=]",
45
- "[Dulkaidah=, 11月=]",
46
- "[Besar=, 12月=]"
47
- ]
48
- ]]
49
- end
50
-
51
- class CalendarNote
52
- Javanese = [['Javanese::Windu'], ['_m:Calendar::Month'],
53
- ['Javanese::Pasaran', 'Javanese::Paringkelan', 'Javanese::Week', 'Javanese::Wuku']]
54
- end
55
-
56
- module Coordinates
57
-
58
- # Javanese Residues
59
- Javanese = [When::BasicTypes::M17n, [
60
- "locale:[=en:, ja=ja:, alias]",
61
- "names:[Javanese]",
62
-
63
- [Residue,
64
- "label:[Windu=]", "divisor:8", "year:3",
65
- [Residue, "label:[Alip= ]", "remainder: 0"],
66
- [Residue, "label:[Ehe= ]", "remainder: 1"],
67
- [Residue, "label:[Jimawal=]", "remainder: 2"],
68
- [Residue, "label:[Je= ]", "remainder: 3"],
69
- [Residue, "label:[Dal= ]", "remainder: 4"],
70
- [Residue, "label:[Be= ]", "remainder: 5"],
71
- [Residue, "label:[Wawu= ]", "remainder: 6"],
72
- [Residue, "label:[Jimakir=]", "remainder: 7"]
73
- ],
74
-
75
- [Residue,
76
- "label:[Pasaran=, 五曜=]", "divisor:5", "day:1",
77
- [Residue, "label:[Paing= ]", "remainder: 0"],
78
- [Residue, "label:[Pon= ]", "remainder: 1"],
79
- [Residue, "label:[Wage= ]", "remainder: 2"],
80
- [Residue, "label:[Kliwon= ]", "remainder: 3"],
81
- [Residue, "label:[Legi= ]", "remainder: 4"]
82
- ],
83
-
84
- [Residue,
85
- "label:[Paringkelan=, 六曜=]", "divisor:6", "day:2",
86
- [Residue, "label:[Tungle= ]", "remainder: 0"],
87
- [Residue, "label:[Aryang= ]", "remainder: 1"],
88
- [Residue, "label:[Warukung= ]", "remainder: 2"],
89
- [Residue, "label:[Paningron=]", "remainder: 3"],
90
- [Residue, "label:[Uwas= ]", "remainder: 4"],
91
- [Residue, "label:[Mawulu= ]", "remainder: 5"]
92
- ],
93
-
94
- [Residue,
95
- "label:[Week=, 七曜=]", "divisor:7", "day:6",
96
- [Residue, "label:[Minggu=]", "remainder: 0"],
97
- [Residue, "label:[Senin= ]", "remainder: 1"],
98
- [Residue, "label:[Selasa=]", "remainder: 2"],
99
- [Residue, "label:[Rabu= ]", "remainder: 3"],
100
- [Residue, "label:[Kamis= ]", "remainder: 4"],
101
- [Residue, "label:[Jumat= ]", "remainder: 5"],
102
- [Residue, "label:[Sabtu= ]", "remainder: 6"]
103
- ],
104
-
105
- [Residue,
106
- "label:[Wuku=]", "divisor:210", "day:146",
107
- [Residue, "label:[Sinto= ]", "remainder: 0"],
108
- [Residue, "label:[Landep= ]", "remainder: 7"],
109
- [Residue, "label:[Wukir= ]", "remainder: 14"],
110
- [Residue, "label:[Kurantil= ]", "remainder: 21"],
111
- [Residue, "label:[Tolu= ]", "remainder: 28"],
112
- [Residue, "label:[Gumbrek= ]", "remainder: 35"],
113
- [Residue, "label:[Warigalit= ]", "remainder: 42"],
114
- [Residue, "label:[Warigagung= ]", "remainder: 49"],
115
- [Residue, "label:[Julungwangi= ]", "remainder: 56"],
116
- [Residue, "label:[Sungsang= ]", "remainder: 63"],
117
- [Residue, "label:[Galungan= ]", "remainder: 70"],
118
- [Residue, "label:[Kuningan= ]", "remainder: 77"],
119
- [Residue, "label:[Langkir= ]", "remainder: 84"],
120
- [Residue, "label:[Mondosijo= ]", "remainder: 91"],
121
- [Residue, "label:[Julungpujut= ]", "remainder: 98"],
122
- [Residue, "label:[Pahang= ]", "remainder:105"],
123
- [Residue, "label:[Kuruwekut= ]", "remainder:112"],
124
- [Residue, "label:[Marakeh= ]", "remainder:119"],
125
- [Residue, "label:[Tambir= ]", "remainder:126"],
126
- [Residue, "label:[Medangkungan=]", "remainder:133"],
127
- [Residue, "label:[Maktal= ]", "remainder:140"],
128
- [Residue, "label:[Waye= ]", "remainder:147"],
129
- [Residue, "label:[Menahil= ]", "remainder:154"],
130
- [Residue, "label:[Prangbakat= ]", "remainder:161"],
131
- [Residue, "label:[Bolo= ]", "remainder:168"],
132
- [Residue, "label:[Wugu= ]", "remainder:175"],
133
- [Residue, "label:[Wayang= ]", "remainder:182"],
134
- [Residue, "label:[Kulawu= ]", "remainder:189"],
135
- [Residue, "label:[Dukut= ]", "remainder:196"],
136
- [Residue, "label:[Watugunung= ]", "remainder:203"]
137
- ]
138
- ]]
139
- end
140
-
141
- class TM::CalendarEra
142
-
143
- # サカ紀元
144
- JavaneseLunar = [self, [
145
- "locale:[=en:, ja=ja:, alias]",
146
- "period:[JavaneseLunar=, ジャワ・イスラーム暦=]",
147
- ["[SE=, サカ暦=, alias:Javanese_Saka_Era]1547.1.1", '@CE', "1035-01-01^Javanese1547",
148
- "1163-01-01^Javanese1675",
149
- "1237-01-01^Javanese1749", '+Infinity']
150
- ]]
151
- end
152
-
153
- module CalendarTypes
154
-
155
- #
156
- # Javanese Calendar (SE1547-1674) : Dal年 - 閏年
157
- #
158
- Javanese1547 = [CyclicTableBased, {
159
- 'origin_of_LSC' => 2317690,
160
- 'origin_of_MSC' => 1555-512,
161
- 'indices' => [
162
- When.Index('Javanese::IslamicMonth', {:unit =>12}),
163
- When::Coordinates::DefaultDayIndex
164
- ],
165
- 'rule_table' => {
166
- 'T' => {'Rule' =>[354, 355, 354, 354, 355, 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
167
- 354 => {'Length'=>[30,29] * 6 },
168
- 355 => {'Length'=>[30,29] * 5 + [30] * 2}
169
- },
170
- 'note' => 'Javanese'
171
- }]
172
-
173
- #
174
- # Javanese Calendar (SE1675-1748) : Dal年 - 平年
175
- #
176
- Javanese1675 = [CyclicTableBased, {
177
- 'origin_of_LSC' => 2360214,
178
- 'origin_of_MSC' => 1675-512,
179
- 'indices' => [
180
- When.Index('Javanese::IslamicMonth', {:unit =>12}),
181
- When::Coordinates::DefaultDayIndex
182
- ],
183
- 'rule_table' => {
184
- 'T' => {'Rule' =>[354, 355, 354, 355, 354, 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
185
- 354 => {'Length'=>[30,29] * 6 },
186
- 355 => {'Length'=>[30,29] * 5 + [30] * 2 }
187
- },
188
- 'note' => 'Javanese'
189
- }]
190
-
191
- #
192
- # Javanese Calendar (SE1749-) : Dal年 - 平年,月日別配当
193
- #
194
- Javanese1749 = [CyclicTableBased, {
195
- 'origin_of_LSC' => 2385728,
196
- 'origin_of_MSC' => 1747-512,
197
- 'indices' => [
198
- When.Index('Javanese::IslamicMonth', {:unit =>12}),
199
- When::Coordinates::DefaultDayIndex
200
- ],
201
- 'rule_table' => {
202
- 'T' => {'Rule' =>[354, 355, 354, 355, 'D', 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
203
- 354 => {'Length'=>[30,29] * 6 },
204
- 'D' => {'Length'=>[30]*2+[29]*3+[29,30]*3+[30]},
205
- 355 => {'Length'=>[30,29] * 5 + [30] * 2 }
206
- },
207
- 'note' => 'Javanese'
208
- }]
209
-
210
- #
211
- # Pranatamangsa
212
- #
213
- Pranatamangsa = [CyclicTableBased, {
214
- 'label' => 'Javanese::Pranatamangsa',
215
- 'origin_of_LSC' => 1721232,
216
- 'origin_of_MSC' => -1854,
217
- 'indices' => [
218
- When.Index('Javanese::HinduMonth', {:unit =>12, :shift=>8}),
219
- When::Coordinates::DefaultDayIndex
220
- ],
221
- 'rule_table' => {
222
- 'T' => {'Rule' =>['LC', 'SC', 'SC', 'SC']},
223
- 'SC' => {'Rule' =>[365]*4 + [366, 365, 365, 365]*24},
224
- 'LC' => {'Rule' =>[366, 365, 365, 365]*25},
225
- 365 => {'Length'=>[41, 23, 24, 25, 27, 43, 43, 26, 25, 24, 23, 41]},
226
- 366 => {'Length'=>[41, 23, 24, 25, 27, 43, 43, 27, 25, 24, 23, 41]}
227
- }
228
- }]
229
- end
230
- end
1
+ # -*- coding: utf-8 -*-
2
+ =begin
3
+ Copyright (C) 2011-2015 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
+ Javanese = [self, [
12
+ "locale:[=en:, ja=ja:, zh=zh:, alias]",
13
+ "names:[Javanese=en:Java, ジャワ=ja:ジャワ島, 爪哇=zh:爪哇岛]",
14
+ "[JavaneseLunar=, ジャワ・イスラーム暦=, 爪哇伊斯蘭曆=]",
15
+ "[Pranatamangsa=, プラノトモンソ=]",
16
+
17
+ [self,
18
+ "names:[HinduMonth=, ヒンドゥ月=, 印度月=]",
19
+ "[Kalima=, 5月=]",
20
+ "[Kanem=, 6月=]",
21
+ "[Kapitu=, 7月=]",
22
+ "[Kawolu=, 8月=]",
23
+ "[Kasanga=, 9月=]",
24
+ "[Kasapuluh=, 10月=]",
25
+ "[Dhestal=, 11月=]",
26
+ "[Sadha=, 12月=]",
27
+ "[Kasa=, 1月=]",
28
+ "[Karo=, 2月=]",
29
+ "[Katelu=, 3月=]",
30
+ "[Kapat=, 4月=]"
31
+ ],
32
+
33
+ [self,
34
+ "names:[IslamicMonth=, イスラーム月=, 伊斯蘭月=]",
35
+ "[Suro=, 1月=]",
36
+ "[Sapar=, 2月=]",
37
+ "[Mulud=, 3月=]",
38
+ "[Bakdomulud=, 4月=]",
39
+ "[Jumadilawal=, 5月=]",
40
+ "[Jumadilakir=, 6月=]",
41
+ "[Rejeb=, 7月=]",
42
+ "[Ruwah=, 8月=]",
43
+ "[Poso=, 9月=]",
44
+ "[Sawal=, 10月=]",
45
+ "[Dulkaidah=, 11月=]",
46
+ "[Besar=, 12月=]"
47
+ ]
48
+ ]]
49
+ end
50
+
51
+ class CalendarNote
52
+ Javanese = [['Javanese::Windu'], ['_m:Calendar::Month'],
53
+ ['Javanese::Pasaran', 'Javanese::Paringkelan', 'Javanese::Week', 'Javanese::Wuku']]
54
+ end
55
+
56
+ module Coordinates
57
+
58
+ # Javanese Residues
59
+ Javanese = [When::BasicTypes::M17n, [
60
+ "locale:[=en:, ja=ja:, alias]",
61
+ "names:[Javanese=en:Java, ジャワ=ja:ジャワ島, zh:爪哇=zh:爪哇岛]",
62
+
63
+ [Residue,
64
+ "label:[Windu=, ウィンドゥ=]", "divisor:8", "year:3",
65
+ [Residue, "label:[Alip= ]", "remainder: 0"],
66
+ [Residue, "label:[Ehe= ]", "remainder: 1"],
67
+ [Residue, "label:[Jimawal=]", "remainder: 2"],
68
+ [Residue, "label:[Je= ]", "remainder: 3"],
69
+ [Residue, "label:[Dal= ]", "remainder: 4"],
70
+ [Residue, "label:[Be= ]", "remainder: 5"],
71
+ [Residue, "label:[Wawu= ]", "remainder: 6"],
72
+ [Residue, "label:[Jimakir=]", "remainder: 7"]
73
+ ],
74
+
75
+ [Residue,
76
+ "label:[Pasaran=, 五曜=]", "divisor:5", "day:1",
77
+ [Residue, "label:[Paing= ]", "remainder: 0"],
78
+ [Residue, "label:[Pon= ]", "remainder: 1"],
79
+ [Residue, "label:[Wage= ]", "remainder: 2"],
80
+ [Residue, "label:[Kliwon= ]", "remainder: 3"],
81
+ [Residue, "label:[Legi= ]", "remainder: 4"]
82
+ ],
83
+
84
+ [Residue,
85
+ "label:[Paringkelan=, 六曜=]", "divisor:6", "day:2",
86
+ [Residue, "label:[Tungle= ]", "remainder: 0"],
87
+ [Residue, "label:[Aryang= ]", "remainder: 1"],
88
+ [Residue, "label:[Warukung= ]", "remainder: 2"],
89
+ [Residue, "label:[Paningron=]", "remainder: 3"],
90
+ [Residue, "label:[Uwas= ]", "remainder: 4"],
91
+ [Residue, "label:[Mawulu= ]", "remainder: 5"]
92
+ ],
93
+
94
+ [Residue,
95
+ "label:[Week=, 七曜=]", "divisor:7", "day:6",
96
+ [Residue, "label:[Minggu=]", "remainder: 0"],
97
+ [Residue, "label:[Senin= ]", "remainder: 1"],
98
+ [Residue, "label:[Selasa=]", "remainder: 2"],
99
+ [Residue, "label:[Rabu= ]", "remainder: 3"],
100
+ [Residue, "label:[Kamis= ]", "remainder: 4"],
101
+ [Residue, "label:[Jumat= ]", "remainder: 5"],
102
+ [Residue, "label:[Sabtu= ]", "remainder: 6"]
103
+ ],
104
+
105
+ [Residue,
106
+ "label:[Wuku=, ウク週=]", "divisor:210", "day:146",
107
+ [Residue, "label:[Sinto= ]", "remainder: 0"],
108
+ [Residue, "label:[Landep= ]", "remainder: 7"],
109
+ [Residue, "label:[Wukir= ]", "remainder: 14"],
110
+ [Residue, "label:[Kurantil= ]", "remainder: 21"],
111
+ [Residue, "label:[Tolu= ]", "remainder: 28"],
112
+ [Residue, "label:[Gumbrek= ]", "remainder: 35"],
113
+ [Residue, "label:[Warigalit= ]", "remainder: 42"],
114
+ [Residue, "label:[Warigagung= ]", "remainder: 49"],
115
+ [Residue, "label:[Julungwangi= ]", "remainder: 56"],
116
+ [Residue, "label:[Sungsang= ]", "remainder: 63"],
117
+ [Residue, "label:[Galungan= ]", "remainder: 70"],
118
+ [Residue, "label:[Kuningan= ]", "remainder: 77"],
119
+ [Residue, "label:[Langkir= ]", "remainder: 84"],
120
+ [Residue, "label:[Mondosijo= ]", "remainder: 91"],
121
+ [Residue, "label:[Julungpujut= ]", "remainder: 98"],
122
+ [Residue, "label:[Pahang= ]", "remainder:105"],
123
+ [Residue, "label:[Kuruwekut= ]", "remainder:112"],
124
+ [Residue, "label:[Marakeh= ]", "remainder:119"],
125
+ [Residue, "label:[Tambir= ]", "remainder:126"],
126
+ [Residue, "label:[Medangkungan=]", "remainder:133"],
127
+ [Residue, "label:[Maktal= ]", "remainder:140"],
128
+ [Residue, "label:[Waye= ]", "remainder:147"],
129
+ [Residue, "label:[Menahil= ]", "remainder:154"],
130
+ [Residue, "label:[Prangbakat= ]", "remainder:161"],
131
+ [Residue, "label:[Bolo= ]", "remainder:168"],
132
+ [Residue, "label:[Wugu= ]", "remainder:175"],
133
+ [Residue, "label:[Wayang= ]", "remainder:182"],
134
+ [Residue, "label:[Kulawu= ]", "remainder:189"],
135
+ [Residue, "label:[Dukut= ]", "remainder:196"],
136
+ [Residue, "label:[Watugunung= ]", "remainder:203"]
137
+ ]
138
+ ]]
139
+ end
140
+
141
+ class TM::CalendarEra
142
+
143
+ # サカ紀元
144
+ JavaneseLunar = [self, [
145
+ "locale:[=en:, ja=ja:, zh=zh:, alias]",
146
+ "period:[JavaneseLunar=, ジャワ・イスラーム暦=, 爪哇伊斯蘭曆=]",
147
+ ["[SE=, サカ暦=, 塞種紀元=, alias:Javanese_Saka_Era]1547.1.1", '@CE', "1035-01-01^Javanese1547",
148
+ "1163-01-01^Javanese1675",
149
+ "1237-01-01^Javanese1749", '+Infinity']
150
+ ]]
151
+ end
152
+
153
+ module CalendarTypes
154
+
155
+ #
156
+ # Javanese Calendar (SE1547-1674) : Dal年 - 閏年
157
+ #
158
+ Javanese1547 = [CyclicTableBased, {
159
+ 'origin_of_LSC' => 2317690,
160
+ 'origin_of_MSC' => 1555-512,
161
+ 'indices' => [
162
+ When.Index('Javanese::IslamicMonth', {:unit =>12}),
163
+ When::Coordinates::DefaultDayIndex
164
+ ],
165
+ 'rule_table' => {
166
+ 'T' => {'Rule' =>[354, 355, 354, 354, 355, 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
167
+ 354 => {'Length'=>[30,29] * 6 },
168
+ 355 => {'Length'=>[30,29] * 5 + [30] * 2}
169
+ },
170
+ 'note' => 'Javanese'
171
+ }]
172
+
173
+ #
174
+ # Javanese Calendar (SE1675-1748) : Dal年 - 平年
175
+ #
176
+ Javanese1675 = [CyclicTableBased, {
177
+ 'origin_of_LSC' => 2360214,
178
+ 'origin_of_MSC' => 1675-512,
179
+ 'indices' => [
180
+ When.Index('Javanese::IslamicMonth', {:unit =>12}),
181
+ When::Coordinates::DefaultDayIndex
182
+ ],
183
+ 'rule_table' => {
184
+ 'T' => {'Rule' =>[354, 355, 354, 355, 354, 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
185
+ 354 => {'Length'=>[30,29] * 6 },
186
+ 355 => {'Length'=>[30,29] * 5 + [30] * 2 }
187
+ },
188
+ 'note' => 'Javanese'
189
+ }]
190
+
191
+ #
192
+ # Javanese Calendar (SE1749-) : Dal年 - 平年,月日別配当
193
+ #
194
+ Javanese1749 = [CyclicTableBased, {
195
+ 'origin_of_LSC' => 2385728,
196
+ 'origin_of_MSC' => 1747-512,
197
+ 'indices' => [
198
+ When.Index('Javanese::IslamicMonth', {:unit =>12}),
199
+ When::Coordinates::DefaultDayIndex
200
+ ],
201
+ 'rule_table' => {
202
+ 'T' => {'Rule' =>[354, 355, 354, 355, 'D', 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
203
+ 354 => {'Length'=>[30,29] * 6 },
204
+ 'D' => {'Length'=>[30]*2+[29]*3+[29,30]*3+[30]},
205
+ 355 => {'Length'=>[30,29] * 5 + [30] * 2 }
206
+ },
207
+ 'note' => 'Javanese'
208
+ }]
209
+
210
+ #
211
+ # Pranatamangsa
212
+ #
213
+ Pranatamangsa = [CyclicTableBased, {
214
+ 'label' => 'Javanese::Pranatamangsa',
215
+ 'origin_of_LSC' => 1721232,
216
+ 'origin_of_MSC' => -1854,
217
+ 'indices' => [
218
+ When.Index('Javanese::HinduMonth', {:unit =>12, :shift=>8}),
219
+ When::Coordinates::DefaultDayIndex
220
+ ],
221
+ 'rule_table' => {
222
+ 'T' => {'Rule' =>['LC', 'SC', 'SC', 'SC']},
223
+ 'SC' => {'Rule' =>[365]*4 + [366, 365, 365, 365]*24},
224
+ 'LC' => {'Rule' =>[366, 365, 365, 365]*25},
225
+ 365 => {'Length'=>[41, 23, 24, 25, 27, 43, 43, 26, 25, 24, 23, 41]},
226
+ 366 => {'Length'=>[41, 23, 24, 25, 27, 43, 43, 27, 25, 24, 23, 41]}
227
+ }
228
+ }]
229
+ end
230
+ end