Qtプログラムはttfフォントを持参した例を用いる
TTF概要
TTF(TrueTypeFont)はApple社とMicrosoft社が共同で発売したフォントファイルフォーマットで、20年以上windowsの流行に伴い、現在TTFは最もよく使われるフォントファイルの表現方式となっている.truetypeフォントの最大の利点は、フォントの輪郭を簡単に曲線に変換することができ、曲線を塗りつぶして様々な色と効果を作ることができ、さらに変形して特殊な効果フォントを作ることができるため、タイトル字や模様字を作るのによく使われています.デスクトップ出版システムで使用されるライブラリには、postscriptライブラリとtruetypeライブラリの2つの基準があります.どちらのフォント標準も曲線でフォントの輪郭を記述するため、高品質のフォントを出力することができます.truetypeフォントはpostscriptライブラリの表示ワードとしても用いられ、各ライブラリ会社にはこの2つの標準的な製品が同時に存在する.したがって、truetypeフォントを使用してレイアウトを作成する場合、出力時にpostscriptライブラリ出力に置き換えることができます.
Qt例
私は埋め込みLinuxプラットフォームでインタフェースプログラムを開発したので、中国語のフォントを表示する必要があるので、LiHeiProをダウンロードしました.ttfで使います.では、Qtでどのように操作すべきかを見てみましょう.(TTFライブラリパスは/home/root/seat_imx/LiHeiPro.ttf)コードは次のとおりです.
その後、中国語を表示できます.例えば、
TTF(TrueTypeFont)はApple社とMicrosoft社が共同で発売したフォントファイルフォーマットで、20年以上windowsの流行に伴い、現在TTFは最もよく使われるフォントファイルの表現方式となっている.truetypeフォントの最大の利点は、フォントの輪郭を簡単に曲線に変換することができ、曲線を塗りつぶして様々な色と効果を作ることができ、さらに変形して特殊な効果フォントを作ることができるため、タイトル字や模様字を作るのによく使われています.デスクトップ出版システムで使用されるライブラリには、postscriptライブラリとtruetypeライブラリの2つの基準があります.どちらのフォント標準も曲線でフォントの輪郭を記述するため、高品質のフォントを出力することができます.truetypeフォントはpostscriptライブラリの表示ワードとしても用いられ、各ライブラリ会社にはこの2つの標準的な製品が同時に存在する.したがって、truetypeフォントを使用してレイアウトを作成する場合、出力時にpostscriptライブラリ出力に置き換えることができます.
Qt例
私は埋め込みLinuxプラットフォームでインタフェースプログラムを開発したので、中国語のフォントを表示する必要があるので、LiHeiProをダウンロードしました.ttfで使います.では、Qtでどのように操作すべきかを見てみましょう.(TTFライブラリパスは/home/root/seat_imx/LiHeiPro.ttf)コードは次のとおりです.
#include "gytboxwidget.h"
#include
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
int index = QFontDatabase::addApplicationFont("/home/root/seat_imx/LiHeiPro.ttf");
if(index != -1) {
QStringList fontList(QFontDatabase::applicationFontFamilies(index));
/* font -- LiHei Pro */
if(fontList.count() > 0) {
QFont font_zh(fontList.at(0));
font_zh.setBold(false);
a.setFont(font_zh);
}
}
GytBoxWidget w;
w.show();
return a.exec();
}
その後、中国語を表示できます.例えば、
QLabel *label = new QLabel(this);
label->setText(tr(" "));