Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/50044f51623fecbb51dbb5f7ef496d45c09b2bca
...commit
http://git.netsurf-browser.org/netsurf.git/commit/50044f51623fecbb51dbb5f7ef496d45c09b2bca
...tree
http://git.netsurf-browser.org/netsurf.git/tree/50044f51623fecbb51dbb5f7ef496d45c09b2bca
The branch, jmb/uniopt has been created
at 50044f51623fecbb51dbb5f7ef496d45c09b2bca (commit)
- Log -
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=50044f51623fecbb51dbb5f7ef496d45c09b2bca
commit 50044f51623fecbb51dbb5f7ef496d45c09b2bca
Author: John-Mark Bell
Commit: John-Mark Bell
RISC OS: optimisations for UTF-8<->local encoding
diff --git a/frontends/riscos/ucstables.c b/frontends/riscos/ucstables.c
index 3e31c99..a94e434 100644
--- a/frontends/riscos/ucstables.c
+++ b/frontends/riscos/ucstables.c
@@ -398,49 +398,47 @@ static const char *localencodings[] = {
"ISO-8859-10//TRANSLIT",
"ISO-8859-13//TRANSLIT",
"ISO-8859-14//TRANSLIT",
- "ISO-8859-16//TRANSLIT",
-#define CONT_ENC_END 116 /* RISC OS alphabet numbers lie in a
-* contiguous range [100,CONT_ENC_END]
-* _except_ for Cyrillic2, which doesn't.
-*/
- "CP866//TRANSLIT" /* Cyrillic2 - 120 */
+ "ISO-8859-16//TRANSLIT", /* Latin10 - 116 */
+ NULL,/* UTF-16, if you believe HdrSrc (Unused) */
+ NULL,/* Unused */
+ NULL,/* Unused */
+ "CP866//TRANSLIT"/* Cyrillic2 - 120 */
};
-static const struct special {
- char local; /**< Local 8bit representation */
- char len; /**< Length (in bytes) of UTF-8 character */
- const char *utf;/**< UTF-8 representation */
-} special_chars[] = {
- { 0x80, 3, "\xE2\x82\xAC" },/* EURO SIGN */
- { 0x81, 2, "\xC5\xB4" },/* LATIN CAPITAL LETTER W WITH
CIRCUMFLEX */
- { 0x82, 2, "\xC5\xB5" },/* LATIN SMALL LETTER W WITH CIRCUMFLEX
*/
- { 0x84, 3, "\xE2\x9C\x98" },/* HEAVY BALLOT X */
- { 0x85, 2, "\xC5\xB6" },/* LATIN CAPITAL LETTER Y WITH
CIRCUMFLEX */
- { 0x86, 2, "\xC5\xB7" },/* LATIN SMALL LETTER Y WITH CIRCUMFLEX
*/
- { 0x88, 3, "\xE2\x87\x90" },/* LEFTWARDS DOUBLE ARROW */
- { 0x89, 3, "\xE2\x87\x92" },/* RIGHTWARDS DOUBLE ARROW */
- { 0x8a, 3, "\xE2\x87\x93" },/* DOWNWARDS DOUBLE ARROW */
- { 0x8b, 3, "\xE2\x87\x91" },/* UPWARDS DOUBLE ARROW */
- { 0x8c, 3, "\xE2\x80\xA6" },/* HORIZONTAL ELLIPSIS */
- { 0x8d, 3, "\xE2\x84\xA2" },/* TRADE MARK SIGN */
- { 0x8e, 3, "\xE2\x80\xB0" },/* PER MILLE SIGN */
- { 0x8f, 3, "\xE2\x80\xA2" },/* BULLET */
- { 0x90, 3, "\xE2\x80\x98" },/* LEFT SINGLE QUOTATION MARK */
- { 0x91, 3, "\xE2\x80\x99" },/* RIGHT SINGLE QUOTATION MARK */
- { 0x92, 3, "\xE2\x80\xB9" },/* SINGLE LEFT-POINTING ANGLE QUOTATION
MARK */
- { 0x93, 3, "\xE2\x80\xBA" },/* SINGLE RIGHT-POINTING ANGLE
QUOTATION MARK */
- { 0x94, 3, "\xE2\x80\x9C" },/* LEFT DOUBLE QUOTATION MARK */
- { 0x95, 3, "\xE2\x80\x9D" },/* RIGHT DOUBLE QUOTATION MARK */
- { 0x96, 3, "\xE2\x80\x9E" },/* DOUBLE LOW-9 QUOTATION MARK */
- { 0x97, 3, "\xE2\x80\x93" },/* EN DASH */
- { 0x98, 3, "\xE2\x80\x94" },/* EM DASH */
- { 0x99, 3, "\xE2\x88\x92" },/* MINUS SIGN */
- { 0x9a, 2, "\xC5\x92" },/* LATIN CAPITAL LIGATURE OE */
- { 0x9b, 2, "\xC5\x93" },/* LATIN SMALL LIGATURE OE */
- { 0x9c, 3, "\xE2\x80\xA0" },/* DAGGER */
- { 0x9d, 3, "\xE2\x80\xA1" },/* DOUBLE DAGGER */
- { 0x9e, 3, "\xEF\xAC\x81" },/* LATIN SMALL LIGATURE FI */
- { 0x9f, 3, "\xEF\xAC\x82" } /* LATIN SMALL LIGATURE FL */
+/* These are the Acorn Latin1 C1 block between [0x80,0x9f] */
+static const char *special_chars[] = {
+ "\xE2\x82\xAC", /* EURO SIGN */
+ "\xC5\xB4", /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+ "\xC5\xB5", /* LATIN SMALL LETTER W WITH CIRCUMFLEX */
+ NULL, /* unused */
+ "\xE2\x9C\x98", /* HEAVY BALLOT X */
+ "\xC5\xB6", /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+ "\xC5\xB7", /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+ NULL, /* unused */
+ "\xE2\x87\x90", /* LEFTWARDS DOUBLE ARROW */
+ "\xE2\x87\x92", /* RIGHTWARDS DOUBLE ARROW */
+ "\xE2\x87\x93", /* DOWNWARDS DOUBLE ARROW */
+ "\xE2\x87\x91", /* UPWARDS DOUBLE ARROW */
+ "\xE2\x80\xA6", /* HORIZONTAL ELLIPSIS */
+ "\xE2\x84\xA2", /* TRADE MARK SIGN */
+ "\xE2\x80\xB0", /* PER MILLE SIGN */
+ "\xE2\x80\xA2", /* BULLET */
+ "\xE2\x80\x98", /*