We use Skia matchFamilyStyleCharacter() API to find the default font with a list of locales. This works good for the system font fallback.
Generic font families requires specified characteristics, such as serif or monospace. Currently on Android:
* We give the generic font families as is to Skia, but it doesn't contain locale.
* CJK will then be system fallback for all characters. To avoid system fallback performance hit, we ignore generic font families and use matchFamilyStyleCharacter() for CJK.
We need an API that returns the best font for the specified generic font family name and locale. Without this, we're likely to end up a hard coded list of font names, the same way we do for Windows.
Originally from issue 640077 .