commit 0f6d4310ad37550be3323fab80456e4953698bf0 Author: Petr Baudis Date: Thu Sep 15 15:58:31 2005 +0200 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. 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 00000000..7a0ada57 Binary files /dev/null and b/contrib/LinksOS2Icon.zip differ 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 00000000..bdfe096d Binary files /dev/null and b/contrib/links_wps.zip differ 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