59 Commits
v1.0.0 ... main

Author SHA1 Message Date
sayyadirfanali
4b5ef8ceb5 change from Italic to Oblique to fix #26 2025-12-24 19:23:57 +05:30
sayyadirfanali
69c35f3095 add altl.py for featureless and ambiguous 'l' font generation for #27 2025-12-24 18:43:22 +05:30
Irfan Ali
e80ce0ccce add fix suggested by https://github.com/sayyadirfanali/Myna/pull/18 2025-12-14 22:40:58 +05:30
sayyadirfanali
18f515d22a add nerd font after APL symbols 2025-12-14 22:23:38 +05:30
sayyadirfanali
6deef2bcb3 add more APL symbols 2025-12-14 22:22:16 +05:30
Irfan Ali
4fbf07c1d1 Update README.md 2025-12-14 21:12:51 +05:30
Irfan Ali
295c8cc6ef add Myna emoji 2025-12-14 21:12:36 +05:30
Irfan Ali
3c90843717 Update README.md 2025-12-14 20:53:58 +05:30
sayyadirfanali
7e028def6d fix width issues again 2025-12-14 20:49:53 +05:30
sayyadirfanali
1220fc2457 correct width of all glyphs to ensure monospace attribute 2025-12-14 20:47:27 +05:30
sayyadirfanali
18fe183199 correct few bold glyphs 2025-12-14 20:39:30 +05:30
Irfan Ali
7a6c118fce Update README.md 2025-12-14 18:50:33 +05:30
Irfan Ali
930933f4c7 Update README.md 2025-12-14 18:50:02 +05:30
Irfan Ali
ac0c59cca1 Update README.md 2025-12-14 18:49:00 +05:30
sayyadirfanali
e3b3693566 add NerdFont for v2.0 Beta 2025-12-14 18:46:55 +05:30
sayyadirfanali
3ffa429a9e update README.md for v2.0 Beta announcement 2025-12-14 18:43:59 +05:30
sayyadirfanali
24ccfd2458 add v2.0 Beta release variants 2025-12-14 18:39:00 +05:30
sayyadirfanali
9138e77400 add contextual alternate for pipe operator in #1 2025-11-17 23:16:17 +05:30
sayyadirfanali
5e3e7c4d1c recompile to produce .ttf file removed by mistake 2025-11-16 15:10:12 +05:30
sayyadirfanali
fa3d37b491 fix table entries to potentially resolve #15 2025-11-14 17:59:41 +05:30
sayyadirfanali
cd8af2a28f fix for #16 where previous commit for changed width for œ 2025-11-14 16:59:50 +05:30
sayyadirfanali
bb487734ca improve œ design 2025-11-13 08:18:10 +05:30
sayyadirfanali
3f698f683a add .ttf to fix #14 2025-11-13 07:06:21 +05:30
sayyadirfanali
0f39e4fd94 improve æ after fix #12 2025-11-13 06:55:47 +05:30
sayyadirfanali
29adf9463e add æ to fix #12 2025-11-13 00:35:26 +05:30
sayyadirfanali
efc74f9d15 add disambiguating and alternate (original) variants of small 'l' 2025-11-12 23:34:25 +05:30
sayyadirfanali
6fa63d06ba realign block characters 2025-11-11 17:12:29 +05:30
sayyadirfanali
60204ed5df patch NerdFont symbols for #5 2025-11-10 11:23:18 +05:30
Irfan Ali
cf3e7ac704 fix grammar mistake in README.md 2025-11-10 11:04:41 +05:30
sayyadirfanali
36ed9972b7 correct Latin extended 2025-11-10 01:01:43 +05:30
sayyadirfanali
4839790002 potential fix for #9 2025-11-10 01:01:43 +05:30
sayyadirfanali
f48cc5ec42 fix #8: change l serif to disambiguate from 1 and I 2025-11-10 01:01:29 +05:30
Irfan Ali
9977727d3c Update README.md 2025-11-09 15:53:42 +05:30
Irfan Ali
3b7b6c2a35 Update README.md 2025-11-09 15:53:09 +05:30
sayyadirfanali
aedd9bb10e resolve merge conflict 2025-11-09 15:51:56 +05:30
sayyadirfanali
1b12c8376d add light and dark images 2025-11-09 15:51:05 +05:30
Irfan Ali
aa09d759aa Update README.md 2025-11-09 00:54:19 +05:30
Irfan Ali
2a0396d8c2 Update README.md 2025-11-09 00:51:43 +05:30
Irfan Ali
5aa0947030 Update README.md 2025-11-09 00:50:31 +05:30
Irfan Ali
7c2f726d36 update README.md 2025-11-09 00:48:21 +05:30
Irfan Ali
8346f54cdd update README.md 2025-11-09 00:07:56 +05:30
sayyadirfanali
4a81de064c improve comparison 2025-11-09 00:04:53 +05:30
Irfan Ali
69f56b6d99 update README.md 2025-11-08 23:46:06 +05:30
Irfan Ali
074d39b279 update README.md 2025-11-08 23:45:10 +05:30
Irfan Ali
29a7178673 update README.md 2025-11-08 23:41:58 +05:30
sayyadirfanali
dd4d03a514 add comparison 2025-11-08 23:40:43 +05:30
sayyadirfanali
66293f6080 add comparison 2025-11-08 23:39:58 +05:30
sayyadirfanali
105e6b0efd add Myna.sfd 2025-11-07 21:15:43 +05:30
sayyadirfanali
53b1807d52 update README.md 2025-11-07 12:48:06 +05:30
sayyadirfanali
a87ccf8e1a fix #2 and #3
- aligned extrema to baseline for 'm'
- removed overlap for few 0
2025-11-07 12:22:37 +05:30
sayyadirfanali
951c8c67cc change banner 2025-11-06 17:29:01 +05:30
sayyadirfanali
79bb9e1d59 change banner 2025-11-06 16:55:35 +05:30
sayyadirfanali
9c88efd387 change banner 2025-11-06 16:52:50 +05:30
sayyadirfanali
f22ceeaf27 change banner 2025-11-06 16:51:56 +05:30
sayyadirfanali
9d66a8ca48 change banner 2025-11-06 16:50:01 +05:30
sayyadirfanali
4d8b1edc0d change banner 2025-11-06 16:49:27 +05:30
sayyadirfanali
fc10c68d3f delete Ruby illustrations 2025-11-06 14:28:05 +05:30
Irfan Ali
45156ab90b update README.md 2025-11-06 14:27:14 +05:30
Irfan Ali
643c88dea7 update README.md 2025-11-06 11:56:04 +05:30
52 changed files with 65540 additions and 63 deletions

32779
Myna-Bold.sfd Normal file

File diff suppressed because it is too large Load Diff

32427
Myna-Regular.sfd Normal file

File diff suppressed because it is too large Load Diff

BIN
Myna.otf

Binary file not shown.

97
OFL.txt Normal file
View File

@@ -0,0 +1,97 @@
Copyright (c) <dates>, <Copyright Holder> (<URL|email>),
with Reserved Font Name <Reserved Font Name>.
Copyright (c) <dates>, <additional Copyright Holder> (<URL|email>),
with Reserved Font Name <additional Reserved Font Name>.
Copyright (c) <dates>, <additional Copyright Holder> (<URL|email>).
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -1,67 +1,49 @@
![Myna](./images/hero.png)
![Version](https://img.shields.io/badge/version-1.0.0-blue.svg?style=for-the-badge)
<picture>
<source media="(prefers-color-scheme: dark)" srcset="images/banner_dark.png">
<source media="(prefers-color-scheme: light)" srcset="images/banner_light.png">
<img alt="Myna" src="images/banner_light.png">
</picture>
![Version](https://img.shields.io/badge/version-2.0.0b-blue.svg?style=for-the-badge)
![License](https://img.shields.io/badge/license-OFL-success.svg?style=for-the-badge)
[Myna v2.0.0 Beta](https://github.com/sayyadirfanali/Myna/releases/tag/v2.0.0.0-beta) is released. It features more bold and (faux) italic variants and even supports APL characters. Please download it and report issues for v2.0.0 full release.
Do you ever feel like your font treats symbols as second-class glyphs? Are you frustrated that `->` looks nothing like an arrow, and `$`, `@`, `%` seem ever mismatched?
Want to experience the beauty of ligatures without losing the simplicity of ASCII?
Want to experience the beauty of ligatures without losing the simplicity of ASCII and getting tangled in the web of ligature-compatible terminal emulators?
**Myna** (*Gracula religiosa* 🐦‍⬛) is a monospace font which aims to bring harmony to your editor by treating symbols as first-class glyphs alongside alphanumeric characters.
**Myna 🐦‍⬛** ([_Gracula religiosa_](https://en.wikipedia.org/wiki/Common\_hill\_myna)) is a monospace font which aims to bring harmony to your editor by treating symbols as first-class glyphs alongside alphanumeric characters.
NB: Please don't mind the colorscheme in the banner above. I just picked it because it highlighted the most colors in Ray.so. Since the banner contains multiple languages, no single colorscheme could properly highlight them in one image.
## Why Myna?
Myna was borne out of a need to scratch a persistent typographical itch. While I've tried many otherwise well-crafted monospace fonts, I always found myself wanting to tweak a glyph here or adjust a shape there. After developing Myna and using it almost exclusively in my professional and personal work, I'm sharing it as a small contribution to the wonderful community of monospace typography enthusiasts.
Myna was born of a need to scratch a persistent typographical itch. While I've tried many otherwise well-crafted monospace fonts, I always found myself wanting to tweak a glyph here or adjust a shape there. After developing Myna and using it almost exclusively in my professional and personal work, I'm sharing it as a small contribution to the wonderful community of monospace typography enthusiasts.
Here are a few of its attractive features that might make it your next favourite monospace font:
- **Symbol-First Design**: clear emphasis on ASCII symbols which are ubiquitous in programming languages
- **Near-Perfect Alignment**: multi-character symbols like `->`, `>>=`, `=~`, `::` align seamlessly
- **Balanced Weight**: symbols have just the right visual weight against your code
- **Minimalist Forms**: geometric shapes for quotes and commas
- **Language-Aware Design**: clean sigils for Perl + elegant operators for Haskell + clear symbols for Rust (and even APL)
- **Clear Distinction**: no more confusing `1 l I |` or `0 O o`
- **Language-Aware Design**: clean sigils for Perl + elegant operators for Haskell + clear symbols for C
NB: Myna is designed to be a simple font. The current release is a single weight without ligatures, though future updates may expand its features if demand arises. It does work out nicely with synthesised bold generated by fontconfig and pango on Linux.
## Showcase
<picture>
<source media="(prefers-color-scheme: dark)" srcset="images/Perl_dark.png">
<source media="(prefers-color-scheme: light)" srcset="images/Perl_light.png">
<img alt="Perl" src="https://example.com/Perl_light.png">
</picture>
Below is a comparison of Myna (colored line at bottom) with other popular monospace fonts (the actual list can be found in the script `drawcomp`). It highlights Myna's philosophy of uniform and aligned glyph design so that symbols look natural and editing remains fun.
<picture>
<source media="(prefers-color-scheme: dark)" srcset="images/Haskell_dark.png">
<source media="(prefers-color-scheme: light)" srcset="images/Haskell_light.png">
<img alt="Haskell" src="https://example.com/Haskell_light.png">
<source media="(prefers-color-scheme: dark)" srcset="images/comp_dark.png">
<source media="(prefers-color-scheme: light)" srcset="images/comp_light.png">
<img alt="Myna" src="images/comp_light.png">
</picture>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="images/C_dark.png">
<source media="(prefers-color-scheme: light)" srcset="images/C_light.png">
<img alt="C" src="https://example.com/C_light.png">
</picture>
| Language | Light | Dark |
|----------|-------|------|
| **Perl** | <img src="images/Perl_light.png" width="500"> | <img src="images/Perl_dark.png" width="500"> |
| **Haskell** | <img src="images/Haskell_light.png" width="500"> | <img src="images/Haskell_dark.png" width="500"> |
| **C** | <img src="images/C_light.png" width="500"> | <img src="images/C_dark.png" width="500"> |
| **Bash** | <img src="images/Bash_light.png" width="500"> | <img src="images/Bash_dark.png" width="500"> |
| **Clojure** | <img src="images/Clojure_light.png" width="500"> | <img src="images/Clojure_dark.png" width="500"> |
| **Erlang** | <img src="images/Erlang_light.png" width="500"> | <img src="images/Erlang_dark.png" width="500"> |
| **OCaml** | <img src="images/OCaml_light.png" width="500"> | <img src="images/OCaml_dark.png" width="500"> |
| **Ruby** | <img src="images/Ruby_light.png" width="500"> | <img src="images/Ruby_dark.png" width="500"> |
| **Rust** | <img src="images/Rust_light.png" width="500"> | <img src="images/Rust_dark.png" width="500"> |
| **LaTeX** | <img src="images/LaTeX_light.png" width="500"> | <img src="images/LaTeX_dark.png" width="500"> |
| **HTML** | <img src="images/HTML_light.png" width="500"> | <img src="images/HTML_dark.png" width="500"> |
| **SQL** | <img src="images/SQL_light.png" width="500"> | <img src="images/SQL_dark.png" width="500"> |
## Installation
Myna features Regular, Medium, Bold weight with faux Italic variants for all of them. In order to download them, please download the released zip files or clone the repo and then copy the relevant fonts from the folder `fonts/` into the font directory in your OS.
### Linux
```bash
git clone https://github.com/sayyadirfanali/Myna.git
cd Myna
cp Myna.otf ~/.local/share/fonts/
cd ./Myna/fonts
cp *.otf ~/.local/share/fonts/
fc-cache -v
```
@@ -76,6 +58,12 @@ cp Myna.otf ~/Library/Fonts/
1. Download the release
2. Right-click `Myna.otf` and select "Install for all users"
NB: I've added a one-liner script `mknerdfont` to attach NerdFont glyphs into any variant. I've also released the Regular variant with NerdFont. You can use to script to run on any variant/weight to get a NerdFont-compatible version. You'd need [fontpatcher](https://github.com/ryanoasis/nerd-fonts?tab=readme-ov-file#font-patcher) installed for `mknerdfont` to work.
NB: I've also added a script `changeheight.py` to increase/decrease vertical spacing (in response to #9). You can use it if you want more vertical compactness in your terminal.
NB: The latest release (v2.0.0) features contextual variants for a few glyph pairs (eg, `|>`, `:=`) in response to #1 and #6. You'd need a terminal which can work with font features to be able to display them.
## License
SIL Open Font License, Version 1.1
@@ -87,6 +75,6 @@ Code banner and illustrations were produced using ImageMagick and [Ray.so](https
## Future
Myna is designed to be used universally in every kind of terminal and editor. I've tried to include a reasonable subset of non-ASCII glyphs (mostly geometrical and mathematical characters). However, I'm considering expanding it based on community interest and would welcome contributions in these areas:
- Bug Reports: spacing and kerning issues, rendering problems, unavailable/incorrect glyphs
- Feature Requests: Suggest new glyphs or features via GitHub Issues
- Feature Requests: suggest new glyphs or features via GitHub Issues
Please feel free to open issues and also contact me at irfan@irfanali.org.

26
README.txt Normal file
View File

@@ -0,0 +1,26 @@
# Myna
## Description
This package contains the Myna font in several variants: Regular and Bold (and faux Italic for both of them)
## Installation
### Linux
```bash
git clone https://github.com/sayyadirfanali/Myna.git
cd ./Myna/fonts
cp *.otf ~/.local/share/fonts/
fc-cache -v
```
### macOS
```bash
git clone https://github.com/sayyadirfanali/Myna.git
cd Myna
cp Myna.otf ~/Library/Fonts/
```
### Windows
1. Download the release
2. Right-click `Myna.otf` and select "Install for all users"
Format notes: OTF for OpenType features, TTF for broader compatibility.

18
altl.py Normal file
View File

@@ -0,0 +1,18 @@
import fontforge
import math
import psMat
def mkFont(name, weight):
font = fontforge.open(name + ".sfd")
font.selection.select("alt_l")
font.copy()
font.selection.select("l")
font.paste()
font.generate(name + ".otf")
font.close()
mkFont("Myna-Regular", "Regular")
mkFont("Myna-Bold", "Bold")

49
build.py Normal file
View File

@@ -0,0 +1,49 @@
import fontforge
import math
import psMat
def mkFont(name, weight):
font = fontforge.open(name + ".sfd")
font.mergeFeature("features.fea")
font.generate("./fonts/" + name + ".otf")
font.generate("./fonts/" + name + ".ttf")
font.selection.all()
angle = 12
font.transform(psMat.skew(angle * math.pi / 180))
font.familyname = "Myna"
font.weight = weight
font.italicangle = -angle
if weight == "Bold":
subfamily = "Bold Italic"
# 0x01 (Italic) + 0x20 (Bold) = 0x21
font.os2_stylemap = 0x21
full_name = "Myna Bold Oblique"
else:
subfamily = "Italic"
font.os2_stylemap = 0x01
full_name = "Myna Regular Oblique"
font.fullname = full_name
font.fontname = full_name.replace(" ", "")
# This is the critical part for app recognition:
font.appendSFNTName("English (US)", "SubFamily", subfamily)
# Preferred Style
# font.appendSFNTName("English (US)", "Preferred Style", weight + " Oblique")
# 7th is Letterform where 9 = Oblique and 2 = Italic
panoseL = list(font.os2_panose)
panoseL[7] = 9
font.os2_panose = tuple(panoseL)
font.generate("./fonts/" + name + "Oblique.otf")
font.generate("./fonts/" + name + "Oblique.ttf")
font.close()
mkFont("Myna-Regular", "Regular")
mkFont("Myna-Bold", "Bold")

27
changeheight.py Normal file
View File

@@ -0,0 +1,27 @@
import fontforge
font = fontforge.open("Myna-Regular.sfd")
ascent = font.ascent
descent = font.descent
RATIO = 0.9
# general
font.ascent = int(font.ascent * RATIO)
font.descent = int(font.descent * RATIO)
# hhea
font.hhea_ascent = int(font.hhea_ascent * RATIO)
font.hhea_descent = int(font.hhea_descent * RATIO)
# OS/2 typo
font.os2_typoascent = font.hhea_ascent
font.os2_typodescent = font.hhea_descent
# OS/2 win
font.os2_winascent = ascent # can increase or decrease this if clipped
font.os2_windescent = descent
font.save("Myna-Regular.sfd")
font.close()

53
drawcomp Executable file
View File

@@ -0,0 +1,53 @@
#!/usr/bin/perl
use strict;
use warnings;
my $symbols = [
{ "pos" => 200, "sym" => "->" },
{ "pos" => 400, "sym" => "=>" },
{ "pos" => 600, "sym" => "~>" },
{ "pos" => 800, "sym" => "<>" },
{ "pos" => 1000, "sym" => "=~" },
{ "pos" => 1200, "sym" => "<\$>" },
{ "pos" => 1400, "sym" => "<*>" },
{ "pos" => 1600, "sym" => ">>=" },
];
my $fonts = [
{ "pos" => 100, "name" => "Cascadia-Mono-Regular" },
{ "pos" => 200, "name" => "Source-Code-Pro-Regular" },
{ "pos" => 300, "name" => "Dejavu-Sans-Mono" },
{ "pos" => 400, "name" => "JetBrains-Mono-Regular" },
{ "pos" => 500, "name" => "Iosevka" },
{ "pos" => 600, "name" => "Ubuntu-Mono" },
{ "pos" => 700, "name" => "Fira-Mono-Regular" },
{ "pos" => 800, "name" => "Liberation-Mono" },
{ "pos" => 900, "name" => "Roboto-Mono-Regular" }
];
sub f {
my ($x, $s, $c, $a) = @_;
return join(" ",
"-pointsize 64",
"-fill " . $c . " ",
(map { "-font \"$_->{name}\" -annotate +$x+$_->{pos} \"$s\"" } $fonts->@*),
"-fill " . $a . " -font \"Myna-Regular\" -annotate +@{[$x + 10]}+1000 \"$s\"",
);
}
system (join(" ",
"magick",
"-size 2000x1200 xc:black",
"-gravity northwest",
join (' ', map { f($_->{pos}, $_->{sym}, "white", "cyan") } $symbols->@*),
quotemeta($ARGV[0])
));
system (join(" ",
"magick",
"-size 2000x1200 xc:white",
"-gravity northwest",
join (' ', map { f($_->{pos}, $_->{sym}, "black", "crimson") } $symbols->@*),
quotemeta($ARGV[1])
));

14
features.fea Normal file
View File

@@ -0,0 +1,14 @@
languagesystem DFLT dflt;
languagesystem latn dflt;
feature kern {
pos uni003A <0 100 0 0> uni002A;
pos uni003A <0 100 0 0> uni002D;
pos uni003A <0 100 0 0> uni003D;
} kern;
feature calt {
ignore sub uni003C uni007C' uni003E;
sub uni007C' uni003E by alt_bar;
} calt;

BIN
fonts/Myna-Bold.otf Normal file

Binary file not shown.

BIN
fonts/Myna-Bold.ttf Normal file

Binary file not shown.

BIN
fonts/Myna-BoldOblique.otf Normal file

Binary file not shown.

BIN
fonts/Myna-BoldOblique.ttf Normal file

Binary file not shown.

BIN
fonts/Myna-Regular.otf Normal file

Binary file not shown.

BIN
fonts/Myna-Regular.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

BIN
images/banner_dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 KiB

BIN
images/banner_light.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 938 KiB

BIN
images/comp_dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

BIN
images/comp_light.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

1
mknerdfont Executable file
View File

@@ -0,0 +1 @@
fontforge -script ~/bin/fontpatcher/font-patcher --complete $1 && mv *.otf ./fonts/.

19
sample.txt Normal file
View File

@@ -0,0 +1,19 @@
Myna
ABCDEFGHJIKLMNOPQRSTUVWXYZ
abcdefghjiklmnopqrstuvwxyz
1234567890(){}[]/\<>,.;:`'
# Perl
$_="krjhruaesrltre c a cnP,ohet";$_.=$1,print$2while s/(..)(.)//;print"\n"
-- Haskell
mapM_ print . take 10 . iterate (\n -> if even n then n `div` 2 else 3*n + 1)
# bash
find . -name "*.log" -mtime +30 -exec gzip {} \; | tee audit.txt | wc -l
// Rust
(0..10).map(|x| x*x).filter(|&x| x%2==0).collect::<Vec<_>>()
⍝ APL
life ← { ⊃1 ⍵ .∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵ }

View File

@@ -1,21 +0,0 @@
offsets=(50)
for ((i=1; i<=10; i++)); do
offsets+=($((offsets[i - 1] + 150)))
done;
magick \
-size 2000x1800 xc:"#0d0d0d" \
-font "Myna" \
-gravity north \
-fill "pink" -pointsize 128 -annotate +0+${offsets[0]} "MYNA" \
-fill "yellow" -pointsize 96 -annotate +0+${offsets[1]} "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
-fill "springgreen" -pointsize 96 -annotate +0+${offsets[2]} "abcdefghijklmnopqrstuvwxyz" \
-fill "deepskyblue" -pointsize 96 -annotate +0+${offsets[3]} "0 1 2 3 4 5 6 7 8 9" \
-fill "hotpink" -pointsize 96 -annotate +0+${offsets[4]} "[] {} () <> | \\\ ? ! #" \
-fill "cyan" -pointsize 96 -annotate +0+${offsets[5]} "\` ' \" , . ; : ~ ^ _" \
-fill "springgreen" -pointsize 96 -annotate +0+${offsets[6]} "+ - = ++ -- += -= == !=" \
-fill "aqua" -pointsize 96 -annotate +0+${offsets[7]} "\$s @a \%h &f *x =~" \
-fill "violet" -pointsize 96 -annotate +0+${offsets[8]} ":: -> => <$> >>= ^. \%~" \
-fill "coral" -pointsize 96 -annotate +0+${offsets[9]} "$ £ € ¥ ₹ ₽" \
-fill "limegreen" -pointsize 96 -annotate +0+${offsets[10]} "0 O o | 1 l I | \` ' \" | Z 2" \
$1