diff --git a/content/memex/art/_index.md b/content/memex/art-design/_index.md similarity index 90% rename from content/memex/art/_index.md rename to content/memex/art-design/_index.md index 2767ba10..69f3f95e 100644 --- a/content/memex/art/_index.md +++ b/content/memex/art-design/_index.md @@ -1,7 +1,7 @@ --- -title: Art +title: Art & Design emoji: 🎨 -summary: Making things that you don't need to. +summary: Making things look good for fun. --- {{< openlibrary "9781914236105" >}} diff --git a/content/memex/art-design/fonts.md b/content/memex/art-design/fonts.md new file mode 100644 index 00000000..53adbb51 --- /dev/null +++ b/content/memex/art-design/fonts.md @@ -0,0 +1,22 @@ +--- +title: Fonts +emoji: πŸ”‘ +summary: Instructions for how to turn streams of data into legible writing. +draft: false +--- + +## TTF Fonts + +I've a niggling mini-project to write code to insert new emoji into my mac's system emoji font file. For no good reason than to say that I can, I'm wondering whether I can (for example) show `🍝` + the [zero-width-joiner](#zero-width-joiner) + `🚲` as a newly inserted glyph of [Deliveroo's](https://deliveroo.co.uk) logo. Naturally this wouldn't be useful to anyone except myself (as no-one else would have this glyph), but I'm using it as a way to learn how TrueType Fonts are put together. + +I've found the docs on the [OpenType spec](https://learn.microsoft.com/en-us/typography/opentype/spec/) at Microsoft, as well as the [TrueType reference](https://developer.apple.com/fonts/TrueType-Reference-Manual/) at Apple, but there is _a lot_. I think I need to start with making a trivial font with a tool like [Glyphs](https://glyphsapp.com) (which I used to make [Caspian](/posts/the-beauty-of-type)) or [FontForge](https://fontforge.org/en-US/), and seeing what's created. There is _definitely_ bytecode in the Apple Emoji TTF file… + +## Zero Width Joiner + +The ZWJ is a non-visible unicode character that can be used to link codepoints together into single glyphs or more accurately, as [wikipedia](https://en.wikipedia.org/wiki/Zero-width_joiner) tells me, indicates that the following grapheme is positioned relative to the previous one. + +The classic example for me is the various family emoji, which look like this: πŸ‘¨β€πŸ‘©β€πŸ‘¦β€πŸ‘¦ + +That particular one is `πŸ‘¨` + ZWJ + `πŸ‘©β€πŸ¦°` + ZWJ + `πŸ‘¦` + ZWJ + `πŸ‘¦` β€” so a full 7 multi-byte characters for a single glyph! Then of course you can add skin colour indicators for each of the members of the family, and you can rapidly get to _enormous_ single "characters". + +I saw a post recently that called out the Welsh flag emoji 🏴󠁧󠁒󠁷󠁬󠁳󠁿 as the longest flag, being `🏴` + the letters `gbwls` + `␘`. Designing emoji fonts must be a multi-year effort at this point! diff --git a/content/memex/art/postcards.md b/content/memex/art-design/postcards.md similarity index 100% rename from content/memex/art/postcards.md rename to content/memex/art-design/postcards.md diff --git a/content/memex/art/pottery.md b/content/memex/art-design/pottery.md similarity index 100% rename from content/memex/art/pottery.md rename to content/memex/art-design/pottery.md diff --git a/content/memex/art/spectre.webp b/content/memex/art-design/spectre.webp similarity index 100% rename from content/memex/art/spectre.webp rename to content/memex/art-design/spectre.webp diff --git a/content/memex/art/tiles.md b/content/memex/art-design/tiles.md similarity index 100% rename from content/memex/art/tiles.md rename to content/memex/art-design/tiles.md