Я работаю над Сервером Ubuntu 14.04 64-разрядный VPS, и я хочу использовать XeLaTeX
создать файлы PDF с желаемыми шрифтами. У меня есть установленные шрифты и XeLaTex
хорошо работает, если я выполняю его от терминала:
xelatex sample.tex
И это производит sample.pdf без любой проблемы. Но если я выполняю ту же команду от PHP exec()
функционируйте как следующая команда:
$cmd = "cd folder && xelatex sample.tex";
$excute = shell_exec($cmd);
Я столкнусь 'со шрифтом, не найден' проблему. Поскольку все в порядке, я думаю, что проблема с полномочиями шрифтов или владением. Я пытался изменить разрешение определенной папки шрифта и файлов к 744
и даже попробованный для изменения владения на тот, кто владеет файлом PHP, но я не мог решить проблему. Я не хочу использовать sudo
выполнить команду из-за проблем безопасности.
Как я должен сделать шрифты Ubuntu доступными для Сценария PHP?
Обновление 1:
Вот мой sample.tex файл, я использую settextfont для выбора шрифтов:
\documentclass[a4paper,12pt]{report}
\usepackage{amsthm,amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{graphicx}
\usepackage[top=3cm,right=3cm,bottom=2.5cm,left=2.5cm]{geometry}
\usepackage{xepersian}
\settextfont[Scale=1.1]{XB Yas}
\setdigitfont{XB Yas}
\begin{document}
Hello, This is a test file.
\end{document}
Обновление 2:
Я изменил код на следующий:
\documentclass[a4paper,12pt]{report}
\usepackage{amsthm,amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{graphicx}
\usepackage[top=3cm,right=3cm,bottom=2.5cm,left=2.5cm]{geometry}
\setmainfont{Yas}[Path = /var/www/html/fonts/,UprightFont = *-Rg,Extension = .ttf]
\begin{document}
Hello, This is a test file.
\end{document}
Но теперь я сталкиваюсь со следующей ошибкой:
fontspec error: "font-not-found"
The font "Yas-Rg" cannot be found.
Существует Yas-Rg.ttf, Yas-Bd.ttf и другие шрифты в/var/www/html/fonts, и владение было установлено на тот, кто владеет Сценарием PHP, и также полномочия были установлены на 774.
Принятие Вас использует fontspec
пакет, и согласно fontspec документация пакета (страница 9), необходимо смочь поместить желаемые шрифты в папку, где апачи получают корректные права:
To load a font that is not in one of the default search paths, its
location in the filesystem must be specified with the Path feature:
\setmainfont{texgyrepagella}[
Path = /var/www/myProject/Fonts/ ,
UprightFont = *-regular ,
BoldFont = *-bold ,
... ]