readsight 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. readsight/__init__.py +35 -0
  2. readsight/config.py +22 -0
  3. readsight/data/languages/af.json +31 -0
  4. readsight/data/languages/ar.json +31 -0
  5. readsight/data/languages/as.json +31 -0
  6. readsight/data/languages/be.json +31 -0
  7. readsight/data/languages/bg.json +31 -0
  8. readsight/data/languages/bn.json +31 -0
  9. readsight/data/languages/ca.json +31 -0
  10. readsight/data/languages/cop.json +31 -0
  11. readsight/data/languages/cs.json +31 -0
  12. readsight/data/languages/cu.json +31 -0
  13. readsight/data/languages/cy.json +31 -0
  14. readsight/data/languages/da.json +31 -0
  15. readsight/data/languages/de-1901.json +43 -0
  16. readsight/data/languages/de-1996.json +43 -0
  17. readsight/data/languages/de-ch-1901.json +43 -0
  18. readsight/data/languages/el-monoton.json +31 -0
  19. readsight/data/languages/el-polyton.json +31 -0
  20. readsight/data/languages/en-gb.json +93 -0
  21. readsight/data/languages/en-us.json +117 -0
  22. readsight/data/languages/eo.json +31 -0
  23. readsight/data/languages/es.json +52 -0
  24. readsight/data/languages/et.json +31 -0
  25. readsight/data/languages/eu.json +31 -0
  26. readsight/data/languages/fa.json +31 -0
  27. readsight/data/languages/fi-x-school.json +31 -0
  28. readsight/data/languages/fi.json +31 -0
  29. readsight/data/languages/fr.json +40 -0
  30. readsight/data/languages/fur.json +31 -0
  31. readsight/data/languages/ga.json +31 -0
  32. readsight/data/languages/gl.json +31 -0
  33. readsight/data/languages/grc.json +31 -0
  34. readsight/data/languages/gu.json +31 -0
  35. readsight/data/languages/he.json +31 -0
  36. readsight/data/languages/hi.json +31 -0
  37. readsight/data/languages/hr.json +31 -0
  38. readsight/data/languages/hsb.json +31 -0
  39. readsight/data/languages/hu.json +31 -0
  40. readsight/data/languages/hy.json +31 -0
  41. readsight/data/languages/ia.json +31 -0
  42. readsight/data/languages/id.json +31 -0
  43. readsight/data/languages/is.json +31 -0
  44. readsight/data/languages/it.json +43 -0
  45. readsight/data/languages/ka.json +31 -0
  46. readsight/data/languages/kk.json +31 -0
  47. readsight/data/languages/kmr.json +31 -0
  48. readsight/data/languages/kn.json +31 -0
  49. readsight/data/languages/la-x-classic.json +31 -0
  50. readsight/data/languages/la-x-liturgic.json +31 -0
  51. readsight/data/languages/la.json +31 -0
  52. readsight/data/languages/lt.json +31 -0
  53. readsight/data/languages/lv.json +31 -0
  54. readsight/data/languages/mk.json +31 -0
  55. readsight/data/languages/ml.json +31 -0
  56. readsight/data/languages/mn-cyrl-x-lmc.json +31 -0
  57. readsight/data/languages/mn-cyrl.json +31 -0
  58. readsight/data/languages/mr.json +31 -0
  59. readsight/data/languages/mul-ethi.json +31 -0
  60. readsight/data/languages/nb.json +31 -0
  61. readsight/data/languages/nl.json +40 -0
  62. readsight/data/languages/nn.json +31 -0
  63. readsight/data/languages/oc.json +31 -0
  64. readsight/data/languages/or.json +31 -0
  65. readsight/data/languages/pa.json +31 -0
  66. readsight/data/languages/pi.json +31 -0
  67. readsight/data/languages/pl.json +34 -0
  68. readsight/data/languages/pms.json +31 -0
  69. readsight/data/languages/pt.json +40 -0
  70. readsight/data/languages/rm.json +31 -0
  71. readsight/data/languages/ro.json +31 -0
  72. readsight/data/languages/ru.json +40 -0
  73. readsight/data/languages/sa.json +31 -0
  74. readsight/data/languages/sh-cyrl.json +31 -0
  75. readsight/data/languages/sh-latn.json +31 -0
  76. readsight/data/languages/sk.json +31 -0
  77. readsight/data/languages/sl.json +31 -0
  78. readsight/data/languages/sq.json +31 -0
  79. readsight/data/languages/sr-cyrl.json +31 -0
  80. readsight/data/languages/sv.json +31 -0
  81. readsight/data/languages/ta.json +31 -0
  82. readsight/data/languages/te.json +31 -0
  83. readsight/data/languages/th.json +31 -0
  84. readsight/data/languages/tk.json +31 -0
  85. readsight/data/languages/tr.json +40 -0
  86. readsight/data/languages/uk.json +31 -0
  87. readsight/data/languages/vi.json +31 -0
  88. readsight/data/languages/zh-latn-pinyin.json +31 -0
  89. readsight/data/patterns/hyph-af.tex +10594 -0
  90. readsight/data/patterns/hyph-ar.tex +24 -0
  91. readsight/data/patterns/hyph-as.tex +142 -0
  92. readsight/data/patterns/hyph-be.tex +1630 -0
  93. readsight/data/patterns/hyph-bg.tex +7785 -0
  94. readsight/data/patterns/hyph-bn.tex +142 -0
  95. readsight/data/patterns/hyph-ca.tex +296 -0
  96. readsight/data/patterns/hyph-cop.tex +267 -0
  97. readsight/data/patterns/hyph-cs.tex +3684 -0
  98. readsight/data/patterns/hyph-cu.tex +14727 -0
  99. readsight/data/patterns/hyph-cy.tex +6791 -0
  100. readsight/data/patterns/hyph-da.tex +1202 -0
  101. readsight/data/patterns/hyph-de-1901.tex +36485 -0
  102. readsight/data/patterns/hyph-de-1996.tex +36797 -0
  103. readsight/data/patterns/hyph-de-ch-1901.tex +35926 -0
  104. readsight/data/patterns/hyph-el-monoton.tex +505 -0
  105. readsight/data/patterns/hyph-el-polyton.tex +881 -0
  106. readsight/data/patterns/hyph-en-gb.tex +8615 -0
  107. readsight/data/patterns/hyph-en-us.tex +5018 -0
  108. readsight/data/patterns/hyph-eo.tex +528 -0
  109. readsight/data/patterns/hyph-es.tex +2175 -0
  110. readsight/data/patterns/hyph-et.tex +3754 -0
  111. readsight/data/patterns/hyph-eu.tex +123 -0
  112. readsight/data/patterns/hyph-fa.tex +26 -0
  113. readsight/data/patterns/hyph-fi-x-school.tex +349 -0
  114. readsight/data/patterns/hyph-fi.tex +330 -0
  115. readsight/data/patterns/hyph-fr.tex +1372 -0
  116. readsight/data/patterns/hyph-fur.tex +488 -0
  117. readsight/data/patterns/hyph-ga.tex +6152 -0
  118. readsight/data/patterns/hyph-gl.tex +749 -0
  119. readsight/data/patterns/hyph-grc.tex +2149 -0
  120. readsight/data/patterns/hyph-gu.tex +135 -0
  121. readsight/data/patterns/hyph-he.tex +25 -0
  122. readsight/data/patterns/hyph-hi.tex +139 -0
  123. readsight/data/patterns/hyph-hr.tex +1543 -0
  124. readsight/data/patterns/hyph-hsb.tex +1591 -0
  125. readsight/data/patterns/hyph-hu.tex +62894 -0
  126. readsight/data/patterns/hyph-hy.tex +260 -0
  127. readsight/data/patterns/hyph-ia.tex +686 -0
  128. readsight/data/patterns/hyph-id.tex +101 -0
  129. readsight/data/patterns/hyph-is.tex +4223 -0
  130. readsight/data/patterns/hyph-it.tex +431 -0
  131. readsight/data/patterns/hyph-ka.tex +2145 -0
  132. readsight/data/patterns/hyph-kk.tex +5806 -0
  133. readsight/data/patterns/hyph-kmr.tex +349 -0
  134. readsight/data/patterns/hyph-kn.tex +142 -0
  135. readsight/data/patterns/hyph-la-x-classic.tex +26160 -0
  136. readsight/data/patterns/hyph-la-x-liturgic.tex +2008 -0
  137. readsight/data/patterns/hyph-la.tex +237 -0
  138. readsight/data/patterns/hyph-lt.tex +1618 -0
  139. readsight/data/patterns/hyph-lv.tex +11621 -0
  140. readsight/data/patterns/hyph-mk.tex +759 -0
  141. readsight/data/patterns/hyph-ml.tex +157 -0
  142. readsight/data/patterns/hyph-mn-cyrl-x-lmc.tex +578 -0
  143. readsight/data/patterns/hyph-mn-cyrl.tex +1060 -0
  144. readsight/data/patterns/hyph-mr.tex +139 -0
  145. readsight/data/patterns/hyph-mul-ethi.tex +518 -0
  146. readsight/data/patterns/hyph-nb.tex +50 -0
  147. readsight/data/patterns/hyph-nl.tex +12892 -0
  148. readsight/data/patterns/hyph-nn.tex +48 -0
  149. readsight/data/patterns/hyph-oc.tex +345 -0
  150. readsight/data/patterns/hyph-or.tex +133 -0
  151. readsight/data/patterns/hyph-pa.tex +129 -0
  152. readsight/data/patterns/hyph-pi.tex +140 -0
  153. readsight/data/patterns/hyph-pl.tex +4154 -0
  154. readsight/data/patterns/hyph-pms.tex +434 -0
  155. readsight/data/patterns/hyph-pt.tex +503 -0
  156. readsight/data/patterns/hyph-rm.tex +452 -0
  157. readsight/data/patterns/hyph-ro.tex +688 -0
  158. readsight/data/patterns/hyph-ru.tex +7255 -0
  159. readsight/data/patterns/hyph-sa.tex +899 -0
  160. readsight/data/patterns/hyph-sh-cyrl.tex +2822 -0
  161. readsight/data/patterns/hyph-sh-latn.tex +2839 -0
  162. readsight/data/patterns/hyph-sk.tex +2529 -0
  163. readsight/data/patterns/hyph-sl.tex +1144 -0
  164. readsight/data/patterns/hyph-sq.tex +108 -0
  165. readsight/data/patterns/hyph-sr-cyrl.tex +2724 -0
  166. readsight/data/patterns/hyph-sv.tex +4750 -0
  167. readsight/data/patterns/hyph-ta.tex +140 -0
  168. readsight/data/patterns/hyph-te.tex +141 -0
  169. readsight/data/patterns/hyph-th.tex +4888 -0
  170. readsight/data/patterns/hyph-tk.tex +2423 -0
  171. readsight/data/patterns/hyph-tr.tex +671 -0
  172. readsight/data/patterns/hyph-uk.tex +3661 -0
  173. readsight/data/patterns/hyph-vi.tex +25 -0
  174. readsight/data/patterns/hyph-zh-latn-pinyin.tex +262 -0
  175. readsight/engine.py +260 -0
  176. readsight/exceptions.py +35 -0
  177. readsight/formula/__init__.py +0 -0
  178. readsight/formula/automated_readability_index.py +36 -0
  179. readsight/formula/coleman_liau.py +41 -0
  180. readsight/formula/crawford.py +50 -0
  181. readsight/formula/dale_chall.py +53 -0
  182. readsight/formula/fernandez_huerta.py +49 -0
  183. readsight/formula/flesch_kincaid_grade_level.py +67 -0
  184. readsight/formula/flesch_reading_ease.py +69 -0
  185. readsight/formula/fog_pl.py +51 -0
  186. readsight/formula/formula.py +21 -0
  187. readsight/formula/formula_registry.py +45 -0
  188. readsight/formula/formula_registry_factory.py +44 -0
  189. readsight/formula/formula_result.py +13 -0
  190. readsight/formula/grade_level_interpretation.py +36 -0
  191. readsight/formula/gulpease.py +45 -0
  192. readsight/formula/gunning_fog.py +54 -0
  193. readsight/formula/gutierrez_polini.py +46 -0
  194. readsight/formula/lix.py +62 -0
  195. readsight/formula/osman.py +52 -0
  196. readsight/formula/smog_index.py +36 -0
  197. readsight/formula/spache.py +47 -0
  198. readsight/formula/szigriszt_pazos.py +54 -0
  199. readsight/formula/text_statistics_helper.py +18 -0
  200. readsight/formula/wiener_sachtextformel.py +93 -0
  201. readsight/hyphenation/__init__.py +0 -0
  202. readsight/hyphenation/cache/__init__.py +0 -0
  203. readsight/hyphenation/cache/json_pattern_cache.py +87 -0
  204. readsight/hyphenation/cache/pattern_cache.py +25 -0
  205. readsight/hyphenation/hyphenation_exceptions_collection.py +26 -0
  206. readsight/hyphenation/hyphenation_override.py +9 -0
  207. readsight/hyphenation/hyphenator.py +13 -0
  208. readsight/hyphenation/liang_hyphenator.py +124 -0
  209. readsight/hyphenation/pattern.py +15 -0
  210. readsight/hyphenation/patterns_collection.py +31 -0
  211. readsight/hyphenation/source/__init__.py +0 -0
  212. readsight/hyphenation/source/pattern_source.py +9 -0
  213. readsight/hyphenation/source/tex_source.py +123 -0
  214. readsight/language/__init__.py +0 -0
  215. readsight/language/json_language_repository.py +44 -0
  216. readsight/language/language.py +48 -0
  217. readsight/language/language_code.py +30 -0
  218. readsight/language/language_repository.py +19 -0
  219. readsight/language/script.py +27 -0
  220. readsight/syllable/__init__.py +0 -0
  221. readsight/syllable/composite_syllable_counter.py +31 -0
  222. readsight/syllable/heuristic_syllable_counter.py +110 -0
  223. readsight/syllable/syllable_counter.py +13 -0
  224. readsight/syllable/tex_syllable_counter.py +15 -0
  225. readsight/text/__init__.py +0 -0
  226. readsight/text/text_analyzer.py +142 -0
  227. readsight/text/text_splitter.py +59 -0
  228. readsight/text/text_statistics.py +16 -0
  229. readsight-1.0.0.dist-info/METADATA +339 -0
  230. readsight-1.0.0.dist-info/RECORD +233 -0
  231. readsight-1.0.0.dist-info/WHEEL +5 -0
  232. readsight-1.0.0.dist-info/licenses/LICENSE +21 -0
  233. readsight-1.0.0.dist-info/top_level.txt +1 -0
readsight/__init__.py ADDED
@@ -0,0 +1,35 @@
1
+ """
2
+ ReadSight - Multilingual Readability Library for Python.
3
+
4
+ 86 languages, 17 readability formulas, TeX-based syllable counting
5
+ via the Frank M. Liang hyphenation algorithm.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ from .config import Config
11
+ from .engine import ReadSight
12
+ from .exceptions import (
13
+ EmptyTextException,
14
+ ReadabilityEngineException,
15
+ UnsupportedFormulaException,
16
+ UnsupportedLanguageException,
17
+ )
18
+ from .formula.formula_result import FormulaResult
19
+ from .language.language import Language
20
+ from .language.script import Script
21
+ from .text.text_statistics import TextStatistics
22
+
23
+ __version__ = "1.0.0"
24
+ __all__ = [
25
+ "Config",
26
+ "EmptyTextException",
27
+ "FormulaResult",
28
+ "Language",
29
+ "ReadSight",
30
+ "ReadabilityEngineException",
31
+ "Script",
32
+ "TextStatistics",
33
+ "UnsupportedFormulaException",
34
+ "UnsupportedLanguageException",
35
+ ]
readsight/config.py ADDED
@@ -0,0 +1,22 @@
1
+ from __future__ import annotations
2
+
3
+ from dataclasses import dataclass
4
+ from pathlib import Path
5
+
6
+
7
+ @dataclass(frozen=True, slots=True)
8
+ class Config:
9
+ patterns_dir: str
10
+ languages_dir: str
11
+ cache_dir: str
12
+
13
+ @classmethod
14
+ def default(cls) -> Config:
15
+ import platformdirs
16
+
17
+ pkg_dir = Path(__file__).resolve().parent
18
+ return cls(
19
+ patterns_dir=str(pkg_dir / "data" / "patterns"),
20
+ languages_dir=str(pkg_dir / "data" / "languages"),
21
+ cache_dir=str(Path(platformdirs.user_cache_dir("readsight", ensure_exists=True))),
22
+ )
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "af",
3
+ "name": "Afrikaans",
4
+ "nativeName": "Afrikaans",
5
+ "script": "Latin",
6
+ "hyphenMins": {
7
+ "left": 1,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[A-Za-zÀ-ÖØ-öø-ÿĀ-žƀ-ɏḀ-ỿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "ar",
3
+ "name": "Arabic",
4
+ "nativeName": "العربية",
5
+ "script": "Arabic",
6
+ "hyphenMins": {
7
+ "left": 0,
8
+ "right": 0
9
+ },
10
+ "letterPattern": "[؀-ۿ]",
11
+ "wordSplitPattern": "[^\\p{L}]+",
12
+ "sentenceBoundaryPattern": "[.!?۔]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 5
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "as",
3
+ "name": "Assamese",
4
+ "nativeName": "অসমীয়া",
5
+ "script": "Other",
6
+ "hyphenMins": {
7
+ "left": 1,
8
+ "right": 1
9
+ },
10
+ "letterPattern": "\\p{L}",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "be",
3
+ "name": "Belarusian",
4
+ "nativeName": "Беларуская",
5
+ "script": "Cyrillic",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[А-Яа-яЁёҐ-ӿЀ-ӿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?…]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "bg",
3
+ "name": "Bulgarian",
4
+ "nativeName": "Български",
5
+ "script": "Cyrillic",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[А-Яа-яЁёҐ-ӿЀ-ӿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?…]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "bn",
3
+ "name": "Bengali",
4
+ "nativeName": "বাংলা",
5
+ "script": "Bengali",
6
+ "hyphenMins": {
7
+ "left": 1,
8
+ "right": 1
9
+ },
10
+ "letterPattern": "[ঀ-৿]",
11
+ "wordSplitPattern": "[^\\p{L}]+",
12
+ "sentenceBoundaryPattern": "[।.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "ca",
3
+ "name": "Catalan",
4
+ "nativeName": "Català",
5
+ "script": "Latin",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[A-Za-zÀ-ÖØ-öø-ÿĀ-žƀ-ɏḀ-ỿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "cop",
3
+ "name": "Coptic",
4
+ "nativeName": "ϯⲙⲉⲧⲣⲉⲙⲛⲭⲏⲙⲓ",
5
+ "script": "Coptic",
6
+ "hyphenMins": {
7
+ "left": 1,
8
+ "right": 1
9
+ },
10
+ "letterPattern": "[Ⲁ-⳿]",
11
+ "wordSplitPattern": "[^\\p{L}]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "cs",
3
+ "name": "Czech",
4
+ "nativeName": "Čeština",
5
+ "script": "Latin",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 3
9
+ },
10
+ "letterPattern": "[A-Za-zÀ-ÖØ-öø-ÿĀ-žƀ-ɏḀ-ỿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "cu",
3
+ "name": "Church Slavonic",
4
+ "nativeName": "ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ",
5
+ "script": "Cyrillic",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[А-Яа-яЁёҐ-ӿЀ-ӿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?…]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "cy",
3
+ "name": "Welsh",
4
+ "nativeName": "Cymraeg",
5
+ "script": "Latin",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 3
9
+ },
10
+ "letterPattern": "[A-Za-zÀ-ÖØ-öø-ÿĀ-žƀ-ɏḀ-ỿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "da",
3
+ "name": "Danish",
4
+ "nativeName": "Dansk",
5
+ "script": "Latin",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[A-Za-zÀ-ÖØ-öø-ÿĀ-žƀ-ɏḀ-ỿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "code": "de-1901",
3
+ "name": "German (traditional)",
4
+ "nativeName": "Deutsch (traditionell)",
5
+ "script": "Latin",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[A-Za-zÀ-ÖØ-öø-ÿĀ-žƀ-ɏḀ-ỿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ },
30
+ "flesch_reading_ease": {
31
+ "enabled": true,
32
+ "base": 180,
33
+ "aslMult": 1,
34
+ "aswMult": 58.5
35
+ },
36
+ "flesch_kincaid_grade_level": {
37
+ "enabled": true
38
+ },
39
+ "wiener_sachtextformel": {
40
+ "enabled": true
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "code": "de-1996",
3
+ "name": "German (reformed)",
4
+ "nativeName": "Deutsch (reformiert)",
5
+ "script": "Latin",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[A-Za-zÀ-ÖØ-öø-ÿĀ-žƀ-ɏḀ-ỿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ },
30
+ "flesch_reading_ease": {
31
+ "enabled": true,
32
+ "base": 180,
33
+ "aslMult": 1,
34
+ "aswMult": 58.5
35
+ },
36
+ "flesch_kincaid_grade_level": {
37
+ "enabled": true
38
+ },
39
+ "wiener_sachtextformel": {
40
+ "enabled": true
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "code": "de-ch-1901",
3
+ "name": "German (Swiss traditional)",
4
+ "nativeName": "Deutsch (Schweiz, traditionell)",
5
+ "script": "Latin",
6
+ "hyphenMins": {
7
+ "left": 2,
8
+ "right": 2
9
+ },
10
+ "letterPattern": "[A-Za-zÀ-ÖØ-öø-ÿĀ-žƀ-ɏḀ-ỿ]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ },
30
+ "flesch_reading_ease": {
31
+ "enabled": true,
32
+ "base": 180,
33
+ "aslMult": 1,
34
+ "aswMult": 58.5
35
+ },
36
+ "flesch_kincaid_grade_level": {
37
+ "enabled": true
38
+ },
39
+ "wiener_sachtextformel": {
40
+ "enabled": true
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "el-monoton",
3
+ "name": "Modern Greek (monotonic)",
4
+ "nativeName": "Νέα Ελληνικά (μονοτονικό)",
5
+ "script": "Greek",
6
+ "hyphenMins": {
7
+ "left": 1,
8
+ "right": 1
9
+ },
10
+ "letterPattern": "[Α-Ωα-ωἀ-῾]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?;]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "code": "el-polyton",
3
+ "name": "Modern Greek (polytonic)",
4
+ "nativeName": "Νέα Ελληνικά (πολυτονικό)",
5
+ "script": "Greek",
6
+ "hyphenMins": {
7
+ "left": 1,
8
+ "right": 1
9
+ },
10
+ "letterPattern": "[Α-Ωα-ωἀ-῾]",
11
+ "wordSplitPattern": "[^\\p{L}'’-]+",
12
+ "sentenceBoundaryPattern": "[.!?;]+",
13
+ "formulas": {
14
+ "gunning_fog": {
15
+ "enabled": true
16
+ },
17
+ "smog": {
18
+ "enabled": true
19
+ },
20
+ "coleman_liau": {
21
+ "enabled": true
22
+ },
23
+ "ari": {
24
+ "enabled": true
25
+ },
26
+ "lix": {
27
+ "enabled": true,
28
+ "longWordThreshold": 6
29
+ }
30
+ }
31
+ }