Zaurus MORE ソフト テキストビュア+エディタ か え で v1.21 (MPGD) 2000/12/27 小笠原博之 TAB 文字対応のテキストビュア + 大きなファイルも編集できるテキストエディタ です。TAB の表示に対応しているので、PC で作成したテキストファイルを Zaurus 上で正しく表示することができます。またファイルの読み込みサイズに特に制限があ りませんので、メモリ(RAM)の許す限り大きなファイルを読み込んで編集を行うことが できます。MI-E1 の CF/SD の両方のメディアに同時にアクセスすることもできます。 そのほか [文字切替]キーひとつで「全ひら」「半英数」の切り替え、[全/半]キーで 「カタカナ変換」「ひらがな変換」が可能です。 v1.21 での変更点: ・TABによる行送り処理のバグ修正 ・[文字切替]で半角英数のCAPS状態を保持するようになった。 v1.20 での変更点: ・アイコン変更 ・VGA対応。これで QVGA横、QVGA縦、VGAの3モードに全部対応しました。 ・デフォルトフォントサイズの設定を可能にしました ・その他修正 ●特徴 ・TAB 文字表示対応 (8/4/2tab) TAB文字入りのテキストファイルや、プログラムのソースリストなどを Zaurus 上でも正しく表示することができます。 ・巨大ファイル編集に対応 メモリ(動作用RAM)の許す限り、大きなファイルでも読み込んで編集するこ とができます。(機種毎にメモリサイズの上限はあります) ・ファイル内文字列検索 単純文字列のみですが、テキスト中から文字列検索を行うことができます。 ・MI-E1対応 CF、SD両方のカードに直接アクセスできます。MI-E1 で起動した場合は縦画 面表示になります。MI-E1 以前の機種で起動すると横画面になります。 ・日本語入力キーのオリジナル設定 MI-E1 の [文字切替] キー1つで入力モードを「全角ひら」と「半角英数」交 互に切り替えできます。MI-E1 の [全/半]キー で入力行の「カタカナ変換」 「ひらがな変換」が可能です。これらの独自キー設定は、設定ファイルで無 効にすることができます。 ・制御キーのみで編集操作可能 キー操作のみでカーソル移動と編集操作が可能です。 ・入力パッドのサイズ変更対応 オプションキーボード使用時や、キーボード内蔵機種(MI-E1/MT-200/MT-300/ BrowserBoard) では、画面を広く使用することができます。(画面サイズは、 キー入力パッドを開いたときに合わせます。キーボードの種類を変えて画面 サイズが合っていないときは、画面左上のキーボードボタンで一度キーパッ ドを閉じて、また開き直してください。) ・VGA対応 MI-EX1/TR1 で起動すると VGA モードになります。広い画面を有効に使用す ることができます。 ●対応機種 一般的な MI 系 Zaurus で動作します。 ・動作確認機種 MI-E1 PowerZaurus MI-C1 igeti MI-P10 BrowserBoard PowerZaurus MI-504 ZaurusPocket MI-110M Zaurus ICRUISE MI-EX1 ●インストール方法 MPGD120.ZAC を Zaurus に転送し、MORE ソフト管理画面上で展開します。本体メモ リ、カードメモリ、どちらに転送しても構いません。 ●アンインストール(プログラムの削除)方法 MOREソフト管理画面から「かえで」をそのまま削除してください。オープニング ファイル(デフォルトのメモ用紙)は残ります。必要に応じて MPGDOPEN.TXT を削除し てください。 ●使い方 最初に [操作メニュー] キーを押してください。 ファイル名をダブルクリック(タッチ)で選択後、[OPEN] ボタンでファイル内容を表 示します。 スクロールキーや [順送り]、[逆送り] で、ファイルの内容を読み進めることができ ます。 ---------------------------------------------------------------------------- スクロールキー カーソル移動 [逆送り]/[順送り] ページ切り替え [機能]+[逆送り]/[順送り] ファイルの先頭・最終行に移動 ---------------------------------------------------------------------------- ●注意! セーブしていない編集内容は、電源オフによって内容が失われます。オートパワーオ フに注意してください。 電源を切らない間他のアプリケーションに切り替えても編集内容を保持します。その 分メモリを消費しますので、RAM 容量が 2M しかない機種を使っている場合、大きな ファイルを開いている場合、またはメモリを多く消費するプログラムを一緒に動かす 場合は注意が必要です。 ●画面の見方 ファイル名 行/総数 桁/桁 ↓カーソル位置の文字コード(HEX) ┌──┬───┬─────────────────────┐ │ │ │F0:MPGDTVI.TXT 1/ 32 1/ 3( 0) │ ステータス行 │ □ │KEYPAD├─────────────────────┤ │ │ │ コマンドミニバッファ │ ミニバッファ ├──┴───┴─────────────────────┤ │ │ │ │ │ メイン画面 │ 〜 〜 │ │ │ │ └────────────────────────────┘ バッファ内容が更新されている時(かつセーブしていないとき)は、ファイル名の前に 「*」シンボルが表示されます。同様に設定したマークが有効な間はファイル名の前 に「M」シンボルが表示されます。 ●ファイル名の選択 [操作メニュー] キーで、メニューダイアログを表示します。 表示したいファイル名をドライブ名込み(フルパス)で書き込んで [OPEN] ボタンを押 すと、そのファイルを読み込んで表示します。存在しないファイルの場合は新規ファ イルの作成とみなします。 ファイル名を書き込む代わりに、ファイルリスト(ファイラー)を使ってファイル名を 入力することができます。この場合ダブルクリックで選択します。 [F0▼] ファイルリストで表示するディレクトリを選択します。 F0: 本体メモリ (デフォルト) F1:(CARD) デフォルトのカードメモリ (\__ZAURUS) F1:\ デフォルトカードのルートディレクトリ C1:(CF) MI-E1 専用 CFカードメモリ (\__ZAURUS) C1:\ MI-E1 専用 CFカードのルートディレクトリ C2:(SD) MI-E1 専用 SDカードメモリ (\__ZAURUS) C2:\ MI-E1 専用 SDカードのルートディレクトリ R1:(REMOTE) MI-E1 専用 [TX▼] 拡張子でファイルを絞り込みます。 TXT 拡張子 *.TXT のみ表示 (デフォルト) DOC 拡張子 *.DOC のみ表示 HTML 拡張子 *.HTM のみ表示 LOG 拡張子 *.LOG のみ表示 ALL 全部のファイルを表示 ファイルリスト上で選択できないディレクトリのファイルでも、直接ファイル名をフ ルパスで書き込めば、カード上の任意のファイルを読み書きすることができます。 選択したファイル名に対して次の操作を行うことができます。 [SAVE] ファイルに書き込みます。 [挿入] カーソル位置からファイルの内容を挿入します。 [OPEN] ファイルを新規に読み込みます。 ●文字列検索 メニューダイアログから [検索] を選ぶと、カーソルがコマンドミニバッファに移動 します。 「s(検索文字列) 」のあとに文字列を入力して [改行] か [入力] キーを押すと文字 列検索を行います。検索はカーソル位置から後方(下の方)に対して行います。 カーソルは見つかった文字列の次の位置に移動するので、検索文字列を変更しないで 続けて実行すると 次検索 を行うことができます。 検索操作をショートカットするには、[決定][S] (CTRL-S) を入力してください。 [決定][S][入力] で、いちいちメニューを開かなくても 次検索 ができます。 ([決定] ボタンの存在しない機種では、代わりに [カード] キーを使います。どちら も存在しない BrowserBoard では、[新規作成]キーを使ってください。) ●表示切り替え メニューダイアログ上で、タブサイズ、文字サイズ(フォントサイズ)を変更すること ができます。 [8T▼] タブサイズ切り替え 8Tab 8桁毎にタブ移動 (デフォルト) 4Tab 4桁毎にタブ移動 2Tab 2桁毎にタブ移動 [小▼] フォントサイズ切り替え [横画面時] 小Font 8x10dot 最大 80x22行 表示可能 (デフォルト) 中Font 12x12dot 最大 53x18行 表示可能 大Font 16x16dot 最大 40x13行 表示可能 [縦画面時] 小Font 8x10dot 最大 60x30行 表示可能 (デフォルト) 中Font 12x12dot 最大 40x25行 表示可能 大Font 16x16dot 最大 30x18行 表示可能 [VGA画面時] 小Font 12x12dot 最大106x38行 表示可能 (デフォルト) 中Font 16x16dot 最大 80x28行 表示可能 大Font 24x24dot 最大 53x19行 表示可能 ●編集 メニューダイアログから以下の編集操作を行うことができます。 [PAST] 編集バッファの内容をカーソル位置に挿入します。 [MARK] 範囲選択を開始します。現在のカーソル位置を起点(MARK)に設定し ます。起点は、何らかの編集動作を行うまで保持されます。(起点 そのものは画面には表示されません) [COPY] 現在のカーソル位置からマークまでの間を、専用の編集バッファに コピーします。この編集バッファはエディタ独自のものであって、 Zaurus の ClipBoard とは異なっています。それ故 ClipBoard の 最大サイズの制約を受けずに編集を行うことができます。 [CUT.] 現在のカーソル位置からマークまでの間を切り取り、専用の編集バッ ファに移動します。 これらの操作はいちいちメニューダイアログを開くことなく、検索同様 [決定] ボタ ンとの組み合わせでショートカットすることができます。 また Zaurus 本体の ClipBoard の内容を取り込むこともできます。ClipBoard を介 して、他のアプリケーションと直接データのやりとりを行うことができます。 [貼込] ClipBoard の内容をカーソル位置に挿入します。 [複写] カーソルとマーク間のテキストを、編集バッファと ClipBoard の 両方にコピーします。 ●エディタ 通常のテキストエディタとして編集操作を行うことができます。 ・メニュー表示 ON/OFF [操作メニュー] メニューダイアログの表示ON/OFF ・カーソル移動 [←][→] カーソル左右移動 スクロールキー カーソル上下左右移動 ペンタッチ カーソル位置直接指定 ・ページスクロール [順送り]/[逆送り] ページ切り替え ・ファイル内移動 [機能]+[逆送り] ファイルの先頭行に移動 [機能]+[順送り] ファイルの最終行に移動 ・通常の文字入力 通常文字 カーソル位置に挿入 ・入力切り替え(fepctrl指定時のみ MI-E1を想定) [文字切替] 全角ひら / 半角英数 のトグル [全/半] カタカナ変換 / ひらがな変換 ・改行 [改行] 改行の挿入 [入力] 改行の挿入 ・削除 [削除] カーソル位置の1文字削除 [後退] カーソルの前の1文字削除 ・コントロールキー [決定] 次に入力したキーをコントロールコードとみなす [カード] [決定]ボタンが無い機種では、代わりに[カード] [新規作成] キーや[新規作成]キーを使います。 (例)[カード][A] → CTRL-A [決定][X] → CTRL-X ・エスケープキー [機能]+[決定] エスケープキーとみなす(CTRL-[ 相当) [機能]+[カード] [機能]+[新規作成] ・コントロールキー操作 CTRL-SPACE カーソル位置をマークします CTRL-@ カーソル位置をマークします CTRL-A 行頭に移動 CTRL-B カーソルを左に移動 CTRL-C マーク位置とカーソル位置の間のテキストを編集 領域にコピーします。 CTRL-D カーソル位置の1文字削除 CTRL-E 行末に移動 CTRL-F カーソル右移動 CTRL-G ページアップ CTRL-H カーソルの前の一文字削除 CTRL-I TAB の挿入 CTRL-J 改行の挿入 CTRL-K カーソル以降削除 CTRL-L ステータス行再描画 CTRL-M 改行の挿入 CTRL-N カーソル下移動 CTRL-P カーソル上移動 CTRL-Q 次に続くコントロールコードをそのまま挿入 CTRL-S 文字列検索 CTRL-V ページダウン CTRL-W マーク位置とカーソル位置の間のテキストを編集 領域にコピーして切り取ります。 CTRL-X コマンドミニバッファに移動する CTRL-Y 編集バッファの内容をカーソル位置に挿入します。 CTRL-Z ページアップ CTRL-[ ESC (注意: 純正の外付けキーボードでは、すべてのコントロールキーを送信す ることができません。) ・エスケープキー操作 ESC > ファイルの最終行に移動 ESC < ファイルの先頭行に移動 ESC : コマンドミニバッファに移動する ・その他の操作(暫定機能 MI-E1のみ) [機能]+[V] クリップボードの内容を挿入 [機能]+[C] 範囲を編集バッファとクリップボードに取り込み ・終了 [戻る] 終了しないでインデックス画面を呼び出す [機能]+[戻る] 必要ならセーブして終了 ★例 CTRL 編集操作の仕方 (MI-E1の例) CTRL+C の場合は、最初に [決定]キーを押してから [C] キーを押します。 CTRL+@ の場合は、[決定]キーを押してから [@] キーを押します。 2ステップの手順になります。 ●コマンドミニバッファ コマンドミニバッファ上で、簡単なコマンド実行を行うことができます。コマンドを 直接入力すると、いちいちメニューダイアログを開く必要がありません。 コマンド名はアルファベットで必ず行頭から書かれている必要があります。後ろにス ペース区切りで引数を渡すことができます。コマンド名直後の括弧内の文字列は、コ メントとみなして無視します。(例「s(検索文字列) 」括弧内は無視する) g [<行番号>] 指定した行にジャンプします。行番号を指定すると指定行へ移動、 行番号の省略でキャンセルします。 s [<検索文字列>] カーソル位置から指定文字列の検索を行い、その位置にカーソルを 移動します。 r <ファイル名> 指定したファイルを読み込みます。ドライブ名込みのフルパスで指 定する必要があります。 w [<ファイル名>] ファイルに書き出します。ファイル名は省略できます。 q セーブしないで終了します。バッファ内容が変更されている場合は 確認メッセージを表示します。(CLOSEボタン相当) quit 編集内容を破棄して強制終了します。確認のメッセージも表示され ません。 ●オープニングファイル 起動後一番最初は必ず MPGDOPEN.TXT を表示します。このファイルにちょっとしたメ モや必要なことを書いておくと、最初に表示されるので便利です。 なお、オープニングファイルが不要な方は MPGDOPEN.TXT を削除してください。この とき常に無名の空バッファで起動するようになります。 ●設定ファイル MPGDINIT.TXT は、テキストエディタの設定ファイルです。次の設定コマンドがあり ます。デフォルトで fepctrl が設定してあるので、不要な方はこの1行を削除してく ださい。 fepctrl MI-E1の[文字切替]や[全/半]キーの機能を独自に割り当てて、入力 状態をエディタが制御します。 font デフォルトのフォントサイズを指定します。0, 1, 2 でそれぞれ ダイアログの 小、中、大 に相当します。 ●制限 ・改行コード 改行コードは、読み込み時は LF (\n 0x0a) まはた CR+LF (\r\n 0x0d0x0a) とみなします。CR のみも判別します。ただし書き込むときは、常に CR+LF になります。 ・行長制限 編集時は特に行長制限はありません。行連結時など、非常に長い行でも扱う ことができます。ただし1画面に収まりきれないような長い行になると、カー ソル位置を正しく表示することができなくなります。そのためファイルから 読み込む場合は、1行あたり256byte付近でいったん改行を挿入し、行を分割 する構造になっています。 注意! あくまで行を分割するだけであって 256byte 以上の長い行を読み込 めない、もしくは後半が切れてしまうわけではありません。 ・行単位 行は改行までを1行として数えます。折り返し分は含みません。 ・Paste Paste やファイル挿入などの処理は、行単位で画面のupdateを伴うので非常 に低速です。 ・2byte半角コード SHARP電子手帳から使われている 2byte 半角文字には対応していません。 ・UNDO UNDO機能はありません。 ・検索 単純な文字列検索です。正規表現は使用できません。なぞって検索には対応 していません。 ・編集バッファ(ヤンクバッファ) バッファは一つで常に上書きします。CTRL-K のコマンドでは、編集バッファ に取り込まれないので注意してください。 ・行長 長い行の折り返しで画面外にカーソルが出ると、スクロールされない場合が あります。 ・バイナリファイル バイナリファイルを間違って読み込まないようにしてください。完全なエ ラー判定は行っていません。 ・00コード '\0' (^@) コードの編集には対応していません。行末とみなされ行がそこで 切れてしまいます。 ・不正漢字コード 読み込んだファイル中に、SJIS として矛盾が起こる漢字コードが含まれて いた場合、その動作は不定となります。 ・オープニングファイル MPGDOPEN.TXT は、F1: F0: の順に検索します。 ・設定ファイル MPGDINIT.TXT は、F0: F1: の順に検索します。 ●プログラムについて これまで存在していた Zaurus 用のテキストビュアやエディタには、TAB に対応して いるものがありませんでした。筆者の書くマニュアルやドキュメント類、さらにプロ グラムのソースコードなどを Zaurus 上で表示すると、TAB がつぶれて表示がずれて しまいます。開発サポートページで提供されているテキスト Editor の場合は、TAB 文字が含まれているとバイナリ扱いとなり、読み込むことすらできません。 このプログラムは、テキストエディタを作成するために libc 相当の低水準な処理も 全部自前で処理しています。ヒープ管理、メモリ管理、ストリーム入出力などなど。 SZAB では直接 API 呼び出しを行わなければならないため、このような処理も自分で 作成する必要がありました。今後 CodeWarrior や zxLinux で開発を行うのであれば、 普通に libc を使うだけで済むようになるでしょう。 ●使用条件 プログラム、ドキュメント、付属データなど、これらソフトウエアの著作権は作者で ある小笠原博之が保有しています。このソフトウエアが原因で問題や障害が生じても、 作者は一切保証を行わず、作者に責任も無いものとします。重要なデータはあらかじ めバックアップを取り、利用者の自己責任において使用してください。内容物を改変 したものを無断で配布することを禁止します。利用に当たっては、使い方(説明書)を よく読んでからお使いください。プログラムはフリーソフトウエアです。 ●最後に アイコンを作ってくれたしいねさんに感謝します。 このプログラムの最新版の入手や更新情報はこちらの URL を参照してください。 http://www.vector.co.jp/authors/VA004474/zaurus/zaurus.html 簡易エディタ (か え で) 2000/12/03 0.00 TAB表示できるテキストビュアが欲しくなる。最初はただのビュア。 2000/12/15 1.00 それまで作っていたエディタに、当日公開された E1-SDK を元に CF/SD アクセス機能を追加して公開。 2000/12/17 1.10 拡張子メニュー追加。メニューダイアログ表示時にスクロールする と黒い枠が残る現象を修正(報告 tohrux さん)。辞書貼込や顔文字it対応。 外部キーボード接続時やMT-200/300/BrowserBoard時に小型のキーパッドを 表示するようにした。フォント切り替え時に画面のゴミが出ないようにした。 2000/12/17 1.15 縦画面対応。メニューダイアログの移動対応。 2000/12/22 1.17 日本語入力状態をエディタが制御できるようにした。どの入力モード でも、制御コードが透過できるようになった。設定ファイルを読み込むよう になった。その他バグフィックス。 2000/12/23 1.18 Cut/Copy/Paste 系でエラーになるバグ修正、終了コマンド追加、入 力パッドのON/OFF操作もキーボードでできるようにした。E1以前の機種でキー パッドを表示するとカーソルが左右に移動しない症状修正。 2000/12/23 1.19 [機能]+[戻る]で終了できなくなっていた問題修正。CUT/COPYで最終 行が1行全体コピーされる問題修正。[Mod][MARK]シンボルの表示を変更。 2000/12/26 1.20 アイコン変更(しいねさん作)。VGA画面モードに対応した。デフォル トフォントサイズ設定。ファイル読み込み時の行分割を日本語に対応した。 2000/12/27 1.21 画面の横幅が8の倍数でないときTABで行が送られるとシステムエラー になることがあった問題を修正。[文字切替]で半英数のCAPS状態を保持。 小笠原博之 oga@art.udn.ne.jp http://www.vector.co.jp/authors/VA004474/