Home

El documento original del W3C es la nica referencia oficial y normativa vlida.

Este documento puede contener errores de traducción.

Translation time: 2005/07/15, Tadas Talaikis, info@nakagava.com

El URI de este documento es http://www.w3.org/TR/ruby/

W3C

Anotación Ruby

Recomendación W3C del 31 de Mayo de 2001

Esta versión:
http://www.w3.org/TR/2001/REC-ruby-20010531/
(ZIP archive)
Última versión:

Versión Previa:
http://www.w3.org/TR/2001/PR-ruby-20010406/
Editores:
Marcin Sawicki (hasta el 10 de octubre de 1999)
Michel Suignard, Microsoft
Masayasu Ishikawa (石川 雅康), W3C
Martin Dürst, W3C
Tex Texin, Progress Software Corp.
(Ver en Agradecimientos para colaboradores adicionales)

Resumen

"Ruby" son comandos cortos de texto al lado del texto base, típicamente utilizados en documentos asiáticos para indicar pronunciación o para proveer una nota breve. Esta especificación define las marcas para ruby, en la forma de un modulo XHTML [XHTMLMOD].

Estado de Este Documento

Esta sección describe el estado de este documento al momento de su publicación. Otros documentos pueden reemplazar al mismo. El último estado de esta serie de documentos es mantenido en el W3C.

Este documento ha sido revisado por miembros del W3C y por otras partes interesadas y ha sido endosado por el Director como una Recomendación del W3C. Es un documento estable y puede utilizarse como material de referencia o citarse como una referencia normativa desde otro documento. El rol del W3C en publicar esta recomendación es para llamar la atención a la especificación y para promover su desarrollo extenso. Esto realza la funcionalidad e interoperabilidad de la Web.

Este documento ha sido producido como parte de la Actividad de Internacionalización del W3C por el Grupo de Trabajo de Internacionalización (I18N WG, sólo miembros) con la ayuda del Grupo de Interés de la Internacionalización (I18N IG). Los comentarios se deben dirigir a la lista de e-mails archivada públicamente a www-i18n-comments@w3.org. Cualquier comentario en otro idioma que no sea Inglés, Japonés en particular, será también bienvenido. La discusión pública de este documento tiene lugar en la lista de e-mails www-international@w3.org (ver archivo).

Debido a su contenido, y para que los ejemplos se vean más realistas, este documento incluye ejemplos que utilizan un amplio rango de caracteres. No todos los agentes de usuarios pueden ser capaces de exhibir todos los caracteres. Según sea el agente de usuario, el cambio de configuración puede mejorar la situación. También se ha puesto mucho cuidado en servir este documento en varias codificaciones de caracteres para cubrir un gran espectro de agentes de usuarios y configuraciones.

La información relacionada con este documento puede encontrarse en la página pública de ruby (http://www.w3.org/International/O-HTML-ruby). La misma incluye traducciones de esta especificación así como posibles errores. Una lista de Recomendaciones del W3C y de otros documentos técnicos actuales pueden encontrarse en http://www.w3.org/TR.

No se han emitido declaraciones con respecto a patentes relacionadas con esta especificación dentro del Grupo de Trabajo.


Contenidos


1.  Introducción

Esta sección es informativa.

Este documento presenta una sinopsis de notas acerca del módulo ruby y define las marcas que se le aplican. Se proveen varios ejemplos. Sin embargo, el mismo no especifica ningún mecanismo para la presentación o diseño del módulo ruby, esto es parte de los lenguajes respectivos.

Este documento está organizado de la siguiente manera:

Sección 1.1 brinda un resumen del módulo anotación ruby.

Sección 1.2 brinda un resumen acerca de las marcas en el modulo anotación ruby.

Sección 2 provee la definición normativa de las marcas.

Sección 3 discute la interpretación y el estilo típico del texto ruby.

Sección 4 provee el criterio de conformidad.

1.1 Qué es ruby?

Ruby es el término utilizado para una sentencia de texto asociada con otra sentencia de texto, la que se refiere como texto base. El texto ruby se utiliza para proveer una anotación corta del texto base asociado. Mayormente se utiliza para suministrar una lectura (guía de pronunciación). Las anotaciones se usan frecuentemente en Japón en muchos tipos de publicaciones, que incluyen libros y revistas. También se utilizan en China, especialmente en libros de texto.

El texto ruby usualmente se presenta al lado del texto base, con una tipografía más pequeña. El nombre “ruby”, de hecho, se originó del nombre de la fuente tamaño 5.5pt en la imprenta británica, que es casi la mitad del tamaño 10pt comúnmente utilizado en textos normales. La Figura 1.1 muestra un ejemplo, con tres ideogramas (kanji) como texto base, y seis hiragana que le dan la lectura (shinkansen - tren bala japonés).

At the bottom left, three Japanese ideographs from left to right. On top of them, six hiragana characters at half size. To the right, arrows and text saying 'ruby base' (bottom) and 'ruby text' (top).

Figura 1.1: Texto Ruby proporcionando la lectura de cada carácter del texto base.

La tipografía oriental ha desarrollado varias características que no aparecen en la tipografía occidental. La mayoría de las mismas se pueden tratar apropiadamente con lenguajes tales como CSS o XSL. Sin embargo, se requieren marcas adicionales para definir la asociación entre el texto base y el texto ruby.

Esta especificación define tal marca, diseñada para ser usada con el XHTML, de manera que el texto ruby se encuentre disponible en la Web sin utilizar controladores de salida especiales o gráficos. A pesar de que esta especificación nos da el ejemplo de la interpretación actual para facilitar a la mayoría de los lectores el entendimiento de la marca, tales ejemplos son sólo informativos. Este documento no especifica ningún mecanismo para la presentación o el estilo, eso parte de los lenguajes de hojas de estilo respectivos.

A veces, más de un texto ruby es asociado con el mismo texto base. Un ejemplo típico es indicar ambos significados así como la lectura para el mismo texto base. En tales casos, los textos ruby pueden aparecer en ambos lados del texto base. El texto ruby antes del texto base se utiliza a menudo para indicar la lectura, el texto ruby luego del texto base se usa para indicar el significado. La Figura 1.2 nos muestra un ejemplo de texto base con dos textos ruby, utilizando hiragana y Letras Latinas en la lectura.

At the left, three Japanese ideographs from left to right. On top of them, six hiragana characters at half size. Below the ideographs, the text 'shinkansen'. To the right, arrows and text saying 'ruby base' (middle), 'ruby text' (top), and 'ruby text 2' (bottom).

Figura 1.2: Dos textos ruby aplicados al mismo texto base.

Más aún, cada texto ruby puede asociarse con partes diferentes, pero superpuestas, del texto base, como vemos en el siguiente ejemplo:

Mes Día Año
10 31 2002
Fecha de Vencimiento

Figura 1.3: Texto base con dos textos ruby que utilizan diferentes asociaciones

En este ejemplo, el texto base es la fecha “10 31 2002”. Un texto ruby es la frase “Fecha de Vencimiento”. El mismo está asociado con el texto base entero. El otro texto ruby tiene 3 partes: “Mes”, “Día” y “Año” Cada parte se asocia con una parte diferente del texto base. “Mes” se asocia con “10”, “Día” se asocia con “31” y “Año” se asocia con “2002”.

1.2 Visión General de las Marcas en Ruby

Las marcas definidas en esta especificación están diseñadas para cubrir todos los casos antes mencionados, ya sean marcas para uno o dos textos ruby asociados con el mismo texto base y marcas para asociaciones de subseries del/los texto(s) ruby con componentes del texto base.

Existen dos variantes de las marcas que se le aplican al texto llamadas marcas ruby simples y marcas ruby complejas. Las marcas ruby simples asocian un texto ruby simple con una sentencia del texto base. La marca ruby simple también puede especificar un mecanismo de soporte que permita exhibir el texto ruby mediante browsers (de antiguas versiones) que no conocen acerca de las marcas. La marca ruby compleja puede asociar dos textos ruby con un texto base, y puede definir una asociación más detallada entre los componentes del texto ruby y el texto base. Sin embargo, la marca ruby compleja no provee de un mecanismo de soporte para browsers que no asimilen marcas ruby.

Esta sección nos brinda un panorama acerca de las marcas para ruby definido en esta especificación. Una definición formal y completa puede encontrarse en la Sección 2.

1.2.1 Marca Ruby Simple

En el caso más simple, la marca ruby define un elemento ruby que contiene un elemento rb para el texto base y un elemento rt para el texto ruby. Este elemento ruby sin embargo, crea una asociación entre el texto base y el texto ruby, y esto es suficiente en la mayoría de los casos. Este es un ejemplo de marca ruby simple:

<ruby>  <rb>WWW</rb>  <rt>World Wide Web</rt></ruby>

Figura 1.4: Ejemplo de marca ruby simple

Esto se puede interpretar de la siguiente manera:

At the bottom left, three large letters reading 'WWW'. On top of them, in smaller letters, the text 'World Wide Web'. To the right, arrows and text saying 'ruby base' (bottom) and 'ruby text' (top).

Figura 1.5: Ejemplo de interpretación para una marca ruby simple en la Figura 1.4

Nota: El nombre de este elemento encerrado, "<ruby>", debería significar que sus contenidos están asociando al texto ruby con el texto base. No se debe malinterpretar que todo dentro, incluso el texto base, es ruby. El nombre del elemento encerrado fue elegido para identificar compacta y claramente la función de la construcción de la marca; los nombres de los otros elementos fueron escogidos para mantener la distancia en conjunto.

1.2.2 Marca ruby simple con paréntesis

Algunos agentes de usuarios podrían no comprender las marcas ruby, o podrían no interpretar el texto ruby de manera apropiada. En ambas situaciones, es preferible interpretar al texto ruby, de manera que no se pierda información. Un sistema de soporte generalmente aceptable es colocar al texto ruby inmediatamente después del texto base, y encerrar el texto ruby entre paréntesis. El paréntesis reduce el potencial de confusión del texto ruby con otro texto. (Debería notarse que el texto entre paréntesis en la tipografía japonesa nunca se llama “ruby”)

Para lograr compatibilidad con agentes de usuarios más antiguos que no entiendan la marca ruby y simplemente suministren el contenido de los elementos que no comprendan, los elementos rp pueden agregarse a la marca ruby simple para distinguir al texto ruby.

El nombre del elemento rp significa “paréntesis ruby”. Los elementos rp y los paréntesis (u otros caracteres) dentro de los mismos son provistos solamente como mecanismo de soporte. Los agentes de usuarios que ignoren los elementos desconocidos, pero transmitan sus contenidos, exhibirán los contenidos de cada elemento rp element. Sin embargo, el elemento rp puede utilizarse para denotar tanto el principio como el fin del texto ruby.

Los agentes de usuarios que conozcan acerca de las marcas ruby reconocerán al elemento rp e intencionalmente no exhibirán sus contenidos. En cambio, suministrarán la marca ruby simple de una manera más apropiada.

El siguiente ejemplo demuestra el uso del elemento rp:

<ruby>  <rb>WWW</rb>  <rp>(</rp><rt>World Wide Web</rt><rp>)</rp></ruby>

Figura 1.6: Ejemplo de marca ruby simple que incluye al elemento rp para la sustitución

Los agentes de usuarios que:

  • no conozcan acerca del las marcas ruby pero transmitan los contenidos de elementos desconocidos, o
  • no puedan transmitir el texto ruby al lado del texto base,

interpretarán la siguiente marca como:

WWW (World Wide Web)

Figura 1.7: Interpretación de marca ruby simple utilizando mecanismo de soporte de paréntesis

Agentes de usuarios que no conocen acerca de marca ruby, y que poseen estilos de presentación más sofisticados para el texto ruby, escogerán no suministrar el paréntesis. Por ejemplo, la marca de la Figura 1.6 puede representarse como lo muestra la figura siguiente.

EAt the bottom left, three large letters reading 'WWW'. On top of them, in smaller letters, the text 'World Wide Web'. To the right, arrows and text saying 'ruby base' (bottom) and 'ruby text' (top).

Figura 1.8: elemento rp ignorado en favor de una interpretación más sofisticada

1.2.3 Marca ruby compleja

La marca ruby compleja se utiliza para asociar más de un texto ruby con un texto base, o para asociar partes de texto ruby con partes de texto base.

La marca ruby compleja provee múltiples elementos rb y rt. Esta especificación define claramente los elementos contenedores que construyen a la asociación entre los elementos individuales. El elemento contenedor ruby base rbc, encierra elementos rb Puede haber uno o dos elementos contenedores de texto ruby base rtc, que encierran elementos rt. Esto permite la asociación de dos elementos contenedores de texto ruby con el mismo texto base. Con la marca ruby compleja también es posible asociar partes del texto base con partes de un texto ruby utilizando un número de elementos rb, y un número correspondiente de elementos rt. Más aún, el elemento rt puede utilizar el atributo rbspan para indicar que un elemento rt simple rodea (es asociado con) elementos rb múltiples. Esto es similar al atributo colspan de los elementos th y td en las tablas ([HTML4], sección 11.2.6).

Dónde y cómo cada marca ruby compleja se representa es parte del estilo respectivo de los lenguajes de estilo, vean también la sección 3 para mayor información.

El siguiente ejemplo muestra todas estas características.

<ruby>
<rbc>
<rb>10</rb>
<rb>31</rb>
<rb>2002</rb>
</rbc>
<rtc>
<rt>Month</rt>
<rt>Day</rt>
<rt>Year</rt>
</rtc> <rtc>
<rt rbspan="3">Expiration Date</rt>
</rtc></ruby>

Figura 1.9: Marca ruby compleja para asociar dos textos ruby con partes diferentes del mismo texto base.

En este ejemplo, el primer contenedor de texto ruby encierra 3 componentes (“Mes”, “Día”, “Año”) Cada uno de estos componentes está asociado con con componente correspondiente en el texto base (“10”, “31”, “2002”) El segundo contenedor de texto ruby (“Fecha de Vencimiento”) consiste de un texto ruby simple, y está asociado con el texto base completo (“10 31 2002”). Puede representarse como lo muestra la Figura 1.10.

Mes Día Año
10 31 2002
Fecha de Vencimiento

Figura 1.10: Representación de la marca ruby compleja en la Figura 1.9

El ejemplo muestra que la asociación del texto ruby con el texto base puede ser más o menos granular, según se lo necesite. Por ejemplo, el texto ruby puede asociarse con el texto base completo en casos donde:

  • una relación más detallada es desconocida, o
  • cuando la lectura o anotación sólo se aplica a la unidad completa y no puede separarse en segmentos.

Se pueden realizar asociaciones más detalladas cuando se conocen las relaciones. Para estas situaciones, se puede proveer una interpretación mejorada. Por ejemplo, el nombre de una persona puede ser descompuesto en nombre de pila y apellido, o un compuesto o frase kanji se puede descomponer en sub partes semánticas o caracteres individuales. Los intervalos del texto ruby se pueden establecer con el espacio correspondiente en el texto base, y se puede lograr una mejor lectura y un diagrama mejor balanceado.

El elemento rp no se encuentra disponible en el caso de la marca ruby compleja. Existen dos razones. Primero, el elemento rp es sólo un mecanismo de sustitución, y se consideró que esto es mucho más importante para el caso simple más frecuente. En segundo lugar, para los casos más complejos, es difícil traer a colación un mecanismo de sustitución razonable, y construir la marca para tales casos puede ser más difícil, sino imposible.

1.2.4 Resumen

En resumen, el elemento ruby sirve como contenedor para uno de los siguientes:

  • una combinación de elementos rb, rt y posiblemente rp (marca ruby simple) para:
    • Asociación de un texto ruby simple con un texto base simple
    • Mecanismo de sustitución en caso de que la marca ruby no sea entendida.
  • una combinación de rbc simple y uno o dos elementos contenedores rtc (marca ruby compleja) para:
    • Asociar dos textos ruby con el mismo texto base
    • Definir más asociaciones detalladas entre partes de un texto ruby y partes del texto base.

2.  Definición formal de la marca ruby

Esta sección es normativa.

Esta sección contiene la definición de sintaxis formal y la especificación de la funcionalidad de la marca ruby. Se asume alguna familiaridad con el sistema de Modularización XHTML, en especial la "Modularización de XHTML" [XHTMLMOD] .

2.1  Definición abstracta de la marca ruby

La siguiente es la definición abstracta de los elementos de la marca ruby, la que es consistente con el sistema de Modularización de XHTML [XHTMLMOD]. Más definiciones de módulos abstractos de XHTML pueden encontrarse en [XHTMLMOD].

Elementos Atributos Modelo de Contenido Mínimo
ruby Común (rb, (rt | (rp, rt, rp)))
rbc Común rb+
rtc Común rt+
rb Común (PCDATA | Inline - ruby)*
rt Común, rbspan (CDATA) (PCDATA | Inline - ruby)*
rp Común PCDATA*

El modelo de contenido máximo para el elemento ruby es el siguiente:

((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))

El modelo de contenido mínimo para el elemento ruby corresponde a la marca ruby simple. La alternativa(rbc, rtc, rtc?) del modelo de contenido máximo para el elemento ruby corresponde a la marca ruby compleja.

Una implementación de esta definición abstracta como un módulo XHTML DTD puede encontrarse en el Apéndice A. Se está trabajando con una implementación de un Esquema XML [Esquema XML] (ver [ModSchema]).

2.2  El elemento ruby

El elemento ruby es un elemento en línea (o a nivel de texto) que sirve como un contenedor que incluye todo. Contiene ya sea los elementos rb, rt y el opcional rp (marca ruby simple) o los elementos rbc y rtc (marca ruby compleja).

En el caso de la marca ruby simple, el elemento ruby contiene ya sea un elemento rb seguido por un elemento rt , o una secuencia de un elemento rb , uno rp , un rt y otro rp . El contenido del elemento rt se toma como texto ruby y se asocia con el contenido del elemento rb como texto base. El contenido de los elementos rp si se encontraran presentes, se ignora.

En el caso de la marca ruby compleja, el elemento ruby contiene un elemento rbc seguido por uno o dos elementos rtc . El contenido de los sub elementos de cada elementortc se toma como texto ruby y se asocia con el contenido de los sub elementos del elemento rbc como texto base.

El elemento ruby sólo tiene atributos comunes. Ejemplos de atributos comunes incluyen: id, class o xml:lang. Los atributos comunes dependen del lenguaje de la marca con la que se utiliza la marca ruby. En el caso de [XHTML 1.1], las mismas se definen en Modularización XHTML, Sección 5.1 [XHTMLMOD].

2.3  El elemento rbc

El elemento rbc (contenedor ruby base) sirve como el contenedor de elementos rb en el caso de marca ruby compleja. Sólo un elemento rbc puede aparecer dentro de un elemento ruby .

El elemento rbc sólo posee atributos comunes.

2.4  El elemento rtc

El elemento rtc contenedor ruby texto) sirve como contenedor para los elementos rt en el caso de marca ruby compleja. Uno o dos elementos rtc pueden aparecer dentro de un elemento ruby para asociar textos ruby con un texto base simple, representado por un elemento rbc Más de dos elementos rtc NO DEBEN aparecer dentro de un elemento ruby .

El elemento rtc solo posee atributos comunes.

2.5  El elemento rb

El elemento rb (base ruby) sirve para marcar el texto base. Para marca ruby simple, sólo puede aparecer un elemento rb . Para marca ruby compleja, pueden aparecer múltiples elementos rb dentro de un elemento rbc . Cada elemento rb se asocia con un elemento rt correspondiente, para así obtener un control detallado de la presentación ruby.

El elemento rb puede contener elementos o datos de caracteres como contenido propio, pero el elemento ruby no es considerado como su elemento descendiente.

El elemento rb sólo posee atributos comunes.

2.6  El elemento rt

El elemento rt es la marca para el texto ruby. En la marca ruby simple, sólo un elemento rt puede aparecer. En la marca ruby compleja, puede haber múltiples elementos rt dentro de un elemento rtc y cada elemento rt contiene el texto ruby correspondiente al texto base aplicable, representado por el correspondiente elemento rb .

El elemento rt puede contener elementos o datos de caracteres como contenido propio, pero el elemento ruby no es considerado como su elemento descendiente.

El elemento rt osee atributos comunes y también el atributo rbspan . En la marca ruby compleja, el atributo rbspan permite a un elemento rt abarcar múltiples elementos rb . El valor deberá ser un valor entero mayor a cero (“0”) El valor por defecto de este atributo es (“1”) El atributo rbspan no debería utilizarse en la marca ruby simple y los agentes de usuarios deberían ignorar el atributo rbspan cuando aparezca en una marca ruby simple.

2.7  El elemento rp

El elemento rp puede utilizarse en el caso de la marca ruby simple para especificar los caracteres que denoten el comienzo y el final del texto ruby cuando los agentes de usuarios no posean otra manera de presentar al texto ruby distintivamente del texto base. Los paréntesis (o caracteres similares) pueden proveer un sustitución aceptable. En esta situación, el texto ruby sólo será considerado en línea y encerrado dentro del paréntesis de sustitución. El elemento rp no puede utilizarse con la marca ruby compleja.

El elemento rp sólo posee atributos comunes.

El uso de paréntesis para la sustitución puede llevar a la confusión entre sentencias de texto proyectadas para ser texto ruby y otras sentencias que de casualidad se encuentran encerradas entre paréntesis. El documento o el autor de las hojas de estilo deberían ser conscientes de esa probable confusión y se aconseja escoger un delimitador ambiguo para la sustitución.

3. Consideraciones de interpretación y estilo

Esta sección es informativa.

Esta sección discute varios aspectos de interpretación y estilo en el contexto de la marca ruby tal como se la define en este documento. Sin embargo, el mismo no especifica ningún mecanismo de presentación/estilo, esto se deja librado a las hojas de estilo de los lenguajes respectivos. Las propiedades de configuración del estilo ruby se están desarrollando para CSS y XSL. Vea por ejemplo "Módulo CSS3: Ruby" [CSS3-RUBY] (trabajo en progreso) para más detalles.

Se pueden encontrar detalles de configuración en un contexto impreso japonés en JIS-X-4051 [JIS4051].

3.1 Ruby en la Web versus el uso de la tipográfica tradicional

El término “ruby” en Japonés sólo se utiliza para un texto visualmente representado al lado del texto base. Las consideraciones para tales casos se pueden encontrar en la sección 3.2 (tamaño de fuente), sección 3.3 (posicionamiento), y sección 3.4 (presentación de la marca ruby). Este tipo de presentación debería utilizarse dondequiera que sea posible. Sin embargo, introducir a ruby en la Web puede dar lugar a algunos fenómenos y problemas que no se encuentran presentes en la tipografía tradicional. La marca estructural para ruby, como se la define en esta especificación, no garantiza que el texto ruby siempre aparezca al lado del texto base. Existe una amplia variedad de dispositivos de salida, ya sean actuales o futuros, para documentos marcados con XHTML. Los siguientes son posibles escenarios y razones para interpretaciones diferentes:

3.2 Tamaño de la fuente del texto ruby

En el uso típico, el tamaño de la fuente del texto ruby es normalmente la mitad del tamaño de la fuente del texto base. De hecho, el nombre “ruby” se originó del nombre del tamaño de la fuente 5.5pt de la imprenta británica, que es la mitad del tamaño de fuente de 10pt que comúnmente se utiliza en el texto normal.

3.3 Posicionamiento del texto ruby

Existen varias posiciones donde el texto ruby puede aparecer allegado al texto base. Debido a que los textos asiáticos pueden representarse tanto en forma vertical como horizontal, los términos “antes” y “después” se utilizan antes que “arriba” y “abajo” o “lado derecho” o “lado izquierdo”. Las palabras “antes” y “después” deberían interpretarse como “antes”/”después” de la línea que contiene al texto base. La correspondencia se describe en la siguiente tabla:

terminología Esquema Horizontal
(izq-a-derecha, arriba-hacia-abajo)
Esquema Vertical
(arriba-hacia-abajo, derecha a izquierda)
Antes Arriba Lado derecho
Después Abajo Lado izquierdo

Los textos ruby frecuentemente se colocan antes del texto base (ver Figura 1.1 y Figura 3.2). A veces, y en especial en documentos educativos horizontales, el texto ruby puede aparecer luego del texto base, es decir, por debajo (ver Figura 3.1). En Chino, es bastante común que el texto ruby Pinyin aparezca luego del texto base. También puede aparecer luego del texto base en un esquema vertical (ver Figura 3.3). En todos estos casos, la dirección de escritura del texto ruby es la misma que la del texto base, que es vertical si el texto base es vertical, y horizontal si el texto base también lo es.

At the top left, three Japanese ideographs from left to right. Below them, the text 'shinkansen'. To the right, arrows and text saying 'ruby base' (top) and 'ruby text' (bottom).

Figura 3.1: Texto ruby (letras del Latín) luego/debajo del texto base (ideograma japonés)

At the top left, three Japanese ideographs from top to bottom. To their right, six hiragana characters at half size. At the bottom, arrows and text saying 'ruby base' (left) and 'ruby text' (right).

Figura 3.2: Texto ruby en escritura vertical (antes/ a la derecha)

Example showing ruby on the left side of vertical Japanese text

Figura 3.3: Texto ruby en escritura vertical (luego/a la izquierda).

En los textos tradicionales chinos, el texto ruby “Bopomofo” puede aparecer junto al lado derecho del texto base, aún en un esquema horizontal.

From the right, a large Chinese ideograph, three smaller bopomofo letters from top to bottom (in blue), a bopomofo accent mark (in red), another large Chinese ideograph, two smaller bopomofo letters from top to bottom (in blue) and another bopomofo accent mark (in red).

Figura 3.4: Texto ruby "Bopomofo" en Chino tradicional (texto ruby en azul/rojo para mayor claridad) en un esquema horizontal

Note que las marcas de entonación Bopomofo (en rojo en el ejemplo anterior) parecen estar en una columna separada (junto al lado derecho del texto ruby Bopomofo) y de esta manera podrían verse como “ruby en ruby”. Sin embargo, están simplemente codificadas como parte del texto ruby. Los detalles de esta codificación no son tratados en este documento.

3.4 Presentación de la marca ruby

Esta especificación no formula cómo será exhibida la marca ruby. Las hojas de estilo, en general, se utilizarán para especificar el comportamiento exacto de la marca ruby.

Nota. A pesar de que la interpretación de los textos ruby debería ser controlada por las hojas de estilo, en el caso de que no se provea ningún tipo de información por parte del autor o el usuario, se recomienda que los agentes visuales coloquen al texto ruby delante del texto base solamente cuando se utilice un solo texto ruby. Este también es el caso para ruby simple. Cuando hay dos textos ruby, el primero debería colocarse después del texto base, y el segundo detrás. Una muestra de la hoja de estilo por defecto que describe esta configuración será provista por [CSS3-RUBY] o por su documento sucesor.

Para la interpretación no visual, y en ausencia de información de la hoja de estilo, se recomienda que tanto el texto base como el(los) texto(s) ruby sean representados con una indicación del estado de cada uno (es decir, voz diferente, entonación diferente).

Para que las hojas de estilo pueda aplicar el estilo, o para que otros mecanismos presenten al texto ruby de manera apropiada, es muy importante proveer la información suficiente acerca de la función de cada componente. El siguiente ejemplo ilustra el uso del atributo de clase que le permite a las hojas de estilo definir la presentación exacta del texto ruby. La clase "reading" se utiliza para un texto ruby que indica lectura. La clase "annotation" se usa para indicar un texto ruby que se usa para anotaciones. El atributo xml:lang indica el lenguaje del texto.

<ruby xml:lang="ja">
<rbc>
<rb>斎</rb>
<rb>藤</rb>
<rb>信</rb>
<rb>男</rb>
</rbc>
<rtc class="reading">
<rt>さい</rt> <rt>とう</rt>
<rt>のぶ</rt>
<rt>お</rt>
</rtc>
<rtc class="annotation">
<rt rbspan="4" xml:lang="en">
W3C Associate Chairman</rt>
</rtc></ruby>

Figura 3.5: Marca ruby con atributos class y xml:lang .

La utilización de hojas de estilo que especifican un texto horizontal, presentando a la lectura antes del texto base y a la anotación luego del texto base, puede llevar a que se interprete la marca de la siguiente manera:

In the middle, four Japanese ideographs from left to right. On top of that, <span lang='ja'>hiragana</span> letters in smaller size (two <span lang='ja'>hiragana</span> for each of the three first ideographs, one <span lang='ja'>hiragana</span> for the latest ideograph). At the bottom, the text 'W3C Associate Chairman'.

Figura 3.6: Presentación horizontal de dos textos ruby asociados con un solo texto base.

3.5 Consideraciones para la presentación no visual

Los documentos que contienen marca ruby en algunos casos necesitan interpretarse por medio de agentes no visuales, como browsers de voz o agentes braile. Para tales escenarios, es importante comprender que:

Según las necesidades del usuario, la forma en la que debería leerse un texto puede variar desde una lectura muy rápida y “precipitada” a una muy cuidadosa y detallada. Esto nos puede llevar a considerar diferentes maneras de tratar al texto ruby en una presentación no visual, ya sea salteándolo durante la lectura rápida o explorando su estructura y los caracteres reales utilizados durante la lectura detallada.

En el caso frecuente de que los textos ruby representan la lectura, la presentación tanto del texto base como del texto ruby puede producir duplicaciones molestas. Un sintetizador del discurso puede pronunciar correctamente el texto base utilizando un diccionario, o en otros casos, puede seleccionar la pronunciación adecuada basándose en la lectura provista por el texto ruby.

No todos los textos ruby representan pronunciaciones. Los autores deberían distinguir a los textos ruby utilizados para diferentes propósitos mediante el atributo class . Esta premisa se demostró anteriormente al utilizar class="reading" para los textos ruby que indican lectura.

El texto ruby que indica lectura puede no producir la pronunciación correcta aún en los casos donde la escritura utilizada parece, a primera vista, perfectamente fonética. Por ejemplo, Bopomofo se asocia independientemente para cada carácter del texto base, y no se reflejan el sonido dependiente del contexto o los cambios de entonación. De manera similar, en Japonés, pueden ocurrir irregularidades silábicas, como la utilización de "" (hiragana ha) para el sufijo pronunciado "" (wa), o de vocales para indicar alargamiento. Para tales casos, los autores pueden proveer la pronunciación real con una marca especial diseñada para estos propósitos, o pueden confiar en el sistema de presentación auditiva para manejar estos casos de manera correcta.

3.6 Alternativas para el elemento rp

Si el autor no está interesado acerca del mecanismo de sustitución para los agentes de usuarios que no conozcan acerca de la marca ruby o no soporten hojas de estilo CSS2 [CSS2] o XSL [XSL] , entonces los elementos rp no serán necesarios.

Sin embargo, es posible encerrar entre paréntesis al texto ruby como sustitución si por ejemplo la resolución del dispositivo no es apropiada para la presentación tradicional de ruby. Al utilizar [CSS2], el paréntesis se puede generar utilizando la propiedad de ‘contenido' ([CSS2], sección 12.2) con los before and :after pseudo-elements ([CSS2], sección 12.1), en el siguiente fragmento:

rt:before { content: "(" }rt:after { content: ")" }

Figura 3.8: Fragmento estilo CSS2 para generar paréntesis alrededor de un elemento rt

En este ejemplo, el paréntesis se generará en forma automática alrededor del elemento rt . Se asume que las reglas de estilo mencionadas se utilizan juntas con las reglas de estilo que posicionan al texto ruby en línea. La generación del paréntesis no presenta problemas con XSLT [XSLT].

4. Criterio de Conformidad

Esta sección es normativa.

Dentro del contexto de esta especificación, la conformidad puede demandar marcas, tipos de documentos, implementaciones de módulos, generadores e intérpretes. En la mayoría de los casos, se encuentran disponibles dos tipos de conformidad: simple y completa. La conformidad simple significa que los objetos soportan el modelo de contenido mínimo del elemento ruby en la sección 2.1, es decir, sólo marca ruby simple. La conformidad completa se da cuando el objeto soporta el contenido máximo del elemento ruby en la sección 2.1, por ejemplo, cuando se soporta tanto marca ruby simple como compleja.

La marca es conforme con la marca ruby simple si contiene uno o más elementos ruby y el contenido de los mismos (incluyendo sus variables) conforman el modelo de contenido mínimo en la sección 2.1 (sólo se permite marca ruby simple). La marca es conforme con la marca ruby completa si contiene uno o más elementos ruby y el contenido de todos esos elementos (incluyendo sus variables) conforman el modelo de contenido máximo en la sección 2.1 (se permite tanto marca ruby simple como compleja).

Un tipo de documento es un tipo de documento conforme con la marca ruby simple si el mismo integra marca ruby simple agregando el elemento ruby a los elementos apropiados (como los elementos en línea) y definiendo los elementos y atributos necesarios. Un tipo de documento es un tipo de documento conforme con la marca ruby completa si integra marca ruby completa agregando el elemento ruby a los elementos apropiados (como los elementos en línea) y definiendo los elementos y atributos necesarios.

Una implementación de módulo (por ejemplo, con tecnología DTD o XML Schema) es una implementación de módulo con conformidad ruby simple simple si está diseñado para integrar marca ruby simple con otros módulos dentro de tipos de documentos como los descriptos arriba. Una implementación de módulo es una implementación de módulo con conformidad ruby compleja si está diseñada para integrar marca ruby completa con otros módulos dentro de tipos de documentos como los descriptos arriba. Una implementación de módulo es una implementación de módulo con conformidad ruby completa si está diseñada para integrar ya sea marca ruby simple o completa con otros módulos dentro de tipos de documentos como los descriptos anteriormente (por ejemplo mediante un switch o mediante implementación de módulos por separado).

Un documento es un documento con conformidad ruby simple si contiene marca ruby simple conforme y no contiene marca ruby compleja o marca ruby no conforme. Un documento es un documento con conformidad ruby completa si contiene marca ruby completa conforme y no contiene marca ruby no conforme.

Un generador es un generador con conformidad ruby simple si genera marca ruby simple conforme y no genera marca ruby compleja o marca ruby no conforme. Un generador es un generador con conformidad ruby completa si genera marca ruby completa conforme y no genera marca ruby no conforme.

Un intérprete es un intérprete con conformidad ruby simple si rechaza la marca ruby no conforme, acepta la marca ruby simple conforme, y, cuando interpreta a la marca ruby, lo hace de acuerdo con esta especificación. Un intérprete es un intérprete con conformidad ruby completa si rechaza la marca ruby no conforme, acepta la marca ruby completa conforme, y donde interpreta a la marca ruby, lo hace según esta especificación. Ejemplo de intérprete son los análisis server side o las herramientas de transformación y presentación.

Para la conformidad de la modularización XHTML por favor consulte la sección 3 de [XHTMLMOD].


Apéndices

A.  Módulo Ruby para XHTML

Este apéndice es informativo.

El siguiente es un vínculo al módulo Ruby DTD que se utiliza enXHTML 1.1 [XHTML11].

B. Notas acerca de las decisiones de diseño

Este apéndice es informativo. El mismo contiene algunas notas acerca de las decisiones de diseño, y se basa en preguntas y comentarios recibidos durante la revisión de último momento.

Hubo propuestas de cambiar, por ejemplo: <rbc><rb>...</rbc> a <rb><rbc>...</rb> (y similares para rt/rtc). Este cambio de alguna manera se veía más natural. Sin embargo, en XML, el contenido de un elemento es de contenido combinado (tanto datos de caracteres como elementos, sin secuencia o restricciones de ocurrencia) o contenido elemento (sólo elementos, con restricciones) Esto significa que es imposible decir que <rb> contiene ya sea sólo elementos <rbc> o sólo datos de caracteres y elementos en línea.

Hubo varias propuestas para remover el elemento rp del modelo de contenido mínimo. Fueron consideradas, pero rechazadas debido a las siguientes razones:

Se sugirió cambiar los nombres de los elementos, en particular <ruby> por <gloss> Sin embargo, como la marca ruby es en cierto modo similar a la marca para glosses, no está diseñada para ese propósito.

C.  Notas acerca de la compatibilidad

Este apéndice es informativo.

Debido a rezones históricas, algunas herramientas pueden generar la marca ruby sin las etiquetas iniciales y finales del elemento rb , como:

<ruby>  A  <rp>(</rp><rt>aaa</rt><rp>)</rp></ruby>

antes que las siguientes:

<ruby>  <rb>A</rb>  <rp>(</rp><rt>aaa</rt><rp>)</rp></ruby>

La primera marca no es conforme con esta especificación, pero los agentes de usuario que prestan atención a la compatibilidad con documentos generados por tales herramientas pueden tratar a la misma como si estuviera escrita como la segunda.

D.  Glosario

Este apéndice es informativo.

Texto Base
Sentencia de texto asociada a un texto ruby .
Bopomofo
37 caracteres y 4 marcas de tono de uso fonético en Chino, especialmente en Mandarín estándar.
Marca ruby compleja
En esta especificación: la marca ruby que permite la asociación de dos textos ruby con un sólo texto base así como también las asociaciones detalladas entre partes de textos ruby y el texto base.
Grupo ruby
En la tipografía japonesa: el texto ruby asociado con más de un carácter del texto base.
Hiragana
Escritura japonesa silábica, o carácter de esa escritura. Redonda y cursiva en apariencia. Subconjunto del sistema de escritura Japonés, se usa junto con el kanji y el katakana. En estos tiempos, se utiliza para escribir palabras en japonés cuando el kanji no está disponible o no es lo apropiado.
Ideograma
Un carácter que se utiliza para representar una idea, palabra o componente de una palabra, en contraste con un carácter de una escritura alfabética o silábica. La escritura ideográfica más conocida es la utilizada (con algunas variaciones) en Asia Oriental (China, Japón y Corea,...).
Kana
Término colectivo para hiragana y katakana.
Katakana
Escritura silábica japonesa, o carácter de esa escritura. Posee una apariencia angular. Subconjunto del sistema de escritura Japonés, se usa junto al kanji y al hiragana. Hoy en día se utiliza para escribir palabras extranjeras.
Kanji
Término japonés para ideogramas utilizados en Japonés. Subconjunto del sistema de escritura japonesa, se usa junto con el hiragana y el katakana.
Monoruby
En la tipografía japonesa: ruby asociado con un carácter simple del texto base.
Lectura
Para ideogramas: término técnico, indicación de una posible pronunciación. Forma diferente de pronunciación en varios aspectos: la escritura utilizada puede ser no fonética en su totalidad, la pronunciación está condicionada al hablante y puede que no se entienda cuando se lee el texto en silencio. En Chino o Coreano, algunos ideogramas tienen lecturas diferentes. En Japonés, la mayoría posee al menos dos lecturas, y algunos más. Las lecturas también pueden depender del contexto.
Texto Ruby
Sentencia de texto que aparece en las cercanías inmediatas de otra sentencia de texto (llamada "base ruby") y que sirve como anotación o guía de pronunciación asociada a la base.
Marca ruby simple
En esta especificación: marca que asocia un texto ruby simple con una base ruby simple y que opcionalmente provee algunos delimitadores como el paréntesis.

E.  Cambios a la Recomendación Propuesta

Este apéndice es informativo.

Cambios a la Recomendación Propuesta (http://www.w3.org/TR/2001/PR-ruby-20010406):

Agradecimientos

Esta sección es informativa.

Takao Suzuki (鈴木 孝雄) y Chris Wilson han contribuido con los borradores previos como editores.

Esta especificación no hubiera sido posible sin la ayuda de los miembros del W3C I18N WG, en particular de Mark DAVIS y de Hideki HIURA (樋浦 秀樹), y de todos los miembros del W3C I18N IG.

Colaboradores adicionales incluyen a Murray Altheim, Laurie Anna Edlund, Arye Gittelma, Koji Ishii, Rick Jelliffe, Eric LeVine, Chris Lilley, Charles McCathieNevile, Shigeki Moro (師 茂樹), Chris Pratley, Nobuo Saito (斎藤 信男), Rahul Sonnad, Chris Thrasher.

La marca definida en esta especificación fue coordinada con la marca ruby en [JIS4052], desarrollada por WG 2 del Electronic Document Processing System Standardization Investigation and Research Committee of the Japanese Standards Association. Nos gustaría agradecer a los miembros del WG2, en particular a Kohji SHIBANO (芝野 耕司, chair), y aMasafumi Yabe (家辺 勝文, delegado), por su colaboración. Técnicamente, la marca para ruby en [JIS4052] difiere de la marca en esta especificación en dos puntos. Primero, existe una alternativa de marca no compatible con XML, basada en símbolos especiales, y segundo, el elemento rp no está permitido.

Comentarios valiosos de última hora fueron también recibidos de parte de: The HTML WG, the CSS WG, the XSL WG, the WAI P&F WG, Steven Pemberton, Trevor Hill, Susan Lesch, y Frank Yung-Fong Tang. Akira Uchida (内田 明) facilitó los comentarios desde el punto de vista de un traductor.

Una propuesta anterior para la marca ruby, utilizando atributos, se describe en [DUR97].

Referencias

Referencias Normativas

[XHTML11]
"XHTML 1.1 - Module-based XHTML", Recomendación W3C
M. Altheim, S. McCarron, editores., 31 de Mayo de 2001
Disponible en: http://www.w3.org/TR/2001/REC-xhtml11-20010531
La última versión se encuentra disponible en: http://www.w3.org/TR/xhtml11/
[XHTMLMOD]
"Modularization of XHTML", Recomendación W3C
M. Altheim et al., editores, 10 de abril de 2001
Disponible en: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410
La última versión se encuentra disponible en: http://www.w3.org/TR/xhtml-modularization/
[XML]
"Extensible Markup Language (XML) 1.0 (Second Edition)", Recomendación W3C
T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, editores, 6 de octubre de 2000
Disponible en: http://www.w3.org/TR/2000/REC-xml-20001006
La última versión se encuentra disponible en: http://www.w3.org/TR/REC-xml

Referencias Informativas

[CSS2]
"Cascading Style Sheets, level 2 (CSS2) Specification", Recomendación W3C
B. Bos, H. W. Lie, C. Lilley and I. Jacobs, editores, 12 de mayo de 1998
Disponible en: http://www.w3.org/TR/1998/REC-CSS2-19980512
La última versión se encuentra disponible en: http://www.w3.org/TR/REC-CSS2/
[CSS3-RUBY]
"CSS3 module: Ruby", Borrador de Trabajo W3C
M. Suignard, ed., 16 de febrero de 2001
Disponible en: http://www.w3.org/TR/2001/WD-css3-ruby-20010216/
La última versión se encuentra disponible en: http://www.w3.org/TR/css3-ruby/
[DUR97]
"Ruby in the Hypertext Markup Language", Borrador en Internet
Martin Dürst, 28 de febrero de 1997, vencido
Disponible en: http://www.w3.org/International/draft-duerst-ruby-01
[HTML4]
"HTML 4.01 Specification", Recomendación W3C
D. Raggett, A. Le Hors, I. Jacobs, editores, 24 December 1999
Disponible en: http://www.w3.org/TR/1999/REC-html401-19991224
La última versión se encuentra disponible en: http://www.w3.org/TR/html4/
[JIS4051]
"Reglas de composición lineal para documentos en idioma Japonés" (日本語文書の行組版方法)
JIS X 4051-1995, Japanese Standards Association, 1995 (en Japonés)
[JIS4052]
"Formato de intercambio para los documentos en Japonés con marca de composición" (日本語文書の組版指定交換形式)
JIS X 4052:2000, Japanese Standards Association, 2000 (en Japonés)
[ModSchema]
"Modularization of XHTML™ in XML Schema", Borrador de Trabajo W3C
Daniel Austin y Shane McCarron, editores, 22 de marzo de 2001
Disponible en: http://www.w3.org/TR/2001/WD-xhtml-m12n-schema-20010322
La última versión se encuentra disponible en: http://www.w3.org/TR/xhtml-m12n-schema/
[XMLSchema]
"XML Schema Part 1: Structures", Recomendación W3C
H. S. Thompson, D. Beech, M. Maloney, N. Mendelsohn, editores, 2 de mayo de 2001
Disponible en: http://www.w3.org/TR/2001/REC-xmlschema-1-20010502
La última versión se encuentra disponible en: http://www.w3.org/TR/xmlschema-1/
Ver también "XML Schema Part 2: Datatypes", disponible en: http://www.w3.org/TR/xmlschema-2/
[XSL]
"Extensible Style Language (XSL)", Recomendación Candidato W3C
S. Adler et al., editores, 21 de noviembre de 2000
Disponible en: http://www.w3.org/TR/2000/CR-xsl-20001121
La última versión se encuentra disponible en: http://www.w3.org/TR/xsl/
[XSLT]
"XSL Transformations (XSLT) Version 1.0", Recomendación W3C
J. Clark, ed., 16 de noviembre de 1999
Disponible en: http://www.w3.org/TR/1999/REC-xslt-19991116
La última versión se encuentra disponible en: http://www.w3.org/TR/xslt

Associating Style Sheets with XML documents
XML-Signature XPath Filter 2.0
XPointer element() Scheme
XPointer Framework
XPointer xmlns() Scheme
XML Inclusions (XInclude) Version 1.0
XML-binary Optimized Packaging
xml:id Version 1.0
XML Information Set (Second Edition)
OWL Web Ontology Language - Use Cases and Requirements
Ruby Annotation in Spanish
Ruby Annotation in Italian
SOAP Introduction

Australian Debt Consolidation Experts
medical insurance
Wedding Ring
Search Escorts and girls (incall/OutCall) online with Oasi2000, ItaliaChiamami, BestAnnunci...
UK Telephone Sex
Software
Make Your Own Website
Free calls to Poland
Cleaning Service
black mold
UK Swingers Genuine Contacts Site
Free Cams
printer cartridges
Webcams
Hoover Vacuum Parts