Je fais une page Web qui est en partie en chinois. J'utilise le codage UTF-8 pour tout le texte. La page contient des parties en chinois, mélangées avec des lettres occidentales. La police que j'utilise pour le texte occidental ne contient pas de caractères chinois. Je souhaite donc que la police chinoise disponible sur l'ordinateur de l'utilisateur soit utilisée pour restituer les caractères chinois (les polices btw chinois sont super grandes et ne peuvent pas être téléchargées à la volée.) ).
Puis-je simplement mettre les caractères chinois au milieu de l'autre texte et m'attendre à ce que le navigateur trouve une police chinoise pour les restituer (si je ne me soucie pas de la police dans laquelle il est rendu), ou dois-je spécifier la police chinoise dans d'une certaine façon?
Comment dois-je spécifier la police de caractères pour le texte chinois afin de m'assurer que le navigateur de l'utilisateur affiche 你好 et non □□?
Sur mon navigateur (Firefox 56.0), l'exemple ci-dessous rend le texte chinois correct (bien sûr, une police chinoise est installée sur l'ordinateur) dans les deux <span>
s. Tout le texte chinois est affiché dans la même police. Le navigateur peut donc en quelque sorte trouver la police contenant les glyphes utilisés dans le texte, même si je n'ai spécifié le nom d'aucune police contenant des glyphes chinois. ... Je ne sais pas comment ça marche: |
<!doctype html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<style>
span.serif {
font-family: "serif";
}
span.courier {
font-family: "courier";
}
</style>
</head>
<body>
<span class='serif'>123, wazzup? 一二三,你好嗎?</span><br />
<span class='courier'>123, wazzup? 一二三,你好嗎?</span>
</body>
</html>
Ce qui précède est rendu comme ceci sur mon ordinateur:
Si la police spécifiée ne contient pas de glyphe pour un caractère, les navigateurs utilisent généralement tilisez une police de remplacement pour restituer ce caractère.
Les navigateurs n'ont pas faire cela, bien sûr, et son fonctionnement peut également dépendre du système d'exploitation. Mais ce serait vraiment surprenant s'il y avait des navigateurs qui n'en avaient pas N'utilisez pas de polices de remplacement, sans compter que de nombreux agents utilisateurs ne prennent même pas en charge les CSS, tels que les navigateurs de texte, les lecteurs de flux, etc., vous ne pouvez même pas spécifier de police pour commencer.)
Si aucune police appropriée n'est trouvée, un " glyphe de remplacement " (ou "tofu"; souvent, mais pas nécessairement , quelque chose comme "□") sera affiché à cet effet. personnage.
Les algorithmes définis par CSS:
Donc, à moins que vous ne connaissiez un agent utilisateur qui ne le gère pas, je ne m'en inquiéterais pas. Mais, idéalement, utilisez toujours l'attribut lang
(dans ce contexte, cela pourrait aider les navigateurs "à sélectionner des polices adaptées à la langue" en tant que solutions de repli).
Si vous vous souciez de l'harmonie visuelle, des familles de polices telles que Noto ou bunt pourraient vous intéresser. Ils essaient de couvrir toutes les langues/tous les scripts, en les rendant de manière compatible visuellement (par exemple, même hauteur, etc.).
你好嗎
. Ces caractères codés montreront n’importe quel navigateur, quel que soit le codage.