twitter_cldr 3.2.1 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1172) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -4
  3. data/History.txt +11 -0
  4. data/README.md +40 -3
  5. data/Rakefile +26 -21
  6. data/lib/twitter_cldr/collation/collator.rb +3 -3
  7. data/lib/twitter_cldr/collation/sort_key_builder.rb +10 -10
  8. data/lib/twitter_cldr/data_readers/calendar_data_reader.rb +8 -8
  9. data/lib/twitter_cldr/data_readers/date_time_data_reader.rb +2 -2
  10. data/lib/twitter_cldr/data_readers/number_data_reader.rb +10 -10
  11. data/lib/twitter_cldr/data_readers/timespan_data_reader.rb +27 -27
  12. data/lib/twitter_cldr/formatters/list_formatter.rb +1 -1
  13. data/lib/twitter_cldr/formatters/numbers/currency_formatter.rb +3 -3
  14. data/lib/twitter_cldr/formatters/numbers/helpers/integer.rb +7 -5
  15. data/lib/twitter_cldr/formatters/numbers/rbnf/formatters.rb +1 -1
  16. data/lib/twitter_cldr/formatters/numbers/rbnf/rule.rb +1 -1
  17. data/lib/twitter_cldr/formatters/numbers/rbnf/rule_set.rb +3 -2
  18. data/lib/twitter_cldr/formatters/numbers/rbnf.rb +2 -2
  19. data/lib/twitter_cldr/formatters/plurals/rules.rb +1 -1
  20. data/lib/twitter_cldr/localized/localized_date.rb +2 -2
  21. data/lib/twitter_cldr/localized/localized_datetime.rb +8 -8
  22. data/lib/twitter_cldr/localized/localized_number.rb +7 -7
  23. data/lib/twitter_cldr/localized/localized_string.rb +33 -1
  24. data/lib/twitter_cldr/localized/localized_symbol.rb +9 -1
  25. data/lib/twitter_cldr/localized/localized_time.rb +2 -2
  26. data/lib/twitter_cldr/localized/localized_timespan.rb +10 -10
  27. data/lib/twitter_cldr/parsers/number_parser.rb +1 -1
  28. data/lib/twitter_cldr/parsers/parser.rb +5 -1
  29. data/lib/twitter_cldr/parsers/unicode_regex/character_class.rb +41 -2
  30. data/lib/twitter_cldr/parsers/unicode_regex/character_range.rb +8 -0
  31. data/lib/twitter_cldr/parsers/unicode_regex/character_set.rb +66 -23
  32. data/lib/twitter_cldr/parsers/unicode_regex/literal.rb +4 -0
  33. data/lib/twitter_cldr/parsers/unicode_regex/unicode_string.rb +6 -3
  34. data/lib/twitter_cldr/parsers/unicode_regex_parser.rb +65 -32
  35. data/lib/twitter_cldr/parsers.rb +1 -2
  36. data/lib/twitter_cldr/resources/custom_locales_resources_importer.rb +4 -4
  37. data/lib/twitter_cldr/resources/download.rb +13 -6
  38. data/lib/twitter_cldr/resources/language_codes_importer.rb +7 -7
  39. data/lib/twitter_cldr/resources/loader.rb +4 -1
  40. data/lib/twitter_cldr/resources/locales_resources_importer.rb +30 -12
  41. data/lib/twitter_cldr/resources/postal_codes_importer.rb +32 -22
  42. data/lib/twitter_cldr/resources/properties/age_property_importer.rb +27 -0
  43. data/lib/twitter_cldr/resources/properties/arabic_shaping_property_importer.rb +42 -0
  44. data/lib/twitter_cldr/resources/properties/bidi_brackets_property_importer.rb +41 -0
  45. data/lib/twitter_cldr/resources/properties/blocks_property_importer.rb +27 -0
  46. data/lib/twitter_cldr/resources/properties/derived_core_properties_importer.rb +36 -0
  47. data/lib/twitter_cldr/resources/properties/east_asian_width_property_importer.rb +27 -0
  48. data/lib/twitter_cldr/resources/properties/grapheme_break_property_importer.rb +27 -0
  49. data/lib/twitter_cldr/resources/properties/hangul_syllable_type_property_importer.rb +27 -0
  50. data/lib/twitter_cldr/resources/properties/indic_positional_category_property_importer.rb +27 -0
  51. data/lib/twitter_cldr/resources/properties/indic_syllabic_category_property_importer.rb +27 -0
  52. data/lib/twitter_cldr/resources/properties/jamo_property_importer.rb +27 -0
  53. data/lib/twitter_cldr/resources/properties/line_break_property_importer.rb +27 -0
  54. data/lib/twitter_cldr/resources/properties/prop_list_importer.rb +36 -0
  55. data/lib/twitter_cldr/resources/properties/properties_importer.rb +59 -0
  56. data/lib/twitter_cldr/resources/properties/property_importer.rb +83 -0
  57. data/lib/twitter_cldr/resources/properties/script_extensions_property_importer.rb +40 -0
  58. data/lib/twitter_cldr/resources/properties/script_property_importer.rb +27 -0
  59. data/lib/twitter_cldr/resources/properties/sentence_break_property_importer.rb +27 -0
  60. data/lib/twitter_cldr/resources/properties/unicode_data_properties_importer.rb +60 -0
  61. data/lib/twitter_cldr/resources/properties/word_break_property_importer.rb +27 -0
  62. data/lib/twitter_cldr/resources/properties.rb +36 -0
  63. data/lib/twitter_cldr/resources/readme_renderer.rb +2 -2
  64. data/lib/twitter_cldr/resources/segment_tests_importer.rb +66 -0
  65. data/lib/twitter_cldr/resources/tailoring_importer.rb +7 -7
  66. data/lib/twitter_cldr/resources/uli/segment_exceptions_importer.rb +1 -1
  67. data/lib/twitter_cldr/resources/unicode_data_importer.rb +19 -60
  68. data/lib/twitter_cldr/resources/unicode_property_aliases_importer.rb +97 -0
  69. data/lib/twitter_cldr/resources.rb +21 -22
  70. data/lib/twitter_cldr/segmentation/break_iterator.rb +54 -0
  71. data/lib/twitter_cldr/segmentation/cursor.rb +34 -0
  72. data/lib/twitter_cldr/segmentation/parser.rb +71 -0
  73. data/lib/twitter_cldr/segmentation/rule.rb +79 -0
  74. data/lib/twitter_cldr/segmentation/rule_set.rb +116 -0
  75. data/lib/twitter_cldr/segmentation/rule_set_builder.rb +142 -0
  76. data/lib/twitter_cldr/segmentation.rb +17 -0
  77. data/lib/twitter_cldr/shared/bidi.rb +4 -4
  78. data/lib/twitter_cldr/shared/calendar.rb +11 -11
  79. data/lib/twitter_cldr/shared/caser.rb +84 -0
  80. data/lib/twitter_cldr/shared/code_point.rb +101 -139
  81. data/lib/twitter_cldr/shared/currencies.rb +5 -5
  82. data/lib/twitter_cldr/shared/language_codes.rb +2 -2
  83. data/lib/twitter_cldr/shared/languages.rb +1 -1
  84. data/lib/twitter_cldr/shared/likely_subtags.rb +104 -0
  85. data/lib/twitter_cldr/shared/locale.rb +252 -0
  86. data/lib/twitter_cldr/shared/postal_codes.rb +21 -9
  87. data/lib/twitter_cldr/shared/properties/arabic_shaping.rb +40 -0
  88. data/lib/twitter_cldr/shared/properties/bidi_brackets.rb +28 -0
  89. data/lib/twitter_cldr/shared/properties.rb +13 -0
  90. data/lib/twitter_cldr/shared/properties_database.rb +180 -0
  91. data/lib/twitter_cldr/shared/property_name_aliases.rb +48 -0
  92. data/lib/twitter_cldr/shared/property_normalizer.rb +108 -0
  93. data/lib/twitter_cldr/shared/property_set.rb +113 -0
  94. data/lib/twitter_cldr/shared/property_value_aliases.rb +99 -0
  95. data/lib/twitter_cldr/shared/unicode_regex.rb +29 -3
  96. data/lib/twitter_cldr/shared.rb +9 -1
  97. data/lib/twitter_cldr/tokenizers/numbers/number_tokenizer.rb +1 -1
  98. data/lib/twitter_cldr/tokenizers/token.rb +1 -1
  99. data/lib/twitter_cldr/tokenizers/tokenizer.rb +15 -13
  100. data/lib/twitter_cldr/tokenizers/unicode_regex/unicode_regex_tokenizer.rb +4 -4
  101. data/lib/twitter_cldr/utils/file_system_trie.rb +145 -0
  102. data/lib/twitter_cldr/utils/range_set.rb +131 -31
  103. data/lib/twitter_cldr/utils/regexp_sampler.rb +0 -1
  104. data/lib/twitter_cldr/utils/script_detector.rb +75 -0
  105. data/lib/twitter_cldr/utils/yaml.rb +3 -3
  106. data/lib/twitter_cldr/utils.rb +8 -5
  107. data/lib/twitter_cldr/version.rb +1 -1
  108. data/lib/twitter_cldr/versions.rb +30 -0
  109. data/lib/twitter_cldr.rb +8 -10
  110. data/resources/locales/af/calendars.yml +8 -8
  111. data/resources/locales/af/lists.yml +8 -4
  112. data/resources/locales/af/numbers.yml +54 -30
  113. data/resources/locales/ar/lists.yml +8 -4
  114. data/resources/locales/ar/numbers.yml +48 -24
  115. data/resources/locales/be/calendars.yml +4 -4
  116. data/resources/locales/be/lists.yml +2 -1
  117. data/resources/locales/be/numbers.yml +24 -12
  118. data/resources/locales/bg/calendars.yml +8 -8
  119. data/resources/locales/bg/lists.yml +8 -4
  120. data/resources/locales/bg/numbers.yml +48 -24
  121. data/resources/locales/bn/lists.yml +8 -4
  122. data/resources/locales/bn/numbers.yml +48 -24
  123. data/resources/locales/ca/calendars.yml +8 -8
  124. data/resources/locales/ca/lists.yml +8 -4
  125. data/resources/locales/ca/numbers.yml +48 -24
  126. data/resources/locales/cs/calendars.yml +32 -32
  127. data/resources/locales/cs/lists.yml +8 -4
  128. data/resources/locales/cs/numbers.yml +48 -24
  129. data/resources/locales/cy/calendars.yml +8 -8
  130. data/resources/locales/cy/lists.yml +6 -3
  131. data/resources/locales/cy/numbers.yml +48 -24
  132. data/resources/locales/da/calendars.yml +10 -10
  133. data/resources/locales/da/lists.yml +8 -4
  134. data/resources/locales/da/numbers.yml +48 -24
  135. data/resources/locales/de/calendars.yml +8 -8
  136. data/resources/locales/de/lists.yml +8 -4
  137. data/resources/locales/de/numbers.yml +48 -24
  138. data/resources/locales/de-CH/calendars.yml +8 -8
  139. data/resources/locales/de-CH/lists.yml +8 -4
  140. data/resources/locales/de-CH/numbers.yml +48 -24
  141. data/resources/locales/el/calendars.yml +8 -8
  142. data/resources/locales/el/lists.yml +8 -4
  143. data/resources/locales/el/numbers.yml +48 -24
  144. data/resources/locales/en/calendars.yml +4 -4
  145. data/resources/locales/en/lists.yml +8 -4
  146. data/resources/locales/en/numbers.yml +48 -24
  147. data/resources/locales/en-150/calendars.yml +4 -4
  148. data/resources/locales/en-150/lists.yml +8 -4
  149. data/resources/locales/en-150/numbers.yml +48 -24
  150. data/resources/locales/en-AU/calendars.yml +4 -4
  151. data/resources/locales/en-AU/lists.yml +8 -4
  152. data/resources/locales/en-AU/numbers.yml +48 -24
  153. data/resources/locales/en-CA/calendars.yml +4 -4
  154. data/resources/locales/en-CA/lists.yml +8 -4
  155. data/resources/locales/en-CA/numbers.yml +48 -24
  156. data/resources/locales/en-GB/calendars.yml +4 -4
  157. data/resources/locales/en-GB/lists.yml +8 -4
  158. data/resources/locales/en-GB/numbers.yml +48 -24
  159. data/resources/locales/en-IE/calendars.yml +4 -4
  160. data/resources/locales/en-IE/lists.yml +8 -4
  161. data/resources/locales/en-IE/numbers.yml +48 -24
  162. data/resources/locales/en-SG/calendars.yml +4 -4
  163. data/resources/locales/en-SG/lists.yml +8 -4
  164. data/resources/locales/en-SG/numbers.yml +48 -24
  165. data/resources/locales/en-ZA/calendars.yml +4 -4
  166. data/resources/locales/en-ZA/lists.yml +8 -4
  167. data/resources/locales/en-ZA/numbers.yml +48 -24
  168. data/resources/locales/es/lists.yml +8 -4
  169. data/resources/locales/es/numbers.yml +48 -24
  170. data/resources/locales/es-419/calendars.yml +8 -8
  171. data/resources/locales/es-419/lists.yml +8 -4
  172. data/resources/locales/es-419/numbers.yml +50 -26
  173. data/resources/locales/es-CO/lists.yml +8 -4
  174. data/resources/locales/es-CO/numbers.yml +48 -24
  175. data/resources/locales/es-MX/lists.yml +8 -4
  176. data/resources/locales/es-MX/numbers.yml +48 -24
  177. data/resources/locales/es-US/lists.yml +8 -4
  178. data/resources/locales/es-US/numbers.yml +48 -24
  179. data/resources/locales/eu/calendars.yml +8 -8
  180. data/resources/locales/eu/lists.yml +8 -4
  181. data/resources/locales/eu/numbers.yml +48 -24
  182. data/resources/locales/fa/lists.yml +8 -4
  183. data/resources/locales/fa/numbers.yml +48 -24
  184. data/resources/locales/fi/calendars.yml +8 -8
  185. data/resources/locales/fi/lists.yml +8 -4
  186. data/resources/locales/fi/numbers.yml +48 -24
  187. data/resources/locales/fil/calendars.yml +8 -8
  188. data/resources/locales/fil/lists.yml +8 -4
  189. data/resources/locales/fil/numbers.yml +48 -24
  190. data/resources/locales/fr/calendars.yml +8 -8
  191. data/resources/locales/fr/lists.yml +8 -4
  192. data/resources/locales/fr/numbers.yml +48 -24
  193. data/resources/locales/fr-BE/calendars.yml +8 -8
  194. data/resources/locales/fr-BE/lists.yml +8 -4
  195. data/resources/locales/fr-BE/numbers.yml +48 -24
  196. data/resources/locales/fr-CA/calendars.yml +8 -8
  197. data/resources/locales/fr-CA/lists.yml +8 -4
  198. data/resources/locales/fr-CA/numbers.yml +48 -24
  199. data/resources/locales/fr-CH/calendars.yml +8 -8
  200. data/resources/locales/fr-CH/lists.yml +8 -4
  201. data/resources/locales/fr-CH/numbers.yml +48 -24
  202. data/resources/locales/ga/calendars.yml +8 -8
  203. data/resources/locales/ga/lists.yml +8 -4
  204. data/resources/locales/ga/numbers.yml +48 -24
  205. data/resources/locales/gl/calendars.yml +8 -8
  206. data/resources/locales/gl/lists.yml +8 -4
  207. data/resources/locales/gl/numbers.yml +48 -24
  208. data/resources/locales/he/calendars.yml +28 -28
  209. data/resources/locales/he/lists.yml +8 -4
  210. data/resources/locales/he/numbers.yml +48 -24
  211. data/resources/locales/hi/calendars.yml +8 -8
  212. data/resources/locales/hi/lists.yml +8 -4
  213. data/resources/locales/hi/numbers.yml +48 -24
  214. data/resources/locales/hr/lists.yml +8 -4
  215. data/resources/locales/hr/numbers.yml +48 -24
  216. data/resources/locales/hu/lists.yml +8 -4
  217. data/resources/locales/hu/numbers.yml +48 -24
  218. data/resources/locales/id/calendars.yml +8 -8
  219. data/resources/locales/id/lists.yml +8 -4
  220. data/resources/locales/id/numbers.yml +49 -25
  221. data/resources/locales/is/calendars.yml +8 -8
  222. data/resources/locales/is/lists.yml +8 -4
  223. data/resources/locales/is/numbers.yml +48 -24
  224. data/resources/locales/it/calendars.yml +8 -8
  225. data/resources/locales/it/lists.yml +8 -4
  226. data/resources/locales/it/numbers.yml +54 -30
  227. data/resources/locales/it-CH/calendars.yml +8 -8
  228. data/resources/locales/it-CH/lists.yml +8 -4
  229. data/resources/locales/it-CH/numbers.yml +54 -30
  230. data/resources/locales/ja/calendars.yml +32 -32
  231. data/resources/locales/ja/lists.yml +8 -4
  232. data/resources/locales/ja/numbers.yml +48 -24
  233. data/resources/locales/ko/calendars.yml +8 -8
  234. data/resources/locales/ko/lists.yml +8 -4
  235. data/resources/locales/ko/numbers.yml +48 -24
  236. data/resources/locales/lv/lists.yml +8 -4
  237. data/resources/locales/lv/numbers.yml +48 -24
  238. data/resources/locales/ms/calendars.yml +8 -8
  239. data/resources/locales/ms/lists.yml +8 -4
  240. data/resources/locales/ms/numbers.yml +48 -24
  241. data/resources/locales/nb/calendars.yml +9 -9
  242. data/resources/locales/nb/lists.yml +8 -4
  243. data/resources/locales/nb/numbers.yml +48 -24
  244. data/resources/locales/nl/calendars.yml +8 -8
  245. data/resources/locales/nl/lists.yml +8 -4
  246. data/resources/locales/nl/numbers.yml +48 -24
  247. data/resources/locales/pl/calendars.yml +8 -8
  248. data/resources/locales/pl/lists.yml +8 -4
  249. data/resources/locales/pl/numbers.yml +48 -24
  250. data/resources/locales/pt/calendars.yml +8 -8
  251. data/resources/locales/pt/lists.yml +8 -4
  252. data/resources/locales/pt/numbers.yml +48 -24
  253. data/resources/locales/ro/calendars.yml +8 -8
  254. data/resources/locales/ro/lists.yml +8 -4
  255. data/resources/locales/ro/numbers.yml +48 -24
  256. data/resources/locales/ru/calendars.yml +8 -8
  257. data/resources/locales/ru/lists.yml +8 -4
  258. data/resources/locales/ru/numbers.yml +48 -24
  259. data/resources/locales/sk/calendars.yml +8 -8
  260. data/resources/locales/sk/lists.yml +8 -4
  261. data/resources/locales/sk/numbers.yml +48 -24
  262. data/resources/locales/sq/calendars.yml +8 -8
  263. data/resources/locales/sq/lists.yml +8 -4
  264. data/resources/locales/sq/numbers.yml +48 -24
  265. data/resources/locales/sr/lists.yml +8 -4
  266. data/resources/locales/sr/numbers.yml +48 -24
  267. data/resources/locales/sv/calendars.yml +10 -10
  268. data/resources/locales/sv/lists.yml +8 -4
  269. data/resources/locales/sv/numbers.yml +48 -24
  270. data/resources/locales/ta/calendars.yml +8 -8
  271. data/resources/locales/ta/lists.yml +8 -4
  272. data/resources/locales/ta/numbers.yml +48 -24
  273. data/resources/locales/th/calendars.yml +8 -8
  274. data/resources/locales/th/lists.yml +8 -4
  275. data/resources/locales/th/numbers.yml +48 -24
  276. data/resources/locales/tr/lists.yml +8 -4
  277. data/resources/locales/tr/numbers.yml +50 -26
  278. data/resources/locales/uk/calendars.yml +8 -8
  279. data/resources/locales/uk/lists.yml +8 -4
  280. data/resources/locales/uk/numbers.yml +48 -24
  281. data/resources/locales/ur/calendars.yml +8 -8
  282. data/resources/locales/ur/lists.yml +8 -4
  283. data/resources/locales/ur/numbers.yml +48 -24
  284. data/resources/locales/vi/calendars.yml +32 -32
  285. data/resources/locales/vi/lists.yml +8 -4
  286. data/resources/locales/vi/numbers.yml +48 -24
  287. data/resources/locales/zh/calendars.yml +32 -32
  288. data/resources/locales/zh/lists.yml +8 -4
  289. data/resources/locales/zh/numbers.yml +48 -24
  290. data/resources/locales/zh-Hant/calendars.yml +32 -32
  291. data/resources/locales/zh-Hant/lists.yml +8 -4
  292. data/resources/locales/zh-Hant/numbers.yml +48 -24
  293. data/resources/shared/aliases.yml +1351 -0
  294. data/resources/shared/likely_subtags.yml +1149 -0
  295. data/resources/shared/postal_codes.yml +486 -289
  296. data/resources/shared/segments/segments_root.yml +57 -57
  297. data/resources/shared/segments/tests/sentence_break_test.yml +527 -0
  298. data/resources/shared/segments/tests/word_break_test.yml +1379 -0
  299. data/resources/shared/territories_containment.yml +25 -17
  300. data/resources/shared/variables.yml +1194 -0
  301. data/resources/unicode_data/blocks/ahom.yml +913 -0
  302. data/resources/unicode_data/blocks/anatolian_hieroglyphs.yml +9329 -0
  303. data/resources/unicode_data/blocks/arabic.yml +16 -0
  304. data/resources/unicode_data/blocks/arabic_presentation_forms_a.yml +2 -2
  305. data/resources/unicode_data/blocks/bassa_vah.yml +577 -0
  306. data/resources/unicode_data/blocks/buginese.yml +2 -2
  307. data/resources/unicode_data/blocks/caucasian_albanian.yml +849 -0
  308. data/resources/unicode_data/blocks/cherokee_supplement.yml +1281 -0
  309. data/resources/unicode_data/blocks/cjk_unified_ideographs_extension_e.yml +33 -0
  310. data/resources/unicode_data/blocks/combining_diacritical_marks_extended.yml +241 -0
  311. data/resources/unicode_data/blocks/coptic_epact_numbers.yml +449 -0
  312. data/resources/unicode_data/blocks/cuneiform_numbers_and_punctuation.yml +2 -2
  313. data/resources/unicode_data/blocks/duployan.yml +2289 -0
  314. data/resources/unicode_data/blocks/early_dynastic_cuneiform.yml +3137 -0
  315. data/resources/unicode_data/blocks/elbasan.yml +641 -0
  316. data/resources/unicode_data/blocks/general_punctuation.yml +64 -0
  317. data/resources/unicode_data/blocks/geometric_shapes_extended.yml +1361 -0
  318. data/resources/unicode_data/blocks/grantha.yml +1361 -0
  319. data/resources/unicode_data/blocks/gujarati.yml +0 -16
  320. data/resources/unicode_data/blocks/hatran.yml +417 -0
  321. data/resources/unicode_data/blocks/kannada.yml +0 -16
  322. data/resources/unicode_data/blocks/khojki.yml +977 -0
  323. data/resources/unicode_data/blocks/khudawadi.yml +1105 -0
  324. data/resources/unicode_data/blocks/latin_extended_e.yml +865 -0
  325. data/resources/unicode_data/blocks/linear_a.yml +5457 -0
  326. data/resources/unicode_data/blocks/mahajani.yml +625 -0
  327. data/resources/unicode_data/blocks/manichaean.yml +817 -0
  328. data/resources/unicode_data/blocks/mende_kikakui.yml +3409 -0
  329. data/resources/unicode_data/blocks/miscellaneous_technical.yml +4 -4
  330. data/resources/unicode_data/blocks/modi.yml +1265 -0
  331. data/resources/unicode_data/blocks/mongolian.yml +2 -2
  332. data/resources/unicode_data/blocks/mro.yml +689 -0
  333. data/resources/unicode_data/blocks/multani.yml +609 -0
  334. data/resources/unicode_data/blocks/myanmar_extended_b.yml +497 -0
  335. data/resources/unicode_data/blocks/nabataean.yml +641 -0
  336. data/resources/unicode_data/blocks/old_hungarian.yml +1729 -0
  337. data/resources/unicode_data/blocks/old_north_arabian.yml +513 -0
  338. data/resources/unicode_data/blocks/old_permic.yml +689 -0
  339. data/resources/unicode_data/blocks/ornamental_dingbats.yml +769 -0
  340. data/resources/unicode_data/blocks/pahawh_hmong.yml +2033 -0
  341. data/resources/unicode_data/blocks/palmyrene.yml +513 -0
  342. data/resources/unicode_data/blocks/pau_cin_hau.yml +913 -0
  343. data/resources/unicode_data/blocks/psalter_pahlavi.yml +465 -0
  344. data/resources/unicode_data/blocks/shorthand_format_controls.yml +65 -0
  345. data/resources/unicode_data/blocks/siddham.yml +1473 -0
  346. data/resources/unicode_data/blocks/sinhala_archaic_numbers.yml +321 -0
  347. data/resources/unicode_data/blocks/supplemental_arrows_c.yml +2369 -0
  348. data/resources/unicode_data/blocks/supplemental_symbols_and_pictographs.yml +241 -0
  349. data/resources/unicode_data/blocks/sutton_signwriting.yml +10753 -0
  350. data/resources/unicode_data/blocks/tirhuta.yml +1313 -0
  351. data/resources/unicode_data/blocks/warang_citi.yml +1345 -0
  352. data/resources/unicode_data/properties/ASCII_Hex_Digit/value.dump +5 -0
  353. data/resources/unicode_data/properties/Age/1.1/value.dump +0 -0
  354. data/resources/unicode_data/properties/Age/2.0/value.dump +0 -0
  355. data/resources/unicode_data/properties/Age/2.1/value.dump +4 -0
  356. data/resources/unicode_data/properties/Age/3.0/value.dump +0 -0
  357. data/resources/unicode_data/properties/Age/3.1/value.dump +0 -0
  358. data/resources/unicode_data/properties/Age/3.2/value.dump +0 -0
  359. data/resources/unicode_data/properties/Age/4.0/value.dump +0 -0
  360. data/resources/unicode_data/properties/Age/4.1/value.dump +0 -0
  361. data/resources/unicode_data/properties/Age/5.0/value.dump +0 -0
  362. data/resources/unicode_data/properties/Age/5.1/value.dump +0 -0
  363. data/resources/unicode_data/properties/Age/5.2/value.dump +0 -0
  364. data/resources/unicode_data/properties/Age/6.0/value.dump +0 -0
  365. data/resources/unicode_data/properties/Age/6.1/value.dump +0 -0
  366. data/resources/unicode_data/properties/Age/6.2/value.dump +3 -0
  367. data/resources/unicode_data/properties/Age/6.3/value.dump +4 -0
  368. data/resources/unicode_data/properties/Alphabetic/value.dump +0 -0
  369. data/resources/unicode_data/properties/Bidi_Class/AL/value.dump +0 -0
  370. data/resources/unicode_data/properties/Bidi_Class/AN/value.dump +0 -0
  371. data/resources/unicode_data/properties/Bidi_Class/B/value.dump +8 -0
  372. data/resources/unicode_data/properties/Bidi_Class/BN/value.dump +0 -0
  373. data/resources/unicode_data/properties/Bidi_Class/CS/value.dump +15 -0
  374. data/resources/unicode_data/properties/Bidi_Class/EN/value.dump +0 -0
  375. data/resources/unicode_data/properties/Bidi_Class/ES/value.dump +11 -0
  376. data/resources/unicode_data/properties/Bidi_Class/ET/value.dump +27 -0
  377. data/resources/unicode_data/properties/Bidi_Class/FSI/value.dump +3 -0
  378. data/resources/unicode_data/properties/Bidi_Class/L/value.dump +0 -0
  379. data/resources/unicode_data/properties/Bidi_Class/LRE/value.dump +3 -0
  380. data/resources/unicode_data/properties/Bidi_Class/LRI/value.dump +3 -0
  381. data/resources/unicode_data/properties/Bidi_Class/LRO/value.dump +3 -0
  382. data/resources/unicode_data/properties/Bidi_Class/NSM/value.dump +0 -0
  383. data/resources/unicode_data/properties/Bidi_Class/ON/value.dump +0 -0
  384. data/resources/unicode_data/properties/Bidi_Class/PDF/value.dump +3 -0
  385. data/resources/unicode_data/properties/Bidi_Class/PDI/value.dump +3 -0
  386. data/resources/unicode_data/properties/Bidi_Class/R/value.dump +0 -0
  387. data/resources/unicode_data/properties/Bidi_Class/RLE/value.dump +3 -0
  388. data/resources/unicode_data/properties/Bidi_Class/RLI/value.dump +3 -0
  389. data/resources/unicode_data/properties/Bidi_Class/RLO/value.dump +3 -0
  390. data/resources/unicode_data/properties/Bidi_Class/S/value.dump +5 -0
  391. data/resources/unicode_data/properties/Bidi_Class/WS/value.dump +0 -0
  392. data/resources/unicode_data/properties/Bidi_Control/value.dump +4 -0
  393. data/resources/unicode_data/properties/Bidi_Mirrored/N/value.dump +0 -0
  394. data/resources/unicode_data/properties/Bidi_Mirrored/Y/value.dump +115 -0
  395. data/resources/unicode_data/properties/Block/Aegean Numbers/value.dump +0 -0
  396. data/resources/unicode_data/properties/Block/Alchemical Symbols/value.dump +0 -0
  397. data/resources/unicode_data/properties/Block/Alphabetic Presentation Forms/value.dump +0 -0
  398. data/resources/unicode_data/properties/Block/Ancient Greek Musical Notation/value.dump +0 -0
  399. data/resources/unicode_data/properties/Block/Ancient Greek Numbers/value.dump +3 -0
  400. data/resources/unicode_data/properties/Block/Ancient Symbols/value.dump +3 -0
  401. data/resources/unicode_data/properties/Block/Arabic/value.dump +0 -0
  402. data/resources/unicode_data/properties/Block/Arabic Extended-A/value.dump +3 -0
  403. data/resources/unicode_data/properties/Block/Arabic Mathematical Alphabetic Symbols/value.dump +0 -0
  404. data/resources/unicode_data/properties/Block/Arabic Presentation Forms-A/value.dump +3 -0
  405. data/resources/unicode_data/properties/Block/Arabic Presentation Forms-B/value.dump +3 -0
  406. data/resources/unicode_data/properties/Block/Arabic Supplement/value.dump +3 -0
  407. data/resources/unicode_data/properties/Block/Armenian/value.dump +3 -0
  408. data/resources/unicode_data/properties/Block/Arrows/value.dump +3 -0
  409. data/resources/unicode_data/properties/Block/Avestan/value.dump +0 -0
  410. data/resources/unicode_data/properties/Block/Balinese/value.dump +0 -0
  411. data/resources/unicode_data/properties/Block/Bamum/value.dump +3 -0
  412. data/resources/unicode_data/properties/Block/Bamum Supplement/value.dump +0 -0
  413. data/resources/unicode_data/properties/Block/Basic Latin/value.dump +0 -0
  414. data/resources/unicode_data/properties/Block/Batak/value.dump +3 -0
  415. data/resources/unicode_data/properties/Block/Bengali/value.dump +3 -0
  416. data/resources/unicode_data/properties/Block/Block Elements/value.dump +3 -0
  417. data/resources/unicode_data/properties/Block/Bopomofo/value.dump +0 -0
  418. data/resources/unicode_data/properties/Block/Bopomofo Extended/value.dump +3 -0
  419. data/resources/unicode_data/properties/Block/Box Drawing/value.dump +0 -0
  420. data/resources/unicode_data/properties/Block/Brahmi/value.dump +0 -0
  421. data/resources/unicode_data/properties/Block/Braille Patterns/value.dump +0 -0
  422. data/resources/unicode_data/properties/Block/Buginese/value.dump +0 -0
  423. data/resources/unicode_data/properties/Block/Buhid/value.dump +3 -0
  424. data/resources/unicode_data/properties/Block/Byzantine Musical Symbols/value.dump +0 -0
  425. data/resources/unicode_data/properties/Block/CJK Compatibility/value.dump +0 -0
  426. data/resources/unicode_data/properties/Block/CJK Compatibility Forms/value.dump +3 -0
  427. data/resources/unicode_data/properties/Block/CJK Compatibility Ideographs/value.dump +0 -0
  428. data/resources/unicode_data/properties/Block/CJK Compatibility Ideographs Supplement/value.dump +0 -0
  429. data/resources/unicode_data/properties/Block/CJK Radicals Supplement/value.dump +3 -0
  430. data/resources/unicode_data/properties/Block/CJK Strokes/value.dump +3 -0
  431. Punctuation/value.dump +0 -0
  432. data/resources/unicode_data/properties/Block/CJK Unified Ideographs/value.dump +0 -0
  433. data/resources/unicode_data/properties/Block/CJK Unified Ideographs Extension A/value.dump +0 -0
  434. data/resources/unicode_data/properties/Block/CJK Unified Ideographs Extension B/value.dump +0 -0
  435. data/resources/unicode_data/properties/Block/CJK Unified Ideographs Extension C/value.dump +0 -0
  436. data/resources/unicode_data/properties/Block/CJK Unified Ideographs Extension D/value.dump +3 -0
  437. data/resources/unicode_data/properties/Block/Carian/value.dump +3 -0
  438. data/resources/unicode_data/properties/Block/Chakma/value.dump +0 -0
  439. data/resources/unicode_data/properties/Block/Cham/value.dump +0 -0
  440. data/resources/unicode_data/properties/Block/Cherokee/value.dump +3 -0
  441. data/resources/unicode_data/properties/Block/Combining Diacritical Marks/value.dump +0 -0
  442. data/resources/unicode_data/properties/Block/Combining Diacritical Marks Supplement/value.dump +3 -0
  443. data/resources/unicode_data/properties/Block/Combining Diacritical Marks for Symbols/value.dump +3 -0
  444. data/resources/unicode_data/properties/Block/Combining Half Marks/value.dump +3 -0
  445. data/resources/unicode_data/properties/Block/Common Indic Number Forms/value.dump +3 -0
  446. data/resources/unicode_data/properties/Block/Control Pictures/value.dump +0 -0
  447. data/resources/unicode_data/properties/Block/Coptic/value.dump +3 -0
  448. data/resources/unicode_data/properties/Block/Counting Rod Numerals/value.dump +3 -0
  449. data/resources/unicode_data/properties/Block/Cuneiform/value.dump +0 -0
  450. Punctuation/value.dump +0 -0
  451. data/resources/unicode_data/properties/Block/Currency Symbols/value.dump +3 -0
  452. data/resources/unicode_data/properties/Block/Cypriot Syllabary/value.dump +0 -0
  453. data/resources/unicode_data/properties/Block/Cyrillic/value.dump +0 -0
  454. data/resources/unicode_data/properties/Block/Cyrillic Extended-A/value.dump +3 -0
  455. data/resources/unicode_data/properties/Block/Cyrillic Extended-B/value.dump +3 -0
  456. data/resources/unicode_data/properties/Block/Cyrillic Supplement/value.dump +0 -0
  457. data/resources/unicode_data/properties/Block/Deseret/value.dump +0 -0
  458. data/resources/unicode_data/properties/Block/Devanagari/value.dump +0 -0
  459. data/resources/unicode_data/properties/Block/Devanagari Extended/value.dump +3 -0
  460. data/resources/unicode_data/properties/Block/Dingbats/value.dump +0 -0
  461. data/resources/unicode_data/properties/Block/Domino Tiles/value.dump +3 -0
  462. data/resources/unicode_data/properties/Block/Egyptian Hieroglyphs/value.dump +0 -0
  463. data/resources/unicode_data/properties/Block/Emoticons/value.dump +0 -0
  464. data/resources/unicode_data/properties/Block/Enclosed Alphanumeric Supplement/value.dump +0 -0
  465. data/resources/unicode_data/properties/Block/Enclosed Alphanumerics/value.dump +3 -0
  466. Months/value.dump +0 -0
  467. data/resources/unicode_data/properties/Block/Enclosed Ideographic Supplement/value.dump +0 -0
  468. data/resources/unicode_data/properties/Block/Ethiopic/value.dump +0 -0
  469. data/resources/unicode_data/properties/Block/Ethiopic Extended/value.dump +3 -0
  470. data/resources/unicode_data/properties/Block/Ethiopic Extended-A/value.dump +0 -0
  471. data/resources/unicode_data/properties/Block/Ethiopic Supplement/value.dump +3 -0
  472. data/resources/unicode_data/properties/Block/General Punctuation/value.dump +0 -0
  473. data/resources/unicode_data/properties/Block/Geometric Shapes/value.dump +3 -0
  474. data/resources/unicode_data/properties/Block/Georgian/value.dump +3 -0
  475. data/resources/unicode_data/properties/Block/Georgian Supplement/value.dump +0 -0
  476. data/resources/unicode_data/properties/Block/Glagolitic/value.dump +0 -0
  477. data/resources/unicode_data/properties/Block/Gothic/value.dump +3 -0
  478. data/resources/unicode_data/properties/Block/Greek Extended/value.dump +0 -0
  479. data/resources/unicode_data/properties/Block/Greek and Coptic/value.dump +3 -0
  480. data/resources/unicode_data/properties/Block/Gujarati/value.dump +4 -0
  481. data/resources/unicode_data/properties/Block/Gurmukhi/value.dump +0 -0
  482. Fullwidth Forms/value.dump +0 -0
  483. data/resources/unicode_data/properties/Block/Hangul Compatibility Jamo/value.dump +3 -0
  484. data/resources/unicode_data/properties/Block/Hangul Jamo/value.dump +0 -0
  485. data/resources/unicode_data/properties/Block/Hangul Jamo Extended-A/value.dump +3 -0
  486. data/resources/unicode_data/properties/Block/Hangul Jamo Extended-B/value.dump +3 -0
  487. data/resources/unicode_data/properties/Block/Hangul Syllables/value.dump +0 -0
  488. data/resources/unicode_data/properties/Block/Hanunoo/value.dump +3 -0
  489. data/resources/unicode_data/properties/Block/Hebrew/value.dump +3 -0
  490. data/resources/unicode_data/properties/Block/High Private Use Surrogates/value.dump +3 -0
  491. data/resources/unicode_data/properties/Block/High Surrogates/value.dump +0 -0
  492. data/resources/unicode_data/properties/Block/Hiragana/value.dump +3 -0
  493. data/resources/unicode_data/properties/Block/IPA Extensions/value.dump +3 -0
  494. data/resources/unicode_data/properties/Block/Ideographic Description Characters/value.dump +3 -0
  495. data/resources/unicode_data/properties/Block/Imperial Aramaic/value.dump +3 -0
  496. data/resources/unicode_data/properties/Block/Inscriptional Pahlavi/value.dump +3 -0
  497. data/resources/unicode_data/properties/Block/Inscriptional Parthian/value.dump +3 -0
  498. data/resources/unicode_data/properties/Block/Javanese/value.dump +3 -0
  499. data/resources/unicode_data/properties/Block/Kaithi/value.dump +3 -0
  500. data/resources/unicode_data/properties/Block/Kana Supplement/value.dump +0 -0
  501. data/resources/unicode_data/properties/Block/Kanbun/value.dump +3 -0
  502. data/resources/unicode_data/properties/Block/Kangxi Radicals/value.dump +0 -0
  503. data/resources/unicode_data/properties/Block/Kannada/value.dump +3 -0
  504. data/resources/unicode_data/properties/Block/Katakana/value.dump +3 -0
  505. data/resources/unicode_data/properties/Block/Katakana Phonetic Extensions/value.dump +3 -0
  506. data/resources/unicode_data/properties/Block/Kayah Li/value.dump +0 -0
  507. data/resources/unicode_data/properties/Block/Kharoshthi/value.dump +0 -0
  508. data/resources/unicode_data/properties/Block/Khmer/value.dump +3 -0
  509. data/resources/unicode_data/properties/Block/Khmer Symbols/value.dump +3 -0
  510. data/resources/unicode_data/properties/Block/Lao/value.dump +3 -0
  511. data/resources/unicode_data/properties/Block/Latin Extended Additional/value.dump +0 -0
  512. data/resources/unicode_data/properties/Block/Latin Extended-A/value.dump +0 -0
  513. data/resources/unicode_data/properties/Block/Latin Extended-B/value.dump +3 -0
  514. data/resources/unicode_data/properties/Block/Latin Extended-C/value.dump +3 -0
  515. data/resources/unicode_data/properties/Block/Latin Extended-D/value.dump +3 -0
  516. data/resources/unicode_data/properties/Block/Latin-1 Supplement/value.dump +3 -0
  517. data/resources/unicode_data/properties/Block/Lepcha/value.dump +0 -0
  518. data/resources/unicode_data/properties/Block/Letterlike Symbols/value.dump +0 -0
  519. data/resources/unicode_data/properties/Block/Limbu/value.dump +0 -0
  520. data/resources/unicode_data/properties/Block/Linear B Ideograms/value.dump +0 -0
  521. data/resources/unicode_data/properties/Block/Linear B Syllabary/value.dump +0 -0
  522. data/resources/unicode_data/properties/Block/Lisu/value.dump +3 -0
  523. data/resources/unicode_data/properties/Block/Low Surrogates/value.dump +0 -0
  524. data/resources/unicode_data/properties/Block/Lycian/value.dump +3 -0
  525. data/resources/unicode_data/properties/Block/Lydian/value.dump +3 -0
  526. data/resources/unicode_data/properties/Block/Mahjong Tiles/value.dump +0 -0
  527. data/resources/unicode_data/properties/Block/Malayalam/value.dump +0 -0
  528. data/resources/unicode_data/properties/Block/Mandaic/value.dump +3 -0
  529. data/resources/unicode_data/properties/Block/Mathematical Alphanumeric Symbols/value.dump +0 -0
  530. data/resources/unicode_data/properties/Block/Mathematical Operators/value.dump +0 -0
  531. data/resources/unicode_data/properties/Block/Meetei Mayek/value.dump +3 -0
  532. data/resources/unicode_data/properties/Block/Meetei Mayek Extensions/value.dump +3 -0
  533. data/resources/unicode_data/properties/Block/Meroitic Cursive/value.dump +3 -0
  534. data/resources/unicode_data/properties/Block/Meroitic Hieroglyphs/value.dump +3 -0
  535. data/resources/unicode_data/properties/Block/Miao/value.dump +0 -0
  536. data/resources/unicode_data/properties/Block/Miscellaneous Mathematical Symbols-A/value.dump +3 -0
  537. data/resources/unicode_data/properties/Block/Miscellaneous Mathematical Symbols-B/value.dump +3 -0
  538. data/resources/unicode_data/properties/Block/Miscellaneous Symbols/value.dump +0 -0
  539. data/resources/unicode_data/properties/Block/Miscellaneous Symbols And Pictographs/value.dump +0 -0
  540. Arrows/value.dump +0 -0
  541. data/resources/unicode_data/properties/Block/Miscellaneous Technical/value.dump +0 -0
  542. data/resources/unicode_data/properties/Block/Modifier Tone Letters/value.dump +0 -0
  543. data/resources/unicode_data/properties/Block/Mongolian/value.dump +0 -0
  544. data/resources/unicode_data/properties/Block/Musical Symbols/value.dump +0 -0
  545. data/resources/unicode_data/properties/Block/Myanmar/value.dump +0 -0
  546. data/resources/unicode_data/properties/Block/Myanmar Extended-A/value.dump +3 -0
  547. data/resources/unicode_data/properties/Block/NKo/value.dump +3 -0
  548. data/resources/unicode_data/properties/Block/New Tai Lue/value.dump +3 -0
  549. data/resources/unicode_data/properties/Block/Number Forms/value.dump +3 -0
  550. data/resources/unicode_data/properties/Block/Ogham/value.dump +3 -0
  551. data/resources/unicode_data/properties/Block/Ol Chiki/value.dump +3 -0
  552. data/resources/unicode_data/properties/Block/Old Italic/value.dump +0 -0
  553. data/resources/unicode_data/properties/Block/Old Persian/value.dump +3 -0
  554. data/resources/unicode_data/properties/Block/Old South Arabian/value.dump +5 -0
  555. data/resources/unicode_data/properties/Block/Old Turkic/value.dump +0 -0
  556. data/resources/unicode_data/properties/Block/Optical Character Recognition/value.dump +3 -0
  557. data/resources/unicode_data/properties/Block/Oriya/value.dump +0 -0
  558. data/resources/unicode_data/properties/Block/Osmanya/value.dump +3 -0
  559. data/resources/unicode_data/properties/Block/Phags-pa/value.dump +3 -0
  560. data/resources/unicode_data/properties/Block/Phaistos Disc/value.dump +3 -0
  561. data/resources/unicode_data/properties/Block/Phoenician/value.dump +0 -0
  562. data/resources/unicode_data/properties/Block/Phonetic Extensions/value.dump +0 -0
  563. data/resources/unicode_data/properties/Block/Phonetic Extensions Supplement/value.dump +3 -0
  564. data/resources/unicode_data/properties/Block/Playing Cards/value.dump +3 -0
  565. data/resources/unicode_data/properties/Block/Private Use Area/value.dump +0 -0
  566. data/resources/unicode_data/properties/Block/Rejang/value.dump +3 -0
  567. data/resources/unicode_data/properties/Block/Rumi Numeral Symbols/value.dump +3 -0
  568. data/resources/unicode_data/properties/Block/Runic/value.dump +3 -0
  569. data/resources/unicode_data/properties/Block/Samaritan/value.dump +0 -0
  570. data/resources/unicode_data/properties/Block/Saurashtra/value.dump +3 -0
  571. data/resources/unicode_data/properties/Block/Sharada/value.dump +3 -0
  572. data/resources/unicode_data/properties/Block/Shavian/value.dump +3 -0
  573. data/resources/unicode_data/properties/Block/Sinhala/value.dump +3 -0
  574. data/resources/unicode_data/properties/Block/Small Form Variants/value.dump +3 -0
  575. data/resources/unicode_data/properties/Block/Sora Sompeng/value.dump +3 -0
  576. data/resources/unicode_data/properties/Block/Spacing Modifier Letters/value.dump +3 -0
  577. data/resources/unicode_data/properties/Block/Specials/value.dump +3 -0
  578. data/resources/unicode_data/properties/Block/Sundanese/value.dump +3 -0
  579. data/resources/unicode_data/properties/Block/Sundanese Supplement/value.dump +3 -0
  580. data/resources/unicode_data/properties/Block/Superscripts and Subscripts/value.dump +3 -0
  581. data/resources/unicode_data/properties/Block/Supplemental Arrows-A/value.dump +3 -0
  582. data/resources/unicode_data/properties/Block/Supplemental Arrows-B/value.dump +0 -0
  583. data/resources/unicode_data/properties/Block/Supplemental Mathematical Operators/value.dump +0 -0
  584. data/resources/unicode_data/properties/Block/Supplemental Punctuation/value.dump +0 -0
  585. data/resources/unicode_data/properties/Block/Supplementary Private Use Area-A/value.dump +0 -0
  586. data/resources/unicode_data/properties/Block/Supplementary Private Use Area-B/value.dump +0 -0
  587. data/resources/unicode_data/properties/Block/Syloti Nagri/value.dump +0 -0
  588. data/resources/unicode_data/properties/Block/Syriac/value.dump +0 -0
  589. data/resources/unicode_data/properties/Block/Tagalog/value.dump +0 -0
  590. data/resources/unicode_data/properties/Block/Tagbanwa/value.dump +3 -0
  591. data/resources/unicode_data/properties/Block/Tags/value.dump +0 -0
  592. data/resources/unicode_data/properties/Block/Tai Le/value.dump +3 -0
  593. data/resources/unicode_data/properties/Block/Tai Tham/value.dump +3 -0
  594. data/resources/unicode_data/properties/Block/Tai Viet/value.dump +3 -0
  595. data/resources/unicode_data/properties/Block/Tai Xuan Jing Symbols/value.dump +0 -0
  596. data/resources/unicode_data/properties/Block/Takri/value.dump +3 -0
  597. data/resources/unicode_data/properties/Block/Tamil/value.dump +3 -0
  598. data/resources/unicode_data/properties/Block/Telugu/value.dump +0 -0
  599. data/resources/unicode_data/properties/Block/Thaana/value.dump +3 -0
  600. data/resources/unicode_data/properties/Block/Thai/value.dump +0 -0
  601. data/resources/unicode_data/properties/Block/Tibetan/value.dump +0 -0
  602. data/resources/unicode_data/properties/Block/Tifinagh/value.dump +3 -0
  603. data/resources/unicode_data/properties/Block/Transport And Map Symbols/value.dump +3 -0
  604. data/resources/unicode_data/properties/Block/Ugaritic/value.dump +3 -0
  605. data/resources/unicode_data/properties/Block/Unified Canadian Aboriginal Syllabics/value.dump +0 -0
  606. data/resources/unicode_data/properties/Block/Unified Canadian Aboriginal Syllabics Extended/value.dump +3 -0
  607. data/resources/unicode_data/properties/Block/Vai/value.dump +0 -0
  608. data/resources/unicode_data/properties/Block/Variation Selectors/value.dump +0 -0
  609. data/resources/unicode_data/properties/Block/Variation Selectors Supplement/value.dump +0 -0
  610. data/resources/unicode_data/properties/Block/Vedic Extensions/value.dump +3 -0
  611. data/resources/unicode_data/properties/Block/Vertical Forms/value.dump +3 -0
  612. data/resources/unicode_data/properties/Block/Yi Radicals/value.dump +3 -0
  613. data/resources/unicode_data/properties/Block/Yi Syllables/value.dump +0 -0
  614. data/resources/unicode_data/properties/Block/Yijing Hexagram Symbols/value.dump +3 -0
  615. data/resources/unicode_data/properties/Canonical_Combining_Class/0/value.dump +0 -0
  616. data/resources/unicode_data/properties/Canonical_Combining_Class/1/value.dump +13 -0
  617. data/resources/unicode_data/properties/Canonical_Combining_Class/10/value.dump +3 -0
  618. data/resources/unicode_data/properties/Canonical_Combining_Class/103/value.dump +3 -0
  619. data/resources/unicode_data/properties/Canonical_Combining_Class/107/value.dump +3 -0
  620. data/resources/unicode_data/properties/Canonical_Combining_Class/11/value.dump +3 -0
  621. data/resources/unicode_data/properties/Canonical_Combining_Class/118/value.dump +3 -0
  622. data/resources/unicode_data/properties/Canonical_Combining_Class/12/value.dump +3 -0
  623. data/resources/unicode_data/properties/Canonical_Combining_Class/122/value.dump +3 -0
  624. data/resources/unicode_data/properties/Canonical_Combining_Class/129/value.dump +3 -0
  625. data/resources/unicode_data/properties/Canonical_Combining_Class/13/value.dump +3 -0
  626. data/resources/unicode_data/properties/Canonical_Combining_Class/130/value.dump +5 -0
  627. data/resources/unicode_data/properties/Canonical_Combining_Class/132/value.dump +3 -0
  628. data/resources/unicode_data/properties/Canonical_Combining_Class/14/value.dump +3 -0
  629. data/resources/unicode_data/properties/Canonical_Combining_Class/15/value.dump +3 -0
  630. data/resources/unicode_data/properties/Canonical_Combining_Class/16/value.dump +3 -0
  631. data/resources/unicode_data/properties/Canonical_Combining_Class/17/value.dump +3 -0
  632. data/resources/unicode_data/properties/Canonical_Combining_Class/18/value.dump +4 -0
  633. data/resources/unicode_data/properties/Canonical_Combining_Class/19/value.dump +3 -0
  634. data/resources/unicode_data/properties/Canonical_Combining_Class/20/value.dump +3 -0
  635. data/resources/unicode_data/properties/Canonical_Combining_Class/202/value.dump +5 -0
  636. data/resources/unicode_data/properties/Canonical_Combining_Class/21/value.dump +3 -0
  637. data/resources/unicode_data/properties/Canonical_Combining_Class/214/value.dump +3 -0
  638. data/resources/unicode_data/properties/Canonical_Combining_Class/216/value.dump +6 -0
  639. data/resources/unicode_data/properties/Canonical_Combining_Class/218/value.dump +3 -0
  640. data/resources/unicode_data/properties/Canonical_Combining_Class/22/value.dump +3 -0
  641. data/resources/unicode_data/properties/Canonical_Combining_Class/220/value.dump +70 -0
  642. data/resources/unicode_data/properties/Canonical_Combining_Class/222/value.dump +6 -0
  643. data/resources/unicode_data/properties/Canonical_Combining_Class/224/value.dump +3 -0
  644. data/resources/unicode_data/properties/Canonical_Combining_Class/226/value.dump +3 -0
  645. data/resources/unicode_data/properties/Canonical_Combining_Class/228/value.dump +5 -0
  646. data/resources/unicode_data/properties/Canonical_Combining_Class/23/value.dump +3 -0
  647. data/resources/unicode_data/properties/Canonical_Combining_Class/230/value.dump +0 -0
  648. data/resources/unicode_data/properties/Canonical_Combining_Class/232/value.dump +6 -0
  649. data/resources/unicode_data/properties/Canonical_Combining_Class/233/value.dump +6 -0
  650. data/resources/unicode_data/properties/Canonical_Combining_Class/234/value.dump +5 -0
  651. data/resources/unicode_data/properties/Canonical_Combining_Class/24/value.dump +3 -0
  652. data/resources/unicode_data/properties/Canonical_Combining_Class/240/value.dump +3 -0
  653. data/resources/unicode_data/properties/Canonical_Combining_Class/25/value.dump +3 -0
  654. data/resources/unicode_data/properties/Canonical_Combining_Class/26/value.dump +3 -0
  655. data/resources/unicode_data/properties/Canonical_Combining_Class/27/value.dump +4 -0
  656. data/resources/unicode_data/properties/Canonical_Combining_Class/28/value.dump +4 -0
  657. data/resources/unicode_data/properties/Canonical_Combining_Class/29/value.dump +4 -0
  658. data/resources/unicode_data/properties/Canonical_Combining_Class/30/value.dump +4 -0
  659. data/resources/unicode_data/properties/Canonical_Combining_Class/31/value.dump +4 -0
  660. data/resources/unicode_data/properties/Canonical_Combining_Class/32/value.dump +4 -0
  661. data/resources/unicode_data/properties/Canonical_Combining_Class/33/value.dump +3 -0
  662. data/resources/unicode_data/properties/Canonical_Combining_Class/34/value.dump +3 -0
  663. data/resources/unicode_data/properties/Canonical_Combining_Class/35/value.dump +3 -0
  664. data/resources/unicode_data/properties/Canonical_Combining_Class/36/value.dump +3 -0
  665. data/resources/unicode_data/properties/Canonical_Combining_Class/7/value.dump +19 -0
  666. data/resources/unicode_data/properties/Canonical_Combining_Class/8/value.dump +3 -0
  667. data/resources/unicode_data/properties/Canonical_Combining_Class/84/value.dump +3 -0
  668. data/resources/unicode_data/properties/Canonical_Combining_Class/9/value.dump +41 -0
  669. data/resources/unicode_data/properties/Canonical_Combining_Class/91/value.dump +3 -0
  670. data/resources/unicode_data/properties/Case_Ignorable/value.dump +0 -0
  671. data/resources/unicode_data/properties/Cased/value.dump +0 -0
  672. data/resources/unicode_data/properties/Changes_When_Casefolded/value.dump +0 -0
  673. data/resources/unicode_data/properties/Changes_When_Casemapped/value.dump +0 -0
  674. data/resources/unicode_data/properties/Changes_When_Lowercased/value.dump +0 -0
  675. data/resources/unicode_data/properties/Changes_When_Titlecased/value.dump +589 -0
  676. data/resources/unicode_data/properties/Changes_When_Uppercased/value.dump +588 -0
  677. data/resources/unicode_data/properties/Dash/value.dump +0 -0
  678. data/resources/unicode_data/properties/Default_Ignorable_Code_Point/value.dump +0 -0
  679. data/resources/unicode_data/properties/Deprecated/value.dump +0 -0
  680. data/resources/unicode_data/properties/Diacritic/value.dump +135 -0
  681. data/resources/unicode_data/properties/East_Asian_Width/A/value.dump +0 -0
  682. data/resources/unicode_data/properties/East_Asian_Width/F/value.dump +0 -0
  683. data/resources/unicode_data/properties/East_Asian_Width/H/value.dump +9 -0
  684. data/resources/unicode_data/properties/East_Asian_Width/N/value.dump +0 -0
  685. data/resources/unicode_data/properties/East_Asian_Width/Na/value.dump +9 -0
  686. data/resources/unicode_data/properties/East_Asian_Width/W/value.dump +0 -0
  687. data/resources/unicode_data/properties/Extender/value.dump +26 -0
  688. data/resources/unicode_data/properties/General_Category/C/c/value.dump +0 -0
  689. data/resources/unicode_data/properties/General_Category/C/f/value.dump +0 -0
  690. data/resources/unicode_data/properties/General_Category/C/o/value.dump +0 -0
  691. data/resources/unicode_data/properties/General_Category/C/s/value.dump +0 -0
  692. data/resources/unicode_data/properties/General_Category/L/l/value.dump +0 -0
  693. data/resources/unicode_data/properties/General_Category/L/m/value.dump +54 -0
  694. data/resources/unicode_data/properties/General_Category/L/o/value.dump +0 -0
  695. data/resources/unicode_data/properties/General_Category/L/t/value.dump +12 -0
  696. data/resources/unicode_data/properties/General_Category/L/u/value.dump +0 -0
  697. data/resources/unicode_data/properties/General_Category/M/c/value.dump +0 -0
  698. data/resources/unicode_data/properties/General_Category/M/e/value.dump +6 -0
  699. data/resources/unicode_data/properties/General_Category/M/n/value.dump +0 -0
  700. data/resources/unicode_data/properties/General_Category/N/d/value.dump +0 -0
  701. data/resources/unicode_data/properties/General_Category/N/l/value.dump +0 -0
  702. data/resources/unicode_data/properties/General_Category/N/o/value.dump +0 -0
  703. data/resources/unicode_data/properties/General_Category/P/c/value.dump +8 -0
  704. data/resources/unicode_data/properties/General_Category/P/d/value.dump +0 -0
  705. data/resources/unicode_data/properties/General_Category/P/e/value.dump +72 -0
  706. data/resources/unicode_data/properties/General_Category/P/f/value.dump +14 -0
  707. data/resources/unicode_data/properties/General_Category/P/i/value.dump +13 -0
  708. data/resources/unicode_data/properties/General_Category/P/o/value.dump +0 -0
  709. data/resources/unicode_data/properties/General_Category/P/s/value.dump +76 -0
  710. data/resources/unicode_data/properties/General_Category/S/c/value.dump +21 -0
  711. data/resources/unicode_data/properties/General_Category/S/k/value.dump +0 -0
  712. data/resources/unicode_data/properties/General_Category/S/m/value.dump +0 -0
  713. data/resources/unicode_data/properties/General_Category/S/o/value.dump +0 -0
  714. data/resources/unicode_data/properties/General_Category/Z/l/value.dump +3 -0
  715. data/resources/unicode_data/properties/General_Category/Z/p/value.dump +3 -0
  716. data/resources/unicode_data/properties/General_Category/Z/s/value.dump +0 -0
  717. data/resources/unicode_data/properties/Grapheme_Base/value.dump +0 -0
  718. data/resources/unicode_data/properties/Grapheme_Cluster_Break/CR/value.dump +3 -0
  719. data/resources/unicode_data/properties/Grapheme_Cluster_Break/Control/value.dump +0 -0
  720. data/resources/unicode_data/properties/Grapheme_Cluster_Break/Extend/value.dump +0 -0
  721. data/resources/unicode_data/properties/Grapheme_Cluster_Break/L/value.dump +0 -0
  722. data/resources/unicode_data/properties/Grapheme_Cluster_Break/LF/value.dump +3 -0
  723. data/resources/unicode_data/properties/Grapheme_Cluster_Break/LV/value.dump +0 -0
  724. data/resources/unicode_data/properties/Grapheme_Cluster_Break/LVT/value.dump +401 -0
  725. data/resources/unicode_data/properties/Grapheme_Cluster_Break/Regional_Indicator/value.dump +3 -0
  726. data/resources/unicode_data/properties/Grapheme_Cluster_Break/SpacingMark/value.dump +0 -0
  727. data/resources/unicode_data/properties/Grapheme_Cluster_Break/T/value.dump +4 -0
  728. data/resources/unicode_data/properties/Grapheme_Cluster_Break/V/value.dump +4 -0
  729. data/resources/unicode_data/properties/Grapheme_Extend/value.dump +0 -0
  730. data/resources/unicode_data/properties/Grapheme_Link/value.dump +41 -0
  731. data/resources/unicode_data/properties/Hangul_Syllable_Type/L/value.dump +0 -0
  732. data/resources/unicode_data/properties/Hangul_Syllable_Type/LV/value.dump +0 -0
  733. data/resources/unicode_data/properties/Hangul_Syllable_Type/LVT/value.dump +401 -0
  734. data/resources/unicode_data/properties/Hangul_Syllable_Type/T/value.dump +4 -0
  735. data/resources/unicode_data/properties/Hangul_Syllable_Type/V/value.dump +4 -0
  736. data/resources/unicode_data/properties/Hex_Digit/value.dump +8 -0
  737. data/resources/unicode_data/properties/Hyphen/value.dump +12 -0
  738. data/resources/unicode_data/properties/IDS_Binary_Operator/value.dump +4 -0
  739. data/resources/unicode_data/properties/IDS_Trinary_Operator/value.dump +3 -0
  740. data/resources/unicode_data/properties/ID_Continue/value.dump +0 -0
  741. data/resources/unicode_data/properties/ID_Start/value.dump +0 -0
  742. data/resources/unicode_data/properties/Ideographic/value.dump +0 -0
  743. data/resources/unicode_data/properties/Indic_Positional_Category/Bottom/value.dump +78 -0
  744. data/resources/unicode_data/properties/Indic_Positional_Category/Bottom_And_Right/value.dump +4 -0
  745. data/resources/unicode_data/properties/Indic_Positional_Category/Invisible/value.dump +10 -0
  746. data/resources/unicode_data/properties/Indic_Positional_Category/Left/value.dump +36 -0
  747. data/resources/unicode_data/properties/Indic_Positional_Category/Left_And_Right/value.dump +10 -0
  748. data/resources/unicode_data/properties/Indic_Positional_Category/Overstruck/value.dump +8 -0
  749. data/resources/unicode_data/properties/Indic_Positional_Category/Right/value.dump +86 -0
  750. data/resources/unicode_data/properties/Indic_Positional_Category/Top/value.dump +91 -0
  751. data/resources/unicode_data/properties/Indic_Positional_Category/Top_And_Bottom/value.dump +8 -0
  752. data/resources/unicode_data/properties/Indic_Positional_Category/Top_And_Bottom_And_Right/value.dump +3 -0
  753. data/resources/unicode_data/properties/Indic_Positional_Category/Top_And_Left/value.dump +6 -0
  754. data/resources/unicode_data/properties/Indic_Positional_Category/Top_And_Left_And_Right/value.dump +4 -0
  755. data/resources/unicode_data/properties/Indic_Positional_Category/Top_And_Right/value.dump +12 -0
  756. data/resources/unicode_data/properties/Indic_Positional_Category/Visual_Order_Left/value.dump +8 -0
  757. data/resources/unicode_data/properties/Indic_Syllabic_Category/Avagraha/value.dump +15 -0
  758. data/resources/unicode_data/properties/Indic_Syllabic_Category/Bindu/value.dump +0 -0
  759. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant/value.dump +0 -0
  760. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Dead/value.dump +4 -0
  761. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Final/value.dump +13 -0
  762. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Head_Letter/value.dump +3 -0
  763. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Medial/value.dump +12 -0
  764. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Placeholder/value.dump +0 -0
  765. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Repha/value.dump +8 -0
  766. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Subjoined/value.dump +11 -0
  767. data/resources/unicode_data/properties/Indic_Syllabic_Category/Modifying_Letter/value.dump +3 -0
  768. data/resources/unicode_data/properties/Indic_Syllabic_Category/Nukta/value.dump +18 -0
  769. data/resources/unicode_data/properties/Indic_Syllabic_Category/Register_Shifter/value.dump +3 -0
  770. data/resources/unicode_data/properties/Indic_Syllabic_Category/Tone_Letter/value.dump +5 -0
  771. data/resources/unicode_data/properties/Indic_Syllabic_Category/Tone_Mark/value.dump +17 -0
  772. data/resources/unicode_data/properties/Indic_Syllabic_Category/Virama/value.dump +41 -0
  773. data/resources/unicode_data/properties/Indic_Syllabic_Category/Visarga/value.dump +32 -0
  774. data/resources/unicode_data/properties/Indic_Syllabic_Category/Vowel/value.dump +6 -0
  775. data/resources/unicode_data/properties/Indic_Syllabic_Category/Vowel_Dependent/value.dump +112 -0
  776. data/resources/unicode_data/properties/Indic_Syllabic_Category/Vowel_Independent/value.dump +0 -0
  777. data/resources/unicode_data/properties/Jamo_Short_Name/A/value.dump +3 -0
  778. data/resources/unicode_data/properties/Jamo_Short_Name/AE/value.dump +3 -0
  779. data/resources/unicode_data/properties/Jamo_Short_Name/B/value.dump +4 -0
  780. data/resources/unicode_data/properties/Jamo_Short_Name/BB/value.dump +3 -0
  781. data/resources/unicode_data/properties/Jamo_Short_Name/BS/value.dump +3 -0
  782. data/resources/unicode_data/properties/Jamo_Short_Name/C/value.dump +4 -0
  783. data/resources/unicode_data/properties/Jamo_Short_Name/D/value.dump +4 -0
  784. data/resources/unicode_data/properties/Jamo_Short_Name/DD/value.dump +3 -0
  785. data/resources/unicode_data/properties/Jamo_Short_Name/E/value.dump +3 -0
  786. data/resources/unicode_data/properties/Jamo_Short_Name/EO/value.dump +3 -0
  787. data/resources/unicode_data/properties/Jamo_Short_Name/EU/value.dump +3 -0
  788. data/resources/unicode_data/properties/Jamo_Short_Name/G/value.dump +0 -0
  789. data/resources/unicode_data/properties/Jamo_Short_Name/GG/value.dump +4 -0
  790. data/resources/unicode_data/properties/Jamo_Short_Name/GS/value.dump +3 -0
  791. data/resources/unicode_data/properties/Jamo_Short_Name/H/value.dump +4 -0
  792. data/resources/unicode_data/properties/Jamo_Short_Name/I/value.dump +3 -0
  793. data/resources/unicode_data/properties/Jamo_Short_Name/J/value.dump +4 -0
  794. data/resources/unicode_data/properties/Jamo_Short_Name/JJ/value.dump +3 -0
  795. data/resources/unicode_data/properties/Jamo_Short_Name/K/value.dump +4 -0
  796. data/resources/unicode_data/properties/Jamo_Short_Name/L/value.dump +3 -0
  797. data/resources/unicode_data/properties/Jamo_Short_Name/LB/value.dump +3 -0
  798. data/resources/unicode_data/properties/Jamo_Short_Name/LG/value.dump +3 -0
  799. data/resources/unicode_data/properties/Jamo_Short_Name/LH/value.dump +3 -0
  800. data/resources/unicode_data/properties/Jamo_Short_Name/LM/value.dump +3 -0
  801. data/resources/unicode_data/properties/Jamo_Short_Name/LP/value.dump +3 -0
  802. data/resources/unicode_data/properties/Jamo_Short_Name/LS/value.dump +3 -0
  803. data/resources/unicode_data/properties/Jamo_Short_Name/LT/value.dump +3 -0
  804. data/resources/unicode_data/properties/Jamo_Short_Name/M/value.dump +4 -0
  805. data/resources/unicode_data/properties/Jamo_Short_Name/N/value.dump +4 -0
  806. data/resources/unicode_data/properties/Jamo_Short_Name/NG/value.dump +3 -0
  807. data/resources/unicode_data/properties/Jamo_Short_Name/NH/value.dump +3 -0
  808. data/resources/unicode_data/properties/Jamo_Short_Name/NJ/value.dump +3 -0
  809. data/resources/unicode_data/properties/Jamo_Short_Name/O/value.dump +3 -0
  810. data/resources/unicode_data/properties/Jamo_Short_Name/OE/value.dump +3 -0
  811. data/resources/unicode_data/properties/Jamo_Short_Name/P/value.dump +4 -0
  812. data/resources/unicode_data/properties/Jamo_Short_Name/R/value.dump +3 -0
  813. data/resources/unicode_data/properties/Jamo_Short_Name/S/value.dump +4 -0
  814. data/resources/unicode_data/properties/Jamo_Short_Name/SS/value.dump +6 -0
  815. data/resources/unicode_data/properties/Jamo_Short_Name/T/value.dump +4 -0
  816. data/resources/unicode_data/properties/Jamo_Short_Name/U/value.dump +3 -0
  817. data/resources/unicode_data/properties/Jamo_Short_Name/WA/value.dump +3 -0
  818. data/resources/unicode_data/properties/Jamo_Short_Name/WAE/value.dump +3 -0
  819. data/resources/unicode_data/properties/Jamo_Short_Name/WE/value.dump +3 -0
  820. data/resources/unicode_data/properties/Jamo_Short_Name/WEO/value.dump +3 -0
  821. data/resources/unicode_data/properties/Jamo_Short_Name/WI/value.dump +3 -0
  822. data/resources/unicode_data/properties/Jamo_Short_Name/YA/value.dump +3 -0
  823. data/resources/unicode_data/properties/Jamo_Short_Name/YAE/value.dump +3 -0
  824. data/resources/unicode_data/properties/Jamo_Short_Name/YE/value.dump +3 -0
  825. data/resources/unicode_data/properties/Jamo_Short_Name/YEO/value.dump +3 -0
  826. data/resources/unicode_data/properties/Jamo_Short_Name/YI/value.dump +3 -0
  827. data/resources/unicode_data/properties/Jamo_Short_Name/YO/value.dump +3 -0
  828. data/resources/unicode_data/properties/Jamo_Short_Name/YU/value.dump +3 -0
  829. data/resources/unicode_data/properties/Jamo_Short_Name/value.dump +3 -0
  830. data/resources/unicode_data/properties/Join_Control/value.dump +3 -0
  831. data/resources/unicode_data/properties/Line_Break/AI/value.dump +0 -0
  832. data/resources/unicode_data/properties/Line_Break/AL/value.dump +0 -0
  833. data/resources/unicode_data/properties/Line_Break/B2/value.dump +4 -0
  834. data/resources/unicode_data/properties/Line_Break/BA/value.dump +0 -0
  835. data/resources/unicode_data/properties/Line_Break/BB/value.dump +15 -0
  836. data/resources/unicode_data/properties/Line_Break/BK/value.dump +4 -0
  837. data/resources/unicode_data/properties/Line_Break/CB/value.dump +3 -0
  838. data/resources/unicode_data/properties/Line_Break/CJ/value.dump +27 -0
  839. data/resources/unicode_data/properties/Line_Break/CL/value.dump +81 -0
  840. data/resources/unicode_data/properties/Line_Break/CM/value.dump +0 -0
  841. data/resources/unicode_data/properties/Line_Break/CP/value.dump +4 -0
  842. data/resources/unicode_data/properties/Line_Break/CR/value.dump +3 -0
  843. data/resources/unicode_data/properties/Line_Break/EX/value.dump +24 -0
  844. data/resources/unicode_data/properties/Line_Break/GL/value.dump +13 -0
  845. data/resources/unicode_data/properties/Line_Break/H2/value.dump +0 -0
  846. data/resources/unicode_data/properties/Line_Break/H3/value.dump +401 -0
  847. data/resources/unicode_data/properties/Line_Break/HL/value.dump +12 -0
  848. data/resources/unicode_data/properties/Line_Break/HY/value.dump +3 -0
  849. data/resources/unicode_data/properties/Line_Break/ID/value.dump +0 -0
  850. data/resources/unicode_data/properties/Line_Break/IN/value.dump +4 -0
  851. data/resources/unicode_data/properties/Line_Break/IS/value.dump +12 -0
  852. data/resources/unicode_data/properties/Line_Break/JL/value.dump +0 -0
  853. data/resources/unicode_data/properties/Line_Break/JT/value.dump +4 -0
  854. data/resources/unicode_data/properties/Line_Break/JV/value.dump +4 -0
  855. data/resources/unicode_data/properties/Line_Break/LF/value.dump +3 -0
  856. data/resources/unicode_data/properties/Line_Break/NL/value.dump +3 -0
  857. data/resources/unicode_data/properties/Line_Break/NS/value.dump +17 -0
  858. data/resources/unicode_data/properties/Line_Break/NU/value.dump +0 -0
  859. data/resources/unicode_data/properties/Line_Break/OP/value.dump +83 -0
  860. data/resources/unicode_data/properties/Line_Break/PO/value.dump +20 -0
  861. data/resources/unicode_data/properties/Line_Break/PR/value.dump +24 -0
  862. data/resources/unicode_data/properties/Line_Break/QU/value.dump +0 -0
  863. data/resources/unicode_data/properties/Line_Break/RI/value.dump +3 -0
  864. data/resources/unicode_data/properties/Line_Break/SA/value.dump +0 -0
  865. data/resources/unicode_data/properties/Line_Break/SG/value.dump +0 -0
  866. data/resources/unicode_data/properties/Line_Break/SP/value.dump +3 -0
  867. data/resources/unicode_data/properties/Line_Break/SY/value.dump +3 -0
  868. data/resources/unicode_data/properties/Line_Break/WJ/value.dump +4 -0
  869. data/resources/unicode_data/properties/Line_Break/XX/value.dump +0 -0
  870. data/resources/unicode_data/properties/Line_Break/ZW/value.dump +3 -0
  871. data/resources/unicode_data/properties/Logical_Order_Exception/value.dump +8 -0
  872. data/resources/unicode_data/properties/Lowercase/value.dump +0 -0
  873. data/resources/unicode_data/properties/Math/value.dump +0 -0
  874. data/resources/unicode_data/properties/Noncharacter_Code_Point/value.dump +22 -0
  875. data/resources/unicode_data/properties/Numeric_Type/0/value.dump +0 -0
  876. data/resources/unicode_data/properties/Numeric_Type/1/value.dump +69 -0
  877. data/resources/unicode_data/properties/Numeric_Type/2/value.dump +68 -0
  878. data/resources/unicode_data/properties/Numeric_Type/3/value.dump +68 -0
  879. data/resources/unicode_data/properties/Numeric_Type/4/value.dump +68 -0
  880. data/resources/unicode_data/properties/Numeric_Type/5/value.dump +65 -0
  881. data/resources/unicode_data/properties/Numeric_Type/6/value.dump +65 -0
  882. data/resources/unicode_data/properties/Numeric_Type/7/value.dump +65 -0
  883. data/resources/unicode_data/properties/Numeric_Type/8/value.dump +65 -0
  884. data/resources/unicode_data/properties/Numeric_Type/9/value.dump +67 -0
  885. data/resources/unicode_data/properties/Numeric_Type/value.dump +0 -0
  886. data/resources/unicode_data/properties/Other_Alphabetic/value.dump +0 -0
  887. data/resources/unicode_data/properties/Other_Default_Ignorable_Code_Point/value.dump +0 -0
  888. data/resources/unicode_data/properties/Other_Grapheme_Extend/value.dump +19 -0
  889. data/resources/unicode_data/properties/Other_ID_Continue/value.dump +6 -0
  890. data/resources/unicode_data/properties/Other_ID_Start/value.dump +5 -0
  891. data/resources/unicode_data/properties/Other_Lowercase/value.dump +20 -0
  892. data/resources/unicode_data/properties/Other_Math/value.dump +0 -0
  893. data/resources/unicode_data/properties/Other_Uppercase/value.dump +4 -0
  894. data/resources/unicode_data/properties/Pattern_Syntax/value.dump +0 -0
  895. data/resources/unicode_data/properties/Pattern_White_Space/value.dump +8 -0
  896. data/resources/unicode_data/properties/Quotation_Mark/value.dump +14 -0
  897. data/resources/unicode_data/properties/Radical/value.dump +0 -0
  898. data/resources/unicode_data/properties/STerm/value.dump +0 -0
  899. data/resources/unicode_data/properties/Script/Arabic/value.dump +0 -0
  900. data/resources/unicode_data/properties/Script/Armenian/value.dump +8 -0
  901. data/resources/unicode_data/properties/Script/Avestan/value.dump +0 -0
  902. data/resources/unicode_data/properties/Script/Balinese/value.dump +0 -0
  903. data/resources/unicode_data/properties/Script/Bamum/value.dump +0 -0
  904. data/resources/unicode_data/properties/Script/Batak/value.dump +4 -0
  905. data/resources/unicode_data/properties/Script/Bengali/value.dump +16 -0
  906. data/resources/unicode_data/properties/Script/Bopomofo/value.dump +5 -0
  907. data/resources/unicode_data/properties/Script/Brahmi/value.dump +0 -0
  908. data/resources/unicode_data/properties/Script/Braille/value.dump +0 -0
  909. data/resources/unicode_data/properties/Script/Buginese/value.dump +0 -0
  910. data/resources/unicode_data/properties/Script/Buhid/value.dump +3 -0
  911. data/resources/unicode_data/properties/Script/Canadian_Aboriginal/value.dump +0 -0
  912. data/resources/unicode_data/properties/Script/Carian/value.dump +3 -0
  913. data/resources/unicode_data/properties/Script/Chakma/value.dump +0 -0
  914. data/resources/unicode_data/properties/Script/Cham/value.dump +0 -0
  915. data/resources/unicode_data/properties/Script/Cherokee/value.dump +3 -0
  916. data/resources/unicode_data/properties/Script/Common/value.dump +0 -0
  917. data/resources/unicode_data/properties/Script/Coptic/value.dump +5 -0
  918. data/resources/unicode_data/properties/Script/Cuneiform/value.dump +0 -0
  919. data/resources/unicode_data/properties/Script/Cypriot/value.dump +0 -0
  920. data/resources/unicode_data/properties/Script/Cyrillic/value.dump +0 -0
  921. data/resources/unicode_data/properties/Script/Deseret/value.dump +0 -0
  922. data/resources/unicode_data/properties/Script/Devanagari/value.dump +0 -0
  923. data/resources/unicode_data/properties/Script/Egyptian_Hieroglyphs/value.dump +0 -0
  924. data/resources/unicode_data/properties/Script/Ethiopic/value.dump +0 -0
  925. data/resources/unicode_data/properties/Script/Georgian/value.dump +0 -0
  926. data/resources/unicode_data/properties/Script/Glagolitic/value.dump +0 -0
  927. data/resources/unicode_data/properties/Script/Gothic/value.dump +3 -0
  928. data/resources/unicode_data/properties/Script/Greek/value.dump +0 -0
  929. data/resources/unicode_data/properties/Script/Gujarati/value.dump +40 -0
  930. data/resources/unicode_data/properties/Script/Gurmukhi/value.dump +50 -0
  931. data/resources/unicode_data/properties/Script/Han/value.dump +0 -0
  932. data/resources/unicode_data/properties/Script/Hangul/value.dump +0 -0
  933. data/resources/unicode_data/properties/Script/Hanunoo/value.dump +3 -0
  934. data/resources/unicode_data/properties/Script/Hebrew/value.dump +11 -0
  935. data/resources/unicode_data/properties/Script/Hiragana/value.dump +0 -0
  936. data/resources/unicode_data/properties/Script/Imperial_Aramaic/value.dump +4 -0
  937. data/resources/unicode_data/properties/Script/Inherited/value.dump +0 -0
  938. data/resources/unicode_data/properties/Script/Inscriptional_Pahlavi/value.dump +4 -0
  939. data/resources/unicode_data/properties/Script/Inscriptional_Parthian/value.dump +4 -0
  940. data/resources/unicode_data/properties/Script/Javanese/value.dump +5 -0
  941. data/resources/unicode_data/properties/Script/Kaithi/value.dump +3 -0
  942. data/resources/unicode_data/properties/Script/Kannada/value.dump +16 -0
  943. data/resources/unicode_data/properties/Script/Katakana/value.dump +0 -0
  944. data/resources/unicode_data/properties/Script/Kayah_Li/value.dump +0 -0
  945. data/resources/unicode_data/properties/Script/Kharoshthi/value.dump +0 -0
  946. data/resources/unicode_data/properties/Script/Khmer/value.dump +6 -0
  947. data/resources/unicode_data/properties/Script/Lao/value.dump +20 -0
  948. data/resources/unicode_data/properties/Script/Latin/value.dump +0 -0
  949. data/resources/unicode_data/properties/Script/Lepcha/value.dump +0 -0
  950. data/resources/unicode_data/properties/Script/Limbu/value.dump +0 -0
  951. data/resources/unicode_data/properties/Script/Linear_B/value.dump +0 -0
  952. data/resources/unicode_data/properties/Script/Lisu/value.dump +3 -0
  953. data/resources/unicode_data/properties/Script/Lycian/value.dump +3 -0
  954. data/resources/unicode_data/properties/Script/Lydian/value.dump +4 -0
  955. data/resources/unicode_data/properties/Script/Malayalam/value.dump +13 -0
  956. data/resources/unicode_data/properties/Script/Mandaic/value.dump +4 -0
  957. data/resources/unicode_data/properties/Script/Meetei_Mayek/value.dump +5 -0
  958. data/resources/unicode_data/properties/Script/Meroitic_Cursive/value.dump +4 -0
  959. data/resources/unicode_data/properties/Script/Meroitic_Hieroglyphs/value.dump +3 -0
  960. data/resources/unicode_data/properties/Script/Miao/value.dump +0 -0
  961. data/resources/unicode_data/properties/Script/Mongolian/value.dump +0 -0
  962. data/resources/unicode_data/properties/Script/Myanmar/value.dump +0 -0
  963. data/resources/unicode_data/properties/Script/New_Tai_Lue/value.dump +6 -0
  964. data/resources/unicode_data/properties/Script/Nko/value.dump +3 -0
  965. data/resources/unicode_data/properties/Script/Ogham/value.dump +3 -0
  966. data/resources/unicode_data/properties/Script/Ol_Chiki/value.dump +3 -0
  967. data/resources/unicode_data/properties/Script/Old_Italic/value.dump +0 -0
  968. data/resources/unicode_data/properties/Script/Old_Persian/value.dump +4 -0
  969. data/resources/unicode_data/properties/Script/Old_South_Arabian/value.dump +5 -0
  970. data/resources/unicode_data/properties/Script/Old_Turkic/value.dump +0 -0
  971. data/resources/unicode_data/properties/Script/Oriya/value.dump +16 -0
  972. data/resources/unicode_data/properties/Script/Osmanya/value.dump +4 -0
  973. data/resources/unicode_data/properties/Script/Phags_Pa/value.dump +3 -0
  974. data/resources/unicode_data/properties/Script/Phoenician/value.dump +0 -0
  975. data/resources/unicode_data/properties/Script/Rejang/value.dump +4 -0
  976. data/resources/unicode_data/properties/Script/Runic/value.dump +4 -0
  977. data/resources/unicode_data/properties/Script/Samaritan/value.dump +0 -0
  978. data/resources/unicode_data/properties/Script/Saurashtra/value.dump +4 -0
  979. data/resources/unicode_data/properties/Script/Sharada/value.dump +4 -0
  980. data/resources/unicode_data/properties/Script/Shavian/value.dump +3 -0
  981. data/resources/unicode_data/properties/Script/Sinhala/value.dump +13 -0
  982. data/resources/unicode_data/properties/Script/Sora_Sompeng/value.dump +4 -0
  983. data/resources/unicode_data/properties/Script/Sundanese/value.dump +4 -0
  984. data/resources/unicode_data/properties/Script/Syloti_Nagri/value.dump +0 -0
  985. data/resources/unicode_data/properties/Script/Syriac/value.dump +0 -0
  986. data/resources/unicode_data/properties/Script/Tagalog/value.dump +0 -0
  987. data/resources/unicode_data/properties/Script/Tagbanwa/value.dump +5 -0
  988. data/resources/unicode_data/properties/Script/Tai_Le/value.dump +4 -0
  989. data/resources/unicode_data/properties/Script/Tai_Tham/value.dump +8 -0
  990. data/resources/unicode_data/properties/Script/Tai_Viet/value.dump +4 -0
  991. data/resources/unicode_data/properties/Script/Takri/value.dump +4 -0
  992. data/resources/unicode_data/properties/Script/Tamil/value.dump +18 -0
  993. data/resources/unicode_data/properties/Script/Telugu/value.dump +16 -0
  994. data/resources/unicode_data/properties/Script/Thaana/value.dump +3 -0
  995. data/resources/unicode_data/properties/Script/Thai/value.dump +4 -0
  996. data/resources/unicode_data/properties/Script/Tibetan/value.dump +0 -0
  997. data/resources/unicode_data/properties/Script/Tifinagh/value.dump +5 -0
  998. data/resources/unicode_data/properties/Script/Ugaritic/value.dump +4 -0
  999. data/resources/unicode_data/properties/Script/Vai/value.dump +0 -0
  1000. data/resources/unicode_data/properties/Script/Yi/value.dump +0 -0
  1001. data/resources/unicode_data/properties/Script_Extensions/Arab/value.dump +11 -0
  1002. data/resources/unicode_data/properties/Script_Extensions/Armn/value.dump +3 -0
  1003. data/resources/unicode_data/properties/Script_Extensions/Beng/value.dump +3 -0
  1004. data/resources/unicode_data/properties/Script_Extensions/Bopo/value.dump +19 -0
  1005. data/resources/unicode_data/properties/Script_Extensions/Bugi/value.dump +3 -0
  1006. data/resources/unicode_data/properties/Script_Extensions/Buhd/value.dump +3 -0
  1007. data/resources/unicode_data/properties/Script_Extensions/Cakm/value.dump +4 -0
  1008. data/resources/unicode_data/properties/Script_Extensions/Cprt/value.dump +0 -0
  1009. data/resources/unicode_data/properties/Script_Extensions/Cyrl/value.dump +3 -0
  1010. data/resources/unicode_data/properties/Script_Extensions/Deva/value.dump +4 -0
  1011. data/resources/unicode_data/properties/Script_Extensions/Geor/value.dump +3 -0
  1012. data/resources/unicode_data/properties/Script_Extensions/Grek/value.dump +5 -0
  1013. data/resources/unicode_data/properties/Script_Extensions/Gujr/value.dump +3 -0
  1014. data/resources/unicode_data/properties/Script_Extensions/Guru/value.dump +4 -0
  1015. data/resources/unicode_data/properties/Script_Extensions/Hang/value.dump +18 -0
  1016. data/resources/unicode_data/properties/Script_Extensions/Hani/value.dump +21 -0
  1017. data/resources/unicode_data/properties/Script_Extensions/Hano/value.dump +3 -0
  1018. data/resources/unicode_data/properties/Script_Extensions/Hira/value.dump +24 -0
  1019. data/resources/unicode_data/properties/Script_Extensions/Java/value.dump +3 -0
  1020. data/resources/unicode_data/properties/Script_Extensions/Kana/value.dump +24 -0
  1021. data/resources/unicode_data/properties/Script_Extensions/Kthi/value.dump +3 -0
  1022. data/resources/unicode_data/properties/Script_Extensions/Latn/value.dump +5 -0
  1023. data/resources/unicode_data/properties/Script_Extensions/Linb/value.dump +0 -0
  1024. data/resources/unicode_data/properties/Script_Extensions/Mand/value.dump +3 -0
  1025. data/resources/unicode_data/properties/Script_Extensions/Mong/value.dump +4 -0
  1026. data/resources/unicode_data/properties/Script_Extensions/Mymr/value.dump +3 -0
  1027. data/resources/unicode_data/properties/Script_Extensions/Orya/value.dump +3 -0
  1028. data/resources/unicode_data/properties/Script_Extensions/Phag/value.dump +4 -0
  1029. data/resources/unicode_data/properties/Script_Extensions/Sylo/value.dump +3 -0
  1030. data/resources/unicode_data/properties/Script_Extensions/Syrc/value.dump +8 -0
  1031. data/resources/unicode_data/properties/Script_Extensions/Tagb/value.dump +3 -0
  1032. data/resources/unicode_data/properties/Script_Extensions/Takr/value.dump +3 -0
  1033. data/resources/unicode_data/properties/Script_Extensions/Tale/value.dump +3 -0
  1034. data/resources/unicode_data/properties/Script_Extensions/Tglg/value.dump +3 -0
  1035. data/resources/unicode_data/properties/Script_Extensions/Thaa/value.dump +8 -0
  1036. data/resources/unicode_data/properties/Script_Extensions/Yiii/value.dump +8 -0
  1037. data/resources/unicode_data/properties/Sentence_Break/ATerm/value.dump +6 -0
  1038. data/resources/unicode_data/properties/Sentence_Break/CR/value.dump +3 -0
  1039. data/resources/unicode_data/properties/Sentence_Break/Close/value.dump +0 -0
  1040. data/resources/unicode_data/properties/Sentence_Break/Extend/value.dump +0 -0
  1041. data/resources/unicode_data/properties/Sentence_Break/Format/value.dump +0 -0
  1042. data/resources/unicode_data/properties/Sentence_Break/LF/value.dump +3 -0
  1043. data/resources/unicode_data/properties/Sentence_Break/Lower/value.dump +0 -0
  1044. data/resources/unicode_data/properties/Sentence_Break/Numeric/value.dump +0 -0
  1045. data/resources/unicode_data/properties/Sentence_Break/OLetter/value.dump +0 -0
  1046. data/resources/unicode_data/properties/Sentence_Break/SContinue/value.dump +21 -0
  1047. data/resources/unicode_data/properties/Sentence_Break/STerm/value.dump +0 -0
  1048. data/resources/unicode_data/properties/Sentence_Break/Sep/value.dump +4 -0
  1049. data/resources/unicode_data/properties/Sentence_Break/Sp/value.dump +0 -0
  1050. data/resources/unicode_data/properties/Sentence_Break/Upper/value.dump +0 -0
  1051. data/resources/unicode_data/properties/Soft_Dotted/value.dump +33 -0
  1052. data/resources/unicode_data/properties/Terminal_Punctuation/value.dump +0 -0
  1053. data/resources/unicode_data/properties/Unified_Ideograph/value.dump +0 -0
  1054. data/resources/unicode_data/properties/Uppercase/value.dump +0 -0
  1055. data/resources/unicode_data/properties/Variation_Selector/value.dump +0 -0
  1056. data/resources/unicode_data/properties/White_Space/value.dump +0 -0
  1057. data/resources/unicode_data/properties/Word_Break/ALetter/value.dump +0 -0
  1058. data/resources/unicode_data/properties/Word_Break/CR/value.dump +3 -0
  1059. data/resources/unicode_data/properties/Word_Break/Double_Quote/value.dump +3 -0
  1060. data/resources/unicode_data/properties/Word_Break/Extend/value.dump +0 -0
  1061. data/resources/unicode_data/properties/Word_Break/ExtendNumLet/value.dump +8 -0
  1062. data/resources/unicode_data/properties/Word_Break/Format/value.dump +0 -0
  1063. data/resources/unicode_data/properties/Word_Break/Hebrew_Letter/value.dump +12 -0
  1064. data/resources/unicode_data/properties/Word_Break/Katakana/value.dump +0 -0
  1065. data/resources/unicode_data/properties/Word_Break/LF/value.dump +3 -0
  1066. data/resources/unicode_data/properties/Word_Break/MidLetter/value.dump +10 -0
  1067. data/resources/unicode_data/properties/Word_Break/MidNum/value.dump +16 -0
  1068. data/resources/unicode_data/properties/Word_Break/MidNumLet/value.dump +9 -0
  1069. data/resources/unicode_data/properties/Word_Break/Newline/value.dump +5 -0
  1070. data/resources/unicode_data/properties/Word_Break/Numeric/value.dump +0 -0
  1071. data/resources/unicode_data/properties/Word_Break/Regional_Indicator/value.dump +3 -0
  1072. data/resources/unicode_data/properties/Word_Break/Single_Quote/value.dump +3 -0
  1073. data/resources/unicode_data/properties/XID_Continue/value.dump +0 -0
  1074. data/resources/unicode_data/properties/XID_Start/value.dump +0 -0
  1075. data/resources/unicode_data/property_aliases.yml +350 -0
  1076. data/resources/unicode_data/property_value_aliases.yml +1829 -0
  1077. data/spec/bidi/bidi_spec.rb +2 -2
  1078. data/spec/collation/collation_spec.rb +1 -1
  1079. data/spec/collation/collator_spec.rb +6 -6
  1080. data/spec/collation/sort_key_builder_spec.rb +11 -11
  1081. data/spec/collation/tailoring_spec.rb +1 -1
  1082. data/spec/collation/trie_dumps_spec.rb +1 -1
  1083. data/spec/data_readers/date_time_data_reader_spec.rb +1 -1
  1084. data/spec/data_readers/number_data_reader_spec.rb +19 -6
  1085. data/spec/formatters/calendars/datetime_formatter_spec.rb +1 -1
  1086. data/spec/formatters/numbers/abbreviated/abbreviated_number_formatter_spec.rb +1 -1
  1087. data/spec/formatters/numbers/abbreviated/long_decimal_formatter_spec.rb +5 -5
  1088. data/spec/formatters/numbers/abbreviated/short_decimal_formatter_spec.rb +4 -4
  1089. data/spec/formatters/numbers/currency_formatter_spec.rb +10 -10
  1090. data/spec/formatters/numbers/decimal_formatter_spec.rb +2 -2
  1091. data/spec/formatters/numbers/helpers/fraction_spec.rb +4 -4
  1092. data/spec/formatters/numbers/helpers/integer_spec.rb +21 -16
  1093. data/spec/formatters/numbers/number_formatter_spec.rb +9 -9
  1094. data/spec/formatters/numbers/percent_formatter_spec.rb +2 -2
  1095. data/spec/formatters/numbers/rbnf/rbnf_spec.rb +5 -5
  1096. data/spec/formatters/plurals/plural_formatter_spec.rb +25 -25
  1097. data/spec/formatters/plurals/rules_spec.rb +4 -4
  1098. data/spec/localized/localized_date_spec.rb +25 -25
  1099. data/spec/localized/localized_datetime_spec.rb +7 -7
  1100. data/spec/localized/localized_hash_spec.rb +1 -1
  1101. data/spec/localized/localized_number_spec.rb +23 -23
  1102. data/spec/localized/localized_object_spec.rb +2 -2
  1103. data/spec/localized/localized_string_spec.rb +43 -16
  1104. data/spec/localized/localized_symbol_spec.rb +31 -4
  1105. data/spec/localized/localized_time_spec.rb +3 -3
  1106. data/spec/localized/localized_timespan_spec.rb +42 -42
  1107. data/spec/normalization_spec.rb +4 -4
  1108. data/spec/parsers/number_parser_spec.rb +10 -10
  1109. data/spec/parsers/parser_spec.rb +19 -3
  1110. data/spec/parsers/symbol_table_spec.rb +1 -1
  1111. data/spec/parsers/unicode_regex/character_class_spec.rb +12 -0
  1112. data/spec/parsers/unicode_regex/character_range_spec.rb +24 -5
  1113. data/spec/parsers/unicode_regex/character_set_spec.rb +9 -1
  1114. data/spec/parsers/unicode_regex_parser_spec.rb +1 -1
  1115. data/spec/resources/loader_spec.rb +6 -6
  1116. data/spec/{shared → segmentation}/break_iterator_spec.rb +45 -16
  1117. data/spec/segmentation/parser_spec.rb +107 -0
  1118. data/spec/segmentation/rule_set_spec.rb +102 -0
  1119. data/spec/shared/calendar_spec.rb +30 -30
  1120. data/spec/shared/caser_spec.rb +79 -0
  1121. data/spec/shared/code_point_spec.rb +52 -151
  1122. data/spec/shared/currencies_spec.rb +8 -8
  1123. data/spec/shared/language_codes_spec.rb +13 -13
  1124. data/spec/shared/likely_subtags_spec.rb +58 -0
  1125. data/spec/shared/locale_spec.rb +211 -0
  1126. data/spec/shared/numbers_spec.rb +4 -4
  1127. data/spec/shared/postal_codes_spec.rb +24 -4
  1128. data/spec/shared/properties_database_spec.rb +157 -0
  1129. data/spec/shared/property_name_aliases_spec.rb +56 -0
  1130. data/spec/shared/property_normalizer_spec.rb +64 -0
  1131. data/spec/shared/property_set_spec.rb +218 -0
  1132. data/spec/shared/property_value_aliases_spec.rb +58 -0
  1133. data/spec/shared/territories_spec.rb +1 -1
  1134. data/spec/shared/unicode_regex_spec.rb +35 -2
  1135. data/spec/spec_helper.rb +3 -3
  1136. data/spec/tokenizers/calendars/date_tokenizer_spec.rb +23 -23
  1137. data/spec/tokenizers/calendars/datetime_tokenizer_spec.rb +18 -18
  1138. data/spec/tokenizers/calendars/time_tokenizer_spec.rb +19 -19
  1139. data/spec/tokenizers/composite_token_spec.rb +4 -4
  1140. data/spec/tokenizers/numbers/number_tokenizer_spec.rb +16 -16
  1141. data/spec/tokenizers/token_spec.rb +2 -2
  1142. data/spec/tokenizers/unicode_regex/unicode_regex_tokenizer_spec.rb +94 -94
  1143. data/spec/utils/file_system_trie_spec.rb +98 -0
  1144. data/spec/utils/range_set_spec.rb +53 -1
  1145. data/spec/utils/script_detector_spec.rb +58 -0
  1146. data/spec/utils/yaml/yaml_spec.rb +22 -22
  1147. data/spec/utils_spec.rb +21 -21
  1148. metadata +832 -28
  1149. data/lib/twitter_cldr/parsers/segmentation_parser.rb +0 -137
  1150. data/lib/twitter_cldr/resources/canonical_compositions_updater.rb +0 -51
  1151. data/lib/twitter_cldr/resources/composition_exclusions_importer.rb +0 -62
  1152. data/lib/twitter_cldr/resources/normalization_quick_check_importer.rb +0 -73
  1153. data/lib/twitter_cldr/resources/unicode_properties_importer.rb +0 -79
  1154. data/lib/twitter_cldr/shared/break_iterator.rb +0 -213
  1155. data/lib/twitter_cldr/tokenizers/segmentation/segmentation_tokenizer.rb +0 -39
  1156. data/resources/shared/segments/tailorings/en.yml +0 -8
  1157. data/resources/unicode_data/canonical_compositions.yml +0 -4925
  1158. data/resources/unicode_data/composition_exclusions.yml +0 -297
  1159. data/resources/unicode_data/hangul_blocks.yml +0 -21
  1160. data/resources/unicode_data/indices/bidi_class.yml +0 -4572
  1161. data/resources/unicode_data/indices/bidi_mirrored.yml +0 -3087
  1162. data/resources/unicode_data/indices/category.yml +0 -10918
  1163. data/resources/unicode_data/indices/keys.yml +0 -101
  1164. data/resources/unicode_data/nfc_quick_check.yml +0 -293
  1165. data/resources/unicode_data/nfd_quick_check.yml +0 -909
  1166. data/resources/unicode_data/nfkc_quick_check.yml +0 -989
  1167. data/resources/unicode_data/nfkd_quick_check.yml +0 -1537
  1168. data/resources/unicode_data/properties/line_break.yml +0 -9269
  1169. data/resources/unicode_data/properties/sentence_break.yml +0 -8067
  1170. data/resources/unicode_data/properties/word_break.yml +0 -3001
  1171. data/spec/parsers/segmentation_parser_spec.rb +0 -100
  1172. data/spec/tokenizers/segmentation/segmentation_tokenizer_spec.rb +0 -40
@@ -9,7 +9,6 @@ include TwitterCldr::Shared
9
9
 
10
10
  describe CodePoint do
11
11
  def clear
12
- CodePoint.instance_variable_set(:@composition_exclusion_cache, nil)
13
12
  CodePoint.instance_variable_set(:@canonical_compositions, nil)
14
13
  CodePoint.instance_variable_set(:@block_cache, nil)
15
14
  CodePoint.instance_variable_set(:@blocks, nil)
@@ -32,10 +31,6 @@ describe CodePoint do
32
31
  it 'initializes compatibility tag as nil' do
33
32
  expect(code_point.compatibility_decomposition_tag).to be_nil
34
33
  end
35
-
36
- it 'returns false from compatibility_decomposition?' do
37
- expect(code_point).not_to be_compatibility_decomposition
38
- end
39
34
  end
40
35
 
41
36
  context 'when decomposition is compatibility' do
@@ -48,10 +43,6 @@ describe CodePoint do
48
43
  it 'initializes compatibility decomposition tag' do
49
44
  expect(code_point.compatibility_decomposition_tag).to eq('font')
50
45
  end
51
-
52
- it 'returns true from compatibility_decomposition?' do
53
- expect(code_point).to be_compatibility_decomposition
54
- end
55
46
  end
56
47
 
57
48
  context 'when decomposition is empty' do
@@ -64,47 +55,81 @@ describe CodePoint do
64
55
  it 'initializes compatibility tag as nil' do
65
56
  expect(code_point.compatibility_decomposition_tag).to be_nil
66
57
  end
58
+ end
59
+ end
67
60
 
68
- it 'returns false from compatibility_decomposition?' do
69
- expect(code_point).not_to be_compatibility_decomposition
70
- end
61
+ describe '#properties' do
62
+ it 'identifies all properties belonging to the code point' do
63
+ code_point = CodePoint.get(65)
64
+ properties = code_point.properties
65
+ expect(properties.alphabetic).to be_true
66
+ expect(properties.script).to eq(Set.new(%w(Latin)))
67
+ expect(properties.general_category).to eq(Set.new(%w(L Lu)))
68
+ end
69
+ end
70
+
71
+ describe '.properties' do
72
+ it 'provides an instance of PropertiesDatabase' do
73
+ expect(CodePoint.properties).to be_a(PropertiesDatabase)
74
+ expect(CodePoint.properties.property_names.size).to be > 60
75
+ end
76
+ end
77
+
78
+ describe '.code_points_for_property' do
79
+ it 'delegates to the properties database' do
80
+ database = Object.new
81
+ property_name = 'foo'
82
+ property_value = 'bar'
83
+ stub(CodePoint).properties { database }
84
+ mock(database).code_points_for_property(property_name, property_value)
85
+ CodePoint.code_points_for_property(property_name, property_value)
86
+ end
87
+ end
88
+
89
+ describe '.properties_for_code_point' do
90
+ it 'delegates to the properties database' do
91
+ database = Object.new
92
+ code_point = 65
93
+ stub(CodePoint).properties { database }
94
+ mock(database).properties_for_code_point(code_point)
95
+ CodePoint.properties_for_code_point(code_point)
71
96
  end
72
97
  end
73
98
 
74
- describe "#find" do
99
+ describe ".get" do
75
100
  it "retrieves information for any valid code point" do
76
- data = CodePoint.find(0x301)
101
+ data = CodePoint.get(0x301)
77
102
  expect(data).to be_a(CodePoint)
78
103
  expect(data.fields.length).to eq(15)
79
104
  end
80
105
 
81
106
  it "returns nil if the information is not found" do
82
- expect(CodePoint.find(0xFFFFFFF)).to be_nil
107
+ expect(CodePoint.get(0xFFFFFFF)).to be_nil
83
108
  end
84
109
 
85
110
  it "fetches valid information for the specified code point" do
86
111
  test_code_points_data(
87
- 0x17D1 => [0x17D1, "KHMER SIGN VIRIAM", "Mn", "0", "NSM", "", "", "", "", "N", "", "", "", "", ""],
88
- 0xFE91 => [0xFE91, "ARABIC LETTER BEH INITIAL FORM", "Lo", "0", "AL", "<initial> 0628", "", "", "", "N", "GLYPH FOR INITIAL ARABIC BAA", "", "", "", ""],
89
- 0x24B5 => [0x24B5, "PARENTHESIZED LATIN SMALL LETTER Z", "So", "0", "L", "<compat> 0028 007A 0029", "", "", "", "N", "", "", "", "", ""],
90
- 0x2128 => [0x2128, "BLACK-LETTER CAPITAL Z", "Lu", "0", "L", "<font> 005A", "", "", "", "N", "BLACK-LETTER Z", "", "", "", ""],
91
- 0x1F241 => [0x1F241, "TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09", "So", "0", "L", "<compat> 3014 4E09 3015", "", "", "", "N", "", "", "", "", ""]
112
+ 0x17D1 => [0x17D1, "KHMER SIGN VIRIAM", "Mn", "0", "NSM", "", "", "", "", "N", "", "", "", "", ""],
113
+ 0xFE91 => [0xFE91, "ARABIC LETTER BEH INITIAL FORM", "Lo", "0", "AL", "<initial> 0628", "", "", "", "N", "GLYPH FOR INITIAL ARABIC BAA", "", "", "", ""],
114
+ 0x24B5 => [0x24B5, "PARENTHESIZED LATIN SMALL LETTER Z", "So", "0", "L", "<compat> 0028 007A 0029", "", "", "", "N", "", "", "", "", ""],
115
+ 0x2128 => [0x2128, "BLACK-LETTER CAPITAL Z", "Lu", "0", "L", "<font> 005A", "", "", "", "N", "BLACK-LETTER Z", "", "", "", ""],
116
+ 0x1F241 => [0x1F241, "TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09", "So", "0", "L", "<compat> 3014 4E09 3015", "", "", "", "N", "", "", "", "", ""]
92
117
  )
93
118
  end
94
119
 
95
120
  it "fetches valid information for a code point within a range" do
96
121
  test_code_points_data(
97
- 0x4E11 => [0x4E11, "<CJK Ideograph>", "Lo", "0", "L", "", "", "", "", "N", "", "", "", "", ""],
98
- 0xAC55 => [0xAC55, "<Hangul Syllable>", "Lo", "0", "L", "", "", "", "", "N", "", "", "", "", ""],
99
- 0xD7A1 => [0xD7A1, "<Hangul Syllable>", "Lo", "0", "L", "", "", "", "", "N", "", "", "", "", ""],
100
- 0xDAAA => [0xDAAA, "<Non Private Use High Surrogate>", "Cs", "0", "L", "", "", "", "", "N", "", "", "", "", ""],
101
- 0xF8FE => [0xF8FE, "<Private Use>", "Co", "0", "L", "", "", "", "", "N", "", "", "", "", ""]
122
+ 0x4E11 => [0x4E11, "<CJK Ideograph>", "Lo", "0", "L", "", "", "", "", "N", "", "", "", "", ""],
123
+ 0xAC55 => [0xAC55, "<Hangul Syllable>", "Lo", "0", "L", "", "", "", "", "N", "", "", "", "", ""],
124
+ 0xD7A1 => [0xD7A1, "<Hangul Syllable>", "Lo", "0", "L", "", "", "", "", "N", "", "", "", "", ""],
125
+ 0xDAAA => [0xDAAA, "<Non Private Use High Surrogate>", "Cs", "0", "L", "", "", "", "", "N", "", "", "", "", ""],
126
+ 0xF8FE => [0xF8FE, "<Private Use>", "Co", "0", "L", "", "", "", "", "N", "", "", "", "", ""]
102
127
  )
103
128
  end
104
129
 
105
130
  def test_code_points_data(test_data)
106
131
  test_data.each do |code_point, data|
107
- cp_data = CodePoint.find(code_point)
132
+ cp_data = CodePoint.get(code_point)
108
133
 
109
134
  expect(cp_data).not_to be_nil
110
135
 
@@ -112,128 +137,4 @@ describe CodePoint do
112
137
  end
113
138
  end
114
139
  end
115
-
116
- describe "#code_points_for{index}" do
117
- it "returns code points for the given general unicode property name" do
118
- cps = CodePoint.code_points_for_category(:Cc)
119
- expect(cps).to be_a(Array)
120
- expect(cps.first).to eq(0..31)
121
-
122
- cps = CodePoint.code_points_for_bidi_class(:BN)
123
- expect(cps).to be_a(Array)
124
- expect(cps.first).to eq(0..8)
125
-
126
- cps = CodePoint.code_points_for_bidi_mirrored(:N)
127
- expect(cps).to be_a(Array)
128
- expect(cps.first).to eq(0..39)
129
- end
130
- end
131
-
132
- describe "#code_points_for_property_value" do
133
- it "returns code points for the given unicode property and value" do
134
- cps = CodePoint.code_points_for_line_break(:CM)
135
- expect(cps).to be_a(Array)
136
- expect(cps.first).to eq(0..8)
137
-
138
- cps = CodePoint.code_points_for_sentence_break(:Extend)
139
- expect(cps).to be_a(Array)
140
- expect(cps.first).to eq(768..879)
141
-
142
- cps = CodePoint.code_points_for_word_break(:Hebrew_Letter)
143
- expect(cps).to be_a(Array)
144
- expect(cps.first).to eq(1488..1514)
145
- end
146
- end
147
-
148
- describe "#for_canonical_decomposition" do
149
- let(:canonical_compositions) { { [123, 456] => 789 } }
150
-
151
- before(:each) do
152
- stub(CodePoint).find { |code_point| "I'm code point #{code_point}" }
153
- end
154
-
155
- context "with a stubbed decomposition map" do
156
- before(:each) do
157
- mock(TwitterCldr).get_resource(:unicode_data, :canonical_compositions) { canonical_compositions }
158
- end
159
-
160
- it "should return a code point with the correct value" do
161
- expect(CodePoint.for_canonical_decomposition([123, 456])).to eq("I'm code point 789")
162
- end
163
-
164
- it "should return nil if no decomposition mapping exists" do
165
- expect(CodePoint.for_canonical_decomposition([987])).to be_nil
166
- end
167
- end
168
-
169
- it "should cache the decomposition map" do
170
- mock(TwitterCldr).get_resource(:unicode_data, :canonical_compositions) { canonical_compositions }.once
171
- expect(CodePoint.for_canonical_decomposition([0xA0])).to be_nil
172
- expect(CodePoint.for_canonical_decomposition([0xA0])).to be_nil
173
- end
174
- end
175
-
176
- describe "#hangul_type" do
177
- before(:each) do
178
- stub(CodePoint).hangul_blocks {
179
- {
180
- :lparts => [1..10],
181
- :vparts => [21..30],
182
- :tparts => [41..50],
183
- :compositions => [1..50]
184
- }
185
- }
186
- end
187
-
188
- it "returns nil if not part of a hangul block" do
189
- expect(CodePoint.hangul_type(100)).to eq(nil)
190
- end
191
-
192
- it "returns the correct part (i.e. lpart, vpart, or tpart) before composition or decomposition" do
193
- expect(CodePoint.hangul_type(5)).to eq(:lparts)
194
- expect(CodePoint.hangul_type(30)).to eq(:vparts)
195
- expect(CodePoint.hangul_type(41)).to eq(:tparts)
196
- end
197
-
198
- it "returns composition if no part can be found" do
199
- expect(CodePoint.hangul_type(11)).to eq(:compositions)
200
- end
201
- end
202
-
203
- describe "#excluded_from_composition?" do
204
- it "excludes anything in the list of ranges" do
205
- stub(CodePoint).composition_exclusions { [10..10, 13..14, 20..30] }
206
- expect(CodePoint.excluded_from_composition?(10)).to be_true
207
- expect(CodePoint.excluded_from_composition?(13)).to be_true
208
- expect(CodePoint.excluded_from_composition?(14)).to be_true
209
- expect(CodePoint.excluded_from_composition?(15)).to be_false
210
- expect(CodePoint.excluded_from_composition?(19)).to be_false
211
- expect(CodePoint.excluded_from_composition?(100)).to be_false
212
- end
213
- end
214
-
215
- describe "#get_block" do
216
- before(:each) do
217
- CodePoint.send(:block_cache).clear
218
- end
219
-
220
- it "finds the block that corresponds to the code point" do
221
- stub(TwitterCldr).get_resource(:unicode_data, :blocks) { [[:klingon, 122..307], [:hirogen, 1337..2200]] }
222
- expect(CodePoint.send(:get_block, 200)).to eq([:klingon, 122..307])
223
- expect(CodePoint.send(:get_block, 2199)).to eq([:hirogen, 1337..2200])
224
- expect(CodePoint.send(:get_block, 100)).to be_nil
225
- end
226
- end
227
-
228
- describe "#get_range_start" do
229
- it "returns the data for a non-explicit range" do
230
- block_data = { 0x1337 => [0x1337, "<CJK Ideograph Extension A, First>"] }
231
- expect(CodePoint.send(:get_range_start, 0xABC, block_data)).to eq([0xABC, "<CJK Ideograph Extension A>"])
232
- end
233
-
234
- it "returns nil if the block data doesn't contain a non-explicit range" do
235
- block_data = { 0x1337 => [0x1337, "<CJK Ideograph Extension A>"] }
236
- expect(CodePoint.send(:get_range_start, 0xABC, block_data)).to eq(nil)
237
- end
238
- end
239
- end
140
+ end
@@ -25,10 +25,10 @@ describe Currencies do
25
25
  data = Currencies.for_code("PEN")
26
26
  expect(data).to be_a(Hash)
27
27
  expect(data).to include(
28
- :name => "Peruvian nuevo sol",
29
- :currency => :PEN,
30
- :symbol => "S/.",
31
- :cldr_symbol => "PEN"
28
+ name: "Peruvian nuevo sol",
29
+ currency: :PEN,
30
+ symbol: "S/.",
31
+ cldr_symbol: "PEN"
32
32
  )
33
33
  end
34
34
 
@@ -36,10 +36,10 @@ describe Currencies do
36
36
  data = Currencies.for_code("CAD")
37
37
  expect(data).to be_a(Hash)
38
38
  expect(data).to include(
39
- :name => "Canadian dollar",
40
- :currency => :CAD,
41
- :symbol => "$",
42
- :cldr_symbol => "CA$"
39
+ name: "Canadian dollar",
40
+ currency: :CAD,
41
+ symbol: "$",
42
+ cldr_symbol: "CA$"
43
43
  )
44
44
  end
45
45
 
@@ -58,24 +58,24 @@ describe LanguageCodes do
58
58
 
59
59
  describe '#convert' do
60
60
  it 'converts codes between different standards' do
61
- expect(LanguageCodes.convert(:Spanish, :from => :name, :to => :bcp_47 )).to eq(:es)
62
- expect(LanguageCodes.convert(:es, :from => :bcp_47, :to => :iso_639_1)).to eq(:es)
63
- expect(LanguageCodes.convert(:es, :from => :iso_639_1, :to => :iso_639_2)).to eq(:spa)
64
- expect(LanguageCodes.convert(:spa, :from => :iso_639_2, :to => :iso_639_3)).to eq(:spa)
65
- expect(LanguageCodes.convert(:spa, :from => :iso_639_3, :to => :name )).to eq(:Spanish)
61
+ expect(LanguageCodes.convert(:Spanish, from: :name, to: :bcp_47 )).to eq(:es)
62
+ expect(LanguageCodes.convert(:es, from: :bcp_47, to: :iso_639_1)).to eq(:es)
63
+ expect(LanguageCodes.convert(:es, from: :iso_639_1, to: :iso_639_2)).to eq(:spa)
64
+ expect(LanguageCodes.convert(:spa, from: :iso_639_2, to: :iso_639_3)).to eq(:spa)
65
+ expect(LanguageCodes.convert(:spa, from: :iso_639_3, to: :name )).to eq(:Spanish)
66
66
  end
67
67
 
68
68
  it 'converts from terminology iso_639_2 codes' do
69
- expect(LanguageCodes.convert(:hye, :from => :iso_639_2, :to => :bcp_47)).to eq(:hy)
69
+ expect(LanguageCodes.convert(:hye, from: :iso_639_2, to: :bcp_47)).to eq(:hy)
70
70
  end
71
71
 
72
72
  it 'converts from alternative bcp_47 codes' do
73
- expect(LanguageCodes.convert('ar-adf', :from => :bcp_47, :to => :iso_639_3)).to eq(:adf)
73
+ expect(LanguageCodes.convert('ar-adf', from: :bcp_47, to: :iso_639_3)).to eq(:adf)
74
74
  end
75
75
 
76
76
  it 'returns nil if conversion data is missing' do
77
- expect(LanguageCodes.convert(:bsq, :from => :bcp_47, :to => :iso_639_1)).to be_nil
78
- expect(LanguageCodes.convert(:FooBar, :from => :name, :to => :iso_639_1)).to be_nil
77
+ expect(LanguageCodes.convert(:bsq, from: :bcp_47, to: :iso_639_1)).to be_nil
78
+ expect(LanguageCodes.convert(:FooBar, from: :name, to: :iso_639_1)).to be_nil
79
79
  end
80
80
 
81
81
  it 'accepts strings' do
@@ -83,16 +83,16 @@ describe LanguageCodes do
83
83
  end
84
84
 
85
85
  it 'raises exception if :from or :to options are missing' do
86
- [[:es, { :to => :bcp_47 }], [:es, { :from => :bcp_47 }], [:es]].each do |args|
86
+ [[:es, { to: :bcp_47 }], [:es, { from: :bcp_47 }], [:es]].each do |args|
87
87
  expect { LanguageCodes.convert(*args) }.to raise_exception(ArgumentError, "options :from and :to are required")
88
88
  end
89
89
  end
90
90
 
91
91
  it 'raises exception if :from or :to have invalid values' do
92
92
  [
93
- [:es, { :from => :foobar, :to => :bcp_47 }],
94
- [:es, { :from => :bcp_47, :to => :foobar }],
95
- [:es, { :from => :foobar, :to => :foobar }]
93
+ [:es, { from: :foobar, to: :bcp_47 }],
94
+ [:es, { from: :bcp_47, to: :foobar }],
95
+ [:es, { from: :foobar, to: :foobar }]
96
96
  ].each do |args|
97
97
  expect { LanguageCodes.convert(*args) }.to raise_exception(ArgumentError, ':foobar is not a valid standard name')
98
98
  end
@@ -0,0 +1,58 @@
1
+ # encoding: UTF-8
2
+
3
+ # Copyright 2012 Twitter, Inc
4
+ # http://www.apache.org/licenses/LICENSE-2.0
5
+
6
+ require 'spec_helper'
7
+
8
+ include TwitterCldr::Shared
9
+
10
+ describe LikelySubtags do
11
+ def verify_subtags(locale, language, script, region)
12
+ expect(locale.language).to eq(language)
13
+ expect(locale.script).to eq(script)
14
+ expect(locale.region).to eq(region)
15
+ end
16
+
17
+ describe '.locale_for' do
18
+ it 'adds subtags when only the language is given' do
19
+ locale = LikelySubtags.locale_for('es')
20
+ verify_subtags(locale, 'es', 'Latn', 'ES')
21
+ end
22
+
23
+ it 'adds region subtag when only the language and script are given' do
24
+ locale = LikelySubtags.locale_for('sd')
25
+ verify_subtags(locale, 'sd', 'Arab', 'PK')
26
+
27
+ locale = LikelySubtags.locale_for('sd-Deva')
28
+ verify_subtags(locale, 'sd', 'Deva', 'IN')
29
+ end
30
+
31
+ it 'adds script subtag when only the language and region are given' do
32
+ locale = LikelySubtags.locale_for('ky')
33
+ verify_subtags(locale, 'ky', 'Cyrl', 'KG')
34
+
35
+ locale = LikelySubtags.locale_for('ky-TR')
36
+ verify_subtags(locale, 'ky', 'Latn', 'TR')
37
+ end
38
+
39
+ it 'corrects invalid (i.e. missing) subtags' do
40
+ locale = LikelySubtags.locale_for('en-foo-bar')
41
+ verify_subtags(locale, 'en', 'Latn', 'US')
42
+ end
43
+
44
+ it "doesn't add subtags when the language, script, and region are correct" do
45
+ locale = LikelySubtags.locale_for('en-latn-us')
46
+ verify_subtags(locale, 'en', 'Latn', 'US')
47
+ end
48
+
49
+ it "raises an error if the subtags can't be identified" do
50
+ locale = Locale.new('xz')
51
+
52
+ # bypass the Locale.parse in LikelySubtags.for_locale
53
+ expect { LikelySubtags.send(:lookup, locale) }.to(
54
+ raise_error(UnrecognizedSubtagsError)
55
+ )
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,211 @@
1
+ # encoding: UTF-8
2
+
3
+ # Copyright 2012 Twitter, Inc
4
+ # http://www.apache.org/licenses/LICENSE-2.0
5
+
6
+ require 'spec_helper'
7
+
8
+ include TwitterCldr::Shared
9
+
10
+ describe Locale do
11
+ describe '.split' do
12
+ it 'splits by dashes' do
13
+ expect(Locale.split('pt-BR')).to eq(%w[pt BR])
14
+ end
15
+
16
+ it 'splits by underscores' do
17
+ expect(Locale.split('pt_BR')).to eq(%w[pt BR])
18
+ end
19
+
20
+ it 'splits by spaces' do
21
+ expect(Locale.split('pt BR')).to eq(%w[pt BR])
22
+ end
23
+
24
+ it 'splits by a combination of dashes, underscores, and spaces' do
25
+ expect(Locale.split('pt-Latn_BR FOO')).to eq(%w[pt Latn BR FOO])
26
+ end
27
+ end
28
+
29
+ describe '.parse' do
30
+ it 'correctly identifies language only' do
31
+ locale = Locale.parse('pt')
32
+ expect(locale.language).to eq('pt')
33
+ end
34
+
35
+ it 'correctly identifies language and region' do
36
+ locale = Locale.parse('pt-br')
37
+ expect(locale.language).to eq('pt')
38
+ expect(locale.region).to eq('BR')
39
+ end
40
+
41
+ it 'correctly identifies language and script' do
42
+ locale = Locale.parse('pt-latn')
43
+ expect(locale.language).to eq('pt')
44
+ expect(locale.script).to eq('Latn')
45
+ end
46
+
47
+ it 'correctly identifies language, script, and region' do
48
+ locale = Locale.parse('pt-latn-br')
49
+ expect(locale.language).to eq('pt')
50
+ expect(locale.script).to eq('Latn')
51
+ expect(locale.region).to eq('BR')
52
+ end
53
+
54
+ it 'correctly identifies variants' do
55
+ locale = Locale.parse('pt-fonipa')
56
+ expect(locale.language).to eq('pt')
57
+ expect(locale.variants).to eq(%w[FONIPA])
58
+ end
59
+
60
+ it 'correctly identifies language, script, region, and variants' do
61
+ locale = Locale.parse('pt-latn-br-fonipa')
62
+ expect(locale.language).to eq('pt')
63
+ expect(locale.script).to eq('Latn')
64
+ expect(locale.region).to eq('BR')
65
+ expect(locale.variants).to eq(%w[FONIPA])
66
+ end
67
+
68
+ it "sets the region to nil if it can't be identified" do
69
+ locale = Locale.parse('pt-$@')
70
+ expect(locale.language).to eq('pt')
71
+ expect(locale.region).to be_nil
72
+ end
73
+
74
+ it "sets the script to nil if it can't be identified" do
75
+ locale = Locale.parse('pt-$@-br')
76
+ expect(locale.language).to eq('pt')
77
+ expect(locale.region).to eq('BR')
78
+ expect(locale.script).to be_nil
79
+ end
80
+
81
+ it 'replaces deprecated language subtags' do
82
+ locale = Locale.parse('por')
83
+ expect(locale.language).to eq('pt')
84
+ end
85
+
86
+ it 'replaces deprecated region/territory subtags' do
87
+ locale = Locale.parse('pt-bra')
88
+ expect(locale.region).to eq('BR')
89
+ end
90
+
91
+ it 'does not modify grandfathered locales' do
92
+ locale = Locale.parse('i-navajo')
93
+ expect(locale.language).to eq('i-navajo')
94
+ end
95
+
96
+ it 'removes script placeholder subtags' do
97
+ locale = Locale.parse('zh-zzzz-sg')
98
+ expect(locale.script).to be_nil
99
+ end
100
+
101
+ it 'removes region placeholder subtags' do
102
+ locale = Locale.parse('zh-hans-zz')
103
+ expect(locale.region).to be_nil
104
+ end
105
+
106
+ it "sets language to 'und' if it can't be identified" do
107
+ locale = Locale.parse('$@')
108
+ expect(locale.language).to eq('und')
109
+ end
110
+ end
111
+
112
+ describe '.valid?' do
113
+ it 'returns true if all subtags are valid' do
114
+ expect(Locale.valid?('en')).to be_true
115
+ expect(Locale.valid?('en-latn')).to be_true
116
+ expect(Locale.valid?('en-latn-us')).to be_true
117
+ expect(Locale.valid?('en-latn-us-fonipa')).to be_true
118
+ end
119
+
120
+ it 'returns false if any subtag is invalid' do
121
+ expect(Locale.valid?('xz')).to be_false
122
+ expect(Locale.valid?('en-fooo')).to be_false
123
+ expect(Locale.valid?('en-latn-XZ')).to be_false
124
+ expect(Locale.valid?('en-latn-us-foooo')).to be_false
125
+ end
126
+ end
127
+
128
+ describe '.grandfathered?' do
129
+ it 'returns true if the given locale is considered "grandfathered"' do
130
+ expect(Locale.grandfathered?('i-navajo')).to be_true
131
+ end
132
+
133
+ it 'returns false if the given locale is not considered "grandfathered"' do
134
+ expect(Locale.grandfathered?('en-latn-us')).to be_false
135
+ end
136
+ end
137
+
138
+ # see likely_subtags_spec.rb for the complete likely subtags test suite
139
+ describe '.parse_likely' do
140
+ it 'returns a Locale instance' do
141
+ locale = Locale.parse_likely('zh')
142
+ expect(locale).to be_a(Locale)
143
+ end
144
+
145
+ it 'does not find subtags for grandfathered locales' do
146
+ locale = Locale.parse_likely('i-navajo')
147
+ expect(locale.language).to eq('i-navajo')
148
+ end
149
+ end
150
+
151
+ context 'with a locale instance' do
152
+ let(:locale) { Locale.new('ko', nil, 'KR') }
153
+
154
+ describe '#full_script' do
155
+ it 'calculates the long name of the script using Unicode property data' do
156
+ locale = Locale.new('ru_RU').maximize
157
+ expect(locale.script).to eq('Cyrl')
158
+ expect(locale.full_script).to eq('Cyrillic')
159
+ end
160
+
161
+ it 'returns the abbreviated name if no long name can be found in property data' do
162
+ max_locale = locale.maximize
163
+ expect(max_locale.script).to eq('Kore')
164
+ expect(max_locale.full_script).to eq('Kore')
165
+ end
166
+ end
167
+
168
+ # see likely_subtags_spec.rb for the complete likely subtags test suite
169
+ describe '#maximize' do
170
+ it 'returns a Locale instance' do
171
+ expect(locale.maximize).to be_a(Locale)
172
+ end
173
+
174
+ it 'does not modify grandfathered locales' do
175
+ locale = Locale.new('i-navajo').maximize
176
+ expect(locale.language).to eq('i-navajo')
177
+ end
178
+ end
179
+
180
+ describe '#dasherized' do
181
+ it 'adds dashes between the subtags' do
182
+ expect(locale.dasherized).to eq('ko-KR')
183
+ end
184
+ end
185
+
186
+ describe '#join' do
187
+ it 'adds a default underscore separator between the subtags' do
188
+ expect(locale.join).to eq('ko_KR')
189
+
190
+ # method aliases
191
+ expect(locale.underscored).to eq('ko_KR')
192
+ expect(locale.to_s).to eq('ko_KR')
193
+ end
194
+
195
+ it 'adds the given separator between the subtags' do
196
+ expect(locale.join('|')).to eq('ko|KR')
197
+ end
198
+ end
199
+
200
+ def to_a
201
+ it 'returns an array with all the subtags' do
202
+ expect(locale.to_a).to eq(%w[ko KR])
203
+ end
204
+
205
+ it 'includes variants if they are present' do
206
+ locale.variants << 'FONIPA'
207
+ expect(locale.to_a).to eq(%w[ko KR FONIPA])
208
+ end
209
+ end
210
+ end
211
+ end
@@ -9,21 +9,21 @@ include TwitterCldr::Shared
9
9
 
10
10
  describe Numbers do
11
11
  describe "#symbols" do
12
- let(:symbols) { { :nan => 'NaN', :minus_sign => '-' } }
12
+ let(:symbols) { { nan: 'NaN', minus_sign: '-' } }
13
13
 
14
14
  it 'returns numerical symbols for default locale' do
15
15
  stub(TwitterCldr).locale { :jp }
16
- stub(TwitterCldr).get_locale_resource(:jp, :numbers) { { :jp => { :numbers => { :symbols => symbols } } } }
16
+ stub(TwitterCldr).get_locale_resource(:jp, :numbers) { { jp: { numbers: { symbols: symbols } } } }
17
17
  expect(TwitterCldr::Shared::Numbers.symbols).to eq(symbols)
18
18
  end
19
19
 
20
20
  it 'returns numerical symbols for default locale' do
21
- stub(TwitterCldr).get_locale_resource(:np, :numbers) { { :np => { :numbers => { :symbols => symbols } } } }
21
+ stub(TwitterCldr).get_locale_resource(:np, :numbers) { { np: { numbers: { symbols: symbols } } } }
22
22
  expect(TwitterCldr::Shared::Numbers.symbols(:np)).to eq(symbols)
23
23
  end
24
24
 
25
25
  it 'converts locale' do
26
- stub(TwitterCldr).get_locale_resource(:'zh-Hant', :numbers) { { :'zh-Hant' => { :numbers => { :symbols => symbols } } } }
26
+ stub(TwitterCldr).get_locale_resource(:'zh-Hant', :numbers) { { :'zh-Hant' => { numbers: { symbols: symbols } } } }
27
27
  expect(TwitterCldr::Shared::Numbers.symbols('zh-tw')).to eq(symbols)
28
28
  end
29
29