質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

3回答

2770閲覧

組み込みLinux QMLアプリ 日本語表示できない

hiromaru_0430

総合スコア4

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2019/09/12 00:37

組み込みLinux(Yocto)用のQMLアプリを作成しております。
その中で日本語表示が□となってしまう状態です。

元々"/usr/share/fonts/truetype"内に
DejaVu*.ttfしかなかったため、TaKaoフォント4種を追加しました。
但し、これだけでは状況は変化致しませんでした。

Takao*.ttfをLinux,QMl側に反映する方法ご存知の方がおられましたら
ご教授いただけないでしょうか。

Linuxカーネルバージョン
4.14.98-imx_4.14.98_2.0.0_ga+g5d6cbea
Qt(Windows10上VirtualBox ubuntu16.04)
Qt 5.10.1 (GCC 5.3.1 20160406 (Red Hat 5.3.1-6), 64 bit)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

解決のため、2点試したところ表示される事が確認出来ました。

1.日本語ロケール対応

2.ttfファイルの再配置
fc-listにsazanami-gothic.ttfが登録されておりましたが
i.mxが参照するフォントファイルとQtが参照するフォントファイルが異なるようでした。

/usr/share/fonts/truetype/sazanami-gothic.ttf
上記パスにsazanami-gothic.ttfはありました。

/usr/lib/fonts/
こちらにttfファイルをcpする事により、Qtで日本語表示する事が出来ました。

日本語ロケール対応については私が行ったわけでないため、詳細は記載できませんが
ttfファイルの再配置を行うだけでも、対応できる可能性があります。

Takaoフォントを使用する予定でしたが、元々sazamamiが入っているため
外部から入れたフォントを使用しない事としました。

投稿2019/10/04 00:44

hiromaru_0430

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Linuxのフォント設定は、fontconfigというソフトウェアで管理されています。

元々"/usr/share/fonts/truetype"内に

DejaVu*.ttfしかなかったため、TaKaoフォント4種を追加しました。
但し、これだけでは状況は変化致しませんでした。

基本的に、フォントファイルをコピーしただけでは使えません。
fc-cache」を実行してください。

とりあえず、「fc-list」を実行すると使えるフォントがリストアップされますので、Takaoフォントがあるか、確認してみてください。

さて、これでフォントは使えるようになりましたが、勝手に使うわけではありません。

  1. アプリケーションでフォントを指定する。
  2. システム全体でデフォルトフォントをTakaoフォントに設定する。

のいずれかをしなければなりません。

1.のアプリケーションに関して。
QMLは使った事がないのでわかりませんが、QtであればQGuiApplication::setFont関数でアプリケーション全体のデフォルトフォントを指定できるそうです。

2.のシステムのフォント設定に関して。
こちらもあまりよく知らないのですが、先程も言ったとおりfontconfigの設定ですので、「fontconfig」でググれば参考になるサイトはいくらでも見つかりましたので、そちらを参考にしてください。

投稿2019/09/12 11:43

katsuko

総合スコア3462

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

環境変数の LANG=ja_JP.UTF-8 は指定していますか?

投稿2019/09/12 07:04

yuki23

総合スコア1448

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiromaru_0430

2019/09/12 07:38

ご回答ありがとうございます。 # set | grep LANG LANG=ja_JP.utf8 環境変数自体は指定しております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問