Schade: In meinem XP gibt es nur die Schriftart "Lucida Sans
Unicode", welche diese Zeichen schon kennt,
aber in XP dürften viele Schriftarten auch nur UCS 4.x oder gar 3.x kennen,
wärend diese Zeichen erst in UCS 5.2 (
Uni
code
Standard) eingeführt wurden.
[edit] in Windows 7 sind auch nur "Lucida Sans
Unicode" und "Segoe UI Symbol" auf den Stand von UCS 5.2 und enthalten auch noch den entsprechenden Zeichenbereich.
Laut der Tabelle
http://www.unicode.org/charts/PDF/U2400.pdf wäre es also:
Delphi-Quellcode:
Function TextToView(Const S: AnsiString): String;
Var i: Integer;
Begin
Result := S;
For i := Length(Result) downto 1 do
Case Result[i] of
#0..#31: Result[i] := Char(Ord(Result[i]) or $2400);
' ': Result[i] := #$00B7; {oder #$2420}
127: Result[i] := #$2421;
End;
End;
Funktionieren tut es so schonmal
Delphi-Quellcode:
Function TextToView(Const S: AnsiString): String;
Var i: Integer;
Begin
Result := S;
For i := Length(Result) downto 1 do
Case Word(Result[i]) of
0..31: Result[i] := Char(Word(Result[i]) or $2400);
Ord(' '): Result[i] := Char($00B7); {oder #$2420}
127: Result[i] := Char($2421);
End;
End;
Function ViewToText(S: String): AnsiString;
Var i: Integer;
Begin
For i := Length(S) downto 1 do
Case Word(Result[i]) of
$2400..$241F: S[i] := Char(Word(S[i]) and $00FF);
$00B7: S[i] := ' ';
$2421: S[i] := Char(127);
End;
Result := S;
End;
Also entweder schauen, daß du eine passende Schriftart findest, welche diese Zeichen darstellen kann
oder du suchst dir ein paar andere Zeichen aus
(Vorteil, du mußt dich um die Darstellung nicht kümmern)
oder du fügst Bilder in den Text ein, bzw. zeichnest den Text selber und malst dann was Passendes für die entsprechenden Zeichen hin.
[add]
Zitat:
Leezeichen im Text sollen als "Punkt" dargestellt werden, TABs als ">" und CR als "CHAR(182)"
als Minimal-Version würde dieses deiner Definition entsprechen:
Delphi-Quellcode:
Function TextToView(Const S: AnsiString): String;
Var i: Integer;
Begin
Result := S;
For i := Length(Result) downto 1 do
Case Result[i] of
#09: Result[i] := '>'; // oder besser #$00BB (») ?
#10: Result[i] := #$00B6;
' ': Result[i] := #$00B7;
End;
End;
Diese Zeichen dürften sogar auch direkt möglich sein:
Delphi-Quellcode:
* #09: Result[i] := '»';
#10: Result[i] := '¶';
' ': Result[i] := '·';