all-the-icons.el icon indicating copy to clipboard operation
all-the-icons.el copied to clipboard

Family name in the some of icons is not handled expectedly in a face object

Open tomoyukim opened this issue 3 years ago • 0 comments

Hello and thank you for your all effort to provide this great package!

I faced an issue that some of the glyphs are not properly displayed when creating a face object with the :family attribute. For example, the following code returns "icons" unexpectedly. So, the family attribute is not passed to :propertize correctly in mode-line-format.

(defface hoge '((t :family "file-icons")) "")
(face-attribute 'hoge :family) ; => "icons"

This seems to be caused by faces.el implementation. The code treats a string value set in :family attribute as "{foundry}-{family}" format when the value contains a hyphen. So, the family attribute ends up being "icons". In the case of "all-the-icons", it will be "the".

To avoid this symptom, could you consider changing the family name of some font sets that have a hyphen? I think the icons listed below should be renamed:

  • all-the-icons
  • file-icons
  • github-octicons

FYI, I use the following version of Emacs. Thank you. GNU Emacs 27.1 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G95)) of 2020-08-12

tomoyukim avatar Aug 04 '21 12:08 tomoyukim