Here is the check list and explaination of Maple Mono ligatures and features.
For more details, please check out .fea files in same directory and OpenType Feature Spec.
Setup in your VSCode settings json file
- Open Settings
- Click "Editor"
- Click "Font"
- Choose "Maple Mono NF" in the font menu
- Click "Enable Ligatures"
OpenType Features are not supported, you need to custom build to freeze features.
"Enable ligature", is same as "enable calt feature":
::
:::
?:
:?
:?>
:=
=:
:=:
=:=
<:
:>
:<
<:<
>:>
::=
__
#{
#[
#(
#?
#!
#:
#=
#_
#__
#_(
]#
#######
<<
<<<
>>
>>>
{{
}}
{|
|}
{{--
{{!--
--}}
[|
|]
!!
||
??
???
&&
&&&
//
///
/*
/**
*/
++
+++
--
---
;;
;;;
..
...
.?
?.
..<
.=
<~
~>
~~
<~>
<~~
~~>
-~
~-
~@
0xA12 0x56 1920x1080
<=>
<==>
>=
<=
<==
==>
=>
<=<
>=>
<=|
|=>
==
===
!=
!==
=/=
=!=
=<=
=>=
|=
||=
\\ \' \.
<!--
<#--
<!---->
<->
->
<-
-->
<--
<-<
>->
<-|
|->
<|||
|||>
<||
||>
<|
|>
<|>
-|
|-
_|_
||-
<>
</
/>
</>
<+
+>
<+>
<*
*>
<*>
[TRACE]
[DEBUG]
[INFO]
[WARN]
[ERROR]
[FATAL]
[TODO]
[FIXME]
[NOTE]
[HACK]
[MARK]
[EROR]
[WARNING]
todo))
fixme))
Cl
al
cl
el
il
tl
ul
xl
ff
tt
all
ell
ill
ull
ll
>>/>>>is smart, but much contextual-sensitive, so it may be not effect in some IDEs (explaination). Turn onss07to force enable.
- [v7.0] cv01: Normalize special symbols (
@ $ & % Q => ->) - [v7.0] cv02: Alternative
awith top arm, no effect in italic style - [v7.0] cv03: Alternative
iwithout left bottom bar - [v7.0] cv04: Alternative
lwith left bottom bar, like consolas, will be overrided bycv35in italic style - [v7.1] cv05: Alternative
gin double story style, no effect in italic style - [v7.1] cv06: Alternative
iwithout bottom bar, no effect in italic style - [v7.1] cv07: Alternative
Jwithout top bar, no effect in italic style - [v7.1] cv08: Alternative
rwith bottom bar, no effect in italic style - [v7.1] cv61: Alternative
,and;with straight tail - [v7.1] cv62: Alternative
?with larger openings - [v7.1] cv63: Alternative
<=in arrow style - [v7.0] zero: Dot style
0
- [v7.0] cv31: Alternative italic
awith top arm - [v7.0] cv32: Alternative Italic
fwithout bottom tail - [v7.0] cv33: Alternative Italic
iandjwith left bottom bar and horizen top bar - [v7.0] cv34: Alternative Italic
kwithout center circle - [v7.0] cv35: Alternative Italic
lwithout center tail - [v7.0] cv36: Alternative Italic
xwithout top and bottom tails - [v7.0] cv37: Alternative Italic
ywith straight intersection - [v7.1] cv38: Alternative italic
gin double story style - [v7.1] cv39: Alternative Italic
iwithout bottom bar - [v7.1] cv40: Alternative italic
Jwithout top bar - [v7.1] cv41: Alternative italic
rwith bottom bar
- [v7.0] cv96: Full width quotes (
“/”/‘/’) - [v7.0] cv97: Full width ellipsis (
…) - [v7.0] cv98: Full width emdash (
—) - [v7.0] cv99: Traditional centered punctuations
- [v7.0] ss01: Broken multiple equals ligatures (
==,===,!=,!==...) - [v7.0] ss02: Broken compare and equal ligatures (
<=,>=) - [v7.0] ss03: Allow to use any case in all tags
- [v7.0] ss04: Broken multiple underscores ligatures (
__,#__) - [v7.0] ss05: Revert thin backslash in escape symbols (
\\,\",\....) - [v7.0] ss06: Break connected strokes between italic letters (
al,il,ull...) - [v7.0] ss07: Relax the conditions for multiple greaters ligatures (
>>or>>>) - [v7.0] ss08: Double headed arrows and reverse arrows ligatures (
>>=,-<<,->>,>-...) - [v7.1] ss09: Asciitilde equal as not equal to ligature (
~=) - [v7.1] ss10: Approximately equal to and approximately not equal to ligatures (
=~,!~) - [v7.1] ss11: Equal and extra punctuation ligatures (
|=,/=,?=,&=, ...)
{ // Setup font family "editor.fontFamily": "Maple Mono NF, Jetbrains Mono, Menlo, Consolas, monospace", // Enable ligatures "editor.fontLigatures": "'calt'", // Or enable OpenType features "editor.fontLigatures": "'calt', 'cv01', 'ss01', 'zero'", }