Armadilloフォーラム

Armadillo-410 表示できないフォントがある

sankyo_takada

2015年5月20日 13時14分

お世話になります。
高田と申します。

Armadillo410でLCDに日本語を表示しているのですが、
一部表示できないフォントがあります。
表示方法についてご存知の方がおられましたらご教示いただけないでしょうか。

<環境>
Armadillo410
Qt4.8.3
Linux2.6.26

<状況>
LCD上に下付きの数字(「₂」など)を表示しようとしたところ
何も表示されませんでした。
フォントはTakaoゴシックを使用しています。

よろしくお願いいたします。

コメント

at_kojiro.yamada

2015年5月21日 16時28分

TakaoGothicには下付きの文字が無いようです。
他のフォントを利用してみてはいかがでしょうか?

ATDEに入っているフォントで、DejaVuSansというものがあります。
こちらのフォントでは下付きの文字も表示することができました。

ファイルは以下に配置されています。
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf

ただし、Qtで、下付きの文字をchar型として扱うと文字化けしてしまいます。
その場合は、QString::fromUtf8()を使用するのが良いかと思います。

#include <QString>
 :(省略)
    QString str = QString::fromUtf8("H₂O");

■参考情報
Armadillo:Qt4で簡易的にフォントを変更する
https://users.atmark-techno.com/blog/615/1025

at_kojiro.yamada

2015年5月21日 17時36分

補足ですが、
DejaVuSansは、日本語フォント非対応なのでひらがなや漢字は表示できません。

ですが、QFontは
指定したフォントに含まれない文字を
自動的に他のフォントで補完してくれます。

そのため、TakaoGothicとDejaVuSansを一緒に配置しておけば
下付きの文字と同時に漢字なども使用することができます。

■TakaoGothicとDejaVuSansを配置する

[ATDE]$ ls atmark-dist/romfs/usr/local/Trolltech/Qt-4.8.3-qws-armel/lib/fonts/
DejaVuSans.ttf  TakaoGothic.ttf
[ATDE]$ make image

■漢字と下付きの文字を同時に使用する

#include <QString>
:(省略)
QString str = QString::fromUtf8("水(H₂O)");

高田です。

丁寧なご回答ありがとうございます。
文字が収録されていないとのこと、承知しました。
他にも特殊文字を使用する予定ですので、
他のフォントも使用することを検討してみます。