*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <config.h>
fseek(p, (long)mlen, SEEK_CUR);
checksum = fuget4(p);
if(checksum && font->checksum && checksum != font->checksum) {
- warning(_("%s: Checksum mismatch (expected %u, got %u)\n"),
- font->fontname, font->checksum, checksum);
+ mdvi_warning(_("%s: Checksum mismatch (expected %u, got %u)\n"),
+ font->fontname, font->checksum, checksum);
} else if(!font->checksum)
font->checksum = checksum;
font->design = fuget4(p);
/* get the font */
ref = font_reference(params, id, name, checksum, hdpi, vdpi, scale);
if(ref == NULL) {
- error(_("(vf) %s: could not load font `%s'\n"),
- font->fontname, name);
+ mdvi_error(_("(vf) %s: could not load font `%s'\n"),
+ font->fontname, name);
goto error;
}
mdvi_free(name);
cc = fuget1(p);
tfm = fuget3(p);
}
+ if (cc < 0 || cc > 65536) {
+ /* TeX engines do not support char codes bigger than 65535 */
+ mdvi_error(_("(vf) %s: unexpected character %d\n"),
+ font->fontname, cc);
+ goto error;
+ }
if(loc < 0 || cc < loc)
loc = cc;
if(hic < 0 || cc > hic)
nchars = cc + 16;
}
if(font->chars[cc].offset) {
- error(_("(vf) %s: character %d redefined\n"),
- font->fontname, cc);
+ mdvi_error(_("(vf) %s: character %d redefined\n"),
+ font->fontname, cc);
goto error;
}
op = fuget1(p);
}
if(op != 248) {
- error(_("(vf) %s: no postamble\n"), font->fontname);
+ mdvi_error(_("(vf) %s: no postamble\n"), font->fontname);
goto error;
}
return 0;
badvf:
- error(_("%s: File corrupted, or not a VF file.\n"), font->fontname);
+ mdvi_error(_("%s: File corrupted, or not a VF file.\n"), font->fontname);
error:
if(font->chars)
mdvi_free(font->chars);