Coder Social home page Coder Social logo

idreesinc / monocraft Goto Github PK

View Code? Open in Web Editor NEW
7.8K 25.0 113.0 5.69 MB

A monospaced programming font inspired by the Minecraft typeface

Home Page: https://idreesinc.com

License: SIL Open Font License 1.1

Python 100.00%
font ligatures minecraft fonts homebrew typeface

monocraft's Introduction

Monocraft

Github all releases

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

If you'd like to see a vectorized version of this font, try Miracode!

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 used in the Minecraft UI, with each glyph updated for better readability and spacing
  • Monospaced!
    • Each of the 1500+ 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
    • Arrows now look like arrows and comparison operators are easier to see at a glance

Glyphs

How to install

Windows

Download the most recent Monocraft.ttf file from the Releases page. Right click on the downloaded font and select Install. You might need administrative access to install fonts, depending on your machine.

Mac

Using Homebrew

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

Manually

Download the most recent Monocraft.ttf file from the Releases page. Double click on the downloaded font file and select Install Font in the window that appears. More help available here.

Linux

Download the most recent Monocraft.ttf file from the 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

After following the installation instructions up above, simply select the "Monocraft" font (note the space) in any application that supports custom fonts. You might need to restart the application or your computer for the font to appear.

FAQ

What ligatures are available?

So far, the following ligatures have been added to the font:

And with the contributions of @Ciubix8513, Monocraft now includes continuous ligatures that enable you to type arrows and lines that just keep going.

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

How are these characters generated?

Using FontForge's 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 folder.

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

I've got you covered, check out my rendition of the Minecraft typeface here.

What if I want to use a font that's actually good?

Understandable, check out Fira Code for a font with amazing attention to detail, or Scientifica for a bitmap font similar to this.

monocraft's People

Contributors

ciubix8513 avatar dantaeusb avatar dheatly23 avatar erickgnavar avatar gorbit99 avatar idreesinc avatar kpostnov avatar nevillepark 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

monocraft's Issues

Provide NerdFont version

I realize I can just patch the font myself, but it would be convenient and make the font a lot more usable to provide a version that supports NerdFont characters. Maybe some of them could even be adjusted to fit the pixelated style?

Is it possible to patch the font easily?

I do not have much FontForge experience. But say I want to make the difference between ( and { more visible. Is there an easy way to do this without having to manually adjust the character each time you update the font?

Monofont Light for smaller font sizes (<12)

The font is a little boldish for smaller font sizes. Suggest for a lighter weighted version of the font to be made if the dev team has the extra time.

Of course, thanks a lot for this font too!

Ligatures on Dev C++

Hey mate!
Excellent work with the font, I am not programming in Visual and I have a problem in Dev C ++ I do not know if it can be solved but I leave you capture on the detail with the ligature. Thanks again for your work!

Captura de pantalla_20221106_113321

The detail/bug is in the ligature of == in the while of the capture

macos: not detected as a monospace font

In macOS Font Book, there's a smart collection for Monospaced (Fixed Width) fonts.

I've tried to look into how this is determined, and I'm not sure. FontForge docs seems to say that it (FF) should decide for itself when the font is monospaced, although it also mentions some (OS/2?) setting for this, and I don't know if this would have an impact.

tl;dr it would be nice if Monocraft was automatically added to the Fixed Width smart collection in Font Book, and I'm not sure why it doesn't show up there.

Missing Czech characters

Hi, I would love to use this, but since in my codebase we do have some Czech texts, it looks way off.

I heard it is possible to add all variants via marks and glyphs, but since it was my first try, it was futile. But, I would consider donating some coins if the support for Czech language would be added :)

Support for Polish

It'd be nice to include Polish letters in the next version. Thank you for your work!

italic and bold does not work as intended

hello there 👋 😋

i think this is related to #32, but somewhat different, so i thought creating a new issue was the best 😌

what i expected

when sending escape sequences to my terminal, i expect the font to adapt and reflect the style i want 👍
it works for the normal font, the dimmed and the underlined one, see below 👌

what i see

but it does not look like monocraft in the case of the bold and the italic fonts 🤔
it even looks like mononoki to be honest, which is the main other font i have installed on my system currently 😮
monocraft-bold-italic

the script to generate the image

the script is written in nushell

the only thing important to know is that ansi is a nushell built-in command which sends classic escape sequences to the terminal to change the style of the output 😋

  • white sends [37m
  • red_bold sends [1;31m
  • ...
  • reset sends [0m
$"(ansi green)the three following seem to work fine :ok_hand:"
$"    (ansi white)this is a normal sentence(ansi reset)"
$"    (ansi white_dimmed)this is a dimmed sentence(ansi reset)"
$"    (ansi white_underline)this is an underlined sentence(ansi reset)"

$""
$"(ansi red)the two following are not..."
$"    (ansi white_italic)this is an italicized sentence(ansi reset)"
$"    (ansi white_bold)this is a bold sentence(ansi reset)"

additional context

  • os:
> uname -r
5.19.13-arch1-1
  • terminal:
alacritty 0.10.1 ()
  • shell:
nushell 0.67.0
> pacman -Q | grep monocraft
otf-monocraft 1.4-1

Creeper face in the capital A

Are there enough pixels to make a creeper face in the capital A letter (or is that only the A in the logo)? It would just be a fun touch, great font though!

Weird spacing in letter 'k'

Lowercase letter 'k' has extra "pixel" of space on the left, making it different from other "wide" letters.
It bugs me a little. Is it considered intentional?
Maybe it would look better with a single extra pixel?

eng_k_example

Version for inclusion in Minecraft resource pack

I'm actually curious, is there a way to use this in the actual game itself as part of a resource pack (to get a monospace font in game)?

I've always wanted the in game font to be monospace (for various commands/generating tabular data in chat)... I've "generated" some fonts but they've never ended up quite right.

Contributor guidelines

You might want to create a guideline for outside contributors. It'd be beneficial to list specific FontForge settings for the exported OTF file.

Missing Romanian characters

Hey! I write some Romanian texts for uni purposes and ș, ț and ă (and its uppercase variants) aren't included in this font:
image

Thanks dude

I've literally been using this for over a week and refuse to use the original VSC font.

Automate exporting multiple versions of the font

Creating versions of the font with ligatures removed or custom bold weighting require manual actions each time the font is updated and would be prone to error. I will need to investigate whether I can automate these actions with scripts, otherwise these features might become too tedious to implement.

Currently blocks #9, #10, #21

Can the font be configured to work in Powershell/Windows Console?

I was trying to set the font as my PowerShell default font, but wasn't getting it to show up in the menu. I looked into it, and found that in order to show up in that menu, a font must fulfill these criteria (source: https://superuser.com/a/1381619):

  • The font must be a fixed-pitch font.
  • The font cannot be an italic font.
  • If it is a TrueType font, it must be FF_MODERN.
  • If it is not a TrueType font, it must contain the OEM_CHARSET.
  • The font cannot have a negative A or C space.

Now, I'm not sure how much of this is something that needs to be changed (And I'm not sure how it would work with ligatures and other QOL things with the font), but would it be possible to either have a version of the font that had these configurations or have the base version of the font be configured this way?

Add pipe operator ligature

Hello! I'm using Elixir, and there's a pipe operator here - it looks like |>. And, honestly, without a ligature, it doesn't look very nice. Can you add a pipe operator ligature?

Missing LICENSE

I see you have no LICENSE file for this project. The default is copyright.

I would suggest releasing the code under the CC-0, CC-BY, or MIT license so that others are able to modify and use your project within other projects.

doesn't work with intillij/Android studio

Screenshot 2022-09-12

In this image i choose the monocraft font, yet after pressing 'apply' it just doesn't look minecrafty!
(plus, when it's in the box of 'Use custom font: " it also doesn't look like it should)

Add continuous ligatures for equal sign (=)

I think it would be nicer, if equal signs were connected instead of having chunks of triple-equal-signs.

=== should still become ≣≣≣
but ==== and longer should be ====

Monocraft:
Equal signs with Monocraft

Fira Code:

Equal signs with Fira Code

Linux Version

Could you make a Linux version pls, I love the look of this and am only on Linux. would be awesome if you could :)

Italics issues

There are some issues when the characters are italicized (at least in the windows terminal)

First, some characters are cut off at the edge:
image

Also, some characters shouldn't actually be italicized even if everything else is, for example pipe characters:
image

Probably the same should apply to ligatures, as they aren't the best like that:
image

-> ligature is broken in intellij

image

as seen in the screenshot the -> ligature is not displayed correctly in intellij.
Could this be an issue with the font or a bug in intellij?

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.