Hi tech@, Here is a diff to modify rasops_list_font_cb() to not filter out fonts with different sizes than the currently used one. This allows getting a list of all loaded fonts when using the WSDISPLAYIO_LSFONT ioctl.
Currently, the output of wsfontload -l on my machine is: # Name Encoding W H 0 Spleen 12x24 iso 12 24 With the diff applied: # Name Encoding W H 0 Spleen 8x16 iso 8 16 1 Spleen 12x24 iso 12 24 2 Spleen 16x32 iso 16 32 3 Spleen 32x64 iso 32 64 On top of allowing to see all fonts which are currently loaded, it removes the confusion as to why we reach the WSDISPLAY_MAXFONTCOUNT limit faster than expected when loading more fonts. It is also a first step towards allowing loading and enabling fonts of different sizes. Comments? OK? Index: sys/dev/rasops/rasops.c =================================================================== RCS file: /cvs/src/sys/dev/rasops/rasops.c,v retrieving revision 1.58 diff -u -p -r1.58 rasops.c --- sys/dev/rasops/rasops.c 9 Jan 2019 11:23:32 -0000 1.58 +++ sys/dev/rasops/rasops.c 15 Mar 2019 22:57:43 -0000 @@ -1899,10 +1899,6 @@ rasops_list_font_cb(void *cbarg, struct { struct rasops_list_font_ctx *ctx = cbarg; - if (font->fontheight != ctx->ri->ri_font->fontheight || - font->fontwidth != ctx->ri->ri_font->fontwidth) - return 0; - if (ctx->cnt-- == 0) { ctx->font = font; return 1;