1
0
mirror of https://github.com/pdf2htmlEX/pdf2htmlEX.git synced 2024-12-22 04:50:09 +00:00

fixe logic of hinting

This commit is contained in:
Lu Wang 2012-09-24 02:22:42 +08:00
parent 01f546efce
commit a4f100a0af
3 changed files with 28 additions and 16 deletions

View File

@ -404,25 +404,30 @@ void HTMLRenderer::embed_font(const string & filepath, GfxFont * font, FontInfo
ffw_close();
/*
* Step 4
* Call external hinting program
* Font Hinting
*/
bool hinted = false;
rename(fn.c_str(), tmp_fn.c_str());
// Call external hinting program if specified
if(param->external_hint_tool != "")
{
rename(fn.c_str(), tmp_fn.c_str());
if(system((char*)str_fmt("%s \"%s\" \"%s\"", param->external_hint_tool.c_str(), tmp_fn.c_str(), fn.c_str())) != 0)
{
if(param->auto_hint)
{
ffw_load_font(tmp_fn.c_str());
ffw_auto_hint();
ffw_save(fn.c_str());
}
else
{
rename(tmp_fn.c_str(), fn.c_str());
}
}
hinted = (system((char*)str_fmt("%s \"%s\" \"%s\"", param->external_hint_tool.c_str(), tmp_fn.c_str(), fn.c_str())) == 0);
}
// Call internal hinting procedure if specified
if((!hinted) && (param->auto_hint))
{
ffw_load_font(tmp_fn.c_str());
ffw_auto_hint();
ffw_save(fn.c_str());
hinted = true;
}
if(!hinted)
{
rename(tmp_fn.c_str(), fn.c_str());
}
/*

View File

@ -70,6 +70,13 @@ void ffw_init(int debug)
}
original_enc = FindOrMakeEncoding("original");
{
Val v;
v.type = v_int;
v.u.ival = 1;
SetPrefs("DetectDiagonalStems", &v, NULL);
}
}
void ffw_fin(void)

View File

@ -11,7 +11,7 @@ with open('out.html','w') as outf:
if not f.lower().endswith('.pdf'):
continue
print f
os.system('pdf2htmlEX --dest-dir html --external-hint-tool="ttfautohint" "%s/%s"' % (DIR,f))
os.system('pdf2htmlEX --dest-dir html --auto-hint=1 --external-hint-tool="ttfautohint" "%s/%s"' % (DIR,f))
ff = f[:-3]
outf.write('<a href="html/%shtml" target="pdf">%s</a><br/>' % (ff,ff))
outf.flush();