Автор Тема: Переносы  (Прочитано 4079 раз)

0 Пользователей и 1 Гость просматривают эту тему.

gera_serg

  • Пользователь
  • **
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Переносы
« : 08 Март 2015, 22:03:35 »
съязвлю  ;D

Модуль переносов Вы сами писали или заимствовали?
В русском 10 гласных букв, а знаки "ь" и "ъ" гласными не являются.

Нельзя оставлять  в конце строки или переносить на новую строку часть слова, которая не составляет слог, т.е. не содержит гласной.

Съ-язвить это НЕ правильный перенос, но у Вас такие случаи встречается сколько угодно.

Сь-юзен, вь-ющийся...

shortki

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 3123
  • Карма: +188/-10
    • Просмотр профиля
Re: Переносы
« Ответ #1 : 08 Март 2015, 23:15:22 »
Получилось.

Модуль переносов интернациональный, иногда не учитывает отдельные особенности, но в большинстве случаев работает нормально. Посмотрю как можно поправить упомянутые случаи.

gera_serg

  • Пользователь
  • **
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Re: Переносы
« Ответ #2 : 19 Март 2015, 16:03:38 »
может поможет…

http://habrahabr.ru/post/138088/

shortki

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 3123
  • Карма: +188/-10
    • Просмотр профиля
Re: Переносы
« Ответ #3 : 19 Март 2015, 20:02:37 »
Там ниже в комментариях упомянут алгоритм П. Христова, я по нему делю. Как видно он не безупречен. Неплохо ваши примеры отметить там в комментариях, но у меня там прав нет.

gera_serg

  • Пользователь
  • **
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Re: Переносы
« Ответ #4 : 19 Март 2015, 21:18:19 »
по П. Христову, пусть для скорости будет по этому алгоритму.

Правила переносов
Извлечение из книги Правила русской орфографии и пунктуации.
2-e изд., стереотипное. М., "Учпедгиз", 1962. с. 65–68.
§ 117. При переносе слов нельзя ни оставлять в конце строки, ни переносить на другую строку часть слова, не составляющую слога; например, нельзя переносить просмо-тр, ст-рах.

По алгоритму Вы получаете позицию вставки знака переноса
Проверить составляет ли часть слова до/после переноса большее 1 буквы и имеется ли среди них (двух букв и более) конкретно хотя бы одна "гласная" Вы же можете?   

shortki

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 3123
  • Карма: +188/-10
    • Просмотр профиля
Re: Переносы
« Ответ #5 : 19 Март 2015, 23:26:28 »
Да, конечно, так и поступлю.

gera_serg

  • Пользователь
  • **
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Re: Переносы
« Ответ #6 : 20 Март 2015, 00:30:03 »
Да, конечно, так и поступлю.

а как же тогда
съязвить = sxgssgsx
(с)ъ-язвить

слога в части слова (съ) то нет (нет гласной)
правило сработали типа
"х" -> "х-"
или возможно
"xgg" -> "x-gg"
"xgs" -> "x-gs"
"xsg" -> "x-sg"
"xss" -> "x-ss"
 

shortki

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 3123
  • Карма: +188/-10
    • Просмотр профиля
Re: Переносы
« Ответ #7 : 20 Март 2015, 01:58:32 »
Здесь сработало "х" -> "х-"
я просто добавлю проверку чтобы в обеих частях слова после разбивки была гласная.

gera_serg

  • Пользователь
  • **
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Re: Переносы
« Ответ #8 : 20 Март 2015, 09:21:36 »
Вот тут интересная идея "принцип восходящей звучности."

http://ehhu.ru/people/user/6/blog/28652/


shortki

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 3123
  • Карма: +188/-10
    • Просмотр профиля
Re: Переносы
« Ответ #9 : 20 Март 2015, 12:30:37 »
Забавно, но похоже приводит к большему числу ошибок, чем прежний метод. Да и к английскому не подходит.

gera_serg

  • Пользователь
  • **
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Re: Переносы
« Ответ #10 : 29 Март 2015, 01:13:55 »
это про принцип восходящей гласности?

Кстати, текущий (беспроверочный на гласную) метод приводит к ошибкам типа Бил Гей-тс

ПыСы
на закате использования Palm там появилась замечательная читалка PalmFiction с тем же алгоритмом переносов Христова…, с большим качеством 
http://sourceforge.net/projects/palmfiction/

pf_ReaderText.pas - тут модуль переносов (на Паскале, если сможете разобрать)
« Последнее редактирование: 29 Март 2015, 01:52:34 от gera_serg »

gera_serg

  • Пользователь
  • **
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Re: Переносы
« Ответ #11 : 23 Октябрь 2015, 01:07:30 »
Забавно, но похоже приводит к большему числу ошибок, чем прежний метод. Да и к английскому не подходит.
Неразрешимой задачей оказалась проверка переносимой и оставляемой части слова на наличие гласной?