Introduction to Fonts
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu and Index Controls

a
w
s
d
h j k l


Esc Close menu / unfocus timestamp

Quotes and References Menus and Index

Enter Jump to timestamp

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
1:02Recap and overview of upcoming debug work
1:02Recap and overview of upcoming debug work
1:02Recap and overview of upcoming debug work
2:23Plan for today
2:23Plan for today
2:23Plan for today
4:06Test-driven vs visualization-driven game development
4:06Test-driven vs visualization-driven game development
4:06Test-driven vs visualization-driven game development
6:18Fonts from the ground up. What are font files?
6:18Fonts from the ground up. What are font files?
6:18Fonts from the ground up. What are font files?
10:50Fonts describe a mapping from character set encoding to outline shapes
10:50Fonts describe a mapping from character set encoding to outline shapes
10:50Fonts describe a mapping from character set encoding to outline shapes
12:22ASCII/ANSI encoding
12:22ASCII/ANSI encoding
12:22ASCII/ANSI encoding
14:55Unicode
14:55Unicode
14:55Unicode
16:09Pros and cons of Unicode
16:09Pros and cons of Unicode
16:09Pros and cons of Unicode
19:23Unicode codepoints
19:23Unicode codepoints
19:23Unicode codepoints
21:01Basic typography (baseline, maximum ascenders and descenders, line height)
21:01Basic typography (baseline, maximum ascenders and descenders, line height)
21:01Basic typography (baseline, maximum ascenders and descenders, line height)
23:31Kerning
23:31Kerning
23:31Kerning
23:50Monospace fonts
23:50Monospace fonts
23:50Monospace fonts
25:46Proportional fonts
25:46Proportional fonts
25:46Proportional fonts
28:57Kerning information
28:57Kerning information
28:57Kerning information
32:25Hinting
32:25Hinting
32:25Hinting
35:32Ways of using fonts inside Handmade Hero:
35:32Ways of using fonts inside Handmade Hero:
35:32Ways of using fonts inside Handmade Hero:
36:151) Load TTF and tesselate the glyphs into an outline made of triangles
36:151) Load TTF and tesselate the glyphs into an outline made of triangles
36:151) Load TTF and tesselate the glyphs into an outline made of triangles
37:572) Load TTF and perform implicit rasterization
37:572) Load TTF and perform implicit rasterization
37:572) Load TTF and perform implicit rasterization
41:323) Use prerasterized fonts
41:323) Use prerasterized fonts
41:323) Use prerasterized fonts
43:47Approaching prerasterized fonts
43:47Approaching prerasterized fonts
43:47Approaching prerasterized fonts
47:01Plan for the next episode
47:01Plan for the next episode
47:01Plan for the next episode
49:27Q&A
🗩
49:27Q&A
🗩
49:27Q&A
🗩
49:53ttbjm Aren't there licensing concerns with fonts?
🗪
49:53ttbjm Aren't there licensing concerns with fonts?
🗪
49:53ttbjm Aren't there licensing concerns with fonts?
🗪
53:20gasto5 Will you support Unicode in Handmade Hero?
🗪
53:20gasto5 Will you support Unicode in Handmade Hero?
🗪
53:20gasto5 Will you support Unicode in Handmade Hero?
🗪
53:30graeme7 Could we not pre-rasterise our fonts whenever the resolution is changed / at run time basically?
🗪
53:30graeme7 Could we not pre-rasterise our fonts whenever the resolution is changed / at run time basically?
🗪
53:30graeme7 Could we not pre-rasterise our fonts whenever the resolution is changed / at run time basically?
🗪
54:05qwnepra Will you be writing something using the font before you code the actual font reading etc?
🗪
54:05qwnepra Will you be writing something using the font before you code the actual font reading etc?
🗪
54:05qwnepra Will you be writing something using the font before you code the actual font reading etc?
🗪
54:30abnercoimbre Q: Will classic bitmap fonts remain relevant in the coming years or will we just start flat out with vector fonts forever more?
🗪
54:30abnercoimbre Q: Will classic bitmap fonts remain relevant in the coming years or will we just start flat out with vector fonts forever more?
🗪
54:30abnercoimbre Q: Will classic bitmap fonts remain relevant in the coming years or will we just start flat out with vector fonts forever more?
🗪
55:04themasterofpiggis Are you doing quantum mechanics?
🗪
55:04themasterofpiggis Are you doing quantum mechanics?
🗪
55:04themasterofpiggis Are you doing quantum mechanics?
🗪
55:10breadthofhair Did you ever try making a font yourself?
🗪
55:10breadthofhair Did you ever try making a font yourself?
🗪
55:10breadthofhair Did you ever try making a font yourself?
🗪
55:21XEnDash Will you have unique fonts made for the game?
🗪
55:21XEnDash Will you have unique fonts made for the game?
🗪
55:21XEnDash Will you have unique fonts made for the game?
🗪
55:32SoysauceTheKid If you had multiple font families and were pre-rasterizing them, can you stuff them into one file?
🗪
55:32SoysauceTheKid If you had multiple font families and were pre-rasterizing them, can you stuff them into one file?
🗪
55:32SoysauceTheKid If you had multiple font families and were pre-rasterizing them, can you stuff them into one file?
🗪
55:49RoyBalloons Can I come live with you and you tutor me?
🗪
55:49RoyBalloons Can I come live with you and you tutor me?
🗪
55:49RoyBalloons Can I come live with you and you tutor me?
🗪
55:57insofaras How are combining Unicode characters that some languages have handled?
🗪
55:57insofaras How are combining Unicode characters that some languages have handled?
🗪
55:57insofaras How are combining Unicode characters that some languages have handled?
🗪
56:11Blackboard: Combining glyphs
56:11Blackboard: Combining glyphs
56:11Blackboard: Combining glyphs
58:10Naysayer88 I became a much happier person once I started rasterizing fonts on the fly all the time. So much better
🗪
58:10Naysayer88 I became a much happier person once I started rasterizing fonts on the fly all the time. So much better
🗪
58:10Naysayer88 I became a much happier person once I started rasterizing fonts on the fly all the time. So much better
🗪
58:36XEnDash A bit off-topic, what makes code "publishable"? You said you wouldn't publish the current win32 platform layer. Exactly why not?
🗪
58:36XEnDash A bit off-topic, what makes code "publishable"? You said you wouldn't publish the current win32 platform layer. Exactly why not?
🗪
58:36XEnDash A bit off-topic, what makes code "publishable"? You said you wouldn't publish the current win32 platform layer. Exactly why not?
🗪
59:54quartertron Will you be writing your own pre-rasterizer from scratch, or using a 3rd party tool?
🗪
59:54quartertron Will you be writing your own pre-rasterizer from scratch, or using a 3rd party tool?
🗪
59:54quartertron Will you be writing your own pre-rasterizer from scratch, or using a 3rd party tool?
🗪
1:00:07Naysayer88 In which episode will you implement Unicode skin tone emoji modifiers?
🗪
1:00:07Naysayer88 In which episode will you implement Unicode skin tone emoji modifiers?
🗪
1:00:07Naysayer88 In which episode will you implement Unicode skin tone emoji modifiers?
🗪
1:00:52tuva600 How much time do you spend preparing for each stream?
🗪
1:00:52tuva600 How much time do you spend preparing for each stream?
🗪
1:00:52tuva600 How much time do you spend preparing for each stream?
🗪
1:00:57Dragonkinn02 If you were to have a loot history or story line history - you mentioned 40px - if you wanted to allow users to adjust this UI, would you still do pre-rasterized? At what point would be the threshold for including a proper non-rasterized version?
🗪
1:00:57Dragonkinn02 If you were to have a loot history or story line history - you mentioned 40px - if you wanted to allow users to adjust this UI, would you still do pre-rasterized? At what point would be the threshold for including a proper non-rasterized version?
🗪
1:00:57Dragonkinn02 If you were to have a loot history or story line history - you mentioned 40px - if you wanted to allow users to adjust this UI, would you still do pre-rasterized? At what point would be the threshold for including a proper non-rasterized version?
🗪
1:01:48Miblo The Eulerian method you used for the particle system moves stuff from high density to low density cells, right? Could the Eulerian method be used the other way, e.g. to make something that has gravity and pulls low density stuff towards itself? Also, I wondered if Eulerian simulation could be used for AI systems: maybe having different characters being attracted to or "repelled" by crowds.
🗪
1:01:48Miblo The Eulerian method you used for the particle system moves stuff from high density to low density cells, right? Could the Eulerian method be used the other way, e.g. to make something that has gravity and pulls low density stuff towards itself? Also, I wondered if Eulerian simulation could be used for AI systems: maybe having different characters being attracted to or "repelled" by crowds.
🗪
1:01:48Miblo The Eulerian method you used for the particle system moves stuff from high density to low density cells, right? Could the Eulerian method be used the other way, e.g. to make something that has gravity and pulls low density stuff towards itself? Also, I wondered if Eulerian simulation could be used for AI systems: maybe having different characters being attracted to or "repelled" by crowds.
🗪
1:05:25gasto5 Isn't abuse of text in a game a bad game design idea?
🗪
1:05:25gasto5 Isn't abuse of text in a game a bad game design idea?
🗪
1:05:25gasto5 Isn't abuse of text in a game a bad game design idea?
🗪
1:05:55gasto5 Will you use correct typography terminology for the code or will you be carefree about it?
🗪
1:05:55gasto5 Will you use correct typography terminology for the code or will you be carefree about it?
🗪
1:05:55gasto5 Will you use correct typography terminology for the code or will you be carefree about it?
🗪
1:06:21Robrobby By adding more and more layers of complexity to the engine, do you start to measure and optimize those parts just when FPS is low enough, or when do you usually start with optimization?
🗪
1:06:21Robrobby By adding more and more layers of complexity to the engine, do you start to measure and optimize those parts just when FPS is low enough, or when do you usually start with optimization?
🗪
1:06:21Robrobby By adding more and more layers of complexity to the engine, do you start to measure and optimize those parts just when FPS is low enough, or when do you usually start with optimization?
🗪
1:08:44breadthofhair What do you think is the hardest challenge for you in programming, these days?
🗪
1:08:44breadthofhair What do you think is the hardest challenge for you in programming, these days?
🗪
1:08:44breadthofhair What do you think is the hardest challenge for you in programming, these days?
🗪
1:14:17Naysayer88 The worst part is, you say stuff about these tools being terrible and NOBODY SEEMS TO UNDERSTAND THEY ARE TERRIBLE. Everyone is like, "what do you mean???"
🗪
1:14:17Naysayer88 The worst part is, you say stuff about these tools being terrible and NOBODY SEEMS TO UNDERSTAND THEY ARE TERRIBLE. Everyone is like, "what do you mean???"
🗪
1:14:17Naysayer88 The worst part is, you say stuff about these tools being terrible and NOBODY SEEMS TO UNDERSTAND THEY ARE TERRIBLE. Everyone is like, "what do you mean???"
🗪
1:16:10Anonymous519 Have you considered signed distance fields for text rendering?
🗪
1:16:10Anonymous519 Have you considered signed distance fields for text rendering?
🗪
1:16:10Anonymous519 Have you considered signed distance fields for text rendering?
🗪
1:17:20bkboggy But don't you think you're not being completely fair to the other crowd, who are not going to lower level? For example, I love and care about lower level stuff, but to pay my bills I have to be able to output an application within 10th of the time it would take me if I did everything at lower level. I have no choice but to rely on WPF and C#
🗪
1:17:20bkboggy But don't you think you're not being completely fair to the other crowd, who are not going to lower level? For example, I love and care about lower level stuff, but to pay my bills I have to be able to output an application within 10th of the time it would take me if I did everything at lower level. I have no choice but to rely on WPF and C#
🗪
1:17:20bkboggy But don't you think you're not being completely fair to the other crowd, who are not going to lower level? For example, I love and care about lower level stuff, but to pay my bills I have to be able to output an application within 10th of the time it would take me if I did everything at lower level. I have no choice but to rely on WPF and C#
🗪
1:19:05wolkentreiber It's not enough to see a good tool once to understand that modern tools are bad. I feel like you also need to be a pretty good programmer, which is far from where most of us are now. If you are a mediocre programmer, you won't feel it. Do you agree?
🗪
1:19:05wolkentreiber It's not enough to see a good tool once to understand that modern tools are bad. I feel like you also need to be a pretty good programmer, which is far from where most of us are now. If you are a mediocre programmer, you won't feel it. Do you agree?
🗪
1:19:05wolkentreiber It's not enough to see a good tool once to understand that modern tools are bad. I feel like you also need to be a pretty good programmer, which is far from where most of us are now. If you are a mediocre programmer, you won't feel it. Do you agree?
🗪
1:21:08ThisisAtticus Would you take a job in the mafia if they gave you a perfect version of Emacs and Visual Studio?
🗪
1:21:08ThisisAtticus Would you take a job in the mafia if they gave you a perfect version of Emacs and Visual Studio?
🗪
1:21:08ThisisAtticus Would you take a job in the mafia if they gave you a perfect version of Emacs and Visual Studio?
🗪
1:21:32Close it down
🗩
1:21:32Close it down
🗩
1:21:32Close it down
🗩