În mod normal, când facem trimitere la diacriticile româneşti, ar trebui să nu avem probleme atunci când tehnoredactăm ceva în MS Word. Apare, însă, o mică-mare problemă, la folosirea lui „Ş” sau „Ţ”, dacă tastatura este setată pe opţiunea Romanian (Standard); deşi, această opţiune ne oferă posibilitatea de a folosi diacriticile corecte (Latin Extended-B), cele cu virgulă sub literă, mai toate aplicaţiile pe care le folosim sunt „dresate” să asimileze, ca diacritice corecte, pe cele care pot fi introduse, dacă avem setată tastatura pe Romanian (Legacy), adică cele cu sedilă, care nu prea sunt româneşti.
Latin Extended-B
Poziţie | Decimal | Nume | Aspect |
---|---|---|---|
0x0218 | 536 | Litera latină majusculă S cu virgulă dedesubt | Ș |
0x0219 | 537 | Litera latină minusculă S cu virgulă dedesubt | ș |
0x021A | 538 | Litera latină majusculă T cu virgulă dedesubt | Ț |
0x021B | 539 | Litera latină minusculă T cu virgulă dedesubt | ț |
Latin Extended-A
Poziţie | Decimal | Nume | Aspect |
---|---|---|---|
0x015E | 350 | Litera latină majusculă S cu sedila | Ş |
0x015F | 351 | Litera latină minusculă S cu sedila | ş |
0x0162 | 354 | Litera latină majusculă T cu sedila | Ţ |
0x0163 | 355 | Litera latină minusculă T cu sedila | ţ |
O problemă poate apărea, spre exemplu, când se converteşte un document Word în format PDF, constatând (în funcţie de utilitarul prin care se face conversia) că sunt suprapuse litere acolo unde ar trebui să fie ş-uri sau ţ-uri. O modalitate elegantă de a rezolva problema ar fi să înlocuim caracterele. Pentru a câştiga, însă, timp, se poate crea un macro salvat direct în template-ul Normal (normal.dot – dacă mai folosiţi documente cu extensia .doc sau normal.dotm pentru .docx-uri).
O sugestie ar fi precum cea de mai jos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Sub Diacrit_inloc() Dim charVechi As String, charNou As String Dim ArieCautare As Range, ArieText As Range, i As Long ' • Standard ' ChrW(536)= Ș | ChrW(537)= ș ' ChrW(538)= Ț | ChrW(539)= ț ' • Legacy ' ChrW(350)= <strong>Ş</strong> | ChrW(351)= ş ' ChrW(354)= Ţ | ChrW(355)= ţ charVechi = "" & ChrW(536) & "," & ChrW(537) & "," & ChrW(538) & "," & ChrW(539) & "" charNou = "" & ChrW(350) & "," & ChrW(351) & "," & ChrW(354) & "," & ChrW(355) & "" Set ArieText = Selection.Range For i = 0 To UBound(Split(charVechi, ",")) Set ArieCautare = ArieText.Duplicate With ArieCautare.Find .ClearFormatting .Replacement.ClearFormatting .Text = Split(charVechi, ",")(i) .Replacement.Text = Split(charNou, ",")(i) .Format = False .MatchCase = True .MatchWholeWord = False .MatchAllWordForms = False .MatchWildcards = False .Execute Replace:=wdReplaceAll End With Next End Sub |
Acest macro se va salva în Normal.dotm/Normal.dot, astfel încât să poată fi accesat din orice document. A nu uita că apelarea macroului se poate face din meniul Developer, care s-ar putea să nu fie vizibil implicit sau prin crearea unui buton, adăugat în bara de acces rapid.
Sursa: StackOverFlow.com, SSEC.WISC.edu