summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@chown.ath.cx>2014-01-29 05:23:55 +0100
committerGrigori Goronzy <greg@chown.ath.cx>2014-01-29 05:23:55 +0100
commit8adee493913fbf21c285f15717270757e87b4779 (patch)
tree85b542ca05714372cf82e5d3eebb472540490241
parent337793ee8246b44ccedf7872234bf8937608bfcd (diff)
downloadlibass-8adee493913fbf21c285f15717270757e87b4779.tar.bz2
libass-8adee493913fbf21c285f15717270757e87b4779.tar.xz
shaper: use global features correctly
start/end of feature tags is unsigned, so use the proper constant to signal to HarfBuzz that these features are global. This allows HarfBuzz to cache shape plans, and that can considerably speed up shaping, especially if many small runs need to be shaped.
-rw-r--r--libass/ass_shaper.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libass/ass_shaper.c b/libass/ass_shaper.c
index 0e81824..8f12291 100644
--- a/libass/ass_shaper.c
+++ b/libass/ass_shaper.c
@@ -140,15 +140,15 @@ static void init_features(ASS_Shaper *shaper)
shaper->n_features = NUM_FEATURES;
shaper->features[VERT].tag = HB_TAG('v', 'e', 'r', 't');
- shaper->features[VERT].end = INT_MAX;
+ shaper->features[VERT].end = UINT_MAX;
shaper->features[VKNA].tag = HB_TAG('v', 'k', 'n', 'a');
- shaper->features[VKNA].end = INT_MAX;
+ shaper->features[VKNA].end = UINT_MAX;
shaper->features[KERN].tag = HB_TAG('k', 'e', 'r', 'n');
- shaper->features[KERN].end = INT_MAX;
+ shaper->features[KERN].end = UINT_MAX;
shaper->features[LIGA].tag = HB_TAG('l', 'i', 'g', 'a');
- shaper->features[LIGA].end = INT_MAX;
+ shaper->features[LIGA].end = UINT_MAX;
shaper->features[CLIG].tag = HB_TAG('c', 'l', 'i', 'g');
- shaper->features[CLIG].end = INT_MAX;
+ shaper->features[CLIG].end = UINT_MAX;
}
/**