Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG. (https://www.delphipraxis.net/142126-charset-vorgeben-exotische-zeichen-lokalisierung.html)

QuickAndDirty 22. Okt 2009 10:56


Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Hallo,
Ich möchte in einer Memobox oder was auch immer in der Art ein CHARSET vorgeben...ich weiß nicht ob das wirklich CHARSET ist...auf jeden Fall ohne die Windowssystem sprach umzuschalten.
Bei TFONT.CHARSET gibt es leider nicht die Konstanten für exotischere Charsets. Die Box soll trotzt Deutscher/Englischer was auch immer Sprach und Tastaturlayout Einstellungen das Layout einer Tamil oder Sanskrit Spracheinstellungen haben und diese Zeichen produzieren.

In Vista kann man die Sprache Tamil einfach aktivieren und dann in der Taskleiste umschalten...leider gibt es die in XP nicht...so das man z.B. bestimmte Schriftarten installiert haben muss und so weiter. Vista dagegen scheint einfach die Standard unicode Fonts zu benutzen, wenn man die Sprache eingestellt hat...

Nur will ich eben das die BOX selbst eine Sprach/Schrift Einstellung hat. geht das? Welches Charset ist Tamil?

Laut MSDN ist 57004 Tamil
und 65001 UTF-8
http://msdn.microsoft.com/en-us/library/dd317756(VS.85).aspx

dann gibt es noch UNICODE SUBSET BITFIELDS.... muss ich die zu 65001 hinzu addieren?
http://msdn.microsoft.com/en-us/library/dd374090(VS.85).aspx

Weiß keiner was darüber?

QuickAndDirty 23. Okt 2009 10:33

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Push

Bernhard Geyer 23. Okt 2009 10:40

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Wechsel auf eine neue IDE-Version (D2009/D2010) oder verwende Unicode-Enabled Komponenten wie das Elpack oder die TNTWare-Komponenten (jetzt bei TMS).

Arbeiten mit Charset/Codepages ist eine Krankheit und funktioniert es nicht vernünftig/vollstädig.

himitsu 23. Okt 2009 11:22

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Für welche Delphi-Version willst'n das eigentlich?

http://www.delphipraxis.net/internal...hlight=charset


Zitat:

Laut MSDN ist 57004 Tamil
und 65001 UTF-8
das sind übrigens CodePages, keine CharSets

Charsets sind Codierungen im ANSI

Ach ja, wenn dem OI die entsprechenden Konstanten nicht bekannt sind, dann kann man auch direkt die Nummerischen Werte zuweisen.
(bei Charset im Bereich von 0 bis 255)

QuickAndDirty 23. Okt 2009 14:45

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Was ich machen will ist einfach nur das es OHNE Schriftart möglich sein soll in unicode(UTF-8) etwas zu schreiben (hier in tamilisch)
ohne das man VISTA besitzen muss. Ich dachte mach doch einen Editor dafür. Wenn ich nun eine UNIcode fähige Componente hätte
wie bekomme ich dann mit deutscher Spracheinstellung tamilische Zeichen rein?

Sollte ich mich lieber darum kümmern wie ich eine tamilische Spracheinstellung in XP rein bekomme?

Bernhard Geyer 23. Okt 2009 14:51

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Zitat:

Zitat von QuickAndDirty
Was ich machen will ist einfach nur das es OHNE Schriftart möglich sein soll in unicode(UTF-8) etwas zu schreiben

Du meinst wohl Anzeigen? Ohne Schriftart geht da nix (Ausser du hast hunderte von passenden Glyphs)

Zitat:

Zitat von QuickAndDirty
Wenn ich nun eine UNIcode fähige Componente hätte wie bekomme ich dann mit deutscher Spracheinstellung tamilische Zeichen rein?

Du solltest ein weiteres Tastaurlayout ergänzen

Zitat:

Zitat von QuickAndDirty
Sollte ich mich lieber darum kümmern wie ich eine tamilische Spracheinstellung in XP rein bekomme?

Ja.

QuickAndDirty 23. Okt 2009 17:09

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
JA habe ich gemacht...
es ist echt bescheuert...alle möglichen sprachen werden unterstützt auch sprachen mit seltsamen schriften...
nur für Indische Sprachen "und so" muss man die Unterstützung mit WindowsXP Cd nachinstallieren ...
ich bezweifle das das irgendwer der einfach nur USER ist und im Internet surfen können will jemals gemacht hat.

Es ist nämlich mit mehreren schritten verbunden.
-Start->Systemstuerung->Regions-und Sprachoptionen
-"Reiter" Sprachen (leider kennt kein tamile den ich kenne REITER, INDEX , TAB) anklicken
-In dem Feld zusätzliche Sprachunterstützung beide Häckchen setzen.
-Windows cd einlegen
-OK und JA so lange drücken bis alle Fenster weg sind.
-Wenn der rechner jetzt nicht gerade neu startet, dann neustarten
-danach -Start->Systemstuerung->Regions-und Sprachoptionen
-"Reiter" Sprachen (leider kennt kein tamile den ich kenne REITER, INDEX , TAB) anklicken
-Details anklicken
-Hinzufügen anklicken
-Dropdownboxpfeil anklicken in der im Moment "Deutsch(Deutschland)" drinsteht.
-Sprache auswählen
-OK drücken
-Auf "Eingabegebietsschema-leiste" klicken
-Haken 1 und 3 setzen
-OK drücken
-So lange OK udn JA drücken bis alle Fenster weg sind.

Jetzt erst kann man zwischen deutsch und Tamilisch in der taskleiste wählen...
einige der Einstellungen sind USER spezifisch und dürfen mehrfach gemacht werden...

Vista hatte doch einige Verbesserungen!

Ich habe für einen Tempelverein eine Website gebaut(für TinyCMS)...und wollte jetzt schon ein Desktop Autoren tool für XP schreiben, weil ich dachte das XP wirklich keine Tamilische Sprachunterstützung bietet so das man im RicheditControl von Firefox direkt mit der Sprache seines Vertrauens schreiben kann. Was Vista Instant anbietet muss aber bei XP hinter einem Häkchen vermutet werden. Danach kommt noch eine kleine Installations Orgie samt WINDOWSXP CD wiederfinden Aktion...

himitsu 23. Okt 2009 17:21

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Es gibt jetzt aber noch ein Problem.
Wenn kein Zeichensatz installiert ist, welcher die nötigen Zeichen enthält, dann bringt es dir garnichts, wenn du dein Programm noch so aufwändig verbiegst, um ihm die passenden Zeichencodes(das Charset) beizubringen, da sie dann eh nicht dargestellt werden können.

Aber was die Zeichen angeht: Wenn die tamilanischen Zeichen im Unicode enthalten sind (da ist eigentlich fast jeder Schrott drin), dann reicht es, wenn du einfach nur unicodefähige Komponenten nimmst, dann einfach die entsprechenden Zeichencodes rein und fertig.

QuickAndDirty 25. Okt 2009 14:44

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Ja , also UNICODE unterstützt Tamilisch mit der Standard Schriftart "Latha" (so was wie Arial bei uns). Ich werde jetzt nichts mehr programmieren. Weil es ja scheinbar doch möglich ist auch in WindowsXP die Sprachunterstützung für tamilische schriftzeichen zu aktivieren.

Der EDITOR war als Tool für XP user gedacht...das ist ja nun nicht mehr nötig...denn ungeachtet vom Betriebssystem können alle Browser unicode zeichen darstellen...

Probleme gab es mit dem Schreiben dieser Zeichen in den RICHTEXTboxen die im Browser angezeigt werden

கபலகபூ்கதகடகஸைதைததாதோசௌச்ஜமஜ்

Das so wie oben einfach mal reinzuschreiben geht in Windows Vista sofort; nur in Windows XP irgendwie erst wenn man das Howto von meinem vorigem Post abarbeitet...

Danke an das Award Winnig Forum :-)

himitsu 25. Okt 2009 15:15

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Unter Win9x dürte es aucz nicht gehn, denn da kann das OS von Haus aus kein Unicode, weswegen der Browser es auch nicht können dürfte.

Seit WinNT ist Windows nativ unicodefähig und ab da hängt es nur davon ab, ob eine Schriftart installiert ist, welche die Zeichen darstellen kann.
Ab Vista wird vieles standardmäßig installiert und davor mußte man es explizit beim Setup angeben oder nachträglich installieren.

Die Codepages/Charsets sind am Ende auch nur Umrechnungstabellen ins Unicode.

Bernhard Geyer 25. Okt 2009 16:23

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Zitat:

Zitat von himitsu
Unter Win9x dürte es aucz nicht gehn, denn da kann das OS von Haus aus kein Unicode, weswegen der Browser es auch nicht können dürfte.

Einspruch euer Ehren. Unsere Delphi-App (mit ElPack) kann unter Win9x sehr wohl Unicode. Firefox dürfte es auch können. Da das OS Unicode-Fonts unterstützt reichen bei richtiger Programmierung die vorhandenen 10 Unicodefähigen API-Funktionen aus um immerhin Unicodezeichen darstellen zu können.

Zitat:

Zitat von himitsu
Seit WinNT ist Windows nativ unicodefähig und ab da hängt es nur davon ab, ob eine Schriftart installiert ist, welche die Zeichen darstellen kann.

NT ist hier noch hinten dran, da es z.B. nur UCS2 statt UTF16 verwendet (Also nix mit Klingonisch). Ebenfalls hat es das "Font Replacement" von W2K noch nicht (Ein Font "borgt" sich Fehlende Zeichen von anderen Fonts, so das hier Arial Unicode MS ein nötiger Font wäre - Ist aber nur bei MS Office dabei.

Zitat:

Zitat von himitsu
Die Codepages/Charsets sind am Ende auch nur Umrechnungstabellen ins Unicode.

Aber auch nur eine nicht sehr brauchbare Notlösung. Z.B. selbst bei kyrilisch (Russisch etc.) werden nur die hälte der vorhanden Zeichen unterstützt.

himitsu 25. Okt 2009 16:32

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Ich dachte das ist erst über dieses Microsoft Layer for Unicode (MSLU) nutzbar?
Nja, aber wer arbeitet noch mit 9x/ME :roll:

Aber gegal wie/wo: Ohne passende Schriftarten, wo die Zeichen überhaupt erst drinnen sind, kann man seine Zeichen überall vergessen.

Bernhard Geyer 25. Okt 2009 18:16

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Zitat:

Zitat von himitsu
Ich dachte das ist erst über dieses Microsoft Layer for Unicode (MSLU) nutzbar?

MSLU ermöglicht kein Unicode unter Win9x/ME. Es sorgt nur für dynamische Aufruf der Ansi-Version der WinAPI unter Win9x/ME und der Widestirng-API unter NT und neuer. Also genau das was z.B. die TNTWare-Controls mit 100% Delphi ermöglicht haben.

Praktisch dieser dumme Code für jede WinAPI-Funktion

Delphi-Quellcode:
If IsNTSystem then
  <API-Funktion>W(...)
else
  <API-Funktion>A(...)

QuickAndDirty 26. Okt 2009 11:55

Re: Charset vorgeben. EXOTISCHE Zeichen. LOKALISIERUNG.
 
Ich weiß nur eins
XP Kann Unicode darstellen, auch tamilisch, nur zu schreiben geht es nicht ohne Sonderinstallation
Vista Kann Unicode darstellen, auch tamilisch, und es ist ohne Sonderinstallation auch mit der Tastatur zu schreiben.

Der Vorteil von Unicode gegenüber einer "gemapten" Schriftart ist also das man unter W2k, XP und Vista nichts installieren muss um die Website zu lesen(wenn man die Schrift versteht).
Der Nachteil ist, dass ich allen Autoren die das CMS benutzen sollen, erstmal die tamilische Unterstützung persönlich installieren muss, damit sie auch Content produzieren können. :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz