# Custom Fonts Extension

**URL:** <https://forum.makecode.com/t/custom-fonts-extension/5510>\
**Category:** Show & Tell\
**Tags:** extension\
**Created:** [January 13, 2021, 3:26am UTC](https://forum.makecode.com/t/custom-fonts-extension/5510 "2021-01-13T03:26:30Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![GameGod](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/gamegod/32/2756_2.png) [@GameGod](https://forum.makecode.com/u/GameGod)\
**Post date:** [January 13, 2021, 3:26am UTC](https://forum.makecode.com/t/custom-fonts-extension/5510/1 "2021-01-13T03:26:30Z")

</div>

This extension lets you create custom fonts -

* * *

### rishiporwal/custom-fonts

* * *

Here are the blocks -

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/2X/9/9ccf1eaa5fd40f8b2b3ecdca77aba821d64d63a7.png)

And an example -

> **[Untitled](https://arcade.makecode.com/57384-34928-51189-55785)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

Hope you find this extension useful!

---

<div class="post-metadata">

**Author:** ![GameGod](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/gamegod/32/2756_2.png) [@GameGod](https://forum.makecode.com/u/GameGod)\
**Post date:** [January 13, 2021, 3:59pm UTC](https://forum.makecode.com/t/custom-fonts-extension/5510/2 "2021-01-13T15:59:40Z")

</div>

Are there any other blocks anybody wants in this?

---

<div class="post-metadata">

**Author:** ![shakao](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/shakao/32/113_2.png) [@shakao](https://forum.makecode.com/u/shakao)\
**Post date:** [January 13, 2021, 5:40pm UTC](https://forum.makecode.com/t/custom-fonts-extension/5510/3 "2021-01-13T17:40:52Z")

</div>

Wow!!! This is awesome! 😃 I’m definitely gonna play around with it, but just off the top of my head, some directions you could take this:

- Multiple fonts: instead of a global array of glyphs, a block like `create font named $name`, where each property (letter spacing, glyphs) is attached to that name. My thought here is that someone could create an extension that uses your extension and exports 3 different fonts, eg “Space Font Pack”.
- Resizing the font: this could be a bit of a perf hit, but @jwunderl has an image scaling extension [https://github.com/jwunderl/pxt-scaling](https://github.com/jwunderl/pxt-scaling) that might help
- Font color: also a little tricky in terms of block design since a glyph can have multiple colors. One approach could be to have a block that sets the font’s “base” color (eg black) and your “create image” block could have a color argument where you set all “base” color pixels to that color.
- Case insensitive: some fonts (especially for splash screens!) might be all-caps or all lowercase, so you could have a flag for setting “ignore case \<true\>” where “abc” and “ABC” would both render to the same thing. (Also this means the font creator only has to do half the letters, haha)

You might also consider renaming “create the image of” to “create sprite with text \_\_\_” or even “draw text \_\_\_” like you have in the comment! Something else that could help the blocks. Setting [default values](https://makecode.com/playground#basic-default-values) in your blocks can also help clarify their use, eg "draw text `hello world`" or “set `A` to [image]” might be easier for someone to read at first glance.

Really incredible work, super excited to try this extension out!

---

<div class="post-metadata">

**Author:** ![urassari](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/urassari/32/9535_2.png) [@urassari](https://forum.makecode.com/u/urassari)\
**Post date:** [July 12, 2023, 4:30pm UTC](https://forum.makecode.com/t/custom-fonts-extension/5510/4 "2023-07-12T16:30:50Z")

</div>

not really a block, but could you make this on micro:bit? it would be AWESOME!

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [July 12, 2023, 9:22pm UTC](https://forum.makecode.com/t/custom-fonts-extension/5510/5 "2023-07-12T21:22:03Z")

</div>

Micro:bit has a 5x5 array of LEDs… I don’t see how that would be viable  
Also, @GameGod has unfortuneately been inactive on the forums for a very long time

---

<div class="post-metadata">

**Author:** ![urassari](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/urassari/32/9535_2.png) [@urassari](https://forum.makecode.com/u/urassari)\
**Post date:** [July 13, 2023, 4:36pm UTC](https://forum.makecode.com/t/custom-fonts-extension/5510/6 "2023-07-13T16:36:32Z")

</div>

@Sarge here is all the good uses for it:

non available characters  
fancy text  
emojis  
glyphs

and if he is offline, ill try to do it (and probably fail)

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [July 13, 2023, 9:09pm UTC](https://forum.makecode.com/t/custom-fonts-extension/5510/7 "2023-07-13T21:09:11Z")

</div>

Well, good luck then!

---

<div class="post-metadata">

**Author:** ![frandev](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/frandev/32/27644_2.png) [@frandev](https://forum.makecode.com/u/frandev)\
**Post date:** [August 3, 2023, 5:19pm UTC](https://forum.makecode.com/t/custom-fonts-extension/5510/8 "2023-08-03T17:19:38Z")

</div>

> [@GameGod](#):
>
> ### rishiporwal/custom-fonts

It’s… not working.
