[gnome-characters] build: Update gnulib files after libunistring 0.9.8 release



commit 658d23dc85bc1f7605445fafc7324a7d88d9a739
Author: Daiki Ueno <dueno src gnome org>
Date:   Sun Dec 3 07:45:01 2017 +0100

    build: Update gnulib files after libunistring 0.9.8 release

 gllib/limits.in.h                                  |    2 +-
 gllib/localcharset.h                               |    2 +-
 gllib/stdbool.in.h                                 |    8 +-
 gllib/stdint.in.h                                  |    2 +-
 gllib/streq.h                                      |    2 +-
 gllib/sys_types.in.h                               |    2 +-
 gllib/unicase.in.h                                 |    2 +-
 gllib/unicase/simple-mapping.h                     |    2 +-
 gllib/unicase/tolower.c                            |    2 +-
 gllib/unicase/tolower.h                            |   46 +-
 gllib/unicase/totitle.c                            |    2 +-
 gllib/unicase/totitle.h                            |   76 ++-
 gllib/unicase/toupper.c                            |    2 +-
 gllib/unicase/toupper.h                            |   76 ++-
 gllib/unictype.in.h                                |    2 +-
 gllib/unictype/bidi_of.c                           |    2 +-
 gllib/unictype/bidi_of.h                           |  115 ++-
 gllib/unictype/bitmap.h                            |    2 +-
 gllib/unictype/block_test.c                        |    2 +-
 gllib/unictype/blocks.c                            |    2 +-
 gllib/unictype/blocks.h                            | 1103 ++++++++++----------
 gllib/unictype/categ_C.c                           |    2 +-
 gllib/unictype/categ_C.h                           |  140 ++--
 gllib/unictype/categ_Cc.c                          |    2 +-
 gllib/unictype/categ_Cc.h                          |    2 +-
 gllib/unictype/categ_Cf.c                          |    2 +-
 gllib/unictype/categ_Cf.h                          |   24 +-
 gllib/unictype/categ_Cn.c                          |    2 +-
 gllib/unictype/categ_Cn.h                          |  816 ++++++++-------
 gllib/unictype/categ_Co.c                          |    2 +-
 gllib/unictype/categ_Co.h                          |    2 +-
 gllib/unictype/categ_Cs.c                          |    2 +-
 gllib/unictype/categ_Cs.h                          |    2 +-
 gllib/unictype/categ_L.c                           |    2 +-
 gllib/unictype/categ_L.h                           |   96 +-
 gllib/unictype/categ_LC.c                          |    2 +-
 gllib/unictype/categ_LC.h                          |   18 +-
 gllib/unictype/categ_Ll.c                          |    2 +-
 gllib/unictype/categ_Ll.h                          |   16 +-
 gllib/unictype/categ_Lm.c                          |    2 +-
 gllib/unictype/categ_Lm.h                          |    4 +-
 gllib/unictype/categ_Lo.c                          |    2 +-
 gllib/unictype/categ_Lo.h                          |   82 +-
 gllib/unictype/categ_Lt.c                          |    2 +-
 gllib/unictype/categ_Lt.h                          |    2 +-
 gllib/unictype/categ_Lu.c                          |    2 +-
 gllib/unictype/categ_Lu.h                          |   16 +-
 gllib/unictype/categ_M.c                           |    2 +-
 gllib/unictype/categ_M.h                           |   44 +-
 gllib/unictype/categ_Mc.c                          |    2 +-
 gllib/unictype/categ_Mc.h                          |   16 +-
 gllib/unictype/categ_Me.c                          |    2 +-
 gllib/unictype/categ_Me.h                          |    2 +-
 gllib/unictype/categ_Mn.c                          |    2 +-
 gllib/unictype/categ_Mn.h                          |   44 +-
 gllib/unictype/categ_N.c                           |    2 +-
 gllib/unictype/categ_N.h                           |   28 +-
 gllib/unictype/categ_Nd.c                          |    2 +-
 gllib/unictype/categ_Nd.h                          |   24 +-
 gllib/unictype/categ_Nl.c                          |    2 +-
 gllib/unictype/categ_Nl.h                          |    2 +-
 gllib/unictype/categ_No.c                          |    2 +-
 gllib/unictype/categ_No.h                          |   20 +-
 gllib/unictype/categ_P.c                           |    2 +-
 gllib/unictype/categ_P.h                           |   30 +-
 gllib/unictype/categ_Pc.c                          |    2 +-
 gllib/unictype/categ_Pc.h                          |    2 +-
 gllib/unictype/categ_Pd.c                          |    2 +-
 gllib/unictype/categ_Pd.h                          |    2 +-
 gllib/unictype/categ_Pe.c                          |    2 +-
 gllib/unictype/categ_Pe.h                          |    2 +-
 gllib/unictype/categ_Pf.c                          |    2 +-
 gllib/unictype/categ_Pf.h                          |    2 +-
 gllib/unictype/categ_Pi.c                          |    2 +-
 gllib/unictype/categ_Pi.h                          |    2 +-
 gllib/unictype/categ_Po.c                          |    2 +-
 gllib/unictype/categ_Po.h                          |   30 +-
 gllib/unictype/categ_Ps.c                          |    2 +-
 gllib/unictype/categ_Ps.h                          |    2 +-
 gllib/unictype/categ_S.c                           |    2 +-
 gllib/unictype/categ_S.h                           |   26 +-
 gllib/unictype/categ_Sc.c                          |    2 +-
 gllib/unictype/categ_Sc.h                          |    2 +-
 gllib/unictype/categ_Sk.c                          |    2 +-
 gllib/unictype/categ_Sk.h                          |    2 +-
 gllib/unictype/categ_Sm.c                          |    2 +-
 gllib/unictype/categ_Sm.h                          |    2 +-
 gllib/unictype/categ_So.c                          |    2 +-
 gllib/unictype/categ_So.h                          |   26 +-
 gllib/unictype/categ_Z.c                           |    2 +-
 gllib/unictype/categ_Z.h                           |    2 +-
 gllib/unictype/categ_Zl.c                          |    2 +-
 gllib/unictype/categ_Zl.h                          |    2 +-
 gllib/unictype/categ_Zp.c                          |    2 +-
 gllib/unictype/categ_Zp.h                          |    2 +-
 gllib/unictype/categ_Zs.c                          |    2 +-
 gllib/unictype/categ_Zs.h                          |    2 +-
 gllib/unictype/categ_and.c                         |    2 +-
 gllib/unictype/categ_and_not.c                     |    2 +-
 gllib/unictype/categ_byname.c                      |    2 +-
 gllib/unictype/categ_longname.c                    |    2 +-
 gllib/unictype/categ_name.c                        |    2 +-
 gllib/unictype/categ_none.c                        |    2 +-
 gllib/unictype/categ_of.c                          |    2 +-
 gllib/unictype/categ_of.h                          |  175 ++--
 gllib/unictype/categ_or.c                          |    2 +-
 gllib/unictype/categ_test.c                        |    2 +-
 gllib/unictype/combiningclass.h                    |   74 ++-
 gllib/unictype/ctype_print.c                       |    2 +-
 gllib/unictype/ctype_print.h                       |  142 ++--
 gllib/unictype/mirror.c                            |    2 +-
 gllib/unictype/mirror.h                            |    2 +-
 gllib/unictype/pr_alphabetic.c                     |    2 +-
 gllib/unictype/pr_alphabetic.h                     |  106 ++-
 gllib/unictype/pr_ascii_hex_digit.c                |    2 +-
 gllib/unictype/pr_ascii_hex_digit.h                |    2 +-
 gllib/unictype/pr_bidi_arabic_digit.c              |    2 +-
 gllib/unictype/pr_bidi_arabic_digit.h              |   12 +-
 gllib/unictype/pr_bidi_arabic_right_to_left.c      |    2 +-
 gllib/unictype/pr_bidi_arabic_right_to_left.h      |    4 +-
 gllib/unictype/pr_bidi_block_separator.c           |    2 +-
 gllib/unictype/pr_bidi_block_separator.h           |    2 +-
 gllib/unictype/pr_bidi_boundary_neutral.c          |    2 +-
 gllib/unictype/pr_bidi_boundary_neutral.h          |    2 +-
 gllib/unictype/pr_bidi_common_separator.c          |    2 +-
 gllib/unictype/pr_bidi_common_separator.h          |    2 +-
 gllib/unictype/pr_bidi_control.c                   |    2 +-
 gllib/unictype/pr_bidi_control.h                   |    2 +-
 gllib/unictype/pr_bidi_embedding_or_override.c     |    2 +-
 gllib/unictype/pr_bidi_embedding_or_override.h     |    2 +-
 gllib/unictype/pr_bidi_eur_num_separator.c         |    2 +-
 gllib/unictype/pr_bidi_eur_num_separator.h         |    2 +-
 gllib/unictype/pr_bidi_eur_num_terminator.c        |    2 +-
 gllib/unictype/pr_bidi_eur_num_terminator.h        |    2 +-
 gllib/unictype/pr_bidi_european_digit.c            |    2 +-
 gllib/unictype/pr_bidi_european_digit.h            |    2 +-
 gllib/unictype/pr_bidi_hebrew_right_to_left.c      |    2 +-
 gllib/unictype/pr_bidi_hebrew_right_to_left.h      |    6 +-
 gllib/unictype/pr_bidi_left_to_right.c             |    2 +-
 gllib/unictype/pr_bidi_left_to_right.h             |   66 +-
 gllib/unictype/pr_bidi_non_spacing_mark.c          |    2 +-
 gllib/unictype/pr_bidi_non_spacing_mark.h          |   44 +-
 gllib/unictype/pr_bidi_other_neutral.c             |    2 +-
 gllib/unictype/pr_bidi_other_neutral.h             |   32 +-
 gllib/unictype/pr_bidi_pdf.c                       |    2 +-
 gllib/unictype/pr_bidi_pdf.h                       |    2 +-
 gllib/unictype/pr_bidi_segment_separator.c         |    2 +-
 gllib/unictype/pr_bidi_segment_separator.h         |    2 +-
 gllib/unictype/pr_bidi_whitespace.c                |    2 +-
 gllib/unictype/pr_bidi_whitespace.h                |    2 +-
 gllib/unictype/pr_byname.c                         |    2 +-
 gllib/unictype/pr_case_ignorable.c                 |    2 +-
 gllib/unictype/pr_case_ignorable.h                 |   48 +-
 gllib/unictype/pr_cased.c                          |    2 +-
 gllib/unictype/pr_cased.h                          |   18 +-
 gllib/unictype/pr_changes_when_casefolded.c        |    2 +-
 gllib/unictype/pr_changes_when_casefolded.h        |   32 +-
 gllib/unictype/pr_changes_when_casemapped.c        |    2 +-
 gllib/unictype/pr_changes_when_casemapped.h        |   18 +-
 gllib/unictype/pr_changes_when_lowercased.c        |    2 +-
 gllib/unictype/pr_changes_when_lowercased.h        |   14 +-
 gllib/unictype/pr_changes_when_titlecased.c        |    2 +-
 gllib/unictype/pr_changes_when_titlecased.h        |   16 +-
 gllib/unictype/pr_changes_when_uppercased.c        |    2 +-
 gllib/unictype/pr_changes_when_uppercased.h        |   16 +-
 gllib/unictype/pr_combining.c                      |    2 +-
 gllib/unictype/pr_combining.h                      |   44 +-
 gllib/unictype/pr_composite.c                      |    2 +-
 gllib/unictype/pr_composite.h                      |    2 +-
 gllib/unictype/pr_currency_symbol.c                |    2 +-
 gllib/unictype/pr_currency_symbol.h                |    2 +-
 gllib/unictype/pr_dash.c                           |    2 +-
 gllib/unictype/pr_dash.h                           |    2 +-
 gllib/unictype/pr_decimal_digit.c                  |    2 +-
 gllib/unictype/pr_decimal_digit.h                  |   24 +-
 gllib/unictype/pr_default_ignorable_code_point.c   |    2 +-
 gllib/unictype/pr_default_ignorable_code_point.h   |    2 +-
 gllib/unictype/pr_deprecated.c                     |    2 +-
 gllib/unictype/pr_deprecated.h                     |    4 +-
 gllib/unictype/pr_diacritic.c                      |    2 +-
 gllib/unictype/pr_diacritic.h                      |   22 +-
 gllib/unictype/pr_extender.c                       |    2 +-
 gllib/unictype/pr_extender.h                       |   16 +-
 gllib/unictype/pr_format_control.c                 |    2 +-
 gllib/unictype/pr_format_control.h                 |    2 +-
 gllib/unictype/pr_grapheme_base.c                  |    2 +-
 gllib/unictype/pr_grapheme_base.h                  |  126 ++--
 gllib/unictype/pr_grapheme_extend.c                |    2 +-
 gllib/unictype/pr_grapheme_extend.h                |   46 +-
 gllib/unictype/pr_grapheme_link.c                  |    2 +-
 gllib/unictype/pr_grapheme_link.h                  |    6 +-
 gllib/unictype/pr_hex_digit.c                      |    2 +-
 gllib/unictype/pr_hex_digit.h                      |    2 +-
 gllib/unictype/pr_hyphen.c                         |    2 +-
 gllib/unictype/pr_hyphen.h                         |    2 +-
 gllib/unictype/pr_id_continue.c                    |    2 +-
 gllib/unictype/pr_id_continue.h                    |  110 ++-
 gllib/unictype/pr_id_start.c                       |    2 +-
 gllib/unictype/pr_id_start.h                       |   94 +-
 gllib/unictype/pr_ideographic.c                    |    2 +-
 gllib/unictype/pr_ideographic.h                    |  520 ++++++----
 gllib/unictype/pr_ids_binary_operator.c            |    2 +-
 gllib/unictype/pr_ids_binary_operator.h            |    2 +-
 gllib/unictype/pr_ids_trinary_operator.c           |    2 +-
 gllib/unictype/pr_ids_trinary_operator.h           |    2 +-
 gllib/unictype/pr_ignorable_control.c              |    2 +-
 gllib/unictype/pr_ignorable_control.h              |   24 +-
 gllib/unictype/pr_iso_control.c                    |    2 +-
 gllib/unictype/pr_iso_control.h                    |    2 +-
 gllib/unictype/pr_join_control.c                   |    2 +-
 gllib/unictype/pr_join_control.h                   |    2 +-
 gllib/unictype/pr_left_of_pair.c                   |    2 +-
 gllib/unictype/pr_left_of_pair.h                   |    2 +-
 gllib/unictype/pr_line_separator.c                 |    2 +-
 gllib/unictype/pr_line_separator.h                 |    2 +-
 gllib/unictype/pr_logical_order_exception.c        |    2 +-
 gllib/unictype/pr_logical_order_exception.h        |    2 +-
 gllib/unictype/pr_lowercase.c                      |    2 +-
 gllib/unictype/pr_lowercase.h                      |   16 +-
 gllib/unictype/pr_math.c                           |    2 +-
 gllib/unictype/pr_math.h                           |    2 +-
 gllib/unictype/pr_non_break.c                      |    2 +-
 gllib/unictype/pr_non_break.h                      |    2 +-
 gllib/unictype/pr_not_a_character.c                |    2 +-
 gllib/unictype/pr_not_a_character.h                |    2 +-
 gllib/unictype/pr_numeric.c                        |    2 +-
 gllib/unictype/pr_numeric.h                        |   30 +-
 gllib/unictype/pr_other_alphabetic.c               |    2 +-
 gllib/unictype/pr_other_alphabetic.h               |   38 +-
 .../pr_other_default_ignorable_code_point.c        |    2 +-
 .../pr_other_default_ignorable_code_point.h        |    2 +-
 gllib/unictype/pr_other_grapheme_extend.c          |    2 +-
 gllib/unictype/pr_other_grapheme_extend.h          |  179 +++-
 gllib/unictype/pr_other_id_continue.c              |    2 +-
 gllib/unictype/pr_other_id_continue.h              |    2 +-
 gllib/unictype/pr_other_id_start.c                 |    2 +-
 gllib/unictype/pr_other_id_start.h                 |   14 +-
 gllib/unictype/pr_other_lowercase.c                |    2 +-
 gllib/unictype/pr_other_lowercase.h                |    2 +-
 gllib/unictype/pr_other_math.c                     |    2 +-
 gllib/unictype/pr_other_math.h                     |    2 +-
 gllib/unictype/pr_other_uppercase.c                |    2 +-
 gllib/unictype/pr_other_uppercase.h                |    2 +-
 gllib/unictype/pr_paired_punctuation.c             |    2 +-
 gllib/unictype/pr_paired_punctuation.h             |    2 +-
 gllib/unictype/pr_paragraph_separator.c            |    2 +-
 gllib/unictype/pr_paragraph_separator.h            |    2 +-
 gllib/unictype/pr_pattern_syntax.c                 |    2 +-
 gllib/unictype/pr_pattern_syntax.h                 |    2 +-
 gllib/unictype/pr_pattern_white_space.c            |    2 +-
 gllib/unictype/pr_pattern_white_space.h            |    2 +-
 gllib/unictype/pr_private_use.c                    |    2 +-
 gllib/unictype/pr_private_use.h                    |    2 +-
 gllib/unictype/pr_punctuation.c                    |    2 +-
 gllib/unictype/pr_punctuation.h                    |   30 +-
 gllib/unictype/pr_quotation_mark.c                 |    2 +-
 gllib/unictype/pr_quotation_mark.h                 |    2 +-
 gllib/unictype/pr_radical.c                        |    2 +-
 gllib/unictype/pr_radical.h                        |    2 +-
 gllib/unictype/pr_sentence_terminal.c              |    2 +-
 gllib/unictype/pr_sentence_terminal.h              |   18 +-
 gllib/unictype/pr_soft_dotted.c                    |    2 +-
 gllib/unictype/pr_soft_dotted.h                    |    2 +-
 gllib/unictype/pr_space.c                          |    2 +-
 gllib/unictype/pr_space.h                          |    2 +-
 gllib/unictype/pr_terminal_punctuation.c           |    2 +-
 gllib/unictype/pr_terminal_punctuation.h           |   20 +-
 gllib/unictype/pr_test.c                           |    2 +-
 gllib/unictype/pr_titlecase.c                      |    2 +-
 gllib/unictype/pr_titlecase.h                      |    2 +-
 gllib/unictype/pr_unassigned_code_value.c          |    2 +-
 gllib/unictype/pr_unassigned_code_value.h          |  812 ++++++++-------
 gllib/unictype/pr_unified_ideograph.c              |    2 +-
 gllib/unictype/pr_unified_ideograph.h              |    2 +-
 gllib/unictype/pr_uppercase.c                      |    2 +-
 gllib/unictype/pr_uppercase.h                      |   16 +-
 gllib/unictype/pr_variation_selector.c             |    2 +-
 gllib/unictype/pr_variation_selector.h             |    2 +-
 gllib/unictype/pr_white_space.c                    |    2 +-
 gllib/unictype/pr_white_space.h                    |    2 +-
 gllib/unictype/pr_xid_continue.c                   |    2 +-
 gllib/unictype/pr_xid_continue.h                   |  110 ++-
 gllib/unictype/pr_xid_start.c                      |    2 +-
 gllib/unictype/pr_xid_start.h                      |   94 +-
 gllib/unictype/pr_zero_width.c                     |    2 +-
 gllib/unictype/pr_zero_width.h                     |   24 +-
 gllib/unictype/scripts.c                           |    2 +-
 gllib/unictype/scripts.h                           |  461 ++++++---
 gllib/unictype/scripts_byname.gperf                |    8 +-
 gllib/uniname.in.h                                 |    2 +-
 gllib/uniname/gen-uninames.lisp                    |    2 +-
 gllib/uniname/uniname.c                            |  412 ++++----
 gllib/uninorm.in.h                                 |    2 +-
 gllib/uninorm/canonical-decomposition.c            |    2 +-
 gllib/uninorm/decomposition-table.c                |    2 +-
 gllib/uninorm/decomposition-table.h                |    2 +-
 gllib/uninorm/decomposition-table1.h               |    2 +-
 gllib/uninorm/decomposition-table2.h               |  435 ++++----
 gllib/unistr.in.h                                  |    2 +-
 gllib/unistr/u32-to-u8.c                           |    2 +-
 gllib/unistr/u8-mbtoucr.c                          |    2 +-
 gllib/unistr/u8-strmblen.c                         |    2 +-
 gllib/unistr/u8-to-u32.c                           |    2 +-
 gllib/unistr/u8-uctomb-aux.c                       |    2 +-
 gllib/unistr/u8-uctomb.c                           |    2 +-
 gllib/unitypes.in.h                                |    2 +-
 gllib/uniwidth.in.h                                |    2 +-
 gllib/uniwidth/cjk.h                               |    2 +-
 gllib/uniwidth/width.c                             |    2 +-
 gllib/unused-parameter.h                           |    2 +-
 glm4/gnulib-common.m4                              |    6 +-
 glm4/gnulib-comp.m4                                |  300 +++---
 glm4/host-cpu-c-abi.m4                             |  147 ++-
 glm4/lib-ld.m4                                     |   33 +-
 glm4/lib-prefix.m4                                 |   82 +-
 glm4/stdbool.m4                                    |    4 +-
 glm4/sys_types_h.m4                                |    6 +-
 317 files changed, 4843 insertions(+), 3713 deletions(-)
---
diff --git a/gllib/limits.in.h b/gllib/limits.in.h
index 08d3c32..78dcf31 100644
--- a/gllib/limits.in.h
+++ b/gllib/limits.in.h
@@ -13,7 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_LIMITS_H
 
diff --git a/gllib/localcharset.h b/gllib/localcharset.h
index a2e2a7b..bca429b 100644
--- a/gllib/localcharset.h
+++ b/gllib/localcharset.h
@@ -13,7 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LOCALCHARSET_H
 #define _LOCALCHARSET_H
diff --git a/gllib/stdbool.in.h b/gllib/stdbool.in.h
index 1067ed2..a7bc5b0 100644
--- a/gllib/stdbool.in.h
+++ b/gllib/stdbool.in.h
@@ -12,7 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _GL_STDBOOL_H
 #define _GL_STDBOOL_H
@@ -82,9 +82,9 @@ typedef bool _Bool;
    /* If @HAVE__BOOL@:
         Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
         the built-in _Bool type is used.  See
-          http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-          http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
-          http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+          https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+          https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html
+          https://lists.gnu.org/r/bug-coreutils/2005-10/msg00086.html
         Similar bugs are likely with other compilers as well; this file
         wouldn't be used if <stdbool.h> was working.
         So we override the _Bool type.
diff --git a/gllib/stdint.in.h b/gllib/stdint.in.h
index 5fbec34..df8b37d 100644
--- a/gllib/stdint.in.h
+++ b/gllib/stdint.in.h
@@ -13,7 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 /*
  * ISO C 99 <stdint.h> for platforms that lack it.
diff --git a/gllib/streq.h b/gllib/streq.h
index d40fc48..b4b726d 100644
--- a/gllib/streq.h
+++ b/gllib/streq.h
@@ -12,7 +12,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno clisp org>.  */
 
diff --git a/gllib/sys_types.in.h b/gllib/sys_types.in.h
index 3cea448..b0d6132 100644
--- a/gllib/sys_types.in.h
+++ b/gllib/sys_types.in.h
@@ -13,7 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
diff --git a/gllib/unicase.in.h b/gllib/unicase.in.h
index e50e5fc..85700ab 100644
--- a/gllib/unicase.in.h
+++ b/gllib/unicase.in.h
@@ -12,7 +12,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNICASE_H
 #define _UNICASE_H
diff --git a/gllib/unicase/simple-mapping.h b/gllib/unicase/simple-mapping.h
index b1de152..1e30666 100644
--- a/gllib/unicase/simple-mapping.h
+++ b/gllib/unicase/simple-mapping.h
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 ucs4_t
 FUNC (ucs4_t uc)
diff --git a/gllib/unicase/tolower.c b/gllib/unicase/tolower.c
index 866741e..d3048a8 100644
--- a/gllib/unicase/tolower.c
+++ b/gllib/unicase/tolower.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unicase/tolower.h b/gllib/unicase/tolower.h
index 97ba6ed..6795557 100644
--- a/gllib/unicase/tolower.h
+++ b/gllib/unicase/tolower.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Simple character mapping of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define mapping_header_0 16
 #define mapping_header_1 2
 #define mapping_header_2 7
@@ -11,7 +11,7 @@ struct
   {
     int level1[2];
     short level2[2 << 9];
-    int level3[29 << 7];
+    int level3[31 << 7];
   }
 u_mapping =
 {
@@ -82,14 +82,12 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,  3200,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     3328,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  3456,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     3328,  3456,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,  3584,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  3712,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -141,6 +139,8 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  3840,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -536,7 +536,7 @@ u_mapping =
         1,     0,     1,     0,     0,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
-        1,     0, -42308, -42319, -42315, -42305,     0,     0,
+        1,     0, -42308, -42319, -42315, -42305, -42308,     0,
     -42258, -42282, -42261,   928,     1,     0,     1,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
@@ -579,6 +579,22 @@ u_mapping =
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+       40,    40,    40,    40,    40,    40,    40,    40,
+       40,    40,    40,    40,    40,    40,    40,    40,
+       40,    40,    40,    40,    40,    40,    40,    40,
+       40,    40,    40,    40,    40,    40,    40,    40,
+       40,    40,    40,    40,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
        64,    64,    64,    64,    64,    64,    64,    64,
        64,    64,    64,    64,    64,    64,    64,    64,
        64,    64,    64,    64,    64,    64,    64,    64,
@@ -610,6 +626,22 @@ u_mapping =
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+       34,    34,    34,    34,    34,    34,    34,    34,
+       34,    34,    34,    34,    34,    34,    34,    34,
+       34,    34,    34,    34,    34,    34,    34,    34,
+       34,    34,    34,    34,    34,    34,    34,    34,
+       34,    34,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0
   }
 };
diff --git a/gllib/unicase/totitle.c b/gllib/unicase/totitle.c
index 53924b0..6d7847e 100644
--- a/gllib/unicase/totitle.c
+++ b/gllib/unicase/totitle.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unicase/totitle.h b/gllib/unicase/totitle.h
index e9c07a6..0512619 100644
--- a/gllib/unicase/totitle.h
+++ b/gllib/unicase/totitle.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Simple character mapping of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define mapping_header_0 16
 #define mapping_header_1 2
 #define mapping_header_2 7
@@ -11,7 +11,7 @@ struct
   {
     int level1[2];
     short level2[2 << 9];
-    int level3[34 << 7];
+    int level3[37 << 7];
   }
 u_mapping =
 {
@@ -24,11 +24,11 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,  1536,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  1664,    -1,  1792,  1920,  2048,  2176,
-       -1,    -1,  2304,  2432,    -1,    -1,    -1,    -1,
-       -1,  2560,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  1664,  1792,    -1,  1920,  2048,  2176,  2304,
+       -1,    -1,  2432,  2560,    -1,    -1,    -1,    -1,
+       -1,  2688,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     2688,  2816,  2944,    -1,    -1,    -1,    -1,    -1,
+     2816,  2944,  3072,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -58,8 +58,8 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  3072,  3200,  3328,  3456,
-       -1,    -1,    -1,    -1,    -1,    -1,  3584,  3712,
+       -1,    -1,    -1,    -1,  3200,  3328,  3456,  3584,
+       -1,    -1,    -1,    -1,    -1,    -1,  3712,  3840,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -80,15 +80,14 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  3840,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  3968,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     3968,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4096,  4224,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  4096,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  4352,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  4224,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  4480,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -140,6 +139,7 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  4608,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -224,7 +224,7 @@ u_mapping =
     10783, 10780, 10782,  -210,  -206,     0,  -205,  -205,
         0,  -202,     0,  -203, 42319,     0,     0,     0,
      -205, 42315,     0,  -207,     0, 42280, 42308,     0,
-     -209,  -211,     0, 10743, 42305,     0,     0,  -211,
+     -209,  -211, 42308, 10743, 42305,     0,     0,  -211,
         0, 10749,  -213,     0,     0,  -214,     0,     0,
         0,     0,     0,     0,     0, 10727,     0,     0,
      -218,     0,     0,  -218,     0,     0,     0, 42282,
@@ -355,6 +355,22 @@ u_mapping =
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
        -8,    -8,    -8,    -8,    -8,    -8,     0,     0,
+    -6254, -6253, -6244, -6242, -6242, -6243, -6236, -6181,
+    35266,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
@@ -667,6 +683,22 @@ u_mapping =
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+      -40,   -40,   -40,   -40,   -40,   -40,   -40,   -40,
+      -40,   -40,   -40,   -40,   -40,   -40,   -40,   -40,
+      -40,   -40,   -40,   -40,   -40,   -40,   -40,   -40,
+      -40,   -40,   -40,   -40,   -40,   -40,   -40,   -40,
+      -40,   -40,   -40,   -40,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
@@ -690,6 +722,22 @@ u_mapping =
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,   -34,   -34,   -34,   -34,   -34,   -34,
+      -34,   -34,   -34,   -34,   -34,   -34,   -34,   -34,
+      -34,   -34,   -34,   -34,   -34,   -34,   -34,   -34,
+      -34,   -34,   -34,   -34,   -34,   -34,   -34,   -34,
+      -34,   -34,   -34,   -34,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0
   }
 };
diff --git a/gllib/unicase/toupper.c b/gllib/unicase/toupper.c
index 148aefc..dd79817 100644
--- a/gllib/unicase/toupper.c
+++ b/gllib/unicase/toupper.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unicase/toupper.h b/gllib/unicase/toupper.h
index c2f085b..453dbb2 100644
--- a/gllib/unicase/toupper.h
+++ b/gllib/unicase/toupper.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Simple character mapping of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define mapping_header_0 16
 #define mapping_header_1 2
 #define mapping_header_2 7
@@ -11,7 +11,7 @@ struct
   {
     int level1[2];
     short level2[2 << 9];
-    int level3[34 << 7];
+    int level3[37 << 7];
   }
 u_mapping =
 {
@@ -24,11 +24,11 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,  1536,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  1664,    -1,  1792,  1920,  2048,  2176,
-       -1,    -1,  2304,  2432,    -1,    -1,    -1,    -1,
-       -1,  2560,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  1664,  1792,    -1,  1920,  2048,  2176,  2304,
+       -1,    -1,  2432,  2560,    -1,    -1,    -1,    -1,
+       -1,  2688,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     2688,  2816,  2944,    -1,    -1,    -1,    -1,    -1,
+     2816,  2944,  3072,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -58,8 +58,8 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  3072,  3200,  3328,  3456,
-       -1,    -1,    -1,    -1,    -1,    -1,  3584,  3712,
+       -1,    -1,    -1,    -1,  3200,  3328,  3456,  3584,
+       -1,    -1,    -1,    -1,    -1,    -1,  3712,  3840,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -80,15 +80,14 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  3840,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  3968,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     3968,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4096,  4224,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  4096,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  4352,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  4224,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  4480,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -140,6 +139,7 @@ u_mapping =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  4608,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -224,7 +224,7 @@ u_mapping =
     10783, 10780, 10782,  -210,  -206,     0,  -205,  -205,
         0,  -202,     0,  -203, 42319,     0,     0,     0,
      -205, 42315,     0,  -207,     0, 42280, 42308,     0,
-     -209,  -211,     0, 10743, 42305,     0,     0,  -211,
+     -209,  -211, 42308, 10743, 42305,     0,     0,  -211,
         0, 10749,  -213,     0,     0,  -214,     0,     0,
         0,     0,     0,     0,     0, 10727,     0,     0,
      -218,     0,     0,  -218,     0,     0,     0, 42282,
@@ -355,6 +355,22 @@ u_mapping =
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
        -8,    -8,    -8,    -8,    -8,    -8,     0,     0,
+    -6254, -6253, -6244, -6242, -6242, -6243, -6236, -6181,
+    35266,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
@@ -667,6 +683,22 @@ u_mapping =
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+      -40,   -40,   -40,   -40,   -40,   -40,   -40,   -40,
+      -40,   -40,   -40,   -40,   -40,   -40,   -40,   -40,
+      -40,   -40,   -40,   -40,   -40,   -40,   -40,   -40,
+      -40,   -40,   -40,   -40,   -40,   -40,   -40,   -40,
+      -40,   -40,   -40,   -40,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
@@ -690,6 +722,22 @@ u_mapping =
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,   -34,   -34,   -34,   -34,   -34,   -34,
+      -34,   -34,   -34,   -34,   -34,   -34,   -34,   -34,
+      -34,   -34,   -34,   -34,   -34,   -34,   -34,   -34,
+      -34,   -34,   -34,   -34,   -34,   -34,   -34,   -34,
+      -34,   -34,   -34,   -34,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0
   }
 };
diff --git a/gllib/unictype.in.h b/gllib/unictype.in.h
index ee1bd16..7a0d17b 100644
--- a/gllib/unictype.in.h
+++ b/gllib/unictype.in.h
@@ -12,7 +12,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNICTYPE_H
 #define _UNICTYPE_H
diff --git a/gllib/unictype/bidi_of.c b/gllib/unictype/bidi_of.c
index e948e91..dca6fa4 100644
--- a/gllib/unictype/bidi_of.c
+++ b/gllib/unictype/bidi_of.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/bidi_of.h b/gllib/unictype/bidi_of.h
index ab489f0..cc16d2a 100644
--- a/gllib/unictype/bidi_of.h
+++ b/gllib/unictype/bidi_of.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Bidi categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define bidi_category_header_0 16
 #define bidi_category_header_1 17
 #define bidi_category_header_2 7
@@ -11,7 +11,7 @@ struct
   {
     int level1[17];
     short level2[4 << 9];
-    unsigned short level3[148 * 40 + 1];
+    unsigned short level3[151 * 40 + 1];
   }
 u_bidi_category =
 {
@@ -90,8 +90,9 @@ u_bidi_category =
     12544, 12544, 12672, 12544, 12800, 12928, 13056, 12544,
     12544, 12544, 12544, 12544, 13184, 12544, 12544, 12544,
     13312, 13440, 13568, 13696, 13824, 13952, 14080,    -1,
-       -1, 14208,    -1, 14336, 14464, 14592, 14720,    -1,
+    14208, 14336,    -1, 14464, 14592, 14720, 14848,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    14976, 15104,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -110,9 +111,9 @@ u_bidi_category =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1, 15232, 15360,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 15488,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1, 14848, 14976,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 15104,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -131,24 +132,24 @@ u_bidi_category =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1, 15616,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1, 15232,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1, 15744, 15872, 16000,    -1, 16128,    -1,
+       -1,    -1,    -1,    -1,    -1, 16256, 16384, 16512,
+       -1,    -1,    -1,    -1, 16640, 16768,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1, 15360, 15488, 15616,    -1, 15744,    -1,
-       -1,    -1,    -1,    -1,    -1, 15872, 16000, 16128,
-       -1,    -1,    -1,    -1, 16256, 16384,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    16896,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    12544, 17024, 17152,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1, 17280, 17408,    -1,    -1,
+    17536, 17664, 17792,    -1,    -1,    -1,  6656,  6656,
+     6656,  6656,  6656,  6656,  6656, 17920, 18048, 18176,
+    18304, 18432, 18560, 18688,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 18816,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    12544, 16512,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1, 16640, 16768,    -1,    -1,
-    16896, 17024, 17152,    -1,    -1,    -1,  6656,  6656,
-     6656,  6656, 17280, 17408,  6656, 17536, 17664, 17792,
-    17920, 18048, 18176, 18304,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 18432,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -211,12 +212,12 @@ u_bidi_category =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 18816,
+    18944, 18944, 19072, 19200, 18944, 18944, 18944, 18944,
+    18944, 18944, 18944, 18944, 18944, 18944, 18944, 18944,
+    18944, 18944, 18944, 18944, 18944, 18944, 18944, 18944,
+    18944, 18944, 18944, 18944, 18944, 18944, 18944, 18944,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 18432,
-    18560, 18560, 18688, 18816, 18560, 18560, 18560, 18560,
-    18560, 18560, 18560, 18560, 18560, 18560, 18560, 18560,
-    18560, 18560, 18560, 18560, 18560, 18560, 18560, 18560,
-    18560, 18560, 18560, 18560, 18560, 18560, 18560, 18560,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -275,8 +276,7 @@ u_bidi_category =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 18432
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 18816
   },
   {
     0x39ce, 0x9ce7, 0x0e73, 0x183e, 0x739f, 0x39ce, 0x9ce7, 0xce73,
@@ -341,8 +341,8 @@ u_bidi_category =
     0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
     0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318,
     0x318c, 0x18c6, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
-    0xc642, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
-    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0x5ad6,
+    0x0642, 0x8421, 0x4210, 0x18c8, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0x5ad1, 0xad6b, 0xd6b5, 0x6b5a, 0xadad, 0x5ad6,
     0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
     0x35ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -459,7 +459,7 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x5a00, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x0001, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -508,7 +508,7 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
     0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
-    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x1ad6, 0x0000, 0xd000, 0x6b5a,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x1ad6, 0x0000, 0xd680, 0x6b5a,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x9024, 0x0252, 0x0000, 0x0000, 0x0000,
@@ -553,7 +553,7 @@ u_bidi_category =
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
     0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
-    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x004a, 0x0000,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x04a5,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x0004, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x004a,
@@ -596,7 +596,7 @@ u_bidi_category =
     0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
-    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0000, 0x0000, 0x0000,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0129, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
@@ -681,7 +681,7 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0xa520, 0x0094, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d0, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ad0, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6,
     0xad6b, 0xd6b5, 0x6b5a, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -821,7 +821,7 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6800, 0x01ad,
-    0x40d0, 0x006b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x40d0, 0x006b, 0x0000, 0x0340, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -835,6 +835,11 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
     0xad6b, 0xd6b5, 0x0000, 0xb5ad, 0x00d6, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xad00, 0xd6b5, 0x6b5a, 0xb400, 0x40d6, 0x0003, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
     0x5ad6, 0x0d6b, 0x0034, 0x6800, 0xb40d, 0x0006, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -847,8 +852,8 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
     0x5ad6, 0xad6b, 0x0035, 0x681a, 0x000d, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0680, 0x001a, 0xb5ad,
     0x1ad6, 0x0068, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -860,6 +865,16 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad,
+    0x5ad6, 0xad03, 0xd6b5, 0x001a, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0x006b, 0xd6b4, 0x6b5a, 0xb40d,
+    0x5a06, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -924,11 +939,21 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xb5ad, 0x5ad6, 0xad03, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0x0d6b,
+    0xd680, 0x6b5a, 0x81ad, 0x40d6, 0xad6b, 0x0035, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318,
     0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
     0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0x0031, 0x6318, 0x318c,
     0x18c6, 0xb5ad, 0x5ad6, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318,
+    0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0x5ad1, 0xad6b, 0x0035,
+    0x0000, 0x8c63, 0xc631, 0x6318, 0x0000, 0x18c0, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x1084, 0x0802, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1080, 0x0040, 0x8020, 0x4210, 0x2108, 0x1084,
     0x0840, 0x8021, 0x0200, 0x0000, 0x1000, 0x0000, 0x8020, 0x0200,
@@ -957,18 +982,8 @@ u_bidi_category =
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
-    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
-    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x2902, 0x94a5,
-    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
-    0x294a, 0x94a5, 0x4a52, 0xa409, 0x5294, 0x294a, 0x94a5, 0x4a52,
-    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
-    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
-    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
-    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
-    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
-    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
-    0x94a5, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529,
-    0x5294, 0x294a, 0x0001, 0x4a52, 0x0009, 0x0000, 0x0000, 0x0000,
+    0x94a5, 0x4a52, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x0001, 0x4a52, 0xa529, 0x0004, 0x0000, 0x0000,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
@@ -989,12 +1004,12 @@ u_bidi_category =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x1294,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x04a5, 0x4a52, 0xa529, 0x0094, 0x0000, 0x0000, 0x0012,
+    0xa529, 0x5294, 0x294a, 0x04a5, 0x4a52, 0xa529, 0x5294, 0x094a,
+    0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, 0x04a5, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x4a52, 0x0129, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0252, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0012, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
diff --git a/gllib/unictype/bitmap.h b/gllib/unictype/bitmap.h
index 475166f..0ac58f0 100644
--- a/gllib/unictype/bitmap.h
+++ b/gllib/unictype/bitmap.h
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 static inline int bitmap_lookup (const void *table, ucs4_t uc);
 
diff --git a/gllib/unictype/block_test.c b/gllib/unictype/block_test.c
index 931967e..7c58ca0 100644
--- a/gllib/unictype/block_test.c
+++ b/gllib/unictype/block_test.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/blocks.c b/gllib/unictype/blocks.c
index 3f36a24..d12d2fe 100644
--- a/gllib/unictype/blocks.c
+++ b/gllib/unictype/blocks.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/blocks.h b/gllib/unictype/blocks.h
index ee9f7cc..d353bac 100644
--- a/gllib/unictype/blocks.h
+++ b/gllib/unictype/blocks.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Unicode blocks.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 static const uc_block_t blocks[] =
 {
   { 0x0000, 0x007F, "Basic Latin" },
@@ -64,6 +64,7 @@ static const uc_block_t blocks[] =
   { 0x1BC0, 0x1BFF, "Batak" },
   { 0x1C00, 0x1C4F, "Lepcha" },
   { 0x1C50, 0x1C7F, "Ol Chiki" },
+  { 0x1C80, 0x1C8F, "Cyrillic Extended-C" },
   { 0x1CC0, 0x1CCF, "Sundanese Supplement" },
   { 0x1CD0, 0x1CFF, "Vedic Extensions" },
   { 0x1D00, 0x1D7F, "Phonetic Extensions" },
@@ -180,6 +181,7 @@ static const uc_block_t blocks[] =
   { 0x10400, 0x1044F, "Deseret" },
   { 0x10450, 0x1047F, "Shavian" },
   { 0x10480, 0x104AF, "Osmanya" },
+  { 0x104B0, 0x104FF, "Osage" },
   { 0x10500, 0x1052F, "Elbasan" },
   { 0x10530, 0x1056F, "Caucasian Albanian" },
   { 0x10600, 0x1077F, "Linear A" },
@@ -214,13 +216,17 @@ static const uc_block_t blocks[] =
   { 0x11280, 0x112AF, "Multani" },
   { 0x112B0, 0x112FF, "Khudawadi" },
   { 0x11300, 0x1137F, "Grantha" },
+  { 0x11400, 0x1147F, "Newa" },
   { 0x11480, 0x114DF, "Tirhuta" },
   { 0x11580, 0x115FF, "Siddham" },
   { 0x11600, 0x1165F, "Modi" },
+  { 0x11660, 0x1167F, "Mongolian Supplement" },
   { 0x11680, 0x116CF, "Takri" },
   { 0x11700, 0x1173F, "Ahom" },
   { 0x118A0, 0x118FF, "Warang Citi" },
   { 0x11AC0, 0x11AFF, "Pau Cin Hau" },
+  { 0x11C00, 0x11C6F, "Bhaiksuki" },
+  { 0x11C70, 0x11CBF, "Marchen" },
   { 0x12000, 0x123FF, "Cuneiform" },
   { 0x12400, 0x1247F, "Cuneiform Numbers and Punctuation" },
   { 0x12480, 0x1254F, "Early Dynastic Cuneiform" },
@@ -231,6 +237,9 @@ static const uc_block_t blocks[] =
   { 0x16AD0, 0x16AFF, "Bassa Vah" },
   { 0x16B00, 0x16B8F, "Pahawh Hmong" },
   { 0x16F00, 0x16F9F, "Miao" },
+  { 0x16FE0, 0x16FFF, "Ideographic Symbols and Punctuation" },
+  { 0x17000, 0x187FF, "Tangut" },
+  { 0x18800, 0x18AFF, "Tangut Components" },
   { 0x1B000, 0x1B0FF, "Kana Supplement" },
   { 0x1BC00, 0x1BC9F, "Duployan" },
   { 0x1BCA0, 0x1BCAF, "Shorthand Format Controls" },
@@ -241,7 +250,9 @@ static const uc_block_t blocks[] =
   { 0x1D360, 0x1D37F, "Counting Rod Numerals" },
   { 0x1D400, 0x1D7FF, "Mathematical Alphanumeric Symbols" },
   { 0x1D800, 0x1DAAF, "Sutton SignWriting" },
+  { 0x1E000, 0x1E02F, "Glagolitic Supplement" },
   { 0x1E800, 0x1E8DF, "Mende Kikakui" },
+  { 0x1E900, 0x1E95F, "Adlam" },
   { 0x1EE00, 0x1EEFF, "Arabic Mathematical Alphabetic Symbols" },
   { 0x1F000, 0x1F02F, "Mahjong Tiles" },
   { 0x1F030, 0x1F09F, "Domino Tiles" },
@@ -268,7 +279,7 @@ static const uc_block_t blocks[] =
 };
 #define blocks_level1_shift 8
 #define blocks_level1_threshold 0x28000
-static const uint8_t blocks_level1[640 * 2] =
+static const uint16_t blocks_level1[640 * 2] =
 {
     0,   2,
     2,   4,
@@ -298,395 +309,287 @@ static const uint8_t blocks_level1[640 * 2] =
    49,  53,
    53,  56,
    56,  59,
-   59,  63,
-   63,  66,
-   66,  67,
+   59,  64,
+   64,  67,
    67,  68,
-   68,  72,
-   72,  75,
-   75,  76,
+   68,  69,
+   69,  73,
+   73,  76,
    76,  77,
-   77,  80,
-   80,  83,
-   83,  84,
-   84,  87,
-   87,  88,
-   88,  90,
-   90,  91,
+   77,  78,
+   78,  81,
+   81,  84,
+   84,  85,
+   85,  88,
+   88,  89,
+   89,  91,
    91,  92,
-   92,  95,
-   95,  99,
-   99, 101,
-  101, 103,
-  103, 106,
-  106, 112,
-  112, 113,
+   92,  93,
+   93,  96,
+   96, 100,
+  100, 102,
+  102, 104,
+  104, 107,
+  107, 113,
   113, 114,
   114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 115,
-  114, 116,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  116, 117,
-  117, 118,
-  117, 118,
-  117, 118,
-  117, 118,
-  117, 120,
-  120, 121,
-  120, 123,
-  123, 125,
-  125, 130,
-  130, 135,
-  135, 139,
-  139, 143,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 144,
-  143, 145,
-  145, 146,
-  145, 146,
-  145, 146,
-  145, 147,
-  147, 148,
-  147, 148,
-  147, 148,
-  147, 148,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
-  148, 149,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 116,
+  115, 117,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  117, 118,
+  118, 119,
+  118, 119,
+  118, 119,
+  118, 119,
+  118, 121,
+  121, 122,
+  121, 124,
+  124, 126,
+  126, 131,
+  131, 136,
+  136, 140,
+  140, 144,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 145,
+  144, 146,
+  146, 147,
+  146, 147,
+  146, 147,
+  146, 148,
   148, 149,
   148, 149,
   148, 149,
   148, 149,
   149, 150,
   149, 150,
-  150, 152,
-  151, 152,
-  151, 152,
-  152, 158,
-  158, 160,
-  160, 162,
-  162, 166,
-  166, 169,
-  169, 174,
-  174, 177,
-  177, 179,
-  179, 180,
-  179, 180,
-  180, 185,
-  185, 189,
-  189, 193,
-  193, 197,
-  197, 199,
-  199, 199,
-  199, 200,
-  200, 200,
-  200, 203,
-  203, 207,
-  207, 210,
-  210, 211,
-  211, 212,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  149, 150,
+  150, 151,
+  150, 151,
+  151, 153,
+  152, 153,
+  152, 153,
+  153, 159,
+  159, 161,
+  161, 163,
+  163, 167,
+  167, 170,
+  170, 175,
+  175, 179,
+  179, 181,
+  181, 182,
+  181, 182,
+  182, 187,
+  187, 191,
+  191, 195,
+  195, 199,
+  199, 201,
+  201, 201,
+  201, 202,
+  202, 202,
+  202, 205,
+  205, 209,
+  209, 212,
   212, 213,
   213, 215,
   215, 216,
-  216, 217,
-  217, 217,
-  217, 218,
-  218, 218,
-  218, 218,
-  218, 218,
-  218, 218,
-  218, 218,
-  218, 219,
-  218, 219,
-  218, 219,
-  218, 219,
-  219, 221,
+  216, 219,
+  219, 220,
   220, 221,
   221, 221,
-  221, 221,
-  221, 221,
-  221, 221,
-  221, 221,
-  221, 221,
-  221, 221,
-  221, 221,
-  221, 221,
-  221, 221,
-  221, 222,
-  221, 222,
   221, 222,
-  221, 222,
-  221, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
   222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 222,
-  222, 223,
-  222, 223,
-  222, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 223,
-  223, 224,
-  223, 224,
-  223, 226,
+  222, 224,
+  224, 224,
+  224, 224,
+  224, 224,
+  224, 225,
+  224, 225,
+  224, 225,
+  224, 225,
+  225, 227,
   226, 227,
   227, 227,
   227, 227,
   227, 227,
+  227, 227,
+  227, 227,
+  227, 227,
+  227, 227,
+  227, 227,
+  227, 227,
+  227, 227,
+  227, 228,
+  227, 228,
+  227, 228,
+  227, 228,
   227, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
-  228, 228,
   228, 228,
   228, 228,
   228, 228,
@@ -703,6 +606,19 @@ static const uint8_t blocks_level1[640 * 2] =
   228, 228,
   228, 228,
   228, 229,
+  228, 229,
+  228, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
   229, 229,
   229, 229,
   229, 229,
@@ -714,36 +630,89 @@ static const uint8_t blocks_level1[640 * 2] =
   229, 229,
   229, 229,
   229, 229,
-  229, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 231,
-  231, 232,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 229,
+  229, 230,
+  229, 230,
+  229, 232,
   232, 233,
-  233, 234,
-  234, 236,
-  236, 237,
+  233, 233,
+  233, 233,
+  233, 233,
+  233, 235,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
+  235, 236,
   236, 237,
   236, 237,
   236, 237,
-  237, 238,
-  237, 238,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
+  237, 237,
   237, 238,
   238, 238,
   238, 238,
@@ -756,160 +725,202 @@ static const uint8_t blocks_level1[640 * 2] =
   238, 238,
   238, 238,
   238, 238,
-  238, 238,
-  238, 238,
-  238, 239,
-  239, 239,
-  239, 239,
-  239, 239,
-  239, 239,
-  239, 239,
-  239, 240,
+  238, 240,
+  240, 240,
+  240, 240,
   240, 240,
-  240, 243,
-  243, 244,
-  244, 245,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 240,
+  240, 241,
+  241, 242,
+  242, 243,
+  243, 245,
+  245, 246,
   245, 246,
   245, 246,
   245, 246,
-  246, 249,
-  249, 251,
-  251, 252,
-  252, 253,
-  253, 253,
-  253, 253,
-  253, 253,
-  253, 253,
-  253, 253,
-  253, 253,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254,
-  253, 254
+  246, 247,
+  246, 247,
+  246, 247,
+  247, 247,
+  247, 247,
+  247, 247,
+  247, 247,
+  247, 247,
+  247, 248,
+  248, 248,
+  248, 248,
+  248, 248,
+  248, 248,
+  248, 248,
+  248, 248,
+  248, 248,
+  248, 249,
+  249, 250,
+  250, 250,
+  250, 250,
+  250, 250,
+  250, 250,
+  250, 251,
+  251, 251,
+  251, 254,
+  254, 255,
+  255, 256,
+  256, 257,
+  256, 257,
+  256, 257,
+  257, 260,
+  260, 262,
+  262, 263,
+  263, 264,
+  264, 264,
+  264, 264,
+  264, 264,
+  264, 264,
+  264, 264,
+  264, 264,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265,
+  264, 265
 };
-#define blocks_upper_first_index 253
-#define blocks_upper_last_index 262
+#define blocks_upper_first_index 264
+#define blocks_upper_last_index 273
diff --git a/gllib/unictype/categ_C.c b/gllib/unictype/categ_C.c
index 5938e68..685d107 100644
--- a/gllib/unictype/categ_C.c
+++ b/gllib/unictype/categ_C.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_C.h b/gllib/unictype/categ_C.h
index 6f33609..cb331f0 100644
--- a/gllib/unictype/categ_C.h
+++ b/gllib/unictype/categ_C.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[17];
     short level2[5 << 7];
-    /*unsigned*/ int level3[75 << 4];
+    /*unsigned*/ int level3[78 << 4];
   }
 u_categ_C =
 {
@@ -178,11 +178,11 @@ u_categ_C =
        18 +   640 * sizeof (short) / sizeof (int) +   736,
        18 +   640 * sizeof (short) / sizeof (int) +   752,
        18 +   640 * sizeof (short) / sizeof (int) +   768,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   784,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   784,
        18 +   640 * sizeof (short) / sizeof (int) +   800,
+       18 +   640 * sizeof (short) / sizeof (int) +   816,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -190,7 +190,7 @@ u_categ_C =
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   816,
+       18 +   640 * sizeof (short) / sizeof (int) +   832,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -199,7 +199,7 @@ u_categ_C =
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   832,
+       18 +   640 * sizeof (short) / sizeof (int) +   848,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -217,10 +217,23 @@ u_categ_C =
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   848,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   864,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   880,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   896,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   912,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -239,26 +252,13 @@ u_categ_C =
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   928,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   880,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   896,
+       18 +   640 * sizeof (short) / sizeof (int) +   944,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -268,27 +268,27 @@ u_categ_C =
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   912,
-       18 +   640 * sizeof (short) / sizeof (int) +   928,
-       18 +   640 * sizeof (short) / sizeof (int) +   944,
        18 +   640 * sizeof (short) / sizeof (int) +   960,
-       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   976,
+       18 +   640 * sizeof (short) / sizeof (int) +   992,
+       18 +   640 * sizeof (short) / sizeof (int) +  1008,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +  1024,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +  1040,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +   992,
+       18 +   640 * sizeof (short) / sizeof (int) +  1056,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +  1008,
-       18 +   640 * sizeof (short) / sizeof (int) +  1024,
-       18 +   640 * sizeof (short) / sizeof (int) +  1040,
-       18 +   640 * sizeof (short) / sizeof (int) +  1056,
        18 +   640 * sizeof (short) / sizeof (int) +  1072,
        18 +   640 * sizeof (short) / sizeof (int) +  1088,
+       18 +   640 * sizeof (short) / sizeof (int) +  1104,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +  1120,
+       18 +   640 * sizeof (short) / sizeof (int) +  1136,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -375,7 +375,7 @@ u_categ_C =
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +  1104,
+       18 +   640 * sizeof (short) / sizeof (int) +  1152,
        -1,
        -1,
        -1,
@@ -383,8 +383,8 @@ u_categ_C =
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +  1120,
-       18 +   640 * sizeof (short) / sizeof (int) +  1136,
+       18 +   640 * sizeof (short) / sizeof (int) +  1168,
+       18 +   640 * sizeof (short) / sizeof (int) +  1184,
        -1,
        -1,
        -1,
@@ -395,7 +395,7 @@ u_categ_C =
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +  1152,
+       18 +   640 * sizeof (short) / sizeof (int) +  1200,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -417,7 +417,7 @@ u_categ_C =
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +  1168,
+       18 +   640 * sizeof (short) / sizeof (int) +  1216,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -548,7 +548,7 @@ u_categ_C =
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
-       18 +   640 * sizeof (short) / sizeof (int) +  1184,
+       18 +   640 * sizeof (short) / sizeof (int) +  1232,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
@@ -695,7 +695,7 @@ u_categ_C =
     0x0000C000, 0x00000000, 0x00001800, 0x00000000,
     0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
     0x00000000, 0x8000C000, 0xB0000000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFE00000, 0xFFFFFFFF, 0x00000007,
+    0xFFFFFFFF, 0xC0200000, 0x000FFFFF, 0x00000004,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00066010, 0x0C3A0200, 0x4F7F8660, 0xF0000030,
     0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F,
@@ -703,8 +703,8 @@ u_categ_C =
     0x00066011, 0x0C120200, 0x4F3FC660, 0xFF000030,
     0x29C23813, 0x3C0038E7, 0xFF7EC238, 0xF800003F,
     0x00022010, 0x1C000200, 0xF89FC220, 0x00FF0030,
-    0x00022011, 0x0C100200, 0xBF9FC220, 0xFFF90030,
-    0x00022011, 0x18000000, 0x7F7F8220, 0x01C00030,
+    0x00022010, 0x0C100200, 0xBF9FC220, 0xFFF90030,
+    0x00022011, 0x18000000, 0x000F0220, 0x00000030,
     0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3003F,
     0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
     0x010FDA69, 0xC4001351, 0x0C00C0A0, 0xFFFFFFFF,
@@ -731,9 +731,9 @@ u_categ_C =
     0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
     0x00000000, 0x00000000, 0x00000000, 0x0FF00000,
     0x00000000, 0x07000000, 0x00001C00, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000FF00, 0xFC800000,
+    0xFFFFFE00, 0xFFFFFFFF, 0x0000FF00, 0xFC800000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x0FC00000,
+    0x00000000, 0x00000000, 0x00000000, 0x07C00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
@@ -745,7 +745,7 @@ u_categ_C =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xF8000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -758,7 +758,7 @@ u_categ_C =
     0x00000000, 0x00000000, 0x00000000, 0x01F00000,
     0x00000000, 0x0000DF40, 0x00000000, 0x7FFE7F00,
     0xFF800000, 0x80808080, 0x80808080, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFE0, 0xFFFFFFFF,
     0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
@@ -785,9 +785,9 @@ u_categ_C =
     0x00000000, 0xFFFFF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFF000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0xFF00C000, 0xFFFFFFFF, 0x007FFFFF,
+    0x00000000, 0xFF008000, 0xFFFFFFFF, 0x007FFFFF,
     0x00000000, 0xFC00F000, 0x00000000, 0xFF000000,
-    0x00000000, 0x00000000, 0xFC003FE0, 0xC0000000,
+    0x00000000, 0x00000000, 0xFC003FC0, 0xC0000000,
     0x00000000, 0x00000000, 0x7FF00000, 0xE0000000,
     0x00000000, 0x00000000, 0x3C004000, 0x80000000,
     0x00000000, 0xFF800000, 0x0C00C000, 0x00000000,
@@ -821,13 +821,13 @@ u_categ_C =
     0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0xF8000000,
     0x00000078, 0x00700000, 0x00000000, 0x00000000,
-    0xF000E000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000,
+    0xF0008000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xE0000000, 0x00000000, 0xFFFE0000, 0xF0000000,
     0x00000000, 0x0000FFF0, 0x0000F800, 0xF8000000,
     0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xC0000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xC0000000, 0x0000FC00, 0x00F00000, 0xF0000000,
     0x00000000, 0x0000FF00, 0x00000000, 0xFFFF7FF0,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -854,15 +854,15 @@ u_categ_C =
     0x00000000, 0x20000000, 0x0000FFFC, 0xFC00FE00,
     0x00000000, 0x00200000, 0x0000FFF0, 0xFF800000,
     0x00000000, 0x00000000, 0x0000C000, 0xFFE00001,
-    0x00040000, 0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00040000, 0x80000000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x40004280, 0x0000FC00, 0x00000000, 0xFC00F800,
     0x00066010, 0x0C120200, 0x1F7EC660, 0xFFE0E030,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xD4000000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0xFC00FF00, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00C00000, 0xC0000000, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFE000,
     0x00000000, 0xFF000000, 0xFFFFFC00, 0xFFFFFFFF,
     0x1C000000, 0x0000F000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -874,6 +874,10 @@ u_categ_C =
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFE000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000200, 0x00800000, 0x0000FFC0, 0x0000E000,
+    0x00030000, 0xFF800100, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -897,7 +901,15 @@ u_categ_C =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x0000FFE0, 0x80000000,
-    0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFE000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFF80000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -926,9 +938,13 @@ u_categ_C =
     0x07FFF000, 0xFFFF0001, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x06000080, 0xFFFFF824, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800060, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x3C00F800, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000010, 0xF5080169, 0x5569157B, 0xA1080869,
     0xF0000400, 0xF0000411, 0xFFFFFFFF, 0xFFFCFFFF,
@@ -937,23 +953,19 @@ u_categ_C =
     0x00000000, 0x0000F000, 0x00000000, 0x00000000,
     0xFFF00000, 0x00018000, 0x00010001, 0xFFC00000,
     0x0000E000, 0x00008000, 0x00000000, 0x0000F000,
-    0xF8000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F,
-    0x0000FFF8, 0xF8000000, 0xFFFCFE00, 0xFFFFFFFF,
+    0x00000000, 0xFFFFE000, 0xFFFFFFFF, 0x0000003F,
+    0x0000FFF8, 0xF0000000, 0xFFFCFE00, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x04000000,
-    0x00000000, 0x00000010, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFE0000, 0xFFF0E000,
+    0x00000000, 0x00000000, 0xFFF80000, 0xFF80E000,
     0x00000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0xFFE00000, 0xFFFFFFFF,
     0x0000F000, 0x00000000, 0xFC00FF00, 0x00000000,
     0x0000FF00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFE00FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFE0, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
+    0x8000FFFF, 0x8006FF00, 0x8000F000, 0xFFFFFFFF,
+    0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/categ_Cc.c b/gllib/unictype/categ_Cc.c
index 0fcadd6..7989bed 100644
--- a/gllib/unictype/categ_Cc.c
+++ b/gllib/unictype/categ_Cc.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Cc.h b/gllib/unictype/categ_Cc.h
index eb118aa..2a6f374 100644
--- a/gllib/unictype/categ_Cc.h
+++ b/gllib/unictype/categ_Cc.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Cf.c b/gllib/unictype/categ_Cf.c
index a4f3288..07c0c70 100644
--- a/gllib/unictype/categ_Cf.c
+++ b/gllib/unictype/categ_Cf.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Cf.h b/gllib/unictype/categ_Cf.h
index b59bd65..25b882f 100644
--- a/gllib/unictype/categ_Cf.h
+++ b/gllib/unictype/categ_Cf.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[9 << 4];
+    /*unsigned*/ int level3[10 << 4];
   }
 u_categ_Cf =
 {
@@ -38,6 +38,7 @@ u_categ_Cf =
        -1,
        -1,
        16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
        -1,
        -1,
        -1,
@@ -45,12 +46,11 @@ u_categ_Cf =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
        -1,
        -1,
        -1,
@@ -161,7 +161,7 @@ u_categ_Cf =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -170,7 +170,7 @@ u_categ_Cf =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -256,7 +256,7 @@ u_categ_Cf =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -266,7 +266,7 @@ u_categ_Cf =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@ u_categ_Cf =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
        -1,
        -1,
        -1,
@@ -428,6 +428,10 @@ u_categ_Cf =
     0x00000000, 0x00000000, 0x20000000, 0x00000000,
     0x00008000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000004,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00004000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/categ_Cn.c b/gllib/unictype/categ_Cn.c
index fa6cd8a..3095681 100644
--- a/gllib/unictype/categ_Cn.c
+++ b/gllib/unictype/categ_Cn.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Cn.h b/gllib/unictype/categ_Cn.h
index 59f096c..02bf264 100644
--- a/gllib/unictype/categ_Cn.h
+++ b/gllib/unictype/categ_Cn.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[17];
     short level2[6 << 7];
-    /*unsigned*/ int level3[74 << 4];
+    /*unsigned*/ int level3[77 << 4];
   }
 u_categ_Cn =
 {
@@ -179,120 +179,119 @@ u_categ_Cn =
        18 +   768 * sizeof (short) / sizeof (int) +   704,
        18 +   768 * sizeof (short) / sizeof (int) +   720,
        18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   752,
-       18 +   768 * sizeof (short) / sizeof (int) +   768,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       -1,
        -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   768,
        18 +   768 * sizeof (short) / sizeof (int) +   784,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       -1,
        -1,
        18 +   768 * sizeof (short) / sizeof (int) +   800,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        -1,
        18 +   768 * sizeof (short) / sizeof (int) +   816,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   832,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        18 +   768 * sizeof (short) / sizeof (int) +   848,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   864,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   880,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        18 +   768 * sizeof (short) / sizeof (int) +   896,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        18 +   768 * sizeof (short) / sizeof (int) +   912,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        18 +   768 * sizeof (short) / sizeof (int) +   928,
-       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   944,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
        18 +   768 * sizeof (short) / sizeof (int) +   960,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
        18 +   768 * sizeof (short) / sizeof (int) +   976,
+       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   992,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        18 +   768 * sizeof (short) / sizeof (int) +  1008,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        18 +   768 * sizeof (short) / sizeof (int) +  1024,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        18 +   768 * sizeof (short) / sizeof (int) +  1040,
        18 +   768 * sizeof (short) / sizeof (int) +  1056,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       18 +   768 * sizeof (short) / sizeof (int) +  1072,
        -1,
+       18 +   768 * sizeof (short) / sizeof (int) +  1088,
+       18 +   768 * sizeof (short) / sizeof (int) +  1104,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -375,17 +374,17 @@ u_categ_Cn =
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +  1072,
        -1,
+       18 +   768 * sizeof (short) / sizeof (int) +  1120,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +  1088,
-       18 +   768 * sizeof (short) / sizeof (int) +  1104,
        -1,
+       18 +   768 * sizeof (short) / sizeof (int) +  1136,
+       18 +   768 * sizeof (short) / sizeof (int) +  1152,
        -1,
        -1,
        -1,
@@ -395,287 +394,288 @@ u_categ_Cn =
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +  1120,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +  1136,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +  1152,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       18 +   768 * sizeof (short) / sizeof (int) +  1168,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +  1184,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +  1200,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -803,7 +803,7 @@ u_categ_Cn =
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +  1168
+       18 +   768 * sizeof (short) / sizeof (int) +  1216
   },
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -819,7 +819,7 @@ u_categ_Cn =
     0x00004000, 0x00000000, 0x00001800, 0x00000000,
     0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
     0x00000000, 0x8000C000, 0xB0000000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFE00000, 0xFFFFFFFF, 0x00000007,
+    0xFFFFFFFF, 0xC0200000, 0x000FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00066010, 0x0C3A0200, 0x4F7F8660, 0xF0000030,
     0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F,
@@ -827,8 +827,8 @@ u_categ_Cn =
     0x00066011, 0x0C120200, 0x4F3FC660, 0xFF000030,
     0x29C23813, 0x3C0038E7, 0xFF7EC238, 0xF800003F,
     0x00022010, 0x1C000200, 0xF89FC220, 0x00FF0030,
-    0x00022011, 0x0C100200, 0xBF9FC220, 0xFFF90030,
-    0x00022011, 0x18000000, 0x7F7F8220, 0x01C00030,
+    0x00022010, 0x0C100200, 0xBF9FC220, 0xFFF90030,
+    0x00022011, 0x18000000, 0x000F0220, 0x00000030,
     0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3003F,
     0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
     0x010FDA69, 0xC4001351, 0x0C00C0A0, 0xFFFFFFFF,
@@ -855,9 +855,9 @@ u_categ_Cn =
     0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
     0x00000000, 0x00000000, 0x00000000, 0x0FF00000,
     0x00000000, 0x07000000, 0x00001C00, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000FF00, 0xFC800000,
+    0xFFFFFE00, 0xFFFFFFFF, 0x0000FF00, 0xFC800000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x0FC00000,
+    0x00000000, 0x00000000, 0x00000000, 0x07C00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
@@ -869,7 +869,7 @@ u_categ_Cn =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xF8000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -882,7 +882,7 @@ u_categ_Cn =
     0x00000000, 0x00000000, 0x00000000, 0x01F00000,
     0x00000000, 0x0000DF40, 0x00000000, 0x7FFE7F00,
     0xFF800000, 0x80808080, 0x80808080, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFE0, 0xFFFFFFFF,
     0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
@@ -909,9 +909,9 @@ u_categ_Cn =
     0x00000000, 0xFFFFF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFF000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0xFF00C000, 0xFFFFFFFF, 0x007FFFFF,
+    0x00000000, 0xFF008000, 0xFFFFFFFF, 0x007FFFFF,
     0x00000000, 0xFC00F000, 0x00000000, 0xFF000000,
-    0x00000000, 0x00000000, 0xFC003FE0, 0xC0000000,
+    0x00000000, 0x00000000, 0xFC003FC0, 0xC0000000,
     0x00000000, 0x00000000, 0x7FF00000, 0xE0000000,
     0x00000000, 0x00000000, 0x3C004000, 0x80000000,
     0x00000000, 0xFF800000, 0x0C00C000, 0x00000000,
@@ -937,13 +937,13 @@ u_categ_Cn =
     0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0xF8000000,
     0x00000078, 0x00700000, 0x00000000, 0x00000000,
-    0xF000E000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000,
+    0xF0008000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xE0000000, 0x00000000, 0xFFFE0000, 0xF0000000,
     0x00000000, 0x0000FFF0, 0x0000F800, 0xF8000000,
     0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xC0000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xC0000000, 0x0000FC00, 0x00F00000, 0xF0000000,
     0x00000000, 0x0000FF00, 0x00000000, 0xFFFF7FF0,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -970,15 +970,15 @@ u_categ_Cn =
     0x00000000, 0x00000000, 0x0000FFFC, 0xFC00FE00,
     0x00000000, 0x00200000, 0x0000FFF0, 0xFF800000,
     0x00000000, 0x00000000, 0x0000C000, 0xFFE00001,
-    0x00040000, 0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00040000, 0x80000000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x40004280, 0x0000FC00, 0x00000000, 0xFC00F800,
     0x00066010, 0x0C120200, 0x1F7EC660, 0xFFE0E030,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xD4000000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0xFC00FF00, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00C00000, 0xC0000000, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFE000,
     0x00000000, 0xFF000000, 0xFFFFFC00, 0xFFFFFFFF,
     0x1C000000, 0x0000F000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -990,6 +990,10 @@ u_categ_Cn =
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFE000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000200, 0x00800000, 0x0000FFC0, 0x0000E000,
+    0x00030000, 0xFF800100, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -1017,7 +1021,15 @@ u_categ_Cn =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x0000FFE0, 0x80000000,
-    0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFE000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFF80000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -1046,9 +1058,13 @@ u_categ_Cn =
     0x07FFF000, 0xFFFF0001, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x06000080, 0xFFFFF824, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800060, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x3C00F800, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000010, 0xF5080169, 0x5569157B, 0xA1080869,
     0xF0000400, 0xF0000411, 0xFFFFFFFF, 0xFFFCFFFF,
@@ -1057,23 +1073,19 @@ u_categ_Cn =
     0x00000000, 0x0000F000, 0x00000000, 0x00000000,
     0xFFF00000, 0x00018000, 0x00010001, 0xFFC00000,
     0x0000E000, 0x00008000, 0x00000000, 0x0000F000,
-    0xF8000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F,
-    0x0000FFF8, 0xF8000000, 0xFFFCFE00, 0xFFFFFFFF,
+    0x00000000, 0xFFFFE000, 0xFFFFFFFF, 0x0000003F,
+    0x0000FFF8, 0xF0000000, 0xFFFCFE00, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x04000000,
-    0x00000000, 0x00000010, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFE0000, 0xFFF0E000,
+    0x00000000, 0x00000000, 0xFFF80000, 0xFF80E000,
     0x00000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0xFFE00000, 0xFFFFFFFF,
     0x0000F000, 0x00000000, 0xFC00FF00, 0x00000000,
     0x0000FF00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFE00FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFE0, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
+    0x8000FFFF, 0x8006FF00, 0x8000F000, 0xFFFFFFFF,
+    0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/categ_Co.c b/gllib/unictype/categ_Co.c
index 48555c9..5eec6b8 100644
--- a/gllib/unictype/categ_Co.c
+++ b/gllib/unictype/categ_Co.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Co.h b/gllib/unictype/categ_Co.h
index 1a89443..4480f6c 100644
--- a/gllib/unictype/categ_Co.h
+++ b/gllib/unictype/categ_Co.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Cs.c b/gllib/unictype/categ_Cs.c
index 0678c29..4a36061 100644
--- a/gllib/unictype/categ_Cs.c
+++ b/gllib/unictype/categ_Cs.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Cs.h b/gllib/unictype/categ_Cs.h
index f435920..a4bbfc7 100644
--- a/gllib/unictype/categ_Cs.h
+++ b/gllib/unictype/categ_Cs.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_L.c b/gllib/unictype/categ_L.c
index 041e66b..ddfbd81 100644
--- a/gllib/unictype/categ_L.c
+++ b/gllib/unictype/categ_L.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_L.h b/gllib/unictype/categ_L.h
index 5e9d456..89d338b 100644
--- a/gllib/unictype/categ_L.h
+++ b/gllib/unictype/categ_L.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[62 << 4];
+    /*unsigned*/ int level3[65 << 4];
   }
 u_categ_L =
 {
@@ -164,11 +164,11 @@ u_categ_L =
         4 +   384 * sizeof (short) / sizeof (int) +   672,
         4 +   384 * sizeof (short) / sizeof (int) +   688,
         4 +   384 * sizeof (short) / sizeof (int) +   704,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   720,
         4 +   384 * sizeof (short) / sizeof (int) +   736,
+        4 +   384 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -176,7 +176,7 @@ u_categ_L =
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   752,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -185,7 +185,7 @@ u_categ_L =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   768,
+        4 +   384 * sizeof (short) / sizeof (int) +   784,
        -1,
        -1,
        -1,
@@ -203,10 +203,23 @@ u_categ_L =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   784,
-       -1,
         4 +   384 * sizeof (short) / sizeof (int) +   800,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   832,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
@@ -225,26 +238,13 @@ u_categ_L =
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   816,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   832,
+        4 +   384 * sizeof (short) / sizeof (int) +   880,
        -1,
        -1,
        -1,
@@ -256,8 +256,8 @@ u_categ_L =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   848,
-        4 +   384 * sizeof (short) / sizeof (int) +   864,
+        4 +   384 * sizeof (short) / sizeof (int) +   896,
+        4 +   384 * sizeof (short) / sizeof (int) +   912,
        -1,
        -1,
        -1,
@@ -266,10 +266,10 @@ u_categ_L =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   880,
+        4 +   384 * sizeof (short) / sizeof (int) +   928,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   896,
+        4 +   384 * sizeof (short) / sizeof (int) +   944,
        -1,
        -1,
        -1,
@@ -361,7 +361,7 @@ u_categ_L =
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   912,
+        4 +   384 * sizeof (short) / sizeof (int) +   960,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
@@ -369,8 +369,8 @@ u_categ_L =
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   928,
-        4 +   384 * sizeof (short) / sizeof (int) +   944,
+        4 +   384 * sizeof (short) / sizeof (int) +   976,
+        4 +   384 * sizeof (short) / sizeof (int) +   992,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
@@ -381,7 +381,7 @@ u_categ_L =
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   960,
+        4 +   384 * sizeof (short) / sizeof (int) +  1008,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@ u_categ_L =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   976,
+        4 +   384 * sizeof (short) / sizeof (int) +  1024,
        -1,
        -1
   },
@@ -425,7 +425,7 @@ u_categ_L =
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
     0x043FFFFF, 0x00000110, 0x01FFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFE0003,
     0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x00030003,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
@@ -433,8 +433,8 @@ u_categ_L =
     0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003,
     0xD63DC7E8, 0x03FFC718, 0x00010000, 0x00000000,
     0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x00000003,
-    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x00060003,
-    0xFFFDDFE0, 0x27FFFFFF, 0x80004000, 0xFC000003,
+    0xFFFDDFE1, 0x23EFFDFF, 0x40000000, 0x00060003,
+    0xFFFDDFE0, 0x27FFFFFF, 0x80704000, 0xFC000003,
     0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
     0xFFFFFFFE, 0x000DFFFF, 0x0000007F, 0x00000000,
     0xFEF02596, 0x200DECAE, 0xF000005F, 0x00000000,
@@ -457,7 +457,7 @@ u_categ_L =
     0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFF9F, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x7FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
     0xFFFFFFFF, 0xFFFF0FFF, 0x000003FF, 0x00000000,
     0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
@@ -465,7 +465,7 @@ u_categ_L =
     0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
     0xFFFFFFF8, 0xFC00C001, 0xFFFFFFFF, 0x0000003F,
     0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x0063DE00,
+    0x000001FF, 0x00000000, 0x00000000, 0x0063DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -507,7 +507,7 @@ u_categ_L =
     0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFF9FF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+    0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x28FC0000,
     0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
@@ -545,7 +545,7 @@ u_categ_L =
     0xFFFFFFFF, 0xFFFF0000, 0xFFFF03FD, 0x003FFFFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0x0000FF0F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -572,7 +572,7 @@ u_categ_L =
     0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x00000000,
     0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000780, 0x00000000,
     0xFFFFFFFF, 0x0000FFFF, 0x000000B0, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000,
@@ -588,6 +588,10 @@ u_categ_L =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0x00007FFF, 0x00000001, 0xFFFC0000,
+    0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -611,7 +615,15 @@ u_categ_L =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000,
-    0xFFF80000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF80000, 0x00000000, 0x00000000, 0x00000001,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -630,7 +642,7 @@ u_categ_L =
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
     0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/categ_LC.c b/gllib/unictype/categ_LC.c
index 7f76b0d..fc2d99c 100644
--- a/gllib/unictype/categ_LC.c
+++ b/gllib/unictype/categ_LC.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_LC.h b/gllib/unictype/categ_LC.h
index aaba0d2..13f3ca8 100644
--- a/gllib/unictype/categ_LC.h
+++ b/gllib/unictype/categ_LC.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[18 << 4];
+    /*unsigned*/ int level3[19 << 4];
   }
 u_categ_LC =
 {
@@ -265,7 +265,7 @@ u_categ_LC =
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
        -1,
        -1,
        -1,
@@ -300,7 +300,7 @@ u_categ_LC =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000001FF, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x00000FFF, 0x00000000, 0xFEFFF800,
     0x07FFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -318,7 +318,7 @@ u_categ_LC =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x00003FFF,
     0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFEFFFF,
-    0xFFFF78FF, 0x00FF3FFF, 0x00000000, 0x04000000,
+    0xFFFF78FF, 0x00FF7FFF, 0x00000000, 0x04000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0x07FFFFFF, 0xFFFF003F,
@@ -332,7 +332,7 @@ u_categ_LC =
     0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -350,6 +350,10 @@ u_categ_LC =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
     0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
-    0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000
+    0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/categ_Ll.c b/gllib/unictype/categ_Ll.c
index ae780ae..875240a 100644
--- a/gllib/unictype/categ_Ll.c
+++ b/gllib/unictype/categ_Ll.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Ll.h b/gllib/unictype/categ_Ll.h
index 9a268aa..3658bad 100644
--- a/gllib/unictype/categ_Ll.h
+++ b/gllib/unictype/categ_Ll.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[17 << 4];
+    /*unsigned*/ int level3[18 << 4];
   }
 u_categ_Ll =
 {
@@ -265,7 +265,7 @@ u_categ_Ll =
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
        -1,
        -1,
        -1,
@@ -296,7 +296,7 @@ u_categ_Ll =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x3F000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000001FF, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x00000FFF, 0x00000000, 0xFEFFF800,
     0x07FFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
@@ -328,7 +328,7 @@ u_categ_Ll =
     0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -346,6 +346,10 @@ u_categ_Ll =
     0x000000FF, 0x0FFFFFFC, 0xFFC00000, 0x0000FFFF,
     0xFFFFFC00, 0x0000003F, 0xF7FFFFFC, 0xF0000003,
     0x0FDFFFFF, 0xFFC00000, 0x003F7FFF, 0xFFFF0000,
-    0x0000FDFF, 0xFFFFFC00, 0x00000BF7, 0x00000000
+    0x0000FDFF, 0xFFFFFC00, 0x00000BF7, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFC, 0x0000000F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/categ_Lm.c b/gllib/unictype/categ_Lm.c
index 3906ba1..7e7def2 100644
--- a/gllib/unictype/categ_Lm.c
+++ b/gllib/unictype/categ_Lm.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Lm.h b/gllib/unictype/categ_Lm.h
index c802768..9d33c38 100644
--- a/gllib/unictype/categ_Lm.h
+++ b/gllib/unictype/categ_Lm.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -366,6 +366,6 @@ u_categ_Lm =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFF80000, 0x00000000, 0x00000000, 0x00000000
+    0xFFF80000, 0x00000000, 0x00000000, 0x00000001
   }
 };
diff --git a/gllib/unictype/categ_Lo.c b/gllib/unictype/categ_Lo.c
index 81bfb7a..66e8b23 100644
--- a/gllib/unictype/categ_Lo.c
+++ b/gllib/unictype/categ_Lo.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Lo.h b/gllib/unictype/categ_Lo.h
index 6adc785..034e87f 100644
--- a/gllib/unictype/categ_Lo.h
+++ b/gllib/unictype/categ_Lo.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[59 << 4];
+    /*unsigned*/ int level3[62 << 4];
   }
 u_categ_Lo =
 {
@@ -164,11 +164,11 @@ u_categ_Lo =
         4 +   384 * sizeof (short) / sizeof (int) +   656,
         4 +   384 * sizeof (short) / sizeof (int) +   672,
         4 +   384 * sizeof (short) / sizeof (int) +   688,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   704,
         4 +   384 * sizeof (short) / sizeof (int) +   720,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
@@ -176,7 +176,7 @@ u_categ_Lo =
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   736,
+        4 +   384 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -185,7 +185,7 @@ u_categ_Lo =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   752,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -203,10 +203,23 @@ u_categ_Lo =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   768,
-       -1,
         4 +   384 * sizeof (short) / sizeof (int) +   784,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   800,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   832,
        -1,
        -1,
        -1,
@@ -225,26 +238,13 @@ u_categ_Lo =
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   800,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
        -1,
@@ -266,10 +266,10 @@ u_categ_Lo =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   832,
+        4 +   384 * sizeof (short) / sizeof (int) +   880,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   848,
+        4 +   384 * sizeof (short) / sizeof (int) +   896,
        -1,
        -1,
        -1,
@@ -361,7 +361,7 @@ u_categ_Lo =
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   864,
+        4 +   384 * sizeof (short) / sizeof (int) +   912,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
@@ -369,8 +369,8 @@ u_categ_Lo =
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   880,
-        4 +   384 * sizeof (short) / sizeof (int) +   896,
+        4 +   384 * sizeof (short) / sizeof (int) +   928,
+        4 +   384 * sizeof (short) / sizeof (int) +   944,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
@@ -381,7 +381,7 @@ u_categ_Lo =
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   912,
+        4 +   384 * sizeof (short) / sizeof (int) +   960,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@ u_categ_Lo =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   928,
+        4 +   384 * sizeof (short) / sizeof (int) +   976,
        -1,
        -1
   },
@@ -425,7 +425,7 @@ u_categ_Lo =
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x000007FF,
     0x003FFFFF, 0x00000000, 0x01FFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFC0003,
     0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x00030003,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
@@ -433,8 +433,8 @@ u_categ_Lo =
     0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003,
     0xD63DC7E8, 0x03FFC718, 0x00010000, 0x00000000,
     0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x00000003,
-    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x00060003,
-    0xFFFDDFE0, 0x27FFFFFF, 0x80004000, 0xFC000003,
+    0xFFFDDFE1, 0x23EFFDFF, 0x40000000, 0x00060003,
+    0xFFFDDFE0, 0x27FFFFFF, 0x80704000, 0xFC000003,
     0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
     0xFFFFFFFE, 0x000DFFFF, 0x0000003F, 0x00000000,
     0xFEF02596, 0x200DECAE, 0xF000001F, 0x00000000,
@@ -457,7 +457,7 @@ u_categ_Lo =
     0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0x000FFFFF, 0x10000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFF7, 0x00FFFFFF,
-    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFF9F, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x7FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
     0xFFFFFFFF, 0xFFFF0FFF, 0x000003FF, 0x00000000,
     0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
@@ -568,7 +568,7 @@ u_categ_Lo =
     0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x00000000,
     0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000780, 0x00000000,
     0xFFFFFFFF, 0x0000FFFF, 0x000000B0, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000,
@@ -584,6 +584,10 @@ u_categ_Lo =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0x00007FFF, 0x00000001, 0xFFFC0000,
+    0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -608,6 +612,14 @@ u_categ_Lo =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/categ_Lt.c b/gllib/unictype/categ_Lt.c
index 8f3208a..cd0bdf2 100644
--- a/gllib/unictype/categ_Lt.c
+++ b/gllib/unictype/categ_Lt.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Lt.h b/gllib/unictype/categ_Lt.h
index 85f2867..e6c7837 100644
--- a/gllib/unictype/categ_Lt.h
+++ b/gllib/unictype/categ_Lt.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Lu.c b/gllib/unictype/categ_Lu.c
index 9694d62..20f116c 100644
--- a/gllib/unictype/categ_Lu.c
+++ b/gllib/unictype/categ_Lu.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Lu.h b/gllib/unictype/categ_Lu.h
index 8dfaa48..39478f4 100644
--- a/gllib/unictype/categ_Lu.h
+++ b/gllib/unictype/categ_Lu.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[15 << 4];
+    /*unsigned*/ int level3[16 << 4];
   }
 u_categ_Lu =
 {
@@ -265,7 +265,7 @@ u_categ_Lu =
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
        -1,
        -1,
        -1,
@@ -314,13 +314,13 @@ u_categ_Lu =
     0x00000000, 0x00000000, 0x55555555, 0x00001555,
     0x05555555, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x55545554, 0x55555555, 0x6A005555,
-    0x55452855, 0x005F3D55, 0x00000000, 0x00000000,
+    0x55452855, 0x005F7D55, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x000FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -338,6 +338,10 @@ u_categ_Lu =
     0xFFFFFF00, 0xF0000003, 0x003FFFFF, 0xFFFF0000,
     0x000003FF, 0xFFFFFF00, 0x00000001, 0x07FFFFFC,
     0xF0000000, 0x001FFFFF, 0xFFC00000, 0x00007FFF,
-    0xFFFF0000, 0x000001FF, 0x00000400, 0x00000000
+    0xFFFF0000, 0x000001FF, 0x00000400, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/categ_M.c b/gllib/unictype/categ_M.c
index 899d8a4..3fc7050 100644
--- a/gllib/unictype/categ_M.c
+++ b/gllib/unictype/categ_M.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_M.h b/gllib/unictype/categ_M.h
index d97c604..1e8987c 100644
--- a/gllib/unictype/categ_M.h
+++ b/gllib/unictype/categ_M.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[36 << 4];
+    /*unsigned*/ int level3[38 << 4];
   }
 u_categ_M =
 {
@@ -176,6 +176,7 @@ u_categ_M =
        16 +   384 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -214,11 +215,9 @@ u_categ_M =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   448,
-       -1,
        16 +   384 * sizeof (short) / sizeof (int) +   464,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -256,8 +255,8 @@ u_categ_M =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -266,19 +265,20 @@ u_categ_M =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   496,
-       16 +   384 * sizeof (short) / sizeof (int) +   512,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   512,
+       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   544,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   544,
+       16 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@ u_categ_M =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   560,
+       16 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -433,7 +433,7 @@ u_categ_M =
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
     0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB,
     0x0000000F, 0xDC000000, 0x00FEFFFF, 0x0000000C,
     0x0000000E, 0xD0000000, 0x0080399F, 0x0000000C,
     0x0000000E, 0xD0000000, 0x00023987, 0x00230000,
@@ -461,7 +461,7 @@ u_categ_M =
     0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
     0x00000000, 0xFFF00000, 0x200FFFFF, 0x00000000,
     0x00003800, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000060, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0FFF0FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0F800000, 0x00000000, 0x7FE00000, 0x9FFFFFFF,
@@ -471,7 +471,7 @@ u_categ_M =
     0x00000000, 0x00FFFFF0, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFF70000, 0x031C21FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF03FFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -489,7 +489,7 @@ u_categ_M =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x000000F8, 0x00000000, 0x00000000,
-    0x00000003, 0xFFF00000, 0x0000001F, 0x0003FFFF,
+    0x00000003, 0xFFF00000, 0x0000003F, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x000FFF80, 0x00000000,
     0x0000000F, 0xFFF80000, 0x00000001, 0x00000020,
     0x00000000, 0x007FFE00, 0x00003008, 0x38000000,
@@ -520,11 +520,11 @@ u_categ_M =
     0x00000007, 0x07FF0000, 0x00000000, 0x00000000,
     0x00000007, 0x001FFF80, 0x00000000, 0x00080000,
     0x00000007, 0xFFF80000, 0x00001C01, 0x00000000,
-    0x00000000, 0x00FFF000, 0x00000000, 0x00000000,
+    0x00000000, 0x40FFF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x000007FF,
     0x0000000F, 0xD0000000, 0x0080399F, 0x001F1FCC,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFE00000, 0x0000007F, 0x00000000,
     0x00000000, 0xFFFF0000, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFF3F8000, 0x30000001, 0x00000000,
@@ -532,6 +532,10 @@ u_categ_M =
     0x00000000, 0x00FFF800, 0x00000000, 0x00000000,
     0xE0000000, 0x00000FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFF7F8000, 0x00000000, 0x00000000,
+    0xFFFC0000, 0x007FFEFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x007F0000, 0x00000000, 0x00000000,
@@ -556,10 +560,14 @@ u_categ_M =
     0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007F0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/categ_Mc.c b/gllib/unictype/categ_Mc.c
index 3af6dd8..e042daf 100644
--- a/gllib/unictype/categ_Mc.c
+++ b/gllib/unictype/categ_Mc.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Mc.h b/gllib/unictype/categ_Mc.h
index 6bcc23a..4b2f44f 100644
--- a/gllib/unictype/categ_Mc.h
+++ b/gllib/unictype/categ_Mc.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[18 << 4];
+    /*unsigned*/ int level3[19 << 4];
   }
 u_categ_Mc =
 {
@@ -163,6 +163,7 @@ u_categ_Mc =
         3 +   256 * sizeof (short) / sizeof (int) +   240,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
        -1,
        -1,
        -1,
@@ -203,8 +204,7 @@ u_categ_Mc =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
        -1,
        -1,
        -1,
@@ -253,7 +253,7 @@ u_categ_Mc =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
        -1,
        -1,
        -1,
@@ -335,7 +335,7 @@ u_categ_Mc =
     0x00000000, 0x00000000, 0x00000000, 0x00000007,
     0x0000000C, 0xC0000000, 0x0080399E, 0x0000000C,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00E00000, 0x00000023, 0x00000000,
     0x00000000, 0x7A070000, 0x00000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x4F038000, 0x00000000, 0x00000000,
@@ -343,6 +343,10 @@ u_categ_Mc =
     0x00000000, 0x0040D000, 0x00000000, 0x00000000,
     0x00000000, 0x00000043, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x40008000, 0x00000000, 0x00000000,
+    0x00000000, 0x00120200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFE0000, 0x7FFFFFFF,
diff --git a/gllib/unictype/categ_Me.c b/gllib/unictype/categ_Me.c
index c5bc8d4..865aa06 100644
--- a/gllib/unictype/categ_Me.c
+++ b/gllib/unictype/categ_Me.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Me.h b/gllib/unictype/categ_Me.h
index 22bd522..c8b5038 100644
--- a/gllib/unictype/categ_Me.h
+++ b/gllib/unictype/categ_Me.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Mn.c b/gllib/unictype/categ_Mn.c
index 1741f3d..2c1c3d7 100644
--- a/gllib/unictype/categ_Mn.c
+++ b/gllib/unictype/categ_Mn.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Mn.h b/gllib/unictype/categ_Mn.h
index 200bcf8..95cbd43 100644
--- a/gllib/unictype/categ_Mn.h
+++ b/gllib/unictype/categ_Mn.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[36 << 4];
+    /*unsigned*/ int level3[38 << 4];
   }
 u_categ_Mn =
 {
@@ -176,6 +176,7 @@ u_categ_Mn =
        16 +   384 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -214,11 +215,9 @@ u_categ_Mn =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   448,
-       -1,
        16 +   384 * sizeof (short) / sizeof (int) +   464,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -256,8 +255,8 @@ u_categ_Mn =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -266,19 +265,20 @@ u_categ_Mn =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   496,
-       16 +   384 * sizeof (short) / sizeof (int) +   512,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   512,
+       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   544,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   544,
+       16 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@ u_categ_Mn =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   560,
+       16 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -433,7 +433,7 @@ u_categ_Mn =
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
     0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB,
     0x00000007, 0x14000000, 0x00FE21FE, 0x0000000C,
     0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
     0x00000006, 0x10000000, 0x00023986, 0x00230000,
@@ -461,7 +461,7 @@ u_categ_Mn =
     0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
     0x00000000, 0x3FB00000, 0x200FFE40, 0x00000000,
     0x00003800, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000060, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0E040187, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x09800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
@@ -471,7 +471,7 @@ u_categ_Mn =
     0x00000000, 0x00CFF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFF70000, 0x031021FD,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF03FFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x1FFF0000, 0x0001FFE2,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -489,7 +489,7 @@ u_categ_Mn =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x00000060, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000030, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
     0x00000007, 0x13C80000, 0x00000000, 0x00000020,
     0x00000000, 0x00667E00, 0x00001008, 0x10000000,
@@ -520,11 +520,11 @@ u_categ_Mn =
     0x00000003, 0x06780000, 0x00000000, 0x00000000,
     0x00000007, 0x001FEF80, 0x00000000, 0x00080000,
     0x00000003, 0x7FC00000, 0x00001C00, 0x00000000,
-    0x00000000, 0x00D38000, 0x00000000, 0x00000000,
+    0x00000000, 0x40D38000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x000007F8,
     0x00000003, 0x10000000, 0x00000001, 0x001F1FC0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFF000000, 0x0000005C, 0x00000000,
     0x00000000, 0x85F80000, 0x0000000D, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xB03C0000, 0x30000001, 0x00000000,
@@ -532,6 +532,10 @@ u_categ_Mn =
     0x00000000, 0x00BF2800, 0x00000000, 0x00000000,
     0xE0000000, 0x00000FBC, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xBF7F0000, 0x00000000, 0x00000000,
+    0xFFFC0000, 0x006DFCFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x007F0000, 0x00000000, 0x00000000,
@@ -556,10 +560,14 @@ u_categ_Mn =
     0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007F0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/categ_N.c b/gllib/unictype/categ_N.c
index 7d04d12..d791205 100644
--- a/gllib/unictype/categ_N.c
+++ b/gllib/unictype/categ_N.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_N.h b/gllib/unictype/categ_N.h
index caf3dcd..8f63f9c 100644
--- a/gllib/unictype/categ_N.h
+++ b/gllib/unictype/categ_N.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[40 << 4];
+    /*unsigned*/ int level3[41 << 4];
   }
 u_categ_N =
 {
@@ -163,12 +163,11 @@ u_categ_N =
         3 +   256 * sizeof (short) / sizeof (int) +   512,
         3 +   256 * sizeof (short) / sizeof (int) +   528,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   544,
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   544,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
@@ -202,8 +201,8 @@ u_categ_N =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   560,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -254,10 +253,10 @@ u_categ_N =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   576,
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +   592,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   608,
        -1,
        -1,
        -1,
@@ -265,11 +264,12 @@ u_categ_N =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   608,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   624,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -297,7 +297,7 @@ u_categ_N =
     0x00000000, 0x00000000, 0x00000000, 0x0007FFC0,
     0x00000000, 0x00000000, 0x00000000, 0x7F00FFC0,
     0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
-    0x00000000, 0x00000000, 0x00000000, 0x003FFFC0,
+    0x00000000, 0x00000000, 0x7F000000, 0x01FFFFC0,
     0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
@@ -403,7 +403,7 @@ u_categ_N =
     0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -415,6 +415,10 @@ u_categ_N =
     0x00000000, 0x00000000, 0x00000000, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x00001FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -433,7 +437,7 @@ u_categ_N =
     0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x0000FF80, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/categ_Nd.c b/gllib/unictype/categ_Nd.c
index ae751bf..994655d 100644
--- a/gllib/unictype/categ_Nd.c
+++ b/gllib/unictype/categ_Nd.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Nd.h b/gllib/unictype/categ_Nd.h
index 78404db..9f176e5 100644
--- a/gllib/unictype/categ_Nd.h
+++ b/gllib/unictype/categ_Nd.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[22 << 4];
+    /*unsigned*/ int level3[24 << 4];
   }
 u_categ_Nd =
 {
@@ -163,6 +163,7 @@ u_categ_Nd =
         3 +   256 * sizeof (short) / sizeof (int) +   288,
         3 +   256 * sizeof (short) / sizeof (int) +   304,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
        -1,
        -1,
@@ -201,9 +202,7 @@ u_categ_Nd =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   320,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
        -1,
        -1,
        -1,
@@ -256,8 +255,8 @@ u_categ_Nd =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   336,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
        -1,
@@ -266,6 +265,7 @@ u_categ_Nd =
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -347,7 +347,7 @@ u_categ_Nd =
     0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -359,6 +359,10 @@ u_categ_Nd =
     0x00000000, 0x00000000, 0x00000000, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
@@ -366,6 +370,10 @@ u_categ_Nd =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/categ_Nl.c b/gllib/unictype/categ_Nl.c
index 3cd62ad..c1a0bdf 100644
--- a/gllib/unictype/categ_Nl.c
+++ b/gllib/unictype/categ_Nl.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Nl.h b/gllib/unictype/categ_Nl.h
index e2bd117..44ded55 100644
--- a/gllib/unictype/categ_Nl.h
+++ b/gllib/unictype/categ_Nl.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_No.c b/gllib/unictype/categ_No.c
index d50ffee..0415522 100644
--- a/gllib/unictype/categ_No.c
+++ b/gllib/unictype/categ_No.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_No.h b/gllib/unictype/categ_No.h
index 7a1d89e..142a8d0 100644
--- a/gllib/unictype/categ_No.h
+++ b/gllib/unictype/categ_No.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[28 << 4];
+    /*unsigned*/ int level3[29 << 4];
   }
 u_categ_No =
 {
@@ -163,6 +163,7 @@ u_categ_No =
         3 +   256 * sizeof (short) / sizeof (int) +   352,
         3 +   256 * sizeof (short) / sizeof (int) +   368,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
        -1,
@@ -201,8 +202,7 @@ u_categ_No =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -254,7 +254,7 @@ u_categ_No =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   400,
+        3 +   256 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -265,11 +265,11 @@ u_categ_No =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   416,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   432,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -293,7 +293,7 @@ u_categ_No =
     0x00000000, 0x00000000, 0x00000000, 0x00070000,
     0x00000000, 0x00000000, 0x00000000, 0x7F000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x003F0000,
+    0x00000000, 0x00000000, 0x7F000000, 0x01FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -375,6 +375,10 @@ u_categ_No =
     0x00000000, 0x00000000, 0x00000000, 0x0007FC00,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFC000000, 0x00001FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xF8000000, 0x00000003,
diff --git a/gllib/unictype/categ_P.c b/gllib/unictype/categ_P.c
index 68c4415..4a905fd 100644
--- a/gllib/unictype/categ_P.c
+++ b/gllib/unictype/categ_P.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_P.h b/gllib/unictype/categ_P.h
index d528d15..20e0656 100644
--- a/gllib/unictype/categ_P.h
+++ b/gllib/unictype/categ_P.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[41 << 4];
+    /*unsigned*/ int level3[43 << 4];
   }
 u_categ_P =
 {
@@ -163,11 +163,11 @@ u_categ_P =
         3 +   256 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   592,
+        3 +   256 * sizeof (short) / sizeof (int) +   608,
        -1,
        -1,
        -1,
@@ -202,7 +202,7 @@ u_categ_P =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   608,
+        3 +   256 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1,
@@ -243,7 +243,7 @@ u_categ_P =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   624,
+        3 +   256 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -258,14 +258,14 @@ u_categ_P =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   640,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   656,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -359,7 +359,7 @@ u_categ_P =
     0x00000000, 0x00000000, 0x00000000, 0xDE000000,
     0x00000000, 0x00000000, 0x00000000, 0x00010000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x00000007, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x0000001F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -419,14 +419,18 @@ u_categ_P =
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x2800F800, 0x00000000,
     0x00000000, 0x00000000, 0x00000040, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00FFFFFE, 0x00000000,
-    0x00000000, 0x00000000, 0x0000000E, 0x00000000,
+    0x00000000, 0x00000000, 0x0000000E, 0x00001FFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x70000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000003E, 0x00030000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -442,6 +446,10 @@ u_categ_P =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000F80, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/categ_Pc.c b/gllib/unictype/categ_Pc.c
index 6c90759..d28dcfd 100644
--- a/gllib/unictype/categ_Pc.c
+++ b/gllib/unictype/categ_Pc.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Pc.h b/gllib/unictype/categ_Pc.h
index 0cc4d8c..87d4a62 100644
--- a/gllib/unictype/categ_Pc.h
+++ b/gllib/unictype/categ_Pc.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Pd.c b/gllib/unictype/categ_Pd.c
index 19f49fd..438bd1b 100644
--- a/gllib/unictype/categ_Pd.c
+++ b/gllib/unictype/categ_Pd.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Pd.h b/gllib/unictype/categ_Pd.h
index 1317375..6c057c9 100644
--- a/gllib/unictype/categ_Pd.h
+++ b/gllib/unictype/categ_Pd.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Pe.c b/gllib/unictype/categ_Pe.c
index 5d0f843..0a841dd 100644
--- a/gllib/unictype/categ_Pe.c
+++ b/gllib/unictype/categ_Pe.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Pe.h b/gllib/unictype/categ_Pe.h
index 3a4556d..e257630 100644
--- a/gllib/unictype/categ_Pe.h
+++ b/gllib/unictype/categ_Pe.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Pf.c b/gllib/unictype/categ_Pf.c
index dfe7f26..cf6e975 100644
--- a/gllib/unictype/categ_Pf.c
+++ b/gllib/unictype/categ_Pf.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Pf.h b/gllib/unictype/categ_Pf.h
index a4e33ed..60271aa 100644
--- a/gllib/unictype/categ_Pf.h
+++ b/gllib/unictype/categ_Pf.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Pi.c b/gllib/unictype/categ_Pi.c
index 148bbc3..07f96ed 100644
--- a/gllib/unictype/categ_Pi.c
+++ b/gllib/unictype/categ_Pi.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Pi.h b/gllib/unictype/categ_Pi.h
index 71e9c1d..87f67c8 100644
--- a/gllib/unictype/categ_Pi.h
+++ b/gllib/unictype/categ_Pi.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Po.c b/gllib/unictype/categ_Po.c
index 41b5c5c..39a89bb 100644
--- a/gllib/unictype/categ_Po.c
+++ b/gllib/unictype/categ_Po.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Po.h b/gllib/unictype/categ_Po.h
index e13bbff..266e135 100644
--- a/gllib/unictype/categ_Po.h
+++ b/gllib/unictype/categ_Po.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[36 << 4];
+    /*unsigned*/ int level3[38 << 4];
   }
 u_categ_Po =
 {
@@ -163,11 +163,11 @@ u_categ_Po =
         3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   512,
+        3 +   256 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
        -1,
@@ -202,7 +202,7 @@ u_categ_Po =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   528,
+        3 +   256 * sizeof (short) / sizeof (int) +   544,
        -1,
        -1,
        -1,
@@ -243,7 +243,7 @@ u_categ_Po =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   544,
+        3 +   256 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
@@ -258,14 +258,14 @@ u_categ_Po =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   560,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -343,7 +343,7 @@ u_categ_Po =
     0x00000000, 0x00000000, 0x00000000, 0xDE000000,
     0x00000000, 0x00000000, 0x00000000, 0x00010000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xCB7FC9C3, 0xF3FF7C00, 0x00000002, 0x00000000,
+    0xCB7FC9C3, 0xF3FF7C00, 0x0000001A, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -399,14 +399,18 @@ u_categ_Po =
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x2800F800, 0x00000000,
     0x00000000, 0x00000000, 0x00000040, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00FFFFFE, 0x00000000,
-    0x00000000, 0x00000000, 0x0000000E, 0x00000000,
+    0x00000000, 0x00000000, 0x0000000E, 0x00001FFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x70000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000003E, 0x00030000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -422,6 +426,10 @@ u_categ_Po =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000F80, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/categ_Ps.c b/gllib/unictype/categ_Ps.c
index f724801..4026145 100644
--- a/gllib/unictype/categ_Ps.c
+++ b/gllib/unictype/categ_Ps.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Ps.h b/gllib/unictype/categ_Ps.h
index c1204ef..557d0bc 100644
--- a/gllib/unictype/categ_Ps.h
+++ b/gllib/unictype/categ_Ps.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_S.c b/gllib/unictype/categ_S.c
index 84ebfbb..3dc9676 100644
--- a/gllib/unictype/categ_S.c
+++ b/gllib/unictype/categ_S.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_S.h b/gllib/unictype/categ_S.h
index 9a70ace..d60c79b 100644
--- a/gllib/unictype/categ_S.h
+++ b/gllib/unictype/categ_S.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[49 << 4];
+    /*unsigned*/ int level3[48 << 4];
   }
 u_categ_S =
 {
@@ -271,9 +271,9 @@ u_categ_S =
         3 +   256 * sizeof (short) / sizeof (int) +   688,
         3 +   256 * sizeof (short) / sizeof (int) +   704,
         3 +   256 * sizeof (short) / sizeof (int) +   720,
+        3 +   256 * sizeof (short) / sizeof (int) +   656,
         3 +   256 * sizeof (short) / sizeof (int) +   736,
         3 +   256 * sizeof (short) / sizeof (int) +   752,
-        3 +   256 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1
@@ -305,7 +305,7 @@ u_categ_S =
     0x00000000, 0x00000000, 0x00000000, 0x07F80000,
     0x00000000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x02000000,
+    0x00000000, 0x00000000, 0x00008000, 0x02000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x80000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -342,7 +342,7 @@ u_categ_S =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFF0FF, 0xFFFFF9FF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0x00000000,
     0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -410,7 +410,7 @@ u_categ_S =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFF800000, 0x00000000, 0xFE000000,
-    0x0FFF13FF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF,
+    0x0FFF73FF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x01800000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -458,22 +458,18 @@ u_categ_S =
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF,
     0xFFFF0000, 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFF0FFF,
-    0x07FFFFFF, 0x00000000, 0x00000000, 0xFFFFFFC0,
-    0xFFFF0007, 0x07FFFFFF, 0x000301FF, 0x00000000,
+    0xFFFFFFFF, 0x00001FFF, 0x00000000, 0xFFFFFFC0,
+    0xFFFF0007, 0x0FFFFFFF, 0x000301FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFBFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFEF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x000F1FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
     0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF,
     0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000,
-    0x01FF0000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000001F, 0x00000000, 0x00000001, 0x00000000
+    0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000,
+    0x0003FFFF, 0x00000000, 0x00000001, 0x00000000
   }
 };
diff --git a/gllib/unictype/categ_Sc.c b/gllib/unictype/categ_Sc.c
index 47ef12a..eb44a8c 100644
--- a/gllib/unictype/categ_Sc.c
+++ b/gllib/unictype/categ_Sc.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Sc.h b/gllib/unictype/categ_Sc.h
index 9711ec4..e5acd72 100644
--- a/gllib/unictype/categ_Sc.h
+++ b/gllib/unictype/categ_Sc.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Sk.c b/gllib/unictype/categ_Sk.c
index c80222d..f575ddb 100644
--- a/gllib/unictype/categ_Sk.c
+++ b/gllib/unictype/categ_Sk.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Sk.h b/gllib/unictype/categ_Sk.h
index afb9ed1..04f8b0a 100644
--- a/gllib/unictype/categ_Sk.h
+++ b/gllib/unictype/categ_Sk.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Sm.c b/gllib/unictype/categ_Sm.c
index 47cb25a..556ee68 100644
--- a/gllib/unictype/categ_Sm.c
+++ b/gllib/unictype/categ_Sm.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Sm.h b/gllib/unictype/categ_Sm.h
index 0003f17..164a5e0 100644
--- a/gllib/unictype/categ_Sm.h
+++ b/gllib/unictype/categ_Sm.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_So.c b/gllib/unictype/categ_So.c
index 1e2cbf9..db2c08d 100644
--- a/gllib/unictype/categ_So.c
+++ b/gllib/unictype/categ_So.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_So.h b/gllib/unictype/categ_So.h
index 86f4e4d..166d3e2 100644
--- a/gllib/unictype/categ_So.h
+++ b/gllib/unictype/categ_So.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[42 << 4];
+    /*unsigned*/ int level3[41 << 4];
   }
 u_categ_So =
 {
@@ -271,9 +271,9 @@ u_categ_So =
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +   592,
         3 +   256 * sizeof (short) / sizeof (int) +   608,
+        3 +   256 * sizeof (short) / sizeof (int) +   560,
         3 +   256 * sizeof (short) / sizeof (int) +   624,
         3 +   256 * sizeof (short) / sizeof (int) +   640,
-        3 +   256 * sizeof (short) / sizeof (int) +   656,
        -1,
        -1,
        -1
@@ -301,7 +301,7 @@ u_categ_So =
     0x00000000, 0x00000000, 0x00000000, 0x05F80000,
     0x00000000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x02000000,
+    0x00000000, 0x00000000, 0x00008000, 0x02000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -330,7 +330,7 @@ u_categ_So =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFF0FF, 0xFFFFF9FC, 0xFFFFFFFF, 0xEFFFFFFF,
-    0x07FFFFFF, 0xFFF00000, 0x0FFFFFFF, 0x07FFFFFC,
+    0x07FFFFFF, 0xFFF00000, 0x0FFFFFFF, 0x7FFFFFFC,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0x00000000,
     0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -390,7 +390,7 @@ u_categ_So =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFF800000, 0x00000000, 0xFE000000,
-    0x0FFF13FF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF,
+    0x0FFF73FF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x01800000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -430,22 +430,18 @@ u_categ_So =
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF,
     0xFFFF0000, 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFF0FFF,
-    0x07FFFFFF, 0x00000000, 0x00000000, 0xFFFFFFC0,
-    0xFFFF0007, 0x07FFFFFF, 0x000301FF, 0x00000000,
+    0xFFFFFFFF, 0x00001FFF, 0x00000000, 0xFFFFFFC0,
+    0xFFFF0007, 0x0FFFFFFF, 0x000301FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFBFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFEF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x000F1FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
     0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF,
     0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000,
-    0x01FF0000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000001F, 0x00000000, 0x00000001, 0x00000000
+    0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000,
+    0x0003FFFF, 0x00000000, 0x00000001, 0x00000000
   }
 };
diff --git a/gllib/unictype/categ_Z.c b/gllib/unictype/categ_Z.c
index 321915b..f89b20c 100644
--- a/gllib/unictype/categ_Z.c
+++ b/gllib/unictype/categ_Z.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Z.h b/gllib/unictype/categ_Z.h
index 85f9fe9..ba73071 100644
--- a/gllib/unictype/categ_Z.h
+++ b/gllib/unictype/categ_Z.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Zl.c b/gllib/unictype/categ_Zl.c
index a1224b3..15e5aca 100644
--- a/gllib/unictype/categ_Zl.c
+++ b/gllib/unictype/categ_Zl.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Zl.h b/gllib/unictype/categ_Zl.h
index f257d47..d692233 100644
--- a/gllib/unictype/categ_Zl.h
+++ b/gllib/unictype/categ_Zl.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Zp.c b/gllib/unictype/categ_Zp.c
index c25cf8e..ce28eee 100644
--- a/gllib/unictype/categ_Zp.c
+++ b/gllib/unictype/categ_Zp.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Zp.h b/gllib/unictype/categ_Zp.h
index 66deca7..66a702e 100644
--- a/gllib/unictype/categ_Zp.h
+++ b/gllib/unictype/categ_Zp.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_Zs.c b/gllib/unictype/categ_Zs.c
index 03f813b..ce15981 100644
--- a/gllib/unictype/categ_Zs.c
+++ b/gllib/unictype/categ_Zs.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_Zs.h b/gllib/unictype/categ_Zs.h
index e442025..82d2949 100644
--- a/gllib/unictype/categ_Zs.h
+++ b/gllib/unictype/categ_Zs.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/categ_and.c b/gllib/unictype/categ_and.c
index 2f54c59..fb79d93 100644
--- a/gllib/unictype/categ_and.c
+++ b/gllib/unictype/categ_and.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_and_not.c b/gllib/unictype/categ_and_not.c
index 2811430..314af21 100644
--- a/gllib/unictype/categ_and_not.c
+++ b/gllib/unictype/categ_and_not.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_byname.c b/gllib/unictype/categ_byname.c
index 5892e83..3a7a433 100644
--- a/gllib/unictype/categ_byname.c
+++ b/gllib/unictype/categ_byname.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_longname.c b/gllib/unictype/categ_longname.c
index fc76680..140d9bf 100644
--- a/gllib/unictype/categ_longname.c
+++ b/gllib/unictype/categ_longname.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_name.c b/gllib/unictype/categ_name.c
index d853e35..7f3468b 100644
--- a/gllib/unictype/categ_name.c
+++ b/gllib/unictype/categ_name.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_none.c b/gllib/unictype/categ_none.c
index 207409e..d6b73e4 100644
--- a/gllib/unictype/categ_none.c
+++ b/gllib/unictype/categ_none.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_of.c b/gllib/unictype/categ_of.c
index 35b193e..e60c882 100644
--- a/gllib/unictype/categ_of.c
+++ b/gllib/unictype/categ_of.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_of.h b/gllib/unictype/categ_of.h
index 85408c3..605b235 100644
--- a/gllib/unictype/categ_of.h
+++ b/gllib/unictype/categ_of.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define category_header_0 16
 #define category_header_1 17
 #define category_header_2 7
@@ -11,7 +11,7 @@ struct
   {
     int level1[17];
     short level2[5 << 9];
-    unsigned short level3[211 * 40 + 1];
+    unsigned short level3[216 * 40 + 1];
   }
 u_category =
 {
@@ -90,29 +90,19 @@ u_category =
     16640, 16768, 16896, 17024, 17152, 17280, 17408, 17536,
     17664, 17792,    -1,    -1, 17920,    -1,    -1,    -1,
     18048, 18176, 18304, 18432, 18560, 18688, 18816,    -1,
-       -1, 18944,    -1, 19072, 19200, 19328, 19456,    -1,
-       -1, 19584,    -1,    -1,    -1, 19712,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4352,  4352,  4352,  4352,  4352,  4352,  4352, 19840,
-    19968,  4352, 20096,    -1,    -1,    -1,    -1,    -1,
+    18944, 19072,    -1, 19200, 19328, 19456, 19584,    -1,
+       -1, 19712,    -1,    -1,    -1, 19840,    -1,    -1,
+    19968, 20096,    -1,    -1,    -1,    -1,    -1,    -1,
+     4352,  4352,  4352,  4352,  4352,  4352,  4352, 20224,
+    20352,  4352, 20480,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
-    20224,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4352,  4352,  4352,  4352, 20352,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    20608,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4352,  4352,  4352,  4352, 20480, 20608, 20736, 20864,
-       -1,    -1,    -1,    -1,    -1,    -1, 20992, 21120,
+     4352,  4352,  4352,  4352, 20736,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -121,6 +111,15 @@ u_category =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4352,  4352,  4352,  4352, 20864, 20992, 21120, 21248,
+       -1,    -1,    -1,    -1,    -1,    -1, 21376, 21504,
+     4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
+     4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
+     4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
+     4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
+     4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
+     4352,  4352,  4352,  4352,  4352,  4352,  4352, 21632,
+     4352,  4352,  4352,  4352,  4352, 21760,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -129,25 +128,26 @@ u_category =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    21248,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    21888,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    21376, 21504,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    22016, 22144,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     8832, 21632, 21760, 21888, 22016,    -1, 22144,    -1,
-    22272, 22400, 22528, 22656, 22784, 22912, 23040, 23168,
-     8832,  8832,  8832,  8832, 23296, 23424,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     8832, 22272, 22400, 22528, 22656,    -1, 22784,    -1,
+    22912, 23040, 23168, 23296, 23424, 23552, 23680, 23808,
+     8832,  8832,  8832,  8832, 23936, 24064,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    24192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4352, 23552,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1, 23680, 23808,    -1,    -1,
-    23936, 24064, 24192, 24320, 24448,    -1,  8832, 24576,
-     8832,  8832, 24704, 24832,  8832, 24960, 25088, 25216,
-    25344, 25472, 25600, 25728,    -1,    -1,    -1,    -1,
+     4352, 24320, 24448,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1, 24576, 24704,    -1,    -1,
+    24832, 24960, 25088, 25216, 25344,    -1,  8832, 25472,
+     8832,  8832,  8832,  8832,  8832, 25600, 25728, 25856,
+    25984, 26112, 26240, 26368,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
@@ -190,17 +190,17 @@ u_category =
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
-     4352,  4352,  4352,  4352,  4352, 25856,  4352,  4352,
+     4352,  4352,  4352,  4352,  4352, 26496,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
-     4352,  4352,  4352,  4352,  4352,  4352, 25984,  4352,
-    26112,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
+     4352,  4352,  4352,  4352,  4352,  4352, 26624,  4352,
+    26752,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
      4352,  4352,  4352,  4352,  4352,  4352,  4352,  4352,
-     4352,  4352,  4352,  4352,  4352, 26240,    -1,    -1,
+     4352,  4352,  4352,  4352,  4352, 26880,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -211,9 +211,9 @@ u_category =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4352,  4352,  4352,  4352, 26368,    -1,    -1,    -1,
+     4352,  4352,  4352,  4352, 27008,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    26496,    -1, 26624, 26752,    -1,    -1,    -1,    -1,
+    27136,    -1, 27264, 27392,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -340,7 +340,7 @@ u_category =
     13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824,
     13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824,
     13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824,
-    13824, 13824, 13824, 13824, 13824, 13824, 13824, 26880
+    13824, 13824, 13824, 13824, 13824, 13824, 13824, 27520
   },
   {
     0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce,
@@ -430,8 +430,8 @@ u_category =
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
     0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
-    0x7a42, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x4a52,
+    0x3a42, 0x8421, 0x4210, 0xef48, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x4a5e, 0xa529, 0x5294, 0x294a, 0xe8a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
     0x14a5, 0x0843, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
@@ -468,7 +468,7 @@ u_category =
     0x0842, 0x8421, 0xdef4, 0x2949, 0x18c5, 0x7a63, 0xa529, 0x5297,
     0xef4a, 0xf7bd, 0x4bde, 0x84e9, 0xde90, 0xef7b, 0x9484, 0x3bd2,
     0x0842, 0x8421, 0x4210, 0xf7bd, 0x7bde, 0x4aef, 0xa529, 0xaa94,
-    0x18bd, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421,
+    0x18a4, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x1084,
     0x09d2, 0x8421, 0x5ef4, 0x2988, 0x18c6, 0x7a63, 0xa631, 0x531b,
     0xef4a, 0xf7bd, 0x8dde, 0xbde9, 0xdef7, 0xe93b, 0x9484, 0x3bd2,
@@ -476,8 +476,8 @@ u_category =
     0x18bd, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0xde90, 0x3189, 0x94a6, 0xba52, 0xa631, 0x631b,
-    0xe90a, 0xf7bd, 0x7bde, 0xbd37, 0xdef7, 0x277b, 0x9484, 0x3bd2,
-    0x0842, 0x8421, 0x4210, 0x294a, 0x54a5, 0xbdef, 0x4212, 0x2108,
+    0xa90a, 0xf7bd, 0x084e, 0x4a31, 0xa529, 0x2294, 0x9484, 0x3bd2,
+    0x0842, 0x8421, 0x4210, 0x294a, 0x94a5, 0xaa52, 0x4212, 0x2108,
     0x1bbd, 0x09d3, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9,
     0x4213, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x7484,
     0x0842, 0x8421, 0xd210, 0xef49, 0x1084, 0x0842, 0xbde9, 0xde97,
@@ -568,7 +568,7 @@ u_category =
     0x0842, 0x8421, 0x4210, 0x2108, 0x9084, 0x0841, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7, 0xef7b,
-    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x1084, 0x4a42, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xde90, 0xef7b, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
@@ -608,7 +608,7 @@ u_category =
     0x4c62, 0xbd29, 0x18f7, 0x8c63, 0x2108, 0x1084, 0x0842, 0xdef5,
     0x2109, 0x2108, 0x1084, 0x0842, 0x4211, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x6321, 0x318c, 0x8c46,
-    0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0x8421, 0x4210, 0xa108, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
     0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xc631, 0x6318, 0xbd8c, 0xdef7,
     0xef7b, 0x94a5, 0x4a58, 0xa529, 0x5294, 0x294a, 0x94c5, 0x4a52,
@@ -622,7 +622,7 @@ u_category =
     0x3184, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
     0xc631, 0x6318, 0x318c, 0x18c6, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
-    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xbdef, 0x5ef7, 0x294a,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xbdef, 0x52f7, 0x294a,
     0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
     0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
     0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080,
@@ -677,7 +677,7 @@ u_category =
     0x2956, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
     0x6b59, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
     0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x2ad6, 0x94a5, 0xd652, 0x6b5a,
-    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0xded6, 0xef7b,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xded6,
@@ -750,7 +750,7 @@ u_category =
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
     0x3e31, 0x60f8, 0xf18c, 0xf8c1, 0x8c60, 0xc631, 0x6318, 0x3164,
     0xf8b2, 0x8c60, 0x360f, 0x5cd7, 0xcd73, 0x18c5, 0x1c63, 0xc631,
-    0x6318, 0x318c, 0x1632, 0x8c63, 0xb62c, 0x7bde, 0xbdef, 0xdef7,
+    0x6318, 0x318c, 0x1632, 0x8c63, 0xb62c, 0x7b18, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
@@ -829,7 +829,7 @@ u_category =
     0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200,
     0x2008, 0x0080, 0x0802, 0x8423, 0x4210, 0x0108, 0x1004, 0x0800,
     0x8020, 0x0200, 0x8308, 0x1052, 0x2040, 0x8020, 0x0210, 0x2008,
-    0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0000, 0xef40, 0x0000,
+    0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0000, 0xe800, 0x0000,
     0x0200, 0xbd08, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0x6327, 0x4204, 0x2108,
@@ -840,7 +840,7 @@ u_category =
     0x8421, 0x4210, 0x2108, 0x1084, 0x6312, 0xbd8c, 0xdef7, 0xef7b,
     0x10c6, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
-    0x8c62, 0xc631, 0x6318, 0x318c, 0x18c6, 0x7a53, 0xbdef, 0xdef7,
+    0x8c62, 0xc631, 0x6318, 0x318c, 0x18c6, 0x4a53, 0xbdef, 0xdef7,
     0x8c7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x10a5, 0x0842, 0x3121, 0x1246, 0xef49,
     0x2108, 0x1084, 0x0842, 0x4211, 0x2108, 0x1084, 0x0842, 0x8421,
@@ -953,7 +953,7 @@ u_category =
     0x7bd5, 0xb5af, 0x5ad6, 0xad6b, 0xa529, 0x5294, 0x294a, 0x94a5,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x9494, 0xaa52, 0x5ad6, 0xad6b,
-    0xd6b5, 0x6b5a, 0xb5ad, 0x552a, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x552a, 0xed6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0xdad6, 0xef7b, 0xf7b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
@@ -979,10 +979,10 @@ u_category =
     0x0842, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
-    0x4210, 0xef48, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0xf7bd,
-    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
-    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x4210, 0xef48, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x7bd0, 0x21ef, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xd084, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7, 0xef7b, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
@@ -1070,7 +1070,7 @@ u_category =
     0x4a52, 0xa529, 0x5294, 0x294a, 0x7aa5, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x7484, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x6210, 0x298c, 0x18a5,
-    0x4c53, 0x3129, 0x18c6, 0xef63, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0x4c53, 0x3129, 0x18c6, 0xe963, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0xa4e9, 0x4213, 0x2748, 0x1084, 0x0842, 0x8421,
@@ -1084,6 +1084,11 @@ u_category =
     0xef4c, 0xf7a4, 0x7bde, 0xbd37, 0xdef7, 0x2109, 0x1884, 0x7bd3,
     0xa529, 0x5294, 0xef7a, 0x94a5, 0x7a52, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x8c42, 0xa531, 0x5294, 0x294a, 0x94c6, 0x4c52, 0x8421, 0x1890,
+    0x8c63, 0x2108, 0x1084, 0x0842, 0xd8f5, 0xef63, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x98c6,
     0x4a52, 0xc529, 0x6314, 0x298c, 0x94c5, 0x4842, 0xbd24, 0xdef7,
     0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0xf7bd, 0x7bde,
@@ -1096,8 +1101,8 @@ u_category =
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x98c6,
     0x4a52, 0xa529, 0x6314, 0x298a, 0xc625, 0x7a48, 0xbdef, 0xdef7,
-    0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0xf7bd, 0x7bde,
-    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0xc631, 0x6318,
+    0x318c, 0x18c6, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x6290, 0x318a, 0x94a5,
     0x8a52, 0xbd29, 0xdef7, 0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5,
@@ -1118,6 +1123,16 @@ u_category =
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x3108, 0x94a5,
+    0x4a52, 0xa5e9, 0x5294, 0x298a, 0xc624, 0x6318, 0xbdef, 0xdef7,
+    0xef7b, 0x2108, 0x1084, 0x0842, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0xef7a, 0x1231, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x97bd, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xdd29, 0x5294, 0x294a, 0x94c5,
+    0x4a62, 0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0xdef4, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
@@ -1171,8 +1186,18 @@ u_category =
     0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0x2f7b, 0x94a5, 0xc631, 0x6318,
     0x318c, 0x18c6, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7a3, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0xef7a, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x9084, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0xf484, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
     0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
@@ -1263,11 +1288,21 @@ u_category =
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x94a5, 0x4a52, 0xa5e9, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x52f7, 0x294a, 0xf4a5, 0x7a52, 0xa529, 0xde94, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x7a42, 0x4a57, 0xa529,
     0x5294, 0x94a5, 0x4a52, 0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x8400, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4a50, 0xa529, 0xde94,
+    0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0x8c7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x09d2, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x909d, 0x7a4e, 0x9d27, 0x4210, 0x2108, 0x9084,
     0x084e, 0x9d21, 0xd274, 0xef7b, 0x93bd, 0x7bde, 0x9d27, 0xd274,
@@ -1294,13 +1329,13 @@ u_category =
     0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
     0xb5ad, 0xdad6, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
-    0xded6, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
     0xd6b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
-    0x6b5a, 0xb5ad, 0xded6, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdef7,
+    0x6b5a, 0xb5ad, 0xdad6, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdef7,
     0xef7b, 0xf6b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
@@ -1311,18 +1346,8 @@ u_category =
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
     0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
-    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
-    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5af6, 0xad6b,
-    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
-    0x5ad6, 0xad6b, 0xd6b5, 0x6bda, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
-    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
-    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
-    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
-    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
-    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
-    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
-    0xad6b, 0xf7b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a,
-    0xb5ad, 0x5ad6, 0xef7b, 0xd6b5, 0x7bda, 0xbdef, 0xdef7, 0xef7b,
+    0xad6b, 0xd6b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xef7b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, 0xef7b,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
     0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
@@ -1344,11 +1369,11 @@ u_category =
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad,
-    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
-    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0x5ad6, 0xed6b, 0xd6b5, 0x6b5a, 0xbdad, 0xdef7, 0xef7b, 0xf7b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6,
+    0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
-    0xd6b5, 0x7b5a, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xf6b5, 0x7bde, 0xbdef,
     0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7b5, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
diff --git a/gllib/unictype/categ_or.c b/gllib/unictype/categ_or.c
index d90c668..00c891b 100644
--- a/gllib/unictype/categ_or.c
+++ b/gllib/unictype/categ_or.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/categ_test.c b/gllib/unictype/categ_test.c
index d9b0dad..0bdad44 100644
--- a/gllib/unictype/categ_test.c
+++ b/gllib/unictype/categ_test.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/combiningclass.h b/gllib/unictype/combiningclass.h
index 4c91aa6..ddfe9b0 100644
--- a/gllib/unictype/combiningclass.h
+++ b/gllib/unictype/combiningclass.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Combining class of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define combclass_header_0 16
 #define combclass_header_1 2
 #define combclass_header_2 7
@@ -11,7 +11,7 @@ struct
   {
     int level1[2];
     short level2[2 << 9];
-    unsigned char level3[72 << 7];
+    unsigned char level3[75 << 7];
   }
 u_combclass =
 {
@@ -86,8 +86,9 @@ u_combclass =
        -1,    -1,    -1,    -1,  6528,  6656,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      6784,  6912,  7040,  7168,  7296,  7424,  7552,    -1,
-       -1,  7680,    -1,  7808,  7936,  8064,  8192,    -1,
+     7680,  7808,    -1,  7936,  8064,  8192,  8320,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     8064,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -106,8 +107,8 @@ u_combclass =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,  8448,  8576,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,  8320,  8448,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -127,19 +128,18 @@ u_combclass =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  8704,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  8576,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  8832,  8960,  9088,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  8704,  8832,  8960,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     9216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  9088,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  9344,  9472,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -285,9 +285,9 @@ u_combclass =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0, 220, 230, 230, 220, 230,
+      0,   0,   0,   0, 230, 230, 230, 230,
+    230, 230, 230, 230, 230, 230, 230, 230,
+    230, 230,   0, 220, 230, 230, 220, 230,
     230, 220, 230, 230, 230, 220, 220, 220,
      27,  28,  29, 230, 230, 230, 220, 230,
     230, 220, 220, 230, 230, 230, 230, 230,
@@ -658,7 +658,7 @@ u_combclass =
     230, 230, 230, 230, 230, 230, 230, 230,
     230, 230, 230, 230, 230, 230, 230, 230,
     230, 230, 230, 230, 230, 230,   0,   0,
-      0,   0,   0,   0, 233, 220, 230, 220,
+      0,   0,   0, 230, 233, 220, 230, 220,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -1115,6 +1115,22 @@ u_combclass =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   9,   0,   0,   0,   7,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   9,   7,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -1283,6 +1299,22 @@ u_combclass =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
+    230, 230, 230, 230, 230, 230, 230,   0,
+    230, 230, 230, 230, 230, 230, 230, 230,
+    230, 230, 230, 230, 230, 230, 230, 230,
+    230,   0,   0, 230, 230, 230, 230, 230,
+    230, 230,   0, 230, 230,   0, 230, 230,
+    230, 230, 230,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -1298,6 +1330,22 @@ u_combclass =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 230, 230, 230, 230,
+    230, 230,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0
   }
 };
diff --git a/gllib/unictype/ctype_print.c b/gllib/unictype/ctype_print.c
index a648e3c..77234a0 100644
--- a/gllib/unictype/ctype_print.c
+++ b/gllib/unictype/ctype_print.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/ctype_print.h b/gllib/unictype/ctype_print.h
index 19ab4d3..5a7b3ab 100644
--- a/gllib/unictype/ctype_print.h
+++ b/gllib/unictype/ctype_print.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[17];
     short level2[5 << 7];
-    /*unsigned*/ int level3[75 << 4];
+    /*unsigned*/ int level3[78 << 4];
   }
 u_is_print =
 {
@@ -178,11 +178,11 @@ u_is_print =
        18 +   640 * sizeof (short) / sizeof (int) +   720,
        18 +   640 * sizeof (short) / sizeof (int) +   736,
        18 +   640 * sizeof (short) / sizeof (int) +   752,
-       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   768,
        -1,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +   768,
        18 +   640 * sizeof (short) / sizeof (int) +   784,
+       18 +   640 * sizeof (short) / sizeof (int) +   800,
        -1,
        -1,
        -1,
@@ -190,7 +190,7 @@ u_is_print =
        -1,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +   800,
+       18 +   640 * sizeof (short) / sizeof (int) +   816,
        -1,
        -1,
        -1,
@@ -199,7 +199,7 @@ u_is_print =
        -1,
        -1,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +   816,
+       18 +   640 * sizeof (short) / sizeof (int) +   832,
        -1,
        -1,
        -1,
@@ -217,10 +217,23 @@ u_is_print =
        -1,
        -1,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +   832,
-       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   848,
        -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   864,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   880,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   896,
        -1,
        -1,
        -1,
@@ -239,26 +252,13 @@ u_is_print =
        -1,
        -1,
        -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   912,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   864,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   880,
+       18 +   640 * sizeof (short) / sizeof (int) +   928,
        -1,
        -1,
        -1,
@@ -268,27 +268,27 @@ u_is_print =
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   896,
-       18 +   640 * sizeof (short) / sizeof (int) +   912,
-       18 +   640 * sizeof (short) / sizeof (int) +   928,
        18 +   640 * sizeof (short) / sizeof (int) +   944,
-       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   960,
+       18 +   640 * sizeof (short) / sizeof (int) +   976,
+       18 +   640 * sizeof (short) / sizeof (int) +   992,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +  1008,
        -1,
        -1,
+       18 +   640 * sizeof (short) / sizeof (int) +  1024,
        -1,
        -1,
        -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   976,
+       18 +   640 * sizeof (short) / sizeof (int) +  1040,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   992,
-       18 +   640 * sizeof (short) / sizeof (int) +  1008,
-       18 +   640 * sizeof (short) / sizeof (int) +  1024,
-       18 +   640 * sizeof (short) / sizeof (int) +  1040,
        18 +   640 * sizeof (short) / sizeof (int) +  1056,
        18 +   640 * sizeof (short) / sizeof (int) +  1072,
+       18 +   640 * sizeof (short) / sizeof (int) +  1088,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +  1104,
+       18 +   640 * sizeof (short) / sizeof (int) +  1120,
        -1,
        -1,
        -1,
@@ -375,7 +375,7 @@ u_is_print =
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +  1088,
+       18 +   640 * sizeof (short) / sizeof (int) +  1136,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
@@ -383,8 +383,8 @@ u_is_print =
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +  1104,
-       18 +   640 * sizeof (short) / sizeof (int) +  1120,
+       18 +   640 * sizeof (short) / sizeof (int) +  1152,
+       18 +   640 * sizeof (short) / sizeof (int) +  1168,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
@@ -395,7 +395,7 @@ u_is_print =
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +  1136,
+       18 +   640 * sizeof (short) / sizeof (int) +  1184,
        -1,
        -1,
        -1,
@@ -417,10 +417,10 @@ u_is_print =
        -1,
        -1,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +  1152,
+       18 +   640 * sizeof (short) / sizeof (int) +  1200,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +  1168,
+       18 +   640 * sizeof (short) / sizeof (int) +  1216,
        -1,
        -1,
        -1,
@@ -675,7 +675,7 @@ u_is_print =
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
-       18 +   640 * sizeof (short) / sizeof (int) +  1184
+       18 +   640 * sizeof (short) / sizeof (int) +  1232
   },
   {
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
@@ -695,7 +695,7 @@ u_is_print =
     0xFFFFBFFF, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x07FFFFFF,
     0xFFFFFFFF, 0x7FFF3FFF, 0x4FFFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x3FDFFFFF, 0xFFF00000, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFF99FEF, 0xF3C5FDFF, 0xB080799F, 0x0FFFFFCF,
     0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0,
@@ -703,8 +703,8 @@ u_is_print =
     0xFFF99FEE, 0xF3EDFDFF, 0xB0C0399F, 0x00FFFFCF,
     0xD63DC7EC, 0xC3FFC718, 0x00813DC7, 0x07FFFFC0,
     0xFFFDDFEF, 0xE3FFFDFF, 0x07603DDF, 0xFF00FFCF,
-    0xFFFDDFEE, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF,
-    0xFFFDDFEE, 0xE7FFFFFF, 0x80807DDF, 0xFE3FFFCF,
+    0xFFFDDFEF, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF,
+    0xFFFDDFEE, 0xE7FFFFFF, 0xFFF0FDDF, 0xFFFFFFCF,
     0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x001CFFC0,
     0xFFFFFFFE, 0x87FFFFFF, 0x0FFFFFFF, 0x00000000,
     0xFEF02596, 0x3BFFECAE, 0xF3FF3F5F, 0x00000000,
@@ -735,9 +735,9 @@ u_is_print =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0FFF, 0x1FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF00FFFFF,
     0xFFFFFFFF, 0xF8FFFFFF, 0xFFFFE3FF, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0xFFFF00FF, 0x037FFFFF,
+    0x000001FF, 0x00000000, 0xFFFF00FF, 0x037FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF03FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
@@ -749,7 +749,7 @@ u_is_print =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -762,7 +762,7 @@ u_is_print =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0FFFFF,
     0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x800180FF,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x00000007, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000,
     0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
@@ -789,9 +789,9 @@ u_is_print =
     0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+    0xFFFFFFFF, 0x00FF7FFF, 0x00000000, 0xFF800000,
     0xFFFFFFFF, 0x03FF0FFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC01F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC03F, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x800FFFFF, 0x1FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xC3FFBFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0x007FFFFF, 0xF3FF3FFF, 0xFFFFFFFF,
@@ -817,13 +817,13 @@ u_is_print =
     0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
     0xFFFFFF87, 0xFF8FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x0FFF1FFF, 0x00000001, 0xFFFF0000, 0x3FFFFFFF,
+    0x0FFF7FFF, 0x00000001, 0xFFFF0000, 0x3FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF000F, 0xFFFF07FF, 0x07FFFFFF,
     0xBFFFFFFF, 0xFFFFFFFF, 0x003FFF0F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0xFFFF03FF, 0xFF0FFFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000800F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -850,15 +850,15 @@ u_is_print =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0003, 0x03FF01FF,
     0xFFFFFFFF, 0xFFDFFFFF, 0xFFFF000F, 0x007FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, 0x001FFFFE,
-    0xFFFBFFFF, 0x3FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFBFFFF, 0x7FFFFFFF, 0x00000000, 0x00000000,
     0xBFFFBD7F, 0xFFFF03FF, 0xFFFFFFFF, 0x03FF07FF,
     0xFFF99FEF, 0xF3EDFDFF, 0xE081399F, 0x001F1FCF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x2BFFFFFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF00FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFF3FFFFF, 0x3FFFFFFF, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x00001FFF,
     0xFFFFFFFF, 0x00FFFFFF, 0x000003FF, 0x00000000,
     0xE3FFFFFF, 0xFFFF0FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -870,6 +870,10 @@ u_is_print =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0xFF7FFFFF, 0xFFFF003F, 0xFFFF1FFF,
+    0xFFFCFFFF, 0x007FFEFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -893,7 +897,15 @@ u_is_print =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF,
-    0xFFFF8000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF8000, 0x00000000, 0x00000000, 0x00000001,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -922,9 +934,13 @@ u_is_print =
     0xF8000FFF, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFF9F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xC3FF07FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
     0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00030000,
@@ -933,23 +949,19 @@ u_is_print =
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF,
     0xFFFF1FFF, 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFF0FFF,
-    0x07FFFFFF, 0x00000000, 0x00000000, 0xFFFFFFC0,
-    0xFFFF0007, 0x07FFFFFF, 0x000301FF, 0x00000000,
+    0xFFFFFFFF, 0x00001FFF, 0x00000000, 0xFFFFFFC0,
+    0xFFFF0007, 0x0FFFFFFF, 0x000301FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFBFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFEF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x000F1FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
     0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF,
     0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000,
-    0x01FF0000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000001F, 0x00000000, 0x00000001, 0x00000000,
+    0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000,
+    0x0003FFFF, 0x00000000, 0x00000001, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/mirror.c b/gllib/unictype/mirror.c
index 285e008..01dc08f 100644
--- a/gllib/unictype/mirror.c
+++ b/gllib/unictype/mirror.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/mirror.h b/gllib/unictype/mirror.h
index 3dfc524..0dc4df0 100644
--- a/gllib/unictype/mirror.h
+++ b/gllib/unictype/mirror.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Mirrored Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define mirror_header_0 16
 #define mirror_header_1 2
 #define mirror_header_2 7
diff --git a/gllib/unictype/pr_alphabetic.c b/gllib/unictype/pr_alphabetic.c
index 746b593..a82a3cf 100644
--- a/gllib/unictype/pr_alphabetic.c
+++ b/gllib/unictype/pr_alphabetic.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_alphabetic.h b/gllib/unictype/pr_alphabetic.h
index a27bfc3..9a56cb3 100644
--- a/gllib/unictype/pr_alphabetic.h
+++ b/gllib/unictype/pr_alphabetic.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[64 << 4];
+    /*unsigned*/ int level3[68 << 4];
   }
 u_property_alphabetic =
 {
@@ -164,11 +164,11 @@ u_property_alphabetic =
         4 +   384 * sizeof (short) / sizeof (int) +   688,
         4 +   384 * sizeof (short) / sizeof (int) +   704,
         4 +   384 * sizeof (short) / sizeof (int) +   720,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   736,
         4 +   384 * sizeof (short) / sizeof (int) +   752,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -176,7 +176,7 @@ u_property_alphabetic =
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   768,
+        4 +   384 * sizeof (short) / sizeof (int) +   784,
        -1,
        -1,
        -1,
@@ -185,7 +185,7 @@ u_property_alphabetic =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   784,
+        4 +   384 * sizeof (short) / sizeof (int) +   800,
        -1,
        -1,
        -1,
@@ -203,10 +203,23 @@ u_property_alphabetic =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   800,
-       -1,
         4 +   384 * sizeof (short) / sizeof (int) +   816,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   832,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   848,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
        -1,
@@ -225,27 +238,13 @@ u_property_alphabetic =
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   880,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   832,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   848,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   896,
        -1,
        -1,
        -1,
@@ -256,21 +255,22 @@ u_property_alphabetic =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   864,
-        4 +   384 * sizeof (short) / sizeof (int) +   880,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   912,
+        4 +   384 * sizeof (short) / sizeof (int) +   928,
        -1,
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   944,
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   896,
+        4 +   384 * sizeof (short) / sizeof (int) +   960,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   912,
-        4 +   384 * sizeof (short) / sizeof (int) +   928,
+        4 +   384 * sizeof (short) / sizeof (int) +   976,
+        4 +   384 * sizeof (short) / sizeof (int) +   992,
        -1,
        -1,
        -1,
@@ -361,7 +361,7 @@ u_property_alphabetic =
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   944,
+        4 +   384 * sizeof (short) / sizeof (int) +  1008,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
@@ -369,8 +369,8 @@ u_property_alphabetic =
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   960,
-        4 +   384 * sizeof (short) / sizeof (int) +   976,
+        4 +   384 * sizeof (short) / sizeof (int) +  1024,
+        4 +   384 * sizeof (short) / sizeof (int) +  1040,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
@@ -381,7 +381,7 @@ u_property_alphabetic =
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   992,
+        4 +   384 * sizeof (short) / sizeof (int) +  1056,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@ u_property_alphabetic =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +  1008,
+        4 +   384 * sizeof (short) / sizeof (int) +  1072,
        -1,
        -1
   },
@@ -425,7 +425,7 @@ u_property_alphabetic =
     0xFFFF0000, 0xFFFFFFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFC00, 0x043007FF,
     0xFCFFFFFF, 0x00001FFF, 0x01FFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0xFFFF03F8,
+    0x00000000, 0x3FDFFFFF, 0xFFF00000, 0xFFFF03F8,
     0xFFFFFFFF, 0xEFFFFFFF, 0xFFE1DFFF, 0xFFFE000F,
     0xFFF99FEF, 0xE3C5FDFF, 0xB080599F, 0x0003000F,
     0xFFF987EE, 0xC36DFDFF, 0x5E021987, 0x003F0000,
@@ -433,8 +433,8 @@ u_property_alphabetic =
     0xFFF99FEE, 0xE3EDFDFF, 0xB0C0199F, 0x0002000F,
     0xD63DC7EC, 0xC3FFC718, 0x00811DC7, 0x00000000,
     0xFFFDDFEF, 0xE3FFFDFF, 0x07601DDF, 0x0000000F,
-    0xFFFDDFEE, 0xE3EFFDFF, 0x40601DDF, 0x0006000F,
-    0xFFFDDFEE, 0xE7FFFFFF, 0x80805DDF, 0xFC00000F,
+    0xFFFDDFEF, 0xE3EFFDFF, 0x40601DDF, 0x0006000F,
+    0xFFFDDFEE, 0xE7FFFFFF, 0x80F05DDF, 0xFC00000F,
     0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F807F, 0x000C0000,
     0xFFFFFFFE, 0x07FFFFFF, 0x0000207F, 0x00000000,
     0xFEF02596, 0x3BFFECAE, 0xF000205F, 0x00000000,
@@ -465,7 +465,7 @@ u_property_alphabetic =
     0xFFFFFFFF, 0xFFEFFFFF, 0x00000FEF, 0x00000000,
     0xFFFFFFFF, 0xFC00F3FF, 0xFFFFFFFF, 0x0003FFBF,
     0xFFFFFFFF, 0x003FFFFF, 0xFC00E000, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x006FDE00,
+    0x000001FF, 0x00000000, 0x00000000, 0x006FDE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x001FFF80,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -511,9 +511,9 @@ u_property_alphabetic =
     0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x8FF07FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFF9FF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+    0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000,
     0xFFFFF7BB, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x28FC0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000002F, 0x28FC0000,
     0xFFFFFC00, 0xFFFF07FF, 0x0007FFFF, 0x1FFFFFFF,
     0xFFFFFFFF, 0xFFF7FFFF, 0x00008000, 0x7C00FFDF,
     0xFFFFFFFF, 0x007FFFFF, 0x00003FFF, 0xC47FFFFF,
@@ -549,7 +549,7 @@ u_property_alphabetic =
     0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x07FFFFFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -572,11 +572,11 @@ u_property_alphabetic =
     0xFFFFFFFC, 0x01FFFFFF, 0xFFFF0000, 0x000001FF,
     0xFFFFFFFF, 0x0007FFFF, 0xFFFF0000, 0x0047FFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x1400001E, 0x00000000,
-    0xFFFBFFFF, 0x009FFFFF, 0x00000000, 0x00000000,
+    0xFFFBFFFF, 0x409FFFFF, 0x00000000, 0x00000000,
     0xBFFFBD7F, 0xFFFF01FF, 0xFFFFFFFF, 0x000001FF,
     0xFFF99FEF, 0xE3EDFDFF, 0xE081199F, 0x0000000F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000007BB, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x000000B3, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x7F3FFFFF, 0x3F000000, 0x00000000,
@@ -592,6 +592,10 @@ u_property_alphabetic =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0x7F7FFFFF, 0x00000001, 0xFFFC0000,
+    0xFFFCFFFF, 0x007FFEFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -615,7 +619,15 @@ u_property_alphabetic =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF,
-    0xFFF80000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF80000, 0x00000000, 0x00000000, 0x00000001,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -632,9 +644,13 @@ u_property_alphabetic =
     0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
     0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000008F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
     0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_ascii_hex_digit.c b/gllib/unictype/pr_ascii_hex_digit.c
index 8d91482..7809561 100644
--- a/gllib/unictype/pr_ascii_hex_digit.c
+++ b/gllib/unictype/pr_ascii_hex_digit.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_ascii_hex_digit.h b/gllib/unictype/pr_ascii_hex_digit.h
index b51a2b8..b74611e 100644
--- a/gllib/unictype/pr_ascii_hex_digit.h
+++ b/gllib/unictype/pr_ascii_hex_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_arabic_digit.c b/gllib/unictype/pr_bidi_arabic_digit.c
index 33d35b6..459e30c 100644
--- a/gllib/unictype/pr_bidi_arabic_digit.c
+++ b/gllib/unictype/pr_bidi_arabic_digit.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_arabic_digit.h b/gllib/unictype/pr_bidi_arabic_digit.h
index 9f930e6..a55881d 100644
--- a/gllib/unictype/pr_bidi_arabic_digit.h
+++ b/gllib/unictype/pr_bidi_arabic_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[2 << 4];
+    /*unsigned*/ int level3[3 << 4];
   }
 u_property_bidi_arabic_digit =
 {
@@ -25,6 +25,7 @@ u_property_bidi_arabic_digit =
        -1,
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
        -1,
        -1,
        -1,
@@ -155,8 +156,7 @@ u_property_bidi_arabic_digit =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
        -1,
        -1,
        -1,
@@ -283,6 +283,10 @@ u_property_bidi_arabic_digit =
     0x00000000, 0x00000000, 0x20000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000004,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_bidi_arabic_right_to_left.c b/gllib/unictype/pr_bidi_arabic_right_to_left.c
index 1b3778e..8612d3a 100644
--- a/gllib/unictype/pr_bidi_arabic_right_to_left.c
+++ b/gllib/unictype/pr_bidi_arabic_right_to_left.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_arabic_right_to_left.h b/gllib/unictype/pr_bidi_arabic_right_to_left.h
index 6f2bfd3..541e20a 100644
--- a/gllib/unictype/pr_bidi_arabic_right_to_left.h
+++ b/gllib/unictype/pr_bidi_arabic_right_to_left.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -284,7 +284,7 @@ u_property_bidi_arabic_right_to_left =
     0xFFFDFFFF, 0x0000FFFF, 0xFFFFF800, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFE003F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000020,
diff --git a/gllib/unictype/pr_bidi_block_separator.c b/gllib/unictype/pr_bidi_block_separator.c
index 434239c..d2738f6 100644
--- a/gllib/unictype/pr_bidi_block_separator.c
+++ b/gllib/unictype/pr_bidi_block_separator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_block_separator.h b/gllib/unictype/pr_bidi_block_separator.h
index 5c4006c..a9747b1 100644
--- a/gllib/unictype/pr_bidi_block_separator.h
+++ b/gllib/unictype/pr_bidi_block_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_boundary_neutral.c b/gllib/unictype/pr_bidi_boundary_neutral.c
index a140aac..3b0dba5 100644
--- a/gllib/unictype/pr_bidi_boundary_neutral.c
+++ b/gllib/unictype/pr_bidi_boundary_neutral.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_boundary_neutral.h b/gllib/unictype/pr_bidi_boundary_neutral.h
index 2739d37..28c39eb 100644
--- a/gllib/unictype/pr_bidi_boundary_neutral.h
+++ b/gllib/unictype/pr_bidi_boundary_neutral.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_common_separator.c b/gllib/unictype/pr_bidi_common_separator.c
index 9cd9e9d..c0cc427 100644
--- a/gllib/unictype/pr_bidi_common_separator.c
+++ b/gllib/unictype/pr_bidi_common_separator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_common_separator.h b/gllib/unictype/pr_bidi_common_separator.h
index 56cd448..f1f11b1 100644
--- a/gllib/unictype/pr_bidi_common_separator.h
+++ b/gllib/unictype/pr_bidi_common_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_control.c b/gllib/unictype/pr_bidi_control.c
index ad44a77..30cd3de 100644
--- a/gllib/unictype/pr_bidi_control.c
+++ b/gllib/unictype/pr_bidi_control.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_control.h b/gllib/unictype/pr_bidi_control.h
index 428b9e7..b85592b 100644
--- a/gllib/unictype/pr_bidi_control.h
+++ b/gllib/unictype/pr_bidi_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_embedding_or_override.c b/gllib/unictype/pr_bidi_embedding_or_override.c
index 6eaaf7a..a6150fa 100644
--- a/gllib/unictype/pr_bidi_embedding_or_override.c
+++ b/gllib/unictype/pr_bidi_embedding_or_override.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_embedding_or_override.h b/gllib/unictype/pr_bidi_embedding_or_override.h
index ef1c7f8..bb1be95 100644
--- a/gllib/unictype/pr_bidi_embedding_or_override.h
+++ b/gllib/unictype/pr_bidi_embedding_or_override.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_eur_num_separator.c b/gllib/unictype/pr_bidi_eur_num_separator.c
index 49dfe45..0f081ec 100644
--- a/gllib/unictype/pr_bidi_eur_num_separator.c
+++ b/gllib/unictype/pr_bidi_eur_num_separator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_eur_num_separator.h b/gllib/unictype/pr_bidi_eur_num_separator.h
index d2576f2..4085fc3 100644
--- a/gllib/unictype/pr_bidi_eur_num_separator.h
+++ b/gllib/unictype/pr_bidi_eur_num_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_eur_num_terminator.c b/gllib/unictype/pr_bidi_eur_num_terminator.c
index 94a70d0..6dc8c97 100644
--- a/gllib/unictype/pr_bidi_eur_num_terminator.c
+++ b/gllib/unictype/pr_bidi_eur_num_terminator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_eur_num_terminator.h b/gllib/unictype/pr_bidi_eur_num_terminator.h
index bf85f6c..dd00006 100644
--- a/gllib/unictype/pr_bidi_eur_num_terminator.h
+++ b/gllib/unictype/pr_bidi_eur_num_terminator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_european_digit.c b/gllib/unictype/pr_bidi_european_digit.c
index 4cfa68b..39a36d2 100644
--- a/gllib/unictype/pr_bidi_european_digit.c
+++ b/gllib/unictype/pr_bidi_european_digit.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_european_digit.h b/gllib/unictype/pr_bidi_european_digit.h
index bcad71e..c36f002 100644
--- a/gllib/unictype/pr_bidi_european_digit.h
+++ b/gllib/unictype/pr_bidi_european_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_hebrew_right_to_left.c b/gllib/unictype/pr_bidi_hebrew_right_to_left.c
index 91e6e12..427e5c4 100644
--- a/gllib/unictype/pr_bidi_hebrew_right_to_left.c
+++ b/gllib/unictype/pr_bidi_hebrew_right_to_left.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_hebrew_right_to_left.h b/gllib/unictype/pr_bidi_hebrew_right_to_left.h
index aba5578..c77ae9d 100644
--- a/gllib/unictype/pr_bidi_hebrew_right_to_left.h
+++ b/gllib/unictype/pr_bidi_hebrew_right_to_left.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -288,7 +288,7 @@ u_property_bidi_hebrew_right_to_left =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFFFFFF, 0xFC3007FF,
     0x043FFFFF, 0xFFFFC110, 0xF1FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFE00000, 0xFFFFFFFF, 0x00000007,
+    0xFFFFFFFF, 0xC0200000, 0x000FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00008000, 0x00000000, 0x00000000, 0x00000000,
@@ -317,7 +317,7 @@ u_property_bidi_hebrew_right_to_left =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000FF9F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xC3FF000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_bidi_left_to_right.c b/gllib/unictype/pr_bidi_left_to_right.c
index 7332b92..2b1ca0d 100644
--- a/gllib/unictype/pr_bidi_left_to_right.c
+++ b/gllib/unictype/pr_bidi_left_to_right.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_left_to_right.h b/gllib/unictype/pr_bidi_left_to_right.h
index eac4dc7..6741ad5 100644
--- a/gllib/unictype/pr_bidi_left_to_right.h
+++ b/gllib/unictype/pr_bidi_left_to_right.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[17];
     short level2[4 << 7];
-    /*unsigned*/ int level3[53 << 4];
+    /*unsigned*/ int level3[54 << 4];
   }
 u_property_bidi_left_to_right =
 {
@@ -178,6 +178,7 @@ u_property_bidi_left_to_right =
        18 +   512 * sizeof (short) / sizeof (int) +   608,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   624,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
@@ -216,11 +217,9 @@ u_property_bidi_left_to_right =
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   624,
-       18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   640,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   656,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
@@ -258,8 +257,8 @@ u_property_bidi_left_to_right =
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   656,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   672,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
@@ -268,30 +267,31 @@ u_property_bidi_left_to_right =
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   672,
-       18 +   512 * sizeof (short) / sizeof (int) +   688,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   688,
        18 +   512 * sizeof (short) / sizeof (int) +   704,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   720,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   736,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   752,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   736,
+       18 +   512 * sizeof (short) / sizeof (int) +   768,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   752,
-       18 +   512 * sizeof (short) / sizeof (int) +   768,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
        18 +   512 * sizeof (short) / sizeof (int) +   784,
        18 +   512 * sizeof (short) / sizeof (int) +   800,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       -1,
        18 +   512 * sizeof (short) / sizeof (int) +   816,
+       18 +   512 * sizeof (short) / sizeof (int) +   832,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   832,
+       18 +   512 * sizeof (short) / sizeof (int) +   848,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
@@ -419,7 +419,7 @@ u_property_bidi_left_to_right =
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   832,
+       18 +   512 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
@@ -547,7 +547,7 @@ u_property_bidi_left_to_right =
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   832
+       18 +   512 * sizeof (short) / sizeof (int) +   848
   },
   {
     0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
@@ -595,7 +595,7 @@ u_property_bidi_left_to_right =
     0xFFE3FFFF, 0xFFE3FFFF, 0xFFF3FFFF, 0xFFF3FFFF,
     0xFFFFFFFF, 0xC04FFFFF, 0xD7F001BF, 0xFC00FFFF,
     0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFDFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFF9F, 0xFFFFFDFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xF1FBFE78, 0xFFFFFFCE, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x00000000,
     0xF67FFFFF, 0xFFFFFFFF, 0x80BFFFFF, 0x6007E01A,
@@ -605,7 +605,7 @@ u_property_bidi_left_to_right =
     0xFFFFFFFF, 0xFF300FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0008FFFF, 0xFCEFDE02,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0FC00000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x07C00000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -617,7 +617,7 @@ u_property_bidi_left_to_right =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x07FFFFFF,
-    0x00200000, 0x00000000, 0x00000000, 0xF8000000,
+    0x00200000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
     0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -638,7 +638,7 @@ u_property_bidi_left_to_right =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FC781F,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFE0, 0xFFFFFFFF,
     0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
@@ -667,7 +667,7 @@ u_property_bidi_left_to_right =
     0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFF7BB, 0xFCFFF09F, 0xFFFFFFFF, 0xFF0FFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFEF, 0xFFFC0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFCF, 0xFFFC0000,
     0xFFFFFFFF, 0xFFFFC03F, 0xFFFC007F, 0xFFFFFFFF,
     0xFFFFFFF8, 0xEC37FFFF, 0xFFFFFFFF, 0xFFFFFFDF,
     0xFFFFFFFF, 0xFF9981FF, 0xFFFFEFF7, 0xEFFFFFFF,
@@ -694,18 +694,22 @@ u_property_bidi_left_to_right =
     0xFFFFFFFC, 0xF987FFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFF8, 0xFFE0107F, 0xFFFFFFFF, 0xFFF7FFFF,
     0xFFFFFFFC, 0x803FFFFF, 0xFFFFE3FF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFF2C7FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xBF2C7FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFF807,
     0xFFFFFFFC, 0xEFFFFFFF, 0xFFFFFFFE, 0xFFE0E03F,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x00FFFFFF, 0xFFFFFFA3, 0xFFFFFFFF,
     0xFFFFFFFF, 0x7A07FFFF, 0xFFFFFFF2, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x4FC3FFFF, 0xCFFFFFFE, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x5807FFFF, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x5807FFFF, 0xFFFFFFFE, 0xFFFFE000,
     0xFFFFFFFF, 0xFF40D7FF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x1FFFFFFF, 0xFFFFF043, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xC080FFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0003FFFF, 0xFF920300, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFE0FFFF,
     0xFFFFFFFF, 0xFF80FFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -734,9 +738,13 @@ u_property_bidi_left_to_right =
     0x07FFFFEF, 0xFFFF0001, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x06000080, 0xFFFFF824, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800060, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x3C00F800, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000010, 0xF5080169, 0x5569157B, 0xA1080869,
     0xF0000400, 0xF0000411, 0xFFFFFFFF, 0xFFFCFFFF,
@@ -747,17 +755,13 @@ u_property_bidi_left_to_right =
     0xFFFFE000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF3FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x04000000,
-    0x00000000, 0x00000010, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFE0000, 0xFFF0E000,
+    0x00000000, 0x00000000, 0xFFF80000, 0xFF80E000,
     0x00000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0xFFE00000, 0xFFFFFFFF,
     0x0000F000, 0x00000000, 0xFC00FF00, 0x00000000,
     0x0000FF00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFE00FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFE0, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
+    0x8000FFFF, 0x8006FF00, 0x8000F000, 0xFFFFFFFF,
+    0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/pr_bidi_non_spacing_mark.c b/gllib/unictype/pr_bidi_non_spacing_mark.c
index fc07ef7..daf4fd1 100644
--- a/gllib/unictype/pr_bidi_non_spacing_mark.c
+++ b/gllib/unictype/pr_bidi_non_spacing_mark.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_non_spacing_mark.h b/gllib/unictype/pr_bidi_non_spacing_mark.h
index bbf4af6..d32c7cb 100644
--- a/gllib/unictype/pr_bidi_non_spacing_mark.h
+++ b/gllib/unictype/pr_bidi_non_spacing_mark.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[36 << 4];
+    /*unsigned*/ int level3[38 << 4];
   }
 u_property_bidi_non_spacing_mark =
 {
@@ -176,6 +176,7 @@ u_property_bidi_non_spacing_mark =
        16 +   384 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -214,11 +215,9 @@ u_property_bidi_non_spacing_mark =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   448,
-       -1,
        16 +   384 * sizeof (short) / sizeof (int) +   464,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -256,8 +255,8 @@ u_property_bidi_non_spacing_mark =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -266,19 +265,20 @@ u_property_bidi_non_spacing_mark =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   496,
-       16 +   384 * sizeof (short) / sizeof (int) +   512,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   512,
+       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   544,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   544,
+       16 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@ u_property_bidi_non_spacing_mark =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   560,
+       16 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -433,7 +433,7 @@ u_property_bidi_non_spacing_mark =
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
     0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB,
     0x00000007, 0x14000000, 0x00FE21FE, 0x0000000C,
     0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
     0x00000006, 0x10000000, 0x00023986, 0x00230000,
@@ -461,7 +461,7 @@ u_property_bidi_non_spacing_mark =
     0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
     0x00000000, 0x3FB00000, 0x200FFE40, 0x00000000,
     0x00003800, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000060, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0E040187, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x09800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
@@ -471,7 +471,7 @@ u_property_bidi_non_spacing_mark =
     0x00000000, 0x00CFF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFF70000, 0x031021FD,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF03FFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -489,7 +489,7 @@ u_property_bidi_non_spacing_mark =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x00000060, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000030, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
     0x00000007, 0x13C80000, 0x00000000, 0x00000020,
     0x00000000, 0x00667E00, 0x00001008, 0x10000000,
@@ -520,11 +520,11 @@ u_property_bidi_non_spacing_mark =
     0x00000003, 0x06780000, 0x00000000, 0x00000000,
     0x00000007, 0x001FEF80, 0x00000000, 0x00080000,
     0x00000003, 0x7FC00000, 0x00001C00, 0x00000000,
-    0x00000000, 0x00D38000, 0x00000000, 0x00000000,
+    0x00000000, 0x40D38000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x000007F8,
     0x00000003, 0x10000000, 0x00000001, 0x001F1FC0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFF000000, 0x0000005C, 0x00000000,
     0x00000000, 0x85F80000, 0x0000000D, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xB03C0000, 0x30000001, 0x00000000,
@@ -532,6 +532,10 @@ u_property_bidi_non_spacing_mark =
     0x00000000, 0x00BF2800, 0x00000000, 0x00000000,
     0xE0000000, 0x00000FBC, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x3F7F0000, 0x00000000, 0x00000000,
+    0xFFFC0000, 0x006DFCFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x007F0000, 0x00000000, 0x00000000,
@@ -556,10 +560,14 @@ u_property_bidi_non_spacing_mark =
     0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007F0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/pr_bidi_other_neutral.c b/gllib/unictype/pr_bidi_other_neutral.c
index d75eef4..7bda3ec 100644
--- a/gllib/unictype/pr_bidi_other_neutral.c
+++ b/gllib/unictype/pr_bidi_other_neutral.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_other_neutral.h b/gllib/unictype/pr_bidi_other_neutral.h
index 0375277..d49ddf3 100644
--- a/gllib/unictype/pr_bidi_other_neutral.h
+++ b/gllib/unictype/pr_bidi_other_neutral.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[39 << 4];
+    /*unsigned*/ int level3[40 << 4];
   }
 u_property_bidi_other_neutral =
 {
@@ -160,6 +160,7 @@ u_property_bidi_other_neutral =
         3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
@@ -253,11 +254,10 @@ u_property_bidi_other_neutral =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   512,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   528,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   544,
+       -1,
        -1,
        -1,
        -1,
@@ -268,12 +268,12 @@ u_property_bidi_other_neutral =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   544,
         3 +   256 * sizeof (short) / sizeof (int) +   560,
-        3 +   256 * sizeof (short) / sizeof (int) +   256,
         3 +   256 * sizeof (short) / sizeof (int) +   576,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
         3 +   256 * sizeof (short) / sizeof (int) +   592,
         3 +   256 * sizeof (short) / sizeof (int) +   608,
+        3 +   256 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1
@@ -334,7 +334,7 @@ u_property_bidi_other_neutral =
     0xFFF3FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0xF8000000,
-    0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
     0x000000FF, 0x00000000, 0x00000000, 0xFFFFFC00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -355,7 +355,7 @@ u_property_bidi_other_neutral =
     0x00000000, 0x00000000, 0x00000000, 0xFE0007E0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x00000007, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000,
     0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
@@ -407,6 +407,10 @@ u_property_bidi_other_neutral =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00001FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
@@ -425,15 +429,15 @@ u_property_bidi_other_neutral =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFBFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFEF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x000F1FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
     0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF,
     0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000,
-    0x01FF0000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000001F, 0x00000000, 0x00000001, 0x00000000
+    0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000,
+    0x0003FFFF, 0x00000000, 0x00000001, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_bidi_pdf.c b/gllib/unictype/pr_bidi_pdf.c
index d14ccc7..b57b96e 100644
--- a/gllib/unictype/pr_bidi_pdf.c
+++ b/gllib/unictype/pr_bidi_pdf.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_pdf.h b/gllib/unictype/pr_bidi_pdf.h
index ffa897d..aeaafb2 100644
--- a/gllib/unictype/pr_bidi_pdf.h
+++ b/gllib/unictype/pr_bidi_pdf.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_segment_separator.c b/gllib/unictype/pr_bidi_segment_separator.c
index 9a9569e..113c5d5 100644
--- a/gllib/unictype/pr_bidi_segment_separator.c
+++ b/gllib/unictype/pr_bidi_segment_separator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_segment_separator.h b/gllib/unictype/pr_bidi_segment_separator.h
index 3d3347c..8e12d50 100644
--- a/gllib/unictype/pr_bidi_segment_separator.h
+++ b/gllib/unictype/pr_bidi_segment_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_bidi_whitespace.c b/gllib/unictype/pr_bidi_whitespace.c
index 4e73d19..38aa6b4 100644
--- a/gllib/unictype/pr_bidi_whitespace.c
+++ b/gllib/unictype/pr_bidi_whitespace.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_bidi_whitespace.h b/gllib/unictype/pr_bidi_whitespace.h
index 9dc6c84..0c4ce00 100644
--- a/gllib/unictype/pr_bidi_whitespace.h
+++ b/gllib/unictype/pr_bidi_whitespace.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_byname.c b/gllib/unictype/pr_byname.c
index ce962f5..4747664 100644
--- a/gllib/unictype/pr_byname.c
+++ b/gllib/unictype/pr_byname.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_case_ignorable.c b/gllib/unictype/pr_case_ignorable.c
index 02906c8..c0204ea 100644
--- a/gllib/unictype/pr_case_ignorable.c
+++ b/gllib/unictype/pr_case_ignorable.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_case_ignorable.h b/gllib/unictype/pr_case_ignorable.h
index 5540ed2..7a49b4d 100644
--- a/gllib/unictype/pr_case_ignorable.h
+++ b/gllib/unictype/pr_case_ignorable.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[42 << 4];
+    /*unsigned*/ int level3[44 << 4];
   }
 u_property_case_ignorable =
 {
@@ -176,6 +176,7 @@ u_property_case_ignorable =
        16 +   384 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
        -1,
@@ -214,11 +215,9 @@ u_property_case_ignorable =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   528,
-       -1,
        16 +   384 * sizeof (short) / sizeof (int) +   544,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
@@ -256,8 +255,8 @@ u_property_case_ignorable =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   560,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -266,31 +265,32 @@ u_property_case_ignorable =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   576,
-       16 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   592,
+       16 +   384 * sizeof (short) / sizeof (int) +   608,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   608,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   624,
+       16 +   384 * sizeof (short) / sizeof (int) +   656,
        -1,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   640,
+       16 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   656,
+       16 +   384 * sizeof (short) / sizeof (int) +   688,
        -1,
        -1,
        -1,
@@ -437,7 +437,7 @@ u_property_case_ignorable =
     0x00028000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x043FF800,
     0xFFC00000, 0x00003FFF, 0x0E000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFF,
     0x00000007, 0x14000000, 0x00FE21FE, 0x0002000C,
     0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
     0x00000006, 0x10000000, 0x00023986, 0x00230000,
@@ -465,7 +465,7 @@ u_property_case_ignorable =
     0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
     0x00000000, 0x3FB00000, 0x208FFE40, 0x00000000,
     0x00007800, 0x00000000, 0x00000008, 0x00000000,
-    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000060, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0E040187, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x09800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
@@ -475,7 +475,7 @@ u_property_case_ignorable =
     0x00000000, 0x00CFF000, 0x00000000, 0x3F000000,
     0x00000000, 0x00000000, 0xFFF70000, 0x031021FD,
     0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x010007FF,
-    0xF8000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xF03FFFFF,
+    0xF8000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -509,7 +509,7 @@ u_property_case_ignorable =
     0xFFFFFFFF, 0x00000003, 0x00000000, 0x00010000,
     0x00000700, 0x00000000, 0x00000000, 0x03000000,
     0x00000844, 0x00000060, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000030, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
     0x00000007, 0x13C80000, 0x00008000, 0x00000060,
     0x00000000, 0x00667E00, 0x00001008, 0x10010000,
@@ -540,11 +540,11 @@ u_property_case_ignorable =
     0x00000003, 0x26780000, 0x00000000, 0x00000000,
     0x00000007, 0x001FEF80, 0x00000000, 0x00080000,
     0x00000003, 0x7FC00000, 0x00001C00, 0x00000000,
-    0x00000000, 0x00D38000, 0x00000000, 0x00000000,
+    0x00000000, 0x40D38000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x000007F8,
     0x00000003, 0x10000000, 0x00000001, 0x001F1FC0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFF000000, 0x0000005C, 0x00000000,
     0x00000000, 0x85F80000, 0x0000000D, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xB03C0000, 0x30000001, 0x00000000,
@@ -552,6 +552,10 @@ u_property_case_ignorable =
     0x00000000, 0x00BF2800, 0x00000000, 0x00000000,
     0xE0000000, 0x00000FBC, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xBF7F0000, 0x00000000, 0x00000000,
+    0xFFFC0000, 0x006DFCFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x007F0000, 0x0000000F, 0x00000000,
@@ -559,7 +563,7 @@ u_property_case_ignorable =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFF8000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF8000, 0x00000000, 0x00000000, 0x00000001,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x60000000, 0x0000000F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -576,11 +580,15 @@ u_property_case_ignorable =
     0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007F0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF8000000,
diff --git a/gllib/unictype/pr_cased.c b/gllib/unictype/pr_cased.c
index 5a2ff42..928d57d 100644
--- a/gllib/unictype/pr_cased.c
+++ b/gllib/unictype/pr_cased.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_cased.h b/gllib/unictype/pr_cased.h
index d11ffa3..780f433 100644
--- a/gllib/unictype/pr_cased.h
+++ b/gllib/unictype/pr_cased.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[20 << 4];
+    /*unsigned*/ int level3[21 << 4];
   }
 u_property_cased =
 {
@@ -265,11 +265,11 @@ u_property_cased =
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
        -1,
        -1,
@@ -300,7 +300,7 @@ u_property_cased =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000001FF, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -322,7 +322,7 @@ u_property_cased =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x00003FFF,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFF78FF, 0x00FF3FFF, 0x00000000, 0x07000000,
+    0xFFFF78FF, 0x00FF7FFF, 0x00000000, 0x07000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0xF7FFFFFF, 0xFFFF003F,
@@ -336,7 +336,7 @@ u_property_cased =
     0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -357,6 +357,10 @@ u_property_cased =
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0xFFFF03FF, 0xFFFF03FF,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000
   }
diff --git a/gllib/unictype/pr_changes_when_casefolded.c b/gllib/unictype/pr_changes_when_casefolded.c
index 3a55665..c68656a 100644
--- a/gllib/unictype/pr_changes_when_casefolded.c
+++ b/gllib/unictype/pr_changes_when_casefolded.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_changes_when_casefolded.h b/gllib/unictype/pr_changes_when_casefolded.h
index a3a7d8e..b4bec6c 100644
--- a/gllib/unictype/pr_changes_when_casefolded.h
+++ b/gllib/unictype/pr_changes_when_casefolded.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[16 << 4];
+    /*unsigned*/ int level3[18 << 4];
   }
 u_property_changes_when_casefolded =
 {
@@ -35,16 +35,15 @@ u_property_changes_when_casefolded =
        -1,
        -1,
        -1,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +    80,
         3 +   256 * sizeof (short) / sizeof (int) +    96,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   112,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   128,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
        -1,
        -1,
        -1,
@@ -104,10 +103,10 @@ u_property_changes_when_casefolded =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   144,
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +   160,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
        -1,
        -1,
        -1,
@@ -146,23 +145,23 @@ u_property_changes_when_casefolded =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   176,
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +   192,
        -1,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   208,
        -1,
        -1,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   224,
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   240,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
        -1,
        -1,
        -1,
@@ -266,6 +265,7 @@ u_property_changes_when_casefolded =
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
        -1,
        -1,
        -1,
@@ -299,6 +299,10 @@ u_property_changes_when_casefolded =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x3F000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000001FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x55555555, 0x55555555, 0x55555555, 0x55555555,
     0x4C155555, 0x55555555, 0x55555555, 0x55555555,
     0x3F00FF00, 0xFF00FF00, 0xAA003F00, 0x0000FF00,
@@ -318,7 +322,7 @@ u_property_changes_when_casefolded =
     0x00000000, 0x00000000, 0x55555555, 0x00001555,
     0x05555555, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x55545554, 0x55555555, 0x6A005555,
-    0x55452855, 0x005F3D55, 0x00000000, 0x00000000,
+    0x55452855, 0x005F7D55, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFF0000,
@@ -332,7 +336,7 @@ u_property_changes_when_casefolded =
     0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x000FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -342,6 +346,10 @@ u_property_changes_when_casefolded =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_changes_when_casemapped.c b/gllib/unictype/pr_changes_when_casemapped.c
index b210b6f..afb226e 100644
--- a/gllib/unictype/pr_changes_when_casemapped.c
+++ b/gllib/unictype/pr_changes_when_casemapped.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_changes_when_casemapped.h b/gllib/unictype/pr_changes_when_casemapped.h
index bcaa685..0cc0a4a 100644
--- a/gllib/unictype/pr_changes_when_casemapped.h
+++ b/gllib/unictype/pr_changes_when_casemapped.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[17 << 4];
+    /*unsigned*/ int level3[18 << 4];
   }
 u_property_changes_when_casemapped =
 {
@@ -265,7 +265,7 @@ u_property_changes_when_casemapped =
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
        -1,
        -1,
        -1,
@@ -283,7 +283,7 @@ u_property_changes_when_casemapped =
     0x00000000, 0x00200000, 0xFF7FFFFF, 0xFF7FFFFF,
     0xFFFFFFFF, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xF7FFDFFF, 0xB3FFF3FF, 0xFFFFFFF0, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFC0FFFFD, 0x1ADFFFFF, 0x20269B6B,
+    0xFFFFFFFF, 0xFC0FFFFD, 0x1ADFFFFF, 0x20269F6B,
     0x60041F89, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000020, 0xB8CF0000,
     0xFFFFD740, 0xFFFFFFFB, 0xFFE3FFFF, 0xEFBFFFFF,
@@ -300,7 +300,7 @@ u_property_changes_when_casemapped =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000001FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x22000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -322,7 +322,7 @@ u_property_changes_when_casemapped =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x00003FFF,
     0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFCFFFC, 0xFFFFFFFF, 0xFE00FFFF,
-    0xFFCF38FF, 0x00FF3FFF, 0x00000000, 0x00000000,
+    0xFFCF38FF, 0x00FF7FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00080000, 0xFFFF0000,
@@ -336,7 +336,7 @@ u_property_changes_when_casemapped =
     0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -346,6 +346,10 @@ u_property_changes_when_casemapped =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_changes_when_lowercased.c b/gllib/unictype/pr_changes_when_lowercased.c
index 0bb14c3..75e114a 100644
--- a/gllib/unictype/pr_changes_when_lowercased.c
+++ b/gllib/unictype/pr_changes_when_lowercased.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_changes_when_lowercased.h b/gllib/unictype/pr_changes_when_lowercased.h
index 072c719..a0a5e57 100644
--- a/gllib/unictype/pr_changes_when_lowercased.h
+++ b/gllib/unictype/pr_changes_when_lowercased.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[14 << 4];
+    /*unsigned*/ int level3[15 << 4];
   }
 u_property_changes_when_lowercased =
 {
@@ -265,7 +265,7 @@ u_property_changes_when_lowercased =
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
        -1,
        -1,
        -1,
@@ -318,13 +318,13 @@ u_property_changes_when_lowercased =
     0x00000000, 0x00000000, 0x55555555, 0x00001555,
     0x05555555, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x55545554, 0x55555555, 0x6A005555,
-    0x55452855, 0x005F3D55, 0x00000000, 0x00000000,
+    0x55452855, 0x005F7D55, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x000FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -334,6 +334,10 @@ u_property_changes_when_lowercased =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_changes_when_titlecased.c b/gllib/unictype/pr_changes_when_titlecased.c
index 4fd6ef3..f36b1b1 100644
--- a/gllib/unictype/pr_changes_when_titlecased.c
+++ b/gllib/unictype/pr_changes_when_titlecased.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_changes_when_titlecased.h b/gllib/unictype/pr_changes_when_titlecased.h
index 3947625..b85d29f 100644
--- a/gllib/unictype/pr_changes_when_titlecased.h
+++ b/gllib/unictype/pr_changes_when_titlecased.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[16 << 4];
+    /*unsigned*/ int level3[17 << 4];
   }
 u_property_changes_when_titlecased =
 {
@@ -265,7 +265,7 @@ u_property_changes_when_titlecased =
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
        -1,
        -1,
        -1,
@@ -283,7 +283,7 @@ u_property_changes_when_titlecased =
     0x00000000, 0x00200000, 0x80000000, 0xFF7FFFFF,
     0xAAAAAAAA, 0x54AAAAAA, 0xAAAAAB55, 0xD4AAAAAA,
     0x46241129, 0xA251212A, 0xB55556D0, 0xAA2BAAAA,
-    0xAAAAAAAA, 0x900AAAA8, 0x1ADFAA85, 0x20269B6B,
+    0xAAAAAAAA, 0x900AAAA8, 0x1ADFAA85, 0x20269F6B,
     0x60041F89, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000020, 0x388A0000,
     0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x092FAAAA,
@@ -296,7 +296,7 @@ u_property_changes_when_titlecased =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x3F000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000001FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x22000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
@@ -332,7 +332,7 @@ u_property_changes_when_titlecased =
     0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -342,6 +342,10 @@ u_property_changes_when_titlecased =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFC, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_changes_when_uppercased.c b/gllib/unictype/pr_changes_when_uppercased.c
index 1925970..0b69cd3 100644
--- a/gllib/unictype/pr_changes_when_uppercased.c
+++ b/gllib/unictype/pr_changes_when_uppercased.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_changes_when_uppercased.h b/gllib/unictype/pr_changes_when_uppercased.h
index 3127537..0c8a010 100644
--- a/gllib/unictype/pr_changes_when_uppercased.h
+++ b/gllib/unictype/pr_changes_when_uppercased.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[16 << 4];
+    /*unsigned*/ int level3[17 << 4];
   }
 u_property_changes_when_uppercased =
 {
@@ -265,7 +265,7 @@ u_property_changes_when_uppercased =
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
        -1,
        -1,
        -1,
@@ -283,7 +283,7 @@ u_property_changes_when_uppercased =
     0x00000000, 0x00200000, 0x80000000, 0xFF7FFFFF,
     0xAAAAAAAA, 0x54AAAAAA, 0xAAAAAB55, 0xD4AAAAAA,
     0x46241129, 0xA251212A, 0xB5555B60, 0xAA2DAAAA,
-    0xAAAAAAAA, 0x900AAAA8, 0x1ADFAA85, 0x20269B6B,
+    0xAAAAAAAA, 0x900AAAA8, 0x1ADFAA85, 0x20269F6B,
     0x60041F89, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000020, 0x388A0000,
     0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x092FAAAA,
@@ -296,7 +296,7 @@ u_property_changes_when_uppercased =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x3F000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000001FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x22000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
@@ -332,7 +332,7 @@ u_property_changes_when_uppercased =
     0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -342,6 +342,10 @@ u_property_changes_when_uppercased =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFC, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_combining.c b/gllib/unictype/pr_combining.c
index 01b5732..5e377e7 100644
--- a/gllib/unictype/pr_combining.c
+++ b/gllib/unictype/pr_combining.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_combining.h b/gllib/unictype/pr_combining.h
index feafd3c..afe3ec8 100644
--- a/gllib/unictype/pr_combining.h
+++ b/gllib/unictype/pr_combining.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[36 << 4];
+    /*unsigned*/ int level3[38 << 4];
   }
 u_property_combining =
 {
@@ -176,6 +176,7 @@ u_property_combining =
        16 +   384 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -214,11 +215,9 @@ u_property_combining =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   448,
-       -1,
        16 +   384 * sizeof (short) / sizeof (int) +   464,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -256,8 +255,8 @@ u_property_combining =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -266,19 +265,20 @@ u_property_combining =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   496,
-       16 +   384 * sizeof (short) / sizeof (int) +   512,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   512,
+       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   544,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   544,
+       16 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@ u_property_combining =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   560,
+       16 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -433,7 +433,7 @@ u_property_combining =
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
     0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB,
     0x0000000F, 0xDC000000, 0x00FEFFFF, 0x0000000C,
     0x0000000E, 0xD0000000, 0x0080399F, 0x0000000C,
     0x0000000E, 0xD0000000, 0x00023987, 0x00230000,
@@ -461,7 +461,7 @@ u_property_combining =
     0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
     0x00000000, 0xFFF00000, 0x200FFFFF, 0x00000000,
     0x00003800, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000060, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0FFF0FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0F800000, 0x00000000, 0x7FE00000, 0x9FFFFFFF,
@@ -471,7 +471,7 @@ u_property_combining =
     0x00000000, 0x00FFFFF0, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFF70000, 0x031C21FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF03FFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -489,7 +489,7 @@ u_property_combining =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x000000F8, 0x00000000, 0x00000000,
-    0x00000003, 0xFFF00000, 0x0000001F, 0x0003FFFF,
+    0x00000003, 0xFFF00000, 0x0000003F, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x000FFF80, 0x00000000,
     0x0000000F, 0xFFF80000, 0x00000001, 0x00000020,
     0x00000000, 0x007FFE00, 0x00003008, 0x38000000,
@@ -520,11 +520,11 @@ u_property_combining =
     0x00000007, 0x07FF0000, 0x00000000, 0x00000000,
     0x00000007, 0x001FFF80, 0x00000000, 0x00080000,
     0x00000007, 0xFFF80000, 0x00001C01, 0x00000000,
-    0x00000000, 0x00FFF000, 0x00000000, 0x00000000,
+    0x00000000, 0x40FFF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x000007FF,
     0x0000000F, 0xD0000000, 0x0080399F, 0x001F1FCC,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFE00000, 0x0000007F, 0x00000000,
     0x00000000, 0xFFFF0000, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFF3F8000, 0x30000001, 0x00000000,
@@ -532,6 +532,10 @@ u_property_combining =
     0x00000000, 0x00FFF800, 0x00000000, 0x00000000,
     0xE0000000, 0x00000FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFF7F8000, 0x00000000, 0x00000000,
+    0xFFFC0000, 0x007FFEFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x007F0000, 0x00000000, 0x00000000,
@@ -556,10 +560,14 @@ u_property_combining =
     0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007F0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/pr_composite.c b/gllib/unictype/pr_composite.c
index 10c8134..c64deb1 100644
--- a/gllib/unictype/pr_composite.c
+++ b/gllib/unictype/pr_composite.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_composite.h b/gllib/unictype/pr_composite.h
index 031af62..ffe5b54 100644
--- a/gllib/unictype/pr_composite.h
+++ b/gllib/unictype/pr_composite.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_currency_symbol.c b/gllib/unictype/pr_currency_symbol.c
index f499d66..6fd35d5 100644
--- a/gllib/unictype/pr_currency_symbol.c
+++ b/gllib/unictype/pr_currency_symbol.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_currency_symbol.h b/gllib/unictype/pr_currency_symbol.h
index b065d8e..ca2d12a 100644
--- a/gllib/unictype/pr_currency_symbol.h
+++ b/gllib/unictype/pr_currency_symbol.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_dash.c b/gllib/unictype/pr_dash.c
index 63f6f08..3209528 100644
--- a/gllib/unictype/pr_dash.c
+++ b/gllib/unictype/pr_dash.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_dash.h b/gllib/unictype/pr_dash.h
index 3ae811a..0677f06 100644
--- a/gllib/unictype/pr_dash.h
+++ b/gllib/unictype/pr_dash.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_decimal_digit.c b/gllib/unictype/pr_decimal_digit.c
index 95f02b0..8d23644 100644
--- a/gllib/unictype/pr_decimal_digit.c
+++ b/gllib/unictype/pr_decimal_digit.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_decimal_digit.h b/gllib/unictype/pr_decimal_digit.h
index ee5daeb..542a038 100644
--- a/gllib/unictype/pr_decimal_digit.h
+++ b/gllib/unictype/pr_decimal_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[22 << 4];
+    /*unsigned*/ int level3[24 << 4];
   }
 u_property_decimal_digit =
 {
@@ -163,6 +163,7 @@ u_property_decimal_digit =
         3 +   256 * sizeof (short) / sizeof (int) +   288,
         3 +   256 * sizeof (short) / sizeof (int) +   304,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
        -1,
        -1,
@@ -201,9 +202,7 @@ u_property_decimal_digit =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   320,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
        -1,
        -1,
        -1,
@@ -256,8 +255,8 @@ u_property_decimal_digit =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   336,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
        -1,
@@ -266,6 +265,7 @@ u_property_decimal_digit =
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -347,7 +347,7 @@ u_property_decimal_digit =
     0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -359,6 +359,10 @@ u_property_decimal_digit =
     0x00000000, 0x00000000, 0x00000000, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
@@ -366,6 +370,10 @@ u_property_decimal_digit =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_default_ignorable_code_point.c 
b/gllib/unictype/pr_default_ignorable_code_point.c
index 70edd34..f3975b7 100644
--- a/gllib/unictype/pr_default_ignorable_code_point.c
+++ b/gllib/unictype/pr_default_ignorable_code_point.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_default_ignorable_code_point.h 
b/gllib/unictype/pr_default_ignorable_code_point.h
index 9200d79..1163ad4 100644
--- a/gllib/unictype/pr_default_ignorable_code_point.h
+++ b/gllib/unictype/pr_default_ignorable_code_point.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_deprecated.c b/gllib/unictype/pr_deprecated.c
index 0ee220c..c1aed5e 100644
--- a/gllib/unictype/pr_deprecated.c
+++ b/gllib/unictype/pr_deprecated.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_deprecated.h b/gllib/unictype/pr_deprecated.h
index bb3391c..9a7e1f8 100644
--- a/gllib/unictype/pr_deprecated.h
+++ b/gllib/unictype/pr_deprecated.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -316,7 +316,7 @@ u_property_deprecated =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000600, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000002, 0x00000000, 0x00000000, 0x80000000,
+    0x00000002, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
diff --git a/gllib/unictype/pr_diacritic.c b/gllib/unictype/pr_diacritic.c
index d214dea..6ab756a 100644
--- a/gllib/unictype/pr_diacritic.c
+++ b/gllib/unictype/pr_diacritic.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_diacritic.h b/gllib/unictype/pr_diacritic.h
index 9a89f10..58877b1 100644
--- a/gllib/unictype/pr_diacritic.h
+++ b/gllib/unictype/pr_diacritic.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[32 << 4];
+    /*unsigned*/ int level3[33 << 4];
   }
 u_property_diacritic =
 {
@@ -163,6 +163,7 @@ u_property_diacritic =
         3 +   256 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -201,11 +202,9 @@ u_property_diacritic =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   448,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   464,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -253,8 +252,8 @@ u_property_diacritic =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   480,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -265,7 +264,8 @@ u_property_diacritic =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   496,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
@@ -383,7 +383,7 @@ u_property_diacritic =
     0x00000000, 0x00000000, 0x00000000, 0x00000600,
     0x00000000, 0x10000000, 0x00002000, 0x001F1FC0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000044, 0x00000000,
     0x00000000, 0x00000000, 0x0000000C, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x80000000, 0x00000001, 0x00000000,
@@ -391,6 +391,10 @@ u_property_diacritic =
     0x00000000, 0x00C00000, 0x00000000, 0x00000000,
     0x00000000, 0x00000800, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -405,7 +409,7 @@ u_property_diacritic =
     0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x007F0000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000770, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_extender.c b/gllib/unictype/pr_extender.c
index 450c328..dc64ae1 100644
--- a/gllib/unictype/pr_extender.c
+++ b/gllib/unictype/pr_extender.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_extender.h b/gllib/unictype/pr_extender.h
index f584de5..59efb61 100644
--- a/gllib/unictype/pr_extender.h
+++ b/gllib/unictype/pr_extender.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[16 << 4];
+    /*unsigned*/ int level3[18 << 4];
   }
 u_property_extender =
 {
@@ -204,6 +204,7 @@ u_property_extender =
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +   240,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
        -1,
        -1,
        -1,
@@ -264,8 +265,7 @@ u_property_extender =
        -1,
        -1,
        -1,
-       -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
        -1,
        -1,
        -1,
@@ -342,6 +342,14 @@ u_property_extender =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x0000000C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000001,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000070, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_format_control.c b/gllib/unictype/pr_format_control.c
index 60bf456..2c61c77 100644
--- a/gllib/unictype/pr_format_control.c
+++ b/gllib/unictype/pr_format_control.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_format_control.h b/gllib/unictype/pr_format_control.h
index b69678b..8b6428f 100644
--- a/gllib/unictype/pr_format_control.h
+++ b/gllib/unictype/pr_format_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_grapheme_base.c b/gllib/unictype/pr_grapheme_base.c
index f2eeb08..bbb5beb 100644
--- a/gllib/unictype/pr_grapheme_base.c
+++ b/gllib/unictype/pr_grapheme_base.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_grapheme_base.h b/gllib/unictype/pr_grapheme_base.h
index 3047070..cca8cab 100644
--- a/gllib/unictype/pr_grapheme_base.h
+++ b/gllib/unictype/pr_grapheme_base.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[74 << 4];
+    /*unsigned*/ int level3[76 << 4];
   }
 u_property_grapheme_base =
 {
@@ -164,11 +164,11 @@ u_property_grapheme_base =
         4 +   384 * sizeof (short) / sizeof (int) +   736,
         4 +   384 * sizeof (short) / sizeof (int) +   752,
         4 +   384 * sizeof (short) / sizeof (int) +   768,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   784,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
-        4 +   384 * sizeof (short) / sizeof (int) +   784,
         4 +   384 * sizeof (short) / sizeof (int) +   800,
+        4 +   384 * sizeof (short) / sizeof (int) +   816,
        -1,
        -1,
        -1,
@@ -176,7 +176,7 @@ u_property_grapheme_base =
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
-        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   832,
        -1,
        -1,
        -1,
@@ -185,7 +185,7 @@ u_property_grapheme_base =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
-        4 +   384 * sizeof (short) / sizeof (int) +   832,
+        4 +   384 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
@@ -203,10 +203,23 @@ u_property_grapheme_base =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
-        4 +   384 * sizeof (short) / sizeof (int) +   848,
-       -1,
         4 +   384 * sizeof (short) / sizeof (int) +   864,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   880,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   896,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   912,
        -1,
        -1,
        -1,
@@ -225,26 +238,13 @@ u_property_grapheme_base =
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   928,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   880,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   896,
+        4 +   384 * sizeof (short) / sizeof (int) +   944,
        -1,
        -1,
        -1,
@@ -254,27 +254,27 @@ u_property_grapheme_base =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   912,
-        4 +   384 * sizeof (short) / sizeof (int) +   928,
-        4 +   384 * sizeof (short) / sizeof (int) +   944,
         4 +   384 * sizeof (short) / sizeof (int) +   960,
-        4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   976,
+        4 +   384 * sizeof (short) / sizeof (int) +   992,
+        4 +   384 * sizeof (short) / sizeof (int) +  1008,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +  1024,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   992,
+        4 +   384 * sizeof (short) / sizeof (int) +  1040,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +  1008,
-        4 +   384 * sizeof (short) / sizeof (int) +  1024,
-        4 +   384 * sizeof (short) / sizeof (int) +  1040,
         4 +   384 * sizeof (short) / sizeof (int) +  1056,
         4 +   384 * sizeof (short) / sizeof (int) +  1072,
         4 +   384 * sizeof (short) / sizeof (int) +  1088,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +  1104,
+        4 +   384 * sizeof (short) / sizeof (int) +  1120,
        -1,
        -1,
        -1,
@@ -361,7 +361,7 @@ u_property_grapheme_base =
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
-        4 +   384 * sizeof (short) / sizeof (int) +  1104,
+        4 +   384 * sizeof (short) / sizeof (int) +  1136,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
@@ -369,8 +369,8 @@ u_property_grapheme_base =
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
-        4 +   384 * sizeof (short) / sizeof (int) +  1120,
-        4 +   384 * sizeof (short) / sizeof (int) +  1136,
+        4 +   384 * sizeof (short) / sizeof (int) +  1152,
+        4 +   384 * sizeof (short) / sizeof (int) +  1168,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
@@ -381,7 +381,7 @@ u_property_grapheme_base =
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
-        4 +   384 * sizeof (short) / sizeof (int) +  1152,
+        4 +   384 * sizeof (short) / sizeof (int) +  1184,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@ u_property_grapheme_base =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   160,
-        4 +   384 * sizeof (short) / sizeof (int) +  1168,
+        4 +   384 * sizeof (short) / sizeof (int) +  1200,
        -1,
        -1
   },
@@ -425,7 +425,7 @@ u_property_grapheme_base =
     0xFFFD3FFF, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x07F007FF,
     0x043FFFFF, 0x7FFF0110, 0x41FFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFF8, 0xEBFFFFFF, 0xFF01DE01, 0xFFFFFFF3,
     0xFFF99FED, 0xA3C5FDFF, 0xB0005981, 0x0FFFFFC3,
     0xFFF987E8, 0xC36DFDFF, 0x5E000001, 0x001CFFC0,
@@ -433,8 +433,8 @@ u_property_grapheme_base =
     0xFFF99FEC, 0x23EDFDFF, 0xB0001981, 0x00FFFFC3,
     0xD63DC7E8, 0x83FFC718, 0x00011DC6, 0x07FFFFC0,
     0xFFFDDFEE, 0x23FFFDFF, 0x0700001E, 0xFF00FFC3,
-    0xFFFDDFEC, 0x63EFFDFF, 0x40000D9B, 0x0006FFC3,
-    0xFFFDDFEC, 0xA7FFFFFF, 0x80005DC1, 0xFE3FFFC3,
+    0xFFFDDFED, 0x63EFFDFF, 0x40000D9B, 0x0006FFC3,
+    0xFFFDDFEC, 0xA7FFFFFF, 0xFF70DDC1, 0xFFFFFFC3,
     0xFC7FFFEC, 0x2FFBFFFF, 0x7F03007F, 0x001CFFC0,
     0xFFFFFFFE, 0x800DFFFF, 0x0FFF807F, 0x00000000,
     0xFEF02596, 0x200DECAE, 0xF3FF005F, 0x00000000,
@@ -457,7 +457,7 @@ u_property_grapheme_base =
     0x0003DFFF, 0x0063FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0xC04FFFFF, 0x1FF001BF, 0x03FF03FF,
     0x03FF07FF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFF9F, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x7FFFFFFF, 0x01FB0E78, 0xFFFFFFF1, 0x001F3FFF,
     0xFFFFFFFF, 0xFFFF0FFF, 0xC7FF03FF, 0xFFFFFFFF,
     0xC67FFFFF, 0xFFFFFFFF, 0x00BFFFFF, 0x0007E01A,
@@ -465,7 +465,7 @@ u_property_grapheme_base =
     0xFFFFFFF0, 0xE82FFFFF, 0xFFFF0FFB, 0x1FF007FF,
     0xFFFFFFFC, 0xFFFFC4C3, 0xFFFFFFFF, 0xF00C5CBF,
     0xFFFFFFFF, 0xF8300FFF, 0xFFFFE3FF, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0x000800FF, 0x006FDE02,
+    0x000001FF, 0x00000000, 0x000800FF, 0x006FDE02,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -479,7 +479,7 @@ u_property_grapheme_base =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -492,7 +492,7 @@ u_property_grapheme_base =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0C7FFF,
     0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x000180FF,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x00000007, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000,
     0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
@@ -519,7 +519,7 @@ u_property_grapheme_base =
     0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0xC0087FFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FCFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+    0xFFFFFFFF, 0x00FF7FFF, 0x00000000, 0xFF800000,
     0xFFFFF7BB, 0x03FF0F9F, 0xFFFFFFFF, 0x00FFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC00F, 0x3FFC0000,
     0xFFFFFFFF, 0xFFFFC03F, 0x800C007F, 0x1FFFFFFF,
@@ -551,13 +551,13 @@ u_property_grapheme_base =
     0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
     0xFFFFFF87, 0xFF8FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x0FFF1FFF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF,
+    0x0FFF7FFF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x0FFFFFFE,
     0xFFFFFFFF, 0xFFFF000F, 0xFFFF07FF, 0x003FFFFF,
     0xBFFFFFFF, 0xFFFFFFFF, 0x003FFF0F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0xFFFF03FF, 0xFF0FFFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000800F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -588,11 +588,11 @@ u_property_grapheme_base =
     0xBFFFBD7F, 0xFFFF03FF, 0x7FFFFFFF, 0x03FF0007,
     0xFFF99FEC, 0xA3EDFDFF, 0xE001399E, 0x0000000F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00FFFFFF, 0x2BFFFFA3, 0x00000000,
     0xFFFFFFFF, 0x5A06FFFF, 0x03FF00F2, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x4F037FFF, 0x0FFFFFFE, 0x00000000,
-    0xFFFFFFFF, 0x5807FFFF, 0x03FF001E, 0x00000000,
+    0xFFFFFFFF, 0x5807FFFF, 0x03FF001E, 0x00001FFF,
     0xFFFFFFFF, 0x0040D7FF, 0x000003FF, 0x00000000,
     0x03FFFFFF, 0xFFFF0043, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -604,6 +604,10 @@ u_property_grapheme_base =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0x4000FFFF, 0xFFFF003F, 0xFFFF1FFF,
+    0x0000FFFF, 0x00120200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -627,7 +631,15 @@ u_property_grapheme_base =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF,
-    0xFFF80000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF80000, 0x00000000, 0x00000000, 0x00000001,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -658,7 +670,7 @@ u_property_grapheme_base =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000FF9F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xC3FF000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
     0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00030000,
@@ -667,23 +679,19 @@ u_property_grapheme_base =
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF,
     0xFFFF1FFF, 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFF0FFF,
-    0x07FFFFFF, 0x00000000, 0x00000000, 0xFFFFFFC0,
-    0xFFFF0007, 0x07FFFFFF, 0x000301FF, 0x00000000,
+    0xFFFFFFFF, 0x00001FFF, 0x00000000, 0xFFFFFFC0,
+    0xFFFF0007, 0x0FFFFFFF, 0x000301FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFBFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFEF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x000F1FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
     0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF,
     0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000,
-    0x01FF0000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000001F, 0x00000000, 0x00000001, 0x00000000,
+    0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000,
+    0x0003FFFF, 0x00000000, 0x00000001, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/pr_grapheme_extend.c b/gllib/unictype/pr_grapheme_extend.c
index b15e027..408fc74 100644
--- a/gllib/unictype/pr_grapheme_extend.c
+++ b/gllib/unictype/pr_grapheme_extend.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_grapheme_extend.h b/gllib/unictype/pr_grapheme_extend.h
index 30e8b63..93db881 100644
--- a/gllib/unictype/pr_grapheme_extend.h
+++ b/gllib/unictype/pr_grapheme_extend.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[36 << 4];
+    /*unsigned*/ int level3[38 << 4];
   }
 u_property_grapheme_extend =
 {
@@ -176,6 +176,7 @@ u_property_grapheme_extend =
        16 +   384 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -214,11 +215,9 @@ u_property_grapheme_extend =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   448,
-       -1,
        16 +   384 * sizeof (short) / sizeof (int) +   464,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -256,8 +255,8 @@ u_property_grapheme_extend =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -266,19 +265,20 @@ u_property_grapheme_extend =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   496,
-       16 +   384 * sizeof (short) / sizeof (int) +   512,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   512,
+       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   544,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   544,
+       16 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@ u_property_grapheme_extend =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   560,
+       16 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -433,7 +433,7 @@ u_property_grapheme_extend =
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
     0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB,
     0x00000007, 0x14000000, 0x00FE21FE, 0x0000000C,
     0x00000002, 0x50000000, 0x0080201E, 0x0000000C,
     0x00000006, 0x10000000, 0x00023986, 0x00230000,
@@ -461,7 +461,7 @@ u_property_grapheme_extend =
     0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
     0x00000000, 0x3FB00000, 0x200FFE40, 0x00000000,
     0x00003800, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000060, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0E040187, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x09800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
@@ -471,8 +471,8 @@ u_property_grapheme_extend =
     0x00000000, 0x00CFF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFF70000, 0x031021FD,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF03FFFFF,
-    0x00003000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF,
+    0x00001000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -489,7 +489,7 @@ u_property_grapheme_extend =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x00000060, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000030, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
     0x00000007, 0x13C80000, 0x00000000, 0x00000020,
     0x00000000, 0x00667E00, 0x00001008, 0x10000000,
@@ -520,11 +520,11 @@ u_property_grapheme_extend =
     0x00000003, 0x06780000, 0x00000000, 0x00000000,
     0x00000007, 0x001FEF80, 0x00000000, 0x00080000,
     0x00000003, 0x7FC00000, 0x00001C00, 0x00000000,
-    0x00000000, 0x00D38000, 0x00000000, 0x00000000,
+    0x00000000, 0x40D38000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x000007F8,
     0x00000003, 0x50000000, 0x00800001, 0x001F1FC0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFF000000, 0x0000005C, 0x00000000,
     0x00000000, 0xA5F90000, 0x0000000D, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xB03C8000, 0x30000001, 0x00000000,
@@ -532,6 +532,10 @@ u_property_grapheme_extend =
     0x00000000, 0x00BF2800, 0x00000000, 0x00000000,
     0xE0000000, 0x00000FBC, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xBF7F0000, 0x00000000, 0x00000000,
+    0xFFFC0000, 0x006DFCFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x007F0000, 0x00000000, 0x00000000,
@@ -556,11 +560,15 @@ u_property_grapheme_extend =
     0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x007F0000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007F0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
diff --git a/gllib/unictype/pr_grapheme_link.c b/gllib/unictype/pr_grapheme_link.c
index ce7107b..eae16b3 100644
--- a/gllib/unictype/pr_grapheme_link.c
+++ b/gllib/unictype/pr_grapheme_link.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_grapheme_link.h b/gllib/unictype/pr_grapheme_link.h
index 06c4392..1692a7a 100644
--- a/gllib/unictype/pr_grapheme_link.h
+++ b/gllib/unictype/pr_grapheme_link.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -163,7 +163,7 @@ u_property_grapheme_link =
         3 +   256 * sizeof (short) / sizeof (int) +   224,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
        -1,
        -1,
        -1,
@@ -331,7 +331,7 @@ u_property_grapheme_link =
     0x00000000, 0x00000000, 0x00000000, 0x00000400,
     0x00000000, 0x00000000, 0x00002000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000004, 0x00000000,
     0x00000000, 0x00000000, 0x00000004, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x80000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_hex_digit.c b/gllib/unictype/pr_hex_digit.c
index afc50f7..ec70bec 100644
--- a/gllib/unictype/pr_hex_digit.c
+++ b/gllib/unictype/pr_hex_digit.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_hex_digit.h b/gllib/unictype/pr_hex_digit.h
index f401c39..f83ac6a 100644
--- a/gllib/unictype/pr_hex_digit.h
+++ b/gllib/unictype/pr_hex_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_hyphen.c b/gllib/unictype/pr_hyphen.c
index ec7ff8a..d9b27e0 100644
--- a/gllib/unictype/pr_hyphen.c
+++ b/gllib/unictype/pr_hyphen.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_hyphen.h b/gllib/unictype/pr_hyphen.h
index 4dd6c3d..35bba66 100644
--- a/gllib/unictype/pr_hyphen.h
+++ b/gllib/unictype/pr_hyphen.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_id_continue.c b/gllib/unictype/pr_id_continue.c
index 2cc91d6..e6ca1bd 100644
--- a/gllib/unictype/pr_id_continue.c
+++ b/gllib/unictype/pr_id_continue.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_id_continue.h b/gllib/unictype/pr_id_continue.h
index d849df6..6696c3b 100644
--- a/gllib/unictype/pr_id_continue.h
+++ b/gllib/unictype/pr_id_continue.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[4 << 7];
-    /*unsigned*/ int level3[65 << 4];
+    /*unsigned*/ int level3[69 << 4];
   }
 u_property_id_continue =
 {
@@ -176,11 +176,11 @@ u_property_id_continue =
        16 +   512 * sizeof (short) / sizeof (int) +   656,
        16 +   512 * sizeof (short) / sizeof (int) +   672,
        16 +   512 * sizeof (short) / sizeof (int) +   688,
-       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   704,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   704,
        16 +   512 * sizeof (short) / sizeof (int) +   720,
+       16 +   512 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
@@ -188,7 +188,7 @@ u_property_id_continue =
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   736,
+       16 +   512 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -197,7 +197,7 @@ u_property_id_continue =
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   752,
+       16 +   512 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -215,10 +215,23 @@ u_property_id_continue =
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   768,
-       -1,
        16 +   512 * sizeof (short) / sizeof (int) +   784,
        -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   800,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   816,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   832,
        -1,
        -1,
        -1,
@@ -237,26 +250,13 @@ u_property_id_continue =
        -1,
        -1,
        -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   800,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   816,
+       16 +   512 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
        -1,
@@ -266,22 +266,22 @@ u_property_id_continue =
        -1,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   832,
-       16 +   512 * sizeof (short) / sizeof (int) +   848,
-       16 +   512 * sizeof (short) / sizeof (int) +   864,
        16 +   512 * sizeof (short) / sizeof (int) +   880,
-       -1,
        16 +   512 * sizeof (short) / sizeof (int) +   896,
+       16 +   512 * sizeof (short) / sizeof (int) +   912,
+       16 +   512 * sizeof (short) / sizeof (int) +   928,
        -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   944,
        -1,
        -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   960,
        -1,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   912,
+       16 +   512 * sizeof (short) / sizeof (int) +   976,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   928,
+       16 +   512 * sizeof (short) / sizeof (int) +   992,
        -1,
        -1,
        -1,
@@ -373,7 +373,7 @@ u_property_id_continue =
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   944,
+       16 +   512 * sizeof (short) / sizeof (int) +  1008,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
@@ -381,8 +381,8 @@ u_property_id_continue =
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   960,
-       16 +   512 * sizeof (short) / sizeof (int) +   976,
+       16 +   512 * sizeof (short) / sizeof (int) +  1024,
+       16 +   512 * sizeof (short) / sizeof (int) +  1040,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
@@ -393,7 +393,7 @@ u_property_id_continue =
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   992,
+       16 +   512 * sizeof (short) / sizeof (int) +  1056,
        -1,
        -1,
        -1,
@@ -415,10 +415,10 @@ u_property_id_continue =
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +  1008,
+       16 +   512 * sizeof (short) / sizeof (int) +  1072,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +  1024,
+       16 +   512 * sizeof (short) / sizeof (int) +  1088,
        -1,
        -1,
        -1,
@@ -565,7 +565,7 @@ u_property_id_continue =
     0xFFFF0000, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x043FFFFF,
     0xFFFFFFFF, 0x00003FFF, 0x0FFFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x3FDFFFFF, 0xFFF00000, 0xFFFFFFFB,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFFCF,
     0xFFF99FEF, 0xF3C5FDFF, 0xB080799F, 0x0003FFCF,
     0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0,
@@ -573,8 +573,8 @@ u_property_id_continue =
     0xFFF99FEE, 0xF3EDFDFF, 0xB0C0399F, 0x0002FFCF,
     0xD63DC7EC, 0xC3FFC718, 0x00813DC7, 0x0000FFC0,
     0xFFFDDFEF, 0xE3FFFDFF, 0x07603DDF, 0x0000FFCF,
-    0xFFFDDFEE, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF,
-    0xFFFDDFEE, 0xE7FFFFFF, 0x80807DDF, 0xFC00FFCF,
+    0xFFFDDFEF, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF,
+    0xFFFDDFEE, 0xE7FFFFFF, 0x80F07DDF, 0xFC00FFCF,
     0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x000CFFC0,
     0xFFFFFFFE, 0x07FFFFFF, 0x03FF7FFF, 0x00000000,
     0xFEF02596, 0x3BFFECAE, 0xF3FF3F5F, 0x00000000,
@@ -605,9 +605,9 @@ u_property_id_continue =
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0FFF, 0x000FF800,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0x00FFFFFF, 0xFFFFE3FF, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0xFFF70000, 0x037FFFFF,
+    0x000001FF, 0x00000000, 0xFFF70000, 0x037FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF03FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
@@ -643,9 +643,9 @@ u_property_id_continue =
     0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0xBFF0FFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFF9FF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+    0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000,
     0xFFFFFFFF, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x28FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF003F, 0x28FFFFFF,
     0xFFFFFFFF, 0xFFFF3FFF, 0x000FFFFF, 0x1FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF8001, 0x7FFFFFFF,
     0xFFFFFFFF, 0x007FFFFF, 0x03FF3FFF, 0xFC7FFFFF,
@@ -681,7 +681,7 @@ u_property_id_continue =
     0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x07FFFFFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0xFFFF03FF, 0xFF0FFFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -704,11 +704,11 @@ u_property_id_continue =
     0xFFFFFFFF, 0x07FFFFFF, 0xFFFF0000, 0x03FF01FF,
     0xFFFFFFFF, 0xFFDFFFFF, 0xFFFF0000, 0x004FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x17FF1C1F, 0x00000000,
-    0xFFFBFFFF, 0x00FFFFFF, 0x00000000, 0x00000000,
+    0xFFFBFFFF, 0x40FFFFFF, 0x00000000, 0x00000000,
     0xBFFFBD7F, 0xFFFF01FF, 0xFFFFFFFF, 0x03FF07FF,
     0xFFF99FEF, 0xF3EDFDFF, 0xE081399F, 0x001F1FCF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF07FF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF00BF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFF3FFFFF, 0x3F000001, 0x00000000,
@@ -724,6 +724,10 @@ u_property_id_continue =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0xFF7FFFFF, 0x03FF0001, 0xFFFC0000,
+    0xFFFCFFFF, 0x007FFEFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -747,7 +751,15 @@ u_property_id_continue =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF,
-    0xFFFF8000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF8000, 0x00000000, 0x00000000, 0x00000001,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -776,9 +788,13 @@ u_property_id_continue =
     0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007F001F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF07FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
     0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_id_start.c b/gllib/unictype/pr_id_start.c
index fb566e5..010cd23 100644
--- a/gllib/unictype/pr_id_start.c
+++ b/gllib/unictype/pr_id_start.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_id_start.h b/gllib/unictype/pr_id_start.h
index a4df93e..aff0d0b 100644
--- a/gllib/unictype/pr_id_start.h
+++ b/gllib/unictype/pr_id_start.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[61 << 4];
+    /*unsigned*/ int level3[64 << 4];
   }
 u_property_id_start =
 {
@@ -164,11 +164,11 @@ u_property_id_start =
         4 +   384 * sizeof (short) / sizeof (int) +   656,
         4 +   384 * sizeof (short) / sizeof (int) +   672,
         4 +   384 * sizeof (short) / sizeof (int) +   688,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   704,
         4 +   384 * sizeof (short) / sizeof (int) +   720,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
@@ -176,7 +176,7 @@ u_property_id_start =
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   736,
+        4 +   384 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -185,7 +185,7 @@ u_property_id_start =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   752,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -203,10 +203,23 @@ u_property_id_start =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   768,
-       -1,
         4 +   384 * sizeof (short) / sizeof (int) +   784,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   800,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   832,
        -1,
        -1,
        -1,
@@ -225,26 +238,13 @@ u_property_id_start =
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   800,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
        -1,
@@ -256,8 +256,8 @@ u_property_id_start =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   832,
-        4 +   384 * sizeof (short) / sizeof (int) +   848,
+        4 +   384 * sizeof (short) / sizeof (int) +   880,
+        4 +   384 * sizeof (short) / sizeof (int) +   896,
        -1,
        -1,
        -1,
@@ -266,10 +266,10 @@ u_property_id_start =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   864,
+        4 +   384 * sizeof (short) / sizeof (int) +   912,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   880,
+        4 +   384 * sizeof (short) / sizeof (int) +   928,
        -1,
        -1,
        -1,
@@ -361,7 +361,7 @@ u_property_id_start =
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   896,
+        4 +   384 * sizeof (short) / sizeof (int) +   944,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
@@ -369,8 +369,8 @@ u_property_id_start =
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   912,
-        4 +   384 * sizeof (short) / sizeof (int) +   928,
+        4 +   384 * sizeof (short) / sizeof (int) +   960,
+        4 +   384 * sizeof (short) / sizeof (int) +   976,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
@@ -381,7 +381,7 @@ u_property_id_start =
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   944,
+        4 +   384 * sizeof (short) / sizeof (int) +   992,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@ u_property_id_start =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   960,
+        4 +   384 * sizeof (short) / sizeof (int) +  1008,
        -1,
        -1
   },
@@ -425,7 +425,7 @@ u_property_id_start =
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
     0x043FFFFF, 0x00000110, 0x01FFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFE0003,
     0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x00030003,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
@@ -433,8 +433,8 @@ u_property_id_start =
     0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003,
     0xD63DC7E8, 0x03FFC718, 0x00010000, 0x00000000,
     0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x00000003,
-    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x00060003,
-    0xFFFDDFE0, 0x27FFFFFF, 0x80004000, 0xFC000003,
+    0xFFFDDFE1, 0x23EFFDFF, 0x40000000, 0x00060003,
+    0xFFFDDFE0, 0x27FFFFFF, 0x80704000, 0xFC000003,
     0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
     0xFFFFFFFE, 0x000DFFFF, 0x0000007F, 0x00000000,
     0xFEF02596, 0x200DECAE, 0xF000005F, 0x00000000,
@@ -465,7 +465,7 @@ u_property_id_start =
     0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
     0xFFFFFFF8, 0xFC00C001, 0xFFFFFFFF, 0x0000003F,
     0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x0063DE00,
+    0x000001FF, 0x00000000, 0x00000000, 0x0063DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -503,7 +503,7 @@ u_property_id_start =
     0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFF9FF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+    0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x28FC0000,
     0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
@@ -541,7 +541,7 @@ u_property_id_start =
     0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x003FFFFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -568,7 +568,7 @@ u_property_id_start =
     0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x00000000,
     0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000780, 0x00000000,
     0xFFFFFFFF, 0x0000FFFF, 0x000000B0, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000,
@@ -584,6 +584,10 @@ u_property_id_start =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0x00007FFF, 0x00000001, 0xFFFC0000,
+    0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -607,7 +611,15 @@ u_property_id_start =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000,
-    0xFFF80000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF80000, 0x00000000, 0x00000000, 0x00000001,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -626,7 +638,7 @@ u_property_id_start =
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
     0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_ideographic.c b/gllib/unictype/pr_ideographic.c
index 2fbadd6..e1aa53c 100644
--- a/gllib/unictype/pr_ideographic.c
+++ b/gllib/unictype/pr_ideographic.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_ideographic.h b/gllib/unictype/pr_ideographic.h
index 9a08c61..c9f07e2 100644
--- a/gllib/unictype/pr_ideographic.h
+++ b/gllib/unictype/pr_ideographic.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -10,16 +10,16 @@ struct
   {
     int header[1];
     int level1[3];
-    short level2[2 << 7];
-    /*unsigned*/ int level3[11 << 4];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[13 << 4];
   }
 u_property_ideographic =
 {
   { 3 },
   {
         4 * sizeof (int) / sizeof (short) +     0,
-       -1,
-        4 * sizeof (int) / sizeof (short) +   128
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
   },
   {
        -1,
@@ -46,62 +46,126 @@ u_property_ideographic =
        -1,
        -1,
        -1,
-        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    32,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    48,
        -1,
        -1,
        -1,
@@ -142,141 +206,205 @@ u_property_ideographic =
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
-       -1,
-        4 +   256 * sizeof (short) / sizeof (int) +    64,
-        4 +   256 * sizeof (short) / sizeof (int) +    80,
-       -1,
-       -1,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    96,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +   112,
-        4 +   256 * sizeof (short) / sizeof (int) +   128,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +   144,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +   160,
-       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+       -1,
        -1
   },
   {
@@ -305,6 +433,14 @@ u_property_ideographic =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/pr_ids_binary_operator.c b/gllib/unictype/pr_ids_binary_operator.c
index 662b333..3d8594e 100644
--- a/gllib/unictype/pr_ids_binary_operator.c
+++ b/gllib/unictype/pr_ids_binary_operator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_ids_binary_operator.h b/gllib/unictype/pr_ids_binary_operator.h
index b851f24..12df49d 100644
--- a/gllib/unictype/pr_ids_binary_operator.h
+++ b/gllib/unictype/pr_ids_binary_operator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_ids_trinary_operator.c b/gllib/unictype/pr_ids_trinary_operator.c
index e45661a..66761f2 100644
--- a/gllib/unictype/pr_ids_trinary_operator.c
+++ b/gllib/unictype/pr_ids_trinary_operator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_ids_trinary_operator.h b/gllib/unictype/pr_ids_trinary_operator.h
index a583ff9..a76ddbf 100644
--- a/gllib/unictype/pr_ids_trinary_operator.h
+++ b/gllib/unictype/pr_ids_trinary_operator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_ignorable_control.c b/gllib/unictype/pr_ignorable_control.c
index 8e3f601..04f6926 100644
--- a/gllib/unictype/pr_ignorable_control.c
+++ b/gllib/unictype/pr_ignorable_control.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_ignorable_control.h b/gllib/unictype/pr_ignorable_control.h
index 5e784ac..1934b12 100644
--- a/gllib/unictype/pr_ignorable_control.h
+++ b/gllib/unictype/pr_ignorable_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[9 << 4];
+    /*unsigned*/ int level3[10 << 4];
   }
 u_property_ignorable_control =
 {
@@ -38,6 +38,7 @@ u_property_ignorable_control =
        -1,
        -1,
        16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
        -1,
        -1,
        -1,
@@ -45,12 +46,11 @@ u_property_ignorable_control =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
        -1,
        -1,
        -1,
@@ -161,7 +161,7 @@ u_property_ignorable_control =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -170,7 +170,7 @@ u_property_ignorable_control =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -256,7 +256,7 @@ u_property_ignorable_control =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -266,7 +266,7 @@ u_property_ignorable_control =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@ u_property_ignorable_control =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
        -1,
        -1,
        -1,
@@ -428,6 +428,10 @@ u_property_ignorable_control =
     0x00000000, 0x00000000, 0x20000000, 0x00000000,
     0x00008000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000004,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00004000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_iso_control.c b/gllib/unictype/pr_iso_control.c
index 1844850..3ba7c4d 100644
--- a/gllib/unictype/pr_iso_control.c
+++ b/gllib/unictype/pr_iso_control.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_iso_control.h b/gllib/unictype/pr_iso_control.h
index f8d7b0a..e105d64 100644
--- a/gllib/unictype/pr_iso_control.h
+++ b/gllib/unictype/pr_iso_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_join_control.c b/gllib/unictype/pr_join_control.c
index 5d18b63..2a8d3bc 100644
--- a/gllib/unictype/pr_join_control.c
+++ b/gllib/unictype/pr_join_control.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_join_control.h b/gllib/unictype/pr_join_control.h
index db6c9b3..ee4b2e1 100644
--- a/gllib/unictype/pr_join_control.h
+++ b/gllib/unictype/pr_join_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_left_of_pair.c b/gllib/unictype/pr_left_of_pair.c
index 30b7232..eb56128 100644
--- a/gllib/unictype/pr_left_of_pair.c
+++ b/gllib/unictype/pr_left_of_pair.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_left_of_pair.h b/gllib/unictype/pr_left_of_pair.h
index f54f121..1503582 100644
--- a/gllib/unictype/pr_left_of_pair.h
+++ b/gllib/unictype/pr_left_of_pair.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_line_separator.c b/gllib/unictype/pr_line_separator.c
index 5e4c272..5b857c4 100644
--- a/gllib/unictype/pr_line_separator.c
+++ b/gllib/unictype/pr_line_separator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_line_separator.h b/gllib/unictype/pr_line_separator.h
index aeb4613..3d94141 100644
--- a/gllib/unictype/pr_line_separator.h
+++ b/gllib/unictype/pr_line_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_logical_order_exception.c b/gllib/unictype/pr_logical_order_exception.c
index 679e9ea..692a8e5 100644
--- a/gllib/unictype/pr_logical_order_exception.c
+++ b/gllib/unictype/pr_logical_order_exception.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_logical_order_exception.h b/gllib/unictype/pr_logical_order_exception.h
index 40cf228..dab0369 100644
--- a/gllib/unictype/pr_logical_order_exception.h
+++ b/gllib/unictype/pr_logical_order_exception.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_lowercase.c b/gllib/unictype/pr_lowercase.c
index f39e640..3f58741 100644
--- a/gllib/unictype/pr_lowercase.c
+++ b/gllib/unictype/pr_lowercase.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_lowercase.h b/gllib/unictype/pr_lowercase.h
index 75d59f6..b11c836 100644
--- a/gllib/unictype/pr_lowercase.h
+++ b/gllib/unictype/pr_lowercase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[18 << 4];
+    /*unsigned*/ int level3[19 << 4];
   }
 u_property_lowercase =
 {
@@ -265,7 +265,7 @@ u_property_lowercase =
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
        -1,
        -1,
        -1,
@@ -296,7 +296,7 @@ u_property_lowercase =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x3F000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000001FF, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
@@ -332,7 +332,7 @@ u_property_lowercase =
     0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -350,6 +350,10 @@ u_property_lowercase =
     0x000000FF, 0x0FFFFFFC, 0xFFC00000, 0x0000FFFF,
     0xFFFFFC00, 0x0000003F, 0xF7FFFFFC, 0xF0000003,
     0x0FDFFFFF, 0xFFC00000, 0x003F7FFF, 0xFFFF0000,
-    0x0000FDFF, 0xFFFFFC00, 0x00000BF7, 0x00000000
+    0x0000FDFF, 0xFFFFFC00, 0x00000BF7, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFC, 0x0000000F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_math.c b/gllib/unictype/pr_math.c
index 6d8940f..c907ee5 100644
--- a/gllib/unictype/pr_math.c
+++ b/gllib/unictype/pr_math.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_math.h b/gllib/unictype/pr_math.h
index bc2735c..ee50c25 100644
--- a/gllib/unictype/pr_math.h
+++ b/gllib/unictype/pr_math.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_non_break.c b/gllib/unictype/pr_non_break.c
index da49919..bd83c05 100644
--- a/gllib/unictype/pr_non_break.c
+++ b/gllib/unictype/pr_non_break.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_non_break.h b/gllib/unictype/pr_non_break.h
index 43319cb..ed862de 100644
--- a/gllib/unictype/pr_non_break.h
+++ b/gllib/unictype/pr_non_break.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_not_a_character.c b/gllib/unictype/pr_not_a_character.c
index 756d653..98d9ae5 100644
--- a/gllib/unictype/pr_not_a_character.c
+++ b/gllib/unictype/pr_not_a_character.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_not_a_character.h b/gllib/unictype/pr_not_a_character.h
index 1148566..5bcc485 100644
--- a/gllib/unictype/pr_not_a_character.h
+++ b/gllib/unictype/pr_not_a_character.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_numeric.c b/gllib/unictype/pr_numeric.c
index d62b85b..ac09822 100644
--- a/gllib/unictype/pr_numeric.c
+++ b/gllib/unictype/pr_numeric.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_numeric.h b/gllib/unictype/pr_numeric.h
index 03f1eff..84acabb 100644
--- a/gllib/unictype/pr_numeric.h
+++ b/gllib/unictype/pr_numeric.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[42 << 4];
+    /*unsigned*/ int level3[43 << 4];
   }
 u_property_numeric =
 {
@@ -164,12 +164,11 @@ u_property_numeric =
         4 +   384 * sizeof (short) / sizeof (int) +   528,
         4 +   384 * sizeof (short) / sizeof (int) +   544,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   560,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -203,8 +202,8 @@ u_property_numeric =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -255,10 +254,10 @@ u_property_numeric =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   608,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1,
@@ -266,11 +265,12 @@ u_property_numeric =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   640,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
        -1,
        -1,
        -1,
@@ -402,7 +402,7 @@ u_property_numeric =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1
@@ -426,7 +426,7 @@ u_property_numeric =
     0x00000000, 0x00000000, 0x00000000, 0x0007FFC0,
     0x00000000, 0x00000000, 0x00000000, 0x7F00FFC0,
     0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
-    0x00000000, 0x00000000, 0x00000000, 0x003FFFC0,
+    0x00000000, 0x00000000, 0x7F000000, 0x01FFFFC0,
     0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
@@ -536,7 +536,7 @@ u_property_numeric =
     0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -548,6 +548,10 @@ u_property_numeric =
     0x00000000, 0x00000000, 0x00000000, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x00001FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -566,7 +570,7 @@ u_property_numeric =
     0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x0000FF80, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_other_alphabetic.c b/gllib/unictype/pr_other_alphabetic.c
index 7bf1219..d26996f 100644
--- a/gllib/unictype/pr_other_alphabetic.c
+++ b/gllib/unictype/pr_other_alphabetic.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_other_alphabetic.h b/gllib/unictype/pr_other_alphabetic.h
index a6db224..50dc81d 100644
--- a/gllib/unictype/pr_other_alphabetic.h
+++ b/gllib/unictype/pr_other_alphabetic.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[29 << 4];
+    /*unsigned*/ int level3[32 << 4];
   }
 u_property_other_alphabetic =
 {
@@ -163,6 +163,7 @@ u_property_other_alphabetic =
         3 +   256 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -201,11 +202,9 @@ u_property_other_alphabetic =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   400,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   416,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
        -1,
@@ -243,9 +242,8 @@ u_property_other_alphabetic =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   432,
-       -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -263,13 +261,15 @@ u_property_other_alphabetic =
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   448,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -292,7 +292,7 @@ u_property_other_alphabetic =
     0x00020000, 0xFFFF0000, 0x00000000, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x00000000,
     0xF8C00000, 0x00001EEF, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFF03F8,
+    0x00000000, 0x00000000, 0xFFF00000, 0xFFFF03F8,
     0x0000000F, 0xCC000000, 0x00E0DFFF, 0x0000000C,
     0x0000000E, 0xC0000000, 0x0080199F, 0x0000000C,
     0x0000000E, 0xC0000000, 0x00021987, 0x00230000,
@@ -320,7 +320,7 @@ u_property_other_alphabetic =
     0x000C0000, 0x000C0000, 0x000C0000, 0x000C0000,
     0x00000000, 0xFFC00000, 0x000001FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000060, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x01FF0FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0F800000, 0x00000000, 0x7FE00000, 0x001FFFFE,
@@ -344,7 +344,7 @@ u_property_other_alphabetic =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x000000F8, 0x00000000, 0x00000000,
-    0x00000003, 0xFFF00000, 0x0000000F, 0x00000000,
+    0x00000003, 0xFFF00000, 0x0000002F, 0x00000000,
     0x00000000, 0x000007C0, 0x0007FF80, 0x00000000,
     0x0000000F, 0xFFF00000, 0x00000000, 0x00000000,
     0x00000000, 0x007FFE00, 0x00003008, 0x00000000,
@@ -367,11 +367,11 @@ u_property_other_alphabetic =
     0x00000004, 0x01FF0000, 0x00000000, 0x00000000,
     0x00000007, 0x0007FF80, 0x00000000, 0x00000000,
     0x00000007, 0xFFF80000, 0x00000000, 0x00000000,
-    0x00000000, 0x009FF000, 0x00000000, 0x00000000,
+    0x00000000, 0x409FF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x000001FF,
     0x0000000F, 0xC0000000, 0x0080199F, 0x0000000C,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFE00000, 0x0000003B, 0x00000000,
     0x00000000, 0xFFFF0000, 0x00000003, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x7F3F8000, 0x30000000, 0x00000000,
@@ -379,6 +379,10 @@ u_property_other_alphabetic =
     0x00000000, 0x003FF800, 0x00000000, 0x00000000,
     0xE0000000, 0x000007FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x7F7F8000, 0x00000000, 0x00000000,
+    0xFFFC0000, 0x007FFEFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x007F0000, 0x00000000, 0x00000000,
@@ -391,6 +395,14 @@ u_property_other_alphabetic =
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000080, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0xFFFF03FF, 0xFFFF03FF,
diff --git a/gllib/unictype/pr_other_default_ignorable_code_point.c 
b/gllib/unictype/pr_other_default_ignorable_code_point.c
index 5af8109..ea24010 100644
--- a/gllib/unictype/pr_other_default_ignorable_code_point.c
+++ b/gllib/unictype/pr_other_default_ignorable_code_point.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_other_default_ignorable_code_point.h 
b/gllib/unictype/pr_other_default_ignorable_code_point.h
index 3e06d4b..b660e2f 100644
--- a/gllib/unictype/pr_other_default_ignorable_code_point.h
+++ b/gllib/unictype/pr_other_default_ignorable_code_point.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_other_grapheme_extend.c b/gllib/unictype/pr_other_grapheme_extend.c
index 289d0c4..2f9b1a6 100644
--- a/gllib/unictype/pr_other_grapheme_extend.c
+++ b/gllib/unictype/pr_other_grapheme_extend.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_other_grapheme_extend.h b/gllib/unictype/pr_other_grapheme_extend.h
index 023377c..ddd4a67 100644
--- a/gllib/unictype/pr_other_grapheme_extend.h
+++ b/gllib/unictype/pr_other_grapheme_extend.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -9,25 +9,99 @@ static const
 struct
   {
     int header[1];
-    int level1[2];
-    short level2[2 << 7];
-    /*unsigned*/ int level3[9 << 4];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[10 << 4];
   }
 u_property_other_grapheme_extend =
 {
-  { 2 },
+  { 15 },
   {
-        3 * sizeof (int) / sizeof (short) +     0,
-        3 * sizeof (int) / sizeof (short) +   128
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
   },
   {
        -1,
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +     0,
-        3 +   256 * sizeof (short) / sizeof (int) +    16,
-        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
        -1,
        -1,
@@ -37,7 +111,6 @@ u_property_other_grapheme_extend =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +    48,
        -1,
        -1,
        -1,
@@ -45,7 +118,6 @@ u_property_other_grapheme_extend =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +    64,
        -1,
        -1,
        -1,
@@ -89,6 +161,7 @@ u_property_other_grapheme_extend =
        -1,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -98,6 +171,8 @@ u_property_other_grapheme_extend =
        -1,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -148,7 +223,6 @@ u_property_other_grapheme_extend =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -158,8 +232,76 @@ u_property_other_grapheme_extend =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +    96,
-        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
        -1,
        -1,
@@ -253,7 +395,6 @@ u_property_other_grapheme_extend =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
        -1,
@@ -291,7 +432,7 @@ u_property_other_grapheme_extend =
     0x00000000, 0x00000000, 0x00600004, 0x00000000,
     0x00000000, 0x40000000, 0x00800000, 0x00000000,
     0x00000000, 0x00000000, 0x80008000, 0x00000000,
-    0x00003000, 0x00000000, 0x00000000, 0x00000000,
+    0x00001000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -314,6 +455,10 @@ u_property_other_grapheme_extend =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x0007C020,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_other_id_continue.c b/gllib/unictype/pr_other_id_continue.c
index 66d8a5d..b96c8f1 100644
--- a/gllib/unictype/pr_other_id_continue.c
+++ b/gllib/unictype/pr_other_id_continue.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_other_id_continue.h b/gllib/unictype/pr_other_id_continue.h
index 1f7bd04..11f3d37 100644
--- a/gllib/unictype/pr_other_id_continue.h
+++ b/gllib/unictype/pr_other_id_continue.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_other_id_start.c b/gllib/unictype/pr_other_id_start.c
index 6f748f4..adfc6b2 100644
--- a/gllib/unictype/pr_other_id_start.c
+++ b/gllib/unictype/pr_other_id_start.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_other_id_start.h b/gllib/unictype/pr_other_id_start.h
index 63b3b7f..d7fe624 100644
--- a/gllib/unictype/pr_other_id_start.h
+++ b/gllib/unictype/pr_other_id_start.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[2 << 4];
+    /*unsigned*/ int level3[3 << 4];
   }
 u_property_other_id_start =
 {
@@ -30,11 +30,11 @@ u_property_other_id_start =
        -1,
        -1,
        -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
        -1,
        -1,
        -1,
-       -1,
-        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
        -1,
        -1,
        -1,
@@ -42,7 +42,7 @@ u_property_other_id_start =
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
        -1,
        -1,
        -1,
@@ -149,6 +149,10 @@ u_property_other_id_start =
   },
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000060, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x01000000, 0x00004000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_other_lowercase.c b/gllib/unictype/pr_other_lowercase.c
index a9ac339..66bed9e 100644
--- a/gllib/unictype/pr_other_lowercase.c
+++ b/gllib/unictype/pr_other_lowercase.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_other_lowercase.h b/gllib/unictype/pr_other_lowercase.h
index cbe5323..96545a2 100644
--- a/gllib/unictype/pr_other_lowercase.h
+++ b/gllib/unictype/pr_other_lowercase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_other_math.c b/gllib/unictype/pr_other_math.c
index 3ec1f12..5358887 100644
--- a/gllib/unictype/pr_other_math.c
+++ b/gllib/unictype/pr_other_math.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_other_math.h b/gllib/unictype/pr_other_math.h
index 9675ed8..e40d7bf 100644
--- a/gllib/unictype/pr_other_math.h
+++ b/gllib/unictype/pr_other_math.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_other_uppercase.c b/gllib/unictype/pr_other_uppercase.c
index 2d90bf8..a39f281 100644
--- a/gllib/unictype/pr_other_uppercase.c
+++ b/gllib/unictype/pr_other_uppercase.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_other_uppercase.h b/gllib/unictype/pr_other_uppercase.h
index 37c49f7..938ffbc 100644
--- a/gllib/unictype/pr_other_uppercase.h
+++ b/gllib/unictype/pr_other_uppercase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_paired_punctuation.c b/gllib/unictype/pr_paired_punctuation.c
index 0f88ce2..9dc3dfe 100644
--- a/gllib/unictype/pr_paired_punctuation.c
+++ b/gllib/unictype/pr_paired_punctuation.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_paired_punctuation.h b/gllib/unictype/pr_paired_punctuation.h
index a0822f2..5d6ecdb 100644
--- a/gllib/unictype/pr_paired_punctuation.h
+++ b/gllib/unictype/pr_paired_punctuation.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_paragraph_separator.c b/gllib/unictype/pr_paragraph_separator.c
index 5bfb2ab..29bfdda 100644
--- a/gllib/unictype/pr_paragraph_separator.c
+++ b/gllib/unictype/pr_paragraph_separator.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_paragraph_separator.h b/gllib/unictype/pr_paragraph_separator.h
index 6ed82b2..497ac60 100644
--- a/gllib/unictype/pr_paragraph_separator.h
+++ b/gllib/unictype/pr_paragraph_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_pattern_syntax.c b/gllib/unictype/pr_pattern_syntax.c
index 6e1e70f..5e608c0 100644
--- a/gllib/unictype/pr_pattern_syntax.c
+++ b/gllib/unictype/pr_pattern_syntax.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_pattern_syntax.h b/gllib/unictype/pr_pattern_syntax.h
index df4c856..936244a 100644
--- a/gllib/unictype/pr_pattern_syntax.h
+++ b/gllib/unictype/pr_pattern_syntax.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_pattern_white_space.c b/gllib/unictype/pr_pattern_white_space.c
index 36467ab..42871ed 100644
--- a/gllib/unictype/pr_pattern_white_space.c
+++ b/gllib/unictype/pr_pattern_white_space.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_pattern_white_space.h b/gllib/unictype/pr_pattern_white_space.h
index 794d6c3..cb245bb 100644
--- a/gllib/unictype/pr_pattern_white_space.h
+++ b/gllib/unictype/pr_pattern_white_space.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_private_use.c b/gllib/unictype/pr_private_use.c
index 4dc0c30..2089d14 100644
--- a/gllib/unictype/pr_private_use.c
+++ b/gllib/unictype/pr_private_use.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_private_use.h b/gllib/unictype/pr_private_use.h
index ce775b9..869a5f7 100644
--- a/gllib/unictype/pr_private_use.h
+++ b/gllib/unictype/pr_private_use.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_punctuation.c b/gllib/unictype/pr_punctuation.c
index b1a7251..bcbfa17 100644
--- a/gllib/unictype/pr_punctuation.c
+++ b/gllib/unictype/pr_punctuation.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_punctuation.h b/gllib/unictype/pr_punctuation.h
index d4cd7da..7a9dbb7 100644
--- a/gllib/unictype/pr_punctuation.h
+++ b/gllib/unictype/pr_punctuation.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[41 << 4];
+    /*unsigned*/ int level3[43 << 4];
   }
 u_property_punctuation =
 {
@@ -163,11 +163,11 @@ u_property_punctuation =
         3 +   256 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   592,
+        3 +   256 * sizeof (short) / sizeof (int) +   608,
        -1,
        -1,
        -1,
@@ -202,7 +202,7 @@ u_property_punctuation =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   608,
+        3 +   256 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1,
@@ -243,7 +243,7 @@ u_property_punctuation =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   624,
+        3 +   256 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -258,14 +258,14 @@ u_property_punctuation =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   640,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   656,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -359,7 +359,7 @@ u_property_punctuation =
     0x00000000, 0x00000000, 0x00000000, 0xDE000000,
     0x00000000, 0x00000000, 0x00000000, 0x00010000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x00000007, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x0000001F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -419,14 +419,18 @@ u_property_punctuation =
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x2800F800, 0x00000000,
     0x00000000, 0x00000000, 0x00000040, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00FFFFFE, 0x00000000,
-    0x00000000, 0x00000000, 0x0000000E, 0x00000000,
+    0x00000000, 0x00000000, 0x0000000E, 0x00001FFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x70000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000003E, 0x00030000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -442,6 +446,10 @@ u_property_punctuation =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000F80, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
diff --git a/gllib/unictype/pr_quotation_mark.c b/gllib/unictype/pr_quotation_mark.c
index 0813778..56cf4bb 100644
--- a/gllib/unictype/pr_quotation_mark.c
+++ b/gllib/unictype/pr_quotation_mark.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_quotation_mark.h b/gllib/unictype/pr_quotation_mark.h
index a9be9c9..8c57f50 100644
--- a/gllib/unictype/pr_quotation_mark.h
+++ b/gllib/unictype/pr_quotation_mark.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_radical.c b/gllib/unictype/pr_radical.c
index c221224..31d17c5 100644
--- a/gllib/unictype/pr_radical.c
+++ b/gllib/unictype/pr_radical.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_radical.h b/gllib/unictype/pr_radical.h
index 8d821f7..df5365a 100644
--- a/gllib/unictype/pr_radical.h
+++ b/gllib/unictype/pr_radical.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_sentence_terminal.c b/gllib/unictype/pr_sentence_terminal.c
index df7dacf..14e78b5 100644
--- a/gllib/unictype/pr_sentence_terminal.c
+++ b/gllib/unictype/pr_sentence_terminal.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_sentence_terminal.h b/gllib/unictype/pr_sentence_terminal.h
index 20ea741..44cf1ba 100644
--- a/gllib/unictype/pr_sentence_terminal.h
+++ b/gllib/unictype/pr_sentence_terminal.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[26 << 4];
+    /*unsigned*/ int level3[27 << 4];
   }
 u_property_sentence_terminal =
 {
@@ -163,6 +163,7 @@ u_property_sentence_terminal =
         3 +   256 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -201,8 +202,7 @@ u_property_sentence_terminal =
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   368,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
        -1,
@@ -243,7 +243,7 @@ u_property_sentence_terminal =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -258,7 +258,7 @@ u_property_sentence_terminal =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   400,
+        3 +   256 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -363,7 +363,7 @@ u_property_sentence_terminal =
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00001800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00FFFE0C, 0x00000000,
@@ -371,6 +371,10 @@ u_property_sentence_terminal =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x70000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000006, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x0000C000,
     0x00000000, 0x00000000, 0x00000000, 0x00200000,
     0x00000000, 0x01800000, 0x00000010, 0x00000000,
diff --git a/gllib/unictype/pr_soft_dotted.c b/gllib/unictype/pr_soft_dotted.c
index 3914df1..5d839ca 100644
--- a/gllib/unictype/pr_soft_dotted.c
+++ b/gllib/unictype/pr_soft_dotted.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_soft_dotted.h b/gllib/unictype/pr_soft_dotted.h
index 28f6885..2c81721 100644
--- a/gllib/unictype/pr_soft_dotted.h
+++ b/gllib/unictype/pr_soft_dotted.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_space.c b/gllib/unictype/pr_space.c
index 9b4f4b1..72ebbf5 100644
--- a/gllib/unictype/pr_space.c
+++ b/gllib/unictype/pr_space.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_space.h b/gllib/unictype/pr_space.h
index 6b38e24..66a653c 100644
--- a/gllib/unictype/pr_space.h
+++ b/gllib/unictype/pr_space.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_terminal_punctuation.c b/gllib/unictype/pr_terminal_punctuation.c
index d790db2..84a7af2 100644
--- a/gllib/unictype/pr_terminal_punctuation.c
+++ b/gllib/unictype/pr_terminal_punctuation.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_terminal_punctuation.h b/gllib/unictype/pr_terminal_punctuation.h
index 3bce086..a2a8fe7 100644
--- a/gllib/unictype/pr_terminal_punctuation.h
+++ b/gllib/unictype/pr_terminal_punctuation.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[31 << 4];
+    /*unsigned*/ int level3[32 << 4];
   }
 u_property_terminal_punctuation =
 {
@@ -163,11 +163,11 @@ u_property_terminal_punctuation =
         3 +   256 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   432,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -202,7 +202,7 @@ u_property_terminal_punctuation =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   448,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
        -1,
        -1,
        -1,
@@ -243,7 +243,7 @@ u_property_terminal_punctuation =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -258,7 +258,7 @@ u_property_terminal_punctuation =
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   480,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -379,7 +379,7 @@ u_property_terminal_punctuation =
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08003800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00FFFE3C, 0x00000000,
@@ -387,6 +387,10 @@ u_property_terminal_punctuation =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x70000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000000E, 0x00020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x001F0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_test.c b/gllib/unictype/pr_test.c
index 770e061..72b831b 100644
--- a/gllib/unictype/pr_test.c
+++ b/gllib/unictype/pr_test.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_titlecase.c b/gllib/unictype/pr_titlecase.c
index 1e6292b..342a613 100644
--- a/gllib/unictype/pr_titlecase.c
+++ b/gllib/unictype/pr_titlecase.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_titlecase.h b/gllib/unictype/pr_titlecase.h
index 12c9a13..26a1f4d 100644
--- a/gllib/unictype/pr_titlecase.h
+++ b/gllib/unictype/pr_titlecase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_unassigned_code_value.c b/gllib/unictype/pr_unassigned_code_value.c
index 2c95339..a368fdc 100644
--- a/gllib/unictype/pr_unassigned_code_value.c
+++ b/gllib/unictype/pr_unassigned_code_value.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_unassigned_code_value.h b/gllib/unictype/pr_unassigned_code_value.h
index 986e589..4ea9197 100644
--- a/gllib/unictype/pr_unassigned_code_value.h
+++ b/gllib/unictype/pr_unassigned_code_value.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[5 << 7];
-    /*unsigned*/ int level3[74 << 4];
+    /*unsigned*/ int level3[77 << 4];
   }
 u_property_unassigned_code_value =
 {
@@ -177,120 +177,119 @@ u_property_unassigned_code_value =
        16 +   640 * sizeof (short) / sizeof (int) +   704,
        16 +   640 * sizeof (short) / sizeof (int) +   720,
        16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   752,
-       16 +   640 * sizeof (short) / sizeof (int) +   768,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       -1,
        -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   768,
        16 +   640 * sizeof (short) / sizeof (int) +   784,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       -1,
        -1,
        16 +   640 * sizeof (short) / sizeof (int) +   800,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
        -1,
        16 +   640 * sizeof (short) / sizeof (int) +   816,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   832,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
        16 +   640 * sizeof (short) / sizeof (int) +   848,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   864,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
+       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   880,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
        16 +   640 * sizeof (short) / sizeof (int) +   896,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
        16 +   640 * sizeof (short) / sizeof (int) +   912,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
        16 +   640 * sizeof (short) / sizeof (int) +   928,
-       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   944,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
        16 +   640 * sizeof (short) / sizeof (int) +   960,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
        16 +   640 * sizeof (short) / sizeof (int) +   976,
+       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   992,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
        16 +   640 * sizeof (short) / sizeof (int) +  1008,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
        16 +   640 * sizeof (short) / sizeof (int) +  1024,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
        16 +   640 * sizeof (short) / sizeof (int) +  1040,
        16 +   640 * sizeof (short) / sizeof (int) +  1056,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
        16 +   640 * sizeof (short) / sizeof (int) +  1072,
        -1,
+       16 +   640 * sizeof (short) / sizeof (int) +  1088,
+       16 +   640 * sizeof (short) / sizeof (int) +  1104,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +  1120,
        -1,
        -1,
        -1,
@@ -373,17 +372,17 @@ u_property_unassigned_code_value =
        -1,
        -1,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +  1088,
        -1,
+       16 +   640 * sizeof (short) / sizeof (int) +  1136,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +  1104,
-       16 +   640 * sizeof (short) / sizeof (int) +  1120,
        -1,
+       16 +   640 * sizeof (short) / sizeof (int) +  1152,
+       16 +   640 * sizeof (short) / sizeof (int) +  1168,
        -1,
        -1,
        -1,
@@ -393,287 +392,288 @@ u_property_unassigned_code_value =
        -1,
        -1,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +  1136,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +  1152,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +  1072,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +  1072,
-       16 +   640 * sizeof (short) / sizeof (int) +  1168,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +  1072
+       16 +   640 * sizeof (short) / sizeof (int) +  1184,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +  1200,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +  1120,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +  1120,
+       16 +   640 * sizeof (short) / sizeof (int) +  1216,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +  1120
   },
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -689,7 +689,7 @@ u_property_unassigned_code_value =
     0x00004000, 0x00000000, 0x00001800, 0x00000000,
     0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
     0x00000000, 0x8000C000, 0xB0000000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFE00000, 0xFFFFFFFF, 0x00000007,
+    0xFFFFFFFF, 0xC0200000, 0x000FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00066010, 0x0C3A0200, 0x4F7F8660, 0xF0000030,
     0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F,
@@ -697,8 +697,8 @@ u_property_unassigned_code_value =
     0x00066011, 0x0C120200, 0x4F3FC660, 0xFF000030,
     0x29C23813, 0x3C0038E7, 0xFF7EC238, 0xF800003F,
     0x00022010, 0x1C000200, 0xF89FC220, 0x00FF0030,
-    0x00022011, 0x0C100200, 0xBF9FC220, 0xFFF90030,
-    0x00022011, 0x18000000, 0x7F7F8220, 0x01C00030,
+    0x00022010, 0x0C100200, 0xBF9FC220, 0xFFF90030,
+    0x00022011, 0x18000000, 0x000F0220, 0x00000030,
     0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3003F,
     0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
     0x010FDA69, 0xC4001351, 0x0C00C0A0, 0xFFFFFFFF,
@@ -725,9 +725,9 @@ u_property_unassigned_code_value =
     0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
     0x00000000, 0x00000000, 0x00000000, 0x0FF00000,
     0x00000000, 0x07000000, 0x00001C00, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000FF00, 0xFC800000,
+    0xFFFFFE00, 0xFFFFFFFF, 0x0000FF00, 0xFC800000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x0FC00000,
+    0x00000000, 0x00000000, 0x00000000, 0x07C00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
@@ -739,7 +739,7 @@ u_property_unassigned_code_value =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xF8000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -752,7 +752,7 @@ u_property_unassigned_code_value =
     0x00000000, 0x00000000, 0x00000000, 0x01F00000,
     0x00000000, 0x0000DF40, 0x00000000, 0x7FFE7F00,
     0xFF800000, 0x80808080, 0x80808080, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFE0, 0xFFFFFFFF,
     0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
@@ -779,9 +779,9 @@ u_property_unassigned_code_value =
     0x00000000, 0xFFFFF000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFF000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0xFF00C000, 0xFFFFFFFF, 0x007FFFFF,
+    0x00000000, 0xFF008000, 0xFFFFFFFF, 0x007FFFFF,
     0x00000000, 0xFC00F000, 0x00000000, 0xFF000000,
-    0x00000000, 0x00000000, 0xFC003FE0, 0xC0000000,
+    0x00000000, 0x00000000, 0xFC003FC0, 0xC0000000,
     0x00000000, 0x00000000, 0x7FF00000, 0xE0000000,
     0x00000000, 0x00000000, 0x3C004000, 0x80000000,
     0x00000000, 0xFF800000, 0x0C00C000, 0x00000000,
@@ -807,13 +807,13 @@ u_property_unassigned_code_value =
     0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0xF8000000,
     0x00000078, 0x00700000, 0x00000000, 0x00000000,
-    0xF000E000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000,
+    0xF0008000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xE0000000, 0x00000000, 0xFFFE0000, 0xF0000000,
     0x00000000, 0x0000FFF0, 0x0000F800, 0xF8000000,
     0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xC0000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xC0000000, 0x0000FC00, 0x00F00000, 0xF0000000,
     0x00000000, 0x0000FF00, 0x00000000, 0xFFFF7FF0,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -840,15 +840,15 @@ u_property_unassigned_code_value =
     0x00000000, 0x00000000, 0x0000FFFC, 0xFC00FE00,
     0x00000000, 0x00200000, 0x0000FFF0, 0xFF800000,
     0x00000000, 0x00000000, 0x0000C000, 0xFFE00001,
-    0x00040000, 0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00040000, 0x80000000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x40004280, 0x0000FC00, 0x00000000, 0xFC00F800,
     0x00066010, 0x0C120200, 0x1F7EC660, 0xFFE0E030,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xD4000000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0xFC00FF00, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00C00000, 0xC0000000, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFE000,
     0x00000000, 0xFF000000, 0xFFFFFC00, 0xFFFFFFFF,
     0x1C000000, 0x0000F000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -860,6 +860,10 @@ u_property_unassigned_code_value =
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFE000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000200, 0x00800000, 0x0000FFC0, 0x0000E000,
+    0x00030000, 0xFF800100, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -887,7 +891,15 @@ u_property_unassigned_code_value =
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x0000FFE0, 0x80000000,
-    0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFE000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFF80000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -916,9 +928,13 @@ u_property_unassigned_code_value =
     0x07FFF000, 0xFFFF0001, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x06000080, 0xFFFFF824, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800060, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x3C00F800, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000010, 0xF5080169, 0x5569157B, 0xA1080869,
     0xF0000400, 0xF0000411, 0xFFFFFFFF, 0xFFFCFFFF,
@@ -927,23 +943,19 @@ u_property_unassigned_code_value =
     0x00000000, 0x0000F000, 0x00000000, 0x00000000,
     0xFFF00000, 0x00018000, 0x00010001, 0xFFC00000,
     0x0000E000, 0x00008000, 0x00000000, 0x0000F000,
-    0xF8000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F,
-    0x0000FFF8, 0xF8000000, 0xFFFCFE00, 0xFFFFFFFF,
+    0x00000000, 0xFFFFE000, 0xFFFFFFFF, 0x0000003F,
+    0x0000FFF8, 0xF0000000, 0xFFFCFE00, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x04000000,
-    0x00000000, 0x00000010, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFE0000, 0xFFF0E000,
+    0x00000000, 0x00000000, 0xFFF80000, 0xFF80E000,
     0x00000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0xFFE00000, 0xFFFFFFFF,
     0x0000F000, 0x00000000, 0xFC00FF00, 0x00000000,
     0x0000FF00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFE00FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFE0, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
+    0x8000FFFF, 0x8006FF00, 0x8000F000, 0xFFFFFFFF,
+    0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
diff --git a/gllib/unictype/pr_unified_ideograph.c b/gllib/unictype/pr_unified_ideograph.c
index 0809be8..98d700a 100644
--- a/gllib/unictype/pr_unified_ideograph.c
+++ b/gllib/unictype/pr_unified_ideograph.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_unified_ideograph.h b/gllib/unictype/pr_unified_ideograph.h
index fc4807e..237f207 100644
--- a/gllib/unictype/pr_unified_ideograph.h
+++ b/gllib/unictype/pr_unified_ideograph.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_uppercase.c b/gllib/unictype/pr_uppercase.c
index 8a3b307..5b07fdb 100644
--- a/gllib/unictype/pr_uppercase.c
+++ b/gllib/unictype/pr_uppercase.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_uppercase.h b/gllib/unictype/pr_uppercase.h
index ee58f43..149f556 100644
--- a/gllib/unictype/pr_uppercase.h
+++ b/gllib/unictype/pr_uppercase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[17 << 4];
+    /*unsigned*/ int level3[18 << 4];
   }
 u_property_uppercase =
 {
@@ -265,11 +265,11 @@ u_property_uppercase =
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
        -1,
        -1,
        -1,
@@ -318,13 +318,13 @@ u_property_uppercase =
     0x00000000, 0x00000000, 0x55555555, 0x00001555,
     0x05555555, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x55545554, 0x55555555, 0x6A005555,
-    0x55452855, 0x005F3D55, 0x00000000, 0x00000000,
+    0x55452855, 0x005F7D55, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x000FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -345,6 +345,10 @@ u_property_uppercase =
     0xFFFF0000, 0x000001FF, 0x00000400, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0xFFFF03FF, 0xFFFF03FF,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000
   }
diff --git a/gllib/unictype/pr_variation_selector.c b/gllib/unictype/pr_variation_selector.c
index 94b04d0..7fb33bd 100644
--- a/gllib/unictype/pr_variation_selector.c
+++ b/gllib/unictype/pr_variation_selector.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_variation_selector.h b/gllib/unictype/pr_variation_selector.h
index 2dff816..c038c36 100644
--- a/gllib/unictype/pr_variation_selector.h
+++ b/gllib/unictype/pr_variation_selector.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_white_space.c b/gllib/unictype/pr_white_space.c
index 1ddfa31..996d607 100644
--- a/gllib/unictype/pr_white_space.c
+++ b/gllib/unictype/pr_white_space.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_white_space.h b/gllib/unictype/pr_white_space.h
index 64f2927..7af37ec 100644
--- a/gllib/unictype/pr_white_space.h
+++ b/gllib/unictype/pr_white_space.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
diff --git a/gllib/unictype/pr_xid_continue.c b/gllib/unictype/pr_xid_continue.c
index 986ae42..dfcb9b5 100644
--- a/gllib/unictype/pr_xid_continue.c
+++ b/gllib/unictype/pr_xid_continue.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_xid_continue.h b/gllib/unictype/pr_xid_continue.h
index f593b53..d8f729d 100644
--- a/gllib/unictype/pr_xid_continue.h
+++ b/gllib/unictype/pr_xid_continue.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[4 << 7];
-    /*unsigned*/ int level3[65 << 4];
+    /*unsigned*/ int level3[69 << 4];
   }
 u_property_xid_continue =
 {
@@ -176,11 +176,11 @@ u_property_xid_continue =
        16 +   512 * sizeof (short) / sizeof (int) +   656,
        16 +   512 * sizeof (short) / sizeof (int) +   672,
        16 +   512 * sizeof (short) / sizeof (int) +   688,
-       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   704,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   704,
        16 +   512 * sizeof (short) / sizeof (int) +   720,
+       16 +   512 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
@@ -188,7 +188,7 @@ u_property_xid_continue =
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   736,
+       16 +   512 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -197,7 +197,7 @@ u_property_xid_continue =
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   752,
+       16 +   512 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -215,10 +215,23 @@ u_property_xid_continue =
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   768,
-       -1,
        16 +   512 * sizeof (short) / sizeof (int) +   784,
        -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   800,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   816,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   832,
        -1,
        -1,
        -1,
@@ -237,26 +250,13 @@ u_property_xid_continue =
        -1,
        -1,
        -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   800,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   816,
+       16 +   512 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
        -1,
@@ -266,22 +266,22 @@ u_property_xid_continue =
        -1,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   832,
-       16 +   512 * sizeof (short) / sizeof (int) +   848,
-       16 +   512 * sizeof (short) / sizeof (int) +   864,
        16 +   512 * sizeof (short) / sizeof (int) +   880,
-       -1,
        16 +   512 * sizeof (short) / sizeof (int) +   896,
+       16 +   512 * sizeof (short) / sizeof (int) +   912,
+       16 +   512 * sizeof (short) / sizeof (int) +   928,
        -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   944,
        -1,
        -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   960,
        -1,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   912,
+       16 +   512 * sizeof (short) / sizeof (int) +   976,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   928,
+       16 +   512 * sizeof (short) / sizeof (int) +   992,
        -1,
        -1,
        -1,
@@ -373,7 +373,7 @@ u_property_xid_continue =
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   944,
+       16 +   512 * sizeof (short) / sizeof (int) +  1008,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
@@ -381,8 +381,8 @@ u_property_xid_continue =
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   960,
-       16 +   512 * sizeof (short) / sizeof (int) +   976,
+       16 +   512 * sizeof (short) / sizeof (int) +  1024,
+       16 +   512 * sizeof (short) / sizeof (int) +  1040,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
@@ -393,7 +393,7 @@ u_property_xid_continue =
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   992,
+       16 +   512 * sizeof (short) / sizeof (int) +  1056,
        -1,
        -1,
        -1,
@@ -415,10 +415,10 @@ u_property_xid_continue =
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +  1008,
+       16 +   512 * sizeof (short) / sizeof (int) +  1072,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +  1024,
+       16 +   512 * sizeof (short) / sizeof (int) +  1088,
        -1,
        -1,
        -1,
@@ -565,7 +565,7 @@ u_property_xid_continue =
     0xFFFF0000, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x043FFFFF,
     0xFFFFFFFF, 0x00003FFF, 0x0FFFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0xFFFFFFF8,
+    0x00000000, 0x3FDFFFFF, 0xFFF00000, 0xFFFFFFFB,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFFCF,
     0xFFF99FEF, 0xF3C5FDFF, 0xB080799F, 0x0003FFCF,
     0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0,
@@ -573,8 +573,8 @@ u_property_xid_continue =
     0xFFF99FEE, 0xF3EDFDFF, 0xB0C0399F, 0x0002FFCF,
     0xD63DC7EC, 0xC3FFC718, 0x00813DC7, 0x0000FFC0,
     0xFFFDDFEF, 0xE3FFFDFF, 0x07603DDF, 0x0000FFCF,
-    0xFFFDDFEE, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF,
-    0xFFFDDFEE, 0xE7FFFFFF, 0x80807DDF, 0xFC00FFCF,
+    0xFFFDDFEF, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF,
+    0xFFFDDFEE, 0xE7FFFFFF, 0x80F07DDF, 0xFC00FFCF,
     0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x000CFFC0,
     0xFFFFFFFE, 0x07FFFFFF, 0x03FF7FFF, 0x00000000,
     0xFEF02596, 0x3BFFECAE, 0xF3FF3F5F, 0x00000000,
@@ -605,9 +605,9 @@ u_property_xid_continue =
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0FFF, 0x000FF800,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0x00FFFFFF, 0xFFFFE3FF, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0xFFF70000, 0x037FFFFF,
+    0x000001FF, 0x00000000, 0xFFF70000, 0x037FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF03FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
@@ -643,9 +643,9 @@ u_property_xid_continue =
     0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0xBFF0FFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFF9FF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+    0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000,
     0xFFFFFFFF, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x28FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF003F, 0x28FFFFFF,
     0xFFFFFFFF, 0xFFFF3FFF, 0x000FFFFF, 0x1FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF8001, 0x7FFFFFFF,
     0xFFFFFFFF, 0x007FFFFF, 0x03FF3FFF, 0xFC7FFFFF,
@@ -681,7 +681,7 @@ u_property_xid_continue =
     0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x07FFFFFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0xFFFF03FF, 0xFF0FFFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -704,11 +704,11 @@ u_property_xid_continue =
     0xFFFFFFFF, 0x07FFFFFF, 0xFFFF0000, 0x03FF01FF,
     0xFFFFFFFF, 0xFFDFFFFF, 0xFFFF0000, 0x004FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x17FF1C1F, 0x00000000,
-    0xFFFBFFFF, 0x00FFFFFF, 0x00000000, 0x00000000,
+    0xFFFBFFFF, 0x40FFFFFF, 0x00000000, 0x00000000,
     0xBFFFBD7F, 0xFFFF01FF, 0xFFFFFFFF, 0x03FF07FF,
     0xFFF99FEF, 0xF3EDFDFF, 0xE081399F, 0x001F1FCF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF07FF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF00BF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFF3FFFFF, 0x3F000001, 0x00000000,
@@ -724,6 +724,10 @@ u_property_xid_continue =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0xFF7FFFFF, 0x03FF0001, 0xFFFC0000,
+    0xFFFCFFFF, 0x007FFEFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -747,7 +751,15 @@ u_property_xid_continue =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF,
-    0xFFFF8000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF8000, 0x00000000, 0x00000000, 0x00000001,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -776,9 +788,13 @@ u_property_xid_continue =
     0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007F001F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF07FF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
     0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_xid_start.c b/gllib/unictype/pr_xid_start.c
index 7e43523..6b77496 100644
--- a/gllib/unictype/pr_xid_start.c
+++ b/gllib/unictype/pr_xid_start.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_xid_start.h b/gllib/unictype/pr_xid_start.h
index b6d621d..4c11007 100644
--- a/gllib/unictype/pr_xid_start.h
+++ b/gllib/unictype/pr_xid_start.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[61 << 4];
+    /*unsigned*/ int level3[64 << 4];
   }
 u_property_xid_start =
 {
@@ -164,11 +164,11 @@ u_property_xid_start =
         4 +   384 * sizeof (short) / sizeof (int) +   656,
         4 +   384 * sizeof (short) / sizeof (int) +   672,
         4 +   384 * sizeof (short) / sizeof (int) +   688,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   704,
         4 +   384 * sizeof (short) / sizeof (int) +   720,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
@@ -176,7 +176,7 @@ u_property_xid_start =
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   736,
+        4 +   384 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -185,7 +185,7 @@ u_property_xid_start =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   752,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -203,10 +203,23 @@ u_property_xid_start =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   768,
-       -1,
         4 +   384 * sizeof (short) / sizeof (int) +   784,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   800,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   832,
        -1,
        -1,
        -1,
@@ -225,26 +238,13 @@ u_property_xid_start =
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   800,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
        -1,
@@ -256,8 +256,8 @@ u_property_xid_start =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   832,
-        4 +   384 * sizeof (short) / sizeof (int) +   848,
+        4 +   384 * sizeof (short) / sizeof (int) +   880,
+        4 +   384 * sizeof (short) / sizeof (int) +   896,
        -1,
        -1,
        -1,
@@ -266,10 +266,10 @@ u_property_xid_start =
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   864,
+        4 +   384 * sizeof (short) / sizeof (int) +   912,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   880,
+        4 +   384 * sizeof (short) / sizeof (int) +   928,
        -1,
        -1,
        -1,
@@ -361,7 +361,7 @@ u_property_xid_start =
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   896,
+        4 +   384 * sizeof (short) / sizeof (int) +   944,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
@@ -369,8 +369,8 @@ u_property_xid_start =
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   912,
-        4 +   384 * sizeof (short) / sizeof (int) +   928,
+        4 +   384 * sizeof (short) / sizeof (int) +   960,
+        4 +   384 * sizeof (short) / sizeof (int) +   976,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
@@ -381,7 +381,7 @@ u_property_xid_start =
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   944,
+        4 +   384 * sizeof (short) / sizeof (int) +   992,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@ u_property_xid_start =
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   960,
+        4 +   384 * sizeof (short) / sizeof (int) +  1008,
        -1,
        -1
   },
@@ -425,7 +425,7 @@ u_property_xid_start =
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
     0x043FFFFF, 0x00000110, 0x01FFFFFF, 0x00000000,
-    0x00000000, 0x001FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFE0003,
     0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x00030003,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
@@ -433,8 +433,8 @@ u_property_xid_start =
     0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003,
     0xD63DC7E8, 0x03FFC718, 0x00010000, 0x00000000,
     0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x00000003,
-    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x00060003,
-    0xFFFDDFE0, 0x27FFFFFF, 0x80004000, 0xFC000003,
+    0xFFFDDFE1, 0x23EFFDFF, 0x40000000, 0x00060003,
+    0xFFFDDFE0, 0x27FFFFFF, 0x80704000, 0xFC000003,
     0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
     0xFFFFFFFE, 0x0005FFFF, 0x0000007F, 0x00000000,
     0xFEF02596, 0x2005ECAE, 0xF000005F, 0x00000000,
@@ -465,7 +465,7 @@ u_property_xid_start =
     0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
     0xFFFFFFF8, 0xFC00C001, 0xFFFFFFFF, 0x0000003F,
     0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x0063DE00,
+    0x000001FF, 0x00000000, 0x00000000, 0x0063DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -503,7 +503,7 @@ u_property_xid_start =
     0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFF9FF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+    0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x28FC0000,
     0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
@@ -541,7 +541,7 @@ u_property_xid_start =
     0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x003FFFFF,
     0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF,
     0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -568,7 +568,7 @@ u_property_xid_start =
     0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x00000000,
     0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000780, 0x00000000,
     0xFFFFFFFF, 0x0000FFFF, 0x000000B0, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000,
@@ -584,6 +584,10 @@ u_property_xid_start =
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFDFF, 0x00007FFF, 0x00000001, 0xFFFC0000,
+    0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -607,7 +611,15 @@ u_property_xid_start =
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000,
-    0xFFF80000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF80000, 0x00000000, 0x00000000, 0x00000001,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000003, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -626,7 +638,7 @@ u_property_xid_start =
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
     0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/pr_zero_width.c b/gllib/unictype/pr_zero_width.c
index 69a1dfc..08eb416 100644
--- a/gllib/unictype/pr_zero_width.c
+++ b/gllib/unictype/pr_zero_width.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/pr_zero_width.h b/gllib/unictype/pr_zero_width.h
index 2e6649c..aab1e91 100644
--- a/gllib/unictype/pr_zero_width.h
+++ b/gllib/unictype/pr_zero_width.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@ struct
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[9 << 4];
+    /*unsigned*/ int level3[10 << 4];
   }
 u_property_zero_width =
 {
@@ -38,6 +38,7 @@ u_property_zero_width =
        -1,
        -1,
        16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
        -1,
        -1,
        -1,
@@ -45,12 +46,11 @@ u_property_zero_width =
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
        -1,
        -1,
        -1,
@@ -161,7 +161,7 @@ u_property_zero_width =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -170,7 +170,7 @@ u_property_zero_width =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -256,7 +256,7 @@ u_property_zero_width =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -266,7 +266,7 @@ u_property_zero_width =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@ u_property_zero_width =
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
        -1,
        -1,
        -1,
@@ -428,6 +428,10 @@ u_property_zero_width =
     0x00000000, 0x00000000, 0x20000000, 0x00000000,
     0x00008000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000004,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00004000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
diff --git a/gllib/unictype/scripts.c b/gllib/unictype/scripts.c
index 38bc277..877c938 100644
--- a/gllib/unictype/scripts.c
+++ b/gllib/unictype/scripts.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unictype/scripts.h b/gllib/unictype/scripts.h
index 7d98bd7..85bd699 100644
--- a/gllib/unictype/scripts.h
+++ b/gllib/unictype/scripts.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Unicode scripts.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 static const uc_interval_t script_common_intervals[] =
 {
   { 0x0000, 1, 0 }, { 0x0040, 0, 1 },
@@ -24,6 +24,7 @@ static const uc_interval_t script_common_intervals[] =
   { 0x061F, 1, 1 },
   { 0x0640, 1, 1 },
   { 0x06DD, 1, 1 },
+  { 0x08E2, 1, 1 },
   { 0x0964, 1, 0 }, { 0x0965, 0, 1 },
   { 0x0E3F, 1, 1 },
   { 0x0FD5, 1, 0 }, { 0x0FD8, 0, 1 },
@@ -49,7 +50,7 @@ static const uc_interval_t script_common_intervals[] =
   { 0x2133, 1, 0 }, { 0x214D, 0, 1 },
   { 0x214F, 1, 0 }, { 0x215F, 0, 1 },
   { 0x2189, 1, 0 }, { 0x218B, 0, 1 },
-  { 0x2190, 1, 0 }, { 0x23FA, 0, 1 },
+  { 0x2190, 1, 0 }, { 0x23FE, 0, 1 },
   { 0x2400, 1, 0 }, { 0x2426, 0, 1 },
   { 0x2440, 1, 0 }, { 0x244A, 0, 1 },
   { 0x2460, 1, 0 }, { 0x27FF, 0, 1 },
@@ -59,7 +60,7 @@ static const uc_interval_t script_common_intervals[] =
   { 0x2BBD, 1, 0 }, { 0x2BC8, 0, 1 },
   { 0x2BCA, 1, 0 }, { 0x2BD1, 0, 1 },
   { 0x2BEC, 1, 0 }, { 0x2BEF, 0, 1 },
-  { 0x2E00, 1, 0 }, { 0x2E42, 0, 1 },
+  { 0x2E00, 1, 0 }, { 0x2E44, 0, 1 },
   { 0x2FF0, 1, 0 }, { 0x2FFB, 0, 1 },
   { 0x3000, 1, 0 }, { 0x3004, 0, 1 },
   { 0x3006, 1, 1 },
@@ -141,17 +142,15 @@ static const uc_interval_t script_common_intervals[] =
   { 0x1F100, 1, 0 }, { 0x1F10C, 0, 1 },
   { 0x1F110, 1, 0 }, { 0x1F12E, 0, 1 },
   { 0x1F130, 1, 0 }, { 0x1F16B, 0, 1 },
-  { 0x1F170, 1, 0 }, { 0x1F19A, 0, 1 },
+  { 0x1F170, 1, 0 }, { 0x1F1AC, 0, 1 },
   { 0x1F1E6, 1, 0 }, { 0x1F1FF, 0, 1 },
   { 0x1F201, 1, 0 }, { 0x1F202, 0, 1 },
-  { 0x1F210, 1, 0 }, { 0x1F23A, 0, 1 },
+  { 0x1F210, 1, 0 }, { 0x1F23B, 0, 1 },
   { 0x1F240, 1, 0 }, { 0x1F248, 0, 1 },
   { 0x1F250, 1, 0 }, { 0x1F251, 0, 1 },
-  { 0x1F300, 1, 0 }, { 0x1F579, 0, 1 },
-  { 0x1F57B, 1, 0 }, { 0x1F5A3, 0, 1 },
-  { 0x1F5A5, 1, 0 }, { 0x1F6D0, 0, 1 },
+  { 0x1F300, 1, 0 }, { 0x1F6D2, 0, 1 },
   { 0x1F6E0, 1, 0 }, { 0x1F6EC, 0, 1 },
-  { 0x1F6F0, 1, 0 }, { 0x1F6F3, 0, 1 },
+  { 0x1F6F0, 1, 0 }, { 0x1F6F6, 0, 1 },
   { 0x1F700, 1, 0 }, { 0x1F773, 0, 1 },
   { 0x1F780, 1, 0 }, { 0x1F7D4, 0, 1 },
   { 0x1F800, 1, 0 }, { 0x1F80B, 0, 1 },
@@ -159,8 +158,13 @@ static const uc_interval_t script_common_intervals[] =
   { 0x1F850, 1, 0 }, { 0x1F859, 0, 1 },
   { 0x1F860, 1, 0 }, { 0x1F887, 0, 1 },
   { 0x1F890, 1, 0 }, { 0x1F8AD, 0, 1 },
-  { 0x1F910, 1, 0 }, { 0x1F918, 0, 1 },
-  { 0x1F980, 1, 0 }, { 0x1F984, 0, 1 },
+  { 0x1F910, 1, 0 }, { 0x1F91E, 0, 1 },
+  { 0x1F920, 1, 0 }, { 0x1F927, 0, 1 },
+  { 0x1F930, 1, 1 },
+  { 0x1F933, 1, 0 }, { 0x1F93E, 0, 1 },
+  { 0x1F940, 1, 0 }, { 0x1F94B, 0, 1 },
+  { 0x1F950, 1, 0 }, { 0x1F95E, 0, 1 },
+  { 0x1F980, 1, 0 }, { 0x1F991, 0, 1 },
   { 0x1F9C0, 1, 1 },
   { 0xE0001, 1, 1 },
   { 0xE0020, 1, 0 }, { 0xE007F, 0, 1 }
@@ -190,7 +194,7 @@ static const uc_interval_t script_latin_intervals[] =
   { 0x2160, 1, 0 }, { 0x2188, 0, 1 },
   { 0x2C60, 1, 0 }, { 0x2C7F, 0, 1 },
   { 0xA722, 1, 0 }, { 0xA787, 0, 1 },
-  { 0xA78B, 1, 0 }, { 0xA7AD, 0, 1 },
+  { 0xA78B, 1, 0 }, { 0xA7AE, 0, 1 },
   { 0xA7B0, 1, 0 }, { 0xA7B7, 0, 1 },
   { 0xA7F7, 1, 0 }, { 0xA7FF, 0, 1 },
   { 0xAB30, 1, 0 }, { 0xAB5A, 0, 1 },
@@ -234,7 +238,7 @@ static const uc_interval_t script_greek_intervals[] =
   { 0x1FF6, 1, 0 }, { 0x1FFE, 0, 1 },
   { 0x2126, 1, 1 },
   { 0xAB65, 1, 1 },
-  { 0x10140, 1, 0 }, { 0x1018C, 0, 1 },
+  { 0x10140, 1, 0 }, { 0x1018E, 0, 1 },
   { 0x101A0, 1, 1 },
   { 0x1D200, 1, 0 }, { 0x1D245, 0, 1 }
 };
@@ -242,6 +246,7 @@ static const uc_interval_t script_cyrillic_intervals[] =
 {
   { 0x0400, 1, 0 }, { 0x0484, 0, 1 },
   { 0x0487, 1, 0 }, { 0x052F, 0, 1 },
+  { 0x1C80, 1, 0 }, { 0x1C88, 0, 1 },
   { 0x1D2B, 1, 1 },
   { 0x1D78, 1, 1 },
   { 0x2DE0, 1, 0 }, { 0x2DFF, 0, 1 },
@@ -282,6 +287,8 @@ static const uc_interval_t script_arabic_intervals[] =
   { 0x06DE, 1, 0 }, { 0x06FF, 0, 1 },
   { 0x0750, 1, 0 }, { 0x077F, 0, 1 },
   { 0x08A0, 1, 0 }, { 0x08B4, 0, 1 },
+  { 0x08B6, 1, 0 }, { 0x08BD, 0, 1 },
+  { 0x08D4, 1, 0 }, { 0x08E1, 0, 1 },
   { 0x08E3, 1, 0 }, { 0x08FF, 0, 1 },
   { 0xFB50, 1, 0 }, { 0xFBC1, 0, 1 },
   { 0xFBD3, 1, 0 }, { 0xFD3D, 0, 1 },
@@ -450,7 +457,7 @@ static const uc_interval_t script_telugu_intervals[] =
 };
 static const uc_interval_t script_kannada_intervals[] =
 {
-  { 0x0C81, 1, 0 }, { 0x0C83, 0, 1 },
+  { 0x0C80, 1, 0 }, { 0x0C83, 0, 1 },
   { 0x0C85, 1, 0 }, { 0x0C8C, 0, 1 },
   { 0x0C8E, 1, 0 }, { 0x0C90, 0, 1 },
   { 0x0C92, 1, 0 }, { 0x0CA8, 0, 1 },
@@ -473,11 +480,9 @@ static const uc_interval_t script_malayalam_intervals[] =
   { 0x0D12, 1, 0 }, { 0x0D3A, 0, 1 },
   { 0x0D3D, 1, 0 }, { 0x0D44, 0, 1 },
   { 0x0D46, 1, 0 }, { 0x0D48, 0, 1 },
-  { 0x0D4A, 1, 0 }, { 0x0D4E, 0, 1 },
-  { 0x0D57, 1, 1 },
-  { 0x0D5F, 1, 0 }, { 0x0D63, 0, 1 },
-  { 0x0D66, 1, 0 }, { 0x0D75, 0, 1 },
-  { 0x0D79, 1, 0 }, { 0x0D7F, 0, 1 }
+  { 0x0D4A, 1, 0 }, { 0x0D4F, 0, 1 },
+  { 0x0D54, 1, 0 }, { 0x0D63, 0, 1 },
+  { 0x0D66, 1, 0 }, { 0x0D7F, 0, 1 }
 };
 static const uc_interval_t script_sinhala_intervals[] =
 {
@@ -634,7 +639,8 @@ static const uc_interval_t script_mongolian_intervals[] =
   { 0x1806, 1, 0 }, { 0x180E, 0, 1 },
   { 0x1810, 1, 0 }, { 0x1819, 0, 1 },
   { 0x1820, 1, 0 }, { 0x1877, 0, 1 },
-  { 0x1880, 1, 0 }, { 0x18AA, 0, 1 }
+  { 0x1880, 1, 0 }, { 0x18AA, 0, 1 },
+  { 0x11660, 1, 0 }, { 0x1166C, 0, 1 }
 };
 static const uc_interval_t script_hiragana_intervals[] =
 {
@@ -711,7 +717,7 @@ static const uc_interval_t script_inherited_intervals[] =
   { 0x1CF4, 1, 1 },
   { 0x1CF8, 1, 0 }, { 0x1CF9, 0, 1 },
   { 0x1DC0, 1, 0 }, { 0x1DF5, 0, 1 },
-  { 0x1DFC, 1, 0 }, { 0x1DFF, 0, 1 },
+  { 0x1DFB, 1, 0 }, { 0x1DFF, 0, 1 },
   { 0x200C, 1, 0 }, { 0x200D, 0, 1 },
   { 0x20D0, 1, 0 }, { 0x20F0, 0, 1 },
   { 0x302A, 1, 0 }, { 0x302D, 0, 1 },
@@ -816,7 +822,12 @@ static const uc_interval_t script_new_tai_lue_intervals[] =
 static const uc_interval_t script_glagolitic_intervals[] =
 {
   { 0x2C00, 1, 0 }, { 0x2C2E, 0, 1 },
-  { 0x2C30, 1, 0 }, { 0x2C5E, 0, 1 }
+  { 0x2C30, 1, 0 }, { 0x2C5E, 0, 1 },
+  { 0x1E000, 1, 0 }, { 0x1E006, 0, 1 },
+  { 0x1E008, 1, 0 }, { 0x1E018, 0, 1 },
+  { 0x1E01B, 1, 0 }, { 0x1E021, 0, 1 },
+  { 0x1E023, 1, 0 }, { 0x1E024, 0, 1 },
+  { 0x1E026, 1, 0 }, { 0x1E02A, 0, 1 }
 };
 static const uc_interval_t script_tifinagh_intervals[] =
 {
@@ -890,7 +901,7 @@ static const uc_interval_t script_vai_intervals[] =
 };
 static const uc_interval_t script_saurashtra_intervals[] =
 {
-  { 0xA880, 1, 0 }, { 0xA8C4, 0, 1 },
+  { 0xA880, 1, 0 }, { 0xA8C5, 0, 1 },
   { 0xA8CE, 1, 0 }, { 0xA8D9, 0, 1 }
 };
 static const uc_interval_t script_kayah_li_intervals[] =
@@ -1101,7 +1112,7 @@ static const uc_interval_t script_pahawh_hmong_intervals[] =
 static const uc_interval_t script_khojki_intervals[] =
 {
   { 0x11200, 1, 0 }, { 0x11211, 0, 1 },
-  { 0x11213, 1, 0 }, { 0x1123D, 0, 1 }
+  { 0x11213, 1, 0 }, { 0x1123E, 0, 1 }
 };
 static const uc_interval_t script_linear_a_intervals[] =
 {
@@ -1217,7 +1228,43 @@ static const uc_interval_t script_signwriting_intervals[] =
   { 0x1DA9B, 1, 0 }, { 0x1DA9F, 0, 1 },
   { 0x1DAA1, 1, 0 }, { 0x1DAAF, 0, 1 }
 };
-static const uc_script_t scripts[131] =
+static const uc_interval_t script_adlam_intervals[] =
+{
+  { 0x1E900, 1, 0 }, { 0x1E94A, 0, 1 },
+  { 0x1E950, 1, 0 }, { 0x1E959, 0, 1 },
+  { 0x1E95E, 1, 0 }, { 0x1E95F, 0, 1 }
+};
+static const uc_interval_t script_bhaiksuki_intervals[] =
+{
+  { 0x11C00, 1, 0 }, { 0x11C08, 0, 1 },
+  { 0x11C0A, 1, 0 }, { 0x11C36, 0, 1 },
+  { 0x11C38, 1, 0 }, { 0x11C45, 0, 1 },
+  { 0x11C50, 1, 0 }, { 0x11C6C, 0, 1 }
+};
+static const uc_interval_t script_marchen_intervals[] =
+{
+  { 0x11C70, 1, 0 }, { 0x11C8F, 0, 1 },
+  { 0x11C92, 1, 0 }, { 0x11CA7, 0, 1 },
+  { 0x11CA9, 1, 0 }, { 0x11CB6, 0, 1 }
+};
+static const uc_interval_t script_newa_intervals[] =
+{
+  { 0x11400, 1, 0 }, { 0x11459, 0, 1 },
+  { 0x1145B, 1, 1 },
+  { 0x1145D, 1, 1 }
+};
+static const uc_interval_t script_osage_intervals[] =
+{
+  { 0x104B0, 1, 0 }, { 0x104D3, 0, 1 },
+  { 0x104D8, 1, 0 }, { 0x104FB, 0, 1 }
+};
+static const uc_interval_t script_tangut_intervals[] =
+{
+  { 0x16FE0, 1, 1 },
+  { 0x17000, 1, 0 }, { 0x187EC, 0, 1 },
+  { 0x18800, 1, 0 }, { 0x18AF2, 0, 1 }
+};
+static const uc_script_t scripts[137] =
 {
   {
     sizeof (script_common_intervals) / sizeof (uc_interval_t),
@@ -1873,6 +1920,36 @@ static const uc_script_t scripts[131] =
     sizeof (script_signwriting_intervals) / sizeof (uc_interval_t),
     script_signwriting_intervals,
     "SignWriting"
+  },
+  {
+    sizeof (script_adlam_intervals) / sizeof (uc_interval_t),
+    script_adlam_intervals,
+    "Adlam"
+  },
+  {
+    sizeof (script_bhaiksuki_intervals) / sizeof (uc_interval_t),
+    script_bhaiksuki_intervals,
+    "Bhaiksuki"
+  },
+  {
+    sizeof (script_marchen_intervals) / sizeof (uc_interval_t),
+    script_marchen_intervals,
+    "Marchen"
+  },
+  {
+    sizeof (script_newa_intervals) / sizeof (uc_interval_t),
+    script_newa_intervals,
+    "Newa"
+  },
+  {
+    sizeof (script_osage_intervals) / sizeof (uc_interval_t),
+    script_osage_intervals,
+    "Osage"
+  },
+  {
+    sizeof (script_tangut_intervals) / sizeof (uc_interval_t),
+    script_tangut_intervals,
+    "Tangut"
   }
 };
 #define script_header_0 16
@@ -1885,7 +1962,7 @@ struct
   {
     int level1[15];
     short level2[4 << 9];
-    unsigned char level3[202 << 7];
+    unsigned char level3[208 << 7];
   }
 u_script =
 {
@@ -1963,29 +2040,20 @@ u_script =
     15488, 15616, 15744, 15872, 16000, 16128, 16256, 16384,
     16512, 16640,    -1,    -1, 16768,    -1,    -1,    -1,
     16896, 17024, 17152, 17280, 17408, 17536, 17664,    -1,
-       -1, 17792,    -1, 17920, 18048, 18176, 18304,    -1,
-       -1, 18432,    -1,    -1,    -1, 18560,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    18688, 18688, 18688, 18688, 18688, 18688, 18688, 18816,
-    18944, 18688, 19072,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    19200, 19200, 19200, 19200, 19200, 19200, 19200, 19200,
-    19328,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    19456, 19456, 19456, 19456, 19584,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    17792, 17920,    -1, 18048, 18176, 18304, 18432,    -1,
+       -1, 18560,    -1,    -1,    -1, 18688,    -1,    -1,
+    18816, 18944,    -1,    -1,    -1,    -1,    -1,    -1,
+    19072, 19072, 19072, 19072, 19072, 19072, 19072, 19200,
+    19328, 19072, 19456,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    19584, 19584, 19584, 19584, 19584, 19584, 19584, 19584,
+    19712,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    19840, 19840, 19840, 19840, 19968,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    19712, 19712, 19712, 19712, 19840, 19968, 20096, 20224,
-       -1,    -1,    -1,    -1,    -1,    -1, 20352, 20480,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -1993,6 +2061,15 @@ u_script =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    20096, 20096, 20096, 20096, 20224, 20352, 20480, 20608,
+       -1,    -1,    -1,    -1,    -1,    -1, 20736, 20864,
+    20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992,
+    20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992,
+    20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992,
+    20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992,
+    20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992,
+    20992, 20992, 20992, 20992, 20992, 20992, 20992, 21120,
+    20992, 20992, 20992, 20992, 20992, 21248,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -2002,25 +2079,25 @@ u_script =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    20608,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    21376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    20736, 20864,    -1,    -1,    -1,    -1,    -1,    -1,
+    21504, 21632,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     7552, 20992, 21120, 21248, 21376,    -1, 21504,    -1,
-    21632, 21760, 21888,  7552,  7552, 22016,  7552, 22144,
-    22272, 22272, 22272, 22272, 22272, 22400,    -1,    -1,
+     7552, 21760, 21888, 22016, 22144,    -1, 22272,    -1,
+    22400, 22528, 22656,  7552,  7552, 22784,  7552, 22912,
+    23040, 23040, 23040, 23040, 23040, 23168,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    23296,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    22528, 22656,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1, 22784, 22912,    -1,    -1,
-    23040, 23168, 23296, 23424, 23552,    -1,  7552,  7552,
-     7552,  7552, 23680, 23808,  7552, 23936, 24064, 24192,
-    24320, 24448, 24576, 24704,    -1,    -1,    -1,    -1,
+    23424, 23552, 23680,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1, 23808, 23936,    -1,    -1,
+    24064, 24192, 24320, 24448, 24576,    -1,  7552,  7552,
+     7552,  7552,  7552,  7552,  7552, 24704, 24832, 24960,
+    25088, 25216, 25344, 25472,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
@@ -2063,17 +2140,17 @@ u_script =
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088, 24832,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088, 25600,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088, 24960,  9088,
-    25088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088, 25728,  9088,
+    25856,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
      9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088, 25216,    -1,    -1,
+     9088,  9088,  9088,  9088,  9088, 25984,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -2084,9 +2161,9 @@ u_script =
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     9088,  9088,  9088,  9088, 25344,    -1,    -1,    -1,
+     9088,  9088,  9088,  9088, 26112,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    25472,    -1, 25600, 25728,    -1,    -1,    -1,    -1,
+    26240,    -1, 26368, 26496,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -2398,13 +2475,13 @@ u_script =
     255, 255, 255, 255, 255, 255, 255, 255,
       6,   6,   6,   6,   6,   6,   6,   6,
       6,   6,   6,   6,   6,   6,   6,   6,
-      6,   6,   6,   6,   6, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      6,   6,   6,   6,   6, 255,   6,   6,
+      6,   6,   6,   6,   6,   6, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255,   6,   6,   6,   6,   6,
+    255, 255, 255, 255,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   0,   6,   6,   6,   6,   6,
       6,   6,   6,   6,   6,   6,   6,   6,
       6,   6,   6,   6,   6,   6,   6,   6,
       6,   6,   6,   6,   6,   6,   6,   6,
@@ -2520,7 +2597,7 @@ u_script =
      15,  15,  15,  15,  15,  15,  15,  15,
     255, 255, 255, 255, 255, 255, 255, 255,
      15,  15,  15,  15,  15,  15,  15,  15,
-    255,  16,  16,  16, 255,  16,  16,  16,
+     16,  16,  16,  16, 255,  16,  16,  16,
      16,  16,  16,  16,  16, 255,  16,  16,
      16, 255,  16,  16,  16,  16,  16,  16,
      16,  16,  16,  16,  16,  16,  16,  16,
@@ -2545,13 +2622,13 @@ u_script =
      17,  17,  17,  17,  17,  17,  17,  17,
      17,  17,  17, 255, 255,  17,  17,  17,
      17,  17,  17,  17,  17, 255,  17,  17,
-     17, 255,  17,  17,  17,  17,  17, 255,
-    255, 255, 255, 255, 255, 255, 255,  17,
-    255, 255, 255, 255, 255, 255, 255,  17,
+     17, 255,  17,  17,  17,  17,  17,  17,
+    255, 255, 255, 255,  17,  17,  17,  17,
+     17,  17,  17,  17,  17,  17,  17,  17,
      17,  17,  17,  17, 255, 255,  17,  17,
      17,  17,  17,  17,  17,  17,  17,  17,
-     17,  17,  17,  17,  17,  17, 255, 255,
-    255,  17,  17,  17,  17,  17,  17,  17,
+     17,  17,  17,  17,  17,  17,  17,  17,
+     17,  17,  17,  17,  17,  17,  17,  17,
     255, 255,  18,  18, 255,  18,  18,  18,
      18,  18,  18,  18,  18,  18,  18,  18,
      18,  18,  18,  18,  18,  18,  18, 255,
@@ -2952,8 +3029,8 @@ u_script =
      68,  68,  68,  68,  68,  68,  68,  68,
      68,  68,  68,  68,  68,  68,  68,  68,
      68,  68,  68,  68,  68,  68,  68,  68,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -2999,7 +3076,7 @@ u_script =
      40,  40,  40,  40,  40,  40,  40,  40,
      40,  40,  40,  40,  40,  40,  40,  40,
      40,  40,  40,  40,  40,  40, 255, 255,
-    255, 255, 255, 255,  40,  40,  40,  40,
+    255, 255, 255,  40,  40,  40,  40,  40,
       2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2, 255, 255,
@@ -3127,7 +3204,7 @@ u_script =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -3264,7 +3341,7 @@ u_script =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -3565,7 +3642,7 @@ u_script =
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
-      1,   1,   1,   1,   1,   1, 255, 255,
+      1,   1,   1,   1,   1,   1,   1, 255,
       1,   1,   1,   1,   1,   1,   1,   1,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -3600,7 +3677,7 @@ u_script =
      70,  70,  70,  70,  70,  70,  70,  70,
      70,  70,  70,  70,  70,  70,  70,  70,
      70,  70,  70,  70,  70,  70,  70,  70,
-     70,  70,  70,  70,  70, 255, 255, 255,
+     70,  70,  70,  70,  70,  70, 255, 255,
     255, 255, 255, 255, 255, 255,  70,  70,
      70,  70,  70,  70,  70,  70,  70,  70,
      70,  70, 255, 255, 255, 255, 255, 255,
@@ -3945,7 +4022,7 @@ u_script =
       2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2, 255, 255, 255,
+      2,   2,   2,   2,   2,   2,   2, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0, 255, 255, 255, 255,
       2, 255, 255, 255, 255, 255, 255, 255,
@@ -4030,16 +4107,16 @@ u_script =
      50,  50,  50,  50,  50,  50, 255, 255,
      50,  50,  50,  50,  50,  50,  50,  50,
      50,  50, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+    135, 135, 135, 135, 135, 135, 135, 135,
+    135, 135, 135, 135, 135, 135, 135, 135,
+    135, 135, 135, 135, 135, 135, 135, 135,
+    135, 135, 135, 135, 135, 135, 135, 135,
+    135, 135, 135, 135, 255, 255, 255, 255,
+    135, 135, 135, 135, 135, 135, 135, 135,
+    135, 135, 135, 135, 135, 135, 135, 135,
+    135, 135, 135, 135, 135, 135, 135, 135,
+    135, 135, 135, 135, 135, 135, 135, 135,
+    135, 135, 135, 135, 255, 255, 255, 255,
     105, 105, 105, 105, 105, 105, 105, 105,
     105, 105, 105, 105, 105, 105, 105, 105,
     105, 105, 105, 105, 105, 105, 105, 105,
@@ -4335,7 +4412,7 @@ u_script =
     108, 108, 108, 108, 108, 108, 108, 108,
     108, 108, 108, 108, 108, 108, 108, 108,
     108, 108, 108, 108, 108, 108, 108, 108,
-    108, 108, 108, 108, 108, 108, 255, 255,
+    108, 108, 108, 108, 108, 108, 108, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -4376,6 +4453,22 @@ u_script =
     106, 106, 106, 106, 106, 255, 255, 255,
     106, 106, 106, 106, 106, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 134, 134, 134, 134, 134, 134,
+    134, 134, 255, 134, 255, 134, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
     123, 123, 123, 123, 123, 123, 123, 123,
     123, 123, 123, 123, 123, 123, 123, 123,
     123, 123, 123, 123, 123, 123, 123, 123,
@@ -4420,8 +4513,8 @@ u_script =
     255, 255, 255, 255, 255, 255, 255, 255,
     113, 113, 113, 113, 113, 113, 113, 113,
     113, 113, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     101, 101, 101, 101, 101, 101, 101, 101,
@@ -4488,6 +4581,38 @@ u_script =
     118, 118, 118, 118, 118, 118, 118, 118,
     118, 118, 118, 118, 118, 118, 118, 118,
     118, 255, 255, 255, 255, 255, 255, 255,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 255, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 132, 132, 255,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 132, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 132, 132, 132,
+    132, 132, 132, 132, 132, 255, 255, 255,
+    133, 133, 133, 133, 133, 133, 133, 133,
+    133, 133, 133, 133, 133, 133, 133, 133,
+    133, 133, 133, 133, 133, 133, 133, 133,
+    133, 133, 133, 133, 133, 133, 133, 133,
+    255, 255, 133, 133, 133, 133, 133, 133,
+    133, 133, 133, 133, 133, 133, 133, 133,
+    133, 133, 133, 133, 133, 133, 133, 133,
+    255, 133, 133, 133, 133, 133, 133, 133,
+    133, 133, 133, 133, 133, 133, 133, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
      62,  62,  62,  62,  62,  62,  62,  62,
      62,  62,  62,  62,  62,  62,  62,  62,
      62,  62,  62,  62,  62,  62,  62,  62,
@@ -4724,9 +4849,57 @@ u_script =
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+    136, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
      33,  32, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -4968,6 +5141,22 @@ u_script =
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
+     56,  56,  56,  56,  56,  56,  56, 255,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56, 255, 255,  56,  56,  56,  56,  56,
+     56,  56, 255,  56,  56, 255,  56,  56,
+     56,  56,  56, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
     112, 112, 112, 112, 112, 112, 112, 112,
     112, 112, 112, 112, 112, 112, 112, 112,
     112, 112, 112, 112, 112, 112, 112, 112,
@@ -5000,6 +5189,22 @@ u_script =
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 131, 255, 255, 255, 255, 255,
+    131, 131, 131, 131, 131, 131, 131, 131,
+    131, 131, 255, 255, 255, 255, 131, 131,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
       6,   6,   6,   6, 255,   6,   6,   6,
       6,   6,   6,   6,   6,   6,   6,   6,
       6,   6,   6,   6,   6,   6,   6,   6,
@@ -5083,9 +5288,9 @@ u_script =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -5103,7 +5308,7 @@ u_script =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0, 255, 255, 255, 255, 255,
+      0,   0,   0,   0, 255, 255, 255, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
       0, 255, 255, 255, 255, 255, 255, 255,
       0,   0, 255, 255, 255, 255, 255, 255,
@@ -5122,43 +5327,11 @@ u_script =
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0, 255,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0, 255,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0, 255, 255, 255,
-      0,   0,   0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -5227,22 +5400,22 @@ u_script =
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
     255, 255, 255, 255, 255, 255, 255, 255,
+      0, 255, 255,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
-      0,   0,   0,   0,   0, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
diff --git a/gllib/unictype/scripts_byname.gperf b/gllib/unictype/scripts_byname.gperf
index 721764d..befa93c 100644
--- a/gllib/unictype/scripts_byname.gperf
+++ b/gllib/unictype/scripts_byname.gperf
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Unicode scripts.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 struct named_script { int name; unsigned int index; };
 %struct-type
 %language=ANSI-C
@@ -143,3 +143,9 @@ Hatran, 127
 Multani, 128
 Old_Hungarian, 129
 SignWriting, 130
+Adlam, 131
+Bhaiksuki, 132
+Marchen, 133
+Newa, 134
+Osage, 135
+Tangut, 136
diff --git a/gllib/uniname.in.h b/gllib/uniname.in.h
index 7edf9fa..cfffad0 100644
--- a/gllib/uniname.in.h
+++ b/gllib/uniname.in.h
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNINAME_H
 #define _UNINAME_H
diff --git a/gllib/uniname/gen-uninames.lisp b/gllib/uniname/gen-uninames.lisp
index 9f79562..937b50e 100755
--- a/gllib/uniname/gen-uninames.lisp
+++ b/gllib/uniname/gen-uninames.lisp
@@ -196,7 +196,7 @@
         ) ) )
         (format ostream "};~%")
         |#
-        (format ostream "static const struct { uint16_t extra_offset; uint16_t ind_offset; } 
unicode_name_by_length[~D] = {~%"
+        (format ostream "static const struct { uint32_t extra_offset; uint16_t ind_offset; } 
unicode_name_by_length[~D] = {~%"
                         (1+ (length words-by-length))
         )
         (let ((extra-offset 0)
diff --git a/gllib/uniname/uniname.c b/gllib/uniname/uniname.c
index 5da6ced..5a9862e 100644
--- a/gllib/uniname/uniname.c
+++ b/gllib/uniname/uniname.c
@@ -1,5 +1,5 @@
 /* Association between Unicode characters and their names.
-   Copyright (C) 2000-2002, 2005-2007, 2009-2016 Free Software Foundation, Inc.
+   Copyright (C) 2000-2002, 2005-2007, 2009-2017 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
@@ -12,7 +12,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -406,218 +406,220 @@ unicode_name_character (const char *name)
                   }
               }
           }
-          /* Convert the constituents to uint16_t words.  */
-          uint16_t words[UNICODE_CHARNAME_MAX_WORDS];
-          uint16_t *wordptr = words;
           {
-            const char *p1 = buf;
-            for (;;)
-              {
+            /* Convert the constituents to uint16_t words.  */
+            uint16_t words[UNICODE_CHARNAME_MAX_WORDS];
+            uint16_t *wordptr = words;
+            {
+              const char *p1 = buf;
+              for (;;)
                 {
-                  int word;
-                  const char *p2 = p1;
-                  while (p2 < ptr && *p2 != ' ')
-                    p2++;
-                  word = unicode_name_word_lookup (p1, p2 - p1);
-                  if (word < 0)
-                    break;
-                  if (wordptr == &words[UNICODE_CHARNAME_MAX_WORDS])
-                    break;
-                  *wordptr++ = word;
-                  if (p2 == ptr)
-                    goto filled_words;
-                  p1 = p2 + 1;
-                }
-                /* Special case for Hangul syllables. Keeps the tables small. */
-                if (wordptr == &words[2]
-                    && words[0] == UNICODE_CHARNAME_WORD_HANGUL
-                    && words[1] == UNICODE_CHARNAME_WORD_SYLLABLE)
                   {
-                    /* Split the last word [p1..ptr) into three parts:
-                         1) [BCDGHJKMNPRST]
-                         2) [AEIOUWY]
-                         3) [BCDGHIJKLMNPST]
-                     */
-                    const char *p2;
-                    const char *p3;
-                    const char *p4;
-
-                    p2 = p1;
-                    while (p2 < ptr
-                           && (*p2 == 'B' || *p2 == 'C' || *p2 == 'D'
-                               || *p2 == 'G' || *p2 == 'H' || *p2 == 'J'
-                               || *p2 == 'K' || *p2 == 'M' || *p2 == 'N'
-                               || *p2 == 'P' || *p2 == 'R' || *p2 == 'S'
-                               || *p2 == 'T'))
+                    int word;
+                    const char *p2 = p1;
+                    while (p2 < ptr && *p2 != ' ')
                       p2++;
-                    p3 = p2;
-                    while (p3 < ptr
-                           && (*p3 == 'A' || *p3 == 'E' || *p3 == 'I'
-                               || *p3 == 'O' || *p3 == 'U' || *p3 == 'W'
-                               || *p3 == 'Y'))
-                      p3++;
-                    p4 = p3;
-                    while (p4 < ptr
-                           && (*p4 == 'B' || *p4 == 'C' || *p4 == 'D'
-                               || *p4 == 'G' || *p4 == 'H' || *p4 == 'I'
-                               || *p4 == 'J' || *p4 == 'K' || *p4 == 'L'
-                               || *p4 == 'M' || *p4 == 'N' || *p4 == 'P'
-                               || *p4 == 'S' || *p4 == 'T'))
-                      p4++;
-                    if (p4 == ptr)
-                      {
-                        unsigned int n1 = p2 - p1;
-                        unsigned int n2 = p3 - p2;
-                        unsigned int n3 = p4 - p3;
-
-                        if (n1 <= 2 && (n2 >= 1 && n2 <= 3) && n3 <= 2)
-                          {
-                            unsigned int index1;
-
-                            for (index1 = 0; index1 < 19; index1++)
-                              if (memcmp (jamo_initial_short_name[index1], p1, n1) == 0
-                                  && jamo_initial_short_name[index1][n1] == '\0')
+                    word = unicode_name_word_lookup (p1, p2 - p1);
+                    if (word < 0)
+                      break;
+                    if (wordptr == &words[UNICODE_CHARNAME_MAX_WORDS])
+                      break;
+                    *wordptr++ = word;
+                    if (p2 == ptr)
+                      goto filled_words;
+                    p1 = p2 + 1;
+                  }
+                  /* Special case for Hangul syllables. Keeps the tables small. */
+                  if (wordptr == &words[2]
+                      && words[0] == UNICODE_CHARNAME_WORD_HANGUL
+                      && words[1] == UNICODE_CHARNAME_WORD_SYLLABLE)
+                    {
+                      /* Split the last word [p1..ptr) into three parts:
+                           1) [BCDGHJKMNPRST]
+                           2) [AEIOUWY]
+                           3) [BCDGHIJKLMNPST]
+                       */
+                      const char *p2;
+                      const char *p3;
+                      const char *p4;
+
+                      p2 = p1;
+                      while (p2 < ptr
+                             && (*p2 == 'B' || *p2 == 'C' || *p2 == 'D'
+                                 || *p2 == 'G' || *p2 == 'H' || *p2 == 'J'
+                                 || *p2 == 'K' || *p2 == 'M' || *p2 == 'N'
+                                 || *p2 == 'P' || *p2 == 'R' || *p2 == 'S'
+                                 || *p2 == 'T'))
+                        p2++;
+                      p3 = p2;
+                      while (p3 < ptr
+                             && (*p3 == 'A' || *p3 == 'E' || *p3 == 'I'
+                                 || *p3 == 'O' || *p3 == 'U' || *p3 == 'W'
+                                 || *p3 == 'Y'))
+                        p3++;
+                      p4 = p3;
+                      while (p4 < ptr
+                             && (*p4 == 'B' || *p4 == 'C' || *p4 == 'D'
+                                 || *p4 == 'G' || *p4 == 'H' || *p4 == 'I'
+                                 || *p4 == 'J' || *p4 == 'K' || *p4 == 'L'
+                                 || *p4 == 'M' || *p4 == 'N' || *p4 == 'P'
+                                 || *p4 == 'S' || *p4 == 'T'))
+                        p4++;
+                      if (p4 == ptr)
+                        {
+                          unsigned int n1 = p2 - p1;
+                          unsigned int n2 = p3 - p2;
+                          unsigned int n3 = p4 - p3;
+
+                          if (n1 <= 2 && (n2 >= 1 && n2 <= 3) && n3 <= 2)
+                            {
+                              unsigned int index1;
+
+                              for (index1 = 0; index1 < 19; index1++)
+                                if (memcmp (jamo_initial_short_name[index1], p1, n1) == 0
+                                    && jamo_initial_short_name[index1][n1] == '\0')
+                                  {
+                                    unsigned int index2;
+
+                                    for (index2 = 0; index2 < 21; index2++)
+                                      if (memcmp (jamo_medial_short_name[index2], p2, n2) == 0
+                                          && jamo_medial_short_name[index2][n2] == '\0')
+                                        {
+                                          unsigned int index3;
+
+                                          for (index3 = 0; index3 < 28; index3++)
+                                            if (memcmp (jamo_final_short_name[index3], p3, n3) == 0
+                                                && jamo_final_short_name[index3][n3] == '\0')
+                                              {
+                                                return 0xAC00 + (index1 * 21 + index2) * 28 + index3;
+                                              }
+                                          break;
+                                        }
+                                    break;
+                                  }
+                            }
+                        }
+                    }
+                  /* Special case for CJK compatibility ideographs. Keeps the
+                     tables small.  */
+                  if (wordptr == &words[2]
+                      && words[0] == UNICODE_CHARNAME_WORD_CJK
+                      && words[1] == UNICODE_CHARNAME_WORD_COMPATIBILITY
+                      && p1 + 14 <= ptr
+                      && p1 + 15 >= ptr
+                      && memcmp (p1, "IDEOGRAPH-", 10) == 0)
+                    {
+                      const char *p2 = p1 + 10;
+
+                      if (*p2 != '0')
+                        {
+                          unsigned int c = 0;
+
+                          for (;;)
+                            {
+                              if (*p2 >= '0' && *p2 <= '9')
+                                c += (*p2 - '0');
+                              else if (*p2 >= 'A' && *p2 <= 'F')
+                                c += (*p2 - 'A' + 10);
+                              else
+                                break;
+                              p2++;
+                              if (p2 == ptr)
                                 {
-                                  unsigned int index2;
-
-                                  for (index2 = 0; index2 < 21; index2++)
-                                    if (memcmp (jamo_medial_short_name[index2], p2, n2) == 0
-                                        && jamo_medial_short_name[index2][n2] == '\0')
-                                      {
-                                        unsigned int index3;
-
-                                        for (index3 = 0; index3 < 28; index3++)
-                                          if (memcmp (jamo_final_short_name[index3], p3, n3) == 0
-                                              && jamo_final_short_name[index3][n3] == '\0')
-                                            {
-                                              return 0xAC00 + (index1 * 21 + index2) * 28 + index3;
-                                            }
-                                        break;
-                                      }
-                                  break;
+                                  if ((c >= 0xF900 && c <= 0xFA2D)
+                                      || (c >= 0xFA30 && c <= 0xFA6A)
+                                      || (c >= 0xFA70 && c <= 0xFAD9)
+                                      || (c >= 0x2F800 && c <= 0x2FA1D))
+                                    return c;
+                                  else
+                                    break;
                                 }
-                          }
-                      }
-                  }
-                /* Special case for CJK compatibility ideographs. Keeps the
-                   tables small.  */
-                if (wordptr == &words[2]
-                    && words[0] == UNICODE_CHARNAME_WORD_CJK
-                    && words[1] == UNICODE_CHARNAME_WORD_COMPATIBILITY
-                    && p1 + 14 <= ptr
-                    && p1 + 15 >= ptr
-                    && memcmp (p1, "IDEOGRAPH-", 10) == 0)
-                  {
-                    const char *p2 = p1 + 10;
-
-                    if (*p2 != '0')
-                      {
-                        unsigned int c = 0;
-
-                        for (;;)
-                          {
-                            if (*p2 >= '0' && *p2 <= '9')
-                              c += (*p2 - '0');
-                            else if (*p2 >= 'A' && *p2 <= 'F')
-                              c += (*p2 - 'A' + 10);
-                            else
+                              c = c << 4;
+                            }
+                        }
+                    }
+                  /* Special case for variation selectors. Keeps the
+                     tables small.  */
+                  if (wordptr == &words[1]
+                      && words[0] == UNICODE_CHARNAME_WORD_VARIATION
+                      && p1 + 10 <= ptr
+                      && p1 + 12 >= ptr
+                      && memcmp (p1, "SELECTOR-", 9) == 0)
+                    {
+                      const char *p2 = p1 + 9;
+
+                      if (*p2 != '0')
+                        {
+                          unsigned int c = 0;
+
+                          for (;;)
+                            {
+                              if (*p2 >= '0' && *p2 <= '9')
+                                c += (*p2 - '0');
+                              p2++;
+                              if (p2 == ptr)
+                                {
+                                  if (c >= 1 && c <= 16)
+                                    return c - 1 + 0xFE00;
+                                  else if (c >= 17 && c <= 256)
+                                    return c - 17 + 0xE0100;
+                                  else
+                                    break;
+                                }
+                              c = c * 10;
+                            }
+                        }
+                    }
+                }
+            }
+            if (false)
+            filled_words:
+              {
+                /* Multiply by 2, to simplify later comparisons.  */
+                unsigned int words_length = wordptr - words;
+                {
+                  int i = words_length - 1;
+                  words[i] = 2 * words[i];
+                  for (; --i >= 0; )
+                    words[i] = 2 * words[i] + 1;
+                }
+                /* Binary search in unicode_name_to_index.  */
+                {
+                  unsigned int i1 = 0;
+                  unsigned int i2 = SIZEOF (unicode_name_to_index);
+                  for (;;)
+                    {
+                      unsigned int i = (i1 + i2) >> 1;
+                      const uint16_t *w = words;
+                      const uint16_t *p = &unicode_names[unicode_name_to_index[i].name];
+                      unsigned int n = words_length;
+                      for (;;)
+                        {
+                          if (*p < *w)
+                            {
+                              if (i1 == i)
+                                goto name_not_found;
+                              /* Note here: i1 < i < i2.  */
+                              i1 = i;
                               break;
-                            p2++;
-                            if (p2 == ptr)
-                              {
-                                if ((c >= 0xF900 && c <= 0xFA2D)
-                                    || (c >= 0xFA30 && c <= 0xFA6A)
-                                    || (c >= 0xFA70 && c <= 0xFAD9)
-                                    || (c >= 0x2F800 && c <= 0x2FA1D))
-                                  return c;
-                                else
-                                  break;
-                              }
-                            c = c << 4;
-                          }
-                      }
-                  }
-                /* Special case for variation selectors. Keeps the
-                   tables small.  */
-                if (wordptr == &words[1]
-                    && words[0] == UNICODE_CHARNAME_WORD_VARIATION
-                    && p1 + 10 <= ptr
-                    && p1 + 12 >= ptr
-                    && memcmp (p1, "SELECTOR-", 9) == 0)
-                  {
-                    const char *p2 = p1 + 9;
-
-                    if (*p2 != '0')
-                      {
-                        unsigned int c = 0;
-
-                        for (;;)
-                          {
-                            if (*p2 >= '0' && *p2 <= '9')
-                              c += (*p2 - '0');
-                            p2++;
-                            if (p2 == ptr)
-                              {
-                                if (c >= 1 && c <= 16)
-                                  return c - 1 + 0xFE00;
-                                else if (c >= 17 && c <= 256)
-                                  return c - 17 + 0xE0100;
-                                else
-                                  break;
-                              }
-                            c = c * 10;
-                          }
-                      }
-                  }
+                            }
+                          else if (*p > *w)
+                            {
+                              if (i2 == i)
+                                goto name_not_found;
+                              /* Note here: i1 <= i < i2.  */
+                              i2 = i;
+                              break;
+                            }
+                          p++; w++; n--;
+                          if (n == 0)
+                            return unicode_index_to_code (unicode_name_to_index[i].index);
+                        }
+                    }
+                }
+              name_not_found: ;
               }
           }
-          if (false)
-          filled_words:
-            {
-              /* Multiply by 2, to simplify later comparisons.  */
-              unsigned int words_length = wordptr - words;
-              {
-                int i = words_length - 1;
-                words[i] = 2 * words[i];
-                for (; --i >= 0; )
-                  words[i] = 2 * words[i] + 1;
-              }
-              /* Binary search in unicode_name_to_index.  */
-              {
-                unsigned int i1 = 0;
-                unsigned int i2 = SIZEOF (unicode_name_to_index);
-                for (;;)
-                  {
-                    unsigned int i = (i1 + i2) >> 1;
-                    const uint16_t *w = words;
-                    const uint16_t *p = &unicode_names[unicode_name_to_index[i].name];
-                    unsigned int n = words_length;
-                    for (;;)
-                      {
-                        if (*p < *w)
-                          {
-                            if (i1 == i)
-                              goto name_not_found;
-                            /* Note here: i1 < i < i2.  */
-                            i1 = i;
-                            break;
-                          }
-                        else if (*p > *w)
-                          {
-                            if (i2 == i)
-                              goto name_not_found;
-                            /* Note here: i1 <= i < i2.  */
-                            i2 = i;
-                            break;
-                          }
-                        p++; w++; n--;
-                        if (n == 0)
-                          return unicode_index_to_code (unicode_name_to_index[i].index);
-                      }
-                  }
-              }
-            name_not_found: ;
-            }
         }
     }
   return UNINAME_INVALID;
diff --git a/gllib/uninorm.in.h b/gllib/uninorm.in.h
index 46f14a6..1e0f3dd 100644
--- a/gllib/uninorm.in.h
+++ b/gllib/uninorm.in.h
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNINORM_H
 #define _UNINORM_H
diff --git a/gllib/uninorm/canonical-decomposition.c b/gllib/uninorm/canonical-decomposition.c
index dfeea71..99aa91c 100644
--- a/gllib/uninorm/canonical-decomposition.c
+++ b/gllib/uninorm/canonical-decomposition.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/uninorm/decomposition-table.c b/gllib/uninorm/decomposition-table.c
index 977dade..9196c26 100644
--- a/gllib/uninorm/decomposition-table.c
+++ b/gllib/uninorm/decomposition-table.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/uninorm/decomposition-table.h b/gllib/uninorm/decomposition-table.h
index 450ff47..3adc6ad 100644
--- a/gllib/uninorm/decomposition-table.h
+++ b/gllib/uninorm/decomposition-table.h
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 
 #include "unitypes.h"
diff --git a/gllib/uninorm/decomposition-table1.h b/gllib/uninorm/decomposition-table1.h
index c3a691a..5fb5ff2 100644
--- a/gllib/uninorm/decomposition-table1.h
+++ b/gllib/uninorm/decomposition-table1.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decomposition of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 
 extern const unsigned char gl_uninorm_decomp_chars_table[];
 
diff --git a/gllib/uninorm/decomposition-table2.h b/gllib/uninorm/decomposition-table2.h
index 1be5674..539819b 100644
--- a/gllib/uninorm/decomposition-table2.h
+++ b/gllib/uninorm/decomposition-table2.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decomposition of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0.  */
 
 const unsigned char gl_uninorm_decomp_chars_table[] =
 {
@@ -1992,149 +1992,150 @@ const unsigned char gl_uninorm_decomp_chars_table[] =
   0x38, 0x53, 0xF3, 0x38, 0x63, 0x07, 0x38, 0x8D, 0x70, 0x38, 0x62, 0x53,
   0x38, 0x79, 0x81, 0x38, 0x7A, 0x7A, 0x38, 0x54, 0x08, 0x38, 0x6E, 0x80,
   0x38, 0x67, 0x09, 0x38, 0x67, 0x08, 0x38, 0x75, 0x33, 0x38, 0x52, 0x72,
-  0x38, 0x55, 0xB6, 0xC0, 0x30, 0x14, 0x80, 0x67, 0x2C, 0x00, 0x30, 0x15,
-  0xC0, 0x30, 0x14, 0x80, 0x4E, 0x09, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14,
-  0x80, 0x4E, 0x8C, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x5B, 0x89,
-  0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x70, 0xB9, 0x00, 0x30, 0x15,
-  0xC0, 0x30, 0x14, 0x80, 0x62, 0x53, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14,
-  0x80, 0x76, 0xD7, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x52, 0xDD,
-  0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x65, 0x57, 0x00, 0x30, 0x15,
-  0x1C, 0x5F, 0x97, 0x1C, 0x53, 0xEF, 0x00, 0x4E, 0x3D, 0x00, 0x4E, 0x38,
-  0x00, 0x4E, 0x41, 0x02, 0x01, 0x22, 0x00, 0x4F, 0x60, 0x00, 0x4F, 0xAE,
-  0x00, 0x4F, 0xBB, 0x00, 0x50, 0x02, 0x00, 0x50, 0x7A, 0x00, 0x50, 0x99,
-  0x00, 0x50, 0xE7, 0x00, 0x50, 0xCF, 0x00, 0x34, 0x9E, 0x02, 0x06, 0x3A,
-  0x00, 0x51, 0x4D, 0x00, 0x51, 0x54, 0x00, 0x51, 0x64, 0x00, 0x51, 0x77,
-  0x02, 0x05, 0x1C, 0x00, 0x34, 0xB9, 0x00, 0x51, 0x67, 0x00, 0x51, 0x8D,
-  0x02, 0x05, 0x4B, 0x00, 0x51, 0x97, 0x00, 0x51, 0xA4, 0x00, 0x4E, 0xCC,
-  0x00, 0x51, 0xAC, 0x00, 0x51, 0xB5, 0x02, 0x91, 0xDF, 0x00, 0x51, 0xF5,
-  0x00, 0x52, 0x03, 0x00, 0x34, 0xDF, 0x00, 0x52, 0x3B, 0x00, 0x52, 0x46,
-  0x00, 0x52, 0x72, 0x00, 0x52, 0x77, 0x00, 0x35, 0x15, 0x00, 0x52, 0xC7,
-  0x00, 0x52, 0xC9, 0x00, 0x52, 0xE4, 0x00, 0x52, 0xFA, 0x00, 0x53, 0x05,
-  0x00, 0x53, 0x06, 0x00, 0x53, 0x17, 0x00, 0x53, 0x49, 0x00, 0x53, 0x51,
-  0x00, 0x53, 0x5A, 0x00, 0x53, 0x73, 0x00, 0x53, 0x7D, 0x00, 0x53, 0x7F,
-  0x00, 0x53, 0x7F, 0x00, 0x53, 0x7F, 0x02, 0x0A, 0x2C, 0x00, 0x70, 0x70,
-  0x00, 0x53, 0xCA, 0x00, 0x53, 0xDF, 0x02, 0x0B, 0x63, 0x00, 0x53, 0xEB,
-  0x00, 0x53, 0xF1, 0x00, 0x54, 0x06, 0x00, 0x54, 0x9E, 0x00, 0x54, 0x38,
-  0x00, 0x54, 0x48, 0x00, 0x54, 0x68, 0x00, 0x54, 0xA2, 0x00, 0x54, 0xF6,
-  0x00, 0x55, 0x10, 0x00, 0x55, 0x53, 0x00, 0x55, 0x63, 0x00, 0x55, 0x84,
-  0x00, 0x55, 0x84, 0x00, 0x55, 0x99, 0x00, 0x55, 0xAB, 0x00, 0x55, 0xB3,
-  0x00, 0x55, 0xC2, 0x00, 0x57, 0x16, 0x00, 0x56, 0x06, 0x00, 0x57, 0x17,
-  0x00, 0x56, 0x51, 0x00, 0x56, 0x74, 0x00, 0x52, 0x07, 0x00, 0x58, 0xEE,
-  0x00, 0x57, 0xCE, 0x00, 0x57, 0xF4, 0x00, 0x58, 0x0D, 0x00, 0x57, 0x8B,
-  0x00, 0x58, 0x32, 0x00, 0x58, 0x31, 0x00, 0x58, 0xAC, 0x02, 0x14, 0xE4,
-  0x00, 0x58, 0xF2, 0x00, 0x58, 0xF7, 0x00, 0x59, 0x06, 0x00, 0x59, 0x1A,
-  0x00, 0x59, 0x22, 0x00, 0x59, 0x62, 0x02, 0x16, 0xA8, 0x02, 0x16, 0xEA,
-  0x00, 0x59, 0xEC, 0x00, 0x5A, 0x1B, 0x00, 0x5A, 0x27, 0x00, 0x59, 0xD8,
-  0x00, 0x5A, 0x66, 0x00, 0x36, 0xEE, 0x00, 0x36, 0xFC, 0x00, 0x5B, 0x08,
-  0x00, 0x5B, 0x3E, 0x00, 0x5B, 0x3E, 0x02, 0x19, 0xC8, 0x00, 0x5B, 0xC3,
-  0x00, 0x5B, 0xD8, 0x00, 0x5B, 0xE7, 0x00, 0x5B, 0xF3, 0x02, 0x1B, 0x18,
-  0x00, 0x5B, 0xFF, 0x00, 0x5C, 0x06, 0x00, 0x5F, 0x53, 0x00, 0x5C, 0x22,
-  0x00, 0x37, 0x81, 0x00, 0x5C, 0x60, 0x00, 0x5C, 0x6E, 0x00, 0x5C, 0xC0,
-  0x00, 0x5C, 0x8D, 0x02, 0x1D, 0xE4, 0x00, 0x5D, 0x43, 0x02, 0x1D, 0xE6,
-  0x00, 0x5D, 0x6E, 0x00, 0x5D, 0x6B, 0x00, 0x5D, 0x7C, 0x00, 0x5D, 0xE1,
-  0x00, 0x5D, 0xE2, 0x00, 0x38, 0x2F, 0x00, 0x5D, 0xFD, 0x00, 0x5E, 0x28,
-  0x00, 0x5E, 0x3D, 0x00, 0x5E, 0x69, 0x00, 0x38, 0x62, 0x02, 0x21, 0x83,
-  0x00, 0x38, 0x7C, 0x00, 0x5E, 0xB0, 0x00, 0x5E, 0xB3, 0x00, 0x5E, 0xB6,
-  0x00, 0x5E, 0xCA, 0x02, 0xA3, 0x92, 0x00, 0x5E, 0xFE, 0x02, 0x23, 0x31,
-  0x02, 0x23, 0x31, 0x00, 0x82, 0x01, 0x00, 0x5F, 0x22, 0x00, 0x5F, 0x22,
-  0x00, 0x38, 0xC7, 0x02, 0x32, 0xB8, 0x02, 0x61, 0xDA, 0x00, 0x5F, 0x62,
-  0x00, 0x5F, 0x6B, 0x00, 0x38, 0xE3, 0x00, 0x5F, 0x9A, 0x00, 0x5F, 0xCD,
-  0x00, 0x5F, 0xD7, 0x00, 0x5F, 0xF9, 0x00, 0x60, 0x81, 0x00, 0x39, 0x3A,
-  0x00, 0x39, 0x1C, 0x00, 0x60, 0x94, 0x02, 0x26, 0xD4, 0x00, 0x60, 0xC7,
-  0x00, 0x61, 0x48, 0x00, 0x61, 0x4C, 0x00, 0x61, 0x4E, 0x00, 0x61, 0x4C,
-  0x00, 0x61, 0x7A, 0x00, 0x61, 0x8E, 0x00, 0x61, 0xB2, 0x00, 0x61, 0xA4,
-  0x00, 0x61, 0xAF, 0x00, 0x61, 0xDE, 0x00, 0x61, 0xF2, 0x00, 0x61, 0xF6,
-  0x00, 0x62, 0x10, 0x00, 0x62, 0x1B, 0x00, 0x62, 0x5D, 0x00, 0x62, 0xB1,
-  0x00, 0x62, 0xD4, 0x00, 0x63, 0x50, 0x02, 0x2B, 0x0C, 0x00, 0x63, 0x3D,
-  0x00, 0x62, 0xFC, 0x00, 0x63, 0x68, 0x00, 0x63, 0x83, 0x00, 0x63, 0xE4,
-  0x02, 0x2B, 0xF1, 0x00, 0x64, 0x22, 0x00, 0x63, 0xC5, 0x00, 0x63, 0xA9,
-  0x00, 0x3A, 0x2E, 0x00, 0x64, 0x69, 0x00, 0x64, 0x7E, 0x00, 0x64, 0x9D,
-  0x00, 0x64, 0x77, 0x00, 0x3A, 0x6C, 0x00, 0x65, 0x4F, 0x00, 0x65, 0x6C,
-  0x02, 0x30, 0x0A, 0x00, 0x65, 0xE3, 0x00, 0x66, 0xF8, 0x00, 0x66, 0x49,
-  0x00, 0x3B, 0x19, 0x00, 0x66, 0x91, 0x00, 0x3B, 0x08, 0x00, 0x3A, 0xE4,
-  0x00, 0x51, 0x92, 0x00, 0x51, 0x95, 0x00, 0x67, 0x00, 0x00, 0x66, 0x9C,
-  0x00, 0x80, 0xAD, 0x00, 0x43, 0xD9, 0x00, 0x67, 0x17, 0x00, 0x67, 0x1B,
-  0x00, 0x67, 0x21, 0x00, 0x67, 0x5E, 0x00, 0x67, 0x53, 0x02, 0x33, 0xC3,
-  0x00, 0x3B, 0x49, 0x00, 0x67, 0xFA, 0x00, 0x67, 0x85, 0x00, 0x68, 0x52,
-  0x00, 0x68, 0x85, 0x02, 0x34, 0x6D, 0x00, 0x68, 0x8E, 0x00, 0x68, 0x1F,
-  0x00, 0x69, 0x14, 0x00, 0x3B, 0x9D, 0x00, 0x69, 0x42, 0x00, 0x69, 0xA3,
-  0x00, 0x69, 0xEA, 0x00, 0x6A, 0xA8, 0x02, 0x36, 0xA3, 0x00, 0x6A, 0xDB,
-  0x00, 0x3C, 0x18, 0x00, 0x6B, 0x21, 0x02, 0x38, 0xA7, 0x00, 0x6B, 0x54,
-  0x00, 0x3C, 0x4E, 0x00, 0x6B, 0x72, 0x00, 0x6B, 0x9F, 0x00, 0x6B, 0xBA,
-  0x00, 0x6B, 0xBB, 0x02, 0x3A, 0x8D, 0x02, 0x1D, 0x0B, 0x02, 0x3A, 0xFA,
-  0x00, 0x6C, 0x4E, 0x02, 0x3C, 0xBC, 0x00, 0x6C, 0xBF, 0x00, 0x6C, 0xCD,
-  0x00, 0x6C, 0x67, 0x00, 0x6D, 0x16, 0x00, 0x6D, 0x3E, 0x00, 0x6D, 0x77,
-  0x00, 0x6D, 0x41, 0x00, 0x6D, 0x69, 0x00, 0x6D, 0x78, 0x00, 0x6D, 0x85,
-  0x02, 0x3D, 0x1E, 0x00, 0x6D, 0x34, 0x00, 0x6E, 0x2F, 0x00, 0x6E, 0x6E,
-  0x00, 0x3D, 0x33, 0x00, 0x6E, 0xCB, 0x00, 0x6E, 0xC7, 0x02, 0x3E, 0xD1,
-  0x00, 0x6D, 0xF9, 0x00, 0x6F, 0x6E, 0x02, 0x3F, 0x5E, 0x02, 0x3F, 0x8E,
-  0x00, 0x6F, 0xC6, 0x00, 0x70, 0x39, 0x00, 0x70, 0x1E, 0x00, 0x70, 0x1B,
-  0x00, 0x3D, 0x96, 0x00, 0x70, 0x4A, 0x00, 0x70, 0x7D, 0x00, 0x70, 0x77,
-  0x00, 0x70, 0xAD, 0x02, 0x05, 0x25, 0x00, 0x71, 0x45, 0x02, 0x42, 0x63,
-  0x00, 0x71, 0x9C, 0x02, 0x43, 0xAB, 0x00, 0x72, 0x28, 0x00, 0x72, 0x35,
-  0x00, 0x72, 0x50, 0x02, 0x46, 0x08, 0x00, 0x72, 0x80, 0x00, 0x72, 0x95,
-  0x02, 0x47, 0x35, 0x02, 0x48, 0x14, 0x00, 0x73, 0x7A, 0x00, 0x73, 0x8B,
-  0x00, 0x3E, 0xAC, 0x00, 0x73, 0xA5, 0x00, 0x3E, 0xB8, 0x00, 0x3E, 0xB8,
-  0x00, 0x74, 0x47, 0x00, 0x74, 0x5C, 0x00, 0x74, 0x71, 0x00, 0x74, 0x85,
-  0x00, 0x74, 0xCA, 0x00, 0x3F, 0x1B, 0x00, 0x75, 0x24, 0x02, 0x4C, 0x36,
-  0x00, 0x75, 0x3E, 0x02, 0x4C, 0x92, 0x00, 0x75, 0x70, 0x02, 0x21, 0x9F,
-  0x00, 0x76, 0x10, 0x02, 0x4F, 0xA1, 0x02, 0x4F, 0xB8, 0x02, 0x50, 0x44,
-  0x00, 0x3F, 0xFC, 0x00, 0x40, 0x08, 0x00, 0x76, 0xF4, 0x02, 0x50, 0xF3,
-  0x02, 0x50, 0xF2, 0x02, 0x51, 0x19, 0x02, 0x51, 0x33, 0x00, 0x77, 0x1E,
-  0x00, 0x77, 0x1F, 0x00, 0x77, 0x1F, 0x00, 0x77, 0x4A, 0x00, 0x40, 0x39,
-  0x00, 0x77, 0x8B, 0x00, 0x40, 0x46, 0x00, 0x40, 0x96, 0x02, 0x54, 0x1D,
-  0x00, 0x78, 0x4E, 0x00, 0x78, 0x8C, 0x00, 0x78, 0xCC, 0x00, 0x40, 0xE3,
-  0x02, 0x56, 0x26, 0x00, 0x79, 0x56, 0x02, 0x56, 0x9A, 0x02, 0x56, 0xC5,
-  0x00, 0x79, 0x8F, 0x00, 0x79, 0xEB, 0x00, 0x41, 0x2F, 0x00, 0x7A, 0x40,
-  0x00, 0x7A, 0x4A, 0x00, 0x7A, 0x4F, 0x02, 0x59, 0x7C, 0x02, 0x5A, 0xA7,
-  0x02, 0x5A, 0xA7, 0x00, 0x7A, 0xEE, 0x00, 0x42, 0x02, 0x02, 0x5B, 0xAB,
-  0x00, 0x7B, 0xC6, 0x00, 0x7B, 0xC9, 0x00, 0x42, 0x27, 0x02, 0x5C, 0x80,
-  0x00, 0x7C, 0xD2, 0x00, 0x42, 0xA0, 0x00, 0x7C, 0xE8, 0x00, 0x7C, 0xE3,
-  0x00, 0x7D, 0x00, 0x02, 0x5F, 0x86, 0x00, 0x7D, 0x63, 0x00, 0x43, 0x01,
-  0x00, 0x7D, 0xC7, 0x00, 0x7E, 0x02, 0x00, 0x7E, 0x45, 0x00, 0x43, 0x34,
-  0x02, 0x62, 0x28, 0x02, 0x62, 0x47, 0x00, 0x43, 0x59, 0x02, 0x62, 0xD9,
-  0x00, 0x7F, 0x7A, 0x02, 0x63, 0x3E, 0x00, 0x7F, 0x95, 0x00, 0x7F, 0xFA,
-  0x00, 0x80, 0x05, 0x02, 0x64, 0xDA, 0x02, 0x65, 0x23, 0x00, 0x80, 0x60,
-  0x02, 0x65, 0xA8, 0x00, 0x80, 0x70, 0x02, 0x33, 0x5F, 0x00, 0x43, 0xD5,
-  0x00, 0x80, 0xB2, 0x00, 0x81, 0x03, 0x00, 0x44, 0x0B, 0x00, 0x81, 0x3E,
-  0x00, 0x5A, 0xB5, 0x02, 0x67, 0xA7, 0x02, 0x67, 0xB5, 0x02, 0x33, 0x93,
-  0x02, 0x33, 0x9C, 0x00, 0x82, 0x01, 0x00, 0x82, 0x04, 0x00, 0x8F, 0x9E,
-  0x00, 0x44, 0x6B, 0x00, 0x82, 0x91, 0x00, 0x82, 0x8B, 0x00, 0x82, 0x9D,
-  0x00, 0x52, 0xB3, 0x00, 0x82, 0xB1, 0x00, 0x82, 0xB3, 0x00, 0x82, 0xBD,
-  0x00, 0x82, 0xE6, 0x02, 0x6B, 0x3C, 0x00, 0x82, 0xE5, 0x00, 0x83, 0x1D,
-  0x00, 0x83, 0x63, 0x00, 0x83, 0xAD, 0x00, 0x83, 0x23, 0x00, 0x83, 0xBD,
-  0x00, 0x83, 0xE7, 0x00, 0x84, 0x57, 0x00, 0x83, 0x53, 0x00, 0x83, 0xCA,
-  0x00, 0x83, 0xCC, 0x00, 0x83, 0xDC, 0x02, 0x6C, 0x36, 0x02, 0x6D, 0x6B,
-  0x02, 0x6C, 0xD5, 0x00, 0x45, 0x2B, 0x00, 0x84, 0xF1, 0x00, 0x84, 0xF3,
-  0x00, 0x85, 0x16, 0x02, 0x73, 0xCA, 0x00, 0x85, 0x64, 0x02, 0x6F, 0x2C,
-  0x00, 0x45, 0x5D, 0x00, 0x45, 0x61, 0x02, 0x6F, 0xB1, 0x02, 0x70, 0xD2,
-  0x00, 0x45, 0x6B, 0x00, 0x86, 0x50, 0x00, 0x86, 0x5C, 0x00, 0x86, 0x67,
-  0x00, 0x86, 0x69, 0x00, 0x86, 0xA9, 0x00, 0x86, 0x88, 0x00, 0x87, 0x0E,
-  0x00, 0x86, 0xE2, 0x00, 0x87, 0x79, 0x00, 0x87, 0x28, 0x00, 0x87, 0x6B,
-  0x00, 0x87, 0x86, 0x00, 0x45, 0xD7, 0x00, 0x87, 0xE1, 0x00, 0x88, 0x01,
-  0x00, 0x45, 0xF9, 0x00, 0x88, 0x60, 0x00, 0x88, 0x63, 0x02, 0x76, 0x67,
-  0x00, 0x88, 0xD7, 0x00, 0x88, 0xDE, 0x00, 0x46, 0x35, 0x00, 0x88, 0xFA,
-  0x00, 0x34, 0xBB, 0x02, 0x78, 0xAE, 0x02, 0x79, 0x66, 0x00, 0x46, 0xBE,
-  0x00, 0x46, 0xC7, 0x00, 0x8A, 0xA0, 0x00, 0x8A, 0xED, 0x00, 0x8B, 0x8A,
-  0x00, 0x8C, 0x55, 0x02, 0x7C, 0xA8, 0x00, 0x8C, 0xAB, 0x00, 0x8C, 0xC1,
-  0x00, 0x8D, 0x1B, 0x00, 0x8D, 0x77, 0x02, 0x7F, 0x2F, 0x02, 0x08, 0x04,
-  0x00, 0x8D, 0xCB, 0x00, 0x8D, 0xBC, 0x00, 0x8D, 0xF0, 0x02, 0x08, 0xDE,
-  0x00, 0x8E, 0xD4, 0x00, 0x8F, 0x38, 0x02, 0x85, 0xD2, 0x02, 0x85, 0xED,
-  0x00, 0x90, 0x94, 0x00, 0x90, 0xF1, 0x00, 0x91, 0x11, 0x02, 0x87, 0x2E,
-  0x00, 0x91, 0x1B, 0x00, 0x92, 0x38, 0x00, 0x92, 0xD7, 0x00, 0x92, 0xD8,
-  0x00, 0x92, 0x7C, 0x00, 0x93, 0xF9, 0x00, 0x94, 0x15, 0x02, 0x8B, 0xFA,
-  0x00, 0x95, 0x8B, 0x00, 0x49, 0x95, 0x00, 0x95, 0xB7, 0x02, 0x8D, 0x77,
-  0x00, 0x49, 0xE6, 0x00, 0x96, 0xC3, 0x00, 0x5D, 0xB2, 0x00, 0x97, 0x23,
-  0x02, 0x91, 0x45, 0x02, 0x92, 0x1A, 0x00, 0x4A, 0x6E, 0x00, 0x4A, 0x76,
-  0x00, 0x97, 0xE0, 0x02, 0x94, 0x0A, 0x00, 0x4A, 0xB2, 0x02, 0x94, 0x96,
-  0x00, 0x98, 0x0B, 0x00, 0x98, 0x0B, 0x00, 0x98, 0x29, 0x02, 0x95, 0xB6,
-  0x00, 0x98, 0xE2, 0x00, 0x4B, 0x33, 0x00, 0x99, 0x29, 0x00, 0x99, 0xA7,
-  0x00, 0x99, 0xC2, 0x00, 0x99, 0xFE, 0x00, 0x4B, 0xCE, 0x02, 0x9B, 0x30,
-  0x00, 0x9B, 0x12, 0x00, 0x9C, 0x40, 0x00, 0x9C, 0xFD, 0x00, 0x4C, 0xCE,
-  0x00, 0x4C, 0xED, 0x00, 0x9D, 0x67, 0x02, 0xA0, 0xCE, 0x00, 0x4C, 0xF8,
-  0x02, 0xA1, 0x05, 0x02, 0xA2, 0x0E, 0x02, 0xA2, 0x91, 0x00, 0x9E, 0xBB,
-  0x00, 0x4D, 0x56, 0x00, 0x9E, 0xF9, 0x00, 0x9E, 0xFE, 0x00, 0x9F, 0x05,
-  0x00, 0x9F, 0x0F, 0x00, 0x9F, 0x16, 0x00, 0x9F, 0x3B, 0x02, 0xA6, 0x00
+  0x38, 0x55, 0xB6, 0x38, 0x91, 0x4D, 0xC0, 0x30, 0x14, 0x80, 0x67, 0x2C,
+  0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x4E, 0x09, 0x00, 0x30, 0x15,
+  0xC0, 0x30, 0x14, 0x80, 0x4E, 0x8C, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14,
+  0x80, 0x5B, 0x89, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x70, 0xB9,
+  0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x62, 0x53, 0x00, 0x30, 0x15,
+  0xC0, 0x30, 0x14, 0x80, 0x76, 0xD7, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14,
+  0x80, 0x52, 0xDD, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x65, 0x57,
+  0x00, 0x30, 0x15, 0x1C, 0x5F, 0x97, 0x1C, 0x53, 0xEF, 0x00, 0x4E, 0x3D,
+  0x00, 0x4E, 0x38, 0x00, 0x4E, 0x41, 0x02, 0x01, 0x22, 0x00, 0x4F, 0x60,
+  0x00, 0x4F, 0xAE, 0x00, 0x4F, 0xBB, 0x00, 0x50, 0x02, 0x00, 0x50, 0x7A,
+  0x00, 0x50, 0x99, 0x00, 0x50, 0xE7, 0x00, 0x50, 0xCF, 0x00, 0x34, 0x9E,
+  0x02, 0x06, 0x3A, 0x00, 0x51, 0x4D, 0x00, 0x51, 0x54, 0x00, 0x51, 0x64,
+  0x00, 0x51, 0x77, 0x02, 0x05, 0x1C, 0x00, 0x34, 0xB9, 0x00, 0x51, 0x67,
+  0x00, 0x51, 0x8D, 0x02, 0x05, 0x4B, 0x00, 0x51, 0x97, 0x00, 0x51, 0xA4,
+  0x00, 0x4E, 0xCC, 0x00, 0x51, 0xAC, 0x00, 0x51, 0xB5, 0x02, 0x91, 0xDF,
+  0x00, 0x51, 0xF5, 0x00, 0x52, 0x03, 0x00, 0x34, 0xDF, 0x00, 0x52, 0x3B,
+  0x00, 0x52, 0x46, 0x00, 0x52, 0x72, 0x00, 0x52, 0x77, 0x00, 0x35, 0x15,
+  0x00, 0x52, 0xC7, 0x00, 0x52, 0xC9, 0x00, 0x52, 0xE4, 0x00, 0x52, 0xFA,
+  0x00, 0x53, 0x05, 0x00, 0x53, 0x06, 0x00, 0x53, 0x17, 0x00, 0x53, 0x49,
+  0x00, 0x53, 0x51, 0x00, 0x53, 0x5A, 0x00, 0x53, 0x73, 0x00, 0x53, 0x7D,
+  0x00, 0x53, 0x7F, 0x00, 0x53, 0x7F, 0x00, 0x53, 0x7F, 0x02, 0x0A, 0x2C,
+  0x00, 0x70, 0x70, 0x00, 0x53, 0xCA, 0x00, 0x53, 0xDF, 0x02, 0x0B, 0x63,
+  0x00, 0x53, 0xEB, 0x00, 0x53, 0xF1, 0x00, 0x54, 0x06, 0x00, 0x54, 0x9E,
+  0x00, 0x54, 0x38, 0x00, 0x54, 0x48, 0x00, 0x54, 0x68, 0x00, 0x54, 0xA2,
+  0x00, 0x54, 0xF6, 0x00, 0x55, 0x10, 0x00, 0x55, 0x53, 0x00, 0x55, 0x63,
+  0x00, 0x55, 0x84, 0x00, 0x55, 0x84, 0x00, 0x55, 0x99, 0x00, 0x55, 0xAB,
+  0x00, 0x55, 0xB3, 0x00, 0x55, 0xC2, 0x00, 0x57, 0x16, 0x00, 0x56, 0x06,
+  0x00, 0x57, 0x17, 0x00, 0x56, 0x51, 0x00, 0x56, 0x74, 0x00, 0x52, 0x07,
+  0x00, 0x58, 0xEE, 0x00, 0x57, 0xCE, 0x00, 0x57, 0xF4, 0x00, 0x58, 0x0D,
+  0x00, 0x57, 0x8B, 0x00, 0x58, 0x32, 0x00, 0x58, 0x31, 0x00, 0x58, 0xAC,
+  0x02, 0x14, 0xE4, 0x00, 0x58, 0xF2, 0x00, 0x58, 0xF7, 0x00, 0x59, 0x06,
+  0x00, 0x59, 0x1A, 0x00, 0x59, 0x22, 0x00, 0x59, 0x62, 0x02, 0x16, 0xA8,
+  0x02, 0x16, 0xEA, 0x00, 0x59, 0xEC, 0x00, 0x5A, 0x1B, 0x00, 0x5A, 0x27,
+  0x00, 0x59, 0xD8, 0x00, 0x5A, 0x66, 0x00, 0x36, 0xEE, 0x00, 0x36, 0xFC,
+  0x00, 0x5B, 0x08, 0x00, 0x5B, 0x3E, 0x00, 0x5B, 0x3E, 0x02, 0x19, 0xC8,
+  0x00, 0x5B, 0xC3, 0x00, 0x5B, 0xD8, 0x00, 0x5B, 0xE7, 0x00, 0x5B, 0xF3,
+  0x02, 0x1B, 0x18, 0x00, 0x5B, 0xFF, 0x00, 0x5C, 0x06, 0x00, 0x5F, 0x53,
+  0x00, 0x5C, 0x22, 0x00, 0x37, 0x81, 0x00, 0x5C, 0x60, 0x00, 0x5C, 0x6E,
+  0x00, 0x5C, 0xC0, 0x00, 0x5C, 0x8D, 0x02, 0x1D, 0xE4, 0x00, 0x5D, 0x43,
+  0x02, 0x1D, 0xE6, 0x00, 0x5D, 0x6E, 0x00, 0x5D, 0x6B, 0x00, 0x5D, 0x7C,
+  0x00, 0x5D, 0xE1, 0x00, 0x5D, 0xE2, 0x00, 0x38, 0x2F, 0x00, 0x5D, 0xFD,
+  0x00, 0x5E, 0x28, 0x00, 0x5E, 0x3D, 0x00, 0x5E, 0x69, 0x00, 0x38, 0x62,
+  0x02, 0x21, 0x83, 0x00, 0x38, 0x7C, 0x00, 0x5E, 0xB0, 0x00, 0x5E, 0xB3,
+  0x00, 0x5E, 0xB6, 0x00, 0x5E, 0xCA, 0x02, 0xA3, 0x92, 0x00, 0x5E, 0xFE,
+  0x02, 0x23, 0x31, 0x02, 0x23, 0x31, 0x00, 0x82, 0x01, 0x00, 0x5F, 0x22,
+  0x00, 0x5F, 0x22, 0x00, 0x38, 0xC7, 0x02, 0x32, 0xB8, 0x02, 0x61, 0xDA,
+  0x00, 0x5F, 0x62, 0x00, 0x5F, 0x6B, 0x00, 0x38, 0xE3, 0x00, 0x5F, 0x9A,
+  0x00, 0x5F, 0xCD, 0x00, 0x5F, 0xD7, 0x00, 0x5F, 0xF9, 0x00, 0x60, 0x81,
+  0x00, 0x39, 0x3A, 0x00, 0x39, 0x1C, 0x00, 0x60, 0x94, 0x02, 0x26, 0xD4,
+  0x00, 0x60, 0xC7, 0x00, 0x61, 0x48, 0x00, 0x61, 0x4C, 0x00, 0x61, 0x4E,
+  0x00, 0x61, 0x4C, 0x00, 0x61, 0x7A, 0x00, 0x61, 0x8E, 0x00, 0x61, 0xB2,
+  0x00, 0x61, 0xA4, 0x00, 0x61, 0xAF, 0x00, 0x61, 0xDE, 0x00, 0x61, 0xF2,
+  0x00, 0x61, 0xF6, 0x00, 0x62, 0x10, 0x00, 0x62, 0x1B, 0x00, 0x62, 0x5D,
+  0x00, 0x62, 0xB1, 0x00, 0x62, 0xD4, 0x00, 0x63, 0x50, 0x02, 0x2B, 0x0C,
+  0x00, 0x63, 0x3D, 0x00, 0x62, 0xFC, 0x00, 0x63, 0x68, 0x00, 0x63, 0x83,
+  0x00, 0x63, 0xE4, 0x02, 0x2B, 0xF1, 0x00, 0x64, 0x22, 0x00, 0x63, 0xC5,
+  0x00, 0x63, 0xA9, 0x00, 0x3A, 0x2E, 0x00, 0x64, 0x69, 0x00, 0x64, 0x7E,
+  0x00, 0x64, 0x9D, 0x00, 0x64, 0x77, 0x00, 0x3A, 0x6C, 0x00, 0x65, 0x4F,
+  0x00, 0x65, 0x6C, 0x02, 0x30, 0x0A, 0x00, 0x65, 0xE3, 0x00, 0x66, 0xF8,
+  0x00, 0x66, 0x49, 0x00, 0x3B, 0x19, 0x00, 0x66, 0x91, 0x00, 0x3B, 0x08,
+  0x00, 0x3A, 0xE4, 0x00, 0x51, 0x92, 0x00, 0x51, 0x95, 0x00, 0x67, 0x00,
+  0x00, 0x66, 0x9C, 0x00, 0x80, 0xAD, 0x00, 0x43, 0xD9, 0x00, 0x67, 0x17,
+  0x00, 0x67, 0x1B, 0x00, 0x67, 0x21, 0x00, 0x67, 0x5E, 0x00, 0x67, 0x53,
+  0x02, 0x33, 0xC3, 0x00, 0x3B, 0x49, 0x00, 0x67, 0xFA, 0x00, 0x67, 0x85,
+  0x00, 0x68, 0x52, 0x00, 0x68, 0x85, 0x02, 0x34, 0x6D, 0x00, 0x68, 0x8E,
+  0x00, 0x68, 0x1F, 0x00, 0x69, 0x14, 0x00, 0x3B, 0x9D, 0x00, 0x69, 0x42,
+  0x00, 0x69, 0xA3, 0x00, 0x69, 0xEA, 0x00, 0x6A, 0xA8, 0x02, 0x36, 0xA3,
+  0x00, 0x6A, 0xDB, 0x00, 0x3C, 0x18, 0x00, 0x6B, 0x21, 0x02, 0x38, 0xA7,
+  0x00, 0x6B, 0x54, 0x00, 0x3C, 0x4E, 0x00, 0x6B, 0x72, 0x00, 0x6B, 0x9F,
+  0x00, 0x6B, 0xBA, 0x00, 0x6B, 0xBB, 0x02, 0x3A, 0x8D, 0x02, 0x1D, 0x0B,
+  0x02, 0x3A, 0xFA, 0x00, 0x6C, 0x4E, 0x02, 0x3C, 0xBC, 0x00, 0x6C, 0xBF,
+  0x00, 0x6C, 0xCD, 0x00, 0x6C, 0x67, 0x00, 0x6D, 0x16, 0x00, 0x6D, 0x3E,
+  0x00, 0x6D, 0x77, 0x00, 0x6D, 0x41, 0x00, 0x6D, 0x69, 0x00, 0x6D, 0x78,
+  0x00, 0x6D, 0x85, 0x02, 0x3D, 0x1E, 0x00, 0x6D, 0x34, 0x00, 0x6E, 0x2F,
+  0x00, 0x6E, 0x6E, 0x00, 0x3D, 0x33, 0x00, 0x6E, 0xCB, 0x00, 0x6E, 0xC7,
+  0x02, 0x3E, 0xD1, 0x00, 0x6D, 0xF9, 0x00, 0x6F, 0x6E, 0x02, 0x3F, 0x5E,
+  0x02, 0x3F, 0x8E, 0x00, 0x6F, 0xC6, 0x00, 0x70, 0x39, 0x00, 0x70, 0x1E,
+  0x00, 0x70, 0x1B, 0x00, 0x3D, 0x96, 0x00, 0x70, 0x4A, 0x00, 0x70, 0x7D,
+  0x00, 0x70, 0x77, 0x00, 0x70, 0xAD, 0x02, 0x05, 0x25, 0x00, 0x71, 0x45,
+  0x02, 0x42, 0x63, 0x00, 0x71, 0x9C, 0x02, 0x43, 0xAB, 0x00, 0x72, 0x28,
+  0x00, 0x72, 0x35, 0x00, 0x72, 0x50, 0x02, 0x46, 0x08, 0x00, 0x72, 0x80,
+  0x00, 0x72, 0x95, 0x02, 0x47, 0x35, 0x02, 0x48, 0x14, 0x00, 0x73, 0x7A,
+  0x00, 0x73, 0x8B, 0x00, 0x3E, 0xAC, 0x00, 0x73, 0xA5, 0x00, 0x3E, 0xB8,
+  0x00, 0x3E, 0xB8, 0x00, 0x74, 0x47, 0x00, 0x74, 0x5C, 0x00, 0x74, 0x71,
+  0x00, 0x74, 0x85, 0x00, 0x74, 0xCA, 0x00, 0x3F, 0x1B, 0x00, 0x75, 0x24,
+  0x02, 0x4C, 0x36, 0x00, 0x75, 0x3E, 0x02, 0x4C, 0x92, 0x00, 0x75, 0x70,
+  0x02, 0x21, 0x9F, 0x00, 0x76, 0x10, 0x02, 0x4F, 0xA1, 0x02, 0x4F, 0xB8,
+  0x02, 0x50, 0x44, 0x00, 0x3F, 0xFC, 0x00, 0x40, 0x08, 0x00, 0x76, 0xF4,
+  0x02, 0x50, 0xF3, 0x02, 0x50, 0xF2, 0x02, 0x51, 0x19, 0x02, 0x51, 0x33,
+  0x00, 0x77, 0x1E, 0x00, 0x77, 0x1F, 0x00, 0x77, 0x1F, 0x00, 0x77, 0x4A,
+  0x00, 0x40, 0x39, 0x00, 0x77, 0x8B, 0x00, 0x40, 0x46, 0x00, 0x40, 0x96,
+  0x02, 0x54, 0x1D, 0x00, 0x78, 0x4E, 0x00, 0x78, 0x8C, 0x00, 0x78, 0xCC,
+  0x00, 0x40, 0xE3, 0x02, 0x56, 0x26, 0x00, 0x79, 0x56, 0x02, 0x56, 0x9A,
+  0x02, 0x56, 0xC5, 0x00, 0x79, 0x8F, 0x00, 0x79, 0xEB, 0x00, 0x41, 0x2F,
+  0x00, 0x7A, 0x40, 0x00, 0x7A, 0x4A, 0x00, 0x7A, 0x4F, 0x02, 0x59, 0x7C,
+  0x02, 0x5A, 0xA7, 0x02, 0x5A, 0xA7, 0x00, 0x7A, 0xEE, 0x00, 0x42, 0x02,
+  0x02, 0x5B, 0xAB, 0x00, 0x7B, 0xC6, 0x00, 0x7B, 0xC9, 0x00, 0x42, 0x27,
+  0x02, 0x5C, 0x80, 0x00, 0x7C, 0xD2, 0x00, 0x42, 0xA0, 0x00, 0x7C, 0xE8,
+  0x00, 0x7C, 0xE3, 0x00, 0x7D, 0x00, 0x02, 0x5F, 0x86, 0x00, 0x7D, 0x63,
+  0x00, 0x43, 0x01, 0x00, 0x7D, 0xC7, 0x00, 0x7E, 0x02, 0x00, 0x7E, 0x45,
+  0x00, 0x43, 0x34, 0x02, 0x62, 0x28, 0x02, 0x62, 0x47, 0x00, 0x43, 0x59,
+  0x02, 0x62, 0xD9, 0x00, 0x7F, 0x7A, 0x02, 0x63, 0x3E, 0x00, 0x7F, 0x95,
+  0x00, 0x7F, 0xFA, 0x00, 0x80, 0x05, 0x02, 0x64, 0xDA, 0x02, 0x65, 0x23,
+  0x00, 0x80, 0x60, 0x02, 0x65, 0xA8, 0x00, 0x80, 0x70, 0x02, 0x33, 0x5F,
+  0x00, 0x43, 0xD5, 0x00, 0x80, 0xB2, 0x00, 0x81, 0x03, 0x00, 0x44, 0x0B,
+  0x00, 0x81, 0x3E, 0x00, 0x5A, 0xB5, 0x02, 0x67, 0xA7, 0x02, 0x67, 0xB5,
+  0x02, 0x33, 0x93, 0x02, 0x33, 0x9C, 0x00, 0x82, 0x01, 0x00, 0x82, 0x04,
+  0x00, 0x8F, 0x9E, 0x00, 0x44, 0x6B, 0x00, 0x82, 0x91, 0x00, 0x82, 0x8B,
+  0x00, 0x82, 0x9D, 0x00, 0x52, 0xB3, 0x00, 0x82, 0xB1, 0x00, 0x82, 0xB3,
+  0x00, 0x82, 0xBD, 0x00, 0x82, 0xE6, 0x02, 0x6B, 0x3C, 0x00, 0x82, 0xE5,
+  0x00, 0x83, 0x1D, 0x00, 0x83, 0x63, 0x00, 0x83, 0xAD, 0x00, 0x83, 0x23,
+  0x00, 0x83, 0xBD, 0x00, 0x83, 0xE7, 0x00, 0x84, 0x57, 0x00, 0x83, 0x53,
+  0x00, 0x83, 0xCA, 0x00, 0x83, 0xCC, 0x00, 0x83, 0xDC, 0x02, 0x6C, 0x36,
+  0x02, 0x6D, 0x6B, 0x02, 0x6C, 0xD5, 0x00, 0x45, 0x2B, 0x00, 0x84, 0xF1,
+  0x00, 0x84, 0xF3, 0x00, 0x85, 0x16, 0x02, 0x73, 0xCA, 0x00, 0x85, 0x64,
+  0x02, 0x6F, 0x2C, 0x00, 0x45, 0x5D, 0x00, 0x45, 0x61, 0x02, 0x6F, 0xB1,
+  0x02, 0x70, 0xD2, 0x00, 0x45, 0x6B, 0x00, 0x86, 0x50, 0x00, 0x86, 0x5C,
+  0x00, 0x86, 0x67, 0x00, 0x86, 0x69, 0x00, 0x86, 0xA9, 0x00, 0x86, 0x88,
+  0x00, 0x87, 0x0E, 0x00, 0x86, 0xE2, 0x00, 0x87, 0x79, 0x00, 0x87, 0x28,
+  0x00, 0x87, 0x6B, 0x00, 0x87, 0x86, 0x00, 0x45, 0xD7, 0x00, 0x87, 0xE1,
+  0x00, 0x88, 0x01, 0x00, 0x45, 0xF9, 0x00, 0x88, 0x60, 0x00, 0x88, 0x63,
+  0x02, 0x76, 0x67, 0x00, 0x88, 0xD7, 0x00, 0x88, 0xDE, 0x00, 0x46, 0x35,
+  0x00, 0x88, 0xFA, 0x00, 0x34, 0xBB, 0x02, 0x78, 0xAE, 0x02, 0x79, 0x66,
+  0x00, 0x46, 0xBE, 0x00, 0x46, 0xC7, 0x00, 0x8A, 0xA0, 0x00, 0x8A, 0xED,
+  0x00, 0x8B, 0x8A, 0x00, 0x8C, 0x55, 0x02, 0x7C, 0xA8, 0x00, 0x8C, 0xAB,
+  0x00, 0x8C, 0xC1, 0x00, 0x8D, 0x1B, 0x00, 0x8D, 0x77, 0x02, 0x7F, 0x2F,
+  0x02, 0x08, 0x04, 0x00, 0x8D, 0xCB, 0x00, 0x8D, 0xBC, 0x00, 0x8D, 0xF0,
+  0x02, 0x08, 0xDE, 0x00, 0x8E, 0xD4, 0x00, 0x8F, 0x38, 0x02, 0x85, 0xD2,
+  0x02, 0x85, 0xED, 0x00, 0x90, 0x94, 0x00, 0x90, 0xF1, 0x00, 0x91, 0x11,
+  0x02, 0x87, 0x2E, 0x00, 0x91, 0x1B, 0x00, 0x92, 0x38, 0x00, 0x92, 0xD7,
+  0x00, 0x92, 0xD8, 0x00, 0x92, 0x7C, 0x00, 0x93, 0xF9, 0x00, 0x94, 0x15,
+  0x02, 0x8B, 0xFA, 0x00, 0x95, 0x8B, 0x00, 0x49, 0x95, 0x00, 0x95, 0xB7,
+  0x02, 0x8D, 0x77, 0x00, 0x49, 0xE6, 0x00, 0x96, 0xC3, 0x00, 0x5D, 0xB2,
+  0x00, 0x97, 0x23, 0x02, 0x91, 0x45, 0x02, 0x92, 0x1A, 0x00, 0x4A, 0x6E,
+  0x00, 0x4A, 0x76, 0x00, 0x97, 0xE0, 0x02, 0x94, 0x0A, 0x00, 0x4A, 0xB2,
+  0x02, 0x94, 0x96, 0x00, 0x98, 0x0B, 0x00, 0x98, 0x0B, 0x00, 0x98, 0x29,
+  0x02, 0x95, 0xB6, 0x00, 0x98, 0xE2, 0x00, 0x4B, 0x33, 0x00, 0x99, 0x29,
+  0x00, 0x99, 0xA7, 0x00, 0x99, 0xC2, 0x00, 0x99, 0xFE, 0x00, 0x4B, 0xCE,
+  0x02, 0x9B, 0x30, 0x00, 0x9B, 0x12, 0x00, 0x9C, 0x40, 0x00, 0x9C, 0xFD,
+  0x00, 0x4C, 0xCE, 0x00, 0x4C, 0xED, 0x00, 0x9D, 0x67, 0x02, 0xA0, 0xCE,
+  0x00, 0x4C, 0xF8, 0x02, 0xA1, 0x05, 0x02, 0xA2, 0x0E, 0x02, 0xA2, 0x91,
+  0x00, 0x9E, 0xBB, 0x00, 0x4D, 0x56, 0x00, 0x9E, 0xF9, 0x00, 0x9E, 0xFE,
+  0x00, 0x9F, 0x05, 0x00, 0x9F, 0x0F, 0x00, 0x9F, 0x16, 0x00, 0x9F, 0x3B,
+  0x02, 0xA6, 0x00
 };
 
 const decomp_index_table_t gl_uninorm_decomp_index_table =
@@ -3295,78 +3296,78 @@ const decomp_index_table_t gl_uninorm_decomp_index_table =
     40694, 40695, 40696, 40697, 40698, 40699, 40700, 40701,
     40702, 40703, 40704, 40705, 40706, 40707, 40708, 40709,
     40710, 40711, 40712, 40713, 40714, 40715, 40716, 40717,
-    40718, 40719, 40720,    -1,    -1,    -1,    -1,    -1,
-    40721, 40724, 40727, 40730, 40733, 40736, 40739, 40742,
-    40745,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    40748, 40749,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     7982,  7983,  7984,  7985,  7986,  7987,  7988,  7989,
-     7990,  7991,  7992,  7993,  7994,  7995,  7996,  7997,
-     7998,  7999,  8000,  8001,  8002,  8003,  8004,  8005,
-     8006,  8007,  8008,  8009,  8010,  8011,  8012,  8013,
-     8014,  8015,  8016,  8017,  8018,  8019,  8020,  8021,
-     8022,  8023,  8024,  8025,  8026,  8027,  8028,  8029,
-     8030,  8031,  8032,  8033,  8034,  8035,  8036,  8037,
-     8038,  8039,  8040,  8041,  8042,  8043,  8044,  8045,
-     8046,  8047,  8048,  8049,  8050,  8051,  8052,  8053,
-     8054,  8055,  8056,  8057,  8058,  8059,  8060,  8061,
-     8062,  8063,  8064,  8065,  8066,  8067,  8068,  8069,
-     8070,  8071,  8072,  8073,  8074,  8075,  8076,  8077,
-     8078,  8079,  8080,  8081,  8082,  8083,  8084,  8085,
-     8086,  8087,  8088,  8089,  8090,  8091,  8092,  8093,
-     8094,  8095,  8096,  8097,  8098,  8099,  8100,  8101,
-     8102,  8103,  8104,  8105,  8106,  8107,  8108,  8109,
-     8110,  8111,  8112,  8113,  8114,  8115,  8116,  8117,
-     8118,  8119,  8120,  8121,  8122,  8123,  8124,  8125,
-     8126,  8127,  8128,  8129,  8130,  8131,  8132,  8133,
-     8134,  8135,  8136,  8137,  8138,  8139,  8140,  8141,
-     8142,  8143,  8144,  8145,  8146,  8147,  8148,  8149,
-     8150,  8151,  8152,  8153,  8154,  8155,  8156,  8157,
-     8158,  8159,  8160,  8161,  8162,  8163,  8164,  8165,
-     8166,  8167,  8168,  8169,  8170,  8171,  8172,  8173,
-     8174,  8175,  8176,  8177,  8178,  8179,  8180,  8181,
-     8182,  8183,  8184,  8185,  8186,  8187,  8188,  8189,
-     8190,  8191,  8192,  8193,  8194,  8195,  8196,  8197,
-     8198,  8199,  8200,  8201,  8202,  8203,  8204,  8205,
-     8206,  8207,  8208,  8209,  8210,  8211,  8212,  8213,
-     8214,  8215,  8216,  8217,  8218,  8219,  8220,  8221,
-     8222,  8223,  8224,  8225,  8226,  8227,  8228,  8229,
-     8230,  8231,  8232,  8233,  8234,  8235,  8236,  8237,
-     8238,  8239,  8240,  8241,  8242,  8243,  8244,  8245,
-     8246,  8247,  8248,  8249,  8250,  8251,  8252,  8253,
-     8254,  8255,  8256,  8257,  8258,  8259,  8260,  8261,
-     8262,  8263,  8264,  8265,  8266,  8267,  8268,  8269,
-     8270,  8271,  8272,  8273,  8274,  8275,  8276,  8277,
-     8278,  8279,  8280,  8281,  8282,  8283,  8284,  8285,
-     8286,  8287,  8288,  8289,  8290,  8291,  8292,  8293,
-     8294,  8295,  8296,  8297,  8298,  8299,  8300,  8301,
-     8302,  8303,  8304,  8305,  8306,  8307,  8308,  8309,
-     8310,  8311,  8312,  8313,  8314,  8315,  8316,  8317,
-     8318,  8319,  8320,  8321,  8322,  8323,  8324,  8325,
-     8326,  8327,  8328,  8329,  8330,  8331,  8332,  8333,
-     8334,  8335,  8336,  8337,  8338,  8339,  8340,  8341,
-     8342,  8343,  8344,  8345,  8346,  8347,  8348,  8349,
-     8350,  8351,  8352,  8353,  8354,  8355,  8356,  8357,
-     8358,  8359,  8360,  8361,  8362,  8363,  8364,  8365,
-     8366,  8367,  8368,  8369,  8370,  8371,  8372,  8373,
-     8374,  8375,  8376,  8377,  8378,  8379,  8380,  8381,
-     8382,  8383,  8384,  8385,  8386,  8387,  8388,  8389,
-     8390,  8391,  8392,  8393,  8394,  8395,  8396,  8397,
-     8398,  8399,  8400,  8401,  8402,  8403,  8404,  8405,
-     8406,  8407,  8408,  8409,  8410,  8411,  8412,  8413,
-     8414,  8415,  8416,  8417,  8418,  8419,  8420,  8421,
-     8422,  8423,  8424,  8425,  8426,  8427,  8428,  8429,
-     8430,  8431,  8432,  8433,  8434,  8435,  8436,  8437,
-     8438,  8439,  8440,  8441,  8442,  8443,  8444,  8445,
-     8446,  8447,  8448,  8449,  8450,  8451,  8452,  8453,
-     8454,  8455,  8456,  8457,  8458,  8459,  8460,  8461,
-     8462,  8463,  8464,  8465,  8466,  8467,  8468,  8469,
-     8470,  8471,  8472,  8473,  8474,  8475,  8476,  8477,
-     8478,  8479,  8480,  8481,  8482,  8483,  8484,  8485,
-     8486,  8487,  8488,  8489,  8490,  8491,  8492,  8493,
-     8494,  8495,  8496,  8497,  8498,  8499,  8500,  8501,
-     8502,  8503,  8504,  8505,  8506,  8507,  8508,  8509,
-     8510,  8511,  8512,  8513,  8514,  8515,  8516,  8517,
-     8518,  8519,  8520,  8521,  8522,  8523,    -1,    -1
+    40718, 40719, 40720, 40721,    -1,    -1,    -1,    -1,
+    40722, 40725, 40728, 40731, 40734, 40737, 40740, 40743,
+    40746,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    40749, 40750,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     7983,  7984,  7985,  7986,  7987,  7988,  7989,  7990,
+     7991,  7992,  7993,  7994,  7995,  7996,  7997,  7998,
+     7999,  8000,  8001,  8002,  8003,  8004,  8005,  8006,
+     8007,  8008,  8009,  8010,  8011,  8012,  8013,  8014,
+     8015,  8016,  8017,  8018,  8019,  8020,  8021,  8022,
+     8023,  8024,  8025,  8026,  8027,  8028,  8029,  8030,
+     8031,  8032,  8033,  8034,  8035,  8036,  8037,  8038,
+     8039,  8040,  8041,  8042,  8043,  8044,  8045,  8046,
+     8047,  8048,  8049,  8050,  8051,  8052,  8053,  8054,
+     8055,  8056,  8057,  8058,  8059,  8060,  8061,  8062,
+     8063,  8064,  8065,  8066,  8067,  8068,  8069,  8070,
+     8071,  8072,  8073,  8074,  8075,  8076,  8077,  8078,
+     8079,  8080,  8081,  8082,  8083,  8084,  8085,  8086,
+     8087,  8088,  8089,  8090,  8091,  8092,  8093,  8094,
+     8095,  8096,  8097,  8098,  8099,  8100,  8101,  8102,
+     8103,  8104,  8105,  8106,  8107,  8108,  8109,  8110,
+     8111,  8112,  8113,  8114,  8115,  8116,  8117,  8118,
+     8119,  8120,  8121,  8122,  8123,  8124,  8125,  8126,
+     8127,  8128,  8129,  8130,  8131,  8132,  8133,  8134,
+     8135,  8136,  8137,  8138,  8139,  8140,  8141,  8142,
+     8143,  8144,  8145,  8146,  8147,  8148,  8149,  8150,
+     8151,  8152,  8153,  8154,  8155,  8156,  8157,  8158,
+     8159,  8160,  8161,  8162,  8163,  8164,  8165,  8166,
+     8167,  8168,  8169,  8170,  8171,  8172,  8173,  8174,
+     8175,  8176,  8177,  8178,  8179,  8180,  8181,  8182,
+     8183,  8184,  8185,  8186,  8187,  8188,  8189,  8190,
+     8191,  8192,  8193,  8194,  8195,  8196,  8197,  8198,
+     8199,  8200,  8201,  8202,  8203,  8204,  8205,  8206,
+     8207,  8208,  8209,  8210,  8211,  8212,  8213,  8214,
+     8215,  8216,  8217,  8218,  8219,  8220,  8221,  8222,
+     8223,  8224,  8225,  8226,  8227,  8228,  8229,  8230,
+     8231,  8232,  8233,  8234,  8235,  8236,  8237,  8238,
+     8239,  8240,  8241,  8242,  8243,  8244,  8245,  8246,
+     8247,  8248,  8249,  8250,  8251,  8252,  8253,  8254,
+     8255,  8256,  8257,  8258,  8259,  8260,  8261,  8262,
+     8263,  8264,  8265,  8266,  8267,  8268,  8269,  8270,
+     8271,  8272,  8273,  8274,  8275,  8276,  8277,  8278,
+     8279,  8280,  8281,  8282,  8283,  8284,  8285,  8286,
+     8287,  8288,  8289,  8290,  8291,  8292,  8293,  8294,
+     8295,  8296,  8297,  8298,  8299,  8300,  8301,  8302,
+     8303,  8304,  8305,  8306,  8307,  8308,  8309,  8310,
+     8311,  8312,  8313,  8314,  8315,  8316,  8317,  8318,
+     8319,  8320,  8321,  8322,  8323,  8324,  8325,  8326,
+     8327,  8328,  8329,  8330,  8331,  8332,  8333,  8334,
+     8335,  8336,  8337,  8338,  8339,  8340,  8341,  8342,
+     8343,  8344,  8345,  8346,  8347,  8348,  8349,  8350,
+     8351,  8352,  8353,  8354,  8355,  8356,  8357,  8358,
+     8359,  8360,  8361,  8362,  8363,  8364,  8365,  8366,
+     8367,  8368,  8369,  8370,  8371,  8372,  8373,  8374,
+     8375,  8376,  8377,  8378,  8379,  8380,  8381,  8382,
+     8383,  8384,  8385,  8386,  8387,  8388,  8389,  8390,
+     8391,  8392,  8393,  8394,  8395,  8396,  8397,  8398,
+     8399,  8400,  8401,  8402,  8403,  8404,  8405,  8406,
+     8407,  8408,  8409,  8410,  8411,  8412,  8413,  8414,
+     8415,  8416,  8417,  8418,  8419,  8420,  8421,  8422,
+     8423,  8424,  8425,  8426,  8427,  8428,  8429,  8430,
+     8431,  8432,  8433,  8434,  8435,  8436,  8437,  8438,
+     8439,  8440,  8441,  8442,  8443,  8444,  8445,  8446,
+     8447,  8448,  8449,  8450,  8451,  8452,  8453,  8454,
+     8455,  8456,  8457,  8458,  8459,  8460,  8461,  8462,
+     8463,  8464,  8465,  8466,  8467,  8468,  8469,  8470,
+     8471,  8472,  8473,  8474,  8475,  8476,  8477,  8478,
+     8479,  8480,  8481,  8482,  8483,  8484,  8485,  8486,
+     8487,  8488,  8489,  8490,  8491,  8492,  8493,  8494,
+     8495,  8496,  8497,  8498,  8499,  8500,  8501,  8502,
+     8503,  8504,  8505,  8506,  8507,  8508,  8509,  8510,
+     8511,  8512,  8513,  8514,  8515,  8516,  8517,  8518,
+     8519,  8520,  8521,  8522,  8523,  8524,    -1,    -1
   }
 };
diff --git a/gllib/unistr.in.h b/gllib/unistr.in.h
index 0f330af..2921da2 100644
--- a/gllib/unistr.in.h
+++ b/gllib/unistr.in.h
@@ -12,7 +12,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNISTR_H
 #define _UNISTR_H
diff --git a/gllib/unistr/u32-to-u8.c b/gllib/unistr/u32-to-u8.c
index 00d24b6..8f82b41 100644
--- a/gllib/unistr/u32-to-u8.c
+++ b/gllib/unistr/u32-to-u8.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unistr/u8-mbtoucr.c b/gllib/unistr/u8-mbtoucr.c
index 3f2f386..b86db59 100644
--- a/gllib/unistr/u8-mbtoucr.c
+++ b/gllib/unistr/u8-mbtoucr.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unistr/u8-strmblen.c b/gllib/unistr/u8-strmblen.c
index 129042c..c232d40 100644
--- a/gllib/unistr/u8-strmblen.c
+++ b/gllib/unistr/u8-strmblen.c
@@ -14,7 +14,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unistr/u8-to-u32.c b/gllib/unistr/u8-to-u32.c
index 39220a1..0f62cae 100644
--- a/gllib/unistr/u8-to-u32.c
+++ b/gllib/unistr/u8-to-u32.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unistr/u8-uctomb-aux.c b/gllib/unistr/u8-uctomb-aux.c
index ba358ed..6e4ce18 100644
--- a/gllib/unistr/u8-uctomb-aux.c
+++ b/gllib/unistr/u8-uctomb-aux.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unistr/u8-uctomb.c b/gllib/unistr/u8-uctomb.c
index 685b6f1..31448fa 100644
--- a/gllib/unistr/u8-uctomb.c
+++ b/gllib/unistr/u8-uctomb.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unitypes.in.h b/gllib/unitypes.in.h
index 8733079..01e0495 100644
--- a/gllib/unitypes.in.h
+++ b/gllib/unitypes.in.h
@@ -12,7 +12,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNITYPES_H
 #define _UNITYPES_H
diff --git a/gllib/uniwidth.in.h b/gllib/uniwidth.in.h
index fc85e96..360ff33 100644
--- a/gllib/uniwidth.in.h
+++ b/gllib/uniwidth.in.h
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNIWIDTH_H
 #define _UNIWIDTH_H
diff --git a/gllib/uniwidth/cjk.h b/gllib/uniwidth/cjk.h
index c354608..95723f5 100644
--- a/gllib/uniwidth/cjk.h
+++ b/gllib/uniwidth/cjk.h
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include "streq.h"
 
diff --git a/gllib/uniwidth/width.c b/gllib/uniwidth/width.c
index d3727e6..030b762 100644
--- a/gllib/uniwidth/width.c
+++ b/gllib/uniwidth/width.c
@@ -13,7 +13,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/gllib/unused-parameter.h b/gllib/unused-parameter.h
index b300055..8bd04b1 100644
--- a/gllib/unused-parameter.h
+++ b/gllib/unused-parameter.h
@@ -12,7 +12,7 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter
    declarations for parameters that are not used.  This helps to reduce
diff --git a/glm4/gnulib-common.m4 b/glm4/gnulib-common.m4
index 36da841..bea5a65 100644
--- a/glm4/gnulib-common.m4
+++ b/glm4/gnulib-common.m4
@@ -228,13 +228,13 @@ m4_ifndef([AS_VAR_IF],
 # This is like AC_PROG_CC_C99, except that
 # - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60,
 # - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC
-#   <https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>,
+#   <https://lists.gnu.org/r/bug-gnulib/2011-09/msg00367.html>,
 #   but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99
-#   <https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00441.html>.
+#   <https://lists.gnu.org/r/bug-gnulib/2011-09/msg00441.html>.
 # Remaining problems:
 # - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
 #   to CC twice
-#   <https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
+#   <https://lists.gnu.org/r/bug-gnulib/2011-09/msg00431.html>.
 # - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard.
 AC_DEFUN([gl_PROG_CC_C99],
 [
diff --git a/glm4/gnulib-comp.m4 b/glm4/gnulib-comp.m4
index 0c90509..ca74677 100644
--- a/glm4/gnulib-comp.m4
+++ b/glm4/gnulib-comp.m4
@@ -262,249 +262,249 @@ AC_DEFUN([gl_INIT],
   gl_SYS_TYPES_H
   AC_PROG_MKDIR_P
   gl_LIBUNISTRING_LIBHEADER([0.9.4], [unicase.h])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unicase/tolower])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unicase/totitle])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unicase/toupper])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unicase/tolower])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unicase/totitle])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unicase/toupper])
   gl_LIBUNISTRING_LIBHEADER([0.9.4], [unictype.h])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/bidiclass-of])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/block-list])
-  gl_LIBUNISTRING_MODULE([0.9.5], [unictype/block-test])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-C])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Cc])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Cf])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Cn])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Co])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Cs])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-L])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-LC])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Ll])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Lm])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Lo])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Lt])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Lu])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-M])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Mc])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Me])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Mn])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-N])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Nd])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Nl])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-No])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-P])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Pc])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Pd])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Pe])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Pf])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Pi])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Po])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Ps])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-S])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Sc])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Sk])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Sm])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-So])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Z])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Zl])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Zp])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-Zs])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-and])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-and-not])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-byname])
-  gl_LIBUNISTRING_MODULE([0.9.5], [unictype/category-longname])
-  gl_LIBUNISTRING_MODULE([0.9], [unictype/category-name])
-  gl_LIBUNISTRING_MODULE([0.9.5], [unictype/category-none])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/bidiclass-of])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/block-list])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/block-test])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-C])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cc])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cf])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cn])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Co])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cs])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-L])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-LC])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Ll])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lm])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lo])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lt])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lu])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-M])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Mc])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Me])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Mn])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-N])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Nd])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Nl])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-No])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-P])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pc])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pd])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pe])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pf])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pi])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Po])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Ps])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-S])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Sc])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Sk])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Sm])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-So])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Z])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zl])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zp])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zs])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-and])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-and-not])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-byname])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-longname])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-name])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-none])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-of])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/category-or])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-of])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-or])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.5], [unictype/category-test])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/combining-class])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-test])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/combining-class])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/ctype-print])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/mirror])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/ctype-print])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/mirror])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-alphabetic])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-alphabetic])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-ascii-hex-digit])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ascii-hex-digit])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-arabic-digit])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-arabic-digit])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-arabic-right-to-left])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-arabic-right-to-left])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-block-separator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-block-separator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-boundary-neutral])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-boundary-neutral])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-common-separator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-common-separator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-control])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-control])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-embedding-or-override])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-embedding-or-override])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-eur-num-separator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-eur-num-separator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-eur-num-terminator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-eur-num-terminator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-european-digit])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-european-digit])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-hebrew-right-to-left])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-hebrew-right-to-left])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-left-to-right])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-left-to-right])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-non-spacing-mark])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-non-spacing-mark])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-other-neutral])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-other-neutral])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-pdf])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-pdf])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-segment-separator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-segment-separator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-bidi-whitespace])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-byname])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-whitespace])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-byname])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-case-ignorable])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-case-ignorable])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-cased])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-cased])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-changes-when-casefolded])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-casefolded])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-changes-when-casemapped])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-casemapped])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-changes-when-lowercased])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-lowercased])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-changes-when-titlecased])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-titlecased])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-changes-when-uppercased])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-uppercased])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-combining])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-combining])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-composite])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-composite])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-currency-symbol])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-currency-symbol])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-dash])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-dash])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-decimal-digit])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-decimal-digit])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-default-ignorable-code-point])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-default-ignorable-code-point])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-deprecated])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-deprecated])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-diacritic])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-diacritic])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-extender])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-extender])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-format-control])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-format-control])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-grapheme-base])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-grapheme-base])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-grapheme-extend])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-grapheme-extend])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-grapheme-link])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-grapheme-link])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-hex-digit])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-hex-digit])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-hyphen])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-hyphen])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-id-continue])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-id-continue])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-id-start])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-id-start])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-ideographic])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ideographic])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-ids-binary-operator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ids-binary-operator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-ids-trinary-operator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ids-trinary-operator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-ignorable-control])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ignorable-control])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-iso-control])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-iso-control])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-join-control])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-join-control])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-left-of-pair])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-left-of-pair])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-line-separator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-line-separator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-logical-order-exception])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-logical-order-exception])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-lowercase])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-lowercase])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-math])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-math])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-non-break])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-non-break])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-not-a-character])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-not-a-character])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-numeric])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-numeric])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-other-alphabetic])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-alphabetic])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-other-default-ignorable-code-point])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-default-ignorable-code-point])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-other-grapheme-extend])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-grapheme-extend])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-other-id-continue])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-id-continue])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-other-id-start])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-id-start])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-other-lowercase])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-lowercase])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-other-math])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-math])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-other-uppercase])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-uppercase])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-paired-punctuation])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-paired-punctuation])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-paragraph-separator])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-paragraph-separator])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-pattern-syntax])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-pattern-syntax])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-pattern-white-space])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-pattern-white-space])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-private-use])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-private-use])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-punctuation])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-punctuation])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-quotation-mark])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-quotation-mark])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-radical])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-radical])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-sentence-terminal])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-sentence-terminal])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-soft-dotted])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-soft-dotted])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-space])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-space])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-terminal-punctuation])
-  gl_LIBUNISTRING_MODULE([0.9], [unictype/property-test])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-terminal-punctuation])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-test])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-titlecase])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-titlecase])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-unassigned-code-value])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-unassigned-code-value])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-unified-ideograph])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-unified-ideograph])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-uppercase])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-uppercase])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-variation-selector])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-variation-selector])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-white-space])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-white-space])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-xid-continue])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-xid-continue])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-xid-start])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-xid-start])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/property-zero-width])
-  gl_LIBUNISTRING_MODULE([0.9.6], [unictype/scripts])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-zero-width])
+  gl_LIBUNISTRING_MODULE([0.9.8], [unictype/scripts])
   gl_LIBUNISTRING_LIBHEADER([0.9.5], [uniname.h])
-  gl_LIBUNISTRING_MODULE([0.9.6], [uniname/uniname])
+  gl_LIBUNISTRING_MODULE([0.9.8], [uniname/uniname])
   gl_LIBUNISTRING_LIBHEADER([0.9.4], [uninorm.h])
-  gl_LIBUNISTRING_MODULE([0.9.6], [uninorm/canonical-decomposition])
+  gl_LIBUNISTRING_MODULE([0.9.8], [uninorm/canonical-decomposition])
   AC_REQUIRE([AC_C_INLINE])
-  gl_LIBUNISTRING_MODULE([0.9.6], [uninorm/nfd])
+  gl_LIBUNISTRING_MODULE([0.9.8], [uninorm/nfd])
   gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u32-normalize])
-  gl_LIBUNISTRING_MODULE([0.9.6], [uninorm/u32-normalize])
+  gl_LIBUNISTRING_MODULE([0.9.8], [uninorm/u32-normalize])
   gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistr.h])
   gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-cpy])
   gl_MODULE_INDICATOR([unistr/u32-mbtouc-unsafe])
@@ -520,7 +520,7 @@ AC_DEFUN([gl_INIT],
   gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
   gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h])
   gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h])
-  gl_LIBUNISTRING_MODULE([0.9.6], [uniwidth/width])
+  gl_LIBUNISTRING_MODULE([0.9.8], [uniwidth/width])
   # End of code from modules
   m4_ifval(gl_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
diff --git a/glm4/host-cpu-c-abi.m4 b/glm4/host-cpu-c-abi.m4
index 59b0ebf..9370c31 100644
--- a/glm4/host-cpu-c-abi.m4
+++ b/glm4/host-cpu-c-abi.m4
@@ -1,4 +1,4 @@
-# host-cpu-c-abi.m4 serial 7
+# host-cpu-c-abi.m4 serial 8
 dnl Copyright (C) 2002-2017 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -68,14 +68,23 @@ changequote([,])dnl
          #   with native Windows (mingw, MSVC).
          # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
          # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
-         AC_EGREP_CPP([yes],
-           [#if defined __x86_64__ || defined __amd64__ || defined _M_X64 || defined _M_AMD64
-            yes
-            #endif],
-           [AC_EGREP_CPP([yes],
-              [#if defined __ILP32__ || defined _ILP32
-               yes
-               #endif],
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if (defined __x86_64__ || defined __amd64__ \
+                     || defined _M_X64 || defined _M_AMD64)
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined __ILP32__ || defined _ILP32
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
               [gl_cv_host_cpu_c_abi=x86_64-x32],
               [gl_cv_host_cpu_c_abi=x86_64])],
            [gl_cv_host_cpu_c_abi=i386])
@@ -94,14 +103,22 @@ changequote([,])dnl
          # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
          # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
          # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
-         AC_EGREP_CPP([yes],
-           [#if defined __aarch64__
-            yes
-            #endif],
-           [AC_EGREP_CPP([yes],
-              [#if defined __ILP32__ || defined _ILP32
-               yes
-               #endif],
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef __aarch64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                [[#if defined __ILP32__ || defined _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
               [gl_cv_host_cpu_c_abi=arm64-ilp32],
               [gl_cv_host_cpu_c_abi=arm64])],
            [# Don't distinguish little-endian and big-endian arm, since they
@@ -130,10 +147,14 @@ changequote([,])dnl
        hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
          # On hppa, the C compiler may be generating 32-bit code or 64-bit
          # code. In the latter case, it defines _LP64 and __LP64__.
-         AC_EGREP_CPP([yes],
-           [#if defined(__LP64__)
-            yes
-            #endif],
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef __LP64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
            [gl_cv_host_cpu_c_abi=hppa64],
            [gl_cv_host_cpu_c_abi=hppa])
          ;;
@@ -141,10 +162,14 @@ changequote([,])dnl
        ia64* )
          # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
          # 32-bit code. In the latter case, it defines _ILP32.
-         AC_EGREP_CPP([yes],
-           [#if defined _ILP32
-            yes
-            #endif],
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef _ILP32
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
            [gl_cv_host_cpu_c_abi=ia64-ilp32],
            [gl_cv_host_cpu_c_abi=ia64])
          ;;
@@ -152,19 +177,27 @@ changequote([,])dnl
        mips* )
          # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
          # at 32.
-         AC_EGREP_CPP([yes],
-           [#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
-            yes
-            #endif],
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
            [gl_cv_host_cpu_c_abi=mips64],
            [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but
             # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32.
             # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but
             # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32.
-            AC_EGREP_CPP([yes],
-              [#if (_MIPS_SIM == _ABIN32)
-               yes
-               #endif],
+            AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if (_MIPS_SIM == _ABIN32)
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
               [gl_cv_host_cpu_c_abi=mipsn32],
               [gl_cv_host_cpu_c_abi=mips])])
          ;;
@@ -176,16 +209,24 @@ changequote([,])dnl
          # On powerpc64 systems, the C compiler may still be generating
          # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
          # be generating 64-bit code.
-         AC_EGREP_CPP([yes],
-           [#if defined __powerpc64__ || defined _ARCH_PPC64
-            yes
-            #endif],
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
            [# On powerpc64, there are two ABIs on Linux: The AIX compatible
             # one and the ELFv2 one. The latter defines _CALL_ELF=2.
-            AC_EGREP_CPP([yes],
-              [#if defined _CALL_ELF && _CALL_ELF == 2
-               yes
-               #endif],
+            AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined _CALL_ELF && _CALL_ELF == 2
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
               [gl_cv_host_cpu_c_abi=powerpc64-elfv2],
               [gl_cv_host_cpu_c_abi=powerpc64])
            ],
@@ -199,10 +240,14 @@ changequote([,])dnl
        s390* )
          # On s390x, the C compiler may be generating 64-bit (= s390x) code
          # or 31-bit (= s390) code.
-         AC_EGREP_CPP([yes],
-           [#if defined(__LP64__) || defined(__s390x__)
-            yes
-            #endif],
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __LP64__ || defined __s390x__
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
            [gl_cv_host_cpu_c_abi=s390x],
            [gl_cv_host_cpu_c_abi=s390])
          ;;
@@ -210,10 +255,14 @@ changequote([,])dnl
        sparc | sparc64 )
          # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
          # C compiler still generates 32-bit code.
-         AC_EGREP_CPP([yes],
-           [#if defined __sparcv9 || defined __arch64__
-            yes
-            #endif],
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __sparcv9 || defined __arch64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
            [gl_cv_host_cpu_c_abi=sparc64],
            [gl_cv_host_cpu_c_abi=sparc])
          ;;
diff --git a/glm4/lib-ld.m4 b/glm4/lib-ld.m4
index 8b8a26e..0f0c599 100644
--- a/glm4/lib-ld.m4
+++ b/glm4/lib-ld.m4
@@ -1,4 +1,4 @@
-# lib-ld.m4 serial 7
+# lib-ld.m4 serial 9
 dnl Copyright (C) 1996-2003, 2009-2017 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -120,11 +120,14 @@ else
     fi
     case $host in
       *-*-aix*)
-        AC_EGREP_CPP([yes],
-          [#if defined __powerpc64__ || defined _ARCH_PPC64
-           yes
-           #endif
-          ],
+        AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                int ok;
+               #else
+                error fail
+               #endif
+             ]])],
           [# The compiler produces 64-bit code. Add option '-b64' so that the
            # linker groks 64-bit object files.
            case "$acl_cv_path_LD " in
@@ -133,6 +136,24 @@ else
            esac
           ], [])
         ;;
+      sparc64-*-netbsd*)
+        AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#if defined __sparcv9 || defined __arch64__
+                int ok;
+               #else
+                error fail
+               #endif
+             ]])],
+          [],
+          [# The compiler produces 32-bit code. Add option '-m elf32_sparc'
+           # so that the linker groks 32-bit object files.
+           case "$acl_cv_path_LD " in
+             *" -m elf32_sparc "*) ;;
+             *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;
+           esac
+          ])
+        ;;
     esac
   ])
   LD="$acl_cv_path_LD"
diff --git a/glm4/lib-prefix.m4 b/glm4/lib-prefix.m4
index a5d56c8..9fc47a1 100644
--- a/glm4/lib-prefix.m4
+++ b/glm4/lib-prefix.m4
@@ -1,4 +1,4 @@
-# lib-prefix.m4 serial 8
+# lib-prefix.m4 serial 11
 dnl Copyright (C) 2001-2005, 2008-2017 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -174,6 +174,7 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
   dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
   dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
   AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_HOST_CPU_C_ABI])
   dnl Allow the user to override the result by setting acl_cv_libdirstems.
   AC_CACHE_CHECK([for the common suffixes of directories in the library search path],
     [acl_cv_libdirstems],
@@ -182,16 +183,21 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
      case "$host_os" in
        solaris*)
          dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The 
Development Environment
-         dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+         dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>.
          dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
          dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
          dnl symlink is missing, so we set acl_libdirstem2 too.
          AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
-           [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
-              ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#ifdef _LP64
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_solaris_64bit=yes],
+              [gl_cv_solaris_64bit=no])
            ])
          if test $gl_cv_solaris_64bit = yes; then
            acl_libdirstem=lib/64
@@ -202,34 +208,42 @@ sixtyfour bits
          fi
          ;;
        *)
-         dnl The result is a property of the system. However, non-system
-         dnl compilers sometimes have odd library search paths. Therefore
-         dnl prefer asking /usr/bin/gcc, if available, rather than $CC.
-         searchpath=`(if test -f /usr/bin/gcc \
-                         && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
-                        LC_ALL=C /usr/bin/gcc -print-search-dirs; \
-                      else \
-                        LC_ALL=C $CC -print-search-dirs; \
-                      fi) 2>/dev/null \
-                     | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-         if test -n "$searchpath"; then
-           acl_save_IFS="${IFS=        }"; IFS=":"
-           for searchdir in $searchpath; do
-             if test -d "$searchdir"; then
-               case "$searchdir" in
-                 */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-                 */../ | */.. )
-                   # Better ignore directories of this form. They are misleading.
-                   ;;
-                 *) searchdir=`cd "$searchdir" && pwd`
-                    case "$searchdir" in
-                      */lib64 ) acl_libdirstem=lib64 ;;
-                    esac ;;
-               esac
+         dnl If $CC generates code for a 32-bit ABI, the libraries are
+         dnl surely under $prefix/lib, not $prefix/lib64.
+         case "$gl_cv_host_cpu_c_abi" in
+           i386 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | s390 | sparc)
+             ;;
+           *) # x86_64 | arm64 | hppa64 | ia64 | mips64 | powerpc64* | s390x | sparc64 | ...
+             dnl The result is a property of the system. However, non-system
+             dnl compilers sometimes have odd library search paths. Therefore
+             dnl prefer asking /usr/bin/gcc, if available, rather than $CC.
+             searchpath=`(if test -f /usr/bin/gcc \
+                             && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
+                            LC_ALL=C /usr/bin/gcc -print-search-dirs; \
+                          else \
+                            LC_ALL=C $CC -print-search-dirs; \
+                          fi) 2>/dev/null \
+                         | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+             if test -n "$searchpath"; then
+               acl_save_IFS="${IFS=    }"; IFS=":"
+               for searchdir in $searchpath; do
+                 if test -d "$searchdir"; then
+                   case "$searchdir" in
+                     */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+                     */../ | */.. )
+                       # Better ignore directories of this form. They are misleading.
+                       ;;
+                     *) searchdir=`cd "$searchdir" && pwd`
+                        case "$searchdir" in
+                          */lib64 ) acl_libdirstem=lib64 ;;
+                        esac ;;
+                   esac
+                 fi
+               done
+               IFS="$acl_save_IFS"
              fi
-           done
-           IFS="$acl_save_IFS"
-         fi
+             ;;
+         esac
          ;;
      esac
      test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
diff --git a/glm4/stdbool.m4 b/glm4/stdbool.m4
index d368123..9e714d4 100644
--- a/glm4/stdbool.m4
+++ b/glm4/stdbool.m4
@@ -87,8 +87,8 @@ AC_DEFUN([AC_CHECK_HEADER_STDBOOL],
              char o[sizeof n == m * sizeof n[0] ? 1 : -1];
              char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
              /* Catch a bug in an HP-UX C compiler.  See
-                http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-                http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+                https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+                https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html
               */
              Bool q = true;
              Bool *pq = &q;
diff --git a/glm4/sys_types_h.m4 b/glm4/sys_types_h.m4
index ec0860b..7509771 100644
--- a/glm4/sys_types_h.m4
+++ b/glm4/sys_types_h.m4
@@ -1,4 +1,4 @@
-# sys_types_h.m4 serial 8
+# sys_types_h.m4 serial 9
 dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -35,12 +35,12 @@ AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS],
 ])
 
 # This works around a buggy version in autoconf <= 2.69.
-# See <https://lists.gnu.org/archive/html/autoconf/2016-08/msg00014.html>
+# See <https://lists.gnu.org/r/autoconf/2016-08/msg00014.html>
 
 m4_version_prereq([2.70], [], [
 
 # This is taken from the following Autoconf patch:
-# http://git.sv.gnu.org/cgit/autoconf.git/commit/?id=e17a30e98
+# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=e17a30e987d7ee695fb4294a82d987ec3dc9b974
 
 m4_undefine([AC_HEADER_MAJOR])
 AC_DEFUN([AC_HEADER_MAJOR],


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]