diff --git a/demos/unicode/css/unicode.css b/demos/unicode/css/unicode.css
new file mode 100644
index 00000000..823a0483
--- /dev/null
+++ b/demos/unicode/css/unicode.css
@@ -0,0 +1,10 @@
+td {
+ font-family: Lucida Grande, Helvetica, Arial;
+ font-size: 16px;
+}
+
+td:first-child {
+ padding-right: 16px;
+ font-weight: bold;
+ text-align: right;
+}
\ No newline at end of file
diff --git a/demos/unicode/index.html b/demos/unicode/index.html
new file mode 100644
index 00000000..a5b1d104
--- /dev/null
+++ b/demos/unicode/index.html
@@ -0,0 +1,11 @@
+
+
+
+ OxJS Unicode Demo
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demos/unicode/js/unicode.js b/demos/unicode/js/unicode.js
new file mode 100644
index 00000000..a06a4136
--- /dev/null
+++ b/demos/unicode/js/unicode.js
@@ -0,0 +1,28 @@
+Ox.load({UI: {}, Unicode: {}}, function() {
+
+ var ascii = {},
+ $body = Ox.UI.$body.css({overflow: 'auto'}),
+ $table = $('').appendTo($body);
+
+ Ox.forEach(Ox.UNICODE_CHARACTERS, function(data, char) {
+ if (data.ascii) {
+ ascii[data.ascii] = ascii[data.ascii] || [];
+ ascii[data.ascii].push({char: char, names: data.names});
+ }
+ });
+
+ Ox.print(ascii);
+
+ Ox.forEach(Object.keys(ascii).sort(function(a, b) {
+ return a.length * 1000000 + a.charCodeAt(0)
+ - b.length * 1000000 - b.charCodeAt(0);
+ }), function(char) {
+ var $tr = $('').appendTo($table);
+ $('').html(char).appendTo($tr)
+ ascii[char].forEach(function(data) {
+ $(' | ').attr({title: data.names.join('\n')})
+ .html(data.char).appendTo($tr);
+ });
+ });
+
+});
\ No newline at end of file
|