<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Блокнотик Centaur’а</title>
  <link>https://yurikhan.dreamwidth.org/</link>
  <description>Блокнотик Centaur’а - Dreamwidth Studios</description>
  <lastBuildDate>Thu, 02 Jun 2016 18:52:05 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>yurikhan</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>https://v2.dreamwidth.org/15796844/1181104</url>
    <title>Блокнотик Centaur’а</title>
    <link>https://yurikhan.dreamwidth.org/</link>
    <width>100</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>https://yurikhan.dreamwidth.org/64693.html</guid>
  <pubDate>Thu, 02 Jun 2016 18:52:05 GMT</pubDate>
  <title>О граблях SVG-иконок</title>
  <link>https://yurikhan.dreamwidth.org/64693.html</link>
  <description>&lt;p&gt;Четыре года назад я &lt;a href=&quot;http://yurikhan.livejournal.com/53638.html&quot;&gt;жаловался&lt;/a&gt; на тенденцию запихивать векторные иконки в кастомные шрифты и стучал ногами, что надо использовать SVG. В этом году ГитХаб это сделал.&lt;/p&gt;

&lt;p&gt;Ну и что же мы теперь имеем: мыло.&lt;/p&gt;

&lt;p&gt;Потому что в шрифтах есть хинтинг, привязывающий тонкие линии к пиксельной сетке. А в SVG его &lt;a href=&quot;https://www.w3.org/Graphics/SVG/WG/wiki/Proposals/SVG_hinting&quot;&gt;ещё&lt;/a&gt; нет.&lt;/p&gt;

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

&lt;p&gt;По-правильному, надо в SVG для тех линий, которые важно привязать к сетке, указывать атрибут &lt;code&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering&quot;&gt;shape-rendering=&quot;crispEdges&quot;&lt;/a&gt;&lt;/code&gt;. Но в качестве костыля можно накладывать его сверху при помощи юзерстиля. Только для тех иконок, где есть тонкие вертикальные или горизонтальные линии.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@namespace svg url(http://www.w3.org/2000/svg);

@-moz-document domain(&quot;github.com&quot;) {
  
  .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 }

}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=yurikhan&amp;ditemid=64693&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://yurikhan.dreamwidth.org/64693.html</comments>
  <category>icons</category>
  <category>github</category>
  <category>web</category>
  <category>svg</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>
