[tz] [PROPOSED PATCH 3/3] tzselect now uses UTF-8 if available

random832 at fastmail.us random832 at fastmail.us
Sun May 3 16:49:53 UTC 2015


Using a UTF-8 locale won't work if the terminal isn't UTF-8. It should
be piping utf-8 output through iconv -f utf-8 and using the user's
locale.

If the user has a UTF-8 terminal but no UTF-8 locale, that's the user's
problem.

On Sun, May 3, 2015, at 02:25, Paul Eggert wrote:
> * NEWS: Document this.
> * tzselect.ksh (utf8_locale): New var.
> Use it to select a UTF-8 locale if available.
> ---
>  NEWS         |  4 ++++
>  tzselect.ksh | 12 ++++++++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/NEWS b/NEWS
> index 407258d..b77cd03 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -7,6 +7,10 @@ Unreleased, experimental changes
>      The file 'iso3166.tab' now uses UTF-8, so that its entries can
>      better
>      spell the names of Åland Islands, Côte d'Ivoire, and Réunion.
>  
> +  Changes affecting code
> +
> +    tzselect aligns UTF-8 columns better, if a UTF-8 locale is
> available.
> +
>  
>  Release 2015d - 2015-04-24 08:09:46 -0700
>  
> diff --git a/tzselect.ksh b/tzselect.ksh
> index 3acdebd..b288cdf 100644
> --- a/tzselect.ksh
> +++ b/tzselect.ksh
> @@ -44,6 +44,18 @@ REPORT_BUGS_TO=tz at iana.org
>  	exit 1
>  }
>  
> +# Use a UTF-8 locale if available, as the data contain UTF-8,
> +# and the shell aligns columns better that way.
> +# Check the UTF-8 of U+12345 CUNEIFORM SIGN URU TIMES KI.
> +utf8_locale='BEGIN { u12345 = "\360\222\215\205"; exit length(u12345) !=
> 1 }'
> +$AWK "$utf8_locale" ||
> +    for locale in en_US.utf8 en_US.UTF-8 C.utf8; do
> +       (LC_ALL=$locale $AWK "$utf8_locale") 2>/dev/null && {
> +           export LC_ALL=$locale
> +           break
> +       }
> +    done
> +
>  coord=
>  location_limit=10
>  zonetabtype=zone1970
> -- 
> 2.1.4
> 


-- 
Random832


More information about the tz mailing list