|
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/
|
Copyright ©1998-2001 W3C® (MIT, INRIA, Keio), Tutti i Diritti Riservati. Si applicano le regole del W3C responsabilità, marchio registrato, uso del documento e licenza del software.
"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].
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.
rtc rb rt rp 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á.
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).
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.
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".
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.
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
![]()
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.
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:
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.
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:
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.
In somma, l´elemento ruby serve come contenitore di:
rb, rt e possibili elementi rp (marcatura ruby semplice) per: rbc e uno o due elementi contenitori rtc (marcatura ruby complessa) per: 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] .
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]).
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 come testo base. Il contenuto degli elementi rbrp , 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].
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.
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.
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.
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.
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.
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].
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:
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.
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.
Nei testi cinesi tradizionali, il testo ruby "Bopomofo" può apparire lungo il lato destro del testo base anche in una configurazzione orizzontale.
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.
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.
<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ì:
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.
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].
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].
Questa appendice è informativa.
Questo è un link al modulo ruby DTD che si usa nel XHTML 1.1 [XHTML11].
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:
rp per un ricevitore che comprenda marcatura ruby è molto semplice di implementare; il peso delle implementazioni è minimo. Tanto CSS quanto XSL forniscono meccanismo facili per rimmuovere elementi rp o evitare visualizzarli. 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.
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.
Quest´appendice è informativa.
Quest´appendice è informativa.
Cambiamenti alla Raccomandazione proposta (http://www.w3.org/TR/2001/PR-ruby-20010406):
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].
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