diff --git a/ged2site b/ged2site index 5d02ec71..f37989fe 100755 --- a/ged2site +++ b/ged2site @@ -264,7 +264,7 @@ if($opts{'F'}) { my $magick; if($^O eq 'linux') { # Debian lacks ImageMagick-7 - $magick = 'Image::Magick 6.9.12-98'; + $magick = 'Image::Magick 6.9.13-6'; } else { $magick = 'Image::Magick'; } @@ -13965,6 +13965,8 @@ sub person_in_residence_record } # Encode to HTML whatever the non-ascii encoding scheme has been chosen +# Can't use HTML:Entities::encode since that doesn't seem to cope with +# all encodings and misses some characters # # See https://www.compart.com/en/unicode/U+0161 etc. # https://www.compart.com/en/unicode/U+00EB @@ -14036,13 +14038,16 @@ sub wide_to_html $string =~ s/\xc2\xa9/©/g; $string =~ s/\xc2\xae/®/g; $string =~ s/\xc3\x83/Î/g; # Î + $string =~ s/\xc3\x9e/Þ/g; # Þ $string =~ s/\xc3\xa1/á/g; $string =~ s/\xc3\xa2/â/g; $string =~ s/\xc3\xa4/ä/g; $string =~ s/\xc3\xa9/é/g; $string =~ s/\xc3\xad/í/g; # í + $string =~ s/\xc3\xb0/ð/g; # ð $string =~ s/\xc3\xb4/ô/g; # ô $string =~ s/\xc3\xb6/ö/g; + $string =~ s/\xc3\xb8/ø/g; # ø $string =~ s/\xc5\xa1/š/g; $string =~ s/\xc4\x8d/č/g; $string =~ s/\xc5\xbe/ž/g; @@ -14058,9 +14063,11 @@ sub wide_to_html $string =~ s/\xc3\xae/î/g; $string =~ s/\xc3\xbb/û/g; $string =~ s/\xc3\xbc/ü/g; # ü + $string =~ s/\xc3\xbe/þ/g; # þ $string =~ s/\xc5\x9b/ś/g; $string =~ s/\xc5\xa0/Š/g; $string =~ s/\xe2\x80\x93/–/g; + $string =~ s/\xe2\x80\x94/—/g; $string =~ s/\xc3\xb1/ñ/g; # ñ $string =~ s/\xe2\x80\x9c/"/g; $string =~ s/\xe2\x80\x9d/"/g; @@ -14071,6 +14078,7 @@ sub wide_to_html $string =~ s/\N{U+00A9}/©/g; $string =~ s/\N{U+00AE}/®/g; $string =~ s/\N{U+00CE}/Î/g; # Î + $string =~ s/\N{U+00DE}/Þ/g; # Þ $string =~ s/\N{U+0161}/š/g; $string =~ s/\N{U+010D}/č/g; $string =~ s/\N{U+017E}/ž/g; @@ -14085,9 +14093,12 @@ sub wide_to_html $string =~ s/\N{U+00ED}/í/g; # í $string =~ s/\N{U+00EE}/î/g; $string =~ s/\N{U+00E7}/ç/g; # ç + $string =~ s/\N{U+00F0}/ð/g; # ð $string =~ s/\N{U+00F4}/ô/g; # ô $string =~ s/\N{U+00F6}/ö/g; + $string =~ s/\N{U+00F8}/ø/g; # ø $string =~ s/\N{U+00FC}/ü/g; # ü + $string =~ s/\N{U+00FE}/þ/g; # þ $string =~ s/\N{U+00C9}/É/g; $string =~ s/\N{U+00CA}/ê/g; $string =~ s/\N{U+00EB}/ë/g; @@ -14096,6 +14107,7 @@ sub wide_to_html $string =~ s/\N{U+00FB}/û/g; $string =~ s/\N{U+0160}/Š/g; $string =~ s/\N{U+2013}/–/g; + $string =~ s/\N{U+2014}/—/g; $string =~ s/\N{U+201C}/"/g; $string =~ s/\N{U+201D}/"/g; $string =~ s/\N{U+2026}/.../g; # … @@ -14157,6 +14169,7 @@ sub wide_to_html $string =~ s/ç/ç/g; $string =~ s/ê/ê/g; $string =~ s/ë/ë/g; + $string =~ s/ð/ð/g; $string =~ s/í/í/g; $string =~ s/Î/&Iicrc;/g; $string =~ s/©/©/g; @@ -14164,12 +14177,16 @@ sub wide_to_html $string =~ s/ó/ó/g; $string =~ s/ô/ô/g; $string =~ s/ö/ö/g; + $string =~ s/ø/ø/g; $string =~ s/ś/ś/g; + $string =~ s/Þ/Þ/g; + $string =~ s/þ/þ/g; $string =~ s/û/û/g; $string =~ s/ü/ü/g; $string =~ s/£/£/g; $string =~ s/ß/ß/g; $string =~ s/–/–/g; + $string =~ s/—/—/g; $string =~ s/ñ/ñ/g; $string =~ s/“/"/g; $string =~ s/”/"/g; @@ -14197,6 +14214,9 @@ sub wide_to_html while((my @call_details = caller($i++))) { print STDERR "\t", colored($call_details[2] . ' of ' . $call_details[1], 'red'), "\n"; } + complain("TODO: wide_to_html($string)"); + warn "TODO: wide_to_html($string)"; + $string =~ s/[^[:ascii:]]/XXXXX/g; die "BUG: wide_to_html($string)"; } return $string; @@ -14272,16 +14292,21 @@ sub wide_to_xml $string =~ s/ß/ß/g; # ß $string =~ s/í/í/g; # í $string =~ s/î/î/g; + $string =~ s/ð/ð/g; # ð $string =~ s/ü/ü/g; $string =~ s/š/š/g; $string =~ s/û/ô/g; $string =~ s/ö/ö/g; + $string =~ s/ø/ø/g; # ø $string =~ s/ž/ž/g; $string =~ s/Š/Š/g; + $string =~ s/Þ/Þ/g; # Þ + $string =~ s/þ/þ/g; # þ $string =~ s/©/©/g; $string =~ s/®/®/g; $string =~ s/£/£/g; $string =~ s/ñ/ñ/g; + $string =~ s/—/-/g; $string =~ s/–/-/g; if($string !~ /[^[:ascii:]]/) { @@ -14297,20 +14322,24 @@ sub wide_to_xml $string =~ s/\xc2\xae/®/g; $string =~ s/\xc3\x8e/Î/g; # Î $string =~ s/\xc3\xa1/á/g; - $string =~ s/\xc5\xa5/å/g; # å + $string =~ s/\xc3\xa5/å/g; # å $string =~ s/\xc3\xa9/é/g; $string =~ s/\xc3\xb1/ñ/g; # ntilde $string =~ s/\xc5\xa1/š/g; $string =~ s/\xc4\x8d/č/g; $string =~ s/\xc5\xbe/ž/g; # ž $string =~ s/\xc3\x96/Ö/g; # Ö + $string =~ s/\xc3\x9e/Þ/g; # Þ $string =~ s/\xc3\x9f/ß/g; # ß $string =~ s/\xc3\xa2/â/g; # â $string =~ s/\xc3\xad/í/g; # í $string =~ s/\xc3\xa4/ä/g; # ä $string =~ s/\xc3\xa7/ç/g; # ç + $string =~ s/\xc3\xb0/ð/g; # ð $string =~ s/\xc3\xb3/ó/g; # ó + $string =~ s/\xc3\xb8/ø/g; # ø $string =~ s/\xc3\xbc/ü/g; # ü + $string =~ s/\xc3\xbe/þ/g; # þ $string =~ s/\xc3\xa8/è/g; # è $string =~ s/\xc3\xee/î/g; $string =~ s/\xc3\xb4/ô/g; # ô @@ -14322,6 +14351,7 @@ sub wide_to_xml $string =~ s/\xc5\x9b/ś/g; # ś - sacute $string =~ s/\xc5\xa0/Š/g; $string =~ s/\xe2\x80\x93/-/g; + $string =~ s/\xe2\x80\x94/-/g; $string =~ s/\xe2\x80\x9c/"/g; $string =~ s/\xe2\x80\x9d/"/g; $string =~ s/\xe2\x80\xa6/.../g; @@ -14335,11 +14365,13 @@ sub wide_to_xml $string =~ s/\N{U+010D}/č/g; $string =~ s/\N{U+00AE}/®/g; # ® $string =~ s/\N{U+00CE}/Î/g; # Î + $string =~ s/\N{U+00DE}/Þ/g; # Þ $string =~ s/\N{U+00E4}/ä/g; # ä $string =~ s/\N{U+00E5}/å/g; # å $string =~ s/\N{U+00EA}/ê/g; $string =~ s/\N{U+00ED}/í/g; $string =~ s/\N{U+00EE}/î/g; + $string =~ s/\N{U+00FE}/þ/g; # þ $string =~ s/\N{U+00C9}/É/g; $string =~ s/\N{U+017E}/ž/g; # ž $string =~ s/\N{U+00D6}/Ö/g; # Ö @@ -14347,10 +14379,12 @@ sub wide_to_xml $string =~ s/\N{U+00E1}/á/g; # á - aacute $string =~ s/\N{U+00E2}/â/g; $string =~ s/\N{U+00E8}/è/g; # è + $string =~ s/\N{U+00F0}/ð/g; # ð $string =~ s/\N{U+00F1}/ñ/g; # ñ $string =~ s/\N{U+00F3}/ó/g; # ó $string =~ s/\N{U+00F4}/ô/g; # ô $string =~ s/\N{U+00F6}/ö/g; # ö + $string =~ s/\N{U+00F8}/ø/g; # ø $string =~ s/\N{U+00FC}/ü/g; # ü $string =~ s/\N{U+015B}/ś/g; # ś # print STDERR __LINE__, ": ($string)"; @@ -14370,6 +14404,7 @@ sub wide_to_xml # print STDERR (sprintf '%v02X', $string); # print STDERR "\n"; $string =~ s/\N{U+2013}/-/g; + $string =~ s/\N{U+2014}/-/g; $string =~ s/\N{U+201C}/"/g; $string =~ s/\N{U+201D}/"/g; $string =~ s/\N{U+2026}/.../g; # … @@ -14414,11 +14449,16 @@ sub wide_to_xml $string =~ s/ë/ë/g; $string =~ s/í/í/g; $string =~ s/Î/Î/g; # Î + $string =~ s/Þ/Þ/g; # Þ + $string =~ s/ð/ð/g; # ð + $string =~ s/ø/ø/g; # ø $string =~ s/û/û/g; $string =~ s/ñ/ñ/g; $string =~ s/ü/ü/g; + $string =~ s/þ/þ/g; # þ $string =~ s/“/"/g; $string =~ s/”/"/g; + $string =~ s/—/-/g; $string =~ s/…/.../g; $string =~ tr/\x80/ /; @@ -14436,7 +14476,7 @@ sub wide_to_xml # print STDERR __LINE__, ": ($string)\n"; if($string =~ /[^[:ascii:]]/) { - die "BUG: wide_to_html($string)"; + die "BUG: wide_to_xml($string)"; } return $string; }