{"id":378,"date":"2018-03-20T15:42:34","date_gmt":"2018-03-20T14:42:34","guid":{"rendered":"https:\/\/www.hsu-hh.de\/hisalt\/?page_id=378"},"modified":"2018-03-20T15:42:34","modified_gmt":"2018-03-20T14:42:34","slug":"source-code-for-snobol4-and-spitbol386","status":"publish","type":"page","link":"https:\/\/www.hsu-hh.de\/hisalt\/source-code-for-snobol4-and-spitbol386","title":{"rendered":"Source Code (for SNOBOL4 and SPITBOL386)"},"content":{"rendered":"<p>*******************************************************************************<br \/>\n* *<br \/>\n* BETAUTF8.SNO *<br \/>\n* *<br \/>\n* SNOBOL4\/SPITBOL program to convert beta code texts to UTF8 *<br \/>\n* Prototypical implementation to check the algorithm *<br \/>\n* The program is heavily annotated to facilitate translation to JAVA or C *<br \/>\n* *<br \/>\n* (c) Burkhard Meissner, 2005-2013 *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n*<br \/>\n* Set version information and compilation date\/time.<br \/>\n*<br \/>\n* Variable which holds the version information; later this variable<br \/>\n* will refer to the program parameters as sollicited from the command<br \/>\n* line:<br \/>\n*<br \/>\nparms = &#8222;Version 2.21 &#8220; date()<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* The program has been written specifically for the *<br \/>\n* *<br \/>\n* Papyrus Project Halle-Jena-Leipzig *<br \/>\n* under the direction of Professors Mehl, Scholl, Thiel *<br \/>\n* *<br \/>\n* and for Burkhard Meissner&#8217;s View &amp; Find System for beta code texts (now *<br \/>\n* in the public domain). *<br \/>\n* *<br \/>\n* It has been successfully tested with a variety of beta code texts: *<br \/>\n* *<br \/>\n* Thesaurus Linguae Graecae (TLG) CD-ROM E *<br \/>\n* Packard Humanities Institute (PHI) CD-ROM 5.3 (Latin texts) *<br \/>\n* Packard Humanities Institute (PHI) CD-ROM 7 (Greek and Latin documentary *<br \/>\n* texts) *<br \/>\n* Miscellaneous beta code texts from the Oxford and Eichstaett (<abbr title=\"Professorin \/ Professor\">Prof.<\/abbr> <abbr title=\"Doktorin \/ Doktor\">Dr.<\/abbr> J. *<br \/>\n* Malitz) collections *<br \/>\n* Beta Code versions of texts from the Frankfurt inscription data base *<br \/>\n* (<abbr title=\"Professorin \/ Professor\">Prof.<\/abbr> Clauss) *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* Nearly all signs which can be reproduced in unicode have been implemented. *<br \/>\n* All Greek and diacritic symbols are rendered correctly. *<br \/>\n* The program notes erroneous letter-accent-combinations which are present in *<br \/>\n* input text files (TLG; PHI 7; PHI53 and other text collections) and issues *<br \/>\n* appropriate error and warning messages. *<br \/>\n* *<br \/>\n* Yudit, Mined, GVim or OpenOffice are recommended as editors for the *<br \/>\n* resulting UTF8 (unicode) text files. *<br \/>\n* These files can equally well be read into some lower-quality text editors. *<br \/>\n* *<br \/>\n* To &#8222;normalize&#8220; the text with precomposed and\/or decomposed accents, use the *<br \/>\n* uconv program of the unistring library or our compose\/decompose filters. *<br \/>\n* *<br \/>\n* To use the files with editors as strange as MS-Word(R), it may be useful to *<br \/>\n* translate them into UTF16 first. Under Linux, use the program recode: *<br \/>\n* recode UTF-8..UTF-16 file.utf *<br \/>\n* *<br \/>\n* BETAUTF8 is distributed under an open source license (GPL). *<br \/>\n* It may be copied and distributed freely, provided a copy of the GPL *<br \/>\n* (General Public License) is made available together with the program *<br \/>\n* itself, and provided a copy of this source code accompanies the program. *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* *<br \/>\n* *<br \/>\n* The author kindly asks for suggestions of improvements and additions to be *<br \/>\n* sent to him at: *<br \/>\n* *<br \/>\n* <abbr title=\"Professorin \/ Professor\">Prof.<\/abbr> <abbr title=\"Doktorin \/ Doktor\">Dr.<\/abbr> Burkhard Meissner *<br \/>\n* Helmut Schmidt-Universitaet *<br \/>\n* University of the Federal Armed Forces *<br \/>\n* Chair of Ancient History *<br \/>\n* Holstenhofweg 85 *<br \/>\n* D-22043 Hamburg *<br \/>\n* Germany *<br \/>\n* Tel.: (49)-40-6541-3396 *<br \/>\n* Fax.: (49)-40-6541-2098 *<br \/>\n* e-mail: bmeissne@hsu-hamburg.de *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* *<br \/>\n* Programming language: SNOBOL4\/MacroSPITBOL *<br \/>\n* *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n*<br \/>\n* Set statement limit to unlimited, speed-up processing:<br \/>\n*<br \/>\n&amp;STLIMIT = -1<br \/>\n*<br \/>\n* For older SNOBOL4 systems to be SPITBOL-compatible:<br \/>\n*<br \/>\n-PLUSOPS 1<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* The program has been successfully tested under the following systems: *<br \/>\n* *<br \/>\n* Marc Emmer&#8217;s SPITBOL386 (Intel extended version) under DOS, MS Windows-32 *<br \/>\n* (Win-32 compatible extender), both real DOS and MS Windows systems *<br \/>\n* as well as emulated systems under control of the the Linux operating *<br \/>\n* system *<br \/>\n* Dave Shield&#8217;s Linux-SPITBOL 386 under Linux *<br \/>\n* Phil Budne&#8217;s CSNOBOL4: under DOS, Linux, Mac OS X (Darwin) with PPC *<br \/>\n* and MS Windows-32 *<br \/>\n* Marc Emmer&#8217;s Snobol4+ under MS-DOS and emulated DOS under Linux *<br \/>\n* *<br \/>\n* In principle, it should work with Mark Emmer&#8217;s MaxSPITBOL for the Apple *<br \/>\n* Macintosh Computer, too, but this system could not be tested. *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* There are a few small 16-bit MacroSPITBOL compilers around: *<br \/>\n* *<br \/>\n* Mark Emmer&#8217;s SPITPC16 (16-bit integers) and SPITPC32 (32-bit integers) *<br \/>\n* as well as Robert B.K. Dewar&#8217;s older MacroSPITBOL.COM compiler (16 bit *<br \/>\n* integers). These three systems provide work spaces of 64 KBytes or less. *<br \/>\n* It is absolutely impossible to compile and\/or run betautf8 with these three *<br \/>\n* systems. *<br \/>\n* *<br \/>\n* Victors&#8216; Berstis&#8216; MinnesotaSNOBOL4.2 lacks some of the functionality *<br \/>\n* required to run betautf8.sno. Betautf8.sno should, however, principally be *<br \/>\n* be capable of being adapted to this system. However, the I\/O functions of *<br \/>\n* of MinnesotaSNOBOL4.2 seem less efficient, and we have not yet been able *<br \/>\n* to use betautf8 successfully together with MinnesotaSNOBOL4.2 *<br \/>\n* *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* SPITBOL386 writes a stand-alone program module betautf8.exe; this version *<br \/>\n* is by far the fastest *<br \/>\n* Snobol4+ writes a save file betautf8.sav which runs faster, because it does *<br \/>\n* not have to go through the initialization section every time it is *<br \/>\n* used. Even though, this version is the slowest one. *<br \/>\n* LinuxSPITBOL writes a .spx run file which contains all the program&#8217;s rou- *<br \/>\n* tines in the form of indirectly-threaded code snippets. *<br \/>\n* CSNOBOL4 runs about 3-4 times slower than SPITBOL386, but twice as fast as *<br \/>\n* Snobol4+ *<br \/>\n* *<br \/>\n* CSNOBOL4 can be compiled natively for any operating system for which there *<br \/>\n* is a decent C compiler. *<br \/>\n* SPITBOL386 is a 32-bit application. *<br \/>\n* Snobol4+ is a 16-bit DOS program. *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* Compilation\/Execution: *<br \/>\n* *<br \/>\n* SPITBOL -b -i2048k -s512k betautf8.sno *<br \/>\n* SNOBOL4+ \/NH betautf8.sno *<br \/>\n* CSnobol4 -b -d 2048k -P 32k -S 16k betautf8.sno *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* Note on the algorithm: *<br \/>\n* *<br \/>\n* In order to facilitate the translation to other programming languages, *<br \/>\n* many of the powerful and flexible constructions of the SNOBOL4 language *<br \/>\n* are not used. Instead of, for example, approaching the problem with *<br \/>\n* complex string patterns (a strength of the language), we will use a *<br \/>\n* &#8222;byte-by-byte-eating&#8220; approach, which is much slower and less elegant, but *<br \/>\n* can be re-programmed in any language at will. Furthermore, we do not use *<br \/>\n* function recursion. Our programmable beta-code converter *<br \/>\n* XLATE, which is part of the V&amp;F system, uses pattern matching and recursive *<br \/>\n* functions heavily in order to provide a flexible, programmable translation *<br \/>\n* environment which can be made to translate any beta code into any coding *<br \/>\n* whatsoever. XLATE is intrinsically slower than BETAUTF8, though. *<br \/>\n* *<br \/>\n* We do, however, use the TABLE. A table is effectively a two-way associative *<br \/>\n* array, which is indexed by hash values and works as a kind of look-up *<br \/>\n* table. *<br \/>\n* *<br \/>\n* For example: *<br \/>\n* X = TABLE() creates such a table *<br \/>\n* X&lt;&#8222;A&#8220;&gt; = &#8222;B&#8220; makes &#8222;A&#8220; point to &#8222;B&#8220; in the table *<br \/>\n* X&lt;&#8222;X&#8220;&gt; = &#8222;XYZ&#8220; makes &#8222;X&#8220; point to &#8222;XYZ&#8220; in the table *<br \/>\n* *<br \/>\n* Set up thus, the table can be referenced like this: *<br \/>\n* new_letter = X&lt;&#8222;A&#8220;&gt; new_letter points to &#8222;B&#8220; *<br \/>\n* new_string = X&lt;&#8222;X&#8220;&gt; new_string points to &#8222;XYZ&#8220; *<br \/>\n* null_string = X&lt;&#8222;aha&#8220;&gt; null_string points to the null string, *<br \/>\n* because X&lt;&gt; was not initialized with a *<br \/>\n* value for the &#8222;aha&#8220; string. *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* Limitations: *<br \/>\n* *<br \/>\n* &#8211; Hebrew and Coptic characters are left to later implementation. *<br \/>\n* &#8211; The program assumes that the reference tags present in TLG\/PHI *<br \/>\n* files have been decoded already. At some stage we might modify *<br \/>\n* the progran so as to allow for the decoding of entire .txt files *<br \/>\n* &#8211; As yet, the main focus of the program is to guarantee that the *<br \/>\n* main function (beta_convert) works properly; the program itself *<br \/>\n* is more of an exercise for this function *<br \/>\n* &#8211; Use V&amp;F to produce beta code text files. Any other beta code *<br \/>\n* text retrieval program might do. Betautf8 assumes that lines starting *<br \/>\n* with ~ can be left as they are. If in doubt, modify your file *<br \/>\n* (manually) as appropriate *<br \/>\n* &#8211; With inscriptions, the program produces lots of warning messages *<br \/>\n* about lower case letters in Greek. These are normally due to *<br \/>\n* letters present in the text as comments or very long reference *<br \/>\n* sections. You can safely ignore most of these warnings. *<br \/>\n* &#8211; As yet, the program does not distinguish between lower case and *<br \/>\n* upper case special letters: koppa, stigma, sampi *<br \/>\n* &#8211; The program uses precombined letter\/accent combinations for Greek *<br \/>\n* as much as possible; it does not do so for Latin umlauts <abbr title=\"et cetera\">etc.<\/abbr>, *<br \/>\n* given that these occur only rarely in ancient texts; therefore, *<br \/>\n* umlauts may look ugly with certain fonts, especially if they are *<br \/>\n* upper case. *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* Bugs: *<br \/>\n* *<br \/>\n* All those errors which we knew about have been removed and replaced by *<br \/>\n* completely new ones. *<br \/>\n* *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* Suggestions for improvements: *<br \/>\n* *<br \/>\n* &#8211; Improve umlauts: Implement a sophisticated switch construct for Latin *<br \/>\n* script (similar to the Greek conversion routines) *<br \/>\n* &#8211; Under CSnobol4\/Snobol4+: FREEZE() all the tables prior to actually *<br \/>\n* processing the files. This may lead to a speed increase. Preliminary *<br \/>\n* testing, however, shows this speed increase to be significantly lower *<br \/>\n* than 4%. Perhaps, this is not worth the while. *<br \/>\n* &#8211; Coptic, Hebrew *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n*<br \/>\n* Maximum line length 8 KB<br \/>\n* Trim trailing blanks from input lines<br \/>\n* Anchored pattern matching: No backing-up at positions 1,2,3&#8230;<br \/>\n*<br \/>\n&amp;maxlngth = 8 * 1024<br \/>\n&amp;trim = 1<br \/>\n&amp;anchor = 1<br \/>\n*<br \/>\n*<br \/>\n* Systemwide variables guiding the translation process:<br \/>\n*<br \/>\n*<br \/>\nlanguage_latin = &#8222;L&#8220;<br \/>\nlanguage_greek = &#8222;G&#8220;<br \/>\nlanguage_hebrew = &#8222;H&#8220;<br \/>\ndefault_language = language_greek<br \/>\nactual_language = default_language<br \/>\nuppercase = &#8222;&#8220;<br \/>\n*<br \/>\n* Set up vital variables:<br \/>\n* numbers = set of digits<br \/>\n* lows = set of lower case letters<br \/>\n* upps = set of uppercase letters<br \/>\n* space = char(32) &#8211; space symbol<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\nnumbers = &#8222;0123456789&#8220;<br \/>\nlows = &amp;lcase<br \/>\nupps = &amp;ucase<br \/>\nspace = &#8220; &#8220;<br \/>\n*<br \/>\n* ByteOrder (BOM) marker &#8211; unnecessary, but safer<br \/>\n*<br \/>\nbom = char(239) char(187) char(191)<br \/>\n*<br \/>\n* This defines the end-of-line-conventions:<br \/>\n*<br \/>\ncrlf = char(13) char(10)<br \/>\nbeta_latin = &#8222;&amp;&#8220;<br \/>\nbeta_greek = &#8222;$&#8220;<br \/>\nbeta_add = &#8222;+&#8220;<br \/>\nbeta_uppercase = &#8222;*&#8220;<br \/>\nbeta_brackets = &#8222;[]&lt;&gt;{}&#8220;<br \/>\nbeta_quotation = &#8218;&#8220;&#8218;<br \/>\nbeta_special = &#8222;%&#8220;<br \/>\nbeta_text_modifier = &#8222;@^&#8220;<br \/>\nbeta_sign = &#8222;#&#8220;<br \/>\nbeta_question_mark = &#8222;?&#8220;<br \/>\nbeta_zeichen = &#8222;,;.:-_!&#8217;`&#8220;<br \/>\nbeta_dihaeresis = &#8222;+&#8220;<br \/>\nbeta_laccents = &#8222;\/=&#8220;<br \/>\nmarkers = beta_latin beta_greek beta_uppercase beta_brackets<br \/>\n+ beta_quotation beta_special beta_text_modifier beta_sign beta_question_mark<br \/>\n+ beta_zeichen beta_dihaeresis beta_laccents<br \/>\nbeta_iota_sub = &#8222;|&#8220;<br \/>\nbeta_greek_accents = &#8222;()\/=+&#8220; beta_iota_sub<br \/>\nfinal_sigma_continue = numbers beta_latin beta_greek beta_uppercase<br \/>\n+ beta_brackets beta_special beta_text_modifier beta_sign<br \/>\n+ beta_question_mark<br \/>\nfinal_sigma_stop = space &#8222;,;.:_`&#8220; &#8218;&#8220;&#8218;<br \/>\nlanguages = table()<br \/>\nlanguages&lt;beta_latin&gt; = language_latin<br \/>\nlanguages&lt;beta_greek&gt; = language_greek<br \/>\nbrackets = table(111)<br \/>\nbrackets&lt;&#8222;[&#8222;&gt; = &#8222;[&#8220;<br \/>\nbrackets&lt;&#8222;]&#8220;&gt; = &#8222;]&#8220;<br \/>\nbrackets&lt;&#8222;[1&#8220;&gt; = &#8222;(&#8220;<br \/>\nbrackets&lt;&#8222;]1&#8220;&gt; = &#8222;)&#8220;<br \/>\nbrackets&lt;&#8222;[2&#8220;&gt; = &#8222;&lt;&#8220;<br \/>\nbrackets&lt;&#8222;]2&#8220;&gt; = &#8222;&gt;&#8220;<br \/>\nbrackets&lt;&#8222;[3&#8220;&gt; = &#8222;{&#8220;<br \/>\nbrackets&lt;&#8222;]3&#8220;&gt; = &#8222;}&#8220;<br \/>\nbrackets&lt;&#8222;[4&#8220;&gt; = char(226) char(159) char(166)<br \/>\nbrackets&lt;&#8222;]4&#8220;&gt; = char(226) char(159) char(167)<br \/>\nbrackets&lt;&#8222;[5&#8220;&gt; = char(226) char(140) char(138)<br \/>\nbrackets&lt;&#8222;]5&#8220;&gt; = char(226) char(140) char(139)<br \/>\nbrackets&lt;&#8222;[6&#8220;&gt; = char(226) char(140) char(136)<br \/>\nbrackets&lt;&#8222;]6&#8220;&gt; = char(226) char(140) char(137)<br \/>\nbrackets&lt;&#8222;[7&#8220;&gt; = char(226) char(140) char(136)<br \/>\nbrackets&lt;&#8222;]7&#8220;&gt; = char(226) char(140) char(139)<br \/>\nbrackets&lt;&#8222;[8&#8220;&gt; = char(226) char(140) char(138)<br \/>\nbrackets&lt;&#8222;]8&#8220;&gt; = char(226) char(140) char(137)<br \/>\nbrackets&lt;&#8222;[9&#8220;&gt; = char(206) char(135)<br \/>\nbrackets&lt;&#8222;]9&#8220;&gt; = char(206) char(135)<br \/>\nbrackets&lt;&#8222;[10&#8220;&gt; = &#8222;[&#8220;<br \/>\nbrackets&lt;&#8222;]10&#8220;&gt; = &#8222;]&#8220;<br \/>\nbrackets&lt;&#8222;[11&#8220;&gt; = char(226) char(130) char(141)<br \/>\nbrackets&lt;&#8222;]11&#8220;&gt; = char(226) char(130) char(142)<br \/>\nbrackets&lt;&#8222;[12&#8220;&gt; = char(226) char(134) char(146)<br \/>\nbrackets&lt;&#8222;]12&#8220;&gt; = char(226) char(134) char(144)<\/p>\n<p>brackets&lt;&#8222;[13&#8220;&gt; = &#8222;[&#8220;<br \/>\nbrackets&lt;&#8222;]13&#8220;&gt; = &#8222;]&#8220;<br \/>\nbrackets&lt;&#8222;[14&#8220;&gt; = &#8222;|:&#8220;<br \/>\nbrackets&lt;&#8222;]14&#8220;&gt; = &#8222;:|&#8220;<br \/>\nbrackets&lt;&#8222;[16&#8220;&gt; = char(226) char(159) char(166)<br \/>\nbrackets&lt;&#8222;]16&#8220;&gt; = char(226) char(159) char(167)<br \/>\nbrackets&lt;&#8222;[17&#8220;&gt; = char(226) char(140) char(138) char(226) char(140) char(138)<br \/>\nbrackets&lt;&#8222;]17&#8220;&gt; = char(226) char(140) char(139) char(226) char(140) char(139)<br \/>\nbrackets&lt;&#8222;[18&#8220;&gt; = char(226) char(159) char(170)<br \/>\nbrackets&lt;&#8222;]18&#8220;&gt; = char(226) char(159) char(171)<br \/>\nbrackets&lt;&#8222;[20&#8220;&gt; = char(226) char(142) char(167)<br \/>\nbrackets&lt;&#8222;]20&#8220;&gt; = char(226) char(142) char(171)<br \/>\nbrackets&lt;&#8222;[21&#8220;&gt; = char(226) char(142) char(170)<br \/>\nbrackets&lt;&#8222;]21&#8220;&gt; = char(226) char(142) char(170)<br \/>\nbrackets&lt;&#8222;[22&#8220;&gt; = char(226) char(142) char(168)<br \/>\nbrackets&lt;&#8222;]22&#8220;&gt; = char(226) char(142) char(172)<br \/>\nbrackets&lt;&#8222;[23&#8220;&gt; = char(226) char(142) char(169)<br \/>\nbrackets&lt;&#8222;]23&#8220;&gt; = char(226) char(142) char(173)<br \/>\nbrackets&lt;&#8222;[30&#8220;&gt; = char(226) char(142) char(155)<br \/>\nbrackets&lt;&#8222;]30&#8220;&gt; = char(226) char(142) char(158)<br \/>\nbrackets&lt;&#8222;[31&#8220;&gt; = char(226) char(142) char(156)<br \/>\nbrackets&lt;&#8222;]31&#8220;&gt; = char(226) char(142) char(159)<br \/>\nbrackets&lt;&#8222;[32&#8220;&gt; = char(226) char(142) char(157)<br \/>\nbrackets&lt;&#8222;]32&#8220;&gt; = char(226) char(142) char(160)<br \/>\n*<br \/>\n* The intermediate values have been reserved for special purposes<br \/>\n*<br \/>\nbrackets&lt;&#8222;[70&#8220;&gt; = char(226) char(184) char(130)<br \/>\nbrackets&lt;&#8222;]70&#8220;&gt; = char(226) char(184) char(131)<br \/>\nbrackets&lt;&#8222;[71&#8220;&gt; = char(226) char(184) char(132)<br \/>\nbrackets&lt;&#8222;]71&#8220;&gt; = char(226) char(184) char(133)<br \/>\nbrackets&lt;&#8222;[72&#8220;&gt; = char(226) char(184) char(137)<br \/>\nbrackets&lt;&#8222;]72&#8220;&gt; = char(226) char(184) char(138)<br \/>\nbrackets&lt;&#8222;[73&#8220;&gt; = char(226) char(184) char(139)<br \/>\nbrackets&lt;&#8222;]73&#8220;&gt; = char(226) char(184) char(140)<br \/>\nbrackets&lt;&#8222;[80&#8220;&gt; = &#8222;\/&#8220;<br \/>\nbrackets&lt;&#8222;]80&#8220;&gt; = &#8222;\/&#8220;<br \/>\nbrackets&lt;&#8222;[81&#8220;&gt; = &#8222;\/\/&#8220;<br \/>\nbrackets&lt;&#8222;]81&#8220;&gt; = &#8222;\/\/&#8220;<br \/>\n*<br \/>\n* pointed brackets:<br \/>\n*<br \/>\nbrackets&lt;&#8222;&lt;2&#8220;&gt; = char(226) char(128) char(181)<br \/>\nbrackets&lt;&#8222;&gt;2&#8220;&gt; = char(226) char(128) char(178)<br \/>\nbrackets&lt;&#8222;&lt;6&#8220;&gt; = &#8222;&#8220;<br \/>\nbrackets&lt;&#8222;&gt;6&#8220;&gt; = &#8222;\/&#8220;<br \/>\nbrackets&lt;&#8222;&lt;11&#8220;&gt; = &#8222;&#8220;<br \/>\nbrackets&lt;&#8222;&gt;11&#8220;&gt; = &#8222;\/&#8220;<br \/>\nbrackets&lt;&#8222;&lt;16&#8220;&gt; = char(226) char(128) char(181)<br \/>\n*<br \/>\n* Error corrected 5-7-2009 B.M.<br \/>\n*<br \/>\n* V this was 116 &#8211; probably an error<br \/>\nbrackets&lt;&#8222;&gt;16&#8220;&gt; = char(226) char(128) char(178)<br \/>\nbrackets&lt;&#8222;&lt;19&#8220;&gt; = char(226) char(128) char(181)<br \/>\nbrackets&lt;&#8222;&gt;19&#8220;&gt; = char(226) char(128) char(178)<br \/>\n*<br \/>\n* Tables for special symbols:<br \/>\n*<br \/>\nquote = table(11)<br \/>\nquote&lt;&#8222;0&#8220;&gt; = &#8218;&#8220;&#8218;<br \/>\nquote&lt;&#8222;1&#8220;&gt; = char(226) char(128) char(158)<br \/>\nquote&lt;&#8222;2&#8220;&gt; = &#8218;&#8220;&#8218;<br \/>\nquote&lt;&#8222;3&#8220;&gt; = &#8222;&#8218;&#8220;<br \/>\nquote&lt;&#8222;4&#8220;&gt; = &#8222;,&#8220;<br \/>\nquote&lt;&#8222;5&#8220;&gt; = &#8222;&#8218;&#8220;<br \/>\nquote&lt;&#8222;6&#8220;&gt; = &#8218;&#8220;&#8218;<br \/>\nquote&lt;&#8222;7&#8220;&gt; = &#8222;&#8218;&#8220;<br \/>\nquote&lt;&#8222;8&#8220;&gt; = char(226) char(128) char(158)<br \/>\n*<br \/>\ngreek_zeichen = table(11)<br \/>\nlatin_zeichen = table(11)<br \/>\n*<br \/>\ngreek_zeichen&lt;&#8222;,&#8220;&gt; = &#8222;,&#8220;<br \/>\ngreek_zeichen&lt;&#8222;;&#8220;&gt; = &#8222;;&#8220;<br \/>\ngreek_zeichen&lt;&#8222;.&#8220;&gt; = &#8222;.&#8220;<br \/>\ngreek_zeichen&lt;&#8222;:&#8220;&gt; = char(206) char(135)<br \/>\ngreek_zeichen&lt;&#8222;-&#8222;&gt; = &#8222;-&#8220;<br \/>\ngreek_zeichen&lt;&#8222;_&#8220;&gt; = &#8220; &#8211; &#8220;<br \/>\ngreek_zeichen&lt;&#8222;!&#8220;&gt; = char(32) char(204) char(163)<br \/>\ngreek_zeichen&lt;&#8222;&#8218;&#8220;&gt; = &#8222;&#8218;&#8220;<br \/>\n*<br \/>\nlatin_zeichen&lt;&#8222;,&#8220;&gt; = &#8222;,&#8220;<br \/>\nlatin_zeichen&lt;&#8222;;&#8220;&gt; = &#8222;;&#8220;<br \/>\nlatin_zeichen&lt;&#8222;.&#8220;&gt; = &#8222;.&#8220;<br \/>\nlatin_zeichen&lt;&#8222;:&#8220;&gt; = &#8222;:&#8220;<br \/>\nlatin_zeichen&lt;&#8222;-&#8222;&gt; = &#8222;-&#8220;<br \/>\nlatin_zeichen&lt;&#8222;!&#8220;&gt; = &#8222;!&#8220;<br \/>\nlatin_zeichen&lt;&#8222;&#8218;&#8220;&gt; = &#8222;&#8218;&#8220;<br \/>\n*<br \/>\n* Tables for % and # (non-alphabetic signs\/symbolic signs)<br \/>\n*<br \/>\npercent = table(250)<br \/>\nhash = table(900)<br \/>\n*<br \/>\n* Values &#8211; initialization of the tables:<br \/>\n*<br \/>\npercent&lt;&#8222;%&#8220;&gt; = char(226) char(128) char(160)<br \/>\npercent&lt;&#8222;%1&#8220;&gt; = &#8222;%1&#8220;<br \/>\npercent&lt;&#8222;%2&#8220;&gt; = &#8222;*&#8220;<br \/>\npercent&lt;&#8222;%3&#8220;&gt; = &#8222;\/&#8220;<br \/>\npercent&lt;&#8222;%4&#8220;&gt; = &#8222;%4&#8220;<br \/>\npercent&lt;&#8222;%5&#8220;&gt; = &#8222;|&#8220;<br \/>\npercent&lt;&#8222;%6&#8220;&gt; = &#8222;=&#8220;<br \/>\npercent&lt;&#8222;%7&#8220;&gt; = &#8222;+&#8220;<br \/>\npercent&lt;&#8222;%8&#8220;&gt; = &#8222;%&#8220;<br \/>\npercent&lt;&#8222;%9&#8220;&gt; = &#8222;&amp;&#8220;<br \/>\npercent&lt;&#8222;%10&#8220;&gt; = &#8222;:&#8220;<br \/>\npercent&lt;&#8222;%11&#8220;&gt; = char(226) char(128) char(162)<br \/>\npercent&lt;&#8222;%12&#8220;&gt; = &#8222;*&#8220;<br \/>\npercent&lt;&#8222;%13&#8220;&gt; = char(226) char(128) char(161)<br \/>\npercent&lt;&#8222;%14&#8220;&gt; = char(194) char(167)<br \/>\npercent&lt;&#8222;%15&#8220;&gt; = char(203) char(136)<br \/>\npercent&lt;&#8222;%16&#8220;&gt; = char(194) char(166)<br \/>\npercent&lt;&#8222;%17&#8220;&gt; = char(226) char(128) char(150)<br \/>\npercent&lt;&#8222;%18&#8220;&gt; = &#8222;&#8218;&#8220;<br \/>\npercent&lt;&#8222;%19&#8220;&gt; = char(226) char(128) char(147)<br \/>\npercent&lt;&#8222;%20&#8220;&gt; = char(204) char(129)<br \/>\npercent&lt;&#8222;%21&#8220;&gt; = char(204) char(128)<br \/>\npercent&lt;&#8222;%22&#8220;&gt; = char(204) char(130)<br \/>\npercent&lt;&#8222;%23&#8220;&gt; = char(204) char(136)<br \/>\npercent&lt;&#8222;%24&#8220;&gt; = char(204) char(131)<br \/>\npercent&lt;&#8222;%25&#8220;&gt; = char(204) char(167)<br \/>\npercent&lt;&#8222;%26&#8220;&gt; = char(204) char(132)<br \/>\npercent&lt;&#8222;%27&#8220;&gt; = char(204) char(134)<br \/>\npercent&lt;&#8222;%28&#8220;&gt; = char(204) char(136)<br \/>\npercent&lt;&#8222;%29&#8220;&gt; = char(204) char(164)<br \/>\npercent&lt;&#8222;%30&#8220;&gt; = char(32) char(204) char(147)<br \/>\npercent&lt;&#8222;%31&#8220;&gt; = char(225) char(191) char(190)<br \/>\npercent&lt;&#8222;%32&#8220;&gt; = char(32) char(204) char(129)<br \/>\npercent&lt;&#8222;%33&#8220;&gt; = char(32) char(204) char(128)<br \/>\npercent&lt;&#8222;%34&#8220;&gt; = char(32) char(204) char(130)<br \/>\npercent&lt;&#8222;%35&#8220;&gt; = char(32) char(225) char(191) char(142)<br \/>\npercent&lt;&#8222;%36&#8220;&gt; = char(32) char(225) char(191) char(158)<br \/>\npercent&lt;&#8222;%37&#8220;&gt; = char(32) char(225) char(191) char(157)<br \/>\npercent&lt;&#8222;%38&#8220;&gt; = char(32) char(225) char(191) char(159)<br \/>\npercent&lt;&#8222;%39&#8220;&gt; = char(32) char(204) char(136)<br \/>\npercent&lt;&#8222;%40&#8220;&gt; = char(32) char(204) char(134)<br \/>\npercent&lt;&#8222;%41&#8220;&gt; = char(32) char(204) char(133)<br \/>\npercent&lt;&#8222;%42&#8220;&gt; = char(226) char(143) char(149)<br \/>\npercent&lt;&#8222;%43&#8220;&gt; = char(195) char(151)<br \/>\npercent&lt;&#8222;%44&#8220;&gt; = char(32) char(204) char(174) char(204) char(133)<br \/>\npercent&lt;&#8222;%45&#8220;&gt; = char(32) char(204) char(178) char(204) char(134)<br \/>\npercent&lt;&#8222;%46&#8220;&gt; = char(32) char(204) char(171) char(204) char(133)<br \/>\npercent&lt;&#8222;%47&#8220;&gt; = char(32) char(204) char(178) char(204) char(133)<br \/>\npercent&lt;&#8222;%48&#8220;&gt; = char(32) char(204) char(174) char(204) char(134)<br \/>\npercent&lt;&#8222;%49&#8220;&gt; =<br \/>\npercent&lt;&#8222;%50&#8220;&gt; = &#8222;1\/2&#8220;<br \/>\npercent&lt;&#8222;%51&#8220;&gt; = &#8222;1\/4&#8220;<br \/>\npercent&lt;&#8222;%52&#8220;&gt; = &#8222;1\/8&#8220;<br \/>\npercent&lt;&#8222;%53&#8220;&gt; = &#8222;1\/16&#8220;<br \/>\npercent&lt;&#8222;%54&#8220;&gt; = &#8222;1\/32&#8220;<br \/>\npercent&lt;&#8222;%55&#8220;&gt; = &#8222;1\/64&#8220;<br \/>\npercent&lt;&#8222;%56&#8220;&gt; = &#8222;1\/128&#8220;<br \/>\npercent&lt;&#8222;%57&#8220;&gt; =<br \/>\npercent&lt;&#8222;%58&#8220;&gt; =<br \/>\npercent&lt;&#8222;%59&#8220;&gt; = &#8222;3\/4&#8220;<br \/>\npercent&lt;&#8222;%60&#8220;&gt; = &#8222;1\/3&#8220;<br \/>\npercent&lt;&#8222;%61&#8220;&gt; = &#8222;1\/6&#8220;<br \/>\npercent&lt;&#8222;%62&#8220;&gt; = &#8222;1\/12&#8220;<br \/>\npercent&lt;&#8222;%63&#8220;&gt; = &#8222;1\/24&#8220;<br \/>\npercent&lt;&#8222;%64&#8220;&gt; = &#8222;1\/48&#8220;<br \/>\npercent&lt;&#8222;%65&#8220;&gt; = &#8222;1\/96&#8220;<br \/>\npercent&lt;&#8222;%66&#8220;&gt; =<br \/>\npercent&lt;&#8222;%67&#8220;&gt; =<br \/>\npercent&lt;&#8222;%68&#8220;&gt; =<br \/>\npercent&lt;&#8222;%69&#8220;&gt; = &#8222;2\/3&#8220;<br \/>\npercent&lt;&#8222;%70&#8220;&gt; = &#8222;1\/50&#8220;<br \/>\npercent&lt;&#8222;%71&#8220;&gt; = &#8222;1\/100&#8220;<br \/>\npercent&lt;&#8222;%72&#8220;&gt; = &#8222;1\/15&#8220;<br \/>\npercent&lt;&#8222;%73&#8220;&gt; = &#8222;1\/30&#8220;<br \/>\npercent&lt;&#8222;%74&#8220;&gt; =<br \/>\npercent&lt;&#8222;%75&#8220;&gt; =<br \/>\npercent&lt;&#8222;%76&#8220;&gt; =<br \/>\npercent&lt;&#8222;%77&#8220;&gt; =<br \/>\npercent&lt;&#8222;%78&#8220;&gt; =<br \/>\npercent&lt;&#8222;%79&#8220;&gt; =<br \/>\npercent&lt;&#8222;%80&#8220;&gt; = &#8222;v&#8220;<br \/>\npercent&lt;&#8222;%81&#8220;&gt; = &#8222;vac.&#8220;<br \/>\npercent&lt;&#8222;%91&#8220;&gt; = char(226) char(138) char(162)<br \/>\npercent&lt;&#8222;%92&#8220;&gt; = char(226) char(138) char(163)<br \/>\npercent&lt;&#8222;%93&#8220;&gt; = char(204) char(128) char(204) char(137)<br \/>\npercent&lt;&#8222;%94&#8220;&gt; = char(204) char(135)<br \/>\npercent&lt;&#8222;%96&#8220;&gt; = char(204) char(146)<br \/>\npercent&lt;&#8222;%97&#8220;&gt; = char(204) char(136)<br \/>\npercent&lt;&#8222;%98&#8220;&gt; = char(204) char(142)<br \/>\npercent&lt;&#8222;%100&#8220;&gt; = &#8222;;&#8220;<br \/>\npercent&lt;&#8222;%101&#8220;&gt; = &#8222;#&#8220;<br \/>\npercent&lt;&#8222;%102&#8220;&gt; = &#8222;`&#8220;<br \/>\npercent&lt;&#8222;%103&#8220;&gt; = &#8222;&#8220;<br \/>\npercent&lt;&#8222;%104&#8220;&gt; = &#8222;^&#8220;<br \/>\npercent&lt;&#8222;%105&#8220;&gt; = &#8222;|||&#8220;<br \/>\npercent&lt;&#8222;%106&#8220;&gt; = char(226) char(137) char(133)<br \/>\npercent&lt;&#8222;%107&#8220;&gt; = &#8222;~&#8220;<br \/>\npercent&lt;&#8222;%108&#8220;&gt; = char(194) char(177)<br \/>\npercent&lt;&#8222;%109&#8220;&gt; = char(226) char(128) char(162)<br \/>\npercent&lt;&#8222;%110&#8220;&gt; = char(226) char(151) char(139)<br \/>\npercent&lt;&#8222;%127&#8220;&gt; = char(204) char(175)<br \/>\npercent&lt;&#8222;%128&#8220;&gt; = char(204) char(140)<br \/>\npercent&lt;&#8222;%129&#8220;&gt; = char(226) char(128) char(160)<br \/>\npercent&lt;&#8222;%130&#8220;&gt; = char(204) char(135)<br \/>\npercent&lt;&#8222;%132&#8220;&gt; = char(206) char(133)<br \/>\npercent&lt;&#8222;%133&#8220;&gt; = char(225) char(191) char(141)<br \/>\npercent&lt;&#8222;%134&#8220;&gt; = char(225) char(191) char(143)<br \/>\npercent&lt;&#8222;%138&#8220;&gt; = char(226) char(143) char(145) char(204) char(129)<br \/>\npercent&lt;&#8222;%141&#8220;&gt; = char(226) char(143) char(150)<br \/>\npercent&lt;&#8222;%142&#8220;&gt; = char(226) char(148) char(144)<br \/>\npercent&lt;&#8222;%144&#8220;&gt; = char(226) char(143) char(145) char(204) char(182)<br \/>\npercent&lt;&#8222;%145&#8220;&gt; = char(226) char(128) char(147) char(204) char(129)<br \/>\npercent&lt;&#8222;%146&#8220;&gt; = char(194) char(183)<br \/>\npercent&lt;&#8222;%147&#8220;&gt; = char(204) char(138)<br \/>\npercent&lt;&#8222;%148&#8220;&gt; = char(204) char(140)<br \/>\npercent&lt;&#8222;%149&#8220;&gt; = char(204) char(168)<br \/>\npercent&lt;&#8222;%150&#8220;&gt; = char(124)<br \/>\npercent&lt;&#8222;%154&#8220;&gt; = char(226) char(136) char(180)<br \/>\npercent&lt;&#8222;%155&#8220;&gt; = char(226) char(136) char(181)<br \/>\npercent&lt;&#8222;%158&#8220;&gt; = char(226) char(129) char(130)<br \/>\npercent&lt;&#8222;%159&#8220;&gt; = char(195) char(151)<br \/>\npercent&lt;&#8222;%160&#8220;&gt; = char(45)<br \/>\npercent&lt;&#8222;%161&#8220;&gt; = char(195) char(183)<br \/>\npercent&lt;&#8222;%163&#8220;&gt; = char(194) char(182)<br \/>\npercent&lt;&#8222;%170&#8220;&gt; = char(205) char(153)<br \/>\npercent&lt;&#8222;%171&#8220;&gt; = &#8222;\/\/&#8220;<br \/>\npercent&lt;&#8222;%172&#8220;&gt; = char(202) char(188)<br \/>\npercent&lt;&#8222;%173&#8220;&gt; = char(202) char(189)<br \/>\npercent&lt;&#8222;%174&#8220;&gt; = char(194) char(180)<br \/>\npercent&lt;&#8222;%175&#8220;&gt; = char(96)<br \/>\npercent&lt;&#8222;%176&#8220;&gt; = char(225) char(191) char(128)<br \/>\npercent&lt;&#8222;%177&#8220;&gt; = char(204) char(147)<br \/>\npercent&lt;&#8222;%178&#8220;&gt; = char(204) char(148)<br \/>\npercent&lt;&#8222;%179&#8220;&gt; = char(204) char(163)<br \/>\n*<br \/>\n*<br \/>\ngreek_percent = table(7)<br \/>\ngreek_percent&lt;&#8222;1&#8220;&gt; = &#8222;?&#8220;<br \/>\ngreek_percent&lt;&#8222;4&#8220;&gt; = &#8222;!&#8220;<br \/>\nlatin_percent = table(7)<br \/>\nlatin_percent&lt;&#8222;1&#8220;&gt; = char(204) char(163)<br \/>\nlatin_percent&lt;&#8222;4&#8220;&gt; = char(32) char(204) char(163)<br \/>\n*<br \/>\nhash&lt;&#8222;#&#8220;&gt; = &#8222;&#8218;&#8220;<br \/>\nhash&lt;&#8222;#1&#8220;&gt; = char(207) char(159)<br \/>\nhash&lt;&#8222;#2&#8220;&gt; = char(207) char(154)<br \/>\nhash&lt;&#8222;#3&#8220;&gt; = char(207) char(158)<br \/>\nhash&lt;&#8222;#4&#8220;&gt; = &#8222;Q&#8220;<br \/>\nhash&lt;&#8222;#5&#8220;&gt; = char(207) char(160)<br \/>\nhash&lt;&#8222;#6&#8220;&gt; = char(226) char(184) char(143)<br \/>\nhash&lt;&#8222;#7&#8220;&gt; = char(32) char(204) char(163)<br \/>\nhash&lt;&#8222;#8&#8220;&gt; = char(226) char(184) char(144)<br \/>\nhash&lt;&#8222;#9&#8220;&gt; = char(204) char(129)<br \/>\nhash&lt;&#8222;#10&#8220;&gt; = char(207) char(189)<br \/>\nhash&lt;&#8222;#11&#8220;&gt; = char(207) char(191)<br \/>\nhash&lt;&#8222;#12&#8220;&gt; = char(226) char(128) char(148)<br \/>\nhash&lt;&#8222;#13&#8220;&gt; = char(226) char(128) char(187)<br \/>\nhash&lt;&#8222;#14&#8220;&gt; = char(226) char(184) char(150)<br \/>\nhash&lt;&#8222;#15&#8220;&gt; = &#8222;&gt;&#8220;<br \/>\nhash&lt;&#8222;#16&#8220;&gt; = char(207) char(190)<br \/>\nhash&lt;&#8222;#17&#8220;&gt; = &#8222;\/&#8220;<br \/>\nhash&lt;&#8222;#18&#8220;&gt; = &#8222;&lt;&#8220;<br \/>\nhash&lt;&#8222;#19&#8220;&gt; = char(204) char(128)<br \/>\nhash&lt;&#8222;#20&#8220;&gt; = char(226) char(151) char(161)<br \/>\nhash&lt;&#8222;#21&#8220;&gt; = char(226) char(136) char(189) char(204) char(136)<br \/>\nhash&lt;&#8222;#22&#8220;&gt; = char(205) char(181)<br \/>\nhash&lt;&#8222;#23&#8220;&gt; = char(207) char(152)<br \/>\nhash&lt;&#8222;#24&#8220;&gt; = char(226) char(136) char(189) char(204) char(136)<br \/>\nhash&lt;&#8222;#25&#8220;&gt; = char(226) char(136) char(189) char(204) char(136)<br \/>\nhash&lt;&#8222;#26&#8220;&gt; = char(226) char(184) char(143)<br \/>\nhash&lt;&#8222;#27&#8220;&gt; = char(226) char(136) char(154)<br \/>\nhash&lt;&#8222;#28&#8220;&gt; = &#8222;Deleted &#8220;<br \/>\nhash&lt;&#8222;#29&#8220;&gt; = char(194) char(183)<br \/>\nhash&lt;&#8222;#51&#8220;&gt; = char(194) char(183)<br \/>\nhash&lt;&#8222;#52&#8220;&gt; = char(226) char(129) char(154)<br \/>\nhash&lt;&#8222;#53&#8220;&gt; = char(226) char(129) char(157)<br \/>\nhash&lt;&#8222;#54&#8220;&gt; = &#8222;center of line &#8220;<br \/>\nhash&lt;&#8222;#55&#8220;&gt; = char(226) char(129) char(153)<br \/>\nhash&lt;&#8222;#56&#8220;&gt; = &#8222;Dividers of other forms &#8220;<br \/>\nhash&lt;&#8222;#59&#8220;&gt; = char(207) char(189)<br \/>\nhash&lt;&#8222;#60&#8220;&gt; = char(206) char(153)<br \/>\nhash&lt;&#8222;#61&#8220;&gt; = &#8222;1 drachma &#8220;<br \/>\nhash&lt;&#8222;#62&#8220;&gt; = &#8222;5 drachmas &#8220;<br \/>\nhash&lt;&#8222;#63&#8220;&gt; = char(206) char(148)<br \/>\nhash&lt;&#8222;#64&#8220;&gt; = &#8222;50 drachmas &#8220;<br \/>\nhash&lt;&#8222;#65&#8220;&gt; = char(206) char(151)<br \/>\nhash&lt;&#8222;#66&#8220;&gt; = &#8222;500 drachmas &#8220;<br \/>\nhash&lt;&#8222;#67&#8220;&gt; = char(206) char(167)<br \/>\nhash&lt;&#8222;#68&#8220;&gt; = &#8222;5 000 drachmas &#8220;<br \/>\nhash&lt;&#8222;#69&#8220;&gt; = char(206) char(156)<br \/>\nhash&lt;&#8222;#70&#8220;&gt; = &#8222;.&#8220;<br \/>\nhash&lt;&#8222;#71&#8220;&gt; = char(194) char(183)<br \/>\nhash&lt;&#8222;#72&#8220;&gt; = char(203) char(153)<br \/>\nhash&lt;&#8222;#73&#8220;&gt; = char(226) char(129) char(154)<br \/>\nhash&lt;&#8222;#74&#8220;&gt; = char(226) char(129) char(157)<br \/>\nhash&lt;&#8222;#75&#8220;&gt; = &#8222;.&#8220;<br \/>\nhash&lt;&#8222;#80&#8220;&gt; = char(204) char(136)<br \/>\nhash&lt;&#8222;#81&#8220;&gt; = &#8222;&#8218;&#8220;<br \/>\nhash&lt;&#8222;#82&#8220;&gt; = char(203) char(138)<br \/>\nhash&lt;&#8222;#83&#8220;&gt; = char(203) char(139)<br \/>\nhash&lt;&#8222;#84&#8220;&gt; = char(225) char(191) char(128)<br \/>\nhash&lt;&#8222;#85&#8220;&gt; = char(202) char(189)<br \/>\nhash&lt;&#8222;#86&#8220;&gt; = char(202) char(188)<br \/>\nhash&lt;&#8222;#87&#8220;&gt; = char(206) char(148) char(205) char(133)<br \/>\nhash&lt;&#8222;#90&#8220;&gt; = char(226) char(128) char(148)<br \/>\nhash&lt;&#8222;#99&#8220;&gt; = char(32) char(204) char(163)<br \/>\nhash&lt;&#8222;#103&#8220;&gt; = char(206) char(155) char(204) char(184)<br \/>\nhash&lt;&#8222;#118&#8220;&gt; = char(206) char(187) char(204) char(184)<br \/>\nhash&lt;&#8222;#121&#8220;&gt; = char(206) char(190) char(204) char(184)<br \/>\nhash&lt;&#8222;#127&#8220;&gt; = char(206) char(187) char(205) char(133)<br \/>\nhash&lt;&#8222;#128&#8220;&gt; = char(207) char(188)<br \/>\nhash&lt;&#8222;#129&#8220;&gt; = char(206) char(155) char(204) char(165)<br \/>\nhash&lt;&#8222;#132&#8220;&gt; = char(206) char(178) char(204) char(184)<br \/>\nhash&lt;&#8222;#135&#8220;&gt; = char(203) char(153)<br \/>\nhash&lt;&#8222;#136&#8220;&gt; = char(206) char(163)<br \/>\nhash&lt;&#8222;#150&#8220;&gt; = char(226) char(136) char(158)<br \/>\nhash&lt;&#8222;#151&#8220;&gt; = char(226) char(128) char(148)<br \/>\nhash&lt;&#8222;#152&#8220;&gt; = char(226) char(129) char(154) char(226) char(128) char(148)<br \/>\nhash&lt;&#8222;#153&#8220;&gt; = char(226) char(128) char(166) char(204) char(133)<br \/>\nhash&lt;&#8222;#154&#8220;&gt; = char(226) char(178) char(128)<br \/>\nhash&lt;&#8222;#155&#8220;&gt; = char(226) char(128) char(148) char(204) char(163)<br \/>\nhash&lt;&#8222;#156&#8220;&gt; = char(226) char(140) char(144)<br \/>\nhash&lt;&#8222;#158&#8220;&gt; = char(226) char(136) char(183) char(204) char(182)<br \/>\nhash&lt;&#8222;#159&#8220;&gt; = char(226) char(136) char(183) char(204) char(180)<br \/>\nhash&lt;&#8222;#160&#8220;&gt; = char(126) char(204) char(163)<br \/>\nhash&lt;&#8222;#162&#8220;&gt; = char(226) char(150) char(161)<br \/>\nhash&lt;&#8222;#163&#8220;&gt; = char(205) char(181)<br \/>\nhash&lt;&#8222;#165&#8220;&gt; = char(32) char(204) char(189)<br \/>\nhash&lt;&#8222;#166&#8220;&gt; = char(226) char(169) char(154)<br \/>\nhash&lt;&#8222;#170&#8220;&gt; = &#8222;II&#8220;<br \/>\nhash&lt;&#8222;#200&#8220;&gt; = char(226) char(153) char(131)<br \/>\nhash&lt;&#8222;#201&#8220;&gt; = char(226) char(152) char(141)<br \/>\nhash&lt;&#8222;#202&#8220;&gt; = char(226) char(153) char(143)<br \/>\nhash&lt;&#8222;#203&#8220;&gt; = char(226) char(153) char(141)<br \/>\nhash&lt;&#8222;#204&#8220;&gt; = char(226) char(153) char(128)<br \/>\nhash&lt;&#8222;#205&#8220;&gt; = char(226) char(153) char(144)<br \/>\nhash&lt;&#8222;#206&#8220;&gt; = char(226) char(153) char(132)<br \/>\nhash&lt;&#8222;#207&#8220;&gt; = char(226) char(152) char(137)<br \/>\nhash&lt;&#8222;#208&#8220;&gt; = char(226) char(152) char(191)<br \/>\nhash&lt;&#8222;#209&#8220;&gt; = char(226) char(152) char(190)<br \/>\nhash&lt;&#8222;#210&#8220;&gt; = char(226) char(153) char(130)<br \/>\nhash&lt;&#8222;#211&#8220;&gt; = char(226) char(153) char(145)<br \/>\nhash&lt;&#8222;#212&#8220;&gt; = char(226) char(152) char(138)<br \/>\nhash&lt;&#8222;#213&#8220;&gt; = char(226) char(153) char(136)<br \/>\nhash&lt;&#8222;#214&#8220;&gt; = char(226) char(153) char(142)<br \/>\nhash&lt;&#8222;#215&#8220;&gt; = char(226) char(153) char(138)<br \/>\nhash&lt;&#8222;#216&#8220;&gt; = char(226) char(153) char(139)<br \/>\nhash&lt;&#8222;#217&#8220;&gt; = char(226) char(153) char(133)<br \/>\nhash&lt;&#8222;#218&#8220;&gt; = char(226) char(153) char(146)<br \/>\nhash&lt;&#8222;#219&#8220;&gt; = char(226) char(153) char(137)<br \/>\nhash&lt;&#8222;#220&#8220;&gt; = char(226) char(152) char(141)<br \/>\nhash&lt;&#8222;#221&#8220;&gt; = char(226) char(152) char(189)<br \/>\nhash&lt;&#8222;#222&#8220;&gt; = char(226) char(152) char(140)<br \/>\nhash&lt;&#8222;#241&#8220;&gt; = char(226) char(152) char(139)<br \/>\nhash&lt;&#8222;#242&#8220;&gt; = char(226) char(153) char(145)<br \/>\nhash&lt;&#8222;#244&#8220;&gt; = char(226) char(153) char(140)<br \/>\nhash&lt;&#8222;#245&#8220;&gt; = char(226) char(153) char(142) char(204) char(189)<br \/>\nhash&lt;&#8222;#249&#8220;&gt; = char(207) char(128) char(226) char(152) char(190)<br \/>\n*<br \/>\n* 2006-01-27:<br \/>\n*<\/p>\n<p>hash&lt;&#8222;#300&#8220;&gt; = char(226) char(135) char(131)<br \/>\nhash&lt;&#8222;#303&#8220;&gt; = &#8222;&gt;&#8220;<br \/>\nhash&lt;&#8222;#305&#8220;&gt; = char(226) char(184) char(142)<br \/>\nhash&lt;&#8222;#306&#8220;&gt; = char(226) char(137) char(144)<br \/>\n*<br \/>\n* 2006-01-27:<br \/>\n*<br \/>\nhash&lt;&#8222;#307&#8220;&gt; = char(226) char(134) char(190)<br \/>\n*<br \/>\nhash&lt;&#8222;#308&#8220;&gt; = char(226) char(134) char(189)<br \/>\nhash&lt;&#8222;#310&#8220;&gt; = char(226) char(184) char(142)<br \/>\nhash&lt;&#8222;#313&#8220;&gt; = char(226) char(184) char(142)<br \/>\nhash&lt;&#8222;#314&#8220;&gt; = char(226) char(136) char(146) char(226) char(136) char(152)<br \/>\nhash&lt;&#8222;#315&#8220;&gt; = char(226) char(184) char(142)<br \/>\nhash&lt;&#8222;#317&#8220;&gt; = &#8222;\/&#8220;<br \/>\nhash&lt;&#8222;#319&#8220;&gt; = char(226) char(151) char(143)<br \/>\nhash&lt;&#8222;#320&#8220;&gt; = char(226) char(152) char(169)<br \/>\nhash&lt;&#8222;#323&#8220;&gt; = &#8222;&gt;&#8220;<br \/>\nhash&lt;&#8222;#321&#8220;&gt; = char(226) char(152) char(169)<br \/>\nhash&lt;&#8222;#322&#8220;&gt; = char(226) char(152) char(167)<br \/>\nhash&lt;&#8222;#324&#8220;&gt; = char(226) char(128) char(148)<br \/>\nhash&lt;&#8222;#330&#8220;&gt; = &#8222;{Drawing}&#8220;<br \/>\nhash&lt;&#8222;#336&#8220;&gt; = char(213) char(143)<br \/>\nhash&lt;&#8222;#451&#8220;&gt; = char(202) char(131)<br \/>\nhash&lt;&#8222;#452&#8220;&gt; = char(226) char(184) char(144)<br \/>\nhash&lt;&#8222;#453&#8220;&gt; = char(226) char(184) char(145)<br \/>\nhash&lt;&#8222;#454&#8220;&gt; = char(226) char(184) char(144)<br \/>\nhash&lt;&#8222;#455&#8220;&gt; = char(226) char(184) char(145)<br \/>\nhash&lt;&#8222;#458&#8220;&gt; = char(206) char(167)<br \/>\nhash&lt;&#8222;#459&#8220;&gt; = char(194) char(183)<br \/>\nhash&lt;&#8222;#460&#8220;&gt; = char(226) char(128) char(148)<br \/>\nhash&lt;&#8222;#461&#8220;&gt; = &#8222;|&#8220;<br \/>\nhash&lt;&#8222;#465&#8220;&gt; = char(226) char(152) char(167)<br \/>\nhash&lt;&#8222;#468&#8220;&gt; = char(226) char(184) char(142)<br \/>\nhash&lt;&#8222;#476&#8220;&gt; = char(202) char(131)<br \/>\nhash&lt;&#8222;#504&#8220;&gt; = char(226) char(184) char(142)<br \/>\nhash&lt;&#8222;#505&#8220;&gt; = char(226) char(129) char(156)<br \/>\nhash&lt;&#8222;#506&#8220;&gt; = char(226) char(184) char(148)<br \/>\nhash&lt;&#8222;#507&#8220;&gt; = char(226) char(184) char(149)<br \/>\nhash&lt;&#8222;#508&#8220;&gt; = char(226) char(128) char(187)<br \/>\nhash&lt;&#8222;#509&#8220;&gt; = char(204) char(133) char(204) char(145)<br \/>\nhash&lt;&#8222;#512&#8220;&gt; = char(207) char(189)<br \/>\nhash&lt;&#8222;#516&#8220;&gt; = char(206) char(148) char(205) char(133)<br \/>\nhash&lt;&#8222;#519&#8220;&gt; = char(226) char(134) char(145)<br \/>\nhash&lt;&#8222;#520&#8220;&gt; = char(226) char(152) char(169)<br \/>\nhash&lt;&#8222;#523&#8220;&gt; = char(226) char(184) char(147)<br \/>\nhash&lt;&#8222;#524&#8220;&gt; = char(226) char(138) char(151)<br \/>\nhash&lt;&#8222;#525&#8220;&gt; = char(226) char(156) char(155)<br \/>\nhash&lt;&#8222;#526&#8220;&gt; = char(226) char(134) char(144)<br \/>\nhash&lt;&#8222;#527&#8220;&gt; = char(203) char(134)<br \/>\nhash&lt;&#8222;#528&#8220;&gt; = char(206) char(187) char(204) char(173)<br \/>\nhash&lt;&#8222;#529&#8220;&gt; = char(226) char(129) char(139)<br \/>\nhash&lt;&#8222;#531&#8220;&gt; = char(205) char(156)<br \/>\nhash&lt;&#8222;#532&#8220;&gt; = char(226) char(184) char(146)<br \/>\nhash&lt;&#8222;#533&#8220;&gt; = char(207) char(154)<br \/>\nhash&lt;&#8222;#534&#8220;&gt; = char(204) char(130)<br \/>\nhash&lt;&#8222;#542&#8220;&gt; = char(206) char(161) char(204) char(182)<br \/>\nhash&lt;&#8222;#544&#8220;&gt; = char(226) char(129) char(152)<br \/>\nhash&lt;&#8222;#548&#8220;&gt; = char(226) char(128) char(150) char(204) char(180)<br \/>\nhash&lt;&#8222;#550&#8220;&gt; = &#8222;::&#8220;<br \/>\nhash&lt;&#8222;#551&#8220;&gt; = char(226) char(151) char(140)<br \/>\nhash&lt;&#8222;#556&#8220;&gt; = char(226) char(152) char(169)<br \/>\nhash&lt;&#8222;#561&#8220;&gt; = char(226) char(134) char(145)<br \/>\nhash&lt;&#8222;#562&#8220;&gt; = char(204) char(133)<br \/>\nhash&lt;&#8222;#570&#8220;&gt; = char(207) char(188)<br \/>\nhash&lt;&#8222;#574&#8220;&gt; = char(206) char(147)<br \/>\nhash&lt;&#8222;#577&#8220;&gt; = char(206) char(166)<br \/>\nhash&lt;&#8222;#578&#8220;&gt; = char(206) char(161)<br \/>\nhash&lt;&#8222;#579&#8220;&gt; = char(206) char(156)<br \/>\nhash&lt;&#8222;#580&#8220;&gt; = char(206) char(153)<br \/>\nhash&lt;&#8222;#581&#8220;&gt; = char(206) char(152)<br \/>\nhash&lt;&#8222;#583&#8220;&gt; = char(206) char(157)<br \/>\nhash&lt;&#8222;#584&#8220;&gt; = char(226) char(132) char(167)<br \/>\nhash&lt;&#8222;#585&#8220;&gt; = char(206) char(150)<br \/>\nhash&lt;&#8222;#587&#8220;&gt; = char(206) char(149)<br \/>\nhash&lt;&#8222;#593&#8220;&gt; = char(206) char(155)<br \/>\nhash&lt;&#8222;#598&#8220;&gt; = char(206) char(148)<br \/>\nhash&lt;&#8222;#603&#8220;&gt; = char(206) char(160)<br \/>\nhash&lt;&#8222;#617&#8220;&gt; = char(206) char(169)<br \/>\nhash&lt;&#8222;#619&#8220;&gt; = char(206) char(187)<br \/>\nhash&lt;&#8222;#623&#8220;&gt; = char(226) char(132) char(167)<br \/>\nhash&lt;&#8222;#624&#8220;&gt; = char(207) char(189)<br \/>\nhash&lt;&#8222;#628&#8220;&gt; = char(206) char(159)<br \/>\nhash&lt;&#8222;#629&#8220;&gt; = char(206) char(158)<br \/>\nhash&lt;&#8222;#630&#8220;&gt; = char(206) char(148)<br \/>\n*<br \/>\nhash&lt;&#8222;#631&#8220;&gt; = char(206) char(154)<br \/>\nhash&lt;&#8222;#641&#8220;&gt; = char(206) char(169)<br \/>\nhash&lt;&#8222;#642&#8220;&gt; = char(206) char(151)<br \/>\nhash&lt;&#8222;#651&#8220;&gt; = char(206) char(167)<br \/>\nhash&lt;&#8222;#652&#8220;&gt; = char(206) char(164)<br \/>\nhash&lt;&#8222;#660&#8220;&gt; = char(206) char(145)<br \/>\nhash&lt;&#8222;#661&#8220;&gt; = char(206) char(146)<br \/>\nhash&lt;&#8222;#662&#8220;&gt; = char(206) char(165)<br \/>\nhash&lt;&#8222;#663&#8220;&gt; = char(206) char(168)<br \/>\nhash&lt;&#8222;#677&#8220;&gt; = char(206) char(188)<br \/>\nhash&lt;&#8222;#683&#8220;&gt; = char(226) char(156) char(179)<br \/>\nhash&lt;&#8222;#688&#8220;&gt; = char(206) char(188) char(204) char(138)<br \/>\nhash&lt;&#8222;#689&#8220;&gt; = char(226) char(151) char(161)<br \/>\nhash&lt;&#8222;#690&#8220;&gt; = char(226) char(159) char(152)<br \/>\nhash&lt;&#8222;#691&#8220;&gt; = char(226) char(159) char(128)<br \/>\nhash&lt;&#8222;#692&#8220;&gt; = char(226) char(159) char(129)<br \/>\nhash&lt;&#8222;#694&#8220;&gt; = char(206) char(150)<br \/>\nhash&lt;&#8222;#695&#8220;&gt; = char(226) char(128) char(148)<br \/>\nhash&lt;&#8222;#700&#8220;&gt; = char(226) char(129) char(158)<br \/>\nhash&lt;&#8222;#703&#8220;&gt; = char(226) char(151) char(139) char(226) char(151)<br \/>\n+ char(139) char(226) char(151) char(139)<br \/>\nhash&lt;&#8222;#704&#8220;&gt; = char(226) char(128) char(148) char(204) char(135)<br \/>\nhash&lt;&#8222;#709&#8220;&gt; = char(226) char(136) char(187)<br \/>\nhash&lt;&#8222;#710&#8220;&gt; = char(206) char(154) char(204) char(182)<br \/>\nhash&lt;&#8222;#711&#8220;&gt; = char(207) char(187)<br \/>\nhash&lt;&#8222;#717&#8220;&gt; = char(226) char(184) char(128)<br \/>\nhash&lt;&#8222;#718&#8220;&gt; = char(226) char(184) char(129)<br \/>\nhash&lt;&#8222;#719&#8220;&gt; = char(226) char(184) char(134)<br \/>\nhash&lt;&#8222;#720&#8220;&gt; = char(226) char(184) char(135)<br \/>\nhash&lt;&#8222;#722&#8220;&gt; = char(226) char(132) char(181)<br \/>\nhash&lt;&#8222;#724&#8220;&gt; = char(226) char(132) char(140)<br \/>\nhash&lt;&#8222;#730&#8220;&gt; = char(226) char(128) char(148)<br \/>\nhash&lt;&#8222;#731&#8220;&gt; = char(226) char(143) char(151)<br \/>\nhash&lt;&#8222;#732&#8220;&gt; = char(226) char(143) char(152)<br \/>\nhash&lt;&#8222;#733&#8220;&gt; = char(226) char(143) char(153)<br \/>\nhash&lt;&#8222;#751&#8220;&gt; = char(217) char(161)<br \/>\nhash&lt;&#8222;#752&#8220;&gt; = char(217) char(162)<br \/>\nhash&lt;&#8222;#753&#8220;&gt; = char(217) char(163)<br \/>\nhash&lt;&#8222;#754&#8220;&gt; = char(217) char(164)<br \/>\nhash&lt;&#8222;#755&#8220;&gt; = char(217) char(165)<br \/>\nhash&lt;&#8222;#756&#8220;&gt; = char(217) char(166)<br \/>\nhash&lt;&#8222;#757&#8220;&gt; = char(217) char(167)<br \/>\nhash&lt;&#8222;#758&#8220;&gt; = char(217) char(168)<br \/>\nhash&lt;&#8222;#759&#8220;&gt; = char(217) char(169)<br \/>\nhash&lt;&#8222;#760&#8220;&gt; = char(217) char(160)<br \/>\nhash&lt;&#8222;#762&#8220;&gt; = char(203) char(153)<br \/>\nhash&lt;&#8222;#800&#8220;&gt; = char(226) char(156) char(179)<br \/>\n*<br \/>\nhash&lt;&#8222;#801&#8220;&gt; = &#8222;1\/2 obol. &#8220;<br \/>\nhash&lt;&#8222;#802&#8220;&gt; = &#8222;1\/4 obol. &#8220;<br \/>\nhash&lt;&#8222;#803&#8220;&gt; = char(206) char(167)<br \/>\nhash&lt;&#8222;#804&#8220;&gt; = &#8222;\/&#8220;<br \/>\nhash&lt;&#8222;#805&#8220;&gt; = char(206) char(164)<br \/>\nhash&lt;&#8222;#806&#8220;&gt; = char(206) char(154)<br \/>\nhash&lt;&#8222;#807&#8220;&gt; = &#8222;5 obols &#8220;<br \/>\nhash&lt;&#8222;#808&#8220;&gt; = &#8222;5\/4 obol &#8220;<br \/>\nhash&lt;&#8222;#811&#8220;&gt; = char(206) char(164)<br \/>\nhash&lt;&#8222;#812&#8220;&gt; = &#8222;5 talents &#8220;<br \/>\nhash&lt;&#8222;#813&#8220;&gt; = &#8222;10 talents &#8220;<br \/>\nhash&lt;&#8222;#814&#8220;&gt; = &#8222;50 talents &#8220;<br \/>\nhash&lt;&#8222;#815&#8220;&gt; = &#8222;100 talents &#8220;<br \/>\nhash&lt;&#8222;#816&#8220;&gt; = &#8222;500 talents &#8220;<br \/>\nhash&lt;&#8222;#817&#8220;&gt; = &#8222;1,000 talents &#8220;<br \/>\nhash&lt;&#8222;#818&#8220;&gt; = &#8222;5,000 talents &#8220;<br \/>\nhash&lt;&#8222;#819&#8220;&gt; = &#8222;10,000 talents &#8220;<br \/>\nhash&lt;&#8222;#821&#8220;&gt; = char(206) char(163)<br \/>\nhash&lt;&#8222;#822&#8220;&gt; = &#8222;5 staters &#8220;<br \/>\nhash&lt;&#8222;#823&#8220;&gt; = &#8222;10 staters &#8220;<br \/>\nhash&lt;&#8222;#824&#8220;&gt; = &#8222;50 staters &#8220;<br \/>\nhash&lt;&#8222;#825&#8220;&gt; = &#8222;100 staters &#8220;<br \/>\nhash&lt;&#8222;#826&#8220;&gt; = &#8222;500 staters &#8220;<br \/>\nhash&lt;&#8222;#827&#8220;&gt; = &#8222;1,000 staters &#8220;<br \/>\nhash&lt;&#8222;#828&#8220;&gt; = &#8222;5,000 staters &#8220;<br \/>\nhash&lt;&#8222;#829&#8220;&gt; = &#8222;10,000 staters &#8220;<br \/>\nhash&lt;&#8222;#830&#8220;&gt; = &#8222;50,000 drachmas &#8220;<br \/>\nhash&lt;&#8222;#831&#8220;&gt; = &#8222;50,000 talents &#8220;<br \/>\nhash&lt;&#8222;#832&#8220;&gt; = &#8222;50,000 staters &#8220;<br \/>\nhash&lt;&#8222;#833&#8220;&gt; = char(206) char(156)<br \/>\nhash&lt;&#8222;#834&#8220;&gt; = &#8222;10 minae &#8220;<br \/>\nhash&lt;&#8222;#835&#8220;&gt; = char(206) char(167)<br \/>\nhash&lt;&#8222;#836&#8220;&gt; = char(206) char(163)<br \/>\nhash&lt;&#8222;#837&#8220;&gt; = char(206) char(164)<br \/>\nhash&lt;&#8222;#838&#8220;&gt; = &#8222;5 chalkeioi &#8220;<br \/>\nhash&lt;&#8222;#839&#8220;&gt; = &#8222;6 chalkeioi &#8220;<br \/>\nhash&lt;&#8222;#840&#8220;&gt; = &#8222;||&#8220;<br \/>\nhash&lt;&#8222;#841&#8220;&gt; = &#8222;|||&#8220;<br \/>\nhash&lt;&#8222;#842&#8220;&gt; = char(194) char(183)<br \/>\nhash&lt;&#8222;#843&#8220;&gt; = &#8222;2 drachmas &#8220;<br \/>\nhash&lt;&#8222;#844&#8220;&gt; = char(226) char(129) char(157)<br \/>\nhash&lt;&#8222;#845&#8220;&gt; = &#8222;5 drachmas &#8220;<br \/>\nhash&lt;&#8222;#846&#8220;&gt; = &#8222;10 drachmas &#8220;<br \/>\nhash&lt;&#8222;#847&#8220;&gt; = &#8222;20 drachmas &#8220;<br \/>\nhash&lt;&#8222;#848&#8220;&gt; = &#8222;30 drachmas &#8220;<br \/>\nhash&lt;&#8222;#850&#8220;&gt; = &#8222;100,000 drachmas &#8220;<br \/>\nhash&lt;&#8222;#853&#8220;&gt; = char(206) char(153)<br \/>\nhash&lt;&#8222;#862&#8220;&gt; = char(206) char(148)<br \/>\nhash&lt;&#8222;#863&#8220;&gt; = &#8222;50 &#8220;<br \/>\nhash&lt;&#8222;#865&#8220;&gt; = &#8222;500 &#8220;<br \/>\nhash&lt;&#8222;#866&#8220;&gt; = char(206) char(167)<br \/>\nhash&lt;&#8222;#867&#8220;&gt; = &#8222;5,000 &#8220;<br \/>\nhash&lt;&#8222;#900&#8220;&gt; = char(226) char(153) char(164)<br \/>\nhash&lt;&#8222;#901&#8220;&gt; = char(226) char(156) char(135)<br \/>\nhash&lt;&#8222;#927&#8220;&gt; = &#8222;W&#8220;<br \/>\nhash&lt;&#8222;#932&#8220;&gt; = char(226) char(156) char(179)<br \/>\nhash&lt;&#8222;#938&#8220;&gt; = char(198) char(167)<br \/>\nhash&lt;&#8222;#939&#8220;&gt; = &#8222;~&#8220;<br \/>\nhash&lt;&#8222;#1000&#8220;&gt; = &#8222;1 obol &#8220;<br \/>\nhash&lt;&#8222;#1001&#8220;&gt; = &#8222;2 obols &#8220;<br \/>\nhash&lt;&#8222;#1002&#8220;&gt; = &#8222;3 obols &#8220;<br \/>\nhash&lt;&#8222;#1003&#8220;&gt; = &#8222;4 obols &#8220;<br \/>\nhash&lt;&#8222;#1004&#8220;&gt; = &#8222;5 obols &#8220;<br \/>\nhash&lt;&#8222;#1005&#8220;&gt; = char(206) char(167)<br \/>\nhash&lt;&#8222;#1006&#8220;&gt; = &#8222;1 chalkus &#8220;<br \/>\nhash&lt;&#8222;#1007&#8220;&gt; = &#8222;2 chalkoi &#8220;<br \/>\nhash&lt;&#8222;#1008&#8220;&gt; = &#8222;3 chalkoi &#8220;<br \/>\nhash&lt;&#8222;#1009&#8220;&gt; = &#8222;4 chalkoi &#8220;<br \/>\nhash&lt;&#8222;#1010&#8220;&gt; = &#8222;5 chalkoi &#8220;<br \/>\nhash&lt;&#8222;#1011&#8220;&gt; = &#8222;6 chalkoi &#8220;<br \/>\nhash&lt;&#8222;#1012&#8220;&gt; = &#8222;7 chalkoi &#8220;<br \/>\nhash&lt;&#8222;#1013&#8220;&gt; = &#8222;1\/2 chalkus &#8220;<br \/>\nhash&lt;&#8222;#1020&#8220;&gt; = &#8222;&lt;&#8220;<br \/>\nhash&lt;&#8222;#1021&#8220;&gt; = char(206) char(148) char(205) char(180)<br \/>\nhash&lt;&#8222;#1022&#8220;&gt; = char(206) char(151) char(205) char(180)<br \/>\nhash&lt;&#8222;#1023&#8220;&gt; = char(206) char(153) char(205) char(180)<br \/>\nhash&lt;&#8222;#1024&#8220;&gt; = char(206) char(155) char(206) char(146)<br \/>\nhash&lt;&#8222;#1100&#8220;&gt; = char(226) char(134) char(131)<br \/>\nhash&lt;&#8222;#1103&#8220;&gt; = char(204) char(163) char(204) char(147)<br \/>\nhash&lt;&#8222;#1105&#8220;&gt; = char(77) char(204) char(138)<br \/>\nhash&lt;&#8222;#1107&#8220;&gt; = char(83) char(204) char(181) char(83) char(204) char(182)<br \/>\nhash&lt;&#8222;#1108&#8220;&gt; = char(88) char(204) char(182)<br \/>\nhash&lt;&#8222;#1109&#8220;&gt; = &#8222;=&#8220;<br \/>\nhash&lt;&#8222;#1110&#8220;&gt; = &#8222;-&#8220;<br \/>\nhash&lt;&#8222;#1111&#8220;&gt; = char(194) char(176)<br \/>\nhash&lt;&#8222;#1115&#8220;&gt; = &#8222;|&#8220;<br \/>\nhash&lt;&#8222;#1116&#8220;&gt; = char(198) char(167)<br \/>\nhash&lt;&#8222;#1117&#8220;&gt; = &#8222;Z&#8220;<br \/>\nhash&lt;&#8222;#1119&#8220;&gt; = char(196) char(144)<br \/>\nhash&lt;&#8222;#1121&#8220;&gt; = &#8222;Z&#8220;<br \/>\nhash&lt;&#8222;#1124&#8220;&gt; = char(226) char(132) char(158)<br \/>\nhash&lt;&#8222;#1126&#8220;&gt; = &#8222;O&#8220;<br \/>\nhash&lt;&#8222;#1127&#8220;&gt; = char(118) char(204) char(184)<br \/>\nhash&lt;&#8222;#1128&#8220;&gt; = char(73) char(204) char(182) char(73) char(204)<br \/>\n+ char(182) char(73) char(204) char(182)<br \/>\nhash&lt;&#8222;#1129&#8220;&gt; = char(90) char(204) char(182)<br \/>\nhash&lt;&#8222;#1130&#8220;&gt; = &#8222;&#8220;<br \/>\nhash&lt;&#8222;#1131&#8220;&gt; = &#8222;\\&#8220;<br \/>\nhash&lt;&#8222;#1132&#8220;&gt; = char(92) char(204) char(182)<br \/>\nhash&lt;&#8222;#1133&#8220;&gt; = char(92) char(204) char(182) char(92) char(204) char(182)<br \/>\nhash&lt;&#8222;#1135&#8220;&gt; = &#8222;9&#8220;<br \/>\nhash&lt;&#8222;#1136&#8220;&gt; = char(226) char(132) char(146)<br \/>\nhash&lt;&#8222;#1200&#8220;&gt; = char(194) char(162)<br \/>\nhash&lt;&#8222;#1201&#8220;&gt; = char(226) char(128) char(161)<br \/>\nhash&lt;&#8222;#1202&#8220;&gt; = char(226) char(130) char(164)<br \/>\nhash&lt;&#8222;#1203&#8220;&gt; = char(195) char(159)<br \/>\nhash&lt;&#8222;#1204&#8220;&gt; = char(194) char(176)<br \/>\nhash&lt;&#8222;#1209&#8220;&gt; = char(196) char(167)<br \/>\nhash&lt;&#8222;#1212&#8220;&gt; = char(68) char(204) char(182)<br \/>\nhash&lt;&#8222;#1213&#8220;&gt; = char(197) char(146)<br \/>\nhash&lt;&#8222;#1214&#8220;&gt; = char(197) char(147)<br \/>\nhash&lt;&#8222;#1215&#8220;&gt; = char(195) char(134)<br \/>\nhash&lt;&#8222;#1216&#8220;&gt; = char(195) char(166)<br \/>\nhash&lt;&#8222;#1219&#8220;&gt; = &#8222;$&#8220;<br \/>\nhash&lt;&#8222;#1220&#8220;&gt; = &#8222;@&#8220;<br \/>\nhash&lt;&#8222;#1221&#8220;&gt; = char(196) char(177)<br \/>\nhash&lt;&#8222;#1222&#8220;&gt; = char(196) char(176)<br \/>\nhash&lt;&#8222;#1223&#8220;&gt; = char(105) char(204) char(182)<br \/>\nhash&lt;&#8222;#1224&#8220;&gt; = char(226) char(138) char(149)<br \/>\nhash&lt;&#8222;#1225&#8220;&gt; = char(194) char(169)<br \/>\nhash&lt;&#8222;#1226&#8220;&gt; = char(226) char(156) char(177)<br \/>\nhash&lt;&#8222;#1227&#8220;&gt; = char(226) char(128) char(161)<br \/>\nhash&lt;&#8222;#1230&#8220;&gt; = char(226) char(150) char(173)<br \/>\nhash&lt;&#8222;#1312&#8220;&gt; = char(77) char(226) char(128) char(153)<br \/>\nhash&lt;&#8222;#1313&#8220;&gt; = char(226) char(136) char(189)<br \/>\nhash&lt;&#8222;#1314&#8220;&gt; = char(119) char(204) char(138)<br \/>\nhash&lt;&#8222;#1316&#8220;&gt; = char(202) char(146)<br \/>\nhash&lt;&#8222;#1317&#8220;&gt; = char(203) char(153) char(47) char(47) char(46)<br \/>\nhash&lt;&#8222;#1318&#8220;&gt; = char(226) char(136) char(187)<br \/>\nhash&lt;&#8222;#1320&#8220;&gt; = char(205) char(181) char(204) char(145)<br \/>\nhash&lt;&#8222;#1322&#8220;&gt; = char(226) char(153) char(132)<br \/>\nhash&lt;&#8222;#1323&#8220;&gt; = char(206) char(182) char(204) char(183)<br \/>\n+ char(207) char(130) char(204) char(128)<br \/>\nhash&lt;&#8222;#1324&#8220;&gt; = char(206) char(184) char(207) char(130) char(204) char(130)<br \/>\nhash&lt;&#8222;#1335&#8220;&gt; = &#8222;\/\/&#8220;<br \/>\nhash&lt;&#8222;#1337&#8220;&gt; = &#8222;&gt;&#8220;<br \/>\nhash&lt;&#8222;#1500&#8220;&gt; = char(206) char(179) char(204) char(138)<br \/>\nhash&lt;&#8222;#1502&#8220;&gt; = char(206) char(167) char(205) char(180)<br \/>\nhash&lt;&#8222;#1506&#8220;&gt; = char(204) char(128) char(204) char(140)<br \/>\nhash&lt;&#8222;#1512&#8220;&gt; = &#8222;&lt;&#8220;<br \/>\nhash&lt;&#8222;#1513&#8220;&gt; = char(226) char(151) char(161)<br \/>\nhash&lt;&#8222;#1514&#8220;&gt; = char(195) char(183)<br \/>\nhash&lt;&#8222;#1521&#8220;&gt; = char(200) char(162)<br \/>\nhash&lt;&#8222;#1523&#8220;&gt; = char(226) char(129) char(155)<br \/>\n*<br \/>\n*<br \/>\n* Special tables for UNICODE diacritic letters (combining):<br \/>\n*<br \/>\n*<br \/>\ngreek_diacritics = table()<br \/>\ngreek_diacritics&lt;&#8222;?&#8220;&gt; = char(204) char(163)<br \/>\n*<br \/>\n* Letter-accent tables<br \/>\n*<br \/>\n*<br \/>\ngreek_upper_tab = table(200)<br \/>\ngreek_lower_tab = table(200)<br \/>\n*<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* *<br \/>\n* Uppercase Greek table: *<br \/>\n* semi-automatically generated &#8211; do not touch! *<br \/>\n* *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n*<br \/>\n*<br \/>\n* &#8222;\u00ce\u2018&#8220; &#8211; 206:145 = CE 91<br \/>\ngreek_upper_tab&lt;&#8222;A&#8220;&gt; = char(206) char(145)<br \/>\n* &#8222;\u00ce\u2019&#8220; &#8211; 206:146 = CE 92<br \/>\ngreek_upper_tab&lt;&#8222;B&#8220;&gt; = char(206) char(146)<br \/>\n* &#8222;\u00ce\u201c&#8220; &#8211; 206:147 = CE 93<br \/>\ngreek_upper_tab&lt;&#8222;G&#8220;&gt; = char(206) char(147)<br \/>\n* &#8222;\u00ce\u201d&#8220; &#8211; 206:148 = CE 94<br \/>\ngreek_upper_tab&lt;&#8222;D&#8220;&gt; = char(206) char(148)<br \/>\n* &#8222;\u00ce\u2022&#8220; &#8211; 206:149 = CE 95<br \/>\ngreek_upper_tab&lt;&#8222;E&#8220;&gt; = char(206) char(149)<br \/>\n* &#8222;\u00ce\u2013&#8220; &#8211; 206:150 = CE 96<br \/>\ngreek_upper_tab&lt;&#8222;Z&#8220;&gt; = char(206) char(150)<br \/>\n* &#8222;\u00ce\u2014&#8220; &#8211; 206:151 = CE 97<br \/>\ngreek_upper_tab&lt;&#8222;H&#8220;&gt; = char(206) char(151)<br \/>\n* &#8222;\u00ce\u02dc&#8220; &#8211; 206:152 = CE 98<br \/>\ngreek_upper_tab&lt;&#8222;Q&#8220;&gt; = char(206) char(152)<br \/>\n* &#8222;\u00ce\u2122&#8220; &#8211; 206:153 = CE 99<br \/>\ngreek_upper_tab&lt;&#8222;I&#8220;&gt; = char(206) char(153)<br \/>\n* Attic aspiration<br \/>\ngreek_upper_tab&lt;&#8222;J&#8220;&gt; = &#8222;H&#8220;<br \/>\n* &#8222;\u00ce\u0161&#8220; &#8211; 206:154 = CE 9A<br \/>\ngreek_upper_tab&lt;&#8222;K&#8220;&gt; = char(206) char(154)<br \/>\n* &#8222;\u00ce\u203a&#8220; &#8211; 206:155 = CE 9B<br \/>\ngreek_upper_tab&lt;&#8222;L&#8220;&gt; = char(206) char(155)<br \/>\n* &#8222;\u00ce\u0153&#8220; &#8211; 206:156 = CE 9C<br \/>\ngreek_upper_tab&lt;&#8222;M&#8220;&gt; = char(206) char(156)<br \/>\n* &#8222;\u00ce\u009d&#8220; &#8211; 206:157 = CE 9D<br \/>\ngreek_upper_tab&lt;&#8222;N&#8220;&gt; = char(206) char(157)<br \/>\n* &#8222;\u00ce\u017e&#8220; &#8211; 206:158 = CE 9E<br \/>\ngreek_upper_tab&lt;&#8222;C&#8220;&gt; = char(206) char(158)<br \/>\n* &#8222;\u00ce\u0178&#8220; &#8211; 206:159 = CE 9F<br \/>\ngreek_upper_tab&lt;&#8222;O&#8220;&gt; = char(206) char(159)<br \/>\n* &#8222;\u00ce\u00a0&#8220; &#8211; 206:160 = CE A0<br \/>\ngreek_upper_tab&lt;&#8222;P&#8220;&gt; = char(206) char(160)<br \/>\n* &#8222;\u00ce\u00a1&#8220; &#8211; 206:161 = CE A1<br \/>\ngreek_upper_tab&lt;&#8222;R&#8220;&gt; = char(206) char(161)<br \/>\n* &#8222;\u00ce\u00a3&#8220; &#8211; 206:163 = CE A3<br \/>\ngreek_upper_tab&lt;&#8222;S&#8220;&gt; = char(206) char(163)<br \/>\n* &#8222;\u00ce\u00a4&#8220; &#8211; 206:164 = CE A4<br \/>\ngreek_upper_tab&lt;&#8222;T&#8220;&gt; = char(206) char(164)<br \/>\n* &#8222;\u00ce\u00a5&#8220; &#8211; 206:165 = CE A5<br \/>\ngreek_upper_tab&lt;&#8222;U&#8220;&gt; = char(206) char(165)<br \/>\n* &#8222;\u00ce\u00a6&#8220; &#8211; 206:166 = CE A6<br \/>\ngreek_upper_tab&lt;&#8222;F&#8220;&gt; = char(206) char(166)<br \/>\n* &#8222;\u00ce\u00a7&#8220; &#8211; 206:167 = CE A7<br \/>\ngreek_upper_tab&lt;&#8222;X&#8220;&gt; = char(206) char(167)<br \/>\n* &#8222;\u00ce\u00a8&#8220; &#8211; 206:168 = CE A8<br \/>\ngreek_upper_tab&lt;&#8222;Y&#8220;&gt; = char(206) char(168)<br \/>\n* &#8222;\u00ce\u00a9&#8220; &#8211; 206:169 = CE A9<br \/>\ngreek_upper_tab&lt;&#8222;W&#8220;&gt; = char(206) char(169)<br \/>\n* \u00e1\u00bc\u02c6 &#8211; 225:188:136 = E1 BC 88<br \/>\ngreek_upper_tab&lt;&#8222;)A&#8220;&gt; = char(225) char(188) char(136)<br \/>\n* \u00e1\u00bc\u2030 &#8211; 225:188:137 = E1 BC 89<br \/>\ngreek_upper_tab&lt;&#8222;(A&#8220;&gt; = char(225) char(188) char(137)<br \/>\n* \u00e1\u00bc\u0160 &#8211; 225:188:138 = E1 BC 8A<br \/>\ngreek_upper_tab&lt;&#8222;)A&#8220;&gt; = char(225) char(188) char(138)<br \/>\n* \u00e1\u00bc\u2039 &#8211; 225:188:139 = E1 BC 8B<br \/>\ngreek_upper_tab&lt;&#8222;(A&#8220;&gt; = char(225) char(188) char(139)<br \/>\n* \u00e1\u00bc\u0152 &#8211; 225:188:140 = E1 BC 8C<br \/>\ngreek_upper_tab&lt;&#8222;)\/A&#8220;&gt; = char(225) char(188) char(140)<br \/>\n* \u00e1\u00bc\u008d &#8211; 225:188:141 = E1 BC 8D<br \/>\ngreek_upper_tab&lt;&#8222;(\/A&#8220;&gt; = char(225) char(188) char(141)<br \/>\n* \u00e1\u00bc\u017d &#8211; 225:188:142 = E1 BC 8E<br \/>\ngreek_upper_tab&lt;&#8222;)=A&#8220;&gt; = char(225) char(188) char(142)<br \/>\n* \u00e1\u00bc\u008f &#8211; 225:188:143 = E1 BC 8F<br \/>\ngreek_upper_tab&lt;&#8222;(=A&#8220;&gt; = char(225) char(188) char(143)<br \/>\n* \u00e1\u00bc\u02dc &#8211; 225:188:152 = E1 BC 98<br \/>\ngreek_upper_tab&lt;&#8222;)E&#8220;&gt; = char(225) char(188) char(152)<br \/>\n* \u00e1\u00bc\u2122 &#8211; 225:188:153 = E1 BC 99<br \/>\ngreek_upper_tab&lt;&#8222;(E&#8220;&gt; = char(225) char(188) char(153)<br \/>\n* \u00e1\u00bc\u0161 &#8211; 225:188:154 = E1 BC 9A<br \/>\ngreek_upper_tab&lt;&#8222;)E&#8220;&gt; = char(225) char(188) char(154)<br \/>\n* \u00e1\u00bc\u203a &#8211; 225:188:155 = E1 BC 9B<br \/>\ngreek_upper_tab&lt;&#8222;(E&#8220;&gt; = char(225) char(188) char(155)<br \/>\n* \u00e1\u00bc\u0153 &#8211; 225:188:156 = E1 BC 9C<br \/>\ngreek_upper_tab&lt;&#8222;)\/E&#8220;&gt; = char(225) char(188) char(156)<br \/>\n* \u00e1\u00bc\u009d &#8211; 225:188:157 = E1 BC 9D<br \/>\ngreek_upper_tab&lt;&#8222;(\/E&#8220;&gt; = char(225) char(188) char(157)<br \/>\n* \u00e1\u00bc\u00a8 &#8211; 225:188:168 = E1 BC A8<br \/>\ngreek_upper_tab&lt;&#8222;)H&#8220;&gt; = char(225) char(188) char(168)<br \/>\n* \u00e1\u00bc\u00a9 &#8211; 225:188:169 = E1 BC A9<br \/>\ngreek_upper_tab&lt;&#8222;(H&#8220;&gt; = char(225) char(188) char(169)<br \/>\n* \u00e1\u00bc\u00aa &#8211; 225:188:170 = E1 BC AA<br \/>\ngreek_upper_tab&lt;&#8222;)H&#8220;&gt; = char(225) char(188) char(170)<br \/>\n* \u00e1\u00bc\u00ab &#8211; 225:188:171 = E1 BC AB<br \/>\ngreek_upper_tab&lt;&#8222;(H&#8220;&gt; = char(225) char(188) char(171)<br \/>\n* \u00e1\u00bc\u00ac &#8211; 225:188:172 = E1 BC AC<br \/>\ngreek_upper_tab&lt;&#8222;)\/H&#8220;&gt; = char(225) char(188) char(172)<br \/>\n* \u00e1\u00bc\u00ad &#8211; 225:188:173 = E1 BC AD<br \/>\ngreek_upper_tab&lt;&#8222;(\/H&#8220;&gt; = char(225) char(188) char(173)<br \/>\n* \u00e1\u00bc\u00ae &#8211; 225:188:174 = E1 BC AE<br \/>\ngreek_upper_tab&lt;&#8222;)=H&#8220;&gt; = char(225) char(188) char(174)<br \/>\n* \u00e1\u00bc\u00af &#8211; 225:188:175 = E1 BC AF<br \/>\ngreek_upper_tab&lt;&#8222;(=H&#8220;&gt; = char(225) char(188) char(175)<br \/>\n* \u00e1\u00bc\u00b8 &#8211; 225:188:184 = E1 BC B8<br \/>\ngreek_upper_tab&lt;&#8222;)I&#8220;&gt; = char(225) char(188) char(184)<br \/>\n* \u00e1\u00bc\u00b9 &#8211; 225:188:185 = E1 BC B9<br \/>\ngreek_upper_tab&lt;&#8222;(I&#8220;&gt; = char(225) char(188) char(185)<br \/>\n* \u00e1\u00bc\u00ba &#8211; 225:188:186 = E1 BC BA<br \/>\ngreek_upper_tab&lt;&#8222;)I&#8220;&gt; = char(225) char(188) char(186)<br \/>\n* \u00e1\u00bc\u00bb &#8211; 225:188:187 = E1 BC BB<br \/>\ngreek_upper_tab&lt;&#8222;(I&#8220;&gt; = char(225) char(188) char(187)<br \/>\n* \u00e1\u00bc\u00bc &#8211; 225:188:188 = E1 BC BC<br \/>\ngreek_upper_tab&lt;&#8222;)\/I&#8220;&gt; = char(225) char(188) char(188)<br \/>\n* \u00e1\u00bc\u00bd &#8211; 225:188:189 = E1 BC BD<br \/>\ngreek_upper_tab&lt;&#8222;(\/I&#8220;&gt; = char(225) char(188) char(189)<br \/>\n* \u00e1\u00bc\u00be &#8211; 225:188:190 = E1 BC BE<br \/>\ngreek_upper_tab&lt;&#8222;)=I&#8220;&gt; = char(225) char(188) char(190)<br \/>\n* \u00e1\u00bc\u00bf &#8211; 225:188:191 = E1 BC BF<br \/>\ngreek_upper_tab&lt;&#8222;(=I&#8220;&gt; = char(225) char(188) char(191)<br \/>\n* \u00e1\u00bd\u02c6 &#8211; 225:189:136 = E1 BD 88<br \/>\ngreek_upper_tab&lt;&#8222;)O&#8220;&gt; = char(225) char(189) char(136)<br \/>\n* \u00e1\u00bd\u2030 &#8211; 225:189:137 = E1 BD 89<br \/>\ngreek_upper_tab&lt;&#8222;(O&#8220;&gt; = char(225) char(189) char(137)<br \/>\n* \u00e1\u00bd\u0160 &#8211; 225:189:138 = E1 BD 8A<br \/>\ngreek_upper_tab&lt;&#8222;)O&#8220;&gt; = char(225) char(189) char(138)<br \/>\n* \u00e1\u00bd\u2039 &#8211; 225:189:139 = E1 BD 8B<br \/>\ngreek_upper_tab&lt;&#8222;(O&#8220;&gt; = char(225) char(189) char(139)<br \/>\n* \u00e1\u00bd\u0152 &#8211; 225:189:140 = E1 BD 8C<br \/>\ngreek_upper_tab&lt;&#8222;)\/O&#8220;&gt; = char(225) char(189) char(140)<br \/>\n* \u00e1\u00bd\u008d &#8211; 225:189:141 = E1 BD 8D<br \/>\ngreek_upper_tab&lt;&#8222;(\/O&#8220;&gt; = char(225) char(189) char(141)<br \/>\n* \u00e1\u00bd\u017d &#8211; 225:189:142 = E1 BD 8E<br \/>\ngreek_upper_tab&lt;&#8222;)=O&#8220;&gt; = char(225) char(189) char(142)<br \/>\n* \u00e1\u00bd\u008f &#8211; 225:189:143 = E1 BD 8F<br \/>\ngreek_upper_tab&lt;&#8222;(=O&#8220;&gt; = char(225) char(189) char(143)<br \/>\n* \u00e1\u00bd\u02dc &#8211; 225:189:152 = E1 BD 98<br \/>\n***<br \/>\n*** Diese Form wird von den meisten fonts noch nicht unterstuetzt:<br \/>\n***<br \/>\n*** greek_upper_tab&lt;&#8222;)U&#8220;&gt; = char(225) char(189) char(152)<br \/>\n***<br \/>\n*** Statt dessen verwenden wir ) plus normales Y:<br \/>\n***<br \/>\ngreek_upper_tab&lt;&#8222;)U&#8220;&gt; = char(225) char(190) char(191) char(206) char(165)<br \/>\n* \u00e1\u00bd\u2122 &#8211; 225:189:153 = E1 BD 99<br \/>\ngreek_upper_tab&lt;&#8222;(U&#8220;&gt; = char(225) char(189) char(153)<br \/>\n* \u00e1\u00bd\u0161 &#8211; 225:189:154 = E1 BD 9A<br \/>\ngreek_upper_tab&lt;&#8222;)U&#8220;&gt; = char(225) char(189) char(154)<br \/>\n* \u00e1\u00bd\u203a &#8211; 225:189:155 = E1 BD 9B<br \/>\ngreek_upper_tab&lt;&#8222;(U&#8220;&gt; = char(225) char(189) char(155)<br \/>\n* \u00e1\u00bd\u0153 &#8211; 225:189:156 = E1 BD 9C<br \/>\ngreek_upper_tab&lt;&#8222;)\/U&#8220;&gt; = char(225) char(189) char(156)<br \/>\n* \u00e1\u00bd\u009d &#8211; 225:189:157 = E1 BD 9D<br \/>\ngreek_upper_tab&lt;&#8222;(\/U&#8220;&gt; = char(225) char(189) char(157)<br \/>\n* \u00e1\u00bd\u017e &#8211; 225:189:158 = E1 BD 9E<br \/>\ngreek_upper_tab&lt;&#8222;)=U&#8220;&gt; = char(225) char(189) char(158)<br \/>\n* \u00e1\u00bd\u0178 &#8211; 225:189:159 = E1 BD 9F<br \/>\ngreek_upper_tab&lt;&#8222;(=U&#8220;&gt; = char(225) char(189) char(159)<br \/>\n* \u00e1\u00bd\u00a8 &#8211; 225:189:168 = E1 BD A8<br \/>\ngreek_upper_tab&lt;&#8222;)W&#8220;&gt; = char(225) char(189) char(168)<br \/>\n* \u00e1\u00bd\u00a9 &#8211; 225:189:169 = E1 BD A9<br \/>\ngreek_upper_tab&lt;&#8222;(W&#8220;&gt; = char(225) char(189) char(169)<br \/>\n* \u00e1\u00bd\u00aa &#8211; 225:189:170 = E1 BD AA<br \/>\ngreek_upper_tab&lt;&#8222;)W&#8220;&gt; = char(225) char(189) char(170)<br \/>\n* \u00e1\u00bd\u00ab &#8211; 225:189:171 = E1 BD AB<br \/>\ngreek_upper_tab&lt;&#8222;(W&#8220;&gt; = char(225) char(189) char(171)<br \/>\n* \u00e1\u00bd\u00ac &#8211; 225:189:172 = E1 BD AC<br \/>\ngreek_upper_tab&lt;&#8222;)\/W&#8220;&gt; = char(225) char(189) char(172)<br \/>\n* \u00e1\u00bd\u00ad &#8211; 225:189:173 = E1 BD AD<br \/>\ngreek_upper_tab&lt;&#8222;(\/W&#8220;&gt; = char(225) char(189) char(173)<br \/>\n* \u00e1\u00bd\u00ae &#8211; 225:189:174 = E1 BD AE<br \/>\ngreek_upper_tab&lt;&#8222;)=W&#8220;&gt; = char(225) char(189) char(174)<br \/>\n* \u00e1\u00bd\u00af &#8211; 225:189:175 = E1 BD AF<br \/>\ngreek_upper_tab&lt;&#8222;(=W&#8220;&gt; = char(225) char(189) char(175)<br \/>\n* \u00e1\u00be\u02c6 &#8211; 225:190:136 = E1 BE 88<br \/>\ngreek_upper_tab&lt;&#8222;)A|&#8220;&gt; = char(225) char(190) char(136)<br \/>\n* \u00e1\u00be\u2030 &#8211; 225:190:137 = E1 BE 89<br \/>\ngreek_upper_tab&lt;&#8222;(A|&#8220;&gt; = char(225) char(190) char(137)<br \/>\n* \u00e1\u00be\u0160 &#8211; 225:190:138 = E1 BE 8A<br \/>\ngreek_upper_tab&lt;&#8222;)A|&#8220;&gt; = char(225) char(190) char(138)<br \/>\n* \u00e1\u00be\u2039 &#8211; 225:190:139 = E1 BE 8B<br \/>\ngreek_upper_tab&lt;&#8222;(A|&#8220;&gt; = char(225) char(190) char(139)<br \/>\n* \u00e1\u00be\u0152 &#8211; 225:190:140 = E1 BE 8C<br \/>\ngreek_upper_tab&lt;&#8222;)\/A|&#8220;&gt; = char(225) char(190) char(140)<br \/>\n* \u00e1\u00be\u008d &#8211; 225:190:141 = E1 BE 8D<br \/>\ngreek_upper_tab&lt;&#8222;(\/A|&#8220;&gt; = char(225) char(190) char(141)<br \/>\n* \u00e1\u00be\u017d &#8211; 225:190:142 = E1 BE 8E<br \/>\ngreek_upper_tab&lt;&#8222;)=A|&#8220;&gt; = char(225) char(190) char(142)<br \/>\n* \u00e1\u00be\u008f &#8211; 225:190:143 = E1 BE 8F<br \/>\ngreek_upper_tab&lt;&#8222;(=A|&#8220;&gt; = char(225) char(190) char(143)<br \/>\n* \u00e1\u00be\u02dc &#8211; 225:190:152 = E1 BE 98<br \/>\ngreek_upper_tab&lt;&#8222;)H|&#8220;&gt; = char(225) char(190) char(152)<br \/>\n* \u00e1\u00be\u2122 &#8211; 225:190:153 = E1 BE 99<br \/>\ngreek_upper_tab&lt;&#8222;(H|&#8220;&gt; = char(225) char(190) char(153)<br \/>\n* \u00e1\u00be\u0161 &#8211; 225:190:154 = E1 BE 9A<br \/>\ngreek_upper_tab&lt;&#8222;)H|&#8220;&gt; = char(225) char(190) char(154)<br \/>\n* \u00e1\u00be\u203a &#8211; 225:190:155 = E1 BE 9B<br \/>\ngreek_upper_tab&lt;&#8222;(H|&#8220;&gt; = char(225) char(190) char(155)<br \/>\n* \u00e1\u00be\u0153 &#8211; 225:190:156 = E1 BE 9C<br \/>\ngreek_upper_tab&lt;&#8222;)\/H|&#8220;&gt; = char(225) char(190) char(156)<br \/>\n* \u00e1\u00be\u009d &#8211; 225:190:157 = E1 BE 9D<br \/>\ngreek_upper_tab&lt;&#8222;(\/H|&#8220;&gt; = char(225) char(190) char(157)<br \/>\n* \u00e1\u00be\u017e &#8211; 225:190:158 = E1 BE 9E<br \/>\ngreek_upper_tab&lt;&#8222;)=H|&#8220;&gt; = char(225) char(190) char(158)<br \/>\n* \u00e1\u00be\u0178 &#8211; 225:190:159 = E1 BE 9F<br \/>\ngreek_upper_tab&lt;&#8222;(=H|&#8220;&gt; = char(225) char(190) char(159)<br \/>\n* \u00e1\u00be\u00a8 &#8211; 225:190:168 = E1 BE A8<br \/>\ngreek_upper_tab&lt;&#8222;)W|&#8220;&gt; = char(225) char(190) char(168)<br \/>\n* \u00e1\u00be\u00a9 &#8211; 225:190:169 = E1 BE A9<br \/>\ngreek_upper_tab&lt;&#8222;(W|&#8220;&gt; = char(225) char(190) char(169)<br \/>\n* \u00e1\u00be\u00aa &#8211; 225:190:170 = E1 BE AA<br \/>\ngreek_upper_tab&lt;&#8222;)W|&#8220;&gt; = char(225) char(190) char(170)<br \/>\n* \u00e1\u00be\u00ab &#8211; 225:190:171 = E1 BE AB<br \/>\ngreek_upper_tab&lt;&#8222;(W|&#8220;&gt; = char(225) char(190) char(171)<br \/>\n* \u00e1\u00be\u00ac &#8211; 225:190:172 = E1 BE AC<br \/>\ngreek_upper_tab&lt;&#8222;)\/W|&#8220;&gt; = char(225) char(190) char(172)<br \/>\n* \u00e1\u00be\u00ad &#8211; 225:190:173 = E1 BE AD<br \/>\ngreek_upper_tab&lt;&#8222;(\/W|&#8220;&gt; = char(225) char(190) char(173)<br \/>\n* \u00e1\u00be\u00ae &#8211; 225:190:174 = E1 BE AE<br \/>\ngreek_upper_tab&lt;&#8222;)=W|&#8220;&gt; = char(225) char(190) char(174)<br \/>\n* \u00e1\u00be\u00af &#8211; 225:190:175 = E1 BE AF<br \/>\ngreek_upper_tab&lt;&#8222;(=W|&#8220;&gt; = char(225) char(190) char(175)<br \/>\n* \u00e1\u00be\u00ba &#8211; 225:190:186 = E1 BE BA<br \/>\ngreek_upper_tab&lt;&#8222;A&#8220;&gt; = char(225) char(190) char(186)<br \/>\n* \u00e1\u00be\u00bb &#8211; 225:190:187 = E1 BE BB<br \/>\ngreek_upper_tab&lt;&#8222;\/A&#8220;&gt; = char(225) char(190) char(187)<br \/>\n* \u00e1\u00be\u00bc &#8211; 225:190:188 = E1 BE BC<br \/>\ngreek_upper_tab&lt;&#8222;A|&#8220;&gt; = char(225) char(190) char(188)<br \/>\n* \u00e1\u00bf\u02c6 &#8211; 225:191:136 = E1 BF 88<br \/>\ngreek_upper_tab&lt;&#8222;E&#8220;&gt; = char(225) char(191) char(136)<br \/>\n* \u00e1\u00bf\u2030 &#8211; 225:191:137 = E1 BF 89<br \/>\ngreek_upper_tab&lt;&#8222;\/E&#8220;&gt; = char(225) char(191) char(137)<br \/>\n* \u00e1\u00bf\u0160 &#8211; 225:191:138 = E1 BF 8A<br \/>\ngreek_upper_tab&lt;&#8222;H&#8220;&gt; = char(225) char(191) char(138)<br \/>\n* \u00e1\u00bf\u2039 &#8211; 225:191:139 = E1 BF 8B<br \/>\ngreek_upper_tab&lt;&#8222;\/H&#8220;&gt; = char(225) char(191) char(139)<br \/>\n* \u00e1\u00bf\u0152 &#8211; 225:191:140 = E1 BF 8C gross<br \/>\ngreek_upper_tab&lt;&#8222;H|&#8220;&gt; = char(225) char(191) char(140)<br \/>\n* \u00e1\u00bf\u0161 &#8211; 225:191:154 = E1 BF 9A<br \/>\ngreek_upper_tab&lt;&#8222;I&#8220;&gt; = char(225) char(191) char(154)<br \/>\n* \u00e1\u00bf\u203a &#8211; 225:191:155 = E1 BF 9B<br \/>\ngreek_upper_tab&lt;&#8222;\/I&#8220;&gt; = char(225) char(191) char(155)<br \/>\n* \u00e1\u00bf\u00aa &#8211; 225:191:170 = E1 BF AA<br \/>\ngreek_upper_tab&lt;&#8222;U&#8220;&gt; = char(225) char(191) char(170)<br \/>\n* \u00e1\u00bf\u00ab &#8211; 225:191:171 = E1 BF AB<br \/>\ngreek_upper_tab&lt;&#8222;\/U&#8220;&gt; = char(225) char(191) char(171)<br \/>\n* \u00e1\u00bf\u00ac &#8211; 225:191:172 = E1 BF AC<br \/>\ngreek_upper_tab&lt;&#8222;(R&#8220;&gt; = char(225) char(191) char(172)<br \/>\n* \u00e1\u00bf\u00b8 &#8211; 225:191:184 = E1 BF B8<br \/>\ngreek_upper_tab&lt;&#8222;O&#8220;&gt; = char(225) char(191) char(184)<br \/>\n* \u00e1\u00bf\u00b9 &#8211; 225:191:185 = E1 BF B9<br \/>\ngreek_upper_tab&lt;&#8222;\/O&#8220;&gt; = char(225) char(191) char(185)<br \/>\n* \u00e1\u00bf\u00ba &#8211; 225:191:186 = E1 BF BA<br \/>\ngreek_upper_tab&lt;&#8222;W&#8220;&gt; = char(225) char(191) char(186)<br \/>\n* \u00e1\u00bf\u00bb &#8211; 225:191:187 = E1 BF BB<br \/>\ngreek_upper_tab&lt;&#8222;\/W&#8220;&gt; = char(225) char(191) char(187)<br \/>\n* \u00e1\u00bf\u00bc &#8211; 225:191:188 = E1 BF BC<br \/>\ngreek_upper_tab&lt;&#8222;W|&#8220;&gt; = char(225) char(191) char(188)<br \/>\n* alpha iota sub \u00e1\u00be\u00bc<br \/>\ngreek_upper_tab&lt;&#8222;A|&#8220;&gt; = char(225) char(190) char(188)<br \/>\n* upsilon and dihaeresis \u00ce\u00ab<br \/>\ngreek_upper_tab&lt;&#8222;U+&#8220;&gt; = char(206) char(171)<br \/>\n* iota dihaeresis \u00ce\u00aa<br \/>\ngreek_upper_tab&lt;&#8222;I+&#8220;&gt; = char(206) char(170)<br \/>\n* spiritus lenis: \u00e1\u00bf\u00be<br \/>\ngreek_upper_tab&lt;&#8222;)&#8220;&gt; = char(225) char(191) char(190)<br \/>\n* digamma capital: \u00cf\u0153<br \/>\ngreek_upper_tab&lt;&#8222;V&#8220;&gt; = char(207) char(156)<br \/>\n*<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* *<br \/>\n* Lower Greek table: *<br \/>\n* *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n*<br \/>\n* &#8222;\u00ce\u00b1&#8220; &#8211; 206:177 = CE B1<br \/>\ngreek_lower_tab&lt;&#8222;A&#8220;&gt; = char(206) char(177)<br \/>\n* &#8222;\u00ce\u00b2&#8220; &#8211; 206:178 = CE B2<br \/>\ngreek_lower_tab&lt;&#8222;B&#8220;&gt; = char(206) char(178)<br \/>\n* &#8222;\u00ce\u00b3&#8220; &#8211; 206:179 = CE B3<br \/>\ngreek_lower_tab&lt;&#8222;G&#8220;&gt; = char(206) char(179)<br \/>\n* &#8222;\u00ce\u00b4&#8220; &#8211; 206:180 = CE B4<br \/>\ngreek_lower_tab&lt;&#8222;D&#8220;&gt; = char(206) char(180)<br \/>\n* &#8222;\u00ce\u00b4'&#8220; &#8211; 206:180 = CE B4 27 erroneous d&#8216;, present in some texts on the TLG CD E<br \/>\ngreek_lower_tab&lt;&#8222;D\/&#8220;&gt; = char(206) char(180) char(39)<br \/>\n* &#8222;\u00ce\u00b5&#8220; &#8211; 206:181 = CE B5<br \/>\ngreek_lower_tab&lt;&#8222;E&#8220;&gt; = char(206) char(181)<br \/>\n* &#8222;\u00ce\u00b6&#8220; &#8211; 206:182 = CE B6<br \/>\ngreek_lower_tab&lt;&#8222;Z&#8220;&gt; = char(206) char(182)<br \/>\n* &#8222;\u00ce\u00b7&#8220; &#8211; 206:183 = CE B7<br \/>\ngreek_lower_tab&lt;&#8222;H&#8220;&gt; = char(206) char(183)<br \/>\n* &#8222;\u00ce\u00b8&#8220; &#8211; 206:184 = CE B8<br \/>\ngreek_lower_tab&lt;&#8222;Q&#8220;&gt; = char(206) char(184)<br \/>\n* &#8222;\u00ce\u00b9&#8220; &#8211; 206:185 = CE B9<br \/>\ngreek_lower_tab&lt;&#8222;I&#8220;&gt; = char(206) char(185)<br \/>\n* Attic aspiration:<br \/>\ngreek_lower_tab&lt;&#8222;J&#8220;&gt; = &#8222;h&#8220;<br \/>\n* &#8222;\u00ce\u00ba&#8220; &#8211; 206:186 = CE BA<br \/>\ngreek_lower_tab&lt;&#8222;K&#8220;&gt; = char(206) char(186)<br \/>\n* &#8222;\u00ce\u00bb&#8220; &#8211; 206:187 = CE BB<br \/>\ngreek_lower_tab&lt;&#8222;L&#8220;&gt; = char(206) char(187)<br \/>\n* &#8222;\u00ce\u00bc&#8220; &#8211; 206:188 = CE BC<br \/>\ngreek_lower_tab&lt;&#8222;M&#8220;&gt; = char(206) char(188)<br \/>\n* &#8222;\u00ce\u00bd&#8220; &#8211; 206:189 = CE BD<br \/>\ngreek_lower_tab&lt;&#8222;N&#8220;&gt; = char(206) char(189)<br \/>\n* &#8222;\u00ce\u00be&#8220; &#8211; 206:190 = CE BE<br \/>\ngreek_lower_tab&lt;&#8222;C&#8220;&gt; = char(206) char(190)<br \/>\n* &#8222;\u00ce\u00bf&#8220; &#8211; 206:191 = CE BF<br \/>\ngreek_lower_tab&lt;&#8222;O&#8220;&gt; = char(206) char(191)<br \/>\n* &#8222;\u00cf\u20ac&#8220; &#8211; 207:128 = CF 80<br \/>\ngreek_lower_tab&lt;&#8222;P&#8220;&gt; = char(207) char(128)<br \/>\n* &#8222;\u00cf\u0081&#8220; &#8211; 207:129 = CF 81<br \/>\ngreek_lower_tab&lt;&#8222;R&#8220;&gt; = char(207) char(129)<br \/>\n* &#8222;\u00cf\u201a&#8220; &#8211; 207:130 = CF 82 &#8211; final sigma<br \/>\ngreek_lower_tab&lt;&#8222;\u00e4&#8220;&gt; = char(207) char(130)<br \/>\n* &#8222;\u00cf\u0192&#8220; &#8211; 207:131 = CF 83<br \/>\ngreek_lower_tab&lt;&#8222;S&#8220;&gt; = char(207) char(131)<br \/>\n* &#8222;\u00cf\u201e&#8220; &#8211; 207:132 = CF 84<br \/>\ngreek_lower_tab&lt;&#8222;T&#8220;&gt; = char(207) char(132)<br \/>\n* &#8222;\u00cf\u2026&#8220; &#8211; 207:133 = CF 85<br \/>\ngreek_lower_tab&lt;&#8222;U&#8220;&gt; = char(207) char(133)<br \/>\n* &#8222;\u00cf\u2020&#8220; &#8211; 207:134 = CF 86<br \/>\ngreek_lower_tab&lt;&#8222;F&#8220;&gt; = char(207) char(134)<br \/>\n* &#8222;\u00cf\u2021&#8220; &#8211; 207:135 = CF 87<br \/>\ngreek_lower_tab&lt;&#8222;X&#8220;&gt; = char(207) char(135)<br \/>\n* &#8222;\u00cf\u02c6&#8220; &#8211; 207:136 = CF 88<br \/>\ngreek_lower_tab&lt;&#8222;Y&#8220;&gt; = char(207) char(136)<br \/>\n* &#8222;\u00cf\u2030&#8220; &#8211; 207:137 = CF 89<br \/>\ngreek_lower_tab&lt;&#8222;W&#8220;&gt; = char(207) char(137)<br \/>\n* &#8222;\u00ce\u00ac&#8220; &#8211; 206:172 = CE AC<br \/>\ngreek_lower_tab&lt;&#8222;A\/&#8220;&gt; = char(206) char(172)<br \/>\n* &#8222;\u00ce\u00ad&#8220; &#8211; 206:173 = CE AD<br \/>\n*** greek_lower_tab&lt;&#8222;E\/&#8220;&gt; = char(206) char(173)<br \/>\n* &#8222;\u00ce\u00ae&#8220; &#8211; 206:174 = CE AE<br \/>\n*** greek_lower_tab&lt;&#8222;H\/&#8220;&gt; = char(206) char(174)<br \/>\n* &#8222;\u00ce\u00af&#8220; &#8211; 206:175 = CE AF<br \/>\n*** greek_lower_tab&lt;&#8222;I\/&#8220;&gt; = char(206) char(175)<br \/>\n* &#8222;\u00cf\u0152&#8220; &#8211; 207:140 = CF 8C<br \/>\n*** greek_lower_tab&lt;&#8222;O\/&#8220;&gt; = char(207) char(140)<br \/>\n* &#8222;\u00cf\u008d&#8220; &#8211; 207:141 = CF 8D<br \/>\n*** greek_lower_tab&lt;&#8222;U\/&#8220;&gt; = char(207) char(141)<br \/>\n* &#8222;\u00cf\u017d&#8220; &#8211; 207:142 = CF 8E<br \/>\n*** greek_lower_tab&lt;&#8222;W\/&#8220;&gt; = char(207) char(142)<br \/>\n* \u00e1\u00bc\u20ac &#8211; 225:188:128 = E1 BC 80<br \/>\ngreek_lower_tab&lt;&#8222;A)&#8220;&gt; = char(225) char(188) char(128)<br \/>\n* \u00e1\u00bc\u0081 &#8211; 225:188:129 = E1 BC 81<br \/>\ngreek_lower_tab&lt;&#8222;A(&#8222;&gt; = char(225) char(188) char(129)<br \/>\n* \u00e1\u00bc\u201a &#8211; 225:188:130 = E1 BC 82<br \/>\ngreek_lower_tab&lt;&#8222;A)&#8220;&gt; = char(225) char(188) char(130)<br \/>\n* \u00e1\u00bc\u0192 &#8211; 225:188:131 = E1 BC 83<br \/>\ngreek_lower_tab&lt;&#8222;A(&#8222;&gt; = char(225) char(188) char(131)<br \/>\n* \u00e1\u00bc\u201e &#8211; 225:188:132 = E1 BC 84<br \/>\ngreek_lower_tab&lt;&#8222;A)\/&#8220;&gt; = char(225) char(188) char(132)<br \/>\n* \u00e1\u00bc\u2026 &#8211; 225:188:133 = E1 BC 85<br \/>\ngreek_lower_tab&lt;&#8222;A(\/&#8220;&gt; = char(225) char(188) char(133)<br \/>\n* \u00e1\u00bc\u2020 &#8211; 225:188:134 = E1 BC 86<br \/>\ngreek_lower_tab&lt;&#8222;A)=&#8220;&gt; = char(225) char(188) char(134)<br \/>\n* \u00e1\u00bc\u2021 &#8211; 225:188:135 = E1 BC 87<br \/>\ngreek_lower_tab&lt;&#8222;A(=&#8220;&gt; = char(225) char(188) char(135)<br \/>\n* \u00e1\u00bc\u0090 &#8211; 225:188:144 = E1 BC 90<br \/>\ngreek_lower_tab&lt;&#8222;E)&#8220;&gt; = char(225) char(188) char(144)<br \/>\n* \u00e1\u00bc\u2018 &#8211; 225:188:145 = E1 BC 91<br \/>\ngreek_lower_tab&lt;&#8222;E(&#8222;&gt; = char(225) char(188) char(145)<br \/>\n* \u00e1\u00bc\u2019 &#8211; 225:188:146 = E1 BC 92<br \/>\ngreek_lower_tab&lt;&#8222;E)&#8220;&gt; = char(225) char(188) char(146)<br \/>\ngreek_lower_tab&lt;&#8222;E)&#8220;&gt; = char(225) char(188) char(146)<br \/>\n* \u00e1\u00bc\u201c &#8211; 225:188:147 = E1 BC 93<br \/>\ngreek_lower_tab&lt;&#8222;E(&#8222;&gt; = char(225) char(188) char(147)<br \/>\ngreek_lower_tab&lt;&#8222;E(&#8222;&gt; = char(225) char(188) char(147)<br \/>\n* \u00e1\u00bc\u201d &#8211; 225:188:148 = E1 BC 94<br \/>\ngreek_lower_tab&lt;&#8222;E)\/&#8220;&gt; = char(225) char(188) char(148)<br \/>\ngreek_lower_tab&lt;&#8222;E\/)&#8220;&gt; = char(225) char(188) char(148)<br \/>\n* \u00e1\u00bc\u2022 &#8211; 225:188:149 = E1 BC 95<br \/>\ngreek_lower_tab&lt;&#8222;E(\/&#8220;&gt; = char(225) char(188) char(149)<br \/>\ngreek_lower_tab&lt;&#8222;E\/(&#8222;&gt; = char(225) char(188) char(149)<br \/>\n* \u00e1\u00bc\u00a0 &#8211; 225:188:160 = E1 BC A0<br \/>\ngreek_lower_tab&lt;&#8222;H)&#8220;&gt; = char(225) char(188) char(160)<br \/>\n* \u00e1\u00bc\u00a1 &#8211; 225:188:161 = E1 BC A1<br \/>\ngreek_lower_tab&lt;&#8222;H(&#8222;&gt; = char(225) char(188) char(161)<br \/>\n* \u00e1\u00bc\u00a2 &#8211; 225:188:162 = E1 BC A2<br \/>\ngreek_lower_tab&lt;&#8222;H)&#8220;&gt; = char(225) char(188) char(162)<br \/>\n* \u00e1\u00bc\u00a3 &#8211; 225:188:163 = E1 BC A3<br \/>\ngreek_lower_tab&lt;&#8222;H(&#8222;&gt; = char(225) char(188) char(163)<br \/>\n* \u00e1\u00bc\u00a4 &#8211; 225:188:164 = E1 BC A4<br \/>\ngreek_lower_tab&lt;&#8222;H)\/&#8220;&gt; = char(225) char(188) char(164)<br \/>\n* \u00e1\u00bc\u00a5 &#8211; 225:188:165 = E1 BC A5<br \/>\ngreek_lower_tab&lt;&#8222;H(\/&#8220;&gt; = char(225) char(188) char(165)<br \/>\n* \u00e1\u00bc\u00a6 &#8211; 225:188:166 = E1 BC A6<br \/>\ngreek_lower_tab&lt;&#8222;H)=&#8220;&gt; = char(225) char(188) char(166)<br \/>\ngreek_lower_tab&lt;&#8222;H=)&#8220;&gt; = char(225) char(188) char(166)<br \/>\n* \u00e1\u00bc\u00a7 &#8211; 225:188:167 = E1 BC A7<br \/>\ngreek_lower_tab&lt;&#8222;H(=&#8220;&gt; = char(225) char(188) char(167)<br \/>\ngreek_lower_tab&lt;&#8222;H=(&#8222;&gt; = char(225) char(188) char(167)<br \/>\n* \u00e1\u00bc\u00b0 &#8211; 225:188:176 = E1 BC B0<br \/>\ngreek_lower_tab&lt;&#8222;I)&#8220;&gt; = char(225) char(188) char(176)<br \/>\n* \u00e1\u00bc\u00b1 &#8211; 225:188:177 = E1 BC B1<br \/>\ngreek_lower_tab&lt;&#8222;I(&#8222;&gt; = char(225) char(188) char(177)<br \/>\n* \u00e1\u00bc\u00b2 &#8211; 225:188:178 = E1 BC B2<br \/>\ngreek_lower_tab&lt;&#8222;I)&#8220;&gt; = char(225) char(188) char(178)<br \/>\ngreek_lower_tab&lt;&#8222;I)&#8220;&gt; = char(225) char(188) char(178)<br \/>\n* \u00e1\u00bc\u00b3 &#8211; 225:188:179 = E1 BC B3<br \/>\ngreek_lower_tab&lt;&#8222;I(&#8222;&gt; = char(225) char(188) char(179)<br \/>\ngreek_lower_tab&lt;&#8222;I(&#8222;&gt; = char(225) char(188) char(179)<br \/>\n* \u00e1\u00bc\u00b4 &#8211; 225:188:180 = E1 BC B4<br \/>\ngreek_lower_tab&lt;&#8222;I)\/&#8220;&gt; = char(225) char(188) char(180)<br \/>\ngreek_lower_tab&lt;&#8222;I\/)&#8220;&gt; = char(225) char(188) char(180)<br \/>\n* \u00e1\u00bc\u00b5 &#8211; 225:188:181 = E1 BC B5<br \/>\ngreek_lower_tab&lt;&#8222;I(\/&#8220;&gt; = char(225) char(188) char(181)<br \/>\ngreek_lower_tab&lt;&#8222;I\/(&#8222;&gt; = char(225) char(188) char(181)<br \/>\n* \u00e1\u00bc\u00b6 &#8211; 225:188:182 = E1 BC B6<br \/>\ngreek_lower_tab&lt;&#8222;I)=&#8220;&gt; = char(225) char(188) char(182)<br \/>\ngreek_lower_tab&lt;&#8222;I=)&#8220;&gt; = char(225) char(188) char(182)<br \/>\n* \u00e1\u00bc\u00b7 &#8211; 225:188:183 = E1 BC B7<br \/>\ngreek_lower_tab&lt;&#8222;I(=&#8220;&gt; = char(225) char(188) char(183)<br \/>\ngreek_lower_tab&lt;&#8222;I=(&#8222;&gt; = char(225) char(188) char(183)<br \/>\n* \u00e1\u00bd\u20ac &#8211; 225:189:128 = E1 BD 80<br \/>\ngreek_lower_tab&lt;&#8222;O)&#8220;&gt; = char(225) char(189) char(128)<br \/>\n* \u00e1\u00bd\u0081 &#8211; 225:189:129 = E1 BD 81<br \/>\ngreek_lower_tab&lt;&#8222;O(&#8222;&gt; = char(225) char(189) char(129)<br \/>\n* \u00e1\u00bd\u201a &#8211; 225:189:130 = E1 BD 82<br \/>\ngreek_lower_tab&lt;&#8222;O)&#8220;&gt; = char(225) char(189) char(130)<br \/>\ngreek_lower_tab&lt;&#8222;O)&#8220;&gt; = char(225) char(189) char(130)<br \/>\n* \u00e1\u00bd\u0192 &#8211; 225:189:131 = E1 BD 83<br \/>\ngreek_lower_tab&lt;&#8222;O(&#8222;&gt; = char(225) char(189) char(131)<br \/>\ngreek_lower_tab&lt;&#8222;O(&#8222;&gt; = char(225) char(189) char(131)<br \/>\n* \u00e1\u00bd\u201e &#8211; 225:189:132 = E1 BD 84<br \/>\ngreek_lower_tab&lt;&#8222;O)\/&#8220;&gt; = char(225) char(189) char(132)<br \/>\ngreek_lower_tab&lt;&#8222;O\/)&#8220;&gt; = char(225) char(189) char(132)<br \/>\n* \u00e1\u00bd\u2026 &#8211; 225:189:133 = E1 BD 85<br \/>\ngreek_lower_tab&lt;&#8222;O(\/&#8220;&gt; = char(225) char(189) char(133)<br \/>\ngreek_lower_tab&lt;&#8222;O\/(&#8222;&gt; = char(225) char(189) char(133)<br \/>\n* \u00e1\u00bd\u2020 &#8211; 225:189:134 = E1 BD 86<br \/>\ngreek_lower_tab&lt;&#8222;O)=&#8220;&gt; = char(225) char(189) char(128) char(204) char(145)<br \/>\ngreek_lower_tab&lt;&#8222;O=)&#8220;&gt; = char(225) char(189) char(128) char(204) char(145)<br \/>\n* \u00e1\u00bd\u2021 &#8211; 225:189:135 = E1 BD 87<br \/>\ngreek_lower_tab&lt;&#8222;O(=&#8220;&gt; = char(225) char(189) char(129) char(204) char(145)<br \/>\ngreek_lower_tab&lt;&#8222;O=(&#8222;&gt; = char(225) char(189) char(129) char(204) char(145)<br \/>\n* \u00e1\u00bd\u0090 &#8211; 225:189:144 = E1 BD 90<br \/>\ngreek_lower_tab&lt;&#8222;U)&#8220;&gt; = char(225) char(189) char(144)<br \/>\n* \u00e1\u00bd\u2018 &#8211; 225:189:145 = E1 BD 91<br \/>\ngreek_lower_tab&lt;&#8222;U(&#8222;&gt; = char(225) char(189) char(145)<br \/>\n* \u00e1\u00bd\u2019 &#8211; 225:189:146 = E1 BD 92<br \/>\ngreek_lower_tab&lt;&#8222;U)&#8220;&gt; = char(225) char(189) char(146)<br \/>\ngreek_lower_tab&lt;&#8222;U)&#8220;&gt; = char(225) char(189) char(146)<br \/>\n* \u00e1\u00bd\u201c &#8211; 225:189:147 = E1 BD 93<br \/>\ngreek_lower_tab&lt;&#8222;U(&#8222;&gt; = char(225) char(189) char(147)<br \/>\ngreek_lower_tab&lt;&#8222;U(&#8222;&gt; = char(225) char(189) char(147)<br \/>\n* \u00e1\u00bd\u201d &#8211; 225:189:148 = E1 BD 94<br \/>\ngreek_lower_tab&lt;&#8222;U)\/&#8220;&gt; = char(225) char(189) char(148)<br \/>\ngreek_lower_tab&lt;&#8222;U\/)&#8220;&gt; = char(225) char(189) char(148)<br \/>\n* \u00e1\u00bd\u2022 &#8211; 225:189:149 = E1 BD 95<br \/>\ngreek_lower_tab&lt;&#8222;U(\/&#8220;&gt; = char(225) char(189) char(149)<br \/>\ngreek_lower_tab&lt;&#8222;U\/(&#8222;&gt; = char(225) char(189) char(149)<br \/>\n* \u00e1\u00bd\u2013 &#8211; 225:189:150 = E1 BD 96<br \/>\ngreek_lower_tab&lt;&#8222;U)=&#8220;&gt; = char(225) char(189) char(150)<br \/>\ngreek_lower_tab&lt;&#8222;U=)&#8220;&gt; = char(225) char(189) char(150)<br \/>\n* \u00e1\u00bd\u2014 &#8211; 225:189:151 = E1 BD 97<br \/>\ngreek_lower_tab&lt;&#8222;U(=&#8220;&gt; = char(225) char(189) char(151)<br \/>\ngreek_lower_tab&lt;&#8222;U=(&#8222;&gt; = char(225) char(189) char(151)<br \/>\n* \u00e1\u00bd\u00a0 &#8211; 225:189:160 = E1 BD A0<br \/>\ngreek_lower_tab&lt;&#8222;W)&#8220;&gt; = char(225) char(189) char(160)<br \/>\n* \u00e1\u00bd\u00a1 &#8211; 225:189:161 = E1 BD A1<br \/>\ngreek_lower_tab&lt;&#8222;W(&#8222;&gt; = char(225) char(189) char(161)<br \/>\n* \u00e1\u00bd\u00a2 &#8211; 225:189:162 = E1 BD A2<br \/>\ngreek_lower_tab&lt;&#8222;W)&#8220;&gt; = char(225) char(189) char(162)<br \/>\ngreek_lower_tab&lt;&#8222;W)&#8220;&gt; = char(225) char(189) char(162)<br \/>\n* \u00e1\u00bd\u00a3 &#8211; 225:189:163 = E1 BD A3<br \/>\ngreek_lower_tab&lt;&#8222;W(&#8222;&gt; = char(225) char(189) char(163)<br \/>\ngreek_lower_tab&lt;&#8222;W(&#8222;&gt; = char(225) char(189) char(163)<br \/>\n* \u00e1\u00bd\u00a4 &#8211; 225:189:164 = E1 BD A4<br \/>\ngreek_lower_tab&lt;&#8222;W)\/&#8220;&gt; = char(225) char(189) char(164)<br \/>\ngreek_lower_tab&lt;&#8222;W\/)&#8220;&gt; = char(225) char(189) char(164)<br \/>\n* \u00e1\u00bd\u00a5 &#8211; 225:189:165 = E1 BD A5<br \/>\ngreek_lower_tab&lt;&#8222;W(\/&#8220;&gt; = char(225) char(189) char(165)<br \/>\ngreek_lower_tab&lt;&#8222;W\/(&#8222;&gt; = char(225) char(189) char(165)<br \/>\n* \u00e1\u00bd\u00a6 &#8211; 225:189:166 = E1 BD A6<br \/>\ngreek_lower_tab&lt;&#8222;W)=&#8220;&gt; = char(225) char(189) char(166)<br \/>\ngreek_lower_tab&lt;&#8222;W=)&#8220;&gt; = char(225) char(189) char(166)<br \/>\n* \u00e1\u00bd\u00a7 &#8211; 225:189:167 = E1 BD A7<br \/>\ngreek_lower_tab&lt;&#8222;W(=&#8220;&gt; = char(225) char(189) char(167)<br \/>\ngreek_lower_tab&lt;&#8222;W=(&#8222;&gt; = char(225) char(189) char(167)<br \/>\n* \u00e1\u00bd\u00b1 &#8211; 225:189:177 = E1 BD B1<br \/>\ngreek_lower_tab&lt;&#8222;A\/&#8220;&gt; = char(225) char(189) char(177)<br \/>\n* \u00e1\u00bd\u00b2 &#8211; 225:189:178 = E1 BD B2<br \/>\ngreek_lower_tab&lt;&#8222;E&#8220;&gt; = char(225) char(189) char(178)<br \/>\n* \u00e1\u00bd\u00b3 &#8211; 225:189:179 = E1 BD B3<br \/>\ngreek_lower_tab&lt;&#8222;E\/&#8220;&gt; = char(225) char(189) char(179)<br \/>\n* \u00e1\u00bd\u00b4 &#8211; 225:189:180 = E1 BD B4<br \/>\ngreek_lower_tab&lt;&#8222;H&#8220;&gt; = char(225) char(189) char(180)<br \/>\n* \u00e1\u00bd\u00b5 &#8211; 225:189:181 = E1 BD B5<br \/>\ngreek_lower_tab&lt;&#8222;H\/&#8220;&gt; = char(225) char(189) char(181)<br \/>\n* \u00e1\u00bd\u00b6 &#8211; 225:189:182 = E1 BD B6<br \/>\ngreek_lower_tab&lt;&#8222;I&#8220;&gt; = char(225) char(189) char(182)<br \/>\n* \u00e1\u00bd\u00b7 &#8211; 225:189:183 = E1 BD B7<br \/>\ngreek_lower_tab&lt;&#8222;I\/&#8220;&gt; = char(225) char(189) char(183)<br \/>\n* \u00e1\u00bd\u00b8 &#8211; 225:189:184 = E1 BD B8<br \/>\ngreek_lower_tab&lt;&#8222;O&#8220;&gt; = char(225) char(189) char(184)<br \/>\n* \u00e1\u00bd\u00b9 &#8211; 225:189:185 = E1 BD B9<br \/>\ngreek_lower_tab&lt;&#8222;O\/&#8220;&gt; = char(225) char(189) char(185)<br \/>\n* \u00e1\u00bd\u00ba &#8211; 225:189:186 = E1 BD BA<br \/>\ngreek_lower_tab&lt;&#8222;U&#8220;&gt; = char(225) char(189) char(186)<br \/>\n* \u00e1\u00bd\u00bb &#8211; 225:189:187 = E1 BD BB<br \/>\ngreek_lower_tab&lt;&#8222;U\/&#8220;&gt; = char(225) char(189) char(187)<br \/>\n* \u00e1\u00bd\u00bc &#8211; 225:189:188 = E1 BD BC<br \/>\ngreek_lower_tab&lt;&#8222;W&#8220;&gt; = char(225) char(189) char(188)<br \/>\n* \u00e1\u00bd\u00bd &#8211; 225:189:189 = E1 BD BD<br \/>\ngreek_lower_tab&lt;&#8222;W\/&#8220;&gt; = char(225) char(189) char(189)<br \/>\n* \u00e1\u00be\u20ac &#8211; 225:190:128 = E1 BE 80<br \/>\ngreek_lower_tab&lt;&#8222;A)|&#8220;&gt; = char(225) char(190) char(128)<br \/>\n* \u00e1\u00be\u0081 &#8211; 225:190:129 = E1 BE 81<br \/>\ngreek_lower_tab&lt;&#8222;A(|&#8220;&gt; = char(225) char(190) char(129)<br \/>\n* \u00e1\u00be\u201a &#8211; 225:190:130 = E1 BE 82<br \/>\ngreek_lower_tab&lt;&#8222;A)|&#8220;&gt; = char(225) char(190) char(130)<br \/>\n* \u00e1\u00be\u0192 &#8211; 225:190:131 = E1 BE 83<br \/>\ngreek_lower_tab&lt;&#8222;A(|&#8220;&gt; = char(225) char(190) char(131)<br \/>\n* \u00e1\u00be\u201e &#8211; 225:190:132 = E1 BE 84<br \/>\ngreek_lower_tab&lt;&#8222;A)|&#8220;&gt; = char(225) char(190) char(132)<br \/>\n* \u00e1\u00be\u2026 &#8211; 225:190:133 = E1 BE 85<br \/>\ngreek_lower_tab&lt;&#8222;A(\/|&#8220;&gt; = char(225) char(190) char(133)<br \/>\n* \u00e1\u00be\u2020 &#8211; 225:190:134 = E1 BE 86<br \/>\ngreek_lower_tab&lt;&#8222;A)=|&#8220;&gt; = char(225) char(190) char(134)<br \/>\n* \u00e1\u00be\u2021 &#8211; 225:190:135 = E1 BE 87<br \/>\ngreek_lower_tab&lt;&#8222;A(=|&#8220;&gt; = char(225) char(190) char(135)<br \/>\n* \u00e1\u00be\u0090 &#8211; 225:190:144 = E1 BE 90<br \/>\ngreek_lower_tab&lt;&#8222;H)|&#8220;&gt; = char(225) char(190) char(144)<br \/>\n* \u00e1\u00be\u2018 &#8211; 225:190:145 = E1 BE 91<br \/>\ngreek_lower_tab&lt;&#8222;H(|&#8220;&gt; = char(225) char(190) char(145)<br \/>\n* \u00e1\u00be\u2019 &#8211; 225:190:146 = E1 BE 92<br \/>\ngreek_lower_tab&lt;&#8222;H)|&#8220;&gt; = char(225) char(190) char(146)<br \/>\n* \u00e1\u00be\u201c &#8211; 225:190:147 = E1 BE 93<br \/>\ngreek_lower_tab&lt;&#8222;H(|&#8220;&gt; = char(225) char(190) char(147)<br \/>\n* \u00e1\u00be\u201d &#8211; 225:190:148 = E1 BE 94<br \/>\ngreek_lower_tab&lt;&#8222;H)\/|&#8220;&gt; = char(225) char(190) char(148)<br \/>\n* \u00e1\u00be\u2022 &#8211; 225:190:149 = E1 BE 95<br \/>\ngreek_lower_tab&lt;&#8222;H(\/|&#8220;&gt; = char(225) char(190) char(149)<br \/>\n* \u00e1\u00be\u2013 &#8211; 225:190:150 = E1 BE 96<br \/>\ngreek_lower_tab&lt;&#8222;H)=|&#8220;&gt; = char(225) char(190) char(150)<br \/>\ngreek_lower_tab&lt;&#8222;H=)|&#8220;&gt; = char(225) char(190) char(150)<br \/>\n* \u00e1\u00be\u2014 &#8211; 225:190:151 = E1 BE 97<br \/>\ngreek_lower_tab&lt;&#8222;H(=|&#8220;&gt; = char(225) char(190) char(151)<br \/>\ngreek_lower_tab&lt;&#8222;H=(|&#8220;&gt; = char(225) char(190) char(151)<br \/>\n* \u00e1\u00be\u00a0 &#8211; 225:190:160 = E1 BE A0<br \/>\ngreek_lower_tab&lt;&#8222;W)|&#8220;&gt; = char(225) char(190) char(160)<br \/>\n* \u00e1\u00be\u00a1 &#8211; 225:190:161 = E1 BE A1<br \/>\ngreek_lower_tab&lt;&#8222;W(|&#8220;&gt; = char(225) char(190) char(161)<br \/>\n* \u00e1\u00be\u00a2 &#8211; 225:190:162 = E1 BE A2<br \/>\ngreek_lower_tab&lt;&#8222;W)|&#8220;&gt; = char(225) char(190) char(162)<br \/>\n* \u00e1\u00be\u00a3 &#8211; 225:190:163 = E1 BE A3<br \/>\ngreek_lower_tab&lt;&#8222;W(|&#8220;&gt; = char(225) char(190) char(163)<br \/>\n* \u00e1\u00be\u00a4 &#8211; 225:190:164 = E1 BE A4<br \/>\ngreek_lower_tab&lt;&#8222;W)\/|&#8220;&gt; = char(225) char(190) char(164)<br \/>\n* \u00e1\u00be\u00a5 &#8211; 225:190:165 = E1 BE A5<br \/>\ngreek_lower_tab&lt;&#8222;W(\/|&#8220;&gt; = char(225) char(190) char(165)<br \/>\n* \u00e1\u00be\u00a6 &#8211; 225:190:166 = E1 BE A6<br \/>\ngreek_lower_tab&lt;&#8222;W)=|&#8220;&gt; = char(225) char(190) char(166)<br \/>\n* \u00e1\u00be\u00a7 &#8211; 225:190:167 = E1 BE A7<br \/>\ngreek_lower_tab&lt;&#8222;W(=|&#8220;&gt; = char(225) char(190) char(167)<br \/>\n* \u00e1\u00be\u00b2 &#8211; 225:190:178 = E1 BE B2<br \/>\ngreek_lower_tab&lt;&#8222;A|&#8220;&gt; = char(225) char(190) char(178)<br \/>\n* \u00e1\u00bd\u00b0 &#8211; 225:189:176 = E1 BD B0<br \/>\ngreek_lower_tab&lt;&#8222;A&#8220;&gt; = char(225) char(189) char(176)<br \/>\n* \u00e1\u00be\u00b4 &#8211; 225:190:180 = E1 BE B4<br \/>\ngreek_lower_tab&lt;&#8222;A\/&#8220;&gt; = char(225) char(190) char(180)<br \/>\n* \u00e1\u00be\u00b6 &#8211; 225:190:182 = E1 BE B6<br \/>\ngreek_lower_tab&lt;&#8222;A=&#8220;&gt; = char(225) char(190) char(182)<br \/>\n* \u00e1\u00be\u00b7 &#8211; 225:190:183 = E1 BE B7<br \/>\ngreek_lower_tab&lt;&#8222;A=|&#8220;&gt; = char(225) char(190) char(183)<br \/>\n* \u00e1\u00bf\u201a &#8211; 225:191:130 = E1 BF 82<br \/>\ngreek_lower_tab&lt;&#8222;H|&#8220;&gt; = char(225) char(191) char(130)<br \/>\n* \u00e1\u00bf\u0192 &#8211; 225:191:131 = E1 BF 83<br \/>\ngreek_lower_tab&lt;&#8222;H|&#8220;&gt; = char(225) char(191) char(131)<br \/>\n* \u00e1\u00bf\u201e &#8211; 225:191:132 = E1 BF 84<br \/>\ngreek_lower_tab&lt;&#8222;H\/|&#8220;&gt; = char(225) char(191) char(132)<br \/>\n* \u00e1\u00bf\u2020 &#8211; 225:191:134 = E1 BF 86<br \/>\ngreek_lower_tab&lt;&#8222;H=&#8220;&gt; = char(225) char(191) char(134)<br \/>\n* \u00e1\u00bf\u2021 &#8211; 225:191:135 = E1 BF 87<br \/>\ngreek_lower_tab&lt;&#8222;H=|&#8220;&gt; = char(225) char(191) char(135)<br \/>\n* \u00e1\u00bf\u2019 &#8211; 225:191:146 = E1 BF 92<br \/>\ngreek_lower_tab&lt;&#8222;I+&#8220;&gt; = char(225) char(191) char(146)<br \/>\n* \u00e1\u00bf\u201c &#8211; 225:191:147 = E1 BF 93<br \/>\ngreek_lower_tab&lt;&#8222;I\/+&#8220;&gt; = char(225) char(191) char(147)<br \/>\n* \u00e1\u00bf\u2013 &#8211; 225:191:150 = E1 BF 96<br \/>\ngreek_lower_tab&lt;&#8222;I=&#8220;&gt; = char(225) char(191) char(150)<br \/>\n* \u00e1\u00bf\u2014 &#8211; 225:191:151 = E1 BF 97<br \/>\ngreek_lower_tab&lt;&#8222;I=+&#8220;&gt; = char(225) char(191) char(151)<br \/>\n* \u00e1\u00bf\u00a2 &#8211; 225:191:162 = E1 BF A2<br \/>\ngreek_lower_tab&lt;&#8222;U+&#8220;&gt; = char(225) char(191) char(162)<br \/>\n* \u00e1\u00bf\u00a3 &#8211; 225:191:163 = E1 BF A3<br \/>\ngreek_lower_tab&lt;&#8222;U\/+&#8220;&gt; = char(225) char(191) char(163)<br \/>\n* \u00e1\u00bf\u00a4 &#8211; 225:191:164 = E1 BF A4<br \/>\ngreek_lower_tab&lt;&#8222;R)&#8220;&gt; = char(225) char(191) char(164)<br \/>\n* \u00e1\u00bf\u00a5 &#8211; 225:191:165 = E1 BF A5<br \/>\ngreek_lower_tab&lt;&#8222;R(&#8222;&gt; = char(225) char(191) char(165)<br \/>\n* \u00e1\u00bf\u00a6 &#8211; 225:191:166 = E1 BF A6<br \/>\ngreek_lower_tab&lt;&#8222;U=&#8220;&gt; = char(225) char(191) char(166)<br \/>\n* \u00e1\u00bf\u00a7 &#8211; 225:191:167 = E1 BF A7<br \/>\ngreek_lower_tab&lt;&#8222;U=+&#8220;&gt; = char(225) char(191) char(167)<br \/>\n* \u00e1\u00bf\u00b2 &#8211; 225:191:178 = E1 BF B2<br \/>\ngreek_lower_tab&lt;&#8222;W|&#8220;&gt; = char(225) char(191) char(178)<br \/>\n* \u00e1\u00bf\u00b3 &#8211; 225:191:179 = E1 BF B3<br \/>\ngreek_lower_tab&lt;&#8222;W|&#8220;&gt; = char(225) char(191) char(179)<br \/>\n* \u00e1\u00bf\u00b4 &#8211; 225:191:180 = E1 BF B4<br \/>\ngreek_lower_tab&lt;&#8222;W\/|&#8220;&gt; = char(225) char(191) char(180)<br \/>\n* \u00e1\u00bf\u00b6 &#8211; 225:191:182 = E1 BF B6<br \/>\ngreek_lower_tab&lt;&#8222;W=&#8220;&gt; = char(225) char(191) char(182)<br \/>\n* \u00e1\u00bf\u00b7 &#8211; 225:191:183 = E1 BF B7<br \/>\ngreek_lower_tab&lt;&#8222;W=|&#8220;&gt; = char(225) char(191) char(183)<br \/>\n* This is a variant which ocurs in some of the files, although it should be regarded<br \/>\n* as an error:<br \/>\ngreek_lower_tab&lt;&#8222;W|=&#8220;&gt; = char(225) char(191) char(183)<br \/>\n* alpha and iota sub: \u00e1\u00be\u00b3 225:190:179 E1 BE B3<br \/>\ngreek_lower_tab&lt;&#8222;A|&#8220;&gt; = char(225) char(190) char(179)<br \/>\n* alpha and iota sub: \u00e1\u00be\u00b4<br \/>\ngreek_lower_tab&lt;&#8222;A\/|&#8220;&gt; = char(225) char(190) char(180)<br \/>\n* There were several errors with U+ here and in the upercase table, B.M. July 2009<br \/>\n* upsilon and dihaeresis \u00cf\u2039<br \/>\ngreek_lower_tab&lt;&#8222;U+&#8220;&gt; = char(207) char(139)<br \/>\n* iota and dihaeresis \u00cf\u0160<br \/>\ngreek_lower_tab&lt;&#8222;I+&#8220;&gt; = char(207) char(138)<br \/>\n* eta and dihaeresis \u00ce\u00b7\u00cc\u02c6<br \/>\ngreek_lower_tab&lt;&#8222;H+&#8220;&gt; = char(206) char(183) char(204) char(136)<br \/>\n* omikron and dihaeresis \u00ce\u00bf\u00cc\u02c6<br \/>\ngreek_lower_tab&lt;&#8222;O+&#8220;&gt; = char(206) char(191) char(204) char(136)<br \/>\n* O\/+ \u00cf\u0152\u00cc\u02c6<br \/>\ngreek_lower_tab&lt;&#8222;O+\/&#8220;&gt; = char(207) char(140) char(204) char(136)<br \/>\ngreek_lower_tab&lt;&#8222;O\/+&#8220;&gt; = char(207) char(140) char(204) char(136)<br \/>\n* alpha, akzent, spiritus and iota: \u00e1\u00be\u201e<br \/>\ngreek_lower_tab&lt;&#8222;A)\/|&#8220;&gt; = char(225) char(190) char(132)<br \/>\n* ommikron and circumflex: \u00ce\u00bf\u00cc\u2018<br \/>\ngreek_lower_tab&lt;&#8222;O=&#8220;&gt; = char(206) char(191) char(204) char(145)<br \/>\n* epsilon and circumflex: \u00ce\u00b5\u00cc\u2018<br \/>\ngreek_lower_tab&lt;&#8222;E=&#8220;&gt; = char(206) char(181) char(204) char(145)<br \/>\n* epsilon and circumflex: \u00e1\u00bc\u2018\u00cc\u201c<br \/>\ngreek_lower_tab&lt;&#8222;E(=&#8220;&gt; = char(225) char(188) char(145) char(204) char(147)<br \/>\n* epsilon and circumflex: \u00e1\u00bc\u0090\u00cc\u201c<br \/>\ngreek_lower_tab&lt;&#8222;E)=&#8220;&gt; = char(225) char(188) char(144) char(204) char(147)<br \/>\n* digamma lower: f<br \/>\ngreek_lower_tab&lt;&#8222;V&#8220;&gt; = char(207) char(157)<br \/>\n* Variant sigmas:<br \/>\n* \u00e4 = final sigma<br \/>\n* \u00e4 see above (already defined)<br \/>\n* \u00fc = medial sigma<br \/>\n*<br \/>\ngreek_lower_tab&lt;&#8222;\u00fc&#8220;&gt; = char(207) char(131)<br \/>\n*<br \/>\n* \u00f6 = lunate sigma<br \/>\n*<br \/>\ngreek_lower_tab&lt;&#8222;\u00f6&#8220;&gt; = char(207) char(178)<br \/>\n*<br \/>\n* Table for explicit sigma shape conversion:<br \/>\n*<br \/>\nsigmas = table()<br \/>\nsigmas&lt;&#8222;1&#8220;&gt; = &#8222;\u00fc&#8220;<br \/>\nsigmas&lt;&#8222;2&#8220;&gt; = &#8222;\u00e4&#8220;<br \/>\nsigmas&lt;&#8222;3&#8220;&gt; = &#8222;\u00f6&#8220;<br \/>\n*<br \/>\n* Table for various diacritical signs in Greek and Latin:<br \/>\n*<br \/>\ndiacritics = table()<br \/>\ndiacritics&lt;&#8222;+&#8220;&gt; = char(204) char(136)<br \/>\ndiacritics&lt;&#8222;&#8220;&gt; = char(204) char(128)<br \/>\ndiacritics&lt;&#8222;\/&#8220;&gt; = char(204) char(129)<br \/>\ndiacritics&lt;&#8222;=&#8220;&gt; = char(204) char(130)<br \/>\n*<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n*<br \/>\n* Define functions for later use. The main function to translate<br \/>\n* a string from beta code to utf8 is beta_convert(string)<br \/>\n* This function is a rather lengthy construct which uses the aforementioned<br \/>\n* eating-up algorithm.<br \/>\n*<br \/>\n* In SNOBOL4 functions must be DEFINEd, and the defining statement must be passed,<br \/>\n* so we use labels to &#8222;pass around&#8220; the function body. This is unnecessary in most<br \/>\n* algorithmic languages<br \/>\n* b1-b5 and s1-s5 are local temporary variables which have to be declared here<br \/>\n*<br \/>\n* Our main translating function will consist of a really huge &#8222;switch&#8220; kind of<br \/>\n* construction. In SNOBOL4, this is most easily implemented using the indirect<br \/>\n* goto. An indirect goto consists of a string, addressed as a label. Effectively,<br \/>\n* this is the same as the switch in C:<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n*<\/p>\n<p>define(&#8222;beta_convert(string)b1,b2,b3,b4,s1,s2,s3,uppercase&#8220;) :(beta_convert_end)<br \/>\nbeta_convert<br \/>\n+ string pos(0) len(1) . b1 = :f(return)<br \/>\n*<br \/>\n*<br \/>\n* If b1 is one of markers (&#8222;#@&lt;&gt;[]{}%$&amp;* and the like)<br \/>\n* proceed to special section<br \/>\n* Trick: We change &#8222;;&#8220; to &#8222;:&#8220; , because &#8222;;&#8220; can not be used in labels in SNOBOL4!<br \/>\n*<br \/>\nb1 = ident(b1,&#8220;;&#8220;) &#8222;:&#8220;<br \/>\nb1 any(markers) :s($(&#8222;be_co_&#8220; b1))<br \/>\n*<br \/>\n* If b1 is one of the lower case alphabetic letters, we know we are in<br \/>\n* Latin script and do not have upper case; jump as appropriate:<br \/>\n*<br \/>\nb1 any(&amp;lcase) :s($(&#8222;be_al_&#8220; b1))<br \/>\n* Check similarly, if uppercase letter:<br \/>\nb1 any(&amp;ucase) :s($(&#8222;be_au_&#8220; b1))<br \/>\n* Check if space:<br \/>\nident(b1,space) :s(be_space)<br \/>\n*<br \/>\n* No special sign, no lowercase letter, neither uppercase, nor space:<br \/>\n* We do not know what it is and put it out unconverted:<br \/>\nbeta_convert = beta_convert b1<br \/>\nb1 = :(beta_convert)<br \/>\n*<br \/>\n* Older error routine for production process:<br \/>\n*<br \/>\n* terminal = &#8222;Unidentified symbol in line &#8220; line_counter<br \/>\n* terminal = line<br \/>\n* terminal = b1 :(beta_convert)<br \/>\nbe_space<br \/>\n+ beta_convert = beta_convert char(32)<br \/>\nb1 = :(beta_convert)<br \/>\n*<br \/>\n* Special care must be taken for final s:<br \/>\n*<br \/>\n* We check if explicit sigma shape:<br \/>\n*<br \/>\nbe_au_S<br \/>\n+ ident(actual_language,language_greek) :f(be_au_S_end)<br \/>\nstring pos(0) any(&#8222;123&#8220;) . b2 = :f(be_au_S_norm)<br \/>\nb1 = sigmas&lt;b2&gt; :(be_au_S_end)<br \/>\nbe_au_S_norm<br \/>\n+ b1 =<br \/>\n+ ?(string ? pos(0) (span(final_sigma_continue) | &#8222;&#8220;)<br \/>\n+ (any(final_sigma_stop) | rpos(0)))<br \/>\n+ &#8222;\u00e4&#8220;<br \/>\nbe_au_S_end<br \/>\n*<br \/>\n* Old version:<br \/>\n*<br \/>\n*+ b1 = (ident(actual_language,language_greek))<br \/>\n*+ ?(string ? pos(0) (span(final_sigma_continue) | &#8222;&#8220;) notany(&amp;ucase))<br \/>\n*+ &#8222;\u00e4&#8220;<br \/>\nbe_au_A<br \/>\nbe_au_E<br \/>\nbe_au_H<br \/>\nbe_au_I<br \/>\nbe_au_O<br \/>\nbe_au_U<br \/>\nbe_au_W<br \/>\nbe_au_R<br \/>\nbe_au_B<br \/>\nbe_au_C<br \/>\nbe_au_D<br \/>\nbe_au_F<br \/>\nbe_au_G<br \/>\nbe_au_J<br \/>\nbe_au_K<br \/>\nbe_au_L<br \/>\nbe_au_M<br \/>\nbe_au_N<br \/>\nbe_au_P<br \/>\nbe_au_Q<br \/>\nbe_au_T<br \/>\nbe_au_V<br \/>\nbe_au_X<br \/>\nbe_au_Y<br \/>\nbe_au_Z<br \/>\n+ beta_convert = ident(actual_language,language_latin)<br \/>\n+ beta_convert b1 :s(beta_convert)<br \/>\n*<br \/>\n* We are in Greek language: Get accents, if Greek language; error otherwise:<br \/>\n*<br \/>\nterminal = differ(actual_language,language_greek)<br \/>\n+ &#8222;*** Unknown language in line &#8220; line_counter :s(beta_convert)<br \/>\ns2 =<br \/>\nstring pos(0) span(beta_greek_accents) . s2 =<br \/>\ns3 = greek_lower_tab&lt;b1 s2&gt;<br \/>\nbeta_convert = differ(s3) beta_convert s3 :s(be_au_ret)<br \/>\nterminal = &#8222;*** Unknown letter-accent combination &#8218;&#8220; b1 s2 &#8222;&#8218; in line &#8220; line_counter<br \/>\nterminal = line<br \/>\n*<br \/>\nbeta_convert = beta_convert b1 s2<br \/>\nbe_au_ret<br \/>\n+ b1 = ; b2 = ; s1 = ; s2 = ; s3 = :(beta_convert)<\/p>\n<p>be_al_a<br \/>\nbe_al_e<br \/>\nbe_al_i<br \/>\nbe_al_o<br \/>\nbe_al_u<br \/>\nbe_al_r<\/p>\n<p>be_al_b<br \/>\nbe_al_c<br \/>\nbe_al_d<br \/>\nbe_al_f<br \/>\nbe_al_g<br \/>\nbe_al_h<br \/>\nbe_al_j<br \/>\nbe_al_k<br \/>\nbe_al_l<br \/>\nbe_al_m<br \/>\nbe_al_n<br \/>\nbe_al_p<br \/>\nbe_al_q<br \/>\nbe_al_s<br \/>\nbe_al_t<br \/>\nbe_al_v<br \/>\nbe_al_w<br \/>\nbe_al_x<br \/>\nbe_al_y<br \/>\nbe_al_z<br \/>\n+ beta_convert = ident(actual_language,language_latin)<br \/>\n+ beta_convert b1 :s(beta_convert)<br \/>\nterminal = &#8222;*** Warning: lower case in language &#8220; actual_language &#8220; line &#8220;<br \/>\n+ line_counter &#8222;: &#8220; b1<br \/>\nbeta_convert = beta_convert b1 :(beta_convert)<br \/>\n*<br \/>\n* Older error routine for production process:<br \/>\n*<br \/>\n* terminal = &#8222;*** Erroneous lower case letter in line &#8220; line_counter<br \/>\n* terminal = line<br \/>\n* terminal = b1 :(beta_convert)<\/p>\n<p>*<br \/>\n* Greek uppercase letters require special treatment:<br \/>\n*<br \/>\nbe_co_*<br \/>\n+ beta_convert = ident(actual_language,language_latin) beta_convert &#8222;*&#8220;<br \/>\n+ :s(beta_convert)<br \/>\nuppercase = &#8222;*&#8220;<br \/>\n*<br \/>\n* We fetch the accents and put them BEFORE the letter:<br \/>\n*<br \/>\n*<br \/>\nstring pos(0) (span(beta_greek_accents) | &#8222;&#8220;) . s2 =<br \/>\n*<br \/>\n* We fetch the letter:<br \/>\n*<br \/>\n*<br \/>\nstring pos(0) len(1) . b2 =<br \/>\nstring pos(0) beta_iota_sub . b3 =<br \/>\ns1 = greek_upper_tab&lt;s2 b2 b3&gt;<br \/>\nbeta_convert = differ(s1) beta_convert s1<br \/>\n+ :s(be_co_star_ret)<br \/>\n*<br \/>\n* In the Duke data base of documentary papyri, there some cases where<br \/>\n* *) is used for &#8218; (ASCII 39). This is certainly an error, but we will correct it on-the-fly<br \/>\n* here:<br \/>\n*<br \/>\n* If a space follows, we put out &#8218; and space and proceed as normal:<br \/>\n*<br \/>\nbeta_convert = ident(b2,space) beta_convert &#8222;&#8218;&#8220; space :s(be_co_star_ret)<br \/>\n*<br \/>\n* If a bracket follows, we put it back on the input line and put out &#8218; only, if this is<br \/>\n* not the case, we jump to the error routine:<br \/>\n*<br \/>\nstring = ?(b2 any(beta_brackets)) b2 string :f(be_co_star_err)<br \/>\nbeta_convert = beta_convert &#8222;&#8218;&#8220; :(be_co_star_ret)<br \/>\nbe_co_star_err<br \/>\n+ beta_convert = beta_convert<br \/>\n+ s2<br \/>\n+ b2<br \/>\n+ b3<br \/>\nterminal = &#8222;*** Warning: Malformed character combination in line &#8220; line_counter<br \/>\nterminal = s2 b2 b3<br \/>\nbe_co_star_ret<br \/>\n+ s1 = ; s2 = ; b1 = ; b2 = ; b3 = ; uppercase =<br \/>\n+ :(beta_convert)<br \/>\n*<br \/>\n* Diacritics which can occur in Latin script, too:<br \/>\n*<br \/>\nbe_co_\/<br \/>\nbe_co_<br \/>\nbe_co_=<br \/>\nbe_co_+<br \/>\n+ beta_convert = beta_convert<br \/>\n+ diacritics&lt;b1&gt;<br \/>\nb1 = :(beta_convert)<br \/>\n*<br \/>\n* Satzzeichen:<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\nbe_co_&#8216;<br \/>\nbe_co_,<br \/>\nbe_co_.<br \/>\nbe_co_-<br \/>\nbe_co__<br \/>\nbe_co_!<br \/>\nbe_co_:<br \/>\n+ beta_convert = beta_convert<br \/>\n+ (<br \/>\n+ ident(actual_language,language_greek)<br \/>\n+ greek_zeichen&lt;b1&gt;<br \/>\n+ ,<br \/>\n+ latin_zeichen&lt;b1&gt;<br \/>\n+ )<br \/>\nb1 = :(beta_convert)<br \/>\n*<br \/>\n* Numeric symbol:<br \/>\n*<br \/>\nbe_co_`<br \/>\n+ string pos(0) (span(numbers) | &#8222;&#8220;) . s2 =<br \/>\nbeta_convert = beta_convert<br \/>\n+ space s2 space<br \/>\ns2 = ; b1 = :(beta_convert)<\/p>\n<p>*<br \/>\n* If a &#8222;?&#8220; occurs, we put the combining diacritic from<br \/>\n* greek_diacritics table into the output string,<br \/>\n* &#8222;?&#8220; otherwise.<br \/>\n* Note the alternative construction here (if &#8211; then &#8211; else = (&#8230; , &#8230;)<br \/>\n*<br \/>\nbe_co_?<br \/>\n+ beta_convert = beta_convert<br \/>\n+ (<br \/>\n+ ident(actual_language,language_greek)<br \/>\n+ greek_diacritics&lt;&#8222;?&#8220;&gt;<br \/>\n+ ,<br \/>\n+ &#8222;?&#8220;<br \/>\n+ ) :(beta_convert)<\/p>\n<p>be_co_&amp; actual_language = language_latin<br \/>\n* &amp; and $ may be accompanied by numbers for different font qualities (bold,<br \/>\n* italic <abbr title=\"et cetera\">etc.<\/abbr>) Since this is not defined in unicode, but only in word<br \/>\n* processing file formats, we just leave this out<br \/>\n*<br \/>\n*<br \/>\nstring pos(0) span(numbers) = :(beta_convert)<br \/>\nbe_co_$ actual_language = language_greek<br \/>\n* Kill all leading numbers 0-9:<br \/>\nstring pos(0) span(numbers) = :(beta_convert)<\/p>\n<p>*<br \/>\n* Quote symbol table for quotation marks<br \/>\n* We eat up any leading numbers and assign them to string s2<br \/>\n* We assign &#8222;0&#8220; to s2, if there are no numbers<br \/>\n* We look up the corresponding unicode value in the quote table<br \/>\n* We put this value at the end of the resulting string<br \/>\n* Finally, s2 and s3 are reset<br \/>\n* We then proceed as normal with the next byte<br \/>\n*<br \/>\nbe_co_&#8220;<br \/>\nstring pos(0) span(numbers) . s2 =<br \/>\ns3 = quote&lt;s2&gt;<br \/>\nbeta_convert = beta_convert<br \/>\n+ (<br \/>\n+ differ(s3) s3<br \/>\n+ ,<br \/>\n+ b1 s2<br \/>\n+ )<br \/>\ns3 = ; s2 = ; b1 = :(beta_convert)<\/p>\n<p>be_co_[<br \/>\nbe_co_]<br \/>\nbe_co_{<br \/>\nbe_co_}<br \/>\nbe_co_&lt;<br \/>\nbe_co_&gt;<br \/>\n+ string pos(0) (span(numbers) | &#8222;&#8220;) . s1 =<br \/>\ns2 = brackets&lt;b1 s1&gt;<br \/>\nbeta_convert = beta_convert<br \/>\n+ (<br \/>\n+ differ(s2) s2<br \/>\n+ ,<br \/>\n+ b1 s1<br \/>\n+ )<br \/>\nb1 = ; s1 = ; s2 = :(beta_convert)<br \/>\n*<br \/>\n* Formatting codes. Notice the new caret quarter space routine:<br \/>\n*<br \/>\nbe_co_^<br \/>\n+ string pos(0) span(numbers) . s2 =<br \/>\ns2 = (convert(s2,&#8220;INTEGER&#8220;),0)<br \/>\ns2 = dupl(&#8220; &#8222;,s2 \/ 4)<br \/>\nbeta_convert = beta_convert s2<br \/>\ns2 = b1 = :(beta_convert)<br \/>\n*<br \/>\nbe_co_@ beta_convert = beta_convert space<br \/>\n*<br \/>\n* Kill all leading numbers 0-9:<br \/>\nstring pos(0) span(numbers) = :(beta_convert)<\/p>\n<p>be_co_%<br \/>\n+ string pos(0) (span(numbers) | &#8222;&#8220;) . s2 =<br \/>\n(ident(s2,&#8220;1&#8243;),ident(s2,&#8220;4&#8243;)) :f(be_perc_normal)<br \/>\nbeta_convert = beta_convert<br \/>\n+ (<br \/>\n+ ident(actual_language,language_greek)<br \/>\n+ greek_percent&lt;s2&gt;<br \/>\n+ ,<br \/>\n+ ident(actual_language,language_latin)<br \/>\n+ latin_percent&lt;s2&gt;<br \/>\n+ ,<br \/>\n+ &#8222;%&#8220; s2<br \/>\n+ )<br \/>\ns2 = ; b1 = :(beta_convert)<br \/>\nbe_perc_normal<br \/>\n+ s1 = percent&lt;b1 s2&gt;<br \/>\nbeta_convert = beta_convert<br \/>\n+ (<br \/>\n+ differ(s1)<br \/>\n+ s1<br \/>\n+ ,<br \/>\n+ b1 s2<br \/>\n+ )<br \/>\ns2 = ; b1 = ; s1 = :(beta_convert)<\/p>\n<p>be_co_#<br \/>\n+ string pos(0) (span(numbers) | &#8222;&#8220;) . s2 =<br \/>\ns1 = hash&lt;b1 s2&gt;<br \/>\nbeta_convert = beta_convert<br \/>\n+ (<br \/>\n+ differ(s1)<br \/>\n+ s1<br \/>\n+ ,<br \/>\n+ b1 s2<br \/>\n+ )<br \/>\ns2 = ; b1 = ; s1 = :(beta_convert)<br \/>\n*<br \/>\n*<br \/>\nbeta_convert_end<br \/>\n+ define(&#8222;EOL_convert(string)num,s&#8220;) :(EOL_convert_end)<br \/>\n*<br \/>\n* EOL_convert converts parameter \/EOL=nnn into byte string for end-of-line<br \/>\n*<br \/>\nEOL_convert<br \/>\n+ string pos(0) span(numbers) . s (any(&#8222;+,-:\/&amp;;_&#8220;) | rpos(0)) =<br \/>\n+ :f(return)<br \/>\nnum = convert(s,&#8220;INTEGER&#8220;) :f(freturn)<br \/>\ns = (ge(num,0) le(num,255)) char(num) :f(freturn)<br \/>\nEOL_convert = EOL_convert s :(EOL_convert)<br \/>\nEOL_convert_end<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* Main program: *<br \/>\n* *<br \/>\n* *<br \/>\n* First get program parameters: *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n*<br \/>\nsystem = &#8222;Snobol4+&#8220;<br \/>\n&amp;ERRLIMIT = 4; SETEXIT(CONTINUE)<br \/>\nsystem = host()<br \/>\n* Get system type:<br \/>\n&amp;ERRLIMIT = 0<br \/>\nsystem =<br \/>\n+ (<br \/>\n+ ?(system ? breakx(&#8222;C&#8220;) &#8222;CSNOBOL&#8220; )<br \/>\n+ &#8222;Linux&#8220;<br \/>\n+ ,<br \/>\n+ ?(system ? pos(0) &#8222;80386:Linux :Macro SPITBOL&#8220; )<br \/>\n+ &#8222;Linux-SPITBOL&#8220;<br \/>\n+ ,<br \/>\n+ ?(system ? pos(0) &#8222;x86:Linux:Macro SPITBOL&#8220; )<br \/>\n+ &#8222;Linux-SPITBOL&#8220;<br \/>\n+ ,<br \/>\n+ ?(system ? breakx(&#8222;M&#8220;) &#8222;Macro SPITBOL&#8220;)<br \/>\n+ &#8222;Spitbol&#8220;<br \/>\n+ )<br \/>\n*<br \/>\n* Since Snobol4+ has 16 bit integers, we initialize all counters<br \/>\n* to real values on this system; otherwise: integers<br \/>\n*<br \/>\nline_counter =<br \/>\n+ (<br \/>\n+ ident(system,&#8220;Snobol4+&#8220;) 0.0<br \/>\n+ ,<br \/>\n+ 0<br \/>\n+ )<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\nwrite_counter =<br \/>\n+ (<br \/>\n+ ident(system,&#8220;Snobol4+&#8220;) 0.0<br \/>\n+ ,<br \/>\n+ 0<br \/>\n+ )<br \/>\n*<br \/>\n* Write stand-alone modules or runtime save files:<br \/>\n*<br \/>\n*<br \/>\n* If MacroSPITBOL is present, we write an execution module:<br \/>\n*<br \/>\nident(system,&#8220;Spitbol&#8220;) exit(3,&#8220;betautf8.exe&#8220;)<br \/>\n* If Linux:SPITBOL is present, we write a load module:<br \/>\n*<br \/>\nident(system,&#8220;Linux-SPITBOL&#8220;) exit(-3,&#8220;betautf8.spx&#8220;)<br \/>\n*<br \/>\n* If running under Snobol4+, we open a new output channel and write a save module:<br \/>\n*<br \/>\nident(system,&#8220;Snobol4+&#8220;) output(.saveout,16,,&#8220;betautf8.sav&#8220;)<br \/>\nident(system,&#8220;Snobol4+&#8220;) save(16) :s(end)<br \/>\n*<br \/>\n* Put out copyright string, process parameters, get file names<br \/>\n*<br \/>\nterminal =<br \/>\nterminal = &#8222;BETAUTF8 &#8211; SPITBOL\/SNOBOL4 program to convert beta code to UTF8&#8243;<br \/>\nterminal = &#8220; &#8220; parms<br \/>\nterminal = &#8220; (c) Burkhard Meissner, Universitaet der Bundeswehr, Hamburg (2005-2013)&#8220;<br \/>\nterminal =<br \/>\n*<br \/>\n* Get program parameters from command line:<br \/>\n* We deliberately create system errors on all systems, calling<br \/>\n* functions (host()) and referring to key words (&amp;parm) which have not<br \/>\n* been implemented in all systems in the same manner:<br \/>\n*<br \/>\n&amp;ERRLIMIT = 4; SETEXIT(CONTINUE)<br \/>\nparms = &amp;parm<br \/>\n*<br \/>\n* Special command line treatment for SNOBOL4+ (program name as first parameter):<br \/>\n*<br \/>\nparms pos(0) (SPAN(SPACE) | &#8220;) break(space) rem . parms<br \/>\n*<br \/>\n* Get parameters for SPITBOL\/CSnobol4:<br \/>\n*<br \/>\nparms = host(0)<br \/>\nparms = trim(parms)<br \/>\n*<br \/>\n* Reset error limit to zero:<br \/>\n*<br \/>\n&amp;ERRLIMIT = 0<br \/>\n*<br \/>\n* identify input file and output file, if any; if none: error message and abort:<br \/>\n*<br \/>\nparms pos(0) (span(space) | &#8222;&#8220;) break(space) . input_file span(space)<br \/>\n+ (break(space) | rem) . output_file :f(usage)<br \/>\n*<br \/>\n* Do we regard first 32 bytes of line as references (unconverted) or not?<br \/>\n*<br \/>\nparms pos(0) breakx(&#8222;\/-&#8222;) len(1) any(&#8222;nN&#8220;) . no_ref_flag<br \/>\n*<br \/>\n* Is there an explicit EOL convention change?:<br \/>\n*<br \/>\nparms pos(0) breakx(&#8222;\/-&#8222;) len(1) (&#8222;EOL&#8220; | &#8222;eol&#8220; | &#8222;Eol&#8220;) &#8222;=&#8220; span(numbers &#8222;+,-:\/&amp;;_&#8220;) . EOL_flag<br \/>\n*<br \/>\n* Do we explicitly set the actual language?<br \/>\n*<br \/>\nparms pos(0) breakx(&#8222;-\/&#8220;) len(1) any(&#8222;LlGgHh&#8220;) . actual_language (any(&#8218; &#8218; char(9)) | rpos(0))<br \/>\nactual_language = replace(actual_language,&amp;lcase,&amp;ucase)<br \/>\nterminal =<br \/>\nterminal = &#8222;Input file: &#8220; input_file<br \/>\nterminal = &#8222;Output file: &#8220; output_file<br \/>\nterminal = &#8222;References: &#8220;<br \/>\n+ (<br \/>\n+ differ(no_ref_flag) &#8222;ignored&#8220;<br \/>\n+ ,<br \/>\n+ &#8222;present (32 bytes)&#8220;<br \/>\n+ )<br \/>\n*<br \/>\n* Display language. Note the alternative evaluation construction (SPITBOL syntax):<br \/>\n*<br \/>\nterminal = &#8222;Language: &#8220;<br \/>\n+ (<br \/>\n+ ident(actual_language,&#8220;G&#8220;) &#8222;Greek&#8220;<br \/>\n+ ,<br \/>\n+ ident(actual_language,&#8220;L&#8220;) &#8222;Latin&#8220;<br \/>\n+ ,<br \/>\n+ ident(actual_language,&#8220;H&#8220;) &#8222;Hebrew&#8220;<br \/>\n+ ,<br \/>\n+ &#8222;*** Error ***&#8220;<br \/>\n+ )<br \/>\nterminal = &#8222;End-of-line: &#8220;<br \/>\n+ (<br \/>\n+ differ(EOL_flag) EOL_flag<br \/>\n+ ,<br \/>\n+ &#8222;13,10&#8220;<br \/>\n+ )<br \/>\nterminal =<br \/>\ndiffer(EOL_flag) :f(FILE_OPEN_SECTION)<br \/>\ncrlf = EOL_convert(EOL_flag) :f(EOL_error)<br \/>\nFILE_OPEN_SECTION<br \/>\n(ident(input_file),ident(output_file)) :s(no_file)<br \/>\n*<br \/>\n* Open files. We open the output file in binary mode to continue lines,<br \/>\n* if necessary:<br \/>\n* (1) SNOBOL4 Version:<br \/>\n*<br \/>\n(<br \/>\n+ ident(system,&#8220;Linux&#8220;)<br \/>\n+ ,<br \/>\n+ ident(system,&#8220;Snobol4+&#8220;)<br \/>\n+ )<br \/>\n+ :f(test_linux)<br \/>\n* open input file:<br \/>\ninput(.in,1,&#8220;8000&#8243; ,input_file) :f(no_file)<br \/>\n* open output file:<br \/>\noutput(.out,2,&#8220;B&#8220;,output_file) :s(program_start)f(no_file)<br \/>\n*<br \/>\n* (2) SPITBOL Version:<br \/>\n*<br \/>\ntest_linux<br \/>\n+ (ident(system,&#8220;Spitbol&#8220;),ident(system,&#8220;Linux-SPITBOL&#8220;))<br \/>\n+ :f(system_error)<br \/>\n*<br \/>\n*<br \/>\n* We know the system is SPITBOL compatible, open files:<br \/>\n*<br \/>\nsetexit(continue)<br \/>\n&amp;errlimit = 2<br \/>\ninput(.in,1,input_file &#8222;[-l8000 -m13 -n10]&#8220;) :f(no_file)<br \/>\noutput(.out,2,output_file &#8222;[-r8192]&#8220;) :f(no_file)<br \/>\n&amp;errlimit = 0<br \/>\nsetexit() :(program_start)<br \/>\n*<br \/>\n*<br \/>\n* Program start. Write BOM to outfile; get time to calculate time usage:<br \/>\n*<br \/>\n*<br \/>\nprogram_start<br \/>\n+ out = bom<br \/>\nstart_time = time()<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* *<br \/>\n* Main loop: The program runs between the labels AGAIN and DONE *<br \/>\n* *<br \/>\n* Read one text line. If so done, proceed to next statement. If there *<br \/>\n* are not any lines left (&#8222;failure&#8220; condition), go to label DONE *<br \/>\n* If a line could be read, increase read counter by 1 *<br \/>\n* *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n*<br \/>\nreference =<br \/>\nagain line = in :f(done)<br \/>\n*<br \/>\n* For compatibility with older SNOBOL versions, we set &amp;TRIM = 1 (see above)<br \/>\n* This means: All trailing spaces are taken off upon input<br \/>\n* We want to keep these spaces, except for lines with breakes (ending in -)<br \/>\n* Therefore, we restore the space at the end, taking it off from any line<br \/>\n* which then ends in &#8211; space.<br \/>\n* To achieve this, we apply a pattern which checks for &#8222;- &#8220; at the end of the<br \/>\n* line; if this signals success, we trim the line (by function):<br \/>\n*<br \/>\nline = line space<br \/>\nline = ?(line ? pos(0) breakx(&#8222;-&#8222;) &#8222;- &#8220; rpos(0)) trim(line)<br \/>\n*<br \/>\n* Increment the line_counter number of lines read:<br \/>\n*<br \/>\nline_counter = line_counter + 1<br \/>\n*<br \/>\n* Replace all tabs by spaces to &#8222;normalize line&#8220;:<br \/>\n*<br \/>\nline = replace(line,char(9),char(32))<br \/>\nline pos(0) &#8222;~&#8220; :s(short_line_header)<br \/>\n*<br \/>\n* Reference section of 32 bytes to be assumed?<br \/>\n*<br \/>\nident(no_ref_flag) :f(ref_line)<br \/>\n*<br \/>\n* Take away the reference section of our example and put it into the output line:<br \/>\n* (first 32 bytes):<br \/>\n*<br \/>\nline pos(0) len(32) . reference = :s(ref_line)<br \/>\n*<br \/>\n* block headers are shorter: write out and back up:<br \/>\n* Do not put crlf before first ~line to avoid outputting empty line:<br \/>\n* We put out crlf to close the preceeding line, if and only if:<br \/>\n* it is not the first line (write_counter &gt; 0)<br \/>\n*<br \/>\n*<br \/>\nshort_line_header<br \/>\n+ outline = (gt(write_counter,0) crlf line, line) :(write)<\/p>\n<p>ref_line<br \/>\n+ line pos(0) (any(beta_latin beta_greek) | &#8222;&#8220;) . c1 (beta_add | &#8222;&#8220;) . c2 =<br \/>\n+ :f(normal)<br \/>\n*<br \/>\n* In the above statement, we have checked if the line begins with<br \/>\n* either of the two language markers ($=Greek &amp;=Latin), possibly followed by<br \/>\n* the &#8222;+&#8220; sign, which at the start of the line marks a continuation from the<br \/>\n* preceeding line. We use this to determine if we should close the<br \/>\n* previous line by writing the end-of-line marker to the output file (or not)<br \/>\n* We write the end-of-line marker if and only if the line is no<br \/>\n* continuation, i.e. c2 refers to the null string:<br \/>\n*<br \/>\n* We close the preceeding line, if and only if<br \/>\n* (1) it is not the first line (write counter is &gt;0)<br \/>\n* (2) it is not a continuation line (c2 == null string)<br \/>\n*<br \/>\n*<br \/>\nout = (ident(c2) gt(write_counter,1)) crlf<br \/>\n*<br \/>\n* If the line is a continuation, we do not need the reference any more:<br \/>\n*<br \/>\nreference = differ(c2) &#8222;&#8220;<br \/>\n*<br \/>\n* If the line is a continuation, we kill the &#8222;$&#8220; or &#8222;&amp;&#8220; language signs,<br \/>\n* because the line continues the language under these circumstances:<br \/>\n*<br \/>\nc1 = differ(c2) &#8222;&#8220;<br \/>\n*<br \/>\n* We set the language, if so required (if there was a language marker at the beginning<br \/>\n* of the line)<br \/>\n*<br \/>\nactual_language = differ(c1) languages&lt;c1&gt;<\/p>\n<p>*<br \/>\n* Call the conversion routine, implemented as a function<br \/>\n* Assign result string to variable outline:<br \/>\n* We replace tabs by spaces in the reference section<br \/>\n*<br \/>\nnormal<br \/>\n+ outline = replace(reference,char(9),char(32)) beta_convert(line)<br \/>\n*<br \/>\n* The above statement does all the work &#8211; assigning it to the conversion function<br \/>\n* beta_convert(string)<br \/>\n* Write outline to output file:<br \/>\n*<br \/>\n*<br \/>\nwrite<br \/>\n+ out = outline<br \/>\n*<br \/>\n*<br \/>\n* Maintain output counter, increase by 1, and restart at label AGAIN:<br \/>\n*<br \/>\nwrite_counter = write_counter + 1 :(again)<br \/>\n*<br \/>\n********************************************************************************<br \/>\n* *<br \/>\n* Fatal system errors *<br \/>\n* *<br \/>\n* *<br \/>\n* Error: Unknown system type *<br \/>\n* *<br \/>\n********************************************************************************<br \/>\n*<br \/>\nsystem_error<br \/>\n+ terminal = &#8222;*** Unknown SNOBOL4 system &#8211; aborted ***&#8220;<br \/>\n+ :(end)<br \/>\n*<br \/>\n* End-of-line parameter erroneous:<br \/>\n*<br \/>\nEOL_error<br \/>\n+ terminal = &#8222;*** Error in end-of-line specification&#8220;<br \/>\n+ :(end)<br \/>\n*<br \/>\n* Error routines: File I\/O<br \/>\n* Print error and usage messages:<br \/>\n*<br \/>\nno_file terminal = &#8222;*** I\/O file(s) cannot be opened&#8220;<br \/>\n*<br \/>\n* Wrong parameters &#8211; print usage message<br \/>\n*<br \/>\nusage terminal = &#8222;Usage: betautf8.sno infile outfile&#8220;<br \/>\nterminal = &#8220; [-n] [\/N] [-g] [\/G] [-h] [\/H] [-l] [\/L] [-eol=nn]&#8220;<br \/>\nterminal = &#8220; Use -n or \/n parameter to skip reference section processing.&#8220;<br \/>\nterminal = &#8220; Use this always when working with files that have not been produced&#8220;<br \/>\nterminal = &#8220; by V&amp;F!&#8220;<br \/>\nterminal = &#8220; Use -g or \/g for Greek, -l or \/l for Latin, -h or \/h for Hebrew.&#8220;<br \/>\nterminal = &#8220; Use -eol=nn,nn or \/EOL=NN;NN to change end-of-line.&#8220;<br \/>\nterminal = &#8220; e.d.: \/EOL=13,10&#8243;<br \/>\nterminal = :(end)<br \/>\n*<br \/>\n* We have finished our work &#8211; Close files and print statistics:<br \/>\n*<br \/>\ndone out = crlf<br \/>\nend_time = time()<br \/>\nterminal = &#8222;Conversion successfully finished!&#8220;<br \/>\nterminal =<br \/>\nterminal = &#8222;Lines read: &#8220; line_counter<br \/>\nterminal = &#8222;Lines processed: &#8220; write_counter<br \/>\nterminal = &#8222;Time consumed: &#8220; ((end_time &#8211; start_time) \/ 1000.00) &#8220; seconds&#8220;<br \/>\nterminal =<br \/>\n*<br \/>\n*******************************************************************************<br \/>\n* *<br \/>\n* Explicitly close all files: *<br \/>\n* *<br \/>\n*******************************************************************************<br \/>\n*<br \/>\nendfile(1)<br \/>\nendfile(2)<br \/>\nend<\/p>\n","protected":false},"excerpt":{"rendered":"<p>******************************************************************************* * * * BETAUTF8.SNO * * * * SNOBOL4\/SPITBOL program to convert beta code texts to UTF8 * * Prototypical implementation to check the algorithm * * The program [&hellip;]<\/p>\n","protected":false},"author":185,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-378","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/pages\/378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/users\/185"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/comments?post=378"}],"version-history":[{"count":1,"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/pages\/378\/revisions"}],"predecessor-version":[{"id":379,"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/pages\/378\/revisions\/379"}],"wp:attachment":[{"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/media?parent=378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/categories?post=378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hsu-hh.de\/hisalt\/wp-json\/wp\/v2\/tags?post=378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}