summaryrefslogtreecommitdiff
path: root/atari
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-02-01 22:17:36 +0000
committerVincent Sanders <vince@kyllikki.org>2014-02-01 22:17:36 +0000
commit886a3106db6d6a60d2d706d2caad3e883dd70b14 (patch)
tree0fcd0fb9c8821f06d47e7e20e8c796e085e8aa2b /atari
parent427f127fa9d42cdf9005d06813c580d18d5e0d6a (diff)
downloadnetsurf-886a3106db6d6a60d2d706d2caad3e883dd70b14.tar.gz
netsurf-886a3106db6d6a60d2d706d2caad3e883dd70b14.tar.bz2
move utf8 local conversion operations to table
Diffstat (limited to 'atari')
-rw-r--r--atari/encoding.c6
-rw-r--r--atari/encoding.h47
-rw-r--r--atari/gui.c14
-rwxr-xr-xatari/plot/font_vdi.c2
-rw-r--r--atari/toolbar.c1
5 files changed, 42 insertions, 28 deletions
diff --git a/atari/encoding.c b/atari/encoding.c
index 626f57ae8..f57a3d770 100644
--- a/atari/encoding.c
+++ b/atari/encoding.c
@@ -67,3 +67,9 @@ int atari_to_ucs4(unsigned char atari)
}
+static struct gui_utf8_table utf8_table = {
+ .utf8_to_local = utf8_to_local_encoding,
+ .local_to_utf8 = utf8_from_local_encoding,
+};
+
+struct gui_utf8_table *atari_utf8_table = &utf8_table;
diff --git a/atari/encoding.h b/atari/encoding.h
index c85bac9fc..d0289b613 100644
--- a/atari/encoding.h
+++ b/atari/encoding.h
@@ -1,32 +1,37 @@
-/*
- * Copyright 2012 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/*
+ * Copyright 2012 Ole Loots <ole@monochrom.net>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef NS_ATARI_ENCODING_H
#define NS_ATARI_ENCODING_H
-#include <inttypes.h>
-#include <assert.h>
+#include <inttypes.h>
+#include <assert.h>
#include <stdbool.h>
-#include "css/css.h"
+#include "css/css.h"
#include "render/font.h"
-#include "utils/utf8.h"
-
+#include "utils/utf8.h"
+
+struct gui_utf8_table *atari_utf8_table;
+
+nserror utf8_to_local_encoding(const char *string, size_t len, char **result);
+nserror utf8_from_local_encoding(const char *string, size_t len, char **result);
+
int atari_to_ucs4( unsigned char atarichar);
#endif
diff --git a/atari/gui.c b/atari/gui.c
index af5e1f8ba..afd3be57b 100644
--- a/atari/gui.c
+++ b/atari/gui.c
@@ -30,6 +30,12 @@
#include <stdbool.h>
#include <hubbub/hubbub.h>
+#include "utils/schedule.h"
+#include "utils/url.h"
+#include "utils/log.h"
+#include "utils/messages.h"
+#include "utils/utils.h"
+#include "utils/nsoption.h"
#include "content/urldb.h"
#include "content/fetch.h"
#include "content/fetchers/resource.h"
@@ -38,8 +44,6 @@
#include "desktop/local_history.h"
#include "desktop/plotters.h"
#include "desktop/netsurf.h"
-
-#include "utils/nsoption.h"
#include "desktop/save_complete.h"
#include "desktop/textinput.h"
#include "desktop/treeview.h"
@@ -47,11 +51,6 @@
#include "desktop/browser_private.h"
#include "desktop/mouse.h"
#include "render/font.h"
-#include "utils/schedule.h"
-#include "utils/url.h"
-#include "utils/log.h"
-#include "utils/messages.h"
-#include "utils/utils.h"
#include "atari/gemtk/gemtk.h"
#include "atari/gui.h"
@@ -1113,6 +1112,7 @@ int main(int argc, char** argv)
.clipboard = &atari_clipboard_table,
.download = atari_download_table,
.fetch = &atari_fetch_table,
+ .utf8 = atari_utf8_table,
};
/* @todo logging file descriptor update belongs in a nslog_init callback */
diff --git a/atari/plot/font_vdi.c b/atari/plot/font_vdi.c
index 0c914b82b..a73300c58 100755
--- a/atari/plot/font_vdi.c
+++ b/atari/plot/font_vdi.c
@@ -26,6 +26,8 @@
#include "utils/utf8.h"
#include "utils/log.h"
+#include "atari/encoding.h"
+
diff --git a/atari/toolbar.c b/atari/toolbar.c
index 8044d160d..f40c07a65 100644
--- a/atari/toolbar.c
+++ b/atari/toolbar.c
@@ -55,6 +55,7 @@
#include "desktop/textarea.h"
#include "desktop/textinput.h"
#include "content/hlcache.h"
+#include "atari/encoding.h"
#define TB_BUTTON_WIDTH 32