Giter Club home page Giter Club logo

lilex's Introduction

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 Lilex-VF.ttf in the variable folder, right-click it, then click 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.

If you want to enable stylistic sets, list them instead of true. Like:

"editor.fontLigatures": "'calt', 'ss02', 'ss04'"

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 variable 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

lilex's People

Contributors

head-gardener avatar mishamyrt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lilex's Issues

Typo in image

Thanks for your work on this excellent typeface!

There is a small typo in [email protected]

cv06 should be labelled as Alt tilde, not Alt tilda.

Permanently enable features

Hey, is there a way I can build this font while permanently enabling features on it? I want to use it in an editor where it seems as if I cannot access the variants offered through it's configuration. So would it be possible to turn them from toggle-able features to always-on features of the built TTF?

Thanks for your help and for putting together this great font in general.

The font is lacking Greek characters, as opposed to a picture in the README

I'm using Nerd-patched Lilex and it doesn't have Greek letters in it: couldn't find them in Gucharmap, and dwm's rendering shows me that the font lacks these glyphs (it draws glyphs from non-default fonts in a smaller size).
изображение

I wondered if that's an issue on the Nerd's side, but no: the test page also shows that the font lacks Greek letters
изображение

Method to obtain OTF formats for Windows users

I don't know exactly if building the font in Windows is on the roadmap, but for the current update, there is no method of obtaining .otf formats of the font for features such as ligatures.

Ligatures not working

Currently no ligatures appear for me in my code.

Update: I hadn't enabled ligatures in vscode, my bad.

Strange outline of cyrillic capital Ы (042B) (and more)

With Lilex 1.000 and 1.100 the 042B of Medium looked wrong.

Screenshot 2023-03-30 at 18 54 48

Lilex 1.000 Regular (left) and Medium (right)

With 2.000 the Medium weight has been dropped and so this is not really an issue anymore. The other two weights look ok.

Out of curiosity I opened the 2.000 VF in Glyphs, and there still seems to be a problem, hiding:

Screenshot 2023-03-30 at 21 41 55

And indeed, you prepare a Medium instance (which I honestly would include in the static release as I guess it will be missed).

Screenshot 2023-03-30 at 22 00 36

After File -> Generate Instances we see the error is still there:

Screenshot 2023-03-30 at 22 01 16

And then... just looking on the created Thin and ExtraLight instances, they have rather ... strange E F H H bar etc glyphs? The static instances in the release look ok, though.

Screenshot 2023-03-30 at 22 09 18

So this might or might not be an issue. Just to inform you of my findings.

Original reporter: @ShinyZero0
Original issue: ryanoasis/nerd-fonts#1157

Typo in Lilex Medium

Hey 👋🏻 really like this font, I'm using it on my website!

Just wanted to highlight that somewhere in your project you've got the medium weight misspelled as "Meduim" which is getting built out to Lilex-Meduim.ttf, and in font pickers, Lilex Meduim.

From a quick search of the repo, it looks like it's in Lilex.gylphs, line 126344.

Screenshot_20230630_204223

Add preview on pull-request

It would be convenient to see the result of the font build directly in pull-request. Ideally in the preview interface

Makefile is good

... but the dependency on must use venv not so much. Quickly looking at the Makefile, it should be possible to
build the font without venv from source. Would you accept such patches? (Asking because well then I might want to create a Debian package of the font)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.