Emacs的缅文支持问题

最近学习缅甸语,在Windows上的Emacs(29.4)中输入缅文时遇到了一些问题:

  1. 打开Emacs后输入缅文或打开含有缅文的文件会导致Emacs卡上半分钟后才有反应。
  2. 用Windows自带的缅文输入法在Emacs内输入缅文时,出现的预览会将缅文显示为竖线:

目前有办法解决这两个问题吗?

在 Emacs 中设定缅甸文字体了吗

在配置文件中手动指定字体后第一个问题解决了。

(set-fontset-font t 'burmese (font-spec :family "Myanmar Text") nil)

目前不清楚第二个问题怎么解决。

没设定字体的话,查询时间可能会很长。

第二个问题我也看到了

image

类似问题的帖子:

发现如果使用的是拼音顺序的缅文键盘就没有这个问题,而使用视觉顺序(不会直接上屏)就会有第二个问题。这个问题可以暂时算是解决了。

拼音顺序的缅文键盘还是用不习惯,所以用Emacs内置的输入法功能搞了一个视觉顺序的缅文键盘:

(require 'quail)

(quail-define-package
 "burmese-visual" "Burmese" "MV" nil "Burmese input method (visual order).

" nil t t t t nil nil nil nil nil t)

(quail-define-rules
 ("1" ?၁)
 ("2" ?၂)
 ("3" ?၃)
 ("4" ?၄)
 ("5" ?၅)
 ("6" ?၆)
 ("7" ?၇)
 ("8" ?၈)
 ("9" ?၉)
 ("0" ?၀)
 
 ("!" ?ဍ)
 ("@" ?ၒ)
 ("#" ?ဋ)
 ("$" ?ၓ)
 ("%" ?ၔ)
 ("^" ?ၕ)
 ("&" ?ရ)
 
 ("`" ?ၐ)
 ("~" ?ဎ)
 
 ("Q" ["ဈ"])
 ("W" ?ဝ)
 ("E" ["ဣ"])
 ("R" ["၎"])
 ("T" ["ဤ"])
 ("Y" ["၌"])
 ("U" ?ဥ)
 ("I" ?၍)
 ("O" ?ဿ)
 ("P" ?ဏ)
 ("{" ?ဧ)
 ("}" ["ဪ"])

 ("A" ?ဗ)
 ("S" ?ှ)
 ("D" ?ီ)
 ("F" ?္)
 ("G" ?ွ)
 ("H" ?ံ)
 ("J" ?ဲ)
 ("K" ?ဒ)
 ("L" ?ဓ)

 ("Z" ?ဇ)
 ("X" ?ဌ)
 ("C" ?ဃ)
 ("V" ?ဠ)
 ("B" ?ယ)
 ("N" ?ဉ)
 ("M" ["ဦ"])
 ("<" ?၊)
 (">" ?။)
 ("?" ??)

 ("q" ?ဆ)
 ("w" ?တ)
 ("e" ?န)
 ("r" ?မ)
 ("t" ?အ)
 ("y" ?ပ)
 ("u" ?က)
 ("i" ?င)
 ("o" ?သ)
 ("p" ?စ)
 ("[" ?ဟ)
 ("]" ["ဩ"])

 ("a" ?ေ)
 ("s" ?ျ)
 ("d" ?ိ)
 ("f" ?်)
 ("g" ?ါ)
 ("h" ?့)
 ("j" ?ြ)
 ("k" ?ု)
 ("l" ?ူ)
 (";" ?း)
 (":" ?ဂ)

 ("z" ?ဖ)
 ("x" ?ထ)
 ("c" ?ခ)
 ("v" ?လ)
 ("b" ?ဘ)
 ("n" ?ည)
 ("m" ?ာ)

 ("au" ["ကေ"]) ("ac" ["ခေ"]) ("a:" ["ဂေ"]) ("aC" ["ဃေ"]) ("ai" ["ငေ"])
 ("ap" ["စေ"]) ("aq" ["ဆေ"]) ("aZ" ["ဇေ"]) ("aQ" ["ဈေ"]) ("an" ["ညေ"])
 ("a#" ["ဋေ"]) ("aX" ["ဌေ"]) ("a!" ["ဍေ"]) ("a~" ["ဎေ"]) ("aP" ["ဏေ"])
 ("aw" ["တေ"]) ("ax" ["ထေ"]) ("aK" ["ဒေ"]) ("aL" ["ဓေ"]) ("ae" ["နေ"])
 ("ay" ["ပေ"]) ("az" ["ဖေ"]) ("aA" ["ဗေ"]) ("ab" ["ဘေ"]) ("ar" ["မေ"])
 ("aB" ["ယေ"]) ("a&" ["ရေ"]) ("av" ["လေ"]) ("aW" ["ဝေ"]) ("ao" ["သေ"])
 ("a[" ["ဟေ"]) ("aV" ["ဠေ"]) ("at" ["အေ"])
 )