ExifToolGUI и русский язык

Статус
Закрыто для дальнейших ответов.

marky

Топикстартер
15 лет на форуме
Сообщения
99
Реакции
47
Может кто поможет? При попытке внедрить XMP в jpg с помощью ExifToolGUI из вручную созданного XMP-файла описания фотографии (для дальнейшего использования в качестве подписи в верстке) выдается сообщение "XMP is double UTF-encoded". Это если xmp-файл готовился в notepad или word и сохранялся в формате UTF-8 или Unicode, если файл сохранен в формате ANSI в тэге description jpg'а появляется описание но в виде ??????? ?? ?????? ?????.
Разницы нет делается это в XP или в семёрке. Результат один и тот же.
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: ExifToolGUI и русский язык

Видимо, в данном случае не следует использовать текстовые редакторы, которые пишут BOM в файл при сохранении utf.

Но, на самом деле, мой совет заключается не в том, чтобы не использовать Блокнот. Или, даже, взять утилиты для перекодирования текстов и/или удаления "лишних" байт (поди, снова поиск будет "*GUI"). А в том, что это уродливо (а-ля "может кто поможет") -- делать XMP "вручную" как "текст", ради текста в description и прилеплять его через нашлепку (gui) к программе. Которая, и сама по себе, способна внедрить нужный тэг. Как из аргумента в CLI, так и из текстового файла.
 

marky

Топикстартер
15 лет на форуме
Сообщения
99
Реакции
47
Ответ: ExifToolGUI и русский язык

Быть может это и уродливо - "делать XMP вручную". Быть может кто-то подскажет другую последовательность действий. Задача такая. Нужно сверстать фотоальбом. Исходные данные: есть что-то около 2 тысяч фотографий, есть word'овские файлы с подписями к фотографиям, сделанные следующим образом:
Имя файла (фотографии)
Подпись к фотографии

Имя файла (фотографии)
Подпись к фотографии

Скучно расставлять фотографии, а потом рисовать рамки для подписей и копи-паст, копи-паст и тд.
Интереснее: расставить тэги перед-после каждой подписи. Порезать файл скриптом на отдельные файлы-подписи. Скриптом же переименовать каждый файл-подпись в имя файла из первой строки (получаем пару: jpg и соответствующий xmp). И с помощью ExifTool внедрить подпись в файл. А уже затем расставлять картинки в фотоальбоме и скриптом в индезайне извлекать подпись к картинке.
Это веселее. "Скучно жить без извращений"
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: ExifToolGUI и русский язык

Вы так горячо любите скрипты :) (разве Индизайн не ставит captions штатными средствами? впрочем это оффтоп), и видимо менее горячо -- читать доки (и ответы?), согласно которым начинать XMP с BOM неразумно. Что и сообщает Вам GUI. И я повторил, выше. И последовательность указал. Да какие же еще подсказки нужны? Вот тут я приводил команду. Вот что говорит FM про "из файла":
-TAG<=DATFILE or -TAG<=FMT
Set the value of a tag from the contents of file DATFILE. The
file name may also be given by a FMT string where %d, %f and %e
represent the directory, file name and extension of the original
FILE (see the -w option for more details). Note that quotes are
required around this argument to prevent shell redirection since
it contains a "<" symbol. "+<=" or "-<=" may also be used to add
or delete specific list entries, or to shift date/time values.
Хотя, глупо плодить 2000 штук txt (причем здесь XMP вообще?), если данные представлены как указано в сообщении 3. Простой shell script (cmd/bat) все решит, даже впихнуть все в одну строку с FOR. Вот это будет неуродливо. ^-)
 

marky

Топикстартер
15 лет на форуме
Сообщения
99
Реакции
47
Ответ: ExifToolGUI и русский язык

Спасибо! Знать не знаю что есть FM (подозреваю, что FileMaker, но у меня-то Indeign). Но Google пособил. Без BOM записывает файлы Notepad++. Глупо плодить 2000 txt-файлов, не менее глупо, а более тупо копи-пастить подписи к фотографиям из word'овского файла. Зато сейчас я решааю свою задачу подручными и доступными средствами. Файл XMP из Notepad++ без проблем добавляет описание (подпись) к соответстdующему jpg'у, которое вставляется в Indesign с помощью LabelGraphics.jsx. Сам скрипты писать не умею и вряд ли уже научусь, но главное - уметь присопособить под свои задачи то другие уже сделали.
А по поводу уродливости. В свое время верстая телефонный справочник в QuarkXpress 4 готовил файл в Word'е расставляя тэги стилей Quark'а, т.к. в Quark'е не было таких продвинутых средств по поиску-замене, и поверьте может быть это было и уродливо, зато очень быстро. И Quark без проблем воспринимал тэгированный файл.
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: ExifToolGUI и русский язык

Ну, главное, видимо, -- результат.
Знать не знаю что есть FM... но у меня-то Indeign
:) :) Вот и свежеиспеченный мем

Мне тут подумалось, что "RTFM" вполне могла появиться в среде, в которой мануалы читались (-ются) так:

man exiftool

и таким образом, среди употребляющих ее персонажей не так велик процент прочитавших хотя бы один мануал, в строгом смысле слова.
 

marky

Топикстартер
15 лет на форуме
Сообщения
99
Реакции
47
Ответ: ExifToolGUI и русский язык

Попробовал использовать приведенный вами пример "exiftool -XMP-dc:description='Рисунок 1. Положительная динамика бесполезного применения Бриджа (на примере моей книги)' fig1.tif". Почему-то текст, даже не весь, а лишь одно слово записалось в dc:description, и то - вопросительными знаками. Нужно дополнительно charset указывать?
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: ExifToolGUI и русский язык

Ну видимо в момент написания того ответа я находился под уникодной осью (убунтой, в данном случае), а не под проделками дядюшки Билла. На что указывает и использование одинарных кавычек, симптомы применения которых в винде Вы правильно описали. Поскольку есть у меня дурацкая привычка проверять свои ответы (брякнуть "ну попробуйте то или это" -- и без меня специалистов хватает), то, уверяю Вас, команда действительно работает. Ну а в винде, да, требуется указать чарсет, см. скриншот. Из бэкграунда следует форграунд, вроде понятно.
 

Вложения

  • cp1251.png
    cp1251.png
    8.1 КБ · Просм.: 1 330

marky

Топикстартер
15 лет на форуме
Сообщения
99
Реакции
47
Ответ: ExifToolGUI и русский язык

Действительно все работает. В этом варианте меньше суеты, хотя тоже придется извращаться. Кавычки внутри текста подписи надо будет менять на какие-то символы. Ну и сохранять бат-файл в Dos-кодировке.
 

marky

Топикстартер
15 лет на форуме
Сообщения
99
Реакции
47
Ответ: ExifToolGUI и русский язык

Мимо, мимо, мимо, но ближе, ближе, ближе... Можно и без досовской кодировки обойтись, если в командной строке задать chcp1251,тогда и -charset1251 нормально прописывает текст
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: ExifToolGUI и русский язык

Кавычки внутри текста подписи надо будет менять на какие-то символы.
?? Смекалка -- хорошо, но FM лучше... Попробуйте так:
exiftool -XMP-dc:description="Кавычки надо делать ""двойные""" -charset cp1251 peppers.jpg
Впрочем, и это не нужно. Также как извраты с кодировками DOS (караул, просто... DOS!!! ). Я предполагаю, описания (в данном случае, для простоты, одно) хранятся в файле, тогда -- см. скриншот.

p.s. А, с ДОСом Вы уже расправились, по-своему, ну да ладно.
 

Вложения

  • +1.png
    +1.png
    10.6 КБ · Просм.: 1 161
Статус
Закрыто для дальнейших ответов.