Monospace-Schrift ist in Eclipse nicht mono-beabstandet. Warum?


15

Ich habe kürzlich ein Upgrade auf Ubuntu 12.04 durchgeführt und sehe, dass bei Verwendung von Eclipse zum Bearbeiten des Quellcodes die fett gedruckten Zeichen in der Monospace-Schrift tatsächlich dicker sind als die nicht fett gedruckten. Daher ist die Monospace-Schrift eigentlich kein Mono-Space. (gleiches Leerzeichen für alle Zeichen)

Ist das ein bekanntes Problem? Vermisse ich etwas?

Wie mache ich es wieder Mono-Space?


Monospace-Schrift ist in der Tat dicker, wenn sie fett ist als nicht ... das bedeutet fett. Meinst du breiter? Es ist nicht breiter. Wenn dasselbe Wort in Monospace in Fettdruck und Normaldruck mehr in Anspruch nimmt, ändert Eclipse möglicherweise die Schriftgröße für Sie.
Chan-Ho Suh


1
Selbes Problem hier. Da nach dem Update in der Regel viele Probleme aufgetreten sind, habe ich einige Einstellungen vorgenommen (Antialiasing, Andeutungen usw.), aber kein Glück.
Dbrank0

1
Dasselbe Problem mit Droidenmono, aber andere, wie Bitstream-Vera (oder Liberation Mono), sind in Ordnung. : /
dbrank0

Ich hatte das gleiche Problem mit NetBeansIDE (7.4). Monospace-Schriftarten (fett und normal) waren in Ordnung, bis ich PlayOnLinux und Wine installierte. Danach wurden normale Versionen schmaler als fett. Die unten erwähnte Bitstream-Vera-Schriftart funktioniert einwandfrei und ist eine akzeptable Problemumgehung.
Loostro

Antworten:


14

Ich habe ein ähnliches Problem mit Monospace.

Als Workaround habe ich auf Bitstream Vera Sans Mono umgestellt, das sehr ähnlich aussieht, aber nicht das mutige Problem hat.

Wenn Sie es nicht haben, können Sie es installieren, indem Sie tun sudo apt-get install ttf-bitstream-vera.


Es sieht so aus, als ob bei den Standard-Monospace-Schriften des Systems (sowohl Monospace als auch Ubuntu Mono) die Andeutung von Schriften nicht funktioniert. Es scheint für Bitstream Vera Sans Mono zu funktionieren - danke für den Tipp!
kynan

Danke, das hat sehr geholfen. Wie oben erwähnt, begannen meine Probleme nach der Installation von PlayOnLinux und Wine. Diese scheinen einige Font-Konfigurationen geändert zu haben.
Loostro

3

Monospace bezieht sich auf alle Schriftarten mit fester Breite . Es gibt auch eine bestimmte monospaced Schriftart namens Monospace . Angenommen, Sie beziehen sich auf die jeweilige Monospace-Schriftart.

Ich verwende die Monospace-Schriftart in Libreoffice / Openoffice, um Sequenzen unter Ubuntu 12.04 auszurichten. Das gleiche Problem ist mir aufgefallen: Fett gedruckte Monospace-Buchstaben sind breiter als die regulären Monospace-Buchstaben derselben Größe, obwohl sie immer noch monospaced sind, dh mit fester Breite. Siehe Bild

Bildbeschreibung hier eingeben

Um eine Alternative zu finden, werfen Sie einen Blick auf diesen Artikel TOP 10 PROGRAMMIERFONTS . Ich verwende Daja vu sans mono oder Courier New , die für normale und kräftige Facetten die gleiche Breite aufweisen. Zumindest hat Inconsolata das gleiche Problem wie Monospace.


1

Es scheint, dass die Schriftartkonfiguration in 12.04 Droid Sans Mono als Standard-Monospace-Schriftart festlegt (siehe /etc/fonts/conf.d/60-droid-sans-mono-fonts.conf) und, wie im OP beschrieben, die Glyphen in Die fette Version dieser Schriftart hat eine andere Breite als die normale Version.

Um die Standard-Monospace-Schriftart des Systems zu ändern, erstellen Sie /etc/fonts/local.conf und geben Sie Folgendes ein:

<?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>

Auf diese Weise müssen Sie nicht daran denken, die Eclipse-Editor-Schriftart für jeden von Ihnen verwendeten Arbeitsbereich zu ändern.


Ich musste alles in Eclipse abbauen, weil das mich die Mauer hinauf trieb. Ich muss das allerdings versuchen!
anon58192932

0

Ich hatte das gleiche Problem mit OpenJDK 8. Die Schriftart "Monospaced" wurde für den "normalen" / "einfachen" Stil korrekt "DejaVu Sans Mono" zugeordnet, aber für "fett" etwas anderes (wahrscheinlich automatisch fett), auch wenn mit "DejaVu Sans Mono" machen Sie direkt das Richtige.

Die Lösung ist zu beheben ~/.java/fonts/*/fcinfo*.properties. Es enthielt (unter anderem):

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

Alles war in Ordnung, nachdem die folgenden geändert wurden:

monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.