ICU-9826 ICU4C 50.1.2 fix ABI regression from #9723

X-SVN-Rev: 33035
diff --git a/readme.html b/readme.html
index 52d459e..d1db2a4 100644
--- a/readme.html
+++ b/readme.html
@@ -3,9 +3,9 @@
 
 <html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
   <head>
-    <title>ReadMe for ICU 50.1.1</title>
+    <title>ReadMe for ICU 50.1.2</title>
     <meta name="COPYRIGHT" content=
-    "Copyright (c) 1997-2012 IBM Corporation and others. All Rights Reserved." />
+    "Copyright (c) 1997-2013 IBM Corporation and others. All Rights Reserved." />
     <meta name="KEYWORDS" content=
     "ICU; International Components for Unicode; ICU4C; what's new; readme; read me; introduction; downloads; downloading; building; installation;" />
     <meta name="DESCRIPTION" content=
@@ -16,7 +16,7 @@
 
   <body class="draft">
     <h1>International Components for Unicode<br />
-     <abbr title="International Components for Unicode">ICU</abbr> 50.1.1 ReadMe</h1>
+     <abbr title="International Components for Unicode">ICU</abbr> 50.1.2 ReadMe</h1>
 
     <!--<p><b>Note:</b> This is a development milestone release of ICU4C 50.
     This milestone is intended for those wishing to get an early look at ICU 50 new features and API changes.
@@ -24,8 +24,8 @@
     <!--<p><b>Note:</b> This is a release candidate version of ICU4C 50.
     It is not recommended for production use.</p>-->
 
-    <p>Last updated: 2012-Dec-14<br />
-     Copyright &copy; 1997-2012 International Business Machines Corporation and
+    <p>Last updated: 2013-Jan-10<br />
+     Copyright &copy; 1997-2013 International Business Machines Corporation and
     others. All Rights Reserved.</p>
     <!-- Remember that there is a copyright at the end too -->
     <hr />
diff --git a/source/common/unicode/uvernum.h b/source/common/unicode/uvernum.h
index 6a2c68d..b3a858b 100644
--- a/source/common/unicode/uvernum.h
+++ b/source/common/unicode/uvernum.h
@@ -1,6 +1,6 @@
 /*
 *******************************************************************************
-*   Copyright (C) 2000-2012, International Business Machines
+*   Copyright (C) 2000-2013, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *******************************************************************************
 *
@@ -69,7 +69,7 @@
  *  This value will change in the subsequent releases of ICU
  *  @stable ICU 2.4
  */
-#define U_ICU_VERSION_PATCHLEVEL_NUM 1
+#define U_ICU_VERSION_PATCHLEVEL_NUM 2
 
 /** The current ICU build level version as an integer.  
  *  This value is for use by ICU clients. It defaults to 0.
@@ -118,7 +118,7 @@
  *  This value will change in the subsequent releases of ICU
  *  @stable ICU 2.4
  */
-#define U_ICU_VERSION "50.1.1"
+#define U_ICU_VERSION "50.1.2"
 
 /** The current ICU library major/minor version as a string without dots, for library name suffixes. 
  *  This value will change in the subsequent releases of ICU
diff --git a/source/layout/LEFontInstance.h b/source/layout/LEFontInstance.h
index d84a652..5249f6a 100644
--- a/source/layout/LEFontInstance.h
+++ b/source/layout/LEFontInstance.h
@@ -1,7 +1,7 @@
 
 /*
  *
- * (C) Copyright IBM Corp. 1998-2012 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
  *
  */
 
@@ -9,11 +9,22 @@
 #define __LEFONTINSTANCE_H
 
 #include "LETypes.h"
+
 /**
  * \file 
  * \brief C++ API: Layout Engine Font Instance object
  */
 
+/**
+ * \def LE_CONFIG_FONTINSTANCE_LENGTH
+ * @internal
+ * Set this to 1 to enable a virtual function on LEFontInstance which takes a font length, this is for compatibility with HarfBuzz. This is off by default in ICU 50, but enabled by default in ICU 51+
+ */
+#ifndef LE_CONFIG_FONTINSTANCE_LENGTH
+#define LE_CONFIG_FONTINSTANCE_LENGTH 0
+#endif
+
+
 U_NAMESPACE_BEGIN
 
 /**
@@ -165,6 +176,8 @@
      */
     virtual const void *getFontTable(LETag tableTag) const = 0;
 
+
+#if LE_CONFIG_FONTINSTANCE_LENGTH
     /**
      * This method reads a table from the font. Note that in general,
      * it only makes sense to call this method on an <code>LEFontInstance</code>
@@ -183,6 +196,7 @@
      * @internal
      */
     virtual const void* getFontTable(LETag tableTag, size_t &length) const { length=-1; return getFontTable(tableTag); }  /* -1 = unknown length */
+#endif
 
     /**
      * This method is used to determine if the font can