--- libx11-1.4.99.1.orig/autogen.sh +++ libx11-1.4.99.1/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" --- libx11-1.4.99.1.orig/debian/libx11-6-udeb.install +++ libx11-1.4.99.1/debian/libx11-6-udeb.install @@ -0,0 +1,5 @@ +# from libx11-6: +usr/lib/*/libX11.so.6* usr/lib + +# from libx11-data: +usr/share/X11/XErrorDB --- libx11-1.4.99.1.orig/debian/libx11-xcb1.install +++ libx11-1.4.99.1/debian/libx11-xcb1.install @@ -0,0 +1 @@ +usr/lib/*/libX11-xcb.so.1* --- libx11-1.4.99.1.orig/debian/control +++ libx11-1.4.99.1/debian/control @@ -0,0 +1,220 @@ +Source: libx11 +Section: x11 +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: Cyril Brulebois +Build-Depends: + debhelper (>= 5.0.0), + dpkg-dev (>= 1.16.0), + pkg-config, + xtrans-dev, + x11proto-core-dev (>= 7.0.21), + x11proto-kb-dev, + x11proto-input-dev, + x11proto-xext-dev, + x11proto-xf86bigfont-dev (>= 1.2.0), + libxcb1-dev (>= 1.5-3), + quilt, + automake, + libtool, + xutils-dev (>= 1:7.6+2), +# specs + xmlto, + xorg-sgml-doctools (>= 1:1.5), + w3m, +Standards-Version: 3.9.2 +Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libx11 +Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libx11.git + +Package: libx11-6 +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libx11-data, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: X11 client-side library + This package provides a client interface to the X Window System, otherwise + known as 'Xlib'. It provides a complete API for the basic functions of the + window system. + . + More information about X.Org can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 + +Package: libx11-6-udeb +XC-Package-Type: udeb +Section: debian-installer +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Description: X11 client-side library + This is a udeb, or a microdeb, for the debian-installer. + +Package: libx11-data +Architecture: all +Depends: + ${misc:Depends}, +Breaks: libx11-6 (<< 2:1.4.1) +Multi-Arch: foreign +Description: X11 client-side library + This package provides the locale data files for libx11. + . + More information about X.Org can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 + +Package: libx11-6-dbg +Section: debug +Architecture: any +Priority: extra +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libx11-6 (= ${binary:Version}), +Multi-Arch: same +Description: X11 client-side library (debug package) + This package provides a client interface to the X Window System, otherwise + known as 'Xlib'. It provides a complete API for the basic functions of the + window system. + . + This package contains the debug versions of the library found in libx11-6. + Non-developers likely have little use for this package. + . + More information about X.Org can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 + +Package: libx11-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libx11-6 (= ${binary:Version}), + libxau-dev (>= 1:1.0.0-1), + libxdmcp-dev (>= 1:1.0.0-1), + x11proto-core-dev (>= 6.8.99.8-1), + x11proto-input-dev, + x11proto-kb-dev, + xtrans-dev, + libxcb1-dev, +Recommends: libx11-doc +Description: X11 client-side library (development headers) + This package provides a client interface to the X Window System, otherwise + known as 'Xlib'. It provides a complete API for the basic functions of the + window system. + . + This package contains the development headers for the library found in + libx11-6. Non-developers likely have little use for this package. + . + More information about X.Org can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 + +Package: libx11-xcb1 +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Xlib/XCB interface library + libX11-xcb provides functions needed by clients which take advantage of + Xlib/XCB to mix calls to both Xlib and XCB over the same X connection. + . + More information about X.Org can be found at: + + . + More information about XCB can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 + +Package: libx11-xcb1-dbg +Section: debug +Architecture: any +Priority: extra +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libx11-xcb1 (= ${binary:Version}), +Multi-Arch: same +Description: Xlib/XCB interface library (debug package) + libX11-xcb provides functions needed by clients which take advantage of + Xlib/XCB to mix calls to both Xlib and XCB over the same X connection. + . + This package contains the debug versions of the library found in + libx11-xcb1. Non-developers likely have little use for this package. + . + More information about X.Org can be found at: + + . + More information about XCB can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 + +Package: libx11-xcb-dev +Section: libdevel +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libx11-xcb1 (= ${binary:Version}), + libxcb1-dev (>= 0.9.92), + libx11-dev, +Description: Xlib/XCB interface library (development headers) + libX11-xcb provides functions needed by clients which take advantage of + Xlib/XCB to mix calls to both Xlib and XCB over the same X connection. + . + This package contains the development headers for the library found in + libx11-xcb1. Non-developers likely have little use for this package. + . + More information about X.Org can be found at: + + . + More information about XCB can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 + +Package: libx11-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: + ${misc:Depends}, +# for xorg.css + xorg-sgml-doctools (>= 1:1.5), +Replaces: libx11-dev (<< 2:1.4.4-3) +Description: X11 client-side library (development documentation) + This package provides a client interface to the X Window System, otherwise + known as 'Xlib'. It provides a complete API for the basic functions of the + window system. + . + This package contains supplemental documentation for the library found in + libx11-6. Non-developers likely have little use for this package. + . + More information about X.Org can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 --- libx11-1.4.99.1.orig/debian/libx11-doc.install +++ libx11-1.4.99.1/debian/libx11-doc.install @@ -0,0 +1,2 @@ +usr/share/man/man3/* +usr/share/doc/libX11/* usr/share/doc/libx11-dev --- libx11-1.4.99.1.orig/debian/README.source +++ libx11-1.4.99.1/debian/README.source @@ -0,0 +1,73 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + +------------------------------------ +Guide To The X Strike Force Packages +------------------------------------ + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. +Otherwise, the upstream sources are manually installed in the Debian +git repository. + +The .orig.tar.gz upstream source file could be generated using this +"upstream-*" branch in the Debian git repository but it is actually +copied from upstream tarballs directly. + +Due to X.org being highly modular, packaging all X.org applications +as their own independent packages would have created too many Debian +packages. For this reason, some X.org applications have been grouped +into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils, +x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils. +Most packages, including the X.org server itself and all libraries +and drivers are, however maintained independently. + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source. + +quilt is actually invoked by the Debian X packaging through a larger +set of scripts called XSFBS. XSFBS brings some other X specific +features such as managing dependencies and conflicts due to the video +and input driver ABIs. +XSFBS itself is maintained in a separate repository at + git://git.debian.org/pkg-xorg/xsfbs.git +and it is pulled inside the other Debian X repositories when needed. + +The XSFBS patching system requires a build dependency on quilt. Also +a dependency on $(STAMP_DIR)/patch has to be added to debian/rules +so that the XSFBS patching occurs before the actual build. So the +very first target of the build (likely the one running autoreconf) +should depend on $(STAMP_DIR)/patch. It should also not depend on +anything so that parallel builds are correctly supported (nothing +should probably run while patching is being done). And finally, the +clean target should depend on the xsfclean target so that patches +are unapplied on clean. + +When the upstream sources contain some DFSG-nonfree files, they are +listed in text files in debian/prune/ in the "debian-*" branch of +the Debian repository. XSFBS' scripts then take care of removing +these listed files during the build so as to generate a modified +DFSG-free .orig.tar.gz tarball. --- libx11-1.4.99.1.orig/debian/libx11-data.install +++ libx11-1.4.99.1/debian/libx11-data.install @@ -0,0 +1,3 @@ +usr/share/X11/locale +usr/share/X11/XErrorDB +usr/share/man/man5 --- libx11-1.4.99.1.orig/debian/changelog +++ libx11-1.4.99.1/debian/changelog @@ -0,0 +1,865 @@ +libx11 (2:1.4.99.1-0ubuntu2.3) precise-security; urgency=medium + + * SECURITY UPDATE: buffer overflow in MakeBigReq (LP: #1441381) + - debian/patches/makebigreq_overflow.patch: don't move the last word in + MakeBigReq in include/X11/Xlibint.h. + - CVE number pending + + -- Marc Deslauriers Wed, 08 Apr 2015 08:01:09 -0400 + +libx11 (2:1.4.99.1-0ubuntu2.2) precise; urgency=low + + * Rebuild against SRUed x11-proto-core (LP: #408903) + + -- Iain Lane Mon, 22 Jul 2013 11:09:59 +0100 + +libx11 (2:1.4.99.1-0ubuntu2.1) precise-security; urgency=low + + * SECURITY UPDATE: denial of service and possible code execution via + incorrect memory size calculations + - debian/patches/CVE-2013-1981.patch: fix multiple integer overflows. + - CVE-2013-1981 + * SECURITY UPDATE: denial of service and possible code execution via + incorrect length and bounds checking + - debian/patches/CVE-2013-1997.patch: properly calculate lengths. + - CVE-2013-1997 + * SECURITY UPDATE: denial of service and possible code execution via + stack overflow from recursive #include + - debian/patches/CVE-2013-2004.patch: set limit on depth. + - CVE-2013-2004 + * debian/patches/001_hide_xeatdatawords.diff: Hide _XEatDataWords by + default. + + -- Marc Deslauriers Wed, 29 May 2013 16:20:21 -0400 + +libx11 (2:1.4.99.1-0ubuntu2) precise; urgency=low + + * No change rebuild. Previous package was built with a version of gcc + that had memory initialization bug 871083. + (LP: #928090, #931758) + + -- Bryce Harrington Tue, 28 Feb 2012 11:36:58 -0800 + +libx11 (2:1.4.99.1-0ubuntu1) precise; urgency=low + + * New upstream release. + * Refreshed 006_tailor_pt_BR.UTF-8_Compose.diff + * Add _XGetRequest to symbols + + -- Chase Douglas Wed, 21 Dec 2011 18:20:16 -0800 + +libx11 (2:1.4.4-5) UNRELEASED; urgency=low + + * Move xorg-sgml-doctools dependency from -dev to -doc. + * Move libx11-doc from section libdevel to doc (closes: #648706). + + -- Julien Cristau Fri, 11 Nov 2011 20:38:39 +0100 + +libx11 (2:1.4.4-4) unstable; urgency=low + + * debian/rules: since the documentation is moved to libx11-doc, the + exception handling for libx11-xcb-dev needs to also look at libx11-doc, + not libx11-dev. + + -- Steve Langasek Fri, 11 Nov 2011 06:51:51 -0800 + +libx11 (2:1.4.4-3) unstable; urgency=low + + * Split documentation out from libx11-dev into a separate libx11-doc + package, so that libx11-dev can be multiarch co-installable. + + -- Steve Langasek Wed, 09 Nov 2011 12:13:26 -0800 + +libx11 (2:1.4.4-2) unstable; urgency=low + + [ Colin Watson ] + * Fix cross-compilation breakage due to a typo in the multiarch patch + (closes: #642402) + + -- Julien Cristau Thu, 22 Sep 2011 17:42:39 +0200 + +libx11 (2:1.4.4-1) unstable; urgency=low + + * New upstream release. + * Drop xorg.css from libx11-dev, depend on xorg-sgml-doctools instead. + + -- Julien Cristau Sat, 30 Jul 2011 22:14:56 +0200 + +libx11 (2:1.4.3-3) unstable; urgency=low + + [ Julien Cristau ] + * Add lintian override for the libx11-private dep in libx11-6.symbols. + + [ Cyril Brulebois ] + * Fix the FTBFS on s390x (Closes: #635692): Add s390x to the list of + 64-bit architectures in the symbols file. Thanks, Aurélien Jarno! + + -- Cyril Brulebois Thu, 28 Jul 2011 15:08:36 +0200 + +libx11 (2:1.4.3-2) unstable; urgency=low + + * Team upload. + + [ Steve Langasek ] + * Build for multiarch. + + [ Julien Cristau ] + * Bump Standards-Version to 3.9.2. + * Properly clean up libtool m4 files. + + -- Julien Cristau Sat, 11 Jun 2011 14:06:01 +0200 + +libx11 (2:1.4.3-1) unstable; urgency=low + + * New upstream release: + - Add Sinhala support. + - Add Docbook external references support. + * Bump x11proto-core-dev build-dep to make defining XK_SINHALA useful. + * Bump xutils-dev build-dep for newer macros. + + -- Cyril Brulebois Tue, 05 Apr 2011 23:42:05 +0200 + +libx11 (2:1.4.2-1) unstable; urgency=low + + [ Timo Aaltonen ] + * New upstream release. (closes: #463159) + + [ Cyril Brulebois ] + * Bump x11proto-xf86bigfont-dev build-dep. + + -- Cyril Brulebois Sat, 26 Mar 2011 00:36:43 +0100 + +libx11 (2:1.4.1-5) unstable; urgency=low + + * Mark x11-data Multi-Arch: foreign. + + -- Steve Langasek Mon, 21 Feb 2011 20:01:35 -0800 + +libx11 (2:1.4.1-4) unstable; urgency=low + + * Bump Standards-Version to 3.9.1. + * specs were converted from groff to xml, so we can ship the html version + now. + * Drop Build-Dependencies on groff/ghostscript/... since the docs were + converted to xml. + + -- Julien Cristau Mon, 07 Feb 2011 12:36:09 +0100 + +libx11 (2:1.4.1-3) unstable; urgency=low + + * Remove David Nusinow and Brice Goglin from Uploaders. Thanks for all your + work! + * Drop Conflicts on sarge-era xlibs-data, Replaces on sarge-era libx11-6, + Pre-Depends on x11-common (needed for upgrades from sarge), and Conflicts + against pre-XCB libx11-6. + * Wrap debian/control Depends fields. + * Upload to unstable. + + -- Julien Cristau Sun, 06 Feb 2011 22:42:28 +0100 + +libx11 (2:1.4.1-2) experimental; urgency=low + + * Make libx11-data break earlier versions of libx11-6, since those rely + on XKeysymDB, resulting in a non-functional keyboard and plenty of + such messages: “Internal error: Could not resolve keysym *”. + + -- Cyril Brulebois Tue, 18 Jan 2011 18:47:22 +0100 + +libx11 (2:1.4.1-1) experimental; urgency=low + + [ Julien Cristau ] + * New upstream release. + - lots of fixes for multithreaded apps + - X11 users can now compose anarchism (closes: #555938) + + [ Robert Hooker ] + * New upstream release. + * Don't install unshipped XKeysymDB. + * Bump xutils-dev build-dep to 1:7.5+5 for util-macros 1.11 requirement. + + [ Cyril Brulebois ] + * New new (new) upstream release. + * As a temporary measure, add 020_keep_xorg_css.diff to avoid having to + depend on xorg-sgml-doctools just for xorg.css. + * Refresh all patches. + * Some functions got hidden by upstream in aebbf36238, since “none of + the functions in Xprivate.h should have any callers outside of Xlib, + by definition”. As a consequence, drop the following symbols from + libx11-6.symbols: + - _XIDHandler@Base + - _XSetPrivSyncFunction@Base + - _XSetSeqSyncFunction@Base + * Drop obsolete --enable-man-pages=3 from configure flags. + * Pass --with-xmlto and --without-fop for the documentation generation. + * Add xmlto, xorg-sgml-doctools, w3m build-dep accordingly. + * Remove *.xml before running dh_install, there's no point in shipping + those files. + * Update debian/copyright from upstream COPYING. + + -- Cyril Brulebois Thu, 13 Jan 2011 01:18:40 +0100 + +libx11 (2:1.3.3-3) unstable; urgency=low + + [ Julien Cristau ] + * Drop manpage from libx11-6-udeb. + * Don't install X11 locale data in the udeb. The installer uses only gtk + apps so this is useless (and big). + + [ Cyril Brulebois ] + * Cherry-pick patch from upstream to run user's synchandlers as well as + any internal synchandlers: 75ea8c3793. This fixes xnee issues when + RECORD extension is enabled (Closes: #536491; LP: #378648). + * Merge xsfbs/debian-unstable to fix double autoreconf runs. + + -- Cyril Brulebois Tue, 13 Apr 2010 14:46:16 +0200 + +libx11 (2:1.3.3-2) unstable; urgency=low + + [ Julien Cristau ] + * Update debian/copyright from upstream COPYING. + * Remove myself from Uploaders + + [ Brice Goglin ] + * Remove Jamey Sharp and Josh Triplett from Uploaders, closes: #568274. + + [ Cyril Brulebois ] + * Add udeb needed for the graphical installer: libx11-6-udeb. + * Bump the B-D on libxcb1-dev to ensure libx11-6-udeb gets a dependency + on libxcb1-udeb. + * Bump Standards-Version from 3.8.3 to 3.8.4 (no changes needed). + * Add myself to Uploaders. + + -- Cyril Brulebois Thu, 11 Mar 2010 01:06:06 +0100 + +libx11 (2:1.3.3-1) unstable; urgency=low + + * xtrans has been fixed to not make us export a weak in6addr_any. Adjust + libx11-6.symbols accordingly (closes: #560648). + * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no + good reason. Thanks, Colin Watson! + * Update symbols file for sparc64 (closes: #560400). Thanks, Aurélien + Jarno! + * New upstream release + + fix XCopyGC argument order in manpage (LP: #408337) + * Bump xutils-dev build-dep for new util-macros. + * Install the Compose man page in libx11-data. + * Rediff patches 003_recognize_glibc_2.3.2_locale_names.diff, + 007_iso8859-15_Compose_fix.diff, 008_remove_ko_Compose.diff, + 009_remove_th_Compose.diff, 015_russian_locale_alias.diff. + * libx11-6.symbols: add xlocaledir, made non-static in 1.3.3. + + -- Julien Cristau Sat, 16 Jan 2010 22:47:32 +0000 + +libx11 (2:1.3.2-1) unstable; urgency=low + + [ Julien Cristau ] + * libx11-6.symbols: _XkbReadBufferCopy32, _XkbReadCopyData32 and + _XkbWriteCopyData32 are only present on 64-bit architectures. + * Unmark the following symbols as private, they're being used: + - _XRegisterFilterByMask + - _XRegisterFilterByType + - _XUnregisterFilter + - _XInitKeysymDB + - _Xevent_to_mask + * Build the Xlib specs and install them in libx11-dev. + * Upload to unstable. + + [ Timo Aaltonen ] + * New upstream release. + * Bump the build-dep on xutils-dev (>= 1:7.5~1). + + -- Julien Cristau Mon, 23 Nov 2009 20:50:03 +0100 + +libx11 (2:1.3-1) experimental; urgency=low + + * libx11-6.symbols: mark some more stuff as private. + * libx11-6.symbols: add kfreebsd-amd64 tag for 64-bit symbols. + * Run dpkg-gensymbols with -c4 to catch mismatches between the symbols file + and the library. + * New upstream release. + * Cherry-pick patch from upstream git to avoid an error in configure due to + underquoting. + * Fix 006_tailor_pt_BR.UTF-8_Compose.diff to apply on new upstream. + * Bump Standards-Version to 3.8.3. + + -- Julien Cristau Mon, 12 Oct 2009 15:28:23 +0200 + +libx11 (2:1.2.99.901-1) experimental; urgency=low + + [ Brice Goglin ] + * Bump Standards-Version to 3.8.2. + + [ Julien Cristau ] + * Drop 002_arm_abi_brain_damage.diff, the old ABI arm port is gone. + * Use a glob in libx11-6.install and libx11-xcb1.install. + * Add tentative symbols file for libX11.so.6. Many private symbols still + included. + * Build-depend on dpkg 1.15.3, to get support for tags in the symbols file. + * New upstream release candidate + + add {left,right}wards arrow to en_US.UTF-8 compose table + (closes: #532117). Thanks, Filippo Giunchedi! + + -- Julien Cristau Wed, 05 Aug 2009 17:04:28 +0200 + +libx11 (2:1.2.2-1) unstable; urgency=low + + [ Julien Cristau ] + * Move dbg packages to new debug section. + * Kill preinst which handled upgrades from early Ubuntu versions (before + breezy). This is long obsolete. + + [ Brice Goglin ] + * New upstream release. + + Fix fi_FI.UTF-8, closes: #519474. + + Fix thai XIM filtering keys when NumLock/CapsLock is on, closes: #443800. + * Add myself to Uploaders. + + -- Brice Goglin Sun, 19 Jul 2009 19:21:16 +0200 + +libx11 (2:1.2.1-1) unstable; urgency=low + + * New upstream release. + + fixes fi_FI.UTF-8 locale (closes: #519474) + + adds sr_RS locale (closes: #507940) + + adds hu_HU.utf8 locale alias (closes: #407573) + + Compose entries for some standard mathematical operators + (closes: #411734) + * Patch 012_ru_RU_UTF-8_XLC_LOCALE.diff removed, applied upstream. + * Update patches 003_recognize_glibc_2.3.2_locale_names.diff, + 006_tailor_pt_BR.UTF-8_Compose.diff and 015_russian_locale_alias.diff. + * 003_recognize_glibc_2.3.2_locale_names.diff: don't comment out the + microsoft-cp* entries from compose.dir (closes: #511354). Thanks, Sergei + Golovan! + * 003_recognize_glibc_2.3.2_locale_names.diff: don't comment out the eo_XX + entries from compose.dir and locale.dir (closes: #479058). Thanks, Luiz + Portella! + * 009_remove_th_Compose.diff: new patch, comment out the th_TH.UTF-8 entry + from compose.dir, to allow Thai XIM as default for X apps + (closes: #520509). Thanks, Theppitak Karoonboonyanan! + + -- Julien Cristau Wed, 08 Apr 2009 12:31:21 +0100 + +libx11 (2:1.2-1) unstable; urgency=low + + * New upstream release. + * Remove obsolete ld.so.conf handling from libx11-6 postinst. + * Run autoreconf on build; add build-deps on automake, libtool, xutils-dev. + * Handle parallel builds. + * Refresh patches 003_recognize_glibc_2.3.2_locale_names.diff and + 012_ru_RU_UTF-8_XLC_LOCALE.diff. + * Use a wildcard for usr/share/X11/locale instead of listing every single + file. + + -- Julien Cristau Mon, 09 Mar 2009 16:36:09 +0100 + +libx11 (2:1.1.99.2-1) experimental; urgency=low + + * New upstream release. + * Use new xcb socket handoff mechanism, update (build-)dependencies. + * Refresh patches. + * Build-dep on x11proto-core-dev >= 7.0.13. + + -- Julien Cristau Mon, 01 Dec 2008 22:37:28 +0100 + +libx11 (2:1.1.5-2) unstable; urgency=medium + + * Cherry-picked from upstream git: Fix an XCB leak when the client has a + non-fatal error handler. + + -- Julien Cristau Thu, 25 Sep 2008 17:45:25 +0200 + +libx11 (2:1.1.5-1) unstable; urgency=low + + [ Brice Goglin ] + * Add upstream URL to debian/copyright. + * Add a link to www.X.org and a reference to the upstream module + in the long description. + + [ Timo Aaltonen ] + * New upstream release. + + adds missing Compose sequences (closes: #394068) + + [ Julien Cristau ] + * 014_add_Khmer_digraphs.diff: remove, applied upstream + * 006_tailor_pt_BR.UTF-8_Compose.diff: update + + -- Julien Cristau Sun, 14 Sep 2008 19:09:33 +0200 + +libx11 (2:1.1.4-2) unstable; urgency=low + + * Drop Pre-Depends on x11-common from libx11-6, libx11-data and libx11-xcb1. + * Pull from upstream libX11-1.1-branch + + fixes Compose sequences for finnish keyboards (closes: #467142) + + interrobang has been added to the en_US.UTF-8 Compose file + (closes: #300160) + * Update patch 006_tailor_pt_BR.UTF-8_Compose.diff, refresh others. + * Drop the NEWS entry about sun java. sun-java6 is now fixed, and libxcb + doesn't abort() anymore on the locking error. + * (Finally) upload Xlib/XCB to unstable. + + -- Julien Cristau Mon, 09 Jun 2008 16:27:23 +0200 + +libx11 (2:1.1.4-1) experimental; urgency=low + + [ Timo Aaltonen ] + * control: libx11-data Replaces old versions of libx11-6 to enable + upgrades from Ubuntu 6.06. + + [ Julien Cristau ] + * New upstream release + + fixes XIM hang when switching input contexts (closes: #437437) + * Update patch stack: + + 003_recognize_glibc_2.3.2_locale_names.diff: fixup; drop the hunk + under #ifdef WIN32, as I don't care enough to fix it + + 004_en_US.UTF-8_Compose_fix_Unicode_plane_1.diff: remove, applied + upstream + + 005_Compose_fix_latin1_UTF8.diff: remove, applied upstream + + 006_tailor_pt_BR.UTF-8_Compose.diff: fixup + + 007_iso8859-15_Compose_fix.diff: refresh + + 008_remove_ko_Compose.diff: refresh + + 009_iso8859-15_Compose_Eurosign.diff: remove, applied upstream + + 012_ru_RU_UTF-8_XLC_LOCALE.diff: refresh + + 014_add_Khmer_digraphs.diff: fixup + + 015_russian_locale_alias.diff: refresh + * Bump Standards-Version to 3.7.3 (no changes). + * Drop XS- prefix from Vcs-* control fields. + * Fix malformed trailer line in libx11-6.NEWS (thanks, lintian). + + -- Julien Cristau Sat, 08 Mar 2008 03:13:07 +0100 + +libx11 (2:1.1.3-1) experimental; urgency=low + + [ Julien Cristau ] + * New upstream release. + + Fix locking in _XimGetWindowEventmask (closes: #427296). + + fix XGetMotionEvents arguments order (closes: #431421). + + XGetCommand(3) clarified (closes: #133348). + + XrmCombineDatabase(3) fixed (closes: #393434). + * Install the upstream NEWS file in libx11-6 in addition to the git + changelog. + * Use binary:Version instead of Source-Version in debian/control. + + [ Josh Triplett ] + * Expand the description of the problem with Sun Java in libx11-6.NEWS. + + -- Julien Cristau Thu, 02 Aug 2007 04:13:46 +0200 + +libx11 (2:1.1.2-1) experimental; urgency=low + + [ Brice Goglin ] + * Drop -DLIBXCURSOR from CFLAGS since upstream default is now correct + (closes: #392618). + * Add en_DK.ISO-8859-15 to 003_recognize_glibc_2.3.2_locale_names.diff + Thanks Kaare Hviid. (closes: #419192). + + [ Julien Cristau ] + * Add XS-Vcs-Git and XS-Vcs-Browser in debian/control. + * New upstream release: + + typo in XRecolorCursor.man fixed, closes: #225839; + + XRegisterIMInstantiateCallback manpage fixed, closes: #232133; + + XGetVisualInfo manpage fixed, closes: 399094; + + greek Compose file updated, patch 016_greek_polytonic_Compose.diff + dropped; + + file descriptor leak in modules/im/ximcp/imLcPrs.c:parseline() fixed, + patch 021_compose_fclose.diff dropped; + + fix for CVE-2007-1667 included, patch 022_CVE-2007-1667.diff dropped. + * Add a watch file. + * Don't run dh_install with --list-missing in binary-indep, there are too + many false positives for it to be useful. + * Document workarounds for sun-java5-bin and sun-java6-bin in libx11-6.NEWS. + * Strip all packages, not just the shared libs. + + -- Julien Cristau Wed, 06 Jun 2007 04:46:09 +0200 + +libx11 (2:1.1.1-1) experimental; urgency=low + + [ Michel Dänzer ] + * libx11-dev Depends: libxcb-xlib0-dev, because x11.pc references xcb-xlib + (closes: #410117). + + [ Julien Cristau ] + * New upstream release. + * Install upstream ChangeLog. + * libx11-dev doesn't seem to need to depend on libxext-dev + (closes: #366676). + * Use dh_installman in debian/rules to replace ".so" links with symlinks. + + -- Julien Cristau Fri, 9 Feb 2007 01:17:05 +0100 + +libx11 (2:1.1-2) experimental; urgency=low + + [ Josh Triplett ] + * Include some upstream post-1.1 fixes in debian/patches: + * "Bug #9153: Fix access to freed memory." + * "Bug #9154: Always process an event for _XReadEvents, even if an error + occurs"; fixes an assertion failure, first observed with xcompmgr. + * "Debian bug #354315: Clarify return value in XGetWindowAttributes man + page" (closes: 354315) + * Fix override discrepancies: library packages go in libs, -dbg and -dev + packages go in libdevel. Fix for both the libx11 packages and the new + libx11-xcb packages. + + -- Josh Triplett Sat, 25 Nov 2006 14:37:58 -0800 + +libx11 (2:1.1-1) experimental; urgency=low + + [ Josh Triplett, Jamey Sharp ] + * New upstream version. + * Add ourselves to Uploaders. + * Forward-port patches: + * 001_no_xkb_in_pc_file.diff: update + * 003_recognize_glibc_2.3.2_locale_names.diff: update + * 004_en_US.UTF-8_Compose_fix_Unicode_plane_1.diff: update + * 005_Compose_fix_latin1_UTF8.diff: update + * 010_manpage_suffixes.diff: delete, applied upstream + * 012_ru_RU_UTF-8_XLC_LOCALE.diff: update + * 014_add_Khmer_digraphs.diff: update + * 015_russian_locale_alias.diff: update + * 016_greek_polytonic_Compose.diff: update + * 019_new_autoconf.diff: delete, applied upstream + * 020_CVE-2006-5397.diff: delete, applied upstream + * Stop registering /usr/X11R6/lib in /etc/ld.so.conf in the postinst; + instead, deregister it if no libraries remain in it. Remove deregistration + in postrm, and remove now-unnecessary postrm. + * Add Build-Depends on libxcb1-dev >= 0.9.92 and libxcb-xlib0-dev >= 0.9.92. + * Remove Build-Depends not needed with Xlib/XCB: bigreqsproto, xcmiscproto, + libxau-dev, and libxdmcp-dev. + * libx11-dev has some unnecessary Depends, but other packages currently rely + on them, so removal will wait until a later version. + * Add library, -dev, and -dbg packages for new library libX11-xcb. Modify + rules to handle these new packages. + * libX11-xcb Conflicts: libx11-6 (<< 2:1.1), since it requires a version with + Xlib/XCB. + * Add a NEWS.Debian to libx11-6, with Xlib/XCB information. + * Add XS-Vcs-Git field. + * Remove old upstream CVS information from package descriptions. + * Reword package descriptions to stop calling Xlib "the" client interface. + + -- Josh Triplett Fri, 24 Nov 2006 17:36:55 -0800 + +libx11 (2:1.0.3-7) unstable; urgency=high + + * Grab patch from upstream git to fix CVE-2007-1667 (the patch included in + 2:1.0.3-6 was incomplete). This closes: #414045. + + -- Julien Cristau Tue, 03 Apr 2007 18:45:51 +0200 + +libx11 (2:1.0.3-6) unstable; urgency=high + + * Add patch by Daniel Kobras to add more input + validation to XInitImage(), to fix security issues (closes: #414045). + + -- Julien Cristau Fri, 9 Mar 2007 02:23:06 +0100 + +libx11 (2:1.0.3-5) unstable; urgency=high + + * Remove /usr/X11R6/lib from /etc/ld.so.conf in postinst if it's no longer + needed, instead of adding it there. + * Add patch 021_compose_fclose.diff to fix file descriptor leak when a + Compose file uses the "include" directive. Urgency high because this bug + can have security implications. + * Add myself to Uploaders, and remove Fabio and Branden with their + permission. + + -- Julien Cristau Thu, 1 Feb 2007 13:09:20 +0100 + +libx11 (2:1.0.3-4) unstable; urgency=low + + * Some patches got lost in the upgrade from 1.0.0 (2:1.0.0-9) to 1.0.3: + - 015_russian_locale_alias.diff. Closes: #368655. + This aligns with the glibc russian definition of ru_RU.KOI8-R in + /usr/share/locale/locale.alias. Note that this only applies to + Debian's glibc, see bug #62586 and glibc 2.2.5-4. Because of the + constraint implosed by glibc in /usr/share/i18n/locales/ru_RU, + we cannot likewise change ru and ru_RU away from ISO8859-5. + They really should be using ru_RU.UTF-8 anyway. + - 016_greek_polytonic_Compose.diff. Closes: #386471. + - 017_FTBFS_makekeys.diff can be left out since it is applied in 1.0.3. + + -- Drew Parsons Wed, 22 Nov 2006 00:26:36 +1100 + +libx11 (2:1.0.3-3) unstable; urgency=high + + [ Julien Cristau ] + * Urgency high for security bugfix (CVE-2006-5397). + * Add patch 020_CVE-2006-5397 to fix double fopen() of compose file + (closes: #398460). Thanks to Stefan Fritsch for the report. + + -- David Nusinow Tue, 14 Nov 2006 19:56:01 -0500 + +libx11 (2:1.0.3-2) unstable; urgency=low + + [ Denis Barbier ] + * Drop --enable-loadable-i18n from confflags, it does not work with 1.0.3. + Closes: #392567 Thanks Jérôme Marant + + -- David Nusinow Fri, 13 Oct 2006 13:25:59 -0400 + +libx11 (2:1.0.3-1) unstable; urgency=low + + [ David Nusinow ] + * New upstream release + * Dump obsolete patch 10 for manpage fix and 13 for setuid fix + * Run dh_install with --list-missing + * Remove obsolete patch 011 + * Bump debhelper compat to 5 + * Upstream fix allows building in gnu environments. Thanks Samuel + Thibault, Robert Millan, and Michael Banck. Closes: #358708 + * Add 019_new_autoconf.diff to allow us to not break the server in + horrendous ways using newer versions of autoconf. Thanks to Jamey Sharp + for pointing this patch out in upstream HEAD. + * Add 010_manpage_suffixes.diff to dynamically generate the internal manpage + section using __libmansuffix__ the same way the actual file suffix is + generated, so that they match and lintian becomes useful again here + * Add pre-depends on x11-common for the -dev package + + [ Denis Barbier ] + * Sync patches: + - 003_recognize_glibc_2.3.2_locale_names.diff + - 005_Compose_fix_latin1_UTF8.diff + - 006_tailor_pt_BR.UTF-8_Compose.diff + - 014_add_Khmer_digraphs.diff + * Add 014_add_Khmer_digraphs.diff. Khmer keyboards have to generate + several characters with a single keystroke, so define them in + en_US.UTF-8/Compose. They will be added later to all UTF-8 files. + Thanks Paul Wise. (closes: #355957) + * Add support for Khmer locale in 003_recognize_glibc_2.3.2_locale_names.diff + + [ Andres Salomon ] + * Test for obj-$(DEB_BUILD_GNU_TYPE) before creating it during build; + idempotency fix. + + [ Drew Parsons ] + * dbg package has priority extra. + + -- David Nusinow Tue, 10 Oct 2006 22:34:36 -0400 + +libx11 (2:1.0.0-9) unstable; urgency=low + + * Add 015_russian_locale_alias.diff. Locale alias for russian was incorrect, + it should be ru_RU.KOI8-R as in glibc locale.alias. Thanks Andrei Lahun. + (closes: #368655) + * Add 016_greek_polytonic_Compose.diff. Add compose sequences with the + right breathing signs U0313/U0314 to el_GR.UTF-8/Compose. + Thanks Jan Willem Stumpel. (closes: #386471) + * Add 017_FTBFS_makekeys.diff. Fix a FTBFS when compiling with + x11proto-core-dev >= 7.0.3, backported from upstream. + Thanks Goswin von Brederlow. (closes: #387133) + + -- Denis Barbier Thu, 14 Sep 2006 01:35:19 +0200 + +libx11 (2:1.0.0-8) unstable; urgency=low + + * Add 18_nonlinux.diff to fix building in gnu environments. Thanks Samuel + Thibault, Robert Millan, and Michael Banck. Closes: #358708 + + -- David Nusinow Wed, 27 Sep 2006 21:07:10 -0400 + +libx11 (2:1.0.0-7) unstable; urgency=high + + * Security update. Fix for setuid privledge escalation vulernabilities. + See http://lists.freedesktop.org/archives/xorg/2006-June/016146.html for + the full advisory. + * Bump standards version to 3.7.2.0 + + -- David Nusinow Sat, 1 Jul 2006 17:05:07 -0400 + +libx11 (2:1.0.0-6) unstable; urgency=low + + * Remove libx11-dev's dependencies on libxi-dev and libxkbfile-dev. Add a + dependency on x11proto-input-dev instead. This should break some circular + dependencies. Thanks go yet again to Kurt Roeckx. + + -- David Nusinow Tue, 11 Apr 2006 18:17:46 -0400 + +libx11 (2:1.0.0-5) unstable; urgency=low + + * Upload to unstable + + -- David Nusinow Thu, 23 Mar 2006 22:44:26 -0500 + +libx11 (2:1.0.0-4) experimental; urgency=low + + [ David Nusinow ] + * Remove libx11-dev versioned dependency on libxext-dev. This was preventing + bootstrapping of libxext. Thanks Eugene Konev. + + [ Denis Barbier ] + * Add Build-Depends: x11proto-input-dev, quilt. Thanks Kurt Roeckx. + (Closes: #356918). + + -- David Nusinow Tue, 21 Mar 2006 19:55:58 -0500 + +libx11 (2:1.0.0-3) experimental; urgency=low + + [ David Nusinow ] + * Stop using the xsfbs autoreconf script. The main beneft of using quilt in + keeping the patches separate is for submitting things upstream and porting + our changes between upstream releases. Keeping the automatically generated + build system stuff in patches also doesn't fall under this use category. + * Make libx11-6 conflict with xlibs-data. Thanks Kurt Roeckx. + (closes: #356415) + + -- David Nusinow Sun, 12 Mar 2006 14:00:31 -0500 + +libx11 (2:1.0.0-2) experimental; urgency=low + + [ David Nusinow ] + * Properly install all the contents of /usr/lib/X11/locale. Thanks Zephenia + E. Hull. + * Provide versioned build-depends on the X libs. Thanks Kurt Roeckx. + (closes: #354161) + * Provide libx11-dev dependencies on libxdmcp-dev. + Thanks Kurt Roeckx. (closes: #354167) + * Add a bunch of depends to libx11-dev from the monolith. Thanks Eugene + Konev for the pointer. + * Add 001_no_xkb_in_pc_file.diff because we don't need x11proto-input-dev. + Thanks Eugene Konev. + + [ Eugene Konev ] + * Move locale data in separate libx11-data package. Make libx11-6 depend + on it. + * libx11-6.install.in? Huh? Replaced with libx11-6.install + * Add real binary-indep. + * Add patches from 6.9: + - 002_arm_abi_brain_damage.diff + - 003_recognize_glibc_2.3.2_locale_names.diff + - 004_en_US.UTF-8_Compose_fix_Unicode_plane_1.diff + - 005_Compose_fix_latin1_UTF8.diff + - 006_tailor_pt_BR.UTF-8_Compose.diff + - 007_iso8859-15_Compose_fix.diff + - 008_remove_ko_Compose.diff + - 009_iso8859-15_Compose_Eurosign.diff + - 012_ru_RU_UTF-8_XLC_LOCALE.diff + * Adjust Pre-depends for libx11-6. Remove depends on x11-common from + libx11-dbg and libx11-dev as they depend on libx11-6 anyway. + * Run dh_install with --fail-missing if there is checkinstall in + DEB_BUILD_OPTIONS + * Resurrect libx11-6.post{inst,rm}.in. Add genscripts to build target's + dependencies. + * Fix libx11-6.preinst.in to include shelllib and define appropriate vars. + * Grab fixes for manpages section from Xorg CVS + - 010_manpages_fix.diff + * Grab ubuntu patch to support XLOCALELIBDIR separate from XLOCALEDIR + - 011_stolen_from_ubuntu_xlocalelibdir.diff + * Add --enable-loadable-i18n to confflags. + * Use new xsfbs-autoreconf.mk to do autoreconfing. + + -- Eugene Konev Mon, 27 Feb 2006 13:45:29 +0700 + +libx11 (2:1.0.0-1) experimental; urgency=low + + * First upload to Debian + * Remove versioned build-dep on x11proto-core-dev, since the first package + we'll be uploading will be versioned properly for us + * Remove patch dir as the patch has been incorporated by upstream + + -- David Nusinow Thu, 29 Dec 2005 20:51:20 -0500 + +libx11 (1:6.2.1+cvs.20050722-8) breezy; urgency=low + + * Fix non-UTF-8 locales by fixing generation of compose.dir, locale.alias, + and locale.dir in nls/ (closes: Ubuntu#13724). + + -- Daniel Stone Fri, 30 Sep 2005 16:30:55 +1000 + +libx11 (1:6.2.1+cvs.20050722-7) breezy; urgency=low + + * Move man pages back to section 3 (closes: Ubuntu#16290). + + -- Daniel Stone Thu, 29 Sep 2005 11:26:11 +1000 + +libx11 (1:6.2.1+cvs.20050722-6) breezy; urgency=low + + * Add libx11-dev Build-Depends on x11proto-kb-dev, so we get XKBstr.h, which + makes XKBlib.h usable. + * Add foo_t and TRANS_CLIENT defines to Xtrans users; thanks Isaac Richards + for the catch (closes: Ubuntu#12052). + + -- Daniel Stone Fri, 19 Aug 2005 15:19:33 +1000 + +libx11 (1:6.2.1+cvs.20050722-5) breezy; urgency=low + + * Add x-common Pre-Depends to libx11-6, as we ship stuff in + /usr/lib/X11. + + -- Daniel Stone Thu, 18 Aug 2005 12:12:45 +1000 + +libx11 (1:6.2.1+cvs.20050722-4) breezy; urgency=low + + * Fix search path for libXcursor. + * Add :s to compose.dir to get composition working in apps which use the + default X input method (closes: Ubuntu#12184). + + -- Daniel Stone Mon, 8 Aug 2005 13:32:12 +1000 + +libx11 (1:6.2.1+cvs.20050722-3) breezy; urgency=low + + * Make ErrDes.c and StrKeysym.c look for XKEYSYMDB and XERRORDB, not + KEYSYMDB and ERRORDB, with the pleasant side-effect that they look + directly in /usr/share/X11, not /usr/lib/X11, so we can throw the cheesy + symlinks away. This fixes some corner cases in hoary upgrades. + + -- Daniel Stone Mon, 1 Aug 2005 13:17:15 +1000 + +libx11 (1:6.2.1+cvs.20050722-2) breezy; urgency=low + + * Move locale data back to /usr/share and libraries to /usr/lib. XlcDL.c + and lcFile.c hacked to accommodate this, as well as configure.ac. This + fixes all the locale problems, AFAICT. (closes: Ubuntu#12142) + + -- Daniel Stone Tue, 26 Jul 2005 23:00:21 +1000 + +libx11 (1:6.2.1+cvs.20050722-1) breezy; urgency=low + + * Fix locales harder: add the old loadable locale modules back. + * Although architecture-independent locale data has been moved to + /usr/lib/X11/locale because of limitations in the path-parsing code. + Argh! + * Bump Build-Depends on x11proto-core-dev to today's CVS; -D_XOPEN_SOURCE + begone! + + -- Daniel Stone Fri, 22 Jul 2005 22:29:21 +1000 + +libx11 (1:6.2.1+cvs.20050711-1) breezy; urgency=low + + * New CVS snapshot, incorporating patch #086 from the monolith. + + -- Daniel Stone Mon, 11 Jul 2005 10:10:44 +1000 + +libx11 (1:6.2.1+cvs.20050615-5) breezy; urgency=low + + * Bump libx11-6 -> xlibs-data Conflicts/Replaces to -34; Tollef's -33 did + not change this. + + -- Daniel Stone Tue, 5 Jul 2005 01:41:19 +1000 + +libx11 (1:6.2.1+cvs.20050615-4) breezy; urgency=low + + * Make Build-Depends and Depends on x11proto-core-dev explicitly >= + 6.8.99.8-1 (hi LaMont!). + * Add symlinks to X{Error,KeySym}DB from /usr/{X11R6/,}lib/X11. Bump + Conflicts on xlibs-data up to -33. Add symlinks to locale data in + /usr/{X11R6,}lib/X11 (closes: Ubuntu#12081). + + -- Daniel Stone Fri, 17 Jun 2005 15:58:44 +1000 + +libx11 (1:6.2.1+cvs.20050615-3) breezy; urgency=low + + * Add missing build-depends on: + - pkg-config, x11proto-kb-dev, x11proto-input-dev + + -- Adam Conrad Thu, 16 Jun 2005 13:50:14 +0000 + +libx11 (1:6.2.1+cvs.20050615-2) breezy; urgency=low + + * Move Build-Depends-Indep to Build-Depends to fix FTBFSs. + + -- Adam Conrad Thu, 16 Jun 2005 08:53:59 +0000 + +libx11 (1:6.2.1+cvs.20050615-1) breezy; urgency=low + + * First libx11 release. + + XCB support removed for now. + + -- Daniel Stone Mon, 16 May 2005 22:10:17 +1000 --- libx11-1.4.99.1.orig/debian/libx11-6.NEWS +++ libx11-1.4.99.1/debian/libx11-6.NEWS @@ -0,0 +1,32 @@ +libx11 (2:1.1-1) experimental; urgency=low + + [ Josh Triplett, Jamey Sharp ] + libx11 1.1 includes our work on Xlib/XCB, which uses XCB as the Xlib + transport layer, and allows a client to use both Xlib and XCB on the + same connection. This allows clients to transition from Xlib to XCB + incrementally. libx11-6 1.1 is API- and ABI-compatible with previous + versions, and does not require any software or package changes. + + Ideally, you will not notice any + change at all. However, Xlib/XCB includes some additional + code to check for bugs in calling software. If you encounter a problem, you + will most likely just see an application disappear, due to having triggered + an assertion and aborted. If you ran the application from a terminal, you + can look there to see error output and get more details; otherwise, look at + ~/.xsession-errors. These assertions look like one of these: + + xcb_xlib.c:41: xcb_xlib_lock: Assertion `!c->xlib.lock' failed. + xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed. + + Both of these represent bugs in a caller of libX11, and *not* in + libX11 or libxcb. The first assertion means that a caller attempted + to lock the display while already locked. The second assertion means + that a caller attempted to unlock the display without having it + locked. If you encounter such bugs, please report a bug against the + offending software (*not* libx11-6 or libxcb), provide a backtrace, + and X-Debbugs-CC: xcb@lists.freedesktop.org if you need help tracking + down the problem. If the bug always consistently occurs when running + the application (or in the case of a library, invoking the library), + use severity "important", and raise to "grave" after the etch release. + + -- Josh Triplett Fri, 24 Nov 2006 17:36:55 -0800 --- libx11-1.4.99.1.orig/debian/compat +++ libx11-1.4.99.1/debian/compat @@ -0,0 +1 @@ +5 --- libx11-1.4.99.1.orig/debian/libx11-dev.install +++ libx11-1.4.99.1/debian/libx11-dev.install @@ -0,0 +1,4 @@ +usr/include/X11/* +usr/lib/*/libX11.a +usr/lib/*/libX11.so +usr/lib/*/pkgconfig/x11.pc --- libx11-1.4.99.1.orig/debian/copyright +++ libx11-1.4.99.1/debian/copyright @@ -0,0 +1,944 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/lib/ + +The following is the 'standard copyright' agreed upon by most contributors, +and is currently the canonical license preferred by the X.Org Foundation. +This is a slight variant of the common MIT license form published by the +Open Source Initiative at http://www.opensource.org/licenses/mit-license.php + +Copyright holders of new code should use this license statement where +possible, and insert their name to this list. Please sort by surname +for people, and by the full name for other entities (e.g. Juliusz +Chroboczek sorts before Intel Corporation sorts before Daniel Stone). + +See each individual source file or directory for the license that applies +to that file. + +Copyright (C) 2003-2006,2008 Jamey Sharp, Josh Triplett +Copyright © 2009 Red Hat, Inc. +Copyright 1990-1992,1999,2000,2004,2009,2010 Oracle and/or its affiliates. +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + ---------------------------------------------------------------------- + +The following licenses are 'legacy' - usually MIT/X11 licenses with the name +of the copyright holder(s) in the license statement: + +Copyright 1984-1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +X Window System is a trademark of The Open Group. + + ---------------------------------------- + +Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium +Copyright 2000 The XFree86 Project, Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from the X Consortium. + +Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 by +Digital Equipment Corporation + +Portions Copyright 1990, 1991 by Tektronix, Inc. + +Permission to use, copy, modify and distribute this documentation for +any purpose and without fee is hereby granted, provided that the above +copyright notice appears in all copies and that both that copyright notice +and this permission notice appear in all copies, and that the names of +Digital and Tektronix not be used in in advertising or publicity pertaining +to this documentation without specific, written prior permission. +Digital and Tektronix makes no representations about the suitability +of this documentation for any purpose. +It is provided ``as is'' without express or implied warranty. + + ---------------------------------------- + +Copyright (c) 1999-2000 Free Software Foundation, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FREE SOFTWARE FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the Free Software Foundation +shall not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization from the +Free Software Foundation. + + ---------------------------------------- + +Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc. + All Rights Reserved + +This file is a component of an X Window System-specific implementation +of Xcms based on the TekColor Color Management System. TekColor is a +trademark of Tektronix, Inc. The term "TekHVC" designates a particular +color space that is the subject of U.S. Patent No. 4,985,853 (equivalent +foreign patents pending). Permission is hereby granted to use, copy, +modify, sell, and otherwise distribute this software and its +documentation for any purpose and without fee, provided that: + +1. This copyright, permission, and disclaimer notice is reproduced in + all copies of this software and any modification thereof and in + supporting documentation; +2. Any color-handling application which displays TekHVC color + cooordinates identifies these as TekHVC color coordinates in any + interface that displays these coordinates and in any associated + documentation; +3. The term "TekHVC" is always used, and is only used, in association + with the mathematical derivations of the TekHVC Color Space, + including those provided in this file and any equivalent pathways and + mathematical derivations, regardless of digital (e.g., floating point + or integer) representation. + +Tektronix makes no representation about the suitability of this software +for any purpose. It is provided "as is" and with all faults. + +TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE, +INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +(c) Copyright 1995 FUJITSU LIMITED +This is source code modified by FUJITSU LIMITED under the Joint +Development Agreement for the CDE/Motif PST. + + ---------------------------------------- + +Copyright 1992 by Oki Technosystems Laboratory, Inc. +Copyright 1992 by Fuji Xerox Co., Ltd. + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of Oki Technosystems +Laboratory and Fuji Xerox not be used in advertising or publicity +pertaining to distribution of the software without specific, written +prior permission. +Oki Technosystems Laboratory and Fuji Xerox make no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +OKI TECHNOSYSTEMS LABORATORY AND FUJI XEROX DISCLAIM ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL OKI TECHNOSYSTEMS +LABORATORY AND FUJI XEROX BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE +OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1990, 1991, 1992, 1993, 1994 by FUJITSU LIMITED + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of FUJITSU LIMITED +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +FUJITSU LIMITED makes no representations about the suitability of +this software for any purpose. +It is provided "as is" without express or implied warranty. + +FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + + +Copyright (c) 1995 David E. Wexelblat. All rights reserved + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL DAVID E. WEXELBLAT BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of David E. Wexelblat shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from David E. Wexelblat. + + ---------------------------------------- + +Copyright 1990, 1991 by OMRON Corporation + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name OMRON not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. OMRON makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 by +Digital Equipment Corporation + +Portions Copyright 1990, 1991 by Tektronix, Inc + +Rewritten for X.org by Chris Lee + +Permission to use, copy, modify, distribute, and sell this documentation +for any purpose and without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +Chris Lee makes no representations about the suitability for any purpose +of the information in this document. It is provided \`\`as-is'' without +express or implied warranty. + + ---------------------------------------- + +Copyright 1993 by Digital Equipment Corporation, Maynard, Massachusetts, +Copyright 1994 by FUJITSU LIMITED +Copyright 1994 by Sony Corporation + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital, FUJITSU +LIMITED and Sony Corporation not be used in advertising or publicity +pertaining to distribution of the software without specific, written +prior permission. + +DIGITAL, FUJITSU LIMITED AND SONY CORPORATION DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL, FUJITSU LIMITED +AND SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + + +Copyright 1991 by the Open Software Foundation + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Open Software Foundation +not be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. Open Software +Foundation makes no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +OPEN SOFTWARE FOUNDATION DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL OPEN SOFTWARE FOUNDATIONN BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1990, 1991, 1992,1993, 1994 by FUJITSU LIMITED +Copyright 1993, 1994 by Sony Corporation + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of FUJITSU LIMITED and Sony Corporation +not be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. FUJITSU LIMITED and +Sony Corporation makes no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +FUJITSU LIMITED AND SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL FUJITSU LIMITED OR SONY CORPORATION BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +USE OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright (c) 1993, 1995 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1991, 1992, 1993, 1994 by FUJITSU LIMITED +Copyright 1993 by Digital Equipment Corporation + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of FUJITSU LIMITED and +Digital Equipment Corporation not be used in advertising or publicity +pertaining to distribution of the software without specific, written +prior permission. FUJITSU LIMITED and Digital Equipment Corporation +makes no representations about the suitability of this software for +any purpose. It is provided "as is" without express or implied +warranty. + +FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR +ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1992, 1993 by FUJITSU LIMITED +Copyright 1993 by Fujitsu Open Systems Solutions, Inc. +Copyright 1994 by Sony Corporation + +Permission to use, copy, modify, distribute and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of FUJITSU LIMITED, +Fujitsu Open Systems Solutions, Inc. and Sony Corporation not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. +FUJITSU LIMITED, Fujitsu Open Systems Solutions, Inc. and +Sony Corporation make no representations about the suitability of +this software for any purpose. It is provided "as is" without +express or implied warranty. + +FUJITSU LIMITED, FUJITSU OPEN SYSTEMS SOLUTIONS, INC. AND SONY +CORPORATION DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, +IN NO EVENT SHALL FUJITSU OPEN SYSTEMS SOLUTIONS, INC., FUJITSU LIMITED +AND SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE +OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1987, 1988, 1990, 1993 by Digital Equipment Corporation, +Maynard, Massachusetts, + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + ---------------------------------------- + +Copyright 1993 by SunSoft, Inc. +Copyright 1999-2000 by Bruno Haible + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the names of SunSoft, Inc. and +Bruno Haible not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. SunSoft, Inc. and Bruno Haible make no representations +about the suitability of this software for any purpose. It is +provided "as is" without express or implied warranty. + +SunSoft Inc. AND Bruno Haible DISCLAIM ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL SunSoft, Inc. OR Bruno Haible BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1991 by the Open Software Foundation +Copyright 1993 by the TOSHIBA Corp. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Open Software Foundation and TOSHIBA +not be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. Open Software +Foundation and TOSHIBA make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +OPEN SOFTWARE FOUNDATION AND TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL OPEN SOFTWARE FOUNDATIONN OR TOSHIBA BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1988 by Wyse Technology, Inc., San Jose, Ca., + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name Wyse not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +WYSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + ---------------------------------------- + + +Copyright 1991 by the Open Software Foundation +Copyright 1993, 1994 by the Sony Corporation + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Open Software Foundation and +Sony Corporation not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +Open Software Foundation and Sony Corporation make no +representations about the suitability of this software for any purpose. +It is provided "as is" without express or implied warranty. + +OPEN SOFTWARE FOUNDATION AND SONY CORPORATION DISCLAIM ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL OPEN +SOFTWARE FOUNDATIONN OR SONY CORPORATION BE LIABLE FOR ANY SPECIAL, +INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1992, 1993 by FUJITSU LIMITED +Copyright 1993 by Fujitsu Open Systems Solutions, Inc. + +Permission to use, copy, modify, distribute and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of FUJITSU LIMITED and +Fujitsu Open Systems Solutions, Inc. not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. +FUJITSU LIMITED and Fujitsu Open Systems Solutions, Inc. makes no +representations about the suitability of this software for any purpose. +It is provided "as is" without express or implied warranty. + +FUJITSU LIMITED AND FUJITSU OPEN SYSTEMS SOLUTIONS, INC. DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL FUJITSU OPEN SYSTEMS +SOLUTIONS, INC. AND FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT +OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1993, 1994 by Sony Corporation + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of Sony Corporation +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Sony Corporation makes no representations about the suitability of +this software for any purpose. It is provided "as is" without +express or implied warranty. + +SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1986, 1998 The Open Group +Copyright (c) 2000 The XFree86 Project, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +X CONSORTIUM OR THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the X Consortium or of the +XFree86 Project shall not be used in advertising or otherwise to promote the +sale, use or other dealings in this Software without prior written +authorization from the X Consortium and the XFree86 Project. + + ---------------------------------------- + +Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation, + and Nippon Telegraph and Telephone Corporation +Copyright 1991 by the Open Software Foundation +Copyright 1993 by the FUJITSU LIMITED + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of OMRON, NTT Software, NTT, and +Open Software Foundation not be used in advertising or publicity +pertaining to distribution of the software without specific, +written prior permission. OMRON, NTT Software, NTT, and Open Software +Foundation make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +OMRON, NTT SOFTWARE, NTT, AND OPEN SOFTWARE FOUNDATION +DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT +SHALL OMRON, NTT SOFTWARE, NTT, OR OPEN SOFTWARE FOUNDATION BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 1988 by Wyse Technology, Inc., San Jose, Ca, +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL AND WYSE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL DIGITAL OR WYSE BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + + +Copyright 1991, 1992 by Fuji Xerox Co., Ltd. +Copyright 1992, 1993, 1994 by FUJITSU LIMITED + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of Fuji Xerox, +FUJITSU LIMITED not be used in advertising or publicity pertaining +to distribution of the software without specific, written prior +permission. Fuji Xerox, FUJITSU LIMITED make no representations +about the suitability of this software for any purpose. +It is provided "as is" without express or implied warranty. + +FUJI XEROX, FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL FUJI XEROX, +FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA +OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 2006 Josh Triplett + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + ---------------------------------------- + +(c) Copyright 1996 by Sebastien Marineau and Holger Veit + + + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +HOLGER VEIT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of Sebastien Marineau or Holger Veit +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Holger Veit or +Sebastien Marineau. + + ---------------------------------------- + +Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation, + and Nippon Telegraph and Telephone Corporation +Copyright 1991 by the Open Software Foundation +Copyright 1993 by the TOSHIBA Corp. +Copyright 1993, 1994 by Sony Corporation +Copyright 1993, 1994 by the FUJITSU LIMITED + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of OMRON, NTT Software, NTT, Open +Software Foundation, and Sony Corporation not be used in advertising +or publicity pertaining to distribution of the software without specific, +written prior permission. OMRON, NTT Software, NTT, Open Software +Foundation, and Sony Corporation make no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. + +OMRON, NTT SOFTWARE, NTT, OPEN SOFTWARE FOUNDATION, AND SONY +CORPORATION DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT +SHALL OMRON, NTT SOFTWARE, NTT, OPEN SOFTWARE FOUNDATION, OR SONY +CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright 2000 by Bruno Haible + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of Bruno Haible not +be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. Bruno Haible +makes no representations about the suitability of this software for +any purpose. It is provided "as is" without express or implied +warranty. + +Bruno Haible DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN +NO EVENT SHALL Bruno Haible BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE +OR PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright © 2003 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Keith Packard not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Keith Packard makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------- + +Copyright (c) 2007-2009, Troy D. Hanson +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + ---------------------------------------- + +Copyright 1992, 1993 by TOSHIBA Corp. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of TOSHIBA not be used in advertising +or publicity pertaining to distribution of the software without specific, +written prior permission. TOSHIBA make no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. + +TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +TOSHIBA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + + ---------------------------------------- + +Copyright IBM Corporation 1993 + +All Rights Reserved + +License to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of IBM not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS, AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS, IN NO EVENT SHALL +IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + ---------------------------------------- + +Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation, + and Nippon Telegraph and Telephone Corporation + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of OMRON, NTT Software, and NTT +not be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. OMRON, NTT Software, +and NTT make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +OMRON, NTT SOFTWARE, AND NTT, DISCLAIM ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL OMRON, NTT SOFTWARE, OR NTT, BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --- libx11-1.4.99.1.orig/debian/watch +++ libx11-1.4.99.1/debian/watch @@ -0,0 +1,3 @@ +#git=git://anongit.freedesktop.org/xorg/lib/libX11 +version=3 +http://xorg.freedesktop.org/releases/individual/lib/ libX11-(.*)\.tar\.gz --- libx11-1.4.99.1.orig/debian/libx11-xcb-dev.install +++ libx11-1.4.99.1/debian/libx11-xcb-dev.install @@ -0,0 +1,6 @@ +usr/include/X11/Xlib-xcb.h +usr/share/man/man3/XGetXCBConnection.3 +usr/share/man/man3/XSetEventQueueOwner.3 +usr/lib/*/libX11-xcb.a +usr/lib/*/libX11-xcb.so +usr/lib/*/pkgconfig/x11-xcb.pc --- libx11-1.4.99.1.orig/debian/libx11-6.lintian-overrides +++ libx11-1.4.99.1/debian/libx11-6.lintian-overrides @@ -0,0 +1 @@ +symbols-declares-dependency-on-other-package libx11-private --- libx11-1.4.99.1.orig/debian/libx11-6.symbols +++ libx11-1.4.99.1/debian/libx11-6.symbols @@ -0,0 +1,1234 @@ +libX11.so.6 libx11-6 #MINVER# +| libx11-private + (optional)KeySymToUcs4@Base 0 1 + XActivateScreenSaver@Base 0 + XAddConnectionWatch@Base 0 + XAddExtension@Base 0 + XAddHost@Base 0 + XAddHosts@Base 0 + XAddPixel@Base 0 + XAddToExtensionList@Base 0 + XAddToSaveSet@Base 0 + XAllPlanes@Base 0 + XAllocClassHint@Base 0 + XAllocColor@Base 0 + XAllocColorCells@Base 0 + XAllocColorPlanes@Base 0 + XAllocIconSize@Base 0 + XAllocNamedColor@Base 0 + XAllocSizeHints@Base 0 + XAllocStandardColormap@Base 0 + XAllocWMHints@Base 0 + XAllowEvents@Base 0 + XAutoRepeatOff@Base 0 + XAutoRepeatOn@Base 0 + XBaseFontNameListOfFontSet@Base 0 + XBell@Base 0 + XBitmapBitOrder@Base 0 + XBitmapPad@Base 0 + XBitmapUnit@Base 0 + XBlackPixel@Base 0 + XBlackPixelOfScreen@Base 0 + XCellsOfScreen@Base 0 + XChangeActivePointerGrab@Base 0 + XChangeGC@Base 0 + XChangeKeyboardControl@Base 0 + XChangeKeyboardMapping@Base 0 + XChangePointerControl@Base 0 + XChangeProperty@Base 0 + XChangeSaveSet@Base 0 + XChangeWindowAttributes@Base 0 + XCheckIfEvent@Base 0 + XCheckMaskEvent@Base 0 + XCheckTypedEvent@Base 0 + XCheckTypedWindowEvent@Base 0 + XCheckWindowEvent@Base 0 + XCirculateSubwindows@Base 0 + XCirculateSubwindowsDown@Base 0 + XCirculateSubwindowsUp@Base 0 + XClearArea@Base 0 + XClearWindow@Base 0 + XClipBox@Base 0 + XCloseDisplay@Base 0 + XCloseIM@Base 0 + XCloseOM@Base 0 + XConfigureWindow@Base 0 + XConnectionNumber@Base 0 + XContextDependentDrawing@Base 0 + XContextualDrawing@Base 0 + XConvertCase@Base 0 + XConvertSelection@Base 0 + XCopyArea@Base 0 + XCopyColormapAndFree@Base 0 + XCopyGC@Base 0 + XCopyPlane@Base 0 + XCreateBitmapFromData@Base 0 + XCreateColormap@Base 0 + XCreateFontCursor@Base 0 + XCreateFontSet@Base 0 + XCreateGC@Base 0 + XCreateGlyphCursor@Base 0 + XCreateIC@Base 0 + XCreateImage@Base 0 + XCreateOC@Base 0 + XCreatePixmap@Base 0 + XCreatePixmapCursor@Base 0 + XCreatePixmapFromBitmapData@Base 0 + XCreateRegion@Base 0 + XCreateSimpleWindow@Base 0 + XCreateWindow@Base 0 + XDefaultColormap@Base 0 + XDefaultColormapOfScreen@Base 0 + XDefaultDepth@Base 0 + XDefaultDepthOfScreen@Base 0 + XDefaultGC@Base 0 + XDefaultGCOfScreen@Base 0 + XDefaultRootWindow@Base 0 + XDefaultScreen@Base 0 + XDefaultScreenOfDisplay@Base 0 + XDefaultString@Base 0 + XDefaultVisual@Base 0 + XDefaultVisualOfScreen@Base 0 + XDefineCursor@Base 0 + XDeleteContext@Base 0 + XDeleteModifiermapEntry@Base 0 + XDeleteProperty@Base 0 + XDestroyIC@Base 0 + XDestroyImage@Base 0 + XDestroyOC@Base 0 + XDestroyRegion@Base 0 + XDestroySubwindows@Base 0 + XDestroyWindow@Base 0 + XDirectionalDependentDrawing@Base 0 + XDisableAccessControl@Base 0 + XDisplayCells@Base 0 + XDisplayHeight@Base 0 + XDisplayHeightMM@Base 0 + XDisplayKeycodes@Base 0 + XDisplayMotionBufferSize@Base 0 + XDisplayName@Base 0 + XDisplayOfIM@Base 0 + XDisplayOfOM@Base 0 + XDisplayOfScreen@Base 0 + XDisplayPlanes@Base 0 + XDisplayString@Base 0 + XDisplayWidth@Base 0 + XDisplayWidthMM@Base 0 + XDoesBackingStore@Base 0 + XDoesSaveUnders@Base 0 + XDrawArc@Base 0 + XDrawArcs@Base 0 + XDrawImageString16@Base 0 + XDrawImageString@Base 0 + XDrawLine@Base 0 + XDrawLines@Base 0 + XDrawPoint@Base 0 + XDrawPoints@Base 0 + XDrawRectangle@Base 0 + XDrawRectangles@Base 0 + XDrawSegments@Base 0 + XDrawString16@Base 0 + XDrawString@Base 0 + XDrawText16@Base 0 + XDrawText@Base 0 + XEHeadOfExtensionList@Base 0 + XESetBeforeFlush@Base 0 + XESetCloseDisplay@Base 0 + XESetCopyEventCookie@Base 2:1.2.99.901 + XESetCopyGC@Base 0 + XESetCreateFont@Base 0 + XESetCreateGC@Base 0 + XESetError@Base 0 + XESetErrorString@Base 0 + XESetEventToWire@Base 0 + XESetFlushGC@Base 0 + XESetFreeFont@Base 0 + XESetFreeGC@Base 0 + XESetPrintErrorValues@Base 0 + XESetWireToError@Base 0 + XESetWireToEvent@Base 0 + XESetWireToEventCookie@Base 2:1.2.99.901 + XEmptyRegion@Base 0 + XEnableAccessControl@Base 0 + XEqualRegion@Base 0 + XEventMaskOfScreen@Base 0 + XEventsQueued@Base 0 + XExtendedMaxRequestSize@Base 0 + XExtentsOfFontSet@Base 0 + XFetchBuffer@Base 0 + XFetchBytes@Base 0 + XFetchName@Base 0 + XFillArc@Base 0 + XFillArcs@Base 0 + XFillPolygon@Base 0 + XFillRectangle@Base 0 + XFillRectangles@Base 0 + XFilterEvent@Base 0 + XFindContext@Base 0 + XFindOnExtensionList@Base 0 + XFlush@Base 0 + XFlushGC@Base 0 + XFontsOfFontSet@Base 0 + XForceScreenSaver@Base 0 + XFree@Base 0 + XFreeColormap@Base 0 + XFreeColors@Base 0 + XFreeCursor@Base 0 + XFreeEventData@Base 2:1.2.99.901 + XFreeExtensionList@Base 0 + XFreeFont@Base 0 + XFreeFontInfo@Base 0 + XFreeFontNames@Base 0 + XFreeFontPath@Base 0 + XFreeFontSet@Base 0 + XFreeGC@Base 0 + XFreeModifiermap@Base 0 + XFreePixmap@Base 0 + XFreeStringList@Base 0 + XGContextFromGC@Base 0 + XGeometry@Base 0 + XGetAtomName@Base 0 + XGetAtomNames@Base 0 + XGetClassHint@Base 0 + XGetCommand@Base 0 + XGetDefault@Base 0 + XGetErrorDatabaseText@Base 0 + XGetErrorText@Base 0 + XGetEventData@Base 2:1.2.99.901 + XGetFontPath@Base 0 + XGetFontProperty@Base 0 + XGetGCValues@Base 0 + XGetGeometry@Base 0 + XGetICValues@Base 0 + XGetIMValues@Base 0 + XGetIconName@Base 0 + XGetIconSizes@Base 0 + XGetImage@Base 0 + XGetInputFocus@Base 0 + XGetKeyboardControl@Base 0 + XGetKeyboardMapping@Base 0 + XGetModifierMapping@Base 0 + XGetMotionEvents@Base 0 + XGetNormalHints@Base 0 + XGetOCValues@Base 0 + XGetOMValues@Base 0 + XGetPixel@Base 0 + XGetPointerControl@Base 0 + XGetPointerMapping@Base 0 + XGetRGBColormaps@Base 0 + XGetScreenSaver@Base 0 + XGetSelectionOwner@Base 0 + XGetSizeHints@Base 0 + XGetStandardColormap@Base 0 + XGetSubImage@Base 0 + XGetTextProperty@Base 0 + XGetTransientForHint@Base 0 + XGetVisualInfo@Base 0 + XGetWMClientMachine@Base 0 + XGetWMColormapWindows@Base 0 + XGetWMHints@Base 0 + XGetWMIconName@Base 0 + XGetWMName@Base 0 + XGetWMNormalHints@Base 0 + XGetWMProtocols@Base 0 + XGetWMSizeHints@Base 0 + XGetWindowAttributes@Base 0 + XGetWindowProperty@Base 0 + XGetZoomHints@Base 0 + XGrabButton@Base 0 + XGrabKey@Base 0 + XGrabKeyboard@Base 0 + XGrabPointer@Base 0 + XGrabServer@Base 0 + XHeightMMOfScreen@Base 0 + XHeightOfScreen@Base 0 + XIMOfIC@Base 0 + XIconifyWindow@Base 0 + XIfEvent@Base 0 + XImageByteOrder@Base 0 + XInitExtension@Base 0 + XInitImage@Base 0 + XInitThreads@Base 0 + XInsertModifiermapEntry@Base 0 + XInstallColormap@Base 0 + XInternAtom@Base 0 + XInternAtoms@Base 0 + XInternalConnectionNumbers@Base 0 + XIntersectRegion@Base 0 + XKeycodeToKeysym@Base 0 + XKeysymToKeycode@Base 0 + XKeysymToString@Base 0 + XKillClient@Base 0 + XLastKnownRequestProcessed@Base 0 + XListDepths@Base 0 + XListExtensions@Base 0 + XListFonts@Base 0 + XListFontsWithInfo@Base 0 + XListHosts@Base 0 + XListInstalledColormaps@Base 0 + XListPixmapFormats@Base 0 + XListProperties@Base 0 + XLoadFont@Base 0 + XLoadQueryFont@Base 0 + XLocaleOfFontSet@Base 0 + XLocaleOfIM@Base 0 + XLocaleOfOM@Base 0 + XLockDisplay@Base 0 + XLookupColor@Base 0 + XLookupKeysym@Base 0 + XLookupString@Base 0 + XLowerWindow@Base 0 + XMapRaised@Base 0 + XMapSubwindows@Base 0 + XMapWindow@Base 0 + XMaskEvent@Base 0 + XMatchVisualInfo@Base 0 + XMaxCmapsOfScreen@Base 0 + XMaxRequestSize@Base 0 + XMinCmapsOfScreen@Base 0 + XMoveResizeWindow@Base 0 + XMoveWindow@Base 0 + XNewModifiermap@Base 0 + XNextEvent@Base 0 + XNextRequest@Base 0 + XNoOp@Base 0 + XOMOfOC@Base 0 + XOffsetRegion@Base 0 + XOpenDisplay@Base 0 + XOpenIM@Base 0 + XOpenOM@Base 0 + XParseColor@Base 0 + XParseGeometry@Base 0 + XPeekEvent@Base 0 + XPeekIfEvent@Base 0 + XPending@Base 0 + XPlanesOfScreen@Base 0 + XPointInRegion@Base 0 + XPolygonRegion@Base 0 + XProcessInternalConnection@Base 0 + XProtocolRevision@Base 0 + XProtocolVersion@Base 0 + XPutBackEvent@Base 0 + XPutImage@Base 0 + XPutPixel@Base 0 + XQLength@Base 0 + XQueryBestCursor@Base 0 + XQueryBestSize@Base 0 + XQueryBestStipple@Base 0 + XQueryBestTile@Base 0 + XQueryColor@Base 0 + XQueryColors@Base 0 + XQueryExtension@Base 0 + XQueryFont@Base 0 + XQueryKeymap@Base 0 + XQueryPointer@Base 0 + XQueryTextExtents16@Base 0 + XQueryTextExtents@Base 0 + XQueryTree@Base 0 + XRaiseWindow@Base 0 + XReadBitmapFile@Base 0 + XReadBitmapFileData@Base 0 + XRebindKeysym@Base 0 + XRecolorCursor@Base 0 + XReconfigureWMWindow@Base 0 + XRectInRegion@Base 0 + XRefreshKeyboardMapping@Base 0 + XRegisterIMInstantiateCallback@Base 0 + XRemoveConnectionWatch@Base 0 + XRemoveFromSaveSet@Base 0 + XRemoveHost@Base 0 + XRemoveHosts@Base 0 + XReparentWindow@Base 0 + XResetScreenSaver@Base 0 + XResizeWindow@Base 0 + XResourceManagerString@Base 0 + XRestackWindows@Base 0 + XRootWindow@Base 0 + XRootWindowOfScreen@Base 0 + XRotateBuffers@Base 0 + XRotateWindowProperties@Base 0 + XSaveContext@Base 0 + XScreenCount@Base 0 + XScreenNumberOfScreen@Base 0 + XScreenOfDisplay@Base 0 + XScreenResourceString@Base 0 + XSelectInput@Base 0 + XSendEvent@Base 0 + XServerVendor@Base 0 + XSetAccessControl@Base 0 + XSetAfterFunction@Base 0 + XSetArcMode@Base 0 + XSetAuthorization@Base 0 + XSetBackground@Base 0 + XSetClassHint@Base 0 + XSetClipMask@Base 0 + XSetClipOrigin@Base 0 + XSetClipRectangles@Base 0 + XSetCloseDownMode@Base 0 + XSetCommand@Base 0 + XSetDashes@Base 0 + XSetErrorHandler@Base 0 + XSetFillRule@Base 0 + XSetFillStyle@Base 0 + XSetFont@Base 0 + XSetFontPath@Base 0 + XSetForeground@Base 0 + XSetFunction@Base 0 + XSetGraphicsExposures@Base 0 + XSetICFocus@Base 0 + XSetICValues@Base 0 + XSetIMValues@Base 0 + XSetIOErrorHandler@Base 0 + XSetIconName@Base 0 + XSetIconSizes@Base 0 + XSetInputFocus@Base 0 + XSetLineAttributes@Base 0 + XSetLocaleModifiers@Base 0 + XSetModifierMapping@Base 0 + XSetNormalHints@Base 0 + XSetOCValues@Base 0 + XSetOMValues@Base 0 + XSetPlaneMask@Base 0 + XSetPointerMapping@Base 0 + XSetRGBColormaps@Base 0 + XSetRegion@Base 0 + XSetScreenSaver@Base 0 + XSetSelectionOwner@Base 0 + XSetSizeHints@Base 0 + XSetStandardColormap@Base 0 + XSetStandardProperties@Base 0 + XSetState@Base 0 + XSetStipple@Base 0 + XSetSubwindowMode@Base 0 + XSetTSOrigin@Base 0 + XSetTextProperty@Base 0 + XSetTile@Base 0 + XSetTransientForHint@Base 0 + XSetWMClientMachine@Base 0 + XSetWMColormapWindows@Base 0 + XSetWMHints@Base 0 + XSetWMIconName@Base 0 + XSetWMName@Base 0 + XSetWMNormalHints@Base 0 + XSetWMProperties@Base 0 + XSetWMProtocols@Base 0 + XSetWMSizeHints@Base 0 + XSetWindowBackground@Base 0 + XSetWindowBackgroundPixmap@Base 0 + XSetWindowBorder@Base 0 + XSetWindowBorderPixmap@Base 0 + XSetWindowBorderWidth@Base 0 + XSetWindowColormap@Base 0 + XSetZoomHints@Base 0 + XShrinkRegion@Base 0 + XStoreBuffer@Base 0 + XStoreBytes@Base 0 + XStoreColor@Base 0 + XStoreColors@Base 0 + XStoreName@Base 0 + XStoreNamedColor@Base 0 + XStringListToTextProperty@Base 0 + XStringToKeysym@Base 0 + XSubImage@Base 0 + XSubtractRegion@Base 0 + XSupportsLocale@Base 0 + XSync@Base 0 + XSynchronize@Base 0 + XTextExtents16@Base 0 + XTextExtents@Base 0 + XTextPropertyToStringList@Base 0 + XTextWidth16@Base 0 + XTextWidth@Base 0 + XTranslateCoordinates@Base 0 + XUndefineCursor@Base 0 + XUngrabButton@Base 0 + XUngrabKey@Base 0 + XUngrabKeyboard@Base 0 + XUngrabPointer@Base 0 + XUngrabServer@Base 0 + XUninstallColormap@Base 0 + XUnionRectWithRegion@Base 0 + XUnionRegion@Base 0 + XUnloadFont@Base 0 + XUnlockDisplay@Base 0 + XUnmapSubwindows@Base 0 + XUnmapWindow@Base 0 + XUnregisterIMInstantiateCallback@Base 0 + XUnsetICFocus@Base 0 + XVaCreateNestedList@Base 0 + XVendorRelease@Base 0 + XVisualIDFromVisual@Base 0 + XWMGeometry@Base 0 + XWarpPointer@Base 0 + XWhitePixel@Base 0 + XWhitePixelOfScreen@Base 0 + XWidthMMOfScreen@Base 0 + XWidthOfScreen@Base 0 + XWindowEvent@Base 0 + XWithdrawWindow@Base 0 + XWriteBitmapFile@Base 0 + XXorRegion@Base 0 + XcmsAddColorSpace@Base 0 + XcmsAddFunctionSet@Base 0 + XcmsAllocColor@Base 0 + XcmsAllocNamedColor@Base 0 + XcmsCCCOfColormap@Base 0 + XcmsCIELabClipL@Base 0 + XcmsCIELabClipLab@Base 0 + XcmsCIELabClipab@Base 0 + (optional)XcmsCIELabColorSpace@Base 0 1 + XcmsCIELabQueryMaxC@Base 0 + XcmsCIELabQueryMaxL@Base 0 + XcmsCIELabQueryMaxLC@Base 0 + XcmsCIELabQueryMinL@Base 0 + XcmsCIELabToCIEXYZ@Base 0 + XcmsCIELabWhiteShiftColors@Base 0 + XcmsCIELuvClipL@Base 0 + XcmsCIELuvClipLuv@Base 0 + XcmsCIELuvClipuv@Base 0 + (optional)XcmsCIELuvColorSpace@Base 0 1 + XcmsCIELuvQueryMaxC@Base 0 + XcmsCIELuvQueryMaxL@Base 0 + XcmsCIELuvQueryMaxLC@Base 0 + XcmsCIELuvQueryMinL@Base 0 + XcmsCIELuvToCIEuvY@Base 0 + XcmsCIELuvWhiteShiftColors@Base 0 + (optional)XcmsCIEXYZColorSpace@Base 0 1 + XcmsCIEXYZToCIELab@Base 0 + XcmsCIEXYZToCIEuvY@Base 0 + XcmsCIEXYZToCIExyY@Base 0 + XcmsCIEXYZToRGBi@Base 0 + (optional)XcmsCIEuvYColorSpace@Base 0 1 + XcmsCIEuvYToCIELuv@Base 0 + XcmsCIEuvYToCIEXYZ@Base 0 + XcmsCIEuvYToTekHVC@Base 0 + (optional)XcmsCIExyYColorSpace@Base 0 1 + XcmsCIExyYToCIEXYZ@Base 0 + XcmsClientWhitePointOfCCC@Base 0 + XcmsConvertColors@Base 0 + XcmsCreateCCC@Base 0 + XcmsDefaultCCC@Base 0 + XcmsDisplayOfCCC@Base 0 + XcmsFormatOfPrefix@Base 0 + XcmsFreeCCC@Base 0 + (optional)XcmsLinearRGBFunctionSet@Base 0 1 + XcmsLookupColor@Base 0 + XcmsPrefixOfFormat@Base 0 + XcmsQueryBlack@Base 0 + XcmsQueryBlue@Base 0 + XcmsQueryColor@Base 0 + XcmsQueryColors@Base 0 + XcmsQueryGreen@Base 0 + XcmsQueryRed@Base 0 + XcmsQueryWhite@Base 0 + (optional)XcmsRGBColorSpace@Base 0 1 + XcmsRGBToRGBi@Base 0 + (optional)XcmsRGBiColorSpace@Base 0 1 + XcmsRGBiToCIEXYZ@Base 0 + XcmsRGBiToRGB@Base 0 + XcmsScreenNumberOfCCC@Base 0 + XcmsScreenWhitePointOfCCC@Base 0 + XcmsSetCCCOfColormap@Base 0 + XcmsSetCompressionProc@Base 0 + XcmsSetWhiteAdjustProc@Base 0 + XcmsSetWhitePoint@Base 0 + XcmsStoreColor@Base 0 + XcmsStoreColors@Base 0 + XcmsTekHVCClipC@Base 0 + XcmsTekHVCClipV@Base 0 + XcmsTekHVCClipVC@Base 0 + (optional)XcmsTekHVCColorSpace@Base 0 1 + XcmsTekHVCQueryMaxC@Base 0 + XcmsTekHVCQueryMaxV@Base 0 + XcmsTekHVCQueryMaxVC@Base 0 + XcmsTekHVCQueryMaxVSamples@Base 0 + XcmsTekHVCQueryMinV@Base 0 + XcmsTekHVCToCIEuvY@Base 0 + XcmsTekHVCWhiteShiftColors@Base 0 + (optional)XcmsUNDEFINEDColorSpace@Base 0 1 + XcmsVisualOfCCC@Base 0 + XkbAddDeviceLedInfo@Base 0 + XkbAddGeomColor@Base 0 + XkbAddGeomDoodad@Base 0 + XkbAddGeomKey@Base 0 + XkbAddGeomKeyAlias@Base 0 + XkbAddGeomOutline@Base 0 + XkbAddGeomOverlay@Base 0 + XkbAddGeomOverlayKey@Base 0 + XkbAddGeomOverlayRow@Base 0 + XkbAddGeomProperty@Base 0 + XkbAddGeomRow@Base 0 + XkbAddGeomSection@Base 0 + XkbAddGeomShape@Base 0 + XkbAddKeyType@Base 0 + XkbAllocClientMap@Base 0 + XkbAllocCompatMap@Base 0 + XkbAllocControls@Base 0 + XkbAllocDeviceInfo@Base 0 + XkbAllocGeomColors@Base 0 + XkbAllocGeomDoodads@Base 0 + XkbAllocGeomKeyAliases@Base 0 + XkbAllocGeomKeys@Base 0 + XkbAllocGeomOutlines@Base 0 + XkbAllocGeomOverlayKeys@Base 0 + XkbAllocGeomOverlayRows@Base 0 + XkbAllocGeomOverlays@Base 0 + XkbAllocGeomPoints@Base 0 + XkbAllocGeomProps@Base 0 + XkbAllocGeomRows@Base 0 + XkbAllocGeomSectionDoodads@Base 0 + XkbAllocGeomSections@Base 0 + XkbAllocGeomShapes@Base 0 + XkbAllocGeometry@Base 0 + XkbAllocIndicatorMaps@Base 0 + XkbAllocKeyboard@Base 0 + XkbAllocNames@Base 0 + XkbAllocServerMap@Base 0 + XkbApplyCompatMapToKey@Base 0 + XkbApplyVirtualModChanges@Base 0 + XkbBell@Base 0 + XkbBellEvent@Base 0 + XkbChangeDeviceInfo@Base 0 + XkbChangeEnabledControls@Base 0 + XkbChangeKeycodeRange@Base 0 + XkbChangeMap@Base 0 + XkbChangeNames@Base 0 + XkbChangeTypesOfKey@Base 0 + XkbComputeEffectiveMap@Base 0 + XkbComputeRowBounds@Base 0 + XkbComputeSectionBounds@Base 0 + XkbComputeShapeBounds@Base 0 + XkbComputeShapeTop@Base 0 + XkbCopyKeyType@Base 0 + XkbCopyKeyTypes@Base 0 + XkbDeviceBell@Base 0 + XkbDeviceBellEvent@Base 0 + XkbFindOverlayForKey@Base 0 + XkbForceBell@Base 0 + XkbForceDeviceBell@Base 0 + XkbFreeClientMap@Base 0 + XkbFreeCompatMap@Base 0 + XkbFreeComponentList@Base 0 + XkbFreeControls@Base 0 + XkbFreeDeviceInfo@Base 0 + XkbFreeGeomColors@Base 0 + XkbFreeGeomDoodads@Base 0 + XkbFreeGeomKeyAliases@Base 0 + XkbFreeGeomKeys@Base 0 + XkbFreeGeomOutlines@Base 0 + XkbFreeGeomOverlayKeys@Base 0 + XkbFreeGeomOverlayRows@Base 0 + XkbFreeGeomOverlays@Base 0 + XkbFreeGeomPoints@Base 0 + XkbFreeGeomProperties@Base 0 + XkbFreeGeomRows@Base 0 + XkbFreeGeomSections@Base 0 + XkbFreeGeomShapes@Base 0 + XkbFreeGeometry@Base 0 + XkbFreeIndicatorMaps@Base 0 + XkbFreeKeyboard@Base 0 + XkbFreeNames@Base 0 + XkbFreeServerMap@Base 0 + XkbGetAutoRepeatRate@Base 0 + XkbGetAutoResetControls@Base 0 + XkbGetCompatMap@Base 0 + XkbGetControls@Base 0 + XkbGetDetectableAutoRepeat@Base 0 + XkbGetDeviceButtonActions@Base 0 + XkbGetDeviceInfo@Base 0 + XkbGetDeviceInfoChanges@Base 0 + XkbGetDeviceLedInfo@Base 0 + XkbGetGeometry@Base 0 + XkbGetIndicatorMap@Base 0 + XkbGetIndicatorState@Base 0 + XkbGetKeyActions@Base 0 + XkbGetKeyBehaviors@Base 0 + XkbGetKeyExplicitComponents@Base 0 + XkbGetKeyModifierMap@Base 0 + XkbGetKeySyms@Base 0 + XkbGetKeyTypes@Base 0 + XkbGetKeyVirtualModMap@Base 0 + XkbGetKeyboard@Base 0 + XkbGetKeyboardByName@Base 0 + XkbGetMap@Base 0 + XkbGetMapChanges@Base 0 + XkbGetNamedDeviceIndicator@Base 0 + XkbGetNamedGeometry@Base 0 + XkbGetNamedIndicator@Base 0 + XkbGetNames@Base 0 + XkbGetPerClientControls@Base 0 + XkbGetState@Base 0 + XkbGetUpdatedMap@Base 0 + XkbGetVirtualMods@Base 0 + XkbGetXlibControls@Base 0 + XkbIgnoreExtension@Base 0 + XkbInitCanonicalKeyTypes@Base 0 + XkbKeyTypesForCoreSymbols@Base 0 + XkbKeycodeToKeysym@Base 0 + XkbKeysymToModifiers@Base 0 + XkbLatchGroup@Base 0 + XkbLatchModifiers@Base 0 + XkbLibraryVersion@Base 0 + XkbListComponents@Base 0 + XkbLockGroup@Base 0 + XkbLockModifiers@Base 0 + XkbLookupKeyBinding@Base 0 + XkbLookupKeySym@Base 0 + XkbNoteControlsChanges@Base 0 + XkbNoteDeviceChanges@Base 0 + XkbNoteMapChanges@Base 0 + XkbNoteNameChanges@Base 0 + XkbOpenDisplay@Base 0 + XkbQueryExtension@Base 0 + XkbRefreshKeyboardMapping@Base 0 + XkbResizeDeviceButtonActions@Base 0 + XkbResizeKeyActions@Base 0 + XkbResizeKeySyms@Base 0 + XkbResizeKeyType@Base 0 + XkbSelectEventDetails@Base 0 + XkbSelectEvents@Base 0 + XkbSetAtomFuncs@Base 0 + XkbSetAutoRepeatRate@Base 0 + XkbSetAutoResetControls@Base 0 + XkbSetCompatMap@Base 0 + XkbSetControls@Base 0 + XkbSetDebuggingFlags@Base 0 + XkbSetDetectableAutoRepeat@Base 0 + XkbSetDeviceButtonActions@Base 0 + XkbSetDeviceInfo@Base 0 + XkbSetDeviceLedInfo@Base 0 + XkbSetGeometry@Base 0 + XkbSetIgnoreLockMods@Base 0 + XkbSetIndicatorMap@Base 0 + XkbSetMap@Base 0 + XkbSetNamedDeviceIndicator@Base 0 + XkbSetNamedIndicator@Base 0 + XkbSetNames@Base 0 + XkbSetPerClientControls@Base 0 + XkbSetServerInternalMods@Base 0 + XkbSetXlibControls@Base 0 + XkbToControl@Base 0 + XkbTranslateKey@Base 0 + XkbTranslateKeyCode@Base 0 + XkbTranslateKeySym@Base 0 + XkbUpdateActionVirtualMods@Base 0 + XkbUpdateKeyTypeVirtualMods@Base 0 + XkbUpdateMapFromCore@Base 0 + XkbUseExtension@Base 0 + XkbVirtualModsToReal@Base 0 + XkbXlibControlsImplemented@Base 0 + XmbDrawImageString@Base 0 + XmbDrawString@Base 0 + XmbDrawText@Base 0 + XmbLookupString@Base 0 + XmbResetIC@Base 0 + XmbSetWMProperties@Base 0 + XmbTextEscapement@Base 0 + XmbTextExtents@Base 0 + XmbTextListToTextProperty@Base 0 + XmbTextPerCharExtents@Base 0 + XmbTextPropertyToTextList@Base 0 + Xpermalloc@Base 0 + XrmCombineDatabase@Base 0 + XrmCombineFileDatabase@Base 0 + XrmDestroyDatabase@Base 0 + XrmEnumerateDatabase@Base 0 + XrmGetDatabase@Base 0 + XrmGetFileDatabase@Base 0 + XrmGetResource@Base 0 + XrmGetStringDatabase@Base 0 + XrmInitialize@Base 0 + XrmLocaleOfDatabase@Base 0 + XrmMergeDatabases@Base 0 + XrmParseCommand@Base 0 + XrmPermStringToQuark@Base 0 + XrmPutFileDatabase@Base 0 + XrmPutLineResource@Base 0 + XrmPutResource@Base 0 + XrmPutStringResource@Base 0 + XrmQGetResource@Base 0 + XrmQGetSearchList@Base 0 + XrmQGetSearchResource@Base 0 + XrmQPutResource@Base 0 + XrmQPutStringResource@Base 0 + XrmQuarkToString@Base 0 + XrmSetDatabase@Base 0 + XrmStringToBindingQuarkList@Base 0 + XrmStringToQuark@Base 0 + XrmStringToQuarkList@Base 0 + XrmUniqueQuark@Base 0 + Xutf8DrawImageString@Base 0 + Xutf8DrawString@Base 0 + Xutf8DrawText@Base 0 + Xutf8LookupString@Base 0 + Xutf8ResetIC@Base 0 + Xutf8SetWMProperties@Base 0 + Xutf8TextEscapement@Base 0 + Xutf8TextExtents@Base 0 + Xutf8TextListToTextProperty@Base 0 + Xutf8TextPerCharExtents@Base 0 + Xutf8TextPropertyToTextList@Base 0 + XwcDrawImageString@Base 0 + XwcDrawString@Base 0 + XwcDrawText@Base 0 + XwcFreeStringList@Base 0 + XwcLookupString@Base 0 + XwcResetIC@Base 0 + XwcTextEscapement@Base 0 + XwcTextExtents@Base 0 + XwcTextListToTextProperty@Base 0 + XwcTextPerCharExtents@Base 0 + XwcTextPropertyToTextList@Base 0 + (optional)_Utf8GetConvByName@Base 0 1 + _XAllocID@Base 0 + _XAllocIDs@Base 0 + _XAllocScratch@Base 0 + _XAllocTemp@Base 0 + _XAsyncErrorHandler@Base 0 + (optional)_XCloseLC@Base 0 1 + (optional)_XColor_to_XcmsRGB@Base 0 1 + (optional)_XConnectXCB@Base 0 1 + _XCopyEventCookie@Base 2:1.2.99.901 + (optional)_XCopyToArg@Base 0 1 + _XCreateMutex_fn@Base 0 + (arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XData32@Base 0 + _XDefaultError@Base 0 + _XDefaultIOError@Base 0 + (optional)_XDefaultOpenIM@Base 0 1 + (optional)_XDefaultOpenOM@Base 0 1 + _XDefaultWireError@Base 0 + _XDeq@Base 0 + _XDeqAsyncHandler@Base 0 + _XEatData@Base 0 + _XEnq@Base 0 + _XError@Base 0 + _XErrorFunction@Base 0 + _XEventToWire@Base 0 + _XEventsQueued@Base 0 + (optional)_XF86BigfontFreeFontMetrics@Base 0 1 + _XF86LoadQueryLocaleFont@Base 0 + _XFetchEventCookie@Base 2:1.2.99.901 + _XFlush@Base 0 + _XFlushGCCache@Base 0 + (optional)_XFreeAtomTable@Base 0 1 + (optional)_XFreeDisplayLock_fn@Base 0 1 + (optional)_XFreeDisplayStructure@Base 0 1 + _XFreeEventCookies@Base 2:1.2.99.901 + _XFreeExtData@Base 0 + _XFreeMutex_fn@Base 0 + _XFreeTemp@Base 0 + (optional)_XFreeX11XCBStructure@Base 0 1 + _XGetAsyncData@Base 0 + _XGetAsyncReply@Base 0 + _XGetBitsPerPixel@Base 0 + _XGetHostname@Base 0 + (optional)_XGetLCValues@Base 0 1 + _XGetRequest@Base 2:1.4.99.1 + _XGetScanlinePad@Base 0 + _XGetWindowAttributes@Base 0 + (optional)_XHeadOfDisplayList@Base 0 1 + (optional)_XIMCompileResourceList@Base 0 1 + _XIOError@Base 0 + _XIOErrorFunction@Base 0 + (optional)_XInitDisplayLock_fn@Base 0 1 + (optional)_XInitIM@Base 0 1 + _XInitImageFuncPtrs@Base 0 + _XInitKeysymDB@Base 0 + (optional)_XInitOM@Base 0 1 + _XIsEventCookie@Base 2:1.2.99.901 + (optional)_XKeyInitialize@Base 0 1 + (optional)_XKeycodeToKeysym@Base 0 1 + (optional)_XKeysymToKeycode@Base 0 1 + (optional)_XKeysymToModifiers@Base 0 1 + _XLockMutex_fn@Base 0 + (optional)_XLookupKeysym@Base 0 1 + (optional)_XLookupString@Base 0 1 + (optional)_XNoticeCreateBitmap@Base 0 1 + (optional)_XNoticePutBitmap@Base 0 1 + (optional)_XOpenLC@Base 0 1 + (optional)_XParseBaseFontNameList@Base 0 1 + _XPollfdCacheAdd@Base 0 + _XPollfdCacheDel@Base 0 + _XPollfdCacheInit@Base 0 + _XProcessInternalConnection@Base 0 + _XProcessWindowAttributes@Base 0 + _XPutBackEvent@Base 0 + (arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XRead32@Base 0 + _XRead@Base 0 + _XReadEvents@Base 0 + _XReadPad@Base 0 + (optional)_XRefreshKeyboardMapping@Base 0 1 + _XRegisterFilterByMask@Base 0 + _XRegisterFilterByType@Base 0 + _XRegisterInternalConnection@Base 0 + _XReply@Base 0 + _XReverse_Bytes@Base 0 + _XScreenOfWindow@Base 0 + _XSend@Base 0 + _XSetClipRectangles@Base 0 + _XSetImage@Base 0 + _XSetLastRequestRead@Base 0 + _XStoreEventCookie@Base 2:1.2.99.901 + _XTextHeight16@Base 0 + _XTextHeight@Base 0 + (optional)_XTranslateKey@Base 0 1 + (optional)_XTranslateKeySym@Base 0 1 + (optional)_XTryShapeBitmapCursor@Base 0 1 + _XUnknownCopyEventCookie@Base 2:1.2.99.901 + _XUnknownNativeEvent@Base 0 + _XUnknownWireEvent@Base 0 + _XUnknownWireEventCookie@Base 2:1.2.99.901 + _XUnlockMutex_fn@Base 0 + _XUnregisterFilter@Base 0 + _XUnregisterInternalConnection@Base 0 + (optional)_XUnresolveColor@Base 0 1 + (optional)_XUpdateAtomCache@Base 0 1 + (optional)_XUpdateGCCache@Base 0 1 + _XVIDtoVisual@Base 0 + _XWireToEvent@Base 0 + (optional)_XcmsAddCmapRec@Base 0 1 + (optional)_XcmsArcTangent@Base 0 1 + (optional)_XcmsCIELabQueryMaxLCRGB@Base 0 1 + (optional)_XcmsCIELab_prefix@Base 0 1 + (optional)_XcmsCIELuvQueryMaxLCRGB@Base 0 1 + (optional)_XcmsCIELuv_prefix@Base 0 1 + (optional)_XcmsCIEXYZ_ValidSpec@Base 0 1 + (optional)_XcmsCIEXYZ_prefix@Base 0 1 + (optional)_XcmsCIEuvY_ValidSpec@Base 0 1 + (optional)_XcmsCIEuvY_prefix@Base 0 1 + (optional)_XcmsCIExyY_prefix@Base 0 1 + (optional)_XcmsConvertColorsWithWhitePt@Base 0 1 + (optional)_XcmsCopyCmapRecAndFree@Base 0 1 + (optional)_XcmsCopyISOLatin1Lowered@Base 0 1 + (optional)_XcmsCopyPointerArray@Base 0 1 + (optional)_XcmsCosine@Base 0 1 + (optional)_XcmsCubeRoot@Base 0 1 + (optional)_XcmsDDColorSpaces@Base 0 1 + (optional)_XcmsDDColorSpacesInit@Base 0 1 + (optional)_XcmsDDConvertColors@Base 0 1 + (optional)_XcmsDIColorSpaces@Base 0 1 + (optional)_XcmsDIColorSpacesInit@Base 0 1 + (optional)_XcmsDIConvertColors@Base 0 1 + (optional)_XcmsDeleteCmapRec@Base 0 1 + (optional)_XcmsEqualWhitePts@Base 0 1 + (optional)_XcmsFreeIntensityMaps@Base 0 1 + (optional)_XcmsFreePointerArray@Base 0 1 + (optional)_XcmsGetElement@Base 0 1 + (optional)_XcmsGetIntensityMap@Base 0 1 + (optional)_XcmsGetProperty@Base 0 1 + (optional)_XcmsInitDefaultCCCs@Base 0 1 + (optional)_XcmsInitScrnInfo@Base 0 1 + (optional)_XcmsLRGB_InitScrnDefault@Base 0 1 + (optional)_XcmsPushPointerArray@Base 0 1 + (optional)_XcmsRGB_prefix@Base 0 1 + (optional)_XcmsRGB_to_XColor@Base 0 1 + (optional)_XcmsRGBi_prefix@Base 0 1 + (optional)_XcmsRegColorSpaces@Base 0 1 + (optional)_XcmsRegFormatOfPrefix@Base 0 1 + (optional)_XcmsResolveColor@Base 0 1 + (optional)_XcmsResolveColorString@Base 0 1 + (optional)_XcmsSCCFuncSets@Base 0 1 + (optional)_XcmsSCCFuncSetsInit@Base 0 1 + (optional)_XcmsSetGetColor@Base 0 1 + (optional)_XcmsSetGetColors@Base 0 1 + (optional)_XcmsSine@Base 0 1 + (optional)_XcmsSquareRoot@Base 0 1 + (optional)_XcmsTekHVCQueryMaxVCRGB@Base 0 1 + (optional)_XcmsTekHVC_CheckModify@Base 0 1 + (optional)_XcmsTekHVC_prefix@Base 0 1 + (optional)_XcmsUnresolveColor@Base 0 1 + _Xdebug@Base 0 + _Xevent_to_mask@Base 0 + _Xglobal_lock@Base 0 + (optional)_Xi18n_lock@Base 0 1 + (optional)_XimCbDispatch@Base 0 1 + (optional)_XimCheckCreateICValues@Base 0 1 + (optional)_XimCheckDataSize@Base 0 1 + (optional)_XimCheckICMode@Base 0 1 + (optional)_XimCheckIMMode@Base 0 1 + (optional)_XimCheckIfLocalProcessing@Base 0 1 + (optional)_XimCheckIfThaiProcessing@Base 0 1 + (optional)_XimCheckLocalInputStyle@Base 0 1 + (optional)_XimCommitCallback@Base 0 1 + (optional)_XimConnect@Base 0 1 + (optional)_XimDecodeICATTRIBUTE@Base 0 1 + (optional)_XimDecodeIMATTRIBUTE@Base 0 1 + (optional)_XimDecodeLocalICAttr@Base 0 1 + (optional)_XimDecodeLocalIMAttr@Base 0 1 + (optional)_XimDestroyIMStructureList@Base 0 1 + (optional)_XimDispatchInit@Base 0 1 + (optional)_XimEncodeICATTRIBUTE@Base 0 1 + (optional)_XimEncodeIMATTRIBUTE@Base 0 1 + (optional)_XimEncodeLocalICAttr@Base 0 1 + (optional)_XimEncodeLocalIMAttr@Base 0 1 + (optional)_XimError@Base 0 1 + (optional)_XimErrorCallback@Base 0 1 + (optional)_XimExtension@Base 0 1 + (optional)_XimFilterWaitEvent@Base 0 1 + (optional)_XimFlush@Base 0 1 + (optional)_XimForwardEvent@Base 0 1 + (optional)_XimForwardEventCallback@Base 0 1 + (optional)_XimFreeCommitInfo@Base 0 1 + (optional)_XimFreeProtoIntrCallback@Base 0 1 + (optional)_XimFreeTransIntrCallback@Base 0 1 + (optional)_XimGetAttributeID@Base 0 1 + (optional)_XimGetCharCode@Base 0 1 + (optional)_XimGetCurrentICValues@Base 0 1 + (optional)_XimGetCurrentIMValues@Base 0 1 + (optional)_XimGetICValueData@Base 0 1 + (optional)_XimGetIMValueData@Base 0 1 + (optional)_XimGetLocaleCode@Base 0 1 + (optional)_XimGetMyEndian@Base 0 1 + (optional)_XimGetResourceListRec@Base 0 1 + (optional)_XimGetResourceListRecByQuark@Base 0 1 + (optional)_XimGetWindowEventmask@Base 0 1 + (optional)_XimICOfXICID@Base 0 1 + (optional)_XimImSportRec@Base 0 1 + (optional)_XimInitialResourceInfo@Base 0 1 + (optional)_XimLcctstombs@Base 0 1 + (optional)_XimLcctstoutf8@Base 0 1 + (optional)_XimLcctstowcs@Base 0 1 + (optional)_XimLocalCreateIC@Base 0 1 + (optional)_XimLocalFilter@Base 0 1 + (optional)_XimLocalGetICValues@Base 0 1 + (optional)_XimLocalGetIMValues@Base 0 1 + (optional)_XimLocalIMFree@Base 0 1 + (optional)_XimLocalMbLookupString@Base 0 1 + (optional)_XimLocalOpenIM@Base 0 1 + (optional)_XimLocalSetICValues@Base 0 1 + (optional)_XimLocalSetIMValues@Base 0 1 + (optional)_XimLocalUtf8LookupString@Base 0 1 + (optional)_XimLocalWcLookupString@Base 0 1 + (optional)_XimLookupMBText@Base 0 1 + (optional)_XimLookupUTF8Text@Base 0 1 + (optional)_XimLookupWCText@Base 0 1 + (optional)_XimMakeICAttrIDList@Base 0 1 + (optional)_XimMakeIMAttrIDList@Base 0 1 + (optional)_XimOpenIM@Base 0 1 + (optional)_XimParseStringFile@Base 0 1 + (optional)_XimProcError@Base 0 1 + (optional)_XimProcSyncReply@Base 0 1 + (optional)_XimProtoCreateIC@Base 0 1 + (optional)_XimProtoEventToWire@Base 0 1 + (optional)_XimProtoIMFree@Base 0 1 + (optional)_XimProtoMbLookupString@Base 0 1 + (optional)_XimProtoOpenIM@Base 0 1 + (optional)_XimProtoUtf8LookupString@Base 0 1 + (optional)_XimProtoWcLookupString@Base 0 1 + (optional)_XimProtoWireToEvent@Base 0 1 + (optional)_XimRead@Base 0 1 + (optional)_XimRegProtoIntrCallback@Base 0 1 + (optional)_XimRegisterDispatcher@Base 0 1 + (optional)_XimRegisterFilter@Base 0 1 + (optional)_XimRegisterIMInstantiateCallback@Base 0 1 + (optional)_XimRegisterServerFilter@Base 0 1 + (optional)_XimRegisterTriggerKeysCallback@Base 0 1 + (optional)_XimReregisterFilter@Base 0 1 + (optional)_XimResetIMInstantiateCallback@Base 0 1 + (optional)_XimRespSyncReply@Base 0 1 + (optional)_XimServerDestroy@Base 0 1 + (optional)_XimSetCurrentICValues@Base 0 1 + (optional)_XimSetCurrentIMValues@Base 0 1 + (optional)_XimSetEventMaskCallback@Base 0 1 + (optional)_XimSetHeader@Base 0 1 + (optional)_XimSetICDefaults@Base 0 1 + (optional)_XimSetICMode@Base 0 1 + (optional)_XimSetICResourceList@Base 0 1 + (optional)_XimSetICValueData@Base 0 1 + (optional)_XimSetIMMode@Base 0 1 + (optional)_XimSetIMResourceList@Base 0 1 + (optional)_XimSetIMValueData@Base 0 1 + (optional)_XimSetInnerICResourceList@Base 0 1 + (optional)_XimSetInnerIMResourceList@Base 0 1 + (optional)_XimSetLocalIMDefaults@Base 0 1 + (optional)_XimShutdown@Base 0 1 + (optional)_XimSync@Base 0 1 + (optional)_XimSyncCallback@Base 0 1 + (optional)_XimThaiCloseIM@Base 0 1 + (optional)_XimThaiCreateIC@Base 0 1 + (optional)_XimThaiFilter@Base 0 1 + (optional)_XimThaiIMFree@Base 0 1 + (optional)_XimThaiOpenIM@Base 0 1 + (optional)_XimTransCallDispatcher@Base 0 1 + (optional)_XimTransConf@Base 0 1 + (optional)_XimTransFilterWaitEvent@Base 0 1 + (optional)_XimTransFlush@Base 0 1 + (optional)_XimTransInternalConnection@Base 0 1 + (optional)_XimTransRead@Base 0 1 + (optional)_XimTransRegisterDispatcher@Base 0 1 + (optional)_XimTransWrite@Base 0 1 + (optional)_XimTransportRec@Base 0 1 + (optional)_XimTriggerNotify@Base 0 1 + (optional)_XimUnRegisterIMInstantiateCallback@Base 0 1 + (optional)_XimUnregisterFilter@Base 0 1 + (optional)_XimUnregisterServerFilter@Base 0 1 + (optional)_XimWrite@Base 0 1 + (optional)_XimXConf@Base 0 1 + (optional)_XimXTransBytesReadable@Base 0 1 + (optional)_XimXTransClose@Base 0 1 + (optional)_XimXTransCloseForCloning@Base 0 1 + (optional)_XimXTransConnect@Base 0 1 + (optional)_XimXTransDisconnect@Base 0 1 + (optional)_XimXTransFreeConnInfo@Base 0 1 + (optional)_XimXTransGetConnectionNumber@Base 0 1 + (optional)_XimXTransGetHostname@Base 0 1 + (optional)_XimXTransGetMyAddr@Base 0 1 + (optional)_XimXTransGetPeerAddr@Base 0 1 + (optional)_XimXTransIsLocal@Base 0 1 + (optional)_XimXTransOpenCLTSClient@Base 0 1 + (optional)_XimXTransOpenCOTSClient@Base 0 1 + (optional)_XimXTransRead@Base 0 1 + (optional)_XimXTransReadv@Base 0 1 + (optional)_XimXTransSetOption@Base 0 1 + (optional)_XimXTransSocketINET6Funcs@Base 0 1 + (optional)_XimXTransSocketINETFuncs@Base 0 1 + (optional)_XimXTransSocketLocalFuncs@Base 0 1 + (optional)_XimXTransSocketTCPFuncs@Base 0 1 + (optional)_XimXTransSocketUNIXFuncs@Base 0 1 + (optional)_XimXTransWrite@Base 0 1 + (optional)_XimXTransWritev@Base 0 1 + (optional)_Ximctstombs@Base 0 1 + (optional)_Ximctstoutf8@Base 0 1 + (optional)_Ximctstowcs@Base 0 1 + (optional)_XkbCopyFromReadBuffer@Base 0 1 + (optional)_XkbFreeReadBuffer@Base 0 1 + (optional)_XkbGetAtomNameFunc@Base 0 1 + (optional)_XkbGetCharset@Base 0 1 + (optional)_XkbGetConverters@Base 0 1 + (optional)_XkbGetReadBufferCountedString@Base 0 1 + (optional)_XkbGetReadBufferPtr@Base 0 1 + (optional)_XkbInitReadBuffer@Base 0 1 + (optional)_XkbInternAtomFunc@Base 0 1 + (optional)_XkbNoteCoreMapChanges@Base 0 1 + (optional)_XkbPeekAtReadBuffer@Base 0 1 + (optional|arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XkbReadBufferCopy32@Base 0 1 + (optional)_XkbReadBufferCopyKeySyms@Base 0 1 + (optional|arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XkbReadCopyData32@Base 0 1 + (optional)_XkbReadCopyKeySyms@Base 0 1 + (optional)_XkbReadGetCompatMapReply@Base 0 1 + (optional)_XkbReadGetGeometryReply@Base 0 1 + (optional)_XkbReadGetIndicatorMapReply@Base 0 1 + (optional)_XkbReadGetMapReply@Base 0 1 + (optional)_XkbReadGetNamesReply@Base 0 1 + (optional)_XkbReloadDpy@Base 0 1 + (optional)_XkbSkipReadBufferData@Base 0 1 + (optional|arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XkbWriteCopyData32@Base 0 1 + (optional)_XkbWriteCopyKeySyms@Base 0 1 + (optional)_XkeyTable@Base 0 1 + (optional)_XlcAddCT@Base 0 1 + (optional)_XlcAddCharSet@Base 0 1 + (optional)_XlcAddGB18030LocaleConverters@Base 0 1 + (optional)_XlcAddLoader@Base 0 1 + (optional)_XlcAddUtf8Converters@Base 0 1 + (optional)_XlcAddUtf8LocaleConverters@Base 0 1 + (optional)_XlcCloseConverter@Base 0 1 + (optional)_XlcCompareISOLatin1@Base 0 1 + (optional)_XlcCompileResourceList@Base 0 1 + (optional)_XlcConvert@Base 0 1 + (optional)_XlcCopyFromArg@Base 0 1 + (optional)_XlcCopyToArg@Base 0 1 + (optional)_XlcCountVaList@Base 0 1 + (optional)_XlcCreateDefaultCharSet@Base 0 1 + (optional)_XlcCreateLC@Base 0 1 + (optional)_XlcCreateLocaleDataBase@Base 0 1 + (optional)_XlcCurrentLC@Base 0 1 + (optional)_XlcDbg_printValue@Base 0 1 + (optional)_XlcDeInitLoader@Base 0 1 + (optional)_XlcDefaultLoader@Base 0 1 + (optional)_XlcDefaultMapModifiers@Base 0 1 + (optional)_XlcDestroyLC@Base 0 1 + (optional)_XlcDestroyLocaleDataBase@Base 0 1 + (optional)_XlcFileName@Base 0 1 + (optional)_XlcGenericLoader@Base 0 1 + (optional)_XlcGenericMethods@Base 0 1 + (optional)_XlcGetCSValues@Base 0 1 + (optional)_XlcGetCharSet@Base 0 1 + (optional)_XlcGetCharSetWithSide@Base 0 1 + (optional)_XlcGetLocaleDataBase@Base 0 1 + (optional)_XlcGetResource@Base 0 1 + (optional)_XlcGetValues@Base 0 1 + (optional)_XlcInitCTInfo@Base 0 1 + (optional)_XlcInitLoader@Base 0 1 + (optional)_XlcLocaleDirName@Base 0 1 + (optional)_XlcLocaleLibDirName@Base 0 1 + (optional)_XlcMapOSLocaleName@Base 0 1 + (optional)_XlcNCompareISOLatin1@Base 0 1 + (optional)_XlcOpenConverter@Base 0 1 + (optional)_XlcParseCharSet@Base 0 1 + (optional)_XlcParse_scopemaps@Base 0 1 + (optional)_XlcPublicMethods@Base 0 1 + (optional)_XlcRemoveLoader@Base 0 1 + (optional)_XlcResetConverter@Base 0 1 + (optional)_XlcResolveI18NPath@Base 0 1 + (optional)_XlcResolveLocaleName@Base 0 1 + (optional)_XlcSetConverter@Base 0 1 + (optional)_XlcSetValues@Base 0 1 + (optional)_XlcUtf8Loader@Base 0 1 + (optional)_XlcVaToArgList@Base 0 1 + (optional)_XlcValidModSyntax@Base 0 1 + (optional)_Xlcmbstoutf8@Base 0 1 + (optional)_Xlcmbstowcs@Base 0 1 + (optional)_Xlcmbtowc@Base 0 1 + (optional)_Xlcwcstombs@Base 0 1 + (optional)_Xlcwctomb@Base 0 1 + (optional)_XmbDefaultDrawImageString@Base 0 1 + (optional)_XmbDefaultDrawString@Base 0 1 + (optional)_XmbDefaultTextEscapement@Base 0 1 + (optional)_XmbDefaultTextExtents@Base 0 1 + (optional)_XmbDefaultTextPerCharExtents@Base 0 1 + (optional)_XmbGenericDrawImageString@Base 0 1 + (optional)_XmbGenericDrawString@Base 0 1 + (optional)_XmbGenericTextEscapement@Base 0 1 + (optional)_XmbGenericTextExtents@Base 0 1 + (optional)_XmbGenericTextPerCharExtents@Base 0 1 + (optional)_XmbTextListToTextProperty@Base 0 1 + (optional)_XmbTextPropertyToTextList@Base 0 1 + _Xmblen@Base 0 + (optional)_Xmbstoutf8@Base 0 1 + (optional)_Xmbstowcs@Base 0 1 + _Xmbtowc@Base 0 + (optional)_XomConvert@Base 0 1 + (optional)_XomGenericDrawString@Base 0 1 + (optional)_XomGenericOpenOM@Base 0 1 + (optional)_XomGenericTextExtents@Base 0 1 + (optional)_XomGetFontDataFromFontSet@Base 0 1 + (optional)_XomInitConverter@Base 0 1 + (optional)_XrmDefaultInitParseInfo@Base 0 1 + (optional)_XrmInitParseInfo@Base 0 1 + (optional)_XrmInternalStringToQuark@Base 0 1 + (optional)_Xthread_self_fn@Base 0 1 + (optional)_Xutf8DefaultDrawImageString@Base 0 1 + (optional)_Xutf8DefaultDrawString@Base 0 1 + (optional)_Xutf8DefaultTextEscapement@Base 0 1 + (optional)_Xutf8DefaultTextExtents@Base 0 1 + (optional)_Xutf8DefaultTextPerCharExtents@Base 0 1 + (optional)_Xutf8GenericDrawImageString@Base 0 1 + (optional)_Xutf8GenericDrawString@Base 0 1 + (optional)_Xutf8GenericTextEscapement@Base 0 1 + (optional)_Xutf8GenericTextExtents@Base 0 1 + (optional)_Xutf8GenericTextPerCharExtents@Base 0 1 + (optional)_Xutf8TextListToTextProperty@Base 0 1 + (optional)_Xutf8TextPropertyToTextList@Base 0 1 + (optional)_XwcDefaultDrawImageString@Base 0 1 + (optional)_XwcDefaultDrawString@Base 0 1 + (optional)_XwcDefaultTextEscapement@Base 0 1 + (optional)_XwcDefaultTextExtents@Base 0 1 + (optional)_XwcDefaultTextPerCharExtents@Base 0 1 + (optional)_XwcFreeStringList@Base 0 1 + (optional)_XwcGenericDrawImageString@Base 0 1 + (optional)_XwcGenericDrawString@Base 0 1 + (optional)_XwcGenericTextEscapement@Base 0 1 + (optional)_XwcGenericTextExtents@Base 0 1 + (optional)_XwcGenericTextPerCharExtents@Base 0 1 + (optional)_XwcTextListToTextProperty@Base 0 1 + (optional)_XwcTextPropertyToTextList@Base 0 1 + (optional)_Xwcscmp@Base 0 1 + (optional)_Xwcscpy@Base 0 1 + (optional)_Xwcslen@Base 0 1 + (optional)_Xwcsncmp@Base 0 1 + (optional)_Xwcsncpy@Base 0 1 + (optional)_Xwcstombs@Base 0 1 + _Xwctomb@Base 0 + (optional)_qfree@Base 0 1 + (optional)read_EncodingInfo@Base 0 1 + (optional)xlocaledir@Base 0 1 --- libx11-1.4.99.1.orig/debian/libx11-6.install +++ libx11-1.4.99.1/debian/libx11-6.install @@ -0,0 +1 @@ +usr/lib/*/libX11.so.6* --- libx11-1.4.99.1.orig/debian/rules +++ libx11-1.4.99.1/debian/rules @@ -0,0 +1,152 @@ +#!/usr/bin/make -f +# debian/rules for the Debian libx11 package. +# Copyright © 2004 Scott James Remnant +# Copyright © 2005 Daniel Stone +# Copyright © 2005 David Nusinow +# Copyright © 2006 Josh Triplett +# Copyright © 2006 Jamey Sharp + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include debian/xsfbs/xsfbs.mk + +CFLAGS = -Wall -g +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +# This is for maintainer's convenience. It really should be always on option +# but dh_install doesn't support --exclude-from , and we leave out too +# much crap to bother specifying it through --exclude arguments. +# It alters dh_install call in binary_indep, as it is the first one called +# from binary target. +ifneq (,$(filter checkinstall,$(DEB_BUILD_OPTIONS))) + dhinstallindepflags := --fail-missing +else + dhinstallindepflags := -i +endif + +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + confflags += --build=$(DEB_HOST_GNU_TYPE) +else + confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) +endif + +configure: $(STAMP_DIR)/patch + dh_testdir + autoreconf -vfi + +build: build-stamp +build-stamp: configure $(STAMP_DIR)/genscripts + dh_testdir + + mkdir -p build + cd build && \ + ../configure \ + --prefix=/usr \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info \ + --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ + --enable-specs \ + --with-xmlto \ + --without-fop \ + $(confflags) \ + CFLAGS="$(CFLAGS)" + cd build && $(MAKE) + >$@ + +clean: xsfclean + dh_testdir + dh_testroot + rm -f build-stamp + + rm -f config.cache config.log config.status + rm -f */config.cache */config.log */config.status + rm -f conftest* */conftest* + rm -rf autom4te.cache */autom4te.cache + rm -rf build + rm -f aclocal.m4 compile config.guess config.sub configure + rm -f m4/lt*.m4 m4/libtool.m4 + rm -f depcomp install-sh ltmain.sh missing mkinstalldirs + rm -f src/config.h.in + find -name Makefile.in -delete + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + cd build && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + + dh_installdocs -s NEWS + # Kill *.xml files, we don't need them: + find debian/tmp -name '*.xml' -delete + # Using exclusions here allows libx11-dev.install to use wildcards + # for headers, rather than listing every header other than this one. + dh_install --sourcedir=debian/tmp -plibx11-dev \ + --exclude=usr/include/X11/Xlib-xcb.h + dh_install --sourcedir=debian/tmp -Nlibx11-dev -s + dh_installchangelogs -s ChangeLog + dh_installman -s + dh_lintian -s + dh_link -s + dh_strip -plibx11-6 --dbg-package=libx11-6-dbg + dh_strip -plibx11-xcb1 --dbg-package=libx11-xcb1-dbg + dh_strip -Nlibx11-6 -Nlibx11-xcb1 + dh_compress -s + dh_fixperms -s + dh_makeshlibs -s -plibx11-6 --add-udeb=libx11-6-udeb -- -c4 + dh_makeshlibs -s -Nlibx11-6 -- -c4 + dh_shlibdeps -s + dh_installdeb -s + dh_gencontrol -s + dh_md5sums -s + dh_builddeb -s + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot + + dh_installdocs -i + dh_installchangelogs -i NEWS + # Using exclusions here allows libx11-6.install to use wildcards for + # headers and manpages, rather than listing every header and manpage + # other than these. + dh_install --sourcedir=debian/tmp -plibx11-doc \ + --exclude=usr/include/X11/Xlib-xcb.h \ + --exclude=usr/share/man/man3/XGetXCBConnection.3 \ + --exclude=usr/share/man/man3/XSetEventQueueOwner.3 + dh_install --sourcedir=debian/tmp -i -Nlibx11-doc + dh_link -i + dh_installman -i + dh_lintian -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- libx11-1.4.99.1.orig/debian/xsfbs/xsfbs.mk +++ libx11-1.4.99.1/debian/xsfbs/xsfbs.mk @@ -0,0 +1,277 @@ +#!/usr/bin/make -f + +# Debian X Strike Force Build System (XSFBS): Make portion + +# Copyright 1996 Stephen Early +# Copyright 1997 Mark Eichin +# Copyright 1998-2005, 2007 Branden Robinson +# Copyright 2005 David Nusinow +# +# Licensed under the GNU General Public License, version 2. See the file +# /usr/share/common-licenses/GPL or . + +# Originally by Stephen Early +# Modified by Mark W. Eichin +# Modified by Adam Heath +# Modified by Branden Robinson +# Modified by Fabio Massimo Di Nitto +# Modified by David Nusinow +# Acknowledgements to Manoj Srivastava. + +# Pass $(DH_OPTIONS) into the environment for debhelper's benefit. +export DH_OPTIONS + +# force quilt to not use ~/.quiltrc and to use debian/patches +QUILT = QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null + +# Set up parameters for the upstream build environment. + +# Determine (source) package name from Debian changelog. +SOURCE_NAME:=$(shell dpkg-parsechangelog -ldebian/changelog \ + | grep '^Source:' | awk '{print $$2}') + +# Determine package version from Debian changelog. +SOURCE_VERSION:=$(shell dpkg-parsechangelog -ldebian/changelog \ + | grep '^Version:' | awk '{print $$2}') + +# Determine upstream version number. +UPSTREAM_VERSION:=$(shell echo $(SOURCE_VERSION) | sed 's/-.*//') + +# Determine the source version without the epoch for make-orig-tar-gz +NO_EPOCH_VER:=$(shell echo $(UPSTREAM_VERSION) | sed 's/^.://') + +# Figure out who's building this package. +BUILDER:=$(shell echo $${DEBEMAIL:-$${EMAIL:-$$(echo $$LOGNAME@$$(cat /etc/mailname 2>/dev/null))}}) + +# Find out if this is an official build; an official build has nothing but +# digits, dots, and/or the codename of a release in the Debian part of the +# version number. Anything else indicates an unofficial build. +OFFICIAL_BUILD:=$(shell VERSION=$(SOURCE_VERSION); if ! expr "$$(echo $${VERSION\#\#*-} | sed 's/\(woody\|sarge\|etch\|lenny\)//g')" : ".*[^0-9.].*" >/dev/null 2>&1; then echo yes; fi) + +# Set up parameters for the Debian build environment. + +# Determine our architecture. +BUILD_ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) +# Work around some old-time dpkg braindamage. +BUILD_ARCH:=$(subst i486,i386,$(BUILD_ARCH)) +# The DEB_HOST_ARCH variable may be set per the Debian cross-compilation policy. +ifdef DEB_HOST_ARCH + ARCH:=$(DEB_HOST_ARCH) +else + # dpkg-cross sets the ARCH environment variable; if set, use it. + ifdef ARCH + ARCH:=$(ARCH) + else + ARCH:=$(BUILD_ARCH) + endif +endif + +# $(STAMP_DIR) houses stamp files for complex targets. +STAMP_DIR:=stampdir + +# $(DEBTREEDIR) is where all install rules are told (via $(DESTDIR)) to place +# their files. +DEBTREEDIR:=$(CURDIR)/debian/tmp + +# All "important" targets have four lines: +# 1) A target name that is invoked by a package-building tool or the user. +# This consists of a dependency on a "$(STAMP_DIR)/"-prefixed counterpart. +# 2) A line delcaring 1) as a phony target (".PHONY:"). +# 3) A "$(STAMP_DIR)/"-prefixed target which does the actual work, and may +# depend on other targets. +# 4) A line declaring 3) as a member of the $(stampdir_targets) variable; the +# "$(STAMP_DIR)/" prefix is omitted. +# +# This indirection is needed so that the "stamp" files that signify when a rule +# is done can be located in a separate "stampdir". Recall that make has no way +# to know when a goal has been met for a phony target (like "build" or +# "install"). +# +# At the end of each "$(STAMP_DIR)/" target, be sure to run the command ">$@" +# so that the target will not be run again. Removing the file will make Make +# run the target over. + +# All phony targets should be declared as dependencies of .PHONY, even if they +# do not have "($STAMP_DIR)/"-prefixed counterparts. + +# Define a harmless default rule to keep things from going nuts by accident. +.PHONY: default +default: + +# Set up the $(STAMP_DIR) directory. +.PHONY: stampdir +stampdir_targets+=stampdir +stampdir: $(STAMP_DIR)/stampdir +$(STAMP_DIR)/stampdir: + mkdir $(STAMP_DIR) + >$@ + +# Set up the package build directory as quilt expects to find it. +.PHONY: prepare +stampdir_targets+=prepare +prepare: $(STAMP_DIR)/prepare +$(STAMP_DIR)/prepare: $(STAMP_DIR)/logdir $(STAMP_DIR)/genscripts + >$@ + +.PHONY: logdir +stampdir_targets+=logdir +logdir: $(STAMP_DIR)/logdir +$(STAMP_DIR)/logdir: $(STAMP_DIR)/stampdir + mkdir -p $(STAMP_DIR)/log + >$@ + +# Apply all patches to the upstream source. +.PHONY: patch +stampdir_targets+=patch +patch: $(STAMP_DIR)/patch +$(STAMP_DIR)/patch: $(STAMP_DIR)/prepare + if ! [ `which quilt` ]; then \ + echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \ + exit 1; \ + fi; \ + if $(QUILT) next >/dev/null 2>&1; then \ + echo -n "Applying patches..."; \ + if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \ + cat $(STAMP_DIR)/log/patch; \ + echo "successful."; \ + else \ + cat $(STAMP_DIR)/log/patch; \ + echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \ + exit 1; \ + fi; \ + else \ + echo "No patches to apply"; \ + fi; \ + >$@ + +# Revert all patches to the upstream source. +.PHONY: unpatch +unpatch: $(STAMP_DIR)/logdir + rm -f $(STAMP_DIR)/patch + @echo -n "Unapplying patches..."; \ + if $(QUILT) applied >/dev/null 2>/dev/null; then \ + if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \ + cat $(STAMP_DIR)/log/unpatch; \ + echo "successful."; \ + else \ + cat $(STAMP_DIR)/log/unpatch; \ + echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \ + exit 1; \ + fi; \ + else \ + echo "nothing to do."; \ + fi + +# Clean the generated maintainer scripts. +.PHONY: cleanscripts +cleanscripts: + rm -f $(STAMP_DIR)/genscripts + rm -f debian/*.config \ + debian/*.postinst \ + debian/*.postrm \ + debian/*.preinst \ + debian/*.prerm + +# Clean the package build tree. +.PHONY: xsfclean +xsfclean: cleanscripts unpatch + dh_testdir + rm -rf .pc + rm -rf $(STAMP_DIR) + dh_clean + +# Remove files from the upstream source tree that we don't need, or which have +# licensing problems. It must be run before creating the .orig.tar.gz. +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +.PHONY: prune-upstream-tree +prune-upstream-tree: + # Ensure we're in the correct directory. + dh_testdir + grep -rvh '^#' debian/prune/ | xargs --no-run-if-empty rm -rf + +# Verify that there are no offsets or fuzz in the patches we apply. +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +.PHONY: patch-audit +patch-audit: prepare unpatch + @echo -n "Auditing patches..."; \ + >$(STAMP_DIR)/log/patch; \ + FUZZY=; \ + while [ -n "$$($(QUILT) next)" ]; do \ + RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\ + case "$$RESULT" in \ + succeeded) \ + echo "fuzzy patch: $$($(QUILT) top)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \ + FUZZY=yes; \ + ;; \ + FAILED) \ + echo "broken patch: $$($(QUILT) next)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \ + exit 1; \ + ;; \ + esac; \ + done; \ + if [ -n "$$FUZZY" ]; then \ + echo "there were fuzzy patches; please fix."; \ + exit 1; \ + else \ + echo "done."; \ + fi + +# Generate the maintainer scripts. +.PHONY: genscripts +stampdir_targets+=genscripts +genscripts: $(STAMP_DIR)/genscripts +$(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir + for FILE in debian/*.config.in \ + debian/*.postinst.in \ + debian/*.postrm.in \ + debian/*.preinst.in \ + debian/*.prerm.in; do \ + if [ -e "$$FILE" ]; then \ + MAINTSCRIPT=$$(echo $$FILE | sed 's/.in$$//'); \ + sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' <$$FILE \ + | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >$$MAINTSCRIPT.tmp; \ + cat debian/xsfbs/xsfbs.sh >>$$MAINTSCRIPT.tmp; \ + sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' <$$FILE \ + | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \ + sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \ + -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \ + <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \ + rm $$MAINTSCRIPT.tmp; \ + fi; \ + done + # Validate syntax of generated shell scripts. + #sh debian/scripts/validate-posix-sh debian/*.config \ + # debian/*.postinst \ + # debian/*.postrm \ + # debian/*.preinst \ + # debian/*.prerm + >$@ + +SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) +VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) +INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) +SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) +VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) +INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI) +ifeq ($(PACKAGE),) +PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) +endif + +.PHONY: serverabi +serverabi: install +ifeq ($(SERVERMINVERS),) + @echo error: xserver-xorg-dev needs to be installed + @exit 1 +else + echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars + echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars + echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars +endif + +# vim:set noet ai sts=8 sw=8 tw=0: --- libx11-1.4.99.1.orig/debian/xsfbs/xsfbs.sh +++ libx11-1.4.99.1/debian/xsfbs/xsfbs.sh @@ -0,0 +1,622 @@ +# This is the X Strike Force shell library for X Window System package +# maintainer scripts. It serves to define shell functions commonly used by +# such packages, and performs some error checking necessary for proper operation +# of those functions. By itself, it does not "do" much; the maintainer scripts +# invoke the functions defined here to accomplish package installation and +# removal tasks. + +# If you are reading this within a Debian package maintainer script (e.g., +# /var/lib/dpkg/info/PACKAGE.{config,preinst,postinst,prerm,postrm}), you can +# skip past this library by scanning forward in this file to the string +# "GOBSTOPPER". + +SOURCE_VERSION=@SOURCE_VERSION@ +OFFICIAL_BUILD=@OFFICIAL_BUILD@ + +# Use special abnormal exit codes so that problems with this library are more +# easily tracked down. +SHELL_LIB_INTERNAL_ERROR=86 +SHELL_LIB_THROWN_ERROR=74 +SHELL_LIB_USAGE_ERROR=99 + +# old -> new variable names +if [ -z "$DEBUG_XORG_PACKAGE" ] && [ -n "$DEBUG_XFREE86_PACKAGE" ]; then + DEBUG_XORG_PACKAGE="$DEBUG_XFREE86_PACKAGE" +fi +if [ -z "$DEBUG_XORG_DEBCONF" ] && [ -n "$DEBUG_XFREE86_DEBCONF" ]; then + DEBUG_XORG_DEBCONF="$DEBUG_XFREE86_DEBCONF" +fi + +# initial sanity checks +if [ -z "$THIS_PACKAGE" ]; then + cat >&2 < on the World Wide Web for +instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the +"doc-debian" package, or install the "reportbug" package and use the command of +the same name to file a report against version $SOURCE_VERSION of this package. +EOF + exit $SHELL_LIB_USAGE_ERROR +fi + +if [ -z "$THIS_SCRIPT" ]; then + cat >&2 < on the World Wide Web for +instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the +"doc-debian" package, or install the "reportbug" package and use the command of +the same name to file a report against version $SOURCE_VERSION of the +"$THIS_PACKAGE" package. +EOF + exit $SHELL_LIB_USAGE_ERROR +fi + +if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then + RECONFIGURE="true" +else + RECONFIGURE= +fi + +if ([ "$1" = "install" ] || [ "$1" = "configure" ]) && [ -z "$2" ]; then + FIRSTINST="yes" +fi + +if [ -z "$RECONFIGURE" ] && [ -z "$FIRSTINST" ]; then + UPGRADE="yes" +fi + +trap "message;\ + message \"Received signal. Aborting $THIS_PACKAGE package $THIS_SCRIPT script.\";\ + message;\ + exit 1" HUP INT QUIT TERM + +reject_nondigits () { + # syntax: reject_nondigits [ operand ... ] + # + # scan operands (typically shell variables whose values cannot be trusted) for + # characters other than decimal digits and barf if any are found + while [ -n "$1" ]; do + # does the operand contain anything but digits? + if ! expr "$1" : "[[:digit:]]\+$" > /dev/null 2>&1; then + # can't use die(), because it wraps message() which wraps this function + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_nondigits() encountered" \ + "possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + shift + done +} + +reject_unlikely_path_chars () { + # syntax: reject_unlikely_path_chars [ operand ... ] + # + # scan operands (typically shell variables whose values cannot be trusted) for + # characters unlikely to be seen in a path and which the shell might + # interpret and barf if any are found + while [ -n "$1" ]; do + # does the operand contain any funny characters? + if expr "$1" : '.*[!$&()*;<>?|].*' > /dev/null 2>&1; then + # can't use die(), because I want to avoid forward references + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_unlikely_path_chars()" \ + "encountered possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + shift + done +} + +# Query the terminal to establish a default number of columns to use for +# displaying messages to the user. This is used only as a fallback in the +# event the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while +# the script is running, and this cannot, only being calculated once.) +DEFCOLUMNS=$(stty size 2> /dev/null | awk '{print $2}') || true +if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" > /dev/null 2>&1; then + DEFCOLUMNS=80 +fi + +message () { + # pretty-print messages of arbitrary length + reject_nondigits "$COLUMNS" + echo "$*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} >&2 +} + +observe () { + # syntax: observe message ... + # + # issue observational message suitable for logging someday when support for + # it exists in dpkg + if [ -n "$DEBUG_XORG_PACKAGE" ]; then + message "$THIS_PACKAGE $THIS_SCRIPT note: $*" + fi +} + +warn () { + # syntax: warn message ... + # + # issue warning message suitable for logging someday when support for + # it exists in dpkg; also send to standard error + message "$THIS_PACKAGE $THIS_SCRIPT warning: $*" +} + +die () { + # syntax: die message ... + # + # exit script with error message + message "$THIS_PACKAGE $THIS_SCRIPT error: $*" + exit $SHELL_LIB_THROWN_ERROR +} + +internal_error () { + # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message + message "internal error: $*" + if [ -n "$OFFICIAL_BUILD" ]; then + message "Please report a bug in the $THIS_SCRIPT script of the" \ + "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \ + "Tracking System. Include all messages above that mention the" \ + "$THIS_PACKAGE package. Visit " \ + " on the World Wide Web for" \ + "instructions, read the file" \ + "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \ + "package, or install the reportbug package and use the command of" \ + "the same name to file a report." + fi + exit $SHELL_LIB_INTERNAL_ERROR +} + +usage_error () { + message "usage error: $*" + message "Please report a bug in the $THIS_SCRIPT script of the" \ + "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \ + "Tracking System. Include all messages above that mention the" \ + "$THIS_PACKAGE package. Visit " \ + " on the World Wide Web for" \ + "instructions, read the file" \ + "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \ + "package, or install the reportbug package and use the command of" \ + "the same name to file a report." + exit $SHELL_LIB_USAGE_ERROR +} + +font_update () { + # run $UPDATECMDS in $FONTDIRS + + local dir cmd shortcmd x_font_dir_prefix + + x_font_dir_prefix="/usr/share/fonts/X11" + + if [ -z "$UPDATECMDS" ]; then + usage_error "font_update() called but \$UPDATECMDS not set" + fi + if [ -z "$FONTDIRS" ]; then + usage_error "font_update() called but \$FONTDIRS not set" + fi + + reject_unlikely_path_chars "$UPDATECMDS" + reject_unlikely_path_chars "$FONTDIRS" + + for dir in $FONTDIRS; do + if [ -d "$x_font_dir_prefix/$dir" ]; then + for cmd in $UPDATECMDS; do + if which "$cmd" > /dev/null 2>&1; then + shortcmd=${cmd##*/} + observe "running $shortcmd in $dir font directory" + cmd_opts= + if [ "$shortcmd" = "update-fonts-alias" ]; then + cmd_opts=--x11r7-layout + fi + if [ "$shortcmd" = "update-fonts-dir" ]; then + cmd_opts=--x11r7-layout + fi + if [ "$shortcmd" = "update-fonts-scale" ]; then + cmd_opts=--x11r7-layout + fi + $cmd $cmd_opts $dir || warn "$cmd $cmd_opts $dir" \ + "failed; font directory data may not" \ + "be up to date" + else + warn "$cmd not found; not updating corresponding $dir font" \ + "directory data" + fi + done + else + warn "$dir is not a directory; not updating font directory data" + fi + done +} + +remove_conffile_prepare () { + # syntax: remove_conffile_prepare filename official_md5sum ... + # + # Check a conffile "filename" against a list of canonical MD5 checksums. + # If the file's current MD5 checksum matches one of the "official_md5sum" + # operands provided, then prepare the conffile for removal from the system. + # We defer actual deletion until the package is configured so that we can + # roll this operation back if package installation fails. + # + # Call this function from a preinst script in the event $1 is "upgrade" or + # "install" and verify $2 to ensure the package is being upgraded from a + # version (or installed over a version removed-but-not-purged) prior to the + # one in which the conffile was obsoleted. + + local conffile current_checksum + + # validate arguments + if [ $# -lt 2 ]; then + usage_error "remove_conffile_prepare() called with wrong number of" \ + "arguments; expected at least 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + shift + + # does the conffile even exist? + if [ -e "$conffile" ]; then + # calculate its checksum + current_checksum=$(md5sum < "$conffile" | sed 's/[[:space:]].*//') + # compare it to each supplied checksum + while [ -n "$1" ]; do + if [ "$current_checksum" = "$1" ]; then + # we found a match; move the confffile and stop looking + observe "preparing obsolete conffile $conffile for removal" + mv "$conffile" "$conffile.$THIS_PACKAGE-tmp" + break + fi + shift + done + fi +} + +remove_conffile_lookup () { + # syntax: remove_conffile_lookup package filename + # + # Lookup the md5sum of a conffile in dpkg's database, and prepare for removal + # if it matches the actual file's md5sum. + # + # Call this function when you would call remove_conffile_prepare but only + # want to check against dpkg's status database instead of known checksums. + + local package conffile old_md5sum + + # validate arguments + if [ $# -ne 2 ]; then + usage_error "remove_conffile_lookup() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + package="$1" + conffile="$2" + + if ! [ -e "$conffile" ]; then + return + fi + old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$package" | \ + awk '{ if (match($0, "^ '"$conffile"' ")) print $2}')" + if [ -n "$old_md5sum" ]; then + remove_conffile_prepare "$conffile" "$old_md5sum" + fi +} + +remove_conffile_commit () { + # syntax: remove_conffile_commit filename + # + # Complete the removal of a conffile "filename" that has become obsolete. + # + # Call this function from a postinst script after having used + # remove_conffile_prepare() in the preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "remove_conffile_commit() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + # if the temporary file created by remove_conffile_prepare() exists, remove it + if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then + observe "committing removal of obsolete conffile $conffile" + rm "$conffile.$THIS_PACKAGE-tmp" + fi +} + +remove_conffile_rollback () { + # syntax: remove_conffile_rollback filename + # + # Roll back the removal of a conffile "filename". + # + # Call this function from a postrm script in the event $1 is "abort-upgrade" + # or "abort-install" is after having used remove_conffile_prepare() in the + # preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "remove_conffile_rollback() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + # if the temporary file created by remove_conffile_prepare() exists, move it + # back + if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then + observe "rolling back removal of obsolete conffile $conffile" + mv "$conffile.$THIS_PACKAGE-tmp" "$conffile" + fi +} + +replace_conffile_with_symlink_prepare () { + # syntax: replace_conffile_with_symlink_prepare oldfilename newfilename \ + # official_md5sum ... + # + # Check a conffile "oldfilename" against a list of canonical MD5 checksums. + # If the file's current MD5 checksum matches one of the "official_md5sum" + # operands provided, then prepare the conffile for removal from the system. + # We defer actual deletion until the package is configured so that we can + # roll this operation back if package installation fails. Otherwise copy it + # to newfilename and let dpkg handle it through conffiles mechanism. + # + # Call this function from a preinst script in the event $1 is "upgrade" or + # "install" and verify $2 to ensure the package is being upgraded from a + # version (or installed over a version removed-but-not-purged) prior to the + # one in which the conffile was obsoleted. + + local conffile current_checksum + + # validate arguments + if [ $# -lt 3 ]; then + usage_error "replace_conffile_with_symlink_prepare() called with wrong" \ + " number of arguments; expected at least 3, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + oldconffile="$1" + shift + newconffile="$1" + shift + + remove_conffile_prepare "$_oldconffile" "$@" + # If $oldconffile still exists, then md5sums didn't match. + # Copy it to new one. + if [ -f "$oldconffile" ]; then + cp "$oldconffile" "$newconffile" + fi + +} + +replace_conffile_with_symlink_commit () { + # syntax: replace_conffile_with_symlink_commit oldfilename + # + # Complete the removal of a conffile "oldfilename" that has been + # replaced by a symlink. + # + # Call this function from a postinst script after having used + # replace_conffile_with_symlink_prepare() in the preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "replace_conffile_with_symlink_commit() called with wrong" \ + "number of arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + remove_conffile_commit "$conffile" +} + +replace_conffile_with_symlink_rollback () { + # syntax: replace_conffile_with_symlink_rollback oldfilename newfilename + # + # Roll back the replacing of a conffile "oldfilename" with symlink to + # "newfilename". + # + # Call this function from a postrm script in the event $1 is "abort-upgrade" + # or "abort-install" and verify $2 to ensure the package failed to upgrade + # from a version (or install over a version removed-but-not-purged) prior + # to the one in which the conffile was obsoleted. + # You should have used replace_conffile_with_symlink_prepare() in the + # preinst. + + local conffile + + # validate arguments + if [ $# -ne 2 ]; then + usage_error "replace_conffile_with_symlink_rollback() called with wrong" \ + "number of arguments; expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + oldconffile="$1" + newconffile="$2" + + remove_conffile_rollback "$_oldconffile" + if [ -f "$newconffile" ]; then + rm "$newconffile" + fi +} + +run () { + # syntax: run command [ argument ... ] + # + # Run specified command with optional arguments and report its exit status. + # Useful for commands whose exit status may be nonzero, but still acceptable, + # or commands whose failure is not fatal to us. + # + # NOTE: Do *not* use this function with db_get or db_metaget commands; in + # those cases the return value of the debconf command *must* be checked + # before the string returned by debconf is used for anything. + + local retval + + # validate arguments + if [ $# -lt 1 ]; then + usage_error "run() called with wrong number of arguments; expected at" \ + "least 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + "$@" || retval=$? + + if [ ${retval:-0} -ne 0 ]; then + observe "command \"$*\" exited with status $retval" + fi +} + +make_symlink_sane () { + # syntax: make_symlink_sane symlink target + # + # Ensure that the symbolic link symlink exists, and points to target. + # + # If symlink does not exist, create it and point it at target. + # + # If symlink exists but is not a symbolic link, back it up. + # + # If symlink exists, is a symbolic link, but points to the wrong location, fix + # it. + # + # If symlink exists, is a symbolic link, and already points to target, do + # nothing. + # + # This function wouldn't be needed if ln had an -I, --idempotent option. + + # Validate arguments. + if [ $# -ne 2 ]; then + usage_error "make_symlink_sane() called with wrong number of arguments;" \ + "expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + # We could just use the positional parameters as-is, but that makes things + # harder to follow. + local symlink target + + symlink="$1" + target="$2" + + if [ -L "$symlink" ] && [ "$(readlink "$symlink")" = "$target" ]; then + observe "link from $symlink to $target already exists" + else + observe "creating symbolic link from $symlink to $target" + mkdir -p "${target%/*}" "${symlink%/*}" + ln -s -b -S ".dpkg-old" "$target" "$symlink" + fi +} + +migrate_dir_to_symlink () { + # syntax: migrate_dir_to_symlink old_location new_location + # + # Per Debian Policy section 6.5.4, "A directory will never be replaced by a + # symbolic link to a directory or vice versa; instead, the existing state + # (symlink or not) will be left alone and dpkg will follow the symlink if + # there is one." + # + # We have to do it ourselves. + # + # This function moves the contents of old_location, a directory, into + # new_location, a directory, then makes old_location a symbolic link to + # new_location. + # + # old_location need not exist, but if it does, it must be a directory (or a + # symlink to a directory). If it is not, it is backed up. If new_location + # exists already and is not a directory, it is backed up. + # + # This function should be called from a package's preinst so that other + # packages unpacked after this one --- but before this package's postinst runs + # --- are unpacked into new_location even if their payloads contain + # old_location filespecs. + + # Validate arguments. + if [ $# -ne 2 ]; then + usage_error "migrate_dir_to_symlink() called with wrong number of" + "arguments; expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + # We could just use the positional parameters as-is, but that makes things + # harder to follow. + local new old + + old="$1" + new="$2" + + # Is old location a symlink? + if [ -L "$old" ]; then + # Does it already point to new location? + if [ "$(readlink "$old")" = "$new" ]; then + # Nothing to do; migration has already been done. + observe "migration of $old to $new already done" + return 0 + else + # Back it up. + warn "backing up symbolic link $old as $old.dpkg-old" + mv -b "$old" "$old.dpkg-old" + fi + fi + + # Does old location exist, but is not a directory? + if [ -e "$old" ] && ! [ -d "$old" ]; then + # Back it up. + warn "backing up non-directory $old as $old.dpkg-old" + mv -b "$old" "$old.dpkg-old" + fi + + observe "migrating $old to $new" + + # Is new location a symlink? + if [ -L "$new" ]; then + # Does it point the wrong way, i.e., back to where we're migrating from? + if [ "$(readlink "$new")" = "$old" ]; then + # Get rid of it. + observe "removing symbolic link $new which points to $old" + rm "$new" + else + # Back it up. + warn "backing up symbolic link $new as $new.dpkg-old" + mv -b "$new" "$new.dpkg-old" + fi + fi + + # Does new location exist, but is not a directory? + if [ -e "$new" ] && ! [ -d "$new" ]; then + warn "backing up non-directory $new as $new.dpkg-old" + mv -b "$new" "$new.dpkg-old" + fi + + # Create new directory if it does not yet exist. + if ! [ -e "$new" ]; then + observe "creating $new" + mkdir -p "$new" + fi + + # Copy files in old location to new location. Back up any filenames that + # already exist in the new location with the extension ".dpkg-old". + observe "copying files from $old to $new" + if ! (cd "$old" && cp -a -b -S ".dpkg-old" . "$new"); then + die "error(s) encountered while copying files from $old to $new" + fi + + # Remove files at old location. + observe "removing $old" + rm -r "$old" + + # Create symlink from old location to new location. + make_symlink_sane "$old" "$new" +} + +# vim:set ai et sw=2 ts=2 tw=80: + +# GOBSTOPPER: The X Strike Force shell library ends here. --- libx11-1.4.99.1.orig/debian/xsfbs/repack.sh +++ libx11-1.4.99.1/debian/xsfbs/repack.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +set -e + +if ! [ -d debian/prune ]; then + exit 0 +fi + +if [ "x$1" != x--upstream-version ]; then + exit 1 +fi + +version="$2" +filename="$3" + +if [ -z "$version" ] || ! [ -f "$filename" ]; then + exit 1 +fi + +dir="$(pwd)" +tempdir="$(mktemp -d)" + +cd "$tempdir" +tar xf "$dir/$filename" +cat "$dir"/debian/prune/* | while read file; do rm -f */$file; done + +tar czf "$dir/$filename" * +cd "$dir" +rm -rf "$tempdir" +echo "Done pruning upstream tarball" + +exit 0 --- libx11-1.4.99.1.orig/debian/patches/009_remove_th_Compose.diff +++ libx11-1.4.99.1/debian/patches/009_remove_th_Compose.diff @@ -0,0 +1,13 @@ +--- a/nls/compose.dir.pre ++++ b/nls/compose.dir.pre +@@ -487,7 +487,9 @@ en_US.UTF-8/Compose: sv_SE.UTF-8 + en_US.UTF-8/Compose: ta_IN.UTF-8 + en_US.UTF-8/Compose: te_IN.UTF-8 + en_US.UTF-8/Compose: tg_TJ.UTF-8 +-en_US.UTF-8/Compose: th_TH.UTF-8 ++XCOMM Following entry commented to allow Thai XIM as default for X apps ++XCOMM See Debian bug#520509 ++XCOMM en_US.UTF-8/Compose: th_TH.UTF-8 + en_US.UTF-8/Compose: ti_ER.UTF-8 + en_US.UTF-8/Compose: ti_ET.UTF-8 + en_US.UTF-8/Compose: tig_ER.UTF-8 --- libx11-1.4.99.1.orig/debian/patches/003_recognize_glibc_2.3.2_locale_names.diff +++ libx11-1.4.99.1/debian/patches/003_recognize_glibc_2.3.2_locale_names.diff @@ -0,0 +1,809 @@ +$Id: 011a_recognize_glibc_2.3.2_locale_names.diff 1064 2006-01-11 12:26:45Z ender $ + +Major housecleaning of X11's locale support. + +* Add all locales supported by version 2.3.2 of the GNU C Library except + zh_CN.GB18030, sq_AL.ISO-8859-1, and tg_TJ.KOI8-T. X has no support for + the GB18030 and KOI8-T character sets, and glibc appears to disagree with + most of the world about which character set Albanians use (see, for + example, iso_8859-2(7)). This baka gaijin has learned his lesson about + trying to report l10n bugs in glibc, so I'll let someone else do the + jousting. :-P + +* Synchronize compose.dir with locale.dir wherever possible (i.e., wherever + compose tables exist) so that as many supported locales as possible get a + Compose map. Comment out references to compose tables that don't + actually exist. + +* Disable support for iu_CA.NUNACOM-8. X11 doesn't have any support for + the NUNACOM-8 character set. (iu_CA.UTF-8 is still supported.) + +* Disable support for locales that are neither supported by the GNU C + Library, nor use standard ISO 639 language or 3166 territory codes. This + includes Esperanto (eo_EO), and what I presume is Pennsylvania + "Dutch" (pd_DE, pd_US). + +* Turn off intrusion of Nynorsk into Nyanja's ISO 639 space. (Nynorsk is + nn, not ny.) + +* Retain support for a3 as an alias for az (Azerbaijani), though I'm dubious + about it. + +* Turn off support for the bogus (and ancient) FreeBSD-ism of using + "lt_LN.ISO8859-1" as a "generic" Latin-1 locale. + +* Remove bogus "ee" locales for Estonian (et). + +* Remove ISO 8859-15 support for languages that don't use that character + set according to glibc. + +* Remove @euro modifier support from locales that don't use that currency + (i.e., countries not in the Euro zone). + +* Ensure we support the @euro modifier for all locales that use it + (according to glibc), even if the codeset is explicitly specified. See + Debian #208137. + +* Alias "fi" and "fi_FI" to "fi_FI.ISO8559-1", not "fi_FI.ISO8859-15", for + compatibility with the GNU C Library. See Debian #266834. + +* Rewrite some comments to be in grammatical English. + +This patch by Branden Robinson. +Major "forward port" by Nathanael Nerode. + +Partially submitted upstream. This is so large I don't expect it to all go in at once, +but any bit would help. --Nathanael + +--- a/nls/compose.dir.pre ++++ b/nls/compose.dir.pre +@@ -4,9 +4,17 @@ XCOMM The first word is the compose tabl + XCOMM the second word is full locale name. + XCOMM + XCOMM ++XCOMM Note that no Compose tables exist for ISO 8859-11, Microsoft code ++XCOMM pages, Fujitsu's S90 or U90 character sets, or TIS620 yet. ++XCOMM + iso8859-1/Compose: C ++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3". ++koi8-c/Compose: a3_AZ.KOI8-C ++iso8859-1/Compose: aa_DJ.ISO8859-1 + iso8859-1/Compose: af_ZA.ISO8859-1 ++iso8859-15/Compose: an_ES.ISO8859-15 + iso8859-6/Compose: ar_AA.ISO8859-6 ++iso8859-6/Compose: ar_AE.ISO8859-6 + iso8859-6/Compose: ar_BH.ISO8859-6 + iso8859-6/Compose: ar_DZ.ISO8859-6 + iso8859-6/Compose: ar_EG.ISO8859-6 +@@ -19,13 +27,17 @@ iso8859-6/Compose: ar_MA.ISO8859-6 + iso8859-6/Compose: ar_OM.ISO8859-6 + iso8859-6/Compose: ar_QA.ISO8859-6 + iso8859-6/Compose: ar_SA.ISO8859-6 ++iso8859-6/Compose: ar_SD.ISO8859-6 ++iso8859-6/Compose: ar_SY.ISO8859-6 + iso8859-6/Compose: ar_TN.ISO8859-6 + iso8859-6/Compose: ar_YE.ISO8859-6 + iso8859-9e/Compose: az_AZ.ISO8859-9E +-koi8-c/Compose: a3_AZ.KOI8-C ++koi8-c/Compose: az_AZ.KOI8-C ++iso8859-5/Compose: be_BY.ISO8859-5 + microsoft-cp1251/Compose: be_BY.CP1251 + iso8859-5/Compose: bg_BG.ISO8859-5 + microsoft-cp1251/Compose: bg_BG.CP1251 ++koi8-r/Compose: bg_BG.KOI8-R + iso8859-1/Compose: br_FR.ISO8859-1 + iso8859-14/Compose: br_FR.ISO8859-14 + iso8859-15/Compose: br_FR.ISO8859-15 +@@ -46,6 +58,8 @@ iso8859-1/Compose: da_DK.ISO8859-1 + iso8859-15/Compose: da_DK.ISO8859-15 + iso8859-1/Compose: de_AT.ISO8859-1 + iso8859-15/Compose: de_AT.ISO8859-15 ++iso8859-1/Compose: de_BE.ISO8859-1 ++iso8859-15/Compose: de_BE.ISO8859-15 + iso8859-1/Compose: de_CH.ISO8859-1 + iso8859-15/Compose: de_CH.ISO8859-15 + iso8859-1/Compose: de_DE.ISO8859-1 +@@ -55,15 +69,26 @@ iso8859-15/Compose: de_LI.ISO8859-15 + iso8859-1/Compose: de_LU.ISO8859-1 + iso8859-15/Compose: de_LU.ISO8859-15 + iso8859-7/Compose: el_GR.ISO8859-7 ++iso8859-15/Compose: el_GR.ISO8859-15 + iso8859-1/Compose: en_AU.ISO8859-1 ++iso8859-1/Compose: en_BE.ISO8859-1 ++iso8859-15/Compose: en_BE.ISO8859-15 ++iso8859-1/Compose: en_BW.ISO8859-1 + iso8859-1/Compose: en_BZ.ISO8859-1 + iso8859-1/Compose: en_CA.ISO8859-1 ++iso8859-1/Compose: en_DK.ISO8859-1 ++iso8859-15/Compose: en_DK.ISO8859-15 + iso8859-1/Compose: en_GB.ISO8859-1 + iso8859-15/Compose: en_GB.ISO8859-15 ++iso8859-1/Compose: en_HK.ISO8859-1 + iso8859-1/Compose: en_IE.ISO8859-1 + iso8859-15/Compose: en_IE.ISO8859-15 ++iso8859-1/Compose: en_IN.ISO8859-1 ++iso8859-15/Compose: en_IN.ISO8859-15 + iso8859-1/Compose: en_JM.ISO8859-1 + iso8859-1/Compose: en_NZ.ISO8859-1 ++iso8859-1/Compose: en_PH.ISO8859-1 ++iso8859-1/Compose: en_SG.ISO8859-1 + iso8859-1/Compose: en_TT.ISO8859-1 + iso8859-1/Compose: en_UK.ISO8859-1 + iso8859-15/Compose: en_UK.ISO8859-15 +@@ -71,6 +96,7 @@ iso8859-1/Compose: en_US.ISO8859-1 + iso8859-15/Compose: en_US.ISO8859-15 + iso8859-1/Compose: en_ZA.ISO8859-1 + iso8859-15/Compose: en_ZA.ISO8859-15 ++iso8859-1/Compose: en_ZW.ISO8859-1 + iso8859-3/Compose: eo_XX.ISO8859-3 + iso8859-1/Compose: es_AR.ISO8859-1 + iso8859-1/Compose: es_BO.ISO8859-1 +@@ -90,6 +116,7 @@ iso8859-1/Compose: es_PE.ISO8859-1 + iso8859-1/Compose: es_PR.ISO8859-1 + iso8859-1/Compose: es_PY.ISO8859-1 + iso8859-1/Compose: es_SV.ISO8859-1 ++iso8859-1/Compose: es_US.ISO8859-1 + iso8859-1/Compose: es_UY.ISO8859-1 + iso8859-1/Compose: es_VE.ISO8859-1 + iso8859-1/Compose: et_EE.ISO8859-1 +@@ -98,6 +125,8 @@ iso8859-13/Compose: et_EE.ISO8859-13 + iso8859-15/Compose: et_EE.ISO8859-15 + iso8859-1/Compose: eu_ES.ISO8859-1 + iso8859-15/Compose: eu_ES.ISO8859-15 ++iso8859-1/Compose: eu_FR.ISO8859-1 ++iso8859-15/Compose: eu_FR.ISO8859-15 + isiri-3342/Compose: fa_IR.ISIRI-3342 + iso8859-1/Compose: fi_FI.ISO8859-1 + iso8859-15/Compose: fi_FI.ISO8859-15 +@@ -131,11 +160,9 @@ iso8859-2/Compose: hr_HR.ISO8859-2 + iso8859-2/Compose: hu_HU.ISO8859-2 + armscii-8/Compose: hy_AM.ARMSCII-8 + iso8859-1/Compose: id_ID.ISO8859-1 +-iso8859-15/Compose: id_ID.ISO8859-15 + iso8859-1/Compose: is_IS.ISO8859-1 + iso8859-15/Compose: is_IS.ISO8859-15 + iso8859-1/Compose: it_CH.ISO8859-1 +-iso8859-15/Compose: it_CH.ISO8859-15 + iso8859-1/Compose: it_IT.ISO8859-1 + iso8859-15/Compose: it_IT.ISO8859-15 + ja/Compose: ja_JP.eucJP +@@ -144,14 +171,20 @@ ja.JIS/Compose: ja_JP.JIS7 + georgian-academy/Compose: ka_GE.GEORGIAN-ACADEMY + georgian-ps/Compose: ka_GE.GEORGIAN-PS + iso8859-1/Compose: kl_GL.ISO8859-1 +-iso8859-15/Compose: kl_GL.ISO8859-15 + iso8859-1/Compose: kw_GB.ISO8859-1 + iso8859-14/Compose: kw_GB.ISO8859-14 + iso8859-15/Compose: kw_GB.ISO8859-15 ++iso8859-10/Compose: lg_UG.ISO8859-10 + ko/Compose: ko_KR.eucKR + ibm-cp1133/Compose: lo_LA.IBM-CP1133 + mulelao-1/Compose: lo_LA.MULELAO-1 +-iso8859-1/Compose: lt_LN.ISO8859-1 ++#if defined(__FreeBSD__) ++XCOMM most locales in FreeBSD 2.1.[56] do not work, allow use of FreeBSD's ++XCOMM generic latin-1 locale name. N.B. "lt" is a bad code to use for a ++XCOMM generic Latin-1 locale anyway because it is the country code for ++XCOMM Lithuania, which by default uses Latin-7 (ISO-8859-13). ++XCOMM iso8859-1/Compose: lt_LN.ISO8859-1 ++#endif + iso8859-4/Compose: lt_LT.ISO8859-4 + iso8859-13/Compose: lt_LT.ISO8859-13 + iso8859-4/Compose: lv_LV.ISO8859-4 +@@ -178,25 +211,33 @@ iso8859-1/Compose: ny_NO.ISO8859-1 + iso8859-15/Compose: ny_NO.ISO8859-15 + iso8859-1/Compose: oc_FR.ISO8859-1 + iso8859-15/Compose: oc_FR.ISO8859-15 +-iso8859-1/Compose: pd_DE.ISO8859-1 +-iso8859-1/Compose: pd_US.ISO8859-1 ++iso8859-1/Compose: om_KE.ISO8859-1 ++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of ++German. ++XCOMM This is not an ISO language code defined for it, and the GNU C ++Library ++XCOMM doesn't support it. ++XCOMM iso8859-1/Compose: pd_DE.ISO8859-1 ++XCOMM iso8859-1/Compose: pd_US.ISO8859-1 + iso8859-1/Compose: ph_PH.ISO8859-1 + iso8859-2/Compose: pl_PL.ISO8859-2 + iso8859-1/Compose: pp_AN.ISO8859-1 + iso8859-1/Compose: pt_BR.ISO8859-1 +-iso8859-15/Compose: pt_BR.ISO8859-15 + iso8859-1/Compose: pt_PT.ISO8859-1 + iso8859-15/Compose: pt_PT.ISO8859-15 + iso8859-2/Compose: ro_RO.ISO8859-2 + koi8-r/Compose: ru_RU.KOI8-R + iso8859-5/Compose: ru_RU.ISO8859-5 + microsoft-cp1251/Compose: ru_RU.CP1251 ++microsoft-cp1251/Compose: ru_UA.CP1251 + koi8-u/Compose: ru_UA.KOI8-U + iso8859-1/Compose: rw_RW.ISO8859-1 + iso8859-2/Compose: sh_YU.ISO8859-2 + iso8859-2/Compose: sk_SK.ISO8859-2 +-iso8859-2/Compose: sl_CS.ISO8859-2 + iso8859-2/Compose: sl_SI.ISO8859-2 ++iso8859-1/Compose: so_DJ.ISO8859-1 ++iso8859-1/Compose: so_KE.ISO8859-1 ++iso8859-1/Compose: so_SO.ISO8859-1 + iso8859-2/Compose: sq_AL.ISO8859-2 + iso8859-2/Compose: sr_CS.ISO8859-2 + iso8859-5/Compose: sr_CS.ISO8859-5 +@@ -210,35 +251,53 @@ iso8859-1/Compose: sv_SE.ISO8859-1 + iso8859-15/Compose: sv_SE.ISO8859-15 + tscii-0/Compose: ta_IN.TSCII-0 + koi8-c/Compose: tg_TJ.KOI8-C ++XCOMM There was once a blank th_TH Compose map, but it was removed. See ++XCOMM . ++XCOMM iso8859-11/Compose: th_TH.ISO8859-11 ++XCOMM th_TH/Compose: th_TH.TIS620 + iso8859-1/Compose: tl_PH.ISO8859-1 + iso8859-15/Compose: tn_ZA.ISO8859-15 + iso8859-9/Compose: tr_TR.ISO8859-9 + iso8859-1/Compose: ts_ZA.ISO8859-1 + tatar-cyr/Compose: tt_RU.TATAR-CYR + koi8-c/Compose: tt_RU.KOI8-C ++iso8859-5/Compose: uk_UA.ISO8859-5 + koi8-u/Compose: uk_UA.KOI8-U + microsoft-cp1256/Compose: ur_PK.CP1256 ++iso8859-1/Compose: uz_UZ.ISO8859-1 + vi_VN.viscii/Compose: vi_VN.VISCII + vi_VN.tcvn/Compose: vi_VN.TCVN + iso8859-1/Compose: wa_BE.ISO8859-1 ++iso8859-15/Compose: wa_BE.ISO8859-15 + iso8859-1/Compose: xh_ZA.ISO8859-1 +-microsoft-cp1255/Compose: yi_US.CP1256 ++microsoft-cp1255/Compose: yi_US.CP1255 + zh_CN/Compose: zh_CN.eucCN +-zh_CN/Compose: zh_CN.GB2312 +-zh_CN.gbk/Compose: zh_CN.GBK ++zh_CN/Compose: zh_CN.gb2312 ++zh_CN.gbk/Compose: zh_CN.gbk ++zh_HK.big5/Compose: zh_HK.big5 ++zh_HK.big5hkscs/Compose: zh_HK.big5-hkscs ++zh_HK.big5hkscs/Compose: zh_HK.Big5-HKSCS ++zh_HK.big5hkscs/Compose: zh_HK.big5hkscs ++zh_HK.big5hkscs/Compose: zh_HK.Big5HKSCS ++zh_CN/Compose: zh_SG.gb2312 ++zh_CN.gbk/Compose: zh_SG.gbk + zh_CN.gb18030/Compose: zh_CN.GB18030 + zh_HK.big5/Compose: zh_HK.big5 +-zh_HK.big5/Compose: zh_HK.Big5 + zh_HK.big5hkscs/Compose: zh_HK.big5hkscs + zh_HK.big5hkscs/Compose: zh_HK.Big5HKSCS + zh_TW.big5/Compose: zh_TW.big5 + zh_TW.big5/Compose: zh_TW.Big5 + zh_TW/Compose: zh_TW.eucTW + iso8859-1/Compose: zu_ZA.ISO8859-1 +-XCOMM +-XCOMM ++XCOMM Note: The UTF-8 locales don't work correctly yet. Work in progress. ++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3". ++en_US.UTF-8/Compose: a3_AZ.UTF-8 ++en_US.UTF-8/Compose: aa_ER.UTF-8 ++en_US.UTF-8/Compose: aa_ET.UTF-8 + en_US.UTF-8/Compose: af_ZA.UTF-8 ++en_US.UTF-8/Compose: am_ET.UTF-8 + en_US.UTF-8/Compose: ar_AA.UTF-8 ++en_US.UTF-8/Compose: ar_AE.UTF-8 + en_US.UTF-8/Compose: ar_BH.UTF-8 + en_US.UTF-8/Compose: ar_DZ.UTF-8 + en_US.UTF-8/Compose: ar_EG.UTF-8 +@@ -252,16 +311,19 @@ en_US.UTF-8/Compose: ar_MA.UTF-8 + en_US.UTF-8/Compose: ar_OM.UTF-8 + en_US.UTF-8/Compose: ar_QA.UTF-8 + en_US.UTF-8/Compose: ar_SA.UTF-8 ++en_US.UTF-8/Compose: ar_SD.UTF-8 ++en_US.UTF-8/Compose: ar_SY.UTF-8 + en_US.UTF-8/Compose: ar_TN.UTF-8 + en_US.UTF-8/Compose: ar_YE.UTF-8 + en_US.UTF-8/Compose: bo_IN.UTF-8 + en_US.UTF-8/Compose: bs_BA.UTF-8 + en_US.UTF-8/Compose: az_AZ.UTF-8 +-en_US.UTF-8/Compose: a3_AZ.UTF-8 + en_US.UTF-8/Compose: be_BY.UTF-8 + en_US.UTF-8/Compose: bg_BG.UTF-8 ++en_US.UTF-8/Compose: bn_BD.UTF-8 + en_US.UTF-8/Compose: bn_IN.UTF-8 + en_US.UTF-8/Compose: br_FR.UTF-8 ++en_US.UTF-8/Compose: byn_ER.UTF-8 + en_US.UTF-8/Compose: ca_AD.UTF-8 + en_US.UTF-8/Compose: ca_ES.UTF-8 + en_US.UTF-8/Compose: ca_FR.UTF-8 +@@ -279,17 +341,25 @@ en_US.UTF-8/Compose: de_LU.UTF-8 + el_GR.UTF-8/Compose: el_CY.UTF-8 + el_GR.UTF-8/Compose: el_GR.UTF-8 + en_US.UTF-8/Compose: en_AU.UTF-8 ++en_US.UTF-8/Compose: en_BE.UTF-8 ++en_US.UTF-8/Compose: en_BW.UTF-8 + en_US.UTF-8/Compose: en_BZ.UTF-8 + en_US.UTF-8/Compose: en_CA.UTF-8 ++en_US.UTF-8/Compose: en_DK.UTF-8 + en_US.UTF-8/Compose: en_GB.UTF-8 ++en_US.UTF-8/Compose: en_HK.UTF-8 + en_US.UTF-8/Compose: en_IE.UTF-8 ++en_US.UTF-8/Compose: en_IN.UTF-8 + en_US.UTF-8/Compose: en_JM.UTF-8 + en_US.UTF-8/Compose: en_MT.UTF-8 + en_US.UTF-8/Compose: en_NZ.UTF-8 ++en_US.UTF-8/Compose: en_PH.UTF-8 ++en_US.UTF-8/Compose: en_SG.UTF-8 + en_US.UTF-8/Compose: en_TT.UTF-8 + en_US.UTF-8/Compose: en_UK.UTF-8 + en_US.UTF-8/Compose: en_US.UTF-8 + en_US.UTF-8/Compose: en_ZA.UTF-8 ++en_US.UTF-8/Compose: en_ZW.UTF-8 + en_US.UTF-8/Compose: eo_XX.UTF-8 + en_US.UTF-8/Compose: es_AR.UTF-8 + en_US.UTF-8/Compose: es_BO.UTF-8 +@@ -313,6 +383,7 @@ en_US.UTF-8/Compose: es_UY.UTF-8 + en_US.UTF-8/Compose: es_VE.UTF-8 + en_US.UTF-8/Compose: et_EE.UTF-8 + en_US.UTF-8/Compose: eu_ES.UTF-8 ++en_US.UTF-8/Compose: eu_FR.UTF-8 + en_US.UTF-8/Compose: fa_IR.UTF-8 + fi_FI.UTF-8/Compose: fi_FI.UTF-8 + en_US.UTF-8/Compose: fo_FO.UTF-8 +@@ -323,6 +394,8 @@ en_US.UTF-8/Compose: fr_FR.UTF-8 + en_US.UTF-8/Compose: fr_LU.UTF-8 + en_US.UTF-8/Compose: ga_IE.UTF-8 + en_US.UTF-8/Compose: gd_GB.UTF-8 ++en_US.UTF-8/Compose: gez_ER.UTF-8 ++en_US.UTF-8/Compose: gez_ET.UTF-8 + en_US.UTF-8/Compose: gl_ES.UTF-8 + en_US.UTF-8/Compose: gu_IN.UTF-8 + en_US.UTF-8/Compose: gv_GB.UTF-8 +@@ -337,10 +410,12 @@ en_US.UTF-8/Compose: is_IS.UTF-8 + en_US.UTF-8/Compose: it_CH.UTF-8 + en_US.UTF-8/Compose: it_IT.UTF-8 + en_US.UTF-8/Compose: iu_CA.UTF-8 ++en_US.UTF-8/Compose: iw_IL.UTF-8 + en_US.UTF-8/Compose: ja_JP.UTF-8 + en_US.UTF-8/Compose: ka_GE.UTF-8 + en_US.UTF-8/Compose: kl_GL.UTF-8 + en_US.UTF-8/Compose: kk_KZ.UTF-8 ++en_US.UTF-8/Compose: km_KH.UTF-8 + en_US.UTF-8/Compose: kn_IN.UTF-8 + en_US.UTF-8/Compose: ko_KR.UTF-8 + en_US.UTF-8/Compose: ks_IN.UTF-8 +@@ -354,9 +429,11 @@ en_US.UTF-8/Compose: mai_IN.UTF-8 + en_US.UTF-8/Compose: mi_NZ.UTF-8 + en_US.UTF-8/Compose: mk_MK.UTF-8 + en_US.UTF-8/Compose: ml_IN.UTF-8 ++en_US.UTF-8/Compose: mn_MN.UTF-8 + en_US.UTF-8/Compose: mr_IN.UTF-8 + en_US.UTF-8/Compose: ms_MY.UTF-8 + en_US.UTF-8/Compose: mt_MT.UTF-8 ++en_US.UTF-8/Compose: ne_NP.UTF-8 + en_US.UTF-8/Compose: nl_BE.UTF-8 + en_US.UTF-8/Compose: nl_NL.UTF-8 + en_US.UTF-8/Compose: nn_NO.UTF-8 +@@ -364,13 +441,19 @@ en_US.UTF-8/Compose: no_NO.UTF-8 + en_US.UTF-8/Compose: nb_NO.UTF-8 + en_US.UTF-8/Compose: nr_ZA.UTF-8 + en_US.UTF-8/Compose: nso_ZA.UTF-8 +-en_US.UTF-8/Compose: ny_NO.UTF-8 ++XCOMM ny is the language code for Nyanja (spoken in Malawi), not Nynorsk. ++XCOMM See . ++XCOMM en_US.UTF-8/Compose: ny_NO.UTF-8 + en_US.UTF-8/Compose: oc_FR.UTF-8 + en_US.UTF-8/Compose: or_IN.UTF-8 ++en_US.UTF-8/Compose: om_ET.UTF-8 + en_US.UTF-8/Compose: pa_IN.UTF-8 + en_US.UTF-8/Compose: pa_PK.UTF-8 +-en_US.UTF-8/Compose: pd_DE.UTF-8 +-en_US.UTF-8/Compose: pd_US.UTF-8 ++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of German. ++XCOMM This is not an ISO language code defined for it, and the GNU C Library ++XCOMM doesn't support it. ++XCOMM en_US.UTF-8/Compose: pd_DE.UTF-8 ++XCOMM en_US.UTF-8/Compose: pd_US.UTF-8 + en_US.UTF-8/Compose: ph_PH.UTF-8 + en_US.UTF-8/Compose: pl_PL.UTF-8 + en_US.UTF-8/Compose: pp_AN.UTF-8 +@@ -383,10 +466,14 @@ en_US.UTF-8/Compose: rw_RW.UTF-8 + en_US.UTF-8/Compose: sa_IN.UTF-8 + en_US.UTF-8/Compose: sd_IN.UTF-8 + en_US.UTF-8/Compose: sd_IN@devanagari.UTF-8 ++en_US.UTF-8/Compose: se_NO.UTF-8 + en_US.UTF-8/Compose: sh_BA.UTF-8 ++en_US.UTF-8/Compose: sh_YU.UTF-8 ++en_US.UTF-8/Compose: sid_ET.UTF-8 + en_US.UTF-8/Compose: si_LK.UTF-8 + en_US.UTF-8/Compose: sk_SK.UTF-8 + en_US.UTF-8/Compose: sl_SI.UTF-8 ++en_US.UTF-8/Compose: so_ET.UTF-8 + en_US.UTF-8/Compose: sq_AL.UTF-8 + en_US.UTF-8/Compose: sr_CS.UTF-8 + en_US.UTF-8/Compose: sr_ME.UTF-8 +@@ -400,6 +487,9 @@ en_US.UTF-8/Compose: ta_IN.UTF-8 + en_US.UTF-8/Compose: te_IN.UTF-8 + en_US.UTF-8/Compose: tg_TJ.UTF-8 + en_US.UTF-8/Compose: th_TH.UTF-8 ++en_US.UTF-8/Compose: ti_ER.UTF-8 ++en_US.UTF-8/Compose: ti_ET.UTF-8 ++en_US.UTF-8/Compose: tig_ER.UTF-8 + en_US.UTF-8/Compose: tl_PH.UTF-8 + en_US.UTF-8/Compose: tn_ZA.UTF-8 + en_US.UTF-8/Compose: tr_TR.UTF-8 +--- a/nls/locale.alias.pre ++++ b/nls/locale.alias.pre +@@ -308,6 +308,12 @@ en_CA.iso88591: en_CA.ISO8859-1 + en_CA.ISO-8859-1: en_CA.ISO8859-1 + en_CA.ISO_8859-1: en_CA.ISO8859-1 + en_CA.utf8: en_CA.UTF-8 ++en_DK: en_DK.ISO8859-1 ++en_DK.iso88591: en_DK.ISO8859-1 ++en_DK.ISO-8859-1: en_DK.ISO8859-1 ++en_DK.iso885915: en_DK.ISO8859-15 ++en_DK.ISO-8859-15: en_DK.ISO8859-15 ++en_DK.utf8: en_DK.UTF-8 + en_GB: en_GB.ISO8859-1 + en_GB.88591: en_GB.ISO8859-1 + en_GB.88591.en: en_GB.ISO8859-1 +@@ -356,6 +362,16 @@ en_US.8859-15: en_US.ISO8859-15 + en_US.ISO8859-15@euro: en_US.ISO8859-15 + en_US.utf8: en_US.UTF-8 + EN_US.UTF-8: en_US.UTF-8 ++en_US.88591.en: en_US.ISO8859-1 ++en_US.iso88591: en_US.ISO8859-1 ++en_US.ISO-8859-1: en_US.ISO8859-1 ++en_US.ISO_8859-1: en_US.ISO8859-1 ++en_US.iso885915: en_US.ISO8859-15 ++en_US.ISO-8859-15: en_US.ISO8859-15 ++en_US.8859-15: en_US.ISO8859-15 ++en_US.ISO8859-15@euro: en_US.ISO8859-15 ++en_US.utf8: en_US.UTF-8 ++EN_US.UTF-8: en_US.UTF-8 + en_ZA: en_ZA.ISO8859-1 + en_ZA.88591: en_ZA.ISO8859-1 + en_ZA.88591.en: en_ZA.ISO8859-1 +@@ -727,6 +743,10 @@ kl_GL.iso88591: kl_GL.ISO8859-1 + kl_GL.ISO-8859-1: kl_GL.ISO8859-1 + kl_GL.iso885915: kl_GL.ISO8859-15 + kl_GL.utf8: kl_GL.UTF-8 ++km: km_KH.UTF-8 ++km_KH: km_KH.UTF-8 ++km_KH.utf8: km_KH.UTF-8 ++km_KH.UTF-8: km_KH.UTF-8 + kn: kn_IN.UTF-8 + kn_IN.utf8: kn_IN.UTF-8 + kn_IN.UTF-8: kn_IN.UTF-8 +@@ -927,7 +947,6 @@ pt_BR.88591.en: pt_BR.ISO8859-1 + pt_BR.iso88591: pt_BR.ISO8859-1 + pt_BR.ISO-8859-1: pt_BR.ISO8859-1 + pt_BR.ISO_8859-1: pt_BR.ISO8859-1 +-pt_BR.iso885915: pt_BR.ISO8859-15 + pt_BR.utf8: pt_BR.UTF-8 + pt_PT: pt_PT.ISO8859-1 + pt_PT.88591: pt_PT.ISO8859-1 +@@ -988,11 +1007,11 @@ XCOMM CS was the old ISO code for Serbia + XCOMM These lines should be deleted in the future. + sh: sr_RS.UTF-8@latin + sh_BA.ISO8859-2@bosnia: sr_CS.ISO8859-2 +-sh_HR.iso88592: hr_HR.ISO8859-2 + sh_YU: sr_RS.UTF-8@latin + sh_YU.utf8: sr_RS.UTF-8@latin + si: si_LK.UTF-8 + si_LK: si_LK.UTF-8 ++sid_ET: sid_ET.UTF-8 + sk: sk_SK.ISO8859-2 + sk_SK: sk_SK.ISO8859-2 + sk_SK.iso88592: sk_SK.ISO8859-2 +@@ -1201,7 +1220,7 @@ XCOMM The following locale names are use + american.iso88591: en_US.ISO8859-1 + arabic.iso88596: ar_AA.ISO8859-6 + bokmal: nb_NO.ISO8859-1 +-bokml: nb_NO.ISO8859-1 ++bokm�: nb_NO.ISO8859-1 + bulgarian: bg_BG.CP1251 + c-french.iso88591: fr_CA.ISO8859-1 + catalan: ca_ES.ISO8859-1 +@@ -1216,11 +1235,11 @@ deutsch: de_DE.ISO8859-1 + dutch: nl_NL.ISO8859-1 + dutch.iso88591: nl_BE.ISO8859-1 + eesti: et_EE.ISO8859-1 +-english.iso88591: en_EN.ISO8859-1 ++english.iso88591: en_US.ISO8859-1 + estonian: et_EE.ISO8859-1 + finnish: fi_FI.ISO8859-1 + finnish.iso88591: fi_FI.ISO8859-1 +-franais: fr_FR.ISO8859-1 ++fran�is: fr_FR.ISO8859-1 + french: fr_FR.ISO8859-1 + french.iso88591: fr_CH.ISO8859-1 + galego: gl_ES.ISO8859-1 +@@ -1229,8 +1248,8 @@ german: de_DE.ISO8859-1 + german.iso88591: de_CH.ISO8859-1 + greek: el_GR.ISO8859-7 + greek.iso88597: el_GR.ISO8859-7 +-hebrew: iw_IL.ISO8859-8 +-hebrew.iso88598: iw_IL.ISO8859-8 ++hebrew: he_IL.ISO8859-8 ++hebrew.iso88598: he_IL.ISO8859-8 + hrvatski: hr_HR.ISO8859-2 + hungarian: hu_HU.ISO8859-2 + icelandic.iso88591: is_IS.ISO8859-1 +--- a/nls/locale.dir.pre ++++ b/nls/locale.dir.pre +@@ -6,8 +6,13 @@ XCOMM + XCOMM + + C/XLC_LOCALE: C ++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3". ++koi8-c/XLC_LOCALE: a3_AZ.KOI8-C ++iso8859-1/XLC_LOCALE: aa_DJ.ISO8859-1 + iso8859-1/XLC_LOCALE: af_ZA.ISO8859-1 ++iso8859-15/XLC_LOCALE: an_ES.ISO8859-15 + iso8859-6/XLC_LOCALE: ar_AA.ISO8859-6 ++iso8859-6/XLC_LOCALE: ar_AE.ISO8859-6 + iso8859-6/XLC_LOCALE: ar_BH.ISO8859-6 + iso8859-6/XLC_LOCALE: ar_DZ.ISO8859-6 + iso8859-6/XLC_LOCALE: ar_EG.ISO8859-6 +@@ -35,6 +40,7 @@ iso8859-2/XLC_LOCALE: bs_BA.ISO8859-2 + iso8859-1/XLC_LOCALE: br_FR.ISO8859-1 + iso8859-14/XLC_LOCALE: br_FR.ISO8859-14 + iso8859-15/XLC_LOCALE: br_FR.ISO8859-15 ++iso8859-2/XLC_LOCALE: bs_BA.ISO8859-2 + iso8859-1/XLC_LOCALE: ca_AD.ISO8859-1 + iso8859-15/XLC_LOCALE: ca_AD.ISO8859-15 + iso8859-1/XLC_LOCALE: ca_ES.ISO8859-1 +@@ -47,7 +53,6 @@ iso8859-2/XLC_LOCALE: cs_CZ.ISO8859-2 + iso8859-1/XLC_LOCALE: cy_GB.ISO8859-1 + iso8859-14/XLC_LOCALE: cy_GB.ISO8859-14 + iso8859-15/XLC_LOCALE: cy_GB.ISO8859-15 +-iso8859-2/XLC_LOCALE: cz_CZ.ISO8859-2 + iso8859-1/XLC_LOCALE: da_DK.ISO8859-1 + iso8859-15/XLC_LOCALE: da_DK.ISO8859-15 + iso8859-1/XLC_LOCALE: de_AT.ISO8859-1 +@@ -59,20 +64,25 @@ iso8859-15/XLC_LOCALE: de_CH.ISO8859-1 + iso8859-1/XLC_LOCALE: de_DE.ISO8859-1 + iso8859-15/XLC_LOCALE: de_DE.ISO8859-15 + iso8859-1/XLC_LOCALE: de_LI.ISO8859-1 ++iso8859-15/XLC_LOCALE: de_LI.ISO8859-15 + iso8859-1/XLC_LOCALE: de_LU.ISO8859-1 + iso8859-15/XLC_LOCALE: de_LU.ISO8859-15 +-iso8859-7/XLC_LOCALE: el_GR.ISO8859-7 ++iso8859-7/XLC_LOCALE: el_GR.ISO8859-7 + iso8859-15/XLC_LOCALE: el_GR.ISO8859-15 + iso8859-1/XLC_LOCALE: en_AU.ISO8859-1 + iso8859-1/XLC_LOCALE: en_BE.ISO8859-1 ++iso8859-15/XLC_LOCALE: en_BE.ISO8859-15 + iso8859-1/XLC_LOCALE: en_BZ.ISO8859-1 + iso8859-1/XLC_LOCALE: en_BW.ISO8859-1 + iso8859-1/XLC_LOCALE: en_CA.ISO8859-1 ++iso8859-1/XLC_LOCALE: en_DK.ISO8859-1 ++iso8859-15/XLC_LOCALE: en_DK.ISO8859-15 + iso8859-1/XLC_LOCALE: en_GB.ISO8859-1 + iso8859-15/XLC_LOCALE: en_GB.ISO8859-15 + iso8859-1/XLC_LOCALE: en_HK.ISO8859-1 + iso8859-1/XLC_LOCALE: en_IE.ISO8859-1 + iso8859-15/XLC_LOCALE: en_IE.ISO8859-15 ++iso8859-1/XLC_LOCALE: en_IN.ISO8859-1 + iso8859-15/XLC_LOCALE: en_IN.ISO8859-15 + iso8859-1/XLC_LOCALE: en_JM.ISO8859-1 + iso8859-1/XLC_LOCALE: en_NZ.ISO8859-1 +@@ -85,7 +95,9 @@ iso8859-1/XLC_LOCALE: en_US.ISO8859-1 + iso8859-15/XLC_LOCALE: en_US.ISO8859-15 + iso8859-1/XLC_LOCALE: en_ZA.ISO8859-1 + iso8859-15/XLC_LOCALE: en_ZA.ISO8859-15 +-iso8859-3/XLC_LOCALE: eo_EO.ISO8859-3 ++iso8859-1/XLC_LOCALE: en_ZW.ISO8859-1 ++XCOMM The EO territory doesn't exist in ISO 3166. ++XCOMM iso8859-3/XLC_LOCALE: eo_EO.ISO8859-3 + iso8859-3/XLC_LOCALE: eo_XX.ISO8859-3 + iso8859-1/XLC_LOCALE: es_AR.ISO8859-1 + iso8859-1/XLC_LOCALE: es_BO.ISO8859-1 +@@ -114,6 +126,8 @@ iso8859-13/XLC_LOCALE: et_EE.ISO8859- + iso8859-15/XLC_LOCALE: et_EE.ISO8859-15 + iso8859-1/XLC_LOCALE: eu_ES.ISO8859-1 + iso8859-15/XLC_LOCALE: eu_ES.ISO8859-15 ++iso8859-1/XLC_LOCALE: eu_FR.ISO8859-1 ++iso8859-15/XLC_LOCALE: eu_FR.ISO8859-15 + isiri-3342/XLC_LOCALE: fa_IR.ISIRI-3342 + iso8859-1/XLC_LOCALE: fi_FI.ISO8859-1 + iso8859-15/XLC_LOCALE: fi_FI.ISO8859-15 +@@ -162,6 +176,7 @@ ko/XLC_LOCALE: ko_KR.eucKR + iso8859-1/XLC_LOCALE: kw_GB.ISO8859-1 + iso8859-14/XLC_LOCALE: kw_GB.ISO8859-14 + iso8859-15/XLC_LOCALE: kw_GB.ISO8859-15 ++iso8859-10/XLC_LOCALE: lg_UG.ISO8859-10 + ibm-cp1133/XLC_LOCALE: lo_LA.IBM-CP1133 + mulelao-1/XLC_LOCALE: lo_LA.MULELAO-1 + iso8859-4/XLC_LOCALE: lt_LT.ISO8859-4 +@@ -189,8 +204,12 @@ iso8859-1/XLC_LOCALE: ny_NO.ISO8859-1 + iso8859-1/XLC_LOCALE: ny_NO.ISO8859-15 + iso8859-1/XLC_LOCALE: oc_FR.ISO8859-1 + iso8859-15/XLC_LOCALE: oc_FR.ISO8859-15 +-iso8859-1/XLC_LOCALE: pd_DE.ISO8859-1 +-iso8859-1/XLC_LOCALE: ph_PH.ISO8859-1 ++iso8859-1/XLC_LOCALE: om_KE.ISO8859-1 ++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of German. ++XCOMM This is not an ISO language code defined for it, and the GNU C Library ++XCOMM doesn't support it. ++XCOMM iso8859-1/XLC_LOCALE: pd_DE.ISO8859-1 ++Iso8859-1/XLC_LOCALE: ph_PH.ISO8859-1 + iso8859-2/XLC_LOCALE: pl_PL.ISO8859-2 + iso8859-1/XLC_LOCALE: pp_AN.ISO8859-1 + iso8859-1/XLC_LOCALE: pt_BR.ISO8859-1 +@@ -200,11 +219,15 @@ iso8859-2/XLC_LOCALE: ro_RO.ISO8859-2 + iso8859-5/XLC_LOCALE: ru_RU.ISO8859-5 + microsoft-cp1251/XLC_LOCALE: ru_RU.CP1251 + koi8-r/XLC_LOCALE: ru_RU.KOI8-R ++microsoft-cp1251/XLC_LOCALE: ru_UA.CP1251 + koi8-u/XLC_LOCALE: ru_UA.KOI8-U + iso8859-1/XLC_LOCALE: rw_RW.ISO8859-1 + iso8859-2/XLC_LOCALE: sh_YU.ISO8859-2 + iso8859-2/XLC_LOCALE: sk_SK.ISO8859-2 + iso8859-2/XLC_LOCALE: sl_SI.ISO8859-2 ++iso8859-1/XLC_LOCALE: so_DJ.ISO8859-1 ++iso8859-1/XLC_LOCALE: so_KE.ISO8859-1 ++iso8859-1/XLC_LOCALE: so_SO.ISO8859-1 + iso8859-2/XLC_LOCALE: sq_AL.ISO8859-2 + iso8859-2/XLC_LOCALE: sr_CS.ISO8859-2 + iso8859-5/XLC_LOCALE: sr_CS.ISO8859-5 +@@ -219,8 +242,8 @@ iso8859-1/XLC_LOCALE: sv_SE.ISO8859-1 + iso8859-15/XLC_LOCALE: sv_SE.ISO8859-15 + tscii-0/XLC_LOCALE: ta_IN.TSCII-0 + koi8-c/XLC_LOCALE: tg_TJ.KOI8-C +-th_TH/XLC_LOCALE: th_TH.TIS620 + iso8859-11/XLC_LOCALE: th_TH.ISO8859-11 ++th_TH/XLC_LOCALE: th_TH.TIS620 + iso8859-1/XLC_LOCALE: tl_PH.ISO8859-1 + iso8859-15/XLC_LOCALE: tn_ZA.ISO8859-15 + iso8859-9/XLC_LOCALE: tr_TR.ISO8859-9 +@@ -231,6 +254,7 @@ iso8859-5/XLC_LOCALE: uk_UA.ISO8859-5 + microsoft-cp1251/XLC_LOCALE: uk_UA.CP1251 + koi8-u/XLC_LOCALE: uk_UA.KOI8-U + microsoft-cp1256/XLC_LOCALE: ur_PK.CP1256 ++iso8859-1/XLC_LOCALE: uz_UZ.ISO8859-1 + vi_VN.tcvn/XLC_LOCALE: vi_VN.TCVN + vi_VN.viscii/XLC_LOCALE: vi_VN.VISCII + iso8859-1/XLC_LOCALE: wa_BE.ISO8859-1 +@@ -246,10 +270,17 @@ zh_HK.big5hkscs/XLC_LOCALE: zh_HK.big5- + zh_HK.big5hkscs/XLC_LOCALE: zh_HK.Big5-HKSCS + zh_HK.big5hkscs/XLC_LOCALE: zh_HK.big5hkscs + zh_HK.big5hkscs/XLC_LOCALE: zh_HK.Big5HKSCS ++zh_CN/XLC_LOCALE: zh_SG.gb2312 ++zh_CN.gbk/XLC_LOCALE: zh_SG.gbk + zh_TW.big5/XLC_LOCALE: zh_TW.big5 + zh_TW/XLC_LOCALE: zh_TW.eucTW + iso8859-1/XLC_LOCALE: zu_ZA.ISO8859-1 + XCOMM Note: The UTF-8 locales don't work correctly yet. Work in progress. ++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like ++XCOMM "3". ++en_US.UTF-8/XLC_LOCALE: a3_AZ.UTF-8 ++en_US.UTF-8/XLC_LOCALE: aa_ER.UTF-8 ++en_US.UTF-8/XLC_LOCALE: aa_ET.UTF-8 + en_US.UTF-8/XLC_LOCALE: af_ZA.UTF-8 + en_US.UTF-8/XLC_LOCALE: am_ET.UTF-8 + en_US.UTF-8/XLC_LOCALE: ar_AA.UTF-8 +@@ -274,13 +305,13 @@ en_US.UTF-8/XLC_LOCALE: ar_TN.UTF-8 + en_US.UTF-8/XLC_LOCALE: ar_YE.UTF-8 + en_US.UTF-8/XLC_LOCALE: as_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: az_AZ.UTF-8 +-en_US.UTF-8/XLC_LOCALE: a3_AZ.UTF-8 + en_US.UTF-8/XLC_LOCALE: be_BY.UTF-8 + en_US.UTF-8/XLC_LOCALE: bg_BG.UTF-8 + en_US.UTF-8/XLC_LOCALE: bn_BD.UTF-8 + en_US.UTF-8/XLC_LOCALE: bn_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: bo_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: br_FR.UTF-8 ++en_US.UTF-8/XLC_LOCALE: byn_ER.UTF-8 + en_US.UTF-8/XLC_LOCALE: ca_AD.UTF-8 + en_US.UTF-8/XLC_LOCALE: ca_ES.UTF-8 + en_US.UTF-8/XLC_LOCALE: ca_FR.UTF-8 +@@ -299,18 +330,26 @@ en_US.UTF-8/XLC_LOCALE: el_CY.UTF-8 + en_US.UTF-8/XLC_LOCALE: el_GR.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_AU.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_BE.UTF-8 ++en_US.UTF-8/XLC_LOCALE: en_BW.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_BZ.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_CA.UTF-8 ++en_US.UTF-8/XLC_LOCALE: en_DK.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_GB.UTF-8 ++en_US.UTF-8/XLC_LOCALE: en_HK.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_IE.UTF-8 ++en_US.UTF-8/XLC_LOCALE: en_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_JM.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_MT.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_NZ.UTF-8 ++en_US.UTF-8/XLC_LOCALE: en_PH.UTF-8 ++en_US.UTF-8/XLC_LOCALE: en_SG.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_TT.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_UK.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_US.UTF-8 + en_US.UTF-8/XLC_LOCALE: en_ZA.UTF-8 +-en_US.UTF-8/XLC_LOCALE: eo_EO.UTF-8 ++en_US.UTF-8/XLC_LOCALE: en_ZW.UTF-8 ++XCOMM The EO territory doesn't exist in ISO 3166. ++XCOMM en_US.UTF-8/XLC_LOCALE: eo_EO.UTF-8 + en_US.UTF-8/XLC_LOCALE: eo_XX.UTF-8 + en_US.UTF-8/XLC_LOCALE: es_AR.UTF-8 + en_US.UTF-8/XLC_LOCALE: es_BO.UTF-8 +@@ -334,6 +373,7 @@ en_US.UTF-8/XLC_LOCALE: es_UY.UTF-8 + en_US.UTF-8/XLC_LOCALE: es_VE.UTF-8 + en_US.UTF-8/XLC_LOCALE: et_EE.UTF-8 + en_US.UTF-8/XLC_LOCALE: eu_ES.UTF-8 ++en_US.UTF-8/XLC_LOCALE: eu_FR.UTF-8 + en_US.UTF-8/XLC_LOCALE: fa_IR.UTF-8 + en_US.UTF-8/XLC_LOCALE: fi_FI.UTF-8 + en_US.UTF-8/XLC_LOCALE: fo_FO.UTF-8 +@@ -344,6 +384,8 @@ en_US.UTF-8/XLC_LOCALE: fr_FR.UTF-8 + en_US.UTF-8/XLC_LOCALE: fr_LU.UTF-8 + en_US.UTF-8/XLC_LOCALE: ga_IE.UTF-8 + en_US.UTF-8/XLC_LOCALE: gd_GB.UTF-8 ++en_US.UTF-8/XLC_LOCALE: gez_ER.UTF-8 ++en_US.UTF-8/XLC_LOCALE: gez_ET.UTF-8 + en_US.UTF-8/XLC_LOCALE: gl_ES.UTF-8 + en_US.UTF-8/XLC_LOCALE: gu_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: gv_GB.UTF-8 +@@ -358,10 +400,12 @@ en_US.UTF-8/XLC_LOCALE: is_IS.UTF-8 + en_US.UTF-8/XLC_LOCALE: it_CH.UTF-8 + en_US.UTF-8/XLC_LOCALE: it_IT.UTF-8 + en_US.UTF-8/XLC_LOCALE: iu_CA.UTF-8 ++en_US.UTF-8/XLC_LOCALE: iw_IL.UTF-8 + ja_JP.UTF-8/XLC_LOCALE: ja_JP.UTF-8 + en_US.UTF-8/XLC_LOCALE: ka_GE.UTF-8 + en_US.UTF-8/XLC_LOCALE: kl_GL.UTF-8 + en_US.UTF-8/XLC_LOCALE: kk_KZ.UTF-8 ++en_US.UTF-8/XLC_LOCALE: km_KH.UTF-8 + en_US.UTF-8/XLC_LOCALE: kn_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: ks_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: ks_IN@devanagari.UTF-8 +@@ -375,23 +419,31 @@ en_US.UTF-8/XLC_LOCALE: + en_US.UTF-8/XLC_LOCALE: mi_NZ.UTF-8 + en_US.UTF-8/XLC_LOCALE: mk_MK.UTF-8 + en_US.UTF-8/XLC_LOCALE: ml_IN.UTF-8 ++en_US.UTF-8/XLC_LOCALE: mn_MN.UTF-8 + en_US.UTF-8/XLC_LOCALE: mr_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: ms_MY.UTF-8 + en_US.UTF-8/XLC_LOCALE: mt_MT.UTF-8 ++en_US.UTF-8/XLC_LOCALE: ne_NP.UTF-8 + en_US.UTF-8/XLC_LOCALE: nl_BE.UTF-8 + en_US.UTF-8/XLC_LOCALE: nl_NL.UTF-8 + en_US.UTF-8/XLC_LOCALE: nb_NO.UTF-8 + en_US.UTF-8/XLC_LOCALE: nn_NO.UTF-8 ++XCOMM ny is the language code for Nyanja (spoken in Malawi), not Nynorsk. ++XCOMM See . ++XCOMM en_US.UTF-8/XLC_LOCALE: ny_NO.UTF-8 + en_US.UTF-8/XLC_LOCALE: no_NO.UTF-8 + en_US.UTF-8/XLC_LOCALE: nr_ZA.UTF-8 + en_US.UTF-8/XLC_LOCALE: nso_ZA.UTF-8 +-en_US.UTF-8/XLC_LOCALE: ny_NO.UTF-8 + en_US.UTF-8/XLC_LOCALE: oc_FR.UTF-8 ++en_US.UTF-8/XLC_LOCALE: om_ET.UTF-8 + en_US.UTF-8/XLC_LOCALE: or_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: pa_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: pa_PK.UTF-8 +-en_US.UTF-8/XLC_LOCALE: pd_DE.UTF-8 +-en_US.UTF-8/XLC_LOCALE: pd_US.UTF-8 ++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of German. ++XCOMM This is not an ISO language code defined for it, and the GNU C Library ++XCOMM doesn't support it. ++XCOMM en_US.UTF-8/XLC_LOCALE: pd_DE.UTF-8 ++XCOMM en_US.UTF-8/XLC_LOCALE: pd_US.UTF-8 + en_US.UTF-8/XLC_LOCALE: ph_PH.UTF-8 + en_US.UTF-8/XLC_LOCALE: pl_PL.UTF-8 + en_US.UTF-8/XLC_LOCALE: pp_AN.UTF-8 +@@ -405,11 +457,13 @@ en_US.UTF-8/XLC_LOCALE: + en_US.UTF-8/XLC_LOCALE: sd_IN.UTF-8 + en_US.UTF-8/XLC_LOCALE: sd_IN@devanagari.UTF-8 + en_US.UTF-8/XLC_LOCALE: se_NO.UTF-8 ++en_US.UTF-8/XLC_LOCALE: sid_ET.UTF-8 + en_US.UTF-8/XLC_LOCALE: sh_BA.UTF-8 + en_US.UTF-8/XLC_LOCALE: sh_YU.UTF-8 + en_US.UTF-8/XLC_LOCALE: si_LK.UTF-8 + en_US.UTF-8/XLC_LOCALE: sk_SK.UTF-8 + en_US.UTF-8/XLC_LOCALE: sl_SI.UTF-8 ++en_US.UTF-8/XLC_LOCALE: so_ET.UTF-8 + en_US.UTF-8/XLC_LOCALE: sq_AL.UTF-8 + en_US.UTF-8/XLC_LOCALE: sr_CS.UTF-8 + en_US.UTF-8/XLC_LOCALE: sr_ME.UTF-8 +@@ -425,6 +479,7 @@ en_US.UTF-8/XLC_LOCALE: tg_TJ.UTF-8 + th_TH.UTF-8/XLC_LOCALE: th_TH.UTF-8 + en_US.UTF-8/XLC_LOCALE: ti_ER.UTF-8 + en_US.UTF-8/XLC_LOCALE: ti_ET.UTF-8 ++en_US.UTF-8/XLC_LOCALE: tig_ER.UTF-8 + en_US.UTF-8/XLC_LOCALE: tl_PH.UTF-8 + en_US.UTF-8/XLC_LOCALE: tn_ZA.UTF-8 + en_US.UTF-8/XLC_LOCALE: tr_TR.UTF-8 --- libx11-1.4.99.1.orig/debian/patches/007_iso8859-15_Compose_fix.diff +++ libx11-1.4.99.1/debian/patches/007_iso8859-15_Compose_fix.diff @@ -0,0 +1,137 @@ +$Id: 019_iso8859-15_Compose_fix.diff 396 2005-07-22 21:45:02Z dnusinow $ + +This patch by Wolfgang Sourdeau and Rüdiger Kuhlmann. + +Account for lack of spacing diaeresis key and codepoint. + +http://bugs.debian.org/97433 + +--- a/nls/iso8859-15/Compose.pre ++++ b/nls/iso8859-15/Compose.pre +@@ -155,8 +155,7 @@ XCOMM Special Character + : "\367" division + : "\367" division + : "\327" multiply +- : "\264" acute +- : "\270" cedilla ++ : "'" apostrophe + : "\"" quotedbl + XCOMM Accented Alphabet + : "\300" Agrave +@@ -175,8 +174,6 @@ XCOMM Accented Alphabet + : "\303" Atilde + : "\304" Adiaeresis + : "\304" Adiaeresis +- : "\304" Adiaeresis +- : "\304" Adiaeresis + : "\305" Aring + : "\305" Aring + : "\305" Aring +@@ -198,8 +195,6 @@ XCOMM Accented Alphabet + : "\343" atilde + : "\344" adiaeresis + : "\344" adiaeresis +- : "\344" adiaeresis +- : "\344" adiaeresis + : "\345" aring + : "\345" aring + : "\345" aring +@@ -231,8 +226,6 @@ XCOMM Accented Alphabet + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\313" Ediaeresis +- : "\313" Ediaeresis +- : "\313" Ediaeresis + : "\350" egrave + : "\350" egrave + : "\351" eacute +@@ -245,8 +238,6 @@ XCOMM Accented Alphabet + : "\352" ecircumflex + : "\353" ediaeresis + : "\353" ediaeresis +- : "\353" ediaeresis +- : "\353" ediaeresis + : "\314" Igrave + : "\314" Igrave + : "\315" Iacute +@@ -259,8 +250,6 @@ XCOMM Accented Alphabet + : "\316" Icircumflex + : "\317" Idiaeresis + : "\317" Idiaeresis +- : "\317" Idiaeresis +- : "\317" Idiaeresis + : "\354" igrave + : "\354" igrave + : "\355" iacute +@@ -273,8 +262,6 @@ XCOMM Accented Alphabet + : "\356" icircumflex + : "\357" idiaeresis + : "\357" idiaeresis +- : "\357" idiaeresis +- : "\357" idiaeresis + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde +@@ -299,8 +286,6 @@ XCOMM Accented Alphabet + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis +- : "\326" Odiaeresis +- : "\326" Odiaeresis + : "\330" Ooblique + : "\330" Ooblique + : "\274" OE +@@ -320,8 +305,6 @@ XCOMM Accented Alphabet + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis +- : "\366" odiaeresis +- : "\366" odiaeresis + : "\370" oslash + : "\370" oslash + : "\275" oe +@@ -341,8 +324,6 @@ XCOMM Accented Alphabet + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis +- : "\334" Udiaeresis +- : "\334" Udiaeresis + : "\371" ugrave + : "\371" ugrave + : "\372" uacute +@@ -355,8 +336,6 @@ XCOMM Accented Alphabet + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis +- : "\374" udiaeresis +- : "\374" udiaeresis + : "\337" ssharp + : "\336" THORN + : "\376" thorn +@@ -366,16 +345,12 @@ XCOMM Accented Alphabet + : "\335" Yacute + : "\276" Ydiaeresis + : "\276" Ydiaeresis +- : "\276" Ydiaeresis +- : "\276" Ydiaeresis + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\377" ydiaeresis + : "\377" ydiaeresis +- : "\377" ydiaeresis +- : "\377" ydiaeresis + : "\264" Zcaron + : "\264" Zcaron + : "\270" zcaron +@@ -404,8 +379,7 @@ XCOMM These are for us_intl, that does n + : "\254" notsign + : "\257" macron + : "\257" macron +- : "\264" acute +- : "\270" cedilla ++ : "'" apostrophe + : "\"" quotedbl + XCOMM Accented Alphabet + : "\305" Aring --- libx11-1.4.99.1.orig/debian/patches/CVE-2013-1997.patch +++ libx11-1.4.99.1/debian/patches/CVE-2013-1997.patch @@ -0,0 +1,478 @@ +Description: fix denial of service and possible code execution via + incorrect length and bounds checking +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=cddc4e7e3cb4b9b7ad25f8591971a86901c249f2 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=f293659d5a4024bda386305bb7ebeb4647c40934 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=bff938b9fe1629cbacb726509edfa2a3840b7207 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=59ae16a00d18588e98af57d26e442af8ea42b7aa +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=fd7d4956bc7a1c4b5c38661b12777ebee4d685d9 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=00626c3830b869259098985afa38933d77ccec72 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=06c086e8a1d8374ea9a95ff989f053c96bb1bdca +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=e56a2ada719c5cfac5ed61a52a80ade86c0f5957 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=4d7c422a37eb9617fb22f8e37527c2b34b105665 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=2df882eeb3a70256170127a746a9ba26376599a1 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=de2e6c322c4aca22856b380f67f8e488e7510015 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=b9ba832401734e1cbd30a930c0d11d850293f3f9 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=0c404db6a92dc2c198328bf586c02d8abbe02013 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=8d5936594993921acdfec778dd8f41b555e2543a +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=db1b1c871da29aa0545182bf888df81627f165a5 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=e1b457beb8d4e831ef44279dada6c475cb955738 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=a3bdd2b090915fe0163b062f0e6576fe05dd332e + +Index: libx11-1.5.0/modules/im/ximcp/imTrX.c +=================================================================== +--- libx11-1.5.0.orig/modules/im/ximcp/imTrX.c 2012-06-02 02:37:18.000000000 -0400 ++++ libx11-1.5.0/modules/im/ximcp/imTrX.c 2013-05-29 15:57:18.444194671 -0400 +@@ -372,7 +372,7 @@ + XFree(prop_ret); + return False; + } +- if (buf_len >= length) { ++ if (buf_len >= (int)nitems) { + (void)memcpy(buf, prop_ret, (int)nitems); + *ret_len = (int)nitems; + if (bytes_after_ret > 0) { +Index: libx11-1.5.0/src/AllCells.c +=================================================================== +--- libx11-1.5.0.orig/src/AllCells.c 2012-06-02 02:37:19.000000000 -0400 ++++ libx11-1.5.0/src/AllCells.c 2013-05-29 15:56:52.020194923 -0400 +@@ -53,8 +53,13 @@ + status = _XReply(dpy, (xReply *)&rep, 0, xFalse); + + if (status) { +- _XRead32 (dpy, (long *) pixels, 4L * (long) (rep.nPixels)); +- _XRead32 (dpy, (long *) masks, 4L * (long) (rep.nMasks)); ++ if ((rep.nPixels > ncolors) || (rep.nMasks > nplanes)) { ++ _XEatDataWords(dpy, rep.length); ++ status = 0; /* Failure */ ++ } else { ++ _XRead32 (dpy, (long *) pixels, 4L * (long) (rep.nPixels)); ++ _XRead32 (dpy, (long *) masks, 4L * (long) (rep.nMasks)); ++ } + } + + UnlockDisplay(dpy); +Index: libx11-1.5.0/src/FontNames.c +=================================================================== +--- libx11-1.5.0.orig/src/FontNames.c 2012-06-02 02:37:19.000000000 -0400 ++++ libx11-1.5.0/src/FontNames.c 2013-05-29 15:57:21.096194645 -0400 +@@ -29,6 +29,7 @@ + #include + #endif + #include "Xlibint.h" ++#include + + char ** + XListFonts( +@@ -40,11 +41,13 @@ + register long nbytes; + register unsigned i; + register int length; +- char **flist; +- char *ch; ++ char **flist = NULL; ++ char *ch = NULL; ++ char *chend; ++ int count = 0; + xListFontsReply rep; + register xListFontsReq *req; +- register long rlen; ++ unsigned long rlen; + + LockDisplay(dpy); + GetReq(ListFonts, req); +@@ -62,15 +65,17 @@ + } + + if (rep.nFonts) { +- flist = (char **)Xmalloc ((unsigned)rep.nFonts * sizeof(char *)); +- rlen = rep.length << 2; +- ch = (char *) Xmalloc((unsigned) (rlen + 1)); ++ flist = Xmalloc (rep.nFonts * sizeof(char *)); ++ if (rep.length < (LONG_MAX >> 2)) { ++ rlen = rep.length << 2; ++ ch = Xmalloc(rlen + 1); + /* +1 to leave room for last null-terminator */ ++ } + + if ((! flist) || (! ch)) { + if (flist) Xfree((char *) flist); + if (ch) Xfree(ch); +- _XEatData(dpy, (unsigned long) rlen); ++ _XEatDataWords(dpy, rep.length); + *actualCount = 0; + UnlockDisplay(dpy); + SyncHandle(); +@@ -81,17 +86,21 @@ + /* + * unpack into null terminated strings. + */ ++ chend = ch + (rlen + 1); + length = *(unsigned char *)ch; + *ch = 1; /* make sure it is non-zero for XFreeFontNames */ + for (i = 0; i < rep.nFonts; i++) { +- flist[i] = ch + 1; /* skip over length */ +- ch += length + 1; /* find next length ... */ +- length = *(unsigned char *)ch; +- *ch = '\0'; /* and replace with null-termination */ ++ if (ch + length < chend) { ++ flist[i] = ch + 1; /* skip over length */ ++ ch += length + 1; /* find next length ... */ ++ length = *(unsigned char *)ch; ++ *ch = '\0'; /* and replace with null-termination */ ++ count++; ++ } else ++ flist[i] = NULL; + } + } +- else flist = (char **) NULL; +- *actualCount = rep.nFonts; ++ *actualCount = count; + UnlockDisplay(dpy); + SyncHandle(); + return (flist); +Index: libx11-1.5.0/src/GetFPath.c +=================================================================== +--- libx11-1.5.0.orig/src/GetFPath.c 2012-06-02 02:37:19.000000000 -0400 ++++ libx11-1.5.0/src/GetFPath.c 2013-05-29 15:57:23.824194619 -0400 +@@ -28,15 +28,18 @@ + #include + #endif + #include "Xlibint.h" ++#include + + char **XGetFontPath( + register Display *dpy, + int *npaths) /* RETURN */ + { + xGetFontPathReply rep; +- register long nbytes; +- char **flist; +- char *ch; ++ unsigned long nbytes; ++ char **flist = NULL; ++ char *ch = NULL; ++ char *chend; ++ int count = 0; + register unsigned i; + register int length; + register xReq *req; +@@ -46,16 +49,17 @@ + (void) _XReply (dpy, (xReply *) &rep, 0, xFalse); + + if (rep.nPaths) { +- flist = (char **) +- Xmalloc((unsigned) rep.nPaths * sizeof (char *)); +- nbytes = (long)rep.length << 2; +- ch = (char *) Xmalloc ((unsigned) (nbytes + 1)); ++ flist = Xmalloc(rep.nPaths * sizeof (char *)); ++ if (rep.length < (LONG_MAX >> 2)) { ++ nbytes = (unsigned long) rep.length << 2; ++ ch = Xmalloc (nbytes + 1); + /* +1 to leave room for last null-terminator */ ++ } + + if ((! flist) || (! ch)) { + if (flist) Xfree((char *) flist); + if (ch) Xfree(ch); +- _XEatData(dpy, (unsigned long) nbytes); ++ _XEatDataWords(dpy, rep.length); + UnlockDisplay(dpy); + SyncHandle(); + return (char **) NULL; +@@ -65,16 +69,20 @@ + /* + * unpack into null terminated strings. + */ ++ chend = ch + (nbytes + 1); + length = *ch; + for (i = 0; i < rep.nPaths; i++) { +- flist[i] = ch+1; /* skip over length */ +- ch += length + 1; /* find next length ... */ +- length = *ch; +- *ch = '\0'; /* and replace with null-termination */ ++ if (ch + length < chend) { ++ flist[i] = ch+1; /* skip over length */ ++ ch += length + 1; /* find next length ... */ ++ length = *ch; ++ *ch = '\0'; /* and replace with null-termination */ ++ count++; ++ } else ++ flist[i] = NULL; + } + } +- else flist = NULL; +- *npaths = rep.nPaths; ++ *npaths = count; + UnlockDisplay(dpy); + SyncHandle(); + return (flist); +Index: libx11-1.5.0/src/ListExt.c +=================================================================== +--- libx11-1.5.0.orig/src/ListExt.c 2012-06-02 02:37:19.000000000 -0400 ++++ libx11-1.5.0/src/ListExt.c 2013-05-29 15:57:26.432194595 -0400 +@@ -28,18 +28,21 @@ + #include + #endif + #include "Xlibint.h" ++#include + + char **XListExtensions( + register Display *dpy, + int *nextensions) /* RETURN */ + { + xListExtensionsReply rep; +- char **list; +- char *ch; ++ char **list = NULL; ++ char *ch = NULL; ++ char *chend; ++ int count = 0; + register unsigned i; + register int length; + register xReq *req; +- register long rlen; ++ unsigned long rlen; + + LockDisplay(dpy); + GetEmptyReq (ListExtensions, req); +@@ -51,16 +54,17 @@ + } + + if (rep.nExtensions) { +- list = (char **) Xmalloc ( +- (unsigned)(rep.nExtensions * sizeof (char *))); +- rlen = rep.length << 2; +- ch = (char *) Xmalloc ((unsigned) rlen + 1); ++ list = Xmalloc (rep.nExtensions * sizeof (char *)); ++ if (rep.length < (LONG_MAX >> 2)) { ++ rlen = rep.length << 2; ++ ch = Xmalloc (rlen + 1); + /* +1 to leave room for last null-terminator */ ++ } + + if ((!list) || (!ch)) { + if (list) Xfree((char *) list); + if (ch) Xfree((char *) ch); +- _XEatData(dpy, (unsigned long) rlen); ++ _XEatDataWords(dpy, rep.length); + UnlockDisplay(dpy); + SyncHandle(); + return (char **) NULL; +@@ -70,17 +74,21 @@ + /* + * unpack into null terminated strings. + */ ++ chend = ch + (rlen + 1); + length = *ch; + for (i = 0; i < rep.nExtensions; i++) { +- list[i] = ch+1; /* skip over length */ +- ch += length + 1; /* find next length ... */ +- length = *ch; +- *ch = '\0'; /* and replace with null-termination */ ++ if (ch + length < chend) { ++ list[i] = ch+1; /* skip over length */ ++ ch += length + 1; /* find next length ... */ ++ length = *ch; ++ *ch = '\0'; /* and replace with null-termination */ ++ count++; ++ } else ++ list[i] = NULL; + } + } +- else list = (char **) NULL; + +- *nextensions = rep.nExtensions; ++ *nextensions = count; + UnlockDisplay(dpy); + SyncHandle(); + return (list); +Index: libx11-1.5.0/src/xkb/XKBExtDev.c +=================================================================== +--- libx11-1.5.0.orig/src/xkb/XKBExtDev.c 2012-06-02 02:37:19.000000000 -0400 ++++ libx11-1.5.0/src/xkb/XKBExtDev.c 2013-05-29 15:56:54.388194900 -0400 +@@ -181,6 +181,9 @@ + return tmp; + } + if (rep->nBtnsWanted>0) { ++ if (((unsigned short) rep->firstBtnWanted + rep->nBtnsWanted) ++ >= devi->num_btns) ++ goto BAILOUT; + act= &devi->btn_acts[rep->firstBtnWanted]; + bzero((char *)act,(rep->nBtnsWanted*sizeof(XkbAction))); + } +@@ -190,6 +193,9 @@ + goto BAILOUT; + if (rep->nBtnsRtrn>0) { + int size; ++ if (((unsigned short) rep->firstBtnRtrn + rep->nBtnsRtrn) ++ >= devi->num_btns) ++ goto BAILOUT; + act= &devi->btn_acts[rep->firstBtnRtrn]; + size= rep->nBtnsRtrn*SIZEOF(xkbActionWireDesc); + if (!_XkbCopyFromReadBuffer(&buf,(char *)act,size)) +Index: libx11-1.5.0/src/xkb/XKBGeom.c +=================================================================== +--- libx11-1.5.0.orig/src/xkb/XKBGeom.c 2012-06-02 02:37:19.000000000 -0400 ++++ libx11-1.5.0/src/xkb/XKBGeom.c 2013-05-29 15:56:58.660194859 -0400 +@@ -364,12 +364,16 @@ + } + ol->num_points= olWire->nPoints; + } +- if (shapeWire->primaryNdx!=XkbNoShape) ++ if ((shapeWire->primaryNdx!=XkbNoShape) && ++ (shapeWire->primaryNdx < shapeWire->nOutlines)) + shape->primary= &shape->outlines[shapeWire->primaryNdx]; +- else shape->primary= NULL; +- if (shapeWire->approxNdx!=XkbNoShape) ++ else ++ shape->primary= NULL; ++ if ((shapeWire->approxNdx!=XkbNoShape) && ++ (shapeWire->approxNdx < shapeWire->nOutlines)) + shape->approx= &shape->outlines[shapeWire->approxNdx]; +- else shape->approx= NULL; ++ else ++ shape->approx= NULL; + XkbComputeShapeBounds(shape); + } + return Success; +@@ -615,6 +619,9 @@ + if (status==Success) + status= _XkbReadGeomKeyAliases(&buf,geom,rep); + left= _XkbFreeReadBuffer(&buf); ++ if ((rep->baseColorNdx > geom->num_colors) || ++ (rep->labelColorNdx > geom->num_colors)) ++ status = BadLength; + if ((status!=Success) || left || buf.error) { + if (status==Success) + status= BadLength; +Index: libx11-1.5.0/src/xkb/XKBGetMap.c +=================================================================== +--- libx11-1.5.0.orig/src/xkb/XKBGetMap.c 2012-06-02 02:37:19.000000000 -0400 ++++ libx11-1.5.0/src/xkb/XKBGetMap.c 2013-05-29 15:57:31.648194545 -0400 +@@ -151,9 +151,12 @@ + map= xkb->map; + if (map->key_sym_map==NULL) { + register int offset; ++ int size = xkb->max_key_code + 1; + XkbSymMapPtr oldMap; + xkbSymMapWireDesc *newMap; +- map->key_sym_map= _XkbTypedCalloc((xkb->max_key_code+1),XkbSymMapRec); ++ if (((unsigned short)rep->firstKeySym + rep->nKeySyms) > size) ++ return BadLength; ++ map->key_sym_map= _XkbTypedCalloc(size,XkbSymMapRec); + if (map->key_sym_map==NULL) + return BadAlloc; + if (map->syms==NULL) { +@@ -209,6 +212,8 @@ + KeySym * newSyms; + int tmp; + ++ if (((unsigned short)rep->firstKeySym + rep->nKeySyms) > map->num_syms) ++ return BadLength; + oldMap = &map->key_sym_map[rep->firstKeySym]; + for (i=0;i<(int)rep->nKeySyms;i++,oldMap++) { + newMap= (xkbSymMapWireDesc *) +@@ -264,6 +269,10 @@ + symMap = &info->map->key_sym_map[rep->firstKeyAct]; + for (i=0;i<(int)rep->nKeyActs;i++,symMap++) { + if (numDesc[i]==0) { ++ if ((i + rep->firstKeyAct) > (info->max_key_code + 1)) { ++ ret = BadLength; ++ goto done; ++ } + info->server->key_acts[i+rep->firstKeyAct]= 0; + } + else { +@@ -296,8 +305,10 @@ + xkbBehaviorWireDesc *wire; + + if ( rep->totalKeyBehaviors>0 ) { ++ int size = xkb->max_key_code + 1; ++ if ( ((int) rep->firstKeyBehavior + rep->nKeyBehaviors) > size) ++ return BadLength; + if ( xkb->server->behaviors == NULL ) { +- int size = xkb->max_key_code+1; + xkb->server->behaviors = _XkbTypedCalloc(size,XkbBehavior); + if (xkb->server->behaviors==NULL) + return BadAlloc; +@@ -309,7 +320,7 @@ + for (i=0;itotalKeyBehaviors;i++) { + wire= (xkbBehaviorWireDesc *)_XkbGetReadBufferPtr(buf, + SIZEOF(xkbBehaviorWireDesc)); +- if (wire==NULL) ++ if (wire==NULL || wire->key >= size) + return BadLength; + xkb->server->behaviors[wire->key].type= wire->type; + xkb->server->behaviors[wire->key].data= wire->data; +@@ -351,8 +362,10 @@ + unsigned char *wire; + + if ( rep->totalKeyExplicit>0 ) { ++ int size = xkb->max_key_code + 1; ++ if ( ((int) rep->firstKeyExplicit + rep->nKeyExplicit) > size) ++ return BadLength; + if ( xkb->server->explicit == NULL ) { +- int size = xkb->max_key_code+1; + xkb->server->explicit = _XkbTypedCalloc(size,unsigned char); + if (xkb->server->explicit==NULL) + return BadAlloc; +@@ -366,6 +379,8 @@ + if (!wire) + return BadLength; + for (i=0;itotalKeyExplicit;i++,wire+=2) { ++ if (wire[0] > xkb->max_key_code || wire[1] > xkb->max_key_code) ++ return BadLength; + xkb->server->explicit[wire[0]]= wire[1]; + } + } +@@ -379,6 +394,9 @@ + unsigned char *wire; + + if ( rep->totalModMapKeys>0 ) { ++ if ( ((int)rep->firstModMapKey + rep->nModMapKeys) > ++ (xkb->max_key_code + 1)) ++ return BadLength; + if ((xkb->map->modmap==NULL)&& + (XkbAllocClientMap(xkb,XkbModifierMapMask,0)!=Success)) { + return BadAlloc; +@@ -391,6 +409,8 @@ + if (!wire) + return BadLength; + for (i=0;itotalModMapKeys;i++,wire+=2) { ++ if (wire[0] > xkb->max_key_code || wire[1] > xkb->max_key_code) ++ return BadLength; + xkb->map->modmap[wire[0]]= wire[1]; + } + } +@@ -405,6 +425,9 @@ + XkbServerMapPtr srv; + + if ( rep->totalVModMapKeys>0 ) { ++ if (((int) rep->firstVModMapKey + rep->nVModMapKeys) ++ > xkb->max_key_code + 1) ++ return BadLength; + if (((xkb->server==NULL)||(xkb->server->vmodmap==NULL))&& + (XkbAllocServerMap(xkb,XkbVirtualModMapMask,0)!=Success)) { + return BadAlloc; +@@ -461,6 +484,8 @@ + + if ( xkb->device_spec == XkbUseCoreKbd ) + xkb->device_spec= rep->deviceID; ++ if ( rep->maxKeyCode < rep->minKeyCode ) ++ return BadImplementation; + xkb->min_key_code = rep->minKeyCode; + xkb->max_key_code = rep->maxKeyCode; + +Index: libx11-1.5.0/src/xkb/XKBNames.c +=================================================================== +--- libx11-1.5.0.orig/src/xkb/XKBNames.c 2012-06-02 02:37:19.000000000 -0400 ++++ libx11-1.5.0/src/xkb/XKBNames.c 2013-05-29 15:57:31.648194545 -0400 +@@ -180,6 +180,8 @@ + nKeys= xkb->max_key_code+1; + names->keys= _XkbTypedCalloc(nKeys,XkbKeyNameRec); + } ++ if ( ((int)rep->firstKey + rep->nKeys) > xkb->max_key_code + 1) ++ goto BAILOUT; + if (names->keys!=NULL) { + if (!_XkbCopyFromReadBuffer(&buf, + (char *)&names->keys[rep->firstKey], --- libx11-1.4.99.1.orig/debian/patches/series +++ libx11-1.4.99.1/debian/patches/series @@ -0,0 +1,11 @@ +003_recognize_glibc_2.3.2_locale_names.diff +006_tailor_pt_BR.UTF-8_Compose.diff +007_iso8859-15_Compose_fix.diff +008_remove_ko_Compose.diff +009_remove_th_Compose.diff +015_russian_locale_alias.diff +CVE-2013-1981.patch +CVE-2013-1997.patch +CVE-2013-2004.patch +001_hide_xeatdatawords.diff +makebigreq_overflow.patch --- libx11-1.4.99.1.orig/debian/patches/CVE-2013-2004.patch +++ libx11-1.4.99.1/debian/patches/CVE-2013-2004.patch @@ -0,0 +1,164 @@ +Description: fix denial of service and possible code execution via + stack overflow from recursive #include +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=236b603d235dc264d1c6250dca09c745458a9088 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=226622349a4b1e16064649d4444a34fb4be4f464 + +Index: libx11-1.4.99.1/modules/im/ximcp/imLcPrs.c +=================================================================== +--- libx11-1.4.99.1.orig/modules/im/ximcp/imLcPrs.c 2013-05-29 16:14:23.884184891 -0400 ++++ libx11-1.4.99.1/modules/im/ximcp/imLcPrs.c 2013-05-29 16:14:23.852184892 -0400 +@@ -58,6 +58,8 @@ + int len + ); + ++static void parsestringfile(FILE *fp, Xim im, int depth); ++ + /* + * Parsing File Format: + * +@@ -447,7 +449,8 @@ + parseline( + FILE *fp, + Xim im, +- char* tokenbuf) ++ char* tokenbuf, ++ int depth) + { + int token; + DTModifier modifier_mask; +@@ -494,11 +497,13 @@ + goto error; + if ((filename = TransFileName(im, tokenbuf)) == NULL) + goto error; ++ if (++depth > 100) ++ goto error; + infp = _XFopenFile(filename, "r"); + Xfree(filename); + if (infp == NULL) + goto error; +- _XimParseStringFile(infp, im); ++ parsestringfile(infp, im, depth); + fclose(infp); + return (0); + } else if ((token == KEY) && (strcmp("None", tokenbuf) == 0)) { +@@ -692,6 +697,15 @@ + FILE *fp, + Xim im) + { ++ parsestringfile(fp, im, 0); ++} ++ ++static void ++parsestringfile( ++ FILE *fp, ++ Xim im, ++ int depth) ++{ + char tb[8192]; + char* tbp; + struct stat st; +@@ -704,7 +718,7 @@ + else tbp = malloc (size); + + if (tbp != NULL) { +- while (parseline(fp, im, tbp) >= 0) {} ++ while (parseline(fp, im, tbp, depth) >= 0) {} + if (tbp != tb) free (tbp); + } + } +Index: libx11-1.4.99.1/src/Xrm.c +=================================================================== +--- libx11-1.4.99.1.orig/src/Xrm.c 2013-05-29 16:14:23.884184891 -0400 ++++ libx11-1.4.99.1/src/Xrm.c 2013-05-29 16:15:22.812184329 -0400 +@@ -1086,13 +1086,15 @@ + XrmDatabase db, + _Xconst char *base, + _Xconst char *fname, +- int fnamelen); ++ int fnamelen, ++ int depth); + + static void GetDatabase( + XrmDatabase db, + _Xconst register char *str, + _Xconst char *filename, +- Bool doall) ++ Bool doall, ++ int depth) + { + char *rhs; + char *lhs, lhs_s[DEF_BUFF_SIZE]; +@@ -1202,7 +1204,8 @@ + } while (c != '"' && !is_EOL(bits)); + /* must have an ending " */ + if (c == '"') +- GetIncludeFile(db, filename, fname, str - len - fname); ++ GetIncludeFile(db, filename, fname, str - len - fname, ++ depth); + } + } + /* spin to next newline */ +@@ -1543,7 +1546,7 @@ + { + if (!*pdb) *pdb = NewDatabase(); + _XLockMutex(&(*pdb)->linfo); +- GetDatabase(*pdb, line, (char *)NULL, False); ++ GetDatabase(*pdb, line, (char *)NULL, False, 0); + _XUnlockMutex(&(*pdb)->linfo); + } + +@@ -1555,7 +1558,7 @@ + + db = NewDatabase(); + _XLockMutex(&db->linfo); +- GetDatabase(db, data, (char *)NULL, True); ++ GetDatabase(db, data, (char *)NULL, True, 0); + _XUnlockMutex(&db->linfo); + return db; + } +@@ -1634,7 +1637,8 @@ + XrmDatabase db, + _Xconst char *base, + _Xconst char *fname, +- int fnamelen) ++ int fnamelen, ++ int depth) + { + int len; + char *str; +@@ -1642,6 +1646,8 @@ + + if (fnamelen <= 0 || fnamelen >= BUFSIZ) + return; ++ if (depth >= MAXDBDEPTH) ++ return; + if (*fname != '/' && base && (str = strrchr(base, '/'))) { + len = str - base + 1; + if (len + fnamelen >= BUFSIZ) +@@ -1655,7 +1661,7 @@ + } + if (!(str = ReadInFile(realfname))) + return; +- GetDatabase(db, str, realfname, True); ++ GetDatabase(db, str, realfname, True, depth + 1); + Xfree(str); + } + +@@ -1671,7 +1677,7 @@ + + db = NewDatabase(); + _XLockMutex(&db->linfo); +- GetDatabase(db, str, filename, True); ++ GetDatabase(db, str, filename, True, 0); + _XUnlockMutex(&db->linfo); + Xfree(str); + return db; +@@ -1695,7 +1701,7 @@ + } else + db = NewDatabase(); + _XLockMutex(&db->linfo); +- GetDatabase(db, str, filename, True); ++ GetDatabase(db, str, filename, True, 0); + _XUnlockMutex(&db->linfo); + Xfree(str); + if (!override) --- libx11-1.4.99.1.orig/debian/patches/makebigreq_overflow.patch +++ libx11-1.4.99.1/debian/patches/makebigreq_overflow.patch @@ -0,0 +1,60 @@ +Backport of: + +From 39547d600a13713e15429f49768e54c3173c828d Mon Sep 17 00:00:00 2001 +From: Karl Tomlinson +Date: Mon, 18 Feb 2013 01:25:34 +0000 +Subject: MakeBigReq: don't move the last word, already handled by Data32 + +MakeBigReq inserts a length field after the first 4 bytes of the request +(after req->length), pushing everything else back by 4 bytes. + +The current memmove moves everything but the first 4 bytes back. +If a request aligns to the end of the buffer pointer when MakeBigReq is +invoked for that request, this runs over the buffer. +Instead, we need to memmove minus the first 4 bytes (which aren't moved), +minus the last 4 bytes (so we still align to the previous tail). + +The 4 bytes that fell out are already handled with Data32, which will +handle the buffermax correctly. + +The case where req->length = 1 was already not functional. + +Reported by Abhishek Arya . + +https://bugzilla.mozilla.org/show_bug.cgi?id=803762 + +Reviewed-by: Jeff Muizelaar +Reviewed-by: Peter Hutterer +Signed-off-by: Alan Coopersmith + +Index: libx11-1.4.99.1/include/X11/Xlibint.h +=================================================================== +--- libx11-1.4.99.1.orig/include/X11/Xlibint.h 2015-04-08 07:55:45.197722501 -0400 ++++ libx11-1.4.99.1/include/X11/Xlibint.h 2015-04-08 08:00:50.163172238 -0400 +@@ -509,7 +509,7 @@ + unsigned long _BRlen = req->length - 1; \ + req->length = 0; \ + memcpy(_BRdat, ((char *)req) + (_BRlen << 2), 4); \ +- memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \ ++ memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \ + memcpy(((char *)req) + 4, _BRdat, 4); \ + Data32(dpy, (long *)&_BRdat, 4); \ + } +@@ -521,7 +521,7 @@ + CARD32 _BRlen = req->length - 1; \ + req->length = 0; \ + _BRdat = ((CARD32 *)req)[_BRlen]; \ +- memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \ ++ memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \ + ((CARD32 *)req)[1] = _BRlen + n + 2; \ + Data32(dpy, &_BRdat, 4); \ + } +@@ -532,7 +532,7 @@ + CARD32 _BRlen = req->length - 1; \ + req->length = 0; \ + _BRdat = ((CARD32 *)req)[_BRlen]; \ +- memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \ ++ memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \ + ((CARD32 *)req)[1] = _BRlen + n + 2; \ + Data32(dpy, &_BRdat, 4); \ + } --- libx11-1.4.99.1.orig/debian/patches/006_tailor_pt_BR.UTF-8_Compose.diff +++ libx11-1.4.99.1/debian/patches/006_tailor_pt_BR.UTF-8_Compose.diff @@ -0,0 +1,4289 @@ +Rewrite pt_BR.UTF-8/Compose to include en_US.UTF-8/Compose so that +this file can be easily maintained. Replace + to match +the definition from iso8859-1/Compose. Thanks Rafael Ávila de Espíndola +(closes: #296599) + +This patch by Denis Barbier. + +Not submitted upstream to X.Org. + +--- a/nls/pt_BR.UTF-8/Compose.pre ++++ b/nls/pt_BR.UTF-8/Compose.pre +@@ -1,4275 +1,3 @@ +-XCOMM UTF-8 (Unicode) compose sequence +-XCOMM David.Monniaux@ens.fr +-XCOMM +-XCOMM Modified for Brazilian Portuguese by Gustavo Noronha Silva +- +-XCOMM Part 1 - Manual definitions +- +-XCOMM Spacing versions of dead accents +- : "~" asciitilde +- : "~" asciitilde +- : "'" apostrophe +- : "´" acute +- : "`" grave +- : "`" grave +- : "^" asciicircum +- : "^" asciicircum +- : "°" degree +- : "°" degree +- : "¯" macron +- : "¯" macron +- : "˘" breve +- : "˘" breve +- : "˙" abovedot +- : "˙" abovedot +- : "¨" diaeresis +- : "\"" quotedbl +- : "˝" U2dd +- : "˝" U2dd +- : "ˇ" caron +- : "ˇ" caron +- : "¸" cedilla +- : "¸" cedilla +- : "˛" ogonek +- : "˛" ogonek +- : "ͺ" U37a +- : "ͺ" U37a +- +-XCOMM ASCII characters that may be difficult to access +-XCOMM on some keyboards. +- : "#" numbersign +- : "'" apostrophe +- : "'" apostrophe +- : "@" at +- : "[" bracketleft +- : "\\" backslash +- : "\\" backslash +- : "\\" backslash +- : "]" bracketright +- +- : "^" asciicircum +- : "^" asciicircum +- : "^" asciicircum +- : "^" asciicircum +- +- : "`" grave +- : "`" grave +- +- : "{" braceleft +- : "{" braceleft +- +- : "|" bar +- : "|" bar +- : "|" bar +- : "|" bar +- : "|" bar +- : "|" bar +- +- : "}" braceright +- : "}" braceright +- +- : "~" asciitilde +- : "~" asciitilde +- : "~" asciitilde +- : "~" asciitilde +- +-XCOMM Spaces +- : "\240" nobreakspace # NO-BREAK SPACE +- : " " U2008 # PUNCTUATION SPACE +- +- : "©" copyright +- : "©" copyright +- : "©" copyright +- : "©" copyright +- +- : "®" registered +- : "®" registered +- : "®" registered +- : "®" registered +- +- : "›" U203a +- : "‹" U2039 +- : "…" ellipsis +- : "·" periodcentered +- : "•" enfilledcircbullet +- : "¦" brokenbar +- : "¡" exclamdown +-

: "¶" paragraph +-

: "¶" paragraph +- : "±" plusminus +- : "¿" questiondown +- : "Ə" U018f +- : "đ" dstroke +- : "Đ" Dstroke +- : "ß" ssharp +- +- : "œ" oe +- : "Œ" OE +- : "æ" ae +- : "Æ" AE +- +- : "°" degree # ^0 already taken +- +-XCOMM Quotation marks +- : "〝" U301d # REVERSED DOUBLE PRIME QUOTATION MARK +- : "〞" U301e # DOUBLE PRIME QUOTATION MARK +- : "«" guillemotleft # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +- : "»" guillemotright # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +- : "‘" U2018 # LEFT SINGLE QUOTATION MARK +- : "‘" U2018 # LEFT SINGLE QUOTATION MARK +- : "’" U2019 # RIGHT SINGLE QUOTATION MARK +- : "’" U2019 # RIGHT SINGLE QUOTATION MARK +- : "‚" U201a # SINGLE LOW-9 QUOTATION MARK +- : "‚" U201a # SINGLE LOW-9 QUOTATION MARK +- : "“" U201c # LEFT DOUBLE QUOTATION MARK +- : "“" U201c # LEFT DOUBLE QUOTATION MARK +- : "”" U201d # RIGHT DOUBLE QUOTATION MARK +- : "”" U201d # RIGHT DOUBLE QUOTATION MARK +- : "„" U201e # DOUBLE LOW-9 QUOTATION MARK +- : "„" U201e # DOUBLE LOW-9 QUOTATION MARK +- +-XCOMM Per xxx +- : "‰" U2030 # PER MILLE SIGN +- +-XCOMM Currencies +- : "₠" U20a0 # EURO-CURRENCY SIGN +- : "₡" U20a1 # COLON SIGN +- : "₡" U20a1 # COLON SIGN +- : "₢" U20a2 # CRUZEIRO SIGN +- : "₣" U20a3 # FRENCH FRANC SIGN +- : "₤" U20a4 # LIRA SIGN +- : "₤" U20a4 # LIRA SIGN +- : "₥" U20a5 # MILL SIGN +- : "₥" U20a5 # MILL SIGN +- : "₦" U20a6 # NAIRA SIGN +- : "₦" U20a6 # NAIRA SIGN +-

: "₧" U20a7 # PESETA SIGN +- : "₨" U20a8 # RUPEE SIGN +- : "₩" U20a9 # WON SIGN +- : "₩" U20a9 # WON SIGN +-XCOMM "₪" U20aa NEW SHEQEL SIGN +- : "₫" U20ab # DONG SIGN +- : "€" EuroSign # EURO SIGN +- : "€" EuroSign # EURO SIGN +- : "€" EuroSign # EURO SIGN +- : "€" EuroSign # EURO SIGN +- : "€" EuroSign # EURO SIGN +- : "€" EuroSign # EURO SIGN +- : "€" EuroSign # EURO SIGN +- : "€" EuroSign # EURO SIGN +- +- : "£" sterling # POUND SIGN +- : "£" sterling # POUND SIGN +- : "¥" yen +- : "¥" yen +- +-XCOMM Long S +- : "ſ" U017f # LONG S +- : "ſ" U017f # LONG S +- +-XCOMM Dashes +- : "–" U2013 # EN DASH +- : "—" U2014 # EM DASH +- +-XCOMM Musical alterations +- : "♭" U266d # MUSIC FLAT SIGN +- : "♮" U266e # MUSIC NATURAL SIGN +- : "♯" U266f # MUSIC SHARP SIGN +- +-XCOMM Other symbols +- : "§" section # SECTION SIGN +- : "§" section # SECTION SIGN +- +- : "¤" currency +- : "¤" currency +- +-

: "¶" paragraph # PILCROW SIGN (PARAGRAPH SIGN) +- +- : "‽" U203D # INTERROBANG +- : "‽" U203D # INTERROBANG +- +-XCOMM Part 2 +- +-XCOMM Compose map for Korean Hangul(Choseongul) Conjoining Jamos automatically +-XCOMM generated from UnicodeData-2.0.14.txt at +-XCOMM ftp://ftp.unicode.org/Public/2.0-Update/UnicodeData-2.0.14.txt +-XCOMM by Jungshik Shin 2002-10-17 +-XCOMM There are some conflicts among sequences, but I left them alone. +-XCOMM +-XCOMM group 1: cluster jamos made of three basic jamos +- +-/* The following block gets overridden by later shorter compositions +- : "ᄢ" U1122 : ᄇᅠ ᄉᅠ ᄀᅠ = ᄢᅠ +- : "ᄣ" U1123 : ᄇᅠ ᄉᅠ ᄃᅠ = ᄣᅠ +- : "ᄤ" U1124 : ᄇᅠ ᄉᅠ ᄇᅠ = ᄤᅠ +- : "ᄥ" U1125 : ᄇᅠ ᄉᅠ ᄉᅠ = ᄥᅠ +- : "ᄦ" U1126 : ᄇᅠ ᄉᅠ ᄌᅠ = ᄦᅠ +- : "ᄬ" U112c : ᄇᅠ ᄇᅠ ᄋᅠ = ᄬᅠ +- : "ᄳ" U1133 : ᄉᅠ ᄇᅠ ᄀᅠ = ᄳᅠ +- : "ᄴ" U1134 : ᄉᅠ ᄉᅠ ᄉᅠ = ᄴᅠ +- : "ᅫ" U116b : ᅟᅩ ᅟᅡ ᅟᅵ = ᅟᅫ +- : "ᅰ" U1170 : ᅟᅮ ᅟᅥ ᅟᅵ = ᅟᅰ +- : "ᆋ" U118b : ᅟᅮ ᅟᅥ ᅟᅳ = ᅟᆋ +- : "ᇄ" U11c4 : ᅟᅠᆨ ᅟᅠᆺ ᅟᅠᆨ = ᅟᅠᇄ +- : "ᇌ" U11cc : ᅟᅠᆯ ᅟᅠᆨ ᅟᅠᆺ = ᅟᅠᇌ +- : "ᇏ" U11cf : ᅟᅠᆯ ᅟᅠᆮ ᅟᅠᇂ = ᅟᅠᇏ +- : "ᇑ" U11d1 : ᅟᅠᆯ ᅟᅠᆷ ᅟᅠᆨ = ᅟᅠᇑ +- : "ᇒ" U11d2 : ᅟᅠᆯ ᅟᅠᆷ ᅟᅠᆺ = ᅟᅠᇒ +- : "ᇓ" U11d3 : ᅟᅠᆯ ᅟᅠᆸ ᅟᅠᆺ = ᅟᅠᇓ +- : "ᇔ" U11d4 : ᅟᅠᆯ ᅟᅠᆸ ᅟᅠᇂ = ᅟᅠᇔ +- : "ᇕ" U11d5 : ᅟᅠᆯ ᅟᅠᆸ ᅟᅠᆼ = ᅟᅠᇕ +- : "ᇖ" U11d6 : ᅟᅠᆯ ᅟᅠᆺ ᅟᅠᆺ = ᅟᅠᇖ +- : "ᇞ" U11de : ᅟᅠᆷ ᅟᅠᆺ ᅟᅠᆺ = ᅟᅠᇞ +- : "ᇭ" U11ed : ᅟᅠᆼ ᅟᅠᆨ ᅟᅠᆨ = ᅟᅠᇭ +- */ +- : "ᄁ" U1101 : ᄀᅠ ᄀᅠ = ᄁᅠ +- : "ᄄ" U1104 : ᄃᅠ ᄃᅠ = ᄄᅠ +- : "ᄈ" U1108 : ᄇᅠ ᄇᅠ = ᄈᅠ +- : "ᄊ" U110a : ᄉᅠ ᄉᅠ = ᄊᅠ +- : "ᄍ" U110d : ᄌᅠ ᄌᅠ = ᄍᅠ +- : "ᄓ" U1113 : ᄂᅠ ᄀᅠ = ᄓᅠ +- : "ᄔ" U1114 : ᄂᅠ ᄂᅠ = ᄔᅠ +- : "ᄕ" U1115 : ᄂᅠ ᄃᅠ = ᄕᅠ +- : "ᄖ" U1116 : ᄂᅠ ᄇᅠ = ᄖᅠ +- : "ᄗ" U1117 : ᄃᅠ ᄀᅠ = ᄗᅠ +- : "ᄘ" U1118 : ᄅᅠ ᄂᅠ = ᄘᅠ +- : "ᄙ" U1119 : ᄅᅠ ᄅᅠ = ᄙᅠ +- : "ᄚ" U111a : ᄅᅠ ᄒᅠ = ᄚᅠ +- : "ᄛ" U111b : ᄅᅠ ᄋᅠ = ᄛᅠ +- : "ᄜ" U111c : ᄆᅠ ᄇᅠ = ᄜᅠ +- : "ᄝ" U111d : ᄆᅠ ᄋᅠ = ᄝᅠ +- : "ᄞ" U111e : ᄇᅠ ᄀᅠ = ᄞᅠ +- : "ᄟ" U111f : ᄇᅠ ᄂᅠ = ᄟᅠ +- : "ᄠ" U1120 : ᄇᅠ ᄃᅠ = ᄠᅠ +- : "ᄡ" U1121 : ᄇᅠ ᄉᅠ = ᄡᅠ +- : "ᄧ" U1127 : ᄇᅠ ᄌᅠ = ᄧᅠ +- : "ᄨ" U1128 : ᄇᅠ ᄎᅠ = ᄨᅠ +- : "ᄩ" U1129 : ᄇᅠ ᄐᅠ = ᄩᅠ +- : "ᄪ" U112a : ᄇᅠ ᄑᅠ = ᄪᅠ +- : "ᄫ" U112b : ᄇᅠ ᄋᅠ = ᄫᅠ +- : "ᄭ" U112d : ᄉᅠ ᄀᅠ = ᄭᅠ +- : "ᄮ" U112e : ᄉᅠ ᄂᅠ = ᄮᅠ +- : "ᄯ" U112f : ᄉᅠ ᄃᅠ = ᄯᅠ +- : "ᄰ" U1130 : ᄉᅠ ᄅᅠ = ᄰᅠ +- : "ᄱ" U1131 : ᄉᅠ ᄆᅠ = ᄱᅠ +- : "ᄲ" U1132 : ᄉᅠ ᄇᅠ = ᄲᅠ +- : "ᄵ" U1135 : ᄉᅠ ᄋᅠ = ᄵᅠ +- : "ᄶ" U1136 : ᄉᅠ ᄌᅠ = ᄶᅠ +- : "ᄷ" U1137 : ᄉᅠ ᄎᅠ = ᄷᅠ +- : "ᄸ" U1138 : ᄉᅠ ᄏᅠ = ᄸᅠ +- : "ᄹ" U1139 : ᄉᅠ ᄐᅠ = ᄹᅠ +- : "ᄺ" U113a : ᄉᅠ ᄑᅠ = ᄺᅠ +- : "ᄻ" U113b : ᄉᅠ ᄒᅠ = ᄻᅠ +- : "ᄽ" U113d : ᄼᅠ ᄼᅠ = ᄽᅠ +- : "ᄿ" U113f : ᄾᅠ ᄾᅠ = ᄿᅠ +- : "ᅁ" U1141 : ᄋᅠ ᄀᅠ = ᅁᅠ +- : "ᅂ" U1142 : ᄋᅠ ᄃᅠ = ᅂᅠ +- : "ᅃ" U1143 : ᄋᅠ ᄆᅠ = ᅃᅠ +- : "ᅄ" U1144 : ᄋᅠ ᄇᅠ = ᅄᅠ +- : "ᅅ" U1145 : ᄋᅠ ᄉᅠ = ᅅᅠ +- : "ᅆ" U1146 : ᄋᅠ ᅀᅠ = ᅆᅠ +- : "ᅇ" U1147 : ᄋᅠ ᄋᅠ = ᅇᅠ +- : "ᅈ" U1148 : ᄋᅠ ᄌᅠ = ᅈᅠ +- : "ᅉ" U1149 : ᄋᅠ ᄎᅠ = ᅉᅠ +- : "ᅊ" U114a : ᄋᅠ ᄐᅠ = ᅊᅠ +- : "ᅋ" U114b : ᄋᅠ ᄑᅠ = ᅋᅠ +- : "ᅍ" U114d : ᄌᅠ ᄋᅠ = ᅍᅠ +- : "ᅏ" U114f : ᅎᅠ ᅎᅠ = ᅏᅠ +- : "ᅑ" U1151 : ᅐᅠ ᅐᅠ = ᅑᅠ +- : "ᅒ" U1152 : ᄎᅠ ᄏᅠ = ᅒᅠ +- : "ᅓ" U1153 : ᄎᅠ ᄒᅠ = ᅓᅠ +- : "ᅖ" U1156 : ᄑᅠ ᄇᅠ = ᅖᅠ +- : "ᅗ" U1157 : ᄑᅠ ᄋᅠ = ᅗᅠ +- : "ᅘ" U1158 : ᄒᅠ ᄒᅠ = ᅘᅠ +- : "ᅢ" U1162 : ᅟᅡ ᅟᅵ = ᅟᅢ +- : "ᅤ" U1164 : ᅟᅣ ᅟᅵ = ᅟᅤ +- : "ᅦ" U1166 : ᅟᅥ ᅟᅵ = ᅟᅦ +- : "ᅨ" U1168 : ᅟᅧ ᅟᅵ = ᅟᅨ +- : "ᅪ" U116a : ᅟᅩ ᅟᅡ = ᅟᅪ +- : "ᅬ" U116c : ᅟᅩ ᅟᅵ = ᅟᅬ +- : "ᅯ" U116f : ᅟᅮ ᅟᅥ = ᅟᅯ +- : "ᅱ" U1171 : ᅟᅮ ᅟᅵ = ᅟᅱ +- : "ᅴ" U1174 : ᅟᅳ ᅟᅵ = ᅟᅴ +- : "ᅶ" U1176 : ᅟᅡ ᅟᅩ = ᅟᅶ +- : "ᅷ" U1177 : ᅟᅡ ᅟᅮ = ᅟᅷ +- : "ᅸ" U1178 : ᅟᅣ ᅟᅩ = ᅟᅸ +- : "ᅹ" U1179 : ᅟᅣ ᅟᅭ = ᅟᅹ +- : "ᅺ" U117a : ᅟᅥ ᅟᅩ = ᅟᅺ +- : "ᅻ" U117b : ᅟᅥ ᅟᅮ = ᅟᅻ +- : "ᅼ" U117c : ᅟᅥ ᅟᅳ = ᅟᅼ +- : "ᅽ" U117d : ᅟᅧ ᅟᅩ = ᅟᅽ +- : "ᅾ" U117e : ᅟᅧ ᅟᅮ = ᅟᅾ +- : "ᅿ" U117f : ᅟᅩ ᅟᅥ = ᅟᅿ +- : "ᆀ" U1180 : ᅟᅩ ᅟᅦ = ᅟᆀ +- : "ᆁ" U1181 : ᅟᅩ ᅟᅨ = ᅟᆁ +- : "ᆂ" U1182 : ᅟᅩ ᅟᅩ = ᅟᆂ +- : "ᆃ" U1183 : ᅟᅩ ᅟᅮ = ᅟᆃ +- : "ᆄ" U1184 : ᅟᅭ ᅟᅣ = ᅟᆄ +- : "ᆅ" U1185 : ᅟᅭ ᅟᅤ = ᅟᆅ +- : "ᆆ" U1186 : ᅟᅭ ᅟᅧ = ᅟᆆ +- : "ᆇ" U1187 : ᅟᅭ ᅟᅩ = ᅟᆇ +- : "ᆈ" U1188 : ᅟᅭ ᅟᅵ = ᅟᆈ +- : "ᆉ" U1189 : ᅟᅮ ᅟᅡ = ᅟᆉ +- : "ᆊ" U118a : ᅟᅮ ᅟᅢ = ᅟᆊ +- : "ᆌ" U118c : ᅟᅮ ᅟᅨ = ᅟᆌ +- : "ᆍ" U118d : ᅟᅮ ᅟᅮ = ᅟᆍ +- : "ᆎ" U118e : ᅟᅲ ᅟᅡ = ᅟᆎ +- : "ᆏ" U118f : ᅟᅲ ᅟᅥ = ᅟᆏ +- : "ᆐ" U1190 : ᅟᅲ ᅟᅦ = ᅟᆐ +- : "ᆑ" U1191 : ᅟᅲ ᅟᅧ = ᅟᆑ +- : "ᆒ" U1192 : ᅟᅲ ᅟᅨ = ᅟᆒ +- : "ᆓ" U1193 : ᅟᅲ ᅟᅮ = ᅟᆓ +- : "ᆔ" U1194 : ᅟᅲ ᅟᅵ = ᅟᆔ +- : "ᆕ" U1195 : ᅟᅳ ᅟᅮ = ᅟᆕ +- : "ᆖ" U1196 : ᅟᅳ ᅟᅳ = ᅟᆖ +- : "ᆗ" U1197 : ᅟᅴ ᅟᅮ = ᅟᆗ +- : "ᆘ" U1198 : ᅟᅵ ᅟᅡ = ᅟᆘ +- : "ᆙ" U1199 : ᅟᅵ ᅟᅣ = ᅟᆙ +- : "ᆚ" U119a : ᅟᅵ ᅟᅩ = ᅟᆚ +- : "ᆛ" U119b : ᅟᅵ ᅟᅮ = ᅟᆛ +- : "ᆜ" U119c : ᅟᅵ ᅟᅳ = ᅟᆜ +- : "ᆝ" U119d : ᅟᅵ ᅟᆞ = ᅟᆝ +- : "ᆟ" U119f : ᅟᆞ ᅟᅥ = ᅟᆟ +- : "ᆠ" U11a0 : ᅟᆞ ᅟᅮ = ᅟᆠ +- : "ᆡ" U11a1 : ᅟᆞ ᅟᅵ = ᅟᆡ +- : "ᆢ" U11a2 : ᅟᆞ ᅟᆞ = ᅟᆢ +- : "ᆩ" U11a9 : ᅟᅠᆨ ᅟᅠᆨ = ᅟᅠᆩ +- : "ᆪ" U11aa : ᅟᅠᆨ ᅟᅠᆺ = ᅟᅠᆪ +- : "ᆬ" U11ac : ᅟᅠᆫ ᅟᅠᆽ = ᅟᅠᆬ +- : "ᆭ" U11ad : ᅟᅠᆫ ᅟᅠᇂ = ᅟᅠᆭ +- : "ᆰ" U11b0 : ᅟᅠᆯ ᅟᅠᆨ = ᅟᅠᆰ +- : "ᆱ" U11b1 : ᅟᅠᆯ ᅟᅠᆷ = ᅟᅠᆱ +- : "ᆲ" U11b2 : ᅟᅠᆯ ᅟᅠᆸ = ᅟᅠᆲ +- : "ᆳ" U11b3 : ᅟᅠᆯ ᅟᅠᆺ = ᅟᅠᆳ +- : "ᆴ" U11b4 : ᅟᅠᆯ ᅟᅠᇀ = ᅟᅠᆴ +- : "ᆵ" U11b5 : ᅟᅠᆯ ᅟᅠᇁ = ᅟᅠᆵ +- : "ᆶ" U11b6 : ᅟᅠᆯ ᅟᅠᇂ = ᅟᅠᆶ +- : "ᆹ" U11b9 : ᅟᅠᆸ ᅟᅠᆺ = ᅟᅠᆹ +- : "ᆻ" U11bb : ᅟᅠᆺ ᅟᅠᆺ = ᅟᅠᆻ +- : "ᇃ" U11c3 : ᅟᅠᆨ ᅟᅠᆯ = ᅟᅠᇃ +- : "ᇅ" U11c5 : ᅟᅠᆫ ᅟᅠᆨ = ᅟᅠᇅ +- : "ᇆ" U11c6 : ᅟᅠᆫ ᅟᅠᆮ = ᅟᅠᇆ +- : "ᇇ" U11c7 : ᅟᅠᆫ ᅟᅠᆺ = ᅟᅠᇇ +- : "ᇈ" U11c8 : ᅟᅠᆫ ᅟᅠᇫ = ᅟᅠᇈ +- : "ᇉ" U11c9 : ᅟᅠᆫ ᅟᅠᇀ = ᅟᅠᇉ +- : "ᇊ" U11ca : ᅟᅠᆮ ᅟᅠᆨ = ᅟᅠᇊ +- : "ᇋ" U11cb : ᅟᅠᆮ ᅟᅠᆯ = ᅟᅠᇋ +- : "ᇍ" U11cd : ᅟᅠᆯ ᅟᅠᆫ = ᅟᅠᇍ +- : "ᇎ" U11ce : ᅟᅠᆯ ᅟᅠᆮ = ᅟᅠᇎ +- : "ᇐ" U11d0 : ᅟᅠᆯ ᅟᅠᆯ = ᅟᅠᇐ +- : "ᇗ" U11d7 : ᅟᅠᆯ ᅟᅠᇫ = ᅟᅠᇗ +- : "ᇘ" U11d8 : ᅟᅠᆯ ᅟᅠᆿ = ᅟᅠᇘ +- : "ᇙ" U11d9 : ᅟᅠᆯ ᅟᅠᇹ = ᅟᅠᇙ +- : "ᇚ" U11da : ᅟᅠᆷ ᅟᅠᆨ = ᅟᅠᇚ +- : "ᇛ" U11db : ᅟᅠᆷ ᅟᅠᆯ = ᅟᅠᇛ +- : "ᇜ" U11dc : ᅟᅠᆷ ᅟᅠᆸ = ᅟᅠᇜ +- : "ᇝ" U11dd : ᅟᅠᆷ ᅟᅠᆺ = ᅟᅠᇝ +- : "ᇟ" U11df : ᅟᅠᆷ ᅟᅠᇫ = ᅟᅠᇟ +- : "ᇠ" U11e0 : ᅟᅠᆷ ᅟᅠᆾ = ᅟᅠᇠ +- : "ᇡ" U11e1 : ᅟᅠᆷ ᅟᅠᇂ = ᅟᅠᇡ +- : "ᇢ" U11e2 : ᅟᅠᆷ ᅟᅠᆼ = ᅟᅠᇢ +- : "ᇣ" U11e3 : ᅟᅠᆸ ᅟᅠᆯ = ᅟᅠᇣ +- : "ᇤ" U11e4 : ᅟᅠᆸ ᅟᅠᇁ = ᅟᅠᇤ +- : "ᇥ" U11e5 : ᅟᅠᆸ ᅟᅠᇂ = ᅟᅠᇥ +- : "ᇦ" U11e6 : ᅟᅠᆸ ᅟᅠᆼ = ᅟᅠᇦ +- : "ᇧ" U11e7 : ᅟᅠᆺ ᅟᅠᆨ = ᅟᅠᇧ +- : "ᇨ" U11e8 : ᅟᅠᆺ ᅟᅠᆮ = ᅟᅠᇨ +- : "ᇩ" U11e9 : ᅟᅠᆺ ᅟᅠᆯ = ᅟᅠᇩ +- : "ᇪ" U11ea : ᅟᅠᆺ ᅟᅠᆸ = ᅟᅠᇪ +- : "ᇬ" U11ec : ᅟᅠᆼ ᅟᅠᆨ = ᅟᅠᇬ +- : "ᇮ" U11ee : ᅟᅠᆼ ᅟᅠᆼ = ᅟᅠᇮ +- : "ᇯ" U11ef : ᅟᅠᆼ ᅟᅠᆿ = ᅟᅠᇯ +- : "ᇱ" U11f1 : ᅟᅠᇰ ᅟᅠᆺ = ᅟᅠᇱ +- : "ᇲ" U11f2 : ᅟᅠᇰ ᅟᅠᇫ = ᅟᅠᇲ +- : "ᇳ" U11f3 : ᅟᅠᇁ ᅟᅠᆸ = ᅟᅠᇳ +- : "ᇴ" U11f4 : ᅟᅠᇁ ᅟᅠᆼ = ᅟᅠᇴ +- : "ᇵ" U11f5 : ᅟᅠᇂ ᅟᅠᆫ = ᅟᅠᇵ +- : "ᇶ" U11f6 : ᅟᅠᇂ ᅟᅠᆯ = ᅟᅠᇶ +- : "ᇷ" U11f7 : ᅟᅠᇂ ᅟᅠᆷ = ᅟᅠᇷ +- : "ᇸ" U11f8 : ᅟᅠᇂ ᅟᅠᆸ = ᅟᅠᇸ +- : "ᄢ" U1122 : ᄡᅠ ᄀᅠ = ᄢᅠ +- : "ᄣ" U1123 : ᄡᅠ ᄃᅠ = ᄣᅠ +- : "ᄤ" U1124 : ᄡᅠ ᄇᅠ = ᄤᅠ +- : "ᄥ" U1125 : ᄡᅠ ᄉᅠ = ᄥᅠ +- : "ᄦ" U1126 : ᄡᅠ ᄌᅠ = ᄦᅠ +- : "ᄬ" U112c : ᄈᅠ ᄋᅠ = ᄬᅠ +- : "ᄳ" U1133 : ᄲᅠ ᄀᅠ = ᄳᅠ +- : "ᄴ" U1134 : ᄊᅠ ᄉᅠ = ᄴᅠ +- : "ᅫ" U116b : ᅟᅪ ᅟᅵ = ᅟᅫ +- : "ᅰ" U1170 : ᅟᅯ ᅟᅵ = ᅟᅰ +- : "ᆋ" U118b : ᅟᅯ ᅟᅳ = ᅟᆋ +- : "ᇄ" U11c4 : ᅟᅠᆪ ᅟᅠᆨ = ᅟᅠᇄ +- : "ᇌ" U11cc : ᅟᅠᆰ ᅟᅠᆺ = ᅟᅠᇌ +- : "ᇏ" U11cf : ᅟᅠᇎ ᅟᅠᇂ = ᅟᅠᇏ +- : "ᇑ" U11d1 : ᅟᅠᆱ ᅟᅠᆨ = ᅟᅠᇑ +- : "ᇒ" U11d2 : ᅟᅠᆱ ᅟᅠᆺ = ᅟᅠᇒ +- : "ᇓ" U11d3 : ᅟᅠᆲ ᅟᅠᆺ = ᅟᅠᇓ +- : "ᇔ" U11d4 : ᅟᅠᆲ ᅟᅠᇂ = ᅟᅠᇔ +- : "ᇕ" U11d5 : ᅟᅠᆲ ᅟᅠᆼ = ᅟᅠᇕ +- : "ᇖ" U11d6 : ᅟᅠᆳ ᅟᅠᆺ = ᅟᅠᇖ +- : "ᇞ" U11de : ᅟᅠᇝ ᅟᅠᆺ = ᅟᅠᇞ +- : "ᇭ" U11ed : ᅟᅠᇬ ᅟᅠᆨ = ᅟᅠᇭ +- : "ᄢ" U1122 : ᄇᅠ ᄭᅠ = ᄢᅠ +- : "ᄣ" U1123 : ᄇᅠ ᄯᅠ = ᄣᅠ +- : "ᄤ" U1124 : ᄇᅠ ᄲᅠ = ᄤᅠ +- : "ᄥ" U1125 : ᄇᅠ ᄊᅠ = ᄥᅠ +- : "ᄦ" U1126 : ᄇᅠ ᄶᅠ = ᄦᅠ +- : "ᄬ" U112c : ᄇᅠ ᄫᅠ = ᄬᅠ +- : "ᄳ" U1133 : ᄉᅠ ᄞᅠ = ᄳᅠ +- : "ᄴ" U1134 : ᄉᅠ ᄊᅠ = ᄴᅠ +- : "ᅫ" U116b : ᅟᅩ ᅟᅢ = ᅟᅫ +- : "ᅰ" U1170 : ᅟᅮ ᅟᅦ = ᅟᅰ +- : "ᆋ" U118b : ᅟᅮ ᅟᅼ = ᅟᆋ +- : "ᇄ" U11c4 : ᅟᅠᆨ ᅟᅠᇧ = ᅟᅠᇄ +- : "ᇌ" U11cc : ᅟᅠᆯ ᅟᅠᆪ = ᅟᅠᇌ +- : "ᇑ" U11d1 : ᅟᅠᆯ ᅟᅠᇚ = ᅟᅠᇑ +- : "ᇒ" U11d2 : ᅟᅠᆯ ᅟᅠᇝ = ᅟᅠᇒ +- : "ᇓ" U11d3 : ᅟᅠᆯ ᅟᅠᆹ = ᅟᅠᇓ +- : "ᇔ" U11d4 : ᅟᅠᆯ ᅟᅠᇥ = ᅟᅠᇔ +- : "ᇕ" U11d5 : ᅟᅠᆯ ᅟᅠᇦ = ᅟᅠᇕ +- : "ᇖ" U11d6 : ᅟᅠᆯ ᅟᅠᆻ = ᅟᅠᇖ +- : "ᇞ" U11de : ᅟᅠᆷ ᅟᅠᆻ = ᅟᅠᇞ +- : "ᇭ" U11ed : ᅟᅠᆼ ᅟᅠᆩ = ᅟᅠᇭ +- +- : "ª" ordfeminine # FEMININE ORDINAL INDICATOR +- : "ª" ordfeminine # FEMININE ORDINAL INDICATOR +- : "ª" ordfeminine # FEMININE ORDINAL INDICATOR +- : "ª" ordfeminine # FEMININE ORDINAL INDICATOR +- <2> : "²" twosuperior # SUPERSCRIPT TWO +- <2> : "²" twosuperior # SUPERSCRIPT TWO +- : "²" twosuperior # SUPERSCRIPT TWO +- : "²" twosuperior # SUPERSCRIPT TWO +- : "²" twosuperior # SUPERSCRIPT TWO +- : "²" twosuperior # SUPERSCRIPT TWO +- <3> : "³" threesuperior # SUPERSCRIPT THREE +- <3> : "³" threesuperior # SUPERSCRIPT THREE +- : "³" threesuperior # SUPERSCRIPT THREE +- : "³" threesuperior # SUPERSCRIPT THREE +- <1> : "¹" onesuperior # SUPERSCRIPT ONE +- <1> : "¹" onesuperior # SUPERSCRIPT ONE +- : "¹" onesuperior # SUPERSCRIPT ONE +- : "¹" onesuperior # SUPERSCRIPT ONE +- : "º" masculine # MASCULINE ORDINAL INDICATOR +- : "º" masculine # MASCULINE ORDINAL INDICATOR +- : "º" masculine # MASCULINE ORDINAL INDICATOR +- : "º" masculine # MASCULINE ORDINAL INDICATOR +- <1> <4> : "¼" onequarter # VULGAR FRACTION ONE QUARTER +- <1> <2> : "½" onehalf # VULGAR FRACTION ONE HALF +- <3> <4> : "¾" threequarters # VULGAR FRACTION THREE QUARTERS +- : "À" Agrave # LATIN CAPITAL LETTER A WITH GRAVE +- : "À" Agrave # LATIN CAPITAL LETTER A WITH GRAVE +- : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE +- : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE +- : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE +- : "Â" Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +- : "Â" Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +- : "Ã" Atilde # LATIN CAPITAL LETTER A WITH TILDE +- : "Ã" Atilde # LATIN CAPITAL LETTER A WITH TILDE +- : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS +- : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS +- : "Å" Aring # LATIN CAPITAL LETTER A WITH RING ABOVE +- : "Å" Aring # LATIN CAPITAL LETTER A WITH RING ABOVE +- : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA +- : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA +- : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA +- : "È" Egrave # LATIN CAPITAL LETTER E WITH GRAVE +- : "È" Egrave # LATIN CAPITAL LETTER E WITH GRAVE +- : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE +- : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE +- : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE +- : "Ê" Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +- : "Ê" Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +- : "Ë" Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS +- : "Ë" Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS +- : "Ì" Igrave # LATIN CAPITAL LETTER I WITH GRAVE +- : "Ì" Igrave # LATIN CAPITAL LETTER I WITH GRAVE +- : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE +- : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE +- : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE +- : "Î" Icircumflex # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +- : "Î" Icircumflex # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +- : "Ï" Idiaeresis # LATIN CAPITAL LETTER I WITH DIAERESIS +- : "Ï" Idiaeresis # LATIN CAPITAL LETTER I WITH DIAERESIS +- : "Ñ" Ntilde # LATIN CAPITAL LETTER N WITH TILDE +- : "Ñ" Ntilde # LATIN CAPITAL LETTER N WITH TILDE +- : "Ò" Ograve # LATIN CAPITAL LETTER O WITH GRAVE +- : "Ò" Ograve # LATIN CAPITAL LETTER O WITH GRAVE +- : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE +- : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE +- : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE +- : "Ô" Ocircumflex # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +- : "Ô" Ocircumflex # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +- : "Õ" Otilde # LATIN CAPITAL LETTER O WITH TILDE +- : "Õ" Otilde # LATIN CAPITAL LETTER O WITH TILDE +- : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS +- : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS +- : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE +- : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE +- : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE +- : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE +- : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE +- : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE +- : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE +- : "Û" Ucircumflex # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +- : "Û" Ucircumflex # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +- : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS +- : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS +- : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE +- : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE +- : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE +- : "à" agrave # LATIN SMALL LETTER A WITH GRAVE +- : "à" agrave # LATIN SMALL LETTER A WITH GRAVE +- : "á" aacute # LATIN SMALL LETTER A WITH ACUTE +- : "á" aacute # LATIN SMALL LETTER A WITH ACUTE +- : "á" aacute # LATIN SMALL LETTER A WITH ACUTE +- : "â" acircumflex # LATIN SMALL LETTER A WITH CIRCUMFLEX +- : "â" acircumflex # LATIN SMALL LETTER A WITH CIRCUMFLEX +- : "ã" atilde # LATIN SMALL LETTER A WITH TILDE +- : "ã" atilde # LATIN SMALL LETTER A WITH TILDE +- : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS +- : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS +- : "å" aring # LATIN SMALL LETTER A WITH RING ABOVE +- : "å" aring # LATIN SMALL LETTER A WITH RING ABOVE +- : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA +- : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA +- : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA +- : "è" egrave # LATIN SMALL LETTER E WITH GRAVE +- : "è" egrave # LATIN SMALL LETTER E WITH GRAVE +- : "é" eacute # LATIN SMALL LETTER E WITH ACUTE +- : "é" eacute # LATIN SMALL LETTER E WITH ACUTE +- : "é" eacute # LATIN SMALL LETTER E WITH ACUTE +- : "ê" ecircumflex # LATIN SMALL LETTER E WITH CIRCUMFLEX +- : "ê" ecircumflex # LATIN SMALL LETTER E WITH CIRCUMFLEX +- : "ë" ediaeresis # LATIN SMALL LETTER E WITH DIAERESIS +- : "ë" ediaeresis # LATIN SMALL LETTER E WITH DIAERESIS +- : "ì" igrave # LATIN SMALL LETTER I WITH GRAVE +- : "ì" igrave # LATIN SMALL LETTER I WITH GRAVE +- : "í" iacute # LATIN SMALL LETTER I WITH ACUTE +- : "í" iacute # LATIN SMALL LETTER I WITH ACUTE +- : "í" iacute # LATIN SMALL LETTER I WITH ACUTE +- : "î" icircumflex # LATIN SMALL LETTER I WITH CIRCUMFLEX +- : "î" icircumflex # LATIN SMALL LETTER I WITH CIRCUMFLEX +- : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS +- : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS +- : "ñ" ntilde # LATIN SMALL LETTER N WITH TILDE +- : "ñ" ntilde # LATIN SMALL LETTER N WITH TILDE +- : "ò" ograve # LATIN SMALL LETTER O WITH GRAVE +- : "ò" ograve # LATIN SMALL LETTER O WITH GRAVE +- : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE +- : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE +- : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE +- : "ô" ocircumflex # LATIN SMALL LETTER O WITH CIRCUMFLEX +- : "ô" ocircumflex # LATIN SMALL LETTER O WITH CIRCUMFLEX +- : "õ" otilde # LATIN SMALL LETTER O WITH TILDE +- : "õ" otilde # LATIN SMALL LETTER O WITH TILDE +- : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS +- : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS +- : "ø" oslash # LATIN SMALL LETTER O WITH STROKE +- : "ø" oslash # LATIN SMALL LETTER O WITH STROKE +- : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE +- : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE +- : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE +- : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE +- : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE +- : "û" ucircumflex # LATIN SMALL LETTER U WITH CIRCUMFLEX +- : "û" ucircumflex # LATIN SMALL LETTER U WITH CIRCUMFLEX +- : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS +- : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS +- : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE +- : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE +- : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE +- : "ÿ" ydiaeresis # LATIN SMALL LETTER Y WITH DIAERESIS +- : "ÿ" ydiaeresis # LATIN SMALL LETTER Y WITH DIAERESIS +- : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON +- : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON +- : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON +- : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON +- : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON +- : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON +- : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE +- : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE +- : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE +- : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE +- : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE +- : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE +- : "Ą" U0104 # LATIN CAPITAL LETTER A WITH OGONEK +- : "Ą" U0104 # LATIN CAPITAL LETTER A WITH OGONEK +- : "ą" U0105 # LATIN SMALL LETTER A WITH OGONEK +- : "ą" U0105 # LATIN SMALL LETTER A WITH OGONEK +- : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA +- : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE +- : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE ++include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" ++ : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA + : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA +- : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE +- : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE +- : "Ĉ" U0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX +- : "Ĉ" U0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX +- : "ĉ" U0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX +- : "ĉ" U0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX +- : "Ċ" U010A # LATIN CAPITAL LETTER C WITH DOT ABOVE +- : "Ċ" U010A # LATIN CAPITAL LETTER C WITH DOT ABOVE +- : "ċ" U010B # LATIN SMALL LETTER C WITH DOT ABOVE +- : "ċ" U010B # LATIN SMALL LETTER C WITH DOT ABOVE +- : "Č" U010C # LATIN CAPITAL LETTER C WITH CARON +- : "Č" U010C # LATIN CAPITAL LETTER C WITH CARON +- : "č" U010D # LATIN SMALL LETTER C WITH CARON +- : "č" U010D # LATIN SMALL LETTER C WITH CARON +- : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON +- : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON +- : "ď" U010F # LATIN SMALL LETTER D WITH CARON +- : "ď" U010F # LATIN SMALL LETTER D WITH CARON +- : "Đ" U0110 # LATIN CAPITAL LETTER D WITH STROKE +- : "Đ" U0110 # LATIN CAPITAL LETTER D WITH STROKE +- : "đ" U0111 # LATIN SMALL LETTER D WITH STROKE +- : "đ" U0111 # LATIN SMALL LETTER D WITH STROKE +- : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON +- : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON +- : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON +- : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON +- : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON +- : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON +- : "Ĕ" U0114 # LATIN CAPITAL LETTER E WITH BREVE +- : "Ĕ" U0114 # LATIN CAPITAL LETTER E WITH BREVE +- : "Ĕ" U0114 # LATIN CAPITAL LETTER E WITH BREVE +- : "ĕ" U0115 # LATIN SMALL LETTER E WITH BREVE +- : "ĕ" U0115 # LATIN SMALL LETTER E WITH BREVE +- : "ĕ" U0115 # LATIN SMALL LETTER E WITH BREVE +- : "Ė" U0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE +- : "Ė" U0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE +- : "ė" U0117 # LATIN SMALL LETTER E WITH DOT ABOVE +- : "ė" U0117 # LATIN SMALL LETTER E WITH DOT ABOVE +- : "Ę" U0118 # LATIN CAPITAL LETTER E WITH OGONEK +- : "Ę" U0118 # LATIN CAPITAL LETTER E WITH OGONEK +- : "ę" U0119 # LATIN SMALL LETTER E WITH OGONEK +- : "ę" U0119 # LATIN SMALL LETTER E WITH OGONEK +- : "Ě" U011A # LATIN CAPITAL LETTER E WITH CARON +- : "Ě" U011A # LATIN CAPITAL LETTER E WITH CARON +- : "ě" U011B # LATIN SMALL LETTER E WITH CARON +- : "ě" U011B # LATIN SMALL LETTER E WITH CARON +- : "Ĝ" U011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX +- : "Ĝ" U011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX +- : "ĝ" U011D # LATIN SMALL LETTER G WITH CIRCUMFLEX +- : "ĝ" U011D # LATIN SMALL LETTER G WITH CIRCUMFLEX +- : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE +- : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE +- : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE +- : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE +- : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE +- : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE +- : "Ġ" U0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE +- : "Ġ" U0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE +- : "ġ" U0121 # LATIN SMALL LETTER G WITH DOT ABOVE +- : "ġ" U0121 # LATIN SMALL LETTER G WITH DOT ABOVE +- : "Ģ" U0122 # LATIN CAPITAL LETTER G WITH CEDILLA +- : "Ģ" U0122 # LATIN CAPITAL LETTER G WITH CEDILLA +- : "Ģ" U0122 # LATIN CAPITAL LETTER G WITH CEDILLA +- : "ģ" U0123 # LATIN SMALL LETTER G WITH CEDILLA +- : "ģ" U0123 # LATIN SMALL LETTER G WITH CEDILLA +- : "ģ" U0123 # LATIN SMALL LETTER G WITH CEDILLA +- : "Ĥ" U0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX +- : "Ĥ" U0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX +- : "ĥ" U0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX +- : "ĥ" U0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX +- : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE +- : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE +- : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE +- : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE +- : "Ĩ" U0128 # LATIN CAPITAL LETTER I WITH TILDE +- : "Ĩ" U0128 # LATIN CAPITAL LETTER I WITH TILDE +- : "ĩ" U0129 # LATIN SMALL LETTER I WITH TILDE +- : "ĩ" U0129 # LATIN SMALL LETTER I WITH TILDE +- : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON +- : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON +- : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON +- : "ī" U012B # LATIN SMALL LETTER I WITH MACRON +- : "ī" U012B # LATIN SMALL LETTER I WITH MACRON +- : "ī" U012B # LATIN SMALL LETTER I WITH MACRON +- : "Ĭ" U012C # LATIN CAPITAL LETTER I WITH BREVE +- : "Ĭ" U012C # LATIN CAPITAL LETTER I WITH BREVE +- : "Ĭ" U012C # LATIN CAPITAL LETTER I WITH BREVE +- : "ĭ" U012D # LATIN SMALL LETTER I WITH BREVE +- : "ĭ" U012D # LATIN SMALL LETTER I WITH BREVE +- : "ĭ" U012D # LATIN SMALL LETTER I WITH BREVE +- : "Į" U012E # LATIN CAPITAL LETTER I WITH OGONEK +- : "Į" U012E # LATIN CAPITAL LETTER I WITH OGONEK +- : "į" U012F # LATIN SMALL LETTER I WITH OGONEK +- : "į" U012F # LATIN SMALL LETTER I WITH OGONEK +- : "İ" U0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE +- : "İ" U0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE +- : "Ĵ" U0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX +- : "Ĵ" U0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX +- : "ĵ" U0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX +- : "ĵ" U0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX +- : "Ķ" U0136 # LATIN CAPITAL LETTER K WITH CEDILLA +- : "Ķ" U0136 # LATIN CAPITAL LETTER K WITH CEDILLA +- : "Ķ" U0136 # LATIN CAPITAL LETTER K WITH CEDILLA +- : "ķ" U0137 # LATIN SMALL LETTER K WITH CEDILLA +- : "ķ" U0137 # LATIN SMALL LETTER K WITH CEDILLA +- : "ķ" U0137 # LATIN SMALL LETTER K WITH CEDILLA +- : "Ĺ" U0139 # LATIN CAPITAL LETTER L WITH ACUTE +- : "Ĺ" U0139 # LATIN CAPITAL LETTER L WITH ACUTE +- : "Ĺ" U0139 # LATIN CAPITAL LETTER L WITH ACUTE +- : "ĺ" U013A # LATIN SMALL LETTER L WITH ACUTE +- : "ĺ" U013A # LATIN SMALL LETTER L WITH ACUTE +- : "ĺ" U013A # LATIN SMALL LETTER L WITH ACUTE +- : "Ļ" U013B # LATIN CAPITAL LETTER L WITH CEDILLA +- : "Ļ" U013B # LATIN CAPITAL LETTER L WITH CEDILLA +- : "Ļ" U013B # LATIN CAPITAL LETTER L WITH CEDILLA +- : "ļ" U013C # LATIN SMALL LETTER L WITH CEDILLA +- : "ļ" U013C # LATIN SMALL LETTER L WITH CEDILLA +- : "ļ" U013C # LATIN SMALL LETTER L WITH CEDILLA +- : "Ľ" U013D # LATIN CAPITAL LETTER L WITH CARON +- : "Ľ" U013D # LATIN CAPITAL LETTER L WITH CARON +- : "ľ" U013E # LATIN SMALL LETTER L WITH CARON +- : "ľ" U013E # LATIN SMALL LETTER L WITH CARON +- : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE +- : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE +- : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE +- : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE +- : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE +- : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE +- : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE +- : "ń" U0144 # LATIN SMALL LETTER N WITH ACUTE +- : "ń" U0144 # LATIN SMALL LETTER N WITH ACUTE +- : "ń" U0144 # LATIN SMALL LETTER N WITH ACUTE +- : "Ņ" U0145 # LATIN CAPITAL LETTER N WITH CEDILLA +- : "Ņ" U0145 # LATIN CAPITAL LETTER N WITH CEDILLA +- : "Ņ" U0145 # LATIN CAPITAL LETTER N WITH CEDILLA +- : "ņ" U0146 # LATIN SMALL LETTER N WITH CEDILLA +- : "ņ" U0146 # LATIN SMALL LETTER N WITH CEDILLA +- : "ņ" U0146 # LATIN SMALL LETTER N WITH CEDILLA +- : "Ň" U0147 # LATIN CAPITAL LETTER N WITH CARON +- : "Ň" U0147 # LATIN CAPITAL LETTER N WITH CARON +- : "ň" U0148 # LATIN SMALL LETTER N WITH CARON +- : "ň" U0148 # LATIN SMALL LETTER N WITH CARON +- : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON +- : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON +- : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON +- : "ō" U014D # LATIN SMALL LETTER O WITH MACRON +- : "ō" U014D # LATIN SMALL LETTER O WITH MACRON +- : "ō" U014D # LATIN SMALL LETTER O WITH MACRON +- : "Ŏ" U014E # LATIN CAPITAL LETTER O WITH BREVE +- : "Ŏ" U014E # LATIN CAPITAL LETTER O WITH BREVE +- : "Ŏ" U014E # LATIN CAPITAL LETTER O WITH BREVE +- : "ŏ" U014F # LATIN SMALL LETTER O WITH BREVE +- : "ŏ" U014F # LATIN SMALL LETTER O WITH BREVE +- : "ŏ" U014F # LATIN SMALL LETTER O WITH BREVE +- : "Ő" U0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +- : "Ő" U0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +- : "ő" U0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE +- : "ő" U0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE +- : "Ŕ" U0154 # LATIN CAPITAL LETTER R WITH ACUTE +- : "Ŕ" U0154 # LATIN CAPITAL LETTER R WITH ACUTE +- : "Ŕ" U0154 # LATIN CAPITAL LETTER R WITH ACUTE +- : "ŕ" U0155 # LATIN SMALL LETTER R WITH ACUTE +- : "ŕ" U0155 # LATIN SMALL LETTER R WITH ACUTE +- : "ŕ" U0155 # LATIN SMALL LETTER R WITH ACUTE +- : "Ŗ" U0156 # LATIN CAPITAL LETTER R WITH CEDILLA +- : "Ŗ" U0156 # LATIN CAPITAL LETTER R WITH CEDILLA +- : "Ŗ" U0156 # LATIN CAPITAL LETTER R WITH CEDILLA +- : "ŗ" U0157 # LATIN SMALL LETTER R WITH CEDILLA +- : "ŗ" U0157 # LATIN SMALL LETTER R WITH CEDILLA +- : "ŗ" U0157 # LATIN SMALL LETTER R WITH CEDILLA +- : "Ř" U0158 # LATIN CAPITAL LETTER R WITH CARON +- : "Ř" U0158 # LATIN CAPITAL LETTER R WITH CARON +- : "ř" U0159 # LATIN SMALL LETTER R WITH CARON +- : "ř" U0159 # LATIN SMALL LETTER R WITH CARON +- : "Ś" U015A # LATIN CAPITAL LETTER S WITH ACUTE +- : "Ś" U015A # LATIN CAPITAL LETTER S WITH ACUTE +- : "Ś" U015A # LATIN CAPITAL LETTER S WITH ACUTE +- : "ś" U015B # LATIN SMALL LETTER S WITH ACUTE +- : "ś" U015B # LATIN SMALL LETTER S WITH ACUTE +- : "ś" U015B # LATIN SMALL LETTER S WITH ACUTE +- : "Ŝ" U015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX +- : "Ŝ" U015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX +- : "ŝ" U015D # LATIN SMALL LETTER S WITH CIRCUMFLEX +- : "ŝ" U015D # LATIN SMALL LETTER S WITH CIRCUMFLEX +- : "Ş" U015E # LATIN CAPITAL LETTER S WITH CEDILLA +- : "Ş" U015E # LATIN CAPITAL LETTER S WITH CEDILLA +- : "Ş" U015E # LATIN CAPITAL LETTER S WITH CEDILLA +- : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA +- : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA +- : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA +- : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON +- : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON +- : "š" U0161 # LATIN SMALL LETTER S WITH CARON +- : "š" U0161 # LATIN SMALL LETTER S WITH CARON +- : "Ţ" U0162 # LATIN CAPITAL LETTER T WITH CEDILLA +- : "Ţ" U0162 # LATIN CAPITAL LETTER T WITH CEDILLA +- : "Ţ" U0162 # LATIN CAPITAL LETTER T WITH CEDILLA +- : "ţ" U0163 # LATIN SMALL LETTER T WITH CEDILLA +- : "ţ" U0163 # LATIN SMALL LETTER T WITH CEDILLA +- : "ţ" U0163 # LATIN SMALL LETTER T WITH CEDILLA +- : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON +- : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON +- : "ť" U0165 # LATIN SMALL LETTER T WITH CARON +- : "ť" U0165 # LATIN SMALL LETTER T WITH CARON +- : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE +- : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE +- : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE +- : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE +- : "Ũ" U0168 # LATIN CAPITAL LETTER U WITH TILDE +- : "Ũ" U0168 # LATIN CAPITAL LETTER U WITH TILDE +- : "ũ" U0169 # LATIN SMALL LETTER U WITH TILDE +- : "ũ" U0169 # LATIN SMALL LETTER U WITH TILDE +- : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON +- : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON +- : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON +- : "ū" U016B # LATIN SMALL LETTER U WITH MACRON +- : "ū" U016B # LATIN SMALL LETTER U WITH MACRON +- : "ū" U016B # LATIN SMALL LETTER U WITH MACRON +- : "Ŭ" U016C # LATIN CAPITAL LETTER U WITH BREVE +- : "Ŭ" U016C # LATIN CAPITAL LETTER U WITH BREVE +- : "Ŭ" U016C # LATIN CAPITAL LETTER U WITH BREVE +- : "ŭ" U016D # LATIN SMALL LETTER U WITH BREVE +- : "ŭ" U016D # LATIN SMALL LETTER U WITH BREVE +- : "ŭ" U016D # LATIN SMALL LETTER U WITH BREVE +- : "Ů" U016E # LATIN CAPITAL LETTER U WITH RING ABOVE +- : "Ů" U016E # LATIN CAPITAL LETTER U WITH RING ABOVE +- : "ů" U016F # LATIN SMALL LETTER U WITH RING ABOVE +- : "ů" U016F # LATIN SMALL LETTER U WITH RING ABOVE +- : "Ű" U0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +- : "Ű" U0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +- : "ű" U0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE +- : "ű" U0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE +- : "Ų" U0172 # LATIN CAPITAL LETTER U WITH OGONEK +- : "Ų" U0172 # LATIN CAPITAL LETTER U WITH OGONEK +- : "ų" U0173 # LATIN SMALL LETTER U WITH OGONEK +- : "ų" U0173 # LATIN SMALL LETTER U WITH OGONEK +- : "Ŵ" U0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX +- : "Ŵ" U0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX +- : "ŵ" U0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX +- : "ŵ" U0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX +- : "Ŷ" U0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX +- : "Ŷ" U0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX +- : "ŷ" U0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX +- : "ŷ" U0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX +- : "Ÿ" U0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS +- : "Ÿ" U0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS +- : "Ź" U0179 # LATIN CAPITAL LETTER Z WITH ACUTE +- : "Ź" U0179 # LATIN CAPITAL LETTER Z WITH ACUTE +- : "Ź" U0179 # LATIN CAPITAL LETTER Z WITH ACUTE +- : "ź" U017A # LATIN SMALL LETTER Z WITH ACUTE +- : "ź" U017A # LATIN SMALL LETTER Z WITH ACUTE +- : "ź" U017A # LATIN SMALL LETTER Z WITH ACUTE +- : "Ż" U017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE +- : "Ż" U017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE +- : "ż" U017C # LATIN SMALL LETTER Z WITH DOT ABOVE +- : "ż" U017C # LATIN SMALL LETTER Z WITH DOT ABOVE +- : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON +- : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON +- : "ž" U017E # LATIN SMALL LETTER Z WITH CARON +- : "ž" U017E # LATIN SMALL LETTER Z WITH CARON +- : "ƀ" U0180 # LATIN SMALL LETTER B WITH STROKE +- : "ƀ" U0180 # LATIN SMALL LETTER B WITH STROKE +- : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE +- : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE +- : "Ơ" U01A0 # LATIN CAPITAL LETTER O WITH HORN +- : "Ơ" U01A0 # LATIN CAPITAL LETTER O WITH HORN +- : "ơ" U01A1 # LATIN SMALL LETTER O WITH HORN +- : "ơ" U01A1 # LATIN SMALL LETTER O WITH HORN +- : "Ư" U01AF # LATIN CAPITAL LETTER U WITH HORN +- : "Ư" U01AF # LATIN CAPITAL LETTER U WITH HORN +- : "ư" U01B0 # LATIN SMALL LETTER U WITH HORN +- : "ư" U01B0 # LATIN SMALL LETTER U WITH HORN +- : "Ƶ" U01B5 # LATIN CAPITAL LETTER Z WITH STROKE +- : "Ƶ" U01B5 # LATIN CAPITAL LETTER Z WITH STROKE +- : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE +- : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE +- : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON +- : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON +- : "ǎ" U01CE # LATIN SMALL LETTER A WITH CARON +- : "ǎ" U01CE # LATIN SMALL LETTER A WITH CARON +- : "Ǐ" U01CF # LATIN CAPITAL LETTER I WITH CARON +- : "Ǐ" U01CF # LATIN CAPITAL LETTER I WITH CARON +- : "ǐ" U01D0 # LATIN SMALL LETTER I WITH CARON +- : "ǐ" U01D0 # LATIN SMALL LETTER I WITH CARON +- : "Ǒ" U01D1 # LATIN CAPITAL LETTER O WITH CARON +- : "Ǒ" U01D1 # LATIN CAPITAL LETTER O WITH CARON +- : "ǒ" U01D2 # LATIN SMALL LETTER O WITH CARON +- : "ǒ" U01D2 # LATIN SMALL LETTER O WITH CARON +- : "Ǔ" U01D3 # LATIN CAPITAL LETTER U WITH CARON +- : "Ǔ" U01D3 # LATIN CAPITAL LETTER U WITH CARON +- : "ǔ" U01D4 # LATIN SMALL LETTER U WITH CARON +- : "ǔ" U01D4 # LATIN SMALL LETTER U WITH CARON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +- : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON +- : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON +- : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON +- : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON +- : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON +- : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON +- : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON +- : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON +- : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON +- : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON +- : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON +- : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON +- : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE +- : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE +- : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE +- : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE +- : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE +- : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE +- : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE +- : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE +- : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE +- : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE +- : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE +- : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON +- : "Ǣ" U01E2 # LATIN CAPITAL LETTER AE WITH MACRON +- : "Ǣ" U01E2 # LATIN CAPITAL LETTER AE WITH MACRON +- : "Ǣ" U01E2 # LATIN CAPITAL LETTER AE WITH MACRON +- : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON +- : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON +- : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON +- : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE +- : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE +- : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE +- : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE +- : "Ǧ" U01E6 # LATIN CAPITAL LETTER G WITH CARON +- : "Ǧ" U01E6 # LATIN CAPITAL LETTER G WITH CARON +- : "ǧ" U01E7 # LATIN SMALL LETTER G WITH CARON +- : "ǧ" U01E7 # LATIN SMALL LETTER G WITH CARON +- : "Ǩ" U01E8 # LATIN CAPITAL LETTER K WITH CARON +- : "Ǩ" U01E8 # LATIN CAPITAL LETTER K WITH CARON +- : "ǩ" U01E9 # LATIN SMALL LETTER K WITH CARON +- : "ǩ" U01E9 # LATIN SMALL LETTER K WITH CARON +- : "Ǫ" U01EA # LATIN CAPITAL LETTER O WITH OGONEK +- : "Ǫ" U01EA # LATIN CAPITAL LETTER O WITH OGONEK +- : "ǫ" U01EB # LATIN SMALL LETTER O WITH OGONEK +- : "ǫ" U01EB # LATIN SMALL LETTER O WITH OGONEK +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON +- : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON +- : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON +- : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON +- : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON +- : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON +- : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON +- : "Ǵ" U01F4 # LATIN CAPITAL LETTER G WITH ACUTE +- : "Ǵ" U01F4 # LATIN CAPITAL LETTER G WITH ACUTE +- : "Ǵ" U01F4 # LATIN CAPITAL LETTER G WITH ACUTE +- : "ǵ" U01F5 # LATIN SMALL LETTER G WITH ACUTE +- : "ǵ" U01F5 # LATIN SMALL LETTER G WITH ACUTE +- : "ǵ" U01F5 # LATIN SMALL LETTER G WITH ACUTE +- : "Ǹ" U01F8 # LATIN CAPITAL LETTER N WITH GRAVE +- : "Ǹ" U01F8 # LATIN CAPITAL LETTER N WITH GRAVE +- : "ǹ" U01F9 # LATIN SMALL LETTER N WITH GRAVE +- : "ǹ" U01F9 # LATIN SMALL LETTER N WITH GRAVE +- : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +- : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +- : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +- : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +- : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +- : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +-XCOMM : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +- : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +-XCOMM : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +- : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +- : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +- : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +- : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +- : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +- : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +-XCOMM : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +- : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +-XCOMM : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +- : "Ǽ" U01FC # LATIN CAPITAL LETTER AE WITH ACUTE +- : "Ǽ" U01FC # LATIN CAPITAL LETTER AE WITH ACUTE +- : "Ǽ" U01FC # LATIN CAPITAL LETTER AE WITH ACUTE +- : "ǽ" U01FD # LATIN SMALL LETTER AE WITH ACUTE +- : "ǽ" U01FD # LATIN SMALL LETTER AE WITH ACUTE +- : "ǽ" U01FD # LATIN SMALL LETTER AE WITH ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +- : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE +- : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE +- : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE +- : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE +- : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE +- : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE +- : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE +- : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE +- : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE +- : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE +- : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE +- : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE +- : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE +- : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE +- : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE +- : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE +- : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE +- : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE +- : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE +- : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE +- : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE +- : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE +- : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE +- : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE +- : "Ș" U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW +- : "ș" U0219 # LATIN SMALL LETTER S WITH COMMA BELOW +- : "Ț" U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW +- : "ț" U021B # LATIN SMALL LETTER T WITH COMMA BELOW +- : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON +- : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON +- : "ȟ" U021F # LATIN SMALL LETTER H WITH CARON +- : "ȟ" U021F # LATIN SMALL LETTER H WITH CARON +- : "Ȧ" U0226 # LATIN CAPITAL LETTER A WITH DOT ABOVE +- : "Ȧ" U0226 # LATIN CAPITAL LETTER A WITH DOT ABOVE +- : "ȧ" U0227 # LATIN SMALL LETTER A WITH DOT ABOVE +- : "ȧ" U0227 # LATIN SMALL LETTER A WITH DOT ABOVE +- : "Ȩ" U0228 # LATIN CAPITAL LETTER E WITH CEDILLA +- : "Ȩ" U0228 # LATIN CAPITAL LETTER E WITH CEDILLA +- : "Ȩ" U0228 # LATIN CAPITAL LETTER E WITH CEDILLA +- : "ȩ" U0229 # LATIN SMALL LETTER E WITH CEDILLA +- : "ȩ" U0229 # LATIN SMALL LETTER E WITH CEDILLA +- : "ȩ" U0229 # LATIN SMALL LETTER E WITH CEDILLA +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON +- : "Ȯ" U022E # LATIN CAPITAL LETTER O WITH DOT ABOVE +- : "Ȯ" U022E # LATIN CAPITAL LETTER O WITH DOT ABOVE +- : "ȯ" U022F # LATIN SMALL LETTER O WITH DOT ABOVE +- : "ȯ" U022F # LATIN SMALL LETTER O WITH DOT ABOVE +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON +- : "Ȳ" U0232 # LATIN CAPITAL LETTER Y WITH MACRON +- : "Ȳ" U0232 # LATIN CAPITAL LETTER Y WITH MACRON +- : "Ȳ" U0232 # LATIN CAPITAL LETTER Y WITH MACRON +- : "ȳ" U0233 # LATIN SMALL LETTER Y WITH MACRON +- : "ȳ" U0233 # LATIN SMALL LETTER Y WITH MACRON +- : "ȳ" U0233 # LATIN SMALL LETTER Y WITH MACRON +- : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE +- : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE +- : "ʡ" U02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE +- : "ʡ" U02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE +- : "ʰ" U02B0 # MODIFIER LETTER SMALL H +- : "ʰ" U02B0 # MODIFIER LETTER SMALL H +- : "ʰ" U02B0 # MODIFIER LETTER SMALL H +- : "ʰ" U02B0 # MODIFIER LETTER SMALL H +- : "ʱ" U02B1 # MODIFIER LETTER SMALL H WITH HOOK +- : "ʱ" U02B1 # MODIFIER LETTER SMALL H WITH HOOK +- : "ʱ" U02B1 # MODIFIER LETTER SMALL H WITH HOOK +- : "ʱ" U02B1 # MODIFIER LETTER SMALL H WITH HOOK +- : "ʲ" U02B2 # MODIFIER LETTER SMALL J +- : "ʲ" U02B2 # MODIFIER LETTER SMALL J +- : "ʲ" U02B2 # MODIFIER LETTER SMALL J +- : "ʲ" U02B2 # MODIFIER LETTER SMALL J +- : "ʳ" U02B3 # MODIFIER LETTER SMALL R +- : "ʳ" U02B3 # MODIFIER LETTER SMALL R +- : "ʳ" U02B3 # MODIFIER LETTER SMALL R +- : "ʳ" U02B3 # MODIFIER LETTER SMALL R +- : "ʴ" U02B4 # MODIFIER LETTER SMALL TURNED R +- : "ʴ" U02B4 # MODIFIER LETTER SMALL TURNED R +- : "ʴ" U02B4 # MODIFIER LETTER SMALL TURNED R +- : "ʴ" U02B4 # MODIFIER LETTER SMALL TURNED R +- : "ʵ" U02B5 # MODIFIER LETTER SMALL TURNED R WITH HOOK +- : "ʵ" U02B5 # MODIFIER LETTER SMALL TURNED R WITH HOOK +- : "ʵ" U02B5 # MODIFIER LETTER SMALL TURNED R WITH HOOK +- : "ʵ" U02B5 # MODIFIER LETTER SMALL TURNED R WITH HOOK +- : "ʶ" U02B6 # MODIFIER LETTER SMALL CAPITAL INVERTED R +- : "ʶ" U02B6 # MODIFIER LETTER SMALL CAPITAL INVERTED R +- : "ʶ" U02B6 # MODIFIER LETTER SMALL CAPITAL INVERTED R +- : "ʶ" U02B6 # MODIFIER LETTER SMALL CAPITAL INVERTED R +- : "ʷ" U02B7 # MODIFIER LETTER SMALL W +- : "ʷ" U02B7 # MODIFIER LETTER SMALL W +- : "ʷ" U02B7 # MODIFIER LETTER SMALL W +- : "ʷ" U02B7 # MODIFIER LETTER SMALL W +- : "ʸ" U02B8 # MODIFIER LETTER SMALL Y +- : "ʸ" U02B8 # MODIFIER LETTER SMALL Y +- : "ʸ" U02B8 # MODIFIER LETTER SMALL Y +- : "ʸ" U02B8 # MODIFIER LETTER SMALL Y +- : "ˠ" U02E0 # MODIFIER LETTER SMALL GAMMA +- : "ˠ" U02E0 # MODIFIER LETTER SMALL GAMMA +- : "ˠ" U02E0 # MODIFIER LETTER SMALL GAMMA +- : "ˠ" U02E0 # MODIFIER LETTER SMALL GAMMA +- : "ˡ" U02E1 # MODIFIER LETTER SMALL L +- : "ˡ" U02E1 # MODIFIER LETTER SMALL L +- : "ˡ" U02E1 # MODIFIER LETTER SMALL L +- : "ˡ" U02E1 # MODIFIER LETTER SMALL L +- : "ˢ" U02E2 # MODIFIER LETTER SMALL S +- : "ˢ" U02E2 # MODIFIER LETTER SMALL S +- : "ˢ" U02E2 # MODIFIER LETTER SMALL S +- : "ˢ" U02E2 # MODIFIER LETTER SMALL S +- : "ˣ" U02E3 # MODIFIER LETTER SMALL X +- : "ˣ" U02E3 # MODIFIER LETTER SMALL X +- : "ˣ" U02E3 # MODIFIER LETTER SMALL X +- : "ˣ" U02E3 # MODIFIER LETTER SMALL X +- : "ˤ" U02E4 # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP +- : "ˤ" U02E4 # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP +- : "ˤ" U02E4 # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP +- : "ˤ" U02E4 # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP +- : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS +- : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS +- : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS +- : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS +- : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS +- : "΅" U0385 # GREEK DIALYTIKA TONOS +- : "΅" U0385 # GREEK DIALYTIKA TONOS +- : "΅" U0385 # GREEK DIALYTIKA TONOS +- : "Ά" U0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS +- : "Ά" U0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS +- : "Ά" U0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS +- : "Έ" U0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS +- : "Έ" U0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS +- : "Έ" U0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS +- : "Ή" U0389 # GREEK CAPITAL LETTER ETA WITH TONOS +- : "Ή" U0389 # GREEK CAPITAL LETTER ETA WITH TONOS +- : "Ή" U0389 # GREEK CAPITAL LETTER ETA WITH TONOS +- : "Ί" U038A # GREEK CAPITAL LETTER IOTA WITH TONOS +- : "Ί" U038A # GREEK CAPITAL LETTER IOTA WITH TONOS +- : "Ί" U038A # GREEK CAPITAL LETTER IOTA WITH TONOS +- : "Ό" U038C # GREEK CAPITAL LETTER OMICRON WITH TONOS +- : "Ό" U038C # GREEK CAPITAL LETTER OMICRON WITH TONOS +- : "Ό" U038C # GREEK CAPITAL LETTER OMICRON WITH TONOS +- : "Ύ" U038E # GREEK CAPITAL LETTER UPSILON WITH TONOS +- : "Ύ" U038E # GREEK CAPITAL LETTER UPSILON WITH TONOS +- : "Ύ" U038E # GREEK CAPITAL LETTER UPSILON WITH TONOS +- : "Ώ" U038F # GREEK CAPITAL LETTER OMEGA WITH TONOS +- : "Ώ" U038F # GREEK CAPITAL LETTER OMEGA WITH TONOS +- : "Ώ" U038F # GREEK CAPITAL LETTER OMEGA WITH TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +- : "Ϊ" U03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA +- : "Ϊ" U03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA +- : "Ϋ" U03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA +- : "Ϋ" U03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA +- : "ά" U03AC # GREEK SMALL LETTER ALPHA WITH TONOS +- : "ά" U03AC # GREEK SMALL LETTER ALPHA WITH TONOS +- : "ά" U03AC # GREEK SMALL LETTER ALPHA WITH TONOS +- : "έ" U03AD # GREEK SMALL LETTER EPSILON WITH TONOS +- : "έ" U03AD # GREEK SMALL LETTER EPSILON WITH TONOS +- : "έ" U03AD # GREEK SMALL LETTER EPSILON WITH TONOS +- : "ή" U03AE # GREEK SMALL LETTER ETA WITH TONOS +- : "ή" U03AE # GREEK SMALL LETTER ETA WITH TONOS +- : "ή" U03AE # GREEK SMALL LETTER ETA WITH TONOS +- : "ί" U03AF # GREEK SMALL LETTER IOTA WITH TONOS +- : "ί" U03AF # GREEK SMALL LETTER IOTA WITH TONOS +- : "ί" U03AF # GREEK SMALL LETTER IOTA WITH TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +- : "ϊ" U03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA +- : "ϊ" U03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA +- : "ϋ" U03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA +- : "ϋ" U03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA +- : "ό" U03CC # GREEK SMALL LETTER OMICRON WITH TONOS +- : "ό" U03CC # GREEK SMALL LETTER OMICRON WITH TONOS +- : "ό" U03CC # GREEK SMALL LETTER OMICRON WITH TONOS +- : "ύ" U03CD # GREEK SMALL LETTER UPSILON WITH TONOS +- : "ύ" U03CD # GREEK SMALL LETTER UPSILON WITH TONOS +- : "ύ" U03CD # GREEK SMALL LETTER UPSILON WITH TONOS +- : "ώ" U03CE # GREEK SMALL LETTER OMEGA WITH TONOS +- : "ώ" U03CE # GREEK SMALL LETTER OMEGA WITH TONOS +- : "ώ" U03CE # GREEK SMALL LETTER OMEGA WITH TONOS +- : "ϓ" U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL +- : "ϓ" U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL +- : "ϔ" U03D4 # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL +- : "Ѐ" U0400 # CYRILLIC CAPITAL LETTER IE WITH GRAVE +- : "Ѐ" U0400 # CYRILLIC CAPITAL LETTER IE WITH GRAVE +- : "Ё" U0401 # CYRILLIC CAPITAL LETTER IO +- : "Ё" U0401 # CYRILLIC CAPITAL LETTER IO +- : "Ѓ" U0403 # CYRILLIC CAPITAL LETTER GJE +- : "Ѓ" U0403 # CYRILLIC CAPITAL LETTER GJE +- : "Ѓ" U0403 # CYRILLIC CAPITAL LETTER GJE +- : "Ї" U0407 # CYRILLIC CAPITAL LETTER YI +- : "Ї" U0407 # CYRILLIC CAPITAL LETTER YI +- : "Ќ" U040C # CYRILLIC CAPITAL LETTER KJE +- : "Ќ" U040C # CYRILLIC CAPITAL LETTER KJE +- : "Ќ" U040C # CYRILLIC CAPITAL LETTER KJE +- : "Ѝ" U040D # CYRILLIC CAPITAL LETTER I WITH GRAVE +- : "Ѝ" U040D # CYRILLIC CAPITAL LETTER I WITH GRAVE +- : "Ў" U040E # CYRILLIC CAPITAL LETTER SHORT U +- : "Ў" U040E # CYRILLIC CAPITAL LETTER SHORT U +- : "Ў" U040E # CYRILLIC CAPITAL LETTER SHORT U +- : "Й" U0419 # CYRILLIC CAPITAL LETTER SHORT I +- : "Й" U0419 # CYRILLIC CAPITAL LETTER SHORT I +- : "Й" U0419 # CYRILLIC CAPITAL LETTER SHORT I +- : "й" U0439 # CYRILLIC SMALL LETTER SHORT I +- : "й" U0439 # CYRILLIC SMALL LETTER SHORT I +- : "й" U0439 # CYRILLIC SMALL LETTER SHORT I +- : "ѐ" U0450 # CYRILLIC SMALL LETTER IE WITH GRAVE +- : "ѐ" U0450 # CYRILLIC SMALL LETTER IE WITH GRAVE +- : "ё" U0451 # CYRILLIC SMALL LETTER IO +- : "ё" U0451 # CYRILLIC SMALL LETTER IO +- : "ѓ" U0453 # CYRILLIC SMALL LETTER GJE +- : "ѓ" U0453 # CYRILLIC SMALL LETTER GJE +- : "ѓ" U0453 # CYRILLIC SMALL LETTER GJE +- : "ї" U0457 # CYRILLIC SMALL LETTER YI +- : "ї" U0457 # CYRILLIC SMALL LETTER YI +- : "ќ" U045C # CYRILLIC SMALL LETTER KJE +- : "ќ" U045C # CYRILLIC SMALL LETTER KJE +- : "ќ" U045C # CYRILLIC SMALL LETTER KJE +- : "ѝ" U045D # CYRILLIC SMALL LETTER I WITH GRAVE +- : "ѝ" U045D # CYRILLIC SMALL LETTER I WITH GRAVE +- : "ў" U045E # CYRILLIC SMALL LETTER SHORT U +- : "ў" U045E # CYRILLIC SMALL LETTER SHORT U +- : "ў" U045E # CYRILLIC SMALL LETTER SHORT U +- : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT +- : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT +- : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE +- : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE +- : "ғ" U0493 # CYRILLIC SMALL LETTER GHE WITH STROKE +- : "ғ" U0493 # CYRILLIC SMALL LETTER GHE WITH STROKE +- : "Ҟ" U049E # CYRILLIC CAPITAL LETTER KA WITH STROKE +- : "Ҟ" U049E # CYRILLIC CAPITAL LETTER KA WITH STROKE +- : "ҟ" U049F # CYRILLIC SMALL LETTER KA WITH STROKE +- : "ҟ" U049F # CYRILLIC SMALL LETTER KA WITH STROKE +- : "Ұ" U04B0 # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE +- : "Ұ" U04B0 # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE +- : "ұ" U04B1 # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE +- : "ұ" U04B1 # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE +- : "Ӂ" U04C1 # CYRILLIC CAPITAL LETTER ZHE WITH BREVE +- : "Ӂ" U04C1 # CYRILLIC CAPITAL LETTER ZHE WITH BREVE +- : "Ӂ" U04C1 # CYRILLIC CAPITAL LETTER ZHE WITH BREVE +- : "ӂ" U04C2 # CYRILLIC SMALL LETTER ZHE WITH BREVE +- : "ӂ" U04C2 # CYRILLIC SMALL LETTER ZHE WITH BREVE +- : "ӂ" U04C2 # CYRILLIC SMALL LETTER ZHE WITH BREVE +- : "Ӑ" U04D0 # CYRILLIC CAPITAL LETTER A WITH BREVE +- : "Ӑ" U04D0 # CYRILLIC CAPITAL LETTER A WITH BREVE +- : "Ӑ" U04D0 # CYRILLIC CAPITAL LETTER A WITH BREVE +- : "ӑ" U04D1 # CYRILLIC SMALL LETTER A WITH BREVE +- : "ӑ" U04D1 # CYRILLIC SMALL LETTER A WITH BREVE +- : "ӑ" U04D1 # CYRILLIC SMALL LETTER A WITH BREVE +- : "Ӓ" U04D2 # CYRILLIC CAPITAL LETTER A WITH DIAERESIS +- : "Ӓ" U04D2 # CYRILLIC CAPITAL LETTER A WITH DIAERESIS +- : "ӓ" U04D3 # CYRILLIC SMALL LETTER A WITH DIAERESIS +- : "ӓ" U04D3 # CYRILLIC SMALL LETTER A WITH DIAERESIS +- : "Ӗ" U04D6 # CYRILLIC CAPITAL LETTER IE WITH BREVE +- : "Ӗ" U04D6 # CYRILLIC CAPITAL LETTER IE WITH BREVE +- : "Ӗ" U04D6 # CYRILLIC CAPITAL LETTER IE WITH BREVE +- : "ӗ" U04D7 # CYRILLIC SMALL LETTER IE WITH BREVE +- : "ӗ" U04D7 # CYRILLIC SMALL LETTER IE WITH BREVE +- : "ӗ" U04D7 # CYRILLIC SMALL LETTER IE WITH BREVE +- : "Ӛ" U04DA # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS +- : "Ӛ" U04DA # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS +- : "ӛ" U04DB # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS +- : "ӛ" U04DB # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS +- : "Ӝ" U04DC # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS +- : "Ӝ" U04DC # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS +- : "ӝ" U04DD # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS +- : "ӝ" U04DD # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS +- : "Ӟ" U04DE # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS +- : "Ӟ" U04DE # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS +- : "ӟ" U04DF # CYRILLIC SMALL LETTER ZE WITH DIAERESIS +- : "ӟ" U04DF # CYRILLIC SMALL LETTER ZE WITH DIAERESIS +- : "Ӣ" U04E2 # CYRILLIC CAPITAL LETTER I WITH MACRON +- : "Ӣ" U04E2 # CYRILLIC CAPITAL LETTER I WITH MACRON +- : "Ӣ" U04E2 # CYRILLIC CAPITAL LETTER I WITH MACRON +- : "ӣ" U04E3 # CYRILLIC SMALL LETTER I WITH MACRON +- : "ӣ" U04E3 # CYRILLIC SMALL LETTER I WITH MACRON +- : "ӣ" U04E3 # CYRILLIC SMALL LETTER I WITH MACRON +- : "Ӥ" U04E4 # CYRILLIC CAPITAL LETTER I WITH DIAERESIS +- : "Ӥ" U04E4 # CYRILLIC CAPITAL LETTER I WITH DIAERESIS +- : "ӥ" U04E5 # CYRILLIC SMALL LETTER I WITH DIAERESIS +- : "ӥ" U04E5 # CYRILLIC SMALL LETTER I WITH DIAERESIS +- : "Ӧ" U04E6 # CYRILLIC CAPITAL LETTER O WITH DIAERESIS +- : "Ӧ" U04E6 # CYRILLIC CAPITAL LETTER O WITH DIAERESIS +- : "ӧ" U04E7 # CYRILLIC SMALL LETTER O WITH DIAERESIS +- : "ӧ" U04E7 # CYRILLIC SMALL LETTER O WITH DIAERESIS +- : "Ӫ" U04EA # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS +- : "Ӫ" U04EA # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS +- : "ӫ" U04EB # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS +- : "ӫ" U04EB # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS +- : "Ӭ" U04EC # CYRILLIC CAPITAL LETTER E WITH DIAERESIS +- : "Ӭ" U04EC # CYRILLIC CAPITAL LETTER E WITH DIAERESIS +- : "ӭ" U04ED # CYRILLIC SMALL LETTER E WITH DIAERESIS +- : "ӭ" U04ED # CYRILLIC SMALL LETTER E WITH DIAERESIS +- : "Ӯ" U04EE # CYRILLIC CAPITAL LETTER U WITH MACRON +- : "Ӯ" U04EE # CYRILLIC CAPITAL LETTER U WITH MACRON +- : "Ӯ" U04EE # CYRILLIC CAPITAL LETTER U WITH MACRON +- : "ӯ" U04EF # CYRILLIC SMALL LETTER U WITH MACRON +- : "ӯ" U04EF # CYRILLIC SMALL LETTER U WITH MACRON +- : "ӯ" U04EF # CYRILLIC SMALL LETTER U WITH MACRON +- : "Ӱ" U04F0 # CYRILLIC CAPITAL LETTER U WITH DIAERESIS +- : "Ӱ" U04F0 # CYRILLIC CAPITAL LETTER U WITH DIAERESIS +- : "ӱ" U04F1 # CYRILLIC SMALL LETTER U WITH DIAERESIS +- : "ӱ" U04F1 # CYRILLIC SMALL LETTER U WITH DIAERESIS +- : "Ӳ" U04F2 # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE +- : "Ӳ" U04F2 # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE +- : "ӳ" U04F3 # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE +- : "ӳ" U04F3 # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE +- : "Ӵ" U04F4 # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS +- : "Ӵ" U04F4 # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS +- : "ӵ" U04F5 # CYRILLIC SMALL LETTER CHE WITH DIAERESIS +- : "ӵ" U04F5 # CYRILLIC SMALL LETTER CHE WITH DIAERESIS +- : "Ӹ" U04F8 # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS +- : "Ӹ" U04F8 # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS +- : "ӹ" U04F9 # CYRILLIC SMALL LETTER YERU WITH DIAERESIS +- : "ӹ" U04F9 # CYRILLIC SMALL LETTER YERU WITH DIAERESIS +- : "آ" U0622 # ARABIC LETTER ALEF WITH MADDA ABOVE +- : "أ" U0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE +- : "ؤ" U0624 # ARABIC LETTER WAW WITH HAMZA ABOVE +- : "إ" U0625 # ARABIC LETTER ALEF WITH HAMZA BELOW +- : "ئ" U0626 # ARABIC LETTER YEH WITH HAMZA ABOVE +- : "ۀ" U06C0 # ARABIC LETTER HEH WITH YEH ABOVE +- : "ۂ" U06C2 # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE +- : "ۓ" U06D3 # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE +- : "ऩ" U0929 # DEVANAGARI LETTER NNNA +- : "ऱ" U0931 # DEVANAGARI LETTER RRA +- : "ऴ" U0934 # DEVANAGARI LETTER LLLA +- : "क़" U0958 # DEVANAGARI LETTER QA +- : "ख़" U0959 # DEVANAGARI LETTER KHHA +- : "ग़" U095A # DEVANAGARI LETTER GHHA +- : "ज़" U095B # DEVANAGARI LETTER ZA +- : "ड़" U095C # DEVANAGARI LETTER DDDHA +- : "ढ़" U095D # DEVANAGARI LETTER RHA +- : "फ़" U095E # DEVANAGARI LETTER FA +- : "य़" U095F # DEVANAGARI LETTER YYA +- : "ো" U09CB # BENGALI VOWEL SIGN O +- : "ৌ" U09CC # BENGALI VOWEL SIGN AU +- : "ড়" U09DC # BENGALI LETTER RRA +- : "ঢ়" U09DD # BENGALI LETTER RHA +- : "য়" U09DF # BENGALI LETTER YYA +- : "ਲ਼" U0A33 # GURMUKHI LETTER LLA +- : "ਸ਼" U0A36 # GURMUKHI LETTER SHA +- : "ਖ਼" U0A59 # GURMUKHI LETTER KHHA +- : "ਗ਼" U0A5A # GURMUKHI LETTER GHHA +- : "ਜ਼" U0A5B # GURMUKHI LETTER ZA +- : "ਫ਼" U0A5E # GURMUKHI LETTER FA +- : "ୈ" U0B48 # ORIYA VOWEL SIGN AI +- : "ୋ" U0B4B # ORIYA VOWEL SIGN O +- : "ୌ" U0B4C # ORIYA VOWEL SIGN AU +- : "ଡ଼" U0B5C # ORIYA LETTER RRA +- : "ଢ଼" U0B5D # ORIYA LETTER RHA +- : "ஔ" U0B94 # TAMIL LETTER AU +- : "ொ" U0BCA # TAMIL VOWEL SIGN O +- : "ோ" U0BCB # TAMIL VOWEL SIGN OO +- : "ௌ" U0BCC # TAMIL VOWEL SIGN AU +- : "ై" U0C48 # TELUGU VOWEL SIGN AI +- : "ೀ" U0CC0 # KANNADA VOWEL SIGN II +- : "ೇ" U0CC7 # KANNADA VOWEL SIGN EE +- : "ೈ" U0CC8 # KANNADA VOWEL SIGN AI +- : "ೊ" U0CCA # KANNADA VOWEL SIGN O +- : "ೋ" U0CCB # KANNADA VOWEL SIGN OO +- : "ൊ" U0D4A # MALAYALAM VOWEL SIGN O +- : "ോ" U0D4B # MALAYALAM VOWEL SIGN OO +- : "ൌ" U0D4C # MALAYALAM VOWEL SIGN AU +- : "ේ" U0DDA # SINHALA VOWEL SIGN DIGA KOMBUVA +- : "ො" U0DDC # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA +- : "ෝ" U0DDD # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA +- : "ෞ" U0DDE # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA +- : "གྷ" U0F43 # TIBETAN LETTER GHA +- : "ཌྷ" U0F4D # TIBETAN LETTER DDHA +- : "དྷ" U0F52 # TIBETAN LETTER DHA +- : "བྷ" U0F57 # TIBETAN LETTER BHA +- : "ཛྷ" U0F5C # TIBETAN LETTER DZHA +- : "ཀྵ" U0F69 # TIBETAN LETTER KSSA +- : "ཱི" U0F73 # TIBETAN VOWEL SIGN II +- : "ཱུ" U0F75 # TIBETAN VOWEL SIGN UU +- : "ྲྀ" U0F76 # TIBETAN VOWEL SIGN VOCALIC R +- : "ླྀ" U0F78 # TIBETAN VOWEL SIGN VOCALIC L +- : "ཱྀ" U0F81 # TIBETAN VOWEL SIGN REVERSED II +- : "ྒྷ" U0F93 # TIBETAN SUBJOINED LETTER GHA +- : "ྜྷ" U0F9D # TIBETAN SUBJOINED LETTER DDHA +- : "ྡྷ" U0FA2 # TIBETAN SUBJOINED LETTER DHA +- : "ྦྷ" U0FA7 # TIBETAN SUBJOINED LETTER BHA +- : "ྫྷ" U0FAC # TIBETAN SUBJOINED LETTER DZHA +- : "ྐྵ" U0FB9 # TIBETAN SUBJOINED LETTER KSSA +- : "ဦ" U1026 # MYANMAR LETTER UU +- : "Ḁ" U1E00 # LATIN CAPITAL LETTER A WITH RING BELOW +- : "ḁ" U1E01 # LATIN SMALL LETTER A WITH RING BELOW +- : "Ḃ" U1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE +- : "Ḃ" U1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE +- : "ḃ" U1E03 # LATIN SMALL LETTER B WITH DOT ABOVE +- : "ḃ" U1E03 # LATIN SMALL LETTER B WITH DOT ABOVE +- : "Ḅ" U1E04 # LATIN CAPITAL LETTER B WITH DOT BELOW +- : "Ḅ" U1E04 # LATIN CAPITAL LETTER B WITH DOT BELOW +- : "ḅ" U1E05 # LATIN SMALL LETTER B WITH DOT BELOW +- : "ḅ" U1E05 # LATIN SMALL LETTER B WITH DOT BELOW +- : "Ḇ" U1E06 # LATIN CAPITAL LETTER B WITH LINE BELOW +- : "ḇ" U1E07 # LATIN SMALL LETTER B WITH LINE BELOW +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +-XCOMM : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +-XCOMM : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE +- : "Ḋ" U1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE +- : "Ḋ" U1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE +- : "ḋ" U1E0B # LATIN SMALL LETTER D WITH DOT ABOVE +- : "ḋ" U1E0B # LATIN SMALL LETTER D WITH DOT ABOVE +- : "Ḍ" U1E0C # LATIN CAPITAL LETTER D WITH DOT BELOW +- : "Ḍ" U1E0C # LATIN CAPITAL LETTER D WITH DOT BELOW +- : "ḍ" U1E0D # LATIN SMALL LETTER D WITH DOT BELOW +- : "ḍ" U1E0D # LATIN SMALL LETTER D WITH DOT BELOW +- : "Ḏ" U1E0E # LATIN CAPITAL LETTER D WITH LINE BELOW +- : "ḏ" U1E0F # LATIN SMALL LETTER D WITH LINE BELOW +- : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA +- : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA +- : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA +- : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA +- : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA +- : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA +- : "Ḓ" U1E12 # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW +- : "ḓ" U1E13 # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW +- : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE +- : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE +- : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE +- : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE +- : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE +- : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE +- : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE +- : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE +- : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE +- : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE +- : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE +- : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE +- : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE +- : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE +- : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE +- : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE +- : "Ḙ" U1E18 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW +- : "ḙ" U1E19 # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW +- : "Ḛ" U1E1A # LATIN CAPITAL LETTER E WITH TILDE BELOW +- : "ḛ" U1E1B # LATIN SMALL LETTER E WITH TILDE BELOW +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE +- : "Ḟ" U1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE +- : "Ḟ" U1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE +- : "ḟ" U1E1F # LATIN SMALL LETTER F WITH DOT ABOVE +- : "ḟ" U1E1F # LATIN SMALL LETTER F WITH DOT ABOVE +- : "Ḡ" U1E20 # LATIN CAPITAL LETTER G WITH MACRON +- : "Ḡ" U1E20 # LATIN CAPITAL LETTER G WITH MACRON +- : "Ḡ" U1E20 # LATIN CAPITAL LETTER G WITH MACRON +- : "ḡ" U1E21 # LATIN SMALL LETTER G WITH MACRON +- : "ḡ" U1E21 # LATIN SMALL LETTER G WITH MACRON +- : "ḡ" U1E21 # LATIN SMALL LETTER G WITH MACRON +- : "Ḣ" U1E22 # LATIN CAPITAL LETTER H WITH DOT ABOVE +- : "Ḣ" U1E22 # LATIN CAPITAL LETTER H WITH DOT ABOVE +- : "ḣ" U1E23 # LATIN SMALL LETTER H WITH DOT ABOVE +- : "ḣ" U1E23 # LATIN SMALL LETTER H WITH DOT ABOVE +- : "Ḥ" U1E24 # LATIN CAPITAL LETTER H WITH DOT BELOW +- : "Ḥ" U1E24 # LATIN CAPITAL LETTER H WITH DOT BELOW +- : "ḥ" U1E25 # LATIN SMALL LETTER H WITH DOT BELOW +- : "ḥ" U1E25 # LATIN SMALL LETTER H WITH DOT BELOW +- : "Ḧ" U1E26 # LATIN CAPITAL LETTER H WITH DIAERESIS +- : "Ḧ" U1E26 # LATIN CAPITAL LETTER H WITH DIAERESIS +- : "ḧ" U1E27 # LATIN SMALL LETTER H WITH DIAERESIS +- : "ḧ" U1E27 # LATIN SMALL LETTER H WITH DIAERESIS +- : "Ḩ" U1E28 # LATIN CAPITAL LETTER H WITH CEDILLA +- : "Ḩ" U1E28 # LATIN CAPITAL LETTER H WITH CEDILLA +- : "Ḩ" U1E28 # LATIN CAPITAL LETTER H WITH CEDILLA +- : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA +- : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA +- : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA +- : "Ḫ" U1E2A # LATIN CAPITAL LETTER H WITH BREVE BELOW +- : "ḫ" U1E2B # LATIN SMALL LETTER H WITH BREVE BELOW +- : "Ḭ" U1E2C # LATIN CAPITAL LETTER I WITH TILDE BELOW +- : "ḭ" U1E2D # LATIN SMALL LETTER I WITH TILDE BELOW +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE +- : "Ḱ" U1E30 # LATIN CAPITAL LETTER K WITH ACUTE +- : "Ḱ" U1E30 # LATIN CAPITAL LETTER K WITH ACUTE +- : "Ḱ" U1E30 # LATIN CAPITAL LETTER K WITH ACUTE +- : "ḱ" U1E31 # LATIN SMALL LETTER K WITH ACUTE +- : "ḱ" U1E31 # LATIN SMALL LETTER K WITH ACUTE +- : "ḱ" U1E31 # LATIN SMALL LETTER K WITH ACUTE +- : "Ḳ" U1E32 # LATIN CAPITAL LETTER K WITH DOT BELOW +- : "Ḳ" U1E32 # LATIN CAPITAL LETTER K WITH DOT BELOW +- : "ḳ" U1E33 # LATIN SMALL LETTER K WITH DOT BELOW +- : "ḳ" U1E33 # LATIN SMALL LETTER K WITH DOT BELOW +- : "Ḵ" U1E34 # LATIN CAPITAL LETTER K WITH LINE BELOW +- : "ḵ" U1E35 # LATIN SMALL LETTER K WITH LINE BELOW +- : "Ḷ" U1E36 # LATIN CAPITAL LETTER L WITH DOT BELOW +- : "Ḷ" U1E36 # LATIN CAPITAL LETTER L WITH DOT BELOW +- : "ḷ" U1E37 # LATIN SMALL LETTER L WITH DOT BELOW +- : "ḷ" U1E37 # LATIN SMALL LETTER L WITH DOT BELOW +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON +- : "Ḻ" U1E3A # LATIN CAPITAL LETTER L WITH LINE BELOW +- : "ḻ" U1E3B # LATIN SMALL LETTER L WITH LINE BELOW +- : "Ḽ" U1E3C # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW +- : "ḽ" U1E3D # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW +- : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE +- : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE +- : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE +- : "ḿ" U1E3F # LATIN SMALL LETTER M WITH ACUTE +- : "ḿ" U1E3F # LATIN SMALL LETTER M WITH ACUTE +- : "ḿ" U1E3F # LATIN SMALL LETTER M WITH ACUTE +- : "Ṁ" U1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE +- : "Ṁ" U1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE +- : "ṁ" U1E41 # LATIN SMALL LETTER M WITH DOT ABOVE +- : "ṁ" U1E41 # LATIN SMALL LETTER M WITH DOT ABOVE +- : "Ṃ" U1E42 # LATIN CAPITAL LETTER M WITH DOT BELOW +- : "Ṃ" U1E42 # LATIN CAPITAL LETTER M WITH DOT BELOW +- : "ṃ" U1E43 # LATIN SMALL LETTER M WITH DOT BELOW +- : "ṃ" U1E43 # LATIN SMALL LETTER M WITH DOT BELOW +- : "Ṅ" U1E44 # LATIN CAPITAL LETTER N WITH DOT ABOVE +- : "Ṅ" U1E44 # LATIN CAPITAL LETTER N WITH DOT ABOVE +- : "ṅ" U1E45 # LATIN SMALL LETTER N WITH DOT ABOVE +- : "ṅ" U1E45 # LATIN SMALL LETTER N WITH DOT ABOVE +- : "Ṇ" U1E46 # LATIN CAPITAL LETTER N WITH DOT BELOW +- : "Ṇ" U1E46 # LATIN CAPITAL LETTER N WITH DOT BELOW +- : "ṇ" U1E47 # LATIN SMALL LETTER N WITH DOT BELOW +- : "ṇ" U1E47 # LATIN SMALL LETTER N WITH DOT BELOW +- : "Ṉ" U1E48 # LATIN CAPITAL LETTER N WITH LINE BELOW +- : "ṉ" U1E49 # LATIN SMALL LETTER N WITH LINE BELOW +- : "Ṋ" U1E4A # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW +- : "ṋ" U1E4B # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE +- : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS +- : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS +- : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS +- : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS +- : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS +- : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS +- : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS +- : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS +- : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS +- : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS +- : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS +- : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS +- : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE +- : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE +- : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE +- : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE +- : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE +- : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE +- : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE +- : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE +- : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE +- : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE +- : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE +- : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE +- : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE +- : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE +- : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE +- : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +- : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +-

: "Ṕ" U1E54 # LATIN CAPITAL LETTER P WITH ACUTE +-

: "Ṕ" U1E54 # LATIN CAPITAL LETTER P WITH ACUTE +-

: "Ṕ" U1E54 # LATIN CAPITAL LETTER P WITH ACUTE +-

: "ṕ" U1E55 # LATIN SMALL LETTER P WITH ACUTE +-

: "ṕ" U1E55 # LATIN SMALL LETTER P WITH ACUTE +-

: "ṕ" U1E55 # LATIN SMALL LETTER P WITH ACUTE +-

: "Ṗ" U1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE +-

: "Ṗ" U1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE +-

: "ṗ" U1E57 # LATIN SMALL LETTER P WITH DOT ABOVE +-

: "ṗ" U1E57 # LATIN SMALL LETTER P WITH DOT ABOVE +- : "Ṙ" U1E58 # LATIN CAPITAL LETTER R WITH DOT ABOVE +- : "Ṙ" U1E58 # LATIN CAPITAL LETTER R WITH DOT ABOVE +- : "ṙ" U1E59 # LATIN SMALL LETTER R WITH DOT ABOVE +- : "ṙ" U1E59 # LATIN SMALL LETTER R WITH DOT ABOVE +- : "Ṛ" U1E5A # LATIN CAPITAL LETTER R WITH DOT BELOW +- : "Ṛ" U1E5A # LATIN CAPITAL LETTER R WITH DOT BELOW +- : "ṛ" U1E5B # LATIN SMALL LETTER R WITH DOT BELOW +- : "ṛ" U1E5B # LATIN SMALL LETTER R WITH DOT BELOW +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON +- : "Ṟ" U1E5E # LATIN CAPITAL LETTER R WITH LINE BELOW +- : "ṟ" U1E5F # LATIN SMALL LETTER R WITH LINE BELOW +- : "Ṡ" U1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE +- : "Ṡ" U1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE +- : "ṡ" U1E61 # LATIN SMALL LETTER S WITH DOT ABOVE +- : "ṡ" U1E61 # LATIN SMALL LETTER S WITH DOT ABOVE +- : "Ṣ" U1E62 # LATIN CAPITAL LETTER S WITH DOT BELOW +- : "Ṣ" U1E62 # LATIN CAPITAL LETTER S WITH DOT BELOW +- : "ṣ" U1E63 # LATIN SMALL LETTER S WITH DOT BELOW +- : "ṣ" U1E63 # LATIN SMALL LETTER S WITH DOT BELOW +- : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE +- : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE +- : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE +- : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE +- : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE +- : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE +- : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE +- : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE +- : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE +- : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE +- : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE +- : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE +- : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE +- : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE +- : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE +- : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE +- : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE +- : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE +- : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE +- : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE +- : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE +-XCOMM : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE +- : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE +- : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE +- : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE +-XCOMM : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE +- : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE +-XCOMM : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE +- : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE +- : "Ṫ" U1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE +- : "Ṫ" U1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE +- : "ṫ" U1E6B # LATIN SMALL LETTER T WITH DOT ABOVE +- : "ṫ" U1E6B # LATIN SMALL LETTER T WITH DOT ABOVE +- : "Ṭ" U1E6C # LATIN CAPITAL LETTER T WITH DOT BELOW +- : "Ṭ" U1E6C # LATIN CAPITAL LETTER T WITH DOT BELOW +- : "ṭ" U1E6D # LATIN SMALL LETTER T WITH DOT BELOW +- : "ṭ" U1E6D # LATIN SMALL LETTER T WITH DOT BELOW +- : "Ṯ" U1E6E # LATIN CAPITAL LETTER T WITH LINE BELOW +- : "ṯ" U1E6F # LATIN SMALL LETTER T WITH LINE BELOW +- : "Ṱ" U1E70 # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW +- : "ṱ" U1E71 # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW +- : "Ṳ" U1E72 # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW +- : "ṳ" U1E73 # LATIN SMALL LETTER U WITH DIAERESIS BELOW +- : "Ṵ" U1E74 # LATIN CAPITAL LETTER U WITH TILDE BELOW +- : "ṵ" U1E75 # LATIN SMALL LETTER U WITH TILDE BELOW +- : "Ṷ" U1E76 # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW +- : "ṷ" U1E77 # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE +- : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS +- : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS +- : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS +- : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS +- : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS +- : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS +- : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS +- : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS +- : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS +- : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS +- : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS +- : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS +- : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS +- : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS +- : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS +- : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS +- : "Ṽ" U1E7C # LATIN CAPITAL LETTER V WITH TILDE +- : "Ṽ" U1E7C # LATIN CAPITAL LETTER V WITH TILDE +- : "ṽ" U1E7D # LATIN SMALL LETTER V WITH TILDE +- : "ṽ" U1E7D # LATIN SMALL LETTER V WITH TILDE +- : "Ṿ" U1E7E # LATIN CAPITAL LETTER V WITH DOT BELOW +- : "Ṿ" U1E7E # LATIN CAPITAL LETTER V WITH DOT BELOW +- : "ṿ" U1E7F # LATIN SMALL LETTER V WITH DOT BELOW +- : "ṿ" U1E7F # LATIN SMALL LETTER V WITH DOT BELOW +- : "Ẁ" U1E80 # LATIN CAPITAL LETTER W WITH GRAVE +- : "Ẁ" U1E80 # LATIN CAPITAL LETTER W WITH GRAVE +- : "ẁ" U1E81 # LATIN SMALL LETTER W WITH GRAVE +- : "ẁ" U1E81 # LATIN SMALL LETTER W WITH GRAVE +- : "Ẃ" U1E82 # LATIN CAPITAL LETTER W WITH ACUTE +- : "Ẃ" U1E82 # LATIN CAPITAL LETTER W WITH ACUTE +- : "Ẃ" U1E82 # LATIN CAPITAL LETTER W WITH ACUTE +- : "ẃ" U1E83 # LATIN SMALL LETTER W WITH ACUTE +- : "ẃ" U1E83 # LATIN SMALL LETTER W WITH ACUTE +- : "ẃ" U1E83 # LATIN SMALL LETTER W WITH ACUTE +- : "Ẅ" U1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS +- : "Ẅ" U1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS +- : "ẅ" U1E85 # LATIN SMALL LETTER W WITH DIAERESIS +- : "ẅ" U1E85 # LATIN SMALL LETTER W WITH DIAERESIS +- : "Ẇ" U1E86 # LATIN CAPITAL LETTER W WITH DOT ABOVE +- : "Ẇ" U1E86 # LATIN CAPITAL LETTER W WITH DOT ABOVE +- : "ẇ" U1E87 # LATIN SMALL LETTER W WITH DOT ABOVE +- : "ẇ" U1E87 # LATIN SMALL LETTER W WITH DOT ABOVE +- : "Ẉ" U1E88 # LATIN CAPITAL LETTER W WITH DOT BELOW +- : "Ẉ" U1E88 # LATIN CAPITAL LETTER W WITH DOT BELOW +- : "ẉ" U1E89 # LATIN SMALL LETTER W WITH DOT BELOW +- : "ẉ" U1E89 # LATIN SMALL LETTER W WITH DOT BELOW +- : "Ẋ" U1E8A # LATIN CAPITAL LETTER X WITH DOT ABOVE +- : "Ẋ" U1E8A # LATIN CAPITAL LETTER X WITH DOT ABOVE +- : "ẋ" U1E8B # LATIN SMALL LETTER X WITH DOT ABOVE +- : "ẋ" U1E8B # LATIN SMALL LETTER X WITH DOT ABOVE +- : "Ẍ" U1E8C # LATIN CAPITAL LETTER X WITH DIAERESIS +- : "Ẍ" U1E8C # LATIN CAPITAL LETTER X WITH DIAERESIS +- : "ẍ" U1E8D # LATIN SMALL LETTER X WITH DIAERESIS +- : "ẍ" U1E8D # LATIN SMALL LETTER X WITH DIAERESIS +- : "Ẏ" U1E8E # LATIN CAPITAL LETTER Y WITH DOT ABOVE +- : "Ẏ" U1E8E # LATIN CAPITAL LETTER Y WITH DOT ABOVE +- : "ẏ" U1E8F # LATIN SMALL LETTER Y WITH DOT ABOVE +- : "ẏ" U1E8F # LATIN SMALL LETTER Y WITH DOT ABOVE +- : "Ẑ" U1E90 # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX +- : "Ẑ" U1E90 # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX +- : "ẑ" U1E91 # LATIN SMALL LETTER Z WITH CIRCUMFLEX +- : "ẑ" U1E91 # LATIN SMALL LETTER Z WITH CIRCUMFLEX +- : "Ẓ" U1E92 # LATIN CAPITAL LETTER Z WITH DOT BELOW +- : "Ẓ" U1E92 # LATIN CAPITAL LETTER Z WITH DOT BELOW +- : "ẓ" U1E93 # LATIN SMALL LETTER Z WITH DOT BELOW +- : "ẓ" U1E93 # LATIN SMALL LETTER Z WITH DOT BELOW +- : "Ẕ" U1E94 # LATIN CAPITAL LETTER Z WITH LINE BELOW +- : "ẕ" U1E95 # LATIN SMALL LETTER Z WITH LINE BELOW +- : "ẖ" U1E96 # LATIN SMALL LETTER H WITH LINE BELOW +- : "ẗ" U1E97 # LATIN SMALL LETTER T WITH DIAERESIS +- : "ẗ" U1E97 # LATIN SMALL LETTER T WITH DIAERESIS +- : "ẘ" U1E98 # LATIN SMALL LETTER W WITH RING ABOVE +- : "ẘ" U1E98 # LATIN SMALL LETTER W WITH RING ABOVE +- : "ẙ" U1E99 # LATIN SMALL LETTER Y WITH RING ABOVE +- : "ẙ" U1E99 # LATIN SMALL LETTER Y WITH RING ABOVE +- : "ẛ" U1E9B # LATIN SMALL LETTER LONG S WITH DOT ABOVE +- : "ẛ" U1E9B # LATIN SMALL LETTER LONG S WITH DOT ABOVE +- : "Ạ" U1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW +- : "Ạ" U1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW +- : "ạ" U1EA1 # LATIN SMALL LETTER A WITH DOT BELOW +- : "ạ" U1EA1 # LATIN SMALL LETTER A WITH DOT BELOW +- : "Ả" U1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE +- : "Ả" U1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE +- : "ả" U1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE +- : "ả" U1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +- : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE +- : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE +- : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE +- : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE +- : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE +- : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE +- : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE +- : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE +- : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE +- : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE +- : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE +- : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE +- : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE +- : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +-XCOMM : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +-XCOMM : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +-XCOMM : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +-XCOMM : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +- : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +- : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +- : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +- : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +- : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +- : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +-XCOMM : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +- : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +- : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +- : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +- : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +- : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +- : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +- : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +-XCOMM : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +- : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +- : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +- : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +- : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +- : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +- : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +- : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +-XCOMM : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +- : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +- : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +- : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +- : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +- : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +- : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +- : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +-XCOMM : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +- : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +- : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +- : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +- : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +- : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +- : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +- : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +-XCOMM : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +- : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +- : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +- : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +- : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +- : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +- : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +- : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +-XCOMM : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +- : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +- : "Ẹ" U1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW +- : "Ẹ" U1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW +- : "ẹ" U1EB9 # LATIN SMALL LETTER E WITH DOT BELOW +- : "ẹ" U1EB9 # LATIN SMALL LETTER E WITH DOT BELOW +- : "Ẻ" U1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE +- : "Ẻ" U1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE +- : "ẻ" U1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE +- : "ẻ" U1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE +- : "Ẽ" U1EBC # LATIN CAPITAL LETTER E WITH TILDE +- : "Ẽ" U1EBC # LATIN CAPITAL LETTER E WITH TILDE +- : "ẽ" U1EBD # LATIN SMALL LETTER E WITH TILDE +- : "ẽ" U1EBD # LATIN SMALL LETTER E WITH TILDE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +- : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE +- : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE +- : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE +- : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE +- : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE +- : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE +- : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE +- : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE +- : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE +- : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE +- : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE +- : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE +- : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE +- : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW +- : "Ỉ" U1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE +- : "Ỉ" U1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE +- : "ỉ" U1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE +- : "ỉ" U1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE +- : "Ị" U1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW +- : "Ị" U1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW +- : "ị" U1ECB # LATIN SMALL LETTER I WITH DOT BELOW +- : "ị" U1ECB # LATIN SMALL LETTER I WITH DOT BELOW +- : "Ọ" U1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW +- : "Ọ" U1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW +- : "ọ" U1ECD # LATIN SMALL LETTER O WITH DOT BELOW +- : "ọ" U1ECD # LATIN SMALL LETTER O WITH DOT BELOW +- : "Ỏ" U1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE +- : "Ỏ" U1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE +- : "ỏ" U1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE +- : "ỏ" U1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +- : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE +- : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +- : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE +- : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE +- : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE +- : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE +- : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE +- : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE +- : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE +- : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE +- : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE +- : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE +- : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE +- : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE +- : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +- : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE +- : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE +- : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE +- : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE +- : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE +- : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE +- : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE +- : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE +- : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE +- : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE +- : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE +- : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE +- : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE +- : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE +- : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE +- : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE +- : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE +- : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE +- : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE +- : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE +- : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE +- : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE +- : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE +- : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE +- : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE +- : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE +- : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE +- : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE +- : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE +- : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE +- : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE +- : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE +- : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE +- : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE +- : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE +- : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE +- : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW +- : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW +- : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW +- : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW +- : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW +- : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW +- : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW +- : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW +- : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW +- : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW +- : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW +- : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW +- : "Ụ" U1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW +- : "Ụ" U1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW +- : "ụ" U1EE5 # LATIN SMALL LETTER U WITH DOT BELOW +- : "ụ" U1EE5 # LATIN SMALL LETTER U WITH DOT BELOW +- : "Ủ" U1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE +- : "Ủ" U1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE +- : "ủ" U1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE +- : "ủ" U1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +- : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE +- : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE +- : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE +- : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE +- : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE +- : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE +- : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE +- : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE +- : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE +- : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE +- : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE +- : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE +- : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE +- : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE +- : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE +- : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE +- : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE +- : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE +- : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE +- : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE +- : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE +- : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE +- : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE +- : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE +- : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE +- : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE +- : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE +- : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE +- : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE +- : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE +- : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE +- : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE +- : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE +- : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE +- : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE +- : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE +- : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW +- : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW +- : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW +- : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW +- : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW +- : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW +- : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW +- : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW +- : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW +- : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW +- : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW +- : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW +- : "Ỳ" U1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE +- : "Ỳ" U1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE +- : "ỳ" U1EF3 # LATIN SMALL LETTER Y WITH GRAVE +- : "ỳ" U1EF3 # LATIN SMALL LETTER Y WITH GRAVE +- : "Ỵ" U1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW +- : "Ỵ" U1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW +- : "ỵ" U1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW +- : "ỵ" U1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW +- : "Ỷ" U1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE +- : "Ỷ" U1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE +- : "ỷ" U1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE +- : "ỷ" U1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE +- : "Ỹ" U1EF8 # LATIN CAPITAL LETTER Y WITH TILDE +- : "Ỹ" U1EF8 # LATIN CAPITAL LETTER Y WITH TILDE +- : "ỹ" U1EF9 # LATIN SMALL LETTER Y WITH TILDE +- : "ỹ" U1EF9 # LATIN SMALL LETTER Y WITH TILDE +- : "ἀ" U1F00 # GREEK SMALL LETTER ALPHA WITH PSILI +- : "ἁ" U1F01 # GREEK SMALL LETTER ALPHA WITH DASIA +- : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA +- : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA +- : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA +- : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA +- : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA +- : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA +- : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA +- : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA +- : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA +- : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA +- : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA +- : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA +- : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA +- : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA +- : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA +- : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA +- : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA +- : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA +- : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA +- : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA +- : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI +- : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI +- : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI +- : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI +- : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI +- : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI +- : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI +- : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI +- : "Ἀ" U1F08 # GREEK CAPITAL LETTER ALPHA WITH PSILI +- : "Ἁ" U1F09 # GREEK CAPITAL LETTER ALPHA WITH DASIA +- : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA +- : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA +- : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA +- : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA +- : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA +- : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA +- : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA +- : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA +- : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA +- : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA +- : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA +- : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA +- : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA +- : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA +- : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA +- : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA +- : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA +- : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA +- : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA +- : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA +- : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI +- : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI +- : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI +- : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI +- : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI +- : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI +- : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI +- : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI +- : "ἐ" U1F10 # GREEK SMALL LETTER EPSILON WITH PSILI +- : "ἑ" U1F11 # GREEK SMALL LETTER EPSILON WITH DASIA +- : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA +- : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA +- : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA +- : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA +- : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA +- : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA +- : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA +- : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA +- : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA +- : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA +- : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA +- : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA +- : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA +- : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA +- : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA +- : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA +- : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA +- : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA +- : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA +- : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA +- : "Ἐ" U1F18 # GREEK CAPITAL LETTER EPSILON WITH PSILI +- : "Ἑ" U1F19 # GREEK CAPITAL LETTER EPSILON WITH DASIA +- : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA +- : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA +- : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA +- : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA +- : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA +- : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA +- : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA +- : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA +- : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA +- : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA +- : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA +- : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA +- : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA +- : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA +- : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA +- : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA +- : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA +- : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA +- : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA +- : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA +- : "ἠ" U1F20 # GREEK SMALL LETTER ETA WITH PSILI +- : "ἡ" U1F21 # GREEK SMALL LETTER ETA WITH DASIA +- : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA +- : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA +- : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA +- : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA +- : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA +- : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA +- : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA +- : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA +- : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA +- : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA +- : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA +- : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA +- : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA +- : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA +- : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA +- : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA +- : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA +- : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA +- : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA +- : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA +- : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI +- : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI +- : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI +- : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI +- : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI +- : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI +- : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI +- : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI +- : "Ἠ" U1F28 # GREEK CAPITAL LETTER ETA WITH PSILI +- : "Ἡ" U1F29 # GREEK CAPITAL LETTER ETA WITH DASIA +- : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA +- : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA +- : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA +- : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA +- : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA +- : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA +- : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA +- : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA +- : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA +- : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA +- : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA +- : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA +- : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA +- : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA +- : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA +- : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA +- : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA +- : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA +- : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA +- : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA +- : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI +- : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI +- : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI +- : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI +- : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI +- : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI +- : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI +- : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI +- : "ἰ" U1F30 # GREEK SMALL LETTER IOTA WITH PSILI +- : "ἱ" U1F31 # GREEK SMALL LETTER IOTA WITH DASIA +- : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA +- : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA +- : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA +- : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA +- : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA +- : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA +- : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA +- : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA +- : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA +- : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA +- : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA +- : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA +- : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA +- : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA +- : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA +- : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA +- : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA +- : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA +- : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA +- : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA +- : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI +- : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI +- : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI +- : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI +- : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI +- : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI +- : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI +- : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI +- : "Ἰ" U1F38 # GREEK CAPITAL LETTER IOTA WITH PSILI +- : "Ἱ" U1F39 # GREEK CAPITAL LETTER IOTA WITH DASIA +- : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA +- : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA +- : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA +- : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA +- : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA +- : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA +- : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA +- : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA +- : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA +- : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA +- : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA +- : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA +- : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA +- : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA +- : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA +- : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA +- : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA +- : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA +- : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA +- : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA +- : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI +- : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI +- : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI +- : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI +- : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI +- : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI +- : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI +- : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI +- : "ὀ" U1F40 # GREEK SMALL LETTER OMICRON WITH PSILI +- : "ὁ" U1F41 # GREEK SMALL LETTER OMICRON WITH DASIA +- : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA +- : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA +- : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA +- : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA +- : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA +- : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA +- : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA +- : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA +- : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA +- : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA +- : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA +- : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA +- : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA +- : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA +- : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA +- : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA +- : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA +- : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA +- : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA +- : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA +- : "Ὀ" U1F48 # GREEK CAPITAL LETTER OMICRON WITH PSILI +- : "Ὁ" U1F49 # GREEK CAPITAL LETTER OMICRON WITH DASIA +- : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA +- : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA +- : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA +- : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA +- : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA +- : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA +- : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA +- : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA +- : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA +- : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA +- : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA +- : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA +- : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA +- : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA +- : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA +- : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA +- : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA +- : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA +- : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA +- : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA +- : "ὐ" U1F50 # GREEK SMALL LETTER UPSILON WITH PSILI +- : "ὑ" U1F51 # GREEK SMALL LETTER UPSILON WITH DASIA +- : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA +- : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA +- : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA +- : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA +- : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA +- : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA +- : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA +- : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA +- : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA +- : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA +- : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA +- : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA +- : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA +- : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA +- : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA +- : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA +- : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA +- : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA +- : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA +- : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA +- : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI +- : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI +- : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI +- : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI +- : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI +- : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI +- : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI +- : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI +- : "Ὑ" U1F59 # GREEK CAPITAL LETTER UPSILON WITH DASIA +- : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA +- : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA +- : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA +- : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA +- : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA +- : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA +- : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA +- : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA +- : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA +- : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA +- : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI +- : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI +- : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI +- : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI +- : "ὠ" U1F60 # GREEK SMALL LETTER OMEGA WITH PSILI +- : "ὡ" U1F61 # GREEK SMALL LETTER OMEGA WITH DASIA +- : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA +- : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA +- : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA +- : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA +- : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA +- : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA +- : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA +- : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA +- : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA +- : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA +- : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA +- : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA +- : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA +- : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA +- : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA +- : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA +- : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA +- : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA +- : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA +- : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA +- : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI +- : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI +- : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI +- : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI +- : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI +- : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI +- : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI +- : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI +- : "Ὠ" U1F68 # GREEK CAPITAL LETTER OMEGA WITH PSILI +- : "Ὡ" U1F69 # GREEK CAPITAL LETTER OMEGA WITH DASIA +- : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA +- : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA +- : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA +- : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA +- : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA +- : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA +- : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA +- : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA +- : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA +- : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA +- : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA +- : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA +- : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA +- : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA +- : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA +- : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA +- : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA +- : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA +- : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA +- : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA +- : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI +- : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI +- : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI +- : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI +- : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI +- : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI +- : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI +- : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI +- : "ὰ" U1F70 # GREEK SMALL LETTER ALPHA WITH VARIA +- : "ὰ" U1F70 # GREEK SMALL LETTER ALPHA WITH VARIA +- : "ὲ" U1F72 # GREEK SMALL LETTER EPSILON WITH VARIA +- : "ὲ" U1F72 # GREEK SMALL LETTER EPSILON WITH VARIA +- : "ὴ" U1F74 # GREEK SMALL LETTER ETA WITH VARIA +- : "ὴ" U1F74 # GREEK SMALL LETTER ETA WITH VARIA +- : "ὶ" U1F76 # GREEK SMALL LETTER IOTA WITH VARIA +- : "ὶ" U1F76 # GREEK SMALL LETTER IOTA WITH VARIA +- : "ὸ" U1F78 # GREEK SMALL LETTER OMICRON WITH VARIA +- : "ὸ" U1F78 # GREEK SMALL LETTER OMICRON WITH VARIA +- : "ὺ" U1F7A # GREEK SMALL LETTER UPSILON WITH VARIA +- : "ὺ" U1F7A # GREEK SMALL LETTER UPSILON WITH VARIA +- : "ὼ" U1F7C # GREEK SMALL LETTER OMEGA WITH VARIA +- : "ὼ" U1F7C # GREEK SMALL LETTER OMEGA WITH VARIA +- : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI +- : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI +- : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI +- : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI +- : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI +- : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI +- : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI +- : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI +- : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI +- : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI +- : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI +- : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI +- : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI +- : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI +- : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI +- : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI +- : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI +- : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI +- : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI +- : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI +- : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI +- : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI +- : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI +- : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI +- : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI +- : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI +- : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI +- : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI +- : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI +- : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI +- : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI +- : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI +- : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI +- : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI +- : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI +- : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI +- : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI +- : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI +- : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI +- : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI +- : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI +- : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI +- : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI +- : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI +- : "ᾰ" U1FB0 # GREEK SMALL LETTER ALPHA WITH VRACHY +- : "ᾰ" U1FB0 # GREEK SMALL LETTER ALPHA WITH VRACHY +- : "ᾰ" U1FB0 # GREEK SMALL LETTER ALPHA WITH VRACHY +- : "ᾱ" U1FB1 # GREEK SMALL LETTER ALPHA WITH MACRON +- : "ᾱ" U1FB1 # GREEK SMALL LETTER ALPHA WITH MACRON +- : "ᾱ" U1FB1 # GREEK SMALL LETTER ALPHA WITH MACRON +- : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI +- : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI +- : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI +- : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI +- : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI +- : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI +- : "ᾳ" U1FB3 # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI +- : "ᾳ" U1FB3 # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI +- : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +- : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +- : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +- : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +- : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +- : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +- : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +- : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +- : "ᾶ" U1FB6 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI +- : "ᾶ" U1FB6 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI +- : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "Ᾰ" U1FB8 # GREEK CAPITAL LETTER ALPHA WITH VRACHY +- : "Ᾰ" U1FB8 # GREEK CAPITAL LETTER ALPHA WITH VRACHY +- : "Ᾰ" U1FB8 # GREEK CAPITAL LETTER ALPHA WITH VRACHY +- : "Ᾱ" U1FB9 # GREEK CAPITAL LETTER ALPHA WITH MACRON +- : "Ᾱ" U1FB9 # GREEK CAPITAL LETTER ALPHA WITH MACRON +- : "Ᾱ" U1FB9 # GREEK CAPITAL LETTER ALPHA WITH MACRON +- : "Ὰ" U1FBA # GREEK CAPITAL LETTER ALPHA WITH VARIA +- : "Ὰ" U1FBA # GREEK CAPITAL LETTER ALPHA WITH VARIA +- : "ᾼ" U1FBC # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI +- : "ᾼ" U1FBC # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI +- : "῁" U1FC1 # GREEK DIALYTIKA AND PERISPOMENI +- : "῁" U1FC1 # GREEK DIALYTIKA AND PERISPOMENI +- : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI +- : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI +- : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI +- : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI +- : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI +- : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI +- : "ῃ" U1FC3 # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI +- : "ῃ" U1FC3 # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI +- : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +- : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +- : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +- : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +- : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +- : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +- : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +- : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +- : "ῆ" U1FC6 # GREEK SMALL LETTER ETA WITH PERISPOMENI +- : "ῆ" U1FC6 # GREEK SMALL LETTER ETA WITH PERISPOMENI +- : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "Ὲ" U1FC8 # GREEK CAPITAL LETTER EPSILON WITH VARIA +- : "Ὲ" U1FC8 # GREEK CAPITAL LETTER EPSILON WITH VARIA +- : "Ὴ" U1FCA # GREEK CAPITAL LETTER ETA WITH VARIA +- : "Ὴ" U1FCA # GREEK CAPITAL LETTER ETA WITH VARIA +- : "ῌ" U1FCC # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI +- : "ῌ" U1FCC # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI +- : "῍" U1FCD # GREEK PSILI AND VARIA +- : "῍" U1FCD # GREEK PSILI AND VARIA +- : "῎" U1FCE # GREEK PSILI AND OXIA +- : "῎" U1FCE # GREEK PSILI AND OXIA +- : "῎" U1FCE # GREEK PSILI AND OXIA +- : "῏" U1FCF # GREEK PSILI AND PERISPOMENI +- : "῏" U1FCF # GREEK PSILI AND PERISPOMENI +- : "ῐ" U1FD0 # GREEK SMALL LETTER IOTA WITH VRACHY +- : "ῐ" U1FD0 # GREEK SMALL LETTER IOTA WITH VRACHY +- : "ῐ" U1FD0 # GREEK SMALL LETTER IOTA WITH VRACHY +- : "ῑ" U1FD1 # GREEK SMALL LETTER IOTA WITH MACRON +- : "ῑ" U1FD1 # GREEK SMALL LETTER IOTA WITH MACRON +- : "ῑ" U1FD1 # GREEK SMALL LETTER IOTA WITH MACRON +- : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA +- : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA +- : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA +- : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA +- : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA +- : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA +- : "ῖ" U1FD6 # GREEK SMALL LETTER IOTA WITH PERISPOMENI +- : "ῖ" U1FD6 # GREEK SMALL LETTER IOTA WITH PERISPOMENI +- : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI +- : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI +- : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI +- : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI +- : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI +- : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI +- : "Ῐ" U1FD8 # GREEK CAPITAL LETTER IOTA WITH VRACHY +- : "Ῐ" U1FD8 # GREEK CAPITAL LETTER IOTA WITH VRACHY +- : "Ῐ" U1FD8 # GREEK CAPITAL LETTER IOTA WITH VRACHY +- : "Ῑ" U1FD9 # GREEK CAPITAL LETTER IOTA WITH MACRON +- : "Ῑ" U1FD9 # GREEK CAPITAL LETTER IOTA WITH MACRON +- : "Ῑ" U1FD9 # GREEK CAPITAL LETTER IOTA WITH MACRON +- : "Ὶ" U1FDA # GREEK CAPITAL LETTER IOTA WITH VARIA +- : "Ὶ" U1FDA # GREEK CAPITAL LETTER IOTA WITH VARIA +- : "῝" U1FDD # GREEK DASIA AND VARIA +- : "῝" U1FDD # GREEK DASIA AND VARIA +- : "῞" U1FDE # GREEK DASIA AND OXIA +- : "῞" U1FDE # GREEK DASIA AND OXIA +- : "῞" U1FDE # GREEK DASIA AND OXIA +- : "῟" U1FDF # GREEK DASIA AND PERISPOMENI +- : "῟" U1FDF # GREEK DASIA AND PERISPOMENI +- : "ῠ" U1FE0 # GREEK SMALL LETTER UPSILON WITH VRACHY +- : "ῠ" U1FE0 # GREEK SMALL LETTER UPSILON WITH VRACHY +- : "ῠ" U1FE0 # GREEK SMALL LETTER UPSILON WITH VRACHY +- : "ῡ" U1FE1 # GREEK SMALL LETTER UPSILON WITH MACRON +- : "ῡ" U1FE1 # GREEK SMALL LETTER UPSILON WITH MACRON +- : "ῡ" U1FE1 # GREEK SMALL LETTER UPSILON WITH MACRON +- : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA +- : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA +- : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA +- : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA +- : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA +- : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA +- : "ῤ" U1FE4 # GREEK SMALL LETTER RHO WITH PSILI +- : "ῥ" U1FE5 # GREEK SMALL LETTER RHO WITH DASIA +- : "ῦ" U1FE6 # GREEK SMALL LETTER UPSILON WITH PERISPOMENI +- : "ῦ" U1FE6 # GREEK SMALL LETTER UPSILON WITH PERISPOMENI +- : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI +- : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI +- : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI +- : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI +- : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI +- : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI +- : "Ῠ" U1FE8 # GREEK CAPITAL LETTER UPSILON WITH VRACHY +- : "Ῠ" U1FE8 # GREEK CAPITAL LETTER UPSILON WITH VRACHY +- : "Ῠ" U1FE8 # GREEK CAPITAL LETTER UPSILON WITH VRACHY +- : "Ῡ" U1FE9 # GREEK CAPITAL LETTER UPSILON WITH MACRON +- : "Ῡ" U1FE9 # GREEK CAPITAL LETTER UPSILON WITH MACRON +- : "Ῡ" U1FE9 # GREEK CAPITAL LETTER UPSILON WITH MACRON +- : "Ὺ" U1FEA # GREEK CAPITAL LETTER UPSILON WITH VARIA +- : "Ὺ" U1FEA # GREEK CAPITAL LETTER UPSILON WITH VARIA +- : "Ῥ" U1FEC # GREEK CAPITAL LETTER RHO WITH DASIA +- : "῭" U1FED # GREEK DIALYTIKA AND VARIA +- : "῭" U1FED # GREEK DIALYTIKA AND VARIA +- : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI +- : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI +- : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI +- : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI +- : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI +- : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI +- : "ῳ" U1FF3 # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI +- : "ῳ" U1FF3 # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI +- : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +- : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +- : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +- : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +- : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +- : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +- : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +- : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +- : "ῶ" U1FF6 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI +- : "ῶ" U1FF6 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI +- : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI +- : "Ὸ" U1FF8 # GREEK CAPITAL LETTER OMICRON WITH VARIA +- : "Ὸ" U1FF8 # GREEK CAPITAL LETTER OMICRON WITH VARIA +- : "Ὼ" U1FFA # GREEK CAPITAL LETTER OMEGA WITH VARIA +- : "Ὼ" U1FFA # GREEK CAPITAL LETTER OMEGA WITH VARIA +- : "ῼ" U1FFC # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI +- : "ῼ" U1FFC # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI +- <0> : "⁰" U2070 # SUPERSCRIPT ZERO +- <0> : "⁰" U2070 # SUPERSCRIPT ZERO +- : "⁰" U2070 # SUPERSCRIPT ZERO +- : "⁰" U2070 # SUPERSCRIPT ZERO +- : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I +- : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I +- : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I +- : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I +- <4> : "⁴" U2074 # SUPERSCRIPT FOUR +- <4> : "⁴" U2074 # SUPERSCRIPT FOUR +- : "⁴" U2074 # SUPERSCRIPT FOUR +- : "⁴" U2074 # SUPERSCRIPT FOUR +- <5> : "⁵" U2075 # SUPERSCRIPT FIVE +- <5> : "⁵" U2075 # SUPERSCRIPT FIVE +- : "⁵" U2075 # SUPERSCRIPT FIVE +- : "⁵" U2075 # SUPERSCRIPT FIVE +- <6> : "⁶" U2076 # SUPERSCRIPT SIX +- <6> : "⁶" U2076 # SUPERSCRIPT SIX +- : "⁶" U2076 # SUPERSCRIPT SIX +- : "⁶" U2076 # SUPERSCRIPT SIX +- <7> : "⁷" U2077 # SUPERSCRIPT SEVEN +- <7> : "⁷" U2077 # SUPERSCRIPT SEVEN +- : "⁷" U2077 # SUPERSCRIPT SEVEN +- : "⁷" U2077 # SUPERSCRIPT SEVEN +- <8> : "⁸" U2078 # SUPERSCRIPT EIGHT +- <8> : "⁸" U2078 # SUPERSCRIPT EIGHT +- : "⁸" U2078 # SUPERSCRIPT EIGHT +- : "⁸" U2078 # SUPERSCRIPT EIGHT +- <9> : "⁹" U2079 # SUPERSCRIPT NINE +- <9> : "⁹" U2079 # SUPERSCRIPT NINE +- : "⁹" U2079 # SUPERSCRIPT NINE +- : "⁹" U2079 # SUPERSCRIPT NINE +- : "⁺" U207A # SUPERSCRIPT PLUS SIGN +- : "⁺" U207A # SUPERSCRIPT PLUS SIGN +- : "⁺" U207A # SUPERSCRIPT PLUS SIGN +- : "⁺" U207A # SUPERSCRIPT PLUS SIGN +- : "⁻" U207B # SUPERSCRIPT MINUS +- : "⁻" U207B # SUPERSCRIPT MINUS +- : "⁼" U207C # SUPERSCRIPT EQUALS SIGN +- : "⁼" U207C # SUPERSCRIPT EQUALS SIGN +- : "⁼" U207C # SUPERSCRIPT EQUALS SIGN +- : "⁼" U207C # SUPERSCRIPT EQUALS SIGN +- : "⁽" U207D # SUPERSCRIPT LEFT PARENTHESIS +- : "⁽" U207D # SUPERSCRIPT LEFT PARENTHESIS +- : "⁾" U207E # SUPERSCRIPT RIGHT PARENTHESIS +- : "⁾" U207E # SUPERSCRIPT RIGHT PARENTHESIS +- : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N +- : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N +- : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N +- : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N +- <0> : "₀" U2080 # SUBSCRIPT ZERO +- : "₀" U2080 # SUBSCRIPT ZERO +- <0> : "₀" U2080 # SUBSCRIPT ZERO +- : "₀" U2080 # SUBSCRIPT ZERO +- <1> : "₁" U2081 # SUBSCRIPT ONE +- : "₁" U2081 # SUBSCRIPT ONE +- <1> : "₁" U2081 # SUBSCRIPT ONE +- : "₁" U2081 # SUBSCRIPT ONE +- <2> : "₂" U2082 # SUBSCRIPT TWO +- : "₂" U2082 # SUBSCRIPT TWO +- : "₂" U2082 # SUBSCRIPT TWO +- <2> : "₂" U2082 # SUBSCRIPT TWO +- : "₂" U2082 # SUBSCRIPT TWO +- : "₂" U2082 # SUBSCRIPT TWO +- <3> : "₃" U2083 # SUBSCRIPT THREE +- : "₃" U2083 # SUBSCRIPT THREE +- <3> : "₃" U2083 # SUBSCRIPT THREE +- : "₃" U2083 # SUBSCRIPT THREE +- <4> : "₄" U2084 # SUBSCRIPT FOUR +- : "₄" U2084 # SUBSCRIPT FOUR +- <4> : "₄" U2084 # SUBSCRIPT FOUR +- : "₄" U2084 # SUBSCRIPT FOUR +- <5> : "₅" U2085 # SUBSCRIPT FIVE +- : "₅" U2085 # SUBSCRIPT FIVE +- <5> : "₅" U2085 # SUBSCRIPT FIVE +- : "₅" U2085 # SUBSCRIPT FIVE +- <6> : "₆" U2086 # SUBSCRIPT SIX +- : "₆" U2086 # SUBSCRIPT SIX +- <6> : "₆" U2086 # SUBSCRIPT SIX +- : "₆" U2086 # SUBSCRIPT SIX +- <7> : "₇" U2087 # SUBSCRIPT SEVEN +- : "₇" U2087 # SUBSCRIPT SEVEN +- <7> : "₇" U2087 # SUBSCRIPT SEVEN +- : "₇" U2087 # SUBSCRIPT SEVEN +- <8> : "₈" U2088 # SUBSCRIPT EIGHT +- : "₈" U2088 # SUBSCRIPT EIGHT +- <8> : "₈" U2088 # SUBSCRIPT EIGHT +- : "₈" U2088 # SUBSCRIPT EIGHT +- <9> : "₉" U2089 # SUBSCRIPT NINE +- : "₉" U2089 # SUBSCRIPT NINE +- <9> : "₉" U2089 # SUBSCRIPT NINE +- : "₉" U2089 # SUBSCRIPT NINE +- : "₊" U208A # SUBSCRIPT PLUS SIGN +- : "₊" U208A # SUBSCRIPT PLUS SIGN +- : "₊" U208A # SUBSCRIPT PLUS SIGN +- : "₊" U208A # SUBSCRIPT PLUS SIGN +- : "₋" U208B # SUBSCRIPT MINUS +- : "₋" U208B # SUBSCRIPT MINUS +- : "₌" U208C # SUBSCRIPT EQUALS SIGN +- : "₌" U208C # SUBSCRIPT EQUALS SIGN +- : "₌" U208C # SUBSCRIPT EQUALS SIGN +- : "₌" U208C # SUBSCRIPT EQUALS SIGN +- : "₍" U208D # SUBSCRIPT LEFT PARENTHESIS +- : "₍" U208D # SUBSCRIPT LEFT PARENTHESIS +- : "₎" U208E # SUBSCRIPT RIGHT PARENTHESIS +- : "₎" U208E # SUBSCRIPT RIGHT PARENTHESIS +- : "℠" U2120 # SERVICE MARK +- : "℠" U2120 # SERVICE MARK +- : "™" U2122 # TRADE MARK SIGN +- : "™" U2122 # TRADE MARK SIGN +- <1> <3> : "⅓" U2153 # VULGAR FRACTION ONE THIRD +- <2> <3> : "⅔" U2154 # VULGAR FRACTION TWO THIRDS +- <1> <5> : "⅕" U2155 # VULGAR FRACTION ONE FIFTH +- <2> <5> : "⅖" U2156 # VULGAR FRACTION TWO FIFTHS +- <3> <5> : "⅗" U2157 # VULGAR FRACTION THREE FIFTHS +- <4> <5> : "⅘" U2158 # VULGAR FRACTION FOUR FIFTHS +- <1> <6> : "⅙" U2159 # VULGAR FRACTION ONE SIXTH +- <5> <6> : "⅚" U215A # VULGAR FRACTION FIVE SIXTHS +- <1> <8> : "⅛" U215B # VULGAR FRACTION ONE EIGHTH +- <3> <8> : "⅜" U215C # VULGAR FRACTION THREE EIGHTHS +- <5> <8> : "⅝" U215D # VULGAR FRACTION FIVE EIGHTHS +- <7> <8> : "⅞" U215E # VULGAR FRACTION SEVEN EIGHTHS +- : "↚" U219A # LEFTWARDS ARROW WITH STROKE +- : "↚" U219A # LEFTWARDS ARROW WITH STROKE +- : "↛" U219B # RIGHTWARDS ARROW WITH STROKE +- : "↛" U219B # RIGHTWARDS ARROW WITH STROKE +- : "↮" U21AE # LEFT RIGHT ARROW WITH STROKE +- : "↮" U21AE # LEFT RIGHT ARROW WITH STROKE +- : "∄" U2204 # THERE DOES NOT EXIST +- : "∉" U2209 # NOT AN ELEMENT OF +- : "∌" U220C # DOES NOT CONTAIN AS MEMBER +- : "∤" U2224 # DOES NOT DIVIDE +- : "∦" U2226 # NOT PARALLEL TO +- : "≁" U2241 # NOT TILDE +- : "≄" U2244 # NOT ASYMPTOTICALLY EQUAL TO +- : "≇" U2247 # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO +- : "≉" U2249 # NOT ALMOST EQUAL TO +- : "≠" U2260 # NOT EQUAL TO +- : "≠" U2260 # NOT EQUAL TO +- : "≢" U2262 # NOT IDENTICAL TO +- : "≭" U226D # NOT EQUIVALENT TO +- : "≮" U226E # NOT LESS-THAN +- : "≮" U226E # NOT LESS-THAN +- : "≯" U226F # NOT GREATER-THAN +- : "≯" U226F # NOT GREATER-THAN +- : "≰" U2270 # NEITHER LESS-THAN NOR EQUAL TO +- : "≱" U2271 # NEITHER GREATER-THAN NOR EQUAL TO +- : "≴" U2274 # NEITHER LESS-THAN NOR EQUIVALENT TO +- : "≵" U2275 # NEITHER GREATER-THAN NOR EQUIVALENT TO +- : "≸" U2278 # NEITHER LESS-THAN NOR GREATER-THAN +- : "≹" U2279 # NEITHER GREATER-THAN NOR LESS-THAN +- : "⊀" U2280 # DOES NOT PRECEDE +- : "⊁" U2281 # DOES NOT SUCCEED +- : "⊄" U2284 # NOT A SUBSET OF +- : "⊄" U2284 # NOT A SUBSET OF +- : "⊅" U2285 # NOT A SUPERSET OF +- : "⊅" U2285 # NOT A SUPERSET OF +- : "⊈" U2288 # NEITHER A SUBSET OF NOR EQUAL TO +- : "⊉" U2289 # NEITHER A SUPERSET OF NOR EQUAL TO +- : "⊬" U22AC # DOES NOT PROVE +- : "⊭" U22AD # NOT TRUE +- : "⊮" U22AE # DOES NOT FORCE +- : "⊯" U22AF # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE +- : "⋠" U22E0 # DOES NOT PRECEDE OR EQUAL +- : "⋡" U22E1 # DOES NOT SUCCEED OR EQUAL +- : "⋢" U22E2 # NOT SQUARE IMAGE OF OR EQUAL TO +- : "⋣" U22E3 # NOT SQUARE ORIGINAL OF OR EQUAL TO +- : "⋪" U22EA # NOT NORMAL SUBGROUP OF +- : "⋫" U22EB # DOES NOT CONTAIN AS NORMAL SUBGROUP +- : "⋬" U22EC # NOT NORMAL SUBGROUP OF OR EQUAL TO +- : "⋭" U22ED # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL +- <1> : "①" U2460 # CIRCLED DIGIT ONE +- : "①" U2460 # CIRCLED DIGIT ONE +- <2> : "②" U2461 # CIRCLED DIGIT TWO +- : "②" U2461 # CIRCLED DIGIT TWO +- : "②" U2461 # CIRCLED DIGIT TWO +- <3> : "③" U2462 # CIRCLED DIGIT THREE +- : "③" U2462 # CIRCLED DIGIT THREE +- <4> : "④" U2463 # CIRCLED DIGIT FOUR +- : "④" U2463 # CIRCLED DIGIT FOUR +- <5> : "⑤" U2464 # CIRCLED DIGIT FIVE +- : "⑤" U2464 # CIRCLED DIGIT FIVE +- <6> : "⑥" U2465 # CIRCLED DIGIT SIX +- : "⑥" U2465 # CIRCLED DIGIT SIX +- <7> : "⑦" U2466 # CIRCLED DIGIT SEVEN +- : "⑦" U2466 # CIRCLED DIGIT SEVEN +- <8> : "⑧" U2467 # CIRCLED DIGIT EIGHT +- : "⑧" U2467 # CIRCLED DIGIT EIGHT +- <9> : "⑨" U2468 # CIRCLED DIGIT NINE +- : "⑨" U2468 # CIRCLED DIGIT NINE +- <1> <0> : "⑩" U2469 # CIRCLED NUMBER TEN +- <1> : "⑩" U2469 # CIRCLED NUMBER TEN +- <0> : "⑩" U2469 # CIRCLED NUMBER TEN +- : "⑩" U2469 # CIRCLED NUMBER TEN +- <1> <1> : "⑪" U246A # CIRCLED NUMBER ELEVEN +- <1> : "⑪" U246A # CIRCLED NUMBER ELEVEN +- <1> : "⑪" U246A # CIRCLED NUMBER ELEVEN +- : "⑪" U246A # CIRCLED NUMBER ELEVEN +- <1> <2> : "⑫" U246B # CIRCLED NUMBER TWELVE +- <1> : "⑫" U246B # CIRCLED NUMBER TWELVE +- <1> : "⑫" U246B # CIRCLED NUMBER TWELVE +- <2> : "⑫" U246B # CIRCLED NUMBER TWELVE +- : "⑫" U246B # CIRCLED NUMBER TWELVE +- : "⑫" U246B # CIRCLED NUMBER TWELVE +- <1> <3> : "⑬" U246C # CIRCLED NUMBER THIRTEEN +- <1> : "⑬" U246C # CIRCLED NUMBER THIRTEEN +- <3> : "⑬" U246C # CIRCLED NUMBER THIRTEEN +- : "⑬" U246C # CIRCLED NUMBER THIRTEEN +- <1> <4> : "⑭" U246D # CIRCLED NUMBER FOURTEEN +- <1> : "⑭" U246D # CIRCLED NUMBER FOURTEEN +- <4> : "⑭" U246D # CIRCLED NUMBER FOURTEEN +- : "⑭" U246D # CIRCLED NUMBER FOURTEEN +- <1> <5> : "⑮" U246E # CIRCLED NUMBER FIFTEEN +- <1> : "⑮" U246E # CIRCLED NUMBER FIFTEEN +- <5> : "⑮" U246E # CIRCLED NUMBER FIFTEEN +- : "⑮" U246E # CIRCLED NUMBER FIFTEEN +- <1> <6> : "⑯" U246F # CIRCLED NUMBER SIXTEEN +- <1> : "⑯" U246F # CIRCLED NUMBER SIXTEEN +- <6> : "⑯" U246F # CIRCLED NUMBER SIXTEEN +- : "⑯" U246F # CIRCLED NUMBER SIXTEEN +- <1> <7> : "⑰" U2470 # CIRCLED NUMBER SEVENTEEN +- <1> : "⑰" U2470 # CIRCLED NUMBER SEVENTEEN +- <7> : "⑰" U2470 # CIRCLED NUMBER SEVENTEEN +- : "⑰" U2470 # CIRCLED NUMBER SEVENTEEN +- <1> <8> : "⑱" U2471 # CIRCLED NUMBER EIGHTEEN +- <1> : "⑱" U2471 # CIRCLED NUMBER EIGHTEEN +- <8> : "⑱" U2471 # CIRCLED NUMBER EIGHTEEN +- : "⑱" U2471 # CIRCLED NUMBER EIGHTEEN +- <1> <9> : "⑲" U2472 # CIRCLED NUMBER NINETEEN +- <1> : "⑲" U2472 # CIRCLED NUMBER NINETEEN +- <9> : "⑲" U2472 # CIRCLED NUMBER NINETEEN +- : "⑲" U2472 # CIRCLED NUMBER NINETEEN +- <2> <0> : "⑳" U2473 # CIRCLED NUMBER TWENTY +- <2> : "⑳" U2473 # CIRCLED NUMBER TWENTY +- <0> : "⑳" U2473 # CIRCLED NUMBER TWENTY +- : "⑳" U2473 # CIRCLED NUMBER TWENTY +- <0> : "⑳" U2473 # CIRCLED NUMBER TWENTY +- : "⑳" U2473 # CIRCLED NUMBER TWENTY +- : "Ⓐ" U24B6 # CIRCLED LATIN CAPITAL LETTER A +- : "Ⓑ" U24B7 # CIRCLED LATIN CAPITAL LETTER B +- : "Ⓒ" U24B8 # CIRCLED LATIN CAPITAL LETTER C +- : "Ⓓ" U24B9 # CIRCLED LATIN CAPITAL LETTER D +- : "Ⓔ" U24BA # CIRCLED LATIN CAPITAL LETTER E +- : "Ⓕ" U24BB # CIRCLED LATIN CAPITAL LETTER F +- : "Ⓖ" U24BC # CIRCLED LATIN CAPITAL LETTER G +- : "Ⓗ" U24BD # CIRCLED LATIN CAPITAL LETTER H +- : "Ⓘ" U24BE # CIRCLED LATIN CAPITAL LETTER I +- : "Ⓙ" U24BF # CIRCLED LATIN CAPITAL LETTER J +- : "Ⓚ" U24C0 # CIRCLED LATIN CAPITAL LETTER K +- : "Ⓛ" U24C1 # CIRCLED LATIN CAPITAL LETTER L +- : "Ⓜ" U24C2 # CIRCLED LATIN CAPITAL LETTER M +- : "Ⓝ" U24C3 # CIRCLED LATIN CAPITAL LETTER N +- : "Ⓞ" U24C4 # CIRCLED LATIN CAPITAL LETTER O +-

: "Ⓟ" U24C5 # CIRCLED LATIN CAPITAL LETTER P +- : "Ⓠ" U24C6 # CIRCLED LATIN CAPITAL LETTER Q +- : "Ⓡ" U24C7 # CIRCLED LATIN CAPITAL LETTER R +- : "Ⓢ" U24C8 # CIRCLED LATIN CAPITAL LETTER S +- : "Ⓣ" U24C9 # CIRCLED LATIN CAPITAL LETTER T +- : "Ⓤ" U24CA # CIRCLED LATIN CAPITAL LETTER U +- : "Ⓥ" U24CB # CIRCLED LATIN CAPITAL LETTER V +- : "Ⓦ" U24CC # CIRCLED LATIN CAPITAL LETTER W +- : "Ⓧ" U24CD # CIRCLED LATIN CAPITAL LETTER X +- : "Ⓨ" U24CE # CIRCLED LATIN CAPITAL LETTER Y +- : "Ⓩ" U24CF # CIRCLED LATIN CAPITAL LETTER Z +- : "ⓐ" U24D0 # CIRCLED LATIN SMALL LETTER A +- : "ⓑ" U24D1 # CIRCLED LATIN SMALL LETTER B +- : "ⓒ" U24D2 # CIRCLED LATIN SMALL LETTER C +- : "ⓓ" U24D3 # CIRCLED LATIN SMALL LETTER D +- : "ⓔ" U24D4 # CIRCLED LATIN SMALL LETTER E +- : "ⓕ" U24D5 # CIRCLED LATIN SMALL LETTER F +- : "ⓖ" U24D6 # CIRCLED LATIN SMALL LETTER G +- : "ⓗ" U24D7 # CIRCLED LATIN SMALL LETTER H +- : "ⓘ" U24D8 # CIRCLED LATIN SMALL LETTER I +- : "ⓙ" U24D9 # CIRCLED LATIN SMALL LETTER J +- : "ⓚ" U24DA # CIRCLED LATIN SMALL LETTER K +- : "ⓛ" U24DB # CIRCLED LATIN SMALL LETTER L +- : "ⓜ" U24DC # CIRCLED LATIN SMALL LETTER M +- : "ⓝ" U24DD # CIRCLED LATIN SMALL LETTER N +- : "ⓞ" U24DE # CIRCLED LATIN SMALL LETTER O +-

: "ⓟ" U24DF # CIRCLED LATIN SMALL LETTER P +- : "ⓠ" U24E0 # CIRCLED LATIN SMALL LETTER Q +- : "ⓡ" U24E1 # CIRCLED LATIN SMALL LETTER R +- : "ⓢ" U24E2 # CIRCLED LATIN SMALL LETTER S +- : "ⓣ" U24E3 # CIRCLED LATIN SMALL LETTER T +- : "ⓤ" U24E4 # CIRCLED LATIN SMALL LETTER U +- : "ⓥ" U24E5 # CIRCLED LATIN SMALL LETTER V +- : "ⓦ" U24E6 # CIRCLED LATIN SMALL LETTER W +- : "ⓧ" U24E7 # CIRCLED LATIN SMALL LETTER X +- : "ⓨ" U24E8 # CIRCLED LATIN SMALL LETTER Y +- : "ⓩ" U24E9 # CIRCLED LATIN SMALL LETTER Z +- <0> : "⓪" U24EA # CIRCLED DIGIT ZERO +- : "⓪" U24EA # CIRCLED DIGIT ZERO +- : "⫝̸" U2ADC # FORKING +- : "が" U304C # HIRAGANA LETTER GA +- : "ぎ" U304E # HIRAGANA LETTER GI +- : "ぐ" U3050 # HIRAGANA LETTER GU +- : "げ" U3052 # HIRAGANA LETTER GE +- : "ご" U3054 # HIRAGANA LETTER GO +- : "ざ" U3056 # HIRAGANA LETTER ZA +- : "じ" U3058 # HIRAGANA LETTER ZI +- : "ず" U305A # HIRAGANA LETTER ZU +- : "ぜ" U305C # HIRAGANA LETTER ZE +- : "ぞ" U305E # HIRAGANA LETTER ZO +- : "だ" U3060 # HIRAGANA LETTER DA +- : "ぢ" U3062 # HIRAGANA LETTER DI +- : "づ" U3065 # HIRAGANA LETTER DU +- : "で" U3067 # HIRAGANA LETTER DE +- : "ど" U3069 # HIRAGANA LETTER DO +- : "ば" U3070 # HIRAGANA LETTER BA +- : "ぱ" U3071 # HIRAGANA LETTER PA +- : "び" U3073 # HIRAGANA LETTER BI +- : "ぴ" U3074 # HIRAGANA LETTER PI +- : "ぶ" U3076 # HIRAGANA LETTER BU +- : "ぷ" U3077 # HIRAGANA LETTER PU +- : "べ" U3079 # HIRAGANA LETTER BE +- : "ぺ" U307A # HIRAGANA LETTER PE +- : "ぼ" U307C # HIRAGANA LETTER BO +- : "ぽ" U307D # HIRAGANA LETTER PO +- : "ゔ" U3094 # HIRAGANA LETTER VU +- : "ゞ" U309E # HIRAGANA VOICED ITERATION MARK +- : "ガ" U30AC # KATAKANA LETTER GA +- : "ギ" U30AE # KATAKANA LETTER GI +- : "グ" U30B0 # KATAKANA LETTER GU +- : "ゲ" U30B2 # KATAKANA LETTER GE +- : "ゴ" U30B4 # KATAKANA LETTER GO +- : "ザ" U30B6 # KATAKANA LETTER ZA +- : "ジ" U30B8 # KATAKANA LETTER ZI +- : "ズ" U30BA # KATAKANA LETTER ZU +- : "ゼ" U30BC # KATAKANA LETTER ZE +- : "ゾ" U30BE # KATAKANA LETTER ZO +- : "ダ" U30C0 # KATAKANA LETTER DA +- : "ヂ" U30C2 # KATAKANA LETTER DI +- : "ヅ" U30C5 # KATAKANA LETTER DU +- : "デ" U30C7 # KATAKANA LETTER DE +- : "ド" U30C9 # KATAKANA LETTER DO +- : "バ" U30D0 # KATAKANA LETTER BA +- : "パ" U30D1 # KATAKANA LETTER PA +- : "ビ" U30D3 # KATAKANA LETTER BI +- : "ピ" U30D4 # KATAKANA LETTER PI +- : "ブ" U30D6 # KATAKANA LETTER BU +- : "プ" U30D7 # KATAKANA LETTER PU +- : "ベ" U30D9 # KATAKANA LETTER BE +- : "ペ" U30DA # KATAKANA LETTER PE +- : "ボ" U30DC # KATAKANA LETTER BO +- : "ポ" U30DD # KATAKANA LETTER PO +- : "ヴ" U30F4 # KATAKANA LETTER VU +- : "ヷ" U30F7 # KATAKANA LETTER VA +- : "ヸ" U30F8 # KATAKANA LETTER VI +- : "ヹ" U30F9 # KATAKANA LETTER VE +- : "ヺ" U30FA # KATAKANA LETTER VO +- : "ヾ" U30FE # KATAKANA VOICED ITERATION MARK +- : "㆒" U3192 # IDEOGRAPHIC ANNOTATION ONE MARK +- : "㆒" U3192 # IDEOGRAPHIC ANNOTATION ONE MARK +- : "㆓" U3193 # IDEOGRAPHIC ANNOTATION TWO MARK +- : "㆓" U3193 # IDEOGRAPHIC ANNOTATION TWO MARK +- : "㆔" U3194 # IDEOGRAPHIC ANNOTATION THREE MARK +- : "㆔" U3194 # IDEOGRAPHIC ANNOTATION THREE MARK +- : "㆕" U3195 # IDEOGRAPHIC ANNOTATION FOUR MARK +- : "㆕" U3195 # IDEOGRAPHIC ANNOTATION FOUR MARK +- : "㆖" U3196 # IDEOGRAPHIC ANNOTATION TOP MARK +- : "㆖" U3196 # IDEOGRAPHIC ANNOTATION TOP MARK +- : "㆗" U3197 # IDEOGRAPHIC ANNOTATION MIDDLE MARK +- : "㆗" U3197 # IDEOGRAPHIC ANNOTATION MIDDLE MARK +- : "㆘" U3198 # IDEOGRAPHIC ANNOTATION BOTTOM MARK +- : "㆘" U3198 # IDEOGRAPHIC ANNOTATION BOTTOM MARK +- : "㆙" U3199 # IDEOGRAPHIC ANNOTATION FIRST MARK +- : "㆙" U3199 # IDEOGRAPHIC ANNOTATION FIRST MARK +- : "㆚" U319A # IDEOGRAPHIC ANNOTATION SECOND MARK +- : "㆚" U319A # IDEOGRAPHIC ANNOTATION SECOND MARK +- : "㆛" U319B # IDEOGRAPHIC ANNOTATION THIRD MARK +- : "㆛" U319B # IDEOGRAPHIC ANNOTATION THIRD MARK +- : "㆜" U319C # IDEOGRAPHIC ANNOTATION FOURTH MARK +- : "㆜" U319C # IDEOGRAPHIC ANNOTATION FOURTH MARK +- : "㆝" U319D # IDEOGRAPHIC ANNOTATION HEAVEN MARK +- : "㆝" U319D # IDEOGRAPHIC ANNOTATION HEAVEN MARK +- : "㆞" U319E # IDEOGRAPHIC ANNOTATION EARTH MARK +- : "㆞" U319E # IDEOGRAPHIC ANNOTATION EARTH MARK +- : "㆟" U319F # IDEOGRAPHIC ANNOTATION MAN MARK +- : "㆟" U319F # IDEOGRAPHIC ANNOTATION MAN MARK +- <2> <1> : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE +- <2> : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE +- <1> : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE +- : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE +- <1> : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE +- : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE +- <2> <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO +- <2> <3> : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE +- <2> : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE +- <3> : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE +- : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE +- <3> : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE +- : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE +- <2> <4> : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR +- <2> : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR +- <4> : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR +- : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR +- <4> : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR +- : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR +- <2> <5> : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE +- <2> : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE +- <5> : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE +- : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE +- <5> : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE +- : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE +- <2> <6> : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX +- <2> : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX +- <6> : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX +- : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX +- <6> : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX +- : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX +- <2> <7> : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN +- <2> : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN +- <7> : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN +- : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN +- <7> : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN +- : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN +- <2> <8> : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT +- <2> : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT +- <8> : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT +- : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT +- <8> : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT +- : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT +- <2> <9> : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE +- <2> : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE +- <9> : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE +- : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE +- <9> : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE +- : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE +- <3> <0> : "㉚" U325A # CIRCLED NUMBER THIRTY +- <3> : "㉚" U325A # CIRCLED NUMBER THIRTY +- <0> : "㉚" U325A # CIRCLED NUMBER THIRTY +- : "㉚" U325A # CIRCLED NUMBER THIRTY +- <3> <1> : "㉛" U325B # CIRCLED NUMBER THIRTY ONE +- <3> : "㉛" U325B # CIRCLED NUMBER THIRTY ONE +- <1> : "㉛" U325B # CIRCLED NUMBER THIRTY ONE +- : "㉛" U325B # CIRCLED NUMBER THIRTY ONE +- <3> <2> : "㉜" U325C # CIRCLED NUMBER THIRTY TWO +- <3> : "㉜" U325C # CIRCLED NUMBER THIRTY TWO +- <3> : "㉜" U325C # CIRCLED NUMBER THIRTY TWO +- <2> : "㉜" U325C # CIRCLED NUMBER THIRTY TWO +- : "㉜" U325C # CIRCLED NUMBER THIRTY TWO +- : "㉜" U325C # CIRCLED NUMBER THIRTY TWO +- <3> <3> : "㉝" U325D # CIRCLED NUMBER THIRTY THREE +- <3> : "㉝" U325D # CIRCLED NUMBER THIRTY THREE +- <3> : "㉝" U325D # CIRCLED NUMBER THIRTY THREE +- : "㉝" U325D # CIRCLED NUMBER THIRTY THREE +- <3> <4> : "㉞" U325E # CIRCLED NUMBER THIRTY FOUR +- <3> : "㉞" U325E # CIRCLED NUMBER THIRTY FOUR +- <4> : "㉞" U325E # CIRCLED NUMBER THIRTY FOUR +- : "㉞" U325E # CIRCLED NUMBER THIRTY FOUR +- <3> <5> : "㉟" U325F # CIRCLED NUMBER THIRTY FIVE +- <3> : "㉟" U325F # CIRCLED NUMBER THIRTY FIVE +- <5> : "㉟" U325F # CIRCLED NUMBER THIRTY FIVE +- : "㉟" U325F # CIRCLED NUMBER THIRTY FIVE +- : "㉠" U3260 # CIRCLED HANGUL KIYEOK +- : "㉡" U3261 # CIRCLED HANGUL NIEUN +- : "㉢" U3262 # CIRCLED HANGUL TIKEUT +- : "㉣" U3263 # CIRCLED HANGUL RIEUL +- : "㉤" U3264 # CIRCLED HANGUL MIEUM +- : "㉥" U3265 # CIRCLED HANGUL PIEUP +- : "㉦" U3266 # CIRCLED HANGUL SIOS +- : "㉧" U3267 # CIRCLED HANGUL IEUNG +- : "㉨" U3268 # CIRCLED HANGUL CIEUC +- : "㉩" U3269 # CIRCLED HANGUL CHIEUCH +- : "㉪" U326A # CIRCLED HANGUL KHIEUKH +- : "㉫" U326B # CIRCLED HANGUL THIEUTH +- : "㉬" U326C # CIRCLED HANGUL PHIEUPH +- : "㉭" U326D # CIRCLED HANGUL HIEUH +- : "㉮" U326E # CIRCLED HANGUL KIYEOK A +- : "㉯" U326F # CIRCLED HANGUL NIEUN A +- : "㉰" U3270 # CIRCLED HANGUL TIKEUT A +- : "㉱" U3271 # CIRCLED HANGUL RIEUL A +- : "㉲" U3272 # CIRCLED HANGUL MIEUM A +- : "㉳" U3273 # CIRCLED HANGUL PIEUP A +- : "㉴" U3274 # CIRCLED HANGUL SIOS A +- : "㉵" U3275 # CIRCLED HANGUL IEUNG A +- : "㉶" U3276 # CIRCLED HANGUL CIEUC A +- : "㉷" U3277 # CIRCLED HANGUL CHIEUCH A +- : "㉸" U3278 # CIRCLED HANGUL KHIEUKH A +- : "㉹" U3279 # CIRCLED HANGUL THIEUTH A +- : "㉺" U327A # CIRCLED HANGUL PHIEUPH A +- : "㉻" U327B # CIRCLED HANGUL HIEUH A +- : "㊀" U3280 # CIRCLED IDEOGRAPH ONE +- : "㊁" U3281 # CIRCLED IDEOGRAPH TWO +- : "㊂" U3282 # CIRCLED IDEOGRAPH THREE +- : "㊃" U3283 # CIRCLED IDEOGRAPH FOUR +- : "㊄" U3284 # CIRCLED IDEOGRAPH FIVE +- : "㊅" U3285 # CIRCLED IDEOGRAPH SIX +- : "㊆" U3286 # CIRCLED IDEOGRAPH SEVEN +- : "㊇" U3287 # CIRCLED IDEOGRAPH EIGHT +- : "㊈" U3288 # CIRCLED IDEOGRAPH NINE +- : "㊉" U3289 # CIRCLED IDEOGRAPH TEN +- : "㊊" U328A # CIRCLED IDEOGRAPH MOON +- : "㊋" U328B # CIRCLED IDEOGRAPH FIRE +- : "㊌" U328C # CIRCLED IDEOGRAPH WATER +- : "㊍" U328D # CIRCLED IDEOGRAPH WOOD +- : "㊎" U328E # CIRCLED IDEOGRAPH METAL +- : "㊏" U328F # CIRCLED IDEOGRAPH EARTH +- : "㊐" U3290 # CIRCLED IDEOGRAPH SUN +- : "㊑" U3291 # CIRCLED IDEOGRAPH STOCK +- : "㊒" U3292 # CIRCLED IDEOGRAPH HAVE +- : "㊓" U3293 # CIRCLED IDEOGRAPH SOCIETY +- : "㊔" U3294 # CIRCLED IDEOGRAPH NAME +- : "㊕" U3295 # CIRCLED IDEOGRAPH SPECIAL +- : "㊖" U3296 # CIRCLED IDEOGRAPH FINANCIAL +- : "㊗" U3297 # CIRCLED IDEOGRAPH CONGRATULATION +- : "㊘" U3298 # CIRCLED IDEOGRAPH LABOR +- : "㊙" U3299 # CIRCLED IDEOGRAPH SECRET +- : "㊚" U329A # CIRCLED IDEOGRAPH MALE +- : "㊛" U329B # CIRCLED IDEOGRAPH FEMALE +- : "㊜" U329C # CIRCLED IDEOGRAPH SUITABLE +- : "㊝" U329D # CIRCLED IDEOGRAPH EXCELLENT +- : "㊞" U329E # CIRCLED IDEOGRAPH PRINT +- : "㊟" U329F # CIRCLED IDEOGRAPH ATTENTION +- : "㊠" U32A0 # CIRCLED IDEOGRAPH ITEM +- : "㊡" U32A1 # CIRCLED IDEOGRAPH REST +- : "㊢" U32A2 # CIRCLED IDEOGRAPH COPY +- : "㊣" U32A3 # CIRCLED IDEOGRAPH CORRECT +- : "㊤" U32A4 # CIRCLED IDEOGRAPH HIGH +- : "㊥" U32A5 # CIRCLED IDEOGRAPH CENTRE +- : "㊦" U32A6 # CIRCLED IDEOGRAPH LOW +- : "㊧" U32A7 # CIRCLED IDEOGRAPH LEFT +- : "㊨" U32A8 # CIRCLED IDEOGRAPH RIGHT +- : "㊩" U32A9 # CIRCLED IDEOGRAPH MEDICINE +- : "㊪" U32AA # CIRCLED IDEOGRAPH RELIGION +- : "㊫" U32AB # CIRCLED IDEOGRAPH STUDY +- : "㊬" U32AC # CIRCLED IDEOGRAPH SUPERVISE +- : "㊭" U32AD # CIRCLED IDEOGRAPH ENTERPRISE +- : "㊮" U32AE # CIRCLED IDEOGRAPH RESOURCE +- : "㊯" U32AF # CIRCLED IDEOGRAPH ALLIANCE +- : "㊰" U32B0 # CIRCLED IDEOGRAPH NIGHT +- <3> <6> : "㊱" U32B1 # CIRCLED NUMBER THIRTY SIX +- <3> : "㊱" U32B1 # CIRCLED NUMBER THIRTY SIX +- <6> : "㊱" U32B1 # CIRCLED NUMBER THIRTY SIX +- : "㊱" U32B1 # CIRCLED NUMBER THIRTY SIX +- <3> <7> : "㊲" U32B2 # CIRCLED NUMBER THIRTY SEVEN +- <3> : "㊲" U32B2 # CIRCLED NUMBER THIRTY SEVEN +- <7> : "㊲" U32B2 # CIRCLED NUMBER THIRTY SEVEN +- : "㊲" U32B2 # CIRCLED NUMBER THIRTY SEVEN +- <3> <8> : "㊳" U32B3 # CIRCLED NUMBER THIRTY EIGHT +- <3> : "㊳" U32B3 # CIRCLED NUMBER THIRTY EIGHT +- <8> : "㊳" U32B3 # CIRCLED NUMBER THIRTY EIGHT +- : "㊳" U32B3 # CIRCLED NUMBER THIRTY EIGHT +- <3> <9> : "㊴" U32B4 # CIRCLED NUMBER THIRTY NINE +- <3> : "㊴" U32B4 # CIRCLED NUMBER THIRTY NINE +- <9> : "㊴" U32B4 # CIRCLED NUMBER THIRTY NINE +- : "㊴" U32B4 # CIRCLED NUMBER THIRTY NINE +- <4> <0> : "㊵" U32B5 # CIRCLED NUMBER FORTY +- <4> : "㊵" U32B5 # CIRCLED NUMBER FORTY +- <0> : "㊵" U32B5 # CIRCLED NUMBER FORTY +- : "㊵" U32B5 # CIRCLED NUMBER FORTY +- <4> <1> : "㊶" U32B6 # CIRCLED NUMBER FORTY ONE +- <4> : "㊶" U32B6 # CIRCLED NUMBER FORTY ONE +- <1> : "㊶" U32B6 # CIRCLED NUMBER FORTY ONE +- : "㊶" U32B6 # CIRCLED NUMBER FORTY ONE +- <4> <2> : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO +- <4> : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO +- <4> : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO +- <2> : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO +- : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO +- : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO +- <4> <3> : "㊸" U32B8 # CIRCLED NUMBER FORTY THREE +- <4> : "㊸" U32B8 # CIRCLED NUMBER FORTY THREE +- <3> : "㊸" U32B8 # CIRCLED NUMBER FORTY THREE +- : "㊸" U32B8 # CIRCLED NUMBER FORTY THREE +- <4> <4> : "㊹" U32B9 # CIRCLED NUMBER FORTY FOUR +- <4> : "㊹" U32B9 # CIRCLED NUMBER FORTY FOUR +- <4> : "㊹" U32B9 # CIRCLED NUMBER FORTY FOUR +- : "㊹" U32B9 # CIRCLED NUMBER FORTY FOUR +- <4> <5> : "㊺" U32BA # CIRCLED NUMBER FORTY FIVE +- <4> : "㊺" U32BA # CIRCLED NUMBER FORTY FIVE +- <5> : "㊺" U32BA # CIRCLED NUMBER FORTY FIVE +- : "㊺" U32BA # CIRCLED NUMBER FORTY FIVE +- <4> <6> : "㊻" U32BB # CIRCLED NUMBER FORTY SIX +- <4> : "㊻" U32BB # CIRCLED NUMBER FORTY SIX +- <6> : "㊻" U32BB # CIRCLED NUMBER FORTY SIX +- : "㊻" U32BB # CIRCLED NUMBER FORTY SIX +- <4> <7> : "㊼" U32BC # CIRCLED NUMBER FORTY SEVEN +- <4> : "㊼" U32BC # CIRCLED NUMBER FORTY SEVEN +- <7> : "㊼" U32BC # CIRCLED NUMBER FORTY SEVEN +- : "㊼" U32BC # CIRCLED NUMBER FORTY SEVEN +- <4> <8> : "㊽" U32BD # CIRCLED NUMBER FORTY EIGHT +- <4> : "㊽" U32BD # CIRCLED NUMBER FORTY EIGHT +- <8> : "㊽" U32BD # CIRCLED NUMBER FORTY EIGHT +- : "㊽" U32BD # CIRCLED NUMBER FORTY EIGHT +- <4> <9> : "㊾" U32BE # CIRCLED NUMBER FORTY NINE +- <4> : "㊾" U32BE # CIRCLED NUMBER FORTY NINE +- <9> : "㊾" U32BE # CIRCLED NUMBER FORTY NINE +- : "㊾" U32BE # CIRCLED NUMBER FORTY NINE +- <5> <0> : "㊿" U32BF # CIRCLED NUMBER FIFTY +- <5> : "㊿" U32BF # CIRCLED NUMBER FIFTY +- <0> : "㊿" U32BF # CIRCLED NUMBER FIFTY +- : "㊿" U32BF # CIRCLED NUMBER FIFTY +- : "㋐" U32D0 # CIRCLED KATAKANA A +- : "㋑" U32D1 # CIRCLED KATAKANA I +- : "㋒" U32D2 # CIRCLED KATAKANA U +- : "㋓" U32D3 # CIRCLED KATAKANA E +- : "㋔" U32D4 # CIRCLED KATAKANA O +- : "㋕" U32D5 # CIRCLED KATAKANA KA +- : "㋖" U32D6 # CIRCLED KATAKANA KI +- : "㋗" U32D7 # CIRCLED KATAKANA KU +- : "㋘" U32D8 # CIRCLED KATAKANA KE +- : "㋙" U32D9 # CIRCLED KATAKANA KO +- : "㋚" U32DA # CIRCLED KATAKANA SA +- : "㋛" U32DB # CIRCLED KATAKANA SI +- : "㋜" U32DC # CIRCLED KATAKANA SU +- : "㋝" U32DD # CIRCLED KATAKANA SE +- : "㋞" U32DE # CIRCLED KATAKANA SO +- : "㋟" U32DF # CIRCLED KATAKANA TA +- : "㋠" U32E0 # CIRCLED KATAKANA TI +- : "㋡" U32E1 # CIRCLED KATAKANA TU +- : "㋢" U32E2 # CIRCLED KATAKANA TE +- : "㋣" U32E3 # CIRCLED KATAKANA TO +- : "㋤" U32E4 # CIRCLED KATAKANA NA +- : "㋥" U32E5 # CIRCLED KATAKANA NI +- : "㋦" U32E6 # CIRCLED KATAKANA NU +- : "㋧" U32E7 # CIRCLED KATAKANA NE +- : "㋨" U32E8 # CIRCLED KATAKANA NO +- : "㋩" U32E9 # CIRCLED KATAKANA HA +- : "㋪" U32EA # CIRCLED KATAKANA HI +- : "㋫" U32EB # CIRCLED KATAKANA HU +- : "㋬" U32EC # CIRCLED KATAKANA HE +- : "㋭" U32ED # CIRCLED KATAKANA HO +- : "㋮" U32EE # CIRCLED KATAKANA MA +- : "㋯" U32EF # CIRCLED KATAKANA MI +- : "㋰" U32F0 # CIRCLED KATAKANA MU +- : "㋱" U32F1 # CIRCLED KATAKANA ME +- : "㋲" U32F2 # CIRCLED KATAKANA MO +- : "㋳" U32F3 # CIRCLED KATAKANA YA +- : "㋴" U32F4 # CIRCLED KATAKANA YU +- : "㋵" U32F5 # CIRCLED KATAKANA YO +- : "㋶" U32F6 # CIRCLED KATAKANA RA +- : "㋷" U32F7 # CIRCLED KATAKANA RI +- : "㋸" U32F8 # CIRCLED KATAKANA RU +- : "㋹" U32F9 # CIRCLED KATAKANA RE +- : "㋺" U32FA # CIRCLED KATAKANA RO +- : "㋻" U32FB # CIRCLED KATAKANA WA +- : "㋼" U32FC # CIRCLED KATAKANA WI +- : "㋽" U32FD # CIRCLED KATAKANA WE +- : "㋾" U32FE # CIRCLED KATAKANA WO +- : "יִ" UFB1D # HEBREW LETTER YOD WITH HIRIQ +- : "ײַ" UFB1F # HEBREW LIGATURE YIDDISH YOD YOD PATAH +- : "שׁ" UFB2A # HEBREW LETTER SHIN WITH SHIN DOT +- : "שׂ" UFB2B # HEBREW LETTER SHIN WITH SIN DOT +- : "שּׁ" UFB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT +- : "שּׁ" UFB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT +- : "שּׂ" UFB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT +- : "שּׂ" UFB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT +- : "אַ" UFB2E # HEBREW LETTER ALEF WITH PATAH +- : "אָ" UFB2F # HEBREW LETTER ALEF WITH QAMATS +- : "אּ" UFB30 # HEBREW LETTER ALEF WITH MAPIQ +- : "בּ" UFB31 # HEBREW LETTER BET WITH DAGESH +- : "בּ" UFB31 # HEBREW LETTER BET WITH DAGESH +- : "גּ" UFB32 # HEBREW LETTER GIMEL WITH DAGESH +- : "גּ" UFB32 # HEBREW LETTER GIMEL WITH DAGESH +- : "דּ" UFB33 # HEBREW LETTER DALET WITH DAGESH +- : "דּ" UFB33 # HEBREW LETTER DALET WITH DAGESH +- : "הּ" UFB34 # HEBREW LETTER HE WITH MAPIQ +- : "וּ" UFB35 # HEBREW LETTER VAV WITH DAGESH +- : "זּ" UFB36 # HEBREW LETTER ZAYIN WITH DAGESH +- : "זּ" UFB36 # HEBREW LETTER ZAYIN WITH DAGESH +- : "טּ" UFB38 # HEBREW LETTER TET WITH DAGESH +- : "טּ" UFB38 # HEBREW LETTER TET WITH DAGESH +- : "יּ" UFB39 # HEBREW LETTER YOD WITH DAGESH +- : "ךּ" UFB3A # HEBREW LETTER FINAL KAF WITH DAGESH +- : "כּ" UFB3B # HEBREW LETTER KAF WITH DAGESH +- : "לּ" UFB3C # HEBREW LETTER LAMED WITH DAGESH +- : "מּ" UFB3E # HEBREW LETTER MEM WITH DAGESH +- : "נּ" UFB40 # HEBREW LETTER NUN WITH DAGESH +- : "סּ" UFB41 # HEBREW LETTER SAMEKH WITH DAGESH +- : "סּ" UFB41 # HEBREW LETTER SAMEKH WITH DAGESH +- : "ףּ" UFB43 # HEBREW LETTER FINAL PE WITH DAGESH +- : "פּ" UFB44 # HEBREW LETTER PE WITH DAGESH +- : "צּ" UFB46 # HEBREW LETTER TSADI WITH DAGESH +- : "צּ" UFB46 # HEBREW LETTER TSADI WITH DAGESH +- : "קּ" UFB47 # HEBREW LETTER QOF WITH DAGESH +- : "קּ" UFB47 # HEBREW LETTER QOF WITH DAGESH +- : "רּ" UFB48 # HEBREW LETTER RESH WITH DAGESH +- : "שּ" UFB49 # HEBREW LETTER SHIN WITH DAGESH +- : "תּ" UFB4A # HEBREW LETTER TAV WITH DAGESH +- : "תּ" UFB4A # HEBREW LETTER TAV WITH DAGESH +- : "וֹ" UFB4B # HEBREW LETTER VAV WITH HOLAM +- : "בֿ" UFB4C # HEBREW LETTER BET WITH RAFE +- : "בֿ" UFB4C # HEBREW LETTER BET WITH RAFE +- : "כֿ" UFB4D # HEBREW LETTER KAF WITH RAFE +- : "פֿ" UFB4E # HEBREW LETTER PE WITH RAFE +- : "𝅗𝅥" U1D15E # MUSICAL SYMBOL HALF NOTE +- : "𝅘𝅥" U1D15F # MUSICAL SYMBOL QUARTER NOTE +- : "𝅘𝅥𝅮" U1D160 # MUSICAL SYMBOL EIGHTH NOTE +-XCOMM : "𝅘𝅥𝅮" U1D160 # MUSICAL SYMBOL EIGHTH NOTE +- : "𝅘𝅥𝅯" U1D161 # MUSICAL SYMBOL SIXTEENTH NOTE +-XCOMM : "𝅘𝅥𝅯" U1D161 # MUSICAL SYMBOL SIXTEENTH NOTE +- : "𝅘𝅥𝅰" U1D162 # MUSICAL SYMBOL THIRTY-SECOND NOTE +-XCOMM : "𝅘𝅥𝅰" U1D162 # MUSICAL SYMBOL THIRTY-SECOND NOTE +- : "𝅘𝅥𝅱" U1D163 # MUSICAL SYMBOL SIXTY-FOURTH NOTE +-XCOMM : "𝅘𝅥𝅱" U1D163 # MUSICAL SYMBOL SIXTY-FOURTH NOTE +- : "𝅘𝅥𝅲" U1D164 # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE +-XCOMM : "𝅘𝅥𝅲" U1D164 # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE +- : "𝆹𝅥" U1D1BB # MUSICAL SYMBOL MINIMA +- : "𝆺𝅥" U1D1BC # MUSICAL SYMBOL MINIMA BLACK +- : "𝆹𝅥𝅮" U1D1BD # MUSICAL SYMBOL SEMIMINIMA WHITE +-XCOMM : "𝆹𝅥𝅮" U1D1BD # MUSICAL SYMBOL SEMIMINIMA WHITE +- : "𝆺𝅥𝅮" U1D1BE # MUSICAL SYMBOL SEMIMINIMA BLACK +-XCOMM : "𝆺𝅥𝅮" U1D1BE # MUSICAL SYMBOL SEMIMINIMA BLACK +- : "𝆹𝅥𝅯" U1D1BF # MUSICAL SYMBOL FUSA WHITE +-XCOMM : "𝆹𝅥𝅯" U1D1BF # MUSICAL SYMBOL FUSA WHITE +- : "𝆺𝅥𝅯" U1D1C0 # MUSICAL SYMBOL FUSA BLACK +-XCOMM : "𝆺𝅥𝅯" U1D1C0 # MUSICAL SYMBOL FUSA BLACK +- +-XCOMM +-XCOMM Khmer digraphs +-XCOMM +- +- : "ាំ" +- : "ោះ" +- : "េះ" +- : "ុំ" +- : "ុះ" +- +-XCOMM +-XCOMM Arabic Lam-Alef ligatures +-XCOMM +- +- : "لا" # ARABIC LIGATURE LAM WITH ALEF +- : "لأ" # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE +- : "لإ" # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW +- : "لآ" # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE --- libx11-1.4.99.1.orig/debian/patches/CVE-2013-1981.patch +++ libx11-1.4.99.1/debian/patches/CVE-2013-1981.patch @@ -0,0 +1,2388 @@ +Description: fix denial of service and possible code execution via + incorrect memory size calculations +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=56448a626fc90bcf75a1fa2f4c294b0eb1f23bd6 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=d7f04c340ade3834e603c23d543132e1ee4e0c63 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=9f5d83706543696fc944c1835a403938c06f2cc5 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=6df8a63d34b7514077188e2062a13774f920c085 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=5669a220816b7d58fcaf0c302ead16fbe5c87817 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=39515b7c3ba8cae9021bf6695e378ae19487082f +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=1f6a3dbf699b85c0ea715ef21de7e7095a714e12 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=2cd62b5eb99ffbb2fce99f3c459455e630b35bf7 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=90fd5abac2faca86f9f100353a3c9c7b89f31484 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=076428918e6c35f66b9b55c3fa097ff06496d155 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=460e8a223b87d4fa0ea1e97823e998a770e0f2a2 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=164bf4dfe839b1cc75cdeee378a243d04a8200e4 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=79d8dc08eb98842173ce239b9dd60df0e9e9ae72 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=833f6b70bc789d33607f6dbfee9e0a4178ec4b59 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=a351b8103b2ba78882e1c309e85893ca3abe2073 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=0b0f5d4358c3de7563d6af03f0d2ce454702a06a +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=192bbb9e2fc45df4e17b35b6d14ea0eb418dbd39 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=b2c86b582c58f50c7b14da01cf7ebd20ef12a6b2 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=d38527e25f8b6e2f1174ecc21260c5c5416f972e +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=12ad4c6432496897ff000eb7cfecd0fb4b290331 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=3fe4bea086149f06a142a8f1d575f627ec1e22c7 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=3131740513133a9ff7cb12123d29ceb18584fc38 +Origin: upstream, http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=2820100bf8ba130b94253f415e7fa5ac28bb2037 + +Index: libx11-1.4.99.1/include/X11/Xlibint.h +=================================================================== +--- libx11-1.4.99.1.orig/include/X11/Xlibint.h 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/include/X11/Xlibint.h 2013-05-29 16:18:48.088182372 -0400 +@@ -860,6 +860,15 @@ + struct _XExten *next_flush; /* next in list of those with flushes */ + } _XExtension; + ++/* Temporary definition until we can depend on an xproto release with it */ ++#ifdef _X_COLD ++# define _XLIB_COLD _X_COLD ++#elif defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 403) /* 4.3+ */ ++# define _XLIB_COLD __attribute__((__cold__)) ++#else ++# define _XLIB_COLD /* nothing */ ++#endif ++ + /* extension hooks */ + + #ifdef DataRoutineIsProcedure +@@ -882,7 +891,14 @@ + extern void _XEatData( + Display* /* dpy */, + unsigned long /* n */ +-); ++) _XLIB_COLD; ++extern void _XEatDataWords( ++ Display* /* dpy */, ++ unsigned long /* n */ ++) _XLIB_COLD; ++#if defined(__SUNPRO_C) /* Studio compiler alternative to "cold" attribute */ ++# pragma rarely_called(_XEatData, _XEatDataWords) ++#endif + extern char *_XAllocScratch( + Display* /* dpy */, + unsigned long /* nbytes */ +Index: libx11-1.4.99.1/modules/im/ximcp/Makefile.am +=================================================================== +--- libx11-1.4.99.1.orig/modules/im/ximcp/Makefile.am 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/modules/im/ximcp/Makefile.am 2013-05-29 16:18:48.088182372 -0400 +@@ -6,6 +6,7 @@ + -I$(top_srcdir)/src/xcms \ + -I$(top_srcdir)/src/xkb \ + -I$(top_srcdir)/src/xlibi18n \ ++ -I$(top_srcdir)/src \ + -D_BSD_SOURCE -DXIM_t -DTRANS_CLIENT + + AM_CFLAGS= \ +Index: libx11-1.4.99.1/modules/im/ximcp/imLcPrs.c +=================================================================== +--- libx11-1.4.99.1.orig/modules/im/ximcp/imLcPrs.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/modules/im/ximcp/imLcPrs.c 2013-05-29 16:18:48.088182372 -0400 +@@ -41,6 +41,8 @@ + #include "Ximint.h" + #include + #include ++#include ++#include "pathmax.h" + + #define XLC_BUFSIZE 256 + +@@ -304,9 +306,9 @@ + TransFileName(Xim im, char *name) + { + char *home = NULL, *lcCompose = NULL; +- char dir[XLC_BUFSIZE]; +- char *i = name, *ret, *j; +- int l = 0; ++ char dir[XLC_BUFSIZE] = ""; ++ char *i = name, *ret = NULL, *j; ++ size_t l = 0; + + while (*i) { + if (*i == '%') { +@@ -316,30 +318,51 @@ + l++; + break; + case 'H': +- home = getenv("HOME"); +- if (home) +- l += strlen(home); ++ if (home == NULL) ++ home = getenv("HOME"); ++ if (home) { ++ size_t Hsize = strlen(home); ++ if (Hsize > PATH_MAX) ++ /* your home directory length is ridiculous */ ++ goto end; ++ l += Hsize; ++ } + break; + case 'L': + if (lcCompose == NULL) + lcCompose = _XlcFileName(im->core.lcd, COMPOSE_FILE); +- if (lcCompose) +- l += strlen(lcCompose); ++ if (lcCompose) { ++ size_t Lsize = strlen(lcCompose); ++ if (Lsize > PATH_MAX) ++ /* your compose pathname length is ridiculous */ ++ goto end; ++ l += Lsize; ++ } + break; + case 'S': +- xlocaledir(dir, XLC_BUFSIZE); +- l += strlen(dir); ++ if (dir[0] == '\0') ++ xlocaledir(dir, XLC_BUFSIZE); ++ if (dir[0]) { ++ size_t Ssize = strlen(dir); ++ if (Ssize > PATH_MAX) ++ /* your locale directory path length is ridiculous */ ++ goto end; ++ l += Ssize; ++ } + break; + } + } else { + l++; + } + i++; ++ if (l > PATH_MAX) ++ /* your expanded path length is ridiculous */ ++ goto end; + } + + j = ret = Xmalloc(l+1); + if (ret == NULL) +- return ret; ++ goto end; + i = name; + while (*i) { + if (*i == '%') { +@@ -371,6 +394,7 @@ + } + } + *j = '\0'; ++end: + Xfree(lcCompose); + return ret; + } +@@ -674,6 +698,8 @@ + + if (fstat (fileno (fp), &st) != -1) { + unsigned long size = (unsigned long) st.st_size; ++ if (st.st_size >= INT_MAX) ++ return; + if (size <= sizeof tb) tbp = tb; + else tbp = malloc (size); + +Index: libx11-1.4.99.1/src/Context.c +=================================================================== +--- libx11-1.4.99.1.orig/src/Context.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/Context.c 2013-05-29 16:18:48.092182372 -0400 +@@ -111,7 +111,7 @@ + otable = db->table; + for (i = INITHASHMASK+1; (i + i) < db->numentries; ) + i += i; +- db->table = (TableEntry *) Xcalloc((unsigned)i, sizeof(TableEntry)); ++ db->table = Xcalloc(i, sizeof(TableEntry)); + if (!db->table) { + db->table = otable; + return; +@@ -180,11 +180,11 @@ + UnlockDisplay(display); + } + if (!db) { +- db = (DB) Xmalloc(sizeof(DBRec)); ++ db = Xmalloc(sizeof(DBRec)); + if (!db) + return XCNOMEM; + db->mask = INITHASHMASK; +- db->table = (TableEntry *)Xcalloc(db->mask + 1, sizeof(TableEntry)); ++ db->table = Xcalloc(db->mask + 1, sizeof(TableEntry)); + if (!db->table) { + Xfree((char *)db); + return XCNOMEM; +@@ -210,7 +210,7 @@ + return 0; + } + } +- entry = (TableEntry) Xmalloc(sizeof(TableEntryRec)); ++ entry = Xmalloc(sizeof(TableEntryRec)); + if (!entry) + return XCNOMEM; + entry->rid = rid; +Index: libx11-1.4.99.1/src/CrGC.c +=================================================================== +--- libx11-1.4.99.1.orig/src/CrGC.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/CrGC.c 2013-05-29 16:18:48.092182372 -0400 +@@ -72,7 +72,7 @@ + register _XExtension *ext; + + LockDisplay(dpy); +- if ((gc = (GC)Xmalloc (sizeof(struct _XGC))) == NULL) { ++ if ((gc = Xmalloc (sizeof(struct _XGC))) == NULL) { + UnlockDisplay(dpy); + SyncHandle(); + return (NULL); +Index: libx11-1.4.99.1/src/Depths.c +=================================================================== +--- libx11-1.4.99.1.orig/src/Depths.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/Depths.c 2013-05-29 16:18:48.092182372 -0400 +@@ -49,7 +49,7 @@ + register Depth *dp; + register int i; + +- depths = (int *) Xmalloc (count * sizeof(int)); ++ depths = Xmalloc (count * sizeof(int)); + if (!depths) return NULL; + for (i = 0, dp = scr->depths; i < count; i++, dp++) + depths[i] = dp->depth; +Index: libx11-1.4.99.1/src/FSWrap.c +=================================================================== +--- libx11-1.4.99.1.orig/src/FSWrap.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/FSWrap.c 2013-05-29 16:19:09.028182172 -0400 +@@ -112,7 +112,7 @@ + if (!*ptr) + break; + } +- if (!(list = (char **) Xmalloc((unsigned)sizeof(char *) * (*num + 1)))) { ++ if (!(list = Xmalloc(sizeof(char *) * (*num + 1)))) { + Xfree(psave); + return (char **)NULL; + } +@@ -130,10 +130,10 @@ + char **string_list_ret, **list_src, **list_dst, *dst; + int length, count; + +- if (string_list == NULL || list_count == 0) ++ if (string_list == NULL || list_count <= 0) + return (char **) NULL; + +- string_list_ret = (char **) Xmalloc(sizeof(char *) * list_count); ++ string_list_ret = Xmalloc(sizeof(char *) * list_count); + if (string_list_ret == NULL) + return (char **) NULL; + +@@ -142,7 +142,7 @@ + for (length = 0; count-- > 0; list_src++) + length += strlen(*list_src) + 1; + +- dst = (char *) Xmalloc(length); ++ dst = Xmalloc(length); + if (dst == NULL) { + Xfree(string_list_ret); + return (char **) NULL; +Index: libx11-1.4.99.1/src/Font.c +=================================================================== +--- libx11-1.4.99.1.orig/src/Font.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/Font.c 2013-05-29 16:18:48.092182372 -0400 +@@ -31,6 +31,7 @@ + #include + #endif + #include "Xlibint.h" ++#include + + #if defined(XF86BIGFONT) && !defined(MUSTCOPY) + #define USE_XF86BIGFONT +@@ -183,7 +184,8 @@ + unsigned long seq) + { + register XFontStruct *fs; +- register long nbytes; ++ unsigned long nbytes; ++ unsigned long reply_left; /* unused data words left in reply buffer */ + xQueryFontReply reply; + register xResourceReq *req; + register _XExtension *ext; +@@ -211,9 +213,10 @@ + } + if (seq) + DeqAsyncHandler(dpy, &async); +- if (! (fs = (XFontStruct *) Xmalloc (sizeof (XFontStruct)))) { +- _XEatData(dpy, (unsigned long)(reply.nFontProps * SIZEOF(xFontProp) + +- reply.nCharInfos * SIZEOF(xCharInfo))); ++ reply_left = reply.length - ++ ((SIZEOF(xQueryFontReply) - SIZEOF(xReply)) >> 2); ++ if (! (fs = Xmalloc (sizeof (XFontStruct)))) { ++ _XEatDataWords(dpy, reply_left); + return (XFontStruct *)NULL; + } + fs->ext_data = NULL; +@@ -261,16 +264,19 @@ + */ + fs->properties = NULL; + if (fs->n_properties > 0) { +- nbytes = reply.nFontProps * sizeof(XFontProp); +- fs->properties = (XFontProp *) Xmalloc ((unsigned) nbytes); ++ /* nFontProps is a CARD16 */ + nbytes = reply.nFontProps * SIZEOF(xFontProp); ++ if ((nbytes >> 2) <= reply_left) { ++ size_t pbytes = reply.nFontProps * sizeof(XFontProp); ++ fs->properties = Xmalloc (pbytes); ++ } + if (! fs->properties) { + Xfree((char *) fs); +- _XEatData(dpy, (unsigned long) +- (nbytes + reply.nCharInfos * SIZEOF(xCharInfo))); ++ _XEatDataWords(dpy, reply_left); + return (XFontStruct *)NULL; + } + _XRead32 (dpy, (long *)fs->properties, nbytes); ++ reply_left -= (nbytes >> 2); + } + /* + * If no characters in font, then it is a bad font, but +@@ -279,12 +285,18 @@ + /* have to unpack charinfos on some machines (CRAY) */ + fs->per_char = NULL; + if (reply.nCharInfos > 0){ +- nbytes = reply.nCharInfos * sizeof(XCharStruct); +- if (! (fs->per_char = (XCharStruct *) Xmalloc ((unsigned) nbytes))) { ++ /* nCharInfos is a CARD32 */ ++ if (reply.nCharInfos < (INT_MAX / sizeof(XCharStruct))) { ++ nbytes = reply.nCharInfos * SIZEOF(xCharInfo); ++ if ((nbytes >> 2) <= reply_left) { ++ size_t cibytes = reply.nCharInfos * sizeof(XCharStruct); ++ fs->per_char = Xmalloc (cibytes); ++ } ++ } ++ if (! fs->per_char) { + if (fs->properties) Xfree((char *) fs->properties); + Xfree((char *) fs); +- _XEatData(dpy, (unsigned long) +- (reply.nCharInfos * SIZEOF(xCharInfo))); ++ _XEatDataWords(dpy, reply_left); + return (XFontStruct *)NULL; + } + +@@ -306,7 +318,6 @@ + } + } + #else +- nbytes = reply.nCharInfos * SIZEOF(xCharInfo); + _XRead16 (dpy, (char *)fs->per_char, nbytes); + #endif + } +@@ -354,7 +365,7 @@ + if (pData) + return (XF86BigfontCodes *) pData->private_data; + +- pData = (XExtData *) Xmalloc(sizeof(XExtData) + sizeof(XF86BigfontCodes)); ++ pData = Xmalloc(sizeof(XExtData) + sizeof(XF86BigfontCodes)); + if (!pData) { + /* Out of luck. */ + return (XF86BigfontCodes *) NULL; +@@ -434,7 +445,8 @@ + unsigned long seq) + { + register XFontStruct *fs; +- register long nbytes; ++ unsigned long nbytes; ++ unsigned long reply_left; /* unused data left in reply buffer */ + xXF86BigfontQueryFontReply reply; + register xXF86BigfontQueryFontReq *req; + register _XExtension *ext; +@@ -487,13 +499,10 @@ + DeqAsyncHandler(dpy, &async2); + if (seq) + DeqAsyncHandler(dpy, &async1); +- if (! (fs = (XFontStruct *) Xmalloc (sizeof (XFontStruct)))) { +- _XEatData(dpy, +- reply.nFontProps * SIZEOF(xFontProp) +- + (reply.nCharInfos > 0 && reply.shmid == (CARD32)(-1) +- ? reply.nUniqCharInfos * SIZEOF(xCharInfo) +- + (reply.nCharInfos+1)/2 * 2 * sizeof(CARD16) +- : 0)); ++ reply_left = reply.length - ++ ((SIZEOF(xXF86BigfontQueryFontReply) - SIZEOF(xReply)) >> 2); ++ if (! (fs = Xmalloc (sizeof (XFontStruct)))) { ++ _XEatDataWords(dpy, reply_left); + return (XFontStruct *)NULL; + } + fs->ext_data = NULL; +@@ -519,23 +528,33 @@ + */ + fs->properties = NULL; + if (fs->n_properties > 0) { +- nbytes = reply.nFontProps * sizeof(XFontProp); +- fs->properties = (XFontProp *) Xmalloc ((unsigned) nbytes); ++ /* nFontProps is a CARD16 */ + nbytes = reply.nFontProps * SIZEOF(xFontProp); ++ if ((nbytes >> 2) <= reply_left) { ++ size_t pbytes = reply.nFontProps * sizeof(XFontProp); ++ fs->properties = Xmalloc (pbytes); ++ } + if (! fs->properties) { + Xfree((char *) fs); +- _XEatData(dpy, +- nbytes +- + (reply.nCharInfos > 0 && reply.shmid == (CARD32)(-1) +- ? reply.nUniqCharInfos * SIZEOF(xCharInfo) +- + (reply.nCharInfos+1)/2 * 2 * sizeof(CARD16) +- : 0)); ++ _XEatDataWords(dpy, reply_left); + return (XFontStruct *)NULL; + } + _XRead32 (dpy, (long *)fs->properties, nbytes); ++ reply_left -= (nbytes >> 2); + } + + fs->per_char = NULL; ++#ifndef LONG64 ++ /* compares each part to half the maximum, which should be far more than ++ any real font needs, so the combined total doesn't overflow either */ ++ if (reply.nUniqCharInfos > ((ULONG_MAX / 2) / SIZEOF(xCharInfo)) || ++ reply.nCharInfos > ((ULONG_MAX / 2) / sizeof(CARD16))) { ++ Xfree((char *) fs->properties); ++ Xfree((char *) fs); ++ _XEatDataWords(dpy, reply_left); ++ return (XFontStruct *)NULL; ++ } ++#endif + if (reply.nCharInfos > 0) { + /* fprintf(stderr, "received font metrics, nCharInfos = %d, nUniqCharInfos = %d, shmid = %d\n", reply.nCharInfos, reply.nUniqCharInfos, reply.shmid); */ + if (reply.shmid == (CARD32)(-1)) { +@@ -545,18 +564,18 @@ + + nbytes = reply.nUniqCharInfos * SIZEOF(xCharInfo) + + (reply.nCharInfos+1)/2 * 2 * sizeof(CARD16); +- pUniqCI = (xCharInfo *) Xmalloc (nbytes); ++ pUniqCI = Xmalloc (nbytes); + if (!pUniqCI) { + if (fs->properties) Xfree((char *) fs->properties); + Xfree((char *) fs); +- _XEatData(dpy, nbytes); ++ _XEatDataWords(dpy, reply_left); + return (XFontStruct *)NULL; + } +- if (! (fs->per_char = (XCharStruct *) Xmalloc (reply.nCharInfos * sizeof(XCharStruct)))) { ++ if (! (fs->per_char = Xmalloc (reply.nCharInfos * sizeof(XCharStruct)))) { + Xfree((char *) pUniqCI); + if (fs->properties) Xfree((char *) fs->properties); + Xfree((char *) fs); +- _XEatData(dpy, nbytes); ++ _XEatDataWords(dpy, reply_left); + return (XFontStruct *)NULL; + } + _XRead16 (dpy, (char *) pUniqCI, nbytes); +@@ -579,7 +598,7 @@ + XEDataObject fs_union; + char *addr; + +- pData = (XExtData *) Xmalloc(sizeof(XExtData)); ++ pData = Xmalloc(sizeof(XExtData)); + if (!pData) { + if (fs->properties) Xfree((char *) fs->properties); + Xfree((char *) fs); +@@ -611,6 +630,7 @@ + if (!(extcodes->serverCapabilities & CAP_VerifiedLocal)) { + struct shmid_ds buf; + if (!(shmctl(reply.shmid, IPC_STAT, &buf) >= 0 ++ && reply.nCharInfos < (LONG_MAX / sizeof(XCharStruct)) + && buf.shm_segsz >= reply.shmsegoffset + reply.nCharInfos * sizeof(XCharStruct) + sizeof(CARD32) + && *(CARD32 *)(addr + reply.shmsegoffset + reply.nCharInfos * sizeof(XCharStruct)) == extcodes->serverSignature)) { + shmdt(addr); +Index: libx11-1.4.99.1/src/FontInfo.c +=================================================================== +--- libx11-1.4.99.1.orig/src/FontInfo.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/FontInfo.c 2013-05-29 16:18:48.092182372 -0400 +@@ -28,6 +28,7 @@ + #include + #endif + #include "Xlibint.h" ++#include + + #if defined(XF86BIGFONT) && !defined(MUSTCOPY) + #define USE_XF86BIGFONT +@@ -45,10 +46,11 @@ + int *actualCount, /* RETURN */ + XFontStruct **info) /* RETURN */ + { +- register long nbytes; ++ unsigned long nbytes; ++ unsigned long reply_left; /* unused data left in reply buffer */ + register int i; + register XFontStruct *fs; +- register int size = 0; ++ unsigned int size = 0; + XFontStruct *finfo = NULL; + char **flist = NULL; + xListFontsWithInfoReply reply; +@@ -67,51 +69,44 @@ + if (!_XReply (dpy, (xReply *) &reply, + ((SIZEOF(xListFontsWithInfoReply) - + SIZEOF(xGenericReply)) >> 2), xFalse)) { +- for (j=(i-1); (j >= 0); j--) { +- Xfree(flist[j]); +- if (finfo[j].properties) Xfree((char *) finfo[j].properties); +- } +- if (flist) Xfree((char *) flist); +- if (finfo) Xfree((char *) finfo); +- UnlockDisplay(dpy); +- SyncHandle(); +- return ((char **) NULL); ++ reply.nameLength = 0; /* avoid trying to read more replies */ ++ reply_left = 0; ++ goto badmem; + } +- if (reply.nameLength == 0) ++ reply_left = reply.length - ++ ((SIZEOF(xListFontsWithInfoReply) - SIZEOF(xGenericReply)) >> 2); ++ if (reply.nameLength == 0) { ++ _XEatDataWords(dpy, reply_left); + break; ++ } ++ if (reply.nReplies >= (INT_MAX - i)) /* avoid overflowing size */ ++ goto badmem; + if ((i + reply.nReplies) >= size) { + size = i + reply.nReplies + 1; + ++ if (size >= (INT_MAX / sizeof(XFontStruct))) ++ goto badmem; ++ + if (finfo) { +- XFontStruct * tmp_finfo = (XFontStruct *) +- Xrealloc ((char *) finfo, +- (unsigned) (sizeof(XFontStruct) * size)); +- char ** tmp_flist = (char **) +- Xrealloc ((char *) flist, +- (unsigned) (sizeof(char *) * (size+1))); +- +- if ((! tmp_finfo) || (! tmp_flist)) { +- /* free all the memory that we allocated */ +- for (j=(i-1); (j >= 0); j--) { +- Xfree(flist[j]); +- if (finfo[j].properties) +- Xfree((char *) finfo[j].properties); +- } +- if (tmp_flist) Xfree((char *) tmp_flist); +- else Xfree((char *) flist); +- if (tmp_finfo) Xfree((char *) tmp_finfo); +- else Xfree((char *) finfo); +- goto clearwire; +- } +- finfo = tmp_finfo; +- flist = tmp_flist; ++ XFontStruct * tmp_finfo; ++ char ** tmp_flist; ++ ++ tmp_finfo = Xrealloc (finfo, sizeof(XFontStruct) * size); ++ if (tmp_finfo) ++ finfo = tmp_finfo; ++ else ++ goto badmem; ++ ++ tmp_flist = Xrealloc (flist, sizeof(char *) * (size+1)); ++ if (tmp_flist) ++ flist = tmp_flist; ++ else ++ goto badmem; + } + else { +- if (! (finfo = (XFontStruct *) +- Xmalloc((unsigned) (sizeof(XFontStruct) * size)))) ++ if (! (finfo = Xmalloc(sizeof(XFontStruct) * size))) + goto clearwire; +- if (! (flist = (char **) +- Xmalloc((unsigned) (sizeof(char *) * (size+1))))) { ++ if (! (flist = Xmalloc(sizeof(char *) * (size+1)))) { + Xfree((char *) finfo); + goto clearwire; + } +@@ -159,24 +154,27 @@ + #endif /* MUSTCOPY */ + + fs->n_properties = reply.nFontProps; ++ fs->properties = NULL; + if (fs->n_properties > 0) { +- nbytes = reply.nFontProps * sizeof(XFontProp); +- if (! (fs->properties = (XFontProp *) Xmalloc((unsigned) nbytes))) +- goto badmem; ++ /* nFontProps is a CARD16 */ + nbytes = reply.nFontProps * SIZEOF(xFontProp); ++ if ((nbytes >> 2) <= reply_left) { ++ size_t pbytes = reply.nFontProps * sizeof(XFontProp); ++ fs->properties = Xmalloc (pbytes); ++ } ++ if (! fs->properties) ++ goto badmem; + _XRead32 (dpy, (long *)fs->properties, nbytes); ++ reply_left -= (nbytes >> 2); ++ } + +- } else +- fs->properties = NULL; +- +- j = reply.nameLength + 1; ++ /* nameLength is a CARD8 */ ++ nbytes = reply.nameLength + 1; + if (!i) +- j++; /* make first string 1 byte longer, to match XListFonts */ +- flist[i] = (char *) Xmalloc ((unsigned int) j); ++ nbytes++; /* make first string 1 byte longer, to match XListFonts */ ++ flist[i] = Xmalloc (nbytes); + if (! flist[i]) { + if (finfo[i].properties) Xfree((char *) finfo[i].properties); +- nbytes = (reply.nameLength + 3) & ~3; +- _XEatData(dpy, (unsigned long) nbytes); + goto badmem; + } + if (!i) { +@@ -198,27 +196,25 @@ + badmem: + /* Free all memory allocated by this function. */ + for (j=(i-1); (j >= 0); j--) { +- Xfree(flist[j]); +- if (finfo[j].properties) Xfree((char *) finfo[j].properties); ++ if (j == 0) ++ flist[j]--; /* was incremented above */ ++ Xfree(flist[j]); ++ if (finfo[j].properties) Xfree((char *) finfo[j].properties); + } + if (flist) Xfree((char *) flist); + if (finfo) Xfree((char *) finfo); + + clearwire: + /* Clear the wire. */ +- do { +- if (reply.nFontProps) +- _XEatData(dpy, (unsigned long) +- (reply.nFontProps * SIZEOF(xFontProp))); +- nbytes = (reply.nameLength + 3) & ~3; +- _XEatData(dpy, (unsigned long) nbytes); +- } +- while (_XReply(dpy,(xReply *) &reply, ((SIZEOF(xListFontsWithInfoReply) - +- SIZEOF(xGenericReply)) >> 2), +- xFalse) && (reply.nameLength != 0)); +- ++ _XEatDataWords(dpy, reply_left); ++ while ((reply.nameLength != 0) && ++ _XReply(dpy, (xReply *) &reply, ++ ((SIZEOF(xListFontsWithInfoReply) - SIZEOF(xGenericReply)) ++ >> 2), xTrue)); + UnlockDisplay(dpy); + SyncHandle(); ++ *info = NULL; ++ *actualCount = 0; + return (char **) NULL; + } + +Index: libx11-1.4.99.1/src/GetAtomNm.c +=================================================================== +--- libx11-1.4.99.1.orig/src/GetAtomNm.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/GetAtomNm.c 2013-05-29 16:18:48.092182372 -0400 +@@ -46,7 +46,7 @@ + for (idx = TABLESIZE; --idx >= 0; ) { + if ((e = *table++) && (e->atom == atom)) { + idx = strlen(EntryName(e)) + 1; +- if ((name = (char *)Xmalloc(idx))) ++ if ((name = Xmalloc(idx))) + strcpy(name, EntryName(e)); + return name; + } +@@ -73,12 +73,12 @@ + SyncHandle(); + return(NULL); + } +- if ((name = (char *) Xmalloc(rep.nameLength+1))) { ++ if ((name = Xmalloc(rep.nameLength + 1))) { + _XReadPad(dpy, name, (long)rep.nameLength); + name[rep.nameLength] = '\0'; + _XUpdateAtomCache(dpy, name, atom, 0, -1, 0); + } else { +- _XEatData(dpy, (unsigned long) (rep.nameLength + 3) & ~3); ++ _XEatDataWords(dpy, rep.length); + name = (char *) NULL; + } + UnlockDisplay(dpy); +@@ -124,7 +124,7 @@ + _XGetAsyncReply(dpy, (char *)&replbuf, rep, buf, len, + (SIZEOF(xGetAtomNameReply) - SIZEOF(xReply)) >> 2, + False); +- state->names[state->idx] = (char *) Xmalloc(repl->nameLength+1); ++ state->names[state->idx] = Xmalloc(repl->nameLength + 1); + _XGetAsyncData(dpy, state->names[state->idx], buf, len, + SIZEOF(xGetAtomNameReply), repl->nameLength, + repl->length << 2); +@@ -170,13 +170,13 @@ + } + if (missed >= 0) { + if (_XReply(dpy, (xReply *)&rep, 0, xFalse)) { +- if ((names_return[missed] = (char *) Xmalloc(rep.nameLength+1))) { ++ if ((names_return[missed] = Xmalloc(rep.nameLength + 1))) { + _XReadPad(dpy, names_return[missed], (long)rep.nameLength); + names_return[missed][rep.nameLength] = '\0'; + _XUpdateAtomCache(dpy, names_return[missed], atoms[missed], + 0, -1, 0); + } else { +- _XEatData(dpy, (unsigned long) (rep.nameLength + 3) & ~3); ++ _XEatDataWords(dpy, rep.length); + async_state.status = 0; + } + } +Index: libx11-1.4.99.1/src/GetDflt.c +=================================================================== +--- libx11-1.4.99.1.orig/src/GetDflt.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/GetDflt.c 2013-05-29 16:18:48.092182372 -0400 +@@ -52,30 +52,7 @@ + #include "Xlibint.h" + #include + #include +- +-#ifndef X_NOT_POSIX +-#ifdef _POSIX_SOURCE +-#include +-#else +-#define _POSIX_SOURCE +-#include +-#undef _POSIX_SOURCE +-#endif +-#endif +-#ifndef PATH_MAX +-#ifdef WIN32 +-#define PATH_MAX 512 +-#else +-#include +-#endif +-#ifndef PATH_MAX +-#ifdef MAXPATHLEN +-#define PATH_MAX MAXPATHLEN +-#else +-#define PATH_MAX 1024 +-#endif +-#endif +-#endif ++#include "pathmax.h" + + #ifdef XTHREADS + #include +Index: libx11-1.4.99.1/src/GetHints.c +=================================================================== +--- libx11-1.4.99.1.orig/src/GetHints.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/GetHints.c 2013-05-29 16:18:48.092182372 -0400 +@@ -128,7 +128,7 @@ + return(NULL); + } + /* static copies not allowed in library, due to reentrancy constraint*/ +- if ((hints = (XWMHints *) Xcalloc (1, (unsigned) sizeof(XWMHints)))) { ++ if ((hints = Xcalloc (1, sizeof(XWMHints)))) { + hints->flags = prop->flags; + hints->input = (prop->input ? True : False); + hints->initial_state = cvtINT32toInt (prop->initialState); +@@ -203,8 +203,7 @@ + /* static copies not allowed in library, due to reentrancy constraint*/ + + nitems /= NumPropIconSizeElements; +- if (! (hp = hints = (XIconSize *) +- Xcalloc ((unsigned) nitems, (unsigned) sizeof(XIconSize)))) { ++ if (! (hp = hints = Xcalloc (nitems, sizeof(XIconSize)))) { + if (prop) Xfree ((char *) prop); + return 0; + } +@@ -317,14 +316,14 @@ + + if ( (actual_type == XA_STRING) && (actual_format == 8) ) { + len_name = strlen((char *) data); +- if (! (classhint->res_name = Xmalloc((unsigned) (len_name+1)))) { ++ if (! (classhint->res_name = Xmalloc(len_name + 1))) { + Xfree((char *) data); + return (0); + } + strcpy(classhint->res_name, (char *) data); + if (len_name == nitems) len_name--; + len_class = strlen((char *) (data+len_name+1)); +- if (! (classhint->res_class = Xmalloc((unsigned) (len_class+1)))) { ++ if (! (classhint->res_class = Xmalloc(len_class + 1))) { + Xfree(classhint->res_name); + classhint->res_name = (char *) NULL; + Xfree((char *) data); +Index: libx11-1.4.99.1/src/GetImage.c +=================================================================== +--- libx11-1.4.99.1.orig/src/GetImage.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/GetImage.c 2013-05-29 16:18:48.092182372 -0400 +@@ -30,6 +30,7 @@ + #include "Xlibint.h" + #include /* for XDestroyImage */ + #include "ImUtil.h" ++#include + + #define ROUNDUP(nbytes, pad) (((((nbytes) - 1) + (pad)) / (pad)) * (pad)) + +@@ -56,7 +57,7 @@ + xGetImageReply rep; + register xGetImageReq *req; + char *data; +- long nbytes; ++ unsigned long nbytes; + XImage *image; + LockDisplay(dpy); + GetReq (GetImage, req); +@@ -78,10 +79,13 @@ + return (XImage *)NULL; + } + +- nbytes = (long)rep.length << 2; +- data = (char *) Xmalloc((unsigned) nbytes); ++ if (rep.length < (INT_MAX >> 2)) { ++ nbytes = (unsigned long)rep.length << 2; ++ data = Xmalloc(nbytes); ++ } else ++ data = NULL; + if (! data) { +- _XEatData(dpy, (unsigned long) nbytes); ++ _XEatDataWords(dpy, rep.length); + UnlockDisplay(dpy); + SyncHandle(); + return (XImage *) NULL; +Index: libx11-1.4.99.1/src/GetMoEv.c +=================================================================== +--- libx11-1.4.99.1.orig/src/GetMoEv.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/GetMoEv.c 2013-05-29 16:18:48.092182372 -0400 +@@ -28,6 +28,7 @@ + #include + #endif + #include "Xlibint.h" ++#include + + XTimeCoord *XGetMotionEvents( + register Display *dpy, +@@ -39,7 +40,6 @@ + xGetMotionEventsReply rep; + register xGetMotionEventsReq *req; + XTimeCoord *tc = NULL; +- long nbytes; + LockDisplay(dpy); + GetReq(GetMotionEvents, req); + req->window = w; +@@ -52,26 +52,22 @@ + return (NULL); + } + +- if (rep.nEvents) { +- if (! (tc = (XTimeCoord *) +- Xmalloc( (unsigned) +- (nbytes = (long) rep.nEvents * sizeof(XTimeCoord))))) { +- _XEatData (dpy, (unsigned long) nbytes); +- UnlockDisplay(dpy); +- SyncHandle(); +- return (NULL); +- } ++ if (rep.nEvents && (rep.nEvents < (INT_MAX / sizeof(XTimeCoord)))) ++ tc = Xmalloc(rep.nEvents * sizeof(XTimeCoord)); ++ if (tc == NULL) { ++ /* server returned either no events or a bad event count */ ++ *nEvents = 0; ++ _XEatDataWords (dpy, rep.length); + } +- +- *nEvents = rep.nEvents; +- nbytes = SIZEOF (xTimecoord); ++ else + { + register XTimeCoord *tcptr; +- register int i; ++ unsigned int i; + xTimecoord xtc; + ++ *nEvents = (int) rep.nEvents; + for (i = rep.nEvents, tcptr = tc; i > 0; i--, tcptr++) { +- _XRead (dpy, (char *) &xtc, nbytes); ++ _XRead (dpy, (char *) &xtc, SIZEOF (xTimecoord)); + tcptr->time = xtc.time; + tcptr->x = cvtINT16toShort (xtc.x); + tcptr->y = cvtINT16toShort (xtc.y); +Index: libx11-1.4.99.1/src/GetPntMap.c +=================================================================== +--- libx11-1.4.99.1.orig/src/GetPntMap.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/GetPntMap.c 2013-05-29 16:18:48.092182372 -0400 +@@ -29,6 +29,7 @@ + #include + #endif + #include "Xlibint.h" ++#include + + #ifdef MIN /* some systems define this in */ + #undef MIN +@@ -42,7 +43,7 @@ + + { + unsigned char mapping[256]; /* known fixed size */ +- long nbytes, remainder = 0; ++ unsigned long nbytes, remainder = 0; + xGetPointerMappingReply rep; + register xReq *req; + +@@ -54,9 +55,15 @@ + return 0; + } + +- nbytes = (long)rep.length << 2; +- + /* Don't count on the server returning a valid value */ ++ if (rep.length >= (INT_MAX >> 2)) { ++ _XEatDataWords(dpy, rep.length); ++ UnlockDisplay(dpy); ++ SyncHandle(); ++ return 0; ++ } ++ ++ nbytes = (unsigned long) rep.length << 2; + if (nbytes > sizeof mapping) { + remainder = nbytes - sizeof mapping; + nbytes = sizeof mapping; +@@ -69,7 +76,7 @@ + } + + if (remainder) +- _XEatData(dpy, (unsigned long)remainder); ++ _XEatData(dpy, remainder); + + UnlockDisplay(dpy); + SyncHandle(); +@@ -86,8 +93,8 @@ + int count, + int *keysyms_per_keycode) + { +- long nbytes; +- unsigned long nkeysyms; ++ unsigned long nbytes; ++ CARD32 nkeysyms; + register KeySym *mapping = NULL; + xGetKeyboardMappingReply rep; + register xGetKeyboardMappingReq *req; +@@ -102,17 +109,19 @@ + return (KeySym *) NULL; + } + +- nkeysyms = (unsigned long) rep.length; ++ nkeysyms = rep.length; + if (nkeysyms > 0) { +- nbytes = nkeysyms * sizeof (KeySym); +- mapping = (KeySym *) Xmalloc ((unsigned) nbytes); +- nbytes = nkeysyms << 2; ++ if (nkeysyms < (INT_MAX / sizeof (KeySym))) { ++ nbytes = nkeysyms * sizeof (KeySym); ++ mapping = Xmalloc (nbytes); ++ } + if (! mapping) { +- _XEatData(dpy, (unsigned long) nbytes); ++ _XEatDataWords(dpy, rep.length); + UnlockDisplay(dpy); + SyncHandle(); + return (KeySym *) NULL; + } ++ nbytes = nkeysyms << 2; + _XRead32 (dpy, (long *) mapping, nbytes); + } + *keysyms_per_keycode = rep.keySymsPerKeyCode; +Index: libx11-1.4.99.1/src/GetProp.c +=================================================================== +--- libx11-1.4.99.1.orig/src/GetProp.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/GetProp.c 2013-05-29 16:18:48.092182372 -0400 +@@ -28,6 +28,7 @@ + #include + #endif + #include "Xlibint.h" ++#include + + int + XGetWindowProperty( +@@ -48,6 +49,13 @@ + register xGetPropertyReq *req; + xError error = {0}; + ++ /* Always initialize return values, in case callers fail to initialize ++ them and fail to check the return code for an error. */ ++ *actual_type = None; ++ *actual_format = 0; ++ *nitems = *bytesafter = 0L; ++ *prop = (unsigned char *) NULL; ++ + LockDisplay(dpy); + GetReq (GetProperty, req); + req->window = w; +@@ -64,10 +72,18 @@ + return (1); /* not Success */ + } + +- *prop = (unsigned char *) NULL; + if (reply.propertyType != None) { +- long nbytes, netbytes; +- switch (reply.format) { ++ unsigned long nbytes, netbytes; ++ int format = reply.format; ++ ++ /* ++ * Protect against both integer overflow and just plain oversized ++ * memory allocation - no server should ever return this many props. ++ */ ++ if (reply.nItems >= (INT_MAX >> 4)) ++ format = -1; /* fall through to default error case */ ++ ++ switch (format) { + /* + * One extra byte is malloced than is needed to contain the property + * data, but this last byte is null terminated and convenient for +@@ -76,24 +92,21 @@ + */ + case 8: + nbytes = netbytes = reply.nItems; +- if (nbytes + 1 > 0 && +- (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1))) ++ if (nbytes + 1 > 0 && (*prop = Xmalloc (nbytes + 1))) + _XReadPad (dpy, (char *) *prop, netbytes); + break; + + case 16: + nbytes = reply.nItems * sizeof (short); + netbytes = reply.nItems << 1; +- if (nbytes + 1 > 0 && +- (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1))) ++ if (nbytes + 1 > 0 && (*prop = Xmalloc (nbytes + 1))) + _XRead16Pad (dpy, (short *) *prop, netbytes); + break; + + case 32: + nbytes = reply.nItems * sizeof (long); + netbytes = reply.nItems << 2; +- if (nbytes + 1 > 0 && +- (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1))) ++ if (nbytes + 1 > 0 && (*prop = Xmalloc (nbytes + 1))) + _XRead32 (dpy, (long *) *prop, netbytes); + break; + +@@ -115,7 +128,7 @@ + break; + } + if (! *prop) { +- _XEatData(dpy, (unsigned long) netbytes); ++ _XEatDataWords(dpy, reply.length); + UnlockDisplay(dpy); + SyncHandle(); + return(BadAlloc); /* not Success */ +Index: libx11-1.4.99.1/src/GetRGBCMap.c +=================================================================== +--- libx11-1.4.99.1.orig/src/GetRGBCMap.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/GetRGBCMap.c 2013-05-29 16:18:48.096182372 -0400 +@@ -99,8 +99,7 @@ + /* + * allocate array + */ +- cmaps = (XStandardColormap *) Xmalloc (ncmaps * +- sizeof (XStandardColormap)); ++ cmaps = Xmalloc (ncmaps * sizeof (XStandardColormap)); + if (!cmaps) { + if (data) Xfree ((char *) data); + return False; +Index: libx11-1.4.99.1/src/ImUtil.c +=================================================================== +--- libx11-1.4.99.1.orig/src/ImUtil.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/ImUtil.c 2013-05-29 16:18:48.096182372 -0400 +@@ -332,7 +332,7 @@ + (xpad != 8 && xpad != 16 && xpad != 32) || + offset < 0) + return (XImage *) NULL; +- if ((image = (XImage *) Xcalloc(1, (unsigned) sizeof(XImage))) == NULL) ++ if ((image = Xcalloc(1, sizeof(XImage))) == NULL) + return (XImage *) NULL; + + image->width = width; +@@ -850,7 +850,7 @@ + register unsigned long pixel; + char *data; + +- if ((subimage = (XImage *) Xcalloc (1, sizeof (XImage))) == NULL) ++ if ((subimage = Xcalloc (1, sizeof (XImage))) == NULL) + return (XImage *) NULL; + subimage->width = width; + subimage->height = height; +@@ -876,7 +876,7 @@ + _XInitImageFuncPtrs (subimage); + dsize = subimage->bytes_per_line * height; + if (subimage->format == XYPixmap) dsize = dsize * subimage->depth; +- if (((data = Xcalloc (1, (unsigned) dsize)) == NULL) && (dsize > 0)) { ++ if (((data = Xcalloc (1, dsize)) == NULL) && (dsize > 0)) { + Xfree((char *) subimage); + return (XImage *) NULL; + } +Index: libx11-1.4.99.1/src/InitExt.c +=================================================================== +--- libx11-1.4.99.1.orig/src/InitExt.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/InitExt.c 2013-05-29 16:18:48.096182372 -0400 +@@ -49,7 +49,7 @@ + &codes.first_error)) return (NULL); + + LockDisplay (dpy); +- if (! (ext = (_XExtension *) Xcalloc (1, sizeof (_XExtension))) || ++ if (! (ext = Xcalloc (1, sizeof (_XExtension))) || + ! (ext->name = strdup(name))) { + if (ext) Xfree((char *) ext); + UnlockDisplay(dpy); +@@ -71,7 +71,7 @@ + register _XExtension *ext; + + LockDisplay (dpy); +- if (! (ext = (_XExtension *) Xcalloc (1, sizeof (_XExtension)))) { ++ if (! (ext = Xcalloc (1, sizeof (_XExtension)))) { + UnlockDisplay(dpy); + return (XExtCodes *) NULL; + } +Index: libx11-1.4.99.1/src/IntAtom.c +=================================================================== +--- libx11-1.4.99.1.orig/src/IntAtom.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/IntAtom.c 2013-05-29 16:18:48.096182372 -0400 +@@ -72,7 +72,7 @@ + + /* look in the cache first */ + if (!(atoms = dpy->atoms)) { +- dpy->atoms = atoms = (AtomTable *)Xcalloc(1, sizeof(AtomTable)); ++ dpy->atoms = atoms = Xcalloc(1, sizeof(AtomTable)); + dpy->free_funcs->atoms = _XFreeAtomTable; + } + sig = 0; +@@ -127,7 +127,7 @@ + + if (!dpy->atoms) { + if (idx < 0) { +- dpy->atoms = (AtomTable *)Xcalloc(1, sizeof(AtomTable)); ++ dpy->atoms = Xcalloc(1, sizeof(AtomTable)); + dpy->free_funcs->atoms = _XFreeAtomTable; + } + if (!dpy->atoms) +@@ -147,7 +147,7 @@ + } + } + } +- e = (Entry)Xmalloc(sizeof(EntryRec) + n + 1); ++ e = Xmalloc(sizeof(EntryRec) + n + 1); + if (e) { + e->sig = sig; + e->atom = atom; +Index: libx11-1.4.99.1/src/KeyBind.c +=================================================================== +--- libx11-1.4.99.1.orig/src/KeyBind.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/KeyBind.c 2013-05-29 16:18:48.096182372 -0400 +@@ -997,11 +997,9 @@ + tmp = dpy->key_bindings; + nb = sizeof(KeySym) * nm; + +- if ((! (p = (struct _XKeytrans *) Xcalloc( 1, sizeof(struct _XKeytrans)))) || +- ((! (p->string = (char *) Xmalloc( (unsigned) nbytes))) && +- (nbytes > 0)) || +- ((! (p->modifiers = (KeySym *) Xmalloc( (unsigned) nb))) && +- (nb > 0))) { ++ if ((! (p = Xcalloc( 1, sizeof(struct _XKeytrans)))) || ++ ((! (p->string = Xmalloc(nbytes))) && (nbytes > 0)) || ++ ((! (p->modifiers = Xmalloc(nb))) && (nb > 0))) { + if (p) { + if (p->string) Xfree(p->string); + if (p->modifiers) Xfree((char *) p->modifiers); +Index: libx11-1.4.99.1/src/LiHosts.c +=================================================================== +--- libx11-1.4.99.1.orig/src/LiHosts.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/LiHosts.c 2013-05-29 16:18:48.096182372 -0400 +@@ -62,6 +62,8 @@ + #include + #endif + #include "Xlibint.h" ++#include ++ + /* + * can be freed using XFree. + */ +@@ -73,7 +75,6 @@ + { + register XHostAddress *outbuf = NULL, *op; + xListHostsReply reply; +- long nbytes; + unsigned char *buf, *bp; + register unsigned i; + register xListHostsReq *req; +@@ -90,19 +91,26 @@ + } + + if (reply.nHosts) { +- nbytes = reply.length << 2; /* compute number of bytes in reply */ +- +- op = outbuf = (XHostAddress *) +- Xmalloc((unsigned) (nbytes + +- (reply.nHosts * sizeof(XHostAddress)) + +- (reply.nHosts * sizeof(XServerInterpretedAddress)))); ++ unsigned long nbytes = reply.length << 2; /* number of bytes in reply */ ++ const unsigned long max_hosts = INT_MAX / ++ (sizeof(XHostAddress) + sizeof(XServerInterpretedAddress)); ++ ++ if (reply.nHosts < max_hosts) { ++ unsigned long hostbytes = reply.nHosts * ++ (sizeof(XHostAddress) + sizeof(XServerInterpretedAddress)); ++ ++ if (reply.length < (INT_MAX >> 2) && ++ (hostbytes >> 2) < ((INT_MAX >> 2) - reply.length)) ++ outbuf = Xmalloc(nbytes + hostbytes); ++ } + + if (! outbuf) { +- _XEatData(dpy, (unsigned long) nbytes); ++ _XEatDataWords(dpy, reply.length); + UnlockDisplay(dpy); + SyncHandle(); + return (XHostAddress *) NULL; + } ++ op = outbuf; + sip = (XServerInterpretedAddress *) + (((unsigned char *) outbuf) + (reply.nHosts * sizeof(XHostAddress))); + bp = buf = ((unsigned char *) sip) +Index: libx11-1.4.99.1/src/LiICmaps.c +=================================================================== +--- libx11-1.4.99.1.orig/src/LiICmaps.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/LiICmaps.c 2013-05-29 16:18:48.096182372 -0400 +@@ -34,7 +34,7 @@ + Window win, + int *n) /* RETURN */ + { +- long nbytes; ++ unsigned long nbytes; + Colormap *cmaps; + xListInstalledColormapsReply rep; + register xResourceReq *req; +@@ -51,14 +51,14 @@ + + if (rep.nColormaps) { + nbytes = rep.nColormaps * sizeof(Colormap); +- cmaps = (Colormap *) Xmalloc((unsigned) nbytes); +- nbytes = rep.nColormaps << 2; ++ cmaps = Xmalloc(nbytes); + if (! cmaps) { +- _XEatData(dpy, (unsigned long) nbytes); ++ _XEatDataWords(dpy, rep.length); + UnlockDisplay(dpy); + SyncHandle(); + return((Colormap *) NULL); + } ++ nbytes = rep.nColormaps << 2; + _XRead32 (dpy, (long *) cmaps, nbytes); + } + else cmaps = (Colormap *) NULL; +Index: libx11-1.4.99.1/src/LiProps.c +=================================================================== +--- libx11-1.4.99.1.orig/src/LiProps.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/LiProps.c 2013-05-29 16:18:48.096182372 -0400 +@@ -34,7 +34,7 @@ + Window window, + int *n_props) /* RETURN */ + { +- long nbytes; ++ unsigned long nbytes; + xListPropertiesReply rep; + Atom *properties; + register xResourceReq *req; +@@ -50,14 +50,14 @@ + + if (rep.nProperties) { + nbytes = rep.nProperties * sizeof(Atom); +- properties = (Atom *) Xmalloc ((unsigned) nbytes); +- nbytes = rep.nProperties << 2; ++ properties = Xmalloc (nbytes); + if (! properties) { +- _XEatData(dpy, (unsigned long) nbytes); ++ _XEatDataWords(dpy, rep.length); + UnlockDisplay(dpy); + SyncHandle(); + return (Atom *) NULL; + } ++ nbytes = rep.nProperties << 2; + _XRead32 (dpy, (long *) properties, nbytes); + } + else properties = (Atom *) NULL; +Index: libx11-1.4.99.1/src/Makefile.am +=================================================================== +--- libx11-1.4.99.1.orig/src/Makefile.am 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/Makefile.am 2013-05-29 16:18:48.096182372 -0400 +@@ -210,6 +210,7 @@ + ParseCmd.c \ + ParseCol.c \ + ParseGeom.c \ ++ pathmax.h \ + PeekEvent.c \ + PeekIfEv.c \ + Pending.c \ +Index: libx11-1.4.99.1/src/ModMap.c +=================================================================== +--- libx11-1.4.99.1.orig/src/ModMap.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/ModMap.c 2013-05-29 16:18:48.096182372 -0400 +@@ -28,6 +28,7 @@ + #include + #endif + #include "Xlibint.h" ++#include + + XModifierKeymap * + XGetModifierMapping(register Display *dpy) +@@ -41,13 +42,17 @@ + GetEmptyReq(GetModifierMapping, req); + (void) _XReply (dpy, (xReply *)&rep, 0, xFalse); + +- nbytes = (unsigned long)rep.length << 2; +- res = (XModifierKeymap *) Xmalloc(sizeof (XModifierKeymap)); +- if (res) res->modifiermap = (KeyCode *) Xmalloc ((unsigned) nbytes); ++ if (rep.length < (LONG_MAX >> 2)) { ++ nbytes = (unsigned long)rep.length << 2; ++ res = Xmalloc(sizeof (XModifierKeymap)); ++ if (res) ++ res->modifiermap = Xmalloc (nbytes); ++ } else ++ res = NULL; + if ((! res) || (! res->modifiermap)) { + if (res) Xfree((char *) res); + res = (XModifierKeymap *) NULL; +- _XEatData(dpy, nbytes); ++ _XEatDataWords(dpy, rep.length); + } else { + _XReadPad(dpy, (char *) res->modifiermap, (long) nbytes); + res->max_keypermod = rep.numKeyPerModifier; +@@ -92,11 +97,11 @@ + XModifierKeymap * + XNewModifiermap(int keyspermodifier) + { +- XModifierKeymap *res = (XModifierKeymap *) Xmalloc((sizeof (XModifierKeymap))); ++ XModifierKeymap *res = Xmalloc((sizeof (XModifierKeymap))); + if (res) { + res->max_keypermod = keyspermodifier; + res->modifiermap = (keyspermodifier > 0 ? +- (KeyCode *) Xmalloc((unsigned) (8 * keyspermodifier)) ++ Xmalloc(8 * keyspermodifier) + : (KeyCode *) NULL); + if (keyspermodifier && (res->modifiermap == NULL)) { + Xfree((char *) res); +Index: libx11-1.4.99.1/src/OpenDis.c +=================================================================== +--- libx11-1.4.99.1.orig/src/OpenDis.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/OpenDis.c 2013-05-29 16:18:48.096182372 -0400 +@@ -112,7 +112,7 @@ + /* + * Attempt to allocate a display structure. Return NULL if allocation fails. + */ +- if ((dpy = (Display *)Xcalloc(1, sizeof(Display))) == NULL) { ++ if ((dpy = Xcalloc(1, sizeof(Display))) == NULL) { + return(NULL); + } + +@@ -265,9 +265,7 @@ + dpy->qlen = 0; + + /* Set up free-function record */ +- if ((dpy->free_funcs = (_XFreeFuncRec *)Xcalloc(1, +- sizeof(_XFreeFuncRec))) +- == NULL) { ++ if ((dpy->free_funcs = Xcalloc(1, sizeof(_XFreeFuncRec))) == NULL) { + OutOfMemory (dpy); + return(NULL); + } +@@ -335,7 +333,7 @@ + return (NULL); + } + +- dpy->vendor = (char *) Xmalloc((unsigned) (u.setup->nbytesVendor + 1)); ++ dpy->vendor = Xmalloc(u.setup->nbytesVendor + 1); + if (dpy->vendor == NULL) { + OutOfMemory(dpy); + return (NULL); +@@ -361,9 +359,7 @@ + /* + * Now iterate down setup information..... + */ +- dpy->pixmap_format = +- (ScreenFormat *)Xmalloc( +- (unsigned) (dpy->nformats *sizeof(ScreenFormat))); ++ dpy->pixmap_format = Xcalloc(dpy->nformats, sizeof(ScreenFormat)); + if (dpy->pixmap_format == NULL) { + OutOfMemory (dpy); + return(NULL); +@@ -391,8 +387,7 @@ + /* + * next the Screen structures. + */ +- dpy->screens = +- (Screen *)Xmalloc((unsigned) dpy->nscreens*sizeof(Screen)); ++ dpy->screens = Xcalloc(dpy->nscreens, sizeof(Screen)); + if (dpy->screens == NULL) { + OutOfMemory (dpy); + return(NULL); +@@ -434,8 +429,7 @@ + /* + * lets set up the depth structures. + */ +- sp->depths = (Depth *)Xmalloc( +- (unsigned)sp->ndepths*sizeof(Depth)); ++ sp->depths = Xcalloc(sp->ndepths, sizeof(Depth)); + if (sp->depths == NULL) { + OutOfMemory (dpy); + return(NULL); +@@ -457,8 +451,7 @@ + dp->nvisuals = u.dp->nVisuals; + u.dp = (xDepth *) (((char *) u.dp) + sz_xDepth); + if (dp->nvisuals > 0) { +- dp->visuals = +- (Visual *)Xmalloc((unsigned)dp->nvisuals*sizeof(Visual)); ++ dp->visuals = Xcalloc(dp->nvisuals, sizeof(Visual)); + if (dp->visuals == NULL) { + OutOfMemory (dpy); + return(NULL); +@@ -569,7 +562,7 @@ + dpy->xdefaults[reply.nItems] = '\0'; + } + else if (reply.propertyType != None) +- _XEatData(dpy, reply.nItems * (reply.format >> 3)); ++ _XEatDataWords(dpy, reply.length); + } + } + UnlockDisplay(dpy); +Index: libx11-1.4.99.1/src/PixFormats.c +=================================================================== +--- libx11-1.4.99.1.orig/src/PixFormats.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/PixFormats.c 2013-05-29 16:18:48.096182372 -0400 +@@ -38,8 +38,8 @@ + Display *dpy, + int *count) /* RETURN */ + { +- XPixmapFormatValues *formats = (XPixmapFormatValues *) +- Xmalloc((unsigned) (dpy->nformats * sizeof (XPixmapFormatValues))); ++ XPixmapFormatValues *formats = ++ Xmalloc(dpy->nformats * sizeof (XPixmapFormatValues)); + + if (formats) { + register int i; +Index: libx11-1.4.99.1/src/PolyReg.c +=================================================================== +--- libx11-1.4.99.1.orig/src/PolyReg.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/PolyReg.c 2013-05-29 16:18:48.096182372 -0400 +@@ -95,8 +95,7 @@ + { + if (*iSLLBlock > SLLSPERBLOCK-1) + { +- tmpSLLBlock = +- (ScanLineListBlock *)Xmalloc(sizeof(ScanLineListBlock)); ++ tmpSLLBlock = Xmalloc(sizeof(ScanLineListBlock)); + (*SLLBlock)->next = tmpSLLBlock; + tmpSLLBlock->next = (ScanLineListBlock *)NULL; + *SLLBlock = tmpSLLBlock; +@@ -410,8 +409,7 @@ + + numRects = ((numFullPtBlocks * NUMPTSTOBUFFER) + iCurPtBlock) >> 1; + +- if (!(reg->rects = (BOX *)Xrealloc((char *)reg->rects, +- (unsigned) (sizeof(BOX) * numRects)))) { ++ if (!(reg->rects = Xrealloc(reg->rects, sizeof(BOX) * numRects))) { + Xfree(prevRects); + return(0); + } +@@ -521,8 +519,7 @@ + + if (Count < 2) return region; + +- if (! (pETEs = (EdgeTableEntry *) +- Xmalloc((unsigned) (sizeof(EdgeTableEntry) * Count)))) { ++ if (! (pETEs = Xmalloc(sizeof(EdgeTableEntry) * Count))) { + XDestroyRegion(region); + return (Region) NULL; + } +@@ -559,7 +556,7 @@ + * send out the buffer + */ + if (iPts == NUMPTSTOBUFFER) { +- tmpPtBlock = (POINTBLOCK *)Xmalloc(sizeof(POINTBLOCK)); ++ tmpPtBlock = Xmalloc(sizeof(POINTBLOCK)); + curPtBlock->next = tmpPtBlock; + curPtBlock = tmpPtBlock; + pts = curPtBlock->pts; +@@ -605,7 +602,7 @@ + * send out the buffer + */ + if (iPts == NUMPTSTOBUFFER) { +- tmpPtBlock = (POINTBLOCK *)Xmalloc(sizeof(POINTBLOCK)); ++ tmpPtBlock = Xmalloc(sizeof(POINTBLOCK)); + curPtBlock->next = tmpPtBlock; + curPtBlock = tmpPtBlock; + pts = curPtBlock->pts; +Index: libx11-1.4.99.1/src/PropAlloc.c +=================================================================== +--- libx11-1.4.99.1.orig/src/PropAlloc.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/PropAlloc.c 2013-05-29 16:18:48.096182372 -0400 +@@ -39,20 +39,19 @@ + + XSizeHints *XAllocSizeHints (void) + { +- return ((XSizeHints *) Xcalloc (1, (unsigned) sizeof (XSizeHints))); ++ return Xcalloc (1, sizeof (XSizeHints)); + } + + + XStandardColormap *XAllocStandardColormap (void) + { +- return ((XStandardColormap *) +- Xcalloc (1, (unsigned) sizeof (XStandardColormap))); ++ return Xcalloc (1, sizeof (XStandardColormap)); + } + + + XWMHints *XAllocWMHints (void) + { +- return ((XWMHints *) Xcalloc (1, (unsigned) sizeof (XWMHints))); ++ return Xcalloc (1, sizeof (XWMHints)); + } + + +@@ -69,7 +68,7 @@ + + XIconSize *XAllocIconSize (void) + { +- return ((XIconSize *) Xcalloc (1, (unsigned) sizeof (XIconSize))); ++ return Xcalloc (1, sizeof (XIconSize)); + } + + +Index: libx11-1.4.99.1/src/PutBEvent.c +=================================================================== +--- libx11-1.4.99.1.orig/src/PutBEvent.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/PutBEvent.c 2013-05-29 16:18:48.100182372 -0400 +@@ -41,7 +41,7 @@ + XEvent store = *event; + + if (!dpy->qfree) { +- if ((dpy->qfree = (_XQEvent *) Xmalloc (sizeof (_XQEvent))) == NULL) { ++ if ((dpy->qfree = Xmalloc (sizeof (_XQEvent))) == NULL) { + return 0; + } + dpy->qfree->next = NULL; +Index: libx11-1.4.99.1/src/PutImage.c +=================================================================== +--- libx11-1.4.99.1.orig/src/PutImage.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/PutImage.c 2013-05-29 16:18:48.100182372 -0400 +@@ -680,7 +680,7 @@ + + length = ROUNDUP(length, 4); + if ((dpy->bufptr + length) > dpy->bufmax) { +- if ((buf = _XAllocScratch(dpy, (unsigned long) (length))) == NULL) { ++ if ((buf = _XAllocScratch(dpy, length)) == NULL) { + UnGetReq(PutImage); + return; + } +@@ -703,13 +703,13 @@ + bytes_per_temp_plane = bytes_per_line * req->height; + temp_length = ROUNDUP(bytes_per_temp_plane * image->depth, 4); + if (buf == dpy->bufptr) { +- if (! (temp = _XAllocScratch(dpy, (unsigned long) temp_length))) { ++ if (! (temp = _XAllocScratch(dpy, temp_length))) { + UnGetReq(PutImage); + return; + } + } + else +- if ((extra = temp = Xmalloc((unsigned) temp_length)) == NULL) { ++ if ((extra = temp = Xmalloc(temp_length)) == NULL) { + UnGetReq(PutImage); + return; + } +@@ -778,8 +778,7 @@ + (req_yoffset * image->bytes_per_line) + + ((req_xoffset * image->bits_per_pixel) >> 3); + if ((image->bits_per_pixel == 4) && ((unsigned int) req_xoffset & 0x01)) { +- if (! (shifted_src = (unsigned char *) +- Xmalloc((unsigned) (req->height * image->bytes_per_line)))) { ++ if (! (shifted_src = Xmalloc(req->height * image->bytes_per_line))) { + UnGetReq(PutImage); + return; + } +@@ -810,7 +809,7 @@ + dest = (unsigned char *)dpy->bufptr; + else + if ((dest = (unsigned char *) +- _XAllocScratch(dpy, (unsigned long)(length))) == NULL) { ++ _XAllocScratch(dpy, length)) == NULL) { + if (shifted_src) Xfree((char *) shifted_src); + UnGetReq(PutImage); + return; +@@ -1001,7 +1000,7 @@ + img.bits_per_pixel = dest_bits_per_pixel; + img.bytes_per_line = ROUNDUP((dest_bits_per_pixel * width), + dest_scanline_pad) >> 3; +- img.data = Xmalloc((unsigned) (img.bytes_per_line * height)); ++ img.data = Xmalloc(img.bytes_per_line * height); + if (img.data == NULL) + return 0; + _XInitImageFuncPtrs(&img); +Index: libx11-1.4.99.1/src/QuColors.c +=================================================================== +--- libx11-1.4.99.1.orig/src/QuColors.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/QuColors.c 2013-05-29 16:18:48.100182372 -0400 +@@ -37,9 +37,7 @@ + int ncolors) + { + register int i; +- xrgb *color; + xQueryColorsReply rep; +- long nbytes; + register xQueryColorsReq *req; + + LockDisplay(dpy); +@@ -53,8 +51,9 @@ + /* XXX this isn't very efficient */ + + if (_XReply(dpy, (xReply *) &rep, 0, xFalse) != 0) { +- if ((color = (xrgb *) +- Xmalloc((unsigned) (nbytes = (long) ncolors * SIZEOF(xrgb))))) { ++ unsigned long nbytes = (long) ncolors * SIZEOF(xrgb); ++ xrgb *color = Xmalloc(nbytes); ++ if (color != NULL) { + + _XRead(dpy, (char *) color, nbytes); + +@@ -68,7 +67,8 @@ + } + Xfree((char *)color); + } +- else _XEatData(dpy, (unsigned long) nbytes); ++ else ++ _XEatDataWords(dpy, rep.length); + } + UnlockDisplay(dpy); + SyncHandle(); +Index: libx11-1.4.99.1/src/QuTree.c +=================================================================== +--- libx11-1.4.99.1.orig/src/QuTree.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/QuTree.c 2013-05-29 16:18:48.100182372 -0400 +@@ -37,7 +37,7 @@ + Window **children, /* RETURN */ + unsigned int *nchildren) /* RETURN */ + { +- long nbytes; ++ unsigned long nbytes; + xQueryTreeReply rep; + register xResourceReq *req; + +@@ -52,14 +52,14 @@ + *children = (Window *) NULL; + if (rep.nChildren != 0) { + nbytes = rep.nChildren * sizeof(Window); +- *children = (Window *) Xmalloc((unsigned) nbytes); +- nbytes = rep.nChildren << 2; ++ *children = Xmalloc(nbytes); + if (! *children) { +- _XEatData(dpy, (unsigned long) nbytes); ++ _XEatDataWords(dpy, rep.length); + UnlockDisplay(dpy); + SyncHandle(); + return (0); + } ++ nbytes = rep.nChildren << 2; + _XRead32 (dpy, (long *) *children, nbytes); + } + *parent = rep.parent; +Index: libx11-1.4.99.1/src/Quarks.c +=================================================================== +--- libx11-1.4.99.1.orig/src/Quarks.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/Quarks.c 2013-05-29 16:18:48.100182372 -0400 +@@ -190,15 +190,14 @@ + newmask = (oldmask << 1) + 1; + else { + if (!stringTable) { +- stringTable = (XrmString **)Xmalloc(sizeof(XrmString *) * +- CHUNKPER); ++ stringTable = Xmalloc(sizeof(XrmString *) * CHUNKPER); + if (!stringTable) + return False; + stringTable[0] = (XrmString *)NULL; + } + #ifdef PERMQ + if (!permTable) +- permTable = (Bits **)Xmalloc(sizeof(Bits *) * CHUNKPER); ++ permTable = Xmalloc(sizeof(Bits *) * CHUNKPER); + if (!permTable) + return False; + #endif +@@ -293,13 +292,13 @@ + q = nextQuark; + if (!(q & QUANTUMMASK)) { + if (!(q & CHUNKMASK)) { +- if (!(new = Xrealloc((char *)stringTable, ++ if (!(new = Xrealloc(stringTable, + sizeof(XrmString *) * + ((q >> QUANTUMSHIFT) + CHUNKPER)))) + goto fail; + stringTable = (XrmString **)new; + #ifdef PERMQ +- if (!(new = Xrealloc((char *)permTable, ++ if (!(new = Xrealloc(permTable, + sizeof(Bits *) * + ((q >> QUANTUMSHIFT) + CHUNKPER)))) + goto fail; +Index: libx11-1.4.99.1/src/RdBitF.c +=================================================================== +--- libx11-1.4.99.1.orig/src/RdBitF.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/RdBitF.c 2013-05-29 16:18:48.100182372 -0400 +@@ -191,7 +191,7 @@ + bytes_per_line = (ww+7)/8 + padding; + + size = bytes_per_line * hh; +- bits = (unsigned char *) Xmalloc ((unsigned int) size); ++ bits = Xmalloc (size); + if (!bits) + RETURN (BitmapNoMemory); + +Index: libx11-1.4.99.1/src/Region.c +=================================================================== +--- libx11-1.4.99.1.orig/src/Region.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/Region.c 2013-05-29 16:18:48.100182372 -0400 +@@ -139,9 +139,9 @@ + { + Region temp; + +- if (! (temp = ( Region )Xmalloc( (unsigned) sizeof( REGION )))) ++ if (! (temp = Xmalloc(sizeof( REGION )))) + return (Region) NULL; +- if (! (temp->rects = ( BOX * )Xmalloc( (unsigned) sizeof( BOX )))) { ++ if (! (temp->rects = Xmalloc(sizeof( BOX )))) { + Xfree((char *) temp); + return (Region) NULL; + } +@@ -521,9 +521,9 @@ + { + BOX *prevRects = dstrgn->rects; + +- if (! (dstrgn->rects = (BOX *) +- Xrealloc((char *) dstrgn->rects, +- (unsigned) rgn->numRects * (sizeof(BOX))))) { ++ dstrgn->rects = Xrealloc(dstrgn->rects, ++ rgn->numRects * (sizeof(BOX))); ++ if (! dstrgn->rects) { + Xfree(prevRects); + return; + } +@@ -788,8 +788,7 @@ + */ + newReg->size = max(reg1->numRects,reg2->numRects) * 2; + +- if (! (newReg->rects = (BoxPtr) +- Xmalloc ((unsigned) (sizeof(BoxRec) * newReg->size)))) { ++ if (! (newReg->rects = Xmalloc (sizeof(BoxRec) * newReg->size))) { + newReg->size = 0; + return; + } +@@ -980,8 +979,8 @@ + { + BoxPtr prev_rects = newReg->rects; + newReg->size = newReg->numRects; +- newReg->rects = (BoxPtr) Xrealloc ((char *) newReg->rects, +- (unsigned) (sizeof(BoxRec) * newReg->size)); ++ newReg->rects = Xrealloc (newReg->rects, ++ sizeof(BoxRec) * newReg->size); + if (! newReg->rects) + newReg->rects = prev_rects; + } +@@ -993,7 +992,7 @@ + */ + newReg->size = 1; + Xfree((char *) newReg->rects); +- newReg->rects = (BoxPtr) Xmalloc(sizeof(BoxRec)); ++ newReg->rects = Xmalloc(sizeof(BoxRec)); + } + } + Xfree ((char *) oldRects); +Index: libx11-1.4.99.1/src/RegstFlt.c +=================================================================== +--- libx11-1.4.99.1.orig/src/RegstFlt.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/RegstFlt.c 2013-05-29 16:18:48.100182372 -0400 +@@ -85,7 +85,7 @@ + { + XFilterEventRec *rec; + +- rec = (XFilterEventList)Xmalloc(sizeof(XFilterEventRec)); ++ rec = Xmalloc(sizeof(XFilterEventRec)); + if (!rec) + return; + rec->window = window; +@@ -117,7 +117,7 @@ + { + XFilterEventRec *rec; + +- rec = (XFilterEventList)Xmalloc(sizeof(XFilterEventRec)); ++ rec = Xmalloc(sizeof(XFilterEventRec)); + if (!rec) + return; + rec->window = window; +Index: libx11-1.4.99.1/src/SetFPath.c +=================================================================== +--- libx11-1.4.99.1.orig/src/SetFPath.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/SetFPath.c 2013-05-29 16:18:48.100182372 -0400 +@@ -52,7 +52,7 @@ + } + nbytes = (n + 3) & ~3; + req->length += nbytes >> 2; +- if ((p = (char *) Xmalloc ((unsigned) nbytes))) { ++ if ((p = Xmalloc (nbytes))) { + /* + * pack into counted strings. + */ +Index: libx11-1.4.99.1/src/SetHints.c +=================================================================== +--- libx11-1.4.99.1.orig/src/SetHints.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/SetHints.c 2013-05-29 16:18:48.100182372 -0400 +@@ -184,7 +184,7 @@ + #define size_of_the_real_thing sizeof /* avoid grepping screwups */ + unsigned nbytes = count * size_of_the_real_thing(xPropIconSize); + #undef size_of_the_real_thing +- if ((prop = pp = (xPropIconSize *) Xmalloc (nbytes))) { ++ if ((prop = pp = Xmalloc (nbytes))) { + for (i = 0; i < count; i++) { + pp->minWidth = list->min_width; + pp->minHeight = list->min_height; +@@ -216,7 +216,7 @@ + for (i = 0, nbytes = 0; i < argc; i++) { + nbytes += safestrlen(argv[i]) + 1; + } +- if ((bp = buf = Xmalloc((unsigned) nbytes))) { ++ if ((bp = buf = Xmalloc(nbytes))) { + /* copy arguments into single buffer */ + for (i = 0; i < argc; i++) { + if (argv[i]) { +@@ -297,7 +297,7 @@ + + len_nm = safestrlen(classhint->res_name); + len_cl = safestrlen(classhint->res_class); +- if ((class_string = s = Xmalloc((unsigned) (len_nm + len_cl + 2)))) { ++ if ((class_string = s = Xmalloc(len_nm + len_cl + 2))) { + if (len_nm) { + strcpy(s, classhint->res_name); + s += len_nm + 1; +Index: libx11-1.4.99.1/src/StrToText.c +=================================================================== +--- libx11-1.4.99.1.orig/src/StrToText.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/StrToText.c 2013-05-29 16:18:48.100182372 -0400 +@@ -78,7 +78,7 @@ + } + } + } else { +- proto.value = (unsigned char *) Xmalloc (1); /* easier for client */ ++ proto.value = Xmalloc (1); /* easier for client */ + if (!proto.value) return False; + + proto.value[0] = '\0'; +Index: libx11-1.4.99.1/src/TextToStr.c +=================================================================== +--- libx11-1.4.99.1.orig/src/TextToStr.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/TextToStr.c 2013-05-29 16:18:48.100182372 -0400 +@@ -72,10 +72,10 @@ + /* + * allocate list and duplicate + */ +- list = (char **) Xmalloc (nelements * sizeof (char *)); ++ list = Xmalloc (nelements * sizeof (char *)); + if (!list) return False; + +- start = (char *) Xmalloc ((datalen + 1) * sizeof (char)); /* for */ ++ start = Xmalloc ((datalen + 1) * sizeof (char)); /* for */ + if (!start) { + Xfree ((char *) list); + return False; +Index: libx11-1.4.99.1/src/VisUtil.c +=================================================================== +--- libx11-1.4.99.1.orig/src/VisUtil.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/VisUtil.c 2013-05-29 16:18:48.100182372 -0400 +@@ -75,8 +75,7 @@ + + count = 0; + total = 10; +- if (! (vip_base = vip = (XVisualInfo *) +- Xmalloc((unsigned) (sizeof(XVisualInfo) * total)))) { ++ if (! (vip_base = vip = Xmalloc(sizeof(XVisualInfo) * total))) { + UnlockDisplay(dpy); + return (XVisualInfo *) NULL; + } +@@ -132,9 +131,8 @@ + { + XVisualInfo *old_vip_base = vip_base; + total += 10; +- if (! (vip_base = (XVisualInfo *) +- Xrealloc((char *) vip_base, +- (unsigned) (sizeof(XVisualInfo) * total)))) { ++ if (! (vip_base = Xrealloc(vip_base, ++ sizeof(XVisualInfo) * total))) { + Xfree((char *) old_vip_base); + UnlockDisplay(dpy); + return (XVisualInfo *) NULL; +Index: libx11-1.4.99.1/src/WrBitF.c +=================================================================== +--- libx11-1.4.99.1.orig/src/WrBitF.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/WrBitF.c 2013-05-29 16:18:48.100182372 -0400 +@@ -53,7 +53,7 @@ + bytes_per_line = (width+7)/8; + *resultsize = bytes_per_line * height; /* Calculate size of data */ + +- data = (char *) Xmalloc( *resultsize ); /* Get space for data */ ++ data = Xmalloc( *resultsize ); /* Get space for data */ + if (!data) + return(ERR_RETURN); + +Index: libx11-1.4.99.1/src/XlibInt.c +=================================================================== +--- libx11-1.4.99.1.orig/src/XlibInt.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/XlibInt.c 2013-05-29 16:18:48.104182372 -0400 +@@ -152,7 +152,7 @@ + #ifdef USE_POLL + struct pollfd *pfp; + +- pfp = (struct pollfd *)Xmalloc(POLLFD_CACHE_SIZE * sizeof(struct pollfd)); ++ pfp = Xmalloc(POLLFD_CACHE_SIZE * sizeof(struct pollfd)); + if (!pfp) + return False; + pfp[0].fd = dpy->fd; +@@ -492,10 +492,10 @@ + struct _XConnWatchInfo *watchers; + XPointer *wd; + +- new_conni = (struct _XConnectionInfo*)Xmalloc(sizeof(struct _XConnectionInfo)); ++ new_conni = Xmalloc(sizeof(struct _XConnectionInfo)); + if (!new_conni) + return 0; +- new_conni->watch_data = (XPointer *)Xmalloc(dpy->watcher_count * sizeof(XPointer)); ++ new_conni->watch_data = Xmalloc(dpy->watcher_count * sizeof(XPointer)); + if (!new_conni->watch_data) { + Xfree(new_conni); + return 0; +@@ -582,7 +582,7 @@ + count = 0; + for (info_list=dpy->im_fd_info; info_list; info_list=info_list->next) + count++; +- fd_list = (int*) Xmalloc (count * sizeof(int)); ++ fd_list = Xmalloc (count * sizeof(int)); + if (!fd_list) { + UnlockDisplay(dpy); + return 0; +@@ -655,9 +655,8 @@ + + /* allocate new watch data */ + for (info_list=dpy->im_fd_info; info_list; info_list=info_list->next) { +- wd_array = (XPointer *)Xrealloc((char *)info_list->watch_data, +- (dpy->watcher_count + 1) * +- sizeof(XPointer)); ++ wd_array = Xrealloc(info_list->watch_data, ++ (dpy->watcher_count + 1) * sizeof(XPointer)); + if (!wd_array) { + UnlockDisplay(dpy); + return 0; +@@ -666,7 +665,7 @@ + wd_array[dpy->watcher_count] = NULL; /* for cleanliness */ + } + +- new_watcher = (struct _XConnWatchInfo*)Xmalloc(sizeof(struct _XConnWatchInfo)); ++ new_watcher = Xmalloc(sizeof(struct _XConnWatchInfo)); + if (!new_watcher) { + UnlockDisplay(dpy); + return 0; +@@ -874,8 +873,7 @@ + /* If dpy->qfree is non-NULL do this, else malloc a new one. */ + dpy->qfree = qelt->next; + } +- else if ((qelt = +- (_XQEvent *) Xmalloc((unsigned)sizeof(_XQEvent))) == NULL) { ++ else if ((qelt = Xmalloc(sizeof(_XQEvent))) == NULL) { + /* Malloc call failed! */ + ESET(ENOMEM); + _XIOError(dpy); +@@ -1636,7 +1634,7 @@ + { + if (nbytes > dpy->scratch_length) { + if (dpy->scratch_buffer) Xfree (dpy->scratch_buffer); +- if ((dpy->scratch_buffer = Xmalloc((unsigned) nbytes))) ++ if ((dpy->scratch_buffer = Xmalloc(nbytes))) + dpy->scratch_length = nbytes; + else dpy->scratch_length = 0; + } +Index: libx11-1.4.99.1/src/Xrm.c +=================================================================== +--- libx11-1.4.99.1.orig/src/Xrm.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/Xrm.c 2013-05-29 16:18:48.104182372 -0400 +@@ -62,6 +62,7 @@ + #endif + #include + #include ++#include + #include "Xresinternal.h" + #include "Xresource.h" + +@@ -494,7 +495,7 @@ + { + register XrmDatabase db; + +- db = (XrmDatabase) Xmalloc(sizeof(XrmHashBucketRec)); ++ db = Xmalloc(sizeof(XrmHashBucketRec)); + if (db) { + _XCreateMutex(&db->linfo); + db->table = (NTable)NULL; +@@ -827,7 +828,7 @@ + NTable *nprev, *firstpprev; + + #define NEWTABLE(q,i) \ +- table = (NTable)Xmalloc(sizeof(LTableRec)); \ ++ table = Xmalloc(sizeof(LTableRec)); \ + if (!table) \ + return; \ + table->name = q; \ +@@ -840,7 +841,7 @@ + nprev = NodeBuckets(table); \ + } else { \ + table->leaf = 1; \ +- if (!(nprev = (NTable *)Xmalloc(sizeof(VEntry *)))) {\ ++ if (!(nprev = Xmalloc(sizeof(VEntry *)))) {\ + Xfree(table); \ + return; \ + } \ +@@ -954,9 +955,8 @@ + prev = nprev; + } + /* now allocate the value entry */ +- entry = (VEntry)Xmalloc(((type == XrmQString) ? +- sizeof(VEntryRec) : sizeof(DEntryRec)) + +- value->size); ++ entry = Xmalloc(((type == XrmQString) ? ++ sizeof(VEntryRec) : sizeof(DEntryRec)) + value->size); + if (!entry) + return; + entry->name = q = *quarks; +@@ -986,13 +986,12 @@ + if (resourceQuarks) { + unsigned char *prevQuarks = resourceQuarks; + +- resourceQuarks = (unsigned char *)Xrealloc((char *)resourceQuarks, +- size); ++ resourceQuarks = Xrealloc(resourceQuarks, size); + if (!resourceQuarks) { + Xfree(prevQuarks); + } + } else +- resourceQuarks = (unsigned char *)Xmalloc(size); ++ resourceQuarks = Xmalloc(size); + if (resourceQuarks) { + bzero((char *)&resourceQuarks[oldsize], size - oldsize); + maxResourceQuark = (size << 3) - 1; +@@ -1135,11 +1134,11 @@ + + str_len = strlen (str); + if (DEF_BUFF_SIZE > str_len) lhs = lhs_s; +- else if ((lhs = (char*) Xmalloc (str_len)) == NULL) ++ else if ((lhs = Xmalloc (str_len)) == NULL) + return; + + alloc_chars = DEF_BUFF_SIZE < str_len ? str_len : DEF_BUFF_SIZE; +- if ((rhs = (char*) Xmalloc (alloc_chars)) == NULL) { ++ if ((rhs = Xmalloc (alloc_chars)) == NULL) { + if (lhs != lhs_s) Xfree (lhs); + return; + } +@@ -1594,11 +1593,12 @@ + */ + { + struct stat status_buffer; +- if ( (fstat(fd, &status_buffer)) == -1 ) { ++ if ( ((fstat(fd, &status_buffer)) == -1 ) || ++ (status_buffer.st_size >= INT_MAX) ) { + close (fd); + return (char *)NULL; + } else +- size = status_buffer.st_size; ++ size = (int) status_buffer.st_size; + } + + if (!(filebuf = Xmalloc(size + 1))) { /* leave room for '\0' */ +Index: libx11-1.4.99.1/src/locking.c +=================================================================== +--- libx11-1.4.99.1.orig/src/locking.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/locking.c 2013-05-29 16:18:48.104182372 -0400 +@@ -82,7 +82,7 @@ + struct _xthread_waiter *me; + + if (!(me = TlsGetValue(_X_TlsIndex))) { +- me = (struct _xthread_waiter *)xmalloc(sizeof(struct _xthread_waiter)); ++ me = xmalloc(sizeof(struct _xthread_waiter)); + me->sem = CreateSemaphore(NULL, 0, 1, NULL); + me->next = NULL; + TlsSetValue(_X_TlsIndex, me); +@@ -249,7 +249,7 @@ + dpy->lock->free_cvls = cvl->next; + dpy->lock->num_free_cvls--; + } else { +- cvl = (struct _XCVList *)Xmalloc(sizeof(struct _XCVList)); ++ cvl = Xmalloc(sizeof(struct _XCVList)); + if (!cvl) + return NULL; + cvl->cv = xcondition_malloc(); +@@ -510,10 +510,10 @@ + static int _XInitDisplayLock( + Display *dpy) + { +- dpy->lock_fns = (struct _XLockPtrs*)Xmalloc(sizeof(struct _XLockPtrs)); ++ dpy->lock_fns = Xmalloc(sizeof(struct _XLockPtrs)); + if (dpy->lock_fns == NULL) + return -1; +- dpy->lock = (struct _XLockInfo *)Xmalloc(sizeof(struct _XLockInfo)); ++ dpy->lock = Xmalloc(sizeof(struct _XLockInfo)); + if (dpy->lock == NULL) { + _XFreeDisplayLock(dpy); + return -1; +Index: libx11-1.4.99.1/src/pathmax.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ libx11-1.4.99.1/src/pathmax.h 2013-05-29 16:18:48.104182372 -0400 +@@ -0,0 +1,81 @@ ++ ++/*********************************************************** ++ ++Copyright 1987, 1988, 1998 The Open Group ++ ++Permission to use, copy, modify, distribute, and sell this software and its ++documentation for any purpose is hereby granted without fee, provided that ++the above copyright notice appear in all copies and that both that ++copyright notice and this permission notice appear in supporting ++documentation. ++ ++The above copyright notice and this permission notice shall be included in ++all copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ ++Except as contained in this notice, the name of The Open Group shall not be ++used in advertising or otherwise to promote the sale, use or other dealings ++in this Software without prior written authorization from The Open Group. ++ ++ ++Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. ++ ++ All Rights Reserved ++ ++Permission to use, copy, modify, and distribute this software and its ++documentation for any purpose and without fee is hereby granted, ++provided that the above copyright notice appear in all copies and that ++both that copyright notice and this permission notice appear in ++supporting documentation, and that the name of Digital not be ++used in advertising or publicity pertaining to distribution of the ++software without specific, written prior permission. ++ ++DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ++ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ++DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ++ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, ++WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ++ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ++SOFTWARE. ++ ++******************************************************************/ ++ ++/* ++ * Provides a single definition of PATH_MAX instead of replicating this mess ++ * in multiple files ++ */ ++ ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++#include ++ ++#ifndef X_NOT_POSIX ++#ifdef _POSIX_SOURCE ++#include ++#else ++#define _POSIX_SOURCE ++#include ++#undef _POSIX_SOURCE ++#endif ++#endif ++#ifndef PATH_MAX ++#ifdef WIN32 ++#define PATH_MAX 512 ++#else ++#include ++#endif ++#ifndef PATH_MAX ++#ifdef MAXPATHLEN ++#define PATH_MAX MAXPATHLEN ++#else ++#define PATH_MAX 1024 ++#endif ++#endif ++#endif +Index: libx11-1.4.99.1/src/udcInf.c +=================================================================== +--- libx11-1.4.99.1.orig/src/udcInf.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/udcInf.c 2013-05-29 16:18:48.104182372 -0400 +@@ -145,12 +145,11 @@ + if(!_XlcCompareISOLatin1(charset_str,buf)){ + num_ret += 1; + if(num_ret == 1){ +- ret = (int *)Xmalloc(sizeof(int)); ++ ret = Xmalloc(sizeof(int)); + } else { + int *prev_ret = ret; + +- ret = +- (int *)Xrealloc(ret,num_ret*sizeof(int)); ++ ret = Xrealloc(ret, num_ret * sizeof(int)); + if (ret == NULL){ + Xfree(prev_ret); + } +@@ -272,7 +271,7 @@ + sprintf(buf, "fs%d.charset.udc_area", codeset-1); + _XlcGetLocaleDataBase(lcd, "XLC_FONTSET", buf, &value, &count); + if(count > 0){ +- udc = (_XUDCGlyphRegion *)Xmalloc(count * sizeof(_XUDCGlyphRegion)); ++ udc = Xmalloc(count * sizeof(_XUDCGlyphRegion)); + if(udc == NULL){ + _xudc_utyerrno = 0x03 ; + _xudc_utyerrno |= (0x0b<<8) ; +@@ -524,7 +523,7 @@ + return(ret); + } + +- crr = (_XUDCCodeRegion *)Xmalloc(num_gr*sizeof(_XUDCCodeRegion)); ++ crr = Xmalloc(num_gr * sizeof(_XUDCCodeRegion)); + if(crr == NULL){ + Xfree(gr); + _xudc_utyerrno = 0x03 ; +Index: libx11-1.4.99.1/src/xcb_io.c +=================================================================== +--- libx11-1.4.99.1.orig/src/xcb_io.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/xcb_io.c 2013-05-29 16:18:48.104182372 -0400 +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #ifdef HAVE_SYS_SELECT_H + #include + #endif +@@ -757,3 +758,19 @@ + dpy->xcb->reply_consumed += n; + _XFreeReplyData(dpy, False); + } ++ ++/* ++ * Read and discard "n" 32-bit words of data ++ * Matches the units of the length field in X protocol replies, and provides ++ * a single implementation of overflow checking to avoid having to replicate ++ * those checks in every caller. ++ */ ++void _XEatDataWords(Display *dpy, unsigned long n) ++{ ++ if (n < ((INT_MAX - dpy->xcb->reply_consumed) >> 2)) ++ dpy->xcb->reply_consumed += (n << 2); ++ else ++ /* Overflow would happen, so just eat the rest of the reply */ ++ dpy->xcb->reply_consumed = dpy->xcb->reply_length; ++ _XFreeReplyData(dpy, False); ++} +Index: libx11-1.4.99.1/src/xcms/cmsColNm.c +=================================================================== +--- libx11-1.4.99.1.orig/src/xcms/cmsColNm.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/xcms/cmsColNm.c 2013-05-29 16:18:48.104182372 -0400 +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + #define XK_LATIN1 + #include + #include "Cv.h" +@@ -542,7 +543,10 @@ + char *pBuf; + char *f1; + char *f2; +- int i; ++ size_t i; ++ ++ unsigned int numEntries = 0; ++ unsigned int sectionSize = 0; + + *pNumEntries = 0; + *pSectionSize = 0; +@@ -576,26 +580,37 @@ + return(XcmsFailure); + } + +- (*pNumEntries)++; ++ numEntries++; ++ if (numEntries >= INT_MAX) ++ return(XcmsFailure); + +- (*pSectionSize) += (i = strlen(f1)) + 1; ++ i = strlen(f1); ++ if (i >= INT_MAX - sectionSize) ++ return(XcmsFailure); ++ sectionSize += i + 1; + for (; i; i--, f1++) { + /* REMOVE SPACES FROM COUNT */ + if (isspace(*f1)) { +- (*pSectionSize)--; ++ sectionSize--; + } + } + +- (*pSectionSize) += (i = strlen(f2)) + 1; ++ i = strlen(f2); ++ if (i >= INT_MAX - sectionSize) ++ return(XcmsFailure); ++ sectionSize += i + 1; + for (; i; i--, f2++) { + /* REMOVE SPACES FROM COUNT */ + if (isspace(*f2)) { +- (*pSectionSize)--; ++ sectionSize--; + } + } + + } + ++ *pNumEntries = (int) numEntries; ++ *pSectionSize = (int) sectionSize; ++ + return(XcmsSuccess); + } + +Index: libx11-1.4.99.1/src/xlibi18n/lcFile.c +=================================================================== +--- libx11-1.4.99.1.orig/src/xlibi18n/lcFile.c 2013-05-29 16:18:48.108182372 -0400 ++++ libx11-1.4.99.1/src/xlibi18n/lcFile.c 2013-05-29 16:18:48.104182372 -0400 +@@ -54,29 +54,7 @@ + + #define XLC_BUFSIZE 256 + +-#ifndef X_NOT_POSIX +-#ifdef _POSIX_SOURCE +-#include +-#else +-#define _POSIX_SOURCE +-#include +-#undef _POSIX_SOURCE +-#endif +-#endif +-#ifndef PATH_MAX +-#ifdef WIN32 +-#define PATH_MAX 512 +-#else +-#include +-#endif +-#ifndef PATH_MAX +-#ifdef MAXPATHLEN +-#define PATH_MAX MAXPATHLEN +-#else +-#define PATH_MAX 1024 +-#endif +-#endif +-#endif ++#include "pathmax.h" + + #define NUM_LOCALEDIR 64 + --- libx11-1.4.99.1.orig/debian/patches/008_remove_ko_Compose.diff +++ libx11-1.4.99.1/debian/patches/008_remove_ko_Compose.diff @@ -0,0 +1,12 @@ +--- a/nls/compose.dir.pre ++++ b/nls/compose.dir.pre +@@ -175,7 +175,8 @@ iso8859-1/Compose: kw_GB.ISO8859-1 + iso8859-14/Compose: kw_GB.ISO8859-14 + iso8859-15/Compose: kw_GB.ISO8859-15 + iso8859-10/Compose: lg_UG.ISO8859-10 +-ko/Compose: ko_KR.eucKR ++XCOMM Remove ko/Compose, as requested in http://bugs.debian.org/89703 ++XCOMM ko/Compose: ko_KR.eucKR + ibm-cp1133/Compose: lo_LA.IBM-CP1133 + mulelao-1/Compose: lo_LA.MULELAO-1 + #if defined(__FreeBSD__) --- libx11-1.4.99.1.orig/debian/patches/001_hide_xeatdatawords.diff +++ libx11-1.4.99.1/debian/patches/001_hide_xeatdatawords.diff @@ -0,0 +1,36 @@ +Description: Hide _XEatDataWords by default. +Origin: Debian unstable package + +Index: libx11/include/X11/Xlibint.h +=================================================================== +--- libx11.orig/include/X11/Xlibint.h ++++ libx11/include/X11/Xlibint.h +@@ -892,10 +892,12 @@ extern void _XEatData( + Display* /* dpy */, + unsigned long /* n */ + ) _XLIB_COLD; ++#ifdef XLIB_WANT_XEATDATAWORDS + extern void _XEatDataWords( + Display* /* dpy */, + unsigned long /* n */ +-) _XLIB_COLD; ++) _XLIB_COLD _X_HIDDEN; ++#endif + #if defined(__SUNPRO_C) /* Studio compiler alternative to "cold" attribute */ + # pragma rarely_called(_XEatData, _XEatDataWords) + #endif +Index: libx11/configure.ac +=================================================================== +--- libx11.orig/configure.ac ++++ libx11/configure.ac +@@ -76,6 +76,10 @@ PKG_PROG_PKG_CONFIG() + + AC_SUBST(X11_EXTRA_DEPS) + ++# Debian change: _XEatDataWords is not declared by default, to not affect other ++# X libs ++AC_DEFINE(XLIB_WANT_XEATDATAWORDS, 1, [Declare _XEatDataWords in Xlibint.h]) ++ + # Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro + # was not expanded, since libX11 with no transport types is rather useless. + # --- libx11-1.4.99.1.orig/debian/patches/015_russian_locale_alias.diff +++ libx11-1.4.99.1/debian/patches/015_russian_locale_alias.diff @@ -0,0 +1,23 @@ +Fix russian locale. Closes: #368655. + +This aligns with the glibc definition in /usr/share/locale/locale.alias. +This only applies to Debian's glibc, see bug #62586 and glibc 2.2.5-4. + +For the same glib reason, we cannot change ru and ru_RU away from ISO8859-5, +since that encoding is enshrined in /usr/share/i18n/locales/ru_RU. Insert +appropriate perjorative language here. + +Suggestion: can the russian default be changed to UTF-8 instead of KOI8-R? +This will make it easier for russians to fit in with the rest of the world. + +--- a/nls/locale.alias.pre ++++ b/nls/locale.alias.pre +@@ -1269,7 +1269,7 @@ portuguese: pt_PT.ISO8859-1 + portuguese.iso88591: pt_PT.ISO8859-1 + romanian: ro_RO.ISO8859-2 + rumanian: ro_RO.ISO8859-2 +-russian: ru_RU.ISO8859-5 ++russian: ru_RU.KOI8-R + serbocroatian: sr_RS.UTF-8@latin + sinhala: si_LK.UTF-8 + slovak: sk_SK.ISO8859-2