Tweak to Tye 42 font generation -- construct the CharStrings dictionary
[sgt/halibut] / bk_text.c
index e4a2d81..6df426e 100644 (file)
--- a/bk_text.c
+++ b/bk_text.c
@@ -83,7 +83,7 @@ static textconfig text_configure(paragraph *source) {
     ret.achapter.number_suffix = L": ";
     ret.achapter.underline = L"\x203E\0-\0\0";
     ret.nasect = 1;
-    ret.asect = mknewa(alignstruct, ret.nasect);
+    ret.asect = snewn(ret.nasect, alignstruct);
     ret.asect[0].align = LEFTPLUS;
     ret.asect[0].just_numbers = TRUE;
     ret.asect[0].number_suffix = L" ";
@@ -126,9 +126,7 @@ static textconfig text_configure(paragraph *source) {
            if (!ustricmp(p->keyword, L"text-indent")) {
                ret.indent = utoi(uadv(p->keyword));
            } else if (!ustricmp(p->keyword, L"text-charset")) {
-               char *csname = utoa_dup(uadv(p->keyword), CS_ASCII);
-               ret.charset = charset_from_localenc(csname);
-               sfree(csname);
+               ret.charset = charset_from_ustr(&p->fpos, uadv(p->keyword));
            } else if (!ustricmp(p->keyword, L"text-filename")) {
                sfree(ret.filename);
                ret.filename = dupstr(adv(p->origkeyword));
@@ -157,7 +155,7 @@ static textconfig text_configure(paragraph *source) {
                }
                if (n >= ret.nasect) {
                    int i;
-                   ret.asect = resize(ret.asect, n+1);
+                   ret.asect = sresize(ret.asect, n+1, alignstruct);
                    for (i = ret.nasect; i <= n; i++)
                        ret.asect[i] = ret.asect[ret.nasect-1];
                    ret.nasect = n+1;
@@ -172,7 +170,7 @@ static textconfig text_configure(paragraph *source) {
                }
                if (n >= ret.nasect) {
                    int i;
-                   ret.asect = resize(ret.asect, n+1);
+                   ret.asect = sresize(ret.asect, n+1, alignstruct);
                    for (i = ret.nasect; i <= n; i++)
                        ret.asect[i] = ret.asect[ret.nasect-1];
                    ret.nasect = n+1;
@@ -187,7 +185,7 @@ static textconfig text_configure(paragraph *source) {
                }
                if (n >= ret.nasect) {
                    int i;
-                   ret.asect = resize(ret.asect, n+1);
+                   ret.asect = sresize(ret.asect, n+1, alignstruct);
                    for (i = ret.nasect; i <= n; i++)
                        ret.asect[i] = ret.asect[ret.nasect-1];
                    ret.nasect = n+1;
@@ -202,7 +200,7 @@ static textconfig text_configure(paragraph *source) {
                }
                if (n >= ret.nasect) {
                    int i;
-                   ret.asect = resize(ret.asect, n+1);
+                   ret.asect = sresize(ret.asect, n+1, alignstruct);
                    for (i = ret.nasect; i <= n; i++) {
                        ret.asect[i] = ret.asect[ret.nasect-1];
                    }