| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/usr/bin/env python
- """
- Generates PDF names for name-table.h, replacing symbols invalid for .NET fields.
- """
- import os, re, time
- import pathlib
- def replaceInvalidSymbol(m):
- return "PDF_MAKE_NAME(\""+m.group(1)+"\", _"+m.group(2)+")"
- def main():
- os.chdir(os.path.join(os.path.dirname(__file__), ".."))
- src = "mupdf/include/mupdf/pdf/name-table.h"
- dest = "MuPDFLib/!Include/name-table.h"
- if os.path.isfile(dest):
- ms = os.path.getmtime(src)
- md = os.path.getmtime(dest)
- if ms == md:
- print("skipped up-to-date name-table.h")
- return;
- name_table = open(src).read()
- name_table = re.sub(r"PDF_MAKE_NAME\(\"(.+?)\", (\d.*)\)", replaceInvalidSymbol, name_table)
- name_table = re.sub(r"/[/\*].*?\r?\n", "", name_table)
- target = open(dest, "wt")
- target.write("// This file is automatically generated by sync_name_table.py from mupdf/include/mupdf/pdf/name-table.h\n")
- target.write(name_table)
- os.utime(dest, (time.time(), ms))
- print("synced name-table.h")
- if __name__ == "__main__":
- main()
|