{
CategoryCodeMask = 0x7F,
CombiningCodeMask = 0xFFFFFF,
- CombinedMask = 1 << 27,
- LeftPaddingMask = 1 << 28,
- RightPaddingMask = 1 << 29
+ CombinedMask = 1 << 28,
+ LeftPaddingMask = 1 << 29,
+ RightPaddingMask = 1 << 30
};
#define SET_GLYPH_INFO(g, mask, ctx, info) \
unsigned int tag = g->internal & 0xFFFFFFF;
char enc;
+ if (GET_COMBINED (g))
+ continue;
if (! category)
{
SET_CATEGORY_CODE (g, 0);
FontLayoutContext *ctx)
{
MFLTFont *font = ctx->font;
- int from_idx = ctx->out->used;
if (MDEBUG_FLAG () > 2)
MDEBUG_PRINT3 ("\n [FLT] %*s%s", depth, "", MSYMBOL_NAME (otf_spec->sym));
font->get_glyph_id (font, ctx->in, from, to);
if (mflt_try_otf)
{
- int out_len;
- int i;
-
to = mflt_try_otf (font, otf_spec, ctx->in, from, to);
if (to < 0)
return from;
: g->code
? (int) mchartable_lookup (table, g->code)
: ' ');
- SET_CATEGORY_CODE (g, enc);
+ if (! GET_COMBINED (g))
+ SET_CATEGORY_CODE (g, enc);
}
else
enc = GET_CATEGORY_CODE (g);