Nach dem FLTK 1.3.2 documentation:Wie wird Unicode mit FLTK angezeigt?
Unicode-Unterstützung erst vor kurzem zu FLTK hinzugefügt wurde und noch unvollständig ist.
Allerdings sind die folgenden angeblich umgesetzt:
Es ist wichtig, dass die anfängliche Implementierung von Unicode und UTF-8 in FLTK drei beinhaltet wichtige Bereiche zu beachten ist:
- Bereitstellung von Unicode-Zeichentabellen und einigen einfachen verwandten Funktionen
- Konvertierung von char * Variablen und Funktionsparameter von einem Byte pro Zeichen Repräsentant ION nach UTF-8 variabler Länge Sequenzen
- Änderungen an der Anzeige Schriftart-Schnittstelle, um allgemeine Unicode-Zeichen oder UCS-Codenummern statt nur ASCII oder Latin1 Zeichen zu akzeptieren.
Meine Frage ist, wie kann ich Unicode tatsächlich auf meine FLTK Kontrollen angezeigt werden? Ich kann keine Widget-Funktionen finden, die Unicode akzeptieren. Zum Beispiel ist dies die Signatur für die label
Funktion:
void Fl_Widget::label ( const char * text )
Beachten Sie, dass die letzten Bits erfordern die Compiler, um die Codierung der Quelldatei zu verstehen, die das String-Literal enthält. – rubenvb
Danke. Angesichts Ihrer Antwort habe ich mir die Zeit genommen, [über Unicode zu unterrichten] (http://www.joelonsoftware.com/articles/Unicode.html). – JBentley
@rubenvb: Ja, und mehr als das: Für das vorletzte Beispiel muss der Compiler * UTF-8 als seinen schmalen Ausführungszeichensatz * unterstützen, und z.B. Visual C++ nicht, und für das letzte Beispiel muss der Compiler das C++ 11 'u8'-Literalpräfix unterstützen und z. Visual C++ nicht. Kurz gesagt, das sind ** unportable ** Beispiele. Breite String-Literale sind portabel, müssen jedoch zur Laufzeit in UTF-8 konvertiert werden. –