Шрифт вменяемого значка предлагает замену лигатуры GSUB, поэтому, если ваш текст содержит последовательность кодовых точек (например, связанных с c + a + r
), шрифт выполняет преобразование во внутренний глиф (например, автомобиль).значок), поэтому при наборе вы видите это:
c
co
com
comp
compu
comput
compute
?
Вы ввели «компьютер», как только шрифт видит это последнее r
, оно запускает правило GSUB для c + o + m + p + u + t + e + r -> internal_id_24663
и формирует текст таким образомзамена вместо этого.
Конечно, если внутренний идентификатор глифа предоставляется через таблицу CMAP, вы также можете просто получить прямой доступ к глифу, просто указав USHORT, которому будет присвоен шрифт.В вашем примере вы прямо указываете свой значок Fontawesome, записывая его вне кодовой точки Unicode, используя шестнадцатеричное значение, а не «букву»: шрифт использует (теперь уже по умолчанию стандарт) отображение Unicode, не зависящее от платформы, и вы спросилидля глифа, связанного с кодовой точкой 0xF017, которая находится в блоке «Область частного использования» (диапазон кодовых точек от E0x000` до 0xF8FF, для которых не заданы метки для каждой точки: поставщики могут поместить в них все, что им нужно,и не гарантируется разрешение одного и того же символа между версиями).
Я написал о внутренних шрифтах, включая эти части, на http://pomax.github.io/CFF-glyphlet-fonts