2012-02-23 14 views
10

que estoy usando la fuente de Ubuntu desde Google Fuentes:TTF instalado localmente anula las fuentes de Google

<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,300italic,400italic,500,500italic,700,700italic' rel='stylesheet' type='text/css' /> 

Mi hoja de estilo:

body { 
    font-family: 'ubuntu',arial; 
} 

Funciona, pero si instalar una fuente con el mismo nombre (Ubuntu), anula el de Google Fonts.

¿Es posible obligar al navegador a usar el de Google Fonts?

Respuesta

11

La respuesta no está en su código, sino en Google.

Aquí es parte de la CSS que está solicitando:

@font-face { 
    font-family: 'Ubuntu'; 
    font-style: normal; 
    font-weight: bold; 
    src: local('Ubuntu Bold'), local('Ubuntu-Bold'), url('http://themes.googleusercontent.com/static/fonts/ubuntu/v4/0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff') format('woff'); 
} 

línea clave aquí es local('Ubuntu Bold'), que pide para cargar archivos local si es posible. La solución más simple es copiar todo el CSS de Google, pegarlo en su propio CSS y modificar este nombre local para que sea, por ejemplo, local('Ubuntu Bold NonExisting Name or Something Else'). Dicha fuente no existe y no reemplazará la fuente cargada por CSS.

P.S. No lo he probado yo mismo. Si 0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff URL expira, entonces se encuentra en una situación difícil. Intente ver la licencia de la fuente y considere alojar la fuente usted mismo, si la prevención de la anulación local es una prioridad.

+3

¿Por qué cambiarlo a 'local ('Something Nonexistant')'? ¿Por qué no simplemente eliminar a los lugareños por lo que solo es 'url ('whatever')'? –

+3

Esta técnica (especificando el nombre de fuente inexistente) fue la base del método 'Smiley'. Más tarde, el uso de caracteres UTF-8 causó algunos errores con Android, por lo que ese método ya no se recomienda. Pero supongo que hubo una razón para este truco. Posiblemente, algún navegador intentó detectar y cargar la fuente local de todos modos. Sin embargo, sería una buena idea intentar sin 'local()' y ver si funciona en cada navegador. Puede. –

+0

Gracias. Parece funcionar. Haré algunas pruebas más mañana y actualizaré esta pregunta. Olvidé las partes locales como Matt sugirió. – Martin

Cuestiones relacionadas