そのため情報が古い可能性があります。ご了承ください。m(_ _)m
(自分の場合)入力速度がMS-IMEを使ってたときよりも50%程度落ちてしまうことから
止めることにした。
使い続ければ慣れるんだろうけど、仕事に支障を来す。
仕事辞めてから再チャレンジするかも。
(自分の場合)入力速度がMS-IMEを使ってたときよりも50%程度落ちてしまうことから
止めることにした。
使い続ければ慣れるんだろうけど、仕事に支障を来す。
仕事辞めてから再チャレンジするかも。
skkime’s page
(WindowsXP msvcr80)
skkimeインストール後、ず辞書(SKK-JISYO.L)を入れてみる。
・・・が重い。しかも変換するたびにCPU使用率がグっと上がるのは頂けない。
● 辞書サーバ
仕方がないので辞書サーバをインストールする。
Windows用の辞書サーバは以下があるそうだ。
複数辞書検索が可能な Windows 系 OS 用の skk サーバ。町田文彦さん作。
http://megadriver.yi.org/~fumi/wceskkserv/
WinSock を使って skkserv を Windows で動作するようにしたもの。
skkserv
ttp://www.tatari-sakamoto.jp/arc/wskkserv/wskkserv1.2.TGZ
ttp://www.tatari-sakamoto.jp/arc/wskkserv/wskkserv1.2-bin.TGZ
# 参考:
# SKK 辞書サーバ (オプション)
どちらも最新版を使ってみたが、メモリ使用量の少なかった
wskkservをしばらく使ってみることにする。
● 辞書
↓に書いてあるSKK用の辞書を拾ってくる
http://www.kemasoft.info/index.php?%CE%A2%C1%EB%2Fskkime
辞書メンテナンスツールで複数の辞書ファイルを1ファイルにする。
Windows用メンテナンスツール
ただ、↑のファイルを使うとPermission Deniedと言われてエラーになってしまった。
ので、Portsからインストールしたものを使うことにした
cd /usr/ports/japanese/skk-tools
make install
で、↑の方で拾ってきた辞書を↓のコマンドで1つにする。
skkdic-expr SKK-JISYO.* | skkdic-sort > sorted-jisyo
生成した、sorted-jisyoをwskkservで指定する
● メモ
SKKのマニュアル
Alt + 全角/半角(US配列であれば、Alt + ~) SKKを有効に
SKK有効状態で
l アルファベット入力モード
Ctrl + j かな入力モード
かな入力モードで
q ひらがな/カタカナの切り替え
Ctrl + q ひらがな/半角カタカナの切り替え
/ 変換開始キー
を使えるか調べていたところhttp://tech.groups.yahoo.com/group/wtl/message/15198に
ちょちょいとやれば出来るよ。とあったので試してみた。
WTLをインストールした先のAppWiz内にあるsetup80.js を setup90.jsにコピーして、
setup90.js ファイル内に含まれる”8.0″という文字列を”9.0″に置換して保存した後
setup90.js を実行するとインストール成功!
ファイル → 新規作成 → プロジェクト で、WTLを選択できるようになっているはず。
【追記】
AppWizardの日本語化ファイルを配布している人いました。
http://rapt21.com/wtl.php
初の電子辞書なんで新鮮。
1時間ほど使ってみたところ、「English板電子辞書スレッド39」の396さんのコメント内容が、SR-G7000Mにもほぼそのまま当てはまる模様。
> 396 :名無しさん@英語勉強中 :sage :2008/04/21(月) 02:30:01
> 今日、初めての電子辞書としてSR-G8000を買いました。
> 細かいところで気になったこと:
> ・カタカナ辞書で引いた結果を他の辞書に引き継げない
> (ジャンプを使えば大丈夫ですが)
> ・一括検索での並び順が固定([ビ技英]を一番上にしたいのに…)
> ・英単語を入力してうっかり大辞泉とかのキーを押すと、そのあと英和とかに遷移しても単語が残っていない
> (履歴を押せば呼び出せますが)
> ・なまじインクリメンタルでの表示で用が足りるので決定キーを押さずにいると履歴に残らない
> →当たり前っちゃあ当たり前か…
> ・日本語からのインクリメンタル検索でnnと入力するまで「ん」とみなしてくれない
> ・画面は見易いが、深夜に蛍光灯の明かりが自分の頭で影になると少し見にくい
> (本を読めば確実に目を悪くしそうなほどの暗さなので当然かも、ですが^^;)
> ・12,16ドットに比べて24ドット以上がややジャギー (PCのぼかし系フォントに慣れすぎ?)
> ・閉じても電源offにならない(オートパワーoffはある)
> →閉じてoffならon/offボタンなくてもいいのに…
> ・文字の書かれているファンクションキー群がどれも押した感触が"パコパコ"
> ・電卓で削除キーが使えない、3桁毎に区切ってくれるのはいいが「,」じゃなく「’」
> ・ヘッドフォンが一般的な3.5mmじゃない
> ・スピーカーからの発音音量をミュートできない(物理的にダイヤル絞ってゼロにするしかない)
> →電車内でうっかり発音させてしまいそう…
> ・とりあえず入れてみたIT用語が入ってなかった… (フェムトセル,isochronous)
・・・
でも小さくて良い。
ここを参考に、以下をNetinstallerから入れる。
で、
としていって、間違いがなければ、そのユーザが管理している(?)ブログの一覧が表示される。
ブログの上にカーソルを移動してEnterで、最近投稿した(?)記事一覧が表示される。
記事を選んでEnterすると、その記事の詳細を確認できる。
記事一覧上で、nキー押下すると新しい記事を作成する画面になる。
良い感じです。しばらく使ってみよう。
けど、Hexな値を吐いて毎回WinUser.hから探すのはメンドイので、
上手いやり方がないか試行錯誤した結果、以下で落ち着いた。
#define TOSTRING(str) \
#str
const char *getWindowMessage(UINT uMsg)
{
switch(uMsg)
{
case WM_NULL: return TOSTRING(WM_NULL);
case WM_CREATE: return TOSTRING(WM_CREATE);
case WM_DESTROY: return TOSTRING(WM_DESTROY);
case WM_SETFOCUS: return TOSTRING(WM_SETFOCUS);
case WM_KILLFOCUS: return TOSTRING(WM_KILLFOCUS);
case WM_ENABLE: return TOSTRING(WM_ENABLE);
case WM_SETREDRAW: return TOSTRING(WM_SETREDRAW);
case WM_SETTEXT: return TOSTRING(WM_SETTEXT);
case WM_GETTEXT: return TOSTRING(WM_GETTEXT);
case WM_GETTEXTLENGTH: return TOSTRING(WM_GETTEXTLENGTH);
case WM_PAINT: return TOSTRING(WM_PAINT);
case WM_CLOSE: return TOSTRING(WM_CLOSE);
case WM_QUIT: return TOSTRING(WM_QUIT);
case WM_SHOWWINDOW: return TOSTRING(WM_SHOWWINDOW);
case WM_INITDIALOG: return TOSTRING(WM_INITDIALOG);
case WM_COMMAND: return TOSTRING(WM_COMMAND);
case WM_SYSCOMMAND: return TOSTRING(WM_SYSCOMMAND);
case WM_TIMER: return TOSTRING(WM_TIMER);
case WM_HSCROLL: return TOSTRING(WM_HSCROLL);
case WM_VSCROLL: return TOSTRING(WM_VSCROLL);
case WM_INITMENU: return TOSTRING(WM_INITMENU);
case WM_INITMENUPOPUP: return TOSTRING(WM_INITMENUPOPUP);
・・・
}
static char buf[8];
wsprintf(buf, "0x%x", uMsg);
return buf;
}
ダイアログボックスにリッチエディットコントロールを貼り付けて、
ダイアログボックスを生成すると何故か表示されなくなった。
普通のエディットコントロールなら問題ないのに。。
途中までは上手くいってるように見えるけど、(エラー吐かないし)
CDialogImpl::Create()が返すハンドルはNULLだから、どっかで変になってるんだろう。
しゃーないので、↓こんなテキトーなマクロ拵えてウィンドウメッセージの流れを追ってみた。
#define DEBUG_MSG_MAP(str) \
break; \
} \
_RPT4(_CRT_WARN, str ": dwMsgMapID=[%d], uMsg=[0x%04x], wp=[0x%x], lp=[0x%x]\n", \
dwMsgMapID, uMsg, wParam, lParam); \
switch(dwMsgMapID) \
{ \
case 0:
↓こんな感じでメッセージマップの直後で使う。
// メッセージマップ
BEGIN_MSG_MAP_EX(CMainDlg)
DEBUG_MSG_MAP2("CMainDlg")
するとVCのアウトプットウィンドウにログが流れるという感じ。
で、吐かれたログを見てみるとWM_DESTROYが来てた・・・
0x0030(WM_SETFONT)
0x0002(WM_DESTROY)
0x0082(WM_NCDESTROY)
エディットコントロール から リッチエディットコントロールに変更した途端にこうなったんで、
まぁ、リッチエディットコントロールの使い方が悪いんだろうと調査したところ、
以下のサイトがヒット。
ATL/WTLによるWindowsプログラミング – リッチエディット(The So-Software Studio )
なんでも、↓こんな初期化処理が要るらしい。
#define _RICHEDIT_VER 0x0200
int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/)
{
// リッチエディットコントロール初期化
HINSTANCE hRich = LoadLibrary(CRichEditCtrl::GetLibraryName());
if(hRich == NULL){
AtlMessageBox(NULL, _T("リッチエディットコントロール初期化失敗"),
_T("エラー"), MB_OK | MB_ICONERROR);
return 0;
}
HRESULT hRes = ::CoInitialize(NULL);
ATLASSERT(SUCCEEDED(hRes));
::DefWindowProc(NULL, 0, 0, 0L);
AtlInitCommonControls(ICC_BAR_CLASSES);
早速追加してやってみたが変わらず・・・だったので、
その後、試行錯誤した結果、「VC6のリソースエディタを使って、リッチエディットコントロールを貼り付けると、バージョン1.0となる」ことが判明。
解決策としては、
くらいかなぁ。ややこしい・・・。
現在のバッファにファイル名が無かった場合は、ed::*grep-directory-history*から持ってくるように修正。(+バグ修正)
(defun grep-current-directory-at-word ()
(interactive)
(let ((filename (get-buffer-file-name))
(pattern (ed::get-winhelp-topic)))
(if (< 0 (length pattern))
(progn
(require “grepd”)
(if filename
(ed::scan-files pattern (or (split-string (car ed::*grep-file-history*) #\; nil ” “) “*.*”) (directory-namestring filename))
(ed::scan-files pattern (or (split-string (car ed::*grep-file-history*) #\; nil ” “) “*.*”) (or (car ed::*grep-directory-history*) “~”)))
)
(message “検索するWordが無いよ”)))
)
tips/カーソル下の単語を grep する – XyzzyWiki
を参考にして、機能縮小版。
個人的に、「検索対象のファイルは現在のファイルと同じ拡張子のみ」が要らなかったんで。
(defun grep-current-directory-at-word ()
(interactive)
(let ((filename (get-buffer-file-name))
(pattern (ed::get-winhelp-topic)))
(if (and filename (< 0 (length pattern)))
(progn
(require "grepd")
(ed::scan-files pattern (or (car ed::*grep-file-history*) "*.*") (directory-namestring filename))
)
(if (not filename)
(message "ファイル名無いよ")
(message "検索するWordが無いよ"))))
)
(defun grep-dialog-with-word-and-filename ()
(interactive)
(unless (pre-selection-p)
(skip-syntax-spec-forward "w_")
(ed::begin-selection)
(skip-syntax-spec-backward "w_"))
(grep-dialog)
)
(global-set-key #\C-8 #’grep-current-directory-at-word)
(global-set-key #\C-9 #’grep-dialog-with-word-and-filename)
Outpost Firewall(無料版)を入れてたけど、「現在の接続情報を見ようとすると落ちる。」
という怪現象が直らないため、別のPersonal Firewallを探していて見つけたのが、
Comodo Firewall Pro 3。永遠にFreeだそうです。また、FirewallのLeak Testでも
かなり良い線を行ってるそうです。
しばらく使ってみます。
ほかにJetico Personal Firewall も良さそうだった。Comodo Firewall Pro 3が、
しっくり来なかったら使ってみます。
↓日本語のまとめサイト
Comodo Firewall Pro @ まとめ