Как установить шрифты? - PullRequest
0 голосов
/ 23 марта 2011

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

До сих пор я пытался следовать этому руководству с этим фрагментом кода:

FindFirst $5 $6 "..\3rdparty\fonts\*.ttf"
loop:
    StrCmp $6 "" done
    !insertmacro InstallTTFFont $6
    FindNext $5 $6
    Goto loop
done:
FindClose $5

Однако я получаю эту ошибку:

! Insertmacro: InstallTTFFont Push: $ 0 Push: $ R0 Push: $ R1 Push: $ R2! Define: "Index" = "Line66.6"! Insertmacro: GetFileNameCall Push: $ 6 Вызовите "GetFileName"Pop: $ 0! Insertmacro: конец GetFileNameCall! Define: "FontFileName" = "$ 0" SetOutPath: "$ FONT_DIR" IfFileExists: "$ FONT_DIR \ $ 0"?Line66.6: Файл: "$ 6" -> файлы не найдены.Использование: File [/ nonfatal] [/ a] ([/ r] [/ x filespec [...]] filespec [...] |
/ oname = outfile one_file_only) Ошибка в макросе InstallTTFFont на macroline 14 Ошибкав сценарии «C: \ ScanModule \ Install \ ScanModule.nsi» в строке 66 - прерывание процесса создания

Редактировать: Если я просто вручную выписываю все отдельные шрифты, оно работает.Так что проблема решена.Сорта.Не то чтобы я жалуюсь, но это не круто.

1 Ответ

1 голос
/ 29 марта 2011

У меня есть 4 мысли об этом:

  1. Вы пробовали также цитаты?

    ! Insertmacro InstallTTFFont "$ 6"

  2. Выполняется ли цикл FindFirst ... на компьютере разработчика или на компьютере пользователя? Я не уверен, как это работает и подходит ли вам реализация.

  3. Я вижу, вы используете относительный путь ".. \ 3rdparty \ fonts * .ttf". Что такое рабочий каталог, когда вы запустили команду?

  4. Вы также можете добавить что-то подобное в C: \ ScanModule \ Install \ ScanModule.nsi, чтобы понять, почему работают только написанные вручную шрифты.

    MessageBox MB_OK "Параметр 0: $ 0"

...