2013年2月26日火曜日
mac のpreviewからの切り貼りで濁点が離れる
macのpreviewで表示しているPDFからコピペで文章を切り出してEmacsに貼りこむとなんだかよくわからないが、濁点が別の文字となってしまう。これはいわゆるUTF-8-MACというものらしく、ある意味で正規化した状態なのだそうだ。アプリの側がちゃんと対応していれば大丈夫らしく、例えばwordに貼りこむ文には問題にならないようだ。
しかしこれだとすごく困るのでemacsのマクロとか書いたのだけど、もっといい方法はないかと検索してみたところ
Automatorを使ったかっこいい方法があった。
サービスというものを作ってそれで変換する。変換自体はiconvを呼び出しているが、アプリケーションからのデータを受け取って直接クリップボードに入れるようになっている。
これだと、コピーする代わりに、右クリックで出てくるサービスメニューに登録したサービスを指定するだけでUTF-8に変換されたデータがクリップボードに入る。便利便利。っていうか、なんでUTF-8-MACなんて余計なものを使うんだ、って話なわけだが。
2013年2月13日水曜日
github でforkしたrepositoryのupdateに追従
なんとなくgithub内で完結できるのかと思ったらできないらしい。やりかたは
ここに書かれてる。
forkしたレポジトリをローカルにclone。以下PROJがプロジェクト名、ORGが元のユーザ、MEが自分とする。
git clone https://github.com/ME/PROJ cd PROJ元のプロジェクトをupstreamに登録
git remote add upstream https://github.com/ORG/PROJフェッチ
git fetch upstreamこうすると upstream/xxxx というところに内容がとれてくる。 で、これをマージする
git merge upstream/XXXXXXXXはmaster とかtrunk? mergeに失敗したら修正してから
git add xxx git commit最後にpushして終わり
git push origin master面倒。
2013年2月6日水曜日
lucene-gosen 導入
http://www.mwsoft.jp/programming/munou/lucene_gosen.htmlのとおりに。
google codeからおとす。ipadicとnaist-chasenが選べるが、よくわからんのでIPAで。
こんなふうにして、
import net.java.sen.*; import net.java.sen.dictionary.*; import java.io.*; class Test { public static void main(String [] args) throws Exception { StringTagger stringTagger = SenFactory.getStringTagger(null); Reader reader = new InputStreamReader(System.in, "utf-8"); PrintWriter writer = new PrintWriter(new OutputStreamWriter(System.out, "utf-8")); StreamTagger tagger = new StreamTagger(stringTagger, reader); while (tagger.hasNext()) { Token token = tagger.next(); writer.println(token.getSurface()); } writer.flush(); } }コンパイル。
javac -cp ".:lucene-gosen-4.1.0-ipadic.jar" -encoding UTF8 Test.java実行
java -cp ".:lucene-gosen-4.1.0-ipadic.jar" Test テストです。 <- 入力文 テスト <- 解析結果 です 。
2013年2月1日金曜日
luceneを動かしてみる
まずはここからtar ballをダウンロード
で、
tar zxvf ~/Downloads/lucene-4.1.0-src.tgz cd lucene-4.1.0ビルドにivyが必要なのでインストールされていなければ
ant ivy-bootstrap antあっさりビルドできた。便利な世の中になったものだ。 とりあえず、demoをビルド
cd demo antこれで、lucene_home/build 以下に色々作られる。できたjarをCLASSPATHに登録する。 lucene_homeで
CLASSPATH=. ; for jar in `find . -name '*.jar'` ; do CLASSPATH=$CLASSPATH:$jar ; done export CLASSPATHさて、indexingしてみる。
java org.apache.lucene.demo.IndexFiles -docs .これでindexというディレクトリが作られて、そこにいろんなファイルができるようだ。 で、サーチしてみる。
> java org.apache.lucene.demo.SearchFiles [~/test/lucene-4.1.0] Enter query: testing Searching for: testing 162 total matching documents 1. ./analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java 2. ./test-framework/src/java/org/apache/lucene/analysis/package.html 3. ./analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java 4. ./test-framework/src/java/org/apache/lucene/search/package.html 5. ./test-framework/src/java/org/apache/lucene/util/automaton/package.html 6. ./analysis/common/src/test/org/apache/lucene/analysis/compound/compoundDictionary.txt 7. ./analysis/common/src/test/org/apache/lucene/analysis/compound/da_compoundDictionary.txtおお。うごいた。とりあえず。
登録:
投稿 (Atom)