Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
формат CHM не предусматривает(?) возможность переноса по слогам.
Те файлы, что я посмотрел не содержат автопереноса внутри слов. А вот формат epub поддерживает, хотя состоит из тех же html.
ЦитатаPeter ()
от переноса слов вреда больше, чем пользы
Скорее всего это просто дело привычки. Поскольку я много работаю в ворде, где постоянно использую функцию автопереноса, то в тексте без этой функции мне бросаются в глаза разрывы между словами (если выравнивать по ширине), либо рваный правый край (если выравнивать по левому краю). Если шрифт относительно мелкий, то не особенно заметно, но чем крупнее шрифт, тем менее аккуратно выглядит текст. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Если шрифт относительно мелкий, то не особенно заметно, но чем крупнее шрифт, тем менее аккуратно выглядит текст.
На форуме шрифт мелкий или нормальный? Точно не крупный. Не вижу я здесь что бы разрывы бросались в глаза.
Так а если дело в шрифте, так может шрифт помельче сделать? Не для детей же книжки пишешь. Это для них чем крупней шрифт, тем лучше, Но сомневаюсь я что они на переносы будут обращать внимание. Хотя... Наверно не поймут что эо такое. Не хочешь читать хелп?
Вадим, символы автопереноса "прописываются" в самом тексте, как знаки форматирования?
Цитатаmishem ()
Не вижу я здесь что бы разрывы бросались в глаза.
На них в любом тексте, выровненном по ширине, обращаешь внимание только если этого захочешь. Текст нужен, чтобы получать (читать) информацию, а не любоваться красотами выравнивания, и простого выравнивания по ширине хватает "выше крыши".
Вадим, mishem совершенно прав - народу ДО ЛАМПОЧКИ на "дыры" в тексте! Рваный правый край люди еще замечают, но "дыры"... Даже я, зануда, и то не обращаю внимание.
А уж если и бороться с дырами, то нужно брать микрометр, и... в бой! Вот только как учитывать разные настройки дисплеев у пользователей, сглаживание шрифтов....
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
А вот формат epub поддерживает, хотя состоит из тех же html.
Не поддерживает. Расстановка переносов которую можно наблюдать для данной книги, это полностью свойство программы просмоторщика. Допустим Edge браузер который в современных операционных системах выступает в качестве программы по умолчанию для отображения данного формата, переносы в словах ставит. А сторонняя программа в лучшем случае может разместить текст по ширине.
Прикрепляю тебе пример реализации переносов, по принципу как это работает в epub. Как видишь на скриншоте GoogleChrome-подобные браузеры эту штуку не поддерживают. Но так как NB использует движок IE- а в нем это работает, то такой способ тебя должен устроить.
А уж если и бороться с дырами, то нужно брать микрометр, и... в бой!
Цитатаanton ()
Не поддерживает. Расстановка переносов которую можно наблюдать для данной книги, это полностью свойство программы просмоторщика.
А, вот как! А я думал дело в формате, а оказывается прога переносы расставляет.
Цитатаanton ()
пример реализации переносов, по принципу как это работает в epub
Большое спасибо за работающий пример!! Поискал сейчас, нашел сходный пример, с объяснением почему это работает здесь.
ЦитатаPeter ()
символы автопереноса "прописываются" в самом тексте, как знаки форматирования?
В формате html - да, для этого там есть специальный знак "переноса без черточки" (тег <wbr>) и знак "мягкого переноса, с дефисом в конце" (спецсимвол &.shy, только без точки в середине - поставил её, чтобы спецсимвол не исчезал), но есть и лучше возможность - в браузерах (но не всех, как показал Антон) есть "словарь переносов", который подключается, если в коде html-страницы указать атрибут lang (для русского языка это строка: <html lang="ru">), как в примере Антона.
В rtf есть тоже символы переноса с разными функциями, при большой надобности их можно в нужных местах расставить в коде файла rtf (любопытно, можно ли заставить объекты Text или LinkedArticle делать автоматический перенос каким-то образом).
RTF внутри мало чем отличается от HTML XML структуры... те же теги только в своей спецификации. Для одного из своих проектов писал обработчик который отчет с сайта (HTML) переводил в RTF. Вообщем провел эксперимент с мягкими переносами в RTF и что могу сказать, в NB они не работают. Вместо переносов, во всех словах появились пробелы (по крайней мере так себя показал объект Article1). В других текстовых редакторах. Win/Open Office, мягкие переносы отображались нормально, как им и положено. "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Я с ним работал, хороший плагин!! Кстати, это идея! Я что-то совсем забыл про него! Надо будет попробовать сделать электронную книгу с этим плагином!
Цитатаanton ()
провел эксперимент с мягкими переносами в RTF и что могу сказать, в NB они не работают
Жаль! Я думал сработает. Только проверить не успел.
Пробую пока начальную идею довести до ума - делаю из объектов LinkedArticle, так, чтобы окно растягивалось. Но вылезла проблема. Я разбил файл книги на несколько частей, чтобы быстрее грузился проект (как рекомендуется в справке), но если сделать окно растягиваемым, то при увеличении размера книги (и, соответственно, размеров LinkedArticle) текст перераспределяется (естественно) в начальные страницы и между ними и следующим разделом появляются пустые страницы... Придется опять всё в один файл сливать, чтобы текст "стекал", не оставляя пустых страниц между главами. Была бы опция "скрывать пустые страницы"...
Добавлено (12 Ноября 2017, 19:23) ---------------------------------------------
ЦитатаВадим ()
Придется опять всё в один файл сливать, чтобы текст "стекал", не оставляя пустых страниц между главами.
Слил куски файла обратно в один файл для того: 1) чтобы при растяжении (увеличении) пользователем окна не появлялись пустые страницы перед началом следующего файла (поскольку при увеличении размеров страниц, больше текста помещается на меньшем их числе); 2) чтобы можно было в оглавлении использовать "закладки" вместо команды перехода на заранее известную страницу (поскольку страница заранее не может быть известна, по причине произвольного выбора размера окна приложения).
При изменении размера окна приложения делаю изменение размеров объектов LinkedArticle (пытаюсь довести до ума этот вариант электронной книги). Проблема в том, что выполнение преобразования размеров всех LinkedArticle (для проекта из 100 страниц) занимает 17-20 минут, на моем мощном компьютере ...
Очевидно, для того, чтобы использовать электронную книгу с растягивающимся интерфейсом требуется какое-то другое решение. Вопрос, как сделать? Не хочется отказываться от эффекта перелистывания страниц и загружать книгу в один-единственный объект. Есть у кого идеи?
Во первых - запрети растягивание окна. Во вторых - сделай выпадающее меню с распространенными разрешениями типа 800х600, 1024х768 и т.д. В третьих - создай на каждой странице объекты LinkedArticle под каждое разрешение.
При желании изменить размер книги, пользователь сможет выбрать только определенный размер, тем самым ты сможешь скрыть/показать объекты на странице именно с тем размером, какой требуется. В зависимости от выбранного размера можешь и ссылки делать как угодно и где угодно.
Можно пойти по тому же сценарию, но другим путем. Для каждого разрешения создать отдельное приложение, и запускать именно его с помощью команды RunNeoBook. Можешь посмотреть в сторону создания проектов в виде файлов PKG.
Все это в теории, сам я не пробовал. Так что попробуй, расскажешь.
А то что у тебя сейчас, я и ждать не стал, да и было бы такое приложение, где ждать надо, удалил бы сразу не задумываясь.
Добавлено (12 Ноября 2017, 21:47) ---------------------------------------------
Цитатаmishem ()
Можешь посмотреть в сторону создания проектов в виде файлов PKG.
Как это делается... Создаешь проекты под разное разрешение. Компилируешь в формате PKG. При запуске открываешь стандартный эксешник. При изменении разрешения просмотра, изменяешь размеры главного приложения и на его месте открываешь нужный.
Или не изменяешь размеры, открываешь нужный и после изменяешь.
Короче пробовать надо.
Мужик на дерево залез, а слезть не может. Внизу народ собрался, решают как его с дерева снять. Один говорит: Тащи веревку. Все в недоумении, но веревку притащили. Тот берет и один конец кидает тому кто на дереве. -Держишь? -Да. -Обвяжи вокруг пояса. Тот обвязал. Тот который внизу, берет другой конец и предлагает остальным тоже взяться. -Все взялись? -Да. -Тянем!!! Все и потянули. Тот с дерева и упал. Все опять в недоумении на этого чудика смотрят. Он руками разводит. -А что? Мы так на прошлой неделе соседа из колодца доставали. Не хочешь читать хелп?
При желании изменить размер книги, пользователь сможет выбрать только определенный размер, тем самым ты сможешь скрыть/показать объекты на странице именно с тем размером, какой требуется.
Во первых - запрети растягивание окна. Во вторых - сделай выпадающее меню с распространенными разрешениями типа 800х600, 1024х768 и т.д. В третьих - создай на каждой странице объекты LinkedArticle под каждое разрешение.
Спасибо, Александр!!! Отличная идея!!! Надо попробовать! Если я правильно понял, ты имел в виду не PKG (плагин), a компиляцию в виде запускаемых модулей?
Цитатаmishem ()
-А что? Мы так на прошлой неделе соседа из колодца доставали.
Хороший анекдот, спасибо!
ЦитатаAS3856 ()
хорошее предложение (век живи - век учись)
Да, создать объекты или целые приложения заранее - это интересная идея! Я даже не думал в этом направлении!!
Добавлено (14 Ноября 2017, 22:19) --------------------------------------------- На данный момент (из-за срочности) сделал три варианта электронной книги - в трёх размерах: - малый (для нетбуков) - средний (для ноутбуков) - большой (для больших мониторов) Все три исполняемых файла поместил в один архив и дал на него ссылку. Пользователю, скачавшему архив, придется выбрать одну программу из трёх, удобного для него размера. Это решение, конечно, компромиссное. Красивым его не назовёшь, но, хотя бы приложение не тормозит при работе и пользователь может выбрать размер электронной книги, более комфортный ему для чтения.
Пользователю, скачавшему архив, придется выбрать одну программу из трёх, удобного для него размера. Это решение, конечно, компромиссное.
А почему не сделать все в одном флаконе? Например, запускаем программу, определяем разрешение монитора (размеры экрана), соответственно подбираем один из заранее "запрограммированных" размеров окна приложения (предварительно под каждый размер окна, тоже заранее, рассчитываем и запоминаем количество страниц) и действуем соответственно, т.е. передвигаемся по страницам не прямолинейно посредством NextPage, а GoToPage. И это - не единственный вариант. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
предварительно под каждый размер окна, тоже заранее, рассчитываем и запоминаем количество страниц
Я не обошел пока трудность с временем ожидания, которое уходит на изменение размеров объектов для текста. В этом проекте уходит 17-20 минут на это... Понимаю, что способы есть и их несколько, но я пока не вижу. Напиши свой вариант подробнее, если можно. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Я не обошел пока трудность с временем ожидания, которое уходит на изменение размеров объектов для текста.
А ты не пробовал сначала менять размеры окна (соответственно и объектов), а потом грузить текст? По правде говоря, я не пробовал.
Цитатаmishem ()
Единственное, а мож и не единственное... :), от главного меню придется избавиться. PKG как я понимаю не поддерживают главное меню.
Это зависит от того какого типа будет приложение:
Красная стрелка - НЕ поддерживает главное меню. Синяя пунктирная - поддерживает главное меню. В последнем случае разница только в том, что плейер находится отдельно, а в первом - совершенно иной тип приложения.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Как тебе удобней будет, но я имел ввиду именно PKG. Создаешь, тестируешь как ехе, компилируешь в PKG . Он получается раза в 3 меньше ЕХЕ.
А, понятно!
ЦитатаPeter ()
А ты не пробовал сначала менять размеры окна (соответственно и объектов), а потом грузить текст?
Нет, даже не думал в этом направлении! Если я правильно понимаю, текст грузится при загрузке приложения (сужу по тому как изменяется время загрузки приложения если использовать единый файл или разделенный на разные файлы, во втором случае заметно быстрее открывается приложение). Действительно, можно попробовать передать объектам LinkedArticle имя файла книги уже после того как будут изменены размеры объектов LinkedArticle в соответствии с размерами монитора или выбранным пользователем размером окна. Это мысль! Спасибо за идею, надо будет попробовать!!! Сейчас другую срочную работу делаю, потом обязательно проверю этот вариант! Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)