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.