Skip to content

Frames and special characters from bitmap TTF font are not visible #7927

Closed

Description

@atlka
Windows 10 Pro

Platform ServicePack Version      VersionString
-------- ----------- -------      -------------
 Win32NT             10.0.19041.0 Microsoft Windows NT 10.0.19041.0

Windows Terminal
Version: 1.3.2651.0

Steps to reproduce

Use TTF font containing only embeded bitmaps, for example https://www.pg.gda.pl/~atlka/fonts/terminusa.ttf with 12pt size and 96DPI (no scaling) screen settings.
In the profile settings.json insert:

"fontFace": "Terminusa",
"fontSize": 12,

Expected behavior

All bitmap glyphs form bitmap font are displayed on the terminal like in the cmd.exe window.

Actual behavior

You can see letters and digits but no special chars and frames - they are just blanks.

Activity

  1. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Oct 15, 2020
  2. ghost added
    Needs-Tag-FixDoesn't match tag requirements
    on Oct 15, 2020
  3. zadjii-msft commented on Oct 15, 2020

    @zadjii-msft
    Member

    no special chars and frames

    What characters are you trying to output exactly? The exact UTF-8 encoding of the characters would help here immensely, or even just copy-pasting the character into github

  4. ghost added
    Needs-AttentionThe core contributors need to come back around and look at this ASAP.
    on Oct 15, 2020
  5. ghost removed
    Needs-Author-FeedbackThe original author of the issue/PR needs to come back and respond to something
    on Oct 15, 2020
  6. atlka commented on Oct 15, 2020

    @atlka
    Author

    far with Windows Terminal example:
    far-windows-terminal

    far with Cmd.exe example:
    far-cmd

    Cmd.exe with ssh.exe and test UTF8 file:
    box-drawing

    With Windows Terminal we can see only blanks here.
    If I try to display a char which glyph is not included in bitmap font Windows Terminal displays it, probably substituting it from other font - the default Cascadia font I think.

  7. added
    Issue-BugIt either shouldn't be doing this or needs an investigation.
    and removed
    Needs-AttentionThe core contributors need to come back around and look at this ASAP.
    on Oct 15, 2020
  8. ghost removed
    Needs-Tag-FixDoesn't match tag requirements
    on Oct 15, 2020
  9. DHowett commented on Oct 16, 2020

    @DHowett
    Member

    oh my gosh, you're totally right!

    /cc Michael Niksa (@miniksa) for fun

    When we get the geometries from the font for the box-drawing characters, there aren't any. This is obvious in retrospect. I totally forgot that TTF files with bitmap strikes were a thing.

  10. 5 remaining items

  11. atlka commented on Jun 4, 2021

    @atlka
    Author
  12. wolf99 commented on Jun 4, 2021

    @wolf99
    Contributor

    I would tend to agree with Adam Tlałka (@atlka).
    I have noticed this when using tig (https://jonas.github.io/tig/). The git graph therein no longer shows any lines.
    This worked just fine in previous versions so this is a regression rather than a feature IMHO.

  13. tsu-kunn commented on Sep 8, 2021

    @tsu-kunn

    I would tend to agree with Adam Tlałka (@atlka).
    I don't have this problem with VSCode or Git Bash, and I hope it will be fixed.

  14. atlka commented on Sep 30, 2021

    @atlka
    Author
  15. miniksa commented on Oct 6, 2021

    @miniksa
    Contributor

    I hear what you're saying. We just only have so many folks to go around on fixing issues. We'd happily welcome a community submission here if someone knows how to detect a font with bitmaps embedded here in our DirectX engine route and make it do the old behavior.

    From our perspective, this likely remains a priority 3 just because it's a graphical glitch that can be self-serviced by the user through changing to a different font. That's not to say it isn't important, but it is ranking lower than all the accessibility and crash and default application bugs and such that we've been juggling as of late. I'm sorry it's taking so long.

  16. sophec commented on Oct 20, 2021

    @sophec

    Just out of curiosity, why does this affect only some fonts (or so it seems)? I don't know much about fonts, and using cozette works fine for me (box drawing characters and such all show up just fine) using the "vector" TTF. I presume it's because cozette supplies more information than some fonts do?

  17. tidux commented on Oct 25, 2021

    @tidux

    @willeccles some fonts are defined as fixed size sets of bitmaps, rather than sets of vectors for dynamic font sizes. For a Windows centric example, Courier New is a vector font and Courier is a bitmap font. Vector fonts are generally considered more modern, and are the default in most places for a good reason, but bitmap fonts have absolutely zero blurring and distortion, so many people prefer them for long sessions of work in terminals to reduce eye strain. This issue applies specifically to bitmap fonts.

  18. miniksa commented on Nov 3, 2021

    @miniksa
    Contributor

    I have a feeling like this might be enabled by #11623 in the future.

  19. lhecker commented on May 3, 2023

    @lhecker
    Member

    Sorry for taking such a long time, but I believe this issue has been fixed in #14959. Here's how it looks like now:

    image

    Other bitmap fonts, like Terminus TTF also work much better now (although that one in particular requires you to manually adjust the "cellHeight" - see #14255). This change will ship in 1.18 later this month.

  20. atlka commented on May 4, 2023

    @atlka
    Author
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

    Area-FontsRelated to the fontHelp WantedWe encourage anyone to jump in on these.Issue-BugIt either shouldn't be doing this or needs an investigation.Needs-Tag-FixDoesn't match tag requirementsPriority-3A description (P3)Product-TerminalThe new Windows Terminal.

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions