diff --git a/Fira Code-Regular.ufo/features.fea b/Fira Code-Regular.ufo/features.fea
index 4e1fdb4..901a163 100644
--- a/Fira Code-Regular.ufo/features.fea
+++ b/Fira Code-Regular.ufo/features.fea
@@ -1,4 +1,7 @@
feature liga {
+sub asciitilde equal by asciitilde_equal;
+sub asciitilde asciitilde by asciitilde_asciitilde;
+sub numbersign bracketleft by numbersign_bracketleft;
sub numbersign question by numbersign_question;
sub asciitilde at by asciitilde_at;
sub equal colon equal by equal_colon_equal;
diff --git a/Fira Code-Regular.ufo/glyphs/ampersand_ampersand.glif b/Fira Code-Regular.ufo/glyphs/ampersand_ampersand.glif
index d77929b..ea7b7f0 100644
--- a/Fira Code-Regular.ufo/glyphs/ampersand_ampersand.glif
+++ b/Fira Code-Regular.ufo/glyphs/ampersand_ampersand.glif
@@ -3,13 +3,96 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Fira Code-Regular.ufo/glyphs/asciitilde_asciitilde.glif b/Fira Code-Regular.ufo/glyphs/asciitilde_asciitilde.glif
new file mode 100644
index 0000000..d0b6de4
--- /dev/null
+++ b/Fira Code-Regular.ufo/glyphs/asciitilde_asciitilde.glif
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.typemytype.robofont.layerData
+
+
+
+
+
diff --git a/Fira Code-Regular.ufo/glyphs/asciitilde_equal.glif b/Fira Code-Regular.ufo/glyphs/asciitilde_equal.glif
new file mode 100644
index 0000000..16554ad
--- /dev/null
+++ b/Fira Code-Regular.ufo/glyphs/asciitilde_equal.glif
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.typemytype.robofont.layerData
+
+
+
+
+
diff --git a/Fira Code-Regular.ufo/glyphs/bar_bar.glif b/Fira Code-Regular.ufo/glyphs/bar_bar.glif
index f97059a..bb1b63f 100644
--- a/Fira Code-Regular.ufo/glyphs/bar_bar.glif
+++ b/Fira Code-Regular.ufo/glyphs/bar_bar.glif
@@ -2,15 +2,8 @@
-
-
-
-
-
-
-
-
-
+
+
diff --git a/Fira Code-Regular.ufo/glyphs/contents.plist b/Fira Code-Regular.ufo/glyphs/contents.plist
index a261f26..0bb0336 100644
--- a/Fira Code-Regular.ufo/glyphs/contents.plist
+++ b/Fira Code-Regular.ufo/glyphs/contents.plist
@@ -412,8 +412,12 @@
asciitilde.glif
asciitilde.tosf
asciitilde.tosf.glif
+ asciitilde_asciitilde
+ asciitilde_asciitilde.glif
asciitilde_at
asciitilde_at.glif
+ asciitilde_equal
+ asciitilde_equal.glif
asterisk
asterisk.glif
asterisk_slash
@@ -986,6 +990,8 @@
numbersign.glif
numbersign.tosf
numbersign.tosf.glif
+ numbersign_bracketleft
+ numbersign_bracketleft.glif
numbersign_parenleft
numbersign_parenleft.glif
numbersign_question
diff --git a/Fira Code-Regular.ufo/glyphs/equal_equal_equal.glif b/Fira Code-Regular.ufo/glyphs/equal_equal_equal.glif
index 4d3e84e..c49b983 100644
--- a/Fira Code-Regular.ufo/glyphs/equal_equal_equal.glif
+++ b/Fira Code-Regular.ufo/glyphs/equal_equal_equal.glif
@@ -3,16 +3,22 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/Fira Code-Regular.ufo/glyphs/equal_less_less.glif b/Fira Code-Regular.ufo/glyphs/equal_less_less.glif
index 685828b..e7dc77b 100644
--- a/Fira Code-Regular.ufo/glyphs/equal_less_less.glif
+++ b/Fira Code-Regular.ufo/glyphs/equal_less_less.glif
@@ -22,7 +22,8 @@
-
+
+
diff --git a/Fira Code-Regular.ufo/glyphs/exclam_equal_equal.glif b/Fira Code-Regular.ufo/glyphs/exclam_equal_equal.glif
index 7a996b5..dad8fb8 100644
--- a/Fira Code-Regular.ufo/glyphs/exclam_equal_equal.glif
+++ b/Fira Code-Regular.ufo/glyphs/exclam_equal_equal.glif
@@ -3,26 +3,34 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Fira Code-Regular.ufo/glyphs/greater_greater_equal.glif b/Fira Code-Regular.ufo/glyphs/greater_greater_equal.glif
index 5730d2a..4440b8b 100644
--- a/Fira Code-Regular.ufo/glyphs/greater_greater_equal.glif
+++ b/Fira Code-Regular.ufo/glyphs/greater_greater_equal.glif
@@ -17,7 +17,8 @@
-
+
+
diff --git a/Fira Code-Regular.ufo/glyphs/numbersign_bracketleft.glif b/Fira Code-Regular.ufo/glyphs/numbersign_bracketleft.glif
new file mode 100644
index 0000000..69fea70
--- /dev/null
+++ b/Fira Code-Regular.ufo/glyphs/numbersign_bracketleft.glif
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.typemytype.robofont.layerData
+
+
+
+
+
diff --git a/Fira Code-Regular.ufo/lib.plist b/Fira Code-Regular.ufo/lib.plist
index 74123fb..b03a7ac 100644
--- a/Fira Code-Regular.ufo/lib.plist
+++ b/Fira Code-Regular.ufo/lib.plist
@@ -15,7 +15,7 @@
com.typemytype.robofont.compileSettings.generateFormat
0
com.typemytype.robofont.compileSettings.path
- /Users/prokopov/Desktop/FiraCode-Regular.otf
+ /Users/prokopov/Dropbox/Public/Fonts/FiraCode/FiraCode-Regular.otf
com.typemytype.robofont.compileSettings.releaseMode
1
com.typemytype.robofont.layerOrder
@@ -1198,6 +1198,12 @@
equal_greater_greater
less_hyphen_hyphen
hyphen_hyphen_greater
+ asciitilde_at
+ numbersign_question
+ equal_colon_equal
+ asciitilde_equal
+ numbersign_bracketleft
+ asciitilde_asciitilde
type
glyphList
@@ -2378,6 +2384,9 @@
asciitilde_at
numbersign_question
equal_colon_equal
+ asciitilde_equal
+ numbersign_bracketleft
+ asciitilde_asciitilde
diff --git a/FiraCode-Regular.otf b/FiraCode-Regular.otf
index 8952c77..e3a4d78 100644
Binary files a/FiraCode-Regular.otf and b/FiraCode-Regular.otf differ
diff --git a/FiraCode-Regular.ttf b/FiraCode-Regular.ttf
index 8d8a181..39b74a8 100644
Binary files a/FiraCode-Regular.ttf and b/FiraCode-Regular.ttf differ
diff --git a/README.md b/README.md
index bb39f0a..45126aa 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
## Fira Code: monospaced font with programming ligatures
-#### [Download Fira Code v0.3](https://github.com/tonsky/FiraCode/releases/download/0.3/FiraCode-Regular.otf)
+#### [Download Fira Code v0.4](https://github.com/tonsky/FiraCode/releases/download/0.4/FiraCode-Regular.otf)
### Problem
@@ -12,11 +12,11 @@ Fira Code is a Fira Mono font extended with a set of ligatures for common progra
### Fira Code (with ligatures):
-
+
Compare to Fira Mono (without ligatures):
-
+
### Editor support
@@ -28,23 +28,23 @@ _Note:_ I’m not a font designer, and Fira Code is built in sort of [a hacky wa
Erlang:
-
+
Go:
-
+
Haskell:
-
+
JavaScript:
-
+
Ruby:
-
+
### Credits
@@ -55,6 +55,12 @@ Fira Code was inspired by [Hasklig font](https://github.com/i-tu/Hasklig): Ligat
### Changelog
+**0.4**:
+
+- Added `~=` `~~` `#[`
+- Rolled back `&&` and `||` to more traditional look
+- `===` and `!==` are now rendered with 3 horisontal bars
+
**0.3**: `~@` `#?` `=:=` `=<`
**0.2.1**: Fixed width of `&&` and `||`
diff --git a/showcases/all_ligatures.png b/showcases/all_ligatures.png
index 1291e8c..9954d59 100644
Binary files a/showcases/all_ligatures.png and b/showcases/all_ligatures.png differ
diff --git a/showcases/erlang.png b/showcases/erlang.png
index 31e7cd0..ee074af 100644
Binary files a/showcases/erlang.png and b/showcases/erlang.png differ
diff --git a/showcases/go.png b/showcases/go.png
index 980806c..77d8ab8 100644
Binary files a/showcases/go.png and b/showcases/go.png differ
diff --git a/showcases/haskell.png b/showcases/haskell.png
index 533dd04..9a10066 100644
Binary files a/showcases/haskell.png and b/showcases/haskell.png differ
diff --git a/showcases/javascript.png b/showcases/javascript.png
index 4e5c116..e4b4f98 100644
Binary files a/showcases/javascript.png and b/showcases/javascript.png differ
diff --git a/showcases/no_ligatures.png b/showcases/no_ligatures.png
index 4d6193b..1e19da9 100644
Binary files a/showcases/no_ligatures.png and b/showcases/no_ligatures.png differ
diff --git a/showcases/ruby.png b/showcases/ruby.png
index e7f0158..d0d4abb 100644
Binary files a/showcases/ruby.png and b/showcases/ruby.png differ