Aug. 6th, 2009

vitus_wagner: My photo 2005 (Default)
Сегодня некий анонимус запостил в BTS catdoc ссылку на собранную им native win32 версию.
С моей точки зрения версия совершенно неправильная. Вопрос в том, какая должна быть правильной.

1. Сборка mingw32. Это хорошо, это правильно. Еще лучше, если оно будет собираться кросс-компилятором с использованием штатного configure (вот этого, по-моему, товарищ не обеспечил)

2. Использование какой-то посторонней реализации glob. Это отказать. glob в catdoc нужен только для получения списка файлов кодировок. Надо написать свою реализацию решения именно этой задачи на чистом Win32 API. Есть же отдельная реализация для DOS, ну будет еще одна для win32.

3. Размещение файлов кодировок в той же директории, где исполняемый файл. Не уверен что это хорошо. С одной стороны, в Win32 принято класть все файлы приложения в каталог в %ProgramFiles%.
С другой - командно-строчная утилита должна вызываться из PATH. Вот и думай что делать - либо модифицировать PATH в инсталляторе (и какого же размера будет тот PATH, если каждая мелочевка так будет делать) либо класть бинарники в system32, а кодировки в Program Files. Я честно не знаю, какой вариант лучше.

4. Определение умолчательной кодировки. Понятно, что надо это делать не через mingw-шный setlocale, а через GetACP/GetConsoleCP. Но вот через который из них? С одной стороны, если мы запускаем catdoc просто из командной строки, должна использоваться консольная кодировка, чтобы вывод был читаемым. С другой стороны, полагаю, что основное применение catdoc - в каких-нибудь скриптах-индексаторах www, а там ANSI-кодировка была бы предпочтительнее.

5. Конфигурация. По хорошему счету, надо бы все что у меня бывает в .catdocrc (/etc/catdocrc, или catdoc.rc в директории бинарника в DOS) держать в реестре. Причем искать как в HKLM, так и в HKCU. Но поскольку GUI-щный конфигуратор вряд ли кто напишет, не жестоко ли это - заставлять пользователя это через regedit конфигурить? Может лучше catdocrc положить куда-нибуль в %APPDATA%?

6. Инсталлятор. Надо бы NSIS-овский инсталлятор написать, благо он тоже кросс-компилируется.

Советы, предложения, помощь - принимаются.
vitus_wagner: My photo 2005 (Default)
Сегодня некий анонимус запостил в BTS catdoc ссылку на собранную им native win32 версию.
С моей точки зрения версия совершенно неправильная. Вопрос в том, какая должна быть правильной.

1. Сборка mingw32. Это хорошо, это правильно. Еще лучше, если оно будет собираться кросс-компилятором с использованием штатного configure (вот этого, по-моему, товарищ не обеспечил)

2. Использование какой-то посторонней реализации glob. Это отказать. glob в catdoc нужен только для получения списка файлов кодировок. Надо написать свою реализацию решения именно этой задачи на чистом Win32 API. Есть же отдельная реализация для DOS, ну будет еще одна для win32.

3. Размещение файлов кодировок в той же директории, где исполняемый файл. Не уверен что это хорошо. С одной стороны, в Win32 принято класть все файлы приложения в каталог в %ProgramFiles%.
С другой - командно-строчная утилита должна вызываться из PATH. Вот и думай что делать - либо модифицировать PATH в инсталляторе (и какого же размера будет тот PATH, если каждая мелочевка так будет делать) либо класть бинарники в system32, а кодировки в Program Files. Я честно не знаю, какой вариант лучше.

4. Определение умолчательной кодировки. Понятно, что надо это делать не через mingw-шный setlocale, а через GetACP/GetConsoleCP. Но вот через который из них? С одной стороны, если мы запускаем catdoc просто из командной строки, должна использоваться консольная кодировка, чтобы вывод был читаемым. С другой стороны, полагаю, что основное применение catdoc - в каких-нибудь скриптах-индексаторах www, а там ANSI-кодировка была бы предпочтительнее.

5. Конфигурация. По хорошему счету, надо бы все что у меня бывает в .catdocrc (/etc/catdocrc, или catdoc.rc в директории бинарника в DOS) держать в реестре. Причем искать как в HKLM, так и в HKCU. Но поскольку GUI-щный конфигуратор вряд ли кто напишет, не жестоко ли это - заставлять пользователя это через regedit конфигурить? Может лучше catdocrc положить куда-нибуль в %APPDATA%?

6. Инсталлятор. Надо бы NSIS-овский инсталлятор написать, благо он тоже кросс-компилируется.

Советы, предложения, помощь - принимаются.
vitus_wagner: My photo 2005 (Default)
Большое, конечно, спасибо тому кто крайне оперативно залил "Чужую в Чужом море" на lib.rus.ec,
но все-таки за качеством работы следить надо.
Во-первых, в этом файле по-другому написано имя автора (отсутствует отчество) в результате чего FBReader не отсортирует эти три книги вместе, во-вторых, не прописана sequence.

Но вообще-то Розову нужны редактор и корректор. Практически невозможно сделать книгу полиграфического качества самому автору, без просмотра чужими внимательными (желательно профессиональными) глазами. Редактор и корректор нужны любому писателю.

Поскольку Розов не собирается вроде пока публиковаться в бумажных издательствах, эту работу, пожалуй, придется взять на себя сообществу фэнов.

Я уже начал. Подправил метаинформацию в fb2 файлах, и последовательно заменил "кампания" на "компания" там где оно по смыслу надо (в "Чужой в чужом море" кроме любимой розовской опечатки встречаются и настоящие кампании (военные и рекламные)). Для моих личных целей этого пока достаточно. И читалка правильно сортирует, и "кампания тинэйджеров" глаза не режет.

Если кто хочет продолжить эту работу, то вот Созвездие Эректуса и Чужая в чужом море.

Еще я тут подумал, что было бы неплохо для целей обсуждения выложить где-нибудь (ну, например на meganezia.com) тексты, разбитые на отдельные файлы по главкам. Чтобы можно было ссылаться прямо на нужное место.
vitus_wagner: My photo 2005 (Default)
Большое, конечно, спасибо тому кто крайне оперативно залил "Чужую в Чужом море" на lib.rus.ec,
но все-таки за качеством работы следить надо.
Во-первых, в этом файле по-другому написано имя автора (отсутствует отчество) в результате чего FBReader не отсортирует эти три книги вместе, во-вторых, не прописана sequence.

Но вообще-то Розову нужны редактор и корректор. Практически невозможно сделать книгу полиграфического качества самому автору, без просмотра чужими внимательными (желательно профессиональными) глазами. Редактор и корректор нужны любому писателю.

Поскольку Розов не собирается вроде пока публиковаться в бумажных издательствах, эту работу, пожалуй, придется взять на себя сообществу фэнов.

Я уже начал. Подправил метаинформацию в fb2 файлах, и последовательно заменил "кампания" на "компания" там где оно по смыслу надо (в "Чужой в чужом море" кроме любимой розовской опечатки встречаются и настоящие кампании (военные и рекламные)). Для моих личных целей этого пока достаточно. И читалка правильно сортирует, и "кампания тинэйджеров" глаза не режет.

Если кто хочет продолжить эту работу, то вот Созвездие Эректуса и Чужая в чужом море.

Еще я тут подумал, что было бы неплохо для целей обсуждения выложить где-нибудь (ну, например на meganezia.com) тексты, разбитые на отдельные файлы по главкам. Чтобы можно было ссылаться прямо на нужное место.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

May 2025

S M T W T F S
    1 2 3
4 56 7 8 9 10
11 12 131415 1617
1819202122 2324
252627 282930 31

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 1st, 2025 06:01 am
Powered by Dreamwidth Studios