2010-09-23 2 views
0

Я использую пиксельные пиксели фиксированного размера в emacs при написании кода. При задании размеров шрифтов в emacs он хочет иметь размер шрифта в точках. Поскольку я использую мой файл .emacs на нескольких разных машинах с различными размерами мониторов, это означает, что когда шрифт отлично смотрится на одной машине, он обычно размыт или слишком велик на другом. Я работал над этим в своих .emacs, проверяя фактический размер монитора в пикселях, но правильным способом сделать это было бы указать размер шрифта в пикселях или иметь небольшой фрагмент lisp, который вычисляет правильный размер точки из заданного пиксель, при условии, что значения dpi доступны изнутри emacs.Размеры шрифта Emacs в пикселях для пиксельных шрифтов фиксированного размера?

Предложения? Обновление 26 сентября

Я нахожусь в Linux (Ubuntu 10.04, x64).

Моего текущее хак решения:

(if (>= (x-display-pixel-height) 1200) 
(custom-set-faces 
'(default ((t (:stipple nil :background "black" :foreground "cornsilk" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 120 :width normal :family "proggycleanttsz")))))) 

только атрибут высоты отличается от того, где я уже поставил его ранее в файле .emacs. На другой машине я должен установить ее на 90, чтобы получить «идеальный пиксель». Я попытался поставить в a:

(set-frame-font "proggycleanttsz") 

вместо этого, но это не работает. Когда я оглядываюсь назад на свои предыдущие попытки, я вижу, что теперь я использую версию шрифта truetype, что означает, что тема вопроса не совсем правильная, но в любом случае она очень похожа на пиксельный шрифт, но только на точно правильный размер. Не знаете, как это работает с truetype.

+0

Знаете ли вы, что со стабильным Emacs вы можете использовать шрифты XFT, где размеры автоматически адаптируются к настройкам DPI? См. C-h i d Emacs Шрифты fschmitt

+0

Я был уверен, что установить размер шрифта можно с помощью emacs.font в файле ~/.Xresources, но я не могу сейчас это сделать. – Borbus

ответ

0

Как упоминалось в комментариях к вашему вопросу, если вы работаете в Linux, XFT - это то, что вы хотите, поэтому используйте что-то вроде (set-frame-font "Terminus-8") в вашем .emacs.

Borbus упоминает ~/.Xresources - Я думаю, вы можете использовать Emacs*font: Font-name в ~/.Xdefaults.

У меня был быстрый взгляд на ваш профиль, чтобы попытаться определить операционную систему, которую вы используете, но я не мог догадаться. Некоторые больше информации может быть хорошим (OS, Emacs версии)

+3

ОС - Emacs;) – aaronasterling

+1

Вы просто замаскируете какого-нибудь пользователя vi/vim, чтобы войти с вездесущим «... отсутствием достойного текстового редактора»: P – davidb

+0

Я нахожусь в Linux (Ubuntu 10.04, x64). Мое настоящее хакерское решение выглядит так: –

0

Я использую

(set-frame-font "font-name:pixelsize=16") 

на некоторое время теперь. Работает отлично с Emacs 25 на Linux. Этот стиль названия шрифта документирован для MS Windows, но я использовал его в течение многих лет с Linux.