summaryrefslogtreecommitdiff
path: root/documentation/src
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/src')
-rw-r--r--documentation/src/unicode.dox12
1 files changed, 8 insertions, 4 deletions
diff --git a/documentation/src/unicode.dox b/documentation/src/unicode.dox
index 818d22b49..ecd9074bd 100644
--- a/documentation/src/unicode.dox
+++ b/documentation/src/unicode.dox
@@ -191,14 +191,14 @@ the following limitations:
\section unicode_illegals Illegal Unicode and UTF-8 sequences
-Three pre-processor variables are defined in the source code that
+Three pre-processor variables are defined in the source code [1] that
determine how %fl_utf8decode() handles illegal UTF-8 sequences:
- if ERRORS_TO_CP1252 is set to 1 (the default), %fl_utf8decode() will
assume that a byte sequence starting with a byte in the range 0x80
- to 0x9f represents a Microsoft CP1252 character, and will instead
- return the value of an equivalent UCS character. Otherwise, it
- will be processed as an illegal byte value as described below.
+ to 0x9f represents a Microsoft CP1252 character, and will return
+ the value of an equivalent UCS character. Otherwise, it will be
+ processed as an illegal byte value as described below.
- if STRICT_RFC3629 is set to 1 (not the default!) then UTF-8
sequences that correspond to illegal UCS values are treated as
@@ -210,6 +210,10 @@ determine how %fl_utf8decode() handles illegal UTF-8 sequences:
byte value is returned unchanged, otherwise 0xFFFD, the Unicode
REPLACEMENT CHARACTER, is returned instead.
+[1] Since FLTK 1.3.4 you may set these three pre-processor variables on
+ your compile command line with -D"variable=value" (value: 0 or 1)
+ to avoid editing the source code.
+
%fl_utf8encode() is less strict, and only generates the UTF-8
sequence for 0xFFFD, the Unicode REPLACEMENT CHARACTER, if it is
asked to encode a UCS value above U+10FFFF.