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
XALL
in 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
XALL
won't work. I just replacedXALL
withXHS0
(since I'm going to use the ligations mainly with Haskell). You don't need any additional build parameters, just append thetoToml
output to yourparameters.toml
andmake custom-config && make custom
.The
XALL
/XHS0
tells 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, sincecalt
does 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 tagXHS0
defines a ligation for>>=
).