2007年08月31日(金) [過去の今日]
#2 Perlでそうそう文字化けしない文字コード変換のやり方まとめ
なんかチャット仲間のところで動いているPerlスクリプトなのだが、いくつかのサイトの情報を取得する代物。この日記も取得してるのだが、なぜかうちサイトだけ文字化けする。
で、コードを見せてもらったら、NKF.pmだのjcodd.plだのJcode.pmだの使ってて、それぞれのライブラリに文字コード判別任せてるみたい。ずいぶん昔のコードなんだろうなあ。
というわけで、自分のためのメモという意味もこめて、文字化けしにくい現代的な文字コード自動判別のやり方を書いておこう。
use Encode; use Encode::Guess qw/ascii utf8 euc-jp shiftjis 7bit-jis/; my $dec = Encode::Guess->guess($str); if (ref $dec) { # utf8フラグを付けた文字列を取得 my $utf8str = $dec->decode($str); # 上と同じだが別のやり方 my $utf8str = Encode::decode($dec->name, $str); # Shift_JISに変換した文字列を取得 my $sjis_str = Encode::encode('shiftjis', Encode::decode($dec->name, $str)); # $strの中味をEUC-JPに変換 Encode::from_to($str, $dec->name, 'euc-jp'); }
ってな感じ。
EncodeもEncode::Guessもperlの標準モジュールになってるから、相当古いPerlでもなければ入ってるはず。
(@307)
#1 ネットの知り合いの名前に付けるべき敬称は「くん」でも「さん」でもなく「id」というはてな村
ネットで親しくない年下の人に、いきなり「“君”呼びタメ口」で話かける人にロクな人はいない という記事経由で ネットにおける“俺ケット”の存在について という記事。
これを見てはたと敬称について考えてしまった。
まあ普通日本人の感覚としては「◯◯さん」と付けるのがまっとうなんだろなーと思うんだけども、長いことIRCなんぞしてると「◯◯さ」とか「◯◯さめ」という呼び方がけっこう普及してる事に気付く。
やっぱり「◯◯さん」って堅苦しいんだよな。もっと砕けたいけど、呼び捨ては抵抗があるし……という感じで「◯◯さ」と言われるわけだな。俺はIRCではKoshianというnickなので、「こしあんさ」とか「こしあんさめ」とか呼ばれる事もけっこうあるが、なんとなく受け入れてる。まあ、長い付き合いの奴等はたいてい「こしあん」とか「あんこ」とか呼び捨てされんのが普通だし、街中でもそう呼ばれてちゃんと振り返る。あんこじゃねーけどな。
で、ふと思い出したのが はてな村 。 なんかはてな界隈の人達ってお互いのはてなダイアリーにリンクする記法があるから、 id:otsune だとか id:kanose だとか、さんも付けずにリンクしてるパターン多いよね。この「id:」ってのがすでに敬称として受け入れられてるのか、はたまた親しくなって呼び捨てにしてるだけなのかよくわからないのだけど、敬称として考えた方がなんとなくおもしろそう。
もう「口からクソたれる前にid:と言え!」みたいな感じで。
(@105)
2005年08月31日(水) [過去の今日]
#2 emcwsパッケージ化
久しぶりに挑戦してみる。 師匠 に dpatch-edit-patch というコマンドを教わり、emcwsパッチを当ててみる。
$ dpatch-edit-patch patch emcws autofiles $ zcat /path/to/patch/emcws-21.3-20031213.gz | patch -p1 ..... # find ./ -name \*.rej ./lisp/version.el.rej ./Makefine.in.rej ./configure.in.rej ./configure.rej
version.elはversion-string部でコリジョンしてるので、適当に書き換える。Makefile.in.rejは、
${bindir} ${docdir} ${libexecdir} \ ${datadir}/emacs/site-lisp \ ${datadir}/emacs/${version}/site-lisp \ `echo ${locallisppath} | sed 's/:/ /g'` ### Delete all the installed files that the `install' target would ### create (but not the noninstalled files such as `make all' would
このへんの${version}の後ろに$(EMACS_POSTFIX)を足してやる。
configure.inは30行くらいの部分がrejectされてるので、POP serverの下のdnlの直上に書き加えてやる。
configureは6000行ものrejを吐いてくれてるので、autoconfしなおす。
で、exitするとdebian/patches/emcws.dpatchができてる。debian/paches/00listの一番下にemcwsと書き加え、debian/rulesのconffalgsんとこに--with-canna、--disable-renameを加えてdch -i。適当にバージョンを書き換え、debuild -rfakeroot -uc -us。
が、うまくいかない。
cd debian/build-nox && CFLAGS="-DDEBIAN -g -O2" ../../configure --build=i486-linux-gnu --host=i486-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes --with-canna --disable-rename --with-x=no checking build system type... i486-pc-linux-gnu checking host system type... i486-pc-linux-gnu checking for i486-linux-gnu-gcc... i486-linux-gnu-gcc checking whether we are using the GNU C compiler... no checking whether i486-linux-gnu-gcc accepts -g... no checking for i486-linux-gnu-gcc option to accept ANSI C... none needed checking whether ln -s works... yes checking how to run the C preprocessor... i486-linux-gnu-gcc -E checking for a BSD-compatible install... /usr/bin/install -c checking for bison... bison -y checking for i486-linux-gnu-ranlib... no checking for ranlib... ranlib checking for egrep... grep -E checking for AIX... no configure: checking the machine- and system-dependent files to find out - which libraries the lib-src programs will want, and - whether the GNU malloc routines are usable... checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for _LARGE_FILES value needed for large files... no checking for ANSI C header files... no checking for sys/types.h... no checking for sys/stat.h... no checking for stdlib.h... no checking for string.h... no checking for memory.h... no checking for strings.h... no checking for inttypes.h... no checking for stdint.h... no checking for unistd.h... no checking machine/soundcard.h usability... no checking machine/soundcard.h presence... no checking for machine/soundcard.h... no checking sys/soundcard.h usability... no checking sys/soundcard.h presence... yes configure: WARNING: sys/soundcard.h: present but cannot be compiled configure: WARNING: sys/soundcard.h: check for missing prerequisite headers? configure: WARNING: sys/soundcard.h: see the Autoconf documentation configure: WARNING: sys/soundcard.h: section "Present But Cannot Be Compiled" configure: WARNING: sys/soundcard.h: proceeding with the preprocessor's result configure: WARNING: sys/soundcard.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------------ ## configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ## configure: WARNING: ## ------------------------------------------ ## checking for sys/soundcard.h... yes checking soundcard.h usability... no checking soundcard.h presence... no checking for soundcard.h... no checking for _oss_ioctl in -lossaudio... no checking sys/select.h usability... no checking sys/select.h presence... yes configure: WARNING: sys/select.h: present but cannot be compiled
ってなもんで、configureスクリプトがヘッダファイルを見付けてくれない。m4マクロなんぞよくわからんし、autoconfの使い方もよくわかっとらんのでどうしたものだか。ファイルそのものはあるわけだが……。
うーん、うちのautoconfとかautomakeとかがおかしいのかなあ。
(@900)
ひろの日記帳 でハッケソ。
うーむ、安彦良和が教授ってのもすごいが、芸術学部に「まんが・アニメーション」という専攻ができるってのがすげえ。
俺も一人のアニメオタク(と言える程の知識量は無いんだが……)として、こういう流れは大歓迎ではあるのだが、ひっかかりを感じるのも事実。そもそも漫画やアニメの技術ってのは専攻するようなもんだろうか。もちろん、そこには独自の文法もあるし、独特の技術もある。しかし、劇作としての本質は変わらないのではないだろうか。漫画やアニメばかりを見ていて、漫画やアニメを作れるのだろうか。
安彦良和は「機動戦士ガンダム」のキャラクターデザインを担当していた。その「ガンダム」の監督である富野由悠季は、仕事場のデスクの前に紅葉の写真を張っていた *1 。曰く、絵の仕事をしている以上、自分の見るものは実写でなければならないとの由。
だから、もしかしたらこの大学からクリエイターが出ることは期待できないかもしれない。むしろ期待できるとすれば、今まで現場で生み出され使われて来た漫画・アニメ技術の体系化かもしれない。
それはそれで歓迎、なんだけどもね。
(@350)
2004年08月31日(火) [過去の今日]
セツナイ……。
老夫婦の片方だけが老人ホーム入所を認められ、離ればなれで暮らす事に。でもそれに耐えられず、心中。せつなすぎる。なんとか夫婦同居できる体制を整えてやれなかったのだろうか。
でも、ちょっと羨ましい。この年でそうまでお互いに求めあえる夫婦関係なんて、そうそう作れないんじゃないだろうか。
(@799)
2001年08月31日(金) [過去の今日]
あー、あれか。
あれが出てきた時はショックだったねー。すごい大騒ぎだったよな。最初から怪しいとは思ってたけど、今頃になって問題化してるのかー。あれ以前はマスク除去とかのソフト使うと見えたりしてたよね(笑)
なんにせよ、見える見えないの論理は非常に幼稚というか、稚拙だと感じるんだけど。ちゃんと根拠となる研究成果もあげずにやってるからだよなー、まったくもう。
(@334)