jelegante 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem "rspec", "~> 2.3.0"
10
+ gem "bundler", "~> 1.0.0"
11
+ gem "jeweler", "~> 1.6.4"
12
+ gem "rcov", ">= 0"
13
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,13 @@
1
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
2
+ Version 2, December 2004
3
+
4
+ Copyright (C) 2011 lpm11.
5
+
6
+ Everyone is permitted to copy and distribute verbatim or modified
7
+ copies of this license document, and changing it is allowed as long
8
+ as the name is changed.
9
+
10
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
12
+
13
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
data/README.rdoc ADDED
@@ -0,0 +1,7 @@
1
+ = jelegante
2
+
3
+ Guess whether text is japanese or not heuristically.
4
+
5
+ == Copyright
6
+
7
+ Copyright (c) 2011 lpm11. See LICENSE.txt for further details.
data/Rakefile ADDED
@@ -0,0 +1,49 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "jelegante"
18
+ gem.homepage = "http://github.com/lpm11/jelegante"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{Guess whether text is japanese or not heuristically.}
21
+ gem.description = %Q{Guess whether text is japanese or not heuristically.}
22
+ gem.email = "lpm11r@gmail.com"
23
+ gem.authors = ["lpm11"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
32
+ end
33
+
34
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
35
+ spec.pattern = 'spec/**/*_spec.rb'
36
+ spec.rcov = true
37
+ end
38
+
39
+ task :default => :spec
40
+
41
+ require 'rake/rdoctask'
42
+ Rake::RDocTask.new do |rdoc|
43
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
+
45
+ rdoc.rdoc_dir = 'rdoc'
46
+ rdoc.title = "jelegante #{version}"
47
+ rdoc.rdoc_files.include('README*')
48
+ rdoc.rdoc_files.include('lib/**/*.rb')
49
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.1
@@ -0,0 +1,24 @@
1
+ #!/bin/env ruby
2
+ #-*- coding: utf-8 -*-
3
+ require("../lib/jelegante");
4
+
5
+ tests = [
6
+ "Ruby 1.9.3 の最初の Release Candidate 版である ruby-1.9.3-rc1 がリリースされました。",
7
+ "Ruby 1.9.3 rc1 has been released. This is a second preview of next version and there're still minor known issues. But it will be fixed in next release, ruby 1.9.3-p0.",
8
+ "Ruby 1.9.3 rc1 est sorti. C'est le second aperçu de ce que sera cette nouvelle version, et elle contient encore quelques bugs connus. Ceux-ci seront corrigés dans la sortie de Ruby 1.9.3-p0.",
9
+ "Ruby 1.9.3 preview1이 릴리즈되었습니다. 이는 1.9.3으로서는 첫 preview이며 아직까지 자잘한 문제점을 가지고 있습니다. 이러한 문제점은 정식 릴리즈인 p0부터는 모두 수정될 예정입니다.",
10
+ "RuPy 2011 już za dwa miesiące!",
11
+ "Este año tenemos una cantidad inédita de eventos de Ruby en américa latina.",
12
+ "O Ruby 1.9.3 preview1 foi lançado. Esta é a primeira pre-release da próxima versão e ainda existem alguns problemas conhecidos, que serão resolvidos na proxima release, Ruby 1.9.3-p0",
13
+ "Ruby 1.9.2-p136 已经发布.",
14
+ "RubyConf Taiwan 將於 2011/8/26 (週五) 和 8/27 (週六) 在中央研究院人科所會議廳舉辦,是台灣唯一及最大的 Ruby 程式語言大會,將會超過一百位的 IT 技術人員、系統管理員、程式開發者來參加這項會議,並邀請來自台灣、美國及日本的講者來分享他們的專案及經驗。",
15
+ "Ruby 1.8.7-p248 dan Ruby 1.9.1-p376 diluncurkan",
16
+ "Ruby 1.9.3-rc1 ist veröffentlicht worden.",
17
+ "Ruby 1.9.3 preview1 è stato rilasciato. Questa è una prima preview della prossima versione, e contiene ancora qualche piccolo baco, che sarà tuttavia corretto nel prossimo rilascio, Ruby 1.9.3-p0.",
18
+ "Излезе Ruby 1.9.2. Това е последната стабилна версия от серията 1.9.",
19
+ "Ruby 1.9.2-p136 sürümü yayınlandı",
20
+ ];
21
+
22
+ tests.each { |text|
23
+ puts("#{text} => #{Jelegante.japanese?(text)}")
24
+ }
data/jelegante.gemspec ADDED
@@ -0,0 +1,60 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "jelegante"
8
+ s.version = "1.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["lpm11"]
12
+ s.date = "2011-10-03"
13
+ s.description = "Guess whether text is japanese or not heuristically."
14
+ s.email = "lpm11r@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "LICENSE.txt",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "example/sample1.rb",
28
+ "jelegante.gemspec",
29
+ "lib/jelegante.rb",
30
+ "spec/jelegante_spec.rb",
31
+ "spec/spec_helper.rb"
32
+ ]
33
+ s.homepage = "http://github.com/lpm11/jelegante"
34
+ s.licenses = ["MIT"]
35
+ s.require_paths = ["lib"]
36
+ s.rubygems_version = "1.8.10"
37
+ s.summary = "Guess whether text is japanese or not heuristically."
38
+
39
+ if s.respond_to? :specification_version then
40
+ s.specification_version = 3
41
+
42
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
+ s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
44
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
45
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
46
+ s.add_development_dependency(%q<rcov>, [">= 0"])
47
+ else
48
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
49
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
50
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
51
+ s.add_dependency(%q<rcov>, [">= 0"])
52
+ end
53
+ else
54
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
55
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
56
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
57
+ s.add_dependency(%q<rcov>, [">= 0"])
58
+ end
59
+ end
60
+
data/lib/jelegante.rb ADDED
@@ -0,0 +1,213 @@
1
+ #!/bin/env ruby
2
+ #-*- coding: utf-8 -*-
3
+
4
+ class Jelegante
5
+ KANJI_JYOUYOU = %w[
6
+ 亜 哀 愛 悪 握 圧 扱 安 暗 案 以 位 依 偉 囲 委 威 尉 意 慰 易 為 異 移 維
7
+ 緯 胃 衣 違 遺 医 井 域 育 一 壱 逸 稲 芋 印 員 因 姻 引 飲 院 陰 隠 韻 右
8
+ 宇 羽 雨 渦 浦 運 雲 営 影 映 栄 永 泳 英 衛 詠 鋭 液 疫 益 駅 悦 謁 越 閲
9
+ 円 園 宴 延 援 沿 演 炎 煙 猿 縁 遠 鉛 塩 汚 凹 央 奥 往 応 押 横 欧 殴 王
10
+ 翁 黄 沖 億 屋 憶 乙 卸 恩 温 穏 音 下 化 仮 何 価 佳 加 可 夏 嫁 家 寡 科
11
+ 暇 果 架 歌 河 火 禍 稼 箇 花 荷 華 菓 課 貨 過 蚊 我 画 芽 賀 雅 餓 介 会
12
+ 解 回 塊 壊 快 怪 悔 懐 戒 拐 改 械 海 灰 界 皆 絵 開 階 貝 劾 外 害 慨 概
13
+ 涯 街 該 垣 嚇 各 拡 格 核 殻 獲 確 穫 覚 角 較 郭 閣 隔 革 学 岳 楽 額 掛
14
+ 潟 割 喝 括 活 渇 滑 褐 轄 且 株 刈 乾 冠 寒 刊 勘 勧 巻 喚 堪 完 官 寛 干
15
+ 幹 患 感 慣 憾 換 敢 棺 款 歓 汗 漢 環 甘 監 看 管 簡 緩 缶 肝 艦 観 貫 還
16
+ 鑑 間 閑 関 陥 館 丸 含 岸 眼 岩 頑 顔 願 企 危 喜 器 基 奇 寄 岐 希 幾 忌
17
+ 揮 机 旗 既 期 棋 棄 機 帰 気 汽 祈 季 紀 規 記 貴 起 軌 輝 飢 騎 鬼 偽 儀
18
+ 宜 戯 技 擬 欺 犠 疑 義 議 菊 吉 喫 詰 却 客 脚 虐 逆 丘 久 休 及 吸 宮 弓
19
+ 急 救 朽 求 泣 球 究 窮 級 糾 給 旧 牛 去 居 巨 拒 拠 挙 虚 許 距 漁 魚 享
20
+ 京 供 競 共 凶 協 叫 境 峡 強 恐 恭 挟 教 橋 況 狂 狭 矯 胸 脅 興 郷 鏡 響
21
+ 驚 仰 凝 暁 業 局 曲 極 玉 勤 均 斤 琴 禁 筋 緊 菌 襟 謹 近 金 吟 銀 九 句
22
+ 区 苦 駆 具 愚 虞 空 偶 遇 隅 屈 掘 靴 繰 桑 勲 君 薫 訓 群 軍 郡 係 傾 刑
23
+ 兄 啓 型 契 形 径 恵 慶 憩 掲 携 敬 景 渓 系 経 継 茎 蛍 計 警 軽 鶏 芸 迎
24
+ 鯨 劇 撃 激 傑 欠 決 潔 穴 結 血 月 件 倹 健 兼 券 剣 圏 堅 嫌 建 憲 懸 検
25
+ 権 犬 献 研 絹 県 肩 見 謙 賢 軒 遣 険 顕 験 元 原 厳 幻 弦 減 源 玄 現 言
26
+ 限 個 古 呼 固 孤 己 庫 弧 戸 故 枯 湖 誇 雇 顧 鼓 五 互 午 呉 娯 後 御 悟
27
+ 碁 語 誤 護 交 侯 候 光 公 功 効 厚 口 向 后 坑 好 孔 孝 工 巧 幸 広 康 恒
28
+ 慌 抗 拘 控 攻 更 校 構 江 洪 港 溝 甲 皇 硬 稿 紅 絞 綱 耕 考 肯 航 荒 行
29
+ 衡 講 貢 購 郊 酵 鉱 鋼 降 項 香 高 剛 号 合 拷 豪 克 刻 告 国 穀 酷 黒 獄
30
+ 腰 骨 込 今 困 墾 婚 恨 懇 昆 根 混 紺 魂 佐 唆 左 差 査 砂 詐 鎖 座 債 催
31
+ 再 最 妻 宰 彩 才 採 栽 歳 済 災 砕 祭 斎 細 菜 裁 載 際 剤 在 材 罪 財 坂
32
+ 咲 崎 作 削 搾 昨 策 索 錯 桜 冊 刷 察 撮 擦 札 殺 雑 皿 三 傘 参 山 惨 散
33
+ 桟 産 算 蚕 賛 酸 暫 残 仕 伺 使 刺 司 史 嗣 四 士 始 姉 姿 子 市 師 志 思
34
+ 指 支 施 旨 枝 止 死 氏 祉 私 糸 紙 紫 肢 脂 至 視 詞 詩 試 誌 諮 資 賜 雌
35
+ 飼 歯 事 似 侍 児 字 寺 慈 持 時 次 滋 治 璽 磁 示 耳 自 辞 式 識 軸 七 執
36
+ 失 室 湿 漆 疾 質 実 芝 舎 写 射 捨 赦 斜 煮 社 者 謝 車 遮 蛇 邪 借 勺 尺
37
+ 爵 酌 釈 若 寂 弱 主 取 守 手 朱 殊 狩 珠 種 趣 酒 首 儒 受 寿 授 樹 需 囚
38
+ 収 周 宗 就 州 修 愁 拾 秀 秋 終 習 臭 舟 衆 襲 週 酬 集 醜 住 充 十 従 柔
39
+ 汁 渋 獣 縦 重 銃 叔 宿 淑 祝 縮 粛 塾 熟 出 術 述 俊 春 瞬 准 循 旬 殉 準
40
+ 潤 盾 純 巡 遵 順 処 初 所 暑 庶 緒 署 書 諸 助 叙 女 序 徐 除 傷 償 勝 匠
41
+ 升 召 商 唱 奨 宵 将 小 少 尚 床 彰 承 抄 招 掌 昇 昭 晶 松 沼 消 渉 焼 焦
42
+ 照 症 省 硝 礁 祥 称 章 笑 粧 紹 肖 衝 訟 証 詔 詳 象 賞 鐘 障 上 丈 乗 冗
43
+ 剰 城 場 壌 嬢 常 情 条 浄 状 畳 蒸 譲 醸 錠 嘱 飾 植 殖 織 職 色 触 食 辱
44
+ 伸 信 侵 唇 娠 寝 審 心 慎 振 新 森 浸 深 申 真 神 紳 臣 薪 親 診 身 辛 進
45
+ 針 震 人 仁 刃 尋 甚 尽 迅 陣 酢 図 吹 垂 帥 推 水 炊 睡 粋 衰 遂 酔 錘 随
46
+ 髄 崇 数 枢 据 杉 澄 寸 世 瀬 畝 是 制 勢 姓 征 性 成 政 整 星 晴 正 清 牲
47
+ 生 盛 精 聖 声 製 西 誠 誓 請 逝 青 静 斉 税 隻 席 惜 斥 昔 析 石 積 籍 績
48
+ 責 赤 跡 切 拙 接 摂 折 設 窃 節 説 雪 絶 舌 仙 先 千 占 宣 専 川 戦 扇 栓
49
+ 泉 浅 洗 染 潜 旋 線 繊 船 薦 践 選 遷 銭 銑 鮮 前 善 漸 然 全 禅 繕 塑 措
50
+ 疎 礎 祖 租 粗 素 組 訴 阻 僧 創 双 倉 喪 壮 奏 層 想 捜 掃 挿 操 早 曹 巣
51
+ 槽 燥 争 相 窓 総 草 荘 葬 藻 装 走 送 遭 霜 騒 像 増 憎 臓 蔵 贈 造 促 側
52
+ 則 即 息 束 測 足 速 俗 属 賊 族 続 卒 存 孫 尊 損 村 他 多 太 堕 妥 惰 打
53
+ 駄 体 対 耐 帯 待 怠 態 替 泰 滞 胎 袋 貸 退 逮 隊 代 台 大 第 題 滝 卓 宅
54
+ 択 拓 沢 濯 託 濁 諾 但 達 奪 脱 棚 谷 丹 単 嘆 担 探 淡 炭 短 端 胆 誕 鍛
55
+ 団 壇 弾 断 暖 段 男 談 値 知 地 恥 池 痴 稚 置 致 遅 築 畜 竹 蓄 逐 秩 窒
56
+ 茶 嫡 着 中 仲 宙 忠 抽 昼 柱 注 虫 衷 鋳 駐 著 貯 丁 兆 帳 庁 弔 張 彫 徴
57
+ 懲 挑 朝 潮 町 眺 聴 脹 腸 調 超 跳 長 頂 鳥 勅 直 朕 沈 珍 賃 鎮 陳 津 墜
58
+ 追 痛 通 塚 漬 坪 釣 亭 低 停 偵 貞 呈 堤 定 帝 底 庭 廷 弟 抵 提 程 締 艇
59
+ 訂 逓 邸 泥 摘 敵 滴 的 笛 適 哲 徹 撤 迭 鉄 典 天 展 店 添 転 点 伝 殿 田
60
+ 電 吐 塗 徒 斗 渡 登 途 都 努 度 土 奴 怒 倒 党 冬 凍 刀 唐 塔 島 悼 投 搭
61
+ 東 桃 棟 盗 湯 灯 当 痘 等 答 筒 糖 統 到 討 謄 豆 踏 逃 透 陶 頭 騰 闘 働
62
+ 動 同 堂 導 洞 童 胴 道 銅 峠 匿 得 徳 特 督 篤 毒 独 読 凸 突 届 屯 豚 曇
63
+ 鈍 内 縄 南 軟 難 二 尼 弐 肉 日 乳 入 如 尿 任 妊 忍 認 寧 猫 熱 年 念 燃
64
+ 粘 悩 濃 納 能 脳 農 把 覇 波 派 破 婆 馬 俳 廃 拝 排 敗 杯 背 肺 輩 配 倍
65
+ 培 媒 梅 買 売 賠 陪 伯 博 拍 泊 白 舶 薄 迫 漠 爆 縛 麦 箱 肌 畑 八 鉢 発
66
+ 髪 伐 罰 抜 閥 伴 判 半 反 帆 搬 板 版 犯 班 畔 繁 般 藩 販 範 煩 頒 飯 晩
67
+ 番 盤 蛮 卑 否 妃 彼 悲 扉 批 披 比 泌 疲 皮 碑 秘 罷 肥 被 費 避 非 飛 備
68
+ 尾 微 美 鼻 匹 必 筆 姫 百 俵 標 氷 漂 票 表 評 描 病 秒 苗 品 浜 貧 賓 頻
69
+ 敏 瓶 不 付 夫 婦 富 布 府 怖 扶 敷 普 浮 父 符 腐 膚 譜 負 賦 赴 附 侮 武
70
+ 舞 部 封 風 伏 副 復 幅 服 福 腹 複 覆 払 沸 仏 物 分 噴 墳 憤 奮 粉 紛 雰
71
+ 文 聞 丙 併 兵 塀 幣 平 弊 柄 並 閉 陛 米 壁 癖 別 偏 変 片 編 辺 返 遍 便
72
+ 勉 弁 保 舗 捕 歩 補 穂 募 墓 慕 暮 母 簿 倣 俸 包 報 奉 宝 峰 崩 抱 放 方
73
+ 法 泡 砲 縫 胞 芳 褒 訪 豊 邦 飽 乏 亡 傍 剖 坊 妨 帽 忘 忙 房 暴 望 某 棒
74
+ 冒 紡 肪 膨 謀 貿 防 北 僕 墨 撲 朴 牧 没 堀 奔 本 翻 凡 盆 摩 磨 魔 麻 埋
75
+ 妹 枚 毎 幕 膜 又 抹 末 繭 万 慢 満 漫 味 未 魅 岬 密 脈 妙 民 眠 務 夢 無
76
+ 矛 霧 婿 娘 名 命 明 盟 迷 銘 鳴 滅 免 綿 面 模 茂 妄 毛 猛 盲 網 耗 木 黙
77
+ 目 戻 問 紋 門 匁 夜 野 矢 厄 役 約 薬 訳 躍 柳 愉 油 癒 諭 輸 唯 優 勇 友
78
+ 幽 悠 憂 有 猶 由 裕 誘 遊 郵 雄 融 夕 予 余 与 誉 預 幼 容 庸 揚 揺 擁 曜
79
+ 様 洋 溶 用 窯 羊 葉 要 謡 踊 陽 養 抑 欲 浴 翌 翼 羅 裸 来 頼 雷 絡 落 酪
80
+ 乱 卵 欄 濫 覧 利 吏 履 理 痢 裏 里 離 陸 律 率 立 略 流 留 硫 粒 隆 竜 慮
81
+ 旅 虜 了 僚 両 寮 料 涼 猟 療 糧 良 量 陵 領 力 緑 倫 厘 林 臨 輪 隣 塁 涙
82
+ 累 類 令 例 冷 励 礼 鈴 隷 零 霊 麗 齢 暦 歴 列 劣 烈 裂 廉 恋 練 連 錬 炉
83
+ 路 露 労 廊 朗 楼 浪 漏 老 郎 六 録 論 和 話 賄 惑 枠 湾 腕
84
+ ].sort();
85
+
86
+ KANJI_JINMEI = %w[
87
+ 丑 丞 串 乃 之 乎 也 云 亘 亙 些 亦 亥 亨 亮 仔 伊 伎 伍 伽 佃 佑 伶 侃 侑
88
+ 俄 俠 俣 俐 侶 倭 俺 俱 倦 倖 偲 僅 傭 儲 允 兎 兜 其 冥 冴 冶 凄 凌 凜 凛
89
+ 凧 凪 凰 凱 函 刹 劉 劫 勁 勃 勾 匂 勿 匡 廿 卜 卯 卿 厨 厩 叉 叡 叢 叶 只
90
+ 吾 吞 吻 呂 哉 哨 啄 唄 哩 喬 喧 喰 喋 嘩 嘉 嘗 噌 噂 圃 圭 坐 尭 堯 坦 埼
91
+ 埴 堆 堰 堺 堵 塙 塞 塡 壕 壬 夷 奄 奈 奎 套 妖 娃 姪 姥 娩 媛 嬉 孟 宏 宋
92
+ 宛 宕 宥 寅 寓 寵 尖 尤 屑 岡 峨 峻 崖 崚 嵐 嵯 嵩 嶺 巌 巖 已 巳 巴 巷 巽
93
+ 巾 帖 幌 幡 庄 庇 庚 庵 廟 廻 弘 弛 弥 彌 彗 彦 彪 彬 徠 忽 怜 恢 恰 恕 悌
94
+ 惟 惚 悉 惇 惹 惺 惣 慧 憧 憐 戊 或 戚 戟 戴 托 按 拶 拭 挨 拳 捉 挺 挽 掬
95
+ 捲 捷 捺 捻 捧 掠 揃 摑 摺 撒 撰 撞 播 撫 擢 孜 敦 斑 斐 斡 斧 斯 於 旦 旭
96
+ 旺 昂 昊 昏 昌 昧 昴 晏 晃 晄 晒 晋 晟 晦 晨 智 暉 暢 曖 曙 曝 曳 曽 曾 朋
97
+ 朔 杏 杖 杜 李 杭 杵 枕 杷 枇 柑 柴 柵 柿 柘 柊 栃 柏 柾 柚 桧 檜 栞 桔 桂
98
+ 桁 栖 桐 栗 梧 梗 梓 梢 梛 梯 桶 梶 椛 梨 梁 椅 棲 椎 椋 椀 楯 楚 楕 椿 楠
99
+ 楓 椰 楢 楊 榎 樺 榊 榛 槙 槇 槍 槌 樫 槻 樟 樋 橘 樽 橙 檎 檀 櫂 櫛 櫓 欣
100
+ 欽 歎 此 殆 毅 毘 毬 汀 汝 汐 汎 汲 沙 汰 沌 沓 沫 洸 洲 洵 洛 浩 浬 淵 淳
101
+ 渚 渚 淀 淋 渥 湘 湊 湛 湧 溢 滉 溜 漱 漕 漣 澪 濡 瀕 灘 灸 灼 烏 焰 焚 煌
102
+ 煎 煤 煉 熙 熊 燕 燎 燦 燭 燿 爪 爽 爾 牒 牙 牟 牡 牽 犀 狼 猪 猪 獅 玖 玩
103
+ 珂 珈 珊 珀 玲 琢 琢 琉 瑛 琥 琶 琵 琳 瑚 瑞 瑶 瑳 瑠 璃 瓜 瓢 瓦 甥 甫 畏
104
+ 畠 畢 畿 疋 疏 瘦 皐 皓 眉 眸 睦 瞳 瞥 瞭 矩 砦 砥 砧 硯 碓 碗 碩 碧 磐 磯
105
+ 祇 祢 禰 祐 祐 祷 禱 禄 祿 禎 禎 禽 禾 秦 秤 稀 稔 稟 稜 稽 穣 穰 穹 穿 窄
106
+ 窟 窪 窺 竣 竪 竺 竿 笈 笹 笙 笠 筈 筑 箕 箔 箸 篇 篠 簞 簾 籾 粥 粟 糊 紘
107
+ 紗 紐 絃 紬 絆 絢 綺 綜 綴 緋 綾 綸 縞 徽 繫 繡 纂 纏 羚 羨 翔 翠 耀 而 耶
108
+ 耽 聡 肇 肋 肘 肴 胤 胡 脇 脩 腔 腎 膏 膳 臆 臥 臼 舜 舷 舵 艶 芥 芹 芯 芭
109
+ 芙 芦 苑 茄 苔 苺 茅 茉 茨 茸 茜 莞 荻 莫 莉 菅 菫 菖 萄 菩 萌 萠 萊 菱 葦
110
+ 葛 葵 萱 葺 萩 董 葡 蓋 蓑 蒔 蒐 蒼 蒲 蒙 蓉 蓮 蔭 蔣 蔦 蓬 蔓 蕎 蕨 蕉 蕃
111
+ 蕪 蔽 薙 蕾 蕗 藁 薩 藤 藍 蘇 蘭 虎 虹 蜂 蜜 蝦 蝶 螺 蟬 蟹 蠟 衿 袖 袈 袴
112
+ 裡 裾 裟 裳 襖 訊 訣 註 詣 詢 詮 詫 誼 諏 諄 誰 諒 謂 諺 諦 謎 讃 豹 貌 貰
113
+ 貼 賑 赳 跨 蹄 蹟 蹴 輔 輯 輿 轟 辰 辻 迂 迄 辿 迪 迦 這 逞 逗 逢 遥 遙 遁
114
+ 遡 遜 遼 邑 那 祁 郁 鄭 酉 酎 醇 醐 醒 醍 醬 采 釉 釘 釜 釧 鋒 鋸 錦 錐 錆
115
+ 錫 鍋 鍵 鍬 鎧 鎌 閃 閏 閤 闇 阜 阪 阿 陀 隈 隙 隼 雀 雁 雛 雫 霞 靖 鞄 鞍
116
+ 鞘 鞠 鞭 韓 頁 頃 須 頌 頓 頗 頰 顚 颯 餅 饗 馨 馴 馳 駕 駒 駿 驍 魁 魯 鮎
117
+ 鯉 鯛 鰯 鱒 鱗 鳩 鳶 鳳 鴨 鴻 鵜 鵬 鶴 鷗 鷲 鷺 鷹 鹿 麒 麓 麟 麿 黎 黛 鼎
118
+ 亀 亞 惡 爲 逸 榮 衞 謁 圓 緣 薗 應 櫻 奧 橫 溫 價 禍 悔 海 壞 懷 樂 渴 卷
119
+ 陷 寬 漢 氣 祈 器 僞 戲 虛 峽 狹 響 曉 勤 謹 駈 勳 薰 惠 揭 鷄 藝 擊 縣 儉
120
+ 劍 險 圈 檢 顯 驗 嚴 廣 恆 黃 國 黑 穀 碎 雜 祉 視 兒 濕 實 社 者 煮 壽 收
121
+ 臭 從 澁 獸 縱 祝 暑 署 緖 諸 敍 將 祥 涉 燒 奬 條 狀 乘 淨 剩 疊 孃 讓 釀
122
+ 神 眞 寢 愼 盡 粹 醉 穗 瀨 齊 靜 攝 節 專 戰 纖 禪 祖 壯 爭 莊 搜 巢 裝 僧
123
+ 層 騷 增 憎 藏 贈 臟 卽 帶 滯 瀧 單 嘆 團 彈 晝 鑄 著 廳 徵 聽 懲 鎭 轉 傳
124
+ 都 嶋 燈 盜 稻 德 突 難 拜 盃 賣 梅 髮 拔 繁 晚 卑 祕 碑 賓 敏 冨 侮 福 拂
125
+ 佛 勉 步 峯 墨 飜 每 萬 默 埜 藥 與 搖 樣 謠 來 賴 覽 欄 龍 虜 凉 綠 淚 壘
126
+ 類 禮 曆 歷 練 鍊 郞 朗 廊 錄
127
+ ].sort();
128
+
129
+ KANJI_HYOUGAI = %w[
130
+ 啞 唖 蛙 鴉 埃 挨 曖 靄 軋 斡 按 庵 鞍 闇 已 夷 畏 韋 帷 萎 椅 葦 彙 飴 謂
131
+ 閾 溢 鰯 尹 咽 殷 淫 隕 蔭 于 迂 盂 烏 鬱 云 暈 穢 曳 洩 裔 穎 頴 嬰 翳 腋
132
+ 曰 奄 宛 怨 俺 冤 袁 婉 焉 堰 淵 焰 筵 厭 鳶 燕 閻 嚥 嗚 凰 嘔 鴨 甕 襖 謳
133
+ 鶯 鷗 鴎 鸚 臆 俤 瓜 呵 苛 珂 迦 訛 訶 跏 嘩 瑕 榎 窩 蝦 蝸 鍋 顆 牙 瓦 臥
134
+ 俄 峨 訝 蛾 衙 駕 芥 乖 廻 徊 恢 晦 堺 潰 鞋 諧 檜 蟹 咳 崖 蓋 漑 骸 鎧 喀
135
+ 廓 摑 攪 撹 愕 萼 諤 顎 鰐 樫 絣 筈 葛 闊 鰹 萱 奸 串 旱 函 咸 姦 宦 柑 竿
136
+ 悍 桓 涵 菅 嵌 鉗 澗 翰 諫 瞰 韓 檻 灌 玩 雁 翫 頷 癌 贋 几 卉 其 祁 耆 埼
137
+ 悸 揆 毀 箕 畿 窺 諱 徽 櫃 妓 祇 魏 蟻 掬 麴 麹 吃 屹 拮 謔 仇 臼 汲 灸 咎
138
+ 邱 柩 笈 躬 厩 嗅 舅 炬 渠 裾 噓 墟 鋸 遽 欅 匈 怯 俠 脇 莢 竟 卿 僑 嬌 蕎
139
+ 鋏 頰 橿 疆 饗 棘 髷 巾 僅 禽 饉 狗 惧 軀 懼 俱 喰 寓 窟 粂 偈 荊 珪 畦 脛
140
+ 頃 痙 詣 禊 閨 稽 頸 髻 蹊 鮭 繫 睨 戟 隙 抉 頁 訣 蕨 姸 倦 虔 捲 牽 喧 硯
141
+ 腱 鍵 瞼 鹼 鹸 呟 眩 舷 諺 乎 姑 狐 股 涸 菰 袴 壺 跨 糊 醐 齬 亢 勾 叩 尻
142
+ 吼 肛 岡 庚 杭 肴 咬 垢 巷 恍 恰 狡 桁 胱 崗 梗 喉 腔 蛤 幌 煌 鉤 敲 睾 膏
143
+ 閤 膠 篝 縞 薨 糠 藁 鮫 壙 曠 劫 毫 傲 壕 濠 嚙 噛 轟 剋 哭 鵠 乞 忽 惚 昏
144
+ 痕 渾 褌 叉 些 嗟 蓑 磋 坐 挫 晒 柴 砦 犀 賽 鰓 榊 柵 炸 窄 簀 刹 拶 紮 撒
145
+ 薩 珊 餐 纂 霰 攢 讃 斬 懺 仔 弛 此 址 祀 屍 屎 柿 茨 恣 砥 祠 翅 舐 疵 趾
146
+ 斯 覗 嗜 滓 獅 幟 摯 嘴 熾 髭 贄 而 峙 痔 餌 竺 雫 𠮟 悉 蛭 嫉 膝 櫛 柘 洒
147
+ 娑 這 奢 闍 杓 灼 綽 錫 雀 惹 娶 腫 諏 鬚 呪 竪 綬 聚 濡 襦 帚 酋 袖 羞 葺
148
+ 蒐 箒 皺 輯 鍬 繡 繍 蹴 讐 鷲 廿 揉 絨 粥 戌 閏 楯 馴 杵 薯 藷 汝 抒 鋤 妾
149
+ 哨 秤 娼 逍 廂 椒 湘 竦 鈔 睫 蛸 鉦 摺 蔣 蒋 裳 誦 漿 蕭 踵 鞘 篠 聳 鍾 醬
150
+ 醤 囁 杖 茸 嘗 擾 攘 饒 拭 埴 蜀 蝕 燭 褥 沁 芯 呻 宸 疹 蜃 滲 賑 鍼 壬 訊
151
+ 腎 靱 塵 儘 笥 祟 膵 誰 錐 雖 隋 隧 芻 趨 鮨 丼 凄 栖 棲 甥 貰 蜻 醒 錆 臍
152
+ 瀞 鯖 脆 贅 脊 戚 晰 蹟 泄 屑 浙 啜 楔 截 尖 苫 穿 閃 陝 釧 揃 煎 羨 腺 詮
153
+ 煽 箋 撰 箭 賤 蟬 癬 喘 膳 狙 疽 疏 甦 楚 鼠 遡 蘇 齟 爪 宋 炒 叟 蚤 曾 曽
154
+ 湊 葱 搔 掻 槍 漕 箏 噌 瘡 瘦 痩 踪 艘 薔 甑 叢 藪 躁 囃 竈 鰺 仄 捉 塞 粟
155
+ 杣 遜 噂 樽 鱒 侘 咤 詫 陀 拿 荼 唾 舵 楕 驒 苔 殆 堆 碓 腿 頽 戴 醍 托 鐸
156
+ 凧 襷 燵 坦 疸 耽 啖 蛋 毯 湛 痰 綻 憚 歎 簞 譚 灘 雉 馳 蜘 緻 筑 膣 肘 冑
157
+ 紐 酎 厨 蛛 註 誅 疇 躊 佇 楮 箸 儲 瀦 躇 吊 帖 喋 貼 牒 趙 銚 嘲 諜 寵 捗
158
+ 枕 槌 鎚 辻 剃 挺 釘 掟 梯 逞 啼 碇 鼎 綴 鄭 薙 諦 蹄 鵜 荻 擢 溺 姪 轍 辿
159
+ 唸 塡 篆 顚 囀 纏 佃 淀 澱 臀 兎 妬 兜 堵 屠 賭 宕 沓 套 疼 桶 淘 萄 逗 棹
160
+ 樋 蕩 鄧 橙 濤 檮 櫂 禱 祷 撞 禿 瀆 栃 咄 沌 遁 頓 吞 貪 邇 匂 韮 涅 禰 捏
161
+ 捻 撚 膿 囊 杷 爬 琶 頗 播 芭 罵 蟇 胚 徘 牌 稗 狽 煤 帛 柏 剝 粕 箔 莫 駁
162
+ 瀑 曝 畠 捌 撥 潑 醱 筏 跋 噺 氾 汎 阪 叛 袢 絆 斑 槃 幡 攀 挽 磐 蕃 屁 庇
163
+ 砒 脾 痺 鄙 誹 臂 枇 毘 梶 媚 琵 薇 靡 疋 畢 逼 謬 豹 憑 瓢 屛 屏 廟 牝 瀕
164
+ 憫 鬢 斧 阜 訃 俯 釜 腑 孵 鮒 巫 葡 撫 蕪 諷 祓 吻 扮 焚 糞 幷 并 聘 蔽 餅
165
+ 斃 袂 僻 璧 襞 蔑 瞥 扁 篇 騙 娩 鞭 哺 圃 蒲 戊 牡 姥 菩 呆 彷 庖 苞 疱 捧
166
+ 逢 蜂 蓬 鞄 鋒 牟 芒 茫 虻 榜 膀 貌 鉾 謗 吠 卜 勃 梵 昧 邁 枡 桝 俣 沫 迄
167
+ 曼 蔓 瞞 饅 鬘 鰻 蜜 鵡 冥 瞑 謎 麵 麺 蒙 朦 勿 籾 悶 揶 爺 鑓 喩 揄 愈 楡
168
+ 尤 釉 楢 猷 飫 輿 孕 妖 拗 涌 痒 傭 熔 瘍 蠅 沃 螺 萊 蕾 洛 埒 拉 辣 瀾 爛
169
+ 鸞 狸 裡 罹 籬 戮 慄 掠 笠 溜 榴 劉 瘤 侶 梁 聊 菱 寥 蓼 淋 燐 鱗 屢 蛉 蠣
170
+ 櫟 礫 轢 煉 漣 憐 簾 鰊 攣 賂 魯 濾 沪 廬 櫓 蘆 芦 鷺 弄 牢 狼 榔 瘻 﨟 臘
171
+ 朧 蠟 蝋 籠 聾 肋 勒 漉 麓 窪 歪 猥 隈 或 罠 椀 碗 彎 弯 唖 啞 頴 穎 鴎 鷗
172
+ 撹 攪 麹 麴 鹸 鹼 噛 嚙 繍 繡 蒋 蔣 醤 醬 曽 曾 掻 搔 痩 瘦 祷 禱 屏 屛 并
173
+ 幷 桝 枡 麺 麵 沪 濾 芦 蘆 蝋 蠟 弯 彎
174
+ ].sort();
175
+
176
+ CHARACTERS_HIRAGANA = "\\p{Hiragana}";
177
+ CHARACTERS_KATAKANA = "\\p{Katakana}";
178
+ CHARACTERS_KANJI = "\\u{4E00}-\\u{9FFF}\\u{3400}-\\u{4DBF}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B73F}\\u{F900}-\\u{FAFF}"
179
+ CHARACTERS_JYOUYOU = "#{KANJI_JYOUYOU.join('')}";
180
+ CHARACTERS_JINMEI = "#{KANJI_JINMEI.join('')}";
181
+ CHARACTERS_HYOUGAI = "#{KANJI_HYOUGAI.join('')}";
182
+ CHARACTERS_POPULAR_KANJI = "#{CHARACTERS_JYOUYOU}#{CHARACTERS_JINMEI}#{CHARACTERS_HYOUGAI}"
183
+
184
+ REGEX_HIRAGANA = /[#{CHARACTERS_HIRAGANA}]/;
185
+ REGEX_KATAKANA = /[#{CHARACTERS_KATAKANA}]/;
186
+ REGEX_KANJI = /[#{CHARACTERS_KANJI}]/;
187
+ REGEX_POPULAR_KANJI = /[#{CHARACTERS_POPULAR_KANJI}]/;
188
+
189
+ REGEX_NO_KANJI = /[^#{CHARACTERS_KANJI}]/;
190
+ REGEX_NO_POPULAR_KANJI = /[^#{CHARACTERS_POPULAR_KANJI}]/;
191
+
192
+ def self.include_hiragana?(text)
193
+ return !(REGEX_HIRAGANA.match(text).nil?);
194
+ end
195
+ def self.include_katakana?(text)
196
+ return !(REGEX_KATAKANA.match(text).nil?);
197
+ end
198
+ def self.include_kanji?(text)
199
+ return !(REGEX_KANJI.match(text).nil?);
200
+ end
201
+ def self.include_popular_kanji?(text)
202
+ return !(REGEX_POPULAR_KANJI.match(text).nil?);
203
+ end
204
+
205
+ # 簡易日本語判定
206
+ # ・ひらがな、カタカナを含む
207
+ # ・漢字を含むが、常用漢字・人名漢字・表外漢字以外の漢字を含まない
208
+ def self.japanese?(text)
209
+ return true if (self.include_hiragana?(text) || self.include_katakana?(text));
210
+ return true if (text.gsub(REGEX_NO_KANJI,"") =~ /^[#{CHARACTERS_POPULAR_KANJI}]+$/);
211
+ return false;
212
+ end
213
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Jelegante" do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'jelegante'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jelegante
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 1.0.1
6
+ platform: ruby
7
+ authors:
8
+ - lpm11
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-10-03 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ requirement: &id001 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: 2.3.0
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: bundler
28
+ requirement: &id002 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.0.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: jeweler
39
+ requirement: &id003 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 1.6.4
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: rcov
50
+ requirement: &id004 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *id004
59
+ description: Guess whether text is japanese or not heuristically.
60
+ email: lpm11r@gmail.com
61
+ executables: []
62
+
63
+ extensions: []
64
+
65
+ extra_rdoc_files:
66
+ - LICENSE.txt
67
+ - README.rdoc
68
+ files:
69
+ - .document
70
+ - .rspec
71
+ - Gemfile
72
+ - LICENSE.txt
73
+ - README.rdoc
74
+ - Rakefile
75
+ - VERSION
76
+ - example/sample1.rb
77
+ - jelegante.gemspec
78
+ - lib/jelegante.rb
79
+ - spec/jelegante_spec.rb
80
+ - spec/spec_helper.rb
81
+ homepage: http://github.com/lpm11/jelegante
82
+ licenses:
83
+ - MIT
84
+ post_install_message:
85
+ rdoc_options: []
86
+
87
+ require_paths:
88
+ - lib
89
+ required_ruby_version: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ hash: -2642319369464897638
95
+ segments:
96
+ - 0
97
+ version: "0"
98
+ required_rubygems_version: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: "0"
104
+ requirements: []
105
+
106
+ rubyforge_project:
107
+ rubygems_version: 1.8.10
108
+ signing_key:
109
+ specification_version: 3
110
+ summary: Guess whether text is japanese or not heuristically.
111
+ test_files: []
112
+