Home

Possibili errori di traduzione possono essere presenti in questo documento.

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

Solo il documento originale in inglese puo essere considerato ufficiale: http://www.w3.org/TR/ruby/

W3C

Annotazione Ruby

Raccomandazione W3C 31 Maggio 2001

Questa versione (in inglese):
http://www.w3.org/TR/2001/REC-ruby-20010531/
(ZIP archive)
Ultima versione:

Versione precedente:
http://www.w3.org/TR/2001/PR-ruby-20010406/
Curatori:
Marcin Sawicki (fino al 10 Ottobre 1999)
Michel Suignard, Microsoft
Masayasu Ishikawa (石川 雅康), W3C
Martin Dürst, W3C
Tex Texin, Progress Software Corp.
(Vedere Riconoscimenti per altri contributori)

Riassunto

"Ruby" sono piccole righe di testo cha appaiono lungo il testo base, usate sopratutto in documenti dell´Asia Orientale per indicare pronuncia o piccole annotazioni. Questa specifica definisce la marcatura per ruby, nella forma di un modulo [XHTMLMOD].

Stato di questo documento

Questa sezione descrive lo stato di questo documento al momento della sua pubblicazione. Altri documenti potrebbero sostituire questo documento. L´ ultima versione di questa serie di documenti è mantenuta al W3C.

Questo documento è stato rivisto dai membri del W3C e da altre parti interessate ed è stato approvato dal Direttore come una Raccomandazione del W3C. E' un documento stabile e può essere usato come materiale di riferimento o citato da un altro documento come una normativa di riferimento. L'obiettivo del W3C nel fare le Raccomandazioni è quello di richiamare l'attenzione alle specifiche e di promuovere la loro più ampia diffusione. Questo aumenta la funzionalità e l'interoperabilità del Web.

Questo documento è stato prodotto dal Internationalization Working Group (I18N WG soltanto membri) con l´aiuto del Internationalization Interest Group (I18N IG) come parte della Attività Internazionalista della W3C. Per qualsiasi commento rivolgersi al archivio pubblico di lista www-i18n-comments@w3.org. Commenti in lingue che non siano l´inglese, specialmente in giapponese, sono benvenuti. La discussione pubblica di questo documento viene fatta all´indirizzo www-international@w3.org (vedere archivio).

D´accordo con l´argomento e per fare esempi più reali, questo documento include esempi che usano un´ampia varietá di caratteri. Non tutti gli user agents possono mostrare tutti I caratteri. A seconda del user agent, cambiare configurazione puó migliorare la situazione. Inoltre, si é messa molta cura nel mostrare questo documento in vari caratteri di codifica per coprire un ampio rango di user agents e configurazioni.

Informazione riguardante questo documento puó essere trovata nella public ruby page (http://www.w3.org/International/O-HTML-ruby). che include traduzioni di questa specifica e una lista di errori noti. Un elenco delle attuali W3C Raccomandazioni di W3C e altri documenti tecnici è reperibile nel indirizzo http://www.w3.org/TR.

Non ci sono dichiarazioni su brevetti per questa specifica nel Internationalization Working Group.


Contenuti


1.  Introduzione

Questa sezione é informativa.

Questo documento presenta una visione generale della annotazione ruby e definisce la sua marcatura, illustrata da numerosi esempi. Nonostante ció questo documento non specifica nessun meccanismo di presentazione di stile della annotazione ruby; questo appartiene ai rispettivi linguaggi di fogli di stile.

Questo documento viene organizzato cosí:

Sezione 1.1 visione generale della annotazione ruby.

Sezione 1.2 marcatura della annotazione ruby in generale.

Sezione 2 definizione normativa della marcatura ruby.

Sezione 3 si tratta delle presentazione e stile tipiche del testo ruby.

Sezione 4 I criteri di conformitá.

1.1 Cosa è ruby?

Ruby é il termine che viene usato per una piccola riga di testo associata con un´altra riga di testo, chiamata testo base. Il testo Ruby si usa per fornire un´annotazione corta al testo base associato. E molto usato per fornire la lettura (guida di pronuncia). Le annotazioni Ruby si usano spesso in Giappone in diversi tipi di pubblicazioni, inclusi libri e riviste. Ruby si usa anche in Cina, specialmente per libri di testo nelle scuole.

Il testo Ruby si usa, in genere, lungo il testo base, usando una più piccola typeface. Il nome "ruby", di fatto, deriva del nome della fonte 5.5pt della tipografia britannica, cioé quasi la metá della fonte di 10pt usata di solito per testi normali. Figura 1.1 mostra un esempio, tre ideogrammi (kanji) come testo base, e sei hiragana esprimendo la lettura (shinkansen – treno palla giapponese).

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: Il testo ruby fornisce la lettura di ogni carattere del testo base.

La tipografia dell´Asia Orientale ha sviluppato alcuni tratti distintivi che non appaiono nelle tipografie occidentali. La maggioranza può essere direzionata correttamente con linguaggi di fogli di stile come CSS o XSL. Comunque, si richiede una marcatura adizionale per definire l´associazione tra testo base e testo ruby.

Questa specifica definisce quella marcatura, disegnata per essere usata con XHTML, affinchè il testo ruby sia disponibile nella Web senza usare grafichi o complementi speciali. Sebbene questa specifica fornisce esempi di veri presentazioni con lo scopo di far capire meglio la marcatura al numero piú grande possibile di lettori, tutti gli esempi sono soltanto informativi. Questo documento non specifica nessun meccanismo di presentazione o stile, che sono competenza dei rispettivi linguaggi di fogli di stile.

A volte più di un testo ruby é associato con lo stesso testo base. Un esempio tipico é indicare tanto il significato quanto la lettura dello stesso testo base. In questi casi i testi ruby possono apparire in entrambi i lati del testo base. Il testo ruby prima del testo base spesso si usa per indicare la lettura, il testo ruby dopo il testo base spesso si usa per indicare significato. Figura 1.2 é un esempio di testo base con due testi ruby che danno la lettura usando hiragana e lettere latine.

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: Due testi ruby applicati allo stesso testo base.

Inoltre, ogni testo ruby può essere associato con diverse, ma sovrapposte, parti del testo base, come nel seguente esempio:

Mese Giorno Anno
10 31 2002
Data Scadenza

Figura 1.3: Testo Base con due testi ruby usando diverse associazioni

In questo esempio, il testo base é la data "10 31 2002". Un testo ruby é la frase "Data Scadenza". Il testo ruby viene associato con l´intero testo base. L´altro testo ruby ha tre parti: "Mese", "Giorno” e "Anno". Ogni parte si associa con una parte diversa del testo base. "Mese" è associato con "10", "Giorno" con "31", e "Anno" con "2002".

1.2 La marcatura Ruby

La marcatura definita in questa specifica é disegnata per coprire tutti i casi che abbiamo visto, specialmente marcatura per uno o due testi ruby associati con lo stesso testo base e marcatura per associazioni di catene di testo(i) ruby con componenti del testo base.

Vi sono due varianti della marcatura ruby, nominate marcatura ruby semplice (simple ruby markup) e marcatura ruby complessa (complex ruby markup). La marcatura ruby semplice associa un singolo testo ruby con una riga del testo base. La marcatura ruby semplice puó anche specificare un meccanismo di sustituzione per permettere visualizzare i testi ruby nei navigatori piú vecchi che non possono riconoscere la marcatura ruby. La marcatura ruby complessa può associare due testi ruby con un solo testo base e puó definire una associazione piú minuta e accurata tra i componenti del testo ruby e il testo base. Dobbiamo tenere conto che la marcatura ruby complessa non ha un meccanismo di sustituzione per navigatori che non riconoscano la marcatura ruby.

Questa sezione fornisce una visione generale della marcatura definita in questa specifica. Una definizione formale e completa é reperibile nella Sezione 2.

1.2.1 Marcatura ruby semplice (Simple Ruby Markup)

Nel caso più semplice, la marcatura ruby definisce un elemento ruby che ha un elemento rb per il testo base e un elemento rt per il testo ruby. Perciò questo elemento ruby crea una associazione fra il testo base e il testo ruby, è diventa sufficiente per la maggioranza dei casi. Questo é un esempio di marcatura ruby semplice:

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

Figura 1.4: Esempio di marcatura ruby semplice

Questo viene presentato così:

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: Esempio di presentazione di marcatura ruby semplice nella Figura 1.4

Nota: Il nome di questo elemento includente, "<ruby>", deve essere interpretato nel senso che il contenuto sono testi ruby associati con il testo base. Non deve interpretarsi come si tutto quello incluso, anche il testo base,sia ruby. Il nome del elemento includente é stato eletto per identificare di maniera chiara e precisa la funzione della struttura di marcatura;i nomi per gli altri elementi sono stati eletti per mantenere breve la lunghezza complessiva.

1.2.2 Marcatura ruby semplice con parentesi (Simple ruby markup with parentheses)

Alcuni user agents possono non riconoscere la marcatura ruby, o possono non essere capaci di eseguire il testo ruby correttamente. In ambedue situazioni, é di solito preferibile eseguire il testo ruby affinchè la informazione non si perda. Un meccanismo di sostituzione di solito accetabile e mettere il testo ruby immediatamente dopo il testo base, e includere il testo ruby tra parentesi. I parentesi riducono la possibiltà di confondere il testo ruby con un altro testo. (Dobbiamo tenere conto che nella tipografia giapponesa il testo tra parentesi non é mai chiamato "ruby".)

Per motivi di compatibilità con user agents più vecchi che non riconoscano la marcatura ruby e semplicemente presentino il contenuto degli elementi che non riconoscano, gli elementi rp possono aggiungersi alla marcatura ruby semplice per distinguere il testo ruby.

Il nome del elemento rp è al posto di "parentesi ruby". Gli elementi rp e i parentesi (o altri caratteri) chiusi entro si forniscono soltanto come meccanismo di sostituzione. User agents che ignorino elementi sconosciuti ma presentino i suoi contenuti visualizzeranno i contenuti di ogni elemento rp Così l´elemento rp puó essere usato per marcare tanto l´inizio quanto la fine del testo ruby.

Gli user agents che non riconoscano la marcatura ruby riconosceranno l´elemento rp e con intenzione non visualizzeranno i suoi contenuti. Invece, presenteranno la marcatura ruby semplice in una maniera più corretta.

L´esempio seguente dimostra l´uso del elemento rp :

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

Figura 1.6: Esempio di marcatura ruby semplice che include elementi rp per sostituzione

User agents che:

  • non riconoscano marcatura ruby ma presentino I contenuti di elementi sconosciuti, oppure
  • non possano presentare il testo ruby accanto al testo base,

presenteranno la marcatura precedente così:

WWW (World Wide Web)

Figura 1.7: Presentazione della marcatura ruby semplice con parentesi di sostituzione

User agents che non riconoscano marcatura ruby, e che abiano piú sofisticate presentazioni di stile per testo ruby, non presenteranno i parentesi. Ad esempio, la marcatura della figura 1.6 si presenterà come si mostra nella seguente figura.

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 omesso per una presentazione più sofisticata

1.2.3 Marcatura ruby complessa (Complex ruby markup)

La marcatura ruby complessa si usa per associare più di un testo ruby con un testo base, oppure associare parti di un testo ruby con parti del testo base.

La marcatura ruby complessa permette molteplici elementi rb e rt. Questa specifica definisce gli elementi contenitori che fanno chiara l´associazione tra gli elementi individuali. L´elemento ruby contenitore base, rbc, contiene elementi rb. Ci possono essere uno o due elementi ruby contenitori di testo, rtc, che includono elementi rt. Questo permette l´associazione tra due contenitori ruby di testo con lo stesso testo base. Con la marcatura ruby complessa è anche possibile associare parti del testo base con parti di un testo ruby usando un certo numero di elementi rb e un numero corrispondente di elementi rt Oltre a questo, l´elemento rt puó usare l´attributo rbspan per indicare che un singolo elemento rt é associato (spans) a molteplici elementi rb Questo è simile all´attributo colspan degli elementi th e td nelle tabelle ([HTML4], sezione 11.2.6).

Dove e come ciascun parte della marcatura ruby complessa viene presentata si definisce attraverso i rispettivi linguaggi di fogli di stile; rivolgersi a la sezione 3 per ottenere più informazione.

L´esempio seguente mostra tutte queste caratteristiche.

<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: Marcatura ruby complessa per associare due testi ruby con diverse parti dello stesso testo base.

In questo esempio il primo elemento ruby contenitore include 3 componenti ("Mese", "Giorno", "Anno");ognuno é associato con il suo corrispondente componente nel testo base ("10", "31", "2002"). Il secondo contenitore di testo ruby ("Data scadenza") é un singolo testo ruby, ed è associato con l´intero testo base ("10 31 2002"). Può presentarsi come si vede nella figura 1.10.

Mese Giorno Anno
10 31 2002
Data scadenza

Figura 1.10: Presentazione della marcatura ruby complessa nella figura 1.9

L´esempio ci fa vedere che l´associazione fra testo ruby e testo base può essere più o meno granulare. Ad esempio, il testo ruby si può associare con l´intero testo base nel caso che:

  • una relazione più dittagliata sia sconosciuta, oppure
  • la lettura o l´annotazione si applichino soltanto a un testo che sia un´unità che non si possa separare in pezzi.

Si possono fare associazione di una granularità più fine anche quando le relazioni siano sconosciute. Per situazioni del genere si può ottenere una presentazione migliorata (il nome di una persona si può scomponere in nome personale e cognome, opppure una frase o un composto kanji si può scomponere in parti semantiche o caratteri individuali). Con una granularità fine o normale, i spans di un testo ruby si mettono nel corrispondente spazio del testo base, ottenendosi così una maggiore leggibilità e una composizione piú equilibrata.

L´elemento rp non è disponibile nel caso della marcatura ruby complessa. Vi sono due ragioni per questo. Prima, l´elemento rp è soltanto un meccanismo di sostituzione, e si considerò che questo era molto più importante per il caso semplice più frequente. Seconda, per casi più complessi, è difficile conseguire un meccanismo di sostituzione per la visualizzaxzione accetabile, construire marcature per questi casi sarebbe più difficile, se non imposibile.

1.2.4 Sommario

In somma, l´elemento ruby serve come contenitore di:

  • una combinazione di elementi rb, rt e possibili elementi rp (marcatura ruby semplice) per:
    • Associare un singlo testo ruby con un singolo testo base
    • Meccanismo di sostituzione nel caso che la marcatura ruby non sia riconosciuta.
  • una combinazione di un singolo elemento rbc e uno o due elementi contenitori rtc (marcatura ruby complessa) per:
    • Associare due testi ruby con lo stesso testo base
    • Definire associazione di una granularità più fine tra parti di un testo ruby e parti diu un testo base.

2.  Definizione formale della marcatura ruby

Questa sezione è normativa.

Questa sezione include la definizione sintattica formale e le specifiche di funzionalità della marcatura ruby. Si presume una certa conoscenza della struttura della Modularizzazione XHTML, in particolare la specifica "Modularization of XHTML" [XHTMLMOD] .

2.1  Definizione astratta della marcatura ruby

Questa è la definizione astratta degli elementi per la marcatura ruby, che è coerente con la struttura di Modularizzazione XHTML [XHTMLMOD]. Altre definizioni di moduli astratti XHTML si possono trovare in [XHTMLMOD].

Elementi Attributi Modello di Contenuto Minimo
ruby Common (rb, (rt | (rp, rt, rp)))
rbc Common rb+
rtc Common rt+
rb Common (PCDATA | Inline - ruby)*
rt Common, rbspan (CDATA) (PCDATA | Inline - ruby)*
rp Common PCDATA*

Il modello di contenuto massimo per l`elemento ruby è il seguente:

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

Il modello di contenuto minimo per l´elemento ruby corrisponde alla marcatura ruby semplice. L´alternativa (rbc, rtc, rtc?) del modello di contenuto massimo per l´elemento ruby corrisponde alla marcatura ruby complessa.

Un´implementazione di questa definizione astratta nella forma di un modulo XHTML DTD si trova nel Appendice A. Si sta lavorando su una implementazione in forma di schema XML [XMLSchema] (vedere [ModSchema]).

2.2  L´elemento ruby

L´elemento ruby è un elemento inline (o text-level) che serve come contenitore overall. Contiene tanto elementi rb, rt e opzionali rp (marcatura ruby semplice) quanto elementi rbc e rtc (marcatura ruby complessa).

Nel caso della marcatura ruby semplice, l´elemento ruby include tanto un elemento rb inseguito da un elemento rt , quanto una sequenza di un elemento rb , un rp , un rt o altro elemento rp . Il contenuto del elemento rt è presso come un testo ruby e associato con il contenuto del elemento rb come testo base. Il contenuto degli elementi rp , se vi è qualcuno, è ignorato.

Nel caso della marcatura ruby complessa, l´elemento ruby contiene un elemento rbc inseguito da uno o due elementi rtc Il contenuto dei subelementi di ogni elemento rtc viene presso come un testo ruby e associato con il contenuto dei subelementi del elemento rbc come testo base.

L´elemento ruby ha soltanto attributi comuni. Sono attributi comuni: id, class or xml:lang. Gli attributi comuni dipendono del linguaggio di marcatura con il quale si usa la marcatura ruby. Nel caso di [XHTML 1.1], sono definiti in XHTML Modularization, Section 5.1 [XHTMLMOD].

2.3  L´elemento rbc

L´elemento rbc (ruby base container o contenitore ruby base) serve come contenitore per elementi rb nella marcatura ruby complessa. Soltanto un elemento rbc può apparire entro l´elemento ruby .

L´elemento rbc ha soltanto attributi comuni.

2.4  L´elemento rtc

L´elemento rtc (ruby text container o contenitore ruby testo) serve come contenitore rt nella marcatura ruby complessa. Uno o due elementi rtc possono apparire entro un elemento ruby per associare testi ruby con un singolo testo base, rappresentato per un elemento rbc . Più di due elementi rtc NON POSSONO apparire entro l´elemento ruby .

L´elemento rtc ha soltanto attributi comuni.

2.5  L´elemento rb

L´elemento rb (ruby base o base ruby) serve per marcare il testo base. Nella marcatura ruby semplice, solo può apparire un elemento rb . Nella marcatura ruby complessa, molteplici elementi rb possono apparire entro un elemento rbc . Ogni elemento rb è associato con il corrispondente elemento rt , per un controllo più granulare della presentazione ruby.

L´elemento rb può contenere elementi inline o caratteri data, ma l´elemento ruby non è permesso come elemento discendente.

L´elemento rb ha soltanto attributi comuni.

2.6  L´elemento rt

L´elemento rt è la marcatura per il testo ruby. Nella marcatura ruby semplice, soltanto può apparire un elemento rt . Nella marcatura ruby complessa, possono apparire molteplici elementi rt entro l´elemento rtc e ogni elemento rt include il testo ruby per il pertinente testo base, rappresentato per il corrispondente elemento rb .

L´elemento rt può contenere elementi inline o caratteri data, ma l´elemento ruby non è permesso come elemento discendente.

L´elemento rt ha attributi comuni e l´attributo rbspan . Nella marcatura ruby complessa, l´attributo rbspan permette un elemento rt attraversare vari elementi rb . Il valore deve essere un numero intero superiore a zero ("0"). Il valore per difetto del attributo è uno ("1"). L´attributo rbspan non deve essere usato nella marcatura ruby semplice, e gli user agents devono assolutamente ignorare l´attributo rbspan quando appaia nella marcatura ruby semplice.

2.7  L´elemento rp

L´elemento rp può essere usato nella marcatura ruby semplice per specificare caratteri che possano denotare l`inizio e la fine del testo ruby quando gli user agents non abbiano altre maniere di presentare il testo ruby separatemente del testo base. I parentesi (o caratteri simili) potrebbero essere usati a quel scopo. In questa situazione, il testo ruby si degraderà soltanto per essere presentato inline è contenuto tra i parentesi di sostituzione. Questa é la presentazione meno inappropiata, sotto la condizione che sia solamente disponibile la presentazione inline. L´elemento rp non può essere usato con marcatura ruby complessa.

L´elemento rp ha soltanto attributi comuni.

Usare parentesi come sostituzione può portare a confusione tra righe di testo determinate come ruby e altre righe che possano essere incluse tra parentesi. L`autore del documento o del foglio di stile deve essere cosciente della posibilità di confusione e deve scegliere un delimitatore che non sia ambiguo per fare la sostituzione.

3. Considerazioni su presentazione e stile

Questa sezione è informativa.

Questa sezione tratta sui vari aspetti della presentazione e stile nel contesto della marcatura ruby definita in questa documento. Comunque, questo documento non specifica nessun meccanismo di presentazione/stile; questo si rilascia ai rispettivi linguaggi di fogli di stile. Le proprietà di configurazione di stile per ruby si sviluppano in CSS e XSL. Vedere come esempio "CSS3 module: Ruby" [CSS3-RUBY] (work in progress) per i particolari.

I particolari della configurazione ruby in un contesto giapponese di stampa è disponibile in JIS-X-4051 [JIS4051].

3.1 Ruby nella Web contro l´uso tipografico tradizionale

Il termine "ruby" in Giapponese si usa soltanto per testi visualizzati lungo il testo base. Nelle sezione 3.2 (dimensioni di fonte), sezione 3.3 (posizionamento), e sezione 3.4 (presentazione della marcatura ruby) si forniscono considerazioni per questi casi. Questo tipo di presentazione deve essere usata sempre che sia possibile. Dobbiamo tenere conto che introdurre ruby nella Web può trarre certi problemi che non compaiono nella tipografia tradizionale. Marcature strutturali per ruby, come le definite in questa specifica, non possono garantire che il test ruby sia sempre presentato lungo il testo base. C´è una varietà molto grande di dispositivi output, attuali e futuri, per documenti marcati con XHTML. I seguenti sono scenari possibili di presentazioni diverse:

3.2 Dimensione di fonte (Font Size) del testo ruby

La dimensione di fonte tipica del testo ruby è circa la metà della dimensione di fonte del testo base. Di fatto, il nome "ruby" si originò del nome della dimensioni di fonte di 5.5pt font size nella tipografia britannica, cioè circa la metà della dimensione di fonte di 10pt usate per il testo normale.

3.3 Posizionamento del testo ruby

Ci sono molti posizione dove il testo ruby può apparire in relazione al suo testo base. Siccome i testi dell`Asia Orientale si presentano tanto verticalmente quanto orizzontalmente, i termini "prima" e "dopo" si usano qui di preferenza a "sopra" e "sotto" oppure "lato destro" e "lato sinistro". Le parole "prima" e "dopo" devono essere capite come "prima"/"dopo" la linea che contiene il testo base. La corrispondenza si mostra nella seguente tabella:

Terminologia Configurazione orizzontale
(sinistra-a-destra, su-a-giù)
Configurazione verticale
(su-a-giù, destra-a-sinistra)
Prima Sopra Lato destro
Dopo Sotto Lato sinistro

I testi Ruby si mettono più frequentemente prima del testo base (vedere figura 1.1 e figura 3.2). A volte, specialmente nei documenti educativi orizzontali, il testo ruby può apparire dopo il testo base, ad esempio sotto (vedere figura 3.1). In Cinese, è abbastanza comune che il testo Pinyin ruby appaia dopo il testo base. Il testo Ruby può anche apparire dopo il testo base in una configurazione verticale (vedere figura 3.3). In tutti questi casi, la direzione della scrittura del testo ruby è la medesima di quella del testo base, cioè: verticale se il testo base è verticale, e orizzontale se il testo base è orizzontale.

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: Testo ruby (lettere latine) prima/sotto il testo base (ideogrammi giapponesi)

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: Testo ruby text in scrittura verticale (prima/a destra)

Example showing ruby on the left side of vertical Japanese text

Figura 3.3: Testo ruby in scrittura verticale (prima/a sinistra).

Nei testi cinesi tradizionali, il testo ruby "Bopomofo" può apparire lungo il lato destro del testo base anche in una configurazzione orizzontale.

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: Testo ruby "Bopomofo" in Cinese tradizionale (il testo ruby si mostra in rosso/blu per chiarezza) in configurazzione orizzontale

Si prenda nota che le marche di tono Bopomofo (nel esempio mostrate in rosso per chiarezza) sembrano apparire in una colonna separata (lungo il lato destro del testo ruby Bopomofo) e quindi sembrano "ruby di ruby". Comunque, sono semplicemente codificate come parte del testo ruby. I particolari di questa codifica non sono disponibili in questo documento.

3.4 Presentazione della marcatura ruby

Questa specifica non prescrive come si visualizzerà la marcatura ruby. In genere, i fogli di stile specificheranno il comportamento della marcatura ruby.

Nota. Sebbene la presentazionedei testi ruby sarà controllata dai fogli di stile, se non c´è informazione di stile fornita dal autore o l´user, si raccomanda che gli user agents visuali mettano il testo ruby prima del testo base quando si usa solo un testo ruby. Anche è il caso del ruby semplice. Quando sono due testi ruby, il primo deve mettersi prima del testo base, e il secondo testo ruby dopo il testo base. Un modello di foglio di stile per difetto di user agent che descrive questa configurazione è fornito nel [CSS3-RUBY] o attualizzazione posteriore.

Per presentazione non visuale, per difetto de informazione di foglio di stile, si raccomanda che tanto il testo base quanto il testo(i) ruby si presentino con una indicazione (ad esempio: voce diverse) del suo stato.

Per permettere che i fogli di stile possano applicare lo stile, o per altri meccanismi di presentare correttamente il testo ruby, è molto importante fornire la informazione che sia sufficiente sulla funzione di ogni componente. L`esempio seguente mostra l`uso degli attributi di classe affinchè i fogli di stile definiscano la presentazione essatta del testo ruby. La classe "reading" si usa per un testo ruby che indica lettura. La classe "annotation" si usa per indicare un testo ruby che si usa per annotazioni. L` attributo xml:lang indica il linguaggio del testo.

<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: Marcatura Ruby con attributi class e xml:lang .

Usando un foglio di stile che specifichi un testo orizzontale, una presentazione della lettura prima del testo base, e una presentazione della annotazione dopo il testo base, la marcatura presentata prima potrebbe presentarsi così:

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: Presentazione orizzontale di due testi ruby associati con un singolo testo base.

3.5 Considerazioni per presentazioni non visuali

I documenti che contengono marcatura ruby a volte bisognano essere eseguiti per user agents non visuali come voice browsers e braille user agents. In questi scenari di presentazione, è importante sapere che:

Il modo di lettura del testo può variare tra molto molto veloce e molto attento e dittagliato, secondo le necessità del utente; e per questo i modi di trattare testi ruby in una presentazione non visuale vanno da saltellare in lettura veloce a una esplorazione accurata della struttura ruby e dei caratteri.

Quando i testi ruby rappresentano pronuncia, come accade spesso, presentare tanto il testo base quanto il testo ruby può portare a una duplicazione noiosa. Un sintetizzatore di voce può pronunciare correttamente il testo base grazie a un ampio dizionario o selezionare la pronuncia corretta sulla base della informazione del testo ruby.

Non tutti i testi ruby rappresentano la pronuncia. Gli autori devono distinguere quale sia la funzione dei testi ruby usando l`attributo class. Questo è dimostrato prima usando class="reading" per testi ruby con lo scopo di indicare pronuncia.

I testi ruby che indicano la lettura a volte non la indicano correttamente, anche quando la scrittura usata sembrasse essere perfettamente fonetica. Per esempio, Bopomofo è associato indipendentemente per ogni carattere del testo base; il suono dipendente del contesto o i cambiamenti di tono si perdono. Similmente, in Giapponese, accadono irregolarità nel sillabare, come usare"" (hiragana ha) per il suffiso tematico pronunciato "" (wa), oppure usare vocali per indicare lunghezza. In questi casi, gli autori possono desiderare fornire la vera pronuncia con una marcatura speciale designata per tale scopo o confidarsi nella capacità del sistema di presentazione per maneggiare questi casi correttamente.

3.6 Alternattive al elemento rp

Se l`autore non è interessato sui meccanismi di sostituzione per user agents che nè conoscano la marcatura ruby nè usino i fogli di stile CSS2 [CSS2] o XSL [XSL] non c´è bisogno degli elementi rp.

Tuttavia, è possibile mettere fra parentesi i testi ruby come sostituzione se, ad esempio la risoluzione del dispositivo non permette la tradizionale presentazione ruby. Usando [CSS2], i parentesi possono generarsi tramite 'content' property ([CSS2], sezione 12.2) con gli :before and :after pseudo-elements ([CSS2], sezione 12.1), come nel seguente frammento di stile come esempio:

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

Figura 3.8: frammento di stile CSS2 per generare parentesi che includano un elemento rt

Nel esempio, i parentesi si crearanno automaticamente all´intorno del elemento rt. Si presume che le regole di stile menzionate si devono usare insieme con le regole di stile che posizionano il testo ruby inline. La generazione di parentesi non presenta problemi con XSLT [XSLT].

4. Criteri di conformità

Questa sezione è normativa.

Nel contesto di questa specifica, la conformità può essere richiesta per marcatura, tipo di documento, implementazioni di moduli, documenti, generatori ed interpreti. Nella maggioranza dei casi sono disponibili due livelli di conformità: conformità semplice e conformità completa. Conformità semplice vuole dire che gli oggetti conformi sostengono il modelllo di contenuto minimo del elemento ruby della sezione 2.1, ad esempio: soltanto marcatura ruby semplice. Conformità completa vuol dire che gli oggetti conformi sostengono il modello di contenuto massimo del elemento ruby della sezione 2.1, ad esempio: ambedue marcature ruby, semplice e complessa.

La marcatura è conforme con la marcatura ruby semplice se contiene uno o più elementi ruby e il contenuto di questi elementi (inclusi i generati da loro) sono conformi con il modello di contenuto minimo della sezione 2.1 (ad esempio: soltanto è ammessa la marcatura ruby semplice). La marcatura è conforme con la marcatural ruby completa se contiene uno o più elementi ruby e il contenuto di tutti questi elementi (inclusi i generati da loro) sono conformi con il modello di contenuto massimo della sezione 2.1 (ad esempio: si ammettono le marcature ruby semplice e complessa).

Un tipo di documento è un tipo di documento conforme con la marcatura ruby semplice se può integrare marcatura ruby semplice conforme aggiungendo l`elemento ruby agli elementi appropriati (come gli elementi inline) e definendo gli elementi e attributi necessari. Un tipo di documento è un tipo di documento conforme con la marcatura ruby completa se integra marcatura ruby completa aggiungendo l`elemento ruby agli appropriati elemtenti (come gli elementi inline) e definendo gli elementi e attributi necessari.

Una implementazione di modulo (per esempio con tecnologia DTD o Schema XML) è una implementazione di modulo con conformità ruby semplice se è designata per integrare marcatura ruby semplice con altri moduli dentro tipi di documento come i descritti prima. Una implementazione di modulo è una implementazione di modulo con conformità ruby complessa se è designata per integrare marcatura ruby completa con altri moduli dentro tipi di documento come i descritti prima. Una implementazione di modulo è una implementazione di modulo con conformità ruby completa se è designata per integrare marcatura ruby tanto semplice quanto complessa con altri moduli dentro tipi di documento come i descritti prima(ad esempio, fornendo un commutatore o due implementazioni di modulo separate).

Un documento è un documento conforme con la marcatura ruby semplice se contiene marcatura ruby semplice conforme e non contiene marcatura ruby complessa o marcatura ruby non conforme. Un documento è un documento con conformità ruby completa se contiene marcatura ruby completa conforme e non contiene marcatura ruby non conforme.

Un generatore è un generatore conforme con la marcatura ruby semplice se genera marcatura ruby semplice conforme e non genera marcatura ruby complessa o marcatura non complessa. Un generatore è un generatore conforme con la marcatura ruby completa se genera marcatura ruby completa conforme e non genera marcatura ruby non conforme.

Un interprete è un interprete con conformità ruby semplice se rifiuta marcatura ruby semplice non conforme, accetta marcatura ruby semplice conforme, e, quando interpreta marcatura ruby, lo fa d`accordo con questa specifica. Un interprete è un interprete con conformità ruby completa se rifiuta marcatura ruby non conforme, accetta marcatura ruby completa conforme, e, quando interpreta marcatura ruby, lo fa d`accordo con questa specifica. Esempi di interpreti sono analisis server-side o strumenti di trasformazione e presentazione.

Per conformità nella Modulizzazione XHTML, vedere sezione 3 di [XHTMLMOD].


Appendici

A.  Modulo ruby per XHTML

Questa appendice è informativa.

Questo è un link al modulo ruby DTD che si usa nel XHTML 1.1 [XHTML11].

B. Note su decisioni di disegno

Questa appendice è informativa. Questa appendice contiene alcune note su decisioni di disegno, in base a domande e commenti ricevuti durante la ultima revisione.

Ci sono state proposte di cambiare, ad esempio, <rbc><rb>...</rbc> a <rb><rbc>...</rb> (anche per rt/rtc). Questo sembra forse più naturale. Comunque, in XML, il contenuto di un elemento è o contenuto misto (entrambi i caratteri data e elementi, senza restrizioni di sequenza o avvenimento) o contenuto di elementi (soltanto elementi, con restrizioni). Questo significa che è impossibile dire che <rb> contiene soltanto elementi <rbc> o soltanto elementi caratteri data e inline.

Ci sono stati vari proposte di rimmuovere gli elementi rp del modello di contenuto minimo. Sono state considerate, ma rifiutate per le seguenti cause:

Si ha suggerito cambiare i nomi degli elementi, in particolare <ruby> a <gloss>. Comunque, sebbene la marcatura ruby è in certo senso simile alla marcatura per glosses, non è stata designata per quel proposito.

C.  Note sulla compatibilità con sistemi anteriori

Quest´appendice è informativa.

Per raggioni storiche, alcuni sistemi possono generare marcatura ruby senza etichetta di principio nè fine degli elementi rb come:

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

piuttosto che:

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

La prima marcatura non è in conformità con questa specifica, ma user agents che tengano conto della compatibilità con documenti generati per questi sistemi possono trattare la prima marcatura come si fosse stata scritta come la seconda.

D.  Glossario

Quest´appendice è informativa.

Testo base
Riga di testo associata a un ruby text .
Bopomofo
37 caratteri e 4 marche di tono di uso fonetico in Cinese, specialmente nel Mandarino standard.
Marcatura ruby complessa
In questa specifica: marcatura ruby che permette associare due testi ruby con un singolo testo base e associazione di una granularità più fine tra parti dei testi ruby e il testo base.
Gruppo ruby
In tipografia giapponesa: testo ruby associato con più di un carattere del testo base.
Hiragana
Scrittura sillabica giapponesa, o carattere di quella scrittura, di aspetto rotondo e cursivo. Sottoinsieme del sistema di scrittura giapponese, usato assieme con kanji and katakana. Oggiogiorno, usato quasi sempre per scrivere parole giapponesi quando kanji non sono disponibili o appropiati, e particole e finali di parole.
Ideogramma
Carattere usato per rappresentare un`idea, parola o componente di parola, in contrasto con un carattere di scrittura alfabetica o sillabica. La scrittura ideografica più conosciuta è quella (con variazioni) nell`Asia Orientale (Cina, Giappone, Corea,...).
Kana
Termine collettivo per hiragana and katakana.
Katakana
Scrittura sillabica giapponese, o carattere di quella scrittura. Di aspetto angolare. Sottoinsieme del sistema di scrittura giapponese, usato con kanji and hiragana. Oggigiorno, si usa principalmente per parole straniere.
Kanji
Termine giapponese per ideogramma; ideogrammi usati nella lingua giapponesa. Sottoinsieme del sistema giapponese di scrittura, usato insieme con hiragana and katakana.
Monoruby
In tipografia giapponese: ruby associato con un singolo carattere del testo base.
Lettura
Per ideogrammi: Termine tecnico; indica la pronuncia possibile. Diversa della pronuncia in certi aspetti: la scrittura usata può non essere totalmente fonetica; la pronuncia vera dipende dal parlante; non sempre ce ne accorgiamo se leggiamo un testo in silenzio. In cinese o coreano, alcuni ideogrammi hanno molte letture. In giapponese, la maggioranza dei ideogrammi hanno almeno due letture, alcuni molti più. Le letture dipendono anche dal contesto.
Testo ruby
Riga di testo che apparisce in vicinanza immediata di un`altra riga di testo (chiamata "base ruby") che serve come annotazione o guida di pronuncia associata alla base.
Marcatura ruby semplice
In questa specifica: marcatura ruby che associa un singolo testo ruby con una singola base ruby, fornendo opzionalmente alcuni delimitatori come parentesi per sostituzione.

E.  Cambiamenti alla Raccomandazione proposta

Quest´appendice è informativa.

Cambiamenti alla Raccomandazione proposta (http://www.w3.org/TR/2001/PR-ruby-20010406):

Riconoscimenti

Questa sezione è informative.

Takao Suzuki (鈴木 孝雄) e Chris Wilson hanno contributo come curatori di progetti previ.

Questa specifica non sarebbe stata possibile senza l´aiuto dei membri della W3C I18N WG, in particolare Mark DAVIS e Hideki HIURA (樋浦 秀樹), e tutti i membri della W3C I18N IG.

Hanno anche contributo 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 marcatura definita in questa specifica è stata coordinata con la marcatura ruby in [JIS4052], sviluppata da WG 2 (Typesetting) della Electronic Document Processing System Standardization Investigation and Research Committee of the Japanese Standards Association. Si riconoscono con gratitudie anche ai membri della WG 2, in particolare Kohji SHIBANO (芝野 耕司, capo), e Masafumi Yabe (家辺 勝文, delegato). Tecnicamente, la marcatura per ruby in [JIS4052] differisce della marcatura di questa specifica in due punti: Primo, vi è una forma alternativa di marcatura non compatibile con XML, bassata su simboli speciali, e secondo, l´elemento rp non è permesso.

Si riceverono valiosi commenti di ultima ora di: The HTML WG, la CSS WG, XSL WG, WAI P&F WG, Steven PEMBERTON, Trevor HILL, Susan LESCH, e Frank Yung-Fong TANG. Akira UCHIDA (内田 明) fornì aiuto come traduttore.

Una proposta più antica di marcatura per ruby, usando attributi, si descrive in [DUR97].

Riferimenti (testi in inglese)

Riferimenti normativi

[XHTML11]
"XHTML 1.1 - Module-based XHTML", Raccomandazione W3C
M. Altheim, S. McCarron, curatori, 31 Maggio 2001
Disponibile nel indirizzo: http://www.w3.org/TR/2001/REC-xhtml11-20010531
L´ultima versione é disponibile nel indirizzo
: http://www.w3.org/TR/xhtml11/
[XHTMLMOD]
"Modularization of XHTML", Raccomandazione W3C
M. Altheim et al., curatori, 10 Aprile 2001
Disponibile nel indirizzo: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410
L´ultima versione si trova nel indirizzo: http://www.w3.org/TR/xhtml-modularization/
[XML]
"Extensible Markup Language (XML) 1.0 (Second Edition)", Raccomandazione W3C
T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, curatori, 6 Ottobre 2000
Disponibile nel indirizzo: http://www.w3.org/TR/2000/REC-xml-20001006
L´ultima versione é disponibile nel indirizzo: http://www.w3.org/TR/REC-xml

Riferimenti informativi

[CSS2]
"Cascading Style Sheets, level 2 (CSS2) Specification", Raccomandazione W3C
B. Bos, H. W. Lie, C. Lilley and I. Jacobs, curatori, 12 Maggio 1998
Disponibile nel indirizzo: http://www.w3.org/TR/1998/REC-CSS2-19980512
L´ultima versione é disponibile nel indirizzo: http://www.w3.org/TR/REC-CSS2/
[CSS3-RUBY]
"CSS3 module: Ruby", Progetto di lavoro W3C
M. Suignard, curatore, 16 Febbraio 2001
Disponibile in: http://www.w3.org/TR/2001/WD-css3-ruby-20010216/
L´ultima versione é disponibile nel indirizzo: http://www.w3.org/TR/css3-ruby/
[DUR97]
"Ruby in the Hypertext Markup Language", Progetto interno
Martin Dürst, 28 Febbraio 1997, scaduto
Disponibile in: http://www.w3.org/International/draft-duerst-ruby-01
[HTML4]
"HTML 4.01 Specification", Raccomandazione W3C
D. Raggett, A. Le Hors, I. Jacobs, curatori, 24 Dicembre 1999
Disponibile in: http://www.w3.org/TR/1999/REC-html401-19991224
L´ultima versione é disponibile nel indirizzo: http://www.w3.org/TR/html4/
[JIS4051]
"Regole di composizione diretta per documenti giapponesi" (日本語文書の行組版方法)
JIS X 4051-1995, Japanese Standards Association, 1995 (in giapponese)
[JIS4052]
"Formato di scambio per documenti giapponesi con composizione di marcatura" (日本語文書の組版指定交換形式)
JIS X 4052:2000, Japanese Standards Association, 2000 (in giapponese)
[ModSchema]
"Modularization of XHTML™ in XML Schema", Progetto di lavoro W3C
Daniel Austin and Shane McCarron, curatori, 22 Marzo 2001
Disponibile in: http://www.w3.org/TR/2001/WD-xhtml-m12n-schema-20010322
L´ultima versione é disponibile nel indirizzo: http://www.w3.org/TR/xhtml-m12n-schema/
[XMLSchema]
"XML Schema Part 1: Structures", Raccomandazione W3C
H. S. Thompson, D. Beech, M. Maloney, N. Mendelsohn, curatori, 2 Maggio 2001
Disponibile in: http://www.w3.org/TR/2001/REC-xmlschema-1-20010502
L´ultima versione é disponibile nel indirizzo: http://www.w3.org/TR/xmlschema-1/
Vedere anche "XML Schema Part 2: disponibile nel indirizzo: http://www.w3.org/TR/xmlschema-2/
[XSL]
"Extensible Style Language (XSL)", Raccomandazione W3C
S. Adler et al., curatori, 21 Novembre 2000
Disponibile in: http://www.w3.org/TR/2000/CR-xsl-20001121
L´ultima versione é disponibile nel indirizzo: http://www.w3.org/TR/xsl/
[XSLT]
"XSL Transformations (XSLT) Version 1.0", Raccomandazione W3C
J. Clark, ed., 16 Novembre 1999
Disponibile in: http://www.w3.org/TR/1999/REC-xslt-19991116
L´ultima versione é disponibile nel indirizzo: 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

Australian Debt Consolidation Experts
medical insurance
Wedding Website
Search Escorts and girls (incall/OutCall) online with www.Oasi2000.com, www.Oasi2007.com, www.Bakeca.it...
UK Swingers Contacts
Manufacturers
life insurance
Punting
Make Your Own Website
Free International Calls
Cleaning Service
toxic mold
UK Swingers Genuine Contacts Site
Sex Links
office chairs
Sex
Vacuum Parts