X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=buildscripts%2Fmf-to-table.py;h=1dfb64f4e2462a8531109e549b1e46e984a4cf4e;hb=89bf299597169eeaa5ed7a215b6e808fa849c8cd;hp=4c87408117cd194c885b7aa023647ceedd1bc05c;hpb=2007f11f76fb92b495ac33621539aa481873302a;p=lilypond.git diff --git a/buildscripts/mf-to-table.py b/buildscripts/mf-to-table.py index 4c87408117..1dfb64f4e2 100755 --- a/buildscripts/mf-to-table.py +++ b/buildscripts/mf-to-table.py @@ -43,6 +43,19 @@ class Char_metric: pass +def tfm_checksum (fn): + s = open (fn).read () + s = s[ 12 * 2 : ] + cs_bytes = s[:4] + + shift = 24 + cs = 0 + for b in cs_bytes: + cs = cs + (ord (b) << shift) + shift = shift - 8 + + return cs + def parse_logfile (fn): (autolines, deps) = read_log_file (fn) charmetrics = [] @@ -163,7 +176,11 @@ for opt in options: for filenm in files: (g,m, deps) = parse_logfile (filenm) + cs = tfm_checksum (re.sub ('.log$', '.tfm', filenm)) afm = open (afmfile_nm, 'w') + + afm.write ("TfmCheckSum %u\n" % cs) + write_afm_metric (afm, g,m) write_tex_defs (open (texfile_nm, 'w'), g, m) write_deps (open (depfile_nm, 'wb'), deps, [texfile_nm, afmfile_nm])