Думайте о читателе
quittance.ru
документы
прочее
Расстановка переносов
   / алгоритм Ляна-Кнута
   / практика расстановки переносов
   / реализация переносов на php

Практика расстановки мягких переносов на веб-страницах

Целесообразность расстановки переносов на веб-страницах и вопросы качества

Глав­ная, хо­тя и не един­ствен­ная за­да­ча пе­ре­но­са слов  эс­те­ти­че­ская. Пере­но­сы поз­во­ля­ют из­бе­жать несо­раз­мер­но боль­ших рас­сто­я­ний меж­ду сло­ва­ми  так на­зы­ва­е­мых «ко­ри­до­ров»  при на­бо­ре с пол­ной вы­ключ­кой. А так­же до­бить­ся бо­лее ров­ной пра­вой гра­ни­цы тек­сто­во­го бло­ка в на­бо­ре с вы­ключ­кой влево.

Суще­ству­ет мне­ние, что пе­ре­но­сы слов ослож­ня­ют чте­ние. С этим труд­но по­спо­рить, текст с пе­ре­но­са­ми, дей­стви­тель­но, мо­жет ока­зать­ся несколь­ко труд­нее для вос­при­я­тия. Но не в мень­шей сте­пе­ни ослож­ня­ют чте­ние и ши­ро­кие «ко­ри­до­ры» меж­ду сло­ва­ми с вы­ключ­кой по фор­ма­ту, и «рва­ная» пра­вая гра­ни­ца тек­ста при фла­го­вом на­боре…

Пере­но­сы слов ни­сколь­ко не за­труд­нят вос­при­я­тие тек­ста чи­та­те­ля­ми, вос­пи­тан­ны­ми на клас­си­че­ских об­раз­цах пе­чат­но­го сло­ва и име­ю­щи­ми в сво­ем ба­га­же не од­ну сот­ню про­чи­тан­ных книг. И на­обо­рот, чи­та­те­ли, при­вык­шие вос­при­ни­мать текст с экра­на, вряд ли бу­дут «спо­ты­кать­ся» об огром­ные «ко­ри­до­ры» и «рва­ный» край…

Поэто­му, при­ни­мая ре­ше­ние о рас­ста­нов­ке мяг­ких пе­ре­но­сов на веб-стра­ни­це, сто­ит учи­ты­вать при­выч­ки и осо­бен­но­сти вос­при­я­тия целе­вой ауди­то­рии.

При рас­ста­нов­ке пе­ре­но­сов на web-стра­ни­цах, од­ним из важ­ней­ших яв­ля­ет­ся во­прос ка­че­ства. Нали­чие мяг­ких пе­ре­но­сов уже са­мо по се­бе от­ра­жа­ет за­бо­ту ав­то­ра о ка­че­стве тек­ста, но каж­дая ошиб­ка в пе­ре­но­сах станет ощу­ти­мым уда­ром по это­му ка­че­ству.

Если при­ме­ня­е­мый ал­го­ритм до­пус­ка­ет боль­шое ко­ли­че­ство оши­бок, то луч­ше во­об­ще от­ка­зать­ся от ав­то­ма­ти­че­ской рас­ста­нов­ки пе­ре­но­сов.

Гип­по­кра­тов­ский прин­цип «Преж­де все­го  не на­вре­ди» (лат. Premium non nocere) в пол­ной ме­ре мож­но от­не­сти и к за­да­че ав­то­ма­ти­че­ской рас­ста­нов­ки мяг­ких пе­ре­но­сов.

В неда­ле­ком про­шлом наи­бо­лее по­пуляр­ным спо­со­бом рас­ста­нов­ки пе­ре­но­сов на веб-стра­ни­цах был так на­зы­ва­е­мый «ал­го­ритм П. Хpис­то­ва в мо­ди­фи­ка­ции Дым­чен­ко и Вар­са­но­фье­ва». Этот эв­ри­сти­че­ский ал­го­ритм рас­став­ля­ет мяг­кие пе­ре­но­сы в рус­ском тек­сте, ис­поль­зуя все­го шесть до­воль­но про­стых пра­вил, лег­ко ре­а­ли­зу­е­мых при по­мо­щи ме­ха­низ­ма ре­гу­ляр­ных вы­ра­же­ний (англ. regular expressions  RegEx). Без со­мне­ния, ал­го­ритм пред­став­ля­ет неко­то­рый тео­ре­ти­че­ский ин­те­рес, но на прак­ти­ке непри­ме­ним в свя­зи с крайне низ­ким ка­че­ством по­лу­ча­е­мо­го ре­зуль­тата.

Алго­ритм Ляна-Кну­та, ис­поль­зу­е­мый в из­да­тель­ской си­сте­ме TeX, спо­со­бен удо­вле­тво­рить са­мые вы­со­кие тре­бо­ва­ния к ка­че­ству рас­ста­нов­ки пе­ре­но­сов. Алго­ритм мож­но на­звать со­вер­шен­ным с ма­те­ма­ти­че­ской точ­ки зре­ния, но не сто­ит за­бы­вать, что ка­че­ство его ра­бо­ты на­пря­мую за­ви­сит от ка­че­ства ис­поль­зу­е­мо­го на­бо­ра пра­вил.

Более по­дроб­ные све­де­ния на этот счет мож­но по­черп­нуть в под­раз­де­ле «Алго­ритм Ляна-Кну­та для рас­ста­нов­ки мяг­ких пе­ре­но­сов».

комментировать 01/06/2010

Поддержка мягких переносов поисковыми системами

Суще­ству­ет по­ве­рье, что текст с мяг­ки­ми пе­ре­но­са­ми ме­ша­ет нор­маль­ной ра­бо­те по­ис­ко­вых си­стем. В на­сто­я­щее вре­мя мож­но с уве­рен­но­стью ска­зать, что рас­ста­нов­ка мяг­ких пе­ре­но­сов не ока­зы­ва­ет от­ри­ца­тель­но­го вли­я­ния на вос­при­я­тие сай­та по­ис­ко­вы­ми си­сте­ма­ми. Ведь и на эту стра­ни­цу, ско­рее все­го, Вы по­па­ли имен­но через по­иск?

Сей­час все наи­бо­лее по­пуляр­ные по­ис­ко­вые си­сте­мы адек­ват­но под­дер­жи­ва­ют сай­ты с мяг­ки­ми пе­ре­но­са­ми. С точ­ки зре­ния по­ис­ко­вой си­сте­мы, убрать сим­во­лы мяг­ких пе­ре­но­сов из об­ра­ба­ты­ва­е­мо­го тек­ста  за­да­ча эле­мен­тар­ная.

Дру­гой во­прос  не яв­ля­ют­ся ли мяг­кие пе­ре­но­сы от­ри­ца­тель­ным фак­то­ром ран­жи­ро­ва­ния?

Опре­де­лен­но нет. Для по­ис­ко­вой си­сте­мы нет ни­ка­ких при­чин «на­ка­зы­вать» со­зда­те­лей сай­тов с мяг­ки­ми пе­ре­но­сами.

Более то­го, на­ли­чие мяг­ких пе­ре­но­сов от­ра­жа­ет за­бо­ту ав­то­ра о чи­та­те­ле и прак­ти­че­ски га­ран­ти­ру­ет его доб­ро­по­ря­доч­ность в от­но­ше­нии по­ис­ко­вых си­стем. И на­про­тив, «SEO-оп­ти­ми­за­то­ры» и «SEO-ко­пи­рай­те­ры»  то есть те, кто пы­та­ет­ся «ма­ни­пу­ли­ро­вать ре­зуль­та­та­ми по­ис­ка»  мяг­ких пе­ре­но­сов не рас­став­ляют.

На се­го­дняш­ний день нет ни­ка­ких ос­но­ва­ний по­до­зре­вать по­ис­ко­вые си­сте­мы в «нелюб­ви» к сай­там, прак­ти­ку­ю­щим рас­ста­нов­ку мяг­ких пе­ре­но­сов на сво­их стра­ни­цах.

В под­твер­жде­ние этих слов при­ве­дем слу­чай, имев­ший ме­сто в на­ча­ле сен­тяб­ря 2008 года.

Было за­ме­че­но, что по­ис­ко­вая си­сте­ма «Яндекс» ста­ла не вполне адек­ват­но ре­а­ги­ро­вать на сстра­ни­цы с мяг­ки­ми пе­ре­но­са­ми. Они про­дол­жа­ли нор­маль­но ин­дек­си­ро­вать­ся и по­яв­ля­лись в ре­зуль­та­тах по­ис­ка по со­от­вет­ству­ю­щим за­про­сам, но фраг­мент тек­ста в по­ис­ко­вой вы­да­че стал пред­став­лять со­бою смесь из бес­по­ря­доч­но пе­ре­ме­шан­ных сло­гов. В служ­бу под­держ­ки «Яндек­са» бы­ло от­прав­ле­но со­об­ще­ние об этой ошиб­ке и вско­ре про­бле­ма бы­ла уст­ра­нена.

Опи­сан­ный слу­чай мож­но счи­тать под­твер­жде­ни­ем за­ин­те­ре­со­ван­но­сти раз­ра­бот­чи­ков по­ис­ко­вых си­стем в адек­ват­ной под­держ­ке сай­тов с мяг­ки­ми пе­ре­но­сами.

комментировать 01/06/2010

Поддержка мягких переносов современными браузерами

С вы­хо­дом Firefox 3 за­кон­чи­лась де­вя­ти­лет­няя история, свя­зан­ная с под­держ­кой этим бра­у­зе­ром мяг­ких пе­ре­но­сов. Теперь на­ко­нец-то мож­но ска­зать, что совре­мен­ные вер­сии всех наи­бо­лее рас­про­стра­нен­ных бра­у­зе­ров под­дер­жи­ва­ют мяг­кие пе­ре­носы.

Оста­лись в про­шлом и мно­гие дру­гие про­бле­мы сов­ме­сти­мо­сти, та­кие как за­ме­на неви­ди­мых сим­во­лов мяг­ких пе­ре­но­сов на де­фи­сы при ко­пи­ро­ва­нии тек­ста через бу­фер об­мена.

Сле­ду­ет за­ме­тить, что при ко­пи­ро­ва­нии тек­ста в бу­фер об­ме­на бра­у­зе­ры Opera те­ря­ют все мяг­кие пе­ре­но­сы, кро­ме ак­тив­ных.

Одна­ко, при ко­пи­ро­ва­нии из мно­го­строч­но­го по­ля тек­сто­во­го вво­да textarea все сим­во­лы мяг­ких пе­ре­но­сов пе­ре­да­ют­ся пра­вильно.

Когда-ни­будь пе­ре­нос слов бу­дет ре­а­ли­зо­ван непо­сред­ствен­но в бра­у­зе­рах. Рабо­чий чер­но­вик стан­дар­та CSS3 опи­сы­ва­ет свой­ства, пред­на­зна­чен­ные для управ­ле­ния пе­ре­но­сом слов сред­ства­ми браузеров. Реа­ли­за­ция та­ко­го под­хо­да мог­ла бы ре­шить мно­же­ство во­про­сов, но вряд ли это­го сто­ит ожи­дать в бли­жай­шее время…

комментировать 30/05/2010

Некоторые другие реализации расстановки переносов

Пере­чис­лим неко­то­рые дру­гие ре­а­ли­за­ции, при­ме­ни­мые для ди­на­ми­че­ской рас­ста­нов­ки мяг­ких пе­ре­но­сов на web-стра­ни­цах. Мно­го­чис­лен­ные ре­а­ли­за­ции, по­стро­ен­ные на ос­но­ве ал­го­рит­ма «из ше­сти пра­вил», от­дель­но­го упо­ми­на­ния не за­слу­жи­вают.

Реа­ли­за­ция Анто­на Сухи­но­ва. Исполь­зу­ет­ся ал­го­ритм Ляна-Кну­та. Язык про­грам­ми­ро­ва­ния: php. Исход­ный код непо­сред­ствен­но на сай­те недо­сту­пен, но по­сколь­ку ав­тор ли­цен­зи­ру­ет свои раз­ра­бот­ки на усло­ви­ях GNU GPL v.3, есть ос­но­ва­ния по­ла­гать, что он не от­ка­жет­ся предо­ста­вить ис­ход­ный код по просьбе.

Реа­ли­за­ция phpHyphenator от сту­дии yellowgreen. Язык про­грам­ми­ро­ва­ния: php с при­ме­не­ни­ем функ­ций Multibyte String, что неиз­беж­но долж­но бы­ло ска­зать­ся на про­из­во­ди­тель­но­сти. Исполь­зу­ет­ся ал­го­ритм Ляна-Кну­та. Исход­ный код до­сту­пен на усло­ви­ях ли­цен­зии CC Attribution-Share Alike 2.5 Switzerland. Име­ет­ся де­мон­стра­ци­он­ная стра­ни­ца с фор­маль­ной под­держ­кой рус­ско­го язы­ка. Но фак­ти­че­ски рас­ста­нов­ка пе­ре­но­сов для рус­ско­го не ра­бо­та­ет, ви­ди­мо по при­чине оши­бок в ал­го­рит­ме вы­де­ле­ния слов.

Реа­ли­за­ция hypho-o на сай­те plazoo. О при­ме­ня­е­мом ал­го­рит­ме не со­об­ща­ет­ся, но ми­нут­ное те­сти­ро­ва­ние поз­во­ля­ет по­чти не со­мне­вать­ся, что ис­поль­зу­ет­ся всё тот же ал­го­ритм Ляна-Кну­та со стан­дарт­ны­ми на­бо­ра­ми пра­вил из TeX. Язык про­грам­ми­ро­ва­ния неиз­ве­стен, код за­крыт.

И на­ко­нец, нель­зя не упо­мя­нуть ре­а­ли­за­цию Иго­ря Вла­ди­ми­ро­ви­ча Бато­ва batov's hyphenator  bah, по­стро­ен­ную на ав­тор­ском ал­го­рит­ме. Алго­ритм эв­ри­сти­че­ский и при­ме­ним, ско­рее все­го, толь­ко к рус­ско­му язы­ку. Исход­ный код за­крыт, о воз­мож­но­сти ис­поль­зо­ва­ния ал­го­рит­ма bah для ди­на­ми­че­ской рас­ста­нов­ки мяг­ких пе­ре­но­сов на web-стра­ни­цах неиз­вестно…

Зато ре­зуль­тат ра­бо­ты bah вы­зы­ва­ет толь­ко вос­хи­ще­ние. Каче­ство рас­ста­нов­ки пе­ре­но­сов столь вы­со­ко, что мож­но ре­ко­мен­до­вать ис­поль­зо­ва­ние де­мон­стра­ци­он­но­го раз­де­ла ав­тор­ско­го сай­та в спра­воч­ных це­лях, как эта­лон. К сло­ву, де­мон­стра­ци­он­ный раз­дел так и на­зы­ва­ет­ся  «ка­че­ство». Серьез­ный и от­вет­ствен­ный под­ход ав­то­ра к за­да­че до­сто­ин ува­же­ния.

комментировать 02/06/2010
Copyright 2008–2010 Sergey Kurakin