while (getline(ifs, token)) {
token = rtrim(token, "\r");
smatch sub;
+ // FIXME UNICODE: We assume that citation keys and filenames
+ // in the aux file are in the file system encoding.
+ token = to_utf8(from_filesystem8bit(token));
if (regex_match(token, sub, reg1)) {
string data = sub.str(1);
while (!data.empty()) {
}
if (line_count <= 5) {
// FIXME UNICODE
- // We have no idea what the encoding of the log file is
- // (probably pure ascii, but maybe some localized
- // latex compilers or packages exist)
- terr.insertError(line, from_utf8(desc), from_utf8(errstr));
+ // We have no idea what the encoding of
+ // the log file is.
+ // It seems that the output from the
+ // latex compiler itself is pure ASCII,
+ // but it can include bits from the
+ // document, so whatever encoding we
+ // assume here it can be wrong.
+ terr.insertError(line, from_local8bit(desc), from_local8bit(errstr));
++num_errors;
}
}
smatch sub;
+ // FIXME UNICODE: We assume that the file names in the log
+ // file are in the file system encoding.
+ token = to_utf8(from_filesystem8bit(token));
+
if (regex_match(token, sub, reg1)) {
static regex reg1_1("\\(([^()]+)");
smatch what;