Commit 46dde4953a9ebad69863075672bb79d9ced78e23

Werner Lemberg 2007-06-14T03:59:02

* src/autofit/aflatin.c (af_latin_uniranges): Expand structure to cover all ranges which could possibly be handled by the aflatin module (since the default fallback for unknown ranges is now the afcjk module). It might be necessary to fine-tune this further by splitting off modules for Greek, Cyrillic, or other blocks.

diff --git a/ChangeLog b/ChangeLog
index c01e109..128905b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-06-14  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
+	cover all ranges which could possibly be handled by the aflatin
+	module (since the default fallback for unknown ranges is now the
+	afcjk module).  It might be necessary to fine-tune this further by
+	splitting off modules for Greek, Cyrillic, or other blocks.
+
 2007-06-11  David Turner  <david@freetype.org>
 
 	* src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
diff --git a/src/autofit/aflatin.c b/src/autofit/aflatin.c
index 04b4f7b..6b4e8c2 100644
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -2116,11 +2116,32 @@
   /*************************************************************************/
 
 
+  /* XXX: this should probably fine tuned to differentiate better between */
+  /*      scripts...                                                      */
+
   static const AF_Script_UniRangeRec  af_latin_uniranges[] =
   {
-    { 32,  127 },    /* XXX: TODO: Add new Unicode ranges here! */
-    { 160, 255 },
-    { 0,   0 }
+    { 0x0020, 0x007F },  /* Basic Latin (no control characters) */
+    { 0x00A0, 0x00FF },  /* Latin-1 Supplement (no control characters) */
+    { 0x0100, 0x017F },  /* Latin Extended-A */
+    { 0x0180, 0x024F },  /* Latin Extended-B */
+    { 0x0250, 0x02AF },  /* IPA Extensions */
+    { 0x02B0, 0x02FF },  /* Spacing Modifier Letters */
+    { 0x0300, 0x036F },  /* Combining Diacritical Marks */
+    { 0x0370, 0x03FF },  /* Greek and Coptic */
+    { 0x0400, 0x04FF },  /* Cyrillic */
+    { 0x0500, 0x052F },  /* Cyrillic Supplement */
+    { 0x1D00, 0x1D7F },  /* Phonetic Extensions */
+    { 0x1D80, 0x1DBF },  /* Phonetic Extensions Supplement */
+    { 0x1DC0, 0x1DFF },  /* Combining Diacritical Marks Supplement */
+    { 0x1E00, 0x1EFF },  /* Latin Extended Additional */
+    { 0x1F00, 0x1FFF },  /* Greek Extended */
+    { 0x2000, 0x206F },  /* General Punctuation */
+    { 0x2070, 0x209F },  /* Superscripts and Subscripts */
+    { 0x20A0, 0x20CF },  /* Currency Symbols */
+    { 0x2150, 0x218F },  /* Number Forms */
+    { 0x2460, 0x24FF },  /* Enclosed Alphanumerics */
+    { 0     , 0      }
   };