mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Use XeLateX to build PDF manual which does not fail for chinese and turkish languages
This commit is contained in:
parent
22ead7db5a
commit
1e6d8cee00
@ -40,7 +40,6 @@ def sphinx_build(language, base, builder='html', bdir='html', t=None, quiet=True
|
||||
|
||||
def build_manual(language, base):
|
||||
sb = partial(sphinx_build, language, base)
|
||||
skip_pdf = language == 'tr' or 'zh' in language
|
||||
onlinedir = sb(t='online')
|
||||
epubdir = sb('myepub', 'epub')
|
||||
latexdir = sb('mylatex', 'latex')
|
||||
@ -52,12 +51,11 @@ def build_manual(language, base):
|
||||
p.stdin.close()
|
||||
return p.wait()
|
||||
try:
|
||||
if not skip_pdf:
|
||||
for i in range(3):
|
||||
run_cmd(['pdflatex', '-interaction=nonstopmode', 'calibre.tex'])
|
||||
run_cmd(['xelatex', '-interaction=nonstopmode', 'calibre.tex'])
|
||||
run_cmd(['makeindex', '-s', 'python.ist', 'calibre.idx'])
|
||||
for i in range(2):
|
||||
run_cmd(['pdflatex', '-interaction=nonstopmode', 'calibre.tex'])
|
||||
run_cmd(['xelatex', '-interaction=nonstopmode', 'calibre.tex'])
|
||||
if not os.path.exists('calibre.pdf'):
|
||||
print('Failed to build pdf file, see calibre.log in the latex directory', file=sys.stderr)
|
||||
raise SystemExit(1)
|
||||
@ -66,7 +64,6 @@ def build_manual(language, base):
|
||||
epub_dest = j(onlinedir, 'calibre.epub')
|
||||
pdf_dest = j(onlinedir, 'calibre.pdf')
|
||||
shutil.copyfile(j(epubdir, 'calibre.epub'), epub_dest)
|
||||
if not skip_pdf:
|
||||
shutil.copyfile(j(latexdir, 'calibre.pdf'), pdf_dest)
|
||||
epub_to_azw3(epub_dest)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user