• Stars
    star
    400
  • Rank 107,843 (Top 3 %)
  • Language
    HTML
  • License
    SIL Open Font Lic...
  • Created over 4 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Shantell Sans, from Shantell Martin, is a marker-style font built for creative expression, typographic play, and animation.

Shantell Sans

Shantell Sans, from Shantell Martin, is a marker-style font built for creative expression, typographic play, and animation.

Shantell Sans with Shantell Martin artwork, calling it ”A font for you”

Shantell Sans is a project based on the artwork, handwriting, and creative philosophy of Shantell Martin. Rather than trying to exactly mimick or “replace” Shantell’s writing, Shantell Sans takes inspiration from marker-based fonts like Comic Sans & Inkwell Sans. It aims to create an authetically typographic system with a single core shape per character, in order to deliver a simple, inviting, and energetic tone while encouraging freedom and play.

To download Shantell Sans, please see the latest release and download the zip file.

Project credits

Project conception and creative direction by Shantell Martin.

Type design & development by Arrow Type / Stephen Nixon.

Cyrillic type design by Anya Danilova.

Additional support from Google Fonts.

Type Specimen / Minisite

Shantell Sans has a minisite at shantellsans.com, with an open repo on GitHub at arrowtype/shantell-sans-specimen.

Font Features

Styles / Instances

Shantell Sans includes a wide array of styles, available both in a single variable font and in separate static font files.

Font styles in Shantell Sans

Variable Axes

Shantell’s writing is dynamic and doesn’t adhere to a rigid baseline or precise metrics, so Shantell Sans employs variable axes are to reflect this flexibility in a fluid range of styles.

Axes in Shantell Sans

Axis Tag Range Default Description
Weight wght 300–800 300 Light to ExtraBold. Can be defined with the font-weight CSS property.
Italic ital 0–1 0 Upright to Italic. Can be defined with the font-style CSS property.
Bounce BNCE -100–100 0 Emulates the bouncy baseline of handwriting, but extends this for extra fun.
Informality INFM 0–100 0 Emulates the irregular shaping and proportions of handwriting.
Spacing SPAC 0–100 0 Adds extra spacing to the left and right of each glyph.

Bounce, Informality, and Spacing can be defined in the font-variation-settings CSS property. See this guide to designing with custom axes for more information.

Character set

Shantell Sans supports a wide range of 380+ languages using Latin & Cyrillic scripts, throughout Europe, the Americas, central Asia, and Vietnam.

Characters in Shantell Sans

It includes the following characters:

A À Á Â Ã Ä Å Ā Ă Ą Ǎ Ǻ Ȁ Ȃ Ạ Ả Ấ Ầ Ẩ Ẫ Ậ Ắ Ằ Ẳ Ẵ Ặ B C Ç Ć Ĉ Ċ Č D Ď E È É Ê Ë Ē Ĕ Ė Ę Ě Ȅ Ȇ Ẹ Ẻ Ẽ Ế Ề Ể Ễ Ệ F G Ĝ Ğ Ġ Ģ Ǧ H Ĥ I Ì Í Î Ï Ĩ Ī Ĭ Į İ Ȉ Ȋ Ỉ Ị J Ĵ K Ķ L Ĺ Ļ Ľ M N Ñ Ń Ņ Ň O Ò Ó Ô Õ Ö Ō Ŏ Ő Ơ Ǫ Ȍ Ȏ Ȫ Ȭ Ȱ Ọ Ỏ Ố Ồ Ổ Ỗ Ộ Ớ Ờ Ở Ỡ Ợ P Q R Ŕ Ŗ Ř Ȑ Ȓ S Ś Ŝ Ş Š Ș T Ţ Ť Ț U Ù Ú Û Ü Ũ Ū Ŭ Ů Ű Ų Ư Ǔ Ȕ Ȗ Ụ Ủ Ứ Ừ Ử Ữ Ự V W Ŵ Ẁ Ẃ Ẅ X Y Ý Ŷ Ÿ Ȳ Ỳ Ỵ Ỷ Ỹ Z Ź Ż Ž Æ Ǽ Ð Ø Ǿ Þ Đ Ħ IJ  Ŀ Ł Ŋ Œ Ŧ Ə DŽ LJ NJ Dž Lj Nj ẞ Ω a à á â ã ä å ā ă ą ǎ ǻ ȁ ȃ ạ ả ấ ầ ẩ ẫ ậ ắ ằ ẳ ẵ ặ b c ç ć ĉ ċ č d ď e è é ê ë ē ĕ ė ę ě ȅ ȇ ẹ ẻ ẽ ế ề ể ễ ệ f g ĝ ğ ġ ģ ǧ h ĥ i ì í î ï ĩ ī ĭ į ȉ ȋ ỉ ị j ĵ k ķ l ĺ ļ ľ m n ñ ń ņ ň o ò ó ô õ ö ō ŏ ő ơ ǫ ȍ ȏ ȫ ȭ ȱ ọ ỏ ố ồ ổ ỗ ộ ớ ờ ở ỡ ợ p q r ŕ ŗ ř ȑ ȓ s ś ŝ ş š ș t ţ ť ț u ù ú û ü ũ ū ŭ ů ű ų ư ǔ ȕ ȗ ụ ủ ứ ừ ử ữ ự v w ŵ ẁ ẃ ẅ x y ý ÿ ŷ ȳ ỳ ỵ ỷ ỹ z ź ż ž ß æ ǽ ð ø ǿ þ đ ħ ı ij  ĸ ŀ ł ŋ œ ŧ dž lj nj ə ȷ Ђ Є Ѕ І Ї Ј Љ Њ Ћ Џ А Ӑ Ӓ Б В Г Ѓ Д Е Ѐ Ё Ӗ Ж Ӂ Ӝ З Ӟ И Ѝ Й Ӣ Ӥ К Ќ Л М Н О Ӧ П Р С Т У Ў Ӯ Ӱ Ӳ Ф Х Ц Ч Ӵ Ш Щ Ъ Ы Ӹ Ь Э Ю Я Ѣ Ѫ Ѳ Ѵ Ґ Ғ Ҕ Җ Ҙ Қ Ҝ Ҡ Ң Ҥ Ҫ Ү Ұ Ҳ Ҷ Ҹ Һ Ӏ Ӌ Ӕ Ә Ө Ӷ Ԛ Ԝ а ӑ ӓ б в г ѓ д е ѐ ё ӗ ж ӂ ӝ з ӟ и й ѝ ӣ ӥ к ќ л м н о ӧ п р с т у ў ӯ ӱ ӳ ф х ц ч ӵ ш щ ъ ы ӹ ь э ю я ђ є ѕ і ї ј љ њ ћ џ ѣ ѫ ѳ ѵ ґ ғ ҕ җ ҙ қ ҝ ҡ ң ҥ ҫ ү ұ ҳ ҷ ҹ һ ӌ ӏ ӕ ә ө ӷ ԛ ԝ ff fi fl ffi ffl ʼ ª º ̀ ́  ̂  ̃  ̄  ̆  ̇  ̈  ̉  ̊  ̋  ̌  ̏  ̑  ̒  ̛  ̣  ̤  ̦  ̧  ̨  ̮  ̱ ̵  0 1 2 3 4 5 6 7 8 9 ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁄ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ _ - ‐ – — ( ) [ ] { } ⟨ ⟩ # % ‰ ' " ‘ ’ “ ” ‚ „ ‹ › « » * † ‡ . , : ; … ! ¡ ? ¿ / / \ | ¦ ‖ & § ¶ ℓ № · • ◦ ′ ″ ʹ ʺ + − ± ÷ × = < > ≤ ≥ ≈ ≠ ¬ ∅ ℮ µ π Ω ⁒ ∂ ∆ ∏ ∑ ∕ ∙ √ ∞ ∫ $ ¢ £ ¤ ¥ ₡ ₤ ₦ ₩ ₫ € ƒ ₭ ₮ ₱ ₲ ₴ ₵ ₸ ₹ ₺ ₼ ₽ ฿ ₨ ₪ ₾ ₿ ^ ~ ´ ` ˝ ˆ ˇ ˘ ˜ ¯ ¨ ˙ ˚ ¸ ˛ © ® ™ ° ⏸ ◆ ◇ ○ ● ■ □ ▪ ▫ ▲ △ ▶ ▷ ▼ ▽ ◀ ◁ ▴ ▵ ▸ ▹ ▾ ▿ ◂ ◃ ♡ ♥ ◊ ✓ ✔ ­ ← ↑ → ↓ ↔ ↕ ↖ ↗ ↘ ↙ ◌ @

OpenType Features

User-facing features

The following features control font options you might wish to adjust in software and via the CSS property font-feature-settings.

Feature Tag Description
Case-sensitive punctuation case Makes punctuation fit cap-height for uppercase typesetting
Arbitrary Fractions frac Makes proper fractions from strings like 1/2 and 12/345
Tabular Figures tnum Numbers & currencies are monospaced across styles by default to improve table layout, but this makes certain punctuation become tabular as well
Proportional Figures pnum Makes numbers take up a natural amount of space
Ordinals ordn Activates ordinals, primarily for Spanish
Superscript sups Activates superscript numerals, e.g. for footnotes & exponents
Scientific Inferiors sinf Activates subscript/inferior numerals, e.g. for scientific chemical notations
Slashed Zero zero Activates a slashed form of zero for higher legibility numbering
Standard Ligatures liga Converts 3+ repeated hyphens into wavy lines, just for fun
Stylistic Sets ss0X Several stylistic sets exist to help toggle different character forms for Cyrillic languages, as a backup to software-level localization

Other features

Other features are mostly intended to be handled by software and ignored by users.

Feature Tag Description
Contexual Alternates calt On by default; activates a ligature for її, used in Ukrainian
Localized Forms locl Supports special character-design requirements for various languages (TRK, CAT, ROM, MOL, NLD, BGR, SRB, MKD, UKR, and more)
Required Ligatures rlig On by default; adds pseudo-random pattern to alternates in Irregular & Bouncy styles

Also included are aalt, kern, ccmp, dnom, numr, mark, and mkmk.

Making randomization work (Bounce and Informality axes/styles)

In most apps and web browers, the Bounce and Informality axes and styles automatically apply randomization to text. Specifically, the font will cycle through several alternates of each glyph, to make text more lively and give it a more “handwritten” appearance. Under the hood, this is done via the rlig OpenType feature. This should be on by default everywhere, but unfortunately, in some apps you will need to specifically activate this feature.

Adobe Illustrator (Click to expand)

To use rlig in Adobe Illustrator, you must use one of the “Middle Eastern” line composers (as of Illustrator 2023, Version 27).

  1. Navigate to Illustrator > Preferences > Type
  2. Click the checkbox “Show Indic Options”
  3. Then, open the Paragraph panel (Window > Type > Paragraph)
  4. Open the hamburger/flyout menu of the Paragraph panel, and select “Middle Eastern & South Asian Every-line Composer”

Note: this is harder than it should be, as rlig is supposed to work by default – and does in most apps! If you would like Adobe to improve this, please go vote ”Critical” on this Adobe Forum Post.

Microsoft Word (Windows 11) (Click to expand)
  1. Search for Font Settings in the top search bar.
  2. In the ”Advanced” tab, find the ”Ligatures” menu and select Standard Only

If you find issues with randomization in other apps (or if you run into any other problems), please file an issue in this repo!

Build

How to build the fonts locally (Click to expand)

Set up requirements

Make a virtual environment:

python3 -m venv venv

Activate venv:

source venv/bin/activate

Install dependencies:

pip install -U -r requirements.txt

Finally, give the build scripts permission to run:

chmod +x scripts--build/*.sh

Finally, you will also need to separately install google/woff2 to enable the woff2_compress and woff2_decompress commands. Open a new terminal session, window, or tab to do this step.

# 👉 open a new terminal session first, then run this
git clone --recursive https://github.com/google/woff2.git
cd woff2
make clean all

Building the fonts

source venv/bin/activate # activate venv if not already active

Clean the prior run prep:

make clean

Then, run the variable font build:

make vf

This will take the .glyphspackage source and create the folder sources/build-prep with intermediate sources required for the final font build. When the build succeeds, the variable font will open in your default font-opening application (I recommend Font Goggles).

If you want, you can also build the static fonts. Be aware: there are a lot of static fonts, so this takes some time!

make statics

If you want to build everything all at once, you can use make full. If you just want to run the build prep pipeline, you can use make prep.

Release

Update the version number in version.txt to the desired next release number, then build fonts with the make workflow described above.

A zipped archive of the fonts folder is created as the final step of the make statics command.

Finally, go update the download links in the Shantell Sans web specimen.

More Repositories

1

recursive

Recursive Mono & Sans is a variable font family for code & UI
Python
3,252
star
2

type-x

Test your fonts across the web by easily overriding fonts on any webpage.
JavaScript
178
star
3

recursive-code-config

Customize your own version of Recursive for code. Build your own, or find the built fonts in releases within the main Recursive repo.
Python
113
star
4

fonttools-intro

An introduction to FontTools & font development
83
star
5

spacing

A collection of resources & recommendations that are helpful for spacing
Python
55
star
6

NLI-test

A quick test of non-linear interpolation for variable fonts, using a “hidden” source as quadratic offcurves.
HTML
39
star
7

varfont-prep

RoboFont scripts to help clean up working fonts for variable font builds
Python
20
star
8

drawbot--loop-through-font-glyphs

DrawBot scripts to loop through all glyphs of a built font binary (TTF or OTF), e.g. for use in proofing & SVG icon font conversion
Python
16
star
9

recursive-minisite

A minisite for Recursive Sans & Mono, a new variable font from ArrowType
HTML
14
star
10

recursive-theme

A WIP theme for VS Code. Based on Night Owl, but with chiller colors & tweaked italics.
13
star
11

shantell-sans-specimen

A minisite for Shantell Sans, from Shantell Martin, which is a marker-style font built for creative expression, typographic play, and animation.
Svelte
11
star
12

typelab-2021

A tutorial on the basics of shell scripting for font builds, for TypeLab 2021
Python
10
star
13

arrowtype-glyphs-scripts

Scripts for random stuff in GlyphsApp
Python
8
star
14

drawbot-vscode

A demo of how to use DrawBot in VS Code rather than its standalone app
7
star
15

80forty

The utility of an 80% keyboard in a 40% layout
6
star
16

blog

Notes on type design & development
CSS
5
star
17

vf-slnt-test

Tests for browser support of CSS font-style property & variable fonts
HTML
4
star
18

name-sans-roadmap

This repo is a public roadmap for Name Sans, currently in-progress and available at Future Fonts
4
star
19

bern

Name Sans, made Swiss
3
star
20

ufo-workshop-april_2021

A slide presentation put together to explain aspects of why & how I use UFOs in variable font design project.
3
star
21

vf-default-instance-test

A test for a font handling bug on macOS Catalina
2
star
22

web-font-test-templates

test your fonts
HTML
2
star
23

overlapping-axis-test

A test of what happens if two axes in a variable font have an overlapping functionality.
Shell
2
star
24

charsets

A place to store & share useful starter character sets for type design in RoboFont.
Python
2
star
25

svelte-slider

A simple example of a slider component for SvelteJS
HTML
2
star
26

advice

Links to go along with a lecture of advice to college students
1
star
27

rf-guides

A few very simple scripts to quickly manage guidelines in RoboFont.
Python
1
star
28

safari-opsz-test

HTML
1
star
29

agl-naming-script

Applying AGL (Adobe Glyph List) names to a font based on Unicode values assigned to glyphs
Python
1
star
30

keebio-nyquist-minimalist-case

Plate/case designs for the Keebio Nyquist (Rev 3.5)
1
star
31

type-blog

This is the start of a blog. For now, it is just a repo.
1
star
32

arrowtype-robofont-helpers

Scripts I find useful in RoboFont. Many come from the forum or other public sources. I try to include credits in code documentation.
Python
1
star