2015-05-07 8 views
0

Моя система:Qt-Embedded множественной шрифт

  • Qt Embedded (Open Source) 4,8
  • Linux Framebuffer для графики
  • Шрифты. (Латинский, японский, греческий) (/ USR/Lib/fonts)

Я пытаюсь смешивать латинские алфавиты с другими типами символов, например Японский. У меня есть шрифты для латинских алфавитов и японских символов, но они не являются тем же шрифтом. Я изучал сообщение:

Qt Use Multiple Fonts at the Same Time и how-to-properly-output-multilingual-text-in-qt-embedded

я следую шагам, но я не могу правильно показать все символы

Есть ли способ, чтобы указать, что если вы не можете отобразить шрифт символов изменение?

Код:

#include "mainwindow.h" 
#include "ui_mainwindow.h" 
#include <QtGui> 

MainWindow::MainWindow(QWidget *parent) : 
QMainWindow(parent), 
ui(new Ui::MainWindow) 
{ 
ui->setupUi(this); 
QString chino = QString::fromUtf8("你好"); 
QString ruso = QString::fromUtf8("здравствуйт"); 
QString arabe = QString::fromUtf8("سلام عليك"); 
QString japones = QString::fromUtf8("今日は"); 
QString otros = QString::fromUtf8("안녕하세요"); 
QString mezcla = QString::fromUtf8("今a日sはздdр你عل세요"); 
QString indu = QString::fromUtf8("Γεια σας,안녕하세요,ज्वजलपा"); 
ui->textochino->setText(chino); 
ui->textoruso->setText(ruso); 
ui->textoarabe->setText(arabe); 
ui->textojapones->setText(japones); 
ui->texto1->setText(mezcla); 
ui->texto2->setText(indu); 
} 

MainWindow::~MainWindow() 
{ 
delete ui; 
} 

ответ

3

Для некоторых альтернатив список шрифтов мы можем использовать insertSubstitutions. Например:

QStringList listFonts; 
listFonts <<"Verdana" <<"Droid Sans" <<"Lucida Sans" ; 
QFont font("Sans"); 
font.insertSubstitutions("Sans",listFonts); 
font.setStyleStrategy(QFont::PreferAntialias); 
ui->mix->setFont(font);