For help in loading these macros into Connexion, see my step-by-step instructions.
To use the ***2Latin macros, put the cursor in a field containing script using that alphabet, then run the macro. The macro will attempt to transliterate the data, will add the Romanized data in a new field, and will link the new field to your existing field.
To use the Latin2*** macros, put the cursor in a field containing Romanized data, then run the macro. The macro will attempt to un-transliterate the data, will add the vernacular characters in a new field, and will link the new field to your existing field. These macros will attempt to transliterate all Latin-alphabet text in a field (except for subfield indicators), so you may have to manually change some subfields back to Latin; for example, GMDs.
In both cases, you will have to double-check the results, because the macro cannot handle every possible case and exception. This is in part because some vernacular characters on the transliteration tables are not yet valid for use in MARC records, and some valid MARC characters are not included in the Arial Unicode MS font (nor most other Unicode fonts); these will be transliterated by the macro as fill characters (a black rectangle). In these cases, you must manually edit the transliterated field before the record will validate. You may have to use character descriptions instead of the actual characters, as instructed in the Connexion help file; for example, when working with MARC8 rather than Unicode, the Azerbaijani schwa should be entered as "[Schwa]" or "[schwa]" (depending on case) in an otherwise vernacular field, as that character is not valid for use in MARC8 records.
Starting in 2016, OCLC now considers all of Unicode to be valid for use in WorldCat bibliographic records, though authority records still only support MARC8-compatible Unicode characters. Several of these macros will need to be updated as a result. The Latin2Cyrillic macro is the first; it now has two versions here: The standard version, which uses a wider range of Unicode characters, and the original MARC8 version, which is limited to those Cyrillic characters that are supported by MARC8.
With several of the macros, you will be asked to select the transliteration table for a particular language using that writing system you wish to use. If you want to change the default selections (so that you can simply press Enter most of the time), you can do this by editing the indicated values just after "Sub Main" in the relevant macro.
If you have problems unzipping the file, here is the plain macrobook file, which you should be able to simply download and move into your Macros directory. However, because the file is so large, and I do not want the number of download requests to overwhelm my daily limits, I ask you to please instead download the zipped version above unless absolutely necessary.
This version is a first draft at best; while there are many things it can't do, there may be some regular patterns that it currently misses that it could handle better. If you find any of the latter, please let me know.
For Thai2Latin, the results will be somewhat more accurate if you insert spaces in the original Thai text wherever there should be spaces in the transliteration, then remove those spaces from the original Thai text after you are done with the macro.
NOTE: These versions are currently a first draft at best; I've tried to make them handle as many common cases as I can, there may be some regular patterns or extremely common words that one or the other currently miss that they could handle better. If you find any of those cases, please let me know.
NOTE: These versions are currently a first draft, if they can even be called that; they do not yet handle even those common exceptions that they possibly eventually could. They seem to work well enough as far as the basic LC transliteration table goes, but you will almost certainly have to manually correct the results.