C/Migemoã©ã¤ãã©ãªèª¬ææ¸ Since: 15-Aug-2001 Version: 1.2.0 Author: MURAOKA Taro (KoRoN) Last Change: 20-Sep-2009. 説æ C/Migemoã¯Migemo(Ruby/Migemo)ãCè¨èªã§å®è£ ãããã®ã§ããC/Migemoã©ã¤ãã©ãªã å©ç¨ããã½ããã¦ã§ã¢ã¯ããã¼ãåã®ã¾ã¾æ¥æ¬èªã(ã¤ã³ã¯ãªã¡ã³ã¿ã«ã«)æ¤ç´¢ããã æ©è½ãæã¤ãã¨ãå¯è½ã«ãªãã¾ããCè¨èªã§å®è£ ãããã¨ã«ãããæ¬å®¶Ruby/Migemoã« æ¯ã¹ãCè¨èªã§æ¸ãããå¤ãã®ã½ããã¦ã§ã¢ããã®å©ç¨ã容æã«ãªããã¨ãåã³(ã㶠ã)å®è¡é度ã®åä¸ãæå¾ ã§ãã¾ãã ã¾ãC/Migemoãå©ç¨ããããã«ã¯å¥éè¾æ¸ãã¡ã¤ã«(dict/migemo-dict)ãä½æããã ã¯å ¥æããå¿ è¦ãããã¾ããèªåã§ã¾ã£ããã®ã¼ãããè¾æ¸ãä½æãããã¨ãã§ãã¾ ãããRuby/Migemoã®migemo-dictãæµç¨ããããSKKã®è¾æ¸ããã³ã³ãã¼ãããã㨠ãå¯è½ã§ãã詳ããã¯ä¸è¨ã®ãè¾æ¸ã«ã¤ãã¦ãã®ã»ã¯ã·ã§ã³ãåç §ãã¦ãã ããã Ruby/Migemoã¯é«æ å²ãããèæ¡ããããã¼ãåå ¥åãæ¥æ¬èªæ¤ç´¢ã®ããã®æ£è¦è¡¨ç¾ ã«å¤æããããã¼ã«ã§ããEmacsä¸ã§ãã¼ãåã®ã¾ã¾æ¥æ¬èªãã¤ã³ã¯ãªã¡ã³ã¿ã«æ¤ç´¢ ããããã«ãRubyã¨Emacs LISPã§å®è£ ããã¦ãã¾ããã - æ¬å®¶Ruby/Migemoãµã¤ã (Migemoã«é¢ãã詳細æ å ±) http://migemo.namazu.org/ - C/Migemo製ä½ã»é å¸ãµã¤ã (C/Migemoã®æ å ±) http://www.kaoriya.net/ ãã¡ã¤ã«æ§æ C/Migemoã®ããã±ã¼ã¸ã¯ç¾å¨ã®ã¨ãã次ã®ãããªãã¡ã¤ã«ã»ãã£ã¬ã¯ããªããæ§æã ãã¦ãã¾ãã (ãã£ã¬ã¯ããª) compile/ :åãã©ãããã¼ã ç¨ã®ã¡ã¤ã¯ãã¡ã¤ã«ç½®ãå ´ compile/vs6 :VS6ç¨ããã¸ã§ã¯ã compile/vs2003 :VS2003ç¨ããã¸ã§ã¯ã doc/ :ããã¥ã¡ã³ãç½®ãå ´ dict/ :è¾æ¸ç½®ãå ´ tools/ :å種ãã¼ã« src/ :ã½ã¼ã¹ãã¡ã¤ã« (ãã¡ã¤ã«) Makefile :çµ±åã¡ã¤ã¯ãã¡ã¤ã« README.txt :åããã¥ã¡ã³ãã¸ã®ãã¤ã³ã¿ VERSION :ãã¼ã¸ã§ã³çªå· config.mk :ããã©ã«ãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ (ã½ã¼ã¹ã³ã¼ã) src/å depend.mak :æ§æãã¡ã¤ã«ã¨ä¾åé¢ä¿ migemo.h :ã©ã¤ãã©ãªãå©ç¨ããã®ããã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã« main.c :ã©ã¤ãã©ãªãå©ç¨ãããµã³ãã«ããã°ã©ã (cmigemo) *.c :ã©ã¤ãã©ãªã®ã½ã¼ã¹ *.h :ã©ã¤ãã©ãªã®ã½ã¼ã¹ç¨ã¤ã³ã¯ã«ã¼ããã¡ã¤ã« ã³ã³ãã¤ã«æ¹æ³ ã³ã³ãã¤ã«ã«ã¯ä»¥ä¸ã®3段éã®æé ãããã¾ãã 1. ã©ã¤ãã©ãªã¨ããã°ã©ã ã®ãã«ã 2. è¾æ¸ãã¡ã¤ã«ã®ãã«ã 3. ã¤ã³ã¹ãã¼ã« ãè¾æ¸ãã¡ã¤ã«ã®ãã«ããã«ã¯å¥é以ä¸ã®4種ãå¿ è¦ã«ãªãã¾ãã 1. Perl 2. ã¤ã³ã¿ã¼ãããã¢ã¯ã»ã¹ããã°ã©ã (cURL, wget, fetchã®å ã©ãã1ã¤) 3. 解å伸é·ããã°ã©ã gzip 4. ã¨ã³ã³ã¼ãå¤æããã°ã©ã (nkf, qkc) ããããå«ãC/Migemoã®ãã«ãã«å¿ è¦ãªå¤é¨ããã°ã©ã ã¯config.mkãç·¨éããã㨠ã§å¤æ´å¯è½ã§ããã¾ã以ä¸ã®ãã©ãããã¼ã å¥ã®ãã«ãæ¹æ³ã§å©ç¨ãã¦ããããã« UNIXã©ã¤ã¯ãªç°å¢ã§ã¯èªåçã«config.mkãä¿®æ£ããä»çµã¿(configure)ãå©ç¨ã§ãã¾ ããconfig.mkã®ãªãªã¸ãã«ãã¡ã¤ã«ã¯compile/config_default.mkã¨ãã¦åé²ãã¦ã ãã®ã§ãã¤ã§ã復å å¯è½ã§ãã åãã©ãããã¼ã ã§ã®ãã«ãæ¹æ³ã®å ·ä½ä¾ã¯ä»¥ä¸ãåç §ãã¦ãã ããã 1. Windows + VisualC++ 2. Windows + Cygwin 3. Windows + Borland C++ 4. MacOS X + Developer Tools 5. GNU/gcc:Linuxä» ç¾å¨ã®ã¨ãã以ä¸5ç°å¢ã§åä½ã®ç¢ºèªããã¦ãã¾ãã5.ã®GNU/gccã«ã¤ãã¦ã¯FreeBSD 5.0ã§ãã (Windows + VisualC++) 次ã®ã³ãã³ãã§Release/å ã«migemo.dllã¨cmigemo.exeãä½æããã¾ãã > nmake msvc å¿ è¦ãªå¤é¨ããã°ã©ã ããããã¯ã¼ã¯æ¥ç¶ãæã£ã¦ããã° > nmake msvc-dict ã§è¾æ¸ãã¡ã¤ã«ããã«ãã§ãã¾ããmigemo.dswãVC++6.0ã§éãããã«ãããæ¹æ³ã ããã¾ãã以ä¸ãçµäºããã°æ¬¡ã®ã³ãã³ãã§ãã¹ãããã°ã©ã ãåä½ãã¾ãã > .Â¥buildÂ¥cmigemo -d dict/migemo-dict (Windows + Cygwin) å¿ è¦ãªå¤é¨ããã°ã©ã ããããã¯ã¼ã¯æ¥ç¶ãæãã¦ä»¥ä¸ãå®è¡ãããã¨ã§ãã¹ããã ã°ã©ã cmigemoã¨è¾æ¸ãã¡ã¤ã«ããã«ãããã¾ã: $ ./configure $ make cyg $ make cyg-dict å®è¡ã¯cp932(Shift-JIS)ã§å©ç¨ãããªãã°: $ ./build/cmigemo -d dict/migemo-dict euc-jpã§å©ç¨ãããªãã°: $ ./build/cmigemo -d dict/euc-jp.d/migemo-dict ãå®è¡ãã¾ããã¤ã³ã¹ãã¼ã«ã¨ã¢ã³ã¤ã³ã¹ãã¼ã«ã¯root権éã§æ¬¡ã®ã³ãã³ããå®è¡ã ããã¨ã§è¡ãªãã¾ããã¤ã³ã¹ãã¼ã«å ´æã«ã¤ãã¦ã¯config.mkãåç §ãã¦ãã ããã # make cyg-install # make cyg-uninstall (Windows + Borland C++) 次ã®ã³ãã³ãã§migemo.dllã¨cmigemo.exeãä½æããã¾ãã > make bc å¿ è¦ãªå¤é¨ããã°ã©ã ããããã¯ã¼ã¯æ¥ç¶ãæã£ã¦ããã° > nmake bc-dict ã§è¾æ¸ãã¡ã¤ã«ããã«ãã§ãã¾ãã以ä¸ãçµäºããã°æ¬¡ã®ã³ãã³ãã§ãã¹ãããã°ã© ã ãåä½ãã¾ãã > .Â¥buildÂ¥cmigemo -d dict/migemo-dict (MacOS X + Developer Tools) å¿ è¦ãªå¤é¨ããã°ã©ã ããããã¯ã¼ã¯æ¥ç¶ãæãã¦ä»¥ä¸ãå®è¡ãããã¨ã§ãã¹ããã ã°ã©ã cmigemoã¨è¾æ¸ãã¡ã¤ã«ããã«ãããã¾ã: % ./configure % make osx % make osx-dict å®è¡ã¯cp932(Shift-JIS)ã§å©ç¨ãããªãã°: % ./build/cmigemo -d dict/migemo-dict euc-jpã§å©ç¨ãããªãã°: % ./build/cmigemo -d dict/euc-jp.d/migemo-dict ãå®è¡ãã¾ããã¤ã³ã¹ãã¼ã«ã¨ã¢ã³ã¤ã³ã¹ãã¼ã«ã¯root権éã§æ¬¡ã®ã³ãã³ããå®è¡ã ããã¨ã§è¡ãªãã¾ããã¤ã³ã¹ãã¼ã«å ´æã«ã¤ãã¦ã¯config.mkãåç §ãã¦ãã ããã # make osx-install # make osx-uninstall ã¤ã³ã¹ãã¼ã«ã«ããè¾æ¸ãã¡ã¤ã«ã¯ /usr/share/cmigemo/{ã¨ã³ã³ã¼ãå} ã«ç½®ããã¾ãã (GNU/gcc:Linuxä») å¿ è¦ãªå¤é¨ããã°ã©ã ããããã¯ã¼ã¯æ¥ç¶ãæãã¦ä»¥ä¸ãå®è¡ãããã¨ã§ãã¹ããã ã°ã©ã cmigemoã¨è¾æ¸ãã¡ã¤ã«ããã«ãããã¾ã: $ ./configure $ make gcc $ make gcc-dict å®è¡ã¯cp932(Shift-JIS)ã§å©ç¨ãããªãã°: $ ./build/cmigemo -d dict/migemo-dict euc-jpã§å©ç¨ãããªãã°: $ ./build/cmigemo -d dict/euc-jp.d/migemo-dict ãå®è¡ãã¾ããã¤ã³ã¹ãã¼ã«ã¨ã¢ã³ã¤ã³ã¹ãã¼ã«ã¯root権éã§æ¬¡ã®ã³ãã³ããå®è¡ã ããã¨ã§è¡ãªãã¾ããã¤ã³ã¹ãã¼ã«å ´æã«ã¤ãã¦ã¯config.mkãåç §ãã¦ãã ããã # make gcc-install # make gcc-uninstall ã¤ã³ã¹ãã¼ã«ã«ããè¾æ¸ãã¡ã¤ã«ã¯ /usr/share/cmigemo/{ã¨ã³ã³ã¼ãå} ã«ç½®ããã¾ãã å©ç¨è¨±è«¾æ¡ä»¶ C/Migemoã¯MITã©ã¤ã»ã³ã¹ã¨ç¬èªã©ã¤ã»ã³ã¹ã®ãã¥ã¢ã«ã©ã¤ã»ã³ã¹ã¨ãã¦é å¸ãã㦠ãã¾ããå©ç¨è ã¯é½åã«å¿ãã¦ãããé©åããã©ã¤ã»ã³ã¹ãé¸æãã¦å©ç¨ãã¦ãã ã ãã MITã©ã¤ã»ã³ã¹ã«ã¤ãã¦ã¯doc/LICENSE_MIT.txtãåç §ãã¦ãã ããã ç¬èªã©ã¤ã³ã»ã³ã¹ã«ã¤ãã¦ã¯doc/LICENSE_j.txtãåç §ãã¦ãã ããã è¾æ¸ã®èä½æ¨©ã»å©ç¨è¨±è«¾æ¡ä»¶ C/Migemoã§å©ç¨ããè¾æ¸ã®è«¸æ¨©å©ãå©ç¨è¨±è«¾æ¡ä»¶åã³èä½æ¨©çã¯ãã®è¾æ¸ã®å®ãã㨠ããã«å¾ãã¾ããC/Migemoã¯SKKè¾æ¸ãç¨ããããã«åæè¨å®ããã¦ãã¾ãããSKKè¾ æ¸ã®å©ç¨è¨±è«¾æ¡ä»¶ã¯C/Migemoã®ããã¨ã¯æ³çã«å¥ã§ãããã¨ã«æ³¨æãã¦ãã ããã 質åã»é£çµ¡å C/Migemoã«é¢ãã質åã»è¦æçã¯æ岡(ä¸è¨ã¢ãã¬ã¹åç §)ã¾ã§é£çµ¡ãã¦ãã ãããã½ ããã¦ã§ã¢ããC/Migemoã使ç¨ãããå ´åã®åãåãããåãä»ãã¾ãã è¬è¾ Migemoãçºæ¡ããRuby/Migemoãä½æãããC/Migemoã«ã¤ãã¦ã®ç¸è«ã«MLã§è¦ªåã«ç ãã¦ããã ããé«æ å²ããã«æè¬ãããã¾ããã¾ãããã®é å¸ããã±ã¼ã¸ã«ã¯ä»¥ä¸ ã®æ¹ã ã«ããããã¥ã¡ã³ããã¢ã¤ãã¢ãå«ã¾ãã¦ãã¾ãããããã¨ããããã¾ãã (ã¢ã«ãã¡ãããé ) - AIDA Shinra Cygwinã¨Linuxç¨Makefileã®åºç¤ - FUJISHIMA Hiroshi <pooh@nature.tsukuba.ac.jp> Solarisç¨Makefileã®æä¾ - MATSUMOTO Yasuhiro Borland C++ç¨Makefileã®åºç¤ migemo.vimãcmigemoã«å¯¾å¿ VBç¨ãµã³ãã« - SUNAOKA Norifumi Solarisç¨Makefileã®ä¸å ·åå ±å - TASAKA Mamoru MITã©ã¤ã»ã³ã¹çã®ãªãªã¼ã¹ã«åå ä»é² è¾æ¸ã«ã¤ã㦠{{{1 C/Migemoã§ã¯ãã¼ãåãæ¥æ¬èªã¸å¤æããã®ã«è¾æ¸ãã¡ã¤ã«dict/migemo-dictãå¿ è¦ ã¨ãã¾ãããã¡ã¤ã«dict/migemo-dictã¯ãã®ã¢ã¼ã«ã¤ãã«å«ã¾ãã¦ãã¾ããããè¾æ¸ ãã¡ã¤ã«ã®ãã«ãæã«ã¤ã³ã¿ã¼ããããéãã¦èªåçã«ãã¦ã³ãã¼ãããä»çµã¿ã«ãª ã£ã¦ãã¾ããã¾ã大å¤ã§ããèªåã§0ããä½æãããã¨ãå¯è½ã§ãã è¾æ¸ã«é¢ãããã¼ã«ããã®ä½¿ç¨æ³ã¯dict/Makefileãåç §ãã¦ãã ããã C/Migemoã§ã¯ 1. dict/migemo-dict以å¤ã«ãã 2. ãã¼ãåã平仮åã«å¤æããããã®ãã¡ã¤ã«(dict/roma2hira.dat)ãã 3. 平仮åãçä»®åã«å¤æããããã®ãã¡ã¤ã«(dict/hira2kata.dat)ãã 4. åè§æåãå ¨è§æåã«å¤æããããã®ãã¡ã¤ã«(dict/han2zen.dat) 5. å ¨è§æåãåè§æåã«å¤æããããã®ãã¡ã¤ã«(dict/zen2han.dat) ã使ç¨ãã¦ãã¾ãããããã®å ¨ã¦ã®ãã¡ã¤ã«ã¯åã«ãã¼ã¿ãã¼ãã«ã¨ãã¦æ©è½ãã¦ã ãã ãã§ãªããã·ã¹ãã ã®ã¨ã³ã³ã¼ã(æ¼¢åã³ã¼ã)ã®éããå¸åããå½¹å²ãæ ã£ã¦ã ã¾ããã¤ã¾ãå ã«æãã4ãã¡ã¤ã«ãWindowsã§ä½¿ãå ´åã«ã¯cp932ã«ãUNIXãLinux㧠使ãå ´åã«ã¯euc-jpã«å¤æããå¿ è¦ãããã®ã§ããå¤æãå¿ è¦ã ã¨äºæ³ãããå ´åã« ã¯ãè¾æ¸ãã¡ã¤ã«ã®ãã«ãã¨åæã«èªåçã«è¡ãªãããããã«ãªã£ã¦ãã¾ãã - Migemo DLLé å¸ãã¼ã¸ (cp932ã®migemo-dictãå ¥æå¯è½) http://www.kaoriya.net/ - Ruby/Migemo (euc-jpã®migemo-dictãå ¥æå¯è½) http://migemo.namazu.org/ - SKK Openlab (ææ°ã®SKK-JISYO.Lãå ¥æå¯è½) http://openlab.ring.gr.jp/skk/index-j.html åãªãã¡ã¬ã³ã¹ {{{1 C/Migemoã§å©ç¨ãããåã«ã¤ãã¦è¿°ã¹ãã - migemo*; Migemoãªãã¸ã§ã¯ããmigemo_open()ã§ä½æãããmigemo_close()ã§ç ´æ£ãããã - int (*MIGEMO_PROC_CHAR2INT)(const unsigned char*, unsigned int*); ãã¤ãå(unsigned char*)ãæåã³ã¼ã(unsigned int)ã«å¤æããããã·ã¼ã¸ã£ åãShift-JISãEUC-JP以å¤ã®ã¨ã³ã³ã¼ãã®æååãæ±ãã¨ãããããã¯ç¹æ®æå ã®å¦çãè¡ãããã¨ãã«å®ç¾©ãããæ»ãå¤ã¯æååã®ãã¡å¦çãããã¤ãæ°ã§ã0 ãè¿ãã°ããã©ã«ãã®ããã·ã¼ã¸ã£ãå®è¡ãããããã®ä»çµã¿ã§å¿ è¦ãªæåã ãã« å¦çãæ½ããã¨ãåºæ¥ãã - int (*MIGEMO_PROC_INT2CHAR)(unsigned int, unsigned char*); ã³ã¼ã(unsigned int)ããã¤ãå(unsigned char*)ã«å¤æããããã·ã¼ã¸ã£åã Shift-JISãEUC-JP以å¤ã®ã¨ã³ã³ã¼ãæååãæ±ãã¨ãããããã¯ç¹æ®æåã®å¦ç ãè¡ãããã¨ãã«å®ç¾©ãããæ»ãå¤ã¯åºåãããæååã®ãã¤ãæ°ã§ã0ãè¿ãã° ããã©ã«ãã®ããã·ã¼ã¸ã£ãå®è¡ãããããã®ä»çµã¿ã§å¿ è¦ãªæåã ãã«å¦çãæ½ ããã¨ãåºæ¥ãã é¢æ°ãªãã¡ã¬ã³ã¹ {{{1 C/Migemoã©ã¤ãã©ãªã§æä¾ãããAPIã以ä¸ã§è§£èª¬ãããå®éã®ä½¿ç¨ä¾ã¯ã¢ã¼ã«ã¤ã ã«å«ã¾ããmain.cãåç §ã®ãã¨ã - migemo* migemo_open(const char* dict); Migemoãªãã¸ã§ã¯ããä½æãããä½æã«æåããã¨ãªãã¸ã§ã¯ããæ»ãå¤ã¨ãã¦è¿ ãã失æããã¨NULLãè¿ããdictã§æå®ãããã¡ã¤ã«ãmigemo-dictè¾æ¸ã¨ãã¦ãª ãã¸ã§ã¯ãä½ææã«èªã¿è¾¼ã¾ãããè¾æ¸ã¨åããã£ã¬ã¯ããªã«: 1. roma2hira.dat (ãã¼ãåâ平仮åå¤æ表) 2. hira2kata.dat (平仮åâã«ã¿ã«ãå¤æ表) 3. han2zen.dat (åè§âå ¨è§å¤æ表) 3. zen2han.dat (å ¨è§âåè§å¤æ表) ã¨ããååã®ãã¡ã¤ã«ãåå¨ããã°ãåå¨ãããã®ã ããèªã¿è¾¼ã¾ãããdictã« NULLãæå®ããå ´åã«ã¯ãè¾æ¸ãå«ãã¦ãããªããã¡ã¤ã«ãèªã¿è¾¼ã¾ããªãããã¡ ã¤ã«ã¯ãªãã¸ã§ã¯ãä½æå¾ã«ãmigemo_load()é¢æ°ã使ç¨ãããã¨ã§è¿½å èªã¿è¾¼ã¿ ãã§ããã - void migemo_close(migemo* object); Migemoãªãã¸ã§ã¯ããç ´æ£ãã使ç¨ãã¦ãããªã½ã¼ã¹ã解æ¾ããã - unsigned char* migemo_query(migemo* object, const unsigned char* query); queryã§ä¸ããããæåå(ãã¼ãå)ãæ¥æ¬èªæ¤ç´¢ã®ããã®æ£è¦è¡¨ç¾ã¸å¤æããã æ»ãå¤ã¯å¤æãããçµæã®æåå(æ£è¦è¡¨ç¾)ã§ã使ç¨å¾ã¯migemo_release()é¢æ°ã¸ 渡ããã¨ã§è§£æ¾ããªããã°ãªããªãã - void migemo_release(migemo* object, unsigned char* string); 使ãçµãã£ãmigemo_query()é¢æ°ã§å¾ãããæ£è¦è¡¨ç¾ã解æ¾ããã - int migemo_load(migemo* obj, int dict_id, const char* dict_file); Migemoãªãã¸ã§ã¯ãã«è¾æ¸ãã¾ãã¯ãã¼ã¿ãã¡ã¤ã«ã追å èªã¿è¾¼ã¿ããã dict_fileã¯èªã¿è¾¼ããã¡ã¤ã«åãæå®ãããdict_idã¯èªã¿è¾¼ãè¾æ¸ã»ãã¼ã¿ã®ç¨® é¡ãæå®ãããã®ã§ä»¥ä¸ã®ãã¡ã©ããä¸ã¤ãæå®ãã: MIGEMO_DICTID_MIGEMO mikgemo-dictè¾æ¸ MIGEMO_DICTID_ROMA2HIRA ãã¼ãåâ平仮åå¤æ表 MIGEMO_DICTID_HIRA2KATA 平仮åâã«ã¿ã«ãå¤æ表 MIGEMO_DICTID_HAN2ZEN åè§âå ¨è§å¤æ表 MIGEMO_DICTID_ZEN2HAN å ¨è§âåè§å¤æ表 æ»ãå¤ã¯å®éã«èªã¿è¾¼ãã 種é¡ã示ããä¸è¨ã®ä»ã«èªã¿è¾¼ã¿ã«å¤±æãããã¨ã示ã 次ã®ä¾¡ãè¿ããã¨ãããã MIGEMO_DICTID_INVALID - int migemo_is_enable(migemo* obj); Migemoãªãã¸ã§ã¯ãã«migemo_dictãèªã¿è¾¼ãã¦ãããããã§ãã¯ãããæå¹ãª migemo_dictãèªã¿è¾¼ãã¦å é¨ã«å¤æãã¼ãã«ãæ§ç¯ã§ãã¦ããã°0以å¤(TRUE)ãã æ§ç¯ã§ãã¦ããªãã¨ãã«ã¯0(FALSE)ãè¿ãã - int migemo_set_operator(migemo* object, int index, const unsigned char* op); Migemoãªãã¸ã§ã¯ããçæããæ£è¦è¡¨ç¾ã«ä½¿ç¨ããã¡ã¿æå(æ¼ç®å)ãæå®ããã indexã§ã©ã®ã¡ã¿æåããæå®ããopã§ç½®ãæãããindexã«ã¯ä»¥ä¸ã®å¤ãæå®å¯è½ ã§ãã: MIGEMO_OPINDEX_OR è«çåãããã©ã«ã㯠"|" ãvimã§å©ç¨ããé㯠"Â¥|" ã MIGEMO_OPINDEX_NEST_IN ã°ã«ã¼ãã³ã°ã«ç¨ããéãæ¬å¼§ãããã©ã«ã㯠"(" ãvimã§ã¯ã¬ã¸ã¹ã¿Â¥1ãÂ¥9 ã«è¨æ¶ãããªãããã«ããããã« "Â¥%(" ãç¨ãããPerlã§ãåæ§ã®ãã¨ãç® è«ããªãã° "(?:" ã使ç¨å¯è½ã MIGEMO_OPINDEX_NEST_OUT ã°ã«ã¼ãã³ã°ã®çµäºã表ãéãæ¬å¼§ãããã©ã«ãã§ã¯ ")" ãvimã§ã¯ "Â¥)" ã MIGEMO_OPINDEX_SELECT_IN é¸æã®éå§ã表ãéãè§æ¬å¼§ãããã©ã«ãã§ã¯ "[" ã MIGEMO_OPINDEX_SELECT_OUT é¸æã®çµäºã表ãéãè§æ¬å¼§ãããã©ã«ãã§ã¯ "]" ã MIGEMO_OPINDEX_NEWLINE åæåã®éã«æ¿å ¥ãããã0å以ä¸ã®ç©ºç½ãããã¯æ¹è¡ã«ãããããããã¿ã¼ ã³ãããã©ã«ãã§ã¯ "" ã§ããè¨å®ãããªããvimã§ã¯ "Â¥_s*" ãæå®ããã ããã©ã«ãã®ã¡ã¿æåã¯ç¹ã«æãããªãéãPerlã®ããã¨åãæå³ã§ãããè¨å®ã« æåããã¨æ»ãå¤ã¯1(0以å¤)ã¨ãªãã失æããã¨0ã«ãªãã - const unsigned char* migemo_get_operator(migemo* object, int index); Migemoãªãã¸ã§ã¯ããçæããæ£è¦è¡¨ç¾ã«ä½¿ç¨ãã¦ããã¡ã¿æå(æ¼ç®å)ãåå¾ã ããindexã«ã¤ãã¦ã¯migemo_set_operator()é¢æ°ãåç §ãæ»ãå¤ã«ã¯indexã®æå® ãæ£ãããã°ã¡ã¿æåãæ ¼ç´ããæååã¸ã®ãã¤ã³ã¿ããä¸æ£ã§ããã°NULLãè¿ ãã - void migemo_setproc_char2int(migemo* object, MIGEMO_PROC_CHAR2INT proc); Migemoãªãã¸ã§ã¯ãã«ã³ã¼ãå¤æç¨ã®ããã·ã¼ã¸ã£ãè¨å®ãããããã·ã¼ã¸ã£ã«ã¤ ãã¦ã®è©³ç´°ã¯ãåãªãã¡ã¬ã³ã¹ãã»ã¯ã·ã§ã³ã®MIGEMO_PROC_CHAR2INTãåç §ã - void migemo_setproc_int2char(migemo* object, MIGEMO_PROC_INT2CHAR proc); Migemoãªãã¸ã§ã¯ãã«ã³ã¼ãå¤æç¨ã®ããã·ã¼ã¸ã£ãè¨å®ãããããã·ã¼ã¸ã£ã«ã¤ ãã¦ã®è©³ç´°ã¯ãåãªãã¡ã¬ã³ã¹ãã»ã¯ã·ã§ã³ã®MIGEMO_PROC_INT2CHARãåç §ã ã³ã¼ãã£ã³ã°ãµã³ãã« {{{1 C/Migemoãå©ç¨ããã³ã¼ãã£ã³ã°ä¾ã示ãã以ä¸ã®ãµã³ãã«ã¯ä¸åã®ã¨ã©ã¼å¦çãè¡ ãªã£ã¦ããªãã®ã§ãå®éã®å©ç¨æã«ã¯æ³¨æãå¿ è¦ã #include <stdio.h> #include "migemo.h" int main(int argc, char** argv) { migemo *m; /* C/Migemoã®æºå: è¾æ¸èªè¾¼ã«ã¯ã¨ã©ã¼æ¤åºã®ããloadãæ¨å¥¨ */ m = migemo_open(NULL); migemo_load(m, MIGEMO_DICTID_MIGEMO, "./dict/migemo-dict"); /* å¿ è¦ãªåæ°ã ãqueryãè¡ãªã */ { unsigned char* p; p = migemo_query(m, "nezu"); printf("C/Migemo: %sÂ¥n", p); migemo_release(m, p); /* queryã®çµæã¯å¿ ãreleaseãã */ } /* å©ç¨ãçµãã£ãmigemoãªãã¸ã§ã¯ãã¯closeãã */ migemo_close(m); return 0; } æ´æ°ç®æ {{{1 â (1.3 éçºç) VC9(VisualStudio2008)ã§ã®64bitçã®ã³ã³ãã¤ã«ã«å¯¾å¿ VC9(VisualStudio2008)ã§ã®ã³ã³ãã¤ã«ã«å¯¾å¿ ãã¼ãåãåé³ã§çµããéã«ãxtu{åé³}{æ¯é³}ããå ããããã«å¤æ´ configureã®--prefixãæ©è½ãã¦ããªãã£ãåé¡ã®ä¿®æ£ çqueryã§ã®è¾æ¸æ¤ç´¢ãignore caseã« è±åèªã®ã¨ã³ããªãå°æåã§æ£è¦å VBç¨ãµã³ãã«(tools/clsMigemo.cls)ã追å ãã¿ã¼ã³ã®çæãé«éå(rxget.c:rxgen_add) VS2003ç¨ããã¸ã§ã¯ããã¡ã¤ã«è¿½å å ¨è§âåè§å¤æã追å å ¨è§âåè§è¾æ¸ã追å ãã¼ãåå¤æã§ãã«ããã¤ãæåãèæ ®(Vimæ²ç¤ºæ¿:1281) CP932/EUCJP/UTF8ã®ã¨ã³ã³ã¼ãèªåå¤å¥æ©è½ã追å migemo.vimãcmigemo.exe対å¿ã®æ¹è¯çã«å·®ãæ¿ã ãã«ãã¡ãã»ã¼ã¸å ã®ä½åãªç©ºç½ãåé¤ â 29-Dec-2003 (1.2 æ£å¼ç) åè§å¤§æåãå ¨è§å¤§æåã«å¤æã§ããªããã°ãä¿®æ£ ãªãªã¼ã¹ç¨ã«ããã¥ã¡ã³ããä¿®æ£ configureã¹ã¯ãªãããå°å ¥ Doxygenãå°å ¥ãã queryãã®ãã®ã§è¾æ¸ãå¼ãã®ãå¿ãã¦ããã®ãä¿®æ£ tools/Migemo.cs:ä½è£ä¿®æ£ ãã«ããã£ã¬ã¯ããªãå¤æ´(åä½ç¢ºèªæ¸:mvc,cyg,gcc,bc5) (1.1.023)migemo.c:EXPORTSã®åé¤ä» (1.1.022)dict/roma2hira.datã«â¾âãã®å¤æã追å (1.1.021)Windowsç¨Makefileãä¿®æ£ (1.1.020)romaji.cã®ãã¹ãã³ã¼ããåé¢ (1.1.019)è¾æ¸èªã¿è¾¼ã¿æã®ã¨ã©ã¼ãä¸å®å ¨ãªããå³å¯å (1.1.018)roma2hira.datã«ããã³å¼ã®m[bmp]åã³tch[aiueo]ã追å (1.1.017)å©ç¨è¨±è«¾æ¡ä»¶ãæ´ç (1.1.016)cmigemoããµãè¾æ¸(ã¦ã¼ã¶è¾æ¸)ã«å¯¾å¿ (1.1.015)cmigemoåºåå¾ã«fflush()ã追å (1.1.014)MSVCç¨ããã¸ã§ã¯ããã¡ã¤ã«ãmsvc/以ä¸ã¸ç§»å (1.1.013)cmigemoã«--emacs/-eåã³--nonewline/-nã追å (1.1.012)mkpkgãæ¹è¯ (1.1.011)dict/roma2hira.datã«[bp]y[aiueo]ã®ã¨ã³ããªã追å (1.1.010)migemo.vimãcmigemoã«å¯¾å¿(by.ã¾ã£ã¤ããã) (1.1.009)Solarisã§ã³ã³ãã¤ã«ã§ããããã«ããããã®å¤æ´ (1.1.008)SKKè¾æ¸ã®é å¸å½¢æ å¤æ´ã«è¿½å¾ (1.1.007)ãããã°ã¡ãã»ã¼ã¸ãã³ã¡ã³ãã«ããåé¤ (1.1.006)config.mkã«è¨å®ä¾ãã³ã¡ã³ãã¨ãã¦è¿½å (1.1.005)C#ç¨ãµã³ãã«tools/*.csã追å (1.1.004)é£æç¯ã«å¯¾å¿(βçæ±ã) (1.1.003)Solarisç¨ã¡ã¤ã¯ãã¡ã¤ã«Make_sun.makã追å ãæªåä½ãã§ã㯠(1.1.002)è¾æ¸ã®1è¡ã«è¤æ°ã¨ã³ããªãåºåã§ããªããªã£ã¦ããåé¡ãä¿®æ£ (1.1.001)migemo.vimãUNIXç³»ã«å¯¾å¿ â 27-May-2002 (1.1 æ£å¼ç) æ£å¼çãªãªã¼ã¹ ããã¥ã¡ã³ããã©ãã·ã¥ã¢ãã Makefileä¿®æ£:releaseã./Releaseã®ããã«ãã«ãã§ããªãã£ãåé¡ â 16-May-2002 (1.1-beta2) BC5対å¿ã®ããããåã寸åâ¦(_ _;;; Makefileã®æ§é å¤æ´(BC5対å¿ã®ãã) è¬è¾è¿½å ããã±ã¼ã¸ä½æç¨ã¹ã¯ãªããã®è¿½å cmigemoãããã°ã©ã ãã使ããããã â 15-May-2002 (1.1-beta1) migemo_set_operator()ã®æ»ãå¤ã®æå³ãå¤æ´ ããã¥ã¡ã³ããã©ãã·ã¥ã¢ãã Cygwin/MacOS X/Linuxç¨ã«Makefileãä½æ strip.plã¨lensort.plãtool/optimize-dict.plã«çµ±å tool/conv.plãtool/skk2migemodict.plã«å称å¤æ´ ããã¥ã¡ã³ãä¿®æ£ cacheãæé©åãã¦é«éå (mnode_load()) wordbuf_add()ãæé©åãã¦é«éå (wordbuf.c) migemoè¾æ¸èªã¿è¾¼ã¿å¤±æãæ¤åºã§ããªããªã£ã¦ãããã°ä¿®æ£ mnodeãã¾ã¨ãã¦ç¢ºä¿ãããã¨ã§é«éå (mnode.cä») è¾æ¸ãé·ãéé ã«ã½ã¼ã (tools/lensort.pl) èµ·åã1å²ãã2å²é«éå (mnode.c) â 21-Aug-2001 main.cã®gets()ãfgets()ã«å¤æ´ }}} ------------------------------------------------------------------------------- çããäºã¸ã®å¼·ãæå¿ãåæã«èªåã¨ç°ãªãçå½ããå°ã¶å¿ã¨ãªã MURAOKA Taro/æ岡太é<koron@tka.att.ne.jp> vi:set ts=8 sts=2 sw=2 tw=78 et fdm=marker ft=memo: