projects
/
m17n
/
m17n-lib.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
83eb2c7
)
(decode_packed_otf_tag): Re-calculate category code only if some
author
handa
<handa>
Thu, 3 Dec 2009 08:08:56 +0000
(08:08 +0000)
committer
handa
<handa>
Thu, 3 Dec 2009 08:08:56 +0000
(08:08 +0000)
feature is applied.
src/m17n-flt.c
patch
|
blob
|
history
diff --git
a/src/m17n-flt.c
b/src/m17n-flt.c
index
0e54af1
..
891b69f
100644
(file)
--- a/
src/m17n-flt.c
+++ b/
src/m17n-flt.c
@@
-1861,7
+1861,8
@@
decode_packed_otf_tag (FontLayoutContext *ctx, MFLTGlyphString *gstring,
{
int i;
{
int i;
- g->internal &= 0x30000000;
+ /* Clear the feature tag code. */
+ g->internal &= ~0xFFFFFFF;
for (i = 0, enc = '\0'; i < category->feature_table.size; i++)
if (category->feature_table.tag[i] == tag)
{
for (i = 0, enc = '\0'; i < category->feature_table.size; i++)
if (category->feature_table.tag[i] == tag)
{
@@
-1870,12
+1871,11
@@
decode_packed_otf_tag (FontLayoutContext *ctx, MFLTGlyphString *gstring,
ctx->encoded[from - ctx->encoded_offset] = enc;
break;
}
ctx->encoded[from - ctx->encoded_offset] = enc;
break;
}
+ if (! enc)
+ enc = (g->c > 0 ? (int) mchartable_lookup (category->table, g->c)
+ : 1);
+ SET_CATEGORY_CODE (g, enc);
}
}
- else
- enc = '\0';
- if (! enc)
- enc = g->c > 0 ? (int) mchartable_lookup (category->table, g->c) : 1;
- SET_CATEGORY_CODE (g, enc);
}
}
}
}
@@
-2138,19
+2138,6
@@
run_command (int depth, int id, int from, int to, FontLayoutContext *ctx)
g = GREF (ctx->out, ctx->out->used - 1);
if (ctx->combining_code)
SET_COMBINING_CODE (g, ctx, ctx->combining_code);
g = GREF (ctx->out, ctx->out->used - 1);
if (ctx->combining_code)
SET_COMBINING_CODE (g, ctx, ctx->combining_code);
-#if 0
- else if (! GET_COMBINED (g) && ctx->category)
- {
- MCharTable *table = ctx->category->table;
- char enc = (GET_ENCODED (g)
- ? (g->c > 0 ? (int) mchartable_lookup (table, g->c)
- : 1)
- : g->code
- ? (int) mchartable_lookup (table, g->code)
- : ' ');
- SET_CATEGORY_CODE (g, enc);
- }
-#endif
if (ctx->left_padding)
SET_LEFT_PADDING (g, ctx, LeftPaddingMask);
if (ctx->cluster_begin_idx >= 0)
if (ctx->left_padding)
SET_LEFT_PADDING (g, ctx, LeftPaddingMask);
if (ctx->cluster_begin_idx >= 0)