ref: 030d8259f711b8f599ffb073885cca85981c50c7
parent: 1bea44dc3654c8bb7ab47ebeb5c975734a6aa3f4
author: Romi Hervier <r@sansfontieres.com>
date: Wed Jun 29 11:31:15 EDT 2022
Cleaned up the repository. Switching some settings. No more extra files. I kept Kenji’s READMEs though. Changed $KTJISHO for $jisho, the default kanji dictionnary is now $home/lib/kanji.dict, and now switching back to latin is done through Ctrl+t instead of Ctrl+e.
--- a/Kanji
+++ /dev/null
@@ -1,4 +1,0 @@
-#!/bin/rc
-
-pipefile -r ktrans /dev/cons
-rio -i $home/lib/windows </dev/cons
--- /dev/null
+++ b/README.md
@@ -1,0 +1,33 @@
+````
+-
+ktrans 2000—? Kenji Okamoto
+ 2014—? Cinap Lenrek
+ 2021 Romi Hervier
+-
+
+README
+````
+
+# ktrans
+
+`ktrans` is an input method on Plan 9 to get somewhat direct access to non-latin graphemes. This version was updated by Kenji and Cinap but due to the lack of prior versionning, I can’t tell who did what and when.
+
+I updated it with some light tweaks and cleaned up the unnecessary files.
+
+
+## Changes
+
+- `$jisho` replaces `$KTJISHO`
+- Ctrl+t replaces Ctrl+e
+
+
+## Usage
+
+Run `mk install` and add start your next rio session by adding `ktrans` right before rio in your `$home/lib/profile`. The dictionnary to translate kana to kanji is expected to be `$home/lib/kanji.dict` but you can define a custom location with the environment variable `$jisho`.
+
+Your next rio session will start with ktrans enabled. Refer to Kenji’s README for more usage informations, but keep in mind the list of changes. If Shift+Spaced doesn’t work for kanji translation, try Ctrl+\.
+
+
+## Custom dictionnary
+
+The jisho converted by Kenji is pretty complete. If you need to add missing kanji translations, the best way is to make your own `.dict` file. For convenience, I created the `kanjimerge` script that will merge every `*.kanji.dict` in `$home/lib` into `kanji.dict` or `$jisho`.
--- /dev/null
+++ b/kanjimerge
@@ -1,0 +1,8 @@
+#!/bin/rc
+
+if(test -e /env/jisho)
+ dict=$jisho
+if not
+ dict=$home/lib/test.dict
+
+ssam ',x/;;.*\n/d' $home/lib/*.kanji.dict >> $dict
--- /dev/null
+++ b/kenji.kanji.dict
@@ -1,0 +1,1292 @@
+;; Medium size dictionary for SKK system
+;; version 8.1 of May 24, 1995.
+;;
+;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995
+;; Masahiko Sato (masahiko@sato.riec.tohoku.ac.jp),
+;; Hironobu Takahashi (takahasi@tiny.or.jp),
+;; Masahiro Doteguchi, Miki Inooka,
+;; Yukiyoshi Kameyama, Akihiko Sasaki, Dai Ando, Junichi Okukawa,
+;; Katsushi Sato and Nobuhiro Yamagishi
+;;
+;; This dictionary is free software; you can redistribute it and or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either versions 2, or (at your option)
+;; any later version.
+;;
+;; This dictionary is distributed in the hope that it will be useful
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with SKK, see the file COPYING. If not, write to the Free
+;; Software Foundation Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;;
+;; re-arranged for ktrans of Plan 9 by Kenji Okamoto
+;; (okamoto@granite.cias.osakafu-u.ac.jp).
+;; Feb. 17, 2000
+;; okuri-ari entries.
+あb 浴
+あe 合 会 逢
+あg 挙 揚 上
+あi 合 会 空 開
+あk 飽 開 明 空
+あo 合
+あr 有 在
+あs 悪
+あt 当 有 挙 合 会 蓬
+あu 合 逢 会
+あw 合 会
+あいs 愛
+あいかわr 相変
+あおi 青
+あおk 青
+あかi 赤
+あかn 赤
+あかr 明
+あきr 明
+あきらm 諦
+あさi 浅
+あさk 浅
+あずk 預
+あせt 焦
+あそb 遊
+あそn 遊
+あたe 与
+あたr 辺 当
+あたt 当 的
+あたたk 暖
+あたたm 暖
+あたらs 新
+あつi 熱 暑 厚
+あつk 厚 熱 暑
+あつk 厚 熱 暑
+あつs 暑
+あつm 集 厚
+あつかe 扱
+あつかi 扱
+あつかo 扱
+あつかt 扱
+あつかu 扱
+あつかw 扱
+あばr 暴
+あぶn 危
+あぶなi 危
+あまe 甘
+あまi 甘
+あまr 余
+あやs 怪
+あやまr 誤 謝
+あやまt 誤 謝
+あゆm 歩
+あらe 洗
+あらi 洗 荒
+あらt 新 洗
+あらu 洗
+あらz 非
+あらいだs 洗い出
+あらかじm 予
+あらそu 争
+あらたm 改
+あらわr 現
+あらわs 現 表
+ありがたi 有難
+ありがとu 有難
+あるi 歩
+あるk 歩
+あわi 淡
+あわr 憐 哀
+あわs 淡
+あんしんs 安心
+いe 言
+いi 言 良
+いk 行 生
+いm 居
+いn 居
+いo 言
+いr 入 居 煎
+いt 言 行 居
+いu 言 云
+いw 言
+いかr 怒
+いかt 怒
+いきおi 勢
+いきぎr 息切
+いくr 幾
+いくt 幾
+いくとおr 幾通
+いそg 急
+いそi 急
+いそがs 忙
+いたi 痛
+いたm 痛 傷 炒
+いたn 痛 傷
+いたr 至 到
+いたs 致
+いたt 至
+いただi 頂 戴
+いただk 頂 戴
+いだi 抱
+いだk 抱
+いちじるs 著
+いちずk 位置付
+いっt 言 行
+いっしょn 一緒
+いとs 愛
+いなm 否
+いのr 祈
+いのt 祈
+いれかe 入れ替
+いわi 祝
+いわu 祝
+うe 飢 植
+うi 浮
+うk 受 浮
+うm 埋 生 産
+うr 売 得
+うt 売 打
+うかがe 伺
+うかがi 伺
+うかがt 伺
+うかがu 窺 伺
+うかがw 伺
+うけつけn 受け付け
+うけつけr 受け付け
+うけとr 受け取 受取
+うけとt 受け取 受取
+うけわたs 受渡
+うごi 動
+うごk 動
+うしなt 失
+うしなu 失
+うしなw 失
+うすi 薄
+うすk 薄
+うすr 薄
+うずm 埋
+うたi 歌
+うたがi 疑
+うたがu 疑
+うたがw 疑
+うったe 訴
+うつr 移
+うつt 移
+うつs 移 映 写
+うつくs 美
+うながs 促
+うばt 奪
+うばu 奪
+うまi 旨 美 甘
+うまk 旨
+うみだs 生み出
+うらm 恨
+うらn 恨
+うらぎr 裏切
+うらなi 占
+うれs 嬉
+えm 得
+えn 得
+えr 得
+えt 得
+えがi 描
+えがk 描
+えらb 選
+えらi 偉
+えらn 選
+えらs 偉
+えんj 演
+えんz 演
+おc 落
+おe 終 追 負
+おi 置 追 負
+おk 起 置
+おo 追
+おp 追
+おr 降 折 居
+おs 押 惜 推
+おt 落 折 負 追
+おu 負 追
+おw 終 追
+おうj 応
+おうz 応
+おおi 多 大
+おおk 大 多
+おおm 多
+おおs 多
+おおt 覆
+おおu 覆
+おおw 覆
+おおくr 御送
+おかs 犯 可笑
+おがm 拝
+おきかe 置き換
+おぎなt 補
+おぎなu 補
+おくr 送 遅 贈
+おくt 送
+おこr 起 怒
+おこs 起
+おこたr 怠
+おこたt 怠
+おこなe 行
+おこなi 行
+おこなo 行
+おこなt 行
+おこなu 行
+おこなw 行
+おさm 収 治 納
+おしe 教
+おそi 遅
+おそk 遅
+おそr 恐
+おそs 遅
+おちこm 落ち込
+おちこn 落ち込
+おちつk 落着
+おとr 劣
+おとs 落
+おとどk 御届
+おどr 踊
+おどろi 驚
+おどろk 驚
+おなj 同
+おねがi お願
+おぼe 覚 憶
+おもe 思
+おもi 思 重 想
+おもk 重
+おもm 重
+おもn 主
+おもs 重
+おもt 思 重 想
+おもu 思 想
+おもw 思
+おもしろi 面白
+おもしろk 面白
+おもしろs 面白
+およb 及
+およg 泳
+おろk 愚
+おわr 終
+おわt 終
+おんよm 音読
+かe 変 替 買 換
+かi 書 買
+かk 書 描 掛 欠 架 賭 駆 懸
+かm 噛
+かn 噛 兼
+かo 買
+かs 貸 加 化 課
+かt 買 勝 掛 刈
+かr 借 苅 刈 枯
+かu 買
+かw 買 替 変 代 換
+かいs 介
+かえr 帰 換
+かえs 返 帰
+かえt 帰 返
+かえりm 省
+かおr 香
+かおだt 顔立
+かおまk 顔負
+かかe 抱
+かかg 掲
+かかr 係
+かかw 関
+かがやi 輝
+かがやk 輝
+かきかe 書換
+かきこm 書込
+かきだs 書出
+かきなおs 書き直
+かきならb 書き並
+かぎr 限
+かぎt 限
+かくr 隠
+かくs 隠
+かくていs 確定
+かこm 囲
+かこn 囲
+かこu 囲
+かさn 重
+かざr 飾
+かざt 飾
+かしこi 賢
+かしこk 賢
+かすm 霞 掠 翳
+かせg 稼
+かぞe 数
+かたi 難 固 堅
+かたk 固
+かたm 固 傾
+かたr 語
+かたt 語
+かたつk 型付
+かたむi 傾
+かなs 悲
+かなu 叶
+かならz 必
+かまe 構
+かまi 構
+かまu 構
+かまw 構
+かよe 通
+かよi 通
+かよo 通
+かよt 通
+かよu 通
+かよw 通
+からm 絡
+からn 絡
+かるi 軽
+かるk 軽
+かるs 軽
+かれr 彼
+かわr 変 代 換
+かわt 変
+かわいg 可愛
+かわいi 可愛
+かわいk 可愛
+かわいr 可愛
+かんj 感
+かんs 関
+かんj 感
+かんz 感
+かんがe 考
+かんしゃs 感謝
+がんせき 岩石
+かんだかi 甲高
+かんちがi 勘違
+かんねんs 観念
+がんばr 頑張
+がんばt 頑張
+きe 消
+きg 気
+きi 聞 聴 効
+きk 聞 聴 効 利
+きm 決 来
+きr 切 着
+きs 記
+きt 来 切 着
+きかe 着換
+きさいs 記載
+きざm 刻
+きずt 傷
+きたn 汚
+きづi 気付
+きづk 気付
+きどr 気取
+きびs 厳
+きもt 気持
+きゅうs 窮
+きょうh 今日
+きよi 清
+きらi 嫌
+きらt 嫌
+きらu 嫌
+きらw 嫌
+きりかえn 切り替え
+きりかえr 切り替え
+きりたt 切り立
+きりはなs 切離
+きわm 極
+きわだt 際立
+きんちょうs 緊張
+ぎゃくじょうs 逆上
+ぎゃくもどr 逆戻
+ぎゃっこうs 逆行
+くe 喰 食
+くi 食 喰 悔
+くm 組
+くn 組
+くr 来 繰 暮
+くt 食 喰
+くu 食 喰
+くw 食 喰
+くぎr 区切
+くぎt 区切
+くずr 崩
+くだk 砕
+くだr 下
+くだs 下
+くだt 下
+くつがえs 覆
+くばr 配
+くばt 配
+くみあw 組合
+くみこm 組込
+くみとr 汲み取
+くもr 曇
+くやm 悔
+くらb 比 較
+くらi 暗
+くらk 暗
+くらs 暮
+くらt 食
+くりあw 繰り合
+くりかえs 繰り返
+くるi 狂
+くるs 苦
+くるt 狂
+くるu 狂
+くわe 加
+くわs 詳
+くわw 加
+けr 蹴
+けs 消 決
+けt 蹴
+けいえいs 経営
+けいこくs 警告
+けずr 削
+けずt 削
+けっs 決
+けんとうs 検討
+げんj 減
+げんz 減
+こe 越
+こg 焦
+こi 濃 来
+こk 濃
+こm 込 混
+こn 込 来 混
+こr 来 懲 凝
+こs 越 漉
+こt 凝
+こu 乞 請
+こy 来
+こうj 高
+こうしょう 鉱床 高尚
+こうぶつ 鉱物 好物
+こうりょs 考慮
+こえt 超
+こおr 凍
+こおt 凍
+こころh 心
+こころm 試
+こごe 凍
+こじs 誇示
+こたe 答 応
+ことn 異
+ことw 断
+ことごとk 尽
+ことなr 異
+ことわr 断
+ことわt 断
+このm 好
+こまk 細
+こまr 困
+こまt 困
+こまc 困
+こもr 籠 隠
+こもt 籠 隠
+ころb 転
+ころg 転
+ころn 転
+ころs 殺
+こわg 怖 恐
+こわi 恐 怖
+こわr 壊
+こわs 壊 恐
+ごぞんj 御存
+さe 冴
+さg 下
+さi 咲 裂 割
+さk 避 咲 裂 割
+さm 覚
+さr 去
+さs 指 差 刺
+さt 去
+さいわi 幸
+さかn 盛
+さかr 盛
+さがs 捜 探
+さきだt 先立
+さぐr 探
+さけb 叫
+さけn 叫
+ささe 支
+さずk 授
+さそi 誘
+さそt 誘
+さそu 誘
+さそw 誘
+さだk 定
+さだm 定
+さっs 察
+さっちs 察知
+さとr 悟
+さとt 悟
+さばk 捌
+さびs 寂 淋
+さみs 淋 寂
+さむi 寒
+さむk 寒
+さむs 寒
+さらn 更
+さらs 晒
+さわg 騒
+さわi 騒
+さわr 触
+さわt 触
+ざいせきs 在籍
+しi 強
+しk 敷
+しm 締 占 閉
+しn 死
+しr 知
+しt 知
+しあg 仕上
+しあわs 幸
+しかk 仕掛
+しかr 叱
+しかt 叱
+しかくi 四角
+しくm 仕組
+しずk 静
+しずm 沈
+しずn 沈
+したs 親
+したがe 従
+したがi 従
+したがt 従
+したがu 順 従
+したがw 従
+したたr 舌足
+しのb 偲 忍
+しのg 凌
+しはらi 支払
+しはらt 支払
+しはらu 支払
+しはらw 支払
+しばr 縛
+しぶi 渋
+しぶt 渋
+しぼr 絞
+しぼt 絞
+しめp 湿
+しめs 示
+しめきr 締切
+しゃべr 喋
+しゃべt 喋
+しょうj 生
+しょうs 称
+しょじs 所持
+しようs 使用
+しらb 調
+しるs 記
+しろi 白
+しろk 白
+しんj 信
+じてんd 時点
+じゅんj 準
+じゅんz 準
+すe 据
+すg 過
+すi 済 吸 空
+すk 好
+すm 済 住 澄
+すn 住 済
+すr 擦 摺 刷
+すt 捨 吸
+すu 吸
+すくi 救
+すくn 少
+すくu 救 巣く 抄 済
+すくw 救
+すぐr 優
+すこs 少
+すごi 凄
+すごk 凄
+すごm 凄
+すごs 凄 過
+すすm 進 勧 薦
+すすn 進
+すずs 涼
+すでn 既
+すなわc 即
+すなわt 即
+すばr 素晴
+すばやi 素早
+すばらs 素晴
+すべr 滑
+すべt 全 滑
+するどi 鋭
+すわr 座
+すわt 座
+ずm 済
+せk 急
+せm 責
+せs 接
+せいちょうs 成長
+せっきんs 接近
+せっしょくs 接触
+せつめいs 説明
+せまi 狭
+せまr 迫
+せまt 迫
+ぜっs 絶
+ぜんk 前
+そe 添
+そi 沿
+そm 初 染
+そt 沿 添
+そだt 育
+そなe 備
+そろe 揃
+そろi 揃
+そろt 揃
+そろu 揃
+ぞんj 存
+ぞんz 存
+たb 食
+たc 立
+たe 耐 絶
+たk 焚
+たm 溜
+たn 他
+たr 足 垂
+たs 足 達
+たt 立 建 断 経
+たいs 対 大
+たおr 倒
+たおs 倒
+たかi 高
+たかk 高
+たかm 高
+たかs 高
+たがi 互
+たしk 確
+たすk 助
+たずn 尋
+たたk 叩
+たたかt 闘 戦
+たたかu 闘
+ただs 但 正
+ただc 直
+ただt 直
+たとe 例
+たおr 倒
+たおr 倒
+たのm 頼
+たのn 頼
+たのs 楽
+たまr 溜
+たまt 溜
+ためn 為
+ためs 試
+たもt 保
+たよr 頼 便
+たよt 頼
+たんn 単
+だs 出
+たいおうs 対応
+だいすk 大好
+だまr 黙
+だまs 騙
+だまt 黙
+ちr 散
+ちいs 小
+ちかi 近
+ちかk 近
+ちかt 誓
+ちかu 誓
+ちかづi 近付
+ちがe 違
+ちがi 違
+ちがt 違
+ちがu 違
+ちがw 違
+ちじm 縮
+ちまよt 血迷
+つg 告 継
+つi 付 着 突 憑 継
+つk 付 着 突 漬 尽 使 点 尾
+つm 詰 積
+つn 積
+つr 連 釣 吊
+つt 突
+ついy 費
+つうj 通
+つうほうs 通報
+つかe 使
+つかi 使 遣
+つかm 捕 掴
+つかo 使
+つかr 疲
+つかt 使
+つかu 使
+つかw 使
+つかさどr 司
+つくr 作 創 造
+つくt 作
+つくろi 繕
+つくろu 繕
+つけくわe 付け加
+つずr 綴
+つたe 伝
+つたt 伝
+つたu 伝
+つたw 伝
+つだi 伝
+つつm 包
+つつしm 慎
+つつしn 謹
+つづi 続
+つづk 続
+つづr 綴
+つとm 勤 務 努
+つなg 繋
+つなi 継
+つねn 常
+つぶs 潰
+つみあげr 積み上げ
+つみあげt 積み上げ
+つめt 冷
+つづr 綴
+つよi 強
+つよk 強
+つらi 辛
+つらn 連
+づk 付
+てr 照
+てあt 手当
+ておくr 手遅
+てがk 手書
+てきs 適
+てごわi 手強
+てちがi 手違
+てつだe 手伝
+てつだi 手伝
+てつだt 手伝
+てつだu 手伝
+てつづk 手続
+てなおs 手直
+てびk 手引
+てまどr 手間取
+でm 出
+でn 出
+でr 出
+でs 出
+でt 出
+でy 出
+であt 出逢
+であu 出逢
+でかk 出掛
+できm 出来
+できn 出来
+できr 出来
+できs 出来
+できt 出来
+できz 出来
+でまわr 出回
+でそろi 出揃
+でそろu 出揃
+でそろt 出揃
+とb 飛 跳
+とe 問
+とi 問 解
+とj 綴 閉
+とk 解 説 溶 融 熔
+とm 止 泊
+とn 飛
+とr 取 撮 捕 採
+とt 取 撮 採
+とu 問
+とw 問
+とj 閉
+といあw 問い合
+とうj 投
+とおi 遠
+とおk 遠
+とおr 通
+とおs 遠 通
+とおt 通
+とおz 遠
+とくn 特
+とくちょうづk 特徴付
+とっしんs 突進
+ととのt 整
+ととのu 整
+とどi 届
+とどk 届
+とどm 留
+となr 隣
+とぼs 乏
+とまt 止
+ともr 燈
+ともなi 伴
+ともなt 伴
+ともなu 伴
+ともなw 伴
+とらe 捕
+とりあe 取り敢
+とりあげn 取り上げ
+とりあげr 取り上げ
+とりあげt 取り上げ
+とりあつかi 取り扱
+とりあつかu 取り扱
+とりあつかw 取り扱
+とりいr 取り入 取入
+とりかこm 取り囲
+とりだs 取出
+とりつk 取付け
+とりのぞi 取り除
+とりはかr 取り計
+とりまk 取り巻
+どおr 通
+どうせきs 同席
+なi 無 鳴 泣
+なk 無 鳴 亡 泣
+なr 慣 鳴 馴 成
+なs 無 成
+なt 鳴 成
+なおr 直 治
+なおs 直
+なおt 治 直
+なかb 半
+ながi 長 永
+ながk 長
+ながm 眺
+ながr 流
+ながs 流 長
+なごr 名残
+なさk 情
+なつやすm 夏休
+なづk 名付
+ななm 斜
+なにげn 何気
+なのr 名乗
+なまk 怠
+なめr 滑
+なやm 悩
+なやn 悩
+ならb 並
+ならi 習
+ならn 並
+ならt 習
+ならu 習
+ならべかw 並べ変
+ならべかe 並べ変
+なりたt 成り立
+にg 逃
+にr 煮 似
+にs 似
+にt 似 煮
+にy 煮
+にあi 似合
+にあt 似合
+にあu 似合
+にあw 似合
+におe 匂
+におi 匂
+におt 匂
+におu 匂
+におw 匂
+にがi 苦
+にぎr 握
+にぎt 握
+にぎw 賑
+にくi 憎 難
+にくs 憎 難
+にごr 濁
+にごs 濁
+になt 担
+になu 担
+にゅうしゅつりょくn 入出力
+にゅうしゅつりょくm 入出力
+にゅうしゅつりょくh 入出力
+ぬi 抜
+ぬk 抜
+ぬr 塗 濡
+ぬt 塗 縫
+ぬすm 盗
+ねr 寝 練
+ねt 寝
+ねがi 願
+ねがt 願
+ねがu 願
+ねびk 値引
+ねむi 眠
+ねむr 眠
+ねむt 眠
+ねらi 狙
+ねらt 狙
+ねらu 狙
+のb 述 伸 延
+のk 退
+のm 飲 呑
+のn 飲
+のr 乗 載
+のs 載 乗
+のt 乗 載
+のk 乗
+のこr 残
+のこs 残
+のこt 残
+のぞi 除 覗
+のぞk 除 覗
+のぞm 望 臨
+のぞn 望
+のぼr 登 昇
+のぼt 登
+はe 生
+はk 掃除
+はn 跳
+はr 張 貼 晴
+はs 発
+はt 果 貼 張
+はu 這
+はj 恥
+はz 恥
+はいr 入
+はいs 排
+はいt 入
+はかr 図 計 測
+はかt 計
+はげm 励
+はげs 激
+はこb 運
+はこn 運
+はしr 走
+はしt 走
+はじm 始 初
+はずs 外
+はたらi 働
+はたらk 働
+はなr 離
+はなs 離 話 放
+はなy 華
+はぶk 省
+はやi 速 早
+はやk 早 速
+はやm 早 速
+はやs 速 早
+はやt 流行
+はらe 払
+はらi 払
+はらo 払
+はらt 払
+はらu 払
+はらw 払
+はりきr 張り切
+はりきt 張り切
+はりだs 張り出
+はりつけn 張り付け
+はりつけr 張り付け
+はるk 遥
+はんs 反
+ばk 化
+ばあいわk 場合分
+ひe 冷
+ひi 引 弾
+ひk 引 弾 挽
+ひt 引
+ひy 冷
+ひかe 控
+ひかr 光
+ひがえr 日帰
+ひきうk 引き受
+ひきずr 引き摺
+ひきだs 引出
+ひくi 低
+ひくk 低
+ひくs 低
+ひさs 久
+ひそn 潜
+ひっこs 引越
+ひとs 等
+ひとt 一
+ひびk 響
+ひやs 冷
+ひょうへんs 豹変
+ひらi 開
+ひらk 開
+ひろg 広
+ひろi 広
+ひろk 広
+ひろu 拾
+ふe 増
+ふi 吹
+ふk 吹
+ふm 踏
+ふn 踏
+ふr 降 振 触
+ふs 付 伏
+ふt 降 振
+ふy 増
+ふかi 深
+ふかk 深
+ふかm 深
+ふくm 含
+ふくn 含
+ふせg 防
+ふせi 防
+ふたt 二
+ふたたb 再
+ふとi 太
+ふとk 太
+ふとs 太
+ふとどk 不届
+ふりこm 振り込
+ふりこn 振り込
+ふるb 古
+ふるe 震
+ふるi 古
+ふるk 古
+ふるm 古
+ふるs 古
+ふるさとh 故郷
+ふるまi 振舞
+ふるまu 振舞
+ぶr 振
+ぶあつi 分厚
+へr 減
+へt 減 経
+へんかんg 変換
+へんにゅうs 編入
+ほr 掘 惣
+ほs 欲
+ほうt 放
+ほこr 誇
+ほそi 細
+ほそk 細
+ほそm 細
+ほそs 細
+ほそながi 細長
+ほとんd 殆
+ほどこs 施
+ほねおr 骨折
+ぼうえいs 防衛
+まc 待
+まi 舞
+まj 交
+まk 負 巻
+まs 増
+まt 待
+まu 舞
+まj 混
+まz 混 先
+まいr 参 詣
+まいt 参 詣
+まかs 任
+まがr 曲
+まぎr 紛
+まさr 優 勝 増さ
+まじw 交
+まずs 貧
+またh 又
+まちがe 間違
+まちがi 間違
+まちがt 間違
+まちがu 間違
+まったk 全
+まどu 惑
+まなb 学
+まなn 学
+まねi 招
+まねk 招
+まもr 守
+まもt 守
+まよe 迷
+まよi 迷
+まよt 迷
+まよu 迷
+まよw 迷
+まるi 丸 円
+まるk 丸 円
+まわr 周 回
+まわs 周 回
+まわt 回
+みe 見
+みk 見
+みm 見
+みn 見 身
+みr 見 観
+みs 見
+みt 見 満 観
+みw 見
+みy 見
+みz 見
+みあt 見当
+みあw 見合
+みいだs 見出
+みおt 見落
+みおとs 見落
+みかk 見掛
+みきr 見切
+みぎまわr 右回
+みこm 見込
+みさだm 見定
+みしr 見知
+みじかi 短
+みじかm 短
+みだr 乱
+みだs 乱
+みちがu 見違
+みちびi 導
+みちびk 導
+みつk 見付
+みつもr 見積
+みとm 認
+みとおs 見通
+みなr 見慣
+みなs 皆
+みなおs 見直
+みにくi 醜
+みのr 実
+みはr 見張
+みはt 見張
+みまi 見舞
+みまもr 見守
+みやすk 見易
+みやぶr 見破
+むi 向
+むk 向
+むかe 迎
+むかi 向
+むくw 報
+むすb 結
+むすn 結
+むずかs 難
+むづかs 難
+めs 召
+めいr 滅入
+めいt 滅入
+めぐm 恵
+めざs 目指
+めずらs 珍
+めだt 目立
+めつk 目付
+もc 持
+もe 燃
+もr 盛 漏
+もt 持 盛
+もy 燃
+もうk 設 儲
+もうs 申
+もうしあg 申し上
+もちi 用
+もちこm 持ち込
+もちこn 持ち込
+もちだs 持出
+もっとm 最 尤
+もっぱr 専
+もとd 基
+もとm 求
+もとz 基
+もどr 戻
+もどs 戻
+もどt 戻
+もよr 最寄
+もらe 貰
+もらi 貰
+もらt 貰
+もらu 貰
+もらw 貰
+やi 焼
+やk 焼
+やm 止 病 已 罷
+やs 痩
+やくたt 役立
+やくだt 役立
+やさs 易 優
+やしなu 養
+やすi 安 易
+やすk 安 易
+やすm 休
+やすn 休
+やすs 安
+やすうr 安売
+やとu 雇
+やぶr 破 敗
+やわらかi 柔らか 軟らか
+やわらかk 柔らか 軟らか
+ゆk 行
+ゆr 揺
+ゆうs 有
+ゆえn 故
+ゆがm 歪
+ゆがn 歪
+ゆずr 譲
+ゆずt 譲
+ゆたk 豊
+ゆだn 委
+ゆるi 緩
+ゆるm 緩
+ゆるk 緩
+ゆるs 許
+よb 呼
+よi 良 酔
+よk 良
+よm 読 呼
+よn 読 呼
+よr 寄 因 依
+よs 寄 良
+よt 酔 寄
+よw 酔
+ようn 様
+ようs 要
+よくばr 欲張
+よごr 汚
+よせがk 寄書
+よびだs 呼出
+よみかk 読み書
+よみこm 読み込 読込
+よみだs 読み出 読出
+よろs 宜
+よろこb 喜 慶
+よろこn 喜
+よわi 弱
+よわk 弱
+よわm 弱
+よわs 弱
+よわt 弱
+よろこb 喜 慶
+よろこb 喜 慶
+ろんj 論
+ろんz 論
+わk 分 湧
+わr 割
+わかi 若
+わかk 若
+わかr 判 解 分
+わかs 若
+わかt 判 解 分
+わきでr 湧き出
+わきでt 湧き出
+わすr 忘
+わずk 僅
+わずらw 煩
+わたr 渡 亙
+わたs 渡
+わたt 渡
+わらe 笑
+わらi 笑
+わらt 笑
+わらu 笑
+わらw 笑
+わりあt 割当
+わりこm 割込
+わりこn 割り込
+わるi 悪
+わるk 悪
+わるs 悪
+;; okuri-nasi entries.
+あ 阿 娃 唖 亜
+あい 愛 哀 相 姶 挨 合
+あいさつ 挨拶
+あいしょう 愛称 相性
+あいじょう 愛情
+あいだ 間
+あいち 愛知
+あいちゃく 愛着
+あいて 相手
+あいぼう 相棒
+あいまい 曖昧
+あいよう 愛用
+あお 青
+あおい 葵 青井
+あおぞら 青空
+あおば 青葉
+あか 赤 垢
+あかご 赤子
--- a/ktrans-jisho
+++ /dev/null
@@ -1,1292 +1,0 @@
-;; Medium size dictionary for SKK system
-;; version 8.1 of May 24, 1995.
-;;
-;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995
-;; Masahiko Sato (masahiko@sato.riec.tohoku.ac.jp),
-;; Hironobu Takahashi (takahasi@tiny.or.jp),
-;; Masahiro Doteguchi, Miki Inooka,
-;; Yukiyoshi Kameyama, Akihiko Sasaki, Dai Ando, Junichi Okukawa,
-;; Katsushi Sato and Nobuhiro Yamagishi
-;;
-;; This dictionary is free software; you can redistribute it and or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either versions 2, or (at your option)
-;; any later version.
-;;
-;; This dictionary is distributed in the hope that it will be useful
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with SKK, see the file COPYING. If not, write to the Free
-;; Software Foundation Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-;;
-;; re-arranged for ktrans of Plan 9 by Kenji Okamoto
-;; (okamoto@granite.cias.osakafu-u.ac.jp).
-;; Feb. 17, 2000
-;; okuri-ari entries.
-あb 浴
-あe 合 会 逢
-あg 挙 揚 上
-あi 合 会 空 開
-あk 飽 開 明 空
-あo 合
-あr 有 在
-あs 悪
-あt 当 有 挙 合 会 蓬
-あu 合 逢 会
-あw 合 会
-あいs 愛
-あいかわr 相変
-あおi 青
-あおk 青
-あかi 赤
-あかn 赤
-あかr 明
-あきr 明
-あきらm 諦
-あさi 浅
-あさk 浅
-あずk 預
-あせt 焦
-あそb 遊
-あそn 遊
-あたe 与
-あたr 辺 当
-あたt 当 的
-あたたk 暖
-あたたm 暖
-あたらs 新
-あつi 熱 暑 厚
-あつk 厚 熱 暑
-あつk 厚 熱 暑
-あつs 暑
-あつm 集 厚
-あつかe 扱
-あつかi 扱
-あつかo 扱
-あつかt 扱
-あつかu 扱
-あつかw 扱
-あばr 暴
-あぶn 危
-あぶなi 危
-あまe 甘
-あまi 甘
-あまr 余
-あやs 怪
-あやまr 誤 謝
-あやまt 誤 謝
-あゆm 歩
-あらe 洗
-あらi 洗 荒
-あらt 新 洗
-あらu 洗
-あらz 非
-あらいだs 洗い出
-あらかじm 予
-あらそu 争
-あらたm 改
-あらわr 現
-あらわs 現 表
-ありがたi 有難
-ありがとu 有難
-あるi 歩
-あるk 歩
-あわi 淡
-あわr 憐 哀
-あわs 淡
-あんしんs 安心
-いe 言
-いi 言 良
-いk 行 生
-いm 居
-いn 居
-いo 言
-いr 入 居 煎
-いt 言 行 居
-いu 言 云
-いw 言
-いかr 怒
-いかt 怒
-いきおi 勢
-いきぎr 息切
-いくr 幾
-いくt 幾
-いくとおr 幾通
-いそg 急
-いそi 急
-いそがs 忙
-いたi 痛
-いたm 痛 傷 炒
-いたn 痛 傷
-いたr 至 到
-いたs 致
-いたt 至
-いただi 頂 戴
-いただk 頂 戴
-いだi 抱
-いだk 抱
-いちじるs 著
-いちずk 位置付
-いっt 言 行
-いっしょn 一緒
-いとs 愛
-いなm 否
-いのr 祈
-いのt 祈
-いれかe 入れ替
-いわi 祝
-いわu 祝
-うe 飢 植
-うi 浮
-うk 受 浮
-うm 埋 生 産
-うr 売 得
-うt 売 打
-うかがe 伺
-うかがi 伺
-うかがt 伺
-うかがu 窺 伺
-うかがw 伺
-うけつけn 受け付け
-うけつけr 受け付け
-うけとr 受け取 受取
-うけとt 受け取 受取
-うけわたs 受渡
-うごi 動
-うごk 動
-うしなt 失
-うしなu 失
-うしなw 失
-うすi 薄
-うすk 薄
-うすr 薄
-うずm 埋
-うたi 歌
-うたがi 疑
-うたがu 疑
-うたがw 疑
-うったe 訴
-うつr 移
-うつt 移
-うつs 移 映 写
-うつくs 美
-うながs 促
-うばt 奪
-うばu 奪
-うまi 旨 美 甘
-うまk 旨
-うみだs 生み出
-うらm 恨
-うらn 恨
-うらぎr 裏切
-うらなi 占
-うれs 嬉
-えm 得
-えn 得
-えr 得
-えt 得
-えがi 描
-えがk 描
-えらb 選
-えらi 偉
-えらn 選
-えらs 偉
-えんj 演
-えんz 演
-おc 落
-おe 終 追 負
-おi 置 追 負
-おk 起 置
-おo 追
-おp 追
-おr 降 折 居
-おs 押 惜 推
-おt 落 折 負 追
-おu 負 追
-おw 終 追
-おうj 応
-おうz 応
-おおi 多 大
-おおk 大 多
-おおm 多
-おおs 多
-おおt 覆
-おおu 覆
-おおw 覆
-おおくr 御送
-おかs 犯 可笑
-おがm 拝
-おきかe 置き換
-おぎなt 補
-おぎなu 補
-おくr 送 遅 贈
-おくt 送
-おこr 起 怒
-おこs 起
-おこたr 怠
-おこたt 怠
-おこなe 行
-おこなi 行
-おこなo 行
-おこなt 行
-おこなu 行
-おこなw 行
-おさm 収 治 納
-おしe 教
-おそi 遅
-おそk 遅
-おそr 恐
-おそs 遅
-おちこm 落ち込
-おちこn 落ち込
-おちつk 落着
-おとr 劣
-おとs 落
-おとどk 御届
-おどr 踊
-おどろi 驚
-おどろk 驚
-おなj 同
-おねがi お願
-おぼe 覚 憶
-おもe 思
-おもi 思 重 想
-おもk 重
-おもm 重
-おもn 主
-おもs 重
-おもt 思 重 想
-おもu 思 想
-おもw 思
-おもしろi 面白
-おもしろk 面白
-おもしろs 面白
-およb 及
-およg 泳
-おろk 愚
-おわr 終
-おわt 終
-おんよm 音読
-かe 変 替 買 換
-かi 書 買
-かk 書 描 掛 欠 架 賭 駆 懸
-かm 噛
-かn 噛 兼
-かo 買
-かs 貸 加 化 課
-かt 買 勝 掛 刈
-かr 借 苅 刈 枯
-かu 買
-かw 買 替 変 代 換
-かいs 介
-かえr 帰 換
-かえs 返 帰
-かえt 帰 返
-かえりm 省
-かおr 香
-かおだt 顔立
-かおまk 顔負
-かかe 抱
-かかg 掲
-かかr 係
-かかw 関
-かがやi 輝
-かがやk 輝
-かきかe 書換
-かきこm 書込
-かきだs 書出
-かきなおs 書き直
-かきならb 書き並
-かぎr 限
-かぎt 限
-かくr 隠
-かくs 隠
-かくていs 確定
-かこm 囲
-かこn 囲
-かこu 囲
-かさn 重
-かざr 飾
-かざt 飾
-かしこi 賢
-かしこk 賢
-かすm 霞 掠 翳
-かせg 稼
-かぞe 数
-かたi 難 固 堅
-かたk 固
-かたm 固 傾
-かたr 語
-かたt 語
-かたつk 型付
-かたむi 傾
-かなs 悲
-かなu 叶
-かならz 必
-かまe 構
-かまi 構
-かまu 構
-かまw 構
-かよe 通
-かよi 通
-かよo 通
-かよt 通
-かよu 通
-かよw 通
-からm 絡
-からn 絡
-かるi 軽
-かるk 軽
-かるs 軽
-かれr 彼
-かわr 変 代 換
-かわt 変
-かわいg 可愛
-かわいi 可愛
-かわいk 可愛
-かわいr 可愛
-かんj 感
-かんs 関
-かんj 感
-かんz 感
-かんがe 考
-かんしゃs 感謝
-がんせき 岩石
-かんだかi 甲高
-かんちがi 勘違
-かんねんs 観念
-がんばr 頑張
-がんばt 頑張
-きe 消
-きg 気
-きi 聞 聴 効
-きk 聞 聴 効 利
-きm 決 来
-きr 切 着
-きs 記
-きt 来 切 着
-きかe 着換
-きさいs 記載
-きざm 刻
-きずt 傷
-きたn 汚
-きづi 気付
-きづk 気付
-きどr 気取
-きびs 厳
-きもt 気持
-きゅうs 窮
-きょうh 今日
-きよi 清
-きらi 嫌
-きらt 嫌
-きらu 嫌
-きらw 嫌
-きりかえn 切り替え
-きりかえr 切り替え
-きりたt 切り立
-きりはなs 切離
-きわm 極
-きわだt 際立
-きんちょうs 緊張
-ぎゃくじょうs 逆上
-ぎゃくもどr 逆戻
-ぎゃっこうs 逆行
-くe 喰 食
-くi 食 喰 悔
-くm 組
-くn 組
-くr 来 繰 暮
-くt 食 喰
-くu 食 喰
-くw 食 喰
-くぎr 区切
-くぎt 区切
-くずr 崩
-くだk 砕
-くだr 下
-くだs 下
-くだt 下
-くつがえs 覆
-くばr 配
-くばt 配
-くみあw 組合
-くみこm 組込
-くみとr 汲み取
-くもr 曇
-くやm 悔
-くらb 比 較
-くらi 暗
-くらk 暗
-くらs 暮
-くらt 食
-くりあw 繰り合
-くりかえs 繰り返
-くるi 狂
-くるs 苦
-くるt 狂
-くるu 狂
-くわe 加
-くわs 詳
-くわw 加
-けr 蹴
-けs 消 決
-けt 蹴
-けいえいs 経営
-けいこくs 警告
-けずr 削
-けずt 削
-けっs 決
-けんとうs 検討
-げんj 減
-げんz 減
-こe 越
-こg 焦
-こi 濃 来
-こk 濃
-こm 込 混
-こn 込 来 混
-こr 来 懲 凝
-こs 越 漉
-こt 凝
-こu 乞 請
-こy 来
-こうj 高
-こうしょう 鉱床 高尚
-こうぶつ 鉱物 好物
-こうりょs 考慮
-こえt 超
-こおr 凍
-こおt 凍
-こころh 心
-こころm 試
-こごe 凍
-こじs 誇示
-こたe 答 応
-ことn 異
-ことw 断
-ことごとk 尽
-ことなr 異
-ことわr 断
-ことわt 断
-このm 好
-こまk 細
-こまr 困
-こまt 困
-こまc 困
-こもr 籠 隠
-こもt 籠 隠
-ころb 転
-ころg 転
-ころn 転
-ころs 殺
-こわg 怖 恐
-こわi 恐 怖
-こわr 壊
-こわs 壊 恐
-ごぞんj 御存
-さe 冴
-さg 下
-さi 咲 裂 割
-さk 避 咲 裂 割
-さm 覚
-さr 去
-さs 指 差 刺
-さt 去
-さいわi 幸
-さかn 盛
-さかr 盛
-さがs 捜 探
-さきだt 先立
-さぐr 探
-さけb 叫
-さけn 叫
-ささe 支
-さずk 授
-さそi 誘
-さそt 誘
-さそu 誘
-さそw 誘
-さだk 定
-さだm 定
-さっs 察
-さっちs 察知
-さとr 悟
-さとt 悟
-さばk 捌
-さびs 寂 淋
-さみs 淋 寂
-さむi 寒
-さむk 寒
-さむs 寒
-さらn 更
-さらs 晒
-さわg 騒
-さわi 騒
-さわr 触
-さわt 触
-ざいせきs 在籍
-しi 強
-しk 敷
-しm 締 占 閉
-しn 死
-しr 知
-しt 知
-しあg 仕上
-しあわs 幸
-しかk 仕掛
-しかr 叱
-しかt 叱
-しかくi 四角
-しくm 仕組
-しずk 静
-しずm 沈
-しずn 沈
-したs 親
-したがe 従
-したがi 従
-したがt 従
-したがu 順 従
-したがw 従
-したたr 舌足
-しのb 偲 忍
-しのg 凌
-しはらi 支払
-しはらt 支払
-しはらu 支払
-しはらw 支払
-しばr 縛
-しぶi 渋
-しぶt 渋
-しぼr 絞
-しぼt 絞
-しめp 湿
-しめs 示
-しめきr 締切
-しゃべr 喋
-しゃべt 喋
-しょうj 生
-しょうs 称
-しょじs 所持
-しようs 使用
-しらb 調
-しるs 記
-しろi 白
-しろk 白
-しんj 信
-じてんd 時点
-じゅんj 準
-じゅんz 準
-すe 据
-すg 過
-すi 済 吸 空
-すk 好
-すm 済 住 澄
-すn 住 済
-すr 擦 摺 刷
-すt 捨 吸
-すu 吸
-すくi 救
-すくn 少
-すくu 救 巣く 抄 済
-すくw 救
-すぐr 優
-すこs 少
-すごi 凄
-すごk 凄
-すごm 凄
-すごs 凄 過
-すすm 進 勧 薦
-すすn 進
-すずs 涼
-すでn 既
-すなわc 即
-すなわt 即
-すばr 素晴
-すばやi 素早
-すばらs 素晴
-すべr 滑
-すべt 全 滑
-するどi 鋭
-すわr 座
-すわt 座
-ずm 済
-せk 急
-せm 責
-せs 接
-せいちょうs 成長
-せっきんs 接近
-せっしょくs 接触
-せつめいs 説明
-せまi 狭
-せまr 迫
-せまt 迫
-ぜっs 絶
-ぜんk 前
-そe 添
-そi 沿
-そm 初 染
-そt 沿 添
-そだt 育
-そなe 備
-そろe 揃
-そろi 揃
-そろt 揃
-そろu 揃
-ぞんj 存
-ぞんz 存
-たb 食
-たc 立
-たe 耐 絶
-たk 焚
-たm 溜
-たn 他
-たr 足 垂
-たs 足 達
-たt 立 建 断 経
-たいs 対 大
-たおr 倒
-たおs 倒
-たかi 高
-たかk 高
-たかm 高
-たかs 高
-たがi 互
-たしk 確
-たすk 助
-たずn 尋
-たたk 叩
-たたかt 闘 戦
-たたかu 闘
-ただs 但 正
-ただc 直
-ただt 直
-たとe 例
-たおr 倒
-たおr 倒
-たのm 頼
-たのn 頼
-たのs 楽
-たまr 溜
-たまt 溜
-ためn 為
-ためs 試
-たもt 保
-たよr 頼 便
-たよt 頼
-たんn 単
-だs 出
-たいおうs 対応
-だいすk 大好
-だまr 黙
-だまs 騙
-だまt 黙
-ちr 散
-ちいs 小
-ちかi 近
-ちかk 近
-ちかt 誓
-ちかu 誓
-ちかづi 近付
-ちがe 違
-ちがi 違
-ちがt 違
-ちがu 違
-ちがw 違
-ちじm 縮
-ちまよt 血迷
-つg 告 継
-つi 付 着 突 憑 継
-つk 付 着 突 漬 尽 使 点 尾
-つm 詰 積
-つn 積
-つr 連 釣 吊
-つt 突
-ついy 費
-つうj 通
-つうほうs 通報
-つかe 使
-つかi 使 遣
-つかm 捕 掴
-つかo 使
-つかr 疲
-つかt 使
-つかu 使
-つかw 使
-つかさどr 司
-つくr 作 創 造
-つくt 作
-つくろi 繕
-つくろu 繕
-つけくわe 付け加
-つずr 綴
-つたe 伝
-つたt 伝
-つたu 伝
-つたw 伝
-つだi 伝
-つつm 包
-つつしm 慎
-つつしn 謹
-つづi 続
-つづk 続
-つづr 綴
-つとm 勤 務 努
-つなg 繋
-つなi 継
-つねn 常
-つぶs 潰
-つみあげr 積み上げ
-つみあげt 積み上げ
-つめt 冷
-つづr 綴
-つよi 強
-つよk 強
-つらi 辛
-つらn 連
-づk 付
-てr 照
-てあt 手当
-ておくr 手遅
-てがk 手書
-てきs 適
-てごわi 手強
-てちがi 手違
-てつだe 手伝
-てつだi 手伝
-てつだt 手伝
-てつだu 手伝
-てつづk 手続
-てなおs 手直
-てびk 手引
-てまどr 手間取
-でm 出
-でn 出
-でr 出
-でs 出
-でt 出
-でy 出
-であt 出逢
-であu 出逢
-でかk 出掛
-できm 出来
-できn 出来
-できr 出来
-できs 出来
-できt 出来
-できz 出来
-でまわr 出回
-でそろi 出揃
-でそろu 出揃
-でそろt 出揃
-とb 飛 跳
-とe 問
-とi 問 解
-とj 綴 閉
-とk 解 説 溶 融 熔
-とm 止 泊
-とn 飛
-とr 取 撮 捕 採
-とt 取 撮 採
-とu 問
-とw 問
-とj 閉
-といあw 問い合
-とうj 投
-とおi 遠
-とおk 遠
-とおr 通
-とおs 遠 通
-とおt 通
-とおz 遠
-とくn 特
-とくちょうづk 特徴付
-とっしんs 突進
-ととのt 整
-ととのu 整
-とどi 届
-とどk 届
-とどm 留
-となr 隣
-とぼs 乏
-とまt 止
-ともr 燈
-ともなi 伴
-ともなt 伴
-ともなu 伴
-ともなw 伴
-とらe 捕
-とりあe 取り敢
-とりあげn 取り上げ
-とりあげr 取り上げ
-とりあげt 取り上げ
-とりあつかi 取り扱
-とりあつかu 取り扱
-とりあつかw 取り扱
-とりいr 取り入 取入
-とりかこm 取り囲
-とりだs 取出
-とりつk 取付け
-とりのぞi 取り除
-とりはかr 取り計
-とりまk 取り巻
-どおr 通
-どうせきs 同席
-なi 無 鳴 泣
-なk 無 鳴 亡 泣
-なr 慣 鳴 馴 成
-なs 無 成
-なt 鳴 成
-なおr 直 治
-なおs 直
-なおt 治 直
-なかb 半
-ながi 長 永
-ながk 長
-ながm 眺
-ながr 流
-ながs 流 長
-なごr 名残
-なさk 情
-なつやすm 夏休
-なづk 名付
-ななm 斜
-なにげn 何気
-なのr 名乗
-なまk 怠
-なめr 滑
-なやm 悩
-なやn 悩
-ならb 並
-ならi 習
-ならn 並
-ならt 習
-ならu 習
-ならべかw 並べ変
-ならべかe 並べ変
-なりたt 成り立
-にg 逃
-にr 煮 似
-にs 似
-にt 似 煮
-にy 煮
-にあi 似合
-にあt 似合
-にあu 似合
-にあw 似合
-におe 匂
-におi 匂
-におt 匂
-におu 匂
-におw 匂
-にがi 苦
-にぎr 握
-にぎt 握
-にぎw 賑
-にくi 憎 難
-にくs 憎 難
-にごr 濁
-にごs 濁
-になt 担
-になu 担
-にゅうしゅつりょくn 入出力
-にゅうしゅつりょくm 入出力
-にゅうしゅつりょくh 入出力
-ぬi 抜
-ぬk 抜
-ぬr 塗 濡
-ぬt 塗 縫
-ぬすm 盗
-ねr 寝 練
-ねt 寝
-ねがi 願
-ねがt 願
-ねがu 願
-ねびk 値引
-ねむi 眠
-ねむr 眠
-ねむt 眠
-ねらi 狙
-ねらt 狙
-ねらu 狙
-のb 述 伸 延
-のk 退
-のm 飲 呑
-のn 飲
-のr 乗 載
-のs 載 乗
-のt 乗 載
-のk 乗
-のこr 残
-のこs 残
-のこt 残
-のぞi 除 覗
-のぞk 除 覗
-のぞm 望 臨
-のぞn 望
-のぼr 登 昇
-のぼt 登
-はe 生
-はk 掃除
-はn 跳
-はr 張 貼 晴
-はs 発
-はt 果 貼 張
-はu 這
-はj 恥
-はz 恥
-はいr 入
-はいs 排
-はいt 入
-はかr 図 計 測
-はかt 計
-はげm 励
-はげs 激
-はこb 運
-はこn 運
-はしr 走
-はしt 走
-はじm 始 初
-はずs 外
-はたらi 働
-はたらk 働
-はなr 離
-はなs 離 話 放
-はなy 華
-はぶk 省
-はやi 速 早
-はやk 早 速
-はやm 早 速
-はやs 速 早
-はやt 流行
-はらe 払
-はらi 払
-はらo 払
-はらt 払
-はらu 払
-はらw 払
-はりきr 張り切
-はりきt 張り切
-はりだs 張り出
-はりつけn 張り付け
-はりつけr 張り付け
-はるk 遥
-はんs 反
-ばk 化
-ばあいわk 場合分
-ひe 冷
-ひi 引 弾
-ひk 引 弾 挽
-ひt 引
-ひy 冷
-ひかe 控
-ひかr 光
-ひがえr 日帰
-ひきうk 引き受
-ひきずr 引き摺
-ひきだs 引出
-ひくi 低
-ひくk 低
-ひくs 低
-ひさs 久
-ひそn 潜
-ひっこs 引越
-ひとs 等
-ひとt 一
-ひびk 響
-ひやs 冷
-ひょうへんs 豹変
-ひらi 開
-ひらk 開
-ひろg 広
-ひろi 広
-ひろk 広
-ひろu 拾
-ふe 増
-ふi 吹
-ふk 吹
-ふm 踏
-ふn 踏
-ふr 降 振 触
-ふs 付 伏
-ふt 降 振
-ふy 増
-ふかi 深
-ふかk 深
-ふかm 深
-ふくm 含
-ふくn 含
-ふせg 防
-ふせi 防
-ふたt 二
-ふたたb 再
-ふとi 太
-ふとk 太
-ふとs 太
-ふとどk 不届
-ふりこm 振り込
-ふりこn 振り込
-ふるb 古
-ふるe 震
-ふるi 古
-ふるk 古
-ふるm 古
-ふるs 古
-ふるさとh 故郷
-ふるまi 振舞
-ふるまu 振舞
-ぶr 振
-ぶあつi 分厚
-へr 減
-へt 減 経
-へんかんg 変換
-へんにゅうs 編入
-ほr 掘 惣
-ほs 欲
-ほうt 放
-ほこr 誇
-ほそi 細
-ほそk 細
-ほそm 細
-ほそs 細
-ほそながi 細長
-ほとんd 殆
-ほどこs 施
-ほねおr 骨折
-ぼうえいs 防衛
-まc 待
-まi 舞
-まj 交
-まk 負 巻
-まs 増
-まt 待
-まu 舞
-まj 混
-まz 混 先
-まいr 参 詣
-まいt 参 詣
-まかs 任
-まがr 曲
-まぎr 紛
-まさr 優 勝 増さ
-まじw 交
-まずs 貧
-またh 又
-まちがe 間違
-まちがi 間違
-まちがt 間違
-まちがu 間違
-まったk 全
-まどu 惑
-まなb 学
-まなn 学
-まねi 招
-まねk 招
-まもr 守
-まもt 守
-まよe 迷
-まよi 迷
-まよt 迷
-まよu 迷
-まよw 迷
-まるi 丸 円
-まるk 丸 円
-まわr 周 回
-まわs 周 回
-まわt 回
-みe 見
-みk 見
-みm 見
-みn 見 身
-みr 見 観
-みs 見
-みt 見 満 観
-みw 見
-みy 見
-みz 見
-みあt 見当
-みあw 見合
-みいだs 見出
-みおt 見落
-みおとs 見落
-みかk 見掛
-みきr 見切
-みぎまわr 右回
-みこm 見込
-みさだm 見定
-みしr 見知
-みじかi 短
-みじかm 短
-みだr 乱
-みだs 乱
-みちがu 見違
-みちびi 導
-みちびk 導
-みつk 見付
-みつもr 見積
-みとm 認
-みとおs 見通
-みなr 見慣
-みなs 皆
-みなおs 見直
-みにくi 醜
-みのr 実
-みはr 見張
-みはt 見張
-みまi 見舞
-みまもr 見守
-みやすk 見易
-みやぶr 見破
-むi 向
-むk 向
-むかe 迎
-むかi 向
-むくw 報
-むすb 結
-むすn 結
-むずかs 難
-むづかs 難
-めs 召
-めいr 滅入
-めいt 滅入
-めぐm 恵
-めざs 目指
-めずらs 珍
-めだt 目立
-めつk 目付
-もc 持
-もe 燃
-もr 盛 漏
-もt 持 盛
-もy 燃
-もうk 設 儲
-もうs 申
-もうしあg 申し上
-もちi 用
-もちこm 持ち込
-もちこn 持ち込
-もちだs 持出
-もっとm 最 尤
-もっぱr 専
-もとd 基
-もとm 求
-もとz 基
-もどr 戻
-もどs 戻
-もどt 戻
-もよr 最寄
-もらe 貰
-もらi 貰
-もらt 貰
-もらu 貰
-もらw 貰
-やi 焼
-やk 焼
-やm 止 病 已 罷
-やs 痩
-やくたt 役立
-やくだt 役立
-やさs 易 優
-やしなu 養
-やすi 安 易
-やすk 安 易
-やすm 休
-やすn 休
-やすs 安
-やすうr 安売
-やとu 雇
-やぶr 破 敗
-やわらかi 柔らか 軟らか
-やわらかk 柔らか 軟らか
-ゆk 行
-ゆr 揺
-ゆうs 有
-ゆえn 故
-ゆがm 歪
-ゆがn 歪
-ゆずr 譲
-ゆずt 譲
-ゆたk 豊
-ゆだn 委
-ゆるi 緩
-ゆるm 緩
-ゆるk 緩
-ゆるs 許
-よb 呼
-よi 良 酔
-よk 良
-よm 読 呼
-よn 読 呼
-よr 寄 因 依
-よs 寄 良
-よt 酔 寄
-よw 酔
-ようn 様
-ようs 要
-よくばr 欲張
-よごr 汚
-よせがk 寄書
-よびだs 呼出
-よみかk 読み書
-よみこm 読み込 読込
-よみだs 読み出 読出
-よろs 宜
-よろこb 喜 慶
-よろこn 喜
-よわi 弱
-よわk 弱
-よわm 弱
-よわs 弱
-よわt 弱
-よろこb 喜 慶
-よろこb 喜 慶
-ろんj 論
-ろんz 論
-わk 分 湧
-わr 割
-わかi 若
-わかk 若
-わかr 判 解 分
-わかs 若
-わかt 判 解 分
-わきでr 湧き出
-わきでt 湧き出
-わすr 忘
-わずk 僅
-わずらw 煩
-わたr 渡 亙
-わたs 渡
-わたt 渡
-わらe 笑
-わらi 笑
-わらt 笑
-わらu 笑
-わらw 笑
-わりあt 割当
-わりこm 割込
-わりこn 割り込
-わるi 悪
-わるk 悪
-わるs 悪
-;; okuri-nasi entries.
-あ 阿 娃 唖 亜
-あい 愛 哀 相 姶 挨 合
-あいさつ 挨拶
-あいしょう 愛称 相性
-あいじょう 愛情
-あいだ 間
-あいち 愛知
-あいちゃく 愛着
-あいて 相手
-あいぼう 相棒
-あいまい 曖昧
-あいよう 愛用
-あお 青
-あおい 葵 青井
-あおぞら 青空
-あおば 青葉
-あか 赤 垢
-あかご 赤子
--- a/main.c
+++ b/main.c
@@ -8,7 +8,7 @@
#include <u.h>
#include <libc.h>
-#include <stdio.h>
+#include <bio.h>
#include "ktrans.h"
#include "jisho.h"
@@ -24,7 +24,6 @@
int changelang(int);
int dotrans(Dictionary*);
-int noter(void *, char *);
int nrune(char *);
void send(uchar *, int);
Map *match(uchar *p, int *nc, Map *table);
@@ -35,7 +34,62 @@
extern void freeQDIC(Dictionary*);
extern void selectKouho(KouhoList **, KouhoList*);
+void
+kbdopen(void)
+{
+ int n, kinfd, koutfd, fd[2];
+ char buf[128];
+ int kbd;
+ kbd = 1;
+ if((kinfd = open("/dev/kbd", OREAD)) < 0){
+ kbd = 0;
+ if((kinfd = open("/dev/cons", OREAD)) < 0)
+ sysfatal("open kbd: %r");
+ }
+ if(bind("#|", "/n/temp", MREPL) < 0)
+ sysfatal("bind /n/temp: %r");
+ if((koutfd = open("/n/temp/data1", OWRITE)) < 0)
+ sysfatal("open kbd pipe: %r");
+ if(bind("/n/temp/data", kbd? "/dev/kbd": "/dev/cons", MREPL) < 0)
+ sysfatal("bind kbd pipe: %r");
+ unmount(nil, "/n/temp");
+ if(!kbd){
+ in = kinfd;
+ out = koutfd;
+ return;
+ }
+ if(pipe(fd) < 0)
+ sysfatal("pipe: %r");
+ if(fork()){
+ in = out = fd[0];
+ close(fd[1]);
+ close(kinfd);
+ close(koutfd);
+ return;
+ }
+ close(fd[0]);
+ if(fork()){
+ Biobuf b;
+ long r;
+
+ Binit(&b, fd[1], OREAD);
+ while((r = Bgetrune(&b)) >= 0){
+ n = snprint(buf, sizeof(buf), "c%C", (Rune)r)+1;
+ write(koutfd, buf, n); /* pass on result */
+ }
+ } else {
+ while((n = read(kinfd, buf, sizeof(buf))) > 0){
+ buf[n-1] = 0;
+ if(n < 2 || buf[0] != 'c')
+ write(koutfd, buf, n); /* pass on */
+ else
+ write(fd[1], buf+1, n-2); /* to translator */
+ }
+ }
+ exits(0);
+}
+
void
main(int argc, char **argv)
{
@@ -50,21 +104,16 @@
USED(argc);
USED(argv);
- dicname = getenv("KTJISHO");
+ dicname = getenv("jisho");
if(!dicname)
- dicname = strcat(getenv("home"), "/lib/ktrans-jisho");
+ dicname = strcat(getenv("home"), "/lib/kanji.dict");
strcpy(jishoname, dicname);
jisho = openQDIC(jishoname);
- in = _IO_stream[0].fd;
- out = _IO_stream[1].fd;
+ kbdopen();
+ if(fork())
+ exits(0); /* parent process will exit */
- if (rfork(RFPROC))
- exits(0); /* parent process will die */
-
-
- atnotify(noter, 1);
-
bp = ep = buf; /* bp = base point of input string */
/* ep = end point of input string */
/* buf = unsigned buffer array */
@@ -166,16 +215,6 @@
}
int
-noter(void *x, char *note)
-{
- USED(x);
- if (strcmp(note, "interrupt")==0)
- return 1;
- else
- return 0;
-}
-
-int
min(int a, int b)
{
return a<b? a: b;
@@ -283,7 +322,7 @@
return 1;
}
- if (c=='') { /* ^e (English mode) */
+ if (c=='') { /* ^t (English mode) */
natural = 1;
llen = 0;
return 1;
@@ -337,7 +376,7 @@
res = lbuf;
for (j=0; *res != L'\0'; j += runetochar(v+j, res++));
- v[j++] = '\0';
+ v[j] = '\0';
strcpy(tbuf, v);
strcpy(hirabuf, v); /* to remeber the initial hiragana input */
if (okuri && joshi != 1) hirabuf[strlen(hirabuf) - 1] = '\0'; /* verb mode */
@@ -383,7 +422,7 @@
for (j=0; j<lastlen; j++)
write(out, "\b", 1);
}
- for (j=0, lastlen=0; *p != 0; p += j) {
+ for (lastlen=0; *p != 0; p += j) {
j = chartorune(r, p);
lastlen++;
}
@@ -395,7 +434,6 @@
write(out, (char *)okurigana, olen);
olen = okuri = joshi = 0;
okurigana[0] = 0;
- nokouho = 1;
break;
}
}
--- a/main.c.cinap
+++ /dev/null
@@ -1,467 +1,0 @@
-/*
- * Mostly based on the original source codes of Plan 9 release 2
- * distribution.
- * by Kenji Okamoto, August 4 2000
- * Osaka Prefecture Univ.
- * okamoto@granite.cias.osakafu-u.ac.jp
- */
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-#include "ktrans.h"
-#include "jisho.h"
-
-#define LSIZE 256
-
-Rune lbuf[LSIZE]; /* hiragana buffer for key input written by send() */
-Map *table = hira; /* default language conversion table */
-uchar okurigana[LSIZE]; /* buffer for okurigana */
-char okuri = 0; /* buffer/flag for capital input char */
-int in, out;
-int llen, olen, joshi = 0;
-int natural = 1; /* not Japanese but English mode */
-
-int changelang(int);
-int dotrans(Dictionary*);
-int nrune(char *);
-void send(uchar *, int);
-Map *match(uchar *p, int *nc, Map *table);
-
-extern Dictionary *openQDIC(char *);
-extern KouhoList *getKouhoHash(Dictionary*, char *);
-extern KouhoList *getKouhoFile(DicList*, char *);
-extern void freeQDIC(Dictionary*);
-extern void selectKouho(KouhoList **, KouhoList*);
-
-void
-kbdopen(void)
-{
- int n, kinfd, koutfd, fd[2];
- char buf[128];
- int kbd;
-
- kbd = 1;
- if((kinfd = open("/dev/kbd", OREAD)) < 0){
- kbd = 0;
- if((kinfd = open("/dev/cons", OREAD)) < 0)
- sysfatal("open kbd: %r");
- }
- if(bind("#|", "/n/temp", MREPL) < 0)
- sysfatal("bind /n/temp: %r");
- if((koutfd = open("/n/temp/data1", OWRITE)) < 0)
- sysfatal("open kbd pipe: %r");
- if(bind("/n/temp/data", kbd? "/dev/kbd": "/dev/cons", MREPL) < 0)
- sysfatal("bind kbd pipe: %r");
- unmount(nil, "/n/temp");
- if(!kbd){
- in = kinfd;
- out = koutfd;
- return;
- }
- if(pipe(fd) < 0)
- sysfatal("pipe: %r");
- if(fork()){
- in = out = fd[0];
- close(fd[1]);
- close(kinfd);
- close(koutfd);
- return;
- }
- close(fd[0]);
- if(fork()){
- Biobuf b;
- long r;
-
- Binit(&b, fd[1], OREAD);
- while((r = Bgetrune(&b)) >= 0){
- n = snprint(buf, sizeof(buf), "c%C", (Rune)r)+1;
- write(koutfd, buf, n); /* pass on result */
- }
- } else {
- while((n = read(kinfd, buf, sizeof(buf))) > 0){
- buf[n-1] = 0;
- if(n < 2 || buf[0] != 'c')
- write(koutfd, buf, n); /* pass on */
- else
- write(fd[1], buf+1, n-2); /* to translator */
- }
- }
- exits(0);
-}
-
-void
-main(int argc, char **argv)
-{
-
- uchar *bp, *ep, buf[128];
- Map *mp;
- int nchar, wantmore;
- int n, c;
- char jishoname[64], *dicname;
- Dictionary *jisho;
-
- USED(argc);
- USED(argv);
-
- dicname = getenv("KTJISHO");
- if(!dicname)
- dicname = strcat(getenv("home"), "/lib/ktrans-jisho");
- strcpy(jishoname, dicname);
- jisho = openQDIC(jishoname);
-
- kbdopen();
- if(fork())
- exits(0); /* parent process will exit */
-
- bp = ep = buf; /* bp = base point of input string */
- /* ep = end point of input string */
- /* buf = unsigned buffer array */
- wantmore = 0;
- for (;;) { /* key board input loop */
- getmore:
- if (bp>=ep || wantmore) {
- if (wantmore==0)
- bp = ep = buf; /* clear all */
- n = read(in, ep, &buf[sizeof(buf)]-ep); /* read from stdin */
- if (n<=0)
- exits("");
- ep += n; /* ep => end point of input string */
- *ep = '\0';
- }
- while (bp<ep) { /* there are input data */
- if (table == hira && natural != 1 && (*bp>'A' && *bp<='Z') && ep-bp<2
- && !strchr("EIOU", *bp)) {
- wantmore = 1;
- goto getmore;
- }
- if (!fullrune((char *)bp, ep-bp)) { /* not enough length of input */
- wantmore = 1;
- goto getmore;
- }
- wantmore = 0;
-
- if (*bp=='') { /* ^x read ktrans-jisho once more */
- freeQDIC(jisho);
- jisho = openQDIC(jishoname);
- llen = 0;
- olen = okuri = joshi = 0;
- wantmore=0;
- bp=ep=buf;
- continue;
- }
-
- if (*bp=='') { /* Shift+Space (start translate comannd) */
- c = dotrans(jisho);
- if (c)
- *bp = c; /* pointer to translated rune */
- else
- bp++;
- continue;
- }
- if (*bp=='') { /* ^l (no translate comannd) */
- bp++;
- llen = 0;
- olen = okuri = joshi = 0;
- continue;
- }
- if (changelang(*bp)) { /* change language mode OK */
- bp++;
- olen = okuri = joshi = 0;
- continue;
- }
- if (natural || *bp<=' ' || *bp>='{') { /* English mode but not ascii */
- Rune r;
- int rlen = chartorune(&r, (char *)bp);
- send(bp, rlen); /* write bp to /dev/cons */
- bp += rlen;
- continue;
- }
- if (table == hira && (*bp >= 'A' && *bp <= 'Z') && (*(bp+1) < 'A'
- || *(bp+1) > 'Z')) {
- *bp = okuri = tolower(*bp);
- joshi = olen = 0;
- } else if (table == hira && (*bp >= 'A' && *bp <= 'Z') &&
- (*(bp+1) >= 'A' && *(bp+1) <= 'Z')) {
- *bp = okuri = tolower(*bp);
- *(bp+1) = tolower(*(bp+1));
- joshi = 1;
- olen = 0;
- }
-
-/* BUG! we have to hit ^l at every beginning of the new line... sorry
- if (table == hira && *bp == '\n') {
- Rune r;
- int rlen = chartorune(&r, (char *)bp);
- send(bp, rlen);
- bp++;
- olen = okuri = joshi = 0;
- continue;
- }
-*/
- mp = match(bp, &nchar, table);
- if (mp == 0) {
- if (nchar>0) { /* match, longer possible */
- wantmore++;
- break;
- }
- send(bp++, 1); /* alphabet in kana mode */
- } else {
- send((uchar*)mp->kana, strlen(mp->kana));
- bp += nchar;
- }
- }
- }
-}
-
-int
-min(int a, int b)
-{
- return a<b? a: b;
-}
-
-/*
- *send UTF string (p) with length (n) to stdout
- * and write rune (r) in global lbuf[] buffer
- * or okurigana[] buffer if okuri (verb or joshi) mode
- */
-
-void
-send(uchar *p, int n)
-{
- Rune r;
- uchar *ep;
-
- if (write(out, (char *)p, n) != n) /* write to stdout */
- exits("");
-
- if (llen>LSIZE-64) {
- memmove((char*)lbuf, (char*)lbuf+64, 64*sizeof(Rune));
- llen -= 64;
- }
- if (table!=hira || natural)
- return;
- ep = p+n;
- if(okuri) {
- while (olen<LSIZE && p<ep) okurigana[olen++] = *p++;
- }
- else {
- while (llen<LSIZE && p<ep) {
- p += chartorune(&r, (char*)p);
- if (r=='\b') { /* handle backspace */
- if (llen>0)
- llen--;
- continue;
- }
- if (r==0x80) /* ignore view key */
- continue;
-/*
- if (r<0x3041 || r>0x309e) { reset if out of hiragana range
- llen = 0; we use this for okuri-ari entries
- continue;
- }
-*/
- lbuf[llen++] = r;
- }
- }
-
-}
-
-/*
- * Romaji to Hiragana/Katakana conversion
- * romaji shoud be input as small letter
- * returns the matched address in table, hira, kata etc.
- * nc: nubmer of character(return value)
- */
-
-Map *
-match(uchar *p, int *nc, Map *table)
-{
- register Map *longp = 0, *kp;
- static char last;
- int longest = 0;
-
- *nc = -1;
- for (kp=table; kp->roma; kp++) {
- if (*p == *kp->roma) {
- int lr = strlen(kp->roma);
- int len = min(lr, strlen((char *)p));
- if (strncmp(kp->roma, (char *)p, len)==0) {
- if (len<lr) {
- *nc = 1;
- return 0;
- }
- if (len>longest) {
- longest = len;
- longp = kp;
- }
- }
- }
- }
- if (longp) {
- last = longp->roma[longest-1];
- *nc = longp->advance;
- }
- return(longp);
-}
-
-int
-changelang(int c)
-{
- if (c=='') { /* ^k (Japanese Katakana input mode) */
- natural = 0;
- table = kata;
- llen = 0;
- return 1;
- }
-
- if (c=='') { /* ^n (Japanese hiragana mode ) */
- natural = 0;
- llen = 0;
- table = hira;
- return 1;
- }
-
- if (c=='') { /* ^e (English mode) */
- natural = 1;
- llen = 0;
- return 1;
- }
-
- if (c=='') { /* ^r (Russian mode) */
- natural = 0;
- table = cyril;
- llen = 0;
- return 1;
- }
- if (c=='') { /* ^g (Greek mode ) */
- natural = 0;
- table = greek;
- llen = 0;
- return 1;
- }
- return 0;
-
-}
-
-/*
- * write translated kanji runes to stdout
- * and returns last charcter if it's not Shift+Space.
- * if the last is Shift+Space, proceed translation to next kouho
- */
-
-int
-dotrans(Dictionary *dic)
-{
- Rune *res, r[1];
- char v[1024], *p, tbuf[64], hirabuf[64];
- int j, lastlen, nokouho = 0;
- char ch;
- KouhoList *fstkouho, *currentkouho;
-
- if (llen==0)
- return 0; /* not use kanji transform function */
- if (okuri && joshi != 1) {
- lbuf[llen++] = (Rune)okuri;
- lbuf[llen] = 0;
- }else
- lbuf[llen] = 0;
- okurigana[olen] = 0;
-
-/*
- * search the mached index to the key word from the dict hash table , and
- * returns a pointer to the matched kouho if success,
- * or returns 0 if failed.
-*/
-
- res = lbuf;
- for (j=0; *res != L'\0'; j += runetochar(v+j, res++));
- v[j] = '\0';
- strcpy(tbuf, v);
- strcpy(hirabuf, v); /* to remeber the initial hiragana input */
- if (okuri && joshi != 1) hirabuf[strlen(hirabuf) - 1] = '\0'; /* verb mode */
- if(!(fstkouho = getKouhoHash(dic, v))) { /* not found */
- llen = olen = okuri = joshi = 0;
- okurigana[0] = 0;
- return 0;
- }
-
- currentkouho = fstkouho;
- for(;;) {
- p = currentkouho->kouhotop; /* p to the head of kanji kouho array */
- lastlen = nrune(tbuf); /* number of rune chars */
- if (okuri && joshi != 1) /* verb mode */
- for (j=0; j<lastlen-1; j++)
- write(out, "\b", 1); /* clear hiragana input */
- else
- for (j=0; j<lastlen; j++)
- write(out, "\b", 1); /* clear hiragana input */
- if (okuri) {
- lastlen = nrune((char *)okurigana);
- for (j=0; j<lastlen; j++) write(out, "\b", 1);
- }
- write(out, p, strlen(p)); /* write kanji to stdout */
- if (okuri) write(out, (char *)okurigana, olen);
-
- if (read(in, &ch, 1)<=0) /* read from stdin */
- exits(0);
-
- if (ch == '') { /* if next input is Shift+Space, once more */
- if(currentkouho->nextkouho != 0) { /* have next kouho */
- nokouho = 0;
- strcpy(tbuf, p);
- currentkouho = currentkouho->nextkouho;
- if (okuri && joshi != 1) { /* verb mode */
- for (j=0; j<nrune(tbuf); j++)
- write(out, "\b", 1);
- }
- continue;
- } else { /* the last kouho */
- if (okuri) {
- lastlen = nrune((char *)okurigana);
- for (j=0; j<lastlen; j++)
- write(out, "\b", 1);
- }
- for (lastlen=0; *p != 0; p += j) {
- j = chartorune(r, p);
- lastlen++;
- }
- for (j=0; j<lastlen; j++)
- write(out, "\b", 1);
- if(hirabuf[0])
- write(out, hirabuf, strlen(hirabuf));
- if(okurigana[0])
- write(out, (char *)okurigana, olen);
- olen = okuri = joshi = 0;
- okurigana[0] = 0;
- break;
- }
- }
- else {
- if(!nokouho) /* learn the previous use of the kouho */
- selectKouho(&(fstkouho->dicitem->kouho), currentkouho);
- olen = okuri = joshi = 0;
- okurigana[0] = 0;
- break;
- }
- }
- llen = 0;
- return ch;
-}
-
-/*
- * returns number of characters in the pointed Rune
- */
-
-int
-nrune(char *p)
-{
- int n = 0;
- Rune r;
-
- while (*p) {
- p += chartorune(&r, p);
- n++;
- }
- return n;
-}
--- a/mkfile
+++ b/mkfile
@@ -10,13 +10,9 @@
</sys/src/cmd/mkone
-installfull: install
- mkdir /sys/src/cmd/ktrans
- dircp ./ /sys/src/cmd/ktrans
+install:
cp ktrans.man /sys/man/1/ktrans
- echo 'Notice: For a user to use ktrans they must have $home/lib/ktrans-jisho copied from /sys/src/cmd/ktrans!'
uninstall:
rm /sys/man/1/ktrans
- rm -r /sys/src/cmd/ktrans
rm /$objtype/bin/ktrans
--- a/pipefile.c
+++ /dev/null
@@ -1,84 +1,0 @@
-#include <u.h>
-#include <libc.h>
-
-#define TEMP "/n/temp"
-
-void
-usage(void)
-{
- fprint(2, "usage: pipefile [-r command] [-w command] file\n");
- exits("usage");
-}
-
-void
-connect(char *cmd, int fd0, int fd1)
-{
- switch(rfork(RFPROC|RFFDG|RFREND|RFNOWAIT)){
- case -1:
- sysfatal("fork %s: %r", cmd);
- break;
- default:
- return;
- case 0:
- if(fd0 != 0)
- dup(fd0, 0);
- if(fd1 != 1)
- dup(fd1, 1);
- execl("/bin/rc", "rc", "-c", cmd, nil);
- sysfatal("exec %s: %r", cmd);
- break;
- }
-}
-
-void
-main(int argc, char *argv[])
-{
- char *file;
- char *rcmd, *wcmd;
- int fd0, fd1, ifd0, ifd1;
-
- rcmd = wcmd = nil;
- ARGBEGIN{
- case 'r':
- rcmd = EARGF(usage());
- break;
- case 'w':
- wcmd = EARGF(usage());
- break;
- default:
- usage();
- }ARGEND
-
- if(argc!=1 || (rcmd==nil && wcmd==nil))
- usage();
- if(rcmd == nil)
- rcmd = "/bin/cat";
- if(wcmd == nil)
- wcmd = "/bin/cat";
-
- file = argv[0];
- ifd0 = open(file, OREAD);
- if(ifd0 < 0)
- sysfatal("open %s: %r", file);
- ifd1 = open(file, OWRITE);
- if(ifd1 < 0)
- sysfatal("open %s: %r", file);
-
- if(bind("#|", TEMP, MREPL) < 0)
- sysfatal("bind pipe %s: %r", TEMP);
- if(bind(TEMP "/data", file, MREPL) < 0)
- sysfatal("bind %s %s: %r", TEMP "/data", file);
-
- fd0 = open(TEMP "/data1", OREAD);
- if(fd0 < 0)
- sysfatal("open %s: %r", TEMP "/data1");
- connect(wcmd, fd0, ifd1);
- fd1 = open(TEMP "/data1", OWRITE);
- if(fd1 < 0)
- sysfatal("open %s: %r", TEMP "/data1");
- connect(rcmd, ifd0, fd1);
- unmount(nil, TEMP);
- exits(nil);
-}
-
-
--- a/pipekbd.c
+++ /dev/null
@@ -1,67 +1,0 @@
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-void
-main(int argc, char *argv[])
-{
- int n, kinfd, koutfd, fd[2];
- char buf[128];
- int kbd;
-
- kbd = 1;
- if((kinfd = open("/dev/kbd", OREAD)) < 0){
- kbd = 0;
- if((kinfd = open("/dev/cons", OREAD)) < 0)
- sysfatal("open kbd: %r");
- }
- if(bind("#|", "/n/temp", MREPL) < 0)
- sysfatal("bind /n/temp: %r");
- if((koutfd = open("/n/temp/data1", OWRITE)) < 0)
- sysfatal("open kbd pipe: %r");
- if(bind("/n/temp/data", kbd? "/dev/kbd": "/dev/cons", MREPL) < 0)
- sysfatal("bind kbd pipe: %r");
- unmount(nil, "/n/temp");
- if(fork())
- exits(nil); /* parent exits */
- if(!kbd){
- dup(kinfd, 0);
- dup(koutfd, 1);
- Run:
- close(kinfd);
- close(koutfd);
- if(argv[1][0] != '/' || strncmp(argv[1], "./", 2) != 0 || strncmp(argv[1], "../", 3) != 0)
- argv[1] = smprint("/bin/%s", argv[1]);
- exec(argv[1], argv+1);
- sysfatal("exec: %r");
- }
- if(pipe(fd) < 0)
- sysfatal("pipe: %r");
- if(fork()){
- dup(fd[0], 0);
- dup(fd[0], 1);
- close(fd[0]);
- close(fd[1]);
- goto Run;
- }
- close(fd[0]);
- if(fork()){
- Biobuf b;
- long r;
-
- Binit(&b, fd[1], OREAD);
- while((r = Bgetrune(&b)) >= 0){
- n = snprint(buf, sizeof(buf), "c%C", (Rune)r)+1;
- write(koutfd, buf, n); /* pass on result */
- }
- } else {
- while((n = read(kinfd, buf, sizeof(buf))) > 0){
- buf[n-1] = 0;
- if(n < 2 || buf[0] != 'c')
- write(koutfd, buf, n); /* pass on */
- else
- write(fd[1], buf+1, n-2); /* to translator */
- }
- }
- exits(nil);
-}