本書は,株式会社アクセスが開発した情報家電・専用機器向けインターネットソフトウェアNetFront バージョン2.0のWWWブラウザ(AVE-Front)の機能について説明します. NetFrontはリアルタイムOS上に最適な形で実装され,省メモリで2次記憶装置のない制限されたハードウェア環境で高性能を実現します.
NetFrontは,テレビ,セットトップボックス,専用ワープロ,PDA,専用端末,ゲーム機,カーナビゲーション,携帯電話やPHS,ファックスやプリンタ,デジタルカメラなどさまざまな家電機器・情報機器に搭載されることを意識して設計されており,移植性を考慮した柔軟なソフトウェア構成になっています.
バージョン2.0では,さらに今後進化する情報家電を想定したコンパクトかつ拡張性の高いプラットフォームになっており,ブラウザを情報家電・専用機器の統合フロントエンドとして利用できます.ブラウザを拡張あるいはUIフロントエンドとして利用するために,NetFrontでは各種インタフェースを用意しています.
JV-Liteは株式会社アクセスが開発した情報家電向けJava仕様準拠モジュールです. JV-Liteの仮想マシンは, Sun Microsystems社が公開しているJava仮想マシンの仕様 ("The Java(TM) Virtual Machine Specification." Time Lindholm and Frank Yellin. Addison Wesley, 1997.) に基づいて独自の実装により実現したものです. JV-Liteのクラスライブラリは, JDK1.0に公開されている仕様およびJDK1.1により追加されている仕様の一部を充足しているクラスライブラリです. JV-LiteはNetFrontのプラグインモジュールとして提供され, 仮想マシンおよびクラスライブラリをROM化することができます. JV-Liteの詳細は付属のJV-Lite SDKの文書をご覧ください.
NetFront 2.0 for PocketBSD 評価版(以下,NetFront)は, NetFrontおよびJV-Liteの評価を目的として無償で提供されるものです. 詳しくはご使用条件をご覧ください. NetFront製品およびJV-Lite製品についての詳細およびお問い合わせ先は, アクセスのホームページをご覧ください.
通常のFreeBSDのパッケージと同様です.
rootで,
# pkg_add NetFront-2.0-demo.tgz
JV-Lite SDKは,JV-Liteプログラムを開発するために必要なドキュメント, クラスライブラリやサンプルプログラムを含んでいます. JV-Liteプログラム開発の詳細はSDK付属のドキュメントを参照してください.
JV-Lite SDK 1.2パッケージは,zip形式の圧縮ファイルとして提供されますので, unzip等のプログラムを用いて伸長してください.
% unzip jv981009.zip
ただし,解凍後のディスク使用量は通常約21メガバイトになりますので, 容量が足りない方はPocketBSD上で解凍しないで, 他のマシンで解凍し必要なものをコピーするか, ブラウザからネットワーク経由(ppp)で参照してください.
なお,JV-Liteの仮想マシンおよび実行時クラスライブラリは NetFront 2.0にリンクされていますので, JV-Liteプログラムの実行のためにはJV-Lite SDKは必要ありません.
% netfront [option] [/cf:config] [URL]
コマンドラインオプションには以下のものがあります.
[F2](開く)キーを押すと, ユーザが表示したいページのURLを指定するためのダイアログが開きます. http:// を初期表示していますので,その後に続けて入力します. 自ノードにあるURL(ファイルスキーム)を選択する場合は, http:// を消去し,file:/ と続けて入力します. 最後に[OK]ボタンを指定すると,このダイアログを閉じて, 入力されたURLのページを開きます. 何もしないでダイアログを閉じるには[CANCEL]ボタンを選択します. また,以前に入力したURLがある場合は,それがすべて再表示されます.
リンクはアンカーを反転表示することで示されます. 画像の場合は囲み枠が太く表示されます. 矢印キーで順次移動し,場合によってはスクロールも自動的に行います. 選択は[Enter]キーで行います.
スクロールは矢印キー(←↓↑→)により行います. また,[次頁][前頁]キーによりページ単位でスクロールできます.
起動後に表示したページについて内部に履歴を管理しています.
フレームのあるページが表示されている場合, フレームの切替は[F8](フレーム)キーで行います.
表示しているページのフォームを入力は, フォーカスの移動と選択により行います.
クリッカブルマップとは,地図などの画像で, その中に選択可能なコントロールがあるものです. フォーカスがそのようなイメージにある場合, 通常のイメージと同様に枠が太くなります. [Enter]キーを押すと,中央に十字カーソル(+)が現れ, 矢印キーで移動できるようになります. フォーカスを解除するには[ESC]を押下します. 目的の位置に来たら,[Enter]キーで選択すると, そのコントロールに応じた動作を行います.
ユーザ名とパスワードによるプロテクトがかかっているページを 閲覧する場合は,クライアント認証のダイアログが表示され, 入力を要求されます. ユーザ名とパスワードを入力し,[OK]ボタンを押下して, 成功すればそのページを閲覧することが可能になります. 失敗した場合は,エラーが表示され前のページに戻ります.
しおりを利用することにより, 訪れたページのURLを保存しておくことができます. [F10](追加)キーにより現在のページのURLがタイトルとともに しおりファイルに追加されます. [F9](しおり)キーによりしおりファイルからURLを選択して ジャンプすることができます. しおりファイルは通常~/.netfront/bookmark.htmlです.
NetFront for PocketBSDのしおりファイルの形式は Netscape NavigatorのBookmarkと共通になっていますので, 共用することができます. しおりの「追加」によりBookmarkが末尾に追加されます. 編集・削除をNetscape Navigatorで行うことができます.
[F1] ヘルプ [F2] 開く [F3] 戻る [F4] 進む [F5] 中止 [F6] 更新 [F7] ホーム [F8] フレーム [F9] しおり [F10] 追加 b 戻る f 進む F フレーム選択 (Shift+f) R 更新 (Shift+r) q 終了
ブラウザの動作をユーザの好みと必要に応じて変更することができます. 起動時に読み込まれる初期設定ファイル(~/.netfront/preferences)を 変更することによりブラウザのカスタマイズを行います.
カスタマイズはパラメータと設定値の対を記述することにより行います. 各パラメータは':'(セミコロン)を後ろにつけ, TAB又はスペースで区切った後,設定値を書きます. パラメータは大文字小文字を区別しません.
パラメータの途中にスペースが必要な場合は'"'(ダブルクォート)で囲みます. クォート中にダブルクォートが必要な場合は'\'(バックスラッシュ)で エスケープして \" と記述します.未定義のパラメータは無視します.
例: keyward1: foo keyward2: "foo bar" keyward3: "\"foo\", \"bar\""'#'以降はコメントとみなします.また,行頭のTAB,スペースも無視します.
設定値のタイプは,string,bool,intの3種類です. stringは任意の文字列,boolはture,false,yes,noのいずれか, intは符合付きの数字です.
NetFrontのカスタマイズパラメータ(一部省略)パラメータ タイプ 初期設定 説明 HomePage: string なし ホームページのURL AutoLoadImage: bool ture インラインイメージの自動読み込み InterlaceNF1: bool false インターレスgifイメージをNF1タイプ (すだれ状)の表示にするかどうか DitherDirect: bool false 8bit pixel 以下のダイレクトカラーの場合 ディザ処理するかどうか DisableAnimation: bool false アニメーションgifのアニメーション動作を 禁止にするかどうか BaselineGap: int 0 行間のピクセル数 BlinkOnPeriod: int 2000 <BLINK>の点滅間隔 BlinkOffPeriod: int 1000 <BLINK>の点滅間隔 DontShowFocus: bool false フォーカスを表示しないかするか ContinueFocusMove: bool false フォーカスを連続に移動するかしないか (左右カーソルで) FrameFocusBorder: int 1 フレームのフォーカス枠サイズ DefaultScrolling: string auto スクロールバーの表示 Auto ... 自動 No ... 常に非表示 Yes ... 常に表示 MemoryCacheLimit: int 0 メモリキャッシュサイズ(バイト数) DiskCacheLimit: int 0 ディスクキャッシュサイズ(バイト数) DiskCacheFileLimit: int -1 ディスクキャッシュのメモリ内管理 構造体の制限(-1は制限なし) DiskCacheInfoLimit: int -1 ディスクキャッシュのファイル数の制限 (FATファイルは除く)(-1は制限なし) DiskCacheDirectory: string なし ディスクキャッシュのディレクトリを 表す文字列 CheckDocDate: string OpcePerSession ディスクキャッシュの日付比較ポリシー OncePerSession ... 1回だけ比較 Never ... 比較しない EveryTime ... 毎回比較 DiskCacheRoundUpUnit: int 1 ディスクにキャッシュするファイルの 論理長から物理長を求める時の単位 2の累乗でなければならない DiskCacheWriteTiming: string OnIdle ディスクキャッシュに書き込むタイミング Immed ... 1つURLを読み終わったごとに OnIdle ... アイドル状態になったとき OnClose ... ページが切り替わる時に まとめて MaxNetworkConnections: int 4 最大同時コネクト数 OpenURLTimeOut: int 30000 コネクトまでのタイムアウト時間(msec.) ProxyHost: string なし proxyのホスト名 ProxyPort: int 8080 proxyのポート番号 NoProxyHosts: string なし プロクシ未使用ホストの設定 比較方法は後方検索で、複数ある場合は ','(カンマ)で区切る。間の空白に注意 ex) access.co.jp,www.foo.comNetFront for PocketBSD固有のカスタマイズパラメータ
ExternalHelper string なし 外部ヘルパーの登録。パラメータは ','(カンマ)で区切る。 パラメータは以下の順 1)拡張子(今は無視) 2)MIME type 3)実行の方法 B バックグランドで実行 W その場で終了待ち G mglを開放してその場で終了待ち 4)実行ファイルのPATH 引数としてテンポラリファイルのPATH が追加されて実行される。 ex) wav,audio/x-wav,B,/usr/local/bin/wavplay DownloadPath string /tmp 不明なMIME type のコンテンツをファイル としてセーブする際のPATH ProgressIcon string 内蔵 読み込み中アイコンのPATH (アニメーションGIFを指定) ProgressIconStyle string Right 読み込み中アイコンの表示位置 None 表示しない Left 左上 Right 右上 Center 中央 SavePowerTimeout int 0 パワーセーブモードに入るまでの時間 (単位:秒) SavePowerInterval int なし パワーセーブモードでのブロッキング キー読み込みのタイムアウト (単位:秒)
各機能にキーを割り当てます. 設定値はstringのみで,バインドするキーを','で区切って列挙します. キーの間には空白を入れないでください.
キーの指定は以下のような値が使えます(大文字小文字は区別しません).
値 キー \n Enter CR Enter ENTER Enter \t TAB TAB TAB BS BS SPACE スペース SP スペース ESC ESC HOME HOME PGUP 前項 PGDN 次項 UP ↑ DOWN ↓ LEFT ← RIGHT → その他のキー そのまま
先頭に'^'(ハット)を書くとCTRLキーとの同時押しを表します. ただし,アルファベット以外のキーとCTRLキーを組み合わせる事は出来ません. またアルファベットを大文字で書くと, SHIFTキーとの同時押しと同じ意味になります。
パラメータ 説明 Key_Backward: backward Key_Forward: forward Key_FocusUp: フォーカスの移動 Key_FocusDown: Key_FocusLeft: Key_FocusRight: Key_FrameNext: フレームの移動 Key_FramePrev: Key_Enter: リンクを辿るなど Key_PageUp: スクロール (全画面) Key_PageDown: Key_PageLeft: Key_PageRight: Key_PageUpHalf: スクロール (半画面) Key_PageDownHalf: Key_PageLeftHalf: Key_PageRightHalf: Key_Abort: 読み込みの中断 Key_Reload: 更新 Key_Quit: 終了 Key_MapUp: クリッカブルマップ内でのカーソル移動 Key_MapDown: Key_MapLeft: Key_MapRight: Key_MapEnter: クリッカブルマップ内での決定 Key_MapCancel: クリッカブルマップモードを抜ける Key_SaveAs: 現在のドキュメントを保存 Key_SaveLinkAs: リンク先のドキュメントを保存 Key_ExecShell: 現在のURLを引数としてコマンドを起動 Key_ExecShellLink: リンク先のURLを引数としてコマンドを起動 Key_AutoLoadImageOn: 画像の読み込みをON Key_AutoLoadImageOff: 画像の読み込みをOFF Key_AutoLoadImageToggle:画像の読み込みをトグル Key_None: 何もしない(キーバインドを外す時に使用)
例) Emacs風のキーバインド Key_FocusUp: ^p Key_FocusDown: ^n Key_FocusLeft: ^b Key_FocusRight: ^f Key_PageUp: V Key_PageDown: ^v,SPACE
Key_ExecCommand: key,type,command key : 割り当てるキーを示す文字列 type : U,C,F のいずれか1文字 command: 実行するコマンド ファイル名やURLを引数にしてコマンドを実行する為のホットキーを登録する. typeは以下の意味を持つ. U : リンク先のURLを引数にして実行. C : 表示中のURLを引数にして実行. ローカルファイルの場合絶対パスを引数にして実行. F : ローカルファイル名を引数にして実行. file: の時は絶対パス,その他の時はテンポラリファイルに ダウンロードしてそのファイル名を引数にして実行。 コマンドの実行はmglを開放して実行される.
例: Key_ExecCommand: V,F,less
NetFront,AVE,JV-Liteは,株式会社アクセスの日本国における登録商標です.
Java及びすべてのJava関連の商標及びロゴは,米国及びその他の国における米国Sun Microsystems Inc.の商標又は登録商標です.
Netscapeは,米国Netscape Communications Corporationの米国及びその他の国における商標又は登録商標です.
文中の会社名,商品名は各社の商標又は登録商標です.
本書の全部又は一部を株式会社アクセスの許諾なく複製し,頒布その他の行為を行うことはできません. また,本書の内容・構成を株式会社アクセスの許諾なく改変すること,改変したものを複製し,頒布その他の行為を行うこともできません.
株式会社アクセス