О граблях SVG-иконок

Jun 03, 2016 00:35


Четыре года назад я жаловался на тенденцию запихивать векторные иконки в кастомные шрифты и стучал ногами, что надо использовать SVG. В этом году ГитХаб это сделал.

Ну и что же мы теперь имеем: мыло.

Потому что в шрифтах есть хинтинг, привязывающий тонкие линии к пиксельной сетке. А в SVG его ещё нет.

Поэтому вот они нарисовали иконки, выровняли их так, чтоб при дефолтных стилях было чётко, ну и всё. А я предпочитаю шрифт достаточного размера и интерлиньяж посвободнее, и у меня на рабочем месте они съезжают на полпикселя. Причём не все. (На домашней машине у меня HiDPI, поэтому SVG-иконки выглядят просто отлично.)

По-правильному, надо в SVG для тех линий, которые важно привязать к сетке, указывать атрибут shape-rendering="crispEdges". Но в качестве костыля можно накладывать его сверху при помощи юзерстиля. Только для тех иконок, где есть тонкие вертикальные или горизонтальные линии.

@namespace svg url(http://www.w3.org/2000/svg); @-moz-document domain("github.com") { .octicon-plus, .octicon-file-directory, .octicon-file-text, .octicon-graph, .octicon-book, .octicon-trashcan, .octicon-repo, .octicon-comment { shape-rendering: crispEdges !important; position: relative; left: 0.1px } } This entry was originally posted at http://yurikhan.dreamwidth.org/64693.html.

github, svg, web, icons

Previous post Next post
Up