Skip to contentSkip to conversation

video: Add information about using TrueType fonts

PATCH New Simon Glass 3 participants 9 messages Dec 27, 2018 – Dec 28, 2018 Framebuffer layer

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 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.

---

 doc/README.video | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
doc/README.video +20 -0
index 09a26b17936..7a30512c96d 100644
@@ -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 at 60Hz,
 use: "setenv video-mode sunxi:1024x768-24 at 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 supports 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.
Signature · 1 line
2.20.1.415.g653613c723-goog
#1 lore raw

PATCH 2/3 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.

---

 drivers/video/fonts/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/video/fonts/Kconfig +1 -0
index 3f1398db50c..c692fa9602f 100644
@@ -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
Signature · 1 line
2.20.1.415.g653613c723-goog
#3 lore raw

PATCH 2/3 video: Add a default TrueType font

In reply to Simon Glass
Quoted 9 lines · On Thu, 27 Dec 2018 15:25:18 -0700 Simon Glass sjg at chromium.org wrote:

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.

---

 drivers/video/fonts/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Applied to u-boot-video/master, thanks!

--
Anatolij

#4 lore raw

PATCH 3/3 video: rockchip: Use TrueType fonts with jerry

In reply to Simon Glass

As an example of how to enable TrueType fonts, move chromebook_jerry over to use these.

---

 configs/chromebook_jerry_defconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
configs/chromebook_jerry_defconfig +2 -1
index d892d65bf0a..94a1af01be0 100644
@@ -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
Signature · 1 line
2.20.1.415.g653613c723-goog
#6 lore raw

PATCH 3/3 video: rockchip: Use TrueType fonts with jerry

In reply to Simon Glass
Quoted 8 lines · On Thu, 27 Dec 2018 15:25:19 -0700 Simon Glass sjg at chromium.org wrote:

As an example of how to enable TrueType fonts, move chromebook_jerry over to use these.

---

 configs/chromebook_jerry_defconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Applied to u-boot-video/master, thanks!

--
Anatolij

#8 lore raw

PATCH 1/3 video: Add information about using TrueType fonts

In reply to Simon Glass

Hi Simon,

Quoted 11 lines · On Thu, 27 Dec 2018 15:25:17 -0700 Simon Glass sjg at chromium.org wrote:

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.

---

 doc/README.video | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Applied to u-boot-video/master, thanks!

--
Anatolij