[PATCH 3/6] generated character data for libc/ctype

Thomas Wolff towo@towo.net
Wed Mar 7 23:20:00 GMT 2018


-------------- next part --------------
From 15999d30c011be9041821456d23807249981dd86 Mon Sep 17 00:00:00 2001
From: Thomas Wolff <towo@towo.net>
Date: Sun, 25 Feb 2018 17:11:44 +0100
Subject: [PATCH 3/6] remove hard-coded character data

---
 newlib/libc/ctype/iswalpha.c  | 439 --------------------------------
 newlib/libc/ctype/iswprint.c  | 501 ------------------------------------
 newlib/libc/ctype/towlower.c  | 575 ------------------------------------------
 newlib/libc/ctype/utf8alpha.h | 355 --------------------------
 newlib/libc/ctype/utf8print.h | 389 ----------------------------
 5 files changed, 2259 deletions(-)
 delete mode 100644 newlib/libc/ctype/iswalpha.c
 delete mode 100644 newlib/libc/ctype/iswprint.c
 delete mode 100644 newlib/libc/ctype/towlower.c
 delete mode 100644 newlib/libc/ctype/utf8alpha.h
 delete mode 100644 newlib/libc/ctype/utf8print.h

diff --git a/newlib/libc/ctype/iswalpha.c b/newlib/libc/ctype/iswalpha.c
deleted file mode 100644
index 2906cd1..0000000
--- a/newlib/libc/ctype/iswalpha.c
+++ /dev/null
@@ -1,439 +0,0 @@
-/* Copyright (c) 2002 Red Hat Incorporated.
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-     Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-
-     Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-
-     The name of Red Hat Incorporated may not be used to endorse
-     or promote products derived from this software without specific
-     prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS   
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-FUNCTION
-	<<iswalpha>>, <<iswalpha_l>>---alphabetic wide character test
-
-INDEX
-	iswalpha
-
-INDEX
-	iswalpha_l
-
-SYNOPSIS
-	#include <wctype.h>
-	int iswalpha(wint_t <[c]>);
-
-	#include <wctype.h>
-	int iswalpha_l(wint_t <[c]>, locale_t <[locale]>);
-
-DESCRIPTION
-<<iswalpha>> is a function which classifies wide-character values that
-are alphabetic.
-
-<<iswalpha_l>> is like <<iswalpha>> but performs the check based on the
-locale specified by the locale object locale.  If <[locale]> is
-LC_GLOBAL_LOCALE or not a valid locale object, the behaviour is undefined.
-
-RETURNS
-<<iswalpha>>, <<iswalpha_l>> return non-zero if <[c]> is an alphabetic
-wide character.
-
-PORTABILITY
-<<iswalpha>> is C99.
-<<iswalpha_l>> is POSIX-1.2008.
-
-No supporting OS subroutines are required.
-*/
-#include <_ansi.h>
-#include <newlib.h>
-#include <wctype.h>
-#include <string.h>
-#include <ctype.h>
-#include "local.h"
-
-#ifdef _MB_CAPABLE
-#include "utf8alpha.h"
-#endif /* _MB_CAPABLE */
-
-int
-iswalpha (wint_t c)
-{
-#ifdef _MB_CAPABLE
-  unsigned const char *table;
-  unsigned char *ptr;
-  unsigned char ctmp;
-  int size;
-  wint_t x;
-
-  c = _jp2uc (c);
-
-  /* Based on and tested against Unicode 5.2
-     See utf8alpha.h for a description how to fetch the data. */
-  x = (c >> 8);
-  /* for some large sections, all characters are alphabetic so handle them here */
-  if ((x >= 0x34 && x <= 0x4c) ||
-      (x >= 0x4e && x <= 0x9e) ||
-      (x >= 0xac && x <= 0xd6) ||
-      (x >= 0x120 && x <= 0x122) ||
-      (x >= 0x130 && x <= 0x133) ||
-      (x >= 0x200 && x <= 0x2a5) ||
-      (x >= 0x2a7 && x <= 0x2b6))
-    return 1;
-  
-  switch (x)
-    {
-    case 0x00:
-      table = u0;
-      size = sizeof(u0);
-      break;
-    case 0x01:
-    case 0x11:
-    case 0x15:
-    case 0x1e:
-    case 0xa0:
-    case 0xa1:
-    case 0xa2:
-    case 0xa3:
-    case 0xa5:
-    case 0xf9:
-    case 0xfc:
-    case 0x2f8:
-    case 0x2f9:
-      return 1;
-    case 0x02:
-      table = u2;
-      size = sizeof(u2);
-      break;
-    case 0x03:
-      table = u3;
-      size = sizeof(u3);
-      break;
-    case 0x04:
-      table = u4;
-      size = sizeof(u4);
-      break;
-    case 0x05:
-      table = u5;
-      size = sizeof(u5);
-      break;
-    case 0x06:
-      table = u6;
-      size = sizeof(u6);
-      break;
-    case 0x07:
-      table = u7;
-      size = sizeof(u7);
-      break;
-    case 0x08:
-      table = u8;
-      size = sizeof(u8);
-      break;
-    case 0x09:
-      table = u9;
-      size = sizeof(u9);
-      break;
-    case 0x0a:
-      table = ua;
-      size = sizeof(ua);
-      break;
-    case 0x0b:
-      table = ub;
-      size = sizeof(ub);
-      break;
-    case 0x0c:
-      table = uc;
-      size = sizeof(uc);
-      break;
-    case 0x0d:
-      table = ud;
-      size = sizeof(ud);
-      break;
-    case 0x0e:
-      table = ue;
-      size = sizeof(ue);
-      break;
-    case 0x0f:
-      table = uf;
-      size = sizeof(uf);
-      break;
-    case 0x10:
-      table = u10;
-      size = sizeof(u10);
-      break;
-    case 0x12:
-      table = u12;
-      size = sizeof(u12);
-      break;
-    case 0x13:
-      table = u13;
-      size = sizeof(u13);
-      break;
-    case 0x14:
-      table = u14;
-      size = sizeof(u14);
-      break;
-    case 0x16:
-      table = u16;
-      size = sizeof(u16);
-      break;
-    case 0x17:
-      table = u17;
-      size = sizeof(u17);
-      break;
-    case 0x18:
-      table = u18;
-      size = sizeof(u18);
-      break;
-    case 0x19:
-      table = u19;
-      size = sizeof(u19);
-      break;
-    case 0x1a:
-      table = u1a;
-      size = sizeof(u1a);
-      break;
-    case 0x1b:
-      table = u1b;
-      size = sizeof(u1b);
-      break;
-    case 0x1c:
-      table = u1c;
-      size = sizeof(u1c);
-      break;
-    case 0x1d:
-      table = u1d;
-      size = sizeof(u1d);
-      break;
-    case 0x1f:
-      table = u1f;
-      size = sizeof(u1f);
-      break;
-    case 0x20:
-      table = u20;
-      size = sizeof(u20);
-      break;
-    case 0x21:
-      table = u21;
-      size = sizeof(u21);
-      break;
-    case 0x24:
-      table = u24;
-      size = sizeof(u24);
-      break;
-    case 0x2c:
-      table = u2c;
-      size = sizeof(u2c);
-      break;
-    case 0x2d:
-      table = u2d;
-      size = sizeof(u2d);
-      break;
-    case 0x2e:
-      table = u2e;
-      size = sizeof(u2e);
-      break;
-    case 0x30:
-      table = u30;
-      size = sizeof(u30);
-      break;
-    case 0x31:
-      table = u31;
-      size = sizeof(u31);
-      break;
-    case 0x4d:
-      table = u4d;
-      size = sizeof(u4d);
-      break;
-    case 0x9f:
-      table = u9f;
-      size = sizeof(u9f);
-      break;
-    case 0xa4:
-      table = ua4;
-      size = sizeof(ua4);
-      break;
-    case 0xa6:
-      table = ua6;
-      size = sizeof(ua6);
-      break;
-    case 0xa7:
-      table = ua7;
-      size = sizeof(ua7);
-      break;
-    case 0xa8:
-      table = ua8;
-      size = sizeof(ua8);
-      break;
-    case 0xa9:
-      table = ua9;
-      size = sizeof(ua9);
-      break;
-    case 0xaa:
-      table = uaa;
-      size = sizeof(uaa);
-      break;
-    case 0xab:
-      table = uab;
-      size = sizeof(uab);
-      break;
-    case 0xd7:
-      table = ud7;
-      size = sizeof(ud7);
-      break;
-    case 0xfa:
-      table = ufa;
-      size = sizeof(ufa);
-      break;
-    case 0xfb:
-      table = ufb;
-      size = sizeof(ufb);
-      break;
-    case 0xfd:
-      table = ufd;
-      size = sizeof(ufd);
-      break;
-    case 0xfe:
-      table = ufe;
-      size = sizeof(ufe);
-      break;
-    case 0xff:
-      table = uff;
-      size = sizeof(uff);
-      break;
-    case 0x100:
-      table = u100;
-      size = sizeof(u100);
-      break;
-    case 0x101:
-      table = u101;
-      size = sizeof(u101);
-      break;
-    case 0x102:
-      table = u102;
-      size = sizeof(u102);
-      break;
-    case 0x103:
-      table = u103;
-      size = sizeof(u103);
-      break;
-    case 0x104:
-      table = u104;
-      size = sizeof(u104);
-      break;
-    case 0x108:
-      table = u108;
-      size = sizeof(u108);
-      break;
-    case 0x109:
-      table = u109;
-      size = sizeof(u109);
-      break;
-    case 0x10a:
-      table = u10a;
-      size = sizeof(u10a);
-      break;
-    case 0x10b:
-      table = u10b;
-      size = sizeof(u10b);
-      break;
-    case 0x10c:
-      table = u10c;
-      size = sizeof(u10c);
-      break;
-    case 0x110:
-      table = u110;
-      size = sizeof(u110);
-      break;
-    case 0x123:
-      table = u123;
-      size = sizeof(u123);
-      break;
-    case 0x124:
-      table = u124;
-      size = sizeof(u124);
-      break;
-    case 0x134:
-      table = u134;
-      size = sizeof(u134);
-      break;
-    case 0x1d4:
-      table = u1d4;
-      size = sizeof(u1d4);
-      break;
-    case 0x1d5:
-      table = u1d5;
-      size = sizeof(u1d5);
-      break;
-    case 0x1d6:
-      table = u1d6;
-      size = sizeof(u1d6);
-      break;
-    case 0x1d7:
-      table = u1d7;
-      size = sizeof(u1d7);
-      break;
-    case 0x1f1:
-      table = u1f1;
-      size = sizeof(u1f1);
-      break;
-    case 0x2a6:
-      table = u2a6;
-      size = sizeof(u2a6);
-      break;
-    case 0x2b7:
-      table = u2b7;
-      size = sizeof(u2b7);
-      break;
-    case 0x2fa:
-      table = u2fa;
-      size = sizeof(u2fa);
-      break;
-    default:
-      return 0;
-    }
-  /* we have narrowed down to a section of 256 characters to check */
-  /* now check if c matches the alphabetic wide-chars within that section */
-  ptr = (unsigned char *)table;
-  ctmp = (unsigned char)c;
-  while (ptr < table + size)
-    {
-      if (ctmp == *ptr)
-	return 1;
-      if (ctmp < *ptr)
-	return 0;
-      /* otherwise c > *ptr */
-      /* look for 0x0 as next element which indicates a range */
-      ++ptr;
-      if (ptr < table + size - 1 && *ptr == 0x0)
-	{
-	  /* we have a range..see if c falls within range */
-	  ++ptr;
-	  if (ctmp <= *ptr)
-	    return 1;
-	  ++ptr;
-	}
-    }
-  /* not in table */
-  return 0;
-#else
-  return (c < (wint_t)0x100 ? isalpha (c) : 0);
-#endif /* _MB_CAPABLE */
-}
diff --git a/newlib/libc/ctype/iswprint.c b/newlib/libc/ctype/iswprint.c
deleted file mode 100644
index c6050b5..0000000
--- a/newlib/libc/ctype/iswprint.c
+++ /dev/null
@@ -1,501 +0,0 @@
-/* Copyright (c) 2002 Red Hat Incorporated.
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-     Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-
-     Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-
-     The name of Red Hat Incorporated may not be used to endorse
-     or promote products derived from this software without specific
-     prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS   
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-FUNCTION
-	<<iswprint>>, <<iswprint_l>>---printable wide character test
-
-INDEX
-	iswprint
-
-INDEX
-	iswprint_l
-
-SYNOPSIS
-	#include <wctype.h>
-	int iswprint(wint_t <[c]>);
-
-	#include <wctype.h>
-	int iswprint_l(wint_t <[c]>, locale_t <[locale]>);
-
-DESCRIPTION
-<<iswprint>> is a function which classifies wide-character values that
-are printable.
-
-<<iswprint_l>> is like <<iswprint>> but performs the check based on the
-locale specified by the locale object locale.  If <[locale]> is
-LC_GLOBAL_LOCALE or not a valid locale object, the behaviour is undefined.
-
-RETURNS
-<<iswprint>>, <<iswprint_l>> return non-zero if <[c]> is a printable wide character.
-
-PORTABILITY
-<<iswprint>> is C99.
-<<iswprint_l>> is POSIX-1.2008.
-
-No supporting OS subroutines are required.
-*/
-#include <_ansi.h>
-#include <newlib.h>
-#include <wctype.h>
-#include <string.h>
-#include <ctype.h>
-#include "local.h"
-
-#ifdef _MB_CAPABLE
-#include "utf8print.h"
-#endif /* _MB_CAPABLE */
-
-int
-iswprint (wint_t c)
-{
-#ifdef _MB_CAPABLE
-  unsigned const char *table;
-  unsigned char *ptr;
-  unsigned char ctmp;
-  int size;
-  wint_t x;
-  
-  c = _jp2uc (c);
-
-  /* Based on and tested against Unicode 5.2
-     See utf8print.h for a description how to fetch the data. */
-  x = (c >> 8);
-  /* for some large sections, all characters are printuation so handle them here */
-  if ((x >= 0x33 && x <= 0x4c) ||
-      (x >= 0x4e && x <= 0x9e) ||
-      (x >= 0xa0 && x <= 0xa3) ||
-      (x >= 0xac && x <= 0xd6) ||
-      (x >= 0xe0 && x <= 0xf9) ||
-      (x >= 0x120 && x <= 0x122) ||
-      (x >= 0x130 && x <= 0x133) ||
-      (x >= 0x200 && x <= 0x2a5) ||
-      (x >= 0x2a7 && x <= 0x2b6) ||
-      (x >= 0xf00 && x <= 0xffe) ||
-      (x >= 0x1000 && x <= 0x10fe))
-    return 1;
-  
-  switch (x)
-    {
-    case 0x01:
-    case 0x02:
-    case 0x04:
-    case 0x11:
-    case 0x14:
-    case 0x15:
-    case 0x1e:
-    case 0x22:
-    case 0x25:
-    case 0x28:
-    case 0x29:
-    case 0x2a:
-    case 0xa5:
-    case 0xfc:
-    case 0x2f8:
-    case 0x2f9:
-      return 1;
-    case 0x00:
-      table = u0;
-      size = sizeof(u0);
-      break;
-    case 0x03:
-      table = u3;
-      size = sizeof(u3);
-      break;
-    case 0x05:
-      table = u5;
-      size = sizeof(u5);
-      break;
-    case 0x06:
-      table = u6;
-      size = sizeof(u6);
-      break;
-    case 0x07:
-      table = u7;
-      size = sizeof(u7);
-      break;
-    case 0x08:
-      table = u8;
-      size = sizeof(u8);
-      break;
-    case 0x09:
-      table = u9;
-      size = sizeof(u9);
-      break;
-    case 0x0a:
-      table = ua;
-      size = sizeof(ua);
-      break;
-    case 0x0b:
-      table = ub;
-      size = sizeof(ub);
-      break;
-    case 0x0c:
-      table = uc;
-      size = sizeof(uc);
-      break;
-    case 0x0d:
-      table = ud;
-      size = sizeof(ud);
-      break;
-    case 0x0e:
-      table = ue;
-      size = sizeof(ue);
-      break;
-    case 0x0f:
-      table = uf;
-      size = sizeof(uf);
-      break;
-    case 0x10:
-      table = u10;
-      size = sizeof(u10);
-      break;
-    case 0x12:
-      table = u12;
-      size = sizeof(u12);
-      break;
-    case 0x13:
-      table = u13;
-      size = sizeof(u13);
-      break;
-    case 0x16:
-      table = u16;
-      size = sizeof(u16);
-      break;
-    case 0x17:
-      table = u17;
-      size = sizeof(u17);
-      break;
-    case 0x18:
-      table = u18;
-      size = sizeof(u18);
-      break;
-    case 0x19:
-      table = u19;
-      size = sizeof(u19);
-      break;
-    case 0x1a:
-      table = u1a;
-      size = sizeof(u1a);
-      break;
-    case 0x1b:
-      table = u1b;
-      size = sizeof(u1b);
-      break;
-    case 0x1c:
-      table = u1c;
-      size = sizeof(u1c);
-      break;
-    case 0x1d:
-      table = u1d;
-      size = sizeof(u1d);
-      break;
-    case 0x1f:
-      table = u1f;
-      size = sizeof(u1f);
-      break;
-    case 0x20:
-      table = u20;
-      size = sizeof(u20);
-      break;
-    case 0x21:
-      table = u21;
-      size = sizeof(u21);
-      break;
-    case 0x23:
-      table = u23;
-      size = sizeof(u23);
-      break;
-    case 0x24:
-      table = u24;
-      size = sizeof(u24);
-      break;
-    case 0x26:
-      table = u26;
-      size = sizeof(u26);
-      break;
-    case 0x27:
-      table = u27;
-      size = sizeof(u27);
-      break;
-    case 0x2b:
-      table = u2b;
-      size = sizeof(u2b);
-      break;
-    case 0x2c:
-      table = u2c;
-      size = sizeof(u2c);
-      break;
-    case 0x2d:
-      table = u2d;
-      size = sizeof(u2d);
-      break;
-    case 0x2e:
-      table = u2e;
-      size = sizeof(u2e);
-      break;
-    case 0x2f:
-      table = u2f;
-      size = sizeof(u2f);
-      break;
-    case 0x30:
-      table = u30;
-      size = sizeof(u30);
-      break;
-    case 0x31:
-      table = u31;
-      size = sizeof(u31);
-      break;
-    case 0x32:
-      table = u32;
-      size = sizeof(u32);
-      break;
-    case 0x4d:
-      table = u4d;
-      size = sizeof(u4d);
-      break;
-    case 0x9f:
-      table = u9f;
-      size = sizeof(u9f);
-      break;
-    case 0xa4:
-      table = ua4;
-      size = sizeof(ua4);
-      break;
-    case 0xa6:
-      table = ua6;
-      size = sizeof(ua6);
-      break;
-    case 0xa7:
-      table = ua7;
-      size = sizeof(ua7);
-      break;
-    case 0xa8:
-      table = ua8;
-      size = sizeof(ua8);
-      break;
-    case 0xa9:
-      table = ua9;
-      size = sizeof(ua9);
-      break;
-    case 0xaa:
-      table = uaa;
-      size = sizeof(uaa);
-      break;
-    case 0xab:
-      table = uab;
-      size = sizeof(uab);
-      break;
-    case 0xd7:
-      table = ud7;
-      size = sizeof(ud7);
-      break;
-    case 0xfa:
-      table = ufa;
-      size = sizeof(ufa);
-      break;
-    case 0xfb:
-      table = ufb;
-      size = sizeof(ufb);
-      break;
-    case 0xfd:
-      table = ufd;
-      size = sizeof(ufd);
-      break;
-    case 0xfe:
-      table = ufe;
-      size = sizeof(ufe);
-      break;
-    case 0xff:
-      table = uff;
-      size = sizeof(uff);
-      break;
-    case 0x100:
-      table = u100;
-      size = sizeof(u100);
-      break;
-    case 0x101:
-      table = u101;
-      size = sizeof(u101);
-      break;
-    case 0x102:
-      table = u102;
-      size = sizeof(u102);
-      break;
-    case 0x103:
-      table = u103;
-      size = sizeof(u103);
-      break;
-    case 0x104:
-      table = u104;
-      size = sizeof(u104);
-      break;
-    case 0x108:
-      table = u108;
-      size = sizeof(u108);
-      break;
-    case 0x109:
-      table = u109;
-      size = sizeof(u109);
-      break;
-    case 0x10a:
-      table = u10a;
-      size = sizeof(u10a);
-      break;
-    case 0x10b:
-      table = u10b;
-      size = sizeof(u10b);
-      break;
-    case 0x10c:
-      table = u10c;
-      size = sizeof(u10c);
-      break;
-    case 0x10e:
-      table = u10e;
-      size = sizeof(u10e);
-      break;
-    case 0x110:
-      table = u110;
-      size = sizeof(u110);
-      break;
-    case 0x123:
-      table = u123;
-      size = sizeof(u123);
-      break;
-    case 0x124:
-      table = u124;
-      size = sizeof(u124);
-      break;
-    case 0x134:
-      table = u134;
-      size = sizeof(u134);
-      break;
-    case 0x1d0:
-      table = u1d0;
-      size = sizeof(u1d0);
-      break;
-    case 0x1d1:
-      table = u1d1;
-      size = sizeof(u1d1);
-      break;
-    case 0x1d2:
-      table = u1d2;
-      size = sizeof(u1d2);
-      break;
-    case 0x1d3:
-      table = u1d3;
-      size = sizeof(u1d3);
-      break;
-    case 0x1d4:
-      table = u1d4;
-      size = sizeof(u1d4);
-      break;
-    case 0x1d5:
-      table = u1d5;
-      size = sizeof(u1d5);
-      break;
-    case 0x1d6:
-      table = u1d6;
-      size = sizeof(u1d6);
-      break;
-    case 0x1d7:
-      table = u1d7;
-      size = sizeof(u1d7);
-      break;
-    case 0x1f0:
-      table = u1f0;
-      size = sizeof(u1f0);
-      break;
-    case 0x1f1:
-      table = u1f1;
-      size = sizeof(u1f1);
-      break;
-    case 0x1f2:
-      table = u1f2;
-      size = sizeof(u1f2);
-      break;
-    case 0x2a6:
-      table = u2a6;
-      size = sizeof(u2a6);
-      break;
-    case 0x2b7:
-      table = u2b7;
-      size = sizeof(u2b7);
-      break;
-    case 0x2fa:
-      table = u2fa;
-      size = sizeof(u2fa);
-      break;
-    case 0xe00:
-      table = ue00;
-      size = sizeof(ue00);
-      break;
-    case 0xe01:
-      table = ue01;
-      size = sizeof(ue01);
-      break;
-    case 0xfff:
-      table = ufff;
-      size = sizeof(ufff);
-      break;
-    case 0x10ff:
-      table = u10ff;
-      size = sizeof(u10ff);
-      break;
-    default:
-      return 0;
-    }
-  /* we have narrowed down to a section of 256 characters to check */
-  /* now check if c matches the printuation wide-chars within that section */
-  ptr = (unsigned char *)table;
-  ctmp = (unsigned char)c;
-  while (ptr < table + size)
-    {
-      if (ctmp == *ptr)
-	return 1;
-      if (ctmp < *ptr)
-	return 0;
-      /* otherwise c > *ptr */
-      /* look for 0x0 as next element which indicates a range */
-      ++ptr;
-      if (*ptr == 0x0)
-	{
-	  /* we have a range..see if c falls within range */
-	  ++ptr;
-	  if (ctmp <= *ptr)
-	    return 1;
-	  ++ptr;
-	}
-    }
-  /* not in table */
-  return 0;
-#else
-  return (c < (wint_t)0x100 ? isprint (c) : 0);
-#endif /* _MB_CAPABLE */
-}
diff --git a/newlib/libc/ctype/towlower.c b/newlib/libc/ctype/towlower.c
deleted file mode 100644
index db390db..0000000
--- a/newlib/libc/ctype/towlower.c
+++ /dev/null
@@ -1,575 +0,0 @@
-/* Copyright (c) 2002 Red Hat Incorporated.
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-     Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-
-     Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-
-     The name of Red Hat Incorporated may not be used to endorse
-     or promote products derived from this software without specific
-     prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS   
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-FUNCTION
-	<<towlower>>, <<towlower_l>>---translate wide characters to lowercase
-
-INDEX
-	towlower
-
-INDEX
-	towlower_l
-
-SYNOPSIS
-	#include <wctype.h>
-	wint_t towlower(wint_t <[c]>);
-
-	#include <wctype.h>
-	wint_t towlower_l(wint_t <[c]>, locale_t <[locale]>);
-
-
-DESCRIPTION
-<<towlower>> is a function which converts uppercase wide characters to
-lowercase, leaving all other characters unchanged.
-
-<<towlower_l>> is like <<towlower>> but performs the function based on the
-locale specified by the locale object locale.  If <[locale]> is
-LC_GLOBAL_LOCALE or not a valid locale object, the behaviour is undefined.
-
-RETURNS
-<<towlower>>, <<towlower_l>> return the lowercase equivalent of <[c]> when it is a
-uppercase wide character; otherwise, it returns the input character.
-
-PORTABILITY
-<<towlower>> is C99.
-<<towlower_l>> is POSIX-1.2008.
-
-No supporting OS subroutines are required.
-*/
-
-#include <_ansi.h>
-#include <newlib.h>
-#include <string.h>
-#include <reent.h>
-#include <ctype.h>
-#include <wctype.h>
-#include "local.h"
-
-wint_t
-towlower (wint_t c)
-{
-#ifdef _MB_CAPABLE
-  c = _jp2uc (c);
-  /* Based on and tested against Unicode 5.2 */
-
-  /* Expression used to filter out the characters for the below code:
-
-     awk -F\; '{ if ( $14 != "" ) print $1; }' UnicodeData.txt
-  */
-  if (c < 0x100)
-    {
-      if ((c >= 0x0041 && c <= 0x005a) ||
-	  (c >= 0x00c0 && c <= 0x00d6) ||
-	  (c >= 0x00d8 && c <= 0x00de))
-	return (c + 0x20);
-
-      return c;
-    }
-  else if (c < 0x300)
-    {
-      if ((c >= 0x0100 && c <= 0x012e) ||
-	  (c >= 0x0132 && c <= 0x0136) ||
-	  (c >= 0x014a && c <= 0x0176) ||
-	  (c >= 0x01de && c <= 0x01ee) ||
-	  (c >= 0x01f8 && c <= 0x021e) ||
-	  (c >= 0x0222 && c <= 0x0232))
-	{
-	  if (!(c & 0x01))
-	    return (c + 1);
-	  return c;
-	}
-
-      if (c == 0x0130)
-	return 0x0069;
-
-      if ((c >= 0x0139 && c <= 0x0147) ||
-	  (c >= 0x01cd && c <= 0x01db))
-	{
-	  if (c & 0x01)
-	    return (c + 1);
-	  return c;
-	}
-      
-      if (c >= 0x178 && c <= 0x01f7)
-	{
-	  wint_t k;
-	  switch (c)
-	    {
-	    case 0x0178:
-	      k = 0x00ff;
-	      break;
-	    case 0x0179:
-	    case 0x017b:
-	    case 0x017d:
-	    case 0x0182:
-	    case 0x0184:
-	    case 0x0187:
-	    case 0x018b:
-	    case 0x0191:
-	    case 0x0198:
-	    case 0x01a0:
-	    case 0x01a2:
-	    case 0x01a4:
-	    case 0x01a7:
-	    case 0x01ac:
-	    case 0x01af:
-	    case 0x01b3:
-	    case 0x01b5:
-	    case 0x01b8:
-	    case 0x01bc:
-	    case 0x01c5:
-	    case 0x01c8:
-	    case 0x01cb:
-	    case 0x01cd:
-	    case 0x01cf:
-	    case 0x01d1:
-	    case 0x01d3:
-	    case 0x01d5:
-	    case 0x01d7:
-	    case 0x01d9:
-	    case 0x01db:
-	    case 0x01f2:
-	    case 0x01f4:
-	      k = c + 1;
-	      break;
-	    case 0x0181:
-	      k = 0x0253;
-	      break;
-	    case 0x0186:
-	      k = 0x0254;
-	      break;
-	    case 0x0189:
-	      k = 0x0256;
-	      break;
-	    case 0x018a:
-	      k = 0x0257;
-	      break;
-	    case 0x018e:
-	      k = 0x01dd;
-	      break;
-	    case 0x018f:
-	      k = 0x0259;
-	      break;
-	    case 0x0190:
-	      k = 0x025b;
-	      break;
-	    case 0x0193:
-	      k = 0x0260;
-	      break;
-	    case 0x0194:
-	      k = 0x0263;
-	      break;
-	    case 0x0196:
-	      k = 0x0269;
-	      break;
-	    case 0x0197:
-	      k = 0x0268;
-	      break;
-	    case 0x019c:
-	      k = 0x026f;
-	      break;
-	    case 0x019d:
-	      k = 0x0272;
-	      break;
-	    case 0x019f:
-	      k = 0x0275;
-	      break;
-	    case 0x01a6:
-	      k = 0x0280;
-	      break;
-	    case 0x01a9:
-	      k = 0x0283;
-	      break;
-	    case 0x01ae:
-	      k = 0x0288;
-	      break;
-	    case 0x01b1:
-	      k = 0x028a;
-	      break;
-	    case 0x01b2:
-	      k = 0x028b;
-	      break;
-	    case 0x01b7:
-	      k = 0x0292;
-	      break;
-	    case 0x01c4:
-	    case 0x01c7:
-	    case 0x01ca:
-	    case 0x01f1:
-	      k = c + 2;
-	      break;
-	    case 0x01f6:
-	      k = 0x0195;
-	      break;
-	    case 0x01f7:
-	      k = 0x01bf;
-	      break;
-	    default:
-	      k = 0;
-	    }
-	  if (k != 0)
-	    return k;
-	}
-      else if (c == 0x0220)
-      	return 0x019e;
-      else if (c >= 0x023a && c <= 0x024e)
-      	{
-	  wint_t k;
-	  switch (c)
-	    {
-	    case 0x023a:
-	      k = 0x2c65;
-	      break;
-	    case 0x023b:
-	    case 0x0241:
-	    case 0x0246:
-	    case 0x0248:
-	    case 0x024a:
-	    case 0x024c:
-	    case 0x024e:
-	      k = c + 1;
-	      break;
-	    case 0x023d:
-	      k = 0x019a;
-	      break;
-	    case 0x023e:
-	      k = 0x2c66;
-	      break;
-	    case 0x0243:
-	      k = 0x0180;
-	      break;
-	    case 0x0244:
-	      k = 0x0289;
-	      break;
-	    case 0x0245:
-	      k = 0x028c;
-	      break;
-	    default:
-	      k = 0;
-	    }
-	  if (k != 0)
-	    return k;
-	}
-    }
-  else if (c < 0x0400)
-    {
-      if (c == 0x0370 || c == 0x0372 || c == 0x0376)
-      	return (c + 1);
-      if (c >= 0x0391 && c <= 0x03ab && c != 0x03a2)
-	return (c + 0x20);
-      if (c >= 0x03d8 && c <= 0x03ee && !(c & 0x01))
-	return (c + 1);
-      if (c >= 0x0386 && c <= 0x03ff)
-	{
-	  wint_t k;
-	  switch (c)
-	    {
-	    case 0x0386:
-	      k = 0x03ac;
-	      break;
-	    case 0x0388:
-	      k = 0x03ad;
-	      break;
-	    case 0x0389:
-	      k = 0x03ae;
-	      break;
-	    case 0x038a:
-	      k = 0x03af;
-	      break;
-	    case 0x038c:
-	      k = 0x03cc;
-	      break;
-	    case 0x038e:
-	      k = 0x03cd;
-	      break;
-	    case 0x038f:
-	      k = 0x03ce;
-	      break;
-	    case 0x03cf:
-	      k = 0x03d7;
-	      break;
-	    case 0x03f4:
-	      k = 0x03b8;
-	      break;
-	    case 0x03f7:
-	      k = 0x03f8;
-	      break;
-	    case 0x03f9:
-	      k = 0x03f2;
-	      break;
-	    case 0x03fa:
-	      k = 0x03fb;
-	      break;
-	    case 0x03fd:
-	      k = 0x037b;
-	      break;
-	    case 0x03fe:
-	      k = 0x037c;
-	      break;
-	    case 0x03ff:
-	      k = 0x037d;
-	      break;
-	    default:
-	      k = 0;
-	    }
-	  if (k != 0)
-	    return k;
-	}
-    }
-  else if (c < 0x500)
-    {
-      if (c >= 0x0400 && c <= 0x040f)
-	return (c + 0x50);
-      
-      if (c >= 0x0410 && c <= 0x042f)
-	return (c + 0x20);
-      
-      if ((c >= 0x0460 && c <= 0x0480) ||
-	  (c >= 0x048a && c <= 0x04be) ||
-	  (c >= 0x04d0 && c <= 0x04fe))
-	{
-	  if (!(c & 0x01))
-	    return (c + 1);
-	  return c;
-	}
-      
-      if (c == 0x04c0)
-	return 0x04cf;
-
-      if (c >= 0x04c1 && c <= 0x04cd)
-	{
-	  if (c & 0x01)
-	    return (c + 1);
-	  return c;
-	}
-    }
-  else if (c < 0x1f00)
-    {
-      if ((c >= 0x0500 && c <= 0x050e) ||
-	  (c >= 0x0510 && c <= 0x0524) ||
-	  (c >= 0x1e00 && c <= 0x1e94) ||
-	  (c >= 0x1ea0 && c <= 0x1ef8))
-	{
-	  if (!(c & 0x01))
-	    return (c + 1);
-	  return c;
-	}
-      
-      if (c >= 0x0531 && c <= 0x0556)
-	return (c + 0x30);
-
-      if (c >= 0x10a0 && c <= 0x10c5)
-	return (c + 0x1c60);
-
-      if (c == 0x1e9e)
-	return 0x00df;
-
-      if (c >= 0x1efa && c <= 0x1efe && !(c & 0x01))
-	return (c + 1);
-    }
-  else if (c < 0x2000)
-    {
-      if ((c >= 0x1f08 && c <= 0x1f0f) ||
-	  (c >= 0x1f18 && c <= 0x1f1d) ||
-	  (c >= 0x1f28 && c <= 0x1f2f) ||
-	  (c >= 0x1f38 && c <= 0x1f3f) ||
-	  (c >= 0x1f48 && c <= 0x1f4d) ||
-	  (c >= 0x1f68 && c <= 0x1f6f) ||
-	  (c >= 0x1f88 && c <= 0x1f8f) ||
-	  (c >= 0x1f98 && c <= 0x1f9f) ||
-	  (c >= 0x1fa8 && c <= 0x1faf))
-	return (c - 0x08);
-
-      if (c >= 0x1f59 && c <= 0x1f5f)
-	{
-	  if (c & 0x01)
-	    return (c - 0x08);
-	  return c;
-	}
-    
-      if (c >= 0x1fb8 && c <= 0x1ffc)
-	{
-	  wint_t k;
-	  switch (c)
-	    {
-	    case 0x1fb8:
-	    case 0x1fb9:
-	    case 0x1fd8:
-	    case 0x1fd9:
-	    case 0x1fe8:
-	    case 0x1fe9:
-	      k = c - 0x08;
-	      break;
-	    case 0x1fba:
-	    case 0x1fbb:
-	      k = c - 0x4a;
-	      break;
-	    case 0x1fbc:
-	      k = 0x1fb3;
-	      break;
-	    case 0x1fc8:
-	    case 0x1fc9:
-	    case 0x1fca:
-	    case 0x1fcb:
-	      k = c - 0x56;
-	      break;
-	    case 0x1fcc:
-	      k = 0x1fc3;
-	      break;
-	    case 0x1fda:
-	    case 0x1fdb:
-	      k = c - 0x64;
-	      break;
-	    case 0x1fea:
-	    case 0x1feb:
-	      k = c - 0x70;
-	      break;
-	    case 0x1fec:
-	      k = 0x1fe5;
-	      break;
-	    case 0x1ff8:
-	    case 0x1ff9:
-	      k = c - 0x80;
-	      break;
-	    case 0x1ffa:
-	    case 0x1ffb:
-	      k = c - 0x7e;
-	      break;
-	    case 0x1ffc:
-	      k = 0x1ff3;
-	      break;
-	    default:
-	      k = 0;
-	    }
-	  if (k != 0)
-	    return k;
-	}
-    }
-  else if (c < 0x2c00)
-    {
-      if (c >= 0x2160 && c <= 0x216f)
-	return (c + 0x10);
-
-      if (c >= 0x24b6 && c <= 0x24cf)
-	return (c + 0x1a);
-      
-      switch (c)
-      	{
-	case 0x2126:
-	  return 0x03c9;
-	case 0x212a:
-	  return 0x006b;
-	case 0x212b:
-	  return 0x00e5;
-	case 0x2132:
-	  return 0x214e;
-	case 0x2183:
-	  return 0x2184;
-	}
-    }
-  else if (c < 0x2d00)
-    {
-      if (c >= 0x2c00 && c <= 0x2c2e)
-	return (c + 0x30);
-
-      if (c >= 0x2c80 && c <= 0x2ce2 && !(c & 0x01))
-	return (c + 1);
-
-      switch (c)
-      	{
-	case 0x2c60:
-	  return 0x2c61;
-	case 0x2c62:
-	  return 0x026b;
-	case 0x2c63:
-	  return 0x1d7d;
-	case 0x2c64:
-	  return 0x027d;
-	case 0x2c67:
-	case 0x2c69:
-	case 0x2c6b:
-	case 0x2c72:
-	case 0x2c75:
-	case 0x2ceb:
-	case 0x2ced:
-	  return c + 1;
-	case 0x2c6d:
-	  return 0x0251;
-	case 0x2c6e:
-	  return 0x0271;
-	case 0x2c6f:
-	  return 0x0250;
-	case 0x2c70:
-	  return 0x0252;
-	case 0x2c7e:
-	  return 0x023f;
-	case 0x2c7f:
-	  return 0x0240;
-	}
-    }
-  else if (c >= 0xa600 && c < 0xa800)
-    {
-      if ((c >= 0xa640 && c <= 0xa65e) ||
-	  (c >= 0xa662 && c <= 0xa66c) ||
-	  (c >= 0xa680 && c <= 0xa696) ||
-	  (c >= 0xa722 && c <= 0xa72e) ||
-	  (c >= 0xa732 && c <= 0xa76e) ||
-	  (c >= 0xa77f && c <= 0xa786))
-	{
-	  if (!(c & 1))
-	    return (c + 1);
-	  return c;
-	}
-
-      switch (c)
-      	{
-	case 0xa779:
-	case 0xa77b:
-	case 0xa77e:
-	case 0xa78b:
-	  return (c + 1);
-	case 0xa77d:
-	  return 0x1d79;
-	}
-    }
-  else
-    {
-      if (c >= 0xff21 && c <= 0xff3a)
-	return (c + 0x20);
-      
-      if (c >= 0x10400 && c <= 0x10427)
-	return (c + 0x28);
-    }
-  return c;
-#else
-  return (c < 0x00ff ? (wint_t)(tolower ((int)c)) : c);
-#endif /* _MB_CAPABLE */
-}
-
diff --git a/newlib/libc/ctype/utf8alpha.h b/newlib/libc/ctype/utf8alpha.h
deleted file mode 100644
index d9306b7..0000000
--- a/newlib/libc/ctype/utf8alpha.h
+++ /dev/null
@@ -1,355 +0,0 @@
-/* Copyright (c) 2002 Red Hat Incorporated.
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-     Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-
-     Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-
-     The name of Red Hat Incorporated may not be used to endorse
-     or promote products derived from this software without specific
-     prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS   
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* Generated using UnicodeData.txt 5.2 */
-
-/* Expression used to filter out the characters for the below tables:
-
-  awk -F\; \
-  '{ \
-    VAL = strtonum (sprintf("0x%s", $1)); \
-    # All of general category "L", except for two Thai characters which \
-    # are actually punctuation characters.  Old Unicode weirdness. \
-    # The character "COMBINING GREEK YPOGEGRAMMENI", as well as all Thai \
-    # characters which are in "Mn" category.  Old Unicode weirdness. \
-    # All numerical digit or letter characters, except the ASCII variants. \
-    # This is necessary due to the unfortunate ISO C definition for the \
-    # iswdigit class, otherwise these characters are missing in iswalnum. \
-    # All "Other Symbols" which are named as "LETTER" characters. \
-    # \
-    # Before running this test, make sure to expand all Unicode blocks \
-    # which are just marked by their first and last character! \
-    # \
-    if (   (match($3, "^L") && VAL != 0x0e2f && VAL != 0x0e46) \
-	|| (match($3, "^Mn") && (VAL == 0x0345 || match($2, "\\<CHARACTER\\>"))) \
-	|| (match($3, "^N[dl]") && VAL >= 0x100) \
-	|| (match($3, "^So") && match($2, "\\<LETTER\\>"))) \
-      print $1; \
-  }' UnicodeData.txt
-*/
-
-static const unsigned char u0[] = {
-  0x41, 0x0, 0x5a, 0x61, 0x0, 0x7a, 0xaa, 0xb5, 
-  0xba, 0xc0, 0x0, 0xd6, 0xd8, 0x0, 0xf6, 0xf8, 
-  0x0, 0xff };
-/* u1 all alphabetic */
-static const unsigned char u2[] = {
-  0x00, 0x0, 0xc1, 0xc6, 0x0, 0xd1,
-  0xe0, 0x0, 0xe4, 0xec, 0xee };
-static const unsigned char u3[] = {
-  0x45, 0x70, 0x0, 0x74, 0x76, 0x77,
-  0x7a, 0x0, 0x7d, 0x86, 0x88, 0x0, 0x8a, 0x8c,
-  0x8e, 0x0, 0xa1, 0xa3, 0x0, 0xf5,
-  0xf7, 0x0, 0xff };
-static const unsigned char u4[] = { 
-  0x00, 0x0, 0x81, 0x8a, 0x0, 0xff };
-static const unsigned char u5[] = { 
-  0x00, 0x0, 0x25, 0x31, 0x0, 0x56, 0x59, 
-  0x61, 0x0, 0x87, 0xd0, 0x0, 0xea,
-  0xf0, 0x0, 0xf2 };
-static const unsigned char u6[] = { 
-  0x21, 0x0, 0x4a, 0x60, 0x0, 0x69,
-  0x6e, 0x0, 0x6f, 0x71, 0x0, 0xd3, 
-  0xd5, 0xe5, 0x0, 0xe6, 0xee, 0x0, 0xfc, 0xff };
-static const unsigned char u7[] = { 
-  0x10, 0x12, 0x0, 0x2f, 0x4d, 0x0, 0xa5, 0xb1,
-  0xc0, 0x0, 0xea, 0xf4, 0xf5, 0xfa };
-static const unsigned char u8[] = { 
-  0x00, 0x0, 0x15, 0x1a, 0x24, 0x28 };
-static const unsigned char u9[] = { 
-  0x04, 0x0, 0x39, 0x3d, 0x50, 0x58, 0x0, 0x61,
-  0x66, 0x0, 0x6f, 0x71, 0x72, 0x79, 0x0, 0x7f,
-  0x85, 0x0, 0x8c, 0x8f, 0x0, 0x90, 
-  0x93, 0x0, 0xa8, 0xaa, 0x0, 0xb0, 0xb2,
-  0xb6, 0x0, 0xb9, 0xbd, 0xce, 0xdc, 0x0, 0xdd,
-  0xdf, 0x0, 0xe1, 0xe6, 0x0, 0xf1 };
-static const unsigned char ua[] = { 
-  0x05, 0x0, 0x0a, 0x0f, 0x0, 0x10,
-  0x13, 0x0, 0x28, 0x2a, 0x0, 0x30,
-  0x32, 0x0, 0x33, 0x35, 0x0, 0x36,
-  0x38, 0x0, 0x39, 0x59, 0x0, 0x5c,
-  0x5e, 0x66, 0x0, 0x6f, 0x72, 0x0, 0x74,
-  0x85, 0x0, 0x8d, 0x8f, 0x0, 0x91,
-  0x93, 0x0, 0xa8, 0xaa, 0x0, 0xb0,
-  0xb2, 0x0, 0xb3, 0xb5, 0x0, 0xb9,
-  0xbd, 0xd0, 0xe0, 0xe1, 0xe6, 0x0, 0xef };
-static const unsigned char ub[] = { 
-  0x05, 0x0, 0x0c, 0x0f, 0x0, 0x10,
-  0x13, 0x0, 0x28, 0x2a, 0x0, 0x30,
-  0x32, 0x0, 0x33, 0x35, 0x0, 0x39, 0x3d,
-  0x5c, 0x0, 0x5d, 0x5f, 0x0, 0x61,
-  0x66, 0x0, 0x6f, 0x71, 0x83, 0x85, 0x0, 0x8a,
-  0x8e, 0x0, 0x90, 0x92, 0x0, 0x95,
-  0x99, 0x0, 0x9a, 0x9c, 0x9e, 0x0, 0x9f,
-  0xa3, 0x0, 0xa4, 0xa8, 0x0, 0xaa,
-  0xae, 0x0, 0xb9, 0xd0, 0xe6, 0x0, 0xef };
-static const unsigned char uc[] = { 
-  0x05, 0x0, 0x0c, 0x0e, 0x0, 0x10,
-  0x12, 0x0, 0x28, 0x2a, 0x0, 0x33,
-  0x35, 0x0, 0x39, 0x3d, 0x58, 0x59,
-  0x60, 0x0, 0x61, 0x66, 0x0, 0x6f,
-  0x85, 0x0, 0x8c, 0x8e, 0x0, 0x90,
-  0x92, 0x0, 0xa8, 0xaa, 0x0, 0xb3,
-  0xb5, 0x0, 0xb9, 0xbd, 0xde, 0xe0, 0x0, 0xe1,
-  0xe6, 0x0, 0xef };
-static const unsigned char ud[] = { 
-  0x05, 0x0, 0x0c, 0x0e, 0x0, 0x10, 
-  0x12, 0x0, 0x28, 0x2a, 0x0, 0x39, 0x3d,
-  0x60, 0x0, 0x61, 0x66, 0x0, 0x6f,
-  0x7a, 0x0, 0x7f, 0x85, 0x0, 0x96, 0x9a, 
-  0x0, 0xb1, 0xb3, 0x0, 0xbb, 0xbd,
-  0xc0, 0x0, 0xc6 };
-static const unsigned char ue[] = { 
-  0x01, 0x0, 0x2e, 0x30, 0x0, 0x3a, 0x40, 
-  0x0, 0x45, 0x47, 0x0, 0x4e, 0x50, 0x0, 0x59, 
-  0x81, 0x0, 0x82, 0x84, 0x87, 0x0, 0x88, 0x8a, 
-  0x8d, 0x94, 0x0, 0x97, 0x99, 0x0, 0x9f, 0xa1, 
-  0x0, 0xa3, 0xa5, 0xa7, 0xaa, 0x0, 0xab, 0xad, 
-  0x0, 0xb0, 0xb2, 0x0, 0xb3, 0xbd, 0xc0, 0x0, 
-  0xc4, 0xc6, 0xd0, 0x0, 0xd9, 0xdc, 0x0, 0xdd }; 
-static const unsigned char uf[] = {
-  0x00, 0x20, 0x0, 0x29, 0x40, 0x0, 0x47, 0x49, 
-  0x0, 0x6c, 0x88, 0x0, 0x8b };
-static const unsigned char u10[] = { 
-  0x00, 0x0, 0x2a, 0x3f, 0x0, 0x49,
-  0x50, 0x0, 0x55, 0x5a, 0x0, 0x5d,
-  0x61, 0x65, 0x66, 0x6e, 0x0, 0x70,
-  0x75, 0x0, 0x81, 0x8e, 0x90, 0x0, 0x99,
-  0xa0, 0x0, 0xc5, 0xd0, 0x0, 0xfa, 0xfc };
-/* u11 all alphabetic */
-static const unsigned char u12[] = { 
-  0x00, 0x0, 0x48, 0x4a, 0x0, 0x4d,
-  0x50, 0x0, 0x56, 0x58, 0x5a, 0x0, 0x5d,
-  0x60, 0x0, 0x88, 0x8a, 0x0, 0x8d,
-  0x90, 0x0, 0xb0, 0xb2, 0x0, 0xb5,
-  0xb8, 0x0, 0xbe, 0xc0, 0xc2, 0x0, 0xc5,
-  0xc8, 0x0, 0xd6, 0xd8, 0x0, 0xff };
-static const unsigned char u13[] = { 
-  0x00, 0x0, 0x10, 0x12, 0x0, 0x15,
-  0x18, 0x0, 0x5a, 0x80, 0x0, 0x8f,
-  0xa0, 0x0, 0xf4 };
-static const unsigned char u14[] = { 
-  0x01, 0x0, 0xff };
-/* u15 all alphabetic */
-static const unsigned char u16[] = { 
-  0x00, 0x0, 0x6c, 0x6f, 0x0, 0x7f, 
-  0x81, 0x0, 0x9a, 0xa0, 0x0, 0xea,
-  0xee, 0x0, 0xf0 };
-static const unsigned char u17[] = { 
-  0x00, 0x0, 0x0c, 0x0e, 0x0, 0x11,
-  0x20, 0x0, 0x31, 0x40, 0x0, 0x51,
-  0x60, 0x0, 0x6c, 0x6e, 0x0, 0x70,
-  0x80, 0x0, 0xb3, 0xd7, 0xdc, 0xe0, 0x0, 0xe9 };
-static const unsigned char u18[] = { 
-  0x10, 0x0, 0x19, 0x20, 0x0, 0x77,
-  0x80, 0x0, 0xa8, 0xaa, 0xb0, 0x0, 0xf5 };
-static const unsigned char u19[] = { 
-  0x00, 0x0, 0x1c, 0x46, 0x0, 0x6d,
-  0x70, 0x0, 0x74, 0x80, 0x0, 0xab,
-  0xc1, 0x0, 0xc7, 0xd0, 0x0, 0xda };
-static const unsigned char u1a[] = { 
-  0x00, 0x0, 0x16, 0x20, 0x0, 0x54,
-  0x80, 0x0, 0x89, 0x90, 0x0, 0x99, 0xa7 };
-static const unsigned char u1b[] = { 
-  0x05, 0x0, 0x33, 0x45, 0x0, 0x4b,
-  0x50, 0x0, 0x59, 0x83, 0x0, 0xa0,
-  0xae, 0x0, 0xb9 };
-static const unsigned char u1c[] = { 
-  0x00, 0x0, 0x23, 0x40, 0x0, 0x49,
-  0x4d, 0x0, 0x7d, 0xe9, 0x0, 0xec,
-  0xee, 0x0, 0xf1 };
-static const unsigned char u1d[] = { 
-  0x00, 0x0, 0xbf };
-/* u1e all alphabetic */
-static const unsigned char u1f[] = { 
-  0x00, 0x0, 0x15, 0x18, 0x0, 0x1d, 
-  0x20, 0x0, 0x45, 0x48, 0x0, 0x4d, 0x50, 0x0, 0x57, 0x59, 
-  0x5b, 0x5d, 0x5f, 0x0, 0x7d, 0x80, 0x0, 0xb4, 
-  0xb6, 0x0, 0xbc, 0xbe, 0xc2, 0x0, 0xc4, 0xc6, 
-  0x0, 0xcc, 0xd0, 0x0, 0xd3, 0xd6, 0x0, 0xdb, 
-  0xe0, 0x0, 0xec, 0xf2, 0x0, 0xf4, 0xf6, 0x0, 
-  0xfc };
-static const unsigned char u20[] = { 
-  0x71, 0x7f, 0x90, 0x0, 0x94 };
-static const unsigned char u21[] = { 
-  0x02, 0x07, 0x0a, 0x0, 0x13, 0x15,
-  0x19, 0x0, 0x1d, 0x24, 0x26, 0x28, 0x0, 0x2d,
-  0x2f, 0x0, 0x39, 0x3c, 0x0, 0x3f,
-  0x45, 0x0, 0x49, 0x4e, 0x60, 0x0, 0x88 }; 
-static const unsigned char u24[] = { 
-  0x9c, 0x0, 0xe9 };
-static const unsigned char u2c[] = { 
-  0x00, 0x0, 0x2e, 0x30, 0x0, 0x5e,
-  0x60, 0x0, 0xe4, 0xeb, 0x0, 0xee };
-static const unsigned char u2d[] = { 
-  0x00, 0x0, 0x25, 0x30, 0x0, 0x65, 0x6f,
-  0x80, 0x0, 0x96, 0xa0, 0x0, 0xa6,
-  0xa8, 0x0, 0xae, 0xb0, 0x0, 0xb6,
-  0xb8, 0x0, 0xbe, 0xc0, 0x0, 0xc6,
-  0xc8, 0x0, 0xce, 0xd0, 0x0, 0xd6,
-  0xd8, 0x0, 0xde };
-static const unsigned char u2e[] = {
-  0x2f };
-static const unsigned char u30[] = { 
-  0x05, 0x0, 0x07, 0x21, 0x0, 
-  0x29, 0x31, 0x0, 0x35, 0x38, 0x0, 0x3c, 0x41, 
-  0x0, 0x96, 0x9d, 0x0, 0x9f, 0xa1, 0x0, 0xfa, 
-  0xfc, 0x0, 0xff };
-static const unsigned char u31[] = { 
-  0x05, 0x0, 0x2d, 0x31, 0x0, 
-  0x8e, 0xa0, 0x0, 0xb7, 0xf0, 0x0, 0xff };
-/* u34 to u4c all alphabetic */
-static const unsigned char u4d[] = { 
-  0x00, 0x0, 0xb5 };
-/* u4e to u9e all alphabetic */
-static const unsigned char u9f[] = { 
-  0x00, 0x0, 0xcb };
-/* ua0 to ua3 all alphabetic */
-static const unsigned char ua4[] = { 
-  0x00, 0x0, 0x8c, 0xd0, 0x0, 0xfd }; 
-/* ua5 all alphabetic */
-static const unsigned char ua6[] = {
-  0x00, 0x0, 0x0c, 0x10, 0x0, 0x2b,
-  0x40, 0x0, 0x5f, 0x62, 0x0, 0x6e,
-  0x7f, 0x0, 0x97, 0xa0, 0x0, 0xef };
-static const unsigned char ua7[] = {
-  0x17, 0x0, 0x1f, 0x22, 0x0, 0x88,
-  0x8b, 0x8c,
-  0xfb, 0x0, 0xff };
-static const unsigned char ua8[] = {
-  0x00, 0x01, 0x03, 0x0, 0x05, 0x07, 0x0, 0x0a,
-  0x0c, 0x0, 0x22, 0x40, 0x0, 0x73,
-  0x82, 0x0, 0xb3, 0xd0, 0x0, 0xd9,
-  0xf2, 0x0, 0xf7, 0xfb };
-static const unsigned char ua9[] = {
-  0x00, 0x0, 0x25, 0x30, 0x0, 0x46,
-  0x60, 0x0, 0x7c, 0x84, 0x0, 0xb2,
-  0xcf, 0x0, 0xd9 };
-static const unsigned char uaa[] = {
-  0x00, 0x0, 0x28, 0x40, 0x0, 0x42,
-  0x44, 0x0, 0x4b, 0x50, 0x0, 0x59,
-  0x60, 0x0, 0x76, 0x7a, 0x80, 0x0, 0xaf,
-  0xb1, 0xb5, 0xb6, 0xb9, 0x0, 0xbd,
-  0xc0, 0xc2, 0xdb, 0x0, 0xdd };
-static const unsigned char uab[] = {
-  0xc0, 0x0, 0xe2, 0xf0, 0x0, 0xf9 };
-/* uac to ud6 all alphabetic */
-static const unsigned char ud7[] = { 
-  0x00, 0x0, 0xa3, 0xb0, 0x0, 0xc6,
-  0xcb, 0x0, 0xfb };
-/* uf9 all alphabetic */
-static const unsigned char ufa[] = { 
-  0x00, 0x0, 0x2d, 0x30, 0x0, 0x6d,
-  0x70, 0x0, 0xd9 };
-static const unsigned char ufb[] = { 
-  0x00, 0x0, 0x06, 0x13, 0x0, 0x17, 0x1d, 
-  0x1f, 0x0, 0x28, 0x2a, 0x0, 0x36, 0x38, 0x0, 
-  0x3c, 0x3e, 0x40, 0x0, 0x41, 0x43, 0x0, 0x44, 
-  0x46, 0x0, 0xb1, 0xd3, 0x0, 0xff };
-/* ufc all alphabetic */
-static const unsigned char ufd[] = { 
-  0x00, 0x0, 0x3d, 0x50, 0x0, 
-  0x8f, 0x92, 0x0, 0xc7, 0xf0, 0x0, 0xfb };
-static const unsigned char ufe[] = { 
-  0x70, 
-  0x0, 0x74, 0x76, 0x0, 0xfc };
-static const unsigned char uff[] = { 
-  0x10, 0x0, 0x19, 
-  0x21, 0x0, 0x3a, 0x41, 0x0, 0x5a, 0x66, 0x0, 
-  0xbe, 0xc2, 0x0, 0xc7, 0xca, 0x0, 0xcf, 0xd2, 
-  0x0, 0xd7, 0xda, 0x0, 0xdc };
-static const unsigned char u100[] = { 
-  0x00, 0x0, 0x0b, 0x0d, 0x0, 0x26,
-  0x28, 0x0, 0x3a, 0x3c, 0x3d, 0x3f, 0x0, 0x4d,
-  0x50, 0x0, 0x5d, 0x80, 0x0, 0xfa };
-static const unsigned char u101[] = { 
-  0x40, 0x0, 0x74 };
-static const unsigned char u102[] = { 
-  0x80, 0x0, 0x9c, 0xa0, 0x0, 0xd0 };
-static const unsigned char u103[] = { 
-  0x00, 0x0, 0x1e, 0x30, 0x0, 0x4a,
-  0x80, 0x0, 0x9d, 0xa0, 0x0, 0xc3,
-  0xc8, 0x0, 0xcf, 0xd1, 0x0, 0xd5 };
-static const unsigned char u104[] = { 
-  0x00, 0x0, 0x9d, 0xa0, 0x0, 0xa9 };
-static const unsigned char u108[] = { 
-  0x00, 0x0, 0x05, 0x08, 0x0a, 0x0, 0x35,
-  0x37, 0x38, 0x3c, 0x3f, 0x0, 0x55 };
-static const unsigned char u109[] = {
-  0x00, 0x0, 0x15, 0x20, 0x0, 0x39 };
-static const unsigned char u10a[] = {
-  0x00, 0x10, 0x0, 0x13, 0x15, 0x0, 0x17,
-  0x19, 0x0, 0x33, 0x60, 0x0, 0x7c };
-static const unsigned char u10b[] = {
-  0x00, 0x0, 0x35, 0x40, 0x0, 0x55,
-  0x60, 0x0, 0x72 };
-static const unsigned char u10c[] = {
-  0x00, 0x0, 0x48 };
-static const unsigned char u110[] = {
-  0x83, 0x0, 0xaf };
-/* u120 to u122 all alphabetic */
-static const unsigned char u123[] = { 
-  0x00, 0x0, 0x6e };
-static const unsigned char u124[] = { 
-  0x00, 0x0, 0x62 };
-/* u130 to u133 all alphabetic */
-static const unsigned char u134[] = {
-  0x00, 0x0, 0x2e };
-static const unsigned char u1d4[] = { 
-  0x00, 0x0, 0x54, 0x56, 0x0, 0x9c,
-  0x9e, 0x0, 0x9f, 0xa2, 0xa5, 0x0, 0xa6,
-  0xa9, 0x0, 0xac, 0xae, 0x0, 0xb9, 0xbb,
-  0xbd, 0x0, 0xc3, 0xc5, 0x0, 0xff };
-static const unsigned char u1d5[] = { 
-  0x00, 0x0, 0x05, 0x07, 0x0, 
-  0x0a, 0x0d, 0x0, 0x14, 0x16, 0x0, 0x1c, 0x1e, 
-  0x0, 0x39, 0x3b, 0x0, 0x3e, 0x40, 0x0, 0x44, 
-  0x46, 0x4a, 0x0, 0x50, 0x52, 0x0, 0xff }; 
-static const unsigned char u1d6[] = { 
-  0x00, 0x0, 0xa5, 0xa8, 0x0, 0xc0,
-  0xc2, 0x0, 0xda, 0xdc, 0x0, 0xfa, 
-  0xfc, 0x0, 0xff };
-static const unsigned char u1d7[] = { 
-  0x00, 0x0, 0x14, 0x16, 0x0, 0x34,
-  0x36, 0x0, 0x4e, 0x50, 0x0, 0x6e, 
-  0x70, 0x0, 0x88, 0x8a, 0x0, 0xa8,
-  0xaa, 0x0, 0xc2, 0xc4, 0x0, 0xcb,
-  0xce, 0x0, 0xff };
-static const unsigned char u1f1[] = {
-  0x10, 0x0, 0x2c, 0x31, 0x3d, 0x3f, 0x42, 0x46,
-  0x57, 0x5f, 0x79, 0x7b, 0x7c, 0x7f, 0x8a };
-/* u200 to u2a5 all alphabetic */
-static const unsigned char u2a6[] = { 
-  0x00, 0x0, 0xd6 };
-/* u2a7 to u2b6 all alphabetic */
-static const unsigned char u2b7[] = {
-  0x00, 0x0, 0x34 };
-/* u2f8 to u2f9 all alphabetic */
-static const unsigned char u2fa[] = { 
-  0x00, 0x0, 0x1d };
diff --git a/newlib/libc/ctype/utf8print.h b/newlib/libc/ctype/utf8print.h
deleted file mode 100644
index abeb81c..0000000
--- a/newlib/libc/ctype/utf8print.h
+++ /dev/null
@@ -1,389 +0,0 @@
-/* Copyright (c) 2002 Red Hat Incorporated.
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-
-     Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-
-     Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-
-     The name of Red Hat Incorporated may not be used to endorse
-     or promote products derived from this software without specific
-     prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS   
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* Generated using UnicodeData.txt 5.2 */
-
-/* Expression used to filter out the characters for the below tables:
-
-   awk -F\; \
-   '{ \
-     VAL = strtonum (sprintf("0x%s", $1)); \
-     # All valid characters except from categories Cc (C0 or C1 control code), \
-     # Cs (Surrogates), Zl (Line separator), and Zp (Paragraph separator).\
-     # \
-     # Before running this test, make sure to expand all Unicode blocks \
-     # which are just marked by their first and last character! \
-     # \
-     if (!match($3, "^C[cs]") && !match($3, "^Z[lp]")) \
-       print $1; \
-   }' UnicodeData.txt
-*/
-static const unsigned char u0[] = {
-  0x20, 0x0, 0x7e, 0xa0, 0x0, 0xff };
-/* u1 is all-print */
-/* u2 is all-print */
-static const unsigned char u3[] = { 
-  0x00, 0x0, 0x77, 0x7a, 0x0, 0x7e,
-  0x84, 0x0, 0x8a, 0x8c, 0x8e, 0x0, 
-  0xa1, 0xa3, 0x0, 0xff };
-/* u4 is all-print */
-static const unsigned char u5[] = {
-  0x00, 0x0, 0x25, 0x31, 0x0, 
-  0x56, 0x59, 0x0, 0x5f, 0x61, 0x0, 0x87, 0x89, 
-  0x0, 0x8a, 0x91, 0x0, 0xc7, 0xd0, 0x0, 0xea,
-  0xf0, 0x0, 0xf4 };
-static const unsigned char u6[] = {
-  0x00, 0x0, 0x03, 0x06, 0x0, 0x1b, 0x1e, 0x1f,
-  0x21, 0x0, 0x5e, 0x60, 0x0, 0xff };
-static const unsigned char u7[] = { 
-  0x00, 0x0, 0x0d, 0x0f, 0x0, 0x4a, 0x4d, 0x0, 0xb1,
-  0xc0, 0x0, 0xfa };
-static const unsigned char u8[] = { 
-  0x00, 0x0, 0x2d, 0x30, 0x0, 0x3e, };
-static const unsigned char u9[] = {
-  0x00, 0x0, 0x39, 0x3c, 0x0, 0x4e, 0x50, 0x0, 0x55, 
-  0x58, 0x0, 0x72, 0x79, 0x0, 0x7f, 0x81, 0x0, 0x83,
-  0x85, 0x0, 0x8c, 0x8f, 0x0, 0x90, 0x93, 0x0, 0xa8,
-  0xaa, 0x0, 0xb0, 0xb2, 0xb6, 0x0, 0xb9, 0xbc, 
-  0x0, 0xc4, 0xc7, 0xc8, 0xcb, 0x0, 0xce, 
-  0xd7, 0xdc, 0x0, 0xdd, 0xdf, 0x0, 0xe3, 0xe6, 
-  0x0, 0xfb };
-static const unsigned char ua[] = { 
-  0x01, 0x0, 0x03, 0x05, 0x0, 0x0a, 0x0f, 0x0, 
-  0x10, 0x13, 0x0, 0x28, 0x2a, 0x0, 0x30, 0x32, 
-  0x0, 0x33, 0x35, 0x0, 0x36, 0x38, 0x0, 0x39, 
-  0x3c, 0x3e, 0x0, 0x42, 0x47, 0x0, 0x48, 0x4b, 
-  0x0, 0x4d, 0x51, 0x59, 0x0, 0x5c, 0x5e, 0x66, 0x0, 
-  0x75, 0x81, 0x0, 0x83, 0x85, 0x0, 0x8d,
-  0x8f, 0x0, 0x91, 0x93, 0x0, 0xa8, 0xaa, 0x0, 
-  0xb0, 0xb2, 0x0, 0xb3, 0xb5, 0x0, 0xb9, 0xbc, 
-  0x0, 0xc5, 0xc7, 0x0, 0xc9, 0xcb, 0x0, 0xcd, 
-  0xd0, 0xe0, 0x0, 0xe3, 0xe6, 0x0, 0xef, 0xf1 };
-static const unsigned char ub[] = {
-  0x01, 0x0, 0x03, 
-  0x05, 0x0, 0x0c, 0x0f, 0x0, 0x10, 0x13, 0x0, 
-  0x28, 0x2a, 0x0, 0x30, 0x32, 0x0, 0x33, 0x35, 
-  0x0, 0x39, 0x3c, 0x0, 0x44, 0x47, 0x0, 0x48, 
-  0x4b, 0x0, 0x4d, 0x56, 0x0, 0x57, 0x5c, 0x0, 
-  0x5d, 0x5f, 0x0, 0x63, 0x66, 0x0, 0x71, 0x82, 
-  0x0, 0x83, 0x85, 0x0, 0x8a, 0x8e, 0x0, 0x90, 
-  0x92, 0x0, 0x95, 0x99, 0x0, 0x9a, 0x9c, 0x9e, 
-  0x0, 0x9f, 0xa3, 0x0, 0xa4, 0xa8, 0x0, 0xaa, 
-  0xae, 0x0, 0xb9, 0xbe, 0x0, 
-  0xc2, 0xc6, 0x0, 0xc8, 0xca, 0x0, 0xcd, 0xd0,
-  0xd7, 0xe6, 0xe7, 0x0, 0xfa };
-static const unsigned char uc[] = {
-  0x01, 0x0, 0x03, 0x05, 0x0, 
-  0x0c, 0x0e, 0x0, 0x10, 0x12, 0x0, 0x28, 0x2a, 
-  0x0, 0x33, 0x35, 0x0, 0x39, 0x3d, 0x0, 0x44, 
-  0x46, 0x0, 0x48, 0x4a, 0x0, 0x4d, 0x55, 0x0, 
-  0x56, 0x58, 0x59, 0x60, 0x0, 0x63, 0x66, 0x0, 0x6f,
-  0x78, 0x0, 0x7f, 0x82, 0x83, 0x85, 0x0, 0x8c,
-  0x8e, 0x0, 0x90, 0x92, 0x0, 0xa8, 0xaa, 0x0, 0xb3,
-  0xb5, 0x0, 0xb9, 0xbc, 0x0, 0xc4, 0xc6, 0x0, 0xc8,
-  0xca, 0x0, 0xcd, 0xd5, 0x0, 0xd6, 0xde, 0xe0, 0x0, 
-  0xe3, 0xe6, 0x0, 0xef, 0xf1, 0xf2 };
-static const unsigned char ud[] = {
-  0x02, 0x0, 0x03, 0x05, 
-  0x0, 0x0c, 0x0e, 0x0, 0x10, 0x12, 0x0, 0x28, 
-  0x2a, 0x0, 0x39, 0x3d, 0x0, 0x44, 0x46, 0x0, 
-  0x48, 0x4a, 0x0, 0x4d, 0x57, 0x60, 0x0, 0x63, 
-  0x66, 0x0, 0x75, 0x79, 0x0, 0x7f, 0x82, 0x0, 0x83,
-  0x85, 0x0, 0x96, 0x9a, 0x0, 0xb1, 0xb3, 0x0, 0xbb,
-  0xbd, 0xc0, 0x0, 0xc6, 0xca, 0xcf, 0x0, 0xd4, 0xd6, 
-  0xd8, 0x0, 0xdf, 0xf2, 0x0, 0xf4 };
-static const unsigned char ue[] = {
-  0x01, 0x0, 
-  0x3a, 0x3f, 0x0, 0x5b, 0x81, 0x0, 0x82, 0x84, 
-  0x87, 0x0, 0x88, 0x8a, 0x8d, 0x94, 0x0, 0x97, 
-  0x99, 0x0, 0x9f, 0xa1, 0x0, 0xa3, 0xa5, 0xa7, 
-  0xaa, 0x0, 0xab, 0xad, 0x0, 0xb9, 0xbb, 0x0, 
-  0xbd, 0xc0, 0x0, 0xc4, 0xc6, 0xc8, 0x0, 0xcd, 
-  0xd0, 0x0, 0xd9, 0xdc, 0x0, 0xdd };
-static const unsigned char uf[] = {
-  0x00, 0x0, 0x47, 0x49, 0x0, 0x6c,
-  0x71, 0x0, 0x8b, 0x90, 0x0, 0x97,
-  0x99, 0x0, 0xbc, 0xbe, 0x0, 0xcc, 
-  0xce, 0x0, 0xd8 };
-static const unsigned char u10[] = {
-  0x00, 0x0, 0xc5, 0xd0, 0x0, 0xfc };
-/* u11 is all-print */
-static const unsigned char u12[] = {
-  0x00, 0x0, 0x48, 0x4a, 0x0, 0x4d, 0x50, 0x0, 0x56, 
-  0x58, 0x5a, 0x0, 0x5d, 0x60, 0x0, 0x88, 
-  0x8a, 0x0, 0x8d, 0x90, 0x0, 0xb0, 0xb2, 
-  0x0, 0xb5, 0xb8, 0x0, 0xbe, 0xc0, 0xc2, 0x0, 
-  0xc5, 0xc8, 0x0, 0xd6, 0xd8, 0x0, 0xff };
-static const unsigned char u13[] = {
-  0x00, 0x0, 0x10, 0x12, 0x0, 0x15,
-  0x18, 0x0, 0x5a, 0x5f, 0x0, 0x7c,
-  0x80, 0x0, 0x99, 0xa0, 0x0, 0xf4 };
-/* u14 is all-print */
-/* u15 is all-print */
-static const unsigned char u16[] = {
-  0x00, 0x0, 0x9c, 0xa0, 0x0, 0xf0 };
-static const unsigned char u17[] = {
-  0x00, 0x0, 0x0c, 0x0e, 0x0, 0x14, 0x20, 
-  0x0, 0x36, 0x40, 0x0, 0x53, 0x60, 0x0, 0x6c, 
-  0x6e, 0x0, 0x70, 0x72, 0x0, 0x73, 0x80, 0x0, 
-  0xdd, 0xe0, 0x0, 0xe9, 0xf0, 0x0, 0xf9 };
-static const unsigned char u18[] = {
-  0x00, 0x0, 0x0e, 0x10, 
-  0x0, 0x19, 0x20, 0x0, 0x77, 0x80, 0x0, 0xaa,
-  0xb0, 0x0, 0xf5 };
-static const unsigned char u19[] = {
-  0x00, 0x0, 0x1c, 0x20, 0x0, 0x2b,
-  0x30, 0x0, 0x3b, 0x40, 0x44, 0x0, 0x6d,
-  0x70, 0x0, 0x74, 0x80, 0x0, 0xab,
-  0xb0, 0x0, 0xc9, 0xd0, 0x0, 0xda,
-  0xde, 0x0, 0xff };
-static const unsigned char u1a[] = {
-  0x00, 0x0, 0x1b, 0x1e, 0x0, 0x5e,
-  0x60, 0x0, 0x7c, 0x7f, 0x0, 0x89,
-  0x90, 0x0, 0x99, 0xa0, 0x0, 0xad };
-static const unsigned char u1b[] = {
-  0x00, 0x0, 0x4b, 0x50, 0x0, 0x7c,
-  0x80, 0x0, 0xaa, 0xae, 0x0, 0xb9 };
-static const unsigned char u1c[] = {
-  0x00, 0x0, 0x37, 0x3b, 0x0, 0x49,
-  0x4d, 0x0, 0x7f, 0xd0, 0x0, 0xf2 };
-static const unsigned char u1d[] = { 
-  0x00, 0x0, 0xe6, 0xfd, 0x0, 0xff };
-/* u1e is all-print */
-static const unsigned char u1f[] = {
-  0x00, 0x0, 
-  0x15, 0x18, 0x0, 0x1d, 0x20, 0x0, 0x45, 0x48, 
-  0x0, 0x4d, 0x50, 0x0, 0x57, 0x59, 0x5b, 0x5d, 
-  0x5f, 0x0, 0x7d, 0x80, 0x0, 0xb4, 0xb6, 0x0, 
-  0xc4, 0xc6, 0x0, 0xd3, 0xd6, 0x0, 0xdb, 0xdd, 
-  0x0, 0xef, 0xf2, 0x0, 0xf4, 0xf6, 0x0, 0xfe };
-static const unsigned char u20[] = { 
-  0x00, 0x0, 0x27, 0x2a, 0x0, 0x64,
-  0x6a, 0x0, 0x71, 0x74, 0x0, 0x8e, 
-  0x90, 0x0, 0x94, 0xa0, 0x0, 0xb8,
-  0xd0, 0x0, 0xf0 };
-static const unsigned char u21[] = {
-  0x00, 0x0, 0x89, 0x90, 0x0, 0xff };
-/* u22 is all-print */
-static const unsigned char u23[] = {
-  0x00, 0x0, 0xe8 };
-static const unsigned char u24[] = {
-  0x00, 0x0, 0x26, 0x40, 0x0, 0x4a, 
-  0x60, 0x0, 0xff };
-/* u25 is all-print */
-static const unsigned char u26[] = {
-  0x00, 0x0, 0xcd, 0xcf, 0x0, 0xe1,
-  0xe3, 0xe8, 0x0, 0xff };
-static const unsigned char u27[] = {
-  0x01, 0x0, 0x04, 0x06, 0x0, 0x09,
-  0x0c, 0x0, 0x27, 0x29, 0x0, 0x4b, 0x4d,
-  0x4f, 0x0, 0x52, 0x56, 0x0, 0x5e,
-  0x61, 0x0, 0x94, 0x98, 0x0, 0xaf,
-  0xb1, 0x0, 0xbe, 0xc0, 0x0, 0xca, 0xcc,
-  0xd0, 0x0, 0xff };
-/* u28 to u2a are all-print */
-static const unsigned char u2b[] = {
-  0x00, 0x0, 0x4c, 0x50, 0x0, 0x59 };
-static const unsigned char u2c[] = {
-  0x00, 0x0, 0x2e, 0x30, 0x0, 0x5e,
-  0x60, 0x0, 0xf1, 0xf9, 0x0, 0xff };
-static const unsigned char u2d[] = {
-  0x00, 0x0, 0x25, 0x30, 0x0, 0x65, 0x6f,
-  0x80, 0x0, 0x96, 0xa0, 0x0, 0xa6,
-  0xa8, 0x0, 0xae, 0xb0, 0x0, 0xb6,
-  0xb8, 0x0, 0xbe, 0xc0, 0x0, 0xc6,
-  0xc8, 0x0, 0xce, 0xd0, 0x0, 0xd6,
-  0xd8, 0x0, 0xde, 0xe0, 0x0, 0xff };
-static const unsigned char u2e[] = {
-  0x00, 0x0, 0x31, 0x80, 0x0, 0x99,
-  0x9b, 0x0, 0xf3 };
-static const unsigned char u2f[] = { 
-  0x00, 0x0, 0xd5, 0xf0, 0x0, 0xfb };
-static const unsigned char u30[] = {
-  0x00, 0x0, 
-  0x3f, 0x41, 0x0, 0x96, 0x99, 0x0, 0xff };
-static const unsigned char u31[] = {
-  0x05, 0x0, 0x2d, 0x31, 0x0, 0x8e,
-  0x90, 0x0, 0xb7, 0xc0, 0x0, 0xe3,
-  0xf0, 0x0, 0xff };
-static const unsigned char u32[] = {
-  0x00, 0x0, 0x1e, 0x20, 0x0, 0xfe };
-/* u33 to u4c is all-print */
-static const unsigned char u4d[] = { 
-  0x00, 0x0, 0xb5, 0xc0, 0x0, 0xff };
-/* u4e to u9e is all-print */
-static const unsigned char u9f[] = {
-  0x00, 0x0, 0xcb };
-/* ua0 to ua3 is all-print */
-static const unsigned char ua4[] = {
-  0x00, 0x0, 0x8c, 0x90, 0x0, 0xc6,
-  0xd0, 0x0, 0xff };
-/* ua5 is all-print */
-static const unsigned char ua6[] = {
-  0x00, 0x0, 0x2b, 0x40, 0x0, 0x5f,
-  0x62, 0x0, 0x73, 0x7c, 0x0, 0x97,
-  0xa0, 0x0, 0xf7 };
-static const unsigned char ua7[] = {
-  0x00, 0x0, 0x8c, 0xfb, 0x0, 0xff };
-static const unsigned char ua8[] = {
-  0x00, 0x0, 0x2b, 0x30, 0x0, 0x39,
-  0x40, 0x0, 0x77, 0x80, 0x0, 0xc4,
-  0xce, 0x0, 0xd9, 0xe0, 0x0, 0xfb };
-static const unsigned char ua9[] = {
-  0x00, 0x0, 0x53, 0x5f, 0x0, 0x7c,
-  0x80, 0x0, 0xcd, 0xcf, 0x0, 0xd9,
-  0xde, 0xdf };
-static const unsigned char uaa[] = {
-  0x00, 0x0, 0x36, 0x40, 0x0, 0x4d,
-  0x50, 0x0, 0x59, 0x5c, 0x0, 0x7b,
-  0x80, 0x0, 0xc2, 0xdb, 0x0, 0xdf };
-static const unsigned char uab[] = {
-  0xc0, 0x0, 0xed, 0xf0, 0x0, 0xf9 };
-/* uac to ud6 is all-print */
-static const unsigned char ud7[] = {
-  0x00, 0x0, 0xa3, 0xb0, 0x0, 0xc6,
-  0xcb, 0x0, 0xfb };
-/* ud8 to udf are UTF-16 surrogates, non-printable */
-/* ue0 to uf9 is all-print */
-static const unsigned char ufa[] = {
-  0x00, 0x0, 0x2d, 0x30, 0x0, 0x6d,
-  0x70, 0x0, 0xd9 };
-static const unsigned char ufb[] = {
-  0x00, 0x0, 0x06, 0x13, 0x0, 0x17,
-  0x1d, 0x0, 0x36, 0x38, 0x0, 0x3c,
-  0x3e, 0x40, 0x41, 0x43, 0x44, 
-  0x46, 0x0, 0xb1, 0xd3, 0x0, 0xff };
-/* ufc is all-print */
-static const unsigned char ufd[] = {
-  0x00, 0x0, 0x3f, 0x50, 0x0, 0x8f,
-  0x92, 0x0, 0xc7, 0xf0, 0x0, 0xfd };
-static const unsigned char ufe[] = {
-  0x00, 0x0, 0x19, 0x20, 0x0, 0x26,
-  0x30, 0x0, 0x52, 0x54, 0x0, 0x66,
-  0x68, 0x0, 0x6b, 0x70, 0x0, 0x74,
-  0x76, 0x0, 0xfc, 0xff };
-static const unsigned char uff[] = {
-  0x01, 0x0, 0xbe, 0xc2, 0x0, 0xc7, 0xca, 0x0, 
-  0xcf, 0xd2, 0x0, 0xd7, 0xda, 0x0, 0xdc, 0xe0, 
-  0x0, 0xe6, 0xe8, 0x0, 0xee, 0xf9, 0x0, 0xfd }; 
-static const unsigned char u100[] = {
-  0x00, 0x0, 0x0b, 0x0d, 0x0, 0x26,
-  0x28, 0x0, 0x3a, 0x3c, 0x3d, 0x3f, 0x0, 0x4d,
-  0x50, 0x0, 0x5d, 0x80, 0x0, 0xfa };
-static const unsigned char u101[] = {
-  0x00, 0x0, 0x02, 0x07, 0x0, 0x33,
-  0x37, 0x0, 0x8a, 0x90, 0x0, 0x9b,
-  0xd0, 0x0, 0xfd };
-static const unsigned char u102[] = {
-  0x80, 0x0, 0x9c, 0xa0, 0x0, 0xd0 };
-static const unsigned char u103[] = {
-  0x00, 0x0, 0x1e, 0x20, 0x0, 0x23,
-  0x30, 0x0, 0x4a, 0x80, 0x0, 0x9d,
-  0x9f, 0x0, 0xc3, 0xc8, 0x0, 0xd5 };
-static const unsigned char u104[] = {
-  0x00, 0x0, 0x9d, 0xa0, 0x0, 0xa9 };
-static const unsigned char u108[] = {
-  0x00, 0x0, 0x05, 0x08, 0x0a, 0x0, 0x35,
-  0x37, 0x38, 0x3c, 0x3f, 0x0, 0x55,
-  0x57, 0x0, 0x5f };
-static const unsigned char u109[] = {
-  0x00, 0x0, 0x1b, 0x1f, 0x0, 0x39, 0x3f };
-static const unsigned char u10a[] = {
-  0x00, 0x0, 0x03, 0x05, 0x06, 0x0c, 0x0, 0x13,
-  0x15, 0x0, 0x17, 0x19, 0x0, 0x33,
-  0x38, 0x0, 0x3a, 0x3f, 0x0, 0x47,
-  0x50, 0x0, 0x58, 0x60, 0x0, 0x7f };
-static const unsigned char u10b[] = {
-  0x00, 0x0, 0x35, 0x39, 0x0, 0x55,
-  0x58, 0x0, 0x72, 0x78, 0x0, 0x7f };
-static const unsigned char u10c[] = {
-  0x00, 0x0, 0x48 };
-static const unsigned char u10e[] = {
-  0x60, 0x0, 0x7e };
-static const unsigned char u110[] = {
-  0x80, 0x0, 0xc1 };
-/* u120 to u122 is all-print */
-static const unsigned char u123[] = {
-  0x00, 0x0, 0x6e };
-static const unsigned char u124[] = {
-  0x00, 0x0, 0x62, 0x70, 0x0, 0x73 };
-/* u130 to u133 is all-print */
-static const unsigned char u134[] = {
-  0x00, 0x0, 0x2e };
-static const unsigned char u1d0[] = {
-  0x00, 0x0, 0xf5 };
-static const unsigned char u1d1[] = {
-  0x00, 0x0, 0x26, 0x29, 0x0, 0xdd };
-static const unsigned char u1d2[] = {
-  0x00, 0x0, 0x45 };
-static const unsigned char u1d3[] = {
-  0x00, 0x0, 0x56, 0x60, 0x0, 0x71 };
-static const unsigned char u1d4[] = { 
-  0x00, 0x0, 0x54, 0x56, 0x0, 0x9c, 0x9e, 0x0, 
-  0x9f, 0xa2, 0xa5, 0x0, 0xa6, 0xa9, 0x0, 0xac, 
-  0xae, 0x0, 0xb9, 0xbb, 0xbd, 0x0, 0xc3,
-  0xc5, 0x0, 0xff };
-static const unsigned char u1d5[] = {
-  0x00, 0x0, 0x05, 0x07, 0x0, 0x0a, 
-  0x0d, 0x0, 0x14, 0x16, 0x0, 0x1c, 0x1e, 0x0, 
-  0x39, 0x3b, 0x0, 0x3e, 0x40, 0x0, 0x44, 0x46, 
-  0x4a, 0x0, 0x50, 0x52, 0x0, 0xff };
-static const unsigned char u1d6[] = {
-  0x00, 0x0, 0xa5, 0xa8, 0x0, 0xff };
-static const unsigned char u1d7[] = {
-  0x00, 0x0, 0xcb, 0xce, 0x0, 0xff };
-static const unsigned char u1f0[] = {
-  0x00, 0x0, 0x2b, 0x30, 0x0, 0x93 };
-static const unsigned char u1f1[] = {
-  0x00, 0x0, 0x0a, 0x10, 0x0, 0x2e,
-  0x31, 0x3d, 0x3f, 0x42, 0x46, 0x4a, 0x0, 0x4e,
-  0x57, 0x5f, 0x79, 0x7b, 0x7c, 0x7f, 0x8a, 0x0,
-  0x8c, 0x8d, 0x90 };
-static const unsigned char u1f2[] = {
-  0x00, 0x10, 0x0, 0x31, 0x40, 0x0, 0x48 };
-/* u200 to u2a5 is all-print */
-static const unsigned char u2a6[] = {
-  0x00, 0x0, 0xd6 };
-/* u2a7 to u2b6 is all-print */
-static const unsigned char u2b7[] = {
-  0x00, 0x0, 0x34 };
-/* u2f8 to u2f9 is all-print */
-static const unsigned char u2fa[] = {
-  0x00, 
-  0x0, 0x1d };
-static const unsigned char ue00[] = {
-  0x01, 0x20, 0x0, 0x7f };
-static const unsigned char ue01[] = {
-  0x00, 0x0, 0xef };
-/* uf00 to uffe is all-print */
-static const unsigned char ufff[] = {
-  0x00, 0x0, 0xfd };
-/* u1000 to u10fe is all-print */
-static const unsigned char u10ff[] = {
-  0x00, 0x0, 0xfd };
-- 
2.16.2



More information about the Newlib mailing list