Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eelll の初回起動時にフォント読みこみエラー #10

Open
naota opened this issue Nov 8, 2018 · 8 comments
Open

eelll の初回起動時にフォント読みこみエラー #10

naota opened this issue Nov 8, 2018 · 8 comments

Comments

@naota
Copy link

naota commented Nov 8, 2018

#8 で, 話題が出ていますが, eelll の初回起動時に以下のようなエラーが出ています.

helm-M-x: Font not available: #<font-spec nil nil fixed nil iso8859-1 medium r normal 16 nil nil nil ((:name . "--fixed-medium-r-normal--16------iso8859-1") (:user-spec . "--fixed-medium-r-normal--16------iso8859-1"))>

多分, 固定幅フォントをfaceにのせているんでしょうか? 現代的には, XFTのようなフォント指定にした方がよいかなという気がします. (Windows, Macでも同様に動くかな…)

@ujimushi
Copy link

ujimushi commented Nov 8, 2018

最近は fixed とか medium とかフォント指定文字列に出てこない気がします。
fontset-alias-alist のリストの中身を見た感じでは安直にデフォルトのフォント指定にして

--- a/eelll.el
+++ b/eelll.el
@@ -107,7 +107,7 @@
 	  '((t (:font "default"
 		      :foreground "black"
 		      :background "white")))
-	'((t (:font "-*-fixed-medium-r-normal-*-16-*-*-*-*-*-*-*"
+	'((t (:font "-*-*-*-*-*-*-*-*-*-*-*-*-fontset-default"
 		    :foreground "black"
 		    :background "white"))))
       "*一行ヘルプを使った EELLL でのヘルプのフェイス"
@@ -146,7 +146,7 @@
       '((name . "EELLL")
 	(font . "default"))
     '((name . "EELLL")
-      (font . "-*-fixed-medium-r-normal-*-16-*-*-*-*-*-*-*")))
+      (font . "-*-*-*-*-*-*-*-*-*-*-*-*-fontset-default")))
   "*`eelll-other-frame'で用いるフレームのパラメータ。")
 
 (defvar eelll-bushu-stroke-alist

とかでも直りそうな気がします。
この "ほげほげ-fontset-default" について 26.1(Windows),25.2(Ubuntu)
24.4(Windows),23.3.1(Windows)で定義されていることはこちらで確認しました。

@naota
Copy link
Author

naota commented Nov 9, 2018

fixed にしているので, 多分 monospace なフォントにしたい気持ちがあるんだと思います. 一応それを尊重して, ":spacing=m"でどうでしょうか? 以下のコードのような感じでテストしてみています

(let ((fontspec ":spacing=m"))
  (setq eelll-frame-parameters
	`((name . "EELLL")
	  (font . ,fontspec)))
  (setq tcode-help-with-real-keys t)
  (setq eelll-face nil)
  (delete-frame eelll-frame)
  (defface eelll-face
    `((t (:font ,fontspec
		:foreground "black"
		:background "white")))
    "*一行ヘルプを使った EELLL でのヘルプのフェイス"
    :group 'eelll)
  (eelll-other-frame))

@naota
Copy link
Author

naota commented Nov 9, 2018

これをテストしていて気がついたんですが, いま eelll-insert-with-face() で使っている face は (defface eelll ...) してますが, 名前かぶりのせいなのか, face が定義できていません. これも "eelll-face"とかに直した方がよさそうです.

@naota
Copy link
Author

naota commented Nov 28, 2018

@ujimushi こちらWindowsでどのようになるか試していただけませんか。こちらだと環境がないもので
#10 (comment)

@ujimushi
Copy link

すみません。提示されているコードをどこに追加したらよいかもよく分かってなくて…
(delete-frame eelll-frame) があるのでframeを作った後だと思うのですが。

@ujimushi
Copy link

あ,scratchバッファで試しているということですかね。
Windowsの26.1で fontspecspacing=m は通っているようです。

eelll-other-frame ってキーストロークのヘルプが小さい画像で表示されるのを初めて知りました。
元の動作をあまり知っていないので,テスターとしては不適かも…

@ujimushi
Copy link

家に帰ってから26.1,25.3,24.4,23.4で試しましたが fontspecspacing=m でエラーになることはないようです。

自分でビルドしたバイナリはOS標準ではない変なフォントを選ぶ傾向があるのは少し面白かったです。

@naota
Copy link
Author

naota commented Nov 29, 2018

わたしもはっきり挙動をわかっているわけではないですが、エラーが出ず、大きく表示がずれていなければ大丈夫かなと思っています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants