Leyendo The Principles of Beautiful Typography, en Sitepoint, me reencuentro, en la página 2, con la siguiente inexactitud:
Remember that any font family names that include spaces must be quoted, either using single (’) or double (”) quotes.
Confusión para las masas. Veamos que dice la recomendación (candidata) de CSS 2.1:
If an unquoted font family name contains parentheses, brackets, and/or braces, they must still be escaped per CSS grammar rules. Similarly, quotation marks (both single and double), semicolons, exclamation marks, commas, and leading slashes within unquoted font family names must be escaped. Font names containing any such characters or whitespace should be quoted:
Compárese must con should. No match! Debe no es lo mismo que debería.
A continuación, se describe el algoritmo para obtener el nombre de la familia tipográfica en los casos en que no aparece entrecomillado:
If quoting is omitted, any whitespace characters before and after the font name are ignored and any sequence of whitespace characters inside the font name is converted to a single space. Font family names that happen to be the same as a keyword value (e.g. ‘initial’, ‘inherit’, ‘default’, ’serif’, ’sans-serif’, ‘monospace’, ‘fantasy’, and ‘cursive’) must be quoted to prevent confusion with the keywords with the same names. UAs must not consider these keywords as matching the ‘<family-name>’ type.
Es decir, para la gran mayoría de los casos, es completamente innecesario entrecomillar el nombre de la fuente: con font-family: Trebuchet MS, sans-serif obtenemos el mismo resultado que font-family: "Trebuchet MS", sans-serif.
Concluyendo: no es necesario (salvo en casos raros y extremos descritos en la especificación) entrecomillar los nombres de tipografías que contienen espacios. Y decir lo contrario, amigos, es confundir. Colleja para Jason Beaird.
Sensibilidad a mayúsculas y minúsculas (me pregunto por la)
Mientras pensaba en escribir esta notita, y reflexionando sobre mi manera de escribir hojas de estilo, he caído en la cuenta de que además de no utilizar comillas, siempre escribo los nombres de tipografías en minúsculas. Tal que:
body {
font-family: trebuchet ms, sans-serif;
}
Y me he preguntado si tal irresponsable actitud –consúltese Font Name Case Testing para comprobar si es fuente de problemas– concuerda o no con la recomendación. En la sección de tipografía, no hay nada al respecto. Es en Characters and case donde se dice que
All CSS style sheets are case-insensitive, except for parts that are not under the control of CSS. For example, the case-sensitivity of values of the HTML attributes “id” and “class”, of font names, and of URIs lies outside the scope of this specification. Note in particular that element names are case-insensitive in HTML, but case-sensitive in XML.
Entonces, ¿qué? (Léase este «¿qué?» como «y vosotros, ¿cómo lo hacéis? ¿Os habéis encontrado algún problema?»)


4 comentarios RSS
Yo soy un chico bueno y sigo las recomendaciones del W3, siempre pongo la fuente entre comillas doble. Yo si me he encontrado con problemas debido a esto, al menos en Linux.
Siguiendo las recomendaciones del W3C no es necesario entrecomillar.
Ahora, bueno es saber que puede dar problemas (en navegadores que no siguen la reglas). ¿Podrías detallar navegador, etc?
Siempre entre comillas dobles (las simples me caen mal) si son nombres con espacios y con mayúsculas y minúsculas y todas sus cosas.
Nunca me he encontrado problemas, lo hago por instinto XD
Yo también. Trato de utilizar las comillas por el simple hecho de reconocimiento y orden. Además, también respeto la sensibilidad del nombre de las tipografías porque más de una vez por no respetarlas los navegadores no me mostraban la tipografía que quería.