diff --git a/ChangeLog b/ChangeLog index c01e10915..128905b61 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-06-14 Werner Lemberg + + * 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 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix diff --git a/src/autofit/aflatin.c b/src/autofit/aflatin.c index 04b4f7b23..6b4e8c207 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 } };