Load IosevkaConfigGen.hs in a REPL and run toToml or toElisp to generate either TOML definitions for the glyphs (to put in parameters.toml), or a list of prettify-symbol-mode definitions for Emacs.
An example of generated TOML glyph definitions and elisp code are provided.
Note that
-
I have a feature set called
XALLin my fork that basically enables every possible ligation. -
I've hacked a few extra ligatures into my local checkout (including
<<,>>, a few attempts to make more->>--ish things a la Fira Code and Pragmata Pro, and also ligatures for<<<and>>>with a bit of extra space between the arrows because things look ugly without). -
I'm generating far more glyphs than there are ligatures for. In particular, I've added definitions for lots of things like
<~>which aren't yet in Iosevka. The cool thing is that the generated glyphs end up looking almost exactly the same as "plain text". That is, plain<|andprettify-symbols-mode-enabled Unicode<|look the same. Once Iosevka gets those ligatures, I can just recompile Iosevka without having to change anything. (Besides restarting Emacs, ha.) -
A ton of the generated glyphs (hello
==>>>--) are stupid, but meh. I suppose having Pragmata-like equals chains with little indents near the end of each=might make those useful in Some Future ASCII APL/Haskell ("Jaskell"?) :P



@sykora Unless your're building this with @mrkgnao's fork of iosevka, the
XALLwon't work. I just replacedXALLwithXHS0(since I'm going to use the ligations mainly with Haskell). You don't need any additional build parameters, just append thetoTomloutput to yourparameters.tomlandmake custom-config && make custom.The
XALL/XHS0tells the build system which feature tag to use when rendering the ligature. So, for example, if you replace thefeatureTag = 'XALL'withfeatureTag = 'calt'for the>>=ligature, it will render as a single glyph of the three ordinary characters, sincecaltdoes not define a ligation for>>=. On the other hand, withfeatureTag = 'XHS0', it will render as a single glyph of the contextual alternative characters, AKA the actual ligation (since the feature tagXHS0defines a ligation for>>=).