Terminal: Epic: Add configuration options for font rendering things (fallback, line height, ligatures, ...)

Created on 3 Jul 2019  Â·  10Comments  Â·  Source: microsoft/terminal

  • [ ] Implement ligature option (#759)
  • [ ] Implement configurable fallback (#2664)
  • [x] Implement antialiasing flags (#1298)
  • [ ] Implement _vertical_ antialiasing flags (#5093)
  • [ ] Configurable line height / spacing (#3498)
  • [ ] An option to disable colour font emoji (#956)
  • [x] Add configuration for font weight (#1751)
  • [ ] Add configuration for font width / other generic variation (#5828)
  • [ ] consider grouping font-related configuration into a single object (#6049)

consider (backlog)

  • [ ] #6678 should we support fractional point sizes?

original content

This is a summary from #714 #455

  • To properly handle box drawing characters we may need ability to explicitly set line height in pixels (to avoid rounding error). We may also need baseline position settings to avoid clipping.
  • For the arrow issue, we may need the ability to support specifying a fallback sequence of fonts rather than a master font, pretty like how CSS works.

    • We may also need some method to allow WT to change how it measure characters in a fallen font?

  • Option for antialiasing modes — at least for the case that the console's background _isn’t_ transparent.
Area-Rendering Issue-Feature Product-Terminal

Most helpful comment

Colour vs Monocoloured Emoji's would be a good option to include too

All 10 comments

Should we should move these things into #759 and make that the master issue for font rendering options? @miniksa.

Congrats, _this_ is now the epic for font rendering settings.

I think one more interesting thing is to redefine certain characters' "width", in both rendering and cell allocation. For example, if someone is working frequently with Japanese applications, they may want box-drawing characters to become full-width.

Eagerly awaiting this in general, but perhaps especially for disabling ligatures and changing line heights.

Source Code Pro

Lucida Sans Console

I agree this would be "epic"

Colour vs Monocoloured Emoji's would be a good option to include too

Could this be a good away to handle the Block Drawing characters? Enable Terminal to override the font characters, so even with increased line spacing, the various shapes and lines will still connect horizontally, vertically, and diagonally. #5897 #5743 #455

@mdtauk #5897 is a better place to discuss that.

@mdtauk #5897 is a better place to discuss that.

Sure to discuss the implementation, but I meant would the font section of the settings be the best place to handle allowing an override option?

I suspect the "font fallback" task may become more highly requested when oh-my-posh v3 is released (it's currently in beta). It defaults to using characters that aren't in Cascadia Code, so without font fallback many people will have to switch to one of:

  • Meslo, as recommended by the oh-my-posh project
  • Caskaydia Cove, the nerd-font patched version of Cascadia Code

Another alternative is adding the missing characters directly to Cascadia Code, which would sidestep the font fallback. @aaronbell was trying to get approval for that in https://github.com/microsoft/cascadia-code/issues/210#issuecomment-561490170

Was this page helpful?
0 / 5 - 0 ratings

Related issues

wkbrd picture wkbrd  Â·  3Comments

dev-logan picture dev-logan  Â·  3Comments

warpdesign picture warpdesign  Â·  3Comments

ghvanderweg picture ghvanderweg  Â·  3Comments

miniksa picture miniksa  Â·  3Comments