Linux&qt如何安装中文字体
方法1
将windows下的字体拷贝出来 c:\WINDOWS\Fonts
雅黑:msyh.ttf
黑体:SimHei.ttf
宋体:SimSun.ttf
华文细黑:STXihei.ttf
华文楷体:STKaiti.ttf
安卓默认字库: DroidSansFallback.ttf (Android/ios/嵌入式通用)
复制到Linux系统/usr/share/fonts/chinese/TrueType/,有些系统则是/usr/share/fonts/ttf(ARM)
执行命令更新
#sudo fc-cache -fv
方法2
对于QT来说,将字体直接编译到可执行程序中
第一步:将字体文件加入到资源文件中(此处以安卓系统默认字体DroidSansFallback.ttf为例);
第二步:main.cpp中加入以下代码:
//设置DroidSansFallback.ttf字体为程序默认字体,将字体文件打包进apk
int fontId = QFontDatabase::addApplicationFont(":/demos/rssnews/content/font/DroidSansFallback.ttf");
//将字体Id传给applicationFontFamilies,得到一个QStringList,其中的第一个元素为新添加字体的family
QString androidFont = QFontDatabase::applicationFontFamilies(fontId).at(0);
QFont font(androidFont);
QGuiApplication::setFont(font);
其中addApplicationFont()中加入字体文件的路径,由于已作为资源文件加入到qrc,
故以:/开头表示读取qrc下的路径。若使用后发现不能产生效果,很可能是此处路径没有设置正确。