[PATCH v8 00/10] vidconsole: refactoring and support for wider fonts

Dzmitry Sankouski dsankouski at gmail.com
Tue Mar 7 11:21:10 CET 2023


Version 7 has vidconsole_get_font_size() function reworked to use
driver ops.

Version 6 contains entire rebased patch series.
New patch 'move vidconsole_get_font_size() to test.h' added.

Version 5 contain minor changes:
- move common functions to console-core.c file
- remove static keyword from shared functions

In version 4, only first patch sent, because review fixes to this would add
large rebase & patch formatting overhead. When it'll receive reviewed tag,
I'll resent entire rebased series.

Modern mobile phones typically have high pixel density.
Bootmenu is hardly readable on those with 8x16 font.

This patch series aims to add wider fonts for devices with high ppi.

Add 16x32, 12x22 fonts from linux, and allow font size configuration.

There was significant changes in version 2:
- fix video tests failures
- add runtime font size configuration
- add test for 12x22 font

In version 3,
'video console: add select font logic to vidconsole uclass driver'
patch was removed in favor of already merged patch
'video: Add font functions to the vidconsole API'

Changes in v8:
- fix build with disabled CONFIG_VIDEO_COPY
- add 12X22 font to sandox defconfig

Dzmitry Sankouski (10):
  video console: refactoring and optimization
  video console: add support for fonts wider than 1 byte
  video console: move 8x16 font data in named header
  video console: implement multiple fonts configuration
  video console: move vidconsole_get_font_size() logic to driver ops
  video console: allow font size configuration at runtime
  video console: add 12x22 Sun font from linux
  video console: add 16x32 Terminus font from linux
  video console: sandbox: add 12x22 font defconfigs
  video console: add 12x22 console simple font test

 cmd/Kconfig                         |    8 +
 cmd/Makefile                        |    2 +-
 cmd/font.c                          |    6 +-
 common/splash.c                     |   17 +-
 configs/sandbox_defconfig           |    1 +
 configs/sandbox_flattree_defconfig  |    1 +
 drivers/video/Kconfig               |   30 +
 drivers/video/Makefile              |    6 +
 drivers/video/console_core.c        |  212 +
 drivers/video/console_normal.c      |  177 +-
 drivers/video/console_rotate.c      |  371 +-
 drivers/video/console_truetype.c    |    3 +-
 drivers/video/vidconsole-uclass.c   |   11 +
 drivers/video/vidconsole_internal.h |  120 +
 include/video_console.h             |   17 +-
 include/video_font.h                |   31 +-
 include/video_font_4x6.h            |   11 +-
 include/video_font_8x16.h           | 4624 ++++++++++++++++++++
 include/video_font_data.h           | 4644 +-------------------
 include/video_font_sun12x22.h       | 6158 +++++++++++++++++++++++++++
 include/video_font_ter16x32.h       | 2062 +++++++++
 test/cmd/font.c                     |   13 +-
 test/dm/video.c                     |   41 +
 23 files changed, 13518 insertions(+), 5048 deletions(-)
 create mode 100644 drivers/video/console_core.c
 create mode 100644 drivers/video/vidconsole_internal.h
 create mode 100644 include/video_font_8x16.h
 create mode 100644 include/video_font_sun12x22.h
 create mode 100644 include/video_font_ter16x32.h

-- 
2.30.2



More information about the U-Boot mailing list