Преобразование.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 ', гиперссылки просто работают.

Надеясь, что это сэкономит кому-то время в будущем.

Другие вопросы по тегам