2010-07-08 19 views
14

Używam @font-face do wyświetlania League Gothic na stronie internetowej, ale nie wyświetla się ona na Androidzie 1.6. Oto mój kod, generowany z Font Squirrel's @font-face generatorCzcionki CSS na Androida

@font-face { 
    font-family: 'LeagueGothicRegular'; 
    src: url('/fonts/League_Gothic-webfont.eot'); 
    src: local('☺'), url('/fonts/League_Gothic-webfont.woff') format('woff'), url('/fonts/League_Gothic-webfont.ttf') format('truetype'), url('/fonts/League_Gothic-webfont.svg#webfont') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

font-family:'LeagueGothicRegular',Impact,Charcoal,sans-serif; 

To nie jest wielka sprawa jeśli @font-face nie jest obsługiwana (czytałem, że @font-face wsparcie zniknął całkowicie w Androida 2). Ale League Gothic jest dość skondensowany, więc chciałbym określić lepszą czcionkę zastępczą dla systemu Android niż domyślny sans-serif, aby projekt się nie zepsuł.

Coś takiego byłoby idealne: http://www.droidfonts.com/info/droid-sans-condensed-fonts/

Ale nie mogę znaleźć ostateczną listę czcionek domyślnych, które pochodzą z Androidem, a nazwa należy używać odwołać je w CSS.

EDIT Odpowiedzi do tej pory brakowało punkt (albo ja źle sformułowane pytanie) - co jestem po to lista systemie czcionek statek z Androidem. Coś like this dla Androida.

+0

Wygląda na to może być ustalone w Android 2.2 - http: // kod .google.com/p/android/issues/detail? id = 8655 –

+0

Bryan: nawet z Androidem 2.2 błąd związany z obsługą local() (często używany do obejścia i błąd IE) wciąż psuje Androida. Zobacz http://code.google.com/p/android/issues/detail?id=10609. – mikemaccana

+0

Hej, Ben, czy byłeś w stanie używać Czcionek Droida bez umieszczania ich w swojej aplikacji lub w Internecie? tylko z css, jak wspominałeś w zaakceptowanej odpowiedzi? –

Odpowiedz

12

Czcionki, które widzę zainstalowane w moim systemie Android (2.2) pliki systemowe są następujące:

  • Clockopia.ttf
  • DroidSans-Bold.ttf
  • DroidSans.ttf
  • DroidSansArabic.ttf
  • DroidSansFallback.ttf
  • DroidSansHebrew.ttf
  • DroidSansMono.ttf
  • DroidSansThai.ttf
  • DroidSerif-Bold.ttf
  • DroidSerif-BoldItalic.ttf
  • DroidSerif-italic.ttf
  • DroidSerif-Regular.ttf
+0

To jest dokładnie to, co byłem po Zog, dzięki. – Ben

+7

W celu uzyskania punktów bonusowych, jaki pomysł powinien zostać użyty do określenia tych czcionek w CSS? na przykład rodzina czcionek: "Droid Sans", sans-serif; lub rodzina czcionek: DroidSans, sans-serif; czy coś jeszcze? – Ben

+1

Hej, Ben, czy byłeś w stanie używać Czcionek Droida bez umieszczania ich w swojej aplikacji lub w Internecie? tylko z css, jak wspominałeś? –

44

Miałem dokładnie ten sam problem, próbując uruchomić webfonts do pracy na imeveryone. Jak na razie, nie wydaje się być w dowolnym miejscu w internecie, który stwierdza to bezpośrednio, więc zrobię to tutaj:

The „lokalnego()” składni do stop IE choking on file formats IE doesn't support także stops Android from loading fonts that Android does support.

Och kochanie. Ale można to łatwo naprawić. Ważne jest, aby zignorować lokalne obejście "Bulletproof Font Face". To zgrabny hack i nie powinien łamać Androida, ale robi to, obwiniać Google. Pliki

Android does support TTF and OTF. Odpowiednia składnia do obsługi zarówno Androida, jak i IE (i każdej innej przeglądarki) jest zgodna z poniższą wersją: .

O 1) Potrzebne są dwa oddzielne arkusze stylów czcionek przed jakimkolwiek arkusze stylów regularnych:

<link rel="stylesheet" type="text/css" href="/css/fonts.css" /> 
<!--[if IE]> 
    <link rel="stylesheet" href="/css/styleiefonts.css}" type="text/css" charset="utf-8" /> 
<![endif]--> 

O 2) w normalnej arkusza stylów, wykorzystywanych przez Androida i większości innych przeglądarek, nie używaj miejscowy Hack:

@font-face { 
    font-family: 'LeagueGothicRegular'; 
    src: url('/static/fonts/League_Gothic-webfont.woff') format('woff'), 
     url('/static/fonts/League_Gothic-webfont.ttf') format('truetype'), 
     url('/static/fonts/League_Gothic-webfont.svg#webfontOTINA1xY') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

o 3. W arkuszu IE specyficzny styl, dalej normalnie:

@font-face { 
    font-family: 'LeagueGothicRegular'; 
    src: url('/static/fonts/League_Gothic-webfont.eot'); 
} 

To wszystko, czego potrzebujesz, aby uzyskać działające webfony we wszystkich przeglądarkach. Na razie. Pewnego dnia Google naprawi Androida, a MS naprawi IE, więc ta odpowiedź nie będzie już obowiązywać.

+0

FYI Trevor Usunąłem kręcone szelki, były one po prostu resztkami z szablonu Tornado. – mikemaccana

+1

Awesome job man, didnt myślę, że to było możliwe. Dzięki! – Batfan

+1

Dzięki mate, kudu high-five./Dave – SpiRail

11

Słyszałem, ale nie przetestowałem siebie, że metoda "Mo' Bulletproofer" opracowana przez Richarda Finka działa na wszystkie te problemy (IE i Android) bez potrzeby stosowania podwójnych arkuszy stylów. Składnia to:

@font-face{ /* for IE */ 
font-family:'LeagueGothicRegular'; 
src:url(fishy.eot); 
} 
@font-face { /* for non-IE */ 
font-family: 'LeagueGothicRegular'; 
src:url(http://:/) format("No-IE-404"),url('/fonts/League_Gothic-webfont.woff') format('woff'), url('/fonts/League_Gothic-webfont.ttf') format('truetype'), url('/fonts/League_Gothic-webfont.svg#webfont') format('svg'); 
} 

Mam nadzieję, że to pomoże!

+1

Testowałem i mogę potwierdzić, że działa to we wszystkich głównych przeglądarkach, w tym w systemie Android 2.2. Dzięki Ethan! – mikemaccana

+0

@nailer, co myślisz, czy mogę osadzić inną czcionkę językową, taką jak czcionka armeńska lub georgiańska, tak jak to, i wyświetlać w tekście przeglądarki, co zwykle jest pokazywane znakami kwadratu? –

Powiązane problemy