servo / servo/font-kit

Fallback list in select_best_match

Open
#62 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug enhancement
Dominant language
Rust
Stars
840
Forks
137
Avg merge
4h 56m
Merged PRs (30d)
1

Description

Currently, fonts for sans/serif/monospace/fantasy/etc. are hardcoded for Win and Mac. And there are only one font for each type.

The problem is that it doesn't guarantee that this font is present. For example, a default Win10 contains the Impact font, but the one used by TravisCI - doesn't.

Here is the list of font families available in a Travis instance:

  • Arial
  • Bahnschrift
  • Calibri
  • Cambria
  • Cambria Math
  • Comic Sans MS
  • Consolas
  • Courier New
  • Ebrima
  • Gadugi
  • Georgia
  • Ink Free
  • Javanese Text
  • Leelawadee UI
  • Lucida Console
  • Malgun Gothic
  • Microsoft Himalaya
  • Microsoft JhengHei
  • Microsoft JhengHei UI
  • Microsoft New Tai Lue
  • Microsoft PhagsPa
  • Microsoft Tai Le
  • Microsoft YaHei
  • Microsoft YaHei UI
  • Microsoft Yi Baiti
  • Mongolian Baiti
  • MV Boli
  • Myanmar Text
  • Nirmala UI
  • Segoe MDL2 Assets
  • Segoe Print
  • Segoe UI
  • Segoe UI Emoji
  • Segoe UI Historic
  • Segoe UI Symbol
  • SimSun
  • NSimSun
  • Times New Roman
  • Trebuchet MS
  • Verdana
  • Webdings
  • Wingdings
  • Yu Gothic
  • Yu Gothic UI

Not sure with one we can use as fantasy. Maybe Ink Free?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the select_best_match entry point and review the hardcoded Windows and Mac fallback font lists. Compare the current choices with the TravisCI font-family list in the issue, then define and test fallback lists that account for unavailable fonts across platforms, including the unresolved fantasy-family choice.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.