[autofit] Minor reorganization.

* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT,
AF_SCRIPT_LIST_NONE, AF_DIGIT): Move to...
* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT, AF_SCRIPT_LIST_NONE,
AF_DIGIT): This and update code.
This commit is contained in:
Werner Lemberg 2012-09-12 17:45:39 +02:00
Родитель 44481daf43
Коммит 7bbbcbfb1a
3 изменённых файлов: 25 добавлений и 15 удалений

Просмотреть файл

@ -1,3 +1,12 @@
2012-09-12 Werner Lemberg <wl@gnu.org>
[autofit] Minor reorganization.
* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT,
AF_SCRIPT_LIST_NONE, AF_DIGIT): Move to...
* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT, AF_SCRIPT_LIST_NONE,
AF_DIGIT): This and update code.
2012-09-01 Werner Lemberg <wl@gnu.org>
[autofit] Implement `glyph-to-script-map' property.

Просмотреть файл

@ -49,13 +49,6 @@
#endif /* !FT_CONFIG_OPTION_PIC */
/* index of default script in `af_script_classes' */
#define AF_SCRIPT_LIST_DEFAULT 2
/* a bit mask indicating an uncovered glyph */
#define AF_SCRIPT_LIST_NONE 0x7F
/* if this flag is set, we have an ASCII digit */
#define AF_DIGIT 0x80
/* Compute the script index of each glyph within a given face. */
@ -70,9 +63,9 @@
FT_UInt i;
/* the value AF_SCRIPT_LIST_NONE means `uncovered glyph' */
/* the value AF_SCRIPT_NONE means `uncovered glyph' */
FT_MEM_SET( globals->glyph_scripts,
AF_SCRIPT_LIST_NONE,
AF_SCRIPT_NONE,
globals->glyph_count );
error = FT_Select_Charmap( face, FT_ENCODING_UNICODE );
@ -110,7 +103,7 @@
if ( gindex != 0 &&
gindex < (FT_ULong)globals->glyph_count &&
gscripts[gindex] == AF_SCRIPT_LIST_NONE )
gscripts[gindex] == AF_SCRIPT_NONE )
gscripts[gindex] = (FT_Byte)ss;
for (;;)
@ -121,7 +114,7 @@
break;
if ( gindex < (FT_ULong)globals->glyph_count &&
gscripts[gindex] == AF_SCRIPT_LIST_NONE )
gscripts[gindex] == AF_SCRIPT_NONE )
gscripts[gindex] = (FT_Byte)ss;
}
}
@ -148,10 +141,10 @@
for ( nn = 0; nn < globals->glyph_count; nn++ )
{
if ( ( gscripts[nn] & ~AF_DIGIT ) == AF_SCRIPT_LIST_NONE )
if ( ( gscripts[nn] & ~AF_DIGIT ) == AF_SCRIPT_NONE )
{
gscripts[nn] &= ~AF_SCRIPT_LIST_NONE;
gscripts[nn] |= AF_SCRIPT_LIST_DEFAULT;
gscripts[nn] &= ~AF_SCRIPT_NONE;
gscripts[nn] |= AF_SCRIPT_DEFAULT;
}
}
}
@ -250,7 +243,7 @@
gidx = script;
if ( gidx == 0 || gidx + 1 >= script_max )
gidx = globals->glyph_scripts[gindex] & AF_SCRIPT_LIST_NONE;
gidx = globals->glyph_scripts[gindex] & AF_SCRIPT_NONE;
clazz = AF_SCRIPT_CLASSES_GET[gidx];
if ( script == 0 )

Просмотреть файл

@ -36,6 +36,14 @@ FT_BEGIN_HEADER
/************************************************************************/
/* index of default script in `af_script_classes' */
#define AF_SCRIPT_DEFAULT 2
/* a bit mask indicating an uncovered glyph */
#define AF_SCRIPT_NONE 0x7F
/* if this flag is set, we have an ASCII digit */
#define AF_DIGIT 0x80
/*
* Note that glyph_scripts[] is used to map each glyph into
* an index into the `af_script_classes' array.