Пример #1
0
def TransliterateFrom(input_text, input_scheme, pass_through=None):
    """Transliterates text to SLP1, after being told what script it is."""
    input_text = _IsoToIast(input_text)

    def ForKannada(text):
        text = KannadaToDevanagari(text)
        text = _FixBadDevanagari(text)
        text = text.replace('s', 'ऽ')
        return _TransliterateDevanagari(text)

    actions = {
        TRANSLITERATION_SCHEME.Kannada:
        ForKannada,
        TRANSLITERATION_SCHEME.Devanagari:
        lambda text: _TransliterateDevanagari(text),
        TRANSLITERATION_SCHEME.IAST:
        lambda text: transliterator.Transliterate(_IAST_TO_SLP1_STATE_MACHINE,
                                                  text, pass_through),
        TRANSLITERATION_SCHEME.ITRANS:
        lambda text: transliterator.Transliterate(
            _ITRANS_TO_SLP1_STATE_MACHINE, text, pass_through),
        TRANSLITERATION_SCHEME.HK:
        lambda text: transliterator.Transliterate(_HK_TO_SLP1_STATE_MACHINE,
                                                  text, pass_through)
    }
    return actions[input_scheme](input_text)
Пример #2
0
def AddDevanagariToIast(iast):
  """Given IAST text, include the Devanagari transliteration in brackets."""
  stray = ' ()/'      # Non-IAST characters that appear in metre names
  slp_text = transliterator.Transliterate(_IAST_TO_SLP1_STATE_MACHINE, iast, pass_through=stray)[0]
  (deva, unparsed) = transliterator.Transliterate(_SLP1_TO_MANGLED_DEVANAGARI_STATE_MACHINE,
                                                  slp_text, pass_through=stray)
  assert not unparsed, (deva, unparsed)
  assert isinstance(deva, unicode), deva
  deva = devanagari.UnMangle(deva)
  return '%s (%s)' % (iast, deva)
Пример #3
0
def _CleanSLP1ToDevanagari(text):
    (text, unparsed) = transliterator.Transliterate(
        _SLP1_TO_MANGLED_DEVANAGARI_STATE_MACHINE,
        text,
        pass_through=_DEFAULT_PASS_THROUGH)
    assert not unparsed, (text, unparsed)
    assert isinstance(text, unicode), text
    return devanagari.UnMangle(text)
Пример #4
0
def _TransliterateDevanagari(text):
  return transliterator.Transliterate(_MANGLED_DEVANAGARI_TO_SLP1_STATE_MACHINE,
                                      devanagari.Mangle(text),
                                      _DEFAULT_PASS_THROUGH)
Пример #5
0
def TransliterateForTable(text):
  return transliterator.Transliterate(_SLP1_TO_IAST_STATE_MACHINE, text,
                                      pass_through=_DEFAULT_PASS_THROUGH)[0]
Пример #6
0
def TransliterateForOutput(text):
  iast = transliterator.Transliterate(_SLP1_TO_IAST_STATE_MACHINE, text,
                                      pass_through=_DEFAULT_PASS_THROUGH)[0]
  deva = _CleanSLP1ToDevanagari(text)
  return '%s (%s)' % (iast, deva)
Пример #7
0
def KannadaToDevanagari(text):
  return transliterator.Transliterate(_KANNADA_TO_DEVANAGARI, text,
                                      pass_through=_DEFAULT_PASS_THROUGH)[0]