Qu'est ce que RTF ?
Un texte peut être enregistré en brut (en Ascii sans enrichissement en '.txt' par exemple) en RTF ('.Rtf') , dans un format propriétaire: format Word (.doc ou .docx) ?
RTF = Rich Text Format = Format de Texte Enrichi
Le RTF est un format de fichier texte assez universel. Il permet de mettre dans un fichier du texte, mais aussi d'indiquer l'enrichissement de ce texte: texte en gras, italique, souligné, en couleur, en Arial...
Les fichiers RTF ont l'extension '.rtf'. Ils sont lisibles dans la plupart des traitements de texte (Word, Open Office, NotePad..)
Le format du texte que l'on peut mettre dans une RichTextBox est le format RTF.
Les bases du codage RTF
Le texte doit débuter par '{' et se terminer par '}'.
Il peut aussi débuter par "{\rtf1\ansi " et se terminer par '}'.
Cela indique que le texte est en rtf et le codage des caractères est en ansi.
Ensuite les enrichissements s'effectuent par des balises qui indiquent le début et la fin de l'attribut.
Une balise commence par le caractère '\' .
Toujours mettre un espace après la balise.
Entre \b et \b0 le texte sera en gras (Bold)
Exemple :
Ajoute le texte "Ce texte est en gras." à un contrôle RichTextBox existant.
RichTextBox1.Rtf = "{\rtf1\ansi Ce texte est en \b gras\b0 .}"
Principaux attributs :
\b \b0 ce qui est entre les 2 balises est en gras
\i \i0 ce qui est entre les 2 balises est en italique
\par fin paragraphe (passe à la ligne)
\f font \f1 .. \f0 font numéro 1 entre les 2 balises
\plain ramène les caractères par défaut
\tab caractère de tabulation
\fs taille de caractère \fs28 = taille 28
Espace après la balise:
Ecrire:
\b bonjour \b0
et non
\bbonjour \b0
Texte en couleurs & plusieurs polices
Mettre la table des couleurs en début de texte :
{ \colortbl \red0\green0\blue0;\red255\green0\blue0;\red0\green255\blue0;}
Après Colortbl (Color Table) chaque couleur est codée avec les quantités de rouge vert et bleue.
Les couleurs sont repérées par leur ordre: couleur 0 puis 1 puis 2.. et séparées par un ';'
Dans notre exemple couleur 0 = noir; couleur 1 = rouge; couleur 2 = vert
Pour changer la couleur dans le texte on utilise \cf puis le numéro de la couleur :
« \
cf1 toto \
cf0 } » 'toto est affiché en rouge.
Pour modifier les polices de caractère, le procédé est similaire avec une Font Table :
{\fonttbl
{\fo\froman Symbol;}
{\f1\fswiss Arial;}
}
Pour passer en Arial \f1 ..\f0
Exemple complet :
"{\rtf1\ansi { \colortbl \red0\green0\blue0; \red255\green0\blue0; \red0\green255\blue0;} {\fonttbl {\fo\froman Symbol;} {\f1\fswiss Arial;} } Ce qui suit est en \f1 \cf1 \i Arial Rouge Italique \f0 \cf0 \i0 } »