- if (lyxrc.isp_accept_compound) {
- // Consider run-together words as legal compounds
- tmp = new char[3];
- string("-C").copy(tmp, 2); tmp[2] = '\0';
- argv[argc++] = tmp;
- } else {
- // Report run-together words with
- // missing blanks as errors
- tmp = new char[3];
- string("-B").copy(tmp, 2); tmp[2] = '\0';
- argv[argc++] = tmp;
- }
- if (lyxrc.isp_use_esc_chars) {
- // Specify additional characters that
- // can be part of a word
- tmp = new char[3];
- string("-w").copy(tmp, 2); tmp[2] = '\0';
- argv[argc++] = tmp;
- // Put the escape chars in ""s
- string tms = "\"" + lyxrc.isp_esc_chars + "\"";
- tmp = new char[tms.length() + 1];
- tms.copy(tmp, tms.length()); tmp[tms.length()] = '\0';
- argv[argc++] = tmp;
- }
- if (lyxrc.isp_use_pers_dict) {
- // Specify an alternate personal dictionary
- tmp = new char[3];
- string("-p").copy(tmp, 2);
- tmp[2]= '\0';
- argv[argc++] = tmp;
- tmp = new char[lyxrc.isp_pers_dict.length() + 1];
- lyxrc.isp_pers_dict.copy(tmp, lyxrc.isp_pers_dict.length());
- tmp[lyxrc.isp_pers_dict.length()] = '\0';
- argv[argc++] = tmp;
- }
- if (lyxrc.isp_use_input_encoding &&
- params.inputenc != "default") {
- string enc = (params.inputenc == "auto")
- ? params.language->encoding()->LatexName()
- : params.inputenc;
- string::size_type n = enc.length();
- tmp = new char[3];
- string("-T").copy(tmp, 2);
- tmp[2] = '\0';
- argv[argc++] = tmp; // Input encoding
- tmp = new char[n + 1];
- enc.copy(tmp, n);
- tmp[n] = '\0';
- argv[argc++] = tmp;
- }