Infinality-Bundle auf FreeBSD

archfan

Member
Moin,

bin als langjaehriger Linux-User vor einigen Tagen auf FreeBSD umgestiegen. Das einzige, was ich vermisse, ist sauberes font rendering. Fuer Linux gibt's doch diese Infinality patches fuer Cairo, Freetype2 und Fontconfig. Hat jemand schon mal ernsthaft versucht, die unter FreeBSD zum Laufen zu bringen?

Ich versuche das derzeit, allerdings nur mit maessigem Erfolg. Zwar sehen die Fonts jetzt um einiges schaerfer aus, aber noch lange nicht so gut wie unter Linux mit dem Patchset. Besonders Chromium scheint arge Probleme unter FreeBSD zu bereiten. Ohne patches sieht's OK aus. Nicht gut, aber halbwegs akzeptabel.

Mit dem infinality-bundle sieht Chromium so aus:
FGrCvWK.png


Hier noch zum Vergleich Firefox - da ist's einwandfrei:
bM7K33l.png


Falls jemand Interesse hat und sich das mal ansehen will - habe die ports auf Github gestellt:
https://github.com/archfan/infinality-freebsd
 
Chromium verwendet kein cairo, sondern skia. Irgendwie sind die Schriften im Chromium auch nie so scharf hinzubekommen wie beim Firefox.
Für den Chromium gibt es ein Add-on Advanced Font Settings:
https://chrome.google.com/webstore/...bm?utm_source=chrome-app-launcher-info-dialog
Unter chrome://flags/ gibt es beim Chromium noch erweitete Einstellungen, bzw. Schalter zu finden. Etwa für Antialiasing für LCD-Text.

Edit:
Siehe auch hier:
https://www.chromium.org/developers/design-documents/graphics-and-skia
 
Ah, schöne Idee mit dem Port! Ich vermisse das auch unter FreeBSD, habe derzeit aber auch keine Installation auf einem Desktop laufen... Ich fand das Font Rendering aber eigentlich immer ganz angenehm nachdem ein paar Sachen einstellt wurden. Die Möglichkeiten unter "/usr/local/etc/fonts/conf.avail" kennst du? Da muss man nur die Dinger von conf.avail nach conf.d linken.

Vielleicht überschreibt dein Port auch elementare Dinge, die FreeBSD ansonsten benötigen würde?
 
Moin,

mein Port linkt conf.d.avail.infinality bereits nach conf.d genau wie unter Arch Linux auch. FC-Presets funktioniert auch.

Code:
➜  conf.d pwd
/usr/local/etc/fonts/conf.d
➜  conf.d l
total 12
drwxr-xr-x  2 root  wheel   2.0K Jul 16 04:42 .
drwxr-xr-x  5 root  wheel   512B Jul 15 22:43 ..
lrwxr-xr-x  1 root  wheel    65B Jul 15 22:37 10-base-rendering.conf -> /usr/local/etc/fonts/conf.avail.infinality/10-base-rendering.conf
lrwxr-xr-x  1 root  wheel    51B Jul 16 00:59 20-unhint-small-dejavu-sans-mono.conf -> ../conf.avail/20-unhint-small-dejavu-sans-mono.conf
lrwxr-xr-x  1 root  wheel    46B Jul 16 00:59 20-unhint-small-dejavu-sans.conf -> ../conf.avail/20-unhint-small-dejavu-sans.conf
lrwxr-xr-x  1 root  wheel    47B Jul 16 00:59 20-unhint-small-dejavu-serif.conf -> ../conf.avail/20-unhint-small-dejavu-serif.conf
lrwxr-xr-x  1 root  wheel    55B Jul 15 22:37 28-user.conf -> /usr/local/etc/fonts/conf.avail.infinality/28-user.conf
lrwxr-xr-x  1 root  wheel    56B Jul 15 22:37 29-local.conf -> /usr/local/etc/fonts/conf.avail.infinality/29-local.conf
lrwxr-xr-x  1 root  wheel    71B Jul 16 00:43 30-metric-aliases-ms.conf -> /usr/local/etc/fonts/conf.avail.infinality/ms/30-metric-aliases-ms.conf
lrwxr-xr-x  1 root  wheel    62B Jul 15 22:37 35-repl-custom.conf -> /usr/local/etc/fonts/conf.avail.infinality/35-repl-custom.conf
lrwxr-xr-x  1 root  wheel    68B Jul 16 00:43 37-repl-global-ms.conf -> /usr/local/etc/fonts/conf.avail.infinality/ms/37-repl-global-ms.conf
lrwxr-xr-x  1 root  wheel    64B Jul 15 22:37 37-repl-webfonts.conf -> /usr/local/etc/fonts/conf.avail.infinality/37-repl-webfonts.conf
lrwxr-xr-x  1 root  wheel    71B Jul 15 22:37 38-repl-webfonts-custom.conf -> /usr/local/etc/fonts/conf.avail.infinality/38-repl-webfonts-custom.conf
lrwxr-xr-x  1 root  wheel    70B Jul 15 22:37 40-non-latin-microsoft.conf -> /usr/local/etc/fonts/conf.avail.infinality/40-non-latin-microsoft.conf
lrwxr-xr-x  1 root  wheel    65B Jul 15 22:37 40-non-latin-misc.conf -> /usr/local/etc/fonts/conf.avail.infinality/40-non-latin-misc.conf
lrwxr-xr-x  1 root  wheel    31B Jul 15 22:37 42-luxi-mono.conf -> ../conf.avail/42-luxi-mono.conf
lrwxr-xr-x  1 root  wheel    66B Jul 15 22:37 45-latin-microsoft.conf -> /usr/local/etc/fonts/conf.avail.infinality/45-latin-microsoft.conf
lrwxr-xr-x  1 root  wheel    61B Jul 15 22:37 45-latin-misc.conf -> /usr/local/etc/fonts/conf.avail.infinality/45-latin-misc.conf
lrwxr-xr-x  1 root  wheel    60B Jul 15 22:37 49-sansserif.conf -> /usr/local/etc/fonts/conf.avail.infinality/49-sansserif.conf
lrwxr-xr-x  1 root  wheel    38B Jul 16 00:59 57-dejavu-sans-mono.conf -> ../conf.avail/57-dejavu-sans-mono.conf
lrwxr-xr-x  1 root  wheel    33B Jul 16 00:59 57-dejavu-sans.conf -> ../conf.avail/57-dejavu-sans.conf
lrwxr-xr-x  1 root  wheel    34B Jul 16 00:59 57-dejavu-serif.conf -> ../conf.avail/57-dejavu-serif.conf
lrwxr-xr-x  1 root  wheel    62B Jul 16 00:43 60-latin-ms.conf -> /usr/local/etc/fonts/conf.avail.infinality/ms/60-latin-ms.conf
lrwxr-xr-x  1 root  wheel    66B Jul 16 00:43 65-non-latin-ms.conf -> /usr/local/etc/fonts/conf.avail.infinality/ms/65-non-latin-ms.conf
lrwxr-xr-x  1 root  wheel    69B Jul 16 00:43 66-aliases-wine-ms.conf -> /usr/local/etc/fonts/conf.avail.infinality/ms/66-aliases-wine-ms.conf
lrwxr-xr-x  1 root  wheel    67B Jul 15 22:37 67-override-aliases.conf -> /usr/local/etc/fonts/conf.avail.infinality/67-override-aliases.conf
lrwxr-xr-x  1 root  wheel    59B Jul 15 22:37 68-override.conf -> /usr/local/etc/fonts/conf.avail.infinality/68-override.conf
lrwxr-xr-x  1 root  wheel    70B Jul 15 22:37 82-no-embedded-bitmaps.conf -> /usr/local/etc/fonts/conf.avail.infinality/82-no-embedded-bitmaps.conf
lrwxr-xr-x  1 root  wheel    68B Jul 15 22:37 82-no-force-autohint.conf -> /usr/local/etc/fonts/conf.avail.infinality/82-no-force-autohint.conf
lrwxr-xr-x  1 root  wheel    67B Jul 15 22:37 82-no-ttf-as-bitmap.conf -> /usr/local/etc/fonts/conf.avail.infinality/82-no-ttf-as-bitmap.conf
lrwxr-xr-x  1 root  wheel    62B Jul 15 22:37 83-yes-bitmaps.conf -> /usr/local/etc/fonts/conf.avail.infinality/83-yes-bitmaps.conf
lrwxr-xr-x  1 root  wheel    65B Jul 15 22:37 83-yes-postscript.conf -> /usr/local/etc/fonts/conf.avail.infinality/83-yes-postscript.conf
lrwxr-xr-x  1 root  wheel    67B Jul 15 22:37 88-forced-synthetic.conf -> /usr/local/etc/fonts/conf.avail.infinality/88-forced-synthetic.conf
lrwxr-xr-x  1 root  wheel    63B Jul 15 22:37 90-non-tt-fonts.conf -> /usr/local/etc/fonts/conf.avail.infinality/90-non-tt-fonts.conf
lrwxr-xr-x  1 root  wheel    69B Jul 15 22:37 90-tt-fonts-microsoft.conf -> /usr/local/etc/fonts/conf.avail.infinality/90-tt-fonts-microsoft.conf
lrwxr-xr-x  1 root  wheel    64B Jul 15 22:37 90-tt-fonts-misc.conf -> /usr/local/etc/fonts/conf.avail.infinality/90-tt-fonts-misc.conf
lrwxr-xr-x  1 root  wheel    80B Jul 15 22:37 92-selective-rendering-microsoft.conf -> /usr/local/etc/fonts/conf.avail.infinality/92-selective-rendering-microsoft.conf
lrwxr-xr-x  1 root  wheel    75B Jul 15 22:37 92-selective-rendering-misc.conf -> /usr/local/etc/fonts/conf.avail.infinality/92-selective-rendering-misc.conf
lrwxr-xr-x  1 root  wheel    66B Jul 15 22:37 93-final-rendering.conf -> /usr/local/etc/fonts/conf.avail.infinality/93-final-rendering.conf
lrwxr-xr-x  1 root  wheel    63B Jul 15 22:37 94-no-synthetic.conf -> /usr/local/etc/fonts/conf.avail.infinality/94-no-synthetic.conf
lrwxr-xr-x  1 root  wheel    57B Jul 15 22:37 95-reject.conf -> /usr/local/etc/fonts/conf.avail.infinality/95-reject.conf
lrwxr-xr-x  1 root  wheel    77B Jul 15 22:37 97-selective-rendering-custom.conf -> /usr/local/etc/fonts/conf.avail.infinality/97-selective-rendering-custom.conf
-rw-r--r--  1 root  wheel   2.1K Jul 15 22:37 README
➜  conf.d

@Fusselbaer
das mit Skia wusste ich gar nicht. Dachte Chromium wuerde auch Cairo benutzen. Man lernt immer was dazu. Danke fuer den Hinweis. Werde mir das mal genauer angucken.
 
Da fällt mir gerade wieder ein, dass in meiner meiner /etc/make.conf noch so eine Kleinigkeit bezüglich TTF Bytecode drin steht:
Code:
#----------------------------------------------------------------------------
# freetype2 BYTECODE for better font
#----------------------------------------------------------------------------
.if ${.CURDIR:M*/ports/print/freetype2}
TTF_BYTECODE_ENABLED=YES
.endif

Und mit diesen weiteren Schaltern habe print/freetype2 hier gebaut:
Code:
make showconfig -C /usr/ports/print/freetype2

===> The following configuration options are available for freetype2-2.6.3:
     LCD_FILTERING=on: Sub-pixel rendering (patented)
     PNG=on: Png compressed OpenType embedded bitmaps support
===> Use 'make config' to modify these settings
 
Stimmt, das war zumindest sonst immer notwendig... Aber dann sollte es ordentlich aussehen ;) Das waren dann immer die zwei, drei Ports, die ich noch gebaut habe...
 
Zurück
Oben