[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:
parent
44481daf43
commit
7bbbcbfb1a
|
@ -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>
|
2012-09-01 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
[autofit] Implement `glyph-to-script-map' property.
|
[autofit] Implement `glyph-to-script-map' property.
|
||||||
|
|
|
@ -49,13 +49,6 @@
|
||||||
|
|
||||||
#endif /* !FT_CONFIG_OPTION_PIC */
|
#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. */
|
/* Compute the script index of each glyph within a given face. */
|
||||||
|
|
||||||
|
@ -70,9 +63,9 @@
|
||||||
FT_UInt i;
|
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,
|
FT_MEM_SET( globals->glyph_scripts,
|
||||||
AF_SCRIPT_LIST_NONE,
|
AF_SCRIPT_NONE,
|
||||||
globals->glyph_count );
|
globals->glyph_count );
|
||||||
|
|
||||||
error = FT_Select_Charmap( face, FT_ENCODING_UNICODE );
|
error = FT_Select_Charmap( face, FT_ENCODING_UNICODE );
|
||||||
|
@ -110,7 +103,7 @@
|
||||||
|
|
||||||
if ( gindex != 0 &&
|
if ( gindex != 0 &&
|
||||||
gindex < (FT_ULong)globals->glyph_count &&
|
gindex < (FT_ULong)globals->glyph_count &&
|
||||||
gscripts[gindex] == AF_SCRIPT_LIST_NONE )
|
gscripts[gindex] == AF_SCRIPT_NONE )
|
||||||
gscripts[gindex] = (FT_Byte)ss;
|
gscripts[gindex] = (FT_Byte)ss;
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
|
@ -121,7 +114,7 @@
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if ( gindex < (FT_ULong)globals->glyph_count &&
|
if ( gindex < (FT_ULong)globals->glyph_count &&
|
||||||
gscripts[gindex] == AF_SCRIPT_LIST_NONE )
|
gscripts[gindex] == AF_SCRIPT_NONE )
|
||||||
gscripts[gindex] = (FT_Byte)ss;
|
gscripts[gindex] = (FT_Byte)ss;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -148,10 +141,10 @@
|
||||||
|
|
||||||
for ( nn = 0; nn < globals->glyph_count; nn++ )
|
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_NONE;
|
||||||
gscripts[nn] |= AF_SCRIPT_LIST_DEFAULT;
|
gscripts[nn] |= AF_SCRIPT_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -250,7 +243,7 @@
|
||||||
|
|
||||||
gidx = script;
|
gidx = script;
|
||||||
if ( gidx == 0 || gidx + 1 >= script_max )
|
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];
|
clazz = AF_SCRIPT_CLASSES_GET[gidx];
|
||||||
if ( script == 0 )
|
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
|
* Note that glyph_scripts[] is used to map each glyph into
|
||||||
* an index into the `af_script_classes' array.
|
* an index into the `af_script_classes' array.
|
||||||
|
|
Loading…
Reference in New Issue