├── CNAME ├── _config.yml ├── index.md ├── img ├── screenshot.png ├── apple-touch-icon.png └── icon.svg ├── .gitignore ├── fonts ├── Isenheim_Fin.woff2 └── Isenheim_Regulier.woff2 ├── README.md ├── jekyll-server.sh ├── _includes └── item.html ├── Gemfile ├── js └── main.js ├── Gemfile.lock ├── _layouts └── default.html ├── css └── styles.css └── _data └── data.yaml /CNAME: -------------------------------------------------------------------------------- 1 | typedesignresources.com -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # theme: jekyll-theme-midnight -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | -------------------------------------------------------------------------------- /img/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinpenner/type-design-resources/HEAD/img/screenshot.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | _site 3 | .sass-cache 4 | .jekyll-cache 5 | .jekyll-metadata 6 | vendor 7 | working 8 | -------------------------------------------------------------------------------- /fonts/Isenheim_Fin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinpenner/type-design-resources/HEAD/fonts/Isenheim_Fin.woff2 -------------------------------------------------------------------------------- /img/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinpenner/type-design-resources/HEAD/img/apple-touch-icon.png -------------------------------------------------------------------------------- /fonts/Isenheim_Regulier.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinpenner/type-design-resources/HEAD/fonts/Isenheim_Regulier.woff2 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Type Design Resources 2 | 3 | A growing, public, collaborative collection of type design resources. Everything from learning the basics to running your own foundry. 4 | 5 | To contribute, just post an issue, make a pull request, or send me an email at [justin@justinpenner.ca](justin@justinpenner.ca) 6 | 7 | --- 8 | 9 | → https://typedesignresources.com -------------------------------------------------------------------------------- /img/icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jekyll-server.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # macOS: Before you can run this shell script, you may need to set it to open 4 | # in Terminal, and run `chmod +x jekyll-server.sh` to make it executable. 5 | 6 | # A series of ancient runes that represents the folder this script is in 7 | cd "${0%/*}" 8 | 9 | # Get local network IP (macOS only right now) 10 | if [[ "$OSTYPE" == "darwin"* ]]; then 11 | localip=$(ipconfig getifaddr en0) 12 | elif [[ "$OSTYPE" == "linux-gnu"* ]]; then 13 | localip="" 14 | elif [[ "$OSTYPE" == "cygwin" ]]; then 15 | localip="" 16 | elif [[ "$OSTYPE" == "msys" ]]; then 17 | localip="" 18 | elif [[ "$OSTYPE" == "win32" ]]; then 19 | localip="" 20 | elif [[ "$OSTYPE" == "freebsd"* ]]; then 21 | localip="" 22 | else 23 | localip="" 24 | fi 25 | 26 | # Start Jekyll! 27 | if [[ "$localip" != "" ]]; then 28 | bundle exec jekyll serve --livereload --open-url --host ${localip} 29 | else 30 | bundle exec jekyll serve --livereload --open-url 31 | fi -------------------------------------------------------------------------------- /_includes/item.html: -------------------------------------------------------------------------------- 1 | 2 |

3 | {{ item.name }} 4 | {%- if item.offline == true %} 5 | (offline) 6 | {%- elsif item.discontinued == true %} 7 | (discontinued) 8 | {%- endif %} 9 |

10 | 11 | {%- if item.description %} 12 | 13 |
14 | 15 | {{ item.description | markdownify }} 16 |
17 | 18 | {%- endif %} 19 | 20 | {%- if item.data %} 21 | 22 | 27 | 28 | {%- endif %} 29 | 30 | {%- if item.links %} 31 | 32 | 37 | 38 | {%- endif %} 39 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | # Hello! This is where you manage which Jekyll version is used to run. 3 | # When you want to use a different version, change it below, save the 4 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 5 | # 6 | # bundle exec jekyll serve 7 | # 8 | # This will help ensure the proper Jekyll version is running. 9 | # Happy Jekylling! 10 | gem "jekyll", "~> 4.3.2" 11 | # This is the default theme for new Jekyll sites. You may change this to anything you like. 12 | gem "minima", "~> 2.5" 13 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and 14 | # uncomment the line below. To upgrade, run `bundle update github-pages`. 15 | # gem "github-pages", group: :jekyll_plugins 16 | # If you have any plugins, put them here! 17 | group :jekyll_plugins do 18 | gem "jekyll-feed", "~> 0.12" 19 | end 20 | 21 | # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem 22 | # and associated library. 23 | platforms :mingw, :x64_mingw, :mswin, :jruby do 24 | gem "tzinfo", ">= 1", "< 3" 25 | gem "tzinfo-data" 26 | end 27 | 28 | # Performance-booster for watching directories on Windows 29 | gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] 30 | 31 | # Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem 32 | # do not have a Java counterpart. 33 | gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] 34 | -------------------------------------------------------------------------------- /js/main.js: -------------------------------------------------------------------------------- 1 | let autoScrollAllowed = true; 2 | 3 | window.addEventListener('load', event=>{ 4 | 5 | // Mobile: hide nav when nav item is clicked 6 | document.querySelectorAll("nav a").forEach(el=>{ 7 | el.addEventListener('click', event=>{ 8 | document.getElementById('navButton').checked = false; 9 | // Pause auto scroll so it doesn't conflict with scrolling to anchor 10 | autoScrollAllowed = false; 11 | setTimeout(()=>{autoScrollAllowed=true},2000); 12 | }); 13 | }); 14 | 15 | // Highlight currently visible section(s) in nav 16 | const sectionScrollObserver = new IntersectionObserver(observers => { 17 | observers.forEach(observer => { 18 | const id = observer.target.getAttribute('id'); 19 | const navItem = document.querySelector(`nav a[href="#${id}"]`).parentElement; 20 | if (observer.intersectionRatio > 0) { 21 | navItem.classList.add('active'); 22 | } else { 23 | navItem.classList.remove('active'); 24 | } 25 | }); 26 | }); 27 | document.querySelectorAll('section[id]').forEach(section => { 28 | sectionScrollObserver.observe(section); 29 | }); 30 | 31 | // Scroll nav with page 32 | document.addEventListener('scroll', event => { 33 | if (autoScrollAllowed) { 34 | setScrollProgress( 35 | document.querySelector('nav'), 36 | getScrollProgress(document.documentElement) 37 | ); 38 | } 39 | }); 40 | 41 | // Open external links in a new tab 42 | document.querySelectorAll('a[href]').forEach(el=>{ 43 | if (el.getAttribute('href').startsWith('https://') 44 | || el.getAttribute('href').startsWith('http://') 45 | || el.getAttribute('href').startsWith('mailto:')) { 46 | el.target = "_blank"; 47 | } 48 | }); 49 | 50 | }); 51 | 52 | function getScrollProgress(el) { 53 | const progress = el.scrollTop/(el.scrollHeight-(el.clientHeight || el.offsetHeight)); 54 | return progress; 55 | } 56 | 57 | function setScrollProgress(el, yProgress) { 58 | const yPos = yProgress*(el.scrollHeight-(el.clientHeight || el.offsetHeight)); 59 | el.scroll(0, yPos); 60 | } -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.8.4) 5 | public_suffix (>= 2.0.2, < 6.0) 6 | colorator (1.1.0) 7 | concurrent-ruby (1.2.2) 8 | em-websocket (0.5.3) 9 | eventmachine (>= 0.12.9) 10 | http_parser.rb (~> 0) 11 | eventmachine (1.2.7) 12 | ffi (1.15.5) 13 | forwardable-extended (2.6.0) 14 | google-protobuf (3.22.3-arm64-darwin) 15 | http_parser.rb (0.8.0) 16 | i18n (1.13.0) 17 | concurrent-ruby (~> 1.0) 18 | jekyll (4.3.2) 19 | addressable (~> 2.4) 20 | colorator (~> 1.0) 21 | em-websocket (~> 0.5) 22 | i18n (~> 1.0) 23 | jekyll-sass-converter (>= 2.0, < 4.0) 24 | jekyll-watch (~> 2.0) 25 | kramdown (~> 2.3, >= 2.3.1) 26 | kramdown-parser-gfm (~> 1.0) 27 | liquid (~> 4.0) 28 | mercenary (>= 0.3.6, < 0.5) 29 | pathutil (~> 0.9) 30 | rouge (>= 3.0, < 5.0) 31 | safe_yaml (~> 1.0) 32 | terminal-table (>= 1.8, < 4.0) 33 | webrick (~> 1.7) 34 | jekyll-feed (0.17.0) 35 | jekyll (>= 3.7, < 5.0) 36 | jekyll-sass-converter (3.0.0) 37 | sass-embedded (~> 1.54) 38 | jekyll-seo-tag (2.8.0) 39 | jekyll (>= 3.8, < 5.0) 40 | jekyll-watch (2.2.1) 41 | listen (~> 3.0) 42 | kramdown (2.4.0) 43 | rexml 44 | kramdown-parser-gfm (1.1.0) 45 | kramdown (~> 2.0) 46 | liquid (4.0.4) 47 | listen (3.8.0) 48 | rb-fsevent (~> 0.10, >= 0.10.3) 49 | rb-inotify (~> 0.9, >= 0.9.10) 50 | mercenary (0.4.0) 51 | minima (2.5.1) 52 | jekyll (>= 3.5, < 5.0) 53 | jekyll-feed (~> 0.9) 54 | jekyll-seo-tag (~> 2.1) 55 | pathutil (0.16.2) 56 | forwardable-extended (~> 2.6) 57 | public_suffix (5.0.1) 58 | rb-fsevent (0.11.2) 59 | rb-inotify (0.10.1) 60 | ffi (~> 1.0) 61 | rexml (3.2.5) 62 | rouge (4.1.0) 63 | safe_yaml (1.0.5) 64 | sass-embedded (1.62.1-arm64-darwin) 65 | google-protobuf (~> 3.21) 66 | terminal-table (3.0.2) 67 | unicode-display_width (>= 1.1.1, < 3) 68 | unicode-display_width (2.4.2) 69 | webrick (1.8.1) 70 | 71 | PLATFORMS 72 | arm64-darwin-21 73 | 74 | DEPENDENCIES 75 | http_parser.rb (~> 0.6.0) 76 | jekyll (~> 4.3.2) 77 | jekyll-feed (~> 0.12) 78 | minima (~> 2.5) 79 | tzinfo (>= 1, < 3) 80 | tzinfo-data 81 | wdm (~> 0.1.1) 82 | 83 | BUNDLED WITH 84 | 2.3.26 85 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Type Design Resources 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 65 | 66 |
67 |
68 | 69 |

Type Design Resources

70 | 71 |

A growing, public, collaborative collection of type design resources. Everything from learning the basics to running your own foundry.

72 | 73 |
74 | 75 |
76 | 77 |
78 | 79 |

To contribute, post an issue or make a pull request on the Github repo, or email

80 | 81 |
82 | 83 |
84 | 85 |
86 | 87 | {%- for cat in site.data.data.categories %} 88 |
89 |

90 |
{{ cat.name }}
91 | {{ cat.description | markdownify }} 92 |

93 | 94 | 95 | {%- if cat.items %} 96 |
    97 | 98 | {%- if cat.sort == false %} 99 | {%- assign items = cat.items %} 100 | {%- else %} 101 | {%- assign items = cat.items | sort_natural: "name" %} 102 | {%- endif %} 103 | 104 | {%- for item in items %} 105 |
  • 106 | {% include item.html item=item %} 107 |
  • 108 | {%- endfor %} 109 |
110 | {%- endif %} 111 | 112 | {%- for subcat in cat.subcategories %} 113 |
114 |

115 |
{{ subcat.name }}
116 | {{ subcat.description | markdownify }} 117 |

118 | 119 |
    120 | 121 | {%- if subcat.sort == false %} 122 | {%- assign items = subcat.items %} 123 | {%- else %} 124 | {%- assign items = subcat.items | sort_natural: "name" %} 125 | {%- endif %} 126 | 127 | {%- for item in items %} 128 |
  • 129 | {% include item.html item=item %} 130 |
  • 131 | {%- endfor %} 132 |
133 | 134 |
135 | {%- endfor %} 136 | 137 |
138 | {%- endfor %} 139 | 140 |
141 | 142 |
143 | 144 | 158 | 159 |
160 | 161 | 172 | 173 | 174 | 175 | -------------------------------------------------------------------------------- /css/styles.css: -------------------------------------------------------------------------------- 1 | /* CUSTOM RESET (mostly based on Josh Comeau's reset) 2 | https://www.joshwcomeau.com/css/custom-css-reset/ 3 | */ 4 | 5 | @media screen and (prefers-reduced-motion: no-preference) { 6 | html { 7 | scroll-behavior: smooth; 8 | } 9 | } 10 | *, *::before, *::after { 11 | box-sizing: border-box; 12 | } 13 | * { 14 | margin: 0; 15 | padding: 0; 16 | font: inherit; 17 | appearance: none; 18 | border: unset; 19 | scroll-margin-top: 4rem; 20 | color: inherit; 21 | background: transparent; 22 | hyphens: inherit; 23 | font-synthesis: none; 24 | } 25 | body { 26 | /* 27 | font-smoothing: auto applies faux bold to all fonts on modern browsers, 28 | but we want the font to render as intended by the typeface designer. 29 | (Note: Chrome applies font-smoothing: auto up to font-size: 161px) 30 | */ 31 | -webkit-font-smoothing: antialiased; 32 | -moz-osx-font-smoothing: grayscale; 33 | overflow-wrap: break-word; 34 | line-height: inherit; 35 | hyphens: none; 36 | } 37 | p { 38 | hyphens: auto; 39 | } 40 | em { 41 | font-style: italic; 42 | } 43 | strong { 44 | font-weight: bold; 45 | } 46 | button { 47 | cursor: pointer; 48 | } 49 | img, picture, video, canvas, svg, iframe { 50 | display: block; 51 | width: 100%; 52 | height: auto; 53 | } 54 | a { 55 | color: inherit; 56 | text-decoration: inherit; 57 | } 58 | *:focus-visible, *:focus-visible * { 59 | outline: none; 60 | color: var(--signal) !important; 61 | } 62 | 63 | /* FONTS */ 64 | 65 | @font-face { 66 | font-family: Isenheim-Light; 67 | src: url(../fonts/Isenheim_Fin.woff2) format('woff2'); 68 | font-display: block; 69 | } 70 | @font-face { 71 | font-family: Isenheim-Regular; 72 | src: url(../fonts/Isenheim_Regulier.woff2) format('woff2'); 73 | font-display: block; 74 | } 75 | 76 | /* VARIABLES */ 77 | :root { 78 | --fg: #000; 79 | --bg: #fff; 80 | --bg2: #ddd; 81 | --signal: #f8e; 82 | --signalClear: #f8e0; 83 | --pageMargin: max(1.25rem, 5vw); 84 | --underlineThickness: .125em; 85 | --paraGap: .5em; 86 | --itemGap: 1em; 87 | } 88 | @media (prefers-color-scheme: dark) { 89 | :root { 90 | --fg: #fff; 91 | --bg: #000; 92 | --bg2: #222; 93 | --signal: #f0a; 94 | --signalClear: #f070; 95 | } 96 | } 97 | 98 | /* MAIN LAYOUT */ 99 | 100 | :root { 101 | font-family: 'Sofia Sans', sans-serif; 102 | font-weight: normal; 103 | line-height: 1.2; 104 | line-height: 1.3; 105 | font-size: 1rem; 106 | color: var(--fg); 107 | background-color: var(--bg); 108 | } 109 | @media (min-width: 500px) { 110 | :root { 111 | font-size: 1.125rem; 112 | } 113 | } 114 | div.wrapper { 115 | padding: var(--pageMargin); 116 | } 117 | div.wrapper, main section { 118 | display: flex; 119 | flex-direction: column; 120 | gap: var(--itemGap); 121 | } 122 | 123 | div.wrapper > * { 124 | width: 100%; 125 | max-width: 44em; 126 | /* margin: 0 auto;*/ 127 | display: flex; 128 | flex-direction: column; 129 | gap: var(--itemGap); 130 | } 131 | 132 | hr { 133 | border-top: 1px solid var(--fg); 134 | padding: 0; 135 | max-width: unset; 136 | margin: min(6vw, 4em) 0; 137 | } 138 | header { 139 | /* padding-top: min(4.5vw, 6rem);*/ 140 | padding-top: 1em; 141 | } 142 | header > p:first-of-type { 143 | font-family: 'Spline Sans Mono', monospace; 144 | font-weight: 340; 145 | font-size: 5.5vw; 146 | font-size: 1.4em; 147 | font-size: min(5.5vw, 1.4em); 148 | line-height: 1.4; 149 | hyphens: none; 150 | } 151 | section.intro { 152 | /* background-color: var(--signal);*/ 153 | border: 2px solid var(--signal); 154 | padding: 1.25em; 155 | } 156 | section.intro a { 157 | text-decoration-line: underline; 158 | text-decoration-color: var(--signal); 159 | text-decoration-thickness: var(--underlineThickness); 160 | } 161 | h1 { 162 | font-family: Isenheim-Light, serif; 163 | font-size: min(18vw, 9em); 164 | line-height: .9; 165 | letter-spacing: -.02em; 166 | } 167 | 168 | /* NAV */ 169 | 170 | nav { 171 | display: none; 172 | flex-direction: column; 173 | gap: var(--paraGap); 174 | position: fixed; 175 | top: 0; 176 | left: 0; 177 | right: 0; 178 | bottom: 0; 179 | width: 100vw; 180 | height: 100vh; 181 | background-color: var(--bg); 182 | padding: var(--pageMargin); 183 | overflow-y: scroll; 184 | } 185 | nav a { 186 | display: block; 187 | text-decoration: none; 188 | box-sizing: content-box; 189 | border-left: .5em solid transparent; 190 | padding-left: .5em; 191 | } 192 | nav .active > a { 193 | /* background-color: var(--signal);*/ 194 | border-left: .5em solid var(--signal); 195 | } 196 | nav ul ul li { 197 | margin-left: 1em; 198 | } 199 | nav li { 200 | display: block; 201 | list-style-type: none; 202 | } 203 | nav ul, nav > ul > li { 204 | display: contents; 205 | } 206 | nav ul.categories { 207 | font-size: 1.2em; 208 | } 209 | nav ul.subcategories { 210 | font-size: 1rem; 211 | } 212 | @media (min-width: 1300px) { 213 | body { 214 | display: flex; 215 | justify-content: space-between; 216 | } 217 | nav { 218 | max-width: 30rem; 219 | display: flex; 220 | position: sticky; 221 | order: 2; 222 | padding-left: 0; 223 | height: 100vh; 224 | } 225 | label[for=navButton] { 226 | display: none; 227 | } 228 | } 229 | label[for=navButton] { 230 | width: calc(var(--pageMargin) * 3); 231 | height: calc(var(--pageMargin) * 3); 232 | position: fixed; 233 | z-index: 99; 234 | top: 0; 235 | right: 0; 236 | color: var(--fg); 237 | background-image: linear-gradient(45deg, var(--signalClear), var(--signalClear), var(--signal)); 238 | text-align: center; 239 | content: '+'; 240 | line-height: calc(var(--pageMargin) * 2); 241 | font-size: 1.5rem; 242 | } 243 | #navButton { 244 | display: none; 245 | } 246 | #navButton:checked + label[for=navButton] { 247 | transform: rotate(45deg); 248 | background-image: unset; 249 | } 250 | #navButton:checked ~ nav { 251 | display: flex; 252 | } 253 | li.navBackToTop a { 254 | /* box-sizing: border-box;*/ 255 | } 256 | li.navBackToTop a { 257 | box-sizing: content-box; 258 | text-decoration: none; 259 | display: block; 260 | position: fixed; 261 | bottom: var(--pageMargin); 262 | right: var(--pageMargin); 263 | background-color: var(--signal); 264 | width: 1.8em; 265 | height: 1.8em; 266 | border-radius: 1.8em; 267 | line-height: 1.8em; 268 | text-align: center; 269 | border-style: none; 270 | padding: 0; 271 | } 272 | 273 | /* MAIN */ 274 | 275 | h2 { 276 | font-family: 'Spline Sans Mono', monospace; 277 | font-weight: 340; 278 | font-size: 1.8em; 279 | margin-top: var(--itemGap); 280 | background-color: var(--signal); 281 | padding: var(--paraGap); 282 | display: flex; 283 | flex-direction: column; 284 | gap: var(--paraGap); 285 | } 286 | h2 p { 287 | font-weight: 440; 288 | font-size: .8rem; 289 | } 290 | h2 a { 291 | text-decoration-color: var(--bg); 292 | } 293 | h3 { 294 | margin-top: var(--paraGap); 295 | font-weight: 400; 296 | font-size: 1.4em; 297 | display: flex; 298 | flex-direction: column; 299 | gap: var(--paraGap); 300 | } 301 | h3 p { 302 | font-weight: 400; 303 | font-size: 1rem; 304 | } 305 | h4 { 306 | font-size: 1.2em; 307 | } 308 | a[href] { 309 | text-decoration-line: underline; 310 | text-decoration-color: var(--signal); 311 | text-decoration-thickness: var(--underlineThickness); 312 | hyphens: none; 313 | } 314 | ul.items { 315 | display: flex; 316 | flex-direction: column; 317 | gap: var(--itemGap); 318 | } 319 | li.item { 320 | padding: 1em; 321 | border: 1px solid var(--fg); 322 | display: flex; 323 | flex-direction: column; 324 | gap: var(--paraGap); 325 | } 326 | ul.data { 327 | display: flex; 328 | gap: var(--paraGap); 329 | } 330 | ul.data li { 331 | list-style-type: none; 332 | margin: 0; 333 | font-style: italic; 334 | } 335 | ul.data li + li::before { 336 | content: "/"; 337 | padding-right: var(--paraGap); 338 | } 339 | .description { 340 | display: flex; 341 | flex-direction: column; 342 | gap: var(--paraGap); 343 | } 344 | .links { 345 | display: flex; 346 | flex-direction: row; 347 | gap: 0 var(--paraGap); 348 | flex-wrap: wrap; 349 | } 350 | .offline, .abandoned { 351 | text-decoration-line: line-through; 352 | } 353 | 354 | /* FOOTER */ 355 | 356 | footer strong { 357 | font-family: Isenheim-Regular, serif; 358 | font-weight: 400; 359 | font-size: min(18vw, 9em); 360 | line-height: .9; 361 | letter-spacing: -.02em; 362 | font-size: 3em; 363 | display: block; 364 | padding-bottom: .5rem; 365 | } 366 | -------------------------------------------------------------------------------- /_data/data.yaml: -------------------------------------------------------------------------------- 1 | categories: 2 | - name: Learning type design 3 | subcategories: 4 | - name: Beginners guides to type design 5 | items: 6 | - name: Type Design School 7 | url: https://typedesignschool.com 8 | description: Video guide by Lynne Yun 9 | - name: Design with FontForge 10 | url: http://designwithfontforge.com/en-US/index.html 11 | description: This is a fantastic introduction to type design, regardless of what software you use. 12 | - name: Getting started with type design 13 | url: https://jonathanhoefler.com/articles/getting-started-with-typeface-design 14 | description: by Jonathan Hoefler 15 | - name: Glyphs Tutorials 16 | url: https://glyphsapp.com/learn 17 | description: most tutorials here would be useful to non-Glyphs users too! 18 | - name: GT Academy 19 | url: https://www.instagram.com/grillitype 20 | description: Ongoing series of Instagram posts on how to construct certain glyphs. 21 | - name: Ohno Type School Articles 22 | url: https://ohnotype.co/blog/tagged/teaching 23 | description: Series of articles teaching the basics of type design. 24 | - name: Ohno Essential RoboFont 25 | url: https://school.ohnotype.co/p/essential-robofont 26 | description: Video class introduction to the classic editor 27 | - name: Learning Type Design 28 | url: https://www.linkedin.com/learning/learning-type-design/what-you-should-know 29 | description: A beginner type design course by Charles Nix on LinkedIn Learning. 30 | - name: Books 31 | items: 32 | - name: How to design fonts? 33 | url: https://learntype.eu/ 34 | description: A 140-page PDF and print-on-demand book by Blaze Type Foundry. 35 | - name: "Designing Fonts: An Introduction to Professional Type Design" 36 | url: https://thamesandhudson.com/designing-fonts-an-introduction-to-professional-type-design-9780500241554 37 | description: by Chris Campe and Ulrike Rausch. A [German edition](https://typografie.de/produkt/making-fonts/) is also available. 38 | - name: Designing Type 39 | url: https://yalebooks.yale.edu/book/9780300249927/designing-type/ 40 | description: by Karen Cheng. 41 | - name: "How to create typefaces: From sketch to screen" 42 | url: https://www.tipo-e.com/publicaciones/how-to-create-typefaces.html 43 | description: by Cristóbal Henestrosa, Laura Meseguer, José Scaglione. Also available in a [Spanish edition](http://tipo-e.com/publicaciones/como-crear-tipografias.html). 44 | - name: "Italic: What gives Typography its emphasis" 45 | url: https://www.niggli.ch/en/produkt/italic/ 46 | description: by Hendrik Weber. Also available in [German](https://www.niggli.ch/en/produkt/kursiv/). 47 | - name: "Legibility: How and why typography affects ease of reading" 48 | url: https://legible-typography.com/ 49 | description: Book by Mary Dyson. Available online for free in English and Spanish. 50 | links: 51 | - name: English version 52 | url: https://legible-typography.com/en/ 53 | - name: Spanish version 54 | url: https://legible-typography.com/es/ 55 | - name: "The Ohno Book: A Serious Guide to Irreverent Type Design" 56 | url: https://ohnotype.co/info/book/ 57 | description: by James Edmondson. 58 | - name: Recommended Type Design and Typography Books 59 | url: https://typedrawers.com/discussion/1275/recommended-type-design-and-typography-books/p1 60 | description: discussion on TypeDrawers 61 | - name: Teachers, show us your reading lists 62 | url: https://typedrawers.com/discussion/186/teachers-show-us-your-reading-lists 63 | description: discussion on typedrawers 64 | - name: Workshops 65 | description: "Tip: follow your favourite type [conferences](#conferences) – some of them present workshops and other events throughout the year." 66 | items: 67 | - name: Cyrillicsly 68 | url: https://twitter.com/cyrillicsly 69 | description: workshops for learning Cyrillic type design 70 | - name: Letterform Archive 71 | url: https://letterformarchive.org/events/ 72 | description: presents a variety of workshops and other events 73 | - name: Type@Cooper 74 | url: http://coopertype.org/workshops/ 75 | description: presents a variety of workshops and other events 76 | - name: Type Design Class 77 | url: https://www.typedesignclass.com/workshops 78 | description: Online workshops by Viktor Baltus for learning type design and typography. 79 | - name: Typographische Gesellschaft München 80 | url: https://tgm-online.de/angebot/?type=tgm-angebot-Fortbildung 81 | description: Typographic Society of Munich hosts a wide range of in-person workshops and courses on typography, including type design. 82 | - name: Courses 83 | items: 84 | - name: Expert class Type design 85 | url: https://www.plantininstitute.be/typedesign/index.html 86 | description: An online, comprehensive course on type design offered by The Plantin Institute of Typography. 87 | - name: Tipo-g 88 | url: https://tipo-g.com/ 89 | description: A type design school in Barcelona, Spain. Currently teaching a 21-week part-time program with an emphasis on variable fonts. 90 | - name: Type Design Class 91 | url: https://www.typedesignclass.com/classes 92 | description: Self-guided courses by Viktor Baltus for learning type design and typography. 93 | - name: Practica Program 94 | url: https://practicaprogram.com/ 95 | description: A two-part, 6 week + 18 week part-time program for learning type design. 96 | - name: Type Electives 97 | url: https://www.typeelectives.com/ 98 | description: An online school with a range of type design and typography courses. 99 | - name: Variable Font Course 100 | url: https://www.variablefontcourse.com/ 101 | description: An on-demand video course by Arthur Reinders Folmer on creating variable fonts, and variable colour fonts. 102 | - name: I Love Typography Academy 103 | url: https://ilovetypography.com/academy/ 104 | description: ILT academy exists to promote expert teaching of type design, font production, and typography. Courses cover various script systems and are taught in a number of languages. 105 | - name: TypeParis 106 | url: https://typeparis.com/ 107 | description: A 6-week intensive type design programme held each summer in Paris (in English). 108 | - name: Ohno Type School Courses 109 | url: https://school.ohnotype.co/ 110 | description: A series of free courses for RoboFont users. 111 | - name: Knuth-Bigelow Type Design Incubator 112 | url: https://silicon.stanford.edu 113 | description: The Donald Knuth & Charles Bigelow Type Design Incubator (KBI) is a 5-week type design course. SILICON is a Stanford University initiative to advance digital inclusion and protect lower-resourced languages from extinction. 114 | - name: Typemasters 115 | url: https://typemasters.xyz 116 | description: Typemasters by Leinster Type offers type design courses, workshops, and coaching services. 117 | - name: TypeDesign.Asia 118 | url: https://typedesign.asia/ 119 | description: A part-time 9-week online type design course, offered with various levels of coaching and mentorship. 120 | - name: Plau Education 121 | url: https://edu.plau.design/ 122 | description: A collection of courses in Brazilian Portuguese by Brazilian type foundry Plau. Includes *FontePro*, a basic type design course. 123 | - name: Full-time programs 124 | items: 125 | - name: ANRT 126 | url: https://anrt-nancy.fr/ 127 | description: at ENSAD (Nancy, France) 128 | - name: ECAL 129 | url: https://ecal.ch/en/courses-and-research/master/type-design/ 130 | description: A two-year master’s degree program in Switzerland. 131 | - name: EsadType 132 | url: http://postdiplome.esad-amiens.fr/ 133 | description: at Esad Amiens (Amiens, France) 134 | - name: MATD 135 | url: http://typefacedesign.net/courses/ 136 | description: at University of Reading (Reading, UK) 137 | - name: Type@Cooper 138 | url: http://coopertype.org/ 139 | description: at Cooper Union (New York City, USA) 140 | - name: Type & Media 141 | url: https://typemedia.org/ 142 | description: MA in Type Design at the KABK (The Hague, Netherlands) 143 | - name: Type West 144 | url: https://letterformarchive.org/education/ 145 | description: at Letterform Archive (San Francisco, USA) 146 | - name: Coaching 147 | items: 148 | - name: Typemasters 149 | url: https://typemasters.xyz 150 | description: Typemasters by Leinster Type offers a range of design coaching services for type designers and foundry teams. 151 | - name: ILT Academy Consulting 152 | url: https://academy.ilovetypography.com/consulting/ 153 | description: Design consulting and tutoring for type designers and foundry teams. 154 | - name: Software 155 | description: Discounted student licenses are available with many of these applications. 156 | subcategories: 157 | - name: Commercial font editors 158 | items: 159 | - name: FontLab 160 | url: https://www.fontlab.com/ 161 | description: An all-in-one font editor for Mac and Windows – first released in 1992. 162 | data: 163 | - $499 USD 164 | - Windows 165 | - Mac 166 | - name: Fontself 167 | url: https://www.fontself.com/ 168 | description: Plugins for Adobe Illustrator & Photoshop for creating fonts within Creative Suite. Also available as an iPad app. 169 | data: 170 | - $39–59 USD 171 | - Windows 172 | - Mac 173 | - iPad 174 | - name: Glyphs 175 | url: https://glyphsapp.com/ 176 | description: A fully-featured, Mac-based font editor with an active community. 177 | data: 178 | - €299 179 | - Mac 180 | - name: Glyphs Mini 181 | url: https://glyphsapp.com/ 182 | description: A paired down version of the full Glyphs app, meant for beginners. Limited to designing single-style fonts (no multiple masters or variable fonts). 183 | data: 184 | - €49 185 | - Mac 186 | - name: High Logic Font Creator 187 | url: https://www.high-logic.com/font-editor/fontcreator 188 | description: A Windows-native font editor. 189 | data: 190 | - $49–199 USD 191 | - Windows 192 | - name: RoboFont 193 | url: https://robofont.com/ 194 | description: A Python-based font editor that puts an emphasis on scripting and extendability. 195 | data: 196 | - €400 197 | - Mac 198 | - name: TypeTool 199 | description: A simpler font editor for beginners, from the makers of FontLab. 200 | url: https://www.fontlab.com/font-editor/typetool/ 201 | data: 202 | - $49 USD 203 | - Windows 204 | - name: Drop & Type 205 | description: An application that generates Japanese or Latin fonts from Adobe Illustrator files. 206 | url: https://typeproject.com/fonts/dropandtype 207 | data: 208 | - ¥4,000 JPY 209 | - Windows 210 | - Mac 211 | - name: FontArk 212 | description: A browser-based font editor that’s currently in open beta. 213 | url: https://fontark.net/ 214 | data: 215 | - Free (while in beta) 216 | - name: Free and open source (FOSS) font editors 217 | items: 218 | - name: Birdfont 219 | url: https://birdfont.org/ 220 | description: A cross-platform, pay-what-you-want font editor written in the Vala programming language. Paid "Plus" version can export Color fonts, OpenType-CFF fonts, and single stroke fonts for CNC. 221 | data: 222 | - Windows 223 | - Mac 224 | - Linux 225 | - BSD 226 | - name: FontForge 227 | url: https://fontforge.org/ 228 | description: A cross-platform, FOSS font editor written in C. Can export many formats. First released in 1994. 229 | data: 230 | - Free 231 | - Windows 232 | - Mac 233 | - GNU+Linux. 234 | - name: Fontra 235 | url: https://fontra.xyz/ 236 | description: A browser-based FOSS font editor that allows distributed teams to work on a font together. Currently unfinished and in development (2023). Developed by [Black[Foundry]](https://black-foundry.com/) and [Google Fonts](https://fonts.google.com/). 237 | links: 238 | - name: GitHub 239 | url: https://github.com/googlefonts/fontra 240 | - name: FontStruct 241 | url: https://fontstruct.com/ 242 | description: FontStruct lets you quickly and easily create modular fonts constructed out of geometrical shapes, which are arranged in a grid pattern, like tiles or bricks. 243 | - name: Gerb 244 | url: https://github.com/epilys/gerb 245 | description: A FOSS font editor written in Rust. Currently unfinished and in development (2023). 246 | - name: Modular Font Editor K 247 | url: https://mfek.org/ 248 | description: A modular, Rust-based, FOSS font editor. Currently unfinished and in development (2023). 249 | - name: Runebender 250 | url: https://github.com/linebender/runebender 251 | description: A FOSS font editor, also written in Rust. Currently unfinished and in development (2023). 252 | - name: TruFont 253 | url: http://trufont.github.io/ 254 | description: A cross-platform FOSS font editor, written in Python. Now discontinued (2023). 255 | discontinued: true 256 | links: 257 | - name: GitHub 258 | url: https://github.com/trufont/trufont 259 | data: 260 | - Windows 261 | - Mac 262 | - Linux 263 | - name: Glyphr Studio 264 | url: https://github.com/glyphr-studio/Glyphr-Studio-1 265 | description: A browser-based FOSS font editor. 266 | links: 267 | - name: GitHub 268 | url: https://github.com/glyphr-studio/Glyphr-Studio-1 269 | - name: Typlr.app 270 | url: https://typlr.app/ 271 | description: A browser-based font editor by Evgeny Agasyants, currently in open beta. 272 | - name: Community 273 | items: 274 | subcategories: 275 | - name: Groups 276 | items: 277 | - name: Alphacrit 278 | url: https://www.alphacrit.alphabettes.org/ 279 | description: Online event series of type critiques, by Alphabettes 280 | - name: Type Crit Crew 281 | url: https://typecritcrew.com/ 282 | description: a free resource for type design students to meet 1–1 with experienced type designers for virtual critiques 283 | - name: TypeDrawers 284 | url: https://typedrawers.com/ 285 | description: discussion forum for type designers 286 | - name: Type Twitter 287 | url: https://twitter.com/i/lists/15845166 288 | description: a list of over 400 type foundries to follow on Twitter 289 | - name: Fonts r Magic 290 | url: https://twitter.com/mrkvlmrvc 291 | description: an informal weekly Zoom meeting for type designers to chat and show their work, hosted on Friday afternoons by Mirko Velimirovic. Posting Zoom links publicly is probably asking for trouble, so I'd say just send Mirko a DM to join! 292 | - name: Conferences 293 | items: 294 | - name: ATypI 295 | url: https://www.atypi.org/ 296 | description: A global type conference, hosted in a different country each year in September. 297 | - name: TypeCon 298 | url: https://www.typecon.com/ 299 | description: Annual conference presented by [S{o}TA](https://www.typesociety.org/). Hosted in-person in Portland, Oregon. 300 | - name: Typographics 301 | url: https://typographics.com/ 302 | description: Annually in June at The Cooper Union in New York City. Typographics hosts in-person and streaming events, plus workshops, a book fair, and [TypeLab](https://typographics.com/typelab/), an informal, multi-day, global typographic hackathon. 303 | - name: TypeWknd 304 | url: https://typewknd.com/ 305 | description: An online-only type conference 306 | - name: Robothon 307 | url: https://twitter.com/robothonconf 308 | description: Triennial conference on font software & technology. Hosted in-person in The Hague, Netherlands. 309 | - name: Signs of the times 310 | url: https://signs-of-the-times.net/ 311 | description: A two-day hybrid conference organized by Granshan, an organization that celebrates non-Latin typefaces and typography. 312 | links: 313 | - name: YouTube 314 | url: https://www.youtube.com/@granshanconference7285 315 | - name: DiaTipo 316 | url: https://www.instagram.com/diatiposp/ 317 | description: A large community gathering for typography in Latin America, held annually in São Paulo & Belém do Pará. 318 | links: 319 | - name: Archived conference websites 320 | url: https://www.diatipo.com.br/ 321 | - name: Dynamic Font Day 322 | url: https://dynamicfontday.com/ 323 | description: A conference on digital typography and technology, presented by [Typographische Gesellschaft München](https://tgm-online.de/) (Typographic Society of Munich). 324 | - name: Inscript 325 | url: https://inscript.tf/ 326 | description: A five-day online conference showcasing presentations at the overlap of typography and technology. 327 | - name: Fontstand Conference 328 | url: https://fontstand.com/conference/ 329 | description: Annual typography conference organized by Fontstand, the typeface discovery and rental app. 330 | - name: Kerning 331 | url: https://kerning.it/ 332 | description: Kerning is the first international conference in Italy dedicated solely to typography and web typography. Last event was in 2019, but the [organizers are keen to host future events](https://twitter.com/ssstofff/status/1547939771623755778) if sponsors come forward. 333 | discontinued: true 334 | - name: Multilingüe 335 | url: https://www.typedrivesculture.com/ 336 | description: Online conference on writing and typography for native languages from Latin America. Hosted by the Type Directors Club. 337 | - name: Future of Reading 338 | url: http://www.futureofreading.de/ 339 | description: Conference about the future of reading and typography. Hosted by FH Münster, Germany. 340 | - name: Leipziger Typotage 341 | url: https://typotage.de 342 | description: The Leipziger Typotage is an annual event on type design and typography organised by the Gesellschaft zur Förderung der Druckkunst Leipzig e.V. since 1995 hosted at [Museum für Druckkunst Leipzig](https://www.druckkunst-museum.de/), Germany. 343 | - name: Now24 344 | url: https://typeparis.com/now24 345 | description: A one-day conference (in English) held in Paris each year by TypeParis. 346 | links: 347 | - name: Now23 348 | url: https://typeparis.com/now23 349 | - name: Face/Interface 350 | url: https://silicon.stanford.edu/face-interface/ 351 | description: Global conference on type design and human-computer interaction, hosted by Stanford University. 352 | - name: Events & Lectures 353 | description: "Events that occur regularly (except [Conferences](#conferences)), or organizations that host regular events on type design and typography." 354 | items: 355 | - name: Future Fonts HyperTalks 356 | url: https://www.futurefonts.xyz/blog/243-announcing-hypertalks 357 | description: A new online event series, featuring lightning talks from designers, which may or may not be related to fonts. 358 | links: 359 | - name: YouTube 360 | url: https://www.youtube.com/watch?v=0gqD-rxqD_8 361 | - name: Letterform Archive 362 | url: https://letterformarchive.org/events/ 363 | description: Letterform Archive in San Francisco hosts many lectures and events, both online and in-person. 364 | - name: St. Bride Foundation 365 | url: https://letterformarchive.org/events/ 366 | description: St. Bride Foundation in London hosts many lectures and events on printing, design, and typography. 367 | - name: Type Electives 368 | url: https://www.typeelectives.com/events 369 | description: Type Electives hosts lectures and events that go beyond traditional type design topics. 370 | links: 371 | - name: YouTube 372 | url: https://www.youtube.com/@typeelectives 373 | - name: Words of Type 374 | url: https://wordsoftype.com/ 375 | description: WoT hosts series of lectures and workshops as opportunities to learn and practice, get live feedback, and discuss with experts. 376 | - name: Associations 377 | items: 378 | - name: ATypI 379 | url: https://www.atypi.org/ 380 | description: A global organization representing type designers and foundries. Holds an annual conference, hosted in a different country each year in September. 381 | - name: Granshan 382 | url: https://www.granshan.com/ 383 | description: An organization that promotes and celebrates non-Latin type design and typography. Holds an annual or biannual type design competition, followed by a conference and exhibition. 384 | - name: SoTA 385 | url: https://www.typesociety.org/ 386 | description: “An open community dedicated to supporting and advancing the typographic arts and design education.” Organizer of [TypeCon](https://www.typecon.com/). 387 | - name: Type Directors Club 388 | url: https://www.tdc.org/ 389 | description: Type Directors Club is an international organization promoting typography and type design. Since 1946 they've hosted events, conferences, and competitions in New York City and around the world. Each year they produce Typography Annual, recognizing the year's best typographers and type designers. 390 | - name: Media 391 | description: Social media, multimedia, type news media 392 | subcategories: 393 | - name: Podcasts 394 | items: 395 | - name: Creative Characters 396 | url: https://www.monotype.com/podcast 397 | description: by Monotype — Bill Connolly interviews type designers and other creative characters 398 | - name: Designed This Way 399 | url: https://kawal.co/designedthisway 400 | description: conversations with designers and other creative folks, including several type designers 401 | - name: The Interrogang Podcast 402 | url: https://proofco.xyz/the-interrogang-podcast 403 | description: “A weekly briefing and discussion of type, design, and creativity.” by Proof&Co. 404 | - name: Ohno Radio 405 | url: https://ohnotype.co/info/ohno-radio 406 | description: James Edmondson chats with up-and-coming and well-established type designers 407 | - name: The Tiny Typecast 408 | url: https://glog.glennf.com/tiny-type-blog 409 | description: Glenn Fleishman talks with type designers, calligraphers, letterpress printers, historians, and more. [RSS link](https://tinytypemuseum.com/tinytypecast.rss) 410 | - name: Type Radio 411 | url: http://www.typeradio.org/ 412 | description: the oldest and most beloved podcast for type designers – interviews at conferences from 2005–2020 413 | - name: The Weekly Typographic 414 | url: https://www.theleagueofmoveabletype.com/podcast 415 | description: from The League of Moveable Type 416 | - name: Publications 417 | items: 418 | - name: Footnotes 419 | url: http://www.footnotes.ch/ 420 | description: A print-only periodical dedicated to type design. 421 | - name: Typographica 422 | url: https://typographica.org/ 423 | description: Typeface reviews, articles on type design and typography. 424 | - name: Type Magazine 425 | url: https://www.typemag.org/ 426 | description: Print and online magazine on type and typography. 427 | - name: Font Review Journal 428 | url: https://fontreviewjournal.com/ 429 | description: Deep-dive reviews of fonts, by Bethany Heck. 430 | - name: TYPE01 431 | url: https://type-01.com/ 432 | description: News and articles from the world of type design. Online and print. 433 | - name: Design Regression 434 | url: https://designregression.com 435 | description: An academic mini journal publishing texts that are about design for reading and reading-related research 436 | - name: Typography papers 437 | url: https://typography.network/typographypapers/ 438 | description: An academic journal published by the Department of Typography & Graphic Communication, University of Reading and the Hyphen Press. Free PDFs available. 439 | - name: Words of Type Encyclopedia 440 | url: https://wiki.wordsoftype.com/ 441 | description: Words of Type brings together the terms used in typography, illustrated and explained in multiple languages. 442 | - name: Blogs 443 | description: Type foundry and type designer blogs, or blogs that frequently feature articles on type design. 444 | items: 445 | - name: "Type Design Class: Resources" 446 | url: https://www.typedesignclass.com/resources 447 | description: A series of articles and tutorials by Viktor Baltus on type design. 448 | - name: Entrelinha 449 | url: https://plau.design/entrelinha 450 | description: Blog by Plau on everything type. In Brazilian Portuguese. 451 | - name: Blaze Type Blog 452 | url: https://blazetype.eu/blog 453 | - name: Streamers 454 | description: Watch a type designer! 455 | items: 456 | - name: akimbo.black 457 | url: https://www.twitch.tv/akimbodotblack 458 | links: 459 | - name: Twitch 460 | url: https://www.twitch.tv/akimbodotblack 461 | - name: Alanna Munro 462 | url: https://www.twitch.tv/alannamun 463 | links: 464 | - name: Twitch 465 | url: https://www.twitch.tv/alannamun 466 | - name: YouTube 467 | url: https://www.youtube.com/@alannamun 468 | - name: Alex Slobzheninov 469 | url: https://www.youtube.com/@slobzheninov 470 | links: 471 | - name: YouTube 472 | url: https://www.youtube.com/@slobzheninov 473 | - name: Blaze Type 474 | url: https://www.twitch.tv/blazetype 475 | links: 476 | - name: Twitch 477 | url: https://www.twitch.tv/blazetype 478 | - name: YouTube 479 | url: https://www.youtube.com/@blazetype 480 | - name: Daniel Nisbet 481 | url: https://www.twitch.tv/danielnisbet/ 482 | links: 483 | - name: Twitch 484 | url: https://www.twitch.tv/danielnisbet/ 485 | - name: YouTube 486 | url: https://www.youtube.com/@danielnisbet 487 | - name: Eli Heuer 488 | url: https://www.twitch.tv/eli_gtl 489 | links: 490 | - name: Twitch 491 | url: https://www.twitch.tv/eli_gtl 492 | - name: YouTube 493 | url: https://www.youtube.com/@EliHeuer 494 | - name: SophiaTypeLove 495 | url: https://www.twitch.tv/sophiatypelove/ 496 | links: 497 | - name: Twitch 498 | url: https://www.twitch.tv/sophiatypelove/ 499 | - name: YouTube 500 | url: https://www.youtube.com/@SophiaTypeLove 501 | - name: Stephen Nixon (Arrow Type) 502 | url: https://www.twitch.tv/arrowtype 503 | links: 504 | - name: Twitch 505 | url: https://www.twitch.tv/arrowtype 506 | - name: YouTube 507 | url: https://www.youtube.com/arrowtype 508 | - name: typedesign_bk 509 | url: https://www.twitch.tv/typedesign_bk 510 | links: 511 | - name: Twitch 512 | url: https://www.twitch.tv/typedesign_bk 513 | - name: Adobe Fonts Livestreams 514 | url: https://www.behance.net/adobefonts/livestreams 515 | description: Discussing type with Adobe’s foundry partners. 516 | - name: Plau live streams 517 | url: https://youtube.com/plaudesign 518 | description: Live panels, font releases and typographic content in Brazilian Portuguese. 519 | - name: Character design 520 | subcategories: 521 | - name: Latin 522 | items: 523 | - name: Microsoft Character Design Standards 524 | url: https://docs.microsoft.com/en-us/typography/develop/character-design-standards/ 525 | description: Guidelines and best practises for drawing the Latin alphabet, as well as figures, diacritics, punctuation and symbols. 526 | - name: How to draw a Capital Sharp S 527 | url: https://typography.guru/journal/how-to-draw-a-capital-sharp-s-r18/ 528 | description: A guide to drawing the German capital eszett (ẞ) by Ralf Herrmann. 529 | - name: How to Draw a Proper Capital Eszett 530 | url: http://cinga.ch/eszett/ 531 | description: A guide to drawing the German capital eszett (ẞ) by Christian Thalmann. 532 | - name: Vietnamese Typography 533 | url: https://vietnamesetypography.com/ 534 | description: by Donny Trương, comprehensive resource typographic features and diacritics in Vietnamese 535 | - name: diacritics.typo.cz 536 | url: http://diacritics.typo.cz/ 537 | description: by Filip Blažek 538 | - name: The Insects Project 539 | url: http://theinsectsproject.eu/ 540 | description: Central European diacritics 541 | - name: On diacritics 542 | url: https://ilovetypography.com/2009/01/24/on-diacritics/ 543 | description: A general introduction to the design of diacritics by David Březina 544 | - name: Diacritics resources Twitter thread 545 | url: https://twitter.com/aleksamul/status/1057350288061984770 546 | description: by Aleksandra Samuļenkova, thread listing many resources concerning diacritics and special characters of the Latin script 547 | - name: Context of Diacritics 548 | url: https://www.setuptype.com/x/cod/ 549 | description: An analysis of languages that use Latin diacritics and the frequencies of letters and letter pairs with diacritics. 550 | - name: Italics & Obliques 551 | items: 552 | - name: Design an Italic Typeface 553 | url: https://www.linkedin.com/learning/design-an-italic-typeface 554 | description: On-demand course by Charles Nix for LinkedIn Learning. You might be able to access LinkedIn Learning for free via your local library. 555 | - name: Designing italics 556 | url: https://gaultney.org/jvgtype/italics/designing-italics/ 557 | description: A thesis stemming from a five-year study by Victor Gaultney. 558 | - name: The essential italic 559 | url: https://gaultney.org/jvgtype/italics/essential-italic/ 560 | description: A presentation at ATypI 2017 by Victor Gaultney. 561 | - name: The italic design process 562 | url: https://gaultney.org/jvgtype/italics/italic-design-process/ 563 | description: A presentation at ATypI 2020 by Victor Gaultney. 564 | - name: Italics workflow 565 | url: https://typedrawers.com/discussion/comment/18274 566 | description: A discussion on TypeDrawers. 567 | - name: Maintaining Contrast and Weight across Upright and Italics 568 | url: https://typedrawers.com/discussion/comment/59107 569 | description: A discussion on TypeDrawers. 570 | - name: Why are italics lighter than their upright counterparts? 571 | url: https://typedrawers.com/discussion/1106/why-are-italics-lighter-than-their-upright-counterparts 572 | description: A discussion on TypeDrawers. 573 | - name: Easy oblique 574 | url: https://glyphsapp.com/learn/easy-oblique 575 | description: Glyphs tutorial by Rainer Erich Scheichelbauer. 576 | - name: Cyrillic 577 | items: 578 | - name: Cyrillic script variations and the importance of localisation 579 | url: https://www.fontsmith.com/blog/2016/10/12/cyrillic-script-variations-and-the-importance-of-localisation 580 | description: by Krista Radoeva 581 | - name: Cyrillic local forms 582 | url: https://localfonts.eu/typography-basics/fonts-the-importance-of-localisation/local-features/cyrillic-local-forms/ 583 | description: by Maria Doreuli 584 | - name: Cyrillicsly 585 | url: https://twitter.com/cyrillicsly 586 | description: workshops for learning Cyrillic type design 587 | - name: Extending Cyrillic (and later Latin) character sets 588 | url: https://blog.typekit.com/2006/08/01/defining_an_ext/ 589 | description: by Thomas Phinney 590 | - name: How to design Cyrillic letters Њ (Nje), Љ (Lje), Ћ (Tshe), and Ђ (Dje) 591 | url: https://uxdesign.cc/design-guides-for-cyrillic-letter-%D1%9A-nje-how-to-design-cyrillic-letters-%D1%9A-nje-%D1%99-lje-%D1%9B-tshe-f9b565a477cc 592 | description: An article by Igor Petrovic on localizing your glyphs for Serbian and Macedonian Cyrillic. 593 | - name: Some comments regarding Cyrillic glyphs 594 | url: https://github.com/CatharsisFonts/Cormorant/issues/14 595 | description: a lengthy GitHub issues discussion on Cyrillic glyphs in Catharsis Fonts' open-source typeface Cormorant 596 | - name: The relatively easy way to find out the quality of a Cyrillic typeface 597 | url: https://leksandra.livejournal.com/115861.html 598 | description: by Alexandra Korolkova 599 | - name: Cyrillic's links 600 | url: https://docs.google.com/document/d/1Pt-Hi_jeF0D7PlT4E7ib7oa2sKg9tazhOYuAl3hZKE8/edit?usp=sharing 601 | description: a collection of links to many online Cyrillic type samples and inspirations, by [Vika and Vita](https://vikavita.com/) 602 | - name: Greek 603 | items: 604 | - name: Greek type design 605 | url: https://leonidas.net/greek-type-design/ 606 | description: by Gerry Leonidas 607 | - name: "Polytonic Greek: a guide for type designers" 608 | url: https://github.com/irenevl/Polytonic-tutorial 609 | description: by Irene Vlachou 610 | - name: Hebrew 611 | items: 612 | - name: Some guidelines and recommendations for the design of a Hebrew book typeface 613 | url: https://issuu.com/gerryleonidas/docs/2003_dissertation_adistern 614 | description: MA dissertation by Adi Stern 615 | - name: Canadian Syllabics 616 | items: 617 | - name: Lava Syllabics type specimen [PDF] 618 | url: https://www.typotheque.com/fonts/lava/syllabics/getpdf 619 | description: A well-researched and invaluable look at the process behind designing a Canadian Syllabics typeface, which includes many special features to support a wide range of local preferences for languages that use this script. 620 | - name: Math symbols 621 | items: 622 | - name: Fonts for Mathematics 623 | url: http://www.typoma.com/publ/20041002-atypi.pdf, presentation slides by Johannes Küster at ATypI 2004 in Prague [Mirror](https://web.archive.org/web/20201007161310/http://www.typoma.com/publ/20041002-atypi.pdf) 624 | - name: Mathematical symbols contrasted or not? 625 | url: https://typedrawers.com/discussion/2965/mathematical-symbols-contrasted-or-not 626 | description: discussion on TypeDrawers 627 | - name: Maths glyphs in a non-maths font? 628 | url: https://typedrawers.com/discussion/1649/maths-glyphs-in-a-non-maths-font/p1 629 | description: discussion on TypeDrawers 630 | - name: Math symbols for Latin 1 631 | url: https://docs.microsoft.com/en-us/typography/develop/character-design-standards/math 632 | description: from Microsoft's *Character design standards* 633 | - name: Box drawing characters 634 | items: 635 | - name: boxDrawing.py 636 | url: https://github.com/adobe-type-tools/box-drawing 637 | description: Script for generating box drawing characters and block elements 638 | - name: OpenType feature programming 639 | items: 640 | - name: Fonts and Layout for Global Scripts 641 | url: https://simoncozens.github.io/fonts-and-layout/ 642 | description: An introduction to Unicode, the OpenType font format, and OpenType feature programming, by Simon Cozens. 643 | - name: The OpenType Cookbook 644 | url: http://opentypecookbook.com/ 645 | description: Learn to code your own OpenType features with Tal Leming. 646 | - name: OpenType Feature File specification 647 | url: https://adobe-type-tools.github.io/afdko/OpenTypeFeatureFileSpecification.html 648 | description: Technical specification for the OpenType programming language. 649 | - name: Language support 650 | description: "Determining the true language support of a font is a complex problem that has not yet been completely solved. Most of these tools will simply report which languages a font *seems* to support, based solely on its character set, but some tools like Hyperglot and Shaperglot will also check OpenType features for some languages that require the use of them." 651 | items: 652 | - name: CharSet Checker 653 | url: https://www.alphabet-type.com/tools/charset-checker/ 654 | description: and [CharSet Builder](https://www.alphabet-type.com/tools/charset-builder/) by Alphabet Type 655 | - name: FontDrop 656 | url: https://fontdrop.info/ 657 | - name: Hyperglot 658 | url: https://hyperglot.rosettatype.com/ 659 | description: by Rosetta Type. This is by far the most well-researched tool for checking language support. Hyperglot is available as a command line tool and a web interface. The command-line tool also checks OpenType support for some languages that require the use of OpenType features. 660 | links: 661 | - name: Web interface 662 | url: https://hyperglot.rosettatype.com/ 663 | - name: Github repo 664 | url: https://github.com/rosettatype/hyperglot 665 | - name: Shaperglot 666 | url: https://github.com/googlefonts/shaperglot 667 | description: A Python library by Simon Cozens for testing a font's language support. It also checks the behaviour of a font's OpenType features in order to confirm support for languages that require the use of OpenType features. 668 | - name: Pyfontaine 669 | url: https://github.com/googlefonts/pyfontaine 670 | description: by Google Fonts 671 | - name: Validate 672 | url: https://underware.nl/latin_plus/validate/ 673 | description: by Underware 674 | - name: Wakamai Fondue 675 | url: http://wakamaifondue.com/ 676 | - name: Standardized character sets 677 | items: 678 | - name: Adobe Latin Character Sets 679 | url: https://github.com/adobe-type-tools/adobe-latin-charsets 680 | - name: Google Fonts Glyph Sets 681 | url: https://github.com/googlefonts/glyphsets 682 | - name: Koeberlin Latin Character Sets 683 | url: https://github.com/koeberlin/Latin-Character-Sets 684 | - name: Underware Latin Plus 685 | url: https://underware.nl/latin_plus/info 686 | description: Latin character set by Underware that offers decent language support with a relatively small character set. 687 | - name: Encoding borders and ornaments 688 | items: 689 | - name: "'ornm' feature" 690 | url: https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#tag-ornm 691 | description: Microsoft OpenType spec 692 | - name: Ornaments and Unicode 693 | url: https://typedrawers.com/discussion/1156/ornaments-and-unicode/p1 694 | description: discussion on TypeDrawers 695 | - name: "Border Ornaments and their implementation: questions & answers." 696 | url: https://typedrawers.com/discussion/3799/border-ornaments-and-their-implementation-questions-answers 697 | description: discussion on TypeDrawers 698 | - name: Python and coding 699 | subcategories: 700 | - name: Learn Python with DrawBot 701 | description: "[DrawBot](https://drawbot.com/) is a free macOS app that allows you to draw graphics and typography with Python. It's one of the best ways for a type designer or graphic designer to start learning Python." 702 | items: 703 | - name: Python for Designers 704 | url: https://pythonfordesigners.com/ 705 | description: tutorial series by Roberto Arista 706 | - name: Getting Started with DrawBot 707 | url: https://learn.adafruit.com/getting-started-with-drawbot?view=all 708 | description: tutorial by Andy Clymer 709 | - name: Getting started with parametric design in DrawBot 710 | url: https://www.typefloundry.com/getting-started-with-drawbot/ 711 | description: 3-part tutorial series by Stephen Nixon 712 | - name: Animation tutorial screencast 713 | url: https://forum.drawbot.com/topic/5/animation-tutorial-screencast 714 | description: by Just van Rossum 715 | - name: "DrawBot: Drawing with Python" 716 | url: https://www.youtube.com/watch?v=h5h6NXC8ZoY 717 | description: by David Jonathan Ross (workshop recording) 718 | - name: Python for Visual Designers 719 | url: http://coopertype.org/event/python_for_visual_designers_sp23 720 | description: Type@Cooper course with David Jonathan Ross 721 | - name: Python scripting in Glyphs 722 | description: Learn from Glyphs' official tutorials, and from open-source scripts developed by other type designers. 723 | items: 724 | - name: Scripting Glyphs 725 | url: https://glyphsapp.com/learn/scripting-glyphs-part-1 726 | description: official tutorials from Glyphs 727 | - name: Glyphs 3 Python API 728 | url: https://docu.glyphsapp.com/ 729 | description: documentation 730 | - name: Glyphs scripts 731 | url: https://github.com/mekkablue/Glyphs-Scripts 732 | description: "by Rainer Scheichelbauer (aka mekkablue) of the Glyphs team. This repo contains many useful tools and code examples to help you write your own scripts.\n\nThere are many more repos of Glyphs scripts by type designers and developers:" 733 | links: 734 | - name: Alex Slobzheninov 735 | url: https://github.com/slobzheninov/Glyphs-Scripts 736 | - name: Erik Moberg 737 | url: https://github.com/TypeNurse/Glyphs-Scripts 738 | - name: Federico Parra Barrios 739 | url: https://github.com/FEDER-CO/Glyphs-Scripts 740 | - name: Filipe Negrão 741 | url: https://github.com/filipenegrao/glyphsapp-scripts 742 | - name: Guido Ferreyra 743 | url: https://github.com/guidoferreyra/Glyphs-Scripts 744 | - name: Henrique Beier 745 | url: https://github.com/harbortype/glyphs-scripts 746 | - name: Hugo Jourdan 747 | url: https://github.com/HugoJourdan/Glyphs-Script 748 | - name: Jens Kutilek 749 | url: https://github.com/jenskutilek/Glyphs-Scripts 750 | - name: Jeremy Tribby 751 | url: https://github.com/jpt/font-scripts/ 752 | - name: Juan Pablo del Peral and Andrés Torresi 753 | url: https://github.com/huertatipografica/huertatipografica-scripts 754 | - name: Kyle Benson 755 | url: https://github.com/kylewaynebenson/Glyphs-Scripts 756 | - name: Luke Prowse 757 | url: https://github.com/NaN-xyz/GlyphsApp-Scripts 758 | - name: Pedro Arilla 759 | url: https://github.com/pedroarilla/glyphs-scripts 760 | - name: Simon Cozens 761 | url: https://github.com/simoncozens/GlyphsScripts 762 | - name: Tosche Omagari 763 | url: https://github.com/Tosche/Glyphs-Scripts 764 | - name: Wei Huang 765 | url: https://github.com/weiweihuanghuang/wei-glyphs-scripts 766 | - name: Yanone 767 | url: https://github.com/yanone/Yanone-GlyphsApp-Scripts 768 | - name: Python Scripting for Type Design 769 | url: https://pnowell.com/python-type-design 770 | description: A workshop by Peter Nowell for type designers working in Glyphs or RoboFont with little to no coding experience. 771 | - name: Python scripting and extensions in RoboFont 772 | description: Learn from RoboFont’s official tutorials, and from open-source scripts developed by other type designers. 773 | items: 774 | - name: RoboFont documentation 775 | url: https://robofont.com/documentation/ 776 | - name: RoboFont community Discord channel 777 | url: https://discord.gg/fbRmAFyZar 778 | - name: RoboFont mechanic 779 | url: https://robofontmechanic.com/ 780 | description: Extension manager for RoboFont 781 | - name: RoboFont Script Database 782 | url: https://docs.google.com/spreadsheets/d/1uyeZXfwLe-vs1YmIDQvQwDBjTQohCd9dbRN2WqGJQf8/ 783 | description: Spreadsheet by Ryan Bugden of useful extensions not in Mechanic. 784 | - name: Python Scripting for Type Design 785 | url: https://pnowell.com/python-type-design 786 | description: A workshop by Peter Nowell for type designers working in Glyphs or RoboFont with little to no coding experience. 787 | - name: Git and version control 788 | items: 789 | - name: Git for Type Designers 790 | url: https://github.com/frankrolf/git-for-type-designers 791 | description: by Frank Grießhammer 792 | - name: Hinting 793 | items: 794 | - name: How to hint variable fonts 795 | url: https://googlefonts.github.io/how-to-hint-variable-fonts/ 796 | description: by Michael Duggan 797 | - name: Kerning tools 798 | items: 799 | - name: BubbleKern 800 | url: https://github.com/Tosche/BubbleKern 801 | description: by Toshi Omagari 802 | - name: Hands, Face, Space! 803 | url: https://gist.github.com/simoncozens/03da7e5ad7f52af711948ed52a797e23 804 | description: by Simon Cozens 805 | - name: HTLetterspacer 806 | url: https://github.com/huertatipografica/HTLetterspacer 807 | description: by Huerta Tipográfica 808 | - name: Kern-a-lytics 809 | url: https://github.com/adobe-type-tools/kernalytics-rf-ext 810 | description: by Frank Grießhammer [[live demo @ Robothon 2018](https://www.facebook.com/RoyalAcademyKABK/videos/1614287785322531)] 811 | - name: kerncritic 812 | url: https://github.com/simoncozens/atokern 813 | description: by Simon Cozens 814 | - name: Kern On 815 | url: https://kern-on.com/ 816 | description: by Tim Ahrens 817 | - name: MetricsMachine 818 | url: https://extensionstore.robofont.com/extensions/metricsMachine/ 819 | description: by Tal Leming 820 | - name: Proofing tools 821 | subcategories: 822 | - name: Font proofing software 823 | items: 824 | - name: Font Goggles 825 | url: https://fontgoggles.org/ 826 | description: by Just van Rossum, a macOS desktop font viewer for testing fonts, specifically text shaping and variation behavior. 827 | - name: Font Proofer 828 | url: https://fontproofer.com/ 829 | description: A commercial app for proofing fonts, by Peter Nowell. Integrates with Glyphs and RoboFont, allowing you to re-generate proofs anytime with a single click. 830 | - name: drawBotProofing 831 | url: https://github.com/adobe-type-tools/drawBotProofing 832 | description: A set of scripts for generating PDF proofs from a fonts or UFOs, by Frank Grießhammer. 833 | - name: Printer recommendations 834 | description: Discussions by type designers on printers they use for proofing type. 835 | items: 836 | - name: Twitter threads 837 | description: 838 | links: 839 | - name: 2023 840 | url: https://twitter.com/kaja_slojewska/status/1659265175038435343 841 | - name: 2023 842 | url: https://twitter.com/keyavadgama/status/1625959288643657730 843 | - name: 2022 844 | url: https://twitter.com/tulseytype/status/1533931491511656448 845 | - name: 2021 846 | url: https://twitter.com/mttymtt/status/1395395411830005766 847 | - name: 2017 848 | url: https://twitter.com/connordavenpo/status/881524083736940544 849 | - name: 2016 850 | url: https://twitter.com/rileycran/status/755086057599700992 851 | - name: 2013 852 | url: https://twitter.com/fostertype/status/306607673527382019 853 | - name: TypeDrawers threads 854 | links: 855 | - name: 2020 856 | url: https://typedrawers.com/discussion/3560/printer-for-proofing 857 | - name: 2016 858 | url: https://typedrawers.com/discussion/1917/not-too-expensive-printer-for-testing-font-printing 859 | - name: 2015 860 | url: https://typedrawers.com/discussion/896/printer-for-type-design-proofing 861 | - name: 2013–2022 862 | url: https://typedrawers.com/discussion/314/printer-recommendations-for-proofing/p1 863 | - name: Web-based proofing and testing 864 | description: There are a wide range of browser-based tools that you can drop your work-in-progress font into to test it. Most of these tools process your font using a client-side library like OpenType.js, which means your font is not uploaded to any server. 865 | items: 866 | - name: Axis Praxis 867 | url: https://www.axis-praxis.org/ 868 | description: A playground for testing variable fonts. Made by Laurence Penney. 869 | - name: Bulletproof Font Tester 870 | url: https://bulletproof.italic.space/ 871 | description: by Adam Jagosz 872 | - name: Coverslip 873 | url: https://simoncozens.github.io/coverslip/ 874 | description: by Simon Cozens 875 | - name: Crowbar 876 | url: http://corvelsoftware.co.uk/crowbar/ 877 | - name: Dinamo Font Gauntlet 878 | url: https://dinamodarkroom.com/gauntlet/ 879 | description: A tool for proofing and animating variable fonts. 880 | - name: Impallari Type Font Testing Page 881 | url: https://impallari.com/testing/ 882 | description: by Pablo Impallari 883 | links: 884 | - name: Github source 885 | url: https://github.com/impallari/font-testing-page 886 | - name: Mirror 1 887 | url: http://www.cyreal.org/Font-Testing-Page/ 888 | - name: Mirror 2 889 | url: http://www.rosaliewagner.com/font-testing/ 890 | - name: Mirror 3 891 | url: http://www.idc.iitb.ac.in/~girish/test/ 892 | - name: Mirror 4 893 | url: https://oketz.com/testing/ 894 | - name: Mirror 5 895 | url: https://snapbuilder.com/tools/font_testing_page/ 896 | - name: Mota Italic Font Testing Page 897 | url: https://www.motaitalic.com/tools/font-tester/latin/ 898 | description: A modified version, by Mota Italic, of Pablo Impallari's Font Testing Page. See also the [Devanagari](https://www.motaitalic.com/tools/devanagari-font-tester/) and [Hebrew](https://www.motaitalic.com/tools/font-tester/hebrew/) versions. 899 | - name: FontDrop 900 | url: https://fontdrop.info/ 901 | description: by Viktor and Clemens Nübel 902 | - name: Galvanized Jets 903 | url: http://www.galvanizedjets.com/ 904 | description: by Samarskaya & Partners 905 | - name: Samsa Variable Font Inspector 906 | url: https://www.axis-praxis.org/samsa/ 907 | description: by Laurence Penney 908 | - name: Validate 909 | url: https://underware.nl/latin_plus/validate/ 910 | description: by Underware 911 | - name: TN Type Tools 912 | url: https://typetools.typenetwork.com/ 913 | description: A set of layout tools for experimenting with variable fonts in various ways. Made by Font Bureau, when it was part of Type Network, to develop the first Decovar and Amstelvar variable fonts in 2016; deprecated by VideoProof and then TypeRoof. 914 | links: 915 | - name: Github source 916 | url: https://github.com/FontBureau/variable-type-tools/ 917 | - name: FB VideoProof 918 | url: https://videoproof.appspot.com 919 | description: Proof large design space variable fonts by animating through instance locations as keyframes. Made by Font Bureau, to develop Roboto Flex and the full Amstelvar Roman and Italic avar1 fonts, 2019-2022; deprecated by TypeRoof. 920 | links: 921 | - name: Github source 922 | url: https://github.com/FontBureau/videoproof/ 923 | - name: FB TypeRoof 924 | url: https://https://fontbureau.github.io/TypeRoof/ 925 | description: Proof large design space variable fonts by animating through instance locations as keyframes on 'stages'. Made by Font Bureau, to develop Roboto Delta and the full Amstelvar Roman and Italic avar 2 fonts, since 2023. 926 | links: 927 | - name: Github source 928 | url: https://github.com/FontBureau/TypeRoof 929 | - name: Variable Font Playground 930 | url: https://github.com/imohanvadivel/variable-font-playground 931 | - name: Wakamai Fondue 932 | url: http://wakamaifondue.com/ 933 | description: by Roel Nieskens 934 | - name: Waterfall 935 | url: https://workshop.mass-driver.com/waterfall 936 | description: A tool by Mass-Driver that generates words of equal length after you drop in a font. Great for proofing in early stages of a font, when you're still seeing how the forms interact with each other. 937 | - name: Stack & Justify 938 | url: https://max-esnee.com/stack-and-justify/ 939 | description: Stack & Justify is a tool to help create type specimens by finding words or phrases of the same width. Inspired by Mass-Driver’s Waterfall tool. 940 | - name: Proofing texts 941 | items: 942 | - name: adhesiontext 943 | url: https://adhesiontext.com/ 944 | description: by Miguel Sousa 945 | - name: Hoefler&Co Universal proofing text 946 | url: https://github.com/hoeflerco/proofs 947 | description: by Jonathan Hoefler 948 | - name: Just Another Test Text Generator 949 | url: https://justanotherfoundry.com/generator 950 | description: by Tim Ahrens 951 | links: 952 | - name: Github source 953 | url: https://github.com/justanotherfoundry/text-generator 954 | - name: Vietnamese and Pinyin proofing text 955 | url: https://typedrawers.com/discussion/1952/vietnamese-and-pinyin-proofing-text 956 | description: discussion on TypeDrawers 957 | - name: Wordtips Word Finder 958 | url: https://word.tips/ 959 | description: Handy tool for finding words that contain certain letter combinations, to help you build proofing texts for kerning and ligatures. 960 | - name: Font engineering 961 | description: "Font engineering is the technical side of making font files that work as intended on a wide range of systems." 962 | subcategories: 963 | - name: What is font engineering? 964 | items: 965 | - name: Font engineering and the importance of what you can't see. 966 | url: https://www.monotype.com/resources/expertise/font-engineering-explained 967 | description: by Tom Rickner 968 | - name: Font Engineering with Rainer Erich Scheichelbauer 969 | url: https://ilovetypography.com/academy/font-engineering/ 970 | description: A course from ILT Academy that will introduce you to font engineering. 971 | - name: Practical Font Engineering with Elí Castellanos 972 | url: https://tipastype.com/font-engineering/ 973 | description: A course from Tipastype 974 | - name: "Font Engineering: Defining a Profession" 975 | url: https://www.youtube.com/watch?v=5aIYHYX4Dvc 976 | description: A presentation by Rosalie Wagner for ATypI 2022 Tech Talks 977 | - name: Font Engineering resources needed 978 | url: https://typedrawers.com/discussion/4027/font-engineering-resources-needed 979 | description: Discussion on TypeDrawers 980 | - name: Fonts and Layout for Global Scripts 981 | url: https://simoncozens.github.io/fonts-and-layout/ 982 | description: A free book about font design, Unicode and the computer processing of complex text, by Simon Cozens. 983 | - name: The Raster Tragedy at Low-Resolution Revisited 984 | url: http://rastertragedy.com/ 985 | description: An essay on the problems of rendering text on-screen, with a focus on hinting. Updated several times since it was originally presented in 1997, this essay is considered required reading by many accomplished type designers. 986 | - name: Make Your Fonts Work in… 987 | url: https://www.youtube.com/watch?v=wmT4LfcIP5Q 988 | description: A presentation on font engineering by Rainer Erich Scheichelbauer of Glyphs, at ATypI Tech Talks 2022. 989 | - name: Font Engineering 990 | url: https://www.alphabet-type.com/fontengineering/ 991 | description: An overview of Alphabet Type's font engineering workflow, including links to more resources on each topic. 992 | - name: Tools for font engineering 993 | items: 994 | - name: Fontbakery 995 | url: https://github.com/fonttools/fontbakery 996 | description: A quality-assurance tool for fonts, developed by Google but used by many foundries. Primarily a command-line tool, a web interface was recently added. 997 | links: 998 | - name: Github source 999 | url: https://github.com/fonttools/fontbakery 1000 | - name: Web interface 1001 | url: http://fontbakery.com/ 1002 | - name: Font engineering tools 1003 | url: https://github.com/simoncozens/font-engineering 1004 | description: A collection of font engineering utilities by Simon Cozens 1005 | - name: Microsoft Typography Docs 1006 | url: https://learn.microsoft.com/en-us/typography/ 1007 | description: A collection of resources for font engineering, including the OpenType specification, and various other articles and tools. 1008 | - name: fontTools (& ttx) 1009 | url: https://github.com/fonttools/fonttools 1010 | description: An indispensible toolkit for editing fonts via Python. Also includes ttx, a command line tool that quickly converts binary font files to human-readable XML, which can also be edited and converted back to binary. 1011 | - name: FontTableViewer 1012 | url: https://glyphsapp.com/tools/fonttableviewer 1013 | description: A simple app to view and compare the OpenType tables inside of your font files. 1014 | - name: DTL OTMaster 1015 | url: https://www.fontmaster.nl/otmaster.html 1016 | description: A dedicated app for font engineering that allows you to perform a wide range of proof tests, QA checks, and edits to your font files. 1017 | - name: VerticalMetricsTools 1018 | url: https://github.com/mathieureguer/VerticalMetricsTools 1019 | description: Managing vertical metrics is one of the most common font engineering problems. This set of Python tools includes a command line tool which generates a PDF to preview the vertical metrics of a font. 1020 | - name: FontDev 1021 | url: https://fontdev.app/ 1022 | description: A web-based tool for viewing and editing the internal tables of a binary font file. Runs entirely in your browser, without uploading your font files to any server. By Olli Meier. 1023 | - name: Type specimens 1024 | description: "Type specimens are the original marketing tool for type foundries, going back hundreds of years. Today, many type foundries still design a PDF specimen (and sometimes printed copies) for each typeface release, to complement the web specimen.\n\nSee also: [Web specimen tools](#web-specimen-tools)" 1025 | items: 1026 | - name: DeliverGlyphs in InDesign 1027 | url: https://le-blog.jloupf.fr/indesign/scripts/deliverglyphs-importer-rapidement-tous-les-glyphes-dune-police 1028 | description: by Jean loup Fusz, InDesign script to list all glyphs in a font (site in French) 1029 | - name: Specimen Builder 1030 | url: https://github.com/markboulton/specimen-builder-print 1031 | description: by Mark Boulton 1032 | - name: SpecimenDropper 1033 | url: https://github.com/AlphabetType/SpecimenDropper 1034 | description: by Alphabet Type 1035 | - name: Text Fitting in InDesign 1036 | url: http://in-tools.com/article/scripts-blog/fun-with-text-fitting-in-indesign/ 1037 | description: by In-Tools 1038 | - name: Type Specimens 1039 | url: https://typespecimens.xyz/ 1040 | description: A research project by Mark Boulton about type specimens. 1041 | subcategories: 1042 | - name: Historic type specimens 1043 | items: 1044 | - name: Online Archive of Type Specimens 1045 | url: https://oa.letterformarchive.org/?dims=Format&vals0=Type%20Specimen&friendly0=Type%20Specimen&sortby=decade 1046 | description: by Letterform Archive 1047 | - name: Specimen Books of Metal & Wood Type 1048 | url: https://library.typographica.org/specimen-books-of-metal-wood-type 1049 | description: A directory by Typographica of type foundry catalogs available online 1050 | - name: "Mad, Bad (but Good to Know): A survey of type specimens offline and online" 1051 | url: https://www.paulshawletterdesign.com/2023/02/mad-bad-but-good-to-know-a-survey-of-type-specimens-offline-and-online/ 1052 | description: by Paul Shaw 1053 | - name: Resources on the history of type specimens 1054 | url: https://twitter.com/HoeflerCo/status/1304801378628513792 1055 | description: Twitter thread by Hoefler&Co, a list of books 1056 | - name: Printing Types, a Digital Edition 1057 | url: https://www.c82.net/printing-types/ 1058 | description: Nicholas Rougeux has lovingly put together a digital edition of the famous 1922 book *Printing Types* by Daniel Berkeley Updike, and the 1937 second edition. 1059 | - name: Naming your font 1060 | items: 1061 | - name: Typeface name check 1062 | url: https://namecheck.fontdata.com/ 1063 | description: Use this tool by Lars Schwarz to check if your font name might already be taken. 1064 | - name: WoLiBaFoNaGen 1065 | url: https://github.com/jenskutilek/WoLiBaFoNaGen 1066 | description: WordListBasedFontNameGenerator, an app by Jens Kutilek. 1067 | data: 1068 | - macOS 1069 | - Windows 1070 | - name: Open-source your fonts 1071 | items: 1072 | - name: SIL Open Font License 1073 | url: https://scripts.sil.org/OFL 1074 | description: The most common open-source license used for fonts. Required if you want to add your fonts to the Google Fonts library. 1075 | - name: Google Fonts 1076 | url: https://fonts.google.com/ 1077 | description: Used by millions of websites, it's the world's largest repository of high-quality open-source fonts. Google Fonts has also funded the development of many open-source fonts. 1078 | links: 1079 | - name: Google Fonts Contribution Guide 1080 | url: https://googlefonts.github.io/gf-guide/ 1081 | subcategories: 1082 | - name: Open source type foundries 1083 | description: Foundries that primarily release open-source fonts 1084 | items: 1085 | - name: Velvetyne 1086 | url: https://velvetyne.fr/ 1087 | - name: The League of Moveable Type 1088 | url: https://www.theleagueofmoveabletype.com/ 1089 | description: The O.G. of open-source foundries 1090 | - name: Tunera 1091 | url: https://www.tunera.xyz/ 1092 | - name: Collletttivo 1093 | url: https://www.collletttivo.it/ 1094 | - name: Selling your fonts 1095 | subcategories: 1096 | - name: Marketplaces & distributors 1097 | items: 1098 | - name: Monotype 1099 | url: https://www.monotype.com/ 1100 | description: Sell your fonts through MyFonts, FontShop, Linotype.com, Fonts.com, etc. Royalty rate 50%. 1101 | links: 1102 | - name: Getting started 1103 | url: https://foundrysupport.monotype.com/hc/en-us/articles/360028863311-Get-Started 1104 | - name: Fontspring 1105 | url: https://fontspring.com/ 1106 | description: Formerly known as the world's largest independent font marketplace, Fontspring is now owned by Creative Market, and has since reduced royalty rates from 70% to 50%. 1107 | links: 1108 | - name: Foundry Signup 1109 | url: https://www.fontspring.com/account/foundries/info 1110 | - name: Fontstand 1111 | url: https://fontstand.com/ 1112 | description: Font rentals distributor. 50% royalty rate. 1113 | links: 1114 | - name: Foundry Signup 1115 | url: https://www.fontspring.com/account/foundries/info 1116 | - name: Adobe Fonts 1117 | url: https://fonts.adobe.com/ 1118 | description: Anyone with an Adobe Creative Cloud subscription can use your fonts, and you get paid based on usage. 1119 | - name: Creative Market 1120 | url: https://creativemarket.com/ 1121 | description: A marketplace for all types of creative assets, including fonts. Seems to be geared more toward hobbyists and freelancers rather than companies. Royalty rate 50%. 1122 | links: 1123 | - name: Open a Shop 1124 | url: https://creativemarket.com/sell 1125 | - name: Type Network 1126 | url: https://typenetwork.com/ 1127 | description: A network that distributes for many of the world's best type designers. 1128 | - name: I Love Typography 1129 | url: https://fonts.ilovetypography.com/ 1130 | description: A new distributor with a large roster of some of the best indie type foundries. 1131 | - name: YouWorkForThem 1132 | url: https://www.youworkforthem.com/ 1133 | description: Opened in 2001, it's one of the longest-running marketplaces for fonts and stock assets. 1134 | links: 1135 | - name: Submissions 1136 | url: https://www.youworkforthem.com/submissions 1137 | - name: Learn about licensing 1138 | items: 1139 | - name: Type Right 1140 | url: http://www.typeright.org/ 1141 | - name: Why don’t EULA’ve me? 1142 | url: https://www.youtube.com/watch?v=3qVJCs-y39I 1143 | description: ATypI presentation by Joyce Ketterer, Font Licensing Expert 1144 | - name: Why Addenda? 1145 | url: https://www.youtube.com/watch?v=1fN9_KYfoaQ 1146 | description: ATypI presentation by Joyce Ketterer, Font Licensing Expert 1147 | - name: Three Ways to Improve Your EULA 1148 | url: https://medium.com/type-thursday/three-ways-to-improve-your-eula-4cdb7c2515e8 1149 | description: Thomas Jockin interviews Joyce Ketterer for TypeThursday 1150 | - name: 15 Things I Learned from Joyce Ketterer about EULAs 1151 | url: https://alexjohnlucas.com/type/joyceketterer 1152 | description: by Alex John Lucas 1153 | - name: Exploring End User Licensing Agreements 1154 | url: https://alexjohnlucas.com/type/eula 1155 | description: by Alex John Lucas 1156 | - name: XYZ Type – Foundry Documents 1157 | url: https://github.com/XYZ-Type/Foundry_Documents 1158 | description: A collection of documents (EULA and business documents) from XYZ Type, provided under Creative Commons CC0 license. 1159 | - name: Criticising the status quo 1160 | items: 1161 | - name: Licenses to Heal 1162 | url: http://www.revue-backoffice.com/en/issues/01-making-do-making-with/frank-adebiaye-licenses-to-heal 1163 | description: by Frank Adebiaye 1164 | - name: Font licensing is ill, please help heal it 1165 | url: https://fontsarena.com/blog/font-licensing-is-ill-please-help-heal-it/ 1166 | description: by Alina Sava 1167 | - name: Developers, IT, and tech people criticising font licenses 1168 | description: Comments on HackerNews 1169 | url: https://news.ycombinator.com/item?id=26441594 1170 | - name: A rant on web font licenses 1171 | description: Blog post by web developer Manuel Moreale. It's a good summary of how some web developers feel about web font licenses, but far more interesting is the [comments thread on HackerNews](https://news.ycombinator.com/item?id=35095393). 1172 | url: https://manuelmoreale.com/a-rant-on-web-font-licenses 1173 | - name: "Innovative licensing: pricing based on company size" 1174 | items: 1175 | - name: ABC Dinamo 1176 | url: https://abcdinamo.com/news/about-our-pricing 1177 | - name: Mass-Driver 1178 | url: https://mass-driver.com/licensing 1179 | - name: Newlyn 1180 | url: https://newlyn.com/licensing 1181 | - name: Production Type 1182 | url: https://licensing.productiontype.com/ 1183 | - name: "Innovative licensing: all-in-one licenses" 1184 | description: Desktop/web/ebook/app combined into a single license. 1185 | items: 1186 | - name: Swiss Typefaces 1187 | url: https://www.swisstypefaces.com/ 1188 | description: probably one of the first to do this? 1189 | - name: Fontwerk 1190 | url: https://fontwerk.com/ 1191 | - name: New Glyph 1192 | url: https://beta.newglyph.com/licence/ 1193 | - name: DJR 1194 | url: https://djr.com/ 1195 | - name: Tiny Type Co 1196 | url: https://tinytype.co/ 1197 | - name: Alanna Munro 1198 | url: http://alannamunro.com/ 1199 | - name: License enforcement 1200 | items: 1201 | - name: FontRadar 1202 | url: https://www.fontradar.com/ 1203 | description: Crawls the web to help you find and correct authorized and unauthorized usage of your fonts. 1204 | - name: Starting a foundry 1205 | description: Thinking about starting a foundry, or setting up a website to support your shop? Here are some tools that might come in handy. 1206 | subcategories: 1207 | - name: Running a type foundry 1208 | items: 1209 | - name: Type Foundries Today 1210 | url: https://census.typographica.org/ 1211 | description: A 2013 census and report on the state of type foundries, published by Typographica. 1212 | - name: Ohno Radio 1213 | url: https://ohnotype.co/info/ohno-radio 1214 | description: A podcast hosted by James Edmondson, where he chats with type designers and often discusses what it's like to run a foundry. 1215 | - name: Starting Your Own Type Foundry 1216 | url: https://medium.com/type-thursday/starting-your-own-type-foundry-1ef7c768308a 1217 | description: Ulrik Hogrebe (TypeThursday) talks with Jesse Ragan and Ben Kiel about starting their new type foundry. 1218 | - name: "Starting a type foundry 101: a checklist" 1219 | url: https://www.youtube.com/watch?v=j9EDHxHgc2A 1220 | description: A presentation at ATypI 2016 by Jean-Baptiste Levée. 1221 | - name: Why did I start a type foundry? 1222 | url: https://ilovetypography.com/2010/05/06/why-did-i-start-a-type-foundry/ 1223 | description: by Christian Schwartz 1224 | - name: Type Foundry Survey 1225 | url: https://abcdinamo.com/news/type-foundry-survey-1 1226 | description: Dinamo talks with 15 type foundry owners in 2022. 1227 | - name: Is it realistic to want to start up a type foundry? 1228 | url: https://www.quora.com/Is-it-realistic-to-want-to-start-up-a-type-foundry 1229 | description: A Quora post with answers from several well-known type designers and foundry owners. 1230 | - name: "Taking Your Fonts to Market: Foundry, Reseller, or Go Solo?" 1231 | url: https://typographica.org/on-typography/taking-your-fonts-to-market-foundry-reseller-or-go-solo/ 1232 | description: by Stephen Coles for Typographica. 1233 | - name: 2022 Annual Report & Almanac 1234 | url: https://proofco.gumroad.com/ 1235 | description: Statistics, facts and data from 2022 in the world of independent type foundries, by [Proof&Co](https://proofco.xyz/). 1236 | - name: The Autobiography of an Independent Type Foundry 1237 | url: https://www.adobe.com/max/2022/sessions/na-the-autobiography-of-an-independent-type-found-s301.html 1238 | description: Presentation by James Edmondson of OHno Type Co at Adobe Max 2022. 1239 | - name: Type foundry directories 1240 | items: 1241 | - name: Type Foundries Archive 1242 | offline: true 1243 | url: https://type-foundries-archive.com/ 1244 | links: 1245 | - name: Archived copy 1246 | url: https://web.archive.org/web/20220829055903/https://type-foundries-archive.com/ 1247 | - name: Type Foundry Directory 1248 | url: https://typefoundry.directory/ 1249 | description: by Matthew Smith (also available as a [spreadsheet](https://airtable.com/shrFnmJDFKQuik6Ju/tblOOfWzc1JT33c6k/viw3GySxCmxqD37GN)) 1250 | - name: Type Foundry Index 1251 | url: https://type.lol/ 1252 | - name: E-commerce platforms 1253 | items: 1254 | - name: Fontdue 1255 | url: https://www.fontdue.com/ 1256 | description: Developed by [Tom Conroy](http://tom.conroy.com.au/) and currently used by many type foundries. 1257 | - name: FoundryCore 1258 | url: https://foundrycore.tipografia.com.ar/ 1259 | description: Developed by Guido Ferreyra and is currently used by foundries like [Blackletra Type Foundry](https://blackletra.com/), [Blaze Type](https://blazetype.eu/), and [Undercase Type](https://undercase.xyz/). 1260 | - name: Fountain 1261 | url: https://fountain.nymarktype.co/ 1262 | description: An e-commerce plugin for Kirby CMS. Coming soon, from [Nymark Type](https://www.nymarktype.co/). 1263 | - name: Lttr Shop 1264 | url: https://www.lttrshop.com/ 1265 | description: "Developed by Filip Paldia and currently used by foundries like [DizajnDesign](https://www.dizajndesign.sk/) and [Setup Type](https://www.setuptype.com). Appears to have been discontinued around mid-2023." 1266 | discontinued: true 1267 | - name: Discussion on e-commerce platforms for type foundries 1268 | url: https://typedrawers.com/discussion/1679/e-commerce-platform-recommendations 1269 | description: TypeDrawers 1270 | - name: Gumroad 1271 | url: https://gumroad.com/ 1272 | description: A large e-commerce platform for creatives to sell digital products. Used by [Delve Fonts](https://delvefonts.com/), [Cinetype](https://www.cinetype.com/), [Justin Penner](https://justinpenner.ca/), [Nuform](https://nuformtype.com/). 1273 | - name: Website platforms 1274 | items: 1275 | - name: Craft CMS 1276 | url: https://craftcms.com/ 1277 | description: Used by [DJR](https://djr.com/), [Positype](https://positype.com/), [TypeMates](https://typemates.com/) 1278 | - name: ProcessWire 1279 | url: https://processwire.com/ 1280 | description: Used by [Velvetyne](https://velvetyne.fr/) 1281 | - name: Web specimen tools 1282 | items: 1283 | - name: BigText 1284 | url: https://github.com/zachleat/BigText 1285 | description: by Zach Leatherman 1286 | - name: FitText 1287 | url: http://fittextjs.com/ 1288 | description: by Paravel 1289 | - name: fit-to-width.js 1290 | url: https://github.com/Lorp/fit-to-width 1291 | description: by Laurence Penney 1292 | - name: Font Face Observer 1293 | url: https://fontfaceobserver.com/ 1294 | description: by Bram Stein 1295 | - name: Font Testing Page 1296 | url: https://github.com/impallari/Font-Testing-Page 1297 | description: by Pablo Impallari 1298 | - name: Font-To-Width 1299 | url: http://font-to-width.com/ 1300 | description: by Nick Sherman and Chris Lewis 1301 | - name: slabText 1302 | url: https://github.com/freqDec/slabText 1303 | description: by Brian McAllister 1304 | - name: specimenTools 1305 | url: https://github.com/graphicore/specimenTools 1306 | description: by Lasse Fister 1307 | - name: Font tools for web development 1308 | items: 1309 | - name: FontFreeze 1310 | url: https://github.com/MuTsunTsai/fontfreeze 1311 | description: A JavaScript tool by Mu-Tsun Tsai for freezing OpenType features into a font file. Runs entirely in the user's browser without uploading font files to a server. This is accomplished by running fontTools in the user's browser via Pyodide, a Python distribution built in WebAssembly. 1312 | - name: fontkit 1313 | url: https://github.com/foliojs/fontkit 1314 | description: A JavaScript library by Devon Govett for parsing fonts. Supports a wide range of font formats and OpenType features. Does not support variable fonts. 1315 | - name: lib-font 1316 | url: https://github.com/Pomax/lib-font 1317 | description: A JavaScript library by Pomax for inspecting fonts. Supports a wide range of font formats. 1318 | - name: opentype 1319 | discontinued: true 1320 | url: https://github.com/bramstein/opentype 1321 | description: A JavaScript library by Bram Stein for parsing fonts. 1322 | - name: OpenType.js 1323 | url: https://github.com/opentypejs/opentype.js 1324 | description: A popular JavaScript library by Frederik De Bleser for parsing glyph outlines from font binaries. Note that it does not support the complete range of OpenType tables and formats that its name would suggest. 1325 | - name: Type testers 1326 | items: 1327 | - name: Flont 1328 | url: https://flont.chrislewis.codes/ 1329 | description: by Chris Lewis 1330 | - name: Fontsampler 1331 | url: https://underscoretype.github.io/fontsampler-js/ 1332 | description: by Johannes Neumeier 1333 | - name: TDF Type Tester 1334 | url: https://github.com/quitequinn/TypeTester_TDF 1335 | description: by Quinn Keaveney 1336 | - name: Type Neighbor 1337 | url: https://github.com/tiotype/type-neighbor 1338 | description: by Jon Young 1339 | - name: Typeshow 1340 | url: https://github.com/raureif/typeshow 1341 | description: by Frank Rausch 1342 | - name: Custom foundry site design and/or development 1343 | items: 1344 | - name: Chris Lewis 1345 | url: https://chrislewis.codes/ 1346 | description: Clients include [I Love Typography](https://fonts.ilovetypography.com), [DJR](https://djr.com/), [Positype](https://positype.com/), [Laura Worthington](https://lauraworthingtondesign.com/). 1347 | - name: Ashler Design 1348 | url: https://www.ashler.design/ 1349 | description: Clients include [Sudtipos](https://www.sudtipos.com/), [Nova Type](https://novatypefoundry.com/). 1350 | - name: Friends of The Web 1351 | url: https://friendsoftheweb.com/ 1352 | description: Clients include [Frere-Jones Type](https://frerejones.com/), [Kilotype](https://kilotype.de/) 1353 | - name: Hambly Freeman 1354 | url: https://hamblyfreeman.com/ 1355 | description: Clients include [CoType Foundry](https://cotypefoundry.com/). 1356 | - name: Humans & Machines 1357 | url: https://humans-machines.com/ 1358 | description: The complexity-loving, beautiful minds behind [Dinamo](https://abcdinamo.com/news/2020-launch-press-release)'s website. 1359 | - name: Studio Lindeman 1360 | url: https://studiolindeman.com/ 1361 | description: Clients include [I Love Typography](https://fonts.ilovetypography.com), [A2-Type](https://studiolindeman.com/a2-type/). 1362 | - name: Kenneth Ormandy 1363 | url: https://kennethormandy.com/ 1364 | description: Clients include [I Love Typography](https://fonts.ilovetypography.com), [Alanna Munro](https://alannamunro.com/). 1365 | - name: Village One 1366 | url: https://www.village.one/ 1367 | description: Clients include [TypeMates](https://www.typemates.com/), [HvD Fonts](https://www.hvdfonts.com/). 1368 | - name: Business coaching 1369 | items: 1370 | - name: Julia Hiles 1371 | url: https://www.juliahiles.com/foundry-resources 1372 | description: Julia is a business coach and consultant with substantial experience in the type business, having worked as a sales director for Monotype, and co-founding the I Love Typography e-commerce platform. 1373 | - name: Business Letters 1374 | url: https://www.bizlet.org/coaching 1375 | description: Matthew Rechs at Business Letters is a business coach and consultant to the creative and type industries. He is a former CEO of Type Network; served for several years on the board of the Unicode Consortium; and led Typekit's integration into Creative Cloud during his many years at Adobe. 1376 | - name: See also… 1377 | description: More lists of type design resources. 1378 | items: 1379 | - name: Font-Utilities 1380 | url: https://github.com/RoelN/Font-Utilities 1381 | description: by Roel Nieskens 1382 | - name: Awesome Typography 1383 | url: https://github.com/Jolg42/awesome-typography 1384 | description: by Joël Galeran (an extensive list of digital font tools and technology) 1385 | - name: Velvetyne's Tools & Resources 1386 | url: https://velvetyne.fr/about/ressources/ 1387 | description: A list of type design resources and open-source type foundries. 1388 | - name: Mota Italic's Type Design Resources 1389 | url: https://www.motaitalic.com/info/type-design-resources/ 1390 | - name: Tools for font designers 1391 | url: https://typeheist.co/blog/handy-tools-for-font-designers/ 1392 | - name: Type links by Rosalie Wagner 1393 | url: http://rosaliewagner.com/type-links/ 1394 | --------------------------------------------------------------------------------