BSD Ports

fonts/Hasklig 1.1 NetBSD

Code font with monospaced ligatures

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
License
ofl-v1.1
Categories
fonts
Package size
768.5 KiB, 1904.2 KiB installed

Description

Programming languages are limited to relatively few characters. As a result, combined character operators surfaced quite early, such as the widely used arrow (->), comprised of a hyphen and greater sign. It looks like an arrow if you know the analogy and squint a bit.

Composite glyphs are problematic in languages such as Haskell which utilize these complicated operators (=> -< >>= etc.) extensively. The readability of such complex code improves with pretty printing. Academic articles featuring Haskell code often use lhs2tex to achieve an appealing rendering, but it is of no use when programming.

Some Haskellers have resorted to Unicode symbols, which are valid in the ghc. However they are one-character-wide and therefore eye-strainingly small. Furthermore, when displayed as substitutes to the underlying multi-character representation, as vim2hs does, the characters go out of alignment.

Hasklig solves the problem the way typographers have always solved ill-fitting characters which co-occur often: ligatures. The underlying code stays the same - only the representation changes. Not only can multi-character glyphs be rendered more vividly, other problematic things in monospaced fonts, such as spacing can be corrected.

In the other systems

SystemPortVersion
NetBSDfonts/Hasklig1.1
FreeBSDx11-fonts/Hasklig1.1_1
DragonFlyx11-fonts/Hasklig1.1_1
MidnightBSDx11-fonts/Hasklig1.1_1
HardenedBSDx11-fonts/Hasklig1.1_1
GhostBSDx11-fonts/Hasklig1.1_1

Install

Binary package:

pkgin install Hasklig

From pkgsrc:

cd /usr/pkgsrc/fonts/Hasklig && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_641.1
NetBSD 10.1 aarch641.1
SmartOS / illumos x86_641.1
macOS 15 arm641.1

Dependencies

Run dependencies 1

No port depends on this one.