[CDR 2017-2021] Запретить подстановку шрифтов

huck

безучастник
Топикстартер
15 лет на форуме
Сообщения
703
Реакции
59
Привет.

Делаю консольную программку для конвертации CDR в PDF через API CorelDraw. Неожиданная проблема: если шрифт не внедрён в документ, то Корел втихую заменяет шрифт другим. Ни ошибки, ни какой-то информации об исходном шрифте.
Можно ли как-нибудь запретить подстановку подстановку шрифтов? Или получить названия шрифтов до их замены?
В документации по API ничего не нашел. Поиском в интернете тоже.

Спасибо.
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 147
Реакции
2 053
консольную программку
а этого недостаточно?
1616029151548.png

что под этим понимать?
 

huck

безучастник
Топикстартер
15 лет на форуме
Сообщения
703
Реакции
59

Gad

Сообщения
2 975
Реакции
1 408
ТС ведет речь о правилах PANOSE по умолчанию при открытии документа, тоже не смог в свое время решить этот вопрос, в итоге сделал через AHK... что не есть хорошо.
 

huck

безучастник
Топикстартер
15 лет на форуме
Сообщения
703
Реакции
59
ТС ведет речь о правилах PANOSE по умолчанию при открытии документа, тоже не смог в свое время решить этот вопрос, в итоге сделал через AHK... что не есть хорошо.
Правила всего три и отключения там нет. А что такое АНК?
 

huck

безучастник
Топикстартер
15 лет на форуме
Сообщения
703
Реакции
59
Но это не очень хорошее решение :(
Не сообразил) Пользуюсь немного этим продуктом. Уже думал, выводить диалог PANOSE и нажимать Cancel, но решение очень уж корявое.

Я делал для понижения версии, а вот как Вы конвертировать в PDF собираетесь при отсутствии шрифтов... 'hz'
Так я же говорю, шрифт подставляется другой, и PDF преспокойной сохраняется. А ты при этом даже не знаешь, что там другие шрифты.
 

huck

безучастник
Топикстартер
15 лет на форуме
Сообщения
703
Реакции
59
Ну отловить окно через AHK или Autoit для предупреждения можно вполне...
При диалоге — да. По умолчанию Корел запускается в фоне. И комп удалённый, а процесс может стартануть человек двадцать.
 

huck

безучастник
Топикстартер
15 лет на форуме
Сообщения
703
Реакции
59
Будем искать)
 

lev

Модератор
20 лет на форуме
Сообщения
2 147
Реакции
2 072
Теоретически это делается так:
Открываем диалог с предложением подстановки шрифта
Код:
Sub MatchingPanose()
 PanoseMatching = cdrPanosePrompt
 OpenDocument "C:\My Documents\Graphic1.cdr"
End Sub
 
  • Спасибо
Реакции: Gad

Gadalka

R.I.P.
Сообщения
2 530
Реакции
868
А ещё что-то по поводу шрифтов (и текста) можно посмотреть в каталоге font или metadata внутри кореловского файла
(если открыть его как архив)
 
  • Спасибо
Реакции: huck и Gad

Gad

Сообщения
2 975
Реакции
1 408
А ещё что-то по поводу шрифтов (и текста) можно посмотреть в каталоге font или metadata внутри кореловского файла
(если открыть его как архив)
Для ТС это наверное будет то что нужно, а вот для понижения версии...
Как выставить вот этот параметр при открытии (или по умолчанию)?
2021-03-19_18-14-26.png
 

Gadalka

R.I.P.
Сообщения
2 530
Реакции
868
А если покопаться в
%%USERPROFILE%%\Application Data\Corel\CorelDRAW Graphics Suite VERSION\Draw\PanosePreferences.xml
(ну и там рядом)
?
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 147
Реакции
2 053
Как выставить вот этот параметр при открытии (или по умолчанию)?
lev выше привел код - PanoseMatching имеет три варианта

cdrPanosePrompt 0 Specifies prompt PANOSE matching
cdrPanoseTemporary 1 Specifies temporary PANOSE matching
cdrPanosePermanent 2 Specifies permanent PANOSE matching
 
  • Спасибо
Реакции: Gad