- Сообщения
- 150
- Реакции
- 11
Здравствуйте!
Потратил много времени, но удобного решения не нашёл. Раньше в окно программы помещался каталог с поврежденными именами шрифта и он просто их восстанавливал в той же папке. Разработчику программы я написал, но видимо проект давно заброшен.
Теперь из найденных решений на иностранных форумах предлагается команда в терминале:
mdls "$f" | grep -A1 name_postscript | tr -d \ | tail -n 1 | tr -d \"
которая имя шрифта достает, но дальше ручками...
второй способ более рабочий – скрипт запускаемый из того же терминала обрабатывает папку, но чтобы им воспользоваться нужно поставить в систему дополнительные компоненты Mac OSX Terminal – Rename TTF/OTF Fonts Когда компоненты установлены то команда в терминале sh /Users/mac/Desktop/RenameFonts.sh /Users/mac/Desktop/fonts/ все решает правильно, но может есть простое, недорогое решение решение?!
Source Code
Спасибо откликнувшимся.
Потратил много времени, но удобного решения не нашёл. Раньше в окно программы помещался каталог с поврежденными именами шрифта и он просто их восстанавливал в той же папке. Разработчику программы я написал, но видимо проект давно заброшен.
Теперь из найденных решений на иностранных форумах предлагается команда в терминале:
mdls "$f" | grep -A1 name_postscript | tr -d \ | tail -n 1 | tr -d \"
которая имя шрифта достает, но дальше ручками...
второй способ более рабочий – скрипт запускаемый из того же терминала обрабатывает папку, но чтобы им воспользоваться нужно поставить в систему дополнительные компоненты Mac OSX Terminal – Rename TTF/OTF Fonts Когда компоненты установлены то команда в терминале sh /Users/mac/Desktop/RenameFonts.sh /Users/mac/Desktop/fonts/ все решает правильно, но может есть простое, недорогое решение решение?!
Source Code
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #!/bin/sh # RenameFonts.sh # # # Created by David Kittell on 1/18/18. # # Use script like "sh RenameFonts.sh ~/Desktop/fonts/" # Prerequisite #brew install fontconfig #for f in * ; do # mv "$f" "$f.ttf" #done if [ -z ${1+x} ]; then printf "\033[01m\e[4mType your desired font directory, followed by [ENTER]:\n\e[0m\033[0m" read ftDir else ftDir=$1 fi printf "\033[36mSearch Directory:\033[0m %s \e[90m$ftDir\033[0m\n"; for file in "$ftDir"*.{ttf,otf,TTF,OTF}; do postscriptname=$(fc-scan --format "%{postscriptname}\n" $file); if [ ! -z "$postscriptname" ]; then printf "\033[36m PostScript Name:\033[0m %s \e[90m(%s)\033[0m\n" "$postscriptname" "$file"; mv "$file" "$ftDir/$postscriptname.${file##*.}" fi done |
Спасибо откликнувшимся.


Правильно я понял?