cchardet 0.2.0

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 (317) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.gitmodules +3 -0
  4. data/.rubocop.yml +11 -0
  5. data/CHANGELOG.md +5 -0
  6. data/Gemfile +10 -0
  7. data/README.md +35 -0
  8. data/Rakefile +15 -0
  9. data/cchardet.gemspec +30 -0
  10. data/ext/cchardet/extconf.rb +26 -0
  11. data/ext/uchardet/.gitignore +1 -0
  12. data/ext/uchardet/.gitlab-ci.yml +106 -0
  13. data/ext/uchardet/AUTHORS +16 -0
  14. data/ext/uchardet/CMakeLists.txt +74 -0
  15. data/ext/uchardet/COPYING +1316 -0
  16. data/ext/uchardet/INSTALL +26 -0
  17. data/ext/uchardet/README.md +295 -0
  18. data/ext/uchardet/build-mac/uchardet.cpp +7 -0
  19. data/ext/uchardet/build-mac/uchardet.xcodeproj/project.pbxproj +543 -0
  20. data/ext/uchardet/build-mac/uchardet.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  21. data/ext/uchardet/build-mac/uchardet.xcodeproj/project.xcworkspace/xcshareddata/uchardet.xccheckout +41 -0
  22. data/ext/uchardet/build-mac/uchardet.xcodeproj/xcshareddata/xcschemes/uchardet-ios.xcscheme +77 -0
  23. data/ext/uchardet/build-mac/uchardet.xcodeproj/xcshareddata/xcschemes/uchardet.xcscheme +77 -0
  24. data/ext/uchardet/doc/CMakeLists.txt +6 -0
  25. data/ext/uchardet/doc/README.maintainer +59 -0
  26. data/ext/uchardet/doc/uchardet.1 +18 -0
  27. data/ext/uchardet/script/BuildLangModel.py +533 -0
  28. data/ext/uchardet/script/BuildLangModelLogs/LangArabicModel.log +142 -0
  29. data/ext/uchardet/script/BuildLangModelLogs/LangCroatianModel.log +157 -0
  30. data/ext/uchardet/script/BuildLangModelLogs/LangCzechModel.log +161 -0
  31. data/ext/uchardet/script/BuildLangModelLogs/LangDanishModel.log +158 -0
  32. data/ext/uchardet/script/BuildLangModelLogs/LangEsperantoModel.log +110 -0
  33. data/ext/uchardet/script/BuildLangModelLogs/LangEstonianModel.log +159 -0
  34. data/ext/uchardet/script/BuildLangModelLogs/LangFinnishModel.log +156 -0
  35. data/ext/uchardet/script/BuildLangModelLogs/LangFrenchModel.log +116 -0
  36. data/ext/uchardet/script/BuildLangModelLogs/LangGermanModel.log +159 -0
  37. data/ext/uchardet/script/BuildLangModelLogs/LangGreekModel.log +272 -0
  38. data/ext/uchardet/script/BuildLangModelLogs/LangHungarianModel.log +109 -0
  39. data/ext/uchardet/script/BuildLangModelLogs/LangIrishModel.log +156 -0
  40. data/ext/uchardet/script/BuildLangModelLogs/LangItalianModel.log +162 -0
  41. data/ext/uchardet/script/BuildLangModelLogs/LangLatvianModel.log +162 -0
  42. data/ext/uchardet/script/BuildLangModelLogs/LangLithuanianModel.log +162 -0
  43. data/ext/uchardet/script/BuildLangModelLogs/LangMalteseModel.log +147 -0
  44. data/ext/uchardet/script/BuildLangModelLogs/LangPolishModel.log +154 -0
  45. data/ext/uchardet/script/BuildLangModelLogs/LangPortugueseModel.log +166 -0
  46. data/ext/uchardet/script/BuildLangModelLogs/LangRomanianModel.log +153 -0
  47. data/ext/uchardet/script/BuildLangModelLogs/LangSlovakModel.log +158 -0
  48. data/ext/uchardet/script/BuildLangModelLogs/LangSloveneModel.log +148 -0
  49. data/ext/uchardet/script/BuildLangModelLogs/LangSpanishModel.log +109 -0
  50. data/ext/uchardet/script/BuildLangModelLogs/LangSwedishModel.log +151 -0
  51. data/ext/uchardet/script/BuildLangModelLogs/LangThaiModel.log +141 -0
  52. data/ext/uchardet/script/BuildLangModelLogs/LangTurkishModel.log +113 -0
  53. data/ext/uchardet/script/BuildLangModelLogs/LangVietnameseModel.log +121 -0
  54. data/ext/uchardet/script/README +63 -0
  55. data/ext/uchardet/script/charsets/codepoints.py +53 -0
  56. data/ext/uchardet/script/charsets/db.py +73 -0
  57. data/ext/uchardet/script/charsets/ibm852.py +72 -0
  58. data/ext/uchardet/script/charsets/iso-8859-1.py +85 -0
  59. data/ext/uchardet/script/charsets/iso-8859-10.py +73 -0
  60. data/ext/uchardet/script/charsets/iso-8859-11.py +77 -0
  61. data/ext/uchardet/script/charsets/iso-8859-13.py +72 -0
  62. data/ext/uchardet/script/charsets/iso-8859-15.py +80 -0
  63. data/ext/uchardet/script/charsets/iso-8859-16.py +83 -0
  64. data/ext/uchardet/script/charsets/iso-8859-2.py +73 -0
  65. data/ext/uchardet/script/charsets/iso-8859-3.py +75 -0
  66. data/ext/uchardet/script/charsets/iso-8859-4.py +73 -0
  67. data/ext/uchardet/script/charsets/iso-8859-6.py +73 -0
  68. data/ext/uchardet/script/charsets/iso-8859-7.py +73 -0
  69. data/ext/uchardet/script/charsets/iso-8859-9.py +76 -0
  70. data/ext/uchardet/script/charsets/mac-centraleurope.py +72 -0
  71. data/ext/uchardet/script/charsets/tis-620.py +77 -0
  72. data/ext/uchardet/script/charsets/viscii.py +72 -0
  73. data/ext/uchardet/script/charsets/windows-1250.py +75 -0
  74. data/ext/uchardet/script/charsets/windows-1252.py +76 -0
  75. data/ext/uchardet/script/charsets/windows-1253.py +72 -0
  76. data/ext/uchardet/script/charsets/windows-1256.py +75 -0
  77. data/ext/uchardet/script/charsets/windows-1257.py +72 -0
  78. data/ext/uchardet/script/charsets/windows-1258.py +72 -0
  79. data/ext/uchardet/script/debug.sh +9 -0
  80. data/ext/uchardet/script/header-template.cpp +38 -0
  81. data/ext/uchardet/script/langs/ar.py +59 -0
  82. data/ext/uchardet/script/langs/cs.py +80 -0
  83. data/ext/uchardet/script/langs/da.py +69 -0
  84. data/ext/uchardet/script/langs/de.py +69 -0
  85. data/ext/uchardet/script/langs/el.py +55 -0
  86. data/ext/uchardet/script/langs/eo.py +67 -0
  87. data/ext/uchardet/script/langs/es.py +69 -0
  88. data/ext/uchardet/script/langs/et.py +57 -0
  89. data/ext/uchardet/script/langs/fi.py +60 -0
  90. data/ext/uchardet/script/langs/fr.py +79 -0
  91. data/ext/uchardet/script/langs/ga.py +60 -0
  92. data/ext/uchardet/script/langs/hr.py +59 -0
  93. data/ext/uchardet/script/langs/hu.py +66 -0
  94. data/ext/uchardet/script/langs/it.py +56 -0
  95. data/ext/uchardet/script/langs/lt.py +70 -0
  96. data/ext/uchardet/script/langs/lv.py +69 -0
  97. data/ext/uchardet/script/langs/mt.py +80 -0
  98. data/ext/uchardet/script/langs/pl.py +81 -0
  99. data/ext/uchardet/script/langs/pt.py +80 -0
  100. data/ext/uchardet/script/langs/ro.py +65 -0
  101. data/ext/uchardet/script/langs/sk.py +80 -0
  102. data/ext/uchardet/script/langs/sl.py +59 -0
  103. data/ext/uchardet/script/langs/sv.py +56 -0
  104. data/ext/uchardet/script/langs/th.py +55 -0
  105. data/ext/uchardet/script/langs/tr.py +67 -0
  106. data/ext/uchardet/script/langs/vi.py +64 -0
  107. data/ext/uchardet/script/release.sh +8 -0
  108. data/ext/uchardet/script/win32.sh +7 -0
  109. data/ext/uchardet/src/Big5Freq.tab +943 -0
  110. data/ext/uchardet/src/CMakeLists.txt +160 -0
  111. data/ext/uchardet/src/CharDistribution.cpp +109 -0
  112. data/ext/uchardet/src/CharDistribution.h +242 -0
  113. data/ext/uchardet/src/EUCKRFreq.tab +614 -0
  114. data/ext/uchardet/src/EUCTWFreq.tab +447 -0
  115. data/ext/uchardet/src/GB2312Freq.tab +491 -0
  116. data/ext/uchardet/src/JISFreq.tab +589 -0
  117. data/ext/uchardet/src/JpCntx.cpp +230 -0
  118. data/ext/uchardet/src/JpCntx.h +140 -0
  119. data/ext/uchardet/src/LangModels/LangArabicModel.cpp +267 -0
  120. data/ext/uchardet/src/LangModels/LangBulgarianModel.cpp +249 -0
  121. data/ext/uchardet/src/LangModels/LangCroatianModel.cpp +298 -0
  122. data/ext/uchardet/src/LangModels/LangCzechModel.cpp +285 -0
  123. data/ext/uchardet/src/LangModels/LangDanishModel.cpp +201 -0
  124. data/ext/uchardet/src/LangModels/LangEsperantoModel.cpp +142 -0
  125. data/ext/uchardet/src/LangModels/LangEstonianModel.cpp +268 -0
  126. data/ext/uchardet/src/LangModels/LangFinnishModel.cpp +297 -0
  127. data/ext/uchardet/src/LangModels/LangFrenchModel.cpp +209 -0
  128. data/ext/uchardet/src/LangModels/LangGermanModel.cpp +170 -0
  129. data/ext/uchardet/src/LangModels/LangGreekModel.cpp +231 -0
  130. data/ext/uchardet/src/LangModels/LangHebrewModel.cpp +220 -0
  131. data/ext/uchardet/src/LangModels/LangHungarianModel.cpp +171 -0
  132. data/ext/uchardet/src/LangModels/LangIrishModel.cpp +234 -0
  133. data/ext/uchardet/src/LangModels/LangItalianModel.cpp +269 -0
  134. data/ext/uchardet/src/LangModels/LangLatvianModel.cpp +210 -0
  135. data/ext/uchardet/src/LangModels/LangLithuanianModel.cpp +209 -0
  136. data/ext/uchardet/src/LangModels/LangMalteseModel.cpp +138 -0
  137. data/ext/uchardet/src/LangModels/LangPolishModel.cpp +304 -0
  138. data/ext/uchardet/src/LangModels/LangPortugueseModel.cpp +241 -0
  139. data/ext/uchardet/src/LangModels/LangRomanianModel.cpp +236 -0
  140. data/ext/uchardet/src/LangModels/LangRussianModel.cpp +367 -0
  141. data/ext/uchardet/src/LangModels/LangSlovakModel.cpp +293 -0
  142. data/ext/uchardet/src/LangModels/LangSloveneModel.cpp +264 -0
  143. data/ext/uchardet/src/LangModels/LangSpanishModel.cpp +204 -0
  144. data/ext/uchardet/src/LangModels/LangSwedishModel.cpp +266 -0
  145. data/ext/uchardet/src/LangModels/LangThaiModel.cpp +267 -0
  146. data/ext/uchardet/src/LangModels/LangTurkishModel.cpp +175 -0
  147. data/ext/uchardet/src/LangModels/LangVietnameseModel.cpp +249 -0
  148. data/ext/uchardet/src/nsBig5Prober.cpp +88 -0
  149. data/ext/uchardet/src/nsBig5Prober.h +75 -0
  150. data/ext/uchardet/src/nsCharSetProber.cpp +125 -0
  151. data/ext/uchardet/src/nsCharSetProber.h +77 -0
  152. data/ext/uchardet/src/nsCodingStateMachine.h +105 -0
  153. data/ext/uchardet/src/nsEUCJPProber.cpp +99 -0
  154. data/ext/uchardet/src/nsEUCJPProber.h +79 -0
  155. data/ext/uchardet/src/nsEUCKRProber.cpp +91 -0
  156. data/ext/uchardet/src/nsEUCKRProber.h +81 -0
  157. data/ext/uchardet/src/nsEUCTWProber.cpp +91 -0
  158. data/ext/uchardet/src/nsEUCTWProber.h +75 -0
  159. data/ext/uchardet/src/nsEscCharsetProber.cpp +101 -0
  160. data/ext/uchardet/src/nsEscCharsetProber.h +70 -0
  161. data/ext/uchardet/src/nsEscSM.cpp +267 -0
  162. data/ext/uchardet/src/nsGB2312Prober.cpp +96 -0
  163. data/ext/uchardet/src/nsGB2312Prober.h +77 -0
  164. data/ext/uchardet/src/nsHebrewProber.cpp +194 -0
  165. data/ext/uchardet/src/nsHebrewProber.h +177 -0
  166. data/ext/uchardet/src/nsLatin1Prober.cpp +182 -0
  167. data/ext/uchardet/src/nsLatin1Prober.h +73 -0
  168. data/ext/uchardet/src/nsMBCSGroupProber.cpp +242 -0
  169. data/ext/uchardet/src/nsMBCSGroupProber.h +81 -0
  170. data/ext/uchardet/src/nsMBCSSM.cpp +513 -0
  171. data/ext/uchardet/src/nsPkgInt.h +89 -0
  172. data/ext/uchardet/src/nsSBCSGroupProber.cpp +343 -0
  173. data/ext/uchardet/src/nsSBCSGroupProber.h +71 -0
  174. data/ext/uchardet/src/nsSBCharSetProber.cpp +160 -0
  175. data/ext/uchardet/src/nsSBCharSetProber.h +258 -0
  176. data/ext/uchardet/src/nsSJISProber.cpp +98 -0
  177. data/ext/uchardet/src/nsSJISProber.h +81 -0
  178. data/ext/uchardet/src/nsUTF8Prober.cpp +87 -0
  179. data/ext/uchardet/src/nsUTF8Prober.h +66 -0
  180. data/ext/uchardet/src/nsUniversalDetector.cpp +339 -0
  181. data/ext/uchardet/src/nsUniversalDetector.h +91 -0
  182. data/ext/uchardet/src/nscore.h +59 -0
  183. data/ext/uchardet/src/prmem.h +49 -0
  184. data/ext/uchardet/src/symbols.cmake +41 -0
  185. data/ext/uchardet/src/tools/CMakeLists.txt +23 -0
  186. data/ext/uchardet/src/tools/uchardet.cpp +254 -0
  187. data/ext/uchardet/src/uchardet.cpp +274 -0
  188. data/ext/uchardet/src/uchardet.h +136 -0
  189. data/ext/uchardet/test/CMakeLists.txt +47 -0
  190. data/ext/uchardet/test/ar/iso-8859-6.txt +3 -0
  191. data/ext/uchardet/test/ar/utf-8.txt +3 -0
  192. data/ext/uchardet/test/ar/windows-1256.txt +3 -0
  193. data/ext/uchardet/test/bg/windows-1251.txt +3 -0
  194. data/ext/uchardet/test/cs/ibm852.txt +4 -0
  195. data/ext/uchardet/test/cs/iso-8859-2.txt +4 -0
  196. data/ext/uchardet/test/cs/mac-centraleurope.txt +4 -0
  197. data/ext/uchardet/test/cs/utf-8.txt +4 -0
  198. data/ext/uchardet/test/cs/windows-1250.txt +4 -0
  199. data/ext/uchardet/test/da/iso-8859-1.txt +7 -0
  200. data/ext/uchardet/test/da/iso-8859-15.txt +10 -0
  201. data/ext/uchardet/test/da/utf-8.txt +10 -0
  202. data/ext/uchardet/test/da/windows-1252.txt +10 -0
  203. data/ext/uchardet/test/de/iso-8859-1.txt +11 -0
  204. data/ext/uchardet/test/de/windows-1252.txt +11 -0
  205. data/ext/uchardet/test/el/iso-8859-7.txt +3 -0
  206. data/ext/uchardet/test/el/utf-8.txt +3 -0
  207. data/ext/uchardet/test/el/windows-1253.txt +5 -0
  208. data/ext/uchardet/test/en/ascii.txt +4 -0
  209. data/ext/uchardet/test/eo/iso-8859-3.txt +7 -0
  210. data/ext/uchardet/test/es/iso-8859-1.txt +5 -0
  211. data/ext/uchardet/test/es/iso-8859-15.txt +5 -0
  212. data/ext/uchardet/test/es/utf-8.txt +5 -0
  213. data/ext/uchardet/test/es/windows-1252.txt +5 -0
  214. data/ext/uchardet/test/et/iso-8859-13.txt +6 -0
  215. data/ext/uchardet/test/et/iso-8859-15.txt +6 -0
  216. data/ext/uchardet/test/et/iso-8859-4.txt +6 -0
  217. data/ext/uchardet/test/et/utf-8.txt +6 -0
  218. data/ext/uchardet/test/et/windows-1252.txt +6 -0
  219. data/ext/uchardet/test/et/windows-1257.txt +6 -0
  220. data/ext/uchardet/test/fi/iso-8859-1.txt +8 -0
  221. data/ext/uchardet/test/fi/utf-8.txt +8 -0
  222. data/ext/uchardet/test/fr/iso-8859-1.txt +5 -0
  223. data/ext/uchardet/test/fr/iso-8859-15.txt +16 -0
  224. data/ext/uchardet/test/fr/utf-16.be +0 -0
  225. data/ext/uchardet/test/fr/utf-32.le +0 -0
  226. data/ext/uchardet/test/fr/utf-8.txt +14 -0
  227. data/ext/uchardet/test/fr/windows-1252.txt +3 -0
  228. data/ext/uchardet/test/ga/iso-8859-1.txt +6 -0
  229. data/ext/uchardet/test/ga/utf-8.txt +6 -0
  230. data/ext/uchardet/test/ga/windows-1252.txt +6 -0
  231. data/ext/uchardet/test/he/iso-8859-8.txt +2 -0
  232. data/ext/uchardet/test/he/utf-8.txt +3 -0
  233. data/ext/uchardet/test/he/windows-1255.txt +1 -0
  234. data/ext/uchardet/test/hr/ibm852.txt +4 -0
  235. data/ext/uchardet/test/hr/iso-8859-13.txt +4 -0
  236. data/ext/uchardet/test/hr/iso-8859-16.txt +4 -0
  237. data/ext/uchardet/test/hr/iso-8859-2.txt +4 -0
  238. data/ext/uchardet/test/hr/mac-centraleurope.txt +4 -0
  239. data/ext/uchardet/test/hr/utf-8.txt +4 -0
  240. data/ext/uchardet/test/hr/windows-1250.txt +4 -0
  241. data/ext/uchardet/test/hu/iso-8859-2.txt +3 -0
  242. data/ext/uchardet/test/hu/windows-1250.txt +1 -0
  243. data/ext/uchardet/test/it/iso-8859-1.txt +18 -0
  244. data/ext/uchardet/test/it/utf-8.txt +18 -0
  245. data/ext/uchardet/test/ja/euc-jp.txt +10 -0
  246. data/ext/uchardet/test/ja/iso-2022-jp.txt +8 -0
  247. data/ext/uchardet/test/ja/shift_jis.txt +1 -0
  248. data/ext/uchardet/test/ja/utf-16be.txt +0 -0
  249. data/ext/uchardet/test/ja/utf-16le.txt +0 -0
  250. data/ext/uchardet/test/ja/utf-8.txt +9 -0
  251. data/ext/uchardet/test/ko/iso-2022-kr.txt +8 -0
  252. data/ext/uchardet/test/ko/uhc.smi +16 -0
  253. data/ext/uchardet/test/ko/utf-16.le +0 -0
  254. data/ext/uchardet/test/ko/utf-32.be +0 -0
  255. data/ext/uchardet/test/ko/utf-8.txt +3 -0
  256. data/ext/uchardet/test/lt/iso-8859-10.txt +3 -0
  257. data/ext/uchardet/test/lt/iso-8859-13.txt +3 -0
  258. data/ext/uchardet/test/lt/iso-8859-4.txt +3 -0
  259. data/ext/uchardet/test/lt/utf-8.txt +3 -0
  260. data/ext/uchardet/test/lv/iso-8859-10.txt +6 -0
  261. data/ext/uchardet/test/lv/iso-8859-13.txt +6 -0
  262. data/ext/uchardet/test/lv/iso-8859-4.txt +6 -0
  263. data/ext/uchardet/test/lv/utf-8.txt +6 -0
  264. data/ext/uchardet/test/mt/iso-8859-3.txt +4 -0
  265. data/ext/uchardet/test/mt/utf-8.txt +4 -0
  266. data/ext/uchardet/test/pl/ibm852.txt +3 -0
  267. data/ext/uchardet/test/pl/iso-8859-13.txt +3 -0
  268. data/ext/uchardet/test/pl/iso-8859-16.txt +3 -0
  269. data/ext/uchardet/test/pl/iso-8859-2.txt +3 -0
  270. data/ext/uchardet/test/pl/mac-centraleurope.txt +3 -0
  271. data/ext/uchardet/test/pl/utf-8.txt +3 -0
  272. data/ext/uchardet/test/pl/windows-1250.txt +3 -0
  273. data/ext/uchardet/test/pt/iso-8859-1.txt +6 -0
  274. data/ext/uchardet/test/pt/utf-8.txt +6 -0
  275. data/ext/uchardet/test/ro/ibm852.txt +9 -0
  276. data/ext/uchardet/test/ro/iso-8859-16.txt +9 -0
  277. data/ext/uchardet/test/ro/utf-8.txt +9 -0
  278. data/ext/uchardet/test/ro/windows-1250.txt +9 -0
  279. data/ext/uchardet/test/ru/ibm855.txt +5 -0
  280. data/ext/uchardet/test/ru/ibm866.txt +11 -0
  281. data/ext/uchardet/test/ru/iso-8859-5.txt +3 -0
  282. data/ext/uchardet/test/ru/koi8-r.txt +1 -0
  283. data/ext/uchardet/test/ru/mac-cyrillic.txt +9 -0
  284. data/ext/uchardet/test/ru/windows-1251.txt +4 -0
  285. data/ext/uchardet/test/sk/ibm852.txt +3 -0
  286. data/ext/uchardet/test/sk/iso-8859-2.txt +3 -0
  287. data/ext/uchardet/test/sk/mac-centraleurope.txt +3 -0
  288. data/ext/uchardet/test/sk/utf-8.txt +3 -0
  289. data/ext/uchardet/test/sk/windows-1250.txt +3 -0
  290. data/ext/uchardet/test/sl/ibm852.txt +9 -0
  291. data/ext/uchardet/test/sl/iso-8859-16.txt +9 -0
  292. data/ext/uchardet/test/sl/iso-8859-2.txt +9 -0
  293. data/ext/uchardet/test/sl/mac-centraleurope.txt +9 -0
  294. data/ext/uchardet/test/sl/utf-8.txt +9 -0
  295. data/ext/uchardet/test/sl/windows-1250.txt +9 -0
  296. data/ext/uchardet/test/sv/iso-8859-1.txt +10 -0
  297. data/ext/uchardet/test/sv/utf-8.txt +10 -0
  298. data/ext/uchardet/test/sv/windows-1252.txt +10 -0
  299. data/ext/uchardet/test/th/iso-8859-11.txt +5 -0
  300. data/ext/uchardet/test/th/tis-620.txt +5 -0
  301. data/ext/uchardet/test/th/utf-8.txt +1 -0
  302. data/ext/uchardet/test/tr/iso-8859-3.txt +13 -0
  303. data/ext/uchardet/test/tr/iso-8859-9.txt +13 -0
  304. data/ext/uchardet/test/uchardet-tests.c +130 -0
  305. data/ext/uchardet/test/vi/utf-8.txt +4 -0
  306. data/ext/uchardet/test/vi/viscii.txt +4 -0
  307. data/ext/uchardet/test/vi/windows-1258.txt +4 -0
  308. data/ext/uchardet/test/zh/big5.txt +1 -0
  309. data/ext/uchardet/test/zh/euc-tw.txt +1 -0
  310. data/ext/uchardet/test/zh/gb18030.txt +1 -0
  311. data/ext/uchardet/test/zh/utf-8.txt +1 -0
  312. data/ext/uchardet/uchardet.doap +51 -0
  313. data/ext/uchardet/uchardet.pc.in +10 -0
  314. data/lib/cchardet.rb +56 -0
  315. data/lib/cchardet/lib_finder.rb +32 -0
  316. data/lib/cchardet/version.rb +5 -0
  317. metadata +362 -0
@@ -0,0 +1,69 @@
1
+ #!/bin/python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # ##### BEGIN LICENSE BLOCK #####
5
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
+ #
7
+ # The contents of this file are subject to the Mozilla Public License Version
8
+ # 1.1 (the "License"); you may not use this file except in compliance with
9
+ # the License. You may obtain a copy of the License at
10
+ # http://www.mozilla.org/MPL/
11
+ #
12
+ # Software distributed under the License is distributed on an "AS IS" basis,
13
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14
+ # for the specific language governing rights and limitations under the
15
+ # License.
16
+ #
17
+ # The Original Code is Mozilla Universal charset detector code.
18
+ #
19
+ # The Initial Developer of the Original Code is
20
+ # Netscape Communications Corporation.
21
+ # Portions created by the Initial Developer are Copyright (C) 2001
22
+ # the Initial Developer. All Rights Reserved.
23
+ #
24
+ # Contributor(s):
25
+ # Jehan <jehan@girinstud.io>
26
+ #
27
+ # Alternatively, the contents of this file may be used under the terms of
28
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
29
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30
+ # in which case the provisions of the GPL or the LGPL are applicable instead
31
+ # of those above. If you wish to allow use of your version of this file only
32
+ # under the terms of either the GPL or the LGPL, and not to allow others to
33
+ # use your version of this file under the terms of the MPL, indicate your
34
+ # decision by deleting the provisions above and replace them with the notice
35
+ # and other provisions required by the GPL or the LGPL. If you do not delete
36
+ # the provisions above, a recipient may use your version of this file under
37
+ # the terms of any one of the MPL, the GPL or the LGPL.
38
+ #
39
+ # ##### END LICENSE BLOCK #####
40
+
41
+ import re
42
+
43
+ ## Mandatory Properties ##
44
+
45
+ # The human name for the language, in English.
46
+ name = 'German'
47
+ # Use 2-letter ISO 639-1 if possible, 3-letter ISO code otherwise,
48
+ # or use another catalog as a last resort.
49
+ code = 'de'
50
+ # ASCII characters are also used in French.
51
+ use_ascii = True
52
+ # The charsets we want to support and create data for.
53
+ charsets = ['ISO-8859-1', 'WINDOWS-1252']
54
+
55
+ ## Optional Properties ##
56
+
57
+ # Alphabet characters.
58
+ # If use_ascii=True, there is no need to add any ASCII characters.
59
+ # If case_mapping=True, there is no need to add several cases of a same
60
+ # character (provided Python algorithms know the right cases).
61
+ alphabet = ['ä', 'ö', 'ü', 'ß']
62
+ # The start page. Though optional, it is advised to choose one yourself.
63
+ start_pages = ['Wikipedia:Hauptseite']
64
+ # give possibility to select another code for the Wikipedia URL.
65
+ wikipedia_code = code
66
+ # 'a' and 'A' will be considered the same character, and so on.
67
+ # This uses Python algorithm to determine upper/lower-case of a given
68
+ # character.
69
+ case_mapping = True
@@ -0,0 +1,55 @@
1
+ #!/bin/python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # ##### BEGIN LICENSE BLOCK #####
5
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
+ #
7
+ # The contents of this file are subject to the Mozilla Public License Version
8
+ # 1.1 (the "License"); you may not use this file except in compliance with
9
+ # the License. You may obtain a copy of the License at
10
+ # http://www.mozilla.org/MPL/
11
+ #
12
+ # Software distributed under the License is distributed on an "AS IS" basis,
13
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14
+ # for the specific language governing rights and limitations under the
15
+ # License.
16
+ #
17
+ # The Original Code is Mozilla Universal charset detector code.
18
+ #
19
+ # The Initial Developer of the Original Code is
20
+ # Netscape Communications Corporation.
21
+ # Portions created by the Initial Developer are Copyright (C) 2001
22
+ # the Initial Developer. All Rights Reserved.
23
+ #
24
+ # Contributor(s):
25
+ # Jehan <jehan@girinstud.io>
26
+ #
27
+ # Alternatively, the contents of this file may be used under the terms of
28
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
29
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30
+ # in which case the provisions of the GPL or the LGPL are applicable instead
31
+ # of those above. If you wish to allow use of your version of this file only
32
+ # under the terms of either the GPL or the LGPL, and not to allow others to
33
+ # use your version of this file under the terms of the MPL, indicate your
34
+ # decision by deleting the provisions above and replace them with the notice
35
+ # and other provisions required by the GPL or the LGPL. If you do not delete
36
+ # the provisions above, a recipient may use your version of this file under
37
+ # the terms of any one of the MPL, the GPL or the LGPL.
38
+ #
39
+ # ##### END LICENSE BLOCK #####
40
+
41
+ import re
42
+
43
+ ## Mandatory Properties ##
44
+
45
+ name = 'Greek'
46
+ code = 'el'
47
+ use_ascii = False
48
+ charsets = ['ISO-8859-7', 'WINDOWS-1253']
49
+
50
+ ## Optional Properties ##
51
+
52
+ alphabet = 'αβγδεζηθικλμνξοπρσςτυφχψωάέήίόύώ'
53
+ start_pages = ['Πύλη:Κύρια']
54
+ wikipedia_code = code
55
+ case_mapping = True
@@ -0,0 +1,67 @@
1
+ #!/bin/python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # ##### BEGIN LICENSE BLOCK #####
5
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
+ #
7
+ # The contents of this file are subject to the Mozilla Public License Version
8
+ # 1.1 (the "License"); you may not use this file except in compliance with
9
+ # the License. You may obtain a copy of the License at
10
+ # http://www.mozilla.org/MPL/
11
+ #
12
+ # Software distributed under the License is distributed on an "AS IS" basis,
13
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14
+ # for the specific language governing rights and limitations under the
15
+ # License.
16
+ #
17
+ # The Original Code is Mozilla Universal charset detector code.
18
+ #
19
+ # The Initial Developer of the Original Code is
20
+ # Netscape Communications Corporation.
21
+ # Portions created by the Initial Developer are Copyright (C) 2001
22
+ # the Initial Developer. All Rights Reserved.
23
+ #
24
+ # Contributor(s):
25
+ # Jehan <jehan@girinstud.io>
26
+ #
27
+ # Alternatively, the contents of this file may be used under the terms of
28
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
29
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30
+ # in which case the provisions of the GPL or the LGPL are applicable instead
31
+ # of those above. If you wish to allow use of your version of this file only
32
+ # under the terms of either the GPL or the LGPL, and not to allow others to
33
+ # use your version of this file under the terms of the MPL, indicate your
34
+ # decision by deleting the provisions above and replace them with the notice
35
+ # and other provisions required by the GPL or the LGPL. If you do not delete
36
+ # the provisions above, a recipient may use your version of this file under
37
+ # the terms of any one of the MPL, the GPL or the LGPL.
38
+ #
39
+ # ##### END LICENSE BLOCK #####
40
+
41
+ import re
42
+
43
+ ## Mandatory Properties ##
44
+
45
+ # The human name for the language, in English.
46
+ name = 'Esperanto'
47
+ # Use 2-letter ISO 639-1 if possible, 3-letter ISO code otherwise,
48
+ # or use another catalog as a last resort.
49
+ code = 'eo'
50
+ # Esperanto actually does use ASCII, but not q, w, x, or y.
51
+ # So I just use the alphabet variable below instead.
52
+ use_ascii = False
53
+ # The charsets we want to support and create data for.
54
+ charsets = ['ISO-8859-3']
55
+
56
+ ## Optional Properties ##
57
+
58
+ # Alphabet characters.
59
+ alphabet = 'abcĉdefgĝhĥijĵklmnoprsŝtuŭvz'
60
+ # The start page. Though optional, it is advised to choose one yourself.
61
+ start_pages = ['Vikipedio:Ĉefpaĝo']
62
+ # give possibility to select another code for the Wikipedia URL.
63
+ wikipedia_code = code
64
+ # 'a' and 'A' will be considered the same character, and so on.
65
+ # This uses Python algorithm to determine upper/lower-case of a given
66
+ # character.
67
+ case_mapping = True
@@ -0,0 +1,69 @@
1
+ #!/bin/python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # ##### BEGIN LICENSE BLOCK #####
5
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
+ #
7
+ # The contents of this file are subject to the Mozilla Public License Version
8
+ # 1.1 (the "License"); you may not use this file except in compliance with
9
+ # the License. You may obtain a copy of the License at
10
+ # http://www.mozilla.org/MPL/
11
+ #
12
+ # Software distributed under the License is distributed on an "AS IS" basis,
13
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14
+ # for the specific language governing rights and limitations under the
15
+ # License.
16
+ #
17
+ # The Original Code is Mozilla Universal charset detector code.
18
+ #
19
+ # The Initial Developer of the Original Code is
20
+ # Netscape Communications Corporation.
21
+ # Portions created by the Initial Developer are Copyright (C) 2001
22
+ # the Initial Developer. All Rights Reserved.
23
+ #
24
+ # Contributor(s):
25
+ # Jehan <jehan@girinstud.io>
26
+ #
27
+ # Alternatively, the contents of this file may be used under the terms of
28
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
29
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30
+ # in which case the provisions of the GPL or the LGPL are applicable instead
31
+ # of those above. If you wish to allow use of your version of this file only
32
+ # under the terms of either the GPL or the LGPL, and not to allow others to
33
+ # use your version of this file under the terms of the MPL, indicate your
34
+ # decision by deleting the provisions above and replace them with the notice
35
+ # and other provisions required by the GPL or the LGPL. If you do not delete
36
+ # the provisions above, a recipient may use your version of this file under
37
+ # the terms of any one of the MPL, the GPL or the LGPL.
38
+ #
39
+ # ##### END LICENSE BLOCK #####
40
+
41
+ import re
42
+
43
+ ## Mandatory Properties ##
44
+
45
+ # The human name for the language, in English.
46
+ name = 'Spanish'
47
+ # Use 2-letter ISO 639-1 if possible, 3-letter ISO code otherwise,
48
+ # or use another catalog as a last resort.
49
+ code = 'es'
50
+ # ASCII characters are also used in French.
51
+ use_ascii = True
52
+ # The charsets we want to support and create data for.
53
+ charsets = ['ISO-8859-15', 'ISO-8859-1', 'WINDOWS-1252']
54
+
55
+ ## Optional Properties ##
56
+
57
+ # Alphabet characters.
58
+ # If use_ascii=True, there is no need to add any ASCII characters.
59
+ # If case_mapping=True, there is no need to add several cases of a same
60
+ # character (provided Python algorithms know the right cases).
61
+ alphabet = 'ñáéíóúü'
62
+ # The start page. Though optional, it is advised to choose one yourself.
63
+ start_pages = ['Wikipedia:Portada']
64
+ # give possibility to select another code for the Wikipedia URL.
65
+ wikipedia_code = code
66
+ # 'a' and 'A' will be considered the same character, and so on.
67
+ # This uses Python algorithm to determine upper/lower-case of a given
68
+ # character.
69
+ case_mapping = True
@@ -0,0 +1,57 @@
1
+ #!/bin/python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # ##### BEGIN LICENSE BLOCK #####
5
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
+ #
7
+ # The contents of this file are subject to the Mozilla Public License Version
8
+ # 1.1 (the "License"); you may not use this file except in compliance with
9
+ # the License. You may obtain a copy of the License at
10
+ # http://www.mozilla.org/MPL/
11
+ #
12
+ # Software distributed under the License is distributed on an "AS IS" basis,
13
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14
+ # for the specific language governing rights and limitations under the
15
+ # License.
16
+ #
17
+ # The Original Code is Mozilla Universal charset detector code.
18
+ #
19
+ # The Initial Developer of the Original Code is
20
+ # Netscape Communications Corporation.
21
+ # Portions created by the Initial Developer are Copyright (C) 2001
22
+ # the Initial Developer. All Rights Reserved.
23
+ #
24
+ # Contributor(s):
25
+ # Jehan <jehan@girinstud.io>
26
+ #
27
+ # Alternatively, the contents of this file may be used under the terms of
28
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
29
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30
+ # in which case the provisions of the GPL or the LGPL are applicable instead
31
+ # of those above. If you wish to allow use of your version of this file only
32
+ # under the terms of either the GPL or the LGPL, and not to allow others to
33
+ # use your version of this file under the terms of the MPL, indicate your
34
+ # decision by deleting the provisions above and replace them with the notice
35
+ # and other provisions required by the GPL or the LGPL. If you do not delete
36
+ # the provisions above, a recipient may use your version of this file under
37
+ # the terms of any one of the MPL, the GPL or the LGPL.
38
+ #
39
+ # ##### END LICENSE BLOCK #####
40
+
41
+ import re
42
+
43
+ ## Mandatory Properties ##
44
+
45
+ name = 'Estonian'
46
+ code = 'et'
47
+ use_ascii = True
48
+ charsets = ['ISO-8859-4', 'ISO-8859-13', 'ISO-8859-15',
49
+ 'WINDOWS-1252', 'WINDOWS-1257']
50
+
51
+ ## Optional Properties ##
52
+
53
+ # Alphabet characters.
54
+ alphabet = 'äöüõšž'
55
+ start_pages = ['Harilik pohl']
56
+ wikipedia_code = code
57
+ case_mapping = True
@@ -0,0 +1,60 @@
1
+ #!/bin/python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # ##### BEGIN LICENSE BLOCK #####
5
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
+ #
7
+ # The contents of this file are subject to the Mozilla Public License Version
8
+ # 1.1 (the "License"); you may not use this file except in compliance with
9
+ # the License. You may obtain a copy of the License at
10
+ # http://www.mozilla.org/MPL/
11
+ #
12
+ # Software distributed under the License is distributed on an "AS IS" basis,
13
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14
+ # for the specific language governing rights and limitations under the
15
+ # License.
16
+ #
17
+ # The Original Code is Mozilla Universal charset detector code.
18
+ #
19
+ # The Initial Developer of the Original Code is
20
+ # Netscape Communications Corporation.
21
+ # Portions created by the Initial Developer are Copyright (C) 2001
22
+ # the Initial Developer. All Rights Reserved.
23
+ #
24
+ # Contributor(s):
25
+ # Jehan <jehan@girinstud.io>
26
+ #
27
+ # Alternatively, the contents of this file may be used under the terms of
28
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
29
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30
+ # in which case the provisions of the GPL or the LGPL are applicable instead
31
+ # of those above. If you wish to allow use of your version of this file only
32
+ # under the terms of either the GPL or the LGPL, and not to allow others to
33
+ # use your version of this file under the terms of the MPL, indicate your
34
+ # decision by deleting the provisions above and replace them with the notice
35
+ # and other provisions required by the GPL or the LGPL. If you do not delete
36
+ # the provisions above, a recipient may use your version of this file under
37
+ # the terms of any one of the MPL, the GPL or the LGPL.
38
+ #
39
+ # ##### END LICENSE BLOCK #####
40
+
41
+ import re
42
+
43
+ ## Mandatory Properties ##
44
+
45
+ name = 'Finnish'
46
+ code = 'fi'
47
+ use_ascii = True
48
+ charsets = ['ISO-8859-1', 'ISO-8859-4', 'ISO-8859-9',
49
+ 'ISO-8859-13', 'ISO-8859-15', 'WINDOWS-1252']
50
+
51
+ ## Optional Properties ##
52
+
53
+ # Alphabet characters.
54
+ # 'å' (Swedish o), 'š' and 'ž' are rare enough that I don't want to include them
55
+ # here.
56
+ alphabet = 'äö'
57
+ # Some random high quality page found on the Finnish home page.
58
+ start_pages = ['Yhdistynyt kuningaskunta']
59
+ wikipedia_code = code
60
+ case_mapping = True
@@ -0,0 +1,79 @@
1
+ #!/bin/python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # ##### BEGIN LICENSE BLOCK #####
5
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
+ #
7
+ # The contents of this file are subject to the Mozilla Public License Version
8
+ # 1.1 (the "License"); you may not use this file except in compliance with
9
+ # the License. You may obtain a copy of the License at
10
+ # http://www.mozilla.org/MPL/
11
+ #
12
+ # Software distributed under the License is distributed on an "AS IS" basis,
13
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14
+ # for the specific language governing rights and limitations under the
15
+ # License.
16
+ #
17
+ # The Original Code is Mozilla Universal charset detector code.
18
+ #
19
+ # The Initial Developer of the Original Code is
20
+ # Netscape Communications Corporation.
21
+ # Portions created by the Initial Developer are Copyright (C) 2001
22
+ # the Initial Developer. All Rights Reserved.
23
+ #
24
+ # Contributor(s):
25
+ # Jehan <jehan@girinstud.io>
26
+ #
27
+ # Alternatively, the contents of this file may be used under the terms of
28
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
29
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30
+ # in which case the provisions of the GPL or the LGPL are applicable instead
31
+ # of those above. If you wish to allow use of your version of this file only
32
+ # under the terms of either the GPL or the LGPL, and not to allow others to
33
+ # use your version of this file under the terms of the MPL, indicate your
34
+ # decision by deleting the provisions above and replace them with the notice
35
+ # and other provisions required by the GPL or the LGPL. If you do not delete
36
+ # the provisions above, a recipient may use your version of this file under
37
+ # the terms of any one of the MPL, the GPL or the LGPL.
38
+ #
39
+ # ##### END LICENSE BLOCK #####
40
+
41
+ import re
42
+
43
+ ## Mandatory Properties ##
44
+
45
+ # The human name for the language, in English.
46
+ name = 'French'
47
+ # Use 2-letter ISO 639-1 if possible, 3-letter ISO code otherwise,
48
+ # or use another catalog as a last resort.
49
+ code = 'fr'
50
+ # ASCII characters are also used in French.
51
+ use_ascii = True
52
+ # The charsets we want to support and create data for.
53
+ charsets = ['ISO-8859-15', 'ISO-8859-1', 'WINDOWS-1252']
54
+
55
+ ## Optional Properties ##
56
+
57
+ # Alphabet characters.
58
+ # If use_ascii=True, there is no need to add any ASCII characters.
59
+ # If case_mapping=True, there is no need to add several cases of a same
60
+ # character (provided Python algorithms know the right cases).
61
+ alphabet = ['œ', 'à', 'â', 'ç', 'è', 'é', 'î', 'ï', 'ù', 'û', 'ê']
62
+ # The start page. Though optional, it is advised to choose one yourself.
63
+ start_pages = ['Wikipédia:Accueil_principal', 'Bœuf (animal)']
64
+ # give possibility to select another code for the Wikipedia URL.
65
+ wikipedia_code = code
66
+ # 'a' and 'A' will be considered the same character, and so on.
67
+ # This uses Python algorithm to determine upper/lower-case of a given
68
+ # character.
69
+ case_mapping = True
70
+
71
+ # A function to clean content returned by the `wikipedia` python lib,
72
+ # in case some unwanted data has been overlooked.
73
+ # Note that we are already cleaning away the '=' from the title syntax
74
+ # of Wikipedia, as well as double spaces. But sometimes, Wikipedia in
75
+ # some language may return weird syntax or UI text which should be
76
+ # discarded. If you encounter one of these cases, use this function.
77
+ def clean_wikipedia_content(content):
78
+ # Do your garbage text cleaning here.
79
+ return content