• Stars
    star
    661
  • Rank 66,034 (Top 2 %)
  • Language
    Python
  • License
    SIL Open Font Lic...
  • Created over 4 years ago
  • Updated 18 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🤘Open source programming font

Lilex. The font for developers.

Build

Lilex is the modern programming font containing a set of ligatures for common programming multi-character combinations.

This is just a font rendering feature: underlying code remains ASCII-compatible. This makes it easier to read and understand the code. In some cases, the ligatures connect closely related characters (==, ---), while in others they optically align the glyphs (.., ??).

Compiled versions are available under releases. Bleeding edge builds can be downloaded in the build workflow artifacts.

Installation

  1. Download font.
  2. Unzip the archive and install the font:
    • Mac: Select Lilex-VF.ttf in the variable folder and double-click it. Click the Install Font button.
    • Windows: Select all font files in the ttf folder, right-click any of them, then pick Install from the menu.

Visual Studio Code

  1. From the Code menu (File on Windows) go to PreferencesSettings, or use keyboard shortcut +, (Ctrl+, on Windows).
  2. In the Editor: Font Family input box type Lilex.
  3. To enable ligatures, go to Editor: Font Ligatures, click Edit in settings.json, and copy "editor.fontLigatures": true into file.

iTerm2

  1. From the iTerm2 menu go to Settings. Under Profiles, find the Text tab.
  2. If you have more than one profile, select the one you want to change. Or change the default one (with an asterisk).
  3. Click on the font name under the 'Font' heading, find Lilex and select it.

Note I recommend using ExtraThick instead of Regular for iTerm2, so the letter thickness will roughly match VS Code.

Weight

There are 6 font weights available in Lilex, ranging from Thin to Bold. In addition, a variation font is available.

Character Set

The font has support for Latin, Cyrillic and Greek. It also includes ligatures and powerline symbols.

A full glyph table can be found on the preview page.

Features

The font has additional styles for some characters, so it can be configured to better fit your needs. Instructions on how to activate OpenType features in your IDE can be found on the internet, or build your own variation of the font with forced features

Some ligatures also have additional options. For example, certain arrows are initially switched off to avoid conflicts with logical operations.

Arrows

Lilex uses generated ligatures for arrows, so they can be infinite. Combine that to assemble your unique arrows.

There is also a full set of single-character arrows (, , etc.) in the font.

Build

Setup

At the moment building is possible on Ubuntu and macOS. First, install the system dependencies.

macOS

brew install cairo freetype harfbuzz pkg-config

Ubuntu

sudo apt install python3-setuptools ttfautohint build-essential libffi-dev libgit2-dev

Common

Clone the repository and navigate to the project folder:

git clone https://github.com/mishamyrt/Lilex
cd Lilex

And then setup python virtual environment:

make configure

Compile

Now run the command to build Lilex.

make build

or

./scripts/lilex.py build

Forced feature activation

The builder gives you the ability to forcibly enable any font features. This works by moving their code to the calt. If the ligatures work, the selected features will also work.

To do this, build the binaries from the source file with the features:

./scripts/lilex.py --features 'ss01,zero' build

Credits

More Repositories

1

nuga-app

⌨️ NuPhy® keyboard configurator
TypeScript
43
star
2

honeymate

Beautiful page load coordinator
JavaScript
33
star
3

davinci-pancake-kernel

🥞 Kernel for the Xiaomi Mi 9T AOSP
C
5
star
4

mysh

🐭Simple shell on top of the SSH, which will make it easier to use
Go
4
star
5

astro-typograf

🚀 Typographer for Astro
TypeScript
3
star
6

ha-keychron

🎹 Keychron Home Assistant integration
Python
3
star
7

checode

✅ Comment keyword extractor, parser and reporter
Go
3
star
8

nuga-lib

⌨️ Go interface for BYK916 NuPhy® keyboards
Go
3
star
9

vpn-dns

🔌 The service that changes DNS servers when connecting to a VPN
Go
2
star
10

averto

Beautiful and light alternative to alert()
JavaScript
2
star
11

keychron-adapter

🎹 Keychron Desktop app
Go
2
star
12

misprint

⌨️ Simple and tiny library, that lets you quickly add a typo notifyer to your site
JavaScript
1
star
13

meduza-parser

📰 meduza.io parser
TypeScript
1
star
14

iznanka

🌿 Quick start of a PHP project
PHP
1
star
15

git-unjunk

🗑Repository clean up script
Shell
1
star
16

ambihass

💡 Home Assistant Ambilight
Go
1
star
17

node-markov-chain

⛓ Markov chain generator
TypeScript
1
star
18

code-cross-review

👍 List that says who is reviewing who today.
Svelte
1
star
19

dohome_rgb

💡 DoHome lights Home Assistant integration
Python
1
star
20

ps2-codes

🕹️ PS2 cheat codes parser and converter library
TypeScript
1
star
21

davinci-milk-kernel

🥛Kernel for the Xiaomi Mi 9T MIUI
C
1
star
22

rakun

🦝 A utility that syncs remote data to the local storage
Go
1
star
23

kebab-choco-kernel

🍫 Kernel for the OnePlus 8T OSS
C
1
star
24

effector-svelte

☄️ Svelte bindings for effector
TypeScript
1
star
25

feature-sliced-svelte

🍣 Control of FSD with Svelte
TypeScript
1
star