Lorsqu'un navigateur affiche du texte dans une police spécifiée par le code HTML ou par le navigateur, il peut rencontrer des caractères qui ne sont pas présents dans cette police.
C'est notamment le cas lorsque l'encodage de la page Web est au format UTF-8, par exemple, aucune police n'incluant le million de caractères défini par Unicode.
Au cours des décennies précédentes, les navigateurs affichaient un caractère de substitution, tel qu'un carré vide ou un diamant, à la place de ce caractère.
Depuis un certain temps déjà, la plupart des navigateurs, lorsqu'ils ont besoin d'afficher un caractère n'appartenant pas à la police actuelle, vont désormais rechercher efficacement dans toutes les polices installées sur l'ordinateur jusqu'à ce qu'ils trouvent une police contenant le caractère requis. Cela signifie que les navigateurs sont beaucoup moins susceptibles d'afficher des caractères sous forme de carrés vides.
Des versions plus récentes d'applications Microsoft telles que le Bloc-notes font maintenant quelque chose de similaire. Ces applications utilisent maintenant les bibliothèques système qui effectuent cette recherche en recherchant des caractères non disponibles dans la police en cours.