diff options
-rw-r--r-- | lisp/language/tibet-util.el | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lisp/language/tibet-util.el b/lisp/language/tibet-util.el index e9f5e67df9..b58c60dc78 100644 --- a/lisp/language/tibet-util.el +++ b/lisp/language/tibet-util.el @@ -317,13 +317,17 @@ are decomposed into normal Tibetan character sequences." ;;;###autoload (defun tibetan-composition-function (pos &optional string) - (setq pos (1- pos)) (if string - ;; Not yet implemented. - nil - (if (>= pos (point-min)) - (save-excursion - (goto-char pos) + (if auto-compose-current-font + (if (eq (string-match "[$(7!0(B-$,1GQ(B]+" pos) pos) + (or (font-shape-text 0 (match-end 0) auto-compose-current-font + string) + pos))) + (goto-char pos) + (if auto-compose-current-font + (if (looking-at "[$(7!0(B-$,1GQ(B]+") + (or (font-shape-text pos (match-end 0) auto-compose-current-font) + pos) (if (looking-at tibetan-composable-pattern) (prog1 (match-end 0) (tibetan-compose-region pos (match-end 0)))))))) |