Кіріспе

Жол толғанда жаңа жолға көшу мүмкіндігі – жолдың үзілуі, сондай-ақ сөзді орау деп те аталады. Бұл мәтіннің бөлігін жолдарға бөліп, оны беттің, терезенің немесе басқа дисплей аймағының қолдауға болатын еніне сыйдыруды қамтамасыз етеді. Мәтінді көрсету кезінде жолдың толуы жағдайында жаңа жолға көшу, әр жолдың көрінетін терезеге сыйып, мәтінді жоғарыдан төменге қарай оқуға, көлденең прокрутканы қажет етпеуге мүмкіндік береді. Сөзді орау – бұл көптеген мәтіндік редакторлардың, мәтін өңдеушілердің және веб-браузерлердің қосымша мүмкіндігі, ол мүмкін болған жағдайда сөздердің ішінде емес, сөздер арасында жолдарды үзеді. Сөзді орау абзастарда жаңа жол белгілерін қолмен енгізу қажеттілігін жояды және мәтінді әртүрлі өлшемдегі дисплейлерге икемді және динамикалық түрде бейімдеуге мүмкіндік береді.

Жұмсақ және қатты қайтарулар

Жұмсақ оралу немесе жұмсақ үзіліс – жол орауы немесе сөз орауынан (автоматты немесе қолмен жасалған) туындайтын үзіліс, ал қатты оралу немесе қатты үзіліс – жаңа абзац құратын қасақана жасалған үзіліс. Қатты қайтару кезінде абзац форматына қатысты әрекеттер қолданылуы мүмкін (және қолданылуы керек) – яғни, абзацты ығыстыру немесе вертикальды аралық қою. Жұмсақ оралу жол ұзындығын пайдаланушы терезесінің еніне немесе жиектерге байланысты автоматты түрде реттеуге мүмкіндік береді және барлық заманауи мәтіндік редакторлардың, сөз өңдеу бағдарламаларының және электрондық пошта клиенттерінің стандартты мүмкіндігі болып табылады. Сөздер автоматты түрде оралғанда қолмен жасалған жұмсақ үзілістердің қажеті жоқ, сондықтан "Enter" пернесін басу көбінесе қатты қайтаруды тудырады. "Жұмсақ қайтару" термині қасақана сақталған жол үзілісін білдіруі мүмкін, бірақ ол абзац үзілісі емес. Мысалы, пошта мекенжайларын көпжолды форматта басып шығару жиі кездеседі, бірақ барлық жолдар бір абзац ретінде қарастырылады. Мұндай жағдайда, мекенжайдың сөздерін тиісті ұзындықтағы жолдарға бөлу үшін жол үзілістері қажет. Microsoft Word және LibreOffice Writer сияқты қазіргі заманғы графикалық сөз өңдеу бағдарламаларында пайдаланушылар әр абзац арасында көшіру қайтару пернесін (carriage return) басуы күтіледі. Бірінші жолды ығыстыру немесе абзацтар арасындағы аралық сияқты форматтау параметрлері, көшіру қайтару пернесі үзіліс орнын көрсеткен кезде қолданылады. Абзац емес жол үзілісі, яғни жұмсақ қайтару, мәзірлер арқылы немесе басқа тәсілдермен енгізіледі және мәтін жаңа жолдан басталуы керек, бірақ жаңа абзацты бастаудың басқа да қосымша әсерлері қажет емес жағдайларда қолданылады. Мәтіндік таңбалау тілдерінде жұмсақ қайтару әдетте таңбалау тегі ретінде ұсынылады. Мысалы, HTML-де <br> тегі бар, ол жоғарыда сипатталған сөз өңдеу бағдарламаларындағы жұмсақ қайтарумен бірдей мақсатты қамтиды.

Сөздердің шекаралары, тіркесімдері және бос орындары

Жай қайтарымдар әдетте толық сөздердің соңына немесе толық сөзден кейінгі тыныш белгіден кейін қойылады. Дегенмен, сөзді жолға сыйдыру сөз ішіндегі дефистен кейін де болуы мүмкін. Мұндай жағдайда бұл қажет болмауы мүмкін, және оны тұрақты дефистің орнына үзілмейтін дефис немесе қатты дефис қолдану арқылы болдырмауға болады. Дефисі жоқ сөзді жұмсақ дефистер арқылы жолға сыйдыруға болады. Егер сөз жолға сыйдырылмаса (яғни, жолдарға бөлінбесе), жұмсақ дефис көрінбейді. Бірақ егер сөз жолға сыйдырылса, бұл жұмсақ дефис арқылы жасалады, сол кезде ол сөздің үзілген жоғарғы қатарында көрінетін дефис ретінде көрсетіледі. (Сөзді жолға сыйдырып, бірақ дефис пайда болмауын қажет ететін сирек жағдайларда, сөздің рұқсат етілген үзіліс нүктесіне нөлдік ендіктегі бос орын қойылады.) Кейде жанындағы сөздердің арасында сөзді жолға сыйдыру қажет емес. Мұндай жағдайларда, сөзді жолға сыйдыруды әдетте тұрақты бос орындардың орнына сөздердің арасында қатты бос орын немесе үзілмейтін бос орын қолдану арқылы болдырмауға болады.

Алгоритм

Сөзді жолға түсіру – бұл оңтайландыру мәселесі. Не нәрсені оңтайландыру қажеттігіне байланысты әртүрлі алгоритмдер пайдаланылады.

Ең аз сыпырылу

TeX-те қолданылатын басқа алгоритм, жолдардың соңындағы бос орындардың ұзындықтарының квадраттарының қосындысын ең төменгі деңгейге дейін төмендетеді, бұл ашкөз алгоритмге қарағанда көз тартарлық нәтиже береді, себебі ашкөз алгоритм әрқашан бос орын квадратын азайта бермейді.

Тарих

1955 жылы Western Union компаниясы әзірлеген "беттік басылымды басқару блогында" қарапайым жол үзілу мүмкіндігі қолданылды. Бұл жүйе бағдарламаланатын цифрлық компьютерлердің орнына релелерді пайдаланды, сондықтан дерек буферлері қажет болмайтын қарапайым алгоритм керек болды. Western Union жүйесінде әрбір жол 58-ші таңбадан кейін кездесетін алғашқы бос орын бойынша немесе егер бос орын таңбасы табылмайтын болса, 70-ші таңбада үзіледі. Жол үзілудің ашкөз алгоритмі Дональд Кнуттың 1977 жылы жарық көрмеген, оның TeX мәтін жинау жүйесін сипаттаған және кейіннен Knuth & Plass (1981) толыққанды жариялаған динамикалық бағдарламалау әдісінен бұрын пайда болды.