January 31, 2012
ICU でカタカナ → ローマ字変換をしてみた
C++ | |
はじめに
ちょっと日本語文章からローマ字を生成したかったのでやってみました。
ちなみに ICU とは International Components for Unicode の略です(ICU - International Components for Unicode)。これを利用してみます。
参考サイト
- ICU4C C++ ローマ字→カタカナ、ひらがな変換 - janeyの日記(大体ここと同じ)
- Using Converters - ICU User Guide
- ICU 49.1.1: Transliterator Class Reference
- ICU 49.1.1: UnicodeString Class Reference
環境
ICUインストール
sudo aptitude install libicu-dev
ソースコード
#include <iostream> #include <boost/shared_ptr.hpp> #include <unicode/translit.h> std::string str2romaji(UnicodeString str) { // Transliteratorインスタンスを作成 UErrorCode error = U_ZERO_ERROR; boost::shared_ptr<Transliterator> t( Transliterator::createInstance("Latin-Katakana", UTRANS_REVERSE, error) ); // 変換 t->transliterate(str); // 変換結果取得 char* result = new char[str.length() + 1]; str.extract(0, str.length(), result, "utf8"); return result; } int main(int argc, char const* argv[]) { std::string result = str2romaji("カタカナ"); std::cout << result << std::endl; return 0; }
コンパイル
g++ test.cpp -licuio
結果
katakana
次回
コメントを書く
トラックバック - http://d.hatena.ne.jp/hecomi/20120131/1328019439
リンク元
- 51 http://www.google.co.jp/url?sa=t&rct=j&q=iremocon&source=web&cd=11&ved=0CG0QFjAK&url=http://d.hatena.ne.jp/hecomi/20120109/1326112105&ei=rvgnT9W8Gsb4mAXf2pTGAw&usg=AFQjCNGd2Fwg9F28fTXfckGYHw_j87-Hhg&sig2=Up6foLF-eSmlxxx_bh1nAA
- 26 http://t.co/wkYqtqnf
- 20 http://netakiri.net/diary/archives/431.html
- 20 http://t.co/mF23Eqoh
- 19 http://www.google.co.jp/url?sa=t&rct=j&q=音声認識+フリー&source=web&cd=5&ved=0CFgQFjAE&url=http://d.hatena.ne.jp/hecomi/20120111/1326296629&ei=1M0oT43OHJGjiAe_4tWwAg&usg=AFQjCNH2Xc1quWcgdU-X3xct
- 15 http://www.feedly.com
- 10 http://www.google.co.jp/url?sa=t&rct=j&q=線形補間&source=web&cd=7&ved=0CGwQFjAG&url=http://d.hatena.ne.jp/hecomi/20100710/1278786331&ei=ix0pT92kIcXwmAXAt6y-Aw&usg=AFQjCNHQr9EPO_26Iw3OJY7lWtMypGHX3w&sig2=vDdfCfYrRQjY
- 9 http://www.google.co.jp/url?sa=t&rct=j&q=ニコニコ ショートカット&source=web&cd=2&ved=0CDAQFjAB&url=http://d.hatena.ne.jp/hecomi/20100730/1280499442&ei=fA0oT42NK5CZm
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=julius 音声認識&source=web&cd=9&sqi=2&ved=0CHMQFjAI&url=http://d.hatena.ne.jp/hecomi/20120111/1326296629&ei=ccMrT_exBYb4mAXn1MH8Dw&usg=AFQjCNH2Xc1quWcgdU-X3xctsWiji2ZZhg
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=julius音声認識 c#&source=web&cd=6&ved=0CFQQFjAF&url=http://d.hatena.ne.jp/hecomi/20120111/1326296629&ei=pTUqT_TALeqWmQWxzOnzDw&usg=AFQjCNH2Xc1quWcg
