summaryrefslogtreecommitdiff
path: root/plugingui/utf8.h
diff options
context:
space:
mode:
authorAndré Nusser <andre.nusser@googlemail.com>2017-04-21 12:03:22 +0200
committerAndré Nusser <andre.nusser@googlemail.com>2017-04-21 12:03:22 +0200
commit2bbcfa3423ce6331745fef31c8fcfed310f1875f (patch)
treee0941f4150b26d8293f854abd2e83474db5cc18d /plugingui/utf8.h
parentaf01e8e8031bc9c0c29cc3afe17a63fded5dbeeb (diff)
Add utf8 to latin1 conversion to use it in the "About" textfield.
The utf8 conversion files were taken from the Pracro repository and modified to better fit into the DG codebase.
Diffstat (limited to 'plugingui/utf8.h')
-rw-r--r--plugingui/utf8.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/plugingui/utf8.h b/plugingui/utf8.h
new file mode 100644
index 0000000..1776d08
--- /dev/null
+++ b/plugingui/utf8.h
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * utf8.h
+ *
+ * Tue Feb 27 19:18:23 CET 2007
+ * Copyright 2006 Bent Bisballe Nyeng
+ * deva@aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <string>
+#include <unordered_map>
+
+// Class to convert utf8 to latin1 and the other way around.
+class UTF8
+{
+public:
+ UTF8();
+
+ // Encode a string from latin1 to UTF-8.
+ std::string fromLatin1(std::string const& s);
+
+ // Decode a string from UTF-8 to latin1.
+ std::string toLatin1(std::string const& s);
+
+private:
+ std::unordered_map<std::string, std::string> map_encode;
+ std::unordered_map<std::string, std::string> map_decode;
+};