From 0f6d4310ad37550be3323fab80456e4953698bf0 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Thu, 15 Sep 2005 15:58:31 +0200 Subject: [PATCH] Initial commit of the HEAD branch of the ELinks CVS repository, as of Thu Sep 15 15:57:07 CEST 2005. The previous history can be added to this by grafting. --- ABOUT-NLS | 319 + AUTHORS | 569 ++ BUGS | 4 + COPYING | 346 + INSTALL | 178 + Makefile.am | 25 + Makefile.base | 16 + NEWS | 154 + README | 61 + SITES | 46 + THANKS | 17 + TODO | 25 + Unicode/.cvsignore | 4 + Unicode/7bit.cp | 3 + Unicode/7bitrepl.lnx | 2401 +++++++ Unicode/8859_1.cp | 193 + Unicode/8859_10.cp | 305 + Unicode/8859_13.cp | 134 + Unicode/8859_14.cp | 303 + Unicode/8859_15.cp | 193 + Unicode/8859_16.cp | 199 + Unicode/8859_2.cp | 193 + Unicode/8859_3.cp | 298 + Unicode/8859_4.cp | 133 + Unicode/8859_5.cp | 305 + Unicode/8859_6.cp | 262 + Unicode/8859_7.cp | 304 + Unicode/8859_8.cp | 272 + Unicode/8859_9.cp | 309 + Unicode/Makefile.am | 51 + Unicode/README | 3 + Unicode/cp1125.cp | 137 + Unicode/cp1250.cp | 276 + Unicode/cp1251.cp | 225 + Unicode/cp1252.cp | 254 + Unicode/cp1256.cp | 276 + Unicode/cp1257.cp | 153 + Unicode/cp437.cp | 275 + Unicode/cp737.cp | 275 + Unicode/cp850.cp | 275 + Unicode/cp852.cp | 275 + Unicode/cp866.cp | 276 + Unicode/entities.lnx | 1102 +++ Unicode/gen | 7 + Unicode/gen-7b | 21 + Unicode/gen-cp | 69 + Unicode/gen-ent | 20 + Unicode/index.txt | 35 + Unicode/kamen.cp | 263 + Unicode/koi8_r.cp | 226 + Unicode/koi8_ru.cp | 137 + Unicode/koi8_u.cp | 136 + Unicode/mac_lat2.cp | 276 + Unicode/macroman.cp | 258 + Unicode/tcvn5712.cp | 264 + Unicode/tr7bit.awk | 50 + Unicode/utf_8.cp | 3 + Unicode/viscii.cp | 264 + autogen.sh | 22 + config/.cvsignore | 8 + config/.vimrc | 2 + config/Makefile.am | 4 + config/config.guess | 1447 ++++ config/config.sub | 1555 +++++ config/m4/.vimrc | 2 + config/m4/codeset.m4 | 17 + config/m4/features.m4 | 195 + config/m4/gettext.m4 | 271 + config/m4/glibc21.m4 | 26 + config/m4/iconv.m4 | 68 + config/m4/isc-posix.m4 | 17 + config/m4/lcmessage.m4 | 22 + config/m4/os2.m4 | 49 + config/m4/progtest.m4 | 49 + config/m4/ruby.m4 | 106 + config/m4/win32.m4 | 23 + configure.in | 1348 ++++ contrib/.cvsignore | 5 + contrib/LinksOS2Icon.zip | Bin 0 -> 5647 bytes contrib/Makefile.am | 42 + contrib/README | 27 + contrib/TIPS-AND-TRICKS | 17 + contrib/cgi/Makefile | 2 + contrib/cgi/README.FSP | 8 + contrib/cgi/fspcgi.c | 173 + contrib/colws.diff | 29 + contrib/conv/.cvsignore | 5 + contrib/conv/conf-links2elinks.pl | 277 + contrib/conv/mailcap.pl | 49 + contrib/conv/old_to_new_bookmarks.sh | 32 + contrib/conv/w3m2links.awk.in | 24 + contrib/elinks-vim.diff | 12 + contrib/elinks.conf | 3087 +++++++++ contrib/elinks.fortune | 101 + contrib/elinks.spec.in | 191 + contrib/elinks.vim | 116 + contrib/guile/.cvsignore | 5 + contrib/guile/internal-hooks.scm | 80 + contrib/guile/user-hooks.scm | 162 + contrib/js-1.5-rc6a+elinks.patch | 61 + contrib/keybind-full.conf | 181 + contrib/keybind.conf | 35 + contrib/links_wps.zip | Bin 0 -> 5729 bytes contrib/lua/.cvsignore | 2 + contrib/lua/babelfish.lua | 55 + contrib/lua/bm-to-elinks-bookmarks.lua | 30 + contrib/lua/bm.lua | 339 + contrib/lua/config.lua | 68 + contrib/lua/elinks-remote | 20 + contrib/lua/highlight.lua | 27 + contrib/lua/hooks.lua.in | 575 ++ contrib/lua/md5check.lua | 52 + contrib/lua/remote.lua | 48 + contrib/perl/.cvsignore | 4 + contrib/perl/config.pl | 23 + contrib/perl/hooks.pl | 1385 ++++ contrib/python/hooks.py | 14 + contrib/ruby/.cvsignore | 1 + contrib/ruby/hooks.rb | 74 + contrib/user.css | 41 + contrib/wipe-out-ssl | 10 + contrib/wipe-out-ssl.awk | 22 + debian/.cvsignore | 11 + debian/.vimrc | 2 + debian/Makefile.am | 19 + debian/README.Debian | 54 + debian/changelog | 372 + debian/control | 20 + debian/control.in | 20 + debian/copyright | 15 + debian/elinks.desktop | 11 + debian/elinks.docs | 8 + debian/elinks.postinst | 58 + debian/elinks.preinst | 19 + debian/elinks.prerm | 38 + debian/menu | 7 + debian/mime | 2 + debian/rules | 142 + debian/watch | 11 + doc/.cvsignore | 9 + doc/.vimrc | 2 + doc/Makefile.am | 214 + doc/README | 41 + doc/bookmarks.txt | 226 + doc/color-model.txt | 300 + doc/dev-intro.txt | 349 + doc/ecmascript.txt | 126 + doc/events.txt | 248 + doc/exmode.txt | 105 + doc/faq.txt | 157 + doc/feedback.txt | 39 + doc/get-cvs-docs | 105 + doc/hacking.txt | 689 ++ doc/index.txt | 92 + doc/installation.txt | 80 + doc/introduction.txt | 366 + doc/lua-scripting.txt | 565 ++ doc/mailcap.txt | 130 + doc/man/.cvsignore | 4 + doc/man/.vimrc | 2 + doc/man/Makefile.am | 4 + doc/man/man1/.cvsignore | 6 + doc/man/man1/.vimrc | 2 + doc/man/man1/Makefile.am | 6 + doc/man/man1/elinks.1.in | 306 + doc/man/man5/.cvsignore | 5 + doc/man/man5/.vimrc | 2 + doc/man/man5/Makefile.am | 6 + doc/man/man5/elinks.conf.5 | 2233 ++++++ doc/man/man5/elinkskeys.5 | 1323 ++++ doc/manual.txt | 58 + doc/marks.txt | 90 + doc/mime.txt | 184 + doc/perl.pod | 310 + doc/remote.txt | 88 + doc/small.txt | 96 + doc/tabs.txt | 116 + doc/terminals.txt | 169 + doc/tools/.cvsignore | 4 + doc/tools/.vimrc | 2 + doc/tools/help2doc | 353 + doc/tools/import-features.conf | 86 + doc/tools/make-elinks-manpage | 213 + doc/tools/make-elinkskeys-manpage | 246 + doc/urlshortcuts.txt | 93 + features.conf | 606 ++ intl/.cvsignore | 3 + intl/Makefile.am | 4 + intl/README | 7 + po/.cvsignore | 6 + po/.vimrc | 2 + po/Makefile.am | 145 + po/README | 353 + po/be.po | 7578 ++++++++++++++++++++ po/bg.po | 7721 +++++++++++++++++++++ po/ca.po | 7439 ++++++++++++++++++++ po/cs.po | 8177 ++++++++++++++++++++++ po/da.po | 8199 ++++++++++++++++++++++ po/de.po | 7870 +++++++++++++++++++++ po/el.po | 7447 ++++++++++++++++++++ po/es.po | 7567 ++++++++++++++++++++ po/et.po | 7444 ++++++++++++++++++++ po/fi.po | 7196 +++++++++++++++++++ po/fr.po | 8298 ++++++++++++++++++++++ po/gen_translations_stats.sh | 22 + po/gl.po | 7442 ++++++++++++++++++++ po/hr.po | 7444 ++++++++++++++++++++ po/hu.po | 7479 ++++++++++++++++++++ po/id.po | 7443 ++++++++++++++++++++ po/is.po | 7432 ++++++++++++++++++++ po/it.po | 8043 ++++++++++++++++++++++ po/lt.po | 7435 ++++++++++++++++++++ po/nl.po | 7442 ++++++++++++++++++++ po/no.po | 7438 ++++++++++++++++++++ po/pl.po | 8378 +++++++++++++++++++++++ po/pt.po | 7607 ++++++++++++++++++++ po/pt_BR.po | 7536 ++++++++++++++++++++ po/ro.po | 7437 ++++++++++++++++++++ po/ru.po | 7537 ++++++++++++++++++++ po/sk.po | 7957 +++++++++++++++++++++ po/sv.po | 7441 ++++++++++++++++++++ po/tr.po | 7433 ++++++++++++++++++++ po/uk.po | 7672 +++++++++++++++++++++ src/.cvsignore | 7 + src/.vimrc | 2 + src/Makefile.am | 101 + src/README | 72 + src/bfu/.cvsignore | 4 + src/bfu/.vimrc | 2 + src/bfu/Makefile.am | 47 + src/bfu/button.c | 233 + src/bfu/button.h | 55 + src/bfu/checkbox.c | 175 + src/bfu/checkbox.h | 43 + src/bfu/common.h | 29 + src/bfu/dialog.c | 659 ++ src/bfu/dialog.h | 152 + src/bfu/group.c | 119 + src/bfu/group.h | 16 + src/bfu/hierbox.c | 958 +++ src/bfu/hierbox.h | 103 + src/bfu/hotkey.c | 210 + src/bfu/hotkey.h | 20 + src/bfu/inpfield.c | 740 ++ src/bfu/inpfield.h | 120 + src/bfu/inphist.c | 355 + src/bfu/inphist.h | 60 + src/bfu/leds.c | 352 + src/bfu/leds.h | 54 + src/bfu/listbox.c | 727 ++ src/bfu/listbox.h | 155 + src/bfu/listmenu.c | 222 + src/bfu/listmenu.h | 24 + src/bfu/menu.c | 1214 ++++ src/bfu/menu.h | 181 + src/bfu/msgbox.c | 191 + src/bfu/msgbox.h | 119 + src/bfu/style.c | 114 + src/bfu/style.h | 16 + src/bfu/text.c | 460 ++ src/bfu/text.h | 64 + src/bfu/widget.c | 25 + src/bfu/widget.h | 81 + src/bookmarks/.cvsignore | 4 + src/bookmarks/.vimrc | 2 + src/bookmarks/Makefile.am | 23 + src/bookmarks/backend/.cvsignore | 4 + src/bookmarks/backend/.vimrc | 2 + src/bookmarks/backend/Makefile.am | 26 + src/bookmarks/backend/common.c | 102 + src/bookmarks/backend/common.h | 20 + src/bookmarks/backend/default.c | 163 + src/bookmarks/backend/default.h | 10 + src/bookmarks/backend/xbel.c | 549 ++ src/bookmarks/backend/xbel.h | 9 + src/bookmarks/bookmarks.c | 611 ++ src/bookmarks/bookmarks.h | 54 + src/bookmarks/dialogs.c | 689 ++ src/bookmarks/dialogs.h | 40 + src/cache/.cvsignore | 4 + src/cache/.vimrc | 2 + src/cache/Makefile.am | 12 + src/cache/cache.c | 907 +++ src/cache/cache.h | 148 + src/cache/dialogs.c | 246 + src/cache/dialogs.h | 14 + src/config/.cvsignore | 4 + src/config/.vimrc | 2 + src/config/Makefile.am | 29 + src/config/actions-edit.inc | 31 + src/config/actions-main.inc | 117 + src/config/actions-menu.inc | 26 + src/config/cmdline.c | 835 +++ src/config/cmdline.h | 11 + src/config/conf.c | 837 +++ src/config/conf.h | 32 + src/config/dialogs.c | 961 +++ src/config/dialogs.h | 24 + src/config/home.c | 163 + src/config/home.h | 12 + src/config/kbdbind.c | 923 +++ src/config/kbdbind.h | 202 + src/config/options.c | 1144 ++++ src/config/options.h | 344 + src/config/options.inc | 1238 ++++ src/config/opttypes.c | 414 ++ src/config/opttypes.h | 27 + src/config/timer.c | 81 + src/config/timer.h | 10 + src/config/urlhist.c | 69 + src/config/urlhist.h | 13 + src/cookies/.cvsignore | 4 + src/cookies/.vimrc | 2 + src/cookies/Makefile.am | 24 + src/cookies/cookies.c | 832 +++ src/cookies/cookies.h | 56 + src/cookies/dialogs.c | 439 ++ src/cookies/dialogs.h | 17 + src/cookies/parser.c | 92 + src/cookies/parser.h | 13 + src/cookies/parsetst.c | 44 + src/dialogs/.cvsignore | 4 + src/dialogs/.vimrc | 2 + src/dialogs/Makefile.am | 31 + src/dialogs/document.c | 322 + src/dialogs/document.h | 13 + src/dialogs/download.c | 518 ++ src/dialogs/download.h | 16 + src/dialogs/edit.c | 113 + src/dialogs/edit.h | 22 + src/dialogs/exmode.c | 157 + src/dialogs/exmode.h | 14 + src/dialogs/info.c | 278 + src/dialogs/info.h | 16 + src/dialogs/menu.c | 1074 +++ src/dialogs/menu.h | 63 + src/dialogs/options.c | 295 + src/dialogs/options.h | 14 + src/dialogs/progress.c | 143 + src/dialogs/progress.h | 20 + src/dialogs/status.c | 534 ++ src/dialogs/status.h | 18 + src/document/.cvsignore | 4 + src/document/.vimrc | 2 + src/document/Makefile.am | 67 + src/document/css/.cvsignore | 4 + src/document/css/.vimrc | 2 + src/document/css/Makefile.am | 31 + src/document/css/README | 170 + src/document/css/apply.c | 261 + src/document/css/apply.h | 36 + src/document/css/css.c | 163 + src/document/css/css.h | 26 + src/document/css/parser.c | 530 ++ src/document/css/parser.h | 28 + src/document/css/property.c | 29 + src/document/css/property.h | 95 + src/document/css/scanner.c | 360 + src/document/css/scanner.h | 108 + src/document/css/stylesheet.c | 285 + src/document/css/stylesheet.h | 148 + src/document/css/value.c | 302 + src/document/css/value.h | 57 + src/document/docdata.c | 31 + src/document/docdata.h | 22 + src/document/document.c | 359 + src/document/document.h | 228 + src/document/dom/.cvsignore | 4 + src/document/dom/.vimrc | 2 + src/document/dom/Makefile.am | 20 + src/document/dom/navigator.c | 259 + src/document/dom/navigator.h | 135 + src/document/dom/node.c | 432 ++ src/document/dom/node.h | 353 + src/document/dom/renderer.c | 729 ++ src/document/dom/renderer.h | 12 + src/document/forms.c | 163 + src/document/forms.h | 112 + src/document/html/.cvsignore | 4 + src/document/html/.vimrc | 2 + src/document/html/Makefile.am | 28 + src/document/html/TODO | 11 + src/document/html/frames.c | 509 ++ src/document/html/frames.h | 52 + src/document/html/internal.h | 137 + src/document/html/parser.c | 986 +++ src/document/html/parser.h | 211 + src/document/html/parser/.cvsignore | 4 + src/document/html/parser/.vimrc | 2 + src/document/html/parser/Makefile.am | 27 + src/document/html/parser/forms.c | 678 ++ src/document/html/parser/forms.h | 20 + src/document/html/parser/general.c | 813 +++ src/document/html/parser/general.h | 58 + src/document/html/parser/link.c | 872 +++ src/document/html/parser/link.h | 20 + src/document/html/parser/parse.c | 1082 +++ src/document/html/parser/parse.h | 71 + src/document/html/parser/stack.c | 248 + src/document/html/parser/stack.h | 22 + src/document/html/parser/table.c | 901 +++ src/document/html/parser/table.h | 122 + src/document/html/renderer.c | 2032 ++++++ src/document/html/renderer.h | 49 + src/document/html/tables.c | 1299 ++++ src/document/html/tables.h | 10 + src/document/options.c | 143 + src/document/options.h | 148 + src/document/plain/.cvsignore | 4 + src/document/plain/.vimrc | 2 + src/document/plain/Makefile.am | 10 + src/document/plain/renderer.c | 561 ++ src/document/plain/renderer.h | 12 + src/document/refresh.c | 118 + src/document/refresh.h | 23 + src/document/renderer.c | 599 ++ src/document/renderer.h | 19 + src/document/sgml/.cvsignore | 4 + src/document/sgml/.vimrc | 2 + src/document/sgml/Makefile.am | 24 + src/document/sgml/README | 62 + src/document/sgml/html/.cvsignore | 4 + src/document/sgml/html/.vimrc | 2 + src/document/sgml/html/Makefile.am | 18 + src/document/sgml/html/attribute.inc | 128 + src/document/sgml/html/element.inc | 96 + src/document/sgml/html/html.c | 103 + src/document/sgml/html/html.h | 34 + src/document/sgml/parser.c | 335 + src/document/sgml/parser.h | 37 + src/document/sgml/scanner.c | 409 ++ src/document/sgml/scanner.h | 69 + src/document/sgml/sgml.c | 33 + src/document/sgml/sgml.h | 83 + src/document/view.h | 52 + src/ecmascript/.cvsignore | 4 + src/ecmascript/.vimrc | 2 + src/ecmascript/Makefile.am | 22 + src/ecmascript/ecmascript.c | 204 + src/ecmascript/ecmascript.h | 70 + src/ecmascript/spidermonkey.c | 316 + src/ecmascript/spidermonkey.h | 19 + src/ecmascript/spidermonkey/.cvsignore | 4 + src/ecmascript/spidermonkey/.vimrc | 2 + src/ecmascript/spidermonkey/Makefile.am | 30 + src/ecmascript/spidermonkey/document.c | 222 + src/ecmascript/spidermonkey/document.h | 12 + src/ecmascript/spidermonkey/form.c | 948 +++ src/ecmascript/spidermonkey/form.h | 16 + src/ecmascript/spidermonkey/location.c | 247 + src/ecmascript/spidermonkey/location.h | 19 + src/ecmascript/spidermonkey/navigator.c | 142 + src/ecmascript/spidermonkey/navigator.h | 11 + src/ecmascript/spidermonkey/unibar.c | 144 + src/ecmascript/spidermonkey/unibar.h | 12 + src/ecmascript/spidermonkey/util.h | 103 + src/ecmascript/spidermonkey/window.c | 407 ++ src/ecmascript/spidermonkey/window.h | 12 + src/elinks.h | 41 + src/encoding/.cvsignore | 4 + src/encoding/.vimrc | 2 + src/encoding/Makefile.am | 27 + src/encoding/bzip2.c | 169 + src/encoding/bzip2.h | 14 + src/encoding/encoding.c | 367 + src/encoding/encoding.h | 50 + src/encoding/gzip.c | 250 + src/encoding/gzip.h | 14 + src/formhist/.cvsignore | 4 + src/formhist/.vimrc | 2 + src/formhist/Makefile.am | 12 + src/formhist/dialogs.c | 229 + src/formhist/dialogs.h | 13 + src/formhist/formhist.c | 447 ++ src/formhist/formhist.h | 41 + src/globhist/.cvsignore | 4 + src/globhist/.vimrc | 2 + src/globhist/Makefile.am | 12 + src/globhist/dialogs.c | 252 + src/globhist/dialogs.h | 12 + src/globhist/globhist.c | 436 ++ src/globhist/globhist.h | 36 + src/intl/.cvsignore | 8 + src/intl/.vimrc | 2 + src/intl/Makefile.am | 18 + src/intl/charsets.c | 873 +++ src/intl/charsets.h | 67 + src/intl/codepage.inc | 4660 +++++++++++++ src/intl/entity.inc | 1008 +++ src/intl/gettext/.cvsignore | 7 + src/intl/gettext/.vimrc | 2 + src/intl/gettext/Makefile.am | 110 + src/intl/gettext/TODO | 7 + src/intl/gettext/VERSION | 4 + src/intl/gettext/bindtextdom.c | 263 + src/intl/gettext/config.charset | 438 ++ src/intl/gettext/dcgettext.c | 33 + src/intl/gettext/dcigettext.c | 996 +++ src/intl/gettext/dcngettext.c | 34 + src/intl/gettext/dgettext.c | 35 + src/intl/gettext/dngettext.c | 34 + src/intl/gettext/explodename.c | 176 + src/intl/gettext/finddomain.c | 160 + src/intl/gettext/gettext.c | 37 + src/intl/gettext/gettext.h | 94 + src/intl/gettext/gettextP.h | 164 + src/intl/gettext/hash-string.h | 44 + src/intl/gettext/intl-compat.c | 134 + src/intl/gettext/l10nflist.c | 360 + src/intl/gettext/libgettext.h | 48 + src/intl/gettext/libgnuintl.h | 113 + src/intl/gettext/libintl.c | 219 + src/intl/gettext/libintl.h | 190 + src/intl/gettext/loadinfo.h | 87 + src/intl/gettext/loadmsgcat.c | 444 ++ src/intl/gettext/localcharset.c | 267 + src/intl/gettext/locale.alias | 77 + src/intl/gettext/localealias.c | 289 + src/intl/gettext/ngettext.c | 36 + src/intl/gettext/plural.c | 1300 ++++ src/intl/gettext/plural.y | 384 ++ src/intl/gettext/ref-add.sed.in | 31 + src/intl/gettext/ref-del.sed.in | 26 + src/intl/gettext/textdomain.c | 83 + src/intl/uni_7b.inc | 2460 +++++++ src/main/.cvsignore | 4 + src/main/.vimrc | 2 + src/main/Makefile.am | 32 + src/main/event.c | 329 + src/main/event.h | 124 + src/main/interlink.c | 521 ++ src/main/interlink.h | 14 + src/main/main.c | 358 + src/main/main.h | 27 + src/main/module.c | 185 + src/main/module.h | 88 + src/main/object.h | 86 + src/main/select.c | 340 + src/main/select.h | 51 + src/main/timer.c | 109 + src/main/timer.h | 28 + src/main/version.c | 137 + src/main/version.h | 11 + src/mime/.cvsignore | 4 + src/mime/.vimrc | 2 + src/mime/Makefile.am | 28 + src/mime/backend/.cvsignore | 4 + src/mime/backend/.vimrc | 2 + src/mime/backend/Makefile.am | 35 + src/mime/backend/common.c | 126 + src/mime/backend/common.h | 33 + src/mime/backend/default.c | 231 + src/mime/backend/default.h | 12 + src/mime/backend/mailcap.c | 676 ++ src/mime/backend/mailcap.h | 12 + src/mime/backend/mimetypes.c | 293 + src/mime/backend/mimetypes.h | 12 + src/mime/dialogs.c | 189 + src/mime/dialogs.h | 12 + src/mime/mime.c | 329 + src/mime/mime.h | 37 + src/network/.cvsignore | 4 + src/network/.vimrc | 2 + src/network/Makefile.am | 28 + src/network/connection.c | 1148 ++++ src/network/connection.h | 113 + src/network/dns.c | 537 ++ src/network/dns.h | 44 + src/network/progress.c | 112 + src/network/progress.h | 55 + src/network/socket.c | 937 +++ src/network/socket.h | 172 + src/network/ssl/.cvsignore | 4 + src/network/ssl/.vimrc | 2 + src/network/ssl/Makefile.am | 16 + src/network/ssl/TODO | 20 + src/network/ssl/socket.c | 330 + src/network/ssl/socket.h | 16 + src/network/ssl/ssl.c | 292 + src/network/ssl/ssl.h | 33 + src/network/state.c | 184 + src/network/state.h | 115 + src/osdep/.cvsignore | 4 + src/osdep/.vimrc | 2 + src/osdep/Makefile.am | 62 + src/osdep/ascii.h | 14 + src/osdep/beos/.cvsignore | 4 + src/osdep/beos/.vimrc | 2 + src/osdep/beos/Makefile.am | 19 + src/osdep/beos/beos.c | 252 + src/osdep/beos/beos.h | 15 + src/osdep/beos/overrides.c | 220 + src/osdep/beos/overrides.h | 48 + src/osdep/beos/sysinfo.h | 27 + src/osdep/generic.h | 110 + src/osdep/getifaddrs.c | 337 + src/osdep/getifaddrs.h | 74 + src/osdep/newwin.c | 87 + src/osdep/newwin.h | 36 + src/osdep/os2/.cvsignore | 4 + src/osdep/os2/.vimrc | 2 + src/osdep/os2/Makefile.am | 17 + src/osdep/os2/os2.c | 774 +++ src/osdep/os2/os2.h | 17 + src/osdep/os2/sysinfo.h | 44 + src/osdep/osdep.c | 849 +++ src/osdep/osdep.h | 72 + src/osdep/riscos/.cvsignore | 4 + src/osdep/riscos/.vimrc | 2 + src/osdep/riscos/Makefile.am | 17 + src/osdep/riscos/riscos.c | 20 + src/osdep/riscos/riscos.h | 12 + src/osdep/riscos/sysinfo.h | 21 + src/osdep/signals.c | 363 + src/osdep/signals.h | 22 + src/osdep/stat.h | 42 + src/osdep/stub.c | 378 + src/osdep/stub.h | 149 + src/osdep/sysname.c | 70 + src/osdep/sysname.h | 10 + src/osdep/system.h | 29 + src/osdep/types.h | 112 + src/osdep/unix/.cvsignore | 4 + src/osdep/unix/.vimrc | 2 + src/osdep/unix/Makefile.am | 18 + src/osdep/unix/bsd.c | 220 + src/osdep/unix/sysinfo.h | 25 + src/osdep/unix/unix.c | 148 + src/osdep/unix/unix.h | 12 + src/osdep/win32/.cvsignore | 4 + src/osdep/win32/.vimrc | 2 + src/osdep/win32/Makefile.am | 19 + src/osdep/win32/overrides.c | 895 +++ src/osdep/win32/overrides.h | 52 + src/osdep/win32/sysinfo.h | 47 + src/osdep/win32/win32.c | 261 + src/osdep/win32/win32.h | 64 + src/protocol/.cvsignore | 4 + src/protocol/.vimrc | 2 + src/protocol/Makefile.am | 107 + src/protocol/about.c | 126 + src/protocol/about.h | 10 + src/protocol/auth/.cvsignore | 4 + src/protocol/auth/.vimrc | 2 + src/protocol/auth/Makefile.am | 16 + src/protocol/auth/auth.c | 323 + src/protocol/auth/auth.h | 45 + src/protocol/auth/dialogs.c | 273 + src/protocol/auth/dialogs.h | 14 + src/protocol/auth/digest.c | 169 + src/protocol/auth/digest.h | 12 + src/protocol/bittorrent/.cvsignore | 4 + src/protocol/bittorrent/.vimrc | 2 + src/protocol/bittorrent/Makefile.am | 28 + src/protocol/bittorrent/bencoding.c | 1000 +++ src/protocol/bittorrent/bencoding.h | 14 + src/protocol/bittorrent/bittorrent.c | 335 + src/protocol/bittorrent/bittorrent.h | 23 + src/protocol/bittorrent/common.c | 535 ++ src/protocol/bittorrent/common.h | 439 ++ src/protocol/bittorrent/connection.c | 411 ++ src/protocol/bittorrent/connection.h | 26 + src/protocol/bittorrent/dialogs.c | 826 +++ src/protocol/bittorrent/dialogs.h | 36 + src/protocol/bittorrent/peerconnect.c | 454 ++ src/protocol/bittorrent/peerconnect.h | 24 + src/protocol/bittorrent/peerwire.c | 961 +++ src/protocol/bittorrent/peerwire.h | 84 + src/protocol/bittorrent/piececache.c | 1360 ++++ src/protocol/bittorrent/piececache.h | 128 + src/protocol/bittorrent/tracker.c | 291 + src/protocol/bittorrent/tracker.h | 16 + src/protocol/data.c | 167 + src/protocol/data.h | 14 + src/protocol/date.c | 328 + src/protocol/date.h | 32 + src/protocol/file/.cvsignore | 4 + src/protocol/file/.vimrc | 2 + src/protocol/file/Makefile.am | 18 + src/protocol/file/cgi.c | 381 ++ src/protocol/file/cgi.h | 10 + src/protocol/file/file.c | 333 + src/protocol/file/file.h | 12 + src/protocol/finger/.cvsignore | 4 + src/protocol/finger/.vimrc | 2 + src/protocol/finger/Makefile.am | 10 + src/protocol/finger/finger.c | 94 + src/protocol/finger/finger.h | 18 + src/protocol/ftp/.cvsignore | 4 + src/protocol/ftp/.vimrc | 2 + src/protocol/ftp/Makefile.am | 12 + src/protocol/ftp/ftp.c | 1389 ++++ src/protocol/ftp/ftp.h | 17 + src/protocol/ftp/parse.c | 692 ++ src/protocol/ftp/parse.h | 52 + src/protocol/gopher/.cvsignore | 4 + src/protocol/gopher/.vimrc | 2 + src/protocol/gopher/Makefile.am | 10 + src/protocol/gopher/gopher.c | 839 +++ src/protocol/gopher/gopher.h | 18 + src/protocol/header.c | 297 + src/protocol/header.h | 10 + src/protocol/http/.cvsignore | 4 + src/protocol/http/.vimrc | 2 + src/protocol/http/Makefile.am | 16 + src/protocol/http/README.timegm | 64 + src/protocol/http/blacklist.c | 88 + src/protocol/http/blacklist.h | 19 + src/protocol/http/codes.c | 199 + src/protocol/http/codes.h | 12 + src/protocol/http/http.c | 1812 +++++ src/protocol/http/http.h | 31 + src/protocol/nntp/.cvsignore | 4 + src/protocol/nntp/.vimrc | 2 + src/protocol/nntp/Makefile.am | 15 + src/protocol/nntp/codes.h | 100 + src/protocol/nntp/connection.c | 592 ++ src/protocol/nntp/connection.h | 93 + src/protocol/nntp/nntp.c | 73 + src/protocol/nntp/nntp.h | 16 + src/protocol/nntp/response.c | 458 ++ src/protocol/nntp/response.h | 30 + src/protocol/protocol.c | 308 + src/protocol/protocol.h | 62 + src/protocol/proxy.c | 212 + src/protocol/proxy.h | 18 + src/protocol/rewrite/.cvsignore | 4 + src/protocol/rewrite/.vimrc | 2 + src/protocol/rewrite/Makefile.am | 10 + src/protocol/rewrite/rewrite.c | 375 + src/protocol/rewrite/rewrite.h | 13 + src/protocol/smb/.cvsignore | 4 + src/protocol/smb/.vimrc | 2 + src/protocol/smb/Makefile.am | 10 + src/protocol/smb/smb.c | 743 ++ src/protocol/smb/smb.h | 17 + src/protocol/uri.c | 1576 +++++ src/protocol/uri.h | 315 + src/protocol/user.c | 299 + src/protocol/user.h | 15 + src/scripting/.cvsignore | 4 + src/scripting/.vimrc | 2 + src/scripting/Makefile.am | 47 + src/scripting/TODO | 13 + src/scripting/guile/.cvsignore | 4 + src/scripting/guile/.vimrc | 2 + src/scripting/guile/Makefile.am | 17 + src/scripting/guile/README | 22 + src/scripting/guile/core.c | 83 + src/scripting/guile/core.h | 8 + src/scripting/guile/guile.c | 23 + src/scripting/guile/guile.h | 10 + src/scripting/guile/hooks.c | 191 + src/scripting/guile/hooks.h | 10 + src/scripting/lua/.cvsignore | 4 + src/scripting/lua/.vimrc | 2 + src/scripting/lua/Makefile.am | 18 + src/scripting/lua/TODO | 18 + src/scripting/lua/core.c | 884 +++ src/scripting/lua/core.h | 31 + src/scripting/lua/hooks.c | 217 + src/scripting/lua/hooks.h | 10 + src/scripting/lua/lua.c | 23 + src/scripting/lua/lua.h | 10 + src/scripting/perl/.cvsignore | 4 + src/scripting/perl/.vimrc | 2 + src/scripting/perl/Makefile.am | 15 + src/scripting/perl/core.c | 108 + src/scripting/perl/core.h | 17 + src/scripting/perl/hooks.c | 239 + src/scripting/perl/hooks.h | 10 + src/scripting/perl/perl.c | 23 + src/scripting/perl/perl.h | 10 + src/scripting/python/.cvsignore | 4 + src/scripting/python/.vimrc | 2 + src/scripting/python/Makefile.am | 15 + src/scripting/python/core.c | 57 + src/scripting/python/core.h | 15 + src/scripting/python/hooks.c | 218 + src/scripting/python/hooks.h | 10 + src/scripting/python/python.c | 24 + src/scripting/python/python.h | 10 + src/scripting/ruby/.cvsignore | 4 + src/scripting/ruby/.vimrc | 2 + src/scripting/ruby/Makefile.am | 16 + src/scripting/ruby/core.c | 274 + src/scripting/ruby/core.h | 18 + src/scripting/ruby/hooks.c | 259 + src/scripting/ruby/hooks.h | 10 + src/scripting/ruby/ruby.c | 23 + src/scripting/ruby/ruby.h | 10 + src/scripting/scripting.c | 51 + src/scripting/scripting.h | 14 + src/session/.cvsignore | 4 + src/session/.vimrc | 2 + src/session/Makefile.am | 18 + src/session/download.c | 1205 ++++ src/session/download.h | 123 + src/session/history.c | 193 + src/session/history.h | 47 + src/session/location.c | 52 + src/session/location.h | 24 + src/session/session.c | 1375 ++++ src/session/session.h | 265 + src/session/task.c | 746 ++ src/session/task.h | 38 + src/setup.h | 112 + src/terminal/.cvsignore | 4 + src/terminal/.vimrc | 2 + src/terminal/Makefile.am | 41 + src/terminal/TODO | 22 + src/terminal/color.c | 381 ++ src/terminal/color.h | 67 + src/terminal/draw.c | 359 + src/terminal/draw.h | 131 + src/terminal/event.c | 383 ++ src/terminal/event.h | 139 + src/terminal/graphics/.cvsignore | 4 + src/terminal/graphics/.vimrc | 2 + src/terminal/hardio.c | 150 + src/terminal/hardio.h | 9 + src/terminal/itrm.h | 43 + src/terminal/kbd.c | 924 +++ src/terminal/kbd.h | 77 + src/terminal/key.inc | 284 + src/terminal/mouse.c | 206 + src/terminal/mouse.h | 124 + src/terminal/palette.inc | 435 ++ src/terminal/screen.c | 779 +++ src/terminal/screen.h | 57 + src/terminal/tab.c | 293 + src/terminal/tab.h | 40 + src/terminal/terminal.c | 353 + src/terminal/terminal.h | 168 + src/terminal/text/.cvsignore | 4 + src/terminal/text/.vimrc | 2 + src/terminal/window.c | 174 + src/terminal/window.h | 61 + src/util/.cvsignore | 4 + src/util/.vimrc | 2 + src/util/Makefile.am | 82 + src/util/align.h | 13 + src/util/base64.c | 134 + src/util/base64.h | 9 + src/util/bitfield.h | 148 + src/util/box.h | 53 + src/util/color.c | 155 + src/util/color.h | 32 + src/util/color.inc | 473 ++ src/util/color_s.inc | 146 + src/util/conv.c | 480 ++ src/util/conv.h | 187 + src/util/env.c | 75 + src/util/env.h | 9 + src/util/error.c | 330 + src/util/error.h | 239 + src/util/fastfind.c | 794 +++ src/util/fastfind.h | 59 + src/util/file.c | 600 ++ src/util/file.h | 55 + src/util/hash.c | 306 + src/util/hash.h | 42 + src/util/lists.h | 234 + src/util/math.h | 82 + src/util/md5.c | 265 + src/util/md5.h | 56 + src/util/memdebug.c | 560 ++ src/util/memdebug.h | 29 + src/util/memlist.c | 176 + src/util/memlist.h | 35 + src/util/memory.c | 191 + src/util/memory.h | 166 + src/util/profile.h | 50 + src/util/scanner.c | 173 + src/util/scanner.h | 245 + src/util/secsave.c | 340 + src/util/secsave.h | 43 + src/util/sha1.c | 176 + src/util/sha1.h | 81 + src/util/snprintf.c | 1030 +++ src/util/snprintf.h | 95 + src/util/string.c | 464 ++ src/util/string.h | 258 + src/util/time.c | 231 + src/util/time.h | 50 + src/vernum.c | 13 + src/vernum.h | 8 + src/viewer/.cvsignore | 4 + src/viewer/.vimrc | 2 + src/viewer/Makefile.am | 29 + src/viewer/action.c | 606 ++ src/viewer/action.h | 25 + src/viewer/dump/.cvsignore | 4 + src/viewer/dump/.vimrc | 2 + src/viewer/dump/Makefile.am | 10 + src/viewer/dump/dump.c | 468 ++ src/viewer/dump/dump.h | 18 + src/viewer/graphics/.cvsignore | 4 + src/viewer/graphics/.vimrc | 2 + src/viewer/text/.cvsignore | 4 + src/viewer/text/.vimrc | 2 + src/viewer/text/Makefile.am | 30 + src/viewer/text/draw.c | 375 + src/viewer/text/draw.h | 19 + src/viewer/text/form.c | 1610 +++++ src/viewer/text/form.h | 96 + src/viewer/text/link.c | 1303 ++++ src/viewer/text/link.h | 57 + src/viewer/text/marks.c | 148 + src/viewer/text/marks.h | 13 + src/viewer/text/search.c | 1662 +++++ src/viewer/text/search.h | 30 + src/viewer/text/textarea.c | 644 ++ src/viewer/text/textarea.h | 35 + src/viewer/text/view.c | 1315 ++++ src/viewer/text/view.h | 84 + src/viewer/text/vs.c | 163 + src/viewer/text/vs.h | 51 + src/viewer/timer.c | 92 + src/viewer/timer.h | 13 + test/.cvsignore | 4 + test/Makefile.am | 6 + test/README | 7 + test/align.html | 78 + test/backspaces.txt | 23 + test/bigtextarea.html | 344 + test/color.html | 804 +++ test/comments.html | 11 + test/css/cascading.html | 3 + test/css/garbage.html | 17 + test/css/idnes_mail.html | 34 + test/css/selectors.html | 18 + test/css/simplecolors.html | 20 + test/css/simplefont.html | 28 + test/css/simpletext.html | 24 + test/css/styletags.html | 39 + test/ecmascript/history.html | 32 + test/ecmascript/infinite.html | 3 + test/ecmascript/inlinescript.html | 15 + test/ecmascript/onload.html | 5 + test/ecmascript/ontest.html | 4 + test/ecmascript/protocol.html | 5 + test/erreurs_en.htm | 532 ++ test/garbage.html | Bin 0 -> 102423 bytes test/href_tests.html | 78 + test/imgmap.html | 11 + test/javascript_broken.html | 588 ++ test/longtitle.html | 73 + test/malicious_uris.html | 8 + test/optgroup.html | 43 + test/poocs.net.html | 290 + test/portlink.html | 10 + test/refresh.html | 6 + test/subsup.html | 11 + test/tabindex.html | 39 + test/tablebg.html | 22 + test/tables.html | 38 + test/target_blank.html | 5 + test/td-width.html | 23 + test/underline.html | 21 + test/xmp.html | 1 + 961 files changed, 394417 insertions(+) create mode 100644 ABOUT-NLS create mode 100644 AUTHORS create mode 100644 BUGS create mode 100644 COPYING create mode 100644 INSTALL create mode 100644 Makefile.am create mode 100644 Makefile.base create mode 100644 NEWS create mode 100644 README create mode 100644 SITES create mode 100644 THANKS create mode 100644 TODO create mode 100644 Unicode/.cvsignore create mode 100644 Unicode/7bit.cp create mode 100644 Unicode/7bitrepl.lnx create mode 100644 Unicode/8859_1.cp create mode 100644 Unicode/8859_10.cp create mode 100644 Unicode/8859_13.cp create mode 100644 Unicode/8859_14.cp create mode 100644 Unicode/8859_15.cp create mode 100644 Unicode/8859_16.cp create mode 100644 Unicode/8859_2.cp create mode 100644 Unicode/8859_3.cp create mode 100644 Unicode/8859_4.cp create mode 100644 Unicode/8859_5.cp create mode 100644 Unicode/8859_6.cp create mode 100644 Unicode/8859_7.cp create mode 100644 Unicode/8859_8.cp create mode 100644 Unicode/8859_9.cp create mode 100644 Unicode/Makefile.am create mode 100644 Unicode/README create mode 100644 Unicode/cp1125.cp create mode 100644 Unicode/cp1250.cp create mode 100644 Unicode/cp1251.cp create mode 100644 Unicode/cp1252.cp create mode 100644 Unicode/cp1256.cp create mode 100644 Unicode/cp1257.cp create mode 100644 Unicode/cp437.cp create mode 100644 Unicode/cp737.cp create mode 100644 Unicode/cp850.cp create mode 100644 Unicode/cp852.cp create mode 100644 Unicode/cp866.cp create mode 100644 Unicode/entities.lnx create mode 100755 Unicode/gen create mode 100755 Unicode/gen-7b create mode 100755 Unicode/gen-cp create mode 100755 Unicode/gen-ent create mode 100644 Unicode/index.txt create mode 100644 Unicode/kamen.cp create mode 100644 Unicode/koi8_r.cp create mode 100644 Unicode/koi8_ru.cp create mode 100644 Unicode/koi8_u.cp create mode 100644 Unicode/mac_lat2.cp create mode 100644 Unicode/macroman.cp create mode 100644 Unicode/tcvn5712.cp create mode 100755 Unicode/tr7bit.awk create mode 100644 Unicode/utf_8.cp create mode 100644 Unicode/viscii.cp create mode 100755 autogen.sh create mode 100644 config/.cvsignore create mode 100644 config/.vimrc create mode 100644 config/Makefile.am create mode 100644 config/config.guess create mode 100644 config/config.sub create mode 100644 config/m4/.vimrc create mode 100644 config/m4/codeset.m4 create mode 100644 config/m4/features.m4 create mode 100644 config/m4/gettext.m4 create mode 100644 config/m4/glibc21.m4 create mode 100644 config/m4/iconv.m4 create mode 100644 config/m4/isc-posix.m4 create mode 100644 config/m4/lcmessage.m4 create mode 100644 config/m4/os2.m4 create mode 100644 config/m4/progtest.m4 create mode 100644 config/m4/ruby.m4 create mode 100644 config/m4/win32.m4 create mode 100644 configure.in create mode 100644 contrib/.cvsignore create mode 100644 contrib/LinksOS2Icon.zip create mode 100644 contrib/Makefile.am create mode 100644 contrib/README create mode 100644 contrib/TIPS-AND-TRICKS create mode 100644 contrib/cgi/Makefile create mode 100644 contrib/cgi/README.FSP create mode 100644 contrib/cgi/fspcgi.c create mode 100644 contrib/colws.diff create mode 100644 contrib/conv/.cvsignore create mode 100755 contrib/conv/conf-links2elinks.pl create mode 100755 contrib/conv/mailcap.pl create mode 100755 contrib/conv/old_to_new_bookmarks.sh create mode 100644 contrib/conv/w3m2links.awk.in create mode 100644 contrib/elinks-vim.diff create mode 100644 contrib/elinks.conf create mode 100644 contrib/elinks.fortune create mode 100644 contrib/elinks.spec.in create mode 100644 contrib/elinks.vim create mode 100644 contrib/guile/.cvsignore create mode 100644 contrib/guile/internal-hooks.scm create mode 100644 contrib/guile/user-hooks.scm create mode 100644 contrib/js-1.5-rc6a+elinks.patch create mode 100644 contrib/keybind-full.conf create mode 100644 contrib/keybind.conf create mode 100644 contrib/links_wps.zip create mode 100644 contrib/lua/.cvsignore create mode 100644 contrib/lua/babelfish.lua create mode 100644 contrib/lua/bm-to-elinks-bookmarks.lua create mode 100644 contrib/lua/bm.lua create mode 100644 contrib/lua/config.lua create mode 100755 contrib/lua/elinks-remote create mode 100644 contrib/lua/highlight.lua create mode 100644 contrib/lua/hooks.lua.in create mode 100644 contrib/lua/md5check.lua create mode 100644 contrib/lua/remote.lua create mode 100644 contrib/perl/.cvsignore create mode 100644 contrib/perl/config.pl create mode 100644 contrib/perl/hooks.pl create mode 100644 contrib/python/hooks.py create mode 100644 contrib/ruby/.cvsignore create mode 100644 contrib/ruby/hooks.rb create mode 100644 contrib/user.css create mode 100755 contrib/wipe-out-ssl create mode 100644 contrib/wipe-out-ssl.awk create mode 100644 debian/.cvsignore create mode 100644 debian/.vimrc create mode 100644 debian/Makefile.am create mode 100644 debian/README.Debian create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/control.in create mode 100644 debian/copyright create mode 100644 debian/elinks.desktop create mode 100644 debian/elinks.docs create mode 100644 debian/elinks.postinst create mode 100644 debian/elinks.preinst create mode 100644 debian/elinks.prerm create mode 100644 debian/menu create mode 100644 debian/mime create mode 100755 debian/rules create mode 100644 debian/watch create mode 100644 doc/.cvsignore create mode 100644 doc/.vimrc create mode 100644 doc/Makefile.am create mode 100644 doc/README create mode 100644 doc/bookmarks.txt create mode 100644 doc/color-model.txt create mode 100644 doc/dev-intro.txt create mode 100644 doc/ecmascript.txt create mode 100644 doc/events.txt create mode 100644 doc/exmode.txt create mode 100644 doc/faq.txt create mode 100644 doc/feedback.txt create mode 100755 doc/get-cvs-docs create mode 100644 doc/hacking.txt create mode 100644 doc/index.txt create mode 100644 doc/installation.txt create mode 100644 doc/introduction.txt create mode 100644 doc/lua-scripting.txt create mode 100644 doc/mailcap.txt create mode 100644 doc/man/.cvsignore create mode 100644 doc/man/.vimrc create mode 100644 doc/man/Makefile.am create mode 100644 doc/man/man1/.cvsignore create mode 100644 doc/man/man1/.vimrc create mode 100644 doc/man/man1/Makefile.am create mode 100644 doc/man/man1/elinks.1.in create mode 100644 doc/man/man5/.cvsignore create mode 100644 doc/man/man5/.vimrc create mode 100644 doc/man/man5/Makefile.am create mode 100644 doc/man/man5/elinks.conf.5 create mode 100644 doc/man/man5/elinkskeys.5 create mode 100644 doc/manual.txt create mode 100644 doc/marks.txt create mode 100644 doc/mime.txt create mode 100644 doc/perl.pod create mode 100644 doc/remote.txt create mode 100644 doc/small.txt create mode 100644 doc/tabs.txt create mode 100644 doc/terminals.txt create mode 100644 doc/tools/.cvsignore create mode 100644 doc/tools/.vimrc create mode 100755 doc/tools/help2doc create mode 100755 doc/tools/import-features.conf create mode 100755 doc/tools/make-elinks-manpage create mode 100755 doc/tools/make-elinkskeys-manpage create mode 100644 doc/urlshortcuts.txt create mode 100644 features.conf create mode 100644 intl/.cvsignore create mode 100644 intl/Makefile.am create mode 100644 intl/README create mode 100644 po/.cvsignore create mode 100644 po/.vimrc create mode 100644 po/Makefile.am create mode 100644 po/README create mode 100644 po/be.po create mode 100644 po/bg.po create mode 100644 po/ca.po create mode 100644 po/cs.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/el.po create mode 100644 po/es.po create mode 100644 po/et.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/gen_translations_stats.sh create mode 100644 po/gl.po create mode 100644 po/hr.po create mode 100644 po/hu.po create mode 100644 po/id.po create mode 100644 po/is.po create mode 100644 po/it.po create mode 100644 po/lt.po create mode 100644 po/nl.po create mode 100644 po/no.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/ro.po create mode 100644 po/ru.po create mode 100644 po/sk.po create mode 100644 po/sv.po create mode 100644 po/tr.po create mode 100644 po/uk.po create mode 100644 src/.cvsignore create mode 100644 src/.vimrc create mode 100644 src/Makefile.am create mode 100644 src/README create mode 100644 src/bfu/.cvsignore create mode 100644 src/bfu/.vimrc create mode 100644 src/bfu/Makefile.am create mode 100644 src/bfu/button.c create mode 100644 src/bfu/button.h create mode 100644 src/bfu/checkbox.c create mode 100644 src/bfu/checkbox.h create mode 100644 src/bfu/common.h create mode 100644 src/bfu/dialog.c create mode 100644 src/bfu/dialog.h create mode 100644 src/bfu/group.c create mode 100644 src/bfu/group.h create mode 100644 src/bfu/hierbox.c create mode 100644 src/bfu/hierbox.h create mode 100644 src/bfu/hotkey.c create mode 100644 src/bfu/hotkey.h create mode 100644 src/bfu/inpfield.c create mode 100644 src/bfu/inpfield.h create mode 100644 src/bfu/inphist.c create mode 100644 src/bfu/inphist.h create mode 100644 src/bfu/leds.c create mode 100644 src/bfu/leds.h create mode 100644 src/bfu/listbox.c create mode 100644 src/bfu/listbox.h create mode 100644 src/bfu/listmenu.c create mode 100644 src/bfu/listmenu.h create mode 100644 src/bfu/menu.c create mode 100644 src/bfu/menu.h create mode 100644 src/bfu/msgbox.c create mode 100644 src/bfu/msgbox.h create mode 100644 src/bfu/style.c create mode 100644 src/bfu/style.h create mode 100644 src/bfu/text.c create mode 100644 src/bfu/text.h create mode 100644 src/bfu/widget.c create mode 100644 src/bfu/widget.h create mode 100644 src/bookmarks/.cvsignore create mode 100644 src/bookmarks/.vimrc create mode 100644 src/bookmarks/Makefile.am create mode 100644 src/bookmarks/backend/.cvsignore create mode 100644 src/bookmarks/backend/.vimrc create mode 100644 src/bookmarks/backend/Makefile.am create mode 100644 src/bookmarks/backend/common.c create mode 100644 src/bookmarks/backend/common.h create mode 100644 src/bookmarks/backend/default.c create mode 100644 src/bookmarks/backend/default.h create mode 100644 src/bookmarks/backend/xbel.c create mode 100644 src/bookmarks/backend/xbel.h create mode 100644 src/bookmarks/bookmarks.c create mode 100644 src/bookmarks/bookmarks.h create mode 100644 src/bookmarks/dialogs.c create mode 100644 src/bookmarks/dialogs.h create mode 100644 src/cache/.cvsignore create mode 100644 src/cache/.vimrc create mode 100644 src/cache/Makefile.am create mode 100644 src/cache/cache.c create mode 100644 src/cache/cache.h create mode 100644 src/cache/dialogs.c create mode 100644 src/cache/dialogs.h create mode 100644 src/config/.cvsignore create mode 100644 src/config/.vimrc create mode 100644 src/config/Makefile.am create mode 100644 src/config/actions-edit.inc create mode 100644 src/config/actions-main.inc create mode 100644 src/config/actions-menu.inc create mode 100644 src/config/cmdline.c create mode 100644 src/config/cmdline.h create mode 100644 src/config/conf.c create mode 100644 src/config/conf.h create mode 100644 src/config/dialogs.c create mode 100644 src/config/dialogs.h create mode 100644 src/config/home.c create mode 100644 src/config/home.h create mode 100644 src/config/kbdbind.c create mode 100644 src/config/kbdbind.h create mode 100644 src/config/options.c create mode 100644 src/config/options.h create mode 100644 src/config/options.inc create mode 100644 src/config/opttypes.c create mode 100644 src/config/opttypes.h create mode 100644 src/config/timer.c create mode 100644 src/config/timer.h create mode 100644 src/config/urlhist.c create mode 100644 src/config/urlhist.h create mode 100644 src/cookies/.cvsignore create mode 100644 src/cookies/.vimrc create mode 100644 src/cookies/Makefile.am create mode 100644 src/cookies/cookies.c create mode 100644 src/cookies/cookies.h create mode 100644 src/cookies/dialogs.c create mode 100644 src/cookies/dialogs.h create mode 100644 src/cookies/parser.c create mode 100644 src/cookies/parser.h create mode 100644 src/cookies/parsetst.c create mode 100644 src/dialogs/.cvsignore create mode 100644 src/dialogs/.vimrc create mode 100644 src/dialogs/Makefile.am create mode 100644 src/dialogs/document.c create mode 100644 src/dialogs/document.h create mode 100644 src/dialogs/download.c create mode 100644 src/dialogs/download.h create mode 100644 src/dialogs/edit.c create mode 100644 src/dialogs/edit.h create mode 100644 src/dialogs/exmode.c create mode 100644 src/dialogs/exmode.h create mode 100644 src/dialogs/info.c create mode 100644 src/dialogs/info.h create mode 100644 src/dialogs/menu.c create mode 100644 src/dialogs/menu.h create mode 100644 src/dialogs/options.c create mode 100644 src/dialogs/options.h create mode 100644 src/dialogs/progress.c create mode 100644 src/dialogs/progress.h create mode 100644 src/dialogs/status.c create mode 100644 src/dialogs/status.h create mode 100644 src/document/.cvsignore create mode 100644 src/document/.vimrc create mode 100644 src/document/Makefile.am create mode 100644 src/document/css/.cvsignore create mode 100644 src/document/css/.vimrc create mode 100644 src/document/css/Makefile.am create mode 100644 src/document/css/README create mode 100644 src/document/css/apply.c create mode 100644 src/document/css/apply.h create mode 100644 src/document/css/css.c create mode 100644 src/document/css/css.h create mode 100644 src/document/css/parser.c create mode 100644 src/document/css/parser.h create mode 100644 src/document/css/property.c create mode 100644 src/document/css/property.h create mode 100644 src/document/css/scanner.c create mode 100644 src/document/css/scanner.h create mode 100644 src/document/css/stylesheet.c create mode 100644 src/document/css/stylesheet.h create mode 100644 src/document/css/value.c create mode 100644 src/document/css/value.h create mode 100644 src/document/docdata.c create mode 100644 src/document/docdata.h create mode 100644 src/document/document.c create mode 100644 src/document/document.h create mode 100644 src/document/dom/.cvsignore create mode 100644 src/document/dom/.vimrc create mode 100644 src/document/dom/Makefile.am create mode 100644 src/document/dom/navigator.c create mode 100644 src/document/dom/navigator.h create mode 100644 src/document/dom/node.c create mode 100644 src/document/dom/node.h create mode 100644 src/document/dom/renderer.c create mode 100644 src/document/dom/renderer.h create mode 100644 src/document/forms.c create mode 100644 src/document/forms.h create mode 100644 src/document/html/.cvsignore create mode 100644 src/document/html/.vimrc create mode 100644 src/document/html/Makefile.am create mode 100644 src/document/html/TODO create mode 100644 src/document/html/frames.c create mode 100644 src/document/html/frames.h create mode 100644 src/document/html/internal.h create mode 100644 src/document/html/parser.c create mode 100644 src/document/html/parser.h create mode 100644 src/document/html/parser/.cvsignore create mode 100644 src/document/html/parser/.vimrc create mode 100644 src/document/html/parser/Makefile.am create mode 100644 src/document/html/parser/forms.c create mode 100644 src/document/html/parser/forms.h create mode 100644 src/document/html/parser/general.c create mode 100644 src/document/html/parser/general.h create mode 100644 src/document/html/parser/link.c create mode 100644 src/document/html/parser/link.h create mode 100644 src/document/html/parser/parse.c create mode 100644 src/document/html/parser/parse.h create mode 100644 src/document/html/parser/stack.c create mode 100644 src/document/html/parser/stack.h create mode 100644 src/document/html/parser/table.c create mode 100644 src/document/html/parser/table.h create mode 100644 src/document/html/renderer.c create mode 100644 src/document/html/renderer.h create mode 100644 src/document/html/tables.c create mode 100644 src/document/html/tables.h create mode 100644 src/document/options.c create mode 100644 src/document/options.h create mode 100644 src/document/plain/.cvsignore create mode 100644 src/document/plain/.vimrc create mode 100644 src/document/plain/Makefile.am create mode 100644 src/document/plain/renderer.c create mode 100644 src/document/plain/renderer.h create mode 100644 src/document/refresh.c create mode 100644 src/document/refresh.h create mode 100644 src/document/renderer.c create mode 100644 src/document/renderer.h create mode 100644 src/document/sgml/.cvsignore create mode 100644 src/document/sgml/.vimrc create mode 100644 src/document/sgml/Makefile.am create mode 100644 src/document/sgml/README create mode 100644 src/document/sgml/html/.cvsignore create mode 100644 src/document/sgml/html/.vimrc create mode 100644 src/document/sgml/html/Makefile.am create mode 100644 src/document/sgml/html/attribute.inc create mode 100644 src/document/sgml/html/element.inc create mode 100644 src/document/sgml/html/html.c create mode 100644 src/document/sgml/html/html.h create mode 100644 src/document/sgml/parser.c create mode 100644 src/document/sgml/parser.h create mode 100644 src/document/sgml/scanner.c create mode 100644 src/document/sgml/scanner.h create mode 100644 src/document/sgml/sgml.c create mode 100644 src/document/sgml/sgml.h create mode 100644 src/document/view.h create mode 100644 src/ecmascript/.cvsignore create mode 100644 src/ecmascript/.vimrc create mode 100644 src/ecmascript/Makefile.am create mode 100644 src/ecmascript/ecmascript.c create mode 100644 src/ecmascript/ecmascript.h create mode 100644 src/ecmascript/spidermonkey.c create mode 100644 src/ecmascript/spidermonkey.h create mode 100644 src/ecmascript/spidermonkey/.cvsignore create mode 100644 src/ecmascript/spidermonkey/.vimrc create mode 100644 src/ecmascript/spidermonkey/Makefile.am create mode 100644 src/ecmascript/spidermonkey/document.c create mode 100644 src/ecmascript/spidermonkey/document.h create mode 100644 src/ecmascript/spidermonkey/form.c create mode 100644 src/ecmascript/spidermonkey/form.h create mode 100644 src/ecmascript/spidermonkey/location.c create mode 100644 src/ecmascript/spidermonkey/location.h create mode 100644 src/ecmascript/spidermonkey/navigator.c create mode 100644 src/ecmascript/spidermonkey/navigator.h create mode 100644 src/ecmascript/spidermonkey/unibar.c create mode 100644 src/ecmascript/spidermonkey/unibar.h create mode 100644 src/ecmascript/spidermonkey/util.h create mode 100644 src/ecmascript/spidermonkey/window.c create mode 100644 src/ecmascript/spidermonkey/window.h create mode 100644 src/elinks.h create mode 100644 src/encoding/.cvsignore create mode 100644 src/encoding/.vimrc create mode 100644 src/encoding/Makefile.am create mode 100644 src/encoding/bzip2.c create mode 100644 src/encoding/bzip2.h create mode 100644 src/encoding/encoding.c create mode 100644 src/encoding/encoding.h create mode 100644 src/encoding/gzip.c create mode 100644 src/encoding/gzip.h create mode 100644 src/formhist/.cvsignore create mode 100644 src/formhist/.vimrc create mode 100644 src/formhist/Makefile.am create mode 100644 src/formhist/dialogs.c create mode 100644 src/formhist/dialogs.h create mode 100644 src/formhist/formhist.c create mode 100644 src/formhist/formhist.h create mode 100644 src/globhist/.cvsignore create mode 100644 src/globhist/.vimrc create mode 100644 src/globhist/Makefile.am create mode 100644 src/globhist/dialogs.c create mode 100644 src/globhist/dialogs.h create mode 100644 src/globhist/globhist.c create mode 100644 src/globhist/globhist.h create mode 100644 src/intl/.cvsignore create mode 100644 src/intl/.vimrc create mode 100644 src/intl/Makefile.am create mode 100644 src/intl/charsets.c create mode 100644 src/intl/charsets.h create mode 100644 src/intl/codepage.inc create mode 100644 src/intl/entity.inc create mode 100644 src/intl/gettext/.cvsignore create mode 100644 src/intl/gettext/.vimrc create mode 100644 src/intl/gettext/Makefile.am create mode 100644 src/intl/gettext/TODO create mode 100644 src/intl/gettext/VERSION create mode 100644 src/intl/gettext/bindtextdom.c create mode 100755 src/intl/gettext/config.charset create mode 100644 src/intl/gettext/dcgettext.c create mode 100644 src/intl/gettext/dcigettext.c create mode 100644 src/intl/gettext/dcngettext.c create mode 100644 src/intl/gettext/dgettext.c create mode 100644 src/intl/gettext/dngettext.c create mode 100644 src/intl/gettext/explodename.c create mode 100644 src/intl/gettext/finddomain.c create mode 100644 src/intl/gettext/gettext.c create mode 100644 src/intl/gettext/gettext.h create mode 100644 src/intl/gettext/gettextP.h create mode 100644 src/intl/gettext/hash-string.h create mode 100644 src/intl/gettext/intl-compat.c create mode 100644 src/intl/gettext/l10nflist.c create mode 100644 src/intl/gettext/libgettext.h create mode 100644 src/intl/gettext/libgnuintl.h create mode 100644 src/intl/gettext/libintl.c create mode 100644 src/intl/gettext/libintl.h create mode 100644 src/intl/gettext/loadinfo.h create mode 100644 src/intl/gettext/loadmsgcat.c create mode 100644 src/intl/gettext/localcharset.c create mode 100644 src/intl/gettext/locale.alias create mode 100644 src/intl/gettext/localealias.c create mode 100644 src/intl/gettext/ngettext.c create mode 100644 src/intl/gettext/plural.c create mode 100644 src/intl/gettext/plural.y create mode 100644 src/intl/gettext/ref-add.sed.in create mode 100644 src/intl/gettext/ref-del.sed.in create mode 100644 src/intl/gettext/textdomain.c create mode 100644 src/intl/uni_7b.inc create mode 100644 src/main/.cvsignore create mode 100644 src/main/.vimrc create mode 100644 src/main/Makefile.am create mode 100644 src/main/event.c create mode 100644 src/main/event.h create mode 100644 src/main/interlink.c create mode 100644 src/main/interlink.h create mode 100644 src/main/main.c create mode 100644 src/main/main.h create mode 100644 src/main/module.c create mode 100644 src/main/module.h create mode 100644 src/main/object.h create mode 100644 src/main/select.c create mode 100644 src/main/select.h create mode 100644 src/main/timer.c create mode 100644 src/main/timer.h create mode 100644 src/main/version.c create mode 100644 src/main/version.h create mode 100644 src/mime/.cvsignore create mode 100644 src/mime/.vimrc create mode 100644 src/mime/Makefile.am create mode 100644 src/mime/backend/.cvsignore create mode 100644 src/mime/backend/.vimrc create mode 100644 src/mime/backend/Makefile.am create mode 100644 src/mime/backend/common.c create mode 100644 src/mime/backend/common.h create mode 100644 src/mime/backend/default.c create mode 100644 src/mime/backend/default.h create mode 100644 src/mime/backend/mailcap.c create mode 100644 src/mime/backend/mailcap.h create mode 100644 src/mime/backend/mimetypes.c create mode 100644 src/mime/backend/mimetypes.h create mode 100644 src/mime/dialogs.c create mode 100644 src/mime/dialogs.h create mode 100644 src/mime/mime.c create mode 100644 src/mime/mime.h create mode 100644 src/network/.cvsignore create mode 100644 src/network/.vimrc create mode 100644 src/network/Makefile.am create mode 100644 src/network/connection.c create mode 100644 src/network/connection.h create mode 100644 src/network/dns.c create mode 100644 src/network/dns.h create mode 100644 src/network/progress.c create mode 100644 src/network/progress.h create mode 100644 src/network/socket.c create mode 100644 src/network/socket.h create mode 100644 src/network/ssl/.cvsignore create mode 100644 src/network/ssl/.vimrc create mode 100644 src/network/ssl/Makefile.am create mode 100644 src/network/ssl/TODO create mode 100644 src/network/ssl/socket.c create mode 100644 src/network/ssl/socket.h create mode 100644 src/network/ssl/ssl.c create mode 100644 src/network/ssl/ssl.h create mode 100644 src/network/state.c create mode 100644 src/network/state.h create mode 100644 src/osdep/.cvsignore create mode 100644 src/osdep/.vimrc create mode 100644 src/osdep/Makefile.am create mode 100644 src/osdep/ascii.h create mode 100644 src/osdep/beos/.cvsignore create mode 100644 src/osdep/beos/.vimrc create mode 100644 src/osdep/beos/Makefile.am create mode 100644 src/osdep/beos/beos.c create mode 100644 src/osdep/beos/beos.h create mode 100644 src/osdep/beos/overrides.c create mode 100644 src/osdep/beos/overrides.h create mode 100644 src/osdep/beos/sysinfo.h create mode 100644 src/osdep/generic.h create mode 100644 src/osdep/getifaddrs.c create mode 100644 src/osdep/getifaddrs.h create mode 100644 src/osdep/newwin.c create mode 100644 src/osdep/newwin.h create mode 100644 src/osdep/os2/.cvsignore create mode 100644 src/osdep/os2/.vimrc create mode 100644 src/osdep/os2/Makefile.am create mode 100644 src/osdep/os2/os2.c create mode 100644 src/osdep/os2/os2.h create mode 100644 src/osdep/os2/sysinfo.h create mode 100644 src/osdep/osdep.c create mode 100644 src/osdep/osdep.h create mode 100644 src/osdep/riscos/.cvsignore create mode 100644 src/osdep/riscos/.vimrc create mode 100644 src/osdep/riscos/Makefile.am create mode 100644 src/osdep/riscos/riscos.c create mode 100644 src/osdep/riscos/riscos.h create mode 100644 src/osdep/riscos/sysinfo.h create mode 100644 src/osdep/signals.c create mode 100644 src/osdep/signals.h create mode 100644 src/osdep/stat.h create mode 100644 src/osdep/stub.c create mode 100644 src/osdep/stub.h create mode 100644 src/osdep/sysname.c create mode 100644 src/osdep/sysname.h create mode 100644 src/osdep/system.h create mode 100644 src/osdep/types.h create mode 100644 src/osdep/unix/.cvsignore create mode 100644 src/osdep/unix/.vimrc create mode 100644 src/osdep/unix/Makefile.am create mode 100644 src/osdep/unix/bsd.c create mode 100644 src/osdep/unix/sysinfo.h create mode 100644 src/osdep/unix/unix.c create mode 100644 src/osdep/unix/unix.h create mode 100644 src/osdep/win32/.cvsignore create mode 100644 src/osdep/win32/.vimrc create mode 100644 src/osdep/win32/Makefile.am create mode 100644 src/osdep/win32/overrides.c create mode 100644 src/osdep/win32/overrides.h create mode 100644 src/osdep/win32/sysinfo.h create mode 100644 src/osdep/win32/win32.c create mode 100644 src/osdep/win32/win32.h create mode 100644 src/protocol/.cvsignore create mode 100644 src/protocol/.vimrc create mode 100644 src/protocol/Makefile.am create mode 100644 src/protocol/about.c create mode 100644 src/protocol/about.h create mode 100644 src/protocol/auth/.cvsignore create mode 100644 src/protocol/auth/.vimrc create mode 100644 src/protocol/auth/Makefile.am create mode 100644 src/protocol/auth/auth.c create mode 100644 src/protocol/auth/auth.h create mode 100644 src/protocol/auth/dialogs.c create mode 100644 src/protocol/auth/dialogs.h create mode 100644 src/protocol/auth/digest.c create mode 100644 src/protocol/auth/digest.h create mode 100644 src/protocol/bittorrent/.cvsignore create mode 100644 src/protocol/bittorrent/.vimrc create mode 100644 src/protocol/bittorrent/Makefile.am create mode 100644 src/protocol/bittorrent/bencoding.c create mode 100644 src/protocol/bittorrent/bencoding.h create mode 100644 src/protocol/bittorrent/bittorrent.c create mode 100644 src/protocol/bittorrent/bittorrent.h create mode 100644 src/protocol/bittorrent/common.c create mode 100644 src/protocol/bittorrent/common.h create mode 100644 src/protocol/bittorrent/connection.c create mode 100644 src/protocol/bittorrent/connection.h create mode 100644 src/protocol/bittorrent/dialogs.c create mode 100644 src/protocol/bittorrent/dialogs.h create mode 100644 src/protocol/bittorrent/peerconnect.c create mode 100644 src/protocol/bittorrent/peerconnect.h create mode 100644 src/protocol/bittorrent/peerwire.c create mode 100644 src/protocol/bittorrent/peerwire.h create mode 100644 src/protocol/bittorrent/piececache.c create mode 100644 src/protocol/bittorrent/piececache.h create mode 100644 src/protocol/bittorrent/tracker.c create mode 100644 src/protocol/bittorrent/tracker.h create mode 100644 src/protocol/data.c create mode 100644 src/protocol/data.h create mode 100644 src/protocol/date.c create mode 100644 src/protocol/date.h create mode 100644 src/protocol/file/.cvsignore create mode 100644 src/protocol/file/.vimrc create mode 100644 src/protocol/file/Makefile.am create mode 100644 src/protocol/file/cgi.c create mode 100644 src/protocol/file/cgi.h create mode 100644 src/protocol/file/file.c create mode 100644 src/protocol/file/file.h create mode 100644 src/protocol/finger/.cvsignore create mode 100644 src/protocol/finger/.vimrc create mode 100644 src/protocol/finger/Makefile.am create mode 100644 src/protocol/finger/finger.c create mode 100644 src/protocol/finger/finger.h create mode 100644 src/protocol/ftp/.cvsignore create mode 100644 src/protocol/ftp/.vimrc create mode 100644 src/protocol/ftp/Makefile.am create mode 100644 src/protocol/ftp/ftp.c create mode 100644 src/protocol/ftp/ftp.h create mode 100644 src/protocol/ftp/parse.c create mode 100644 src/protocol/ftp/parse.h create mode 100644 src/protocol/gopher/.cvsignore create mode 100644 src/protocol/gopher/.vimrc create mode 100644 src/protocol/gopher/Makefile.am create mode 100644 src/protocol/gopher/gopher.c create mode 100644 src/protocol/gopher/gopher.h create mode 100644 src/protocol/header.c create mode 100644 src/protocol/header.h create mode 100644 src/protocol/http/.cvsignore create mode 100644 src/protocol/http/.vimrc create mode 100644 src/protocol/http/Makefile.am create mode 100644 src/protocol/http/README.timegm create mode 100644 src/protocol/http/blacklist.c create mode 100644 src/protocol/http/blacklist.h create mode 100644 src/protocol/http/codes.c create mode 100644 src/protocol/http/codes.h create mode 100644 src/protocol/http/http.c create mode 100644 src/protocol/http/http.h create mode 100644 src/protocol/nntp/.cvsignore create mode 100644 src/protocol/nntp/.vimrc create mode 100644 src/protocol/nntp/Makefile.am create mode 100644 src/protocol/nntp/codes.h create mode 100644 src/protocol/nntp/connection.c create mode 100644 src/protocol/nntp/connection.h create mode 100644 src/protocol/nntp/nntp.c create mode 100644 src/protocol/nntp/nntp.h create mode 100644 src/protocol/nntp/response.c create mode 100644 src/protocol/nntp/response.h create mode 100644 src/protocol/protocol.c create mode 100644 src/protocol/protocol.h create mode 100644 src/protocol/proxy.c create mode 100644 src/protocol/proxy.h create mode 100644 src/protocol/rewrite/.cvsignore create mode 100644 src/protocol/rewrite/.vimrc create mode 100644 src/protocol/rewrite/Makefile.am create mode 100644 src/protocol/rewrite/rewrite.c create mode 100644 src/protocol/rewrite/rewrite.h create mode 100644 src/protocol/smb/.cvsignore create mode 100644 src/protocol/smb/.vimrc create mode 100644 src/protocol/smb/Makefile.am create mode 100644 src/protocol/smb/smb.c create mode 100644 src/protocol/smb/smb.h create mode 100644 src/protocol/uri.c create mode 100644 src/protocol/uri.h create mode 100644 src/protocol/user.c create mode 100644 src/protocol/user.h create mode 100644 src/scripting/.cvsignore create mode 100644 src/scripting/.vimrc create mode 100644 src/scripting/Makefile.am create mode 100644 src/scripting/TODO create mode 100644 src/scripting/guile/.cvsignore create mode 100644 src/scripting/guile/.vimrc create mode 100644 src/scripting/guile/Makefile.am create mode 100644 src/scripting/guile/README create mode 100644 src/scripting/guile/core.c create mode 100644 src/scripting/guile/core.h create mode 100644 src/scripting/guile/guile.c create mode 100644 src/scripting/guile/guile.h create mode 100644 src/scripting/guile/hooks.c create mode 100644 src/scripting/guile/hooks.h create mode 100644 src/scripting/lua/.cvsignore create mode 100644 src/scripting/lua/.vimrc create mode 100644 src/scripting/lua/Makefile.am create mode 100644 src/scripting/lua/TODO create mode 100644 src/scripting/lua/core.c create mode 100644 src/scripting/lua/core.h create mode 100644 src/scripting/lua/hooks.c create mode 100644 src/scripting/lua/hooks.h create mode 100644 src/scripting/lua/lua.c create mode 100644 src/scripting/lua/lua.h create mode 100644 src/scripting/perl/.cvsignore create mode 100644 src/scripting/perl/.vimrc create mode 100644 src/scripting/perl/Makefile.am create mode 100644 src/scripting/perl/core.c create mode 100644 src/scripting/perl/core.h create mode 100644 src/scripting/perl/hooks.c create mode 100644 src/scripting/perl/hooks.h create mode 100644 src/scripting/perl/perl.c create mode 100644 src/scripting/perl/perl.h create mode 100644 src/scripting/python/.cvsignore create mode 100644 src/scripting/python/.vimrc create mode 100644 src/scripting/python/Makefile.am create mode 100644 src/scripting/python/core.c create mode 100644 src/scripting/python/core.h create mode 100644 src/scripting/python/hooks.c create mode 100644 src/scripting/python/hooks.h create mode 100644 src/scripting/python/python.c create mode 100644 src/scripting/python/python.h create mode 100644 src/scripting/ruby/.cvsignore create mode 100644 src/scripting/ruby/.vimrc create mode 100644 src/scripting/ruby/Makefile.am create mode 100644 src/scripting/ruby/core.c create mode 100644 src/scripting/ruby/core.h create mode 100644 src/scripting/ruby/hooks.c create mode 100644 src/scripting/ruby/hooks.h create mode 100644 src/scripting/ruby/ruby.c create mode 100644 src/scripting/ruby/ruby.h create mode 100644 src/scripting/scripting.c create mode 100644 src/scripting/scripting.h create mode 100644 src/session/.cvsignore create mode 100644 src/session/.vimrc create mode 100644 src/session/Makefile.am create mode 100644 src/session/download.c create mode 100644 src/session/download.h create mode 100644 src/session/history.c create mode 100644 src/session/history.h create mode 100644 src/session/location.c create mode 100644 src/session/location.h create mode 100644 src/session/session.c create mode 100644 src/session/session.h create mode 100644 src/session/task.c create mode 100644 src/session/task.h create mode 100644 src/setup.h create mode 100644 src/terminal/.cvsignore create mode 100644 src/terminal/.vimrc create mode 100644 src/terminal/Makefile.am create mode 100644 src/terminal/TODO create mode 100644 src/terminal/color.c create mode 100644 src/terminal/color.h create mode 100644 src/terminal/draw.c create mode 100644 src/terminal/draw.h create mode 100644 src/terminal/event.c create mode 100644 src/terminal/event.h create mode 100644 src/terminal/graphics/.cvsignore create mode 100644 src/terminal/graphics/.vimrc create mode 100644 src/terminal/hardio.c create mode 100644 src/terminal/hardio.h create mode 100644 src/terminal/itrm.h create mode 100644 src/terminal/kbd.c create mode 100644 src/terminal/kbd.h create mode 100644 src/terminal/key.inc create mode 100644 src/terminal/mouse.c create mode 100644 src/terminal/mouse.h create mode 100644 src/terminal/palette.inc create mode 100644 src/terminal/screen.c create mode 100644 src/terminal/screen.h create mode 100644 src/terminal/tab.c create mode 100644 src/terminal/tab.h create mode 100644 src/terminal/terminal.c create mode 100644 src/terminal/terminal.h create mode 100644 src/terminal/text/.cvsignore create mode 100644 src/terminal/text/.vimrc create mode 100644 src/terminal/window.c create mode 100644 src/terminal/window.h create mode 100644 src/util/.cvsignore create mode 100644 src/util/.vimrc create mode 100644 src/util/Makefile.am create mode 100644 src/util/align.h create mode 100644 src/util/base64.c create mode 100644 src/util/base64.h create mode 100644 src/util/bitfield.h create mode 100644 src/util/box.h create mode 100644 src/util/color.c create mode 100644 src/util/color.h create mode 100644 src/util/color.inc create mode 100644 src/util/color_s.inc create mode 100644 src/util/conv.c create mode 100644 src/util/conv.h create mode 100644 src/util/env.c create mode 100644 src/util/env.h create mode 100644 src/util/error.c create mode 100644 src/util/error.h create mode 100644 src/util/fastfind.c create mode 100644 src/util/fastfind.h create mode 100644 src/util/file.c create mode 100644 src/util/file.h create mode 100644 src/util/hash.c create mode 100644 src/util/hash.h create mode 100644 src/util/lists.h create mode 100644 src/util/math.h create mode 100644 src/util/md5.c create mode 100644 src/util/md5.h create mode 100644 src/util/memdebug.c create mode 100644 src/util/memdebug.h create mode 100644 src/util/memlist.c create mode 100644 src/util/memlist.h create mode 100644 src/util/memory.c create mode 100644 src/util/memory.h create mode 100644 src/util/profile.h create mode 100644 src/util/scanner.c create mode 100644 src/util/scanner.h create mode 100644 src/util/secsave.c create mode 100644 src/util/secsave.h create mode 100644 src/util/sha1.c create mode 100644 src/util/sha1.h create mode 100644 src/util/snprintf.c create mode 100644 src/util/snprintf.h create mode 100644 src/util/string.c create mode 100644 src/util/string.h create mode 100644 src/util/time.c create mode 100644 src/util/time.h create mode 100644 src/vernum.c create mode 100644 src/vernum.h create mode 100644 src/viewer/.cvsignore create mode 100644 src/viewer/.vimrc create mode 100644 src/viewer/Makefile.am create mode 100644 src/viewer/action.c create mode 100644 src/viewer/action.h create mode 100644 src/viewer/dump/.cvsignore create mode 100644 src/viewer/dump/.vimrc create mode 100644 src/viewer/dump/Makefile.am create mode 100644 src/viewer/dump/dump.c create mode 100644 src/viewer/dump/dump.h create mode 100644 src/viewer/graphics/.cvsignore create mode 100644 src/viewer/graphics/.vimrc create mode 100644 src/viewer/text/.cvsignore create mode 100644 src/viewer/text/.vimrc create mode 100644 src/viewer/text/Makefile.am create mode 100644 src/viewer/text/draw.c create mode 100644 src/viewer/text/draw.h create mode 100644 src/viewer/text/form.c create mode 100644 src/viewer/text/form.h create mode 100644 src/viewer/text/link.c create mode 100644 src/viewer/text/link.h create mode 100644 src/viewer/text/marks.c create mode 100644 src/viewer/text/marks.h create mode 100644 src/viewer/text/search.c create mode 100644 src/viewer/text/search.h create mode 100644 src/viewer/text/textarea.c create mode 100644 src/viewer/text/textarea.h create mode 100644 src/viewer/text/view.c create mode 100644 src/viewer/text/view.h create mode 100644 src/viewer/text/vs.c create mode 100644 src/viewer/text/vs.h create mode 100644 src/viewer/timer.c create mode 100644 src/viewer/timer.h create mode 100644 test/.cvsignore create mode 100644 test/Makefile.am create mode 100644 test/README create mode 100644 test/align.html create mode 100644 test/backspaces.txt create mode 100644 test/bigtextarea.html create mode 100644 test/color.html create mode 100644 test/comments.html create mode 100644 test/css/cascading.html create mode 100644 test/css/garbage.html create mode 100644 test/css/idnes_mail.html create mode 100644 test/css/selectors.html create mode 100644 test/css/simplecolors.html create mode 100644 test/css/simplefont.html create mode 100644 test/css/simpletext.html create mode 100644 test/css/styletags.html create mode 100644 test/ecmascript/history.html create mode 100644 test/ecmascript/infinite.html create mode 100644 test/ecmascript/inlinescript.html create mode 100644 test/ecmascript/onload.html create mode 100644 test/ecmascript/ontest.html create mode 100644 test/ecmascript/protocol.html create mode 100644 test/erreurs_en.htm create mode 100644 test/garbage.html create mode 100644 test/href_tests.html create mode 100644 test/imgmap.html create mode 100644 test/javascript_broken.html create mode 100644 test/longtitle.html create mode 100644 test/malicious_uris.html create mode 100644 test/optgroup.html create mode 100644 test/poocs.net.html create mode 100644 test/portlink.html create mode 100644 test/refresh.html create mode 100644 test/subsup.html create mode 100644 test/tabindex.html create mode 100644 test/tablebg.html create mode 100644 test/tables.html create mode 100644 test/target_blank.html create mode 100644 test/td-width.html create mode 100644 test/underline.html create mode 100644 test/xmp.html diff --git a/ABOUT-NLS b/ABOUT-NLS new file mode 100644 index 00000000..cd514246 --- /dev/null +++ b/ABOUT-NLS @@ -0,0 +1,319 @@ +Notes on the Free Translation Project +************************************* + + Free software is going international! The Free Translation Project +is a way to get maintainers of free software, translators, and users all +together, so that will gradually become able to speak many languages. +A few packages already provide translations for their messages. + + If you found this `ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU `gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU `gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work at translations should contact the appropriate team. + + When reporting bugs in the `intl/' directory or bugs which may be +related to internationalization, you should tell about the version of +`gettext' which is used. The information can be found in the +`intl/VERSION' file, in internationalized packages. + +Quick configuration advice +========================== + + If you want to exploit the full power of internationalization, you +should configure it using + + ./configure --with-included-gettext + +to force usage of internationalizing routines provided within this +package, despite the existence of internationalizing capabilities in the +operating system where this package is being installed. So far, only +the `gettext' implementation in the GNU C library version 2 provides as +many features (such as locale alias, message inheritance, automatic +charset conversion or plural form handling) as the implementation here. +It is also not possible to offer this additional functionality on top +of a `catgets' implementation. Future versions of GNU `gettext' will +very likely convey even more functionality. So it might be a good idea +to change to GNU `gettext' as soon as possible. + + So you need _not_ provide this option if you are using GNU libc 2 or +you have installed a recent copy of the GNU gettext package with the +included `libintl'. + +INSTALL Matters +=============== + + Some packages are "localizable" when properly installed; the +programs they contain can be made to speak your own native language. +Most such packages use GNU `gettext'. Other packages have their own +ways to internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU `gettext' functions. If not, the GNU `gettext' own +library will be used. This library is wholly contained within this +package, usually in the `intl/' subdirectory, so prior installation of +the GNU `gettext' package is _not_ required. Installers may use +special options at configuration time for changing the default +behaviour. The commands: + + ./configure --with-included-gettext + ./configure --disable-nls + +will respectively bypass any pre-existing `gettext' to use the +internationalizing routines provided within this package, or else, +_totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run +configure without an option for your new package, `configure' will +probably detect the previously built and installed `libintl.a' file and +will decide to use this. This might be not what is desirable. You +should use the more recent version of the GNU `gettext' library. I.e. +if the file `intl/VERSION' shows that the library which comes with this +package is more recent, you should use + + ./configure --with-included-gettext + +to prevent auto-detection. + + The configuration process will not test for the `catgets' function +and therefore it will not be used. The reason is that even an +emulation of `gettext' on top of `catgets' could not provide all the +extensions of the GNU `gettext' library. + + Internationalized packages have usually many `po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at `configure' time by using the +`--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable `LINGUAS' +may be set, prior to configuration, to limit the installed set. +`LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +Using This Package +================== + + As a user, if your language has been installed for this package, you +only have to set the `LANG' environment variable to the appropriate +`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, +and `CC' is an ISO 3166 two-letter country code. For example, let's +suppose that you speak German and live in Germany. At the shell +prompt, merely execute `setenv LANG de_DE' (in `csh'), +`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +This can be done from your `.login' or `.profile' file, once and for +all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +for the purpose of message handling, but you still need to have `LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather +read translations in German than English for when Swedish is not +available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + In the `LANGUAGE' environment variable, but not in the `LANG' +environment variable, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + +Translating Teams +================= + + For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" +area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +`-request' appended. For example, speakers of Swedish can send a +message to `sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate +_actively_ in translations, or at solving translational difficulties, +rather than merely lurking around. If your team does not exist yet and +you want to start one, or if you are unsure about what to do or how to +get started, please write to `translation@iro.umontreal.ca' to reach the +coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skill are praised more than +programming skill, here. + +Available Packages +================== + + Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of July +2001. The matrix shows, in regard of each package, for which languages +PO files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files bg cs da de el en eo es et fi fr gl he hr id it + +-------------------------------------------------+ + a2ps | [] [] | + bash | [] [] [] [] | + bfd | | + binutils | | + bison | [] [] [] [] | + clisp | [] [] [] [] | + cpio | [] [] [] [] [] | + diffutils | [] [] [] [] [] [] [] | + enscript | [] [] | + error | [] [] | + fetchmail | | + fileutils | [] [] [] [] [] [] [] | + findutils | [] [] [] [] [] [] [] [] | + flex | [] [] [] | + freetype | | + gas | | + gawk | [] | + gcal | | + gcc | | + gettext | [] [] [] [] [] [] [] [] [] | + gnupg | [] [] [] [] [] [] | + gprof | | + grep | [] [] [] [] [] [] [] | + hello | [] [] [] [] [] [] [] [] [] [] | + id-utils | [] [] [] | + indent | [] [] [] [] [] | + jpilot | [] | + kbd | | + ld | | + libc | [] [] [] [] [] [] [] [] | + lilypond | | + lynx | [] [] [] | + m4 | [] [] [] [] [] [] [] | + make | [] [] [] [] [] | + nano | [] [] | + opcodes | | + parted | [] [] | + ptx | [] [] [] [] [] [] [] | + python | | + recode | [] [] [] [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] [] [] | + sh-utils | [] [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] [] | + soundtracker | [] | + sp | | + tar | [] [] [] [] [] [] [] [] | + texinfo | [] [] [] [] [] | + textutils | [] [] [] [] [] [] [] | + util-linux | [] [] | + wdiff | [] [] | + wget | [] [] [] [] [] [] [] [] [] | + +-------------------------------------------------+ + bg cs da de el en eo es et fi fr gl he hr id it + 0 13 23 30 11 1 8 21 13 1 29 22 3 0 8 10 + + ja ko lv nl no pl pt pt_BR ru sk sl sv tr uk zh + +-------------------------------------------------+ + a2ps | [] [] [] | 5 + bash | | 4 + bfd | | 0 + binutils | | 0 + bison | [] [] [] | 7 + clisp | [] | 5 + cpio | [] [] [] [] [] | 10 + diffutils | [] [] [] | 10 + enscript | [] [] [] | 5 + error | [] | 3 + fetchmail | | 0 + fileutils | [] [] [] [] [] [] [] [] [] [] | 17 + findutils | [] [] [] [] [] [] [] [] | 16 + flex | [] [] [] | 6 + freetype | | 0 + gas | | 0 + gawk | [] | 2 + gcal | | 0 + gcc | | 0 + gettext | [] [] [] [] [] [] [] [] [] | 18 + gnupg | [] [] [] [] | 10 + gprof | | 0 + grep | [] [] [] | 10 + hello | [] [] [] [] [] [] [] [] [] [] [] | 21 + id-utils | [] [] [] | 6 + indent | [] [] [] [] [] [] [] | 12 + jpilot | | 1 + kbd | [] | 1 + ld | | 0 + libc | [] [] [] [] [] [] [] [] [] | 17 + lilypond | [] [] | 2 + lynx | [] [] [] [] [] | 8 + m4 | [] [] [] [] [] | 12 + make | [] [] [] [] [] [] [] | 12 + nano | [] | 3 + opcodes | | 0 + parted | [] [] [] | 5 + ptx | [] [] [] [] [] [] [] | 14 + python | | 0 + recode | [] [] [] [] | 13 + sed | [] [] [] [] [] [] [] [] | 18 + sh-utils | [] [] [] [] [] [] [] [] [] [] [] | 20 + sharutils | [] [] [] [] | 11 + soundtracker | | 1 + sp | | 0 + tar | [] [] [] [] [] [] [] [] [] | 17 + texinfo | [] [] | 7 + textutils | [] [] [] [] [] [] [] [] | 15 + util-linux | [] [] | 4 + wdiff | [] [] [] | 5 + wget | [] [] [] [] [] [] [] | 16 + +-------------------------------------------------+ + 31 teams ja ko lv nl no pl pt pt_BR ru sk sl sv tr uk zh + 51 domains 17 9 1 23 6 17 1 13 26 9 11 20 19 2 2 369 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and +distributed as such by its maintainer. There might be an observable +lag between the mere existence a PO file and its wide availability in a +distribution. + + If July 2001 seems to be old, you may fetch a more recent copy of +this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date +matrix with full percentage details can be found at +`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. + +Using `gettext' in new packages +=============================== + + If you are writing a freely available program and want to +internationalize it you are welcome to use GNU `gettext' in your +package. Of course the GNU General Public License applies to your +sources from then on if you include `gettext' directly in your +distribution but since you are writing free software anyway this is no +restriction. + + Once the sources are changed appropriately and the setup can handle +to use of `gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +`translation@iro.umontreal.ca' to make the `.pot' files available to +the translation teams. + diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..6da70acb --- /dev/null +++ b/AUTHORS @@ -0,0 +1,569 @@ +Unicode2ascii replacement, entity name tables and Gopher code taken from lynx. +Initial mailcap and mime.types file handling inspired from Mutt. +FTP directory listing parsing based on GNU Wget code. + + +People who contributed to Links/ELinks, in alphabetical order (if you are +missing here or some of your contributions is, tell me): + + +Adam Borowski + Fixed xterm detection + +Adam Golebiowski + Polish translation updates + Hints for gettexted strings + +Adam Harvey + Fixed sometimes badly posted form + +Alberto García + Galician translation + +Aldy Hernandez + MacOS address resolution fix + +Alex Antropoff + 'charset' attribute of META element + +Alexander Mai + OS/2 xterm support + Fix includes for AIX + Updated manpage + +Alexander Zschach + Build fixes + +Alexey Tourbin , + Proxy support fixes + Gettext plural.y fix + +Alejandros Diamandidis + Greek codepages & translation + +Ami Fischman + Random fixes, misc minor improvements + +Andre Valente + Download completion notify + Portuguese and Brazilian-Portuguese translation updates + +Anton Voloshin + Proper encoding of form entries + +Arkadiusz Sochala + Polish translation + +Armon Red + Icelandic translation + +Aurimas Mikalauskas + Lithuanian translation + +Baris Metin + Turkish translation + +Basim Reza + BitTorrent support + +beckers + German translation + +Ben Sittler + utf8_io support + +Benjamin Michotte + User-Agent browser ID string changing support + +Bennett Todd + RPM elinks.spec updates + Support for HTTP TRACE request + +Bunch + HTML renderer hacking + +Carles Sadurní Anguita + Catalan translation + +Csaba Raduly + Random fixes + +Christian Biesinger + FTP authentication via user interface support + +Christian Cornelssen + Lua5 support + +Christian Häggström + Fixes in parse_http_date() + +Cliff Cunnington + Links' website at http://links.sf.net/ + User's manual at http://links.sf.net/docs/manual-0.82-en/ + Minor fixes/improvements + +Cristiano Guadagnino , + Updated italian translation + OS/2 compilation fixes + +Cyril Slobin + Russian translation updates + +Dakshinamurthy Karra + Win NT port + Saving goto history + +Daniel Macks + Minor compilation/weirdness fixes + + + RPM elinks.spec updates + +David A. Capello + Made Document info message box scrollable + +David D. Kilzer + Part of -no-home support + Support for -eval option + +David Mediavilla Ezquibela + Spanish translation + Esperanto hacking + Example config file with all links-0.96 keybindings + +David Weinehall + Display radiobuttons differently than checkboxes + +Denis Lackovic + Croatian translation + +Dimitar Dimitrov + Bulgarian translation updates + +dinux + Bulgarian translation updates + +Dmitry M. Klimov + KOI8-R frames + Russian localization + +Dmitry Pinchukov + Ukrainian translation + Referred as Dmitry in ChangeLog etc. + +Doug Kearns + Fixes in linkskeys.5 and elinks.1 + Fix Ruby detection + +Edwin Groothuis + Dump-width option + +Evan Hughes + Bookmarks + +Fabio Bonelli + Accept-language support + Italian translation updates + XBEL bookmarks support + Random hacking + Cleanups + +Fabio Junior Beneditto + Brazilian Portuguese translation + +Fabrice Haberer-Proust + French translation + +Felix von Leitner + Set file date/time when downloading + Random fixes + +Flemming Frandsen + Random hacking + accesskey,tabindex support + Referred as 'ff' or 'FF' in the code + +Frédéric L. W. Meunier <0@pervalidus.tk> + Minor documentation updates + +Fuzzy European King + Fixed lua stack overflow + +Gisle Vanem + Various portability fixes + Fix IDN support for HTTP + +Grzegorz Adam Hankiewicz + Default lua hooks enhancements + +Grzegorz Golawski + Polish translation updates + +Gianluca Montecchi + Italian translation + +Harold L Hunt II + Build system minor fixes + +Hugo Haas + Minor random hacking + debian/watch file + +Ingo Blechschmidt + German translation updates + +Ionel Mugurel Ciobica + Romanian translation + +Jacek Fedorynski + Fixed segfault when posting large forms + +Jakub Bogusz + Minor bugfixes + Polish translation updates + +Jakub Horak + Show links list at the footer of the dump output + +Jan Bobrowski + Small optimization in file listing + +Jan Sembera + HTTP-auth support fixes and rewrite + Some bits of HTTPS support + +Jimenez Martinez Angel Luis + Spanish translation + +Jonas Fonseca + Maintainer + Danish translation + http://elinks.or.cz/ + Mailcap support + Major cleanups + BFU and document management hacking + Random hacking + +Jon Shapcott + Lua 5 retrofits + +John + Tab browsing initial patch + +Johannes Zellner + Minor misc hacking + +José Luis González González + MIME types documentation + Referred as 'Jose' + +Josef 'Jupp' Schugt + German translation updates + +Julian Kinraid + QNX-related fixes + +Kalle Olavi Niemitalo + HTTP Accept-Charset header fix + Finnish translation update + Fixed unnecessary or possibly skipped calls to bind_textdomain_codeset() + +Kaloian Doganov + Bulgarian translation + Bulgarian translation update ;) + +Karel Kulhavy + Czech translation + Fixed compile incompatibility + One of Links authors; a lot of misc. features & code + +Karsten Schölzel + Event system chief engineer + Scripting subsystem hacking + Regex searches + Random hacking + +Karvinen Ilkka + Finnish translation + +Kevin Keverets + Show actual document's URL in xterm title bar + +Kevin B. McCarty + Fixed hooks file loading for Lua version 5.0 + +Laurent Monin + Updated French translation + Bookmarks hacking + Misc minor improvements + Big amount of bugfixes, tidyups and optimizations + Random hacking + HTTP Auth fixes + Secure file saving + Fastfind code + Memory debugging and memleaks detection + Referred as 'Zas' or 'zas' in the code + +Lewis Collard + Fixed mmap() usage on FreeBSD + +Lilja Heiðarsdottir Fjeldsted + BitTorrent support + +Lukasz Dobrek + $CONFIG_DIR for config directory (later changed to $ELINKS_CONFDIR) + +Len Lattanzi + Allow reading of special (non-regular) files + +M. K. Srikant + Small fix in forms + +Marco Bodrato + Twinterm support + +Mario Lorenz + Security OpenSSL fix + +Marius Gedminas + Fixed reversed HOME/END on RXVT + +Martin Bays + Redirect-to-mailto crash bugfix + +Martin Kavalec + Fixed redundant ':' in host header + +Martin Norback + Swedish translation + +Matthew Mueller + Random hacking + +Michael R. Elkins + Original mailcap code from Mutt + +Michail Litvak + Patch configure.in to force error if OpenSSL not found + +Michal Maruska + Show actual document's URL in xterm title bar + +Michal Politowski + Fixed saving of old xterm title in some odd cases + (like multi-gnome-terminal) + +Miciah Dashiel Butler Masters + Document-specific colors usage switch possibility + Global history + Unambiguous autocompletion + ASCII "markup" support in the plaintext renderer + Magnificently elaborate fixes all over the map + Truly random hacking + The official native English speaker of our team + +Mikael Magnusson + Fixed crash for IPv6 FTP when EPSV was disabled + +Mike Swieton + Fixed bug: Form is not posted when jumping to field by number + +Mikolaj Machowski + Polish translation updates + +Mikulas Patocka + Original Links author + Maintains and makes Links-0.9x official releases. + http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/links/ + One of Links authors; a lot of misc. features & code + SMB support + +Morten Bo Johansen + Danish translation + +Muhamad Faizal + Indonesian translation + +Nalin Dahyabhai + Fixed occasional destroying of read buffer on Alpha + +Nuno Miguel Rodrigues + UnixWare console fix + +Oleg Belousov + "Ignore charset info sent by server" is saved in config file + +Oleg Deribas + Window title and clipboard support in OS/2 + +Olexander Kunytsa + Ukrainian translation update + +Omar Khayam + URL decode filename when saving + + + Fix stdin reading on Mac OS X + +Peder Stray + Fix handling of key presses turning up as key prefixes + +Peter Gervai + Manpage updates + Mailcap to links.cfg convertor + Debian package files + +Peter Naulls + RISC OS port + +Peter Samek + Slovak translation updates + +Peter Wang + Rebindable keys + Lua scripting support + Guile scripting support + Original unhistory support + Support for changing color defaults + +Petr Baudis + Original ELinks maintainer + Initial cleanups + Options system + DNS hacking + Initial CSS and ECMAScript support + Random hacking all over the map + Feature of the Day implementation + LEDs, exmode, marks and other worthless toys + Actually even some documentation! + http://elinks.or.cz/ (original cut) + +Petr Cech + Allow spaces at the beginning of URL + +Petr Kulhavy + Czech translation + HTTP referer support + One of Links authors; a lot of misc. features & code + +Pixel + Compilation fixes + +Radovan Stas + Slovak translation + +Raúl Núñez de Arenas Coronado + get_unique_name() fix. + +Russ Rowan (Apu) + Patch that shorten the alt or title attribute of an image + Improved Perl hooks + +Sebastian Zagrodzki + Shift-G opens dialog with pre-displayed current URL + +Serge Winitzki + Updated Russian localization + +Sergei Borushevsky + No-proxy-for + HTTP auth (discarded later, to be redone) + Ctrl-W completion + SSL + +Sergey E. Galanov + Lua-support for setting and getting Elinks options + +Sergey Karpov + First tab browsing patch for ELinks + Ideas ! + +Sergey Starosek + Optionally use credential file for the SMB protocol + +Sergio R. Velasquez Zeballos + Proxy auth (Basic) + +Simen Graaten + Norwegian translation + +Simon Wilkinson + Support for X509 client certificates + +Simos Xenitellis + Greek codepages & translation + +Solar Designer + Number of security fixes + +Stefan de Groot + Dutch translation + +Stepan Roh + HTTP Date (Set-Cookie expires attribute) proper parsing bugfixes + Random hacking + +Stephane Chazelas + Cookies fixes + HTTP Date parsing rewrite + Random hacking + Referred as 'sc' or 'SC' in the code + +Suzanne Britton + Support for default URI rewrite template + +Suveg Gabor + Hungarian translation + +Sven Wegener + Fix stdio checks for remote sessions + +Taniel Kirikal + Estonian translation + +Timo Lindfors + HTTPS proxy support + +Tom Lear + Transparency support + +Uwe Hermann + Manpage + Command line switch -version + Open link in new xterm + +Unai Uribarri + History + +Varga Balázs + Hungarian translation updates + +Wiktor Grebla + Keybinding for toggling of document.browse.links.numbering + +William Yodlowsky + OpenSSL fixes + +Witold Filipczyk + HTTP code hacking + Original decompression (zlib/bzlib) support + FTP PASV support + Downloads resuming support + Local CGI support + Polish translation updates + Random hacking + +Wojtek Bojdo/l + Updated Polish localization + +Yevgeny Gromov + Belarusian translation + +Yurii Rashkovskii + Updated Russian localization + + + RPM spec file in contrib/ + RedHat compilation fixes + +$Id: AUTHORS,v 1.198 2005/08/10 15:38:28 jonas Exp $ diff --git a/BUGS b/BUGS new file mode 100644 index 00000000..c6815f12 --- /dev/null +++ b/BUGS @@ -0,0 +1,4 @@ +All the known bugs are now kept in the Bugzilla, available at +http://bugzilla.elinks.or.cz/ + +$Id: BUGS,v 1.61 2003/05/10 23:03:12 pasky Exp $ diff --git a/COPYING b/COPYING new file mode 100644 index 00000000..7f981ed8 --- /dev/null +++ b/COPYING @@ -0,0 +1,346 @@ +Note that the only valid version of the GPL as far as ELinks is +concerned is _this_ particular version of the license (ie v2, not v2.2 +or v3.x or whatever), unless explicitly otherwise stated. + +----------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/INSTALL b/INSTALL new file mode 100644 index 00000000..36d35987 --- /dev/null +++ b/INSTALL @@ -0,0 +1,178 @@ +Elinks installation guidelines +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Quick guide for the impatient: + + ./configure && make && make install + + Check out the bottom of this file if you're upgrading from Links or an older +ELinks! And be sure to look at doc/ecmascript.txt if you want ECMAScript +(that's JavaScript) support. + +########## + + In order to check out the latest tree from CVS: + +$ export CVSROOT=check_file_SITES_for_value_of_this +$ cvs login +(empty password) +$ cvs -z3 co elinks +$ cd elinks +... + + To update your existing tree to the latest CVS version, do: + +$ cvs -z3 update -dP + + If you downloaded a nightly snapshot, it already contains CVS/ directories +etc. Thus, you should be able to update your tree with the above command as if +you had previously done a full cvs checkout. + + Note that if you obtained the sources directly from CVS, you NEED to run +./autogen.sh! (It should be enough to do it once, automake should be smart +enough to rerun itself when needed - however, if you have build problems, try +running this first.) Also, you obviously need automake and autoconf installed +on your system (note that autoconf-2.13 a automake-1.4p5 are supported, newer +ones may cause problems thanks to the auto* developers who don't know how to +maintain backwards compatibility). Otherwise, you have to use the nightly CVS +snapshot - you don't need to do this there. + + +########## + + If you want to compile elinks, first check the directory named contrib/, it +may contain patches that are of use to you. If you're interested in any of +them, try to apply them by doing (for each one): + +$ patch -p0 < contrib/that-patch + + They may not apply - I don't update patches in contrib/ regularly - if you +want, feel free to go ahead and update the patch for the current tree and send +me the newer version. + + Usually, even after strip, the ELinks binary can grow a lot these days; I plan +on spawning various external files optionally, containing boring stuff like +various translations etc; later, even DSO modules may come, etc. But even +nowadays, you can reduce the resulting binary size by throwing out stuff you +don't like. First, if you want better performance and a smaller binary, don't +compile it with debug. It won't hurt if you do, though, and ELinks will tell +you about any memory leaks, incorrect memory manipulation etc, which may be +helpful to us if you report it. Next, disable any optional features you are not +going to use, they can make the resulting binary smaller (although it'll probably +have no non-marginal performance impact) - especially go through the +features.conf file in the project root directory. Also, you may try to override +the build system to build a dynamically linked binary, which can be a lot +smaller as well. Lastly, you can go to the Unicode/ and intl/ directories, then +edit index.txt and remove any codepages or translations you don't like; +especially for translations, it can significantly reduce the resulting binary +size as well. + + !BEWARE! If you _distribute_ a binary of ELinks with OpenSSL linked to it, +and the OpenSSL library is not part of your base system, you are VIOLATING THE +GPL (although I believe that for this absurd case no ELinks copyright holder +will sue you, and it's not a problem for the OpenSSL people as well, as they +have explicitly told me). So, people who are making ELinks binaries for systems +with no OpenSSL in the base system and who decided to link OpenSSL against the +ELinks binary may wish NOT to publish or distribute such a binary, as it's +breaking GPL 2(b), if they like to have everything legally perfect (like Debian +people ;). As a semi-solution to this for those people, GNUTLS support was +introduced; if you want to distribute ELinks binaries with HTTPS support, +compile ELinks with the --with-gnutls configure option (assuming that you have +GNUTLS 0.5.0 or later [tested with 0.5.4] installed). However, as GNUTLS is not +yet 100% stable and its support in ELinks is not so well tested yet, it's +recommended for users to give a strong preference to OpenSSL whenever possible. + + Good luck! + + The basic compilation looks like: + + Unix - just doing: + + $ ./configure + $ make + + should be enough. However, in some FreeBSD 3 distributions you have to + set CFLAGS=-aout before running ./configure. Also, you may want to + adjust some compile-time options through ./configure - do + ./configure --help and it'll print out a list of them. You can more + finely control what's going to be included in the binary in the + features.conf file, and some really detailed tuning can be performed in + the src/setup.h. + + Also, a nice idea is to compile ELinks outside of the source tree. + Make another directory and run path_to_source_tree/configure from it. + Typically, it looks like: + + $ mkdir ../elinks-build + $ cd ../elinks-build + $ ../elinks/configure + $ make + + OS/2 - you can use ./configure. + + The only supported compiler is EMX, you probably won't be able to + compile it with anything else. + + Configure under OS/2 needs to know paths to gcc, make and bash. + Set (for example): + + SET HOSTTYPE=i586 + SET MACHTYPE=i586-pc-os2 + SET CONFIG_SHELL=d:/prg/gnu/bin/bash.exe + SET CC=d:/prg/emx/bin/gcc.exe + SET MAKE=d:/prg/emx/bin/make.exe + SET EMXOPT=-h100 + + Dos, Windows - port it by yourself. + + +########## + + Ok, now let's install it: + + Unix - # make install + + OS/2 - + Copy file links.exe somewhere to your path or create CMD file that runs + links. + + WARNING: EMX has a nasty limit on open files. Links will work badly or + won't work with the default settings. Set the variable EMXOPT=-h100 + before you run links. + + Now, check the contrib/ directory again. There may be some useful config +file examples there, along with a few support tools and some Lua scripts - you +probably want them ;) so just copy the hooks.lua to ~/.elinks, and edit the +configuration part - it adds various functionality to ELinks, like +decompression of gzipped files or user-defined protocols. + + +########## + + If you're upgrading from Links or older ELinks (0.4pre7 or older), you will +notice that several things have changed. First, the binary name is elinks, not +links, now; however, the basic usage is almost the same and it still looks like +the old (E)Links, so you probably want to make a links symlink pointing to +elinks. + + Then, note that configuration files were moved from /etc to /etc/elinks and +from ~/.links to ~/.elinks, because the name and format of parts of them were +changed: + + links.cfg became elinks.conf and you need to convert it with +contrib/conv/conf-links2elinks.pl; html.cfg was merged into elinks.conf + + bookmarks are still bookmarks, but you need to convert it with +old_to_new_bookmarks.sh. + + links.his became gotohist and the format is the same. + + history became globhist and the format is the same. + + cookies are still cookies, but you need to convert it with tr " " "\t" + + +########## + +$Id: INSTALL,v 1.29 2004/09/22 16:17:23 pasky Exp $ +vim: textwidth=80 diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 00000000..8e9d7446 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,25 @@ +## Process this file with automake to produce Makefile.in +## $Id: Makefile.am,v 1.49 2005/05/13 21:45:27 rrowan Exp $ + +SUBDIRS = Unicode config contrib debian doc intl po src test + +EXTRA_DIST = \ + ABOUT-NLS \ + BUGS \ + Makefile.base \ + SITES \ + TODO \ + autogen.sh \ + features.conf + +install-exec-hook: + @if grep 'Lua' features.log > /dev/null; then \ + echo "**************************************************************"; \ + echo "Lua 4 support in ELinks is obsolete. If you are upgrading"; \ + echo "from ELinks <= 0.10.X, you must update $(CONFDIR)/hooks.lua."; \ + echo "**************************************************************"; \ + fi + + +CLEANFILES = $(srcdir)/features.log +MAINTAINERCLEANFILES = $(srcdir)/acinclude.m4 diff --git a/Makefile.base b/Makefile.base new file mode 100644 index 00000000..11395172 --- /dev/null +++ b/Makefile.base @@ -0,0 +1,16 @@ +## Base file for Makefile.am files in the tree, contains common stuff. +## $Id: Makefile.base,v 1.7 2004/04/29 14:17:12 jonas Exp $ + +INCLUDES = -I$(top_builddir) -I$(top_srcdir)/src + +# The author of automake should be shot, quartered and forced to code in COBOL +# for the rest of his days for the **** he designed - anything forcing me to +# -I. -I$(srcdir) regardless if I want or not is just idiotic. Another totally +# dumb thing is that you can't just use @CONFIG_INCLUDE_SPEC@ in your own .am. + +COMPILE = $(CC) @DEFS@ $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) + +# Rule for getting test dependencies right. This is a workaround since +# automake doesn't support defining subdirs sources. +testutils: + make -C $(top_builddir)/src/util CPPFLAGS="-DDEBUG" diff --git a/NEWS b/NEWS new file mode 100644 index 00000000..39b8be00 --- /dev/null +++ b/NEWS @@ -0,0 +1,154 @@ +See ChangeLog for recent changes, bugfixes and new features. + +ELinks now: + +* support for Lua 4.x was dropped, we only support Lua 5.x now. +* Python scripting back-end (experimental) +* 88 colors support +* external editor is configurable at run-time +* Default URI-rewrite rule, used when no other rules match but the string + that was entered in the Go to URL box does not resemble a URI +* Support prefixes for add-bookmark-link, document-info, goto-url-current-link, + history-move-back, and history-move-forward +* BitTorrent protocol (experimental) +* FSP protocol via a CGI script (see contrib/cgi/README.FSP) (experimental) +* sysmouse support on the BSD console + +ELinks 0.10.4: + +* explicit keyboard accelerators were defined for buttons in dialogue boxes + and are now highlighted. + +ELinks 0.10.2: + +* Ruby scripting back-end (experimental) +* Debian package files (apt-get install devscripts && debuild -uc -us) + +ELinks 0.10.0 (Thelma): + +* simple CSS +* simple JavaScript/ECMAScript support by the SpiderMonkey Mozilla JS engine +* plain-text mark-up (_^Hx to underline, x^Hx to embolden) +* HTML source high-lighting using DOM implementation +* multiple URIs on the command line +* tabs moving (press Alt-'>' or Alt-'<') +* periodic snapshotting of all tabs in all terminals +* exmode CLI support (press ':' followed by action and args) (experimental) +* cursor routing (aka w3m-style navigation) +* modal text-input form-fields editing (enabled by default) +* manual cookies creating and editing +* incremental searching (press '#/') +* Perl scripting back-end (experimental) +* build-time configurability and feature documentation through features.conf +* Mozilla-compatible -remote option (http://www.mozilla.org/unix/remote.html) +* support for specifying IP family as protocol postfix (i.e. http4 or ftp6) +* internationalized domain names via libidn (RFC 3490) +* data URI protocol (RFC 2397) +* gopher protocol (RFC 1436) +* NNTP protocol (RFC 977 and 2980) (experimental) +* build system fine-tuned to use automake conditionals +* -localhost option to block connections to remote hosts +* -verbose option to control messages printed at startup +* -default-keys command line option to ignore user-defined keybindings +* -confdir option renamed to -config-dir +* -conffile option renamed to -config-file +* enhanced documentation + +ELinks 0.9.2: + +* directional links navigation +* 'unset' configuration directive, which can be used, e.g., + to delete default MIME type settings or external protocol handlers. + +ELinks 0.9.1: + +* support tags by displaying a link to the data +* add beginning-of-buffer and end-of-buffer actions for text fields +* automatic session saving/restoring support (disabled by default) +* add-bookmark-tabs (bookmark all tabs) option and menu item +* fold successive blank lines when displaying a plain-text document + (disabled by default; use the option document.plain.compress_empty_lines) +* 'fresh' color for any tab that has not been selected + since its document was loaded + +ELinks 0.9.0 (Skyrider): + +* used gettext for internationalization +* support for background document colors +* tabs support +* new MIME subsystem adding mimetypes files support +* local CGI support +* Guile scripting extensions +* HTML meta refresh +* forms history +* 256 colors support +* regex searches +* cookies manager, cache manager and download manager +* document marks support +* displaying URIs in plain documents as links +* SMB protocol support (requires smbclient) +* builtin user prefixes support (enter 'gg' or 'gg:elinks' to the goto dialog) +* HTTPS proxy support +* typeahead link searching (press '#') + +ELinks 0.4.0 (Iceberg): + +* merged HTTP_AUTH +* basic proxy auth support +* cookies parser rewritten +* support for tabindex,accesskey,title attribute +* FTP support dramatically improved (bugfixes, interoperability fixes, passive + mode support, ...) +* global history support (+vlink support) +* make some modules (cookies,bookmarks,globhist,..) optional at compile time +* secure saving support (see secure_save option desc. if you're doing weird + things with your links files like symlinking or nonstandart permissions!!!) +* support for utf8 i/o +* mouse wheel support +* portability enhancements +* performance enhancements +* file/http gzip/bzip2 decompression support +* downloads resuming support +* mailcap support +* hierarchic bookmarks support, XBEL bookmarks support +* source layout was dramatically reorganized +* relocated ELinks configuration files, changed format (if you are upgrading + from Links or older ELinks version, read INSTALL file to see how to convert + your old config files!!!) +* options are now in tree hierarchy and are configurable generically +* keybindings can be configured from the user interface +* colorful user interface +* tiny useless LED-like indicators support +* GNUTLS support parallel to the OpenSSL support (fixes some license issues) +* extensive memory debugging support + +ELinks 0.3.0: + +* unhistory +* external textarea editor +* DNS rewrite - we handle multi RR per host correctly +* IPv6 support +* rewritten options handling +* bookmarks filtering (aka bookmarks search) +* bookmarks resaving (save on the disk after every change) +* added possibility to change default colors settings + +Links 0.96-pb3: + +* secured cookies file creation +* support for title attribute of img tag +* Catalan translation +* Romanian translation +* changing of User-Agent string sent to webserver +* tag support + +Links 0.96-pb2: + +* cookies expiration, saving and resaving +* do NOT strip everything after ? in form action +* http referrer, true http referrer +* limited textarea external editor support +* partial fix of +* enhanced manual page +* fixed multi-level HTTP moved when using -dump/-source +* fixed keybindings diff --git a/README b/README new file mode 100644 index 00000000..31366b65 --- /dev/null +++ b/README @@ -0,0 +1,61 @@ +ELinks - an advanced web browser +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ELinks is an advanced and well-established feature-rich text mode web +(HTTP/FTP/..) browser. ELinks can render both frames and tables, is highly +customizable and can be extended via scripts. It is very portable and runs +on a variety of platforms. + +The ELinks official website is available at http://elinks.or.cz/. +Please see the SITES file for mirrors or other recommended sites. +If you want to install ELinks on your computer, see the +INSTALL file for further instructions. + +A good start point is documentation files available in doc/, especially the +file named index.txt. + +If you want to request features or report bugs, see community information at +http://elinks.or.cz/community.html and feedback information available at +http://elinks.or.cz/feedback.html. + +If you want to write some patches, please first read the doc/hacking.txt +document. + +If you want to add a new language or update the translation for an existing +one, please read po/README document. + +If you want to write some documentation, well you're welcomed ;) + + + +History +~~~~~~~ + +Initially, ELinks was a development version of Links (Lynx-like text WWW browser), +with more liberal features policy and development style. + +Its purpose was to provide an alternative to Links, and to test and tune various +new features, but still provide good rock-solid releases inside stable branches. +If you are more interested, you can examine the Links website at +http://links.sf.net/. + +Why not contribute to Links instead? Well, first I made a bunch of patches for +the original Links, but a significant number of them got refused because +Mikulas did not like them, as he just wouldn't have any use for them himself. +He wants to keep Links with a relatively closed feature set and merge only new +features which he himself needs. It has advantages that the tree is very narrow +and the code is small and contains very little bloat. ELinks, on the contrary, +aims to provide a full-featured web browser, superior to both lynx and w3m and +with the possibilities of Konqueror and similar browsers. However, to prevent +drastic bloating of the code, the development is driven in the course of +modularization and separation of add-on modules (like cookies, bookmarks, ssl, +lua etc). + +For more about ELinks history, see http://elinks.or.cz/history.html + + + + +$Id: README,v 1.24 2005/01/11 15:51:02 jonas Exp $ + +vim: textwidth=80 diff --git a/SITES b/SITES new file mode 100644 index 00000000..8c09bfb6 --- /dev/null +++ b/SITES @@ -0,0 +1,46 @@ +Homepage: + http://elinks.or.cz/ + +DEBs: + http://packages.debian.org/testing/web/elinks.html + http://packages.debian.org/unstable/web/elinks.html + +RPMs: + http://rpmfind.net/linux/rpm2html/search.php?query=elinks + http://ftp.nest.pld-linux.org/pool/e/elinks/ + http://ftp.pld-linux.org/pool/e/elinks/ + +Cygwin binaries: + http://www.pervalidus.net/cygwin/links/ + +CVS root: + :pserver:anonymous@cvs.elinks.or.cz:/var/cvs/elinks + :pserver:anonymous@cvs.pld.org.pl:/cvsroot + :pserver:anoncvs@pasky.or.cz:/home/cvs/elinks (master, DEPRECATED) + +Mailing list: + http://elinks.or.cz/community.html#mailinglist + elinks-users@linuxfromscratch.org (user discussion, announcements) + elinks-dev@linuxfromscratch.org (weird development and sorcery talks) + listar@linuxfromscratch.org (Subject: subscribe elinks-users) + + +If you want to see the original Links as well, try: + +Primary site: + http://artax.karlin.mff.cuni.cz/~mikulas/links/ + +Mirrors: + http://links.sourceforge.net/download/ + ftp://ftp.fu-berlin.de/unix/network/www/links/ + +DEBs: + http://packages.debian.org/stable/web/links.html + http://packages.debian.org/unstable/web/links.html + +RPMs: + http://rpmfind.net/linux/rpm2html/search.php?query=links + http://ftp.nest.pld-linux.org/pool/l/links/ + http://ftp.pld-linux.org/pool/l/links/ + +$Id: SITES,v 1.21 2005/01/31 23:14:14 jonas Exp $ diff --git a/THANKS b/THANKS new file mode 100644 index 00000000..adb1b669 --- /dev/null +++ b/THANKS @@ -0,0 +1,17 @@ +Thanks to Mikulas Patocka for the excellent +browser on which ELinks is based and for the long hours, gained experience and +occasional amusement when deciphering and cleaning its source. + +Thanks also to Karel Kulhavy, Petr Kulhavy and Michal Pergel for giving +inspiration to new features, and longer hours and constant amusement when +deciphering code produced by them. + +Thanks to HSTI (http://www.hsti.com/) for sponsoring ELinks development. + +Thanks to Gerard Beekmans for providing us the +resources for our mailing lists at linuxfromscratch.org servers. + +Thanks to Jan Sembera for providing us the space and +bandwidth on his server for elinks.or.cz and cvs.elinks.or.cz. + +Thanks to Zdenek Burda for donating the elinks.cz domain. diff --git a/TODO b/TODO new file mode 100644 index 00000000..75c1f787 --- /dev/null +++ b/TODO @@ -0,0 +1,25 @@ +The ELinks TODO items are kept in Bugzilla (http://bugzilla.elinks.or.cz/), +look for the bugs with 'enhancement' severity. Some generic goals are still +kept here, though, to be more on the developers' eyes ;-). + + +What yet needs to take its way to Bugzilla: + + Some rules for sane handling of texinfo documentation + + Rewrite HTML parser (see ELusive, src/elusive/TODO) + + Reorganization of user interface (nothing particular at all, just an +uncertain feel that it could be better and bear a look of some UI designer ;) + + +General goals: + + Write some more documentation.. docs, a lot of docs! (see doc/book/TODO) + + General code cleanup + + Speed/memory optimizations + + +$Id: TODO,v 1.64 2003/06/08 12:33:40 jonas Exp $ diff --git a/Unicode/.cvsignore b/Unicode/.cvsignore new file mode 100644 index 00000000..ea617a3a --- /dev/null +++ b/Unicode/.cvsignore @@ -0,0 +1,4 @@ +Makefile +Makefile.in +.deps +*.swp diff --git a/Unicode/7bit.cp b/Unicode/7bit.cp new file mode 100644 index 00000000..910c6442 --- /dev/null +++ b/Unicode/7bit.cp @@ -0,0 +1,3 @@ +7-bit ASCII +"us-ascii", "ascii", "7bit", "7-bit", "iso-ir-6", "ANSI_X3.4-1968", "ANSI_X3.4-1986", "646", "cp646", "ISO_646.irv:1991", "ISO646-US", "us", "IBM367", "cp367", "csASCII", "ISO646.1991-IRV" +# Dummy table for 7-bit terminals diff --git a/Unicode/7bitrepl.lnx b/Unicode/7bitrepl.lnx new file mode 100644 index 00000000..32045de9 --- /dev/null +++ b/Unicode/7bitrepl.lnx @@ -0,0 +1,2401 @@ +# Default 7bit replacements. +# +# Default 7bit replacements. If the MIME name is set to us-ascii, +# this will be identified with the "7 bit approximations" Display +# character set. +# +# This table is very important and should not be excluded from the distribution +# since this is a default fallback for any 8bit user's "display character set" +# which (nearly) of 256 chars and could not map a rich Unicode repertoire. +# +# M.P.: unicode to ascii table. I took this file from lynx. +# lynx/src/chrtrans/def7_uni.tbl + +#The MIME name of this charset. +Mus-ascii + +# Shall this become the "default" translation table? YES! +# There has to be exactly one table marked as "default". +D1 + + +# us-ascii characters should not normally pass here, +# they are always processed directly but let declare them here: +0x20-0x7e idem + + +# NO-BREAK SPACE, +# should not happen (processed in the code): +#U+00a0:NS +U+00a1:! +U+00a2:-c- +U+00a3:-L- +U+00a4:CUR +U+00a5:YEN +U+00a6:| +U+00a7:S: +U+00a8:" +# COPYRIGHT SIGN: +U+00a9:(c) +U+00aa:-a +U+00ab:<< +U+00ac:NOT +# SOFT HYPHEN, +# should not happen (processed in the code): +#U+00ad:- +# XXX: The following is missing in original lynx, not sure if we should do +# anything about it...? --pasky +U+00ad: +# REGISTERED SIGN: +U+00ae:(R) +U+00af:- +U+00b0:DEG +U+00b1:+- +U+00b2:^2 +U+00b3:^3 +U+00b4:' +# My -> u +U+00b5:u +U+00b6:P: +U+00b7:. +U+00b8:, +U+00b9:^1 +U+00ba:-o +U+00bb:>> +U+00bc: 1/4 +U+00bd: 1/2 +U+00be: 3/4 +U+00bf:? +0x41 U+00c0-U+00c3 +# Ä, not the best choice for some languages. +U+00c4:Ae +U+00c5:AA +U+00c6:AE +U+00c7:C, +0x45 U+00c8-U+00cb +0x49 U+00cc-U+00cf +U+00d0:D- +0x4e U+00d1 +0x4f U+00d2-U+00d5 +# Ö, not the best choice for some languages. +U+00d6:Oe +U+00d7: * +U+00d8:O/ +0x55 U+00d9-U+00db +# Ü, not the best choice for some languages. +U+00dc:Ue +0x59 U+00dd +U+00de:TH +U+00df:ss +U+00e0:`a +0x61 U+00e1-U+00e3 +# ä, not the best choice for some languages. +U+00e4:ae +U+00e5:aa +U+00e6:ae +U+00e7:c, +0x65 U+00e8-U+00eb +U+00ec:`i +0x69 U+00ed-U+00ef +U+00f0:d- +0x6e U+00f1 +0x6f U+00f2-U+00f5 +# ö, not the best choice for some languages. +U+00f6:oe +U+00f7:-: +U+00f8:o/ +0x75 U+00f9-U+00fb +# ü, not the best choice for some languages. +U+00fc:ue +0x79 U+00fd +U+00fe:th +0x79 U+00ff +# end of latin-1 repertoire +0x41 U+0100 U+0102 U+0104 # A +0x61 U+0101 U+0103 U+0105 # a +0x43 U+0106 U+010a U+010c # C +# "Fundamento de Esperanto" +U+0108:CH +# The following line is an example for mapping several accented versions +# of small letter 'c' to 'c': +0x63 U+0107 U+010b U+010d # c +# "Fundamento de Esperanto" +U+0109:ch +0x44 U+010e +0x64 U+010f +U+0110:D/ +U+0111:d/ +0x45 U+0112 U+0114 U+0116 U+0118 U+011a # E +0x65 U+0113 U+0115 U+0117 U+0119 U+011b # e +0x47 U+011e U+0120 U+0122 # G + +# "Fundamento de Esperanto" +U+011c:GH +0x67 U+011f U+0121 U+0123 # g +U+011d:gh +U+0124:HH +U+0125:hh + +U+0126:H/ +0x48 U+0127 # LATIN SMALL LETTER H BAR -> H +0x49 U+0128 U+012a U+012c U+012e U+0130 # I +0x69 U+0129 U+012b U+012d U+012f U+0131 # i +U+0132:IJ +U+0133:ij + +# "Fundamento de Esperanto" +U+0134:JH +U+0135:jh + +0x4b U+0136 +0x6b U+0137 +U+0138:kk +0x4c U+0139 U+013b U+013d # L +0x6c U+013a U+013c U+013e # l +U+013f:L. +U+0140:l. +U+0141:L/ +U+0142:l/ +0x4e U+0143 U+0145 U+0147 # N +0x6e U+0144 U+0146 U+0148 # n +U+0149:'n +U+014a:NG +0x4e U+014B # LATIN SMALL LETTER ENG -> N +0x4f U+014c U+014e # O +0x6f U+014d U+014f # o +U+0150:O" +U+0151:o" +U+0152:OE +U+0153:oe +0x52 U+0154 U+0156 U+0158 # R +0x72 U+0155 U+0157 U+0159 # r + +# "Fundamento de Esperanto" +0x53 U+015a U+015e U+0160 # S +U+015c:SH +0x73 U+015b U+015f U+0161 # s +U+015d:sh + +0x54 U+0162 U+0164 # T +0x74 U+0163 U+0165 # t +U+0166:T/ +U+0167:t/ +0x55 U+0168 U+016a U+016e U+0172 # U +# "Fundamento" +U+016c:U +0x75 U+0169 U+016b U+016f U+0173 # u +# "Fundamento" +U+016d:u +U+0170:U" +U+0171:u" +0x57 U+0174 +0x77 U+0175 +0x59 U+0176 U+0178 +0x79 U+0177 +0x5a U+0179 U+017b U+017d U+021d +0x7a U+017a U+017c U+017e +U+017f:s1 +U+0187:C2 +U+0188:c2 +U+0191:F2 +U+0192: f +U+0198:K2 +U+0199:k2 +U+01a0:O9 +U+01a1:o9 +U+01a2:OI +U+01a3:oi +U+01a6:yr +U+01af:U9 +U+01b0:u9 +U+01b5:Z/ +U+01b6:z/ +U+01b7:ED +0x41 U+01cd +0x61 U+01ce +0x49 U+01cf +0x69 U+01d0 +0x4f U+01d1 +0x6f U+01d2 +0x55 U+01d3 +0x75 U+01d4 +U+01d5:U:- +U+01d6:u:- +U+01d7:U:' +U+01d8:u:' +U+01d9:U:< +U+01da:u:< +U+01db:U:! +U+01dc:u:! +U+01de:A1 +U+01df:a1 +U+01e0:A7 +U+01e1:a7 +U+01e2:A3 +U+01e3:a3 +U+01e4:G/ +U+01e5:g/ +0x47 U+01e6 +0x67 U+01e7 +0x4b U+01e8 +0x6b U+01e9 +0x4f U+01ea +0x6f U+01eb +U+01ec:O1 +U+01ed:o1 +U+01ee:EZ +U+01ef:ez +0x6a U+01f0 +0x47 U+01f4 +0x67 U+01f5 +U+01fa:AA' +U+01fb:aa' +U+01fc:AE' +U+01fd:ae' +U+01fe:O/' +U+01ff:o/' +U+0200:A!! +U+0201:a!! +U+0202:A) +U+0203:a) +U+0204:E!! +U+0205:e!! +U+0206:E) +U+0207:e) +U+0208:I!! +U+0209:i!! +U+020a:I) +U+020b:i) +U+020c:O!! +U+020d:o!! +U+020e:O) +U+020f:o) +U+0210:R!! +U+0211:r!! +U+0212:R) +U+0213:r) +U+0214:U!! +U+0215:u!! +U+0216:U) +U+0217:u) + +# IPA symbols, from +# Linkname: FAQ: Representing IPA Phonetics in ASCII +# URL: http://www.hpl.hp.com/personal/Evan_Kirshenbaum/IPA/faq.html +# (corrected in Russian Cyrillic area). +# (corrected in Greek area). +# +0x41 U+0251 # LATIN SMALL LETTER SCRIPT A -> A +U+0252:A. +U+0253:b` +0x4f U+0254 # LATIN SMALL LETTER OPEN O -> O +U+0256:d. +U+0257:d` +U+0258:@ +0x40 U+0259 # LATIN SMALL LETTER SCHWA -> @ +0x52 U+025A # LATIN SMALL LETTER SCHWA HOOK -> R +0x45 U+025B # LATIN SMALL LETTER EPSILON -> E +U+025c:V" +U+025d:R +U+025e:O" +0x4a U+025F # LATIN SMALL LETTER DOTLESS J BAR -> J +U+0260:g` +0x67 U+0261 # LATIN SMALL LETTER SCRIPT G +0x47 U+0262 # LATIN LETTER SMALL CAPITAL G +0x51 U+0263 # LATIN SMALL LETTER GAMMA -> Q +U+0264:o- +U+0265:j +U+0266:h +U+0268:i" +0x49 U+026A U+0269 # LATIN LETTER SMALL CAPITAL I, LATIN SMALL LETTER IOTA +0x4c U+026B # LATIN SMALL LETTER L WITH MIDDLE TILDE +0x4c U+026C # LATIN SMALL LETTER L BELT +U+026d:l. +U+026e:z +U+026f:u- +U+0270:j +0x4d U+0271 # LATIN SMALL LETTER M HOOK +U+0273:n. +U+0274:n" +U+0275:@. +U+0276:&. +0x55 U+0277 # LATIN SMALL LETTER CLOSED OMEGA -> U +0x72 U+0279 # LATIN SMALL LETTER TURNED R -> r +U+027a:* +U+027b:r. +U+027d:*. +0x2a U+027E # LATIN SMALL LETTER FISHHOOK R -> * +U+0280:r" +0x52 U+0280 # LATIN LETTER SMALL CAPITAL R -> R +U+0281:g" +U+0282:s. +0x53 U+0283 # LATIN SMALL LETTER ESH -> S +U+0284:J` +U+0287:t! +U+0288:t. +U+0289:u" +0x55 U+028A # LATIN SMALL LETTER UPSILON -> U +U+028b:r +0x56 U+028C # LATIN SMALL LETTER TURNED V -> V +U+028d:w +U+028e:l^ +U+028f:I. +U+0290:z. +U+0292:Z +0x3f U+0294 # LATIN SMALL LETTER GLOTTAL STOP -> ? +U+0295:H +U+0296:l! +U+0297:c! +U+0298:p! +U+0299:b +U+029b:G` +0x6a U+029d # LATIN SMALL LETTER CROSSED-TAIL J +U+029e:k! +0x4c U+029F # LATIN LETTER SMALL CAPITAL L +U+02a0:q` +U+02a4:d3 +U+02a6:ts +U+02a7:tS +U+02b0: +U+02b1: +0x3b U+02b2 U+0321 +U+02b3: +U+02b7: +U+02bb:;S +0x60 U+02bc +U+02c6:^ +U+02c7:'< +U+02c8:| +U+02c9:1- +U+02cb:1! +0x3a U+02d0 +U+02d1::\\ +0x2b U+02d6 +0x2d U+02d7 +U+02d8:'( +U+02d9:'. +U+02da:'0 +U+02db:'; +U+02dc:~ +U+02dd:'" +U+02e5:_T +U+02e6:_H +U+02e7:_M +U+02e8:_L +U+02e9:_B +U+02ec:_v +U+02ee:'' +0x60 U+0300 +0x27 U+0301 +0x5e U+0302 +0x7e U+0303 U+0334 +U+030b:'' +0x7c U+030d +U+030e:|| +U+030f:`` +0x2e U+0322 U+0323 +U+0324: +U+0325: +0x2c U+0326 U+0327 +0x2d U+0329 +0x5b U+032a +U+032b: +U+0334: +0x2f U+0337 U+0338 +U+0340:` +U+0341:' +U+0342:~ +U+0344:'% +U+0345:j3 +U+0347:= +U+0360:~~ +U+0374:' +U+0375:, +U+037a:j3 +U+037e:?% +U+0384:'* +U+0385:'% +# Greek letters +U+0386:A' +U+0387:.* +U+0388:E' +U+0389:Y% +U+038a:I' +U+038c:O' +U+038e:U% +U+038f:W% +U+0390:i3 +U+0391:A +U+0392:B +U+0393:G +U+0394:D +U+0395:E +U+0396:Z +U+0397:Y +U+0398:TH +U+0399:I +U+039a:K +U+039b:L +U+039c:M +U+039d:N +U+039e:C +U+039f:O +U+03a0:P +U+03a1:R +U+03a3:S +U+03a4:T +U+03a5:U +U+03a6:F +U+03a7:X +U+03a8:Q +U+03a9:W* +U+03aa:J +U+03ab:V* +U+03ac:a' +U+03ad:e' +U+03ae:y% +U+03af:i' +U+03b0:u3 +U+03b1:a +U+03b2:b +U+03b3:g +U+03b4:d +U+03b5:e +U+03b6:z +U+03b7:y +U+03b8:th +U+03b9:i +U+03ba:k +U+03bb:l +U+03bc:m +U+03bd:n +U+03be:c +U+03bf:o +U+03c0:p +U+03c1:r +U+03c2:*s +U+03c3:s +U+03c4:t +U+03c5:u +U+03c6:f +U+03c7:x +U+03c8:q +U+03c9:w +U+03ca:j +U+03cb:v* +U+03cc:o' +U+03cd:u% +U+03ce:w% +# Greek symbols +U+03d0:beta +U+03d1:theta +U+03d2:upsi +U+03d5:phi +U+03d6:pi +U+03d7:k. +U+03da:T3 +U+03db:t3 +U+03dc:M3 +U+03dd:m3 +U+03de:K3 +U+03df:k3 +U+03e0:P3 +U+03e1:p3 +U+03f0:kappa +U+03f1:rho +U+03f3:J +U+03f4:'% +U+03f5:j3 +# Cyrillic capital letters +U+0402:D% +U+0403:G% +U+0404:IE +U+0405:DS +U+0406:II +U+0407:YI +U+0408:J% +U+0409:LJ +U+040a:NJ +U+040b:Ts +U+040c:KJ +U+040e:V% +U+040f:DZ +# Russian Cyrillic letters, transliterated +U+0401:IO +U+0410:A +U+0411:B +U+0412:V +U+0413:G +U+0414:D +U+0415:E +U+0416:ZH +U+0417:Z +U+0418:I +U+0419:J +U+041a:K +U+041b:L +U+041c:M +U+041d:N +U+041e:O +U+041f:P +U+0420:R +U+0421:S +U+0422:T +U+0423:U +U+0424:F +U+0425:H +U+0426:C +U+0427:CH +U+0428:SH +U+0429:SCH +U+042a:" +U+042b:Y +U+042c:' +U+042d:`E +U+042e:YU +U+042f:YA +U+0430:a +U+0431:b +U+0432:v +U+0433:g +U+0434:d +U+0435:e +U+0436:zh +U+0437:z +U+0438:i +U+0439:j +U+043a:k +U+043b:l +U+043c:m +U+043d:n +U+043e:o +U+043f:p +U+0440:r +U+0441:s +U+0442:t +U+0443:u +U+0444:f +U+0445:h +U+0446:c +U+0447:ch +U+0448:sh +U+0449:sch +U+044a:" +U+044b:y +U+044c:' +U+044d:`e +U+044e:yu +U+044f:ya +U+0451:io +# end of Russian Cyrillic letters. +# Cyrillic small letters (and some archaic) +U+0452:d% +U+0453:g% +U+0454:ie +U+0455:ds +U+0456:ii +U+0457:yi +U+0458:j% +U+0459:lj +U+045a:nj +U+045b:ts +U+045c:kj +U+045e:v% +U+045f:dz +U+0462:Y3 +U+0463:y3 +U+046a:O3 +U+046b:o3 +U+0472:F3 +U+0473:f3 +U+0474:V3 +U+0475:v3 +U+0480:C3 +U+0481:c3 +U+0490:G3 +U+0491:g3 +U+04d4:AE +U+04d5:ae +# These may make Yiddish slightly more readable, until we have +# something better. + +0x69 U+05b4 # i +0x61 U+05b7 # a +0x6f U+05b8 # o +0x75 U+05bc # u +0x68 U+05bf # h +0x3a U+05c2 # : + +0x76 U+05f0 # v +U+05f1:oy +U+05f2:ey + +# U+05d0:A+ +0x23 U+05d0 # '#' + +U+05d1:B+ +U+05d2:G+ +U+05d3:D+ +U+05d4:H+ +U+05d5:W+ +U+05d6:Z+ +U+05d7:X+ +U+05d8:Tj +U+05d9:J+ +U+05da:K% +U+05db:K+ +U+05dc:L+ +U+05dd:M% +U+05de:M+ +U+05df:N% +U+05e0:N+ +U+05e1:S+ +U+05e2:E+ +U+05e3:P% +U+05e4:P+ +U+05e5:Zj +U+05e6:ZJ +U+05e7:Q+ +U+05e8:R+ +U+05e9:Sh +U+05ea:T+ + +U+060c:,+ +U+061b:;+ +U+061f:?+ +U+0621:H' +U+0622:aM +U+0623:aH +U+0624:wH +U+0625:ah +U+0626:yH +U+0627:a+ +U+0628:b+ +U+0629:tm +U+062a:t+ +U+062b:tk +U+062c:g+ +U+062d:hk +U+062e:x+ +U+062f:d+ +U+0630:dk +U+0631:r+ +U+0632:z+ +U+0633:s+ +U+0634:sn +U+0635:c+ +U+0636:dd +U+0637:tj +U+0638:zH +U+0639:e+ +U+063a:i+ +U+0640:++ +U+0641:f+ +U+0642:q+ +U+0643:k+ +U+0644:l+ +U+0645:m+ +U+0646:n+ +U+0647:h+ +U+0648:w+ +U+0649:j+ +U+064a:y+ +U+064b::+ +U+064c:"+ +U+064d:=+ +U+064e:/+ +U+064f:'+ +U+0650:1+ +U+0651:3+ +U+0652:0+ +U+0660:0a +U+0661:1a +U+0662:2a +U+0663:3a +U+0664:4a +U+0665:5a +U+0666:6a +U+0667:7a +U+0668:8a +U+0669:9a +U+0670:aS +U+067e:p+ +U+0681:hH +U+0686:tc +U+0698:zj +U+06a4:v+ +U+06af:gf +U+06f0:0a +U+06f1:1a +U+06f2:2a +U+06f3:3a +U+06f4:4a +U+06f5:5a +U+06f6:6a +U+06f7:7a +U+06f8:8a +U+06f9:9a + +# Replacement strings for Ethiopic characters +U+1200:he +U+1201:hu +U+1202:hi +U+1203:ha +U+1204:hE +0x68 U+1205 #:h +U+1206:ho +U+1208:le +U+1209:lu +U+120A:li +U+120B:la +U+120C:lE +0x6c U+120D #:l +U+120E:lo +U+120F:lWa +U+1210:He +U+1211:Hu +U+1212:Hi +U+1213:Ha +U+1214:HE +0x48 U+1215 #:H +U+1216:Ho +U+1217:HWa +U+1218:me +U+1219:mu +U+121A:mi +U+121B:ma +U+121C:mE +0x6d U+121D #:m +U+121E:mo +U+121F:mWa +U+1220:`se +U+1221:`su +U+1222:`si +U+1223:`sa +U+1224:`sE +U+1225:`s +U+1226:`so +U+1227:`sWa +U+1228:re +U+1229:ru +U+122A:ri +U+122B:ra +U+122C:rE +0x72 U+122D #:r +U+122E:ro +U+122F:rWa +U+1230:se +U+1231:su +U+1232:si +U+1233:sa +U+1234:sE +0x73 U+1235 #:s +U+1236:so +U+1237:sWa +U+1238:xe +U+1239:xu +U+123A:xi +U+123B:xa +U+123C:xE +U+123D:xa +U+123E:xo +U+123F:xWa +U+1240:qe +U+1241:qu +U+1242:qi +U+1243:qa +U+1244:qE +0x71 U+1245 #:q +U+1246:qo +U+1248:qWe +U+124A:qWi +U+124B:qWa +U+124C:qWE +U+124D:qW +U+1250:Qe +U+1251:Qu +U+1252:Qi +U+1253:Qa +U+1254:QE +0x51 U+1255 #:Q +U+1256:Qo +U+1258:QWe +U+125A:QWi +U+125B:QWa +U+125C:QWE +U+125D:QW +U+1260:be +U+1261:bu +U+1262:bi +U+1263:ba +U+1264:bE +0x62 U+1265 #:b +U+1266:bo +U+1267:bWa +U+1268:ve +U+1269:vu +U+126A:vi +U+126B:va +U+126C:vE +0x76 U+126D #:v +U+126E:vo +U+126F:vWa +U+1270:te +U+1271:tu +U+1272:ti +U+1273:ta +U+1274:tE +0x74 U+1275 #:t +U+1276:to +U+1277:tWa +U+1278:ce +U+1279:cu +U+127A:ci +U+127B:ca +U+127C:cE +0x63 U+127D #:c +U+127E:co +U+127F:cWa +U+1280:`he +U+1281:`hu +U+1282:`hi +U+1283:`ha +U+1284:`hE +U+1285:`h +U+1286:`ho +U+1288:hWe +U+128A:hWi +U+128B:hWa +U+128C:hWE +U+128D:hW +U+1290:na +U+1291:nu +U+1292:ni +U+1293:na +U+1294:nE +0x6e U+1295 #:n +U+1296:no +U+1297:nWa +U+1298:Ne +U+1299:Nu +U+129A:Ni +U+129B:Na +U+129C:NE +0x4e U+129D #:N +U+129E:No +U+129F:NWa +0x65 U+12A0 #:e +0x75 U+12A1 #:u +0x69 U+12A2 #:i +0x61 U+12A3 #:a +0x45 U+12A4 #:E +0x49 U+12A5 #:I +0x6f U+12A6 #:o +U+12A7:e3 +U+12A8:ke +U+12A9:ku +U+12AA:ki +U+12AB:ka +U+12AC:kE +0x6b U+12AD #:k +U+12AE:ko +U+12B0:kWe +U+12B2:kWi +U+12B3:kWa +U+12B4:kWE +U+12B5:kW +U+12B8:Ke +U+12B9:Ku +U+12BA:Ki +U+12BB:Ka +U+12BC:KE +0x4b U+12BD #:K +U+12BE:Ko +U+12C0:KWe +U+12C2:KWi +U+12C3:KWa +U+12C4:KWE +U+12C5:KW +U+12C8:we +U+12C9:wu +U+12CA:wi +U+12CB:wa +U+12CC:wE +0x77 U+12CD #:w +U+12CE:wo +U+12D0:`e +U+12D1:`u +U+12D2:`i +U+12D3:`a +U+12D4:`E +U+12D5:`I +U+12D6:`o +U+12D8:ze +U+12D9:zu +U+12DA:zi +U+12DB:za +U+12DC:zE +0x7a U+12DD #:z +U+12DE:zo +U+12DF:zWa +U+12E0:Ze +U+12E1:Zu +U+12E2:Zi +U+12E3:Za +U+12E4:ZE +0x5a U+12E5 #:Z +U+12E6:Zo +U+12E7:ZWa +U+12E8:ye +U+12E9:yu +U+12EA:yi +U+12EB:ya +U+12EC:yE +0x79 U+12ED #:y +U+12EE:yo +U+12EF:yWa +U+12F0:de +U+12F1:du +U+12F2:di +U+12F3:da +U+12F4:dE +0x64 U+12F5 #:d +U+12F6:do +U+12F7:dWa +U+12F8:De +U+12F9:Du +U+12FA:Di +U+12FB:Da +U+12FC:DE +0x44 U+12FD #:D +U+12FE:Do +U+12FF:DWa +U+1300:je +U+1301:ju +U+1302:ji +U+1303:ja +U+1304:jE +0x6a U+1305 #:j +U+1306:jo +U+1307:jWa +U+1308:ga +U+1309:gu +U+130A:gi +U+130B:ga +U+130C:gE +0x67 U+130D #:g +U+130E:go +U+1310:gWu +U+1312:gWi +U+1313:gWa +U+1314:gWE +U+1315:gW +U+1318:Ge +U+1319:Gu +U+131A:Gi +U+131B:Ga +U+131C:GE +0x47 U+131D #:G +U+131E:Go +U+131F:GWa +U+1320:Te +U+1321:Tu +U+1322:Ti +U+1323:Ta +U+1324:TE +0x54 U+1325 #:T +U+1326:To +U+1327:TWa +U+1328:Ce +U+1329:Ca +U+132A:Cu +U+132B:Ca +U+132C:CE +0x43 U+132D #:C +U+132E:Co +U+132F:CWa +U+1330:Pe +U+1331:Pu +U+1332:Pi +U+1333:Pa +U+1334:PE +0x50 U+1335 #:P +U+1336:Po +U+1337:PWa +U+1338:SWe +U+1339:SWu +U+133A:SWi +U+133B:SWa +U+133C:SWE +U+133D:SW +U+133E:SWo +U+133F:SWa +U+1340:`Sa +U+1341:`Su +U+1342:`Si +U+1343:`Sa +U+1344:`SE +U+1345:`S +U+1346:`So +U+1348:fa +U+1349:fu +U+134A:fi +U+134B:fa +U+134C:fE +0x6f U+134D #:f +U+134E:fo +U+134F:fWa +U+1350:pe +U+1351:pu +U+1352:pi +U+1353:pa +U+1354:pE +0x70 U+1355 #:p +U+1356:po +U+1357:pWa +U+1358:mYa +U+1359:rYa +U+135A:fYa +# ETHIOPIC SPACE U+1360 mapped to ASCII space +0x20 U+1360 +0x3a U+1361 #:: +U+1362::: +0x2c U+1363 #:, +U+1364:; +U+1365:-: +U+1366::- +U+1367:`? +U+1368::|: +U+1369:`1 +U+136A:`2 +U+136B:`3 +U+136C:`4 +U+136D:`5 +U+136E:`6 +U+136F:`7 +U+1370:`8 +U+1371:`9 +U+1372:`10 +U+1373:`20 +U+1374:`30 +U+1375:`40 +U+1376:`50 +U+1377:`60 +U+1378:`70 +U+1379:`80 +U+137A:`90 +U+137B:`100 +U+137C:`10000 + + +U+1e00:A-0 +U+1e01:a-0 +U+1e02:B. +U+1e03:b. +U+1e04:B-. +U+1e05:b-. +U+1e06:B_ +U+1e07:b_ +U+1e08:C,' +U+1e09:c,' +U+1e0a:D. +U+1e0b:d. +U+1e0c:D-. +U+1e0d:d-. +U+1e0e:D_ +U+1e0f:d_ +U+1e10:D, +U+1e11:d, +U+1e12:D-> +U+1e13:d-> +U+1e14:E-! +U+1e15:e-! +U+1e16:E-' +U+1e17:e-' +U+1e18:E-> +U+1e19:e-> +U+1e1a:E-? +U+1e1b:e-? +U+1e1c:E,( +U+1e1d:e,( +U+1e1e:F. +U+1e1f:f. +U+1e20:G- +U+1e21:g- +U+1e22:H. +U+1e23:h. +U+1e24:H-. +U+1e25:h-. +U+1e26:H: +U+1e27:h: +U+1e28:H, +U+1e29:h, +U+1e2a:H-( +U+1e2b:h-( +U+1e2c:I-? +U+1e2d:i-? +U+1e2e:I:' +U+1e2f:i:' +U+1e30:K' +U+1e31:k' +U+1e32:K-. +U+1e33:k-. +U+1e34:K_ +U+1e35:k_ +U+1e36:L-. +U+1e37:l-. +U+1e38:L--. +U+1e39:l--. +U+1e3a:L_ +U+1e3b:l_ +U+1e3c:L-> +U+1e3d:l-> +U+1e3e:M' +U+1e3f:m' +U+1e40:M. +U+1e41:m. +U+1e42:M-. +U+1e43:m-. +U+1e44:N. +U+1e45:n. +U+1e46:N-. +U+1e47:n-. +U+1e48:N_ +U+1e49:n_ +U+1e4a:N-> +U+1e4b:n-> +U+1e4c:O?' +U+1e4d:o?' +U+1e4e:O?: +U+1e4f:o?: +U+1e50:O-! +U+1e51:o-! +U+1e52:O-' +U+1e53:o-' +U+1e54:P' +U+1e55:p' +U+1e56:P. +U+1e57:p. +U+1e58:R. +U+1e59:r. +U+1e5a:R-. +U+1e5b:r-. +U+1e5c:R--. +U+1e5d:r--. +U+1e5e:R_ +U+1e5f:r_ +U+1e60:S. +U+1e61:s. +U+1e62:S-. +U+1e63:s-. +U+1e64:S'. +U+1e65:s'. +U+1e66:S<. +U+1e67:s<. +U+1e68:S.-. +U+1e69:s.-. +U+1e6a:T. +U+1e6b:t. +U+1e6c:T-. +U+1e6d:t-. +U+1e6e:T_ +U+1e6f:t_ +U+1e70:T-> +U+1e71:t-> +U+1e72:U--: +U+1e73:u--: +U+1e74:U-? +U+1e75:u-? +U+1e76:U-> +U+1e77:u-> +U+1e78:U?' +U+1e79:u?' +U+1e7a:U-: +U+1e7b:u-: +U+1e7c:V? +U+1e7d:v? +U+1e7e:V-. +U+1e7f:v-. +U+1e80:W! +U+1e81:w! +U+1e82:W' +U+1e83:w' +U+1e84:W: +U+1e85:w: +U+1e86:W. +U+1e87:w. +U+1e88:W-. +U+1e89:w-. +U+1e8a:X. +U+1e8b:x. +U+1e8c:X: +U+1e8d:x: +U+1e8e:Y. +U+1e8f:y. +U+1e90:Z> +U+1e91:z> +U+1e92:Z-. +U+1e93:z-. +U+1e94:Z_ +U+1e95:z_ +U+1e96:h_ +U+1e97:t: +U+1e98:w0 +U+1e99:y0 +U+1ea0:A-. +U+1ea1:a-. +U+1ea2:A2 +U+1ea3:a2 +U+1ea4:A>' +U+1ea5:a>' +U+1ea6:A>! +U+1ea7:a>! +U+1ea8:A>2 +U+1ea9:a>2 +U+1eaa:A>? +U+1eab:a>? +U+1eac:A>-. +U+1ead:a>-. +U+1eae:A(' +U+1eaf:a(' +U+1eb0:A(! +U+1eb1:a(! +U+1eb2:A(2 +U+1eb3:a(2 +U+1eb4:A(? +U+1eb5:a(? +U+1eb6:A(-. +U+1eb7:a(-. +U+1eb8:E-. +U+1eb9:e-. +U+1eba:E2 +U+1ebb:e2 +U+1ebc:E? +U+1ebd:e? +U+1ebe:E>' +U+1ebf:e>' +U+1ec0:E>! +U+1ec1:e>! +U+1ec2:E>2 +U+1ec3:e>2 +U+1ec4:E>? +U+1ec5:e>? +U+1ec6:E>-. +U+1ec7:e>-. +U+1ec8:I2 +U+1ec9:i2 +U+1eca:I-. +U+1ecb:i-. +U+1ecc:O-. +U+1ecd:o-. +U+1ece:O2 +U+1ecf:o2 +U+1ed0:O>' +U+1ed1:o>' +U+1ed2:O>! +U+1ed3:o>! +U+1ed4:O>2 +U+1ed5:o>2 +U+1ed6:O>? +U+1ed7:o>? +U+1ed8:O>-. +U+1ed9:o>-. +U+1eda:O9' +U+1edb:o9' +U+1edc:O9! +U+1edd:o9! +U+1ede:O92 +U+1edf:o92 +U+1ee0:O9? +U+1ee1:o9? +U+1ee2:O9-. +U+1ee3:o9-. +U+1ee4:U-. +U+1ee5:u-. +U+1ee6:U2 +U+1ee7:u2 +U+1ee8:U9' +U+1ee9:u9' +U+1eea:U9! +U+1eeb:u9! +U+1eec:U92 +U+1eed:u92 +U+1eee:U9? +U+1eef:u9? +U+1ef0:U9-. +U+1ef1:u9-. +U+1ef2:Y! +U+1ef3:y! +U+1ef4:Y-. +U+1ef5:y-. +U+1ef6:Y2 +U+1ef7:y2 +U+1ef8:Y? +U+1ef9:y? +0x61 U+1f00 +U+1f01:ha +U+1f02:`a +U+1f03:h`a +U+1f04:a' +U+1f05:ha' +U+1f06:a~ +U+1f07:ha~ +0x41 U+1f08 +U+1f09:hA +U+1f0a:`A +U+1f0b:h`A +U+1f0c:A' +U+1f0d:hA' +U+1f0e:A~ +U+1f0f:hA~ +U+1f11:he +U+1f19:hE +U+1f31:hi +U+1f39:hI +U+1f41:ho +U+1f49:hO +U+1f51:hu +U+1f59:hU +U+1fbf:,, +U+1fc0:?* +U+1fc1:?: +U+1fcd:,! +U+1fce:,' +U+1fcf:?, +U+1fdd:;! +U+1fde:;' +U+1fdf:?; +U+1fe5:rh +U+1fec:Rh +U+1fed:!: +U+1fef:!* +U+1ffe:;; +# General punctuation: +0x20 U+2000 U+2002 U+2004-U+2009 # spaces +U+2001: +U+2003: +U+200e:(->) +U+200f:(<-) +U+200a: +0x2d U+2010 U+2011 U+2013 U+2015 # hyphen-like +U+2014:-- +U+2016:|| +U+2017:=2 +0x60 U+2018 # left single quotation mark <`> +0x27 U+2019-U+201b # various single quotation marks <'> +0x22 U+201c-U+201f # various double quotation marks <"> +U+2020:/- +U+2021:/= +U+2022: o +0x2e U+2024 +U+2025:.. +U+2026:... +U+2027:. +U+2028:\015 +U+2029:\015\012 + +# Dont wanna see these: +# POP DIRECTIONAL FORMATTING 202C +U+202c: +# LEFT-TO-RIGHT OVERRIDE 202D +U+202d: + +U+202f: +U+2030: 0/00 +U+2032:' +U+2033:'' +U+2034:''' +U+2035:` +U+2036:`` +U+2037:``` +U+2038:Ca +U+2039:< +U+203a:> +U+203b::X +U+203c:!! +U+203e:'- +0x2d U+2043 # HYPHEN BULLET ? +U+2044:/ +U+2048:?! +U+2049:!? +# end of General punctuation. +U+2070:^0 +U+2074:^4 +U+2075:^5 +U+2076:^6 +U+2077:^7 +U+2078:^8 +U+2079:^9 +U+207a:^+ +U+207b:^- +U+207c:^= +U+207d:^( +U+207e:^) +U+207f:^n +U+2080:_0 +U+2081:_1 +U+2082:_2 +U+2083:_3 +U+2084:_4 +U+2085:_5 +U+2086:_6 +U+2087:_7 +U+2088:_8 +U+2089:_9 +U+208a:_+ +U+208b:_- +U+208c:_= +U+208d:( +U+208e:) +# Old euro currency sign glyph: +#U+20A0:CE +U+20a3:Ff +U+20a4:Li +U+20a7:Pt +U+20a9:W= +# New euro currency sign glyph: +U+20AC:EUR +U+2100:a/c +U+2101:a/s +U+2103:oC +U+2105:c/o +U+2106:c/u +U+2109:oF +0x67 U+210a +0x68 U+210e +U+210f:"hbar +U+2111:Im +U+2113:l +U+2116:No. +U+2117:PO +U+2118:P +U+211C:Re +U+211e:Rx +U+2120:(SM) +U+2121:TEL +# TRADE MARK SIGN: +U+2122:(TM) +U+2126:Ohm +0x4b U+212A # Kelvin sign - K +U+212b:Ang. +U+212E:est. +0x6f U+2134 +U+2135:Aleph +U+2136:Bet +U+2137:Gimel +U+2138:Dalet +U+2153: 1/3 +U+2154: 2/3 +U+2155: 1/5 +U+2156: 2/5 +U+2157: 3/5 +U+2158: 4/5 +U+2159: 1/6 +U+215a: 5/6 +U+215b: 1/8 +U+215c: 3/8 +U+215d: 5/8 +U+215e: 7/8 +U+215f: 1/ +U+2160:I +U+2161:II +U+2162:III +U+2163:IV +U+2164:V +U+2165:VI +U+2166:VII +U+2167:VIII +U+2168:IX +U+2169:X +U+216a:XI +U+216b:XII +U+216c:L +U+216d:C +U+216e:D +U+216f:M +U+2170:i +U+2171:ii +U+2172:iii +U+2173:iv +U+2174:v +U+2175:vi +U+2176:vii +U+2177:viii +U+2178:ix +U+2179:x +U+217a:xi +U+217b:xii +U+217c:l +U+217d:c +U+217e:d +U+217f:m +U+2180:1000RCD +U+2181:5000R +U+2182:10000R +U+2190:<- +U+2191:-^ +U+2192:-> +U+2193:-v +U+2194:<-> +U+2195:UD +U+2196: +U+2198:!!> +U+2199:V +U+21d0:<= +U+21d1:^^ +U+21d2:=> +U+21d3:vv +U+21d4:<=> +U+2200:FA +U+2202:\partial +U+2203:TE +U+2205:{} +U+2206:Delta +U+2207:Nabla +U+2208:(- +U+2209:!(- +U+220a:(- +U+220b:-) +U+220c:!-) +U+220d:-) +U+220e: qed +U+220f:\prod +U+2211:\sum +U+2212: - +U+2213:-/+ +U+2214:.+ +0x2f U+2215 +U+2216: - +U+2217:* +U+2218:Ob +U+2219:sb +U+221a: SQRT +U+221b: ROOT3 +U+221c: ROOT4 +U+221d:0( +U+221e:infty +U+221f:-L +U+2220:-V +U+2225:PP +U+2226: !PP +U+2227:AND +U+2228:OR +U+2229:(U +U+222a:)U +U+222b:"int +U+222c:DI +U+222e:Io +U+2234:.: +U+2235::. +U+2236::R +U+2237::: +U+223c:?1 +U+223e:CG +U+2243:?- +U+2245:?= +# ALMOST EQUAL TO: +U+2248:~= +U+2249: !~= +U+224c:=? +U+2253:HI +U+2254::= +U+2255:=: +U+2260:!= +U+2261:=3 +U+2262: !=3 +U+2264:=< +U+2265:>= +U+2266:.LE. +U+2267:.GE. +U+2268:.LT.NOT.EQ. +U+2269:.GT.NOT.EQ. +U+226a:<< +U+226b:>> +U+226e:!< +U+226f:!> +U+2276: <> +U+2277: >< +U+2282:(C +U+2283:)C +U+2284: !(C +U+2285: !)C +U+2286:(_ +U+2287:)_ +U+2295:(+) +U+2296:(-) +U+2297:(x) +U+2298:(/) +U+2299:(.) +U+229A:(o) +U+229B:(*) +U+229C:(=) +U+229D:(-) +U+229E:[+] +U+229F:[-] +U+22A0:[x] +U+22A1:[.] +U+22a5:-T +U+22A7: MODELS +U+22A8: TRUE +U+22A9: FORCES +U+22AC: !PROVES +U+22AD: NOT TRUE +U+22AE: !FORCES +U+22B2: NORMAL SUBGROUP OF +U+22B3: CONTAINS AS NORMAL SUBGROUP +U+22B4: NORMAL SUBGROUP OF OR EQUAL TO +U+22B5: CONTAINS AS NORMAL SUBGROUP OR EQUAL TO +U+22B8: MULTIMAP +U+22BA: INTERCALATE +U+22BB: XOR +U+22BC: NAND +U+22C5: DOT +U+22d6:<. +U+22d7:>. +U+22d8:<<< +U+22d9:>>> +U+22ee::3 +U+22ef:.3 +U+2302:Eh +U+2307:~~ +U+2308:<7 +U+2309:>7 +U+230a:7< +U+230b:7> +U+2310:NI +U+2312:(A +U+2315:TR +U+2318:88 +U+2320:Iu +U+2321:Il +U+2322::( +U+2323::) +U+2324:|^| +U+2327:[X] +U+2329: +U+2423:Vs +U+2440:1h +U+2441:3h +U+2442:2h +U+2443:4h +U+2446:1j +U+2447:2j +U+2448:3j +U+2449:4j +U+2460:1-o +U+2461:2-o +U+2462:3-o +U+2463:4-o +U+2464:5-o +U+2465:6-o +U+2466:7-o +U+2467:8-o +U+2468:9-o +U+2469:10-o +U+246a:11-o +U+246b:12-o +U+246c:13-o +U+246d:14-o +U+246e:15-o +U+246f:16-o +U+2470:17-o +U+2471:18-o +U+2472:19-o +U+2473:20-o +U+2474:(1) +U+2475:(2) +U+2476:(3) +U+2477:(4) +U+2478:(5) +U+2479:(6) +U+247a:(7) +U+247b:(8) +U+247c:(9) +U+247d:(10) +U+247e:(11) +U+247f:(12) +U+2480:(13) +U+2481:(14) +U+2482:(15) +U+2483:(16) +U+2484:(17) +U+2485:(18) +U+2486:(19) +U+2487:(20) +U+2488:1. +U+2489:2. +U+248a:3. +U+248b:4. +U+248c:5. +U+248d:6. +U+248e:7. +U+248f:8. +U+2490:9. +U+2491:10. +U+2492:11. +U+2493:12. +U+2494:13. +U+2495:14. +U+2496:15. +U+2497:16. +U+2498:17. +U+2499:18. +U+249a:19. +U+249b:20. +U+249c:(a) +U+249d:(b) +U+249e:(c) +U+249f:(d) +U+24a0:(e) +U+24a1:(f) +U+24a2:(g) +U+24a3:(h) +U+24a4:(i) +U+24a5:(j) +U+24a6:(k) +U+24a7:(l) +U+24a8:(m) +U+24a9:(n) +U+24aa:(o) +U+24ab:(p) +U+24ac:(q) +U+24ad:(r) +U+24ae:(s) +U+24af:(t) +U+24b0:(u) +U+24b1:(v) +U+24b2:(w) +U+24b3:(x) +U+24b4:(y) +U+24b5:(z) +U+24b6:A-o +U+24b7:B-o +U+24b8:C-o +U+24b9:D-o +U+24ba:E-o +U+24bb:F-o +U+24bc:G-o +U+24bd:H-o +U+24be:I-o +U+24bf:J-o +U+24c0:K-o +U+24c1:L-o +U+24c2:M-o +U+24c3:N-o +U+24c4:O-o +U+24c5:P-o +U+24c6:Q-o +U+24c7:R-o +U+24c8:S-o +U+24c9:T-o +U+24ca:U-o +U+24cb:V-o +U+24cc:W-o +U+24cd:X-o +U+24ce:Y-o +U+24cf:Z-o +U+24d0:a-o +U+24d1:b-o +U+24d2:c-o +U+24d3:d-o +U+24d4:e-o +U+24d5:f-o +U+24d6:g-o +U+24d7:h-o +U+24d8:i-o +U+24d9:j-o +U+24da:k-o +U+24db:l-o +U+24dc:m-o +U+24dd:n-o +U+24de:o-o +U+24df:p-o +U+24e0:q-o +U+24e1:r-o +U+24e2:s-o +U+24e3:t-o +U+24e4:u-o +U+24e5:v-o +U+24e6:w-o +U+24e7:x-o +U+24e8:y-o +U+24e9:z-o +U+24ea:0-o +U+2500:- +U+2501:= +U+2502:| +U+2503:| +U+2504:- +U+2505:= +U+2506:| +U+2507:| +U+2508:- +U+2509:= +U+250a:| +U+250b:| +0x2b U+250c-U+256c # box drawings, use + +U+2571:/ +U+2572:\ +U+2580:TB +U+2584:LB +U+2588:FB +U+258c:lB +U+2590:RB +U+2591:.S +U+2592::S +U+2593:?S +U+25a0:fS +U+25a1:OS +U+25a2:RO +U+25a3:Rr +U+25a4:RF +U+25a5:RY +U+25a6:RH +U+25a7:RZ +U+25a8:RK +U+25a9:RX +U+25aa:sB +U+25ac:SR +U+25ad:Or +U+25b2:^ +U+25b3:uT +U+25b6:|> +U+25b7:Tr +U+25ba:|> +U+25bc:v +U+25bd:dT +U+25c0:<| +U+25c1:Tl +U+25c4:<| +U+25c6:Db +U+25c7:Dw +U+25ca:LZ +U+25cb:0m +U+25ce:0o +U+25cf:0M +U+25d0:0L +U+25d1:0R +U+25d8:Sn +U+25d9:Ic +U+25e2:Fd +U+25e3:Bd +U+25ef:Ci +U+2605:*2 +U+2606:*1 +U+260e:TEL +U+260f:tel +U+261c:<-- +U+261e:--> +U+2621:CAUTION +U+2627:XP +U+2639::-( +U+263a::-) +U+263b:(-: +U+263c:SU +U+2640:f. +U+2642:m. +U+2660:cS +U+2661:cH +U+2662:cD +U+2663:cC +U+2664:cS- +U+2665:cH- +U+2666:cD- +U+2667:cC- +U+2669:Md +U+266a:M8 +U+266b:M2 +U+266c:M16 +U+266d:b +U+266e:Mx +U+266f:# +0x58 U+2713 U+2717 # check marks -> x +U+2720:-X +# CJK area: +0x20 U+3000 # ideographic space +U+3001:,_ +U+3002:._ +U+3003:+" +U+3004:JIS +U+3005:*_ +U+3006:;_ +U+3007:0_ +U+300a:<+ +U+300b:>+ +U+300c:<' +U+300d:>' +U+300e:<" +U+300f:>" +U+3010:(" +U+3011:)" +U+3012:=T +U+3013:=_ +U+3014:(' +U+3015:)' +U+3016:(I +U+3017:)I +U+301a:[[ +U+301b:]] +U+301c:-? +U+3020:=T:) +0x20 U+303f +U+3041:A5 +U+3042:a5 +U+3043:I5 +U+3044:i5 +U+3045:U5 +U+3046:u5 +U+3047:E5 +U+3048:e5 +U+3049:O5 +U+304a:o5 +U+304b:ka +U+304c:ga +U+304d:ki +U+304e:gi +U+304f:ku +U+3050:gu +U+3051:ke +U+3052:ge +U+3053:ko +U+3054:go +U+3055:sa +U+3056:za +U+3057:si +U+3058:zi +U+3059:su +U+305a:zu +U+305b:se +U+305c:ze +U+305d:so +U+305e:zo +U+305f:ta +U+3060:da +U+3061:ti +U+3062:di +U+3063:tU +U+3064:tu +U+3065:du +U+3066:te +U+3067:de +U+3068:to +U+3069:do +U+306a:na +U+306b:ni +U+306c:nu +U+306d:ne +U+306e:no +U+306f:ha +U+3070:ba +U+3071:pa +U+3072:hi +U+3073:bi +U+3074:pi +U+3075:hu +U+3076:bu +U+3077:pu +U+3078:he +U+3079:be +U+307a:pe +U+307b:ho +U+307c:bo +U+307d:po +U+307e:ma +U+307f:mi +U+3080:mu +U+3081:me +U+3082:mo +U+3083:yA +U+3084:ya +U+3085:yU +U+3086:yu +U+3087:yO +U+3088:yo +U+3089:ra +U+308a:ri +U+308b:ru +U+308c:re +U+308d:ro +U+308e:wA +U+308f:wa +U+3090:wi +U+3091:we +U+3092:wo +U+3093:n5 +U+3094:vu +U+309b:"5 +U+309c:05 +U+309d:*5 +U+309e:+5 +U+30a1:a6 +U+30a2:A6 +U+30a3:i6 +U+30a4:I6 +U+30a5:u6 +U+30a6:U6 +U+30a7:e6 +U+30a8:E6 +U+30a9:o6 +U+30aa:O6 +U+30ab:Ka +U+30ac:Ga +U+30ad:Ki +U+30ae:Gi +U+30af:Ku +U+30b0:Gu +U+30b1:Ke +U+30b2:Ge +U+30b3:Ko +U+30b4:Go +U+30b5:Sa +U+30b6:Za +U+30b7:Si +U+30b8:Zi +U+30b9:Su +U+30ba:Zu +U+30bb:Se +U+30bc:Ze +U+30bd:So +U+30be:Zo +U+30bf:Ta +U+30c0:Da +U+30c1:Ti +U+30c2:Di +U+30c3:TU +U+30c4:Tu +U+30c5:Du +U+30c6:Te +U+30c7:De +U+30c8:To +U+30c9:Do +U+30ca:Na +U+30cb:Ni +U+30cc:Nu +U+30cd:Ne +U+30ce:No +U+30cf:Ha +U+30d0:Ba +U+30d1:Pa +U+30d2:Hi +U+30d3:Bi +U+30d4:Pi +U+30d5:Hu +U+30d6:Bu +U+30d7:Pu +U+30d8:He +U+30d9:Be +U+30da:Pe +U+30db:Ho +U+30dc:Bo +U+30dd:Po +U+30de:Ma +U+30df:Mi +U+30e0:Mu +U+30e1:Me +U+30e2:Mo +U+30e3:YA +U+30e4:Ya +U+30e5:YU +U+30e6:Yu +U+30e7:YO +U+30e8:Yo +U+30e9:Ra +U+30ea:Ri +U+30eb:Ru +U+30ec:Re +U+30ed:Ro +U+30ee:WA +U+30ef:Wa +U+30f0:Wi +U+30f1:We +U+30f2:Wo +U+30f3:N6 +U+30f4:Vu +U+30f5:KA +U+30f6:KE +U+30f7:Va +U+30f8:Vi +U+30f9:Ve +U+30fa:Vo +U+30fb:.6 +U+30fc:-6 +U+30fd:*6 +U+30fe:+6 +U+3105:b4 +U+3106:p4 +U+3107:m4 +U+3108:f4 +U+3109:d4 +U+310a:t4 +U+310b:n4 +U+310c:l4 +U+310d:g4 +U+310e:k4 +U+310f:h4 +U+3110:j4 +U+3111:q4 +U+3112:x4 +U+3113:zh +U+3114:ch +U+3115:sh +U+3116:r4 +U+3117:z4 +U+3118:c4 +U+3119:s4 +U+311a:a4 +U+311b:o4 +U+311c:e4 +U+311d:eh4 +U+311e:ai +U+311f:ei +U+3120:au +U+3121:ou +U+3122:an +U+3123:en +U+3124:aN +U+3125:eN +U+3126:er +U+3127:i4 +U+3128:u4 +U+3129:iu +U+312a:v4 +U+312b:nG +U+312c:gn +U+321c:(JU) +U+3220:1c +U+3221:2c +U+3222:3c +U+3223:4c +U+3224:5c +U+3225:6c +U+3226:7c +U+3227:8c +U+3228:9c +U+3229:10c +U+327f:KSC +U+33c2:am +U+33d8:pm +# +# +#There are four special ranges of characters that are represented only by +#their start and end characters <...> +# +# The CJK Ideographs Area (U+4E00 - U+9FFF) +# The Hangul Syllables Area (U+AC00 - U+D7A3) +# The Surrogates Area (U+D800 - U+DFFF) +# The Private Use Area (U+E000 - U+F8FF) +# +# +U+fb00:ff +U+fb01:fi +U+fb02:fl +U+fb03:ffi +U+fb04:ffl +U+fb05:St +U+fb06:st +U+fe7d:3+; +U+fe82:aM. +U+fe84:aH. +U+fe88:ah. +U+fe8d:a+- +U+fe8e:a+. +U+fe8f:b+- +U+fe90:b+. +U+fe91:b+, +U+fe92:b+; +U+fe93:tm- +U+fe94:tm. +U+fe95:t+- +U+fe96:t+. +U+fe97:t+, +U+fe98:t+; +U+fe99:tk- +U+fe9a:tk. +U+fe9b:tk, +U+fe9c:tk; +U+fe9d:g+- +U+fe9e:g+. +U+fe9f:g+, +U+fea0:g+; +U+fea1:hk- +U+fea2:hk. +U+fea3:hk, +U+fea4:hk; +U+fea5:x+- +U+fea6:x+. +U+fea7:x+, +U+fea8:x+; +U+fea9:d+- +U+feaa:d+. +U+feab:dk- +U+feac:dk. +U+fead:r+- +U+feae:r+. +U+feaf:z+- +U+feb0:z+. +U+feb1:s+- +U+feb2:s+. +U+feb3:s+, +U+feb4:s+; +U+feb5:sn- +U+feb6:sn. +U+feb7:sn, +U+feb8:sn; +U+feb9:c+- +U+feba:c+. +U+febb:c+, +U+febc:c+; +U+febd:dd- +U+febe:dd. +U+febf:dd, +U+fec0:dd; +U+fec1:tj- +U+fec2:tj. +U+fec3:tj, +U+fec4:tj; +U+fec5:zH- +U+fec6:zH. +U+fec7:zH, +U+fec8:zH; +U+fec9:e+- +U+feca:e+. +U+fecb:e+, +U+fecc:e+; +U+fecd:i+- +U+fece:i+. +U+fecf:i+, +U+fed0:i+; +U+fed1:f+- +U+fed2:f+. +U+fed3:f+, +U+fed4:f+; +U+fed5:q+- +U+fed6:q+. +U+fed7:q+, +U+fed8:q+; +U+fed9:k+- +U+feda:k+. +U+fedb:k+, +U+fedc:k+; +U+fedd:l+- +U+fede:l+. +U+fedf:l+, +U+fee0:l+; +U+fee1:m+- +U+fee2:m+. +U+fee3:m+, +U+fee4:m+; +U+fee5:n+- +U+fee6:n+. +U+fee7:n+, +U+fee8:n+; +U+fee9:h+- +U+feea:h+. +U+feeb:h+, +U+feec:h+; +U+feed:w+- +U+feee:w+. +U+feef:j+- +U+fef0:j+. +U+fef1:y+- +U+fef2:y+. +U+fef3:y+, +U+fef4:y+; +U+fef5:lM- +U+fef6:lM. +U+fef7:lH- +U+fef8:lH. +U+fef9:lh- +U+fefa:lh. +U+fefb:la- +U+fefc:la. + +# the reverse byte-order-mark: zero-width non-break space +U+feff: + +0x21-0x7e U+ff01-U+ff5e +0x2e U+ff61 +0x22 U+ff62 U+ff63 +0x2c U+ff64 + +# Symbols for C0 and C1 control characters, in case they get through... +U+0000:NUL +U+0001:SH +U+0002:SX +U+0003:EX +U+0004:ET +U+0005:ENQ +U+0006:AK +U+0007:BL +U+0008:BS +U+0009:HT +U+000a:LF +U+000b:VT +U+000c:FF +U+000d:CR +U+000e:SO +U+000f:SI +U+0010:DL +U+0011:DC1 +U+0012:DC2 +U+0013:DC3 +U+0014:DC4 +U+0015:NAK +U+0016:SYN +U+0017:EB +U+0018:CN +U+0019:EM +U+001a:SB +U+001b:ESC +U+001c:FS +U+001d:GS +U+001e:RS +U+001f:US +U+007f:DT +# Most of these characters (80-9F) may be inflicted on us +# by MS FrontPages which uses Unicode notation such as ™ +# but there are no assigned letters in Unicode 128-159 range. +# It is assumed in the code that those codepoints are from windows-1252. +#U+0080:PA +#U+0081:HO +#U+0082:BH +#U+0083:NH +#U+0084:IN +#U+0085:NL +U+0085:\012 +#U+0086:SA +#U+0087:ES +#U+0088:HS +#U+0089:HJ +#U+008a:VS +#U+008b:PD +#U+008c:PU +#U+008d:RI +#U+008e:SS2 +#U+008f:SS3 +#U+0090:DCS +#U+0091:P1 +#U+0092:P2 +#U+0093:TS +#U+0094:CC +#U+0095:MW +#U+0096:SG +#U+0097:EG +#U+0098:SS +#U+0099:GC +#U+009a:SC +#U+009b:CSI +#U+009c:ST +#U+009d:OC +#U+009e:PM +#U+009f:AC + +# Let's try to show a question mark for character that cannot +# be shown. U+fffd is used for invalid characters. +# It works, but let's stick with UHHH representation. - FM +#U+fffd "?" diff --git a/Unicode/8859_1.cp b/Unicode/8859_1.cp new file mode 100644 index 00000000..1c10cbe3 --- /dev/null +++ b/Unicode/8859_1.cp @@ -0,0 +1,193 @@ +ISO 8859-1 +"ISO-8859-1", "iso8859-1", "8859-1", "iso-ir-100", "latin1", "l1", "il1", "819", "cp819", "ISO_8859-1", "IBM819", "csISOLatin1", "ISO_8859-1:1987", "ISO8859_1" +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x00A1 #INVERTED EXCLAMATION MARK +0xA2 0x00A2 #CENT SIGN +0xA3 0x00A3 #POUND SIGN +0xA4 0x00A4 #CURRENCY SIGN +0xA5 0x00A5 #YEN SIGN +0xA6 0x00A6 #BROKEN BAR +0xA7 0x00A7 #SECTION SIGN +0xA8 0x00A8 #DIAERESIS +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x00AA #FEMININE ORDINAL INDICATOR +0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC #NOT SIGN +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x00AE #REGISTERED SIGN +0xAF 0x00AF #MACRON +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x00B2 #SUPERSCRIPT TWO +0xB3 0x00B3 #SUPERSCRIPT THREE +0xB4 0x00B4 #ACUTE ACCENT +0xB5 0x00B5 #MICRO SIGN +0xB6 0x00B6 #PILCROW SIGN +0xB7 0x00B7 #MIDDLE DOT +0xB8 0x00B8 #CEDILLA +0xB9 0x00B9 #SUPERSCRIPT ONE +0xBA 0x00BA #MASCULINE ORDINAL INDICATOR +0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x00BC #VULGAR FRACTION ONE QUARTER +0xBD 0x00BD #VULGAR FRACTION ONE HALF +0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS +0xBF 0x00BF #INVERTED QUESTION MARK +0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE +0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x00C6 #LATIN CAPITAL LETTER AE +0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE +0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS +0xD0 0x00D0 #LATIN CAPITAL LETTER ETH +0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE +0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE +0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE +0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE +0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE +0xDE 0x00DE #LATIN CAPITAL LETTER THORN +0xDF 0x00DF #LATIN SMALL LETTER SHARP S +0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE +0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x00E6 #LATIN SMALL LETTER AE +0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE +0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS +0xF0 0x00F0 #LATIN SMALL LETTER ETH +0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE +0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE +0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE +0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE +0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x00FE #LATIN SMALL LETTER THORN +0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS diff --git a/Unicode/8859_10.cp b/Unicode/8859_10.cp new file mode 100644 index 00000000..103d38c3 --- /dev/null +++ b/Unicode/8859_10.cp @@ -0,0 +1,305 @@ +ISO 8859-10 +"ISO-8859-10", "8859-10", "ISO_8859-10:1992", "ISO-IR-157", "LATIN6", "L6", "csISOLatin6", "ISO8859-10" +# +# Name: ISO/IEC 8859-10:1998 to Unicode +# Unicode version: 3.0 +# Table version: 1.1 +# Table format: Format A +# Date: 1999 October 11 +# Authors: Ken Whistler +# +# Copyright (c) 1999 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on optical media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Unicode, Inc. hereby grants the right to freely use the information +# supplied in this file in the creation of products supporting the +# Unicode Standard, and to make copies of this file in any form for +# internal or external distribution as long as this notice remains +# attached. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# ISO/IEC 8859-10:1998 characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the ISO/IEC 8859-10 code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# +# The entries are in ISO/IEC 8859-10 order. +# +# Version history +# 1.0 version new. +# 1.1 corrected mistake in mapping of 0xA4 +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that is an archival address; +# notices will be checked, but do not expect an immediate response. +# +0x00 0x0000 # NULL +0x01 0x0001 # START OF HEADING +0x02 0x0002 # START OF TEXT +0x03 0x0003 # END OF TEXT +0x04 0x0004 # END OF TRANSMISSION +0x05 0x0005 # ENQUIRY +0x06 0x0006 # ACKNOWLEDGE +0x07 0x0007 # BELL +0x08 0x0008 # BACKSPACE +0x09 0x0009 # HORIZONTAL TABULATION +0x0A 0x000A # LINE FEED +0x0B 0x000B # VERTICAL TABULATION +0x0C 0x000C # FORM FEED +0x0D 0x000D # CARRIAGE RETURN +0x0E 0x000E # SHIFT OUT +0x0F 0x000F # SHIFT IN +0x10 0x0010 # DATA LINK ESCAPE +0x11 0x0011 # DEVICE CONTROL ONE +0x12 0x0012 # DEVICE CONTROL TWO +0x13 0x0013 # DEVICE CONTROL THREE +0x14 0x0014 # DEVICE CONTROL FOUR +0x15 0x0015 # NEGATIVE ACKNOWLEDGE +0x16 0x0016 # SYNCHRONOUS IDLE +0x17 0x0017 # END OF TRANSMISSION BLOCK +0x18 0x0018 # CANCEL +0x19 0x0019 # END OF MEDIUM +0x1A 0x001A # SUBSTITUTE +0x1B 0x001B # ESCAPE +0x1C 0x001C # FILE SEPARATOR +0x1D 0x001D # GROUP SEPARATOR +0x1E 0x001E # RECORD SEPARATOR +0x1F 0x001F # UNIT SEPARATOR +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE +0x80 0x0080 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK +0xA2 0x0112 # LATIN CAPITAL LETTER E WITH MACRON +0xA3 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA +0xA4 0x012A # LATIN CAPITAL LETTER I WITH MACRON +0xA5 0x0128 # LATIN CAPITAL LETTER I WITH TILDE +0xA6 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA +0xA7 0x00A7 # SECTION SIGN +0xA8 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA +0xA9 0x0110 # LATIN CAPITAL LETTER D WITH STROKE +0xAA 0x0160 # LATIN CAPITAL LETTER S WITH CARON +0xAB 0x0166 # LATIN CAPITAL LETTER T WITH STROKE +0xAC 0x017D # LATIN CAPITAL LETTER Z WITH CARON +0xAD 0x00AD # SOFT HYPHEN +0xAE 0x016A # LATIN CAPITAL LETTER U WITH MACRON +0xAF 0x014A # LATIN CAPITAL LETTER ENG +0xB0 0x00B0 # DEGREE SIGN +0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK +0xB2 0x0113 # LATIN SMALL LETTER E WITH MACRON +0xB3 0x0123 # LATIN SMALL LETTER G WITH CEDILLA +0xB4 0x012B # LATIN SMALL LETTER I WITH MACRON +0xB5 0x0129 # LATIN SMALL LETTER I WITH TILDE +0xB6 0x0137 # LATIN SMALL LETTER K WITH CEDILLA +0xB7 0x00B7 # MIDDLE DOT +0xB8 0x013C # LATIN SMALL LETTER L WITH CEDILLA +0xB9 0x0111 # LATIN SMALL LETTER D WITH STROKE +0xBA 0x0161 # LATIN SMALL LETTER S WITH CARON +0xBB 0x0167 # LATIN SMALL LETTER T WITH STROKE +0xBC 0x017E # LATIN SMALL LETTER Z WITH CARON +0xBD 0x2015 # HORIZONTAL BAR +0xBE 0x016B # LATIN SMALL LETTER U WITH MACRON +0xBF 0x014B # LATIN SMALL LETTER ENG +0xC0 0x0100 # LATIN CAPITAL LETTER A WITH MACRON +0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE +0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x00C6 # LATIN CAPITAL LETTER AE +0xC7 0x012E # LATIN CAPITAL LETTER I WITH OGONEK +0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON +0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK +0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE +0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS +0xD0 0x00D0 # LATIN CAPITAL LETTER ETH (Icelandic) +0xD1 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA +0xD2 0x014C # LATIN CAPITAL LETTER O WITH MACRON +0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x0168 # LATIN CAPITAL LETTER U WITH TILDE +0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE +0xD9 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK +0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE +0xDE 0x00DE # LATIN CAPITAL LETTER THORN (Icelandic) +0xDF 0x00DF # LATIN SMALL LETTER SHARP S (German) +0xE0 0x0101 # LATIN SMALL LETTER A WITH MACRON +0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE +0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x00E6 # LATIN SMALL LETTER AE +0xE7 0x012F # LATIN SMALL LETTER I WITH OGONEK +0xE8 0x010D # LATIN SMALL LETTER C WITH CARON +0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK +0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE +0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS +0xF0 0x00F0 # LATIN SMALL LETTER ETH (Icelandic) +0xF1 0x0146 # LATIN SMALL LETTER N WITH CEDILLA +0xF2 0x014D # LATIN SMALL LETTER O WITH MACRON +0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x0169 # LATIN SMALL LETTER U WITH TILDE +0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE +0xF9 0x0173 # LATIN SMALL LETTER U WITH OGONEK +0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x00FE # LATIN SMALL LETTER THORN (Icelandic) +0xFF 0x0138 # LATIN SMALL LETTER KRA diff --git a/Unicode/8859_13.cp b/Unicode/8859_13.cp new file mode 100644 index 00000000..e93e9c81 --- /dev/null +++ b/Unicode/8859_13.cp @@ -0,0 +1,134 @@ +ISO 8859-13 +"ISO-8859-13", "iso8859-13", "8859-13", "iso-ir-179", "latin7", "l7", "il7", "ISO_8859-13" + +0x20-0x7e idem +# +0x80 0x0080 #PADDING CHARACTER (PAD) +0x81 0x0081 #HIGH OCTET PRESET (HOP) +0x82 0x0082 #BREAK PERMITTED HERE (BPH) +0x83 0x0083 #NO BREAK HERE (NBH) +0x84 0x0084 #INDEX (IND) +0x85 0x0085 #NEXT LINE (NEL) +0x86 0x0086 #START OF SELECTED AREA (SSA) +0x87 0x0087 #END OF SELECTED AREA (ESA) +0x88 0x0088 #CHARACTER TABULATION SET (HTS) +0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION (HTJ) +0x8A 0x008A #LINE TABULATION SET (VTS) +0x8B 0x008B #PARTIAL LINE FORWARD (PLD) +0x8C 0x008C #PARTIAL LINE BACKWARD (PLU) +0x8D 0x008D #REVERSE LINE FEED (RI) +0x8E 0x008E #SINGLE-SHIFT TWO (SS2) +0x8F 0x008F #SINGLE-SHIFT THREE (SS3) +0x90 0x0090 #DEVICE CONTROL STRING (DCS) +0x91 0x0091 #PRIVATE USE ONE (PU1) +0x92 0x0092 #PRIVATE USE TWO (PU2) +0x93 0x0093 #SET TRANSMIT STATE (STS) +0x94 0x0094 #CANCEL CHARACTER (CCH) +0x95 0x0095 #MESSAGE WAITING (MW) +0x96 0x0096 #START OF GUARDED AREA (SPA) +0x97 0x0097 #END OF GUARDED AREA (EPA) +0x98 0x0098 #START OF STRING (SOS) +0x99 0x0099 #SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI) +0x9A 0x009A #SINGLE CHARACTER INTRODUCER (SCI) +0x9B 0x009B #CONTROL SEQUENCE INTRODUCER (CSI) +0x9C 0x009C #STRING TERMINATOR (ST) +0x9D 0x009D #OPERATING SYSTEM COMMAND (OSC) +0x9E 0x009E #PRIVACY MESSAGE (PM) +0x9F 0x009F #APPLICATION PROGRAM COMMAND (APC) +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x201D #RIGHT DOUBLE QUOTATION MARK +0xA2 0x00A2 #CENT SIGN +0xA3 0x00A3 #POUND SIGN +0xA4 0x00A4 #CURRENCY SIGN +0xA5 0x201E #DOUBLE LOW-9 QUOTATION MARK +0xA6 0x00A6 #BROKEN BAR +0xA7 0x00A7 #SECTION SIGN +0xA8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA +0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC #NOT SIGN +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x00AE #REGISTERED SIGN +0xAF 0x00C6 #LATIN CAPITAL LETTER AE +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x00B2 #SUPERSCRIPT TWO +0xB3 0x00B3 #SUPERSCRIPT THREE +0xB4 0x201C #LEFT DOUBLE QUOTATION MARK +0xB5 0x00B5 #MICRO SIGN +0xB6 0x00B6 #PILCROW SIGN +0xB7 0x00B7 #MIDDLE DOT +0xB8 0x00F8 #LATIN SMALL LETTER O WITH STROKE +0xB9 0x00B9 #SUPERSCRIPT ONE +0xBA 0x0157 #LATIN SMALL LETTER R WITH CEDILLA +0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x00BC #VULGAR FRACTION ONE QUARTER +0xBD 0x00BD #VULGAR FRACTION ONE HALF +0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS +0xBF 0x00E6 #LATIN SMALL LETTER AE +0xC0 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK +0xC1 0x012E #LATIN CAPITAL LETTER I WITH OGONEK +0xC2 0x0100 #LATIN CAPITAL LETTER A WITH MACRON +0xC3 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xC7 0x0112 #LATIN CAPITAL LETTER E WITH MACRON +0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE +0xCB 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE +0xCC 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA +0xCD 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA +0xCE 0x012A #LATIN CAPITAL LETTER I WITH MACRON +0xCF 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA +0xD0 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE +0xD2 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA +0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x014C #LATIN CAPITAL LETTER O WITH MACRON +0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK +0xD9 0x0141 #LATIN CAPITAL LETTER L WITH STROKE +0xDA 0x015A #LATIN CAPITAL LETTER S WITH ACUTE +0xDB 0x016A #LATIN CAPITAL LETTER U WITH MACRON +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xDE 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0xDF 0x00DF #LATIN SMALL LETTER SHARP S +0xE0 0x0105 #LATIN SMALL LETTER A WITH OGONEK +0xE1 0x012F #LATIN SMALL LETTER I WITH OGONEK +0xE2 0x0101 #LATIN SMALL LETTER A WITH MACRON +0xE3 0x0107 #LATIN SMALL LETTER C WITH ACUTE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x0119 #LATIN SMALL LETTER E WITH OGONEK +0xE7 0x0113 #LATIN SMALL LETTER E WITH MACRON +0xE8 0x010D #LATIN SMALL LETTER C WITH CARON +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x017A #LATIN SMALL LETTER Z WITH ACUTE +0xEB 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE +0xEC 0x0123 #LATIN SMALL LETTER G WITH CEDILLA +0xED 0x0137 #LATIN SMALL LETTER K WITH CEDILLA +0xEE 0x012B #LATIN SMALL LETTER I WITH MACRON +0xEF 0x013C #LATIN SMALL LETTER L WITH CEDILLA +0xF0 0x0161 #LATIN SMALL LETTER S WITH CARON +0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE +0xF2 0x0146 #LATIN SMALL LETTER N WITH CEDILLA +0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xF4 0x014D #LATIN SMALL LETTER O WITH MACRON +0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x0173 #LATIN SMALL LETTER U WITH OGONEK +0xF9 0x0142 #LATIN SMALL LETTER L WITH STROKE +0xFA 0x015B #LATIN SMALL LETTER S WITH ACUTE +0xFB 0x016B #LATIN SMALL LETTER U WITH MACRON +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE +0xFE 0x017E #LATIN SMALL LETTER Z WITH CARON +0xFF 0x2019 #RIGHT SINGLE QUOTATION MARK + diff --git a/Unicode/8859_14.cp b/Unicode/8859_14.cp new file mode 100644 index 00000000..6ca434ba --- /dev/null +++ b/Unicode/8859_14.cp @@ -0,0 +1,303 @@ +ISO 8859-14 +"ISO-8859-14", "8859-14", "ISO_8859-14", "ISO_8859-14:1998", "ISO-IR-199", "LATIN8", "L8" +# +# Name: ISO/IEC 8859-14:1998 to Unicode +# Unicode version: 3.0 +# Table version: 1.0 +# Table format: Format A +# Date: 1999 July 27 +# Authors: Markus Kuhn +# Ken Whistler +# +# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on optical media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Unicode, Inc. hereby grants the right to freely use the information +# supplied in this file in the creation of products supporting the +# Unicode Standard, and to make copies of this file in any form for +# internal or external distribution as long as this notice remains +# attached. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# ISO/IEC 8859-14:1998 characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the ISO/IEC 8859-14 code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# +# The entries are in ISO/IEC 8859-14 order. +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that is an archival address; +# notices will be checked, but do not expect an immediate response. +# +0x00 0x0000 # NULL +0x01 0x0001 # START OF HEADING +0x02 0x0002 # START OF TEXT +0x03 0x0003 # END OF TEXT +0x04 0x0004 # END OF TRANSMISSION +0x05 0x0005 # ENQUIRY +0x06 0x0006 # ACKNOWLEDGE +0x07 0x0007 # BELL +0x08 0x0008 # BACKSPACE +0x09 0x0009 # HORIZONTAL TABULATION +0x0A 0x000A # LINE FEED +0x0B 0x000B # VERTICAL TABULATION +0x0C 0x000C # FORM FEED +0x0D 0x000D # CARRIAGE RETURN +0x0E 0x000E # SHIFT OUT +0x0F 0x000F # SHIFT IN +0x10 0x0010 # DATA LINK ESCAPE +0x11 0x0011 # DEVICE CONTROL ONE +0x12 0x0012 # DEVICE CONTROL TWO +0x13 0x0013 # DEVICE CONTROL THREE +0x14 0x0014 # DEVICE CONTROL FOUR +0x15 0x0015 # NEGATIVE ACKNOWLEDGE +0x16 0x0016 # SYNCHRONOUS IDLE +0x17 0x0017 # END OF TRANSMISSION BLOCK +0x18 0x0018 # CANCEL +0x19 0x0019 # END OF MEDIUM +0x1A 0x001A # SUBSTITUTE +0x1B 0x001B # ESCAPE +0x1C 0x001C # FILE SEPARATOR +0x1D 0x001D # GROUP SEPARATOR +0x1E 0x001E # RECORD SEPARATOR +0x1F 0x001F # UNIT SEPARATOR +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE +0x80 0x0080 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE +0xA2 0x1E03 # LATIN SMALL LETTER B WITH DOT ABOVE +0xA3 0x00A3 # POUND SIGN +0xA4 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE +0xA5 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE +0xA6 0x1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE +0xA7 0x00A7 # SECTION SIGN +0xA8 0x1E80 # LATIN CAPITAL LETTER W WITH GRAVE +0xA9 0x00A9 # COPYRIGHT SIGN +0xAA 0x1E82 # LATIN CAPITAL LETTER W WITH ACUTE +0xAB 0x1E0B # LATIN SMALL LETTER D WITH DOT ABOVE +0xAC 0x1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE +0xAD 0x00AD # SOFT HYPHEN +0xAE 0x00AE # REGISTERED SIGN +0xAF 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS +0xB0 0x1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE +0xB1 0x1E1F # LATIN SMALL LETTER F WITH DOT ABOVE +0xB2 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE +0xB3 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE +0xB4 0x1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE +0xB5 0x1E41 # LATIN SMALL LETTER M WITH DOT ABOVE +0xB6 0x00B6 # PILCROW SIGN +0xB7 0x1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE +0xB8 0x1E81 # LATIN SMALL LETTER W WITH GRAVE +0xB9 0x1E57 # LATIN SMALL LETTER P WITH DOT ABOVE +0xBA 0x1E83 # LATIN SMALL LETTER W WITH ACUTE +0xBB 0x1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE +0xBC 0x1EF3 # LATIN SMALL LETTER Y WITH GRAVE +0xBD 0x1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS +0xBE 0x1E85 # LATIN SMALL LETTER W WITH DIAERESIS +0xBF 0x1E61 # LATIN SMALL LETTER S WITH DOT ABOVE +0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE +0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE +0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x00C6 # LATIN CAPITAL LETTER AE +0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE +0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE +0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS +0xD0 0x0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX +0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE +0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE +0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE +0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE +0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE +0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE +0xDE 0x0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX +0xDF 0x00DF # LATIN SMALL LETTER SHARP S +0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE +0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE +0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x00E6 # LATIN SMALL LETTER AE +0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE +0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS +0xF0 0x0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX +0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE +0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE +0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x1E6B # LATIN SMALL LETTER T WITH DOT ABOVE +0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE +0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE +0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX +0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS + diff --git a/Unicode/8859_15.cp b/Unicode/8859_15.cp new file mode 100644 index 00000000..ec1b3c88 --- /dev/null +++ b/Unicode/8859_15.cp @@ -0,0 +1,193 @@ +ISO 8859-15 +"ISO-8859-15", "iso8859-15", "8859-15", "latin9", "l9", "il9", "latin0", "l0", "il0", "ISO_8859-15", "ISO_8859-15:1998", "ISO-IR-203" +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x00A1 #INVERTED EXCLAMATION MARK +0xA2 0x00A2 #CENT SIGN +0xA3 0x00A3 #POUND SIGN +0xA4 0x20AC #EURO +0xA5 0x00A5 #YEN SIGN +0xA6 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0xA7 0x00A7 #SECTION SIGN +0xA8 0x0161 #LATIN SMALL LETTER S WITH CARON +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x00AA #FEMININE ORDINAL INDICATOR +0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC #NOT SIGN +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x00AE #REGISTERED SIGN +0xAF 0x00AF #MACRON +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x00B2 #SUPERSCRIPT TWO +0xB3 0x00B3 #SUPERSCRIPT THREE +0xB4 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0xB5 0x00B5 #MICRO SIGN +0xB6 0x00B6 #PILCROW SIGN +0xB7 0x00B7 #MIDDLE DOT +0xB8 0x017E #LATIN SMALL LETTER Z WITH CARON +0xB9 0x00B9 #SUPERSCRIPT ONE +0xBA 0x00BA #MASCULINE ORDINAL INDICATOR +0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x0152 #LATIN CAPITAL LIGATURE OE +0xBD 0x0153 #LATIN SMALL LIGATURE OE +0xBE 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS +0xBF 0x00BF #INVERTED QUESTION MARK +0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE +0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x00C6 #LATIN CAPITAL LETTER AE +0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE +0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS +0xD0 0x00D0 #LATIN CAPITAL LETTER ETH +0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE +0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE +0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE +0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE +0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE +0xDE 0x00DE #LATIN CAPITAL LETTER THORN +0xDF 0x00DF #LATIN SMALL LETTER SHARP S +0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE +0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x00E6 #LATIN SMALL LETTER AE +0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE +0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS +0xF0 0x00F0 #LATIN SMALL LETTER ETH +0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE +0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE +0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE +0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE +0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x00FE #LATIN SMALL LETTER THORN +0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS diff --git a/Unicode/8859_16.cp b/Unicode/8859_16.cp new file mode 100644 index 00000000..657dfe24 --- /dev/null +++ b/Unicode/8859_16.cp @@ -0,0 +1,199 @@ +ISO 8859-16 +"ISO-8859-16", "iso8859-16", "8859-16", "latin10", "l10", "il10", "ISO_8859-16", "ISO_8859-16:2000", "ISO-IR-226", "ISO_8859-16:2001" +# Name: ISO 8859-16:2001 to Unicode +# Date: 2001 Octomber 10 +# Authors: Ionel Mugurel Ciobica +# +# Copyright (c) 1991-2001 Unicode, Inc. All Rights reserved. +# +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK +0xA2 0x0105 #LATIN SMALL LETTER A WITH OGONEK +0xA3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE +0xA4 0x20AC #EURO SIGN +0xA5 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xA6 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0xA7 0x00A7 #SECTION SIGN +0xA8 0x0161 #LATIN SMALL LETTER S WITH CARON +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x0218 #LATIN CAPITAL LETTER S WITH COMMA BELOW +0xAB 0x201E #DOUBLE LOW-9 QUOTATION MARK +0xAC 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x017A #LATIN SMALL LETTER Z WITH ACUTE +0xAF 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x010C #LATIN CAPITAL LETTER C WITH CARON +0xB3 0x0142 #LATIN SMALL LETTER L WITH STROKE +0xB4 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0xB5 0x201D #RIGHT DOUBLE QUOTATION MARK +0xB6 0x00B6 #PILCROW SIGN +0xB7 0x00B7 #MIDDLE DOT +0xB8 0x017E #LATIN SMALL LETTER Z WITH CARON +0xB9 0x010D #LATIN SMALL LETTER C WITH CARON +0xBA 0x0219 #LATIN SMALL LETTER S WITH COMMA BELOW +0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x0152 #LATIN CAPITAL LIGATURE OE +0xBD 0x0153 #LATIN SMALL LIGATURE OE +0xBE 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS +0xBF 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE +0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE +0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE +0xC6 0x00C6 #LATIN CAPITAL LETTER AE +0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE +0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS +0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE +0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE +0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE +0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x015A #LATIN CAPITAL LETTER S WITH ACUTE +0xD8 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE +0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xDE 0x021A #LATIN CAPITAL LETTER T WITH COMMA BELOW +0xDF 0x00DF #LATIN SMALL LETTER SHARP S +0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE +0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x0107 #LATIN SMALL LETTER C WITH ACUTE +0xE6 0x00E6 #LATIN SMALL LETTER AE +0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE +0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS +0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE +0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE +0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE +0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x015B #LATIN SMALL LETTER S WITH ACUTE +0xF8 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE +0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE +0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x0119 #LATIN SMALL LETTER E WITH OGONEK +0xFE 0x021B #LATIN SMALL LETTER T WITH COMMA BELOW +0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS diff --git a/Unicode/8859_2.cp b/Unicode/8859_2.cp new file mode 100644 index 00000000..9bca862e --- /dev/null +++ b/Unicode/8859_2.cp @@ -0,0 +1,193 @@ +ISO 8859-2 +"ISO-8859-2", "iso8859-2", "8859-2", "iso-ir-101", "latin2", "l2", "il2", "ISO_8859-2:1987", "ISO_8859-2", "csISOLatin2", "ISO8859_2" +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK +0xA2 0x02D8 #BREVE +0xA3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE +0xA4 0x00A4 #CURRENCY SIGN +0xA5 0x013D #LATIN CAPITAL LETTER L WITH CARON +0xA6 0x015A #LATIN CAPITAL LETTER S WITH ACUTE +0xA7 0x00A7 #SECTION SIGN +0xA8 0x00A8 #DIAERESIS +0xA9 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0xAA 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA +0xAB 0x0164 #LATIN CAPITAL LETTER T WITH CARON +0xAC 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0xAF 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x0105 #LATIN SMALL LETTER A WITH OGONEK +0xB2 0x02DB #OGONEK +0xB3 0x0142 #LATIN SMALL LETTER L WITH STROKE +0xB4 0x00B4 #ACUTE ACCENT +0xB5 0x013E #LATIN SMALL LETTER L WITH CARON +0xB6 0x015B #LATIN SMALL LETTER S WITH ACUTE +0xB7 0x02C7 #CARON +0xB8 0x00B8 #CEDILLA +0xB9 0x0161 #LATIN SMALL LETTER S WITH CARON +0xBA 0x015F #LATIN SMALL LETTER S WITH CEDILLA +0xBB 0x0165 #LATIN SMALL LETTER T WITH CARON +0xBC 0x017A #LATIN SMALL LETTER Z WITH ACUTE +0xBD 0x02DD #DOUBLE ACUTE ACCENT +0xBE 0x017E #LATIN SMALL LETTER Z WITH CARON +0xBF 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE +0xC0 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE +0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE +0xC6 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE +0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x011A #LATIN CAPITAL LETTER E WITH CARON +0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x010E #LATIN CAPITAL LETTER D WITH CARON +0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE +0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE +0xD2 0x0147 #LATIN CAPITAL LETTER N WITH CARON +0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x0158 #LATIN CAPITAL LETTER R WITH CARON +0xD9 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE +0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE +0xDE 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA +0xDF 0x00DF #LATIN SMALL LETTER SHARP S +0xE0 0x0155 #LATIN SMALL LETTER R WITH ACUTE +0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x013A #LATIN SMALL LETTER L WITH ACUTE +0xE6 0x0107 #LATIN SMALL LETTER C WITH ACUTE +0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x010D #LATIN SMALL LETTER C WITH CARON +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x0119 #LATIN SMALL LETTER E WITH OGONEK +0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x011B #LATIN SMALL LETTER E WITH CARON +0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x010F #LATIN SMALL LETTER D WITH CARON +0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE +0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE +0xF2 0x0148 #LATIN SMALL LETTER N WITH CARON +0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x0159 #LATIN SMALL LETTER R WITH CARON +0xF9 0x016F #LATIN SMALL LETTER U WITH RING ABOVE +0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xFB 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x0163 #LATIN SMALL LETTER T WITH CEDILLA +0xFF 0x02D9 #DOT ABOVE diff --git a/Unicode/8859_3.cp b/Unicode/8859_3.cp new file mode 100644 index 00000000..6e4ce0d8 --- /dev/null +++ b/Unicode/8859_3.cp @@ -0,0 +1,298 @@ +ISO 8859-3 +"ISO-8859-3", "8859-3", "ISO_8859-3:1988", "iso-ir-109", "ISO_8859-3", "latin3", "l3", "csISOLatin3", "ISO8859-3", "ISO8859_3" +# +# Name: ISO/IEC 8859-3:1999 to Unicode +# Unicode version: 3.0 +# Table version: 1.0 +# Table format: Format A +# Date: 1999 July 27 +# Authors: Ken Whistler +# +# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on optical media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Unicode, Inc. hereby grants the right to freely use the information +# supplied in this file in the creation of products supporting the +# Unicode Standard, and to make copies of this file in any form for +# internal or external distribution as long as this notice remains +# attached. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# ISO/IEC 8859-3:1999 characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the ISO/IEC 8859-3 code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# +# The entries are in ISO/IEC 8859-3 order. +# +# Version history +# 1.0 version updates 0.1 version by adding mappings for all +# control characters. +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that is an archival address; +# notices will be checked, but do not expect an immediate response. +# +0x00 0x0000 # NULL +0x01 0x0001 # START OF HEADING +0x02 0x0002 # START OF TEXT +0x03 0x0003 # END OF TEXT +0x04 0x0004 # END OF TRANSMISSION +0x05 0x0005 # ENQUIRY +0x06 0x0006 # ACKNOWLEDGE +0x07 0x0007 # BELL +0x08 0x0008 # BACKSPACE +0x09 0x0009 # HORIZONTAL TABULATION +0x0A 0x000A # LINE FEED +0x0B 0x000B # VERTICAL TABULATION +0x0C 0x000C # FORM FEED +0x0D 0x000D # CARRIAGE RETURN +0x0E 0x000E # SHIFT OUT +0x0F 0x000F # SHIFT IN +0x10 0x0010 # DATA LINK ESCAPE +0x11 0x0011 # DEVICE CONTROL ONE +0x12 0x0012 # DEVICE CONTROL TWO +0x13 0x0013 # DEVICE CONTROL THREE +0x14 0x0014 # DEVICE CONTROL FOUR +0x15 0x0015 # NEGATIVE ACKNOWLEDGE +0x16 0x0016 # SYNCHRONOUS IDLE +0x17 0x0017 # END OF TRANSMISSION BLOCK +0x18 0x0018 # CANCEL +0x19 0x0019 # END OF MEDIUM +0x1A 0x001A # SUBSTITUTE +0x1B 0x001B # ESCAPE +0x1C 0x001C # FILE SEPARATOR +0x1D 0x001D # GROUP SEPARATOR +0x1E 0x001E # RECORD SEPARATOR +0x1F 0x001F # UNIT SEPARATOR +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE +0x80 0x0080 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x0126 # LATIN CAPITAL LETTER H WITH STROKE +0xA2 0x02D8 # BREVE +0xA3 0x00A3 # POUND SIGN +0xA4 0x00A4 # CURRENCY SIGN +0xA6 0x0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX +0xA7 0x00A7 # SECTION SIGN +0xA8 0x00A8 # DIAERESIS +0xA9 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE +0xAA 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA +0xAB 0x011E # LATIN CAPITAL LETTER G WITH BREVE +0xAC 0x0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX +0xAD 0x00AD # SOFT HYPHEN +0xAF 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xB0 0x00B0 # DEGREE SIGN +0xB1 0x0127 # LATIN SMALL LETTER H WITH STROKE +0xB2 0x00B2 # SUPERSCRIPT TWO +0xB3 0x00B3 # SUPERSCRIPT THREE +0xB4 0x00B4 # ACUTE ACCENT +0xB5 0x00B5 # MICRO SIGN +0xB6 0x0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX +0xB7 0x00B7 # MIDDLE DOT +0xB8 0x00B8 # CEDILLA +0xB9 0x0131 # LATIN SMALL LETTER DOTLESS I +0xBA 0x015F # LATIN SMALL LETTER S WITH CEDILLA +0xBB 0x011F # LATIN SMALL LETTER G WITH BREVE +0xBC 0x0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX +0xBD 0x00BD # VULGAR FRACTION ONE HALF +0xBF 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE +0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE +0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE +0xC6 0x0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX +0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE +0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE +0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS +0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE +0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE +0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE +0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 # MULTIPLICATION SIGN +0xD8 0x011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX +0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE +0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x016C # LATIN CAPITAL LETTER U WITH BREVE +0xDE 0x015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX +0xDF 0x00DF # LATIN SMALL LETTER SHARP S +0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE +0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE +0xE6 0x0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX +0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE +0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS +0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE +0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE +0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE +0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 # DIVISION SIGN +0xF8 0x011D # LATIN SMALL LETTER G WITH CIRCUMFLEX +0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE +0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x016D # LATIN SMALL LETTER U WITH BREVE +0xFE 0x015D # LATIN SMALL LETTER S WITH CIRCUMFLEX +0xFF 0x02D9 # DOT ABOVE diff --git a/Unicode/8859_4.cp b/Unicode/8859_4.cp new file mode 100644 index 00000000..dcdcb67e --- /dev/null +++ b/Unicode/8859_4.cp @@ -0,0 +1,133 @@ +ISO 8859-4 +"ISO-8859-4", "iso8859-4", "8859-4", "iso-ir-110", "latin4", "l4", "il4", "ISO_8859-4:1988", "ISO_8859-4", "csISOLatin4", "ISO8859_4" + +0x20-0x7e idem +# +0x80 0x0080 #PADDING CHARACTER (PAD) +0x81 0x0081 #HIGH OCTET PRESET (HOP) +0x82 0x0082 #BREAK PERMITTED HERE (BPH) +0x83 0x0083 #NO BREAK HERE (NBH) +0x84 0x0084 #INDEX (IND) +0x85 0x0085 #NEXT LINE (NEL) +0x86 0x0086 #START OF SELECTED AREA (SSA) +0x87 0x0087 #END OF SELECTED AREA (ESA) +0x88 0x0088 #CHARACTER TABULATION SET (HTS) +0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION (HTJ) +0x8A 0x008A #LINE TABULATION SET (VTS) +0x8B 0x008B #PARTIAL LINE FORWARD (PLD) +0x8C 0x008C #PARTIAL LINE BACKWARD (PLU) +0x8D 0x008D #REVERSE LINE FEED (RI) +0x8E 0x008E #SINGLE-SHIFT TWO (SS2) +0x8F 0x008F #SINGLE-SHIFT THREE (SS3) +0x90 0x0090 #DEVICE CONTROL STRING (DCS) +0x91 0x0091 #PRIVATE USE ONE (PU1) +0x92 0x0092 #PRIVATE USE TWO (PU2) +0x93 0x0093 #SET TRANSMIT STATE (STS) +0x94 0x0094 #CANCEL CHARACTER (CCH) +0x95 0x0095 #MESSAGE WAITING (MW) +0x96 0x0096 #START OF GUARDED AREA (SPA) +0x97 0x0097 #END OF GUARDED AREA (EPA) +0x98 0x0098 #START OF STRING (SOS) +0x99 0x0099 #SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI) +0x9A 0x009A #SINGLE CHARACTER INTRODUCER (SCI) +0x9B 0x009B #CONTROL SEQUENCE INTRODUCER (CSI) +0x9C 0x009C #STRING TERMINATOR (ST) +0x9D 0x009D #OPERATING SYSTEM COMMAND (OSC) +0x9E 0x009E #PRIVACY MESSAGE (PM) +0x9F 0x009F #APPLICATION PROGRAM COMMAND (APC) +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK +0xA2 0x0138 #LATIN SMALL LETTER KRA (Greenlandic) +0xA3 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA +0xA4 0x00A4 #CURRENCY SIGN +0xA5 0x0128 #LATIN CAPITAL LETTER I WITH TILDE +0xA6 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA +0xA7 0x00A7 #SECTION SIGN +0xA8 0x00A8 #DIAERESIS +0xA9 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0xAA 0x0112 #LATIN CAPITAL LETTER E WITH MACRON +0xAB 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA +0xAC 0x0166 #LATIN CAPITAL LETTER T WITH STROKE +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0xAF 0x00AF #MACRON +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x0105 #LATIN SMALL LETTER A WITH OGONEK +0xB2 0x02DB #OGONEK +0xB3 0x0157 #LATIN SMALL LETTER R WITH CEDILLA +0xB4 0x00B4 #ACUTE ACCENT +0xB5 0x0129 #LATIN SMALL LETTER I WITH TILDE +0xB6 0x013C #LATIN SMALL LETTER L WITH CEDILLA +0xB7 0x02C7 #CARON (Mandarin Chinese third tone) +0xB8 0x00B8 #CEDILLA +0xB9 0x0161 #LATIN SMALL LETTER S WITH CARON +0xBA 0x0113 #LATIN SMALL LETTER E WITH MACRON +0xBB 0x0123 #LATIN SMALL LETTER G WITH CEDILLA +0xBC 0x0167 #LATIN SMALL LETTER T WITH STROKE +0xBD 0x014A #LATIN CAPITAL LETTER ENG (Sami) +0xBE 0x017E #LATIN SMALL LETTER Z WITH CARON +0xBF 0x014B #LATIN SMALL LETTER ENG (Sami) +0xC0 0x0100 #LATIN CAPITAL LETTER A WITH MACRON +0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x00C6 #LATIN CAPITAL LETTER AE +0xC7 0x012E #LATIN CAPITAL LETTER I WITH OGONEK +0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE +0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x012A #LATIN CAPITAL LETTER I WITH MACRON +0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE +0xD1 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA +0xD2 0x014C #LATIN CAPITAL LETTER O WITH MACRON +0xD3 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA +0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE +0xD9 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK +0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x0168 #LATIN CAPITAL LETTER U WITH TILDE +0xDE 0x016A #LATIN CAPITAL LETTER U WITH MACRON +0xDF 0x00DF #LATIN SMALL LETTER SHARP S (German) +0xE0 0x0101 #LATIN SMALL LETTER A WITH MACRON +0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x00E6 #LATIN SMALL LETTER AE +0xE7 0x012F #LATIN SMALL LETTER I WITH OGONEK +0xE8 0x010D #LATIN SMALL LETTER C WITH CARON +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x0119 #LATIN SMALL LETTER E WITH OGONEK +0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE +0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x012B #LATIN SMALL LETTER I WITH MACRON +0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE +0xF1 0x0146 #LATIN SMALL LETTER N WITH CEDILLA +0xF2 0x014D #LATIN SMALL LETTER O WITH MACRON +0xF3 0x0137 #LATIN SMALL LETTER K WITH CEDILLA +0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE +0xF9 0x0173 #LATIN SMALL LETTER U WITH OGONEK +0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x0169 #LATIN SMALL LETTER U WITH TILDE +0xFE 0x016B #LATIN SMALL LETTER U WITH MACRON +0xFF 0x02D9 #DOT ABOVE (Mandarin Chinese light tone) diff --git a/Unicode/8859_5.cp b/Unicode/8859_5.cp new file mode 100644 index 00000000..f168ce28 --- /dev/null +++ b/Unicode/8859_5.cp @@ -0,0 +1,305 @@ +ISO 8859-5 +"ISO-8859-5", "iso8859-5", "8859-5", "ISO_8859-5:1988", "iso-ir-144", "ISO_8859-5", "cyrillic", "csISOLatinCyrillic", "ISO8859_5" +# +# Name: ISO 8859-5:1999 to Unicode +# Unicode version: 3.0 +# Table version: 1.0 +# Table format: Format A +# Date: 1999 July 27 +# Authors: Ken Whistler +# +# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on optical media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Unicode, Inc. hereby grants the right to freely use the information +# supplied in this file in the creation of products supporting the +# Unicode Standard, and to make copies of this file in any form for +# internal or external distribution as long as this notice remains +# attached. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# ISO/IEC 8859-5:1999 characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the ISO/IEC 8859-5 code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# +# The entries are in ISO/IEC 8859-5 order. +# +# Version history +# 1.0 version updates 0.1 version by adding mappings for all +# control characters. +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that is an archival address; +# notices will be checked, but do not expect an immediate response. +# +0x00 0x0000 # NULL +0x01 0x0001 # START OF HEADING +0x02 0x0002 # START OF TEXT +0x03 0x0003 # END OF TEXT +0x04 0x0004 # END OF TRANSMISSION +0x05 0x0005 # ENQUIRY +0x06 0x0006 # ACKNOWLEDGE +0x07 0x0007 # BELL +0x08 0x0008 # BACKSPACE +0x09 0x0009 # HORIZONTAL TABULATION +0x0A 0x000A # LINE FEED +0x0B 0x000B # VERTICAL TABULATION +0x0C 0x000C # FORM FEED +0x0D 0x000D # CARRIAGE RETURN +0x0E 0x000E # SHIFT OUT +0x0F 0x000F # SHIFT IN +0x10 0x0010 # DATA LINK ESCAPE +0x11 0x0011 # DEVICE CONTROL ONE +0x12 0x0012 # DEVICE CONTROL TWO +0x13 0x0013 # DEVICE CONTROL THREE +0x14 0x0014 # DEVICE CONTROL FOUR +0x15 0x0015 # NEGATIVE ACKNOWLEDGE +0x16 0x0016 # SYNCHRONOUS IDLE +0x17 0x0017 # END OF TRANSMISSION BLOCK +0x18 0x0018 # CANCEL +0x19 0x0019 # END OF MEDIUM +0x1A 0x001A # SUBSTITUTE +0x1B 0x001B # ESCAPE +0x1C 0x001C # FILE SEPARATOR +0x1D 0x001D # GROUP SEPARATOR +0x1E 0x001E # RECORD SEPARATOR +0x1F 0x001F # UNIT SEPARATOR +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE +0x80 0x0080 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x0401 # CYRILLIC CAPITAL LETTER IO +0xA2 0x0402 # CYRILLIC CAPITAL LETTER DJE +0xA3 0x0403 # CYRILLIC CAPITAL LETTER GJE +0xA4 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE +0xA5 0x0405 # CYRILLIC CAPITAL LETTER DZE +0xA6 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +0xA7 0x0407 # CYRILLIC CAPITAL LETTER YI +0xA8 0x0408 # CYRILLIC CAPITAL LETTER JE +0xA9 0x0409 # CYRILLIC CAPITAL LETTER LJE +0xAA 0x040A # CYRILLIC CAPITAL LETTER NJE +0xAB 0x040B # CYRILLIC CAPITAL LETTER TSHE +0xAC 0x040C # CYRILLIC CAPITAL LETTER KJE +0xAD 0x00AD # SOFT HYPHEN +0xAE 0x040E # CYRILLIC CAPITAL LETTER SHORT U +0xAF 0x040F # CYRILLIC CAPITAL LETTER DZHE +0xB0 0x0410 # CYRILLIC CAPITAL LETTER A +0xB1 0x0411 # CYRILLIC CAPITAL LETTER BE +0xB2 0x0412 # CYRILLIC CAPITAL LETTER VE +0xB3 0x0413 # CYRILLIC CAPITAL LETTER GHE +0xB4 0x0414 # CYRILLIC CAPITAL LETTER DE +0xB5 0x0415 # CYRILLIC CAPITAL LETTER IE +0xB6 0x0416 # CYRILLIC CAPITAL LETTER ZHE +0xB7 0x0417 # CYRILLIC CAPITAL LETTER ZE +0xB8 0x0418 # CYRILLIC CAPITAL LETTER I +0xB9 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +0xBA 0x041A # CYRILLIC CAPITAL LETTER KA +0xBB 0x041B # CYRILLIC CAPITAL LETTER EL +0xBC 0x041C # CYRILLIC CAPITAL LETTER EM +0xBD 0x041D # CYRILLIC CAPITAL LETTER EN +0xBE 0x041E # CYRILLIC CAPITAL LETTER O +0xBF 0x041F # CYRILLIC CAPITAL LETTER PE +0xC0 0x0420 # CYRILLIC CAPITAL LETTER ER +0xC1 0x0421 # CYRILLIC CAPITAL LETTER ES +0xC2 0x0422 # CYRILLIC CAPITAL LETTER TE +0xC3 0x0423 # CYRILLIC CAPITAL LETTER U +0xC4 0x0424 # CYRILLIC CAPITAL LETTER EF +0xC5 0x0425 # CYRILLIC CAPITAL LETTER HA +0xC6 0x0426 # CYRILLIC CAPITAL LETTER TSE +0xC7 0x0427 # CYRILLIC CAPITAL LETTER CHE +0xC8 0x0428 # CYRILLIC CAPITAL LETTER SHA +0xC9 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +0xCA 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN +0xCB 0x042B # CYRILLIC CAPITAL LETTER YERU +0xCC 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0xCD 0x042D # CYRILLIC CAPITAL LETTER E +0xCE 0x042E # CYRILLIC CAPITAL LETTER YU +0xCF 0x042F # CYRILLIC CAPITAL LETTER YA +0xD0 0x0430 # CYRILLIC SMALL LETTER A +0xD1 0x0431 # CYRILLIC SMALL LETTER BE +0xD2 0x0432 # CYRILLIC SMALL LETTER VE +0xD3 0x0433 # CYRILLIC SMALL LETTER GHE +0xD4 0x0434 # CYRILLIC SMALL LETTER DE +0xD5 0x0435 # CYRILLIC SMALL LETTER IE +0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE +0xD7 0x0437 # CYRILLIC SMALL LETTER ZE +0xD8 0x0438 # CYRILLIC SMALL LETTER I +0xD9 0x0439 # CYRILLIC SMALL LETTER SHORT I +0xDA 0x043A # CYRILLIC SMALL LETTER KA +0xDB 0x043B # CYRILLIC SMALL LETTER EL +0xDC 0x043C # CYRILLIC SMALL LETTER EM +0xDD 0x043D # CYRILLIC SMALL LETTER EN +0xDE 0x043E # CYRILLIC SMALL LETTER O +0xDF 0x043F # CYRILLIC SMALL LETTER PE +0xE0 0x0440 # CYRILLIC SMALL LETTER ER +0xE1 0x0441 # CYRILLIC SMALL LETTER ES +0xE2 0x0442 # CYRILLIC SMALL LETTER TE +0xE3 0x0443 # CYRILLIC SMALL LETTER U +0xE4 0x0444 # CYRILLIC SMALL LETTER EF +0xE5 0x0445 # CYRILLIC SMALL LETTER HA +0xE6 0x0446 # CYRILLIC SMALL LETTER TSE +0xE7 0x0447 # CYRILLIC SMALL LETTER CHE +0xE8 0x0448 # CYRILLIC SMALL LETTER SHA +0xE9 0x0449 # CYRILLIC SMALL LETTER SHCHA +0xEA 0x044A # CYRILLIC SMALL LETTER HARD SIGN +0xEB 0x044B # CYRILLIC SMALL LETTER YERU +0xEC 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +0xED 0x044D # CYRILLIC SMALL LETTER E +0xEE 0x044E # CYRILLIC SMALL LETTER YU +0xEF 0x044F # CYRILLIC SMALL LETTER YA +0xF0 0x2116 # NUMERO SIGN +0xF1 0x0451 # CYRILLIC SMALL LETTER IO +0xF2 0x0452 # CYRILLIC SMALL LETTER DJE +0xF3 0x0453 # CYRILLIC SMALL LETTER GJE +0xF4 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE +0xF5 0x0455 # CYRILLIC SMALL LETTER DZE +0xF6 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +0xF7 0x0457 # CYRILLIC SMALL LETTER YI +0xF8 0x0458 # CYRILLIC SMALL LETTER JE +0xF9 0x0459 # CYRILLIC SMALL LETTER LJE +0xFA 0x045A # CYRILLIC SMALL LETTER NJE +0xFB 0x045B # CYRILLIC SMALL LETTER TSHE +0xFC 0x045C # CYRILLIC SMALL LETTER KJE +0xFD 0x00A7 # SECTION SIGN +0xFE 0x045E # CYRILLIC SMALL LETTER SHORT U +0xFF 0x045F # CYRILLIC SMALL LETTER DZHE diff --git a/Unicode/8859_6.cp b/Unicode/8859_6.cp new file mode 100644 index 00000000..214f5bec --- /dev/null +++ b/Unicode/8859_6.cp @@ -0,0 +1,262 @@ +ISO 8859-6 +"ISO-8859-6", "8859-6", "ISO_8859-6", "ISO_8859-6:1987", "ISO-IR-127", "ECMA-114", "ASMO-708", "ARABIC", "csISOLatinArabic", "ISO8859-6", "ISO8859_6" +# +# Name: ISO 8859-6:1999 to Unicode +# Unicode version: 3.0 +# Table version: 1.0 +# Table format: Format A +# Date: 1999 July 27 +# Authors: Ken Whistler +# +# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on optical media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Unicode, Inc. hereby grants the right to freely use the information +# supplied in this file in the creation of products supporting the +# Unicode Standard, and to make copies of this file in any form for +# internal or external distribution as long as this notice remains +# attached. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# ISO/IEC 8859-6:1999 characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the ISO/IEC 8859-6 code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# +# The entries are in ISO/IEC 8859-6 order. +# +# Version history +# 1.0 version updates 0.1 version by adding mappings for all +# control characters. +# 0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead +# of the Arabic digits (U+0660..U+0669). +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that is an archival address; +# notices will be checked, but do not expect an immediate response. +# +0x00 0x0000 # NULL +0x01 0x0001 # START OF HEADING +0x02 0x0002 # START OF TEXT +0x03 0x0003 # END OF TEXT +0x04 0x0004 # END OF TRANSMISSION +0x05 0x0005 # ENQUIRY +0x06 0x0006 # ACKNOWLEDGE +0x07 0x0007 # BELL +0x08 0x0008 # BACKSPACE +0x09 0x0009 # HORIZONTAL TABULATION +0x0A 0x000A # LINE FEED +0x0B 0x000B # VERTICAL TABULATION +0x0C 0x000C # FORM FEED +0x0D 0x000D # CARRIAGE RETURN +0x0E 0x000E # SHIFT OUT +0x0F 0x000F # SHIFT IN +0x10 0x0010 # DATA LINK ESCAPE +0x11 0x0011 # DEVICE CONTROL ONE +0x12 0x0012 # DEVICE CONTROL TWO +0x13 0x0013 # DEVICE CONTROL THREE +0x14 0x0014 # DEVICE CONTROL FOUR +0x15 0x0015 # NEGATIVE ACKNOWLEDGE +0x16 0x0016 # SYNCHRONOUS IDLE +0x17 0x0017 # END OF TRANSMISSION BLOCK +0x18 0x0018 # CANCEL +0x19 0x0019 # END OF MEDIUM +0x1A 0x001A # SUBSTITUTE +0x1B 0x001B # ESCAPE +0x1C 0x001C # FILE SEPARATOR +0x1D 0x001D # GROUP SEPARATOR +0x1E 0x001E # RECORD SEPARATOR +0x1F 0x001F # UNIT SEPARATOR +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE +0x80 0x0080 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA4 0x00A4 # CURRENCY SIGN +0xAC 0x060C # ARABIC COMMA +0xAD 0x00AD # SOFT HYPHEN +0xBB 0x061B # ARABIC SEMICOLON +0xBF 0x061F # ARABIC QUESTION MARK +0xC1 0x0621 # ARABIC LETTER HAMZA +0xC2 0x0622 # ARABIC LETTER ALEF WITH MADDA ABOVE +0xC3 0x0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE +0xC4 0x0624 # ARABIC LETTER WAW WITH HAMZA ABOVE +0xC5 0x0625 # ARABIC LETTER ALEF WITH HAMZA BELOW +0xC6 0x0626 # ARABIC LETTER YEH WITH HAMZA ABOVE +0xC7 0x0627 # ARABIC LETTER ALEF +0xC8 0x0628 # ARABIC LETTER BEH +0xC9 0x0629 # ARABIC LETTER TEH MARBUTA +0xCA 0x062A # ARABIC LETTER TEH +0xCB 0x062B # ARABIC LETTER THEH +0xCC 0x062C # ARABIC LETTER JEEM +0xCD 0x062D # ARABIC LETTER HAH +0xCE 0x062E # ARABIC LETTER KHAH +0xCF 0x062F # ARABIC LETTER DAL +0xD0 0x0630 # ARABIC LETTER THAL +0xD1 0x0631 # ARABIC LETTER REH +0xD2 0x0632 # ARABIC LETTER ZAIN +0xD3 0x0633 # ARABIC LETTER SEEN +0xD4 0x0634 # ARABIC LETTER SHEEN +0xD5 0x0635 # ARABIC LETTER SAD +0xD6 0x0636 # ARABIC LETTER DAD +0xD7 0x0637 # ARABIC LETTER TAH +0xD8 0x0638 # ARABIC LETTER ZAH +0xD9 0x0639 # ARABIC LETTER AIN +0xDA 0x063A # ARABIC LETTER GHAIN +0xE0 0x0640 # ARABIC TATWEEL +0xE1 0x0641 # ARABIC LETTER FEH +0xE2 0x0642 # ARABIC LETTER QAF +0xE3 0x0643 # ARABIC LETTER KAF +0xE4 0x0644 # ARABIC LETTER LAM +0xE5 0x0645 # ARABIC LETTER MEEM +0xE6 0x0646 # ARABIC LETTER NOON +0xE7 0x0647 # ARABIC LETTER HEH +0xE8 0x0648 # ARABIC LETTER WAW +0xE9 0x0649 # ARABIC LETTER ALEF MAKSURA +0xEA 0x064A # ARABIC LETTER YEH +0xEB 0x064B # ARABIC FATHATAN +0xEC 0x064C # ARABIC DAMMATAN +0xED 0x064D # ARABIC KASRATAN +0xEE 0x064E # ARABIC FATHA +0xEF 0x064F # ARABIC DAMMA +0xF0 0x0650 # ARABIC KASRA +0xF1 0x0651 # ARABIC SHADDA +0xF2 0x0652 # ARABIC SUKUN diff --git a/Unicode/8859_7.cp b/Unicode/8859_7.cp new file mode 100644 index 00000000..6d245db2 --- /dev/null +++ b/Unicode/8859_7.cp @@ -0,0 +1,304 @@ +ISO 8859-7 +"ISO-8859-7", "iso8859-7", "8859-7", "iso-ir-126", "elot-928", "ISO_8859-7:1987", "ECMA-118", "ELOT_928", "GREEK8", "GREEK", "csISOLatinGreek", "ISO8859_7" +# +# Name: ISO 8859-7:1987 to Unicode +# Unicode version: 3.0 +# Table version: 1.0 +# Table format: Format A +# Date: 1999 July 27 +# Authors: Ken Whistler +# +# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on optical media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Unicode, Inc. hereby grants the right to freely use the information +# supplied in this file in the creation of products supporting the +# Unicode Standard, and to make copies of this file in any form for +# internal or external distribution as long as this notice remains +# attached. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# ISO 8859-7:1987 characters map into Unicode. +# +# ISO 8859-7:1987 is equivalent to ISO-IR-126, ELOT 928, +# and ECMA 118. +# +# Format: Three tab-separated columns +# Column #1 is the ISO 8859-7 code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# +# The entries are in ISO 8859-7 order. +# +# Version history +# 1.0 version updates 0.1 version by adding mappings for all +# control characters. +# Remap 0xA1 to U+2018 (instead of 0x02BD) to match text of 8859-7 +# Remap 0xA2 to U+2019 (instead of 0x02BC) to match text of 8859-7 +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that is an archival address; +# notices will be checked, but do not expect an immediate response. +# +0x00 0x0000 # NULL +0x01 0x0001 # START OF HEADING +0x02 0x0002 # START OF TEXT +0x03 0x0003 # END OF TEXT +0x04 0x0004 # END OF TRANSMISSION +0x05 0x0005 # ENQUIRY +0x06 0x0006 # ACKNOWLEDGE +0x07 0x0007 # BELL +0x08 0x0008 # BACKSPACE +0x09 0x0009 # HORIZONTAL TABULATION +0x0A 0x000A # LINE FEED +0x0B 0x000B # VERTICAL TABULATION +0x0C 0x000C # FORM FEED +0x0D 0x000D # CARRIAGE RETURN +0x0E 0x000E # SHIFT OUT +0x0F 0x000F # SHIFT IN +0x10 0x0010 # DATA LINK ESCAPE +0x11 0x0011 # DEVICE CONTROL ONE +0x12 0x0012 # DEVICE CONTROL TWO +0x13 0x0013 # DEVICE CONTROL THREE +0x14 0x0014 # DEVICE CONTROL FOUR +0x15 0x0015 # NEGATIVE ACKNOWLEDGE +0x16 0x0016 # SYNCHRONOUS IDLE +0x17 0x0017 # END OF TRANSMISSION BLOCK +0x18 0x0018 # CANCEL +0x19 0x0019 # END OF MEDIUM +0x1A 0x001A # SUBSTITUTE +0x1B 0x001B # ESCAPE +0x1C 0x001C # FILE SEPARATOR +0x1D 0x001D # GROUP SEPARATOR +0x1E 0x001E # RECORD SEPARATOR +0x1F 0x001F # UNIT SEPARATOR +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE +0x80 0x0080 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x2018 # LEFT SINGLE QUOTATION MARK +0xA2 0x2019 # RIGHT SINGLE QUOTATION MARK +0xA3 0x00A3 # POUND SIGN +0xA6 0x00A6 # BROKEN BAR +0xA7 0x00A7 # SECTION SIGN +0xA8 0x00A8 # DIAERESIS +0xA9 0x00A9 # COPYRIGHT SIGN +0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC # NOT SIGN +0xAD 0x00AD # SOFT HYPHEN +0xAF 0x2015 # HORIZONTAL BAR +0xB0 0x00B0 # DEGREE SIGN +0xB1 0x00B1 # PLUS-MINUS SIGN +0xB2 0x00B2 # SUPERSCRIPT TWO +0xB3 0x00B3 # SUPERSCRIPT THREE +0xB4 0x0384 # GREEK TONOS +0xB5 0x0385 # GREEK DIALYTIKA TONOS +0xB6 0x0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS +0xB7 0x00B7 # MIDDLE DOT +0xB8 0x0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS +0xB9 0x0389 # GREEK CAPITAL LETTER ETA WITH TONOS +0xBA 0x038A # GREEK CAPITAL LETTER IOTA WITH TONOS +0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x038C # GREEK CAPITAL LETTER OMICRON WITH TONOS +0xBD 0x00BD # VULGAR FRACTION ONE HALF +0xBE 0x038E # GREEK CAPITAL LETTER UPSILON WITH TONOS +0xBF 0x038F # GREEK CAPITAL LETTER OMEGA WITH TONOS +0xC0 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +0xC1 0x0391 # GREEK CAPITAL LETTER ALPHA +0xC2 0x0392 # GREEK CAPITAL LETTER BETA +0xC3 0x0393 # GREEK CAPITAL LETTER GAMMA +0xC4 0x0394 # GREEK CAPITAL LETTER DELTA +0xC5 0x0395 # GREEK CAPITAL LETTER EPSILON +0xC6 0x0396 # GREEK CAPITAL LETTER ZETA +0xC7 0x0397 # GREEK CAPITAL LETTER ETA +0xC8 0x0398 # GREEK CAPITAL LETTER THETA +0xC9 0x0399 # GREEK CAPITAL LETTER IOTA +0xCA 0x039A # GREEK CAPITAL LETTER KAPPA +0xCB 0x039B # GREEK CAPITAL LETTER LAMDA +0xCC 0x039C # GREEK CAPITAL LETTER MU +0xCD 0x039D # GREEK CAPITAL LETTER NU +0xCE 0x039E # GREEK CAPITAL LETTER XI +0xCF 0x039F # GREEK CAPITAL LETTER OMICRON +0xD0 0x03A0 # GREEK CAPITAL LETTER PI +0xD1 0x03A1 # GREEK CAPITAL LETTER RHO +0xD3 0x03A3 # GREEK CAPITAL LETTER SIGMA +0xD4 0x03A4 # GREEK CAPITAL LETTER TAU +0xD5 0x03A5 # GREEK CAPITAL LETTER UPSILON +0xD6 0x03A6 # GREEK CAPITAL LETTER PHI +0xD7 0x03A7 # GREEK CAPITAL LETTER CHI +0xD8 0x03A8 # GREEK CAPITAL LETTER PSI +0xD9 0x03A9 # GREEK CAPITAL LETTER OMEGA +0xDA 0x03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA +0xDB 0x03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA +0xDC 0x03AC # GREEK SMALL LETTER ALPHA WITH TONOS +0xDD 0x03AD # GREEK SMALL LETTER EPSILON WITH TONOS +0xDE 0x03AE # GREEK SMALL LETTER ETA WITH TONOS +0xDF 0x03AF # GREEK SMALL LETTER IOTA WITH TONOS +0xE0 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +0xE1 0x03B1 # GREEK SMALL LETTER ALPHA +0xE2 0x03B2 # GREEK SMALL LETTER BETA +0xE3 0x03B3 # GREEK SMALL LETTER GAMMA +0xE4 0x03B4 # GREEK SMALL LETTER DELTA +0xE5 0x03B5 # GREEK SMALL LETTER EPSILON +0xE6 0x03B6 # GREEK SMALL LETTER ZETA +0xE7 0x03B7 # GREEK SMALL LETTER ETA +0xE8 0x03B8 # GREEK SMALL LETTER THETA +0xE9 0x03B9 # GREEK SMALL LETTER IOTA +0xEA 0x03BA # GREEK SMALL LETTER KAPPA +0xEB 0x03BB # GREEK SMALL LETTER LAMDA +0xEC 0x03BC # GREEK SMALL LETTER MU +0xED 0x03BD # GREEK SMALL LETTER NU +0xEE 0x03BE # GREEK SMALL LETTER XI +0xEF 0x03BF # GREEK SMALL LETTER OMICRON +0xF0 0x03C0 # GREEK SMALL LETTER PI +0xF1 0x03C1 # GREEK SMALL LETTER RHO +0xF2 0x03C2 # GREEK SMALL LETTER FINAL SIGMA +0xF3 0x03C3 # GREEK SMALL LETTER SIGMA +0xF4 0x03C4 # GREEK SMALL LETTER TAU +0xF5 0x03C5 # GREEK SMALL LETTER UPSILON +0xF6 0x03C6 # GREEK SMALL LETTER PHI +0xF7 0x03C7 # GREEK SMALL LETTER CHI +0xF8 0x03C8 # GREEK SMALL LETTER PSI +0xF9 0x03C9 # GREEK SMALL LETTER OMEGA +0xFA 0x03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA +0xFB 0x03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA +0xFC 0x03CC # GREEK SMALL LETTER OMICRON WITH TONOS +0xFD 0x03CD # GREEK SMALL LETTER UPSILON WITH TONOS +0xFE 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS diff --git a/Unicode/8859_8.cp b/Unicode/8859_8.cp new file mode 100644 index 00000000..dc2def8a --- /dev/null +++ b/Unicode/8859_8.cp @@ -0,0 +1,272 @@ +ISO 8859-8 +"ISO-8859-8", "8859-8", "ISO_8859-8:1988", "ISO-IR-138", "HEBREW", "csISOLatinHebrew", "ISO8859-8", "ISO8859_8" +# +# Name: ISO/IEC 8859-8:1999 to Unicode +# Unicode version: 3.0 +# Table version: 1.1 +# Table format: Format A +# Date: 2000-Jan-03 +# Authors: Ken Whistler +# +# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on optical media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Unicode, Inc. hereby grants the right to freely use the information +# supplied in this file in the creation of products supporting the +# Unicode Standard, and to make copies of this file in any form for +# internal or external distribution as long as this notice remains +# attached. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# ISO/IEC 8859-8:1999 characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the ISO/IEC 8859-8 code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# +# The entries are in ISO/IEC 8859-8 order. +# +# Version history +# 1.0 version updates 0.1 version by adding mappings for all +# control characters. +# 1.1 version updates to the published 8859-8:1999, correcting +# the mapping of 0xAF and adding mappings for LRM and RLM. +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that is an archival address; +# notices will be checked, but do not expect an immediate response. +# +0x00 0x0000 # NULL +0x01 0x0001 # START OF HEADING +0x02 0x0002 # START OF TEXT +0x03 0x0003 # END OF TEXT +0x04 0x0004 # END OF TRANSMISSION +0x05 0x0005 # ENQUIRY +0x06 0x0006 # ACKNOWLEDGE +0x07 0x0007 # BELL +0x08 0x0008 # BACKSPACE +0x09 0x0009 # HORIZONTAL TABULATION +0x0A 0x000A # LINE FEED +0x0B 0x000B # VERTICAL TABULATION +0x0C 0x000C # FORM FEED +0x0D 0x000D # CARRIAGE RETURN +0x0E 0x000E # SHIFT OUT +0x0F 0x000F # SHIFT IN +0x10 0x0010 # DATA LINK ESCAPE +0x11 0x0011 # DEVICE CONTROL ONE +0x12 0x0012 # DEVICE CONTROL TWO +0x13 0x0013 # DEVICE CONTROL THREE +0x14 0x0014 # DEVICE CONTROL FOUR +0x15 0x0015 # NEGATIVE ACKNOWLEDGE +0x16 0x0016 # SYNCHRONOUS IDLE +0x17 0x0017 # END OF TRANSMISSION BLOCK +0x18 0x0018 # CANCEL +0x19 0x0019 # END OF MEDIUM +0x1A 0x001A # SUBSTITUTE +0x1B 0x001B # ESCAPE +0x1C 0x001C # FILE SEPARATOR +0x1D 0x001D # GROUP SEPARATOR +0x1E 0x001E # RECORD SEPARATOR +0x1F 0x001F # UNIT SEPARATOR +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE +0x80 0x0080 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA2 0x00A2 # CENT SIGN +0xA3 0x00A3 # POUND SIGN +0xA4 0x00A4 # CURRENCY SIGN +0xA5 0x00A5 # YEN SIGN +0xA6 0x00A6 # BROKEN BAR +0xA7 0x00A7 # SECTION SIGN +0xA8 0x00A8 # DIAERESIS +0xA9 0x00A9 # COPYRIGHT SIGN +0xAA 0x00D7 # MULTIPLICATION SIGN +0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC # NOT SIGN +0xAD 0x00AD # SOFT HYPHEN +0xAE 0x00AE # REGISTERED SIGN +0xAF 0x00AF # MACRON +0xB0 0x00B0 # DEGREE SIGN +0xB1 0x00B1 # PLUS-MINUS SIGN +0xB2 0x00B2 # SUPERSCRIPT TWO +0xB3 0x00B3 # SUPERSCRIPT THREE +0xB4 0x00B4 # ACUTE ACCENT +0xB5 0x00B5 # MICRO SIGN +0xB6 0x00B6 # PILCROW SIGN +0xB7 0x00B7 # MIDDLE DOT +0xB8 0x00B8 # CEDILLA +0xB9 0x00B9 # SUPERSCRIPT ONE +0xBA 0x00F7 # DIVISION SIGN +0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x00BC # VULGAR FRACTION ONE QUARTER +0xBD 0x00BD # VULGAR FRACTION ONE HALF +0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS +0xDF 0x2017 # DOUBLE LOW LINE +0xE0 0x05D0 # HEBREW LETTER ALEF +0xE1 0x05D1 # HEBREW LETTER BET +0xE2 0x05D2 # HEBREW LETTER GIMEL +0xE3 0x05D3 # HEBREW LETTER DALET +0xE4 0x05D4 # HEBREW LETTER HE +0xE5 0x05D5 # HEBREW LETTER VAV +0xE6 0x05D6 # HEBREW LETTER ZAYIN +0xE7 0x05D7 # HEBREW LETTER HET +0xE8 0x05D8 # HEBREW LETTER TET +0xE9 0x05D9 # HEBREW LETTER YOD +0xEA 0x05DA # HEBREW LETTER FINAL KAF +0xEB 0x05DB # HEBREW LETTER KAF +0xEC 0x05DC # HEBREW LETTER LAMED +0xED 0x05DD # HEBREW LETTER FINAL MEM +0xEE 0x05DE # HEBREW LETTER MEM +0xEF 0x05DF # HEBREW LETTER FINAL NUN +0xF0 0x05E0 # HEBREW LETTER NUN +0xF1 0x05E1 # HEBREW LETTER SAMEKH +0xF2 0x05E2 # HEBREW LETTER AYIN +0xF3 0x05E3 # HEBREW LETTER FINAL PE +0xF4 0x05E4 # HEBREW LETTER PE +0xF5 0x05E5 # HEBREW LETTER FINAL TSADI +0xF6 0x05E6 # HEBREW LETTER TSADI +0xF7 0x05E7 # HEBREW LETTER QOF +0xF8 0x05E8 # HEBREW LETTER RESH +0xF9 0x05E9 # HEBREW LETTER SHIN +0xFA 0x05EA # HEBREW LETTER TAV +0xFD 0x200E # LEFT-TO-RIGHT MARK +0xFE 0x200F # RIGHT-TO-LEFT MARK + diff --git a/Unicode/8859_9.cp b/Unicode/8859_9.cp new file mode 100644 index 00000000..e37d1b06 --- /dev/null +++ b/Unicode/8859_9.cp @@ -0,0 +1,309 @@ +ISO 8859-9 +"ISO-8859-9", "iso8859-9", "8859-9", "ISO_8859-9:1989", "ISO-IR-148", "LATIN5", "L5", "csISOLatin5", "ISO8859_9" +# +# Name: ISO/IEC 8859-9:1999 to Unicode +# Unicode version: 3.0 +# Table version: 1.0 +# Table format: Format A +# Date: 1999 July 27 +# Authors: Ken Whistler +# +# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on magnetic media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Unicode, Inc. hereby grants the right to freely use the information +# supplied in this file in the creation of products supporting the +# Unicode Standard, and to make copies of this file in any form for +# internal or external distribution as long as this notice remains +# attached. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# ISO/IEC 8859-9:1999 characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the ISO/IEC 8859-9 code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# +# The entries are in ISO/IEC 8859-9 order. +# +# ISO/IEC 8859-9 is also equivalent to ISO-IR-148. +# +# Version history +# 1.0 version updates 0.1 version by adding mappings for all +# control characters. +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that is an archival address; +# notices will be checked, but do not expect an immediate response. +# +0x00 0x0000 # NULL +0x01 0x0001 # START OF HEADING +0x02 0x0002 # START OF TEXT +0x03 0x0003 # END OF TEXT +0x04 0x0004 # END OF TRANSMISSION +0x05 0x0005 # ENQUIRY +0x06 0x0006 # ACKNOWLEDGE +0x07 0x0007 # BELL +0x08 0x0008 # BACKSPACE +0x09 0x0009 # HORIZONTAL TABULATION +0x0A 0x000A # LINE FEED +0x0B 0x000B # VERTICAL TABULATION +0x0C 0x000C # FORM FEED +0x0D 0x000D # CARRIAGE RETURN +0x0E 0x000E # SHIFT OUT +0x0F 0x000F # SHIFT IN +0x10 0x0010 # DATA LINK ESCAPE +0x11 0x0011 # DEVICE CONTROL ONE +0x12 0x0012 # DEVICE CONTROL TWO +0x13 0x0013 # DEVICE CONTROL THREE +0x14 0x0014 # DEVICE CONTROL FOUR +0x15 0x0015 # NEGATIVE ACKNOWLEDGE +0x16 0x0016 # SYNCHRONOUS IDLE +0x17 0x0017 # END OF TRANSMISSION BLOCK +0x18 0x0018 # CANCEL +0x19 0x0019 # END OF MEDIUM +0x1A 0x001A # SUBSTITUTE +0x1B 0x001B # ESCAPE +0x1C 0x001C # FILE SEPARATOR +0x1D 0x001D # GROUP SEPARATOR +0x1E 0x001E # RECORD SEPARATOR +0x1F 0x001F # UNIT SEPARATOR +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE +0x80 0x0080 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x00A1 # INVERTED EXCLAMATION MARK +0xA2 0x00A2 # CENT SIGN +0xA3 0x00A3 # POUND SIGN +0xA4 0x00A4 # CURRENCY SIGN +0xA5 0x00A5 # YEN SIGN +0xA6 0x00A6 # BROKEN BAR +0xA7 0x00A7 # SECTION SIGN +0xA8 0x00A8 # DIAERESIS +0xA9 0x00A9 # COPYRIGHT SIGN +0xAA 0x00AA # FEMININE ORDINAL INDICATOR +0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC # NOT SIGN +0xAD 0x00AD # SOFT HYPHEN +0xAE 0x00AE # REGISTERED SIGN +0xAF 0x00AF # MACRON +0xB0 0x00B0 # DEGREE SIGN +0xB1 0x00B1 # PLUS-MINUS SIGN +0xB2 0x00B2 # SUPERSCRIPT TWO +0xB3 0x00B3 # SUPERSCRIPT THREE +0xB4 0x00B4 # ACUTE ACCENT +0xB5 0x00B5 # MICRO SIGN +0xB6 0x00B6 # PILCROW SIGN +0xB7 0x00B7 # MIDDLE DOT +0xB8 0x00B8 # CEDILLA +0xB9 0x00B9 # SUPERSCRIPT ONE +0xBA 0x00BA # MASCULINE ORDINAL INDICATOR +0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x00BC # VULGAR FRACTION ONE QUARTER +0xBD 0x00BD # VULGAR FRACTION ONE HALF +0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS +0xBF 0x00BF # INVERTED QUESTION MARK +0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE +0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE +0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x00C6 # LATIN CAPITAL LETTER AE +0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE +0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE +0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS +0xD0 0x011E # LATIN CAPITAL LETTER G WITH BREVE +0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE +0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE +0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 # MULTIPLICATION SIGN +0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE +0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE +0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE +0xDE 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA +0xDF 0x00DF # LATIN SMALL LETTER SHARP S +0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE +0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE +0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x00E6 # LATIN SMALL LETTER AE +0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE +0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS +0xF0 0x011F # LATIN SMALL LETTER G WITH BREVE +0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE +0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE +0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 # DIVISION SIGN +0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE +0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE +0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x0131 # LATIN SMALL LETTER DOTLESS I +0xFE 0x015F # LATIN SMALL LETTER S WITH CEDILLA +0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS + + diff --git a/Unicode/Makefile.am b/Unicode/Makefile.am new file mode 100644 index 00000000..103c835c --- /dev/null +++ b/Unicode/Makefile.am @@ -0,0 +1,51 @@ +## Process this file with automake to produce Makefile.in +## $Id: Makefile.am,v 1.3 2004/08/15 05:51:12 miciah Exp $ + +include $(top_srcdir)/Makefile.base + +EXTRA_DIST = \ + 7bit.cp \ + 7bitrepl.lnx \ + 8859_1.cp \ + 8859_10.cp \ + 8859_13.cp \ + 8859_14.cp \ + 8859_15.cp \ + 8859_16.cp \ + 8859_2.cp \ + 8859_3.cp \ + 8859_4.cp \ + 8859_5.cp \ + 8859_6.cp \ + 8859_7.cp \ + 8859_8.cp \ + 8859_9.cp \ + README \ + cp1125.cp \ + cp1250.cp \ + cp1251.cp \ + cp1252.cp \ + cp1256.cp \ + cp1257.cp \ + cp437.cp \ + cp737.cp \ + cp850.cp \ + cp852.cp \ + cp866.cp \ + entities.lnx \ + gen \ + gen-7b \ + gen-cp \ + gen-ent \ + index.txt \ + kamen.cp \ + koi8_r.cp \ + koi8_ru.cp \ + koi8_u.cp \ + mac_lat2.cp \ + macroman.cp \ + tcvn5712.cp \ + tr7bit.awk \ + utf_8.cp \ + viscii.cp + diff --git a/Unicode/README b/Unicode/README new file mode 100644 index 00000000..c16fa241 --- /dev/null +++ b/Unicode/README @@ -0,0 +1,3 @@ +This contains charset definitions and convert tables. If you'll change +anything, run ./gen - it will regenerate the header files and place them inside +src/intl/. diff --git a/Unicode/cp1125.cp b/Unicode/cp1125.cp new file mode 100644 index 00000000..d41d3ba0 --- /dev/null +++ b/Unicode/cp1125.cp @@ -0,0 +1,137 @@ +CP 1125 (Ukrainian) +"x-cp866-u", "ruscii", "1125", "cp1125" +# +# DOS Ukrainian (RUSCII, cp1125) to UNICODE translation table +# +# Based on cp866u_uni.tbl from lynx 2.8.2 distribution +# by porokh +# +0x80 0x0410 #CYRILLIC CAPITAL LETTER A +0x81 0x0411 #CYRILLIC CAPITAL LETTER BE +0x82 0x0412 #CYRILLIC CAPITAL LETTER VE +0x83 0x0413 #CYRILLIC CAPITAL LETTER GHE +0x84 0x0414 #CYRILLIC CAPITAL LETTER DE +0x85 0x0415 #CYRILLIC CAPITAL LETTER IE +0x86 0x0416 #CYRILLIC CAPITAL LETTER ZHE +0x87 0x0417 #CYRILLIC CAPITAL LETTER ZE +0x88 0x0418 #CYRILLIC CAPITAL LETTER I +0x89 0x0419 #CYRILLIC CAPITAL LETTER SHORT I +0x8a 0x041a #CYRILLIC CAPITAL LETTER KA +0x8b 0x041b #CYRILLIC CAPITAL LETTER EL +0x8c 0x041c #CYRILLIC CAPITAL LETTER EM +0x8d 0x041d #CYRILLIC CAPITAL LETTER EN +0x8e 0x041e #CYRILLIC CAPITAL LETTER O +0x8f 0x041f #CYRILLIC CAPITAL LETTER PE +0x90 0x0420 #CYRILLIC CAPITAL LETTER ER +0x91 0x0421 #CYRILLIC CAPITAL LETTER ES +0x92 0x0422 #CYRILLIC CAPITAL LETTER TE +0x93 0x0423 #CYRILLIC CAPITAL LETTER U +0x94 0x0424 #CYRILLIC CAPITAL LETTER EF +0x95 0x0425 #CYRILLIC CAPITAL LETTER HA +0x96 0x0426 #CYRILLIC CAPITAL LETTER TSE +0x97 0x0427 #CYRILLIC CAPITAL LETTER CHE +0x98 0x0428 #CYRILLIC CAPITAL LETTER SHA +0x99 0x0429 #CYRILLIC CAPITAL LETTER SHCHA +0x9a 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN +0x9b 0x042b #CYRILLIC CAPITAL LETTER YERU +0x9c 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN +0x9d 0x042d #CYRILLIC CAPITAL LETTER E +0x9e 0x042e #CYRILLIC CAPITAL LETTER YU +0x9f 0x042f #CYRILLIC CAPITAL LETTER YA +0xa0 0x0430 #CYRILLIC SMALL LETTER A +0xa1 0x0431 #CYRILLIC SMALL LETTER BE +0xa2 0x0432 #CYRILLIC SMALL LETTER VE +0xa3 0x0433 #CYRILLIC SMALL LETTER GHE +0xa4 0x0434 #CYRILLIC SMALL LETTER DE +0xa5 0x0435 #CYRILLIC SMALL LETTER IE +0xa6 0x0436 #CYRILLIC SMALL LETTER ZHE +0xa7 0x0437 #CYRILLIC SMALL LETTER ZE +0xa8 0x0438 #CYRILLIC SMALL LETTER I +0xa9 0x0439 #CYRILLIC SMALL LETTER SHORT I +0xaa 0x043a #CYRILLIC SMALL LETTER KA +0xab 0x043b #CYRILLIC SMALL LETTER EL +0xac 0x043c #CYRILLIC SMALL LETTER EM +0xad 0x043d #CYRILLIC SMALL LETTER EN +0xae 0x043e #CYRILLIC SMALL LETTER O +0xaf 0x043f #CYRILLIC SMALL LETTER PE +0xb0 0x2591 #LIGHT SHADE +0xb1 0x2592 #MEDIUM SHADE +0xb2 0x2593 #DARK SHADE +0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE +0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE +0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE +0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL +0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT +0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE +0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT +0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE +0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE +0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE +0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE +0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xdb 0x2588 #FULL BLOCK +0xdc 0x2584 #LOWER HALF BLOCK +0xdd 0x258c #LEFT HALF BLOCK +0xde 0x2590 #RIGHT HALF BLOCK +0xdf 0x2580 #UPPER HALF BLOCK +0xe0 0x0440 #CYRILLIC SMALL LETTER ER +0xe1 0x0441 #CYRILLIC SMALL LETTER ES +0xe2 0x0442 #CYRILLIC SMALL LETTER TE +0xe3 0x0443 #CYRILLIC SMALL LETTER U +0xe4 0x0444 #CYRILLIC SMALL LETTER EF +0xe5 0x0445 #CYRILLIC SMALL LETTER HA +0xe6 0x0446 #CYRILLIC SMALL LETTER TSE +0xe7 0x0447 #CYRILLIC SMALL LETTER CHE +0xe8 0x0448 #CYRILLIC SMALL LETTER SHA +0xe9 0x0449 #CYRILLIC SMALL LETTER SHCHA +0xea 0x044a #CYRILLIC SMALL LETTER HARD SIGN +0xeb 0x044b #CYRILLIC SMALL LETTER YERU +0xec 0x044c #CYRILLIC SMALL LETTER SOFT SIGN +0xed 0x044d #CYRILLIC SMALL LETTER E +0xee 0x044e #CYRILLIC SMALL LETTER YU +0xef 0x044f #CYRILLIC SMALL LETTER YA +0xf0 0x0401 #CYRILLIC CAPITAL LETTER IO +0xf1 0x0451 #CYRILLIC SMALL LETTER IO +0xf2 0x0490 #CYRILLIC CAPITAL LETTER GHE WITH UPTURN +0xf3 0x0491 #CYRILLIC SMALL LETTER GHE WITH UPTURN +0xf4 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE +0xf5 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE +0xf6 0x0406 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +0xf7 0x0456 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +0xf8 0x0407 #CYRILLIC CAPITAL LETTER YI +0xf9 0x0457 #CYRILLIC SMALL LETTER YI +0xfa 0x00b7 #MIDDLE DOT +0xfb 0x221a #SQUARE ROOT +0xfc 0x2116 #NUMERO SIGN +0xfd 0x00a4 #CURRENCY SIGN +0xfe 0x25a0 #BLACK SQUARE +0xff 0x00a0 #NO-BREAK SPACE + diff --git a/Unicode/cp1250.cp b/Unicode/cp1250.cp new file mode 100644 index 00000000..9c77c7bd --- /dev/null +++ b/Unicode/cp1250.cp @@ -0,0 +1,276 @@ +Window$ 1250 +"windows-1250", "windows1250", "1250", "cp1250", "MS-EE" +# +# Name: cp1250 to Unicode table +# Unicode version: 2.0 +# Table version: 2.01 +# Table format: Format A +# Date: 04/15/98 +# +# Contact: cpxlate@microsoft.com +# +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp1250 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp1250 order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0A 0x000A #LINE FEED +0x0B 0x000B #VERTICAL TABULATION +0x0C 0x000C #FORM FEED +0x0D 0x000D #CARRIAGE RETURN +0x0E 0x000E #SHIFT OUT +0x0F 0x000F #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1A 0x001A #SUBSTITUTE +0x1B 0x001B #ESCAPE +0x1C 0x001C #FILE SEPARATOR +0x1D 0x001D #GROUP SEPARATOR +0x1E 0x001E #RECORD SEPARATOR +0x1F 0x001F #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x007F #DELETE +0x80 0x20AC #EURO SIGN +0x81 0x0000 #UNDEFINED +0x82 0x201A #SINGLE LOW-9 QUOTATION MARK +0x83 0x0000 #UNDEFINED +0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK +0x85 0x2026 #HORIZONTAL ELLIPSIS +0x86 0x2020 #DAGGER +0x87 0x2021 #DOUBLE DAGGER +0x88 0x0000 #UNDEFINED +0x89 0x2030 #PER MILLE SIGN +0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK +0x8C 0x015A #LATIN CAPITAL LETTER S WITH ACUTE +0x8D 0x0164 #LATIN CAPITAL LETTER T WITH CARON +0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0x8F 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE +0x90 0x0000 #UNDEFINED +0x91 0x2018 #LEFT SINGLE QUOTATION MARK +0x92 0x2019 #RIGHT SINGLE QUOTATION MARK +0x93 0x201C #LEFT DOUBLE QUOTATION MARK +0x94 0x201D #RIGHT DOUBLE QUOTATION MARK +0x95 0x2022 #BULLET +0x96 0x2013 #EN DASH +0x97 0x2014 #EM DASH +0x98 0x0000 #UNDEFINED +0x99 0x2122 #TRADE MARK SIGN +0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON +0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +0x9C 0x015B #LATIN SMALL LETTER S WITH ACUTE +0x9D 0x0165 #LATIN SMALL LETTER T WITH CARON +0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON +0x9F 0x017A #LATIN SMALL LETTER Z WITH ACUTE +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x02C7 #CARON +0xA2 0x02D8 #BREVE +0xA3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE +0xA4 0x00A4 #CURRENCY SIGN +0xA5 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK +0xA6 0x00A6 #BROKEN BAR +0xA7 0x00A7 #SECTION SIGN +0xA8 0x00A8 #DIAERESIS +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA +0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC #NOT SIGN +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x00AE #REGISTERED SIGN +0xAF 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x02DB #OGONEK +0xB3 0x0142 #LATIN SMALL LETTER L WITH STROKE +0xB4 0x00B4 #ACUTE ACCENT +0xB5 0x00B5 #MICRO SIGN +0xB6 0x00B6 #PILCROW SIGN +0xB7 0x00B7 #MIDDLE DOT +0xB8 0x00B8 #CEDILLA +0xB9 0x0105 #LATIN SMALL LETTER A WITH OGONEK +0xBA 0x015F #LATIN SMALL LETTER S WITH CEDILLA +0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x013D #LATIN CAPITAL LETTER L WITH CARON +0xBD 0x02DD #DOUBLE ACUTE ACCENT +0xBE 0x013E #LATIN SMALL LETTER L WITH CARON +0xBF 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE +0xC0 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE +0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE +0xC6 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE +0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x011A #LATIN CAPITAL LETTER E WITH CARON +0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x010E #LATIN CAPITAL LETTER D WITH CARON +0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE +0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE +0xD2 0x0147 #LATIN CAPITAL LETTER N WITH CARON +0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x0158 #LATIN CAPITAL LETTER R WITH CARON +0xD9 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE +0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE +0xDE 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA +0xDF 0x00DF #LATIN SMALL LETTER SHARP S +0xE0 0x0155 #LATIN SMALL LETTER R WITH ACUTE +0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x013A #LATIN SMALL LETTER L WITH ACUTE +0xE6 0x0107 #LATIN SMALL LETTER C WITH ACUTE +0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x010D #LATIN SMALL LETTER C WITH CARON +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x0119 #LATIN SMALL LETTER E WITH OGONEK +0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x011B #LATIN SMALL LETTER E WITH CARON +0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x010F #LATIN SMALL LETTER D WITH CARON +0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE +0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE +0xF2 0x0148 #LATIN SMALL LETTER N WITH CARON +0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x0159 #LATIN SMALL LETTER R WITH CARON +0xF9 0x016F #LATIN SMALL LETTER U WITH RING ABOVE +0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xFB 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x0163 #LATIN SMALL LETTER T WITH CEDILLA +0xFF 0x02D9 #DOT ABOVE diff --git a/Unicode/cp1251.cp b/Unicode/cp1251.cp new file mode 100644 index 00000000..6837c550 --- /dev/null +++ b/Unicode/cp1251.cp @@ -0,0 +1,225 @@ +Window$ 1251 +"windows-1251", "windows1251", "1251", "cp1251", "MS-CYRL" + +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x80 0x0402 # CYRILLIC CAPITAL LETTER DJE +0x81 0x0403 # CYRILLIC CAPITAL LETTER GJE +0x82 0x201A # SINGLE LOW-9 QUOTATION MARK +0x83 0x0453 # CYRILLIC SMALL LETTER GJE +0x84 0x201E # DOUBLE LOW-9 QUOTATION MARK +0x85 0x2026 # HORIZONTAL ELLIPSIS +0x86 0x2020 # DAGGER +0x87 0x2021 # DOUBLE DAGGER +0x88 0x20AC # EURO SIGN +0x89 0x2030 # PER MILLE SIGN +0x8A 0x0409 # CYRILLIC CAPITAL LETTER LJE +0x8B 0x2039 # SINGLE LEFT-POINTING ANGLE QUOTATION MARK +0x8C 0x040A # CYRILLIC CAPITAL LETTER NJE +0x8D 0x040C # CYRILLIC CAPITAL LETTER KJE +0x8E 0x040B # CYRILLIC CAPITAL LETTER TSHE +0x8F 0x040F # CYRILLIC CAPITAL LETTER DZHE +0x90 0x0452 # CYRILLIC SMALL LETTER DJE +0x91 0x2018 # LEFT SINGLE QUOTATION MARK +0x92 0x2019 # RIGHT SINGLE QUOTATION MARK +0x93 0x201C # LEFT DOUBLE QUOTATION MARK +0x94 0x201D # RIGHT DOUBLE QUOTATION MARK +0x95 0x2022 # BULLET +0x96 0x2013 # EN DASH +0x97 0x2014 # EM DASH +0x99 0x2122 # TRADE MARK SIGN +0x9A 0x0459 # CYRILLIC SMALL LETTER LJE +0x9B 0x203A # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +0x9C 0x045A # CYRILLIC SMALL LETTER NJE +0x9D 0x045C # CYRILLIC SMALL LETTER KJE +0x9E 0x045B # CYRILLIC SMALL LETTER TSHE +0x9F 0x045F # CYRILLIC SMALL LETTER DZHE +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x040E # CYRILLIC CAPITAL LETTER SHORT U +0xA2 0x045E # CYRILLIC SMALL LETTER SHORT U +0xA3 0x0408 # CYRILLIC CAPITAL LETTER JE +0xA4 0x00A4 # CURRENCY SIGN +0xA5 0x0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN +0xA6 0x00A6 # BROKEN BAR +0xA7 0x00A7 # SECTION SIGN +0xA8 0x0401 # CYRILLIC CAPITAL LETTER IO +0xA9 0x00A9 # COPYRIGHT SIGN +0xAA 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE +0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC # NOT SIGN +0xAD 0x00AD # SOFT HYPHEN +0xAE 0x00AE # REGISTERED SIGN +0xAF 0x0407 # CYRILLIC CAPITAL LETTER YI +0xB0 0x00B0 # DEGREE SIGN +0xB1 0x00B1 # PLUS-MINUS SIGN +0xB2 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +0xB3 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +0xB4 0x0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN +0xB5 0x00B5 # MICRO SIGN +0xB6 0x00B6 # PILCROW SIGN +0xB7 0x00B7 # MIDDLE DOT +0xB8 0x0451 # CYRILLIC SMALL LETTER IO +0xB9 0x2116 # NUMERO SIGN +0xBA 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE +0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x0458 # CYRILLIC SMALL LETTER JE +0xBD 0x0405 # CYRILLIC CAPITAL LETTER DZE +0xBE 0x0455 # CYRILLIC SMALL LETTER DZE +0xBF 0x0457 # CYRILLIC SMALL LETTER YI +0xC0 0x0410 # CYRILLIC CAPITAL LETTER A +0xC1 0x0411 # CYRILLIC CAPITAL LETTER BE +0xC2 0x0412 # CYRILLIC CAPITAL LETTER VE +0xC3 0x0413 # CYRILLIC CAPITAL LETTER GHE +0xC4 0x0414 # CYRILLIC CAPITAL LETTER DE +0xC5 0x0415 # CYRILLIC CAPITAL LETTER IE +0xC6 0x0416 # CYRILLIC CAPITAL LETTER ZHE +0xC7 0x0417 # CYRILLIC CAPITAL LETTER ZE +0xC8 0x0418 # CYRILLIC CAPITAL LETTER I +0xC9 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +0xCA 0x041A # CYRILLIC CAPITAL LETTER KA +0xCB 0x041B # CYRILLIC CAPITAL LETTER EL +0xCC 0x041C # CYRILLIC CAPITAL LETTER EM +0xCD 0x041D # CYRILLIC CAPITAL LETTER EN +0xCE 0x041E # CYRILLIC CAPITAL LETTER O +0xCF 0x041F # CYRILLIC CAPITAL LETTER PE +0xD0 0x0420 # CYRILLIC CAPITAL LETTER ER +0xD1 0x0421 # CYRILLIC CAPITAL LETTER ES +0xD2 0x0422 # CYRILLIC CAPITAL LETTER TE +0xD3 0x0423 # CYRILLIC CAPITAL LETTER U +0xD4 0x0424 # CYRILLIC CAPITAL LETTER EF +0xD5 0x0425 # CYRILLIC CAPITAL LETTER HA +0xD6 0x0426 # CYRILLIC CAPITAL LETTER TSE +0xD7 0x0427 # CYRILLIC CAPITAL LETTER CHE +0xD8 0x0428 # CYRILLIC CAPITAL LETTER SHA +0xD9 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +0xDA 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN +0xDB 0x042B # CYRILLIC CAPITAL LETTER YERU +0xDC 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0xDD 0x042D # CYRILLIC CAPITAL LETTER E +0xDE 0x042E # CYRILLIC CAPITAL LETTER YU +0xDF 0x042F # CYRILLIC CAPITAL LETTER YA +0xE0 0x0430 # CYRILLIC SMALL LETTER A +0xE1 0x0431 # CYRILLIC SMALL LETTER BE +0xE2 0x0432 # CYRILLIC SMALL LETTER VE +0xE3 0x0433 # CYRILLIC SMALL LETTER GHE +0xE4 0x0434 # CYRILLIC SMALL LETTER DE +0xE5 0x0435 # CYRILLIC SMALL LETTER IE +0xE6 0x0436 # CYRILLIC SMALL LETTER ZHE +0xE7 0x0437 # CYRILLIC SMALL LETTER ZE +0xE8 0x0438 # CYRILLIC SMALL LETTER I +0xE9 0x0439 # CYRILLIC SMALL LETTER SHORT I +0xEA 0x043A # CYRILLIC SMALL LETTER KA +0xEB 0x043B # CYRILLIC SMALL LETTER EL +0xEC 0x043C # CYRILLIC SMALL LETTER EM +0xED 0x043D # CYRILLIC SMALL LETTER EN +0xEE 0x043E # CYRILLIC SMALL LETTER O +0xEF 0x043F # CYRILLIC SMALL LETTER PE +0xF0 0x0440 # CYRILLIC SMALL LETTER ER +0xF1 0x0441 # CYRILLIC SMALL LETTER ES +0xF2 0x0442 # CYRILLIC SMALL LETTER TE +0xF3 0x0443 # CYRILLIC SMALL LETTER U +0xF4 0x0444 # CYRILLIC SMALL LETTER EF +0xF5 0x0445 # CYRILLIC SMALL LETTER HA +0xF6 0x0446 # CYRILLIC SMALL LETTER TSE +0xF7 0x0447 # CYRILLIC SMALL LETTER CHE +0xF8 0x0448 # CYRILLIC SMALL LETTER SHA +0xF9 0x0449 # CYRILLIC SMALL LETTER SHCHA +0xFA 0x044A # CYRILLIC SMALL LETTER HARD SIGN +0xFB 0x044B # CYRILLIC SMALL LETTER YERU +0xFC 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +0xFD 0x044D # CYRILLIC SMALL LETTER E +0xFE 0x044E # CYRILLIC SMALL LETTER YU +0xFF 0x044F # CYRILLIC SMALL LETTER YA diff --git a/Unicode/cp1252.cp b/Unicode/cp1252.cp new file mode 100644 index 00000000..195aa67c --- /dev/null +++ b/Unicode/cp1252.cp @@ -0,0 +1,254 @@ +Window$ 1252 +"windows-1252", "1252" + +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0A 0x000A #LINE FEED +0x0B 0x000B #VERTICAL TABULATION +0x0C 0x000C #FORM FEED +0x0D 0x000D #CARRIAGE RETURN +0x0E 0x000E #SHIFT OUT +0x0F 0x000F #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1A 0x001A #SUBSTITUTE +0x1B 0x001B #ESCAPE +0x1C 0x001C #FILE SEPARATOR +0x1D 0x001D #GROUP SEPARATOR +0x1E 0x001E #RECORD SEPARATOR +0x1F 0x001F #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x007F #DELETE +0x80 0x20AC #EURO SIGN +0x82 0x201A #SINGLE LOW-9 QUOTATION MARK +0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK +0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK +0x85 0x2026 #HORIZONTAL ELLIPSIS +0x86 0x2020 #DAGGER +0x87 0x2021 #DOUBLE DAGGER +0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT +0x89 0x2030 #PER MILLE SIGN +0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK +0x8C 0x0152 #LATIN CAPITAL LIGATURE OE +0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0x91 0x2018 #LEFT SINGLE QUOTATION MARK +0x92 0x2019 #RIGHT SINGLE QUOTATION MARK +0x93 0x201C #LEFT DOUBLE QUOTATION MARK +0x94 0x201D #RIGHT DOUBLE QUOTATION MARK +0x95 0x2022 #BULLET +0x96 0x2013 #EN DASH +0x97 0x2014 #EM DASH +0x98 0x02DC #SMALL TILDE +0x99 0x2122 #TRADE MARK SIGN +0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON +0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +0x9C 0x0153 #LATIN SMALL LIGATURE OE +0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON +0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x00A1 #INVERTED EXCLAMATION MARK +0xA2 0x00A2 #CENT SIGN +0xA3 0x00A3 #POUND SIGN +0xA4 0x00A4 #CURRENCY SIGN +0xA5 0x00A5 #YEN SIGN +0xA6 0x00A6 #BROKEN BAR +0xA7 0x00A7 #SECTION SIGN +0xA8 0x00A8 #DIAERESIS +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x00AA #FEMININE ORDINAL INDICATOR +0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC #NOT SIGN +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x00AE #REGISTERED SIGN +0xAF 0x00AF #MACRON +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x00B2 #SUPERSCRIPT TWO +0xB3 0x00B3 #SUPERSCRIPT THREE +0xB4 0x00B4 #ACUTE ACCENT +0xB5 0x00B5 #MICRO SIGN +0xB6 0x00B6 #PILCROW SIGN +0xB7 0x00B7 #MIDDLE DOT +0xB8 0x00B8 #CEDILLA +0xB9 0x00B9 #SUPERSCRIPT ONE +0xBA 0x00BA #MASCULINE ORDINAL INDICATOR +0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x00BC #VULGAR FRACTION ONE QUARTER +0xBD 0x00BD #VULGAR FRACTION ONE HALF +0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS +0xBF 0x00BF #INVERTED QUESTION MARK +0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE +0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x00C6 #LATIN CAPITAL LIGATURE AE +0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA +0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE +0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS +0xD0 0x00D0 #LATIN CAPITAL LETTER ETH +0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE +0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE +0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE +0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE +0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE +0xDE 0x00DE #LATIN CAPITAL LETTER THORN +0xDF 0x00DF #LATIN SMALL LETTER SHARP S +0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE +0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x00E6 #LATIN SMALL LIGATURE AE +0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE +0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS +0xF0 0x00F0 #LATIN SMALL LETTER ETH +0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE +0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE +0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE +0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE +0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x00FE #LATIN SMALL LETTER THORN +0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS diff --git a/Unicode/cp1256.cp b/Unicode/cp1256.cp new file mode 100644 index 00000000..f0f3782d --- /dev/null +++ b/Unicode/cp1256.cp @@ -0,0 +1,276 @@ +Window$ 1256 +"windows-1256", "1256", "cp1256", "MS-ARAB" +# +# Name: cp1256 to Unicode table +# Unicode version: 2.1 +# Table version: 2.01 +# Table format: Format A +# Date: 01/5/99 +# +# Contact: cpxlate@microsoft.com +# +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp1256 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp1256 order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0A 0x000A #LINE FEED +0x0B 0x000B #VERTICAL TABULATION +0x0C 0x000C #FORM FEED +0x0D 0x000D #CARRIAGE RETURN +0x0E 0x000E #SHIFT OUT +0x0F 0x000F #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1A 0x001A #SUBSTITUTE +0x1B 0x001B #ESCAPE +0x1C 0x001C #FILE SEPARATOR +0x1D 0x001D #GROUP SEPARATOR +0x1E 0x001E #RECORD SEPARATOR +0x1F 0x001F #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x007F #DELETE +0x80 0x20AC #EURO SIGN +0x81 0x067E #ARABIC LETTER PEH +0x82 0x201A #SINGLE LOW-9 QUOTATION MARK +0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK +0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK +0x85 0x2026 #HORIZONTAL ELLIPSIS +0x86 0x2020 #DAGGER +0x87 0x2021 #DOUBLE DAGGER +0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT +0x89 0x2030 #PER MILLE SIGN +0x8A 0x0679 #ARABIC LETTER TTEH +0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK +0x8C 0x0152 #LATIN CAPITAL LIGATURE OE +0x8D 0x0686 #ARABIC LETTER TCHEH +0x8E 0x0698 #ARABIC LETTER JEH +0x8F 0x0688 #ARABIC LETTER DDAL +0x90 0x06AF #ARABIC LETTER GAF +0x91 0x2018 #LEFT SINGLE QUOTATION MARK +0x92 0x2019 #RIGHT SINGLE QUOTATION MARK +0x93 0x201C #LEFT DOUBLE QUOTATION MARK +0x94 0x201D #RIGHT DOUBLE QUOTATION MARK +0x95 0x2022 #BULLET +0x96 0x2013 #EN DASH +0x97 0x2014 #EM DASH +0x98 0x06A9 #ARABIC LETTER KEHEH +0x99 0x2122 #TRADE MARK SIGN +0x9A 0x0691 #ARABIC LETTER RREH +0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +0x9C 0x0153 #LATIN SMALL LIGATURE OE +0x9D 0x200C #ZERO WIDTH NON-JOINER +0x9E 0x200D #ZERO WIDTH JOINER +0x9F 0x06BA #ARABIC LETTER NOON GHUNNA +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x060C #ARABIC COMMA +0xA2 0x00A2 #CENT SIGN +0xA3 0x00A3 #POUND SIGN +0xA4 0x00A4 #CURRENCY SIGN +0xA5 0x00A5 #YEN SIGN +0xA6 0x00A6 #BROKEN BAR +0xA7 0x00A7 #SECTION SIGN +0xA8 0x00A8 #DIAERESIS +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x06BE #ARABIC LETTER HEH DOACHASHMEE +0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC #NOT SIGN +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x00AE #REGISTERED SIGN +0xAF 0x00AF #MACRON +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x00B2 #SUPERSCRIPT TWO +0xB3 0x00B3 #SUPERSCRIPT THREE +0xB4 0x00B4 #ACUTE ACCENT +0xB5 0x00B5 #MICRO SIGN +0xB6 0x00B6 #PILCROW SIGN +0xB7 0x00B7 #MIDDLE DOT +0xB8 0x00B8 #CEDILLA +0xB9 0x00B9 #SUPERSCRIPT ONE +0xBA 0x061B #ARABIC SEMICOLON +0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x00BC #VULGAR FRACTION ONE QUARTER +0xBD 0x00BD #VULGAR FRACTION ONE HALF +0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS +0xBF 0x061F #ARABIC QUESTION MARK +0xC0 0x06C1 #ARABIC LETTER HEH GOAL +0xC1 0x0621 #ARABIC LETTER HAMZA +0xC2 0x0622 #ARABIC LETTER ALEF WITH MADDA ABOVE +0xC3 0x0623 #ARABIC LETTER ALEF WITH HAMZA ABOVE +0xC4 0x0624 #ARABIC LETTER WAW WITH HAMZA ABOVE +0xC5 0x0625 #ARABIC LETTER ALEF WITH HAMZA BELOW +0xC6 0x0626 #ARABIC LETTER YEH WITH HAMZA ABOVE +0xC7 0x0627 #ARABIC LETTER ALEF +0xC8 0x0628 #ARABIC LETTER BEH +0xC9 0x0629 #ARABIC LETTER TEH MARBUTA +0xCA 0x062A #ARABIC LETTER TEH +0xCB 0x062B #ARABIC LETTER THEH +0xCC 0x062C #ARABIC LETTER JEEM +0xCD 0x062D #ARABIC LETTER HAH +0xCE 0x062E #ARABIC LETTER KHAH +0xCF 0x062F #ARABIC LETTER DAL +0xD0 0x0630 #ARABIC LETTER THAL +0xD1 0x0631 #ARABIC LETTER REH +0xD2 0x0632 #ARABIC LETTER ZAIN +0xD3 0x0633 #ARABIC LETTER SEEN +0xD4 0x0634 #ARABIC LETTER SHEEN +0xD5 0x0635 #ARABIC LETTER SAD +0xD6 0x0636 #ARABIC LETTER DAD +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x0637 #ARABIC LETTER TAH +0xD9 0x0638 #ARABIC LETTER ZAH +0xDA 0x0639 #ARABIC LETTER AIN +0xDB 0x063A #ARABIC LETTER GHAIN +0xDC 0x0640 #ARABIC TATWEEL +0xDD 0x0641 #ARABIC LETTER FEH +0xDE 0x0642 #ARABIC LETTER QAF +0xDF 0x0643 #ARABIC LETTER KAF +0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE +0xE1 0x0644 #ARABIC LETTER LAM +0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x0645 #ARABIC LETTER MEEM +0xE4 0x0646 #ARABIC LETTER NOON +0xE5 0x0647 #ARABIC LETTER HEH +0xE6 0x0648 #ARABIC LETTER WAW +0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x0649 #ARABIC LETTER ALEF MAKSURA +0xED 0x064A #ARABIC LETTER YEH +0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS +0xF0 0x064B #ARABIC FATHATAN +0xF1 0x064C #ARABIC DAMMATAN +0xF2 0x064D #ARABIC KASRATAN +0xF3 0x064E #ARABIC FATHA +0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x064F #ARABIC DAMMA +0xF6 0x0650 #ARABIC KASRA +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x0651 #ARABIC SHADDA +0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE +0xFA 0x0652 #ARABIC SUKUN +0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x200E #LEFT-TO-RIGHT MARK +0xFE 0x200F #RIGHT-TO-LEFT MARK +0xFF 0x06D2 #ARABIC LETTER YEH BARREE diff --git a/Unicode/cp1257.cp b/Unicode/cp1257.cp new file mode 100644 index 00000000..39a5e162 --- /dev/null +++ b/Unicode/cp1257.cp @@ -0,0 +1,153 @@ +Window$ 1257 +"windows-1257", "windows1257", "1257", "cp1257", "WINBALTRIM" +# +# Name: cp1257 to Unicode table +# Unicode version: 2.0 +# Table version: 2.01 +# Table format: Format A +# Date: 04/15/98 +# +# Contact: cpxlate@microsoft.com +# +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp1257 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp1257 order +# +################## + +0x20-0x7e idem +# +0x80 0x20AC #EURO SIGN +0x81 0x0000 #UNDEFINED +0x82 0x201A #SINGLE LOW-9 QUOTATION MARK +0x83 0x0000 #UNDEFINED +0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK +0x85 0x2026 #HORIZONTAL ELLIPSIS +0x86 0x2020 #DAGGER +0x87 0x2021 #DOUBLE DAGGER +0x88 0x0000 #UNDEFINED +0x89 0x2030 #PER MILLE SIGN +0x8A 0x0000 #UNDEFINED +0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK +0x8C 0x0000 #UNDEFINED +0x8D 0x00A8 #DIAERESIS +0x8E 0x02C7 #CARON +0x8F 0x00B8 #CEDILLA +0x90 0x0000 #UNDEFINED +0x91 0x2018 #LEFT SINGLE QUOTATION MARK +0x92 0x2019 #RIGHT SINGLE QUOTATION MARK +0x93 0x201C #LEFT DOUBLE QUOTATION MARK +0x94 0x201D #RIGHT DOUBLE QUOTATION MARK +0x95 0x2022 #BULLET +0x96 0x2013 #EN DASH +0x97 0x2014 #EM DASH +0x98 0x0000 #UNDEFINED +0x99 0x2122 #TRADE MARK SIGN +0x9A 0x0000 #UNDEFINED +0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +0x9C 0x0000 #UNDEFINED +0x9D 0x00AF #MACRON +0x9E 0x02DB #OGONEK +0x9F 0x0000 #UNDEFINED +0xA0 0x00A0 #NO-BREAK SPACE +0xA1 0x0000 #UNDEFINED +0xA2 0x00A2 #CENT SIGN +0xA3 0x00A3 #POUND SIGN +0xA4 0x00A4 #CURRENCY SIGN +0xA5 0x0000 #UNDEFINED +0xA6 0x00A6 #BROKEN BAR +0xA7 0x00A7 #SECTION SIGN +0xA8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA +0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAC 0x00AC #NOT SIGN +0xAD 0x00AD #SOFT HYPHEN +0xAE 0x00AE #REGISTERED SIGN +0xAF 0x00C6 #LATIN CAPITAL LETTER AE +0xB0 0x00B0 #DEGREE SIGN +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x00B2 #SUPERSCRIPT TWO +0xB3 0x00B3 #SUPERSCRIPT THREE +0xB4 0x00B4 #ACUTE ACCENT +0xB5 0x00B5 #MICRO SIGN +0xB6 0x00B6 #PILCROW SIGN +0xB7 0x00B7 #MIDDLE DOT +0xB8 0x00F8 #LATIN SMALL LETTER O WITH STROKE +0xB9 0x00B9 #SUPERSCRIPT ONE +0xBA 0x0157 #LATIN SMALL LETTER R WITH CEDILLA +0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xBC 0x00BC #VULGAR FRACTION ONE QUARTER +0xBD 0x00BD #VULGAR FRACTION ONE HALF +0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS +0xBF 0x00E6 #LATIN SMALL LETTER AE +0xC0 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK +0xC1 0x012E #LATIN CAPITAL LETTER I WITH OGONEK +0xC2 0x0100 #LATIN CAPITAL LETTER A WITH MACRON +0xC3 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE +0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0xC6 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xC7 0x0112 #LATIN CAPITAL LETTER E WITH MACRON +0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON +0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE +0xCB 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE +0xCC 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA +0xCD 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA +0xCE 0x012A #LATIN CAPITAL LETTER I WITH MACRON +0xCF 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA +0xD0 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE +0xD2 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA +0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x014C #LATIN CAPITAL LETTER O WITH MACRON +0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE +0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0xD7 0x00D7 #MULTIPLICATION SIGN +0xD8 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK +0xD9 0x0141 #LATIN CAPITAL LETTER L WITH STROKE +0xDA 0x015A #LATIN CAPITAL LETTER S WITH ACUTE +0xDB 0x016A #LATIN CAPITAL LETTER U WITH MACRON +0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0xDD 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xDE 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0xDF 0x00DF #LATIN SMALL LETTER SHARP S +0xE0 0x0105 #LATIN SMALL LETTER A WITH OGONEK +0xE1 0x012F #LATIN SMALL LETTER I WITH OGONEK +0xE2 0x0101 #LATIN SMALL LETTER A WITH MACRON +0xE3 0x0107 #LATIN SMALL LETTER C WITH ACUTE +0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE +0xE6 0x0119 #LATIN SMALL LETTER E WITH OGONEK +0xE7 0x0113 #LATIN SMALL LETTER E WITH MACRON +0xE8 0x010D #LATIN SMALL LETTER C WITH CARON +0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0xEA 0x017A #LATIN SMALL LETTER Z WITH ACUTE +0xEB 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE +0xEC 0x0123 #LATIN SMALL LETTER G WITH CEDILLA +0xED 0x0137 #LATIN SMALL LETTER K WITH CEDILLA +0xEE 0x012B #LATIN SMALL LETTER I WITH MACRON +0xEF 0x013C #LATIN SMALL LETTER L WITH CEDILLA +0xF0 0x0161 #LATIN SMALL LETTER S WITH CARON +0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE +0xF2 0x0146 #LATIN SMALL LETTER N WITH CEDILLA +0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xF4 0x014D #LATIN SMALL LETTER O WITH MACRON +0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE +0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0xF7 0x00F7 #DIVISION SIGN +0xF8 0x0173 #LATIN SMALL LETTER U WITH OGONEK +0xF9 0x0142 #LATIN SMALL LETTER L WITH STROKE +0xFA 0x015B #LATIN SMALL LETTER S WITH ACUTE +0xFB 0x016B #LATIN SMALL LETTER U WITH MACRON +0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE +0xFE 0x017E #LATIN SMALL LETTER Z WITH CARON +0xFF 0x02D9 #DOT ABOVE + diff --git a/Unicode/cp437.cp b/Unicode/cp437.cp new file mode 100644 index 00000000..23d00d95 --- /dev/null +++ b/Unicode/cp437.cp @@ -0,0 +1,275 @@ +CP 437 +"cp437", "437", "IBM437", "csPC8CodePage437" +# +# Name: cp437_DOSLatinUS to Unicode table +# Unicode version: 2.0 +# Table version: 2.00 +# Table format: Format A +# Date: 04/24/96 +# Authors: Lori Brownell +# K.D. Chang +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp437_DOSLatinUS code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp437_DOSLatinUS order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0a 0x000a #LINE FEED +0x0b 0x000b #VERTICAL TABULATION +0x0c 0x000c #FORM FEED +0x0d 0x000d #CARRIAGE RETURN +0x0e 0x000e #SHIFT OUT +0x0f 0x000f #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1a 0x001a #SUBSTITUTE +0x1b 0x001b #ESCAPE +0x1c 0x001c #FILE SEPARATOR +0x1d 0x001d #GROUP SEPARATOR +0x1e 0x001e #RECORD SEPARATOR +0x1f 0x001f #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2a 0x002a #ASTERISK +0x2b 0x002b #PLUS SIGN +0x2c 0x002c #COMMA +0x2d 0x002d #HYPHEN-MINUS +0x2e 0x002e #FULL STOP +0x2f 0x002f #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3a 0x003a #COLON +0x3b 0x003b #SEMICOLON +0x3c 0x003c #LESS-THAN SIGN +0x3d 0x003d #EQUALS SIGN +0x3e 0x003e #GREATER-THAN SIGN +0x3f 0x003f #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4a 0x004a #LATIN CAPITAL LETTER J +0x4b 0x004b #LATIN CAPITAL LETTER K +0x4c 0x004c #LATIN CAPITAL LETTER L +0x4d 0x004d #LATIN CAPITAL LETTER M +0x4e 0x004e #LATIN CAPITAL LETTER N +0x4f 0x004f #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5a 0x005a #LATIN CAPITAL LETTER Z +0x5b 0x005b #LEFT SQUARE BRACKET +0x5c 0x005c #REVERSE SOLIDUS +0x5d 0x005d #RIGHT SQUARE BRACKET +0x5e 0x005e #CIRCUMFLEX ACCENT +0x5f 0x005f #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6a 0x006a #LATIN SMALL LETTER J +0x6b 0x006b #LATIN SMALL LETTER K +0x6c 0x006c #LATIN SMALL LETTER L +0x6d 0x006d #LATIN SMALL LETTER M +0x6e 0x006e #LATIN SMALL LETTER N +0x6f 0x006f #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7a 0x007a #LATIN SMALL LETTER Z +0x7b 0x007b #LEFT CURLY BRACKET +0x7c 0x007c #VERTICAL LINE +0x7d 0x007d #RIGHT CURLY BRACKET +0x7e 0x007e #TILDE +0x7f 0x007f #DELETE +0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA +0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS +0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE +0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS +0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE +0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE +0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA +0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX +0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS +0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE +0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS +0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX +0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE +0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE +0x91 0x00e6 #LATIN SMALL LIGATURE AE +0x92 0x00c6 #LATIN CAPITAL LIGATURE AE +0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS +0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE +0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX +0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE +0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS +0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS +0x9b 0x00a2 #CENT SIGN +0x9c 0x00a3 #POUND SIGN +0x9d 0x00a5 #YEN SIGN +0x9e 0x20a7 #PESETA SIGN +0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK +0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE +0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE +0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE +0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE +0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE +0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE +0xa6 0x00aa #FEMININE ORDINAL INDICATOR +0xa7 0x00ba #MASCULINE ORDINAL INDICATOR +0xa8 0x00bf #INVERTED QUESTION MARK +0xa9 0x2310 #REVERSED NOT SIGN +0xaa 0x00ac #NOT SIGN +0xab 0x00bd #VULGAR FRACTION ONE HALF +0xac 0x00bc #VULGAR FRACTION ONE QUARTER +0xad 0x00a1 #INVERTED EXCLAMATION MARK +0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xb0 0x2591 #LIGHT SHADE +0xb1 0x2592 #MEDIUM SHADE +0xb2 0x2593 #DARK SHADE +0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE +0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE +0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE +0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL +0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT +0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE +0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT +0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE +0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE +0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE +0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE +0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xdb 0x2588 #FULL BLOCK +0xdc 0x2584 #LOWER HALF BLOCK +0xdd 0x258c #LEFT HALF BLOCK +0xde 0x2590 #RIGHT HALF BLOCK +0xdf 0x2580 #UPPER HALF BLOCK +0xe0 0x03b1 #GREEK SMALL LETTER ALPHA +0xe1 0x00df #LATIN SMALL LETTER SHARP S +0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA +0xe3 0x03c0 #GREEK SMALL LETTER PI +0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA +0xe5 0x03c3 #GREEK SMALL LETTER SIGMA +0xe6 0x00b5 #MICRO SIGN +0xe7 0x03c4 #GREEK SMALL LETTER TAU +0xe8 0x03a6 #GREEK CAPITAL LETTER PHI +0xe9 0x0398 #GREEK CAPITAL LETTER THETA +0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA +0xeb 0x03b4 #GREEK SMALL LETTER DELTA +0xec 0x221e #INFINITY +0xed 0x03c6 #GREEK SMALL LETTER PHI +0xee 0x03b5 #GREEK SMALL LETTER EPSILON +0xef 0x2229 #INTERSECTION +0xf0 0x2261 #IDENTICAL TO +0xf1 0x00b1 #PLUS-MINUS SIGN +0xf2 0x2265 #GREATER-THAN OR EQUAL TO +0xf3 0x2264 #LESS-THAN OR EQUAL TO +0xf4 0x2320 #TOP HALF INTEGRAL +0xf5 0x2321 #BOTTOM HALF INTEGRAL +0xf6 0x00f7 #DIVISION SIGN +0xf7 0x2248 #ALMOST EQUAL TO +0xf8 0x00b0 #DEGREE SIGN +0xf9 0x2219 #BULLET OPERATOR +0xfa 0x00b7 #MIDDLE DOT +0xfb 0x221a #SQUARE ROOT +0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N +0xfd 0x00b2 #SUPERSCRIPT TWO +0xfe 0x25a0 #BLACK SQUARE +0xff 0x00a0 #NO-BREAK SPACE diff --git a/Unicode/cp737.cp b/Unicode/cp737.cp new file mode 100644 index 00000000..d1fe3a4e --- /dev/null +++ b/Unicode/cp737.cp @@ -0,0 +1,275 @@ +CP 737 +"cp737", "737" +# +# Name: cp737_DOSGreek to Unicode table +# Unicode version: 2.0 +# Table version: 2.00 +# Table format: Format A +# Date: 04/24/96 +# Authors: Lori Brownell +# K.D. Chang +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp737_DOSGreek code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp737_DOSGreek order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0a 0x000a #LINE FEED +0x0b 0x000b #VERTICAL TABULATION +0x0c 0x000c #FORM FEED +0x0d 0x000d #CARRIAGE RETURN +0x0e 0x000e #SHIFT OUT +0x0f 0x000f #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1a 0x001a #SUBSTITUTE +0x1b 0x001b #ESCAPE +0x1c 0x001c #FILE SEPARATOR +0x1d 0x001d #GROUP SEPARATOR +0x1e 0x001e #RECORD SEPARATOR +0x1f 0x001f #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2a 0x002a #ASTERISK +0x2b 0x002b #PLUS SIGN +0x2c 0x002c #COMMA +0x2d 0x002d #HYPHEN-MINUS +0x2e 0x002e #FULL STOP +0x2f 0x002f #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3a 0x003a #COLON +0x3b 0x003b #SEMICOLON +0x3c 0x003c #LESS-THAN SIGN +0x3d 0x003d #EQUALS SIGN +0x3e 0x003e #GREATER-THAN SIGN +0x3f 0x003f #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4a 0x004a #LATIN CAPITAL LETTER J +0x4b 0x004b #LATIN CAPITAL LETTER K +0x4c 0x004c #LATIN CAPITAL LETTER L +0x4d 0x004d #LATIN CAPITAL LETTER M +0x4e 0x004e #LATIN CAPITAL LETTER N +0x4f 0x004f #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5a 0x005a #LATIN CAPITAL LETTER Z +0x5b 0x005b #LEFT SQUARE BRACKET +0x5c 0x005c #REVERSE SOLIDUS +0x5d 0x005d #RIGHT SQUARE BRACKET +0x5e 0x005e #CIRCUMFLEX ACCENT +0x5f 0x005f #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6a 0x006a #LATIN SMALL LETTER J +0x6b 0x006b #LATIN SMALL LETTER K +0x6c 0x006c #LATIN SMALL LETTER L +0x6d 0x006d #LATIN SMALL LETTER M +0x6e 0x006e #LATIN SMALL LETTER N +0x6f 0x006f #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7a 0x007a #LATIN SMALL LETTER Z +0x7b 0x007b #LEFT CURLY BRACKET +0x7c 0x007c #VERTICAL LINE +0x7d 0x007d #RIGHT CURLY BRACKET +0x7e 0x007e #TILDE +0x7f 0x007f #DELETE +0x80 0x0391 #GREEK CAPITAL LETTER ALPHA +0x81 0x0392 #GREEK CAPITAL LETTER BETA +0x82 0x0393 #GREEK CAPITAL LETTER GAMMA +0x83 0x0394 #GREEK CAPITAL LETTER DELTA +0x84 0x0395 #GREEK CAPITAL LETTER EPSILON +0x85 0x0396 #GREEK CAPITAL LETTER ZETA +0x86 0x0397 #GREEK CAPITAL LETTER ETA +0x87 0x0398 #GREEK CAPITAL LETTER THETA +0x88 0x0399 #GREEK CAPITAL LETTER IOTA +0x89 0x039a #GREEK CAPITAL LETTER KAPPA +0x8a 0x039b #GREEK CAPITAL LETTER LAMDA +0x8b 0x039c #GREEK CAPITAL LETTER MU +0x8c 0x039d #GREEK CAPITAL LETTER NU +0x8d 0x039e #GREEK CAPITAL LETTER XI +0x8e 0x039f #GREEK CAPITAL LETTER OMICRON +0x8f 0x03a0 #GREEK CAPITAL LETTER PI +0x90 0x03a1 #GREEK CAPITAL LETTER RHO +0x91 0x03a3 #GREEK CAPITAL LETTER SIGMA +0x92 0x03a4 #GREEK CAPITAL LETTER TAU +0x93 0x03a5 #GREEK CAPITAL LETTER UPSILON +0x94 0x03a6 #GREEK CAPITAL LETTER PHI +0x95 0x03a7 #GREEK CAPITAL LETTER CHI +0x96 0x03a8 #GREEK CAPITAL LETTER PSI +0x97 0x03a9 #GREEK CAPITAL LETTER OMEGA +0x98 0x03b1 #GREEK SMALL LETTER ALPHA +0x99 0x03b2 #GREEK SMALL LETTER BETA +0x9a 0x03b3 #GREEK SMALL LETTER GAMMA +0x9b 0x03b4 #GREEK SMALL LETTER DELTA +0x9c 0x03b5 #GREEK SMALL LETTER EPSILON +0x9d 0x03b6 #GREEK SMALL LETTER ZETA +0x9e 0x03b7 #GREEK SMALL LETTER ETA +0x9f 0x03b8 #GREEK SMALL LETTER THETA +0xa0 0x03b9 #GREEK SMALL LETTER IOTA +0xa1 0x03ba #GREEK SMALL LETTER KAPPA +0xa2 0x03bb #GREEK SMALL LETTER LAMDA +0xa3 0x03bc #GREEK SMALL LETTER MU +0xa4 0x03bd #GREEK SMALL LETTER NU +0xa5 0x03be #GREEK SMALL LETTER XI +0xa6 0x03bf #GREEK SMALL LETTER OMICRON +0xa7 0x03c0 #GREEK SMALL LETTER PI +0xa8 0x03c1 #GREEK SMALL LETTER RHO +0xa9 0x03c3 #GREEK SMALL LETTER SIGMA +0xaa 0x03c2 #GREEK SMALL LETTER FINAL SIGMA +0xab 0x03c4 #GREEK SMALL LETTER TAU +0xac 0x03c5 #GREEK SMALL LETTER UPSILON +0xad 0x03c6 #GREEK SMALL LETTER PHI +0xae 0x03c7 #GREEK SMALL LETTER CHI +0xaf 0x03c8 #GREEK SMALL LETTER PSI +0xb0 0x2591 #LIGHT SHADE +0xb1 0x2592 #MEDIUM SHADE +0xb2 0x2593 #DARK SHADE +0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE +0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE +0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE +0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL +0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT +0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE +0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT +0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE +0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE +0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE +0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE +0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xdb 0x2588 #FULL BLOCK +0xdc 0x2584 #LOWER HALF BLOCK +0xdd 0x258c #LEFT HALF BLOCK +0xde 0x2590 #RIGHT HALF BLOCK +0xdf 0x2580 #UPPER HALF BLOCK +0xe0 0x03c9 #GREEK SMALL LETTER OMEGA +0xe1 0x03ac #GREEK SMALL LETTER ALPHA WITH TONOS +0xe2 0x03ad #GREEK SMALL LETTER EPSILON WITH TONOS +0xe3 0x03ae #GREEK SMALL LETTER ETA WITH TONOS +0xe4 0x03ca #GREEK SMALL LETTER IOTA WITH DIALYTIKA +0xe5 0x03af #GREEK SMALL LETTER IOTA WITH TONOS +0xe6 0x03cc #GREEK SMALL LETTER OMICRON WITH TONOS +0xe7 0x03cd #GREEK SMALL LETTER UPSILON WITH TONOS +0xe8 0x03cb #GREEK SMALL LETTER UPSILON WITH DIALYTIKA +0xe9 0x03ce #GREEK SMALL LETTER OMEGA WITH TONOS +0xea 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS +0xeb 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS +0xec 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS +0xed 0x038a #GREEK CAPITAL LETTER IOTA WITH TONOS +0xee 0x038c #GREEK CAPITAL LETTER OMICRON WITH TONOS +0xef 0x038e #GREEK CAPITAL LETTER UPSILON WITH TONOS +0xf0 0x038f #GREEK CAPITAL LETTER OMEGA WITH TONOS +0xf1 0x00b1 #PLUS-MINUS SIGN +0xf2 0x2265 #GREATER-THAN OR EQUAL TO +0xf3 0x2264 #LESS-THAN OR EQUAL TO +0xf4 0x03aa #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA +0xf5 0x03ab #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA +0xf6 0x00f7 #DIVISION SIGN +0xf7 0x2248 #ALMOST EQUAL TO +0xf8 0x00b0 #DEGREE SIGN +0xf9 0x2219 #BULLET OPERATOR +0xfa 0x00b7 #MIDDLE DOT +0xfb 0x221a #SQUARE ROOT +0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N +0xfd 0x00b2 #SUPERSCRIPT TWO +0xfe 0x25a0 #BLACK SQUARE +0xff 0x00a0 #NO-BREAK SPACE diff --git a/Unicode/cp850.cp b/Unicode/cp850.cp new file mode 100644 index 00000000..0992eb0d --- /dev/null +++ b/Unicode/cp850.cp @@ -0,0 +1,275 @@ +CP 850 +"cp850", "850", "IBM850", "csPC850Multilingual" +# +# Name: cp850_DOSLatin1 to Unicode table +# Unicode version: 2.0 +# Table version: 2.00 +# Table format: Format A +# Date: 04/24/96 +# Authors: Lori Brownell +# K.D. Chang +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp850_DOSLatin1 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp850_DOSLatin1 order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0a 0x000a #LINE FEED +0x0b 0x000b #VERTICAL TABULATION +0x0c 0x000c #FORM FEED +0x0d 0x000d #CARRIAGE RETURN +0x0e 0x000e #SHIFT OUT +0x0f 0x000f #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1a 0x001a #SUBSTITUTE +0x1b 0x001b #ESCAPE +0x1c 0x001c #FILE SEPARATOR +0x1d 0x001d #GROUP SEPARATOR +0x1e 0x001e #RECORD SEPARATOR +0x1f 0x001f #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2a 0x002a #ASTERISK +0x2b 0x002b #PLUS SIGN +0x2c 0x002c #COMMA +0x2d 0x002d #HYPHEN-MINUS +0x2e 0x002e #FULL STOP +0x2f 0x002f #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3a 0x003a #COLON +0x3b 0x003b #SEMICOLON +0x3c 0x003c #LESS-THAN SIGN +0x3d 0x003d #EQUALS SIGN +0x3e 0x003e #GREATER-THAN SIGN +0x3f 0x003f #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4a 0x004a #LATIN CAPITAL LETTER J +0x4b 0x004b #LATIN CAPITAL LETTER K +0x4c 0x004c #LATIN CAPITAL LETTER L +0x4d 0x004d #LATIN CAPITAL LETTER M +0x4e 0x004e #LATIN CAPITAL LETTER N +0x4f 0x004f #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5a 0x005a #LATIN CAPITAL LETTER Z +0x5b 0x005b #LEFT SQUARE BRACKET +0x5c 0x005c #REVERSE SOLIDUS +0x5d 0x005d #RIGHT SQUARE BRACKET +0x5e 0x005e #CIRCUMFLEX ACCENT +0x5f 0x005f #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6a 0x006a #LATIN SMALL LETTER J +0x6b 0x006b #LATIN SMALL LETTER K +0x6c 0x006c #LATIN SMALL LETTER L +0x6d 0x006d #LATIN SMALL LETTER M +0x6e 0x006e #LATIN SMALL LETTER N +0x6f 0x006f #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7a 0x007a #LATIN SMALL LETTER Z +0x7b 0x007b #LEFT CURLY BRACKET +0x7c 0x007c #VERTICAL LINE +0x7d 0x007d #RIGHT CURLY BRACKET +0x7e 0x007e #TILDE +0x7f 0x007f #DELETE +0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA +0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS +0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE +0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS +0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE +0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE +0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA +0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX +0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS +0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE +0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS +0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX +0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE +0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE +0x91 0x00e6 #LATIN SMALL LIGATURE AE +0x92 0x00c6 #LATIN CAPITAL LIGATURE AE +0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS +0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE +0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX +0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE +0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS +0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS +0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE +0x9c 0x00a3 #POUND SIGN +0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE +0x9e 0x00d7 #MULTIPLICATION SIGN +0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK +0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE +0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE +0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE +0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE +0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE +0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE +0xa6 0x00aa #FEMININE ORDINAL INDICATOR +0xa7 0x00ba #MASCULINE ORDINAL INDICATOR +0xa8 0x00bf #INVERTED QUESTION MARK +0xa9 0x00ae #REGISTERED SIGN +0xaa 0x00ac #NOT SIGN +0xab 0x00bd #VULGAR FRACTION ONE HALF +0xac 0x00bc #VULGAR FRACTION ONE QUARTER +0xad 0x00a1 #INVERTED EXCLAMATION MARK +0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xb0 0x2591 #LIGHT SHADE +0xb1 0x2592 #MEDIUM SHADE +0xb2 0x2593 #DARK SHADE +0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE +0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xb7 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE +0xb8 0x00a9 #COPYRIGHT SIGN +0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL +0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT +0xbd 0x00a2 #CENT SIGN +0xbe 0x00a5 #YEN SIGN +0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xc6 0x00e3 #LATIN SMALL LETTER A WITH TILDE +0xc7 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE +0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT +0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xcf 0x00a4 #CURRENCY SIGN +0xd0 0x00f0 #LATIN SMALL LETTER ETH +0xd1 0x00d0 #LATIN CAPITAL LETTER ETH +0xd2 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS +0xd4 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE +0xd5 0x0131 #LATIN SMALL LETTER DOTLESS I +0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE +0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xd8 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS +0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xdb 0x2588 #FULL BLOCK +0xdc 0x2584 #LOWER HALF BLOCK +0xdd 0x00a6 #BROKEN BAR +0xde 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE +0xdf 0x2580 #UPPER HALF BLOCK +0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE +0xe1 0x00df #LATIN SMALL LETTER SHARP S +0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xe3 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE +0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE +0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE +0xe6 0x00b5 #MICRO SIGN +0xe7 0x00fe #LATIN SMALL LETTER THORN +0xe8 0x00de #LATIN CAPITAL LETTER THORN +0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE +0xea 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xeb 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE +0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE +0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE +0xee 0x00af #MACRON +0xef 0x00b4 #ACUTE ACCENT +0xf0 0x00ad #SOFT HYPHEN +0xf1 0x00b1 #PLUS-MINUS SIGN +0xf2 0x2017 #DOUBLE LOW LINE +0xf3 0x00be #VULGAR FRACTION THREE QUARTERS +0xf4 0x00b6 #PILCROW SIGN +0xf5 0x00a7 #SECTION SIGN +0xf6 0x00f7 #DIVISION SIGN +0xf7 0x00b8 #CEDILLA +0xf8 0x00b0 #DEGREE SIGN +0xf9 0x00a8 #DIAERESIS +0xfa 0x00b7 #MIDDLE DOT +0xfb 0x00b9 #SUPERSCRIPT ONE +0xfc 0x00b3 #SUPERSCRIPT THREE +0xfd 0x00b2 #SUPERSCRIPT TWO +0xfe 0x25a0 #BLACK SQUARE +0xff 0x00a0 #NO-BREAK SPACE diff --git a/Unicode/cp852.cp b/Unicode/cp852.cp new file mode 100644 index 00000000..87cb449c --- /dev/null +++ b/Unicode/cp852.cp @@ -0,0 +1,275 @@ +CP 852 +"cp852", "852", "csPCp852" +# +# Name: cp852_DOSLatin2 to Unicode table +# Unicode version: 2.0 +# Table version: 2.00 +# Table format: Format A +# Date: 04/24/96 +# Authors: Lori Brownell +# K.D. Chang +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp852_DOSLatin2 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp852_DOSLatin2 order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0a 0x000a #LINE FEED +0x0b 0x000b #VERTICAL TABULATION +0x0c 0x000c #FORM FEED +0x0d 0x000d #CARRIAGE RETURN +0x0e 0x000e #SHIFT OUT +0x0f 0x000f #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1a 0x001a #SUBSTITUTE +0x1b 0x001b #ESCAPE +0x1c 0x001c #FILE SEPARATOR +0x1d 0x001d #GROUP SEPARATOR +0x1e 0x001e #RECORD SEPARATOR +0x1f 0x001f #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2a 0x002a #ASTERISK +0x2b 0x002b #PLUS SIGN +0x2c 0x002c #COMMA +0x2d 0x002d #HYPHEN-MINUS +0x2e 0x002e #FULL STOP +0x2f 0x002f #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3a 0x003a #COLON +0x3b 0x003b #SEMICOLON +0x3c 0x003c #LESS-THAN SIGN +0x3d 0x003d #EQUALS SIGN +0x3e 0x003e #GREATER-THAN SIGN +0x3f 0x003f #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4a 0x004a #LATIN CAPITAL LETTER J +0x4b 0x004b #LATIN CAPITAL LETTER K +0x4c 0x004c #LATIN CAPITAL LETTER L +0x4d 0x004d #LATIN CAPITAL LETTER M +0x4e 0x004e #LATIN CAPITAL LETTER N +0x4f 0x004f #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5a 0x005a #LATIN CAPITAL LETTER Z +0x5b 0x005b #LEFT SQUARE BRACKET +0x5c 0x005c #REVERSE SOLIDUS +0x5d 0x005d #RIGHT SQUARE BRACKET +0x5e 0x005e #CIRCUMFLEX ACCENT +0x5f 0x005f #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6a 0x006a #LATIN SMALL LETTER J +0x6b 0x006b #LATIN SMALL LETTER K +0x6c 0x006c #LATIN SMALL LETTER L +0x6d 0x006d #LATIN SMALL LETTER M +0x6e 0x006e #LATIN SMALL LETTER N +0x6f 0x006f #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7a 0x007a #LATIN SMALL LETTER Z +0x7b 0x007b #LEFT CURLY BRACKET +0x7c 0x007c #VERTICAL LINE +0x7d 0x007d #RIGHT CURLY BRACKET +0x7e 0x007e #TILDE +0x7f 0x007f #DELETE +0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA +0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS +0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE +0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS +0x85 0x016f #LATIN SMALL LETTER U WITH RING ABOVE +0x86 0x0107 #LATIN SMALL LETTER C WITH ACUTE +0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA +0x88 0x0142 #LATIN SMALL LETTER L WITH STROKE +0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS +0x8a 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0x8b 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE +0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX +0x8d 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE +0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0x8f 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE +0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE +0x91 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE +0x92 0x013a #LATIN SMALL LETTER L WITH ACUTE +0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS +0x95 0x013d #LATIN CAPITAL LETTER L WITH CARON +0x96 0x013e #LATIN SMALL LETTER L WITH CARON +0x97 0x015a #LATIN CAPITAL LETTER S WITH ACUTE +0x98 0x015b #LATIN SMALL LETTER S WITH ACUTE +0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS +0x9b 0x0164 #LATIN CAPITAL LETTER T WITH CARON +0x9c 0x0165 #LATIN SMALL LETTER T WITH CARON +0x9d 0x0141 #LATIN CAPITAL LETTER L WITH STROKE +0x9e 0x00d7 #MULTIPLICATION SIGN +0x9f 0x010d #LATIN SMALL LETTER C WITH CARON +0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE +0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE +0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE +0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE +0xa4 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK +0xa5 0x0105 #LATIN SMALL LETTER A WITH OGONEK +0xa6 0x017d #LATIN CAPITAL LETTER Z WITH CARON +0xa7 0x017e #LATIN SMALL LETTER Z WITH CARON +0xa8 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xa9 0x0119 #LATIN SMALL LETTER E WITH OGONEK +0xaa 0x00ac #NOT SIGN +0xab 0x017a #LATIN SMALL LETTER Z WITH ACUTE +0xac 0x010c #LATIN CAPITAL LETTER C WITH CARON +0xad 0x015f #LATIN SMALL LETTER S WITH CEDILLA +0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xb0 0x2591 #LIGHT SHADE +0xb1 0x2592 #MEDIUM SHADE +0xb2 0x2593 #DARK SHADE +0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE +0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xb7 0x011a #LATIN CAPITAL LETTER E WITH CARON +0xb8 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA +0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL +0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT +0xbd 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xbe 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE +0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xc6 0x0102 #LATIN CAPITAL LETTER A WITH BREVE +0xc7 0x0103 #LATIN SMALL LETTER A WITH BREVE +0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT +0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xcf 0x00a4 #CURRENCY SIGN +0xd0 0x0111 #LATIN SMALL LETTER D WITH STROKE +0xd1 0x0110 #LATIN CAPITAL LETTER D WITH STROKE +0xd2 0x010e #LATIN CAPITAL LETTER D WITH CARON +0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS +0xd4 0x010f #LATIN SMALL LETTER D WITH CARON +0xd5 0x0147 #LATIN CAPITAL LETTER N WITH CARON +0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE +0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xd8 0x011b #LATIN SMALL LETTER E WITH CARON +0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xdb 0x2588 #FULL BLOCK +0xdc 0x2584 #LOWER HALF BLOCK +0xdd 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA +0xde 0x016e #LATIN CAPITAL LETTER U WITH RING ABOVE +0xdf 0x2580 #UPPER HALF BLOCK +0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE +0xe1 0x00df #LATIN SMALL LETTER SHARP S +0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xe3 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE +0xe4 0x0144 #LATIN SMALL LETTER N WITH ACUTE +0xe5 0x0148 #LATIN SMALL LETTER N WITH CARON +0xe6 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0xe7 0x0161 #LATIN SMALL LETTER S WITH CARON +0xe8 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE +0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE +0xea 0x0155 #LATIN SMALL LETTER R WITH ACUTE +0xeb 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE +0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE +0xee 0x0163 #LATIN SMALL LETTER T WITH CEDILLA +0xef 0x00b4 #ACUTE ACCENT +0xf0 0x00ad #SOFT HYPHEN +0xf1 0x02dd #DOUBLE ACUTE ACCENT +0xf2 0x02db #OGONEK +0xf3 0x02c7 #CARON +0xf4 0x02d8 #BREVE +0xf5 0x00a7 #SECTION SIGN +0xf6 0x00f7 #DIVISION SIGN +0xf7 0x00b8 #CEDILLA +0xf8 0x00b0 #DEGREE SIGN +0xf9 0x00a8 #DIAERESIS +0xfa 0x02d9 #DOT ABOVE +0xfb 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE +0xfc 0x0158 #LATIN CAPITAL LETTER R WITH CARON +0xfd 0x0159 #LATIN SMALL LETTER R WITH CARON +0xfe 0x25a0 #BLACK SQUARE +0xff 0x00a0 #NO-BREAK SPACE diff --git a/Unicode/cp866.cp b/Unicode/cp866.cp new file mode 100644 index 00000000..a67dcb49 --- /dev/null +++ b/Unicode/cp866.cp @@ -0,0 +1,276 @@ +CP 866 +"cp866", "866", "IBM866", "csIBM866" +# +# Name: cp866_DOSCyrillicRussian to Unicode table +# Unicode version: 2.0 +# Table version: 2.00 +# Table format: Format A +# Date: 04/24/96 +# Authors: Lori Brownell +# K.D. Chang +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp866_DOSCyrillicRussian code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp866_DOSCyrillicRussian order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0a 0x000a #LINE FEED +0x0b 0x000b #VERTICAL TABULATION +0x0c 0x000c #FORM FEED +0x0d 0x000d #CARRIAGE RETURN +0x0e 0x000e #SHIFT OUT +0x0f 0x000f #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1a 0x001a #SUBSTITUTE +0x1b 0x001b #ESCAPE +0x1c 0x001c #FILE SEPARATOR +0x1d 0x001d #GROUP SEPARATOR +0x1e 0x001e #RECORD SEPARATOR +0x1f 0x001f #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2a 0x002a #ASTERISK +0x2b 0x002b #PLUS SIGN +0x2c 0x002c #COMMA +0x2d 0x002d #HYPHEN-MINUS +0x2e 0x002e #FULL STOP +0x2f 0x002f #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3a 0x003a #COLON +0x3b 0x003b #SEMICOLON +0x3c 0x003c #LESS-THAN SIGN +0x3d 0x003d #EQUALS SIGN +0x3e 0x003e #GREATER-THAN SIGN +0x3f 0x003f #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4a 0x004a #LATIN CAPITAL LETTER J +0x4b 0x004b #LATIN CAPITAL LETTER K +0x4c 0x004c #LATIN CAPITAL LETTER L +0x4d 0x004d #LATIN CAPITAL LETTER M +0x4e 0x004e #LATIN CAPITAL LETTER N +0x4f 0x004f #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5a 0x005a #LATIN CAPITAL LETTER Z +0x5b 0x005b #LEFT SQUARE BRACKET +0x5c 0x005c #REVERSE SOLIDUS +0x5d 0x005d #RIGHT SQUARE BRACKET +0x5e 0x005e #CIRCUMFLEX ACCENT +0x5f 0x005f #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6a 0x006a #LATIN SMALL LETTER J +0x6b 0x006b #LATIN SMALL LETTER K +0x6c 0x006c #LATIN SMALL LETTER L +0x6d 0x006d #LATIN SMALL LETTER M +0x6e 0x006e #LATIN SMALL LETTER N +0x6f 0x006f #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7a 0x007a #LATIN SMALL LETTER Z +0x7b 0x007b #LEFT CURLY BRACKET +0x7c 0x007c #VERTICAL LINE +0x7d 0x007d #RIGHT CURLY BRACKET +0x7e 0x007e #TILDE +0x7f 0x007f #DELETE +0x80 0x0410 #CYRILLIC CAPITAL LETTER A +0x81 0x0411 #CYRILLIC CAPITAL LETTER BE +0x82 0x0412 #CYRILLIC CAPITAL LETTER VE +0x83 0x0413 #CYRILLIC CAPITAL LETTER GHE +0x84 0x0414 #CYRILLIC CAPITAL LETTER DE +0x85 0x0415 #CYRILLIC CAPITAL LETTER IE +0x86 0x0416 #CYRILLIC CAPITAL LETTER ZHE +0x87 0x0417 #CYRILLIC CAPITAL LETTER ZE +0x88 0x0418 #CYRILLIC CAPITAL LETTER I +0x89 0x0419 #CYRILLIC CAPITAL LETTER SHORT I +0x8a 0x041a #CYRILLIC CAPITAL LETTER KA +0x8b 0x041b #CYRILLIC CAPITAL LETTER EL +0x8c 0x041c #CYRILLIC CAPITAL LETTER EM +0x8d 0x041d #CYRILLIC CAPITAL LETTER EN +0x8e 0x041e #CYRILLIC CAPITAL LETTER O +0x8f 0x041f #CYRILLIC CAPITAL LETTER PE +0x90 0x0420 #CYRILLIC CAPITAL LETTER ER +0x91 0x0421 #CYRILLIC CAPITAL LETTER ES +0x92 0x0422 #CYRILLIC CAPITAL LETTER TE +0x93 0x0423 #CYRILLIC CAPITAL LETTER U +0x94 0x0424 #CYRILLIC CAPITAL LETTER EF +0x95 0x0425 #CYRILLIC CAPITAL LETTER HA +0x96 0x0426 #CYRILLIC CAPITAL LETTER TSE +0x97 0x0427 #CYRILLIC CAPITAL LETTER CHE +0x98 0x0428 #CYRILLIC CAPITAL LETTER SHA +0x99 0x0429 #CYRILLIC CAPITAL LETTER SHCHA +0x9a 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN +0x9b 0x042b #CYRILLIC CAPITAL LETTER YERU +0x9c 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN +0x9d 0x042d #CYRILLIC CAPITAL LETTER E +0x9e 0x042e #CYRILLIC CAPITAL LETTER YU +0x9f 0x042f #CYRILLIC CAPITAL LETTER YA +0xa0 0x0430 #CYRILLIC SMALL LETTER A +0xa1 0x0431 #CYRILLIC SMALL LETTER BE +0xa2 0x0432 #CYRILLIC SMALL LETTER VE +0xa3 0x0433 #CYRILLIC SMALL LETTER GHE +0xa4 0x0434 #CYRILLIC SMALL LETTER DE +0xa5 0x0435 #CYRILLIC SMALL LETTER IE +0xa6 0x0436 #CYRILLIC SMALL LETTER ZHE +0xa7 0x0437 #CYRILLIC SMALL LETTER ZE +0xa8 0x0438 #CYRILLIC SMALL LETTER I +0xa9 0x0439 #CYRILLIC SMALL LETTER SHORT I +0xaa 0x043a #CYRILLIC SMALL LETTER KA +0xab 0x043b #CYRILLIC SMALL LETTER EL +0xac 0x043c #CYRILLIC SMALL LETTER EM +0xad 0x043d #CYRILLIC SMALL LETTER EN +0xae 0x043e #CYRILLIC SMALL LETTER O +0xaf 0x043f #CYRILLIC SMALL LETTER PE +0xb0 0x2591 #LIGHT SHADE +0xb1 0x2592 #MEDIUM SHADE +0xb2 0x2593 #DARK SHADE +0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE +0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE +0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE +0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL +0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT +0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE +0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT +0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE +0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE +0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE +0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE +0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xdb 0x2588 #FULL BLOCK +0xdc 0x2584 #LOWER HALF BLOCK +0xdd 0x258c #LEFT HALF BLOCK +0xde 0x2590 #RIGHT HALF BLOCK +0xdf 0x2580 #UPPER HALF BLOCK +0xe0 0x0440 #CYRILLIC SMALL LETTER ER +0xe1 0x0441 #CYRILLIC SMALL LETTER ES +0xe2 0x0442 #CYRILLIC SMALL LETTER TE +0xe3 0x0443 #CYRILLIC SMALL LETTER U +0xe4 0x0444 #CYRILLIC SMALL LETTER EF +0xe5 0x0445 #CYRILLIC SMALL LETTER HA +0xe6 0x0446 #CYRILLIC SMALL LETTER TSE +0xe7 0x0447 #CYRILLIC SMALL LETTER CHE +0xe8 0x0448 #CYRILLIC SMALL LETTER SHA +0xe9 0x0449 #CYRILLIC SMALL LETTER SHCHA +0xea 0x044a #CYRILLIC SMALL LETTER HARD SIGN +0xeb 0x044b #CYRILLIC SMALL LETTER YERU +0xec 0x044c #CYRILLIC SMALL LETTER SOFT SIGN +0xed 0x044d #CYRILLIC SMALL LETTER E +0xee 0x044e #CYRILLIC SMALL LETTER YU +0xef 0x044f #CYRILLIC SMALL LETTER YA +0xf0 0x0401 #CYRILLIC CAPITAL LETTER IO +0xf1 0x0451 #CYRILLIC SMALL LETTER IO +0xf2 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE +0xf3 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE +0xf4 0x0407 #CYRILLIC CAPITAL LETTER YI +0xf5 0x0457 #CYRILLIC SMALL LETTER YI +0xf6 0x040e #CYRILLIC CAPITAL LETTER SHORT U +0xf7 0x045e #CYRILLIC SMALL LETTER SHORT U +0xf8 0x00b0 #DEGREE SIGN +0xf9 0x2219 #BULLET OPERATOR +0xfa 0x00b7 #MIDDLE DOT +0xfb 0x221a #SQUARE ROOT +0xfc 0x2116 #NUMERO SIGN +0xfd 0x00a4 #CURRENCY SIGN +0xfe 0x25a0 #BLACK SQUARE +0xff 0x00a0 #NO-BREAK SPACE + diff --git a/Unicode/entities.lnx b/Unicode/entities.lnx new file mode 100644 index 00000000..0607316d --- /dev/null +++ b/Unicode/entities.lnx @@ -0,0 +1,1102 @@ +/* +# M.P.: entity to unicode table. I took this file from lynx. +# lynx/WWW/Library/Implementation/entities.h +*/ + +/* Entity Names to Unicode table +** ----------------------------- +** +* +* Whole entities[] thing (and much more) now present +* in this kind of structure. The structured streams to which +* the SGML modules sends its output could then easily have access +* to both entity names and unicode values for each (special) +* character. Probably the whole translation to display characters +* should be done at that later stage (e.g. in HTML.c). +* What's missing is a way for the later stage to return info +* to SGML whether the entity could be displayed or not. +* (like between SGML_character() and handle_entity() via FoundEntity.) +* Well, trying to do that now. +* Why keep two structures for entities? Backward compatibility.. +*/ + +#ifndef ENTITIES_H +#define ENTITIES_H 1 + +#include +#include + +/* UC_entity_info structure is defined in SGML.h. + This has to be sorted alphabetically (case-sensitive), + bear this in mind when you add some more entities.. */ + +/* + +This table available from ftp://ftp.unicode.org/ +original comment follows: + + +# Author: John Cowan +# Date: 25 July 1997 +# +# The following table maps SGML character entities from various +# public sets (namely, ISOamsa, ISOamsb, ISOamsc, ISOamsn, ISOamso, +# ISOamsr, ISObox, ISOcyr1, ISOcyr2, ISOdia, ISOgrk1, ISOgrk2, +# ISOgrk3, ISOgrk4, ISOlat1, ISOlat2, ISOnum, ISOpub, ISOtech, +# HTMLspecial, HTMLsymbol) to corresponding Unicode characters. +# +# The table has four tab-separated columns: +# Column 1: SGML character entity name +# Column 2: SGML public entity set +# Column 3: Unicode 2.0 character code +# Column 4: Unicode 2.0 character name (UPPER CASE) +# Entries which don't have Unicode equivalents have "0x????" +# in Column 3 and a lower case description (from the public entity +# set DTD) in Column 4. The mapping is not reversible, because many +# distinctions are unified away in Unicode, particularly between +# mathematical symbols. +# +# The table is sorted case-blind by SGML character entity name. +# +# The contents of this table are drawn from various sources, and +# are in the public domain. +# +######################## + + We just sort it and move column 2 away (line too long, sorry; + look at sgml.html in test/ directory for details). + Also we add a few (obsolete) synonyms: + "brkbar" for "brvbar" 0x00A6 + "emdash" for "mdash" 0x2014 + "endash" for "ndash" 0x2013 + "hibar" for "macr" 0x00AF + for exact compatibility with entities[] and previous bevavior. + BTW, lots of synonyms found in this table, we shouldn't worry about... +*/ + +static CONST UC_entity_info unicode_entities[] = { + {"AElig", 0x00C6}, /* LATIN CAPITAL LETTER AE */ + {"Aacgr", 0x0386}, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */ + {"Aacute", 0x00C1}, /* LATIN CAPITAL LETTER A WITH ACUTE */ + {"Abreve", 0x0102}, /* LATIN CAPITAL LETTER A WITH BREVE */ + {"Acirc", 0x00C2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ + {"Acy", 0x0410}, /* CYRILLIC CAPITAL LETTER A */ + {"Agr", 0x0391}, /* GREEK CAPITAL LETTER ALPHA */ + {"Agrave", 0x00C0}, /* LATIN CAPITAL LETTER A WITH GRAVE */ + {"Alpha", 0x0391}, /* GREEK CAPITAL LETTER ALPHA */ + {"Amacr", 0x0100}, /* LATIN CAPITAL LETTER A WITH MACRON */ + {"Aogon", 0x0104}, /* LATIN CAPITAL LETTER A WITH OGONEK */ + {"Aring", 0x00C5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */ + {"Atilde", 0x00C3}, /* LATIN CAPITAL LETTER A WITH TILDE */ + {"Auml", 0x00C4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + {"Barwed", 0x2306}, /* PERSPECTIVE */ + {"Bcy", 0x0411}, /* CYRILLIC CAPITAL LETTER BE */ + {"Beta", 0x0392}, /* GREEK CAPITAL LETTER BETA */ + {"Bgr", 0x0392}, /* GREEK CAPITAL LETTER BETA */ + {"CHcy", 0x0427}, /* CYRILLIC CAPITAL LETTER CHE */ + {"Cacute", 0x0106}, /* LATIN CAPITAL LETTER C WITH ACUTE */ + {"Cap", 0x22D2}, /* DOUBLE INTERSECTION */ + {"Ccaron", 0x010C}, /* LATIN CAPITAL LETTER C WITH CARON */ + {"Ccedil", 0x00C7}, /* LATIN CAPITAL LETTER C WITH CEDILLA */ + {"Ccirc", 0x0108}, /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ + {"Cdot", 0x010A}, /* LATIN CAPITAL LETTER C WITH DOT ABOVE */ + {"Chi", 0x03A7}, /* GREEK CAPITAL LETTER CHI */ + {"Cup", 0x22D3}, /* DOUBLE UNION */ + {"DJcy", 0x0402}, /* CYRILLIC CAPITAL LETTER DJE */ + {"DScy", 0x0405}, /* CYRILLIC CAPITAL LETTER DZE */ + {"DZcy", 0x040F}, /* CYRILLIC CAPITAL LETTER DZHE */ + {"Dagger", 0x2021}, /* DOUBLE DAGGER */ + {"Dcaron", 0x010E}, /* LATIN CAPITAL LETTER D WITH CARON */ + {"Dcy", 0x0414}, /* CYRILLIC CAPITAL LETTER DE */ + {"Delta", 0x0394}, /* GREEK CAPITAL LETTER DELTA */ + {"Dgr", 0x0394}, /* GREEK CAPITAL LETTER DELTA */ + {"Dot", 0x00A8}, /* DIAERESIS */ + {"DotDot", 0x20DC}, /* COMBINING FOUR DOTS ABOVE */ + {"Dstrok", 0x0110}, /* LATIN CAPITAL LETTER D WITH STROKE */ + {"EEacgr", 0x0389}, /* GREEK CAPITAL LETTER ETA WITH TONOS */ + {"EEgr", 0x0397}, /* GREEK CAPITAL LETTER ETA */ + {"ENG", 0x014A}, /* LATIN CAPITAL LETTER ENG */ + {"ETH", 0x00D0}, /* LATIN CAPITAL LETTER ETH */ + {"Eacgr", 0x0388}, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */ + {"Eacute", 0x00C9}, /* LATIN CAPITAL LETTER E WITH ACUTE */ + {"Ecaron", 0x011A}, /* LATIN CAPITAL LETTER E WITH CARON */ + {"Ecirc", 0x00CA}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ + {"Ecy", 0x042D}, /* CYRILLIC CAPITAL LETTER E */ + {"Edot", 0x0116}, /* LATIN CAPITAL LETTER E WITH DOT ABOVE */ + {"Egr", 0x0395}, /* GREEK CAPITAL LETTER EPSILON */ + {"Egrave", 0x00C8}, /* LATIN CAPITAL LETTER E WITH GRAVE */ + {"Emacr", 0x0112}, /* LATIN CAPITAL LETTER E WITH MACRON */ + {"Eogon", 0x0118}, /* LATIN CAPITAL LETTER E WITH OGONEK */ + {"Epsilon", 0x0395}, /* GREEK CAPITAL LETTER EPSILON */ + {"Eta", 0x0397}, /* GREEK CAPITAL LETTER ETA */ + {"Euml", 0x00CB}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */ + {"Fcy", 0x0424}, /* CYRILLIC CAPITAL LETTER EF */ + {"GJcy", 0x0403}, /* CYRILLIC CAPITAL LETTER GJE */ + {"Gamma", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */ + {"Gbreve", 0x011E}, /* LATIN CAPITAL LETTER G WITH BREVE */ + {"Gcedil", 0x0122}, /* LATIN CAPITAL LETTER G WITH CEDILLA */ + {"Gcirc", 0x011C}, /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ + {"Gcy", 0x0413}, /* CYRILLIC CAPITAL LETTER GHE */ + {"Gdot", 0x0120}, /* LATIN CAPITAL LETTER G WITH DOT ABOVE */ + {"Gg", 0x22D9}, /* VERY MUCH GREATER-THAN */ + {"Ggr", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */ + {"Gt", 0x226B}, /* MUCH GREATER-THAN */ + {"HARDcy", 0x042A}, /* CYRILLIC CAPITAL LETTER HARD SIGN */ + {"Hcirc", 0x0124}, /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ + {"Hstrok", 0x0126}, /* LATIN CAPITAL LETTER H WITH STROKE */ + {"IEcy", 0x0415}, /* CYRILLIC CAPITAL LETTER IE */ + {"IJlig", 0x0132}, /* LATIN CAPITAL LIGATURE IJ */ + {"IOcy", 0x0401}, /* CYRILLIC CAPITAL LETTER IO */ + {"Iacgr", 0x038A}, /* GREEK CAPITAL LETTER IOTA WITH TONOS */ + {"Iacute", 0x00CD}, /* LATIN CAPITAL LETTER I WITH ACUTE */ + {"Icirc", 0x00CE}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ + {"Icy", 0x0418}, /* CYRILLIC CAPITAL LETTER I */ + {"Idigr", 0x03AA}, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ + {"Idot", 0x0130}, /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + {"Igr", 0x0399}, /* GREEK CAPITAL LETTER IOTA */ + {"Igrave", 0x00CC}, /* LATIN CAPITAL LETTER I WITH GRAVE */ + {"Imacr", 0x012A}, /* LATIN CAPITAL LETTER I WITH MACRON */ + {"Iogon", 0x012E}, /* LATIN CAPITAL LETTER I WITH OGONEK */ + {"Iota", 0x0399}, /* GREEK CAPITAL LETTER IOTA */ + {"Itilde", 0x0128}, /* LATIN CAPITAL LETTER I WITH TILDE */ + {"Iukcy", 0x0406}, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN*/ + {"Iuml", 0x00CF}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */ + {"Jcirc", 0x0134}, /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ + {"Jcy", 0x0419}, /* CYRILLIC CAPITAL LETTER SHORT I */ + {"Jsercy", 0x0408}, /* CYRILLIC CAPITAL LETTER JE */ + {"Jukcy", 0x0404}, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ + {"KHcy", 0x0425}, /* CYRILLIC CAPITAL LETTER HA */ + {"KHgr", 0x03A7}, /* GREEK CAPITAL LETTER CHI */ + {"KJcy", 0x040C}, /* CYRILLIC CAPITAL LETTER KJE */ + {"Kappa", 0x039A}, /* GREEK CAPITAL LETTER KAPPA */ + {"Kcedil", 0x0136}, /* LATIN CAPITAL LETTER K WITH CEDILLA */ + {"Kcy", 0x041A}, /* CYRILLIC CAPITAL LETTER KA */ + {"Kgr", 0x039A}, /* GREEK CAPITAL LETTER KAPPA */ + {"LJcy", 0x0409}, /* CYRILLIC CAPITAL LETTER LJE */ + {"Lacute", 0x0139}, /* LATIN CAPITAL LETTER L WITH ACUTE */ + {"Lambda", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */ + {"Larr", 0x219E}, /* LEFTWARDS TWO HEADED ARROW */ + {"Lcaron", 0x013D}, /* LATIN CAPITAL LETTER L WITH CARON */ + {"Lcedil", 0x013B}, /* LATIN CAPITAL LETTER L WITH CEDILLA */ + {"Lcy", 0x041B}, /* CYRILLIC CAPITAL LETTER EL */ + {"Lgr", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */ + {"Ll", 0x22D8}, /* VERY MUCH LESS-THAN */ + {"Lmidot", 0x013F}, /* LATIN CAPITAL LETTER L WITH MIDDLE DOT */ + {"Lstrok", 0x0141}, /* LATIN CAPITAL LETTER L WITH STROKE */ + {"Lt", 0x226A}, /* MUCH LESS-THAN */ + {"Mcy", 0x041C}, /* CYRILLIC CAPITAL LETTER EM */ + {"Mgr", 0x039C}, /* GREEK CAPITAL LETTER MU */ + {"Mu", 0x039C}, /* GREEK CAPITAL LETTER MU */ + {"NJcy", 0x040A}, /* CYRILLIC CAPITAL LETTER NJE */ + {"Nacute", 0x0143}, /* LATIN CAPITAL LETTER N WITH ACUTE */ + {"Ncaron", 0x0147}, /* LATIN CAPITAL LETTER N WITH CARON */ + {"Ncedil", 0x0145}, /* LATIN CAPITAL LETTER N WITH CEDILLA */ + {"Ncy", 0x041D}, /* CYRILLIC CAPITAL LETTER EN */ + {"Ngr", 0x039D}, /* GREEK CAPITAL LETTER NU */ + {"Ntilde", 0x00D1}, /* LATIN CAPITAL LETTER N WITH TILDE */ + {"Nu", 0x039D}, /* GREEK CAPITAL LETTER NU */ + {"OElig", 0x0152}, /* LATIN CAPITAL LIGATURE OE */ + {"OHacgr", 0x038F}, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */ + {"OHgr", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */ + {"Oacgr", 0x038C}, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */ + {"Oacute", 0x00D3}, /* LATIN CAPITAL LETTER O WITH ACUTE */ + {"Ocirc", 0x00D4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ + {"Ocy", 0x041E}, /* CYRILLIC CAPITAL LETTER O */ + {"Odblac", 0x0150}, /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ + {"Ogr", 0x039F}, /* GREEK CAPITAL LETTER OMICRON */ + {"Ograve", 0x00D2}, /* LATIN CAPITAL LETTER O WITH GRAVE */ + {"Omacr", 0x014C}, /* LATIN CAPITAL LETTER O WITH MACRON */ + {"Omega", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */ + {"Omicron", 0x039F}, /* GREEK CAPITAL LETTER OMICRON */ + {"Oslash", 0x00D8}, /* LATIN CAPITAL LETTER O WITH STROKE */ + {"Otilde", 0x00D5}, /* LATIN CAPITAL LETTER O WITH TILDE */ + {"Ouml", 0x00D6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ + {"PHgr", 0x03A6}, /* GREEK CAPITAL LETTER PHI */ + {"PSgr", 0x03A8}, /* GREEK CAPITAL LETTER PSI */ + {"Pcy", 0x041F}, /* CYRILLIC CAPITAL LETTER PE */ + {"Pgr", 0x03A0}, /* GREEK CAPITAL LETTER PI */ + {"Phi", 0x03A6}, /* GREEK CAPITAL LETTER PHI */ + {"Pi", 0x03A0}, /* GREEK CAPITAL LETTER PI */ + {"Prime", 0x2033}, /* DOUBLE PRIME */ + {"Psi", 0x03A8}, /* GREEK CAPITAL LETTER PSI */ + {"Racute", 0x0154}, /* LATIN CAPITAL LETTER R WITH ACUTE */ + {"Rarr", 0x21A0}, /* RIGHTWARDS TWO HEADED ARROW */ + {"Rcaron", 0x0158}, /* LATIN CAPITAL LETTER R WITH CARON */ + {"Rcedil", 0x0156}, /* LATIN CAPITAL LETTER R WITH CEDILLA */ + {"Rcy", 0x0420}, /* CYRILLIC CAPITAL LETTER ER */ + {"Rgr", 0x03A1}, /* GREEK CAPITAL LETTER RHO */ + {"Rho", 0x03A1}, /* GREEK CAPITAL LETTER RHO */ + {"SHCHcy", 0x0429}, /* CYRILLIC CAPITAL LETTER SHCHA */ + {"SHcy", 0x0428}, /* CYRILLIC CAPITAL LETTER SHA */ + {"SOFTcy", 0x042C}, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ + {"Sacute", 0x015A}, /* LATIN CAPITAL LETTER S WITH ACUTE */ + {"Scaron", 0x0160}, /* LATIN CAPITAL LETTER S WITH CARON */ + {"Scedil", 0x015E}, /* LATIN CAPITAL LETTER S WITH CEDILLA */ + {"Scirc", 0x015C}, /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ + {"Scomma", 0x0218}, /* LATIN CAPITAL LETTER S WITH COMMA BELOW */ + {"Scy", 0x0421}, /* CYRILLIC CAPITAL LETTER ES */ + {"Sgr", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */ + {"Sigma", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */ + {"Sub", 0x22D0}, /* DOUBLE SUBSET */ + {"Sup", 0x22D1}, /* DOUBLE SUPERSET */ + {"THORN", 0x00DE}, /* LATIN CAPITAL LETTER THORN */ + {"THgr", 0x0398}, /* GREEK CAPITAL LETTER THETA */ + {"TSHcy", 0x040B}, /* CYRILLIC CAPITAL LETTER TSHE */ + {"TScy", 0x0426}, /* CYRILLIC CAPITAL LETTER TSE */ + {"Tau", 0x03A4}, /* GREEK CAPITAL LETTER TAU */ + {"Tcaron", 0x0164}, /* LATIN CAPITAL LETTER T WITH CARON */ + {"Tcomma", 0x021A}, /* LATIN CAPITAL LETTER T WITH COMMA BELOW */ + {"Tcedil", 0x0162}, /* LATIN CAPITAL LETTER T WITH CEDILLA */ + {"Tcy", 0x0422}, /* CYRILLIC CAPITAL LETTER TE */ + {"Tgr", 0x03A4}, /* GREEK CAPITAL LETTER TAU */ + {"Theta", 0x0398}, /* GREEK CAPITAL LETTER THETA */ + {"Tstrok", 0x0166}, /* LATIN CAPITAL LETTER T WITH STROKE */ + {"Uacgr", 0x038E}, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */ + {"Uacute", 0x00DA}, /* LATIN CAPITAL LETTER U WITH ACUTE */ + {"Ubrcy", 0x040E}, /* CYRILLIC CAPITAL LETTER SHORT U */ + {"Ubreve", 0x016C}, /* LATIN CAPITAL LETTER U WITH BREVE */ + {"Ucirc", 0x00DB}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ + {"Ucy", 0x0423}, /* CYRILLIC CAPITAL LETTER U */ + {"Udblac", 0x0170}, /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ + {"Udigr", 0x03AB}, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ + {"Ugr", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */ + {"Ugrave", 0x00D9}, /* LATIN CAPITAL LETTER U WITH GRAVE */ + {"Umacr", 0x016A}, /* LATIN CAPITAL LETTER U WITH MACRON */ + {"Uogon", 0x0172}, /* LATIN CAPITAL LETTER U WITH OGONEK */ + {"Upsi", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */ + {"Upsilon", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */ + {"Uring", 0x016E}, /* LATIN CAPITAL LETTER U WITH RING ABOVE */ + {"Utilde", 0x0168}, /* LATIN CAPITAL LETTER U WITH TILDE */ + {"Uuml", 0x00DC}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ + {"Vcy", 0x0412}, /* CYRILLIC CAPITAL LETTER VE */ + {"Vdash", 0x22A9}, /* FORCES */ + {"Verbar", 0x2016}, /* DOUBLE VERTICAL LINE */ + {"Vvdash", 0x22AA}, /* TRIPLE VERTICAL BAR RIGHT TURNSTILE */ + {"Wcirc", 0x0174}, /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */ + {"Xgr", 0x039E}, /* GREEK CAPITAL LETTER XI */ + {"Xi", 0x039E}, /* GREEK CAPITAL LETTER XI */ + {"YAcy", 0x042F}, /* CYRILLIC CAPITAL LETTER YA */ + {"YIcy", 0x0407}, /* CYRILLIC CAPITAL LETTER YI */ + {"YUcy", 0x042E}, /* CYRILLIC CAPITAL LETTER YU */ + {"Yacute", 0x00DD}, /* LATIN CAPITAL LETTER Y WITH ACUTE */ + {"Ycirc", 0x0176}, /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */ + {"Ycy", 0x042B}, /* CYRILLIC CAPITAL LETTER YERU */ + {"Yuml", 0x0178}, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */ + {"ZHcy", 0x0416}, /* CYRILLIC CAPITAL LETTER ZHE */ + {"Zacute", 0x0179}, /* LATIN CAPITAL LETTER Z WITH ACUTE */ + {"Zcaron", 0x017D}, /* LATIN CAPITAL LETTER Z WITH CARON */ + {"Zcy", 0x0417}, /* CYRILLIC CAPITAL LETTER ZE */ + {"Zdot", 0x017B}, /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */ + {"Zeta", 0x0396}, /* GREEK CAPITAL LETTER ZETA */ + {"Zgr", 0x0396}, /* GREEK CAPITAL LETTER ZETA */ + {"aacgr", 0x03AC}, /* GREEK SMALL LETTER ALPHA WITH TONOS */ + {"aacute", 0x00E1}, /* LATIN SMALL LETTER A WITH ACUTE */ + {"abreve", 0x0103}, /* LATIN SMALL LETTER A WITH BREVE */ + {"acirc", 0x00E2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */ + {"acute", 0x00B4}, /* ACUTE ACCENT */ + {"acy", 0x0430}, /* CYRILLIC SMALL LETTER A */ + {"aelig", 0x00E6}, /* LATIN SMALL LETTER AE */ + {"agr", 0x03B1}, /* GREEK SMALL LETTER ALPHA */ + {"agrave", 0x00E0}, /* LATIN SMALL LETTER A WITH GRAVE */ + {"alefsym", 0x2135}, /* ALEF SYMBOL */ + {"aleph", 0x2135}, /* ALEF SYMBOL */ + {"alpha", 0x03B1}, /* GREEK SMALL LETTER ALPHA */ + {"amacr", 0x0101}, /* LATIN SMALL LETTER A WITH MACRON */ + {"amalg", 0x2210}, /* N-ARY COPRODUCT */ + {"amp", 0x0026}, /* AMPERSAND */ + {"and", 0x2227}, /* LOGICAL AND */ + {"ang", 0x2220}, /* ANGLE */ + {"ang90", 0x221F}, /* RIGHT ANGLE */ + {"angmsd", 0x2221}, /* MEASURED ANGLE */ + {"angsph", 0x2222}, /* SPHERICAL ANGLE */ + {"angst", 0x212B}, /* ANGSTROM SIGN */ + {"aogon", 0x0105}, /* LATIN SMALL LETTER A WITH OGONEK */ + {"ap", 0x2248}, /* ALMOST EQUAL TO */ + {"ape", 0x224A}, /* ALMOST EQUAL OR EQUAL TO */ + {"apos", 0x02BC}, /* MODIFIER LETTER APOSTROPHE */ + {"aring", 0x00E5}, /* LATIN SMALL LETTER A WITH RING ABOVE */ + {"ast", 0x002A}, /* ASTERISK */ + {"asymp", 0x2248}, /* ALMOST EQUAL TO */ + {"atilde", 0x00E3}, /* LATIN SMALL LETTER A WITH TILDE */ + {"auml", 0x00E4}, /* LATIN SMALL LETTER A WITH DIAERESIS */ + {"b.Delta", 0x0394}, /* GREEK CAPITAL LETTER DELTA */ + {"b.Gamma", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */ + {"b.Lambda", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */ + {"b.Omega", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */ + {"b.Phi", 0x03A6}, /* GREEK CAPITAL LETTER PHI */ + {"b.Pi", 0x03A0}, /* GREEK CAPITAL LETTER PI */ + {"b.Psi", 0x03A8}, /* GREEK CAPITAL LETTER PSI */ + {"b.Sigma", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */ + {"b.Theta", 0x0398}, /* GREEK CAPITAL LETTER THETA */ + {"b.Upsi", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */ + {"b.Xi", 0x039E}, /* GREEK CAPITAL LETTER XI */ + {"b.alpha", 0x03B1}, /* GREEK SMALL LETTER ALPHA */ + {"b.beta", 0x03B2}, /* GREEK SMALL LETTER BETA */ + {"b.chi", 0x03C7}, /* GREEK SMALL LETTER CHI */ + {"b.delta", 0x03B3}, /* GREEK SMALL LETTER GAMMA */ + {"b.epsi", 0x03B5}, /* GREEK SMALL LETTER EPSILON */ + {"b.epsis", 0x03B5}, /* GREEK SMALL LETTER EPSILON */ + {"b.epsiv", 0x03B5}, /* GREEK SMALL LETTER EPSILON */ + {"b.eta", 0x03B7}, /* GREEK SMALL LETTER ETA */ + {"b.gamma", 0x03B3}, /* GREEK SMALL LETTER GAMMA */ + {"b.gammad", 0x03DC}, /* GREEK LETTER DIGAMMA */ + {"b.iota", 0x03B9}, /* GREEK SMALL LETTER IOTA */ + {"b.kappa", 0x03BA}, /* GREEK SMALL LETTER KAPPA */ + {"b.kappav", 0x03F0}, /* GREEK KAPPA SYMBOL */ + {"b.lambda", 0x03BB}, /* GREEK SMALL LETTER LAMDA */ + {"b.mu", 0x03BC}, /* GREEK SMALL LETTER MU */ + {"b.nu", 0x03BD}, /* GREEK SMALL LETTER NU */ + {"b.omega", 0x03CE}, /* GREEK SMALL LETTER OMEGA WITH TONOS */ + {"b.phis", 0x03C6}, /* GREEK SMALL LETTER PHI */ + {"b.phiv", 0x03D5}, /* GREEK PHI SYMBOL */ + {"b.pi", 0x03C0}, /* GREEK SMALL LETTER PI */ + {"b.piv", 0x03D6}, /* GREEK PI SYMBOL */ + {"b.psi", 0x03C8}, /* GREEK SMALL LETTER PSI */ + {"b.rho", 0x03C1}, /* GREEK SMALL LETTER RHO */ + {"b.rhov", 0x03F1}, /* GREEK RHO SYMBOL */ + {"b.sigma", 0x03C3}, /* GREEK SMALL LETTER SIGMA */ + {"b.sigmav", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */ + {"b.tau", 0x03C4}, /* GREEK SMALL LETTER TAU */ + {"b.thetas", 0x03B8}, /* GREEK SMALL LETTER THETA */ + {"b.thetav", 0x03D1}, /* GREEK THETA SYMBOL */ + {"b.upsi", 0x03C5}, /* GREEK SMALL LETTER UPSILON */ + {"b.xi", 0x03BE}, /* GREEK SMALL LETTER XI */ + {"b.zeta", 0x03B6}, /* GREEK SMALL LETTER ZETA */ + {"barwed", 0x22BC}, /* NAND */ + {"bcong", 0x224C}, /* ALL EQUAL TO */ + {"bcy", 0x0431}, /* CYRILLIC SMALL LETTER BE */ + {"bdquo", 0x201E}, /* DOUBLE LOW-9 QUOTATION MARK */ + {"becaus", 0x2235}, /* BECAUSE */ + {"bepsi", 0x220D}, /* SMALL CONTAINS AS MEMBER */ + {"bernou", 0x212C}, /* SCRIPT CAPITAL B */ + {"beta", 0x03B2}, /* GREEK SMALL LETTER BETA */ + {"beth", 0x2136}, /* BET SYMBOL */ + {"bgr", 0x03B2}, /* GREEK SMALL LETTER BETA */ + {"blank", 0x2423}, /* OPEN BOX */ + {"blk12", 0x2592}, /* MEDIUM SHADE */ + {"blk14", 0x2591}, /* LIGHT SHADE */ + {"blk34", 0x2593}, /* DARK SHADE */ + {"block", 0x2588}, /* FULL BLOCK */ + {"bottom", 0x22A5}, /* UP TACK */ + {"bowtie", 0x22C8}, /* BOWTIE */ + {"boxDL", 0x2557}, /* BOX DRAWINGS DOUBLE DOWN AND LEFT */ + {"boxDR", 0x2554}, /* BOX DRAWINGS DOUBLE DOWN AND RIGHT */ + {"boxDl", 0x2556}, /* BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE */ + {"boxDr", 0x2553}, /* BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE */ + {"boxH", 0x2550}, /* BOX DRAWINGS DOUBLE HORIZONTAL */ + {"boxHD", 0x2566}, /* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */ + {"boxHU", 0x2569}, /* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */ + {"boxHd", 0x2564}, /* BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE*/ + {"boxHu", 0x2567}, /* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */ + {"boxUL", 0x255D}, /* BOX DRAWINGS DOUBLE UP AND LEFT */ + {"boxUR", 0x255A}, /* BOX DRAWINGS DOUBLE UP AND RIGHT */ + {"boxUl", 0x255C}, /* BOX DRAWINGS UP DOUBLE AND LEFT SINGLE */ + {"boxUr", 0x2559}, /* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */ + {"boxV", 0x2551}, /* BOX DRAWINGS DOUBLE VERTICAL */ + {"boxVH", 0x256C}, /* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */ + {"boxVL", 0x2563}, /* BOX DRAWINGS DOUBLE VERTICAL AND LEFT */ + {"boxVR", 0x2560}, /* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */ + {"boxVh", 0x256B}, /* BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SI*/ + {"boxVl", 0x2562}, /* BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE */ + {"boxVr", 0x255F}, /* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */ + {"boxdL", 0x2555}, /* BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE */ + {"boxdR", 0x2552}, /* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */ + {"boxdl", 0x2510}, /* BOX DRAWINGS LIGHT DOWN AND LEFT */ + {"boxdr", 0x250C}, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */ + {"boxh", 0x2500}, /* BOX DRAWINGS LIGHT HORIZONTAL */ + {"boxhD", 0x2565}, /* BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE*/ + {"boxhU", 0x2568}, /* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */ + {"boxhd", 0x252C}, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ + {"boxhu", 0x2534}, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */ + {"boxuL", 0x255B}, /* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */ + {"boxuR", 0x2558}, /* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */ + {"boxul", 0x2518}, /* BOX DRAWINGS LIGHT UP AND LEFT */ + {"boxur", 0x2514}, /* BOX DRAWINGS LIGHT UP AND RIGHT */ + {"boxv", 0x2502}, /* BOX DRAWINGS LIGHT VERTICAL */ + {"boxvH", 0x256A}, /* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DO*/ + {"boxvL", 0x2561}, /* BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE */ + {"boxvR", 0x255E}, /* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */ + {"boxvh", 0x253C}, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ + {"boxvl", 0x2524}, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */ + {"boxvr", 0x251C}, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ + {"bprime", 0x2035}, /* REVERSED PRIME */ + {"breve", 0x02D8}, /* BREVE */ + {"brkbar", 0x00A6}, /* obsolete synonym for "brvbar" 0x00A6 */ + {"brvbar", 0x00A6}, /* BROKEN BAR */ + {"bsim", 0x223D}, /* REVERSED TILDE */ + {"bsime", 0x22CD}, /* REVERSED TILDE EQUALS */ + {"bsol", 0x005C}, /* REVERSE SOLIDUS */ + {"bull", 0x2022}, /* BULLET */ + {"bump", 0x224E}, /* GEOMETRICALLY EQUIVALENT TO */ + {"bumpe", 0x224F}, /* DIFFERENCE BETWEEN */ + {"cacute", 0x0107}, /* LATIN SMALL LETTER C WITH ACUTE */ + {"cap", 0x2229}, /* INTERSECTION */ + {"caret", 0x2041}, /* CARET INSERTION POINT */ + {"caron", 0x02C7}, /* CARON */ + {"ccaron", 0x010D}, /* LATIN SMALL LETTER C WITH CARON */ + {"ccedil", 0x00E7}, /* LATIN SMALL LETTER C WITH CEDILLA */ + {"ccirc", 0x0109}, /* LATIN SMALL LETTER C WITH CIRCUMFLEX */ + {"cdot", 0x010B}, /* LATIN SMALL LETTER C WITH DOT ABOVE */ + {"cedil", 0x00B8}, /* CEDILLA */ + {"cent", 0x00A2}, /* CENT SIGN */ + {"chcy", 0x0447}, /* CYRILLIC SMALL LETTER CHE */ + {"check", 0x2713}, /* CHECK MARK */ + {"chi", 0x03C7}, /* GREEK SMALL LETTER CHI */ + {"cir", 0x25CB}, /* WHITE CIRCLE */ + {"circ", 0x02C6}, /* MODIFIER LETTER CIRCUMFLEX ACCENT */ + {"cire", 0x2257}, /* RING EQUAL TO */ + {"clubs", 0x2663}, /* BLACK CLUB SUIT */ + {"colon", 0x003A}, /* COLON */ + {"colone", 0x2254}, /* COLON EQUALS */ + {"comma", 0x002C}, /* COMMA */ + {"commat", 0x0040}, /* COMMERCIAL AT */ + {"comp", 0x2201}, /* COMPLEMENT */ + {"compfn", 0x2218}, /* RING OPERATOR */ + {"cong", 0x2245}, /* APPROXIMATELY EQUAL TO */ + {"conint", 0x222E}, /* CONTOUR INTEGRAL */ + {"coprod", 0x2210}, /* N-ARY COPRODUCT */ + {"copy", 0x00A9}, /* COPYRIGHT SIGN */ + {"copysr", 0x2117}, /* SOUND RECORDING COPYRIGHT */ + {"crarr", 0x21B5}, /* DOWNWARDS ARROW WITH CORNER LEFTWARDS */ + {"cross", 0x2717}, /* BALLOT X */ + {"cuepr", 0x22DE}, /* EQUAL TO OR PRECEDES */ + {"cuesc", 0x22DF}, /* EQUAL TO OR SUCCEEDS */ + {"cularr", 0x21B6}, /* ANTICLOCKWISE TOP SEMICIRCLE ARROW */ + {"cup", 0x222A}, /* UNION */ + {"cupre", 0x227C}, /* PRECEDES OR EQUAL TO */ + {"curarr", 0x21B7}, /* CLOCKWISE TOP SEMICIRCLE ARROW */ + {"curren", 0x00A4}, /* CURRENCY SIGN */ + {"cuvee", 0x22CE}, /* CURLY LOGICAL OR */ + {"cuwed", 0x22CF}, /* CURLY LOGICAL AND */ + {"dArr", 0x21D3}, /* DOWNWARDS DOUBLE ARROW */ + {"dagger", 0x2020}, /* DAGGER */ + {"daleth", 0x2138}, /* DALET SYMBOL */ + {"darr", 0x2193}, /* DOWNWARDS ARROW */ + {"darr2", 0x21CA}, /* DOWNWARDS PAIRED ARROWS */ + {"dash", 0x2010}, /* HYPHEN */ + {"dashv", 0x22A3}, /* LEFT TACK */ + {"dblac", 0x02DD}, /* DOUBLE ACUTE ACCENT */ + {"dcaron", 0x010F}, /* LATIN SMALL LETTER D WITH CARON */ + {"dcy", 0x0434}, /* CYRILLIC SMALL LETTER DE */ + {"deg", 0x00B0}, /* DEGREE SIGN */ + {"delta", 0x03B4}, /* GREEK SMALL LETTER DELTA */ + {"dgr", 0x03B4}, /* GREEK SMALL LETTER DELTA */ + {"dharl", 0x21C3}, /* DOWNWARDS HARPOON WITH BARB LEFTWARDS */ + {"dharr", 0x21C2}, /* DOWNWARDS HARPOON WITH BARB RIGHTWARDS */ + {"diam", 0x22C4}, /* DIAMOND OPERATOR */ + {"diams", 0x2666}, /* BLACK DIAMOND SUIT */ + {"die", 0x00A8}, /* DIAERESIS */ + {"divide", 0x00F7}, /* DIVISION SIGN */ + {"divonx", 0x22C7}, /* DIVISION TIMES */ + {"djcy", 0x0452}, /* CYRILLIC SMALL LETTER DJE */ + {"dlarr", 0x2199}, /* SOUTH WEST ARROW */ + {"dlcorn", 0x231E}, /* BOTTOM LEFT CORNER */ + {"dlcrop", 0x230D}, /* BOTTOM LEFT CROP */ + {"dollar", 0x0024}, /* DOLLAR SIGN */ + {"dot", 0x02D9}, /* DOT ABOVE */ + {"drarr", 0x2198}, /* SOUTH EAST ARROW */ + {"drcorn", 0x231F}, /* BOTTOM RIGHT CORNER */ + {"drcrop", 0x230C}, /* BOTTOM RIGHT CROP */ + {"dscy", 0x0455}, /* CYRILLIC SMALL LETTER DZE */ + {"dstrok", 0x0111}, /* LATIN SMALL LETTER D WITH STROKE */ + {"dtri", 0x25BF}, /* WHITE DOWN-POINTING SMALL TRIANGLE */ + {"dtrif", 0x25BE}, /* BLACK DOWN-POINTING SMALL TRIANGLE */ + {"dzcy", 0x045F}, /* CYRILLIC SMALL LETTER DZHE */ + {"eDot", 0x2251}, /* GEOMETRICALLY EQUAL TO */ + {"eacgr", 0x03AD}, /* GREEK SMALL LETTER EPSILON WITH TONOS */ + {"eacute", 0x00E9}, /* LATIN SMALL LETTER E WITH ACUTE */ + {"ecaron", 0x011B}, /* LATIN SMALL LETTER E WITH CARON */ + {"ecir", 0x2256}, /* RING IN EQUAL TO */ + {"ecirc", 0x00EA}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */ + {"ecolon", 0x2255}, /* EQUALS COLON */ + {"ecy", 0x044D}, /* CYRILLIC SMALL LETTER E */ + {"edot", 0x0117}, /* LATIN SMALL LETTER E WITH DOT ABOVE */ + {"eeacgr", 0x03AE}, /* GREEK SMALL LETTER ETA WITH TONOS */ + {"eegr", 0x03B7}, /* GREEK SMALL LETTER ETA */ + {"efDot", 0x2252}, /* APPROXIMATELY EQUAL TO OR THE IMAGE OF */ + {"egr", 0x03B5}, /* GREEK SMALL LETTER EPSILON */ + {"egrave", 0x00E8}, /* LATIN SMALL LETTER E WITH GRAVE */ + {"egs", 0x22DD}, /* EQUAL TO OR GREATER-THAN */ + {"ell", 0x2113}, /* SCRIPT SMALL L */ + {"els", 0x22DC}, /* EQUAL TO OR LESS-THAN */ + {"emacr", 0x0113}, /* LATIN SMALL LETTER E WITH MACRON */ + {"emdash", 0x2014}, /* obsolete synonym for "mdash" 0x2014 */ + {"empty", 0x2205}, /* EMPTY SET */ + {"emsp", 0x2003}, /* EM SPACE */ + {"emsp13", 0x2004}, /* THREE-PER-EM SPACE */ + {"emsp14", 0x2005}, /* FOUR-PER-EM SPACE */ + {"endash", 0x2013}, /* obsolete synonym for "ndash" 0x2013 */ + {"eng", 0x014B}, /* LATIN SMALL LETTER ENG */ + {"ensp", 0x2002}, /* EN SPACE */ + {"eogon", 0x0119}, /* LATIN SMALL LETTER E WITH OGONEK */ + {"epsi", 0x03B5}, /* GREEK SMALL LETTER EPSILON */ + {"epsilon", 0x03B5}, /* GREEK SMALL LETTER EPSILON */ + {"epsis", 0x220A}, /* SMALL ELEMENT OF */ + {"equals", 0x003D}, /* EQUALS SIGN */ + {"equiv", 0x2261}, /* IDENTICAL TO */ + {"erDot", 0x2253}, /* IMAGE OF OR APPROXIMATELY EQUAL TO */ + {"esdot", 0x2250}, /* APPROACHES THE LIMIT */ + {"eta", 0x03B7}, /* GREEK SMALL LETTER ETA */ + {"eth", 0x00F0}, /* LATIN SMALL LETTER ETH */ + {"euml", 0x00EB}, /* LATIN SMALL LETTER E WITH DIAERESIS */ + {"euro", 0x20AC}, /* EURO CURRENCY SYMBOL */ + {"excl", 0x0021}, /* EXCLAMATION MARK */ + {"exist", 0x2203}, /* THERE EXISTS */ + {"fcy", 0x0444}, /* CYRILLIC SMALL LETTER EF */ + {"female", 0x2640}, /* FEMALE SIGN */ + {"ffilig", 0xFB03}, /* LATIN SMALL LIGATURE FFI */ + {"fflig", 0xFB00}, /* LATIN SMALL LIGATURE FF */ + {"ffllig", 0xFB04}, /* LATIN SMALL LIGATURE FFL */ + {"filig", 0xFB01}, /* LATIN SMALL LIGATURE FI */ + {"flat", 0x266D}, /* MUSIC FLAT SIGN */ + {"fllig", 0xFB02}, /* LATIN SMALL LIGATURE FL */ + {"fnof", 0x0192}, /* LATIN SMALL LETTER F WITH HOOK */ + {"forall", 0x2200}, /* FOR ALL */ + {"fork", 0x22D4}, /* PITCHFORK */ + {"frac12", 0x00BD}, /* VULGAR FRACTION ONE HALF */ + {"frac13", 0x2153}, /* VULGAR FRACTION ONE THIRD */ + {"frac14", 0x00BC}, /* VULGAR FRACTION ONE QUARTER */ + {"frac15", 0x2155}, /* VULGAR FRACTION ONE FIFTH */ + {"frac16", 0x2159}, /* VULGAR FRACTION ONE SIXTH */ + {"frac18", 0x215B}, /* VULGAR FRACTION ONE EIGHTH */ + {"frac23", 0x2154}, /* VULGAR FRACTION TWO THIRDS */ + {"frac25", 0x2156}, /* VULGAR FRACTION TWO FIFTHS */ + {"frac34", 0x00BE}, /* VULGAR FRACTION THREE QUARTERS */ + {"frac35", 0x2157}, /* VULGAR FRACTION THREE FIFTHS */ + {"frac38", 0x215C}, /* VULGAR FRACTION THREE EIGHTHS */ + {"frac45", 0x2158}, /* VULGAR FRACTION FOUR FIFTHS */ + {"frac56", 0x215A}, /* VULGAR FRACTION FIVE SIXTHS */ + {"frac58", 0x215D}, /* VULGAR FRACTION FIVE EIGHTHS */ + {"frac78", 0x215E}, /* VULGAR FRACTION SEVEN EIGHTHS */ + {"frasl", 0x2044}, /* FRACTION SLASH */ + {"frown", 0x2322}, /* FROWN */ + {"gE", 0x2267}, /* GREATER-THAN OVER EQUAL TO */ + {"gacute", 0x01F5}, /* LATIN SMALL LETTER G WITH ACUTE */ + {"gamma", 0x03B3}, /* GREEK SMALL LETTER GAMMA */ + {"gammad", 0x03DC}, /* GREEK LETTER DIGAMMA */ + {"gbreve", 0x011F}, /* LATIN SMALL LETTER G WITH BREVE */ + {"gcedil", 0x0123}, /* LATIN SMALL LETTER G WITH CEDILLA */ + {"gcirc", 0x011D}, /* LATIN SMALL LETTER G WITH CIRCUMFLEX */ + {"gcy", 0x0433}, /* CYRILLIC SMALL LETTER GHE */ + {"gdot", 0x0121}, /* LATIN SMALL LETTER G WITH DOT ABOVE */ + {"ge", 0x2265}, /* GREATER-THAN OR EQUAL TO */ + {"gel", 0x22DB}, /* GREATER-THAN EQUAL TO OR LESS-THAN */ + {"ges", 0x2265}, /* GREATER-THAN OR EQUAL TO */ + {"ggr", 0x03B3}, /* GREEK SMALL LETTER GAMMA */ + {"gimel", 0x2137}, /* GIMEL SYMBOL */ + {"gjcy", 0x0453}, /* CYRILLIC SMALL LETTER GJE */ + {"gl", 0x2277}, /* GREATER-THAN OR LESS-THAN */ + {"gnE", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */ + {"gne", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */ + {"gnsim", 0x22E7}, /* GREATER-THAN BUT NOT EQUIVALENT TO */ + {"grave", 0x0060}, /* GRAVE ACCENT */ + {"gsdot", 0x22D7}, /* GREATER-THAN WITH DOT */ + {"gsim", 0x2273}, /* GREATER-THAN OR EQUIVALENT TO */ + {"gt", 0x003E}, /* GREATER-THAN SIGN */ + {"gvnE", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */ + {"hArr", 0x21D4}, /* LEFT RIGHT DOUBLE ARROW */ + {"hairsp", 0x200A}, /* HAIR SPACE */ + {"half", 0x00BD}, /* VULGAR FRACTION ONE HALF */ + {"hamilt", 0x210B}, /* SCRIPT CAPITAL H */ + {"hardcy", 0x044A}, /* CYRILLIC SMALL LETTER HARD SIGN */ + {"harr", 0x2194}, /* LEFT RIGHT ARROW */ + {"harrw", 0x21AD}, /* LEFT RIGHT WAVE ARROW */ + {"hcirc", 0x0125}, /* LATIN SMALL LETTER H WITH CIRCUMFLEX */ + {"hearts", 0x2665}, /* BLACK HEART SUIT */ + {"hellip", 0x2026}, /* HORIZONTAL ELLIPSIS */ + {"hibar", 0x00AF}, /* obsolete synonym for "macr" 0x00AF */ + {"horbar", 0x2015}, /* HORIZONTAL BAR */ + {"hstrok", 0x0127}, /* LATIN SMALL LETTER H WITH STROKE */ + {"hybull", 0x2043}, /* HYPHEN BULLET */ + {"hyphen", 0x002D}, /* HYPHEN-MINUS */ + {"iacgr", 0x03AF}, /* GREEK SMALL LETTER IOTA WITH TONOS */ + {"iacute", 0x00ED}, /* LATIN SMALL LETTER I WITH ACUTE */ + {"icirc", 0x00EE}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */ + {"icy", 0x0438}, /* CYRILLIC SMALL LETTER I */ + {"idiagr", 0x0390}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TON*/ + {"idigr", 0x03CA}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ + {"iecy", 0x0435}, /* CYRILLIC SMALL LETTER IE */ + {"iexcl", 0x00A1}, /* INVERTED EXCLAMATION MARK */ + {"iff", 0x21D4}, /* LEFT RIGHT DOUBLE ARROW */ + {"igr", 0x03B9}, /* GREEK SMALL LETTER IOTA */ + {"igrave", 0x00EC}, /* LATIN SMALL LETTER I WITH GRAVE */ + {"ijlig", 0x0133}, /* LATIN SMALL LIGATURE IJ */ + {"imacr", 0x012B}, /* LATIN SMALL LETTER I WITH MACRON */ + {"image", 0x2111}, /* BLACK-LETTER CAPITAL I */ + {"incare", 0x2105}, /* CARE OF */ + {"infin", 0x221E}, /* INFINITY */ + {"inodot", 0x0131}, /* LATIN SMALL LETTER DOTLESS I */ + {"int", 0x222B}, /* INTEGRAL */ + {"intcal", 0x22BA}, /* INTERCALATE */ + {"iocy", 0x0451}, /* CYRILLIC SMALL LETTER IO */ + {"iogon", 0x012F}, /* LATIN SMALL LETTER I WITH OGONEK */ + {"iota", 0x03B9}, /* GREEK SMALL LETTER IOTA */ + {"iquest", 0x00BF}, /* INVERTED QUESTION MARK */ + {"isin", 0x2208}, /* ELEMENT OF */ + {"itilde", 0x0129}, /* LATIN SMALL LETTER I WITH TILDE */ + {"iukcy", 0x0456}, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I*/ + {"iuml", 0x00EF}, /* LATIN SMALL LETTER I WITH DIAERESIS */ + {"jcirc", 0x0135}, /* LATIN SMALL LETTER J WITH CIRCUMFLEX */ + {"jcy", 0x0439}, /* CYRILLIC SMALL LETTER SHORT I */ + {"jsercy", 0x0458}, /* CYRILLIC SMALL LETTER JE */ + {"jukcy", 0x0454}, /* CYRILLIC SMALL LETTER UKRAINIAN IE */ + {"kappa", 0x03BA}, /* GREEK SMALL LETTER KAPPA */ + {"kappav", 0x03F0}, /* GREEK KAPPA SYMBOL */ + {"kcedil", 0x0137}, /* LATIN SMALL LETTER K WITH CEDILLA */ + {"kcy", 0x043A}, /* CYRILLIC SMALL LETTER KA */ + {"kgr", 0x03BA}, /* GREEK SMALL LETTER KAPPA */ + {"kgreen", 0x0138}, /* LATIN SMALL LETTER KRA */ + {"khcy", 0x0445}, /* CYRILLIC SMALL LETTER HA */ + {"khgr", 0x03C7}, /* GREEK SMALL LETTER CHI */ + {"kjcy", 0x045C}, /* CYRILLIC SMALL LETTER KJE */ + {"lAarr", 0x21DA}, /* LEFTWARDS TRIPLE ARROW */ + {"lArr", 0x21D0}, /* LEFTWARDS DOUBLE ARROW */ + {"lE", 0x2266}, /* LESS-THAN OVER EQUAL TO */ + {"lacute", 0x013A}, /* LATIN SMALL LETTER L WITH ACUTE */ + {"lagran", 0x2112}, /* SCRIPT CAPITAL L */ + {"lambda", 0x03BB}, /* GREEK SMALL LETTER LAMDA */ + {"lang", 0x2329}, /* LEFT-POINTING ANGLE BRACKET */ + {"laquo", 0x00AB}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ + {"larr", 0x2190}, /* LEFTWARDS ARROW */ + {"larr2", 0x21C7}, /* LEFTWARDS PAIRED ARROWS */ + {"larrhk", 0x21A9}, /* LEFTWARDS ARROW WITH HOOK */ + {"larrlp", 0x21AB}, /* LEFTWARDS ARROW WITH LOOP */ + {"larrtl", 0x21A2}, /* LEFTWARDS ARROW WITH TAIL */ + {"lcaron", 0x013E}, /* LATIN SMALL LETTER L WITH CARON */ + {"lcedil", 0x013C}, /* LATIN SMALL LETTER L WITH CEDILLA */ + {"lceil", 0x2308}, /* LEFT CEILING */ + {"lcub", 0x007B}, /* LEFT CURLY BRACKET */ + {"lcy", 0x043B}, /* CYRILLIC SMALL LETTER EL */ + {"ldot", 0x22D6}, /* LESS-THAN WITH DOT */ + {"ldquo", 0x201C}, /* LEFT DOUBLE QUOTATION MARK */ + {"ldquor", 0x201E}, /* DOUBLE LOW-9 QUOTATION MARK */ + {"le", 0x2264}, /* LESS-THAN OR EQUAL TO */ + {"leg", 0x22DA}, /* LESS-THAN EQUAL TO OR GREATER-THAN */ + {"les", 0x2264}, /* LESS-THAN OR EQUAL TO */ + {"lfloor", 0x230A}, /* LEFT FLOOR */ + {"lg", 0x2276}, /* LESS-THAN OR GREATER-THAN */ + {"lgr", 0x03BB}, /* GREEK SMALL LETTER LAMDA */ + {"lhard", 0x21BD}, /* LEFTWARDS HARPOON WITH BARB DOWNWARDS */ + {"lharu", 0x21BC}, /* LEFTWARDS HARPOON WITH BARB UPWARDS */ + {"lhblk", 0x2584}, /* LOWER HALF BLOCK */ + {"ljcy", 0x0459}, /* CYRILLIC SMALL LETTER LJE */ + {"lmidot", 0x0140}, /* LATIN SMALL LETTER L WITH MIDDLE DOT */ + {"lnE", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */ + {"lne", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */ + {"lnsim", 0x22E6}, /* LESS-THAN BUT NOT EQUIVALENT TO */ + {"lowast", 0x2217}, /* ASTERISK OPERATOR */ + {"lowbar", 0x005F}, /* LOW LINE */ + {"loz", 0x25CA}, /* LOZENGE */ + {"loz", 0x2727}, /* WHITE FOUR POINTED STAR */ + {"lozf", 0x2726}, /* BLACK FOUR POINTED STAR */ + {"lpar", 0x0028}, /* LEFT PARENTHESIS */ + {"lrarr2", 0x21C6}, /* LEFTWARDS ARROW OVER RIGHTWARDS ARROW */ + {"lrhar2", 0x21CB}, /* LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON */ + {"lrm", 0x200E}, /* LEFT-TO-RIGHT MARK */ + {"lsaquo", 0x2039}, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */ + {"lsh", 0x21B0}, /* UPWARDS ARROW WITH TIP LEFTWARDS */ + {"lsim", 0x2272}, /* LESS-THAN OR EQUIVALENT TO */ + {"lsqb", 0x005B}, /* LEFT SQUARE BRACKET */ + {"lsquo", 0x2018}, /* LEFT SINGLE QUOTATION MARK */ + {"lsquor", 0x201A}, /* SINGLE LOW-9 QUOTATION MARK */ + {"lstrok", 0x0142}, /* LATIN SMALL LETTER L WITH STROKE */ + {"lt", 0x003C}, /* LESS-THAN SIGN */ + {"lthree", 0x22CB}, /* LEFT SEMIDIRECT PRODUCT */ + {"ltimes", 0x22C9}, /* LEFT NORMAL FACTOR SEMIDIRECT PRODUCT */ + {"ltri", 0x25C3}, /* WHITE LEFT-POINTING SMALL TRIANGLE */ + {"ltrie", 0x22B4}, /* NORMAL SUBGROUP OF OR EQUAL TO */ + {"ltrif", 0x25C2}, /* BLACK LEFT-POINTING SMALL TRIANGLE */ + {"lvnE", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */ + {"macr", 0x00AF}, /* MACRON */ + {"male", 0x2642}, /* MALE SIGN */ + {"malt", 0x2720}, /* MALTESE CROSS */ + {"map", 0x21A6}, /* RIGHTWARDS ARROW FROM BAR */ + {"marker", 0x25AE}, /* BLACK VERTICAL RECTANGLE */ + {"mcy", 0x043C}, /* CYRILLIC SMALL LETTER EM */ + {"mdash", 0x2014}, /* EM DASH */ + {"mgr", 0x03BC}, /* GREEK SMALL LETTER MU */ + {"micro", 0x00B5}, /* MICRO SIGN */ + {"mid", 0x2223}, /* DIVIDES */ + {"middot", 0x00B7}, /* MIDDLE DOT */ + {"minus", 0x2212}, /* MINUS SIGN */ + {"minusb", 0x229F}, /* SQUARED MINUS */ + {"mldr", 0x2026}, /* HORIZONTAL ELLIPSIS */ + {"mnplus", 0x2213}, /* MINUS-OR-PLUS SIGN */ + {"models", 0x22A7}, /* MODELS */ + {"mu", 0x03BC}, /* GREEK SMALL LETTER MU */ + {"mumap", 0x22B8}, /* MULTIMAP */ + {"nVDash", 0x22AF}, /* NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNS*/ + {"nVdash", 0x22AE}, /* DOES NOT FORCE */ + {"nabla", 0x2207}, /* NABLA */ + {"nacute", 0x0144}, /* LATIN SMALL LETTER N WITH ACUTE */ + {"nap", 0x2249}, /* NOT ALMOST EQUAL TO */ + {"napos", 0x0149}, /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + {"natur", 0x266E}, /* MUSIC NATURAL SIGN */ + {"nbsp", 0x00A0}, /* NO-BREAK SPACE */ + {"ncaron", 0x0148}, /* LATIN SMALL LETTER N WITH CARON */ + {"ncedil", 0x0146}, /* LATIN SMALL LETTER N WITH CEDILLA */ + {"ncong", 0x2247}, /* NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO */ + {"ncy", 0x043D}, /* CYRILLIC SMALL LETTER EN */ + {"ndash", 0x2013}, /* EN DASH */ + {"ne", 0x2260}, /* NOT EQUAL TO */ + {"nearr", 0x2197}, /* NORTH EAST ARROW */ + {"nequiv", 0x2262}, /* NOT IDENTICAL TO */ + {"nexist", 0x2204}, /* THERE DOES NOT EXIST */ + {"nge", 0x2271}, /* NEITHER GREATER-THAN NOR EQUAL TO */ + {"nges", 0x2271}, /* NEITHER GREATER-THAN NOR EQUAL TO */ + {"ngr", 0x03BD}, /* GREEK SMALL LETTER NU */ + {"ngt", 0x226F}, /* NOT GREATER-THAN */ + {"nhArr", 0x21CE}, /* LEFT RIGHT DOUBLE ARROW WITH STROKE */ + {"nharr", 0x21AE}, /* LEFT RIGHT ARROW WITH STROKE */ + {"ni", 0x220B}, /* CONTAINS AS MEMBER */ + {"njcy", 0x045A}, /* CYRILLIC SMALL LETTER NJE */ + {"nlArr", 0x21CD}, /* LEFTWARDS DOUBLE ARROW WITH STROKE */ + {"nlarr", 0x219A}, /* LEFTWARDS ARROW WITH STROKE */ + {"nldr", 0x2025}, /* TWO DOT LEADER */ + {"nle", 0x2270}, /* NEITHER LESS-THAN NOR EQUAL TO */ + {"nles", 0x2270}, /* NEITHER LESS-THAN NOR EQUAL TO */ + {"nlt", 0x226E}, /* NOT LESS-THAN */ + {"nltri", 0x22EA}, /* NOT NORMAL SUBGROUP OF */ + {"nltrie", 0x22EC}, /* NOT NORMAL SUBGROUP OF OR EQUAL TO */ + {"nmid", 0x2224}, /* DOES NOT DIVIDE */ + {"not", 0x00AC}, /* NOT SIGN */ + {"notin", 0x2209}, /* NOT AN ELEMENT OF */ + {"npar", 0x2226}, /* NOT PARALLEL TO */ + {"npr", 0x2280}, /* DOES NOT PRECEDE */ + {"npre", 0x22E0}, /* DOES NOT PRECEDE OR EQUAL */ + {"nrArr", 0x21CF}, /* RIGHTWARDS DOUBLE ARROW WITH STROKE */ + {"nrarr", 0x219B}, /* RIGHTWARDS ARROW WITH STROKE */ + {"nrtri", 0x22EB}, /* DOES NOT CONTAIN AS NORMAL SUBGROUP */ + {"nrtrie", 0x22ED}, /* DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL */ + {"nsc", 0x2281}, /* DOES NOT SUCCEED */ + {"nsce", 0x22E1}, /* DOES NOT SUCCEED OR EQUAL */ + {"nsim", 0x2241}, /* NOT TILDE */ + {"nsime", 0x2244}, /* NOT ASYMPTOTICALLY EQUAL TO */ + {"nspar", 0x2226}, /* NOT PARALLEL TO */ + {"nsub", 0x2284}, /* NOT A SUBSET OF */ + {"nsubE", 0x2288}, /* NEITHER A SUBSET OF NOR EQUAL TO */ + {"nsube", 0x2288}, /* NEITHER A SUBSET OF NOR EQUAL TO */ + {"nsup", 0x2285}, /* NOT A SUPERSET OF */ + {"nsupE", 0x2289}, /* NEITHER A SUPERSET OF NOR EQUAL TO */ + {"nsupe", 0x2289}, /* NEITHER A SUPERSET OF NOR EQUAL TO */ + {"ntilde", 0x00F1}, /* LATIN SMALL LETTER N WITH TILDE */ + {"nu", 0x03BD}, /* GREEK SMALL LETTER NU */ + {"num", 0x0023}, /* NUMBER SIGN */ + {"numero", 0x2116}, /* NUMERO SIGN */ + {"numsp", 0x2007}, /* FIGURE SPACE */ + {"nvDash", 0x22AD}, /* NOT TRUE */ + {"nvdash", 0x22AC}, /* DOES NOT PROVE */ + {"nwarr", 0x2196}, /* NORTH WEST ARROW */ + {"oS", 0x24C8}, /* CIRCLED LATIN CAPITAL LETTER S */ + {"oacgr", 0x03CC}, /* GREEK SMALL LETTER OMICRON WITH TONOS */ + {"oacute", 0x00F3}, /* LATIN SMALL LETTER O WITH ACUTE */ + {"oast", 0x229B}, /* CIRCLED ASTERISK OPERATOR */ + {"ocir", 0x229A}, /* CIRCLED RING OPERATOR */ + {"ocirc", 0x00F4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */ + {"ocy", 0x043E}, /* CYRILLIC SMALL LETTER O */ + {"odash", 0x229D}, /* CIRCLED DASH */ + {"odblac", 0x0151}, /* LATIN SMALL LETTER O WITH DOUBLE ACUTE */ + {"odot", 0x2299}, /* CIRCLED DOT OPERATOR */ + {"oelig", 0x0153}, /* LATIN SMALL LIGATURE OE */ + {"ogon", 0x02DB}, /* OGONEK */ + {"ogr", 0x03BF}, /* GREEK SMALL LETTER OMICRON */ + {"ograve", 0x00F2}, /* LATIN SMALL LETTER O WITH GRAVE */ + {"ohacgr", 0x03CE}, /* GREEK SMALL LETTER OMEGA WITH TONOS */ + {"ohgr", 0x03C9}, /* GREEK SMALL LETTER OMEGA */ + {"ohm", 0x2126}, /* OHM SIGN */ + {"olarr", 0x21BA}, /* ANTICLOCKWISE OPEN CIRCLE ARROW */ + {"oline", 0x203E}, /* OVERLINE */ + {"omacr", 0x014D}, /* LATIN SMALL LETTER O WITH MACRON */ + {"omega", 0x03C9}, /* GREEK SMALL LETTER OMEGA */ + {"omicron", 0x03BF}, /* GREEK SMALL LETTER OMICRON */ + {"ominus", 0x2296}, /* CIRCLED MINUS */ + {"oplus", 0x2295}, /* CIRCLED PLUS */ + {"or", 0x2228}, /* LOGICAL OR */ + {"orarr", 0x21BB}, /* CLOCKWISE OPEN CIRCLE ARROW */ + {"order", 0x2134}, /* SCRIPT SMALL O */ + {"ordf", 0x00AA}, /* FEMININE ORDINAL INDICATOR */ + {"ordm", 0x00BA}, /* MASCULINE ORDINAL INDICATOR */ + {"oslash", 0x00F8}, /* LATIN SMALL LETTER O WITH STROKE */ + {"osol", 0x2298}, /* CIRCLED DIVISION SLASH */ + {"otilde", 0x00F5}, /* LATIN SMALL LETTER O WITH TILDE */ + {"otimes", 0x2297}, /* CIRCLED TIMES */ + {"ouml", 0x00F6}, /* LATIN SMALL LETTER O WITH DIAERESIS */ + {"par", 0x2225}, /* PARALLEL TO */ + {"para", 0x00B6}, /* PILCROW SIGN */ + {"part", 0x2202}, /* PARTIAL DIFFERENTIAL */ + {"pcy", 0x043F}, /* CYRILLIC SMALL LETTER PE */ + {"percnt", 0x0025}, /* PERCENT SIGN */ + {"period", 0x002E}, /* FULL STOP */ + {"permil", 0x2030}, /* PER MILLE SIGN */ + {"perp", 0x22A5}, /* UP TACK */ + {"pgr", 0x03C0}, /* GREEK SMALL LETTER PI */ + {"phgr", 0x03C6}, /* GREEK SMALL LETTER PHI */ + {"phi", 0x03C6}, /* GREEK SMALL LETTER PHI */ + {"phis", 0x03C6}, /* GREEK SMALL LETTER PHI */ + {"phiv", 0x03D5}, /* GREEK PHI SYMBOL */ + {"phmmat", 0x2133}, /* SCRIPT CAPITAL M */ + {"phone", 0x260E}, /* BLACK TELEPHONE */ + {"pi", 0x03C0}, /* GREEK SMALL LETTER PI */ + {"piv", 0x03D6}, /* GREEK PI SYMBOL */ + {"planck", 0x210F}, /* PLANCK CONSTANT OVER TWO PI */ + {"plus", 0x002B}, /* PLUS SIGN */ + {"plusb", 0x229E}, /* SQUARED PLUS */ + {"plusdo", 0x2214}, /* DOT PLUS */ + {"plusmn", 0x00B1}, /* PLUS-MINUS SIGN */ + {"pound", 0x00A3}, /* POUND SIGN */ + {"pr", 0x227A}, /* PRECEDES */ + {"pre", 0x227C}, /* PRECEDES OR EQUAL TO */ + {"prime", 0x2032}, /* PRIME */ + {"prnsim", 0x22E8}, /* PRECEDES BUT NOT EQUIVALENT TO */ + {"prod", 0x220F}, /* N-ARY PRODUCT */ + {"prop", 0x221D}, /* PROPORTIONAL TO */ + {"prsim", 0x227E}, /* PRECEDES OR EQUIVALENT TO */ + {"psgr", 0x03C8}, /* GREEK SMALL LETTER PSI */ + {"psi", 0x03C8}, /* GREEK SMALL LETTER PSI */ + {"puncsp", 0x2008}, /* PUNCTUATION SPACE */ + {"quest", 0x003F}, /* QUESTION MARK */ + {"quot", 0x0022}, /* QUOTATION MARK */ + {"rAarr", 0x21DB}, /* RIGHTWARDS TRIPLE ARROW */ + {"rArr", 0x21D2}, /* RIGHTWARDS DOUBLE ARROW */ + {"racute", 0x0155}, /* LATIN SMALL LETTER R WITH ACUTE */ + {"radic", 0x221A}, /* SQUARE ROOT */ + {"rang", 0x232A}, /* RIGHT-POINTING ANGLE BRACKET */ + {"raquo", 0x00BB}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ + {"rarr", 0x2192}, /* RIGHTWARDS ARROW */ + {"rarr2", 0x21C9}, /* RIGHTWARDS PAIRED ARROWS */ + {"rarrhk", 0x21AA}, /* RIGHTWARDS ARROW WITH HOOK */ + {"rarrlp", 0x21AC}, /* RIGHTWARDS ARROW WITH LOOP */ + {"rarrtl", 0x21A3}, /* RIGHTWARDS ARROW WITH TAIL */ + {"rarrw", 0x219D}, /* RIGHTWARDS WAVE ARROW */ + {"rcaron", 0x0159}, /* LATIN SMALL LETTER R WITH CARON */ + {"rcedil", 0x0157}, /* LATIN SMALL LETTER R WITH CEDILLA */ + {"rceil", 0x2309}, /* RIGHT CEILING */ + {"rcub", 0x007D}, /* RIGHT CURLY BRACKET */ + {"rcy", 0x0440}, /* CYRILLIC SMALL LETTER ER */ + {"rdquo", 0x201D}, /* RIGHT DOUBLE QUOTATION MARK */ + {"rdquor", 0x201C}, /* LEFT DOUBLE QUOTATION MARK */ + {"real", 0x211C}, /* BLACK-LETTER CAPITAL R */ + {"rect", 0x25AD}, /* WHITE RECTANGLE */ + {"reg", 0x00AE}, /* REGISTERED SIGN */ + {"rfloor", 0x230B}, /* RIGHT FLOOR */ + {"rgr", 0x03C1}, /* GREEK SMALL LETTER RHO */ + {"rhard", 0x21C1}, /* RIGHTWARDS HARPOON WITH BARB DOWNWARDS */ + {"rharu", 0x21C0}, /* RIGHTWARDS HARPOON WITH BARB UPWARDS */ + {"rho", 0x03C1}, /* GREEK SMALL LETTER RHO */ + {"rhov", 0x03F1}, /* GREEK RHO SYMBOL */ + {"ring", 0x02DA}, /* RING ABOVE */ + {"rlarr2", 0x21C4}, /* RIGHTWARDS ARROW OVER LEFTWARDS ARROW */ + {"rlhar2", 0x21CC}, /* RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON */ + {"rlm", 0x200F}, /* RIGHT-TO-LEFT MARK */ + {"rpar", 0x0029}, /* RIGHT PARENTHESIS */ + {"rsaquo", 0x203A}, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */ + {"rsh", 0x21B1}, /* UPWARDS ARROW WITH TIP RIGHTWARDS */ + {"rsqb", 0x005D}, /* RIGHT SQUARE BRACKET */ + {"rsquo", 0x2019}, /* RIGHT SINGLE QUOTATION MARK */ + {"rsquor", 0x2018}, /* LEFT SINGLE QUOTATION MARK */ + {"rthree", 0x22CC}, /* RIGHT SEMIDIRECT PRODUCT */ + {"rtimes", 0x22CA}, /* RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT */ + {"rtri", 0x25B9}, /* WHITE RIGHT-POINTING SMALL TRIANGLE */ + {"rtrie", 0x22B5}, /* CONTAINS AS NORMAL SUBGROUP OR EQUAL TO */ + {"rtrif", 0x25B8}, /* BLACK RIGHT-POINTING SMALL TRIANGLE */ + {"rx", 0x211E}, /* PRESCRIPTION TAKE */ + {"sacute", 0x015B}, /* LATIN SMALL LETTER S WITH ACUTE */ + {"samalg", 0x2210}, /* N-ARY COPRODUCT */ + {"sbquo", 0x201A}, /* SINGLE LOW-9 QUOTATION MARK */ + {"sbsol", 0x005C}, /* REVERSE SOLIDUS */ + {"sc", 0x227B}, /* SUCCEEDS */ + {"scaron", 0x0161}, /* LATIN SMALL LETTER S WITH CARON */ + {"sccue", 0x227D}, /* SUCCEEDS OR EQUAL TO */ + {"sce", 0x227D}, /* SUCCEEDS OR EQUAL TO */ + {"scedil", 0x015F}, /* LATIN SMALL LETTER S WITH CEDILLA */ + {"scirc", 0x015D}, /* LATIN SMALL LETTER S WITH CIRCUMFLEX */ + {"scnsim", 0x22E9}, /* SUCCEEDS BUT NOT EQUIVALENT TO */ + {"scomma", 0x0219}, /* LATIN SMALL LETTER S WITH COMMA BELOW */ + {"scsim", 0x227F}, /* SUCCEEDS OR EQUIVALENT TO */ + {"scy", 0x0441}, /* CYRILLIC SMALL LETTER ES */ + {"sdot", 0x22C5}, /* DOT OPERATOR */ + {"sdotb", 0x22A1}, /* SQUARED DOT OPERATOR */ + {"sect", 0x00A7}, /* SECTION SIGN */ + {"semi", 0x003B}, /* SEMICOLON */ + {"setmn", 0x2216}, /* SET MINUS */ + {"sext", 0x2736}, /* SIX POINTED BLACK STAR */ + {"sfgr", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */ + {"sfrown", 0x2322}, /* FROWN */ + {"sgr", 0x03C3}, /* GREEK SMALL LETTER SIGMA */ + {"sharp", 0x266F}, /* MUSIC SHARP SIGN */ + {"shchcy", 0x0449}, /* CYRILLIC SMALL LETTER SHCHA */ + {"shcy", 0x0448}, /* CYRILLIC SMALL LETTER SHA */ + {"shy", 0x00AD}, /* SOFT HYPHEN */ + {"sigma", 0x03C3}, /* GREEK SMALL LETTER SIGMA */ + {"sigmaf", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */ + {"sigmav", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */ + {"sim", 0x223C}, /* TILDE OPERATOR */ + {"sime", 0x2243}, /* ASYMPTOTICALLY EQUAL TO */ + {"smile", 0x2323}, /* SMILE */ + {"softcy", 0x044C}, /* CYRILLIC SMALL LETTER SOFT SIGN */ + {"sol", 0x002F}, /* SOLIDUS */ + {"spades", 0x2660}, /* BLACK SPADE SUIT */ + {"spar", 0x2225}, /* PARALLEL TO */ + {"sqcap", 0x2293}, /* SQUARE CAP */ + {"sqcup", 0x2294}, /* SQUARE CUP */ + {"sqsub", 0x228F}, /* SQUARE IMAGE OF */ + {"sqsube", 0x2291}, /* SQUARE IMAGE OF OR EQUAL TO */ + {"sqsup", 0x2290}, /* SQUARE ORIGINAL OF */ + {"sqsupe", 0x2292}, /* SQUARE ORIGINAL OF OR EQUAL TO */ + {"squ", 0x25A1}, /* WHITE SQUARE */ + {"square", 0x25A1}, /* WHITE SQUARE */ + {"squf", 0x25AA}, /* BLACK SMALL SQUARE */ + {"ssetmn", 0x2216}, /* SET MINUS */ + {"ssmile", 0x2323}, /* SMILE */ + {"sstarf", 0x22C6}, /* STAR OPERATOR */ + {"star", 0x2606}, /* WHITE STAR */ + {"starf", 0x2605}, /* BLACK STAR */ + {"sub", 0x2282}, /* SUBSET OF */ + {"subE", 0x2286}, /* SUBSET OF OR EQUAL TO */ + {"sube", 0x2286}, /* SUBSET OF OR EQUAL TO */ + {"subnE", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */ + {"subne", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */ + {"sum", 0x2211}, /* N-ARY SUMMATION */ + {"sung", 0x266A}, /* EIGHTH NOTE */ + {"sup", 0x2283}, /* SUPERSET OF */ + {"sup1", 0x00B9}, /* SUPERSCRIPT ONE */ + {"sup2", 0x00B2}, /* SUPERSCRIPT TWO */ + {"sup3", 0x00B3}, /* SUPERSCRIPT THREE */ + {"supE", 0x2287}, /* SUPERSET OF OR EQUAL TO */ + {"supe", 0x2287}, /* SUPERSET OF OR EQUAL TO */ + {"supnE", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */ + {"supne", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */ + {"szlig", 0x00DF}, /* LATIN SMALL LETTER SHARP S */ + {"target", 0x2316}, /* POSITION INDICATOR */ + {"tau", 0x03C4}, /* GREEK SMALL LETTER TAU */ + {"tcaron", 0x0165}, /* LATIN SMALL LETTER T WITH CARON */ + {"tcedil", 0x0163}, /* LATIN SMALL LETTER T WITH CEDILLA */ + {"tcomma", 0x021B}, /* LATIN SMALL LETTER T WITH COMMA BELOW */ + {"tcy", 0x0442}, /* CYRILLIC SMALL LETTER TE */ + {"tdot", 0x20DB}, /* COMBINING THREE DOTS ABOVE */ + {"telrec", 0x2315}, /* TELEPHONE RECORDER */ + {"tgr", 0x03C4}, /* GREEK SMALL LETTER TAU */ + {"there4", 0x2234}, /* THEREFORE */ + {"theta", 0x03B8}, /* GREEK SMALL LETTER THETA */ + {"thetas", 0x03B8}, /* GREEK SMALL LETTER THETA */ + {"thetasym", 0x03D1}, /* GREEK THETA SYMBOL */ + {"thetav", 0x03D1}, /* GREEK THETA SYMBOL */ + {"thgr", 0x03B8}, /* GREEK SMALL LETTER THETA */ + {"thinsp", 0x2009}, /* THIN SPACE */ + {"thkap", 0x2248}, /* ALMOST EQUAL TO */ + {"thksim", 0x223C}, /* TILDE OPERATOR */ + {"thorn", 0x00FE}, /* LATIN SMALL LETTER THORN */ + {"tilde", 0x02DC}, /* SMALL TILDE */ + {"times", 0x00D7}, /* MULTIPLICATION SIGN */ + {"timesb", 0x22A0}, /* SQUARED TIMES */ + {"top", 0x22A4}, /* DOWN TACK */ + {"tprime", 0x2034}, /* TRIPLE PRIME */ + {"trade", 0x2122}, /* TRADE MARK SIGN */ + {"trie", 0x225C}, /* DELTA EQUAL TO */ + {"tscy", 0x0446}, /* CYRILLIC SMALL LETTER TSE */ + {"tshcy", 0x045B}, /* CYRILLIC SMALL LETTER TSHE */ + {"tstrok", 0x0167}, /* LATIN SMALL LETTER T WITH STROKE */ + {"twixt", 0x226C}, /* BETWEEN */ + {"uArr", 0x21D1}, /* UPWARDS DOUBLE ARROW */ + {"uacgr", 0x03CD}, /* GREEK SMALL LETTER UPSILON WITH TONOS */ + {"uacute", 0x00FA}, /* LATIN SMALL LETTER U WITH ACUTE */ + {"uarr", 0x2191}, /* UPWARDS ARROW */ + {"uarr2", 0x21C8}, /* UPWARDS PAIRED ARROWS */ + {"ubrcy", 0x045E}, /* CYRILLIC SMALL LETTER SHORT U */ + {"ubreve", 0x016D}, /* LATIN SMALL LETTER U WITH BREVE */ + {"ucirc", 0x00FB}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */ + {"ucy", 0x0443}, /* CYRILLIC SMALL LETTER U */ + {"udblac", 0x0171}, /* LATIN SMALL LETTER U WITH DOUBLE ACUTE */ + {"udiagr", 0x03B0}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND */ + {"udigr", 0x03CB}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ + {"ugr", 0x03C5}, /* GREEK SMALL LETTER UPSILON */ + {"ugrave", 0x00F9}, /* LATIN SMALL LETTER U WITH GRAVE */ + {"uharl", 0x21BF}, /* UPWARDS HARPOON WITH BARB LEFTWARDS */ + {"uharr", 0x21BE}, /* UPWARDS HARPOON WITH BARB RIGHTWARDS */ + {"uhblk", 0x2580}, /* UPPER HALF BLOCK */ + {"ulcorn", 0x231C}, /* TOP LEFT CORNER */ + {"ulcrop", 0x230F}, /* TOP LEFT CROP */ + {"umacr", 0x016B}, /* LATIN SMALL LETTER U WITH MACRON */ + {"uml", 0x00A8}, /* DIAERESIS */ + {"uogon", 0x0173}, /* LATIN SMALL LETTER U WITH OGONEK */ + {"uplus", 0x228E}, /* MULTISET UNION */ + {"upsi", 0x03C5}, /* GREEK SMALL LETTER UPSILON */ + {"upsih", 0x03D2}, /* GREEK UPSILON WITH HOOK SYMBOL */ + {"upsilon", 0x03C5}, /* GREEK SMALL LETTER UPSILON */ + {"urcorn", 0x231D}, /* TOP RIGHT CORNER */ + {"urcrop", 0x230E}, /* TOP RIGHT CROP */ + {"uring", 0x016F}, /* LATIN SMALL LETTER U WITH RING ABOVE */ + {"utilde", 0x0169}, /* LATIN SMALL LETTER U WITH TILDE */ + {"utri", 0x25B5}, /* WHITE UP-POINTING SMALL TRIANGLE */ + {"utrif", 0x25B4}, /* BLACK UP-POINTING SMALL TRIANGLE */ + {"uuml", 0x00FC}, /* LATIN SMALL LETTER U WITH DIAERESIS */ + {"vArr", 0x21D5}, /* UP DOWN DOUBLE ARROW */ + {"vDash", 0x22A8}, /* TRUE */ + {"varr", 0x2195}, /* UP DOWN ARROW */ + {"vcy", 0x0432}, /* CYRILLIC SMALL LETTER VE */ + {"vdash", 0x22A2}, /* RIGHT TACK */ + {"veebar", 0x22BB}, /* XOR */ + {"vellip", 0x22EE}, /* VERTICAL ELLIPSIS */ + {"verbar", 0x007C}, /* VERTICAL LINE */ + {"vltri", 0x22B2}, /* NORMAL SUBGROUP OF */ + {"vprime", 0x2032}, /* PRIME */ + {"vprop", 0x221D}, /* PROPORTIONAL TO */ + {"vrtri", 0x22B3}, /* CONTAINS AS NORMAL SUBGROUP */ + {"vsubnE", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */ + {"vsubne", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */ + {"vsupnE", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */ + {"vsupne", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */ + {"wcirc", 0x0175}, /* LATIN SMALL LETTER W WITH CIRCUMFLEX */ + {"wedgeq", 0x2259}, /* ESTIMATES */ + {"weierp", 0x2118}, /* SCRIPT CAPITAL P */ + {"wreath", 0x2240}, /* WREATH PRODUCT */ + {"xcirc", 0x25CB}, /* WHITE CIRCLE */ + {"xdtri", 0x25BD}, /* WHITE DOWN-POINTING TRIANGLE */ + {"xgr", 0x03BE}, /* GREEK SMALL LETTER XI */ + {"xhArr", 0x2194}, /* LEFT RIGHT ARROW */ + {"xharr", 0x2194}, /* LEFT RIGHT ARROW */ + {"xi", 0x03BE}, /* GREEK SMALL LETTER XI */ + {"xlArr", 0x21D0}, /* LEFTWARDS DOUBLE ARROW */ + {"xrArr", 0x21D2}, /* RIGHTWARDS DOUBLE ARROW */ + {"xutri", 0x25B3}, /* WHITE UP-POINTING TRIANGLE */ + {"yacute", 0x00FD}, /* LATIN SMALL LETTER Y WITH ACUTE */ + {"yacy", 0x044F}, /* CYRILLIC SMALL LETTER YA */ + {"ycirc", 0x0177}, /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */ + {"ycy", 0x044B}, /* CYRILLIC SMALL LETTER YERU */ + {"yen", 0x00A5}, /* YEN SIGN */ + {"yicy", 0x0457}, /* CYRILLIC SMALL LETTER YI */ + {"yucy", 0x044E}, /* CYRILLIC SMALL LETTER YU */ + {"yuml", 0x00FF}, /* LATIN SMALL LETTER Y WITH DIAERESIS */ + {"zacute", 0x017A}, /* LATIN SMALL LETTER Z WITH ACUTE */ + {"zcaron", 0x017E}, /* LATIN SMALL LETTER Z WITH CARON */ + {"zcy", 0x0437}, /* CYRILLIC SMALL LETTER ZE */ + {"zdot", 0x017C}, /* LATIN SMALL LETTER Z WITH DOT ABOVE */ + {"zeta", 0x03B6}, /* GREEK SMALL LETTER ZETA */ + {"zgr", 0x03B6}, /* GREEK SMALL LETTER ZETA */ + {"zhcy", 0x0436}, /* CYRILLIC SMALL LETTER ZHE */ + {"zwj", 0x200D}, /* ZERO WIDTH JOINER */ + {"zwnj", 0x200C}, /* ZERO WIDTH NON-JOINER */ +/* {"epsiv", 0x????}, variant epsilon # ISOgrk3 */ +/* {"fjlig", 0x????}, fj ligature # ISOpub */ +/* {"gEl", 0x????}, greater-than, double equals, less-than # ISOamsr */ +/* {"gap", 0x????}, greater-than, approximately equal to # ISOamsr */ +/* {"gnap", 0x????}, greater-than, not approximately equal t# ISOamsn */ +/* {"jnodot", 0x????}, latin small letter dotless j # ISOamso */ +/* {"lEg", 0x????}, less-than, double equals, greater-than # ISOamsr */ +/* {"lap", 0x????}, less-than, approximately equal to # ISOamsr */ +/* {"lnap", 0x????}, less-than, not approximately equal to # ISOamsn */ +/* {"lpargt", 0x????}, left parenthesis, greater-than # ISOamsc */ +/* {"ngE", 0x????}, not greater-than, double equals # ISOamsn */ +/* {"nlE", 0x????}, not less-than, double equals # ISOamsn */ +/* {"nsmid", 0x????}, nshortmid # ISOamsn */ +/* {"prap", 0x????}, precedes, approximately equal to # ISOamsr */ +/* {"prnE", 0x????}, precedes, not double equal # ISOamsn */ +/* {"prnap", 0x????}, precedes, not approximately equal to # ISOamsn */ +/* {"rpargt", 0x????}, right parenthesis, greater-than # ISOamsc */ +/* {"scap", 0x????}, succeeds, approximately equal to # ISOamsr */ +/* {"scnE", 0x????}, succeeds, not double equals # ISOamsn */ +/* {"scnap", 0x????}, succeeds, not approximately equal to # ISOamsn */ +/* {"smid", 0x????}, shortmid # ISOamsr */ +}; + +#endif /* ENTITIES_H */ diff --git a/Unicode/gen b/Unicode/gen new file mode 100755 index 00000000..fcc6cf4d --- /dev/null +++ b/Unicode/gen @@ -0,0 +1,7 @@ +#!/bin/sh +# $Id: gen,v 1.3 2005/03/05 21:49:29 zas Exp $ + +export LC_ALL=C +./gen-cp +./gen-7b +./gen-ent diff --git a/Unicode/gen-7b b/Unicode/gen-7b new file mode 100755 index 00000000..14d1cdab --- /dev/null +++ b/Unicode/gen-7b @@ -0,0 +1,21 @@ +#!/bin/sh +# $Id: gen-7b,v 1.8 2005/03/05 21:49:29 zas Exp $ + +echo +echo Generating Unicode2ascii translation table. +( +cat 7bitrepl.lnx | awk -f tr7bit.awk >tmp +N=`cat tmp | wc -l` +echo '/* Automatically generated by gen-7b */' +echo '/* DO NOT EDIT THIS FILE! EDIT Unicode/7bitrepl.lnx INSTEAD! */' +echo +echo 'struct { unicode_val_T x; unsigned char *s; } unicode_7b ['`expr $N + 1`'] = {' +sort tmp | sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | sed 's/^/ {/' | sed 's/:/, "/' | sed 's/$/"},/' +echo ' {-1, NULL}' +echo '};' +echo +echo '#define N_UNICODE_7B' $N +)>../src/intl/uni_7b.inc +rm -f tmp +echo Done. +echo diff --git a/Unicode/gen-cp b/Unicode/gen-cp new file mode 100755 index 00000000..73268da8 --- /dev/null +++ b/Unicode/gen-cp @@ -0,0 +1,69 @@ +#!/bin/sh +# $Id: gen-cp,v 1.13 2005/03/05 22:08:22 zas Exp $ + +echo +echo Generating code page translation tables. + +codepages=`cat index.txt` + +if [ -n "$codepages" ]; then + +( + +n=0 + +echo '/* Automatically generated by gen-cp */' +echo '/* DO NOT EDIT THIS FILE! EDIT Unicode/ INSTEAD! */' +echo + +for i in $codepages; do + echo -n $i' ' 1>&2 + echo + + echo + echo "/*** $i ***/" + echo + + echo 'struct table_entry table_'$i' [] = {' + + # TODO: Comments inside of the structure are ugliness in a pure clean + # form, and my aesthetical feeling shivers upon glancing at it. However + # we should handle commentless records. A loop with read inside would + # be ideal, I suppose. --pasky + tail -n +3 $i.cp | sed 's/# *\(.*\) *$/\/* \1 *\/ /' | grep '^0x[89a-zA-Z]' \ + | sed 's/[ ][ ]*/ /g' | sed 's/[ ]*$/ },/' | sed 's/ /, /' \ + | sed 's/^[ ]*/ {/' | grep '.*,.*,' + + echo ' {0, 0}' + echo '};' + echo + + echo 'unsigned char *aliases_'$i' [] = {' + head -n 2 $i.cp | tail -n +2 | sed 's/ \+/ /g; s/ $//; s/\", /\",£/g; s/$/,/' | tr "£" "\n" \ + | sed 's/^/£/g' | tr "£" "\t" + echo ' NULL +};' + n=`expr $n + 1` +done + +echo +echo 'struct codepage_desc codepages [] = {' + +for i in $codepages; do + echo ' {"'`head -n 1 $i.cp`'", aliases_'$i', table_'$i'},' +done + +echo ' {NULL, NULL, NULL}' +echo '};' + +echo +echo '#define N_CODEPAGES '$n | sed 's/ //g' + +) | sed 's/ //g' > ../src/intl/codepage.inc + +echo +echo Done. + +fi + +echo diff --git a/Unicode/gen-ent b/Unicode/gen-ent new file mode 100755 index 00000000..0ed009b3 --- /dev/null +++ b/Unicode/gen-ent @@ -0,0 +1,20 @@ +#!/bin/sh +# $Id: gen-ent,v 1.10 2005/03/05 21:49:29 zas Exp $ + +echo +echo Generating entity table. +( +cat entities.lnx | grep '^[ ]*{"' | sort >tmp +N=`cat tmp | wc -l` +echo '/* Automatically generated by gen-ent */' +echo +echo 'struct entity { char *s; unicode_val_T c; } entities ['`expr $N + 1`'] = {' +cat tmp +echo ' {NULL, 0}' +echo '};' +echo +echo '#define N_ENTITIES' $N +) > ../src/intl/entity.inc +rm -f tmp +echo Done. +echo diff --git a/Unicode/index.txt b/Unicode/index.txt new file mode 100644 index 00000000..07b0606f --- /dev/null +++ b/Unicode/index.txt @@ -0,0 +1,35 @@ +7bit +8859_1 +8859_2 +8859_3 +8859_4 +8859_5 +8859_6 +8859_7 +8859_8 +8859_9 +8859_10 +8859_13 +8859_14 +8859_15 +8859_16 +cp1250 +cp1251 +cp1252 +cp1256 +cp1257 +cp437 +cp737 +cp850 +cp852 +cp866 +cp1125 +macroman +mac_lat2 +kamen +koi8_r +koi8_u +koi8_ru +tcvn5712 +viscii +utf_8 diff --git a/Unicode/kamen.cp b/Unicode/kamen.cp new file mode 100644 index 00000000..860d330a --- /dev/null +++ b/Unicode/kamen.cp @@ -0,0 +1,263 @@ +Kamenicky Brothers +"x-kam-cs", "kam", "867", "869" + +# Kamenicky Brothers Charset File +# Czech characters extracted from CStoCS "kam.enc" and others copied from +# IBM charset by Martin Mares + +0x00 0x0000 # +0x01 0x263A #WHITE SMILING FACE +0x02 0x263B #BLACK SMILING FACE +0x03 0x2665 #BLACK HEART SUIT +0x04 0x2666 #BLACK DIAMOND SUIT +0x05 0x2663 #BLACK CLUB SUIT +0x06 0x2660 #BLACK SPADE SUIT +0x07 0x2022 #BULLET +0x08 0x25D8 #INVERSE BULLET +0x09 0x25CB #WHITE CIRCLE +0x0A 0x25D9 #INVERSE WHITE CIRCLE +0x0B 0x2642 #MALE SIGN +0x0C 0x2640 #FEMALE SIGN +0x0D 0x266A #EIGHTH NOTE +0x0E 0x266B #BEAMED EIGHTH NOTES +0x0F 0x263C #WHITE SUN WITH RAYS +0x10 0x25B6 #BLACK RIGHT-POINTING TRIANGLE +0x11 0x25C0 #BLACK LEFT-POINTING TRIANGLE +0x12 0x2195 #UP DOWN ARROW +0x13 0x203C #DOUBLE EXCLAMATION MARK +0x14 0x00B6 #PILCROW SIGN +0x15 0x00A7 #SECTION SIGN +0x16 0x25AC #BLACK RECTANGLE +0x17 0x21A8 #UP DOWN ARROW WITH BASE +0x18 0x2191 #UPWARDS ARROW +0x19 0x2193 #DOWNWARDS ARROW +0x1A 0x2192 #RIGHTWARDS ARROW +0x1B 0x2190 #LEFTWARDS ARROW +0x1C 0x221F #RIGHT ANGLE +0x1D 0x2194 #LEFT RIGHT ARROW +0x1E 0x25B2 #BLACK UP-POINTING TRIANGLE +0x1F 0x25BC #BLACK DOWN-POINTING TRIANGLE +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x2302 #HOUSE +0x80 0x010C #LATIN CAPITAL LETTER C WITH CARON +0x81 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0x82 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0x83 0x010F #LATIN SMALL LETTER D WITH CARON +0x84 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0x85 0x010E #LATIN CAPITAL LETTER D WITH CARON +0x86 0x0164 #LATIN CAPITAL LETTER T WITH CARON +0x87 0x010D #LATIN SMALL LETTER C WITH CARON +0x88 0x011B #LATIN SMALL LETTER E WITH CARON +0x89 0x011A #LATIN CAPITAL LETTER E WITH CARON +0x8A 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE +0x8B 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0x8C 0x013E #LATIN SMALL LETTER L WITH CARON +0x8D 0x013A #LATIN SMALL LETTER L WITH ACUTE +0x8E 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0x8F 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0x90 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0x91 0x017E #LATIN SMALL LETTER Z WITH CARON +0x92 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0x93 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0x94 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0x95 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0x96 0x016F #LATIN SMALL LETTER U WITH RING ABOVE +0x97 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0x98 0x00FD #LATIN SMALL LETTER Y WITH ACUTE +0x99 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0x9A 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0x9B 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0x9C 0x013D #LATIN CAPITAL LETTER L WITH CARON +0x9D 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE +0x9E 0x0158 #LATIN CAPITAL LETTER R WITH CARON +0x9F 0x0165 #LATIN SMALL LETTER T WITH CARON +0xA0 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xA1 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xA2 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xA3 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xA4 0x0148 #LATIN SMALL LETTER N WITH CARON +0xA5 0x0147 #LATIN CAPITAL LETTER N WITH CARON +0xA6 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE +0xA7 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xA8 0x0161 #LATIN SMALL LETTER S WITH CARON +0xA9 0x0159 #LATIN SMALL LETTER R WITH CARON +0xAA 0x0155 #LATIN SMALL LETTER R WITH ACUTE +0xAB 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE +0xAC 0x00BC #VULGAR FRACTION ONE QUARTER +0xAD 0x00A7 #SECTION SIGN +0xAE 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAF 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xB0 0x2591 #LIGHT SHADE +0xB1 0x2592 #MEDIUM SHADE +0xB2 0x2593 #DARK SHADE +0xB3 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0xB4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xB5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +0xB6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE +0xB7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE +0xB8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE +0xB9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xBA 0x2551 #BOX DRAWINGS DOUBLE VERTICAL +0xBB 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xBC 0x255D #BOX DRAWINGS DOUBLE UP AND LEFT +0xBD 0x255C #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE +0xBE 0x255B #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +0xBF 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xC0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xC1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xC2 0x252C #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xC3 0x251C #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xC4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xC5 0x253C #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xC6 0x255E #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +0xC7 0x255F #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +0xC8 0x255A #BOX DRAWINGS DOUBLE UP AND RIGHT +0xC9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xCA 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xCB 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xCC 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xCD 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xCE 0x256C #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xCF 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +0xD0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +0xD1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE +0xD2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE +0xD3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +0xD4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +0xD5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +0xD6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE +0xD7 0x256B #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE +0xD8 0x256A #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +0xD9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xDA 0x250C #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xDB 0x2588 #FULL BLOCK +0xDC 0x2584 #LOWER HALF BLOCK +0xDD 0x258C #LEFT HALF BLOCK +0xDE 0x2590 #RIGHT HALF BLOCK +0xDF 0x2580 #UPPER HALF BLOCK +0xE0 0x03B1 #GREEK SMALL LETTER ALPHA +0xE1 0x03B2 #GREEK SMALL LETTER BETA +0xE2 0x0194 #LATIN CAPITAL LETTER GAMMA +0xE3 0x03C0 #GREEK SMALL LETTER PI +0xE4 0x03A3 #GREEK CAPITAL LETTER SIGMA +0xE5 0x03C3 #GREEK SMALL LETTER SIGMA +0xE6 0x03BC #GREEK SMALL LETTER MU +0xE7 0x03C4 #GREEK SMALL LETTER TAU +0xE8 0x03A6 #GREEK CAPITAL LETTER PHI +0xE9 0x0398 #GREEK CAPITAL LETTER THETA +0xEA 0x03A9 #GREEK CAPITAL LETTER OMEGA +0xEB 0x03B4 #GREEK SMALL LETTER DELTA +0xEC 0x221E #INFINITY +0xED 0x03C6 #GREEK SMALL LETTER PHI +0xEE 0x2208 #ELEMENT OF +0xEF 0x2229 #INTERSECTION +0xF0 0x224D #EQUIVALENT TO +0xF1 0x00B1 #PLUS-MINUS SIGN +0xF2 0x2265 #GREATER-THAN OR EQUAL TO +0xF3 0x2264 #LESS-THAN OR EQUAL TO +0xF4 0x2320 #TOP HALF INTEGRAL +0xF5 0x2321 #BOTTOM HALF INTEGRAL +0xF6 0x00F7 #DIVISION SIGN +0xF7 0x2248 #ALMOST EQUAL TO +0xF8 0x00B0 #DEGREE SIGN +0xF9 0x2219 #BULLET OPERATOR +0xFA 0x00B7 #MIDDLE DOT +0xFB 0x221A #SQUARE ROOT +0xFC 0x207F #SUPERSCRIPT LATIN SMALL LETTER N +0xFD 0x00B2 #SUPERSCRIPT TWO +0xFE 0x25A0 #BLACK SQUARE +0xFF 0x00A0 #NO-BREAK SPACE diff --git a/Unicode/koi8_r.cp b/Unicode/koi8_r.cp new file mode 100644 index 00000000..46e28e18 --- /dev/null +++ b/Unicode/koi8_r.cp @@ -0,0 +1,226 @@ +KOI8-R +"koi8-r", "csKOI8R" + +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x80 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL +0x81 0x2502 # BOX DRAWINGS LIGHT VERTICAL +0x82 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT +0x83 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT +0x84 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT +0x85 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT +0x86 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0x87 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT +0x88 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0x89 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL +0x8A 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0x8B 0x2580 # UPPER HALF BLOCK +0x8C 0x2584 # LOWER HALF BLOCK +0x8D 0x2588 # FULL BLOCK +0x8E 0x258C # LEFT HALF BLOCK +0x8F 0x2590 # RIGHT HALF BLOCK +0x90 0x2591 # LIGHT SHADE +0x91 0x2592 # MEDIUM SHADE +0x92 0x2593 # DARK SHADE +0x93 0x2320 # TOP HALF INTEGRAL +0x94 0x25A0 # BLACK SQUARE +0x95 0x2022 # BULLET +0x96 0x221A # SQUARE ROOT +0x97 0x2248 # ALMOST EQUAL TO +0x98 0x2264 # LESS-THAN OR EQUAL TO +0x99 0x2265 # GREATER-THAN OR EQUAL TO +0x9A 0x00A0 # NO-BREAK SPACE +0x9B 0x2321 # BOTTOM HALF INTEGRAL +0x9C 0x00B0 # DEGREE SIGN +0x9D 0x00B2 # SUPERSCRIPT TWO +0x9E 0x00B7 # MIDDLE DOT +0x9F 0x00F7 # DIVISION SIGN +0xA0 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL +0xA1 0x2551 # BOX DRAWINGS DOUBLE VERTICAL +0xA2 0x2552 # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +0xA3 0x0451 # CYRILLIC SMALL LETTER IO +0xA4 0x2553 # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE +0xA5 0x2554 # BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xA6 0x2555 # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE +0xA7 0x2556 # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE +0xA8 0x2557 # BOX DRAWINGS DOUBLE DOWN AND LEFT +0xA9 0x2558 # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +0xAA 0x2559 # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +0xAB 0x255A # BOX DRAWINGS DOUBLE UP AND RIGHT +0xAC 0x255B # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +0xAD 0x255C # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE +0xAE 0x255D # BOX DRAWINGS DOUBLE UP AND LEFT +0xAF 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +0xB0 0x255F # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +0xB1 0x2560 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xB2 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +0xB3 0x0401 # CYRILLIC CAPITAL LETTER IO +0xB4 0x2562 # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE +0xB5 0x2563 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xB6 0x2564 # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE +0xB7 0x2565 # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE +0xB8 0x2566 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xB9 0x2567 # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +0xBA 0x2568 # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +0xBB 0x2569 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xBC 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +0xBD 0x256B # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE +0xBE 0x256C # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xBF 0x00A9 # COPYRIGHT SIGN +0xC0 0x044E # CYRILLIC SMALL LETTER YU +0xC1 0x0430 # CYRILLIC SMALL LETTER A +0xC2 0x0431 # CYRILLIC SMALL LETTER BE +0xC3 0x0446 # CYRILLIC SMALL LETTER TSE +0xC4 0x0434 # CYRILLIC SMALL LETTER DE +0xC5 0x0435 # CYRILLIC SMALL LETTER IE +0xC6 0x0444 # CYRILLIC SMALL LETTER EF +0xC7 0x0433 # CYRILLIC SMALL LETTER GHE +0xC8 0x0445 # CYRILLIC SMALL LETTER HA +0xC9 0x0438 # CYRILLIC SMALL LETTER I +0xCA 0x0439 # CYRILLIC SMALL LETTER SHORT I +0xCB 0x043A # CYRILLIC SMALL LETTER KA +0xCC 0x043B # CYRILLIC SMALL LETTER EL +0xCD 0x043C # CYRILLIC SMALL LETTER EM +0xCE 0x043D # CYRILLIC SMALL LETTER EN +0xCF 0x043E # CYRILLIC SMALL LETTER O +0xD0 0x043F # CYRILLIC SMALL LETTER PE +0xD1 0x044F # CYRILLIC SMALL LETTER YA +0xD2 0x0440 # CYRILLIC SMALL LETTER ER +0xD3 0x0441 # CYRILLIC SMALL LETTER ES +0xD4 0x0442 # CYRILLIC SMALL LETTER TE +0xD5 0x0443 # CYRILLIC SMALL LETTER U +0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE +0xD7 0x0432 # CYRILLIC SMALL LETTER VE +0xD8 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +0xD9 0x044B # CYRILLIC SMALL LETTER YERU +0xDA 0x0437 # CYRILLIC SMALL LETTER ZE +0xDB 0x0448 # CYRILLIC SMALL LETTER SHA +0xDC 0x044D # CYRILLIC SMALL LETTER E +0xDD 0x0449 # CYRILLIC SMALL LETTER SHCHA +0xDE 0x0447 # CYRILLIC SMALL LETTER CHE +0xDF 0x044A # CYRILLIC SMALL LETTER HARD SIGN +0xE0 0x042E # CYRILLIC CAPITAL LETTER YU +0xE1 0x0410 # CYRILLIC CAPITAL LETTER A +0xE2 0x0411 # CYRILLIC CAPITAL LETTER BE +0xE3 0x0426 # CYRILLIC CAPITAL LETTER TSE +0xE4 0x0414 # CYRILLIC CAPITAL LETTER DE +0xE5 0x0415 # CYRILLIC CAPITAL LETTER IE +0xE6 0x0424 # CYRILLIC CAPITAL LETTER EF +0xE7 0x0413 # CYRILLIC CAPITAL LETTER GHE +0xE8 0x0425 # CYRILLIC CAPITAL LETTER HA +0xE9 0x0418 # CYRILLIC CAPITAL LETTER I +0xEA 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +0xEB 0x041A # CYRILLIC CAPITAL LETTER KA +0xEC 0x041B # CYRILLIC CAPITAL LETTER EL +0xED 0x041C # CYRILLIC CAPITAL LETTER EM +0xEE 0x041D # CYRILLIC CAPITAL LETTER EN +0xEF 0x041E # CYRILLIC CAPITAL LETTER O +0xF0 0x041F # CYRILLIC CAPITAL LETTER PE +0xF1 0x042F # CYRILLIC CAPITAL LETTER YA +0xF2 0x0420 # CYRILLIC CAPITAL LETTER ER +0xF3 0x0421 # CYRILLIC CAPITAL LETTER ES +0xF4 0x0422 # CYRILLIC CAPITAL LETTER TE +0xF5 0x0423 # CYRILLIC CAPITAL LETTER U +0xF6 0x0416 # CYRILLIC CAPITAL LETTER ZHE +0xF7 0x0412 # CYRILLIC CAPITAL LETTER VE +0xF8 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0xF9 0x042B # CYRILLIC CAPITAL LETTER YERU +0xFA 0x0417 # CYRILLIC CAPITAL LETTER ZE +0xFB 0x0428 # CYRILLIC CAPITAL LETTER SHA +0xFC 0x042D # CYRILLIC CAPITAL LETTER E +0xFD 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +0xFE 0x0427 # CYRILLIC CAPITAL LETTER CHE +0xFF 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN diff --git a/Unicode/koi8_ru.cp b/Unicode/koi8_ru.cp new file mode 100644 index 00000000..2e363bc5 --- /dev/null +++ b/Unicode/koi8_ru.cp @@ -0,0 +1,137 @@ +KOI8-RU +"koi8-ru" +# +# UNIX Belarusian and Ukrainian (koi8-u) to UNICODE translation table +# +# Based on koi8u_uni.tbl from lynx 2.8.2 distribution +# by porokh +# Belarusian language support by Yevgeny Gromov +# +0x80 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL +0x81 0x2502 # BOX DRAWINGS LIGHT VERTICAL +0x82 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT +0x83 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT +0x84 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT +0x85 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT +0x86 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0x87 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT +0x88 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0x89 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL +0x8A 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0x8B 0x2580 # UPPER HALF BLOCK +0x8C 0x2584 # LOWER HALF BLOCK +0x8D 0x2588 # FULL BLOCK +0x8E 0x258C # LEFT HALF BLOCK +0x8F 0x2590 # RIGHT HALF BLOCK +0x90 0x2591 # LIGHT SHADE +0x91 0x2592 # MEDIUM SHADE +0x92 0x2593 # DARK SHADE +0x93 0x2320 # TOP HALF INTEGRAL +0x94 0x25A0 # BLACK SQUARE +0x95 0x2219 # BULLET OPERATOR +0x96 0x221A # SQUARE ROOT +0x97 0x2248 # ALMOST EQUAL TO +0x98 0x2264 # LESS THAN OR EQUAL TO +0x99 0x2265 # GREATER THAN OR EQUAL TO +0x9A 0x00A0 # NO-BREAK SPACE +0x9B 0x2321 # BOTTOM HALF INTEGRAL +0x9C 0x00B0 # DEGREE SIGN +0x9D 0x00B2 # SUPERSCRIPT TWO +0x9E 0x00B7 # MIDDLE DOT +0x9F 0x00F7 # DIVISION SIGN +0xA0 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL +0xA1 0x2551 # BOX DRAWINGS DOUBLE VERTICAL +0xA2 0x2552 # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +0xA3 0x0451 # CYRILLIC SMALL LETTER IO +0xA4 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE +0xA5 0x2554 # BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xA6 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +0xA7 0x0457 # CYRILLIC SMALL LETTER YI (UKRAINIAN) +0xA8 0x2557 # BOX DRAWINGS DOUBLE DOWN AND LEFT +0xA9 0x2558 # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +0xAA 0x2559 # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +0xAB 0x255A # BOX DRAWINGS DOUBLE UP AND RIGHT +0xAC 0x255B # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +0xAD 0x0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN +0xAE 0x045E # CYRILLIC SMALL LETTER SHORT U +0xAF 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +0xB0 0x255F # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +0xB1 0x2560 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xB2 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +0xB3 0x0401 # CYRILLIC CAPITAL LETTER IO +0xB4 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE +0xB5 0x2563 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xB6 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +0xB7 0x0407 # CYRILLIC CAPITAL LETTER YI (UKRAINIAN) +0xB8 0x2566 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xB9 0x2567 # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +0xBA 0x2568 # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +0xBB 0x2569 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xBC 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +0xBD 0x0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN +0xBE 0x040E # CYRILLIC CAPITAL LETTER SHORT U +0xBF 0x00A9 # COPYRIGHT SIGN +0xC0 0x044E # CYRILLIC SMALL LETTER YU +0xC1 0x0430 # CYRILLIC SMALL LETTER A +0xC2 0x0431 # CYRILLIC SMALL LETTER BE +0xC3 0x0446 # CYRILLIC SMALL LETTER TSE +0xC4 0x0434 # CYRILLIC SMALL LETTER DE +0xC5 0x0435 # CYRILLIC SMALL LETTER IE +0xC6 0x0444 # CYRILLIC SMALL LETTER EF +0xC7 0x0433 # CYRILLIC SMALL LETTER GHE +0xC8 0x0445 # CYRILLIC SMALL LETTER KHA +0xC9 0x0438 # CYRILLIC SMALL LETTER I +0xCA 0x0439 # CYRILLIC SMALL LETTER SHORT I +0xCB 0x043A # CYRILLIC SMALL LETTER KA +0xCC 0x043B # CYRILLIC SMALL LETTER EL +0xCD 0x043C # CYRILLIC SMALL LETTER EM +0xCE 0x043D # CYRILLIC SMALL LETTER EN +0xCF 0x043E # CYRILLIC SMALL LETTER O +0xD0 0x043F # CYRILLIC SMALL LETTER PE +0xD1 0x044F # CYRILLIC SMALL LETTER YA +0xD2 0x0440 # CYRILLIC SMALL LETTER ER +0xD3 0x0441 # CYRILLIC SMALL LETTER ES +0xD4 0x0442 # CYRILLIC SMALL LETTER TE +0xD5 0x0443 # CYRILLIC SMALL LETTER U +0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE +0xD7 0x0432 # CYRILLIC SMALL LETTER VE +0xD8 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +0xD9 0x044B # CYRILLIC SMALL LETTER YERU +0xDA 0x0437 # CYRILLIC SMALL LETTER ZE +0xDB 0x0448 # CYRILLIC SMALL LETTER SHA +0xDC 0x044D # CYRILLIC SMALL LETTER E +0xDD 0x0449 # CYRILLIC SMALL LETTER SHCHA +0xDE 0x0447 # CYRILLIC SMALL LETTER CHE +0xDF 0x044A # CYRILLIC SMALL LETTER HARD SIGN +0xE0 0x042E # CYRILLIC CAPITAL LETTER YU +0xE1 0x0410 # CYRILLIC CAPITAL LETTER A +0xE2 0x0411 # CYRILLIC CAPITAL LETTER BE +0xE3 0x0426 # CYRILLIC CAPITAL LETTER TSE +0xE4 0x0414 # CYRILLIC CAPITAL LETTER DE +0xE5 0x0415 # CYRILLIC CAPITAL LETTER IE +0xE6 0x0424 # CYRILLIC CAPITAL LETTER EF +0xE7 0x0413 # CYRILLIC CAPITAL LETTER GHE +0xE8 0x0425 # CYRILLIC CAPITAL LETTER KHA +0xE9 0x0418 # CYRILLIC CAPITAL LETTER I +0xEA 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +0xEB 0x041A # CYRILLIC CAPITAL LETTER KA +0xEC 0x041B # CYRILLIC CAPITAL LETTER EL +0xED 0x041C # CYRILLIC CAPITAL LETTER EM +0xEE 0x041D # CYRILLIC CAPITAL LETTER EN +0xEF 0x041E # CYRILLIC CAPITAL LETTER O +0xF0 0x041F # CYRILLIC CAPITAL LETTER PE +0xF1 0x042F # CYRILLIC CAPITAL LETTER YA +0xF2 0x0420 # CYRILLIC CAPITAL LETTER ER +0xF3 0x0421 # CYRILLIC CAPITAL LETTER ES +0xF4 0x0422 # CYRILLIC CAPITAL LETTER TE +0xF5 0x0423 # CYRILLIC CAPITAL LETTER U +0xF6 0x0416 # CYRILLIC CAPITAL LETTER ZHE +0xF7 0x0412 # CYRILLIC CAPITAL LETTER VE +0xF8 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0xF9 0x042B # CYRILLIC CAPITAL LETTER YERU +0xFA 0x0417 # CYRILLIC CAPITAL LETTER ZE +0xFB 0x0428 # CYRILLIC CAPITAL LETTER SHA +0xFC 0x042D # CYRILLIC CAPITAL LETTER E +0xFD 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +0xFE 0x0427 # CYRILLIC CAPITAL LETTER CHE +0xFF 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN diff --git a/Unicode/koi8_u.cp b/Unicode/koi8_u.cp new file mode 100644 index 00000000..ecff9ee0 --- /dev/null +++ b/Unicode/koi8_u.cp @@ -0,0 +1,136 @@ +KOI8-U +"koi8-u" +# +# UNIX Ukrainian (koi8-u) to UNICODE translation table +# +# Based on koi8u_uni.tbl from lynx 2.8.2 distribution +# by porokh +# +0x80 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL +0x81 0x2502 # BOX DRAWINGS LIGHT VERTICAL +0x82 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT +0x83 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT +0x84 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT +0x85 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT +0x86 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0x87 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT +0x88 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0x89 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL +0x8A 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0x8B 0x2580 # UPPER HALF BLOCK +0x8C 0x2584 # LOWER HALF BLOCK +0x8D 0x2588 # FULL BLOCK +0x8E 0x258C # LEFT HALF BLOCK +0x8F 0x2590 # RIGHT HALF BLOCK +0x90 0x2591 # LIGHT SHADE +0x91 0x2592 # MEDIUM SHADE +0x92 0x2593 # DARK SHADE +0x93 0x2320 # TOP HALF INTEGRAL +0x94 0x25A0 # BLACK SQUARE +0x95 0x2219 # BULLET OPERATOR +0x96 0x221A # SQUARE ROOT +0x97 0x2248 # ALMOST EQUAL TO +0x98 0x2264 # LESS THAN OR EQUAL TO +0x99 0x2265 # GREATER THAN OR EQUAL TO +0x9A 0x00A0 # NO-BREAK SPACE +0x9B 0x2321 # BOTTOM HALF INTEGRAL +0x9C 0x00B0 # DEGREE SIGN +0x9D 0x00B2 # SUPERSCRIPT TWO +0x9E 0x00B7 # MIDDLE DOT +0x9F 0x00F7 # DIVISION SIGN +0xA0 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL +0xA1 0x2551 # BOX DRAWINGS DOUBLE VERTICAL +0xA2 0x2552 # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +0xA3 0x0451 # CYRILLIC SMALL LETTER IO +0xA4 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE +0xA5 0x2554 # BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xA6 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +0xA7 0x0457 # CYRILLIC SMALL LETTER YI (UKRAINIAN) +0xA8 0x2557 # BOX DRAWINGS DOUBLE DOWN AND LEFT +0xA9 0x2558 # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +0xAA 0x2559 # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +0xAB 0x255A # BOX DRAWINGS DOUBLE UP AND RIGHT +0xAC 0x255B # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +0xAD 0x0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN +0xAE 0x255D # BOX DRAWINGS DOUBLE UP AND LEFT +0xAF 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +0xB0 0x255F # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +0xB1 0x2560 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xB2 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +0xB3 0x0401 # CYRILLIC CAPITAL LETTER IO +0xB4 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE +0xB5 0x2563 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xB6 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +0xB7 0x0407 # CYRILLIC CAPITAL LETTER YI (UKRAINIAN) +0xB8 0x2566 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xB9 0x2567 # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +0xBA 0x2568 # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +0xBB 0x2569 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xBC 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +0xBD 0x0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN +0xBE 0x256C # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xBF 0x00A9 # COPYRIGHT SIGN +0xC0 0x044E # CYRILLIC SMALL LETTER YU +0xC1 0x0430 # CYRILLIC SMALL LETTER A +0xC2 0x0431 # CYRILLIC SMALL LETTER BE +0xC3 0x0446 # CYRILLIC SMALL LETTER TSE +0xC4 0x0434 # CYRILLIC SMALL LETTER DE +0xC5 0x0435 # CYRILLIC SMALL LETTER IE +0xC6 0x0444 # CYRILLIC SMALL LETTER EF +0xC7 0x0433 # CYRILLIC SMALL LETTER GHE +0xC8 0x0445 # CYRILLIC SMALL LETTER KHA +0xC9 0x0438 # CYRILLIC SMALL LETTER I +0xCA 0x0439 # CYRILLIC SMALL LETTER SHORT I +0xCB 0x043A # CYRILLIC SMALL LETTER KA +0xCC 0x043B # CYRILLIC SMALL LETTER EL +0xCD 0x043C # CYRILLIC SMALL LETTER EM +0xCE 0x043D # CYRILLIC SMALL LETTER EN +0xCF 0x043E # CYRILLIC SMALL LETTER O +0xD0 0x043F # CYRILLIC SMALL LETTER PE +0xD1 0x044F # CYRILLIC SMALL LETTER YA +0xD2 0x0440 # CYRILLIC SMALL LETTER ER +0xD3 0x0441 # CYRILLIC SMALL LETTER ES +0xD4 0x0442 # CYRILLIC SMALL LETTER TE +0xD5 0x0443 # CYRILLIC SMALL LETTER U +0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE +0xD7 0x0432 # CYRILLIC SMALL LETTER VE +0xD8 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +0xD9 0x044B # CYRILLIC SMALL LETTER YERU +0xDA 0x0437 # CYRILLIC SMALL LETTER ZE +0xDB 0x0448 # CYRILLIC SMALL LETTER SHA +0xDC 0x044D # CYRILLIC SMALL LETTER E +0xDD 0x0449 # CYRILLIC SMALL LETTER SHCHA +0xDE 0x0447 # CYRILLIC SMALL LETTER CHE +0xDF 0x044A # CYRILLIC SMALL LETTER HARD SIGN +0xE0 0x042E # CYRILLIC CAPITAL LETTER YU +0xE1 0x0410 # CYRILLIC CAPITAL LETTER A +0xE2 0x0411 # CYRILLIC CAPITAL LETTER BE +0xE3 0x0426 # CYRILLIC CAPITAL LETTER TSE +0xE4 0x0414 # CYRILLIC CAPITAL LETTER DE +0xE5 0x0415 # CYRILLIC CAPITAL LETTER IE +0xE6 0x0424 # CYRILLIC CAPITAL LETTER EF +0xE7 0x0413 # CYRILLIC CAPITAL LETTER GHE +0xE8 0x0425 # CYRILLIC CAPITAL LETTER KHA +0xE9 0x0418 # CYRILLIC CAPITAL LETTER I +0xEA 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +0xEB 0x041A # CYRILLIC CAPITAL LETTER KA +0xEC 0x041B # CYRILLIC CAPITAL LETTER EL +0xED 0x041C # CYRILLIC CAPITAL LETTER EM +0xEE 0x041D # CYRILLIC CAPITAL LETTER EN +0xEF 0x041E # CYRILLIC CAPITAL LETTER O +0xF0 0x041F # CYRILLIC CAPITAL LETTER PE +0xF1 0x042F # CYRILLIC CAPITAL LETTER YA +0xF2 0x0420 # CYRILLIC CAPITAL LETTER ER +0xF3 0x0421 # CYRILLIC CAPITAL LETTER ES +0xF4 0x0422 # CYRILLIC CAPITAL LETTER TE +0xF5 0x0423 # CYRILLIC CAPITAL LETTER U +0xF6 0x0416 # CYRILLIC CAPITAL LETTER ZHE +0xF7 0x0412 # CYRILLIC CAPITAL LETTER VE +0xF8 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0xF9 0x042B # CYRILLIC CAPITAL LETTER YERU +0xFA 0x0417 # CYRILLIC CAPITAL LETTER ZE +0xFB 0x0428 # CYRILLIC CAPITAL LETTER SHA +0xFC 0x042D # CYRILLIC CAPITAL LETTER E +0xFD 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +0xFE 0x0427 # CYRILLIC CAPITAL LETTER CHE +0xFF 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN diff --git a/Unicode/mac_lat2.cp b/Unicode/mac_lat2.cp new file mode 100644 index 00000000..4dc97eb3 --- /dev/null +++ b/Unicode/mac_lat2.cp @@ -0,0 +1,276 @@ +Mac latin 2 +"x-mac-ce", "mac-ce", "maclatin2", "10029", "cp10029" +# +# Name: cp10029_MacLatin2 to Unicode table +# Unicode version: 2.0 +# Table version: 2.00 +# Table format: Format A +# Date: 04/24/96 +# Authors: Lori Brownell +# K.D. Chang +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp10029_MacLatin2 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp10029_MacLatin2 order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0A 0x000A #LINE FEED +0x0B 0x000B #VERTICAL TABULATION +0x0C 0x000C #FORM FEED +0x0D 0x000D #CARRIAGE RETURN +0x0E 0x000E #SHIFT OUT +0x0F 0x000F #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1A 0x001A #SUBSTITUTE +0x1B 0x001B #ESCAPE +0x1C 0x001C #FILE SEPARATOR +0x1D 0x001D #GROUP SEPARATOR +0x1E 0x001E #RECORD SEPARATOR +0x1F 0x001F #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x007F #DELETE +0x80 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0x81 0x0100 #LATIN CAPITAL LETTER A WITH MACRON +0x82 0x0101 #LATIN SMALL LETTER A WITH MACRON +0x83 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0x84 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK +0x85 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0x86 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0x87 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0x88 0x0105 #LATIN SMALL LETTER A WITH OGONEK +0x89 0x010C #LATIN CAPITAL LETTER C WITH CARON +0x8A 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0x8B 0x010D #LATIN SMALL LETTER C WITH CARON +0x8C 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE +0x8D 0x0107 #LATIN SMALL LETTER C WITH ACUTE +0x8E 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0x8F 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE +0x90 0x017A #LATIN SMALL LETTER Z WITH ACUTE +0x91 0x010E #LATIN CAPITAL LETTER D WITH CARON +0x92 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0x93 0x010F #LATIN SMALL LETTER D WITH CARON +0x94 0x0112 #LATIN CAPITAL LETTER E WITH MACRON +0x95 0x0113 #LATIN SMALL LETTER E WITH MACRON +0x96 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE +0x97 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0x98 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE +0x99 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0x9A 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0x9B 0x00F5 #LATIN SMALL LETTER O WITH TILDE +0x9C 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0x9D 0x011A #LATIN CAPITAL LETTER E WITH CARON +0x9E 0x011B #LATIN SMALL LETTER E WITH CARON +0x9F 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xA0 0x2020 #DAGGER +0xA1 0x00B0 #DEGREE SIGN +0xA2 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xA3 0x00A3 #POUND SIGN +0xA4 0x00A7 #SECTION SIGN +0xA5 0x2022 #BULLET +0xA6 0x00B6 #PILCROW SIGN +0xA7 0x00DF #LATIN SMALL LETTER SHARP S +0xA8 0x00AE #REGISTERED SIGN +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x2122 #TRADE MARK SIGN +0xAB 0x0119 #LATIN SMALL LETTER E WITH OGONEK +0xAC 0x00A8 #DIAERESIS +0xAD 0x2260 #NOT EQUAL TO +0xAE 0x0123 #LATIN SMALL LETTER G WITH CEDILLA +0xAF 0x012E #LATIN CAPITAL LETTER I WITH OGONEK +0xB0 0x012F #LATIN SMALL LETTER I WITH OGONEK +0xB1 0x012A #LATIN CAPITAL LETTER I WITH MACRON +0xB2 0x2264 #LESS-THAN OR EQUAL TO +0xB3 0x2265 #GREATER-THAN OR EQUAL TO +0xB4 0x012B #LATIN SMALL LETTER I WITH MACRON +0xB5 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA +0xB6 0x2202 #PARTIAL DIFFERENTIAL +0xB7 0x2211 #N-ARY SUMMATION +0xB8 0x0142 #LATIN SMALL LETTER L WITH STROKE +0xB9 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA +0xBA 0x013C #LATIN SMALL LETTER L WITH CEDILLA +0xBB 0x013D #LATIN CAPITAL LETTER L WITH CARON +0xBC 0x013E #LATIN SMALL LETTER L WITH CARON +0xBD 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE +0xBE 0x013A #LATIN SMALL LETTER L WITH ACUTE +0xBF 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA +0xC0 0x0146 #LATIN SMALL LETTER N WITH CEDILLA +0xC1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE +0xC2 0x00AC #NOT SIGN +0xC3 0x221A #SQUARE ROOT +0xC4 0x0144 #LATIN SMALL LETTER N WITH ACUTE +0xC5 0x0147 #LATIN CAPITAL LETTER N WITH CARON +0xC6 0x2206 #INCREMENT +0xC7 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xC8 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xC9 0x2026 #HORIZONTAL ELLIPSIS +0xCA 0x00A0 #NO-BREAK SPACE +0xCB 0x0148 #LATIN SMALL LETTER N WITH CARON +0xCC 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0xCD 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE +0xCE 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE +0xCF 0x014C #LATIN CAPITAL LETTER O WITH MACRON +0xD0 0x2013 #EN DASH +0xD1 0x2014 #EM DASH +0xD2 0x201C #LEFT DOUBLE QUOTATION MARK +0xD3 0x201D #RIGHT DOUBLE QUOTATION MARK +0xD4 0x2018 #LEFT SINGLE QUOTATION MARK +0xD5 0x2019 #RIGHT SINGLE QUOTATION MARK +0xD6 0x00F7 #DIVISION SIGN +0xD7 0x25CA #LOZENGE +0xD8 0x014D #LATIN SMALL LETTER O WITH MACRON +0xD9 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE +0xDA 0x0155 #LATIN SMALL LETTER R WITH ACUTE +0xDB 0x0158 #LATIN CAPITAL LETTER R WITH CARON +0xDC 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK +0xDD 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +0xDE 0x0159 #LATIN SMALL LETTER R WITH CARON +0xDF 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA +0xE0 0x0157 #LATIN SMALL LETTER R WITH CEDILLA +0xE1 0x0160 #LATIN CAPITAL LETTER S WITH CARON +0xE2 0x201A #SINGLE LOW-9 QUOTATION MARK +0xE3 0x201E #DOUBLE LOW-9 QUOTATION MARK +0xE4 0x0161 #LATIN SMALL LETTER S WITH CARON +0xE5 0x015A #LATIN CAPITAL LETTER S WITH ACUTE +0xE6 0x015B #LATIN SMALL LETTER S WITH ACUTE +0xE7 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xE8 0x0164 #LATIN CAPITAL LETTER T WITH CARON +0xE9 0x0165 #LATIN SMALL LETTER T WITH CARON +0xEA 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xEB 0x017D #LATIN CAPITAL LETTER Z WITH CARON +0xEC 0x017E #LATIN SMALL LETTER Z WITH CARON +0xED 0x016A #LATIN CAPITAL LETTER U WITH MACRON +0xEE 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xEF 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xF0 0x016B #LATIN SMALL LETTER U WITH MACRON +0xF1 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE +0xF2 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xF3 0x016F #LATIN SMALL LETTER U WITH RING ABOVE +0xF4 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0xF5 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE +0xF6 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK +0xF7 0x0173 #LATIN SMALL LETTER U WITH OGONEK +0xF8 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE +0xF9 0x00FD #LATIN SMALL LETTER Y WITH ACUTE +0xFA 0x0137 #LATIN SMALL LETTER K WITH CEDILLA +0xFB 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xFC 0x0141 #LATIN CAPITAL LETTER L WITH STROKE +0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE +0xFE 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA +0xFF 0x02C7 #CARON + diff --git a/Unicode/macroman.cp b/Unicode/macroman.cp new file mode 100644 index 00000000..db3dcc9a --- /dev/null +++ b/Unicode/macroman.cp @@ -0,0 +1,258 @@ +MacRoman 2000 +"x-mac", "mac", "macroman", "Macintosh", "csMacintosh" +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0A 0x000A #LINE FEED +0x0B 0x000B #VERTICAL TABULATION +0x0C 0x000C #FORM FEED +0x0D 0x000D #CARRIAGE RETURN +0x0E 0x000E #SHIFT OUT +0x0F 0x000F #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1A 0x001A #SUBSTITUTE +0x1B 0x001B #ESCAPE +0x1C 0x001C #FILE SEPARATOR +0x1D 0x001D #GROUP SEPARATOR +0x1E 0x001E #RECORD SEPARATOR +0x1F 0x001F #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x007F #DELETE +0x80 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0x81 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE +0x82 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA +0x83 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0x84 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE +0x85 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0x86 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0x87 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0x88 0x00E0 #LATIN SMALL LETTER A WITH GRAVE +0x89 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0x8A 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0x8B 0x00E3 #LATIN SMALL LETTER A WITH TILDE +0x8C 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE +0x8D 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0x8E 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0x8F 0x00E8 #LATIN SMALL LETTER E WITH GRAVE +0x90 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX +0x91 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0x92 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0x93 0x00EC #LATIN SMALL LETTER I WITH GRAVE +0x94 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0x95 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS +0x96 0x00F1 #LATIN SMALL LETTER N WITH TILDE +0x97 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0x98 0x00F2 #LATIN SMALL LETTER O WITH GRAVE +0x99 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0x9A 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0x9B 0x00F5 #LATIN SMALL LETTER O WITH TILDE +0x9C 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0x9D 0x00F9 #LATIN SMALL LETTER U WITH GRAVE +0x9E 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX +0x9F 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0xA0 0x2020 #DAGGER +0xA1 0x00B0 #DEGREE SIGN +0xA2 0x00A2 #CENT SIGN +0xA3 0x00A3 #POUND SIGN +0xA4 0x00A7 #SECTION SIGN +0xA5 0x2022 #PUCE +0xA6 0x00B6 #PILCROW SIGN +0xA7 0x00DF #LATIN SMALL LETTER SHARP S (GERMAN) +0xA8 0x00AE #REGISTERED SIGN +0xA9 0x00A9 #COPYRIGHT SIGN +0xAA 0x2122 #TRADE MARK SIGN +0xAB 0x00B4 #ACUTE ACCENT +0xAC 0x00A8 #DIAERESIS +0xAD 0x2260 #NOT EQUAL TO +0xAE 0x00C6 #LATIN CAPITAL LETTER AE +0xAF 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE +0xB0 0x221E #INFINITY +0xB1 0x00B1 #PLUS-MINUS SIGN +0xB2 0x2264 #LESS-THAN OR EQUAL TO +0xB3 0x2265 #GREATER-THAN OR EQUAL TO +0xB4 0x00A5 #YEN SIGN +0xB5 0x00B5 #MICRO SIGN +0xB6 0x2202 #PARTIAL DIFFERENTIAL +0xB7 0x2211 #N-ARY SUMMATION +0xB8 0x220F #N-ARY PRODUCT +0xB9 0x03C0 #GREEK SMALL LETTER PI +0xBA 0x222B #INTEGRAL +0xBB 0x00AA #FEMININE ORDINAL INDICATOR +0xBC 0x00BA #MASCULINE ORDINAL INDICATOR +0xBD 0x03A9 #GREEK CAPITAL LETTER OMEGA +0xBE 0x00E6 #LATIN SMALL LETTER AE +0xBF 0x00F8 #LATIN SMALL LETTER O WITH STROKE +0xC0 0x00BF #INVERTED QUESTION MARK +0xC1 0x00A1 #INVERTED EXCLAMATION MARK +0xC2 0x00AC #NOT SIGN +0xC3 0x221A #SQUARE ROOT +0xC4 0x0192 #LETTRE MINUSCULE LATINE F HAMEçON +0xC5 0x2248 #ALMOST EQUAL TO +0xC6 0x0394 #GREEK CAPITAL LETTER DELTA +0xC7 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xC8 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xC9 0x2026 #MIDLINE HORIZONTAL ELLIPSIS +0xCA 0x00A0 #NO-BREAK SPACE +0xCB 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE +0xCC 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE +0xCD 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE +0xCE 0x0152 #LATIN CAPITAL LIGATURE OE +0xCF 0x0153 #LATIN SMALL LIGATURE OE +0xD0 0x2013 #EN DASH +0xD1 0x2014 #EM DASH +0xD2 0x201C #LEFT DOUBLE QUOTATION MARK +0xD3 0x201D #RIGHT DOUBLE QUOTATION MARK +0xD4 0x2018 #LEFT SINGLE QUOTATION MARK +0xD5 0x2019 #RIGHT SINGLE QUOTATION MARK +0xD6 0x00F7 #DIVISION SIGN +0xD7 0x25CA #LOZENGE +0xD8 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS +0xD9 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS +0xDA 0x2044 #FRACTION SLASH +0xDB 0x20AC #SYMBOLE EURO +0xDC 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK +0xDD 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +0xDE 0xFB01 #LATIN SMALL LIGATURE FI +0xDF 0xFB02 #LATIN SMALL LIGATURE FL +0xE0 0x2021 #DOUBLE DAGGER +0xE1 0x00B7 #MIDDLE DOT +0xE2 0x201A #SINGLE LOW-9 QUOTATION MARK +0xE3 0x201E #DOUBLE LOW-9 QUOTATION MARK +0xE4 0x2030 #PER MILLE SIGN +0xE5 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xE6 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xE7 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xE8 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xE9 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE +0xEA 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xEB 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xEC 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS +0xED 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE +0xEE 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xEF 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xF0 0xF8FF #Mac Logo (in Private Use Area) +0xF1 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE +0xF2 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xF3 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xF4 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE +0xF5 0x0131 #LATIN SMALL LETTER I DOTLESS +0xF6 0x02C6 #LETTRE MODIFICATIVE ACCENT CIRCONFLEXE +0xF7 0x02DC #PETIT TILDE +0xF8 0x00AF #MACRON +0xF9 0x02D8 #BREVE +0xFA 0x02D9 #DOT ABOVE +0xFB 0x02DA #RING ABOVE +0xFC 0x00B8 #CEDILLA +0xFD 0x02DD #DOUBLE ACUTE ACCENT +0xFE 0x02DB #OGONEK +0xFF 0x02C7 #CARON diff --git a/Unicode/tcvn5712.cp b/Unicode/tcvn5712.cp new file mode 100644 index 00000000..97e76c9b --- /dev/null +++ b/Unicode/tcvn5712.cp @@ -0,0 +1,264 @@ +TCVN-5712 +"TCVN-5712", "TCVN", "TCVN-0", "TCVN-1", "TCVN5712", "TCVN5712-1", "TCVN5712-1:1993" +0x00 0x0000 # NUL +0x00 0x0000 # NULL (NUL) +0x01 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE +0x02 0x1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW +0x03 0x0003 # END OF TEXT (ETX) +0x04 0x1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE +0x05 0x1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE +0x06 0x1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE +0x07 0x0007 # BELL (BEL) +0x08 0x0008 # BACKSPACE (BS) +0x09 0x0009 # CHARACTER TABULATION (HT) +0x0A 0x000A # LINE FEED (LF) +0x0B 0x000B # LINE TABULATION (VT) +0x0C 0x000C # FORM FEED (FF) +0x0D 0x000D # CARRIAGE RETURN (CR) +0x0E 0x000E # SHIFT OUT (SO) +0x0F 0x000F # SHIFT IN (SI) +0x10 0x0010 # DATALINK ESCAPE (DLE) +0x11 0x1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +0x12 0x1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW +0x13 0x1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE +0x14 0x1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE +0x15 0x1EF8 # LATIN CAPITAL LETTER Y WITH TILDE +0x16 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE +0x17 0x1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW +0x18 0x0018 # CANCEL (CAN) +0x19 0x0019 # END OF MEDIUM (EM) +0x1A 0x001A # SUBSTITUTE (SUB) +0x1B 0x001B # ESCAPE (ESC) +0x1C 0x001C # FILE SEPARATOR (IS4) +0x1D 0x001D # GROUP SEPARATOR (IS3) +0x1E 0x001E # RECORD SEPARATOR (IS2) +0x1F 0x001F # UNIT SEPARATOR (IS1) +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE (DEL) +0x80 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE +0x81 0x1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE +0x82 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE +0x83 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE +0x84 0x1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW +0x85 0x1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +0x86 0x1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW +0x87 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE +0x88 0x1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE +0x89 0x1EBC # LATIN CAPITAL LETTER E WITH TILDE +0x8A 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +0x8B 0x1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW +0x8C 0x1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW +0x8D 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE +0x8E 0x1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE +0x8F 0x0128 # LATIN CAPITAL LETTER I WITH TILDE +0x90 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +0x91 0x1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW +0x92 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE +0x93 0x1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE +0x94 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE +0x95 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE +0x96 0x1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW +0x97 0x1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW +0x98 0x1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE +0x99 0x1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE +0x9A 0x1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE +0x9B 0x1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +0x9C 0x1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW +0x9D 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE +0x9E 0x1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE +0x9F 0x0168 # LATIN CAPITAL LETTER U WITH TILDE +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x0102 # LATIN CAPITAL LETTER A WITH BREVE +0xA2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xA3 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xA4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xA5 0x01A0 # LATIN CAPITAL LETTER O WITH HOOK +0xA6 0x01AF # LATIN CAPITAL LETTER U WITH HORN +0xA7 0x0110 # LATIN CAPITAL LETTER D WITH STROKE +0xA8 0x0103 # LATIN SMALL LETTER A WITH BREVE +0xA9 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX +0xAA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX +0xAB 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX +0xAC 0x01A1 # LATIN SMALL LETTER O WITH HOOK +0xAD 0x01B0 # LATIN SMALL LETTER U WITH HORN +0xAE 0x0111 # LATIN SMALL LETTER D WITH STROKE +0xAF 0x1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +0xB0 0x0300 # COMBINING GRAVE ACCENT +0xB1 0x0309 # COMBINING HOOK ABOVE +0xB2 0x0303 # COMBINING TILDE +0xB3 0x0301 # COMBINING ACUTE ACCENT +0xB4 0x0323 # COMBINING DOT BELOW +0xB5 0x00E0 # LATIN SMALL LETTER A WITH GRAVE +0xB6 0x1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE +0xB7 0x00E3 # LATIN SMALL LETTER A WITH TILDE +0xB8 0x00E1 # LATIN SMALL LETTER A WITH ACUTE +0xB9 0x1EA1 # LATIN SMALL LETTER A WITH DOT BELOW +0xBA 0x1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +0xBB 0x1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +0xBC 0x1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +0xBD 0x1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +0xBE 0x1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +0xBF 0x1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +0xC0 0x1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +0xC1 0x1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE +0xC2 0x1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +0xC3 0x1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE +0xC4 0x1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +0xC5 0x1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE +0xC6 0x1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +0xC7 0x1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE +0xC8 0x1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +0xC9 0x1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE +0xCA 0x1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +0xCB 0x1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW +0xCC 0x00E8 # LATIN SMALL LETTER E WITH GRAVE +0xCD 0x1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +0xCE 0x1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE +0xCF 0x1EBD # LATIN SMALL LETTER E WITH TILDE +0xD0 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +0xD1 0x1EB9 # LATIN SMALL LETTER E WITH DOT BELOW +0xD2 0x1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE +0xD3 0x1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +0xD4 0x1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE +0xD5 0x1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +0xD6 0x1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW +0xD7 0x00EC # LATIN SMALL LETTER I WITH GRAVE +0xD8 0x1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE +0xD9 0x1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE +0xDA 0x1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +0xDB 0x1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE +0xDC 0x0129 # LATIN SMALL LETTER I WITH TILDE +0xDD 0x00ED # LATIN SMALL LETTER I WITH ACUTE +0xDE 0x1ECB # LATIN SMALL LETTER I WITH DOT BELOW +0xDF 0x00F2 # LATIN SMALL LETTER O WITH GRAVE +0xE0 0x1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +0xE1 0x1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE +0xE2 0x00F5 # LATIN SMALL LETTER O WITH TILDE +0xE3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE +0xE4 0x1ECD # LATIN SMALL LETTER O WITH DOT BELOW +0xE5 0x1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE +0xE6 0x1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +0xE7 0x1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE +0xE8 0x1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +0xE9 0x1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW +0xEA 0x1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE +0xEB 0x1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE +0xEC 0x1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE +0xED 0x1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +0xEE 0x1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW +0xEF 0x00F9 # LATIN SMALL LETTER U WITH GRAVE +0xF0 0x1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE +0xF1 0x1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE +0xF2 0x0169 # LATIN SMALL LETTER U WITH TILDE +0xF3 0x00FA # LATIN SMALL LETTER U WITH ACUTE +0xF4 0x1EE5 # LATIN SMALL LETTER U WITH DOT BELOW +0xF5 0x1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE +0xF6 0x1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE +0xF7 0x1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE +0xF8 0x1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +0xF9 0x1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW +0xFA 0x1EF3 # LATIN SMALL LETTER Y WITH GRAVE +0xFB 0x1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE +0xFC 0x1EF9 # LATIN SMALL LETTER Y WITH TILDE +0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW +0xFF 0x1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + +# compatibility +0xA7 0x00D0 # letter ETH +0xAE 0x00F0 + diff --git a/Unicode/tr7bit.awk b/Unicode/tr7bit.awk new file mode 100755 index 00000000..e0d5c7dc --- /dev/null +++ b/Unicode/tr7bit.awk @@ -0,0 +1,50 @@ +#!/bin/awk -f +# $Id: tr7bit.awk,v 1.4 2005/03/05 21:49:29 zas Exp $ + +function join(array, start, sep, end, result, i) +{ + if (sep == "") + sep = " " + else if (sep == SUBSEP) # magic value + sep = "" + result = array[start] + for (i = start + 1; i <= end; i++) + result = result sep array[i] + return result +} + +function hex2dec(xx) { + nn = 0; + while (xx != "") { + aa = substr(xx, 1, 1); + ii = index("0123456789ABCDEF", aa); + if (!ii) ii = index("0123456789abcdef", aa); + if (!ii) return -1; + nn = nn * 16 + ii - 1; + xx = substr(xx, 2); + } + return nn; +} + +/^U/{ + gsub("\\\\", "\\\\"); + split(substr($0, 3), z, ":") + printf("0x%08x:%s\n", hex2dec(z[1]), join(z, 2, ":")); +} +/^0x[0-9a-fA-F]*[ ]/{ + c = hex2dec(substr($1, 3)); + for (i = 2; i <= NF; i++) { + if (substr($i, 1, 1) == "#") break; + if (p = index($i, "-")) { + p1 = hex2dec(substr($i, 3, p - 3)); + p2 = hex2dec(substr($i, p + 3)); + } else { + p1 = hex2dec(substr($i, 3)); + p2 = p1; + } + for (p = p1; p <= p2; p++) printf("0x%08x:%c\n", p, c); + } +} +BEGIN{ + printf("0x000000a0:\\001\n0x000000ad:\n"); +} diff --git a/Unicode/utf_8.cp b/Unicode/utf_8.cp new file mode 100644 index 00000000..01c55365 --- /dev/null +++ b/Unicode/utf_8.cp @@ -0,0 +1,3 @@ +Unicode UTF-8 +"utf-8", "utf8" +# Handled specially in charsets.c diff --git a/Unicode/viscii.cp b/Unicode/viscii.cp new file mode 100644 index 00000000..c1524fdc --- /dev/null +++ b/Unicode/viscii.cp @@ -0,0 +1,264 @@ +VISCII +"VISCII", "VISCII-1", "VISCII 1.1", "VISCII-1.1", "VISCII1.1-1", "csVISCII" +0x00 0x0000 # NUL +0x00 0x0000 # NULL (NUL) +0x01 0x0001 # START OF HEADING (SOH) +0x02 0x1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE +0x03 0x0003 # END OF TEXT (ETX) +0x04 0x0004 # END OF TRANSMISSION (EOT) +0x05 0x1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE +0x06 0x1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE +0x07 0x0007 # BELL (BEL) +0x08 0x0008 # BACKSPACE (BS) +0x09 0x0009 # CHARACTER TABULATION (HT) +0x0A 0x000A # LINE FEED (LF) +0x0B 0x000B # LINE TABULATION (VT) +0x0C 0x000C # FORM FEED (FF) +0x0D 0x000D # CARRIAGE RETURN (CR) +0x0E 0x000E # SHIFT OUT (SO) +0x0F 0x000F # SHIFT IN (SI) +0x10 0x0010 # DATALINK ESCAPE (DLE) +0x11 0x0011 # DEVICE CONTROL ONE (DC1) +0x12 0x0012 # DEVICE CONTROL TWO (DC2) +0x13 0x0013 # DEVICE CONTROL THREE (DC3) +0x14 0x1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE +0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK) +0x16 0x0016 # SYNCHRONOUS IDLE (SYN) +0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB) +0x18 0x0018 # CANCEL (CAN) +0x19 0x1EF8 # LATIN CAPITAL LETTER Y WITH TILDE +0x1A 0x001A # SUBSTITUTE (SUB) +0x1B 0x001B # ESCAPE (ESC) +0x1C 0x001C # FILE SEPARATOR (IS4) +0x1D 0x001D # GROUP SEPARATOR (IS3) +0x1E 0x1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW +0x1F 0x001F # UNIT SEPARATOR (IS1) +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x005C # REVERSE SOLIDUS +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE +0x7F 0x007F # DELETE (DEL) +0x80 0x1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW +0x81 0x1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE +0x82 0x1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE +0x83 0x1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW +0x84 0x1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE +0x85 0x1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE +0x86 0x1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +0x87 0x1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW +0x88 0x1EBC # LATIN CAPITAL LETTER E WITH TILDE +0x89 0x1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW +0x8A 0x1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE +0x8B 0x1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE +0x8C 0x1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +0x8D 0x1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE +0x8E 0x1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW +0x8F 0x1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE +0x90 0x1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE +0x91 0x1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +0x92 0x1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE +0x93 0x1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW +0x94 0x1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW +0x95 0x1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE +0x96 0x1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE +0x97 0x1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE +0x98 0x1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW +0x99 0x1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE +0x9A 0x1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW +0x9B 0x1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE +0x9C 0x1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE +0x9D 0x0168 # LATIN CAPITAL LETTER U WITH TILDE +0x9E 0x1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW +0x9F 0x1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE +0xA0 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE +0xA1 0x1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE +0xA2 0x1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE +0xA3 0x1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW +0xA4 0x1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE +0xA5 0x1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE +0xA6 0x1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE +0xA7 0x1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW +0xA8 0x1EBD # LATIN SMALL LETTER E WITH TILDE +0xA9 0x1EB9 # LATIN SMALL LETTER E WITH DOT BELOW +0xAA 0x1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE +0xAB 0x1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE +0xAC 0x1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE +0xAD 0x1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE +0xAE 0x1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW +0xAF 0x1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE +0xB0 0x1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE +0xB1 0x1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE +0xB2 0x1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE +0xB3 0x1EE0 # LATIN CAPITAL LETTER O WITH HOOK AND TILDE +0xB4 0x01A0 # LATIN CAPITAL LETTER O WITH HOOK +0xB5 0x1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW +0xB6 0x1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE +0xB7 0x1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE +0xB8 0x1ECB # LATIN SMALL LETTER I WITH DOT BELOW +0xB9 0x1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW +0xBA 0x1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE +0xBB 0x1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE +0xBC 0x1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE +0xBD 0x01A1 # LATIN SMALL LETTER O WITH HORN +0xBE 0x1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE +0xBF 0x01AF # LATIN CAPITAL LETTER U WITH HORN +0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE +0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE +0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE +0xC4 0x1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE +0xC5 0x0102 # LATIN CAPITAL LETTER A WITH BREVE +0xC6 0x1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE +0xC7 0x1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE +0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE +0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xCB 0x1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE +0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE +0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x0128 # LATIN CAPITAL LETTER I WITH TILDE +0xCF 0x1EF3 # LATIN SMALL LETTER Y WITH GRAVE +0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE +0xD1 0x1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE +0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE +0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE +0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xD5 0x1EA1 # LATIN SMALL LETTER A WITH DOT BELOW +0xD6 0x1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE +0xD7 0x1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE +0xD8 0x1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE +0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE +0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE +0xDB 0x1EF9 # LATIN SMALL LETTER Y WITH TILDE +0xDC 0x1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW +0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE +0xDE 0x1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE +0xDF 0x01B0 # LATIN SMALL LETTER U WITH HORN +0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE +0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE +0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX +0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE +0xE4 0x1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE +0xE5 0x0103 # LATIN SMALL LETTER A WITH BREVE +0xE6 0x1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE +0xE7 0x1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE +0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE +0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX +0xEB 0x1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE +0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE +0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE +0xEE 0x0129 # LATIN SMALL LETTER I WITH TILDE +0xEF 0x1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE +0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE +0xF1 0x1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW +0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE +0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE +0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX +0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE +0xF6 0x1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE +0xF7 0x1ECD # LATIN SMALL LETTER O WITH DOT BELOW +0xF8 0x1EE5 # LATIN SMALL LETTER U WITH DOT BELOW +0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE +0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE +0xFB 0x0169 # LATIN SMALL LETTER U WITH TILDE +0xFC 0x1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE +0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE +0xFE 0x1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW +0xFF 0x1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE + +# compatibility +0xD0 0x00D0 # letter ETH +0xF0 0x00F0 + diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 00000000..5f5c6a67 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +echo acinclude.m4... +echo "dnl This is automatically generated from m4/ files! Do not modify!" > acinclude.m4 +cat config/m4/*.m4 >> acinclude.m4 + +echo aclocal... +aclocal + +echo autoheader... +autoheader + +echo automake... +automake -a -c + +echo autoconf... +autoconf + +echo config.cache... +rm -f config.cache + +echo done diff --git a/config/.cvsignore b/config/.cvsignore new file mode 100644 index 00000000..ad919704 --- /dev/null +++ b/config/.cvsignore @@ -0,0 +1,8 @@ +Makefile +Makefile.in +install-sh +missing +mkinstalldirs +depcomp +.deps +*.swp diff --git a/config/.vimrc b/config/.vimrc new file mode 100644 index 00000000..b9796ce1 --- /dev/null +++ b/config/.vimrc @@ -0,0 +1,2 @@ +:set runtimepath+=. +:runtime ../.vimrc diff --git a/config/Makefile.am b/config/Makefile.am new file mode 100644 index 00000000..eb14373f --- /dev/null +++ b/config/Makefile.am @@ -0,0 +1,4 @@ +## Process this file with automake to produce Makefile.in +## $Id: Makefile.am,v 1.1 2005/01/08 21:23:01 jonas Exp $ + +EXTRA_DIST = m4/*.m4 diff --git a/config/config.guess b/config/config.guess new file mode 100644 index 00000000..7d0185e0 --- /dev/null +++ b/config/config.guess @@ -0,0 +1,1447 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +timestamp='2004-09-07' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + amd64:OpenBSD:*:*) + echo x86_64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + cats:OpenBSD:*:*) + echo arm-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + luna88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mips64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit 0 ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit 0 ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit 0 ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + *86) UNAME_PROCESSOR=i686 ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit 0 ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms && exit 0 ;; + I*) echo ia64-dec-vms && exit 0 ;; + V*) echo vax-dec-vms && exit 0 ;; + esac +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config/config.sub b/config/config.sub new file mode 100644 index 00000000..edb6b663 --- /dev/null +++ b/config/config.sub @@ -0,0 +1,1555 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +timestamp='2004-08-29' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit 0;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ + kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32r | m32rle | m68000 | m68k | m88k | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | msp430 \ + | ns16k | ns32k \ + | openrisc | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ + | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | msp430-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config/m4/.vimrc b/config/m4/.vimrc new file mode 100644 index 00000000..284fcf0e --- /dev/null +++ b/config/m4/.vimrc @@ -0,0 +1,2 @@ +:set runtimepath+=. +:runtime ../../.vimrc diff --git a/config/m4/codeset.m4 b/config/m4/codeset.m4 new file mode 100644 index 00000000..863c9cfa --- /dev/null +++ b/config/m4/codeset.m4 @@ -0,0 +1,17 @@ +#serial AM1 + +dnl From Bruno Haible. + +AC_DEFUN([AM_LANGINFO_CODESET], +[ + AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, + [AC_TRY_LINK([#include ], + [char* cs = nl_langinfo(CODESET);], + am_cv_langinfo_codeset=yes, + am_cv_langinfo_codeset=no) + ]) + if test $am_cv_langinfo_codeset = yes; then + AC_DEFINE(HAVE_LANGINFO_CODESET, 1, + [Define if you have and nl_langinfo(CODESET).]) + fi +]) diff --git a/config/m4/features.m4 b/config/m4/features.m4 new file mode 100644 index 00000000..de9e55b4 --- /dev/null +++ b/config/m4/features.m4 @@ -0,0 +1,195 @@ +dnl =================================================================== +dnl Macros for various checks +dnl =================================================================== + +dnl TODO: Make EL_CONFIG* macros assume CONFIG_* defines so it is possible +dnl to write EL_CONFIG_DEPENDS(SCRIPTING, [GUILE LUA PERL], [...]) + +dnl EL_CONFIG(define, what) +AC_DEFUN([EL_CONFIG], [ + $1=yes + ABOUT_$1="$2" + AC_DEFINE($1, 1, [Define if you want: $2 support])]) + +dnl EL_LOG_CONFIG(define, description, value) +AC_DEFUN([EL_LOG_CONFIG], +[ + about="$2" + value="$3" + [msgdots2="`echo $about | sed 's/[0-9]/./g'`"] + [msgdots1="`echo $msgdots2 | sed 's/[a-z]/./g'`"] + [msgdots0="`echo $msgdots1 | sed 's/[A-Z]/./g'`"] + [msgdots="`echo $msgdots0 | sed 's/[_ ()]/./g'`"] + DOTS="................................" + dots=`echo $DOTS | sed "s/$msgdots//"` + + # $msgdots too big? + if test "$dots" = "$DOTS"; then + dots="" + fi + + if test -z "$value"; then + value="[$]$1" + fi + + echo "$about $dots $value" >> features.log +]) + +dnl EL_CONFIG_DEPENDS(define, CONFIG_* dependencies, what) +AC_DEFUN([EL_CONFIG_DEPENDS], +[ + $1=no + el_value= + + for dependency in $2; do + # Hope this is portable?!? --jonas + eval el_config_value=$`echo $dependency` + + if test "$el_config_value" = yes; then + el_about_dep=$`echo ABOUT_$dependency` + eval depvalue=$el_about_dep + + if test -z "$el_value"; then + el_value="$depvalue" + else + el_value="$el_value, $depvalue" + fi + $1=yes + fi + done + + if test "[$]$1" = yes; then + EL_CONFIG($1, [$3]) + fi + EL_LOG_CONFIG([$1], [$3], [$el_value]) +]) + +dnl EL_ARG_ENABLE(define, name, conf-help, arg-help) +AC_DEFUN([EL_ARG_ENABLE], +[ + AC_ARG_ENABLE($2, [$4], + [ + if test "$enableval" != no; then enableval="yes"; fi + $1="$enableval"; + ]) + + if test "x[$]$1" = xyes; then + EL_CONFIG($1, [$3]) + else + $1=no + fi + EL_LOG_CONFIG([$1], [$3], []) +]) + +dnl EL_ARG_DEPEND(define, name, depend, conf-help, arg-help) +AC_DEFUN([EL_ARG_DEPEND], +[ + AC_ARG_ENABLE($2, [$5], + [ + if test "$enableval" != no; then enableval="yes"; fi + $1="$enableval" + ]) + + ENABLE_$1="[$]$1"; + if test "x[$]$1" = xyes; then + # require all dependencies to be met + for dependency in $3; do + el_name=`echo "$dependency" | sed 's/:.*//'`; + el_arg=`echo "$dependency" | sed 's/.*://'`; + # Hope this is portable?!? --jonas + eval el_value=$`echo $el_name`; + + if test "x$el_value" != "x$el_arg"; then + ENABLE_$1=no; + break; + fi + done + + if test "[$]ENABLE_$1" = yes; then + EL_CONFIG($1, [$4]) + else + $1=no; + fi + else + $1=no; + fi + EL_LOG_CONFIG([$1], [$4], []) +]) + +dnl EL_DEFINE(define, what) +AC_DEFUN([EL_DEFINE], [AC_DEFINE($1, 1, [Define if you have $2])]) + +dnl EL_CHECK_CODE(type, define, includes, code) +AC_DEFUN([EL_CHECK_CODE], +[ + $2=yes; + AC_MSG_CHECKING([for $1]) + AC_TRY_COMPILE([$3], [$4], [EL_DEFINE($2, [$1])], $2=no) + AC_MSG_RESULT([$]$2) +]) + +dnl EL_CHECK_TYPE(type, default) +AC_DEFUN([EL_CHECK_TYPE], +[ + EL_CHECK_TYPE_LOCAL=yes; + AC_MSG_CHECKING([for $1]) + AC_TRY_COMPILE([ +#include + ], [int a = sizeof($1);], + [EL_CHECK_TYPE_LOCAL=yes], [EL_CHECK_TYPE_LOCAL=no]) + AC_MSG_RESULT([$]EL_CHECK_TYPE_LOCAL) + if test "x[$]EL_CHECK_TYPE_LOCAL" != "xyes"; then + AC_DEFINE($1, $2, [Define to $2 if doesn't define.]) + fi +]) + +dnl EL_CHECK_SYS_TYPE(type, define, includes) +AC_DEFUN([EL_CHECK_SYS_TYPE], +[ + EL_CHECK_CODE([$1], [$2], [ +#include +$3 + ], [int a = sizeof($1);]) +]) + +dnl EL_CHECK_NET_TYPE(type, define, include) +AC_DEFUN([EL_CHECK_NET_TYPE], +[ + EL_CHECK_SYS_TYPE([$1], [$2], [ +#include +$3 + ]) +]) + +dnl EL_CHECK_INT_TYPE(type, define) +AC_DEFUN([EL_CHECK_INT_TYPE], +[ + EL_CHECK_SYS_TYPE([$1], [$2], [ +#ifdef HAVE_STDINT_H +#include +#endif +#ifdef HAVE_INTTYPES_H +#include +#endif + ]) +]) + + +dnl Save and restore the current build flags + +AC_DEFUN([EL_SAVE_FLAGS], +[ + CFLAGS_X="$CFLAGS"; + CPPFLAGS_X="$CPPFLAGS"; + LDFLAGS_X="$LDFLAGS"; + LIBS_X="$LIBS"; +]) + +AC_DEFUN([EL_RESTORE_FLAGS], +[ + CFLAGS="$CFLAGS_X"; + CPPFLAGS="$CPPFLAGS_X"; + LDFLAGS="$LDFLAGS_X"; + LIBS="$LIBS_X"; +]) + diff --git a/config/m4/gettext.m4 b/config/m4/gettext.m4 new file mode 100644 index 00000000..f524b656 --- /dev/null +++ b/config/m4/gettext.m4 @@ -0,0 +1,271 @@ +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU General Public +# License but which still want to provide support for the GNU gettext +# functionality. +# Please note that the actual code of GNU gettext is covered by the GNU +# General Public License and is *not* in the public domain. + +# serial 10 + +dnl Note that we always use own gettext implementation, even if we found +dnl working system one. We have some own modifications in our implementation +dnl and we rely on them. + +dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]). +dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). Otherwise, a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. +dnl LIBDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_WITH_NLS], + [AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + CONFIG_NLS=yes + EL_ARG_ENABLE(CONFIG_NLS, nls, [Native Language Support], + [ --disable-nls do not use Native Language Support]) + + AC_MSG_RESULT($CONFIG_NLS) + AC_SUBST(CONFIG_NLS) + + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + INTLLIBS= + + AM_CONDITIONAL(CONFIG_NLS, test "$CONFIG_NLS" = "yes") + + dnl If we use NLS figure out what method + if test "$CONFIG_NLS" = "yes"; then + AC_DEFINE(CONFIG_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) +dnl AC_MSG_CHECKING([whether included gettext is requested]) +dnl AC_ARG_WITH(included-gettext, +dnl [ --with-included-gettext use the GNU gettext library included here], +dnl nls_cv_force_use_gnu_gettext=$withval, +dnl nls_cv_force_use_gnu_gettext=no) +dnl AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_force_use_gnu_gettext=yes + nls_cv_use_gnu_gettext=yes + + dnl Mark actions used to generate GNU NLS library. + INTLOBJS="\$(GETTOBJS)" + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) + AC_SUBST(MSGFMT) + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + CATOBJEXT=.gmo + INTLLIBS="ifelse([$3],[],\$(top_builddir)/src/intl/gettext,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + LIBS="$LIBS $LIBICONV" + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then + : ; + else + AC_MSG_RESULT( + [found msgfmt program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + fi + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + AC_CHECK_PROGS([INTLBISON], [bison]) + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + dnl Found it, now check the version. + AC_MSG_CHECKING([version of bison]) +changequote(<<,>>)dnl + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) +changequote([,])dnl + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + AC_MSG_RESULT([$ac_prog_version]) + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi + + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.in. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(GMOFILES) + AC_SUBST(INTLLIBS) + AC_SUBST(INTLOBJS) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) + ]) + +dnl Usage: Just like AM_WITH_NLS, which see. +AC_DEFUN([AM_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([jm_GLIBC21])dnl + + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h]) + AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \ +getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ +strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) + + AM_ICONV + AM_LANGINFO_CODESET + AM_LC_MESSAGES + AM_WITH_NLS([$1],[$2],[$3]) + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but $(top_srcdir). + dnl Try to locate is. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], []) + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + ]) diff --git a/config/m4/glibc21.m4 b/config/m4/glibc21.m4 new file mode 100644 index 00000000..5b88ef23 --- /dev/null +++ b/config/m4/glibc21.m4 @@ -0,0 +1,26 @@ +#serial 2 + +# Test for the GNU C Library, version 2.1 or newer. +# From Bruno Haible. + +AC_DEFUN([jm_GLIBC21], + [ + AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, + ac_cv_gnu_library_2_1, + [AC_EGREP_CPP([Lucky GNU user], + [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + ac_cv_gnu_library_2_1=yes, + ac_cv_gnu_library_2_1=no) + ] + ) + AC_SUBST(GLIBC21) + GLIBC21="$ac_cv_gnu_library_2_1" + ] +) diff --git a/config/m4/iconv.m4 b/config/m4/iconv.m4 new file mode 100644 index 00000000..1ccc36b8 --- /dev/null +++ b/config/m4/iconv.m4 @@ -0,0 +1,68 @@ +#serial AM2 + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + + AC_ARG_WITH([libiconv], +[ --with-libiconv=DIR search for libiconv in DIR/include and DIR/lib], [ + for dir in `echo "$withval" | tr : ' '`; do + if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi + if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi + done + ]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS -liconv" + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi + LIBICONV= + if test "$am_cv_lib_iconv" = yes; then + LIBICONV="-liconv" + fi +]) diff --git a/config/m4/isc-posix.m4 b/config/m4/isc-posix.m4 new file mode 100644 index 00000000..99c899ce --- /dev/null +++ b/config/m4/isc-posix.m4 @@ -0,0 +1,17 @@ +#serial 1 +# This test replaces the one in autoconf. +# Currently this macro should have the same name as the autoconf macro +# because gettext's gettext.m4 (distributed in the automake package) +# still uses it. Otherwise, the use in gettext.m4 makes autoheader +# give these diagnostics: +# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX +# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX + +undefine([AC_ISC_POSIX]) + +AC_DEFUN([AC_ISC_POSIX], + [ + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) + ] +) diff --git a/config/m4/lcmessage.m4 b/config/m4/lcmessage.m4 new file mode 100644 index 00000000..acfd3ace --- /dev/null +++ b/config/m4/lcmessage.m4 @@ -0,0 +1,22 @@ +# Check whether LC_MESSAGES is available in . +# Ulrich Drepper , 1995. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU General Public +# License but which still want to provide support for the GNU gettext +# functionality. +# Please note that the actual code of GNU gettext is covered by the GNU +# General Public License and is *not* in the public domain. + +# serial 2 + +AC_DEFUN([AM_LC_MESSAGES], + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi + fi]) diff --git a/config/m4/os2.m4 b/config/m4/os2.m4 new file mode 100644 index 00000000..6a46400a --- /dev/null +++ b/config/m4/os2.m4 @@ -0,0 +1,49 @@ + +AC_DEFUN([EL_CONFIG_OS2], +[ + AC_MSG_CHECKING([for OS/2 threads]) + + EL_SAVE_FLAGS + CFLAGS="$CFLAGS -Zmt" + + AC_TRY_LINK([#include ], + [_beginthread(NULL, NULL, 0, NULL)], cf_result=yes, cf_result=no) + AC_MSG_RESULT($cf_result) + + if test "$cf_result" = yes; then + EL_DEFINE(HAVE_BEGINTHREAD, [_beginthread()]) + else + EL_RESTORE_FLAGS + fi + + AC_CHECK_FUNC(MouOpen, EL_DEFINE(HAVE_MOUOPEN, [MouOpen()])) + AC_CHECK_FUNC(_read_kbd, EL_DEFINE(HAVE_READ_KBD, [_read_kbd()])) + + AC_MSG_CHECKING([for XFree for OS/2]) + + EL_SAVE_FLAGS + + cf_result=no + + if test -n "$X11ROOT"; then + CFLAGS="$CFLAGS_X -I$X11ROOT/XFree86/include" + LIBS="$LIBS_X -L$X11ROOT/XFree86/lib -lxf86_gcc" + AC_TRY_LINK([#include ], + [struct winsize win;ptioctl(1, TIOCGWINSZ, &win)], + cf_result=yes, cf_result=no) + if test "$cf_result" = no; then + LIBS="$LIBS_X -L$X11ROOT/XFree86/lib -lxf86" + AC_TRY_LINK([#include ], + [struct winsize win;ptioctl(1, TIOCGWINSZ, &win)], + cf_result=yes, cf_result=no) + fi + fi + + if test "$cf_result" != yes; then + EL_RESTORE_FLAGS + else + EL_DEFINE(X2, [XFree under OS/2]) + fi + + AC_MSG_RESULT($cf_result) +]) diff --git a/config/m4/progtest.m4 b/config/m4/progtest.m4 new file mode 100644 index 00000000..08840d5d --- /dev/null +++ b/config/m4/progtest.m4 @@ -0,0 +1,49 @@ +# Search path for a program which passes the given test. +# Ulrich Drepper , 1996. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU General Public +# License but which still want to provide support for the GNU gettext +# functionality. +# Please note that the actual code of GNU gettext is covered by the GNU +# General Public License and is *not* in the public domain. + +# serial 2 + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) diff --git a/config/m4/ruby.m4 b/config/m4/ruby.m4 new file mode 100644 index 00000000..b4b3e002 --- /dev/null +++ b/config/m4/ruby.m4 @@ -0,0 +1,106 @@ +dnl Thank you very much Vim for this lovely ruby configuration +dnl The hitchhiked code is from Vim configure.in version 1.98 + + +AC_DEFUN([EL_CONFIG_RUBY], +[ +AC_MSG_CHECKING([for Ruby]) + +CONFIG_RUBY_WITHVAL="no" +CONFIG_RUBY="no" + +EL_SAVE_FLAGS + +AC_ARG_WITH(ruby, + [ --with-ruby enable Ruby support], + [CONFIG_RUBY_WITHVAL="$withval"]) + +if test "$CONFIG_RUBY_WITHVAL" != no; then + CONFIG_RUBY="yes" +fi + +AC_MSG_RESULT($CONFIG_RUBY) + +if test "$CONFIG_RUBY" = "yes"; then + if test -d "$CONFIG_RUBY_WITHVAL"; then + RUBY_PATH="$CONFIG_RUBY_WITHVAL:$PATH" + else + RUBY_PATH="$PATH" + fi + + AC_PATH_PROG(CONFIG_RUBY, ruby, no, $RUBY_PATH) + if test "$CONFIG_RUBY" != "no"; then + + AC_MSG_CHECKING(Ruby version) + if $CONFIG_RUBY -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then + ruby_version=`$CONFIG_RUBY -e 'puts "#{VERSION rescue RUBY_VERSION}"'` + AC_MSG_RESULT($ruby_version) + + AC_MSG_CHECKING(for Ruby header files) + rubyhdrdir=`$CONFIG_RUBY -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` + + if test "X$rubyhdrdir" != "X"; then + AC_MSG_RESULT($rubyhdrdir) + RUBY_CFLAGS="-I$rubyhdrdir" + rubylibs=`$CONFIG_RUBY -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'` + + if test "X$rubylibs" != "X"; then + RUBY_LIBS="$rubylibs" + fi + + librubyarg=`$CONFIG_RUBY -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'` + + if test -f "$rubyhdrdir/$librubyarg"; then + librubyarg="$rubyhdrdir/$librubyarg" + + else + rubylibdir=`$CONFIG_RUBY -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'` + if test -f "$rubylibdir/$librubyarg"; then + librubyarg="$rubylibdir/$librubyarg" + elif test "$librubyarg" = "libruby.a"; then + dnl required on Mac OS 10.3 where libruby.a doesn't exist + librubyarg="-lruby" + else + librubyarg=`$CONFIG_RUBY -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"` + fi + fi + + if test "X$librubyarg" != "X"; then + RUBY_LIBS="$librubyarg $RUBY_LIBS" + fi + + rubyldflags=`$CONFIG_RUBY -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'` + if test "X$rubyldflags" != "X"; then + LDFLAGS="$rubyldflags $LDFLAGS" + fi + + LIBS="$RUBY_LIBS $LIBS" + CFLAGS="$RUBY_CFLAGS $CFLAGS" + CPPFLAGS="$CPPFLAGS $RUBY_CFLAGS" + + AC_TRY_LINK([#include ], + [ruby_init();], + CONFIG_RUBY=yes, CONFIG_RUBY=no) + else + AC_MSG_RESULT([Ruby header files not found]) + fi + else + AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) + fi + fi +fi + +if test "$CONFIG_RUBY" != "yes"; then + if test -n "$CONFIG_RUBY_WITHVAL" && + test "$CONFIG_RUBY_WITHVAL" != no; then + AC_MSG_ERROR([Ruby not found]) + fi + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_RUBY, [Ruby]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(RUBY_CFLAGS) + AC_SUBST(RUBY_LIBS) +fi +]) diff --git a/config/m4/win32.m4 b/config/m4/win32.m4 new file mode 100644 index 00000000..6f4d31c9 --- /dev/null +++ b/config/m4/win32.m4 @@ -0,0 +1,23 @@ + +AC_DEFUN([EL_CONFIG_WIN32], +[ + AC_MSG_CHECKING([for win32 threads]) + + EL_SAVE_FLAGS + + AC_TRY_LINK([#include ], + [_beginthread(NULL, NULL, 0, NULL)], cf_result=yes, cf_result=no) + AC_MSG_RESULT($cf_result) + + if test "$cf_result" = yes; then + EL_DEFINE(HAVE_BEGINTHREAD, [_beginthread()]) + else + EL_RESTORE_FLAGS + fi + + AC_CHECK_HEADERS(windows.h) + + # TODO: Check this? + # TODO: Check -lws2_32 for IPv6 support + LIBS="$LIBS -lwsock32" +]) diff --git a/configure.in b/configure.in new file mode 100644 index 00000000..d732b48b --- /dev/null +++ b/configure.in @@ -0,0 +1,1348 @@ +dnl Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.13) +AC_INIT(src/main/main.c) +AC_CONFIG_AUX_DIR(config) + +AM_INIT_AUTOMAKE(elinks, 0.11.CVS) +AM_CONFIG_HEADER(config.h) + +AC_PROG_MAKE_SET + +builddir="`pwd`" + +dnl =================================================================== +dnl Load feature configuration file and start logging features. +dnl =================================================================== + +features="features.conf" +AC_CHECK_FILE("$srcdir/$features", [ . $srcdir/$features ]) +AC_CHECK_FILE("$builddir/$features", [ . $builddir/$features ]) +echo "Feature summary:" > features.log + +dnl =================================================================== +dnl Checks for programs. +dnl =================================================================== + +AC_PROG_CC +AC_PROG_AWK +AC_PATH_PROGS(AWK, "$AWK") +AC_PROG_RANLIB + +CONFIG_ASCIIDOC="no" +CONFIG_POD2HTML="no" +CONFIG_XMLTO="no" +CONFIG_JW="no" + +if test "x$CONFIG_DOC" != xno; then + AC_PATH_PROGS(ASCIIDOC, "asciidoc") + if test "x$ASCIIDOC" != "x"; then + EL_CONFIG(CONFIG_ASCIIDOC, [AsciiDoc]) + EL_CONFIG(MANUAL_ASCIIDOC, [HTML (one file)]) + EL_CONFIG(MAN_ASCIIDOC, [HTML]) + fi + + AC_PATH_PROGS(XMLTO, "xmlto") + if test "x$XMLTO" != "x"; then + EL_CONFIG(CONFIG_XMLTO, [XmlTo]) + EL_CONFIG(MANUAL_XMLTO, [HTML (multiple files)]) + EL_CONFIG(MAN_XMLTO, [man (groff)]) + fi + + AC_PATH_PROGS(JW, "jw") + if test "x$JW" != "x"; then + EL_CONFIG(CONFIG_JW, [JadeWrapper]) + EL_CONFIG(MANUAL_JW, [PDF]) + fi + + AC_PATH_PROGS(POD2HTML, "pod2html") + if test "x$POD2HTML" != "x"; then + EL_CONFIG(CONFIG_POD2HTML, [Pod2HTML]) + fi +fi + +AC_SUBST(CONFIG_ASCIIDOC) +AC_SUBST(CONFIG_POD2HTML) +AC_SUBST(CONFIG_XMLTO) +AC_SUBST(CONFIG_JW) + +EL_CONFIG_DEPENDS(CONFIG_DOC, [CONFIG_ASCIIDOC CONFIG_XMLTO CONFIG_JW CONFIG_POD2HTML], [Documentation]) + +if test "$CONFIG_ASCIIDOC" = yes && + test "$CONFIG_XMLTO" = yes && + test "$CONFIG_JW" = yes; then + EL_CONFIG_DEPENDS(CONFIG_MANUAL, [MANUAL_ASCIIDOC MANUAL_XMLTO MANUAL_JW], [Manual Formats]) +fi + +if test "$CONFIG_ASCIIDOC" = yes && + test "$CONFIG_XMLTO" = yes; then + EL_CONFIG_DEPENDS(CONFIG_MANUAL, [MAN_ASCIIDOC MAN_XMLTO], [Man Page Formats]) +fi + +AM_CONDITIONAL(CONFIG_ASCIIDOC, test "$CONFIG_ASCIIDOC" = yes) +AM_CONDITIONAL(CONFIG_POD2HTML, test "$CONFIG_POD2HTML" = yes) +AM_CONDITIONAL(CONFIG_XMLTO, test "$CONFIG_XMLTO" = yes) +AM_CONDITIONAL(CONFIG_JW, test "$CONFIG_JW" = yes) + +dnl gcc specific options (to be continued at the bottom of configure) +if test "x$ac_cv_prog_gcc" = "xyes"; then + dnl We want to see all warnings and live with none. + dnl We can't set up -Werror here as there may be some warnings in test + dnl suite of configure, and we don't want to fail them. + CFLAGS="$CFLAGS -Wall" +fi + +dnl =================================================================== +dnl Checks for special OSes. +dnl =================================================================== + +dnl EL_CHECK_COMPILER_MACRO(define, name, flagname) +AC_DEFUN([EL_CHECK_COMPILER_MACROS], +[ + AC_MSG_CHECKING([for $2]) + + for flag in $3; do + AC_TRY_COMPILE(, [#ifndef $flag +kill me! +#endif ], $1=yes, $1=no) + if test "[$]$1" = yes; then + EL_CONFIG([$1], [$2]) + break + fi + done + + AC_MSG_RESULT([$]$1) +]) + +EL_CHECK_COMPILER_MACROS(CONFIG_BEOS, [BEOS], [__BEOS__]) +AM_CONDITIONAL(CONFIG_BEOS, test "$CONFIG_BEOS" = yes) + +EL_CHECK_COMPILER_MACROS(CONFIG_RISCOS, [RISCOS], [__riscos__]) +AM_CONDITIONAL(CONFIG_RISCOS, test "$CONFIG_RISCOS" = yes) + +EL_CHECK_COMPILER_MACROS(CONFIG_WIN32, [WIN32], [_WIN32 __WIN32__]) +AM_CONDITIONAL(CONFIG_WIN32, test "$CONFIG_WIN32" = yes) + +EL_CHECK_COMPILER_MACROS(CONFIG_OS2, [EMX], [__EMX__]) +AM_CONDITIONAL(CONFIG_OS2, test "$CONFIG_OS2" = yes) +test "$CONFIG_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zexe//g"` + +AC_MSG_CHECKING([for UNIX]) +dnl FIXME: some depend kind of mechanism +if test "$CONFIG_BEOS" = no && \ + test "$CONFIG_RISCOS" = no && \ + test "$CONFIG_WIN32" = no && \ + test "$CONFIG_OS2" = no; then + EL_CONFIG(CONFIG_UNIX, [UNIX]) +else + CONFIG_UNIX=no +fi +AC_MSG_RESULT($CONFIG_UNIX) +AM_CONDITIONAL(CONFIG_UNIX, test "$CONFIG_UNIX" = yes) + +dnl =================================================================== +dnl Checks for header files. +dnl =================================================================== + +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_HEADER_TIME + +AC_CHECK_HEADERS(fcntl.h limits.h time.h unistd.h) +AC_CHECK_HEADERS(sigaction.h) +AC_CHECK_HEADERS(arpa/inet.h) +AC_CHECK_HEADERS(netinet/in_systm.h netinet/in_system.h netinet/ip.h) +AC_CHECK_HEADERS(net/if.h netdb.h netinet/in.h netinet/in6_var.h) +AC_CHECK_HEADERS(ifaddrs.h) +AC_CHECK_HEADERS(sys/cygwin.h io.h) +AC_CHECK_HEADERS(sys/fmutex.h) +AC_CHECK_HEADERS(sys/ioctl.h sys/sockio.h) +AC_CHECK_HEADERS(sys/resource.h) +AC_CHECK_HEADERS(sys/select.h) +AC_CHECK_HEADERS(sys/signal.h) +AC_CHECK_HEADERS(sys/socket.h) +AC_CHECK_HEADERS(sys/time.h) +AC_CHECK_HEADERS(sys/utsname.h) +AC_CHECK_HEADERS(stdint.h inttypes.h) +AC_CHECK_HEADERS(locale.h pwd.h) +AC_CHECK_HEADERS(termios.h) + + +AC_CHECK_HEADERS(sys/un.h, + [CONFIG_INTERLINK=yes + EL_CONFIG([CONFIG_INTERLINK], [interlinking])], + [CONFIG_INTERLINK=no]) +AM_CONDITIONAL(CONFIG_INTERLINK, test "$CONFIG_INTERLINK" = yes) + +dnl =================================================================== +dnl Checks for typedefs, structures, and compiler characteristics. +dnl =================================================================== + +AC_STRUCT_TM +AC_C_CONST +AC_C_INLINE +EL_CHECK_CODE(typeof, HAVE_TYPEOF, [], [int a; typeof(a) b;]) + +AC_SYS_LARGEFILE +AC_TYPE_SIZE_T +AC_TYPE_OFF_T +EL_CHECK_TYPE(ssize_t, int) +EL_CHECK_SYS_TYPE(long long, HAVE_LONG_LONG, []) +EL_CHECK_INT_TYPE(int32_t, HAVE_INT32_T) +EL_CHECK_INT_TYPE(uint32_t, HAVE_UINT32_T) +EL_CHECK_INT_TYPE(uint16_t, HAVE_UINT16_T) + +AC_CHECK_SIZEOF(char, 1) +AC_CHECK_SIZEOF(short, 2) +AC_CHECK_SIZEOF(int, 4) +AC_CHECK_SIZEOF(long, 4) +test "x$HAVE_LONG_LONG" = xyes && AC_CHECK_SIZEOF(long long, 8) + +dnl Check for variadic macros +EL_CHECK_CODE([variadic macros], HAVE_VARIADIC_MACROS, + [#include + #define a(b,c...) printf(b,##c)], + [a("foo");a("%s","bar");a("%s%s","baz","quux");]) + +dnl Check for -rdynamic +dnl FIXME: This check doesn't work. Something to do with the compiler +dnl happily ignoring it and stderr not being checked for error messages. +AC_MSG_CHECKING([for -rdynamic]) +LDFLAGS_X="$LDFLAGS" +LDFLAGS="$LDFLAGS -rdynamic" +AC_TRY_LINK([], [], have_rdynamic=yes, have_rdynamic=no) +test "$have_rdynamic" = no && LDFLAGS="$LDFLAGS_X" +AC_MSG_RESULT($have_rdynamic) + +dnl =================================================================== +dnl Check for POSIX +dnl =================================================================== + +EL_CHECK_SYS_TYPE(regex_t, HAVE_REGEX_H, [#include ]) + +dnl =================================================================== +dnl Checks for library functions. +dnl =================================================================== + +AC_PROG_GCC_TRADITIONAL +AC_FUNC_MEMCMP +AC_FUNC_MMAP +AC_FUNC_STRFTIME +AC_CHECK_FUNCS(cfmakeraw gethostbyaddr herror strerror) +AC_CHECK_FUNCS(popen uname access chmod alarm timegm mremap) +AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr) +AC_CHECK_FUNCS(memmove bcopy stpcpy strdup index isdigit mempcpy memrchr) +AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf) +AC_CHECK_FUNCS(getifaddrs getpwnam inet_pton inet_ntop) +AC_CHECK_FUNCS(fflush fsync fseeko ftello sigaction) +AC_CHECK_FUNCS(gettimeofday clock_gettime) + +AC_HAVE_FUNCS(cygwin_conv_to_full_win32_path) + +AC_CHECK_FUNCS(setenv putenv, HAVE_SETENV_OR_PUTENV=yes) +AC_CHECK_FUNCS(getuid, HAVE_GETUID=yes) +AC_CHECK_FUNCS(geteuid, HAVE_GETEUID=yes) + +dnl These aren't probably needed now, as they are commented in links.h. +dnl I've no idea about their historical background, but I keep them here +dnl just in the case they will help later. --pasky +AC_CHECK_FUNCS(getpid, HAVE_GETPID=yes) +AC_CHECK_FUNCS(setpgid getpgid setpgrp getpgrp) +AC_CHECK_FUNCS(raise, HAVE_RAISE=yes) +AC_CHECK_FUNCS(kill, HAVE_KILL=yes) + +if test x"$HAVE_RAISE" = x; then + if test x"$HAVE_KILL" = x || test x"$HAVE_GETPID" = x; then + AC_ERROR([Unable to emulate raise()]) + fi +fi + +AC_CACHE_CHECK([for __va_copy],el_cv_HAVE_VA_COPY,[ +AC_TRY_LINK([#include +va_list ap1,ap2;], [__va_copy(ap1,ap2);], +el_cv_HAVE_VA_COPY=yes,el_cv_HAVE_VA_COPY=no)]) +if test x"$el_cv_HAVE_VA_COPY" = x"yes"; then + EL_DEFINE(HAVE_VA_COPY, __va_copy) +fi + +AC_CACHE_CHECK([for sysconf(_SC_PAGE_SIZE)],el_cv_HAVE_SC_PAGE_SIZE,[ +AC_TRY_LINK([#include +], [int page_size = sysconf(_SC_PAGE_SIZE);], +el_cv_HAVE_SC_PAGE_SIZE=yes,el_cv_HAVE_SC_PAGE_SIZE=no)]) +if test x"$el_cv_HAVE_SC_PAGE_SIZE" = x"yes"; then + EL_DEFINE(HAVE_SC_PAGE_SIZE, _SC_PAGE_SIZE) +fi + +AC_CACHE_CHECK([for C99 vsnprintf],el_cv_HAVE_C99_VSNPRINTF,[ +AC_TRY_RUN([ +#include +#include +#include +#include + +char buf[8]; + +int bar(char *buf, const char *format, va_list ap) +{ + return vsnprintf(buf, 0, format, ap); +} + +void foo(const char *format, ...) { + va_list ap; + int len; + + va_start(ap, format); + len = bar(buf, format, ap); + va_end(ap); + if ((len != 6) && (len != 7)) exit(1); /* \n -> \r\n */ + + va_start(ap, format); + len = bar(buf, format, ap); + va_end(ap); + if ((len != 6) && (len != 7)) exit(1); + + if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1); + + exit(0); +} +main() { foo("hello\n"); } +], +el_cv_HAVE_C99_VSNPRINTF=yes,el_cv_HAVE_C99_VSNPRINTF=no,el_cv_HAVE_C99_VSNPRINTF=cross)]) +if test x"$el_cv_HAVE_C99_VSNPRINTF" = x"yes"; then + EL_DEFINE(HAVE_C99_VSNPRINTF, [C99 compliant vsnprintf()]) +fi + +AC_CHECK_LIB(dl, dlopen) # OpenSSL and Lua frequently needs it + +dnl =================================================================== +dnl Checks for libraries. +dnl =================================================================== + +dnl Replace `main' with a function in -lsocket: +AC_CHECK_FUNC(socket, cf_result=yes, cf_result=no) +if test "$cf_result" = no; then + AC_CHECK_LIB(socket, socket) +fi + +AC_CHECK_FUNC(setsockopt, cf_result=yes, cf_result=no) +if test "$cf_result" = no; then + AC_CHECK_LIB(socket, setsockopt) +fi + +AC_CHECK_FUNC(gethostbyname, cf_result=yes, cf_result=no) +if test "$cf_result" = no; then + AC_CHECK_LIB(socket, gethostbyname, cf_result=yes, cf_result=no) + if test "$cf_result" = no; then + AC_CHECK_LIB(nsl, gethostbyname) + else + test -z "`echo $LIBS | grep -- -lsocket`" && LIBS="$LIBS -lsocket" + fi +fi + +dnl =================================================================== +dnl Checks for packaging specific options. +dnl =================================================================== + +AC_ARG_WITH(xterm, [ --with-xterm how to invoke the X terminal emulator], + [ if test "$withval" != no && test "$withval" != yes; then + AC_DEFINE_UNQUOTED(XTERM, "$withval", [How to invoke XTerm]) + fi ]) + +dnl =================================================================== +dnl Checks for a libraries, optional even if installed. +dnl =================================================================== + +dnl EL_CHECK_OPTIONAL_LIBRARY(define, name, header, lib, function) +AC_DEFUN([EL_CHECK_OPTIONAL_LIBRARY], +[ + AC_MSG_CHECKING([for $2 support]) + + if test "[$]$1" != no; then + AC_MSG_RESULT(yes) + EL_SAVE_FLAGS + if test -n "$withval" && test -d "$withval"; then + CFLAGS="$CFLAGS -I$withval/include"; + CPPFLAGS="$CPPFLAGS -I$withval/include"; + LDFLAGS="$LDFLAGS -L$withval/lib"; + fi + + AC_CHECK_HEADERS([$3], [$1=yes], [$1=no; break;]) + if test "[$]$1" = yes; then + AC_CHECK_LIB([$4], [$5], [$1=yes], [$1=no]) + fi + + if test "[$]$1" = yes; then + EL_CONFIG([$1], [$2]) + LIBS="$LIBS -l$4" + else + if test -n "[$]WITHVAL_$1" && + test "[$]WITHVAL_$1" != xno; then + AC_MSG_ERROR([$2 not found]) + fi + EL_RESTORE_FLAGS + fi + else + AC_MSG_RESULT(disabled) + fi +]) + +dnl EL_CONFIG_OPTIONAL_LIBRARY(define, name, header, lib, function, confhelp) +AC_DEFUN([EL_CONFIG_OPTIONAL_LIBRARY], +[ + $1=yes + WITHVAL_$1= + + AC_ARG_WITH([$2], [$6], [WITHVAL_$1="[$]withval"]) + if test "x[$]WITHVAL_$1" = xno; then $1=no; fi + + EL_CHECK_OPTIONAL_LIBRARY([$1], [$2], [$3], [$4], [$5]) + + EL_LOG_CONFIG([$1], [$2], []) +]) + +EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GPM, gpm, gpm.h, gpm, Gpm_Open, + [ --without-gpm disable gpm (mouse) support]) + +EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GZIP, zlib, zlib.h, z, gzdopen, + [ --without-zlib disable zlib support]) +AM_CONDITIONAL(CONFIG_GZIP, test "$CONFIG_GZIP" = yes) + +EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_BZIP2, bzlib, bzlib.h, bz2, BZ2_bzReadOpen, + [ --without-bzlib disable bzlib support]) +AM_CONDITIONAL(CONFIG_BZIP2, test "$CONFIG_BZIP2" = yes) + +EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_IDN, idn, idna.h, idn, stringprep_check_version, + [ --without-idn disable international domain names support]) + +dnl =================================================================== +dnl Bookmark and XBEL support +dnl =================================================================== + +EL_SAVE_FLAGS + +EL_ARG_ENABLE(CONFIG_BOOKMARKS, bookmarks, [Bookmarks], + [ --disable-bookmarks disable bookmark support]) +AM_CONDITIONAL(CONFIG_BOOKMARKS, test "$CONFIG_BOOKMARKS" = yes) + +# Check whether --enable-xbel or --disable-xbel was given. +if test "x${enable_xbel}" != xno; then + AC_CHECK_HEADERS(expat.h, HAVE_LIBEXPAT=yes, HAVE_LIBEXPAT=no) + + if test "$HAVE_LIBEXPAT" = yes; then + AC_CHECK_LIB(expat, XML_ParserCreate, HAVE_LIBEXPAT=yes, HAVE_LIBEXPAT=no) + if test "$HAVE_LIBEXPAT" = yes; then + LIBS="$LIBS -lexpat" + fi + fi +fi + + +EL_ARG_DEPEND(CONFIG_XBEL_BOOKMARKS, xbel, [CONFIG_BOOKMARKS:yes HAVE_LIBEXPAT:yes], + [XBEL bookmarks], + [ --disable-xbel disable XBEL bookmark support (requires expat)]) + +AM_CONDITIONAL(CONFIG_XBEL_BOOKMARKS, test "$CONFIG_XBEL_BOOKMARKS" = yes) + +if test "$CONFIG_XBEL_BOOKMARKS" != yes; then + EL_RESTORE_FLAGS +fi + +dnl =================================================================== +dnl Checks for BSD sysmouse +dnl =================================================================== + +HAVE_SYSMOUSE_HEADER="no" + +# Either of these header files provides the (same) sysmouse interface +AC_CHECK_HEADERS(sys/consio.h machine/console.h, [HAVE_SYSMOUSE_HEADER="yes"]) + +dnl =================================================================== +dnl Checks for OS/2 +dnl =================================================================== + +if test "$CONFIG_OS2" = yes; then + EL_CONFIG_OS2 +fi + +dnl =================================================================== +dnl Checks for Win32 +dnl =================================================================== + +if test "$CONFIG_WIN32" = yes; then + EL_CONFIG_WIN32 +fi + +dnl =================================================================== +dnl Check for Guile, optional even if installed. +dnl =================================================================== + +enable_guile="no"; + +AC_ARG_WITH(guile, [ --with-guile enable Guile support], + [ if test "x$withval" != xno; then enable_guile=yes; fi ]) + +# The following is probably bad, ugly and so on. Stolen from Guile's (1.4) +# GUILE_FLAGS but I really don't want to require people to have Guile in order +# to compile CVS. Also, the macro seems to be really stupid regarding searching +# for Guile in $PATH etc. --pasky + +AC_MSG_CHECKING([for Guile]) + +if test "$enable_guile" = "yes"; then + AC_MSG_RESULT(yes); + ## Based on the GUILE_FLAGS macro. + + if test -d "$withval"; then + GUILE_PATH="$withval:$PATH" + else + GUILE_PATH="$PATH" + fi + + AC_PATH_PROG(GUILE_CONFIG, guile-config, no, $GUILE_PATH) + + ## First, let's just see if we can find Guile at all. + if test "$GUILE_CONFIG" != no; then + cf_result="yes"; + + GUILE_LIBS="`guile-config link`" + GUILE_CFLAGS="`guile-config compile`" + LIBS="$GUILE_LIBS $LIBS" + CPPFLAGS="$CPPFLAGS $GUILE_CFLAGS" + EL_CONFIG(CONFIG_GUILE, [Guile]) + AC_SUBST(GUILE_CFLAGS) + cat < +#include +#include +], + [PerlInterpreter *my_perl = perl_alloc();], + cf_result=yes, cf_result=no) +fi + +if test "$cf_result" != "yes"; then + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_PERL, [Perl]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(PERL_LIBS) + AC_SUBST(PERL_CFLAGS) +fi + +if test "$cf_result"; then AC_MSG_RESULT($cf_result); fi +dnl =================================================================== +dnl Check for Python +dnl =================================================================== +enable_python="no"; + +AC_ARG_WITH(python, [ --with-python enable Python support], + [ +if test "$withval" = yes; then + # FIXME: If withval is a valid directory append it to PATH + # so that you can specify one of several Python installations. + withval=""; + enable_python=yes; + cat < +], + [Py_Initialize();], + cf_result=yes, cf_result=no) +fi + +if test "$cf_result" != "yes"; then + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_PYTHON, [Python]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(PYTHON_LIBS) + AC_SUBST(PYTHON_CFLAGS) +fi + +if test "$cf_result"; then AC_MSG_RESULT($cf_result); fi + + +dnl =================================================================== +dnl Check for Lua, optional even if installed. +dnl =================================================================== + +dnl Do this the long way, as FreeBSD reportedly needs -L for +dnl anything other than /usr/lib, and Lua is very often in /usr/local/lib. + +AC_ARG_WITH(lua, [ --without-lua disable Lua support], + [if test "$withval" = no; then disable_lua=yes; fi]) +AC_MSG_CHECKING([for Lua]) + +EL_SAVE_FLAGS +cf_result=no + +if test -z "$disable_lua"; then + if test ! -d "$withval"; then + withval=""; + fi + for luadir in "$withval" "" /usr /usr/local; do + for suffix in "" 50 51; do + if test "$cf_result" = no; then + LUA_LIBS="-llua$suffix -llualib$suffix -lm" + + if test ! -z "$luadir"; then + LUA_LIBS="-L$luadir/lib $LUA_LIBS" + LUA_CFLAGS="-I$luadir/include -I$luadir/include/lua$suffix" + fi + + LIBS="$LUA_LIBS $LIBS_X" + CFLAGS="$CFLAGS_X $LUA_CFLAGS" + CPPFLAGS="$CPPFLAGS_X $LUA_CFLAGS" + + # Check that it is a compatible Lua version + AC_TRY_LINK([ #include + #include ], + [ lua_State *L = lua_open(); + lua_baselibopen(L); + lua_mathlibopen(L); + lua_strlibopen(L); + lua_tablibopen(L); + lua_pushboolean(L, 1); + lua_close(L);], + cf_result=yes, cf_result=no) + fi + done + done +fi + +AC_MSG_RESULT($cf_result) + +if test "$cf_result" != yes; then + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_LUA, [Lua]) + AC_CHECK_HEADERS(lauxlib.h) + + CFLAGS="$CFLAGS_X" + AC_SUBST(LUA_LIBS) + AC_SUBST(LUA_CFLAGS) +fi + + +dnl =================================================================== +dnl Check for Ruby, optional even if installed. +dnl =================================================================== + +EL_CONFIG_RUBY + +dnl =================================================================== +dnl Setup global scripting +dnl =================================================================== + +EL_CONFIG_DEPENDS(CONFIG_SCRIPTING, [CONFIG_GUILE CONFIG_LUA CONFIG_PERL CONFIG_PYTHON CONFIG_RUBY], [Scripting]) +AM_CONDITIONAL(CONFIG_GUILE, test "$CONFIG_GUILE" = yes) +AM_CONDITIONAL(CONFIG_LUA, test "$CONFIG_LUA" = yes) +AM_CONDITIONAL(CONFIG_PERL, test "$CONFIG_PERL" = yes) +AM_CONDITIONAL(CONFIG_PYTHON, test "$CONFIG_PYTHON" = yes) +AM_CONDITIONAL(CONFIG_RUBY, test "$CONFIG_RUBY" = yes) +AM_CONDITIONAL(CONFIG_SCRIPTING, test "$CONFIG_SCRIPTING" = yes) + + +dnl =================================================================== +dnl Check for SpiderMonkey, optional even if installed. +dnl =================================================================== + +AC_ARG_WITH(spidermonkey, [ --without-spidermonkey disable SpiderMonkey Mozilla JavaScript engine support], + [if test "$withval" = no; then disable_spidermonkey=yes; fi]) +AC_MSG_CHECKING([for SpiderMonkey]) + +EL_SAVE_FLAGS +cf_result=no + +if test -z "$disable_spidermonkey"; then + if test ! -d "$withval"; then + withval=""; + fi + for spidermonkeydir in "$withval" "" /usr /usr/local /opt/spidermonkey /opt/js; do + for spidermonkeyinclude in "/include" "/include/js" "/include/smjs"; do + for spidermonkeylib in js smjs; do + if test "$cf_result" = no; then + SPIDERMONKEY_LIBS="-l$spidermonkeylib" + + if test ! -z "$spidermonkeydir"; then + SPIDERMONKEY_LIBS="-L$spidermonkeydir/lib $SPIDERMONKEY_LIBS" + SPIDERMONKEY_CFLAGS="-I$spidermonkeydir$spidermonkeyinclude" + fi + + LIBS="$SPIDERMONKEY_LIBS $LIBS_X" + CFLAGS="$CFLAGS_X $SPIDERMONKEY_CFLAGS" + CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS" + + AC_TRY_LINK([#define XP_UNIX + #include ], + [JS_GetImplementationVersion()], + cf_result=yes, cf_result=no) + fi + done + done + done +fi + +AC_MSG_RESULT($cf_result) + +if test "$cf_result" != yes; then + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_SPIDERMONKEY, [SpiderMonkey]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(SPIDERMONKEY_LIBS) + AC_SUBST(SPIDERMONKEY_CFLAGS) +fi + +AM_CONDITIONAL(CONFIG_SPIDERMONKEY, test "$CONFIG_SPIDERMONKEY" = yes) + +EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_SPIDERMONKEY], [ECMAScript (JavaScript)]) +AM_CONDITIONAL(CONFIG_ECMASCRIPT, test "$CONFIG_ECMASCRIPT" = yes) + + +dnl =================================================================== +dnl Check for SSL support. +dnl =================================================================== + +dnl We by default use OpenSSL, and we always prefer it. However, when GNUTLS +dnl is enabled, we won't try to use OpenSSL anymore. + +dnl For wiping SSL hooks.. +#ifdef CONFIG_SSL + +disable_openssl="" +disable_gnutls="" +enable_gnutls="" + +AC_ARG_WITH(gnutls, [ --without-gnutls disable GNUTLS SSL support], + [if test "$with_gnutls" = no; then disable_gnutls=yes; fi]) +AC_ARG_WITH(gnutls, [ --with-gnutls[=DIR] enable GNUTLS SSL support], + [if test "$with_gnutls" != no; then enable_gnutls=yes; fi]) +gnutls_withval="$withval" + +if test "$enable_gnutls" = yes; then + disable_openssl=yes; +fi + +AC_ARG_WITH(openssl, [ --without-openssl disable OpenSSL support], + [if test "$with_openssl" = no; then disable_openssl=yes; fi]) +AC_ARG_WITH(openssl, [ --with-openssl[=DIR] enable OpenSSL support (default)]) +openssl_withval="$withval" + +dnl ---- OpenSSL + +AC_MSG_CHECKING([for OpenSSL]) + +EL_SAVE_FLAGS +cf_result="no" + +if test "$disable_openssl" = yes; then + cf_result="not used" +else + for ssldir in "$openssl_withval" "" /usr /usr/local/openssl \ + /usr/lib/openssl /usr/local/ssl \ + /usr/local/www /usr/lib/ssl /usr/local \ + /usr/pkg /opt /opt/openssl; do + if test "$cf_result" = no; then + if test -d "$ssldir"; then + OPENSSL_CFLAGS="-I$ssldir/include" + LIBS="-L$ssldir/lib -lssl -lcrypto $LIBS_X" + CFLAGS="$CFLAGS_X $OPENSSL_CFLAGS" + CPPFLAGS="$CPPFLAGS_X $OPENSSL_CFLAGS" +# # FIXME: This created serious portability problems. --pasky +# if test "$CC" == "gcc"; then +# # I'm not sure about compatibility here. --pasky +# LIBS="$LIBS -R$ssldir/lib" +# fi + else + LIBS="-lssl -lcrypto $LIBS_X" + fi + AC_TRY_LINK([#include ], + [OpenSSL_add_all_algorithms()], + cf_result=yes, cf_result=no) + if test "$cf_result" != yes; then + AC_TRY_LINK([#include ], + [SSLeay_add_ssl_algorithms()], + cf_result=yes, cf_result=no) + fi + fi + done + + if test "$cf_result" != yes; then + if test -n "$openssl_withval" && test "x$openssl_withval" != xno; then + AC_MSG_ERROR([OpenSSL not found]) + fi + EL_RESTORE_FLAGS + else + EL_CONFIG(CONFIG_OPENSSL, [OpenSSL]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(OPENSSL_CFLAGS) + fi +fi + +AC_MSG_RESULT($cf_result) + +dnl ---- GNU TLS +dnl We can't have AC_MSG_CHECKING here, because AC_PATH_PROG prints its own and +dnl it looks ugly then. + +if test "$cf_result" = yes; then + cf_result="not used" + +else + EL_SAVE_FLAGS + cf_result="no" + + if test -z "$disable_gnutls"; then + # Sure, we maybe _could_ use their macro, but how to ensure + # that the ./configure script won't fail if the macro won't be + # found..? :( --pasky + + GNUTLS_PATH="$PATH:/usr/local/gnutls:/opt:/opt/gnutls" + + if test -d "$gnutls_withval"; then + GNUTLS_PATH="$gnutls_withval:$GNUTLS_PATH" + fi + + AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no, $GNUTLS_PATH) + + if test "$LIBGNUTLS_CONFIG" = "no" ; then + cf_result=no + else + GNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG --cflags` + GNUTLS_LIBS=`$LIBGNUTLS_CONFIG --libs` + + LIBS="$GNUTLS_LIBS $LIBS_X" + CFLAGS="$CFLAGS_X $GNUTLS_CFLAGS" + CPPFLAGS="$CPPFLAGS_X $GNUTLS_CFLAGS" + + # Verify if it's really usable + AC_TRY_LINK([#include ], + [gnutls_check_version(NULL)], + cf_result=yes, cf_result=no) + fi + + if test "$cf_result" = yes; then + EL_CONFIG(CONFIG_GNUTLS, [GNUTLS]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(GNUTLS_CFLAGS) + + # Verify if the MD5 compatibility layer is usable. + CONFIG_GNUTLS_OPENSSL_COMPAT=yes + EL_CHECK_OPTIONAL_LIBRARY(CONFIG_GNUTLS_OPENSSL_COMPAT, + [GNU TLS OpenSSL compatibility], + gnutls/openssl.h, gnutls-openssl, + MD5_Init) + else + if test -n "$gnutls_withval" && test "x$gnutls_withval" != xno; then + AC_MSG_ERROR([GNUTLS not found]) + fi + EL_RESTORE_FLAGS + fi + fi +fi + +AC_MSG_CHECKING([for GNU TLS]) +AC_MSG_RESULT($cf_result) + +dnl Final SSL setup + +EL_CONFIG_DEPENDS(CONFIG_SSL, [CONFIG_OPENSSL CONFIG_GNUTLS], [SSL]) +AM_CONDITIONAL(CONFIG_OPENSSL, test "$CONFIG_OPENSSL" = yes) +AM_CONDITIONAL(CONFIG_GNUTLS, test "$CONFIG_GNUTLS" = yes) +AM_CONDITIONAL(CONFIG_SSL, test "$CONFIG_SSL" = yes) + +#endif + +AC_MSG_CHECKING([whether to be or not to be]) +AC_MSG_RESULT([needs to be determined experimentally]) + +dnl =================================================================== +dnl Check for IPv6 support and related functions. +dnl =================================================================== + +EL_CHECK_NET_TYPE(struct sockaddr_storage, HAVE_SA_STORAGE, []) +EL_CHECK_NET_TYPE(struct sockaddr_in6, HAVE_SA_IN6, [#include ]) +EL_CHECK_NET_TYPE(struct addrinfo, HAVE_ADDRINFO, [#include ]) + +AC_CHECK_FUNC(getaddrinfo, HAVE_GETADDRINFO=yes, HAVE_GETADDRINFO=no) +if test "$HAVE_GETADDRINFO" != yes; then + AC_CHECK_LIB(inet6, getaddrinfo, HAVE_GETADDRINFO=yes, HAVE_GETADDRINFO=no) + if test "$HAVE_GETADDRINFO" = yes; then + LIBS="$LIBS -linet6" + fi +fi + + +dnl =================================================================== +dnl Checking for X11 (window title restoring). +dnl =================================================================== + +AC_PATH_X +if test x"$no_x" != xyes; then + if test -n "$x_includes"; then + X_CFLAGS="-I$x_includes" + CPPFLAGS="$CPPFLAGS -I$x_includes" + fi + if test -n "$x_libraries"; then + LDFLAGS="$LDFLAGS -L$x_libraries" + fi + LIBS="-lX11 $LIBS" + EL_DEFINE(HAVE_X11, [X11 for restoring window titles]) + AC_SUBST(X_CFLAGS) +fi + + +dnl =================================================================== +dnl Backtraces displaying support. +dnl =================================================================== + +AC_CHECK_HEADERS(execinfo.h, HAVE_EXECINFO=yes, HAVE_EXECINFO=no) +# possible checks for other system-specific means go here + + +dnl =================================================================== +dnl SMB protocol support. +dnl =================================================================== + +AC_CHECK_PROG(HAVE_SMBCLIENT, smbclient, yes, no) + + +dnl =================================================================== +dnl Gettext grey zone. Beware. +dnl =================================================================== + +ALL_LINGUAS="be bg ca cs da de el es et fi fr gl hr hu id is it lt nl no pl pt pt_BR ro ru sk sv tr uk" + +AM_GNU_GETTEXT + +dnl AC_MSG_CHECKING([how many characters your English alphabet has]) +dnl # f33r d4 l33t... I hope it's portable. :) +dnl cf_result=$((48#z - 48#a + 1)); +dnl AC_MSG_RESULT($cf_result) + + +dnl =================================================================== +dnl Compile-time features control +dnl =================================================================== + +EL_ARG_ENABLE(CONFIG_COOKIES, cookies, [Cookies], + [ --disable-cookies disable cookie support]) +AM_CONDITIONAL(CONFIG_COOKIES, test "$CONFIG_COOKIES" = yes) + +EL_ARG_ENABLE(CONFIG_FORMHIST, formhist, [Form history], + [ --disable-formhist disable form history support]) +AM_CONDITIONAL(CONFIG_FORMHIST, test "$CONFIG_FORMHIST" = yes) + +EL_ARG_ENABLE(CONFIG_GLOBHIST, globhist, [Global history], + [ --disable-globhist disable global history support]) +AM_CONDITIONAL(CONFIG_GLOBHIST, test "$CONFIG_GLOBHIST" = yes) + + +EL_ARG_ENABLE(CONFIG_MAILCAP, mailcap, [Mailcap], + [ --disable-mailcap disable mailcap support]) +AM_CONDITIONAL(CONFIG_MAILCAP, test "$CONFIG_MAILCAP" = yes) + +EL_ARG_ENABLE(CONFIG_MIMETYPES, mimetypes, [Mimetypes files], + [ --disable-mimetypes disable mimetypes files support]) +AM_CONDITIONAL(CONFIG_MIMETYPES, test "$CONFIG_MIMETYPES" = yes) + + +EL_ARG_DEPEND(CONFIG_IPV6, ipv6, + [HAVE_SA_STORAGE:yes HAVE_SA_IN6:yes HAVE_ADDRINFO:yes HAVE_GETADDRINFO:yes], + [IPv6], + [ --disable-ipv6 disable IPv6 support]) +AM_CONDITIONAL(CONFIG_IPV6, test "$CONFIG_IPV6" = yes) + +EL_ARG_ENABLE(CONFIG_BITTORRENT, bittorrent, [BitTorrent protocol], + [ --enable-bittorrent enable BitTorrent protocol support]) +AM_CONDITIONAL(CONFIG_BITTORRENT, test "$CONFIG_BITTORRENT" = yes) + +EL_ARG_ENABLE(CONFIG_DATA, data, [Data protocol], + [ --disable-data disable data protocol support]) +AM_CONDITIONAL(CONFIG_DATA, test "$CONFIG_DATA" = yes) + +EL_ARG_ENABLE(CONFIG_URI_REWRITE, uri-rewrite, [URI rewriting], + [ --disable-uri-rewrite disable URI rewrite support]) +AM_CONDITIONAL(CONFIG_URI_REWRITE, test "$CONFIG_URI_REWRITE" = yes) + +EL_ARG_DEPEND(CONFIG_CGI, cgi, [HAVE_SETENV_OR_PUTENV:yes], [Local CGI], + [ --enable-cgi enable local CGI support]) +AM_CONDITIONAL(CONFIG_CGI, test "$CONFIG_CGI" = yes) + +EL_ARG_ENABLE(CONFIG_FINGER, finger, [Finger protocol], + [ --enable-finger enable finger protocol support]) +AM_CONDITIONAL(CONFIG_FINGER, test "$CONFIG_FINGER" = yes) + +EL_ARG_ENABLE(CONFIG_FTP, ftp, [FTP protocol], + [ --disable-ftp disable ftp protocol support]) +AM_CONDITIONAL(CONFIG_FTP, test "$CONFIG_FTP" = yes) + +EL_ARG_ENABLE(CONFIG_GOPHER, gopher, [Gopher protocol], + [ --enable-gopher enable gopher protocol support]) +AM_CONDITIONAL(CONFIG_GOPHER, test "$CONFIG_GOPHER" = yes) + +EL_ARG_ENABLE(CONFIG_NNTP, nntp, [NNTP protocol], + [ --enable-nntp enable nntp protocol support]) +AM_CONDITIONAL(CONFIG_NNTP, test "$CONFIG_NNTP" = yes) + +EL_ARG_DEPEND(CONFIG_SMB, smb, [HAVE_SMBCLIENT:yes], [SMB protocol], + [ --disable-smb disable SMB protocol support (requires smbclient)]) +AM_CONDITIONAL(CONFIG_SMB, test "$CONFIG_SMB" = yes) + + +EL_ARG_ENABLE(CONFIG_MOUSE, mouse, [Mouse handling], + [ --disable-mouse disable mouse support]) +AM_CONDITIONAL(CONFIG_MOUSE, test "$CONFIG_MOUSE" = yes) + +# GPM mouse is Linux specific, so ... +CONFIG_SYSMOUSE=yes +EL_ARG_DEPEND(CONFIG_SYSMOUSE, sysmouse, + [CONFIG_MOUSE:yes CONFIG_GPM:no HAVE_SYSMOUSE_HEADER:yes], + [BSD sysmouse], + [ --disable-sysmouse disable BSD sysmouse support]) +AM_CONDITIONAL(CONFIG_SYSMOUSE, test "$CONFIG_SYSMOUSE" = yes) + +EL_ARG_ENABLE(CONFIG_88_COLORS, 88-colors, [88 colors], + [ --enable-88-colors enable 88 color support]) +AM_CONDITIONAL(CONFIG_256_COLORS, test "$CONFIG_256_COLORS" = yes) + +EL_ARG_ENABLE(CONFIG_256_COLORS, 256-colors, [256 colors], + [ --enable-256-colors enable 256 color support]) +AM_CONDITIONAL(CONFIG_256_COLORS, test "$CONFIG_256_COLORS" = yes) + + +EL_ARG_ENABLE(CONFIG_EXMODE, exmode, [Exmode interface], + [ --enable-exmode enable exmode (CLI) interface]) +AM_CONDITIONAL(CONFIG_EXMODE, test "$CONFIG_EXMODE" = yes) + +EL_ARG_ENABLE(CONFIG_LEDS, leds, [LEDs], + [ --disable-leds disable LEDs support]) +AM_CONDITIONAL(CONFIG_LEDS, test "$CONFIG_LEDS" = yes) + +EL_ARG_ENABLE(CONFIG_MARKS, marks, [Marks], + [ --disable-marks disable document marks support]) +AM_CONDITIONAL(CONFIG_MARKS, test "$CONFIG_MARKS" = yes) + + +EL_ARG_ENABLE(CONFIG_CSS, css, [Cascading Style Sheets], + [ --disable-css disable Cascading Style Sheet support]) +AM_CONDITIONAL(CONFIG_CSS, test "$CONFIG_CSS" = yes) + +EL_ARG_DEPEND(CONFIG_HTML_HIGHLIGHT, html-highlight, [CONFIG_CSS:yes], [HTML highlighting], + [ --enable-html-highlight HTML highlighting using DOM engine]) +AM_CONDITIONAL(CONFIG_HTML_HIGHLIGHT, test "$CONFIG_HTML_HIGHLIGHT" = yes) + +dnl Everything in the tree already uses CONFIG_DOM +dnl so resolve CONFIG_HTML_HIGHLIGHT to CONFIG_DOM +EL_CONFIG_DEPENDS(CONFIG_DOM, [CONFIG_HTML_HIGHLIGHT], [DOM engine]) +AM_CONDITIONAL(CONFIG_DOM, test "$CONFIG_DOM" = yes) + +EL_ARG_DEPEND(CONFIG_BACKTRACE, backtrace, [HAVE_EXECINFO:yes], [Backtrace], + [ --disable-backtrace disable backtrace support]) +AM_CONDITIONAL(CONFIG_BACKTRACE, test "$CONFIG_BACKTRACE" = yes) + +EL_ARG_DEPEND(CONFIG_NO_ROOT_EXEC, no-root, [HAVE_GETUID:yes HAVE_GETEUID:yes], [No root exec], + [ --enable-no-root enable prevention of usage by root]) +AM_CONDITIONAL(CONFIG_NO_ROOT_EXEC, test "$CONFIG_NO_ROOT_EXEC" = yes) + + +EL_ARG_ENABLE(CONFIG_DEBUG, debug, [Debug mode], + [ --enable-debug enable leak debug and internal error checking]) +AM_CONDITIONAL(CONFIG_DEBUG, test "$CONFIG_DEBUG" = yes) + +EL_ARG_DEPEND(CONFIG_FASTMEM, fastmem, [CONFIG_DEBUG:no], [Fast mode], + [ --enable-fastmem enable direct use of system allocation functions, not usable with --enable-debug]) +AM_CONDITIONAL(CONFIG_FASTMEM, test "$CONFIG_FASTMEM" = yes) + +EL_ARG_ENABLE(CONFIG_OWN_LIBC, own-libc, [Own libc stubs], + [ --enable-own-libc force use of internal functions instead of those of system libc]) +AM_CONDITIONAL(CONFIG_OWN_LIBC, test "$CONFIG_OWN_LIBC" = yes) + +EL_ARG_ENABLE(CONFIG_SMALL, small, [Small binary], + [ --enable-small reduce binary size as far as possible (but see the bottom of doc/small.txt!)]) +AM_CONDITIONAL(CONFIG_SMALL, test "$CONFIG_SMALL" = yes) + +if test "$CONFIG_OPENSSL" != yes && + test "$CONFIG_GNUTLS_OPENSSL_COMPAT" != yes || + test "$CONFIG_OWN_LIBC" = yes; +then + AC_MSG_CHECKING(for built-in MD5 support) + AC_MSG_RESULT(yes) + EL_CONFIG(CONFIG_MD5, [Built-in MD5]) +fi + +AM_CONDITIONAL(CONFIG_MD5, test "$CONFIG_MD5" = yes) + +if test "$CONFIG_BITTORRENT" = yes; then + if test "$CONFIG_OPENSSL" != yes || + test "$CONFIG_OWN_LIBC" = yes; + then + AC_MSG_CHECKING(for built-in SHA1 support) + AC_MSG_RESULT(yes) + EL_CONFIG(CONFIG_SHA1, [Built-in SHA1]) + fi +fi + +AM_CONDITIONAL(CONFIG_SHA1, test "$CONFIG_SHA1" = yes) + +if test "$CONFIG_CSS" = yes || test "$CONFIG_DOM" = yes; +then + EL_CONFIG(CONFIG_SCANNER, [Built-in scanner]) +fi +AM_CONDITIONAL(CONFIG_SCANNER, test "$CONFIG_SCANNER" = yes) + +AC_ARG_ENABLE(weehoofooboomookerchoo, + [ + Also check out the features.conf file for more information about features! + ], + [AC_MSG_ERROR(Are you strange, or what?)]) + + +dnl == EMX hack + +test "$CONFIG_OS2" = yes && LDFLAGS="$LDFLAGS -Zexe" +test "$CONFIG_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zbin-files//g"` + + +dnl =================================================================== +dnl Export directory paths +dnl =================================================================== + +# Set up the ``entry points'' if they were not supplied by builder +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix=${prefix} + +# Create CONFDIR #define for config.h + +# XXX: This may be dependent on a particular version of autoconf. Whatever, +# it's autoconf fault to force us to do such hacks ;p. +if test x"$sysconfdir" = x"\${prefix}/etc"; then + # sysconfdir is set to its default value... fine, let's append /elinks/ + # XXX: We can't modify listing of the default in ./configure --help :-( + sysconfdir_n=`eval echo "$sysconfdir"` + sysconfdir=$sysconfdir_n + (echo "$sysconfdir" | grep elinks >/dev/null 2>/dev/null) || \ + sysconfdir="$sysconfdir/elinks" +fi + +CONFDIR=$sysconfdir +AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR", [Directory containing default config]) +AC_SUBST(CONFDIR) + +# Create LOCALEDIR #define for config.h +LOCALEDIR=`eval echo "$datadir/locale"` +AC_DEFINE_UNQUOTED(LOCALEDIR, "$LOCALEDIR", [Directory containing locales]) +AC_SUBST(LOCALEDIR) + +# Create LIBDIR #define for config.h +LIBDIR=`eval echo "$libdir"` +AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [Directory containing libraries]) +AC_SUBST(LIBDIR) + +EL_LOG_CONFIG(CONFDIR, [System configuration directory], []) +EL_LOG_CONFIG(LOCALEDIR, [Locale catalogs directory], []) + +dnl =================================================================== +dnl A little fine tuning of gcc specific options (continued) +dnl =================================================================== + +if test "x$ac_cv_prog_gcc" = "xyes"; then + if test "$CONFIG_DEBUG" = "yes"; then + dnl We want to see all warnings and live with none (in debug mode). + CFLAGS="$CFLAGS -Werror" + fi + + case "`gcc -dumpversion`" in + 3.0|3.1|3.2) + # These should be ok using -Werror + ;; + 3.*) + # If gcc is version 3.3 (or higher?) it emits lots of false positive + # "dereferencing type-punned pointer will break strict-aliasing rules" + # warnings. Disable them by not doing any strict-aliasing. The + # alternative is just too ugly. Thanks gcc guys!! ;) + CFLAGS="$CFLAGS -fno-strict-aliasing" + ;; + 4.*) + # Do not show warnings related to (char * | unsigned char *) type + # difference. + CFLAGS="$CFLAGS -fno-strict-aliasing -Wno-pointer-sign" + ;; + *) + # These should be ok using -Werror + ;; + esac +fi + +# CFLAGS doesn't contain all compile flags. Some will be added only when +# needed in the respective source directory. To get all compile flags +# easily just add CPPFLAGS. +ALL_CFLAGS="$CFLAGS $CPPFLAGS" + +EL_LOG_CONFIG(ALL_CFLAGS, [Compiler options (CFLAGS)], []) +EL_LOG_CONFIG(LIBS, [Linker options (LIBS)], []) + +dnl =================================================================== +dnl Generated files +dnl =================================================================== + +AC_OUTPUT([ \ + Makefile \ + Unicode/Makefile \ + config/Makefile \ + contrib/Makefile \ + contrib/elinks.spec \ + contrib/lua/hooks.lua \ + contrib/conv/w3m2links.awk \ + debian/Makefile \ + doc/Makefile \ + doc/man/Makefile \ + doc/man/man1/Makefile \ + doc/man/man1/elinks.1 \ + doc/man/man5/Makefile \ + intl/Makefile \ + po/Makefile \ + src/Makefile \ + src/bfu/Makefile \ + src/bookmarks/Makefile \ + src/bookmarks/backend/Makefile \ + src/cache/Makefile \ + src/config/Makefile \ + src/cookies/Makefile \ + src/dialogs/Makefile \ + src/document/Makefile \ + src/document/css/Makefile \ + src/document/dom/Makefile \ + src/document/html/Makefile \ + src/document/html/parser/Makefile \ + src/document/plain/Makefile \ + src/document/sgml/Makefile \ + src/document/sgml/html/Makefile \ + src/ecmascript/Makefile \ + src/ecmascript/spidermonkey/Makefile \ + src/encoding/Makefile \ + src/formhist/Makefile \ + src/globhist/Makefile \ + src/intl/Makefile \ + src/intl/gettext/Makefile \ + src/intl/gettext/ref-add.sed \ + src/intl/gettext/ref-del.sed \ + src/main/Makefile \ + src/mime/Makefile \ + src/mime/backend/Makefile \ + src/network/Makefile \ + src/network/ssl/Makefile \ + src/osdep/Makefile \ + src/osdep/beos/Makefile \ + src/osdep/os2/Makefile \ + src/osdep/riscos/Makefile \ + src/osdep/unix/Makefile \ + src/osdep/win32/Makefile \ + src/protocol/Makefile \ + src/protocol/auth/Makefile \ + src/protocol/bittorrent/Makefile \ + src/protocol/file/Makefile \ + src/protocol/finger/Makefile \ + src/protocol/ftp/Makefile \ + src/protocol/gopher/Makefile \ + src/protocol/http/Makefile \ + src/protocol/nntp/Makefile \ + src/protocol/rewrite/Makefile \ + src/protocol/smb/Makefile \ + src/scripting/Makefile \ + src/scripting/guile/Makefile \ + src/scripting/lua/Makefile \ + src/scripting/perl/Makefile \ + src/scripting/python/Makefile \ + src/scripting/ruby/Makefile \ + src/session/Makefile \ + src/terminal/Makefile \ + src/util/Makefile \ + src/viewer/Makefile \ + src/viewer/dump/Makefile \ + src/viewer/text/Makefile \ + test/Makefile +]) + + +dnl =================================================================== +dnl Configuration summary +dnl =================================================================== + +AC_MSG_RESULT(The following feature summary has been saved to features.log) +cat features.log diff --git a/contrib/.cvsignore b/contrib/.cvsignore new file mode 100644 index 00000000..15f43838 --- /dev/null +++ b/contrib/.cvsignore @@ -0,0 +1,5 @@ +Makefile +Makefile.in +.deps +elinks.spec +*.swp diff --git a/contrib/LinksOS2Icon.zip b/contrib/LinksOS2Icon.zip new file mode 100644 index 0000000000000000000000000000000000000000..7a0ada57e7c46261adc7402e11167da48ee4fffb GIT binary patch literal 5647 zcmcIo2T)U6w+=1z3mT+~fFROAiV~y+lwy$HMF_n&0clDo8WE)!P(W!4QUaGI(xoU( z2*pCL(p12Up!7iA0q+mdKh8Yg%*)K0lQWt9<=bnmZ?CnsE}V><2}BB_0wHcDCg=I%gGHU^e?mjUufY{O_k**Ga(7^AAd3iX_(|z^% zID?+FK_DhpzI#!VzCF&3ZKUJ#zghpBQeWhAOkE5e9miG`p0AX2BZWkfr%-tlU{8l< zJ0_1I%d;1wUZw@pSSU5q8g^vpPqOPBPDwY`PcuzupD@guc=#ycVSKz<%Hzy9*a=MUjozF1tO+v`5 zg@vWUD6=4TV6r>iw;*ZxYv#3z`P)*kOrhIS3k{Qgo|Vks;X|KwdV`BURo(86;KV`1 z+{#6vJXTDyj+&Q4Cz(4_bvjZk72e}g57n+lR7Q*~JoBkAOdb9BvH?L)umw(F3r6>= zHopMWAtb-w!k>l^ycfc1lDixYhGa>8v)E)53WZk=10ve^9w|XfW#NIhAYoz@0OGpC zKtiXxiG+{UZ7D?F0dE$~hV&P&5Ko2DGy;uXrSsvXn4^2zjg z(_wGr^WH8^gS^gt4l{R>j7!=|Pf5s&Ovzokb|Of!M;feSqLk>TO?`3CLo|T&Kp^@X z7!h8!8#mK{@4NPs^rR#Mq$GbxPhC?@7HZ86;s$N(E&~DC3&QVy;n^Su97_rk*?rml z9YpGx5S!QWg&{MgZ0J$wSZ#1RMWedMaW9muW}4v37H*Ng)#!0$fmYse;cX|_hZs{F z9fLsX>y}2&Wa0SipiZ?M)GQ>(FDT5|(D9~Be!~ZILv?MBsb!HDbqm=`7BDGFssR&| zaO;4`q}_O7<0s9#cV*NA$u$c#p=zfTXn`Te3mmm0YlKsCbw)B+X0 zeu@brha@7qc*`AD)$dq;Tb#E1$bi= zup@x&%Xlxs#_F&G5gQ_O5$m1J{|gb{`B%hnlLpQ1-e6J7^wDi4Sf+Tht#%8>Z?I5u zVd##M#^Mgf=lc8{KELvq?3~6*u)tXyV*TXD>vJ#L9Ww8?ZqPW;&sK*z92+ zUrj>6XR2uvAKt*lrnKpm6l6Ki7L0s6)M_Zok5nxG`r&WKv&m*ntUuM>azM#s;Ry1V z0FB+;B}#>8)JXS~EaSTo5yk|s&Me|3d({&1kJ9Y|WkttOok-!h9Xwv?6%s`mJE!cD z3=hYJhmrQ{ERps~<|b6CC6Is2xu0;7`KhF=kx=C<|I^uNJ7&jE0$E39J_=RxW%Gqk zJNVx&BEy{d?(0pLmlU5e(S&{X(xo96+uTq!an2z3)%%Du5V;uXT3;EPs}An*2?OPb zlg|noSlCc~P&)C!RSPBx7ou8KjlhVg*90;J1N)5z?5C2u=l)+y?rsGBtmO9oD7oug z1KaqRE9p^Lx-FRVJ7*sR;LWBx-F=!iOYJA8F5Y8l7yo-<5b6K2!l|R{OT3Dyu~G85 z>0${}GJUZ>b-O8xg1deF~8pmQ)nW<&K zF*|@A25kS(HC2b5I(=~BzDM-@;fdQZ7aISgZK~NqhO1d!n60HNl7SYjv0<6z#R8PN z*H&li@W%e*l@(c%-^B&xl5J0ne+?*6&+orr;$E)ZE3$nyXt5Mp6QAz8jhi}hEw{!d zb`IBBRGnkYB^L~>Ev$tVm72F@=GH#RFUyI}FMnE<_Ozs`KBFS1z`F15#L@(g0V{H%X281Z`=Nh$&JPMhDOy}u?zk3A(PX2?;N|*3|Q=n!2}*E z13a|Z{f{^WkTxQK5%CbwtYQDrSPKU-8BMrHK`rzM z3<*}wXI4v9^%XLs0g1vR=9H2s$i*sM4ecA{K0>(jl7inE?rG;MSJ?*h?UOF7pR-Q^yS2>gM(gQB;)aE?U(NNQOKNh zwVC+{X{iyu%Vl+bAs6zkk$YA>H5YkpMwR9I=WCNIpb(y&VV%%au|R>&jBF8Dp0?SG zoQx(|Kj``SzG<#93tG>(`WZH(4=44nh&`QnoS-JA(xobPH-((^5c-yOpdPYtdwRik zgnwE*8{6!#FyXUqqNd}AC-un)gMJFF6A0ONX1`Qhjq>s5ss zaN^|H@W!+Z*y?ni(Y0d{L0PfhOANiGYslnN4Kel3^ytVy#&0do*lp|g_;r7(0hKA~ zxj@#Qi0QK}<8m$I^zFF=Yg;WT$2hAl7k%)_d)SZ6p*S~ABMSBU3Le6&iVH%;cBmg0 zVZUe@2hNuCv{!ykDlRSUv4uF>du+&dLC2*AXJxkrZxk9--~WDb2x*6Xyj9#l#%^PMuI0z?oQ`p!Vy9n*Go1g&ZmCPZbFrE*U>a(*bSDYL*o zb(>q00hfR?c5n}xa&UDV>#x9KOAL#Qq z{i6JghyU63)n`7R%(A$A{#2^gNzXoR1J`-#_KA&P%WzlM;*!5~+^#CVlAFkom+NK3 zK#oasdOxpQK%C*|ut_tlH(SAjpajRbl;gdYVR#}2kO!O?IJYG|5A!4ZEon2e@TM7 zduliNocgl#NLENMPu^nFo3Q4^q-C#4w-wj>)=69^Dh^vN4@9ah9UiQh();i_So^Vi z%6(Ou8?U-oo+-0erF^9>SgyGc&7Q^AI$_9pL*~tECOBE<+oFH6xMSzLBQ`y)xG0_D z=%<2bvJfYo=?p1(Iq#`yI0^}$;xBlS;U%m22sK{z#diEs;@f6Sys_({v_zl43h&`A zl)xo@Ne^@_pI1bDG@}^QNp9H5S)c`H<>lN^;e2kan&I8+;d)&-2`LNs_xC$MG65fM zPB|0#H2&5s2Mp>;dd?cmPzOpAq&OEkY1t_X!6e zW`IzLf$TH+{m6X)5)3G9AB124C!|4a$UQ)SlM_MM=kOyU#D>BHgv%7aBK$id5|SV` zRvkcCf{8)=!h+beaR3oTNdQ4Gdk~T!HY6M%9HAnD@CyfGE%yNeHBe#qqw#YCPDq1T zAAA5(^&601m=Nn34?y115HQ*AAPGqj>!=Raf2aMg^}qZ-vF74ny&ye7t3mj;#LC3( iGLj#{0=kqv2NDzwT{s1h9lHgE5ySx`>)4^)xBmeGtpY#* literal 0 HcmV?d00001 diff --git a/contrib/Makefile.am b/contrib/Makefile.am new file mode 100644 index 00000000..6a0820e0 --- /dev/null +++ b/contrib/Makefile.am @@ -0,0 +1,42 @@ +## Process this file with automake to produce Makefile.in +## $Id: Makefile.am,v 1.19 2005/06/03 02:18:43 jonas Exp $ + +include $(top_srcdir)/Makefile.base + +EXTRA_DIST = \ + LinksOS2Icon.zip \ + README \ + colws.diff \ + elinks.conf \ + elinks-vim.diff \ + elinks.fortune \ + elinks.spec.in \ + elinks.vim \ + js-1.5-rc6a+elinks.patch \ + keybind-full.conf \ + keybind.conf \ + links_wps.zip \ + wipe-out-ssl \ + wipe-out-ssl.awk \ + user.css \ + TIPS-AND-TRICKS \ + conv/conf-links2elinks.pl \ + conv/mailcap.pl \ + conv/old_to_new_bookmarks.sh \ + conv/w3m2links.awk \ + conv/w3m2links.awk.in \ + guile/internal-hooks.scm \ + guile/user-hooks.scm \ + lua/babelfish.lua \ + lua/bm-to-elinks-bookmarks.lua \ + lua/bm.lua \ + lua/config.lua \ + lua/elinks-remote \ + lua/highlight.lua \ + lua/hooks.lua.in \ + lua/md5check.lua \ + lua/remote.lua \ + perl/hooks.pl \ + perl/config.pl \ + python/hooks.py \ + ruby/hooks.rb diff --git a/contrib/README b/contrib/README new file mode 100644 index 00000000..1b6f7ac6 --- /dev/null +++ b/contrib/README @@ -0,0 +1,27 @@ +This directory contains unsorted stuff contributed by other people, which is +not incorporated to main ELinks distribution, however may be still interesting +for someone. You will find here i.e. example configuration files or patches, +which weren't (possibly yet) for some reason applied. Note that this stuff is +mostly unmaintained and is not guaranteed to work, apply, compile etc. However, +if you feel like fixing that, no problem. + +Files not listed here have description included in their header. + +* links_wps.zip - David Mediavilla + Scripts for OS/2 to create Links icon and assign Links as viewer of + URLs. + +* LinksOS2Icon.zip - Alex Taylor + Links icons for OS/2 in various sizes and color depths + +* colws.diff - + Show two spaces after full stops/periods, especially when HTML It + shouldn't adversely affect web pages. Two spaces will only appear + where the HTML contains them. + +* elinks[.-]vim* - Jonas Fonseca + Syntax file for vim so that elinks.conf is highlighted nicely, and + patch for $VIMRUNTIME/filetype.vim so that elinks.conf is properly + detected and the elinks syntax is associated to it. + +$Id: README,v 1.11 2003/06/21 13:25:02 jonas Exp $ diff --git a/contrib/TIPS-AND-TRICKS b/contrib/TIPS-AND-TRICKS new file mode 100644 index 00000000..6cd37333 --- /dev/null +++ b/contrib/TIPS-AND-TRICKS @@ -0,0 +1,17 @@ +Following are user contributed tips and tricks: + + + +Poor Man's screen(1) ~or~ "relinks": + +This will start ELinks on a *new* console if it is not already running, or open +the specified URL (if any) in a new tab in the running instance. Save this +script as "relinks" or something. Written by Russ, quoting fixed by Miciah. + + #!/bin/sh + + elinks -remote ping\(\) 2>/dev/null \ + && elinks -remote openURL\(${1:+"${1}"},new-tab\) \ + && exit 0 + openvt -sw -- elinks ${1:+"${1}"} & + deallocvt diff --git a/contrib/cgi/Makefile b/contrib/cgi/Makefile new file mode 100644 index 00000000..9881520a --- /dev/null +++ b/contrib/cgi/Makefile @@ -0,0 +1,2 @@ +fspcgi: fspcgi.o + $(CC) -o $@ $< -lfsplib diff --git a/contrib/cgi/README.FSP b/contrib/cgi/README.FSP new file mode 100644 index 00000000..f6948586 --- /dev/null +++ b/contrib/cgi/README.FSP @@ -0,0 +1,8 @@ +To use this cgi script: + +Build fspcgi, copy executable to your cgi directory. +Usage: +file:///"path_to_fspcgi"?host:port/path_to_file_or_directory + + +More info about FSP protocol you find on http://fsp.sourceforge.net/. diff --git a/contrib/cgi/fspcgi.c b/contrib/cgi/fspcgi.c new file mode 100644 index 00000000..37e49ac5 --- /dev/null +++ b/contrib/cgi/fspcgi.c @@ -0,0 +1,173 @@ +/* CGI script for FSP protocol support */ +/* $Id: fspcgi.c,v 1.8 2005/06/29 19:53:18 witekfl Exp $ */ + +#include +#include +#include +#include +#include +#include +#include +#include + +char *pname, *query; + +struct fq { + char *password; + char *host; + char *path; + unsigned short port; +} data; + +static void +error(const char *str) +{ + printf("Content-Type: text/plain\r\nConnection: close\r\n\r\n"); + puts(str); + printf("%s\n", query); + exit(1); +} + +static void +process_directory(FSP_SESSION *ses) +{ + char buf[1024]; + FSP_DIR *dir; + /* TODO: password */ + + snprintf(buf, sizeof(buf), "file://%s?%s:%d%s/", pname, data.host, + data.port, data.path); + printf("Content-Type: text/html\r\n\r\n"); + printf("%s\n", buf); + dir = fsp_opendir(ses, data.path); + if (dir) { + FSP_RDENTRY fentry, *fresult; + + while (!fsp_readdir_native(dir, &fentry, &fresult)) { + if (!fresult) break; + printf("%s
\n", buf, fentry.name, fentry.name); + } + fsp_closedir(dir); + } + puts(""); + fsp_close_session(ses); + exit(0); +} + +static void +process_data(void) +{ + FSP_SESSION *ses = fsp_open_session(data.host, data.port, data.password); + struct stat sb; + + if (!ses) error("Session initialization failed."); + if (fsp_stat(ses, data.path, &sb)) error("File not found."); + if (S_ISDIR(sb.st_mode)) process_directory(ses); + else { /* regular file */ + char buf[4096]; + FSP_FILE *file = fsp_fopen(ses, data.path, "r"); + int r; + + if (!file) error("fsp_fopen error."); + printf("Content-Type: application/octet-stream\r\nContent-Length: %d\r\n" + "Connection: close\r\n\r\n", sb.st_size); + while ((r = fsp_fread(buf, 1, 4096, file)) > 0) fwrite(buf, 1, r, stdout); + fsp_fclose(file); + fsp_close_session(ses); + exit(0); + } +} + +static void +process_query(void) +{ + char *at = strchr(query, '@'); + char *colon; + char *slash; + + if (at) { + *at = '\0'; + data.password = strdup(query); + query = at + 1; + } + colon = strchr(query, ':'); + if (colon) { + *colon = '\0'; + data.host = strdup(query); + data.port = atoi(colon + 1); + slash = strchr(colon + 1, '/'); + if (slash) { + data.path = strdup(slash); + } else { + data.path = "/"; + } + } else { + data.port = 21; + slash = strchr(query, '/'); + if (slash) { + *slash = '\0'; + data.host = strdup(query); + *slash = '/'; + data.path = strdup(slash); + } else { + data.host = strdup(query); + data.path = "/"; + } + } + process_data(); +} + +static inline int +unhx(register unsigned char a) +{ + if (isdigit(a)) return a - '0'; + if (a >= 'a' && a <= 'f') return a - 'a' + 10; + if (a >= 'A' && a <= 'F') return a - 'A' + 10; + return -1; +} + +static void +decode_query(char *src) +{ + char *dst = src; + char c; + + do { + c = *src++; + + if (c == '%') { + int x1 = unhx(*src); + + if (x1 >= 0) { + int x2 = unhx(*(src + 1)); + + if (x2 >= 0) { + x1 = (x1 << 4) + x2; + if (x1 != 0) { /* don't allow %00 */ + c = (unsigned char) x1; + src += 2; + } + } + } + + } else if (c == '+') { + c = ' '; + } + + *dst++ = c; + } while (c != '\0'); +} + +int +main(int argc, char **argv) +{ + char *q = getenv("QUERY_STRING"); + + if (!q) return 1; + pname = argv[0]; + query = strdup(q); + if (!query) return 2; + decode_query(query); + process_query(); + return 0; +} diff --git a/contrib/colws.diff b/contrib/colws.diff new file mode 100644 index 00000000..83700b52 --- /dev/null +++ b/contrib/colws.diff @@ -0,0 +1,29 @@ +I like to see two spaces after full stops/periods, especially when HTML +authors have put them there. The following patch to 20020305 achieves +that. + +You might like to do the same for colons. + +It shouldn't adversely affect web pages. Two spaces will only appear +where the HTML contains them. I will be using it: you may do with it as +you wish. + +--- elinks/src/document/html/parser.c.~1.25.~ Tue Mar 5 22:42:43 2002 ++++ elinks/src/document/html/parser.c Thu Apr 11 16:13:10 2002 +@@ -1997,7 +1997,7 @@ + + void parse_html(unsigned char *html, unsigned char *eof, void (*put_chars)(void *, unsigned char *, int), void (*line_break)(void *), void (*init)(void *), void *(*special)(void *, int, ...), void *f, unsigned char *head) + { +- /*unsigned char *start = html;*/ ++ unsigned char *start = html; + unsigned char *lt; + putsp = -1; + line_breax = table_level ? 2 : 1; +@@ -2048,6 +2048,7 @@ + put_chrs(lt, html - 1 - lt, put_chars, f); + put_chrs(" ", 1, put_chars, f); + } ++ if ((html > start+1) && (*(html-2)=='.' || *(html-2)==':')) putsp = 1; + skip_w: + while (html < eof && WHITECHAR(*html)) html++; + /*putsp = -1;*/ diff --git a/contrib/conv/.cvsignore b/contrib/conv/.cvsignore new file mode 100644 index 00000000..be1c0f9e --- /dev/null +++ b/contrib/conv/.cvsignore @@ -0,0 +1,5 @@ +Makefile +Makefile.in +.deps +*.swp +w3m2links.awk diff --git a/contrib/conv/conf-links2elinks.pl b/contrib/conv/conf-links2elinks.pl new file mode 100755 index 00000000..481e9904 --- /dev/null +++ b/contrib/conv/conf-links2elinks.pl @@ -0,0 +1,277 @@ +#!/usr/bin/perl +# This script converts html.cfg and links.cfg files of Links and older ELinks +# versions to the new ELinks' elinks.conf. Intended use: +# +# cat .links/html.cfg .links/links.cfg .links/user.cfg | +# conf-links2elinks.pl > .elinks/elinks.conf + +eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' + if $running_under_some_shell; + # this emulates #! processing on NIH machines. + # (remove #! line above if indigestible) + +eval '$'.$1.'$2;' while $ARGV[0] =~ /^([A-Za-z_0-9]+=)(.*)/ && shift; + # process any FOO=bar switches + +$[ = 1; # set array base to 1 +$, = ' '; # set output field separator +$\ = "\n"; # set output record separator + +print <
) { + chomp; # strip record separator + @Fld = split(' ', $_, 9999); + + ### + ### links.conf + ### + + if ($Fld[1] eq 'accesskey_enter') { + print 'set document.browse.accesskey.auto_follow = ' . $Fld[2]; + } + if ($Fld[1] eq 'accesskey_priority') { + print 'set document.browse.accesskey.priority = ' . $Fld[2]; + } + if ($Fld[1] eq 'allow_special_files') { + print 'set protocol.file.allow_special_files = ' . $Fld[2]; + } + if ($Fld[1] eq 'async_dns') { + print 'set connection.async_dns = ' . $Fld[2]; + } + if ($Fld[1] eq 'color_dirs') { + print 'set document.browse.links.color_dirs = ' . $Fld[2]; + } + if ($Fld[1] eq 'cookies_accept') { + print 'set cookies.accept_policy = ' . $Fld[2]; + } + if ($Fld[1] eq 'cookies_paranoid_security') { + print 'set cookies.paranoid_security = ' . $Fld[2]; + } + if ($Fld[1] eq 'cookies_save') { + print 'set cookies.save = ' . $Fld[2]; + } + if ($Fld[1] eq 'cookies_resave') { + print 'set cookies.resave = ' . $Fld[2]; + } + if ($Fld[1] eq 'download_dir') { + print 'set document.download.directory = ' . $Fld[2]; + } + if ($Fld[1] eq 'download_utime') { + print 'set document.download.set_original_time = ' . $Fld[2]; + } + if ($Fld[1] eq 'dump_width') { + print 'set document.dump.width = ' . $Fld[2]; + } + if ($Fld[1] eq 'format_cache_size') { + print 'set document.cache.format.size = ' . $Fld[2]; + } + if ($Fld[1] eq 'form_submit_auto') { + print 'set document.browse.forms.auto_submit = ' . $Fld[2]; + } + if ($Fld[1] eq 'form_submit_confirm') { + print 'set document.browse.forms.confirm_submit = ' . $Fld[2]; + } + if ($Fld[1] eq 'ftp.anonymous_password') { + print 'set protocol.ftp.anon_passwd = ' . $Fld[2]; + } + if ($Fld[1] eq 'ftp_proxy') { + print 'set protocol.ftp.proxy.host = ' . $Fld[2]; + } + if ($Fld[1] eq 'http_bugs.allow_blacklist') { + print 'set protocol.http.bugs.allow_blacklist = ' . $Fld[2]; + } + if ($Fld[1] eq 'http_bugs.bug_302_redirect') { + print 'set protocol.http.bugs.broken_302_redirect = ' . $Fld[2]; + } + if ($Fld[1] eq 'http_bugs.bug_post_no_keepalive') { + print 'set protocol.http.bugs.post_no_keepalive = ' . $Fld[2]; + } + if ($Fld[1] eq 'http_bugs.http10') { + print 'set protocol.http.bugs.http10 = ' . $Fld[2]; + } + if ($Fld[1] eq 'http_proxy') { + print 'set protocol.http.proxy.host = ' . $Fld[2]; + } + if ($Fld[1] eq 'http_referer') { + print 'set protocol.http.referer.policy = ' . $Fld[2]; + } + if ($Fld[1] eq 'fake_referer') { + print 'set protocol.http.referer.fake = ' . $Fld[2]; + } + if ($Fld[1] eq 'enable_global_history') { + print 'set document.history.global.enable = ' . $Fld[2]; + } + if ($Fld[1] eq 'keep_unhistory') { + print 'set document.history.keep_unhistory = ' . $Fld[2]; + } + if ($Fld[1] eq 'language') { + print 'set ui.language = ' . $Fld[2]; + } + if ($Fld[1] eq 'max_connections') { + print 'set connection.max_connections = ' . $Fld[2]; + } + if ($Fld[1] eq 'max_connections_to_host') { + print 'set connection.max_connections_to_host = ' . $Fld[2]; + } + if ($Fld[1] eq 'memory_cache_size') { + print 'set document.cache.memory.size = ' . $Fld[2]; + } + if ($Fld[1] eq 'receive_timeout') { + print 'set connection.receive_timeout = ' . $Fld[2]; + } + if ($Fld[1] eq 'retries') { + print 'set connection.retries = ' . $Fld[2]; + } + if ($Fld[1] eq 'show_status_bar') { + print 'set ui.show_status_bar = ' . $Fld[2]; + } + if ($Fld[1] eq 'show_title_bar') { + print 'set ui.show_title_bar = ' . $Fld[2]; + } + if ($Fld[1] eq 'unrestartable_receive_timeout') { + print 'set connection.unrestartable_receive_timeout = ' . $Fld[2]; + } + if ($Fld[1] eq 'user_agent') { + print 'set protocol.http.user_agent = ' . $Fld[2]; + } + if ($Fld[1] eq 'terminal') { + $Fld[2] = substr($Fld[2], 2, length($Fld[2]) - 2); + print 'set terminal.' . $Fld[2] . '.type = ' . $Fld[4]; + print 'set terminal.' . $Fld[2] . '.m11_hack = ' . $Fld[4]; + print 'set terminal.' . $Fld[2] . '.utf_8_io = ' . (($Fld[7] eq '') ? '0' : '1'); + print 'set terminal.' . $Fld[2] . '.restrict_852 = ' . (!(!($Fld[5] & 2))+0); + print 'set terminal.' . $Fld[2] . '.block_cursor = ' . (!(!($Fld[5] & 4))+0); + print 'set terminal.' . $Fld[2] . '.colors = ' . (!(!($Fld[5] & 1))+0); + print 'set terminal.' . $Fld[2] . '.charset = "' . $Fld[6] . '"'; + } + if ($Fld[1] eq 'extension') { + $num_exts = (@ext = split(/, */, substr($Fld[2], 2, length($Fld[2]) - 2), 9999)); + for ($i = $num_exts; $i; --$i) { + $ext[$i] =~ s/\./*/g; + print 'set mime.extension.' . $ext[$i] . ' = ' . $Fld[3]; + } + } + if ($Fld[1] eq 'association') { + $pos = length($Fld[1]) + 2; + $line = $_; + + $name = &get_token(); + $name = substr($name, 2, length($name) - 2); + $name =~ s/[ \t]/_/g; + $name =~ s/[^a-zA-Z0-9_]/-/g; + + $mimelist = &get_token(); + $mimelist = substr($mimelist, 2, length($mimelist) - 2); + $mimelist =~ s/\./*/g; + $mimelist =~ s/\//./g; + $num_mimetypes = (@mimetype = split(/, */, $mimelist, 9999)); + + $program = &get_token(); + + $flags = $Fld[$#Fld - 1]; + $cons = $flags & 1; + $xwin = $flags & 2; + $ask = (!(!($flags & 4))+0); + $block = ($flags & 8 or $flags & 16) ? !(!($flags & 16)) : (!$xwin or $cons); + + for ($i = $num_mimetypes; $i; $i--) { + print 'set mime.type.' . $mimetype[$i] . " = \"" . $name . "\""; + } + if ($cons || $Fld[$#Fld] != 1) { + &print_association($name, $system_id[$Fld[$#Fld]], $ask, $block, $program); + } + if ($xwin && $Fld[$#Fld] == 1) { + &print_association($name, $system_id[$Fld[$#Fld]] . '-xwin', $ask, $block, $program); + } + } + if ($Fld[1] eq 'mailto' || $Fld[1] eq 'telnet' || $Fld[1] eq 'tn3270') { + $val = $Fld[0]; + $val =~ s/^[^ ]* (".*") .$/$1/; + if ($val eq "mailto") { $val =~ s/%/\%h/g; } else { $val =~ s/%/\%h:\%p/g; } + print 'set protocol.user.' . $Fld[1] . '.' . $system_id[$Fld[$#Fld]] . ' = ' . $val; + if ($Fld[$#Fld] = 1) {# Only Unix has X. + print 'set protocol.user.' . $Fld[1] . '.' . $system_id[$Fld[$#Fld]] . '-xwin = ' . $val; + } + } + + ### + ### html.conf + ### + + if ($Fld[1] eq 'html_assume_codepage') { + print "set document.codepage.assume = \"" . $Fld[2] . "\""; + } + if ($Fld[1] eq 'html_avoid_dark_on_black') { + print 'set document.allow_dark_on_black = ' . (!($Fld[2])+0); + } + if ($Fld[1] eq 'html_frames') { + print 'set document.html.display_frames = ' . $Fld[2]; + } + if ($Fld[1] eq 'html_hard_assume') { + print 'set document.codepage.force_assumed = ' . $Fld[2]; + } + if ($Fld[1] eq 'html_images') { + print 'set document.browse.images.show_as_links = ' . $Fld[2]; + } + if ($Fld[1] eq 'html_margin') { + print 'set document.browse.margin_width = ' . $Fld[2]; + } + if ($Fld[1] eq 'html_numbered_links') { + print 'set document.browse.links.numbering = ' . $Fld[2]; + } + if ($Fld[1] eq 'html_tables') { + print 'set document.html.display_tables = ' . $Fld[2]; + } + if ($Fld[1] eq 'html_table_order') { + print 'set document.browse.table_move_order = ' . $Fld[2]; + } + if ($Fld[1] eq 'html_use_document_colours') { + print 'set document.colors.use_document_colors = ' . $Fld[2]; + } +} + +sub get_token { + $backwhacked = 0; + $quote = 0; + $token = ''; + $len = length($line); + for (; $pos <= $len; ++$pos) { #??? + $char = substr($line, $pos, 1); + if ($backwhacked) { + $backwhacked = 0; + } + elsif ($char eq "\\") { + $backwhacked = 1; + } + elsif ($char eq "\"") { + $quote = !$quote; + } + elsif (($char eq ' ' || $char eq ' ') && !$quote) { + last; + } + $token = $token . $char; + } + ++$pos; + + $token; +} + +sub print_association { + local($name, $system_str, $ask, $block, $program) = @_; + print 'set mime.handler.' . $name . '.' . $system_str . '.ask = ' . $ask; + print 'set mime.handler.' . $name . '.' . $system_str . '.block = ' . ($block ? '1' : '0'); + print 'set mime.handler.' . $name . '.' . $system_str . '.program = ' . $program; +} diff --git a/contrib/conv/mailcap.pl b/contrib/conv/mailcap.pl new file mode 100755 index 00000000..fc05d651 --- /dev/null +++ b/contrib/conv/mailcap.pl @@ -0,0 +1,49 @@ +#!/usr/bin/perl -w +# mailcap to elinks.conf converter (aka quick hack) +# version 1.00 by +# Released under GPLv2 or later +# +# Usage: mailcap-convert.pl /etc/mailcap >> ~/.elinks/elinks.conf +# + +print "association \"-=BEGIN DEBIAN CONVERT=-\" \"\" \"\" 23 1\n"; +while( <> ) { + chomp; + next if /^\s*(#|$)/; + @fields = split /;\s*/; + # change %s to % in the command + $fields[1] =~ s/%s/%/g; + + my @out = ( "External association", $fields[0], $fields[1] ); + + for( my $i=2; $i<=$#fields; $i++ ) { + if( $fields[$i] =~ m/description="?([^"]+)"?/ ) { + # description + $out[0] = $1; + } elsif( $fields[$i] =~ m/nametemplate=(.+)/ ) { + # extension for the mime type + my $ext = $1; + $ext =~ s/%s\.(.+)$/$1/; + &new_ext($ext,$fields[0]); + } + } + &new_assoc( \@out ); +} +print "association \"-=END DEBIAN CONVERT=-\" \"\" \"\" 23 1\n"; + +sub new_assoc { + my $aref = shift; + print "association "; + for my $i (0..2) { + print "\"$aref->[$i]\" "; + } + print "23 1\n"; +} + +sub new_ext { + print "extension"; + for my $i (0..1) { + print " \"$_[$i]\""; + } + print "\n"; +} diff --git a/contrib/conv/old_to_new_bookmarks.sh b/contrib/conv/old_to_new_bookmarks.sh new file mode 100755 index 00000000..95c0ce4b --- /dev/null +++ b/contrib/conv/old_to_new_bookmarks.sh @@ -0,0 +1,32 @@ +#! /bin/sh +# ELinks old bookmarks format to new format converter. + +# WARNING: Close all ELinks sessions before running this script. +# This script converts ELinks bookmarks file with '|' as separator to new +# bookmarks format where separator is tab char. It saves old file to +# ~/.links/bookmarks.with_pipes. --Zas + +# Script by Stephane Chazelas :) + +BMFILE=$HOME/.links/bookmarks +if [ ! -r "$BMFILE" ]; then + echo "$BMFILE does not exist or is not readable!" >&2 + exit 1 +fi + +if [ -f "${BMFILE}.with_pipes" ]; then + echo "It seems you already ran this script." >&2 + echo "Remove ${BMFILE}.with_pipes to force execution." >&2 + exit 1 +fi + +if cp -f "$BMFILE" "${BMFILE}.with_pipes" \ + && tr '|' '\011' < ${BMFILE}.with_pipes > $BMFILE +then + echo "Bookmarks file converted." + echo "Old file was saved as ${BMFILE}.with_pipes." + echo "You may want to copy ~/.links/bookmarks to ~/.elinks/bookmarks now." +else + echo "Conversion failure" >&2 + exit 1 +fi diff --git a/contrib/conv/w3m2links.awk.in b/contrib/conv/w3m2links.awk.in new file mode 100644 index 00000000..b5fa34af --- /dev/null +++ b/contrib/conv/w3m2links.awk.in @@ -0,0 +1,24 @@ +#!@AWK@ -f +# +# This converts w3m bookmarks.html to ELinks bookmarks.lst used by the Lua +# based bookmarks handling (NOT the internal one!). +# +# Feed it by w3m bookmarks.html on stdin. +# +# Done by Stephane Chazelas +# + +BEGIN { + FS="[<>\"]" + c="return {" +} +$2 == "h2" { + print c "\n {\n category = \""$3"\";" + c=" }," +} +$2 == "li" { + print " { name = \""$7"\", url = \""$5 "\" }," +} +END { + print " },\n}" +} diff --git a/contrib/elinks-vim.diff b/contrib/elinks-vim.diff new file mode 100644 index 00000000..e083dcf1 --- /dev/null +++ b/contrib/elinks-vim.diff @@ -0,0 +1,12 @@ +--- filetype-.vim Thu Sep 12 19:45:16 2002 ++++ filetype.vim Thu Sep 12 19:45:37 2002 +@@ -318,6 +318,9 @@ + " Configure scripts + au BufNewFile,BufRead configure.in,configure.ac setf config + ++" ELinks config file ++au BufNewFile,BufRead elinks.conf setf elinks ++ + " Enlightenment configuration files + au BufNewFile,BufRead *enlightenment/*.cfg setf c + diff --git a/contrib/elinks.conf b/contrib/elinks.conf new file mode 100644 index 00000000..6dc251c9 --- /dev/null +++ b/contrib/elinks.conf @@ -0,0 +1,3087 @@ +## ELinks 0.11.CVS configuration file + +## This is ELinks configuration file. You can edit it manually, +## if you wish so, but keep in mind that this file is overwritten +## by ELinks when you save options through UI and you are out of +## luck with your formatting and own comments then, so beware. +## +## Obviously, if you don't like what ELinks is going to do with +## this file, you can change it by altering the config.saving_style +## option. Come on, aren't we friendly guys after all? + + + +############################## +# Automatically saved options +# + +## bookmarks +# Bookmark options. + + ## bookmarks.file_format + # File format for bookmarks (affects both reading and saving): + # 0 is the default native ELinks format + # 1 is XBEL universal XML bookmarks format (NO NATIONAL CHARS SUPPORT!) + set bookmarks.file_format = 0 + + ## bookmarks.folder_state [0|1] + # When saving bookmarks also store whether folders are + # expanded or not, so the look of the bookmark dialog is + # kept across ELinks sessions. If disabled all folders will + # appear unexpanded next time ELinks is run. + set bookmarks.folder_state = 1 + + +## config +# Configuration handling options. + + ## config.comments + # Amount of comments automatically written to the config file: + # 0 is no comments are written + # 1 is only the "blurb" (name+type) is written + # 2 is only the description is written + # 3 is full comments are written + set config.comments = 3 + + ## config.indentation + # Shift width of one indentation level in the configuration + # file. Zero means that no indentation is performed at all + # when saving the configuration. + set config.indentation = 2 + + ## config.saving_style + # Determines what happens when you tell ELinks to save options: + # 0 is only values of current options are altered + # 1 is values of current options are altered and missing options + # are added at the end of the file + # 2 is the configuration file is rewritten from scratch + # 3 is values of current options are altered and missing options + # CHANGED during this ELinks session are added at the end of + # the file + set config.saving_style = 2 + + ## config.i18n [0|1] + # If set to 1, comments in the configuration file will be + # translated to the language used by UI. Note that if you have + # different language set in different terminals, the language + # used in the configuration file MAY be the same as on the + # terminal where you saved the file, but it should be generally + # considered unpredictable. + set config.i18n = 0 + + ## config.saving_style_w [0|1] + # This is internal option used when displaying a warning about + # obsolete config.saving_style. You shouldn't touch it. + set config.saving_style_w = 0 + + ## config.show_template [0|1] + # Show template options in autocreated trees in the options + # manager and save them to the configuration file. + set config.show_template = 0 + + +## connection +# Connection options. + + ## connection.ssl + # SSL options. + + ## connection.ssl.client_cert + # X509 client certificate options. + + ## connection.ssl.client_cert.enable [0|1] + # Enable or not the sending of X509 client certificates + # to servers which request them. + set connection.ssl.client_cert.enable = 0 + + ## connection.ssl.client_cert.file + # The location of a file containing the client certificate + # and unencrypted private key in PEM format. If unset, the + # file pointed to by the X509_CLIENT_CERT variable is used + # instead. + set connection.ssl.client_cert.file = "" + + + ## connection.ssl.cert_verify [0|1] + # Verify the peer's SSL certificate. Note that this + # needs extensive configuration of OpenSSL by the user. + set connection.ssl.cert_verify = 0 + + + ## connection.async_dns [0|1] + # Whether to use asynchronous DNS resolving. + set connection.async_dns = 1 + + ## connection.max_connections + # Maximum number of concurrent connections. + set connection.max_connections = 10 + + ## connection.max_connections_to_host + # Maximum number of concurrent connections to a given host. + set connection.max_connections_to_host = 2 + + ## connection.receive_timeout + # Receive timeout (in seconds). + set connection.receive_timeout = 120 + + ## connection.retries + # Number of tries to establish a connection. + # Zero means try forever. + set connection.retries = 3 + + ## connection.try_ipv4 [0|1] + # Whether to try to connect to a host over IPv4. + # Note that if connection.try_ipv6 is enabled too, + # it takes precedence. And better do not touch this + # at all unless you are sure what are you doing. + # Note that you can also force a given protocol + # to be used on a per-connection basis by using an URL + # in the style of i.e. http4://elinks.or.cz/. + set connection.try_ipv4 = 1 + + ## connection.try_ipv6 [0|1] + # Whether to try to connect to a host over IPv6. + # Note that you can also force a given protocol + # to be used on a per-connection basis by using an URL + # in the style of i.e. http6://elinks.or.cz/. + set connection.try_ipv6 = 1 + + ## connection.unrestartable_receive_timeout + # Timeout for non-restartable connections (in seconds). + set connection.unrestartable_receive_timeout = 600 + + +## cookies +# Cookies options. + + ## cookies.accept_policy + # Cookies accepting policy: + # 0 is accept no cookies + # 1 is ask for confirmation before accepting cookie + # 2 is accept all cookies + set cookies.accept_policy = 2 + + ## cookies.max_age + # Cookie maximum age (in days): + # -1 is use cookie's expiration date if any + # 0 is force expiration at the end of session, ignoring cookie's + # expiration date + # 1+ is use cookie's expiration date, but limit age to the given + # number of days + set cookies.max_age = -1 + + ## cookies.paranoid_security [0|1] + # When enabled, we'll require three dots in cookies domain for all + # non-international domains (instead of just two dots). Some countries + # have generic second level domains (eg. .com.pl, .co.uk) and allowing + # sites to set cookies for these generic domains could potentially be + # very bad. Note, it is off by default as it breaks a lot of sites. + set cookies.paranoid_security = 0 + + ## cookies.save [0|1] + # Whether cookies should be loaded from and save to disk. + set cookies.save = 1 + + ## cookies.resave [0|1] + # Save cookies after each change in cookies list? No effect when + # cookie saving (cookies.save) is off. + set cookies.resave = 1 + + +## document +# Document options. + + ## document.browse + # Document browsing options (mainly interactivity). + + ## document.browse.accesskey + # Options for handling of link access keys. + # An HTML document can use the ACCESSKEY attribute to assign + # an access key to an element. When an access key is pressed, + # the corresponding element will be given focus. + + ## document.browse.accesskey.auto_follow [0|1] + # Automatically follow a link or submit a form if appropriate + # accesskey is pressed - this is the standard behaviour, but it's + # considered dangerous. + set document.browse.accesskey.auto_follow = 0 + + ## document.browse.accesskey.display [0|1] + # Display access key in link info. + set document.browse.accesskey.display = 0 + + ## document.browse.accesskey.priority + # Priority of 'accesskey' HTML attribute: + # 0 is first try all normal bindings; if it fails, check accesskey + # 1 is first try only frame bindings; if it fails, check accesskey + # 2 is first check accesskey (this can be dangerous) + set document.browse.accesskey.priority = 0 + + + ## document.browse.forms + # Options for handling of the forms interaction. + + ## document.browse.forms.auto_submit [0|1] + # Automagically submit a form when enter is pressed with a text + # field selected. + set document.browse.forms.auto_submit = 1 + + ## document.browse.forms.confirm_submit [0|1] + # Ask for confirmation when submitting a form. + set document.browse.forms.confirm_submit = 1 + + ## document.browse.forms.input_size + # Default form input size if none is specified. + set document.browse.forms.input_size = 20 + + ## document.browse.forms.insert_mode [0|1] + # The setting for this option affects how key presses are handled + # when one selects a text-input form-field. When enabled, one must + # explicitly 'enter' a selected text-field to edit it; this prevents + # a text field from capturing key presses, such as presses of a scroll + # key, + # when it is inadvertently selected. When disabled, key presses are + # always + # inserted into a selected text field. + set document.browse.forms.insert_mode = 1 + + ## document.browse.forms.show_formhist [0|1] + # Ask if a login form should be saved to file or not. + # This option only disables the dialog, already saved login + # forms are unaffected. + set document.browse.forms.show_formhist = 0 + + + ## document.browse.images + # Options for handling of images. + + ## document.browse.images.display_style + # Display style for image tags when displayed: + # 0 means always display IMG + # 1 means always display filename + # 2 means display alt/title attribute if possible, IMG if not + # 3 means display alt/title attribute if possible, filename if not + set document.browse.images.display_style = 2 + + ## document.browse.images.filename_maxlen + # Maximum length of image filename when displayed: + # 0 means always display full filename + # 1-500 means display filename with this maximal length; + # if it is longer, the middle is substituted by an asterisk + set document.browse.images.filename_maxlen = 0 + + ## document.browse.images.image_link_tagging + # When to enclose image links: + # 0 means never + # 1 means never if alt or title are provided (old behavior) + # 2 means always + set document.browse.images.image_link_tagging = 1 + + ## document.browse.images.image_link_prefix + # Prefix string to use to mark image links. + set document.browse.images.image_link_prefix = "[" + + ## document.browse.images.image_link_suffix + # Suffix string to use to mark image links. + set document.browse.images.image_link_suffix = "]" + + ## document.browse.images.label_maxlen + # Maximum length of image label (alt/title): + # 0 means always display full label + # 1-500 means display label with this maximal length; + # if it is longer, the middle is substituted by an asterisk + set document.browse.images.label_maxlen = 0 + + ## document.browse.images.show_as_links [0|1] + # Display links to images without an alt attribute. If this option + # is off, these images are completely invisible. + set document.browse.images.show_as_links = 0 + + ## document.browse.images.show_any_as_links [0|1] + # Display links to any images in the document, regardless of them + # having an alt attribute or not. If this option is off, the alt + # attribute contents is shown, but as normal text, not selectable + # as a link. + set document.browse.images.show_any_as_links = 1 + + + ## document.browse.links + # Options for handling of links to other documents. + + ## document.browse.links.active_link + # Options for the active link. + + ## document.browse.links.active_link.colors + # Active link colors. + + ## document.browse.links.active_link.colors.background + # Default background color. + set document.browse.links.active_link.colors.background = "blue" + + ## document.browse.links.active_link.colors.text + # Default text color. + set document.browse.links.active_link.colors.text = "black" + + + ## document.browse.links.active_link.enable_color [0|1] + # Enable use of the active link background and text color + # settings instead of the link colors from the document. + set document.browse.links.active_link.enable_color = 0 + + ## document.browse.links.active_link.bold [0|1] + # Make the active link text bold. + set document.browse.links.active_link.bold = 0 + + ## document.browse.links.active_link.invert [0|1] + # Invert the fore- and background color so the link stands out. + set document.browse.links.active_link.invert = 1 + + ## document.browse.links.active_link.underline [0|1] + # Underline the active link. + set document.browse.links.active_link.underline = 0 + + + ## document.browse.links.color_dirs [0|1] + # Highlight links to directories in FTP and local directory listing. + set document.browse.links.color_dirs = 1 + + ## document.browse.links.numbering [0|1] + # Display numbers next to the links. + set document.browse.links.numbering = 0 + + ## document.browse.links.target_blank + # Define how to handle links having target=_blank set: + # 0 means open link in current tab + # 1 means open link in new tab in foreground + # 2 means open link in new tab in background + set document.browse.links.target_blank = 0 + + ## document.browse.links.use_tabindex [0|1] + # Whether to navigate links using tabindex specified ordering. + # The TABINDEX attribute in HTML elements specifies the order + # in which links should receive focus when using the keyboard + # to navigating the document. + set document.browse.links.use_tabindex = 1 + + ## document.browse.links.number_keys_select_link + # Number keys select links rather than specify command prefixes. This + # is a tristate: + # 0 means never + # 1 means if document.browse.links.numbering = 1 + # 2 means always + set document.browse.links.number_keys_select_link = 1 + + ## document.browse.links.warn_malicious [0|1] + # When following a link the user ID part of the URI is + # checked and if a maliciously crafted URI is detected a + # warning dialog will ask before following the link. + set document.browse.links.warn_malicious = 1 + + ## document.browse.links.wraparound [0|1] + # When pressing 'down' on the last link, jump at the first one, and + # vice versa. + set document.browse.links.wraparound = 0 + + + ## document.browse.scrolling + # Scrolling options. + + ## document.browse.scrolling.horizontal_extended [0|1] + # Whether to allow horizontal scrolling when the document + # does not extend off the screen. Useful for copy/paste + # operations. + set document.browse.scrolling.horizontal_extended = 1 + + ## document.browse.scrolling.horizontal_step + # Number of columns to scroll when a key bound to scroll-left or scroll- + # right is pressed and no prefix was given. + set document.browse.scrolling.horizontal_step = 8 + + ## document.browse.scrolling.margin + # Size of the virtual margin - when you click inside of that margin, + # document scrolls in that direction. + set document.browse.scrolling.margin = 3 + + ## document.browse.scrolling.vertical_step + # Number of lines to scroll when a key bound to scroll-up or scroll- + # down is pressed and no prefix was given. + set document.browse.scrolling.vertical_step = 2 + + + ## document.browse.search + # Options for searching. + + ## document.browse.search.case [0|1] + # Whether the search should match the document text while maintaining + # case sensitivity. + set document.browse.search.case = 0 + + ## document.browse.search.regex + # Enable searching with regular expressions: + # 0 for plain text searching + # 1 for basic regular expression searches + # 2 for extended regular expression searches + set document.browse.search.regex = 0 + + ## document.browse.search.show_hit_top_bottom [0|1] + # Whether to show a dialog when the search hits top or bottom of the + # document. + set document.browse.search.show_hit_top_bottom = 1 + + ## document.browse.search.wraparound [0|1] + # Wrap around when searching. Currently only used for typeahead. + set document.browse.search.wraparound = 1 + + ## document.browse.search.show_not_found + # How to inform the user when nothing is matched: + # 0 means do nothing + # 1 means beep the terminal + # 2 means pop up message box + set document.browse.search.show_not_found = 2 + + ## document.browse.search.typeahead + # Start typeahead searching when an unbound key is pressed without + # any modifiers. Note that most keys have default bindings, so this + # feature will not be useful unless you unbind them. + # + # 0 disables this feature; typeahead searching will only be used + # when you press a key bound to search-typeahead or similar + # 1 automatically starts typeahead searching thru link text + # 2 automatically starts typeahead searching thru all document text + set document.browse.search.typeahead = 0 + + + ## document.browse.margin_width + # Horizontal text margin. + set document.browse.margin_width = 3 + + ## document.browse.refresh [0|1] + # Automatically follow document-specified refresh directives (' + # refresh' tags). Web-page authors use these to instruct the browser + # to reload a document at a given interval or to load another page. + # Regardless of the value the refresh URI is accessible as a link. + # Use the document.browse.minimum_refresh_time to control the minimum + # number of seconds a refresh will wait. + set document.browse.refresh = 1 + + ## document.browse.minimum_refresh_time + # The minimum number of milliseconds that should pass before + # refreshing. If set to zero the document refresh time is used + # unchanged. It can fix going back in history for some sites that + # use refreshing with zero values. + set document.browse.minimum_refresh_time = 1000 + + ## document.browse.table_move_order [0|1] + # Move by columns in table, instead of rows. + set document.browse.table_move_order = 0 + + + ## document.cache + # Cache options. + + ## document.cache.format + # Format cache options. + + ## document.cache.format.size + # Number of cached formatted pages. Do not get too generous + # here, 'formatted' means that all the accompanying structures + # are kept in memory so that you get the cached document + # immediatelly, but these structures may take a lot - 2x the + # size of the HTML source is probably not unusual, but it can + # be even more if the document consists of a lot of short lines + # (padded right, if possible) and links and not much other markup. + # So if you set this to 256 and then you don't like your ELinks + # eating 90M, don't come complaining to us. ;-) + # Also note that the format cache itself is not counted to the + # memory cache size, but the HTML source of the formatted documents + # is always cached, even if it is over the memory cache size + # threshold. (Then of course no other documents can be cached.) + set document.cache.format.size = 5 + + + ## document.cache.memory + # Memory cache options. + + ## document.cache.memory.size + # Memory cache size (in bytes). + set document.cache.memory.size = 1M + + + ## document.cache.cache_redirects [0|1] + # Cache even redirects sent by server (usually thru HTTP by a 302 + # HTTP code and a Location header). This was the original behaviour + # for a quite some time, but it causes problems in a situation very + # common to various web login systems - frequently, when accessing + # certain location, they will redirect you to a login page if they + # don't receive an auth cookie, the login page then gives you the + # cookie and redirects you back to the original page, but there you + # have already cached redirect back to the login page! If this + # option has value of 0, this malfunction is fixed, but occasionally + # you may get superfluous (depends on how you take it ;-) requests to + # the server. If this option has value of 1, experienced users can + # still workaround it by clever combination of usage of reload, + # jumping around in session history and hitting ctrl+enter. + # Note that this option is checked when retrieving the information + # from cache, not when saving it to cache - thus if you will enable + # it, even previous redirects will be taken from cache instead of + # asking the server. + set document.cache.cache_redirects = 0 + + ## document.cache.ignore_cache_control [0|1] + # Ignore Cache-Control and Pragma server headers. + # When set, the document is cached even with 'Cache-Control: no-cache'. + set document.cache.ignore_cache_control = 1 + + + ## document.codepage + # Charset options. + + ## document.codepage.assume + # Default document codepage. 'System' stands for + # a codepage determined by a selected locale. + set document.codepage.assume = "System" + + ## document.codepage.force_assumed [0|1] + # Ignore charset info sent by server. + set document.codepage.force_assumed = 0 + + + ## document.colors + # Default document color settings. + + ## document.colors.text + # Default text color. + set document.colors.text = "gray75" + + ## document.colors.background + # Default background color. + set document.colors.background = "black" + + ## document.colors.link + # Default link color. + set document.colors.link = "blue" + + ## document.colors.vlink + # Default visited link color. + set document.colors.vlink = "yellow" + + ## document.colors.image + # Default image link color. + set document.colors.image = "darkolivegreen" + + ## document.colors.bookmark + # Default bookmarked link color. + set document.colors.bookmark = "hotpink" + + ## document.colors.dirs + # Default directory color. + # See document.browse.links.color_dirs option. + set document.colors.dirs = "yellow" + + ## document.colors.allow_dark_on_black [0|1] + # Allow dark colors on black background, and vice versa. (!) + # By default the colors have their contrast increased (that is + # different from having it ensured through the ensure_contrast + # option), so that the foreground and the background do not have + # too similar colors. This option turns this off. + set document.colors.allow_dark_on_black = 0 + + ## document.colors.ensure_contrast [0|1] + # Makes sure that the back- and foreground color are never equal. + set document.colors.ensure_contrast = 1 + + ## document.colors.use_document_colors + # Use colors specified in document: + # 0 is use always the default settings + # 1 is use document colors if available, except background + # 2 is use document colors, including background. This can + # mostly look very impressive, but some sites will appear + # really ugly. Note, that obviously if the background is + # not black, it will break the behaviour of transparency. + set document.colors.use_document_colors = 2 + + + ## document.css + # Options concerning how to use CSS for styling documents. + + ## document.css.enable [0|1] + # Enable adding of CSS style info to documents. + set document.css.enable = 1 + + ## document.css.import [0|1] + # When enabled any external style sheets that are imported from + # either CSS itself using the @import keyword or from the HTML using + # tags in the document header will also be downloaded. + set document.css.import = 1 + + ## document.css.stylesheet + # The path to the file containing the default user defined + # Cascading Style Sheet. It can be used to control the basic + # layout of HTML documents. The path is assumed to be relative + # to ELinks' home directory. + # Leave as "" to use built-in document styling. + set document.css.stylesheet = "" + + + ## document.download + # Options regarding files downloading and handling. + + ## document.download.directory + # Default download directory. + set document.download.directory = "./" + + ## document.download.set_original_time [0|1] + # Set the timestamp of each downloaded file to the timestamp + # stored on the server. + set document.download.set_original_time = 0 + + ## document.download.overwrite + # Prevent overwriting the local files: + # 0 is files will silently be overwritten + # 1 is add a suffix .{number} (for example '.1') to the name + # 2 is ask the user + set document.download.overwrite = 2 + + ## document.download.notify_bell + # Audio notification when download is completed: + # 0 is never + # 1 is when background notification is active + # 2 is always + set document.download.notify_bell = 0 + + + ## document.dump + # Dump output options. + + ## document.dump.codepage + # Codepage used in dump output. 'System' stands for + # a codepage determined by a selected locale. + set document.dump.codepage = "System" + + ## document.dump.header + # Header string used in dumps. %u is substituted by URL. + set document.dump.header = "" + + ## document.dump.footer + # Footer string used in dumps. %u is substituted by URL. + set document.dump.footer = "" + + ## document.dump.separator + # String which separates two dumps. + set document.dump.separator = " + +" + + ## document.dump.width + # Width of screen in characters when dumping documents. + set document.dump.width = 80 + + + ## document.history + # History options. + + ## document.history.global + # Global history options. + + ## document.history.global.enable [0|1] + # Enable global history ("history of all pages visited"). + set document.history.global.enable = 1 + + ## document.history.global.max_items + # Maximum number of entries in the global history. + set document.history.global.max_items = 1k + + ## document.history.global.display_type + # What to display in global history dialog: + # 0 is URLs + # 1 is page titles + set document.history.global.display_type = 0 + + + ## document.history.keep_unhistory [0|1] + # Keep unhistory ("forward history"). + set document.history.keep_unhistory = 1 + + + ## document.html + # Options concerning the display of HTML pages. + + ## document.html.display_frames [0|1] + # Display frames. + set document.html.display_frames = 1 + + ## document.html.display_tables [0|1] + # Display tables. + set document.html.display_tables = 1 + + ## document.html.display_subs [0|1] + # Display subscripts (as [thing]). + set document.html.display_subs = 1 + + ## document.html.display_sups [0|1] + # Display superscripts (as ^thing). + set document.html.display_sups = 1 + + ## document.html.link_display + # How to render tags from the HTML header: + # 0 is nothing + # 1 is title + # 2 is name in addition + # 3 is hreflang in addition + # 4 is type in addition + # 5 is everything + set document.html.link_display = 2 + + ## document.html.underline_links [0|1] + # Underline links. + set document.html.underline_links = 0 + + ## document.html.wrap_nbsp [0|1] + # If set do not honour non breaking space (the nbsp entity) + # but allow to wrap the text. This can help keeping the width + # of documents down so no horizontal scrolling is needed. + set document.html.wrap_nbsp = 0 + + + ## document.plain + # Options concerning the display of plain text pages. + + ## document.plain.display_links [0|1] + # Display URIs in the document as links. + set document.plain.display_links = 0 + + ## document.plain.compress_empty_lines [0|1] + # Compress successive empty lines to only one in displayed text. + set document.plain.compress_empty_lines = 0 + + + ## document.uri_passing + # Rules for passing URIs to external commands. + + + +## ecmascript +# ECMAScript options. + + ## ecmascript.enable [0|1] + # Whether to run those scripts inside of documents. + set ecmascript.enable = 1 + + ## ecmascript.error_reporting [0|1] + # Open a message box when a script reports an error. + set ecmascript.error_reporting = 0 + + ## ecmascript.max_exec_time + # Maximum execution time in seconds for a script. + set ecmascript.max_exec_time = 5 + + ## ecmascript.block_window_opening [0|1] + # Whether to disallow scripts to open new windows or tabs. + set ecmascript.block_window_opening = 0 + + +## infofiles +# Options for information files in ~/.elinks. + + ## infofiles.save_interval + # Interval at which to trigger information files in ~/.elinks + # to be saved to disk if they has changed (seconds; 0 to disable) + set infofiles.save_interval = 300 + + ## infofiles.secure_save [0|1] + # First write data to unique temporary file, then rename this file + # upon successfully finishing this. Note that this relates only to + # config files, not downloaded files. You may want to disable + # it if you are using some exotic permissions for concerned files. + # Secure file saving is automagically disabled if file is symlink. + # Warning: some systems (ie. OS/2, Win32) require that destination + # file doesn't exist when rename(3) is called, breaking atomicity, + # and reducing reliability of this feature. + set infofiles.secure_save = 1 + + ## infofiles.secure_save_fsync [0|1] + # When using secure file saving, call fsync(3), if the OS + # supports it, to force the OS immediately to write the data + # to permanent storage. This is optional for those who wish + # to avoid excessive disk I/O. + set infofiles.secure_save_fsync = 1 + + +## mime +# MIME-related options (handlers of various MIME types). + + ## mime.extension + # Extension <-> MIME type association. + + ## mime.extension.gif + # MIME-type matching this file extension ('*' is used here in place + # of '.'). + set mime.extension.gif = "image/gif" + + ## mime.extension.jpg + # MIME-type matching this file extension ('*' is used here in place + # of '.'). + set mime.extension.jpg = "image/jpg" + + ## mime.extension.jpeg + # MIME-type matching this file extension ('*' is used here in place + # of '.'). + set mime.extension.jpeg = "image/jpeg" + + ## mime.extension.png + # MIME-type matching this file extension ('*' is used here in place + # of '.'). + set mime.extension.png = "image/png" + + ## mime.extension.txt + # MIME-type matching this file extension ('*' is used here in place + # of '.'). + set mime.extension.txt = "text/plain" + + ## mime.extension.htm + # MIME-type matching this file extension ('*' is used here in place + # of '.'). + set mime.extension.htm = "text/html" + + + ## mime.handler + # A file type handler is a set of information about how to use + # an external program to view a file. It is possible to refer to it + # for several MIME types -- e.g., you can define an 'image' handler + # to which mime.type.image.png, mime.type.image.jpeg, and so on will + # refer; or one might define a handler for a more specific type of file + # -- e.g., PDF files. + # Note you must define both a MIME handler and a MIME type association + # for it to work. + + + ## mime.mailcap + # Options for mailcap support. + + ## mime.mailcap.enable [0|1] + # Enable mailcap support. + set mime.mailcap.enable = 1 + + ## mime.mailcap.path + # Mailcap search path. Colon-separated list of files. + # Leave as "" to use MAILCAP environment variable instead. + set mime.mailcap.path = "~/.mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap:/usr/share/mailcap:/usr/share/misc/mailcap" + + ## mime.mailcap.ask [0|1] + # Ask before using the handlers defined by mailcap. + set mime.mailcap.ask = 1 + + ## mime.mailcap.description + # Type of description to show in "what to do with this file" + # query dialog: + # 0 is show "mailcap" + # 1 is show program to be run + # 2 is show mailcap description field if any; "mailcap" otherwise + set mime.mailcap.description = 0 + + ## mime.mailcap.prioritize [0|1] + # Prioritize entries by the order of the files in the mailcap + # path. This means that wildcard entries (like: image/*) will + # also be checked before deciding the handler. + set mime.mailcap.prioritize = 1 + + + ## mime.mimetypes + # Options for the support of mime.types files. These files + # can be used to find the content type of an URL by looking at + # the extension of the file name. + + ## mime.mimetypes.enable [0|1] + # Enable mime.types support. + set mime.mimetypes.enable = 1 + + ## mime.mimetypes.path + # The search path for mime.types files. Colon-separated list of files. + set mime.mimetypes.path = "~/.mime.types:/etc/mime.types:/usr/etc/mime.types:/usr/local/etc/mime.types:/usr/share/mime.types:/usr/share/misc/mime.types" + + + ## mime.type + # Handler <-> MIME type association. The first sub-tree is the MIME + # class while the second sub-tree is the MIME type (ie. image/gif + # handler will reside at mime.type.image.gif). Each MIME type option + # should contain (case-sensitive) name of the MIME handler (its + # properties are stored at mime.handler.). + + + ## mime.default_type + # Document MIME-type to assume by default (when we are unable to + # guess it properly from known information about the document). + set mime.default_type = "application/octet-stream" + + +## protocol +# Protocol specific options. + + ## protocol.file + # Options specific to local browsing. + + ## protocol.file.cgi + # Local CGI specific options. + + ## protocol.file.cgi.path + # Colon separated list of directories, where CGI scripts are stored. + set protocol.file.cgi.path = "" + + ## protocol.file.cgi.policy [0|1] + # Whether to execute local CGI scripts. + set protocol.file.cgi.policy = 0 + + + ## protocol.file.allow_special_files [0|1] + # Whether to allow reading from non-regular files. + # Note this can be dangerous; reading /dev/urandom or + # /dev/zero can ruin your day! + set protocol.file.allow_special_files = 0 + + ## protocol.file.show_hidden_files [0|1] + # When set to false, files with name starting with a dot will be + # hidden in local directories listing. + set protocol.file.show_hidden_files = 1 + + ## protocol.file.try_encoding_extensions [0|1] + # When set, if we can't open a file named 'filename', we'll try + # to open 'filename' with some encoding extension appended + # (ie. 'filename.gz'); it depends on the supported encodings. + set protocol.file.try_encoding_extensions = 1 + + + ## protocol.ftp + # FTP specific options. + + ## protocol.ftp.proxy + # FTP proxy configuration. + + ## protocol.ftp.proxy.host + # Host and port-number (host:port) of the FTP proxy, or blank. + # If it's blank, FTP_PROXY environment variable is checked as well. + set protocol.ftp.proxy.host = "" + + + ## protocol.ftp.anon_passwd + # FTP anonymous password to be sent. + set protocol.ftp.anon_passwd = "some@host.domain" + + ## protocol.ftp.use_pasv [0|1] + # Use PASV instead of PORT (passive vs active mode, IPv4 only). + set protocol.ftp.use_pasv = 1 + + ## protocol.ftp.use_epsv [0|1] + # Use EPSV instead of EPRT (passive vs active mode, IPv6 only). + set protocol.ftp.use_epsv = 0 + + + ## protocol.http + # HTTP-specific options. + + ## protocol.http.bugs + # Server-side HTTP bugs workarounds. + + ## protocol.http.bugs.accept_charset [0|1] + # The Accept-Charset header is quite long and sending it can trigger + # bugs in some rarely found servers. + set protocol.http.bugs.accept_charset = 1 + + ## protocol.http.bugs.allow_blacklist [0|1] + # Allow blacklisting of buggy servers. + set protocol.http.bugs.allow_blacklist = 1 + + ## protocol.http.bugs.broken_302_redirect [0|1] + # Broken 302 redirect (violates RFC but compatible with Netscape). + # This is a problem for a lot of web discussion boards and the like. + # If they will do strange things to you, try to play with this. + set protocol.http.bugs.broken_302_redirect = 1 + + ## protocol.http.bugs.post_no_keepalive [0|1] + # Disable keepalive connection after POST request. + set protocol.http.bugs.post_no_keepalive = 0 + + ## protocol.http.bugs.http10 [0|1] + # Use HTTP/1.0 protocol instead of HTTP/1.1. + set protocol.http.bugs.http10 = 0 + + + ## protocol.http.proxy + # HTTP proxy configuration. + + ## protocol.http.proxy.host + # Host and port-number (host:port) of the HTTP proxy, or blank. + # If it's blank, HTTP_PROXY environment variable is checked as well. + set protocol.http.proxy.host = "" + + ## protocol.http.proxy.user + # Proxy authentication username. + set protocol.http.proxy.user = "" + + ## protocol.http.proxy.passwd + # Proxy authentication password. + set protocol.http.proxy.passwd = "" + + + ## protocol.http.referer + # HTTP referer sending options. HTTP referer is a special header + # sent in the HTTP requests, which is supposed to contain the previous + # page visited by the browser. This way, the server can know what link + # did you follow when accessing that page. However, this behaviour + # can unfortunately considerably affect privacy and can lead even to a + # security problem on some badly designed web pages. + + ## protocol.http.referer.policy + # Mode of sending HTTP referer: + # 0 is send no referer + # 1 is send current URL as referer + # 2 is send fixed fake referer + # 3 is send previous URL as referer (correct, but insecure) + set protocol.http.referer.policy = 3 + + ## protocol.http.referer.fake + # Fake referer to be sent when policy is 2. + set protocol.http.referer.fake = "" + + + ## protocol.http.accept_language + # Send Accept-Language header. + set protocol.http.accept_language = "" + + ## protocol.http.accept_ui_language [0|1] + # Request localised versions of documents from web-servers (using the + # Accept-Language header) using the language you have configured for + # ELinks' user-interface (this also affects navigator.language ECMAScript + # value available to scripts). Note that some see this as a potential + # security risk because it tells web-masters and the FBI sniffers about + # your language preference. + set protocol.http.accept_ui_language = 1 + + ## protocol.http.trace [0|1] + # If active, all HTTP requests are sent with TRACE as their method + # rather than GET or POST. This is useful for debugging of both ELinks + # and various server-side scripts --- the server only returns the client's + # request back to the client verbatim. Note that this type of request may + # not be enabled on all servers. + set protocol.http.trace = 0 + + ## protocol.http.user_agent + # Change the User Agent ID. That means identification string, which + # is sent to HTTP server when a document is requested. The 'textmode' + # token in the first field is our silent attempt to establish this as + # a standard for new textmode user agents, so that the webmasters can + # have just a single uniform test for these if they are ie. pushing + # some lite version to them automagically. + # %v in the string means ELinks version + # %s in the string means system identification + # %t in the string means size of the terminal + # %b in the string means number of bars displayed by ELinks + # Use " " if you don't want any User-Agent header to be sent at all. + set protocol.http.user_agent = "ELinks/%v (textmode; %s; %t-%b)" + + + ## protocol.https + # HTTPS-specific options. + + ## protocol.https.proxy + # HTTPS proxy configuration. + + ## protocol.https.proxy.host + # Host and port-number (host:port) of the HTTPS CONNECT proxy, or blank. + # If it's blank, HTTPS_PROXY environment variable is checked as well. + set protocol.https.proxy.host = "" + + + + ## protocol.nntp + # NNTP and news specific options. + + ## protocol.nntp.server + # Used when resolving news: URIs. If set to the empty string + # the value of the NNTPSERVER environment variable will be used. + set protocol.nntp.server = "" + + ## protocol.nntp.header_entries + # Comma separated list of which entries in the article header + # to show. E.g. 'Subject' and 'From'. + # All header entries can be read in the header info dialog. + set protocol.nntp.header_entries = "Subject,From,Date,Message-ID,Newsgroups" + + + ## protocol.rewrite + # Rules for rewriting URIs entered in the goto dialog. + # It makes it possible to define a set of prefixes that will + # be expanded if they match a string entered in the goto dialog. + # The prefixes can be dumb, meaning that they work only like + # URI abbreviations, or smart ones, making it possible to pass + # arguments to them like search engine keywords. + + ## protocol.rewrite.dumb + # Dumb prefixes, see enable-dumb description for details. + + ## protocol.rewrite.dumb.arc + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.arc = "http://web.archive.org/web/*/%c" + + ## protocol.rewrite.dumb.b + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.b = "http://babelfish.altavista.com/babelfish/tr" + + ## protocol.rewrite.dumb.bug + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.bug = "http://bugzilla.elinks.or.cz/" + + ## protocol.rewrite.dumb.bz + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.bz = "http://bugzilla.elinks.or.cz/" + + ## protocol.rewrite.dumb.cia + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.cia = "http://cia.navi.cx/" + + ## protocol.rewrite.dumb.d + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.d = "http://www.dict.org" + + ## protocol.rewrite.dumb.dbug + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.dbug = "http://bugs.debian.org/" + + ## protocol.rewrite.dumb.documentation + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.documentation = "http://elinks.or.cz/documentation" + + ## protocol.rewrite.dumb.dpkg + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.dpkg = "http://packages.debian.org/" + + ## protocol.rewrite.dumb.e2 + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.e2 = "http://www.everything2.org/" + + ## protocol.rewrite.dumb.elinks + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.elinks = "http://elinks.or.cz/" + + ## protocol.rewrite.dumb.fm + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.fm = "http://freshmeat.net/" + + ## protocol.rewrite.dumb.g + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.g = "http://www.google.com/" + + ## protocol.rewrite.dumb.gg + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.gg = "http://www.google.com/" + + ## protocol.rewrite.dumb.go + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.go = "http://www.google.com/" + + ## protocol.rewrite.dumb.lua + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.lua = "file:///usr/share/doc/lua40-doc/manual/idx.html" + + ## protocol.rewrite.dumb.pycur + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.pycur = "http://www.python.org/doc/current/" + + ## protocol.rewrite.dumb.pydev + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.pydev = "http://www.python.org/dev/doc/devel/" + + ## protocol.rewrite.dumb.pyhelp + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.pyhelp = "http://starship.python.net/crew/theller/pyhelp.cgi" + + ## protocol.rewrite.dumb.pyvault + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.pyvault = "http://www.vex.net/parnassus/" + + ## protocol.rewrite.dumb.sd + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.sd = "http://slashdot.org/" + + ## protocol.rewrite.dumb.sf + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.sf = "http://www.sourceforge.net/" + + ## protocol.rewrite.dumb.vcss + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.vcss = "http://jigsaw.w3.org/css-validator/validator?uri=%c" + + ## protocol.rewrite.dumb.vhtml + # Replacement URI for this dumbprefix: + # %c in the string means the current URL + # %% in the string means '%' + set protocol.rewrite.dumb.vhtml = "http://validator.w3.org/check?uri=%c" + + + ## protocol.rewrite.smart + # Smart prefixes, see enable-smart description for details. + + ## protocol.rewrite.smart.a + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.a = "http://acronymfinder.com/af-query.asp?String=exact&Acronym=%s" + + ## protocol.rewrite.smart.arc + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.arc = "http://web.archive.org/web/*/%s" + + ## protocol.rewrite.smart.bb + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.bb = "http://babelfish.altavista.com/babelfish/tr?urltext=%s" + + ## protocol.rewrite.smart.bb_en_fr + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.bb_en_fr = "http://babelfish.altavista.com/babelfish/tr?lp=en_fr&submit=1&urltext=%s" + + ## protocol.rewrite.smart.bb_fr_en + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.bb_fr_en = "http://babelfish.altavista.com/babelfish/tr?lp=fr_en&submit=1&urltext=%s" + + ## protocol.rewrite.smart.bug + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.bug = "http://bugzilla.elinks.or.cz/show_bug.cgi?id=%s" + + ## protocol.rewrite.smart.cambridge + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.cambridge = "http://dictionary.cambridge.org/results.asp?searchword=%s" + + ## protocol.rewrite.smart.cliki + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.cliki = "http://www.cliki.net/admin/search?words=%s" + + ## protocol.rewrite.smart.cr + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.cr = "http://www.rfc-editor.org/cgi-bin/rfcsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25" + + ## protocol.rewrite.smart.czen + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.czen = "http://www.slovnik.cz/bin/ecd?ecd_il=1&ecd_vcb=%s&ecd_trn=translate&ecd_trn_dir=1&ecd_lines=15&ecd_hptxt=0" + + ## protocol.rewrite.smart.d + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.d = "http://www.dict.org/bin/Dict?Query=%s&Form=Dict1&Strategy=*&Database=*&submit=Submit+query" + + ## protocol.rewrite.smart.dbug + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.dbug = "http://bugs.debian.org/%s" + + ## protocol.rewrite.smart.dict + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.dict = "http://dictionary.reference.com/search?q=%s" + + ## protocol.rewrite.smart.dmoz + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.dmoz = "http://search.dmoz.org/cgi-bin/search?search=%s" + + ## protocol.rewrite.smart.dpkg + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.dpkg = "http://packages.debian.org/%s" + + ## protocol.rewrite.smart.draft + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.draft = "http://www.rfc-editor.org/cgi-bin/idsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25" + + ## protocol.rewrite.smart.e2 + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.e2 = "http://www.everything2.org/?node=%s" + + ## protocol.rewrite.smart.emacs + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.emacs = "http://www.emacswiki.org/cgi-bin/wiki.pl?search=%s" + + ## protocol.rewrite.smart.encz + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.encz = "http://www.slovnik.cz/bin/ecd?ecd_il=1&ecd_vcb=%s&ecd_trn=translate&ecd_trn_dir=0&ecd_lines=15&ecd_hptxt=0" + + ## protocol.rewrite.smart.fm + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.fm = "http://freshmeat.net/search/?q=%s" + + ## protocol.rewrite.smart.foldoc + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.foldoc = "http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?%s" + + ## protocol.rewrite.smart.fsd + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.fsd = "http://directory.fsf.org/search/fsd-search.py?q=%s" + + ## protocol.rewrite.smart.g + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.g = "http://www.google.com/search?q=%s&btnG=Google+Search" + + ## protocol.rewrite.smart.gd + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gd = "http://www.google.com/search?q=%s&cat=gwd/Top" + + ## protocol.rewrite.smart.gg + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gg = "http://www.google.com/search?q=%s&btnG=Google+Search" + + ## protocol.rewrite.smart.gi + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gi = "http://images.google.com/images?q=%s" + + ## protocol.rewrite.smart.gn + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gn = "http://news.google.com/news?q=%s" + + ## protocol.rewrite.smart.go + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.go = "http://www.google.com/search?q=%s&btnG=Google+Search" + + ## protocol.rewrite.smart.google + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.google = "http://www.google.com/search?q=%s" + + ## protocol.rewrite.smart.gr + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gr = "http://groups.google.com/groups?q=%s" + + ## protocol.rewrite.smart.gwhat + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gwhat = "http://www.googlism.com/?ism=%s&name=2" + + ## protocol.rewrite.smart.gwhen + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gwhen = "http://www.googlism.com/?ism=%s&name=4" + + ## protocol.rewrite.smart.gwhere + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gwhere = "http://www.googlism.com/?ism=%s&name=3" + + ## protocol.rewrite.smart.gwho + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.gwho = "http://www.googlism.com/?ism=%s&name=1" + + ## protocol.rewrite.smart.id + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.id = "http://www.rfc-editor.org/cgi-bin/idsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25" + + ## protocol.rewrite.smart.imdb + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.imdb = "http://imdb.com/Find?%s" + + ## protocol.rewrite.smart.lxr + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.lxr = "http://lxr.linux.no/ident?i=%s" + + ## protocol.rewrite.smart.lyrics + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.lyrics = "http://music.lycos.com/lyrics/results.asp?QT=L&QW=%s" + + ## protocol.rewrite.smart.milestone-bugs + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.milestone-bugs = "http://bugzilla.elinks.or.cz/buglist.cgi?target_milestone=%s" + + ## protocol.rewrite.smart.mw + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.mw = "http://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va=%s" + + ## protocol.rewrite.smart.mwt + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.mwt = "http://www.m-w.com/cgi-bin/thesaurus?book=Thesaurus&va=%s" + + ## protocol.rewrite.smart.onelook + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.onelook = "http://onelook.com/?w=%s&ls=a" + + ## protocol.rewrite.smart.py + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.py = "http://starship.python.net/crew/theller/pyhelp.cgi?keyword=%s&version=current" + + ## protocol.rewrite.smart.pydev + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.pydev = "http://starship.python.net/crew/theller/pyhelp.cgi?keyword=%s&version=devel" + + ## protocol.rewrite.smart.pyvault + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.pyvault = "http://py.vaults.ca/apyllo.py?find=%s" + + ## protocol.rewrite.smart.rfc + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.rfc = "http://www.rfc-editor.org/rfc/rfc%s.txt" + + ## protocol.rewrite.smart.rfcid + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.rfcid = "http://www.rfc-editor.org/cgi-bin/idsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25" + + ## protocol.rewrite.smart.rfcs + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.rfcs = "http://www.rfc-editor.org/cgi-bin/rfcsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25" + + ## protocol.rewrite.smart.savannah + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.savannah = "http://savannah.nongnu.org/search/?words=%s&type_of_search=soft&exact=1" + + ## protocol.rewrite.smart.sd + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.sd = "http://slashdot.org/search.pl?query=%s" + + ## protocol.rewrite.smart.sdc + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.sdc = "http://slashdot.org/search.pl?query=%s&op=comments" + + ## protocol.rewrite.smart.sdj + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.sdj = "http://slashdot.org/search.pl?query=%s&op=journals" + + ## protocol.rewrite.smart.sdp + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.sdp = "http://slashdot.org/search.pl?query=%s&op=polls" + + ## protocol.rewrite.smart.sdu + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.sdu = "http://slashdot.org/search.pl?query=%s&op=users" + + ## protocol.rewrite.smart.search-bugs + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.search-bugs = "http://bugzilla.elinks.or.cz/buglist.cgi?short_desc_type=allwordssubstr&short_desc=%s" + + ## protocol.rewrite.smart.sf + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.sf = "http://sourceforge.net/search/?q=%s" + + ## protocol.rewrite.smart.sfp + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.sfp = "http://sourceforge.net/projects/%s" + + ## protocol.rewrite.smart.thes + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.thes = "http://thesaurus.reference.com/search?q=%s" + + ## protocol.rewrite.smart.whatis + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.whatis = "http://uptime.netcraft.com/up/graph/?host=%s" + + ## protocol.rewrite.smart.wiki + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.wiki = "http://www.wikipedia.org/w/wiki.phtml?search=%s" + + ## protocol.rewrite.smart.wn + # Replacement URI for this smartprefix: + # %c in the string means the current URL + # %s in the string means the whole argument to smartprefix + # %0,%1,...,%9 means argument 0, 1, ..., 9 + # %% in the string means '%' + set protocol.rewrite.smart.wn = "http://www.cogsci.princeton.edu/cgi-bin/webwn1.7.1?stage=1&word=%s" + + + ## protocol.rewrite.enable-dumb [0|1] + # Enable dumb prefixes - simple URI abbreviations which can + # be written to the Goto URL dialog instead of actual URIs - i.e. + # if you write 'elinks' there, you are directed to + # http://elinks.or.cz/. + set protocol.rewrite.enable-dumb = 1 + + ## protocol.rewrite.enable-smart [0|1] + # Enable smart prefixes - URI templates triggered by writing + # given abbreviation to the Goto URL dialog followed by a list + # of arguments from which the actual URI is composed - i.e. + # 'gg:search keywords' or 'gn search keywords for news'. + set protocol.rewrite.enable-smart = 1 + + + ## protocol.smb + # SAMBA specific options. + + ## protocol.smb.credentials + # Credentials file passed to smbclient via -A option. + set protocol.smb.credentials = "" + + + ## protocol.user + # User protocols. Options in this tree specify external + # handlers for the appropriate protocols. Ie. + # protocol.user.mailto.unix. + + ## protocol.user.irc + + ## protocol.user.irc.unix + set protocol.user.irc.unix = "irc %u" + ## protocol.user.irc.unix-xwin + set protocol.user.irc.unix-xwin = "irc %u" + + ## protocol.user.mailto + + ## protocol.user.mailto.unix + set protocol.user.mailto.unix = "mutt %h -s \"%s\" -i \"%f\"" + ## protocol.user.mailto.unix-xwin + set protocol.user.mailto.unix-xwin = "mutt %h -s \"%s\" -i \"%f\"" + + ## protocol.user.telnet + + ## protocol.user.telnet.unix + set protocol.user.telnet.unix = "telnet %h %p" + ## protocol.user.telnet.unix-xwin + set protocol.user.telnet.unix-xwin = "telnet %h %p" + + ## protocol.user.tn3270 + + ## protocol.user.tn3270.unix + set protocol.user.tn3270.unix = "tn3270 %h %p" + ## protocol.user.tn3270.unix-xwin + set protocol.user.tn3270.unix-xwin = "tn3270 %h %p" + + + ## protocol.no_proxy + # Comma separated list of domains for which the proxy (HTTP/FTP) + # should be disabled. Optionally, a port can be specified for some + # domains as well. If it's blank, NO_PROXY environment variable is + # checked as well. + set protocol.no_proxy = "" + + +## terminal +# Terminal options. + + ## terminal.linux + # Options specific to this terminal type (according to $TERM value). + + ## terminal.linux.charset + set terminal.linux.charset = "System" + ## terminal.linux.underline [0|1] + set terminal.linux.underline = 0 + ## terminal.linux.transparency [0|1] + set terminal.linux.transparency = 1 + ## terminal.linux.colors + set terminal.linux.colors = 1 + ## terminal.linux.block_cursor [0|1] + set terminal.linux.block_cursor = 0 + ## terminal.linux.restrict_852 [0|1] + set terminal.linux.restrict_852 = 0 + ## terminal.linux.utf_8_io [0|1] + set terminal.linux.utf_8_io = 0 + ## terminal.linux.m11_hack [0|1] + set terminal.linux.m11_hack = 1 + ## terminal.linux.type + set terminal.linux.type = 2 + + ## terminal.vt100 + # Options specific to this terminal type (according to $TERM value). + + ## terminal.vt100.charset + set terminal.vt100.charset = "System" + ## terminal.vt100.underline [0|1] + set terminal.vt100.underline = 0 + ## terminal.vt100.transparency [0|1] + set terminal.vt100.transparency = 1 + ## terminal.vt100.colors + set terminal.vt100.colors = 0 + ## terminal.vt100.block_cursor [0|1] + set terminal.vt100.block_cursor = 0 + ## terminal.vt100.restrict_852 [0|1] + set terminal.vt100.restrict_852 = 0 + ## terminal.vt100.utf_8_io [0|1] + set terminal.vt100.utf_8_io = 0 + ## terminal.vt100.m11_hack [0|1] + set terminal.vt100.m11_hack = 0 + ## terminal.vt100.type + set terminal.vt100.type = 1 + + ## terminal.vt110 + # Options specific to this terminal type (according to $TERM value). + + ## terminal.vt110.charset + set terminal.vt110.charset = "System" + ## terminal.vt110.underline [0|1] + set terminal.vt110.underline = 0 + ## terminal.vt110.transparency [0|1] + set terminal.vt110.transparency = 1 + ## terminal.vt110.colors + set terminal.vt110.colors = 0 + ## terminal.vt110.block_cursor [0|1] + set terminal.vt110.block_cursor = 0 + ## terminal.vt110.restrict_852 [0|1] + set terminal.vt110.restrict_852 = 0 + ## terminal.vt110.utf_8_io [0|1] + set terminal.vt110.utf_8_io = 0 + ## terminal.vt110.m11_hack [0|1] + set terminal.vt110.m11_hack = 0 + ## terminal.vt110.type + set terminal.vt110.type = 1 + + ## terminal.xterm + # Options specific to this terminal type (according to $TERM value). + + ## terminal.xterm.charset + set terminal.xterm.charset = "System" + ## terminal.xterm.underline [0|1] + set terminal.xterm.underline = 1 + ## terminal.xterm.transparency [0|1] + set terminal.xterm.transparency = 1 + ## terminal.xterm.colors + set terminal.xterm.colors = 0 + ## terminal.xterm.block_cursor [0|1] + set terminal.xterm.block_cursor = 0 + ## terminal.xterm.restrict_852 [0|1] + set terminal.xterm.restrict_852 = 0 + ## terminal.xterm.utf_8_io [0|1] + set terminal.xterm.utf_8_io = 0 + ## terminal.xterm.m11_hack [0|1] + set terminal.xterm.m11_hack = 0 + ## terminal.xterm.type + set terminal.xterm.type = 1 + + ## terminal.xterm-color + # Options specific to this terminal type (according to $TERM value). + + ## terminal.xterm-color.charset + set terminal.xterm-color.charset = "System" + ## terminal.xterm-color.underline [0|1] + set terminal.xterm-color.underline = 1 + ## terminal.xterm-color.transparency [0|1] + set terminal.xterm-color.transparency = 1 + ## terminal.xterm-color.colors + set terminal.xterm-color.colors = 1 + ## terminal.xterm-color.block_cursor [0|1] + set terminal.xterm-color.block_cursor = 0 + ## terminal.xterm-color.restrict_852 [0|1] + set terminal.xterm-color.restrict_852 = 0 + ## terminal.xterm-color.utf_8_io [0|1] + set terminal.xterm-color.utf_8_io = 0 + ## terminal.xterm-color.m11_hack [0|1] + set terminal.xterm-color.m11_hack = 0 + ## terminal.xterm-color.type + set terminal.xterm-color.type = 1 + + ## terminal.xterm-256color + # Options specific to this terminal type (according to $TERM value). + + ## terminal.xterm-256color.charset + set terminal.xterm-256color.charset = "System" + ## terminal.xterm-256color.underline [0|1] + set terminal.xterm-256color.underline = 1 + ## terminal.xterm-256color.transparency [0|1] + set terminal.xterm-256color.transparency = 1 + ## terminal.xterm-256color.colors + set terminal.xterm-256color.colors = 2 + ## terminal.xterm-256color.block_cursor [0|1] + set terminal.xterm-256color.block_cursor = 0 + ## terminal.xterm-256color.restrict_852 [0|1] + set terminal.xterm-256color.restrict_852 = 0 + ## terminal.xterm-256color.utf_8_io [0|1] + set terminal.xterm-256color.utf_8_io = 0 + ## terminal.xterm-256color.m11_hack [0|1] + set terminal.xterm-256color.m11_hack = 0 + ## terminal.xterm-256color.type + set terminal.xterm-256color.type = 1 + + +## ui +# User interface options. + + ## ui.clock + # Digital clock in the status bar. + + ## ui.clock.enable [0|1] + # Whether to display a digital clock in the status bar. + set ui.clock.enable = 0 + + ## ui.clock.format + # Format string for the digital clock. See the strftime(3) + # manpage for details. + set ui.clock.format = "[%H:%M]" + + + ## ui.colors + # Default user interface color settings. + + ## ui.colors.color + # Color settings for color terminal. + + ## ui.colors.color.mainmenu + # Main menu bar colors. + + ## ui.colors.color.mainmenu.normal + # Unselected main menu bar item colors. + + ## ui.colors.color.mainmenu.normal.text + # Default text color. + set ui.colors.color.mainmenu.normal.text = "black" + + ## ui.colors.color.mainmenu.normal.background + # Default background color. + set ui.colors.color.mainmenu.normal.background = "white" + + + ## ui.colors.color.mainmenu.selected + # Selected main menu bar item colors. + + ## ui.colors.color.mainmenu.selected.text + # Default text color. + set ui.colors.color.mainmenu.selected.text = "green" + + ## ui.colors.color.mainmenu.selected.background + # Default background color. + set ui.colors.color.mainmenu.selected.background = "black" + + + ## ui.colors.color.mainmenu.hotkey + # Main menu hotkey colors. + + ## ui.colors.color.mainmenu.hotkey.normal + # Main menu unselected hotkey colors. + + ## ui.colors.color.mainmenu.hotkey.normal.text + # Default text color. + set ui.colors.color.mainmenu.hotkey.normal.text = "darkred" + + ## ui.colors.color.mainmenu.hotkey.normal.background + # Default background color. + set ui.colors.color.mainmenu.hotkey.normal.background = "white" + + + ## ui.colors.color.mainmenu.hotkey.selected + # Main menu selected hotkey colors. + + ## ui.colors.color.mainmenu.hotkey.selected.text + # Default text color. + set ui.colors.color.mainmenu.hotkey.selected.text = "darkred" + + ## ui.colors.color.mainmenu.hotkey.selected.background + # Default background color. + set ui.colors.color.mainmenu.hotkey.selected.background = "green" + + + + + ## ui.colors.color.menu + # Menu bar colors. + + ## ui.colors.color.menu.normal + # Unselected menu item colors. + + ## ui.colors.color.menu.normal.text + # Default text color. + set ui.colors.color.menu.normal.text = "black" + + ## ui.colors.color.menu.normal.background + # Default background color. + set ui.colors.color.menu.normal.background = "white" + + + ## ui.colors.color.menu.selected + # Selected menu item colors. + + ## ui.colors.color.menu.selected.text + # Default text color. + set ui.colors.color.menu.selected.text = "black" + + ## ui.colors.color.menu.selected.background + # Default background color. + set ui.colors.color.menu.selected.background = "green" + + + ## ui.colors.color.menu.marked + # Marked menu item colors. + + ## ui.colors.color.menu.marked.text + # Default text color. + set ui.colors.color.menu.marked.text = "red" + + ## ui.colors.color.menu.marked.background + # Default background color. + set ui.colors.color.menu.marked.background = "white" + + + ## ui.colors.color.menu.hotkey + # Menu item hotkey colors. + + ## ui.colors.color.menu.hotkey.normal + # Menu item unselected hotkey colors. + + ## ui.colors.color.menu.hotkey.normal.text + # Default text color. + set ui.colors.color.menu.hotkey.normal.text = "darkred" + + ## ui.colors.color.menu.hotkey.normal.background + # Default background color. + set ui.colors.color.menu.hotkey.normal.background = "white" + + + ## ui.colors.color.menu.hotkey.selected + # Menu item selected hotkey colors. + + ## ui.colors.color.menu.hotkey.selected.text + # Default text color. + set ui.colors.color.menu.hotkey.selected.text = "darkred" + + ## ui.colors.color.menu.hotkey.selected.background + # Default background color. + set ui.colors.color.menu.hotkey.selected.background = "green" + + + + ## ui.colors.color.menu.frame + # Menu frame colors. + + ## ui.colors.color.menu.frame.text + # Default text color. + set ui.colors.color.menu.frame.text = "black" + + ## ui.colors.color.menu.frame.background + # Default background color. + set ui.colors.color.menu.frame.background = "white" + + + + ## ui.colors.color.dialog + # Dialog colors. + + ## ui.colors.color.dialog.generic + # Generic dialog colors. + + ## ui.colors.color.dialog.generic.text + # Default text color. + set ui.colors.color.dialog.generic.text = "black" + + ## ui.colors.color.dialog.generic.background + # Default background color. + set ui.colors.color.dialog.generic.background = "white" + + + ## ui.colors.color.dialog.frame + # Dialog frame colors. + + ## ui.colors.color.dialog.frame.text + # Default text color. + set ui.colors.color.dialog.frame.text = "black" + + ## ui.colors.color.dialog.frame.background + # Default background color. + set ui.colors.color.dialog.frame.background = "white" + + + ## ui.colors.color.dialog.scrollbar + # Scrollbar colors. + + ## ui.colors.color.dialog.scrollbar.text + # Default text color. + set ui.colors.color.dialog.scrollbar.text = "black" + + ## ui.colors.color.dialog.scrollbar.background + # Default background color. + set ui.colors.color.dialog.scrollbar.background = "blue" + + + ## ui.colors.color.dialog.scrollbar-selected + # Scrollbar selected colors. + + ## ui.colors.color.dialog.scrollbar-selected.text + # Default text color. + set ui.colors.color.dialog.scrollbar-selected.text = "black" + + ## ui.colors.color.dialog.scrollbar-selected.background + # Default background color. + set ui.colors.color.dialog.scrollbar-selected.background = "green" + + + ## ui.colors.color.dialog.title + # Dialog title colors. + + ## ui.colors.color.dialog.title.text + # Default text color. + set ui.colors.color.dialog.title.text = "darkred" + + ## ui.colors.color.dialog.title.background + # Default background color. + set ui.colors.color.dialog.title.background = "white" + + + ## ui.colors.color.dialog.text + # Dialog text colors. + + ## ui.colors.color.dialog.text.text + # Default text color. + set ui.colors.color.dialog.text.text = "black" + + ## ui.colors.color.dialog.text.background + # Default background color. + set ui.colors.color.dialog.text.background = "white" + + + ## ui.colors.color.dialog.checkbox + # Dialog checkbox colors. + + ## ui.colors.color.dialog.checkbox.text + # Default text color. + set ui.colors.color.dialog.checkbox.text = "darkred" + + ## ui.colors.color.dialog.checkbox.background + # Default background color. + set ui.colors.color.dialog.checkbox.background = "white" + + + ## ui.colors.color.dialog.checkbox-selected + # Dialog selected checkbox colors. + + ## ui.colors.color.dialog.checkbox-selected.text + # Default text color. + set ui.colors.color.dialog.checkbox-selected.text = "yellow" + + ## ui.colors.color.dialog.checkbox-selected.background + # Default background color. + set ui.colors.color.dialog.checkbox-selected.background = "green" + + + ## ui.colors.color.dialog.checkbox-label + # Dialog checkbox label colors. + + ## ui.colors.color.dialog.checkbox-label.text + # Default text color. + set ui.colors.color.dialog.checkbox-label.text = "black" + + ## ui.colors.color.dialog.checkbox-label.background + # Default background color. + set ui.colors.color.dialog.checkbox-label.background = "white" + + + ## ui.colors.color.dialog.button + # Dialog button colors. + + ## ui.colors.color.dialog.button.text + # Default text color. + set ui.colors.color.dialog.button.text = "white" + + ## ui.colors.color.dialog.button.background + # Default background color. + set ui.colors.color.dialog.button.background = "blue" + + + ## ui.colors.color.dialog.button-selected + # Dialog selected button colors. + + ## ui.colors.color.dialog.button-selected.text + # Default text color. + set ui.colors.color.dialog.button-selected.text = "yellow" + + ## ui.colors.color.dialog.button-selected.background + # Default background color. + set ui.colors.color.dialog.button-selected.background = "green" + + + ## ui.colors.color.dialog.button-shortcut + # Dialog button colors. + + ## ui.colors.color.dialog.button-shortcut.text + # Default text color. + set ui.colors.color.dialog.button-shortcut.text = "yellow" + + ## ui.colors.color.dialog.button-shortcut.background + # Default background color. + set ui.colors.color.dialog.button-shortcut.background = "blue" + + + ## ui.colors.color.dialog.button-shortcut-selected + # Dialog selected button colors. + + ## ui.colors.color.dialog.button-shortcut-selected.text + # Default text color. + set ui.colors.color.dialog.button-shortcut-selected.text = "white" + + ## ui.colors.color.dialog.button-shortcut-selected.background + # Default background color. + set ui.colors.color.dialog.button-shortcut-selected.background = "blue" + + + ## ui.colors.color.dialog.field + # Dialog text field colors. + + ## ui.colors.color.dialog.field.text + # Default text color. + set ui.colors.color.dialog.field.text = "white" + + ## ui.colors.color.dialog.field.background + # Default background color. + set ui.colors.color.dialog.field.background = "blue" + + + ## ui.colors.color.dialog.field-text + # Dialog field text colors. + + ## ui.colors.color.dialog.field-text.text + # Default text color. + set ui.colors.color.dialog.field-text.text = "yellow" + + ## ui.colors.color.dialog.field-text.background + # Default background color. + set ui.colors.color.dialog.field-text.background = "blue" + + + ## ui.colors.color.dialog.meter + # Dialog meter colors. + + ## ui.colors.color.dialog.meter.text + # Default text color. + set ui.colors.color.dialog.meter.text = "white" + + ## ui.colors.color.dialog.meter.background + # Default background color. + set ui.colors.color.dialog.meter.background = "blue" + + + ## ui.colors.color.dialog.shadow + # Dialog shadow colors (see ui.shadows option). + + ## ui.colors.color.dialog.shadow.text + # Default text color. + set ui.colors.color.dialog.shadow.text = "black" + + ## ui.colors.color.dialog.shadow.background + # Default background color. + set ui.colors.color.dialog.shadow.background = "black" + + + + ## ui.colors.color.title + # Title bar colors. + + ## ui.colors.color.title.title-bar + # Generic title bar colors. + + ## ui.colors.color.title.title-bar.text + # Default text color. + set ui.colors.color.title.title-bar.text = "black" + + ## ui.colors.color.title.title-bar.background + # Default background color. + set ui.colors.color.title.title-bar.background = "white" + + + ## ui.colors.color.title.title-text + # Title bar text colors. + + ## ui.colors.color.title.title-text.text + # Default text color. + set ui.colors.color.title.title-text.text = "black" + + ## ui.colors.color.title.title-text.background + # Default background color. + set ui.colors.color.title.title-text.background = "white" + + + + ## ui.colors.color.status + # Status bar colors. + + ## ui.colors.color.status.status-bar + # Generic status bar colors. + + ## ui.colors.color.status.status-bar.text + # Default text color. + set ui.colors.color.status.status-bar.text = "black" + + ## ui.colors.color.status.status-bar.background + # Default background color. + set ui.colors.color.status.status-bar.background = "white" + + + ## ui.colors.color.status.status-text + # Status bar text colors. + + ## ui.colors.color.status.status-text.text + # Default text color. + set ui.colors.color.status.status-text.text = "black" + + ## ui.colors.color.status.status-text.background + # Default background color. + set ui.colors.color.status.status-text.background = "white" + + + + ## ui.colors.color.tabs + # Tabs bar colors. + + ## ui.colors.color.tabs.unvisited + # Tab colors for tabs that have not been + # selected since they completed loading. + + ## ui.colors.color.tabs.unvisited.text + # Default text color. + set ui.colors.color.tabs.unvisited.text = "darkblue" + + ## ui.colors.color.tabs.unvisited.background + # Default background color. + set ui.colors.color.tabs.unvisited.background = "white" + + + ## ui.colors.color.tabs.normal + # Unselected tab colors. + + ## ui.colors.color.tabs.normal.text + # Default text color. + set ui.colors.color.tabs.normal.text = "black" + + ## ui.colors.color.tabs.normal.background + # Default background color. + set ui.colors.color.tabs.normal.background = "white" + + + ## ui.colors.color.tabs.loading + # Tab colors for tabs that are loading in the background. + + ## ui.colors.color.tabs.loading.text + # Default text color. + set ui.colors.color.tabs.loading.text = "darkred" + + ## ui.colors.color.tabs.loading.background + # Default background color. + set ui.colors.color.tabs.loading.background = "white" + + + ## ui.colors.color.tabs.selected + # Selected tab colors. + + ## ui.colors.color.tabs.selected.text + # Default text color. + set ui.colors.color.tabs.selected.text = "black" + + ## ui.colors.color.tabs.selected.background + # Default background color. + set ui.colors.color.tabs.selected.background = "green" + + + ## ui.colors.color.tabs.separator + # Tab separator colors. + + ## ui.colors.color.tabs.separator.text + # Default text color. + set ui.colors.color.tabs.separator.text = "brown" + + ## ui.colors.color.tabs.separator.background + # Default background color. + set ui.colors.color.tabs.separator.background = "white" + + + + ## ui.colors.color.searched + # Searched string highlight colors. + + ## ui.colors.color.searched.text + # Default text color. + set ui.colors.color.searched.text = "black" + + ## ui.colors.color.searched.background + # Default background color. + set ui.colors.color.searched.background = "lime" + + + + ## ui.colors.mono + # Color settings for non-color terminal. + + ## ui.colors.mono.mainmenu + # Main menu bar colors. + + ## ui.colors.mono.mainmenu.normal + # Unselected main menu bar item colors. + + ## ui.colors.mono.mainmenu.normal.text + # Default text color. + set ui.colors.mono.mainmenu.normal.text = "black" + + ## ui.colors.mono.mainmenu.normal.background + # Default background color. + set ui.colors.mono.mainmenu.normal.background = "white" + + + ## ui.colors.mono.mainmenu.selected + # Selected main menu bar item colors. + + ## ui.colors.mono.mainmenu.selected.text + # Default text color. + set ui.colors.mono.mainmenu.selected.text = "gray" + + ## ui.colors.mono.mainmenu.selected.background + # Default background color. + set ui.colors.mono.mainmenu.selected.background = "black" + + + ## ui.colors.mono.mainmenu.hotkey + # Main menu hotkey colors. + + ## ui.colors.mono.mainmenu.hotkey.normal + # Main menu unselected hotkey colors. + + ## ui.colors.mono.mainmenu.hotkey.normal.text + # Default text color. + set ui.colors.mono.mainmenu.hotkey.normal.text = "black" + + ## ui.colors.mono.mainmenu.hotkey.normal.background + # Default background color. + set ui.colors.mono.mainmenu.hotkey.normal.background = "white" + + + ## ui.colors.mono.mainmenu.hotkey.selected + # Main menu selected hotkey colors. + + ## ui.colors.mono.mainmenu.hotkey.selected.text + # Default text color. + set ui.colors.mono.mainmenu.hotkey.selected.text = "black" + + ## ui.colors.mono.mainmenu.hotkey.selected.background + # Default background color. + set ui.colors.mono.mainmenu.hotkey.selected.background = "white" + + + + + ## ui.colors.mono.menu + # Menu bar colors. + + ## ui.colors.mono.menu.normal + # Unselected menu item colors. + + ## ui.colors.mono.menu.normal.text + # Default text color. + set ui.colors.mono.menu.normal.text = "black" + + ## ui.colors.mono.menu.normal.background + # Default background color. + set ui.colors.mono.menu.normal.background = "white" + + + ## ui.colors.mono.menu.selected + # Selected menu item colors. + + ## ui.colors.mono.menu.selected.text + # Default text color. + set ui.colors.mono.menu.selected.text = "gray" + + ## ui.colors.mono.menu.selected.background + # Default background color. + set ui.colors.mono.menu.selected.background = "black" + + + ## ui.colors.mono.menu.marked + # Marked menu item colors. + + ## ui.colors.mono.menu.marked.text + # Default text color. + set ui.colors.mono.menu.marked.text = "gray" + + ## ui.colors.mono.menu.marked.background + # Default background color. + set ui.colors.mono.menu.marked.background = "white" + + + ## ui.colors.mono.menu.hotkey + # Menu item hotkey colors. + + ## ui.colors.mono.menu.hotkey.normal + # Menu item unselected hotkey colors. + + ## ui.colors.mono.menu.hotkey.normal.text + # Default text color. + set ui.colors.mono.menu.hotkey.normal.text = "gray" + + ## ui.colors.mono.menu.hotkey.normal.background + # Default background color. + set ui.colors.mono.menu.hotkey.normal.background = "black" + + + ## ui.colors.mono.menu.hotkey.selected + # Menu item selected hotkey colors. + + ## ui.colors.mono.menu.hotkey.selected.text + # Default text color. + set ui.colors.mono.menu.hotkey.selected.text = "gray" + + ## ui.colors.mono.menu.hotkey.selected.background + # Default background color. + set ui.colors.mono.menu.hotkey.selected.background = "black" + + + + ## ui.colors.mono.menu.frame + # Menu frame colors. + + ## ui.colors.mono.menu.frame.text + # Default text color. + set ui.colors.mono.menu.frame.text = "black" + + ## ui.colors.mono.menu.frame.background + # Default background color. + set ui.colors.mono.menu.frame.background = "white" + + + + ## ui.colors.mono.dialog + # Dialog colors. + + ## ui.colors.mono.dialog.generic + # Generic dialog colors. + + ## ui.colors.mono.dialog.generic.text + # Default text color. + set ui.colors.mono.dialog.generic.text = "black" + + ## ui.colors.mono.dialog.generic.background + # Default background color. + set ui.colors.mono.dialog.generic.background = "white" + + + ## ui.colors.mono.dialog.frame + # Dialog frame colors. + + ## ui.colors.mono.dialog.frame.text + # Default text color. + set ui.colors.mono.dialog.frame.text = "black" + + ## ui.colors.mono.dialog.frame.background + # Default background color. + set ui.colors.mono.dialog.frame.background = "white" + + + ## ui.colors.mono.dialog.scrollbar + # Scrollbar colors. + + ## ui.colors.mono.dialog.scrollbar.text + # Default text color. + set ui.colors.mono.dialog.scrollbar.text = "white" + + ## ui.colors.mono.dialog.scrollbar.background + # Default background color. + set ui.colors.mono.dialog.scrollbar.background = "black" + + + ## ui.colors.mono.dialog.scrollbar-selected + # Scrollbar selected colors. + + ## ui.colors.mono.dialog.scrollbar-selected.text + # Default text color. + set ui.colors.mono.dialog.scrollbar-selected.text = "black" + + ## ui.colors.mono.dialog.scrollbar-selected.background + # Default background color. + set ui.colors.mono.dialog.scrollbar-selected.background = "white" + + + ## ui.colors.mono.dialog.title + # Dialog title colors. + + ## ui.colors.mono.dialog.title.text + # Default text color. + set ui.colors.mono.dialog.title.text = "gray" + + ## ui.colors.mono.dialog.title.background + # Default background color. + set ui.colors.mono.dialog.title.background = "black" + + + ## ui.colors.mono.dialog.text + # Dialog text colors. + + ## ui.colors.mono.dialog.text.text + # Default text color. + set ui.colors.mono.dialog.text.text = "black" + + ## ui.colors.mono.dialog.text.background + # Default background color. + set ui.colors.mono.dialog.text.background = "white" + + + ## ui.colors.mono.dialog.checkbox + # Dialog checkbox colors. + + ## ui.colors.mono.dialog.checkbox.text + # Default text color. + set ui.colors.mono.dialog.checkbox.text = "black" + + ## ui.colors.mono.dialog.checkbox.background + # Default background color. + set ui.colors.mono.dialog.checkbox.background = "white" + + + ## ui.colors.mono.dialog.checkbox-selected + # Dialog selected checkbox colors. + + ## ui.colors.mono.dialog.checkbox-selected.text + # Default text color. + set ui.colors.mono.dialog.checkbox-selected.text = "white" + + ## ui.colors.mono.dialog.checkbox-selected.background + # Default background color. + set ui.colors.mono.dialog.checkbox-selected.background = "black" + + + ## ui.colors.mono.dialog.checkbox-label + # Dialog checkbox label colors. + + ## ui.colors.mono.dialog.checkbox-label.text + # Default text color. + set ui.colors.mono.dialog.checkbox-label.text = "black" + + ## ui.colors.mono.dialog.checkbox-label.background + # Default background color. + set ui.colors.mono.dialog.checkbox-label.background = "white" + + + ## ui.colors.mono.dialog.button + # Dialog button colors. + + ## ui.colors.mono.dialog.button.text + # Default text color. + set ui.colors.mono.dialog.button.text = "black" + + ## ui.colors.mono.dialog.button.background + # Default background color. + set ui.colors.mono.dialog.button.background = "white" + + + ## ui.colors.mono.dialog.button-selected + # Dialog selected button colors. + + ## ui.colors.mono.dialog.button-selected.text + # Default text color. + set ui.colors.mono.dialog.button-selected.text = "white" + + ## ui.colors.mono.dialog.button-selected.background + # Default background color. + set ui.colors.mono.dialog.button-selected.background = "black" + + + ## ui.colors.mono.dialog.button-shortcut + # Dialog button colors. + + ## ui.colors.mono.dialog.button-shortcut.text + # Default text color. + set ui.colors.mono.dialog.button-shortcut.text = "white" + + ## ui.colors.mono.dialog.button-shortcut.background + # Default background color. + set ui.colors.mono.dialog.button-shortcut.background = "black" + + + ## ui.colors.mono.dialog.button-shortcut-selected + # Dialog selected button colors. + + ## ui.colors.mono.dialog.button-shortcut-selected.text + # Default text color. + set ui.colors.mono.dialog.button-shortcut-selected.text = "black" + + ## ui.colors.mono.dialog.button-shortcut-selected.background + # Default background color. + set ui.colors.mono.dialog.button-shortcut-selected.background = "white" + + + ## ui.colors.mono.dialog.field + # Dialog text field colors. + + ## ui.colors.mono.dialog.field.text + # Default text color. + set ui.colors.mono.dialog.field.text = "gray" + + ## ui.colors.mono.dialog.field.background + # Default background color. + set ui.colors.mono.dialog.field.background = "black" + + + ## ui.colors.mono.dialog.field-text + # Dialog field text colors. + + ## ui.colors.mono.dialog.field-text.text + # Default text color. + set ui.colors.mono.dialog.field-text.text = "gray" + + ## ui.colors.mono.dialog.field-text.background + # Default background color. + set ui.colors.mono.dialog.field-text.background = "black" + + + ## ui.colors.mono.dialog.meter + # Dialog meter colors. + + ## ui.colors.mono.dialog.meter.text + # Default text color. + set ui.colors.mono.dialog.meter.text = "gray" + + ## ui.colors.mono.dialog.meter.background + # Default background color. + set ui.colors.mono.dialog.meter.background = "black" + + + ## ui.colors.mono.dialog.shadow + # Dialog shadow colors (see ui.shadows option). + + ## ui.colors.mono.dialog.shadow.text + # Default text color. + set ui.colors.mono.dialog.shadow.text = "black" + + ## ui.colors.mono.dialog.shadow.background + # Default background color. + set ui.colors.mono.dialog.shadow.background = "black" + + + + ## ui.colors.mono.title + # Title bar colors. + + ## ui.colors.mono.title.title-bar + # Generic title bar colors. + + ## ui.colors.mono.title.title-bar.text + # Default text color. + set ui.colors.mono.title.title-bar.text = "gray" + + ## ui.colors.mono.title.title-bar.background + # Default background color. + set ui.colors.mono.title.title-bar.background = "black" + + + ## ui.colors.mono.title.title-text + # Title bar text colors. + + ## ui.colors.mono.title.title-text.text + # Default text color. + set ui.colors.mono.title.title-text.text = "gray" + + ## ui.colors.mono.title.title-text.background + # Default background color. + set ui.colors.mono.title.title-text.background = "black" + + + + ## ui.colors.mono.status + # Status bar colors. + + ## ui.colors.mono.status.status-bar + # Generic status bar colors. + + ## ui.colors.mono.status.status-bar.text + # Default text color. + set ui.colors.mono.status.status-bar.text = "black" + + ## ui.colors.mono.status.status-bar.background + # Default background color. + set ui.colors.mono.status.status-bar.background = "white" + + + ## ui.colors.mono.status.status-text + # Status bar text colors. + + ## ui.colors.mono.status.status-text.text + # Default text color. + set ui.colors.mono.status.status-text.text = "black" + + ## ui.colors.mono.status.status-text.background + # Default background color. + set ui.colors.mono.status.status-text.background = "white" + + + + ## ui.colors.mono.tabs + # Tabs bar colors. + + ## ui.colors.mono.tabs.unvisited + # Tab colors for tabs that have not been + # selected since they completed loading. + + ## ui.colors.mono.tabs.unvisited.text + # Default text color. + set ui.colors.mono.tabs.unvisited.text = "gray" + + ## ui.colors.mono.tabs.unvisited.background + # Default background color. + set ui.colors.mono.tabs.unvisited.background = "white" + + + ## ui.colors.mono.tabs.normal + # Unselected tab colors. + + ## ui.colors.mono.tabs.normal.text + # Default text color. + set ui.colors.mono.tabs.normal.text = "black" + + ## ui.colors.mono.tabs.normal.background + # Default background color. + set ui.colors.mono.tabs.normal.background = "white" + + + ## ui.colors.mono.tabs.loading + # Tab colors for tabs that are loading in the background. + + ## ui.colors.mono.tabs.loading.text + # Default text color. + set ui.colors.mono.tabs.loading.text = "gray" + + ## ui.colors.mono.tabs.loading.background + # Default background color. + set ui.colors.mono.tabs.loading.background = "white" + + + ## ui.colors.mono.tabs.selected + # Selected tab colors. + + ## ui.colors.mono.tabs.selected.text + # Default text color. + set ui.colors.mono.tabs.selected.text = "gray" + + ## ui.colors.mono.tabs.selected.background + # Default background color. + set ui.colors.mono.tabs.selected.background = "black" + + + ## ui.colors.mono.tabs.separator + # Tab separator colors. + + ## ui.colors.mono.tabs.separator.text + # Default text color. + set ui.colors.mono.tabs.separator.text = "gray" + + ## ui.colors.mono.tabs.separator.background + # Default background color. + set ui.colors.mono.tabs.separator.background = "white" + + + + ## ui.colors.mono.searched + # Searched string highlight colors. + + ## ui.colors.mono.searched.text + # Default text color. + set ui.colors.mono.searched.text = "black" + + ## ui.colors.mono.searched.background + # Default background color. + set ui.colors.mono.searched.background = "white" + + + + + ## ui.dialogs + # Dialogs-specific appearance and behaviour settings. + + ## ui.dialogs.listbox_min_height + # Minimal height of the listbox widget (used e.g. for bookmarks + # or global history). + set ui.dialogs.listbox_min_height = 10 + + ## ui.dialogs.shadows [0|1] + # Make dialogs drop shadows (the shadows are solid, you can + # adjust their color by ui.colors.*.dialog.shadow). You may + # also want to eliminate the wide borders by adjusting setup.h. + set ui.dialogs.shadows = 0 + + ## ui.dialogs.underline_hotkeys [0|1] + # Whether to underline hotkeys in menus to make them more + # visible. Requires the underlining is enabled for the terminal. + set ui.dialogs.underline_hotkeys = 0 + + ## ui.dialogs.underline_button_shortcuts [0|1] + # Whether to underline button shortcuts to make them more + # visible. Requires the underlining is enabled for the terminal. + set ui.dialogs.underline_button_shortcuts = 0 + + + ## ui.leds + # LEDs (visual indicators) options. + + ## ui.leds.enable [0|1] + # Enable LEDs. + # These visual indicators will inform you about various states. + set ui.leds.enable = 1 + + + ## ui.sessions + # Sessions settings. + + ## ui.sessions.auto_restore [0|1] + # Automatically restore the session at start. + # This feature requires bookmark support. + set ui.sessions.auto_restore = 0 + + ## ui.sessions.auto_save [0|1] + # Automatically save the session when quitting. + # This feature requires bookmark support. + set ui.sessions.auto_save = 0 + + ## ui.sessions.auto_save_foldername + # Name of the bookmarks folder used for auto saving and restoring session. + # The name has to be unique. Any folders with the same name will be + # deleted. + # This only makes sense with bookmark support. + set ui.sessions.auto_save_foldername = "Auto saved session" + + ## ui.sessions.homepage + # The URI to load either at startup time when no URI was given + # on the command line or when requested by the goto-url-home action. + # Set to "" if the environment variable WWW_HOME should be used + # as homepage URI instead. + set ui.sessions.homepage = "" + + ## ui.sessions.snapshot [0|1] + # Automatically save a snapshot of all tabs periodically. + # This will periodically bookmark the tabs of each terminal in a separate + # folder + # for recovery after a crash. + # + # This feature requires bookmark support. + set ui.sessions.snapshot = 0 + + + ## ui.tabs + # Window tabs settings. + + ## ui.tabs.show_bar + # Show tabs bar on the screen: + # 0 means never + # 1 means only if two or more tabs are open + # 2 means always + set ui.tabs.show_bar = 1 + + ## ui.tabs.wraparound [0|1] + # When moving right from the last tab, jump at the first one, and + # vice versa. + set ui.tabs.wraparound = 1 + + ## ui.tabs.confirm_close [0|1] + # When closing a tab show confirmation dialog. + set ui.tabs.confirm_close = 0 + + + ## ui.timer + # Timed action after certain interval of user inactivity. Someone can + # even find this useful, although you may not believe that. + + ## ui.timer.enable + # Whether to enable the timer or not: + # 0 is don't count down anything + # 1 is count down, but don't show the timer + # 2 is count down and show the timer near LEDs + set ui.timer.enable = 0 + + ## ui.timer.duration + # Inactivity timeout in seconds. The maximum of one day + # should be enough for just everyone (TM). + set ui.timer.duration = 86400 + + ## ui.timer.action + # Keybinding action to be triggered when timer reaches zero. + set ui.timer.action = "" + + + ## ui.date_format + # Date format to use in dialogs. See strftime(3). + set ui.date_format = "%b %e %H:%M" + + ## ui.language + # Language of user interface. 'System' means that the language will + # be extracted from the environment dynamically. + set ui.language = "System" + + ## ui.show_status_bar [0|1] + # Show status bar on the screen. + set ui.show_status_bar = 1 + + ## ui.show_title_bar [0|1] + # Show title bar on the screen. + set ui.show_title_bar = 1 + + ## ui.startup_goto_dialog [0|1] + # Pop up goto dialog in newly created tabs when there's no homepage + # set. This means also showing goto dialog on startup. + set ui.startup_goto_dialog = 1 + + ## ui.success_msgbox [0|1] + # When you pressed a [ Save ] button in some manager, this option + # will make sure that a box confirming success of the operation will + # pop up. + set ui.success_msgbox = 1 + + ## ui.window_title [0|1] + # Set the window title when running in a windowing environment + # in an xterm-like terminal. This way the document's title is + # shown on the window titlebar. + set ui.window_title = 1 + + diff --git a/contrib/elinks.fortune b/contrib/elinks.fortune new file mode 100644 index 00000000..22738d67 --- /dev/null +++ b/contrib/elinks.fortune @@ -0,0 +1,101 @@ +Neuromancer > it compiles... + fonseca > ... and that concludes the rc2 announcement. +% +Miciah+> Add a href and all is goo. +Miciah+> s/goo/&d/ +Miciah+> Somebody make a joke... +% +fonseca+> [22:51:23]fonseca@ask:~ > mutt -Z +fonseca+> sh: line 1: elinks: command not found +fonseca+> Press any key to continue... +fonseca+> :(( +fonseca+> Damn gentoo upgrade. +% +You can prefix an action with a number. For example: +3 jumps down three links. +% +Use 'u' to move forward in the document history. +% +Use '*' to toggle the display of image tags with no ALT attribute. +% +Use '.' to toggle link numbering. +% +Set ESC->Setup->Option manager->Document->Browsing->Forms->Insert mode +to '1' to prevent text fields from capturing key presses. When enabled, +one must explicitly 'enter' a selected text-field to edit it. +% +Pressing '|' will display server headers and '=', page information. +% +Use '\' to toggle display of the page source. +% +Use '%' to switch between using the default colors, using +document specified colors except for the background, and +using document specified colors including the background. +% +You can use the escape key to dismiss any dialog box. +% +To search in the current frame, hit '/', or '?' to search backwards. +% +Use 't' to open a new tab and 'T' to open the +selected link in a new tab in the background. +% +If you are having trouble selecting text with the mouse +for copy and paste, try holding down the shift key. +% +Use 'n' to show the next search result and 'N' to show the previous. +% +fonseca+> It is DIY season on planet ELinks. ;) +% +08:57:49 < Miciah> Cats are not progressive. +% +mffpasky > you're mad? :) exposing myself to a CVS version of ELinks?! +% +Click on the LEDs to get an information dialog describing their purpose. +% +To preload links for later reading, press 'T' on +each one. Then, use '>' and '<' to switch between +tabs, and 'c' to close a tab when you are finished. +% +fonseca > pasky: Are we in a funny mood today? + pasky > !!! + pasky > !!:!! + pasky > !:::! + pasky > !:::! + pasky > mmmmmmm mmmmmmm ooooooooooo ooooooooooo !:::! + pasky > mm:::::::m m:::::::mm oo:::::::::::oo oo:::::::::::oo !:::! + pasky > m::::::::::mm::::::::::mo:::::::::::::::oo:::::::::::::::o!:::! + pasky > m::::::::::::::::::::::mo:::::ooooo:::::oo:::::ooooo:::::o!:::! + pasky > m:::::mmm::::::mmm:::::mo::::o o::::oo::::o o::::o!:::! + pasky > m::::m m::::m m::::mo::::o o::::oo::::o o::::o!:::! + pasky > m::::m m::::m m::::mo::::o o::::oo::::o o::::o!!:!! + pasky > m::::m m::::m m::::mo::::o o::::oo::::o o::::o !!! + pasky > m::::m m::::m m::::mo:::::ooooo:::::oo:::::ooooo:::::o + pasky > m::::m m::::m m::::mo:::::::::::::::oo:::::::::::::::o !!! + pasky > m::::m m::::m m::::m oo:::::::::::oo oo:::::::::::oo !!:!! + pasky > mmmmmm mmmmmm mmmmmm ooooooooooo ooooooooooo !!! +fonseca > Alright. +% +To move a bookmark, press or '*' on it, move the cursor +above where you'd like it to be, and press the 'Move' button. +% +hooks.pl: take THAT hooks.lua - *pimp slap* +% +Pressing Ctrl-W in most text-input fields will auto-complete the entered +text from history or display a menu with possible completions. +% +To interrupt a connection, press 'z'. The key bound to 'back' also works. +% +Neuromancer> [--J---] +Neuromancer> You know, maybe it'd save some cycles if that just gets hard coded there instead of the -. +% +Neuromancer > Sure, it may not compile, but we have PDF docs. Sweet. +% +[Miciah] Are chr, uchar, LLONG, and LDOUBLE beneficial? +[fonseca] begone spawn of darkness +% +fonseca > I think it'll take no more than 5 hours to release 0.10.6 + Miciah > Yay! +fonseca > The other releases has taken 2 hours, to go through the backlog. But this one is a bit harder. +fonseca > Not all is in the elinks-cvs mailbox. +arcatan > I'm going to quote that when you have hacked 10 hours +fonseca > And I'm going to quote that when I've done it in 3 hours. ;) diff --git a/contrib/elinks.spec.in b/contrib/elinks.spec.in new file mode 100644 index 00000000..7074e2bc --- /dev/null +++ b/contrib/elinks.spec.in @@ -0,0 +1,191 @@ +# To build rpm: rpmbuild -bb elinks.spec +# Debug version: rpmbuild -bb elinks.spec --debug +# Console version without X11 dependency: rpmbuild -bb elinks.spec --without x +# by default all features are enabled +# Conditional builds: +# --without 256 # build without support for 256 colors on xterm +# --without bzlib +# --without cgi # build without local cgi support +# --without gpm # build without GPM support +# --without leds # disable leds support +# --without lua # build without lua scripting engine +# --without openssl +# --without smb # build without support for SMB protocol +# --without x # without X11 dependency (X11 libs are used only for restoring title +# in xterm) +# --without zlib # +# --with guile # build with guile scripting engine +# --with perl # build with Perl scripting engine +# +# This file was contributed by and +# . +# +# Just try to send the patch/new version to them and wait few days if they will +# do anything. If yes, they'll approve it or forward it to me (don't fear, the +# credit won't be lost) if it's ok by them. If you won't get any reply, send it +# to the elinks-dev mailing list. Thanks! --pasky +# +# +# Spec file format from < http://www.rpm.org/RPM-HOWTO/build.html > +# +# $Id: elinks.spec.in,v 1.19 2005/06/14 13:34:04 witekfl Exp $ + +Summary: Enhanced version of Links (Lynx-like text WWW browser) +Name: elinks +Version: @VERSION@ +Release: 1 +License: GPL +Vendor: ELinks project +Packager: Petr Baudis +Group: Applications/Internet +Source: http://elinks.or.cz/download/%{name}-%{version}.tar.bz2 +URL: http://elinks.or.cz/ +BuildRequires: bzip2-devel +BuildRequires: expat-devel +BuildRequires: gpm-devel +BuildRequires: openssl-devel +BuildRequires: zlib-devel +%{!?_without_x:BuildRequires: XFree86-devel} +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Enhanced version of Links (Lynx-like text WWW browser), with more liberal +features policy and development style. + +ELinks aims to provide feature-rich version of Links. Its purpuose is to make +alternative to Links, and to test and tune various new features, but still +provide good rock-solid releases inside stable branches. + +%prep +%setup -q + +%build + +# +# if you just checkout the source and make a tarball from it uncomment +# the following line +# +# ./autogen.sh + +%configure \ +%{?debug: --enable-debug} \ +%{!?debug: --enable-fastmem} \ +%{?_without_x: --without-x} \ +%{?_without_lua: --without-lua} \ +%{?_without_zlib: --without-zlib} \ +%{?_without_bzlib: --without-bzlib} \ +%{?_without_gpm: --without-gpm} \ +%{?_without_openssl: --without-openssl} \ +%{?_with_guile: --with-guile} \ +%{?_with_perl: --with-perl} \ +%{?_without_lua: --without-lua} \ +%{!?_without_leds: --enable-leds} \ +%{!?_without_256: --enable-256-colors} \ +%{?_without_smb: --disable-smb} \ +%{!?_without_cgi: --enable-cgi} \ + --enable-exmode \ + --enable-html-highlight \ + --enable-gopher \ + --enable-finger \ + --enable-nntp \ +%{?_without_spidermonkey: --without-spidermonkey} + + +%{__make} + + +%install +rm -rf $RPM_BUILD_ROOT +%{__make} install DESTDIR=$RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/{contrib,conv,lua,guile,perl} +install \ + AUTHORS* BUGS* ChangeLog* COPYING* README* SITES* TODO* THANKS* \ + INSTALL* NEWS* $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/ +install \ + contrib/elinks.vim contrib/elinks-vim.diff contrib/keybind*.conf \ + $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/contrib/ +install \ + contrib/conv/w3m2links.gawk contrib/conv/conf-links2elinks.pl \ + contrib/conv/mailcap.pl contrib/conv/old_to_new_bookmarks.sh \ + $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/conv/ +install \ + contrib/lua/elinks-remote contrib/lua/*.lua \ + $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/lua/ +install \ + contrib/guile/*scm \ + $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/guile/ +install \ + contrib/perl/hooks.pl \ + $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/perl +install \ + doc/*.txt doc/*.html \ + $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/ + +%find_lang %{name} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %{name}.lang +%defattr(644,root,root,755) +%attr (755,root,root) %{_bindir}/%{name} +%doc %{_defaultdocdir}/%{name} +%doc %{_mandir}/man?/* + +# date +"%a %b %d %Y" +%changelog +*Tue Jun 14 2005 Witold Filipczyk +- removed unused texi2html dependency +- removed unused libdir directory + +*Mon Sep 27 2004 Witold Filipczyk +- by default build feature rich ELinks + +* Thu Mar 25 2004 Witold Filipczyk +- a lot of bconds +- added hooks.pl + +* Wed Dec 10 2003 Witold Filipczyk +- enabled leds and local-cgi + +* Sun 0ct 26 2003 Witold Filipczyk +- revert to version from 5 October + +* Sat Oct 25 2003 Witold Filipczyk +- more BRs. gettext should be enough for most cases, but + gettext-devel shouldn't hurt. + +* Sun Oct 05 2003 Witold Filipczyk +- enabled 256 colors + +* Thu Oct 02 2003 Witold Filipczyk +- polished +- no sanity checks + +* Sat Sep 27 2003 darix@irssi.org +- added license +- changed BuildRoot to use tmppath variable. +- removed prefix +- added some more docs and the guile scripts + +* Sat Sep 27 2003 Petr Baudis +- sanity checks of $RPM_BUILD_ROOT before rm -rf'ing it, based on darix's + suggestion + +* Sun Jan 26 2003 Petr Baudis +- elinks.pld.org.pl -> elinks.or.cz, based on Bennett's suggestion + +* Thu Dec 19 2002 Bennett Todd +- wildcarded the above doc and manpage specifications, and tagged the man + pages as docs + +* Mon May 06 2002 yanek@yankuv.koniec.sk +- general update - cleanup of .spec file, massive simplifications + +* Thu Apr 04 2002 pasky@ucw.cz +- Changed some stuff so that it's now ready for inclusion.. + +* Sat Mar 16 2002 zimon (ät) iki fi +- Made my own elinks.spec file as the one I found with Google didn't work how + I wanted + diff --git a/contrib/elinks.vim b/contrib/elinks.vim new file mode 100644 index 00000000..9e54e21a --- /dev/null +++ b/contrib/elinks.vim @@ -0,0 +1,116 @@ +" Vim syntax file +" Language: ELinks configuration file (elinks.conf) +" Maintainer: Jonas Fonseca +" Last Change: Dec 12th 2002 +" Description: This file covers elinks version 0.4pre15 + +" $Id: elinks.vim,v 1.8 2003/12/22 00:10:42 jonas Exp $ + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Add keyword characters needed by elinksAction's. +if version < 600 + set iskeyword+=- +else + setlocal iskeyword+=- +endif + +" Comment stuff +syn match elinksComment /\s*#.*$/ contains=elinksTodo,elinksSyntax +syn keyword elinksTodo contained TODO NOTE NOT FIXME XXX +syn match elinksSyntax contained /[a-zA-Z-0-9\._-]\+\s\(<.*>\|\[.*|.*\]\)/ + +" Set statements +syn match elinksSet /^\s*set\s/ skipwhite nextgroup=elinksTreeOpt + +" The '=' included in elinksTreeOpt controls highlighting of the tree options +syn match elinksTreeOpt /[a-zA-Z-0-9\*\._-]\+\s*=/ skipwhite contains=elinksAssign nextgroup=elinksNumber,elinksValue +syn match elinksAssign contained /=/ + +syn match elinksNumber /-\?\d\+[Mk]\?/ contains=elinksSize +syn match elinksSize contained /[Mk]/ + +syn region elinksValue start=+"+ms=e end=+"+ contains=elinksEmail,elinksURL,elinksColor,elinksEscape,elinksComArgs +syn match elinksEscape contained /\\"/ +syn match elinksComArgs contained /%[hpstuv]/ +syn match elinksColor contained /#\x\{6\}/ +syn match elinksEmail contained "[a-zA-Z0-9.-]\+@[a-zA-Z0-9.-]\+" +syn match elinksURL contained "\(https\?\|ftp\)://\w\+[a-zA-Z0-9.-]*\(:[1-9]\d\{0,4\}\)\?" + +" Bind statements +syn match elinksBind /^\s*bind\s/ skipwhite nextgroup=elinksKeymap +syn match elinksKeymap /"\(main\|edit\|menu\)"/ skipwhite nextgroup=elinksKey +syn match elinksKey /"[^"]\+"/ skipwhite nextgroup=elinksActStr + +syn match elinksActStr /=\s*"[^"]*"/ contains=elinksAssign,elinksAction +syn keyword elinksAction contained abort-connection add-bookmark add-bookmark-link +syn keyword elinksAction contained auto-complete auto-complete-unambiguous +syn keyword elinksAction contained back backspace bookmark-manager +syn keyword elinksAction contained cache-manager cancel cookie-manager +syn keyword elinksAction contained cookies-load copy-clipboard cut-clipboard +syn keyword elinksAction contained delete document-info down download download-image +syn keyword elinksAction contained download-manager +syn keyword elinksAction contained edit end enter enter-reload expand +syn keyword elinksAction contained file-menu find-next find-next-back follow-link forget-credentials +syn keyword elinksAction contained goto-url goto-url-current goto-url-current-link goto-url-home +syn keyword elinksAction contained header-info history-manager home jump-to-link +syn keyword elinksAction contained keybinding-manager kill-to-bol kill-to-eol +syn keyword elinksAction contained left link-menu lua-console +syn keyword elinksAction contained mark-item mark-set mark-goto menu next-frame none next-item +syn keyword elinksAction contained open-new-tab open-link-in-new-tab +syn keyword elinksAction contained open-link-in-new-window open-new-window options-manager +syn keyword elinksAction contained page-down page-up paste-clipboard previous-frame quit +syn keyword elinksAction contained really-quit redraw reload resume-download right +syn keyword elinksAction contained save-formatted scroll-down scroll-left +syn keyword elinksAction contained scroll-right scroll-up search search-back search-typeahead select +syn keyword elinksAction contained tab-close tab-next tab-prev toggle-display-images toggle-document-colors +syn keyword elinksAction contained toggle-numbered-links toggle-display-tables toggle-html-plain +syn keyword elinksAction contained unback unexpand up view-image zoom-frame + +" Include statements +syn match elinksInclude /^\s*include\s/ skipwhite nextgroup=elinksValue + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_elinks_syntax_inits") + if version < 508 + let did_elinks_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + HiLink elinksComment Comment + HiLink elinksTodo Todo + HiLink elinksSyntax SpecialComment + + HiLink elinksSet Keyword + HiLink elinksTreeOpt Identifier + HiLink elinksAssign Operator + HiLink elinksValue String + HiLink elinksEscape SpecialChar + HiLink elinksComArgs SpecialChar + HiLink elinksColor Type + HiLink elinksEmail Type + HiLink elinksURL Type + HiLink elinksNumber Number + HiLink elinksSize Type + + HiLink elinksBind Keyword + HiLink elinksKeymap Type + HiLink elinksKey Macro + HiLink elinksActStr String + HiLink elinksAction Identifier + + HiLink elinksInclude Keyword + + delcommand HiLink +endif + +let b:current_syntax = "elinks" diff --git a/contrib/guile/.cvsignore b/contrib/guile/.cvsignore new file mode 100644 index 00000000..15f43838 --- /dev/null +++ b/contrib/guile/.cvsignore @@ -0,0 +1,5 @@ +Makefile +Makefile.in +.deps +elinks.spec +*.swp diff --git a/contrib/guile/internal-hooks.scm b/contrib/guile/internal-hooks.scm new file mode 100644 index 00000000..2043f6ee --- /dev/null +++ b/contrib/guile/internal-hooks.scm @@ -0,0 +1,80 @@ +;;; Bare interface to C code + + +(define-module (elinks internal) + :export (goto-url-hooks + follow-url-hooks + pre-format-html-hooks + get-proxy-hooks + quit-hooks)) + + +;;; GOTO-URL-HOOKS: Each hook is called in turn with a single argument +;;; (a URL string). Each may return one of: +;;; +;;; a string to visit the returned url +;;; () to go nowhere +;;; #f to continue with the next hook +;;; +;;; If no hooks return a string or empty list, the default action is +;;; to visit the original URL passed. + +(define goto-url-hooks (make-hook 1)) + +(define (%goto-url-hook url) + (%call-hooks-until-truish goto-url-hooks + (lambda (h) (h url)) + url)) + + +;;; FOLLOW-URL-HOOKS: Each hook is called in turn with a single +;;; argument (a URL string). Each may return one of: +;;; +;;; a string to visit the returned url +;;; () to go nowhere +;;; #f to continue with the next hook +;;; +;;; If no hooks return a string or empty list, the default action is +;;; to visit the original URL passed. + +(define follow-url-hooks (make-hook 1)) + +(define (%follow-url-hook url) + (%call-hooks-until-truish follow-url-hooks + (lambda (h) (h url)) + url)) + + +;;; PRE-FORMAT-HTML-HOOKS: + +(define pre-format-html-hooks (make-hook 2)) +(define (%pre-format-html-hook url html) + (%call-hooks-until-truish pre-format-html-hooks + (lambda (h) (h url html)) + #f)) + + +;;; GET-PROXY-HOOKS: +(define get-proxy-hooks (make-hook 1)) +(define (%get-proxy-hook url) + (%call-hooks-until-truish get-proxy-hooks + (lambda (h) (h url)) + #f)) + + +;;; QUIT-HOOKS: ... + +(define quit-hooks (make-hook)) + +(define (%quit-hook) + (run-hook quit-hooks)) + + +;;; Helper: calls hooks one at a time until one of them returns +;;; non-#f. +(define (%call-hooks-until-truish hooks caller default) + (let lp ((hs (hook->list hooks))) + (if (null? hs) + default + (or (caller (car hs)) + (lp (cdr hs)))))) diff --git a/contrib/guile/user-hooks.scm b/contrib/guile/user-hooks.scm new file mode 100644 index 00000000..9cc9dfd2 --- /dev/null +++ b/contrib/guile/user-hooks.scm @@ -0,0 +1,162 @@ +;;; USER CODE + +(use-modules (ice-9 optargs) ;let-optional + (ice-9 regex) + (srfi srfi-2) ;and-let* + (srfi srfi-8) ;receive + (srfi srfi-13) ;string-lib + ) + + +;;; goto-url-hooks +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Handle search URLs + +;; Makes a searcher routine. If the routine is called without any +;; arguments, return the home page location. Otherwise, construct a +;; URL searching for the arguments specified. +;; e.g. +;; (define f (make-searcher "http://www.google.com/" +;; "http://www.google.com/search?q=" +;; "&btnG=Google%20Search")) +;; (f '()) +;; => "http://www.google.com/" +;; (f '("google" "me")) +;; => "http://www.google.com/search?q=google%20me&btnG=Google%20Search" +(define (make-searcher home-page prefix . maybe-postfix) + (let-optional maybe-postfix ((postfix "")) + (lambda (words) + (if (null? words) + home-page + (string-append prefix (string-join words "%20") postfix))))) + +;; TODO: ,gg -> gg: format update to the standard ELinks one. --pasky + +(define goto-url-searchers + `((",gg" . ,(make-searcher "http://www.google.com/" + "http://www.google.com/search?q=" "&btnG=Google%20Search")) + (",fm" . ,(make-searcher "http://www.freshmeat.net/" + "http://www.freshmeat.net/search/?q=")) + (",dict" . ,(make-searcher "http://www.dictionary.com/" + "http://www.dictionary.com/cgi-bin/dict.pl?db=%2A&term=")) + (",wtf" . ,(make-searcher "http://www.ucc.ie/cgi-bin/acronym?wtf" + "http://www.ucc.ie/cgi-bin/acronym?")))) + +(add-hook! goto-url-hooks + (lambda (url) + (let* ((words (string-tokenize url)) + (key (car words)) + (rest (cdr words))) + (cond ((assoc key goto-url-searchers) => + (lambda (x) ((cdr x) rest))) + (else #f))))) + + +;;; goto-url-hooks +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Handle simple URLs + +(define goto-url-simples + `((",forecast" . "http://www.bom.gov.au/cgi-bin/wrap_fwo.pl?IDV10450.txt") + (",local" . "XXXXXXXXXXXXXXXXXXX") + )) + +(add-hook! goto-url-hooks + (lambda (url) + (cond ((assoc url goto-url-simples) => cdr) + (else #f)))) + + +;;; goto-url-hooks +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Expand ~/ and ~user/ URLs + +(define (home-directory . maybe-user) + (let-optional maybe-user ((user (cuserid))) + (and-let* ((user (catch 'misc-error + (lambda () (getpwnam user)) + (lambda ignore #f)))) + (passwd:dir user)))) + +(define (expand-tilde-file-name file-name) + (and (string-prefix? "~" file-name) + (let* ((slash/end (or (string-index file-name #\/) + (string-length file-name))) + (user (substring file-name 1 slash/end))) + (string-append (if user + (home-directory) + (home-directory user)) + (substring file-name slash/end))))) + +(add-hook! goto-url-hooks + (lambda (url) + (and (string-prefix? "~" url) + (expand-tilde-file-name url)))) + + +;;; pre-format-html-hooks +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Mangle linuxgames.com pages + +(add-hook! pre-format-html-hooks + (lambda (url html) + (and (string-contains url "linuxgames.com") + (and-let* ((start (string-contains html "
")) + (end (string-contains html "
" (+ start 1)))) + (string-append (substring/shared html 0 start) + (substring/shared html (+ end 10))))))) + + +;;; pre-format-html-hooks +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Mangle dictionary.com result pages + +(add-hook! pre-format-html-hooks + (lambda (url html) + (and (string-contains url "dictionary.reference.com/search?") + (and-let* ((m (string-match + (string-append + "" + ".*
") + html))) + (string-append "Dictionary.com lookup" + "" + (regexp-substitute/global #f + "
\n

" (match:substring m 0) + 'pre "
\n


\n

" 'post)))))) + + +;;; get-proxy-hooks +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Some addresses require a special proxy + +(add-hook! get-proxy-hooks + (lambda (url) + (and (or (string-contains url "XXXXXXXXXXXXXX") + (string-contains url "XXXXXXXXXXXXXX")) + "XXXXXXXXXXXXXXXXXXXXXXXXXXX"))) + + +;;; get-proxy-hooks +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Some addresses work better without a proxy + +(add-hook! get-proxy-hooks + (lambda (url) + (and (or (string-contains url "XXXXXXXXXXXXXXXXXXX") + (string-contains url "XXXXXXXXXX")) + ""))) + + +;;; quit-hooks +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Delete temporary files when quitting + +(define temporary-files '()) + +(add-hook! quit-hooks + (lambda () + (for-each delete-file temporary-files))) + +;;; The end +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/contrib/js-1.5-rc6a+elinks.patch b/contrib/js-1.5-rc6a+elinks.patch new file mode 100644 index 00000000..fe8c06a5 --- /dev/null +++ b/contrib/js-1.5-rc6a+elinks.patch @@ -0,0 +1,61 @@ +This quick'n'dirty patch enables relatively painless SpiderMonkey installation. +See doc/ecmascript.txt for details. + +diff -ru js-1.5-rc6a/src/config.mk js-1.5-rc6a+elinks/src/config.mk +--- js-1.5-rc6a/src/config.mk Sat Nov 15 01:10:55 2003 ++++ js-1.5-rc6a+elinks/src/config.mk Wed Sep 22 16:32:12 2004 +@@ -37,10 +37,15 @@ + # + # ***** END LICENSE BLOCK ***** + ++BUILD_OPT=1 ++ifndef PREFIX ++PREFIX = /opt/spidermonkey ++endif ++ + ifdef JS_DIST + DIST = $(JS_DIST) + else +-DIST = $(DEPTH)/../../dist/$(OBJDIR) ++DIST = dist/ + endif + + # Set os+release dependent make variables +diff -ru js-1.5-rc6a/src/jsconfig.mk js-1.5-rc6a+elinks/src/jsconfig.mk +--- js-1.5-rc6a/src/jsconfig.mk Sat Nov 15 01:10:56 2003 ++++ js-1.5-rc6a+elinks/src/jsconfig.mk Wed Sep 22 16:34:28 2004 +@@ -104,8 +104,8 @@ + echo $(NSPR_VERSION) > $(NSPR_VERSIONFILE) + endif + +-SHIP_DIST = $(MOZ_DEPTH)/dist/$(OBJDIR) +-SHIP_DIR = $(SHIP_DIST)/SHIP ++SHIP_DIST = $(DIST) ++SHIP_DIR = $(PREFIX) + + SHIP_LIBS = libjs.$(SO_SUFFIX) libjs.a + ifdef JS_LIVECONNECT +@@ -117,7 +117,7 @@ + SHIP_LIBS += jsj.dll jsj.lib + endif + endif +-SHIP_LIBS += $(LCJAR) ++#SHIP_LIBS += $(LCJAR) + SHIP_LIBS := $(addprefix $(SHIP_DIST)/lib/, $(SHIP_LIBS)) + + SHIP_INCS = js*.h prmjtime.h resource.h *.msg *.tbl +@@ -144,6 +144,14 @@ + JSREFJAR = jsref_dbg.jar + endif + endif ++ ++install: ++ mkdir -p $(SHIP_DIR)/$(LIBDIR) ++ mkdir -p $(SHIP_DIR)/include ++ mkdir -p $(SHIP_DIR)/bin ++ cp $(SHIP_LIBS) $(SHIP_DIR)/$(LIBDIR) ++ cp $(SHIP_INCS) $(SHIP_DIR)/include ++ cp $(SHIP_BINS) $(SHIP_DIR)/bin + + ship: + mkdir -p $(SHIP_DIR)/$(LIBDIR) diff --git a/contrib/keybind-full.conf b/contrib/keybind-full.conf new file mode 100644 index 00000000..50924e6b --- /dev/null +++ b/contrib/keybind-full.conf @@ -0,0 +1,181 @@ +# Template for a elinks.conf file +# +# This file was contributed by David Mediavilla +# . Note that it's not up-to-date now, as +# some more keyboard actions were added in ELinks. So, if you don't see your +# faviourite action here, don't panic yet and try to look it up in +# src/config/kbdbind.c. +# +#### +# +# Simple HOWTO for keybinding by Peter Wang: +# +# Create a `elinks.conf' file wherever your `elinks.conf' usually goes. +# +# Binding is done with a statement like so: +# +# bind "KEYMAP" "KEYSTROKE" = "ACTION" +# +# where: +# +# - keymap is "main" or "edit" +# +# - keystroke is a case sensitive key, which you can prefix with +# "Ctrl-" or "Alt-" +# +# DME: I read that with Ctrl- the key must be uppercase +# +# - action is one of the things you find in `kbdbind.c' (`parse_act' +# function). You'll need to grep around the source to see what +# each one does, or guess, or ask. +# +#### +# +# List of possible actions from Links 0.96 / kbdbind.c +# +# add-bookmark +# auto-complete +# back +# backspace +# bookmark-manager +# copy-clipboard +# cut-clipboard +# delete +# document-info +# down +# download +# end +# enter +# file-menu +# find-next +# find-next-back +# goto-url +# goto-url-current +# goto-url-current-link +# header-info +# home +# kill-to-bol +# kill-to-eol +# left +# menu +# next-frame +# open-new-window +# open-link-in-new-window +# page-down +# page-up +# paste-clipboard +# previous-frame +# quit +# reload +# right +# scroll-down +# scroll-left +# scroll-right +# scroll-up +# search +# search-back +# toggle-display-images +# toggle-display-tables +# toggle-html-plain +# up +# view-image +# zoom-frame + +# The available keys are: +# 0-9, A-Z, Enter, Backspace, Tab, Escape, Left, Right, Up, Down, +# Insert, Delete, Home, End, PageUp, PageDown, F1-F12 + +# Default main keymap from Links 0.96 +# +#bind "main" "PageDown" = "page-down" +#bind "main" " " = "page-down" +# +# DME: I understand this as space bar but I don't know how +# to symbolize spacebar in elinks.conf +# +#bind "main" "Ctrl-F" = "page-down" +#bind "main" "PageUp" = "page-up" +#bind "main" "b" = "page-up" +#bind "main" "B" = "page-up" +#bind "main" "Ctrl-B" = "page-up" +#bind "main" "Down" = "down" +#bind "main" "Up" = "up" +#bind "main" "Ctrl-Insert" = "copy-clipboard" +#bind "main" "Ctrl-C" = "copy-clipboard" +#bind "main" "Insert" = "scroll-up" +#bind "main" "Ctrl-P" = "scroll-up" +#bind "main" "Delete" = "scroll-down" +#bind "main" "Ctrl-N" = "scroll-down" +#bind "main" "[" = "scroll-left" +#bind "main" "]" = "scroll-right" +#bind "main" "Home" = "home" +#bind "main" "Ctrl+A" = "home" +#bind "main" "End" = "end" +#bind "main" "Ctrl-E" = "end" +#bind "main" "Right" = "enter" +#bind "main" "Enter" = "enter" +#bind "main" "Left" = "back" +#bind "main" "d" = "download" +#bind "main" "D" = "download" +#bind "main" "/" = "search" +#bind "main" "?" = "search-back" +#bind "main" "n" = "find-next" +#bind "main" "N" = "find-next-back" +#bind "main" "f" = "zoom-frame" +#bind "main" "F" = "zoom-frame" +#bind "main" "Ctrl-R" = "reload" +#bind "main" "g" = "goto-url" +#bind "main" "G" = "goto-url-current" +#bind "main" "a" = "add-bookmark" +#bind "main" "A" = "add-bookmark" +#bind "main" "s" = "bookmark-manager" +#bind "main" "S" = "bookmark-manager" +#bind "main" "q" = "quit" +#bind "main" "Q" = "really-quit" +#bind "main" "=" = "document-info" +#bind "main" "|" = "header-info" +#bind "main" "\" = "toggle-html-plain" +#bind "main" "*" = "toggle-display-images" +#bind "main" "Tab" = "next-frame" +#bind "main" "Esc" = "menu" +#bind "main" "F9" = "menu" +#bind "main" "F10" = "file-menu" + +# Default edit keymap from Links 0.96 +# +#bind "edit" "Left" = "left" +#bind "edit" "Right" = "right" +#bind "edit" "home" = "home" +#bind "edit" "Ctrl-A" = "home" +#bind "edit" "Up" = "Up" +#bind "edit" "Down" = "down" +#bind "edit" "End" = "end" +#bind "edit" "Ctrl-E" = "end" +#bind "edit" "Ctrl-Insert" = "copy-clipboard" +#bind "edit" "Ctrl-B" = "copy-clipboard" +#bind "edit" "Ctrl-X" = "cut-clipboard" +#bind "edit" "Ctrl-V" = "paste-clipboard" +#bind "edit" "Enter" = "enter" +#bind "edit" "Backspace" = "backspace" +#bind "edit" "Ctrl-H" = "backspace" +#bind "edit" "Delete" = "delete" +#bind "edit" "Ctrl-D" = "delete" +#bind "edit" "Ctrl-U" = "kill-to-bol" +#bind "edit" "Ctrl-K" = "kill-to-eol" +#bind "edit" "Ctrl-W" = "auto-complete" + +# Default menu keymap from Links 0.96 +# +#bind "menu" "Left" = "left" +#bind "menu" "Right" = "right" +#bind "menu" "Home" = "home" +#bind "menu" "Ctrl-A" = "home" +#bind "menu" "Up" = "up" +#bind "menu" "Down" = "down" +#bind "menu" "End" = "end" +#bind "menu" "Ctrl-E" = "end" +#bind "menu" "Enter" = "enter" +#bind "menu" "PageDown" = "page-down" +#bind "menu" "Ctrl-F" = "page-down" +#bind "menu" "PageUp" = "page-up" +#bind "menu" "Ctrl-B" = "page-up" diff --git a/contrib/keybind.conf b/contrib/keybind.conf new file mode 100644 index 00000000..13cfad27 --- /dev/null +++ b/contrib/keybind.conf @@ -0,0 +1,35 @@ +# Example keybinding +# $Id: keybind.conf,v 1.1 2002/06/30 21:30:24 pasky Exp $ + +# Copy this file to ~/.elinks/ and use include "keybind.conf" in +# "elinks.conf" to include it. + +# vi-like navigation keys +bind "main" "j" = "down" +bind "main" "k" = "up" +bind "main" "h" = "back" +bind "main" "l" = "enter" +bind "main" "g" = "home" +bind "main" "G" = "end" + +# Keys close to the above +bind "main" "i" = "scroll-up" +bind "main" "m" = "scroll-down" +bind "main" "o" = "goto-url" +bind "main" "O" = "goto-url-current" + +# Netscape-like, just for the hell of it +bind "main" "Alt-o" = "goto-url" + +# Emacs-like paging keys +# Ctrl prefixed keys must be capital :-( +bind "main" "Alt-v" = "page-up" +bind "main" "Ctrl-V" = "page-down" + +# Emacs-like editing keys +bind "edit" "Ctrl-B" = "left" +bind "edit" "Ctrl-F" = "right" + +# Analogous to goto_line_cmd in my Jed and Emacs setups +bind "main" "Alt-g" = "goto-url" +bind "main" "Alt-G" = "goto-url-current" diff --git a/contrib/links_wps.zip b/contrib/links_wps.zip new file mode 100644 index 0000000000000000000000000000000000000000..bdfe096d1fd4992d927305cb61b008e16abbae1b GIT binary patch literal 5729 zcmZ{obx;&uqlQ6XPMmR`D~yOBmEq*FSVMoL%#32CLfrLKP8 zoqKMVfi3 zz!Ob3meU9Rqg;ebHi$}1>w*G@HQquBgG!-lmdpatyrYT6GN8Rh$L_R!zG~gBZ=t&7Wu2u4{Ug6>h+f2jMRr>@s)3d6#(9!Xj zTS9q6e~cNOK-Mv~t;#lit38%`i#GU|&Fjx^OYOP${21}0L6&B6$$eoPi#cLlOm^w~ zOU6bD0X+r=N?wQVdW42MkcW1m@|5)J~n*?v#$E7*~}|Cy)sm0(_@ zUXzivx#N!mgla(VFlTFyi0~b=I4aNdeBZ+0&QXiDl4C#3)kT7ZHoN$h$@I*jb$Bwk zGSNPJu##_tqJ`<_&u{6ySFV%FMq~4JmMX1=+*bMD1o*1b$GN$sRd(R6%T5}o?e{xg z8Y@t1b;k^EkNKvyd!826%7MIHVUMkifxzt0e(!LADtLc z*U?>5Me@}zwWsl(Hws=6=V25DwS6oT%xuq5+Z3caq1A&-!ry|({W(^#FWi@R2vEcj zHL7p1l`1++qpzc0ZizI?zS9=Gy=f?k@`W9CZ07iCj{D&qi;SVkLRZ<}V&hQo3rD;y zW+FCkpE}~BNG!fNSbe|YG(n-ZS*4RE3!t4Dtis!&f%xo1@z^h14x#s5fi_x!jrS3z zg-wF9F7(Xh+M;!*1sSU#)$efELveraw@=r^qwS9>PaFiO@6;hLOOqMP9QG?GOL@~V ze<+Fh50kdm`JY@lTnr?2(Q)0xKpVQNy=Wb35~?D;X4epqAuH^5!@v&lX zRAnve;$CSwklT?&cV`wvB2IfcG!?tCRg8;+t~5)*(}WD4aJ_S>yvk>F)#*{;K0Tj%+yAv ziF)CMmZo44j8~jes?<)^qh3qczq;RXERwjg(GwK#j?^r-D@8lrK7U=Tmi1}L&$=9) z7!}zON_?aA+?x*m$X}F!_MFi|PlySW$n5;>Eq*mO&q6}>Rih1i$T=ICR6nJlTV!pz^{X0H1+dRqPNlULA%k^7U*%NBq zhz|9->+TTv^?zytPcZOLWep$x@DQ~ymu=)>b-#pLX@0J*Db+}q2r2ctw% zU(KUy$f6TY-XcFgM0jxRIHtJG;Zs9S8MT~UXDZj5>zpk90hTF?Sv$I`3 zzdHY6xEGaZ%|=6>=UBStWpkHM<5o)aAbwf0q}0qwcB7%@o0gnpO}o~tcg^`s4xf@> zSBQGcn}LtBXO%XAjfqmo2==>O^~RN|r_Q+jolY+++`NRFgGbv}qE3I~LKL!c#ObQA z71YZlMo=)-Q8`?=_Nq|zi)zAbfzB~gi4K)#Gz$#?1G6b1N zsbk~9_W+x$&UM|xRtl~)Zrv5=I=z89N;4AODoSh~uRF*L8Rcfg>xiI}N#|7>w|JGO zSskx}bxOLqYIsAxKkf!yF|Kx?fgw+zfuPZ)a z#rS~_`tklTV$7KXqo4vpjB%k;Q~sf$%1Yf=4pGx7lIVE0fi}~MMLe4y`Ebo`?$BtH zJj^kT@@aifRThj=BhH1ER9@%R&L2SCTL0`eRkoQ`eV#@Kg@hsbu$c?#QZ|vUY%!Ti zQ08IU=S!O0)5(|VXEZndQ4o_TC)qlog*rAhIh~Ya|3iHK_V64;*3d+=YR}s+SPt{ ze+S7ZD(Y3qRAH<++2d9xZKd|$--;Tq;z(hZ`6`aU&lPvY2TzB&mCsrl6s3XU501rO zp;+UrggIVL*Z2g>v+*46lqy%P$0)B60J4LZ30e{FqWquG1N`4e?pzwrq30MWN z>bjFtcRZ0Q*acUs3I^2)FIQYR^Jp_iyNcnS zEMzO8O>GlY3bijGCy_N%acRB=xUizS(xe(_=>B3&q*R> z7daN1btlp47_T^Xzi}`ItscV8WQ%@R&Z=nk*&@_6Aw!{P(LTXw*5K=HJ!)U=fa+Gy zcFHMX&|R2HDvt(L!Dfa+9f!c$$^H7E+liY^6&LzBI;33 z!7=hlWOC+S#||PDnl2w?M1_FaY0x$fF8Y3lJ79frVzwg;_sqRFw%8w4hUphHL@|?o z>e74@XLhea7NrHIVYlMmjvU~smXva|SPHb;6)T%992h=6KAt>=ty5g=Hb>o?g)Xjt zM<#?@@l9}9@Enx{<>guUfVqh|n;FjLA59;95~s@ld~+yX@Um<6K(j1@?s2HcvVQaM zx;ppJ^xMMw<!c^R=``Zm1 zrI%M!1nrmtig^1Vgmw!&5wY6Hhq?=Z-KQQNk(pKb{=C{M?ewTLwqojo-jwcOgT&7$ zar8T=2>B9pBZB8CDVDP)yAeIgDQ>R#DL+>qmnp@z zw7Mid;YD3=StO8hWIQQUc!PeK!}06#rZafAZZ0%K9q89=Y>g73(}6^W1a~AclIQ0L zFCAS4i!zocO*E3Cgs;jKLtMOM#j>t>2lt2PfBz17VZpiHyGD#`_ z58?ZXFsd%G{a^Rt{XZ60C~8$0sPSRH2dfl>2Fi|+?y zO4xZ_Z(oFS$2~GNiRh>mGusg&pQ#Ik_9C}CA1Cy8<2B-)1_rqI?+KJV5W=*0Z3Ra3 z9Xt$@@)au@Gq*tXW{_M=TZyc?h+O)N+LNFCqDM_raSGSO??v;wGG}5y4w>|EKg*Q7 zGt@q-&QBmnm{8s|j)mQwES*R8%>ld6j5K{pe>7L=vfDUI{NVb)u_btNoY-)T;L-Sc zu8prtHBuiTTsKyIW|wf66Y&J#^xJ1&(DFsI1XuQ)4+4AhQi1cHGG!y$TM<;r2X{bL z@p${Q_f0|Nd!0TT+a-vL&p8h?^kU!rQ4yVJf4hVL`oFq_ zK1Ao=U4jq&>|ZWIeS70NPPfYm1tIBdnj`|VeTIZ=;{>vqQ&&%9g zC$6A{pk%X<@YW7qn4M1P);UzJ8o6JMdY?TfN%llTUBMC)oNn0J?f&$2i#80ly-!d$ z(Y-ku<7+NJ4DEW2Rj-M;!U^cbE)EL~WErT|%eIp%r50af?71S0WD5~Ta~XH}R$r1b zd`MP82`TEFT^&7Hq%%(6q;!qnUm|3^PkeASm_=L_IW*R)3+u0C&88~q8CI5-8}EYR zkJFl^dIqjn>B_c#3hiL*5R^G#A|{T#LC&&|b{cO?bVSU62lZ4Npev7;;! zs|s}LqUWJf;0AaP)x3Y5R5YE&S`VBQTT0eTwnL!q#(kdUK?+Kjqw#gj|75+w^)34? z@#}n!j)q@-ZUThb>eWu)DAdC&g$VmhM?gin>nnzk-GBh^lj%?);4h|0l|E5;7ZuWMgQb!&R%abUPr9KFbYdUIA+AX{w@uS?r{w;)I z(!}oanpDLI^ckb=8Rz$A?%`bpaYKF8wzUJgw!men;nIafUokNR6al^L+-bLRHXN8V z67{lZ(@Xc%?G`lpnPc)wc;0?Dv7Wh_fO>xAM1aXo&bVnNqF2l*+U$vru{tNOs2D!Q z>tYYDgwZU&U1wp9h_~QJ?aAnjMkZXO8NSka4j@%gZVcvE}!DXn=S1yxdu~@N93X)C5CJG1<8?X z?=8#2Dsl23l5W4Bu5FEQoAT+O7>z!oQwz_~ct*E&BVfFCVVs2(qrE>)+ll?qg-xY) z|MBqgsTxD>H&sfQmo}kq#z>H~DM!R^Hiqwd`Mv0nF57VDf@T-D&4Mxg1#3AlHyl4M zd*jybEow`-yQORwZt$UhWGOU}L1wNT;Bt0A3{icAMuGMJIanOP-|+~*1b7Jkd;1R~ zivjp+Wd9lRpBCnyA##6y|6eDA0r=}={+aNf?EPm#0?B_T{11sS0DnmgQN{e@eE%Ra#H@?gO literal 0 HcmV?d00001 diff --git a/contrib/lua/.cvsignore b/contrib/lua/.cvsignore new file mode 100644 index 00000000..4bbab60b --- /dev/null +++ b/contrib/lua/.cvsignore @@ -0,0 +1,2 @@ +hooks.lua +*.swp diff --git a/contrib/lua/babelfish.lua b/contrib/lua/babelfish.lua new file mode 100644 index 00000000..69a06706 --- /dev/null +++ b/contrib/lua/babelfish.lua @@ -0,0 +1,55 @@ +function babelfish (url) + local from, to, rest + local lang_pair + local param + local lang2code = { + ["chinese-simp"] = 'zh', + ["chinese-simple"] = 'zh', + ["chinese-simplified"] = 'zh', + ["chinese-trad"] = 'zt', + ["chinese-traditional"] = 'zt', + ["dutch"] = 'nl', + ["nederlands"] = 'nl', + ["Nederlands"] = 'nl', + ["german"] = 'de', + ["deutsch"] = 'de', + ["Deutsch"] = 'de', + ["english"] = 'en', + ["french"] = 'fr', + ["fran\231ais"] = 'fr', + ["greek"] = 'el', + ["italian"] = 'it', + ["italiano"] = 'it', + ["japanese"] = 'ja', + ["korean"] = 'ko', + ["portuguese"] = 'pt', + ["portugu\234s"] = 'pt', + ["russian"] = 'ru', + ["spanish"] = 'es', + ["espanol"] = 'es', + ["espa\241ol"] = 'es', + } + + _,_,from,to,rest = string.find(url, '^bb%s*([^%s]+)[%s]+([^%s]+)[%s]*(.*)') + + if not rest then return url,nil end + + from = lang2code[from] or from + to = lang2code[to] or to + + lang_pair = from..'_'..to + + if string.find(rest, ':[^%s]') then + url = "http://babelfish.altavista.com/babelfish/urltrurl" + .."?url="..escape(rest) + .."&lp="..lang_pair + else + url = "http://babelfish.altavista.com/babelfish/tr" + .."?trtext="..escape(rest) + .."&lp="..lang_pair + end + + return url,true +end + +table.insert(goto_url_hooks, babelfish) diff --git a/contrib/lua/bm-to-elinks-bookmarks.lua b/contrib/lua/bm-to-elinks-bookmarks.lua new file mode 100644 index 00000000..ad823207 --- /dev/null +++ b/contrib/lua/bm-to-elinks-bookmarks.lua @@ -0,0 +1,30 @@ +#!/usr/bin/lua -f +-- Convert bm.lua-format bookmarks to ELinks-format bookmarks. +-- Peter Wang, 2002-12-19 + +prog = arg[0] +infile = arg[1] + +if not infile then + print("Convert bm.lua-format bookmarks to ELinks-format bookmarks.\n") + print("Usage: " .. prog .. " bookmark.lst") + print("Output is written to stdout.\n") + exit(1) +end + +bookmarks = dofile(infile) +if type(bookmarks) ~= "table" then + print("Error loading " .. infile) + exit(1) +end + +function tab2spc(s) return gsub(s, "\t", " ") end -- just in case + +for i, cat in bookmarks do + print(tab2spc(cat.category), "", 0, "FE") + + for i = 1, getn(cat) do + local bm = cat[i] + print(tab2spc(bm.name), tab2spc(bm.url), 1) + end +end diff --git a/contrib/lua/bm.lua b/contrib/lua/bm.lua new file mode 100644 index 00000000..c020abc6 --- /dev/null +++ b/contrib/lua/bm.lua @@ -0,0 +1,339 @@ +-- Bookmark system for Links-Lua. +-- $Id: bm.lua,v 1.7 2005/03/27 22:59:41 miciah Exp $ + +----------------------------------------------------------------------- +-- User options +--------------------------------------------------------------------- + +-- Default location to save and load bookmarks from. +bm_bookmark_file = elinks_home.."/bookmark.lst" + +-- Set to non-`nil' to see URLs in the generated page. +bm_display_urls = nil + +-- Set to non-`nil' to show links to category headers. +-- Only useful while sorting categories, otherwise just annoying. +bm_display_category_links = 1 + +-- Set to non-`nil' to automatically sort bookmarks alphabetically. +-- Do not set this if you care about the sorting of your bookmarks! +bm_auto_sort_bookmarks = nil + + +---------------------------------------------------------------------- +-- Implementation +---------------------------------------------------------------------- + +-- We use a special syntax that looks like +-- user:bookmark/1 (for categories) +-- user:bookmark/1,2/http://some.phony.url/ (for bookmarks) +bm_marker = 'user:bookmark' + + +if not bm_bookmarks then + -- If the user reloads this script, we don't want to + -- lose all the bookmarks! :-) + bm_bookmarks = {} +end + + +function bm_is_category (str) + local _,n = string.gsub (str, bm_marker..'/%d+$', '') + return n ~= 0 +end + + +function bm_is_bookmark (str) + local _,n = string.gsub (str, bm_marker..'/%d+,%d+/', '') + return n ~= 0 +end + + +function bm_decode_info (str) + if bm_is_category (str) then + str = string.gsub (str, '.-/(%d+)', 'return %1') + else + str = string.gsub (str, '.-/(%d+),(%d+)/(.*)', 'return %1,%2,"%3"') + end + return dostring (str) +end + + +function bm_find_category (cat) + for i = 1, table.getn (bm_bookmarks) do + local table = bm_bookmarks[i] + if table.category == cat then return table end + end +end + + +function bm_sort_bookmarks () + if not bm_auto_sort_bookmarks then return end + table.sort (bm_bookmarks, function (a, b) return a.category < b.category end) + foreachi (bm_bookmarks, + function (i, v) + table.sort (v, function (a, b) return a.name < b. name end) + end) +end + + +function bm_generate_html () + local s = 'Bookmarks' + ..'\n' + for i = 1, table.getn (bm_bookmarks) do + local table = bm_bookmarks[i] + s = s..'

' + if bm_display_category_links then + s = s..'' + end + s = s..''..table.category..'' + if bm_display_category_links then + s = s..'' + end + s = s..'

\n
    \n' + for j = 1, table.getn (table) do + local bm = table[j] + s = s..'
  • '..bm.name..'\n' + if bm_display_urls then s = s..'
    '..bm.url..'\n' end + end + s = s..'
\n' + end + s = s..'
'..os.date ()..'\n' + return s..'\n' +end + + +-- Write bookmarks to disk. +function bm_save_bookmarks (filename) + if bm_dont_save then return end + + function esc (str) + return string.gsub (str, "([^-%w \t_@#:/'().])", + function (s) + return string.format ("\\%03d", string.byte (s)) + end) + end + + if not filename then filename = bm_bookmark_file end + local tab = ' ' + writeto (filename) + write ('return {\n') + for i = 1, table.getn (bm_bookmarks) do + local table = bm_bookmarks[i] + write (tab..'{\n'..tab..tab..'category = "' + ..esc (table.category)..'";\n') + for i = 1, table.getn (table) do + local bm = table[i] + write (tab..tab..'{ name = "'..esc (bm.name)..'", url = "' + ..esc (bm.url)..'" },\n') + end + write (tab..'},\n') + end + write ('}\n') + writeto () +end + + +-- Load bookmarks from disk. +function bm_load_bookmarks (filename) + if not filename then filename = bm_bookmark_file end + local tmp = dofile (filename) + if type (tmp) == 'table' then + bm_bookmarks = tmp + bm_sort_bookmarks () + bm_dont_save = nil + else + _ALERT ("Error loading "..filename) + bm_dont_save = 1 + end +end + + +-- Return the URL of a bookmark. +function bm_get_bookmark_url (bm) + if bm_is_bookmark (bm) then + local _,_,url = bm_decode_info (bm) + return url + end +end + + +-- Bind this to a key to display bookmarks. +function bm_view_bookmarks () + local tmp = tmpname()..'.html' + writeto (tmp) + write (bm_generate_html ()) + writeto () + table.insert (tmp_files, tmp) + return 'goto_url', tmp +end + + +function bm_do_add_bookmark (cat, name, url) + if cat == "" or name == "" or url == "" then + _ALERT ("Bad bookmark entry") + end + local table = bm_find_category (cat) + if not table then + table = { category = cat } + table.insert (bm_bookmarks, table) + end + table.insert (table, { name = name, url = url }) + bm_sort_bookmarks () +end + + +-- Bind this to a key to add a bookmark. +function bm_add_bookmark () + edit_bookmark_dialog ('', current_title () or '', current_url () or '', + function (cat, name, url) + bm_do_add_bookmark (cat, name, url) + if current_title () == 'Bookmarks' then + return bm_view_bookmarks () + end + end) +end + + +-- Bind this to a key to edit the currently highlighted bookmark. +function bm_edit_bookmark () + local bm = current_link () + if not bm then + elseif bm_is_category (bm) then + local i = bm_decode_info (bm) + edit_bookmark_dialog (bm_bookmarks[i].category, '', '', + function (cat) + if cat == '' then + _ALERT ('Bad input') + elseif bm_bookmarks[i].category ~= cat then + local j = bm_find_category (cat) + if not j then + bm_bookmarks[i].category = cat + else + local tmp = bm_bookmarks[i] + for i = 1, table.getn (tmp) do + bm_do_add_bookmark (cat, tmp[i].name, tmp[i].url) + end + bm_delete_bookmark (i) + end + return bm_view_bookmarks () + end + end) + + elseif bm_is_bookmark (bm) then + local i,j = bm_decode_info (bm) + local entry = bm_bookmarks[i][j] + edit_bookmark_dialog (bm_bookmarks[i].category, + entry.name, entry.url, + function (cat, name, url) + if cat == '' or name == '' or url == '' then + _ALERT ('Bad input') + else + if cat ~= bm_bookmarks[i].category then + bm_do_delete_bookmark (i, j) + bm_do_add_bookmark (cat, name, url) + else + entry.name = name + entry.url = url + end + return bm_view_bookmarks () + end + end) + end +end + + +function bm_do_delete_bookmark (i, j) + if not j then + table.remove (bm_bookmarks, i) + else + table.remove (bm_bookmarks[i], j) + if table.getn (bm_bookmarks[i]) == 0 then table.remove (bm_bookmarks, i) end + end +end + + +-- Bind this to a key to delete the currently highlighted bookmark. +function bm_delete_bookmark () + local bm = current_link () + if bm and (bm_is_category (bm) or bm_is_bookmark (bm)) then + local i,j = bm_decode_info (bm) + bm_do_delete_bookmark (i, j) + return bm_view_bookmarks () + end +end + + +function bm_do_move_bookmark (dir) + function tswap (t, i, j) + if i > 0 and j > 0 and i <= table.getn (t) and j <= table.getn (t) then + local x = t[i]; t[i] = t[j]; t[j] = x + return 1 + end + end + + local bm = current_link () + if not bm then + elseif bm_is_category (bm) then + local i = bm_decode_info (bm) + if tswap (bm_bookmarks, i, i+dir) then + return bm_view_bookmarks () + end + elseif bm_is_bookmark (bm) then + local i,j = bm_decode_info (bm) + if bm_bookmarks[i] and tswap (bm_bookmarks[i], j, j+dir) then + return bm_view_bookmarks () + end + end +end + + +-- Bind this to a key to move the currently highlighted bookmark up. +function bm_move_bookmark_up () + if not bm_auto_sort_bookmarks then return bm_do_move_bookmark (-1) end +end + + +-- Bind this to a key to move the currently highlighted bookmark down. +function bm_move_bookmark_down () + if not bm_auto_sort_bookmarks then return bm_do_move_bookmark (1) end +end + + +function bookmarks_follow_url_hook (url) + if bm_is_category (url) then + return nil,true + else + url = bm_get_bookmark_url (url) + if url then return url,true end + end + + return url,nil +end +table.insert(follow_url_hooks, bookmarks_follow_url_hook) + + +function bookmarks_quit_hook () + bm_save_bookmarks () +end +table.insert(quit_hooks, bookmarks_quit_hook) + + +-- Be careful not to load bookmarks if this script is being +-- reloaded while in ELinks, or we will lose unsaved changes. +if not bm_bookmarks or table.getn (bm_bookmarks) == 0 then + bm_load_bookmarks () +end + + +-- My bookmark key bindings. +-- bind_key ('main', 'a', bm_add_bookmark) +-- bind_key ('main', 's', bm_view_bookmarks) +-- bind_key ('main', 'Alt-e', bm_edit_bookmark) +-- bind_key ('main', 'Alt-d', bm_delete_bookmark) +-- bind_key ('main', 'Alt-k', bm_move_bookmark_up) +-- bind_key ('main', 'Alt-j', bm_move_bookmark_down) + + +-- vim: shiftwidth=4 softtabstop=4 diff --git a/contrib/lua/config.lua b/contrib/lua/config.lua new file mode 100644 index 00000000..62bf682e --- /dev/null +++ b/contrib/lua/config.lua @@ -0,0 +1,68 @@ +-- Configuration for hooks.lua file, put in ~/.elinks/ as config.lua. +-- $Id: config.lua,v 1.11 2005/04/15 18:15:24 miciah Exp $ + +-- ** IMPORTANT ** +-- Individual functions may be disabled for security by assigning them +-- to `nil'. + + -- openfile = nil -- may open files in write mode + -- readfrom = nil -- reading from pipe can execute commands + -- writeto = nil + -- appendto = nil + -- pipe_read = nil + -- remove = nil + -- rename = nil + -- execute = nil + -- exit = nil + +-- Home directory: + + home_dir = home_dir or (getenv and getenv ("HOME")) or "/home/MYSELF" + hooks_file = elinks_home.."/hooks.lua" + +-- Pausing: When external programs are run, sometimes we need to pause +-- to see the output. This is the string we append to the command +-- line to do that. You may customise it if you wish. + + pause = '; echo -ne "\\n\\e[1;32mPress ENTER to continue...\\e[0m"; read' + +-- Make ALT="" into ALT=" ": Makes web pages with superfluous +-- images look better. However, even if you disable the "Display links +-- to images" option, single space links to such images will appear. +-- To enable, set the following to 1. If necessary, you can change +-- this while in Links using the Lua Console, then reload the page. +-- See also the keybinding section at the end of the file. + + mangle_blank_alt = nil + +-- For any other lua script to be loaded (note that you don't need to load +-- hooks.lua here, as it's loaded even when we'll get to here actually), +-- uncomment and clone following line: + +-- dofile (elinks_home.."/script.lua") + +-- The following commands, when uncommented, will load certain scripts that are +-- distributed with ELinks. If you enable any of them, you will need either +-- to copy the scripts to your home directory or to update the paths +-- in the commands relevant commands below. + +-- Bookmarks: Uncomment the following line to enable the Lua bookmarks +-- manager + +-- dofile (elinks_home.."/bm.lua") + +-- Highlighting: Uncomment the following line if you want to see highlighted +-- source code. You need to have code2html installed and set text/html +-- as the MIME-type for .c, .h, .pl, .py, .sh, .awk, .patch extensions +-- in the Options Manager or in elinks.conf + +-- dofile (elinks_home.."/highlight.lua") + +-- Babelfish: This allows one to enter the the URL 'bb +-- |' to translate the given url or text string between +-- the given languages. + +-- dofile (elinks_home.."/babelfish.lua") + +-- dofile (elinks_home.."/md5checks.lua") +-- dofile (elinks_home.."/remote.lua") diff --git a/contrib/lua/elinks-remote b/contrib/lua/elinks-remote new file mode 100755 index 00000000..6f8cd50f --- /dev/null +++ b/contrib/lua/elinks-remote @@ -0,0 +1,20 @@ +#!/bin/bash +# +# This script lets you pass URLs from external programs to ELinks easily. You +# just call this script with URL as a parameter (just like i.e. "netscape +# -remote url"), and then press 'x' in the ELinks instance where you want the +# URL to be loaded. +# +# You can also press 'X' to save URL of currently selected link back to +# ~/.elinks/external.url. +# +# Note that you also need remote.lua loaded in ELinks. +# +# These two scripts were contributed by Len Trigg . +# +# XXX: Please note that elinks now ``natively'' support passing URLs from +# external programs by using the --remote command line argument. It is +# documented in the doc/remote.txt file. +# + +echo $* >$HOME/.elinks/external.url diff --git a/contrib/lua/highlight.lua b/contrib/lua/highlight.lua new file mode 100644 index 00000000..0b991f87 --- /dev/null +++ b/contrib/lua/highlight.lua @@ -0,0 +1,27 @@ +-- Source-code highlighting hook +-- $Id: highlight.lua,v 1.5 2005/03/25 19:02:48 miciah Exp $ + +highlight_file_types = { + patch = "%.patch$", + python = "%.py$", + perl = "%.pl$", + awk = "%.awk$", + c = "%.[ch]$", + sh = "%.sh$", +} + +function highlight (url, html) + for language,pattern in pairs(highlight_file_types) do + if string.find (url, pattern) then + local tmp = tmpname () + writeto (tmp) write (html) writeto() + html = pipe_read ("(code2html -l "..language.." "..tmp.." - ) 2>/dev/null") + os.remove(tmp) + return html,nil + end + end + + return nil,nil +end + +table.insert(pre_format_html_hooks, highlight) diff --git a/contrib/lua/hooks.lua.in b/contrib/lua/hooks.lua.in new file mode 100644 index 00000000..45b70979 --- /dev/null +++ b/contrib/lua/hooks.lua.in @@ -0,0 +1,575 @@ +-- Example hooks.lua file, put in ~/.elinks/ as hooks.lua. +-- $Id: hooks.lua.in,v 1.82 2005/08/23 00:18:45 miciah Exp $ + +-- TODO: Bookmarks stuff should be completely moved to bm.lua. --pasky + +-- Take care about @SOMETHING@, we're processed with autoconf! + +---------------------------------------------------------------------- +-- Compatibility routines for Lua 4 code. +-- Taken from Lua's compat.lua. +---------------------------------------------------------------------- + +_INPUT = io.stdin +_OUTPUT = io.stdout + +function writeto (name) + if name == nil then + local f, err, cod = io.close(_OUTPUT) + _OUTPUT = io.stdout + return f, err, cod + else + local f, err, cod = io.open(name, "w") + _OUTPUT = f or _OUTPUT + return f, err, cod + end +end + +function write (...) + local f = _OUTPUT + if type(arg[1]) == 'userdata' then + f = table.remove(arg, 1) + end + return f:write(unpack(arg)) +end + +function read (...) + local f = _INPUT + if type(arg[1]) == 'userdata' then + f = table.remove(arg, 1) + end + return f:read(unpack(arg)) +end + +function do_ (f, err) + if not f then _ALERT(err); return end + local a,b = pcall(f) + if not a then _ALERT(b); return nil + else return b or true + end +end + +function dostring(s) return do_(loadstring(s)) end +function dofile(s) return do_(loadfile(s)) end + +---------------------------------------------------------------------- +-- Load configuration +---------------------------------------------------------------------- + +function file_exists(filename) + local f = io.open(filename, "r") + if f then + io.close(f) + return 1 + end + return nil +end + +function dofile_if_fileexists(filename) + if file_exists(filename) then dofile(filename) end +end + +dofile_if_fileexists ("@sysconfdir@/config.lua") +home_dir = (os.getenv ("HOME") or "/home/"..os.getenv("USER")) or "." +hooks_file = elinks_home.."/hooks.lua" -- for reload() +dofile_if_fileexists (elinks_home.."/config.lua") + +---------------------------------------------------------------------- +-- hooks +---------------------------------------------------------------------- + +pre_format_html_hooks = {n=0} +function pre_format_html_hook (url, html) + local changed = nil + + table.foreachi(pre_format_html_hooks, + function (i, fn) + local new,stop = fn(url,html) + + if new then html=new changed=1 end + return stop + end) + + return changed and html +end + +goto_url_hooks = {n=0} +function goto_url_hook (url, current_url) + table.foreachi(goto_url_hooks, + function (i, fn) + local new,stop = fn(url, current_url) + + url = new + + return stop + end) + + return url +end + +follow_url_hooks = {n=0} +function follow_url_hook (url) + table.foreachi(follow_url_hooks, + function (i, fn) + local new,stop = fn(url) + + url = new + + return stop + end) + + return url +end + +quit_hooks = {n=0} +function quit_hook (url, html) + table.foreachi(quit_hooks, function (i, fn) return fn() end) +end + +---------------------------------------------------------------------- +-- case-insensitive string.gsub +---------------------------------------------------------------------- + +-- Please note that this is not completely correct yet. +-- It will not handle pattern classes like %a properly. +-- FIXME: Handle pattern classes. + +function gisub (s, pat, repl, n) + pat = string.gsub (pat, '(%a)', + function (v) return '['..string.upper(v)..string.lower(v)..']' end) + if n then + return string.gsub (s, pat, repl, n) + else + return string.gsub (s, pat, repl) + end +end + + +---------------------------------------------------------------------- +-- goto_url_hook +---------------------------------------------------------------------- + +function match (prefix, url) + return string.sub (url, 1, string.len (prefix)) == prefix +end + +function hx (c) + return string.char((c >= 10 and (c - 10) + string.byte ('A')) or c + string.byte ('0')) +end + +function char2hex (c) + return '%'..hx (string.byte (c) / 16)..hx (math.mod(string.byte (c), 16)) +end + +function escape (str) + return string.gsub (str, "(%W)", char2hex) +end + +-- You can write smt like "gg" to goto URL dialog and it'll go to google.com. + +-- Note that this is obsoleted by the URI rewrite plugin. + +dumbprefixes = { + arc = "http://web.archive.org/web/*/%c", + b = "http://babelfish.altavista.com/babelfish/tr", + bz = "http://bugzilla.elinks.or.cz", + bug = "http://bugzilla.elinks.or.cz", + d = "http://www.dict.org", + g = "http://www.google.com/", + gg = "http://www.google.com/", + go = "http://www.google.com/", + fm = "http://www.freshmeat.net/", + sf = "http://www.sourceforge.net/", + dbug = "http://bugs.debian.org/", + dpkg = "http://packages.debian.org/", + -- Hm, is this Debian-centric? -- Miciah + lua = "file:///usr/share/doc/lua40-doc/manual/idx.html", + pycur = "http://www.python.org/doc/current/", + pydev = "http://www.python.org/dev/doc/devel/", + pyhelp = "http://starship.python.net/crew/theller/pyhelp.cgi", + pyvault = "http://www.vex.net/parnassus/", + e2 = "http://www.everything2.org/", + sd = "http://www.slashdot.org/", + vhtml = "http://validator.w3.org/check?uri=%c", + vcss = "http://jigsaw.w3.org/css-validator/validator?uri=%c", +} + +function debian_package (url, t) + url = string.gsub(url, '(%w+):(%w+)', function (key, val) t[key] = val end) + + return 'http://packages.debian.org/cgi-bin/search_contents.pl?word=' + ..escape(string.gsub(url, '%s*([^%s]+)%s*', '%1')) + ..'&searchmode='..(t.searchmode or 'searchfilesanddirs') + ..'&case='..(t.case or 'insensitive') + ..'&version='..(t.version or pipe_read('test -r /etc/debian_version && cut -d/ -f1 /etc/debian_version | tr -d \\\\n || echo stable') or 'stable') + ..'&arch='..(t.arch or pipe_read('test -x /usr/bin/dpkg-architecture && dpkg-architecture -qDEB_HOST_ARCH | tr -d \\\\n || echo i386')) +end + +function debian_contents (url) + return debian_package (url, { searchmode = "filelist" }) +end + +function debian_file (url) + return debian_package (url, { searchmode = "searchfilesanddirs" }) +end + +function cvsweb (base, project, url) + local t = {n=0} + local file, old, new + local replacements + + -- allow :[->] + url,replacements = string.gsub(url, "^(.*):(.*)->(.*)$", "%1 %2 %3") + if replacements == 0 then url = string.gsub(url, "^(.*):(.*)$", "%1 %2") end + + -- split into words + string.gsub(url, "([^%s]+)", function (w) table.insert(t, w) end) + file, old, new = t[1], t[2], t[3] + + if t[4] then error('this smartprefix takes only two to three arguments') return nil end + if not file then error('no file given') return nil end + + if new then return base..project.."/"..file..".diff?r1="..old.."&r2="..new.."&f=u" + elseif old then return base.."~checkout~/"..project.."/"..file..(old ~= "latest" and "?rev="..old or "") + else return base..project.."/"..file + end +end + +function gmane (url) + local group, words + + _,_,group,words = string.find(url, "([^%s]+)%s%s*(.*)$") + + if not words then return nil end + + return "http://search.gmane.org/search.php?query="..words.."&group="..group +end + +-- You can write "gg:foo" or "gg foo" to goto URL dialog and it'll ask google +-- for it automagically. + +-- Note that this is _mostly_ obsoleted by the URI rewrite plugin. (It can't do the +-- metas, though.) + +function bugzilla (base_url, arguments) + if not arguments or arguments == '' then return base_url end + + if string.find(arguments, '^[%d]+$') then + return base_url..'show_bug.cgi?id='..arguments + end + + return base_url..'buglist.cgi?short_desc_type=allwordssubstr' + ..'&short_desc='..escape(arguments) +end + +smartprefixes = { + arc = "http://web.archive.org/web/*/%s", + bug = function (url) return bugzilla('http://bugzilla.elinks.or.cz/', url) end, + cambridge = "http://dictionary.cambridge.org/results.asp?searchword=%s", + cliki = "http://www.cliki.net/admin/search?words=%s", + -- If you want to add a smartprefix for another project's CVSweb, + -- just create a lambda like this. Aren't high-level languages fun? + cvs = function (x) return cvsweb ("http://cvsweb.elinks.or.cz/cvsweb.cgi/", "elinks", x) end, + d = "http://www.dict.org/bin/Dict?Query=%s&Form=Dict1&Strategy=*&Database=*&submit=Submit+query", + debcontents = debian_contents, + debfile = debian_file, + dmoz = "http://search.dmoz.org/cgi-bin/search?search=%s", + foldoc = "http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?%s", + g = "http://www.google.com/search?q=%s&btnG=Google+Search", + gd = "http://www.google.com/search?q=%s&cat=gwd/Top", + gg = "http://www.google.com/search?q=%s&btnG=Google+Search", + -- Whose idea was it to use 'gg' for websearches? -- Miciah + --gg = "http://groups.google.com/groups?q=%s", + gi = "http://images.google.com/images?q=%s", + gmane = gmane, + gn = "http://news.google.com/news?q=%s", + go = "http://www.google.com/search?q=%s&btnG=Google+Search", + gwho = "http://www.googlism.com/?ism=%s&name=1", + gwhat = "http://www.googlism.com/?ism=%s&name=2", + gwhere = "http://www.googlism.com/?ism=%s&name=3", + gwhen = "http://www.googlism.com/?ism=%s&name=4", + fm = "http://www.freshmeat.net/search/?q=%s", + savannah = "http://savannah.nongnu.org/search/?words=%s&type_of_search=soft&exact=1", + sf = "http://sourceforge.net/search/?q=%s", + sfp = "http://sourceforge.net/projects/%s", + sd = "http://www.slashdot.org/search.pl?query=%s", + sdc = "http://www.slashdot.org/search.pl?query=%s&op=comments", + sdu = "http://www.slashdot.org/search.pl?query=%s&op=users", + sdp = "http://www.slashdot.org/search.pl?query=%s&op=polls", + sdj = "http://www.slashdot.org/search.pl?query=%s&op=journals", + dbug = "http://bugs.debian.org/%s", + dpkg = "http://packages.debian.org/%s", + emacs = "http://www.emacswiki.org/cgi-bin/wiki.pl?search=%s", + lyrics = "http://music.lycos.com/lyrics/results.asp?QT=L&QW=%s", + lxr = "http://lxr.linux.no/ident?i=%s", + leo = "http://dict.leo.org/?search=%s", + onelook = "http://onelook.com/?w=%s&ls=a", + py = "http://starship.python.net/crew/theller/pyhelp.cgi?keyword=%s&version=current", + pydev = "http://starship.python.net/crew/theller/pyhelp.cgi?keyword=%s&version=devel", + pyvault = "http://py.vaults.ca/apyllo.py?find=%s", + e2 = "http://www.everything2.org/?node=%s", + encz = "http://www.slovnik.cz/bin/ecd?ecd_il=1&ecd_vcb=%s&ecd_trn=translate&ecd_trn_dir=0&ecd_lines=15&ecd_hptxt=0", + czen = "http://www.slovnik.cz/bin/ecd?ecd_il=1&ecd_vcb=%s&ecd_trn=translate&ecd_trn_dir=1&ecd_lines=15&ecd_hptxt=0", + dict = "http://dictionary.reference.com/search?q=%s", + thes = "http://thesaurus.reference.com/search?q=%s", + a = "http://acronymfinder.com/af-query.asp?String=exact&Acronym=%s", + imdb = "http://imdb.com/Find?%s", + mw = "http://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va=%s", + mwt = "http://www.m-w.com/cgi-bin/thesaurus?book=Thesaurus&va=%s", + whatis = "http://uptime.netcraft.com/up/graph/?host=%s", + wiki = "http://www.wikipedia.org/w/wiki.phtml?search=%s", + wn = "http://www.cogsci.princeton.edu/cgi-bin/webwn1.7.1?stage=1&word=%s", + -- rfc by number + rfc = "http://www.rfc-editor.org/rfc/rfc%s.txt", + -- rfc search + rfcs = "http://www.rfc-editor.org/cgi-bin/rfcsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25", + cr = "http://www.rfc-editor.org/cgi-bin/rfcsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25", + -- Internet Draft search + rfcid = "http://www.rfc-editor.org/cgi-bin/idsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25", + urbandict = "http://www.urbandictionary.com/define.php?term=%s", + id = "http://www.rfc-editor.org/cgi-bin/idsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25", + draft = "http://www.rfc-editor.org/cgi-bin/idsearch.pl?searchwords=%s&format=http&abstract=abson&keywords=keyon&num=25", +} + +-- Expand ~ to home directories. +function expand_tilde (url, current_url) + if not match ("~", url) then return url,nil end + + if string.sub(url, 2, 2) == "/" or string.len(url) == 1 then -- ~/foo + return home_dir..string.sub(url, 2),true + else -- ~foo/bar + return "/home/"..string.sub(url, 2),true + end +end +table.insert(goto_url_hooks, expand_tilde) + + +-- Don't take localhost as directory name +function expand_localhost (url) + if not match("localhost", url) then return url,nil end + + return "http://"..url,nil +end +table.insert(goto_url_hooks, expand_localhost) + + +function complete_uri_prefix (url, current_url) + if dumbprefixes[url] then + return string.gsub(dumbprefixes[url], "%%c", current_url or ""),true + end + + if string.find(url,'%s') or string.find(url, ':') then + local _,_,nick,val = string.find(url, "^([^%s:]+)[:%s]%s*(.-)%s*$") + if nick and smartprefixes[nick] then + if type(smartprefixes[nick]) == 'function' then + return smartprefixes[nick](val),true + elseif type(smartprefixes[nick]) == 'string' then + return string.format(smartprefixes[nick], escape(val)),true + else + error('smartprefix "'..nick..'" has unsupported type "' + ..type(smartprefixes[nick])..'".') + return url,nil + end + end + end + + -- Unmatched. + return url,nil +end +table.insert(goto_url_hooks, complete_uri_prefix) + + +---------------------------------------------------------------------- +-- pre_format_html_hook +---------------------------------------------------------------------- + +-- Plain string.find (no metacharacters). +function sstrfind (s, pattern) + return string.find (s, pattern, 1, 1) +end + +-- Mangle ALT="" in IMG tags. +function mangle_blank_alt (url, html) + local n + + if not mangle_blank_alt then return nil,nil end + + html, n = gisub (html, '(]-) alt=""', '%1 alt=" "') + + return ((n > 0) and html), nil +end +table.insert(pre_format_html_hooks, mangle_blank_alt) + + +-- Fix unclosed INPUT tags. +function mangle_unclosed_input_tags (url, html) + local n + + html, n = gisub (html, '(]-[^=]")<', '%1><') + + return ((n > 0) and html), nil +end +table.insert(pre_format_html_hooks, mangle_unclosed_input_tags) + + +-- Fix unclosed A tags. +function mangle_unclosed_a_tags (url, html) + local n + + html, n = gisub (html, '(]-[^=]")<', '%1><') + + return ((n > 0) and html), nil +end +table.insert(pre_format_html_hooks, mangle_unclosed_a_tags) + + +function mangle_linuxtoday (url, html) + if not sstrfind (url, "linuxtoday.com") then return nil,nil end + + if sstrfind (url, "news_story") then + html = string.gsub (html, '', '', 1) + html = string.gsub (html, '\n', '>', 1) + end + html = string.gsub (html, '", "") + -- emphasis in text is lost + html = string.gsub (html, 'text="#002244"', 'text="#001133"', 1) + + return html,true +end +table.insert(pre_format_html_hooks, mangle_linuxtoday) + + +function mangle_dictionary_dot_com (url, html) + local t = { t = "" } + local n + + if not sstrfind (url, "dictionary.com/cgi-bin/dict.pl") then return nil,nil end + + _,n = string.gsub (html, "resultItemStart %-%-%>(.-)%<%!%-%- resultItemEnd", + function (x) t.t = t.t.."" end) + if n == 0 then + -- we've already mangled this page before + return nil,true + end + + html = "Dictionary.com lookup".. + "
"..x.."
"..t.t.."
".. + "" + + return html,true +end +table.insert(pre_format_html_hooks, mangle_dictionary_dot_com) + + +function mangle_allmusic_dot_com (url, html) + if not sstrfind (url, "allmusic.com") then return nil,nil end + + html = string.gsub(html, "javascript:z%('(.-)'%)", "/cg/amg.dll?p=amg&sql=%1") + + return html,true +end +table.insert(pre_format_html_hooks, mangle_allmusic_dot_com) + + +-- Handle gzip'd files within reasonable size. +-- Note that this is not needed anymore since we have a support for this +-- in core ELinks. I still keep it here for a reference (as an example), +-- though. If you will add something similiar using pipe_read(), feel free +-- to remove this. --pasky +function decompress_html (url, html) + local tmp + + if not string.find (url, "%.gz$") or string.len (html) >= 65536 then + return nil,nil + end + + tmp = tmpname () + writeto (tmp) write (html) writeto () + html = pipe_read ("(gzip -dc "..tmp.." || cat "..tmp..") 2>/dev/null") + os.remove (tmp) + + return html,nil +end +--table.insert(pre_format_html_hooks, decompress_html) + +---------------------------------------------------------------------- +-- Miscellaneous functions, accessed with the Lua Console. +---------------------------------------------------------------------- + +-- Reload this file (hooks.lua) from within Links. +function reload () + dofile (hooks_file) +end + +-- Helper function. +function catto (output) + local doc = current_document_formatted (79) + if doc then writeto (output) write (doc) writeto () end +end + +-- Email the current document, using Mutt (http://www.mutt.org). +-- This only works when called from lua_console_hook, below. +function mutt () + local tmp = tmpname () + writeto (tmp) write (current_document ()) writeto () + table.insert (tmp_files, tmp) + return "run", "mutt -a "..tmp +end + +-- Table of expressions which are recognised by our lua_console_hook. +console_hook_functions = { + reload = "reload ()", + mutt = mutt, +} + +function lua_console_hook (expr) + local x = console_hook_functions[expr] + if type (x) == "function" then + return x () + else + return "eval", x or expr + end +end + + +---------------------------------------------------------------------- +-- quit_hook +---------------------------------------------------------------------- + +-- We need to delete the temporary files that we create. +if not tmp_files then + tmp_files = {} +end + +function delete_tmp_files () + if tmp_files and os.remove then + tmp_files.n = nil + for i,v in tmp_files do os.remove (v) end + end +end +table.insert(quit_hooks, delete_tmp_files) + + +---------------------------------------------------------------------- +-- Examples of keybinding +---------------------------------------------------------------------- + +-- Bind Ctrl-H to a "Home" page. + +-- bind_key ("main", "Ctrl-H", +-- function () return "goto_url", "http://www.google.com/" end) + +-- Bind Alt-p to print. + +-- bind_key ("main", "Alt-p", lpr) + +-- Bind Alt-m to toggle ALT="" mangling. + + bind_key ("main", "Alt-m", + function () mangle_blank_alt = not mangle_blank_alt end) + + +-- vim: shiftwidth=4 softtabstop=4 diff --git a/contrib/lua/md5check.lua b/contrib/lua/md5check.lua new file mode 100644 index 00000000..9e5ea58f --- /dev/null +++ b/contrib/lua/md5check.lua @@ -0,0 +1,52 @@ +-- Check MD5 sums of download files automagically (it expects them in +-- downloadedfile.txt). +-- $Id: md5check.lua,v 1.5 2005/04/15 15:03:48 miciah Exp $ + +---------------------------------------------------------------------- +-- Installation +---------------------------------------------------------------------- +-- +-- 1. Put this into your hooks.lua. Alternatively you can put +-- this in a separate file and `dofile' it. +-- +-- 2. Edit your `console_hook_functions' table in hooks.lua. e.g. +-- +-- console_hook_functions = { +-- ... +-- md5 = md5, +-- ... +-- } +-- +-- 3. Edit the second last line of this file to point to your +-- download directory. Sorry, but ELinks can't get this +-- information automatically (yet?). + +function md5sum_check(download_dir) + local results = {} + string.gsub(current_document(), "([a-z%d]+) ([^\n]+)\n", + function (sum, filename) + -- lua regexps don't seem to be able to do this + if string.len(sum) ~= 32 then return end + + local fn = download_dir.."/"..filename + if file_exists(fn) then + local localsum = string.gsub(pipe_read("md5sum "..fn), + "^([a-z%d]+).*$", "%1") + table.insert(results, filename.. " -- ".. + ((sum == localsum) and "ok\n" or "MISMATCH!\n")) + end + end) + + local tmp = tmpname()..'.txt' + writeto(tmp) + results.n = nil + for i,v in results do write(v) end + writeto() + table.insert(tmp_files, tmp) + return 'goto_url', tmp +end + +function md5() + -- Edit this to match your download directory. + return md5sum_check(home_dir .. "/download") +end diff --git a/contrib/lua/remote.lua b/contrib/lua/remote.lua new file mode 100644 index 00000000..2a7cb328 --- /dev/null +++ b/contrib/lua/remote.lua @@ -0,0 +1,48 @@ +-- ELinks-side part of elinks-remote +-- $Id: remote.lua,v 1.3 2005/03/27 22:59:41 miciah Exp $ + +-- See script elinks-remote for explanation what's this about. + +---------------------------------------------------------------------- +-- User options +---------------------------------------------------------------------- + +-- File to look in for external url to jump to + external_url_file = elinks_home.."/external.url" + + +---------------------------------------------------------------------- +-- Implementation +---------------------------------------------------------------------- + +function external_url () + fh = io.open (external_url_file, "r") + aline = current_url () + if fh then + aline = read (fh, "*l") + io.close (fh) + else + print ("Couldn't open outfile") + end + return aline +end + + bind_key ("main", "x", + function () return "goto_url", external_url () end) + + +function set_external_url () + fh = io.open (external_url_file, "w") + aline = current_link () + if fh then + write (fh, aline.."\n") + io.close (fh) + else + print ("Couldn't open outfile") + end +end + + bind_key ("main", "X", + function () set_external_url () end) + +-- vim: shiftwidth=4 softtabstop=4 diff --git a/contrib/perl/.cvsignore b/contrib/perl/.cvsignore new file mode 100644 index 00000000..ec5248bd --- /dev/null +++ b/contrib/perl/.cvsignore @@ -0,0 +1,4 @@ +*.swp +hooks.html +pod2htmd.tmp +pod2htmi.tmp diff --git a/contrib/perl/config.pl b/contrib/perl/config.pl new file mode 100644 index 00000000..7eda64d2 --- /dev/null +++ b/contrib/perl/config.pl @@ -0,0 +1,23 @@ +# Configuration file for hooks.pl - salt to taste and place in ~/.elinks +# $Id: config.pl,v 1.5 2005/08/07 21:14:04 rrowan Exp $ + +bork: nah # BORKify Google? +collapse: nope # Collapse all XBEL bookmark folders on exit? +email: # Set to show one's own bugs with the "bug" prefix. +external: # Send the current URL to this application. +fortune: elinks # *fortune*, *elinks* tip, or *none* on quit? +googlebeta: hell no # I miss DejaNews... +gotosearch: why not # Anything not a URL in the Goto URL dialog... +ipv6: no # IPV4 or 6 address blocks with "ip" prefix? +language: english # "bf nl en" still works, but now "bf nl" does too +news: bbc # Agency to use for "news" and "n" prefixes +search: google # Engine for (search|find|www|web|s|f|go) prefixes +usenet: deja news # *google* or *standard* view for news:// URLs +weather: weather underground # Server for "weather" and "w" prefixes + +# news: bbc, msnbc, cnn, fox, google, yahoo, reuters, eff, wired, +# slashdot, newsforge, usnews, newsci, discover, sciam +# search: elgoog, google, yahoo, ask jeeves, a9, altavista, msn, dmoz, +# dogpile, mamma, webcrawler, netscape, lycos, hotbot, excite +# weather: weather underground, google, yahoo, cnn, accuweather, +# ask jeeves diff --git a/contrib/perl/hooks.pl b/contrib/perl/hooks.pl new file mode 100644 index 00000000..87b24697 --- /dev/null +++ b/contrib/perl/hooks.pl @@ -0,0 +1,1385 @@ +# Example ~/.elinks/hooks.pl +# $Id: hooks.pl,v 1.135 2005/09/03 20:56:58 rrowan Exp $ +# +# Copyleft by Russ Rowan (See the file "COPYING" for details.) +# +# To get documentation for this file: +# pod2html hooks.pl > hooks.html && elinks hooks.html +# or +# perldoc hooks.pl + +=head1 NAME + +hooks.pl -- Perl hooks for the ELinks text WWW browser + +=head1 DESCRIPTION + +This file contains the Perl hooks for the ELinks text WWW browser. + +These hooks change the browser's behavior in various ways. They allow +shortcuts to be used in the Goto URL dialog, modifying the source of a page, +proxy handling, and other things such as displaying a fortune at exit. + +=cut +use strict; +use warnings; +use diagnostics; + +=head1 CONFIGURATION FILE + +This hooks file reads its configuration from I<~/.elinks/config.pl>. +The following is an example of the configuration file: + + bork: yep # BORKify Google? + collapse: okay # Collapse all XBEL bookmark folders on exit? + email: # Set to show one's own bugs with the "bug" prefix. + external: wget # Send the current URL to this application. + fortune: elinks # *fortune*, *elinks* tip, or *none* on quit? + googlebeta: hell no # I miss DejaNews... + gotosearch: why not # Anything not a URL in the Goto URL dialog... + ipv6: sure # IPV4 or 6 address blocks with "ip" prefix? + language: english # "bf nl en" still works, but now "bf nl" does too + news: msnbc # Agency to use for "news" and "n" prefixes + search: elgoog # Engine for (search|find|www|web|s|f|go) prefixes + usenet: google # *google* or *standard* view for news:// URLs + weather: cnn # Server for "weather" and "w" prefixes + + # news: bbc, msnbc, cnn, fox, google, yahoo, reuters, eff, wired, + # slashdot, newsforge, usnews, newsci, discover, sciam + # search: elgoog, google, yahoo, ask jeeves, a9, altavista, msn, dmoz, + # dogpile, mamma, webcrawler, netscape, lycos, hotbot, excite + # weather: weather underground, google, yahoo, cnn, accuweather, + # ask jeeves + +I: The function I takes a preference name as its +single argument and returns either an empty string if it is not specified, +I for a true value (even if specified like I or I), I +for a false value (even if like I, I or I<0>), or the lowercased +preference value (like I for C). + +=cut +sub loadrc($) +{ + my ($preference) = @_; + my $configperl = $ENV{'HOME'} . '/.elinks/config.pl'; + my $answer = ''; + + open RC, "<$configperl" or return $answer; + while () + { + s/\s*#.*$//; + next unless (m/(.*):\s*(.*)/); + my $setting = $1; + my $switch = $2; + next unless ($setting eq $preference); + + if ($switch =~ /^(yes|1|on|yea|yep|sure|ok|okay|yeah|why.*not)$/) + { + $answer = "yes"; + } + elsif ($switch =~ /^(no|0|off|nay|nope|nah|hell.*no)$/) + { + $answer = "no"; + } + else + { + $answer = lc($switch); + } + } + close RC; + + return $answer; +} + + + +=head1 GOTO URL HOOK + +This is a summary of the shortcuts defined in this file for use in the Goto URL +dialog. They are similar to the builtin URL prefixes, but more flexible and +powerful. + +=over + +I: The function I is called when the hook is +triggered, taking the target URL and current URL as its two arguments. It +returns the final target URL. + +These routines do a name->URL mapping - for example, the I +described above maps a certain prefix to C and then asks the +I mapping routine described below to map the C string to an +appropriate URL. + +There are generally two URLs for each name. One to go to the particular URL's +main page, and another for a search on the given site (if any string is +specified after the prefix). A few of these prefixes will change their +behavior depending on the URL currently beung displayed in the browser. + +=cut +# Don't call them "dumb". They hate that. Rather, "interactivity challenged". +################################################################################ +### goto_url_hook ############################################################## +sub goto_url_hook +{ + my $url = shift; + my $current_url = shift; + + +=item Bugmenot: + +B or B + +=cut + ############################################################################ + # "bugmenot" (no blood today, thank you) + if ($url =~ '^(bugmenot|bn)$' and $current_url) + { + ($current_url) = $current_url =~ /^.*:\/\/(.*)/; + my $bugmenot = 'http://bugmenot.com/view.php?url=' . $current_url; + my $tempfile = $ENV{'HOME'} . '/.elinks/elinks'; + my $matrix = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; + for (0..int(rand(7) + 9)) + { + $tempfile = $tempfile . substr($matrix, (length($matrix) - 1) - rand(length($matrix) + 1), 1); + } + my ($message, $login, $password); + system('elinks -no-home -source "' . $bugmenot . '" >' . $tempfile . ' 2>/dev/null'); + open FILE, "<$tempfile" or return $bugmenot; + $message = ; + while () + { + next unless (m/^
(.*)
(.*)<\/dd><\/dl>$/); + $login = $1; + $password = $2; + } + $login =~ s/(^\s*|\n|\s*$)//g if $login; + $password =~ s/(^\s*|\n|\s*$)//g if $password; + close FILE; + unlink $tempfile; + return $bugmenot unless $message =~ /[a-z]+/ and $message !~ /404/; + unless ($message =~ s/.*(No accounts found\.).*/${1}/) + { + if ($login and $password) + { + $message = "Login: " . $login . "\nPassword: " . $password; + } + else + { + $message = 'No accounts found'; + } + } + system('elinks -remote "infoBox\(' . $message . ')" >/dev/null 2>&1 &'); + return $current_url; #FIXME +# return; + } + + + ############################################################################ + # Random URL generator + if ($url eq 'bored' or $url eq 'random') + { + my $word; # You can say *that* again... + srand(); + open FILE, '; + close FILE; + ($word) = $word =~ /(.*)/; + return 'http://' . lc($word) . '.com'; + } + + +=item Web search: + +=over + +=item Google: B or B (default) + +=item Yahoo: B or B + +=item Ask Jeeves: B or B + +=item Amazon A9: B + +=item Altavista: B or B + +=item Microsoft: B or B + +=item Mozilla Open Directory: B, B, B + +=item Dogpile: B or B + +=item Mamma: B or B + +=item Webcrawler: B or B + +=item Netscape: B or B + +=item Lycos: B or B + +=item Hotbot: B or B + +=item Excite: B or B + +=item Elgoog: B, B, B, B, B, B + +=back + +default engine: B, B, B, B, B, B, B + +=over + +The I<%search_engines> hash maps each engine name to two URLs, I and +I. With I, the query is appended to the URL. + +The search engines mapping is done by the I function, taking the +search engine name as its first parameter and optional search string as its +second parameter. It returns the mapped target URL. + +=back + +=back + +=cut + ############################################################################ + # Search engines + my %search_prefixes; + $search_prefixes{'^(g|google)(| .*)$'} = 'google'; # Google (default) + $search_prefixes{'^(y|yahoo)(| .*)$'} = 'yahoo'; # Yahoo + $search_prefixes{'^(ask|jeeves)(| .*)$'} = 'ask jeeves'; # Ask Jeeves + $search_prefixes{'^a9(| .*)$'} = 'a9'; # Amazon A9 + $search_prefixes{'^(av|altavista)(| .*)$'} = 'altavista'; # Altavista + $search_prefixes{'^(msn|microsoft)(| .*)$'} = 'msn'; # Microsoft + $search_prefixes{'^(dmoz|odp|mozilla)(| .*)$'} = 'dmoz'; # Mozilla Open Directory + $search_prefixes{'^(dp|dogpile)(| .*)$'} = 'dogpile'; # Dogpile + $search_prefixes{'^(ma|mamma)(| .*)$'} = 'mamma'; # Mamma + $search_prefixes{'^(wc|webcrawler)(| .*)$'} = 'webcrawler'; # Webcrawler + $search_prefixes{'^(ns|netscape)(| .*)$'} = 'netscape'; # Netscape + $search_prefixes{'^(ly|lycos)(| .*)$'} = 'lycos'; # Lycos + $search_prefixes{'^(hb|hotbot)(| .*)$'} = 'hotbot'; # Hotbot + $search_prefixes{'^(ex|excite)(| .*)$'} = 'excite'; # Excite + $search_prefixes{'^(eg|elgoog|hcraes|dnif|bew|og)(| .*)$'} = 'elgoog'; # Elgoog + + sub search + { + my %search_engines = + ( + "elgoog" => { + home => 'http://alltooflat.com/geeky/elgoog/m/index.cgi', + search => 'http://alltooflat.com/geeky/elgoog/m/index.cgi?page=%2fsearch&cgi=get&q='}, + "google" => { + home => 'http://google.com!bork!', + search => 'http://google.com/search?!bork!q='}, + "yahoo" => { + home => 'http://yahoo.com', + search => 'http://search.yahoo.com/search?p='}, + "ask jeeves" => { + home => 'http://ask.com', + search => 'http://web.ask.com/web?q='}, + "a9" => { + home => 'http://a9.com', + search => 'http://a9.com/?q='}, + "altavista" => { + home => 'http://altavista.com', + search => 'http://altavista.com/web/results?q='}, + "msn" => { + home => 'http://msn.com', + search => 'http://search.msn.com/results.aspx?q='}, + "dmoz" => { + home => 'http://dmoz.org', + search => 'http://search.dmoz.org/cgi-bin/search?search='}, + "dogpile" => { + home => 'http://dogpile.com', + search => 'http://dogpile.com/info.dogpl/search/web/'}, + "mamma" => { + home => 'http://mamma.com', + search => 'http://mamma.com/Mamma?query='}, + "webcrawler" => { + home => 'http://webcrawler.com', + search => 'http://webcrawler.com/info.wbcrwl/search/web/'}, + "netscape" => { + home => 'http://search.netscape.com', + search => 'http://channels.netscape.com/ns/search/default.jsp?query='}, + "lycos" => { + home => 'http://lycos.com', + search => 'http://search.lycos.com/default.asp?query='}, + "hotbot" => { + home => 'http://hotbot.com', + search => 'http://hotbot.com/default.asp?query='}, + "excite" => { + home => 'http://search.excite.com', + search => 'http://search.excite.com/info.xcite/search/web/'}, + ); + + my ($engine, $search) = @_; + my $key = $search ? 'search' : 'home'; + $engine = 'google' unless $search_engines{$engine} + and $search_engines{$engine}->{$key}; + my $url = $search_engines{$engine}->{$key}; + if ($engine eq 'google') + { + my $bork = ''; + if (loadrc('bork') eq 'yes') + { + if (not $search) + { + $bork = "/webhp?hl=xx-bork"; + } + else + { + $bork = "hl=xx-bork&"; + } + } + $url =~ s/!bork!/$bork/; + } + $url .= $search if $search; + return $url; + } + + my ($search) = $url =~ /^\S+\s+(.*)/; + if ($url =~ /^(search|find|www|web|s|f|go)(| .*)$/) + { + return search(loadrc('search'), $search); + } + foreach my $prefix (keys %search_prefixes) + { + next unless $url =~ /$prefix/; + return search($search_prefixes{$prefix}, $search); + } + + +=over + +=item News agencies: + +=over + +=item British Broadcasting Corporation: B (default) + +=item MSNBC: B + +=item Cable News Network: B + +=item FOXNews: B + +=item Google News: B + +=item Yahoo News: B + +=item Reuters: B or B + +=item Electronic Frontier Foundation: B + +=item Wired: B or B + +=item Slashdot: B or B or B + +=item NewsForge: B or B + +=item U.S.News & World Report: B or B + +=item New Scientist: B or B + +=item Discover Magazine: B + +=item Scientific American: B or B + +=back + +default agency: B, B + +=over + +The I<%news_servers> hash maps each engine name to two URLs, I and +I. With I, the query is appended to the mapped URL. + +The news servers mapping is done by the I function, taking the search +engine name as its first parameter and optional search string as its second +parameter. It returns the mapped target URL. + +=back + +=back + +=cut + ############################################################################ + # News + my %news_prefixes; + $news_prefixes{'^bbc(| .*)$'} = 'bbc'; # British Broadcasting Corporation (default) + $news_prefixes{'^msnbc(| .*)$'} = 'msnbc'; # MSNBC + $news_prefixes{'^cnn(| .*)$'} = 'cnn'; # Cable News Network + $news_prefixes{'^fox(| .*)$'} = 'fox'; # FOXNews + $news_prefixes{'^gn(| .*)$'} = 'google'; # Google News + $news_prefixes{'^yn(| .*)$'} = 'yahoo'; # Yahoo News + $news_prefixes{'^(reuters|rs)(| .*)$'} = 'reuters'; # Reuters + $news_prefixes{'^eff(| .*)$'} = 'eff'; # Electronic Frontier Foundation + $news_prefixes{'^(wired|wd)(| .*)$'} = 'wired'; # Wired + $news_prefixes{'^(\/\.|slashdot|sd)(| .*)$'} = 'slashdot'; # Slashdot + $news_prefixes{'^(newsforge|nf)(| .*)$'} = 'newsforge'; # NewsForge + $news_prefixes{'^(us|usnews)(| .*)$'} = 'usnews'; # U.S.News & World Report + $news_prefixes{'^(nsci|newsci)(| .*)$'} = 'newsci'; # New Scientist + $news_prefixes{'^dm(| .*)$'} = 'discover'; # Discover Magazine + $news_prefixes{'^(sa|sciam)(| .*)$'} = 'sciam'; # Scientific American + + sub news + { + my %news_servers = + ( + "bbc" => { + home => 'http://news.bbc.co.uk', + search => 'http://newssearch.bbc.co.uk/cgi-bin/search/results.pl?q='}, + "msnbc" => { # The bastard child of Microsoft and the National Broadcasting Corporation + home => 'http://msnbc.com', + search => 'http://msnbc.msn.com/?id=3053419&action=fulltext&querytext='}, + "cnn" => { + home => 'http://cnn.com', + search => 'http://search.cnn.com/pages/search.jsp?query='}, + "fox" => { + home => 'http://foxnews.com', + search => 'http://search.foxnews.com/info.foxnws/redirs_all.htm?pgtarg=wbsdogpile&qkw='}, + "google" => { + home => 'http://news.google.com', + search => 'http://news.google.com/news?q='}, + "yahoo" => { + home => 'http://news.yahoo.com', + search => 'http://news.search.yahoo.com/search/news/?p='}, + "reuters" => { + home => 'http://reuters.com', + search => 'http://reuters.com/newsSearchResultsHome.jhtml?query='}, + "eff" => { + home => 'http://eff.org', + search => 'http://google.com/search?sitesearch=http://eff.org&q='}, + "wired" => { + home => 'http://wired.com', + search => 'http://search.wired.com/wnews/default.asp?query='}, + "slashdot" => { + home => 'http://slashdot.org', + search => 'http://slashdot.org/search.pl?query='}, + "newsforge" => { + home => 'http://newsforge.com', + search => 'http://newsforge.com/search.pl?query='}, + "usnews" => { + home => 'http://usnews.com', + search => 'http://www.usnews.com/search/Search?keywords='}, + "newsci" => { + home => 'http://newscientist.com', + search => 'http://www.newscientist.com/search.ns?doSearch=true&articleQuery.queryString='}, + "discover" => { + home => 'http://discover.com', + search => 'http://www.discover.com/search-results/?searchStr='}, + "sciam" => { + home => 'http://sciam.com', + search => 'http://sciam.com/search/index.cfm?QT=Q&SC=Q&Q='}, + ); + + my ($server, $search) = @_; + my $key = $search ? 'search' : 'home'; + $server = 'bbc' unless $news_servers{$server} + and $news_servers{$server}->{$key}; + my $url = $news_servers{$server}->{$key}; + $url .= $search if $search; + return $url; + } + + if ($url =~ /^(news|n)(| .*)$/) + { + return news(loadrc('news'), $search); + } + foreach my $prefix (keys %news_prefixes) + { + next unless $url =~ /$prefix/; + return news($news_prefixes{$prefix}, $search); + } + + +=over + +=item Locators: + +=over + +=item Internet Movie Database: B, B, or B + +=item US zip code search: B or B (# or address) + +=item IP address locator / address space: B + +=item WHOIS / TLD list: B (current url or specified) + +=item Request for Comments: B (# or search) + +=item Weather: B or B + +=item Yahoo! Finance / NASD Regulation: B, B, or B + +=item Snopes: B