設定をテーブル側に統一。
1 parent 1abd924 commit f02ad7efb803450bdb9cdc07df598f7004a21fea
@tamra tamra authored on 8 Mar 2005
Showing 4 changed files
View
2
■■■
scim-wnn/data/like-msime.rkt
# utf8
!nnMode true
$nnMode true
$Key/Ascii null
$Key/WideAscii null
a
i
View
2
■■■
scim-wnn/data/scim-wnn-def.rkt
# utf8
!nnMode false
$nnMode false
$Key/Ascii q
$Key/WideAscii Shift+Q
a
i
View
73
scim-wnn/src/romkan.cpp
#define textdomain(domain)
#define bind_textdomain_codeset(domain,codeset)
#endif
 
 
Romkan::Romkan(ConfigPointer cfg) : PreEditor(cfg)
{
reset();
iconvert.set_encoding ("EUC-JP");
loadTable(k.substr(1),true);
continue;
}
if ((k[0] == '$') && (!inc)) {
setConfigFromTable(k.substr(1),r);
continue;
}
if ((k[0] == '!') && (!inc)) {
bool v = true;
if ((r == "false") || (r == "FALSE") || (r == "0")) v = false;
setConfigFromTable(k.substr(1),v);
tableConfig.insert(pair<String,String>(k.substr(1),r));
continue;
}
if (!r.size()) continue;
RomkanTable.insert(pair<String,WideString>(k,utf8_mbstowcs(r)));
}
 
 
 
/*!
\fn Romkan::setConfigFromTable(const String &name, const String &value)
*/
void Romkan::setConfigFromTable(const String &name, const String &value)
{
if (name.substr(0,4) == String("Key/")) {
config->write(String(SCIM_CONFIG_WNN_ROMKAN_PREFIX) + name,value);
}
}
 
 
/*!
\fn Romkan::setConfigFromTable(const String &name, bool value)
*/
void Romkan::setConfigFromTable(const String &name, bool value)
{
config->write(String(SCIM_CONFIG_WNN_ROMKAN_PREFIX) + name,value);
}
 
/*!
\fn Romkan::string2bool(const String &s)
*/
bool Romkan::string2bool(const String &s)
{
if ((s == "FALSE") || (s == "false") || (s == "False") || (s == "0") || (!s.size())) return(false);
else return(true);
}
 
 
/*!
\fn Romkan::init()
void Romkan::init()
{
RomkanTable.clear();
keepTable.clear();
tableConfig.clear();
String rk_table = config->read(SCIM_CONFIG_WNN_ROMKAN_TABLE_FILE,String(SCIM_DEFAULT_WNN_ROMKAN_TABLE_FILE));
if (rk_table.size()) {
i += 2;
}
}
nnMode = config->read(SCIM_CONFIG_WNN_ROMKAN_NNMODE,SCIM_DEFAULT_WNN_ROMKAN_NNMODE);
scim_string_to_key_list(key_ascii_mode,
config->read(String(SCIM_CONFIG_WNN_KEY_ROMKAN_ASCIIMODE),
String(SCIM_DEFAULT_WNN_KEY_ROMKAN_ASCIIMODE)));
scim_string_to_key_list(key_wascii_mode,
config->read(String(SCIM_CONFIG_WNN_KEY_ROMKAN_WASCIIMODE),
String(SCIM_DEFAULT_WNN_KEY_ROMKAN_WASCIIMODE)));
if (tableConfig.find("nnMode") != tableConfig.end())
nnMode = string2bool(tableConfig["nnMode"]);
if (tableConfig.find("Key/Ascii") != tableConfig.end())
scim_string_to_key_list(key_ascii_mode,tableConfig["Key/Ascii"]);
if (tableConfig.find("Key/WideAscii") != tableConfig.end())
scim_string_to_key_list(key_wascii_mode,tableConfig["Key/WideAscii"]);
 
}
 
 
}
 
 
View
5
scim-wnn/src/romkan.h
WideString eval();
WideString insert(char k);
void init();
void loadTable(const String &filename, bool inc = false);
void setConfigFromTable(const String &name, const String &value);
void setConfigFromTable(const String &name, bool value);
bool string2bool(const String &s);
 
protected:
String buf;
String modeName;
bool nnMode;
PreEditorKeyEventList key_ascii_mode,key_wascii_mode;
map<String,WideString> RomkanTable;
set<String> keepTable;
map<String,String> tableConfig;
};
 
#endif