Нет прямого способа определить, был ли какой-либо конкретный символ представлен полезным способом. Все, что вы можете сделать из JavaScript, это создать <span>
, содержащий один (или несколько) целевого символа в целевом шрифте, и сравнить его ширину с другим <span>
, содержащим такое же количество символов, которое вы не будете отображать. полезно (*). Если они имеют одинаковую ширину, скорее всего, у вас есть множество ящиков или вопросительных знаков в каждом, так что вы можете принять меры резервного копирования, такие как добавление изображения.
Так как это довольно много раздражает, вы можете предпочесть просто пойти на изображение. Или вы можете попробовать использовать встраивание @font-face
в современных браузерах, чтобы использовать шрифт заведомо хорошего качества. Поскольку обычно IE имеет плохую поддержку отката шрифтов Unicode, обязательно включите шрифт EOT.
(*: вы можете попробовать символ, который в настоящее время не назначен и, будем надеяться, останется таким, например. U + 08FF, или гарантированно-недействительный символ, такой как U + FFFF, хотя сомнительно, что вам разрешено помещать его HTML-документ.)