Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, Sinclair, Вы писали:
S>>АФАИК, глиф составляется из нескольких codepoints только одним способом: все, кроме первого — это combining characters.
vsb>Кажется нет.
vsb>vsb>% m='\xf0\x9f\x91\xa8'
vsb>% f='\xf0\x9f\x91\xa9'
vsb>% c='\xf0\x9f\x91\xa6'
vsb>% z='\xe2\x80\x8d'
vsb>% echo "$m$f$c$m$z$f$z$c"
vsb>👨👩👦👨👩👦
vsb>
Да, точно, нужно ещё учитывать zero-width joiner. И ещё несколько экзотических сценариев

Так что, наверное, всё же придётся таскать за собой ICU.