2010-07-08 18 views
14

Estoy usando @font-face para mostrar League Gothic en un sitio web, pero no aparece en Android 1.6. Aquí está mi código, generado con Font Squirrel's @font-face generatorfuentes CSS en Android

@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; 

¡No es no es compatible con un gran problema si @font-face (leí que @font-face apoyo ha desaparecido por completo en Android 2). Pero League Gothic está bastante condensado, por lo que me gustaría especificar una mejor fuente de respaldo para Android que el sans-serif predeterminado, por lo que el diseño no se rompe por completo.

Algo como esto sería perfecto: http://www.droidfonts.com/info/droid-sans-condensed-fonts/

Pero no puedo encontrar una lista definitiva de las fuentes predeterminadas que vienen con Android, y el nombre que debe utilizar para hacer referencia a ellos en el CSS.

EDITAR Las respuestas hasta el momento se perdió el punto (o I redactado la pregunta mal) - lo que busco es una lista de fuentes del sistema que se incluyen con Android. Algo like this para Android.

+0

se parece a esto puede estar fijado en androide 2,2 - http: // código .google.com/p/android/issues/detail? id = 8655 –

+0

Bryan: incluso con Android 2.2, el error relacionado con el soporte local() suele utilizarse para romper Android. Ver http://code.google.com/p/android/issues/detail?id=10609. – mikemaccana

+0

Hola Ben, ¿pudiste utilizar las Fuentes Droid sin incluirlas en tu aplicación o en la web? solo por css, la forma en que lo mencionaste en la respuesta aceptada? –

Respuesta

12

Las fuentes que veo instaladas en mi Android (2.2) los archivos del sistema son:

  • 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

Esto es exactamente lo que buscaba Zog, gracias. – Ben

+7

Para obtener puntos de bonificación, ¿alguna idea de qué nombres se deben usar para hacer referencia a estas fuentes en CSS? p.ej. font-family: "Droid Sans", sans-serif; o font-family: DroidSans, sans-serif; o algo más? – Ben

+1

Hola Ben, ¿pudiste utilizar las Fuentes Droid sin incluirlas en tu aplicación o en la web? solo por css, como lo mencionaste? –

44

He tenido exactamente el mismo problema al intentar que los webfonts funcionen en imeveryone. A partir de ahora, no parece estar en cualquier lugar en Internet que afirma esto directamente, así que haré aquí:

El ') local (' sintaxis utilizada para stop IE choking on file formats IE doesn't support también stops Android from loading fonts that Android does support.

Oh querido. Pero es fácil de arreglar. Lo importante es ignorar la solución IE local 'Bulletproof Font Face'. Es un truco perfecto, y no debería romper Android, pero lo hace, culpe a Google.

Android does support TTF and OTF archivos. La sintaxis correcta de para admitir tanto a Android como a IE (y a cualquier otro navegador) feliz es la siguiente.

O 1) Se necesitan dos hojas separadas de estilo para las fuentes, antes de cualquier hoja de estilo regulares:

<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) en la hoja de estilo normal, utilizado por Android y la mayoría de otros navegadores, no utilice el corte local:

@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. En la hoja de estilo específica IE, continuar como normal:

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

Eso es todo lo que necesita para obtener redes web en funcionamiento en todos los navegadores. Por ahora. Algún día Google arreglará Android y MS arreglará IE, por lo que esta respuesta ya no se aplicará.

+0

FYI Trevor He eliminado las llaves, solo eran restos de una plantilla de Tornado. – mikemaccana

+1

Awesome job man, no pensé que esto fuera posible. ¡Gracias! – Batfan

+1

Gracias amigo, kudu choca esos cinco./Dave – SpiRail

11

He oído, pero no he probado que el método "Mo' Bulletproofer" desarrollado por Richard Fink resuelve todos estos problemas (IE y Android) sin la necesidad de hojas de estilo dobles. La sintaxis es:

@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'); 
} 

Espero que esto ayude!

+1

He probado y puedo confirmar que funciona en todos los principales navegadores, incluido Android 2.2 ¡Gracias Ethan! – mikemaccana

+0

@nailer lo que piensas, ¿puedo incrustar otra fuente idiomática como fuente armenia o georgiana como esta y mostrar en el texto del navegador, que generalmente se muestra con signos de cuadrante? –

Cuestiones relacionadas