[Biblical-languages] Python script for converting beta to Unicode

Jonathan Robie jonathan.robie at datadirect.com
Fri Apr 9 15:12:12 EDT 2004


I just wrote this for my own use, and thought I might send it to the 
list in case someone else finds it handy. It uses a regular expression 
to get individual "characters" from the beta representation, where the 
"character" includes any breathing marks or diacriticals. Then it looks 
up each "character" in a Python dictionary and does the required conversion.

This should be simple to modify for other encodings. I've converted the 
Greek New Testament with it, and the result seems to read correctly, 
though it's not impossible that there are still bugs.

This conversion is limited to characters found in the Greek New 
Testament, because that's the data I had to test it with.

Jonathan

import string
import re
import codecs

#========================================================================
# Beta to Unicode conversion
#========================================================================
#
# This conversion is limited to characters found in the GNT
#
#  Accents:
#    Grave (Varia)
#    Acute (Oxia)
#    Circumflex (Perispomeni)
#
#  Breathings:
#    Rough (Daseia)
#    Smooth (Psili)
#
#  Iota Subscript (Iota Subscript)
#  Diaresis (Dialytika)
#
# First shot: Use the Scholar's Press encodings
# http://rosetta.reltech.org/TC/TC-translit.html
#
# For interpretation of Unicode identifiers, see:
# http://ptolemy.tlg.uci.edu/~opoudjis/unicode/unicode_gkbkgd.html
#
# Unicode normalization charts:
# http://www.unicode.org/charts/normalization/
#
# Unicode case mapping charts:
# http://www.unicode.org/charts/case/

dict = {
'*a': u'\u0391', # GREEK CAPITAL LETTER ALPHA
'*(a': u'\u1F09', # GREEK CAPITAL LETTER ALPHA WITH DASIA
'*(a/': u'\u1F0D', # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
'*(a=': u'\u1F0F', # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
'*(a=|': u'\u1F8F', # GREEK CAPITAL LETTER ALPHA WITH DASIA AND 
PERISPOMENI AND PROSGEGRAMMENI
'*(a|': u'\u1F89', # GREEK CAPITAL LETTER ALPHA WITH DASIA AND 
PROSGEGRAMMENI
'*(a\\': u'\u1F0B', # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
'*(a\\|': u'\u1F8B', # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA 
AND PROSGEGRAMMENI
'*a/': u'\u1FBB', # GREEK CAPITAL LETTER ALPHA WITH OXIA
'*)a': u'\u1F08', # GREEK CAPITAL LETTER ALPHA WITH PSILI
'*)a/': u'\u1F0C', # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
'*)a/|': u'\u1F8C', # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND 
PROSGEGRAMMENI
'*)a=': u'\u1F0E', # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
'*)a|': u'\u1F88', # GREEK CAPITAL LETTER ALPHA WITH PSILI AND 
PROSGEGRAMMENI
'*)a\\': u'\u1F0A', # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
'*)a\\|': u'\u1F8A', # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA 
AND PROSGEGRAMMENI
'*a\\': u'\u1FBA', # GREEK CAPITAL LETTER ALPHA WITH VARIA
'*b': u'\u0392', # GREEK CAPITAL LETTER BETA
'*x': u'\u03A7', # GREEK CAPITAL LETTER CHI
'*d': u'\u0394', # GREEK CAPITAL LETTER DELTA
'*e': u'\u0395', # GREEK CAPITAL LETTER EPSILON
'*(e': u'\u1F19', # GREEK CAPITAL LETTER EPSILON WITH DASIA
'*(e/': u'\u1F1D', # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
'*(e\\': u'\u1F1B', # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
'*e/': u'\u1FC9', # GREEK CAPITAL LETTER EPSILON WITH OXIA
'*)e': u'\u1F18', # GREEK CAPITAL LETTER EPSILON WITH PSILI
'*)e/': u'\u1F1C', # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
'*)e\\': u'\u1F1A', # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
'*e\\': u'\u1FC8', # GREEK CAPITAL LETTER EPSILON WITH VARIA
'*h': u'\u0397', # GREEK CAPITAL LETTER ETA
'*(h': u'\u1F29', # GREEK CAPITAL LETTER ETA WITH DASIA
'*(h/': u'\u1F2D', # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
'*(h=': u'\u1F2F', # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
'*(h\\': u'\u1F2B', # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
'*h/': u'\u1FCB', # GREEK CAPITAL LETTER ETA WITH OXIA
'*)h': u'\u1F28', # GREEK CAPITAL LETTER ETA WITH PSILI
'*)h/': u'\u1F2C', # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
'*)h=': u'\u1F2E', # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
'*)h\\': u'\u1F2A', # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
'*)h\\|': u'\u1F9A', # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND 
PROSGEGRAMMENI
'*h\\': u'\u1FCA', # GREEK CAPITAL LETTER ETA WITH VARIA
'*g': u'\u0393', # GREEK CAPITAL LETTER GAMMA
'*i': u'\u0399', # GREEK CAPITAL LETTER IOTA
'*(i': u'\u1F39', # GREEK CAPITAL LETTER IOTA WITH DASIA
'*(i/': u'\u1F3D', # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
'*(i=': u'\u1F3F', # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
'*(i\\': u'\u1F3B', # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
'*i+': u'\u03AA', # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
'*i/': u'\u1FDB', # GREEK CAPITAL LETTER IOTA WITH OXIA
'*)i': u'\u1F38', # GREEK CAPITAL LETTER IOTA WITH PSILI
'*)i/': u'\u1F3C', # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
'*)i=': u'\u1F3E', # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
'*)i\\': u'\u1F3A', # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
'*i\\': u'\u1FDA', # GREEK CAPITAL LETTER IOTA WITH VARIA
'*k': u'\u039A', # GREEK CAPITAL LETTER KAPPA
'*l': u'\u039B', # GREEK CAPITAL LETTER LAMDA
'*m': u'\u039C', # GREEK CAPITAL LETTER MU
'*n': u'\u039D', # GREEK CAPITAL LETTER NU
'*w': u'\u03A9', # GREEK CAPITAL LETTER OMEGA
'*(w': u'\u1F69', # GREEK CAPITAL LETTER OMEGA WITH DASIA
'*(w/': u'\u1F6D', # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
'*(w=': u'\u1F6F', # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
'*(w\\': u'\u1F6B', # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
'*w/': u'\u1FFB', # GREEK CAPITAL LETTER OMEGA WITH OXIA
'*)w': u'\u1F68', # GREEK CAPITAL LETTER OMEGA WITH PSILI
'*)w/': u'\u1F6C', # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
'*)w=': u'\u1F6E', # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
'*)w\\': u'\u1F6A', # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
'*w\\': u'\u1FFA', # GREEK CAPITAL LETTER OMEGA WITH VARIA
'*o': u'\u039F', # GREEK CAPITAL LETTER OMICRON
'*(o': u'\u1F49', # GREEK CAPITAL LETTER OMICRON WITH DASIA
'*(o/': u'\u1F4D', # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
'*(o\\': u'\u1F4B', # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
'*o/': u'\u1FF9', # GREEK CAPITAL LETTER OMICRON WITH OXIA
'*)o': u'\u1F48', # GREEK CAPITAL LETTER OMICRON WITH PSILI
'*)o/': u'\u1F4C', # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
'*)o\\': u'\u1F4A', # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
'*o\\': u'\u1FF8', # GREEK CAPITAL LETTER OMICRON WITH VARIA
'*f': u'\u03A6', # GREEK CAPITAL LETTER PHI
'*p': u'\u03A0', # GREEK CAPITAL LETTER PI
'*y': u'\u03A8', # GREEK CAPITAL LETTER PSI
'*r': u'\u03A1', # GREEK CAPITAL LETTER RHO
'*(r': u'\u1FEC', # GREEK CAPITAL LETTER RHO WITH DASIA
'*s': u'\u03A3', # GREEK CAPITAL LETTER SIGMA
'*t': u'\u03A4', # GREEK CAPITAL LETTER TAU
'*q': u'\u0398', # GREEK CAPITAL LETTER THETA
'*u': u'\u03A5', # GREEK CAPITAL LETTER UPSILON
'*(u': u'\u1F59', # GREEK CAPITAL LETTER UPSILON WITH DASIA
'*(u/': u'\u1F5D', # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
'*(u=': u'\u1F5F', # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
'*(u\\': u'\u1F5B', # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
'*u+': u'\u03AB', # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
'*u/': u'\u1FEB', # GREEK CAPITAL LETTER UPSILON WITH OXIA
'*u\\': u'\u1FEA', # GREEK CAPITAL LETTER UPSILON WITH VARIA
'*c': u'\u039E', # GREEK CAPITAL LETTER XI
'*z': u'\u0396', # GREEK CAPITAL LETTER ZETA
'a': u'\u03B1', # GREEK SMALL LETTER ALPHA
'a(': u'\u1F01', # GREEK SMALL LETTER ALPHA WITH DASIA
'a(/': u'\u1F05', # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
'a(/|': u'\u1F85', # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND 
YPOGEGRAMMENI
'a(=': u'\u1F07', # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
'a(=|': u'\u1F87', # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI 
AND YPOGEGRAMMENI
'a(\\': u'\u1F03', # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
'a(\\|': u'\u1F83', # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND 
YPOGEGRAMMENI
'a(|': u'\u1F81', # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
'a/': u'\u1F71', # GREEK SMALL LETTER ALPHA WITH OXIA
'a/|': u'\u1FB4', # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
'a=': u'\u1FB6', # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
'a=|': u'\u1FB7', # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND 
YPOGEGRAMMENI
'a)': u'\u1F00', # GREEK SMALL LETTER ALPHA WITH PSILI
'a)/': u'\u1F04', # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
'a)/|': u'\u1F84', # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND 
YPOGEGRAMMENI
'a)=': u'\u1F06', # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
'a)=|': u'\u1F86', # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI 
AND YPOGEGRAMMENI
'a)\\': u'\u1F02', # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
'a)\\|': u'\u1F82', # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND 
YPOGEGRAMMENI
'a)|': u'\u1F80', # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
'a\\': u'\u1F70', # GREEK SMALL LETTER ALPHA WITH VARIA
'a\\|': u'\u1FB2', # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
'a|': u'\u1FB3', # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
'b': u'\u03B2', # GREEK SMALL LETTER BETA
'x': u'\u03C7', # GREEK SMALL LETTER CHI
'd': u'\u03B4', # GREEK SMALL LETTER DELTA
'e': u'\u03B5', # GREEK SMALL LETTER EPSILON
'e(': u'\u1F11', # GREEK SMALL LETTER EPSILON WITH DASIA
'e(/': u'\u1F15', # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
'e(\\': u'\u1F13', # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
'e/': u'\u1F73', # GREEK SMALL LETTER EPSILON WITH OXIA
'e)': u'\u1F10', # GREEK SMALL LETTER EPSILON WITH PSILI
'e)/': u'\u1F14', # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
'e)\\': u'\u1F12', # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
'e\\': u'\u1F72', # GREEK SMALL LETTER EPSILON WITH VARIA
'h': u'\u03B7', # GREEK SMALL LETTER ETA
'h(': u'\u1F21', # GREEK SMALL LETTER ETA WITH DASIA
'h(/': u'\u1F25', # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
'h(/|': u'\u1F95', # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND 
YPOGEGRAMMENI
'h(=': u'\u1F27', # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
'h(=|': u'\u1F97', # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI 
AND YPOGEGRAMMENI
'h(\\': u'\u1F23', # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
'h(\\|': u'\u1F93', # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND 
YPOGEGRAMMENI
'h(|': u'\u1F91', # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
'h/': u'\u1F75', # GREEK SMALL LETTER ETA WITH OXIA
'h/|': u'\u1FC4', # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
'h=': u'\u1FC6', # GREEK SMALL LETTER ETA WITH PERISPOMENI
'h=|': u'\u1FC7', # GREEK SMALL LETTER ETA WITH PERISPOMENI AND 
YPOGEGRAMMENI
'h)': u'\u1F20', # GREEK SMALL LETTER ETA WITH PSILI
'h)/': u'\u1F24', # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
'h)/|': u'\u1F94', # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND 
YPOGEGRAMMENI
'h)=': u'\u1F26', # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
'h)=|': u'\u1F96', # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI 
AND YPOGEGRAMMENI
'h)\\': u'\u1F22', # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
'h)\\|': u'\u1F92', # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND 
YPOGEGRAMMENI
'h)|': u'\u1F90', # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
'h\\': u'\u1F74', # GREEK SMALL LETTER ETA WITH VARIA
'h\\|': u'\u1FC2', # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
'h|': u'\u1FC3', # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
'g': u'\u03B3', # GREEK SMALL LETTER GAMMA
'i': u'\u03B9', # GREEK SMALL LETTER IOTA
'i(': u'\u1F31', # GREEK SMALL LETTER IOTA WITH DASIA
'i(/': u'\u1F35', # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
'i(=': u'\u1F37', # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
'i(\\': u'\u1F33', # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
'i+': u'\u03CA', # GREEK SMALL LETTER IOTA WITH DIALYTIKA
'i+/': u'\u1FD3', # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
'i+=': u'\u1FD7', # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
'i+\\': u'\u1FD2', # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
'i/': u'\u1F77', # GREEK SMALL LETTER IOTA WITH OXIA
'i=': u'\u1FD6', # GREEK SMALL LETTER IOTA WITH PERISPOMENI
'i)': u'\u1F30', # GREEK SMALL LETTER IOTA WITH PSILI
'i)/': u'\u1F34', # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
'i)=': u'\u1F36', # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
'i)\\': u'\u1F32', # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
'i\\': u'\u1F76', # GREEK SMALL LETTER IOTA WITH VARIA
'k': u'\u03BA', # GREEK SMALL LETTER KAPPA
'l': u'\u03BB', # GREEK SMALL LETTER LAMDA
'm': u'\u03BC', # GREEK SMALL LETTER MU
'n': u'\u03BD', # GREEK SMALL LETTER NU
'w': u'\u03C9', # GREEK SMALL LETTER OMEGA
'w(': u'\u1F61', # GREEK SMALL LETTER OMEGA WITH DASIA
'w(/': u'\u1F65', # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
'w(/|': u'\u1FA5', # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND 
YPOGEGRAMMENI
'w(=': u'\u1F67', # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
'w(=|': u'\u1FA7', # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI 
AND YPOGEGRAMMENI
'w(\\': u'\u1F63', # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
'w(\\|': u'\u1FA3', # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND 
YPOGEGRAMMENI
'w(|': u'\u1FA1', # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
'w/': u'\u1F7D', # GREEK SMALL LETTER OMEGA WITH OXIA
'w/|': u'\u1FF4', # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
'w=': u'\u1FF6', # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
'w=|': u'\u1FF7', # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND 
YPOGEGRAMMENI
'w)': u'\u1F60', # GREEK SMALL LETTER OMEGA WITH PSILI
'w)/': u'\u1F64', # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
'w)/|': u'\u1FA4', # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND 
YPOGEGRAMMENI
'w)=': u'\u1F66', # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
'w)=|': u'\u1FA6', # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI 
AND YPOGEGRAMMENI
'w)\\': u'\u1F62', # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
'w)\\|': u'\u1FA2', # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND 
YPOGEGRAMMENI
'w)|': u'\u1FA0', # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
'w\\': u'\u1F7C', # GREEK SMALL LETTER OMEGA WITH VARIA
'w\\|': u'\u1FF2', # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
'w|': u'\u1FF3', # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
'o': u'\u03BF', # GREEK SMALL LETTER OMICRON
'o(': u'\u1F41', # GREEK SMALL LETTER OMICRON WITH DASIA
'o(/': u'\u1F45', # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
'o(\\': u'\u1F43', # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
'o/': u'\u1F79', # GREEK SMALL LETTER OMICRON WITH OXIA
'o)': u'\u1F40', # GREEK SMALL LETTER OMICRON WITH PSILI
'o)/': u'\u1F44', # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
'o)\\': u'\u1F42', # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
'o\\': u'\u1F78', # GREEK SMALL LETTER OMICRON WITH VARIA
'f': u'\u03C6', # GREEK SMALL LETTER PHI
'p': u'\u03C0', # GREEK SMALL LETTER PI
'y': u'\u03C8', # GREEK SMALL LETTER PSI
'r': u'\u03C1', # GREEK SMALL LETTER RHO
'r(': u'\u1FE5', # GREEK SMALL LETTER RHO WITH DASIA
'r)': u'\u1FE4', # GREEK SMALL LETTER RHO WITH PSILI
's': u'\u03C3', # GREEK SMALL LETTER SIGMA
't': u'\u03C4', # GREEK SMALL LETTER TAU
'q': u'\u03B8', # GREEK SMALL LETTER THETA
'u': u'\u03C5', # GREEK SMALL LETTER UPSILON
'u(': u'\u1F51', # GREEK SMALL LETTER UPSILON WITH DASIA
'u(/': u'\u1F55', # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
'u(=': u'\u1F57', # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
'u(\\': u'\u1F53', # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
'u+': u'\u03CB', # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
'u+/': u'\u1FE3', # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
'u+=': u'\u1FE7', # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND 
PERISPOMENI
'u+\\': u'\u1FE2', # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
'u/': u'\u1F7B', # GREEK SMALL LETTER UPSILON WITH OXIA
'u=': u'\u1FE6', # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
'u)': u'\u1F50', # GREEK SMALL LETTER UPSILON WITH PSILI
'u)/': u'\u1F54', # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
'u)=': u'\u1F56', # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
'u)\\': u'\u1F52', # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
'u\\': u'\u1F7A', # GREEK SMALL LETTER UPSILON WITH VARIA
'c': u'\u03BE', # GREEK SMALL LETTER XI
'z': u'\u03B6' # GREEK SMALL LETTER ZETA
}

# Don't forget to correct for final sigma!

#========================================================================
# RE for extracting beta characters from string
#========================================================================

pattern = re.compile(r'[*()]*[a-z][()\\/=\|]*')

def unicodify( betastring ):
     for c in pattern.findall( betastring ):
         try:
             x = dict[c]
         except KeyError:
             otf.write("(#"+c+"#)")
         else:
             otf.write(x)


More information about the Biblical-languages mailing list