2012-03-14 6 views
4

공개 Wi-Fi 액세스 포인트 용 스플래시 페이지를 디자인 중이며 다른 모든 브라우저에서 작동하는 반면 Firefox는 내 맞춤 글꼴을 표시하지 않습니다 (< 9 그러나 그것은 예상되었다).Firefox에서 @ font-face로 데이터 uri를 사용하는 방법

  • 인터넷에 액세스 할 수 없음 :이 페이지는 용어 및 조건을 받아 들일 사용자 전에 표시되므로 모든
  • 을 차단 페이지가 저장되어

    이 페이지에는 다음과 같은 제약 조건에서 작업해야 액세스 포인트에 : 아마도 C로 작성된 임베디드 서버를 의미하며 실제로 헤더 나 다른 헤더를 추가 할 수는 없습니다. 그럼 오픈 소스이므로 가능할 수도 있지만, 나는 확실히 임베디드 개발자가 아닙니다!

  • WiFi는 제공되는 작은 마을을 광고하는 데 사용되므로 가능한 한 예쁘게해야합니다.

    @font-face { 
        font-family: Lato-Light; 
        src: url(data:application/font-woff;base64,<large base64 string>) 
         format('woff'); 
    } 
    
    h1{ 
        font-family: Lato-Light, Helvetica, sans-serif; 
    } 
    

    그것은 파이어 폭스를 제외하고 ... 마법처럼 작동 :

내가과 같이, 데이터 URI와 함께 @ 글꼴 얼굴을 사용하는 제약 조건을 충족합니다. 이제는 구형 인터넷 익스플로러에서는 작동하지 않는다는 것을 이해하지만, 이제는 그 일을 할 준비가되었습니다. 그러나 소위 현대 브라우저가 그 기능을 제공하지 않는다는 것이 이상하게 보입니다. 왜이 기능이 작동하지 않습니까?

편집 : 물론, 나는 대체에 대한 많은 생각을 가지고 있지만 여기에 내 질문은 더 있습니다 : 왜 파이어 폭스는 다른 브라우저와 다른이 동작을합니까? 보안 설정입니까? data-uri 구현의 버그? data-uri의 크기 제한은 무엇입니까?

+0

이미이 페이지를 서비스하고있는 동일한 액세스 포인트에서 다른 리소스로 글꼴을 제공 할 수 없습니까? – ephemient

+0

아마도. 나는 그 가능성을 아직 탐구하지 않았으므로, 나는 더 나쁜 경우 시나리오를 위해 그것을하고있다. 나는 아직 실제 하드웨어에 액세스 할 수 없었지만, 내가 할 수 있다고 확신하지 못했습니다. 하지만 여전히 질문이 많았습니다. 파이어 폭스가 다른 모든 사람들처럼 행동하지 않는 이유는 무엇입니까? –

+0

이것이 작동합니다. 문제가있는 페이지로 연결되는 링크가 있습니까? –

답변

4

결국 문제는 잘못된 글꼴을 생성하는 woff 글꼴 생성기를 사용한다는 것이 었습니다. 사파리와 IE는 그것을 읽을 수 있었지만 파이어 폭스와 최신 버전의 크롬은 오류가 있었기 때문에 그것을 거절했다. 보다 최근의 woff 글꼴 생성기를 사용하여 모든 브라우저에서 작동하도록 만들 수있었습니다.

올바른 WOFF 폰트 생성기

더 자세히 들어

http://people.mozilla.org/~jkew/woff/

, 버그보고 확인 :

https://bugzilla.mozilla.org/show_bug.cgi?id=735556

내가 대답을 제공하는 모질라의 조나단 큐 감사드립니다

.

+0

Nope on Firefox가 작동하지 않습니다 !!! – user956584

+2

제 답변에 font-generator를 사용하면 작동합니다. 모든 브라우저에서 잘 보이는 글꼴이 포함 된 페이지가 있습니다. 지금보고 있습니다. 그러나 Google에서 "woff font converter"를 입력 한 경우 나 (http://orionevent.comxa.com/otf2woff.html)와 같은 잘못된 글꼴 생성기가있을 수 있습니다. Google에서의 두 번째 결과이기 때문에 쉽습니다. 나는 그 (것)들에게 버그 리포트를 보냈지 만 다시들은 적이 없다. –

+0

그래서 base64로 변환하면 괜찮습니까? – user956584

-1

HTTP 요청을 줄이기 위해 하위 세트와 Base64가 CSS (Font Squirrel @ Font-Face Generator, 고급 설정 및 icomoon.io를 사용한 아이콘 글꼴의 경우)에 몇 개의 웹 글꼴을 포함 시켰습니다.

정적 인 하위 도메인에서 서비스를 제공하는 것이 정말 영리하다고 생각했습니다. Firefox에서는 허용되지 않습니다.

분명히 Firefox 고유의 제한적인 크로스 도메인 리소스 설정이었습니다. HTML5 Boilerplate '표준'.htaccess 파일을 업로드하면 특별히 허용되며 문제를 해결했습니다.

미래의 독자가 도움이되기를 바랍니다. 잠시 나마 비틀 거리고 있습니다. 내 용어가 정확하지 않으면 미안합니다. H5BP .htaccess 주석과 문서에서 잘 설명됩니다.