本染め男物ゆかた NO14 なまず柄 ― 2007年09月01日 23時20分52秒
Namazu for Windows 2.0.17 ダウンロード数(3) ― 2007年09月11日 01時40分31秒
アクセスログの保存期間が3ヶ月しかないので、前回以降の集計です。
(10日分ほど欠落しているかもしれません。)
6/1~9/10(昨日)までの nmz2.0.17.001-win32.zip のダウンロード数は、約2,441 でした。
nmz2.0.16.002-win32.zip のダウンロード数は 270、nmz2.0.16.003-win32.zip のダウンロード数は 108 でした。
何故か nmz2.0.16.002-win32.zip が人気!? 2.0.17 の 10% 以上も...。
(古いバージョンは使わないでね)
NKF, File-MMagic, Text-Kakasi, Search-Namazu の PPM のダウンロード数はそれぞれ約 1,480 でした。
Text-ChaSen の PPM のダウンロード数は約 40 でした。
MeCab の PPM のダウンロード数は約 220 でした。
ppm, PPM のセッション数は約180、1,500、合わせて約 1,680 でした。
このことから、この期間のインターネットからの Namazu 2.0.17 for Windows ののべインストール数は約 1,500 台ということでしょう。
なお、前回の調査と合わせると、nmz2.0.17.001-win32.zip ののべダウンロード数は 4,777。
Namazu 2.0.17 for Windows ののべインストール数は 2,800 ぐらいのようです。
(10日分ほど欠落しているかもしれません。)
6/1~9/10(昨日)までの nmz2.0.17.001-win32.zip のダウンロード数は、約2,441 でした。
nmz2.0.16.002-win32.zip のダウンロード数は 270、nmz2.0.16.003-win32.zip のダウンロード数は 108 でした。
何故か nmz2.0.16.002-win32.zip が人気!? 2.0.17 の 10% 以上も...。
(古いバージョンは使わないでね)
NKF, File-MMagic, Text-Kakasi, Search-Namazu の PPM のダウンロード数はそれぞれ約 1,480 でした。
Text-ChaSen の PPM のダウンロード数は約 40 でした。
MeCab の PPM のダウンロード数は約 220 でした。
ppm, PPM のセッション数は約180、1,500、合わせて約 1,680 でした。
このことから、この期間のインターネットからの Namazu 2.0.17 for Windows ののべインストール数は約 1,500 台ということでしょう。
なお、前回の調査と合わせると、nmz2.0.17.001-win32.zip ののべダウンロード数は 4,777。
Namazu 2.0.17 for Windows ののべインストール数は 2,800 ぐらいのようです。
手描きTシャツ なまず 0827秋先2 ― 2007年09月16日 12時00分34秒
ChaSen 2.3.3 における chasenrc ファイルの優先順位 ― 2007年09月16日 12時08分12秒
ChaSen 2.3.3 における chasenrc ファイルの優先順位
A. -R オプションが指定されている場合
1. レジストリ HKEY_CURRENT_USER\Software\NAIST\ChaSen\chasenrc の chasenrc ファイル
[Windowsのみ]
2. システムのデフォルトパス ${prefix}/etc/chasenrc
UNIX では、/usr/local/etc/chasenrc
Windows では、c:\Program Files\chasen\etc\chasenrc
B. -R オプションが指定されていない場合(通常)
1. コマンドラインパラメータ -r で指定した chasenrc ファイル
2. 環境変数 CHASENRC で指定した chasenrc ファイル
3. 環境変数 HOME が設定されている場合 ~/.chasen2rc ファイル
4. 環境変数 HOME が設定されている場合 ~/.chasenrc ファイル
5. HOMEDRIVE\HOMEPATH\.chasen2rc ファイル [Windowsのみ]
6. HOMEDRIVE\HOMEPATH\.chasenrc ファイル [Windowsのみ]
7. レジストリ HKEY_CURRENT_USER\Software\NAIST\ChaSen\chasenrc の chasenrc ファイル
[Windowsのみ]
8. システムのデフォルトパス ${prefix}/etc/chasenrc
UNIX では、/usr/local/etc/chasenrc
Windows では、c:\Program Files\chasen\etc\chasenrc
A. -R オプションが指定されている場合
1. レジストリ HKEY_CURRENT_USER\Software\NAIST\ChaSen\chasenrc の chasenrc ファイル
[Windowsのみ]
2. システムのデフォルトパス ${prefix}/etc/chasenrc
UNIX では、/usr/local/etc/chasenrc
Windows では、c:\Program Files\chasen\etc\chasenrc
B. -R オプションが指定されていない場合(通常)
1. コマンドラインパラメータ -r で指定した chasenrc ファイル
2. 環境変数 CHASENRC で指定した chasenrc ファイル
3. 環境変数 HOME が設定されている場合 ~/.chasen2rc ファイル
4. 環境変数 HOME が設定されている場合 ~/.chasenrc ファイル
5. HOMEDRIVE\HOMEPATH\.chasen2rc ファイル [Windowsのみ]
6. HOMEDRIVE\HOMEPATH\.chasenrc ファイル [Windowsのみ]
7. レジストリ HKEY_CURRENT_USER\Software\NAIST\ChaSen\chasenrc の chasenrc ファイル
[Windowsのみ]
8. システムのデフォルトパス ${prefix}/etc/chasenrc
UNIX では、/usr/local/etc/chasenrc
Windows では、c:\Program Files\chasen\etc\chasenrc
KAKASI 2.3.4 における辞書ファイルの優先順位 ― 2007年09月16日 20時41分33秒
KAKASI 2.3.4 における辞書ファイルの優先順位
まず、KAKASI では kanwadict ファイルと itaijidict ファイルを使用します。
(kanwadict ファイルは、作成時の itaijidict ファイルに依存します。)
[kanwadict ファイル]
1. 環境変数 KANWADICTPATH で指定したファイル
2. 環境変数 KANWADICT で指定したファイル
(これは、過去互換性のためのものですので、通常使用しないこと)
3. システムデフォルトのファイル $(dictdir)/kanwadict
UNIX の場合は、 /usr/local/share/kakasi/kanwadict
Windows の場合は C:\kakasi\share\kakasi\kanwadict
[itaijidict ファイル]
1. 環境変数 ITAIJIDICTPATH で指定したファイル
2. 環境変数 ITAIJIDICT で指定したファイル
(これは、過去互換性のためのものですので、通常使用しないこと)
3. システムデフォルトのファイル $(dictdir)/itaijidict
UNIX の場合は、 /usr/local/share/kakasi/itaijidict
Windows の場合は、 C:\kakasi\share\kakasi\itaijidict
なお、Windows の場合、レジストリでファイルのパスを指定できるようになっていた方が良いように思います。
まず、KAKASI では kanwadict ファイルと itaijidict ファイルを使用します。
(kanwadict ファイルは、作成時の itaijidict ファイルに依存します。)
[kanwadict ファイル]
1. 環境変数 KANWADICTPATH で指定したファイル
2. 環境変数 KANWADICT で指定したファイル
(これは、過去互換性のためのものですので、通常使用しないこと)
3. システムデフォルトのファイル $(dictdir)/kanwadict
UNIX の場合は、 /usr/local/share/kakasi/kanwadict
Windows の場合は C:\kakasi\share\kakasi\kanwadict
[itaijidict ファイル]
1. 環境変数 ITAIJIDICTPATH で指定したファイル
2. 環境変数 ITAIJIDICT で指定したファイル
(これは、過去互換性のためのものですので、通常使用しないこと)
3. システムデフォルトのファイル $(dictdir)/itaijidict
UNIX の場合は、 /usr/local/share/kakasi/itaijidict
Windows の場合は、 C:\kakasi\share\kakasi\itaijidict
なお、Windows の場合、レジストリでファイルのパスを指定できるようになっていた方が良いように思います。
鉄紺(てつこん)なまず ― 2007年09月17日 11時00分13秒
売り上げ金の一部は地球戦略(ペコポン)に使用しないであります。 ― 2007年09月17日 11時05分46秒
KAKASI-2.3.5.pre1 のパッチ ― 2007年09月19日 18時39分14秒
KAKASI 2.3.5pre1 をコンパイルして気になったところを修正してみました。
- iconv_t 変数にキャストなしで -1 を代入または比較している部分を修正
- ptype 変数を初期化せずに使用しているため、未定義の値を参照する可能性があったのを修正
- 関数のプロトタイプ宣言なしで pututf8 を使っていたので、関数のプロトタイプを追加
- make dist の際に tests/env.sh が tarball に含まれないバグを修正
--- src/kakasi.c.org 2007-09-19 17:55:33.000000000 +0900
+++ src/kakasi.c 2007-09-19 17:55:28.000000000 +0900
@@ -53,8 +53,8 @@
#ifdef KAKASI_SUPPORT_UTF8
#include
-iconv_t fromutf8 = -1;
-iconv_t toutf8 = -1;
+iconv_t fromutf8 = (iconv_t)-1;
+iconv_t toutf8 = (iconv_t)-1;
#endif /* KAKASI_SUPPORT_UTF8 */
/* FIXME: this macro should be removed future. */
@@ -638,7 +638,7 @@
setcharbuffer((unsigned char *)str);
#endif
- pctype = OTHER;
+ ptype = pctype = OTHER;
separator_out = 0;
for(;;) {
getkanji(c);
--- src/kanjiio.c.org 2007-09-19 17:55:33.000000000 +0900
+++ src/kanjiio.c 2007-09-19 17:55:28.000000000 +0900
@@ -90,6 +90,7 @@
else \
Len = -1;
+void pututf8(int f, int s);
#endif /* KAKASI_SUPPORT_UTF8 */
@@ -552,7 +553,7 @@
utf8[i] = getchar();
}
fromlen = len;
- if (fromutf8 == -1)
+ if (fromutf8 == (iconv_t)-1)
fromutf8 = iconv_open("EUC-JP", "UTF-8");
l = iconv(fromutf8, &from, &fromlen, &to, &tolen);
if (tolen == 1) {
@@ -1063,7 +1064,7 @@
int i;
fromstr[0] = (char) f;
fromstr[1] = (char) s;
- if (toutf8 == -1)
+ if (toutf8 == (iconv_t)-1)
toutf8 = iconv_open("UTF-8", "EUC-JP");
l = iconv(toutf8, &from, &fromlen, &to, &tolen);
if (tolen >= 6 || tolen < 0)
--- tests/Makefile.am.org 2007-09-19 18:03:34.000000000 +0900
+++ tests/Makefile.am 2007-09-19 17:54:07.000000000 +0900
@@ -9,4 +9,4 @@
clean-local:
rm -f test-log tmp
-EXTRA_DIST = $(TESTS)
+EXTRA_DIST = $(TESTS) env.sh
「自震マンマン」作務衣/なまず ― 2007年09月19日 18時45分02秒
NKF の濁点と半濁点の処理のバグ ― 2007年09月19日 21時41分42秒
NKF 1.71 では問題ありませんが、NKF 2.X では、濁点、半濁点の処理にバグが あるようです。
echo "スまホみ" | nkf -Ee ズポ
となります。(ス、ホはいずれも半角カナ)
これは、半角カナは濁点、半濁点も1文字であり、全角カナに変換する際に2文字を1文字の濁点あるいは半濁点付きの文字に変換しないといけないのですが、この判定を誤っています。
全角の「ま」や「マ」の下位ビットが半角カナの濁点の下位ビットと同じ、
全角の「み」や「ミ」の下位ビットが半角カナの半濁点の下位ビットと同じためです。
これを修正するパッチを添付します。 なお、ソースの3箇所の改行コードがおかしいので、これも修正しています。
--- nkf.c.org 2007-07-25 00:13:03.000000000 +0900
+++ nkf.c 2007-09-19 21:36:35.000000000 +0900
@@ -2755,13 +2755,13 @@
/* normal ASCII code */
SEND;
}
- } else if (c1 == SI && (!is_8bit || mime_decode_mode)) {^M
+ } else if (c1 == SI && (!is_8bit || mime_decode_mode)) {
shift_mode = FALSE;
NEXT;
- } else if (c1 == SO && (!is_8bit || mime_decode_mode)) {^M
+ } else if (c1 == SO && (!is_8bit || mime_decode_mode)) {
shift_mode = TRUE;
NEXT;
- } else if (c1 == ESC && (!is_8bit || mime_decode_mode)) {^M
+ } else if (c1 == ESC && (!is_8bit || mime_decode_mode)) {
if ((c1 = (*i_getc)(f)) == EOF) {
/* (*oconv)(0, ESC); don't send bogus code */
LAST;
@@ -4584,11 +4584,11 @@
return;
}
if (x0201_f && z_prev2==X0201) { /* X0201 */
- if (c1==(0xde&0x7f)) { /* ^[$BByE@^[(B */
+ if (c1==(0xde&0x7f) && c2 == X0201) { /* ^[$BByE@^[(B */
z_prev2=0;
(*o_zconv)(dv[(z_prev1-SPACE)*2],dv[(z_prev1-SPACE)*2+1]);
return;
- } else if (c1==(0xdf&0x7f)&&ev[(z_prev1-SPACE)*2]) { /* ^[$BH>ByE@^[(B
*/
+ } else if (c1==(0xdf&0x7f)&&ev[(z_prev1-SPACE)*2] && c2 == X0201) { /*
^[$BH>ByE@^[(B */
z_prev2=0;
(*o_zconv)(ev[(z_prev1-SPACE)*2],ev[(z_prev1-SPACE)*2+1]);
return;
最近のコメント