Hallo Forum.
Folgendes Problem tritt auf!
Ich habe in den verschiedensten Komponenten, z.B mit Alt+Numbock (16,17 etc.) Zeichen in meinen Text (Beschreibung, Datenbankkopf etc. tEdit usw.) eingefügt.
Das ganze unter Windows7 kompiliert.
Es wird alles unter Win7/Vista exakt dargestellt.
Wird das Programm aber in XP gestartet, sind an den besagten Stellen nur Kästchen zu sehen.
Was kann man machen, damit die Zeichen auch in XP erscheinen?
OK, XP ist bald tot, aber trotzdem wäre eine Lösung nicht schlecht.
Wer kann mir hier weiter helfen?
Gruß
Sonderzeichen ?
-
- Beiträge: 726
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Sonderzeichen ?
Ich benutze öfters Alt+0183 (Mittelpunkt ·) als Trennzeichen. Deine Zeichen werden unter Win7/Vista korrekt dargestellt, weil diese Systeme die gleichen Schriftart verwenden. MS hat mit Vista angefangen ein neues Schriftart zu verwenden.
Du darfst nicht Zeichen verwenden die nur in von dir ausgewählten Schriftarten vorhanden sind und du musst Zeichen verwenden, die in Unicode-Zeichensatz vorhanden sind und somit bei allen Schriftarten vorhanden sind. Du kannst mit dem Pogramm Zeichentabelle kontrollieren ob von dir verwendeten Zeichen auch bei anderen Schriftarten vorhanden sind.
Du darfst nicht Zeichen verwenden die nur in von dir ausgewählten Schriftarten vorhanden sind und du musst Zeichen verwenden, die in Unicode-Zeichensatz vorhanden sind und somit bei allen Schriftarten vorhanden sind. Du kannst mit dem Pogramm Zeichentabelle kontrollieren ob von dir verwendeten Zeichen auch bei anderen Schriftarten vorhanden sind.
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: Sonderzeichen ?
Hallo Soner,
Also in XP sowie in Vista-> ist z. B. das männliche Zeichen ♂ = U+2642 vorhanden und in beiden Systemen mit Alt+11 Darstellbar.
bei der Eingabe von Alt+2642 bekommt man ein "R".
Wie kommt man da jetzt weiter?
Gruß
Danke für Deine Info,Soner hat geschrieben:Ich benutze öfters Alt+0183 (Mittelpunkt ·) als Trennzeichen. Deine Zeichen werden unter Win7/Vista korrekt dargestellt, weil diese Systeme die gleichen Schriftart verwenden. MS hat mit Vista angefangen ein neues Schriftart zu verwenden.
Du darfst nicht Zeichen verwenden die nur in von dir ausgewählten Schriftarten vorhanden sind und du musst Zeichen verwenden, die in Unicode-Zeichensatz vorhanden sind und somit bei allen Schriftarten vorhanden sind. Du kannst mit dem Pogramm Zeichentabelle kontrollieren ob von dir verwendeten Zeichen auch bei anderen Schriftarten vorhanden sind.
Also in XP sowie in Vista-> ist z. B. das männliche Zeichen ♂ = U+2642 vorhanden und in beiden Systemen mit Alt+11 Darstellbar.
bei der Eingabe von Alt+2642 bekommt man ein "R".
Wie kommt man da jetzt weiter?
Gruß
-
- Beiträge: 726
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Sonderzeichen ?
Versuchmal mit Alt+9794. Im Program Zeichensatz dargestellte U+NNNN-Werte sind Hexadezimal.
$2642=9794.
Ich kann in Word direkt Alt+9794 tippen dann erscheint auch männliche Zeichen, bei Lazarus, Firefox und Notepad erscheint immer 'B'. Aber wenn ich im Zeichensatz-Programm das Zeichen wähle, kopiere und in anderen Programmen einfüge, dann erscheint es auch in den Programmen sofern richtige Zeichensatz vorhanden ist.
Bei Lazaurs-Komponenten muss man richtige Schriftart wählen, ansonsten erscheinen sie nicht. Bei default-Schrift erscheinen sie nicht aber z.B. bei Arial werden richtige Zeichendargestellt.
Wenn man im Word Tahoma verwendet und Alt+9794 tippt dann wechselt Word Schriftart automatisch zu Arial.
Bei WindowsXp wird meistens wie bei mir Tahoma-Schriftart verwendet und Tahoma hat diese Zeichen nicht. Dein Zeichen ist zu Speziell.
Als Lösung kannst du beim Formularerstellen Schriftart von Komponenten ändern wenn das Progamm unter WindowsXP läuft.
Edit:
Gilt auch für Delphi, kein Lazarus bzw. LCL spezifisches Problem. Getestet mit Delphi 7+ TNT-Unicode-Controls.
$2642=9794.
Ich kann in Word direkt Alt+9794 tippen dann erscheint auch männliche Zeichen, bei Lazarus, Firefox und Notepad erscheint immer 'B'. Aber wenn ich im Zeichensatz-Programm das Zeichen wähle, kopiere und in anderen Programmen einfüge, dann erscheint es auch in den Programmen sofern richtige Zeichensatz vorhanden ist.
Bei Lazaurs-Komponenten muss man richtige Schriftart wählen, ansonsten erscheinen sie nicht. Bei default-Schrift erscheinen sie nicht aber z.B. bei Arial werden richtige Zeichendargestellt.
Wenn man im Word Tahoma verwendet und Alt+9794 tippt dann wechselt Word Schriftart automatisch zu Arial.
Bei WindowsXp wird meistens wie bei mir Tahoma-Schriftart verwendet und Tahoma hat diese Zeichen nicht. Dein Zeichen ist zu Speziell.
Als Lösung kannst du beim Formularerstellen Schriftart von Komponenten ändern wenn das Progamm unter WindowsXP läuft.
Edit:
Gilt auch für Delphi, kein Lazarus bzw. LCL spezifisches Problem. Getestet mit Delphi 7+ TNT-Unicode-Controls.
Re: Sonderzeichen ?
Stimmt fast, bzw. auf Windows.Soner hat geschrieben: Bei Lazaurs-Komponenten muss man richtige Schriftart wählen, ansonsten erscheinen sie nicht.
GTK auf Linux stellt die Font Substitution von Haus aus zur Verfügung, sodass automatisch der Font gewechselt wird, falls ein Glyph im gewählten Font nicht darstellbar ist.
-
- Beiträge: 726
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Sonderzeichen ?
Danke für die Info. Ich hatte mir gefragt wie das mit LInux ist.theo hat geschrieben: Stimmt fast, bzw. auf Windows.
GTK auf Linux stellt die Font Substitution von Haus aus zur Verfügung, sodass automatisch der Font gewechselt wird, falls ein Glyph im gewählten Font nicht darstellbar ist.
Damit es für alle deutlich wird, wenn ich Default-Schriftart von Lazaruskomponenten sage, dann meine ich die Schrifart, die von Windows für Steuerelemente verwendet wird. Mann kanns ändern in [Systemsteuerung > Anzeige > Darstellung ]. Hat mit Lazarus nicht zu tun.
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: Sonderzeichen ?
Danke nochmals,
hat Funktioniert mit anderen Schriftarten,
setze jetzt wie vorgeschlagen bei XP die Schrift auf "Arial".
Gruß
hat Funktioniert mit anderen Schriftarten,
setze jetzt wie vorgeschlagen bei XP die Schrift auf "Arial".
Gruß