2016-09-26 2 views
0

Warum alle fett Schriftarten Rendering in Eclipse sind sehr unterschiedlich zwischen Linux und Windows?Eclipse Fettschrift Rendering sehr unterschiedlich unter Linux und Windows

Blick auf die Probe für „Source Code Pro“ font: enter image description here

ich andere Schriftarten getestet, und alle diese in der Linux-Rendering ist ein wenig fett, und die fette Version der Schrift scheint eine andere Schrift sein, ist sehr unterschiedlich.

Es gibt Möglichkeiten, diesen Effekt zu minimieren?

EDIT: Hardware und Virtualisierung

Sowohl auf demselben Monitor ausgeführt werden. Windows auf dem Bare-Metal, Linux in Virtualbox (Windows ist das Host-Betriebssystem).

Antwort

2

Die Pixeldichte eines typischen Computerbildschirms ist viel zu niedrig, um kleine Formen wie Fontglyphen genau darzustellen (zu viele Rundungsfehler).

Daher muss jeder größere Textstapel (der komplex genug ist, um eins nach Betriebssystem nicht mehr) entscheiden, ob Glyphenabmessungen auf- oder abgerundet werden sollen, wenn sie nicht exakt in exakte Pixelvielfache passen Das Pixelraster, auch bekannt als "grid-fitting", gibt an, wie stark es Glyphenformen verzerren kann (Pixelisierung, einige Bits in einer Dimension und andere in einer anderen), ob Kanten mit Graustufenpixeln oder sogar Farbpixel geglättet werden ("subpixel" Glättung, die auch Farbsäume erzeugt), usw.

Und, tun Sie das konsequent. Es hilft nicht, wenn Sie eine sehr klare Glyphe erstellen, aber die Ausrichtung mit anderen Glyphen derselben Schriftart verliert. Es hilft nicht, wenn aufeinanderfolgende Schriftgrößen nicht linear sind, weil einige gerundet wurden und andere nicht. Es hilft nicht, wenn Ihr Rendering-Algorithmus aufeinanderfolgende Iterationen desselben Glyphs ändert oder verschiebt, so dass Serien von iiiiiii oder lllll selten sind, aber seriell oder 11111111 zum Beispiel nicht in Tabellenkalkulationen enthalten sind.

Fett ist noch härter als normaler Text, weil Schriftarten für die meisten Glyph-Stiele auf einem typischen Bildschirm in typischen Größen konvergiert auf etwa ein oder zwei Pixelbreiten, aber Benutzer erwarten fett ein wenig dicker, ohne doppelt so fett.

Nicht zwei Textstacks machen die gleichen Kompromisse, und das Windows-Standard-Rendering ist besonders extrem und versucht, scharfe dünne Formen auf Kosten von fast jedem anderen Faktor zu bekommen. Apple- und Adobe-Rendering ist normalerweise reibungsloser (aber "verschwommener") und Linux ist irgendwo dazwischen, wobei Adobe in den letzten Jahren stark zum Linux-Rendering-Stack beigetragen hat.

Und niemand war jemals in der Lage zu beweisen, dass ein Rendering-Stil besser ist als die anderen. Der einzige konsistente Faktor ist das, was der Benutzer gewohnt ist, einen Benutzer einem Stil des Renderings für ein paar Monate auszusetzen, er wird alle anderen hassen, es spielt keine Rolle, welchem ​​Rendering er ausgesetzt ist, und es kann geändert werden, indem man ihn zwingt zu verwenden ein weiteres Rendering ein paar Monate. Wahrscheinlich aufgrund der Art und Weise, wie die Prozesse zur Erkennung von Gehirnformen sich selbst trainieren und optimieren, was sie am häufigsten sehen. Je mehr Benutzer einer bestimmten Schriftart und Textwiedergabe ausgesetzt sind, desto mehr wird er diese bestimmte Kombination angenehm und leicht zu lesen finden.

Da Linux sehr gut änderbar ist, können Sie seinen Rendering-Stack zwingen, sich mehr wie Windows zu verhalten. Es wird angenehmer für Sie, wenn Sie Windows-Rendering gewohnt sind. Es wird weniger angenehm für jeden sein, der sein Leben nicht in Windows verbringt.In der Regel ändern Sie die Aggressivität in fontconfig, die Glättung von Graustufen auf rgbA (das wird produzieren Farbsäume). Oder verwenden Sie sogar eine gepatchte Version wie Unendlichkeit (ziemlich extrem, und nicht wirklich notwendig, Änderungen fontconfig Einstellungen ist in der Regel genug). So etwas wie gnome-tweak-tool kann dir grafisch helfen, und eclipse erbt gtk-Einstellungen per SWT.

Oder verwenden Sie größeren Text, oder kaufen Sie eine High-Density (Highdpi) Bildschirm. Je kleiner Pixel mit Glyphenelementen verglichen werden, desto weniger Gitterrundungseffekte erhalten Sie, unabhängig vom verwendeten Textstapel. Bei hoher Pixeldichte erhalten Sie die "idealen" Zeichenformen und -gewichte, wie bei einem guten Laserdrucker.

Natürlich setzt das Betriebssystem voraus, dass es den High-dpi-Bildschirm steuern kann. Linux sollte da sein, aber Windows ist beim letzten Mal noch fest in 96dpi Land stecken geblieben.

Schließlich, wenn Sie in einer virtuellen Umgebung arbeiten, kann die VM-Schicht einige Hardware-Eigenschaften zu der virtualisierten Software verbergen. Es hat also weniger Möglichkeiten, die Bildschirmeigenschaften genau zu erkennen und das Rendering entsprechend anzupassen.

Verwandte Themen