ref: a3377daa639dc73982a432af4f79b0fe90852396
parent: 869f33d8f99b927b726898ef17fbadd327cac082
author: Ali Gholami Rudi <ali@rudi.ir>
date: Tue Jun 15 20:51:07 EDT 2021
font: read font section in gsub command
--- a/font.c
+++ b/font.c
@@ -206,7 +206,7 @@
src + i, i, &idx);
if (r < 0) /* no rule found */
break;
- if (gpos[r].sec > 0 && gpos[r].sec == lastsec)
+ if (gpos[r].sec > 0 && gpos[r].sec <= lastsec)
continue; /* perform at most one rule from each lookup */
lastsec = gpos[r].sec;
pats = gpos[r].pats;
@@ -609,6 +609,7 @@
FILE *fin;
char ligs[512][GNLEN];
int ligs_n = 0;
+ int sec;
int i;
fin = fopen(path, "r");
if (!fin)
@@ -636,7 +637,8 @@
ligs_n++;
}
} else if (!strcmp("gsec", tok)) {
- fn->secs++;
+ if (fscanf(fin, "%d", &sec) != 1)
+ fn->secs++;
} else if (!strcmp("gsub", tok)) {
font_readgsub(fn, fin);
} else if (!strcmp("gpos", tok)) {