org-bullet 显示emoji字符

我希望通过设置

(setq org-bullets-bullet-list '(“:whale:” “:tropical_fish:” “:dolphin:” “:fish:”))

来将org-bullet换成emoji 的符号。

我现在遇到的问题是:

(1)在.init.el文件中emoji文字能够正常显示(这点与https://emacs-china.org/t/cocoa-emacs-mac-apple-color-emoji-emoji/7267和https://emacs-china.org/t/emacs-emoji/230不同),但是在org-mode中无法显示。

(2)与 Integrate with org-bullets-mode · Issue #25 · iqbalansari/emacs-emojify · GitHub 问题几乎一样,但是他的解决方案(我的理解是更新最新的包)并没有解决问题。

我目前的设置是

dotspacemacs-configuration-layers '( emoji org journal )

(defun dotspacemacs/user-config () … (setq org-bullets-bullet-list '(“:whale:” “:tropical_fish:” “:dolphin:” “:fish:”)) )

'(package-selected-packages (quote (emojify ht emoji-cheat-sheet-plus company-emoji youdao-dictionary names chinese-word-at-point reveal-in-osx-finder pbcopy osx-trash osx-dictionary launchctl unfill mwim flycheck-ycmd flycheck-pos-tip pos-tip flycheck company-ycmd ycmd request-deferred deferred disaster company-c-headers cmake-mode clang-format org-journal org-ref pdf-tools key-chord tablist helm-bibtex parsebib company-auctex biblio biblio-core smeargle orgit magit-gitflow gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link evil-magit magit magit-popup git-commit ghub treepy graphql with-editor flyspell-correct-ivy flyspell-correct auto-dictionary mmm-mode markdown-toc markdown-mode gh-md helm-themes helm-swoop helm-pydoc helm-projectile helm-mode-manager helm-flx helm-descbinds helm-company helm-c-yasnippet helm-ag ace-jump-helm-line yasnippet auto-complete org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download htmlize gnuplot fuzzy company-statistics company-anaconda company auto-yasnippet ac-ispell auto-complete-auctex auctex yapfify pyvenv pytest pyenv-mode py-isort pip-requirements live-py-mode hy-mode dash-functional cython-mode anaconda-mode pythonic ws-butler winum which-key wgrep volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline smex restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint ivy-hydra indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-make helm helm-core google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump popup f dash s diminish define-word counsel-projectile projectile pkg-info epl counsel swiper ivy column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed async aggressive-indent adaptive-wrap ace-window ace-link avy))))

PS:我也尝试过 dotspacemacs-additional-packages '(emojify)

和在

(defun dotspacemacs/user-init () (add-hook 'after-init-hook #'global-emojify-mode) ) 但是依然没有用。

不知道有没有人遇到类似的问题,以及是如何解决的。谢谢!

1 个赞

这个emojify怎么实现的不清楚,另一种方法是找个能显示这些字符的字体(然后主帖开头的几个字符要propertize一下),本坛显示的效果和mac的默认字体apple color emoji一样,其他系统不太清楚。具体哪个字体好用等楼下回答。

直接用图片多好 字体太有限了吧

你好,我现在遇到的问题和你一模一样,请问你现在解决了吗?

暂时还没有。等到我解决后再告诉你:slight_smile:

不知道你是什么系统,我是macOs Mojave 10.14.5

也遇到了一样的问题,我一开始使用的是 GNU Emacs for MacOs (https://emacsformacosx.com),发现不能显示emoji,又尝试了论坛中的一些其他修改配置文件的方式也是不行。

后来卸载了,然后重新使用brew 安装,通过以下命令安装

brew tap railwaycat/emacsmacport brew cask install emacs-mac

github 链接:GitHub - railwaycat/homebrew-emacsmacport: Emacs mac port formulae for the Homebrew package manager

现在可以显示emoji了。。。

因为 Emacs 最近增加了新的 text shaping engine .(Harfbuzz) 吧 https://lists.gnu.org/archive/html/emacs-devel/2019-06/msg00123.html

我也是用emojify实现的,把emoji的显示格式改成image。 (setq emojify-display-style 'image) 但是这样显示出来图标使用的是twemoji,不好看。 可以在http://unicode.org/emoji/charts/full-emoji-list.html#1f644下载了想用的图标,用photoshop调整成22×22大小的png,找到emojis文件夹,覆盖掉相应的png。

感觉比较优雅的方法,是通过更改unicode的字体实现,可以用unicode-fonts,但是我也还没能弄好。