Function: tibetan-transcription-to-tibetan
tibetan-transcription-to-tibetan is an autoloaded and byte-compiled
function defined in tibet-util.el.gz.
Signature
(tibetan-transcription-to-tibetan STR)
Documentation
Convert Tibetan Roman string STR to Tibetan character string.
The returned string has no composition information.
Source Code
;; Defined in /usr/src/emacs/lisp/language/tibet-util.el.gz
;;;###autoload
(defun tibetan-transcription-to-tibetan (str)
"Convert Tibetan Roman string STR to Tibetan character string.
The returned string has no composition information."
(let (;; Case is significant.
(case-fold-search nil)
(idx 0)
;; Accumulate Tibetan strings here in reverse order.
(t-str-list nil)
i subtrans)
(while (setq i (string-match tibetan-regexp str idx))
(if (< idx i)
;; STR contains a pattern that doesn't match Tibetan
;; transcription. Include the pattern as is.
(setq t-str-list (cons (substring str idx i) t-str-list)))
(setq subtrans (match-string 0 str)
idx (match-end 0))
(let ((t-char (cdr (assoc subtrans
tibetan-precomposed-transcription-alist))))
(if t-char
;; SUBTRANS corresponds to a transcription for
;; precomposable Tibetan sequence.
(setq t-char (car (rassoc t-char
tibetan-precomposition-rule-alist)))
(setq t-char
(cdr
(or (assoc subtrans tibetan-consonant-transcription-alist)
(assoc subtrans tibetan-vowel-transcription-alist)
(assoc subtrans tibetan-modifier-transcription-alist)
(assoc subtrans tibetan-subjoined-transcription-alist)))))
(setq t-str-list (cons t-char t-str-list))))
(if (< idx (length str))
(setq t-str-list (cons (substring str idx) t-str-list)))
(apply 'concat (nreverse t-str-list))))