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.