Mostrare del testo con caratteri ruotati orizzontalmente e verticalmente

Da Gambas-it.org - Wikipedia.

E' possibile ottenere un testo con caratteri ruotati orizzontalmente e verticalmente usando alcuni simboli UNICODE richiamati con i codici numerici HTML.
In particolare va detto che:

  • per ottenere le lettere dell'alfabeto maiuscole ruotate si farà uso del tipo di scrittura "Lisu".
  • non è possibile ottenere caratteri numerici ruotati.
  • non è possibile gestire caratteri con segni diacritici (à, è, é, ì, ò, ù, etc.). Per tali caratteri si dovrà usare la lettera pura seguita dal simbolo dell'accento (es.: e' invece che "è" o "é").
  • la codifica numerica in HTML dei simboli UNICODE è accettata dalle seguenti Classi che permettono l'uso del protocollo HTML: [nota 1]
- TextEdit (con la Proprietà ".RichText");
- TextLabel (con la Proprietà ".Text");
- InputBox (per il solo 1° parametro "Prompt");
- Message (per il solo 1° parametro "Message" del Metodo .Info);
- Balloon (per il 1° parametro "Message" del Metodo .Info);
- GridView[n, n] (con la Proprietà ".RichText");
- WebView  (con la Proprietà ".HTML");
- Paint (con i Metodi ".DrawRichText" e ".RichText").

Per i restanti Controlli si dovrà utilizzare il Metodo ".Chr()" della Classe String con codice del carattere UNICODE espresso nella normale rappresentazione decimale o esadecimale.


Mostriamo un possibile esempio pratico usando la codifica numerica in HTML:

Private caratteri As String[] = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "h", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " ", "(", "+", ",", "-", ".", "/", "\\", "<", ">", "=", ")", "?", "!", "'", ";", "&#xA4EF;", "&#xA4ED;", "&#xA4DB;", "&#xA4F7;", "&#xA4F1;", "&#xA4DE;", "&#xA4E8;", "&#x0048;", "&#x0049;", "&#xA4E9;", "&#xA4D8;", "&#xA4F6;", "&#x019C;", "&#x004E;", "&#x004F;", "&#x0500;", "&#xA779;", "&#xA4E4;", "&#x0053;", "&#xA4D5;", "&#xA4F5;", "&#xA4E5;", "&#x004D;", "&#x0058;", "&#x2144;", "&#x005A;", "&#xx0250;", "&#x071;", "&#x0254;", "&#x0070;", "&#x01DD;", "&#x025F;", "&#x0253;", "&#x0265;", "&#x1D09;", "&#x017F;", "&#x029E;", "&#xA781;", "&#x026F;", "&#x0075;", "&#x006F;", "&#x0064;", "&#x0062;", "&#x0279;", "&#x0073;", "&#x0287;", "&#x006E;", "&#x028C;", "&#x028D;", "&#x0078;", "&#x028E;", "&#x007A;", "&#x0020;", "&#x0029;", "&#x002B;", "&#x0027;", "&#x002D;", "&#x16EB;", "&#x005C;", "&#x002F;", "&#x003E;", "&#x003C;", "&#x003D;", "&#x0028;", "&#x00BF;", "&#x00A1;", "&#x060C;", "&#x061B;"]


Public Sub Form_Open()

 TextEdit1.Text = "www.gambas-it.org e' la Comunita' dei programmatori Gambas!"

End


Public Sub Button1_Click()

 Dim s As String

 For c As Short = (TextEdit1.Text.Len - 1) To 0 Step -1
   s &= caratteri[caratteri.Find(TextEdit1.Text[c, 1]) + 68]
 Next 
 
 TextEdit2.RichText = s

End


Note

[1] Vedere al riguardo la seguente pagina della Wiki: Oggetti grafici e di testo che supportano il codice HTML