diff --git a/scim-wnn/data/Makefile.am b/scim-wnn/data/Makefile.am index 1b0ff3b..dd159d1 100644 --- a/scim-wnn/data/Makefile.am +++ b/scim-wnn/data/Makefile.am @@ -3,5 +3,5 @@ icondir = $(SCIM_ICONDIR) icon_DATA = scim-wnn.png tabledir = $(SCIM_DATADIR)/scim-wnn -table_DATA = scim-wnn-def.rkt like-msime.rkt +table_DATA = scim-wnn-def.rkt like-msime.rkt kigou-def.rkt EXTRA_DIST = $(icon_DATA) $(table_DATA) diff --git a/scim-wnn/data/kigou-def.rkt b/scim-wnn/data/kigou-def.rkt new file mode 100644 index 0000000..d863bc3 --- /dev/null +++ b/scim-wnn/data/kigou-def.rkt @@ -0,0 +1,33 @@ +# utf8 +# 標準的な記号入力 + +- ー +[ 「 +] 」 +. 。 +, 、 +{ { +} } +@ @ +: : +; ; +? ? +< < +> > +* * ++ + +/ / +\\ ¥ + +! ! +" ” +# # +$ $ +% % +& & +' ’ +( ( +) ) += = +~ ~ +| | \ No newline at end of file diff --git a/scim-wnn/data/like-msime.rkt b/scim-wnn/data/like-msime.rkt index 90dd0f0..7295dce 100644 --- a/scim-wnn/data/like-msime.rkt +++ b/scim-wnn/data/like-msime.rkt @@ -13,7 +13,10 @@ !Shift+space  # 全角スペース -- ー +/ ・ + +%kigou-def.rkt + a あ i い yi い @@ -289,3 +292,4 @@ xwa ゎ wi ゐ we ゑ + diff --git a/scim-wnn/src/romkan.cpp b/scim-wnn/src/romkan.cpp index 9c02e81..58c4aa7 100644 --- a/scim-wnn/src/romkan.cpp +++ b/scim-wnn/src/romkan.cpp @@ -80,6 +80,7 @@ if (k.size()) break; else continue; } + if (s[i] == '\n') break; if ((s[i] == '!') || (s[i] == '$') ||(s[i] == '%')) { if (!k.size()) ex = true; } @@ -89,18 +90,20 @@ } k += s[i]; } - if ((!k.size()) || (s[i] == 0) || (s[i] == '#')) continue; - i ++; - for(;s[i];i ++) { - if ((s[i] == '#') || (s[i] == '\n')) break; - if (s[i] == ' ') { - if (r.size()) break; - else continue; + if ((!k.size()) || (s[i] == '#')) continue; + if (s[i] != 0) { + i ++; + for(;s[i];i ++) { + if ((s[i] == '#') || (s[i] == '\n')) break; + if (s[i] == ' ') { + if (r.size()) break; + else continue; + } + if ((s[i] == '\\') && (s[i + 1] != 0)) { + i ++; + } + r += s[i]; } - if ((s[i] == '\\') && (s[i + 1] != 0)) { - i ++; - } - r += s[i]; } if (ex && (k[0] == '%')) { loadTable(k.substr(1),true);