Giter VIP home page Giter VIP logo

fixedsys's Introduction

Fixedsys Excelsior font with programming ligatures

Distribution terms

The font was originally authored by Darien Valentine @bathos and provided via a now-defunct site at fixedsysexcelsior.com. This derivative's source code repository and issue tracker can be found at github.com/kika/fixedsys.

The creator(s) of this content have released it to the public domain. For jurisdictions where this is not permitted, it is released under the terms of the Creative Commons Zero Dedication.

It looks like this

Where to get the result without compiling

The compiled TTF binary font is on the Releases page. There are two versions provided:

  1. Default has =< and >= ligated into "less or equal" and "greater or equal"
  2. Alt version enables <= (replacing reverse fat arrow) and >= instead (closes #3)

What is the ALT version in the releases about?

The fonts declare a set of ligatures that replace certain groups of adjacent characters by a combined glyph. The ALT variant has some of the ligature declarations swapped to facilitate code programming, where <= is almost always meant to be a less-or-equal operator, and also works for the general case too, based on the presumption that left fat arrows are seldomly used even in scientific texts.

Input Normal variant ALT variant
<= left fat arrow less-or-equal
<== left fat arrow left fat arrow
=> right fat arrow right fat arrow
=< less-or-equal (no ligature)
>= greater-or-equal greater-or-equal
>== (no ligature) (no ligature)

Rationale

I (Kirill Pertsev) was always jealous for folks using Fira Code, Hasklig or Monoid fonts, but my problem is that I have a hard time reading (not even mentioning writing) a computer program in anything but an 8x16 font. I probably spent too much time with older computers. So after fighting and losing an uphill battle with Glyph2, Fontlab and Fontforge I discovered TTX and was able to finally stop being jealous.

This current release has almost everything I use regularly. Feel free to request in the issues. PRs are of course more than welcome. I hope I'm not the only crazy guy on the internet using 8x16 font for consoles and text editing.

History

This font is a simulated 8x16 bitmap font from old Windows and DOS. It was truly monospaced and really bitmapped and initially contained only windows-1250, windows-1251, a subset of windows-1252, windows-1253 and windows-1254. Darien simulated the bitmap with TrueType outlines by building the font from 10x10 squares ("pixels") and then joining the squares together. As such, this font only works as intended in only one size and usually with antialiasing switched off. The size is 16px, or 12pt@96dpi.

He also added a lot of foreign characters and made the font Unicode.

Tech trivia

The font is distributed in binary TTF format and I decompiled it with TTX, added a few symbols inspired by Fira Code and created necessary ligatures.

To design the symbols I used quad lined paper, pencil and rubber eraser. Like in good old days, you know.

The supported programming ligatures are listed in the ligatures.txt file.

To create a TTF file from TTX XML, just run ttx -f FSEX.ttx (-f means overwrite) or use the OS X Makefile to also copy it to the user Fonts folder and update the font cache.

Supported software (incomplete list, send updates please)

I only tested in MacVim so far (this is the only editor I use). Comments and bug reports welcome. MacVim should be quite recent for ligatures to work. Note: Versions of MacVim above 8.1-146 seem to have a regression where ligatures are not displayed correctly. Use brew pin to maintain your MacVim version below this until this is fixed. Tracking issue and workaround

Add the following to your .vimrc:

set guifont=Fixedsys\ Excelsior:h16
set noanti
set macligatures

Courtesy of @ForNeVeR:

  • Windows + IDEA (Oracle JDK): renders ligatures, but have problems rendering latin A letter (it occupies no space in text and gets composed with a next character). There's a warning in IDEA interface telling about incompatibilities of Oracle JDK and fonts with ligatures.

  • Windows + IDEA (JetBrains JDK): no problems noticed.

  • Windows + VS Code:

      "editor.fontFamily": "Fixedsys Excelsior",
      "editor.fontSize": 16,
      "editor.fontLigatures": true

    or, for newer versions (courtesy of @Kaffiend)

    "editor.fontFamily": "'Fixedsys Excelsior 3.01'",
    "editor.fontSize": 15,
    "editor.fontLigatures": true

    (The following is only for VSCode on MacOS) For many people this may look ugly because Fixedsys is not designed to be used with antialiasing. Then you may add the following option

     "workbench.fontAliasing": "none"

    Which will make code editor look nice, but everything else in the VSCode UI - ugly. The solution to that is to modify the CSS for the VSCode itself. Here is the script that I keep more or less updated when VSCode changes the CSS

  • Windows + Visual Studio 2015: works mostly okay, but -> ligature doesn't work. That's a known problem of WPF text renderer.

  • Windows + ConEmu: no ligatures at all. Powerline stuff works okay though, so font is usable even without ligatures. I'd recommend to set font cell width manually to 8 (otherwise it'll have problems determining proper places for line wrapping and rendering Far Manager UI): SettingsMainMain console font group → select Cell: 8 from the selector.

Emacs

Courtesy of @adrianparvino

Requires you to move the U+10001 PUA block to the first PUA block

In this example, U+10001 was moved to U+efb0.

Based on https://github.com/tonsky/FiraCode/wiki/Setting-up-Emacs

(set-fontset-font t '(#Xefb0 . #Xefc5) "Fixedsys Excelsior")
(defconst fixedsys-excelsior-font-lock-keywords-alist
  (mapcar (lambda (regex-char-pair)
	    `(,(car regex-char-pair)
	      (0 (prog1 ()
		   (compose-region (match-beginning 1)
				   (match-end 1)
				   ;; The first argument to concat is a string containing a literal tab
				   ,(concat "	" (list (decode-char 'ucs (cadr regex-char-pair)))))))))
	  '(("\\(>>=\\)"        #Xefb0)
	    ("\\(=<<\\)"        #Xefb1)
	    ("\\(<\\*>\\)"      #Xefb2)
	    ("\\(<\\$>\\)"      #Xefb3)
	    ("\\(::\\)"         #Xefb4)
	    ("\\(:=\\)"         #Xefb5)
	    ("\\(<<<\\)"        #Xefb6)
	    ("\\(>>>\\)"        #Xefb7)
	    ("\\(<>\\)"         #Xefb8)
	    ("\\(/=\\)"         #Xefb9)
	    ("\\({-\\)"         #Xefba)
	    ("\\(-}\\)"         #Xefbb)
	    ("\\(<|\\)"         #Xefbc)
	    ("\\(|>\\)"         #Xefbd)
	    ("\\(~>\\)"         #Xefbe)
	    ("\\(<~\\)"         #Xefbf)
	    ("\\(<~>\\)"        #Xefc0)
	    ("\\(<^>\\)"        #Xefc1)
	    ("\\(/\\\\\\)"      #Xefc2)
	    ("\\(<|>\\)"        #Xefc3)
	    ("\\(>=>\\)"        #Xefc4)
	    ("\\(<=<\\)"        #Xefc5))))


(defun add-fixedsys-excelsior-symbol-keywords ()
  (font-lock-add-keywords nil fixedsys-excelsior-font-lock-keywords-alist))

(add-hook 'prog-mode-hook
          #'add-fixedsys-excelsior-symbol-keywords)

Sublime Text 3 (build 3146+)

Should be defined in the user settings as so:

	"font_face": "Fixedsys Excelsior",
	"font_size": 16,
	"font_options": ["gray_antialias"]

ToDo

<* *> <$ $>

fixedsys's People

Contributors

adrianparvino avatar benjaminmordaunt avatar iiigerardoiii avatar jengelh avatar kika 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fixedsys's Issues

Not playing nice with MacVim

I've entered:

set guifont=Fixedsys\ Excelsior:h16
set noanti
set macligatures

into .gvimrc but MacVim seems to not like the ligatures one bit.
image
Ligatures don't line up and they superimpose one another.

Dot arts get weird with the font

What it should look like:
Screenshot (309)

What it looks like when using the font:

Screenshot (310)

the dot art:
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⣒⠯⣙⡟⠶⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡞⣥⠳⣘⡞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⢤⢶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡚⣤⢓⡹⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠴⡺⢍⡲⣉⢾⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣧⢋⡵⢢⢤⡀⠀⠀⠀⠀⠀⠀⠀⠘⢷⣦⣯⣔⣳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡤⡞⢭⣊⠵⢣⡽⢚⡿⢌⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢱⠢⢷⣩⢒⣍⠲⣩⠛⣶⣤⡀⠀⠀⠀⠀⠀⠙⢿⣻⣟⡿⣷⣤⣀⡤⢤⠤⡴⣒⢖⡲⣒⠶⠤⣤⣠⣴⣿⢿⣧⡙⡲⣬⣾⡏⠀⣼⠲⣩⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠈⢣⠀⠈⠙⠮⢧⡥⢛⢼⣟⡿⣷⣤⡀⠀⣀⡤⠤⢴⡛⢭⢣⢍⠳⡌⣇⢣⡓⣜⢢⡕⢮⣾⣿⢿⣟⣯⡿⣯⣿⣮⢿⡝⡾⠀⠸⣥⣳⢡⣟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠘⡆⠀⢰⡦⣄⣹⠿⣿⣯⢿⣯⡿⢫⠝⣢⡵⣋⢦⡙⢦⢋⡬⢓⡱⣊⠵⣘⠦⣃⠞⣔⠪⡝⠿⢾⣻⣽⣷⢿⡹⣎⢷⡃⠀⠀⠀⠈⢉⣻⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣷⠀⢸⡥⢛⡛⢶⡛⡟⢾⠛⡷⣚⠶⣋⢧⡹⣌⠳⣌⠞⣡⠞⡥⢛⡔⢫⡔⢫⠴⡙⣆⠳⡔⡪⢭⡙⢏⡞⣧⡻⣬⡇⠀⠀⠠⢴⣚⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⡄⠀⢯⢣⡙⢦⡱⢎⢣⢫⢔⣣⡾⠳⣍⠳⣌⠳⣌⠞⣡⠞⣡⠏⡜⡥⡚⢥⢫⠜⡆⢏⡶⡙⢦⡙⢎⡴⡡⠿⣧⡇⠀⠀⠀⠀⠙⠾⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⡧⢷⠀⠘⣧⣙⠦⡱⢎⣣⢣⡾⡳⠚⡗⣌⠳⣌⠳⡌⢞⡡⢞⡡⢞⣱⡸⢥⢋⢦⠛⣌⠧⡗⡭⠎⣊⠇⠶⣙⢬⣹⣷⣄⠀⠀⠀⢀⣴⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢀⡠⠤⠛⠉⠀⠀⠈⢻⣿⣟⣿⣿⣿⠣⣕⠪⣍⣧⣿⡌⢧⣹⣎⡜⢦⠹⣌⢦⡑⢎⡚⡴⢋⢦⣿⢗⡡⢏⢦⡙⣎⡱⠲⣼⣟⣿⣦⣀⣶⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠙⠒⠤⢤⣀⠀⠀⠀⣸⡝⣿⣿⣳⡏⣵⣮⢿⣟⣯⣟⣯⠆⣿⣯⡜⡬⢓⡜⣢⠝⣌⠳⢬⣹⣾⣿⣷⣍⢎⡲⢱⡸⣔⣿⣽⣻⣾⣻⣿⣿⡷⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢸⣿⢿⠀⢰⣏⣾⣿⢯⡿⣟⣷⢿⣯⡿⣽⣾⣻⣿⡿⣽⣿⣴⣋⡴⢃⣞⣬⣷⡿⣿⠋⢳⣯⡿⣟⣿⣟⣿⣻⣽⡾⣯⣷⢿⡾⣽⡿⣿⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠐⣿⣿⢀⣷⣿⢿⡽⣟⣿⣻⣽⢿⣞⣿⢯⣷⣿⡿⣽⣟⣾⣽⢿⣻⣿⣻⣟⣾⠟⠁⢠⠄⢻⣿⣻⢷⣻⣽⣯⣷⣿⣻⢾⣟⣿⣽⣻⣽⣿⠿⠖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢹⣿⣺⣿⢯⣿⣻⢿⣽⣻⣾⡿⠿⠚⠉⣴⣿⣟⣿⠞⣹⣿⣻⢯⣷⢿⡽⠋⢀⠌⠁⠈⠄⢿⣿⣻⣯⣷⣿⢏⣹⣿⡿⣿⣟⡿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢛⣿⣯⣿⣷⠿⠿⠿⣿⢷⠚⠛⣿⣿⣿⣿⣾⣷⡄⣾⣿⣽⣿⣿⠿⢶⣿⣷⣶⣶⣶⣴⣬⣿⣷⣟⣾⢏⢦⣹⣷⡟⣛⢻⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣼⡿⠊⣹⠴⡩⣍⡓⢾⢹⣷⣶⣿⣿⣿⣿⣿⣿⢣⣿⣯⣿⠟⢸⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⢯⡟⡬⠲⣼⡷⡘⢦⢓⡚⢦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠋⣠⢚⣼⣷⡱⢆⡹⢺⠈⢿⣿⣿⣿⣿⣿⣿⠏⣸⣿⠟⠁⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⡿⣻⣿⡟⡜⢲⡙⣼⢲⡙⢆⡫⢜⠲⣌⣫⠟⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⢴⡛⢬⠲⡌⢿⣿⣮⣕⣫⡆⠈⠛⠻⠿⠛⠛⠁⠀⠛⠁⠀⠀⠀⠀⠈⠛⠿⣿⣿⡿⢿⢫⡗⡥⡿⠜⣜⢣⣱⡟⢦⡙⣬⣱⣮⠗⠋⠄⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠛⠲⠛⠦⠯⣼⣉⢿⣟⣿⣻⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⢧⢱⠩⢞⣰⣷⡟⡱⡗⠛⠋⠁⠀⠀⠀⠀⠘⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠰⠠⢀⠀⢢⡇⡎⣽⣿⡽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠄⠀⠀⠀⠀⠀⢀⠈⠠⣿⣷⡿⣿⢿⣿⢏⠼⣡⢻⡀⠀⢄⠀⠀⠀⠀⡁⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣠⠈⠐⠈⣷⣱⣏⠿⣷⣿⡆⠀⠀⠀⠀⠀⠀⠂⠐⠀⠒⠈⠀⠀⠀⠀⠀⠠⠊⢀⢰⣿⣯⡷⣟⣾⠋⠺⣴⣩⢚⡇⠂⢈⠀⠀⠀⠀⢡⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⠀⠀⠀⠘⣄⠀⠀⠈⢱⣎⢳⡹⢿⣿⡷⢤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠐⣀⣿⣿⣳⡿⠫⢎⡀⠀⠀⠙⠮⡟⠀⢈⠀⠠⢀⠂⠄⣸⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀
⠀⢸⠁⢄⠀⠀⠘⢆⠀⠂⠈⣎⢧⡙⢾⡛⠛⠉⢀⢩⠒⠦⠤⣤⣀⣀⣀⣀⣀⣮⢤⣾⠖⡛⢩⣿⠗⡋⠤⠂⠂⣈⠽⠀⠀⠀⠀⢀⠀⣀⡴⣇⠰⣆⠇⠀⠀⢀⠎⢸⠀⠀⠀⠀⠀
⠀⠈⡆⡀⠑⠠⡀⠈⠳⣄⠀⠘⡶⣙⢦⡛⢶⢄⡀⠀⠀⡩⠁⠸⣷⣤⣄⣀⣤⣶⠾⡉⢠⠤⠟⠁⠀⣠⠴⣮⡁⠀⠀⠀⠀⠐⢈⣠⠼⣱⠳⣜⢫⠎⠀⢀⠔⠁⠀⠘⡀⠀⠀⠀⠀
⠀⠀⢡⠀⠀⠀⠈⡑⠤⢀⣉⡒⠽⠼⣦⠝⣑⡐⡟⠀⢈⡉⠀⢇⢼⣿⣿⣿⣿⡿⠀⠐⠆⠀⡀⠀⠈⡆⡄⢀⠛⢓⣤⡦⢵⠺⣍⢎⡳⢥⡛⣬⠋⡠⠖⠑⠀⠀⠀⢠⠁⠀⠀⠀⠀
⠀⠀⠀⢇⠂⠀⠀⠐⠀⠀⠀⢀⡴⢋⡠⡑⠄⢊⢗⠊⣥⣧⣴⠶⣾⣟⣿⣻⢿⣧⡒⡄⡜⢥⡉⣗⠲⣼⠜⠁⢀⠎⠸⣝⡻⣵⡎⢮⣱⡧⣛⠕⠈⠀⠀⠘⠀⠀⡠⢺⠀⠀⠀⠀⠀
⠀⠀⠀⠈⢦⡙⡖⣦⢤⣤⠞⣉⠔⣢⠱⣉⢎⢂⠁⣷⡘⡗⢩⢉⢸⣿⣾⣯⣿⣿⠘⡊⠍⠦⢱⣸⣗⢀⢰⠐⡡⢊⡀⠈⡑⢧⣛⢯⣐⠈⠀⠀⠀⠠⠐⠈⣨⠞⡧⡚⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠉⠚⣶⡋⢄⠲⣡⠚⡤⢓⡌⣎⣞⣳⡼⣩⡗⠢⠌⣻⣿⣳⢿⣽⣻⠀⠁⢀⠂⠄⣗⢮⡟⡥⡘⣌⢣⡙⢆⠠⢀⠙⢮⡝⣳⢦⣄⠀⢀⣤⠻⣥⠻⡱⠁⠀⠀⠀⠀⠀
⢰⠄⡀⠀⠀⠀⡊⠁⠙⢮⡓⢤⢋⡔⣣⢞⡵⣮⢟⣲⡵⣁⣉⢉⣿⣿⣻⣿⣻⣿⡁⠔⠁⡈⢰⣏⢾⡯⣝⣧⡘⢆⡱⢊⡍⢦⡐⢀⠘⢣⡏⣾⢳⣻⣬⠳⠊⠔⠀⠀⢀⠀⠤⠐⠰
⠈⡆⠀⠁⠂⢸⠙⣤⠁⠠⠙⢮⣲⣜⢷⣫⢾⡙⣮⠏⣔⣶⣾⣴⣿⣿⣿⡾⣿⣿⡈⠉⠉⠉⢉⣉⣉⡷⣩⢏⣷⡊⡔⢣⠜⣢⢑⠣⢆⣠⠞⢫⡳⣜⣺⠒⠄⠀⠀⠉⠀⠀⠀⢀⠆
⠀⢡⠀⡀⠀⠀⠣⣈⠲⣁⠰⣜⡳⣯⡾⢣⢇⣿⢏⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⣭⣵⣭⣹⣏⡞⣧⣓⢎⡖⣻⣌⢣⠚⡤⢋⡼⠚⠁⡀⠂⢙⡼⠁⢀⠀⢀⠃⠀⠀⠀⠀⡌⠀
⠀⠀⢃⠀⣄⠀⠀⠠⠑⠚⠛⣶⡹⢯⡱⣋⢾⣿⣞⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡹⣝⣷⠮⣜⡱⢻⣆⡹⣰⠏⡰⢶⠁⢠⡵⠫⠁⢀⠌⡠⠁⠀⠀⠀⠀⡜⠀⠀
⠀⠀⠈⠣⣀⠊⢄⣀⡬⣟⡹⢆⣛⢦⣳⣿⣿⣷⣯⣭⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢻⡜⡾⣿⡰⣍⠳⣎⠿⣅⡸⠟⢀⡴⠯⠴⠤⠔⠁⠀⠀⠁⡘⠀⢐⠜⠀⠀⠀
⠀⠀⠀⠀⠈⠑⠪⠌⣒⠣⢝⣾⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠹⣿⣿⣿⣿⢿⠿⣏⣷⣹⣳⠽⡗⣎⢳⢬⠳⣭⡝⠛⠋⠀⠀⠀⠀⠀⠀⠠⣐⢤⠔⡤⠊⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠋⣤⣾⣿⣿⣿⣟⢿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⢿⣿⣿⣿⣾⣶⣿⠿⡻⣿⣶⣣⡝⢮⡜⢦⣍⢳⡒⠶⡒⠖⣀⣀⡤⢖⣲⠫⢊⠔⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣝⣿⣟⣿⣿⣧⣙⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⡟⣡⣷⣿⠿⣷⣿⣿⣦⡝⡲⢬⢣⡝⣣⢝⡹⢆⡳⡼⢓⡨⠒⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢹⣾⡏⢭⡙⢿⣿⣿⣮⢟⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣏⣼⣿⣿⣧⣇⣿⣿⣿⣹⣿⣟⠺⠥⣎⣑⣈⣣⠭⠔⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣷⣢⣞⢯⣿⣿⣟⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣳⡟⢦⡹⢯⡘⢼⣫⡝⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠿⠟⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣇⠣⡜⢢⢷⡹⣎⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⡒⡍⢆⣯⢳⣭⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⠿⣿⣷⣮⣾⠿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

It seems not really monospace in some case

Below is my screenshots as an animated GIF, you can see how the cursor moved in just up / down key pressed.
fixedsys_excelsior_not_monospace

Could it be a BOLD text issue ?

Windows7 x32, Notepad++ with Obsidian theme and fixedsys excelsior 3.01

"Inconsistent weekday" assertion while converting to TTF (Python's fontTools)

Hello,
trying to convert the FSEX.ttx to TTF (for Windows installation), I got attached assertion!
(Python v3.8.8 64bit, fontTools 4.21.1)

Wondering, if this is a "fontTools" issue or related to FSEX.TTX definition ?

(comment-out assertion in "python38\lib\site-packages\fontTools\misc\timeTools.py", line 52", will create a installable TTF)

Successfully installed fonttools-4.21.1

C:\Program Files\Python38>Scripts\ttx.exe -f D:\temp\_NP3\FSEX.ttx
Compiling "D:\temp\_NP3\FSEX.ttx" to "D:\temp\_NP3\FSEX.ttf"...
Parsing 'GlyphOrder' table...
Parsing 'head' table...
ERROR: Unhandled exception has occurred
Traceback (most recent call last):
  File "c:\program files\python38\lib\site-packages\fontTools\ttx.py", line 401, in main
    process(jobs, options)
  File "c:\program files\python38\lib\site-packages\fontTools\ttx.py", line 374, in process
    action(input, output, options)
  File "c:\program files\python38\lib\site-packages\fontTools\misc\loggingTools.py", line 373, in wrapper
    return func(*args, **kwds)
  File "c:\program files\python38\lib\site-packages\fontTools\ttx.py", line 285, in ttCompile
    ttf.importXML(input)
  File "c:\program files\python38\lib\site-packages\fontTools\ttLib\ttFont.py", line 335, in importXML
    reader.read()
  File "c:\program files\python38\lib\site-packages\fontTools\misc\xmlReader.py", line 48, in read
    self._parseFile(self.file)
  File "c:\program files\python38\lib\site-packages\fontTools\misc\xmlReader.py", line 73, in _parseFile
    parser.Parse(chunk, 0)
  File "C:\A\34\s\Modules\pyexpat.c", line 461, in EndElement
  File "c:\program files\python38\lib\site-packages\fontTools\misc\xmlReader.py", line 155, in _endElementHandler
    self.currentTable.fromXML(name, attrs, content, self.ttFont)
  File "c:\program files\python38\lib\site-packages\fontTools\ttLib\tables\_h_e_a_d.py", line 113, in fromXML
    value = timestampFromString(value)
  File "c:\program files\python38\lib\site-packages\fontTools\misc\timeTools.py", line 52, in timestampFromString
    assert t.weekday() == wkday_idx, '"' + value + '" has inconsistent weekday'
AssertionError: "Wed May  8 16:50:55 2016" has inconsistent weekday
(Hit any key to exit)

Inclusion of Fixedsys Excelsior as a Fontist formula

First of all, thank you @kika for this fantastic font!

At the Fontist project we have been curating a set of code fonts to make them available to users upon user requests.

The intuitive ligatures of Fixedsys Excelsior in the 8-bit style make those symbols easy to read in a (Mac)Vim interface, which a number of us do use.

We are planning to include Fixedsys Excelsior as an available formula at Fontist, using information we are able to gather. Hope this is okay with you!

There is technically no follow-up action needed so will just close the ticket. Do feel free to re-open on any comments or suggestions!

No ligatures

Is there a release where there aren't any ligatures?

<== ligature

I think that <== operator should get its own ligature. Some languages permit to define it (personally I often see it with Scala and ScalaFX, it's the standard binding operator there). It looks terrible with FSEX302-alt.ttf (as ≤= instead of <==), but I don't think it would look nice even with the "default" FSEX302.ttf.

No-ligiature version for terminals

While the main feature of Fixedsys Excelsior is that it has ligatures for coding, TUI elements in terminals, especially progress bars as seen in cargo ("[====> ]") can look really bad. I don't believe any other version of 'Fixedsys' would be good to switch to in an attempt to solve the problem myself because of all those extra unicode symbols that are very helpful with TUI elements that use unicode, e.g. yarn.

<head><modified value=""> inconsistency

FSEX.ttx line 6041 has an inconsistent date with day of the week.
When using fonttools ttx FSEX.ttx it results in an error:

assert t.weekday() == wkday_idx, '"' + value + '" has inconsistent weekday'
AssertionError: "Wed May 8 16:50:55 2016" has inconsistent weekday

Can be fixed by changing the day to Sunday <modified value="Sun May 8 16:50:55 2016" />

Supported software list?

I think that most of other ligature fonts have lists of software that supports them. In case we want to start such a listing for FixedSys, here's my experience:

  • Windows + IDEA (Oracle JDK): renders ligatures, but have problems rendering latin A letter (it occupies no space in text and gets composed with a next character). There's a warning in IDEA interface telling about incompatibilities of Oracle JDK and fonts with ligatures.
  • Windows + IDEA (JetBrains JDK): no problems noticed.
  • Windows + VS Code: no problems noticed.
  • Windows + Visual Studio 2015: works mostly okay, but -> ligature doesn't work. That's a known problem of WPF text renderer.
  • Windows + ConEmu: no ligatures at all. Powerline stuff works okay though, so font is usable even without ligatures. I'd recommend to set font cell width manually to 8 (otherwise it'll have problems determining proper places for line wrapping and rendering Far Manager UI): SettingsMainMain console font group → select Cell: 8 from the selector.

Add nerd-font support

this is an awesome font!!!! I love it!!!!

if it can support the nerd-font that would be fantastic!!!!

Is this font free for commercial use?

Hello. The website is down, and I can't find this information anywhere else.
I would like to use this font (actually the plain font, without ligatures) inside an app, which I intend to sell. Am I allowed to do so? How can I contact the font creator?

Tab character is displayed as box

I was trying to use this font with Xcode (Apple's software development environment) but the tab characters are displayed as box. Can you make it blank?

Font cannot be used in VSCode

I tried everything, i put everything as the guide says here, however, i couldn't use, the VSCode didn't load that

Can we get a version where <= gets replaced with ≤ instead of ⇐?

.. and have a >= to ≥ conversion too, while we're at it :).

I'm not going to ask you to remove the existing version, since I assume you added it because it fits your use-case best. However, the inequality cases actually show up in my code, whereas there is no context where ⇐ actually means something. So that's why I'd rather have a version with inequality ligatures.

How to install the latest version on Windows

How do I install the latest version of the .ttf on Windows?

This font is super cool, and retro-tastic!

The problem is I'd love to get the most updated (v3.02.9) ligatures from something like http://www.fixedsysexcelsior.com/fonts/lastest.ttf or have clear instruction on how to install them in them in the Readme. (It was a but fuzzy for me if i had to install python and then this 3rd party tool, https://github.com/fonttools/fonttools, etc. )

You've got a cool thing here, and I'd hate to have people miss out on it because the barrier to entry is kind of high. Can you dumb it down for us consumer types? 😉

[Suggestion] Change style of braille characters for better compatibility with ASCII art

This suggestion seems to be unrelated to the font's principles (only adding ligatures) but I'll share the idea in case anyone is interested in doing this change.

The use of braille characters for making ASCII art is becoming quite popular, probably because of Reddit and Twitch chat, and while these characters are not used for programming, they may be used on IRC clients such as mIRC where fixedsys is the default font.

⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠸⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⠟⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢿⣿⣿⣿⣿
⣿⣿⣿⠟⠛⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⣼⣿⣿⣿⣿
⣿⡟⠁⣀⣠⣤⣀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢀⠄⢀⣿⣿⣿⣿⣿
⡁⠁⠄⢩⣭⣍⣭⣭⣥⣤⣢⣒⣀⣲⣄⣒⣛⣛⣛⣛⣛⣛⢻⣿⣿
⠇⠄⢨⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣋⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⠄⠄⠄⠉⠙⡿⢿⣿⣿⣿⣿⠑⠄⠈⣝⣿⣿⣯⣴⣦⡾⣿⣾⣿⡗
⡄⠄⠄⠄⠄⠈⠉⠙⠒⠂⠄⠄⠄⠄⣿⣷⠿⠛⠛⠚⠛⣻⣿⣿⡇
⠃⠄⠄⠄⠄⠄⠄⠄⠄⠁⡀⠄⠄⠄⢹⣿⣧⠄⠄⠄⠄⣿⣿⡿⠁
⠄⡀⠄⠄⠄⠄⠄⣀⢀⣠⢼⣷⣤⣤⣿⣿⣤⣀⠄⠄⢸⣿⣿⡇⠄
⠄⢇⠄⠄⠄⠄⠰⢿⣤⣤⠤⢤⣬⣽⣽⣿⣿⣿⣿⠄⢸⣿⣿⣀⠄
⠄⠈⢦⡀⠄⠄⠄⠄⠈⠈⠑⠢⠭⠤⢭⣿⣿⠟⠛⠄⣾⣿⣇⢻⠄
⠄⠄⠄⠑⣄⠄⠄⠄⠄⠄⠰⢾⣾⣿⣿⣿⣿⣶⣤⣾⣿⡟⢁⠄⠄
⠄⠄⠄⠄⡈⢳⣦⡀⠄⡀⣀⣀⣤⣅⣈⣀⣼⣿⣿⡿⡋⠄⠂⠄⠄
⠄⠄⠄⠄⠄⢄⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⡃⠄⠄⠄⠄⠄⠄ 

Fixedsys Excelsior comes with braille characters, but only the 6-dot patterns, and they were designed in a way that people could see which "dot" is disabled.
Designer_PAIsfmoS25
This style is quite problematic for ASCII art, here's an example of shrek done in ASCII using these braille characters:

Designer_tWj6PGPlBr

By simplifying the design of the 6-dot characters, and adding the 8-dot ones, the result is a font ready to be used for proper ASCII art through braille:
image
An example of shrek with the new characters:

Designer_Lwk3wMbRWe

PS: These images were made in Photoshop since I couldn't get fonttools to run on my system.

Use the first PUA block

Higher PUA blocks don't seem to work under Emacs and st. I'm willing to give instructions for getting it to work under Emacs.

Visual font height is 15, not 16

I use VS code on Windows 10.
I found that block or vertical line is not connected vertically because the height is not full 16px.
And I found the height is (120 - -30) / 10 = 15 from line 33591:

    <TTGlyph name="block" xMin="0" yMin="-30" xMax="80" yMax="120">
      <contour>
        <pt x="80" y="-30" on="1"/>
        <pt x="0" y="-30" on="1"/>
        <pt x="0" y="120" on="1"/>
        <pt x="80" y="120" on="1"/>
      </contour>
      <instructions><assembly>
        </assembly></instructions>
    </TTGlyph>

README.md said "8x16 font".

Generated TTF font?

I couldn't generate the font with the older (fonttools-2.4-3.el7.x86_64) fonttool on my RHEL-7, so I had to create a virtual machine with Fedora just to get the TTF of your font to view. It would be probably an act of mercy to include generated TTF font in the repo as well, for the quick look at it.

Add ligature for --> (HTML end comment token)

Currently --> looks too ugly like this: "-→" (note that - and -> are aligned differently). Please add a ligature for -->. This character sequence is often used in HTML documents, and someone could treat it as a fancy C "going to" operator in statements like that:

int i = 100;
while (i --> 0) {
    printf("%d", i);
}

(That it's really not a C operator, but a pair of different tokens, but whatever.)

|> pipe operator ligature for Elixir

Any chance we might get a |> pipe operator ligature for Elixir? Fira generates a clean little triangle, I'd love to see something similar here in the future. Thank you!

Using this in a product

Hi @kika thanks for making this awesome font. I have an open source product where I would like to use your font. Is there any License file where I can see the details?

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.