diff options
author | Taco Hoekwater <taco@elvenkind.com> | 2014-03-15 12:21:15 +0000 |
---|---|---|
committer | Taco Hoekwater <taco@elvenkind.com> | 2014-03-15 12:21:15 +0000 |
commit | a22d9897afbabdd07f13d2bc5c7c5b9c5865ab53 (patch) | |
tree | 70829ffa23329ca4c04efa8da7a18cfe9c44a1f4 /Build/source/texk/web2c/luatexdir/luafontloader | |
parent | 5909dbd7ee4290cc486c9c12e4ef0b2bfb9067d4 (diff) |
here is luatex 0.79.0
git-svn-id: svn://tug.org/texlive/trunk@33180 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luafontloader')
3 files changed, 29 insertions, 12 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/parsettf.c b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/parsettf.c index 339f99ffc29..92efbc7800f 100644 --- a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/parsettf.c +++ b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/parsettf.c @@ -4001,14 +4001,7 @@ static void readttfvwidths(FILE *ttf,struct ttfinfo *info) { tsb = getushort(ttf); if ( info->chars[i]!=NULL ) { /* can happen in ttc files */ info->chars[i]->vwidth = lastvwidth; -#if 0 /* this used to mean something once */ - /* At one point I stored the ymax of loading the glyph in lsidebearing*/ - /* I've removed that as it now seems pointless */ - if ( info->cff_start==0 ) { - voff += tsb + info->chars[i]->lsidebearing /* actually maxy */; - ++cnt; - } -#endif + info->chars[i]->tsb = tsb; } } if ( i==0 ) { @@ -5657,6 +5650,17 @@ static void PsuedoEncodeUnencoded(EncMap *map,struct ttfinfo *info) { if ( info->chars[i]!=NULL && !info->chars[i]->ticked ) ++extras; if ( extras!=0 ) { + /* UnicodeBmp has its own Private Use Areas */ + /* if (strcmp(map->enc_name","UnicodeBmp")==0) { */ + /* if ( (info->glyph_cnt < 0x18FF) && (map->enccount<0xE000)) */ + /* base = 0xE000 */ + /* else if ( map->enccount<0xF0000 ) */ + /* base = 0xF0000; */ + /* else if ( map->enccount<0x100000 ) */ + /* base = 0x100000; */ + /* else */ + /* base = map->enccount; */ + /* } else { */ if ( map->enccount<=256 ) base = 256; else if ( map->enccount<=65536 ) @@ -6050,6 +6054,11 @@ static SplineFont *SFFillFromTTFInfo(struct ttfinfo *info) { sf->units_per_em = info->emsize ; sf->pfminfo = info->pfminfo ; + free(info->savetab); + if ( sf->copyright==NULL ) + sf->copyright = info->copyright; + else + free( info->copyright ); return( sf ); } diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinefont.h b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinefont.h index 6dc6cec2b8a..edb726e0657 100644 --- a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinefont.h +++ b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinefont.h @@ -1130,9 +1130,9 @@ typedef struct splinechar { char *name; int unicodeenc; int orig_pos; /* Original position in the glyph list */ - int16 width, vwidth; + int16 width, vwidth, tsb; int16 xmin, ymin, xmax, ymax; - int16 lsidebearing; /* only used when reading in a type1 font */ + int16 lsidebearing; /* only used when reading in a type1 font */ /* Or an otf font where it is the subr number of a refered character */ /* or a ttf font without bit 1 of head.flags set */ /* or (once upon a time, but no longer) a ttf font with vert metrics where it is the ymax value when we had a font-wide vertical offset */ diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c b/Build/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c index 7163fb2f026..f8efad26e56 100644 --- a/Build/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c +++ b/Build/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c @@ -33,7 +33,7 @@ #include <locale.h> static const char _svn_version[] = - "$Id: luafflib.c 4768 2014-01-28 15:38:54Z luigi $ " + "$Id: luafflib.c 4884 2014-03-14 13:21:17Z taco $ " "$URL: https://foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c $"; extern char **gww_errors; @@ -1001,8 +1001,11 @@ void handle_splinechar(lua_State * L, struct splinechar *glyph, int hasvmetrics) lua_rawset(L, -3); lua_setfield(L, -2, "boundingbox"); /*dump_intfield(L,"orig_pos", glyph->orig_pos); */ - if (hasvmetrics) + if (hasvmetrics) { dump_intfield(L, "vwidth", glyph->vwidth); + if (glyph->tsb != 0) + dump_intfield(L, "tsidebearing", glyph->tsb); + } dump_intfield(L, "width", glyph->width); if (glyph->lsidebearing != glyph->xmin) { @@ -3226,7 +3229,12 @@ static int ff_info(lua_State * L) fontname); return 2; } + + gww_error_count = 0; sf = ReadSplineFontInfo((char *) fontname, openflags); + if (gww_error_count > 0) + gwwv_errors_free(); + if (sf == NULL) { lua_pushnil(L); lua_pushfstring(L, "font loading failed for %s\n", fontname); |