localedata: Make IBM273 compatible with ISO-8859-1 [BZ #23290]

Message ID 20180614191115.62A754016AD37@oldenburg.str.redhat.com
State New
Headers show
Series
  • localedata: Make IBM273 compatible with ISO-8859-1 [BZ #23290]
Related show

Commit Message

Florian Weimer June 14, 2018, 7:11 p.m.
2018-06-14  Florian Weimer  <fweimer@redhat.com>

	[BZ #23290]
	* localedata/charmaps/IBM273: Map codepoint 0xbc to U+00AF, so
	that the result stays within the ISO-8859-1 range.
	* iconvdata/ibm273.c (HAS_HOLES): Define as 0 because all 256
	characters are defined in IBM273.

Comments

Carlos O'Donell June 14, 2018, 7:37 p.m. | #1
On 06/14/2018 03:11 PM, Florian Weimer wrote:
> 2018-06-14  Florian Weimer  <fweimer@redhat.com>

> 

> 	[BZ #23290]

> 	* localedata/charmaps/IBM273: Map codepoint 0xbc to U+00AF, so

> 	that the result stays within the ISO-8859-1 range.

> 	* iconvdata/ibm273.c (HAS_HOLES): Define as 0 because all 256

> 	characters are defined in IBM273.

OK with s/OVERLINE/MACRON/g in the charmap.

I reviewed:
ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00273.pdf
just to see if macron/overline was expected and it was. I expect what you see
there, being slightly narrower than fullwidth, is a macron.

My review shows that the *intent* of IBM273 was to stay within Latin1, and
using "OVERLINE" <U203E> goes against that intent when MACRON is fine.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>


> diff --git a/iconvdata/ibm273.c b/iconvdata/ibm273.c

> index c303cf306d..132c06f0eb 100644

> --- a/iconvdata/ibm273.c

> +++ b/iconvdata/ibm273.c

> @@ -23,6 +23,6 @@

>  #define TABLES <ibm273.h>

>  

>  #define CHARSET_NAME	"IBM273//"

> -#define HAS_HOLES	1	/* Not all 256 character are defined.  */

> +#define HAS_HOLES	0

>  

>  #include <8bit-gap.c>

> diff --git a/localedata/charmaps/IBM273 b/localedata/charmaps/IBM273

> index c3f70e2a6f..233d0db57d 100644

> --- a/localedata/charmaps/IBM273

> +++ b/localedata/charmaps/IBM273

> @@ -194,7 +194,7 @@ CHARMAP

>  <U00BE>     /xb9         VULGAR FRACTION THREE QUARTERS

>  <U00AC>     /xba         NOT SIGN

>  <U007C>     /xbb         VERTICAL LINE

> -<U203E>     /xbc         OVERLINE

> +<U00AF>     /xbc         OVERLINE


This is no longer OVERLINE but MACRON, which is in theory
slightly narrower, but still fits the description of the
codepage.

>  <U00A8>     /xbd         DIAERESIS

>  <U00B4>     /xbe         ACUTE ACCENT

>  <U00D7>     /xbf         MULTIPLICATION SIGN

> 


c.

Patch

diff --git a/iconvdata/ibm273.c b/iconvdata/ibm273.c
index c303cf306d..132c06f0eb 100644
--- a/iconvdata/ibm273.c
+++ b/iconvdata/ibm273.c
@@ -23,6 +23,6 @@ 
 #define TABLES <ibm273.h>
 
 #define CHARSET_NAME	"IBM273//"
-#define HAS_HOLES	1	/* Not all 256 character are defined.  */
+#define HAS_HOLES	0
 
 #include <8bit-gap.c>
diff --git a/localedata/charmaps/IBM273 b/localedata/charmaps/IBM273
index c3f70e2a6f..233d0db57d 100644
--- a/localedata/charmaps/IBM273
+++ b/localedata/charmaps/IBM273
@@ -194,7 +194,7 @@  CHARMAP
 <U00BE>     /xb9         VULGAR FRACTION THREE QUARTERS
 <U00AC>     /xba         NOT SIGN
 <U007C>     /xbb         VERTICAL LINE
-<U203E>     /xbc         OVERLINE
+<U00AF>     /xbc         OVERLINE
 <U00A8>     /xbd         DIAERESIS
 <U00B4>     /xbe         ACUTE ACCENT
 <U00D7>     /xbf         MULTIPLICATION SIGN