tonsky / tonsky/FiraCode

Document complete list of stylistic sets and character variants

Open
#1,203 10 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Clojure
Stars
82k
Forks
3.2k
PR merge metrics
No merged PRs in 30d

Description

Ever since the first stylistic sets were introduced in 2.0, I've maintained a table stylistic sets in my editor settings so I can preview font differences when selecting stylistic sets. With the upcoming 6.0 release, there's two additional stylistic sets and 30 character variants. It would help if the new ones were documented in the README with "on" and "off" variants.

I had issues describing i, l, and the various less than/greater than combinations. I also don't know the name of the Prolog :- and Clojure .- operators.

I have also wanted to see a specimen sheet of all characters in the font. Trivially, a-zA-Z0-9 are not pictured. Are other characters not pictured?

"editor.fontFamily": "'Fira Code', JuliaMono, 'Cascadia Code PL', 'SF Mono', Monaco, Menlo, Consolas, 'Courier New', Courier, monospace",
"editor.fontLigatures": "'ss06', 'ss07', 'ss09', 'ss10', 'cv14', 'cv26', 'cv27', 'cv28', 'cv30'",
// Fira Code stylistic sets:
//   ss01  r                  Sans-serif r
//   ss02  <= >=              Less than/greater than with horizontal bar
//   ss03  &                  Traditional ampersand
//   ss04  $                  Lightweight dollar sign
//   ss05  @                  Traditional at sign
//   ss06  \\                 Thin backslash
//   ss07  =~ !~              Regexp matching operator
//   ss08  == === != !==      Gaps in double/triple equals
//   ss09  >>= <<= ||= |=     Compound assignments
//   ss10  Fl Tl fi fj fl ft  Full ligatures
//   zero  0                  Dotted zero
//   onum  0123456789         Old-style figures
// Variants:
//   cv01  a      Single-storey a
//   cv02  g      Single-storey g
//   cv03  i      Sans-serif i
//   cv04  i      i without base
//   cv05  i      i with flat tail
//   cv06  i      i with curved tail
//   cv07  l      Sans-serif l
//   cv08  l      l without base
//   cv09  l      l with flat tail
//   cv10  l      l with curved tail (same as default?)
//   cv11  0      Plain zero
//   cv12  0      Slashed zero
//   cv13  0      Dotted zero
//   cv14  3      3 with flat top
//   cv15  *      Top-aligned asterisk
//   cv16  *      Hexagonal asterisk
//   cv17  ~      Top-aligned tilde
//   cv18  %      Percent with filled dots
//   cv19  <=     Lte with horizontal bar (< =)
//   cv20  <=     Left arrow              (< =)
//   cv21  =<     Lte                     (= <)
//   cv22  =<     Lte with horizontal bar (= <)
//   cv23  >=     Gte with horizontal bar (> =)
//   cv24  /=     Not equal               (/ =)
//   cv25  .-     Clojure .-
//   cv26  :-     Prolog :-
//   cv27  []     Box square brackets
//   cv28  {. .}  Nim pragma
//   cv29  {}     Rounded curly braces
//   cv30  |      Long vertical bar

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the README and the supplied stylistic-set and character-variant table, then compare it with the upcoming 6.0 additions. Done means documenting all sets and variants with on/off examples, clarifying the requested operator names, and determining which additional characters belong in a complete specimen sheet.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.