Шрифты в pdf документах испорчены при генерации с помощью latex (в частности, pdflatex) на Mac OSX - PullRequest
4 голосов
/ 20 декабря 2008

Мой коллега предполагает, что виноват texniscope, и что я должен попытаться очистить его от своей системы. Я действительно надеюсь, что мне не придется прибегать к этому!

Возможные подсказки:

  • Это не было проблемой, пока я не перешел на Leopard.

  • Когда я говорю, что шрифты испорчены, я имею в виду, что основной текст выглядит так, как будто это стандартный системный шрифт Mac, и вся математика полностью нечитаема. В основном все специальные символы полностью искажены.

  • Я установил латекс отсюда: http://www.tug.org/mactex/. У меня уже был установлен технископ.

  • Когда я запускаю /usr/texbin/pdflatex foo.tex, это похоже на работу:

     This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7)
     %&-line parsing enabled.
     entering extended mode
    ...

но полученный файл PDF испортил шрифты.

  • То же самое происходит и с pdflatex в командной строке, или с использованием TeXShop.

Ответы [ 6 ]

5 голосов
/ 19 февраля 2009

Apple знает о проблеме и не планирует ее устранять (у меня был преподаватель, который проводил много времени, тестируя и сообщая об ошибке в Apple). Они утверждают, что PDFTeX неправильно встраивает шрифты, и они исправили библиотеку Apple PDF, чтобы быть более строгими в отношении того, что она будет и не будет принимать, а это означает, что вы по-прежнему будете видеть проблемы с документами PDF, созданными с PDFTeX в Preview. , TeXShop или другие инструменты, которые отображают PDF с помощью движка Apple PDF. К сожалению, они не совсем поняли, что именно делает PDFTeX неправильно, что делает исправление проблемы или даже сообщение об ошибке разработчикам PDFTeX проблематичным. Обратите внимание, что приложения Adobe Acrobat или Reader могут часто отображать эти документы без каких-либо проблем; по-видимому, проверка ошибок Adobe более либеральна, чем проверка Apple.

На самом деле вы можете восстановить эту проблему без перезагрузки, хотя вы можете увидеть, что она повторяется с тем же документом в том же сеансе. Вам нужно запустить

atsutil server -shutdown

, который убьет демон сервера Apple Type Services (ATSServer) и создаст новый экземпляр, по совпадению восстановив его файлы кэша.

3 голосов
/ 17 апреля 2009

TUG недавно выпустила обновленные двоичные файлы, исправляющие ошибку, приводящую к повреждению кэша шрифтов: http://www.tug.org/mactex/fontcache/

1 голос
/ 09 февраля 2010

Эта ошибка свела меня с ума. Вдохновленный этой подсказкой , я нашел лучший способ справиться с этим, а именно выполнить следующую последовательность в оболочке:

atsutil databases -removeUser
sudo atsutil databases -remove
atsutil server -shutdown
atsutil server -ping

Вы можете добавить эту последовательность в функции оболочки в вашем файле конфигурации оболочки (у меня это .zshrc):

function atsrm()
{
  atsutil databases -removeUser
  sudo atsutil databases -remove
  atsutil server -shutdown
  atsutil server -ping
}

... и просто вызовите atsrm в терминале, чтобы очистить кэш шрифтов. Имейте в виду, что Skim аварийно завершит работу, если он был открыт, и некоторые приложения могут отображать некоторые символы неправильно, поэтому вам придется их перезапускать.

1 голос
/ 20 декабря 2008

Кажется, я нашел ответ от http://www.stat.duke.edu/~dmm36/tech.php,, вставленного ниже. Увы, похоже, я должен отказаться от TeXniscope. Мне нравится TeXniscope намного лучше, чем Skim, потому что он намного проще, имеет лучшие сочетания клавиш для подкачки страниц, и Skim заставляет вас вручную обновлять pdf каждый раз, когда возникает ошибка латекса (в противном случае Skim автоматически обновляется).

Цитируется из http://www.stat.duke.edu/~dmm36/tech.php:

После недавнего обновления до Leopard, что-то очень странное и ужасное начало происходить с файлами pdf, созданными в latex (дистрибутив MacTeX 2007). Суть в том, что шрифты не отображались правильно ни в одном приложении, которое использовало встроенный в Apple движок pdf (например, preview.app, skim.app, Texniscope.app, LaTeXit.app, но не Adobe Reader 8). Более таинственным был тот факт, что один и тот же документ мог отображаться по-разному в нескольких местах.

Началось много поисков, пока я не нашел в группе новостей mac tex сообщение о том, что проблема заключается в поврежденных кешах шрифтов. Другой поиск вызвал эту подсказку о том, как удалить все кэши шрифтов в Leopard. Из терминала введите следующие команды:

sudo rm -rf `lsof | grep com.apple.ATS/annex.aux | grep Finder | cut -c 66-139`

(замените lsof на /usr/sbin/lsof, если /usr/sbin не на вашем пути)

sudo rm -rf /private/var/folders/*/*/-Caches-/com.apple.ATS

А затем перезагрузите компьютер. Это исправило проблему со шрифтом для меня.

Примечание: часть этой проблемы, по-видимому, является результатом того, что TeXniscope.app испортил кэш шрифтов. Например, если вы удалите кэш шрифтов, перезагрузите компьютер и откроете что-то в режиме предварительного просмотра, это будет выглядеть нормально, но как только вы снова откроете что-то в TeXniscope, вернитесь к чертежной доске. Если вы столкнулись с этой проблемой и используете TeXniscope в качестве средства предварительного просмотра PDF (как в Aquamacs), вам следует переключиться на Skim в качестве средства просмотра PDF. Это довольно мило, и в вики Skim есть инструкции по его интеграции с Aquamacs. Так или иначе, TeXniscope не разрабатывается.

0 голосов
/ 20 декабря 2008

Я немного удивлен вашей проблемой с MacTeX. Я недавно установил версию 2008 года, и она работает как шарм, будь то pdftex / latex или xetex / latex. Даже с предыдущим установленным мной teTeX шрифты не были проблемой. Можете ли вы положить свой foo.tex где-нибудь, чтобы мы могли его протестировать?

0 голосов
/ 20 декабря 2008

Посмотрите PDF в Adobe Reader под свойствами документа. Если у вас есть математические шрифты типа 3 (?) Для математики, вы должны указать драйверу встроить правильные векторные шрифты типа 1 в полученный документ.

Я использую латекс с dvips, затем pdf на linux. Раньше я должен был сказать это, чтобы сделать это, но теперь кажется, что, по крайней мере, пакет в Ubuntu имеет правильную настройку шрифта.

Посмотрите в Интернете, чтобы узнать, как встроить нужные шрифты в документ.

Если подумать, возможно, у вас не установлены какие-либо шрифты в вашей системе, или ни один из ваших шрифтов не внедрен в документ.

...