Clase MsoNormal en HTML exportado desde Office: estilos, fuentes y código no estándar

Al guardar un documento de Microsoft Office como HTML, el código contiene etiquetas HTML estándar y muchas etiquetas propietarias de Microsoft. Una de ellas, MsoNormal, forma parte de la hoja de estilos insertada en el código para definir cómo mostrar el contenido de la página web. A menudo este código permanece incluso tras editar el archivo en otra aplicación.

Código HTML de Microsoft

El HTML de Microsoft contiene etiquetas estándar: <html> al inicio y fin, <head> para cabecera (incluye <style>), y <body> para el contenido. La etiqueta <style> contiene definiciones de cómo mostrar texto y ahí empiezan a aparecer códigos específicos de Microsoft, como MsoNormal. Este estilo se aplica a los párrafos del cuerpo de la página.

Definiciones de fuente

Microsoft también inserta definiciones de fuente (estilos que definen la fuente por defecto, ej. font-family Calibri o sans-serif) en la hoja de estilos. Puedes sobrescribir esta fuente especificando otra en otro estilo de párrafo. Ejemplo: un estilo de párrafo puede especificar Times New Roman o familia serif y anularía la fuente por defecto. Las definiciones de fuente también incluyen números Panose, de un sistema de clasificación tipográfica que rara vez aparece en estilos HTML estándar.

MsoNormal en uso

La etiqueta <body> contiene el contenido de la página, y la hoja de estilos asigna un estilo a cada párrafo. Los estilos se designan como una clase seguida del nombre del estilo. Ejemplo: <p class=MsoNormal> para párrafo de texto plano o <p class=MsoListParagraph> para lista con viñetas o numerada. El estilo define márgenes (arriba, derecha, abajo, izquierda), altura de línea, tamaño de fuente y familia tipográfica del párrafo.

Código HTML no estándar

El proceso de conversión de Microsoft inserta más código del necesario y las etiquetas HTML propietarias no cumplen el estándar HTML definido por el W3C (World Wide Web Consortium), organización que crea estándares para Internet. Servidores no Microsoft y navegadores distintos a Internet Explorer tienen dificultad interpretando etiquetas específicas de Microsoft. Sin embargo, estas etiquetas permiten que el código se renderice para que Microsoft Word pueda abrir la página web.