nkfってなんだ (337レス)
上下前次1-新
138: 愛・昆布 ◆qvkminQt6g 2005/03/28(月)23:20 AAS
ぼくわこんぶがだいすきですぼくがこんぶがすきなところわおいしいからこんぶはすきですおでんのこんぶはぜんぶたべてしまっておとおさんにおこらいましたもうしないようにしないとおとおさんがこわいのでしません。
139: 2005/03/29(火)02:41 AAS
そのままアルジャーノンで
140(1): 2005/04/16(土)07:42 AAS
iconvやuconvがあるからもうnkfとかqkcとか日本ローカルなものはいらないね
141: 2005/04/16(土)07:46 AAS
すごいね.2001年からのスレかよ.
142: 2005/04/16(土)08:12 AAS
>>140
iconv や nkf, qkc を一緒くたに比較しちゃう時点でアレとかいうのは置いといて、
uconv ってなんじゃい?
143: 2005/04/16(土)08:21 AAS
ぐぐれば?
144: 2005/04/16(土)10:23 AAS
Non Korea Future
145: [δsage] 2005/04/16(土)12:19 AAS
あがっちまったものはしょうがない、
文字コード変換総合スレということにでもしてみるか
146(1): 2005/04/16(土)12:36 AAS
iconv糞っていってるやつは、libiconvにパッチを当てるって事を
思いつかないんだろう。
147: 2005/04/16(土)15:50 AAS
どのOSでもパッチをあてられるというわけでもなく。
148: 2005/04/16(土)17:26 AAS
自動認識の要求もそれなりにあるからなあ。
まあでもiconvに成功するまでいろんなencodingで試すというやりかたも
なくもないか。gonzuiはそうやっているらしい。
149: 2005/04/16(土)18:07 AAS
>>146
パッチ当てなきゃ糞っていうなら十分糞だと思うが?
150: 2005/04/17(日)18:19 AAS
nkfのnってなんで?
151: 2005/04/17(日)18:34 AAS
nantonaku
kayuitokorowo
funsaishita
152: 2005/04/30(土)13:09 AAS
Cのライブラリとしてつかえるのって、iconvとwkf以外にはなにがあります?
153(1): 2005/06/11(土)09:57 AAS
上書きしようとして -O をつけると無変換にならなくねが?おらがのバージョン2.04だども。
154: 2005/06/12(日)08:27 AAS
age
155: 153 2005/06/13(月)09:09 AAS
ヤバイ上書きは--overwriteらしい。今は反省している。
156: 2005/12/31(土)17:24 AAS
> あいかわらず河野がかかわってるんじゃん。
tar xvf nkf203.tar # 最新版
grep -R . void
nkf.c: void (*status_func)PROTO((struct input_code *, int));
...
nkf.c: ** void@merope.pleiades.or.jp (Kusakabe Youichi)
157: 2005/12/31(土)17:55 AAS
fujitsu最大の成果物ということでよろしいでしょうか?
158: 2005/12/31(土)18:02 AAS
でも河野さんはsonyでしょ。(当時)
159: 2006/01/13(金)15:10 AAS
--guess はバグってる?
% nkf --version
Network Kanji Filter Version 2.0.5 (2005-04-10)
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa),2000 S. Kono, COW, 2002-2005 Kono, Furukawa, Naruse
% nkf --guess utf8
UTF-8
% nkf --guess utf8 utf8 utf8
省3
160(1): naruse 2006/01/16(月)19:58 AAS
ごめんなさい、バグってます。
CVSでは nkf.c rev:1.71 治っておりますので、よろしければそちらをお使いください。
外部リンク[c]:cvs.sourceforge.jp
なお、2.0.6は桜が咲くころには出す予定です。
161: 2006/01/16(月)20:40 AAS
>>160
ああ!思い出した。 ruby-dev に出てたのと同じ問題ですね。
桜が咲くのを待ちつつ、修正版を使いますです。どうもです。
162: 成瀬 ◆NBGqNARUSE 2006/03/11(土)14:09 AAS
えー、というわけで、そろそろ桜の花も咲きそうなので、
2.0.6を出したいなぁと思っているわけですが、迷っているのが一つ。
「nkf --overwrite が mtime を更新しない」
外部リンク[html]:lists.sourceforge.jp
って直した方がいいですか?
数行の修正でいいはずなのですが、どちらがお好みなのかなーと。
ついでに、nkf 2.0.6での文字コードのマッピングは以下の通りになりますので、ご意見のある方はお早めに。
省1
163: 2006/03/11(土)16:45 AAS
modify したんだから更新しといた方がいいんじゃない?
わりとどうでもいいけど。
164(1): 2006/03/11(土)16:48 AAS
過疎スレに書き込むなボケ
165: 2006/03/11(土)18:41 AAS
迷ったときはオプションを追加して泥沼化
166(1): 成瀬 ◆NBGqNARUSE 2006/03/11(土)19:04 AAS
デフォルトでmtimeを更新するようにしたら、
cp -p を真似して、mtimeを更新しない -p オプションを追加する気ではいます。
>>164
わざわざageてくださってどうも、しかもツンデレで。
167(3): 2006/03/12(日)20:21 AAS
>>166
--overwrite が長いオプションなので、 (tar 風に) --preserve とかがいいかなあ。
一文字オプション文字空間はそれほど広くないでしょう。
168: 成瀬 ◆NBGqNARUSE 2006/03/12(日)23:32 AAS
外部リンク[html]:lists.sourceforge.jp
によると、--overwrite がatime/mtimeを保持するのは意図した動作らしいので、手をつけないことにしました。
というわけで、
* touchすれば更新できるのでそのままにしておく
* 更新するoverwriteを別途定義する
* tar風に --modification-time と --access-time を追加
かなぁ・・・。
省1
169(1): 2006/03/12(日)23:42 AAS
qkcの-jがくさってるってのは、具体的にどんな場合?
170: 成瀬 ◆NBGqNARUSE 2006/03/13(月)00:08 AAS
>>169
おそらく、デフォルトでエスケープシーケンスが ESC $B と ESC (J になっていることではないかと。
/Jでなく、/BJを指定すればいいのですけれどね。
外部リンク[html]:hp.vector.co.jp
外部リンク[html]:hp.vector.co.jp
171: 167 2006/03/13(月)00:35 AAS
意図してやってるなら仕方ないですね。
とりあえずそのままで、タイムスタンプ変えたい人が多く出てきたらオプション新設、
とかでもいいように思います。
そういえば先日 Subversion でファイルを nkf --overwrite してからコミットしようとしたら
一向にコミットできなくてはまってしまった。
--overwrite のタイムスタンプの件は man に書いてなかったですよね?
172: 成瀬 ◆NBGqNARUSE 2006/03/13(月)00:54 AAS
タイムスタンプの件はマニュアルには書いてありませんね。
とりあえずマニュアルは更新しておくことにします。
173: 167 2006/03/13(月)00:55 AAS
すんません、お手数かけます。
174: 167 2006/03/13(月)10:10 AAS
思い出した。
今更なので、変えてくれという話ではなくて、素朴な疑問なのですが、
「--overwrite」って一般的なもんなんすかね?
GNU sed だと --in-place だったり Perl や Ruby だと -i ですよね。
175: 成瀬 ◆NBGqNARUSE 2006/03/13(月)15:01 AAS
別名の案を考えるのにフィルタ系のコマンドを一通り調べてみたのですが、
* 相当するコマンドが無い
* デフォルトが上書き
がそもそも大多数で、わたしが見つけられたのはPerl/Rubyの-i[=extension]くらいでした。
sedは見たのですが、GNU sedには-i/--in-placeがあるのですか。
--overwriteを用いているのはnkfくらいのようですね。
-iは既存のオプションと衝突しているため使えないとして、
省5
176: 成瀬 ◆NBGqNARUSE 2006/03/21(火)22:55 AAS
2.0.6 beta1 を出しました。
外部リンク:sourceforge.jp
ところで、今 nkf は -m がデフォルトで有効になっています。
これを、デフォルトで -m0 にしたいと思っているのですが、どう思います?
一応、コンパイルオプションでデフォルト -m / -m0 を切り替えられるようにして、
お茶を濁しつつ変えてしまおうかとも思っているのですけれど。
ちなみに、同様に意図しない変換を引き起こしうる、デフォルトが -X な件は、
省1
177(4): 2006/06/03(土)16:36 AAS
SJISで全角'−'記号の0x817CをUTF-8Nの0xEFBC8Dに変換する
オプションを教えて欲しい。
普通にC:\>nkf -S -w test.sjs > test.utf8nとかしても
0xE28892に変換され、他のソフトに読み込むときうまく
読み込まれず苦労しています。
TeraPadで読み込んでUTF-8Nで変換すると0xEFBC8Dに変換されます。
あと、全角の'¥'記号が半角の'\'記号になってしまうのも。
178: 2006/06/04(日)01:42 AAS
人に聞くよりソース読んじゃった方が早くね?
179(1): 2006/06/04(日)10:55 AAS
>>177
nkfのversionは?
iconv使った方がいいかもね。
180(1): 177 2006/06/04(日)17:35 AAS
nkfのVersionはたしか2.07betaだと思う。
Vectorでダウンロードしたやつで、
色んなVersionが同梱されていました。
因みにiconvってWindowsで使えるの?
181: 2006/06/04(日)20:39 AAS
それだとあなたの言う動作になっているね。
2.0の頃は¥のままだったんだけど。
iconvはcygwinに入っているよ。
182(1): 2006/06/04(日)22:30 AAS
--cp932
183(1): 177 2006/06/05(月)08:47 AAS
>>182
nkf -S -w --cp932 infile.sjis > outfile.utf
で望の結果となりました。アリガトウゴザイマス。
184(1): 2006/06/05(月)09:15 AAS
>>137
今更ながらだが、kccのコードを弄って簡易spamフィルタに使ってるぞ。
Subjectに、8ビット文字入れてくる汚物メールを検出するフィルタ。
nkfだとコードがでかすぎて弄れぬ。
185: 成瀬 ◆NBGqNARUSE 2006/06/16(金)03:28 AAS
今更だけどフォロー
>>177 >>183
現在の nkf はデフォルトでは ASCII の範囲はそのまま、
それ以外はJISのマッピングに準拠したマッピングにしています。
Windows の変換と同じ変換、すなわち CP932 互換の変換をしたい場合は、
--cp932 で行うことができます。
なお 2.0.6 では nkf --ic=CP932 --oc=UTF-8 と、iconv っぽく使えます。
省10
186(1): 2006/12/08(金)02:57 AAS
IDに注目。
なんかうれしい。
187: 186 2006/12/08(金)03:00 AAS
俺はバカだ。ここはUNIX板じゃないか(泣
(ちなみに俺の今の -> "nkf2PDI3")
188: 成瀬 ◆NBGqNARUSE 2006/12/09(土)03:04 AAS
おめw
189(3): 2007/01/19(金)11:03 AAS
バグでしょか? 2.0.7 と CVS 先端で再現します。
1. MIME デコードしたりしなかったりする
% nkf -e
あいうえお =?iso-2022-jp?b?GyRCJCIbKEI=?=
あいうえお =?iso-2022-jp?b?GyRCJCIbKEI=?=
% nkf -e
こんにちは =?iso-2022-jp?b?GyRCJCIbKEI=?=
省8
190(1): 2007/01/19(金)12:18 AAS
MIMEのオプションも指定しなきゃだめだよ
191(1): 189 2007/01/19(金)13:37 AAS
>>190
>>190 さんは MIME のオプション指定で再現しなくなりましたか?
NKF 1.9以降は MIME のオプション (-m) はデフォルトで有効になっていると思います。
試しにそれぞれに -m オプションを付けてみましたが、同じ出力結果となりました。
192: 2007/01/20(土)00:07 AAS
nandedaro
kizukebakokanni
fuzisanga...
193: 2007/01/20(土)00:26 AAS
あいうえお =?iso-2022-jp?b?gqA=?=
194: 成瀬 ◆NBGqNARUSE 2007/01/21(日)07:32 AAS
とりあえず現状を。
1. エンコーディングの確定前にMIME文字列が出現した場合認識しない
2. 一部のエンコーディングでMIME encodeされたJISな文字列が文字化け
の二つの問題と認識しています。
後者は手元で修正しました。
前者は現在ちとてこずっています。
回避方法としては、エンコーディングがわかる場合は明示的に指定する、になります。
195: 189 2007/01/21(日)14:59 AAS
前者の方ですが、確かに入力のエンコーディングを指定したらうまくいきました。
自動判定が絡んでくるとなると厄介そうなのはなんとなく想像つきますので、
あまり期待しないで期待しておきます(?)。
対応ありがとうございます。
196: 189 2007/01/30(火)16:59 AAS
CVS 先端で後者の方が直っていました。ありがとうございました。
197(2): 2007/11/17(土)12:16 AAS
>>191
> NKF 1.9以降は MIME のオプション (-m) はデフォルトで有効になっていると思います。
まじかよ
なんだよ、このウンコ仕様は。
さよなら、nkf。
198: 成瀬 ◆NBGqNARUSE 2007/11/18(日)06:47 AAS
>>197
わたしも微妙な仕様で正直変えたいと思っているのですが、
調べたところどうも1.7あたりから導入されているらしく、
いまさらそう簡単には変えられないというのが現状です。
っと思っていたのですが、Ruby1.9にあわせてnkfを2.1にし、
そこでこの手の変えづらかった仕様に手を入れてしまうのもありな気がしてきました。
少し検討してみます。
199(1): 197 2007/11/18(日)12:20 AAS
真面目なレスありがとう。
過去のnkf利用scriptが走馬灯のように思い浮かんで欝になりました。
-Xがdefaultである件も、前から何だかなーと思ってます。
出力がISO-2022-JPの場合は仕方ないんだけど。
200(1): 成瀬 ◆NBGqNARUSE 2007/11/19(月)17:11 AAS
>>199
とりあえずMIME decodeの方はconfig.hに
#define MIME_DECODE_DEFAULT FALSE
とでも書いてmakeすればデフォルト無効になります。
-Xの方はソース眺めていて-Iとの絡みが謎なので解読中。
似た方法でデフォルトを変えられるようにする方向です。
あー、バージョン情報かヘルプにデフォルトの設定出すようにした方がいいかな。
201(3): 2007/11/19(月)22:12 AAS
>>200
> あー、バージョン情報かヘルプにデフォルトの設定出すようにした方がいいかな。
あ、それあると嬉しい。
man あたりに "DEFAULT FLAGS" みたいなエントリ作れば良いのでは?
--help やって気付いたけど、標準エラー出力に投げるんだね。
これはソース見てすぐにどこいじれば標準出力に変更できるか分かったけど。
202(1): 2007/11/20(火)03:03 AAS
>>201
>> あー、バージョン情報かヘルプにデフォルトの設定出すようにした方がいいかな。
>あ、それあると嬉しい。
>man あたりに "DEFAULT FLAGS" みたいなエントリ作れば良いのでは?
コンパイルオプションは最終的にconfigureで設定できるようにする予定なのですが、
こっちはNKF.pmのコンパイルが微妙になることに気づいてどうしようかなとか。
ていうか、Encode.pmが標準添付なこの時代にNKF.pmとか使う人いるんだろうか。
省4
203: 2007/11/21(水)00:17 AAS
>>202
>>--help やって気付いたけど、標準エラー出力に投げるんだね。
> ですね、以前に微妙かと思って手元にあったコマンドがどこにヘルプ投げるか調べたら、
> どっちもあったんですが、標準出力の方がいいですか?
量が多い時にページャに渡すときに一手間増えるかなと。
といっても 2>&1 を追加するだけなんで、あまり気にしなくておk。
204: 2007/11/21(水)17:17 AAS
デフォールト・オプション大変りなnkfは、nkf3として、
/usr/bin/nkf
/usr/bin/nkf3
が共存できるようにするとか。
Debian的には、
/usr/bin/nkf2
/usr/bin/nkf3
省3
205: 2007/11/22(木)14:10 AAS
nkf3 って名前で install するのは .deb のパッケージシステムで
(すまん俺 .rpm なシステムしか知らん)やる事じゃまいか?
問題になるようなら他のシステム(portsとか)でも多分そうすると思う。
コンフィグorメイクのオプションで設定可能にするのは構わないと
思うがデフォルトを nkf3 にするのはどうかと。
206: 2007/11/23(金)01:00 AAS
debianだと、たとえ本家がnkf-2.1だろうと、
メインテナが互換性上別にした方がいいと考えたらnkf3_2.1になる。
だから気にしないでいい。
207(1): 成瀬 ◆NBGqNARUSE 2007/12/07(金)13:25 AAS
とりあえず config.h で -m と -x のデフォルトを変えられるようにしました。
#define MIME_DECODE_DEFAULT 0
#define X0201_DEFAULT 0
で -m0 -x を指定しているのと同じ状態になります。
また、nkf -V でコンパイルオプションを表示するようにしました。
Summary of my nkf 2.0.8 (2007-12-07) configuration:
Compile-time options:
省7
208(1): 201 2007/12/16(日)17:44 AAS
>>207
> また、nkf -V でコンパイルオプションを表示するようにしました。
GJ。
と言いたいところなんだが、手元でコンパイルして表示してみたら
Default output encoding: と下の二行の表示位置が空白一個分
ずれてるよ。
$ diff nkf.c.orig nkf.c
省4
209: 成瀬 ◆NBGqNARUSE 2007/12/19(水)03:47 AAS
>>208
直しました、報告どうもです
210(3): 2007/12/30(日)01:49 AAS
nkfを次の様に使ってますが稀に文字化けします、文字化けしないような使い方がありますか?
mplayer ファイル名 | nkf -wu
文字化けの例
ファイル名は05.バレエ組曲「くるみ割り人形」アラビアの踊り.mp3
略
Failed to open LIRC support. You will not be able to use your remote control.
Playing 05.繝舌Ξ繧ィ邨峇縲後\繧九∩蜑イ繧贋ココ蠖「縲阪い繝ゥ繝薙い縺ョ雕翫j.mp3.
省6
211: 201 2007/12/30(日)02:00 AAS
>>210
元ファイル名の文字コードが SJIS 固定と決まっているのなら
nkf -Swu
212: 2007/12/30(日)02:20 AAS
ファイル名がutf8なんだろ。
213: 成瀬 ◆NBGqNARUSE 2007/12/30(日)17:15 AAS
nkf は行ごとに文字コードを判定することもあったようなその部分は壊したような、
とりあえず、ID3タグのみがShift_JIS (たぶんCP932)なのですから、そこだけ変換するべきでしょう。
mplayer | ruby -nrnkf -e'puts /^(Title|Artist)/=~$_ ? NKF.nkf("-w --ic=cp932",$_) : $_'
これだとバッファ周りがだめそうですが
214: 210 2007/12/31(月)01:36 AAS
ありがとうございます
rubyさっぱりわからないですが試してみました
ファイル名は変換されますがID3タグが化けます、
それよりも秒数がまとめて出力されてしまう
Title: `CRtXL[ o
Gg
ネu
省12
215: 成瀬 ◆NBGqNARUSE 2007/12/31(月)17:59 AAS
あー、秒数とかがダメか。
てっとり早い解決策は、ID3タグをID3v2 (Unicode)に変換することじゃないかなぁ。
一括変換できるソフトはSTEPくらいしか知りませんが。
外部リンク:hp.vector.co.jp
それ以外だとファイル名が化けるのはあきらめて nkf -uwS とかかな。
結局のところ出力がUTF-8の行とShift_JISの行が混在しているのが問題なので、
そろえてしまわないと解決は面倒になります。
216: 210 2008/01/06(日)21:14 AAS
ID3タグをUnicodeにすることも考えましたが
そうすると他の機器で文字化けが、、、
mplayerでファイル名が化けることはそんなにないので
当面このままでいきます、ありがとう
217(1): 成瀬 ◆NBGqNARUSE 2008/01/21(月)17:12 AAS
先日デフォルトの出力エンコーディングを指定できるようにしたわけですが、
よくよく考えればロケール見て決めてくれよと思いつく。。。
218(1): 2008/01/24(木)02:29 AAS
>>217
端末の locale 見て自動変換してくれると便利だよね。
Ruby でその機能が欲しくて NKF 使ってライブラリ作ったけど
1.9 で動くか試してないや。
上下前次1-新書関写板覧索設栞歴
あと 119 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s