New in Unicode 14.0
a bunch of historical scripts, plus:
• Toto, a very new script (2015!) for writing the Toto language (previously, Toto was written in the Bengali script).
• Vithkuqi, an older script for writing Albanian, which fell out of use because the guy who invented it died. It is now being revived! Most of the contemporary evidence provided in the proposal comes in the form of tattoos.
• Tangsa, a new script which has been under development since 1990 for writing the Tangsa languages.
New in Unicode 14.0
The entire Latin Extended-F block (U+10780..U+107BF), which contains extended IPA characters and characters for VoQS. Mostly it’s a bunch of modifier letter (subscript) versions of existing IPA symbols.
i’ve got a thing to finish up rn but i’ll take a look at recent additions / etc after i’m done
re: technology hot take
@ljwrites Yeah the original fediverse federation protocol was called OStatus, and was just Atom + Salmon (thing to inform servers of new posts / favourites / etc in real time) + Portable Contacts (extra metadata for defining accounts).
It was replaced by ActivityPub to address the following failings:
1. OStatus was an amalgamation of specifications which weren’t necessarily designed with each other in mind. ActivityPub is one specification and easier to implement.
2. Atom is very verbose, which isn’t a problem for things like blog posts, but it’s a little awkward to be sending this huge chunk of data for a post which just says “awoo”.
3. Atom (and OStatus) were only ever designed with public, general‐use internet publishing in mind, and didn’t have mechanisms for designating the intended audience of a post, which is important for social media. ActivityPub has to, cc, and bcc fields, the same as email.
If you don’t make frequent (multiple times an hour) short posts, don’t care about designating a specific audience, and don’t need the real‐time aspects of social media (like favourites), Atom is still a better solution. We’re just in an awkward place where most people publishing to the internet right now expect at least one of those things.
technology hot take
@ljwrites you know… the fediverse was originally built on Atom lol
you may not think this is an important issue, and the first post might be a bit misleading (since i would much rather have a locale-independent solution than a locale-dependent one), but personally i think it is VERY important
hey eugen stop programming Mastodon for iOS for a second and fix my very important issue https://github.com/mastodon/mastodon/issues/16727
@aescling i'd do at-everyone as like a 👥 sigil, and have it imply local-only and be opt-out for receiving posts
some further fleshed‐out CSS
html{ Display: Grid; Padding-Block-Start: 2REM; Padding-Block-End: 4REM; Padding-Inline-Start: 1REM; Padding-Inline-End: 1REM; Grid: Auto-Flow / 6FR 4FR; Gap: 1REM; Color: #000000; Background: #F0F0F0 }
body{ Display: Block; Padding-Block-Start: 6REM; Position: Relative; Margin-Inline-Start: Auto; Margin-Inline-End: 0; Max-Inline-Size: 38EM; Font: Medium / 1.25 Serif; Counter-Reset: SECTION }
body::after{ Display: Block; Clear: Both; Content: "" }
h1,
body>p:First-Child::before{ Display: Block; Margin-Block-Start: 2REM; Margin-Block-End: 2REM; Block-Size: 4REM; Opacity: .75; Font-Size: 3.2REM; Line-Height: 1.25; White-Space: Pre; Text-Align: Center }
body>h1:First-Child,
body>p:First-Child::before{ Position: Absolute; Inset-Block-Start: 0; Inset-Inline-Start: 0; Inset-Inline-End: 0; Margin-Block-Start: 0 }
body>p:First-Child::before{ Content: "…" }
p{ Margin: 0; Text-Align: Justify }
p+p{ Margin-Block-Start: 1EM }
ins[role=note]{ Display: Block; Box-Sizing: Border-Box; Margin-Block-Start: 1REM; Margin-Block-End: 1REM; Border-Block-Start: Thin Solid; Border-Block-End: Thin Solid; Padding: 1EM; Color: #8A1C00; Background: #FFFFFF; Text-Align: Justify; Text-Decoration: None; Counter-Increment: UNNOTE }
p>ins[role=note]{ Float: Left /* compatibility */; Float: Inline-Start; Clear: Left /* compatibility */; Clear: Inline-Start; Position: Relative; Inset-Inline-End: Calc(-100% - 1REM); Margin-Block-Start: 0; Margin-Block-End: 0; Margin-Inline-End: Calc(-40% / .6); Inline-Size: Calc(40% / .6); Counter-Increment: None }
ins[role=note]::before{ Display: Inline-Block; Margin-Inline-End: .5EM; Min-Inline-Size: 3EM; Background: #F1CCC0; Font-Weight: Bold; Text-Align: Center; Content: "§" Counter(SECTION) ":" Counter(UNNOTE, Upper-Alpha) }
mark+ins[role=note]::before{ Content: "§" Counter(SECTION) ":" Counter(NOTE) }
mark{ Box-Decoration-Break: Clone; Margin: -3PX; Border: 2PX Groove #D58072; Padding: 1PX; Background: #F1CCC0; Counter-Increment: NOTE }
mark::after{ Font-Size: .6EM; Font-Weight: Bold; Line-Height: 1; Vertical-Align: Super; Content: " " Counter(NOTE) }
body>*:First-Child,
hr{ Counter-Increment: SECTION; Counter-Reset: NOTE UNNOTE }
@KitRedgrave unfortunately the best solution for that in 2021 is probably <del>embedded SVG</del><ins>custom emoji</ins>
@KitRedgrave in more length: ZWJ basically means “form ligature here”. thinking of 🧑🌾 as a ligature of 🧑 and 🌾 kind of makes sense; it’s certainly not the most elegant solution, and it was chosen more for political/temporal reasons than accuracy ones (basically, vendors wanted to add a bunch of emoji without waiting for the next Unicode release, and it was questionable whether a lot of those characters would pass muster for atomic encoding anyway. so they defined ligatures between existing characters, and Unicode standardized those).
but the demicolon isn’t a ligature of two semicolons (it doesn’t have the same meaning, and if you showed someone a demicolon, they wouldn’t say “ah yes, that’s two semicolons right there”). plus, forming ligatures from punctuation marks like that doesn’t have any precedent and would be difficult to document. (emoji have a separate data file of sequences, but that’s generally not true for ordinary characters.) it’s its own punctuation mark, so an atomic encoding is best.
that said, there is no rule against fonts encoding their own ligatures above and beyond those defined in unicode. whether encoding demicolon as a ligature of two semicolons is preferable largely depends on what fallback behaviour you want if the font isn’t installed: is a fallback of two semicolons desired? or would you rather use a private‐use character, and make it explicit that it’s not a character with an assigned codepoint in the unicode standard?
@KitRedgrave which, i’m all for fonts doing that
@KitRedgrave they’d just encode it atomically; two zwidged semicolons would be a font easter egg more than a unicode one
@aescling (note that the size of annotations isn’t zero, it’s Calc(40% / .6). but the size that annotations take up *in their containing element* is zero, because that width is followed by a negative margin which offsets it.)
@aescling the explicit width of the element (in this example, i wrote this `Inline-Size: Calc(40% / .6)`). this trick only works for annotations of a width predictable from the surrounding context; you can’t use it with annotations whose widths depend on their own contents.
Administrator / Public Relations for GlitchCat. Not actually glitchy, nor a cat. I wrote the rules for this instance.
“Constitutionally incapable of not going hard” — @aescling
“Fedi Cassandra” – @Satsuma
I HAVE EXPERIENCE IN THINGS. YOU CAN JUST @ ME.
I work for a library but I post about Zelda fanfiction.