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"
Note
Enabling OpenType Feature is 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.5] cv09: Alternative
7with middle bar, no effect in italic style - [v7.5] cv10: Alternative
Zandzwith middle bar, no effect in italic style - [v7.7] cv11: Alternative
fwith bottom bar - [v7.1] cv61: Alternative
,and;with straight tail - [v7.1] cv62: Alternative
?with larger openings - [v7.1] cv63: Alternative
<=in arrow style - [v7.3] cv64: Alternative
<=and>=with horizen bottom bar - [v7.3] cv65: Alternative
&in handwriting style - [v7.8] cv66: Alternative pipe arrows
- [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.5] cv42: Alternative italic
7with middle bar - [v7.5] cv43: Alternative italic
Zandzwith middle bar - [v7.7] cv44: Alternative Italic
fwith 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'", }