Комментарии 15
[Прим. пер.: на этом моменте статьи выяснилось, что редактор статей Хабра при сохранении обрывает текст на непонятных ему символах, в частности, на иероглифах и эмодзи.
Вероятнее всего в таблице MySQL у Хабра сравнение general_ci, а для такой задачи нужно utf8mb4.
Нужно специально модифицировать способ хранения строки в базе данных, чтобы получить возможность хранить эмодзи (впрочем, для Хабра это вроде бы не очень частая проблема?).
+1
впрочем, для Хабра это вроде бы не очень частая проблема?
Достаточно частая, чтоб знать об этом. С учётом особенностей ресурса, невозможность оперировать полноценным utf-8 можно считать критичным багом.
+2
Вероятнее всего в таблице MySQL у Хабра сравнение general_ci, а для такой задачи нужно utf8mb4.
В таком случае, попытка вставки строки в базу вообще завершится ошибкой, а не отсечением части строки.
0
Почему-то вспомнилось
0
Работа на уровне символов означает, что браузер или операционная система проходит всю цепочку font fallback для каждой отдельной буквы, которую вы просите их вывести. Если в шрифте нет этого конкретного символа, то проверяется следующий шрифт в списке, и так далее.
Дело не только в том, что популярные шрифты не содержат математических символов или специализированных алфавитов. Буквы некоторых из показанных выше «стилей» прыгают между разными частями Unicode. И поэтому большинство из них откатывается к каким-то шрифтам глубоко внутри системы, а поскольку font fallback так сильно различается на разных платформах, мы никак не сможем точно узнать, как всё будет выглядеть на другой стороне.
Возможно, в свете последних событий возникнет наконец-то хоть какое-то подобие понимание логики работы фонтмаппера Windows.
Спасибо за перевод. Отдельная признательность за труды по вёрстке статьи, которых полагаю, понадобилось немало, чтобы статья выглядела как должна.
+1
Была интересная история, когда никак не мог понять, почему на одном из компов во время печати в документе появляется пустой лист, оказалось, что винда почему-то не подгружала кастомный шрифт, который в системе был установлен, текст на несколько пикселов увеличивался и страница и вылазила на второй лист. А прикол был в том, что шрифты были очень похожи, и не сразу понял, что они разные на самом документе.
0
Какая статья про fallback символов не обходится без тофу! Просто прекрасная иллюстрация. :)
В частности, у меня не поддерживается символ per, как и на печатных машинках 19 века:
В частности, у меня не поддерживается символ per, как и на печатных машинках 19 века:
+2
Исходя из текущей скорости печатания эмодзи, когда нам ожидать окончания выделенного для них пространства? И когда переход на UNICODEv6?
0
1. «In total there are 3304 emojis in the Unicode Standard».
2. Лимит юникода «1111998: 17 planes × 65,536 characters per plane — 2048 surrogates — 66 noncharacters»
3. Юникод 13.0 — 143859 символов.
Что имеем:
Использовано сейчас — ~144 тыс. Эмодзи сейчас примерно 2% от всех символов. Добавляют не больше сотни с каждой ревизией.
Да, я сам далеко не любитель эмодзи. Не использую их сам. Но масштаб бедствия «засрём весь юникод и он кончится» преувеличен.
Вопрос про переход на v6 вообще неясен.Кому адресован? Автору? Переводчику? Хабру? И почему v6, ему уже 10 лет? короче что хотели-то?)
2. Лимит юникода «1111998: 17 planes × 65,536 characters per plane — 2048 surrogates — 66 noncharacters»
3. Юникод 13.0 — 143859 символов.
Что имеем:
Использовано сейчас — ~144 тыс. Эмодзи сейчас примерно 2% от всех символов. Добавляют не больше сотни с каждой ревизией.
Да, я сам далеко не любитель эмодзи. Не использую их сам. Но масштаб бедствия «засрём весь юникод и он кончится» преувеличен.
Вопрос про переход на v6 вообще неясен.Кому адресован? Автору? Переводчику? Хабру? И почему v6, ему уже 10 лет? короче что хотели-то?)
+2
Я бы не этого боялся, а возврата к наскальной живописи вместо письменности.
0
Крайне интересная статья для общего развития.
Единственное, я таки запутался в моментах применения .LastResort, Replacement Character и .notdef и их различиях.
Единственное, я таки запутался в моментах применения .LastResort, Replacement Character и .notdef и их различиях.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Система font fallback: что происходит, когда шрифт не может найти нужный символ