I noticed that some Chinese characters are not accessible via the chinese-py and chinese-tonepy input methods. For example, the character duì: 䨺. I verified that in chinese-tonepy there are no submenus for duì. The character is, however, available and supported by emacs. How can I add additional characters to the pinyin menus?
how to add characters to Chinese input method in emacs
374 views Asked by Mayer Goldberg At
1
I was able to add it by editing the files
PY.el
andTONEPY.el
. You can find these files quickly usingM-x find-library
, assuming you have installed the Emacs Lisp source code along with Emacs.In
PY.el
, I found this line:I added this character to the end of the string:
And then I typed
M-x eval-buffer
.Likewise, in
TONEPY.el
I modified the line fordui4
and came up with:After typing
M-x eval-buffer
in the corresponding buffer, the input methodschinese-py
andchinese-tonepy
let me type the character 䨺.After changing these files, I wanted to save them. That turned out to be more difficult. At the bottom, they have this line:
However, when saving with
C-x C-s
, Emacs complains that 䨺 cannot be encoded with this coding system. Thus I modified that line to read:And told Emacs to save the file as
utf-8
. It seemed to work, but I'm not sure if this breaks anything.This is probably not the right way to go about this. The comments at the top of
PY.el
andTONEPY.el
state that they were generated from the filespinyin.map
andTONEPY.tit
respectively, so the right thing to do is presumably to update those data files, or add more entries to whatever database they are taken from.