Задать вопрос
vitaly_KF
@vitaly_KF
Разработчик Qt/C++

Выравнивание текста по ширине и/или разбивка на страницы?

День добрый. Такая вот задачка у меня. Допустим у нас есть книга в формате fb2. Необходимо к примеру открыть эту книгу на мобильнике с маленьким разрешением. Вопрос: существуют ли библиотеки (js али php), которые позволяют разбивать большой текст на страницы в зависимости от высоты/ширины данной страницы? Кроме того, хотелось бы, чтобы подобная библиотека обрабатывала момент, когда слово вроде бы нужно перенести, но если его перенести, то в строке останется пустое место. а значит слово нужно грамотно разбить на две части с помощью дефиса (-). Короче реализовать перенос по слогам. Для русского и английского языков (хотя думаю в правиле переноса по слогам нет особых отличий для разных языков)…

Почитал на вики статью, но там нет переноса по слогам en.wikipedia.org/wiki/Justification_(typesetting)

Короче, чтобы к примеру из этого:

"

-Ряды зубов — повторил о боже — Просто ряды, понимаешь? Кстати кто такая эта зубная фея?

-О нынче её часто можно встретить, — сказала Сьюзен. — Вернее их. Они работают по лицензии. Берёшь лестницу, пояс для денег, клещи — и вперёд, в ночное!

-Клещи?

-Если у зубной феи нет мелочи, он вырывает один или несколько зубов, чтобы не нарушать отчётность.

"

Получалось вот это:

"

-Ряды зубов — повторил о боже — Просто ряды,

понимаешь? Кстати кто такая эта зубная фея?

-О нынче её часто можно встретить, — сказала

Сьюзен. — Вернее их. Они работают по лицензии.

Берёшь лестницу, пояс для денег, клещи — и впе-

рёд, в ночное!

-Клещи?

-Если у зубной феи нет мелочи, она вырывает

один или несколько зубов, чтобы не нарушать

отчётность.

"

Выщло хреново, но думаю суть ясна…


Конечно по ширине текст отцентрировать нефиг делать, да и на слоги возможно не много времени потрачу, но хотелось бы узнать — вдруг существуют готовые решения… Видел такое например в приложении ZXReader для симбы… Больше вроде нигде.
  • Вопрос задан
  • 3891 просмотр
Подписаться 4 Комментировать
Подписчики вопроса 4 К ответам на вопрос (1)