Cheia de acces n sare lanagigarea in pagina. Sari la inceputul continutului.

Acest document e o traducere. In caz ca apare vreo eroare sau discrepanta, ultima versiune in Engleza este cea autoritativa. Copyright-ul original apartine W3C, dupa cum e aratat mai jos.

Traducator: Sorin Velescu

s_gotoW3cHome Internationalizare
 

CSS3 si textul international

Cititorii vizati: autorilor de continut HTML/XHTML si CSS care vor sa aiba o idee generala asupra viitorului suport pentru CSS-ul cu text non-latin. Acest articol necesita o cunoastere de baza a CSS.

Modulul CSS3 ce este momentan in dezvoltare va introduce o serie de proprietati destinate pentru a suporta si textul non-latin, de la suport pentru scriptul vertical pana la justificarea kashida, de la pozitionarea ruby la numararea listelor. Acest articol va va oferi o previzulizarea a proprietatilor ce urmeaza a fi afisate si o discutie despre cum puteti voi sa faceti aceste imbunatatiri o realitate.

Acest articol nu va expune toate proprietatile planuite a fi incluse in CSS3 pentru suportul textului internationa. Acesta va destainui doar o mica parte a ceea ce o sa urmeze, pentru a va putea da seama de potentialele beneficii din finalizarea muncii

Nici o specificatie mentionata in acest articol nu a fost finalizata.

Sper ca acest articol va creste asteptarile voastre si va va motiva sa va implicati, unde este cazul, in finalizarea acestor module si implementarea lor de catre aplicatii.

Liste

Felul in care elementele sunt numarate intr-o lista difera de la script la script. In CSS2 noua sisteme de enumerare non-latine erau specificate. Acestea includeau: greaca-comuna, ebraica, armeana, georgiana, cjk-ideografic, hiragana, katakana, hiragana-iroha, katakana-iroha. Din pacate, aplicatiile nu le-au implementat pe toate si, ca parte a misiuni de a reprezenta folosirea curenta, specificatiile CSS2.1 au redus numarul la doar doua: armeana si georgiana.

Acest lucru arata cat de important este ca vocea ta sa fie auzita daca vrei ca aceste caracteristici non-latine sa fie incluse in specificatii si aplicatii.

Se spune ca comportamentul asteptat a fost de asemenea sarac specificat pentru aceste optiuni.

valorile list-style-type in CSS 2 si CSS 2.1

valorile list-style-type in CSS 2 si CSS 2.1.

Modulele de liste CSS3 specifica aproape 70 de scheme non-latine pentru enumerarea listelor si prezinta reguli mult mai riguroase despre folosirea lor. (Daca vrei ca acest numar sa nu scada, nu stati si vaceti-va auziti. Cei care implementeaza au tendinta de a se intreba din cand in cand daca au nevoie sa sprijine atatea posiobilitati.)

list-style-type in CSS3

list-style-type in CSS3

Text

Directia textului

CSS3 va permite folosirea textului vertical si ar trebui sa faca acesta lucru in asa fel incat alegerea intre scrierea pe vertical sau pe orizontal sa se rezume la o decizie stilistica, de exemplu, vei putea trece de la un text bine redat pe orizontatala la un text bine redat pe verticala din doar cateva miscari dar fara a schimba markup-ul. Vei putea, de asemenea, sa amesteci textul orizontal cu cel vertical pe aceeasi pagina.

Parametrii cheie de aici sunt: directia progresiei blocului, directia textului din linie si orientarea glifulului.

Proprietatile directiei textului

Proprietatile directiei textului.

directia progresiei blocului permite specificarea directiei in care liniile textului curg. De sus in jos ar fi potrivit scrisului pe orizontala din moment ce liniile curg de sus in jos. De la dreapta spre stanga ar fi setarea normala a textului vertical Chinezesc, Japonez si Corean, unde liniile progreseaza de la stranga sprea dreapta paginii sau a blocului. De la stanga la dreapta ar fi potrivit unui script Mongolez, care este de asemenea vertical dar citirea incepe din stanga sus.

Daca se da o linir trebuie sa fie posibil sa se specifice directia textului din acea linie. De la dreapta la stanga ar fi potrivit scripturilor Arabice sau Ebraica. Aceasta trebuie interpretata relativ cu directia progresiei blocului.

Un mod de scriere a fost propus ca o scurtatura ce combina atat progresia liniei cat si a blocului intr-u set comun de combinatii.

Atunci este necesar sa asiguram un mijloc de a controla literele latine din Japoneza verticala apar la locul lor (ca si 'Johansson' in imagine), sau perpendicular (ca 'FIFA' in imagine) si daca textul (stanga la dreapta si dreapta spre stanga) merge in sus sau catre in jos.

Cel mai dificil aspect al directiei textului este cum poate cineva sa ofere utilizatorului varianta preferata a setarilor paragrafelor verticale. Grupul de Lucru CSS discuta despre cum trebuie facut acest lucru(Mai 2006).

Intreruperea liniei(Line breaking)

Cand liniile textului se aduna, tipul scriptului afecteaza comportamentul asteptat - mai ales referitor spatiile albe din jurul intreruperilor de linie din cod.

Scripturile in Chineza si Japoneza nu delimiteaza cuvintele cu spatii si aduna caracter cu caracter. Totusi, sunt niste regului (numite regului kinsoku in Japonia) care interzic anumite caractere (mai ales punctuatia finala) de a aparea la inceputul liniei si altele care interzic anumite caractere sa apara la sfarsitul liniei.

Scriptul Thai foloseste spatiile pentru a delimita frazele, mai degraba decat cuvintele, si nu folosesc punctuatie pentru sfarsitul propozitiei. Exista, totusi, un concept puternic al cuvantului, iar textul trebuie sa respecte frontierele cuvantului. Unele sisteme Thai se bazeaza pe utilizatori ca o sa puna spatii de latime zero pentru a indica unde adunarea (wrapping-ul) este corespunzator, dar este mai simplu sa folosesti un dictionar pentru a determina frontierele cuvantului.

Daca foaia de stil nu are nevoie ca acel spatiu sa fie pastrat, cand are de-a face cu script latin, procesul general de afisare a textului care este adunat pe o linie noua din sursa implica, in primul rand, reducerea tuturor spatiilor albe de la inceputul si sfarsitul liniei la un spingur spatiu. Atunci, daca foaia de stil este de acord, intreruperea liniei si toate spatiile inconjuratoare sunt reduse la un singur spatiu.

Proprietatile intreruperii liniei in CSS3 vor permite indicarea comportamentului corespunzator pentru scripturi cum sunt Chineza, Japoneza si Thai, unde adaugarea unui spatiu intre un text adunat ar putea fi necorespunzatoare.(Acesta este o parte destul de complicata si discutiile despre cum e mai bine sa fie manevrata aceasta problema continua.)

Unele proprietati CSS3 va vor permite sa specificati daca vreti sau nu sa adaugati diferit un text in mijlocul unui text din alt script. De exemplu, daca aveti un text latin in mijlocul unui text chinez, ar trebui sa adauge caracter cu caracter sau cuvant cu cuvant? Ambele sunt valide, iar CSS ar trebui sa permita sa alegi in functie de preferintele generale sau de context. (Vezi doua exemple in imaginea de mai jos.)

Posibilitatile de line breaking cu amestec de text CJK si Latin.

Posibilitatile de line breaking cu amestec de text CJK si Latin.

In plus, este de asemenea important sa permita utilizatorului sa isi exprime preferintele legate de regulile kinsoku si echivalentele lor in chineza si coreana. Exemplul din figura de jos arata un rezultat tipic cand ultimul caracter de pe o linie este urmat de un caracter katakana.

Kana mic si intreruperile de linie

Kana mic si intreruperile de linie

Caracterul katakana mic incepe in linia a doua. Acesta tinde sa fie preferinta tipografica japoneza si este folositor in text cu coloane subtiri. Al doile exemplu arata rezultatul unei apropieri diferite, de multe ori referita ca fiind 'stricta'. Algoritmul de adunare a liniilor trage in jos, acum, ultimul caracter katakana din linia precedenta astfel caracterul katakana mic nu mai este in pozitia initiala, lasand un spatiu la sfarsitul liniei daca textul nu a fost formatat "justified"

O metoda de a aplica regulile kinsoku de la sfarsitul liniei mai sus mentionate este aducerea celor doua caractere pe linia urmatoare. Acest lucru se poate face, de exemplu, pentru a evita o propozitie sa inceapa cu un delimitator de final.

O alternativa ar fi ca punctuatia sa fie lasata sa "atarne" pe margine. CSS3 ar trebui sa iti permita sa controlezi asta.

Punctuatie atarnata

Punctuatie atarnata.

Alinierea si formatarea justify a textului

Cand se specifica alinierea si formatarea justify a textului, CSS trebuie sa-ti permita sa specifici cum se aplica formatarea justify a textelor cu scripturi mixte, combinate. Exemplul de mai jos arata cum o abordare poate cauza spatierea intre caractere care se aplica la caractere ideografice dar nu se aplica la textul non-latin.

Posibilitatea de acontrola formatarea justify va permite, de asemenea, formatarea justify potrivita pentru diferite cripturi, de exemplu ideografic, scipturi indice cu conectori baseline, scripturi sud-est asiatice care nu folosesc spatii intrecuvinte, scripturi cursive precum cel arabic, etc.

Formatarea justify setata normal si inter-ideografic

Formatarea justify setata normal si inter-ideografic

Textele arabice se formateaza justify prin intinderea liniei ce conecteaza literele dintr-un cuvant si nu marind spatiile dintre cuvinte. CSS3 ar trebui sa permita formatarea justify in acest fel.

Trebuie, de asemenea, sa poti specifica gradul de intindere care este aplicat in timpul formatarii justify.

Formatarea justify setata normal si kashida.

Formatarea justify setata normal si kashida.

Ca o parte a procesului de formatare justify a textelor in limba cineza, japoneza si coreana ar trebui sa poti specifica daca si cum se comporta compresia spatiilor goale. Imaginea de mai jos ne arata un exemplu cum au fost inlaturate spatiile goale dintr-un text in limba japoneza.

Ajustarea textului in cazul formatarii justify.

Ajustarea textului in cazul formatarii justify.

Ar trebui sa poti specifica daca un semn de punctuatie intr-un text ideografic trebuie ingustat la inceputul liniei pentru a se alinia cu primele caractere din linia de sus si cea de jos. Aceasta face ca marginea din stanga sau de sus sa arate mai bine, dar afecteaza formatarea justify a linie unde are loc.

Ajustarea punctuatie de la inceputul liniei.

Ajustarea punctuatie de la inceputul liniei.

Spatierea textului

Cand intr-un text ideografic apar caractere non-iedografice sau numere se prefera separarea acestora cu un spatiu in plus. CSS3 va oferi posibilitatea de adauga acest gen de spatii fara a fi nevoie de spatii in continut. Poti aplica aceasta proprietate la diferite tipuri de text si sa le combini cum doresti.

Autospatiera setata normal, apoi numeric plus alfa

Autospatiera setata normal, apoi numeric plus alfa

Grile de document

Hieroglifele din documentele scrise in limbi est asiatice sunt asezate in pagina intr-un sablon tip grila. Aceasta abordare este ajutata de faptul ca simbolurile ideografice, kana si hangul tind sa aiba aceeasi latime.

CSS3 poate specifica o serie de proprietati pentru aplicarea grilelor si pentru aranjarea caracterelor care nu au latimea maxima, precum textul latin, in interiorul grilei, in diferite moduri. Asemenea proprietati trebuie sa indice daca grilele se aplica in acelasi fel atat la caracterele non-ideografice cat si la cele din limba chineza, japoneza sau coreana.

Aceasta imagine arata un text japonez scris veritacal fara grila aplicata.

Text japonez scris veritacal fara grila aplicata.

Text japonez scris veritacal fara grila aplicata.

In aceasta imagine putem vedea efectele aplicarii unei configuratii grila a textului anterior.

Text japonez scris veritacal cu grila aplicata.

Text japonez scris veritacal cu grila aplicata.

Kumimoji si warichu

Kumimoji este un cuvant japonez care face referire la combinarea a pana la 5 hieroglife in spatiul destinat unei singure hieroglife.

Kumimoji.

Kumimoji.

Warichu este un cuvant japonez pentru o nota din interiorul liniei, unde textul este scris pe doua linii.

Warichu.

Warichu.

Ambele efecte vor fi disponibile prin proprietatile CSS3.

Accentul

Modulul de fonturi al CSS3 va permite formele native ale accentului, cum ar fi semnele boten folosite in japoneza. Acestea se aseamana in folosire cu inclinarea si ingrosarea textului latin - nici una dintre ele nu functioneaza bine la textul mic.

Semnele boten Japoneze

Semnele boten Japoneze

Este nevoie de cateva proprietati care sa specifice tipul caracterului boten folosit si pozitia fata de textul de baza (sus sau jos pentru textul orizontal si stanga sau dreapta pentru textul vertical.

Modulul Ruby

Ruby este un tip de adnotatie asociata unui text de baza care este folosit des in japoneza si la cateva extensii ale limbii chineze, pentru a oferi informatii legate de pronuntie ideografilor si, cateodata, explicatii scurte. Numele 'ruby' este originar dintr-o denumire data unei dimensiuni de caracter (aproximati jumate din dimensiunea unui caracter normal de dimensiune 10) folosit de reglatorii de litere englezi. In limba japoneza, acesta este numit furigana.

Marcarea Ruby

Recomandarea pentru Adnotatia Ruby descrie cum sa fie marcat textul pentru a se intelege clar care este textl de baza si care este adnotatia ruby. (Aceasta nu este o specificatie Ruby). Exista modele ruby atat simple cat si complexe. Imaginea de mai jos arata cea mai simpla forma de marcare descrisa in Recomandare. Textul din elementul <rt> este o adnotatie. Textul de baza se afla in elementul <rb>.

Ruby afisat si marcat

Ruby afisat si marcat

O aplicatie care afiseaza ruby va afisa in mod normal text ruby simplu deasupra textului de baza orizontal intr-un fonty mai mic. Pentru textul vertical, ruby va fi afisat, prin predefinire, in dreapta.

Pentru o descriere mai detaliata vezi Marcarea si Stilizarea Ruby.

Stilizarea Ruby

S-ar putea sa vrei sa controlezi locatie textului ruby. De exemplu, specificatia Adnotatiei Ruby spune ca plasarea adnotatiilor pinyin sunt textul orizontal in limba chineza este preferata plasarii deasupra aceluias text. CSS3 va oferi posibilitatea de a controla aceasta locatie.

Pozitionarea Ruby: inainte

Pozitionarea Ruby: inainte

Daca specifi pozitia inainte, textul ruby va aparea deasupra textului orizontal de baza si la dreapta textului vertical. Daca specifici pozitia dupa, Textul ruby apare sub textul orixzontal de baza si in stanga textului vertical.

Pozitionarea Ruby: dupa

Pozitionarea Ruby: dupa

Valoarea 'dreapta' poate fi folositoare cand avem de-a face cu adnotatii bopomofo din textul traditional chinezesc, unde ruby apare intr-o coloana la dreapta fiecarui caracter ideografic, indiferent daca textul este vertical sau orizontal.

Pozitionarea Ruby: dreapta

Pozitionarea Ruby: dreapta

Proprietatile sunt necesare si pentru indicarea alinierii dintre textul de baza si ruby in momentul in care unul este mai lung decat celalalt. In principiu, efectul se aplica textului mai scurt, textul ruby sau textul de baza.

Imaginea de mai jos arata cum o sa arate textul daca alinierea ruby este setata sfarsit. (Ignora linia verde, care este acolo doar pentru a arata granitele mai clar.

Aliniera Ruby: sfarsit

Alinierea Ruby: sfarsit

Daca textul ruby este mai lat decat textul de baza poti specifica daca acesta sa atarne sau nu peste textul de baza si, daca da, in ce masura.

Exemplul din imaginea urmatoare arata efectul setarii unei proprietati de atarnare ruby start. Observa ca textul ruby acopera caracterele dinainte, dar nu textul de baza urmator. Mai observa ca textul ruby nu acopera alt text ruby.

Atarnare ruby: start

Atarnare ruby: start

Pentru o descriere mai detaliata a abordarii propuse acum pentru stilizarea ruby, vezi Marcarea si Stilizarea Ruby.

Cand va fi gata

Cum stau lucrurile

Am prezentat foarte succint cateva, in nici intr-un caz toate, modulele internationale pe care CSS3 le va oferi. Mai mult, am abordat extrem de vag proprietatile pe care le-am descris. Cand CSS3 va fi gata, multe dintre sectiunile acestui articol vor deveni articole cu drepturi depline.

Cateve dintre trasaturile disutate au fost implementate in Internet Explorer 5+, dar specificatiile s-au schimbat de atunci, deci trebuie sa fiti atenti cand folositi aceste caracteristici. Nu exista nici o garantie ca orice implementezi in Internet Explorer va deveni un cod interoperabil pe termen lung. De exemplu, proprietatile aranjarii grilelor sunt acum complet diferite.

Cu posibila exceptie a proprietatii de tip lista, nu pare sa exista alte implementari ale acestor caracteriistici pe alte aplicatii, deocamdata.

Urmatoarea lista indica starea actuala a modulelor discutate aici. Tine minte ca munca aceasta continua pentru toate aceste specificatii. Chiar si Recomandarile Candidat pot reveni la stadiul de Schita inainte sa devina Recomandare.

Aceasta nu este o lista exhaustiva a specificatiilor ce contin proprietati relevante textului international. De exemplu, Modulul Linie CSS3, care inca nu a fost publicat ca Schita, promite sa aduca un control important asupra comportamentului fata de alinierea liniei de baza din scripturi.

Exista, insa, munca aditionala care trebuie terminat in module care depind de aceste specificatii.

Cum sa grabim lucrurile?

Daca esti interesat sa vezi aceste caracteristici disponibile, te rog anunta W3c. Ne este intotdeauna folositor sa stim ceea ce vor utilizatorii. Exista si cai practice prin care te poti implica.

Grupul de Munca CSS are multe lucrari momentan, iar munca la aceste module a fost incetinita. Dupa cum am mai mentionat, exista si discutii despre caracteristici in Recomandarile Candidat. Ajutorul tau in dezvoltarea acestor specificatii va fi apreciat.

Poti ajuta specificatiile sa inainteze prin revizuirea si comentarea pe schitele publice care sunt disponibile acum.Daca esti expert in acest domeniu, poti considera participarea la Grupurile de Munca CSS sau Internationalizare pentru ca munca sa fie terminata mai repede. O mare parte din munca a beneficiat de pe urma specificatiei japoneze JIS 4051, dar exista cateva arii care ar fi folositoare confirmarea cerintelor si a compotamentului asteptat in alte scripturi.

Chiar si cand mutam aceste specificatii in Recomandari, batalia nu a fost castigata inca. Dezvolatorii aplicatiilor folosite de utilizatori trebuie implementate aceste caracteristici pentru a le putea folosi si avem nevoie ca proprietatile sa fie implementate pe o arie larga de aplciatii. Din nou, vocile utilizatorilor locali sunt importante in realizarea acestor lucruri. Dezvolatorii aplicatiilor folosite de utilizatori nu vor implementa aceste caracteristici daca nu aud pe nimeni intreband de ele.

In final, poti ajuta prin faptul ca te pastrezi informat despre progresul acestor caracteristici si sa le implementezi in continut cand acestea devin disponibile.

Spune-ne părerea ta (în Engleză).

Abonează-te la RSS feed.

Resurse noi

Noutăţi prima pagină

Twitter (Noutăţi prima pagină)

‎@webi18n

Alte materiale

Autor: Richard Ishida, W3C. Traducator: Sorin Velescu.

XHTML 1.0 Valid!
CSS Valid!
Incodat cu UTF-8!

Tradus din engleza: 2006-05-17. Ultima modificare a traducerii: 2011-05-04 8:51 GMT

Pentru a vedea toate schimbarile documentului, cauta article-css3-text pe blogul i18n.