summaryrefslogtreecommitdiffhomepage
path: root/debian/README.Debian
diff options
context:
space:
mode:
authorRoland Reichwein <mail@reichwein.it>2021-02-05 14:10:53 +0100
committerRoland Reichwein <mail@reichwein.it>2021-02-05 14:10:53 +0100
commit3d7a431811748c5aa1f49c35436696fc3f05de5d (patch)
tree252cb1896ebd994ee6c4f7b09b0927bd7fa709f3 /debian/README.Debian
parent6a12dddc641be34b323835a495399715790811e0 (diff)
Documentation, support validation via Traits
Diffstat (limited to 'debian/README.Debian')
-rw-r--r--debian/README.Debian75
1 files changed, 75 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
index 162e3f0..382d20d 100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@ -4,6 +4,81 @@ unicode for Debian
This package is the Debian version of unicode, a C++ library for Unicode encoding.
+CLI interface (package unicode-tools)
+-------------------------------------
+
+* unicode-recode
+
+ Usage: recode <from-format> <from-file> <to-format> <to-file>
+ Format:
+ UTF-8 UTF-8
+ UTF-16 UTF-16, native endian
+ UTF-16LE UTF-16, little endian
+ UTF-16BE UTF-16, big endian
+ UTF-32 UTF-32, native endian
+ UTF-32LE UTF-32, little endian
+ UTF-32BE UTF-32, big endian
+ ISO-8859-1 ISO-8859-1 (Latin-1)
+ ISO-8859-15 ISO-8859-15 (Latin-9)
+ Exit code: 0 if valid, 1 otherwise.
+
+* unicode-validate
+
+ Usage: validate <format> <file>
+ Format:
+ UTF-8 UTF-8
+ UTF-16 UTF-16, big or little endian
+ UTF-16LE UTF-16, little endian
+ UTF-16BE UTF-16, big endian
+ UTF-32 UTF-32, big or little endian
+ UTF-32LE UTF-32, little endian
+ UTF-32BE UTF-32, big endian
+ Exit code: 0 if valid, 1 otherwise.
+
+
+C++ interface (package libunicode-dev)
+--------------------------------------
+
+Example:
+
+#include <unicode.h>
+...
+
+ std::string utf8_value {u8"äöü"};
+ std::u16string utf16_value{unicode::convert<char, char16_t>(utf8_value)};
+
+And for C++20:
+
+ std::u8string utf8_value {u8"äöü"};
+ std::u16string utf16_value{unicode::convert<char8_t, char16_t>(utf8_value)};
+
+The following encodings are implicitly deducted from types:
+ * char resp. char8_t (C++20): UTF-8
+ * char16_t: UTF-16
+ * char32_t: UTF-32
+
+Explicit encoding specification is also possible:
+
+ std::string value {"äöü"};
+ std::u32string utf32_value{unicode::convert<unicode::ISO_8859_1, unicode::UTF_32>(value)};
+
+Supported encodings are:
+
+ * unicode::UTF_8
+ * unicode::UTF_16
+ * unicode::UTF_32
+ * unicode::ISO_8859_1
+ * unicode::ISO_8859_15
+
+Validation can be done like this:
+
+ bool valid{unicode::is_valid_utf<char16_t>(utf16_value)};
+
+Or via explicit encoding specification:
+
+ bool valid{unicode::is_valid_utf<unicode::UTF_8>(utf8_value)};
+
+
Contact
-------