firefox - 크롬 - 특정 사이트 깨짐 현상




Firefox에서 Materialize의 Roboto 글꼴 문제 표시 (2)

Materialize 를 사용하여 일부 웹 페이지의 스타일을 지정합니다. Roboto 글꼴이 Firefox (v43.0.3)에서 올바르게 렌더링되지 않지만 Chrome에서는 괜찮아 보입니다. 두 브라우저 모두 내 서버에서 woff2 글꼴 파일을 다운로드하고 있습니다. 이 질문 은 현대적인 브라우저에서 최적의 선택임을 나타냅니다.

크롬 렌더링 :

파이어 폭스 렌더링 :

(이 저해상도 스크린 캡 캡은 최고의 복제물이 아니라는 점을 알고 있습니다. 실제 브라우저에서는 그 차이가 더욱 분명합니다.)

Firefox 콘솔에서 다음과 유사한 오류 메시지 문자열이 표시됩니다.

downloadable font: GSUB: too large substitute: 65535 (font-family: "Roboto" style:normal weight:normal stretch:normal src index:1)

downloadable font: Layout: Failed to parse lookup subtable 0 (font-family: "Roboto" style:normal weight:normal stretch:normal src index:1)

downloadable font: Layout: Failed to parse lookup subtable 0 (font-family: "Roboto" style:normal weight:normal stretch:normal src index:1)

Chrome에 대한 불만 없음

필자는 폰트 렌더링의 복잡성에 익숙하지 않았기 때문에, 그 영역에 대한 지식이있는 사람이 Firefox의 오류 메시지를 기반으로 문제를 파악할 수 있기를 바랍니다.


나에게 그것은 woff2 파일이 내부 글꼴 테이블에 대한 잘못된 오프셋을 가지고 있거나 Firefox가 오프셋을 구문 분석 할 때 잘못된 오프셋을 읽은 것처럼 보입니다.

오류 메시지에 언급 된 GSUB 테이블은 글리프 대체 (예 : 합자 구성 및 분해, 동일한 문자 코드에 대한 대체 글리프 등)를 정의하기 때문에 렌더링 문제의 주요 원인이 될 수 없습니다. 테이블에는 표준 글리프에 대한 렌더링 정보가 포함되어 있지 않으므로 해당 테이블 만로드하지 못하면 표준 텍스트 렌더링에 영향을 미치지 않아야합니다. GSUB 테이블에 대한 자세한 내용은 Microsoft의 OTF 사양을 참조하십시오 .

또한이 웹 사이트를 볼 때 또 다른 오류 메시지가 나타납니다. http://gwt-material-demo.herokuapp.com/

Firefox는 OS/2 테이블 (Windows 글꼴 메트릭 포함)에 문제가 있음을 알려줍니다. 이것은 폰트 파일의 완전히 다른 부분으로, 폰트 구조에 문제가 있거나 폰트 구조를 읽음을 다시 나타냅니다.

그래서 할 수있는 일이 두 가지 있습니다.

  1. woff2 파일을 사용하지 마십시오.

  2. Robot 및 Firefox 개발자에게 문제에 대해 알리고 그들이이 버그의 원인을 찾고 해결할 수 있기를 바랍니다.


마침내 좀 더 많은 시간을 들여다 보았습니다. 구체화 저장소의 글꼴 파일 중 일부에 결함이있는 것으로 보입니다. dist/font/roboto 디렉토리의 dist/font/roboto 파일을 roboto-fontface-bower 에서 사용할 수있는 동일한 파일로 대체하여이 문제를 완전히 해결할 수있었습니다. v0.3.0 또는 그 이상 버전 브랜치 중 하나를 선택하십시오.

희망이 이것에 의해 좌절 누가 다른 사람을 도와줍니다.