diff --git a/bindings/python/eekboard/__init__.py b/bindings/python/eekboard/__init__.py
index 8ef0987a..26e859e2 100644
--- a/bindings/python/eekboard/__init__.py
+++ b/bindings/python/eekboard/__init__.py
@@ -25,6 +25,7 @@ Section = Eek.Section
Key = Eek.Key
Symbol = Eek.Symbol
Keysym = Eek.Keysym
+SymbolMatrix = Eek.SymbolMatrix
MODIFIER_BEHAVIOR_NONE, \
MODIFIER_BEHAVIOR_LOCK, \
diff --git a/configure.ac b/configure.ac
index f195e2cc..20c5c3f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -245,7 +245,9 @@ data/icons/32x32/Makefile
data/icons/48x48/Makefile
data/icons/scalable/Makefile
data/themes/Makefile
+data/keyboards/Makefile
examples/Makefile
+examples/eekboard-inscript/Makefile
eek/eek-${EEK_API_VERSION}.pc
eek/eek-clutter-${EEK_API_VERSION}.pc
eek/eek-gtk-${EEK_API_VERSION}.pc
diff --git a/data/Makefile.am b/data/Makefile.am
index 82f73078..95dff22e 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1 +1 @@
-SUBDIRS = icons themes
+SUBDIRS = icons themes keyboards
diff --git a/data/keyboards/Makefile.am b/data/keyboards/Makefile.am
new file mode 100644
index 00000000..6c0ffc32
--- /dev/null
+++ b/data/keyboards/Makefile.am
@@ -0,0 +1,2 @@
+keyboarddir = $(pkgdatadir)/keyboards
+dist_keyboard_DATA = us-qwerty.xml
diff --git a/data/keyboards/us-qwerty.xml b/data/keyboards/us-qwerty.xml
new file mode 100644
index 00000000..977e4f57
--- /dev/null
+++ b/data/keyboards/us-qwerty.xml
@@ -0,0 +1,707 @@
+
+
+ 0.000000,0.000000,410.000000,190.000000
+
+ 10.000000,50.000000,390.000000,129.000000
+ 0
+
+ 14
+ 1
+
+
+ 14
+ 1
+
+
+ 13
+ 1
+
+
+ 12
+ 1
+
+
+ 8
+ 1
+
+
+ 359.000000,104.000000,31.000000,24.000000
+ outline10
+
+ Control_R
+
+
+
+ 326.000000,104.000000,31.000000,24.000000
+ outline10
+
+ Menu
+
+
+
+ 294.000000,104.000000,31.000000,24.000000
+ outline10
+
+ Super_R
+
+
+
+ 261.000000,104.000000,31.000000,24.000000
+ outline10
+
+ ISO_Level3_Shift
+
+
+
+ 106.000000,104.000000,153.000000,24.000000
+ outline11
+
+ space
+
+
+
+ 73.000000,104.000000,31.000000,24.000000
+ outline10
+
+ Alt_L
+ Meta_L
+
+
+
+ 40.000000,104.000000,31.000000,24.000000
+ outline10
+
+ Super_L
+
+
+
+ 2.000000,104.000000,36.000000,24.000000
+ outline9
+
+ Control_L
+
+
+
+ 320.000000,78.000000,70.000000,24.000000
+ outline8
+
+ Shift_R
+
+
+
+ 294.000000,78.000000,24.000000,24.000000
+ outline1
+
+ slash
+ question
+
+
+
+ 268.000000,78.000000,24.000000,24.000000
+ outline1
+
+ period
+ greater
+
+
+
+ 242.000000,78.000000,24.000000,24.000000
+ outline1
+
+ comma
+ less
+
+
+
+ 216.000000,78.000000,24.000000,24.000000
+ outline1
+
+ m
+ M
+
+
+
+ 190.000000,78.000000,24.000000,24.000000
+ outline1
+
+ n
+ N
+
+
+
+ 164.000000,78.000000,24.000000,24.000000
+ outline1
+
+ b
+ B
+
+
+
+ 138.000000,78.000000,24.000000,24.000000
+ outline1
+
+ v
+ V
+
+
+
+ 113.000000,78.000000,24.000000,24.000000
+ outline1
+
+ c
+ C
+
+
+
+ 87.000000,78.000000,24.000000,24.000000
+ outline1
+
+ x
+ X
+
+
+
+ 61.000000,78.000000,24.000000,24.000000
+ outline1
+
+ z
+ Z
+
+
+
+ 2.000000,78.000000,57.000000,24.000000
+ outline7
+
+ Shift_L
+
+
+
+ 333.000000,53.000000,57.000000,24.000000
+ outline6
+
+ Return
+
+
+
+ 307.000000,53.000000,24.000000,24.000000
+ outline1
+
+ quoteright
+ quotedbl
+
+
+
+ 281.000000,53.000000,24.000000,24.000000
+ outline1
+
+ semicolon
+ colon
+
+
+
+ 256.000000,53.000000,24.000000,24.000000
+ outline1
+
+ l
+ L
+
+
+
+ 230.000000,53.000000,24.000000,24.000000
+ outline1
+
+ k
+ K
+
+
+
+ 204.000000,53.000000,24.000000,24.000000
+ outline1
+
+ j
+ J
+
+
+
+ 178.000000,53.000000,24.000000,24.000000
+ outline1
+
+ h
+ H
+
+
+
+ 152.000000,53.000000,24.000000,24.000000
+ outline1
+
+ g
+ G
+
+
+
+ 126.000000,53.000000,24.000000,24.000000
+ outline1
+
+ f
+ F
+
+
+
+ 100.000000,53.000000,24.000000,24.000000
+ outline1
+
+ d
+ D
+
+
+
+ 74.000000,53.000000,24.000000,24.000000
+ outline1
+
+ s
+ S
+
+
+
+ 49.000000,53.000000,24.000000,24.000000
+ outline1
+
+ a
+ A
+
+
+
+ 2.000000,53.000000,44.000000,24.000000
+ outline5
+
+ Control_L
+ Control_L
+
+
+
+ 352.000000,27.000000,38.000000,24.000000
+ outline4
+
+ backslash
+ bar
+
+
+
+ 326.000000,27.000000,24.000000,24.000000
+ outline1
+
+ bracketright
+ braceright
+
+
+
+ 300.000000,27.000000,24.000000,24.000000
+ outline1
+
+ bracketleft
+ braceleft
+
+
+
+ 275.000000,27.000000,24.000000,24.000000
+ outline1
+
+ p
+ P
+
+
+
+ 249.000000,27.000000,24.000000,24.000000
+ outline1
+
+ o
+ O
+
+
+
+ 223.000000,27.000000,24.000000,24.000000
+ outline1
+
+ i
+ I
+
+
+
+ 197.000000,27.000000,24.000000,24.000000
+ outline1
+
+ u
+ U
+
+
+
+ 171.000000,27.000000,24.000000,24.000000
+ outline1
+
+ y
+ Y
+
+
+
+ 145.000000,27.000000,24.000000,24.000000
+ outline1
+
+ t
+ T
+
+
+
+ 119.000000,27.000000,24.000000,24.000000
+ outline1
+
+ r
+ R
+
+
+
+ 93.000000,27.000000,24.000000,24.000000
+ outline1
+
+ e
+ E
+
+
+
+ 68.000000,27.000000,24.000000,24.000000
+ outline1
+
+ w
+ W
+
+
+
+ 42.000000,27.000000,24.000000,24.000000
+ outline1
+
+ q
+ Q
+
+
+
+ 2.000000,27.000000,38.000000,24.000000
+ outline3
+
+ Tab
+ ISO_Left_Tab
+
+
+
+ 339.000000,1.000000,51.000000,24.000000
+ outline2
+
+ BackSpace
+
+
+
+ 313.000000,1.000000,24.000000,24.000000
+ outline1
+
+ equal
+ plus
+
+
+
+ 287.000000,1.000000,24.000000,24.000000
+ outline1
+
+ minus
+ underscore
+
+
+
+ 261.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 0
+ parenright
+
+
+
+ 235.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 9
+ parenleft
+
+
+
+ 209.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 8
+ asterisk
+
+
+
+ 183.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 7
+ ampersand
+
+
+
+ 157.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 6
+ asciicircum
+
+
+
+ 132.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 5
+ percent
+
+
+
+ 106.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 4
+ dollar
+
+
+
+ 80.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 3
+ numbersign
+
+
+
+ 54.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 2
+ at
+
+
+
+ 28.000000,1.000000,24.000000,24.000000
+ outline1
+
+ 1
+ exclam
+
+
+
+ 2.000000,1.000000,24.000000,24.000000
+ outline1
+
+ quoteleft
+ asciitilde
+
+
+
+
+ 10.000000,10.000000,410.000000,25.000000
+ 0
+
+ 16
+ 1
+
+
+ 366.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F12
+ (null)
+
+
+
+ 340.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F11
+ (null)
+
+
+
+ 314.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F10
+ (null)
+
+
+
+ 288.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F9
+ (null)
+
+
+
+ 249.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F8
+ (null)
+
+
+
+ 223.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F7
+ (null)
+
+
+
+ 197.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F6
+ (null)
+
+
+
+ 171.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F5
+ (null)
+
+
+
+ 132.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F4
+ (null)
+
+
+
+ 106.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F3
+ (null)
+
+
+
+ 80.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F2
+ (null)
+
+
+
+ 54.000000,1.000000,24.000000,24.000000
+ outline1
+
+ F1
+ (null)
+
+
+
+ 2.000000,1.000000,24.000000,24.000000
+ outline1
+
+ Escape
+
+
+
+
+ 1.000000
+ 0.000000,0.000000
+ 24.000000,0.000000
+ 24.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 38.000000,0.000000
+ 38.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 38.000000,0.000000
+ 38.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 44.000000,0.000000
+ 44.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 57.000000,0.000000
+ 57.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 57.000000,0.000000
+ 57.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 70.000000,0.000000
+ 70.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 36.000000,0.000000
+ 36.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 31.000000,0.000000
+ 31.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 153.000000,0.000000
+ 153.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 24.000000,0.000000
+ 24.000000,50.000000
+ 0.000000,50.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 50.000000,0.000000
+ 50.000000,24.000000
+ 0.000000,24.000000
+
+
+ 1.000000
+ 0.000000,0.000000
+ 51.000000,0.000000
+ 51.000000,24.000000
+ 0.000000,24.000000
+
+
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 821b44b8..611a70ae 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,8 +1 @@
-bin_SCRIPTS = eekboard-inscript
-keyboarddir = $(pkgdatadir)/keyboards
-dist_keyboard_DATA = inscript2.xml
-EXTRA_DIST = gen-inscript-keyboard.py
-
-eekboard-inscript: eekboard-inscript.in
- $(AM_V_GEN) sed 's!@EEKBOARD_INSCRIPT_PATH@!'$(pkgdatadir)/keyboards/inscript2.xml'!' < $< > $@
-
+SUBDIRS = eekboard-inscript
diff --git a/examples/eekboard-inscript.in b/examples/eekboard-inscript.in
deleted file mode 100644
index 98792c19..00000000
--- a/examples/eekboard-inscript.in
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (C) 2011 Daiki Ueno
-# Copyright (C) 2011 Red Hat, Inc.
-
-# This library 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.
-
-# This library 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 this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 USA
-
-import gtk, eekboard, virtkey
-
-GROUPS = (
- "as-inscript2",
- "bn-inscript2",
- "brx-inscript2-deva",
- "doi-inscript2-deva",
- "gu-inscript2",
- "hi-inscript2",
- "kn-inscript2",
- "kok-inscript2-deva",
- "mai-inscript2",
- "ml-inscript2",
- "mni-inscript2-beng",
- "mni-inscript2-mtei",
- "mr-inscript2",
- "ne-inscript2-deva",
- "or-inscript2",
- "pa-inscript2-guru",
- "sa-inscript2",
- "sat-inscript2-deva",
- "sat-inscript2-olck",
- "sd-inscript2-deva",
- "ta-inscript2",
- "te-inscript2")
-
-class InscriptKeyboard(object):
- def __init__(self, client_name, path):
- self.__keyboard = eekboard.XmlKeyboard(path,
- eekboard.MODIFIER_BEHAVIOR_LATCH)
- self.__eekboard = eekboard.Eekboard()
- self.__context = self.__eekboard.create_context(client_name)
- keyboard_id = self.__context.add_keyboard(self.__keyboard)
- self.__context.set_keyboard(keyboard_id)
- self.__keyboard.connect('key-pressed', self.__key_pressed_cb)
- self.__keyboard.connect('key-released', self.__key_released_cb)
- self.__virtkey = virtkey.virtkey()
- self.__english = False
- self.__eekboard.connect('destroyed', self.__destroyed_cb)
-
- def __destroyed_cb(self, eekboard):
- gtk.main_quit()
-
- def enable(self):
- self.__eekboard.push_context(self.__context)
-
- def disable(self):
- self.__eekboard.pop_context(self.__context)
-
- def show(self):
- self.__context.show_keyboard()
-
- def set_group(self, group):
- self.__group = group
- self.__context.set_group(self.__group)
-
- def __key_pressed_cb(self, keyboard, key):
- if key.get_keycode() == 37:
- return
- symbol = key.get_symbol()
- if isinstance(symbol, eekboard.Keysym):
- xkeysym = symbol.get_xkeysym()
- modifiers = self.__keyboard.get_modifiers()
- self.__virtkey.latch_mod(modifiers)
- self.__virtkey.press_keysym(xkeysym)
- self.__virtkey.unlatch_mod(modifiers)
-
- def __key_released_cb(self, keyboard, key):
- if key.get_keycode() == 37:
- if self.__english:
- self.__context.set_group(self.__group)
- self.__english = False
- else:
- self.__context.set_group(0)
- self.__english = True
- return
- symbol = key.get_symbol()
- if isinstance(symbol, eekboard.Keysym):
- xkeysym = symbol.get_xkeysym()
- self.__virtkey.release_keysym(xkeysym)
-
-if __name__ == "__main__":
- from optparse import OptionParser
- import sys
-
- parser = OptionParser()
- parser.add_option("-n", "--name=LANGCODE", dest="langcode",
- help="Specify language code to LANGCODE",
- metavar="LANGCODE")
- (options, args) = parser.parse_args()
- group = 1
- if options.langcode:
- group = None
- for index, langcode in enumerate(GROUPS):
- if langcode.startswith(options.langcode):
- group = index + 1
- break
- if group is None:
- print >> sys.stderr, "Unknown langcode %s" % options.langcode
- exit(1)
-
- inscript = InscriptKeyboard("eekboard-inscript", "@EEKBOARD_INSCRIPT_PATH@")
- inscript.set_group(group)
- inscript.enable()
- inscript.show()
- gtk.main()
diff --git a/examples/eekboard-inscript/Makefile.am b/examples/eekboard-inscript/Makefile.am
new file mode 100644
index 00000000..f0bfa419
--- /dev/null
+++ b/examples/eekboard-inscript/Makefile.am
@@ -0,0 +1,13 @@
+bin_SCRIPTS = eekboard-inscript
+keyboarddir = $(pkgdatadir)/keyboards
+
+eekboard_inscript_datadir = $(datarootdir)/eekboard-inscript
+eekboard_inscript_data_DATA = inscript.py main.py
+
+eekboard-inscript: eekboard-inscript.in
+ $(AM_V_GEN) sed -e 's!@''PYTHON@!'$(PYTHON)'!' \
+ -e 's!@EEKBOARD_KEYBOARDDIR@!'$(keyboarddir)'!' \
+ -e 's!@M17N_DIR@!'$(datadir)/m17n'!' \
+ -e 's!@EEKBOARD_INSCRIPT_DATADIR@!'$(eekboard_inscript_datadir)'!' < $< > $@
+
+CLEANFILES = eekboard-inscript
diff --git a/examples/eekboard-inscript/eekboard-inscript.in b/examples/eekboard-inscript/eekboard-inscript.in
new file mode 100644
index 00000000..d5115652
--- /dev/null
+++ b/examples/eekboard-inscript/eekboard-inscript.in
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Copyright (C) 2011 Daiki Ueno
+# Copyright (C) 2011 Red Hat, Inc.
+
+# This library 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.
+
+# This library 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 this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+export EEKBOARD_KEYBOARDDIR=@EEKBOARD_KEYBOARDDIR@
+export M17N_DIR=@M17N_DIR@
+exec @PYTHON@ @EEKBOARD_INSCRIPT_DATADIR@/main.py $@
diff --git a/examples/eekboard-inscript/inscript.py b/examples/eekboard-inscript/inscript.py
new file mode 100644
index 00000000..bb48c4cd
--- /dev/null
+++ b/examples/eekboard-inscript/inscript.py
@@ -0,0 +1,176 @@
+#!/usr/bin/env python
+
+# Copyright (C) 2011 Daiki Ueno
+# Copyright (C) 2011 Red Hat, Inc.
+
+# This library 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.
+
+# This library 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 this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+import gtk, eekboard, virtkey
+import sys, os.path, re
+
+KEYCODE_TABLE = {
+ '1': 10, '2': 11, '3': 12, '4': 13, '5': 14, '6': 15, '7': 16, '8': 17,
+ '9': 18, '0': 19, '-': 20, '=': 21, 'q': 24, 'w': 25, 'e': 26, 'r': 27,
+ 't': 28, 'y': 29, 'u': 30, 'i': 31, 'o': 32, 'p': 33, '[': 34, ']': 35,
+ 'a': 38, 's': 39, 'd': 40, 'f': 41, 'g': 42, 'h': 43, 'j': 44, 'k': 45,
+ 'l': 46, ';': 47, '\'': 48, '`': 49, '\\': 51, 'z': 52, 'x': 53, 'c': 54,
+ 'v': 55, 'b': 56, 'n': 57, 'm': 58, ',': 59, '.': 60, '/': 61
+}
+
+MARK_UPPER = '~!@#$%^&*()_+{}|:"<>?'
+MARK_LOWER = '`1234567890-=[]\\;\',./'
+
+class MapFile(object):
+ MAPENTRY_PATTERN = re.compile(r'\A\s*\((?:\((.*?)\)|"(.*?)")\s*"(.*?)"\)')
+
+ def __init__(self, path):
+ self.__dict = dict()
+
+ with open(path, 'r') as fp:
+ for line in fp:
+ match = re.match(self.MAPENTRY_PATTERN, line)
+ if match:
+ insert = match.group(3).decode('UTF-8')
+ if match.group(1):
+ keyseq = re.sub(r'\\(.)', r'\1', match.group(1))
+ self.__add_symbol_entry(keyseq, insert)
+ else:
+ keyseq = re.sub(r'\\(.)', r'\1', match.group(2))
+ self.__add_text_entry(keyseq, insert)
+
+ def get_entry_for_keycode(self, keycode):
+ return self.__dict.get(keycode)
+
+ def __add_entry(self, letter, level, insert):
+ if letter.isupper():
+ level |= 1
+ letter = letter.lower()
+ elif letter in MARK_UPPER:
+ level |= 1
+ letter = MARK_LOWER[MARK_UPPER.index(letter)]
+ keycode = KEYCODE_TABLE[letter]
+ if keycode not in self.__dict:
+ self.__dict[keycode] = list([None,None,None,None])
+ self.__dict[keycode][level] = insert
+
+ def __add_symbol_entry(self, symbol, insert):
+ level = 0
+ if symbol.startswith('G-'):
+ level |= 2
+ symbol = symbol[2:]
+ if not symbol.startswith('KP_'):
+ self.__add_entry(symbol, level, insert)
+
+ def __add_text_entry(self, text, insert):
+ self.__add_entry(text, 0, insert)
+
+class Keyboard(object):
+ def __init__(self, client_name, map_path, kbd_path):
+ self.__keyboard = self.__create_keyboard(map_path, kbd_path)
+ self.__eekboard = eekboard.Eekboard()
+ self.__context = self.__eekboard.create_context(client_name)
+ keyboard_id = self.__context.add_keyboard(self.__keyboard)
+ self.__context.set_keyboard(keyboard_id)
+ self.__keyboard.connect('key-pressed', self.__key_pressed_cb)
+ self.__keyboard.connect('key-released', self.__key_released_cb)
+ self.__virtkey = virtkey.virtkey()
+ self.__english = False
+ self.__eekboard.connect('destroyed', self.__destroyed_cb)
+
+ def __create_keyboard(self, map_path, kbd_path):
+ def __each_key(element, data):
+ keycode = element.get_keycode()
+ # keycode 37 is used to toggle English/Inscript
+ if keycode == 37:
+ matrix = eekboard.SymbolMatrix.new(2, 1)
+ keysym = eekboard.Keysym.new(65507)
+ keysym.set_label("Ind")
+ matrix.set_symbol(0, 0, keysym)
+ keysym = eekboard.Keysym.new(65507)
+ keysym.set_label("Eng")
+ matrix.set_symbol(1, 0, keysym)
+ element.set_symbol_matrix(matrix)
+ return
+
+ # group(0) is us keyboard
+ matrix = eekboard.SymbolMatrix.new(2, 4)
+ for l in xrange(4):
+ keysym = element.get_symbol_at_index(0, l, 0, 0)
+ matrix.set_symbol(0, l, keysym)
+ # group(1) is inscript keyboard
+ entry = data.get_entry_for_keycode(keycode)
+ for l in xrange(4):
+ keysym = None
+ if entry and entry[l]:
+ try:
+ keyval = gtk.gdk.unicode_to_keyval(ord(entry[l]))
+ keysym = eekboard.Keysym.new(keyval)
+ except:
+ print >> sys.stderr, "can't convert %s to keyval" % entry[l]
+ if not keysym:
+ keysym = element.get_symbol_at_index(1, l, 0, 0)
+ matrix.set_symbol(1, l, keysym)
+ element.set_symbol_matrix(matrix)
+
+ def __each_section(element, data):
+ element.foreach_child(__each_key, data)
+
+ mapfile = MapFile(map_path)
+ keyboard = eekboard.XmlKeyboard(kbd_path,
+ eekboard.MODIFIER_BEHAVIOR_LATCH)
+ keyboard.foreach_child(__each_section, mapfile)
+ return keyboard
+
+ def __destroyed_cb(self, eekboard):
+ gtk.main_quit()
+
+ def enable(self):
+ self.__eekboard.push_context(self.__context)
+
+ def disable(self):
+ self.__eekboard.pop_context(self.__context)
+
+ def show(self):
+ self.__context.show_keyboard()
+
+ def set_group(self, group):
+ self.__group = group
+ self.__context.set_group(self.__group)
+
+ def __key_pressed_cb(self, keyboard, key):
+ if key.get_keycode() == 37:
+ return
+ symbol = key.get_symbol()
+ if isinstance(symbol, eekboard.Keysym):
+ xkeysym = symbol.get_xkeysym()
+ modifiers = self.__keyboard.get_modifiers()
+ self.__virtkey.latch_mod(modifiers)
+ self.__virtkey.press_keysym(xkeysym)
+ self.__virtkey.unlatch_mod(modifiers)
+
+ def __key_released_cb(self, keyboard, key):
+ if key.get_keycode() == 37:
+ if self.__english:
+ self.__context.set_group(self.__group)
+ self.__english = False
+ else:
+ self.__context.set_group(0)
+ self.__english = True
+ return
+ symbol = key.get_symbol()
+ if isinstance(symbol, eekboard.Keysym):
+ xkeysym = symbol.get_xkeysym()
+ self.__virtkey.release_keysym(xkeysym)
diff --git a/examples/eekboard-inscript/main.py b/examples/eekboard-inscript/main.py
new file mode 100644
index 00000000..2c4fd21c
--- /dev/null
+++ b/examples/eekboard-inscript/main.py
@@ -0,0 +1,48 @@
+# Copyright (C) 2011 Daiki Ueno
+# Copyright (C) 2011 Red Hat, Inc.
+
+# This library 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.
+
+# This library 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 this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+import inscript
+import gtk
+from optparse import OptionParser
+import sys, os
+
+parser = OptionParser()
+parser.add_option("-n", "--name=LANGCODE", dest="langcode",
+ help="Specify language code to LANGCODE",
+ metavar="LANGCODE")
+(options, args) = parser.parse_args()
+
+if options.langcode is None:
+ print >> sys.stderr, "Specify language code with -n"
+ exit(1)
+
+map_path = os.path.join(os.getenv("M17N_DIR"), options.langcode + ".mim")
+if not os.path.exists(map_path):
+ print >> sys.stderr, "%s not found" % map_path
+ exit(1)
+
+kbd_path = os.path.join(os.getenv("EEKBOARD_KEYBOARDDIR"), "us-qwerty.xml")
+if not os.path.exists(kbd_path):
+ print >> sys.stderr, "%s not found" % kbd_path
+ exit(1)
+
+keyboard = inscript.Keyboard("eekboard-inscript", map_path, kbd_path)
+keyboard.set_group(1)
+keyboard.enable()
+keyboard.show()
+gtk.main()
diff --git a/examples/gen-inscript-keyboard.py b/examples/gen-inscript-keyboard.py
deleted file mode 100644
index ec5bbec2..00000000
--- a/examples/gen-inscript-keyboard.py
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (C) 2011 Daiki Ueno
-# Copyright (C) 2011 Red Hat, Inc.
-
-# This library 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.
-
-# This library 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 this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 USA
-
-import sys, os.path
-import sys
-import re
-
-import gtk, gtk.gdk
-import eekboard
-from gi.repository import Eek, GLib
-
-if len(sys.argv) < 3:
- print >> sys.stderr, "Usage: %s KEYBOARD M17N-MAP..." % sys.argv[0]
- sys.exit(-1)
-
-MAPENTRY_PATTERN = re.compile(r'\A\s*\((?:\((.*?)\)|"(.*?)")\s*"(.*?)"\)')
-KEYCODE_TABLE = {
- '1': 10,
- '2': 11,
- '3': 12,
- '4': 13,
- '5': 14,
- '6': 15,
- '7': 16,
- '8': 17,
- '9': 18,
- '0': 19,
- '-': 20,
- '=': 21,
- 'q': 24,
- 'w': 25,
- 'e': 26,
- 'r': 27,
- 't': 28,
- 'y': 29,
- 'u': 30,
- 'i': 31,
- 'o': 32,
- 'p': 33,
- '[': 34,
- ']': 35,
- 'a': 38,
- 's': 39,
- 'd': 40,
- 'f': 41,
- 'g': 42,
- 'h': 43,
- 'j': 44,
- 'k': 45,
- 'l': 46,
- ';': 47,
- '\'': 48,
- '`': 49,
- '\\': 51,
- 'z': 52,
- 'x': 53,
- 'c': 54,
- 'v': 55,
- 'b': 56,
- 'n': 57,
- 'm': 58,
- ',': 59,
- '.': 60,
- '/': 61
-}
-
-MARK_UPPER = '~!@#$%^&*()_+{}|:"<>?'
-MARK_LOWER = '`1234567890-=[]\\;\',./'
-
-class MapFile(object):
- def __init__(self, path):
- self.__dict = dict()
-
- with open(path, 'r') as fp:
- for line in fp:
- match = re.match(MAPENTRY_PATTERN, line)
- if match:
- insert = match.group(3).decode('UTF-8')
- if match.group(1):
- keyseq = re.sub(r'\\(.)', r'\1', match.group(1))
- self.__add_symbol_entry(keyseq, insert)
- else:
- keyseq = re.sub(r'\\(.)', r'\1', match.group(2))
- self.__add_text_entry(keyseq, insert)
-
- def get_entry_for_keycode(self, keycode):
- return self.__dict.get(keycode, list([None, None, None, None]))
-
- def __add_entry(self, letter, level, insert):
- if letter.isupper():
- level |= 1
- letter = letter.lower()
- elif letter in MARK_UPPER:
- level |= 1
- letter = MARK_LOWER[MARK_UPPER.index(letter)]
- keycode = KEYCODE_TABLE[letter]
- if keycode not in self.__dict:
- self.__dict[keycode] = list([None,None,None,None])
- self.__dict[keycode][level] = insert
-
- def __add_symbol_entry(self, symbol, insert):
- level = 0
- if symbol.startswith('G-'):
- level |= 2
- symbol = symbol[2:]
- if not symbol.startswith('KP_'):
- self.__add_entry(symbol, level, insert)
-
- def __add_text_entry(self, text, insert):
- self.__add_entry(text, 0, insert)
-
-files = list()
-for path in sys.argv[2:]:
- files.append(MapFile(path))
-
-keyboard = eekboard.XmlKeyboard(os.path.abspath(sys.argv[1]))
-
-def each_key(element, data):
- keycode = element.get_keycode()
- matrix = Eek.SymbolMatrix.new(len(files) + 1, 4)
- for l in xrange(4):
- keysym = element.get_symbol_at_index(0, l, 0, 0)
- matrix.set_symbol(0, l, keysym)
- for g, f in enumerate(files):
- entry = f.get_entry_for_keycode(keycode)
- for l in xrange(4):
- keysym = None
- if entry[l]:
- try:
- keyval = gtk.gdk.unicode_to_keyval(ord(entry[l]))
- keysym = Eek.Keysym.new(keyval)
- except:
- pass
- if not keysym:
- keysym = element.get_symbol_at_index(g + 1, l, 0, 0)
- matrix.set_symbol(g + 1, l, keysym)
- element.set_symbol_matrix(matrix)
-
-def each_section(element, data):
- element.foreach_child(each_key, None)
-
-keyboard.foreach_child(each_section, None)
-output = GLib.string_sized_new(4096)
-keyboard.output(output, 0)
-print output.str
diff --git a/examples/inscript2.xml b/examples/inscript2.xml
deleted file mode 100644
index 86f0cad8..00000000
--- a/examples/inscript2.xml
+++ /dev/null
@@ -1,7297 +0,0 @@
-
-
- 0.000000,0.000000,640.000000,296.585366
-
- 15.609756,15.609756,640.000000,39.024390
- 0
-
- 16
- 1
-
-
- 3.121951,1.560976,37.463415,37.463415
- outline4
-
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
- Escape
-
-
-
- 84.292683,1.560976,37.463415,37.463415
- outline4
-
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
- F1
- (null)
- F1
- F1
-
-
-
- 124.878049,1.560976,37.463415,37.463415
- outline4
-
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
- F2
- (null)
- F2
- F2
-
-
-
- 165.463415,1.560976,37.463415,37.463415
- outline4
-
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
- F3
- (null)
- F3
- F3
-
-
-
- 206.048780,1.560976,37.463415,37.463415
- outline4
-
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
- F4
- (null)
- F4
- F4
-
-
-
- 266.926829,1.560976,37.463415,37.463415
- outline4
-
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
- F5
- (null)
- F5
- F5
-
-
-
- 307.512195,1.560976,37.463415,37.463415
- outline4
-
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
- F6
- (null)
- F6
- F6
-
-
-
- 348.097561,1.560976,37.463415,37.463415
- outline4
-
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
- F7
- (null)
- F7
- F7
-
-
-
- 388.682927,1.560976,37.463415,37.463415
- outline4
-
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
- F8
- (null)
- F8
- F8
-
-
-
- 449.560976,1.560976,37.463415,37.463415
- outline4
-
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
- F9
- (null)
- F9
- F9
-
-
-
- 490.146341,1.560976,37.463415,37.463415
- outline4
-
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
- F10
- (null)
- F10
- F10
-
-
-
- 530.731707,1.560976,37.463415,37.463415
- outline4
-
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
- F11
- (null)
- F11
- F11
-
-
-
- 571.317073,1.560976,37.463415,37.463415
- outline4
-
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
- F12
- (null)
- F12
- F12
-
-
-
-
- 15.609756,78.048780,608.780488,201.365854
- 0
-
- 14
- 1
-
-
- 14
- 1
-
-
- 13
- 1
-
-
- 12
- 1
-
-
- 8
- 1
-
-
- 3.121951,1.560976,37.463415,37.463415
- outline4
-
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- ೊ
- ಒ
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- ൊ
- ഒ
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- ॊ
- ऒ
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- quoteleft
- ᱻ
- quoteleft
- quoteleft
- quoteleft
- asciitilde
- quoteleft
- quoteleft
- ொ
- ஒ
- quoteleft
- quoteleft
- ొ
- ఒ
- quoteleft
- quoteleft
-
-
-
- 43.707317,1.560976,37.463415,37.463415
- outline4
-
- 1
- exclam
- 1
- 1
- ১
- exclam
- 1
- ৴
- ১
- exclam
- 1
- ৴
- १
- exclam
- 1
- 1
- १
- exclam
- 1
- 1
- ૧
- ઍ
- 1
- 1
- १
- ऍ
- 1
- 1
- ೧
- exclam
- 1
- 1
- १
- ॲ
- 1
- 1
- १
- exclam
- 1
- 1
- ൧
- exclam
- 1
- ൰
- ১
- exclam
- 1
- ৴
- (null)
- exclam
- 1
- 1
- १
- ॲ
- 1
- 1
- १
- exclam
- 1
- 1
- ୧
- exclam
- 1
- 1
- ੧
- exclam
- 1
- 1
- १
- exclam
- 1
- 1
- १
- exclam
- 1
- 1
- ᱑
- exclam
- 1
- 1
- १
- exclam
- 1
- 1
- ௧
- exclam
- 1
- 1
- ౧
- exclam
- 1
- ౹
-
-
-
- 84.292683,1.560976,37.463415,37.463415
- outline4
-
- 2
- at
- 2
- 2
- ২
- at
- 2
- ৵
- ২
- at
- 2
- ৵
- २
- at
- 2
- 2
- २
- at
- 2
- 2
- ૨
- ૅ
- 2
- 2
- २
- ॅ
- 2
- 2
- ೨
- at
- 2
- 2
- २
- ॅ
- 2
- 2
- २
- at
- 2
- 2
- ൨
- at
- 2
- ൱
- ২
- at
- 2
- ৵
- (null)
- at
- 2
- 2
- २
- ॅ
- 2
- 2
- २
- at
- 2
- 2
- ୨
- at
- 2
- 2
- ੨
- at
- 2
- 2
- २
- ॅ
- 2
- 2
- २
- at
- 2
- 2
- ᱒
- at
- 2
- 2
- २
- at
- 2
- 2
- ௨
- at
- 2
- 2
- ౨
- at
- 2
- ౼
-
-
-
- 124.878049,1.560976,37.463415,37.463415
- outline4
-
- 3
- numbersign
- 3
- 3
- ৩
- numbersign
- 3
- ৶
- ৩
- numbersign
- 3
- ৶
- ३
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ૩
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ೩
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ൩
- numbersign
- 3
- ൲
- ৩
- numbersign
- 3
- ৶
- (null)
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ୩
- numbersign
- 3
- 3
- ੩
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ᱓
- numbersign
- 3
- 3
- ३
- numbersign
- 3
- 3
- ௩
- numbersign
- 3
- 3
- ౩
- numbersign
- 3
- ౺
-
-
-
- 165.463415,1.560976,37.463415,37.463415
- outline4
-
- 4
- dollar
- 4
- 4
- ৪
- dollar
- (null)
- ৷
- ৪
- dollar
- (null)
- ৷
- ४
- dollar
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ૪
- dollar
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ೪
- dollar
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ൪
- dollar
- (null)
- ൳
- ৪
- dollar
- (null)
- ৷
- (null)
- dollar
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ୪
- dollar
- (null)
- 4
- ੪
- ੱ
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ᱔
- dollar
- (null)
- 4
- ४
- dollar
- (null)
- 4
- ௪
- dollar
- (null)
- 4
- ౪
- dollar
- (null)
- ౽
-
-
-
- 206.048780,1.560976,37.463415,37.463415
- outline4
-
- 5
- percent
- 5
- 5
- ৫
- percent
- 5
- ৸
- ৫
- percent
- 5
- ৸
- ५
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ૫
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ೫
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ൫
- percent
- 5
- ൴
- ৫
- percent
- 5
- ৸
- (null)
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ୫
- percent
- 5
- 5
- ੫
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ᱕
- percent
- 5
- 5
- ५
- percent
- 5
- 5
- ௫
- percent
- 5
- 5
- ౫
- percent
- 5
- ౻
-
-
-
- 245.073171,1.560976,37.463415,37.463415
- outline4
-
- 6
- asciicircum
- 6
- 6
- ৬
- asciicircum
- 6
- ৹
- ৬
- asciicircum
- 6
- ৹
- ६
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ૬
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ೬
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ൬
- asciicircum
- 6
- ൵
- ৬
- asciicircum
- 6
- ৹
- (null)
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ୬
- asciicircum
- 6
- 6
- ੬
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ᱖
- asciicircum
- 6
- 6
- ६
- asciicircum
- 6
- 6
- ௬
- asciicircum
- 6
- 6
- ౬
- asciicircum
- 6
- ౾
-
-
-
- 285.658537,1.560976,37.463415,37.463415
- outline4
-
- 7
- ampersand
- 7
- 7
- ৭
- ampersand
- 7
- 7
- ৭
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ૭
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ೭
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ൭
- ampersand
- 7
- 7
- ৭
- ampersand
- 7
- 7
- (null)
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ୭
- ampersand
- 7
- 7
- ੭
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ᱗
- ampersand
- 7
- 7
- ७
- ampersand
- 7
- 7
- ௭
- ampersand
- 7
- 7
- ౭
- ampersand
- 7
- 7
-
-
-
- 326.243902,1.560976,37.463415,37.463415
- outline4
-
- 8
- asterisk
- 8
- 8
- ৮
- asterisk
- 8
- 8
- ৮
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ૮
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ೮
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ൮
- asterisk
- 8
- 8
- ৮
- asterisk
- 8
- 8
- (null)
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ୮
- asterisk
- 8
- 8
- ੮
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ᱘
- asterisk
- 8
- 8
- ८
- asterisk
- 8
- 8
- ௮
- asterisk
- 8
- 8
- ౮
- asterisk
- 8
- 8
-
-
-
- 366.829268,1.560976,37.463415,37.463415
- outline4
-
- 9
- parenleft
- 9
- 9
- ৯
- (null)
- 9
- 9
- ৯
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ૯
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ೯
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ൯
- (null)
- 9
- 9
- ৯
- (null)
- 9
- 9
- (null)
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ୯
- (null)
- 9
- 9
- ੯
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ९
- (null)
- 9
- 9
- ᱙
- parenleft
- 9
- 9
- ९
- (null)
- 9
- 9
- ௯
- (null)
- 9
- 9
- ౯
- (null)
- 9
- 9
-
-
-
- 407.414634,1.560976,37.463415,37.463415
- outline4
-
- 0
- parenright
- 0
- 0
- ০
- (null)
- 0
- 0
- ০
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ૦
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ೦
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ൦
- (null)
- 0
- 0
- ০
- (null)
- 0
- 0
- (null)
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ୦
- (null)
- 0
- 0
- ੦
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ०
- (null)
- 0
- 0
- ᱐
- parenright
- 0
- 0
- ०
- (null)
- 0
- 0
- ௦
- (null)
- ௰
- 0
- ౦
- (null)
- ౸
- 0
-
-
-
- 448.000000,1.560976,37.463415,37.463415
- outline4
-
- minus
- underscore
- minus
- minus
- minus
- ঃ
- minus
- minus
- minus
- ঃ
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ઃ
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ಃ
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ഃ
- minus
- minus
- minus
- ঃ
- minus
- minus
- minus
- underscore
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ଃ
- minus
- minus
- minus
- ਃ
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ः
- minus
- minus
- minus
- ᱼ
- minus
- minus
- minus
- underscore
- minus
- minus
- minus
- ஃ
- ௱
- minus
- minus
- ః
- ౿
- minus
-
-
-
- 488.585366,1.560976,37.463415,37.463415
- outline4
-
- equal
- plus
- equal
- equal
- ৃ
- ঋ
- ৄ
- ৠ
- ৃ
- ঋ
- ৄ
- ৠ
- ृ
- ऋ
- ॄ
- ॠ
- ृ
- ऋ
- ॄ
- ॠ
- ૃ
- ઋ
- ૄ
- ૠ
- ृ
- ऋ
- ॄ
- ॠ
- ೃ
- ಋ
- ೄ
- ೠ
- ृ
- ऋ
- ॄ
- ॠ
- ृ
- ऋ
- ॄ
- ॠ
- ൃ
- ഋ
- ൄ
- ൠ
- ৃ
- ঋ
- ৄ
- ৠ
- equal
- plus
- equal
- equal
- ृ
- ऋ
- ॄ
- ॠ
- ृ
- ऋ
- ॄ
- ॠ
- ୃ
- ଋ
- ୄ
- ୠ
- equal
- plus
- equal
- equal
- ृ
- ऋ
- equal
- equal
- equal
- plus
- equal
- equal
- equal
- plus
- equal
- equal
- ृ
- ऋ
- ॄ
- ॠ
- equal
- plus
- ௲
- equal
- ృ
- ఋ
- ౄ
- ౠ
-
-
-
- 529.170732,1.560976,79.609756,37.463415
- outline1
-
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
- BackSpace
-
-
-
- 3.121951,42.146341,59.317073,37.463415
- outline6
-
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
- Tab
- ISO_Left_Tab
- Tab
- Tab
-
-
-
- 65.560976,42.146341,37.463415,37.463415
- outline4
-
- q
- Q
- q
- q
- ৌ
- ঔ
- q
- q
- ৌ
- ঔ
- q
- q
- ौ
- औ
- q
- q
- ौ
- औ
- q
- q
- ૌ
- ઔ
- q
- q
- ौ
- औ
- q
- q
- ೌ
- ಔ
- q
- q
- ौ
- औ
- q
- q
- ौ
- औ
- q
- q
- ൗ
- ഔ
- ൌ
- q
- ৌ
- ঔ
- q
- q
- (null)
- Q
- q
- q
- ौ
- औ
- q
- q
- ौ
- औ
- q
- q
- ୌ
- ଔ
- q
- q
- ੌ
- ਔ
- q
- q
- ौ
- औ
- q
- q
- ौ
- औ
- q
- q
- q
- Q
- q
- q
- ौ
- औ
- q
- q
- ௌ
- ஔ
- q
- q
- ౌ
- ఔ
- q
- q
-
-
-
- 106.146341,42.146341,37.463415,37.463415
- outline4
-
- w
- W
- w
- w
- ৈ
- ঐ
- w
- w
- ৈ
- ঐ
- w
- w
- ै
- ऐ
- w
- w
- ै
- ऐ
- w
- w
- ૈ
- ઐ
- w
- w
- ै
- ऐ
- w
- w
- ೈ
- ಐ
- w
- w
- ै
- ऐ
- w
- w
- ै
- ऐ
- w
- w
- ൈ
- ഐ
- w
- w
- ৈ
- ঐ
- w
- w
- (null)
- W
- w
- w
- ै
- ऐ
- w
- w
- ै
- ऐ
- w
- w
- ୈ
- ଐ
- w
- w
- ੈ
- ਐ
- w
- w
- ै
- ऐ
- w
- w
- ै
- ऐ
- w
- w
- w
- W
- w
- w
- ै
- ऐ
- w
- w
- ை
- ஐ
- w
- w
- ై
- ఐ
- w
- w
-
-
-
- 145.170732,42.146341,37.463415,37.463415
- outline4
-
- e
- E
- e
- e
- া
- আ
- e
- e
- া
- আ
- e
- e
- ा
- आ
- ॑
- e
- ा
- आ
- ॑
- e
- ા
- આ
- e
- e
- ा
- आ
- ॑
- e
- ಾ
- ಆ
- e
- e
- ा
- आ
- ॑
- e
- ा
- आ
- ॑
- e
- ാ
- ആ
- e
- e
- া
- আ
- e
- e
- (null)
- E
- e
- e
- ा
- आ
- ॑
- e
- ा
- आ
- ॑
- e
- ା
- ଆ
- e
- e
- ਾ
- ਆ
- e
- e
- ा
- आ
- ॑
- e
- ा
- आ
- e
- e
- ᱟ
- E
- e
- e
- ा
- आ
- ॑
- e
- ா
- ஆ
- e
- e
- ా
- ఆ
- e
- e
-
-
-
- 185.756098,42.146341,37.463415,37.463415
- outline4
-
- r
- R
- r
- r
- ী
- ঈ
- ৣ
- ৡ
- ী
- ঈ
- ৣ
- ৡ
- ी
- ई
- ॣ
- ॡ
- ी
- ई
- ॣ
- ॡ
- ી
- ઈ
- ૣ
- ૡ
- ी
- ई
- ॣ
- ॡ
- ೀ
- ಈ
- ೣ
- ೡ
- ी
- ई
- ॣ
- ॡ
- ी
- ई
- ॣ
- ॡ
- ീ
- ഈ
- ൣ
- r
- ী
- ঈ
- ৣ
- ৡ
- r
- R
- r
- r
- ी
- ई
- ॣ
- ॡ
- ी
- ई
- ॣ
- ॡ
- ୀ
- ଈ
- ୣ
- ୡ
- ੀ
- ਈ
- r
- r
- ी
- ई
- ॣ
- ॡ
- ी
- ई
- r
- r
- r
- R
- r
- r
- ी
- ई
- ॣ
- ॡ
- ீ
- ஈ
- r
- r
- ీ
- ఈ
- ౡ
- ౣ
-
-
-
- 226.341463,42.146341,37.463415,37.463415
- outline4
-
- t
- T
- t
- t
- ূ
- ঊ
- t
- t
- ূ
- ঊ
- t
- t
- ू
- ऊ
- t
- t
- ू
- ऊ
- t
- t
- ૂ
- ઊ
- t
- t
- ू
- ऊ
- t
- t
- ೂ
- ಊ
- t
- t
- ू
- ऊ
- t
- t
- ू
- ऊ
- t
- t
- ൂ
- ഊ
- t
- t
- ূ
- ঊ
- t
- t
- t
- T
- t
- t
- ू
- ऊ
- t
- t
- ू
- ऊ
- t
- t
- ୂ
- ଊ
- t
- t
- ੂ
- ਊ
- t
- t
- ू
- ऊ
- t
- t
- ू
- ऊ
- t
- t
- t
- T
- t
- t
- ू
- ऊ
- t
- t
- ூ
- ஊ
- t
- t
- ూ
- ఊ
- t
- t
-
-
-
- 266.926829,42.146341,37.463415,37.463415
- outline4
-
- y
- Y
- y
- y
- ব
- ভ
- y
- y
- ব
- ভ
- y
- y
- ब
- भ
- y
- y
- ब
- भ
- y
- y
- બ
- ભ
- y
- y
- ब
- भ
- y
- y
- ಬ
- ಭ
- y
- y
- ब
- भ
- y
- y
- ब
- भ
- y
- y
- ബ
- ഭ
- y
- y
- ব
- ভ
- y
- y
- (null)
- (null)
- y
- y
- ब
- भ
- y
- y
- ब
- भ
- y
- y
- ବ
- ଭ
- y
- y
- ਬ
- ਭ
- y
- y
- ब
- भ
- y
- y
- ब
- भ
- y
- y
- ᱵ
- Y
- y
- y
- ब
- भ
- y
- y
- y
- Y
- ௷
- y
- బ
- భ
- y
- y
-
-
-
- 307.512195,42.146341,37.463415,37.463415
- outline4
-
- u
- U
- u
- u
- হ
- ঙ
- u
- u
- হ
- ঙ
- u
- u
- ह
- ङ
- u
- u
- ह
- ङ
- u
- u
- હ
- ઙ
- u
- u
- ह
- ङ
- u
- u
- ಹ
- ಙ
- ೱ
- u
- ह
- ङ
- u
- u
- ह
- ङ
- u
- u
- ഹ
- ങ
- u
- u
- হ
- ঙ
- u
- u
- (null)
- (null)
- u
- (null)
- ह
- ङ
- u
- u
- ह
- ङ
- u
- u
- ହ
- ଙ
- u
- u
- ਹ
- ਙ
- u
- u
- ह
- ङ
- u
- u
- ह
- ङ
- u
- u
- ᱦ
- ᱝ
- u
- u
- ह
- ङ
- u
- u
- ஹ
- ங
- u
- u
- హ
- ఙ
- u
- u
-
-
-
- 348.097561,42.146341,37.463415,37.463415
- outline4
-
- i
- I
- i
- i
- গ
- ঘ
- i
- i
- গ
- ঘ
- i
- i
- ग
- घ
- ग़
- i
- ग
- घ
- ग़
- i
- ગ
- ઘ
- i
- i
- ग
- घ
- ग़
- i
- ಗ
- ಘ
- i
- i
- ग
- घ
- i
- i
- ग
- घ
- i
- i
- ഗ
- ഘ
- i
- i
- গ
- ঘ
- i
- i
- (null)
- (null)
- i
- i
- ग
- घ
- i
- i
- ग
- घ
- i
- i
- ଗ
- ଘ
- i
- i
- ਗ
- ਘ
- ਗ਼
- i
- ग
- घ
- i
- i
- ग
- घ
- i
- i
- ᱜ
- I
- i
- i
- ग
- घ
- ग़
- i
- i
- I
- i
- i
- గ
- ఘ
- i
- i
-
-
-
- 388.682927,42.146341,37.463415,37.463415
- outline4
-
- o
- O
- o
- o
- দ
- ধ
- o
- o
- দ
- ধ
- o
- o
- द
- ध
- o
- o
- द
- ध
- o
- o
- દ
- ધ
- o
- o
- द
- ध
- o
- o
- ದ
- ಧ
- o
- o
- द
- ध
- o
- o
- द
- ध
- o
- o
- ദ
- ധ
- o
- o
- দ
- ধ
- o
- o
- (null)
- (null)
- o
- o
- द
- ध
- o
- o
- द
- ध
- o
- o
- ଦ
- ଧ
- o
- o
- ਦ
- ਧ
- o
- o
- द
- ध
- o
- o
- द
- ध
- o
- o
- ᱫ
- O
- o
- o
- द
- ध
- o
- o
- o
- O
- o
- o
- ద
- ధ
- o
- o
-
-
-
- 429.268293,42.146341,37.463415,37.463415
- outline4
-
- p
- P
- p
- p
- জ
- ঝ
- p
- p
- জ
- ঝ
- p
- p
- ज
- झ
- p
- p
- ज
- झ
- ज़
- p
- જ
- ઝ
- p
- p
- ज
- झ
- ज़
- p
- ಜ
- ಝ
- p
- p
- ज
- झ
- p
- p
- ज
- झ
- p
- p
- ജ
- ഝ
- p
- p
- জ
- ঝ
- p
- p
- (null)
- (null)
- p
- p
- ज
- झ
- p
- p
- ज
- झ
- p
- p
- ଜ
- ଝ
- p
- p
- ਜ
- ਝ
- ਜ਼
- p
- ज
- झ
- p
- p
- ज
- झ
- p
- p
- ᱡ
- P
- p
- p
- ज
- झ
- ज़
- p
- ஜ
- P
- p
- p
- జ
- ఝ
- ౙ
- p
-
-
-
- 468.292683,42.146341,37.463415,37.463415
- outline4
-
- bracketleft
- braceleft
- bracketleft
- bracketleft
- ড
- ঢ
- ড়
- ঢ়
- ড
- ঢ
- ড়
- ঢ়
- ड
- ढ
- bracketleft
- bracketleft
- ड
- ढ
- ड़
- ढ़
- ડ
- ઢ
- bracketleft
- bracketleft
- ड
- ढ
- ड़
- ढ़
- ಡ
- ಢ
- bracketleft
- bracketleft
- ड
- ढ
- bracketleft
- bracketleft
- ड
- ढ
- ड़
- ढ़
- ഡ
- ഢ
- bracketleft
- bracketleft
- ড
- ঢ
- ড়
- ঢ়
- bracketleft
- braceleft
- bracketleft
- bracketleft
- ड
- ढ
- bracketleft
- bracketleft
- ड
- ढ
- bracketleft
- bracketleft
- ଡ
- ଢ
- ଡ଼
- ଢ଼
- ਡ
- ਢ
- ੜ
- bracketleft
- ड
- ढ
- bracketleft
- bracketleft
- ड
- ढ
- bracketleft
- bracketleft
- ᱰ
- ᱲ
- bracketleft
- bracketleft
- ड
- ढ
- ड़
- ढ़
- bracketleft
- braceleft
- bracketleft
- bracketleft
- డ
- ఢ
- bracketleft
- bracketleft
-
-
-
- 508.878049,42.146341,37.463415,37.463415
- outline4
-
- bracketright
- braceright
- bracketright
- bracketright
- ়
- ঞ
- bracketright
- bracketright
- ়
- ঞ
- bracketright
- bracketright
- ़
- ञ
- bracketright
- bracketright
- ़
- ञ
- bracketright
- bracketright
- ઼
- ઞ
- bracketright
- bracketright
- ॉ
- ञ
- bracketright
- bracketright
- ಼
- ಞ
- bracketright
- bracketright
- ़
- ञ
- bracketright
- bracketright
- ़
- ञ
- bracketright
- bracketright
- bracketright
- ഞ
- bracketright
- bracketright
- ়
- ঞ
- bracketright
- bracketright
- (null)
- braceright
- bracketright
- bracketright
- ़
- ञ
- bracketright
- bracketright
- ़
- ञ
- bracketright
- bracketright
- ଼
- ଞ
- bracketright
- bracketright
- ਼
- ਞ
- bracketright
- bracketright
- ॉ
- ञ
- bracketright
- bracketright
- ़
- ञ
- bracketright
- bracketright
- ᱹ
- ᱧ
- bracketright
- bracketright
- ॉ
- ञ
- bracketright
- bracketright
- bracketright
- ஞ
- bracketright
- bracketright
- bracketright
- ఞ
- bracketright
- bracketright
-
-
-
- 549.463415,42.146341,59.317073,37.463415
- outline7
-
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- ૉ
- ઑ
- backslash
- backslash
- ॉ
- ऑ
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- ॠ
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
- backslash
- bar
- backslash
- backslash
-
-
-
- 3.121951,82.731707,68.682927,37.463415
- outline8
-
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
-
-
-
- 76.487805,82.731707,37.463415,37.463415
- outline4
-
- a
- A
- a
- a
- ো
- ও
- a
- a
- ো
- ও
- a
- a
- ो
- ओ
- a
- a
- ो
- ओ
- a
- a
- ો
- ઓ
- a
- a
- ो
- ओ
- a
- a
- ೋ
- ಓ
- a
- a
- ो
- ओ
- a
- a
- ो
- ओ
- a
- a
- ോ
- ഓ
- a
- a
- ো
- ও
- a
- a
- a
- A
- a
- a
- ो
- ओ
- a
- a
- ो
- ओ
- a
- a
- ୋ
- ଓ
- a
- a
- ੋ
- ਓ
- a
- a
- ो
- ओ
- a
- a
- ो
- ओ
- a
- a
- ᱳ
- A
- a
- a
- ो
- ओ
- a
- a
- a
- ஓ
- a
- a
- ో
- ఓ
- a
- a
-
-
-
- 115.512195,82.731707,37.463415,37.463415
- outline4
-
- s
- S
- s
- s
- ে
- এ
- s
- s
- ে
- এ
- s
- s
- े
- ए
- s
- s
- े
- ए
- s
- s
- ે
- એ
- s
- s
- े
- ए
- s
- s
- ೇ
- ಏ
- s
- s
- े
- ए
- s
- s
- े
- ए
- s
- s
- േ
- ഏ
- s
- s
- ে
- এ
- s
- s
- (null)
- S
- s
- s
- े
- ए
- s
- s
- े
- ए
- s
- s
- େ
- ଏ
- s
- s
- ੇ
- ਏ
- s
- s
- े
- ए
- s
- s
- े
- ए
- s
- s
- ᱮ
- S
- s
- s
- े
- ए
- s
- s
- ே
- ஏ
- s
- s
- ే
- ఏ
- s
- s
-
-
-
- 156.097561,82.731707,37.463415,37.463415
- outline4
-
- d
- D
- d
- d
- ্
- অ
- d
- d
- ্
- অ
- d
- d
- ्
- अ
- ॒
- d
- ्
- अ
- ॒
- d
- ્
- અ
- d
- d
- ्
- अ
- ॒
- d
- ್
- ಅ
- d
- d
- ्
- अ
- ॒
- d
- ्
- अ
- ॒
- d
- ്
- അ
- d
- d
- ্
- অ
- d
- d
- (null)
- (null)
- d
- d
- ्
- अ
- ॒
- d
- ्
- अ
- ॒
- d
- ୍
- ଅ
- d
- d
- ੍
- ਅ
- ੑ
- ☬
- ्
- अ
- ॒
- d
- ्
- अ
- d
- d
- ᱚ
- D
- d
- d
- ्
- अ
- ॒
- d
- ்
- அ
- d
- d
- ్
- అ
- d
- d
-
-
-
- 196.682927,82.731707,37.463415,37.463415
- outline4
-
- f
- F
- f
- f
- ি
- ই
- ৢ
- ঌ
- ি
- ই
- ৢ
- ঌ
- ि
- इ
- ॢ
- ऌ
- ि
- इ
- ॢ
- ऌ
- િ
- ઇ
- ૢ
- ઌ
- ि
- इ
- ॢ
- ऌ
- ಿ
- ಇ
- ೢ
- ಌ
- ि
- इ
- ॢ
- ऌ
- ि
- इ
- ॢ
- ऌ
- ി
- ഇ
- ൢ
- f
- ি
- ই
- ৢ
- ঌ
- f
- (null)
- ৢ
- (null)
- ि
- इ
- ॢ
- ऌ
- ि
- इ
- ॢ
- ऌ
- ି
- ଇ
- ୢ
- ଌ
- ਿ
- ਇ
- f
- ੲ
- ि
- इ
- ॢ
- ऌ
- ि
- इ
- f
- ऌ
- ᱤ
- F
- f
- f
- ि
- इ
- ॢ
- ऌ
- ி
- இ
- f
- f
- ి
- ఇ
- ౢ
- ఌ
-
-
-
- 237.268293,82.731707,37.463415,37.463415
- outline4
-
- g
- G
- g
- g
- ু
- উ
- g
- g
- ু
- উ
- g
- g
- ु
- उ
- g
- g
- ु
- उ
- g
- g
- ુ
- ઉ
- g
- g
- ु
- उ
- g
- g
- ು
- ಉ
- g
- g
- ु
- उ
- g
- g
- ु
- उ
- g
- g
- ു
- ഉ
- g
- g
- ু
- উ
- g
- g
- (null)
- (null)
- g
- g
- ु
- उ
- g
- g
- ु
- उ
- g
- g
- ୁ
- ଉ
- g
- g
- ੁ
- ਉ
- g
- ੳ
- ु
- उ
- g
- g
- ु
- उ
- g
- g
- ᱩ
- G
- g
- g
- ु
- उ
- g
- g
- ு
- உ
- g
- g
- ు
- ఉ
- g
- g
-
-
-
- 277.853659,82.731707,37.463415,37.463415
- outline4
-
- h
- H
- h
- h
- প
- ফ
- h
- h
- প
- ফ
- h
- h
- प
- फ
- h
- h
- प
- फ
- h
- फ़
- પ
- ફ
- h
- h
- प
- फ
- h
- फ़
- ಪ
- ಫ
- h
- ೞ
- प
- फ
- h
- h
- प
- फ
- h
- h
- പ
- ഫ
- h
- h
- প
- ফ
- h
- h
- (null)
- (null)
- (null)
- h
- प
- फ
- h
- h
- प
- फ
- h
- h
- ପ
- ଫ
- h
- h
- ਪ
- ਫ
- h
- ਫ਼
- प
- फ
- h
- फ़
- प
- फ
- h
- h
- ᱯ
- H
- h
- h
- प
- फ
- h
- फ़
- ப
- H
- ௶
- h
- ప
- ఫ
- h
- h
-
-
-
- 318.439024,82.731707,37.463415,37.463415
- outline4
-
- j
- J
- j
- j
- ৰ
- J
- j
- j
- র
- J
- j
- j
- र
- J
- j
- j
- र
- J
- j
- j
- ર
- J
- j
- j
- र
- J
- j
- j
- ರ
- ಱ
- ೲ
- j
- र
- ऱ
- j
- j
- र
- J
- j
- j
- ര
- റ
- ർ
- j
- র
- J
- j
- j
- (null)
- J
- j
- j
- र
- ऱ
- j
- j
- र
- ऱ
- j
- j
- ର
- J
- j
- j
- ਰ
- ੜ
- j
- j
- र
- J
- j
- j
- र
- J
- j
- j
- ᱨ
- J
- j
- j
- र
- ॻ
- j
- j
- ர
- ற
- j
- j
- ర
- ఱ
- j
- j
-
-
-
- 359.024390,82.731707,37.463415,37.463415
- outline4
-
- k
- K
- k
- k
- ক
- খ
- k
- k
- ক
- খ
- k
- k
- क
- ख
- k
- k
- क
- ख
- k
- k
- ક
- ખ
- k
- k
- क
- ख
- क़
- ख़
- ಕ
- ಖ
- k
- k
- क
- ख
- k
- k
- क
- ख
- k
- k
- ക
- ഖ
- ൿ
- k
- ক
- খ
- k
- k
- (null)
- (null)
- (null)
- k
- क
- ख
- k
- k
- क
- ख
- k
- k
- କ
- ଖ
- k
- k
- ਕ
- ਖ
- k
- ਖ਼
- क
- ख
- k
- k
- क
- ख
- k
- k
- ᱠ
- K
- k
- k
- क
- ख
- क़
- ख़
- க
- K
- k
- k
- క
- ఖ
- k
- k
-
-
-
- 399.609756,82.731707,37.463415,37.463415
- outline4
-
- l
- L
- l
- l
- ত
- থ
- ৎ
- l
- ত
- থ
- ৎ
- l
- त
- थ
- l
- l
- त
- थ
- l
- l
- ત
- થ
- l
- l
- त
- थ
- l
- l
- ತ
- ಥ
- l
- l
- त
- थ
- l
- l
- त
- थ
- l
- l
- ത
- ഥ
- l
- l
- ত
- থ
- ৎ
- l
- (null)
- (null)
- (null)
- l
- त
- थ
- l
- l
- त
- थ
- l
- l
- ତ
- ଥ
- l
- l
- ਤ
- ਥ
- l
- l
- त
- थ
- l
- l
- त
- थ
- l
- l
- ᱛ
- L
- l
- l
- त
- थ
- l
- l
- த
- L
- l
- l
- త
- థ
- l
- l
-
-
-
- 438.634146,82.731707,37.463415,37.463415
- outline4
-
- semicolon
- colon
- semicolon
- semicolon
- চ
- ছ
- semicolon
- semicolon
- চ
- ছ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- ચ
- છ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- ಚ
- ಛ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- ച
- ഛ
- semicolon
- semicolon
- চ
- ছ
- semicolon
- semicolon
- (null)
- colon
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- ଚ
- ଛ
- semicolon
- semicolon
- ਚ
- ਛ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- ᱪ
- ᱺ
- semicolon
- semicolon
- च
- छ
- semicolon
- semicolon
- ச
- colon
- semicolon
- semicolon
- చ
- ఛ
- ౘ
- semicolon
-
-
-
- 479.219512,82.731707,37.463415,37.463415
- outline4
-
- quoteright
- quotedbl
- quoteright
- quoteright
- ট
- quotedbl
- quoteright
- quoteright
- ট
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ટ
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ಟ
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ട
- quotedbl
- quoteright
- quoteright
- ট
- quotedbl
- quoteright
- quoteright
- quoteright
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ଟ
- quotedbl
- quoteright
- quoteright
- ਟ
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ᱴ
- quotedbl
- quoteright
- quoteright
- ट
- quotedbl
- quoteright
- quoteright
- ட
- quotedbl
- quoteright
- quoteright
- ట
- quotedbl
- quoteright
- quoteright
-
-
-
- 519.804878,82.731707,88.975610,37.463415
- outline9
-
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
- Return
-
-
-
- 3.121951,121.756098,88.975610,37.463415
- outline10
-
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
- Shift_L
-
-
-
- 95.219512,121.756098,37.463415,37.463415
- outline4
-
- z
- Z
- z
- z
- ʼ
- Z
- z
- z
- z
- Z
- z
- z
- ʼ
- Z
- z
- z
- ʼ
- Z
- z
- z
- z
- Z
- z
- z
- z
- Z
- z
- z
- ೆ
- ಎ
- z
- z
- z
- Z
- z
- z
- ʼ
- Z
- z
- z
- െ
- എ
- z
- z
- z
- Z
- z
- z
- z
- Z
- z
- z
- z
- Z
- z
- z
- z
- Z
- z
- z
- z
- Z
- z
- z
- z
- Z
- z
- z
- z
- Z
- z
- z
- ʼ
- Z
- z
- z
- ᱷ
- ᱽ
- z
- z
- z
- Z
- z
- z
- ெ
- எ
- z
- z
- ె
- ఎ
- ౕ
- ౖ
-
-
-
- 135.804878,121.756098,37.463415,37.463415
- outline4
-
- x
- X
- x
- x
- ং
- ঁ
- ৺
- x
- ং
- ঁ
- ৺
- x
- ं
- ँ
- x
- ॐ
- x
- ँ
- x
- ॐ
- ં
- ઁ
- x
- ૐ
- ं
- ँ
- x
- ॐ
- ಂ
- X
- x
- x
- ं
- ँ
- x
- ॐ
- ं
- ँ
- x
- ॐ
- ം
- X
- x
- x
- ং
- ঁ
- ৺
- x
- (null)
- X
- x
- x
- ं
- ँ
- x
- ॐ
- ं
- ँ
- ॱ
- ॐ
- ଂ
- ଁ
- ୰
- x
- ੰ
- ਂ
- ਁ
- ੴ
- ं
- ँ
- x
- ॐ
- ं
- ँ
- x
- ॐ
- ᱸ
- X
- x
- x
- x
- ँ
- ॐ
- x
- ஂ
- X
- x
- ௐ
- ం
- ఁ
- x
- x
-
-
-
- 176.390244,121.756098,37.463415,37.463415
- outline4
-
- c
- C
- c
- c
- ণ
- ণ
- c
- c
- ণ
- ণ
- c
- c
- म
- ण
- c
- c
- म
- ण
- c
- c
- મ
- ણ
- c
- c
- म
- ण
- c
- c
- ಮ
- ಣ
- c
- c
- म
- ण
- c
- c
- म
- ण
- c
- c
- മ
- ണ
- ൺ
- c
- ম
- ণ
- c
- c
- (null)
- C
- (null)
- c
- म
- ण
- c
- c
- म
- ण
- c
- c
- ମ
- ଣ
- c
- c
- ਮ
- ਣ
- c
- c
- म
- ण
- c
- c
- म
- ण
- c
- c
- ᱢ
- ᱬ
- c
- c
- म
- ण
- c
- c
- ம
- ண
- ௴
- ௸
- మ
- ణ
- c
- c
-
-
-
- 215.414634,121.756098,37.463415,37.463415
- outline4
-
- v
- V
- v
- v
- ন
- V
- v
- v
- ন
- V
- v
- v
- न
- V
- v
- v
- न
- V
- v
- v
- ન
- V
- v
- v
- न
- V
- v
- v
- ನ
- V
- v
- v
- न
- V
- v
- v
- न
- V
- v
- v
- ന
- ൹
- ൻ
- v
- ন
- V
- v
- v
- (null)
- V
- (null)
- v
- न
- V
- v
- v
- न
- V
- v
- v
- ନ
- V
- v
- v
- ਨ
- V
- v
- v
- न
- V
- v
- v
- न
- V
- v
- v
- ᱱ
- V
- v
- v
- न
- ॾ
- v
- v
- ந
- ன
- ௳
- ௺
- న
- V
- v
- v
-
-
-
- 256.000000,121.756098,37.463415,37.463415
- outline4
-
- b
- B
- b
- b
- b
- B
- b
- b
- b
- B
- b
- b
- व
- B
- b
- b
- व
- B
- b
- b
- વ
- B
- b
- b
- व
- B
- b
- b
- ವ
- B
- b
- b
- व
- B
- b
- b
- व
- B
- b
- b
- വ
- ഴ
- b
- b
- b
- B
- b
- b
- (null)
- B
- b
- b
- व
- B
- b
- b
- व
- B
- b
- b
- ୱ
- B
- ଵ
- b
- ਵ
- ਞ
- b
- b
- व
- B
- b
- b
- व
- B
- b
- b
- ᱣ
- ᱶ
- b
- b
- व
- ॿ
- b
- b
- வ
- ழ
- ௵
- b
- వ
- B
- b
- b
-
-
-
- 296.585366,121.756098,37.463415,37.463415
- outline4
-
- n
- N
- n
- n
- ল
- N
- n
- n
- ল
- N
- n
- n
- ल
- N
- n
- ळ
- ल
- N
- n
- ळ
- લ
- ળ
- n
- n
- ल
- N
- n
- ळ
- ಲ
- ಳ
- n
- n
- ल
- ळ
- n
- n
- ल
- N
- n
- ळ
- ല
- ള
- ൽ
- ൾ
- ল
- N
- n
- n
- (null)
- N
- (null)
- n
- ल
- ळ
- n
- n
- ल
- ळ
- n
- n
- ଲ
- ଳ
- n
- n
- ਲ
- N
- n
- ਲ਼
- ल
- ळ
- n
- n
- ल
- N
- n
- ळ
- ᱞ
- N
- n
- n
- ल
- ॼ
- n
- n
- ல
- ள
- n
- n
- ల
- ళ
- n
- n
-
-
-
- 337.170732,121.756098,37.463415,37.463415
- outline4
-
- m
- M
- m
- m
- স
- শ
- m
- m
- স
- শ
- m
- m
- स
- श
- m
- m
- स
- श
- m
- m
- સ
- શ
- m
- m
- स
- श
- m
- m
- ಸ
- ಶ
- m
- m
- स
- श
- m
- m
- स
- श
- m
- m
- സ
- ശ
- m
- m
- স
- শ
- m
- m
- (null)
- M
- m
- m
- स
- श
- m
- m
- स
- श
- m
- m
- ସ
- ଶ
- m
- m
- ਸ
- ਸ਼
- m
- m
- स
- श
- m
- m
- स
- M
- m
- m
- ᱥ
- M
- m
- m
- स
- श
- m
- m
- ஸ
- ஶ
- m
- m
- స
- శ
- m
- m
-
-
-
- 377.756098,121.756098,37.463415,37.463415
- outline4
-
- comma
- less
- comma
- comma
- comma
- ষ
- ৳
- ৲
- comma
- ষ
- ৳
- ৲
- comma
- ष
- ॰
- comma
- comma
- ष
- comma
- comma
- comma
- ષ
- ૱
- comma
- comma
- ष
- ॰
- comma
- comma
- ಷ
- comma
- comma
- comma
- ष
- ॰
- comma
- comma
- ष
- comma
- comma
- comma
- ഷ
- comma
- comma
- comma
- ষ
- ৳
- ৲
- comma
- less
- comma
- comma
- comma
- ष
- ॰
- comma
- comma
- ष
- ॰
- comma
- comma
- ଷ
- comma
- comma
- comma
- less
- comma
- comma
- comma
- ष
- comma
- comma
- comma
- less
- ॰
- comma
- comma
- ᱿
- comma
- comma
- comma
- ष
- ॰
- comma
- comma
- ஷ
- ௹
- comma
- comma
- ష
- comma
- comma
-
-
-
- 418.341463,121.756098,37.463415,37.463415
- outline4
-
- period
- greater
- period
- period
- period
- ।
- ॥
- ঽ
- period
- ।
- ॥
- ঽ
- period
- ।
- ॥
- ऽ
- period
- ।
- ॥
- ऽ
- period
- ।
- ઽ
- (null)
- period
- ।
- ॥
- ऽ
- period
- ।
- ॥
- ಽ
- period
- ।
- ॥
- ऽ
- period
- ।
- ॥
- ऽ
- period
- ।
- ॥
- ഽ
- period
- ।
- ॥
- ঽ
- period
- (null)
- period
- period
- period
- ।
- ॥
- ऽ
- period
- ।
- ॥
- ऽ
- period
- ।
- ॥
- ଽ
- period
- ।
- ॥
- period
- period
- ।
- ॥
- ऽ
- period
- ।
- ॥
- ऽ
- period
- ᱾
- period
- period
- period
- ।
- ॥
- ऽ
- period
- ।
- ॥
- period
- period
- ।
- ॥
- ఽ
-
-
-
- 458.926829,121.756098,37.463415,37.463415
- outline4
-
- slash
- question
- slash
- slash
- য়
- য
- slash
- slash
- য়
- য
- slash
- slash
- य
- question
- slash
- slash
- य
- question
- slash
- slash
- ય
- question
- slash
- slash
- य
- question
- slash
- slash
- ಯ
- question
- slash
- slash
- य
- question
- slash
- slash
- य
- question
- slash
- slash
- യ
- question
- slash
- slash
- য়
- য
- slash
- slash
- (null)
- question
- slash
- slash
- य
- question
- slash
- slash
- य
- question
- slash
- slash
- ୟ
- ଯ
- slash
- slash
- ਯ
- question
- ੵ
- slash
- य
- question
- slash
- slash
- य
- question
- slash
- slash
- ᱭ
- question
- slash
- slash
- य
- question
- slash
- slash
- ய
- question
- slash
- slash
- య
- question
- slash
- slash
-
-
-
- 499.512195,121.756098,109.268293,37.463415
- outline11
-
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
- Shift_R
-
-
-
- 3.121951,162.341463,56.195122,37.463415
- outline12
-
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
- Control_L
-
-
-
- 62.439024,162.341463,48.390244,37.463415
- outline2
-
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
- Super_L
-
-
-
- 113.951220,162.341463,48.390244,37.463415
- outline2
-
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
- Alt_L
- Meta_L
- Alt_L
- Alt_L
-
-
-
- 165.463415,162.341463,238.829268,37.463415
- outline3
-
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
- space
-
-
-
- 407.414634,162.341463,48.390244,37.463415
- outline2
-
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
- ISO_Level3_Shift
-
-
-
- 458.926829,162.341463,48.390244,37.463415
- outline2
-
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
- Super_R
-
-
-
- 508.878049,162.341463,48.390244,37.463415
- outline2
-
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
- Menu
-
-
-
- 560.390244,162.341463,48.390244,37.463415
- outline2
-
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
- Control_R
-
-
-
-
- 1.000000
- 0.000000,0.000000
- 79.609756,0.000000
- 79.609756,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 48.390244,0.000000
- 48.390244,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 37.463415,0.000000
- 37.463415,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 59.317073,0.000000
- 59.317073,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 59.317073,0.000000
- 59.317073,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 68.682927,0.000000
- 68.682927,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 88.975610,0.000000
- 88.975610,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 88.975610,0.000000
- 88.975610,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 109.268293,0.000000
- 109.268293,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 56.195122,0.000000
- 56.195122,37.463415
- 0.000000,37.463415
-
-
- 1.000000
- 0.000000,0.000000
- 238.829268,0.000000
- 238.829268,37.463415
- 0.000000,37.463415
-
-
-