From bf55ba01ce7a7c9485dfeb1100cc9f1a1cdd52c4 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Mon, 8 May 2017 19:45:32 +0800 Subject: [PATCH] bugfix: match Chinese fonts in mdhl --- src/main.cpp | 14 +++++++++----- src/resources/styles/default.css | 2 +- src/resources/styles/default.mdhl | 2 +- src/vstyleparser.cpp | 6 ++++-- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4f8168a1..be2e00ab 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -40,9 +40,10 @@ void VLogger(QtMsgType type, const QMessageLogContext &context, const QString &m } #if defined(QT_NO_DEBUG) + Q_UNUSED(context); + QTextStream stream(&g_logFile); stream << header << localMsg << "\n"; - g_logFile.flush(); if (type == QtFatalMsg) { g_logFile.close(); @@ -75,6 +76,8 @@ void VLogger(QtMsgType type, const QMessageLogContext &context, const QString &m header.toStdString().c_str(), file, context.line, localMsg.constData()); abort(); } + + fflush(stderr); #endif } @@ -92,6 +95,11 @@ int main(int argc, char *argv[]) return 0; } + QTextCodec *codec = QTextCodec::codecForName("UTF8"); + if (codec) { + QTextCodec::setCodecForLocale(codec); + } + QApplication app(argc, argv); vconfig.initialize(); @@ -112,10 +120,6 @@ int main(int argc, char *argv[]) app.installTranslator(&translator); } - QTextCodec *codec = QTextCodec::codecForName("UTF8"); - if (codec) { - QTextCodec::setCodecForLocale(codec); - } VMainWindow w; QString style = VUtils::readFileFromDisk(":/resources/vnote.qss"); if (!style.isEmpty()) { diff --git a/src/resources/styles/default.css b/src/resources/styles/default.css index 153a0873..5d0250ee 100644 --- a/src/resources/styles/default.css +++ b/src/resources/styles/default.css @@ -1,6 +1,6 @@ body { margin: 0 auto; - font-family: Helvetica, sans-serif, Tahoma, Arial, Verdana, Geneva, Georgia, Palatino, "Times New Roman", "Hiragino Sans GB", "冬青黑体", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", "WenQuanYi Micro Hei", "文泉驿雅黑", Dengxian, "等线体", "Liberation Sans", "Droid Sans", NSimSun, "新宋体", SimSun, "宋体"; + font-family: Helvetica, sans-serif, Tahoma, Arial, Verdana, Geneva, Georgia, Palatino, "Times New Roman", "Hiragino Sans GB", "冬青黑体", "Microsoft YaHei", "微软雅黑", "Microsoft YaHei UI", "WenQuanYi Micro Hei", "文泉驿雅黑", Dengxian, "等线体", STXihei, "华文细黑", "Liberation Sans", "Droid Sans", NSimSun, "新宋体", SimSun, "宋体"; color: #444444; line-height: 1; padding: 30px; diff --git a/src/resources/styles/default.mdhl b/src/resources/styles/default.mdhl index 7475f8a4..1598223c 100644 --- a/src/resources/styles/default.mdhl +++ b/src/resources/styles/default.mdhl @@ -4,7 +4,7 @@ editor # QTextEdit just choose the first available font, so specify the Chinese fonts first # Do not use "" to quote the name -font-family: Hiragino Sans GB, 冬青黑体, STXihei, 华文细黑, Microsoft YaHei, 微软雅黑, WenQuanYi Micro Hei, 文泉驿雅黑, Dengxian, 等线体, Liberation Sans, Droid Sans, NSimSun, 新宋体, SimSun, 宋体, Helvetica, sans-serif, Tahoma, Arial, Verdana, Geneva, Georgia, Times New Roman +font-family: Hiragino Sans GB, 冬青黑体, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, WenQuanYi Micro Hei, 文泉驿雅黑, Dengxian, 等线体, STXihei, 华文细黑, Liberation Sans, Droid Sans, NSimSun, 新宋体, SimSun, 宋体, Helvetica, sans-serif, Tahoma, Arial, Verdana, Geneva, Georgia, Times New Roman editor-selection foreground: eeeeee diff --git a/src/vstyleparser.cpp b/src/vstyleparser.cpp index 07bf3233..8d168ce1 100644 --- a/src/vstyleparser.cpp +++ b/src/vstyleparser.cpp @@ -272,11 +272,13 @@ QString VStyleParser::filterAvailableFontFamily(const QString &familyList) const qDebug() << "family:" << familyList; for (int i = 0; i < families.size(); ++i) { - QString family = families[i].trimmed().toLower(); + QString family = families[i].trimmed(); for (int j = 0; j < availFamilies.size(); ++j) { QString availFamily = availFamilies[j]; availFamily.remove(QRegExp("\\[.*\\]")); - if (family == availFamily.trimmed().toLower()) { + availFamily = availFamily.trimmed(); + if (family == availFamily + || family.toLower() == availFamily.toLower()) { qDebug() << "matched family:" << availFamilies[j]; return availFamilies[j]; }