SVG에서 Webfont 생성
소개
웹상에서 아이콘의 색을 동적으로 바꾸고 싶었기 때문에 Webfont를 사용하기로 했다.
처음에는 SVG 화상을 사용하고 있었지만, 색의 변경이나 사이즈의 변경, 로드시의 화상 사이즈 등 여러가지 번거로움이 많았으므로 Webfont화하는 것에.
(혹시 object 태그로 사용하고 있었기 때문에 불편함이 있었을 뿐일지도…)
HTTP 요청을 줄이기 위해 [WebFont 편] 드래그 앤 드롭하여 명령 두드려 웨이
상기 URL을 참고로, grunt-webfont 로 하는 것에.
준비
우선 필요한 것을 설치
※ node 는 벌써 인스톨 되고 있는 것으로 한다
$ brew instal ttfautohint fontforge --with-python
적절하게 변환을위한 디렉토리 만들기
$ mkdir ~/Desktop/SvgToWebfont
$ cd ~/Desktop/SvgToWebfont
다음으로 package.json 을 준비한다
package.json
{
"name": "SvgToWebfont",
"version": "0.0.1",
"description": "Convert SVG file to Webfont",
"main": "Gruntfile.js",
"devDependencies": {
"grunt": "^0.4.5",
"grunt-webfont": "^0.4.8"
}
}
패키지 설치
$ npm install
그런 다음 Gruntfile.js를 만듭니다.
Gruntfile.js
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-webfont');
grunt.initConfig ({
pkg: grunt.file.readJSON('package.json'),
webfont: {
icons: {
src: 'icons/*.svg',
dest: 'build/fonts'
}
}
});
grunt.registerTask('default', ['webfont']);
}
변환
디렉토리 구조는 이런 느낌
SvgToWebfont
├── build
│ └── fonts
├── icons
└── node_modules
grunt 실행
$ grunt
그리고 build/fonts 아래에 파일이 출력된다.
build/fonts
├── icons.css
├── icons.eot
├── icons.html
├── icons.svg
├── icons.ttf
└── icons.woff
사용
build/fonts 를 통째로 복사해서 사용하는 것만.
사용할 때는 build/fonts 디렉토리를 통째로 복사해, icons.css 만 읽어내면 OK.
<link rel="stylesheet" href="{{your path}}/icons.css"></link>
덧붙여서 icons.html 파일을 열면 아이콘 목록이나 Webfont를 사용하기위한 클래스 이름이 쓰여있는 페이지가 있습니다.
이것을 참고로
<body>
<i class="icon icon_hoge"></i>
</body>
라고 쓰면 아이콘을 사용할 수 있다.
소관
icon icon_hoge
의 icon
부분을 좋아하게 변경할 수 있지만 그것은 또 다른 기회에 Reference
이 문제에 관하여(SVG에서 Webfont 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoshinarl/items/b4749fb2aedf8397df8b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)