Skip to content

Commit

Permalink
Merge pull request #74 from IdreesInc/73-programatically-generate-mon…
Browse files Browse the repository at this point in the history
…ocraft

Programatically generate the Monocraft font
  • Loading branch information
IdreesInc committed Dec 27, 2022
2 parents 97406a2 + 412fd10 commit 2677818
Show file tree
Hide file tree
Showing 18 changed files with 39,373 additions and 16,747 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@

.DS_Store
src/__pycache__
dist/
src/build-font.sh
Binary file removed Monocraft.otf
Binary file not shown.
28 changes: 16 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
# Monocraft

[![Github all releases](https://img.shields.io/github/downloads/IdreesInc/Monocraft/total.svg)](https://GitHub.com/IdreesInc/Monocraft/releases/)
![](https://img.shields.io/github/license/IdreesInc/Monocraft)
[![](https://img.shields.io/github/v/release/IdreesInc/Monocraft)](https://GitHub.com/IdreesInc/Monocraft/releases/)

![](images/preview.png)

The font for developers who like Minecraft a bit _too_ much.
The monospaced font for developers who like Minecraft a bit _too_ much.

*Notice: This project is not affiliated with Minecraft or Mojang in any way and is exclusively a fan project. This font emulates the typeface of the font used in the Minecraft UI, but it does not include any assets or font files from the original game.*

## Features

- Minecraft!
- The characters in this font were based around the [typeface](https://github.com/IdreesInc/Minecraft-Font) used in the Minecraft UI, with a select few glyphs updated for better readability and spacing
- The characters in this font were based around the [typeface](https://github.com/IdreesInc/Minecraft-Font) used in the Minecraft UI, with each glyph updated for better readability and spacing
- Monospaced!
- Each character has been carefully redesigned to work in a monospaced font
- Each of the 500+ glyphs included in this font have been carefully redesigned to work in a monospaced font
- Thin characters like "i" and "l" have been reworked with tasteful tails and serifs to look better in a monospaced environment
- Programming ligatures!
- Add some spice to your programming life with all new ligature characters
Expand All @@ -25,24 +29,24 @@ The font for developers who like Minecraft a bit _too_ much.

### Windows

Download the most recent `Monocraft.otf` file from the [Releases](https://github.com/IdreesInc/Minecraft-Mono/releases) page. Right click on the downloaded font and select **Install**. You might need administrative access to install fonts, depending on your machine.
Download the most recent `Monocraft.ttf` file from the [Releases](https://github.com/IdreesInc/Monocraft/releases) page. Right click on the downloaded font and select **Install**. You might need administrative access to install fonts, depending on your machine.

### Mac

#### Manually

Download the most recent `Monocraft.otf` file from the [Releases](https://github.com/IdreesInc/Minecraft-Mono/releases) page. Double click on the downloaded font file and select **Install Font** in the window that appears. More help available [here](https://support.apple.com/en-us/HT201749).

#### Using Homebrew

```shell
brew tap homebrew/cask-fonts
brew install --cask font-monocraft
```

#### Manually

Download the most recent `Monocraft.ttf` file from the [Releases](https://github.com/IdreesInc/Monocraft/releases) page. Double click on the downloaded font file and select **Install Font** in the window that appears. More help available [here](https://support.apple.com/en-us/HT201749).

### Linux

Download the most recent `Monocraft.otf` file from the [Releases](https://github.com/IdreesInc/Minecraft-Mono/releases) page. Move the file to ~/.local/share/fonts (create the folder if it doesn't already exist). In a terminal, run `fc-cache -fv`. Alternatively, log out and log in again.
Download the most recent `Monocraft.ttf` file from the [Releases](https://github.com/IdreesInc/Monocraft/releases) page. Move the file to ~/.local/share/fonts (create the folder if it doesn't already exist). In a terminal, run `fc-cache -fv`. Alternatively, log out and log in again.

## How to use

Expand All @@ -56,11 +60,11 @@ So far, the following ligatures have been added to the font:

<img src="images/ligatures.png" width="300">

If there is another character combination that you feel could be a ligature, feel free to create an issue.
If there is another character combination that you feel could be a ligature, feel free to create an issue!

### How were these characters generated?
### How are these characters generated?

Using [FontForge](https://fontforge.org/en-US/), a fantastic and open source font designer.
Using [FontForge's](https://fontforge.org/en-US/) excellent Python extension, the glyphs are created from configuration files representing each character's pixels. Diacritics are created separately and are combined with the original characters to create over 500 unique glyphs. To learn more, check out the source code in the [src](https://github.com/IdreesInc/Monocraft/tree/main/src) folder.

### Do you have a version with the original Minecraft font (not monospaced)?

Expand Down
1 change: 0 additions & 1 deletion backups/mono-bitmap-export.txt

This file was deleted.

46 changes: 28 additions & 18 deletions examples/glyphs.txt
Original file line number Diff line number Diff line change
@@ -1,27 +1,37 @@
--- Monocraft ---

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z

0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9

! " # $ % & ‘ ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á
Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á
â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý ÿ Ā ā Ă
ă Ć ć Ĉ ĉ Ċ ċ Č č Ď ď Ē ē Ĕ ĕ Ė ė Ě ě Ĝ ĝ Ğ ğ Ġ ġ Ĥ ĥ Ĩ ĩ Ī ī Ĭ
ĭ İ Ĵ ĵ Ĺ ĺ Ľ ľ Ń ń Ň ň Ō ō Ŏ ŏ Ő ő Ŕ ŕ Ř ř Ś ś Ŝ ŝ Š š Ť ť Ũ ũ
Ū ū Ŭ ŭ Ů ů Ű ű Ŵ ŵ Ŷ ŷ Ÿ Ź ź Ż ż Ž

€ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é é ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý Ő ő Ű ű
ž Ǎ ǎ Ǐ ǐ Ǒ ǒ Ǔ ǔ Ǣ ǣ Ǧ ǧ Ǩ ǩ ǰ Ǵ ǵ Ǹ ǹ Ǽ ǽ Ȟ ȟ Ȧ ȧ Ȯ ȯ Ȳ ȳ Ѐ Ё
Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ѝ Ў Џ А Б В Г Д Е Ж З И Й К Л М Н О П Р С
Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ж з и й к л м н о п р с
т у ф х ц ч ш щ ъ ы ь э ю я ѐ ё ђ ѓ є ѕ і ї ј љ њ ћ ќ ѝ ў џ

Ѐ Ё Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ѝ Ў Џ А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я ѐ ё ђ ѓ є ѕ і ї ј љ њ ћ ќ ѝ ў џ
Ӂ ӂ Ӑ ӑ Ӓ ӓ Ӗ ӗ Ӝ ӝ Ӟ ӟ Ӣ ӣ Ӥ ӥ Ӧ ӧ Ӭ ӭ Ӯ ӯ Ӱ ӱ Ӳ ӳ Ӵ ӵ Ӹ ӹ Ḃ ḃ
Ḋ ḋ Ḟ ḟ Ḡ ḡ Ḣ ḣ Ḧ ḧ Ḱ ḱ Ḿ ḿ Ṁ ṁ Ṅ ṅ Ṕ ṕ Ṗ ṗ Ṙ ṙ Ṡ ṡ Ṫ ṫ Ṽ ṽ Ẁ ẁ
Ẃ ẃ Ẅ ẅ Ẇ ẇ Ẋ ẋ Ẍ ẍ Ẏ ẏ Ẑ ẑ ẗ ẘ ẙ Ẽ ẽ Ỳ ỳ Ỹ ỹ

☺ ☻ ♥
☺ ☻ ♥ ⨰ ⸚

--- Ligatures ---
= = -> ==
= = = -> ===
! = -> !=
! = = -> !==
- > -> ->
< - -> <-
= > -> =>
> = -> >=
< = -> <=


 = = -> ==
 = = = -> ===
 ! = -> !=
 ! = = -> !==
 < = -> <=
 > = -> >=
 < - -> <-
 - > -> ->
 = > -> =>
 < = > -> <=>
13 changes: 0 additions & 13 deletions examples/ligature-examples.txt

This file was deleted.

0 comments on commit 2677818

Please sign in to comment.