lyxerr[Debug::TCLASS] << "Reading textclasses from `"
<< real_file << '\'' << endl;
if (real_file.empty()) {
lyxerr << "LyXTextClassList::Read: unable to find "
lyxerr[Debug::TCLASS] << "Reading textclasses from `"
<< real_file << '\'' << endl;
if (real_file.empty()) {
lyxerr << "LyXTextClassList::Read: unable to find "
{
// only check for textclass.layout file, .cls can be anywhere in $TEXINPUTS
// NOTE: latex class name is defined in textclass.layout, which can be different from textclass
{
// only check for textclass.layout file, .cls can be anywhere in $TEXINPUTS
// NOTE: latex class name is defined in textclass.layout, which can be different from textclass
- string layout_file = path + "/" + textclass + ".layout";
- if (fs::exists(layout_file)) {
+ FileName const layout_file(path + '/' + textclass + ".layout");
+ if (fs::exists(layout_file.toFilesystemEncoding())) {
lyxerr[Debug::TCLASS] << "Adding class " << textclass << " from directory " << path << endl;
// Read .layout file and get description, real latex classname etc
//
// This is a C++ version of function processLayoutFile in configure.py,
// which uses the following regex
// \Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}
lyxerr[Debug::TCLASS] << "Adding class " << textclass << " from directory " << path << endl;
// Read .layout file and get description, real latex classname etc
//
// This is a C++ version of function processLayoutFile in configure.py,
// which uses the following regex
// \Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}
static regex const reg("^#\\s*\\\\Declare(LaTeX|DocBook)Class\\s*"
"(?:\\[([^,]*)(?:,.*)*\\])*\\s*\\{(.*)\\}\\s*");
string line;
static regex const reg("^#\\s*\\\\Declare(LaTeX|DocBook)Class\\s*"
"(?:\\[([^,]*)(?:,.*)*\\])*\\s*\\{(.*)\\}\\s*");
string line;