Chrome has default font fallbacks set up on a per-script, per-OS basis. See for example https://chromium.googlesource.com/chromium/src/+/master/chrome/app/resources/locale_settings_mac.grd#160, which is the default font for characters in the Japanese-language script.

Electron does not set up these font fallbacks, and as a result, font rendering in those scripts does not match that of Chrome. Further, it's impossible to set it up on the app side to use the appropriate font fallbacks, because of #15480.
atom/browser/atom_browser_client.cc
OutOfProcessServiceMap* services) {
  (*services)[proxy_resolver::mojom::kProxyResolverServiceName] =
      base::BindRepeating(&l10n_util::GetStringUTF16,
                          IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME);
#if BUILDFLAG(ENABLE_PRINTING)
  (*services)[printing::mojom::kChromePrintingServiceName] =
      base::BindRepeating(&l10n_util::GetStringUTF16,
                          IDS_UTILITY_PROCESS_PRINTING_SERVICE_NAME);
#endif
}
std::unique_ptr<base::Value> AtomBrowserClient::GetServiceManifestOverlay(
    base::StringPiece name) {
  ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
  int id = -1;
  if (name == content::mojom::kBrowserServiceName)
    id = IDR_ELECTRON_CONTENT_BROWSER_MANIFEST_OVERLAY;
  else if (name == content::mojom::kPackagedServicesServiceName)
    id = IDR_ELECTRON_CONTENT_PACKAGED_SERVICES_MANIFEST_OVERLAY;
  if (id == -1)
    return nullptr;
  base::StringPiece manifest_contents = rb.GetRawDataResource(id);
  return base::JSONReader::Read(manifest_contents);
}
net::NetLog* AtomBrowserClient::GetNetLog() {