AW: What is the nfd() function really doing?
Stefan Csomor
csomor at advancedconcepts.ch
Fri Apr 15 21:08:16 UTC 2022
Hi Das
It’s about Unicode ‘normal forms’ representing certain symbols, eg in
German we have umlauts like äöü, when they are composed, eg. the ‘a’
and the trema ‘¨’ is 1 single character in Unicode. When they are
decomposed it is 2 characters one ‘a’ and one trema ‘¨’ and they are
visually composed together so that it looks the same as the composed.
The macOS filesystem eg has its filenames always stored decomposed. You
have to know this when comparing filenames as strings, because the
composed and the decomposed ä are not identical, so you have to compare
the strings in the same ‘normal form’.
Hope this clears up things a little bit.
Best Regards,
Stefan
Von: omnisdev-en <omnisdev-en-bounces at lists.omnis-dev.com> im Auftrag
von Das Goravani <goravanis at gmail.com>
Datum: Freitag, 15. April 2022 um 19:59
An: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
Betreff: What is the nfd() function really doing?
What does the nfd() function do in plain common English please?
The online help says:
Carries out the canonical decomposition of the string and returns the
normalized string.
What does that mean, I guess I’m locking up on the term "canonical
decomposition"
I tried looking it up and found that nfd() is a method of decomposing
text characters into their base parts but I don’t understand.
I’m finding this function used in the IMAP Worker Object Demo by Omnis.
They apply nfd() to Mailbox names.
I think mailbox names are really set, small, already "decomposed" as
far as I can tell. Names like
Inbox, Drafts, Trash, Sent items, Spam
Couldn’t get much smaller or different, so I don’t understand
The term is heavily used in Algebra, and is mathematical
Any help appreciated.
Das Goravani
_____________________________________________________________
Manage your list subscriptions at [1]https://lists.omnis-dev.com
Start a new message -> [2]mailto:omnisdev-en at lists.omnis-dev.com
References
1. https://lists.omnis-dev.com/
2. mailto:omnisdev-en at lists.omnis-dev.com
More information about the omnisdev-en
mailing list