On 30/06/2014 09:22, Joseph Wright wrote: > To support case-changing operations in expl3, the team some time ago > added an experimental pair > \tl_expandable_uppercase:n/\tl_expandable_lowercase:n as alternatives to > \tl_to_uppercase:n/\tl_to_lowercase:n. While the expandable operations > are useful, there are issues both in terms of naming (solvable) and > functionality (more complex). In particular, they cover only the ASCII > range and do not offer some of the context-sensitive case changing that > is required for languages other than English. > > In order to address this, we have now added a new set of experimental > functions to l3candidates: > > - \tl_upper_case:n(n) > - \tl_lower_case:n(n) > - \tl_mixed_case:n(n) A question raised elsewhere (http://chat.stackexchange.com/transcript/message/16351207#16351207) is of course whether "tl" is the right place for such functions at all. It's arguable that they can be regarded a "text" functions, so perhaps a "text manipulation" module would be a better location. That does not of course preclude discussing the detail of how they should also work, but may be worth consideration. Feedback here also welcome! -- Joseph Wright