Попытка написания скрипта Python для удаления дубликатов шрифтов Mac OSX - PullRequest
2 голосов
/ 21 июня 2011

Я пытаюсь написать утилиту для проверки шрифтов в OSX и удаления дубликатов - до сих пор мне удавалось перебирать структуру папок и выписывать xml-файл, содержащий шрифты и пути.Недостатком является то, что это не находит дубликаты, так как один и тот же шрифт может быть установлен дважды в разных местах, но с другим именем файла;Информация о семействе шрифтов является внутренней для файла шрифтов.

Я нашел это: Список установленных шрифтов OS X / C

import Cocoa
manager = Cocoa.NSFontManager.sharedFontManager()
font_families = list(manager.availableFontFamilies()) 

, который использует PyObjC для просмотра списка установленныхшрифты.Это выглядит как возможное решение, но я не тяжелый кодер и ничего не знаю о PyObjC!У меня была игра в терминале с dir(manager) и dir(NSFontManager), чтобы посмотреть, смогу ли я найти метод, который возвращает пути к файлам установленных шрифтов, но безрезультатно.

Любая помощь с благодарностью получена.

С наилучшими пожеланиями

// Simon

Ответы [ 2 ]

1 голос
/ 25 июня 2011

Установите пакет fonttools и посмотрите на это сообщение в блоге . Там есть скрипт, который дает имя шрифта своего первого аргумента, и я уверен, что вы можете адаптировать его к своему варианту использования.

0 голосов
/ 29 июня 2011

Еще раз спасибо за ответы - я просто хотел обновить это в надежде, что это поможет.Сейчас я смотрю на fontTools, но признаюсь, у меня проблемы с поиском документации.Согласно странице разработчика, есть библиотеки для обработки других шрифтов, кроме ttf, но я все еще смотрю с небольшим успехом!

В то же время , я все-таки включил этотстраница на Использование инструментов Apple Font , которые, кажется, получают половину того, что мне нужно - то есть список установленных шрифтов и местоположений.Похоже, что команда ftxinstalledfonts примет канал, поэтому теоретически я мог бы направить вывод в мой существующий скрипт на python, который создает базу данных xml.Я предполагаю, что могу сделать это, вызвав ftxinstalledfonts через модуль sys, но не ясно, как получить вывод ... Я пойду и разберу документы по питону, но если не повезет, и у кого-то есть 10 секундчтобы дать указатель, я был бы признателен.

Кстати, на сайте Font Geek, приведенном выше, есть и очень полезные сведения о TTX.// Simon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...