|
@@ -521,46 +521,7 @@ void terminal_output(TRANSLATE xlate, std::string &buffer) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /*
|
|
|
- // \xe2 found:
|
|
|
- int c = 0;
|
|
|
-
|
|
|
- // BUG: If we replace the very last character, it looks like a
|
|
|
- unichoad
|
|
|
- // character. It would be nice if we knew it was a translated
|
|
|
- character
|
|
|
- // and ignore it.
|
|
|
- while (replace(buffer, "\xe2\x94\x80", "\xc4")) {
|
|
|
- c++;
|
|
|
- }
|
|
|
- while (replace(buffer, "\xe2\x94\x98", "\xd9")) {
|
|
|
- c++;
|
|
|
- }
|
|
|
- while (replace(buffer, "\xe2\x94\x90", "\xbf")) {
|
|
|
- c++;
|
|
|
- }
|
|
|
- while (replace(buffer, "\xe2\x94\x8c", "\xda")) {
|
|
|
- c++;
|
|
|
- }
|
|
|
- while (replace(buffer, "\xe2\x94\x82", "\xb3")) {
|
|
|
- c++;
|
|
|
- }
|
|
|
- while (replace(buffer, "\xe2\x94\xa4", "\xb4")) {
|
|
|
- c++;
|
|
|
- }
|
|
|
- while (replace(buffer, "\xe2\x94\x9c", "\xc3")) {
|
|
|
- c++;
|
|
|
- }
|
|
|
- while (replace(buffer, "\xe2\x94\x94", "\xc0")) {
|
|
|
- c++;
|
|
|
- }
|
|
|
-
|
|
|
- if (buffer.find('\xe2') != std::string::npos) {
|
|
|
- ZF_LOGE_MEM(buffer.data(), buffer.size(), "Buffer still contains \xe2:");
|
|
|
- };
|
|
|
- }
|
|
|
- */
|
|
|
-
|
|
|
+ // Convert bright to bold.
|
|
|
while (replace(buffer, "\x1b[90m", "\x1b[1;30m")) {
|
|
|
};
|
|
|
while (replace(buffer, "\x1b[91m", "\x1b[1;31m")) {
|
|
@@ -578,6 +539,8 @@ void terminal_output(TRANSLATE xlate, std::string &buffer) {
|
|
|
while (replace(buffer, "\x1b[97m", "\x1b[1;37m")) {
|
|
|
};
|
|
|
|
|
|
+ // Search for DCS mode, and translate the line characters.
|
|
|
+
|
|
|
for (auto iter = buffer.begin(); iter != buffer.end(); ++iter) {
|
|
|
char c = *iter;
|
|
|
Terminal::termchar tc = term.putchar(c);
|
|
@@ -649,22 +612,6 @@ void terminal_output(TRANSLATE xlate, std::string &buffer) {
|
|
|
buffer.clear();
|
|
|
buffer.insert(0, saved);
|
|
|
saved.clear();
|
|
|
-
|
|
|
- /*
|
|
|
- char input[2048];
|
|
|
- char cp437[2048];
|
|
|
-
|
|
|
- // is ansi codes iconv safe? let's find out! TIAS!
|
|
|
-
|
|
|
- strcpy(input, buffer.c_str());
|
|
|
- converter.convert(input, cp437, sizeof(cp437));
|
|
|
-
|
|
|
- ZF_LOGV_MEM(cp437, strlen(cp437), "IConv Buffer:");
|
|
|
-
|
|
|
- write(STDOUT_FILENO, cp437, strlen(cp437));
|
|
|
- */
|
|
|
-
|
|
|
- // buffer.clear();
|
|
|
};
|
|
|
}
|
|
|
|