멋진 글꼴에 사용자 정의 아이콘 추가


138

Font Awesome 아이콘 글꼴을 좋아하고 내 사이트의 대부분의 아이콘에 사용하고 싶지만 제공되는 것 외에도 몇 가지 사용자 지정 svg 아이콘이 있습니다.

Font Awesome.svg 버전은 대부분 다음 <glyph />요소 로 구성되어 있습니다.

...
<glyph unicode="&#xf0b2;" horiz-adv-x="1536" d="M0 80v477q0 51 24.5 61.5t59.5 -24.5l162 -162l340 338l-338 338l-164 -164q-35 -35 -59.5 -25.5t-24.5 60.5v477q0 31 23 57q27 23 57 23h477q51 0 61.5 -24.5t-24.5 -59.5l-160 -158l338 -338l332 334l-162 162q-35 35 -24.5 59.5t61.5 24.5h477q33 0 55 -23 q25 -25 25 -57v-477q0 -51 -24.5 -61.5t-59.5 24.5l-162 162l-334 -334l338 -336l158 160q35 35 59.5 24.5t24.5 -61.5v-477q0 -35 -25 -55q-23 -25 -55 -25h-477q-51 0 -61.5 24.5t24.5 59.5l166 166l-336 336l-340 -340l162 -162q35 -35 24.5 -59.5t-61.5 -24.5h-477 q-31 0 -55 25q-25 20 -25 55z" />
<glyph unicode="&#xf0c0;" horiz-adv-x="1880" d="M0 852v152q0 18 1 47.5t10 56.5t29.5 46.5t57.5 19.5q-45 29 -71.5 75.5t-26.5 104.5q0 43 16.5 82t46 68.5t68.5 46t82 16.5q45 0 84 -16.5t67.5 -46t46 -68.5t17.5 -82q0 -57 -27.5 -104t-72.5 -76q37 0 57.5 -19.5t29.5 -46.5t11 -56.5t2 -47.5v-152 q-14 -8 -23.5 -18.5t-27.5 -10.5h-328q-16 0 -26.5 10.5t-22.5 18.5zM158 57v387q0 78 45 138.5t98 109.5q10 10 25.5 21.5t33.5 15.5q18 6 41 7t45 5q61 10 130 19.5t135 19.5q-90 57 -144.5 151.5t-54.5 207.5q0 88 34 166.5t92 136t136 91.5t166 34t166 -34t136 -91.5 t92 -136t34 -166.5q0 -113 -54 -207t-145 -152q66 -10 134.5 -19t130.5 -20q23 -4 45 -5t41 -7q18 -4 33.5 -15.5t27.5 -21.5q66 -59 103.5 -116.5t37.5 -131.5v-387q-12 -6 -20 -13t-18.5 -14t-23.5 -14.5t-36 -15.5h-1368q-35 0 -54.5 22.5t-43.5 34.5zM1452 852v152 q0 18 2 47.5t11.5 56.5t30 46.5t56.5 19.5q-45 29 -72.5 75.5t-27.5 104.5q0 43 16.5 82t46 68.5t68.5 46t84 16.5q43 0 82 -16.5t68.5 -46t46 -68.5t16.5 -82q0 -57 -26.5 -104t-71.5 -76q37 0 56.5 -19.5t28.5 -46.5t11 -56.5t2 -47.5v-152q-12 -8 -22.5 -18.5 t-26.5 -10.5h-328q-18 0 -27.5 10.5t-23.5 18.5z" />
<glyph unicode="&#xf0c1;" horiz-adv-x="1597" d="M0 1137q0 88 34 166.5t92 137t136 92.5t168 34q86 0 166 -33t139 -92q8 -8 21.5 -20.5t26 -25t21.5 -25.5t9 -25q0 -18 -12 -31q-6 -8 -25 -12q-47 -10 -88 -22.5t-86 -31.5q-4 -4 -16 -4t-25.5 10.5t-31 21.5t-42 21.5t-57.5 10.5q-35 0 -66.5 -13.5t-54 -37t-36 -54 t-13.5 -67.5q0 -41 17.5 -75t43 -63.5t56.5 -56.5t57 -53l180 -178q23 -25 54.5 -37t66.5 -12q43 0 73 16t46 16q12 0 39 -21.5t55.5 -49t50 -55t21.5 -42.5q0 -29 -36 -51t-83 -38.5t-94 -26t-72 -9.5q-86 0 -164.5 33t-140.5 92l-303 305q-61 59 -94 139.5t-33 166.5z M578 1010q0 29 35.5 51t82.5 38.5t94 26t72 9.5q86 0 166 -33t139 -92l303 -305q61 -59 94 -139.5t33 -166.5q0 -90 -33.5 -167.5t-92 -136t-137.5 -92.5t-167 -34q-86 0 -165.5 34t-139.5 93q-8 8 -21.5 19.5t-25.5 25t-21.5 26.5t-9.5 26q0 18 13 28q6 8 24 12 q47 10 88 22.5t86 33.5q12 4 17 4q12 0 25.5 -10.5t30.5 -21.5t41 -21.5t58 -10.5q72 0 121 49.5t49 120.5q0 41 -17 76t-44 63.5t-56.5 55.5t-56.5 53l-178 180q-53 49 -123 50q-43 0 -72.5 -17.5t-46.5 -17.5q-12 0 -38.5 21.5t-55 49t-50 56t-21.5 41.5z" />
...

내 svg 아이콘 코드를 가져 와서 새 글리프 요소로 붙여 넣고 사용하지 않는 유니 코드 문자를 할당하는 것이 효과적입니까?


2
해결책을 찾았습니까? 아니면 방금 다른 플러그를 선택 했습니까?
Michel Ayres

1
'.svg 버전의 Font Awesome'에 대한 링크를 찾을 수 없습니다. 업데이트하십시오.
Yannis Dran

2
관련 문서는 다음과 같습니다. github.com/FortAwesome/Font-Awesome/wiki/Customize-Font-Awesome
Rimian

답변:


125

부여 Icomoon을 시도합니다. 자신 만의 SVG를 업로드하여 라이브러리에 추가 한 다음 FontAwesome과 자신의 아이콘을 결합한 사용자 정의 글꼴을 만들 수 있습니다.


감사합니다 :) 이것은 많은 도움이됩니다!
Johnny Zhao

훌륭한 서비스. 고마워 시간이 아닌 svgs에서 사용자 정의 아이콘 세트를 생성했습니다.
Nodoze

좋은 도구입니다. Perfect. :)
Christian Mark

2
안녕하세요, svg 아이콘이 들어있는 폴더로 글꼴 아이콘을 생성했습니다. 그러나 나중에 하나의 아이콘을 추가하고 싶습니다. 추가 할 수 있습니까? 또는 다시 폴더로 생성해야합니까?.
Varadha31590


21

Font Awesome 5에서는 고유 한 SVG 데이터로 사용자 정의 아이콘을 만들 수 있습니다. 다음 은 연주 할 수 있는 데모 GitHub 저장소 입니다. 그리고 여기에 CodePen을의 쇼가 비슷한이 수행 될 수있는 방법을 것을 <script>차단.

두 경우 모두 단순히 library.add()다음과 같은 객체를 추가하는 데 사용 됩니다.

export const faSomeObjectName = {
  // Use a prefix like 'fac' that doesn't conflict with a prefix in the standard Font Awesome styles
  // (So avoid fab, fal, fas, far, fa)
  prefix: string,
  iconName: string, // Any name you like
  icon: [
    number, // width
    number, // height
    string[], // ligatures
    string, // unicode (if relevant)
    string // svg path data
  ]
}

코드 샘플에서 주석 "svg path data"로 레이블이 지정된 요소는의 하위 요소 인 요소 의 d속성 값으로 지정됩니다 . 이것처럼 (명확성을 위해 세부 사항을 남기고) :<path><svg>

<svg>
  <path d=SVG_PATH_DATA></path>
</svg>

( https://stackoverflow.com/a/50338775/4642871 여기에서 비슷한 대답을 채택했습니다. )


표준 접두사를 사용하려면 새 svg를 웹 사이트에 맞출 수 있습니까?
Norbert Kardos

1
원하는 접두사를 사용할 수 있습니다. 당신은 표준 접두사를 사용한다면 ( fab, fas, far, fal우리가 그 표준 접두사 아이콘을 계속 추가로) 당신은 미래에 다음 아마도, 지금은 충돌하지 않을 경우 네이밍의 더 큰 위험에 노출 될 수 있습니다. 사용자 정의 접두사를 사용한다고해서 svg가 "웹 사이트에 적합"할 가능성이 줄어드는 것은 아니지만 해당 문구가 무엇을 의미하는지 잘 모르겠으므로 명확하게 설명 할 수 있습니까?
mwilkerson

이미 요청한 특정 소셜 브랜드 아이콘 (2 억 명 이상)이 필요합니다. 이 svg 아이콘을 프로 버전에 추가하여 html / css 예외를 제외하고 웹 사이트에서 사용할 수 있습니다. 다른 모든 브랜드에는 이미 아이콘이 있으므로 fab 클래스가 요소에 존재합니다 (실제로 선택된 브랜드는 CSS에 동적으로 추가됩니다)
Norbert Kardos

1
예, 표준 접두사를 사용하여 사용자 정의 아이콘을 추가하는 것이 좋습니다. 아이콘 이름이 나중에 해당 접두사에 추가 한 것과 동일하면 충돌이 발생한다는 점을 명심하십시오. 그렇다면 충돌하지 않을 아이콘 이름을 선택하십시오. 코드 펜을 보여줄 것 : codepen.io/fontawesome/pen/pZWXYX
mwilkerson

내 SVG는 Adobe AI 파일에서 왔으며 여러 경로가 있습니다. 이로 인해 위에서 지정한 "d"매개 변수를 올바르게 설정할 수 없습니다. SVG로 내보내기 전에 AI 파일을 복합 경로로 먼저 변환해야했습니다. : 여기 그렇게하는 방법을 배웠습니다 graphicdesign.stackexchange.com/questions/35054/...
알렉스 탠디

19

아이콘을 FontAwesome 과 별도로 유지하고 나만의 커스텀 라이브러리를 만들고 유지하는 것이 좋습니다 . 개인적으로, 나는 자신의 아이콘 라이브러리를 만들려는 경우 FontAwesome을 별도로 유지하는 것이 훨씬 쉽다고 생각합니다 . 그런 다음 CDN에서 FontAwesome을 사이트에로드하여 최신 상태로 유지할 필요가 없습니다.

사용자 정의 아이콘을 만들 때는 Adobe Illustrator 또는 유사한 소프트웨어 를 통해 각 아이콘을 만드십시오 . 아이콘이 생성되면 SVG컴퓨터 에서 각각 개별적으로 형식으로 저장 하십시오.

다음으로, IcoMoon : http://icomoon.io넘어가십시오 . http://icomoon.io 는 최고의 글꼴 생성 소프트웨어 (제 의견으로는)를 가지고 있으며 무료입니다. IcoMoon은 당신이 사용자 정의 아이콘 문자 모양 라이브러리를 다음 글꼴 라이브러리로 개별 SVG-저장 글꼴을 가져 생성 할 수 있습니다 eot, ttf, woff,와 svg. IcoMoon 이 생성하지 않는 형식 은 woff2입니다.

에서의 아이콘 팩 생성 한 후 IcoMoon를 ,로 향할 FontSquirrel : http://fontsquirrel.com를 자신의 글꼴 생성기를 사용합니다. IcoMoonttf 에서 생성 된 파일을 사용하십시오 . 새로 생성 된 아이콘 팩에서 아이콘 팩 형식 이 생겼습니다 .woff2

에 대한 확인 파일을 확인 eot, ttf, svg, woff, 그리고 woff2모두 같은 이름이다. 두 개의 서로 다른 웹 사이트 / 소프트웨어에서 아이콘 팩을 생성하고 있으며 생성 된 출력의 이름을 다르게 지정합니다.

두 위치 모두에 아이콘 팩용 CSS가 생성됩니다. 그러나 IcoMoon 에서 생성 된 CSS는 선언에 woff2형식을 포함하지 않습니다 @font-face {}. CSS를 프로젝트에 추가 할 때 추가해야합니다.

@font-face {
    font-family: 'customiconpackname';
    src: url('../fonts/customiconpack.eot?lchn8y');
    src: url('../fonts/customiconpack.eot?lchn8y#iefix') format('embedded-opentype'),
         url('../fonts/customiconpack.ttf?lchn8y') format('truetype'),
         url('../fonts/customiconpack.woff2?lchn8y') format('woff'),
         url('../fonts/customiconpack.woff?lchn8y') format('woff'),
         url('../fonts/customiconpack.svg?lchn8y#customiconpack') format('svg');
    font-weight: normal;
    font-style: normal;
}

IcoMoon 소프트웨어를 사용하여 아이콘 팩에있는 각 아이콘의 글리프 유니 코드 값을 얻을 수 있습니다 . 이 값은 CSS를 통해 아이콘을 할당하는 데 도움이 될 수 있습니다 ( 위 font-family의 예 에서 선언 된 것을 사용한다고 가정 @font-face {...}).

selector:after {
    font-family: 'customiconpackname';
    content: '\e953';
    }

텍스트 편집기에서 e953글꼴 팩으로 생성 된 svg파일 을 열면 글리프 유니 코드 값을 얻을 수도 있습니다 . 예 :

<glyph unicode="&#xe953;" glyph-name="eye" ... />

작동하지 않는 ,.,. 전체 프로세스 만 완료 아이콘이 아닌 숫자가
표시됨

1
좀 더 자세히 설명해 주시겠습니까? 문제 해결에 도움을 드리겠습니다. 당신은 지정 했 font-family: customiconpack;당신과 함께 selector:after? selector:after코드 예제를 위해 지금 솔루션을 업데이트하겠습니다 .
Pegues

내 아이콘 svg 파일을 업로드했습니다. 나는 파일을 내려 놓았다. 프로젝트에 파일을 넣어 프로젝트에 새로운 CSS 파일을 추가했다. 파일에 코드를 복사 한 아이콘으로 코드를 변경했다. 작동하지 않았다.
Inzmam ul Hassan

1
문제를 더 쉽게 논의 할 수 있도록 내가 만든 대화방에 참여하십시오 : chat.stackoverflow.com/rooms/132402/…
Pegues

2
여기에서는 가져온 PNG에서 SVG를 Illustrator에서 만들었 음을 알리는 문제를 다른 사람들에게 알리기 위해 설명하고 있습니다. 아이콘을 벡터로 다시 만들어야합니다. PNG는 래스터 형식이며 벡터 곡선이 없습니다.
Pegues

18

당신이 가진 것에 달려 있습니다. svg 아이콘이 경로 인 경우 'd'속성을 새 <glyph> 요소에 복사하면 해당 글리프를 쉽게 추가 할 수 있습니다. 그러나 경로는 글꼴의 좌표계 (일반적으로 [0,0,2048,2048]-트루 타입 글꼴의 표준 인 EM 사각형)에 맞게 조정하고 원하는 기준선에 맞춰 정렬해야합니다.

그러나 모든 브라우저가 svg 글꼴을 지원하는 것은 아니므로 어디에서나 작동하려면 글꼴을 다른 형식으로 변환해야합니다.

Fontforge 는 svg 파일을 가져올 수 있고 (글리프 슬롯, 파일> 가져 오기 및 svg 이미지 선택) 모든 관련 글꼴 형식 (svg, truetype, woff 등)으로 변환 할 수 있습니다.


13

@ Samuel-bergström에 대한 비슷한 접근 방식 :

  • Fontawesome SVG 다운로드 https://github.com/FortAwesome/Font-Awesome/blob/master/src/assets/font-awesome/fonts/fontawesome-webfont.svg
  • FontForge 다운로드 http://fontforge.github.io/en-US/downloads/
  • Inkscape 다운로드
  • Inskscape를 열고 새 글꼴 아이콘으로 단일 레이어 모양을 만듭니다.
  • SVG 파일 저장, 잉크 스케이프 닫기
  • FontForge 열기 (여러 모니터가있는 경우 Windows-LeftArrow를 사용하여 모니터를 끄는 이상한 SWING Java 창이 있고 팝업에 모달 문제가 있으므로 위치를 변경하십시오. 작업 표시 줄을 확인해야했습니다)
  • 파일 | fontawesome-webfont.svg를 엽니 다
  • 파일 | 수입
  • 하단으로 스크롤하여 아이콘 | 글리프 정보
  • 글리프 이름을 uniFXXX로 업데이트합니다 (XXX는 FontAwesome v4.5에서 사용 된 가장 높은 유니 코드보다 높은 501과 같습니다)
  • 유니 코드 Vlaue U + fXXX
  • 확인을 클릭하십시오
  • 파일 | 저장
  • 파일 | 글꼴 생성 ...
  • FontForge 닫기
  • 웹 프로젝트를 엽니 다
  • 글꼴 파일을 (내 프로젝트의) "\ Content \ fonts \"폴더로 복사하십시오.
  • "\ Content \ styles \ fa \ path.less"를 다음과 같이 편집하십시오.

@font-face {
      font-family: 'FontAwesome';
      //src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
      src: 
    	//url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
        //url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
        url('@{fa-font-path}/fontawesomeregular.woff?v=@{fa-version}') format('woff'),
        url('@{fa-font-path}/fontawesomeregular.ttf?v=@{fa-version}') format('truetype'),
        url('@{fa-font-path}/fontawesomeregular.svg?v=@{fa-version}#fontawesomeregular') format('svg');
    //  src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
      font-weight: normal;
      font-style: normal;
    }

다른 파일 형식을 주석 처리하는 것은 '논쟁 적'일 수 있지만 주석에서 .eot 또는 .otf 파일을 생성하는 방법을 듣고 기뻐합니다.

  • 마지막으로 Samuel이 언급했듯이 CSS / LESS를 다음과 같이 업데이트하십시오.

    .fa-XXX : {콘텐츠 이전 : "\ f501"; }


3

SVG 웹 글꼴 및 글꼴 작성에 대해 조금 연구했습니다. 글꼴을 이미 존재하는 글꼴에 글꼴을 "추가"하려면 다음을 수행해야합니다.

inkscape로 이동하여 글리프를 만들고 SVG로 저장하여 코드를 읽을 수 있도록하고 현재 사용되지 않는 유니 코드 문자를 지정하여 글꼴의 기존 글리프와 충돌하지 않도록하십시오. 이것은 어려울 수 있으므로 더 간단한 approad가 기존 글리프를 자신의 것으로 바꾸는 것이라고 생각합니다 (사용하지 않는 것을 선택하고 첫 번째 부분을 복사하십시오).

svg를 저장 한 다음 온라인 변환기를 사용하여 웹 글꼴로 변환하면 웹 글꼴이 모든 브라우저에서 작동합니다.

이 작업이 완료되면 글리프 중 하나가 교체 된 SVG가 있어야합니다. 새 글리프에 대한 CSS를 만들어야하는 경우에는이 경우 기존 CSS의 FA를 다시 시도하고 추가하십시오.

>##CSS##
>.FA.NEW-GLYPH:after {
>content:'WHATEVER AVAILABLE UNICODE CHARACTER YOU FOUND'
>(other conditions should be copied from other fonts)
>}

2

커스텀 svg 아이콘을 포함하여 font-awesome의 일부 아이콘 (또는 모두)을 원한다면 다음을 수행 할 수 있습니다.

1- http://fontawesome.io/로 이동 하여 zip을 다운로드하고 데스크탑에서 추출하십시오.

2- http://fontastic.me/로 이동 하여 이메일을 사용하여 계정을 만드십시오.

3- 로그인 한 후에 헤더 옵션 : 추가 아이콘 추가를 클릭하십시오.

4- 폰트 내부의 압축 해제 zip에있는 font-awesome의 SVG를 선택하십시오.

5- 자신의 svg 파일을 업로드하는 절차를 반복하십시오.

6- Inside Home (페이지의 머리글에서) 다운로드하려는 아이콘을 선택하고, 사용자 정의 이름을 제공하도록 사용자 정의한 후, 링크를 갖거나 글꼴 및 CSS를 다운로드하려면 공개를 선택하십시오.

내 영어에 대해 죄송합니다! :디


그것은 작동하지만 자신의 사용자 정의 아이콘 라이브러리를 만들고 fontawesome면을 사용하는 것이 좋습니다. 새로운 아이콘으로 글꼴을 업데이트 할 수 있습니다.
기욤하라 리
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.