@Bob Case folding is for programmatic data, and for example converts both internal and final sigmas to the same codepoint - I only included string lowercasing as it's needed for example to auto-generate command names - text is different
@user202729 Case folding is for 'programmatic' application, upper/lowercasing for text - the problem for LaTeX is \csname ...\endcsname is programmatic but case folding isn't right - people want things like \csname \str_uppercase:n {#1} \str_lowercase:n {#2} \endcsname
Okay I think I did understand it correctly, casefold is used for case-insensitive comparison and case mapping (uppercase/lowercase) is used for display to the user
• Unicode lowercase function is only intended to be used to display to user → okay • LaTeX user want to use lowercase() result to feed to other function → okay, they can
By the way how much should I try to solve question before posting? If I research too much I end up posting a self-answer somehow ("reasonable amount"?)
Also – the ✩ functions can all be implemented as ⋆ right? By moving the result around when dump them at the end (was going to write a main question "is there any ✩ functions that cannot be implemented as a ⋆ function?", but a bit too lazy to write a proof of concept \tl_map_function:nN that is ⋆-expandable)
@user202729 Nothing comes to mind: it's a question of effort but also of performance (making code f-type expandable is quite a bit of work)
@user202729 Bruno's emulation code for \expanded in older engines is of course done using only 'classical' primitives, so it is making stuff e-type expandable
@user202729 \keyval_parse:NNn isn't depending on the surrounding context, as it wraps the results of each element in \exp_not:n you have to pay attention on how to use it. When \expanded is available and you use it everything works out how you want, but without using \expanded yourself you can only make it ⋆ by moving stuff after a marker reliably outside of an e or x expansion context, or you'll have to make sure that your follow-up code is also protected in an \exp_not:n and [...]
[...] your marker isn't expandable (so has meaning \relax or is \protected).
@Skillmon It's doable using the stack if you put in enough effort [I do have some experience of this ;)]: A more important question for me is do we go the other way (faster code) when we decide to require \expanded
@user202729 you would have to not just backwards compatibility, cross engine compatibility would have to go, we are nor really in a position to drop pdflatex, platex, or even xelatex.
What is the english name for the extra white space in a glyph? For example, in the parenthesis that I will paste below, there is some extra white space around the parenthesis that is still inside the box. In Swedish it is "kött", which might be translated into "meat".
Think of the parenthesis as the bone. Then the space around it is the meat.
@barbarabeeton Looking around, it seems as if the open counter is only the space that is in the "convex hull" of the character (in the case of the parenthesis the area beteween the tips that is also from the exterior of the character. (In the case of an o, the interior of the o is called a lake counter it seems.)
@mickep -- No, side bearing is the "extra" space external to the shape of the glyph, giving the space that keeps the visible shape from bashing into whatever is next to it. Picture a piece of metal type.
@mickep presumably early Danish typographers were already used to X-ray photography where the bones show up and flesh is space. Obviously far more advanced than the English.