diff --git a/src/plugins/webreport/NarrativeWeb.py b/src/plugins/webreport/NarrativeWeb.py index 1cec9abbe..6549d1437 100644 --- a/src/plugins/webreport/NarrativeWeb.py +++ b/src/plugins/webreport/NarrativeWeb.py @@ -1041,7 +1041,7 @@ class PlaceListPage(BasePage): if not n: continue - letter = normalize('NFC', n)[0].upper() + letter = normalize('NFKD', n)[0].upper() if letter != last_letter: last_letter = letter @@ -1481,7 +1481,7 @@ class SurnameListPage(BasePage): # Get a capital normalized version of the first letter of # the surname - letter = normalize('NFC', surname)[0].upper() + letter = normalize('NFKD', surname)[0].upper() if letter is not last_letter: last_letter = letter @@ -2068,16 +2068,40 @@ class IndividualPage(BasePage): for name in [primary_name] + self.person.get_alternate_names(): pname = _nd.display_name(name) pname += self.get_citation_links( name.get_source_references() ) - of.write('\t\t\t\n') - type_ = str( name.get_type() ) - # if name is equal to birth name, do not re-print it??? - if type_ == "Birth Name": - of.write('\t\t\t\t%s\n' % _('Name Type')) - of.write('\t\t\t\t%s\n' % type_) - else: - of.write('\t\t\t\t%s\n' % type_) - of.write('\t\t\t\t%s\n' % pname) + # if we have just a firstname, then the name is preceeded by ", " + # which doesn't exactly look very nice printed on the web page + if pname[:2] == ', ': + pname = pname[2:] + + type_ = str( name.get_type() ) + of.write('\t\t\t\n') + of.write('\t\t\t\t%s\n' % type_) + of.write('\t\t\t\t%s\n' % pname) + of.write('\t\t\t\n') + + # display call names + first_name = primary_name.get_first_name() + for name in [primary_name] + self.person.get_alternate_names(): + call_name = name.get_call_name() + if call_name and call_name != first_name: + call_name += self.get_citation_links( name.get_source_references() ) + of.write('\t\t\t\n') + of.write('\t\t\t\t%s\n' + % _('Name')) + of.write('\t\t\t\t%s\n' + % call_name) + of.write('\t\t\t\n') + + # display the nickname attribute + nick_name = self.person.get_nick_name() + if nick_name and nick_name != first_name: + nick_name += self.get_citation_links( self.person.get_source_references() ) + of.write('\t\t\t\n') + of.write('\t\t\t\t%s\n' + % _('Name')) + of.write('\t\t\t\t%s\n' + % nick_name) of.write('\t\t\t\n') # GRAMPS ID @@ -2087,23 +2111,6 @@ class IndividualPage(BasePage): of.write('\t\t\t\t%s\n' % self.person.gramps_id) of.write('\t\t\t\n') - # Nick Name, if there is one??? - nick_name = False - nick = self.person.get_nick_name() - call_name = primary_name.get_call_name() - first_name = primary_name.get_first_name() - - # if (nick and call_name) != first_name??? - if (nick is not first_name and call_name is not first_name): - nick_name = True - - if nick_name: - if call_name: - of.write('\t\t\t\t%s\n' - % _('Nick Name')) - of.write('\t\t\t\t%s\n' % call_name) - of.write('\t\t\t\n') - # Gender of.write('\t\t\t\n') of.write('\t\t\t\t%s\n' % _('Gender'))