@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.
@aescling so the problem being solved here is when you have two annotations, they shouldn’t overlap
using Float: Left plus Clear: Left prevents the overlap by making each annotation come after the end of the previous one
however floats normally do this:
text text blah blah blah, blah
┌───┐blah blah blah
│float │blah bleh bloop
└───┘blorg blah.
relative positioning shifts the float until it is in the margin, but it doesn’t affect the space reserved for it in document flow. to take care of that, we add a negative right margin equal to the width of the float, which effectively pulls the surrounding content in from the right, as if the float had no width.
to see, try disabling the Margin-Right in the web inspector. you’ll see the reserved space. disable Position: Relative, and you’ll see where the float would normally be placed.
@aescling lol
@aescling uh, i didn’t look at that when i was writing this, and i’m pretty sure that that didn’t use Grid for sizing the areas (could be wrong), but the technique of using a float with margins that make it effectively 0 width is something i developed for that, yeah
@KitRedgrave @aescling also “kindness” in this case is mostly just a matter of keeping the project scope manageable lol
@KitRedgrave @aescling cutting dependencies is slated for code review, but there are few features in mastodon that nobody needs
@KitRedgrave @aescling right now the only major feature which i am actively interested in developing (and this will be a long‐term project if we do decide to do it) is pseud support; otherwise i would say my priorities are:
• making the code better at what it already does
• documenting the code better
• making mastodon play better with other technologies; reducing the amount of (usually poorly‐documented) mastodon‐specific conventions
• increasing user agency wrt their own data, what they can do with it, and what kind of information they can send out
long‐term i also might want to build a frontend which isn’t react/redux, but i really don’t much care about mastodon frontend development atm
@KitRedgrave @aescling for a walk down to the corner store (a 7‐11); we’ll grab a Slurpee® or maybe a hot chocolate if it’s cold
some quick CSS
html{ Display: Grid; Padding: 0 1REM; Grid: Auto-Flow / 6FR 4FR; Gap: 1REM; Color: #000000; Background: #F0F0F0 }
body{ Display: Block; Position: Relative; Margin-Inline-Start: Auto; Margin-Inline-End: 0; Max-Inline-Size: 38EM; Font: Medium / 1.25 Serif }
ins[role=note]{ Display: Block; Box-Sizing: Border-Box; Float: Left; Clear: Left; Position: Relative; Right: Calc(-100% - 1REM); Margin-Right: Calc(-40% / .6); Border-Block-Start: Thin Solid; Border-Block-End: Thin Solid; Inline-Size: Calc(40% / .6); Padding: 1EM; Color: #8A1C00; Background: #FFFFFF; Text-Decoration: None }
ins[role=note]::before{ Font-Weight: Bold; Content: "※ " }
mark{ Box-Decoration-Break: Clone; Margin: -3PX; Border: 2PX Groove #D58072; Padding: 1PX; Background: #F1CCC0 }
anyway i read a powerpoint from some Ruby presentation on new internationalization features in 2.4 and one of the slides was just titled “Isn't ASCII-only Case Conversion Enough?”
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.
For the time being, this is mostly a mirror of <https://status.ladys.computer/>. Want to get in touch? E·mail me!