From 020fa32dc3f627f41a4aa360213d1242b6c2618b Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 27 Dec 2018 15:25:17 -0700 Subject: video: Add information about using TrueType fonts U-Boot supports using TrueType fonts on the console, which is useful for presenting a nice UI to users, e.g. for system recovery. Add information about how to compile this on ARM platforms, since this is not obvious. Signed-off-by: Simon Glass Reviewed-by: Philipp Tomsich --- doc/README.video | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/doc/README.video b/doc/README.video index 09a26b1793..ced35bd2db 100644 --- a/doc/README.video +++ b/doc/README.video @@ -75,3 +75,23 @@ The sunxi U-Boot driver supports the following video-mode options: For example to always use the hdmi connector, even if no cable is inserted, using edid info when available and otherwise initalizing it at 1024x768@60Hz, use: "setenv video-mode sunxi:1024x768-24@60,monitor=dvi,hpd=0,edid=1". + + +TrueType fonts +-------------- + +U-Boot supports the use of antialiased TrueType fonts on some platforms. This +has been tested in x86, ARMv7 and sandbox. + +To enable this, select CONFIG_CONSOLE_TRUETYPE. You can choose between several +fonts, with CONSOLE_TRUETYPE_NIMBUS being the default. + +TrueType support requires floating point at present. On ARMv7 platforms you +need to disable use of the private libgcc. You can do this by disabling +CONFIG_USE_PRIVATE_LIBGCC. See chromebook_jerry for an example. Note that this +increases U-Boot's size by about 70KB at present. + +On ARM you should also make sure your toolchain supports hardfp. This is +normally given in the name of your toolchain, e.g. arm-linux-gnueabihf (hf +means hardware floating point). You can also run gcc with -v to see if it has +this option. -- cgit v1.2.1 From b093753471c1a30d680868a9f4d9f6db090bf0b7 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 27 Dec 2018 15:25:18 -0700 Subject: video: Add a default TrueType font At present it is possible to enable TrueType support but not include any fonts. This results in a blank display. Select Nimbus as the default font to avoid this. Signed-off-by: Simon Glass Reviewed-by: Philipp Tomsich --- drivers/video/fonts/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/fonts/Kconfig b/drivers/video/fonts/Kconfig index 3f1398db50..c692fa9602 100644 --- a/drivers/video/fonts/Kconfig +++ b/drivers/video/fonts/Kconfig @@ -7,6 +7,7 @@ menu "TrueType Fonts" config CONSOLE_TRUETYPE_NIMBUS bool "Nimbus Sans Regular" depends on CONSOLE_TRUETYPE + default y help Nimbus Sans L is a version of Nimbus Sans using Adobe font sources. It was designed in 1987. A subset of Nimbus Sans L were released -- cgit v1.2.1 From 815ed79d833884e12bb7a597487cb231630e9e18 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 27 Dec 2018 15:25:19 -0700 Subject: video: rockchip: Use TrueType fonts with jerry As an example of how to enable TrueType fonts, move chromebook_jerry over to use these. Signed-off-by: Simon Glass Reviewed-by: Philipp Tomsich --- configs/chromebook_jerry_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/chromebook_jerry_defconfig b/configs/chromebook_jerry_defconfig index d892d65bf0..94a1af01be 100644 --- a/configs/chromebook_jerry_defconfig +++ b/configs/chromebook_jerry_defconfig @@ -80,7 +80,6 @@ CONFIG_ROCKCHIP_SPI=y CONFIG_SYSRESET=y CONFIG_USB=y CONFIG_ROCKCHIP_USB2_PHY=y -CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Rockchip" CONFIG_USB_GADGET_VENDOR_NUM=0x2207 @@ -88,10 +87,12 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x320a CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_DM_VIDEO=y +CONFIG_CONSOLE_TRUETYPE=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_EDP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y +# CONFIG_USE_PRIVATE_LIBGCC is not set CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y -- cgit v1.2.1 From daaba089f9dd3eee779a995abccc7e9c12a4d8bf Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Sat, 29 Dec 2018 00:31:45 +0100 Subject: dm: video: fix test failures with enabled default TrueType font With enabled default Nimbus font dm_test_video_truetype* tests fail. Update expected expressions to fix them. Signed-off-by: Anatolij Gustschin Reviewed-by: Simon Glass --- test/dm/video.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/dm/video.c b/test/dm/video.c index 5d1faac19c..6be5defc53 100644 --- a/test/dm/video.c +++ b/test/dm/video.c @@ -335,7 +335,7 @@ static int dm_test_video_truetype(struct unit_test_state *uts) ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev)); ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); vidconsole_put_string(con, test_string); - ut_asserteq(12619, compress_frame_buffer(dev)); + ut_asserteq(12237, compress_frame_buffer(dev)); return 0; } @@ -356,7 +356,7 @@ static int dm_test_video_truetype_scroll(struct unit_test_state *uts) ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev)); ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); vidconsole_put_string(con, test_string); - ut_asserteq(33849, compress_frame_buffer(dev)); + ut_asserteq(35030, compress_frame_buffer(dev)); return 0; } @@ -377,7 +377,7 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts) ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev)); ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); vidconsole_put_string(con, test_string); - ut_asserteq(34871, compress_frame_buffer(dev)); + ut_asserteq(29018, compress_frame_buffer(dev)); return 0; } -- cgit v1.2.1