0e518f7f49
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6407 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
84 lines
3.1 KiB
Plaintext
84 lines
3.1 KiB
Plaintext
/**
|
|
|
|
\page unicode 11 - Unicode and utf-8 Support
|
|
|
|
This chapter explains how FLTK handles international
|
|
text via Unicode and utf-8.
|
|
|
|
Unicode support was only recently added to FLTK and is
|
|
still incomplete. This chapter is Work in Progress, reflecting
|
|
the current state of Unicode support.
|
|
|
|
\section unicode_about About Unicode and utf-8
|
|
|
|
The Unicode Standard is a worldwide accepted charatcer encoding
|
|
standard. Unicode provides access to over 100,000 characters
|
|
used in all the major languages written today.
|
|
|
|
Utf-8 encodes all Unicode characters into variable length
|
|
sequences of bytes. Unicode characters in the 7-bit ASCII
|
|
range map to the same value in utf-8, making the transformation
|
|
to Unicode quick and easy.
|
|
|
|
Moving from ASCII encoding to Unicode will allow all new FLTK
|
|
applications to be easily internationalized and and used all
|
|
over the world. By choosing utf-8 encoding, FLTK remains
|
|
largely source-code compatible to previous iteration of the
|
|
library.
|
|
|
|
\section unicode_in_fltk Unicode in FLTK
|
|
|
|
FLTK will be entirely converted to Unicode in utf-8 encoding.
|
|
If a different encoding is required by the underlying operatings
|
|
system, FLTK will convert string as needed.
|
|
|
|
\par TODO:
|
|
|
|
\li more doc on unicode, add links
|
|
\li write something about filename encoding on OS X...
|
|
\li explain the fl_utf8_... commands
|
|
\li explain issues with Fl_Preferences
|
|
\li why FLTK has no Fl_String class
|
|
|
|
\par DONE:
|
|
|
|
\li initial transfer of the Ian/O'ksi'D patch
|
|
\li adapted Makefiles and IDEs for available platforms
|
|
\li hacked some Unicode keybard entry for OS X
|
|
|
|
\par ISSUES:
|
|
|
|
\li IDEs:
|
|
- Makefile support: tested on Fedora Core 5 and OS X, but heaven knows
|
|
on which platforms this may fail
|
|
- Xcode: tested, seems to be working (but see comments below on OS X)
|
|
- VisualC (VC6): tested, test/utf8 works, but may have had some issues
|
|
during merge. Some additional work needed (imm32.lib)
|
|
- VisualStudio2005: tested, test/utf8 works, some addtl. work needed
|
|
(imm32.lib)
|
|
- VisualCNet: sorry, I have no longer access to that IDE
|
|
- Borland and other compiler: sorry, I can't update those
|
|
|
|
\li Platforms:
|
|
- you will encounter problems on all platforms!
|
|
- X11: many characters are missing, but that may be related to bad
|
|
fonts on my machine. I also could not do any keyboard tests yet.
|
|
Rendering seems to generally work ok.
|
|
- Win32: US and German keyboard worked ok, but no compositing was
|
|
tested. Rendering looks pretty good.
|
|
- OS X: redering looks good. Keyboard is completely messed up, even in
|
|
US setting (with Alt key)
|
|
- all: while merging I have seen plenty of places that are not
|
|
entirley utf8-safe, particularly Fl_Input, Fl_Text_Editor, and
|
|
Fl_Help_View. Keycodes from the keyboard conflict with Unicode
|
|
characters. Right-to-left rendered text can not be marked or edited,
|
|
and probably much more.
|
|
|
|
<hr>
|
|
<a class="el" href="index.html">[Index]</a>
|
|
<a class="el" href="advanced.html">[Previous]</a>
|
|
\ref advanced
|
|
<a class="el" href="classes.html">[Next] A - Class Reference</a>
|
|
|
|
*/
|