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,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 = 'Irish'
46
+ code = 'ga'
47
+ # ASCII characters are also used in French.
48
+ use_ascii = True
49
+ # The charsets we want to support and create data for.
50
+ charsets = ['ISO-8859-15', 'ISO-8859-1', 'ISO-8859-9', 'WINDOWS-1252']
51
+
52
+ ## Optional Properties ##
53
+
54
+ # XXX: Irish gaelic also uses sometimes the dotless 'i' but without any
55
+ # semantic difference from the dotted 'i'. Only for stylistic reasons.
56
+ # So I don't add it in the glyph list.
57
+ alphabet = 'áéíóú'
58
+ start_pages = ['Tracy Caldwell Dyson']
59
+ wikipedia_code = code
60
+ case_mapping = True
@@ -0,0 +1,59 @@
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 = 'Croatian'
46
+ code = 'hr'
47
+ use_ascii = True
48
+ charsets = ['ISO-8859-2', 'ISO-8859-13', 'ISO-8859-16',
49
+ 'Windows-1250', 'IBM852', 'MAC-CENTRALEUROPE']
50
+
51
+ ## Optional Properties ##
52
+
53
+ # Alphabet characters.
54
+ alphabet = 'čćđšž'
55
+ # The starred page which was rewarded on the main page when I created
56
+ # the data.
57
+ start_pages = ['Fizika čvrstog stanja']
58
+ wikipedia_code = code
59
+ case_mapping = True
@@ -0,0 +1,66 @@
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 = 'Hungarian'
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 = 'hu'
50
+ # Q, W, X, Y are only used for foreign words.
51
+ use_ascii = False
52
+ # The charsets we want to support and create data for.
53
+ charsets = ['ISO-8859-2', 'WINDOWS-1250']
54
+
55
+ ## Optional Properties ##
56
+
57
+ # Alphabet characters: I separate to make missing letters fully visible.
58
+ alphabet = 'abcdefghijklmnop' + 'rstuv' + 'z' + 'áéíóöőúüű'
59
+ # The start page. Though optional, it is advised to choose one yourself.
60
+ start_pages = ['Kezdőlap']
61
+ # give possibility to select another code for the Wikipedia URL.
62
+ wikipedia_code = code
63
+ # 'a' and 'A' will be considered the same character, and so on.
64
+ # This uses Python algorithm to determine upper/lower-case of a given
65
+ # character.
66
+ case_mapping = True
@@ -0,0 +1,56 @@
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 = 'Italian'
46
+ code = 'it'
47
+ use_ascii = True
48
+ charsets = ['ISO-8859-1', 'ISO-8859-3', 'ISO-8859-9',
49
+ 'ISO-8859-15', 'WINDOWS-1252']
50
+
51
+ ## Optional Properties ##
52
+
53
+ alphabet = 'óéèò'
54
+ start_pages = ['Pieve Ligure']
55
+ wikipedia_code = code
56
+ case_mapping = True
@@ -0,0 +1,70 @@
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 = 'Lithuanian'
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 = 'lt'
50
+ # ASCII characters are also used.
51
+ use_ascii = True
52
+ # The charsets we want to support and create data for.
53
+ charsets = ['ISO-8859-4', 'ISO-8859-10', 'ISO-8859-13', ]
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. Just taking the page which was in front page the day
63
+ # I created the data.
64
+ start_pages = ['Karūna (laivas)']
65
+ # give possibility to select another code for the Wikipedia URL.
66
+ wikipedia_code = code
67
+ # 'a' and 'A' will be considered the same character, and so on.
68
+ # This uses Python algorithm to determine upper/lower-case of a given
69
+ # character.
70
+ 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 = 'Latvian'
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 = 'lv'
50
+ # ASCII characters are also used.
51
+ use_ascii = True
52
+ # The charsets we want to support and create data for.
53
+ charsets = ['ISO-8859-4', 'ISO-8859-10', 'ISO-8859-13']
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. Just taking a starred page.
63
+ start_pages = ['Zigfrīds Anna Meierovics']
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,80 @@
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 = 'Maltese'
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 = 'mt'
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-3']
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 starred page which was rewarded on the main page when I created
63
+ # the data.
64
+ start_pages = ['Unjoni Ewropea']
65
+ # give possibility to select another code for the Wikipedia URL.
66
+ wikipedia_code = code
67
+ # 'a' and 'A' will be considered the same character, and so on.
68
+ # This uses Python algorithm to determine upper/lower-case of a given
69
+ # character.
70
+ case_mapping = True
71
+
72
+ # A function to clean content returned by the `wikipedia` python lib,
73
+ # in case some unwanted data has been overlooked.
74
+ # Note that we are already cleaning away the '=' from the title syntax
75
+ # of Wikipedia, as well as double spaces. But sometimes, Wikipedia in
76
+ # some language may return weird syntax or UI text which should be
77
+ # discarded. If you encounter one of these cases, use this function.
78
+ def clean_wikipedia_content(content):
79
+ # Do your garbage text cleaning here.
80
+ return content