hilpers


  hilpers > microsoft.* > microsoft.german.entwickler.dotnet.csharp

 #1  
06.11.2009, 09:48
Werner Perplies
Hi,

kann man einer Textbox irgendwie die Darstellung des kompletten
Zeichensatzes eines Unicode-Fonts beibringen?

Danke für eventuelle Tipps.

Gruß
Werner
 #2  
06.11.2009, 10:05
Kerem Gümrükcü
Hallo Werner,

in einer gewissen weise wird Dir das vielleicht
weiterhelfen, siehe Textbox und Unicode unten
im Artikel:

[Multilingual Support in C#]
http://www.codeproject.com/KB/cs/multilingual.aspx

U.U auch mal das lesen:

http://groups.google.de/group/micros...540ab7c2b54221

Grüße

Kerem
 #3  
06.11.2009, 11:04
FrankDzaebel
Hallo Werner,

> kann man einer Textbox irgendwie die Darstellung
> des kompletten Zeichensatzes eines Unicode-Fonts beibringen?


Setze mal den Font zum Beispiel auf: "Arial Unicode MS":

char[] unicode = {'\u0905', '\u0916', '\u0910',
'\u093E', '\u0906' };
textBox1.Text = new string(unicode) + " [Unicode]";
textBox1.Font = new Font("Arial Unicode MS", Font.Size);


ciao Frank
 #4  
06.11.2009, 11:09
Werner Perplies
Hallo Kerem,

vielen Dank,

Am Fri, 6 Nov 2009 12:05:00 +0100 schrieb Kerem Gümrükcü:

> Hallo Werner,
>
> in einer gewissen weise wird Dir das vielleicht
> weiterhelfen, siehe Textbox und Unicode unten
> im Artikel:
>
> [Multilingual Support in C#]
> [..]


Nein, wenn ich alles richtig verstanden habe, leider nicht. Hier werden die
Zeichen jeweils sprachabhängig angezeigt.

Ich möchte alle anzeigen.

>
> U.U auch mal das lesen:
>
> [..]


Auch das bringt mich leider nicht weiter.

Ein Webbrowser kann so etwas, wenn ich mir im Firefox Quellcode anzeigen
lasse, geht das auch. das ICSharpCode.TextEditor.Control kann das auch, hat
aber leider andere Probleme, in der normalen Textbox werden Sonderzeichen
durch Platzhalter (senkrecht stehendes Rechteck) abgebildet.

Also hoffe ich noch auf weitere Tipps.

>
> Grüße
>
> Kerem


Gruß
Werner
 #5  
06.11.2009, 11:27
Ulf [Kado] Kadner
Hallo Werner Perplies! Du schriebst:

> kann man einer Textbox irgendwie die Darstellung des kompletten
> Zeichensatzes eines Unicode-Fonts beibringen?


Also ich kann in einer Textbox jedes Zeichen des jeweils genutzten Fonts
problemlos darstellen. Alle zusammen geht natürlich nicht da ja für z.B.
Arabisch oder Hebräisch eine andere Leserichtung gilt als für Latin oder
Kyrillisch.

Eine einfache Zuweisung funktioniert problemlos wenn ich z.B. Arial
verwende und die darin enthaltenen Codeblöcke beachte.

Da aber jede Schriftart den Unicodebereich unterschiedlich abdeckt (Arial
z.B. kann nur einen sehr geringen Teil, sollte man das immer im
Hinterkopf behalten.

tb1.Text = "¥¸¶÷øû???????????"; // funktioniert wie erwartet mit Arial

Jede Zeichenfolge innerhalb von .NET ist ja von Haus aus erst mal eine
Unicode-Zeichenfolge.

Ich vermute Dein Problem liegt hier irgendwo anders.

MfG, Ulf
 #6  
06.11.2009, 11:29
Werner Perplies
Hallo Frank,


Am Fri, 6 Nov 2009 04:04:49 -0800 (PST) schrieb FrankDzaebel:

> Hallo Werner,
>
>> kann man einer Textbox irgendwie die Darstellung
>> des kompletten Zeichensatzes eines Unicode-Fonts beibringen?

>
> Setze mal den Font zum Beispiel auf: "Arial Unicode MS":
>
> char[] unicode = {'\u0905', '\u0916', '\u0910',
> '\u093E', '\u0906' };
> textBox1.Text = new string(unicode) + " [Unicode]";
> textBox1.Font = new Font("Arial Unicode MS", Font.Size);
>> ciao Frank

Ich habe folgendes ausprobiert:
"\u0905\u0916\u0910\u093E\u2400\u2409\u240A\u2 40D"
Arial OT
nur Ersatzzeichen,
Lucida Sans Unicode
\u09.. Ersatzzeichen,
\u24.. ok

Ist die "Arial Unicode MS" eine Standardschrift unter Windows?

Bei mir scheint die Schrift nicht installiert zu sein, ist die unter
Windows frei, und wenn ja, wo finde ich die?

Die Darstellung scheint also doch ein Fontproblem zu sein, fehlt mir nur
der Font, der alle (möglichst viel) abbildet.

Danke und Gruß

Werner
 #7  
06.11.2009, 11:31
Ulf [Kado] Kadner
Hallo FrankDzaebel! Du schriebst:

> Setze mal den Font zum Beispiel auf: "Arial Unicode MS":


Das wär zwar wünschenwert aber dann letzendlich ist der Font in der
Praxis nicht unbedingt relevant. Der Font kommt z.B. mit Ms-Office und
darf auch nicht einfach weitergegeben werden. Es kann hier in keiner
Weise sichergestellt werden das der Font auf dem Zielsystem nutzbar ist.

Dann doch lieber die freie Schriftart Deja-Vu die ein wirklich breites
Unicode-Spectrum abdeckt. Die kann man auch problemlos in einem Setup-
Projekt weiter gegeben werden.

MfG, Ulf
 #8  
06.11.2009, 11:33
Werner Perplies
Hallo Ulf,

Am Fri, 6 Nov 2009 13:27:32 +0100 schrieb Ulf [Kado] Kadner:

[..]
> Da aber jede Schriftart den Unicodebereich unterschiedlich abdeckt (Arial
> z.B. kann nur einen sehr geringen Teil, sollte man das immer im
> Hinterkopf behalten.
>
> tb1.Text = "¥¸¶÷øû???????????"; // funktioniert wie erwartet mit Arial
>
> Jede Zeichenfolge innerhalb von .NET ist ja von Haus aus erst mal eine
> Unicode-Zeichenfolge.
>
> Ich vermute Dein Problem liegt hier irgendwo anders.


Du hast recht, es ist wohl doch der Font. Gibt es wirklich keinen, der
alles abbildet? Die Schreibrichtung wäre unwichtig.

Wenn nicht, müsste man sich solch einen Font mal basteln.

Das wäre dann aber schon eine richtig große Fleißaufgabe.


>
> MfG, Ulf


Danke und Gruß

Werner
 #9  
06.11.2009, 11:42
Werner Perplies
Am Fri, 6 Nov 2009 13:33:23 +0100 schrieb Werner Perplies:

> Hallo Ulf,
>
> Am Fri, 6 Nov 2009 13:27:32 +0100 schrieb Ulf [Kado] Kadner:
>
>> Hallo Werner Perplies! Du schriebst:

[...]

> Du hast recht, es ist wohl doch der Font. Gibt es wirklich keinen, der
> alles abbildet? Die Schreibrichtung wäre unwichtig.
>
> Wenn nicht, müsste man sich solch einen Font mal basteln.
>
> Das wäre dann aber schon eine richtig große Fleißaufgabe.


Ergänzung:

mir würde auch ein Font reichen, der nicht belegte Zeichen so abbildet:

Unicode:
02
ED


>>>

>> MfG, Ulf

>
> Danke und Gruß
>
> Werner


Gruß
Werner
 #10  
06.11.2009, 11:43
Werner Perplies
Hallo Ulf,

Am Fri, 6 Nov 2009 13:31:38 +0100 schrieb Ulf [Kado] Kadner:

> Hallo FrankDzaebel! Du schriebst:
>
>> Setze mal den Font zum Beispiel auf: "Arial Unicode MS":

>
> Das wär zwar wünschenwert aber dann letzendlich ist der Font in der
> Praxis nicht unbedingt relevant. Der Font kommt z.B. mit Ms-Office und
> darf auch nicht einfach weitergegeben werden. Es kann hier in keiner
> Weise sichergestellt werden das der Font auf dem Zielsystem nutzbar ist.
>
> Dann doch lieber die freie Schriftart Deja-Vu die ein wirklich breites
> Unicode-Spectrum abdeckt. Die kann man auch problemlos in einem Setup-
> Projekt weiter gegeben werden.


Deja-Vu hat leider auch nicht belegte Lücken.

>
> MfG, Ulf


Gruß
Werner
 #11  
06.11.2009, 11:52
Ulf [Kado] Kadner
Hallo Werner Perplies! Du schriebst:

> Du hast recht, es ist wohl doch der Font. Gibt es wirklich keinen, der
> alles abbildet?


Sicher wird es das geben, hab ich aber noch nie gebraucht und kann daher
nicht sagen welche das alles enthält.

> Wenn nicht, müsste man sich solch einen Font mal basteln.


Viel Spaß! Unicode definiert über 15000 Zeichen

> Das wäre dann aber schon eine richtig große Fleißaufgabe.


Mehr als das.

Nimm einfach Deja-Vu. Hat bei mir bisher für alles gereicht:
http://dejavu-fonts.org/

MfG, Ulf
 #12  
06.11.2009, 12:07
Ulf [Kado] Kadner
Hallo Werner Perplies! Du schriebst:

> Deja-Vu hat leider auch nicht belegte Lücken.


Es gibt sicher keine Ohne Lücken.
Wenn Dir diese Nicht reicht kann ich auch nix weiterbringendes mehr sagen.

Kannst aber mal hier nachschauen:

[Unicode fonts for Windows computers]
http://www.alanwood.net/unicode/fonts.html

Dort führende Schriftarten sind:

- Code2000 ? 53,068 characters (63,546 glyphs) (Kostet)
- Arial Unicode MS ? 38,917 characters (50,377 glyphs) (nicht frei!)
- Bitstream CyberBit ? 29,934 glyphs (kostet)
- TITUS Cyberbit Basic ? 8918 characters (9779 glyphs) (frei für
nicht kommerzielle Nutzung)
[http://titus.fkidg1.uni-frankfurt.de...de/tituut.asp]

MfG, Ulf
 #13  
06.11.2009, 12:08
Ulf [Kado] Kadner
Hallo Ulf [Kado] Kadner! Du schriebst:

> Viel Spaß! Unicode definiert über 15000 Zeichen


Sollte eigentlich "über 50000" heisen.

MfG, Ulf
 #14  
06.11.2009, 12:14
FrankDzaebel
Hallo Werner,

> > Setze mal den Font zum Beispiel auf: "Arial Unicode MS":

>
> Ich habe folgendes ausprobiert:
> "\u0905\u0916\u0910\u093E\u2400\u2409\u240A\u2 40D"
> Arial OT


ich hatte auch etwas anderes gesagt °_°
Deine Zeichen funktionieren mit "Arial Unicode MS"
(ersten 4 scheinen Sandhi-Sanskrit [-> Indien] zu sein).
Die Schriften unterstützen allerdings diesen Sanskrit
nicht immer voll.
Der Font aber muss natürlich installiert sein!
Automatisch wird er über Produkte wie "Mac OS X v10.5"
oder "Microsoft Office installiert, kann aber auch separat von
Firmen wie der "Ascender Corporation" gekauft werden.

Du brauchst aber nicht unbedingt genau diesen, sondern halt
nur einen, der Deine gewünschte Unicode-Sub-Kategorie
maximal unterstützt.
Wie man Fonts installiert, habe ich ansonsten hier ja
schon öfter beschrieben. Andere Fonts funktionieren da
natürlich nicht immer. Wenn Du mal hier hereinschaust,
wirst Du den Aufbau verstehen:

[CodeProject: Unicode Character Category Helper]
http://69.10.233.10/KB/dotnet/UnicodeCharCatHelper.aspx

[Arial Unicode MS - Wikipedia, the free encyclopedia]
http://en.wikipedia.org/wiki/Arial_Unicode_MS


> Bei mir scheint die Schrift nicht installiert zu sein,
> Die Darstellung scheint also doch ein Fontproblem
> zu sein, fehlt mir nur der Font, der alle (möglichst
> viel) abbildet.


ja, das konnte man wohl auch aus meinem ersten
Posting entnehmen.


ciao Frank
 #15  
06.11.2009, 12:24
FrankDzaebel
Hallo ulf,

> Das wär zwar wünschenwert aber dann letzendlich
> ist der Font in der Praxis nicht unbedingt relevant.


doch :-)


> Der Font kommt z.B. mit Ms-Office


der kann von vielen Stellen kommen.


> darf auch nicht einfach weitergegeben werden.


er darf, wenn die Voraussetzungen dafür vorliegen.
Normal würde man einen entsprechenden Font
kaufen oder einen freien nehmen, ich habe das
Werner schon erklärt.


> Es kann hier in keiner Weise sichergestellt werden
> das der Font auf dem Zielsystem nutzbar ist.


auch das ist falsch.
Wenn Du einen Font kaufst, kannst Du je nach
Redistributionsrechten diesen deployen.


> Dann doch lieber die freie Schriftart Deja-Vu
> die ein wirklich breites Unicode-Spectrum abdeckt.


Wenn der alle gewünschten Zeichen abdeckt, wäre das
sicher eine gute Wahl! Nur - das tut zum einen auch
Arial Unicode MS (ggf. wenn entsprechende Installationen
vorausgesetzt) kein Installationsaufwand.
Aber für Werner ist letztlich nur wichtig, dass
er seine gewünschten Unicode-Kategorien untergebracht
sind. Wie ich schon erklärte, diese Schriften unterstützen
meist nicht die volle (gewünschte) Breite!
Das muss getestet werden und je nach Anspruch
frei oder Kauf-Fonts benutzt werden.


ciao Frank

Ähnliche Themen
Unicode einfügen in standard VB Textbox geht!?

Hallo, Durch Zufall habe ich heute gemerkt, dass es möglich ist, sowohl erweiterte westliche ANSI Zeichen als auch Kyrillische, Arabische und Hebräische Zeichen in eine VB...

SQL 2005: kann nicht zwischen Unicode- und Nicht-Unicode-Zeichenfolgendatentypen konvertiert werden

Hallo System: SQL Server 2005, deutsch, BI Develpement Studio Ich möchte einige Tabellen in einem SSIS von einer speziellen Applikation (Zugriff nur über den eigens...

Textbox und Unicode

Hallo NG! Ich möchte in meine Textbox alle Zeichen hineinschreiben können. Das geht ja, wenn ich die Schriftart wähle und dann auswähle, ob ich es Westlich, Griechisch, ......

Unicode Tnt Delphi UNICODE Controls Project

Hallo, wahrscheinlich schlittere ich langsam in die Alsheimer (oder hies es Okersheimer) Ich habe mir die TNT Unicode-Komponenten herutnergeladen und bastele gerade...


Alle Zeitangaben in WEZ. Es ist jetzt 03:22 Uhr. | Privacy Policy