Browse Source

bugfix: match Chinese fonts in mdhl

Le Tan 8 years ago
parent
commit
bf55ba01ce
4 changed files with 15 additions and 9 deletions
  1. 9 5
      src/main.cpp
  2. 1 1
      src/resources/styles/default.css
  3. 1 1
      src/resources/styles/default.mdhl
  4. 4 2
      src/vstyleparser.cpp

+ 9 - 5
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()) {

+ 1 - 1
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;

+ 1 - 1
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

+ 4 - 2
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];
             }