Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfdata.hh
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfdata.hh
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfdata.hh
@@ -83,19 +83,19 @@ class Data {
     static inline int32_t s32_aligned16(const unsigned char* s);
     static inline int32_t s32_aligned(const unsigned char* s);
 
-    inline uint8_t operator[](unsigned offset) const throw (Bounds);
-    inline uint16_t u16(unsigned offset) const throw (Bounds);
-    inline int16_t s16(unsigned offset) const throw (Bounds);
-    inline uint32_t u32(unsigned offset) const throw (Bounds);
-    inline int32_t s32(unsigned offset) const throw (Bounds);
-    inline uint8_t operator[](int offset) const throw (Bounds);
-    inline uint16_t u16(int offset) const throw (Bounds);
-    inline int16_t s16(int offset) const throw (Bounds);
-    inline uint32_t u32(int offset) const throw (Bounds);
-    inline int32_t s32(int offset) const throw (Bounds);
+    inline uint8_t operator[](unsigned offset) const;
+    inline uint16_t u16(unsigned offset) const;
+    inline int16_t s16(unsigned offset) const;
+    inline uint32_t u32(unsigned offset) const;
+    inline int32_t s32(unsigned offset) const;
+    inline uint8_t operator[](int offset) const;
+    inline uint16_t u16(int offset) const;
+    inline int16_t s16(int offset) const;
+    inline uint32_t u32(int offset) const;
+    inline int32_t s32(int offset) const;
 
-    Data subtable(unsigned offset) const throw (Bounds);
-    Data offset_subtable(unsigned offset_offset) const throw (Bounds);
+    Data subtable(unsigned offset) const;
+    Data offset_subtable(unsigned offset_offset) const;
     inline Data substring(int left, int len = -1) const throw ();
 
     void align_long()                   { _str.align(4); }
@@ -106,7 +106,7 @@ class Data {
 
 };
 
-inline uint8_t Data::operator[](unsigned offset) const throw (Bounds) {
+inline uint8_t Data::operator[](unsigned offset) const {
     if (offset >= static_cast<unsigned>(_str.length()))
         throw Bounds();
     else
@@ -183,51 +183,51 @@ inline int32_t Data::s32_aligned(const u
     return ntohl(*reinterpret_cast<const int32_t*>(s));
 }
 
-inline uint16_t Data::u16(unsigned offset) const throw (Bounds) {
+inline uint16_t Data::u16(unsigned offset) const {
     if (offset + 1 >= static_cast<unsigned>(_str.length()) || offset + 1 == 0)
         throw Bounds();
     else
         return u16_aligned(_str.udata() + offset);
 }
 
-inline int16_t Data::s16(unsigned offset) const throw (Bounds) {
+inline int16_t Data::s16(unsigned offset) const {
     if (offset + 1 >= static_cast<unsigned>(_str.length()) || offset + 1 == 0)
         throw Bounds();
     else
         return s16_aligned(_str.udata() + offset);
 }
 
-inline uint32_t Data::u32(unsigned offset) const throw (Bounds) {
+inline uint32_t Data::u32(unsigned offset) const {
     if (offset + 3 >= static_cast<unsigned>(_str.length()) || offset + 3 < 3)
         throw Bounds();
     else
         return u32_aligned16(_str.udata() + offset);
 }
 
-inline int32_t Data::s32(unsigned offset) const throw (Bounds) {
+inline int32_t Data::s32(unsigned offset) const {
     if (offset + 3 >= static_cast<unsigned>(_str.length()) || offset + 3 < 3)
         throw Bounds();
     else
         return s32_aligned16(_str.udata() + offset);
 }
 
-inline uint8_t Data::operator[](int offset) const throw (Bounds) {
+inline uint8_t Data::operator[](int offset) const {
     return (*this)[unsigned(offset)];
 }
 
-inline uint16_t Data::u16(int offset) const throw (Bounds) {
+inline uint16_t Data::u16(int offset) const {
     return u16(unsigned(offset));
 }
 
-inline int16_t Data::s16(int offset) const throw (Bounds) {
+inline int16_t Data::s16(int offset) const {
     return s16(unsigned(offset));
 }
 
-inline uint32_t Data::u32(int offset) const throw (Bounds) {
+inline uint32_t Data::u32(int offset) const {
     return u32(unsigned(offset));
 }
 
-inline int32_t Data::s32(int offset) const throw (Bounds) {
+inline int32_t Data::s32(int offset) const {
     return s32(unsigned(offset));
 }
 
Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfos2.hh
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfos2.hh
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfos2.hh
@@ -25,13 +25,13 @@ class Os2 { public:
                    O_LOWEROPTICALPOINTSIZE = 96, O_UPPEROPTICALPOINTSIZE = 98 };
     enum { HEADER_SIZE = 2 };
 
-    inline int16_t typo_ascender() const throw (Bounds);
-    inline int16_t typo_descender() const throw (Bounds);
-    inline int16_t typo_line_gap() const throw (Bounds);
-    inline int16_t x_height() const throw (Bounds);
-    inline int16_t cap_height() const throw (Bounds);
-    inline double lower_optical_point_size() const throw (Bounds);
-    inline double upper_optical_point_size() const throw (Bounds);
+    inline int16_t typo_ascender() const;
+    inline int16_t typo_descender() const;
+    inline int16_t typo_line_gap() const;
+    inline int16_t x_height() const;
+    inline int16_t cap_height() const;
+    inline double lower_optical_point_size() const;
+    inline double upper_optical_point_size() const;
     inline bool has_optical_point_size() const throw ();
     inline String vendor_id() const throw ();
 
@@ -45,37 +45,37 @@ class Os2 { public:
 };
 
 
-inline int16_t Os2::typo_ascender() const throw (Bounds)
+inline int16_t Os2::typo_ascender() const
 {
     return _data.s16(O_TYPOASCENDER);
 }
 
-inline int16_t Os2::typo_descender() const throw (Bounds)
+inline int16_t Os2::typo_descender() const
 {
     return _data.s16(O_TYPODESCENDER);
 }
 
-inline int16_t Os2::typo_line_gap() const throw (Bounds)
+inline int16_t Os2::typo_line_gap() const
 {
     return _data.s16(O_TYPOLINEGAP);
 }
 
-inline int16_t Os2::x_height() const throw (Bounds)
+inline int16_t Os2::x_height() const
 {
     return _data.s16(O_XHEIGHT);
 }
 
-inline int16_t Os2::cap_height() const throw (Bounds)
+inline int16_t Os2::cap_height() const
 {
     return _data.s16(O_CAPHEIGHT);
 }
 
-inline double Os2::lower_optical_point_size() const throw (Bounds)
+inline double Os2::lower_optical_point_size() const
 {
     return _data.u16(O_LOWEROPTICALPOINTSIZE) / 20.;
 }
 
-inline double Os2::upper_optical_point_size() const throw (Bounds)
+inline double Os2::upper_optical_point_size() const
 {
     return _data.u16(O_UPPEROPTICALPOINTSIZE) / 20.;
 }
Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdata.cc
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdata.cc
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdata.cc
@@ -21,7 +21,7 @@
 namespace Efont { namespace OpenType {
 
 Data
-Data::subtable(unsigned offset) const throw (Bounds)
+Data::subtable(unsigned offset) const
 {
     if (offset > (unsigned) _str.length())
         throw Bounds();
@@ -29,7 +29,7 @@ Data::subtable(unsigned offset) const th
 }
 
 Data
-Data::offset_subtable(unsigned offset_offset) const throw (Bounds)
+Data::offset_subtable(unsigned offset_offset) const
 {
     int offset = u16(offset_offset);
     if (offset > _str.length())
Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgsub.hh
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgsub.hh
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgsub.hh
@@ -9,7 +9,7 @@ class Substitution;
 
 class Gsub { public:
 
-    Gsub(const Data &, const Font *, ErrorHandler * = 0) throw (Error);
+    Gsub(const Data &, const Font *, ErrorHandler * = 0);
     // default destructor
 
     const ScriptList &script_list() const { return _script_list; }
@@ -31,7 +31,7 @@ class Gsub { public:
 };
 
 class GsubLookup { public:
-    GsubLookup(const Data &) throw (Error);
+    GsubLookup(const Data &);
     int type() const                    { return _type; }
     uint16_t flags() const              { return _d.u16(2); }
     void mark_out_glyphs(const Gsub &gsub, Vector<bool> &gmap) const;
@@ -49,7 +49,7 @@ class GsubLookup { public:
 };
 
 class GsubSingle { public:
-    GsubSingle(const Data &) throw (Error);
+    GsubSingle(const Data &);
     // default destructor
     Coverage coverage() const throw ();
     Glyph map(Glyph) const;
@@ -62,7 +62,7 @@ class GsubSingle { public:
 };
 
 class GsubMultiple { public:
-    GsubMultiple(const Data &) throw (Error);
+    GsubMultiple(const Data &);
     // default destructor
     Coverage coverage() const throw ();
     bool map(Glyph, Vector<Glyph> &) const;
@@ -76,7 +76,7 @@ class GsubMultiple { public:
 };
 
 class GsubLigature { public:
-    GsubLigature(const Data &) throw (Error);
+    GsubLigature(const Data &);
     // default destructor
     Coverage coverage() const throw ();
     bool map(const Vector<Glyph> &, Glyph &, int &) const;
@@ -91,7 +91,7 @@ class GsubLigature { public:
 };
 
 class GsubContext { public:
-    GsubContext(const Data &) throw (Error);
+    GsubContext(const Data &);
     // default destructor
     Coverage coverage() const throw ();
     void mark_out_glyphs(const Gsub &gsub, Vector<bool> &gmap) const;
@@ -113,7 +113,7 @@ class GsubContext { public:
 };
 
 class GsubChainContext { public:
-    GsubChainContext(const Data &) throw (Error);
+    GsubChainContext(const Data &);
     // default destructor
     Coverage coverage() const throw ();
     void mark_out_glyphs(const Gsub &gsub, Vector<bool> &gmap) const;
Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgpos.cc
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgpos.cc
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgpos.cc
@@ -32,7 +32,7 @@ namespace Efont { namespace OpenType {
  *                        *
  **************************/
 
-Gpos::Gpos(const Data &d, ErrorHandler *errh) throw (Error)
+Gpos::Gpos(const Data &d, ErrorHandler *errh)
 {
     // Fixed    Version
     // Offset   ScriptList
@@ -79,7 +79,7 @@ const int GposValue::nibble_bitcount_x2[
  *                        *
  **************************/
 
-GposLookup::GposLookup(const Data &d) throw (Error)
+GposLookup::GposLookup(const Data &d)
     : _d(d)
 {
     if (_d.length() < 6)
@@ -143,7 +143,7 @@ GposLookup::unparse_automatics(Vector<Po
  *                        *
  **************************/
 
-GposSingle::GposSingle(const Data &d) throw (Error)
+GposSingle::GposSingle(const Data &d)
     : _d(d)
 {
     if (_d[0] != 0
@@ -183,7 +183,7 @@ GposSingle::unparse(Vector<Positioning>
  *                        *
  **************************/
 
-GposPair::GposPair(const Data &d) throw (Error)
+GposPair::GposPair(const Data &d)
     : _d(d)
 {
     if (_d[0] != 0
Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgsub.cc
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgsub.cc
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgsub.cc
@@ -565,7 +565,7 @@ Substitution::unparse(const Vector<PermS
  *                        *
  **************************/
 
-Gsub::Gsub(const Data &d, const Font *otf, ErrorHandler *errh) throw (Error)
+Gsub::Gsub(const Data &d, const Font *otf, ErrorHandler *errh)
     : _chaincontext_reverse_backtrack(false)
 {
     // Fixed    Version
@@ -615,7 +615,7 @@ Gsub::lookup(unsigned i) const
  *                        *
  **************************/
 
-GsubLookup::GsubLookup(const Data &d) throw (Error)
+GsubLookup::GsubLookup(const Data &d)
     : _d(d)
 {
     if (_d.length() < 6)
@@ -779,7 +779,7 @@ GsubLookup::apply(const Glyph *g, int po
  *                        *
  **************************/
 
-GsubSingle::GsubSingle(const Data &d) throw (Error)
+GsubSingle::GsubSingle(const Data &d)
     : _d(d)
 {
     if (_d[0] != 0
@@ -857,7 +857,7 @@ GsubSingle::apply(const Glyph *g, int po
  *                        *
  **************************/
 
-GsubMultiple::GsubMultiple(const Data &d) throw (Error)
+GsubMultiple::GsubMultiple(const Data &d)
     : _d(d)
 {
     if (_d[0] != 0 || _d[1] != 1)
@@ -934,7 +934,7 @@ GsubMultiple::apply(const Glyph *g, int
  *                        *
  **************************/
 
-GsubLigature::GsubLigature(const Data &d) throw (Error)
+GsubLigature::GsubLigature(const Data &d)
     : _d(d)
 {
     if (_d[0] != 0
@@ -1040,7 +1040,7 @@ GsubLigature::apply(const Glyph *g, int
  *                        *
  **************************/
 
-GsubContext::GsubContext(const Data &d) throw (Error)
+GsubContext::GsubContext(const Data &d)
     : _d(d)
 {
     switch (_d.u16(0)) {
@@ -1171,7 +1171,7 @@ GsubContext::unparse(const Gsub &gsub, V
  *                        *
  **************************/
 
-GsubChainContext::GsubChainContext(const Data &d) throw (Error)
+GsubChainContext::GsubChainContext(const Data &d)
     : _d(d)
 {
     switch (_d.u16(0)) {
Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgpos.hh
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgpos.hh
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgpos.hh
@@ -9,7 +9,7 @@ class Positioning;
 
 class Gpos { public:
 
-    Gpos(const Data &, ErrorHandler * = 0) throw (Error);
+    Gpos(const Data &, ErrorHandler * = 0);
     // default destructor
 
     const ScriptList &script_list() const { return _script_list; }
@@ -29,7 +29,7 @@ class Gpos { public:
 };
 
 class GposLookup { public:
-    GposLookup(const Data &) throw (Error);
+    GposLookup(const Data &);
     int type() const                    { return _type; }
     uint16_t flags() const              { return _d.u16(2); }
     bool unparse_automatics(Vector<Positioning> &, ErrorHandler * = 0) const;
@@ -66,7 +66,7 @@ class GposValue { public:
 };
 
 class GposSingle { public:
-    GposSingle(const Data &) throw (Error);
+    GposSingle(const Data &);
     // default destructor
     Coverage coverage() const throw ();
     void unparse(Vector<Positioning> &) const;
@@ -76,7 +76,7 @@ class GposSingle { public:
 };
 
 class GposPair { public:
-    GposPair(const Data &) throw (Error);
+    GposPair(const Data &);
     // default destructor
     Coverage coverage() const throw ();
     void unparse(Vector<Positioning> &) const;
Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/ttfkern.hh
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/ttfkern.hh
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/ttfkern.hh
@@ -6,7 +6,7 @@ namespace Efont { namespace OpenType {
 
 class KernTable { public:
 
-    KernTable(const Data &, ErrorHandler * = 0) throw (Error);
+    KernTable(const Data &, ErrorHandler * = 0);
     // default destructor
 
     bool ok() const                     { return _error >= 0; }
@@ -34,7 +34,7 @@ class KernTable { public:
     inline uint32_t first_offset() const {
         return _version == 0 ? 4 : 8;
     }
-    inline Data subtable(uint32_t &off) const throw (Error);
+    inline Data subtable(uint32_t &off) const;
 
 };
 
Index: texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfkern.cc
===================================================================
--- texlive.orig/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfkern.cc
+++ texlive/texlive-20170520-source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfkern.cc
@@ -27,7 +27,7 @@
 namespace Efont { namespace OpenType {
 
 inline Data
-KernTable::subtable(uint32_t &off_in_out) const throw (Error)
+KernTable::subtable(uint32_t &off_in_out) const
 {
     uint32_t off = off_in_out, len;
     if (_version == 0) {
@@ -42,7 +42,7 @@ KernTable::subtable(uint32_t &off_in_out
     return _d.substring(off, len);
 }
 
-KernTable::KernTable(const Data &d, ErrorHandler *) throw (Error)
+KernTable::KernTable(const Data &d, ErrorHandler *)
     : _d(d), _error(-1)
 {
     // USHORT   Version
