Firefox 및 Opera의 웹 폰트 평활화 및 앤티 앨리어싱


112

내 사이트에서 사용하는 맞춤 웹 글꼴이 있습니다. 렌더링 출력의 스타일을 지정하기 위해 다음 코드를 사용했습니다.

//-webkit-text-stroke-width: .05px;
//-webkit-text-stroke-color: white;
-webkit-font-smoothing: antialiased;

이것은 Safari와 Chrome에서 잘 작동합니다 (가장자리가 더 선명하고 선이 더 얇음). Firefox와 Opera에서 동일한 스타일을 구현하는 방법이 있습니까?


5
그만하고 그 이유를 여기에서 읽어 보는 것이 좋습니다. usabilitypost.com/2012/11/05/stop-fixing-font-smoothing
— fregante

20
^ 이것은 광범위한 일반화이며 글꼴 스무딩을 사용하는 것이 좋습니다. 디자이너 동작이 아니라 렌더링 문제가 문제입니다. 레이아웃을 디자인하고 렌더링 엔진으로 인해 글꼴이 반 굵게 표시되면 레이아웃이 아닌 고정이 필요한 엔진입니다.
— Dylan

1
그것은 전적으로 광범위한 일반화가 아닙니다. 이 기사는 서브 픽셀 렌더링이 주로 어두운 배경의 밝은 텍스트를 더 읽기 쉽게 (즉, 액세스 가능) 만들기위한 것이며, 광범위한 CSS 정의를 만드는 body { -webkit-font-smoothing: antialiased; }것은 너무 무겁습니다.
— Matt Scheurich 2014

3
밝은 배경에 어두운 웹 글꼴도 "가짜 굵게"표시됩니다. 나는 "안티 앨리어싱"이라고 말한다.
— Jason T Featheringham

5
페이지가 표시되는 방식은 모든 인쇄 속성을 포함하여 디자이너에게 달려 있습니다. 가장 광범위한 플랫폼에서 유용성, 일관성 및 매력을 보장하는 것은 그들의 책임입니다. CSS를 통해 글꼴 다듬기 속성에 액세스하면 더 많은 제어가 가능합니다. 다른 사람과 마찬가지로 잘못된 손으로 오용 될 수 있습니다. 그러나 질문에 답하기보다 개인적인 철학을 선전하는 것은 도움이되지 않습니다.
— Beejor

답변:


193

Opera는 버전 15.0부터 Blink로 구동되므로 Opera -webkit-font-smoothing: antialiased에서도 작동합니다.

Firefox는 마침내 그레이 스케일 앤티 앨리어싱을 활성화하는 속성을 추가했습니다. 오랜 논의 끝에 다른 구문과 함께 버전 25에서 사용할 수 있으며,이 속성은 OS X에서만 작동합니다.

-moz-osx-font-smoothing: grayscale;

어두운 배경에서 흐릿한 아이콘 글꼴이나 밝은 텍스트를 수정해야합니다.

.font-smoothing {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

두 속성을 모두 처리하기 위해 Sass 믹스 인을 포함하는 OSX의 글꼴 렌더링에 대한 내 게시물을 읽을 수 있습니다 .


6
왜 OSX 만 ??
— Yassir Ennazk

7
Windows와 Linux는 OSX와 다른 글꼴 렌더링 알고리즘을 사용합니다.
— Maximilian Hoffmann

15

글쎄, Firefox는 그런 것을 지원하지 않습니다.

Mozilla의 참조 페이지에서 font-smoothCSS 속성으로 글꼴이 렌더링 될 때 앤티 앨리어싱 적용을 제어하도록 지정 하지만이 속성은 이 사양에서 제거 되었으며 현재 표준 트랙에 없습니다.

이 속성은 Webkit 브라우저에서만 지원됩니다.

대안을 원하면 다음을 확인할 수 있습니다.


2
글쎄, 내가 가진 문제는 내 글꼴이 "굵게"보이고 파이어 폭스와 오페라에서 부풀어 보인다는 것이다. 와 -webkit-font-smoothing:antialiased;나는 사파리와 크롬에서 문제를 해결할 수 있습니다. Firefox에서도 글꼴을 조금 더 가볍게 만드는 "해킹"을 찾고 싶습니다. 나는 text-shadowmoz에서만 흰색 을 적용하려고 생각 했지만 글꼴을 더 밝게 만드는 "삽입"텍스트 그림자를 적용 할 방법이 없습니다.
— matt

1
@matt이 질문에서 CSS 조언을 시도해 볼 수 있습니다 : stackoverflow.com/questions/761778/… 아마도 CSS 대안을 찾을 수있을 것입니다.
— Jonathan Naguin 2012

11

사례 : 어두운 배경 Firefox (v35) / Windows에 재기 웹 글꼴이있는 밝은 텍스트
예 : Google 웹 글꼴 Ruda

놀라운 솔루션-
적용된 선택기에 다음 속성 추가 :

selector {
    text-shadow: 0 0 0;
}

실제로 결과는와 동일 text-shadow: 0 0;하지만 명시 적으로 blur-radius를 설정하는 것을 좋아합니다.

보편적 인 솔루션은 아니지만 경우에 따라 도움이 될 수 있습니다. 또한 지금까지이 솔루션의 부정적인 성능 영향을 경험 한 적이 없습니다 (완전히 테스트되지도 않음).


도움이되지 않습니다
— vsync

이 글꼴을 기반으로 크롬에 대담한 글꼴의 원인이됩니다
— 벤 Sewards에게

1
@BenSewards 더 굵은 글꼴 렌더링이 필요한 곳에 글꼴을 제공 하시겠습니까? 아니면 CodePen일까요? 미리 감사드립니다.
— Volker E.

1
@VolkerE. 훌륭한 솔루션에 감사드립니다. 고정 헤더의 소스 코드 프로 글꼴과 동일한 성가신 문제가 있습니다. 스크롤하면 글꼴이 매우 작아지고 텍스트 그림자가 있으면 글꼴이 문제를 일으키지 않습니다.
— Evolutio

현재 크롬 (58.0.3029.110)에서 "부드러운"텍스트는 실제로 정말 끔찍해 보입니다 . ( "jaggy"텍스트가 다소 더 좋음)
— RecursiveExceptionException


5

이 링크로 해결책을 찾았습니다 : http://pixelsvsbytes.com/blog/2013/02/nice-web-fonts-for-every-browser/

단계별 방법 :

  • WebFontGenerator에 글꼴을 보내고 zip을 가져옵니다.
  • Zip 파일에서 TTF 글꼴 찾기
  • 그런 다음 Linux에서 다음 명령을 수행하십시오 (또는으로 설치하십시오 apt-get install ttfautohint).
    ttfautohint --strong-stem-width=g neosansstd-black.ttf neosansstd-black.changed.ttf
  • 그런 다음 하나 더 WebFontGenerator에서 새 TTF 파일 (neosansstd-black.changed.ttf)을 보냅니다.
  • 모든 웹 폰트와 함께 완벽한 Zip을 얻을 수 있습니다!

이것이 도움이되기를 바랍니다.


CSS 전환 중에 글꼴 재깅을 수정하는 데 큰 도움이되었습니다 (완전히 제거되지는 않았지만). TTFAutohint 옵션과 함께 FontSquirrel 생성기를 사용했습니다
— Andrey

Fontie를 사용하여 Windows 용 자동 힌트가 활성화 된 WOFF, WOFF2, EOT 및 SVG 파일을 다시 생성했습니다.
— Dominique

4

... 본문 태그와 내용 및 서체에서 나온 이것들은 일반적으로 더 좋아 보입니다 ...

body, html {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
text-rendering: optimizeLegibility;
text-rendering: geometricPrecision;
font-smooth: always;

font-smoothing: antialiased;
-moz-font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
-webkit-font-smoothing: subpixel-antialiased;
}


#content {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;

}

2
죄송합니다 ... "라인 슈라 이벤"이 뭐죠? 우리 중 대부분은 독일어를 사용하지 않으므로 전체 게시물을 영어로 작성하면 좋을 것입니다.
— rayryeng

3
:) 미끄러 이후 오, 어떻게 든 잘못된 단어를 구글 번역 한 사과하십시오
— user3634787을

3

텍스트 색상이 어두우면 Safari 및 Chrome에서 text-stroke css 속성으로 더 나은 결과를 얻을 수 있습니다.

-webkit-text-stroke: 0.5px #000;

문제는 Firefox와 Opera에 관한 것입니다. 그래서이 답변이 문제와 아무 상관이있다
— VSYNC

-4

첨가

font-weight: normal;

@ font-face 글꼴은 Firefox에서 굵은 모양을 수정합니다.


7
font-weight(당연히) 글꼴 다듬기가 아닌 글꼴 두께에 영향을줍니다. @ font-face 선언에 추가하면 연결된 글꼴 파일이 보통 두께의 글꼴 파일이 아닌 경우 혼동을 일으킬 수 있습니다.
— Mike Meyer

@MikeMeyer 사실 나는 Aaron의 의견에 동의합니다. 글꼴에 일반 그는 "빛"글꼴 것입니다 포함 : 글꼴 무게 추가 보인다 혼란을 추가 할 수 있지만, 그것은 단지 초보 개발자를 혼동한다. 내 경험상 보통 기본값을 지정하는 것이 실제로 좋은 습관입니다. 이 경우 일반은 포함 된 글꼴 및 사용되는 문자에 대해 "일반"을 의미하며 글꼴 자체에 대한 정보를 지정하기위한 것이 아닙니다. 대부분의 경우 (특히 대형 플랫폼에서) 글꼴 스타일과 관련하여 볼 수있는 너무나 전형적인 나쁜 아키텍처에서 버그가 발생할 가능성을 줄입니다.
— dudewad 2014-08-27

사실, 글꼴 자체의 이름은 기본적으로 글꼴의 무게를 나타내야합니다 ...!
— dudewad 2014-08-27

@dudewad 당신이 동의한다는 것은 대단합니다. 그리고 예, 그것은 괜찮은 (다소 간결한 말이지 만)“프로 팁” font-weight입니다. 문제는 OP가 질문이 아니라 안티 앨리어싱font-weight 에 대한 질문이었습니다 . 이것은 완전히 다른 질문에 대한 정답입니다.
— Mike Meyer

@MikeMeyer 당신이 완전히 옳습니다. 나는 때때로 조금 어리둥절합니다. ;)
— dudewad 2014 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.