The sad state of font rendering on Linux
onts are vector data that gets rasterized when displayed to the user. Computer displays are low-DPI devices for complex reasons, and such DPI (96) is not enough to display fonts without a myriad of trade-offs. Most notable are sub-pixel rendering, sub-pixel positioning, font hinting and anti-aliasing. You can read up more here and here if you want the full background.
Each operating system approaches font rendering differently. To get Windows-like rendering that I prefer, anti-aliasing, sub-pixel rendering, sub-pixel positioning and font hinting based on byte code embedded into fonts – basically, every step of the technological progress made in the last 30 years – need to be active.
Bad News! Windows 10 Will Soon Have a Real Linux Kernel
The upcoming version of Windows 10 will feature a real Linux kernel in it as part of Windows Subsystem for Linux (WSL).
The so-called ‘love for Linux’ seems more like ‘lust for Linux’ to me. The Linux community is behaving like a teen-aged girl madly in love with a brute. Who benefits from this Microsoft-Linux relationship? Clearly, Microsoft has more to gain here. The WSL has the capacity of shrinking (desktop) Linux to a mere desktop app in this partnership.
By bringing Linux kernel to Windows 10 desktop, programmers and software developers will be able to use Linux for setting up programming environments and use tools like Docker for deployment. They won’t have to leave the Windows ecosystem or use a virtual machine or log in to a remote Linux system through Putty or other SSH clients.
In the coming years, a significant population of future generation of programmers won’t even bother to try Linux desktop because they’ll get everything right in their systems that comes pre-installed with Windows.
¿Por qué los programas de Windows no funcionan en Linux y viceversa?
Los programas que usamos a diario están englobados en la capa de aplicación. El sistema operativo dispone de ciertas funcionalidades que sólo él es capaz de realizar, como por ejemplo crear ficheros, acceder a información del hardware del equipo, gestionar conexiones de red, etc.
Estas funcionalidades están protegidas por el sistema operativo y no se pueden ejecutar de forma directa a través de un programa común. Para acceder a estas funcionalidades, el programa debe pedirle al sistema operativo que sea el quien las ejecute, este se encarga de gestionar y devolver el resultado de la ejecución de estas funciones especiales. Estas peticiones se realizan mediante las denominadas “llamadas al sistema” (aka syscalls en jerga informática) y son cosas tan simples como crear un fichero nuevo o tan complejas como gestionar una conexión de red.