質問編集履歴

10

一部修正

2024/01/17 04:49

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -212,7 +212,7 @@
212
212
  ```cpp
213
213
  #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(jpfont)
214
214
  ```
215
- のコードを実行しても、
215
+ 上記のコードに変更しても、
216
216
  jpfont.cのひらがなフォントを呼び出すことができていないようです。
217
217
  [jpfont.c](https://github.com/KenjiMaehara/lvgl_JPFont/blob/master/src/jpfont.c)
218
218
 

9

一部修正。

2024/01/17 04:48

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -208,7 +208,15 @@
208
208
  Serial.println("Setup End");
209
209
  }
210
210
  ```
211
- このように変更してみたのですが、やはりひらがなのフォントは出てきません。
211
+ このように変更してみたのですが、ひらがなのフォントは出てきません。
212
+ ```cpp
213
+ #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(jpfont)
214
+ ```
215
+ このコードを実行しても、
216
+ jpfont.cのひらがなフォントを呼び出すことができていないようです。
217
+ [jpfont.c](https://github.com/KenjiMaehara/lvgl_JPFont/blob/master/src/jpfont.c)
218
+
219
+
212
220
 
213
221
  実際の実行時のili9488の表示画面です。
214
222
  🔲が表示されてる部分は

8

画面の写真を追加。

2024/01/17 02:45

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -210,4 +210,18 @@
210
210
  ```
211
211
  このように変更してみたのですが、やはりひらがなのフォントは出てきません。
212
212
 
213
-
213
+ 実際の実行時のili9488の表示画面です。
214
+ 🔲が表示されてる部分は
215
+ lv_label_set_text(label,"あいうtえeおsかtきくけこ");
216
+ この中のt,e,s,t
217
+
218
+ この4文字と思われます。
219
+
220
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-01-17/5765f48a-27d1-4ca3-b278-a22799dd1bf8.png)
221
+
222
+
223
+
224
+
225
+
226
+
227
+

7

URLリンクを修正

2024/01/17 02:24

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -178,7 +178,7 @@
178
178
  #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(jpfont)
179
179
  ```
180
180
 
181
- このように[main.c](https://github.com/KenjiMaehara/lvgl_JPFont/blob/%E6%97%A5%E6%9C%AC%E8%AA%9E%E6%96%87%E5%AD%97%E8%A1%A8%E7%A4%BA%E3%83%86%E3%82%B9%E3%83%88/src/jpfont.c)のコードを変更して
181
+ このように[main.c](https://github.com/KenjiMaehara/lvgl_JPFont/blob/%E6%97%A5%E6%9C%AC%E8%AA%9E%E6%96%87%E5%AD%97%E8%A1%A8%E7%A4%BA%E3%83%86%E3%82%B9%E3%83%88/src/main.cpp)のコードを変更して
182
182
 
183
183
  ```cpp
184
184
 

6

main.cのファイルのURLを追加。

2024/01/17 02:23

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -178,7 +178,7 @@
178
178
  #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(jpfont)
179
179
  ```
180
180
 
181
- このようにコードを変更して
181
+ このように[main.c](https://github.com/KenjiMaehara/lvgl_JPFont/blob/%E6%97%A5%E6%9C%AC%E8%AA%9E%E6%96%87%E5%AD%97%E8%A1%A8%E7%A4%BA%E3%83%86%E3%82%B9%E3%83%88/src/jpfont.c)のコードを変更して
182
182
 
183
183
  ```cpp
184
184
 

5

コード改造内容を追加

2024/01/17 02:20

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -167,6 +167,47 @@
167
167
 
168
168
  ###追記 2024/1/17
169
169
 
170
-
170
+ lvglライブラリのフォルダ内にあるlv_conf.hファイル。
171
+
171
-
172
+ D:\ESP32\lvgl_JPFont\.pio\libdeps\esp32dev\lvgl\lv_conf.h
173
+
172
-
174
+ ```cpp
175
+ /*Optionally declare custom fonts here.
176
+ *You can use these fonts as default font too and they will be available globally.
177
+ *E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/
178
+ #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(jpfont)
179
+ ```
180
+
181
+ このようにコードを変更して
182
+
183
+ ```cpp
184
+
185
+ void setup() {
186
+
187
+ --------------(中略)------------------------------------
188
+
189
+ static lv_style_t style1;
190
+ // LVGLラベルの作成
191
+ lv_obj_t *label = lv_label_create(lv_scr_act());
192
+ //lv_label_set_text(label, "Hello, LVGL World02!");
193
+ lv_style_init(&style1);
194
+ lv_style_set_text_font(&style1, &jpfont);
195
+
196
+ lv_obj_add_style(label, &style1, 0);
197
+ //lv_style_set_text_color(&style1, lv_color_hex(0xFFFFFF));
198
+ lv_obj_add_style(label , &style1, 0);
199
+ lv_label_set_text(label,"あいうtえeおsかtきくけこ");
200
+ // ラベルのサイズを設定
201
+ lv_obj_set_size(label, 200, 200);
202
+
203
+ // テキストの折り返しを設定
204
+ lv_label_set_long_mode(label, LV_LABEL_LONG_WRAP);
205
+
206
+ lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
207
+
208
+ Serial.println("Setup End");
209
+ }
210
+ ```
211
+ このように変更してみたのですが、やはりひらがなのフォントは出てきません。
212
+
213
+

4

一部追加

2024/01/16 22:36

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -165,5 +165,8 @@
165
165
  [jpfont.c](https://github.com/KenjiMaehara/lvgl_JPFont/blob/master/src/jpfont.c)
166
166
 
167
167
 
168
- ### 補足
168
+ ###追記 2024/1/17
169
- 特になし
169
+
170
+
171
+
172
+

3

タグの追加を実施。

2024/01/16 09:23

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
File without changes

2

さらに追加

2024/01/11 01:02

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -10,11 +10,57 @@
10
10
 
11
11
 
12
12
  ### 発生している問題・分からないこと
13
- lvglで使用するための日本語フォントをtrue type fontのひらがな部分だけをファイル変換とりあえず、
13
+ main.cppとjphont.cファイルを同じsrcフォルダに入れてビルドはOKでたがili9488の画面では「いうおかきくけこ」のひらがなフォントが全く表示されません。
14
14
 
15
- ”あいうえおかきくけこ”
16
15
 
17
- これをili9488画面に表示ようとたのですが、まくいきません。
16
+ これは日本語フォントい作成方法でか?
17
+
18
+ jphont.c ファイルは正しくロードされていますか?
19
+
20
+ 疑問なのですが、
21
+
22
+ ```cpp
23
+ lv_label_set_text(label,"あいうえおかきくけこ");
24
+ ```
25
+
26
+ このコードの”あ”で、文字を画面に表示させようとしているわけですが、”あ”はjpfont.cファイルの下の部分をロードできていますでしょうか?
27
+ 読み込んでいるかどうかを確認する方法などありませんでしょうか?
28
+
29
+ 解決方法よろしくおねがいします。
30
+
31
+ ```cpp
32
+ /* U+3042 "あ" */
33
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
34
+ 0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x0,
35
+ 0x0, 0x0, 0x0, 0x0, 0x1f, 0xe0, 0x0, 0x0,
36
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x1f,
37
+ 0xe0, 0x0, 0x0, 0x60, 0x0, 0x7, 0xc1, 0xff,
38
+ 0xff, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff,
39
+ 0xf8, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf8,
40
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e,
41
+ 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
42
+ 0xf0, 0x0, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x0,
43
+ 0xf, 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
44
+ 0x0, 0xff, 0xc0, 0x3e, 0x1f, 0xc0, 0x0, 0x0,
45
+ 0x0, 0x3f, 0xc0, 0x7, 0xc0, 0x7, 0xe0, 0x0,
46
+ 0x0, 0x1f, 0xfe, 0x0, 0xfc, 0x0, 0x7, 0xe0,
47
+ 0x0, 0xf, 0xc1, 0xf0, 0x1f, 0x80, 0x0, 0xf,
48
+ 0xc0, 0x3, 0xf0, 0xf, 0x83, 0xf0, 0x0, 0x0,
49
+ 0x7f, 0x0, 0x7c, 0x0, 0x7e, 0x7c, 0x0, 0x0,
50
+ 0x1, 0xf8, 0xf, 0x80, 0x1, 0xff, 0x80, 0x0,
51
+ 0x0, 0x1f, 0xc0, 0xf8, 0x0, 0xf, 0xf0, 0x0,
52
+ 0x0, 0x0, 0xfe, 0xf, 0x80, 0x3, 0xff, 0x80,
53
+ 0x0, 0x0, 0x1f, 0xe0, 0xfc, 0x3, 0xff, 0xfe,
54
+ 0x0, 0x0, 0x3, 0xfe, 0x7, 0xff, 0xff, 0x81,
55
+ 0xc0, 0x0, 0x0, 0xff, 0x80, 0xf, 0xff, 0x0,
56
+ 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0,
57
+ 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x0,
58
+ 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0,
59
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
60
+
61
+ ```
62
+
63
+
18
64
 
19
65
  ### エラーメッセージ
20
66
  ```error

1

ソースコードの追加

2024/01/11 00:55

投稿

MaeharaKenji
MaeharaKenji

スコア86

test CHANGED
File without changes
test CHANGED
@@ -22,9 +22,76 @@
22
22
  ```
23
23
 
24
24
  ### 該当のソースコード
25
+ [こちら](https://github.com/KenjiMaehara/lvgl_JPFont/blob/master/src/main.cpp)が現在のソースコードです。
26
+ ```cpp
27
+ #include <Arduino.h>
28
+ #include <lvgl.h>
29
+ #include <TFT_eSPI.h> // ILI9488ドライバを含むライブラリ
25
30
 
31
+
32
+ TFT_eSPI tft = TFT_eSPI(); // TFTのインスタンスを作成
33
+
34
+ // ディスプレイフラッシュ関数
35
+ void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p) {
36
+ tft.startWrite();
37
+ tft.setAddrWindow(area->x1, area->y1, area->x2 - area->x1 + 1, area->y2 - area->y1 + 1);
38
+ tft.pushColors((uint16_t *)&color_p->full, (area->x2 - area->x1 + 1) * (area->y2 - area->y1 + 1), true);
39
+ tft.endWrite();
40
+ lv_disp_flush_ready(disp);
26
- ```
41
+ }
42
+
43
+ static lv_disp_draw_buf_t draw_buf;
44
+ static lv_color_t buf[320 * 10]; // 仮にディスプレイの垂直解像度を480ピクセルと仮定
45
+ static lv_disp_drv_t disp_drv;
46
+
47
+ LV_FONT_DECLARE(jpfont);
48
+
49
+ void setup() {
50
+ Serial.begin(115200); // シリアル通信の初期化
51
+ Serial.println("Setup Start");
52
+
53
+ lv_init();
54
+ tft.begin();
55
+ tft.setRotation(1); // ディスプレイの向きに合わせて調整
56
+
57
+ // バッファのサイズを設定(解像度に基づいて)
58
+
59
+
60
+ lv_disp_draw_buf_init(&draw_buf, buf, NULL, 320 * 3);
61
+
62
+ lv_disp_drv_init(&disp_drv);
63
+ disp_drv.hor_res = 480; // ディスプレイの解像度を設定
64
+ disp_drv.ver_res = 320;
65
+ disp_drv.flush_cb = my_disp_flush;
66
+ disp_drv.draw_buf = &draw_buf;
67
+ lv_disp_drv_register(&disp_drv);
68
+
69
+
70
+ static lv_style_t style1;
71
+ // LVGLラベルの作成
72
+ lv_obj_t *label = lv_label_create(lv_scr_act());
73
+ //lv_label_set_text(label, "Hello, LVGL World02!");
74
+ lv_style_init(&style1);
75
+ lv_style_set_text_font(&style1, &jpfont);
76
+
77
+ lv_obj_add_style(label, &style1, 0);
78
+ lv_style_set_text_color(&style1, lv_color_hex(0xFFFFFF));
79
+ lv_label_set_text(label,"あいうえおかきくけこ");
80
+ // ラベルのサイズを設定
81
+ lv_obj_set_size(label, 200, 100);
82
+
83
+ // テキストの折り返しを設定
84
+ lv_label_set_long_mode(label, LV_LABEL_LONG_WRAP);
85
+
86
+ lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
87
+
88
+ Serial.println("Setup End");
89
+ }
90
+
91
+ void loop() {
92
+ lv_task_handler();
27
- 特になし
93
+ delay(5);
94
+ }
28
95
  ```
29
96
 
30
97
  ### 試したこと・調べたこと