google日本語入力のオープンソース版である"Mozc"が発表されましたね!!
とはいっても、僕にとっては難しくてソースを熟読できるレベルにありませんorz
でも、rewriterの部分が読みやすいと言う意見があったので斜め読みしてると...
mozc code
http://code.google.com/p/mozc/source/browse/trunk/src/rewriter/number_rewriter.cc
const char* const kNumGoogol =
"100000000000000000000000000000000000000000000000000"
"00000000000000000000000000000000000000000000000000";
定数としてKnumGoogolという、意味ありげな定数が宣言されていますw
この定数を追ってみると
if (input_num == kNumGoogol) {
PushBackCandidate("Googol", "", Segment::Candidate::DEFAULT, output);
}
まったくちゃんと読んでないので理解してないのですが、入力された値がKnumGoogolと同値であればGoogolを返すのかな?
と思って、実際に全角で1000000...を打ってみたらGoogolに変換出来た!!
これは、需要あるのかww?