Skip to content

[Enhancement] non-latin glyph support via multiple TrueTypeFont files simultaneously #1613

Description

@paulgevers

Finding glyphs
lms has support to show non-latin glyphs on Squeezeboxes with a display via loading of one TrueTypeFont file. While this is already really nice, there are two minor issues with the current implementation:

  1. Most font files only cover a set of glyphs, so you need to find a font file that covers all glyphs one cares about. Ideally multiple fonts should be tried (in some order) to find the glyph. Often enough font files are already installed on ones system.
  2. lms treats the font file as an extension of the latin bmp files by name of the bmp. Which means that if you use a plugin to change the font for the latin glyphs, the non-latin glyphs don't get shown while using that font.

Expected behavior
In the perfect world lms would display any glyph perfectly on the Squeezebox without any action from the user, regardless of which bitmap font is chosen. As that's clearly too much to ask for, I can come up with several alternatives for point 1) above:

  1. lms searches common places in the operating system and uses any font file that is able to display a missing glyph from the bmp file without user interaction.
  2. Same as 1) but with the option to choice the order in which font files are searched for the missing glyph, e.g. via a drop down menu.
  3. Enable the user to provide an ordered list of paths to font files in searching order.

Maybe a user would want to use a font from a font file even for the latin glyphs.

System Information (please complete the following information):

  • OS on which you're running LMS: Debian testing/forky
  • Hardware on which you're running LMS: x86_64
  • Web skin used: Default
  • Browser: Firefox
  • LMS Version: 9.1.1
  • Player(s) involved: Squeezebox Classic and Squeezebox Receiver

Activity

  1. mavit commented on Jul 17, 2026

    @mavit
    Contributor

    I admit, "use fontconfig somehow" was something that crossed my mind as what we'd ideally do when I wanted to eliminate the bundling of the CODE2000 font. Seems like a relatively large piece of work for something that only affects legacy hardware, though, and, presumably, supporting every operating system makes it more complicated that it might otherwise be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions