Конвертор "Моята библиотека" -> FB2

Въпроси, отговори и съвети за четенето на текстове със и без достъп до Мрежата.
Правила
Уважавайте другите участници и се отнасяйте с тях така, както бихте желали те да се отнасят с вас!
Отговор
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Конвертор "Моята библиотека" -> FB2

Мнение от Mandor »

Конвертор "Моята библиотека" -> FB2

И така, след няколко месеца труд през свободното време, двигателят на конвертора от "Моята библиотека" във FB2-формат придоби завършен вид. За съжаление нямам време да проведа нормални тестове, затова разчитам на вас да посочите евентуалните проблеми. Интерфейсът му е нагло откраднат от един колега (с неговото мълчаливо съгласие), затова не се чудете, ако видите нещо познато. Отново поради липса на време не съм направил описание на настройките; ще съм благодарен за всякаква помощ в това направление.

Конверторът работи както с текстови (.txt), така и директно с архивни файлове, затова най-лесният начин за конверсия (поне за мен) е да свалите архив с произведението и всички негови картинки и да подадете сваления архив на конвертора. Ако конвертирате текстов файл, картинките трябва да се намират в същата директория, в която е конвертирания файл.
При възникване на грешка, моля посочете произведението (автор, заглавие и препратка) и текста на грешката, която възниква (можете да я изкопирате чрез десния бутон на мишката).
Конверторът може автоматично да архивира крайният FB2-файл. Ако използвате тази функция (включена по подразбиране), не конвертирайте директно върху сменяем носител (флешка, преносим твърд диск и т.н.); в този случай се получава псевдо-многотомен ZIP, който не се разпознава от повечето програми (проверено на CoolReader, HaaliReader и lBook V3).
Версията е под 1.0, защото искам да добавя още няколко функции преди да обявя конвертора за приемливо готов.

Отделих място на сайта за програмата: MyLibToFB2
Там можете да изтеглите последната версия и да се запознаете с промените.
Последната промяна е направена от Mandor на 2. Мнението е било променяно 2 пъти.
доктор дулитъл

Мнение от доктор дулитъл »

Има ли някаква особенна причина да е само за виндовз или ? По скоро дали може да помогнем да став и за юниксообразнитес-ми?
Аватар
SecondShoe
Мнения: 421
Регистрация: 16 август 2006, 04:55

Мнение от SecondShoe »

Сигурно е за Уиндоус, понеже това е най-популярната операционна система.
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

доктор дулитъл написа:Има ли някаква особенна причина да е само за виндовз или ? По скоро дали може да помогнем да став и за юниксообразнитес-ми?
Причината е проста и очевидна - това работя; в това съм се специализирал. Няма връзка нито с популярност, нито с предпочитания.
Не виждам проблем да изпробвате програмата под емулатор.
Гост

Мнение от Гост »

пробвах я и като гадняр почвам с оплакванията
изглежда става въпрос за несъвместимости

ударено И се транслира до И[] (и с квадратче отзад) (това в coolreader)
хаали reader не се оправя с utf-8, ама хич
доктор дулитъл

Мнение от доктор дулитъл »

Mandor,
пуснах конвертора на служебния компутер и установих следното: програмката ти е чудесна, графичният интерфейс - също. Даже и кирилицата по менютата си се чете. Така де, ако ще четеш книги от въпросните библиотеки (твойта и на Борислав), все трябва да имаш някаква кирилица.
Другото което се сещам, е че би било добре да се предвидят бързи клавиши (за избор на менюта и бутони без участието на мишката). Това би дало възможност за автоматизирино управление на твоята програма.
Само за сведение ще добавя, че има група потребители, които ползват съвръри за съхранение и обработката на ..данните (в случая книгите), на които сървъри обикновенно няма гуй, а се работи само чрез конзола, както и се залага на пускането на програми от други програми. В този смисъл как би се отнесъл към идеята да предложиш версия на програмата ти без графичен интерфейс (настройките могат да се задават напр. чрез 'ини' файл)? Това би дало възможност тя да се включи в 'автоматичните' процеси, т.е. да се избегне голям брой 'цъкъния' с мишката ;-)
В залючение ще добавя - добра и полезна работа си свършил - продължавай все така!
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

Гост написа:ударено И се транслира до И[] (и с квадратче отзад) (това в coolreader)
хаали reader не се оправя с utf-8, ама хич
Проблемът е в настройките на програмите за четене, не в конвертора. По време на тестовете използвах точно CoolReader и Haali - и двете се справят прекрасно.
Най-вероятно не използваш unicode-шрифтове; те не са чак толкова много в Windows. Опитай с "Tahoma" или "Lucida Sans Unicode".
Ако "и с ударение" е единственият ти проблем с визуализацията, тогава в "Настройки", страница "Генерация", група "Заместване на и с ударение" напиши просто "Й" и "й" (и кратко).
доктор дулитъл написа:... Даже и кирилицата по менютата си се чете.
Всъщност вече си патих с една многоезична програма за "славянския" свят и оттогава се опитвам да правя програмите си напълно unicode.
доктор дулитъл написа:Другото което се сещам, е че би било добре да се предвидят бързи клавиши (за избор на менюта и бутони без участието на мишката).
Логично, макар че има само четири-пет операции. Предложения? F3-добавяне; F9-конвертиране; другите?
доктор дулитъл написа:В този смисъл как би се отнесъл към идеята да предложиш версия на програмата ти без графичен интерфейс (настройките могат да се задават напр. чрез 'ини' файл)?
Напълно положително. Просто исках "двигателя" да се тества от колкото се може повече потребители, а за целта ми трябваше графичен интерфейс. В момента настройките така или иначе се записват в ini-файл. Единствено ме притеснява дали ще има проблем със съобщенията на кирилица в DOS-прозорец.
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Открити проблеми във версия 0.1.00

Мнение от Mandor »

Открити проблеми във версия 0.1.00
1. Не се обработва блоков маркер за табелка.
Записал съм си го за поправка.
2. Възникване на грешка при наличие на подчертаващ символ, който не е маркер за акцентиране на текст, напр. "Сканирал: sir_Ivanhoe".
Този случай е доста тежък за решаване, но ще го обмисля по-подробно. Засега просто добавяйте освобождаващия символ "\" преди подчертаващата чертичка, за да не се разпознава като символ за подчертаване: "Сканирал: sir\_Ivanhoe".
3. При анализа на някои текстове възниква грешка "Текст и секция на едно ниво ...".
При тези текстове не е спазен стандарта. В една секция може да има или само текст, или само вложени секции; не може да се смесват - иначе ще получите некоректен FB2-файл и нормалните програми за четене ще откажат да го отворят. Просто трябва текста да бъде заграден в "празна" секция (без заглавие) от ниво, на което са вложените подсекции, напр. ако имате:

Код: Избиране на всичко

>   ЧАСТ I
    Текст...текст
>>  Глава 1
това трябва да се оформи така:

Код: Избиране на всичко

>   ЧАСТ I
>>
    Текст...текст
>>  Глава 1
Гост

Мнение от Гост »

за удареното и не е голяма болка, замених го с и, никога не бих го заменил с й, това е съвсем друга буква.
но хаали определено се дъни, не разпознава маркера за утф-8 в началото, ако го махна, въпреки, че в хмл хедъра е казано, че енкодинга е утф-8, показва маймуни, ако изконвертирам файла до windows-1251 и коригирам хедъра, по някаква причина цялото форматиране се прецаква. нямам си идея къде може да е проблема.
Гост

Мнение от Гост »

сега виждам, че ФБ2 файловете които съм свалял от сайта на мандор и които се четат без проблем от хаали са в 1251, не утф-8
Аватар
ivand58
Мнения: 55
Регистрация: 03 юли 2007, 21:53

Мнение от ivand58 »

Mandor написа:Единствено ме притеснява дали ще има проблем със съобщенията на кирилица в DOS-прозорец.
Проблем има (задъжително) :-)
Под ДОС-прозорец предполагам, че имаш наум конзола, където при кирилизиран виндовз кодовата талица е "Code page 866". Разбира се има и отклонения, т.е. може да се случи потребителя да си смени кодовата таблица. Иначе ако се отвори файл (например с нотпада) обикновенно се приема, че е "Windows-1251" - пак при подходящо кирилизирана инсталация на виндовза (регионалните сетинги), иначе и тук са възможни отклонения. Както си се убедил най-универсално е ползването на Unicode но пък не можеш да го ползваш в конзолата (доколкото знам). Така че конвертора си конвертира, а после си четем в графична среда, или прекодираме ;-). Менютата пишем на латиница.
Аватар
ivand58
Мнения: 55
Регистрация: 03 юли 2007, 21:53

Мнение от ivand58 »

Mandor написа: Причината е проста и очевидна - това работя; в това съм се специализирал.
хм, като изключим графичната среда, едва ли парсера ти е чак толкова машинно зависим ? :shock:
не че ти се бъркам, но аз бих го направил с два изпълними файла:
- 'мотор.ехе' (не длл, за да може да се пуска самостоятелно) - баш парсера или двигателя, или както там решиш да му викаш на основното 'нещо' и
- 'менажер.ехе', който да е графичният фронтенд (т.нар. 'цветя и рози')
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

Ясно, кирилица в конзолата няма да има. Кой ще преведе съобщенията на латиница? :D

Наричам го "двигател" (директен превод на "engine"), защото освен анализатор (parser) има конвертор/генератор и разни помощни класове. Предложението за разделяне звучи доста *nix-ово, но заради предишни проблеми с обмен на данни между приложения предпочитам да "опаковам" двигателя в различни обвивки - GUI и конзола, вместо да ги разделям изрично.
Но това са подробности. Надявам се днес да успея да кача следваща версия.
Аватар
GeOrg
Мнения: 203
Регистрация: 04 август 2006, 15:52
Местонахождение: Пловдив, Ивайловград

Мнение от GeOrg »

Браво за конвертора! Работи безпроблемно под Wine на Linux ОС. Чудесен е и за проверка на SFB форматирането на редактираните файлове.
Може и така да е, ...!
Mummu

Мнение от Mummu »

За да смениш кодовата таблица под "command prompt" в Windows може да ползваш тази команда:

CHCP 1251
CHCP 65001 <- това май беше за Unicode

Код: Избиране на всичко

С++
system ("chcp 65001");
Sony reader

Мнение от Sony reader »

Добър ден Мандор,

Активно използвам конвертора Mylib to FB2 за да мина после през BD. Срещам някои проблеми със съвместимост. По-специално ми дава грешки в блокове

L>
.
.
L$

Дава ми и други грешки при конверсия и се налага да променям ръчно форматирането. Предвижда ли се актуализирана версия на програмата ?

Бих искал да благодаря за програмата. Върши отлична работа и книгите стават чудесни!

Поздрави,
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

Sony reader
Както се досещате, не мога да дам отговор на толкова общ въпрос. Дайте конкретен пример: фрагмент от текст + каква точно грешка дава конвертора, за да имам някаква основа за анализ. Най-добре ще е да посочите готов текст от библиотеката.
Също така може да продължим тази дискусия по e-mail.
beertobeer

необяснима грешка

Мнение от beertobeer »

При опит за конвертиране на текст във фб2 много често получавам следното съобщение
Елементът "?" не е разрешен в този контекст на ред 173
Примерът е от вече редактирания текст на "Конски гамбит" - У. Фокнър
Проблемът е в това, че на въпросния ред изобщо няма такъв символ
Направих опит - изтрих цялата страница и въпреки това в новия файл ми дава същата грешка
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

beertobeer
Тъй като нямате регистриран e-mail, отговорих на този въпрос в записа на "Конски гамбит".
Съобщението за грешка е леко подвеждащо, затова ще го сменя при следващото обновяване. Засега го четете така: "Непознат маркер на ред ...". Това съобщение се появява, когато се срещне неизвестен на анализатора маркер, напр. някои пишат CS вместо C$. Същият ефект се получава и когато редът не започва с табулатор - тогава текста се приема за маркер, който (разбира се) не се разпознава.
тони

за конвертора txt към fb2

Мнение от тони »

здравейте, при мен не става - има ли някакво условие какъв да е изходния текстов файл? Получавам следното съобщение:
Конвертиране на "Джек Лондон-Желязната пета.zip"... архив:
Конвертиране на "Джек Лондон-Желязната пета.txt"... анализ...
Непознат маркер на ред 10

на ред 10 не виждам какво има...?
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

Първо, конверторът не преобразува TXT във FB2, а SFB във FB2. Т.е., ако искате да конвертирате „ръчно“, трябва да изтеглите SFB, а не TXT-варианта.
Второ, няма нужда да конвертирате сами файловете – можете да изтеглите направо FB2-версията.
Аватар
LCF
Мнения: 5
Регистрация: 28 ноември 2009, 15:11

Re: Конвертор "Моята библиотека" -> FB2

Мнение от LCF »

Редакция: Уф, ама и аз чета само последното мнение, а то по-горе пише повече...
Р.2: Редовете са си същите както в изходния файл. Въпросната грешка излизаше точно на ред без таб в началото.
Р.3: Сам си питам, сам си отговарям... :)


Подобен проблем и аз съм срещал. Пример:
Елементът "?" не е разрешен в този контекст на ред 666
Отворих файла с Ноутпад, но на ред 666 нямаше въпросителен знак. Та въпросът ми е: Как брои редовете програмата? Или по-точно как да намеря редът съответстващ на 666 според Mylib To FB2 v0.4? Виж редакциите за отговор.
Блоп.
Гост

Re: Конвертор "Моята библиотека" -> FB2

Мнение от Гост »

ще има ли конвертор който се справя с обновения формат?
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Re: Конвертор "Моята библиотека" -> FB2

Мнение от Mandor »

Гост написа:ще има ли конвертор който се справя с обновения формат?
Не, защото е напълно излишен. Конверторът беше предназначен да генерира FB2-файлове във времето, когато сайтът не предлагаше директно изтегляне в такъв формат. Сега това е факт, и наличието на самостоятелна програма е напълно излишно. Пише го и в сайта на програмата.
Гост

Re: Конвертор "Моята библиотека" -> FB2

Мнение от Гост »

Не е излишен. Много книги седят в ателието достъпни само в сфб формат (чака проверка или готово за добавяне) в продължение на месеци. Човехк може да си ги свали и конвертира от там.
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Re: Конвертор "Моята библиотека" -> FB2

Мнение от Mandor »

Ами тогава изтриваш M>…M$ маркерите и си я конвертираш.
Отговор

Обратно към

Кой е на линия

Потребители, разглеждащи форума: 0 гости