Моноширинный шрифт не моно разнесен в затмении, почему?

Недавно я обновился до Ubuntu 12.04 и вижу, что при использовании eclipse для редактирования исходного кода жирный шрифт, отображаемый шрифтом Monospace, на самом деле толще, чем не жирный. Таким образом, шрифт Monospace на самом деле не монопространственный. (одинаковое пространство для всех символов)

Это известная проблема? Я что-то пропустил?

Как мне сделать это снова моно-пространством?

4 ответа

У меня похожая проблема с Monospace.

В качестве обходного пути я переключился на использование Bitstream Vera Sans Mono, которое выглядит очень похоже, но не имеет жирной проблемы.

Если у вас его нет, вы можете установить его, выполнив sudo apt-get install ttf-bitstream-vera,

Monospace относится ко всему шрифту фиксированной ширины. Существует также специальный моноширинный шрифт, который называется Monospace. Предположим, вы ссылаетесь на конкретный шрифт Monospace.

Я использую шрифт Monospace в Libreoffice/Openoffice для выравнивания последовательностей в Ubuntu 12.04. Я заметил ту же проблему: жирные моноширинные буквы шире, чем обычные моноширинные буквы того же размера, хотя они по-прежнему моноширинные, то есть с фиксированной шириной. Смотрите картинку

введите описание здесь

Чтобы найти альтернативу, взгляните на эту статью ТОП 10 ПРОГРАММНЫХ ШРИФТОВ. Я использую Daja vu sans mono или Courier New, которые показывают одинаковую ширину для обычных и жирных шрифтов. По крайней мере, у Inconsolata та же проблема, что и у Monospace.

Похоже, что конфигурация шрифта в 12.04 устанавливает Droid Sans Mono в качестве моноширинного шрифта по умолчанию (см. /Etc/fonts/conf.d/60-droid-sans-mono-fonts.conf), и, как описывает OP, глифы в жирный шрифт этого шрифта имеет ширину, отличную от обычной.

Чтобы изменить системный моноширинный шрифт по умолчанию, создайте /etc/fonts/local.conf, содержащий что-то вроде этого:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>DejaVu Sans Mono</family>
    </prefer>
  </alias>
</fontconfig>

Таким образом, вам не нужно будет менять шрифт редактора Eclipse для каждого используемого вами рабочего пространства.

У меня была та же проблема с OpenJDK 8. Шрифт под названием "Monospaced" был правильно сопоставлен с "DejaVu Sans Mono" для "обычного"/"простого" стиля, но что-то еще (вероятно, автоматически выделено жирным шрифтом) для "жирного шрифта", даже если Использование "DejaVu Sans Mono" напрямую делает правильную вещь.

Решение состоит в том, чтобы исправить ~/.java/fonts/*/fcinfo*.properties, Он содержит (среди многих других):

monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf

Все было хорошо после изменения тех:

monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
Другие вопросы по тегам