@{{ name }}-font: "{{ name }}";

@font-face {
  font-display: block;
  font-family: @{{ name }}-font;
  src: {{{ fontSrc }}};
}

{{# if selector }}
{{ selector }}::before {
{{ else }}
{{ tag }}[class^="{{prefix}}-"]::before, {{ tag }}[class*=" {{prefix}}-"]::before {
{{/ if }}
  font-family: {{ name }} !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@{{ name }}-map: {
{{# each codepoints }}
  {{ @key }}: "\\{{ codepoint this }}";
{{/ each }}
}

{{# each codepoints }}
{{# if ../selector }}
{{ ../selector }}.{{ ../prefix }}-{{ @key }}::before {
{{ else }}
{{ tag }}.{{ ../prefix }}-{{ @key }}::before {
{{/ if }}
  content: @{{ ../name }}-map[{{ @key }}];
}
{{/ each }}
