Преобразование.rtf в ресурс Mac .r, с помощью сценариев
В настоящее время у меня есть SLA в формате.rtf, который должен быть интегрирован в.dmg с использованием промежуточного формата ресурсов.r mac, который используется утилитой Rez. Я уже делал это вручную один раз, но обновления, внесенные в файл.rtf, являются огромными для распространения на образ диска и подвержены ошибкам. Я хотел бы автоматизировать эту задачу, которая также может помочь в добавлении других языков или вариантов.
Как можно автоматизировать процесс преобразования текста.rtf в.r?
Благодарю.
2 ответа
Использовать unrtf
порт (из macports), затем отформатируйте строки, заголовок и хвост с помощью сценария оболочки.
Только потому, что я не до конца понял, как принятый ответ действительно достиг цели, я использую комбинацию скрипта для генерации шестнадцатеричной кодировки:
#!/usr/bin/env ruby
# Makes resource (.r) text from binaries.
def usage
puts "usage: #{$0} infile"
puts ""
puts " infile The file to convert (the output will go to stdout)"
exit 1
end
infile = ARGV[0] || usage
data = File.read(infile)
data.bytes.each_slice(16) do |slice|
hex = slice.each_slice(2).map { |pair| pair.pack('C*').unpack('H*')[0] }.join(' ')
# We could put the comments in too, but it probably isn't a big deal.
puts "\t$\"#{hex}\""
end
Вывод этого вставляется в переменную во время сборки, а затем переменная заканчивается в шаблоне (мы используем Ant для этого, но особенности не особенно интересны):
data 'RTF ' (5000, "English SLA") {
@english.licence@
};
Один из моментов, который потребовал довольно много времени, чтобы понять, что 'RTF '
может быть использован для ресурса напрямую. Apple документы говорят, чтобы отдельно вставить 'TEXT'
(только с простым текстом) и 'styl'
(только со стилем). Конечно, для этого есть инструменты, но это был еще один инструмент, и я никогда не мог понять, как заставить гиперссылки работать в получающемся DMG. С 'RTF '
, гиперссылки просто работают.
Надеясь, что это сэкономит кому-то время в будущем.