Acest articol a fost publicat în revista NetReport nr.128 din luna mai 2003

Standarde necunoscute, standarde ignorate: tastatura românească pentru calculatoarele de tip PC

Credeți sau nu, în România există deja un standard național cu privire la tastatura de calculator. Este vorba despre standardul SR 13392:1998 ale cărui specificații se pot obține de la ASRO.

Acest standard nu are nicio legătură cu configurația de tastatură românească cunoscută de utilizatorii sistemului de operare Windows.

Datorită faptului că acest standard a apărut (foarte) târziu, situația este anormală: standardul a trebuit și trebuie în continuare să țină cont de situația reală, nu situația reală trebuie să țină cont de standard. Cu toate acestea prezența acestui standard este necesară și, în funcție de cum este conceput, el poate fi cu adevărat util domeniului TI românesc.

Standardul SR 13392 trebuie însă revizuit, deoarece în forma lui actuală satisface cerințele unei categorii restrânse de utilizatori de calculatoare. Acesta este scopul acestui articol: prezintă o propunere de revizuire a standardului SR 13392.

Orice comentariu asupra problemelor și soluțiilor descrise aici este binevenit. Punctele de vedere pot fi exprimate pe forumul dedicat subiectului tastaturii românești, aflat la adresa http://www.secarica.ro/forum.


1. Index:


2. Puncte de plecare

2.1. Realități:

  • majoritatea utilizatorilor de calculatoare din România au deja o tastatură de tipul US English
  • majoritatea tastaturilor care pot fi achiziționate din magazinele din România sunt de tipul US English
  • o parte a actualilor utilizatori de calculatoare și-ar dori ca pe tastatura lor să nu se schimbe absolut nimic, fără însă a refuza ideea de a folosi caracterele românești cu diacritice
  • o parte a actualilor utilizatori de calculatoare ar accepta cel mult o modificare minimală a tastaturii cu care s-au obișnuit, cu scopul de a putea scrie cu caractere românești cu diacritice
  • o parte a actualilor utilizatori de calculatoare ar accepta orice modificare a tastaturii, cu scopul de a putea scrie cu caractere românești cu diacritice
  • există o categorie impresionantă a potențialilor și/sau viitorilor utilizatori de calculatoare care va lua de bună tastatura care va fi pusă în fața lor la momentul respectiv, indiferent care ar fi aceea
  • orice imperfecțiune de aranjare a caracterelor pe o tastatură românească va conduce automat la refuzul utilizatorilor de a mai folosi respectiva tastatură, implicit la imposibilitatea accesării caracterelor românești cu diacritice
  • o parte a utilizatorilor sistemului de operare Windows s-au obișnuit cu prezența caracterelor ă â î ș ț pe locul semnelor [ \ ] ; ’
  • o parte a utilizatorilor sistemelor de operare Linux/FreeBSD s-au obișnuit cu combinația AltGr+a=ă, AltGr+q=â, AltGr+i=î, AltGr+s=ș și AltGr+t=ț pentru accesarea caracterelor românești cu diacritice

2.2. Standardul SR 13392:1998 se referă la folosirea tastaturii românești pentru mai multe tipuri de sisteme de prelucrare a textului și birotică. În cele ce urmează se va face referire la tastatura românească utilizată de calculatoarele de tip PC, implicit de sistemele de operare instalate pe aceste calculatoare.

2.3. Standardul SR 13392:1998 urmează modelul standardului SR-ISO/CEI-9995:1997, în care o tastă este împărțită logic în niveluri (maxim 3) și grupuri (teoretic nelimitate). Această abordare, deși corectă, este prea abstractă pentru scopul prezentului document. În cele ce urmează se va folosi următoarea convenție simplificată:

  • nivelul 1 al tastei – apăsarea directă a tastei în cauză
  • nivelul 2 al tastei – apăsarea tastei Shift + tasta în cauză
  • nivelul 3 al tastei – apăsarea tastei AltGr + tasta în cauză
  • nivelul 4 al tastei – apăsarea tastei AltGr + Shift + tasta în cauză

unde AltGr este tasta Alt din partea dreaptă (AltGr = Alternate Graphic).

Această convenție este ilustrată în figura 1.

Dispunerea logică a nivelurilor pe o tastă
fig. 1: Cele 4 combinații maxim posibile care se pot obține cu o tastă; pentru acest exemplu s-a ales o tastă care conform standardului SR‑13392:1998 generează ceva pentru fiecare nivel în parte.

2.4. Standardul SR 13392:1998 prevede un singur aranjament posibil al caracterelor pe o tastatură românească. În cele ce urmează se ia în considerare posibilitatea existenței aranjamentelor multiple de caractere pe o tastatură în cadrul unui sistem de operare, aranjamente comutabile „din mers” în funcție de necesitățile sau de preferințele fiecărui utilizator. Acest tip de abordare este prezent la opțiunile de configurare a tastaturii altor limbi, nefiind ceva nou.

2.5. În cele ce urmează se va folosi traducerea noțiunii „keyboard layout” cu „aranjament de caractere”. Se va menționa explicit sau se va subînțelege că pe o tastatură. „Aranjament de tastatură” nu este potrivit, pentru că sugerează aranjamentul întregii tastaturi pe masă sau pe birou. „Aranjament de taste” nu este potrivit, pentru că tastele fizice rămân pe loc, se schimbă doar asocierea caracterelor cu tastele fizice.


3. Standardul SR 13392:1998, așa cum este el azi

Amplasarea caracterelor pe tastatură în conformitate cu acest standard este prezentată în figura 2.

Amplasarea caracterelor conform SR 13302:1998
fig. 2: Configurația tastaturii conform standardului actual SR 13392:1998

În esență, s-a luat o tastatură de tip US English și s-au modificat 6 taste în scopul adăugării caracterelor românești cu diacritice și a ghilimelelor românești. Separatorul zecimal de pe keypad (nefigurat aici) a fost și el modificat.

Standardul actual prezintă următoarele caracteristici:

  • aduce modificări minimale unei tastaturi US English
  • amplasează cele 5 caractere românești cu diacritice pe aceleași taste folosite de aranjamentul original de caractere al tastaturii românești din Windows
  • amplasează ghilimelele românești „ și ” pe nivelul 3 și 4
  • specifică faptul că separatorul zecimal de pe keypad este virgula
  • permite accesarea semnelor care au fost înlocuite de caracterele românești cu diacritice, prin folosirea tastei AltGr

Standardul actual prezintă următoarele neajunsuri:

  • ține cont doar de cei obișnuiți cu aranjamentul original de caractere al tastaturii românești din Windows
  • nu conține semnul € (Euro)
  • ghilimelele sunt destul de dificil de accesat, deoarece atât cele standard ASCII cît și cele românești de închidere sunt amplasate pe nivelul 4
  • semnul : (două puncte) este destul de dificil de accesat, deoarece este amplasat pe nivelul 4
  • acoladele sunt destul de dificil de accesat, deoarece sunt amplasate pe nivelul 4

Este important de notat faptul că o parte dintre aceste dezavantaje sunt percepute diferit în funcție de categoria din care face parte utilizatorul. Ghilimelele românești și semnul : sunt folosite frecvent de către cei care au de scris texte obișnuite (birotică, texte literare). De acest aspect ține cont aranjamentul 1 al tastelor prezentat mai jos. Ghilimelele ASCII și acoladele sunt folosite frecvent de către programatori sau alte categorii tehnice. De acest aspect ține cont aranjamentul 2 al tastelor prezentat mai jos.

Standardul actual conține o prevedere greșită, aceea cu privire la aspectul colorimetric al unei taste și inscripționarea ei. Conform unui pasaj din cadrul articolului 5.3 al standardului, tastele trebuie să fie „ [...] inscripționate cu caractere întunecate pe fond luminos [...] ”. Aplicarea strictă a acestei prevederi ar însemna să nu se poată fabrica niciodată calculatoare de tip laptop cu tastatură românească, sau tastaturi românești de culoare închisă sau cu taste de culoare închisă.

Standardul actual folosește ghilimelele românești de tip 99 jos / 99 sus (Unicode 201Eh și 201Dh) în conformitate cu standardul ISO/IEC-8859-16 (Latin 10).


4. Standardul SR 13392 - propunere pentru revizuire

4.1. Standardul revizuit trebuie să nu conțină nici o prevedere cu privire la culoarea tastelor, sau culoarea de ansamblu a unei tastaturi românești. Fragmentul „inscripționate cu caractere întunecate pe fond luminos” din cadrul articolului 5.3 al standardului trebuie eliminat.

4.2. Standardul revizuit trebuie să facă distincție între faptul că:

  • în cadrul unui sistem de operare pot exista mai multe limbi asociate unui dispozitiv de intrare (input language) – respectiv mai multe limbi de tastatură (keyboard language)
  • în cadrul unui dispozitiv de intrare pot exista mai multe configurații asociate – aranjamente de caractere pentru cazul particular al tastaturii (keyboard layout)

4.3. Pentru limba română, numele limbii de tastatură este și trebuie să rămână unic, indiferent de sistemul de operare și de limba în care acesta este distribuit. Numele este și trebuie să rămână Romanian (sau Română pentru sistemele de operare traduse în limba română).

4.4. Standardul revizuit trebuie să includă principiul existenței aranjamentelor multiple de caractere pentru tastatura limbii române. Ele pot fi comutate în funcție de necesitățile sau preferințele fiecărui utilizator prin mijloacele specifice fiecărui sistem de operare în parte.

Prezentul document propune specificarea în standard a două aranjamente distincte de caractere care să fie luate în considerare de toate sistemele de operare care rulează pe calculatoarele de tip PC. Oportunitatea specificării unor aranjamente adiționale este luată în discuție în anexa 2 și în comentariile mele personale de la sfârșitul acestui document.

4.4.1. Aranjamentul 1 al caracterelor pe tastatură

4.4.1.1. Scop: aranjamentul 1 trebuie să permită utilizatorilor să folosească tastatura pentru a scrie în limba română. Folosirea limbii engleze, sau a anumitor caractere folosite în expresii sau nume englezești, trebuie de asemenea să fie posibilă.

Aranjamentul 1 are la bază standardul actual SR 13392:1998. Amplasarea caracterelor pe tastatură este prezentată în figura 3.

Propunere pentru aranjamentul 1 al caracterelor pe tastatură
fig. 3: Configurația tastaturii propusă pentru aranjamentul 1
culoarea roșie = caracter obligatoriu
culoarea galbenă = caracter recomandat
tasta gri închis este prezentă pe tastaturile cu 102 sau 105 taste

Se poate observa că toate caracterele românești cu diacritice sunt accesibile permanent.

4.4.1.2. În raport cu standardul actual, aranjamentul 1 aduce următoarele modificări:

  • caracterele ` și ~ au fost mutate de pe nivelul 1 și 2 pe nivelul 3 și 4 respectiv; în mod corespunzător ghilimelele românești „ și ” au fost mutate de pe nivelul 3 și 4 pe nivelul 1 și 2 respectiv;
    motivație: se consideră că ghilimelele românești sunt destul de greu accesibile pe nivelul 3 și 4 și în același timp sunt mult mai frecvent folosite decât semnele ` și ~ pentru scrierea textelor literare

Notă: a se vedea comentariul meu personal CP.2. pe tema ghilimelelor românești, la sfârșitul acestui document

  • semnele < și > au fost mutate pe nivelul 3, iar în locul lor au fost amplasate semnele ; și :;
    motivație: se consideră că semnul : este destul de greu accesibil pe nivelul 4 și în același timp este mult mai frecvent folosit decât semnul > pentru scrierea textelor literare;
    din motive de simetrie s-a mutat și semnul ;

4.4.1.3. În raport cu standardul actual, aranjamentul 1 aduce următoarele completări:

  • clarifică soarta tastei suplimentare prezente pe tastaturile cu 102 (în loc de 101) sau 105 (în loc de 104) taste; acea tastă suplimentară este amplasată de obicei lângă una dintre cele două taste Shift; în configurația tastaturii US English, acea tastă suplimentară are asociate semnele \ și |;
    în configurația originală a tastaturii românești din Windows, acea tastă suplimentară are asociate semnele < și >; se propune ca standardul revizuit să specifice folosirea semnelor < și > (Unicode 00ABh și 00BBh) pe nivelul 1 și 2 pentru acea tastă
  • adaugă semnul € (Unicode 20ACh) pe nivelul 3; s-a ținut cont de recomandările și motivațiile expuse detaliat în documentul Recommendation for the placement of the Euro Sign on Computer Keyboard (.PDF, 122K) elaborat de comisia europeană;
    pentru cazul tastaturii românești, semnul € va fi amplasat simultan pe două poziții:
    • AltGr+E, deoarece este intuitiv și corespunde cu recomandările din documentul menționat;
    • AltGr+5, deoarece la noi în magazine se găsesc unele tastaturi așa-zise US English International, care au semnul € desenat fizic alături de cifra 5 (și care în afară de asta se pare că nu au nimic altceva în plus);
    varianta recomandată spre a fi folosită – și care este propusă și pentru inscripționarea capacelor tastelor prezentată în anexa 1 – este cea recomandată de comisia europeană, adică pe taste E
  • adaugă caracterul Non-Breaking Space (Unicode 00A0h) pe nivelul 3;
    acest caracter este foarte util la dezvoltarea paginilor de tip HTML în general, pentru construirea tabelelor cu celule goale unde spațiul obișnuit poate duce la plierea celulei, în situațiile unde spațiul obișnuit este ignorat, sau acolo unde nu se dorește despărțirea în dreptul spațiului a unor cuvinte compuse (gen numele unei personalități sau al unui oraș);
    pentru un utilizator neavizat, prezența pasivă a acestui caracter pe nivelul 3 nu va genera confuzie (nu îl încurcă cu nimic)
  • specifică locul posibil de amplasare a următoarelor semne (afișate aici în ordine crescătoare după codul Unicode):
    § (Section; Unicode 00A7h)
    © (Copyright; Unicode 00A9h)
    « (Left-pointing double angle quotation mark; Unicode 00ABh)
    ® (Registered; Unicode 00AEh)
    ° (Degree; Unicode 00B0h)
    ± (Plus-Minus; Unicode 00B1h)
    ² (Superscript two; Unicode 00B2h)
    ³ (Superscript three; Unicode 00B3h)
    µ (Micro; Unicode 00B5h)
    ¶ (Pilcrow; Unicode 00B6h)
    · (Middle Dot; Unicode 00B7h)
    ¹ (Superscript one; Unicode 00B9h)
    » (Right-pointing double angle quotation mark; Unicode 00BBh)
    ¼ (Vulgar fraction one quarter; Unicode 00BCh)
    ½ (Vulgar fraction one half; Unicode 00BDh)
    ¾ (Vulgar fraction three quarters; Unicode 00BEh)
    × (Multiplication; Unicode 00D7h)
    Ø (Latin capital letter O with stroke; Unicode 00D8h)
    ø (Latin small letter o with stroke; Unicode 00F8h)
    – (EnDash; Unicode 2013h)
    — (EmDash; Unicode 2014h)
    ™ (Trade Mark; Unicode 2122h)
    prezența pe tastatură a caracterelor enumerate la acest punct este doar recomandată și nu poate fi impusă, deoarece o parte dintre aceste caractere nu sunt prezente în cadrul standardelor de codare pe 8 biți de tipul ISO/IEC-8859-x sau CP-12xx, iar suportul Unicode este în prezent destul de limitat ca implementare;
    pentru un utilizator neavizat, prezența pasivă a acestor caractere pe nivelul 3 și/sau 4 nu va genera confuzie (nu îl încurcă cu nimic)

4.4.1.4. Pentru limba română, separatorul zecimal este de forma unei virgule, nu a unui punct. La fel ca și standardul actual, aranjamentul 1 propus aici ține cont de acest aspect: separatorul zecimal de pe keypad este de tip virgulă (Unicode 002Ch).

4.4.1.5. Aranjamentul de caractere considerat principal pentru tastatura unei limbi este, de obicei, cel care are toate caracterele limbii respective disponibile permanent, atât cît este posibil, fără jonglerii de tastare din partea utilizatorilor. Propunere: aranjamentul 1 să fie considerat cel principal pentru tastatura limbii române.

4.4.1.6. Aranjamentul 1 trebuie să apară selectat implicit pe lista de configurații de tastaturi pentru limba română (acolo unde sistemul de operare permite acest lucru), astfel încît utilizatorul să fie încurajat să îl folosească.

4.4.1.7. Aranjamentul 1 trebuie să fie folosit de către producătorii de tastaturi care își propun să fabrice tastaturi de tip Romanian. O propunere pentru inscripționarea capacelor tastelor este prezentată în anexa 1.

4.4.2. Aranjamentul 2 al caracterelor pe tastatură

4.4.2.1. Situația se prezintă exact invers față de cea descrisă la punctul 4.4.1. Scop: aranjamentul 2 trebuie să permită utilizatorilor să folosească tastatura pentru a scrie în limba engleză. Folosirea limbii române, sau a anumitor caractere folosite în expresii sau nume românești, trebuie de asemenea să fie posibilă.

Aranjamentul 2 are la bază tastatura US English. Amplasarea caracterelor pe tastatură este prezentată în figura 4.

Propunere pentru aranjamentul 2 al caracterelor pe tastatură
fig. 4: Configuraţia tastaturii propusă pentru aranjamentul 2
culoarea roşie = caracter obligatoriu
culoarea galbenă = caracter recomandat
tasta gri închis este prezentă pe tastaturile cu 102 sau 105 taste

Se poate observa că toate caracterele aflate pe nivelul 1 și 2 sunt de fapt cele prezente pe orice tastatură US English clasică. Tot ce este în plus este accesibil exclusiv prin combinație cu tasta AltGr. În această categorie intră și caracterele românești cu diacritice.

Accesarea caracterelor românești cu diacritice poate fi făcută în două moduri paralele, fiecare din ele fiind sugerat în figura 5. Modul evidențiat cu verde este folosit de către cei obișnuiți cu poziționarea caracterelor românești „tip Linux”, iar modul evidențiat cu albastru este folosit de către cei obișnuiți cu poziționarea caracterelor românești „tip Windows”.

fig. 5: Accesarea diferențiată a caracterelor românești cu diacritice în cadrul aceluiași aranjament de caractere de către utilizatori aparținând unor culturi software diferite

Din capul locului se presupune că utilizatorii acestui tip de configurație de tastatură românească au cunoștințe (mai) avansate și experiență (mai mare) în utilizarea calculatoarelor. Nu se pune problema confuziei generate de neînțelegerea accesării caracterelor cu ajutorul tastei AltGr.

4.4.2.2. Cine și de ce folosește aranjamentul 2:

  • categoria administratorilor de sisteme și a celor care se ocupă de programare
  • categoria utilizatorilor sistemelor de operare Linux/FreeBSD și/sau mediului desktop GNOME/KDE;
    în cadrul acestei categorii, metoda preferată pentru accesarea caracterelor românești cu diacritice este folosirea combinației AltGr+a=ă, AltGr+q=â, AltGr+i=î, AltGr+s=ș, AltGr+t=ț
  • categoria celor cărora le este teamă să încerce ceva nou și care – cred ei – le dă peste cap ceva cu care s-au obișnuit (tastatura US English) dar care ar dori totuși să știe că pot, la nevoie, să facă ceva în plus;
    aceștia nu au folosit practic niciodată vreun caracter românesc; este însă o metodă psihologică foarte eficientă de a-i obișnui cu prezența limbii române pe tastatură
  • o categorie (redusă) de utilizatori, în special tineri, care este total împotriva utilizării unei tastaturi non-US, dar care acceptă un compromis prin folosirea acestui tip de aranjament de caractere

4.4.2.3. Aranjamentul 2 prezintă următoarele caracteristici:

  • păstrează nemodificate nivelurile 1 și 2 în raport cu tastatura US English
  • permite accesarea caracterelor românești cu diacritice în două moduri distincte, care nu se exclud unul pe celălalt, ambele făcând apel la tasta AltGr:
    • pe stilul Linux/FreeBSD, folosind combinația AltGr+a=ă, AltGr+q=â, AltGr+i=î, AltGr+s=ș, AltGr+t=ț
    • pe stilul Windows, folosind combinația AltGr+[=ă, AltGr+\=â, AltGr+]=î, AltGr+;=ș, AltGr+’=ț
  • adaugă semnul € (Unicode 20ACh) pe nivelul 3;
    în privința semnului € nu trebuie să existe diferențe între cele două tipuri de aranjamente de caractere, prin urmare semnul € va fi amplasat la fel ca și pentru aranjamentul 1, simultan pe două poziții:
    • AltGr+E, deoarece este intuitiv și corespunde cu recomandările din documentul elaborat de comisia europeană;
    • AltGr+5, deoarece la noi în magazine se găsesc unele tastaturi așa-zise US English International, care au simbolul € desenat fizic alături de cifra 5
  • adaugă caracterul Non-Breaking Space (Unicode 00A0h) pe nivelul 3;
    acest caracter este foarte util la dezvoltarea paginilor de tip HTML în general, pentru construirea tabelelor cu celule goale unde spațiul obișnuit poate duce la plierea celulei, în situațiile unde spațiul obișnuit este ignorat, sau acolo unde nu se dorește despărțirea în dreptul spațiului a unor cuvinte compuse (gen numele unei personalități sau al unui oraș)
  • specifică locul posibil de amplasare a următoarelor semne (afișate aici în ordine crescătoare după codul Unicode):
    § (Section; Unicode 00A7h)
    © (Copyright; Unicode 00A9h)
    « (Left-pointing double angle quotation mark; Unicode 00ABh)
    ® (Registered; Unicode 00AEh)° (Degree; Unicode 00B0h)
    ± (Plus-Minus; Unicode 00B1h)
    ² (Superscript two; Unicode 00B2h)
    ³ (Superscript three; Unicode 00B3h)
    µ (Micro; Unicode 00B5h)
    ¶ (Pilcrow; Unicode 00B6h)
    · (Middle dot; Unicode 00B7h)
    ¹ (Superscript one; Unicode 00B9h)
    » (Right-pointing double angle quotation mark; Unicode 00BBh)
    ¼ (Vulgar fraction one quarter; Unicode 00BCh)
    ½ (Vulgar fraction one half; Unicode 00BDh)
    ¾ (Vulgar fraction three quarters; Unicode 00BEh)
    × (Multiplication; Unicode 00D7h)
    Ø (Latin capital letter O with stroke; Unicode 00D8h)
    ø (Latin small letter o with stroke; Unicode 00F8h)
    – (EnDash; Unicode 2013h)
    — (EmDash; Unicode 2014h)
    prezența pe tastatură a caracterelor enumerate la acest punct este doar recomandată și nu poate fi impusă, deoarece o parte dintre aceste caractere nu sunt prezente în cadrul standardelor de codare pe 8 biți de tipul ISO/IEC-8859-x sau CP-12xx, iar suportul Unicode este în prezent destul de limitat ca implementare

4.4.2.4. Pentru aranjamentul 2, separatorul zecimal de pe keypad este sub formă de punct, deoarece s-a dovedit că cei care folosesc acest aranjament au nevoie frecvent de punct pentru adrese de IP (sau alte notații tehnice) și nu folosesc (aproape) de loc notații zecimale românești.


Anexa 1

Propunere

Inscripționarea capacelor tastaturilor fizice

Figura 6 prezintă o propunere pentru inscripționarea capacelor tastaturilor de tip Romanian cu 101 sau 104 taste. Amplasarea caracterelor corespunde aranjamentului 1 descris mai sus. Figura 7 prezintă același lucru, dar pentru tastaturile cu 102 sau 105 taste.
Figura 8 prezintă unele variante de amplasare a tastelor și inscripționarea capacelor tastaturii pentru aceste cazuri.

La fel ca și în cazul tastaturilor altor limbi, din motiv de claritate și simplitate, etichetarea trebuie făcută la modul minimal, fără includerea semnelor descrise ca fiind cu caracter de recomandare.

fig. 6: Inscripționarea capacelor tastaturii propusă pentru fabricanții de tastaturi de tip Romanian, pentru variantele de tastatură cu 101 sau 104 taste
fig. 7: Inscripționarea capacelor tastaturii propusă pentru fabricanții de tastaturi de tip Romanian, pentru variantele de tastatură cu 102 sau 105 taste
fig. 8: Alternative constructive de tastaturi; este figurată doar zona de interes pentru caracterele românești

Standardul SR 13392 urmează modelul standardului SR-ISO/CEI-9995:1997, în care tastatura este privită ca un tabel cu celule de dimensiuni egale, iar tastele sunt identificate prin specificarea intersecției coordonatelor tabelei. Acest model este depășit de realitate. Pe baza acelui tabel nu se poate face o referire pentru etichetarea tastaturilor de tip ergonomic, a celor de pe laptopuri, sau a altor variante constructive diferite de forma originală a tastaturii IBM PC-AT.

Pentru un fabricant care are în producție o tastatură oarecare și dorește din partea unui cumpărător doar specificațiile de etichetare, ar fi mai util un tabel de translație între caracterele și semnele prezente pe o tastatură de tip US English luată ca referință și corespondența acestora pentru limba română. Trebuie avute în vedere și denumirile tastelor auxiliare pentru situațiile în care ele apar descrise în cuvinte în loc de simboluri grafice (cum ar fi tastele multimedia, tastele pentru managementul alimentării, etc.).

Traducerea acestor denumiri va face obiectul unei dezbateri separate și va ține cont de termenii cuprinși în dicționarul englez-român aflat la http://romdict.sourceforge.net.

Se va lăsa la latitudinea producătorului tastaturii stabilirea detaliilor de design general și de etichetare a tastelor descrise prin simboluri (cum ar fi săgeți, semnul Return, etc.).


Anexa 2

Propunere

Soarta tastaturii românești actuale din Windows

Din punctul de vedere al standardului de tastatură românească, aranjamentul original de caractere al tastaturii românești din Windows trebuie tolerat și păstrat pe sistemele de operare Microsoft Windows, din motiv de compatibilitate cu sistemele existente.
Motivație:

  • un număr (redus) de utilizatori s-au chinuit și s-au obișnuit cu el așa cum e
  • un număr (redus) de utilizatori au apucat să-și cumpere tastaturi românești inscripționate pe modelul actual Windows, atâtea câte au fost
  • un număr (foarte redus) de utilizatori au tastaturi fizice (în special laptop-uri) inscripționate pentru limba germană sau altă naționalitate, unde configurația tastaturii respective este mai apropiată de cea românească actuală din Windows decât de cea US English; în această categorie intră și românii care trăiesc în afara granițelor și care din motive obiective nu pot să folosească tastaturi US English

Pentru primele două categorii de utilizatori este de preferat ca renunțarea la o regulă veche sau un standard vechi să nu fie făcută brusc. Trebuie să existe posibilitatea ca aceștia să facă schimbarea în mod progresiv.

Propunere: standardul revizuit să conțină o prevedere prin care să se permită prezența aranjamentului de caractere de tipul celui cu care se livrează azi sistemul de operare Microsoft Windows. Permisiunea se poate face, eventual, pentru o perioadă timp limitată în raport cu data publicării standardului (o perioadă de timp precizată sau sugerată).
Trebuie specificat în clar că acest aranjament este tolerat din motive de compatibilitate cu versiunile anterioare de tastaturi. Trebuie de asemenea specificat că acest aranjament este învechit și că nu trebuie să fie folosit pentru proiecte noi și în nici un caz pentru inscripționarea tastaturilor.

Important: în momentul deschiderii panoului de configurare al tastaturii, acest aranjament nu trebuie să apară selectat implicit


Anexa 3

Propunere

Denumiri care apar în meniurile de configurare a tastaturii

Standardul revizuit trebuie să precizeze numărul și detaliile aranjamentelor de caractere pe o tastatură, dar nu și denumirile acestor aranjamente așa cum apar ele în meniurile de configurare și selecție a tastaturii.
Deoarece fiecare sistem de operare este realizat după filozofia proprie a celui care l-a conceput, denumirile trebuie date de producătorii fiecărui sistem de operare în parte. Mai mult, unele dintre aceste denumiri sunt deja consacrate pe plan internațional în teminologia internă a fiecărui sistem de operare și nu pot fi schimbate de dragul unui standard național.

Denumirile pot sau nu să fie similare de la un sistem de operare la altul.

Sugestii pentru denumirile aranjamentelor românești de caractere în cadrul sistemului de operare Microsoft Windows:

  • Romanian pentru aranjamentul 1 descris la punctul 4.4.1.
    motivație: lipsa oricărei extensii oferă un indiciu despre faptul că aceasta este configurația de bază pentru limba română (argument valabil pe termen lung)
    contra: nu pune în evidență faptul că a apărut o diferență între ce era pînă acum și ce va fi de acum încolo (argument valabil pe termen scurt)
    • denumire alternativă: Romanian (QWERTY)
      motivație: este necesară o rupere a asocierii mentale pe care o fac utilizatorii între configurația actuală din Windows, considerată imbecilă de majoritatea lor (inclusiv de mine) și o tastatură românească funcțională și utilă, cea promovată de standardul SR 13392; pentru ca schimbarea să fie evidentă, trebuie ales un nume care să atragă atenția că ceva s-a schimbat, în special în problema inversării între ele a tastelor Y și Z
      contra: configurația de bază a oricărei limbi necesită o denumire simplă, de genul Romanian (și atât)
  • Romanian (Programmers) pentru aranjamentul 2 descris la punctul 4.4.2.
    motivație: este un aranjament destinat utilizatorilor de calculatoare versați; principalele categorii sunt descrise detaliat la punctul 4.4.2.2; extensia „Programmers” este folosită și de aranjamentele altor limbi (Cehă, Poloneză) și ar fi bine să se păstreze o unitate între numele aranjamentelor de tastatură în general
    contra: denumirea nu este suficient de sugestivă (adică – bine, bine, pentru programatori, dar cum e de fapt ?)
    • denumire alternativă: Romanian (US layout)
      motivație: oferă un indiciu esențial despre trăsătura de bază a acestui aranjament
      contra: nu se integrează cu denumirile altor aranjamente de tastatură din Windows
  • Romanian (QWERTZ) pentru aranjamentul original al tastelor românești din Windows, dacă se va decide menținerea – chiar și temporară – a acestui aranjament
    motivație: oferă un indiciu despre trăsătura cea mai enervantă a acestui aranjament: inversarea între ele a tastelor Y și Z
    contra: ?

Sugestii pentru denumirile aranjamentelor românești de caractere în cadrul sistemelor de operare Linux/FreeBSD:

  • Romanian pentru aranjamentul 1 descris la punctul 4.4.1.
    motivație: lipsa oricărei extensii oferă un indiciu despre faptul că aceasta este configurația de bază pentru limba română
    contra: ?
  • Romanian (US layout) pentru aranjamentul 2 descris la punctul 4.4.2.
    motivație: oferă un indiciu esențial despre trăsătura de bază a acestui aranjament; extensia „US layout” este folosită și de aranjamentele altor limbi (Malteză, Slovacă) și ar fi bine să se păstreze o unitate între numele aranjamentelor de tastatură în general
    contra: ?

Figurile 9-12 prezintă traducerea în practică a sugestiilor enumerate mai sus.
Se poate observa asemănarea numelor propuse pentru configurațiile tastaturii românești cu numele altor configurații de tastaturi cu care vin implicit sistemele de operare respective.

fig. 9: Sugestie pentru denumirile aranjamentelor românești de caractere
fig. 10: Sugestie pentru denumirile aranjamentelor românești de caractere
fig. 11: Sugestie pentru denumirile aranjamentelor românești de caractere
fig. 12: Sugestie pentru denumirile aranjamentelor românești de caractere

Comentarii personale

CP.1. Lumea Apple MacOS

Nici standardul SR 13392:1998 și nici articolul prezentat aici nu ia în considerare lumea Apple MacOS. Poate ar trebui inclus în standard încă un aranjament, cel de tip Apple MacOS, identic cu modelul real existent deja pe piață. Includerea acestui aranjament în standard ar putea fi utilă:

  • pur formal, pentru a exista o referință oficială a tastaturii românești de tip Apple MacOS
  • pentru a putea fi implementat pe alte sisteme de operare și folosit acolo de către cei care au lucrat și s-au obișnuit cu configurația de tip Apple MacOS;
    în această privință există, totuși, o problemă: aranjamentul tastelor bazat pe modelul Apple MacOS presupune folosirea tastei suplimentare prezentă doar pe tastaturile de tip PC cu 102 sau 105 de taste

Tastatura de tip Apple MacOS are propriile ei particularități. Amplasarea caracterelor pe tastatură este prezentată în figura 13.

Amplasarea caracterelor românești în cadrul sistemelor Apple MacOS
fig. 13: Configurația tastaturii românești de tip Apple MacOS

Pentru cei obișnuiți cu logica standardului SR 13392, inscripționarea capacelor unei tasturi românești de tip Apple MacOS poate induce în eroare: cînd se comută pe tastatura românească, caracterele românești cu diacritice sunt de fapt disponibile permanent (pe nivelul 1 și 2), deși ele apar desenate invers.

Logica Apple este următoarea: aranjamentul principal este cel de tip US English, de aceea acesta este desenat pe locurile consacrate; aranjamentul de tip Romanian constituie doar o situație particulară, de aceea caracterele românești cu diacritice sunt desenate atât cât să fie ușor de găsit pe tastatură, fără bîjbîieli, chiar dacă la un moment dat acestea pot ajunge să fie cele disponibile permanent.

CP.2. Ghilimelele românești

Aceasta pare a fi o poveste fără de sfârșit. Pun în discuție două aspecte:

CP.2.1. Dacă sunt necesare ghilimelele românești pe tastatură

Majoritatea aranjamentelor de caractere de pe tastaturile altor limbi nu au decât ghilimelele standard ASCII (cele "unisex"), eventual cele alternative de tipul « și ». Sarcina de a corecta sau a transforma ghilimelele standard ASCII în ghilimelele literare ale limbii respective îi revine programului care le folosește, nu operatorului din fața tastaturii.

Motive pentru implementarea lor pe tastatură:

  • corespondența între ce ghilimele se tastează și ce ghilimele apar în text este directă, nu lasă loc la confuzii
  • forma ghilimelelor nu depinde de programul folosit; acest lucru este avantajos pentru limba română, deoarece majoritatea programelor de la noi sunt (încă) pentru limba engleză (sau pentru alte limbi din categoria Western), fără opțiuni lingvistice specifice limbii române (în viitor este posibil ca acest argument să își piardă din însemnătate, în funcție de adaptarea programelor la particularitățile limbii române)
  • forma ghilimelelor nu depinde de setarea în program a limbii documentului, indiferent dacă programul are sau nu opțiuni lingvistice specifice limbii române
  • forma ghilimelelor nu depinde de prezența sau absența opțiunii de autocorect din cadrul programului folosit și nici de necesiatea ca aceasta să fie activă
  • încurajează folosirea ghilimelelor considerate cele oficiale pentru limba română (încă nu este clar care dintre ele sunt considerate cele oficiale, a se vedea mai jos comentariul personal CP.2.2.)

Motive contra implementării lor pe tastatură:

  • complică tastatura
  • responsabilitatea deciziei cu privire la forma ghilimelelor în funcție de limbă este transferată asupra programului care folosește ghilimelele; acestea (programele) pot fi mai flexibile în privința opțiunilor de configurare decât un sistem de operare
  • ghilimelele românești sunt afișate corect doar de către programele care lucrează intern Unicode, sau care au suport pentru standardele de codare pe 8 biți de tipul ISO/IEC-8859-16 (singurul din seria ISO care le conține), sau CP-12xx (toate codările ANSI (Windows))
  • ghilimelele românești pot produce confuzii majore sau chiar dereglări în funcționarea programelor în care ghilimelele sunt folosite pentru delimitări de șiruri (baze de date, specificarea numelui într-o adresă de e-mail);
    pentru unele dintre aceste programe, folosirea ghilimelelor standard ASCII este obligatorie; problema este că nici standardul actual SR 13392:1998 și nici aranjamentul 1 de caractere propus la punctul 4.4.1. nu oferă o soluție simplă pentru accesarea ghilimelelor standard ASCII
  • aranjamentul 1 de caractere propus la punctul 4.4.1. pune în dificultate pe utilizatorii sistemelor de operare *nix, prin faptul că îi privează de caracterul ~ folosit ca shorcut pentru $HOME directory
  • tastaturile limbilor europene principale sau derivate din acestea (engleză, franceză, germană, canadiană franceză, engleză UK, engleză internațional, etc.) nu au implementate nici unele dintre ghilimelele literare de genul celor de bază folosite în limba română (cele de formă geometrică de tip virgulă); s-ar putea să existe un motiv justificat pentru asta pe care nu îl cunosc

Dacă argumentele de tip „contra” devin prioritare, se pot lua în considerare soluții alternative în privința detaliilor aranjamentului 1 de caractere propus la punctul 4.4.1.:

  • se pot căuta alte poziții pentru ghilimelele românești;
    problema este că ele ar trebui să fie amplasate pe nivelul 1 și 2 și nu există nici un loc liber pe aceste niveluri
  • se renunță complet la ghilimelele românești pe tastatură; cu referire la fig.3, ghilimelele românești dispar și pe locul lor se pun caracterele ' și " (cele standard de pe orice tastatură US English) așa cum se arată în figura 14;
    problema rămâne nerezolvată pentru *nix-iști, unde caracterul ~ rămâne la fel de greu accesibil
    fig. 14: alternativă la aranjamentul 1
    (este evidențiat doar detaliul luat în discuție)
  • se renunță complet la ghilimelele românești pe tastatură; cu referire la fig. 3, ghilimelele românești dispar și pe locul lor se pun caracterele " și ~ așa cum se arată în figura 15
    fig. 15: alternativă la aranjamentul 1
    (este evidențiat doar detaliul luat în discuție)
  • ? (alte propuneri)

CP.2.2. Ce formă ar trebui să aibă ghilimele românești pe tastatură

Există două tabere care-și susțin fiecare versiunea lor:

  • majoritatea sunt cei care susțin că ghilimelele românești corecte sunt cele de tip 99 jos / 66 sus; motivul principal este de ordin grafic și se bazează pe argumentul că ghilimelele de deschidere / închidere folosite de majoritatea limbilor europene au formă simetrică:
    - cele englezești arată “așa” (simetrice)
    - cele germane arată „așa“ (simetrice)
    - cele franceze arată « așa » (simetrice)
    - cele românești alternative, cu origine în limba franceză, arată «așa» (simetrice)
    - pe de altă parte, cele românești de bază par a fi „așa” (fără noimă)
  • puțini susțin ideea respectării unei presupuse prevederi a Academiei Române, prevedere conform căreia ghilimelele românești corecte sunt cele de tip 99 jos / 99 sus; de reținut că ei nu susțin o versiune anume a aspectului grafic, ci ar dori să fie respectată o regulă oficială (corect, de fapt, pînă aici).

    Problema majoră este că cei de la Academia Română nu știu nici ei cum ar trebui, sau sunt incapabili să ofere un răspuns coerent; propriile lor publicații oficiale au ghilimelele cînd 99 jos / 66 sus, cînd 99 jos / 99 sus; cu titlu de curiozitate se pot vedea două coperți ale unor publicații editate de Academia Română, unde numele Iorgu Iordan este încadrat ba cu ghilimelele de un fel (fișier .PNG, 53K), ba cu ghilimelele de celălalt fel (fișier .PNG, 47K).
    În particular, în urma unei discuții pe care am purtat-o la institutul de lingvistică Iorgu Irodan pe câteva teme – printre care și aceasta a ghilimelelor – nu m-am ales cu nici o informație utilă.
    Domnul profesor Nicolae Saramandu, director adjunct la acest institut, a fost foarte amabil, și-a făcut timp să stea de vorbă cu mine și mi-a spus că da, în ziua de azi unii scriu într-un fel iar alții într-alt fel și că „nu se poate vorbi despre o regulă”.
    Doamna profesoară Ioana Vintilă Rădulescu, director adjunct la acest institut, însărcinată cu editarea unei noi ediții a Îndreptarului Ortografic, Ortoepic și de Punctuație, a fost foarte acră și mi-a spus că o să-mi răspundă la cele trei întrebări puse de mine „cînd o să aibă timp pentru așa ceva”.
    Întrebările mele au fost (și sunt în continuare):
    1. În ce document oficial al academiei române se specifică clar faptul că în limba română caracterele ș și ț au virgulă sub ele și nu sedilă ?
    2. În ce document oficial al academiei române se specifică forma grafică exactă a ghilimelelor românești ?
    3. În ce document oficial al acedemiei române se specifică clar faptul că în limba română există situații în care cratima nu permite despărțirea în silabe în dreptul cratimei ? (pentru cuvinte de genul „mi-a trimis-o într-un e-mail”)
    Modelul tipografic al unei publicații editate de Academia Română este inutil, deoarece propriile ei publicații sunt tipărite haotic.
    De asemenea, simplele afirmații ale unor membri ai academiei nu sunt suficiente. Îmi trebuie o referință la un document oficial, cu descriere în cuvinte.
    Întrebările le-am pus doamnei Rădulescu pe data de 3 martie 2003. Aștept în continuare momentul „cînd o să aibă timp pentru așa ceva”...

Concluzie: în lipsa unei reglementări oficiale cunoscute, eu nu pot decât să propun respectarea standardului ISO/IEC-8859-16, în care ghilimelele sunt de tipul 99 jos / 99 sus.

CP.3. Accentele

Poate ar trebui luată în discuție posibilitatea de a păstra semnele de tip „dead key” (accentele), implementate corect doar în configurația originală a tastaturii românești din Windows95, Windows98 și WindowsME. Acolo, locul acestora este pe nivelul 3 și sunt accesibile folosind una dintre combinațiile:

  • AltGr+2=ˇ (Caron; Unicode 02C7h)
  • AltGr+3=^ (Circumflex accent; Unicode 005Eh)
  • AltGr+4=˘ (Breve; Unicode 02D8h)
  • AltGr+5=° (Degree sign; Unicode 00B0h)
  • AltGr+6=˛ (Ogonek; Unicode 02DBh)
  • AltGr+8=˙ (Dot above; Unicode 02D9h)
  • AltGr+9=´ (Acute accent; Unicode 00B4h)
  • AltGr+0=˝ (Double acute accent; Unicode 02DDh)
  • AltGr+-=¨ (Diaeresis; Unicode 00A8h)
  • AltGr+==¸ (Cedilla; Unicode 00B8h)

Combinația AltGr+7 ar trebui să fie folosită la compunerea caracterelor cu accent grav, dar combinația menționată generează doar accentul grav ca atare (Grave Accent; Unicode 0060h), fără a funcționa ca tastă de tip „dead key”. Această limitare apare din cauza faptului că în codul de pagină CP-1250 nu există nici un caracter cu accent grav.

În cadrul versiunilor Windows2000 și WindowsXP implementarea tuturor accentelor este făcută greșit pentru tastatura românească, în sensul că nici una dintre combinațiile menționate nu funcționează în regim de „dead key”, iar AltGr+8 generează în mod greșit · (Middle dot; Unicode 00B7h) în loc de ˙ (Dot above; Unicode 02D9h).

Pentru cazul sistemului de operare Windows, caracterele cu accent nu se pot compune oricum. Driverul de tastatură conține un tabel de alocare a tuturor combinațiilor valide de caractere cu accent, tabel dependent de codul de pagină asociat limbii tastaturii respective. Un caracter cu accent nu poate fi generat dacă nu a fost prevăzut în acel tabel. Dacă de la tastatură se introduce o combinație nenvalidă, atunci se generează două caractere separate, accentul distinct urmat de caracterul tastat. De exemplu AltGr+9+a va genera caracterul á, în schimb AltGr+9+b va genera două caractere separate, ´ și b.

Important: în cadrul sistemului de operare Windows, programele obișnuite nu pot fabrica artificial un caracter care nu se regăsește în fontul folosit la momentul respectiv; de exemplu, în WindowsME, combinația AltGr+˘+a va genera ă doar dacă fontul respectiv conține subsetul Central European.

Toate accentele ar putea fi aranjate și altfel pe tastatură, eventual s-ar putea reduce numărul lor (?).


Bibliografie

SR 13392:1998, Tehnologia Informației, Dispunerea tastaturii românești pentru sisteme de prelucrare a textului și birotică

European Commission/1998, Lazaros Tossounidis, Recommendation for the placement of the Euro Sign on Computer Keyboard

ISO/IEC-8859-15:1999, Alain LaBonté and Michael Everson, Final proof for Latin alphabet No. 9

ISO/IEC-8859-16/2001, Michael Everson, FDIS for Latin alphabet No. 10

Unicode Consortium (http://www.unicode.org), Code Charts

Tastatura US English International, deducerea funcționalității prin studiu de tip reverse engineering

cIMeC - Institutul de Memorie Culturală, Romanian Keyboard (Standard) (http://www.cimec.ro/personal/KBDRO1/KBDRO1.HTM)

O soluție de tastatură românească pentru sistemul de operare Linux (http://bucovina.chem.tue.nl/tastatura/index.html)

O soluție de tastatură românească pentru sistemul de operare Windows (http://www.secarica.ro/html/ro_keyboard.html)

Dicționar englez-român concentrat pe termeni din domeniul informaticii (http://romdict.sourceforge.net)

Lista de discuții RTFS - Romanian Translators for Free Software (http://rtfs.sourceforge.net)