shithub: ktrans

Download patch

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);
-}