#javascript #react-native
#javascript #react-native
Вопрос:
Браузеры очень умные. https://css-tricks.com/css-basics-fallback-font-stacks-robust-web-typography / Они могут сами определить, какие символы не могут быть отображены фактическим шрифтом, и отобразить символы с помощью резервного копирования.
К сожалению, у нас нет такой сообразительности в чистом JS или фреймворках, таких как React Native: https://github.com/facebook/react-native/issues/32396
Поэтому я должен сам создать это поведение для своего приложения react native.
Как я могу проверить в чистом javascript, не может ли шрифт отобразить определенный символ (например, кандзи), чтобы я мог сам отобразить этот конкретный символ с помощью резервного шрифта?
(Я могу узнать, какой шрифт нужен символу с помощью unicode, но я не хочу делать это при каждом рендеринге текста, потому что это потребляло бы ресурсы (верно? или это нормально делать? представьте, что текст содержит 500 символов, это будет 500 вызовов функций)). в любом случае, я думаю, что это лучший подход (правильно ли это), чтобы делать этот материал в юникоде только onError
Итак, как можно узнать в чистом javascript, не могут ли некоторые символы отображаться шрифтом? Я в основном хочу получать уведомления об ошибке, полезной нагрузкой должна быть позиция символов в строке.
Я знаю, что мог бы выяснить это, если бы я регулярно проверял поддерживаемый юникод моим шрифтом на соответствие юникоду текста, но это снова потребляло бы ресурсы. Я хочу просто отобразить текст в React Native, а затем onError перехватит ошибки и отобразит нерабочие символы другим рабочим резервным шрифтом.
заранее спасибо!!
Комментарии:
1. Я думаю, вам следует объединить шрифты вручную с помощью fontforge или что-то в этом роде.