unicode-range
Имовина у ЦСС-у се користе од стране @font-face
да се дефинише ликове које подржава фонтова лицу.
@font-face ( font-family: 'MyWebFont'; /* Define the custom font name */ src: url('myfont.woff2') format('woff2'), url('myfont.woff') format('woff'); /* Define where the font can be downloaded */ unicode-range: U+00-FF; /* Define the available characters */ )
Другим речима, @font-face
позваће се на својство и утврдити да ли треба да преузме и користи фонт на основу тога да ли се знакови или опсег знакова подударају са онима у ХТМЛ документу.
Лице фонта: Хеј ХТМЛ, да ли се било који од следећих знакова подудара са оним што је на страници?
ХТМЛ: Да, гомила њих то зна.
Фонт-Фаце: Супер, ево датотеке фонта коју бисте требали преузети да бисте приказали те знакове.
Важна семантичка разлика коју бисмо овде требали позвати је та да unicode-range
одређује за које знакове фонт може да се користи, а не за то које знакове је фонт доступан. Другим речима, ако прогласимо да unicode-range
се @font-face
а и знакови учитани у ХТМЛ документ подударају са тим опсегом, фонт ће се преузети и ставити у употребу.
Можете да замислите предности перформанси које се отварају са овом особином. На пример, прилагођени фонт можемо учитати само ако садржи одређене знакове, уместо да увек учитава фонт у свим ситуацијама.
Постоји чак и начин да се комбинују два @font-face
сета на истој font-face
декларацији имовине, захваљујући згодном трику који је делио Јаке Арцхибалд. Идеја је да један @font-face
скуп надјача други на основу подударних unicode-range
, оптимизирајућих перформанси или једноставно побољшавајући типографију на страници.
Вредности
Било који код или опсег Уницоде знакова је прихватљива unicode-range
вредност. Приметићете да уницоде тачкама претходи U+
и до шест знакова који чине код карактера. Тачке или опсези који се не придржавају овог формата сматрају се неважећим и довешће до занемаривања својства.
- Један знак (нпр.
U+26
) - Распон знакова (нпр.
U+0025-00FF
) - Опсег џокер знакова (нпр.
U+4??
)
Вилдцард Ранге је зезнут. Сваки ?
представља џокер где се било која вредност подудара. Помислили бисте да то значи да можете заменити целу ствар нечим овако:
@font-face ( font-family: 'MyWebFont'; src: url('myfont.woff2') format('woff2'), url('myfont.woff') format('woff'); unicode-range: U+??????; /* This does not work! */ )
Међутим, ово неће успети. Разлог је тај што вођење са ?
подразумева код карактера који води са 0
, што значи да се може користити до пет знакова питања, упркос томе што уницодес прихватају до шест укупних знакова.
@font-face ( font-family: 'MyWebFont'; src: url('myfont.woff2') format('woff2'), url('myfont.woff') format('woff'); unicode-range: U+?????; /* This works and is equivalent to U+0????? */ )
Постоји гомила уницоде опција. Основни латиница ( 0020-007F
) је вероватно најчешћи опсег за енглеске веб локације, али уницоде-табле.цом пружа свеобухватан списак свих расположивих опсега са кодовима за одређене знакове.
Подршка прегледача
Подаци о подршци за прегледач су од компаније Цаниусе, која садржи више детаља. Број указује на то да прегледач подржава функцију у тој верзији и новијој.
Десктоп
Хром | Фирефок | ИЕ | Ивица | Сафари |
---|---|---|---|---|
36 | 44 | 11 | 17 | 10 |
Мобиле / Таблет
Андроид Цхроме | Андроид Фирефок | Андроид | иОС Сафари |
---|---|---|---|
88 | 85 | 81 | 10.0-10.2 |
Додатна литература
- Спецификација нивоа 3 модула фонтова ЦСС
- Табела Уницоде: Ресурс који упућује на скупове и кодове Уницоде знакова.
- Коришћење @ фонт-фаце: ЦСС-Трицкс пост који описује како се
@font-face
ради са различитим техникама и примерима рада. - Каква је ствар са декларисањем својстава фонта на @ фонт-фаце ?: ЦСС-Трицкс пост који је повезан колико се подударајуће вредности у својствима фонта могу користити да би се утврдило да ли прилагођени фонт преузима и користи прегледач.