the function parseName() in importGedcom.cpp is way too
simple. Although GEDCOM specification of names is itself
too weak, the name parsing function should handle some
distinguishable cases. i.e.
Only the first 3 are handled now (and actually not even
since the code is not multi-byte aware... a different bug).
Even better would be for the code to check if name pieces
are provided, and use these over the ones parsed from the
full name. It still needs to pattern match against the
full name to get and preserve the name order.
Also, genes needs to remember the name order, and preserve
it when displaying names (Chinese, Japanese and Korean
names are always displayed with the surname first).
It might create and save a template, a la,
"%G" == GIVN
"/%S/" == /SURN/
"/%S/%G" == /SURN/GIVN
"%P %G /%p%S/ %s" == NPFX GIVN /SPFX SURN/ NSFX
Commercial genealogy packages (and PAF5) handle this