2012-12-24 3 views
1

내 사이트에서 사용자 정의 글꼴을 사용하고 있습니다.요소가 CSS3- 애니메이션 일 때 글꼴 효과/처리 적용 Safari

@font-face { 
    font-family: 'ProximaNovaCondensed-Regular'; 
    src: url('/media/fonts/proximanovacond-regular-webfont.eot'); 
    src: url('/media/fonts/proximanovacond-regular-webfont.eot?#iefix') format('embedded-opentype'), 
    url('/media/fonts/proximanovacond-regular-webfont.woff') format('woff'), 
    url('/media/fonts/proximanovacond-regular-webfont.ttf') format('truetype'), 
    url('/media/fonts/proximanovacond-regular-webfont.svg#proxima_nova_cn_rgregular') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

맥동 CSS3 애니메이션을 텍스트 요소에 적용하면 글꼴 렌더링 방법이 변경된 것처럼 보입니다. 이 Safari에서 렌더링 된

enter image description here

:

이 비교 이미지를 참조하십시오. 애니메이션이 적용되면 Safari changing font weights when unrelated animations are running

이가 말했다 무엇에 따르면, 렌더링은 GPU에 의해 수행됩니다

나는이 Q/A를 발견했다. 링크의 Q/A에서 문제가 영향을받는 요소 이외의 다른 요소에 초점을 맞추고 있지만, 실제로는 실제 요소가 영향을받습니다.

질문 : 난 내 페이지에 걸쳐 정확한 (통합) 폰트 렌더링 품질을 얻을 수 있도록

어떻게 든 관계없이 내가 애니메이션을 사용하는지의 여부, 끄거나 동작을 수정할 수 있습니까?

답변

1

완벽한 해결책은 없지만 -webkit-font-smoothing: antialiased;을 추가하여 도움이되는지 확인해보십시오. 약간 더 얇은 글꼴을 줄 수도 있지만 적어도 통합 될 것입니다.

EDIT-죄송 합니다만, "안티 앨리어싱 된"수정본이 링크 된 Q/A에 게시 된 것을 보았습니다.

간혹 영향을받는 요소에 -webkit-backface-visibility: hidden;을 추가하는 것이 도움이되지만, 그 이유는 모르겠습니다. 또한 위의 수정과 같은 하드웨어 가속을 강제로 글꼴을 만들 것입니다 -webkit-transform: translate3d(0,0,0);, 통합하지만, 약간 얇은를 시도 할 수 있습니다

... 도움이

희망!

+1

그게 전부입니다. 서브 픽셀 렌더링에 대한 자세한 내용은 http://cantina.co/2012/05/18/little-details-subpixel-vs-greyscale-antialiasing/을 참조하십시오. – mddw

+0

당신이 언급 한 솔루션은 현재 우리에게 제공되는 유일한 솔루션이라고 생각합니다. 나는 그들 중 누구도 듣지 못했다. 문제는 내가 숨겨진 배면 - 가시성 또는 translate3d (0,0,0)을 적용하는지 여부입니다. 두 경우 모두 글꼴 렌더링이 내 두 이미지 중 첫 번째 이미지에 표시되는 것으로 변경됩니다. 기본적으로 애니메이션이 실행되는 동안 글꼴에 적용되는 내용이 정적으로 적용되는 것 같습니다. – SquareCat