remind-rb 6.2.10.1

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 (658) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +328 -0
  3. data/README.md +141 -0
  4. data/ext/remind/shim.c +379 -0
  5. data/lib/remind/builder.rb +252 -0
  6. data/lib/remind/library.rb +141 -0
  7. data/lib/remind/native.rb +257 -0
  8. data/lib/remind/reminder.rb +527 -0
  9. data/lib/remind/runtime.rb +130 -0
  10. data/lib/remind/session.rb +246 -0
  11. data/lib/remind/source.rb +160 -0
  12. data/lib/remind/value.rb +170 -0
  13. data/lib/remind/version.rb +13 -0
  14. data/lib/remind.rb +147 -0
  15. data/remind-v06.02.10/COPYRIGHT +300 -0
  16. data/remind-v06.02.10/configure +5684 -0
  17. data/remind-v06.02.10/configure.ac +131 -0
  18. data/remind-v06.02.10/docs/WHATSNEW +3858 -0
  19. data/remind-v06.02.10/include/ansitext.rem +35 -0
  20. data/remind-v06.02.10/include/holidays/ad/02.rem +15 -0
  21. data/remind-v06.02.10/include/holidays/ad/03.rem +14 -0
  22. data/remind-v06.02.10/include/holidays/ad/04.rem +14 -0
  23. data/remind-v06.02.10/include/holidays/ad/05.rem +14 -0
  24. data/remind-v06.02.10/include/holidays/ad/06.rem +16 -0
  25. data/remind-v06.02.10/include/holidays/ad/07.rem +15 -0
  26. data/remind-v06.02.10/include/holidays/ad/08.rem +14 -0
  27. data/remind-v06.02.10/include/holidays/ad.rem +28 -0
  28. data/remind-v06.02.10/include/holidays/ae.rem +10 -0
  29. data/remind-v06.02.10/include/holidays/al.rem +33 -0
  30. data/remind-v06.02.10/include/holidays/am.rem +19 -0
  31. data/remind-v06.02.10/include/holidays/ao.rem +41 -0
  32. data/remind-v06.02.10/include/holidays/ar.rem +38 -0
  33. data/remind-v06.02.10/include/holidays/as.rem +40 -0
  34. data/remind-v06.02.10/include/holidays/at/1.rem +15 -0
  35. data/remind-v06.02.10/include/holidays/at/2.rem +16 -0
  36. data/remind-v06.02.10/include/holidays/at/3.rem +15 -0
  37. data/remind-v06.02.10/include/holidays/at/4.rem +15 -0
  38. data/remind-v06.02.10/include/holidays/at/5.rem +15 -0
  39. data/remind-v06.02.10/include/holidays/at/6.rem +15 -0
  40. data/remind-v06.02.10/include/holidays/at/7.rem +15 -0
  41. data/remind-v06.02.10/include/holidays/at/8.rem +15 -0
  42. data/remind-v06.02.10/include/holidays/at/9.rem +15 -0
  43. data/remind-v06.02.10/include/holidays/at.rem +32 -0
  44. data/remind-v06.02.10/include/holidays/au/act.rem +27 -0
  45. data/remind-v06.02.10/include/holidays/au/nsw.rem +25 -0
  46. data/remind-v06.02.10/include/holidays/au/nt.rem +28 -0
  47. data/remind-v06.02.10/include/holidays/au/qld.rem +23 -0
  48. data/remind-v06.02.10/include/holidays/au/sa.rem +29 -0
  49. data/remind-v06.02.10/include/holidays/au/tas.rem +16 -0
  50. data/remind-v06.02.10/include/holidays/au/vic.rem +24 -0
  51. data/remind-v06.02.10/include/holidays/au/wa.rem +24 -0
  52. data/remind-v06.02.10/include/holidays/au.rem +21 -0
  53. data/remind-v06.02.10/include/holidays/aw.rem +19 -0
  54. data/remind-v06.02.10/include/holidays/az.rem +44 -0
  55. data/remind-v06.02.10/include/holidays/ba/bih.rem +23 -0
  56. data/remind-v06.02.10/include/holidays/ba/brc.rem +20 -0
  57. data/remind-v06.02.10/include/holidays/ba/srp.rem +23 -0
  58. data/remind-v06.02.10/include/holidays/ba.rem +22 -0
  59. data/remind-v06.02.10/include/holidays/bb.rem +28 -0
  60. data/remind-v06.02.10/include/holidays/bd.rem +14 -0
  61. data/remind-v06.02.10/include/holidays/be.rem +24 -0
  62. data/remind-v06.02.10/include/holidays/bf.rem +29 -0
  63. data/remind-v06.02.10/include/holidays/bg.rem +34 -0
  64. data/remind-v06.02.10/include/holidays/bh.rem +11 -0
  65. data/remind-v06.02.10/include/holidays/bi.rem +30 -0
  66. data/remind-v06.02.10/include/holidays/bn.rem +22 -0
  67. data/remind-v06.02.10/include/holidays/bo/b.rem +13 -0
  68. data/remind-v06.02.10/include/holidays/bo/c.rem +13 -0
  69. data/remind-v06.02.10/include/holidays/bo/h.rem +13 -0
  70. data/remind-v06.02.10/include/holidays/bo/l.rem +13 -0
  71. data/remind-v06.02.10/include/holidays/bo/n.rem +13 -0
  72. data/remind-v06.02.10/include/holidays/bo/o.rem +13 -0
  73. data/remind-v06.02.10/include/holidays/bo/p.rem +13 -0
  74. data/remind-v06.02.10/include/holidays/bo/s.rem +13 -0
  75. data/remind-v06.02.10/include/holidays/bo/t.rem +13 -0
  76. data/remind-v06.02.10/include/holidays/bo.rem +32 -0
  77. data/remind-v06.02.10/include/holidays/br/ac.rem +21 -0
  78. data/remind-v06.02.10/include/holidays/br/al.rem +16 -0
  79. data/remind-v06.02.10/include/holidays/br/am.rem +13 -0
  80. data/remind-v06.02.10/include/holidays/br/ap.rem +15 -0
  81. data/remind-v06.02.10/include/holidays/br/ba.rem +13 -0
  82. data/remind-v06.02.10/include/holidays/br/ce.rem +15 -0
  83. data/remind-v06.02.10/include/holidays/br/df.rem +14 -0
  84. data/remind-v06.02.10/include/holidays/br/es.rem +13 -0
  85. data/remind-v06.02.10/include/holidays/br/go.rem +14 -0
  86. data/remind-v06.02.10/include/holidays/br/ma.rem +13 -0
  87. data/remind-v06.02.10/include/holidays/br/mg.rem +13 -0
  88. data/remind-v06.02.10/include/holidays/br/ms.rem +13 -0
  89. data/remind-v06.02.10/include/holidays/br/pa.rem +13 -0
  90. data/remind-v06.02.10/include/holidays/br/pb.rem +13 -0
  91. data/remind-v06.02.10/include/holidays/br/pe.rem +13 -0
  92. data/remind-v06.02.10/include/holidays/br/pi.rem +13 -0
  93. data/remind-v06.02.10/include/holidays/br/pr.rem +13 -0
  94. data/remind-v06.02.10/include/holidays/br/rj.rem +13 -0
  95. data/remind-v06.02.10/include/holidays/br/rn.rem +14 -0
  96. data/remind-v06.02.10/include/holidays/br/ro.rem +14 -0
  97. data/remind-v06.02.10/include/holidays/br/rr.rem +13 -0
  98. data/remind-v06.02.10/include/holidays/br/rs.rem +13 -0
  99. data/remind-v06.02.10/include/holidays/br/sc.rem +14 -0
  100. data/remind-v06.02.10/include/holidays/br/se.rem +13 -0
  101. data/remind-v06.02.10/include/holidays/br/sp.rem +13 -0
  102. data/remind-v06.02.10/include/holidays/br/to.rem +15 -0
  103. data/remind-v06.02.10/include/holidays/br.rem +33 -0
  104. data/remind-v06.02.10/include/holidays/bs.rem +26 -0
  105. data/remind-v06.02.10/include/holidays/bw.rem +31 -0
  106. data/remind-v06.02.10/include/holidays/by.rem +17 -0
  107. data/remind-v06.02.10/include/holidays/bz.rem +43 -0
  108. data/remind-v06.02.10/include/holidays/ca/ab.rem +17 -0
  109. data/remind-v06.02.10/include/holidays/ca/bc.rem +14 -0
  110. data/remind-v06.02.10/include/holidays/ca/mb.rem +16 -0
  111. data/remind-v06.02.10/include/holidays/ca/nb.rem +14 -0
  112. data/remind-v06.02.10/include/holidays/ca/nl.rem +19 -0
  113. data/remind-v06.02.10/include/holidays/ca/ns.rem +16 -0
  114. data/remind-v06.02.10/include/holidays/ca/nt.rem +14 -0
  115. data/remind-v06.02.10/include/holidays/ca/nu.rem +16 -0
  116. data/remind-v06.02.10/include/holidays/ca/on.rem +16 -0
  117. data/remind-v06.02.10/include/holidays/ca/pe.rem +13 -0
  118. data/remind-v06.02.10/include/holidays/ca/qc.rem +18 -0
  119. data/remind-v06.02.10/include/holidays/ca/sk.rem +14 -0
  120. data/remind-v06.02.10/include/holidays/ca/yt.rem +17 -0
  121. data/remind-v06.02.10/include/holidays/ca.rem +37 -0
  122. data/remind-v06.02.10/include/holidays/cg.rem +17 -0
  123. data/remind-v06.02.10/include/holidays/ch/ag.rem +22 -0
  124. data/remind-v06.02.10/include/holidays/ch/ai.rem +20 -0
  125. data/remind-v06.02.10/include/holidays/ch/ar.rem +16 -0
  126. data/remind-v06.02.10/include/holidays/ch/be.rem +17 -0
  127. data/remind-v06.02.10/include/holidays/ch/bl.rem +17 -0
  128. data/remind-v06.02.10/include/holidays/ch/bs.rem +17 -0
  129. data/remind-v06.02.10/include/holidays/ch/fr.rem +19 -0
  130. data/remind-v06.02.10/include/holidays/ch/ge.rem +17 -0
  131. data/remind-v06.02.10/include/holidays/ch/gl.rem +22 -0
  132. data/remind-v06.02.10/include/holidays/ch/gr.rem +18 -0
  133. data/remind-v06.02.10/include/holidays/ch/ju.rem +21 -0
  134. data/remind-v06.02.10/include/holidays/ch/lu.rem +21 -0
  135. data/remind-v06.02.10/include/holidays/ch/ne.rem +18 -0
  136. data/remind-v06.02.10/include/holidays/ch/nw.rem +24 -0
  137. data/remind-v06.02.10/include/holidays/ch/ow.rem +24 -0
  138. data/remind-v06.02.10/include/holidays/ch/sg.rem +20 -0
  139. data/remind-v06.02.10/include/holidays/ch/sh.rem +20 -0
  140. data/remind-v06.02.10/include/holidays/ch/so.rem +17 -0
  141. data/remind-v06.02.10/include/holidays/ch/sz.rem +22 -0
  142. data/remind-v06.02.10/include/holidays/ch/tg.rem +18 -0
  143. data/remind-v06.02.10/include/holidays/ch/ti.rem +23 -0
  144. data/remind-v06.02.10/include/holidays/ch/ur.rem +22 -0
  145. data/remind-v06.02.10/include/holidays/ch/vd.rem +17 -0
  146. data/remind-v06.02.10/include/holidays/ch/vs.rem +23 -0
  147. data/remind-v06.02.10/include/holidays/ch/zg.rem +23 -0
  148. data/remind-v06.02.10/include/holidays/ch/zh.rem +18 -0
  149. data/remind-v06.02.10/include/holidays/ch.rem +18 -0
  150. data/remind-v06.02.10/include/holidays/chinese-new-year.rem +86 -0
  151. data/remind-v06.02.10/include/holidays/cl/ap.rem +13 -0
  152. data/remind-v06.02.10/include/holidays/cl/nb.rem +13 -0
  153. data/remind-v06.02.10/include/holidays/cl.rem +46 -0
  154. data/remind-v06.02.10/include/holidays/cm.rem +21 -0
  155. data/remind-v06.02.10/include/holidays/co.rem +85 -0
  156. data/remind-v06.02.10/include/holidays/cr.rem +39 -0
  157. data/remind-v06.02.10/include/holidays/cu.rem +19 -0
  158. data/remind-v06.02.10/include/holidays/cw.rem +24 -0
  159. data/remind-v06.02.10/include/holidays/cy.rem +27 -0
  160. data/remind-v06.02.10/include/holidays/cz.rem +20 -0
  161. data/remind-v06.02.10/include/holidays/de/bb.rem +15 -0
  162. data/remind-v06.02.10/include/holidays/de/be.rem +13 -0
  163. data/remind-v06.02.10/include/holidays/de/bw.rem +15 -0
  164. data/remind-v06.02.10/include/holidays/de/by.rem +18 -0
  165. data/remind-v06.02.10/include/holidays/de/hb.rem +13 -0
  166. data/remind-v06.02.10/include/holidays/de/he.rem +13 -0
  167. data/remind-v06.02.10/include/holidays/de/hh.rem +13 -0
  168. data/remind-v06.02.10/include/holidays/de/mv.rem +14 -0
  169. data/remind-v06.02.10/include/holidays/de/ni.rem +13 -0
  170. data/remind-v06.02.10/include/holidays/de/nw.rem +14 -0
  171. data/remind-v06.02.10/include/holidays/de/rp.rem +14 -0
  172. data/remind-v06.02.10/include/holidays/de/sh.rem +13 -0
  173. data/remind-v06.02.10/include/holidays/de/sl.rem +15 -0
  174. data/remind-v06.02.10/include/holidays/de/sn.rem +14 -0
  175. data/remind-v06.02.10/include/holidays/de/st.rem +14 -0
  176. data/remind-v06.02.10/include/holidays/de/th.rem +14 -0
  177. data/remind-v06.02.10/include/holidays/de.rem +23 -0
  178. data/remind-v06.02.10/include/holidays/discordian.rem +25 -0
  179. data/remind-v06.02.10/include/holidays/dj.rem +12 -0
  180. data/remind-v06.02.10/include/holidays/dk.rem +23 -0
  181. data/remind-v06.02.10/include/holidays/dm.rem +24 -0
  182. data/remind-v06.02.10/include/holidays/do.rem +36 -0
  183. data/remind-v06.02.10/include/holidays/dz.rem +12 -0
  184. data/remind-v06.02.10/include/holidays/ec.rem +48 -0
  185. data/remind-v06.02.10/include/holidays/ee.rem +19 -0
  186. data/remind-v06.02.10/include/holidays/eg.rem +17 -0
  187. data/remind-v06.02.10/include/holidays/es/an.rem +17 -0
  188. data/remind-v06.02.10/include/holidays/es/ar.rem +17 -0
  189. data/remind-v06.02.10/include/holidays/es/as.rem +17 -0
  190. data/remind-v06.02.10/include/holidays/es/cb.rem +15 -0
  191. data/remind-v06.02.10/include/holidays/es/ce.rem +15 -0
  192. data/remind-v06.02.10/include/holidays/es/cl.rem +17 -0
  193. data/remind-v06.02.10/include/holidays/es/cm.rem +15 -0
  194. data/remind-v06.02.10/include/holidays/es/cn.rem +15 -0
  195. data/remind-v06.02.10/include/holidays/es/ct.rem +16 -0
  196. data/remind-v06.02.10/include/holidays/es/ex.rem +16 -0
  197. data/remind-v06.02.10/include/holidays/es/ga.rem +15 -0
  198. data/remind-v06.02.10/include/holidays/es/ib.rem +15 -0
  199. data/remind-v06.02.10/include/holidays/es/mc.rem +17 -0
  200. data/remind-v06.02.10/include/holidays/es/md.rem +16 -0
  201. data/remind-v06.02.10/include/holidays/es/ml.rem +15 -0
  202. data/remind-v06.02.10/include/holidays/es/nc.rem +15 -0
  203. data/remind-v06.02.10/include/holidays/es/pv.rem +15 -0
  204. data/remind-v06.02.10/include/holidays/es/ri.rem +16 -0
  205. data/remind-v06.02.10/include/holidays/es/vc.rem +16 -0
  206. data/remind-v06.02.10/include/holidays/es.rem +23 -0
  207. data/remind-v06.02.10/include/holidays/et.rem +20 -0
  208. data/remind-v06.02.10/include/holidays/fi.rem +43 -0
  209. data/remind-v06.02.10/include/holidays/fr/bl.rem +13 -0
  210. data/remind-v06.02.10/include/holidays/fr/ges.rem +14 -0
  211. data/remind-v06.02.10/include/holidays/fr/gp.rem +16 -0
  212. data/remind-v06.02.10/include/holidays/fr/gy.rem +13 -0
  213. data/remind-v06.02.10/include/holidays/fr/mf.rem +13 -0
  214. data/remind-v06.02.10/include/holidays/fr/mq.rem +15 -0
  215. data/remind-v06.02.10/include/holidays/fr/nc.rem +13 -0
  216. data/remind-v06.02.10/include/holidays/fr/pf.rem +15 -0
  217. data/remind-v06.02.10/include/holidays/fr/re.rem +13 -0
  218. data/remind-v06.02.10/include/holidays/fr/wf.rem +14 -0
  219. data/remind-v06.02.10/include/holidays/fr/yt.rem +13 -0
  220. data/remind-v06.02.10/include/holidays/fr.rem +18 -0
  221. data/remind-v06.02.10/include/holidays/ga.rem +18 -0
  222. data/remind-v06.02.10/include/holidays/gb/eng.rem +14 -0
  223. data/remind-v06.02.10/include/holidays/gb/nir.rem +20 -0
  224. data/remind-v06.02.10/include/holidays/gb/sct.rem +20 -0
  225. data/remind-v06.02.10/include/holidays/gb/wls.rem +14 -0
  226. data/remind-v06.02.10/include/holidays/gb.rem +27 -0
  227. data/remind-v06.02.10/include/holidays/ge.rem +24 -0
  228. data/remind-v06.02.10/include/holidays/gh.rem +34 -0
  229. data/remind-v06.02.10/include/holidays/gl.rem +25 -0
  230. data/remind-v06.02.10/include/holidays/gr.rem +37 -0
  231. data/remind-v06.02.10/include/holidays/gt.rem +24 -0
  232. data/remind-v06.02.10/include/holidays/gu.rem +37 -0
  233. data/remind-v06.02.10/include/holidays/hk.rem +25 -0
  234. data/remind-v06.02.10/include/holidays/hn.rem +18 -0
  235. data/remind-v06.02.10/include/holidays/hr.rem +21 -0
  236. data/remind-v06.02.10/include/holidays/ht.rem +34 -0
  237. data/remind-v06.02.10/include/holidays/hu.rem +20 -0
  238. data/remind-v06.02.10/include/holidays/id.rem +15 -0
  239. data/remind-v06.02.10/include/holidays/ie.rem +41 -0
  240. data/remind-v06.02.10/include/holidays/im.rem +26 -0
  241. data/remind-v06.02.10/include/holidays/in/ap.rem +14 -0
  242. data/remind-v06.02.10/include/holidays/in/as.rem +13 -0
  243. data/remind-v06.02.10/include/holidays/in/br.rem +14 -0
  244. data/remind-v06.02.10/include/holidays/in/cg.rem +13 -0
  245. data/remind-v06.02.10/include/holidays/in/gj.rem +15 -0
  246. data/remind-v06.02.10/include/holidays/in/hr.rem +14 -0
  247. data/remind-v06.02.10/include/holidays/in/ka.rem +13 -0
  248. data/remind-v06.02.10/include/holidays/in/kl.rem +14 -0
  249. data/remind-v06.02.10/include/holidays/in/mh.rem +15 -0
  250. data/remind-v06.02.10/include/holidays/in/mp.rem +13 -0
  251. data/remind-v06.02.10/include/holidays/in/od.rem +15 -0
  252. data/remind-v06.02.10/include/holidays/in/rj.rem +14 -0
  253. data/remind-v06.02.10/include/holidays/in/sk.rem +13 -0
  254. data/remind-v06.02.10/include/holidays/in/tn.rem +15 -0
  255. data/remind-v06.02.10/include/holidays/in/ts.rem +14 -0
  256. data/remind-v06.02.10/include/holidays/in/uk.rem +13 -0
  257. data/remind-v06.02.10/include/holidays/in/up.rem +13 -0
  258. data/remind-v06.02.10/include/holidays/in/wb.rem +16 -0
  259. data/remind-v06.02.10/include/holidays/in.rem +24 -0
  260. data/remind-v06.02.10/include/holidays/is.rem +23 -0
  261. data/remind-v06.02.10/include/holidays/it/ag.rem +13 -0
  262. data/remind-v06.02.10/include/holidays/it/al.rem +13 -0
  263. data/remind-v06.02.10/include/holidays/it/an.rem +13 -0
  264. data/remind-v06.02.10/include/holidays/it/andria.rem +13 -0
  265. data/remind-v06.02.10/include/holidays/it/ao.rem +13 -0
  266. data/remind-v06.02.10/include/holidays/it/ap.rem +13 -0
  267. data/remind-v06.02.10/include/holidays/it/aq.rem +13 -0
  268. data/remind-v06.02.10/include/holidays/it/ar.rem +13 -0
  269. data/remind-v06.02.10/include/holidays/it/at.rem +13 -0
  270. data/remind-v06.02.10/include/holidays/it/av.rem +13 -0
  271. data/remind-v06.02.10/include/holidays/it/ba.rem +13 -0
  272. data/remind-v06.02.10/include/holidays/it/barletta.rem +13 -0
  273. data/remind-v06.02.10/include/holidays/it/bg.rem +13 -0
  274. data/remind-v06.02.10/include/holidays/it/bl.rem +13 -0
  275. data/remind-v06.02.10/include/holidays/it/bn.rem +13 -0
  276. data/remind-v06.02.10/include/holidays/it/bo.rem +13 -0
  277. data/remind-v06.02.10/include/holidays/it/br.rem +13 -0
  278. data/remind-v06.02.10/include/holidays/it/bs.rem +13 -0
  279. data/remind-v06.02.10/include/holidays/it/bt.rem +15 -0
  280. data/remind-v06.02.10/include/holidays/it/bz.rem +14 -0
  281. data/remind-v06.02.10/include/holidays/it/ca.rem +13 -0
  282. data/remind-v06.02.10/include/holidays/it/cb.rem +13 -0
  283. data/remind-v06.02.10/include/holidays/it/ce.rem +13 -0
  284. data/remind-v06.02.10/include/holidays/it/cesena.rem +13 -0
  285. data/remind-v06.02.10/include/holidays/it/ch.rem +13 -0
  286. data/remind-v06.02.10/include/holidays/it/cl.rem +13 -0
  287. data/remind-v06.02.10/include/holidays/it/cn.rem +13 -0
  288. data/remind-v06.02.10/include/holidays/it/co.rem +13 -0
  289. data/remind-v06.02.10/include/holidays/it/cr.rem +13 -0
  290. data/remind-v06.02.10/include/holidays/it/cs.rem +13 -0
  291. data/remind-v06.02.10/include/holidays/it/ct.rem +13 -0
  292. data/remind-v06.02.10/include/holidays/it/cz.rem +13 -0
  293. data/remind-v06.02.10/include/holidays/it/en.rem +13 -0
  294. data/remind-v06.02.10/include/holidays/it/fc.rem +14 -0
  295. data/remind-v06.02.10/include/holidays/it/fe.rem +13 -0
  296. data/remind-v06.02.10/include/holidays/it/fg.rem +13 -0
  297. data/remind-v06.02.10/include/holidays/it/fi.rem +13 -0
  298. data/remind-v06.02.10/include/holidays/it/fm.rem +14 -0
  299. data/remind-v06.02.10/include/holidays/it/forli.rem +13 -0
  300. data/remind-v06.02.10/include/holidays/it/fr.rem +13 -0
  301. data/remind-v06.02.10/include/holidays/it/ge.rem +13 -0
  302. data/remind-v06.02.10/include/holidays/it/go.rem +13 -0
  303. data/remind-v06.02.10/include/holidays/it/gr.rem +13 -0
  304. data/remind-v06.02.10/include/holidays/it/im.rem +13 -0
  305. data/remind-v06.02.10/include/holidays/it/is.rem +13 -0
  306. data/remind-v06.02.10/include/holidays/it/kr.rem +13 -0
  307. data/remind-v06.02.10/include/holidays/it/lc.rem +13 -0
  308. data/remind-v06.02.10/include/holidays/it/le.rem +13 -0
  309. data/remind-v06.02.10/include/holidays/it/li.rem +13 -0
  310. data/remind-v06.02.10/include/holidays/it/lo.rem +13 -0
  311. data/remind-v06.02.10/include/holidays/it/lt.rem +14 -0
  312. data/remind-v06.02.10/include/holidays/it/lu.rem +13 -0
  313. data/remind-v06.02.10/include/holidays/it/mb.rem +13 -0
  314. data/remind-v06.02.10/include/holidays/it/mc.rem +13 -0
  315. data/remind-v06.02.10/include/holidays/it/me.rem +13 -0
  316. data/remind-v06.02.10/include/holidays/it/mi.rem +13 -0
  317. data/remind-v06.02.10/include/holidays/it/mn.rem +13 -0
  318. data/remind-v06.02.10/include/holidays/it/mo.rem +13 -0
  319. data/remind-v06.02.10/include/holidays/it/ms.rem +13 -0
  320. data/remind-v06.02.10/include/holidays/it/mt.rem +13 -0
  321. data/remind-v06.02.10/include/holidays/it/na.rem +13 -0
  322. data/remind-v06.02.10/include/holidays/it/no.rem +13 -0
  323. data/remind-v06.02.10/include/holidays/it/nu.rem +13 -0
  324. data/remind-v06.02.10/include/holidays/it/or.rem +13 -0
  325. data/remind-v06.02.10/include/holidays/it/pa.rem +13 -0
  326. data/remind-v06.02.10/include/holidays/it/pc.rem +13 -0
  327. data/remind-v06.02.10/include/holidays/it/pd.rem +13 -0
  328. data/remind-v06.02.10/include/holidays/it/pe.rem +13 -0
  329. data/remind-v06.02.10/include/holidays/it/pesaro.rem +13 -0
  330. data/remind-v06.02.10/include/holidays/it/pg.rem +14 -0
  331. data/remind-v06.02.10/include/holidays/it/pi.rem +13 -0
  332. data/remind-v06.02.10/include/holidays/it/pn.rem +14 -0
  333. data/remind-v06.02.10/include/holidays/it/pr.rem +13 -0
  334. data/remind-v06.02.10/include/holidays/it/pt.rem +13 -0
  335. data/remind-v06.02.10/include/holidays/it/pu.rem +14 -0
  336. data/remind-v06.02.10/include/holidays/it/pv.rem +13 -0
  337. data/remind-v06.02.10/include/holidays/it/pz.rem +13 -0
  338. data/remind-v06.02.10/include/holidays/it/ra.rem +13 -0
  339. data/remind-v06.02.10/include/holidays/it/rc.rem +13 -0
  340. data/remind-v06.02.10/include/holidays/it/re.rem +13 -0
  341. data/remind-v06.02.10/include/holidays/it/rg.rem +14 -0
  342. data/remind-v06.02.10/include/holidays/it/ri.rem +13 -0
  343. data/remind-v06.02.10/include/holidays/it/rm.rem +13 -0
  344. data/remind-v06.02.10/include/holidays/it/rn.rem +13 -0
  345. data/remind-v06.02.10/include/holidays/it/ro.rem +13 -0
  346. data/remind-v06.02.10/include/holidays/it/sa.rem +13 -0
  347. data/remind-v06.02.10/include/holidays/it/si.rem +13 -0
  348. data/remind-v06.02.10/include/holidays/it/so.rem +13 -0
  349. data/remind-v06.02.10/include/holidays/it/sp.rem +13 -0
  350. data/remind-v06.02.10/include/holidays/it/sr.rem +13 -0
  351. data/remind-v06.02.10/include/holidays/it/ss.rem +13 -0
  352. data/remind-v06.02.10/include/holidays/it/su.rem +13 -0
  353. data/remind-v06.02.10/include/holidays/it/sv.rem +13 -0
  354. data/remind-v06.02.10/include/holidays/it/ta.rem +13 -0
  355. data/remind-v06.02.10/include/holidays/it/te.rem +13 -0
  356. data/remind-v06.02.10/include/holidays/it/tn.rem +13 -0
  357. data/remind-v06.02.10/include/holidays/it/to.rem +13 -0
  358. data/remind-v06.02.10/include/holidays/it/tp.rem +13 -0
  359. data/remind-v06.02.10/include/holidays/it/tr.rem +13 -0
  360. data/remind-v06.02.10/include/holidays/it/trani.rem +13 -0
  361. data/remind-v06.02.10/include/holidays/it/ts.rem +13 -0
  362. data/remind-v06.02.10/include/holidays/it/tv.rem +13 -0
  363. data/remind-v06.02.10/include/holidays/it/ud.rem +13 -0
  364. data/remind-v06.02.10/include/holidays/it/urbino.rem +13 -0
  365. data/remind-v06.02.10/include/holidays/it/va.rem +13 -0
  366. data/remind-v06.02.10/include/holidays/it/vb.rem +13 -0
  367. data/remind-v06.02.10/include/holidays/it/vc.rem +13 -0
  368. data/remind-v06.02.10/include/holidays/it/ve.rem +14 -0
  369. data/remind-v06.02.10/include/holidays/it/vi.rem +13 -0
  370. data/remind-v06.02.10/include/holidays/it/vr.rem +13 -0
  371. data/remind-v06.02.10/include/holidays/it/vt.rem +13 -0
  372. data/remind-v06.02.10/include/holidays/it/vv.rem +13 -0
  373. data/remind-v06.02.10/include/holidays/it.rem +26 -0
  374. data/remind-v06.02.10/include/holidays/je.rem +19 -0
  375. data/remind-v06.02.10/include/holidays/jewish.rem +135 -0
  376. data/remind-v06.02.10/include/holidays/jm.rem +24 -0
  377. data/remind-v06.02.10/include/holidays/jo.rem +11 -0
  378. data/remind-v06.02.10/include/holidays/jp.rem +27 -0
  379. data/remind-v06.02.10/include/holidays/ke.rem +25 -0
  380. data/remind-v06.02.10/include/holidays/kg.rem +20 -0
  381. data/remind-v06.02.10/include/holidays/kh.rem +22 -0
  382. data/remind-v06.02.10/include/holidays/kn.rem +28 -0
  383. data/remind-v06.02.10/include/holidays/kr.rem +19 -0
  384. data/remind-v06.02.10/include/holidays/kw.rem +10 -0
  385. data/remind-v06.02.10/include/holidays/kz.rem +34 -0
  386. data/remind-v06.02.10/include/holidays/la.rem +47 -0
  387. data/remind-v06.02.10/include/holidays/lgbtq/au.rem +8 -0
  388. data/remind-v06.02.10/include/holidays/lgbtq/br.rem +10 -0
  389. data/remind-v06.02.10/include/holidays/lgbtq/ca.rem +7 -0
  390. data/remind-v06.02.10/include/holidays/lgbtq/cl.rem +7 -0
  391. data/remind-v06.02.10/include/holidays/lgbtq/ie.rem +7 -0
  392. data/remind-v06.02.10/include/holidays/lgbtq/in.rem +7 -0
  393. data/remind-v06.02.10/include/holidays/lgbtq/nl.rem +7 -0
  394. data/remind-v06.02.10/include/holidays/lgbtq/ua.rem +7 -0
  395. data/remind-v06.02.10/include/holidays/lgbtq/uk.rem +8 -0
  396. data/remind-v06.02.10/include/holidays/lgbtq/us.rem +16 -0
  397. data/remind-v06.02.10/include/holidays/lgbtq.rem +34 -0
  398. data/remind-v06.02.10/include/holidays/li.rem +31 -0
  399. data/remind-v06.02.10/include/holidays/ls.rem +18 -0
  400. data/remind-v06.02.10/include/holidays/lt.rem +23 -0
  401. data/remind-v06.02.10/include/holidays/lu.rem +18 -0
  402. data/remind-v06.02.10/include/holidays/lv.rem +25 -0
  403. data/remind-v06.02.10/include/holidays/ma.rem +17 -0
  404. data/remind-v06.02.10/include/holidays/mc.rem +26 -0
  405. data/remind-v06.02.10/include/holidays/md.rem +21 -0
  406. data/remind-v06.02.10/include/holidays/me.rem +28 -0
  407. data/remind-v06.02.10/include/holidays/mg.rem +24 -0
  408. data/remind-v06.02.10/include/holidays/mh.rem +22 -0
  409. data/remind-v06.02.10/include/holidays/misc.rem +9 -0
  410. data/remind-v06.02.10/include/holidays/mk.rem +17 -0
  411. data/remind-v06.02.10/include/holidays/mp.rem +44 -0
  412. data/remind-v06.02.10/include/holidays/mr.rem +11 -0
  413. data/remind-v06.02.10/include/holidays/mt.rem +21 -0
  414. data/remind-v06.02.10/include/holidays/mv.rem +12 -0
  415. data/remind-v06.02.10/include/holidays/mw.rem +36 -0
  416. data/remind-v06.02.10/include/holidays/mx.rem +15 -0
  417. data/remind-v06.02.10/include/holidays/my/01.rem +13 -0
  418. data/remind-v06.02.10/include/holidays/my/02.rem +13 -0
  419. data/remind-v06.02.10/include/holidays/my/03.rem +14 -0
  420. data/remind-v06.02.10/include/holidays/my/04.rem +18 -0
  421. data/remind-v06.02.10/include/holidays/my/05.rem +16 -0
  422. data/remind-v06.02.10/include/holidays/my/06.rem +17 -0
  423. data/remind-v06.02.10/include/holidays/my/07.rem +17 -0
  424. data/remind-v06.02.10/include/holidays/my/08.rem +15 -0
  425. data/remind-v06.02.10/include/holidays/my/09.rem +14 -0
  426. data/remind-v06.02.10/include/holidays/my/10.rem +16 -0
  427. data/remind-v06.02.10/include/holidays/my/11.rem +16 -0
  428. data/remind-v06.02.10/include/holidays/my/12.rem +19 -0
  429. data/remind-v06.02.10/include/holidays/my/13.rem +22 -0
  430. data/remind-v06.02.10/include/holidays/my/14.rem +16 -0
  431. data/remind-v06.02.10/include/holidays/my/15.rem +18 -0
  432. data/remind-v06.02.10/include/holidays/my/16.rem +16 -0
  433. data/remind-v06.02.10/include/holidays/my.rem +23 -0
  434. data/remind-v06.02.10/include/holidays/mz.rem +25 -0
  435. data/remind-v06.02.10/include/holidays/na.rem +27 -0
  436. data/remind-v06.02.10/include/holidays/ng.rem +21 -0
  437. data/remind-v06.02.10/include/holidays/ni/mn.rem +14 -0
  438. data/remind-v06.02.10/include/holidays/ni.rem +24 -0
  439. data/remind-v06.02.10/include/holidays/nl.rem +26 -0
  440. data/remind-v06.02.10/include/holidays/no.rem +19 -0
  441. data/remind-v06.02.10/include/holidays/nz/auk.rem +13 -0
  442. data/remind-v06.02.10/include/holidays/nz/can.rem +13 -0
  443. data/remind-v06.02.10/include/holidays/nz/cit.rem +13 -0
  444. data/remind-v06.02.10/include/holidays/nz/hkb.rem +13 -0
  445. data/remind-v06.02.10/include/holidays/nz/mbh.rem +13 -0
  446. data/remind-v06.02.10/include/holidays/nz/nsn.rem +13 -0
  447. data/remind-v06.02.10/include/holidays/nz/ntl.rem +13 -0
  448. data/remind-v06.02.10/include/holidays/nz/ota.rem +14 -0
  449. data/remind-v06.02.10/include/holidays/nz/south_canterbury.rem +13 -0
  450. data/remind-v06.02.10/include/holidays/nz/stl.rem +13 -0
  451. data/remind-v06.02.10/include/holidays/nz/tki.rem +13 -0
  452. data/remind-v06.02.10/include/holidays/nz/wgn.rem +13 -0
  453. data/remind-v06.02.10/include/holidays/nz/wtc.rem +13 -0
  454. data/remind-v06.02.10/include/holidays/nz.rem +69 -0
  455. data/remind-v06.02.10/include/holidays/pa.rem +27 -0
  456. data/remind-v06.02.10/include/holidays/pagan.rem +65 -0
  457. data/remind-v06.02.10/include/holidays/pe.rem +22 -0
  458. data/remind-v06.02.10/include/holidays/pg.rem +24 -0
  459. data/remind-v06.02.10/include/holidays/ph.rem +26 -0
  460. data/remind-v06.02.10/include/holidays/pk.rem +13 -0
  461. data/remind-v06.02.10/include/holidays/pl.rem +20 -0
  462. data/remind-v06.02.10/include/holidays/pr.rem +40 -0
  463. data/remind-v06.02.10/include/holidays/pt/01.rem +13 -0
  464. data/remind-v06.02.10/include/holidays/pt/02.rem +13 -0
  465. data/remind-v06.02.10/include/holidays/pt/03.rem +13 -0
  466. data/remind-v06.02.10/include/holidays/pt/04.rem +13 -0
  467. data/remind-v06.02.10/include/holidays/pt/05.rem +13 -0
  468. data/remind-v06.02.10/include/holidays/pt/06.rem +13 -0
  469. data/remind-v06.02.10/include/holidays/pt/07.rem +13 -0
  470. data/remind-v06.02.10/include/holidays/pt/08.rem +13 -0
  471. data/remind-v06.02.10/include/holidays/pt/09.rem +13 -0
  472. data/remind-v06.02.10/include/holidays/pt/10.rem +13 -0
  473. data/remind-v06.02.10/include/holidays/pt/12.rem +13 -0
  474. data/remind-v06.02.10/include/holidays/pt/13.rem +13 -0
  475. data/remind-v06.02.10/include/holidays/pt/14.rem +13 -0
  476. data/remind-v06.02.10/include/holidays/pt/15.rem +13 -0
  477. data/remind-v06.02.10/include/holidays/pt/16.rem +13 -0
  478. data/remind-v06.02.10/include/holidays/pt/18.rem +13 -0
  479. data/remind-v06.02.10/include/holidays/pt/20.rem +13 -0
  480. data/remind-v06.02.10/include/holidays/pt/30.rem +14 -0
  481. data/remind-v06.02.10/include/holidays/pt.rem +17 -0
  482. data/remind-v06.02.10/include/holidays/pw.rem +34 -0
  483. data/remind-v06.02.10/include/holidays/py.rem +20 -0
  484. data/remind-v06.02.10/include/holidays/ro.rem +24 -0
  485. data/remind-v06.02.10/include/holidays/rs.rem +26 -0
  486. data/remind-v06.02.10/include/holidays/ru.rem +21 -0
  487. data/remind-v06.02.10/include/holidays/sa.rem +13 -0
  488. data/remind-v06.02.10/include/holidays/sc.rem +28 -0
  489. data/remind-v06.02.10/include/holidays/se.rem +23 -0
  490. data/remind-v06.02.10/include/holidays/sg.rem +16 -0
  491. data/remind-v06.02.10/include/holidays/si.rem +20 -0
  492. data/remind-v06.02.10/include/holidays/sk.rem +25 -0
  493. data/remind-v06.02.10/include/holidays/sm.rem +25 -0
  494. data/remind-v06.02.10/include/holidays/sv/ss.rem +14 -0
  495. data/remind-v06.02.10/include/holidays/sv.rem +25 -0
  496. data/remind-v06.02.10/include/holidays/sz.rem +26 -0
  497. data/remind-v06.02.10/include/holidays/td.rem +22 -0
  498. data/remind-v06.02.10/include/holidays/th.rem +72 -0
  499. data/remind-v06.02.10/include/holidays/tl.rem +31 -0
  500. data/remind-v06.02.10/include/holidays/tn.rem +15 -0
  501. data/remind-v06.02.10/include/holidays/to.rem +38 -0
  502. data/remind-v06.02.10/include/holidays/tr.rem +17 -0
  503. data/remind-v06.02.10/include/holidays/tw.rem +26 -0
  504. data/remind-v06.02.10/include/holidays/tz.rem +23 -0
  505. data/remind-v06.02.10/include/holidays/ua.rem +20 -0
  506. data/remind-v06.02.10/include/holidays/uk.rem +27 -0
  507. data/remind-v06.02.10/include/holidays/um.rem +32 -0
  508. data/remind-v06.02.10/include/holidays/us/ak.rem +17 -0
  509. data/remind-v06.02.10/include/holidays/us/al.rem +17 -0
  510. data/remind-v06.02.10/include/holidays/us/ar.rem +13 -0
  511. data/remind-v06.02.10/include/holidays/us/as.rem +20 -0
  512. data/remind-v06.02.10/include/holidays/us/az.rem +14 -0
  513. data/remind-v06.02.10/include/holidays/us/ca.rem +16 -0
  514. data/remind-v06.02.10/include/holidays/us/co.rem +14 -0
  515. data/remind-v06.02.10/include/holidays/us/ct.rem +17 -0
  516. data/remind-v06.02.10/include/holidays/us/dc.rem +16 -0
  517. data/remind-v06.02.10/include/holidays/us/de.rem +14 -0
  518. data/remind-v06.02.10/include/holidays/us/fl.rem +14 -0
  519. data/remind-v06.02.10/include/holidays/us/ga.rem +18 -0
  520. data/remind-v06.02.10/include/holidays/us/gu.rem +17 -0
  521. data/remind-v06.02.10/include/holidays/us/hi.rem +19 -0
  522. data/remind-v06.02.10/include/holidays/us/ia.rem +15 -0
  523. data/remind-v06.02.10/include/holidays/us/id.rem +14 -0
  524. data/remind-v06.02.10/include/holidays/us/il.rem +17 -0
  525. data/remind-v06.02.10/include/holidays/us/in.rem +19 -0
  526. data/remind-v06.02.10/include/holidays/us/ks.rem +16 -0
  527. data/remind-v06.02.10/include/holidays/us/ky.rem +16 -0
  528. data/remind-v06.02.10/include/holidays/us/la.rem +14 -0
  529. data/remind-v06.02.10/include/holidays/us/ma.rem +17 -0
  530. data/remind-v06.02.10/include/holidays/us/md-extra.rem +19 -0
  531. data/remind-v06.02.10/include/holidays/us/md.rem +14 -0
  532. data/remind-v06.02.10/include/holidays/us/me.rem +14 -0
  533. data/remind-v06.02.10/include/holidays/us/mi.rem +19 -0
  534. data/remind-v06.02.10/include/holidays/us/mo.rem +16 -0
  535. data/remind-v06.02.10/include/holidays/us/mp.rem +23 -0
  536. data/remind-v06.02.10/include/holidays/us/ms.rem +14 -0
  537. data/remind-v06.02.10/include/holidays/us/mt.rem +13 -0
  538. data/remind-v06.02.10/include/holidays/us/nc.rem +22 -0
  539. data/remind-v06.02.10/include/holidays/us/ne.rem +14 -0
  540. data/remind-v06.02.10/include/holidays/us/nh.rem +14 -0
  541. data/remind-v06.02.10/include/holidays/us/nj.rem +17 -0
  542. data/remind-v06.02.10/include/holidays/us/nm.rem +14 -0
  543. data/remind-v06.02.10/include/holidays/us/nv.rem +16 -0
  544. data/remind-v06.02.10/include/holidays/us/ny.rem +17 -0
  545. data/remind-v06.02.10/include/holidays/us/oh.rem +13 -0
  546. data/remind-v06.02.10/include/holidays/us/ok.rem +13 -0
  547. data/remind-v06.02.10/include/holidays/us/pa.rem +14 -0
  548. data/remind-v06.02.10/include/holidays/us/pr.rem +21 -0
  549. data/remind-v06.02.10/include/holidays/us/ri.rem +14 -0
  550. data/remind-v06.02.10/include/holidays/us/sc.rem +13 -0
  551. data/remind-v06.02.10/include/holidays/us/sd.rem +13 -0
  552. data/remind-v06.02.10/include/holidays/us/tn.rem +13 -0
  553. data/remind-v06.02.10/include/holidays/us/tx.rem +25 -0
  554. data/remind-v06.02.10/include/holidays/us/ut.rem +16 -0
  555. data/remind-v06.02.10/include/holidays/us/va.rem +13 -0
  556. data/remind-v06.02.10/include/holidays/us/vi.rem +22 -0
  557. data/remind-v06.02.10/include/holidays/us/vt.rem +16 -0
  558. data/remind-v06.02.10/include/holidays/us/wi.rem +20 -0
  559. data/remind-v06.02.10/include/holidays/us/wv.rem +17 -0
  560. data/remind-v06.02.10/include/holidays/us.rem +41 -0
  561. data/remind-v06.02.10/include/holidays/uy.rem +39 -0
  562. data/remind-v06.02.10/include/holidays/uz.rem +21 -0
  563. data/remind-v06.02.10/include/holidays/va.rem +23 -0
  564. data/remind-v06.02.10/include/holidays/ve.rem +21 -0
  565. data/remind-v06.02.10/include/holidays/vi.rem +41 -0
  566. data/remind-v06.02.10/include/holidays/vn.rem +17 -0
  567. data/remind-v06.02.10/include/holidays/vu.rem +32 -0
  568. data/remind-v06.02.10/include/holidays/ws.rem +18 -0
  569. data/remind-v06.02.10/include/holidays/za.rem +28 -0
  570. data/remind-v06.02.10/include/holidays/zm.rem +31 -0
  571. data/remind-v06.02.10/include/lang/auto.rem +32 -0
  572. data/remind-v06.02.10/include/lang/ca.rem +60 -0
  573. data/remind-v06.02.10/include/lang/da.rem +77 -0
  574. data/remind-v06.02.10/include/lang/de.rem +80 -0
  575. data/remind-v06.02.10/include/lang/en.rem +4 -0
  576. data/remind-v06.02.10/include/lang/es.rem +55 -0
  577. data/remind-v06.02.10/include/lang/fi.rem +202 -0
  578. data/remind-v06.02.10/include/lang/fr.rem +172 -0
  579. data/remind-v06.02.10/include/lang/gr.rem +74 -0
  580. data/remind-v06.02.10/include/lang/is.rem +58 -0
  581. data/remind-v06.02.10/include/lang/it.rem +76 -0
  582. data/remind-v06.02.10/include/lang/nl.rem +71 -0
  583. data/remind-v06.02.10/include/lang/no.rem +66 -0
  584. data/remind-v06.02.10/include/lang/pl.rem +177 -0
  585. data/remind-v06.02.10/include/lang/pt.rem +176 -0
  586. data/remind-v06.02.10/include/lang/ro.rem +74 -0
  587. data/remind-v06.02.10/include/lunar-eclipses.rem +149 -0
  588. data/remind-v06.02.10/include/moonphases.rem +19 -0
  589. data/remind-v06.02.10/include/seasons.rem +21 -0
  590. data/remind-v06.02.10/include/solar-eclipses.rem +238 -0
  591. data/remind-v06.02.10/include/sun.rem +12 -0
  592. data/remind-v06.02.10/include/translations/de/holidays/chinese-new-year.rem +13 -0
  593. data/remind-v06.02.10/include/translations/de/moonphases.rem +4 -0
  594. data/remind-v06.02.10/include/translations/de/seasons.rem +4 -0
  595. data/remind-v06.02.10/include/translations/de/sun.rem +2 -0
  596. data/remind-v06.02.10/include/translations/nl/holidays/chinese-new-year.rem +13 -0
  597. data/remind-v06.02.10/include/translations/nl/moonphases.rem +4 -0
  598. data/remind-v06.02.10/include/translations/nl/seasons.rem +4 -0
  599. data/remind-v06.02.10/include/translations/nl/sun.rem +2 -0
  600. data/remind-v06.02.10/include/utils/add-html-anchors.rem +5 -0
  601. data/remind-v06.02.10/install-sh +238 -0
  602. data/remind-v06.02.10/man/rem.1.in +21 -0
  603. data/remind-v06.02.10/man/rem2ps.1.in +816 -0
  604. data/remind-v06.02.10/man/remind.1.in +7658 -0
  605. data/remind-v06.02.10/man/tkremind.1.in +612 -0
  606. data/remind-v06.02.10/rem2html/Makefile.in +30 -0
  607. data/remind-v06.02.10/rem2html/rem2html.in +1299 -0
  608. data/remind-v06.02.10/rem2pdf/Makefile.PL.in +25 -0
  609. data/remind-v06.02.10/rem2pdf/Makefile.top.in +50 -0
  610. data/remind-v06.02.10/rem2pdf/bin/rem2pdf.in +761 -0
  611. data/remind-v06.02.10/scripts/tkremind.in +5794 -0
  612. data/remind-v06.02.10/src/Makefile.in +133 -0
  613. data/remind-v06.02.10/src/calendar.c +3069 -0
  614. data/remind-v06.02.10/src/config.h +117 -0
  615. data/remind-v06.02.10/src/config.h.in +116 -0
  616. data/remind-v06.02.10/src/custom.h +167 -0
  617. data/remind-v06.02.10/src/custom.h.in +167 -0
  618. data/remind-v06.02.10/src/dedupe.c +179 -0
  619. data/remind-v06.02.10/src/dorem.c +2389 -0
  620. data/remind-v06.02.10/src/dosubst.c +910 -0
  621. data/remind-v06.02.10/src/dynbuf.c +198 -0
  622. data/remind-v06.02.10/src/dynbuf.h +41 -0
  623. data/remind-v06.02.10/src/err.h +294 -0
  624. data/remind-v06.02.10/src/expr.c +3408 -0
  625. data/remind-v06.02.10/src/files.c +1437 -0
  626. data/remind-v06.02.10/src/funcs.c +5230 -0
  627. data/remind-v06.02.10/src/globals.c +23 -0
  628. data/remind-v06.02.10/src/globals.h +277 -0
  629. data/remind-v06.02.10/src/hashtab.c +428 -0
  630. data/remind-v06.02.10/src/hashtab.h +88 -0
  631. data/remind-v06.02.10/src/hashtab_stats.c +101 -0
  632. data/remind-v06.02.10/src/hbcal.c +579 -0
  633. data/remind-v06.02.10/src/ifelse.c +236 -0
  634. data/remind-v06.02.10/src/init.c +1494 -0
  635. data/remind-v06.02.10/src/json.c +1048 -0
  636. data/remind-v06.02.10/src/json.h +276 -0
  637. data/remind-v06.02.10/src/main.c +2310 -0
  638. data/remind-v06.02.10/src/md5.c +250 -0
  639. data/remind-v06.02.10/src/md5.h +33 -0
  640. data/remind-v06.02.10/src/moon.c +957 -0
  641. data/remind-v06.02.10/src/omit.c +560 -0
  642. data/remind-v06.02.10/src/protos.h +284 -0
  643. data/remind-v06.02.10/src/queue.c +1118 -0
  644. data/remind-v06.02.10/src/rem2ps.c +1383 -0
  645. data/remind-v06.02.10/src/rem2ps.h +229 -0
  646. data/remind-v06.02.10/src/sort.c +257 -0
  647. data/remind-v06.02.10/src/token.c +494 -0
  648. data/remind-v06.02.10/src/trans.c +544 -0
  649. data/remind-v06.02.10/src/trigger.c +871 -0
  650. data/remind-v06.02.10/src/types.h +341 -0
  651. data/remind-v06.02.10/src/userfns.c +810 -0
  652. data/remind-v06.02.10/src/utils.c +374 -0
  653. data/remind-v06.02.10/src/var.c +1762 -0
  654. data/remind-v06.02.10/src/version.h +1 -0
  655. data/remind-v06.02.10/src/version.h.in +1 -0
  656. data/remind-v06.02.10/src/xlat.c +100 -0
  657. data/remind-v06.02.10/www/Makefile.in +91 -0
  658. metadata +764 -0
@@ -0,0 +1,761 @@
1
+ #!@PERL@
2
+ # SPDX-License-Identifier: GPL-2.0-only
3
+ use strict;
4
+ use warnings;
5
+ use lib '@prefix@/lib/perl5';
6
+
7
+ use Encode;
8
+ use Cairo;
9
+ use Pango;
10
+ use Getopt::Long;
11
+
12
+ my $VERSION = '@VERSION@';
13
+
14
+ use Remind::PDF;
15
+
16
+ my $media_to_size = {
17
+ "Letter" => [ 612, 792],
18
+ "Tabloid" => [ 792, 1224],
19
+ "Ledger" => [1224, 792],
20
+ "Legal" => [ 612, 1008],
21
+ "Statement" => [ 396, 612],
22
+ "Executive" => [ 540, 720],
23
+ "A3" => [ 842, 1190],
24
+ "A4" => [ 595, 842],
25
+ "A5" => [ 420, 595],
26
+ "B4" => [ 729, 1032],
27
+ "B5" => [ 519, 729],
28
+ "Folio" => [ 612, 936],
29
+ "Quarto" => [ 612, 780],
30
+ "10x14" => [ 720, 1008],
31
+ };
32
+
33
+ my $help = 0;
34
+ my $version = 0;
35
+
36
+ my $settings = {
37
+ landscape => 0,
38
+ numbers_on_left => 0,
39
+ small_calendars => 0,
40
+ fill_entire_page => 0,
41
+ wrap_calendar => 0,
42
+ media => 'Letter',
43
+ width => 0,
44
+ height => 0,
45
+ avoid_overfull_boxes => 0,
46
+ title_font => 'Sans',
47
+ header_font => 'Sans',
48
+ daynum_font => 'Sans Bold Oblique',
49
+ entry_font => 'Sans',
50
+ small_cal_font => 'Sans',
51
+
52
+ title_url => '',
53
+ title_size => 14,
54
+ header_size => 12,
55
+ daynum_size => -1,
56
+ entry_size => 8,
57
+
58
+ border_size => 4,
59
+ entry_spacing => -1,
60
+ line_thickness => 1,
61
+
62
+ margin_top => 36,
63
+ margin_bottom => 36,
64
+ margin_left => 36,
65
+ margin_right => 36,
66
+ svg => 0,
67
+ ps => 0,
68
+ eps => 0,
69
+ verbose => 0,
70
+
71
+ line_color => '000000',
72
+ title_color => '000000',
73
+ header_color => '000000',
74
+ daynum_color => '000000',
75
+ smallcal_color => '000000',
76
+ bg_color => '',
77
+ weeks_per_page => 1,
78
+ };
79
+
80
+ my $me = $0;
81
+ $me =~ s/^.*\///;
82
+
83
+ set_default_media();
84
+
85
+ sub usage
86
+ {
87
+ print <<"EOF";
88
+ $me (version $VERSION): Convert Remind -pp output to a PDF calendar.
89
+
90
+ Usage: remind -pp [options] filename | $me [options] > out.pdf
91
+
92
+ Options:
93
+
94
+ --landscape, -l Print in landscape orientation
95
+ --small-calendars=N Location for small calendars (monthly calendars only)
96
+ --svg Output SVG instead of PDF
97
+ --ps Output PostScript instead of PDF
98
+ --eps Output encapsulated PostScript instead of PDF
99
+ -cN Synonym for --small-calendars=N
100
+ --avoid-overfull Shrink font size to avoid over-full boxes. Implies -e
101
+ --left-numbers, -x Print day numbers on the left (monthly calendars only)
102
+ --fill-page, -e Fill the entire page (monthly calendars only)
103
+ --media=MEDIA, -mMEDIA Size for specified media
104
+ --width=W, -wW Specify media width in 1/72nds of an inch
105
+ --height=H, -hH Specify media height in 1/72nds of an inch
106
+ --wrap, -y Make calendar fit in 5 rows (monthly calendars only)
107
+ --weeks-per-page=N, -pN Number of weeks per page (weekly calendars only)
108
+ --title-font=FONT Specify font for calendar title
109
+ --header-font=FONT Specify font for weekday names
110
+ --daynum-font=FONT Specify font for day numbers
111
+ --entry-font=FONT Specify font for calendar entries
112
+ --small-cal-font=FONT Specify font for small calendars
113
+ --title-size=S Specify size of font for calendar title in points
114
+ --header-size=S Specify size of font for weekday names
115
+ --daynum-size=S Specify size of font for day numbers
116
+ --entry-size=S Specify size of font for calendar entries
117
+ --entry-spacing=S Specify extra spacing between calendar entries
118
+ --border-size=S Specify size of gaps between items in 1/72nds of an inch
119
+ --line-thickness=S Specify line thickness in 1/72nds of an inch
120
+ --margin-top=S Specify top margin size in 1/72nds of an inch
121
+ --margin-bottom=S Specify bottom margin size in 1/72nds of an inch
122
+ --margin-left=S Specify left margin size in 1/72nds of an inch
123
+ --margin-right=S Specify right margin size in 1/72nds of an inch
124
+ --line-color=RRGGBB Set line color
125
+ --title-color=RRGGBB Set title color
126
+ --header-color=RRGGBB Set header color
127
+ --daynum-color=RRGGBB Set day number color
128
+ --smallcal-color=RRGGBB Set small calendar color
129
+ --bg-color=RRGGBB Set background color
130
+ --title-url=URL Link calendar title to URL
131
+ --verbose, -v Print progress messages
132
+ --help Display this help
133
+ --version Print version and exit
134
+ EOF
135
+ }
136
+
137
+ Getopt::Long::Configure('bundling_values');
138
+
139
+ my $ret = GetOptions('landscape|l' => \$settings->{landscape},
140
+ 'small-calendars|c=i' => \$settings->{small_calendars},
141
+ 'left-numbers|x' => \$settings->{numbers_on_left},
142
+ 'svg' => \$settings->{svg},
143
+ 'ps' => \$settings->{ps},
144
+ 'eps' => \$settings->{eps},
145
+ 'avoid-overfull' => \$settings->{avoid_overfull_boxes},
146
+ 'fill-page|e' => \$settings->{fill_entire_page},
147
+ 'weeks-per-page|p=i' => \$settings->{weeks_per_page},
148
+ 'media|m=s' => \$settings->{media},
149
+ 'width|w=i' => \$settings->{width},
150
+ 'wrap|y' => \$settings->{wrap_calendar},
151
+ 'height|h=i' => \$settings->{height},
152
+ 'title-font=s' => \$settings->{title_font},
153
+ 'title-url=s' => \$settings->{title_url},
154
+ 'header-font=s' => \$settings->{header_font},
155
+ 'daynum-font=s' => \$settings->{daynum_font},
156
+ 'entry-font=s' => \$settings->{entry_font},
157
+ 'small-cal-font=s' => \$settings->{small_cal_font},
158
+ 'title-size=f' => \$settings->{title_size},
159
+ 'header-size=f' => \$settings->{header_size},
160
+ 'daynum-size=f' => \$settings->{daynum_size},
161
+ 'entry-size=f' => \$settings->{entry_size},
162
+ 'entry-spacing=f' => \$settings->{entry_spacing},
163
+ 'border-size=f' => \$settings->{border_size},
164
+ 'line-thickness=f' => \$settings->{line_thickness},
165
+ 'margin-top=f' => \$settings->{margin_top},
166
+ 'margin-bottom=f' => \$settings->{margin_bottom},
167
+ 'margin-left=f' => \$settings->{margin_left},
168
+ 'margin-right=f' => \$settings->{margin_right},
169
+ 'verbose|v' => \$settings->{verbose},
170
+ 'line-color=s' => \$settings->{line_color},
171
+ 'bg-color=s' => \$settings->{bg_color},
172
+ 'title-color=s' => \$settings->{title_color},
173
+ 'header-color=s' => \$settings->{header_color},
174
+ 'daynum-color=s' => \$settings->{daynum_color},
175
+ 'smallcal-color=s' => \$settings->{smallcal_color},
176
+ 'version' => \$version,
177
+ 'help' => \$help
178
+ );
179
+ if (!$ret) {
180
+ usage();
181
+ exit(1);
182
+ }
183
+
184
+ if ($help) {
185
+ usage();
186
+ exit(0);
187
+ }
188
+
189
+ if ($version) {
190
+ print "rem2pdf version $VERSION\n";
191
+ exit(0);
192
+ }
193
+
194
+ if ($settings->{entry_spacing} < 0) {
195
+ $settings->{entry_spacing} = 0.5 * $settings->{border_size};
196
+ }
197
+
198
+
199
+ if ($settings->{avoid_overfull_boxes}) {
200
+ $settings->{fill_entire_page} = 1;
201
+ }
202
+
203
+ my $bad = 0;
204
+ foreach my $setting (qw(bg_color line_color title_color header_color daynum_color smallcal_color)) {
205
+ my $c = $settings->{$setting};
206
+ if ($setting eq 'bg_color' && $c eq '') {
207
+ $settings->{bg_color} = [-1, -1, -1];
208
+ next;
209
+ }
210
+ my $color = Remind::PDF->get_rgb($c);
211
+ if (!defined($color)) {
212
+ my $s = $setting;
213
+ $s =~ s/_/-/g;
214
+ print STDERR "Invalid color value `$c' for option --$s\n";
215
+ $bad = 1;
216
+ } else {
217
+ $settings->{$setting} = $color;
218
+ }
219
+ }
220
+
221
+ if ($bad) {
222
+ exit(1);
223
+ }
224
+
225
+ if ($settings->{weeks_per_page} < 1) {
226
+ $settings->{weeks_per_page} = 1;}
227
+ elsif ($settings->{weeks_per_page} > 4) {
228
+ $settings->{weeks_per_page} = 4;
229
+ }
230
+
231
+ if ($settings->{width} <= 0 ||
232
+ $settings->{height} <= 0) {
233
+ my $size = $media_to_size->{ucfirst($settings->{media})};
234
+ if (!$size) {
235
+ if (lc($settings->{media}) ne 'help') {
236
+ print STDERR "Unknown media " . $settings->{media} . "\n";
237
+ }
238
+ set_default_media();
239
+ printf("%-12s Size in 1/72 in\n", "Valid media:");
240
+ foreach my $m (sort { $a cmp $b } (keys(%$media_to_size))) {
241
+ if ($m eq $settings->{media}) {
242
+ print "* ";
243
+ } else {
244
+ print " ";
245
+ }
246
+ printf("%-12s %4d x %4d\n", $m,
247
+ $media_to_size->{$m}->[0],
248
+ $media_to_size->{$m}->[1]);
249
+ }
250
+ exit(1);
251
+ }
252
+ $settings->{width} = $size->[0];
253
+ $settings->{height} = $size->[1];
254
+ }
255
+
256
+ if ($settings->{landscape}) {
257
+ my $tmp = $settings->{width};
258
+ $settings->{width} = $settings->{height};
259
+ $settings->{height} = $tmp;
260
+ }
261
+
262
+ if ($settings->{svg} && $settings->{ps} ||
263
+ $settings->{svg} && $settings->{eps} ||
264
+ $settings->{eps} && $settings->{ps}) {
265
+ print STDERR "Only one of --eps, --ps or --svg may be used.\n";
266
+ exit(1);
267
+ }
268
+
269
+ if ($settings->{eps}) {
270
+ $settings->{ps} = 1;
271
+ }
272
+
273
+ # Don't read from a terminal
274
+ if (-t STDIN) { ## no critic
275
+ print STDERR "I can't read data from a terminal. Please run like this:\n";
276
+ print STDERR " remind -pp [options] filename | $me [options] > out.pdf\n\n";
277
+ print STDERR "For help, run: $me --help\n";
278
+ exit(1);
279
+ }
280
+
281
+ my $done_one = 0;
282
+
283
+ my $errored_out = 0;
284
+
285
+ my $surface;
286
+ if ($settings->{svg}) {
287
+ $surface = Cairo::SvgSurface->create_for_stream(sub { print $_[1] unless $errored_out; }, undef,
288
+ $settings->{width}, $settings->{height});
289
+ } elsif ($settings->{ps}) {
290
+ if ($settings->{landscape}) {
291
+ $surface = Cairo::PsSurface->create_for_stream(sub { print $_[1] unless $errored_out; }, undef,
292
+ $settings->{height}, $settings->{width});
293
+ } else {
294
+ $surface = Cairo::PsSurface->create_for_stream(sub { print $_[1] unless $errored_out; }, undef,
295
+ $settings->{width}, $settings->{height});
296
+ }
297
+ if ($settings->{eps}) {
298
+ $surface->set_eps(1);
299
+ }
300
+ } else {
301
+ $surface = Cairo::PdfSurface->create_for_stream(sub { print $_[1] unless $errored_out; }, undef,
302
+ $settings->{width}, $settings->{height});
303
+ }
304
+
305
+ # Save original entry size
306
+ $settings->{original_entry_size} = $settings->{entry_size};
307
+
308
+ # set_metadata not available in older versions of Cairo
309
+ eval { $surface->set_metadata('title', 'Calendar'); };
310
+ eval { $surface->set_metadata('author', 'Remind (https://dianne.skoll.ca/projects/remind/)'); };
311
+ eval { $surface->set_metadata('creator', 'rem2pdf (https://dianne.skoll.ca/projects/remind/)'); };
312
+ eval { $surface->set_metadata('subject', 'Calendar'); };
313
+
314
+ if ($settings->{ps}) {
315
+ $surface->dsc_comment('%%Title: Calendar');
316
+ $surface->dsc_comment('%%Producer: rem2pdf (https://dianne.skoll.ca/projects/remind/)');
317
+ $surface->dsc_comment('%%PageOrientation: ' . (($settings->{landscape}) ? 'Landscape' : 'Portrait'));
318
+ $surface->dsc_begin_setup();
319
+ }
320
+
321
+ my $cr = Cairo::Context->create($surface);
322
+ $cr->set_line_width($settings->{line_thickness});
323
+ if ($settings->{ps} && $settings->{landscape}) {
324
+ $cr->translate(0, $settings->{width});
325
+ $cr->rotate(-1.5707963267949); # Rotate -90 degrees
326
+ }
327
+
328
+ my $warned = 0;
329
+ my $index = 0;
330
+ while(1) {
331
+ if ($settings->{ps}) {
332
+ $surface->dsc_begin_page_setup();
333
+ $surface->dsc_comment('%%PageOrientation: ' . (($settings->{landscape}) ? 'Landscape' : 'Portrait'));
334
+ }
335
+ my ($obj, $err) = Remind::PDF->create_from_stream(*STDIN,
336
+ {color => 1,
337
+ colour => 1,
338
+ shade => 1,
339
+ moon => 1,
340
+ pango => 1,
341
+ week => 1,});
342
+
343
+ if (!$obj) {
344
+ if (!$done_one) {
345
+ $errored_out = 1;
346
+ print STDERR "$me: $err\n";
347
+ exit(1);
348
+ }
349
+ last;
350
+ }
351
+ $index++;
352
+ $obj->render($cr, $settings, $index, -1);
353
+ $done_one = 1;
354
+ }
355
+
356
+ $surface->finish();
357
+
358
+ sub set_default_media
359
+ {
360
+ my $paper;
361
+ $paper = $ENV{PAPERSIZE};
362
+ if ($paper && set_media(ucfirst($paper))) {
363
+ return 1;
364
+ }
365
+ if ($ENV{PAPERCONF}) {
366
+ if (set_media_from_file($ENV{PAPERCONF})) {
367
+ return 1;
368
+ }
369
+ }
370
+ if (set_media_from_file('/etc/papersize')) {
371
+ return 1;
372
+ }
373
+ return set_media('Letter');
374
+ }
375
+
376
+ sub set_media
377
+ {
378
+ my ($m) = @_;
379
+
380
+ return 0 unless $media_to_size->{$m};
381
+ $settings->{media} = $m;
382
+ return 1;
383
+ }
384
+
385
+ sub set_media_from_file
386
+ {
387
+ my ($fn) = @_;
388
+ my $IN;
389
+ if (!open($IN, '<', $fn)) {
390
+ return 0;
391
+ }
392
+ while(<$IN>) {
393
+ chomp;
394
+ s/^\s+//;
395
+ s/\s+$//;
396
+ next if ($_ eq '');
397
+ next if ($_ =~ /^#/);
398
+ my $m = $_;
399
+ close($IN);
400
+ return set_media($m);
401
+ }
402
+ close($IN);
403
+ return 0;
404
+ }
405
+
406
+ __END__
407
+
408
+ =head1 NAME
409
+
410
+ rem2pdf - draw a PDF, SVG or PostScript calendar from Remind output
411
+
412
+ =head1 SYNOPSIS
413
+
414
+ remind -pp [remind_options] file | rem2pdf [options] > output.pdf
415
+ remind -pp [remind_options] file | rem2pdf --svg [options] > output.svg
416
+ remind -pp [remind_options] file | rem2pdf --ps [options] > output.ps
417
+ remind -pp [remind_options] file | rem2pdf --eps [options] > output.eps
418
+
419
+ =head1 DESCRIPTION
420
+
421
+ B<rem2pdf> reads the standard input, which should be the results of
422
+ running B<remind> with the B<-p>, B<-pp> or B<-ppp> options. It emits
423
+ PDF, SVG or PostScript code that draws a calendar to standard output. (The
424
+ addition of support for SVG and PostScript means that rem2pdf is increasingly
425
+ misnamed...)
426
+
427
+ B<rem2pdf> uses the Pango text formatting library (L<https://pango.gnome.org/>)
428
+ and the Cairo graphics library (L<https://www.cairographics.org/>) to produce
429
+ its output. The CPAN modules Pango (L<https://metacpan.org/pod/Pango>)
430
+ and Cairo (L<https://metacpan.org/pod/Cairo>) are prerequisites.
431
+
432
+ B<rem2pdf> assumes that its input stream is valid UTF-8. If this is not
433
+ the case, it may render output incorrectly or even fail to render
434
+ output at all.
435
+
436
+ =head1 OPTIONS
437
+
438
+ =over
439
+
440
+ =item --ps
441
+
442
+ Output PostScript instead of PDF.
443
+
444
+ =item --eps
445
+
446
+ Output Encapsulated PostScript instead of PDF. In this case, you
447
+ should feed C<rem2pdf> only one month's worth of calendar data,
448
+ because it cannot create a multi-page encapsulated PostScript file.
449
+
450
+ =item --svg
451
+
452
+ Output SVG instead of PDF. In this case, you should feed C<rem2pdf>
453
+ only one month's worth of calendar data, because it cannot create
454
+ a multi-page SVG file.
455
+
456
+ =item --landscape, -l
457
+
458
+ Print the calendar in landscape orientation. Essentially, this swaps
459
+ the width and height of the output media.
460
+
461
+ =item --small-calendars=I<n>, -cI<n>
462
+
463
+ Control the inclusion of small calendars for the previous and next
464
+ month. Possible values for I<n> are:
465
+
466
+ =over
467
+
468
+ =item Z<>0
469
+
470
+ Do not draw any small calendars
471
+
472
+ =item Z<>1
473
+
474
+ Place the small calendars at the bottom-right if there is room;
475
+ otherwise, place them at the top-left.
476
+
477
+ =item Z<>2
478
+
479
+ Place the small calendars at the top-left if there is room; otherwise,
480
+ place them at the bottom-right.
481
+
482
+ =item Z<>3
483
+
484
+ Place the previous month's small calendar at the top-left and the next
485
+ month's at the bottom-right if there is room; otherwise, follow
486
+ I<n>=1. A moment's thought reveals that an option which splits the
487
+ calendars if there is room and otherwise follows I<n>=2 yields the
488
+ same results.
489
+
490
+ =back
491
+
492
+ =item --left-numbers, -x
493
+
494
+ Draw the day numbers in the top-left corner of each day's box rather than
495
+ the default top-right.
496
+
497
+ =item --fill-page, -e
498
+
499
+ Make the calendar fill the available space on the page.
500
+
501
+ =item --avoid-overfull
502
+
503
+ If a calendar box is going to overflow, try to make the entries fit by
504
+ decreasing the font size. Using the --avoid-overfull option automatically
505
+ enables the --fill-page option.
506
+
507
+ =item --media=I<media>, -mI<media>
508
+
509
+ Specify the paper size (Letter, A4, etc.) For a list of valid media sizes,
510
+ run:
511
+
512
+ rem2pdf --media=help
513
+
514
+ The default media size will be marked with an asterisk.
515
+
516
+ =item --width=I<n>, -wI<n>, --height=I<m>, -hI<m>
517
+
518
+ Rather than specifying a named media size, directly specify the width
519
+ and height of the output in 1/72ndths of an inch. You must specify both
520
+ width and height for the options to be respected.
521
+
522
+ =item --title-font=I<font>
523
+
524
+ Specify the font used for the calendar title. It can be any font that
525
+ the Pango library on your system can use. The default is Sans. If
526
+ you choose a font with spaces in its name, you may need to quote this
527
+ argument.
528
+
529
+ =item --header-font=I<font>
530
+
531
+ Specify the font used for the weekday names. The default is Sans.
532
+
533
+ =item --daynum-font=I<font>
534
+
535
+ Specify the font used for the day numbers. The default is
536
+ Sans Bold Oblique.
537
+
538
+ =item --entry-font=I<font>
539
+
540
+ Specify the font used for calendar entries. The default is Sans.
541
+
542
+ =item --small-cal-font=I<font>
543
+
544
+ Specify the font used for the small next- and previous-month
545
+ calendars. The default is Sans.
546
+
547
+ =item --title-size=I<n>
548
+
549
+ Specify the size of the title font in 1/72ndths of an inch. The default
550
+ is 14. This size, and indeed all following sizes, may be specified as
551
+ floating-point numbers.
552
+
553
+ =item --header-size=I<n>
554
+
555
+ Specify the size of the header font in 1/72ndths of an inch. The default is 14.
556
+
557
+ =item --daynum-size=I<n>
558
+
559
+ Specify the size of the day number font in 1/72ndths of an inch. The
560
+ default is 14 for monthly calendars or 10 for weekly calendars. (Weekly
561
+ calendars don't have day numbers in the calendar boxes, but this setting
562
+ is used to scale the size of moon phase indicators.)
563
+
564
+ =item --entry-size=I<n>
565
+
566
+ Specify the size of the calendar entry font in 1/72ndths of an inch.
567
+ The default is 8.
568
+
569
+ =item --border-size=I<n>
570
+
571
+ Specify the size of the blank border between the contents of a calendar
572
+ box and the centre of the lines surrounding it, in 1/72ndths of an inch.
573
+ The default is 4.
574
+
575
+ =item --entry-spacing=I<n>
576
+
577
+ Specify the amount of extra space, in 1/72ndths of an inch, to leave
578
+ between calendar entries in a given calendar box. The default is
579
+ one-half of the --border-size value.
580
+
581
+ =item --line-thickness=I<n>
582
+
583
+ Specify the thickness of the lines drawn on the calendar. The default is 1.
584
+
585
+ =item --margin-top=I<n>
586
+
587
+ The size of the margin at the top of the page in 1/72ndths of an inch.
588
+ The default is 36.
589
+
590
+ =item --margin-bottom=I<n>
591
+
592
+ The size of the margin at the bottom of the page in 1/72ndths of an inch.
593
+ The default is 36.
594
+
595
+ =item --margin-left=I<n>
596
+
597
+ The size of the margin at the left of the page in 1/72ndths of an inch.
598
+ The default is 36.
599
+
600
+ =item --margin-right=I<n>
601
+
602
+ The size of the margin at the right of the page in 1/72ndths of an inch.
603
+ The default is 36.
604
+
605
+ =item --line-color=RGB
606
+
607
+ The color of the calendar grid lines. For this option and all
608
+ following color options, the color may be specified as either 3 or 6
609
+ hex digits, specifying the R, G and B components respectively. For
610
+ example, FFFFFF is white, FF0000 is a saturated red, and so on. If
611
+ you supply 3 hex digits, then they are effectively doubled, so that
612
+ (for example) 5AF is expanded to 55AAFF.
613
+
614
+ =item --title-color=RGB
615
+
616
+ The color of the calendar title at the top of the page.
617
+
618
+ =item --header-color=RGB
619
+
620
+ The color of the weekday names in the header row.
621
+
622
+ =item --daynum-color=RGB
623
+
624
+ The color of the day numbers (and the moon phases, if any.)
625
+
626
+ =item --smallcal-color=RGB
627
+
628
+ The color of the small monthly calendars, if any.
629
+
630
+ =item --bg-color=RGB
631
+
632
+ The color of the page background.
633
+
634
+ Note that all colors default to black (000) except for the
635
+ page background, which defaults to no color at all (ie, transparent).
636
+
637
+ =item --title-url=URL
638
+
639
+ Make the calendar title a link to URL. Note that no syntax checking is
640
+ done on the URL; it's up to you to make sure it is valid.
641
+
642
+ =item --wrap, -y
643
+
644
+ Modify the calendar so that if it would normally require 6 rows to print,
645
+ then the last day (or last two days, as needed) are moved to the
646
+ first row of the calendar, and adjust the small calendar positions
647
+ as needed. This results in a calendar that only requires 5 rows, but
648
+ with the last day or two appearing in the I<first> row.
649
+
650
+ =item --weeks-per-page=I<n>, -pI<n>.
651
+
652
+ This option is only used for weekly calendars. I<n> is the number of weeks
653
+ to print per page; it is an integer that can range from 1 to 4.
654
+
655
+ =item --verbose, -v
656
+
657
+ Print (on STDERR) the name of the month and year for each month that
658
+ is rendered.
659
+
660
+ =item --version
661
+
662
+ Print the version of rem2pdf and exit.
663
+
664
+ =item --help
665
+
666
+ Print a brief summary of rem2pdf usage.
667
+
668
+ =back
669
+
670
+ =head1 USAGE
671
+
672
+ To use B<rem2pdf>, pipe the output of B<remind> with one of the
673
+ B<-p>, B<-pp> or B<-ppp> options into B<rem2pdf>. The PDF output
674
+ will be sent to standard output. So for example, to print a 12-month
675
+ calendar for the year 2030, use:
676
+
677
+ remind -pp12 /dev/null Jan 2030 | rem2pdf -e -l -c3 | lpr
678
+
679
+ You can concatenate multiple B<remind> runs. For example, the following
680
+ will produce a PDF calendar for January through March of 2023, and
681
+ June of 2023 (for a total of four pages);
682
+
683
+ (remind -pp3 /dev/null Jan 2023 ; \
684
+ remind -pp /dev/null June 2023) | rem2pdf -e -l -c3 > cal.pdf
685
+
686
+ =head1 FORMATTED TEXT
687
+
688
+ B<rem2pdf> supports a B<SPECIAL> reminder type called B<PANGO>. This
689
+ lets you format text using the Pango markup language, described at
690
+ L<https://docs.gtk.org/Pango/pango_markup.html>. Here are some
691
+ examples:
692
+
693
+ REM Mon SPECIAL PANGO <b>Bold</b> and <i>italic</i>
694
+ REM Tue SPECIAL PANGO <span face="zapf chancery">Fancy</span>
695
+ REM Wed SPECIAL PANGO <span foreground="red"><b>Bold red</b></span>
696
+
697
+ Other back-ends such as B<rem2ps> and B<rem2html> will ignore PANGO
698
+ special reminders.
699
+
700
+ Neither B<remind> nor B<rem2pdf> will check the markup to ensure
701
+ it is syntactically correct. If you use invalid Pango markup, the
702
+ Pango library will print a warning and B<rem2pdf> will not render any
703
+ output for the invalid reminder.
704
+
705
+ =head1 INFO STRINGS SUPPORTED
706
+
707
+ rem2pdf supports one INFO string, namely C<Url>. Its value should be
708
+ a URL. If the C<Url> INFO string is supplied for a normal reminder, a
709
+ COLOR special, a MOON special, a PANGO special or a WEEK special, the
710
+ corresponding output is turned into a hyperlink.
711
+
712
+ =head1 WEEKLY CALENDARS
713
+
714
+ B<rem2pdf> will produce weekly calendars if you invoke B<remind> with the
715
+ B<-p+> option. the B<--weeks-per-page> option specifies how many
716
+ weeks' worth of reminders to print per page, and can range from 1 to 4.
717
+
718
+ =head1 ABSOLUTELY-POSITIONED TEXT
719
+
720
+ If your B<PANGO> special reminder starts with C<@I<x>,I<y>> where I<x>
721
+ and I<y> are floating-point numbers, then the Pango marked-up text is
722
+ positioned absolutely with respect to the day's box (and is not
723
+ counted when calculating the box's height.)
724
+
725
+ A positive I<x> value positions the left edge of the text I<x> points
726
+ to the right of the left side of the calendar box, while a negative
727
+ I<x> value positions the right edge of the text I<x> points to the left
728
+ of the right side of the calendar box.
729
+
730
+ A positive I<y> value positions the top edge of the text I<y> points
731
+ below the top of the calendar box, while a negative I<y> value
732
+ positions the bottom edge of the text I<y> points above the bottom of
733
+ the calendar box. Note that the coordinates are relative to the center
734
+ of the lines that delineate the boxes; you should use an I<x> value
735
+ whose absolute value is at least 2 and a I<y> value whose absolute
736
+ value is at least 4 to avoid colliding with the lines.
737
+
738
+ If you use absolutely-positioned text, it's up to you to make sure it
739
+ doesn't overlap other text; B<rem2pdf> takes no special precautions to
740
+ prevent this.
741
+
742
+ As an example, this places Sunrise and Sunset times at the bottom left
743
+ of each calendar box:
744
+
745
+ REM SPECIAL PANGO @2,-4 <span size="4800"><i>Rise [sunrise($U)] Set [sunset($U)]</i></span>
746
+
747
+ (Note that Pango expresses font sizes in 1024's of a point, so a size of
748
+ 4800 works out to about 4.6 points.)
749
+
750
+ =head1 AUTHOR
751
+
752
+ B<Rem2PDF> was written by Dianne Skoll <dianne@skoll.ca>
753
+
754
+ =head1 HOME PAGE
755
+
756
+ L<https://dianne.skoll.ca/projects/remind/>
757
+
758
+ =head1 SEE ALSO
759
+
760
+ B<remind>, B<rem2ps>, B<rem2html>, B<tkremind>
761
+