Chrome에 "글꼴 다듬기"가 있습니까?


141

Google 웹 글꼴을 사용하고 있으며 초대형 글꼴 크기에서는 좋지만 18px에서는 끔찍합니다. 나는 여기저기서 글꼴 스무딩을위한 솔루션이 있다는 것을 읽었지만 그것을 명확하게 설명하는 곳을 찾지 못했고 내가 찾은 스 니펫이 전혀 작동하지 않습니다.

내 h4거의 모든 브라우저에서 끔찍한 외모,하지만 크롬은 최악이다. Chrome에서는 거의 모든 글꼴이 끔찍합니다.

누구든지 올바른 방향으로 나를 가리킬 수 있습니까? 아마도 이것을 명확하게 설명하는 자료를 알고 있습니까? 감사!

예 스크린 샷 # 1

이 스크린 샷은 Google에서 만든 프로그래밍 언어 ( https://www.dartlang.org/) 의 홈페이지를 보여 주며, 이 웹 사이트가 Google에서 제작했음을 암시 할 수 있습니다. Google Webfonts를 사용합니다.

스크린 샷은 왼쪽에 Chrome, 오른쪽에 Firefox / Internet Explorer가 표시됩니다. :

왼쪽의 구글 크롬, 오른쪽의 파이어 폭스 / 인터넷 익스플로러

예 스크린 샷 # 2

이 스크린 샷은 Typekit에서 제공하는 웹 글꼴을 사용하여 Adobe.com의 제품 정보 페이지를 보여줍니다. 글꼴과 관련하여 Adobe 및 Typekit은 전문가입니다.

스크린 샷은 오른쪽에 Chrome, 왼쪽에 Firefox / Internet Explorer가 표시됩니다.

왼쪽의 구글 크롬, 오른쪽의 파이어 폭스 / 인터넷 익스플로러


그들은 크롬과 파이어 폭스에서 나에게 좋아 보인다 ... 프린트 스크린을 추가 할 수 있습니까?
— JFK

또한 iPhone / iOS에서도 매우 좋아 보입니다.
— insertusername 여기

Windows를 사용하고 있습니까? 그렇다면 OS의 ClearType 스무딩 엔진이 원인 일 수 있습니다. Windows 외에도 Mac OS, Ubuntu, Fedora 및 Chrome OS에서 해당 페이지를 사용해 보았습니다. 후자는 유일하게 올바르게 렌더링되지 않는 유일한 것으로, ClearType 엔진이라고 생각합니다.
— Jules

네, 창문입니다. 내가 뭘 할 수 있는지 알아?
— imakeitpretty

이 유용한 기능을 발견했습니다. chrome : // flags / # lcd-text-
— aa-

답변:


162

2014 년 6 월 문제 상태 : Chrome 37으로 수정

마지막으로 Chrome 팀 은 2014 년 7 월에 공개 될 Chrome 37의이 문제에 대한 픽스 를 출시 할 예정입니다. 현재 안정적인 Chrome 35와 최신 Chrome 37 (초기 개발 미리보기) 비교 예는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

2013 년 12 월 이슈 현황

1)이 NO 적절한 솔루션이 때 로딩을 통해 글꼴 @import, <link href=또는 Google의 webfont.js. 문제는 Chrome이 단순히 Google API에서 .woff 파일을 요청 하여 끔찍하게 렌더링한다는 것입니다. 놀랍게도 다른 모든 글꼴 파일 형식은 아름답게 렌더링됩니다. 그러나 렌더링 된 글꼴을 "매끄럽게"만드는 CSS 트릭이 있습니다.이 답변에서 해결 방법을 더 깊이 찾을 수 있습니다.

2.) Jaime Fernandez 가이 Stackoverflow 페이지의 다른 답변에 처음으로 게시 한 글꼴을 자체 호스팅 할 때이를위한 실제 솔루션 이 있습니다.이 문제는 웹 글꼴을 특별한 순서로로드하여이 문제를 해결합니다. 나는 그의 훌륭한 답변을 단순히 복사하는 것이 나쁘다는 것을 느끼기 때문에 거기서 살펴보십시오. 거의 모든 브라우저에서 지원되는 TTF / OTF 글꼴 만 사용하도록 권장하는 (증명되지 않은) 솔루션도 있습니다.

3.) Chrome 개발자 팀이이 문제를 해결합니다. 렌더링 엔진에 몇 가지 큰 변화가 있었으므로 분명히 진행중인 것이 있습니다.

그 문제에 대한 큰 블로그 게시물을 작성 했습니다 .Google 크롬에서 못생긴 글꼴 렌더링을 수정하는 방법을 자유롭게 살펴보십시오.

재현 가능한 예

Chrome 29에서 초기 질문의 예가 ​​오늘 어떻게 보이는지 확인하십시오.

긍정적 인 예 :

왼쪽 : Firefox 23, 오른쪽 : Chrome 29

여기에 이미지 설명을 입력하십시오

긍정적 인 예 :

위 : Firefox 23, 아래 : Chrome 29

여기에 이미지 설명을 입력하십시오

부정적인 예 : Chrome 30

여기에 이미지 설명을 입력하십시오

부정적인 예 : Chrome 29

여기에 이미지 설명을 입력하십시오

해결책

-webkit-text-stroke로 위 스크린 샷 수정 :

여기에 이미지 설명을 입력하십시오

첫 번째 행은 기본값이고 두 번째 행은 다음과 같습니다.

-webkit-text-stroke: 0.3px;

세 번째 줄에는

-webkit-text-stroke: 0.6px;

글꼴을 수정하는 방법은 단순히 글꼴을 제공하는 것입니다.

-webkit-text-stroke: 0.Xpx;

또는 RGBa 구문 (nezroy의 의견에 있습니다! 감사합니다!)

-webkit-text-stroke: 1px rgba(0,0,0,0.1)

오래된 가능성도 있습니다 : 텍스트에 간단한 (가짜) 그림자를 넣으십시오.

text-shadow: #fff 0px 1px 1px;

RGBa 솔루션 (Jasper Espejo의 블로그에 있음) :

text-shadow: 0 0 1px rgba(51,51,51,0.2);

나는 이것에 대한 블로그 게시물을 만들었습니다.

이 문제에 대해 업데이트하려면 블로그 게시물 : Chrome에서 못생긴 글꼴 렌더링을 수정하는 방법을 살펴보십시오 . 이에 대한 뉴스가 있으면 뉴스를 게시하겠습니다.

내 원래 답변 :

이것은 Chrome의 큰 버그이며 Chrome 팀은 이에 대해 알고 있습니다 . 여기 에서 공식 버그 보고서를 참조 하십시오 . 현재 버그가보고 된 지 11 개월이 지난 2013 년 5 월에는 해결되지 않았습니다. 구글 웹 폰트를 엉망으로 만드는 유일한 브라우저가 구글 자신의 브라우저 크롬 (!)이라는 것은 이상한 일이다. 그러나 문제를 해결하는 간단한 해결 방법이 있습니다. 해결책은 아래를 참조하십시오.

Google 크롬 개발팀의 진술, 2013 년 5 월

버그 리포트의 공식 설명 :

우리의 Windows 글꼴 렌더링이 활발히 진행되고 있습니다. ... 우리는 개발자들이 함께 시작할 수있는 이정표 안에 무언가를 갖기를 바랍니다. 그것이 얼마나 빨리 안정 되느냐는 우리가 얼마나 빨리 회귀를 근절하고 태울 수 있는지에 관한 것입니다.


1
문제는 Windows에서 실행되는 모든 브라우저에있는 것이 아니라 Chrome의 경우에만 발생합니다. Firefox, Opera 및 IE에는 글꼴에 대한 앤티 앨리어싱이 적절합니다. 그러나 -webkit-font-smoothing속성 을 사용하여 크롬으로 고정 할 수 있습니다 . 아래 답변을 참조하십시오.
— Kushagra

1
검은 색 텍스트에는을 사용했습니다 text-shadow: #333 0px 0px 1px;. 팁 주셔서 감사합니다.
— Yoone

6
번역에서 길을 잃었을 수도 있지만 -webkit-text-stroke는 글꼴 색상의 알파를 사용할 때만 작동합니다. 따라서 검은 글꼴의 경우 "-webkit-text-stroke : 1px rgba (0,0,0,0.1)"와 같은 것을 사용합니다.
— nezroy

Mac의 Chrome 30에서 앤티 앨리어싱이 동일하지 않은 것으로 나타났습니다.
— jwadsack

1
이 문제 code.google.com/p/chromium/issues/detail?id=137692 에 대한 크롬 보드의 공식 티켓에서 스레드의 마지막 게시물을 올바르게 이해하지 못하면 v37의 수정으로 목표로 보입니다. .
— Gruber

46

나는 같은 문제가 있었고 Sam Goddard 의이 게시물 에서 해결책을 찾았습니다 .

글꼴에 대한 호출을 두 번 정의한 경우 솔루션 입니다. 먼저 모든 브라우저에 사용하고 특별한 미디어 쿼리가있는 Chrome 전용 호출 후에 사용하는 것이 좋습니다.

@font-face {
  font-family: 'chunk-webfont';
  src: url('../../includes/fonts/chunk-webfont.eot');
  src: url('../../includes/fonts/chunk-webfont.eot?#iefix') format('eot'),
  url('../../includes/fonts/chunk-webfont.woff') format('woff'),
  url('../../includes/fonts/chunk-webfont.ttf') format('truetype'),
  url('../../includes/fonts/chunk-webfont.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'chunk-webfont';
    src: url('../../includes/fonts/chunk-webfont.svg') format('svg');
  }
}

여기에 이미지 설명을 입력하십시오

이 방법을 사용하면 모든 브라우저에서 글꼴이 제대로 렌더링됩니다. 내가 찾은 유일한 단점은 글꼴 파일도 두 번 다운로드된다는 것입니다.

내 페이지에서이 기사 의 스페인어 버전을 찾을 수 있습니다 .


6
이것은 실제로 정답이지만 단순화 할 수 있습니다. 글꼴 목록에 SVG 버전을 먼저 나열하면 문제가 해결됩니다.
— jduncanator 5

2
이 답변은 지금까지 최상의 결과를 제공합니다. SVG 글꼴은 -webkit-text-stroke hack보다 x100이 더 좋아 보입니다. 주요 단점은 SVG 버전의 글꼴 크기입니다. 그것은 일반적으로 훨씬 큽니다 :-( 구글은 정말로 이것을 최대한 빨리 분류해야합니다
— Timidfriendly

나는 완전히 동의한다! 내 답변 내에서이 답변에 연결하겠습니다.
— Sliq

@jduncanator SVG를 먼저 나열하는 것은 바람직하지 않습니다. 즉, SVG 글꼴은이 를 지원 하는 모든 단일 브라우저에서 로드되며 Windows의 Chrome에만 필요합니다.
— RoelN

@jduncanator 두 가지 주요 범인은 암시를 지원하지 않으며 큰 파일 크기입니다 (글꼴에 대한 gzip 압축은 기본적으로 많은 서버에서 활성화되지 않습니다).
— RoelN

22

Chrome은 Firefox 또는 다른 브라우저와 같은 글꼴을 렌더링하지 않습니다. 이것은 일반적으로 Windows에서만 실행되는 Chrome의 문제입니다. 글꼴을 부드럽게 만들려면 이와 같은 -webkit-font-smoothingyer h4태그 의 속성을 사용하십시오 .

h4 {
    -webkit-font-smoothing: antialiased;
}

을 사용할 수도 있습니다 subpixel-antialiased. 이렇게하면 다른 유형의 다듬기 (텍스트가 약간 흐릿하거나 어두워 짐)가 나타납니다. 그러나 효과를 보려면 야간 버전이 필요합니다. 글꼴 다듬기에 대한 자세한 내용은 여기를 참조하십시오 .


11
나는 최신 버전이 크롬은 오늘 8 2 월 2013 여기이 페이지는 그들 사이의 차이를 보여줍니다 maxvoltar.com/sandbox/fontsmoothing~~V 없습니다
— thednp

4
작동하지 않습니다 (Windows에서 테스트). 맥은 어쨌든 사람들이 그것을 사용하지 못하도록 표시했습니다.
— KryptoniteDove

4
작동하지 않습니다. 방금 Windows 8에서 시도했습니다. 최신 버전의 Chrome이 무엇이든간에 (2013 년 8 월 8 일 기준).
— jay_t55

3
Mac Chrome 및 Safari에서는이 기능이 작동하므로 추가 할 가치가 있습니다. Apple.com은 그들의 base.css 스타일 시트에서도 그것을 사용합니다 :body { font: 12px/18px "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif; -webkit-font-smoothing: antialiased; }
— Justin

1
firefox에 해당하는 것은 -moz-osx-font-smoothing입니다.
— Jeff Walters

14

이걸 간단하게 사용할 수 있습니다

-webkit-text-stroke-width: .7px;
-webkit-text-stroke-color: #34343b;
-webkit-font-smoothing:antialiased;

텍스트 색상과 상단 텍스트 스트로크 너비가 같아야합니다.


글꼴 다듬기는 더 이상 텍스트 획만 작동하며 일부 글꼴에는 도움이 될 수 있습니다. 0.5px 스트로크와 rgba (0,0,0,0.5)로 최상의 결과를 얻는 것처럼 보였습니다.
— Moss

firefox에 해당하는 것은 -moz-osx-font-smoothing입니다.
— Jeff Walters

이것은 멋지다 ... 그냥 # 34343b를 inherit로 바꾼다.;;)
— Sagive SEO 22.49에

9

나는 이것이 항상 작동하지 않을 것이라고 모든 것을 말할 것이다. 나는 이것을 sans-serif글꼴과 같은 외부 글꼴로 테스트했다.open sans

때로는 큰 글꼴을 사용할 때 근사치 font-size:49px와 상단 을 시도하십시오.

글꼴 크기 : 48px

텍스트 font-size:48px;가 포함 된 요소에서 크기가 48px 인 헤더 텍스트입니다 .

그러나 48px font-size:49px;(및 50px, 60px, 80px 등) 까지 올리면 흥미로운 일이 발생합니다.

글꼴 크기 : 49px

텍스트가 자동으로 매끄럽고 정말 좋아 보입니다.

다른 쪽을 위해 ...

작은 글꼴을 찾고 있다면 이것을 시도해 볼 수 있지만 그다지 효과적이지 않습니다.

텍스트의 부모에게 다음 CSS 속성을 적용하십시오. -webkit-backface-visibility: hidden;

다음과 같이 변환 할 수 있습니다.

-웹킷 백-가시성 : 보이는;

이에:

-웹킷 백-가시성 : 숨김;

(글꼴은 Kreon)

당신이 그 속성을 넣어하지 않을 때, 것을 고려 -webkit-backface-visibility: visible;상속입니다

그러나 주의 깊게 보시면 Chrome이 텍스트를 약간 흐리게 보이게 만듭니다.

또 다른 흥미로운 사실 ​​:

-webkit-backface-visibility: hidden;Chrome에서 텍스트를 변환 할 때도 작동합니다 ( -webkit-transform회전, 기울이기 등 의 속성 포함)

없이

없이 -webkit-backface-visibility: hidden;

와

와 -webkit-backface-visibility: hidden;

글쎄, 그 관행이 왜 효과가 있는지 모르겠지만 그것은 나를 위해합니다. 이상한 영어로 죄송합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.