Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ake — Amiga Kanji Editor

ake (朱) — Amiga Kanji Editor

AmigaOS 3 (68k) 向けの、SKK風の日本語入力ができるテキストエディタです。

SKK そのものは含んでいません。入力方式を真似た実装を自前で持っています。 変換辞書には SKK 辞書 (SKK-JISYO.L など) を変換したものを使います。

名前の由来は 朱(あけ) = 朱墨です。同時に Amiga Kanji Editor の頭字語にもなっています。

普段から SKK を使っているので、Amiga でも SKK で日本語を書きたいと思ったのが作った理由です。 調べた限り Amiga 向けの SKK は見当たらなかったので、エディタごと用意することにしました。

ake で日本語のテキストを編集しているところ

できること

  • SKK風のかな漢字変換(▽▼、送り仮名、候補一覧)。SKK-JISYO.L(約17.6万語)をそのまま引けます
  • 学習と辞書登録。使った候補が上に来て、無い語はその場で登録できます
  • EUC-JP と Shift-JIS の両対応。開いたファイルのコードを自動判定し、保存時に元へ戻します
  • undo / redo、スクロールバー、ウィンドウのリサイズ
  • SandS (スペースキーを Shift として使う)。SKK は大文字を多用するので効きます
  • 68000 で動きます。FPU は不要です

必要なもの

日本語表示環境 なんらかの方法で日本語を表示できる環境が必須です。本エディタ自身は日本語を描画する仕組みを持っていないため、これが無いと漢字が出ません。現時点で表示を確認しているのは 大語界 (DaiGoKai) で、他の環境については未確認です
SKKDIC.BIN 変換辞書です。同梱していませんので、SKK-JISYO.L から作ってください(下記)
AmigaOS 2.0 以上

日本語表示環境について

描画を任せる先は、次の4つを満たしていれば何でも構いません。 特定の製品には依存していません。

条件 理由
Text() が2バイト列を漢字として描く ake は素の Text() しか呼びません
全角が半角ちょうど2セル幅 桁の計算がこれを前提にしています
等幅フォントが使える 文字位置を 桁 × 文字幅 で出しています
コードが EUC-JP か Shift-JIS ake が対応しているのはこの2つです

現時点で表示を確認しているのは大語界の環境です。他の環境については未確認です。 大語界は株式会社エムエスエイの著作物で、ake には同梱していません。 既に導入されている環境を対象としています。

条件を満たす他の環境をお持ちなら、動く可能性があります。 試された結果を教えていただけると助かります。

導入

1. 実行ファイルを用意する

Releases からアーカイブを落として展開してください。 ake (本体) / mkdic (辞書変換) / enctest (コード確認) が入っています。

自分でビルドする場合は DEVELOPMENT.md を参照してください。

2. 表示環境のコードを調べる

enctest を実行すると、EUC-JP と Shift-JIS の両方で同じ文字列を描いてみせます。 読める方がお使いの環境のコードです。次の手順でこれを使います。

大語界の場合は Information の CODE 設定がそれにあたります。

3. 辞書を用意する

辞書は同梱していません。SKK辞書は GPL v2+ で配布されており、 GPL の条件を満たす形で配布する準備を避けるため、同梱しない方針にしています。 お手数ですが各自で入手して変換してください。

(a) SKK-JISYO.L を入手する — SKK Development Team が配布しています。

https://skk-dev.github.io/dict/

SKK-JISYO.L (EUC-JP、約4.3MB) を落としてください。他の SKK 辞書でも同じ手順で使えます。

(b) 変換する — Amiga 上でも PC 上でもできます。どちらでも同じものが出来ます。

mkdic SKK-JISYO.L SKKDIC.BIN euc                                    (Amiga 上で)

python3 tools/mkdic.py SKK-JISYO.L -o SKKDIC.BIN --encoding euc     (PC 上で)

最後の euc / sjis手順2で調べたコードに合わせてください。 ここを間違えると漢字が出ません(何も表示されないか、化けます)。

出力は約3.9MB、17.6万語がそのまま入ります。 Amiga 上での変換は PiStorm 実機で 3.5 秒ほどです。

SKKDIC.BIN は GPL 著作物である SKK-JISYO.L を変換したものです。 ご自分で使う分には問題ありませんが、再配布する場合は GPL に従う必要があります

4. 置く

Amiga の流儀に倣って、専用ドロワーへ assign を切るのがおすすめです。

C:ake                          実行ファイル
Work:Ake/SKKDIC.BIN            変換辞書
Work:Ake/SKKUSER.TXT           個人辞書(学習・登録。自動で作られます)

S:user-startup に:
  assign AKE: Work:Ake

辞書は指定が無ければ AKE: → PROGDIR: → カレント の順に探しますので、 実行ファイルと同じドロワーにまとめて置く運用でも動きます。

使い方

ake [ファイル名]

起動直後は半角英数で始まります。Ctrl-J でかな入力に切り替わります。

キー操作

キー 動作
右Amiga+S / +O / +Q 保存 / 読み込み / 終了
右Amiga+Z / +Y undo / redo
右Amiga+T SandS の入切
右Amiga+E 保存するコードを切り替える (EUC ⇄ SJIS)
右Amiga+R 別のコードで読み直す

日本語入力 (SKK)

キー 動作
Ctrl-J かな入力へ
l / L / q 半角英数 / 全角英数 / カナ切替
大文字で始める 変換開始 (▽)
SPC 変換 / 次候補(一覧が出たらページ送り)
x 前候補 / 前ページ
Enter 確定
ESC 取り消し

候補は先頭3つをその場で回し、4つ目から一覧(a s d f j k l で選択)が出ます。 候補が尽きると辞書登録に入るので、その場で読みと語を登録できます。

SKK の候補一覧が開いているところ

「かんじ」を変換中。▼が今の候補で、続きは一覧から選びます

確定した候補と登録した語は SKKUSER.TXT に貯まります。書き込みは終了時と 本文の保存時にまとめて行うので、ストレージへのアクセスは最小限です。

SandS

スペースを押している間だけ、他のキーが Shift 付きになります。 スペースを単独で押して離したときは、ふつうに空白が入ります。 SKK は変換開始に大文字を使うので、これがあると打鍵がかなり楽になります。 既定で有効で、右Amiga+T で切れます。

テキストのコード

開いたファイルのコードを自動判定し、保存時には元のコードへ戻します。 Shift-JIS のファイルを EUC-JP の環境で編集しても、Shift-JIS のまま保存されます。

ステータス行の表示:

表示 意味
EUC ファイルも編集中の内容も EUC-JP
SJIS>EUC ファイルは Shift-JIS、編集中は EUC-JP。保存すると Shift-JIS に戻ります
--- 日本語が入っていない (ASCII だけ)

判定は本文を全部見てから決めるので、たいてい当たります。ただし漢字だけの 短い文書などは原理的に決まらないことがあります。外した場合は 右Amiga+R でもう一方のコードで読み直してください。

既知の制約

  • 1行が512バイト(全角256文字)を超えると、超えた部分が画面に出ません。 本文は壊れませんが、その先はカーソルも見えなくなります
  • 縦スクロールのとき画面全体を描き直します。 AGA の planar 画面では 引っかかりを感じるかもしれません(入力そのものは差分描画なので軽いです)
  • Shift-JIS で保存すると、EUC-JP の補助漢字 (JIS X 0212) は ? になります。 Shift-JIS に居場所が無いためです。JIS X 0208 の範囲は全区点が往復します
  • vim風のキー操作は未実装です(差し替えられる形にはしてあります)
  • 辞書を全部RAMに載せる高速モードは未実装です

ライセンス

ake 本体は MIT です。LICENSE を参照してください。

同梱していない依存物(SKK辞書、大語界)とロゴの扱いについては THIRD_PARTY_NOTICES.md にまとめてあります。

ドキュメント

ファイル 内容
DEVELOPMENT.md ビルド、テスト、実装の構成と設計上の判断
docs/01-background.md 大語界の解析結果。日本語表示がどう実現されているか
docs/02-dictionary-spec.md 辞書フォーマット仕様 (JDIC v1)

About

AmigaOS 3 (68k) 向けの、SKK風の日本語入力ができるテキストエディタ

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages